summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/context/contrib/context-chat/LICENSE232
-rw-r--r--macros/context/contrib/context-chat/README.md72
-rw-r--r--macros/context/contrib/context-chat/VERSION1
-rw-r--r--macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv231
-rw-r--r--macros/jptex/latex/pxjahyper/LICENSE2
-rw-r--r--macros/jptex/latex/pxjahyper/README-ja.md8
-rw-r--r--macros/jptex/latex/pxjahyper/README.md1
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper-ajm.def4
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper-enc.sty4
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper-uni.def4
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper.pdfbin155428 -> 165718 bytes
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper.sty245
-rw-r--r--macros/jptex/latex/pxjahyper/pxjahyper.tex115
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.dtx4
-rw-r--r--macros/latex-dev/base/alltt.pdfbin223861 -> 223778 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin264168 -> 264180 bytes
-rw-r--r--macros/latex-dev/base/changes.txt86
-rw-r--r--macros/latex-dev/base/classes.dtx12
-rw-r--r--macros/latex-dev/base/classes.pdfbin560294 -> 560507 bytes
-rw-r--r--macros/latex-dev/base/clsguide-historic.pdfbin415956 -> 415969 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin490149 -> 490540 bytes
-rw-r--r--macros/latex-dev/base/clsguide.tex5
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin292600 -> 292612 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin257359 -> 257373 bytes
-rw-r--r--macros/latex-dev/base/doc-code.pdfbin1079115 -> 1079669 bytes
-rw-r--r--macros/latex-dev/base/doc.dtx8
-rw-r--r--macros/latex-dev/base/doc.pdfbin758047 -> 758617 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin506564 -> 506826 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1318576 -> 1312117 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin204708 -> 204720 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin287727 -> 287739 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin522678 -> 522690 bytes
-rw-r--r--macros/latex-dev/base/fontdef.dtx15
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin161722 -> 161734 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin222460 -> 222490 bytes
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin318372 -> 318383 bytes
-rw-r--r--macros/latex-dev/base/lamport-manual.pdfbin170876 -> 170887 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.dtx4
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin282095 -> 282462 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin200759 -> 200770 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin252519 -> 252531 bytes
-rw-r--r--macros/latex-dev/base/letter.dtx5
-rw-r--r--macros/latex-dev/base/letter.pdfbin337881 -> 338042 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin217663 -> 217675 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin132370 -> 132383 bytes
-rw-r--r--macros/latex-dev/base/ltboxes.dtx51
-rw-r--r--macros/latex-dev/base/ltcmd.dtx152
-rw-r--r--macros/latex-dev/base/ltcmdhooks-code.pdfbin753775 -> 754146 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks-doc.pdfbin498793 -> 499728 bytes
-rw-r--r--macros/latex-dev/base/ltcmdhooks.dtx3
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin806888 -> 807569 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin552230 -> 552913 bytes
-rw-r--r--macros/latex-dev/base/ltfinal.dtx4
-rw-r--r--macros/latex-dev/base/ltfssbas.dtx11
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin1248844 -> 1250844 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin758505 -> 762711 bytes
-rw-r--r--macros/latex-dev/base/lthooks.dtx53
-rw-r--r--macros/latex-dev/base/ltkeys.dtx135
-rw-r--r--macros/latex-dev/base/ltlists.dtx126
-rw-r--r--macros/latex-dev/base/ltluatex.dtx15
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin325142 -> 325776 bytes
-rw-r--r--macros/latex-dev/base/ltmarks-code.pdfbin718132 -> 718631 bytes
-rw-r--r--macros/latex-dev/base/ltmarks-doc.pdfbin576121 -> 576711 bytes
-rw-r--r--macros/latex-dev/base/ltmarks.dtx8
-rw-r--r--macros/latex-dev/base/ltmiscen.dtx252
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin1408003 -> 1421608 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin169553 -> 169565 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin151773 -> 151785 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin151324 -> 151335 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin152551 -> 152562 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin175211 -> 175221 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin142867 -> 142879 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin138214 -> 138226 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin155442 -> 155455 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin130028 -> 130039 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin169433 -> 169444 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin112208 -> 112219 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin156764 -> 156777 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin182483 -> 182493 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin170722 -> 170734 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin130328 -> 130339 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin138107 -> 138120 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin166269 -> 166281 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin39839 -> 39850 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin225936 -> 225948 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin318193 -> 318204 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin245228 -> 245239 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin318026 -> 318040 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin286824 -> 286837 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin265497 -> 265509 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin205100 -> 205113 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin379733 -> 379746 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin251283 -> 251295 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin376950 -> 376960 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin455437 -> 455451 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin512240 -> 512253 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin526681 -> 526693 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin546540 -> 546549 bytes
-rw-r--r--macros/latex-dev/base/ltnews33.pdfbin522757 -> 522770 bytes
-rw-r--r--macros/latex-dev/base/ltnews34.pdfbin508345 -> 508358 bytes
-rw-r--r--macros/latex-dev/base/ltnews35.pdfbin563305 -> 563315 bytes
-rw-r--r--macros/latex-dev/base/ltnews36.pdfbin517934 -> 517948 bytes
-rw-r--r--macros/latex-dev/base/ltnews37.pdfbin456933 -> 456938 bytes
-rw-r--r--macros/latex-dev/base/ltnews38.pdfbin523675 -> 523686 bytes
-rw-r--r--macros/latex-dev/base/ltnews39.pdfbin540172 -> 541788 bytes
-rw-r--r--macros/latex-dev/base/ltnews39.tex17
-rw-r--r--macros/latex-dev/base/ltnews40.pdfbin323778 -> 425256 bytes
-rw-r--r--macros/latex-dev/base/ltnews40.tex207
-rw-r--r--macros/latex-dev/base/ltpara-code.pdfbin672808 -> 673642 bytes
-rw-r--r--macros/latex-dev/base/ltpara-doc.pdfbin560721 -> 561335 bytes
-rw-r--r--macros/latex-dev/base/ltpara.dtx28
-rw-r--r--macros/latex-dev/base/ltpictur.dtx3
-rw-r--r--macros/latex-dev/base/ltproperties-code.pdfbin557481 -> 558316 bytes
-rw-r--r--macros/latex-dev/base/ltproperties-doc.pdfbin432004 -> 432833 bytes
-rw-r--r--macros/latex-dev/base/ltproperties.dtx6
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin821771 -> 822459 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin567925 -> 568610 bytes
-rw-r--r--macros/latex-dev/base/ltsockets-code.pdfbin599138 -> 599687 bytes
-rw-r--r--macros/latex-dev/base/ltsockets-doc.pdfbin481972 -> 482539 bytes
-rw-r--r--macros/latex-dev/base/ltsockets.dtx8
-rw-r--r--macros/latex-dev/base/lttab.dtx4
-rw-r--r--macros/latex-dev/base/lttagging.dtx146
-rw-r--r--macros/latex-dev/base/ltvers.dtx2
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin219358 -> 219370 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin244141 -> 244153 bytes
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin165816 -> 165828 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin257825 -> 257838 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin211314 -> 211326 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin227065 -> 227078 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin375493 -> 375505 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin233905 -> 233916 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin6442612 -> 6483356 bytes
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin189555 -> 189925 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin290257 -> 290268 bytes
-rw-r--r--macros/latex-dev/base/tlc3.err57
-rw-r--r--macros/latex-dev/base/tlc3.pdfbin369936 -> 385516 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin162773 -> 162786 bytes
-rw-r--r--macros/latex-dev/base/usrguide-historic.pdfbin439393 -> 439405 bytes
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin487553 -> 487564 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin353555 -> 354141 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin146205 -> 146217 bytes
-rw-r--r--macros/latex-dev/required/graphics/README.md2
-rw-r--r--macros/latex-dev/required/graphics/changes.txt7
-rw-r--r--macros/latex-dev/required/graphics/color.dtx9
-rw-r--r--macros/latex-dev/required/graphics/color.pdfbin212179 -> 212789 bytes
-rw-r--r--macros/latex-dev/required/graphics/drivers.pdfbin286448 -> 286458 bytes
-rw-r--r--macros/latex-dev/required/graphics/epsfig.pdfbin159239 -> 159250 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphics.dtx5
-rw-r--r--macros/latex-dev/required/graphics/graphics.pdfbin304170 -> 303774 bytes
-rw-r--r--macros/latex-dev/required/graphics/graphicx.pdfbin240618 -> 240629 bytes
-rw-r--r--macros/latex-dev/required/graphics/grfguide.pdfbin331361 -> 331377 bytes
-rw-r--r--macros/latex-dev/required/graphics/keyval.pdfbin239587 -> 239600 bytes
-rw-r--r--macros/latex-dev/required/graphics/lscape.pdfbin155987 -> 156001 bytes
-rw-r--r--macros/latex-dev/required/graphics/mathcolor.pdfbin460632 -> 461396 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotating.pdfbin278452 -> 278759 bytes
-rw-r--r--macros/latex-dev/required/graphics/rotex.pdfbin172240 -> 172272 bytes
-rw-r--r--macros/latex-dev/required/graphics/trig.pdfbin199290 -> 199303 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/CHANGELOG.md16
-rw-r--r--macros/latex-dev/required/l3kernel/README.md2
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.dtx13
-rw-r--r--macros/latex-dev/required/l3kernel/expl3.pdfbin610536 -> 610834 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.pdfbin1800816 -> 1791477 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3box.dtx6
-rw-r--r--macros/latex-dev/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3clist.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3color.dtx30
-rw-r--r--macros/latex-dev/required/l3kernel/l3debug.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3deprecation.dtx8
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3doc.pdfbin565819 -> 565816 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3docstrip.pdfbin151530 -> 151526 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3file.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3fp.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3int.dtx17
-rw-r--r--macros/latex-dev/required/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3keys.dtx28
-rw-r--r--macros/latex-dev/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3names.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3pdf.dtx14
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.csv9
-rw-r--r--macros/latex-dev/required/l3kernel/l3prefixes.pdfbin82843 -> 83133 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3prop.dtx42
-rw-r--r--macros/latex-dev/required/l3kernel/l3quark.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3str.dtx4
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.pdfbin296736 -> 296814 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.pdfbin231569 -> 231657 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.pdfbin242363 -> 242449 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3text.dtx16
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex-dev/required/l3kernel/source3.pdfbin7619159 -> 7611739 bytes
-rw-r--r--macros/latex-dev/required/l3kernel/source3.tex2
-rw-r--r--macros/latex-dev/required/l3kernel/source3body.tex13
-rw-r--r--macros/latex-dev/required/latex-lab/README.md2
-rw-r--r--macros/latex-dev/required/latex-lab/blocks-code.pdfbin871980 -> 875428 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/blocks-doc.pdfbin486159 -> 486044 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/changes.txt43
-rw-r--r--macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdfbin539394 -> 539997 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdfbin420928 -> 421518 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx6
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdfbin382063 -> 382765 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-bib.dtx10
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-bib.pdfbin383259 -> 383687 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-block.dtx94
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-block.pdfbin871980 -> 875428 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx8
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdfbin368000 -> 367996 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-float.dtx4
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-float.pdfbin426854 -> 427016 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx28
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdfbin819698 -> 821437 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx10
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-graphic.pdfbin517900 -> 517940 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx35
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdfbin389702 -> 414437 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-math.dtx421
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-math.pdfbin740772 -> 792378 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdfbin355789 -> 356361 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx4
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdfbin382063 -> 372514 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx51
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-minipage.pdfbin280811 -> 282256 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx4
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-namespace.pdfbin235751 -> 235975 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdfbin389721 -> 389733 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdfbin632196 -> 632206 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-sec.dtx8
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-sec.pdfbin527096 -> 527420 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-table.dtx447
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-table.pdfbin556567 -> 572658 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx2
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-testphase.pdfbin298175 -> 298555 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-text.pdfbin307812 -> 307823 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-title.pdfbin348117 -> 348126 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdfbin296124 -> 296136 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx91
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdfbin361081 -> 376521 bytes
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc.dtx93
-rw-r--r--macros/latex-dev/required/latex-lab/latex-lab-toc.pdfbin396814 -> 410551 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin198100 -> 198111 bytes
-rw-r--r--macros/latex-dev/required/tools/array.dtx52
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin839409 -> 862066 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin323640 -> 323653 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin370660 -> 370673 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt32
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin221038 -> 221051 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin191058 -> 191069 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin215077 -> 215089 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin187692 -> 188448 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin146438 -> 146451 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin387219 -> 387756 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin189678 -> 189689 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin157352 -> 157364 bytes
-rw-r--r--macros/latex-dev/required/tools/l3sys-query.pdfbin482622 -> 482631 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin260278 -> 260290 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.dtx156
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin399651 -> 402866 bytes
-rw-r--r--macros/latex-dev/required/tools/manifest.txt10
-rw-r--r--macros/latex-dev/required/tools/multicol.dtx37
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin524670 -> 525441 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin138956 -> 138969 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin176171 -> 176184 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin252923 -> 252936 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin167583 -> 167594 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin289601 -> 289613 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.dtx3
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin351723 -> 352129 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin73673 -> 73698 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.tex8
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin222074 -> 222086 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin393884 -> 393896 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin331587 -> 331599 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin323877 -> 323888 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin257027 -> 257038 bytes
-rw-r--r--macros/latex/contrib/abraces/README.md4
-rw-r--r--macros/latex/contrib/abraces/abraces-doc.pdfbin245502 -> 245461 bytes
-rw-r--r--macros/latex/contrib/abraces/abraces-doc.tex13
-rw-r--r--macros/latex/contrib/abraces/abraces.sty7
-rw-r--r--macros/latex/contrib/asmeconf/README.md30
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-sample.bib14
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.pdfbin706754 -> 705662 bytes
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.tex142
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.cls462
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdfbin369381 -> 39914315 bytes
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex75
-rw-r--r--macros/latex/contrib/asmejour/README.md10
-rw-r--r--macros/latex/contrib/asmejour/asmejour-sample.bib17
-rw-r--r--macros/latex/contrib/asmejour/asmejour-template.pdfbin729589 -> 728579 bytes
-rw-r--r--macros/latex/contrib/asmejour/asmejour-template.tex89
-rw-r--r--macros/latex/contrib/asmejour/asmejour.cls458
-rw-r--r--macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdfbin2983602 -> 2982565 bytes
-rw-r--r--macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex8
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.pdfbin208890 -> 208887 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.tex2
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.dtx12
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.pdfbin345846 -> 346426 bytes
-rw-r--r--macros/latex/contrib/bib2qr/README.md88
-rw-r--r--macros/latex/contrib/bib2qr/bib2qr.dtx594
-rw-r--r--macros/latex/contrib/bib2qr/bib2qr.ins85
-rw-r--r--macros/latex/contrib/bib2qr/bib2qr.pdfbin0 -> 508752 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdfbin306393 -> 305632 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex14
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib12
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdfbin402568 -> 404215 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex37
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx24
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx12
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdfbin448675 -> 482865 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex34
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx25
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx8
-rw-r--r--macros/latex/contrib/bmstu-iu8/README.md2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-example.pdfbin177036 -> 177182 bytes
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls46
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt38
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-01-base.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-02-construction.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-03-numbering.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-04-section-numbering.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty)4
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-05-figures.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-06-tables.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-07-footnotes.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-08-formulas.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-09-cites.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-10-titlepage.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-11-performers.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-12-abstract.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-13-contents.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-14-terms-and-definitions.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-15-list-of-abbreviations.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-16-references.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty)5
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-17-appendices.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-18-extra.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-19-counters.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-20-listing.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-21-math.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty)2
-rw-r--r--macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-22-algorithms.sty (renamed from macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty)2
-rw-r--r--macros/latex/contrib/bxpdfver/LICENSE2
-rw-r--r--macros/latex/contrib/bxpdfver/README-ja.md60
-rw-r--r--macros/latex/contrib/bxpdfver/README.md48
-rw-r--r--macros/latex/contrib/bxpdfver/bxpdfver.sty206
-rw-r--r--macros/latex/contrib/catppuccinpalette/README.md79
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx430
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins66
-rw-r--r--macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdfbin212270 -> 224058 bytes
-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/cjs-rcs-article/README.md4
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article-fr.pdfbin120472 -> 120466 bytes
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx61
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.pdfbin190173 -> 190899 bytes
-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.mbs5
-rw-r--r--macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.pdfbin38874 -> 38794 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdfbin191562 -> 199070 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex80
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdfbin1472616 -> 1503490 bytes
-rw-r--r--macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex121
-rw-r--r--macros/latex/contrib/customenvs/tex/customenvs.sty263
-rw-r--r--macros/latex/contrib/doibanner/README.md91
-rw-r--r--macros/latex/contrib/doibanner/doibanner.dtx412
-rw-r--r--macros/latex/contrib/doibanner/doibanner.ins85
-rw-r--r--macros/latex/contrib/doibanner/doibanner.pdfbin0 -> 297278 bytes
-rw-r--r--macros/latex/contrib/easybook/README.md2
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx359
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin625946 -> 638352 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex172
-rw-r--r--macros/latex/contrib/edmaths/LICENSE.txt416
-rw-r--r--macros/latex/contrib/edmaths/README.md5
-rw-r--r--macros/latex/contrib/edmaths/edmaths-docs.pdfbin0 -> 144435 bytes
-rw-r--r--macros/latex/contrib/edmaths/edmaths.sty258
-rw-r--r--macros/latex/contrib/edmaths/example-references.bib10
-rw-r--r--macros/latex/contrib/edmaths/example-report.tex79
-rw-r--r--macros/latex/contrib/fancyhdr/README2
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.dtx32
-rw-r--r--macros/latex/contrib/fancyhdr/fancyhdr.pdfbin880397 -> 880898 bytes
-rw-r--r--macros/latex/contrib/fillwith/MANIFEST.md54
-rw-r--r--macros/latex/contrib/fillwith/README.md32
-rw-r--r--macros/latex/contrib/fillwith/fillwith-example.pdfbin0 -> 116008 bytes
-rw-r--r--macros/latex/contrib/fillwith/fillwith.dtx747
-rw-r--r--macros/latex/contrib/fillwith/fillwith.ins68
-rw-r--r--macros/latex/contrib/fillwith/fillwith.pdfbin0 -> 513081 bytes
-rw-r--r--macros/latex/contrib/fontscale/CHANGELOG.md54
-rw-r--r--macros/latex/contrib/fontscale/README.txt2
-rw-r--r--macros/latex/contrib/fontscale/beery.cls153
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex39
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex38
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex38
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.pdfbin117192 -> 0 bytes
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.tex390
-rw-r--r--macros/latex/contrib/fontscale/fontscale-table-classic.tex41
-rw-r--r--macros/latex/contrib/fontscale/fontscale-table-font-steps.tex39
-rw-r--r--macros/latex/contrib/fontscale/fontscale-table-musical.tex39
-rw-r--r--macros/latex/contrib/fontscale/fontscale.pdfbin0 -> 104879 bytes
-rw-r--r--macros/latex/contrib/fontscale/fontscale.sty1125
-rw-r--r--macros/latex/contrib/fontscale/fontscale.tex409
-rw-r--r--macros/latex/contrib/gridset/LICENSE.md2
-rw-r--r--macros/latex/contrib/gridset/README.md51
-rw-r--r--macros/latex/contrib/gridset/gridset.dtx61
-rw-r--r--macros/latex/contrib/gridset/gridset.pdfbin223385 -> 244186 bytes
-rw-r--r--macros/latex/contrib/harmony/README27
-rw-r--r--macros/latex/contrib/harmony/harmony.pdfbin150295 -> 177261 bytes
-rw-r--r--macros/latex/contrib/harmony/harmony.sty186
-rw-r--r--macros/latex/contrib/harmony/harmony.tex111
-rw-r--r--macros/latex/contrib/hebdomon/README.md18
-rw-r--r--macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdfbin0 -> 544450 bytes
-rw-r--r--macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex461
-rw-r--r--macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpgbin0 -> 421584 bytes
-rw-r--r--macros/latex/contrib/hebdomon/tex/hebdomon.cls412
-rw-r--r--macros/latex/contrib/heria/heria-proposal.pdfbin311049 -> 311063 bytes
-rw-r--r--macros/latex/contrib/heria/heria.dtx21
-rw-r--r--macros/latex/contrib/heria/heria.pdfbin301201 -> 305316 bytes
-rw-r--r--macros/latex/contrib/hypcap/README.md20
-rw-r--r--macros/latex/contrib/hypcap/hypcap.dtx (renamed from macros/latex/contrib/oberdiek/hypcap.dtx)73
-rw-r--r--macros/latex/contrib/hypcap/hypcap.pdf (renamed from macros/latex/contrib/oberdiek/hypcap.pdf)bin310655 -> 300905 bytes
-rw-r--r--macros/latex/contrib/hypdestopt/README.md4
-rw-r--r--macros/latex/contrib/hypdestopt/hypdestopt.dtx57
-rw-r--r--macros/latex/contrib/hypdestopt/hypdestopt.pdfbin323028 -> 347012 bytes
-rw-r--r--macros/latex/contrib/isosafety/README.md2
-rw-r--r--macros/latex/contrib/isosafety/doc/isosafety-docs.pdfbin0 -> 112768 bytes
-rw-r--r--macros/latex/contrib/isosafety/doc/isosafety-docs.tex138
-rw-r--r--macros/latex/contrib/isosafety/isosafety.dtx143
-rw-r--r--macros/latex/contrib/isosafety/isosafety.ins56
-rw-r--r--macros/latex/contrib/isosafety/isosafety.pdfbin142768 -> 0 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV003.pdf)bin1123 -> 1123 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV004.pdf)bin1861 -> 1861 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV009.pdf)bin1530 -> 1530 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV010.pdf)bin1307 -> 1307 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV011.pdf)bin4364 -> 4364 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV012.pdf)bin4636 -> 4636 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV013.pdf)bin1736 -> 1736 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV027.pdf)bin4901 -> 4901 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV028.pdf)bin6703 -> 6703 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV029.pdf)bin9946 -> 9946 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV064.pdf)bin1729 -> 1729 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV067.pdf)bin2733 -> 2733 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E001.pdf)bin1828 -> 1828 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E002.pdf)bin1824 -> 1824 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E003.pdf)bin971 -> 971 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E004.pdf)bin1762 -> 1762 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E007.pdf)bin2068 -> 2068 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E008.pdf)bin1657 -> 1657 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E009.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E010.pdf)bin1203 -> 1203 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E011.pdf)bin4272 -> 4272 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E012.pdf)bin4612 -> 4612 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E013.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E014.pdf)bin4467 -> 4467 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E015.pdf)bin2117 -> 2117 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E016.pdf)bin1897 -> 1897 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E017.pdf)bin2562 -> 2562 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E018.pdf)bin1288 -> 1288 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E019.pdf)bin1281 -> 1281 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E020.pdf)bin1943 -> 1943 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E021.pdf)bin2852 -> 2852 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E022.pdf)bin1177 -> 1177 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E023.pdf)bin1172 -> 1172 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E024.pdf)bin1674 -> 1674 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E025.pdf)bin4345 -> 4345 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E026.pdf)bin1489 -> 1489 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E027.pdf)bin4814 -> 4814 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E028.pdf)bin6617 -> 6617 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E029.pdf)bin9864 -> 9864 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E030.pdf)bin1495 -> 1495 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E031.pdf)bin1721 -> 1721 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E032.pdf)bin3770 -> 3770 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E033.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E034.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E035.pdf)bin3820 -> 3820 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E036.pdf)bin4287 -> 4287 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E037.pdf)bin1959 -> 1959 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E038.pdf)bin4687 -> 4687 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E039.pdf)bin3955 -> 3955 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E040.pdf)bin1572 -> 1572 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E041.pdf)bin3792 -> 3792 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E042.pdf)bin3390 -> 3390 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E043.pdf)bin5583 -> 5583 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E044.pdf)bin3280 -> 3280 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E045.pdf)bin4814 -> 4814 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E046.pdf)bin4015 -> 4015 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E047.pdf)bin2346 -> 2346 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E048.pdf)bin2534 -> 2534 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E049.pdf)bin2423 -> 2423 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E050.pdf)bin4458 -> 4458 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E051.pdf)bin3907 -> 3907 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E052.pdf)bin2204 -> 2204 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E053.pdf)bin1886 -> 1886 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E054.pdf)bin3880 -> 3880 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E055.pdf)bin3269 -> 3269 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E056.pdf)bin2379 -> 2379 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E057.pdf)bin1169 -> 1169 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E058.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E059.pdf)bin1136 -> 1136 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E060.pdf)bin2474 -> 2474 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E061.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E061.pdf)bin4273 -> 4273 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E062.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E062.pdf)bin1760 -> 1760 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E063.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E063.pdf)bin1878 -> 1878 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E064.pdf)bin1605 -> 1605 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E065.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E065.pdf)bin1808 -> 1808 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E067.pdf)bin2617 -> 2617 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E068.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E068.pdf)bin6730 -> 6730 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E069.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E069.pdf)bin3345 -> 3345 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E070.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E070.pdf)bin1621 -> 1621 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F001.pdf)bin1567 -> 1567 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F002.pdf)bin2714 -> 2714 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F003.pdf)bin1780 -> 1780 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F004.pdf)bin2131 -> 2131 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F005.pdf)bin2289 -> 2289 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F006.pdf)bin2183 -> 2183 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F007.pdf)bin3380 -> 3380 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F008.pdf)bin3755 -> 3755 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F009.pdf)bin2238 -> 2238 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F010.pdf)bin1862 -> 1862 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F011.pdf)bin4254 -> 4254 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F012.pdf)bin1792 -> 1792 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F013.pdf)bin1813 -> 1813 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F014.pdf)bin1735 -> 1735 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F015.pdf)bin1925 -> 1925 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F016.pdf)bin2653 -> 2653 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F017.pdf)bin2724 -> 2724 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F018.pdf)bin1943 -> 1943 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F019.pdf)bin2100 -> 2100 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M001.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M002.pdf)bin1499 -> 1499 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M003.pdf)bin1608 -> 1608 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M004.pdf)bin2358 -> 2358 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M005.pdf)bin1109 -> 1109 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M006.pdf)bin2002 -> 2002 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M007.pdf)bin2092 -> 2092 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M008.pdf)bin1673 -> 1673 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M009.pdf)bin2297 -> 2297 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M010.pdf)bin1301 -> 1301 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M011.pdf)bin3054 -> 3054 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M012.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M013.pdf)bin1849 -> 1849 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M014.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M015.pdf)bin1271 -> 1271 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M016.pdf)bin1790 -> 1790 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M017.pdf)bin3757 -> 3757 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M018.pdf)bin2225 -> 2225 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M019.pdf)bin1772 -> 1772 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M020.pdf)bin1519 -> 1519 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M021.pdf)bin1351 -> 1351 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M022.pdf)bin1760 -> 1760 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M023.pdf)bin1596 -> 1596 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M024.pdf)bin1498 -> 1498 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M025.pdf)bin3246 -> 3246 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M026.pdf)bin1851 -> 1851 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M027.pdf)bin6227 -> 6227 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M028.pdf)bin2649 -> 2649 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M029.pdf)bin1879 -> 1879 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M030.pdf)bin6119 -> 6119 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M031.pdf)bin8180 -> 8180 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M032.pdf)bin5413 -> 5413 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M033.pdf)bin5446 -> 5446 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M034.pdf)bin5112 -> 5112 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M035.pdf)bin4825 -> 4825 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M036.pdf)bin3857 -> 3857 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M037.pdf)bin5183 -> 5183 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M038.pdf)bin11904 -> 11904 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M039.pdf)bin15091 -> 15091 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M040.pdf)bin16077 -> 16077 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M041.pdf)bin7136 -> 7136 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M042.pdf)bin5538 -> 5538 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M043.pdf)bin13741 -> 13741 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M044.pdf)bin3064 -> 3064 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M045.pdf)bin8883 -> 8883 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M046.pdf)bin6530 -> 6530 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M047.pdf)bin7106 -> 7106 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M048.pdf)bin15525 -> 15525 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M049.pdf)bin6205 -> 6205 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M050.pdf)bin3548 -> 3548 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M051.pdf)bin3544 -> 3544 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M052.pdf)bin4020 -> 4020 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M053.pdf)bin2284 -> 2284 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M054.pdf)bin4966 -> 4966 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M055.pdf)bin2010 -> 2010 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M056.pdf)bin1607 -> 1607 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M057.pdf)bin1246 -> 1246 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M058.pdf)bin2414 -> 2414 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M059.pdf)bin1469 -> 1469 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M060.pdf)bin2420 -> 2420 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P001.pdf)bin1197 -> 1197 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P002.pdf)bin1698 -> 1698 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P003.pdf)bin1972 -> 1972 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P004.pdf)bin1811 -> 1811 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P005.pdf)bin1768 -> 1768 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P006.pdf)bin2253 -> 2253 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P007.pdf)bin1676 -> 1676 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P008.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P009.pdf)bin1869 -> 1869 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P010.pdf)bin1775 -> 1775 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P011.pdf)bin4499 -> 4499 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P012.pdf)bin1497 -> 1497 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P013.pdf)bin3162 -> 3162 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P014.pdf)bin2354 -> 2354 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P015.pdf)bin1812 -> 1812 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P016.pdf)bin8652 -> 8652 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P017.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P018.pdf)bin1542 -> 1542 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P019.pdf)bin1772 -> 1772 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P020.pdf)bin2595 -> 2595 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P021.pdf)bin1562 -> 1562 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P022.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P023.pdf)bin1576 -> 1576 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P024.pdf)bin1684 -> 1684 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P025.pdf)bin2175 -> 2175 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P026.pdf)bin3995 -> 3995 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P027.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P028.pdf)bin2847 -> 2847 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P029.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P030.pdf)bin2978 -> 2978 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P031.pdf)bin1582 -> 1582 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P032.pdf)bin1812 -> 1812 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P033.pdf)bin15245 -> 15245 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P034.pdf)bin13872 -> 13872 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P035.pdf)bin8281 -> 8281 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P036.pdf)bin2524 -> 2524 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P037.pdf)bin2542 -> 2542 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P038.pdf)bin2576 -> 2576 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P039.pdf)bin6372 -> 6372 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P040.pdf)bin3697 -> 3697 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P041.pdf)bin1640 -> 1640 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P042.pdf)bin1674 -> 1674 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P043.pdf)bin5266 -> 5266 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P044.pdf)bin3478 -> 3478 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P045.pdf)bin1783 -> 1783 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P046.pdf)bin2063 -> 2063 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P047.pdf)bin2517 -> 2517 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P048.pdf)bin1789 -> 1789 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P049.pdf)bin2190 -> 2190 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P050.pdf)bin1936 -> 1936 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P051.pdf)bin2248 -> 2248 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P052.pdf)bin2184 -> 2184 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P053.pdf)bin2191 -> 2191 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P054.pdf)bin2405 -> 2405 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P055.pdf)bin2247 -> 2247 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P056.pdf)bin1914 -> 1914 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P057.pdf)bin2349 -> 2349 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P058.pdf)bin2302 -> 2302 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P059.pdf)bin2945 -> 2945 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P060.pdf)bin1340 -> 1340 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P061.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P061.pdf)bin2408 -> 2408 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P062.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P062.pdf)bin3032 -> 3032 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P063.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P063.pdf)bin2419 -> 2419 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P064.pdf)bin2879 -> 2879 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P065.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P065.pdf)bin3193 -> 3193 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P066.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P066.pdf)bin2490 -> 2490 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P067.pdf)bin1517 -> 1517 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P068.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P068.pdf)bin2240 -> 2240 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P069.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P069.pdf)bin1825 -> 1825 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P070.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P070.pdf)bin5310 -> 5310 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P071.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P071.pdf)bin1913 -> 1913 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P072.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P072.pdf)bin1844 -> 1844 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P073.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P073.pdf)bin2703 -> 2703 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P074.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P074.pdf)bin2906 -> 2906 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P075.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P075.pdf)bin1702 -> 1702 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W001.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W001.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W002.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W002.pdf)bin10194 -> 10194 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W003.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W003.pdf)0
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W004.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W004.pdf)bin1684 -> 1684 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W005.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W005.pdf)bin2585 -> 2585 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W006.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W006.pdf)bin1768 -> 1768 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W007.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W007.pdf)bin2221 -> 2221 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W008.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W008.pdf)bin2179 -> 2179 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W009.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W009.pdf)bin2430 -> 2430 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W010.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W010.pdf)bin1731 -> 1731 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W011.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W011.pdf)bin1851 -> 1851 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W012.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W012.pdf)bin1064 -> 1064 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W013.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W013.pdf)bin3018 -> 3018 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W014.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W014.pdf)bin2159 -> 2159 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W015.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W015.pdf)bin1933 -> 1933 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W016.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W016.pdf)bin2628 -> 2628 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W017.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W017.pdf)bin1280 -> 1280 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W018.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W018.pdf)bin2619 -> 2619 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W019.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W019.pdf)bin1803 -> 1803 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W020.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W020.pdf)bin1611 -> 1611 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W021.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W021.pdf)bin2127 -> 2127 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W022.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W022.pdf)bin1671 -> 1671 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W023.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W023.pdf)bin2778 -> 2778 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W024.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W024.pdf)bin1398 -> 1398 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W025.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W025.pdf)bin3060 -> 3060 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W026.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W026.pdf)bin1754 -> 1754 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W027.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W027.pdf)bin1525 -> 1525 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W028.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W028.pdf)bin2278 -> 2278 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W029.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W029.pdf)bin4426 -> 4426 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W030.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W030.pdf)bin2473 -> 2473 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W031.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W031.pdf)bin2764 -> 2764 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W032.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W032.pdf)bin2952 -> 2952 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W033.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W033.pdf)bin3108 -> 3108 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W034.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W034.pdf)bin3383 -> 3383 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W035.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W035.pdf)bin2962 -> 2962 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W036.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W036.pdf)bin23961 -> 23961 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W037.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W037.pdf)bin8525 -> 8525 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W038.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W038.pdf)bin7126 -> 7126 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W039.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W039.pdf)bin1690 -> 1690 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W040.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W040.pdf)bin12232 -> 12232 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W041.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W041.pdf)bin42519 -> 42519 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W042.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W042.pdf)bin1485 -> 1485 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W043.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W043.pdf)bin3520 -> 3520 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W044.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W044.pdf)bin2163 -> 2163 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W045.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W045.pdf)bin4400 -> 4400 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W046.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W046.pdf)bin5475 -> 5475 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W047.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W047.pdf)bin3771 -> 3771 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W048.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W048.pdf)bin3758 -> 3758 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W049.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W049.pdf)bin5523 -> 5523 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W050.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W050.pdf)bin3742 -> 3742 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W051.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W051.pdf)bin2539 -> 2539 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W052.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W052.pdf)bin4373 -> 4373 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W053.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W053.pdf)bin4771 -> 4771 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W054.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W054.pdf)bin2853 -> 2853 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W055.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W055.pdf)bin2162 -> 2162 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W056.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W056.pdf)bin2291 -> 2291 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W057.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W057.pdf)bin3440 -> 3440 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W058.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W058.pdf)bin5427 -> 5427 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W059.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W059.pdf)bin1685 -> 1685 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W060.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W060.pdf)bin4166 -> 4166 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W061.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W061.pdf)bin2533 -> 2533 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W062.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W062.pdf)bin7282 -> 7282 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W063.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W063.pdf)bin5035 -> 5035 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W064.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W064.pdf)bin1691 -> 1691 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W065.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W065.pdf)bin7289 -> 7289 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W066.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W066.pdf)bin6096 -> 6096 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W067.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W067.pdf)bin3205 -> 3205 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W068.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W068.pdf)bin2524 -> 2524 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W069.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W069.pdf)bin2964 -> 2964 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W070.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W070.pdf)bin1961 -> 1961 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W071.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W071.pdf)bin6626 -> 6626 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W072.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W072.pdf)bin1612 -> 1612 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W073.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W073.pdf)bin2727 -> 2727 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W074.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W074.pdf)bin2440 -> 2440 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W075.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W075.pdf)bin3039 -> 3039 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W076.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W076.pdf)bin2006 -> 2006 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W077.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W077.pdf)bin2607 -> 2607 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W078.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W078.pdf)bin1523 -> 1523 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W079.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W079.pdf)bin1778 -> 1778 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W080.pdf (renamed from macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W080.pdf)bin1798 -> 1798 bytes
-rw-r--r--macros/latex/contrib/isosafety/tex/isosafety.sty49
-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/jsonparse/README.md6
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.pdfbin214713 -> 3965 bytes
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.svg88
-rw-r--r--macros/latex/contrib/jsonparse/jason/jason.tex289
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.pdfbin578489 -> 430804 bytes
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.tex150
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse.sty324
-rw-r--r--macros/latex/contrib/litesolution/README.md2
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/universe.pdfbin97170 -> 97170 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/figure/universe.tex2
-rw-r--r--macros/latex/contrib/litesolution/doc/litesolution.pdfbin276452 -> 637178 bytes
-rw-r--r--macros/latex/contrib/litesolution/doc/litesolution.tex124
-rw-r--r--macros/latex/contrib/litesolution/tex/litesolution.cls167
-rw-r--r--macros/latex/contrib/lni/CHANGELOG.md15
-rw-r--r--macros/latex/contrib/lni/README.md2
-rw-r--r--macros/latex/contrib/lni/lni.dtx11
-rw-r--r--macros/latex/contrib/lni/lni.pdfbin377652 -> 377655 bytes
-rw-r--r--macros/latex/contrib/lstaddons/README.txt (renamed from macros/latex/contrib/lstaddons/README)4
-rw-r--r--macros/latex/contrib/lstaddons/lstautogobble.dtx6
-rw-r--r--macros/latex/contrib/lstaddons/lstautogobble.pdfbin183234 -> 193066 bytes
-rw-r--r--macros/latex/contrib/lstaddons/lstlinebgrd.dtx17
-rw-r--r--macros/latex/contrib/lstaddons/lstlinebgrd.pdfbin213449 -> 224624 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/README.md4
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdfbin0 -> 134688 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex373
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdfbin0 -> 93645 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex400
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark-en.pdfbin83023 -> 0 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark-en.tex212
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.dtx598
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.pdfbin137623 -> 0 bytes
-rw-r--r--macros/latex/contrib/magicwatermark/magicwatermark.sty453
-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.md158
-rw-r--r--macros/latex/contrib/mathastext/mathastext.dtx5913
-rw-r--r--macros/latex/contrib/mathastext/mathastext.pdfbin661328 -> 745164 bytes
-rw-r--r--macros/latex/contrib/mercatormap/CHANGES.md176
-rw-r--r--macros/latex/contrib/mercatormap/README43
-rw-r--r--macros/latex/contrib/mercatormap/README.md50
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap-example.tex4
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.bib41
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex538
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex38
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex62
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex28
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex6
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex10
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex309
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex58
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex118
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex20
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.sty13
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex50
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.pdfbin24872307 -> 23145514 bytes
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.sty922
-rw-r--r--macros/latex/contrib/mercatormap/mercatormap.tex21
-rw-r--r--macros/latex/contrib/mercatormap/mercatorpy.def16
-rw-r--r--macros/latex/contrib/mercatormap/mercatorsupplier.def221
-rw-r--r--macros/latex/contrib/mitthesis/MIT-Thesis.pdfbin484515 -> 484200 bytes
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex4
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex4
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx-sans-text.tex5
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex6
-rw-r--r--macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex2
-rw-r--r--macros/latex/contrib/mitthesis/README.md10
-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.pdf (renamed from macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree_two_departments.pdf)bin132206 -> 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.tex (renamed from macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree_two_departments.tex)18
-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
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdfbin482879 -> 480892 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Fira_Newtxsf.pdfbin350734 -> 349865 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Heros-Stix2.pdfbin153678 -> 152948 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Libertine.pdfbin462305 -> 461124 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Lucida.pdfbin173819 -> 173088 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Newtx-sans-text.pdfbin279552 -> 278894 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Newtx.pdfbin320853 -> 320084 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Stix2.pdfbin163413 -> 162721 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Termes-stix2.pdfbin165290 -> 164333 bytes
-rw-r--r--macros/latex/contrib/mitthesis/examples/font_samples/Termes.pdfbin161633 -> 160667 bytes
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdfbin108765 -> 108977 bytes
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex33
-rw-r--r--macros/latex/contrib/mitthesis/mitthesis.cls39
-rw-r--r--macros/latex/contrib/moremath/moremath-doc.pdfbin945345 -> 994870 bytes
-rw-r--r--macros/latex/contrib/moremath/moremath.dtx402
-rw-r--r--macros/latex/contrib/oberdiek/README.md6
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/aliascnt.pdfbin321667 -> 321663 bytes
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/bmpsize.pdfbin525958 -> 525977 bytes
-rw-r--r--macros/latex/contrib/oberdiek/centernot.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/centernot.pdfbin304565 -> 304565 bytes
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/chemarr.pdfbin318494 -> 318494 bytes
-rw-r--r--macros/latex/contrib/oberdiek/classlist.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/classlist.pdfbin298087 -> 298081 bytes
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/colonequals.pdfbin311530 -> 311533 bytes
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/dvipscol.pdfbin297233 -> 297233 bytes
-rw-r--r--macros/latex/contrib/oberdiek/engord.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/engord.pdfbin347368 -> 347368 bytes
-rw-r--r--macros/latex/contrib/oberdiek/enparen.dtx10
-rw-r--r--macros/latex/contrib/oberdiek/enparen.pdfbin332193 -> 332199 bytes
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/eolgrab.pdfbin346528 -> 346528 bytes
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/fibnum.pdfbin387246 -> 387246 bytes
-rw-r--r--macros/latex/contrib/oberdiek/flags.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/flags.pdfbin311381 -> 311381 bytes
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/holtxdoc.pdfbin333733 -> 333733 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.dtx8
-rw-r--r--macros/latex/contrib/oberdiek/hypbmsec.pdfbin317462 -> 317462 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/hypgotoe.pdfbin313697 -> 313697 bytes
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/hyphsubst.pdfbin328780 -> 328780 bytes
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/ifdraft.pdfbin292642 -> 292642 bytes
-rw-r--r--macros/latex/contrib/oberdiek/iflang.dtx8
-rw-r--r--macros/latex/contrib/oberdiek/iflang.pdfbin344768 -> 344771 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek-bundle.bib14
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.ins4
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.pdfbin277944 -> 272940 bytes
-rw-r--r--macros/latex/contrib/oberdiek/oberdiek.tex33
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparallel.pdfbin348838 -> 348838 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/pdfcolparcolumns.pdfbin336523 -> 336523 bytes
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/pdfcrypt.pdfbin337837 -> 337837 bytes
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/protecteddef.pdfbin336483 -> 336480 bytes
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/resizegather.pdfbin543911 -> 543911 bytes
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/rotchiffre.pdfbin345328 -> 345313 bytes
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/scrindex.pdfbin309276 -> 309292 bytes
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.dtx6
-rw-r--r--macros/latex/contrib/oberdiek/setouterhbox.pdfbin358522 -> 358447 bytes
-rw-r--r--macros/latex/contrib/oberdiek/settobox.dtx4
-rw-r--r--macros/latex/contrib/oberdiek/settobox.pdfbin321376 -> 321375 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/stackrel.pdfbin310389 -> 310389 bytes
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.dtx6
-rw-r--r--macros/latex/contrib/oberdiek/stampinclude.pdfbin304745 -> 304749 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.dtx6
-rw-r--r--macros/latex/contrib/oberdiek/tabularht.pdfbin359268 -> 359270 bytes
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/tabularkv.pdfbin280523 -> 280523 bytes
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.dtx12
-rw-r--r--macros/latex/contrib/oberdiek/thepdfnumber.pdfbin377485 -> 377482 bytes
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.dtx2
-rw-r--r--macros/latex/contrib/oberdiek/twoopt.pdfbin301484 -> 301484 bytes
-rw-r--r--macros/latex/contrib/pagelayout/README.md14
-rw-r--r--macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdfbin75292 -> 75391 bytes
-rw-r--r--macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex2
-rwxr-xr-xmacros/latex/contrib/pagelayout/scripts/pagelayoutapi2
-rwxr-xr-xmacros/latex/contrib/pagelayout/scripts/textestvis10
-rw-r--r--macros/latex/contrib/pagelayout/tex/pagelayout.cls10
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md22
-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.sty5
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx48
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin988776 -> 988844 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx20
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin711669 -> 711589 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin602769 -> 603025 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin515851 -> 516309 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin558756 -> 558991 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin541897 -> 542144 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx21
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin543358 -> 544112 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin538339 -> 538574 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin594389 -> 594625 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin516578 -> 516817 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx10
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin753718 -> 753951 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin568304 -> 568542 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx26
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin685930 -> 686108 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx49
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin848504 -> 850174 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin530707 -> 530920 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin428064 -> 428630 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin587757 -> 588321 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin434746 -> 435158 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin464617 -> 465204 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/photobook/photobook.cls50
-rw-r--r--macros/latex/contrib/photobook/photobook.pdfbin145644 -> 146661 bytes
-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/reptheorem/reptheorem.dtx84
-rw-r--r--macros/latex/contrib/reptheorem/reptheorem.ins2
-rw-r--r--macros/latex/contrib/reptheorem/reptheorem.pdfbin271120 -> 274602 bytes
-rw-r--r--macros/latex/contrib/rpgicons/README.md2
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-doc.pdfbin500755 -> 500161 bytes
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-doc.tex5
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-l3.sty40
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons-pgf.sty2
-rw-r--r--macros/latex/contrib/rpgicons/rpgicons.sty4
-rw-r--r--macros/latex/contrib/se2thesis/CHANGELOG.md35
-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.dtx4
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis-master-thesis-example.pdfbin231943 -> 232002 bytes
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.dtx91
-rw-r--r--macros/latex/contrib/se2thesis/se2thesis.pdfbin362248 -> 366813 bytes
-rw-r--r--macros/latex/contrib/sillypage/sillypage-example.pdfbin104340 -> 104340 bytes
-rw-r--r--macros/latex/contrib/sillypage/sillypage.dtx34
-rw-r--r--macros/latex/contrib/sillypage/sillypage.pdfbin220111 -> 222678 bytes
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md9
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin645802 -> 645632 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx8
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx5
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin703908 -> 703909 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex4
-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/tablvar/README.md6
-rw-r--r--macros/latex/contrib/tablvar/tablvar.dtx583
-rw-r--r--macros/latex/contrib/tablvar/tablvar.ins6
-rw-r--r--macros/latex/contrib/tablvar/tablvar.pdfbin271901 -> 351117 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.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-softhyphen.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf14
-rw-r--r--macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf16
-rw-r--r--macros/latex/contrib/tagpdf/link-figure-input.tex6
-rw-r--r--macros/latex/contrib/tagpdf/pac2024-report.pngbin0 -> 60301 bytes
-rw-r--r--macros/latex/contrib/tagpdf/pac2024-version.pngbin0 -> 29032 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-backend.dtx91
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-checks.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-code.pdfbin1716291 -> 1737121 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-data.dtx16
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-roles.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-space.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-struct.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-tree.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-user.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.dtx26
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.pdfbin1172067 -> 1124473 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.tex75
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty167
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex3
-rw-r--r--macros/latex/contrib/telprint/README.md13
-rw-r--r--macros/latex/contrib/telprint/telprint.dtx (renamed from macros/latex/contrib/oberdiek/telprint.dtx)79
-rw-r--r--macros/latex/contrib/telprint/telprint.pdf (renamed from macros/latex/contrib/oberdiek/telprint.pdf)bin331190 -> 329028 bytes
-rw-r--r--macros/latex/contrib/tkz/pgfornament/README.md5
-rw-r--r--macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdfbin1377881 -> 1352275 bytes
-rw-r--r--macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex4
-rw-r--r--macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex6
-rw-r--r--macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty13
-rw-r--r--macros/latex/contrib/univie-ling/README13
-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.pdfbin132715 -> 132716 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdfbin127940 -> 127947 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdfbin201365 -> 201366 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdfbin200965 -> 200967 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdfbin172559 -> 172712 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdfbin167650 -> 167812 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdfbin227173 -> 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.pdfbin167845 -> 190497 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex4
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdfbin164309 -> 186645 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex4
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdfbin250473 -> 250474 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdfbin250364 -> 250365 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdfbin461504 -> 461588 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdfbin450479 -> 450553 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdfbin458946 -> 459207 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdfbin457385 -> 457851 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdfbin462064 -> 462143 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex7
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdfbin349412 -> 350542 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex12
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.pdfbin365693 -> 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.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls8
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls10
-rw-r--r--macros/latex/contrib/ut-thesis/README21
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.dtx16
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.ins21
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.pdfbin135197 -> 135618 bytes
-rw-r--r--macros/latex/required/babel/base/README.md18
-rw-r--r--macros/latex/required/babel/base/babel-code.pdfbin650256 -> 651093 bytes
-rw-r--r--macros/latex/required/babel/base/babel.dtx110
-rw-r--r--macros/latex/required/babel/base/babel.ins2
-rw-r--r--macros/latex/required/babel/base/babel.pdfbin423559 -> 424112 bytes
-rw-r--r--macros/latex/required/babel/base/bbcompat.dtx2
-rw-r--r--macros/latex/required/l3kernel/CHANGELOG.md15
-rw-r--r--macros/latex/required/l3kernel/README.md2
-rw-r--r--macros/latex/required/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/required/l3kernel/expl3.pdfbin610409 -> 610110 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.pdfbin1800435 -> 1790077 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.tex2
-rw-r--r--macros/latex/required/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3bitset.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3box.dtx6
-rw-r--r--macros/latex/required/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3clist.dtx14
-rw-r--r--macros/latex/required/l3kernel/l3coffins.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3color.dtx30
-rw-r--r--macros/latex/required/l3kernel/l3debug.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3deprecation.dtx8
-rw-r--r--macros/latex/required/l3kernel/l3doc.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3doc.pdfbin565557 -> 565298 bytes
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.pdfbin151323 -> 151011 bytes
-rw-r--r--macros/latex/required/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-functions.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-symbolic.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp-types.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3fp.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3int.dtx17
-rw-r--r--macros/latex/required/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3keys.dtx41
-rw-r--r--macros/latex/required/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3news.pdfbin396223 -> 396223 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news09.pdfbin250161 -> 250161 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--macros/latex/required/l3kernel/l3pdf.dtx14
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.csv7
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.pdfbin82843 -> 83064 bytes
-rw-r--r--macros/latex/required/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3prop.dtx42
-rw-r--r--macros/latex/required/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3str.dtx4
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.pdfbin296602 -> 296298 bytes
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.pdfbin231447 -> 231148 bytes
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/required/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.pdfbin242247 -> 241946 bytes
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/required/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text-map.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3text.dtx16
-rw-r--r--macros/latex/required/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl-build.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/required/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/required/l3kernel/source3.pdfbin7618338 -> 7610534 bytes
-rw-r--r--macros/latex/required/l3kernel/source3.tex2
-rw-r--r--macros/luatex/generic/luamplib/NEWS34
-rw-r--r--macros/luatex/generic/luamplib/luamplib.dtx1062
-rw-r--r--macros/luatex/generic/luamplib/luamplib.pdfbin239222 -> 255981 bytes
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-latex.tex47
-rw-r--r--macros/luatex/generic/luamplib/test-luamplib-plain.tex30
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.lua17
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.pdfbin81225 -> 82217 bytes
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.sty16
-rw-r--r--macros/luatex/generic/penlightplus/penlightplus.tex16
-rw-r--r--macros/luatex/latex/innerscript/README.txt12
-rw-r--r--macros/luatex/latex/innerscript/innerscript_code.dtx56
-rw-r--r--macros/luatex/latex/innerscript/innerscript_code.pdfbin92448 -> 92824 bytes
-rw-r--r--macros/luatex/latex/innerscript/innerscript_user_guide.pdfbin113778 -> 114356 bytes
-rw-r--r--macros/luatex/latex/luamml/README.md14
-rw-r--r--macros/luatex/latex/luamml/luamml-amsmath.lua133
-rw-r--r--macros/luatex/latex/luamml/luamml-array.lua84
-rw-r--r--macros/luatex/latex/luamml/luamml-convert.lua662
-rw-r--r--macros/luatex/latex/luamml/luamml-data-combining.lua27
-rw-r--r--macros/luatex/latex/luamml/luamml-data-stretchy.lua500
-rw-r--r--macros/luatex/latex/luamml/luamml-demo.sty82
-rw-r--r--macros/luatex/latex/luamml/luamml-legacy-mappings.lua73
-rw-r--r--macros/luatex/latex/luamml/luamml-lr.lua71
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-amsmath.sty417
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-amstext.sty37
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-array.sty86
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-kernel.sty63
-rw-r--r--macros/luatex/latex/luamml/luamml-patches-lab-math.sty20
-rw-r--r--macros/luatex/latex/luamml/luamml-pdf-demo.sty50
-rw-r--r--macros/luatex/latex/luamml/luamml-structelemwriter.lua105
-rw-r--r--macros/luatex/latex/luamml/luamml-table.lua110
-rw-r--r--macros/luatex/latex/luamml/luamml-tex-annotate.lua119
-rw-r--r--macros/luatex/latex/luamml/luamml-tex.lua232
-rw-r--r--macros/luatex/latex/luamml/luamml-xmlwriter.lua58
-rw-r--r--macros/luatex/latex/luamml/luamml.dtx531
-rw-r--r--macros/luatex/latex/luamml/luamml.pdfbin0 -> 536611 bytes
-rw-r--r--macros/luatex/latex/luamml/test-mathml-2.txt8
-rw-r--r--macros/luatex/latex/piton/piton-french.pdf4401
-rw-r--r--macros/luatex/latex/piton/piton-french.tex1567
-rw-r--r--macros/luatex/latex/piton/piton.dtx949
-rw-r--r--macros/luatex/latex/piton/piton.pdf22461
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.lua16
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.pdfbin85254 -> 85368 bytes
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.sty4
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.tex3
-rw-r--r--macros/texinfo/latest/htmlxref.cnf7
1379 files changed, 41283 insertions, 24875 deletions
diff --git a/macros/context/contrib/context-chat/LICENSE b/macros/context/contrib/context-chat/LICENSE
new file mode 100644
index 0000000000..c729003181
--- /dev/null
+++ b/macros/context/contrib/context-chat/LICENSE
@@ -0,0 +1,232 @@
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS
+
+0. Definitions.
+
+“This License†refers to version 3 of the GNU General Public License.
+
+“Copyright†also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program†refers to any copyrightable work licensed under this License. Each licensee is addressed as “youâ€. “Licensees†and “recipients†may be individuals or organizations.
+
+To “modify†a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version†of the earlier work or a work “based on†the earlier work.
+
+A “covered work†means either the unmodified Program or a work based on the Program.
+
+To “propagate†a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey†a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices†to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The “source code†for a work means the preferred form of the work for making modifications to it. “Object code†means any non-source form of a work.
+
+A “Standard Interface†means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries†of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Componentâ€, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The “Corresponding Source†for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all noticesâ€.
+
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate†if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product†is either (1) a “consumer productâ€, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used†refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+“Installation Information†for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+“Additional permissions†are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions†within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction†is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+A “contributor†is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor versionâ€.
+
+A contributor's “essential patent claims†are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control†includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license†is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant†such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying†means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory†if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Use with the GNU Affero General Public License.
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
+
+14. Revised Versions of this License.
+The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version†applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “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 PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. Limitation of Liability.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+17. Interpretation of Sections 15 and 16.
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright†line and a pointer to where the full notice is found.
+
+ context-chat
+ Copyright (C) 2024 fiee
+
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ This program 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. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
+
+ context-chat Copyright (C) 2024 fiee
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about boxâ€.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer†for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
+
+The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/macros/context/contrib/context-chat/README.md b/macros/context/contrib/context-chat/README.md
new file mode 100644
index 0000000000..ca1c5ec7e2
--- /dev/null
+++ b/macros/context/contrib/context-chat/README.md
@@ -0,0 +1,72 @@
+# ConTeXt Chat
+
+Typeset messenger chats with ConTeXt
+
+2024 by Henning Hraban Ramm
+
+## Introduction
+
+In a youth novel that I’m writing, the actors frequently use a messenger app on
+their smartphones to chat. I wanted to depict that accordingly, but simplified:
+no need for a sophisticated user interface, for replies, reactions, images,
+attachments etc.
+
+## Usage
+
+ \usemodule[chat]
+ \setupChat[
+ recipient=A,
+ ]
+
+ \starttext
+ \startChat{A} Do you wanna chat?\stopChat
+ \startChat{B} Maybe. What about?\stopChat
+ \startChat{A} How about cats?\stopChat
+ \startChat{A} or squirrels?\stopChat
+ \stoptext
+
+There’s no general environment around the messages. If you need to adapt the spacing or want a background, use ConTeXt’s usual possibilities.
+
+The parameter of `\startChat` is the sender of that message, i.e. their avatar. I’m using emoji for that but I’m planning to add more options.
+
+Every first message of a person shows their avatar and a speech bubble tail.
+Follow-up messages by the same person have no avatar and no tail.
+You can use `\resetChat` to reset this “memoryâ€.
+
+Each conversation has one recipient, that’s the person reading it. Their messages (also avatar and tail) are displayed on the right-hand side, all others on the left.
+
+In my novel, the recipient is fixed by section, so I set it in a setup that is called like `\setuphead[section][before=\setup{section:before}]`.
+
+I suggest using Roboto (Condensed) as base font. You must also setup a fallback font for emojis.
+
+## Options
+
+* `recipient`: Name of the person reading the conversation.
+* `style`: text style; default: `\ss`
+* `senderstyle`: style of the avatar text; default: `\ss\bf`
+* `width`: maximum width of speech bubbles; default: `.8\textwidth`
+* `distance`: vertical distance of speech bubbles, unreliable; default: `.25em`
+* colors: You can change ChatColorI, ChatColorII, ChatNameColor and ChatFrameColor (switching to a palet soon).
+
+Options regarding the bubble, frame and tail are still missing.
+
+## Limitations
+
+Configuration options are limited. I might enhance the possibilities on request.
+
+* Avatars: I’m using emoji as avatars of the participants; I’m planning to make it work with initials (two characters) or graphics.
+* Other planned features: status messages like “Admin added Personâ€
+* Not currently planned features: images, emoji reactions, replies with quotes, read markers, date & time.
+* Background: Since I’m going for a printed version, I’m not planning to include a general background or a dark mode.
+* There are slightly different bubble forms for “soloâ€, “firstâ€, “middle†and “lastâ€, but ATM just “solo†and “middle†are used (automatically), since there’s no lookahead, i.e. the module can’t know what will come next. I’ll probably add an option to set the version manually.
+* Only one frame color for all messages.
+* No further documentation.
+
+## Contributors
+
+* Aditya Mahajan wrote a first draft of speech bubbles for me in 2022. His MetaPost code was more elegant than mine, but I didn’t manage to adapt it to my needs.
+* Hans Hagen gave me some valuable hints when I showed him my first working version.
+
+## License
+
+[GPL 3.0+](LICENSE)
diff --git a/macros/context/contrib/context-chat/VERSION b/macros/context/contrib/context-chat/VERSION
new file mode 100644
index 0000000000..72ccc5e1b6
--- /dev/null
+++ b/macros/context/contrib/context-chat/VERSION
@@ -0,0 +1 @@
+2024-08-10
diff --git a/macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv b/macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv
new file mode 100644
index 0000000000..b3e1933549
--- /dev/null
+++ b/macros/context/contrib/context-chat/tex/context/third/chat/t-chat.mkiv
@@ -0,0 +1,231 @@
+%D \module
+%D [ file=t-chat,
+%D version=2024.08.10,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Chat,
+%D author=Henning Hraban Ramm,
+%D date=\currentdate,
+%D copyright={fiëé visuëlle, H. Ramm},
+%D license={GPL 3.0+}]
+
+\unprotect
+
+%D First we define a few colors.
+%D Don’t rely on these names, use the “Chat†palet instead.
+\definecolor[ChatColorI][c=0,m=.03,y=.15,k=0]
+\definecolor[ChatColorII][c=.1,m=0,y=0,k=0]
+\definecolor[ChatNameColor][c=0,m=0,y=0,k=.1]
+\definecolor[ChatColor][ChatColorI]
+\definecolor[ChatFrameColor][ChatNameColor]
+
+%D The palet contains all used colors.
+%D ATM there are only 2 different colors for recipient and sender,
+%D there should be more colors to distinguish senders.
+\definepalet[Chat][
+ frame=ChatFrameColor,
+ name=ChatNameColor,
+ 1=ChatColorI,
+ 2=ChatColorII,
+]
+
+\installcorenamespace {chat}
+
+\installsimplecommandhandler \??chat {Chat} \??chat
+
+\setupChat[
+ recipient=,
+ person=,
+ \c!distance=.25em,
+ \c!style={\ss},
+ \c!width=.8\textwidth,
+ senderstyle={\ss\bf},
+]
+
+% \Chatparameter
+
+\startuniqueMPgraphic{ChatBubble}
+% side: 0=right, 1=left
+% pos: 0 solo, 1 top, 2 middle, 3 bottom
+
+ numeric side, pos ;
+ string bgcol ;
+
+ if "\getvariable{Chat}{Person}" = "\Chatparameter{recipient}" :
+ side := 0;
+ bgcol := "Chat:1";
+ ; else :
+ side := 1;
+ bgcol := "Chat:2";
+ ; fi ;
+
+ if "\getvariable{Chat}{Person}" = "\getvariable{Chat}{PrevPerson}" :
+ % same as previous person: omit tail
+ pos := 3;
+ ; else :
+ % since we can’t know what’s next, go with "solo"
+ pos := 0;
+ ; fi ;
+
+ cradius := .125cm;
+ tailoffset := .125cm;
+ tailsize := .25cm;
+ h := OverlayHeight;
+ w := OverlayWidth;
+
+ if h < (2*cradius + 2*tailsize):
+ % if the box is too small, reduce radius and tail size
+ cradius := h/3;
+ tailsize := h/3;
+ tailoffset := 0;
+ fi;
+
+ pair ll[],lr[],tl[],tr[],s[];
+
+ % corners
+ ll1 := (0,cradius);
+ ll2 := (cradius,0);
+ lr1 := (w,cradius);
+ lr2 := (w-cradius,0);
+ % tail points
+ tl1 := (0,h-cradius);
+ tl2 := (cradius,h);
+ tr1 := (w,h-cradius);
+ tr2 := (w-cradius,h);
+
+ s1 := (w,h-cradius-tailoffset);
+ s2 := (w+tailsize,h-cradius-tailoffset);
+ s3 := (w,h-cradius-tailoffset-tailsize);
+
+ if pos > 1: % disable tail on middle/bottom
+ %s1 := (w,h-cradius-tailoffset);
+ s2 := (w,h-cradius-tailoffset);
+ %s3 := (w,h-cradius-tailoffset-tailsize);
+ fi;
+ if (pos = 1) or (pos = 2): % top/middle
+ lr1 := (w,cradius/3);
+ lr2 := (w-cradius/3,0);
+ fi;
+ if (pos = 2) or (pos = 3): % middle/bottom
+ tr1 := (w,h-cradius/3);
+ tr2 := (w-cradius/3,h);
+ fi;
+
+ path p ;
+ p := (ll1 ... ll2 --- lr2 ... lr1 -- s3 -- s2 -- s1 -- tr1 ... tr2 --- tl2 ... tl1 --- cycle);
+
+ % mirror the bubble for left side
+ if side = 1:
+ p := p reflectedabout ((w/2,0),(w/2,h));
+ fi;
+
+ fill p withcolor bgcol ;
+ draw p withpen pencircle scaled 0.75 withcolor "Chat:frame";
+
+ setbounds currentpicture to OverlayBox ;
+\stopuniqueMPgraphic
+
+\defineframedtext[ChatBubbleFrame][
+ style=\Chatparameter\s!style,
+ align=flushleft,
+ frame=off,
+ width=\Chatparameter\s!width,
+ autowidth=force,
+ offset=0pt,
+ loffset=2pt,
+ roffset=3pt,
+ before={\vskip\dimexpr-1em+\Chatparameter\c!distance\relax},
+ after={\vskip\dimexpr-\Chatparameter\c!distance\relax},
+]
+
+%D Receive text (left-facing).
+\defineoverlay[ChatGetOverlay][\uniqueMPgraphic{ChatBubble}]
+\defineframedtext[ChatGetFrame][ChatBubbleFrame][
+ background=ChatGetOverlay,
+ location=left,
+]
+
+%D Send text (right-facing).
+\defineoverlay[ChatSendOverlay][\uniqueMPgraphic{ChatBubble}]
+\defineframedtext[ChatSendFrame][ChatBubbleFrame][
+ background=ChatSendOverlay,
+ location=right,
+]
+
+%D This should become an avatar
+%D or simply initials in a circle
+\defineframed[ChatSenderFramed][
+ width=1em,
+ offset=overlay,
+ frame=off,
+ style=\Chatparameter{senderstyle},
+ %offset=0pt,
+ %loffset=0.25em,
+ %roffset=0.25em,
+ %corner=rounded,
+ %frameradius=.5em,
+ %background=color,
+ %backgroundcolor=Chat:frame,
+]
+
+%D Only show names (avatars) if person is different from last one
+% Sender name: #1 x-offset
+\define[1]\ChatSender{\offset[x=#1]{%
+ \doifnot{\getvariable{Chat}{Person}}{\getvariable{Chat}{PrevPerson}}{
+ % TODO: style \ss\tfx if more than 2 chars
+ \ChatSenderFramed{\style[style=\Chatparameter{senderstyle}]{\getvariable{Chat}{Person}}}}%
+ }%
+}
+
+\define[1]\startChat{%
+ \setevariable{Chat}{PrevPerson}{\getvariable{Chat}{Person}}
+ \setevariable{Chat}{Person}{#1}
+ \testpage[1]
+ \doifelse{\getvariable{Chat}{Person}}{\Chatparameter{recipient}}{
+ % recipient
+ \ChatSender{\dimexpr\textwidth-1.25em\relax}
+ \startnarrow[left=.5em]\startChatSendFrame
+ }{
+ % other sender
+ \ChatSender{-0.25em}
+ \startnarrow[right=.5em]\startChatGetFrame
+ }
+}
+
+\def\resetChat{%
+ \setevariable{Chat}{Recipient}{}%
+ \setevariable{Chat}{Person}{}%
+ \setevariable{Chat}{PrevPerson}{0}%
+}
+
+\def\stopChat{
+\doifelse{\getvariable{Chat}{Person}}{\Chatparameter{recipient}}{
+ % recipient
+ \stopChatSendFrame%
+}{
+ % other sender
+ \stopChatGetFrame%
+}
+\stopnarrow%
+}
+
+\resetChat
+
+\protect
+
+\continueifinputfile{t-chat.mkiv}
+
+\starttext
+
+\setupChat[
+ recipient=A,
+]
+
+\starttext
+\startChat{A} Do you wanna chat?\stopChat
+\startChat{B} Maybe. What about?\stopChat
+\startChat{A} How about cats?\stopChat
+\startChat{A} or squirrels?\stopChat
+\stoptext
+
+
+\stoptext
diff --git a/macros/jptex/latex/pxjahyper/LICENSE b/macros/jptex/latex/pxjahyper/LICENSE
index 5cf6f6fb2d..7b1201927e 100644
--- a/macros/jptex/latex/pxjahyper/LICENSE
+++ b/macros/jptex/latex/pxjahyper/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+Copyright (c) 2012-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/jptex/latex/pxjahyper/README-ja.md b/macros/jptex/latex/pxjahyper/README-ja.md
index 57a117c3d5..88d23a45da 100644
--- a/macros/jptex/latex/pxjahyper/README-ja.md
+++ b/macros/jptex/latex/pxjahyper/README-ja.md
@@ -73,6 +73,14 @@ pxjahyper-enc パッケージ ー 文字コード設定
更新履歴
--------
+ * Version 1.4 〈2024/08/14〉
+ - 設定キー `fallback-warn` を追加。
+ - 設定キー `fallback-cidm` を追加。
+ - `force-unicode` オプションをéžæŽ¨å¥¨ã¨ã—ã€è­¦å‘Šã‚’出ã™ã€‚
+ - 開発者用命令 `\pxjahyperBadCharacter` を追加。
+ - オプション `autodvidriver`ã€`fallback-geta`ã€`fallback-delete`
+ ã‚’éžæŽ¨å¥¨ã«ã™ã‚‹ã€‚
+
* Version 1.3 〈2023/03/01〉
- “pTeX + hyperref unicode モードâ€ã‚’æ­£å¼ã«ã‚µãƒãƒ¼ãƒˆã™ã‚‹ã€‚ã“ã‚Œã«
ä¼´ã„ã€unicode モードã«é–¢ã™ã‚‹è­¦å‘Šã‚’削除。
diff --git a/macros/jptex/latex/pxjahyper/README.md b/macros/jptex/latex/pxjahyper/README.md
index b6193b1698..5b13a6de89 100644
--- a/macros/jptex/latex/pxjahyper/README.md
+++ b/macros/jptex/latex/pxjahyper/README.md
@@ -52,6 +52,7 @@ the PDF strings in the output DVI file.
Revision History
----------------
+ * Version 1.4 〈2024/08/14〉
* Version 1.3 〈2023/03/01〉
* Version 1.2a 〈2022/10/19〉
* Version 1.2 〈2022/05/27〉
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def b/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def
index 331dcd32f2..d584942789 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def
+++ b/macros/jptex/latex/pxjahyper/pxjahyper-ajm.def
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper-ajm.def'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -11,7 +11,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-ajm.def}[2023/03/01 v1.3]
+\ProvidesFile{pxjahyper-ajm.def}[2024/08/14 v1.4]
%% avoid multiple loading
\csname pxjahyperajmLoaded\endcsname
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty b/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty
index 2d730c5151..dfbe94f8be 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty
+++ b/macros/jptex/latex/pxjahyper/pxjahyper-enc.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper-enc.sty'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper-enc}[2023/03/01 v1.3]
+\ProvidesPackage{pxjahyper-enc}[2024/08/14 v1.4]
\def\pxhe@pkgname{pxjahyper-enc}
\providecommand{\bxDebug}[1]{}
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper-uni.def b/macros/jptex/latex/pxjahyper/pxjahyper-uni.def
index 4ce0174a9e..dee65ec5d6 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper-uni.def
+++ b/macros/jptex/latex/pxjahyper/pxjahyper-uni.def
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper-uni.def'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-uni.def}[2023/03/01 v1.3]
+\ProvidesFile{pxjahyper-uni.def}[2024/08/14 v1.4]
\providecommand{\bxDebug}[1]{}
%--------------------------------------- environment check
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper.pdf b/macros/jptex/latex/pxjahyper/pxjahyper.pdf
index e1b4fbe07a..07d88e51e9 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper.pdf
+++ b/macros/jptex/latex/pxjahyper/pxjahyper.pdf
Binary files differ
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper.sty b/macros/jptex/latex/pxjahyper/pxjahyper.sty
index 9c3652b29f..7cca26784c 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper.sty
+++ b/macros/jptex/latex/pxjahyper/pxjahyper.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'pxjahyper.sty'.
%%
-%% Copyright (c) 2012-2023 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2012-2024 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper}[2023/03/01 v1.3]
+\ProvidesPackage{pxjahyper}[2024/08/14 v1.4]
\def\pxhy@pkgname{pxjahyper}
\providecommand{\bxDebug}[1]{}
@@ -51,9 +51,12 @@
\newif\ifpxhy@otfmacros
\newif\ifpxhy@Uchar@avail
\newif\ifpxhy@ucs@avail
+\newif\ifpxhy@toucs@avail
\let\pxhy@jsclasses@name\relax
\newif\ifpxhy@jlreq@cls
\newif\ifpxhy@fallback@geta
+\newif\ifpxhy@fallback@warn
+\newif\ifpxhy@fallback@cidm
\newif\ifpxhy@extjis@map
\newif\ifpxhy@extjis@use
\newif\ifpxhy@ajhankaku@chars
@@ -91,7 +94,7 @@
\DeclareOption{resetdvidriver}{%
\let\pxhy@driver\@undefined
}
-\DeclareOption{autodvidriver}{%
+\DeclareOption{autodvidriver}{% DEPRECATED
\let\pxhy@driver\@undefined
}
\DeclareOption{auto}{% DEPRECATED
@@ -171,14 +174,15 @@
\DeclareOption{nootfmacros}{%
\pxhy@otfmacrosfalse
}
-\DeclareOption{fallback-geta}{%
+\DeclareOption{fallback-geta}{% DEPRECATED
\pxjahypersetup{fallback=geta}%
}
-\DeclareOption{fallback-delete}{%
+\DeclareOption{fallback-delete}{% DEPRECATED
\pxjahypersetup{fallback=delete}%
}
-\DeclareOption{force-unicode}{%
- \let\pxhy@force@unicode=t
+\DeclareOption{force-unicode}{% DEPRECATED
+ \PackageWarningNoLine\pxhy@pkgname
+ {'force-unicode' is DEPRECATED and ignored}%
}
\DeclareOption{disable-Ux}{% for debug
\let\pxhy@disable@Ux=t
@@ -194,6 +198,16 @@
}
\let\pxhy@kv@fallback@@geta\pxhy@fallback@getatrue
\let\pxhy@kv@fallback@@delete\pxhy@fallback@getafalse
+% 'fallback-warn=<bool>'
+\pxhy@fallback@warntrue
+\define@key{\pxhy@pkgname}{fallback-warn}[true]{%
+ \pxhy@handle@key{fallback-warn}{#1}{fallback@warn#1}%
+}
+% 'fallback-cidm=<bool>'
+\pxhy@fallback@cidmtrue
+\define@key{\pxhy@pkgname}{fallback-cidm}[true]{%
+ \pxhy@handle@key{fallback-cidm}{#1}{fallback@cidm#1}%
+}
% 'extjis=<bool>'
\pxhy@extjis@usetrue
\define@key{\pxhy@pkgname}{extjis}[true]{%
@@ -289,6 +303,8 @@
\pxhy@check\Uchar{\pxhy@Uchar@availtrue}
%% pxhy@ucs@avail switch
\pxhy@check\ucs{\pxhy@ucs@availtrue}
+%% pxhy@toucs@avail switch
+\pxhy@check\toucs{\pxhy@toucs@availtrue}
%% pxhy@extjis@map switch
% Note that 'tounicode' is necessary.
@@ -311,6 +327,8 @@
\@ifl@t@r\fmtversion{2021/11/15}{%
\chardef\pxhy@hook@system=2
}{\@ifl@t@r\fmtversion{2020/02/02}{%
+ % NB. We need to support this intermediate version, because
+ % the hook order matters here.
\chardef\pxhy@hook@system=1
}{}}
@@ -328,13 +346,7 @@
\pxhy@uniescapetrue
\fi\fi
-% hyperref 'unicode' is allowed only on upLaTeX.
-\ifnum0\ifpxhy@hy@unicode\ifpxhy@uptex\else
- \ifx t\pxhy@force@unicode\else1\fi\fi\fi>\z@
-% \PackageWarningNoLine\pxhy@pkgname
-% {The support for the hyperref 'unicode' mode\MessageBreak
-% on the pTeX engine is currently experimental}%
-\fi
+% hyperref 'unicode' mode
\ifpxhy@hy@unicode
\pxhy@uniescapefalse
%\pxhy@otfutftrue
@@ -429,8 +441,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
%% \pxhy@geta : GETA MARK
-\pxhy@get@jchar{\jis"222E}
-\let\pxhy@geta\pxhy@jchar
+\pxhy@let@jchar@jc\pxhy@geta{222E}
%% \pxhy@print@geta
\def\pxhy@print@geta{%
@@ -472,6 +483,25 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
}
+%% \pxhy@ifempty{<text>}{<true>}{<false>}
+\def\pxhy@ifempty#1{%
+ \pxhy@cond\ifx\pxhy@mt#1\pxhy@mt\fi
+}
+
+%% \pxhy@read@num{<text>}\CScont
+\def\pxhy@read@num#1{%
+ \expandafter\pxhy@read@num@a\number#1\pxhy@mk#1\pxhy@mk#1\pxhy@mk
+}
+\def\pxhy@read@num@a#1#2\pxhy@mk{%
+ \expandafter\pxhy@read@num@b\romannumeral\if-#1\else-\fi
+}
+\def\pxhy@read@num@b#1\pxhy@mk#2\pxhy@mk{%
+ \expandafter\pxhy@read@num@c\number\pxhy@ifempty{#1}{#2}{}\pxhy@mk
+}
+\def\pxhy@read@num@c#1\pxhy@mk#2{%
+ \pxhy@cond\ifnum#1<\z@\fi{#2{0}}{#2{#1}}%
+}
+
%--------------------------------------- Helpers (e-TeX)
\ifpxhy@etex
@@ -748,6 +778,47 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\noexpand\pxhy@uchex@out{\pxhy@uc@REPL}%
}
+%--------------------------------------- Unavailable characters
+
+%%<+> \pxjahyperBadCharacter{<label>}
+\newcommand*\pxjahyperBadCharacter[1]{%
+ \ifpxhy@fallback@warn
+ % issue a warning
+ \pxhy@bad@character@a{#1}%
+ \fi
+ \pxhy@print@geta
+}
+\def\pxhy@bad@character@a#1{%
+ % Here the control sequence with name <label> is supposed to be
+ % undefined. This token is intentionally left in the stream.
+ % Then this unknown token will be detected by the hyperref process
+ % and cause it to issue an warning
+ % "Token not allowed in a PDF string (... removing `\<label>'".
+ \expandafter\ifx\csname<#1>\endcsname\relax
+ \csname<#1>\endcsname
+ % If the token should be defined, it is replaced for safety.
+ \else \csname pxhy@<#1>\endcsname
+ \fi
+}
+
+%% \pxhy@fallback@num{<prefix>}<fast>{<number>}
+% Makes a bad character with label '<prefix><number>', after parsing
+% the given number input.
+\def\pxhy@fallback@num#1#2#3{%
+ \ifpxhy@fallback@warn
+ \if t#2%
+ \expandafter\pxhy@fallback@num@a\expandafter{\number#3}{#1}%
+ \else
+ \pxhy@read@num{#3}\pxhy@fallback@num@a{#1}%
+ \fi
+ \else
+ \pxjahyperBadCharacter{}%
+ \fi
+}
+\def\pxhy@fallback@num@a#1#2{%
+ \pxjahyperBadCharacter{#2#1}%
+}
+
%--------------------------------------- Hooks to pdfstringdef
%% variables
@@ -760,6 +831,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\ifpxhy@hy@unicode %<*unicode>
%% \pxhy@Ux
+ % In hyperref "unicode" mode, \unichar is used.
\def\pxhy@Ux{\pxhy@uchex}%
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{%
@@ -770,6 +842,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\ifpxhy@uptex
%% \pxhy@Ux
+ % On upTeX with \Uchar, \Uchar is used.
\def\pxhy@Ux{\pxhy@uchex}
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{\Uchar"#1 }
@@ -777,29 +850,31 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\else\ifpxhy@ucs@avail
%% \pxhy@Ux
+ % On pTeX with \Uchar and \ucs, we convert the Unicode value to
+ % an internal-code value (using \ucs) and apply \Uchar to it.
\def\pxhy@Ux{\pxhy@uchex}
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{%
\expandafter\pxhy@uchex@out@a\ucs"#1\pxhy@mk{#1}%
}
\chardef\pxhy@max@asc="7F
- \def\pxhy@uchex@out@a#1\pxhy@mk#2{%
- \ifnum#1<\z@
- \ifnum"#2>\pxhy@max@asc
+ \def\pxhy@uchex@out@a#1\pxhy@mk#2{% #1:internal #2:Unicode
+ \ifnum#1<\z@ % not in internal (or JIS)
+ \ifnum"#2>\pxhy@max@asc % not ASCII
\ifpxhy@extjis@use
+ % try special conversion
\expandafter\pxhy@uchex@out@b\csname
pxhy@uc/\number"#2\endcsname{#2}%
\else \pxhy@uchex@out@b\relax{#2}%
\fi
- \else \Uchar"#2
+ \else \Uchar"#2 % ASCII
\fi
- \else \Uchar#1
+ \else \Uchar#1 % in internal-code
\fi
}
- \def\pxhy@uchex@out@b#1#2{%
- \ifx#1\relax
- \@nameuse{U+#2}%
- \pxhy@print@geta
+ \def\pxhy@uchex@out@b#1#2{% #2:Unicode
+ \ifx#1\relax % not supported
+ \pxjahyperBadCharacter{U+#2}%
\else #1%
\fi
}
@@ -808,6 +883,9 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\else\ifpxhy@uptex %<*upTeX>
%% \pxhy@Ux
+ % On upTeX without \Uchar, we convert the Unicode value to a ja-char
+ % token using \pxhy@get@jchar, which is not fully expandable.
+ % So we need \pdfstringdefPostHook.
\def\pxhy@Ux{\pxhy@uchex}%
\pxhy@utfXVIfalse
@@ -912,7 +990,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
%--------------------------------------- Fix for high-byte protection
-\ifpxhy@etex
+\ifpxhy@hy@unicode\else \ifpxhy@etex
\begingroup
% Check for high-byte protection.
\catcode"EF=\active \catcode`\^=7
@@ -949,7 +1027,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
\endgroup
-\fi
+\fi\fi
%--------------------------------------- Support for 'otfutf'
\ifpxhy@otfutf
@@ -960,8 +1038,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\def\pxhy@UTF{\pxhy@uchex}
\pxhy@utfXVIfalse
\def\pxhy@uchex@out#1{%
- \@nameuse{U+#1}% issue a warning
- \pxhy@print@geta
+ \pxjahyperBadCharacter{U+#1}%
}
\else
\let\pxhy@UTF\pxhy@Ux
@@ -999,26 +1076,22 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%% \pxhy@CID{<cid>}
\def\pxhy@CID#1{%
- \expandafter\expandafter\expandafter\pxhy@cid@aux
- \bxjaCidToUcsHex{#1}\pxhy@mk{\pxhy@xdetokenize{#1}}%
+ \pxhy@triexpandafter\pxhy@cid@aux\bxjaCidToUcsHex{#1}@f{#1}%
}
%% \pxhy@fast@CID{<cid>}
\def\pxhy@fast@CID#1{%
- \expandafter\expandafter\expandafter\pxhy@cid@aux
- \bxjaFastCidToUcsHex{#1}\pxhy@mk{\number#1}%
+ \pxhy@triexpandafter\pxhy@cid@aux\bxjaFastCidToUcsHex{#1}@t{#1}%
}
\ifx\pxhy@Ux\@undefined
- \def\pxhy@cid@aux#1\pxhy@mk#2{%
- \@nameuse{CID+#2}% issue a warning
- \pxhy@print@geta
+ \def\pxhy@cid@aux#1@#2#3{%
+ \pxhy@fallback@num{CID+}#2{#3}%
}
\else
-\def\pxhy@cid@aux#1\pxhy@mk#2{%
+\def\pxhy@cid@aux#1@#2#3{%
\ifnum"#1>\z@
\pxhy@Ux{#1}%
\else
- \@nameuse{CID+#2}%
- \pxhy@print@geta
+ \pxhy@fallback@num{CID+}#2{#3}%
\fi
}
\fi
@@ -1059,11 +1132,30 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
\fi
}
+%% \pxhy@CIDC{<cid>} / \pxhy@CIDK{<cid>} / \pxhy@CIDT{<cid>}
+\def\pxhy@CIDC{\pxhy@fallback@num{CIDC+}f}
+\def\pxhy@CIDK{\pxhy@fallback@num{CIDK+}f}
+\def\pxhy@CIDT{\pxhy@fallback@num{CIDT+}f}
+
+%% \pxhy@dispatch@fallback@cidm
+\@onlypreamble\pxhy@dispatch@fallback@cidm
+\def\pxhy@dispatch@fallback@cidm{%
+ \global\let\pxhy@dispatch@fallback@cidm\relax
+ \ltx@GlobalPrependToMacro\pdfstringdefPreHook{%
+ \ifpxhy@fallback@cidm
+ \let\CIDC\pxhy@CIDC
+ \let\CIDK\pxhy@CIDK
+ \let\CIDT\pxhy@CIDT
+ \fi
+ }%
+}
+
%% enable hooks
\pxhy@hook@after@package{otf}{\pxhy@dispatch@otfcid}
\ifpxhy@otfmacros
\pxhy@hook@after@package{ajmacros}{\pxhy@dispatch@otfmacros}
\fi
+\pxhy@hook@after@package{mlcid}{\pxhy@dispatch@fallback@cidm}
\fi
%--------------------------------------- Extended JIS mapping
@@ -1161,6 +1253,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%%<+> \pxDeclarePdfTextCommand{\CS}{<jis>}{<ucs>}
\@onlypreamble\pxDeclarePdfTextCommand
\newcommand*\pxDeclarePdfTextCommand[3]{%
+ \pxhy@prepare@txtcmd#1%
\pxhy@decl@pdf@tc{#2}{#3}%
{\DeclareTextCommand{#1}{\pxhy@pdfenc}}%
{\pxhy@revoke@pdf@tc{#1}}%
@@ -1169,6 +1262,7 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%%<+> \pxDeclarePdfTextComposite{\CS}{<arg>}{<jis>}{<ucs>}
\@onlypreamble\pxDeclarePdfTextComposite
\newcommand*\pxDeclarePdfTextComposite[4]{%
+ \pxhy@prepare@txtcmd#1%
\pxhy@decl@pdf@tc{#3}{#4}%
{\DeclareTextCompositeCommand{#1}{\pxhy@pdfenc}{#2}}%
{\pxhy@revoke@pdf@tcc{#1}{#2}}%
@@ -1202,8 +1296,8 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%% \pxhy@decl@pdf@tc
\@onlypreamble\pxhy@decl@pdf@tc
\def\pxhy@decl@pdf@tc#1#2{%
- \edef\pxhy@next{{#1}{\ifx\pxhy@mt#2\pxhy@mt FFFD\else#2\fi}}%
- \expandafter\pxhy@get@body\pxhy@next
+ \edef\pxhy@next{{#1}{#2}}%
+ \uppercase\expandafter{\expandafter\pxhy@get@body\pxhy@next}%
\ifx\pxhy@body\@undefined
\let\pxhy@next\@secondoftwo
\else
@@ -1217,21 +1311,60 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
#2{#1}%
}
+%% \pxhy@prepare@txtcmd\CS
+% If \CS is defined and not an encoding-aware command,
+% let \[?\CS] be equivalent to \CS, so that doing
+% \DeclareTextCommand\CS... will keep the original meaning of \CS.
+\@onlypreamble\pxhy@prepare@txtcmd
+\def\pxhy@next#1#2\pxhy@end{%#1='\',#2='cmd'
+ \def\pxhy@prepare@txtcmd##1{%
+ \ifx##1\@undefined\else
+ \def\pxhy@tmpb{\pxhy@prepare@txtcmd@c##1}%
+ \expandafter\pxhy@prepare@txtcmd@a\meaning##1{}->#1 \pxhy@end
+ \fi
+ }%
+ \def\pxhy@prepare@txtcmd@a##1->#1##2 ##3\pxhy@end{%
+ \pxhy@prepare@txtcmd@b##2_{}-#2_\pxhy@end
+ }%
+ \def\pxhy@prepare@txtcmd@b##1-#2_##2\pxhy@end{%
+ % if not an encoding-aware command...
+ \ifx\pxhy@mt##2\pxhy@mt \pxhy@tmpb \fi
+ }%
+}\expandafter\pxhy@next\string\cmd\pxhy@end
+\def\pxhy@prepare@txtcmd@c#1{%
+ \expandafter\let\csname?\string#1\endcsname#1%
+}
+
%% \pxhy@get@body{<jis>}{<ucs>}
\@onlypreamble\pxhy@get@body
+\@onlypreamble\pxhy@get@body@a
+\def\pxhy@get@body#1#2{%
+ \edef\pxhy@next{%
+ {\ifx\pxhy@mt#1\pxhy@mt -1\else \jis"#1\fi}%
+ {\ifx\pxhy@mt#2\pxhy@mt
+ \ifx\pxhy@mt#1\pxhy@mt -1%
+ \else\ifpxhy@uptex \jis"#1%
+ \else\ifpxhy@toucs@avail \toucs\jis"#1%
+ \else -1\fi\fi\fi
+ \else \number"#2%
+ \fi}}%
+ \expandafter\pxhy@get@body@a\pxhy@next
+}
\ifpxhy@uptex %<*upTeX>
- \def\pxhy@get@body#1#2{%
- \pxhy@get@jchar{\ucs"#2}%
+ \def\pxhy@get@body@a#1#2{%
+ \pxhy@get@jchar{\ifnum#2<\z@ "FFFD\else#2\fi}%
\let\pxhy@body\pxhy@jchar
}%
\else\ifpxhy@hy@unicode %<*unicode>
- \def\pxhy@get@body#1#2{%
- \def\pxhy@body{\unichar{"#2}}%
+ \def\pxhy@get@body@a#1#2{%
+ \edef\pxhy@body{%
+ \noexpand\unichar{\ifnum#2<\z@ "FFFD\else#2\fi}}%
}%
\else\ifpxhy@uniescape %<*uniescape>
\def\pxhy@get@body#1#2{%
\ifx\pxhy@mt#1\pxhy@mt
- \def\pxhy@body{\0x#2}%
+ \edef\pxhy@body{\noexpand\0x%
+ \ifx\pxhy@mt#2\pxhy@mt FFFD\else#2\fi}%
\else
\pxhy@get@jchar{\jis"#1}%
\let\pxhy@body\pxhy@jchar
@@ -1239,14 +1372,14 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
}%
\else %<*!>
\chardef\pxhy@cc@jis@only=1
- \def\pxhy@get@body#1#2{%
- \ifx\pxhy@mt#1\pxhy@mt
- \let\pxhy@body\@undefined
- \else
- \pxhy@get@jchar{\jis"#1}%
- \let\pxhy@body\pxhy@jchar
- \fi
- }%
+ \def\pxhy@get@body@a#1#2{%
+ \ifnum#1<\z@
+ \let\pxhy@body\@undefined
+ \else
+ \pxhy@get@jchar{#1}%
+ \let\pxhy@body\pxhy@jchar
+ \fi
+ }%
\fi\fi\fi %</>
%%%%%%%%%%%%%%%%%%%% the definitions
@@ -1695,14 +1828,14 @@ pxhy@fallback@geta = \ifpxhy@fallback@geta true\else false\fi^^J%
%% register to 'disable' list
\ltx@GlobalPrependToMacro\pdfstringdefPreHook{\pxhy@disable@tc@commands}
-\else %<*!textcmd>
+\else %<*!charcmds>
\@onlypreamble\pxDeclarePdfTextCommand
\newcommand*\pxDeclarePdfTextCommand[3]{}
\@onlypreamble\pxDeclarePdfTextComposite
\newcommand*\pxDeclarePdfTextComposite[4]{}
-\fi %</textcmd>
+\fi %</charcmds>
%--------------------------------------- Enable hyperref unicode
\ifpxhy@hy@unicode
diff --git a/macros/jptex/latex/pxjahyper/pxjahyper.tex b/macros/jptex/latex/pxjahyper/pxjahyper.tex
index 20d410ba65..28745c5fe6 100644
--- a/macros/jptex/latex/pxjahyper/pxjahyper.tex
+++ b/macros/jptex/latex/pxjahyper/pxjahyper.tex
@@ -17,8 +17,8 @@
\usepackage{shortvrb}
\MakeShortVerb{\|}
\usepackage[verb]{bxghost}
-\newcommand{\PkgVersion}{1.3}
-\newcommand{\PkgDate}{2023/03/01}
+\newcommand{\PkgVersion}{1.4}
+\newcommand{\PkgDate}{2024/08/14}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -37,7 +37,14 @@
(u){\pLaTeX} + hyperref + dvipdfmxã®çµ„ã¿åˆã‚ã›ã§
日本語をå«ã‚€\Strong{PDF文字列}%
-(“ã—ãŠã‚Šâ€ãªã©ã®æ–‡æ›¸æƒ…å ±ã®æ–‡å­—列)
+(“ã—ãŠã‚Šâ€ãªã©ã®æ–‡æ›¸æƒ…å ±ã®æ–‡å­—列
+\footnote{例ãˆã°ã€|\hypersetup|ã®|pdftitle|キーã«æŒ‡å®šã™ã‚‹æ–‡å­—列ã¯
+ 「PDF文字列ã€ã®ä¸€ç¨®ã§ã‚る。
+ ã¾ãŸã€|\section|命令ã®å¼•æ•°ã®ãƒ†ã‚­ã‚¹ãƒˆã¯
+ 「{\TeX}ã§çµ„版ã™ã‚‹ç‰ˆé¢å‡ºåŠ›ã€ã¨ã€ŒPDF文字列ã€
+ ã®ä¸¡æ–¹ã«ä½¿ã‚れる。
+ 後者ã®ã‚ˆã†ãªç®‡æ‰€ã§ã€Œ{\TeX}ã®ç‰ˆé¢å‡ºåŠ›ã€ã¨ã€ŒPDF文字列ã€ã‚’
+ 別ã«æŒ‡å®šã—ãŸã„å ´åˆã¯|\texorpdfstring|ã¨ã„ã†å‘½ä»¤ãŒåˆ©ç”¨ã§ãる。})
ã‚’ã‚‚ã¤PDF文書を作æˆã™ã‚‹å ´åˆã«å¿…è¦ã¨ãªã‚‹æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ã€‚
\begin{itemize}
\item dvipdfmx用ã®ã€Œtounicode specialã€ã«ã¤ã„ã¦ã€
@@ -69,6 +76,17 @@
\usepackage[オプション,...]{pxjahyper}
\end{verbatim}\end{quote}
+\paragraph{plautopatchã¨ã®é–¢ä¿‚}
+\Pkg{plautopatch}パッケージãŒäº‹å‰ã«èª­ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€
+\Pkg{hyperref}ãŒèª­ã¿è¾¼ã¾ã‚Œã‚‹ã¨ãã®ç›´å¾Œã«è‡ªå‹•çš„ã«\Pkg{pxjahyper}ãŒ
+オプション無ã—ã§èª­ã¿è¾¼ã¾ã‚Œã‚‹ã€‚
+ã‚‚ã—何らã‹ã®ã‚ªãƒ—ションを指定ã—ãŸã„å ´åˆã¯ã€
+\Pkg{hyperref}ã®èª­è¾¼ã‚ˆã‚Šå‰ã«|\PassOptionsToPackage|ã§
+オプションを指定ã™ã‚‹å¿…è¦ãŒã‚る。
+\begin{quote}\small\begin{verbatim}
+\PassOptionsToPackage[nopapersize]{pxjahyper}
+\end{verbatim}\end{quote}
+
\paragraph{使用å¯èƒ½ãªã‚ªãƒ—ション}\mbox{}
\begin{itemize}
\item \Strong{設定キー記述}\Means
@@ -80,17 +98,24 @@
\end{verbatim}\end{quote}
ã¨æŒ‡å®šã™ã‚‹ã¨ã€è¡¨ç¾ä¸èƒ½æ–‡å­—を代替ã™ã‚‹ã‚²ã‚¿æ–‡å­—ãŒå‡ºåŠ›ã•ã‚Œãªããªã‚‹ã€‚
\item \Strong{ドライãƒã‚ªãƒ—ション}\Means
- |dvipdfmx|ã€|dvips|ã€ãŠã‚ˆã³|nodvidriver|%
- (ドライãƒä¾å­˜å‹•ä½œã®ç„¡åŠ¹åŒ–を明示的ã«æŒ‡ç¤ºã€
- ç¾çŠ¶ã§ã¯ã»ã¨ã‚“ã©ã®å‹•ä½œãŒç„¡åŠ¹ã«ãªã‚‹ï¼‰
- ãŒæŒ‡å®šã§ãる。
- \Note 1.0版ã«ãŠã„ã¦|nodvidriver|ã®éžæŽ¨å¥¨ã®åˆ¥åã®|none|ã¯
- \Strong{廃止}ã•ã‚ŒãŸã€‚
- %(0.5版ã‹ã‚‰éžæŽ¨å¥¨ã ã£ãŸã€‚)
-\item |resetdvidriver|(既定)\Means
- ドライãƒã‚ªãƒ—ションを\Pkg{hyperref}ã®ãƒ‰ãƒ©ã‚¤ãƒæŒ‡å®šã‹ã‚‰è‡ªå‹•çš„ã«åˆ¤å®šã™ã‚‹ã€‚
- \Note 1.1版ã«ãŠã„ã¦åå‰ã‚’|auto|ã‹ã‚‰|resetdvidriver|ã«å¤‰æ›´ã—ãŸã€‚
- æ—§åã®|auto|ã¯\Strong{éžæŽ¨å¥¨}ã¨ã™ã‚‹ã€‚
+ 以下ã®å€¤ãŒæŒ‡å®šã§ãる。
+ \begin{itemize}
+ \item |dvipdfmx|
+ \item |dvips|
+ \item |resetdvidriver|(既定)\Means
+ \Pkg{hyperref}ã®ãƒ‰ãƒ©ã‚¤ãƒæŒ‡å®šã‹ã‚‰è‡ªå‹•çš„ã«åˆ¤å®šã™ã‚‹ã€‚
+ \Note 1.1版ã«ãŠã„ã¦åå‰ã‚’|auto|ã‹ã‚‰|resetdvidriver|ã«å¤‰æ›´ã—ãŸã€‚
+ æ—§åã®|auto|%
+ \footnote{1.0版ã§ã¯|autodvidriver|ã¨ã—ã¦ã„ãŸãŒã€
+ ã“ã®æ—§åã‚‚\Strong{éžæŽ¨å¥¨}ã¨ã™ã‚‹ã€‚}%
+ ã¯\Strong{éžæŽ¨å¥¨}ã¨ã™ã‚‹ã€‚
+ \item |nodvidriver|\Means
+ ドライãƒä¾å­˜å‹•ä½œã®ç„¡åŠ¹åŒ–を明示的ã«æŒ‡ç¤ºã™ã‚‹ã€‚
+ ã»ã¨ã‚“ã©ã®å‹•ä½œãŒç„¡åŠ¹ã«ãªã‚‹ã€‚
+ \footnote{1.0版ã«ãŠã„ã¦|nodvidriver|ã®éžæŽ¨å¥¨ã®åˆ¥åã®|none|ã¯
+ \Strong{廃止}ã•ã‚ŒãŸã€‚}
+ %(0.5版ã‹ã‚‰éžæŽ¨å¥¨ã ã£ãŸã€‚)
+ \end{itemize}
\item |tounicode|(既定)\Means
以下ã®2ã¤ã®è¨­å®šã‚’è¡Œã†ã€‚
\begin{enumerate}
@@ -123,7 +148,8 @@
\paragraph{上級者å‘ã‘オプション}\mbox{}
\begin{itemize}
-\item |otfmacros|(既定)\Means
+\item |otfmacros|(既定
+ \footnote{0.6版より既定を|otfmacros|ã«å¤‰æ›´ã—ãŸã€‚})\Means
\Pkg{japanese-otf}付属ã®\Pkg{ajmacros}パッケージãŒæä¾›ã™ã‚‹
文字入力命令(|\ajMaru|ã€|\ajLig|等)をPDF文字列中ã§
“å¯èƒ½ãªé™ã‚Šâ€ä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã€‚
@@ -131,7 +157,6 @@
\Note |otfmacros|を有効ã«ã™ã‚‹å ´åˆã¯|otfcid|も有効ã«ã™ã‚‹å¿…è¦ãŒã‚る。
\item |nootfmacros|\Means
|otfmacros|ã®å¦å®šã€‚
- \Note 0.6版より既定を|otfmacros|ã«å¤‰æ›´ã—ãŸã€‚
\item |otfutf|(既定)\Means
\Pkg{japanese-otf}パッケージã®|\UTF|命令をPDF文字列中ã§
使ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã€‚
@@ -151,17 +176,28 @@
\Note 詳細ã¯\ref{ssec:disablecmds}節をå‚照。
\item |nodisablecmds|\Means
|disablecmds|ã®å¦å®šã€‚
-\item |bigcode|(既定)\Means
+\item |charcmds|(既定)\Means
+ {\LaTeX}標準ã®æ–‡å­—命令をPDF文字列中ã§ä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã€‚
+\item |nocharcmds|\Means
+ |charcmds|ã®å¦å®šã€‚
+\item |bigcode|(既定
+ \footnote{0.3a版より既定を|bigcode|ã«å¤‰æ›´ã—ãŸã€‚})\Means
{\upTeX}ã§ã®ToUnicode CMapã¨ã—ã¦UTF8-UTF16を用ã„る。
%(当該ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå­˜åœ¨ã™ã‚‹å¿…è¦ãŒã‚る。)
\item |nobigcode|\Means
|bigcode|ã®å¦å®šã€‚
{\upTeX}ã§ã®ToUnicode CMapã¨ã—ã¦UTF8-UCS2を用ã„る。
- \Note 0.3a版より既定を|bigcode|ã«å¤‰æ›´ã—ãŸã€‚
-\item |force-unicode|\Means
+\item |jacommentline|(既定)\Means
+ \Pkg{hyperref}ãŒå‡ºåŠ›ã™ã‚‹|.out|ファイルã®å…ˆé ­ã«æ—¥æœ¬èªžã®æ–‡å­—ã‚’å«ã‚€
+ コメント行を出力ã™ã‚‹ã€‚
+ \Note {\pTeX}系エンジンã®ã€Œå…¥åŠ›æ¼¢å­—コード自動判定ã€ã«å¯¾ã™ã‚‹å¯¾ç­–。
+\item |jacommentline|\Means
+ |jacommentline|ã®å¦å®šã€‚
+ \Note ä¸å…·åˆãŒç™ºç”Ÿã—ãŸã¨ãã®ãŸã‚ã«ç„¡åŠ¹åŒ–ã§ãるよã†ã«ã—ã¦ã„る。
+\item |force-unicode|(1.4版ã§\Strong{éžæŽ¨å¥¨})\Means
ã“ã®ã‚ªãƒ—ションã¯ä½•ã‚‚ã—ãªã„。
- \Note {\pLaTeX}ã§ã®â€œunicodeモードâ€ãŒæ­£å¼ã«ã‚µãƒãƒ¼ãƒˆã•ã‚ŒãŸãŸã‚
- ã“ã®ã‚ªãƒ—ションã¯ä¸è¦ã«ãªã£ãŸã€‚
+ \footnote{{\pLaTeX}ã§ã®â€œunicodeモードâ€ãŒæ­£å¼ã«ã‚µãƒãƒ¼ãƒˆã•ã‚ŒãŸãŸã‚
+ ã“ã®ã‚ªãƒ—ションã¯ä¸è¦ã«ãªã£ãŸã€‚}
\end{itemize}
%===========================================================
@@ -185,6 +221,9 @@
\begin{itemize}
\item |fallback=|\Meta{値}\Means
PDF文字列中ã§è¡¨ç¾ä¸èƒ½ãªæ–‡å­—ã«ã¤ã„ã¦ã®ä»£æ›¿å‡ºåŠ›ã®æ–¹æ³•ã‚’指定ã™ã‚‹ã€‚
+ \footnote{1.1版ã§ã¯ãƒ‘ッケージオプション
+ (|fallback-geta|ï¼|fallback-delete|)
+ ã¨ã—ã¦æä¾›ã—ã¦ã„ãŸãŒã€ã“ã®æ–¹å¼ã¯\Strong{éžæŽ¨å¥¨}ã¨ã™ã‚‹ã€‚}
\begin{itemize}
\item |geta|(既定)\Means
表ç¾ä¸èƒ½ãªæ–‡å­—をゲタ記å·ï¼ˆã€“)ã«ç½®ãæ›ãˆã‚‹ã€‚
@@ -193,6 +232,20 @@
\end{itemize}
\Note 以下ã€ãƒ‘ッケージ動作ã®è§£èª¬ä¸­ã§ã€Œã‚²ã‚¿è¨˜å·ã‚’出力ã€ã¨
ã‚ã‚‹å ´åˆã¯å®Ÿéš›ã«ã¯ã“ã®è¨­å®šã«å¾“ã†ã€‚
+\item |fallback-warn=|\Meta{真å½å€¤}%
+ \footnote{真å½å€¤ã¯|true|ï¼|false|ã§æŒ‡å®šã™ã‚‹ã€‚}\Means
+ PDF文字列中ã®è¡¨ç¾ä¸èƒ½ãªæ–‡å­—ã«ã¤ã„ã¦ã€Œã‚²ã‚¿è¨˜å·ã‚’出力ã€ã™ã‚‹éš›ã«
+ 警告を出ã™ã‹ã€‚
+ 既定値ã¯çœŸã€‚
+\item |fallback-cidm=|\Meta{真å½å€¤}\Means
+ \Pkg{japanese-otf}パッケージã®AJ1\Strong{以外}ã®CID入力命令
+ (|\CIDC|・|\CIDK|・|\CIDT|)
+ ã«ã¤ã„ã¦ã€PDF文字列中ã§ã€Œã‚²ã‚¿è¨˜å·ã‚’出力ã€ã™ã‚‹å‹•ä½œã«ç½®ãæ›ãˆã‚‹ã‹ã€‚
+ 既定値ã¯çœŸã€‚
+ \Note ã“れらã®å‘½ä»¤ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ãªï¼ˆæœ¬ãƒ‘ッケージã¨ã¯åˆ¥ã®ï¼‰
+ 何らã‹ã®æ©Ÿèƒ½ã‚’利用ã™ã‚‹å ´åˆã«ã¯å½ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œãªã„。
+ \footnote{ãŸã ã—ã€æœ¬ãƒ‘ッケージã«ã‚ˆã‚‹å†å®šç¾©ã¯â€œå„ªå…ˆåº¦ã‚’下ã’ã¦â€ã„ã‚‹
+ ã®ã§ã€è¨­å®šãŒä¸è¦ã§ã‚ã‚‹å ´åˆã‚‚ã‚る。}
\end{itemize}
%-------------------
@@ -218,14 +271,15 @@ Unicode符å·å€¤å…¥åŠ›ç”¨ã®å‘½ä»¤ãŒä½¿ã£ã¦ã„ã‚‹ã‚‚ã®ã§ã‚る。
\begin{itemize}
\item |out2uni|ã¾ãŸã¯|convbkmk|ãŒæœ‰åŠ¹ã®
å ´åˆã¯ã€ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—表記(|\0xUUUU|)を出力ã™ã‚‹ã€‚
- \item エンジンãŒ{\upLaTeX}ã®å ´åˆã€ã‚ã‚‹ã„ã¯â€œunicodeモードâ€
+ \item エンジンãŒ{\upLaTeX}ã®å ´åˆã€
+ ã‚ã‚‹ã„ã¯\Pkg{hyperref}ã®â€œunicodeモードâ€
(\ref{sec:Unicode-mode}節)ãŒæœ‰åŠ¹ã®å ´åˆã¯ã€
当該ã®Unicode文字自体を書ã„ãŸã®ã¨åŒç­‰ã«ãªã‚‹ã€‚
\item 上記以外ã§ã€{\TeX} Live 2022以é™ã®{\pLaTeX}ã®å ´åˆ
\footnote{正確ã«ã„ã†ã¨ã€|\Uchar|ã¨|\ucs|プリミティブをもã¤
{\TLe-(u)\pTeX}エンジンã§ã‚ã‚‹å ´åˆã€‚}%
- ã¯ã€å½“該ã®Unicode文字ã«å¯¾å¿œã™ã‚‹JIS符å·ç³»ã®æ–‡å­—を書ã„ãŸã®ã¨åŒç­‰ã«ãªã‚‹ã€‚
- JIS符å·ç³»ã«ãªã„文字ã®å ´åˆã¯å‡ºåŠ›ã§ããªã„ã®ã§è­¦å‘Šã‚’出ã—ã ä¸Šã§
+ ã¯ã€å½“該ã®Unicode文字ã«â€œå¯¾å¿œâ€ã™ã‚‹JIS符å·ç³»ã®æ–‡å­—を書ã„ãŸã®ã¨åŒç­‰ã«ãªã‚‹ã€‚
+ “対応â€ã™ã‚‹æ–‡å­—ãŒãªã„å ´åˆã¯å‡ºåŠ›ã§ããªã„ã®ã§
ゲタ記å·ã‚’出力ã™ã‚‹ã€‚
\end{itemize}
\item ã©ã®æ¡ä»¶ã«ã‚‚当ã¦ã¯ã¾ã‚‰ãªã„å ´åˆã¯ã€|\Ux|ã¯ç„¡åŠ¹ã«ãªã‚‹
@@ -249,7 +303,7 @@ PDF文字列中ã®å‹•ä½œãŒä»¥ä¸‹ã®ã‚ˆã†ã«å¤‰æ›´ã•ã‚Œã‚‹ã€‚
|\UTF|もゲタ記å·ã«ãªã‚‹ã€‚}%
ã«ãªã‚‹ã€‚
\item ãれ以外ã®å ´åˆã¯ã€
- 常ã«ï¼ˆè­¦å‘Šã‚’出ã—ãŸä¸Šã§ï¼‰ã‚²ã‚¿è¨˜å·ã‚’出力ã™ã‚‹ã€‚
+ 常ã«ã‚²ã‚¿è¨˜å·ã‚’出力ã™ã‚‹ã€‚
\end{itemize}
\Note |\UTF|命令ã®å¤šè¨€èªžç‰ˆã€
@@ -266,7 +320,7 @@ PDF文字列中ã§|\CID|ãŒâ€œå¯èƒ½ãªé™ã‚Šâ€ä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã€‚
\begin{itemize}
\item 当該ã®AJ1ã®ã‚°ãƒªãƒ•ã«â€œå¯¾å¿œâ€ã™ã‚‹\textbf{å˜ç‹¬ã®}Unicode文字ãŒ
ã‚ã‚Œã°ãれを出力ã—ã€ãªã‘ã‚Œã°
- (警告を出ã—ãŸä¸Šã§ï¼‰ã‚²ã‚¿è¨˜å·ã‚’出力ã™ã‚‹ã€‚
+ ゲタ記å·ã‚’出力ã™ã‚‹ã€‚
\footnote{旧版ã§ã¯å‰Šé™¤ã—ã¦ã„ãŸãŒã€ä»–ã®åŒæ§˜ã®å ´åˆã¨åˆã‚ã›ã‚‹ãŸã‚
1.0版よりゲタ記å·ã‚’出力ã™ã‚‹ä»•æ§˜ã‚’変更ã—ãŸã€‚}
\Note 例ãˆã°ã€|\CID{8226}|(ローマ数字12)ã¯Unicode文字ã®
@@ -275,14 +329,17 @@ PDF文字列中ã§|\CID|ãŒâ€œå¯èƒ½ãªé™ã‚Šâ€ä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã€‚
å˜ç‹¬ã®Unicode文字ãŒãªã„ã®ã§ã€ã‚²ã‚¿è¨˜å·ã«ç½®ãæ›ãˆã‚‰ã‚Œã‚‹ã€‚
\item ãŸã ã—|\Ux|命令(\ref{ssec:ux-command}節å‚照)ãŒ
無効ã«ãªã‚‹å ´åˆã¯ã€ãã‚‚ãã‚‚Unicode文字も出力ã§ããªã„ãŸã‚ã€
- 常ã«ï¼ˆè­¦å‘Šã‚’出ã—ãŸä¸Šã§ï¼‰ã‚²ã‚¿è¨˜å·ã‚’出力ã™ã‚‹ã€‚
- çµå±€æƒ…å ±ã¯æ¬ è½ã™ã‚‹ãŒã€ãã‚Œã§ã‚‚未定義動作(エラーã«ãªã‚Šãˆã‚‹ï¼‰
+ 常ã«ã‚²ã‚¿è¨˜å·ã‚’出力ã™ã‚‹ã€‚
+ çµå±€æƒ…å ±ã¯æ¬ è½ã™ã‚‹ãŒã€ãã‚Œã§ã‚‚未定義動作(エラーã«ãªã‚‹å¯èƒ½æ€§ã‚‚ã‚る)
よりã¯å¥½ã¾ã—ã„ã§ã‚ã‚ã†ã€‚
\end{itemize}
+|\CID|命令ã®å¤šè¨€èªžç‰ˆã€
+ã™ãªã‚ã¡|\CIDC|・|\CIDK|・|\CIDT|命令ã«ã¤ã„ã¦ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œãªã„ã®ã§ã€
+常ã«ã‚²ã‚¿è¨˜å·ã‚’出力ã™ã‚‹ã€‚
+
\Note |otfcid|ã®åˆ©ç”¨ã«ã¯ã€ã‚¨ãƒ³ã‚¸ãƒ³ã®{\eTeX}æ‹¡å¼µãŠã‚ˆã³
\Pkg{etoolbox}ã¨\Pkg{bxjatoucs}パッケージãŒå¿…è¦ã€‚
-\Note |\CID|命令ã®å¤šè¨€èªžç‰ˆã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œãªã„。
\paragraph{ajmacrosパッケージã®å‘½ä»¤}
本パッケージã§|otfmacros|オプションを有効ã«ã—ãŸå ´åˆã¯ã€
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 6827494f25..39b8fb7ad2 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2024-11-01 pre-release 1
+Release 2024-11-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/base/alltt.dtx b/macros/latex-dev/base/alltt.dtx
index 4718c004b4..8fd4ac2db3 100644
--- a/macros/latex-dev/base/alltt.dtx
+++ b/macros/latex-dev/base/alltt.dtx
@@ -40,7 +40,7 @@
%<package>\ProvidesPackage{alltt}
%<driver>\ProvidesFile{alltt.drv}
%\ProvidesFile{alltt.dtx}
- [2024/02/08 v2.0g defines alltt environment]
+ [2024/07/07 v2.0g defines alltt environment]
%
%<*driver>
\documentclass{ltxdoc}
@@ -83,7 +83,7 @@
% Here are some things you may want to do in an \Lenv{alltt}
% environment:
% \begin{itemize}
-% \item Change fonts--e.g., by typing |{\em emphasized text\/}|
+% \item Change fonts--e.g., by typing |\emph{emphasized text}|
%
% \item Insert text from a file \file{foo.tex} by typing
% |\input{foo}|. Beware that each |<return>| starts a new line, so
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index 9dd2202199..1bbc37161d 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index dde0067a4b..ad0035ed91 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt
index a37facbbc9..6a8c41f7fe 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,87 @@ to completeness or accuracy and it contains some references to files that are
not part of the distribution.
================================================================================
+2024-08-12 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * letter.dtx (subsection{The generic letter commands}):
+ Alter sample address in documentation (gh/1439)
+
+2024-08-10 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: reset flattened level in para/restore
+
+2024-07-27 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: (subsection{Tagging support for table/tabular packages}):
+ Two sockets added to store and restore cell data when nesting tables to keep track
+ of multirow settings.
+
+2024-07-27 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: (subsection{Paragraph sockets}): A socket and plug to restore paragraph
+ setting added.
+
+2024-07-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * lttagging.dtx: (subsection{Tagging sockets}): toc-related tagging sockets added.
+
+2024-07-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lttagging.dtx (subsection{Tagging support for table/tabular packages}):
+ Sockets for \cs{cline} leaders added (tagging/134)
+
+2024-07-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltmiscen.dtx (subsection{Environments}):
+ Drop code chunks before adding them to avoid duplication in
+ rollback (gh/1407)
+
+2024-07-06 Yukai Chou <muzimuzhi@gmail.com>
+
+ * ltcmd.dtx (subsection{User functions}):
+ Trim spaces for envname before existence check (gh/1399)
+ (subsection{Declaring commands and environments}):
+ Simplify \__cmd_declare_env:nnnn, use space-trimmed envname directly
+
+2024-06-23 Yukai Chou <muzimuzhi@gmail.com>
+
+ * ltpara.dtx
+ Append \everypar toks to \g__parar_standard_everypar_tl, rollback
+ 2023/06/01 (gh/1386)
+
+2024-06-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltlists.dtx:
+ Changes to \@doendpe, \@endpefalse, and \@endpetrue for
+ new @endpe handling. \if@endpe is now a global switch and
+ migration out of groups is handled via \aftergroup
+
+ * ltmiscen.dtx (subsection{Environments}):
+ Adjust \end<space> for new @endpe handling
+
+ * ltboxes.dtx (section{\LaTeX\ Box commands}):
+ Adjust \color@endgroup for new @endpe handling
+
+2024-06-19 David Carlisle <David.Carlisle@latex-project.org>
+
+ * fontdef.dtx:
+ preload ts1cmr.fd in Unicode engines
+
+2024-06-19 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltkeys.dtx, clsguide.tex
+ Ensure only key name is stored for option handling
+
+2024-06-19 Joseph Wright <Joseph.Wright@latex-project.org>
+ * ltkeys.dtx, clsguide.tex
+ Refactor class option code
+ Add mechanism to exclude class options from package processing
+
+2024-06-17 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltfssbas.dtx: set \tracinglostchars in \showhyphens. gh/1380
+
+2024-06-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx:
+ Clarify syntax of hook names and behavior of hook rules and default
+ hook rules (gh/1227 & gh/1237)
+
2024-06-04 Yukai Chou <muzimuzhi@gmail.com>
* ltclass.dtx (section{Package/class rollback mechanism}):
@@ -23,6 +104,11 @@ not part of the distribution.
This way the user can still alter \PrintDescribeMacro, etc. in the preamble
(gh/1000)
+2024-06-04 Joseph Wright <Joseph.Wright@latex-project.org>
+
+ * ltluatex.dtx:
+ Mark "v" in provides_module() when logging version string
+
2024-06-04 Yukai Chou <muzimuzhi@gmail.com>
* source2e.tex:
diff --git a/macros/latex-dev/base/classes.dtx b/macros/latex-dev/base/classes.dtx
index f7c53f0f71..ce3d902b21 100644
--- a/macros/latex-dev/base/classes.dtx
+++ b/macros/latex-dev/base/classes.dtx
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2024/02/08 v1.4n
+ [2024/06/29 v1.4n
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -257,7 +257,7 @@
%
% \begin{macro}{\@ptsize}
% This control sequence is used to store the second digit of the
-% pointsize we are typesetting in. So, normally, it's value is one
+% pointsize we are typesetting in. So, normally, its value is one
% of 0, 1 or 2.
% \begin{macrocode}
%<*article|report|book>
@@ -362,7 +362,7 @@
% with other packages that use the |\@ptsize| variable to select
% special actions. It makes the declarations of size options less
% than 10pt difficult, although one can probably use \texttt{9}
-% and \texttt{8} assuming that a class wont define both
+% and \texttt{8} assuming that a class won't define both
% \Lopt{8pt} and \Lopt{18pt} options.
%
% \begin{macrocode}
@@ -3122,7 +3122,7 @@
%
% \subsubsection{Theorem}
%
-% This document class does not define it's own theorem environments,
+% This document class does not define its own theorem environments,
% the defaults, supplied by the \LaTeX{} format are available.
%
% \subsubsection{Titlepage}
@@ -3130,12 +3130,12 @@
% \begin{environment}{titlepage}
% In the normal environments, the titlepage environment does nothing
% but start and end a page, and inhibit page numbers. When \LaTeX\ is
-% in two-column mode, the environmont temporarily switches to
+% in two-column mode, the environment temporarily switches to
% one-column mode.
% In the report class, it also resets the page number to one, and
% then, in two-column mode, sets it back to one at the end.
% For the book class the environment makes sure that the title page
-% is on a recto page by issueing a \cs{cleardouplepage}-command.
+% is on a recto page by issuing a \cs{cleardoublepage}-command.
% In compatibility mode, it sets the page number to zero. This is
% incorrect since it results in using the page parameters for a
% right-hand page but it is the way it was.
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index dce87c199f..ba690c8b61 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide-historic.pdf b/macros/latex-dev/base/clsguide-historic.pdf
index ada84a99cd..11e2e186e1 100644
--- a/macros/latex-dev/base/clsguide-historic.pdf
+++ b/macros/latex-dev/base/clsguide-historic.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index cac62ae0c8..9a818eab58 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.tex b/macros/latex-dev/base/clsguide.tex
index 6b9e49c4e8..c7c2ac5e2a 100644
--- a/macros/latex-dev/base/clsguide.tex
+++ b/macros/latex-dev/base/clsguide.tex
@@ -42,7 +42,7 @@
\texttt{clsguide.tex} for full details.}%
}
-\date{2024-05-24}
+\date{2024-06-19}
\NewDocumentCommand\cs{m}{\texttt{\textbackslash\detokenize{#1}}}
\NewDocumentCommand\marg{m}{\arg{#1}}
@@ -841,6 +841,9 @@ The basic properties provided here are
\item \texttt{.code} --- execute arbitrary code
\item \texttt{.if} --- sets a \TeX{} |\if...| switch
\item \texttt{.ifnot} --- sets an inverted \TeX{} |\if...| switch
+ \item \texttt{.pass-to-packages} --- for class options, this specifies
+ whether the option should be treated \enquote{global} (read by packages
+ from the global list); for package options this property has no effect
\item \texttt{.store} --- stores a value in a macro
\item \texttt{.usage} -- defines whether the option can be given only
when loading (\texttt{load}), in the preamble (\texttt{preamble}) or
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index 2a12c635b4..33b81be3e7 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index 39a4172542..6faac8ea41 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc-code.pdf b/macros/latex-dev/base/doc-code.pdf
index e77afc9951..26691eb686 100644
--- a/macros/latex-dev/base/doc-code.pdf
+++ b/macros/latex-dev/base/doc-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.dtx b/macros/latex-dev/base/doc.dtx
index af4d9508e9..4cb8dd6b1c 100644
--- a/macros/latex-dev/base/doc.dtx
+++ b/macros/latex-dev/base/doc.dtx
@@ -34,7 +34,7 @@
%\catcode`\<=14
%<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
%<+package>
-% Any rollback request before 2016-02-15 we try to fullfil with the 2016 version:
+% Any rollback request before 2016-02-15 we try to fulfill with the 2016 version:
%<+package>\DeclareRelease{}{1994-06-01}
%<+package> {doc-2016-02-15.sty}
%<+package>\DeclareRelease{v2.1g}{2016-02-15}
@@ -45,7 +45,7 @@
%<+package>
%<+package>\ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2024/06/04 v3.0q
+%<+package|shortvrb> [2024/06/29 v3.0q
%<+package|shortvrb> Standard LaTeX documentation package V3 (FMi)]
%\catcode`\<=12
%
@@ -836,7 +836,7 @@
%
% All three above declarations are local to the current group.
%
-% Production (or not) of the index (via the |\makeindex| commend) is
+% Production (or not) of the index (via the |\makeindex| command) is
% controlled by using or omitting the following declarations in the
% driver file preamble; if neither is used, no index is produced.
% \DescribeInterfaceMacro\PageIndex Using |\PageIndex| makes all index
@@ -5565,7 +5565,7 @@
% Since version 2.1g, \texttt{doc} creates a \cs{saved@indexname} command
% which in used by \cs{changes}. We now support that as well. The expansion of
% this command depends on whether the documented item is macrolike or not,
-% which we don't know here (it's only know by \cs{NewDocElement}). That's why we
+% which we don't know here (it's only known by \cs{NewDocElement}). That's why we
% need one specific command generating \cs{saved@indexname} the right way for
% every single item. These commands are
% named\cs{@Save\meta{item}IndexName};
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index 4d7ea93b12..6aa3696e77 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index ec53a2406d..d1619e5bef 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index 64fe5b456b..83d5c2d005 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index 8a921641b1..c1a06a9249 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index 86ee185285..85a4799131 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index 39dd0c620d..7491e13250 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fontdef.dtx b/macros/latex-dev/base/fontdef.dtx
index 281add29ef..080cb289e5 100644
--- a/macros/latex-dev/base/fontdef.dtx
+++ b/macros/latex-dev/base/fontdef.dtx
@@ -40,7 +40,7 @@
%<driver, >\ProvidesFile{fontdef.drv}
% \fi
% \ProvidesFile{fontdef.dtx}
- [2024/02/09 v3.0i LaTeX Kernel
+ [2024/07/08 v3.0j LaTeX Kernel
% \iffalse
%<text, > (Text font setup)
%<math, > (Math font setup)
@@ -411,6 +411,18 @@
\endgroup
% \end{macrocode}
%
+% \changes{v3.0j}{2024/06/24}{load ts1 cmr fd file in Unicode engines}
+% Even though Unicode engines default to |lm| load |ts1cmr|
+% as this may be used for fallback for TS1 encoding.
+% \begin{macrocode}
+\ifx\Umathcode\@undefined\else
+\begingroup
+\nfss@catcodes
+\input {ts1cmr.fd}
+\endgroup
+\fi
+% \end{macrocode}
+%
% Even with all the precautions it is still possible that NFSS will
% run into problems, for example, when a |.fd| file contains
% corrupted data. To guard against such cases NFSS has a very
@@ -527,7 +539,6 @@
%<*text|latexrelease>
%<latexrelease>\IncludeInRelease{2020/02/02}%
%<latexrelease> {\updefault}{font defaults change}%
-% \begin{macrocode}
\renewcommand\updefault{up}
% \end{macrocode}
% We append \cs{@empty} to the series value so that we can detect
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index da13c1f547..67da94e463 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index e143a42fd7..7e1c740891 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index 5343d44527..a7aa3df27d 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lamport-manual.pdf b/macros/latex-dev/base/lamport-manual.pdf
index 9b8a342b03..8a791972b4 100644
--- a/macros/latex-dev/base/lamport-manual.pdf
+++ b/macros/latex-dev/base/lamport-manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.dtx b/macros/latex-dev/base/latexrelease.dtx
index eeda0f8d55..5b5c3648a4 100644
--- a/macros/latex-dev/base/latexrelease.dtx
+++ b/macros/latex-dev/base/latexrelease.dtx
@@ -40,7 +40,7 @@
%<*latexrelease>
% \fi
% \ProvidesFile{latexrelease.dtx}
- [2022/11/14 v1.0p LaTeX release emulation and tests
+ [2024/08/11 v1.0p LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
% \iffalse
%</latexrelease>
@@ -507,7 +507,7 @@
% \end{macro}
%
% \changes{v1.0c}{2015/02/19}{Swap argument order}
-% \changes{v1.0k}{2018/05/08}{reset \cs{\requestedLaTeXdate} for current
+% \changes{v1.0k}{2018/05/08}{reset \cs{requestedLaTeXdate} for current
% and latest options, github issue 43}
% \begin{macrocode}
\DeclareOption*{%
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index 57b36aae7a..14a653dd8f 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index 16190c92a3..7fd97ce048 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
index 0a016ec069..16d7d4edcb 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.dtx b/macros/latex-dev/base/letter.dtx
index 4df9e5ead6..dde59f40e4 100644
--- a/macros/latex-dev/base/letter.dtx
+++ b/macros/latex-dev/base/letter.dtx
@@ -45,7 +45,7 @@
%<*driver>
\ProvidesFile{letter.drv}
%</driver>
- [2021/12/07 v1.3c
+ [2024/08/12 v1.3c
%<+letter> Standard LaTeX document class]
% \end{macrocode}
%
@@ -838,9 +838,10 @@
% $1$, with footnotes starting from $1$ as well.
% (The first page is unnumbered.) It has a single argument, which
% is the addressee and his address, as in
+% \changes{v1.3c}{2024/08/12}{Alter sample address (gh/1439)}
%\begin{verbatim}
% \begin{letter}{Sam Jones \\
-% Institute for Retarded Study\\
+% Institute for Trivial Study\\
% Princeton, N.J.}
%\end{verbatim}
% Local declarations, such as |\address|, can follow the
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index b10f7aac5e..80e70710a3 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
index 85aaa66a3a..8d95c2aa92 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf
index 36a2dfddd6..37bfdfa5e1 100644
--- a/macros/latex-dev/base/lppl.pdf
+++ b/macros/latex-dev/base/lppl.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltboxes.dtx b/macros/latex-dev/base/ltboxes.dtx
index 9852bc5940..e3620ef1ae 100644
--- a/macros/latex-dev/base/ltboxes.dtx
+++ b/macros/latex-dev/base/ltboxes.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2024/06/10 v1.4g LaTeX Kernel (Box Commands)]
+ [2024/06/23 v1.4h LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -456,9 +456,6 @@
% \begin{macro}{\color@begingroup}
% \changes{v1.0b}{1994/03/14}
% {macro added for color support}
-% \begin{macro}{\color@endgroup}
-% \changes{v1.0b}{1994/03/14}
-% {macro added for color support}
% \begin{macro}{\color@setgroup}
% \changes{v1.0f}{1994/05/11}
% {macro added for color support}
@@ -491,7 +488,6 @@
%<latexrelease>\IncludeInRelease{2021/06/01}%
%<latexrelease> {\color@begingroup}{color group settings}%
\let\color@begingroup\begingroup
-\def\color@endgroup{\endgraf\endgroup}
\def\color@setgroup{\color@begingroup} % changed further in color package
\let\normalcolor\relax % remains untouched; only changed in a color package
\def\color@hbox{\hbox\bgroup\color@begingroup}
@@ -506,7 +502,6 @@
%<latexrelease> {\color@begingroup}{color group settings}%
%<latexrelease>
%<latexrelease>\let\color@begingroup\relax
-%<latexrelease>\let\color@endgroup\relax
%<latexrelease>\let\color@setgroup\relax
%<latexrelease>\let\normalcolor\relax
%<latexrelease>\let\color@hbox\relax
@@ -522,7 +517,51 @@
% \end{macro}
% \end{macro}
% \end{macro}
+
+
+
+% \begin{macro}{\color@endgroup}
+% This macro is separated out because it received an update in 2024,
+% so requires its own rollback.
+% \changes{v1.0b}{1994/03/14}
+% {macro added for color support}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2024/11/01}%
+%<latexrelease> {\color@endgroup}{color group settings}%
+% \end{macrocode}
+% Beside \cs{endgraf} for handling vertical boxes we also reset
+% \cs{if@endpe} as we are leaving the context.
+% \changes{v1.4h}{2024/06/23}{Adjust for new \texttt{@endpe} handling}
+% \begin{macrocode}
+\def\color@endgroup{\endgraf\@endpefalse\endgroup}
+%<latexrelease>
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2021/06/01}%
+%<latexrelease> {\color@endgroup}{color group settings}%
+%<latexrelease>\def\color@endgroup{\endgraf\endgroup}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\color@endgroup}{color group settings}%
+%<latexrelease>
+%<latexrelease>\let\color@endgroup\relax
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
% \end{macro}
+
+
+
%
% \begin{macro}{\newsavebox}
% \changes{v0.1a}{1993/12/03}
diff --git a/macros/latex-dev/base/ltcmd.dtx b/macros/latex-dev/base/ltcmd.dtx
index 69bd162e56..eccb104bb9 100644
--- a/macros/latex-dev/base/ltcmd.dtx
+++ b/macros/latex-dev/base/ltcmd.dtx
@@ -34,8 +34,8 @@
%%% From File: ltcmd.dtx
%
% \begin{macrocode}
-\def\ltcmdversion{v1.2e}
-\def\ltcmddate{2024-04-17}
+\def\ltcmdversion{v1.2f}
+\def\ltcmddate{2024-07-06}
% \end{macrocode}
%
%<*driver>
@@ -620,31 +620,51 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_declare_env:nnnn}
+% \begin{macro}{\@@_declare_env:nnnn, \@@_declare_env:ennn}
+% \changes{v1.2f}{2024/07/06}{Use space-trimmed envname directly (gh/1399)}
% \begin{macro}{\@@_declare_env_internal:nnnn}
+% \begin{macro}{\@@_set_environment_end:n}
% The lead-off to creating an environment is much the same as that for
% creating a command: issue the appropriate message, store the argument
% specification then hand off to an internal function.
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2024/11/01}{\@@_declare_env:nnnn}%
+%<latexrelease> {Use~space-trimmed~envname~directly}
\cs_new_protected:Npn \@@_declare_env:nnnn #1#2
{
- \str_set:Nx \l_@@_environment_str {#1}
- \str_set:Nx \l_@@_environment_str
- { \tl_trim_spaces:o { \l_@@_environment_str } }
- \cs_if_exist:cTF { \l_@@_environment_str }
- {
- \msg_info:nnxx { cmd } { redefine-env }
- { \l_@@_environment_str } { \tl_to_str:n {#2} }
- }
- {
- \msg_info:nnxx { cmd } { define-env }
- { \l_@@_environment_str } { \tl_to_str:n {#2} }
- }
+ \str_set:Nn \l_@@_environment_str {#1}
+ \cs_if_exist:cTF { #1 }
+ { \msg_info:nnnn { cmd } { redefine-env } { #1 } { #2 } }
+ { \msg_info:nnnn { cmd } { define-env } { #1 } { #2 } }
\bool_set_false:N \l_@@_expandable_bool
\bool_set_true:N \l_@@_environment_bool
- \exp_args:NV \@@_declare_env_internal:nnnn
- \l_@@_environment_str {#2}
+ \@@_declare_env_internal:nnnn {#1} {#2}
}
+\cs_generate_variant:Nn \@@_declare_env:nnnn { e }
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2024/06/01}{\@@_declare_env:nnnn}%
+%<latexrelease> {Use~space-trimmed~envname~directly}
+%<latexrelease>\cs_new_protected:Npn \@@_declare_env:nnnn #1#2
+%<latexrelease> {
+%<latexrelease> \str_set:Nx \l_@@_environment_str {#1}
+%<latexrelease> \str_set:Nx \l_@@_environment_str
+%<latexrelease> { \tl_trim_spaces:o { \l_@@_environment_str } }
+%<latexrelease> \cs_if_exist:cTF { \l_@@_environment_str }
+%<latexrelease> {
+%<latexrelease> \msg_info:nnxx { cmd } { redefine-env }
+%<latexrelease> { \l_@@_environment_str } { \tl_to_str:n {#2} }
+%<latexrelease> }
+%<latexrelease> {
+%<latexrelease> \msg_info:nnxx { cmd } { define-env }
+%<latexrelease> { \l_@@_environment_str } { \tl_to_str:n {#2} }
+%<latexrelease> }
+%<latexrelease> \bool_set_false:N \l_@@_expandable_bool
+%<latexrelease> \bool_set_true:N \l_@@_environment_bool
+%<latexrelease> \exp_args:NV \@@_declare_env_internal:nnnn
+%<latexrelease> \l_@@_environment_str {#2}
+%<latexrelease> }
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% Creating a document environment requires a few more steps than creating
% a single command. In order to pass the arguments of the command to the
@@ -685,6 +705,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Structure of \pkg{xparse} commands}
%
@@ -5022,36 +5043,109 @@
%
% \begin{macro}{\NewDocumentEnvironment}
% \changes{v1.0h}{2021/08/27}{Check for end-of-environment command}
+% \changes{v1.2f}{2024/07/06}{Trim spaces from envname first (gh/1399)}
% \begin{macro}{\RenewDocumentEnvironment}
% \begin{macro}{\ProvideDocumentEnvironment}
% \begin{macro}{\DeclareDocumentEnvironment}
-% Very similar for environments.
-% \begin{macrocode}
+% \begin{macro}{\@@_new_env:nnnn, \@@_renew_env:nnnn, \@@_provide_env:nnnn}
+% \begin{macro}{\@@_new_env:ennn, \@@_renew_env:ennn, \@@_provide_env:ennn}
+% Very similar for environments. Trim spaces from user-specified
+% \meta{envname}, do existence check then hand off to
+% \cs{@@_declare_env:nnnn}.
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2024/11/01}{\NewDocumentEnvironment}%
+%<latexrelease> {Trim~spaces~from~envname~first}
\cs_new_protected:Npn \NewDocumentEnvironment #1#2#3#4
{
+ \@@_new_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
+ {
+ \@@_renew_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
+ {
+ \@@_provide_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+\cs_new_protected:Npn \DeclareDocumentEnvironment #1#2#3#4
+ {
+ \@@_declare_env:ennn { \tl_trim_spaces:e {#1} } {#2} {#3} {#4}
+ }
+% \end{macrocode}
+% Each of \cs[no-index]{@@_(new|renew|provide)_env:nnnn} is curried.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_new_env:nnnn #1
+ {
\cs_if_exist:cTF {#1}
- { \msg_error:nnx { cmd } { env-already-defined } {#1} }
+ {
+ \msg_error:nnx { cmd } { env-already-defined } {#1}
+ \use_none:nnn
+ }
{
\cs_if_exist:cTF { end #1 }
- { \msg_error:nnx { cmd } { env-end-already-defined } {#1} }
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+ {
+ \msg_error:nnx { cmd } { env-end-already-defined } {#1}
+ \use_none:nnn
+ }
+ { \@@_declare_env:nnnn {#1} }
}
}
-\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
+\cs_new_protected:Npn \@@_renew_env:nnnn #1
{
\cs_if_exist:cTF {#1}
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
- { \msg_error:nnx { cmd } { env-undefined } {#1} }
+ { \@@_declare_env:nnnn {#1} }
+ {
+ \msg_error:nnx { cmd } { env-undefined } {#1}
+ \use_none:nnn
+ }
}
-\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
- { \cs_if_exist:cF {#1} { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} } }
-\cs_new_protected:Npn \DeclareDocumentEnvironment #1#2#3#4
- { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+\cs_new_protected:Npn \@@_provide_env:nnnn #1
+ {
+ \cs_if_exist:cTF {#1}
+ { \use_none:nnn }
+ { \@@_declare_env:nnnn {#1} }
+ }
+\cs_generate_variant:Nn \@@_new_env:nnnn { e }
+\cs_generate_variant:Nn \@@_renew_env:nnnn { e }
+\cs_generate_variant:Nn \@@_provide_env:nnnn { e }
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2024/06/01}{\NewDocumentEnvironment}%
+%<latexrelease> {Trim~spaces~from~envname~first}
+%<latexrelease>\cs_new_protected:Npn \NewDocumentEnvironment #1#2#3#4
+%<latexrelease> {
+%<latexrelease> \cs_if_exist:cTF {#1}
+%<latexrelease> { \msg_error:nnx { cmd } { env-already-defined } {#1} }
+%<latexrelease> {
+%<latexrelease> \cs_if_exist:cTF { end #1 }
+%<latexrelease> { \msg_error:nnx { cmd } { env-end-already-defined } {#1} }
+%<latexrelease> { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+%<latexrelease> }
+%<latexrelease> }
+%<latexrelease>\cs_new_protected:Npn \RenewDocumentEnvironment #1#2#3#4
+%<latexrelease> {
+%<latexrelease> \cs_if_exist:cTF {#1}
+%<latexrelease> { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+%<latexrelease> { \msg_error:nnx { cmd } { env-undefined } {#1} }
+%<latexrelease> }
+%<latexrelease>\cs_new_protected:Npn \ProvideDocumentEnvironment #1#2#3#4
+%<latexrelease> { \cs_if_exist:cF {#1} { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} } }
+%<latexrelease>\cs_new_protected:Npn \DeclareDocumentEnvironment #1#2#3#4
+%<latexrelease> { \@@_declare_env:nnnn {#1} {#2} {#3} {#4} }
+%<latexrelease>\cs_undefine:N \@@_new_env:nnnn
+%<latexrelease>\cs_undefine:N \@@_new_env:ennn
+%<latexrelease>\cs_undefine:N \@@_renew_env:nnnn
+%<latexrelease>\cs_undefine:N \@@_renew_env:ennn
+%<latexrelease>\cs_undefine:N \@@_provide_env:nnnn
+%<latexrelease>\cs_undefine:N \@@_provide_env:ennn
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\NewExpandableDocumentCommand}
% \begin{macro}{\RenewExpandableDocumentCommand}
diff --git a/macros/latex-dev/base/ltcmdhooks-code.pdf b/macros/latex-dev/base/ltcmdhooks-code.pdf
index 94d74cd3b0..155b24684a 100644
--- a/macros/latex-dev/base/ltcmdhooks-code.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks-doc.pdf b/macros/latex-dev/base/ltcmdhooks-doc.pdf
index 6b2db4b7d6..94299589ed 100644
--- a/macros/latex-dev/base/ltcmdhooks-doc.pdf
+++ b/macros/latex-dev/base/ltcmdhooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltcmdhooks.dtx b/macros/latex-dev/base/ltcmdhooks.dtx
index f8a8699d7e..e8793817df 100644
--- a/macros/latex-dev/base/ltcmdhooks.dtx
+++ b/macros/latex-dev/base/ltcmdhooks.dtx
@@ -20,7 +20,7 @@
%<*driver>
% \fi
\ProvidesFile{ltcmdhooks.dtx}
- [2024/04/17 v1.0j LaTeX Kernel (Command hooks)]
+ [2024/07/08 v1.0j LaTeX Kernel (Command hooks)]
% \iffalse
%
\documentclass{l3doc}
@@ -1530,6 +1530,7 @@
%<latexrelease> {cmd~hooks~with~args}
\cs_new_protected:Npn \@@_patch_retokenize:Nnnn #1 #2 #3 #4
{
+% \end{macrocode}
% Here, when patching by retokenization, we can only guess the number
% of arguments of the macro.
% \changes{v1.0h}{2023/05/21}
diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index c58f34fa2d..794b36875b 100644
--- a/macros/latex-dev/base/ltfilehook-code.pdf
+++ b/macros/latex-dev/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf
index 89da01c33e..36650d6c7b 100644
--- a/macros/latex-dev/base/ltfilehook-doc.pdf
+++ b/macros/latex-dev/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index 648e3e1b8b..2c6b96049b 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2024/02/08 v2.3c LaTeX Kernel (Final Settings)]
+ [2024/07/08 v2.3c LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -930,7 +930,7 @@
%
% \begin{macrocode}
%<*2ekernel>
-% \begin{macrocode}
+% \end{macrocode}
%
% We temporarily define |\reserved@a| to apply |\reserved@c| to all the
% numbers in the range of its arguments.
diff --git a/macros/latex-dev/base/ltfssbas.dtx b/macros/latex-dev/base/ltfssbas.dtx
index df02a5749a..387214e947 100644
--- a/macros/latex-dev/base/ltfssbas.dtx
+++ b/macros/latex-dev/base/ltfssbas.dtx
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssbas.dtx}
- [2024/02/08 v3.2l LaTeX Kernel (NFSS Basic Macros)]
+ [2024/06/17 v3.2m LaTeX Kernel (NFSS Basic Macros)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -2111,6 +2111,8 @@
% {Suppress unnecessary error when used in preamble}
% \changes{v3.2a}{2017/01/10}
% {Add version of \cs{showhyphens} that works with Xe\TeX.}
+% \changes{v3.2m}{2024/06/17}
+% {set \cs{tracinglostchars} to 0 in \cs{showhyphens}}
% The |\showhyphens| command must be redefined since the version in
% \texttt{plain.tex} uses |\tenrm|. We have also made some further
% adjustments for its use in \LaTeX.
@@ -2142,10 +2144,10 @@
% horizontal list with explicit hyphens to generate the display. Note
% that the |lmr| OpenType font is forced, this works even if the
% characters are not in the font as hyphenation is attempted due to
-% the width of the space and hyphen character. It may generate
+% the width of the space and hyphen character. It would generate
% spurious Missing Character warnings in the log, these are however
-% suppressed from the terminal output by ensuring that
-% |\tracingonline| is locally zero.
+% suppressed from the terminal and log output by ensuring that
+% |\tracinglostchars| is locally zero.
% \begin{macrocode}
\DeclareRobustCommand\showhyphens[1]{%
\setbox0\vbox{%
@@ -2154,6 +2156,7 @@
\hbadness\@M
\hfuzz\maxdimen
\tracingonline\z@
+ \tracinglostchars\z@
\everypar={}%
\leftskip\z@skip
\rightskip\z@skip
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index 94956126d3..979f930586 100644
--- a/macros/latex-dev/base/lthooks-code.pdf
+++ b/macros/latex-dev/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf
index 9a4f920b03..ecd0c17206 100644
--- a/macros/latex-dev/base/lthooks-doc.pdf
+++ b/macros/latex-dev/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx
index d282ff841c..aed23ab16d 100644
--- a/macros/latex-dev/base/lthooks.dtx
+++ b/macros/latex-dev/base/lthooks.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{lthooks.dtx}
- [2024/04/22 v1.1h LaTeX Kernel (hooks)]
+ [2024/07/08 v1.1h LaTeX Kernel (hooks)]
% \iffalse
%
\documentclass{l3doc}
@@ -130,6 +130,9 @@
%
% The \meta{hook} can be specified using the dot-syntax to denote
% the current package name. See section~\ref{sec:default-label}.
+% The string \texttt{??} can't be used as a hook name because it
+% has a special significance as a placeholder in hook rules.
+%
% \end{function}
%
% \begin{function}{\NewReversedHook}
@@ -751,8 +754,6 @@
% given \meta{hook}. If \meta{hook} is \texttt{??} this defines a default
% relation for all hooks that use the two labels, i.e., that have
% chunks of code labeled with \meta{label1} and \meta{label2}.
-% Rules specific to a given hook take precedence over default
-% rules that use \texttt{??} as the \meta{hook}.
%
% Currently, the supported relations are the following:
% \begin{itemize}
@@ -793,9 +794,17 @@
%
% \end{itemize}
% There can only be a single relation between two labels for a
-% given hook,
-% i.e., a later \cs{DeclareHookRule} overwrites any previous
-% declaration.
+% given hook, i.e., a later \cs{DeclareHookRule} overwrites any
+% previous declaration. In all cases rules specific to a given
+% hook take precedence over default rules that use \texttt{??} as
+% the \meta{hook}.
+%
+% If a default rule is applied, it is done before reversing the
+% label order in a reversed hook, e.g., \texttt{before} in a
+% default rule effectively becomes \texttt{after} in such a hook.
+% In contrast, a rule for a specific hook is always applied to the
+% state after any reversal (i.e., the state you see when using
+% \cs{ShowHook} on that hook).
%
% The \meta{hook} and \meta{label} can be specified using the
% dot-syntax to denote the current package name.
@@ -826,6 +835,16 @@
% (Technically it is just a shorthand for using \cs{DeclareHookRule}
% with \texttt{??} as the hook name.)
%
+% If such a rule is applied to a reversed
+% hook it behaves as if the rule is reversed (e.g.,
+% \texttt{after} becomes \texttt{before})
+% because those rules are applied first and then the order is reversed.
+% The rationale is that in hook pairs (in which the ordering in one
+% is reversed) default rules have to be reversed too in nearly all
+% scenarios. If this is not the case, a default rule can't be used
+% or has to be overwritten with an explicit \cs{DeclareHookRule}
+% for that specific hook.
+%
% Declaring default rules is only supported in the document
% preamble.\footnotemark{}
%
@@ -1411,7 +1430,7 @@
% This is helpful if you have a pair of hooks where you expect to see
% code added that involves grouping, e.g., starting an environment
% in the first and closing that environment in the second hook.
-% To give a somewhat contrived example\footnote{there are simpler
+% To give a somewhat contrived example\footnote{There are simpler
% ways to achieve the same effect.}, suppose there is a package
% adding the following:
%\begin{verbatim}
@@ -1457,9 +1476,14 @@
% > package-too, package-1.
%\end{verbatim}
%
-% The reversal of the execution order happens before applying any
-% rules, so if you alter the order you will probably have to alter
-% it in both hooks, not just in one, but that depends on the use case.
+% If there is a matching default rule (done with
+% \cs{DeclareDefaultHookRule} or with \texttt{??} for the hook
+% name) then this default rule is applied before the reversal so that the order
+% in the reversed hook mirrors the one in the normal hook. However,
+% all rules specific to a hook happen always after the reversal of the
+% execution order, so if you alter the order you will probably have
+% to alter it in both hooks, not just in one, but that depends on
+% the use case.
%
%
%
@@ -1910,6 +1934,14 @@
% right sequence.
%
% \end{description}
+%
+% Given that these generic hook names involve \texttt{/} as part of
+% their name they would not work if one tries to define an
+% environment using a name that involves a
+% \texttt{/}.\footnote{Officially, \LaTeX{} names for environments
+% should only consist of a sequence of letters, numbers, and the
+% character \texttt{*}, i.e., this is not a new restriction.}
+%
% Generic environment hooks are never one-time hooks even with
% environments that are supposed to appear only once in a
% document.\footnote{Thus if one adds code to such hooks after the
@@ -7601,6 +7633,7 @@
% \begin{macrocode}
\NewDocumentCommand \SetDefaultHookLabel { m }
{ \@@_set_default_hook_label:n {#1} }
+% \end{macrocode}
%
% The label is only automatically updated with \cs{@onefilewithoptions}
% (\cs{usepackage} and \cs{documentclass}), but some packages, like
diff --git a/macros/latex-dev/base/ltkeys.dtx b/macros/latex-dev/base/ltkeys.dtx
index 34a0ab4b47..a9e430206b 100644
--- a/macros/latex-dev/base/ltkeys.dtx
+++ b/macros/latex-dev/base/ltkeys.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltkeys.dtx}
- [2024/01/13 v1.0m LaTeX Kernel (Keyval options)]
+ [2024/06/20 v1.0o LaTeX Kernel (Keyval options)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{ltkeys.dtx}
@@ -73,6 +73,9 @@
% \item \texttt{.code} --- execute arbitrary code
% \item \texttt{.if} --- sets a \TeX{} \cs{if...} switch
% \item \texttt{.ifnot} --- sets an inverted \TeX{} \cs{if...} switch
+% \item \texttt{.pass-to-packages} --- for class options, this specifies
+% whether the option should be treated \enquote{global} (read by packages
+% from the global list); for package options this property has no effect
% \item \texttt{.store} --- stores a value in a macro
% \item \texttt{.usage} -- defines whether the option can be given only
% when loading (\texttt{load}), in the preamble (\texttt{preamble}) or
@@ -182,12 +185,74 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{.pass-to-packages}
+% \changes{v1.0n}{2024/06/19}{New key property}
+% \begin{macro}{\@@_scope:n}
+% \changes{v1.0n}{2024/06/19}{New function}
+% \begin{macro}{\@@_scope:N}
+% \changes{v1.0n}{2024/06/19}{New function}
+% \changes{v1.0o}{2024/06/20}{Ensure only key name is stored}
+% Used to force options to be global: as this property (uniquely) has
+% an \emph{optional} value, there is a bit of work to do.
+% \begin{macrocode}
+\cs_new_protected:cpn { \c_@@_props_root_str .pass-to-packages }
+ {
+ \bool_if:NTF \l_@@_no_value_bool
+ { \@@_scope:n { true } }
+ { \@@_scope:n }
+ }
+\cs_new_protected:Npn \@@_scope:n #1
+ {
+ \str_case:nnF {#1}
+ {
+ { true }
+ { \@@_scope:N \clist_put_right:NV }
+ { false }
+ { \@@_scope:N \clist_remove_all:NV }
+ }
+ {
+ \msg_error:nnnn { keys }
+ { choice-unknown }
+ { .pass-to-packages }
+ {#1}
+ }
+ }
+\cs_new_protected:Npn \@@_scope:N #1
+ {
+ \exp_after:wN \@@_find_key_module:wNN
+ \l_keys_path_str \s_@@_stop
+ \l_keys_key_tl \l_keys_key_str
+ #1 \l_@@_forced_global_clist \l_keys_key_str
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Main mechanism}
%
% \begin{macrocode}
+\cs_generate_variant:Nn \clist_if_in:NnT { Ne }
+\cs_generate_variant:Nn \clist_if_in:NnTF { Ne }
\cs_generate_variant:Nn \clist_put_right:Nn { Nv }
% \end{macrocode}
%
+% \begin{macro}{\l_@@_class_only_clist}
+% \changes{v1.0n}{2024/06/19}{New variable}
+% Used to track class-only options.
+% \begin{macrocode}
+\clist_new:N \l_@@_class_only_clist
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_forced_global_clist}
+% \changes{v1.0n}{2024/06/19}{New variable}
+% Used to force options to be global.
+% \begin{macrocode}
+\clist_new:N \l_@@_forced_global_clist
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\l_@@_options_clist}
% A single list is used for all options, into which they are collected
% before processing.
@@ -295,33 +360,34 @@
% \changes{v1.0h}{2022/06/19}{Further work on handling of option removal}
% \changes{v1.0h}{2022/06/20}{Use raw options data}
% \changes{v1.0m}{2024/01/13}{Trim spaces off key names}
+% \changes{v1.0n}{2024/06/19}{Refactor function}
% \begin{macro}{\@@_options_class:nnn}
% \changes{v1.0h}{2022/06/20}{New function}
% \changes{v1.0i}{2022/07/05}{Correct naming of raw class options storage}
% \changes{v1.0l}{2022/10/22}{Correct handling of unused option list}
+% \changes{v1.0n}{2024/06/19}{Refactor function}
+% \changes{v1.0n}{2024/06/19}{Track options used by classes}
+% \begin{macro}{\@@_options_class:nn}
+% \changes{v1.0n}{2024/06/19}{New function}
% For classes, each option (stripped of any content after |=|)
% is checked for existence as a key. If found, the option is added to
% the combined list for processing. On the other hand, unused options
-% are stored up in \cs{@unusedoptionlist}. Before any of that, though,
-% there is a simple check to see if there is an |unknown| key. If there
-% is, then \emph{everything} will match and the mapping can be skipped.
+% are stored up in \cs{@unusedoptionlist}. An earlier version of
+% this code checked for the \texttt{unknown} key just once and
+% if found short-cutted the loop: that though makes handling more
+% complex situations harder, so we take the performance hit instead.
+% Options used by classes are tracked but the catch-all \texttt{unknown}
+% is excluded (hence not using a lazy evaluation for the key testing).
% \begin{macrocode}
\cs_new_protected:Npn \@@_options_class:n #1
{
\cs_if_free:cF { @raw@opt@ \@currname . \@currext }
{
- \keys_if_exist:nnTF {#1} { unknown }
+ \clist_map_inline:cn { @raw@opt@ \@currname . \@currext }
{
- \clist_put_right:Nv \l_@@_options_clist
- { @raw@opt@ \@currname . \@currext }
- }
- {
- \clist_map_inline:cn { @raw@opt@ \@currname . \@currext }
- {
- \exp_args:Ne \@@_options_class:nnn
- { \tl_trim_spaces:e { \@@_remove_equals:n {##1} } }
- {##1} {#1}
- }
+ \exp_args:Ne \@@_options_class:nnn
+ { \tl_trim_spaces:e { \@@_remove_equals:n {##1} } }
+ {##1} {#1}
}
}
}
@@ -329,17 +395,27 @@
{
\keys_if_exist:nnTF {#3} {#1}
{
- \clist_put_right:Nn \l_@@_options_clist {#2}
- \clist_remove_all:Nn \@unusedoptionlist {#1}
+ \@@_options_class:nn {#1} {#2}
+ \clist_put_right:Ne \l_@@_class_only_clist { \tl_to_str:n {#1} }
}
{
- \clist_if_in:NnF \@unusedoptionlist {#1}
- { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ \keys_if_exist:nnTF {#3} { unknown }
+ { \@@_options_class:nn {#1} {#2} }
+ {
+ \clist_if_in:NnF \@unusedoptionlist {#1}
+ { \clist_put_right:Nn \@unusedoptionlist {#1} }
+ }
}
}
+\cs_new_protected:Npn \@@_options_class:nn #1#2
+ {
+ \clist_remove_all:Nn \@unusedoptionlist {#1}
+ \clist_put_right:Nn \l_@@_options_clist {#2}
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_options_package:n}
% \changes{v1.0g}{2022/06/16}{Better handling of option removal}
@@ -348,6 +424,9 @@
% \changes{v1.0m}{2024/01/13}{Trim spaces off key names}
% \begin{macro}{\@@_options_package:nnn}
% \changes{v1.0h}{2022/06/19}{New function}
+% \changes{v1.0n}{2024/06/19}{Skip options given to packages}
+% \begin{macro}{\@@_options_package:nn}
+% \changes{v1.0n}{2024/06/19}{New functions}
% For global options when processing a package, the tasks are slightly
% different from those for a class. The check is the same, but here
% there is nothing to do if the option is not applicable. Each valid
@@ -362,17 +441,31 @@
{##1} {#1}
}
}
+% \end{macrocode}
+% The forced-global test here needs to use \cs{tl_to_str:n} as the data come
+% from a key name, which is always a string.
+% \begin{macrocode}
\cs_new_protected:Npn \@@_options_package:nnn #1#2#3
{
\keys_if_exist:nnT {#3} {#1}
{
- \clist_put_right:Nn \l_@@_options_clist {#2}
- \clist_remove_all:Nn \@unusedoptionlist {#1}
+ \clist_if_in:NeTF \l_@@_class_only_clist { \tl_to_str:n {#1} }
+ {
+ \clist_if_in:NeT \l_@@_forced_global_clist { \tl_to_str:n {#1} }
+ { \@@_options_package:nn {#1} {#2} }
+ }
+ { \@@_options_package:nn {#1} {#2} }
}
}
+\cs_new_protected:Npn \@@_options_package:nn #1#2
+ {
+ \clist_put_right:Nn \l_@@_options_clist {#2}
+ \clist_remove_all:Nn \@unusedoptionlist {#1}
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_options_local:}
% \changes{v1.0h}{2022/06/20}{Use raw options data}
diff --git a/macros/latex-dev/base/ltlists.dtx b/macros/latex-dev/base/ltlists.dtx
index fce6be7754..5858cbddfb 100644
--- a/macros/latex-dev/base/ltlists.dtx
+++ b/macros/latex-dev/base/ltlists.dtx
@@ -31,7 +31,7 @@
%<*driver>
% \fi
\ProvidesFile{ltlists.dtx}
- [2024/06/11 v1.0t LaTeX Kernel (List Environments)]
+ [2024/06/23 v1.0u LaTeX Kernel (List Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltlists.dtx}
@@ -716,6 +716,66 @@
%
% This allows paragraph-making environments to work right when called
% by other environments. (Changed 27 Oct 86)
+%
+% In 2024 this logic was partially replaced with a new algorithm:
+% \begin{itemize}
+% \item
+% \cs{if@endpe} is now set globally to \texttt{true} or \texttt{false}.
+% \item
+% In addition \cs{@endpetrue} initiates an \cs{aftergroup} call
+% to \cs{propagate@doendpe} if it is used inside a group.
+% \item
+% \cs{propagate@doendpe} in turn checks the status of \cs{if@endpe}
+% and if that is \texttt{true} it calls \cs{@doendpe} otherwise it
+% does nothing.
+% \item
+% \cs{@doendpe} in turn calls \cs{@endpetrue} and also makes the
+% necessary changes to
+% \cs{par} and \cs{everypar} so that they handle as before any
+% empty line that follows the environment.
+% \item
+% Because of the \cs{@endpetrue} we get another \cs{aftergroup}, so the
+% mechanisnm slowly migrates out of several groups if those follow
+% immediately after the end of the environment. If, however, there is a new
+% paragraph started or an explicit \cs{par} before the next group ends then this will
+% result in a call to \cs{@endpefalse} and the migration stops
+% (note that \cs{propagate@doendpe} is still called once after the group but does nothing).
+% \item
+% Using this approach something like
+%\begin{verbatim}
+% {% some customization here
+% \begin{equation}
+% x=y
+% \end{equation}}
+% some text
+%\end{verbatim}
+% is still correctly identified as a paragraph continuation so that
+% there is no indentation before \texttt{some text}.
+% \item
+% We can get away with using global settings of \cs{if@endpe} even
+% in nested situations (without keeping track of the status in a
+% stack), because the switch change is made only at
+% the very end of such environments, basically directly before the
+% \cs{endgroup} in \cs{end}, and it is later set back to \texttt{false} by
+% the next \cs{everypar} or the next \cs{par}. Even if the
+% environment is called without using \cs{begin} \cs{end}, the
+% situation doesn't change (or rather cause a problem).
+% \item
+% However, there is one scenario where the new approach would
+% change the behavior. If a box is being built, e.g., with
+% \cs{setbox}, we have now the case that a \cs{@endpetrue}
+% inside would migrate out into a context in which it should not be
+% true (because the box might get used elsewhere, e.g., a float).
+% In the past, due to local switch changes, that didn't happen, i.e.,
+% \cs{if@endpe} would revert to \texttt{false} at the end of the box
+% definition.
+% \item
+% Thus, to avoid that one has to explicitly set it back to false at
+% the end of such constructions, just as we also need to prevent
+% colors from
+% migrating out. Thus the correct place to do this is
+% in \cs{color@endgroup} because that is always called at that point.
+% \end{itemize}
% \begin{macrocode}
\def\@endparenv{%
\addpenalty\@endparpenalty\addvspace\@topsepadd\@endpetrue}
@@ -733,9 +793,12 @@
% |\clubpenalty| back to its default.
% \changes{v1.0t}{2015/05/10}{Explicitly reset \cs{clubpenalty} before
% clearing \cs{everypar}; see also pr/0462 and pr/4065}
+% \changes{v1.0u}{2024/06/23}{Set \cs{if@endpe} to \texttt{false}
+% before calling \cs{par} (needed for tagging)}
% \begin{macrocode}
\clubpenalty\@clubpenalty
- \everypar{}\par\@endpefalse}\everypar
+ \@endpefalse
+ \everypar{}\par}%
% \end{macrocode}
%
% Use |\setbox0=\lastbox| instead of |\hskip -\parindent|
@@ -744,8 +807,9 @@
% \changes{v1.0k}{1995/11/07}{Enclosed \cs{setbox0} assignment by a
% group so that it leaves the contents of box $0$ intact.}
% \begin{macrocode}
- {{\setbox\z@\lastbox}%
- \everypar{}\@endpefalse}}
+ \everypar
+ {{\setbox\z@\lastbox}%
+ \everypar{}\@endpefalse}}
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
@@ -762,12 +826,60 @@
%
% \begin{macro}{\if@endpe}
% \begin{macro}{\@endpefalse}
-% \begin{macro}{\@endpeltrue}
+% \begin{macro}{\@endpetrue}
+% \begin{macro}{\propagate@doendpe}
+% As outlined above these are no longer simple switches, but we
+% keep the name because it is used all over the place.
% \begin{macrocode}
\newif\if@endpe
-\@endpefalse
% \end{macrocode}
-% \end{macro}\end{macro}\end{macro}
+%
+% \changes{v1.0u}{2024/06/23}{Set \cs{if@endpe} globally and also set
+% up migration to the outside}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2024/11/01}%
+%<latexrelease> {\@endpetrue}{New @endpe handling}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@endpefalse{\global\let\if@endpe\iffalse}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@endpetrue {%
+ \global\let\if@endpe\iftrue
+% \end{macrocode}
+% If we are inside a group then propagate to the outside:
+% \begin{macrocode}
+ \ifnum\currentgrouplevel>\z@
+ \aftergroup\propagate@doendpe
+ \fi
+}
+% \end{macrocode}
+% If \cs{if@endpe} is still true after the group ends, we run \cs{@doendpe}
+% that in turn runs another \cs{@endpetrue} (besides other things),
+% thus propagating further if necessary.
+% However, if the endpe situation got resolved and \cs{if@endpe} is \texttt{false}
+% then nothing further happens.
+% \begin{macrocode}
+\def\propagate@doendpe{\if@endpe \@doendpe \fi}
+% \end{macrocode}
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@endpetrue}{New @endpe handling}%
+%<latexrelease>
+%<latexrelease>
+%<latexrelease>\def\@endpefalse{\let\if@endpe\iffalse}
+%<latexrelease>\def\@endpetrue{\let\if@endpe\iftrue}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}
%
%
% \begin{macro}{\@mklab}
diff --git a/macros/latex-dev/base/ltluatex.dtx b/macros/latex-dev/base/ltluatex.dtx
index a15019dcd5..96f664a53e 100644
--- a/macros/latex-dev/base/ltluatex.dtx
+++ b/macros/latex-dev/base/ltluatex.dtx
@@ -30,7 +30,7 @@
%<*plain>
% \fi
% \ProvidesFile{ltluatex.dtx}
-[2024/02/11 v1.2c
+[2024/06/29 v1.2d
% LaTeX Kernel (LuaTeX support)^^A
%\iffalse
%<plain> LuaTeX support for plain TeX (core)%
@@ -330,6 +330,8 @@
% field |date| in the usual \LaTeX{} format |yyyy/mm/dd|. Optional fields
% |version| (a string) and |description| may be used if present. This
% information will be recorded in the log. Other fields are ignored.
+% If the |version| begins with a digit, a \texttt{v} will be added at the
+% start in the log.
%
% \noindent
% \DescribeMacro{module_info}
@@ -420,7 +422,7 @@
% same callback and descriptions.
%
% The callback functions do not have to be registered yet when the functions is called.
-% Ony the constraints for which both callback descriptions refer to callbacks
+% Only the constraints for which both callback descriptions refer to callbacks
% registered at the time the callback is called will have an effect.
%
% \endgroup
@@ -1004,6 +1006,7 @@ local modules = modules or { }
% \begin{macro}{provides_module}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.0f}{2015/10/03}{use luatexbase\_log}
+% \changes{v1.2d}{2024/06/04}{Add \texttt{v} to version string if required}
% Local function to write to the log.
% \begin{macrocode}
local function luatexbase_log(text)
@@ -1024,7 +1027,7 @@ local function provides_module(info)
luatexbase_log(
"Lua module: " .. info.name
.. spaced(info.date)
- .. spaced(info.version)
+ .. spaced(string_gsub(info.version,"^(%d)","v%1"))
.. spaced(info.description)
)
modules[info.name] = info
@@ -1336,7 +1339,7 @@ luatexbase.new_luafunction = new_luafunction
% Additionally |callbackrules| describes the ordering constraints: It contains two
% element tables with the descriptions of the constrained callback implementations.
% It can additionally contain a |type| entry indicating the kind of rule. A missing
-% value indicates a normal ordering contraint.
+% value indicates a normal ordering constraint.
%
% \changes{v1.2a}{2022/10/03}{Add rules for callback ordering}
% \begin{macrocode}
@@ -1398,7 +1401,7 @@ local callbacklist = setmetatable({}, {
end
list[i] = current.value
else
- -- Cycle occured. TODO: Show cycle for debugging
+ -- Cycle occurred. TODO: Show cycle for debugging
-- list[i] = ...
local remaining = {}
for name, entry in next, meta do
@@ -1432,7 +1435,7 @@ local callbacklist = setmetatable({}, {
for i=2, length//2 do
cycle[i], cycle[length + 1 - i] = cycle[length + 1 - i], cycle[i]
end
- error('Cycle occured at ' .. table.concat(cycle, ' -> ', 1, length))
+ error('Cycle occurred at ' .. table.concat(cycle, ' -> ', 1, length))
end
end
end
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index d3b036f4dc..a1cbb1deef 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks-code.pdf b/macros/latex-dev/base/ltmarks-code.pdf
index 6d1fb096a2..8bc40c93e3 100644
--- a/macros/latex-dev/base/ltmarks-code.pdf
+++ b/macros/latex-dev/base/ltmarks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks-doc.pdf b/macros/latex-dev/base/ltmarks-doc.pdf
index 7cb862462a..0e3eb04e47 100644
--- a/macros/latex-dev/base/ltmarks-doc.pdf
+++ b/macros/latex-dev/base/ltmarks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmarks.dtx b/macros/latex-dev/base/ltmarks.dtx
index a9f3bb0184..f71bfab9b6 100644
--- a/macros/latex-dev/base/ltmarks.dtx
+++ b/macros/latex-dev/base/ltmarks.dtx
@@ -17,7 +17,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmarks.dtx}
- [2024/05/31 v1.0g LaTeX Kernel (Marks)]
+ [2024/07/08 v1.0g LaTeX Kernel (Marks)]
% \iffalse
%
\documentclass{l3doc}
@@ -211,7 +211,7 @@
% The commands are only meaningful inside the output routine, in
% other places their result is (while not random) unpredictable due
% to the way \LaTeX{} cuts text material into pages.
-%% \end{function}
+% \end{function}
%
%
%
@@ -806,7 +806,7 @@
\tl_new:c { g_@@_last-column_first_ #1 _tl }
\tl_new:c { g_@@_last-column_last_ #1 _tl }
% \end{macrocode}
-% All marks will have an identication at the beginning of the form
+% All marks will have an identification at the beginning of the form
% \cs{@@_id:n}\texttt\{\meta{number}\texttt\} and therefore the
% initial empty values should have that too, so that data extraction
% is going to be uniform.
@@ -1027,7 +1027,7 @@
%
% We disguise \cs{c_max_dim} in an odd looking csname, which then
% shows up as part of the display of an error message if that error
-% happens. This csname forms part of the error diplay so what
+% happens. This csname forms part of the error display so what
% you get is something like
%\begin{verbatim}
% ! Infinite glue shrinkage found in box being split.
diff --git a/macros/latex-dev/base/ltmiscen.dtx b/macros/latex-dev/base/ltmiscen.dtx
index accdac24b2..423f51624c 100644
--- a/macros/latex-dev/base/ltmiscen.dtx
+++ b/macros/latex-dev/base/ltmiscen.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2024/02/08 v1.2c LaTeX Kernel (Misc. Environments)]
+ [2024/07/10 v1.2e LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -276,6 +276,21 @@
% \changes{v1.0w}{1994/11/30}{(DPC) Use \cs{@dofilelist}}
% \changes{v1.2a}{2022/11/06}{Repeat release info at the end (gh/944)}
% \begin{macrocode}
+% \end{macrocode}
+% If we roll back we have to drop stuff before adding chunks,
+% otherwise the code will just be appended, and thus doubled.
+% This would result in a harmless warning during the format
+% generation, because in that case the code chunk label doesn't
+% exist, and therefore can't be dropped.
+% \changes{v1.2e}{2024/07/10}{Drop code chunks before adding them to
+% avoid duplication in rollback (gh/1407)}
+% \begin{macrocode}
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/filelist]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/warnings]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/release]
+% \end{macrocode}
+%
+% \begin{macrocode}
\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings}
\AddToHook{enddocument/info}[kernel/release]{%
@@ -389,6 +404,18 @@
%<latexrelease>\NewHook{enddocument/afteraux}
%<latexrelease>\NewHook{enddocument/info}
%<latexrelease>\NewHook{enddocument/end}
+% \end{macrocode}
+% If we roll back we have to drop stuff before adding chunks,
+% otherwise the code will just be appended, and thus doubled.
+% \changes{v1.2e}{2024/07/10}{Drop code chunks before adding them to
+% avoid duplication in rollback (gh/1407)}
+% \begin{macrocode}
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/filelist]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/warnings]
+%<latexrelease>\RemoveFromHook{enddocument/info}[kernel/release]
+% \end{macrocode}
+%
+% \begin{macrocode}
%<latexrelease>\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
%<latexrelease>\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings}
%<latexrelease>\AddToHook{enddocument/info}[kernel/release]{%
@@ -719,6 +746,8 @@
% position of non-matching \cs{begin}.}
% \changes{v1.1e}{1996/07/26}{remove \cs{global} before \cs{@ignore...}}
% \changes{v1.1p}{2019/08/27}{Make command robust}
+% \changes{v1.2d}{2024/06/23}{Separate \cs{begin} and \cs{end} definitions
+% for individual rollback}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -758,54 +787,6 @@
}
% \end{macrocode}
%
-% The top level definition for \cs{end}. for an explanation see
-% below (this is the same as the 2019 version where it was
-% introduced, but for rollback we have to repeat it).
-% \begin{macrocode}
-\edef\end
- {\unexpanded{%
- \romannumeral
- \ifx\protect\@typeset@protect
- \expandafter %1
- \expandafter %2
- \expandafter %1
- \expandafter %3 expands the \csname inside \end<space>
- \expandafter %1
- \expandafter %2 expands \end<space>
- \expandafter %1 expands the \else
- \z@
- \else
- \expandafter\z@\expandafter\protect
- \fi
- }%
- \expandafter\noexpand\csname end \endcsname
- }
-% \end{macrocode}
-% Version that adds hooks (so different from the 2019 version). It
-% fixes tlb3722 but the change should perhaps be made in
-% \texttt{tabularx} instead.
-% \begin{macrocode}
-\@namedef{end }#1{%
- \romannumeral
- \IfHookEmptyTF{env/#1/end}%
- {\expandafter\z@}%
- {\z@\UseHook{env/#1/end}}%
- \csname end#1\endcsname\@checkend{#1}%
- \expandafter\endgroup\if@endpe\@doendpe\fi
- \UseHook{env/#1/after}%
- \if@ignore\@ignorefalse\ignorespaces\fi
-}
-% \end{macrocode}
-% Version without the fix for tlb3722 for the record:
-% \begin{macrocode}
-%\@namedef{end }#1{%
-% \UseHook{env/#1/end}%
-% \csname end#1\endcsname\@checkend{#1}%
-% \expandafter\endgroup\if@endpe\@doendpe\fi
-% \UseHook{env/#1/after}%
-% \if@ignore\@ignorefalse\ignorespaces\fi}%
-% \end{macrocode}
-%
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
@@ -822,6 +803,7 @@
%<latexrelease> \csname #1\endcsname}}%
%<latexrelease> \@ignorefalse
%<latexrelease> \begingroup\@endpefalse\reserved@a}
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% A version that doesn't start out with \cs{relax} when in
% typesetting mode would be the following, but since \cs{begin}
@@ -847,7 +829,45 @@
% \begingroup\@endpefalse\reserved@a}
% \end{macrocode}
%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\begin}{Making \begin/\end robust}%
+%<latexrelease>\def\begin#1{%
+%<latexrelease> \@ifundefined{#1}%
+%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
+%<latexrelease> \edef\@currenvline{\on@line}%
+%<latexrelease> \csname #1\endcsname}}%
+%<latexrelease> \@ignorefalse
+%<latexrelease> \begingroup\@endpefalse\reserved@a}
+%<latexrelease>
+% \end{macrocode}
+% Also undo the internal commands as some packages unfortunately test
+% for their existence instead of using \cs{IfFormatAtLeastTF}.
+% \changes{v1.1y}{2021/02/08}{Undo the internals for robust \cs{begin}
+% and \cs{end} in rollback (gh/494)}
+% \begin{macrocode}
+%<latexrelease>\expandafter\let\csname begin \endcsname\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+
+
+
+
% \begin{macro}{\end}
+% The top level definition for \cs{end}.
+% \changes{v1.2d}{2024/06/23}{Separate \cs{begin} and \cs{end} definitions
+% for individual rollback}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\end}{Making \begin/\end robust}%
+% \end{macrocode}
% While \cs{begin} was made robust simply by using
% \cs{DeclareRobustCommand} we need to be a bit more subtle with
% \cs{end} as there are packages out there that try to look into
@@ -895,65 +915,129 @@
% \changes{v1.1p}{2019/08/27}{Make command robust}
%
% \begin{macrocode}
-%<latexrelease>\edef\end
-%<latexrelease> {\unexpanded{%
-%<latexrelease> \romannumeral
-%<latexrelease> \ifx\protect\@typeset@protect
-%<latexrelease> \expandafter %1
-%<latexrelease> \expandafter %2
-%<latexrelease> \expandafter %1
-%<latexrelease> \expandafter %3 expands the \csname inside \end<space>
-%<latexrelease> \expandafter %1
-%<latexrelease> \expandafter %2 expands \end<space>
-%<latexrelease> \expandafter %1 expands the \else
-%<latexrelease> \z@
-%<latexrelease> \else
-%<latexrelease> \expandafter\z@\expandafter\protect
-%<latexrelease> \fi
-%<latexrelease> }%
-%<latexrelease> \expandafter\noexpand\csname end \endcsname
-%<latexrelease> }
+\edef\end
+ {\unexpanded{%
+ \romannumeral
+ \ifx\protect\@typeset@protect
+ \expandafter %1
+ \expandafter %2
+ \expandafter %1
+ \expandafter %3 expands the \csname inside \end<space>
+ \expandafter %1
+ \expandafter %2 expands \end<space>
+ \expandafter %1 expands the \else
+ \z@
+ \else
+ \expandafter\z@\expandafter\protect
+ \fi
+ }%
+ \expandafter\noexpand\csname end \endcsname
+ }
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% And here is the original definition of \cs{end} the way it was in
% \LaTeX{} for several decades now hidden in \verb*=\end =.
% \begin{macrocode}
-%<latexrelease>\@namedef{end }#1{%
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\end}{Making \begin/\end robust}%
+%<latexrelease>\def\end#1{%
%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
+%<latexrelease>
%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
-% An here the rollback in case that is ever needed.
+% \end{macro}
+
+
+
+% \begin{macro}{\end\verbvisiblespace}
+% The internal version with a space at the end.
% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\begin}{Making \begin/\end robust}%
-%<latexrelease>\def\begin#1{%
-%<latexrelease> \@ifundefined{#1}%
-%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
-%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
-%<latexrelease> \edef\@currenvline{\on@line}%
-%<latexrelease> \csname #1\endcsname}}%
-%<latexrelease> \@ignorefalse
-%<latexrelease> \begingroup\@endpefalse\reserved@a}
-%<latexrelease>\def\end#1{%
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2024/11/01}%
+%<latexrelease> {\end!space}{New @endpe handling}%
+\@namedef{end }#1{%
+ \romannumeral
+ \IfHookEmptyTF{env/#1/end}%
+ {\expandafter\z@}%
+ {\z@\UseHook{env/#1/end}}%
+ \csname end#1\endcsname\@checkend{#1}%
+% \end{macrocode}
+% We can now close the environment group and due to the new
+% \cs{if@endpe} handling we no longer need to \cs{expandafter}
+% out of the group.
+% \changes{v1.2d}{2024/06/23}{Adjust for new \texttt{@endpe} handling}
+% \begin{macrocode}
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+ \endgroup
+ \UseHook{env/#1/after}%
+ \if@ignore\@ignorefalse\ignorespaces\fi
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% Version that adds hooks (so different from the 2019 version). It
+% fixes tlb3722 but the change should perhaps be made in
+% \texttt{tabularx} instead.
+% \begin{macrocode}
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\end!space}{Use hook system}%
+%<latexrelease>
+%<latexrelease>\@namedef{end }#1{%
+%<latexrelease> \romannumeral
+%<latexrelease> \IfHookEmptyTF{env/#1/end}%
+%<latexrelease> {\expandafter\z@}%
+%<latexrelease> {\z@\UseHook{env/#1/end}}%
+%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
+%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
+%<latexrelease> \UseHook{env/#1/after}%
+%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% Version without the fix for tlb3722 for the record:
+%\begin{verbatim}
+%\@namedef{end }#1{%
+% \UseHook{env/#1/end}%
+% \csname end#1\endcsname\@checkend{#1}%
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+% \UseHook{env/#1/after}%
+% \if@ignore\@ignorefalse\ignorespaces\fi}%
+% \end{verbatim}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\end!space}{Making \begin/\end robust}%
+%<latexrelease>
+%<latexrelease>\@namedef{end }#1{%
%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
-%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
-% Also undo the internal commands as some packages unfortunately test
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\end!space}{Making \begin/\end robust}%
+% \end{macrocode}
+% Undo the internal command as some packages unfortunately test
% for their existence instead of using \cs{IfFormatAtLeastTF}.
% \changes{v1.1y}{2021/02/08}{Undo the internals for robust \cs{begin}
% and \cs{end} in rollback (gh/494)}
% \begin{macrocode}
-%<latexrelease>\expandafter\let\csname begin \endcsname\@undefined
%<latexrelease>\expandafter\let\csname end \endcsname\@undefined
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
%
%
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index ce8db0cc98..58119fe41e 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index 2183875a25..be6cae9b40 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index 3e07fd8d31..df6a72a348 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index 0d090dfef2..f5c84e6bd7 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index 61e4de37fd..2729989f52 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index fc943e69a0..7e19a40eb4 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index 0989dc6333..4b39c5ec2c 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index 6e51f990b4..5cae504f6e 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index fcd8bf3877..75fc033446 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index 09844b9acd..e82cc9fc52 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index ba3788772a..52b402ff6d 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index 8d26eb2d6b..56d4dbb794 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index ca2ccb564d..99af1b6e81 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index e11438a2bf..4b0be6f3ed 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index 64f998af70..e8d43732e2 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index ee9da57311..d626d1f1b1 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index f17ceb5c1a..f4d3cc5e5b 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index 9f66ce2523..fec4a4bcbb 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index b78feb4781..444a2996eb 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index 2edf525e0d..085fc2ce49 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index 8aa1ff4dc0..942b8d18dd 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index bf0338046a..6af1f68336 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index 9950cea60f..968bbb8071 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index 9c8a9c489b..6a3c860984 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index 3f0b1091ef..8b1be9ba3f 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index ef12015b97..91df9ce07b 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index e535f146a9..f12a919697 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index b3db6b1056..79e3285238 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index c5e06267ab..cb28b6bcac 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index e288ae9c22..9aa25869c6 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index ddc0c7fac2..4be90f4c80 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index 5553234272..93e7af25d4 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf
index f947ebc780..39bbcede32 100644
--- a/macros/latex-dev/base/ltnews32.pdf
+++ b/macros/latex-dev/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews33.pdf b/macros/latex-dev/base/ltnews33.pdf
index cd2a122553..7124b91f9e 100644
--- a/macros/latex-dev/base/ltnews33.pdf
+++ b/macros/latex-dev/base/ltnews33.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews34.pdf b/macros/latex-dev/base/ltnews34.pdf
index 5bc99059e0..86f3e424d0 100644
--- a/macros/latex-dev/base/ltnews34.pdf
+++ b/macros/latex-dev/base/ltnews34.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews35.pdf b/macros/latex-dev/base/ltnews35.pdf
index 668e17ae8c..0eb8016fec 100644
--- a/macros/latex-dev/base/ltnews35.pdf
+++ b/macros/latex-dev/base/ltnews35.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews36.pdf b/macros/latex-dev/base/ltnews36.pdf
index 656da798af..747046617a 100644
--- a/macros/latex-dev/base/ltnews36.pdf
+++ b/macros/latex-dev/base/ltnews36.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews37.pdf b/macros/latex-dev/base/ltnews37.pdf
index 24a7d87196..27a3622222 100644
--- a/macros/latex-dev/base/ltnews37.pdf
+++ b/macros/latex-dev/base/ltnews37.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews38.pdf b/macros/latex-dev/base/ltnews38.pdf
index faac7f6c7a..8bad2cb4d0 100644
--- a/macros/latex-dev/base/ltnews38.pdf
+++ b/macros/latex-dev/base/ltnews38.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews39.pdf b/macros/latex-dev/base/ltnews39.pdf
index a23c2e585b..c57b27bfd4 100644
--- a/macros/latex-dev/base/ltnews39.pdf
+++ b/macros/latex-dev/base/ltnews39.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews39.tex b/macros/latex-dev/base/ltnews39.tex
index 3af8903515..8d306b0bf0 100644
--- a/macros/latex-dev/base/ltnews39.tex
+++ b/macros/latex-dev/base/ltnews39.tex
@@ -725,6 +725,22 @@ logic for the strut changes when vertical mode is detected.
\pkg{bigfoot})}
+\subsection{Fix a ``missing \cs{item}'' rollback error}
+
+If \LaTeX{} is rolled back to a date between 2023/06/01 (inclusive) and
+2024/06/01 (exclusive), any list-based environment would raise an
+error:
+%(shown on two lines for \textsl{TUGboat}):
+\begin{verbatim}
+! LaTeX Error: Something's wrong--perhaps
+a missing \item.
+\end{verbatim}
+This has now been corrected as a hotfix in patch level 2, by enhancing
+the 2023/06/01 version rollback code of the new paragraph mechanism.
+%
+\githubissue{1386}
+
+
\section{Changes to packages in the \pkg{amsmath} category}
@@ -812,6 +828,7 @@ of \pkg{amsthm} theorem styles. This extra box has now been avoided.
%
\githubissue{1123}
+\tubcommand{\newpage}
\subsection{\pkg{xr}:\ Support links and properties}
%
The \pkg{xr} package implements a system for eXternal References.
diff --git a/macros/latex-dev/base/ltnews40.pdf b/macros/latex-dev/base/ltnews40.pdf
index 978e04e509..a9b6b621e3 100644
--- a/macros/latex-dev/base/ltnews40.pdf
+++ b/macros/latex-dev/base/ltnews40.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews40.tex b/macros/latex-dev/base/ltnews40.tex
index e6d97757e8..211f638afc 100644
--- a/macros/latex-dev/base/ltnews40.tex
+++ b/macros/latex-dev/base/ltnews40.tex
@@ -73,10 +73,22 @@
{github issue#1 #2}%
)}%
\par\smallskip}
+
+
+% same for issues in the tagging repository:
+
+\providecommand\taggingissue[2][]{\ifhmode\unskip\fi
+ \quad\penalty500\strut\nobreak\hfill
+ \mbox{\small\slshape(%
+ \href{https://github.com/latex3/tagging-project/issues/\getfirstgithubissue#2 \relax}%
+ {github tagging issue#1 #2}%
+ )}%
+ \par\smallskip}
+
%% But Chris has to mostly disable \href for his TEXPAD app:
%% \def\href #1#2{#2} % Only For Chris' deficient TeX engine
-% simple solution right now (just link to the first issue if there are more)
+% simple solution right now (just link to the first issue if there are several)
\def\getfirstgithubissue#1 #2\relax{#1}
\providecommand\sxissue[1]{\ifhmode\unskip
@@ -96,6 +108,8 @@
)}%
\par}
+
+
\let\cls\pkg
\providecommand\env[1]{\texttt{#1}}
\providecommand\acro[1]{\textsc{#1}}
@@ -145,10 +159,93 @@
% To write
+\section{News from the \enquote{\LaTeX{} Tagged PDF} project}
+
+The tagging of tabulars has been extended: it is now possible to tag
+also row headers and to create cells that span more than one row.
+
+\emph{write more details ...}
+
+
+The math module will automatically generate a MathML file and use it to
+attach MathML associated files to the structure if lua\LaTeX{} and
+the \pkg{unicode-math} package are used and the \pkg{luamml} is found.
+This new feature can be disabled with \verb+\tagpdfsetup{math/mathml/luamml=false}+
+More details can be found in the documentation of \pkg{latex-lab-math}.
+
+
+\section{Handling paragraph continuation}
+
+Already \LaTeX~2.09 offered some automatism to detect whether or not
+text after a list or some other display environment is meant to be a
+continuation of the current paragraph or should start a new one. The
+document-level syntax for this is that a blank line after such an
+environment signals to \LaTeX{} that it should start a new paragraph; whilst
+no blank line signals that there should be no new paragraph and the
+text should be considered a continuation.
+
+Unfortunately, there are a number of cases where the original 2.09
+approach failed, e.g., with
+\begin{flushleft}
+ \ttfamily
+\{\meta{local customizations}\\
+\cs{begin}\{equation\} a<b \cs{end}\{equation\}\} \\
+\meta{some text}
+\end{flushleft}
+the \meta{some text} incorrectly started a new paragraph. Bug reports
+about this behavior can be traced back to the time \LaTeXe{} was
+developed, e.g., one test file from 1992 has a note that the above
+case was unfortunately not resolvable despite some improvements made back
+then. The main cause of the issue (as you probably guessed) is that
+the mechanism failed whenever the environment was executed within a
+group (\texttt{\{...\}}, \cs{begingroup}/\cs{endgroup}, or
+\cs{bgroup}/\cs{egroup} pair) that was closed before the next blank
+line was reached.
+
+While most of the time this could be visually corrected by adding some
+explicit \cs{noindent}, the situation got worse when we tried to
+implement tagged PDFs resulting in incorrect structures or worse.
+
+We therefore made a new attempt to resolve this problem in every
+situation and this new solution is rolled out in the current
+release.
+
+
\section{New or improved commands}
\section{Code improvements}
+\subsection{Avoiding keyval option clashes between classes and packages}
+
+In \LaTeX{} News~35~\cite{40:ltnews35} we introduced keyval option processing
+to the kernel. Following the standard for \LaTeXe{} options, keyval options
+given to the \cs{documentclass} line were treated as global and so parsed by
+every package. However, with keyvals, the likelihood of a name clash between a
+class-specific option and one used by a package is much higher than it is with
+simple strings. We have therefore refined the mechanism in the current release.
+
+When a class uses the kernel keyval processor, any options it recognises are
+recorded and any packages using the keyval processor will then \emph{skip}
+these \enquote{global} options. To allow for the case where a class directly
+uses an option which should be global (for example \texttt{draft}), a new key
+property \texttt{.pass-to-packages} has been added. This can then be set to
+indicate that this key is not to be skipped. For example
+\begin{verbatim}
+\DeclareKeys{
+ draft .if = {ifl@cls@draft},
+ draft .pass-to-packages = true,
+ mode .store = \cls@mode
+}
+\end{verbatim}
+in a class would create two options, \texttt{draft} and \texttt{mode}. The
+\texttt{draft} option will be treated in the normal way by packages using
+keyvals, but they will ignore the \texttt{mode} option: it is effectively
+marked as \enquote{private} to the class.
+
+
+
+\githubissue{1279}
+
\section{Bug fixes}
\subsection{Fix wrong file type in a rollback warning}
@@ -157,10 +254,12 @@ When \LaTeX{} is rolled back to date \meta{date1} and a class or
package with minimum date requirement \meta{date2} is to be loaded, a
rollback warning is raised if \meta{date2} is later than \meta{date1}:
\begin{verbatim}
-LaTeX Warning: Suspicious rollback/min-date date given
- A minimal date of YYYY-MM-DD has been specified for package
- '<pkgname>'.
- But this is in conflict with a rollback request to YYYY-MM-DD.
+LaTeX Warning: Suspicious rollback/min-date
+ date given.
+ A minimal date of YYYY-MM-DD has been
+ specified for package '<pkgname>'.
+ But this is in conflict with a rollback
+ request to YYYY-MM-DD.
\end{verbatim}
In some cases this message showed a wrong file type, i.e.,
@@ -169,6 +268,24 @@ This has now been corrected.
%
\githubissue{870}
+\subsection*{Fix existence check of document environments}
+\cs{NewDocumentEnvironment} and friends define (or redefine) a document
+environment using the space-trimmed \meta{envname}, but the existence
+check for \meta{envname} was done without space trimming. Thus when the
+user-specified \meta{envname} consists of leading and/or trailing
+space(s), it may lead to erroneously silent environment declaration.
+For example, in
+\begin{verbatim}
+ \NewDocumentEnvironment{myenv}{}{begin}{end}
+ \NewDocumentEnvironment{ myenv }{}{begin}{end}
+\end{verbatim}
+the first line defines a new environment \env{myenv} but the second
+line would check existence for \env{ myenv } (which is not yet defined),
+then redefine \env{myenv} environment without raising any errors.
+This has now been corrected.
+%
+\githubissue{1399}
+
\subsection{\pkg{doc}:\ \cs{PrintDescribeMacro} in preamble}
In \pkg{doc} version 2 it was possible alter the definition of
@@ -180,12 +297,83 @@ preamble are possible again.
\githubissue{1000}
+\section{Improvement to \XeTeX\ \cs{showhyphens}}
+When using \cs{showhyphens} with \XeTeX, missing character warnings
+would be generated for any character not in Latin Modern. This has been
+corrected and the warnings are suppressed.
+%
+\githubissue{1380}
+
+
+\section{Avoid code duplication in rollback}
+
+When the kernel uses \cs{AddToHook} in a region that might be
+rolled back (which happens in a few places) and a document requests a
+rollback, then we have the situation that the hook already contains code to which we added the same
+(or slightly different) code during the
+rollback; this results in code duplication or, worse, in errors. This has
+now been corrected by dropping any such code chunk (if there is one) prior to
+adding the rollback code.
+%
+\githubissue{1407}
+
+
+
+
+\section{Changes to packages in the \pkg{amsmath} category}
+
+\section{Extend support for \cs{dots}}
+
+The implementation of \cs{dots} in \pkg{amsmath} has the feature that
+it selects different dots depending on the symbol that follows: e.g.,
+dots between commas would normally be on the baseline, while dots
+between binary or relational symols would be raised. However, when symbols such
+as \cs{cong} were protected from expansion in moving arguments (so
+that they worked in places such as headings) it had the unfortunate
+side-effect that the \cs{dots} magic stopped working for them. This
+has now been corrected.
+%
+\githubissue{1265}
+
-%\section{Changes to packages in the \pkg{amsmath} category}
%\section{Changes to packages in the \pkg{graphics} category}
-%\section{Changes to packages in the \pkg{tools} category}
+\section{Changes to packages in the \pkg{tools} category}
+
+
+\subsection{\pkg{array}: Tagging support for \cs{cline}}
+
+In the last release we added tagging support for \pkg{array},
+\pkg{longtable} and other tabular packages, but we overlooked that the
+kernel definition for \cs{cline} also needs modification because the
+rule generated by the command needs to be tagged as an
+artifact. Furthermore, the processing of a \cs{cline} looks to the
+algorithm as if another row is added (which is technically what
+happens), thus it was also necessary to decrement the internal row
+counter to get a correct row count. This has now been corrected in
+\pkg{array} which is automatically loaded for tagging, so that all
+these packages are now fully compatible with the tagging code if it is
+turned on.
+%
+\taggingissue{134}
+
+
+\subsection{\pkg{longtable}: Extend caption type}
+
+The \pkg{longtable} has been extended and now provides the command \cs{LTcaptype}
+(stemming from the \pkg{ltcaption} package) to change
+the counter and caption type used by the \cs{caption} command from longtable.
+So with \verb+\renewcommand\LTcaptype{figure}+, a longtable will step the
+figure counter instead of the table counter and produce an
+entry in the list of figures. An empty definition, \verb+\renewcommand\LTcaptype{}+,
+will suppress increasing of the counter. This makes it easy to define an
+unnumbered variant of longtable:
+\begin{verbatim}
+\newenvironment{longtable*}
+ {\renewcommand\LTcaptype{}\longtable}
+ {\endlongtable}
+\end{verbatim}
%\section{Changes to files in the \pkg{cyrillic} category}
@@ -205,6 +393,10 @@ Leslie Lamport.
\emph{\LaTeXe{} news 1--39}. June, 2024.
\url{https://latex-project.org/news/latex2e-news/ltnews.pdf}
+\bibitem{40:ltnews35} \LaTeX{} Project Team.
+ \emph{\LaTeXe{} news 35}. June 2022.
+ \url{https://latex-project.org/news/latex2e-news/ltnews35.pdf}
+
\bibitem{40:ltnews39} \LaTeX{} Project Team.
\emph{\LaTeXe{} news 39}. June 2024.
\url{https://latex-project.org/news/latex2e-news/ltnews39.pdf}
@@ -212,4 +404,3 @@ Leslie Lamport.
\end{thebibliography}
\end{document}
-
diff --git a/macros/latex-dev/base/ltpara-code.pdf b/macros/latex-dev/base/ltpara-code.pdf
index cba8970020..8a8558a95d 100644
--- a/macros/latex-dev/base/ltpara-code.pdf
+++ b/macros/latex-dev/base/ltpara-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara-doc.pdf b/macros/latex-dev/base/ltpara-doc.pdf
index 614f1df0b7..7bedaa0fbe 100644
--- a/macros/latex-dev/base/ltpara-doc.pdf
+++ b/macros/latex-dev/base/ltpara-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltpara.dtx b/macros/latex-dev/base/ltpara.dtx
index f102d68e0d..b7b895350d 100644
--- a/macros/latex-dev/base/ltpara.dtx
+++ b/macros/latex-dev/base/ltpara.dtx
@@ -17,7 +17,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpara.dtx}
- [2024/05/16 v1.0m LaTeX Kernel (paragraph hooks)]
+ [2024/06/29 v1.0n LaTeX Kernel (paragraph hooks)]
% \iffalse
%
\documentclass{l3doc}
@@ -480,7 +480,7 @@
% ended by \cs{RawParEnd}\footnote{Technical note for those who
% know their \textit{\TeX book\/}: the \cs{RawParEnd} command
% invokes the original \TeX{} engine definition of \cs{par} that
-% (soley) triggers the paragraph builder in \TeX{} when found
+% (solely) triggers the paragraph builder in \TeX{} when found
% inside unrestricted horizontal mode and does nothing in other
% processing modes.}
% and not by \cs{par} (or a blank line), because the latter will execute
@@ -634,7 +634,7 @@
% \glue(\parskip) 0.0 plus 1.0
% \glue(\baselineskip) 5.16669
%\end{verbatim}
-% but now there is anothe \cs{parskip} glue (that is always 0pt):
+% but now there is another \cs{parskip} glue (that is always 0pt):
%\begin{verbatim}
% \glue(\parskip) 0.0 plus 1.0
% \glue(\parskip) 0.0
@@ -819,6 +819,18 @@
\@@_handle_indent:
% \the \everypar % <--- done differently below
}
+% \end{macrocode}
+% \changes{v1.0n}{2024/06/23}
+% {Append \cs{everypar} toks to \cs{g_@@_standard_everypar_tl},
+% rollback 2023/06/01 (gh/1386)}
+% \begin{macrocode}
+%<latexrelease>\cs_set:Npn \@@_tmp:w #1#2#3#4#5 { }
+%<latexrelease>\tl_gput_right:Nx \g_@@_standard_everypar_tl {
+%<latexrelease> \exp_not:N \the
+%<latexrelease> \exp_not:N \toks
+%<latexrelease> \exp_after:wN \@@_tmp:w \token_to_meaning:N \everypar
+%<latexrelease> \c_space_tl
+%<latexrelease>}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2021/06/01}
%<latexrelease> {\g_@@_standard_everypar_tl}{minipage~ fix}
@@ -917,10 +929,10 @@
% the paragraph text starts.
% \begin{macrocode}
\tl_gput_right:Nx \g_@@_standard_everypar_tl {
- \exp_not:N \the
- \exp_not:N \toks
- \the \allocationnumber
- \c_space_tl
+ \exp_not:N \the
+ \exp_not:N \toks
+ \the \allocationnumber
+ \c_space_tl
}
% \end{macrocode}
% \end{macro}
@@ -1075,7 +1087,7 @@
% it should get removed before the hook code gets added so we have
% to arrange for this removal.
%
-% As in other simular cases, it maybe best to add here
+% As in other similar cases, it may be best to add here
% a \cs{nobreak} in case the hook itself adds glue and thus
% creates a non-explicit and unwanted potential breakpoont.
% On the other hand (as has been argued) the code in the hook
diff --git a/macros/latex-dev/base/ltpictur.dtx b/macros/latex-dev/base/ltpictur.dtx
index ea5ac4205b..c6fc5236a5 100644
--- a/macros/latex-dev/base/ltpictur.dtx
+++ b/macros/latex-dev/base/ltpictur.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpictur.dtx}
- [2021/04/20 v1.2b LaTeX Kernel (Picture Mode)]
+ [2024/07/08 v1.2b LaTeX Kernel (Picture Mode)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpictur.dtx}
@@ -1413,7 +1413,6 @@
% \begin{macrocode}
\newif\if@ovvline \@ovvlinetrue
\newif\if@ovhline \@ovhlinetrue
-% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
diff --git a/macros/latex-dev/base/ltproperties-code.pdf b/macros/latex-dev/base/ltproperties-code.pdf
index c03284af62..6b5b8f3a09 100644
--- a/macros/latex-dev/base/ltproperties-code.pdf
+++ b/macros/latex-dev/base/ltproperties-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltproperties-doc.pdf b/macros/latex-dev/base/ltproperties-doc.pdf
index 2e994aa4bf..b10d4ab979 100644
--- a/macros/latex-dev/base/ltproperties-doc.pdf
+++ b/macros/latex-dev/base/ltproperties-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltproperties.dtx b/macros/latex-dev/base/ltproperties.dtx
index 0fd8f22e0e..5b869437ba 100644
--- a/macros/latex-dev/base/ltproperties.dtx
+++ b/macros/latex-dev/base/ltproperties.dtx
@@ -30,7 +30,7 @@
%<*driver>
% \fi
\ProvidesFile{ltproperties.dtx}
- [2024/04/17 v1.0e LaTeX Kernel (Properties)]
+ [2024/06/29 v1.0e LaTeX Kernel (Properties)]
% \iffalse
%
\documentclass[full]{l3doc}
@@ -94,7 +94,7 @@
% and labels which consist of lists of these properties. The reason for the
% split is that individual labels will want to record some but not all
% properties. For examples, a label concerned with position would track
-% the $x$ and $y$ co-ordinates of the current point, but not for example
+% the $x$ and $y$ coordinates of the current point, but not for example
% the page number.
%
% In the current implementation, properties share a single namespace. This
@@ -404,7 +404,7 @@
%
% \begin{variable}{pagenum}
% (shipout) The current page as arabic number. This is suitable for integer operations and
-% comparisions.
+% comparisons.
% \end{variable}
%
% \begin{variable}{label}
diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index 10aaaa4be1..1755ede194 100644
--- a/macros/latex-dev/base/ltshipout-code.pdf
+++ b/macros/latex-dev/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf
index 21ce0937ba..21560c939f 100644
--- a/macros/latex-dev/base/ltshipout-doc.pdf
+++ b/macros/latex-dev/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltsockets-code.pdf b/macros/latex-dev/base/ltsockets-code.pdf
index 8b2f4761b8..19f4b8637a 100644
--- a/macros/latex-dev/base/ltsockets-code.pdf
+++ b/macros/latex-dev/base/ltsockets-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltsockets-doc.pdf b/macros/latex-dev/base/ltsockets-doc.pdf
index f4cd8ffed0..4e4e7e235f 100644
--- a/macros/latex-dev/base/ltsockets-doc.pdf
+++ b/macros/latex-dev/base/ltsockets-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltsockets.dtx b/macros/latex-dev/base/ltsockets.dtx
index 243963f7bc..c77c74b57f 100644
--- a/macros/latex-dev/base/ltsockets.dtx
+++ b/macros/latex-dev/base/ltsockets.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltsockets.dtx}
- [2024/02/11 v0.9a LaTeX Kernel (Sockets)]
+ [2024/06/29 v0.9a LaTeX Kernel (Sockets)]
% \iffalse
%
\documentclass{l3doc}
@@ -87,7 +87,7 @@
% executing code for each command or environment in the document
% source. Through various steps this code transforms the input and
% eventually generates typeset output appearing in a \enquote{galley}
-% from which individual pages are cut off in an asyncronous way. This
+% from which individual pages are cut off in an asynchronous way. This
% page generating process is normally not directly associated with
% commands in the input\footnote{Excepts for directives such as
% \cs{newpage}.} but is triggered whenever the galley has received
@@ -208,7 +208,7 @@
% simply calls some instance that implements the logic and that instance
% is altered by selecting a different templates and/or adjusting their
% parameters. However, in many cases customization through parameters is
-% overkill in such a case (or otherwise awkward, because paramerization
+% overkill in such a case (or otherwise awkward, because parameterization
% is better done on a higher level instead of individually for small
% blocks of code) and using the template mechanism just to replace one
% block of code with a different one results in a fairly high
@@ -400,7 +400,7 @@
%
% However, there is no requirement that sockets and
% hook names have to be different. In fact, if a certain action that
-% could overwise be specified as hook code has to be executed always
+% could otherwise be specified as hook code has to be executed always
% last (or first) one could ensure this by placing a socket (single
% action) after a hook (or vice versa) and using the same name to
% indicate the relationship, e.g.,
diff --git a/macros/latex-dev/base/lttab.dtx b/macros/latex-dev/base/lttab.dtx
index a85b4f8cf7..f114757821 100644
--- a/macros/latex-dev/base/lttab.dtx
+++ b/macros/latex-dev/base/lttab.dtx
@@ -31,7 +31,7 @@
%%% From File: lttab.dtx
%<*driver>
% \fi
-\ProvidesFile{lttab.dtx}[2021/04/20 v1.1s LaTeX Kernel (Columns)]
+\ProvidesFile{lttab.dtx}[2024/06/23 v1.1s LaTeX Kernel (Columns)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lttab.dtx}
@@ -1499,7 +1499,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@testpatch}
+% \begin{macro}{\@testpach}
% \begin{macrocode}
\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else
\ifnum \@lastchclass=3 5 \else
diff --git a/macros/latex-dev/base/lttagging.dtx b/macros/latex-dev/base/lttagging.dtx
index c70e24f590..f4d2377837 100644
--- a/macros/latex-dev/base/lttagging.dtx
+++ b/macros/latex-dev/base/lttagging.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{lttagging.dtx}
- [2024/06/10 v1.0b LaTeX Kernel (tagging support)]
+ [2024/08/10 v1.0g LaTeX Kernel (tagging support)]
% \iffalse
\documentclass{l3doc}
\GetFileInfo{lttagging.dtx}
@@ -56,18 +56,11 @@
% \providecommand\socket[1]{\texttt{#1\DescribeSocket[noprint]{#1}}}
% \providecommand\plug[1]{\texttt{#1\DescribePlug[noprint]{#1}}}
%
-% \let\ProvideDocElement\NewDocElement
-%
% \ProvideDocElement[printtype=\textit{socket},idxtype=socket,idxgroup=Sockets]{Socket}{socketdecl}
% \ProvideDocElement[printtype=\textit{hook},idxtype=hook,idxgroup=Hooks]{Hook}{hookdecl}
% \ProvideDocElement[printtype=\textit{plug},idxtype=plug,idxgroup=Plugs]{Plug}{plugdecl}
%
%
-% \section{}
-%
-%
-%
-% \MaybeStop{}
%
% \begin{macrocode}
%<*2ekernel|latexrelease>
@@ -125,10 +118,16 @@
% suspended with \cs{SuspendTagging} instead of changing the plugs of
% the tagging support sockets back and forth.
%
+% This means that with \cs{SuspendTagging} in force all socket
+% arguments are ignored (including the case when there is a single
+% one), i.e., all sockets used with \cs{UseTaggingSocket} behave as
+% if the \text{noop} plug is assigned.
+%
% It is possible to use the tagging support sockets with
-% \cs{UseSocket} directly, but in this case the socket remains active
-% if \cs{SuspendTagging} is in force. There my be reasons for doing
-% that but in general we expect to always use \cs{UseTaggingSocket}.
+% \cs{UseSocket} instead of \cs{UseTaggingSocket}, but in this case
+% the socket remains active if \cs{SuspendTagging} is in force. There
+% may be reasons for doing that, but in general we expect to always
+% use \cs{UseTaggingSocket}.
%
% The L3 programming layer versions \cs{tag_socket_use:n} and
% \cs{tag_socket_use:nn} are slightly more efficient than
@@ -138,6 +137,12 @@
% of the CamelCase command.
%
%
+% \MaybeStop{}
+%
+%
+% \section{Implementation}
+%
+%
%
% \begin{macro}{\SuspendTagging,\ResumeTagging}
%
@@ -149,7 +154,7 @@
\cs_new_eq:NN \ResumeTagging \use_none:n
% \end{macrocode}
%
-% A simplified version of this defnition should move to
+% A simplified version of this definition should move to
% \pkg{tagpdf} and dropped here, eventually.
% \begin{macrocode}
\AddToHook{begindocument/before}{
@@ -209,16 +214,87 @@
}
\ERRORusetaggingsocket % that should get a proper error message
}
-\ExplSyntaxOff
% \end{macrocode}
%
% \end{macro}
%
+% \subsection{Tagging sockets}
+% This collects tagging sockets that should be generally available
+% so that they can also be used even if the tagging code is not loaded.
+%
+% \subsubsection{Tagging support for paragraph setup}
+%
+% Paragraphs are tagged through the code in the para/hooks. This code is sometimes
+% adjusted, e.g. to produce a \enquote{flattened} paragraph or to use a different tag.
+% Sockets related to such code parts are collected here.
+%
+% \begin{macro}{\l__tag_block_flattened_level_int}
+% The block code needs to know if they are nested blockenvs inside
+% a flattened environment. For this it uses a counter. Inside some contexts,
+% e.g. at the begin of a minipage or a footnote this counter must be reset.
+% We therefore define the counter here so that we can use it in the following
+% socket.
+% \begin{macrocode}
+\int_new:N \l__tag_block_flattened_level_int
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{socketdecl}{tagsupport/para/restore}
+% This socket restores the para related settings to their default. It
+% should be used in places where ``normal'' paragraph tagging must be ensured, for example
+% at the begin of a footnote.
+% \begin{macrocode}
+\NewSocket{tagsupport/para/restore}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
+% \begin{plugdecl}{default}
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/para/restore}{default}
+ {
+ \tl_set:Nn \l__tag_para_main_tag_tl {text-unit}
+ \tl_set_eq:NN \l__tag_para_tag_tl\l__tag_para_tag_default_tl
+ \bool_set_false:N\l__tag_para_flattened_bool
+ \int_zero:N \l__tag_block_flattened_level_int
+ }
+\AssignSocketPlug{tagsupport/para/restore}{default}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{plugdecl}
+
+% \subsubsection{Tagging sockets for toc}
+
+% \begin{socketdecl}{tagsupport/toc/contentsline/before,
+% tagsupport/toc/contentsline/after}
+% Tagging sockets at the begin and end of contentsline.
+% They receive \emph{all} contentsline arguments as one argument
+% in four brace groups. The socket code should then use the parts it needs.
+% \begin{macrocode}
+\NewSocket{tagsupport/toc/contentsline/before}{1}
+\NewSocket{tagsupport/toc/contentsline/after}{1}
+% \end{macrocode}
+% \end{socketdecl}
%
-%
-%
-%
-%
+% \begin{socketdecl}{tagsupport/toc/starttoc/before,
+% tagsupport/toc/starttoc/after}
+% Tagging sockets for the begin and end of start of \cs{@starttoc}.
+% They take one argument, the extension.
+% \begin{macrocode}
+\NewSocket{tagsupport/toc/starttoc/before}{1}
+\NewSocket{tagsupport/toc/starttoc/after}{1}
+% \end{macrocode}
+% \end{socketdecl}
+%
+% \begin{socketdecl}{tagsupport/toc/leaders/before,
+% tagsupport/toc/leaders/after}
+% Tagging sockets to make the dot leaders an artifact.
+% They do not take an argument.
+% \begin{macrocode}
+\NewSocket{tagsupport/toc/leaders/before}{0}
+\NewSocket{tagsupport/toc/leaders/after}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
% \subsection{Tagging support for table/tabular packages}
%
% The code uses a number of sockets to inject the tagging
@@ -260,6 +336,14 @@
% \end{macrocode}
% \end{socketdecl}
%
+% \begin{socketdecl}{tagsupport/tbl/init/celldata}
+% This socket is used in \cs{tbl_init_cell_data_for_table}, the command
+% that stores and initialize cell data to handle nested tables.
+% It can be used to restore similar tagging related values
+% \begin{macrocode}
+\NewSocket{tagsupport/tbl/init/celldata}{0}
+% \end{macrocode}
+% \end{socketdecl}
%
% \begin{socketdecl}{tagsupport/tbl/finalize}
% To fine tune the structure (change cells to header cells, remove
@@ -273,7 +357,14 @@
% \end{macrocode}
% \end{socketdecl}
%
-
+% \begin{socketdecl}{tagsupport/tbl/restore/celldata}
+% This socket is used in \cs{tbl_restore_outer_cell_data:}, the command
+% that restores cell data when quitting a nested table. It can be used to restore
+% similar tagging related values
+% \begin{macrocode}
+\NewSocket{tagsupport/tbl/restore/celldata}{0}
+% \end{macrocode}
+% \end{socketdecl}
% \begin{socketdecl}{tagsupport/tbl/colspan}
% This socket is used to manage spanning cells, e.g., a
@@ -331,6 +422,18 @@
% \end{socketdecl}
%
%
+% \begin{socketdecl}{tagsupport/tbl/leaders/begin,
+% tagsupport/tbl/leaders/end}
+% Sockets around leaders such as rules or dotted lines, that should
+% be tagged as artifacts, used, for example, in \cs{cline}.
+% \changes{v1.0c}{2024/07/13}{Sockets for \cs{cline} leaders added (tagging/134)}
+% \begin{macrocode}
+\NewSocket{tagsupport/tbl/leaders/begin}{0}
+\NewSocket{tagsupport/tbl/leaders/end}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
+%
%
%
%
@@ -557,6 +660,10 @@
)
}
% \end{macrocode}
+% Tagging has to initialize cell data too.
+% \begin{macrocode}
+ \UseTaggingSocket{tbl/init/celldata}
+% \end{macrocode}
% These are the initial values when starting a table:
% \begin{macrocode}
\int_gzero:N \g_@@_row_int
@@ -656,6 +763,7 @@
\int_gset:Nn \g_@@_row_int { \l_@@_saved_row_tl }
\tl_gset_eq:NN \g_@@_span_tl \l_@@_saved_span_tl
\tl_gset_eq:NN \g_@@_table_cols_tl \l_@@_saved_table_cols_tl
+ \UseTaggingSocket{tbl/restore/celldata}
\@@_trace:n { ==>~ restored~cell~data:~
\int_use:N \g_@@_row_int,
\int_use:N \g_@@_col_int,
@@ -725,7 +833,7 @@
% \end{macrocode}
% Even if we are at the start of a row we my have to do a \cs{cr},
% so we do a \cs{crcr} always at the end.
-% \changes{v1.ob}{2024/06/10}
+% \changes{v1.0b}{2024/06/10}
% {Always issue a \cs{crcr} even if we are at the start of a
% row to avoid problems with tabulary and similar code}
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index 9455c56beb..d868143a05 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2024-11-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{1}
+\def\patch@level{-2}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 3f65a85e43..333a08916b 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index 17b0b7e26d..d2861eee0a 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index 9a8a6270aa..4c7e7aa924 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 72c14d4b29..b5ee1ba37a 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index 1c12e35c2d..9d86c139e2 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index 5aa128f5e4..3adde72bc2 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index 0eb119ca15..7cfd5aa951 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index 89beaf002c..ff228709af 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index e460c8a5d6..9a89fb77ec 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index 8ad9bef081..bf6c0c816b 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
index b60715484b..56e8da142c 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc3.err b/macros/latex-dev/base/tlc3.err
index db8d2c5b2f..a7f8af1bfa 100644
--- a/macros/latex-dev/base/tlc3.err
+++ b/macros/latex-dev/base/tlc3.err
@@ -1,4 +1,4 @@
-\newcommand\erratafiledate{2024/06/05} % needs / and not -
+\newcommand\erratafiledate{2024/08/07} % needs / and not -
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% To produce a printed version of this errata file run this file through
@@ -469,6 +469,10 @@ beyond \> \u{B}eyond
\erroronpage{I-xx\ldots I-xxi}{}{FMi}{2023/04/04}{s}
Dot leaders have been changed on all sections.
+\erroronpage{xxv}{footnote}{FMi}{2024/07/11}{s}
+The package implementing the Silly Walk is called \u{\texttt{sillypage}}
+not \u{\texttt{sillywalk}} as claimed in the footnote.
+
\CHAPTER{Bibliography (Part I)}
@@ -558,7 +562,12 @@ ones.
%\CHAPTER{General}
%
-%\CHAPTER{Front matter}
+
+\CHAPTER{Front matter}
+
+\erroronpage{I-xli}{footnote}{FMi}{2024/07/11}{s}
+The package implementing the Silly Walk is called \u{\texttt{sillypage}}
+not \u{\texttt{sillywalk}} as claimed in the footnote.
\CHAPTER{Bibliography}
@@ -689,6 +698,14 @@ so that both text and math usage of \verb=\qty= are compared in the example.
\erroronpage{I-182}{para 4}{BeB}{2024/03/17}{s}
Add sentence: The command \verb+\textcquote+ is used in Example 16-5-50 on page II-535.
+\erroronpage{I-195}{para 2}{FMi}{2024/07/20}{s}
+Replace the whole paragraph with:\\
+For the same reason \texttt{soul} was unable to cope with UTF-8 input
+characters if they are internally represented by several bytes. If you
+used such characters, you had to load \texttt{soulutf8} (by Heiko Oberdiek)
+instead of \texttt{soul} — since 2023, both packages are equivalent, thus you may
+always use the \texttt{soul} package.
+
\CHAPTER{Chapter 4 --- Basic Formatting Tools -- Larger \ldots}
\erroronpage{I-253}{para 2, l.-3}{YEi}{2023/11/27}{s}
@@ -696,6 +713,17 @@ Move comma:\\
and \textsf{thmtools} packages and \textsf{typed-checklist}\u{,} helps you write \> \\
and \textsf{thmtools} packages\u{,} and \textsf{typed-checklist} helps you write
+\erroronpage{I-286}{para 1, l.3}{DPC}{2024/07/15}{s}
+in this case \texttt{shade\u{d}thm} \> in this case \texttt{shadethm}
+
+\erroronpage{I-322}{para -1, l.-2}{MBe/FMi}{2024/08/07}{s}
+
+Change: \texttt{algorithm\u{s}} \> \texttt{algorithm\u{ic}}
+
+\textit{Reason: The package is called \texttt{algorithmic} and there
+is also \texttt{algorithm} to make floats, but the CTAN bundle (and
+its documentation) calls it \texttt{algorithms}.}
+
\erroronpage{I-323}{Table 4.4, left column}{BeB}{2023/07/25}{s}
Typo: Assembler (\u{N}otorola68k, x86masm) \> \\ Assembler (\u{M}otorola68k, x86masm)
@@ -762,9 +790,10 @@ result in ``31.00'', which is probably not desired.
is not really an error, but it looks better---and is consistent with the
`actual' item of `profit' for Booklet 113.)
+\erroronpage{I-492}{footnote}{DPC}{2024/07/15}{s}
+called \u{\texttt{threetableex}} \> called \u{\texttt{threeparttablex}}
\erroronpage{I-494}{para -2, l.3}{MRu}{2024/03/16}{s}
-
Use plural: The allowed key\u{s} are \ldots
@@ -802,6 +831,10 @@ Correct hyphenation: stan-dalone \> stand-alone
\CHAPTER{Chapter 9 --- Font Selection and Encodings}
+\erroronpage{I-687}{table 9.6, l.21}{YvH}{2024/06/19}{s}
+ cmdh \> lmdh
+
+
\erroronpage{I-688}{para -2, l. 1}{BeB}{2023/08/13}{s}
acronym PSNFSS not explained: PSNFSS \> PostScript New Font Selection Scheme (PSNFSS)
@@ -865,6 +898,9 @@ Open Type font is available: \\
There are no italic blackletters (so it should be in blue): \\
\textit{phœnix's official rôle} \> \textit{\bl phœnix's official rôle}
+\erroronpage{II-27}{para 1, l.1}{MBe/FMi}{2024/08/02}{s}
+Package was renamed: \texttt{droidmono} \> \texttt{droid\u{sans}mono}
+
\erroronpage{II-28}{table 10.14, l. 3}{BeB}{2023/08/13}{s}
Inconsistent order: sl, l \> l, sl
@@ -1186,6 +1222,10 @@ point in front of the display, thus \cs{predisplaypenalty} is no
longer honored.
+\erroronpage{II-149}{para 2, l.4}{DPC}{2024/07/15}{s}
+package \texttt{flex\u{y}sym} \>
+package \texttt{flex\u{i}sym}
+
\erroronpage{II-167}{para. 3, l. -2}{BeB}{2023/08/13}{s}
option\u e \> option\u{s}
@@ -1196,7 +1236,8 @@ option\u e \> option\u{s}
\erroronpage{II-178}{Tab. 11.3, l.10}{BeB}{2023/08/13}{s}
in the description column: \u{array}-symbol-arrow \> \u{arrow}-symbol-arrow
-
+\erroronpage{II-189}{footnote}{DPC}{2024/07/15}{s}
+\texttt{oubrace} package \> \texttt{oubrace\u{s}} package
@@ -1363,6 +1404,10 @@ The keyword \texttt{Harf\u{b}uzz} should be spelled
\texttt{Harf\u{B}uzz}. Both names are supported, but the recommended
spelling is \texttt{HarfBuzz}.
+\erroronpage{II-341}{para -4, l.4}{DPC/FMi}{2024/07/15}{s}
+\texttt{devnag} \u{package} \> \texttt{devnag} \u{program}
+
+
\CHAPTER{Chapter 14 --- Index Generation}
% Das Beispiel von S. II-352 als File wäre schön, dann könnte man das mit
@@ -1399,6 +1444,8 @@ Changes the output of example 16-7-31 on page II-560 as well.
the \cs{MakeUpper}\texttt{\u{C}ase} trick \>
the \cs{MakeUpper}\texttt{\u{c}ase} trick
+\erroronpage{II-423}{table 15.9}{MBe/FMi}{2024/08/04}{s}
+Drop \texttt{nature.bst} line. Style no longer supported.
\erroronpage{II-435}{code}{FMi}{2023/05/26}{s}
\verb=\textcolor{See= \> \cs{textcolor}\u{\texttt{\{blue\}}}\texttt{\{See}
@@ -1515,10 +1562,12 @@ Appendix title not properly capitalized.
\contributor{BeB}{Bernd Burghardt}
\contributor{BYu}{Boshi Yuan}
\contributor{CAR}{Chris Rowley}
+\contributor{DPC}{David Carlisle}
\contributor{DC}{Davide Campagnari}
\contributor{DFl}{Daniel Flipo}
\contributor{EOl}{Edgar Olthof}
\contributor{FMi}{Frank Mittelbach}
+\contributor{MBe}{Matthew Bertucci}
\contributor{MJo}{Maciej Jończyk}
\contributor{MRu}{Mark Rudolph}
\contributor{YFu}{FUJIMURA Yukitoshi}
diff --git a/macros/latex-dev/base/tlc3.pdf b/macros/latex-dev/base/tlc3.pdf
index 49f219e445..622a958e63 100644
--- a/macros/latex-dev/base/tlc3.pdf
+++ b/macros/latex-dev/base/tlc3.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 9ebf02c983..16948ab6e6 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide-historic.pdf b/macros/latex-dev/base/usrguide-historic.pdf
index 0af5803f1e..925c1edaaa 100644
--- a/macros/latex-dev/base/usrguide-historic.pdf
+++ b/macros/latex-dev/base/usrguide-historic.pdf
Binary files differ
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index bbc05226f4..0d8f2df39d 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index c58f23dd97..0c09bde0e2 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
index 6b640eb312..aeb9a29285 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/README.md b/macros/latex-dev/required/graphics/README.md
index b622f8fbfd..0efecadab8 100644
--- a/macros/latex-dev/required/graphics/README.md
+++ b/macros/latex-dev/required/graphics/README.md
@@ -1,7 +1,7 @@
The LaTeX `graphics` bundle
===========================
-Release 2024-11-01 pre-release 0
+Release 2024-11-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/graphics/changes.txt b/macros/latex-dev/required/graphics/changes.txt
index face90b342..5e72561389 100644
--- a/macros/latex-dev/required/graphics/changes.txt
+++ b/macros/latex-dev/required/graphics/changes.txt
@@ -4,12 +4,17 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2024-06-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * color.dtx (section{Extra Groups}):
+ Support new @endpe mechanism
+
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
#########################
-# 2023-11-01 Release
+# 2024-06-01 Release
#########################
2024-05-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/required/graphics/color.dtx b/macros/latex-dev/required/graphics/color.dtx
index 130a960d09..b14c148f2f 100644
--- a/macros/latex-dev/required/graphics/color.dtx
+++ b/macros/latex-dev/required/graphics/color.dtx
@@ -21,7 +21,7 @@
%<driver> \ProvidesFile{color.drv}
% \fi
% \ProvidesFile{color.dtx}
- [2024/01/14 v1.3d Standard LaTeX Color (DPC)]
+ [2024/06/23 v1.3e Standard LaTeX Color (DPC)]
%
% \iffalse
%<*driver>
@@ -877,10 +877,15 @@
% commands. The |\endgraf| in its definition is required in the case
% of groups of text in vertical `par' mode, but doesn't do any harm in
% horizontal `LR' contexts.
+% The |\@endpefalse| is required for the newer \texttt{@endpe}
+% handling, again it is harmless if an older kernel is used
+% (because there it was a local assignment).
% \changes{v0.2d}{1994/05/13}
% {New definition, was previously just \cs{endgroup}}
+% \changes{v1.3e}{2024/06/23}
+% {Support new \texttt{@endpe} mechanism}
% \begin{macrocode}
-\def\color@endgroup{\endgraf\endgroup}
+\def\color@endgroup{\endgraf\@endpefalse\endgroup}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/required/graphics/color.pdf b/macros/latex-dev/required/graphics/color.pdf
index 964aa7edbd..84ae84109e 100644
--- a/macros/latex-dev/required/graphics/color.pdf
+++ b/macros/latex-dev/required/graphics/color.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/drivers.pdf b/macros/latex-dev/required/graphics/drivers.pdf
index b010839e78..3651bccd85 100644
--- a/macros/latex-dev/required/graphics/drivers.pdf
+++ b/macros/latex-dev/required/graphics/drivers.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/epsfig.pdf b/macros/latex-dev/required/graphics/epsfig.pdf
index 36457b3559..ab7f88d73f 100644
--- a/macros/latex-dev/required/graphics/epsfig.pdf
+++ b/macros/latex-dev/required/graphics/epsfig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphics.dtx b/macros/latex-dev/required/graphics/graphics.dtx
index 2392ac09d1..86556ea40a 100644
--- a/macros/latex-dev/required/graphics/graphics.dtx
+++ b/macros/latex-dev/required/graphics/graphics.dtx
@@ -27,7 +27,7 @@
%<driver> \ProvidesFile{graphics.drv}
% \fi
% \ProvidesFile{graphics.dtx}
- [2024/05/23 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
+ [2024/08/06 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -1050,7 +1050,8 @@
%
% \begin{macrocode}
\edef\Gin@gzext{\detokenize{gz}}
-% \edef{macrocode}
+% \end{macrocode}
+% \end{macro}
% \end{macro}
%
% \begin{macro}{\Gin@set@curr@file}
diff --git a/macros/latex-dev/required/graphics/graphics.pdf b/macros/latex-dev/required/graphics/graphics.pdf
index 559f3c5a81..f4dcb01727 100644
--- a/macros/latex-dev/required/graphics/graphics.pdf
+++ b/macros/latex-dev/required/graphics/graphics.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/graphicx.pdf b/macros/latex-dev/required/graphics/graphicx.pdf
index d1568333c2..2407cb488b 100644
--- a/macros/latex-dev/required/graphics/graphicx.pdf
+++ b/macros/latex-dev/required/graphics/graphicx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/grfguide.pdf b/macros/latex-dev/required/graphics/grfguide.pdf
index 4e68cea91e..adf18e969a 100644
--- a/macros/latex-dev/required/graphics/grfguide.pdf
+++ b/macros/latex-dev/required/graphics/grfguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/keyval.pdf b/macros/latex-dev/required/graphics/keyval.pdf
index 1cfd06071d..31c8bcc0bc 100644
--- a/macros/latex-dev/required/graphics/keyval.pdf
+++ b/macros/latex-dev/required/graphics/keyval.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/lscape.pdf b/macros/latex-dev/required/graphics/lscape.pdf
index b3ffd8c2cd..49be46adcf 100644
--- a/macros/latex-dev/required/graphics/lscape.pdf
+++ b/macros/latex-dev/required/graphics/lscape.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/mathcolor.pdf b/macros/latex-dev/required/graphics/mathcolor.pdf
index 36905fbf31..82a7579d12 100644
--- a/macros/latex-dev/required/graphics/mathcolor.pdf
+++ b/macros/latex-dev/required/graphics/mathcolor.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotating.pdf b/macros/latex-dev/required/graphics/rotating.pdf
index 2ecb86346a..57e646c94f 100644
--- a/macros/latex-dev/required/graphics/rotating.pdf
+++ b/macros/latex-dev/required/graphics/rotating.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/rotex.pdf b/macros/latex-dev/required/graphics/rotex.pdf
index 251dcd20b1..9e3bd42516 100644
--- a/macros/latex-dev/required/graphics/rotex.pdf
+++ b/macros/latex-dev/required/graphics/rotex.pdf
Binary files differ
diff --git a/macros/latex-dev/required/graphics/trig.pdf b/macros/latex-dev/required/graphics/trig.pdf
index d220e18d1e..35d2e24dfd 100644
--- a/macros/latex-dev/required/graphics/trig.pdf
+++ b/macros/latex-dev/required/graphics/trig.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/CHANGELOG.md b/macros/latex-dev/required/l3kernel/CHANGELOG.md
index 3696c567d1..fff85488a7 100644
--- a/macros/latex-dev/required/l3kernel/CHANGELOG.md
+++ b/macros/latex-dev/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,18 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-08-16]
+
+### Added
+- Add quark (`\q_`) and scan mark (`\s_`) prefixes to naming scheme
+ (issue \#1565)
+
+## [2024-07-20]
+
+### Fixed
+- Implementation of deprecated `\tl_mixed_case:n(n)`
+- Redo the fix for LaTeX2e key properties (issue latex3/latex2e\#1415)
+
## [2024-06-19]
### Fixed
@@ -1747,7 +1759,9 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-06-19...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-08-16...HEAD
+[2024-08-16]: https://github.com/latex3/latex3/compare/2024-07-20...2024-08-16
+[2024-07-20]: https://github.com/latex3/latex3/compare/2024-06-19...2024-07-20
[2024-06-19]: https://github.com/latex3/latex3/compare/2024-05-27...2024-06-19
[2024-05-27]: https://github.com/latex3/latex3/compare/2024-05-08...2024-05-27
[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
diff --git a/macros/latex-dev/required/l3kernel/README.md b/macros/latex-dev/required/l3kernel/README.md
index 2c0b2a0477..5807a75274 100644
--- a/macros/latex-dev/required/l3kernel/README.md
+++ b/macros/latex-dev/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-06-19
+Release 2024-08-16
Overview
--------
diff --git a/macros/latex-dev/required/l3kernel/expl3.dtx b/macros/latex-dev/required/l3kernel/expl3.dtx
index 8387c0c44e..ad5cb365dd 100644
--- a/macros/latex-dev/required/l3kernel/expl3.dtx
+++ b/macros/latex-dev/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-06-19}%
+\def\ExplFileDate{2024-08-16}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -454,6 +454,15 @@
% implementation in \LaTeX3 means that |toks| are not required, and that
% all operations for storing tokens can use the |tl| variable type.
%
+% There are two more special types of constants:
+% \begin{arg-description}
+% \item[q] constants of quark type;
+% \item[s] constants of scan mark type.
+% \end{arg-description}
+% The \meta{type} part of quark and scan mark constants is omitted, and
+% the \meta{module} part of general quarks and scan marks is often
+% omitted too.
+%
% Experienced \TeX{} programmers will notice that some of the variable
% types listed are native \TeX{} registers whilst others are not. In
% general, the underlying \TeX{} implementation for a data structure may
diff --git a/macros/latex-dev/required/l3kernel/expl3.pdf b/macros/latex-dev/required/l3kernel/expl3.pdf
index e2e48dedf7..870c791dc3 100644
--- a/macros/latex-dev/required/l3kernel/expl3.pdf
+++ b/macros/latex-dev/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.pdf b/macros/latex-dev/required/l3kernel/interface3.pdf
index 959d7187ab..49a901cdb2 100644
--- a/macros/latex-dev/required/l3kernel/interface3.pdf
+++ b/macros/latex-dev/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/interface3.tex b/macros/latex-dev/required/l3kernel/interface3.tex
index 9e36aa8fe8..1a5cc9564f 100644
--- a/macros/latex-dev/required/l3kernel/interface3.tex
+++ b/macros/latex-dev/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex-dev/required/l3kernel/l3basics.dtx b/macros/latex-dev/required/l3kernel/l3basics.dtx
index 26265f5625..8ef1f6a5be 100644
--- a/macros/latex-dev/required/l3kernel/l3basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bitset.dtx b/macros/latex-dev/required/l3kernel/l3bitset.dtx
index 0cc8b996e2..5fc681a677 100644
--- a/macros/latex-dev/required/l3kernel/l3bitset.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
index 1eaab88c97..b3c8536420 100644
--- a/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
+++ b/macros/latex-dev/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3box.dtx b/macros/latex-dev/required/l3kernel/l3box.dtx
index 871ed5f2ce..abe1ce302a 100644
--- a/macros/latex-dev/required/l3kernel/l3box.dtx
+++ b/macros/latex-dev/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -906,9 +906,9 @@
% \begin{syntax}
% \cs{box_set_trim:Nnnnn} \meta{box} \Arg{left} \Arg{bottom} \Arg{right} \Arg{top}
% \end{syntax}
-% Adjusts the bounding box of the \meta{box} \meta{left} is removed from
+% Adjusts the bounding box of the \meta{box}: \meta{left} is removed from
% the left-hand edge of the bounding box, \meta{right} from the right-hand
-% edge and so fourth. All adjustments are \meta{dim exprs}.
+% edge, and so forth. All adjustments are \meta{dim exprs}.
% Material outside of the bounding box is still displayed in the output
% unless \cs{box_set_clipped:N} is subsequently applied.
% The updated \meta{box} is an
diff --git a/macros/latex-dev/required/l3kernel/l3cctab.dtx b/macros/latex-dev/required/l3kernel/l3cctab.dtx
index 3b756ac739..56f831becf 100644
--- a/macros/latex-dev/required/l3kernel/l3cctab.dtx
+++ b/macros/latex-dev/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3clist.dtx b/macros/latex-dev/required/l3kernel/l3clist.dtx
index 175dba141d..cfad9ac5a3 100644
--- a/macros/latex-dev/required/l3kernel/l3clist.dtx
+++ b/macros/latex-dev/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -352,7 +352,7 @@
% Reverses the order of items stored in the \meta{clist~var}.
% \end{function}
%
-% \begin{function}[added = 2014-07-18]{\clist_reverse:n}
+% \begin{function}[added = 2014-07-18, EXP]{\clist_reverse:n}
% \begin{syntax}
% \cs{clist_reverse:n} \Arg{comma list}
% \end{syntax}
diff --git a/macros/latex-dev/required/l3kernel/l3coffins.dtx b/macros/latex-dev/required/l3kernel/l3coffins.dtx
index 76ef5c6906..82f234799e 100644
--- a/macros/latex-dev/required/l3kernel/l3coffins.dtx
+++ b/macros/latex-dev/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3color.dtx b/macros/latex-dev/required/l3kernel/l3color.dtx
index ca29c87bae..e973fb5e7c 100644
--- a/macros/latex-dev/required/l3kernel/l3color.dtx
+++ b/macros/latex-dev/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -103,7 +103,7 @@
% \begin{itemize}
% \item \texttt{Gray} Grayscale color, with a single axis running from
% $0$ (fully black) to $15$ (fully white)
-% \item \texttt{hsb} Hue-saturation-brightness color, with three axes,all
+% \item \texttt{hsb} Hue-saturation-brightness color, with three axes, all
% real values in the range $[0,1]$ for hue saturation and brightness
% \item \texttt{Hsb} Hue-saturation-brightness color, with three axes, integer
% in the range $[0,360]$ for hue, real values in the range $[0,1]$ for
@@ -406,20 +406,20 @@
%
% \begin{function}{\color_export:nnN}
% \begin{syntax}
-% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \Arg{tl}
+% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \meta{tl var}
% \end{syntax}
% Parses the \meta{color expression} as described earlier,
% then converts to the \meta{format} specified and assigns the data to the
-% \meta{tl}.
+% \meta{tl var}.
% \end{function}
%
% \begin{function}{\color_export:nnnN}
% \begin{syntax}
-% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \Arg{tl}
+% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \meta{tl var}
% \end{syntax}
% Expresses the combination of \meta{model} and \meta{value(s)} in an
% internal representation, then converts to the \meta{format} specified and
-% assigns the data to the \meta{tl}.
+% assigns the data to the \meta{tl var}.
% \end{function}
%
% \section{Creating new color models}
@@ -495,7 +495,7 @@
%
% Color profiles are used to ensure color accuracy by linking to collaboration.
% Applying a profile can be used to standardise color which is otherwise
-% device-dependence.
+% device-dependent.
%
% \begin{function}[added = 2021-02-23]{\color_profile_apply:nn}
% \begin{syntax}
@@ -697,14 +697,14 @@
% \begin{macro}{\@@_convert:nnnN, \@@_convert:nVnN, \@@_convert:nnVN}
% \begin{macro}[EXP]
% {
-% \@@_convert_gray_gray:w
-% \@@_convert_gray_rgb:w
-% \@@_convert_gray_cmyk:w
-% \@@_convert_cmyk_gray:w
-% \@@_convert_cmyk_rgb:w
-% \@@_convert_cmyk_cmyk:w
-% \@@_convert_rgb_gray:w
-% \@@_convert_rgb_rgb:w
+% \@@_convert_gray_gray:w,
+% \@@_convert_gray_rgb:w,
+% \@@_convert_gray_cmyk:w,
+% \@@_convert_cmyk_gray:w,
+% \@@_convert_cmyk_rgb:w,
+% \@@_convert_cmyk_cmyk:w,
+% \@@_convert_rgb_gray:w,
+% \@@_convert_rgb_rgb:w,
% \@@_convert_rgb_cmyk:w
% }
% \begin{macro}[EXP]{\@@_convert_rgb_cmyk:nnn}
diff --git a/macros/latex-dev/required/l3kernel/l3debug.dtx b/macros/latex-dev/required/l3kernel/l3debug.dtx
index 777dce794d..41456cf8da 100644
--- a/macros/latex-dev/required/l3kernel/l3debug.dtx
+++ b/macros/latex-dev/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-06-19}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-08-16}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
diff --git a/macros/latex-dev/required/l3kernel/l3deprecation.dtx b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
index 3374bf451f..21d96b8f9c 100644
--- a/macros/latex-dev/required/l3kernel/l3deprecation.dtx
+++ b/macros/latex-dev/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -505,10 +505,10 @@
{ \text_uppercase:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:n }
\cs_new:Npn \tl_mixed_case:n #1
- { \text_titlecase_first:n {#1} }
+ { \text_titlecase_first:n { \text_lowercase:n {#1} } }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:nn }
\cs_new:Npn \tl_mixed_case:nn #1#2
- { \text_titlecase_first:nn {#1} {#2} }
+ { \text_titlecase_first:nn {#1} { \text_lowercase:n {#2} } }
% \end{macrocode}
% \end{macro}
%
@@ -571,7 +571,7 @@
% \char_lower_case:N, \char_upper_case:N,
% \char_mixed_case:Nn, \char_fold_case:N,
% \char_str_lower_case:N, \char_str_upper_case:N,
-% \char_str_mixed_case:Nn, \char_str_fold_case:N,
+% \char_str_mixed_case:N, \char_str_fold_case:N,
% }
% \begin{macrocode}
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
diff --git a/macros/latex-dev/required/l3kernel/l3doc.dtx b/macros/latex-dev/required/l3kernel/l3doc.dtx
index 65250e78a4..ecd473b837 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.dtx
+++ b/macros/latex-dev/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-06-19}{}
+\ProvidesExplClass{l3doc}{2024-08-16}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex-dev/required/l3kernel/l3doc.pdf b/macros/latex-dev/required/l3kernel/l3doc.pdf
index f417c92811..b21ea4c767 100644
--- a/macros/latex-dev/required/l3kernel/l3doc.pdf
+++ b/macros/latex-dev/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.dtx b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
index af95384850..29503b2d55 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3docstrip.pdf b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
index 2c97de0d5f..be416819fd 100644
--- a/macros/latex-dev/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex-dev/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3expan.dtx b/macros/latex-dev/required/l3kernel/l3expan.dtx
index 09ef3306ac..714af5dc27 100644
--- a/macros/latex-dev/required/l3kernel/l3expan.dtx
+++ b/macros/latex-dev/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3file.dtx b/macros/latex-dev/required/l3kernel/l3file.dtx
index 6b1f21c00c..9074a65921 100644
--- a/macros/latex-dev/required/l3kernel/l3file.dtx
+++ b/macros/latex-dev/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3flag.dtx b/macros/latex-dev/required/l3kernel/l3flag.dtx
index e9733bff57..a25a02a2ca 100644
--- a/macros/latex-dev/required/l3kernel/l3flag.dtx
+++ b/macros/latex-dev/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
index 98b71f34aa..2c988e21b4 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
index e05cc1e439..06c5304064 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
index d72a54eace..5c8ee332b9 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
index 435c4ac38e..49d25cc51b 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
index 83af683de1..ea6a3015cf 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
index 5f5bd618f4..be1137c0d4 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
index da79f1f556..7b28783cfa 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
index 96efa4b757..c1b9f68b9d 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
index 00244bc2fb..8f8cc99ac4 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-random.dtx b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
index 9722b5eea0..14a780a392 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-random.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-round.dtx b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
index 1a407cfcfa..d6097c3258 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-round.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
index eb8b3cc212..387d582d99 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
index 358bbc6382..f2967021e3 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
index 75731af7ef..297deb2449 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp-types.dtx b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
index e19c8b8fda..b48c37d453 100644
--- a/macros/latex-dev/required/l3kernel/l3fp-types.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3fp.dtx b/macros/latex-dev/required/l3kernel/l3fp.dtx
index 3095b53b7e..d970d631eb 100644
--- a/macros/latex-dev/required/l3kernel/l3fp.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -773,7 +773,7 @@
% The result may contain other functions, which are
% then replaced by their results if they have any. For instance,
% \begin{quote}
-% \cs{fp_new_function:n} |{ foo }| \\
+% \cs{fp_new_function:n} |{ npow }| \\
% \cs{fp_set_function:nnn} |{ npow } { a,b } { a**b }| \\
% \cs{fp_show:n} |{ npow(16,0.25) } }|
% \end{quote}
diff --git a/macros/latex-dev/required/l3kernel/l3fparray.dtx b/macros/latex-dev/required/l3kernel/l3fparray.dtx
index 696bf2befa..b20483a583 100644
--- a/macros/latex-dev/required/l3kernel/l3fparray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3int.dtx b/macros/latex-dev/required/l3kernel/l3int.dtx
index 6dc750369d..d9698e8516 100644
--- a/macros/latex-dev/required/l3kernel/l3int.dtx
+++ b/macros/latex-dev/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -100,21 +100,6 @@
% restricted-expandable functions can both be used, and \cs{exp_not:n}
% and its variants have no effect while \cs{exp_not:N} may incorrectly
% interrupt the expression.
-% \begin{texnote}
-% Exactly two expansions are needed to evaluate \cs{int_eval:n}.
-% The result is \emph{not} an \meta{internal integer}, and therefore
-% should be terminated by a space if used in \cs{int_value:w} or in
-% a \TeX{}-style integer assignment.
-%
-% As all \TeX{} integers, integer operands can also be:
-% \tn{value}\Arg{\LaTeXe{} counter}; dimension or skip variables,
-% converted to integers in~\texttt{sp}; the character code of some
-% character given as \texttt{`}\meta{char} or
-% \texttt{`\textbackslash}\meta{char}; octal numbers given as
-% \texttt{'} followed by digits from \texttt{0} to \texttt{7}; or
-% hexadecimal numbers given as |"| followed by digits and upper case
-% letters from \texttt{A} to~\texttt{F}.
-% \end{texnote}
%
% \begin{function}[EXP]{\int_eval:n}
% \begin{syntax}
diff --git a/macros/latex-dev/required/l3kernel/l3intarray.dtx b/macros/latex-dev/required/l3kernel/l3intarray.dtx
index 2a8a5240b3..48b5b83ad1 100644
--- a/macros/latex-dev/required/l3kernel/l3intarray.dtx
+++ b/macros/latex-dev/required/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
index 89abe0ae6c..cc6d8f6909 100644
--- a/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex-dev/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3keys.dtx b/macros/latex-dev/required/l3kernel/l3keys.dtx
index 3291f086e2..9225e1042d 100644
--- a/macros/latex-dev/required/l3kernel/l3keys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -649,15 +649,13 @@
% { key } % Name of choice key
% { choice-a , choice-b , choice-c } % Valid choices
% { \exp_not:n {#1} } % Invalid choice given
-% %
-% %
% }
% \end{verbatim}
%
% Multiple choices are created in a very similar manner to mutually-exclusive
% choices, using the properties \texttt{.multichoice:} and
% \texttt{.multichoices:nn}. As with mutually exclusive choices, multiple
-% choices are define as sub-keys. Thus both
+% choices are defined as sub-keys. Thus both
% \begin{verbatim}
% \keys_define:nn { mymodule }
% {
@@ -1926,19 +1924,21 @@
% \end{macro}
%
% \begin{macro}{\@@_define_code:n}
-% \begin{macro}[EXP]{\@@_define_code:TF}
+% \begin{macro}[EXP]{\@@_define_code:nnn}
% \begin{macro}[EXP]{\@@_define_code:w}
% Two possible cases. If there is a value for the key, then just use
% the function. If not, then a check to make sure there is no need for
% a value with the property. If there should be one then complain,
-% otherwise execute it. There is no need to check for a |:| as if it
-% was missing the earlier tests would have failed.
+% otherwise execute it. For a \LaTeXe{} property like |.code| which
+% doesn't contain a |:|, treat it as having arity 1 and pass the
+% (empty) value to it.
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_code:n #1
{
\bool_if:NTF \l_@@_no_value_bool
{
- \@@_define_code:TF
+ \@@_define_code:nnn
+ { \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
{ \use:c { \c_@@_props_root_str \l_@@_property_str } }
{
\msg_error:nnee { keys } { property-requires-value }
@@ -1947,7 +1947,7 @@
}
{ \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
}
-\cs_new:Npe \@@_define_code:TF
+\cs_new:Npe \@@_define_code:nnn
{
\exp_not:N \exp_after:wN \exp_not:N \@@_define_code:w
\exp_not:N \l_@@_property_str
@@ -1959,7 +1959,15 @@
\cs_new:Npn \exp_not:N \@@_define_code:w
#1 \c_colon_str #2 \c_colon_str #3 \exp_not:N \s_@@_stop
}
- { \tl_if_empty:nTF {#2} }
+ {
+ \tl_if_empty:nTF {#3}
+ { \use_i:nnn }
+ {
+ \tl_if_empty:nTF {#2}
+ { \use_ii:nnn }
+ { \use_iii:nnn }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/required/l3kernel/l3legacy.dtx b/macros/latex-dev/required/l3kernel/l3legacy.dtx
index 3ff5c60c72..667b15003a 100644
--- a/macros/latex-dev/required/l3kernel/l3legacy.dtx
+++ b/macros/latex-dev/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3luatex.dtx b/macros/latex-dev/required/l3kernel/l3luatex.dtx
index 3df2c8015a..963fdcb032 100644
--- a/macros/latex-dev/required/l3kernel/l3luatex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3msg.dtx b/macros/latex-dev/required/l3kernel/l3msg.dtx
index d4ce94ea01..c8569dd7ac 100644
--- a/macros/latex-dev/required/l3kernel/l3msg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3names.dtx b/macros/latex-dev/required/l3kernel/l3names.dtx
index 12e881781b..9231f409c1 100644
--- a/macros/latex-dev/required/l3kernel/l3names.dtx
+++ b/macros/latex-dev/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3news.pdf b/macros/latex-dev/required/l3kernel/l3news.pdf
index 80a88e47cd..13395a51a0 100644
--- a/macros/latex-dev/required/l3kernel/l3news.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news01.pdf b/macros/latex-dev/required/l3kernel/l3news01.pdf
index 99aebce94c..12f78fce05 100644
--- a/macros/latex-dev/required/l3kernel/l3news01.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news02.pdf b/macros/latex-dev/required/l3kernel/l3news02.pdf
index 8724ffc776..d14e137d29 100644
--- a/macros/latex-dev/required/l3kernel/l3news02.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news03.pdf b/macros/latex-dev/required/l3kernel/l3news03.pdf
index 6e02927db4..79ac19eeba 100644
--- a/macros/latex-dev/required/l3kernel/l3news03.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news04.pdf b/macros/latex-dev/required/l3kernel/l3news04.pdf
index ce24a41b64..e14577af81 100644
--- a/macros/latex-dev/required/l3kernel/l3news04.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news05.pdf b/macros/latex-dev/required/l3kernel/l3news05.pdf
index b4e1a4fb63..9317c56453 100644
--- a/macros/latex-dev/required/l3kernel/l3news05.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news06.pdf b/macros/latex-dev/required/l3kernel/l3news06.pdf
index 1d675540ec..b63b3d6f7a 100644
--- a/macros/latex-dev/required/l3kernel/l3news06.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news07.pdf b/macros/latex-dev/required/l3kernel/l3news07.pdf
index a1c228a441..53f05ea997 100644
--- a/macros/latex-dev/required/l3kernel/l3news07.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news08.pdf b/macros/latex-dev/required/l3kernel/l3news08.pdf
index 004c269c5e..c1afcce2d0 100644
--- a/macros/latex-dev/required/l3kernel/l3news08.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news09.pdf b/macros/latex-dev/required/l3kernel/l3news09.pdf
index 33a6bde2a9..9f5bad41a0 100644
--- a/macros/latex-dev/required/l3kernel/l3news09.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news10.pdf b/macros/latex-dev/required/l3kernel/l3news10.pdf
index ab6903d917..92a888e33c 100644
--- a/macros/latex-dev/required/l3kernel/l3news10.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news11.pdf b/macros/latex-dev/required/l3kernel/l3news11.pdf
index e5d326a453..18b77565d4 100644
--- a/macros/latex-dev/required/l3kernel/l3news11.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3news12.pdf b/macros/latex-dev/required/l3kernel/l3news12.pdf
index 83cd26364b..dce8290061 100644
--- a/macros/latex-dev/required/l3kernel/l3news12.pdf
+++ b/macros/latex-dev/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3pdf.dtx b/macros/latex-dev/required/l3kernel/l3pdf.dtx
index aed2fa02e2..e827001e9f 100644
--- a/macros/latex-dev/required/l3kernel/l3pdf.dtx
+++ b/macros/latex-dev/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -70,8 +70,8 @@
% \cs{pdf_object_write:nnn} \Arg{object} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of the \meta{object}. Depending on the
-% \meta{type} declared for the object, the format required for the
-% \meta{data} will vary
+% \meta{type} declared for the object, the format required for
+% \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -159,7 +159,7 @@
% \cs{pdf_object_unnamed_write:nn} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of an anonymous object. Depending on the
-% \meta{type}, the format required for the \meta{data} will vary
+% \meta{type}, the format required for \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -251,9 +251,9 @@
%
% \section{Destinations}
%
-% Destinations are the places a link jumped too.
-% Unlike the name may suggest they don't described
-% an exact location in the PDF. Instead a destination contains a reference to
+% Destinations are the places a link jumped to.
+% Unlike the name may suggest, they don't describe
+% an exact location in the PDF. Instead, a destination contains a reference to
% a page along with an instruction how to display this page.
% The normally used \enquote{XYZ \textit{top left zoom}} for example instructs
% the viewer to show the page with the given \textit{zoom} and
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.csv b/macros/latex-dev/required/l3kernel/l3prefixes.csv
index e85412b9d8..47cd011a5c 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.csv
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.csv
@@ -26,6 +26,7 @@ block,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
bool,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
box,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02,
+cal,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21,
catcode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
cctab,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
@@ -78,6 +79,7 @@ etex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
etl,etl,Jonathan P. Spratte,https://github.com/Skillmon/ltx_etl,git@github.com:Skillmon/ltx_etl.git,https://github.com/Skillmon/ltx_etl/issues,2021-08-16,2021-08-16,
exp,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
expl,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+expltools,expltools,Vít Starý Novotný,https://github.com/witiko/expltools/,https://github.com/witiko/expltools.git,https://github.com/witiko/expltools/issues,2024-06-26,2024-06-26,Development tools for expl3 programmers
exsheets,exsheets,Clemens Niederberger,https://bitbucket.org/cgnieder/exsheets/,git@bitbucket.org:cgnieder/exsheets.git,https://bitbucket.org/cgnieder/exsheets/issues,2013-03-16,2013-03-16,
extblx,biblatex-ext,Moritz Wemheuer,https://github.com/moewew/biblatex-ext/,https://github.com/moewew/biblatex-ext.git,https://github.com/moewew/biblatex-ext/issues,2020-02-09,2020-02-09,
exwf,exwrapfig,Takuto Asakura,https://github.com/wtsnjp/exwrapfig,https://github.com/wtsnjp/exwrapfig.git,https://github.com/wtsnjp/exwrapfig/issues,2018-06-07,2018-06-07,
@@ -135,6 +137,7 @@ keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16,
kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28,
+knot,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
langsci,langscibook,Language Science Press,https://langsci-press.org,https://github.com/langsci/langscibook,https://github.com/langsci/langscibook/issues,2021-07-20,2021-07-21,
left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
liftarm,liftarm,Matthias Floré,,,,2024-05-25,2024-05-25,
@@ -160,6 +163,7 @@ minibox,minibox,Will Robertson,,https://github.com/wspr/will2e.git,https://githu
minus,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
mix,media9,Alexander Grahn,,https://gitlab.com/agrahn/media9,https://gitlab.com/agrahn/media9/issues,2013-01-18,2020-04-15,
mode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+moremath,moremath,Marcel Ilg,https://github.com/Mister00X/moremath,https://github.com/Mister00X/moremath.git,https://github.com/Mister00X/moremath/issues,2024-07-27,2024-07-27,
morewrites,morewrites,Bruno Le Floch,https://github.com/blefloch/latex-morewrites,https://github.com/blefloch/latex-morewrites.git,https://github.com/blefloch/latex-morewrites/issues,2013-03-16,2015-09-22,
msg,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
msvg,media4svg,Alexander Grahn,,https://gitlab.com/agrahn/media4svg,https://gitlab.com/agrahn/media4svg/issues,2020-04-15,2020-04-15,
@@ -210,6 +214,7 @@ property,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
pseudo,pseudo,Magnus Lie Hetland,https://github.com/mlhetland/pseudo.sty,https://github.com/mlhetland/pseudo.sty.git,https://github.com/mlhetland/pseudo.sty/issues,2019-06-24,2019-06-24,
ptex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-07-28,2015-07-28,
ptxcd,ptxcd,Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate design templates
+ptxtools,"depp, ptxtools",Marei Peischl,https://gitlab.com/islandoftex/texmf/depp,https://gitlab.com/islandoftex/texmf/depp.git,https://gitlab.com/islandoftex/texmf/depp,2024-07-09,2024-07-09,
qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27,
quark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
rainbow,beamertheme-rainbow,samcarter,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow/issues,2023-07-04,2023-07-04,
@@ -239,6 +244,7 @@ slcd,se2thesis,Stephan Lukasczyk,https://github.com/se2p/se2thesis,https://githu
socket,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
sort,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
space,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+spath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
starray,starray,Alceu Frigeri,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray/issues,2023-05-15,2023-05-15,
statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistics,https://gitlab.com/frnchfrgg-latex/statistics.git,https://gitlab.com/frnchfrgg-latex/statistics/issues,2018-06-25,2018-06-25,
stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26,
@@ -258,6 +264,7 @@ tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17,
+tikzspath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tl,"l3kernel,l3tl-build",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -288,6 +295,7 @@ xmarks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https
xparse,xparse,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16,
xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16,
+xpg,polyglossia,Jürgen Spitzmüller,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/issues,2024-07-02,2024-07-02,
xpinyin,xpinyin,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-03-16,2013-05-26,
xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15,
xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14,
@@ -299,4 +307,5 @@ zhnum,zhnumber,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/
zrefcheck,zref-check,gusbrs,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check/issues,2021-08-05,2021-08-05,
zrefclever,zref-clever,gusbrs,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever/issues,2021-11-29,2021-11-29,
zrefvario,zref-vario,gusbrs,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario/issues,2022-02-02,2022-02-02,
+zugferd,zugferd,Marei Peischl,https://github.com/TeXhackse/LaTeX-ZUGFeRD,https://github.com/TeXhackse/LaTeX-ZUGFeRD.git,https://github.com/TeXhackse/LaTeX-ZUGFeRD/issues,2024-07-09,2024-07-09,
zxjt,zxjatype,Takayuki Yato,,,,2013-03-16,2013-03-16,
diff --git a/macros/latex-dev/required/l3kernel/l3prefixes.pdf b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
index e9633dee24..9b3c4cde2a 100644
--- a/macros/latex-dev/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3prg.dtx b/macros/latex-dev/required/l3kernel/l3prg.dtx
index 92bcf69e60..69c66057d4 100644
--- a/macros/latex-dev/required/l3kernel/l3prg.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3prop.dtx b/macros/latex-dev/required/l3kernel/l3prop.dtx
index 70bd8bcf1c..5f60f31b81 100644
--- a/macros/latex-dev/required/l3kernel/l3prop.dtx
+++ b/macros/latex-dev/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -181,11 +181,11 @@
% \prop_gset_from_keyval:Nn, \prop_gset_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_set_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_set_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Sets \meta{property list} to contain key--value pairs given in the second
% argument. If duplicate keys appear only the last of the values is kept.
@@ -205,11 +205,11 @@
% \begin{function}[added = 2017-11-28, updated = 2021-11-07]
% {\prop_const_from_keyval:Nn, \prop_const_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{flat} \meta{property list} or raises
% an error if the
@@ -224,11 +224,11 @@
% \begin{function}[added = 2024-02-12]
% {\prop_const_linked_from_keyval:Nn, \prop_const_linked_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{linked} \meta{prop~var} or raises an
% error if the
@@ -347,11 +347,11 @@
% \prop_gput_from_keyval:Nn, \prop_gput_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_put_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_put_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Updates the \meta{property list} by adding entries for each key--value
% pair given in the second argument. The addition is done through
diff --git a/macros/latex-dev/required/l3kernel/l3quark.dtx b/macros/latex-dev/required/l3kernel/l3quark.dtx
index ae2e5b2ace..d4558e216b 100644
--- a/macros/latex-dev/required/l3kernel/l3quark.dtx
+++ b/macros/latex-dev/required/l3kernel/l3quark.dtx
@@ -32,7 +32,7 @@
%
% \title{^^A
% The \pkg{l3quark} module\\ Quarks and scan marks^^A
-% }
+% }\ifdefined\thechapter\label{sec:l3quarks}\fi
%
% \author{^^A
% The \LaTeX{} Project\thanks
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3regex.dtx b/macros/latex-dev/required/l3kernel/l3regex.dtx
index f5557a0bdc..b6ca0d5d2c 100644
--- a/macros/latex-dev/required/l3kernel/l3regex.dtx
+++ b/macros/latex-dev/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3seq.dtx b/macros/latex-dev/required/l3kernel/l3seq.dtx
index 8771429150..2f0b223753 100644
--- a/macros/latex-dev/required/l3kernel/l3seq.dtx
+++ b/macros/latex-dev/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3skip.dtx b/macros/latex-dev/required/l3kernel/l3skip.dtx
index c53e3c82f0..788abaf20c 100644
--- a/macros/latex-dev/required/l3kernel/l3skip.dtx
+++ b/macros/latex-dev/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3sort.dtx b/macros/latex-dev/required/l3kernel/l3sort.dtx
index aabf913745..6c997672de 100644
--- a/macros/latex-dev/required/l3kernel/l3sort.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str-convert.dtx b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
index 579deac4fc..4da5cf1302 100644
--- a/macros/latex-dev/required/l3kernel/l3str-convert.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3str.dtx b/macros/latex-dev/required/l3kernel/l3str.dtx
index 211769877c..787bbf6d87 100644
--- a/macros/latex-dev/required/l3kernel/l3str.dtx
+++ b/macros/latex-dev/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -757,7 +757,7 @@
% \item Case changing text for typesetting: see the
% \cs[index=text_lowercase:n]{text_lowercase:n(n)},
% \cs[index=text_uppercase:n]{text_uppercase:n(n)} and
-% \cs[index=text_titlecase_all:n]{text_titlecase_(all|once):n(n)} functions which
+% \cs[index=text_titlecase_all:n]{text_titlecase_(all|first):n(n)} functions which
% correctly deal with context-dependence and other factors appropriate
% to text case changing.
% \end{itemize}
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.pdf b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
index 80dabed626..5ecb6ce5a4 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3styleguide.tex b/macros/latex-dev/required/l3kernel/l3styleguide.tex
index 1caf698e9b..0500ec57cd 100644
--- a/macros/latex-dev/required/l3kernel/l3styleguide.tex
+++ b/macros/latex-dev/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\begin{document}
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
index ef84d78a9f..2b92188b17 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
index 5ed2fba867..8631fe09b8 100644
--- a/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
+++ b/macros/latex-dev/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3sys.dtx b/macros/latex-dev/required/l3kernel/l3sys.dtx
index 699e348097..861865c677 100644
--- a/macros/latex-dev/required/l3kernel/l3sys.dtx
+++ b/macros/latex-dev/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
index 5705a81599..e70523067d 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/l3term-glossary.tex b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
index 3221b10280..b150aee1e9 100644
--- a/macros/latex-dev/required/l3kernel/l3term-glossary.tex
+++ b/macros/latex-dev/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex-dev/required/l3kernel/l3text-case.dtx b/macros/latex-dev/required/l3kernel/l3text-case.dtx
index 915b8e1cd9..2a3702df85 100644
--- a/macros/latex-dev/required/l3kernel/l3text-case.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text-map.dtx b/macros/latex-dev/required/l3kernel/l3text-map.dtx
index b29dbbf0ca..431e033707 100644
--- a/macros/latex-dev/required/l3kernel/l3text-map.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text-purify.dtx b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
index 2fe35a21e7..051933eb9b 100644
--- a/macros/latex-dev/required/l3kernel/l3text-purify.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3text.dtx b/macros/latex-dev/required/l3kernel/l3text.dtx
index 472fc7d9bc..0680c19fed 100644
--- a/macros/latex-dev/required/l3kernel/l3text.dtx
+++ b/macros/latex-dev/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
@@ -65,11 +65,11 @@
% \end{syntax}
% Takes user input \meta{text} and expands the content.
% Protected commands (typically
-% formatting) are left in place, and no processing takes place of
+% formatting) are left in place, and no processing of
% math mode material (as delimited by pairs given in
% \cs{l_text_math_delims_tl} or as the argument to commands listed
-% in \cs{l_text_math_arg_tl}). Commands which are neither engine-
-% nor \LaTeX{} protected are expanded exhaustively.
+% in \cs{l_text_math_arg_tl}) takes place. Commands which are neither engine-
+% nor \LaTeX{}-protected are expanded exhaustively.
% Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from
% expansion, as are those in \cs{l_text_case_exclude_arg_tl} and
% \cs{l_text_math_arg_tl}.
@@ -114,8 +114,8 @@
% \end{function}
%
% Upper- and lowercase have the obvious meanings. Titlecasing may be regarded
-% informally as converting the first character of the \meta{tokens} to
-% uppercase. However, the process is more complex
+% informally as converting the first \emph{non-space} character of the
+% \meta{tokens} to uppercase. However, the process is more complex
% than this as there are some situations where a single lowercase character
% maps to a special form, for example \texttt{ij} in Dutch which becomes
% \texttt{IJ}. There are two functions available for titlecasing: one which
@@ -214,8 +214,8 @@
% \text_declare_uppercase_mapping:nnn
% }
% \begin{syntax}
-% \cs{text_declare_lowercase_mapping:nn} \Arg{codeppoint} \Arg{replacement}
-% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codeppoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nn} \Arg{codepoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codepoint} \Arg{replacement}
% \end{syntax}
% Declares that the \meta{replacement} tokens should be used when case mapping
% the \meta{codepoint}, rather than the standard mapping given in the
diff --git a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
index 53a8842b6f..aa4ccae287 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl-build.dtx b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
index abd6f97193..a1e5b27ec8 100644
--- a/macros/latex-dev/required/l3kernel/l3tl-build.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3tl.dtx b/macros/latex-dev/required/l3kernel/l3tl.dtx
index da498dcf9c..2c8de13fd3 100644
--- a/macros/latex-dev/required/l3kernel/l3tl.dtx
+++ b/macros/latex-dev/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3token.dtx b/macros/latex-dev/required/l3kernel/l3token.dtx
index 34387ca6b0..cf0f998103 100644
--- a/macros/latex-dev/required/l3kernel/l3token.dtx
+++ b/macros/latex-dev/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/l3unicode.dtx b/macros/latex-dev/required/l3kernel/l3unicode.dtx
index 5ca6ffbf41..89450e18fe 100644
--- a/macros/latex-dev/required/l3kernel/l3unicode.dtx
+++ b/macros/latex-dev/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-06-19}
+% \date{Released 2024-08-16}
%
% \maketitle
%
diff --git a/macros/latex-dev/required/l3kernel/source3.pdf b/macros/latex-dev/required/l3kernel/source3.pdf
index c61b5e0ade..108054a452 100644
--- a/macros/latex-dev/required/l3kernel/source3.pdf
+++ b/macros/latex-dev/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex-dev/required/l3kernel/source3.tex b/macros/latex-dev/required/l3kernel/source3.tex
index 4297476aab..9abacf7762 100644
--- a/macros/latex-dev/required/l3kernel/source3.tex
+++ b/macros/latex-dev/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-06-19}
+\date{Released 2024-08-16}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex-dev/required/l3kernel/source3body.tex b/macros/latex-dev/required/l3kernel/source3body.tex
index 8471296227..db5b907e7b 100644
--- a/macros/latex-dev/required/l3kernel/source3body.tex
+++ b/macros/latex-dev/required/l3kernel/source3body.tex
@@ -344,6 +344,19 @@ are never used by the core code. The nature of \TeX{} grouping means that as
with any other scratch variable, these should only be set and used with no
intervening third-party code.
+There are two more special types of constants:
+\begin{description}
+ \item[\texttt{q}] Quark constants.
+ \item[\texttt{s}] Scan mark constants.
+\end{description}
+Similarly, each quark or scan mark name starts with the module name,
+but doesn't end with a variable type, because the type is already
+marked by the prefix \texttt{q} or \texttt{s}.
+Some general quarks and scan marks provided by \LaTeX3 don't start
+with a module name, for example \cs{s_stop}.
+See documentation of quarks and scan marks in Chapter~\ref{sec:l3quarks}
+for more info.
+
\subsection{Terminological inexactitude}
A word of warning. In this document, and others referring to the \pkg{expl3}
diff --git a/macros/latex-dev/required/latex-lab/README.md b/macros/latex-dev/required/latex-lab/README.md
index fb930aa965..656f38c83c 100644
--- a/macros/latex-dev/required/latex-lab/README.md
+++ b/macros/latex-dev/required/latex-lab/README.md
@@ -1,6 +1,6 @@
# LaTeX laboratory
-Release 2024-11-01 pre-release 0
+Release 2024-11-01 pre-release 2
## Overview
diff --git a/macros/latex-dev/required/latex-lab/blocks-code.pdf b/macros/latex-dev/required/latex-lab/blocks-code.pdf
index a5d58887f2..bf70e0ab48 100644
--- a/macros/latex-dev/required/latex-lab/blocks-code.pdf
+++ b/macros/latex-dev/required/latex-lab/blocks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/blocks-doc.pdf b/macros/latex-dev/required/latex-lab/blocks-doc.pdf
index e62b76f5e3..3c332f8d08 100644
--- a/macros/latex-dev/required/latex-lab/blocks-doc.pdf
+++ b/macros/latex-dev/required/latex-lab/blocks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/changes.txt b/macros/latex-dev/required/latex-lab/changes.txt
index cd53086b2b..4d81eb6373 100644
--- a/macros/latex-dev/required/latex-lab/changes.txt
+++ b/macros/latex-dev/required/latex-lab/changes.txt
@@ -1,12 +1,51 @@
+2024-08-14 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-math.dtx: add luamml support for automatic mathml generation
+
+2024-08-12 Joseph Wright <Joseph.Wright@latex-project.org>
+ * latex-lab-math.dtx: add support for math in tabulars
+
+2024-08-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-firstaid.dtx: amsproc support, discussion in PR #517
+
+2024-08-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-block.dtx: preset verbatim para-instance, issue #119
+
+2024-08-10 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-block.dtx, latex-lab-table.dtx: reset flattened level in para/restore, issue #544
+
+2024-08-08 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-minipage.dtx, latex-lab-table.dtx: improve support for minipage in tables.
+ handle issue #37
+
+2024-08-06 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-table.dtx: add support for header-columns
+ * latex-lab-table.dtx: add support for multirows
+ * latex-lab-table.dtx: handle issue #432
+ * latex-lab-marginpar.dtx: handle issue #444
+
+2024-07-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-footnote.dtx: restore paragraph defaults at the begin of the footnote
+ tagging-project#262
+
+2024-07-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex-lab-table.dtx (subsection{Tagging support sockets}):
+ add plugs for tbl/leaders/begin and /end
+ (subsection{Misc stuff}): drop unused socket
+
+2024-07-11 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+ * latex-lab-toc.dtx, latex-lab-toc-kernel-changes: switch from configuration points
+ to sockets.
+
2024-05-25 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* latex-lab-table.dtx: disable table headers in presentation tables.
2024-05-25 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
- * latex-lab-firstaid.dtx: add firstaid for booktabs cmidrules,
+ * latex-lab-firstaid.dtx: add firstaid for booktabs cmidrules,
see tagging-issue 69.
2024-04-18 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
- * documentmetadata-support.dtx: change handling of default language.
+ * documentmetadata-support.dtx: change handling of default language.
The code now tries to detect languages set by babel/polyglossia.
2024-04-16 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
diff --git a/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf b/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
index bc995e7cce..f1f110cd0b 100644
--- a/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
+++ b/macros/latex-dev/required/latex-lab/documentmetadata-support-code.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf b/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
index 9466a187ff..38fa0a4633 100644
--- a/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
+++ b/macros/latex-dev/required/latex-lab/documentmetadata-support-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
index 57e27067cb..1b6302bb33 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.dtx
@@ -66,7 +66,7 @@
% \subsection{File declaration}
% \begin{macrocode}
\ProvidesFile{latex-lab-amsmath.ltx}
- [2024-02-12 v0.1b amsmath adaptions]
+ [2024-07-05 v0.1b amsmath adaptions]
% \end{macrocode}
% \subsection{Tagpdf support}
% To make the code independent from tagging being loaded and active
@@ -200,8 +200,8 @@
% \end{macrocode}
%
% \subsection{\cs{pmb}}
-% \cs{pmb} prints is argument three times. For tagging we must mark
-% two of occurences as artifact.
+% \cs{pmb} prints its argument three times. For tagging we must mark
+% two of occurrences as artifact.
% For luatex the attributes in the box must be reset, for this
% we switch to expl3-boxes.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
index 794d259d4c..96e0c83add 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx b/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
index e8ee192a7b..9d336aba20 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-bib.dtx
@@ -16,7 +16,7 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabbibdate{2024-02-12}
+\def\ltlabbibdate{2024-07-05}
\def\ltlabbibversion{0.81b}
%<*driver>
\documentclass{l3doc}
@@ -128,7 +128,7 @@
%
% \begin{function}{\@extra@binfo,\@extra@b@citeb}
%
-% These are taken from hyperref, they are for chapterbib compability (and also
+% These are taken from hyperref, they are for chapterbib compatibility (and also
% signal to chapterbib not to change the citation commands)
% \end{function}
%
@@ -157,7 +157,7 @@
% \end{macrocode}
% \begin{macro}{\@extra@binfo,\@extra@b@citeb}
-% These are taken from hyperref, they are for chapterbib compability (and also
+% These are taken from hyperref, they are for chapterbib compatibility (and also
% signal to chapterbib not to change the citation commands)
% \begin{macrocode}
\providecommand*\@extra@binfo{}%
@@ -270,7 +270,7 @@
% \end{macrocode}
% Now we add the tagging structure.
% TODO: with the next tagpdf version it should no longer be
-% needed to exand the ref key.
+% needed to expand the ref key.
% \begin{macrocode}
\AddToHookWithArguments{bibcite/before}
{
@@ -305,7 +305,7 @@
% We need in part different code for both systems:
% with biblatex we have to take care that only the first
% structure sets a label, and if
-% hyperref is not loaded (or deactived) we will need additional code
+% hyperref is not loaded (or deactivated) we will need additional code
% but this currently doesn't exist.
% We assume that no document loads both package -- that will probably break.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf b/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
index 7eb16beaf9..e0c48c784e 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-bib.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-block.dtx b/macros/latex-dev/required/latex-lab/latex-lab-block.dtx
index 7d08b270d2..23c590419e 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-block.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-block.dtx
@@ -9,8 +9,8 @@
%
% https://www.latex-project.org/lppl.txt
%
-\def\ltlabblockdate{2024-03-23}
-\def\ltlabblockversion{0.8n}
+\def\ltlabblockdate{2024-08-11}
+\def\ltlabblockversion{0.8p}
%<*driver>
\documentclass[kernel]{l3doc}
\usepackage{amstext}
@@ -341,7 +341,7 @@
%
% The idea of a \key{heading} key needs some further
% thoughts. Maybe instead the object type should accept a second
-% argument and receive input for such a headding from the document
+% argument and receive input for such a heading from the document
% level instead.
%
% The names of the keys need further thoughts and some
@@ -474,7 +474,7 @@
% \>\>\> The paragraph text before the display element \ldots\\
% \>\> \struct{/text}\\
% \>\> \struct{display element structure}\\
-% \>\>\> Content of the display structure possiblly involving inner \struct{text-unit} tags\\
+% \>\>\> Content of the display structure possibly involving inner \struct{text-unit} tags\\
% \>\> \struct{/display element structure}\\
% \>\> \struct{text}\\
% \>\>\> \ldots{} continuing the outer paragraph text\\
@@ -722,7 +722,7 @@
blockenv implementation]
% \end{macrocode}
%
-% Generell kernel changes, also loaded by the sec and toc code.
+% General kernel changes, also loaded by the sec and toc code.
% \begin{macrocode}
\RequirePackage{latex-lab-kernel-changes}
% \end{macrocode}
@@ -795,7 +795,52 @@
% The flag itself should be set globally not locally.\fmi{verify
% that this claim is actually correct!}
% \begin{macrocode}
-\def\@endpetrue {\global\let\if@endpe\iftrue}
+\def\@endpetrue {%
+ \global\let\if@endpe\iftrue
+% if called inside a group propagate to the outside
+ \ifnum\currentgrouplevel>\z@
+ \aftergroup\propagate@doendpe
+ \fi
+}
+% \end{macrocode}
+%
+% If \cs{if@endpe} is still true run \cs{@doendpe}
+% that in turn runs another \cs{@endpetrue} (besides other things),
+% thus propagating further, if necessary
+% However, if the endpe situation got resolved nothing further happens
+% \begin{macrocode}
+\def\propagate@doendpe{%
+ \if@endpe
+ \@@_debug_typeout:n{run~ (another)~ @doendpe~ at~
+ group~ level~ \the\currentgrouplevel}%
+ \@doendpe
+ \else
+ \@@_debug_typeout:n{do~ not~ run~ (another)~ @doendpe}%
+ \fi
+}
+% \end{macrocode}
+%
+% With the above approach we do not need the propagation in
+% \cs{end...} any longer
+% (since this is now handled by
+% \cs{aftergroup}\cs{propagate@doendpe}) so
+% here a simple \cs{endgroup} is enough. This replaces the
+% definition in ...:
+% \begin{macrocode}
+\@namedef{end }#1{%
+ \romannumeral
+ \IfHookEmptyTF{env/#1/end}%
+ {\expandafter\z@}%
+ {\z@\UseHook{env/#1/end}}%
+ \csname end#1\endcsname\@checkend{#1}%
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+ \endgroup
+ \UseHook{env/#1/after}%
+ \if@ignore\@ignorefalse\ignorespaces\fi
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
\def\@endpefalse{\global\let\if@endpe\iffalse}
% \end{macrocode}
% \end{macro}
@@ -1569,7 +1614,7 @@
% \end{macrocode}
% We need to know later if we have nested blockenvs inside
% a flattened environment. Whenever we start a new blockenv we
-% increment \cs{\l_@@_flattened_level_int} if it is already
+% increment \cs{l__tag_block_flattened_level_int} if it is already
% different from zero. If it is zero we increment it if flattening
% is requested.
% Thus a value of \texttt{0} means no flattening requested so far
@@ -1578,14 +1623,14 @@
% is surrounded by a \texttt{text-unit} tag, while for any value above
% \texttt{1} we have to omit the \texttt{text-unit}.
% \begin{macrocode}
- \int_compare:nNnTF \l_@@_flattened_level_int > 0
+ \int_compare:nNnTF \l__tag_block_flattened_level_int > 0
{
- \int_incr:N \l_@@_flattened_level_int
+ \int_incr:N \l__tag_block_flattened_level_int
}
{
\bool_if:NT \l__tag_para_flattened_bool
{
- \int_incr:N \l_@@_flattened_level_int
+ \int_incr:N \l__tag_block_flattened_level_int
}
}
%
@@ -1681,11 +1726,15 @@
% \end{template}
%
%
-% \begin{macro}{\l_@@_flattened_level_int}
+% \begin{macro}{\l__tag_block_flattened_level_int}
% Count the levels of nested blockenvs starting with the first that
-% is \enquote{flattened}.
+% is \enquote{flattened}. The counter is defined in lttagging.dtx,
+% but until the next release 11/24 we set it up here too
% \begin{macrocode}
-\int_new:N \l_@@_flattened_level_int
+\int_if_exist:NF \l__tag_block_flattened_level_int
+ {
+ \int_new:N \l__tag_block_flattened_level_int
+ }
% \end{macrocode}
% \end{macro}
%
@@ -1814,9 +1863,13 @@
% and should not inherit the setting from the outer environment.
% \begin{macrocode}
\socket_new_plug:nnn{tagsupport/block-endpe}{on}
- { \legacy_if_gset_true:n { @endpe } }
+% \end{macrocode}
+% We can't use \cs{legacy_if_gset_true:n} because this is now doing
+% more than setting the legacy switch
+% \begin{macrocode}
+ { \@endpetrue }
\socket_new_plug:nnn{tagsupport/block-endpe}{off}
- { \legacy_if_gset_false:n { @endpe } }
+ { \@endpefalse }
% \end{macrocode}
%
% \begin{macrocode}
@@ -1981,7 +2034,7 @@
% \cs{parskip} and some other housekeeping, unless this block is inside a list and the list
% \cs{item} has not yet placed. In that case the vertical
% space and penalty us suppressed. This
-% is controled through the legacy switches \texttt{@noparitem},
+% is controlled through the legacy switches \texttt{@noparitem},
% \texttt{minipage}, and \texttt{@nobreak}.
% \begin{macrocode}
\legacy_if:nTF { @noparitem }
@@ -2520,7 +2573,7 @@
%
% \begin{macro}{\item}
% Here we already have all the building blocks. Complain in math
-% mode. Distingusih between first item (do necessary tagging) and
+% mode. Distinguish between first item (do necessary tagging) and
% later items \cs{@@_inter_item:} to
% cleanly close what's before, then call \cs{@@_item_instance:n} (which
% calls \cs{UseInstance}\{item\}\marg{instance}) to prepare the
@@ -2751,7 +2804,7 @@
\socket_assign_plug:nn{tagsupport/block-endpe}{on}
% \end{macrocode}
%
-% Handle the tag name and attribute classess using the key values
+% Handle the tag name and attribute classes using the key values
% from the current list instance.
% \begin{macrocode}
\tl_if_empty:NTF \l_@@_tag_name_tl
@@ -2994,6 +3047,7 @@
block-instance = verbatimblock ,
inner-instance = ,
final-code = \legacyverbatimsetup ,
+ para-instance = justify
}
% \end{macrocode}
% \end{instance}
@@ -3173,7 +3227,7 @@
% block quoteblock-4,
% block quoteblock-5,
% block quoteblock-6 }
-% Default layout is to indent equaly from both side.
+% Default layout is to indent equally from both sides.
% \begin{macrocode}
\DeclareInstance{block}{quoteblock-1}{display}
{ rightmargin = \KeyValue{leftmargin} }
@@ -3468,7 +3522,7 @@
% then have to avoid adding another \texttt{text-unit}.
% \begin{macrocode}
{
- \int_compare:nNnT \l_@@_flattened_level_int < 2
+ \int_compare:nNnT \l__tag_block_flattened_level_int < 2
{
\__tag_gincr_para_main_begin_int:
\tag_struct_begin:n
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-block.pdf b/macros/latex-dev/required/latex-lab/latex-lab-block.pdf
index d13acb45d3..8c2d75c604 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-block.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-block.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
index ce0d46f815..9a94863d7a 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.dtx
@@ -16,8 +16,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabfirstaiddate{2024-05-25}
-\def\ltlabfirstaidversion{0.85d}
+\def\ltlabfirstaiddate{2024-08-11}
+\def\ltlabfirstaidversion{0.85e}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -92,7 +92,7 @@
% \end{macro}
% \subsection{ams classes}
-% The amsart and amsbook classes do not use \cs{@author} to store the author list
+% The amsart, amsbook and amsproc classes do not use \cs{@author} to store the author list
% but a command \cs{authors}. To be able to nevertheless use the authors in the
% xmp-metadata we map \cs{@author} to this new command.
%
@@ -101,6 +101,8 @@
{\def\@author{\authors}}
\AddToHook{class/amsbook/after}
{\def\@author{\authors}}
+\AddToHook{class/amsproc/after}
+ {\def\@author{\authors}}
% \end{macrocode}
%
%
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
index c035081f6b..b39537dc95 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-firstaid.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-float.dtx b/macros/latex-dev/required/latex-lab/latex-lab-float.dtx
index a817133713..25ae805cfd 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-float.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-float.dtx
@@ -16,7 +16,7 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabfloatdate{2024-03-23}
+\def\ltlabfloatdate{2024-07-05}
\def\ltlabfloatversion{0.81e}
%<*driver>
\documentclass{l3doc}
@@ -64,7 +64,7 @@
%
% A special type, called a H-float, (provided by the float package)
% is always placed in the main text stream and does not
-% necessarly preserve the order with normal floats of the same type: It is basically
+% necessarily preserve the order with normal floats of the same type: It is basically
% a minipage with a caption.
%
% Floats typically contain a figure (or a table, etc.) and a caption,
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-float.pdf b/macros/latex-dev/required/latex-lab/latex-lab-float.pdf
index edc88f0b2a..e391effd75 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-float.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-float.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
index a3d044ab87..039d8554f4 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.dtx
@@ -17,8 +17,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabfootnotedate{2024-03-12}
-\def\ltlabfootnoteversion{0.8d}
+\def\ltlabfootnotedate{2024-07-27}
+\def\ltlabfootnoteversion{0.8e}
%<*driver>
\documentclass{l3doc}
@@ -636,7 +636,7 @@
% number to setup the reference and the link.
%
% The structure related to the \cs{footref} is added to the end of the \texttt{/Ref} array of the note and so the
-% \texttt{/Ref} array doesn't necessarly reflect the order of the marks in the document. It would probably
+% \texttt{/Ref} array doesn't necessarily reflect the order of the marks in the document. It would probably
% be possible to change this, but it is not clear if it actually matters and so it worth the additional coding
% and processing.
%
@@ -1150,6 +1150,21 @@
%
%
% \begin{macro}{\fnote_footnotetext:n}
+% We temporarily test for the tagging socket until it is in the next release:
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/para/restore_plug_str }
+ {
+ \NewSocket{tagsupport/para/restore}{0}
+ \NewSocketPlug{tagsupport/para/restore}{default}
+ {
+ \tl_set:Nn \l__tag_para_main_tag_tl {text-unit}
+ \tl_set_eq:NN \l__tag_para_tag_tl\l__tag_para_tag_default_tl
+ \bool_set_false:N\l__tag_para_flattened_bool
+ }
+ \AssignSocketPlug{tagsupport/para/restore}{default}
+ }
+% \end{macrocode}
+%
% \begin{macrocode}
\cs_new_protected:Npn \fnote_footnotetext:n #1 {
\@@_debug_footnotetext:
@@ -1191,6 +1206,7 @@
\floatingpenalty \@MM
\hsize\columnwidth
\@parboxrestore
+ \UseTaggingSocket{para/restore}
\parindent 1em % typical default used in \@makefntext moved up here
\def\@currentcounter{footnote}
\protected@edef \@currentlabel { \p@footnote \@thefnmark }
@@ -1673,7 +1689,7 @@
%
% \subsubsection{\pkg{memoir}}
% The \pkg{memoir} class redefines various internal commands to inject its
-% hooks and addtional code. The following reinstates the kernel command and
+% hooks and additional code. The following reinstates the kernel command and
% so probably breaks various options of \pkg{memoir}, but without the
% changes it errors anyway. The \pkg{footmisc} package should be used to change
% for example to para footnotes.
@@ -2446,7 +2462,7 @@
% This can use the default interface, except that a negative value for
% \footnotemargin makes little sense, so we test for this and warn if
-% necessary. But -\maxdimen is ok again, so would need to be a litte bit more elaborate.
+% necessary. But -\maxdimen is ok again, so would need to be a little bit more elaborate.
%
%\AddToHook{fntext/para}{
@@ -2483,7 +2499,7 @@
\leavevmode
% \end{macrocode}
% Typesetting the mark twice means that one can't have any material
-% inside that gets unhappy in that case. Tha shouldn't be a
+% inside that gets unhappy in that case. That shouldn't be a
% problem, but perhaps we have to come up with a more elaborate
% solution in the end.
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
index 6fa73ecf8b..ffe5d3bdb9 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-footnotes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx b/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
index 5ea4a2db9c..a596366aa7 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-graphic.dtx
@@ -15,7 +15,7 @@
% https://github.com/latex3/latex2e/required/latex-lab
%
% for those people who are interested or want to report an issue.
-\def\ltlabgraphicdate{2024-03-13}
+\def\ltlabgraphicdate{2024-07-05}
\def\ltlabgraphicversion{0.80d}
%
%<*driver>
@@ -78,7 +78,7 @@
% The value of a \texttt{BBox} is an array of four numbers that gives the
% coordinates of the left, bottom, right, and top edges
% of the structure element’s bounding box. That is the rectangle that completely encloses
-% its \emph{visible} content so not necessarly the TeX bounding box:
+% its \emph{visible} content so not necessarily the TeX bounding box:
% if \texttt{viewport} or \texttt{trim} is used and the
% graphic is not clipped, the visible content can be larger.
%
@@ -146,8 +146,8 @@
% \item[\texttt{artifact}] When used the graphic will be tagged as artifact. This doesn't
% require a \texttt{BBox} and so works also in some of the not yet supported cases described
% above.
-% \item[\texttt{false}] When used tagging will be stopped completly. It is then the
-% responsability of the surrounding code to add appropriate tagging commands.
+% \item[\texttt{false}] When used tagging will be stopped completely. It is then the
+% responsibility of the surrounding code to add appropriate tagging commands.
% \item[\meta{name}] Other values will be used as tag names in the structure. If the tag is not
% known as a structure tag you will get an warning from tagpdf. The default name is currently
% \texttt{Figure}
@@ -291,7 +291,7 @@
% ,\l_@@_graphic_trim_uy_fp
% }
% A bunch of fp-variables (we don't use tl-vars,
-% to avoid to have to take care about minus signs everwhere)
+% to avoid to have to take care about minus signs everywhere)
% \begin{macrocode}
\fp_new:N\l_@@_graphic_sin_fp
\fp_new:N\l_@@_graphic_cos_fp
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf b/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf
index 04e6d424d0..76b9bc48f8 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-graphic.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
index ca79d8a67f..a57ebaab80 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.dtx
@@ -18,8 +18,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabmarginpardate{2024-02-12}
-\def\ltlabmarginparversion{0.85b}
+\def\ltlabmarginpardate{2024-08-06}
+\def\ltlabmarginparversion{0.85c}
%<*driver>
\documentclass[kernel]{l3doc}
@@ -72,7 +72,7 @@
% They can be tagged either as artifacts (if they are merely distracting decoration),
% as small headings before the paragraph, or as |Aside|. Unlike the PDF 1.7 fallback |Note|
% the structure |Aside| is not allowed inside |P|,
-% so if |Aside| is used, it must be placed before or after the current |P| in the surounding |text-unit|,
+% so if |Aside| is used, it must be placed before or after the current |P| in the surrounding |text-unit|,
% or it must split the |P|. Splitting is probably not so good as
% |\marginpar| is often used somewhere in the middle of sentence.
% The best default is probably to use |Aside|, find the parent |text-unit| and add it there.
@@ -153,13 +153,38 @@
\socket_new:nn {tagsupport/marginpar/end}{0}
% \end{macrocode}
% \end{socketdecl}
+%
+% \begin{macro}{\@@_get_marginpar_parent:N,\@@_get_marginpar_parent_aux:nn}
+% In a paragraph we must retrieve
+% the structure number of the surrounding Part structure
+% TODO: if this is needed in more places this should
+% go into tagpdf.
+% \begin{macrocode}
+\cs_new_protected:Npn\@@_get_marginpar_parent_aux:nn #1 #2
+ {
+ \str_if_eq:eeT{\use_ii:nn #1}{Part}{\seq_put_right:Nn\l_@@_tmpa_seq {#2}}
+ }
+\cs_new_protected:Npn \@@_get_marginpar_parent:N #1
+ {
+ \seq_clear:N\l_@@_tmpa_seq
+ \seq_map_pairwise_function:NNN
+ \g_@@_struct_tag_stack_seq
+ \g_@@_struct_stack_seq
+ \@@_get_marginpar_parent_aux:nn
+ \seq_put_right:Nn\l_@@_tmpa_seq {2}
+ \seq_get_left:NN \l_@@_tmpa_seq #1
+ }
+\cs_generate_variant:Nn \tag_struct_begin:n {e}
+% \end{macrocode}
+% \end{macro}
% \begin{plugdecl}{tagsupport/marginpar/begin,tagsupport/marginpar/end}
% \begin{macrocode}
\socket_new_plug:nnn {tagsupport/marginpar/begin}{default}
{
\if_mode_horizontal:
- \tag_mc_end:
- \tag_struct_begin:n{tag=Aside,parent=\g__tag_para_main_struct_tl}%
+ \tag_mc_end:
+ \@@_get_marginpar_parent:N \l_@@_tmpa_tl
+ \tag_struct_begin:e{tag=Aside,parent=\l_@@_tmpa_tl}%
\else:
\tag_struct_begin:n{tag=Aside}%
\fi:
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
index 1e9317d8f4..45952781be 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-marginpar.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-math.dtx b/macros/latex-dev/required/latex-lab/latex-lab-math.dtx
index 0dbc591185..69fb600385 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-math.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-math.dtx
@@ -19,8 +19,8 @@
% for those people who are interested or want to report an issue.
%
%
-\def\ltlabmathdate{2024-04-16}
-\def\ltlabmathversion{0.5j}
+\def\ltlabmathdate{2024-08-14}
+\def\ltlabmathversion{0.6b}
%
%<*driver>
\documentclass{l3doc}
@@ -247,8 +247,15 @@
% It can be suppressed by an option with
% \texttt{math/tex/AF=false}, see below.
%
-% The MathML is attached if a file |\jobname-mathml.html| is found and
-% if it contains a suitable MathML snippet for the current formula.
+% The MathML is attached if the files |\jobname-mathml.html| and/or
+% |\jobname-luamml-mathml.html| are found
+% and if they contains a suitable MathML snippet for the current formula.
+% If the files contain more than one suitable snippet (as identified by the hash)
+% the first one is used.
+% |\jobname-luamml-mathml.html| is automatically generated (see below section~\ref{sec:luamml})
+% and read after |\jobname-mathml.html|. This means that |\jobname-mathml.html| can contain
+% improved versions of a formula.
+%
% The MathML processing can be suppressed globally by emptying the list of
% mathml files with |math/mathml/sources=|. Locally for a formula |math/mathml/AF=false|
% can be used.
@@ -306,7 +313,7 @@
%
% As mentioned above the MathML-AF can be suppressed for the equations in a group with
% |math/mathml/AF=false|, or
-% completly by setting |math/mathml/sources=| in the preamble.
+% completely by setting |math/mathml/sources=| in the preamble.
%
% Files embedded in a PDF can be listed in the attachments panel of a PDF viewer.
% This is probably not so useful for lots of small files (but one could create
@@ -316,6 +323,23 @@
% |viewer/pane/mathsource=true| (anywhere in the document) and |viewer/pane/mathml=false| (in the
% preamble, before the external file is read).
%
+%
+% \subsection{Automatic mathml creation with luamml}\label{sec:luamml}
+%
+% If lualatex is used, if the package \texttt{unicode-math} is used
+% and if the package \texttt{luamml} is found\footnote{Until it is
+% on CTAN and it must be installed from \url{https://github.com/zauguin/luamml}.}
+% then it will automatically generate the file |\jobname-luamml-mathml.html| with mathml representations
+% of all math formulas.
+% The generation of the file can be suppressed with |math/mathml/luamml=false|.
+% The package is still quite experimental and the output should be checked.
+% The |\jobname-luamml-mathml.html| file may be previewed in a browser although
+% you may need to add additional css or javascript declarations
+% to enable browser support for all mathml constructs.
+% The file is then used in subsequent compilations and works also with
+% pdflatex.
+%
+%
% \subsection{Options}
%
%
@@ -538,6 +562,7 @@
% \begin{macrocode}
\tl_new:N \l_@@_tmpa_tl
\skip_new:N \l_@@_tmpa_skip
+\str_new:N \l_@@_tmpa_str
% \end{macrocode}
% \end{variable}
%
@@ -592,7 +617,8 @@
% \l__tag_math_mathml_AF_bool,
% \g__tag_math_mathml_AF_bool,
% \l__tag_math_mathml_pane_bool,
-% \l__tag_math_alt_bool
+% \l__tag_math_alt_bool,
+% \g__tag_math_luamml_bool,
% }
% \begin{macrocode}
\bool_new:N\l__tag_math_texsource_AF_bool
@@ -601,6 +627,8 @@
\bool_new:N\g__tag_math_mathml_AF_bool
\bool_new:N\l__tag_math_mathml_pane_bool
\bool_new:N\l__tag_math_alt_bool
+\bool_new:N\g__tag_math_luamml_bool
+\bool_gset_true:N \g__tag_math_luamml_bool
% \end{macrocode}
% \end{variable}
%
@@ -631,9 +659,11 @@
%
% \begin{variable}{\l__tag_math_mathml_files_clist}
% A sequence to store the file list for the mathml.
+% If luatex is detected with also check the luamml file.
% \begin{macrocode}
\clist_new:N\l__tag_math_mathml_files_clist
-\clist_put_right:Ne\l__tag_math_mathml_files_clist {\c_sys_jobname_str-mathml}
+\clist_put_right:Ne\l__tag_math_mathml_files_clist
+ {\c_sys_jobname_str-mathml,\c_sys_jobname_str-luamml-mathml}
% \end{macrocode}
% \end{variable}
@@ -685,8 +715,148 @@
\@@_AF_mml:nnnn{#1}{#2}{#3}{#4}
}
% \end{macrocode}
+%
+% As with luatex we write two files we define a few constants for
+% the shared texts.
+%
+% \begin{macro}
+% {\c_@@_mathml_write_init_tl,\l_@@_mathml_write_before_tl,
+% \c_@@_mathml_write_after_tl,\c_@@_mathml_write_final_tl}
+% \begin{macrocode}
+\tl_const:Nn \c_@@_mathml_write_init_tl
+ {
+ <!DOCTYPE~html>
+ \iow_newline:
+ <html>
+ \iow_newline:
+ }
+\tl_new:N \l_@@_mathml_write_before_tl
+\tl_const:Nn \c_@@_mathml_write_after_tl
+ {
+ \iow_newline:
+ </div>
+ \iow_newline:
+ }
+\tl_const:Nn \c_@@_mathml_write_final_tl
+ {
+ </html>
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{socketdecl}{tagsupport/math/mathml/write/prepare}
+% To prepare the hash and the starting command we use a socket, so
+% that both the dummy and luamml can make use of it.
+% \begin{macrocode}
+\socket_new:nn {tagsupport/math/mathml/write/prepare}{0}
+% \end{macrocode}
+% \end{socketdecl}
+%
+% \begin{plugdecl}{On}
+% \begin{macrocode}
+\socket_new_plug:nnn{tagsupport/math/mathml/write/prepare}{On}
+ {
+ \str_set:NV\l_@@_tmpa_str\l_@@_content_AF_source_tl
+ \str_replace_all:Nnn\l_@@_tmpa_str{&}{&amp;}
+ \str_replace_all:Nnn\l_@@_tmpa_str{<}{&lt;}
+ \tl_set:Nn \l_@@_mathml_write_before_tl
+ {
+ <div>
+ \iow_newline:
+ <h2>\c_backslash_str mml\c_space_tl \int_use:N \g_@@_math_total_int </h2>
+ \iow_newline:
+ <p>\l_@@_tmpa_str</p>
+ \iow_newline:
+ <p>\l_@@_content_hash_tl </p>
+ \iow_newline:
+ }
+ }
+% \end{macrocode}
+% \end{plugdecl}
%
+% With luatex we automatically generate mathml with luamml if the package
+% can be loaded and unicode-math is detected.
+% We start the process in the begindocument/end hook
+% so that the reading from a previous compilation can happen before!
+% \begin{macrocode}
+\sys_if_engine_luatex:T
+ {
+ \file_if_exist:nT { luamml.sty }
+ {
+ \RequirePackage { luamml }
+ \AddToHook{begindocument/end}
+ {
+ \bool_if:NT \g__tag_math_luamml_bool
+ {
+ \@ifpackageloaded { unicode-math }
+ { \@@_luamml_activate_write: }
+ { \msg_warning:nn { tag }{ unicode-math-missing } }
+ }
+ }
+ }
+ }
+\msg_new:nnn { tag }{ unicode-math-missing }
+ {
+ The~package~unicode-math~is~missing\\
+ luamml~will~not~create~an~MathML~file.\\
+ To~avoid~this~warning~load~unicode-math~or~disable~luamml\\
+ with~\tl_to_str:n{\tagpdfsetup{math/mathml/luamml=false}}
+ }
+\cs_new_protected:Npn \@@_luamml_activate_write:
+ {
+% \end{macrocode}
+% to avoid that nothing is written in the first run, we must activate the sockets:
+% \begin{macrocode}
+ \bool_gset_true:N\g__tag_math_mathml_AF_bool
+ \AssignSocketPlug{tagsupport/math/struct/begin}{test-mathml}
+ \AssignSocketPlug{tagsupport/math/struct/end}{test-mathml}
+ \AssignSocketPlug{tagsupport/math/substruct/begin}{single}
+ \AssignSocketPlug{tagsupport/math/substruct/end}{single}
+ \int_set:Nn \l__luamml_pretty_int { 5 }
+ \RegisterFamilyMapping\symsymbols{oms}
+ \RegisterFamilyMapping\symletters{oml}
+ \AssignSocketPlug{tagsupport/math/mathml/write/prepare}{On}
+ \iow_new:N \g_@@_luamml_iow
+ \iow_open:Nn \g_@@_luamml_iow {\c_sys_jobname_str-luamml-mathml.html}
+ \iow_now:Ne \g_@@_luamml_iow { \c_@@_mathml_write_init_tl }
+ \cs_new:Npn \@@_luamml_output_hook:n ##1
+ {
+ \tl_if_empty:NF \l_@@_mathml_write_before_tl
+ {
+ \iow_now:Ne \g_@@_luamml_iow
+ {
+ \l_@@_mathml_write_before_tl
+ ##1
+ \c_@@_mathml_write_after_tl
+ }
+ }
+ }
+ \__luamml_register_output_hook:N \@@_luamml_output_hook:n
+% \end{macrocode}
+% this starts the process and set flag to 3,
+% not really needed, as it is the default but set here for clarity:
+% \begin{macrocode}
+ \luamml_flag_process:
+% \end{macrocode}
+% At the end of the document we must finish and close the file:
+% \begin{macrocode}
+ \AddToHook{enddocument/afterlastpage}
+ {
+ \iow_now:Ne \g_@@_luamml_iow
+ { \c_@@_mathml_write_final_tl }
+ \iow_close:N \g_@@_luamml_iow
+ }
+ }
+% \end{macrocode}
+% And now a key to deactivate luamml
+% \begin{macrocode}
+
+\keys_define:nn { __tag / setup }
+ {
+ math/mathml/luamml .bool_gset:N = \g__tag_math_luamml_bool,
+ math/mathml/luamml .usage:n=preamble
+ }
+% \end{macrocode}
% \begin{socketdecl}{tagsupport/math/mathml/write}
% This writes a html-dummy with the hash and the math content.
% This should be optional, so it uses a socket that can be disabled
@@ -700,24 +870,11 @@
% \begin{macrocode}
\socket_new_plug:nnn{tagsupport/math/mathml/write}{On}
{
- \str_set:NV\l_@@_tmpa_str\l_@@_content_AF_source_tl
- \str_replace_all:Nnn\l_@@_tmpa_str{&}{&amp;}
- \str_replace_all:Nnn\l_@@_tmpa_str{<}{&lt;}
\iow_now:Ne \g_@@_writedummy_iow
{
- \iow_newline:
- <div>
- \iow_newline:
- <h2>\c_backslash_str mml\c_space_tl \int_use:N \g_@@_math_total_int </h2>
- \iow_newline:
- <p>\l_@@_tmpa_str</p>
- \iow_newline:
- <p>\l_@@_content_hash_tl </p>
- \iow_newline:
+ \l_@@_mathml_write_before_tl
<math></math>
- \iow_newline:
- </div>
- \iow_newline:
+ \c_@@_mathml_write_after_tl
}
}
% \end{macrocode}
@@ -739,14 +896,14 @@
}
\iow_now:Ne \g_@@_writedummy_iow
{
- <!DOCTYPE~html>
- \iow_newline:
- <html>
+ \c_@@_mathml_write_init_tl
}
+ \AssignSocketPlug {tagsupport/math/mathml/write/prepare}{On}
\AssignSocketPlug {tagsupport/math/mathml/write}{On}
\AddToHook{enddocument/afterlastpage}
{
- \iow_now:Nn \g_@@_writedummy_iow {</html>}
+ \iow_now:Ne \g_@@_writedummy_iow
+ { \c_@@_mathml_write_final_tl }
\iow_close:N \g_@@_writedummy_iow
}
}
@@ -900,7 +1057,7 @@
% \end{macrocode}
% \end{plugdecl}
%
-% We probably will want to test different tagging receipes.
+% We probably will want to test different tagging recipes.
% \begin{plugdecl}{default}
% \begin{macrocode}
\socket_new_plug:nnn
@@ -1184,6 +1341,7 @@
{
\typeout{WARNING:~mathml~missing~for~hash~\l_@@_content_hash_tl}
}
+ \socket_use:n {tagsupport/math/mathml/write/prepare}
\socket_use:n {tagsupport/math/mathml/write} % write hash if request
\bool_if:NTF\l__tag_math_texsource_AF_bool
{ \tl_set_eq:NN \l_@@_content_AF_source_tmpa_tl \l_@@_content_AF_source_tl }
@@ -1349,25 +1507,24 @@
% \subsection{Content grabbing}
%
% \begin{macro}{\@@_grab_dollar:w}
-% Grab up to a single |$|, for inline math mode, suppressing
-% any processing if the token is \tn{m@th} found in the content.
-%
-% \fmi{what's that test doing?}
-%
-% \car{It is some kind of fix, to avoid the remote
-% possibility that the math is empty, making the code
-% produce an unwanted \texttt{\$\$}.}
-%
-%\car{cf.~the code for this in \cs{@ensuredmath}}
-%
-%\car{It is harmless but unnecessary in the dollardollar grabbing below.}
-%
+% \begin{macro}{\@@_grab_dollar:n}
+% Top-level function to handle grabbing of inline math mode delimited by
+% |$| tokens. We provide two different ways to do that: a token-by-token
+% one that can be used everywhere, and a fast delimited one that does not
+% work anywhere that the end |$| token may be hidden, most obviously in
+% tabulars. The function here is therefore set up as a variable starting
+% point.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_grab_dollar:w % $
- #1 $
+\cs_new_protected:Npn \@@_grab_dollar:w { \@@_grab_dollar_delim:w }
+% \end{macrocode}
+% After grabbing inline math material, there is again common processing
+% independent of mechanism of collection.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_dollar:n #1
{
% \end{macrocode}
-% \fmi{what's that test doing?}
+% To avoid further work with entirely empty math segments, we test before
+% doing anything more.
% \begin{macrocode}
\tl_if_blank:nF {#1}
{
@@ -1391,6 +1548,16 @@
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_dollar_delim:w}
+% Grab up to a single |$|, for inline math mode, suppressing
+% any processing if the token is \tn{m@th} found in the content.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_dollar_delim:w #1 $ % $
+ { \@@_grab_dollar:n {#1} }
+% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\@@_grab_dollardollar:w}
% And for the classical \TeX{} display structure.
@@ -1463,6 +1630,170 @@
% \end{macrocode}
% \end{macro}
%
+% \subsection{Token-by-token inline grabbing}
+%
+% Grabbing inline math token-by-token is more involved. The mechanism here
+% is essentially a simplified version of that originally seen in
+% \pkg{collcell} and refined in \pkg{siunitx}. We make use of the fact that
+% in math mode spaces are ignored, so we have to deal with only \texttt{N}-type
+% tokens and groups. Furthermore, there is no need to look inside groups, so
+% the only special cases are a small selection of \texttt{N}-type tokens.
+%
+% \begin{variable}{\l_@@_grabbed_tl}
+% For collection of the material piecewise.
+% \begin{macrocode}
+\tl_new:N \l_@@_grabbed_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_grab_env_int}
+% Needed to count up the number of nested environments encountered.
+% \begin{macrocode}
+\int_new:N \l_@@_grab_env_int
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_grab_dollar_loop:}
+% \begin{macro}{\@@_grab_loop:}
+% The lead-off here establishes a group: we need that as we will have to
+% be careful in the way \tn{cr} is handled and ensure this is only
+% manipulated whilst grabbing. The main loop is then started.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_dollar_loop:
+ {
+ \group_begin:
+ \tl_clear:N \l_@@_grabbed_tl
+ \@@_grab_loop:
+ }
+\cs_new_protected:Npn \@@_grab_loop:
+ {
+ \peek_remove_spaces:n
+ {
+ \peek_meaning:NTF \c_group_begin_token
+ { \@@_grab_loop_group:n }
+ { \@@_grab_loop_token:N }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_group:n}
+% \begin{macro}{\@@_grab_loop_store:n}
+% Handling of grabbed groups is pretty easy.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_group:n #1
+ { \@@_grab_loop_store:n { {#1} } }
+\cs_new_protected:Npn \@@_grab_loop_store:n #1
+ {
+ \tl_put_right:Nn \l_@@_grabbed_tl {#1}
+ \@@_grab_loop:
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_token:N}
+% \begin{macro}
+% {
+% \@@_grab_loop_$: ,
+% \@@_grab_loop_\\: ,
+% \@@_grab_loop_\begin: ,
+% \@@_grab_loop_\begin : ,
+% \@@_grab_loop_\end: ,
+% \@@_grab_loop_\ignorespaces: ,
+% \@@_grab_loop_\unskip: ,
+% \@@_grab_loop_\textonly@unskip:
+% }
+% Filter out the special cases: for performance reasons, use a hash table
+% approach rather than a loop (\emph{cf.}~\pkg{collcell}). The need to cover
+% \verb*|begin | is that at the start of a cell, \TeX{} will expand \cs{begin}
+% but the \LaTeX{} robust mechanism will mean this yields \verb*|begin |.
+% If\cs{begin} were protected, that would not be needed.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_token:N #1
+ {
+ \cs_if_exist_use:cF
+ { @@_grab_loop_ \token_to_str:N #1 : }
+ { \@@_grab_loop_store:n {#1} }
+ }
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N $ : }
+ { \@@_grab_loop_end: }
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N \\ : }
+ {
+ \int_compare:nNnTF \l_@@_grab_env_int = 0
+ { \@@_grab_loop_newline: }
+ { \@@_grab_loop_store:n { \\ } }
+ }
+% \end{macrocode}
+% In contrast to \pkg{collcell}, nesting is tracked by counting
+% \cs{begin}/\cs{end} pairs: this is needed in case there is a tabular-like
+% construct containing |\\| inside a cell. As a result, the end-of-tabular
+% can be detected without checking the name argument: if \cs{end} is
+% encountered at nesting level~0, we've hit the end of a cell. In that case,
+% end the row and leave the environment to clean up.
+% \begin{macrocode}
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N \begin : }
+ {
+ \int_incr:N \l_@@_grab_env_int
+ \@@_grab_loop_store:n { \begin }
+ }
+\cs_new_eq:cc { @@_grab_loop_ \token_to_str:N \begin \c_space_tl : }
+ { @@_grab_loop_ \token_to_str:N \begin : }
+\cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N \end : }
+ {
+ \int_compare:nNnTF \l_@@_grab_env_int = 0
+ {
+ \@@_grab_loop_newline:
+ \end
+ }
+ {
+ \int_decr:N \l_@@_grab_env_int
+ \@@_grab_loop_store:n { \end }
+ }
+ }
+\tl_map_inline:nn { \ignorespaces \unskip \textonly@unskip }
+ {
+ \cs_new_protected:cpn { @@_grab_loop_ \token_to_str:N #1 : }
+ { \@@_grab_loop: }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_newline:}
+% To allow collection of tokens in the part of the \tn{halign} template after
+% |#|, we need \TeX{} to see the primitive with the loop token in the right
+% place. That is done by re-defining \tn{cr} at present. Ideally there would
+% be a socket in the definition of \texttt{tabular}, etc., to handle this:
+% there is also the need to examine in interaction with \pkg{longtable}, which
+% also redefines \tn{cr}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_newline:
+ {
+ \if_false: { \fi:
+ \cs_set_protected:Npn \cr
+ {
+ \@@_grab_loop:
+ \tex_cr:D
+ }
+ \if_false: } \fi:
+ \\
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_grab_loop_end:}
+% Clean up and pass on.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_grab_loop_end:
+ {
+ \exp_args:NNV \group_end:
+ \@@_grab_dollar:n \l_@@_grabbed_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Marking math environments}
%
% A general mechanism for math mode environments that do not grab their
@@ -1861,6 +2192,10 @@
\bool_set_false:N \l_@@_collected_bool
\col@sep\tabcolsep \let\d@llarbegin\begingroup
\let\d@llarend\endgroup
+% \end{macrocode}
+% A proper switching mechanism is needed: for the present, do directly.
+% \begin{macrocode}
+ \cs_set_protected:Npn \@@_grab_dollar:w { \@@_grab_dollar_loop: }
\@tabarray}
}
% \end{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-math.pdf b/macros/latex-dev/required/latex-lab/latex-lab-math.pdf
index 355c1b35db..73c5113c4b 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-math.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-math.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf b/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
index daa20cf2e2..c5879e39fe 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-mathpkg.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
index aa27cbf01d..79eee7aab7 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.dtx
@@ -23,7 +23,7 @@
\EnableCrossrefs
\CodelineIndex
\begin{document}
- \DocInput{latex-lab-amsmath.dtx}
+ \DocInput{latex-lab-mathtools.dtx}
\end{document}
%</driver>
%
@@ -66,7 +66,7 @@
% \subsection{File declaration}
% \begin{macrocode}
\ProvidesFile{latex-lab-mathtools.ltx}
- [2023-01-05 v0.1a mathtools adaptions]
+ [2024-07-13 v0.1a mathtools adaptions]
% \end{macrocode}
% \subsection{Tagpdf support}
% To make the code independent from tagging being loaded and active
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf
index aae05b3b63..b9845cbbae 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-mathtools.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx b/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
index ffbe5357e7..f5a324fa5e 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-minipage.dtx
@@ -18,8 +18,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabminipagedate{2023-10-30}
-\def\ltlabminipageversion{0.81c}
+\def\ltlabminipagedate{2024-08-08}
+\def\ltlabminipageversion{0.81d}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -120,12 +120,18 @@
% \end{macrocode}
% insert the socket
% \begin{macrocode}
- \socket_use:n{tagsupport/minipage/before}% new
+ \UseTaggingSocket{minipage/before}% new
\setbox\@tempboxa\vbox\bgroup
\color@begingroup
\hsize\@tempdima
\textwidth\hsize \columnwidth\hsize
\@parboxrestore
+% \end{macrocode}
+% minipages are perhaps used in environments where the tagging of paragraphs
+% has been altered. So we try to restore this. TODO: this should
+% perhaps be done in \cs{@parboxrestore} directly.
+% \begin{macrocode}
+ \UseTaggingSocket{para/restore}
\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
\socket_assign_plug:nn{fntext/process}{mp}%
\let\@listdepth\@mplistdepth \@mplistdepth\z@
@@ -153,7 +159,7 @@
\tag_stop:n{minipage}
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
\tag_start:n{minipage}
- \socket_use:n{tagsupport/minipage/after} %new end ...
+ \UseTaggingSocket{minipage/after} %new end ...
}
% \end{macrocode}
%
@@ -164,8 +170,15 @@
\leavevmode
\@pboxswfalse
\setlength\@tempdima{#4}%
- \socket_use:n{tagsupport/parbox/before}
- \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \UseTaggingSocket{parbox/before}
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore
+% \end{macrocode}
+% parbox are perhaps used in environments where the tagging of paragraphs
+% has been altered. So we try to restore this. TODO: this should
+% perhaps be done in \cs{@parboxrestore} directly.
+% \begin{macrocode}
+ \UseTaggingSocket{para/restore}
+ #5\@@par}%
\ifx\relax#2\else
\setlength\@tempdimb{#2}%
\edef\@parboxto{to\the\@tempdimb}%
@@ -179,7 +192,7 @@
\csname bm@#3\endcsname}%
\if@pboxsw \m@th$\fi
\@end@tempboxa%
- \socket_use:n{tagsupport/parbox/after}
+ \UseTaggingSocket{parbox/after}
}
% \end{macrocode}
%
@@ -191,9 +204,11 @@
\socket_new_plug:nnn{tagsupport/minipage/before}{tag/dflt}
{
% \end{macrocode}
-% As there was a \cs{leavevmode} before that is a P/text open that we have to close.
+% As there was a \cs{leavevmode} before that is a P/text open that we have to close
+% if para tagging is active:
% \begin{macrocode}
- \tag_mc_end_push:\tag_struct_end:
+ \tag_mc_end_push:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_end:}
% \end{macrocode}
% TODO: the P can be further up, we need a proper method to test and handle this.
% \begin{macrocode}
@@ -203,13 +218,25 @@
% similar for the other sockets:
% \begin{macrocode}
\socket_new_plug:nnn{tagsupport/minipage/after}{tag/dflt}
- {\tag_struct_end:\tag_struct_begin:n{tag=\l__tag_para_tag_tl}\tag_mc_begin_pop:n{}}
+ {
+ \tag_struct_end:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_begin:n{tag=\l__tag_para_tag_tl}}
+ \tag_mc_begin_pop:n{}
+ }
\socket_new_plug:nnn{tagsupport/parbox/before}{tag/dflt}
- {\tag_mc_end_push:\tag_struct_end:\tag_struct_begin:n{tag=\l__ltboxes_tag_tl}}
+ {
+ \tag_mc_end_push:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_end:}
+ \tag_struct_begin:n{tag=\l__ltboxes_tag_tl}
+ }
\socket_new_plug:nnn{tagsupport/parbox/after}{tag/dflt}
- {\tag_struct_end:\tag_struct_begin:n{tag=\l__tag_para_tag_tl}\tag_mc_begin_pop:n{}}
+ {
+ \tag_struct_end:
+ \bool_if:NT \l__tag_para_bool {\tag_struct_begin:n{tag=\l__tag_para_tag_tl}}
+ \tag_mc_begin_pop:n{}
+ }
% \end{macrocode}
% Activate the default tagging plug
% \begin{macrocode}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf b/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
index 68aeacb9ec..28df164904 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-minipage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx b/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx
index cfc06c7b09..d76dd8d489 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-namespace.dtx
@@ -26,7 +26,7 @@
% \fi
% \title{Prototype reimplementation of \LaTeXe{}'s role mapping}
% \author{\LaTeX{} Project, initial implementation Ulrike Fischer}
-% \date{v0.8b 2024-03-24}
+% \date{v0.8b 2024-07-05}
%
% \maketitle
%
@@ -37,7 +37,7 @@
% \section{Introduction}
%
% This short file collects tag names from the \LaTeX{} namespace and their role mapping used
-% in the latex-lab files. The names and the roles are not necessarly the final ones!
+% in the latex-lab files. The names and the roles are not necessarily the final ones!
%
% Later settings of the same tag overwrite previous settings.
% The syntax of a line is a list of three strings ending with commas:
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf b/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf
index c172554fd8..c8e088d8de 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-namespace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf b/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
index ae453a241c..ac59f8cbb3 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-new-or-1.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf b/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
index 87d097a831..656aa19673 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-new-or-2.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx b/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
index f3786c2ddb..231ed1a864 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-sec.dtx
@@ -16,7 +16,7 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabsecdate{2024-02-12}
+\def\ltlabsecdate{2024-07-05}
\def\ltlabsecversion{0.84c}
%<*driver>
\documentclass[kernel]{l3doc}
@@ -121,7 +121,7 @@
% commands must be at the right grouping level.
% \end{itemize}
%
-% \subsection{Funktions and keys}
+% \subsection{Functions and keys}
%
% \begin{function}{\tag_tool:n,\tagtool}
%
@@ -138,7 +138,7 @@
% to allow e.g. to put an epigraph or similar in front.
%
% \item The number in \cs{part} and \cs{chapter} is currently not correctly
-% tagged as a \texttt{Lbl} as this requires to redefine the internal (class dependant)
+% tagged as a \texttt{Lbl} as this requires to redefine the internal (class dependent)
% commands too.
%
% \end{itemize}
@@ -376,7 +376,7 @@
\tag_struct_begin:n{tag=part,title=#1}
% \end{macrocode}
% We remap here the text-unit from the paragraph to NonStruct.
-% It would be better to suppress it completly as with the other
+% It would be better to suppress it completely as with the other
% sectioning commands, but this would require to redefine \cs{@spart}
% and \cs{@part}, as there is the grouping, and these commands are
% all slightly different in the standard classes. So this is delayed
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf b/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf
index d7e97aa25c..6321129dcf 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-sec.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-table.dtx b/macros/latex-dev/required/latex-lab/latex-lab-table.dtx
index 38596478ae..be0c05a4e1 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-table.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-table.dtx
@@ -16,8 +16,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabtbldate{2024-05-25}
-\def\ltlabtblversion{0.85i}
+\def\ltlabtbldate{2024-08-10}
+\def\ltlabtblversion{0.85m}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -100,6 +100,7 @@
% support for the tagging of tables. A list of the known limitations
% is shown below.
%
+% \subsection{Loading}
% The module is not loaded automatically (i.e., not yet integrated
% into any \texttt{phase-XX}) and by itself it doesn't activate
% tagging. For experimenting with table tagging it is therefore best
@@ -113,7 +114,26 @@
% It will then automatically tag all table environments it already supports with
% the exception of tables in the header and footer of the page (where tagging is disabled).
% Such tables can be nested.
+%
+% Inside cells the automatic tagging of paragraphs is disabled with the exception of
+% p/m/b-type cells.
%
+% Rows do not need to contain a full number of \&, missing cells are automatically
+% added with an empty TD-structure.
+%
+% You should not insert meaningful text with \verb+!{...}+ or \verb+@{...}+ or \cs{noalign}
+% between the rows or columns of the table.
+% With pdflatex such text will be unmarked, with lualatex it will be marked as artifact.
+% Either case means that it will be currently ignored in the
+% structure.\footnote{While it is theoretically possible
+% to collect such text and move it into a structure it would require manual markup
+% from the author to clarify where this text belongs too.}
+%
+% As mentioned below the \pkg{colortbl} doesn't work fully with the tagging,
+% but when it does, colors inside the table are currently ignored. If such a color
+% has a semantic meaning (like \enquote{important value}) this meaning will be lost.
+%
+% \subsection{Untagged and presentation tables}
% If a table should not be tagged as table, for example because it is merely used
% as a layout to ensure that the content is properly aligned
% or because it is a not yet (fully) supported table structure,
@@ -130,41 +150,43 @@
% The key should currently only be used in a group as there is no key (yet) to reset to the default
% tag names.
%
-% Inside cells the automatic tagging of paragraphs is disabled with the exception of
-% p/m/b-type cells.
-%
-% Rows do not need to contain a full number of \&, missing cells are automatically
-% added with an empty TD-structure.
-%
+% \subsection{Header rows and columns}
% There is some basic support\footnote{This is not meant to be the
% final interface, though.} for headers. With\footnote{The old key name \texttt{table-header-rows} still
% works but is deprecated.}
% \begin{quote}
% \verb|\tagpdfsetup{table/header-rows={|\meta{list of row numbers}\verb|}|
+% \verb|\tagpdfsetup{table/header-columns={|\meta{list of column numbers}\verb|}|
% \end{quote}
% you can
-% declare which (absolute) row numbers should be tagged as header rows.
-% It applies to all tables until it is changed to a different list of row numbers or undone by setting
-% the key to \meta{empty}.
-% A row number can be
-% negative, then the counting starts from the end of the table. There is no support
-% for header columns yet. In a \env{longtable} the code will currently use the \cs{endhead} or
+% declare which (absolute) row and column numbers should be tagged as header rows and header columns.
+% It applies to all tables until it is changed to a different list of row or
+% columns numbers or undone by setting
+% the keys to \meta{empty}.
+% A row or column number can be
+% negative, then the counting starts from the end of the table.
+% In a \env{longtable} the code will currently use the \cs{endhead} or
% \cs{endfirsthead} rows as header if one of these commands has been
% used and in that case the code
% ignores a \texttt{table/header-rows} setting.
%
-% You should not insert meaningful text with \verb+!{...}+ or \verb+@{...}+ or \cs{noalign}
-% between the rows or columns of the table.
-% With pdflatex such text will be unmarked, with lualatex it will be marked as artifact.
-% Either case means that it will be currently ignored in the
-% structure.\footnote{While it is theoretically possible
-% to collect such text and move it into a structure it would require manual markup
-% from the author to clarify where this text belongs too.}
+% \subsection{Spanning of cells}
%
-% As mentioned below the \pkg{colortbl} doesn't yet work properly with the tagging,
-% but once it does, then colors inside the table will probably be
-% simply ignored (at least initially). If such a color
-% has a semantic meaning (like \enquote{important value}) this meaning will be lost.
+% \cs{multicolumn} is supported out of the box and will create a structure with a
+% suitable \texttt{ColSpan} attribute\footnote{The code uses actually an attribute \emph{class}.
+% The validator PAC doesn't handle this correctly currently and complains about a missing attribute.}
+%
+% For cells spanning rows some preliminary support exists\footnote{The interface is bound to change!}:
+% If you add
+% \begin{quote}
+% \verb|\tagpdfsetup{table/multirow={|\meta{number of rows}\verb|}|
+% \end{quote}
+% to a cell the code will add the suitable \texttt{RowSpan} attribute and suppress the tagging of affected
+% cells in the following rows. This will also work if the current cell is a \cs{multicolumn}, then
+% the cell will span both rows and columns. It is the duty of the author to
+% ensure that all cells below and covered by a \texttt{RowSpan} are empty!
+% The code neither checks that nor does
+% it tries to suppress content.
%
% Feedback and problems with the code can be reported at
% \url{https://github.com/latex3/tagging-project} either in form of
@@ -183,19 +205,19 @@
% \item the \env{array} environment is assumed to be part of math and tagging as a table is disabled for
% it.
%
-% \item Row spans are not yet supported (and the \pkg{multirow} package is untested).
+% \item Row spans can only be added manually (the \pkg{multirow} package is untested).
%
-% \item The \pkg{colortbl} package breaks tagging if there are nested tables. It also breaks
-% the filling up of incomplete rows.
+% \item The \pkg{colortbl} package breaks tagging if there are nested tables.
%
% \item The \pkg{tabularray} package use a completed different
% method to create tables and will not be supported by this code.
%
% \item The \pkg{nicematrix} package is currently incompatible.
%
-% \item Most other packages related to tables in \LaTeX{} are not yet tested,
+% \item Most other packages related to tables in \LaTeX{} are not fully tested,
% that includes packages that change rules like \pkg{booktabs}, \pkg{hhline},
-% \pkg{arydshln}, \pkg{hvdashln}.
+% \pkg{arydshln}, \pkg{hvdashln}. Some problems have been resolved, either
+% in the packages or through a firstaid which can be loaded the \verb+testphase=firstaid+.
%
% \item \env{longtable} currently only works with lualatex.
% With other engines it breaks as its output
@@ -208,9 +230,9 @@
% the tagging of the table must be deactivated with \verb|\tagpdfsetup{table/tagging=false}|
% or \verb|\tagpdfsetup{table/tagging=presentation}|.
%
-% \item Only simple header rows are currently supported. Columns and complex headers with
+% \item Only simple header rows and columns are currently supported. Complex headers with
% subheaders will be handled later as that needs some syntax changes. Tables
-% with more than one header row are probably not pdf/UA as the headers array in
+% with more than one header row or column are probably not pdf/UA as the headers array in
% the cells is missing.
%
% \item A \pkg{longtable} \cs{caption} is currently simply formatted as a multicolumn and
@@ -259,9 +281,6 @@
%
% \item Longtable captions should be properly supported.
%
-% \item Handle p-cells better. para-tagging should probably be enabled,
-% but Part can't be a child of TD, so this should probably be changed to Div here.
-% Also there is a stray MC somewhere.
%
% \item More packages must be tested.
% \end{itemize}
@@ -292,8 +311,8 @@
% ,\l_@@_cellattribute_tl
% ,\l_@@_rowattribute_tl
% ,\l_@@_tmpa_clist
-% ,\l_@@_tmpa_seq
% ,\l_@@_tmpa_tl
+% ,\l_@@_tmpa_str
% }
% This is for the celltag, e.g. TD or TH:
% \begin{macrocode}
@@ -319,10 +338,16 @@
\tl_new:N \l_@@_rowattribute_tl
\tl_set:Nn \l_@@_rowattribute_tl {}
% \end{macrocode}
+% Variable to store cell info like which cell must be skipped when tagging multirows.
+% \begin{macrocode}
+\prop_new:N\g_@@_untagged_cells_prop
+\prop_new:N\l_@@_saved_untagged_cells_prop
+% \end{macrocode}
% Temp variables
% \begin{macrocode}
\clist_new:N \l_@@_tmpa_clist
\tl_new:N \l_@@_tmpa_tl
+\str_new:N \l_@@_tmpa_str
% \end{macrocode}
% \end{macro}
%
@@ -330,7 +355,41 @@
%
%
% This are the standard plugs for tagging of cells and rows.
-%
+%
+% The following two sockets are defined in lttagging, but we check
+% for their existence until the release 11/2024.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/tbl/init/celldata_plug_str }
+ {
+ \NewSocket{tagsupport/tbl/init/celldata}{0}
+ \NewSocket{tagsupport/tbl/restore/celldata}{0}
+ }
+% \end{macrocode}
+% \begin{plugdecl}{default}
+% This socket is used inside \cs{tbl_init_cell_data_for_table} for the
+% case that this a nested table in a cell.
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/tbl/init/celldata}{default}
+ {
+ \prop_set_eq:NN\l_@@_saved_untagged_cells_prop \g_@@_untagged_cells_prop
+ \prop_gclear:N \g_@@_untagged_cells_prop
+ }
+\AssignSocketPlug{tagsupport/tbl/init/celldata}{default}
+% \end{macrocode}
+% \end{plugdecl}
+
+% \begin{plugdecl}{default}
+% This socket is used inside \cs{tbl_restore_outer_cell_data:} and restores
+% values when a nested table is ended.
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/tbl/restore/celldata}{default}
+ {
+ \prop_gset_eq:NN\g_@@_untagged_cells_prop \l_@@_saved_untagged_cells_prop
+ }
+\AssignSocketPlug{tagsupport/tbl/restore/celldata}{default}
+% \end{macrocode}
+% \end{plugdecl}
+%
% \begin{plugdecl}{TD}
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/cell/begin}{TD}
@@ -340,21 +399,44 @@
% always even if the noop plug is in force this needs a different solution.
% \begin{macrocode}
\@@_show_curr_cell_data:
- \tag_struct_begin:n
+% \end{macrocode}
+% We test if the cell should be tagged at all.
+% \begin{macrocode}
+ \@@_if_tag_cell:nnT {\g_@@_row_int } { \g_@@_col_int }
{
- tag =\l_@@_celltag_tl,
- attribute-class =\l_@@_cellattribute_tl
- }
- \seq_gput_right:Ne \g_@@_struct_cur_seq { \tag_get:n {struct_num} }
+% \end{macrocode}
+% this sets row headers
+% \begin{macrocode}
+ \clist_if_in:NVT \l_@@_header_columns_clist\g_@@_col_int
+ {
+ \tl_set:Nn \l_@@_celltag_tl {TH}
+ \tl_set:Ne \l_@@_cellattribute_tl {\l_@@_cellattribute_tl,TH-row}
+ }
+% \end{macrocode}
+% Here we handle negative value for row headers:
+% \begin{macrocode}
+ \tl_set:Ne \l_@@_tmpa_tl {\int_eval:n { \g_@@_col_int - 1 - \g_@@_table_cols_tl }}
+ \clist_if_in:NoT \l_@@_header_columns_clist { \l_@@_tmpa_tl }
+ {
+ \tl_set:Nn \l_@@_celltag_tl {TH}
+ \tl_set:Ne \l_@@_cellattribute_tl {\l_@@_cellattribute_tl,TH-row}
+ }
+ \tag_struct_begin:n
+ {
+ tag =\l_@@_celltag_tl,
+ attribute-class ={\l_@@_cellattribute_tl}
+ }
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { \tag_get:n {struct_num} }
% \end{macrocode}
% we store the cells of multicolumns as negative number. This allow to skip them
% or to use them as needed.
% \begin{macrocode}
- \int_step_inline:nn { \g_@@_span_tl - 1 }
- {
- \seq_gput_right:Ne \g_@@_struct_cur_seq { -\tag_get:n {struct_num} }
- }
- \tag_mc_begin:n{}
+ \int_step_inline:nn { \g_@@_span_tl - 1 }
+ {
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { -\tag_get:n {struct_num} }
+ }
+ \tag_mc_begin:n{}
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -363,8 +445,11 @@
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/cell/end}{TD}
{
- \tag_mc_end:
- \tag_struct_end:
+ \@@_if_tag_cell:nnT {\g__tbl_row_int } { \g__tbl_col_int }
+ {
+ \tag_mc_end:
+ \tag_struct_end:
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -376,18 +461,26 @@
\NewSocketPlug{tagsupport/tbl/pcell/begin}{TDpbox}
{
\@@_show_curr_cell_data:
- \tag_struct_begin:n
+ \@@_if_tag_cell:nnT {\g__tbl_row_int } { \g__tbl_col_int }
{
- tag =\l__tbl_pcelltag_tl,
- attribute-class =\l__tbl_cellattribute_tl
- }
- \seq_gput_right:Ne \g__tbl_struct_cur_seq { \tag_get:n {struct_num} }
- \int_step_inline:nn { \g__tbl_span_tl - 1 }
- {
- \seq_gput_right:Ne \g__tbl_struct_cur_seq { -\tag_get:n {struct_num} }
- }
- \tagpdfparaOn
- \tl_set:Nn \l__tag_para_main_tag_tl {Div}
+ \clist_if_in:NVT \l_@@_header_columns_clist\g_@@_col_int
+ {
+ \tl_set:Nn \l_@@_celltag_tl {TH}
+ \tl_set:Ne \l_@@_cellattribute_tl {\l_@@_cellattribute_tl,TH-row}
+ }
+ \tag_struct_begin:n
+ {
+ tag =\l_@@_pcelltag_tl,
+ attribute-class ={\l_@@_cellattribute_tl}
+ }
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { \tag_get:n {struct_num} }
+ \int_step_inline:nn { \g_@@_span_tl - 1 }
+ {
+ \seq_gput_right:Ne \g_@@_struct_cur_seq { -\tag_get:n {struct_num} }
+ }
+ \tagpdfparaOn
+ \tl_set:Nn \l__tag_para_main_tag_tl {Div}
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -396,7 +489,12 @@
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/pcell/end}{TDpbox}
{
- \tag_struct_end:
+ \@@_if_tag_cell:nnT {\g_@@_row_int } { \g_@@_col_int }
+ {
+ \tag_struct_end:
+ \legacy_if:nT {@endpe}{\par}
+ \mode_if_vertical:T{ \tagpdfparaOff }
+ }
}
% \end{macrocode}
% \end{plugdecl}
@@ -432,7 +530,7 @@
{
\@@_trace:n
{==>~
- stucture~stored~for~row~\int_use:N\g_@@_row_int :~
+ structure~stored~for~row~\int_use:N\g_@@_row_int :~
\seq_use:Nn \g_@@_struct_cur_seq {,}
}
}
@@ -447,21 +545,49 @@
% normal tables which can also be used inline and nested and
% \enquote{vmode} tables like longtable.
%
+% \begin{macro}{\l__tag_block_flattened_level_int}
+% Count the levels of nested blockenvs starting with the first that
+% is \enquote{flattened}. The counter is defined in lttagging.dtx,
+% but until the next release 11/24 we set it up here too so that we can
+% use it in the following socket
+% \begin{macrocode}
+\int_if_exist:NF \l__tag_block_flattened_level_int
+ {
+ \int_new:N \l__tag_block_flattened_level_int
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{plugdecl}{Table}
+% Inside a TD or TR Part is not allowed as child. For structures that restore
+% paragraph settings we therefore need a special plug that adjust the settings.
+% Currently we set the para main tag to Div. This leads to double Div-structures
+% but flattening the paragraph doesn't work, it errors if there is a list inside.
+% \begin{macrocode}
+\NewSocketPlug{tagsupport/para/restore}{Table}
+ {
+ \tl_set:Nn \l__tag_para_main_tag_tl {Div}
+ \tl_set_eq:NN \l__tag_para_tag_tl\l__tag_para_tag_default_tl
+ \bool_set_true:N \l__tag_para_bool
+ \bool_set_false:N \l__tag_para_flattened_bool
+ \int_zero:N \l__tag_block_flattened_level_int
+ }
+% \end{macrocode}
+% \end{plugdecl}
+%
% \begin{plugdecl}{Table}
% Inside a table we currently only disable paratagging. We assume
-% that these sockets are in an environment group, so there is no
+% that these sockets are called in a group, so there is no
% need to reenable paratagging.
% \begin{macrocode}
\NewSocketPlug{tagsupport/tbl/init}{Table}
{
- \tag_if_active:T
- {
- \bool_set_false:N \l__tag_para_bool
+ \bool_set_false:N \l__tag_para_bool
+ \AssignSocketPlug{tagsupport/para/restore}{Table}
% \end{macrocode}
% We also initialize the structure data variables a this point.
% \begin{macrocode}
- \@@_init_struct_data:
- }
+ \@@_init_struct_data:
}
% \end{macrocode}
% \end{plugdecl}
@@ -573,7 +699,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l_@@_tmpa_tl _prop }
{
- \exp_args:No \__tag_struct_prop_gput:nnn {\l_@@_tmpa_tl} {S}{/Artifact}
+ \__tag_struct_prop_gput:onn { \l_@@_tmpa_tl } {S}{/Artifact}
}
}
}
@@ -664,7 +790,7 @@
\prop_if_exist:cT
{ g__tag_struct_ \l_@@_tmpa_tl _prop }
{
- \exp_args:No\__tag_struct_prop_gput:nnn {\l_@@_tmpa_tl} {S}{/Artifact}
+ \__tag_struct_prop_gput:onn {\l_@@_tmpa_tl} {S}{/Artifact}
}
}
}
@@ -711,7 +837,7 @@
\tag_mc_end_push:
% \end{macrocode}
% Close the P-chunk. This assumes that para-tagging is active.
-% For nested tables that is not necessarly true, so we test for it.
+% For nested tables that is not necessarily true, so we test for it.
% \begin{macrocode}
\bool_lazy_and:nnT
{ \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool }
@@ -729,7 +855,7 @@
\tag_struct_end:
% \end{macrocode}
% reopen the P-chunk. This assumes that para-tagging is active.
-% For nested tables that is not necessarly true, so we test for it.
+% For nested tables that is not necessarily true, so we test for it.
% \begin{macrocode}
\bool_lazy_and:nnT
{ \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool }
@@ -778,15 +904,32 @@
{/O /Table /ColSpan~\int_eval:n{#1}}
}
\tl_set:Ne \l_@@_cellattribute_tl
- {colspan-\int_eval:n{#1}}
+ {\l_@@_cellattribute_tl,colspan-\int_eval:n{#1}}
}
}
% \end{macrocode}
-% TODO: move to tagpdf
+% \end{plugdecl}
+%
+%
+%
+%
+% \begin{plugdecl}{code}
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/tbl/leaders/end_plug_str }
+ {
+ \NewSocket{tagsupport/tbl/leaders/begin}{0}
+ \NewSocket{tagsupport/tbl/leaders/end}{0}
+ }
+% \end{macrocode}
+%
% \begin{macrocode}
-\tag_if_active:T
- { \cs_generate_variant:Nn \__tag_attr_new_entry:nn {ee} }
-
+\NewSocketPlug{tagsupport/tbl/leaders/begin}{code}
+ { \tag_mc_begin:n{artifact} }
+\NewSocketPlug{tagsupport/tbl/leaders/end}{code}
+ { \tag_mc_end: }
% \end{macrocode}
% \end{plugdecl}
%
@@ -810,8 +953,7 @@
% \subsection{Interfaces to tagging}
%
% \subsubsection{Tagging helper commands}
-%
-%
+
% \subsubsection{Disabling/enabling}
%
% For now we have only the option true/false but this will probably be extended
@@ -839,6 +981,8 @@
\AssignSocketPlug{tagsupport/tbl/vmode/begin}{noop}
\AssignSocketPlug{tagsupport/tbl/vmode/end}{noop}
\AssignSocketPlug{tagsupport/tbl/colspan}{noop}
+ \AssignSocketPlug{tagsupport/tbl/leaders/begin}{noop}
+ \AssignSocketPlug{tagsupport/tbl/leaders/end}{noop}
}
% \end{macrocode}
% \end{macro}
@@ -866,6 +1010,8 @@
\AssignSocketPlug{tagsupport/tbl/vmode/begin}{Table}
\AssignSocketPlug{tagsupport/tbl/vmode/end}{Table}
\AssignSocketPlug{tagsupport/tbl/colspan}{code}
+ \AssignSocketPlug{tagsupport/tbl/leaders/begin}{code}
+ \AssignSocketPlug{tagsupport/tbl/leaders/end}{code}
}
% \end{macrocode}
% \end{macro}
@@ -886,14 +1032,15 @@
\tl_set:Nn\l_@@_pcelltag_tl {NonStruct}
\tl_set:Nn\l_@@_celltag_tl {text}
\tl_set:Nn\l_@@_tabletag_tl {Div}
- \clist_clear:N \l_@@_header_rows_clist
+ \clist_clear:N \l_@@_header_rows_clist
+ \clist_clear:N \l_@@_header_columns_clist
},
table/tagging .default:n = true,
table/tagging .initial:n = true
}
% \end{macrocode}
% This are the old key names kept for now for
-% compability. They will got at some time.
+% compatibility. They will got at some time.
% \begin{macrocode}
\keys_define:nn { __tag / setup }
{
@@ -955,11 +1102,12 @@
% \end{macrocode}
%
-% \begin{variable}{\l_@@_header_rows_clist}
-% This holds the numbers of the header rows. Negative numbers are
+% \begin{variable}{\l_@@_header_rows_clist,\l_@@_header_columns_clist}
+% This holds the numbers of the header rows and columns. Negative numbers are
% possible and count from the last column backwards.
% \begin{macrocode}
\clist_new:N \l_@@_header_rows_clist
+\clist_new:N \l_@@_header_columns_clist
% \end{macrocode}
% \end{variable}
%
@@ -982,14 +1130,26 @@
{
\__tag_struct_prop_gput:nnn{ ####1 }{S}{/TH}
% \end{macrocode}
-% This need refinement once row headers (and perhaps other attributes)
-% are used too, but for now it should be ok.
+% This sets the scope class. If the header has already a row attribute
+% we replace by TH-both.
% \begin{macrocode}
\prop_get:cnNTF
{ g__tag_struct_####1_prop }
{ C }
\l_@@_tmpa_tl
- {\__tag_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l_@@_tmpa_tl]} }
+ {
+ \str_set:Ne \l_@@_tmpa_str {\l_@@_tmpa_tl}
+ \str_remove_once:Nn \l_@@_tmpa_str {[}
+ \str_remove_once:Nn \l_@@_tmpa_str {]}
+ \str_if_in:NnTF\l_@@_tmpa_str{/TH-row}
+ {
+ \str_replace_once:Nnn \l_@@_tmpa_str {/TH-row}{/TH-both}
+ \__tag_struct_prop_gput:nne{ ####1 }{C}{[\l_@@_tmpa_str]}
+ }
+ {
+ \__tag_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l_@@_tmpa_str]}
+ }
+ }
{\__tag_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}}
}
}
@@ -1004,6 +1164,7 @@
\keys_define:nn { __tag / setup }
{
table/header-rows .clist_set:N = \l_@@_header_rows_clist,
+ table/header-columns .clist_set:N = \l_@@_header_columns_clist,
% \end{macrocode}
% obsolete older name:
% \begin{macrocode}
@@ -1011,8 +1172,114 @@
}
% \end{macrocode}
%
+% \subsection{Multirow support}
+%
+% \begin{macro}{\@@_multirow:n}
+% This command makes the current cell into a multirow cell:
+% it creates, if needed, an RowSpan-attribute, adds it to the attributes
+% of the cell structure, and marks all following cells spanned by the multirow
+% as cells that should not be tagged. The argument is the number of spanned row
+% (including the current row).
+% \begin{macrocode}
+\cs_if_exist:NT \__tag_struct_prop_gput:nnn
+ {
+ \cs_generate_variant:Nn \__tag_struct_prop_gput:nnn {one}
+ }
+\cs_new_protected:Npn \@@_multirow:n #1
+ {
+% \end{macrocode}
+% Create an attribute if needed:
+% \begin{macrocode}
+ \prop_get:NeNF \g__tag_attr_entries_prop
+ {rowspan-\int_eval:n{#1}}
+ \l_@@_tmpa_tl
+ {
+ \__tag_attr_new_entry:ee
+ {rowspan-\int_eval:n{#1}}
+ {/O /Table /RowSpan~\int_eval:n{#1}}
+ }
+% \end{macrocode}
+% ensure that the attribute is marked as used:
+% \begin{macrocode}
+ \seq_gput_left:Ne\g__tag_attr_class_used_seq
+ {\pdf_name_from_unicode_e:n{rowspan-\int_eval:n{#1}}}
+% \end{macrocode}
+% Get the structure number of the current cell
+% \begin{macrocode}
+ \seq_get_right:NN\g_@@_struct_cur_seq \l_@@_tmpb_tl
+% \end{macrocode}
+% If we are in a multicolumn the number can be negative and
+% this must be changed
+% \begin{macrocode}
+ \tl_set:Ne \l_@@_tmpb_tl { \int_abs:n{\l_@@_tmpb_tl} }
+% \end{macrocode}
+% no we must update an existing attribute.
+% TODO: simplify this ... (see also colspan handling).
+% \begin{macrocode}
+ \prop_get:cnNTF
+ { g__tag_struct_\l_@@_tmpb_tl _prop }
+ { C }
+ \l_@@_tmpa_tl
+ {
+ \tl_remove_once:Nn \l_@@_tmpa_tl {[}
+ \tl_remove_once:Nn \l_@@_tmpa_tl {]}
+ \__tag_struct_prop_gput:one{ \l_@@_tmpb_tl }
+ {C}
+ {[/rowspan-\int_eval:n{#1}~\l_@@_tmpa_tl]}
+ }
+ {
+ \__tag_struct_prop_gput:one{ \l_@@_tmpb_tl }
+ {C}
+ {[/rowspan-\int_eval:n{#1}]}
+ }
+% \end{macrocode}
+% Now mark the spanned cells that should be ignored.
+% \begin{macrocode}
+ \@@_gset_untagged_row_cells:nn {#1-1}{\g_@@_span_tl}
+ }
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macrocode}
+\keys_define:nn{ __tag / setup }
+ { table/multirow .code:n = {\@@_multirow:n {#1} }
+ ,table/multirow .default:n = 1
+ }
+% \end{macrocode}
%
+% \begin{macro}{\@@_gset_untagged_row_cells:nn}
+% This command stores the row and column numbers of the cells in the following row(s)
+% that should not be tagged as they are a part of a rowspan.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_gset_untagged_row_cells:nn #1 #2 % #1 number of rows, #2 number of columns
+ {
+ \int_step_inline:nn {#1}
+ {
+ \int_step_inline:nn {#2}
+ {
+ \prop_gput:Nee \g_@@_untagged_cells_prop
+ { \int_eval:n {\g_@@_row_int + ##1},\int_eval:n{\g_@@_col_int + ####1 -1 } }{}
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_if_tag_cell:nn}
+% We must be able to detect if a cell should be tagged. For this
+% we define a conditional --- if more options are needed it can be extended.
+% \begin{macrocode}
+\prg_new_protected_conditional:Npnn\@@_if_tag_cell:nn #1 #2 %#1 row, #2 col
+ { T,TF }
+ {
+ \prop_get:NeNTF \g_@@_untagged_cells_prop
+ {\int_eval:n{#1},\int_eval:n{#2}}\l__tbl_tmpa_tl
+ { \prg_return_false:}
+ { \prg_return_true: }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Misc stuff}
%
% \begin{macro}{\@@_show_curr_cell_data:}
@@ -1037,13 +1304,6 @@
% cell of a row, but still inside that cell, so we use two
% commands. The one adding is used in the row/end socket.
% \begin{macrocode}
-\NewSocket{tbl/celldata/missingcount}{1}
-\NewSocketPlug{tbl/celldata/missingcount}{code}{\tbl_count_missing_cells:n{#1}}
-\AssignSocketPlug{tbl/celldata/missingcount}{code}
-
-% \end{macrocode}
-%
-% \begin{macrocode}
\cs_new:Npn \@@_add_missing_cells:
{
% \end{macrocode}
@@ -1058,6 +1318,7 @@
additional~cell(s)~into~previous~row:}
\int_step_inline:nn { \g_@@_missing_cells_int }
{
+ \int_gincr:N\g_@@_col_int
\UseTaggingSocket{tbl/cell/begin}
\UseTaggingSocket{tbl/cell/end}
}
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-table.pdf b/macros/latex-dev/required/latex-lab/latex-lab-table.pdf
index 199232ce63..ee36e14af7 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-table.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-table.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx b/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
index f0a6fe65d0..1134654cd6 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-testphase.dtx
@@ -47,7 +47,7 @@
%
% Currently the values |phase-I|, |phase-II|, |phase-III| and |new-or| (bundles |new-or-1|
% and |new-or-2|) are provided.
-% |tagpdf| is an undocumented alias for |phase-II| which is kept for compability.
+% |tagpdf| is an undocumented alias for |phase-II| which is kept for compatibility.
% The value |math| combines various math related files.
%
% \StopEventually{\setlength\IndexMin{200pt} \PrintIndex }
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf b/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
index 531eff4508..235a6f6f59 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-testphase.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-text.pdf b/macros/latex-dev/required/latex-lab/latex-lab-text.pdf
index ded11a05be..97d9d05a6b 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-text.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-text.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-title.pdf b/macros/latex-dev/required/latex-lab/latex-lab-title.pdf
index 934b25bdda..58a5bfc371 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-title.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-title.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
index 58690a8fa9..9b02b16a37 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc-hyperref-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
index bb88ffdcb0..bf10bf4f2f 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.dtx
@@ -17,8 +17,8 @@
% for those people who are interested or want to report an issue.
%
% dates for latex-lab-kernel-changes.sty (pulled from various sources, see ins)
-\def\ltlabkerneldate{2024-02-12}
-\def\ltlabkernelversion{0.85c}
+\def\ltlabkerneldate{2024-07-11}
+\def\ltlabkernelversion{0.85d}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -44,6 +44,11 @@
%
% \providecommand\hook[1]{\texttt{#1}}
%
+%
+% \ProvideDocElement[printtype=\textit{socket},idxtype=socket,idxgroup=Sockets]{Socket}{socketdecl}
+% \ProvideDocElement[printtype=\textit{hook},idxtype=hook,idxgroup=Hooks]{Hook}{hookdecl}
+% \ProvideDocElement[printtype=\textit{plug},idxtype=plug,idxgroup=Plugs]{Plug}{plugdecl}
+%
% \begin{abstract}
% \end{abstract}
%
@@ -187,12 +192,24 @@
% \subsection{\cs{contentsline} extension}
% [latex-lab]
% The tagging code must add code at the begin and end of \cs{contentsline}.
-% This code must have access to the arguments. We set it up as config point
-% for now.
+% This code must have access to the arguments. They are passed
+% together in tagging socket.
+% \begin{socketdecl}{tagsupport/toc/contentsline/before,
+% tagsupport/toc/contentsline/after}
+% Tagging sockets at the begin and end of contentsline.
+% They receive \emph{all} contentsline arguments as one argument
+% in four brace groups. The socket code should then use the parts it needs.
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
% \begin{macrocode}
-\def\@contentsline@cfgpoint@before#1#2#3#4{}
-\def\@contentsline@cfgpoint@after#1#2#3#4{}
+\str_if_exist:cF { l__socket_tagsupport/toc/contentsline/before_plug_str }
+ {
+ \NewSocket{tagsupport/toc/contentsline/before}{1}
+ \NewSocket{tagsupport/toc/contentsline/after}{1}
+ }
% \end{macrocode}
+% \end{socketdecl}
% for the hooks we need that the \cs{l@XX} pass also the destination and
% that \cs{l@XX} takes three arguments.
% TODO: test that, if there are two many problems we should pass the
@@ -200,10 +217,10 @@
% \begin{macrocode}
\def\contentsline#1#2#3#4%
{%
- \@contentsline@cfgpoint@before{#1}{#2}{#3}{#4}%
+ \UseTaggingSocket{toc/contentsline/before}{{#1}{#2}{#3}{#4}}%
\gdef\@contentsline@destination{#4}%
\csname l@#1\endcsname{#2}{#3}%
- \@contentsline@cfgpoint@after{#1}{#2}{#3}{#4}%
+ \UseTaggingSocket{toc/contentsline/after}{{#1}{#2}{#3}{#4}}%
}
% \end{macrocode}
%
@@ -225,17 +242,33 @@
% \subsection{\cs{@starttoc}}
% [kernel?]
%
-% We add a configuration point before and after reading the file
+% We add a tagging socket before and after reading the file
% for the tagging.
+% \begin{socketdecl}{tagsupport/toc/starttoc/before,
+% tagsupport/toc/starttoc/after}
+% Tagging sockets for the begin and end of start of \cs{@starttoc}.
+% They take one argument, the extension.
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/toc/starttoc/before_plug_str }
+ {
+ \NewSocket{tagsupport/toc/starttoc/before}{1}
+ \NewSocket{tagsupport/toc/starttoc/after}{1}
+ }
+% \end{macrocode}
+% \begin{macrocode}
+% \end{macrocode}
+% \end{socketdecl}
+%
% \begin{macrocode}
-\def\@starttoc@cfgpoint@before#1{}
-\def\@starttoc@cfgpoint@after#1{}
\def\@starttoc#1{%
\begingroup
\makeatletter
- \@starttoc@cfgpoint@before{#1}%
+ \UseTaggingSocket{toc/starttoc/before}{#1}%
\@input{\jobname.#1}%
- \@starttoc@cfgpoint@after{#1}%
+ \UseTaggingSocket{toc/starttoc/after}{#1}%
\if@filesw
\expandafter\newwrite\csname tf@#1\endcsname
\immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
@@ -269,15 +302,32 @@
\NewMirroredHookPairWithArguments{contentsline/page/before}{contentsline/page/after}{4}%
% \end{macrocode}
%
-% The dot in the leader must be set as artifact.
+% The dots in the leader must be set as artifact.
% But luatex requires that the mc are set outside the leaders.
-% So we need a config point.
+% So we need sockets.
%
% \cs{@dottedtocline} needs hooks and formatting commands.
-% We add a sixth argument so that it can grab the destination too.
+% To make the leaders into artifact we use tagging sockets.
+% The declaration should perhaps be moved into lttagging so that
+% it can be used also by external packages even if the tagging code is not
+% loaded?
+% \begin{socketdecl}{tagsupport/toc/leaders/before,
+% tagsupport/toc/leaders/after}
+% Tagging sockets to make the dot leaders an artifact.
+% They do not take an argument.
+% The sockets will be in lttagging.dtx, but that may only happen in
+% the next main release, so for now we test if they are in the
+% format and if not define them now.
+% \begin{macrocode}
+\str_if_exist:cF { l__socket_tagsupport/toc/leaders/before_plug_str }
+ {
+ \NewSocket{tagsupport/toc/leaders/before}{0}
+ \NewSocket{tagsupport/toc/leaders/after}{0}
+ }
+% \end{macrocode}
+% \end{socketdecl}
+% The destination is accessed through \cs{@contentsline@destination}.
% \begin{macrocode}
-\def\@dottedtocline@cfgpoint@leaders#1{#1}
-
\def\@dottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
@@ -291,10 +341,11 @@
\csname contentsline@text@#1@format\endcsname{#4}%
\UseHookWithArguments{contentsline/text/after}{4}{#1}{#4}{#5}{\@contentsline@destination}%
\nobreak
- \@dottedtocline@cfgpoint@leaders{%
+ \UseTaggingSocket{toc/leaders/before}\SuspendTagging{toc/leaders}%
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
- mu$}\hfill}%
+ mu$}\hfill
+ \ResumeTagging{toc/leaders}\UseTaggingSocket{toc/leaders/after}%
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor
\UseHookWithArguments{contentsline/page/before}{4}{#1}{#4}{#5}{\@contentsline@destination}%
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
index c3dc4523e5..99b15f9004 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc-kernel-changes.pdf
Binary files differ
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx b/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx
index 7235eb9ed9..5ad0d3cec1 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc.dtx
@@ -16,8 +16,8 @@
%
% for those people who are interested or want to report an issue.
%
-\def\ltlabtocdate{2023-10-16}
-\def\ltlabtocversion{0.85b}
+\def\ltlabtocdate{2024-07-11}
+\def\ltlabtocversion{0.85c}
%<*driver>
\documentclass{l3doc}
\EnableCrossrefs
@@ -42,7 +42,10 @@
% \newcommand{\docclass}{document class \marginpar{\raggedright document class
% customizations}}
%
-% \providecommand\hook[1]{\texttt{#1}}
+%
+% \ProvideDocElement[printtype=\textit{socket},idxtype=socket,idxgroup=Sockets]{Socket}{socketdecl}
+% \ProvideDocElement[printtype=\textit{hook},idxtype=hook,idxgroup=Hooks]{Hook}{hookdecl}
+% \ProvideDocElement[printtype=\textit{plug},idxtype=plug,idxgroup=Plugs]{Plug}{plugdecl}
%
% \begin{abstract}
% \end{abstract}
@@ -196,14 +199,17 @@
\tag_struct_begin:n{tag=TOC,title=#1}
}
% \end{macrocode}
-% Now map it into the config point:
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn\@starttoc@cfgpoint@before#1
- {
- \@@_toc_starttoc_init:n{#1}
- }
+\NewSocketPlug{tagsupport/toc/starttoc/before}{default}
+ {
+ \@@_toc_starttoc_init:n{#1}
+ }
+\AssignSocketPlug{tagsupport/toc/starttoc/before}{default}
% \end{macrocode}
-% \end{macro}
+% \end{plugdecl}
% \begin{macro}{\@@_toc_starttoc_finalize:}
% \begin{macrocode}
\cs_new_protected:Npn \@@_toc_starttoc_finalize:
@@ -215,15 +221,18 @@
\seq_gclear:N \g_@@_toc_stack_seq
}
% \end{macrocode}
-% Now map it into the config point:
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn\@starttoc@cfgpoint@after#1
- {
- \@@_toc_starttoc_finalize:
- }
+\NewSocketPlug{tagsupport/toc/starttoc/after}{default}
+ {
+ \@@_toc_starttoc_finalize:
+ }
+\AssignSocketPlug{tagsupport/toc/starttoc/after}{default}
% \end{macrocode}
-% \end{macro}
-
+% \end{plugdecl}
+%
% \begin{macro}{\@@_toc_end:n}
% This commands ends all TOC on the stack with a level higher than the argument
% \begin{macrocode}
@@ -249,10 +258,11 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_toc_contentsline_begin:nnn}
+% \begin{macro}{\@@_toc_contentsline_begin:nnnn}
% This is main command executed at the begin of a |\contentsline|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_toc_contentsline_begin:nnn #1 #2 #3 %#1 level, #2 content, #3 destination
+\cs_new_protected:Npn \@@_toc_contentsline_begin:nnnn #1 #2 #3 #4
+ %#1 level, #2 content, #3 page number (unused) #4 destination
{
\tag_if_active:T
{
@@ -308,30 +318,34 @@
% \end{NOTE}
% \begin{macrocode}
\prop_gput:Nee \g_@@_struct_ref_by_dest_prop
- { \tag_get:n {struct_num} }{#3}
+ { \tag_get:n {struct_num} }{#4}
\seq_gpush:Ne \g_@@_toc_stack_seq {{TOCI}\use:c{toclevel@#1}}
\group_end:
}
}
}
% \end{macrocode}
-% Now map it into the config point:
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn\@contentsline@cfgpoint@before#1#2#3#4
+\NewSocketPlug{tagsupport/toc/contentsline/before}{default}
{
- \@@_toc_contentsline_begin:nnn {#1}{#2}{#4}
- }
+ \@@_toc_contentsline_begin:nnnn #1
+ }
+\AssignSocketPlug{tagsupport/toc/contentsline/before}{default}
% \end{macrocode}
-% \end{macro}
+% \end{plugdecl}
%
-% \begin{macro}{\@@_toc_contentsline_end:n}
+% \begin{macro}{\@@_toc_contentsline_end:nnnn}
% This is the closing code of a |\contentsline|.
% If the contentsline was actually printed, the code has to
% close the TOCI structure and to update the stack.
% \begin{macrocode}
\msg_new:nnn {tag}{toc-no-TOCI}{Missing~TOCI~structure~on~toc~stack}
-\cs_new_protected:Npn \@@_toc_contentsline_end:n #1 %#1 level name
+\cs_new_protected:Npn \@@_toc_contentsline_end:nnnn #1 #2 #3 #4
+% #1 level, #2 content (unused), #3 page number (unused) #4 destination (unused)
{
\int_compare:nNnF { \use:c{toclevel@#1} } > {\use:c{c@tocdepth}}
{
@@ -348,14 +362,17 @@
}
}
% \end{macrocode}
-% Now we map it to the config point
+% \end{macro}
+% Now define the tagging plug and assign it to the socket.
+% \begin{plugdecl}{default}
% \begin{macrocode}
-\cs_set_protected:Npn \@contentsline@cfgpoint@after #1#2#3#4
- {
- \@@_toc_contentsline_end:n {#1}
- }
+\NewSocketPlug{tagsupport/toc/contentsline/after}{default}
+ {
+ \@@_toc_contentsline_end:nnnn #1
+ }
+\AssignSocketPlug{tagsupport/toc/contentsline/after}{default}
% \end{macrocode}
-% \end{macro}
+% \end{plugdecl}
%
% \subsection{Tagging of the content}
% This need discussion.
@@ -380,12 +397,16 @@
\tag_struct_end:
\tag_mc_begin:n{tag=Reference}}
% \end{macrocode}
-%
+% \begin{plugdecl}{artifact}
% \begin{macrocode}
-\def\@dottedtocline@cfgpoint@leaders#1{%
- \tag_mc_begin:n{artifact}\tag_stop:n{leaders}\nobreak#1\nobreak\tag_start:n{leaders}\tag_mc_end:}
+\NewSocketPlug{tagsupport/toc/leaders/before}{artifact}
+ {\tag_mc_begin:n{artifact}\nobreak}
+\NewSocketPlug{tagsupport/toc/leaders/after}{artifact}
+ {\nobreak\tag_mc_end:}
+\AssignSocketPlug{tagsupport/toc/leaders/before}{artifact}
+\AssignSocketPlug{tagsupport/toc/leaders/after}{artifact}
% \end{macrocode}
-
+% \end{plugdecl}
%
% \begin{macrocode}
%</package>
diff --git a/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf b/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
index ba23989257..8d4594d2d8 100644
--- a/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
+++ b/macros/latex-dev/required/latex-lab/latex-lab-toc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index 69e0112887..d5c8915ba9 100644
--- a/macros/latex-dev/required/tools/README.md
+++ b/macros/latex-dev/required/tools/README.md
@@ -1,7 +1,7 @@
The LaTeX `tools` bundle
========================
-Release 2024-11-01 pre-release 0
+Release 2024-11-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index a7679b78a3..63c625d8ef 100644
--- a/macros/latex-dev/required/tools/afterpage.pdf
+++ b/macros/latex-dev/required/tools/afterpage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/array.dtx b/macros/latex-dev/required/tools/array.dtx
index e77ef0a3bf..ca5e991bee 100644
--- a/macros/latex-dev/required/tools/array.dtx
+++ b/macros/latex-dev/required/tools/array.dtx
@@ -39,7 +39,7 @@
% \begin{macrocode}
%<+package>\NeedsTeXFormat{LaTeX2e}[2024/06/01]
%<+package>\ProvidesPackage{array}
-%<+package> [2024/05/23 v2.6c Tabular extension package (FMi)]
+%<+package> [2024/07/13 v2.6e Tabular extension package (FMi)]
%
% \fi
%
@@ -715,7 +715,7 @@
%
% A similar problem happened when "\extrarowheight" was used. For that
% reason m-cells now manually position the cell content which
-% allows to ignore this extra space request during the vertical aligment.
+% allows to ignore this extra space request during the vertical alignment.
%
%
% \subsection{Bugs and Features}
@@ -1900,7 +1900,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% is how much do we need to move down? If there is any
% =\arraystretch= in place then the first line will have some
% unusual height and we don't want to consider that when finding
-% the middle point. So we substract from the cell height the height
+% the middle point. So we subtract from the cell height the height
% of that strut. But of course we want to include the normal height
% of the first line (which would be something like =\ht\strutbox=)
% so we need to add that. On the other hand, when centering around
@@ -2656,7 +2656,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \begin{macro}{\d@llarbegin}
% \begin{macro}{\d@llarend}
% =\d@llar= has to be
-% locally asigned since otherwise nested \textsf{tabular} and \textsf{array}
+% locally assigned since otherwise nested \textsf{tabular} and \textsf{array}
% environments (via =\multicolumn=) are impossible.
% For 25 years or so =\@halignto= was set globally (to save space on the
% save stack, but that was a mistake: if there is a tabular in the
@@ -2852,11 +2852,13 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macro}{\@preamerr}
+% \changes{v2.6d}{2024/06/14}{Keep message sources out of L3 code (gh/1378)}
% We also have to redefine the error routine =\@preamerr= since
% new kind of errors are possible.
% The code for this macro is not perfect yet;
% it still needs too much memory.
% \begin{macrocode}
+\ExplSyntaxOff
\def\@preamerr#1{\def\@tempd{{..} at wrong position: }%
\PackageError{array}{%
\ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0
@@ -2905,7 +2907,6 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% to define letters, to be used in the same way as the primitive
% column specifiers, `c' `p' etc.
% \begin{macrocode}
-\ExplSyntaxOff % this is really oldstyle using \@tfor :=
\def\newcolumntype#1{%
% \end{macrocode}
% "\NC@char" was added in V2.01 so that active characters, like "@" in
@@ -3439,7 +3440,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \subsection{Implementing column types \texttt{w} and \texttt{W}}
%
% In TugBoat 38/2 an extension was presented that implemented two
-% aditional column types \texttt{w} and \texttt{W}. These have now
+% additional column types \texttt{w} and \texttt{W}. These have now
% been added to the package itself.
%
%
@@ -3516,7 +3517,46 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macro}
%
%
+% \subsection{Handling \cs{cline}}
+%
+% In the past \pkg{array} did not have to concern itself with
+% \cs{cline} but simply used the definition already provided in the
+% kernel. However, for tagged PDF output this definition is
+% insufficient, because it causes incorrect row counting and the rules
+% it generates would need to be marked as artifacts.
+% We therefore update it here.
+%
%
+% \begin{macro}{\@cline}
+% Tagging support for \cs{cline}
+% \changes{v2.6e}{2024/07/13}{Support for tagging \cs{cline} (tagging/134)}
+% \begin{macrocode}
+\ExplSyntaxOn
+\def\@cline#1-#2\@nil{
+ \omit
+ \@multicnt#1
+ \advance\@multispan\m@ne
+ \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
+ \@multicnt#2
+ \advance\@multicnt-#1
+ \advance\@multispan\@ne
+% \end{macrocode}
+% The rule needs artifact tagging in tagged PDF.
+% \begin{macrocode}
+ \UseTaggingSocket{tbl/leaders/begin}
+ \leaders\hrule\@height\arrayrulewidth\hfill
+ \UseTaggingSocket{tbl/leaders/end}
+% \end{macrocode}
+% To the row counting the above appears like an extra row, so we
+% have to correct the count.
+% \begin{macrocode}
+ \tbl_gdecr_row_count:
+ \cr
+ \noalign{\vskip-\arrayrulewidth}
+}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
%
%
% \begin{macrocode}
diff --git a/macros/latex-dev/required/tools/array.pdf b/macros/latex-dev/required/tools/array.pdf
index 715f3284ec..f42a936a8b 100644
--- a/macros/latex-dev/required/tools/array.pdf
+++ b/macros/latex-dev/required/tools/array.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf
index a92141480e..8da4641478 100644
--- a/macros/latex-dev/required/tools/bm.pdf
+++ b/macros/latex-dev/required/tools/bm.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf
index c5424a2a9f..07f9891480 100644
--- a/macros/latex-dev/required/tools/calc.pdf
+++ b/macros/latex-dev/required/tools/calc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/changes.txt b/macros/latex-dev/required/tools/changes.txt
index afd942a4e7..31292d1b2b 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -1,3 +1,14 @@
+2024-08-13 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * longtable.dtx:
+ store row number of head also if it ends with a \cr
+ (tagging-project-gh/554).
+
+2024-07-13 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * array.dtx (subsection{Handling \cs{cline}}):
+ Support for tagging \cline (tagging/134)
+
=======================================================================
This file lists changes to the LaTeX2e files in reverse chronological order.
It is provided for convenience only. It therefore makes no claims to
@@ -5,12 +16,31 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2024-07-04 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * longtable.dtx:
+ Added \LTcaptype (from package ltcaption) to support other types
+ beside table and to support unnumbered longtables (gh/1377).
+
+
+2024-06-28 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * multicol.dtx:
+ Update documentation to reflect that \sloppy isn't using
+ \tolerance=10000 any longer (it did in the early days of LaTeX)
+ (gh/1385)
+
================================================================================
All changes above are only part of the development branch for the next release.
================================================================================
+2024-06-14 David Carlisle <David.Carlisle@latex-project.org>
+
+ * array.dtx move \ExplSyntaxOff earlier so error message spaces preserved gh/1378
+
+
#########################
-# 2023-11-01 Release
+# 2024-06-01 Release
#########################
2024-05-23 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index 537bc4d21c..15d118feae 100644
--- a/macros/latex-dev/required/tools/dcolumn.pdf
+++ b/macros/latex-dev/required/tools/dcolumn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf
index 47b5a5fa9a..28d9497fd9 100644
--- a/macros/latex-dev/required/tools/delarray.pdf
+++ b/macros/latex-dev/required/tools/delarray.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf
index fc9d77d6af..7a3aa3b340 100644
--- a/macros/latex-dev/required/tools/enumerate.pdf
+++ b/macros/latex-dev/required/tools/enumerate.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf
index 574edfdb38..2e5d92685b 100644
--- a/macros/latex-dev/required/tools/fileerr.pdf
+++ b/macros/latex-dev/required/tools/fileerr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf
index 8d4fe68316..4bc67919a4 100644
--- a/macros/latex-dev/required/tools/fontsmpl.pdf
+++ b/macros/latex-dev/required/tools/fontsmpl.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf
index 9f2da32d26..631413b685 100644
--- a/macros/latex-dev/required/tools/ftnright.pdf
+++ b/macros/latex-dev/required/tools/ftnright.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf
index b2b7bc6adb..a8b5e0b679 100644
--- a/macros/latex-dev/required/tools/hhline.pdf
+++ b/macros/latex-dev/required/tools/hhline.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf
index c95cef137f..d87fd104cd 100644
--- a/macros/latex-dev/required/tools/indentfirst.pdf
+++ b/macros/latex-dev/required/tools/indentfirst.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/l3sys-query.pdf b/macros/latex-dev/required/tools/l3sys-query.pdf
index e333418672..1eafdab83a 100644
--- a/macros/latex-dev/required/tools/l3sys-query.pdf
+++ b/macros/latex-dev/required/tools/l3sys-query.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf
index 6cbbc763ca..8ab18ca488 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.dtx b/macros/latex-dev/required/tools/longtable.dtx
index cc3a939e7a..439542a18c 100644
--- a/macros/latex-dev/required/tools/longtable.dtx
+++ b/macros/latex-dev/required/tools/longtable.dtx
@@ -28,7 +28,7 @@
%</dtx>
%<package>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%<package>
-% Try the 2020 version for any rollback before that date:
+% Try the 2020 version for any rollback before that date:
%<package>\DeclareRelease{}{1994-06-01}{longtable-2020-01-07.sty}
%<package>
%<package>\DeclareRelease{v4.13}{2020-01-02}{longtable-2020-01-07.sty}
@@ -38,7 +38,7 @@
%<driver> \ProvidesFile{longtable.drv}
% \fi
% \ProvidesFile{longtable.dtx}
- [2024-04-26 v4.20 Multi-page Table package (DPC)]
+ [2024-07-06 v4.21 Multi-page Table package (DPC)]
%
% \iffalse
%<*driver>
@@ -179,7 +179,7 @@
% \env{longtable}, which has most of the features of the \env{tabular}
% environment, but produces tables which may be broken by \TeX's
% standard page-breaking algorithm. It also shares some features with
-% the \env{table} environment. In particular it uses the same counter,
+% the \env{table} environment. In particular it uses by default the same counter,
% \texttt{table}, and has a similar "\caption" command. Also, the
% standard "\listoftables" command lists tables produced by either the
% \env{table} or \env{longtable} environments.
@@ -335,6 +335,29 @@
% \caption{A floating table}
% \end{table}
%
+% \section{Counter and Caption Types}
+%
+% As mentioned in the introduction \env{longtable} uses and updates by default
+% the \texttt{table} counter, the "\caption" command creates a table caption
+% which is added to the list of tables.
+% Packages like \pkg{ltcaption} added more flexibility here by adding the
+% command "\LTcaptype" which allowed to change the type, e.g. to a listing.
+% Starting with version 4.21 \pkg{longtable} supports this command directly.
+% \DescribeMacro{\LTcaptype}%
+% By redefining this command it is possible to change the counter and caption type.
+% After "\renewcommand\LTcaptype{"\meta{counter}"}" \env{longtable} will update
+% the counter \meta{counter}, use "\fnum@"\meta{counter} in the caption (which
+% typically will make use of "\"\meta{counter}"name" and "\the"\meta{counter}), and
+% write content line entries into the file with the extension stored in the
+% command "\ext@"\meta{counter}. When \pkg{hyperref} is loaded the name of
+% the anchor will use \meta{counter} too. Packages or documents that change
+% "\LTcaptype" to some nonstandard value must ensure that the counter
+% \meta{counter} and the commands "\fnum@"\meta{counter}
+% and "\ext@"\meta{counter} exist and do not error.
+% If "\LTcaptype" is empty no counter is advanced and "\"\meta{counter}"name" in
+% the caption is suppressed.
+%
+%
% \section{Captions and Headings}
%
% At the start of the table one may specify lines which are to appear at
@@ -907,6 +930,15 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\LTcaptype}
+% The name used as counter, in caption, "\addcontentsline" and in targets.
+% "\providecommand" is used for compability with \pkg{ltcaption}
+% \changes{v4.21}{2024/07/04}
+% {Added \cs{LTcaptype} to support other types beside table.}
+% \begin{macrocode}
+\providecommand\LTcaptype{table}
+% \end{macrocode}
+% \end{macro}
% \subsection{Internal Parameters}
%
% \begin{macro}{\LT@head}
@@ -957,8 +989,11 @@
% are preserved correctly when "\includeonly" is used. In the rest of
% the file "\LT@tables" has been replaced by "\c@LT@tables" without
% further comment.
+% \changes{v4.21}{2024/07/04}
+% {Provide a \cs{theH}-representation for targets.}
% \begin{macrocode}
\newcounter{LT@tables}
+\providecommand\theHLT@tables{\theLT@tables}
% \end{macrocode}
% \end{macro}
%
@@ -1050,12 +1085,12 @@
\LT@err{longtable not in 1-column mode}\@ehc
\fi
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/vmode/begin}%
% \end{macrocode}
-%
+%
% \begin{macrocode}
\begingroup
% \end{macrocode}
@@ -1080,6 +1115,9 @@
% Since Version 3.02, \package{longtable} has used the internal counter
% "\c@LT@tables". The \LaTeX\ counter "table" is still incremented
% so that "\caption" works correctly.
+% \changes{v4.21}{2024/07/04}
+% {Use \cs{LTcaptype} instead of \texttt{table} in various places
+% to support other types beside table.}
% \begin{macrocode}
\def\LT@array[#1]#2{%
% \end{macrocode}
@@ -1097,25 +1135,31 @@
% TODO: When a line is killed the structure subtree is there already
% too and must be removed. If hard to do, then maybe at first warn if the
% construction is used.
-%
+%
% \cs{LT@array} is executed in a group, so we can disable para-tagging here.
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/init}
- \@kernel@refstepcounter{table}\stepcounter{LT@tables}
+ \tl_if_empty:eTF { \LTcaptype }
+ {
+ \tl_gset:Ne \@currentHref {LT@tables.\theHLT@tables}
+ }
+ {
+ \@kernel@refstepcounter{\LTcaptype}\stepcounter{LT@tables}
% \end{macrocode}
-% The target is created rather late and a \cs{label} can come earlier,
+% The target is created rather late and a \cs{label} can come earlier,
% so we have to define \cs{@currentHref} explicitly. We can't currently
% assume that \cs{theHtable} is defined always.
% \begin{macrocode}
- \tl_gset:Ne \@currentHref {table.\cs_if_exist_use:N\theHtable}
+ \tl_gset:Ne \@currentHref {\LTcaptype.\cs_if_exist_use:c {theH\LTcaptype}}
+ }
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_gzero_row_count:
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/longtable/init}
@@ -1225,7 +1269,7 @@
\begingroup
\@mkpream{#2}%
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_count_table_cols:
@@ -1271,12 +1315,12 @@
\tabskip\z@ \@arstrut
% \end{macrocode}
% Insert the tagging socket to start the row and initialize the cell
-% data for the row.
+% data for the row.
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/row/begin}%
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_init_cell_data_for_row:
@@ -1314,7 +1358,7 @@
column:~ \the\g_@@_col_int
}
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\tbl_if_row_was_started:T
@@ -1399,7 +1443,7 @@
% We also have to make sure that this breakpoint doesn't affect how the next
% page is broken, so we make the penalty 9999 (10000 is infinite and thus not
% a legal breakpoint) and cancel out the "\kern" with a new "\kern".
-%
+%
% I don't think this is the \emph{right} solution to the problem (that would be
% that the standard output routine has a feature for syncronizing with
% typesetting, as part of the preparations for switching output routine), but
@@ -1476,9 +1520,17 @@
\maxdepth\z@
\fi
% \end{macrocode}
-%
+% \changes{v4.21}{2024/07/04}
+% {Use \cs{LTcaptype} to support other types beside table and handle
+% the case if it is empty.}
% \begin{macrocode}
- \MakeLinkTarget{table}
+ \tl_if_empty:eTF{\LTcaptype}
+ {
+ \MakeLinkTarget{LT@tables}
+ }
+ {
+ \MakeLinkTarget{\LTcaptype}
+ }
% \end{macrocode}
% Put the table head on the page, and then switch to the new output
% routine.
@@ -1487,12 +1539,12 @@
% \begin{macrocode}
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/longtable/head}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\output{\LT@output}}
\ExplSyntaxOff
@@ -1524,18 +1576,18 @@
% \begin{macrocode}
\tbl_crcr:n {endlongtable}
% \end{macrocode}
-%
+%
% \changes{v4.01}{1996/04/11}
% {(DPC) use \cs{noalign} to sneak in \cs{LT@entry@chop}}
% \begin{macrocode}
\noalign{%
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/longtable/finalize}
% \end{macrocode}
-%
+%
% \begin{macrocode}
\let\LT@entry\LT@entry@chop
\xdef\LT@save@row{\LT@save@row}}%
@@ -1579,7 +1631,11 @@
\ifx\LT@save@row\LT@@@@save@row
\else
\LT@warn{Column~ widths~ have~ changed\MessageBreak
- in~ table~ \thetable}%
+ in~
+ \tl_if_empty:eTF{\LTcaptype}
+ {longtable~ \theLT@tables}
+ {\LTcaptype\c_space_tl\use:c{the\LTcaptype}}
+ }
\LT@final@warn
\fi
% \end{macrocode}
@@ -1613,7 +1669,7 @@
% \begin{macrocode}
\ifvoid\footins\else\insert\footins{}\fi
% \end{macrocode}
-%
+%
% \changes{v4.19}{2023/12/16}{Support for tagged PDF}
% \begin{macrocode}
\UseTaggingSocket{tbl/vmode/end}%
@@ -2161,7 +2217,6 @@
\tbl_gdecr_row_count:
\penalty\@M}
\@gtempa}
-\ExplSyntaxOff
%<@@=>
% \end{macrocode}
% \end{macro}
@@ -2187,14 +2242,22 @@
% {Add new control argument}
% \changes{v4.16}{2021/05/07}
% {use \cs{ext@table} gh/561}
-% \begin{macrocode}
-\def\LT@c@ption#1[#2]#3{%
- \LT@makecaption#1\fnum@table{#3}%
- \def\@tempa{#2}%
- \ifx\@tempa\@empty\else
- {\let\\\space
- \addcontentsline{\ext@table}{table}{\protect\numberline{\thetable}{#2}}}%
- \fi}
+% \changes{v4.21}{2024/07/04}
+% {Use \cs{LTcaptype} to support other types beside table.}
+% \begin{macrocode}
+\def\LT@c@ption#1[#2]#3{
+ \tl_if_empty:eTF{\LTcaptype}
+ {\LT@makecaption\@gobble{}{#3}}
+ {\LT@makecaption#1{\csname fnum@\LTcaptype\endcsname}{#3}
+ \def\@tempa{#2}
+ \ifx\@tempa\@empty\else
+ {\let\\\space
+ \addcontentsline
+ {\@nameuse{ext@\LTcaptype}}
+ {\LTcaptype}
+ {\protect\numberline{\@nameuse{the\LTcaptype}}{#2}}}
+ \fi}}
+\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
%
@@ -2375,7 +2438,7 @@
\ExplSyntaxOn
\def\LT@end@hd@ft#1{%
% \end{macrocode}
-%
+%
% This command is used to store the head and foot boxes.
% We need to retrieve and store the row so that we can clean
% up the structure in the finalize code.
@@ -2388,7 +2451,7 @@
% \end{macrocode}
% TODO: This is exposing internal counters, so it should be encapsulated
% in some interface command (but I'm not sure what that should be
-% called, so not done yet.
+% called, so not done yet.
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_count_missing_cells:n {head/foot}
@@ -2413,19 +2476,28 @@
% To get out of this trap we run \cs{crcr} (which would normally
% come inside \cs{LT@echunk}. That will then trigger \cs{everycr}
% and update row counter unnecessarily, but now we have a defined state, so
-% we can use \cs{noalign} to undo that.
+% we can use \cs{noalign} to undo that.
% We also change \cs{LT@rows} so that further \cs{cr}s do not do
% any harm (as explained above.
%
% The \cs{crcr} inside \cs{LT@echunk} will be bypassed in that case
% as we have just executed a \cs{crcr} and are still in scanning modus for
-% \cs{omit} or \cs{noalign}.
+% \cs{omit} or \cs{noalign}.
% \begin{macrocode}
{
\crcr
\noalign{
% \end{macrocode}
-%
+% \changes{v4.22}{2024/08/13}{Store header row numbers}
+% \begin{macrocode}
+ \int_step_inline:nn
+ { \LT@rows }
+ {
+ \seq_gput_left:ce
+ {g_@@_\cs_to_str:N #1 _rows_seq }
+ { \int_eval:n {\g_@@_row_int - ##1 } }
+ }
+% \end{macrocode}
% \changes{v4.19}{2023/12/16}{Managing cell indexes}
% \begin{macrocode}
\tbl_gdecr_row_count: % undo the increment
@@ -2442,7 +2514,7 @@
{Increase~ LTchunksize}%
\fi
\setbox#1\box\z@
- \@@_trace:n {-->>~ Saving~\noexpand#1}
+ \@@_trace:n {-->>~ Saving~\noexpand#1}
\LT@get@widths
\LT@bchunk}
% \end{macrocode}
@@ -2501,7 +2573,7 @@
\bgroup
% \end{macrocode}
% \changes{v4.12}{2019/02/06}{Color group to match array package}
-% \changes{v4.18}{2023/08/25}{Use \cs{everypar} to match array package, github 1128}%
+% \changes{v4.18}{2023/08/25}{Use \cs{everypar} to match array package, github 1128}
% \begin{macrocode}
\color@begingroup
\let\@footnotetext\LT@p@ftntext
@@ -2509,7 +2581,7 @@
\@arrayparboxrestore
\everypar{%
\vrule \@height \ht\@arstrutbox \@width \z@
- \everypar{}}%
+ \everypar{}}%
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index f0823ed03f..7be619967c 100644
--- a/macros/latex-dev/required/tools/longtable.pdf
+++ b/macros/latex-dev/required/tools/longtable.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/manifest.txt b/macros/latex-dev/required/tools/manifest.txt
index 004245d1d5..c07b6cd831 100644
--- a/macros/latex-dev/required/tools/manifest.txt
+++ b/macros/latex-dev/required/tools/manifest.txt
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2024
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
@@ -49,7 +49,7 @@ bm.dtx
Access bold math symbols.
calc.dtx
- Infix arithmetic expresions. Contributed to the distribution by
+ Infix arithmetic expressions. Contributed to the distribution by
Kresten Krab Thorup and Frank Jensen.
enumerate.dtx
@@ -60,7 +60,7 @@ fileerr.dtx
missing file error loop.
fontsmpl.dtx
- Package and test file for producing `font samples'
+ Package and test file for producing `font samples'.
ftnright.dtx
Place footnotes in the right hand column in two-column mode.
@@ -77,7 +77,7 @@ multicol.dtx
rawfonts.dtx
Preload fonts under the old internal font names of LaTeX2.09.
- Not recomended for new packages, but may help when updating old
+ Not recommended for new packages, but may help when updating old
files.
shellesc.dtx
@@ -103,7 +103,7 @@ verbatim.dtx
Flexible version of verbatim environment.
xr.dtx
- eXternall References. Extend \ref to access \label commands in
+ eXternal References. Extend \ref to access \label commands in
other documents.
xspace.dtx
diff --git a/macros/latex-dev/required/tools/multicol.dtx b/macros/latex-dev/required/tools/multicol.dtx
index 4d86448002..99f513097e 100644
--- a/macros/latex-dev/required/tools/multicol.dtx
+++ b/macros/latex-dev/required/tools/multicol.dtx
@@ -20,7 +20,7 @@
% \iffalse This is a METACOMMENT
%
%% Package `multicol' to use with LaTeX2e
-%% Copyright 1989-2023 Frank Mittelbach
+%% Copyright 1989-2024 Frank Mittelbach
%%
%% In addition to the terms of LPPL any distributed version
%% (unchanged or modified) of multicol has to keep the statement
@@ -77,7 +77,7 @@
%% not for the payment of a license fee per se (which might or might
%% not follow from this evaluation).
%%
-%% The license fee, if any, can be payed either to the LaTeX fund
+%% The license fee, if any, can be paid either to the LaTeX fund
%% (see ltx3info.txt in the base LaTeX distribution) or to the author of
%% the program who can be contacted at
%%
@@ -98,7 +98,7 @@
%<driver> \ProvidesFile{multicol.drv}
% \fi
% \ProvidesFile{multicol.dtx}
- [2024/05/23 v1.9h multicolumn formatting (FMi)]
+ [2024/07/01 v1.9h multicolumn formatting (FMi)]
%
%
%
@@ -403,12 +403,17 @@
% the most important is called |\tolerance|: this controls the
% allowed `looseness' (i.e.\ the amount of blank space between words).
% Its default value is 200 (the \LaTeX{} |\fussy|) which is too
-% small for narrow columns. On the other hand the |\sloppy|
-% declaration (which sets |\tolerance| to $10000=\infty$) is too
-% large, allowing really bad spacing.\footnote{Look at the next
-% paragraph, it was set with the \cs{sloppy} declaration.}
-%
-% \begin{sloppypar}
+% small for narrow columns.
+
+% Setting it to \texttt{10000} (a.k.a.\ $\infty$) means arbitrary bad
+% lines are possible. With that setting \LaTeX{} will make most lines
+% perfect but intermix them with really bad lines. This was the
+% setting originally used by \cs{sloppy} (nowadays it is a bit more
+% cautious and used \texttt{9999} which makes a huge
+% difference).\footnote{Look at the next paragraph, it was set with
+% the \cs{tolerance}\texttt{=10000}.}
+%
+% \begin{sloppypar}\tolerance=10000
% \DescribeMacro\multicoltolerance \DescribeMacro\multicolpretolerance
% We therefore use a |\multicoltolerance| parameter for the
% |\tolerance| value inside the \mc{} environment. Its default value
@@ -417,10 +422,10 @@
% be done outside the \mc{} environment. Since |\tolerance| is set
% to |\multicoltolerance| at the beginning of every \textsf{multicols}
% environment one can locally overwrite this default by assigning
-% \verb*+\tolerance = +\meta{desired value}. There also exists a
+% \cs{tolerance}\texttt{=}\meta{desired value}. There also exists a
% |\multicolpretolerance| parameter holding the value for
% |\pretolerance| within a \mc{} environment. Both parameters are
-% usually used only by package designers.
+% usually used only by package or class designers.
% \end{sloppypar}
%
% Generation of multicolumn output can be divided into two parts. In
@@ -679,7 +684,7 @@
% this value will additionally trace the mark handling
% algorithm. It will show what marks are found, what marks are
% considered, etc. To fully understand this information you will
-% probably have to read carefully trough the implementation.
+% probably have to read carefully through the implementation.
% \item[$\meta{number}\geq 4$.] Setting \meta{number}\pagebreak[2] to
% such a high value will additionally place an |\hrule| into your
% output, separating the part of text which had already been
@@ -1945,7 +1950,7 @@
% the balancing happened in the output routine then \TeX{} reverts
% to the |\prevdepth| that was current before the OR once the OR has
% finished. In short |\prevdepth| is something you can't set
-% globally it is alway local to the current list being built. Thus
+% globally it is always local to the current list being built. Thus
% we need to set it back to zero here to avoid incorrect spacing.
% \changes{v1.8h}{2014/09/12}{Set \cs{prevdepdth} for current vlist
% when returning from multicols environment}
@@ -2216,7 +2221,7 @@
% \begin{macro}{\multicolmindepthstring}
% The default minimum depth of each column corresponds to the depth
% of a `p' in the current font. This makes sense for Latin-based
-% languages and was hard-wired intitially, but for Asian languages
+% languages and was hard-wired initially, but for Asian languages
% it is better to use a zero depth (and alternatively one might
% want to use the depth of a strut or a parentheses). So we now
% offer a way to adjust this while maintaining backward
@@ -2462,7 +2467,7 @@
% If |\kept@firstmark| is non-empty then |\kept@botmark| must be
% non-empty too so we can use their values. Otherwise we use the
% value of |\kept@topmark| which was first initialized when we
-% gathered the |\partical@page| and later on was updated to the
+% gathered the |\partial@page| and later on was updated to the
% |\botmark| for the preceding page.
%
% \changes{v1.4a}{1992/02/14}{\cs{botmark} set to \cs{splitbotmark}}
@@ -2938,7 +2943,7 @@
% marks from this box. This has to be done \emph{before} we add a
% penalty of $-10000$ to the top of the box, otherwise only an
% empty box will be considered. But even that is not enough: the box
-% may contain \cs{columnbreak}s in which case doing some artifical
+% may contain \cs{columnbreak}s in which case doing some artificial
% splitting to get the marks out still fails to see all marks
% unless we take some special precaution in \cs{get@keptmarks}
% (which is now done).
diff --git a/macros/latex-dev/required/tools/multicol.pdf b/macros/latex-dev/required/tools/multicol.pdf
index 88f6d24fb9..3b740a6974 100644
--- a/macros/latex-dev/required/tools/multicol.pdf
+++ b/macros/latex-dev/required/tools/multicol.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf
index 4b70b5fb34..f56afeb117 100644
--- a/macros/latex-dev/required/tools/rawfonts.pdf
+++ b/macros/latex-dev/required/tools/rawfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 4a7b48325a..96693de02d 100644
--- a/macros/latex-dev/required/tools/shellesc.pdf
+++ b/macros/latex-dev/required/tools/shellesc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf
index bc179092e4..e9fd82c879 100644
--- a/macros/latex-dev/required/tools/showkeys.pdf
+++ b/macros/latex-dev/required/tools/showkeys.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf
index 350af16103..cdc2b30cb5 100644
--- a/macros/latex-dev/required/tools/somedefs.pdf
+++ b/macros/latex-dev/required/tools/somedefs.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf
index 3a9261846c..e35268596a 100644
--- a/macros/latex-dev/required/tools/tabularx.pdf
+++ b/macros/latex-dev/required/tools/tabularx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/theorem.dtx b/macros/latex-dev/required/tools/theorem.dtx
index a9c3ccae3e..3fbba473ba 100644
--- a/macros/latex-dev/required/tools/theorem.dtx
+++ b/macros/latex-dev/required/tools/theorem.dtx
@@ -24,7 +24,7 @@
%%
%
%
-\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)}
+\def\FMithmInfo{2024/08/06 v2.2c Theorem extension package (FMi)}
%
% \ProvidesFile{theorem.dtx}[\FMithmInfo]
%\iffalse % this is a METACOMMENT !
@@ -952,7 +952,6 @@
%
% \subsubsection{The \texttt{changebreak} style}
%
-% \begin{macrocode}
% This style option is stored in the file |thcb.sty|.
% \begin{macrocode}
%<*thcb>
diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf
index ef3fde6039..f9244454d3 100644
--- a/macros/latex-dev/required/tools/theorem.pdf
+++ b/macros/latex-dev/required/tools/theorem.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf
index fc09cbdfb7..f92bdfdd28 100644
--- a/macros/latex-dev/required/tools/tools-overview.pdf
+++ b/macros/latex-dev/required/tools/tools-overview.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.tex b/macros/latex-dev/required/tools/tools-overview.tex
index 54f4b5ed63..3d45a5e2fc 100644
--- a/macros/latex-dev/required/tools/tools-overview.tex
+++ b/macros/latex-dev/required/tools/tools-overview.tex
@@ -132,7 +132,7 @@
Access bold math symbols.
}%
\entry{calc}{%
- Infix arithmetic expresions. Contributed to the distribution by
+ Infix arithmetic expressions. Contributed to the distribution by
Kresten Krab Thorup and Frank Jensen.
}%
\entry{dcolumn}{%
@@ -149,7 +149,7 @@
missing file error loop.
}%
\entry{fontsmpl}{%
- Package and test file for producing \emph{font samples}
+ Package and test file for producing \emph{font samples}.
}%
\entry{ftnright}{%
Place footnotes in the right hand column in two-column mode.
@@ -173,7 +173,7 @@
}%
\entry{rawfonts}{%
Preload fonts under the old internal font names of \LaTeX{}2.09.
- Not recomended for new packages, but may help when updating old
+ Not recommended for new packages, but may help when updating old
files.
}%
\entry{shellesc}{%
@@ -206,7 +206,7 @@
Flexible version of verbatim environment.
}%
\entry{xr}{%
- eXternall References. Extend \cs{ref} to access \cs{label} commands in
+ eXternal References. Extend \cs{ref} to access \cs{label} commands in
other documents.
}%
\entry{xspace}{%
diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf
index 986e0b9765..336007ba1e 100644
--- a/macros/latex-dev/required/tools/trace.pdf
+++ b/macros/latex-dev/required/tools/trace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/varioref.pdf b/macros/latex-dev/required/tools/varioref.pdf
index 3888f90501..45ccb23775 100644
--- a/macros/latex-dev/required/tools/varioref.pdf
+++ b/macros/latex-dev/required/tools/varioref.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 6158390d2b..60e64211fa 100644
--- a/macros/latex-dev/required/tools/verbatim.pdf
+++ b/macros/latex-dev/required/tools/verbatim.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf
index 1c051e4a12..bfa10f5403 100644
--- a/macros/latex-dev/required/tools/xr.pdf
+++ b/macros/latex-dev/required/tools/xr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf
index cacc2639aa..3eeaa8c7c9 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ
diff --git a/macros/latex/contrib/abraces/README.md b/macros/latex/contrib/abraces/README.md
index b26a225d8c..5234134d05 100644
--- a/macros/latex/contrib/abraces/README.md
+++ b/macros/latex/contrib/abraces/README.md
@@ -1,11 +1,11 @@
-`abraces` 2022/11/06 v2.1
+`abraces` 2024/08/02 v2.2
----------------------------------------
A package that provides a character key-driven interface to
supplement new constructions of the traditional `\overbrace`
and `\underbrace` pairs in an asymmetric or arbitrary way.
-Copyright (c) 2021 Werner Grundlingh
+Copyright (c) 2024 Werner Grundlingh
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/abraces/abraces-doc.pdf b/macros/latex/contrib/abraces/abraces-doc.pdf
index c0becaadde..a2161dafb5 100644
--- a/macros/latex/contrib/abraces/abraces-doc.pdf
+++ b/macros/latex/contrib/abraces/abraces-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/abraces/abraces-doc.tex b/macros/latex/contrib/abraces/abraces-doc.tex
index 970cf74eab..04178c2de7 100644
--- a/macros/latex/contrib/abraces/abraces-doc.tex
+++ b/macros/latex/contrib/abraces/abraces-doc.tex
@@ -1,4 +1,4 @@
-% $Id: abraces-doc.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $
+% $Id: abraces-doc.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $
\RequirePackage{xcolor}% http://ctan.org/pkg/xcolor (required to "overload" color package)
\documentclass[10pt]{ltxdockit}[2011/03/25]
@@ -7,7 +7,7 @@
\usepackage{booktabs,shortvrb,amsmath,xfp}
\MakeShortVerb{\|}
-\rcsid{$Id: abraces.tex,v 2.1 2022/11/06 00:00:00 wgrundlingh stable $}
+\rcsid{$Id: abraces.tex,v 2.2 2024/08/02 00:00:00 wgrundlingh stable $}
%\setcounter{secnumdepth}{2}
%\setcounter{tocdepth}{4}
@@ -305,11 +305,18 @@ This material is released under and subject to the \href{https://latex-project.o
\section{Acknowledgements}
-Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface (via the \href{http://ctan.org/pkg/xparse}{\sty{xparse} package}).
+Thanks to Frank Mittlebach who stepped in and suggested an improvement in the original way \sty{abraces} functioned. Expansions included the use of \LaTeX3 command interface.
\section{Change log}
\begin{itemize}
+ \item v2.2 (2024-08-02) Minor update
+
+ \begin{itemize}
+ \item
+ Added \href{http://ctan.org/pkg/xcolor}{\sty{xcolor}} dependency to always have \lstinline|\bracecolor| available.
+ \end{itemize}
+
\item v2.1 (2022-11-06) Minor update
\begin{itemize}
diff --git a/macros/latex/contrib/abraces/abraces.sty b/macros/latex/contrib/abraces/abraces.sty
index af146826ce..3b096e7ab7 100644
--- a/macros/latex/contrib/abraces/abraces.sty
+++ b/macros/latex/contrib/abraces/abraces.sty
@@ -1,5 +1,5 @@
%% abraces.sty
-%% Copyright 2021 Werner Grundlingh
+%% Copyright 2024 Werner Grundlingh
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -16,9 +16,12 @@
% This work consists of the file abraces.sty.
\ProvidesPackage{abraces}% http://ctan.org/pkg/abraces
- [2022/11/06 v2.1 Arbitrary and asymmetric braces]
+ [2024/08/02 v2.2 Arbitrary and asymmetric braces]
+% xparse definitions now form part of the LaTeX core. However, keeping this in for those using older versions.
\RequirePackage{xparse}
+% Since abraces defines \bracecolor, add xcolor as dependency
+\RequirePackage{xcolor}
\newif\if@overload
\DeclareOption{overload}{\@overloadtrue}
diff --git a/macros/latex/contrib/asmeconf/README.md b/macros/latex/contrib/asmeconf/README.md
index 2c07a04b9b..d01de1897f 100644
--- a/macros/latex/contrib/asmeconf/README.md
+++ b/macros/latex/contrib/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.37 dated 2024/02/06.
+ Version 1.38 dated 2024/08/01.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -80,23 +80,37 @@
####Change log####
+ v1.38 (2024/08/01)
+ - Add dcolumn type ",{x.y}" to center numbers on a comma separator
+ - Change appendix section titles block format, rather than hanging indentation
+ - Replace sample French appendix by a German appendix
+ - Fix bug in \[main=\] option (for babel)
+ - Define commands \\@title and \\@author
+ - Code clean-up (compatibility code, bookmark package loading, twocolumn loading,...)
+ - Various code changes to better support future tagged pdf
+ - Update documentation for using fontspec with asmeconf
+ - Rescale Termes, Helvetica, and Inconsolata fontdimens under LuaLaTeX to match pdfTeX
+ - Add logic to asme-template.tex to test for presence of non-latin fonts under LuaLaTeX
+ - Change code for Japanese fonts to by-pass bug in luatexja-fontspec
+ - Correct typo in babel font loading for traditional Chinese
+ - Remove calls for Harfbuzz renderer since fontspec handles this internally
+
v1.37 (2024/02/06)
- - Under luaLaTeX, fontspec is now loaded by default. The option [nofontspec] will prevent this.
- - Eliminate the following long-deprecated options: [oldauthor, lang, lang-second, lang-third]
- - newtxtext has removed the superiors font options (Jan 2024). As a result, the option [nodefaultsups] has been removed from asmeconf, along with supporting code
+ - Under LuaLaTeX, fontspec is now loaded by default. The option \[nofontspec\] will prevent this.
+ - Eliminate the following long-deprecated options: \[oldauthor, lang, lang-second, lang-third\]
+ - newtxtext has removed the superiors font options (Jan 2024). As a result, the option \[nodefaultsups\] has been removed from asmeconf, along with supporting code
- Streamline code for option handling and compatibility testing; other code clean-up
- Switch code handling successive footnotes to expl3, adjust intersecting code
- Small code changes to accommodate future tagged pdf
- Refresh sample figures, edit sample bib file
- Edits to asmeconf.bst: fix punctuation and spacing in journal title macros
-
-
+
v1.36 (2023/12/28)
- Change option-passing to xcolor package to address recent changes that package's code which lead to an error message.
v1.35 (2023/10/19)
- Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a].
- - Add option to not use boldface text in captions: [unboldcaption]
+ - Add option to not use boldface text in captions: \[unboldcaption\]
- Add mathversion sans for sans-serif math and set as default in unbolded captions
v1.34 (2022/12/30)
@@ -131,7 +145,7 @@
v1.27 (2021/12/26):
- fix bug in captions that appeared in Jan. 2021 (code not uppercasing caption text)
- revise code to switch to grid-style author block through a single package option, \[grid\]; previous macros for grid-style remain active.
- - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with luaLaTeX, TeX Live 2021 or later should be used.
+ - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with LuaLaTeX, TeX Live 2021 or later should be used.
- eliminate use of \\entry{} with a single argument to produce subheadings in nomenclature; use \\EntryHeading{} instead. (**not backward compatible**)
- incorporate recent changes to LaTeX pdf management in relation to pdf-a color profile loading and recently deprecated \\pdfcatalog command
- minor edits in relation to url links
diff --git a/macros/latex/contrib/asmeconf/asmeconf-sample.bib b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
index 158b0f0081..66b2a356cf 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-sample.bib
+++ b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmeconf.bst and asmeconf.cls
%%
-%% Revised 25 January 2024
+%% Revised 26 July 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -212,6 +212,18 @@
urldate = {January 18, 2021},
}
+@article{pohlhausen1921,
+ author = {Pohlhausen, E.},
+ title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung},
+ journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {Me}chanik},
+ volume = {1},
+ number = {2},
+ pages = {115--121},
+ doi = {10.1002/zamm.19210010205},
+ year = {1921},
+}
+%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205},
+
@book{fourier1822,
author = {Jean Baptiste Joseph Fourier},
year = {1822},
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.pdf b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
index 0e628963d3..8e3eefb516 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.pdf
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.tex b/macros/latex/contrib/asmeconf/asmeconf-template.tex
index 84eecfb071..a325b89357 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.tex
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.37 dated 2024/02/06
+%% This file is version 1.38 dated 2024/08/01
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
@@ -71,8 +71,8 @@
%% * See Appendix B for details.
%% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but
%% * be aware that you may to install additional fonts on your system to use fontspec.
-%% *
-%% * To use LuaLaTeX without bothering about extra fonts, use the [nofontspec] option to asmeconf.
+%%
+%% * Option to use LuaLaTeX **without** bothering about extra fonts, [nofontspec]
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros
@@ -93,13 +93,13 @@
%% STRONGLY RECOMMENDED new pdf management code follows.
%% This addition the LaTeX kernel was made in June 2022 by the LaTeX Project team.
%% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
-%% Uncomment the next lines and omit the option [pdf-a] from \documentclass[...]{asemconf}
+%% If this doesn't work for you, comment out the next lines and add option [pdf-a] to \documentclass[...]{asmeconf}
-%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
-% pdfversion=1.7,
-% lang=en-US,
-%}
+\DocumentMetadata{%
+ pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -108,7 +108,7 @@
%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
%% but keep that option for other uses.
-\documentclass[pdf-a,balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, spanish,french,vietnamese,russian,greek]{asmeconf}
+\documentclass[balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, german,spanish,vietnamese,russian,greek]{asmeconf}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -121,6 +121,7 @@
pdflicenseurl={https://ctan.org/pkg/asmeconf},% may delete
}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -154,7 +155,7 @@
% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
\SetAuthors{%
- John H.\ Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
+ John H. Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
Luis Hern\'andez\affil{2}\JointFirstAuthor,
Maria Silva\affil{3},
Henry Tudor\affil{4},
@@ -183,7 +184,6 @@
%%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Abstract should be 200 words or less
@@ -314,16 +314,18 @@ Run 12 & 24 & 68.3 \\
%%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% note column set as a 3 cm wide paragraph with 1em hanging indentation. See array package documentation.
+% note numbers centered on "." (with d{3.3}) and on "," (with ,{3.3}). See dcolumn package documentation.
\begin{table}[t]
\caption{Table with more complicated columns}\label{tab:2}%
\centering{%
-\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} d{3.3} !{\hspace*{0.5cm}}}
+\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} ,{3.3} !{\hspace*{0.5cm}}}
\toprule
Experiment & \multicolumn{1}{c@{\hspace*{1cm}}}{$u$ [m/s]} & \multicolumn{1}{c!{\hspace*{0.5cm}}}{$T$ [\textdegree C]} \\
\midrule
-The first test we ran this morning & 124.3 & 68.3 \\
-The second test we ran this morning & 82.50 & 103.46 \\
-Our competitor's test & 72.321 & 141.384 \\
+The first test we ran this morning & 124.3 & 68,3 \\
+The second test we ran this morning & 82.50 & 103,46 \\
+Our competitor's test & 72.321 & 141,384 \\
\bottomrule
\end{tabular}
}
@@ -444,7 +446,7 @@ Math italics are used for Roman and Greek letters by default. If you want an up
\begin{equation}\label{eqn:dw}
\vec{F} = m \vec{a} \quad\textrm{or}\quad \vec{\mathrm{F}} = m \vec{\mathrm{a}} \quad\textrm{or}\quad \mathbf{F} = m \mathbf{a} \quad\textrm{or}\quad \vec{\mathsf{F}} = m \vec{\mathsf{a}}
\end{equation}
-To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}|\ldots\texttt{\}}.
+To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}..|\texttt{\}}.
The class file also provides upright sans-serif Greek letters with \verb|\sfalpha| and similar expressions (e.g., $\sfalpha, \sfbeta, \sfgamma, \sfdelta$ \ldots $\bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how Greek letters are presented).
@@ -555,7 +557,9 @@ The \hologo{LuaLaTeX} engine is useful with \texttt{asmeconf} in two situations:
\item \textbf{Executing lua code directly in your \LaTeX\ file.} With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2024}. In this situation, \textit{be sure to use the class option} \texttt{[nofontspec]}, so that you won't need to install additional fonts on your computer.
-\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system. See the example file in this distribution for more details~\cite{lienhard2021}.
+\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system.\footnote{For English, you \textit{must} have these fonts installed:\par \parbox{\columnwidth}{\setlength{\parindent}{12pt}TeX Gyre Termes (\hrefurl{https://ctan.org/tex-archive/fonts/newtx/opentype}{ctan.org/tex-archive/fonts/newtx/opentype}),\par TeX~Gyre~Heros (\hrefurl{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}{ctan.org/tex-archive/fonts/tex-gyre/opentype}),\par
+Inconsolatazi4 (\hrefurl{https://ctan.org/tex-archive/fonts/inconsolata/opentype}{ctan.org/tex-archive/fonts/inconsolata/opentype}).}} See the example file in this distribution for more details~\cite{lienhard2021}.
+
\end{description}
@@ -572,9 +576,10 @@ abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmeconf}|, English will be
set as the document's main language. (To choose a different main language, set \texttt{[main=..]}).
-If no language options are given, the package defaults to English. As examples, a passage in French is
-shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by
-\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
+If no language options are given, the package defaults to English. As examples, a passage in German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{german},
+%\selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english},
+followed by \ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
The input encoding can be utf-8, as for these glyphs:
%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.
@@ -588,12 +593,18 @@ The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{selectlanguage}{french}%
-\section{Discours Préliminaire de Fourier}\label{app:fourier}
-Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
-
-La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+\begin{selectlanguage}{german}%
+\section{Wärmeaustausch und Reibungswiderstand (\NoCaseChange{von} E. Pohlhausen)}\label{app:pohlhausen}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\end{selectlanguage}%
+
+%\begin{selectlanguage}{french}%
+%\section{Discours Préliminaire de Fourier}\label{app:fourier}
+%Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
+%
+%La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+%\end{selectlanguage}%
\begin{selectlanguage}{spanish}%
\begin{abstract*}
@@ -625,19 +636,25 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
\fi
-\iffontspecloaded %%% requires lualatex
+\iffontspecloaded %%% These passages require using lualatex AND installing the mentioned fonts as system fonts on your computer.
%
- \begin{selectlanguage}{greek}%
- \begin{abstract*}
- Αυτή είναι η πεÏίληψη του άÏθÏου. ΧÏησιμοποιοÏμε την ελληνική γλώσσα. ΠεÏιγÏάφεται το Ï€Ïόβλημα, οι μέθοδοι και τα αποτελέσματα. ΠεÏιλαμβάνονται επίσης αναφοÏές.
- \end{abstract*}
- \end{selectlanguage}% Edited by George Barbastathis
-%
- \begin{selectlanguage}{russian}
- \begin{abstract*}
- Это резюме Ñтатьи. Пишем по руÑÑки. ОпиÑаны проблема, методы и результаты. Ð‘Ð¸Ð±Ð»Ð¸Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ включена.%
- \end{abstract*}
- \end{selectlanguage}% edited by Steven Gerasimoff
+ \IfFontExistsTF{NotoSans}{
+ \IfFontExistsTF{NotoSerif}{
+ %
+ \begin{selectlanguage}{greek}%
+ \begin{abstract*}
+ Αυτή είναι η πεÏίληψη του άÏθÏου. ΧÏησιμοποιοÏμε την ελληνική γλώσσα. ΠεÏιγÏάφεται το Ï€Ïόβλημα, οι μέθοδοι και τα αποτελέσματα. ΠεÏιλαμβάνονται επίσης αναφοÏές.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by George Barbastathis
+ %
+ \begin{selectlanguage}{russian}
+ \begin{abstract*}
+ Это резюме Ñтатьи. Пишем по руÑÑки. ОпиÑаны проблема, методы и результаты. Ð‘Ð¸Ð±Ð»Ð¸Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ñ‚Ð°ÐºÐ¶Ðµ включена.%
+ \end{abstract*}
+ \end{selectlanguage}% edited by Steven Gerasimoff
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerif.ttf, which is needed for Greek and Russian language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSans.ttf, which is needed for Greek and Russian language text. Please install that font.}}
%
\begin{selectlanguage}{vietnamese}
\begin{abstract*}
@@ -645,24 +662,41 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{abstract*}
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
%
-% \begin{selectlanguage}{japanese}% Use class option [japanese] if you uncomment this passage.
-% \begin{abstract*}
-% % è«–æ–‡ã®è¦ç´„ã§ã™ã€‚日本語ã§è¨˜è¿°ã—ã¾ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ã¾ãŸã€å‚考文献もå«ã‚ã¾ã™ã€‚
-% ã“ã®è«–æ–‡ã®æ—¥æœ¬èªžã§ã®è¦ç´„ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœãŒèª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚å‚考資料も添付ã—ã¦ã‚ã‚Šã¾ã™ã€‚
-% \end{abstract*}
-% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
%
- \begin{selectlanguage}{korean}
- \begin{abstract*}
- ì´ê²ƒì€ 한국어로 ì“°ì¸ ë…¼ë¬¸ì˜ ì´ˆë¡ìž…니다. 문제, 방법 ë° ê²°ê³¼ê°€ 설명ë˜ì–´ 있습니다. ì°¸ì¡°ë„ í¬í•¨ë©ë‹ˆë‹¤.
- \end{abstract*}
- \end{selectlanguage}% Edited by Hyung Won Chung.
+%% Use class option [japanese] if you uncomment this passage.
+% \IfFontExistsTF{NotoSerifCJKjp}{%
+% \IfFontExistsTF{NotoSansCJKjp}{%
+% %
+% \begin{selectlanguage}{japanese}
+% \begin{abstract*}
+% % è«–æ–‡ã®è¦ç´„ã§ã™ã€‚日本語ã§è¨˜è¿°ã—ã¾ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ã¾ãŸã€å‚考文献もå«ã‚ã¾ã™ã€‚
+% ã“ã®è«–æ–‡ã®æ—¥æœ¬èªžã§ã®è¦ç´„ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚å•é¡Œã€æ–¹æ³•ã€ãŠã‚ˆã³çµæžœãŒèª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚å‚考資料も添付ã—ã¦ã‚ã‚Šã¾ã™ã€‚
+% \end{abstract*}
+% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+% %
+% }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}}
+% }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}}
%
- \begin{selectlanguage}{chinese-simplified}
- \begin{abstract*}
- 这是文章的摘è¦ã€‚我们用中文书写,æ述了问题,方法和结果,还包括了å‚考文献。
- \end{abstract*}
- \end{selectlanguage}% edited by Zi Hao Foo
+ \IfFontExistsTF{NotoSansCJKkr}{%
+ \IfFontExistsTF{NotoSerifCJKkr}{%
+ %
+ \begin{selectlanguage}{korean}
+ \begin{abstract*}
+ ì´ê²ƒì€ 한국어로 ì“°ì¸ ë…¼ë¬¸ì˜ ì´ˆë¡ìž…니다. 문제, 방법 ë° ê²°ê³¼ê°€ 설명ë˜ì–´ 있습니다. ì°¸ì¡°ë„ í¬í•¨ë©ë‹ˆë‹¤.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by Hyung Won Chung.
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKkr.otf, which is needed for Korean language text. Please install that font.}}
+ %
+ \IfFontExistsTF{NotoSerifCJKsc}{%
+ \begin{selectlanguage}{chinese-simplified}
+ \begin{abstract*}
+ 这是文章的摘è¦ã€‚我们用中文书写,æ述了问题,方法和结果,还包括了å‚考文献。
+ \end{abstract*}
+ \end{selectlanguage}% edited by Zi Hao Foo
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKsc.otf, which is needed for Korean language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSansCJK.ttf, which is needed for Korean and simplified Chinese text. Please install that font.}}
%
\fi
diff --git a/macros/latex/contrib/asmeconf/asmeconf.cls b/macros/latex/contrib/asmeconf/asmeconf.cls
index 186e5d4941..82ccbc2614 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.cls
+++ b/macros/latex/contrib/asmeconf/asmeconf.cls
@@ -5,8 +5,8 @@
%% ASME conference requirements as represented on ASME's conference web pages in 2024.
%%
%% This file's version and date:
- \def\versionno{1.37}
- \def\versiondate{2024/02/06\space}
+ \def\versionno{1.38}
+ \def\versiondate{2024/08/01\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -23,7 +23,7 @@
%% 6. Provide line numbers for editing and review
%% 7. Support balancing length of columns on last page
%% 8. Provide copyright footer for federal employees and contractors
-%% 9. Support the archival PDF/A standards 1b, 2b, 2u, 3b, and 3u
+%% 9. Support archival PDF/A standards
%% 10. Enable various math and text features from the newtxmath and newtxtext packages
%% 11. Support inclusion of passages in languages other than English
%%
@@ -66,74 +66,76 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{asmeconf}[\versiondate ASME Conference Paper LaTeX Template (JHL)]
-\LoadClass[twoside,twocolumn,10pt]{article}
+\LoadClass[twoside,10pt]{article}% twocolumn is initiated in \MakeTitle
% Even/odd page layout is not used in ASME's specs, although the papers are printed in two-sided format.
\RequirePackage{iftex}% provides \ifpdftex (many) & \ifluatex (once)
\RequirePackage{ifthen}% ifthenelse (many) & \whiledo (once)
-\RequirePackage{etoolbox}% using patchcmd in 4 places
+\RequirePackage{etoolbox}% using patchcmd in 4 or 5 places
+\ExplSyntaxOn
+ \str_const:Nn \ClassName {asmeconf}
+\ExplSyntaxOff
+
+%%%%%%%%%%%%% Compatibility codes for older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\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\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
-\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
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats and packages may generate errors or fail entirely!}{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 (else fall back to hyperxmp and bookmark packages after loading hyperref)
+\newif\ifasme@pdfmanagement
+\IfPDFManagementActiveTF{
+ \asme@pdfmanagementtrue
+}{
+ \asme@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
-\IfFormatAtLeastTF{2020/10/01}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020/10/01 or later are strongly recommended for best results}
- }{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats and packages may generate errors or fail entirely!}{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.}%
+% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error
+\IfFormatAtLeastTF{2021/11/15}{
+ \relax
+}{
+ \AtBeginDocument{
+ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
+ }
}
+% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
\ifdefined\NewDocumentCommand\else
\RequirePackage{xparse}% enable older installations to access features in LaTeX kernel since 2020/10/01; but need at least 2018/04...
\fi
-\DeclareDocumentCommand\LogNote{m}{%
- \IfFormatAtLeastTF{2021/11/15}{%
- \ClassNoteNoLine{asmeconf}{#1}% Added to LaTeX in Nov. 2021
- }{%
- \ClassWarningNoLine{asmeconf}{#1}%
- }
+% Provide pre-2020/10 installations with basic unicode character mappings
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+\ifpdftex
+ \pdfgentounicode=1 %% enable CMaps; was moved into the latex kernel Oct 2020
+ \input glyphtounicode.tex %% lists of mappings; was moved into the latex kernel Oct 2020
+\fi
}
\IfPackageAtLeastTF{iftex}{2019/11/07}{\relax}{%
- \ClassError{asemconf}{Package iftex is too old. Go to \string https://ctan.org and download an up-to-date version.}%
+ \ClassError{\ClassName}{Package iftex is too old. Go to \string https://ctan.org and download an up-to-date version.}{%
+ Your latex installation does not have an up-to-date version of the package iftex. You can get it at CTAN: \string https://ctan.org.}
}
-%% Test whether \DocumentMetadata has been loaded (Thank you Ulrike Fischer)
-\newif\if@asme@pdfmanagement
-% \IfPDFManagementActiveTF{\@asme@pdfmanagementtrue}{\@asme@pdfmanagementfalse}% New 2021/07/23, don't implement yet
-\ExplSyntaxOn
- \IfFormatAtLeastTF{2020/02/02}{%
- \bool_if:nTF
- {
- \bool_lazy_and_p:nn
- {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
- { \pdfmanagement_if_active_p: }
- }
- {
- \@asme@pdfmanagementtrue
- }
- {
- \@asme@pdfmanagementfalse
- }
- }{\@asme@pdfmanagementfalse}
-\ExplSyntaxOff
-
-
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
- family=asmeconf,
+ family=\ClassName,
prefix=asmeconf@,
setkeys=\kvsetkeys,
}
%%% set key [colorlinks] to have colored hyperlinks, rather than black links (use a key with new pdfmanagement, 2021/12/01)
-\define@key{asmeconf}{colorlinks}[colorlinks]{%
+\define@key{\ClassName}{colorlinks}[colorlinks]{%
\PassOptionsToPackage{#1}{hyperref}%
}
@@ -182,12 +184,11 @@
\ifthenelse{\equal{#1}{\ac@main}}{\ac@cyrillictrue\def\ac@TtwoA{T2A}}{\relax}% comparing strings
}
-\define@key{asmeconf}{main}[english]{%
+\define@key{\ClassName}{main}{% remove default 2024/07/26, to avoid conflict with subsequent logic
\PassOptionsToPackage{main=#1,#1}{babel}% added #1 resolves conflict of russianb.ldf & ukrainianb.ldf under "main=".
\ac@mainsettrue
\ifthenelse{\equal{#1}{english}}{%
- \PassOptionsToPackage{pdflang=en}{hyperref}}{%
- \LogNote{Selecting #1 as the primary language}%
+ \ClassNoteNoLine{\ClassName}{Selecting #1 as the primary language}%
\ifthenelse{\equal{#1}{greek}}{%
\ac@greektrue
\def\ac@LGR{LGR}%
@@ -201,7 +202,7 @@
\@FindCyr{russian;belarusian;bulgarian;macedonian;serbianc;ukrainian}
}%
}
-\define@key{asmeconf}{vietnamese}[]{%
+\define@key{\ClassName}{vietnamese}[]{%
\RequirePackage[vietnamese=nohyphenation]{hyphsubst}% using key, not option, to allow loading package w/o babel warning.
\PassOptionsToPackage{vietnamese.noencoding}{babel}% modified.noencoding suppresses unnecessary warning about inputenc
\ac@vietnamesetrue
@@ -209,21 +210,20 @@
}
\DeclareDefaultOption{}% suppress warnings about unused options
-\ProcessKeyvalOptions{asmeconf}
+\ProcessKeyvalOptions{\ClassName}
-%% if main language was not chosen explicitly, default to English
+%% if main language was not chosen explicitly, ensure default to English
\ifac@mainset\relax\else
\PassOptionsToPackage{main=english}{babel}%
- \PassOptionsToPackage{pdflang=en}{hyperref}
- \ClassInfo{asmeconf}{Selecting English as the primary language, since main= not set}%
+ \ClassInfo{\ClassName}{Selecting English as the primary language, since main= not set}%
\fi
%% Turn off these keys now that we're done with them
-\def\@KeyFamily{asmeconf}
+\def\@KeyFamily{\ClassName}
\NewDocumentCommand\ac@DisableOption{m}{%
\DisableKeyvalOption[%
action=ignore,%
- class=asmeconf%
+ class=\ClassName%
]{#1}{\@KeyFamily}%
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@DisableOption}}
@@ -249,7 +249,7 @@
\ifpdftex
\PassOptionsToPackage{largesc=true}{newtxtext}% largesc is a boolean key in newtxtext
\else
- \ClassWarningNoLine{asmeconf}{largesc option is not available under luaLateX. It will be ignored}%
+ \ClassWarningNoLine{\ClassName}{largesc option is not available under luaLateX. It will be ignored}%
\fi
}
@@ -261,21 +261,23 @@
%% option to hyphenate the inconsolata typewriter font [hyphenate] and to issue a warning when that's done.
\DeclareOption{hyphenate}{%
\ifac@fontspec
- \ClassWarningNoLine{asmeconf}{hyphenate option is not supported by fontspec, will be ignored}%
+ \ClassWarningNoLine{\ClassName}{hyphenate option is not supported by fontspec. It will be ignored}%
\else
\PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
- \LogNote{Allowing hyphenation of typewriter font}%
+ \ClassNoteNoLine{\ClassName}{Allowing hyphenation of typewriter font}%
\fi
}
%% option for monospacing in inconsolata typewriter font [mono].
+\def\MonoNotMono{WordSpace={1,1,1}}% rescaled tt font to match pdf, 2024/07/28
\DeclareOption{mono}{%
\ifac@fontspec
- \def\MonoNotMono{}%
+ \def\MonoNotMono{WordSpace={1,0,0},PunctuationSpace={3}}% NB: these are the default WordSpace values. 20204/07/30
\else
\PassOptionsToPackage{mono}{inconsolata}% mono is a key via xkeyval in inconsolata
\fi
}
%% option for unslashed zero in inconsolata typewriter font [var0].
+\def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
\DeclareOption{var0}{%
\ifac@fontspec
\def\ssztwo{+ss02}% stylistic alternate for regular zero
@@ -296,7 +298,7 @@
\newif\ifac@setpdfa\ac@setpdfafalse
\newif\ifac@pdfaone\ac@pdfaonefalse
-\if@asme@pdfmanagement\else
+\ifasme@pdfmanagement\else
\SetupKeyvalOptions{
family=pdfaopt,
@@ -308,7 +310,7 @@
%%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
\define@key{pdfaopt}{pdf-a}[true]{%
\IfFormatAtLeastTF{2018/12/01}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. 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/. Meanwhile, you can remove the [pdf-a] option and try again}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. 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/. Meanwhile, you can remove the [pdf-a] option and try again}%
}
\ac@setpdfatrue
\PassOptionsToPackage{pdfa}{hyperref}
@@ -344,7 +346,7 @@
%%%%%%%%%%%% PDF/A compliance related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\if@asme@pdfmanagement\else
+\ifasme@pdfmanagement\else
\ifpdftex
\ifac@pdfaone
\pdfminorversion=4 % for pdf/a-1 need version 4, not 7
@@ -353,7 +355,7 @@
\fi
\else
\ifluatex
- \ifac@setpdfa\ClassWarningNoLine{asmeconf}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
+ \ifac@setpdfa\ClassWarningNoLine{\ClassName}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
\protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}%
\fi
\directlua{
@@ -367,7 +369,7 @@
end
}
\else
- \ClassError{asmeconf}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Exit and rerun using either pdfLaTeX or LuaLaTeX.}%
+ \ClassError{\ClassName}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Exit and rerun using either pdfLaTeX or LuaLaTeX.}%
\fi
\fi
\fi
@@ -381,19 +383,17 @@
\ifpdftex
\ifasmeconf@nofontspec
- \ClassWarningNoLine{asmeconf}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
+ \ClassWarningNoLine{\ClassName}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
\fi
\else
\ifasmeconf@nofontspec
- \ClassWarningNoLine{asmeconf}{The [nofontspec] option has been issued. LuaLaTeX will run without font support}%
+ \ClassWarningNoLine{\ClassName}{The [nofontspec] option has been issued. LuaLaTeX will run without font support}%
\else
\IfFormatAtLeastTF{2020/10/01}{%
\ac@fontspectrue
\fontspecloadedtrue
- \def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
- \def\MonoNotMono{WordSpace={1,1.33,1.67}}% for Inconsolatazi4; default allows word spacing (is not mono)
}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020/10/01 or later are needed to run LuaLaTeX with the fontspec package. Fontspec will NOT be loaded. Language support will be minimal}{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 may alternatively choose the [nofontspec] option.}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020/10/01 or later are needed to run LuaLaTeX with the fontspec package. Fontspec will NOT be loaded. Language support will be minimal}{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 may alternatively choose the [nofontspec] option.}%
}
\fi
\fi
@@ -403,7 +403,7 @@
\PassOptionsToPackage{japanese}{babel}%
\ac@japanesetrue
\else
- \ClassWarningNoLine{asmeconf}{[japanese] option is supported only under LuaLaTeX with fontspec. It will be ignored}%
+ \ClassWarningNoLine{\ClassName}{[japanese] option is supported only under LuaLaTeX with fontspec. It will be ignored}%
\fi
}
@@ -426,23 +426,23 @@
% Several languages do not have .ldf files to load. Babel will call these on demand.
%
-\DeclareOption{arabic}{\ClassError{asmeconf}{Do not specify "arabic" as a class option}{Instead, give the option [bidi=basic] and specify "arabic" when you call the language within your document.}}
+\DeclareOption{arabic}{\ClassError{\ClassName}{Do not specify "arabic" as a class option}{Instead, give the option [bidi=basic] and specify "arabic" when you call the language within your document.}}
%
-\DeclareOption{bengali}{\ClassError{asmeconf}{Do not specify "bengali" as a class option}{Babel does not have an ldf file for Bengali. Instead, specify "bengali" when you call the language within your document. No class option is needed.}}
+\DeclareOption{bengali}{\ClassError{\ClassName}{Do not specify "bengali" as a class option}{Babel does not have an ldf file for Bengali. Instead, specify "bengali" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{chinese-simplified}{\ClassError{asmeconf}{Do not specify "chinese-simplified" as class option}{Babel does not have an ldf file for simplified Chinese. Instead, specify "chinese-simplified" when you call the language within your document. No class option is needed.}}
+\DeclareOption{chinese-simplified}{\ClassError{\ClassName}{Do not specify "chinese-simplified" as class option}{Babel does not have an ldf file for simplified Chinese. Instead, specify "chinese-simplified" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{chinese-traditional}{\ClassError{asmeconf}{Do not specify "chinese-traditional" as class option}{Babel does not have an ldf file for traditional Chinese. Instead, specify "chinese-traditional" when you call the language within your document. No class option is needed.}}
+\DeclareOption{chinese-traditional}{\ClassError{\ClassName}{Do not specify "chinese-traditional" as class option}{Babel does not have an ldf file for traditional Chinese. Instead, specify "chinese-traditional" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{chinese}{\ClassError{asmeconf}{Do not specify "chinese" as a class option}{Instead, specify either "chinese-simplified" or "chinese-traditional" when you call the language within your document. No class option is needed.}}
+\DeclareOption{chinese}{\ClassError{\ClassName}{Do not specify "chinese" as a class option}{Instead, specify either "chinese-simplified" or "chinese-traditional" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{hindi}{\ClassError{asmeconf}{Do not specify "hindi" as a class option}{Babel does not have an ldf file for Hindi. Instead, specify "hindi" when you call the language within your document. No class option is needed.}}
+\DeclareOption{hindi}{\ClassError{\ClassName}{Do not specify "hindi" as a class option}{Babel does not have an ldf file for Hindi. Instead, specify "hindi" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{marathi}{\ClassError{asmeconf}{Do not specify "marathi" as a class option}{Babel does not have an ldf file for Marathi. Instead, specify "marathi" when you call the language within your document. No class option is needed.}}
+\DeclareOption{marathi}{\ClassError{\ClassName}{Do not specify "marathi" as a class option}{Babel does not have an ldf file for Marathi. Instead, specify "marathi" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{korean}{\ClassError{asmeconf}{Do not specify "korean" as class option}{Babel does not have an ldf file for Korean. Instead, specify "korean"when you call the language within your document. No class option is needed.}}
+\DeclareOption{korean}{\ClassError{\ClassName}{Do not specify "korean" as class option}{Babel does not have an ldf file for Korean. Instead, specify "korean"when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{tamil}{\ClassError{asmeconf}{Do not specify "tamil" as a class option}{Babel does not have an ldf file for Tamil. Instead, specify "tamil" when you call the language within your document. No class option is needed.}}
+\DeclareOption{tamil}{\ClassError{\ClassName}{Do not specify "tamil" as a class option}{Babel does not have an ldf file for Tamil. Instead, specify "tamil" when you call the language within your document. No class option is needed.}}
%% Suppress warnings about unused global options
\DeclareOption*{}
@@ -462,23 +462,18 @@
\RequirePackage{graphicx} % removed obsolete options, 2023/11/19
\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
-% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error, in preparation for tagged pdf
-\IfFormatAtLeastTF{2021/11/15}{
- \relax
-}{
- \AtBeginDocument{
- \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
- }
-}
%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{booktabs}
\RequirePackage{array}
-\RequirePackage{dcolumn}% alignment on decimal places
-\newcolumntype{d}[1]{D{.}{.}{#1}}% NB: This conflicts with babel's Spanish language option which makes "." an active character.
- % To use "," separator, put this command in your preamble: \newcolumntype{d}[1]{D{,}{,}{#1}}
+\RequirePackage{dcolumn}% alignment on decimal places
+% use d{x.y} to center on "." as in "12.234"
+\newcolumntype{d}[1]{D{.}{.}{#1}}
+% NB: The above conflicts with babel's Spanish language option which makes "." an active character.
+% Instead, to use "," as the decimal separator, choose columntype "," (as in "12,234")
+\newcolumntype{,}[1]{D{,}{,}{#1}}
%%%%%%%%% Caption related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -507,7 +502,7 @@
\captionsetup[table]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
\fi
-%% This construction avoids a failure of hyperref in relation to uppercase caption
+%% This construction avoids a failure of hyperref in relation to uppercase captions
%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
\AtBeginDocument{
\let\scaption\caption
@@ -542,8 +537,17 @@
\RequirePackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX,}
%
- \setmainfont{TeXGyreTermesX}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better. 1.4
+ \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If you DON'T have these fonts, you will see ERROR messages!}
+%
+ \IfFontExistsTF{TeX Gyre Termes}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{texgyreheros}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{Inconsolatazi4}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+%
+ % The newtx package includes a modified version of TeXGyreTermes called TexGyreTermesX, which is loaded here.
+ % Can fall back to TeXGyreTermes if desired, available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
+ \setmainfont{TeXGyreTermesX}[
+ WordSpace = {1,1.6,1.2},%% This stretch matches newtxtext a little better; rescaled 2024/07/28
+ PunctuationSpace = 1.332,%% match fontdimen7 to newtxtext, 2024/07/28
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -552,7 +556,7 @@
Numbers = Lining,
]
\setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},
+ WordSpace = {1,1,1},% These spacings match newtxtext; rescaled to unity 2024/07/28
Extension = .otf,
UprightFont = *-regular,
ItalicFont = *-italic,
@@ -562,7 +566,6 @@
Scale=0.91,% same as for newtx; former value 0.9 too small 2022/01/15
]
\setmonofont{Inconsolatazi4}[% This otf font ships with the LaTeX Inconsolata package (it's in TeX Live)
- \MonoNotMono,% match newtxtext if we enable wordspacing
Scale=1.05,% rescaled from 1, 22/03/10
Extension = .otf,
UprightFont = *-Regular,
@@ -570,20 +573,22 @@
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
RawFeature = {+ss01,\ssztwo,+ss03},
- ]
+ \MonoNotMono,% match newtxtext if we enable wordspacing; note wordspace def'd in option above.
+ ]
%
% For many languages, using babel commands helps font loading.
+ % Switched Harbbuzz to OpenType throughout, 2024/07/28
% Noto fonts are available at https://github.com/googlefonts
\def\Noto@scale{0.92}
\def\Ara@scale{0.91}% For the serif font only
\def\NotoBan@scale{0.92}% 1.} should probably stay consistent within the Noto family.
\def\NotoDev@scale{0.92}% 1.} should probably stay consistent within the Noto family.
\def\NotoTam@scale{0.92}
- \def\Noto@color{black}
+ \def\Noto@color{Color=black}% 2024/07/28. Changed this diagnostic command to by-pass a bug in luatexja-fontspec.
%
\babelprovide[import, language=Default]{arabic}
\babelfont [arabic]{rm}[Scale=\Ara@scale,
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% don't use italic face, I am told
@@ -591,7 +596,7 @@
BoldItalicFont = *-Bold,% don't use italic face, I am told
]{Amiri}% NotoNaskhArabic}% Some readers prefer Amiri font
\babelfont [arabic]{sf}[Scale=\Noto@scale,
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Extension =.ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% font has no italic face
@@ -599,7 +604,7 @@
BoldItalicFont = *-SemiBold,% font has no italic face
]{NotoSansArabic}%DejaVuSans}%NotoKufiArabic}% .otf,%
\babelfont [arabic]{tt}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Extension =.ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -610,9 +615,9 @@
%
\babelprovide[import,language=Default,script=Bangla]{bengali}
\babelfont [bengali]{rm}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoBan@scale,% same as Devanagari
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -620,9 +625,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifBengali}
\babelfont [bengali]{sf}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoBan@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -630,9 +635,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansBengali}
\babelfont [bengali]{tt}[
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoBan@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -646,7 +651,7 @@
\babelprovide[import,language=Default,script=Cyrillic]{#1}
\babelfont [#1]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -655,7 +660,7 @@
]{NotoSerif}
\babelfont [#1]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -664,7 +669,7 @@
]{NotoSans}
\babelfont [#1]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -676,14 +681,14 @@
\setlocalecaption{serbian-cyrillic}{abstract}{Сажетак}% NB: utf-8
%
% Devanagari languages
- \newfontscript{Devanagari}{deva}% HarfBuzz has some problems in Hindi, see babel manual Sect. 1.13 (main issue is ra)
+ \newfontscript{Devanagari}{deva}% OpenType has some problems in Hindi, see babel manual Sect. 1.13 (main issue is ra)
\NewDocumentCommand\@LoadBabelDev{>{\SplitList{;}}m}{\ProcessList{#1}{\@DevBabel}}
\NewDocumentCommand\@DevBabel{m}{%
\babelprovide[import,language=Default]{#1}
\babelfont [#1]{rm}[%
-% Renderer=HarfBuzz,% works for Marathi, throws errors in Hindi...
+% %Renderer=OpenType,% Marathi and Hindi may respond differently...
Scale=\NotoDev@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -691,9 +696,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifDevanagari}
\babelfont [#1]{sf}[%
-% Renderer=HarfBuzz,% works for Marathi, throws errors in Hindi...
+% %Renderer=OpenType,% % Marathi and Hindi may respond differently...
Scale=\NotoDev@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -701,9 +706,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansDevanagari}
\babelfont [#1]{tt}[
-% Renderer=HarfBuzz,% works for Marathi, throws errors in Hindi...
+% %Renderer=OpenType,% % Marathi and Hindi may respond differently...
Scale=\NotoDev@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -719,7 +724,7 @@
\babelfont [greek]{rm}[%
Scale=\Noto@scale,
WordSpace={1.1},% increase word spacing slightly
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -729,7 +734,7 @@
\babelfont [greek]{sf}[%
Scale=\Noto@scale,
WordSpace={1.1},% increase word spacing slightly
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -738,7 +743,7 @@
]{NotoSans}
\babelfont [greek]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -747,11 +752,14 @@
]{NotoSansMono}
%
% Japanese
+ % luatexja-fontspec seems to want lc "color" now, rather than normal "Color", as before. Commenting out.
+ % NB: luatexja-fontspec color breakage appears to be global.
\ifac@japanese
- \RequirePackage[match]{luatexja-fontspec}% japanese typesets *much* better with this loaded
+ \def\Noto@color{}% by-pass bug in luatexja-fontspec, 2024/07/28.
+ \RequirePackage[no-math]{luatexja-fontspec}% japanese typesets *much* better with this loaded
\setmainjfont{NotoSerifCJKjp}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -760,7 +768,7 @@
]
\setsansjfont{NotoSansCJKjp}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -769,7 +777,7 @@
]
\setmonojfont{NotoSansMonoCJKjp}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
@@ -780,7 +788,7 @@
% Need at least one of the following to load the Japanese dictionary.
\babelfont [japanese]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -789,7 +797,7 @@
]{NotoSerifCJKjp}% Scale estimated
\babelfont [japanese]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -798,7 +806,7 @@
]{NotoSansCJKjp}
\babelfont [japanese]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -812,7 +820,7 @@
\babelprovide[import,language=Default]{korean}
\babelfont [korean]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -821,7 +829,7 @@
]{NotoSerifCJKkr}
\babelfont [korean]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -830,7 +838,7 @@
]{NotoSansCJK}
\babelfont [korean]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -843,7 +851,7 @@
\babelprovide[import,language=Default]{chinese-simplified}
\babelfont [chinese-simplified]{rm}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -852,7 +860,7 @@
]{NotoSerifCJKsc}
\babelfont [chinese-simplified]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -861,7 +869,7 @@
]{NotoSansCJK}
\babelfont [chinese-simplified]{tt}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
% Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -871,9 +879,9 @@
%
% Traditional Chinese (includes characters for Cantonese also)
\babelprovide[import,language=Default]{chinese-traditional}
- \babelfont [chinese-tradiational]{rm}[%
+ \babelfont [chinese-traditional]{rm}[% fixed 2024/07/28
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -882,20 +890,20 @@
]{NotoSerifCJKtc}
\babelfont [chinese-traditional]{sf}[%
Scale=\Noto@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansCJK}
- \babelfont [chinese-traditional]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMonoCJKtc}
+ \babelfont [chinese-traditional]{tt}[Scale=\Noto@scale,\Noto@color]{NotoSansMonoCJKtc}
%
\babelprovide[import,language=Default]{tamil}
\babelfont [tamil]{rm}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoTam@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -903,9 +911,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifTamil}
\babelfont [tamil]{sf}[%
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoTam@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -913,9 +921,9 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansTamil}
\babelfont [tamil]{tt}[
- Renderer=HarfBuzz,
+ %Renderer=OpenType,
Scale=\NotoTam@scale,
- Color=\Noto@color,
+ \Noto@color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -949,8 +957,13 @@
\RequirePackage{bm}% load after all math to give further access to bold math
-%% Ensure that the current font is used for equation tags, not \normalfont as set by amsmath
-\def\maketag@@@#1{\hbox{\m@th#1}}
+% To free \eqref from the normal font (e.g., for use in section headings or captions). Revised 2024/07/28
+\renewcommand{\eqref}[1]{\textup{\hbox{\m@th{(\ignorespaces\ref{#1}\unskip\@@italiccorr)}}}}
+%
+% amsmath def: \newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}
+% \def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
+% \def\maketag@@@#1{\hbox{\m@th\normalfont#1}}
+
% The article class calls \sloppy in two-column mode (\tolerance 9999, \emergencystretch 3em)
% The following adjustments affect line breaking; the values below are intended to produce
@@ -1000,11 +1013,11 @@
\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% \mathsf is upright.
-% Nice solution from DPC to prevent aux file errors (due to active characters from babel) when switching from pdflatex to lualatex.
-\ifx\directlua\undefined
- \AtBeginDocument{\immediate\write\@auxout{\detokenize{%
- \ifx\directlua\undefined\else\endinput\fi}}}
-\fi
+%% Nice solution from DPC to prevent aux file errors (due to active characters from babel) when switching from pdflatex to lualatex. Disabled, 2024/07/28
+%\ifx\directlua\undefined
+% \AtBeginDocument{\immediate\write\@auxout{\detokenize{%
+% \ifx\directlua\undefined\else\endinput\fi}}}
+%\fi
%%%%%%%% Footers and Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1034,7 +1047,6 @@
\fancyfoot[CE,CO]{\@SetFont\thepage\\[1ex]\footnotesize The United States Government retains, and by accepting the article for publication, the publisher acknowledges that the United States Government retains, a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for United States Government purposes.}
\fi
-% was missing from earlier versions...?
\ifasmeconf@govtsome
\newgeometry{left=0.5in, right=0.5in, top=0.5in, bottom = 1.in, footskip = 0.3in, columnsep = 0.38in}
\fancyfoot[RO,RE]{}
@@ -1088,39 +1100,36 @@
\titlespacing\subsubsection{\parindent}{6pt plus 3pt minus 2pt}{0pt plus 2pt minus 1pt} % from 12 4 3, 2019/7/7
%% Special handling of the appendices
-%% Assumes that appendices are the last content in paper
-\RenewDocumentCommand{\appendix}{}{%
- \setcounter{section}{0}
- \pdfbookmark[0]{\appendicesname}{appendices}
- \renewcommand\thesection{\Alph{section}}
- \titleformat{\section}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\MakeTextUppercase{\appendixname}\ \thesection.}{0.5em}{\MakeTextUppercase}
-}
-
-%% This patches titlesec's unprotected re-definition of \footnote.
-%% See discussion here: https://github.com/jbezos/titlesec/issues/48
+%% Assumes that appendices are the last content in paper
+%% Code revised to better support tagged pdf, 2024/07/26.
+\patchcmd{\appendix}{%
+ \setcounter{subsection}{0}%
+}{%
+ \setcounter{subsection}{0}\pdfbookmark[1]{\appendicesname}{appendices}%
+}{}{}
+\apptocmd{\appendix}{\titleformat{\section}[block]{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\MakeTextUppercase{\appendixname}\ \thesection.}{0.5em}{\MakeTextUppercase}}{}{}
+% Changed to block layout (rather than default hanging) whilst retaining \raggedright, since "Appendix X." is a very wide hanging indent. 2024/07/26
+
+%% This patches titlesec's unprotected re-definition of \footnote. See discussion here: https://github.com/jbezos/titlesec/issues/48
%% Without this patch, recent versions of LaTeX will require \protect\footnote in section headings.
-%% This issue may be corrected in titlesec, but keeping the patch anyway.
+%% This issue may be corrected in titlesec, but keeping the patch for backward compatibility.
\patchcmd{\ttl@select}{\def\footnote}{\protected\def\footnote}{\typeout{Asmeconf.sty patched titlesec to have protected def of footnote}}{}
%%%%%%%%%% Hyperref, bookmarks, and PDF/A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this *legacy* approach.
\ifpdftex
- %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
- \IfFormatAtLeastTF{2020/10/01}{\relax}{%
- \pdfgentounicode=1 %% enable CMaps; has moved into the latex kernel Oct 2020
- \input glyphtounicode.tex %% lists of mappings; has moved into the latex kernel Oct 2020
- }
+ %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
+ %%% as of 2024/07/28, these are still necessary with \DocumentMetadata{pdfstandard=A-3u}. Note: glyphtounicode-cmex.tex is now in latex-lab.
\InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
\InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
\ifac@setpdfa
- %%%% pdfmanagement options, from Ulrike Fischer 2021/06/12
- \if@asme@pdfmanagement
- \ClassInfo{asmeconf}{pdfmanagement is defined. Class file will not load a color profile}
+ %% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this *legacy* approach.
+ \ifasme@pdfmanagement
+ \ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load a color profile}
\else
- \ClassInfo{asmeconf}{NOTE: pdfmanagement not defined. Class file will load a color profile}%
+ \ClassInfo{\ClassName}{NOTE: pdfmanagement not defined. Class file will load a color profile}%
%%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
@@ -1158,20 +1167,20 @@
\urlstyle{same} % don't switch to typewriter font for urls
\RequirePackage{doi} % supports the nasty characters in some doi's
\renewcommand{\doitext}{DOI } % change to this from default value, {doi:}, per ASME specification
-\RequirePackage{bookmark} % improves handling of pdf bookmarks
\providecommand*{\toclevel@subfigure}{1}% <== to address unknown bookmark level of subfigure. 2021/12/24
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/02
-\if@asme@pdfmanagement
- \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp}
+\ifasme@pdfmanagement
+ \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp and bookmark packages}
\else
+ \RequirePackage{bookmark}% improves handling of pdf bookmarks
\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
% Patch bug in hyperxmp, unless a more recent version is used.
\ifdefined\hyxmp@no@bad@parts% \hyxmp@no@bad@parts is not def'd in TeX Live 2019 or older
- \@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
+ \IfPackageAtLeastTF{hyperxmp}{2022/10/15}{% v5.11 or later
\relax
}{%
\newcount\hypxmp@tempcnt
@@ -1180,13 +1189,11 @@
\hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
}
}
- \else
- \relax
\fi
\fi
-%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
-%%% by early 2024, errors are not present; however, these commands serve to still suppress warnings.
+%%% ==> recent development of \pdfstring removes all robust commands from bookmarks, so that
+%%% by early 2024, errors are not present; these commands serve to still suppress warnings, however.
%% 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}
@@ -1212,7 +1219,7 @@
%% Ensure that tag color does not follow \eqref into bookmarks, 2020/02/28
\pdfstringdefDisableCommands{%
- \def\eqref#1{(\ref{#1})}%
+ \def\eqref#1{(\ref*{#1})}% \ref* is from hyperref
}
% Let's make sure footnotes in section headings don't break pdf bookmarks.
@@ -1222,7 +1229,6 @@
}
-
%% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized
%% if given in section headings. Ditto for \eqref
%
@@ -1244,13 +1250,12 @@
\renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}}
\AtBeginDocument{\linenumbers}
\ifasmeconf@balance
- \ClassWarningNoLine{asmeconf}{Package lineno loaded, so final column balancing will be disabled}%
+ \ClassWarningNoLine{\ClassName}{Package lineno loaded, so final column balancing will be disabled}%
\fi
%%% Patch to allow line numbering in AMS math environments.
%%% This patch is for lineno versions earlier than v5.2 [2023/05/19]. As of mid-2023, the lineno package
- %%% has been corrected to account for the AMS math environments. Retaining temporarily for backward compatibility.
+ %%% has been corrected to account for the AMS math environments. Retaining for backward compatibility.
%%% postdisplaypenalty adjusted to avoid extra line number at end, see: https://tex.stackexchange.com/a/461192/
- %%% multline has some additional problem that puts an extra line number above it.
\IfPackageAtLeastTF{lineno}{2023/05/19}{\relax}{
\NewDocumentCommand{\ac@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
%
@@ -1270,7 +1275,7 @@
\ifasmeconf@balance
\RequirePackage{flushend}% flushend package is NOT compatible with lineno
\AtEndDocument{\flushcolsend}%
- \LogNote{Calling flushend package to balance column height on last page}%
+ \ClassNoteNoLine{\ClassName}{Calling flushend package to balance column height on last page}%
\fi%
\fi
\providecommand{\@LN@col}[1]{\relax}% Enable dropping lineno option without trashing .aux file
@@ -1364,7 +1369,10 @@
\NewDocumentCommand\PaperNo{m}{\gdef\@PaperNo{#1}}
\providecommand\@PaperNo{\protect\phantom{NO.}}
-\NewDocumentCommand\PaperTitle{m}{\gdef\@PaperTitle{#1}}
+\NewDocumentCommand\PaperTitle{m}{%
+ \gdef\@PaperTitle{#1}%
+ \gdef\@title{#1}% added 2024/07/28
+}
\providecommand\@PaperTitle{\hbox{ }}
\NewDocumentCommand\@HeaderTitle{}{%
@@ -1419,7 +1427,7 @@
%%%% option to use the traditional grid layout of authors or the inline style
\ifasmeconf@grid
- \LogNote{Selected option for a grid of author blocks}%
+ \ClassNoteNoLine{\ClassName}{Selected option for a grid of author blocks}%
%%%%%%%%%%%%%%%%%%%% Gridded author layout %%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1463,7 +1471,7 @@
\ifblank{#1}{%
\expandafter\xdef\csname aut@\theauthorcnt\endcsname{}%
\expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{-1}
- \ClassWarning{asmeconf}{Missing author name, check for extra comma}%
+ \ClassWarning{\ClassName}{Missing author name, check for extra comma}%
}{\expandafter\xdef\csname aut@\theauthorcnt\endcsname{#1}%
}%
}% defines \aut@authorcnt as Name #1
@@ -1547,12 +1555,18 @@
\fi
\fi
\ifnum\value{authorno}>15
- \ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
+ \ClassWarningNoLine{\ClassName}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
instead of the [grid] option}
\fi
}% end whiledo
}
+ \ExplSyntaxOn
+ % next three are for backward compatibility
+ \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
+ \cs_if_exist:NF \tl_set:Ne { \cs_generate_variant:Nn \tl_set:Nn {Ne} }
+ \cs_if_exist:NF \tl_put_right:Ne { \cs_generate_variant:Nn \tl_put_right:Nn {Ne} }
+
\NewDocumentCommand\@ConstructAuthorBlock{}{%
\ifnum\value{authorno}>3
\JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -1.5\baselineskip)
@@ -1566,8 +1580,34 @@
\ifnum\value{authorno}>12
\JoinCoffins\firstrowauthorblock[hc,b]\fifthrowauthorblock[hc,t](0pt, -1.5\baselineskip)
\fi
- \centerline{\TypesetCoffin\firstrowauthorblock}%% in this instance, \centerline is better than \centering
+ \centerline{\TypesetCoffin\firstrowauthorblock}% in this instance, \centerline is better than \centering
+ \__asmeconf_concataut:
+ \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }
+ %\iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
}
+ % build comma-separated list of author names
+ \cs_new_protected:Nn \__asmeconf_concataut: {
+ \tl_new:N \g_asmeconf_authors_tl
+ \int_set:Nn \l_tmpa_int {1}
+ \int_new:N \l__asmeconf_noauts
+ \int_set:Nn \l__asmeconf_noauts { \value{authorcnt} }
+ \int_do_until:nNnn { \l_tmpa_int } > { \l__asmeconf_noauts }
+ {
+ \tl_set:Ne \l_tmpa_tl {\use:c { aut@ \int_use:N \l_tmpa_int } }
+ \tl_replace_all:Nnn \l_tmpa_tl {\unhbox \voidb@x \protect \penalty \@M \ } {~}
+ % If tex unbreakable space character "~" has expanded, replace by a simple space, which is "~" in Expl3 syntax
+ \tl_remove_all:Nn \l_tmpa_tl { \JointFirstAuthor }
+ \tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
+ \tl_replace_all:Nnn \l_tmpa_tl { \affil } { \use_none:n }
+ \tl_replace_all:Nnn \l_tmpa_tl { \xdef } { \use_none:nn }
+ \tl_put_right:Ne \g_asmeconf_authors_tl \l_tmpa_tl
+ \int_compare:nNnT { \l_tmpa_int } < { \l__asmeconf_noauts} {
+ \tl_put_right:Ne \g_asmeconf_authors_tl { ,~ }
+ }
+ \int_incr:N \l_tmpa_int
+ }
+ }
+ \ExplSyntaxOff
%%% otherwise use the new compact layout of authors
\else
@@ -1576,13 +1616,35 @@
\NewCoffin{\AffiliationBlock}
\NewCoffin{\AffiliationsBlock}
\AtBeginDocument{\SetHorizontalCoffin\AffiliationsBlock{}}% corrected 2021/12/01
-
+
+ \ExplSyntaxOn
+ \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
+ \cs_if_exist:NF \tl_gset:Ne { \cs_generate_variant:Nn \tl_gset:Nn {Ne} }
+
%% NB: \parbox width to \textwidth (full page) not \linewidth (single column)
\NewDocumentCommand\SetAuthors{m}{%
- \SetHorizontalCoffin\AuthorBlock{%
+ \SetHorizontalCoffin\AuthorBlock{% ignoring the bug in testphase tagging
\parbox{\textwidth}{\centering\sffamily\bfseries\ignorespaces#1\ignorespaces}%
+ % NB: in vertical mode \parbox needs \noindent ahead of it, _inside_ vertical coffin
+ % \SetVerticalCoffin\AuthorBlock{\textwidth}{% 2024/07/30, test a vertical coffin alternative
+ % \centering\sffamily\bfseries\ignorespaces#1\ignorespaces%
+ \__asmeconf_striptokens:n {#1}
+ \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }% set \@author = list of authors, 2024/07/31
}
}
+ % strip \affil{..}, \JointFirstAuthor, \CorrespondingAuthor{...} from argument
+ \cs_new_protected:Nn \__asmeconf_striptokens:n {
+ \tl_set:Nn \l_tmpa_tl {#1}
+ \regex_replace_all:nnN { \cA\~ } {\ } \l_tmpa_tl % replace ~ by space in author list
+ %\tl_replace_all:Nnn \l__asmeconf_authors_tl {\ } {~}% change "\ " to space (but why? for text we would want this)
+ \tl_remove_all:Nn \l_tmpa_tl { \JointFirstAuthor }
+ \tl_replace_all:Nnn \l_tmpa_tl { \affil } { \use_none:n }
+ \tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
+ \tl_new:N \g_asmeconf_authors_tl
+ \tl_gset:Ne \g_asmeconf_authors_tl \l_tmpa_tl
+ \iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
+ }
+ \ExplSyntaxOff
\def\@makefnmark{\hbox{\@textsuperscript{\sffamily\@thefnmark}}}%
@@ -1598,14 +1660,14 @@
%%% Affiliation mark
\NewDocumentCommand{\affil}{m}{%
\ifblank{#1}{%
- \ClassWarning{asmeconf}{Empty affiliation tag}%
+ \ClassWarning{\ClassName}{Empty affiliation tag}%
\@gobble% 9 Dec 2021, addresses modification for commas
}{\bfseries\footnotemark[#1]}%
}
%%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
\ExplSyntaxOn
- \cs_new:Npn \__asmecome_OtherNoteComma:n {
+ \cs_new:Npn \__asmeconf_OtherNoteComma:n {
\peek_meaning:NTF \affil
{ \textsuperscript{\mdseries,} }
{ \peek_meaning:NTF \CorrespondingAuthor
@@ -1614,11 +1676,11 @@
}
}
\cs_new_eq:NN \__saveAF \affil
- \cs_gset_protected:Npn \affil #1 { \__saveAF{#1} \__asmecome_OtherNoteComma:n }
+ \cs_gset_protected:Npn \affil #1 { \__saveAF{#1} \__asmeconf_OtherNoteComma:n }
\cs_new_eq:NN \__saveCA \CorrespondingAuthor
- \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__saveCA{#1} \__asmecome_OtherNoteComma:n }
+ \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__saveCA{#1} \__asmeconf_OtherNoteComma:n }
\cs_new_eq:NN \__saveJA \JointFirstAuthor
- \cs_gset_protected:Npn \JointFirstAuthor { \__saveJA \__asmecome_OtherNoteComma:n }
+ \cs_gset_protected:Npn \JointFirstAuthor { \__saveJA \__asmeconf_OtherNoteComma:n }
\ExplSyntaxOff
%%%
@@ -1633,7 +1695,6 @@
%%%% Make the title and author section
\NewDocumentCommand\MakeTitlePage{}{%
\twocolumn[
- \begin{@twocolumnfalse}
\@HeaderTitle
\vspace*{2\baselineskip}
\ifasmeconf@grid
@@ -1642,7 +1703,6 @@
\@SetAuthorBlock
\fi
\vspace*{3\baselineskip}
- \end{@twocolumnfalse}
]
\let\@makefnmark\savemakefnmark% restore footnote mark font
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
@@ -1767,12 +1827,12 @@
%%%%%%%%%%%%%%%%%% Times-like fonts for specific languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpdftex % Under lualatex, babel has problems with the following approach, which assumes that fontspec has not been loaded.
- % Recommend not to choose the [nofontspec] option.
+ % Recommend not to choose the [nofontspec] option.
% Several modifications made in response to newtx v1.71, 2022/03/14
\ifac@vietnamese
%
\IfFormatAtLeastTF{2020/02/02}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [vietnamese] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [vietnamese].}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [vietnamese] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [vietnamese].}%
}
%
\AtBeginDocument{%
@@ -1831,7 +1891,7 @@
\ifac@greek
%
\IfFormatAtLeastTF{2020/02/02}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [greek] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [greek].}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the [greek] option with pdflatex}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option [greek].}%
}
%
\AtBeginDocument{%
@@ -1906,7 +1966,7 @@
\ifac@cyrillic
%
\IfFormatAtLeastTF{2020/02/02}{\relax}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the cyrillic language option with pdflatex, e.g., [russian]}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option calling a cyrillic-alphabet language.}%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 are necessary to use the fonts of the cyrillic language option with pdflatex, e.g., [russian]}{Please UPDATE your LaTeX distribution: TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Alternatively, delete the class option calling a cyrillic-alphabet language.}%
}
%
\AtBeginDocument{%
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
index 05e276803f..d5ef0f0158 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
index b041b0f0ff..406a4dd660 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
@@ -18,13 +18,36 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\DocumentMetadata{%
+ pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+ debug = {xmp-export},
+}
\documentclass[colorlinks,nofoot,spanish,japanese,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic]{asmeconf}
% note that not all languages given as examples in this file can be called as options.
+% directly add this xmp property. See l3pdfmeta.pdf. This is not automatic with \DocumentMetadata. "True" must be capitalized.
+\ExplSyntaxOn
+ \pdfmeta_xmp_add:n{<xmpRights:Marked>True</xmpRights:Marked>}
+\ExplSyntaxOff
+
\hypersetup{%
- pdftitle={Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec},
+ pdftitle={{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}},
pdfkeywords={asmeconf, non-Latin alphabets, fontspec, LuaLaTeX, PDFLaTeX},
- pdfauthor={John H. Lienhard, V},
+ pdfauthor={John H. Lienhard},
+ pdfsubject = {Describes font support in asmeconf LaTeX template},
+ pdfurl={https://ctan.org/pkg/asmeconf},% may delete
+ pdflicenseurl={https://ctan.org/pkg/asmeconf},
+ pdfcopyright={Copyright (c) \the\year\ by John H. Lienhard},
+ pdfcontactemail={lienhard@mit.edu},
+ pdfcaptionwriter={{John H. Lienhard, V}},
+ pdfcontactaddress={77 Massachusetts Avenue, Room 3-166},
+ pdfcontactcity={Cambridge, MA},
+ pdfcontactpostcode={02139},
+ pdfcontactcountry={USA},
+ pdfcontacturl={https://lienhard.mit.edu},
+ pdfauthortitle={Professor of Mechanical Engineering},
}
% To avoid typing these over and over, define:
@@ -33,13 +56,30 @@
\newcommand*\AC{{\upshape\texttt{asmeconf}}}
\newcommand*\PLT{{\upshape\texttt{\hologo{pdfLaTeX}}}}
+% define a unicode character by its codepoint
+\ExplSyntaxOn
+ \cs_new:Npn \MySym #1 { \codepoint_generate:nn {#1} { 12 } }
+\ExplSyntaxOff
+
+\renewcommand*{\checkmark}{\MySym{"2713}} % because default checkmark has poor glyph information
+
+%% It's necessary to force full embedding of the fonts to get valid PDF/A-3b
+\usepackage{luacode}
+\begin{luacode}
+local function embedfull(tfmdata)
+ tfmdata.embedding = "full"
+end
+luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
+\end{luacode}
+
+
\makeatletter
\def\NotoBan@scale{0.98}% vary this if the Bengali is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
\def\NotoDev@scale{0.98}% vary this if the Devanagari is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
%\def\NotoTam@scale{0.92}% vary this if the Tamil is too small/large; the default value 0.92 matches scaling of the other Noto fonts used.
\def\NotoAra@scale{0.93}% The serif font only; the default value is 0.91
-% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], use Noto Serif Italic for visual consistency
+% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], I'm using Noto Serif Italic for visual consistency
\newfontfamily{\NotoSerif}{NotoSerif}[UprightFont=*-Regular,ItalicFont=*-Italic, BoldItalicFont=*-BoldItalic, BoldFont=*-Bold, Extension=.ttf,Scale=\Noto@scale,WordSpace={1,1.4,1}]
\newfontfamily{\NotoSerifItalns}{NotoSerif-Italic.ttf}[ItalicFont=*,Scale=\Noto@scale]% Turkish has trouble with WordSpace
\makeatother
@@ -107,10 +147,10 @@
\begin{document}
\ConfName{Proceedings of the \texttt{asmeconf} \linebreak International Examples Congress and Exposition}
-\ConfAcronym{AIECE21}
-\ConfDate{January 20, 2021}
+\ConfAcronym{AIECE24}
+\ConfDate{August 1, 2024}
\ConfCity{Cambridge, MA}
-\PaperNo{AIECE2021-0002}
+\PaperNo{AIECE2024-0002}
\title{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}
@@ -119,7 +159,7 @@
\maketitle
-\versionfootnote{Version~1.01, \today}
+\versionfootnote{Version~1.02, \today}
\keywords{asmeconf, language support, non-Latin alphabets, fontspec, \LLT}
@@ -183,12 +223,12 @@ The \FS\ package~\cite{robertson2020} allows \LLT\ to access fonts that are inst
When processed in \PLT, \AC\ uses the \texttt{newtxtext} and \texttt{inconsolata} fonts, a collection of eight-bit fonts, for Latin script. To use \FS, we must replace those fonts with corresponding unicode fonts (the math fonts, from \texttt{newtxmath}, are unchanged). Specialized fonts are needed for some additional scripts. Thus, the user will need to install several unicode fonts onto their own system in order to use \AC\ with \FS.
Fortunately, all these fonts are all free and easily downloaded.
-The needed fonts are listed in Table~\ref{tab:2}.
+The needed fonts are listed in Table~\ref{tab:2}. \textit{The Latin fonts are required for English when using \FS.}
%%%%%%%%%%%%%%% two column table %%%%%%%%%%%%%%%%%%
\NewDocumentCommand\R{O{11pt}}{\rule{0pt}{#1}}
\begin{table*}[t!]
-\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}%
+\caption{System fonts used by \NoCaseChange{\AC} with \NoCaseChange{\FS}. For all fonts, load regular and bold face. For Latin, Cyrillic, and Greek serif and sans serif fonts, also load italic and bold italic. For Noto Sans Arabic, install semibold instead of bold.\label{tab:2}}%
\centering{%
\begin{tabular*}{\textwidth}{@{\hspace*{0.5em}}@{\extracolsep{\fill}}>{\raggedright}p{6em}>{\raggedright}p{12em}>{\raggedright}p{10em}p{23em}@{\hspace*{0.5em}}}
\toprule
@@ -196,7 +236,10 @@ The needed fonts are listed in Table~\ref{tab:2}.
\multicolumn{1}{c}{\textbf{Language}} &
\multicolumn{1}{c}{\textbf{Fonts}} &
\multicolumn{1}{c}{\textbf{Where to get the font}}\\ \midrule
-Latin$^*$ & most European languages & Tex Gyre Termes, Tex~Gyre~Heros & \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre}\rule{0pt}{11pt}\\
+Latin$^*$ & most European languages & TeX Gyre Termes, & \url{https://ctan.org/tex-archive/fonts/newtx/opentype}, \rule{0pt}{11pt}\\
+& & TeX~Gyre~Heros, & \url{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}\\
+%\url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} \\
+& & Inconsolatazi4 & \url{https://ctan.org/tex-archive/fonts/inconsolata/opentype} \\
Arabic\R & Arabic, Punjabi, Urdu, others & Amiri,\\ Noto~Sans~Arabic & \url{https://github.com/alif-type/amiri}\hfill\hbox{} \url{https://github.com/googlefonts/noto-fonts} \\
Bengali\R & Assamese, Bengali, others & Noto Serif Bengali,\\ Noto~Sans Bengali& \url{https://github.com/googlefonts/noto-fonts} \\
Cyrillic\R & Belarusian, Bulgarian, Macedonian, Russian, Serbian, Ukrainian, others & Noto Serif,\\ Noto~Sans, Noto~Sans~Mono & \url{https://github.com/googlefonts/noto-fonts} \\
@@ -215,7 +258,9 @@ Traditional\R\ Chinese & Traditional Mandarin, Cantonese & Noto~Serif~CJK~TC, No
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Using fontspec with asmeconf}
-When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts. With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}.
+%When running \LLT, the \texttt{[fontspec]} option should be called, to load the appropriate fonts.
+When running \LLT, \texttt{fontspec} is loaded by default (as of Feb.\ 2024).
+With \FS, \texttt{babel} will use \texttt{.ldf} files (if available) and separate initialization files (\texttt{.ini}). If a language option is called for which there is no \texttt{.ldf} file, an error will result. However, such languages may still have an \texttt{.ini} that provides necessary information. For example, Chinese and Korean do not have \texttt{.ldf} files, but they do have \texttt{.ini} files. These languages can be accessed as described in Section~\ref{sec:6}.
Japanese typesetting is a little more complicated. When \texttt{[japanese]} is given as an option to the class, \AC\ calls the \texttt{luatexja-fontspec} package~\cite{lua-jp}, which is a specialized module for typesetting Japanese.
@@ -225,7 +270,7 @@ What about support for scripts not shown in Table~\ref{tab:2}? Macros from \tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{How to call a language\label{sec:6}}
-A language is called by \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language.
+Call a language with \verb|\begin{selectlanguage}{<lang>}|, where \texttt{<lang>} is the lower-case name of the language.
For example, suppose that a Spanish language abstract is desired. The user puts \texttt{[spanish]} as a global option (this language has an \texttt{.ldf} file), and then writes:
\begin{quotation}
\noindent\hbox{}\verb|\begin{selectlanguage}{spanish}|\\
@@ -419,10 +464,12 @@ The main language of the document is English by default. This means that secti
To chose a different main language, give the option \texttt{[main=..]}, e.g., \texttt{[main=french]}. The standard caption and section names will follow \texttt{babel}'s dictionary for the language chosen. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer are described in the \AC\ documentation~\cite{lienhard2021}. The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|. (See the \texttt{babel} documentation \cite[\S 1.15]{bezos2020} if the dictionary for the main language lacks the correct word for, say, \verb|abstractname|).
-Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default \texttt{dcolumn} decimal separator, \texttt{d\{n.m\}}~\cite{dpc}. \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble.
-
I have not explored this usage in detail, and I would welcome comments from authors who attempt such conversions.
+Note that some languages make characters active, which can have unexpected effects. For example, Spanish makes ``.'' an active character, which clashes with the default decimal separator when using \texttt{dcolumn}'s \texttt{d\{n.m\}}~\cite{dpc}. The command \texttt{\textbackslash spanishdeactivate\{.\}} stops this behavior. As of August 2024, \texttt{asmeconf} defines a \texttt{dcolumn} type \texttt{,\{n.m\}} that uses a comma (not a period) as the decimal separator.
+%Alternatively, the decimal separator can be changed to a comma by putting \texttt{\textbackslash newcolumntype\{d\}[1]\{D\{,\}\{,\}\{\#1}\}\} in the preamble.
+
+
%%% CONCLUSIONS %%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}
diff --git a/macros/latex/contrib/asmejour/README.md b/macros/latex/contrib/asmejour/README.md
index 69fe1e00fc..612e0b027a 100644
--- a/macros/latex/contrib/asmejour/README.md
+++ b/macros/latex/contrib/asmejour/README.md
@@ -1,7 +1,7 @@
#asmejour: A template for ASME journal papers#
- Version 1.22 dated 2024/02/06.
+ Version 1.23 dated 2024/07/24.
####Overview####
This class provides a template to format preprints in the style of journal papers published by the American Society of Mechanical Engineers.
@@ -67,6 +67,14 @@
####Change log####
+v1.23 (2024/07/24)
+ - Add class option for single-column formatting, \[singlecolumn\], as sometimes requested for review (thanks Lennart Hultgren)
+ - Change language sample from French to German, to avoid active characters (from Fourier to Pohlhausen)
+ - Reduce size of line number font
+ - Adjust code for \\appendix to better accommodate tagged pdf
+ - Correct bug in babel main language selection
+ - Miscellaneous code clean up and simplification
+
v1.22 (2024/02/06)
- The newtx package has dropped superiors option, so asmejour has dropped the \[superiors\] option and related code.
- Dropped legacy options \[lang, lang-second, lang-third\]
diff --git a/macros/latex/contrib/asmejour/asmejour-sample.bib b/macros/latex/contrib/asmejour/asmejour-sample.bib
index 3b715d3d05..08438fd94d 100644
--- a/macros/latex/contrib/asmejour/asmejour-sample.bib
+++ b/macros/latex/contrib/asmejour/asmejour-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmejour.bst and asmejour.cls
%%
-%% Revised: 06 February 2024
+%% Revised: 21 July 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -350,9 +350,22 @@
title = {Th\'{e}orie Analytique de la Chaleur},
publisher = {Firmin Didot, P\`{e}re et Fils},
address = {Paris},
- url = {https://archive.org/details/analyticaltheory00fourrich},
+ url = {https://archive.org/details/analyticaltheory00fourrich},
}
+@article{pohlhausen1921,
+ author = {Pohlhausen, E.},
+ title = {Der {W}\"{a}rmeaustausch zwischen festen K\"{o}rpern und {F}l\"{u}ssigkeiten mit kleiner reibung und kleiner {W}\"{a}rmeleitung},
+ journal = {Zeitschrift f\"{u}r {A}ngewandte {M}athematik und {M}echanik},
+ volume = {1},
+ number = {2},
+ pages = {115--121},
+ doi = {10.1002/zamm.19210010205},
+ year = {1921},
+}
+%url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/zamm.19210010205},
+
+
@techreport{reynolds1958,
author = {W. C. Reynolds and W. M. Kays and S. J. Kline},
title = {Heat transfer in the Incompressible Turbulent Boundary Layer. {I}---Constant Wall Temperature},
diff --git a/macros/latex/contrib/asmejour/asmejour-template.pdf b/macros/latex/contrib/asmejour/asmejour-template.pdf
index 6fc9631010..c15cc9f797 100644
--- a/macros/latex/contrib/asmejour/asmejour-template.pdf
+++ b/macros/latex/contrib/asmejour/asmejour-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/asmejour-template.tex b/macros/latex/contrib/asmejour/asmejour-template.tex
index 18ae24c057..7e3f8a2930 100644
--- a/macros/latex/contrib/asmejour/asmejour-template.tex
+++ b/macros/latex/contrib/asmejour/asmejour-template.tex
@@ -3,7 +3,7 @@
%%
%% This file is asmejour-template.tex, a template to format papers in the style of ASME journal papers.
%%
-%% This file is version 1.22 dated 2024/02/06
+%% This file is version 1.23 dated 2024/07/24
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -33,8 +33,10 @@
%%
%% * Option to omit all ASME text fields from the footer [nofoot].
%%
+%% * Option for single column formatting [singlecolumn].
+%%
%% * Options for PDF/A compliance. With pdfTeX, [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
-%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b.
+%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] will select other levels: 1b, 2b, 2u, and 3b.
%% *
%% * Recently, LaTeX (2021 and later) has integrated support for pdf-a, through the \DocumentMetadata{..}
%% * command. This approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this new feature,
@@ -59,8 +61,8 @@
%% * [hyphenate] allow hyphenation, with pdfTeX only (normally, the typewriter font is not hyphenated)
%%
%% * Options for the babel package to support passages in other languages (such as a translated
-%% * abstract in an appendix), e.g. [french]. The main language will default to English
-%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix C for details.
+%% * abstract in an appendix), e.g. [german]. The main language will default to English
+%% * unless a different main language is selected, e.g. [main=spanish]. See Appendix B for details.
%%
%% For details of the newtx and mathalfa packages, refer to their documentation (available at CTAN: http://ctan.org).
%%
@@ -82,16 +84,16 @@
%% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
%% Uncomment the next lines and omit the option [pdf-a], if you are using an up-to-date LaTeX platform
-%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
-% pdfversion=1.7,
-% lang=en-US,
-%}
+\DocumentMetadata{%
+ pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Class options are described above.
-\documentclass[upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,french,pdf-a]{asmejour}% subscriptcorrection,
+\documentclass[nocopyright,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,german]{asmejour}% subscriptcorrection,french
%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -121,11 +123,14 @@
% Use title case (upper and lower case letters)
% Note usage below for corresponding author.
-\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
- Institution or Company Name,\\
- Street address,\\
- City, State, Country\\
- email: xxx@yyy.zzz}
+\SetAuthorBlock{John H.\ Lienhard\CorrespondingAuthor}{%
+ Fellow ASME\\
+ Rohsenow Kendall Heat Transfer Laboratory,\\
+ Department of Mechanical Engineering,\\
+ Massachusetts Institute of Technology,\\
+ Cambridge, MA 02139 USA\\
+ email: lienhard@mit.edu
+}
% To label one or more corresponding authors put "Name\CorrespondingAuthor". No space after "Name".
% An optional argument can be added if email is not in address block as
@@ -133,14 +138,12 @@
% Can also include multiple emails and use the command more than once for multiple corresponding authors,
% "Name\CorrespondingAuthor{write@to.him, write@to.her}"
-\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor}{%
-Fellow ASME\\
-Rohsenow Kendall Heat Transfer Laboratory,\\
-Department of Mechanical Engineering,\\
-Massachusetts Institute of Technology,\\
-Cambridge, MA 02139 USA\\
-email: lienhard@mit.edu
-}
+\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
+ Institution or Company Name,\\
+ Street address,\\
+ City, State, Country\\
+ email: xxx@yyy.zzz
+}
%%% Change to your paper title. Can insert line breaks if you wish (otherwise breaks are selected automatically).
\title{Preprint Template for ASME\\ Journal Papers: asmejour.cls}
@@ -164,6 +167,7 @@ This paper is an example and {\upshape\LaTeX} template for the {\upshape\texttt{
\maketitle %% This command creates the author/title/abstract block. Essential!
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -227,7 +231,7 @@ Section, subsection, and subsubsection headings should be in title case (first l
%% captions go below figures
\begin{figure}
-\centering\includegraphics[width=\linewidth]{sample-figure-1.pdf}
+\centering\includegraphics[width=\linewidth,alt={Linearization errors}]{sample-figure-1.pdf}
\caption{Caption with math, eqn.~\eqref{eqn:1}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{lienhard2019}\label{fig:1}}
\end{figure}
@@ -466,8 +470,12 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation of the typewriter font when running \hologo{pdfTeX}.
+\subsection{Single column layout} The option \texttt{[singlecolumn]} switches from two-column to single-column layout.
%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
+%
+% note: the fourth column could be a dcolumn instead of using \makebox, with d{1.4} replacing c column.
+%
\begin{table*}[t]
\caption{A table spanning two columns}\label{tab:4}%
\centering{%
@@ -478,7 +486,8 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
\multicolumn{1}{c}{$x$} &
\multicolumn{1}{c}{$\textrm{erf}(x)$} &
-\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
+\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 \\
@@ -554,7 +563,7 @@ Acknowledge individuals, institutions, or companies that supported the authors i
\entry{b}{bulk value}
\entry{$\infty$}{free stream value}
-\end{nomenclature}
+\end{nomenclature}
%%%%%%%%%%%%%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -571,31 +580,30 @@ Acknowledge individuals, institutions, or companies that supported the authors i
This text is just for illustration. The radiation fractional function may be written in terms of the incomplete zeta function for convenience:
\begin{align}
-f(\lambda T) = {}& \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\
- = {}& \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta}
+f(\lambda T) &= \frac{1}{\sigma T^4} \int_0^\lambda\frac{2\pi h c_o^2}{\lambda^5 \left[ \exp (h c_o/k_B T \lambda) - 1\right] } \, d\lambda \\
+ &= \frac{1}{\sigma T^4}\frac{2\pi k_B^4 T^4}{h^3c_o^2}\int^\infty_{c_2/\lambda T}\frac{t^3}{e^t -1}\, dt\label{eqn:zeta}
\end{align}
When $\lambda T \rightarrow \infty$, $f = 1$ and the last equation yields the well-known result
\begin{equation}
- {\sigma T^4} =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)}
+\sigma T^4 =\frac{2\pi k_B^4 T^4}{h^3c_o^2} \underbrace{\int_0^\infty \frac{t^3}{e^t - 1} \, dt}_{\equiv\mspace{2mu} \zetaup(4)\Gamma(4)}
\end{equation}
where the Gamma function $\Gamma(4) = 3!$ and the Riemann zeta function, $\zetaup(4)$, has the indicated integral representation \cite[\S13.12]{ww1927}. A classical result due to Euler \cite{euler1740} gives $\zetaup(4) = \pi^4/90$ (see also \cite[\S167]{euler1748}), from which we recover the usual definition of the Stefan-Boltzmann constant, $\sigma$.
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Language Support}
+\section{Language Support\label{app:language}}
ASME publishes in English, but the \texttt{babel} package is loaded for users who may wish to include other languages.
For example, an author might wish to include an appendix that provides the abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmejour}|, English will be
assumed to be the main language of the document. (To choose a different main language, set \texttt{[main=..]}).
-If no language options are given, the package defaults to English. As an example, a passage in French is
-shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}.
+If no language options are given, the package defaults to English. As an example, a passage in German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{english}.
The standard caption and section names will follow \texttt{babel}'s dictionary for primary languages other than English. Users may additionally change ``Keywords'', ``Nomenclature'', and ``Corresponding author'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, and \verb|\CAwords|. Changes to the page footer were described in Sec.~\ref{sec:footer}. The pdf bookmark for ``Appendices'' by be changed by renewing \verb|\appendicesname|.
The font encoding is set to T1 and utf-8 input is supported:
-%% If you have trouble with the next line (or the French text that follows), your file may not be saved in utf-8 format. You can delete these lines to resolve the issue.
+%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete these lines to resolve the issue.
\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.}
\ifluatex\typeout{Under LuaLaTeX, some of these accents must be obtained as escaped characters, with \=a, \c{e}, \l, \.o, \oe, \v{z}, \'z, etc.}\fi
Ã Ã¡Ã¢Ã¤Ã¦Ã£Ã¥Ä Ã¨Ã©Ä™Ã«ÃªÄ“Ä— îïíīįì ôöòóœøÅõ ûüùúū Ã§Ä‡Ä Å‚ ñń ßśš ÿ žźż
@@ -604,18 +612,13 @@ No effort has been made to support customization of language-specific fonts (som
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\selectlanguage{french}
-\section{Discours Préliminaire de Fourier}\label{app:fourier}
-
-Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
-
-La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+\selectlanguage{german}
+\section{Der Wärmeaustausch zwischen festen Körpern und Flüssigkeiten mit kleiner reibung und kleiner Wärmeleitung (von E. Pohlhausen)\label{app:pohlhausen}}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\selectlanguage{english}
-% When you drop the [french] option, delete your .aux file as well, since [french] sets ":" as an active character.
-
-
%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\nocite{*} %% <=== Delete this line - unless you wish to typeset the entire contents of your .bib file.
diff --git a/macros/latex/contrib/asmejour/asmejour.cls b/macros/latex/contrib/asmejour/asmejour.cls
index 095964ffc7..a8cd43eae2 100644
--- a/macros/latex/contrib/asmejour/asmejour.cls
+++ b/macros/latex/contrib/asmejour/asmejour.cls
@@ -4,10 +4,9 @@
%%
%% The asmejour.cls file should be used with the files asmejour.bst (for citations) and asmejour-template.tex.
%%
-%%
%% This file's version and date are:
- \def\versionno{1.22}
- \def\versiondate{2024/01/30\space}
+ \def\versionno{1.23}
+ \def\versiondate{2024/07/24\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -22,14 +21,14 @@
%% 4. Support citations, footnotes, and bold face math in section headings
%% 5. Provide optional line numbers for editing and review
%% 6. Support balancing height of columns on the last page
-%% 7. Support the archival PDF/A standards 1b, 2b, 2u, 3b, and 3u
+%% 7. Support archival PDF/A standards
%% 8. Provide copyright notices for government employees and government contractors
%% 9. Enable various math and text features from the newtxmath, mathalfa, and newtxtext packages
%% 10. Support inclusion of passages in languages other than English
%%
%% This class is compatible with both pdfLaTeX and LuaLaTeX. All packages required by the class
-%% are in standard distributions, such as TeXLive, and are also available at CTAN (https://ctan.org/).
-%% The use of an up-to-date (Feb. 2020 or later) and complete LaTeX distribution is strongly recommended.
+%% are in standard distributions, such as TeX Live, and are also available at CTAN (https://ctan.org/).
+%% The use of an up-to-date (Nov. 2022 or later) and complete LaTeX distribution is strongly recommended.
%%
%% The title block is set by specific commands that are described in the asmejour-template.tex file.
%%
@@ -57,72 +56,79 @@
%% 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.
%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{asmejour}[\versiondate asmejour paper format]
-\LoadClass[twoside,9pt,twocolumn]{extarticle}
-
-\ifdefined\NewDocumentCommand\else
- \RequirePackage{xparse}[2020/02/25]
-\fi
+\LoadClass[twoside,9pt]{extarticle}% twocolumn format initiated in \MakeTitle command 2024/07/20
\RequirePackage{iftex}% provides \ifpdftex, etc.
\RequirePackage{ifthen}
-%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ExplSyntaxOn
+ \str_const:Nn \ClassName {asmejour}
+\ExplSyntaxOff
-\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
+%%%%%%%%%%%%% Some compatibility for older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\IfFormatAtLeastTF{2020/02/25}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020/10/01 or later are strongly recommended, for best results}
- }{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely!}{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, but your abstract will probably not compile properly if you lack the xparse package [2020/02/25], and the code will crash entirely if you lack the iftex package [2019/11/07].}%
+\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\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}{\relax}{%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely!}{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 any errors for now, but your abstract will not compile properly if you lack the xparse package [2020/02/25], and the code will crash entirely if you lack the iftex package [2019/11/07].}%
}
-
-\DeclareDocumentCommand\LogNote{m}{%
- \IfFormatAtLeastTF{2021/11/15}{%
- \ClassNoteNoLine{asmejour}{#1}% Added to LaTeX in Nov. 2021
- }{%
- \ClassWarningNoLine{asmejour}{#1}%
+
+% check whether pdfmanagement (\DocumentMetadata) has been loaded (else fall back to hyperxmp and bookmark packages after loading hyperref)
+\newif\ifasme@pdfmanagement
+\IfPDFManagementActiveTF{
+ \asme@pdfmanagementtrue
+}{
+ \asme@pdfmanagementfalse
+ \ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
+}
+
+% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error
+\IfFormatAtLeastTF{2021/11/15}{
+ \relax
+}{
+ \AtBeginDocument{
+ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
}
}
-%% Test whether \DocumentMetadata has been loaded (Thank you Ulrike Fischer)
-\newif\if@asme@pdfmanagement
-\ExplSyntaxOn
-\bool_if:nTF
- {
- \bool_lazy_and_p:nn
- {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
- { \pdfmanagement_if_active_p: }
- }
- {
- \@asme@pdfmanagementtrue
- }
- {
- \@asme@pdfmanagementfalse
- }
-\ExplSyntaxOff
+% Enable pre-2020/10 formats to access essential macros later moved into LaTeX kernel
+\ifdefined\NewDocumentCommand\else
+ \RequirePackage{xparse}[2020/02/25]
+\fi
+
+% Provide pre-2020/10 installations with basic unicode character mappings
+\IfFormatAtLeastTF{2020/10/01}{\relax}{%
+ \pdfgentounicode=1 %% enable CMaps; was moved into the latex kernel Oct 2020
+ \input glyphtounicode.tex %% lists of mappings; was moved into the latex kernel Oct 2020
+}
-%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}% this package calls kvsetkeys
\SetupKeyvalOptions{
- family=asmejour,
+ family=\ClassName,
prefix=asmejour@,
setkeys=\kvsetkeys,
}
%% for mathalfa, so we may pass options in this format: mathalfa=cal=euler, mathalfa=frak=boondox
-\define@key{asmejour}{mathalfa}{%
+\define@key{\ClassName}{mathalfa}{%
\PassOptionsToPackage{#1}{mathalfa}%
}
+%% Option to obtain line numbers [singlecolumn], 2024/07/20
+\DeclareBoolOption{singlecolumn}
+
%% Option to obtain line numbers [lineno]
\DeclareBoolOption{lineno}
@@ -132,6 +138,12 @@
%% Option to omit lists of figures and tables
\DeclareBoolOption{nolists}
+%% Option to omit ASME copyright notice [nocopyright]
+\DeclareBoolOption{nocopyright}
+
+%% Option to omit ASME footers [nofoot]
+\DeclareBoolOption{nofoot}
+
%% Option for copyright notice if all authors are government employees [govt]
\DeclareBoolOption{govt}
@@ -141,57 +153,54 @@
%% Option for government contractor copyright notice [contractor]
\DeclareBoolOption{contractor}
-%% set [barcolor=] to a color name defined by xcolor package
+%% set key [barcolor=] to pass a color name defined by xcolor package
\DeclareStringOption[black]{barcolor}
-%% the key main= passes the choice of main language to babel
+%% the key [main= ] to pass the choice of main language to babel
\newif\ifaj@mainset\aj@mainsetfalse
-\define@key{asmejour}{main}[english]{%
+\define@key{\ClassName}{main}{%
\PassOptionsToPackage{main=#1,#1}{babel}% added #1 resolves conflicts between certain .ldf files under "main=".
\aj@mainsettrue
- \ifthenelse{\equal{#1}{english}}{%
- \PassOptionsToPackage{pdflang=en}{hyperref}}{%
- \LogNote{Selecting #1 as the primary language}
- }%
+ \ClassNoteNoLine{\ClassName}{Selecting #1 as the primary language}
}
-%% if main language was not chosen explicitly, default to English
-\ifaj@mainset\relax\else
- \PassOptionsToPackage{main=english}{babel}%
- \PassOptionsToPackage{pdflang=en}{hyperref}
- \ClassInfo{Selecting English as the primary language, since main= not set}%
-\fi
-
%% Suppress warnings about unused global options, 2021/12/01
-\DeclareDefaultOption{}% suppress warning about unused mathalfa option
+\DeclareDefaultOption{}
-\ProcessKeyvalOptions{asmejour}
+\ProcessKeyvalOptions{\ClassName}
%% Turn off these keys now that we're done with them
\NewDocumentCommand\aj@DisableOption{m}{%
\DisableKeyvalOption[%
action=ignore,%
- class=asmejour%
+ class=\ClassName%
]{#1}{\@KeyFamily}%
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@DisableOption}}
-\def\@KeyFamily{asmejour}
-\@DisableKeys{mathalfa;barcolor;lineno;balance;nolists;govt;govtsome;contractor;main}
+\def\@KeyFamily{\ClassName}
+\@DisableKeys{mathalfa;singlecolumn;lineno;balance;nolists;nocopyright;nofoot;govt;govtsome;contractor;barcolor;main}
+
+
+%% if main language was not was chosen explicitly, default to English
+\ifaj@mainset\relax\else
+ \PassOptionsToPackage{main=english}{babel}%
+ \ClassNoteNoLine{\ClassName}{Selecting English as the primary language, since main= not set}%
+\fi
-%%%%%%% PDF/A Compliance Keys %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%% PDF/A Compliance Keys %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\newif\ifaj@setpdfa\aj@setpdfafalse
\newif\ifaj@pdfaone\aj@pdfaonefalse
-\if@asme@pdfmanagement\else
+\ifasme@pdfmanagement\else
\SetupKeyvalOptions{
family=pdfaopt,
- prefix=pdafopt@,
+ prefix=pdfaopt@,
setkeys=\kvsetkeys,
}
@@ -201,7 +210,7 @@
\define@key{pdfaopt}{pdf-a}[true]{%
\aj@setpdfatrue
\PassOptionsToPackage{pdfa}{hyperref}
- \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}% note: hyperref takes these options if hyperxmp is loaded
+ \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}% hyperref takes these options if hyperxmp is loaded
}
%%% to select part 1, 2 or 3
\define@key{pdfaopt}{pdfapart}[3]{%
@@ -209,7 +218,7 @@
\AtBeginDocument{\hypersetup{pdfapart=\asmejour@tempa}}
\ifthenelse{\equal{#1}{1}}{\aj@pdfaonetrue}{\relax}%
}
- %% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ %% to select conformance b or u. NB: a is not currently possible with pdfLaTeX; u not possible with 1.
\ExplSyntaxOn
\define@key{pdfaopt}{pdfaconformance}[u]{%
\str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
@@ -236,9 +245,10 @@
\pdfminorversion=7 % this selection is not required
\fi
\else
- \ifaj@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
- \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}\fi%
- \ifx\directlua\undefined\else
+ \ifaj@setpdfa\ClassWarningNoLine{\ClassName}{pdf-a option requires pdfLaTeX. Under LuaLaTeX, use %
+ \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{\ClassName}}%
+ \fi
+ \ifx\directlua\undefined\else % default under lualatex is 1.4
\directlua{
if pdf.getminorversion() \string~= 7 then
if (status.pdf_gone and status.pdf_gone > 0)
@@ -248,58 +258,28 @@
pdf.setminorversion(7)
end
end
+ }
\fi
- }% will lose some accented characters this way... better to use fontspec, if the system fonts exist.
\fi
\fi
-%%%%%%%%%% Further class options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% Option to omit ASME footer
-\DeclareOption{nofoot}{%
- \AtBeginDocument{\pagestyle{plain}%
- \fancypagestyle{title}{%
- \fancyhf{}
- \fancyfoot[CE,CO]{\thepage}
- }
- }
-}
-
-%% Option to omit ASME copyright
-\DeclareOption{nocopyright}{%
- \AtBeginDocument{\fancypagestyle{title}{%
- \fancyhf{}
- \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
- \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
- \fancyfoot[CO]{}
- }
- }
-}
+%%%%%%%%% Various font-related options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Option for slightly larger small capitals font [largesc], corrected 2021/01/29
\DeclareOption{largesc}{\PassOptionsToPackage{largesc=true}{newtxtext}}% largesc is a boolean key in newtxtext
-%% ASME word separation is greater than newtxtext defaults so change these parameters.
-\PassOptionsToPackage{spacing=0.3em, stretch=0.18em, shrink=0.10em}{newtxtext}% increased shrink from 0.08, 2021/01/30
-
%% Disable newtxtext osf option, which is not appropriate for documents in this class
\DeclareOption{osf}{%
\PassOptionsToPackage{lining}{newtxtext}%
}
-%% Option to hyphenate the typewriter font [hyphenate]
-\DeclareOption{hyphenate}{%
- \PassOptionsToPackage{hyphenate}{inconsolata}%
- \LogNote{Allowing hyphenation of typewriter font}%
-}
-
\DeclareOption{hyphenate}{%
\ifpdftex
\PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
- \LogNote{Allowing hyphenation of typewriter font}%
+ \ClassNoteNoLine{\ClassName}{Allowing hyphenation of typewriter font}%
\else
- \ClassWarningNoLine{asmejour}{The [hyphenate] option is only supported with pdftex. It will be ignored}%
+ \ClassWarningNoLine{\ClassName}{The [hyphenate] option is only supported with pdftex. It will be ignored}%
\fi
}
@@ -329,7 +309,7 @@
\ProcessOptions \relax
-%%%%%%%%%%%% Page size, bibliography, graphics, color, etc. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%% Page size, bibliography, graphics, color %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[paperheight=285.7mm, paperwidth=215.900mm, left=21.100mm, right=21.100mm, top=15.9mm, bottom = 24mm, footskip=8mm]{geometry}
\setlength\columnsep{4.5mm}
@@ -342,22 +322,8 @@
\renewcommand*{\bibfont}{\footnotesize}
\RequirePackage{graphicx}
-\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}% remove obsolete options, 2023/10/23
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}% removed obsolete options, 2023/10/23
-% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error, in preparation for tagged pdf
-\IfFormatAtLeastTF{2021/11/15}{
- \relax
-}{
- \AtBeginDocument{
- \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
- }
-}
-
-% Nice solution from DPC to prevent aux file errors when switching from pdflatex to lualatex
-\ifx\directlua\undefined
- \AtBeginDocument{\immediate\write\@auxout{\detokenize{%
- \ifx\directlua\undefined\else\endinput\fi}}}
-\fi
%%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -383,7 +349,9 @@
\ifpdftex
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}% for backward compatibility with pre-2018 LaTeX distributions
- \RequirePackage[helvratio=0.91]{newtxtext}% add this scaling 2022/06/26
+ %% ASME word separation is greater than newtxtext defaults so change these parameters.
+ %% increased shrink from 0.08, 2021/01/30; add this helvetica scaling 2022/06/26
+ \RequirePackage[helvratio=0.91, spacing=0.3em, stretch=0.18em, shrink=0.10em]{newtxtext}% default {0.25em,0.2em,0.1em}
\RequirePackage[varl,varqu]{inconsolata}% sans typewriter font; restored varl, varqu 2020/08/10
\RequirePackage[]{newtxmath}
\else % use lualatex with newtxmath and fontspec for text primary fonts. Revised 2023/10/21.
@@ -396,20 +364,20 @@
%
\RequirePackage[varqu,varl]{inconsolata} % typewriter font for math
\renewcommand\rmdefault{ntxtlf} % roman font for math
- \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
+ \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
\DeclareFontShape{T1}{\sfdefault}{m}{n}{<-> s*[0.94] ec-qhvr}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15
\RequirePackage[]{newtxmath} % newtxmath still handles mathematics
\RequirePackage[no-math]{fontspec}
\defaultfontfeatures{Ligatures=TeX,}
%
- \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If DON'T have these fonts, you will see ERROR messages!}
+ \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If you DON'T have these fonts, you will see ERROR messages!}
%
- \IfFontExistsTF{TeXGyreTermesX}{}{\ClassWarning{asmeconf}{\FontWarning} }
- \IfFontExistsTF{texgyreheros}{}{ \ClassWarning{asmeconf}{\FontWarning} }
- \IfFontExistsTF{Inconsolatazi4}{}{\ClassWarning{asmeconf}{\FontWarning} }
+ \IfFontExistsTF{TeX Gyre Termes}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{texgyreheros}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{Inconsolatazi4}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
%
- \setmainfont{TeXGyreTermesX}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better. 1.4
+ \setmainfont{TeXGyreTermes}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
+ WordSpace = {1.20,1.43,1.2},%% This stretch matches newtxtext a little better (reset 2024/07/23)
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
@@ -418,7 +386,8 @@
Numbers = Lining,
]
\setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},
+ WordSpace = {1.20,1.43,1.2},%% This stretch matches newtxtext a little better (reset 2024/07/23)
+% WordSpace = {1,1.4,1},
Extension = .otf,
UprightFont = *-regular,
ItalicFont = *-italic,
@@ -443,7 +412,7 @@
\RequirePackage{bm}% load after all math for expanded access to bold math
-%% In addition to the word spacing options declared in line 235...
+%% In addition to the word spacing options declared in line 371...
%% Relative to size9.clo: leading reduced to 10 pt; displayskips made greater
\renewcommand\normalsize{%
\@setfontsize\normalsize\@ixpt{10\p@}% % <== was \@xipt
@@ -464,13 +433,12 @@
\newcommand*{\CondSans}{\fontencoding{T1}\fontfamily{qhvc}\selectfont}% remove extra \selectfont, 2023/10/21
\renewcommand\huge{\@setfontsize\huge{14}{14}} %... for author names only
\newcommand*{\CondSansBold}{\renewcommand\bfdefault{b}\fontencoding{T1}\fontfamily{qhvc}\selectfont\bfseries}
-\renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}} %... for title font only
+\renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}} %... for title only
\RequirePackage{metalogo,hologo}% Access to various LaTeX logos (for use in the documentation)
-%% This provides sans serif italic and sans serif bold italic math.
-%% It's intended for use in the figure and table captions.
-%% Fonts are from newtxsf package.
+%% This provides sans serif italic and sans serif bold italic math, against with fonts from newtxsf.
+%% For use in the figure and table captions.
\DeclareMathVersion{sansbold}
\SetSymbolFont{letters}{sansbold}{OML}{ntxsfmi}{b}{it}
\SetSymbolFont{lettersA}{sansbold}{U}{ntxsfmia}{b}{it}
@@ -480,8 +448,8 @@
\SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% \mathsf is upright
-%% These lines are to provide math accents for the sans and sansbold math versions.
-%% The accents from ntxsfmi work normally with regular times fonts. Added 2021/01/27
+%% Provide math accents for the sans and sansbold math versions. Accents from ntxsfmi work normally
+%% with regular times fonts. 2021/01/27
\DeclareSymbolFont{lettersAB}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{normal}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{bold}{U}{ntxsfmia}{b}{it}
@@ -556,8 +524,7 @@
\DeclareMathSymbol{\sfhslash}{\mathalpha}{lettersAB}{52}% this is not upright
\DeclareMathSymbol{\sfhbar}{\mathalpha}{lettersAB}{53}% this is not upright
-%%% sans math version, potential value with PGFPlots, and provisionally called in subfigure captions.
-%%% this is experimental, still needs stress testing. 2021/01/30
+%%% sans math version, potential value with PGFPlots, called in subfigure captions. 2021/01/30
\DeclareMathVersion{sans}
\SetSymbolFont{letters}{sans}{OML}{ntxsfmi}{m}{it}
\SetSymbolFont{lettersA}{sans}{U}{ntxsfmia}{m}{it}
@@ -569,7 +536,7 @@
\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}
-%%%%%%%%%%%%%%%%% Some adjustments to math layout %%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Some adjustments to math layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\jot}{10pt}% <== default is 3pt
@@ -580,7 +547,7 @@
\allowdisplaybreaks % ASME allows these breaks
-%%%%%%%%%%%%%%%%% Equation and Line Numbering %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Equation and Line Numbering %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{etoolbox}% patching amsmath
@@ -598,37 +565,36 @@
\ifasmejour@lineno
\RequirePackage[switch,mathlines]{lineno}%
- \renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}}%
+ \renewcommand{\linenumberfont}{\normalfont\scriptsize\color{red}}%
\AtBeginDocument{\linenumbers}%
\ifasmejour@balance
- \ClassWarningNoLine{asmejour}{Package lineno loaded, so final column balancing will be disabled}%
+ \ClassWarningNoLine{\ClassName}{Package lineno loaded, so final column balancing will be disabled}%
\fi
%%% Patch to allow line numbering in AMS math environments.
%%% This patch is for lineno versions earlier than v5.2 [2023/05/19]. As of mid-2023, the lineno package
%%% has been corrected to account for the AMS math environments. Retaining temporarily for backward compatibility.
%%% postdisplaypenalty adjusted to avoid extra line number at end, see: https://tex.stackexchange.com/a/461192/
- %%% multline has some additional problem that puts an extra line number above it.
\IfPackageAtLeastTF{lineno}{2023/05/19}{\relax}{
- \NewDocumentCommand{\ac@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
+ \NewDocumentCommand{\aj@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
%
- \NewDocumentCommand{\ac@FixAMSMath}{m}{%
- \AtBeginEnvironment{#1}{\ac@losepostpenalty\linenomath}%
+ \NewDocumentCommand{\aj@FixAMSMath}{m}{%
+ \AtBeginEnvironment{#1}{\aj@losepostpenalty\linenomath}%
\AtEndEnvironment{#1}{\endlinenomath}%
- \AtBeginEnvironment{#1*}{\ac@losepostpenalty\linenomath}%
+ \AtBeginEnvironment{#1*}{\aj@losepostpenalty\linenomath}%
\AtEndEnvironment{#1*}{\endlinenomath}%
}
%
- \NewDocumentCommand{\ac@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@FixAMSMath}}
+ \NewDocumentCommand{\aj@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@FixAMSMath}}
%
- \ac@FixAll{align;alignat;gather;flalign;multline}
+ \aj@FixAll{align;alignat;gather;flalign;multline}
}
%
\else
\ProvideDocumentEnvironment{linenomath}{}{}{}%
- \ifasmejour@balance % balancing through flushend can produce weird errors
- \RequirePackage{flushend}% flushend package is NOT compatible with lineno
+ \ifasmejour@balance % balancing through flushend can produce weird errors.
+ \RequirePackage{flushend}% flushend package is NOT compatible with lineno.
\AtEndDocument{\flushcolsend}%
- \LogNote{Calling flushend package to balance column height on last page}%
+ \ClassNoteNoLine{\ClassName}{Calling flushend package to balance column height on last page}%
\fi%
\fi
@@ -638,9 +604,9 @@
%% ASME page proofs seem to align the number at top of the line, rather than bottom as done here.
-%%%%%%%%%%%%%%%%% Footer Set Up %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Footer Set Up %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%% footer text names %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% footer text names %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\JourName}[1]{\gdef\@JourName{#1}}
\providecommand\@JourName{\hbox{ }}
@@ -650,8 +616,8 @@
}
\providecommand\@PaperYear{\the\year}
-\def\@PreprintStringL{PREPRINT FOR REVIEW}
-\def\@PreprintStringR{PREPRINT FOR REVIEW}
+\def\@PreprintStringL{PREPRINT}% updated 2024/07/24
+\def\@PreprintStringR{PREPRINT}
\NewDocumentCommand{\PreprintString}{m o}{%
\IfNoValueTF{#2}{%
@@ -668,32 +634,53 @@
%%%%%% Fancyhdr %%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{fancyhdr}
+\RequirePackage{fancyhdr}% options revised 2024/07/23
\pagestyle{fancy}
\fancyhf{}% clear all header and footer fields
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
-\fancyfoot[RE]{\large\bfseries\sffamily Transactions of the ASME}
-\fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
-\fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
-\fancyfoot[LE]{\large\sffamily {\bfseries \@PaperNumber\thepage\space\space/}\space\space\@PreprintStringL\ }
+\ifasmejour@nofoot
+ \fancyfoot[CE,CO]{\thepage}
+\else
+ \fancyfoot[RE]{\large\bfseries\sffamily Transactions of the ASME}
+ \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
+ \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
+ \fancyfoot[LE]{\large\sffamily {\bfseries \@PaperNumber\thepage\space\space/}\space\space\@PreprintStringL\ }
+\fi
-\fancypagestyle{title}{%
+\fancypagestyle{title}{% is an odd page
\fancyhf{}% clear all header and footer fields
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
- \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
- \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
- \fancyfoot[CO]{\large\bfseries\sffamily Copyright \textcopyright\ \@PaperYear\ by ASME}
+ \ifasmejour@nofoot
+ \fancyfoot[CO]{\thepage}
+ \else
+ \fancyfoot[RO]{\large\sffamily \@PreprintStringR\space\space\bfseries/\space\space\@PaperNumber\thepage}
+ \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName}
+ \ifasmejour@nocopyright
+ \fancyfoot[CO]{}
+ \else
+ \fancyfoot[CO]{\large\bfseries\sffamily Copyright \textcopyright\ \@PaperYear\ by ASME}
+ \fi
+ \fi
}
+
%%%%%% Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{fnpos}
\makeFNbottom
\makeFNbelow
+\RequirePackage{footmisc}%
+\IfPackageAtLeastTF{footmisc}{2022/02/05}{
+ \PassOptionsToPackage{belowfloats}{footmisc}%
+ }{ \RequirePackage{fnpos}
+ \makeFNbottom
+ \makeFNbelow
+ }%
+\setlength\footnotemargin{4mm}% reduce indentation of footnotes, from footmisc
\setlength{\skip\footins}{12pt plus 2pt minus 1pt}
\renewcommand{\footnoterule}{%
@@ -702,10 +689,6 @@
\kern 2pt
}
-%% reduce indentation of footnotes
-\renewcommand\@makefntext[1]{%
- \noindent\makebox[4mm][r]{\@makefnmark}\hyphenpenalty=300\exhyphenpenalty=300 #1}% <== suppress hyphenation
-
%% Produces an unmarked footnote about the revision date.
%% This command is invoked by \date as part of \MakeTitlePage below.
%% Text can be anything given as the argument to \date{..}.
@@ -717,13 +700,13 @@
%% include a comma for sequential footnotes
\ExplSyntaxOn
- \cs_new:Npn \__asmejour_NoteComma:n { \peek_meaning:NT \footnote { \textsu{\mdseries,} } }
+ \cs_new:Npn \__asmejour_NoteComma:n { \peek_meaning:NT \footnote { \textsuperscript{\mdseries,} } }
\cs_new_eq:NN \__savefootnote \footnote
\cs_gset_protected:Npn \footnote #1 { \__savefootnote{#1}\__asmejour_NoteComma:n }
\ExplSyntaxOff
-%%%%%%%%% Caption Related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%% Caption Related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addto{\captionsenglish}{%
\renewcommand{\figurename}{Fig.}
@@ -739,7 +722,7 @@
\captionsetup[figure]{labelfont={sf,bf},textfont={sf,bf},textformat=boldmath,labelsep=quad}
\captionsetup[table]{labelfont={sf,bf},textfont={sf,bf},textformat=boldmath,labelsep=quad,skip=0.5\baselineskip}
-%% 30 January 2021. ASME only labels subfigures with a sans serif, italic (a), (b),... no caption text, no bold face.
+%% 2021/01/30: ASME only labels subfigures with a sans serif, italic (a), (b),... no caption text, no bold face.
\captionsetup[subfigure]{labelfont={sf},textfont={sf},textformat=sansmath,labelformat=simple}% default: =parens
\renewcommand\thesubfigure{(\textit{\alph{subfigure}})}
@@ -747,7 +730,7 @@
\renewcommand\thesubtable{(\textit{\alph{subtable}})}
-%%%%%%%%%%%% Section Headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%% Section Headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[raggedright,indentafter]{titlesec}
@@ -760,28 +743,28 @@
\titlespacing{\subsubsection}{\parindent}{12pt plus 3pt minus 2pt}{0.5em}
%% ASME style does not seem to go lower than third level heading, so ...
-%% ....putting \paragraph into \subsubsection settings.
+%% ...put \paragraph into \subsubsection settings.
\titleformat{\paragraph}[runin]{\itshape}{\thesubsubsection}{0.5em}{}[.]
\titlespacing{\paragraph}{\parindent}{14pt plus 3pt minus 2pt}{0.5em}
%% Special handling of the appendices
%% Assumes that appendices are the last technical content in paper
-\providecommand{\appendicesname}{Appendices}
-
-\RenewDocumentCommand{\appendix}{}{%
- \pdfbookmark[1]{\appendicesname}{appendices}
- \setcounter{section}{0}
- \renewcommand\thesection{\Alph{section}}
- \setcounter{equation}{0}
- \renewcommand\theequation{\Alph{section}\arabic{equation}}
- \titleformat{\section}[block]{\mathversion{bold}\bfseries\large\raggedright}{\appendixname\ \thesection:}{0.5em}{}[\setcounter{equation}{0}]
-}
+\providecommand*{\appendicesname}{Appendices}
+\newcounter{appeqn}%% Code revised to better support tagged pdf, 2024/07/24
+\patchcmd{\appendix}{%
+ \setcounter{subsection}{0}}{%
+ \setcounter{subsection}{0}%
+ \pdfbookmark[1]{\appendicesname}{appendices}%
+ \@addtoreset{equation}{appeqn}\stepcounter{appeqn}%
+ \gdef\theequation{\@Alph\c@section\@arabic\c@equation}%
+}{}{}
+\apptocmd{\appendix}{\titleformat{\section}[block]{\mathversion{bold}\bfseries\large\raggedright}{\appendixname\ \thesection:}{0.5em}{}}
%% natbib's \bibsection controls section heading for References.
-%%%%%%%%%%%%%%%%% List environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% List environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{enumitem}
@@ -789,24 +772,20 @@
%% I have no examples of sublists...
-%%%%%%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\ifpdftex
- %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
- \IfFormatAtLeastTF{2020/10/01}{\relax}{%
- \pdfgentounicode=1 %% enable CMaps; has moved into the latex kernel Oct 2020
- \input glyphtounicode.tex %% lists of mappings; has moved into the latex kernel Oct 2020
- }
+ %%% to assist with unicode glyph mapping in pdf/a, per M. Sharpe's recommendation in newtx documentation
\InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
\InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
+ %% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\ifaj@setpdfa
- %%%% the pdfmanagement options are experimental, from Ulrike Fischer 2021/06/12
- \if@asme@pdfmanagement
- \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load a color profile}
+ %%%% the pdfmanagement options from Ulrike Fischer 2021/06/12
+ \ifasme@pdfmanagement
+ \ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load a color profile}
\else
- \ClassInfo{asmejour}{pdfmanagement not defined. Class file will load a color profile}%
+ \ClassInfo{\ClassName}{pdfmanagement not defined. Class file will load a color profile}%
%%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
@@ -826,41 +805,41 @@
%%%
-\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
- % but setting psdextra here (for additional math support in bookmarks) 2021/12/23
+\RequirePackage[psdextra]{hyperref} % provide most hyperref options via \hypersetup, but per documentation
+ % set [psdextra] here (for additional math support in bookmarks) 2021/12/23
\hypersetup{%
- pdfborder={0 0 0},%
- bookmarksnumbered=true,%
- bookmarksopen=true,%
- bookmarksopenlevel=1,%
- colorlinks=true,%
- linkcolor=blue, %
- citecolor=blue, %
- urlcolor=blue, %
- filecolor=red, % added 2021/12/23, to make certain broken links more apparent
- pdfnewwindow=true,%
- pdfpagelayout=SinglePage, %TwoPageRight,% changed 2020/08/12
- pdfdisplaydoctitle=true%
+ pdfborder={0 0 0},
+ bookmarksnumbered=true,
+ bookmarksopen=true,
+ bookmarksopenlevel=1,
+ colorlinks=true,
+ linkcolor=blue,
+ citecolor=blue,
+ urlcolor=blue,
+ filecolor=red, % added 2021/12/23, to make certain broken links more apparent
+ pdfnewwindow=true,
+ pdfpagelayout=SinglePage, % was TwoPageRight, changed 2020/08/12
+ pdfdisplaydoctitle=true,
}
\urlstyle{same} % don't switch to typewriter font
\RequirePackage{doi} % supports nasty characters in some doi's
\renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for ASME specification
-\RequirePackage{bookmark} % improves handling of pdf bookmarks
\providecommand*{\toclevel@subfigure}{1}% <== to address unknown bookmark level of subfigure. 2021/12/24
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/22
%% This alias is also incorporated into asmejour.bst
-\if@asme@pdfmanagement
- \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp}
+\ifasme@pdfmanagement
+ \ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load hyperxmp}
\else
+ \RequirePackage{bookmark} %% improves handling of pdf bookmarks
\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
% Patch bug in hyperxmp, unless a more recent version is used.
\@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
\relax
- % \ClassInfo{asmeconf}{hyperxmp v5.11 or later is in use}
+ % \ClassInfo{\ClassName}{hyperxmp v5.11 or later is in use}
}{%
\ifx\undefined\hyxmp@no@bad@parts\relax\else
\newcount\hypxmp@tempcnt
@@ -872,10 +851,11 @@
}
\fi
-%%%%%% Adjustments to accommodate hyperref bookmarks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%% Adjustments to accommodate hyperref bookmarks %%%%%%%%%%%%%%%%%%%%%%
-%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
-%%% the following interventions may become unnecessary over time (2021/12/23).
+%%% Recent development of \pdfstring has removed all robust commands from bookmarks (2021/12/23).
+%%% By mid-2024, no errors are thrown except for \bm; however, these commands serve to still suppress warnings.
+%%% Math shift by $..$ still creates a warning, but I am leaving that in place. To avoid, use \( .. \) instead.
%% 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}
@@ -896,7 +876,7 @@
%% Ensure that tag color does not follow \eqref into bookmarks, 2020/02/28
\pdfstringdefDisableCommands{%
- \def\eqref#1{(\ref{#1})}%
+ \def\eqref#1{(\ref*{#1})}%
}
%% Let's make sure footnotes in section headings don't break pdf bookmarks.
@@ -906,13 +886,13 @@
}
-%%%%%%%%%%%%% Define some section and other names for special environments %%%%%%%
+%%%%%%%%%%%%% Define some section and other names for special environments %%%%%%%%%%%%%%%%%%%%%%%%
\providecommand{\nomname}{Nomenclature}
\providecommand{\keywordname}{Keywords}
\providecommand{\CAwords}{Corresponding Author.}
-%%%%%%%%%%%%% Nomenclature Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%% Nomenclature Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Nomenclature environment in ASME Journal Style.
%% Run twice to get proper label width.
@@ -926,7 +906,7 @@
\NewDocumentCommand{\entry}{m m}{%
\ifblank{#2}{%
- \ClassError{asmejour}{The command \protect\entry should have two arguments. For subheadings, use \protect\EntryHeading}{It appears that you gave only one argument for \protect\entry. You need to include a second argument.}
+ \ClassError{\ClassName}{The command \protect\entry should have two arguments. For subheadings, use \protect\EntryHeading}{It appears that you gave only one argument for \protect\entry. You need to include a second argument.}
}{%
\item[\hfill#1${} = {}$]#2%
\@itempenalty=-\@lowpenalty%
@@ -938,7 +918,7 @@
%% A separate command command for nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
- \itemsep12\p@ plus 4\p@ minus 4\p@% \bigskip
+ \itemsep12\p@ plus 4\p@ minus 4\p@
\goodbreak\item[\bfseries#1\hfill]\mbox{}\itemsep3\p@ plus 1\p@ minus 1\p@\@itempenalty=1000% add \mbox for tagged pdf, 2023/10/20
}
@@ -966,28 +946,25 @@
}%
}{%
\setcounter{savedlength}{\widest}%
- \end{list}%
+ \end{list}\ignorespacesafterend
}
-%%%%%%%%%%%%%%%% List of figures and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%% List of figures and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ASME requires these lists for production.
\ifasmejour@nolists
- \LogNote{Omitting lists of figures and tables}%
+ \ClassNoteNoLine{\ClassName}{Omitting lists of figures and tables}%
\else
\AtEndDocument{%
- \clearpage
\twocolumn[%
- \begin{@twocolumnfalse}
\listoffigures
\listoftables
- \end{@twocolumnfalse}
]%
}%
\fi
-%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{xcoffins}
@@ -1028,12 +1005,12 @@
\fi
}
-
\NewDocumentCommand\SetTitle{m}{%
\SetVerticalCoffin{\Title}{114mm}{%
\vspace*{0.5mm}% <== ASME doesn't align bar and text
\noindent\Huge\CondSansBold\raggedright%
#1%
+ %\gdef\@title{#1}% for tagging, etc. 2024/07/24. pdf metadata will probably override.
\par
}
}
@@ -1086,7 +1063,7 @@
\addtocounter{footnote}{-1}% in case of more than one CA
}
-%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newlength{\@AbstractSep}%% <== separation of author/abstract coffin from main two-column text.
\setlength{\@AbstractSep}{12.5mm}
@@ -1094,12 +1071,15 @@
\NewDocumentCommand{\MakeTitlePage}{}{%
\thispagestyle{title}%
- \twocolumn[
- \begin{@twocolumnfalse}
+ \ifasmejour@singlecolumn % 2024/07/20
\@ConstructAuthorBlock
\vspace*{\@AbstractSep}
- \end{@twocolumnfalse}
- ]
+ \else
+ \twocolumn[
+ \@ConstructAuthorBlock
+ \vspace*{\@AbstractSep}
+ ]
+ \fi
\ifaj@CA
\addtocounter{footnote}{1}
\footnotetext{\CAwords}
@@ -1113,7 +1093,7 @@
\fi
}
-%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Provide compatibility with titling commands from standard LaTeX article class
@@ -1143,7 +1123,7 @@
\RenewDocumentCommand{\thanks}{m}{\relax}%% disabling this standard command, as it is inconsistent with this format
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
diff --git a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
index 5b93ad2cf9..c3b0bc535e 100644
--- a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
+++ b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
index 69b98af0b2..5a506330aa 100644
--- a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
+++ b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
@@ -1,6 +1,6 @@
%% Examples of a widetext macro for setting wide equations in the asmejour class.
%%
-%% Copyright (c) 2022 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
+%% Copyright (c) 2024 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
%%
%%
%% USAGE: * \begin{widetext} ...wide material here... \end{widetext}
@@ -15,8 +15,8 @@
\documentclass[nocopyright,nolists,pdf-a]{asmejour}
%% This file's version and date are:
- \def\AJwidetextversion{1.01}
- \def\AJverdate{October 22, 2023}
+ \def\AJwidetextversion{1.02}
+ \def\AJverdate{July 24, 2024}
%
\usepackage{asmewide}
\usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored)
@@ -81,6 +81,8 @@ address = {New York},
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+\PreprintString{PREPRINT}
+
\SetAuthorBlock{John H.\ Lienhard V}{%
Fellow of ASME \\
Rohsenow Kendall Heat Transfer Laboratory, \\
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
index 2eb2bb0a71..da0dc2cbdb 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 701df1e896..f3d21083b3 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.6b}
+\newcommand*{\latestversion}{3.6c}
\date{Version {\latestversion} -- \today}
\begin{document}
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.dtx b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
index 1ec34d6f5b..b52e5c67e7 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.dtx
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
@@ -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-06-26 v3.6b French support from the babel system]
+ [2024-07-25 v3.6c 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.
@@ -2782,7 +2782,7 @@ return french_punctuation
% \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
+% \changes{v3.6b}{2024/06/26}{\cs{NoAutoSpacing} must be inhibited
% in bookmarks.}
%
% \begin{macrocode}
@@ -4582,6 +4582,10 @@ return french_punctuation
\@onlypreamble\frenchbsetup
% \end{macrocode}
%
+% \changes{v3.6c}{2024/07/25}{Removed spurious @ in
+% \cs{FBCompactItemize@setup} and \cs{FBListOldLayout@setup}
+% commands’ names.}
+%
% The following commands, defined with property |.code| in
% |DeclareKeys{}|, execute some post-treatment required to
% immediately take the flags value into account.
@@ -4623,14 +4627,14 @@ return french_punctuation
Reported}%
\fi
}
-\newcommand*{\FB@ListOldLayout@setup}[1]%
+\newcommand*{\FBListOldLayout@setup}[1]%
{\csname FBListOldLayout#1\endcsname
\ifFBListOldLayout
\FBStandardEnumerateEnvtrue
\renewcommand*{\FrenchLabelItem}{\textendash}%
\fi
}
-\newcommand*{\FB@CompactItemize@setup}[1]%
+\newcommand*{\FBCompactItemize@setup}[1]%
{\csname FBCompactItemize#1\endcsname
\ifFBCompactItemize
\FBStandardItemizeEnvfalse
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.pdf b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
index 44cf3388f2..7e4ce7735b 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/bib2qr/README.md b/macros/latex/contrib/bib2qr/README.md
new file mode 100644
index 0000000000..9f7bb900a1
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/README.md
@@ -0,0 +1,88 @@
+# bib2qr
+
+[![License](https://img.shields.io/ctan/l/bib2qr?color=blue)](https://www.latex-project.org/lppl/lppl-1-3c.txt)
+[![Latest release](https://img.shields.io/gitea/v/release/Cs137/bib2qr?gitea_url=https%3A%2F%2Fcodeberg.org%2F)](https://codeberg.org/Cs137/bib2qr/releases/latest)
+[![CTAN](https://img.shields.io/ctan/v/bib2qr.svg)](https://ctan.org/pkg/bib2qr)
+
+A LaTeX package for citing BibTeX entries with QR codes.
+
+The `bib2qr` package provides functionality to cite BibTeX entries with QR codes
+for easy sharing and referencing. The target of the QR code is the entry's DOI,
+or URL if no DOI exists. A citation generated via `\qrfullcite`, which is part
+of `bib2qr`, might look as follows:
+
+[![Example output generated with `\qrfullcite`](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png "Example output generated with qrfullcite")](https://codeberg.org/Cs137/bib2qr/media/branch/main/example/qrfullcite_example.png)
+
+
+## Installation
+
+Skip this section, if `bib2qr` is already provided in your TeX distribution.
+You should be able to install it [from the CTAN](https://www.ctan.org/pkg/bib2qr)
+via your distribution's utility (e.g. the TeX Live Utility).
+
+### Manual installation
+
+You can get the package's source code from the
+[project repository on Codeberg](https://codeberg.org/Cs137/bib2qr).
+The repository contains a build script, which allows you to build the required
+files for the `bib2qr` package and copy them into your _TeX Directory Structure_
+(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run
+it from the repository's root directory as follows:
+
+```bash
+l3build install --full
+```
+
+The `--full` option ensures that all necessary files are built and installed.
+
+If you do not want to install the package into your TDS, but use it in a
+particular LaTeX project, follow the steps listed below.
+
+1. unpack `bib2qr.sty` from the `bib2qr.dtx` file
+ - using `l3build` and the `build.lua` script: `l3build unpack`, __or__
+ - directly via the installer file: `pdflatex bib2qr.ins`
+2. copy the extracted `bib2qr.sty` file into the same directory as your LaTeX sources.
+
+
+## Usage
+
+Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/bib2qr/bib2qr.pdf)
+for detailed usage information.
+
+If you have any questions or need assistance, feel free to
+[open an issue on the repository](https://codeberg.org/Cs137/bib2qr/issues).
+
+
+## Changes
+
+All notable changes to this project are documented in the file
+[`CHANGELOG.md`](https://codeberg.org/Cs137/bib2qr/src/branch/main/CHANGELOG.md).
+
+
+## Contributing
+
+Contributions to the `bib2qr` package are very welcomed. Feel free to submit a
+pull request, if you would like to contribute to the project. In case you are
+unfamiliar with the process, consult the
+[forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/)
+and follow the steps using this repository instead of the `example` repository.
+
+Create your [pull request (PR)](https://codeberg.org/Cs137/bib2qr/pulls) to
+inform that you start working on a contribution. Provide a clear description
+of your envisaged changes and the motivation behind them, prefix the PR's title
+with ``WIP: `` until your changes are finalised.
+
+All kind of contributions are appreciated, whether they are
+bug fixes, new features, or improvements to the documentation.
+
+
+### Contributors
+
+- [Christian Schreinemachers](https://codeberg.org/Cs137)
+- [Markus Kohm](https://codeberg.org/komascript)
+
+
+---
+
+This package was created and is maintained by Christian Schreinemachers, (C) 2024.
+
diff --git a/macros/latex/contrib/bib2qr/bib2qr.dtx b/macros/latex/contrib/bib2qr/bib2qr.dtx
new file mode 100644
index 0000000000..980c2002c2
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/bib2qr.dtx
@@ -0,0 +1,594 @@
+% \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
+% README.md
+% bib2qr.dtx
+% bib2qr.ins
+% and the derived files
+% bib2qr.sty
+% bib2qr.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{bib2qr}
+%<package> [2024-07-31 v0.2 Cite BibTeX entries with QR codes]
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage[toc]{multitoc}
+\usepackage{geometry}
+\usepackage{fancyvrb}
+% Declare example reference entries
+\begin{filecontents}[overwrite]{example-references.bib}
+ @software{bib2qr,
+ author = {Schreinemachers, Christian},
+ title = {bib2qr - A LaTeX package for citing BibTeX entries with QR codes},
+ url = {https://codeberg.org/Cs137/bib2qr/releases/tag/v0.2},
+ version = {v0.2},
+ date = {2024-07-31}
+ }
+ @article{Doe2024,
+ author = {Doe, Jane},
+ title = {A comprehensive study on example generation},
+ journal = {Journal of Examples},
+ year = {2024},
+ volume = {42},
+ pages = {1982--2024},
+ doi = {10.1234/example.2024.001}
+ }
+ @article{Mustermann2023,
+ author = {Mustermann, Erika},
+ title = {Limitations in including electronic references in articles},
+ journal = {Journal of Examples},
+ year = {2023},
+ volume = {23},
+ pages = {624--666}
+ }
+\end{filecontents}
+\usepackage[style=authoryear,sorting=none]{biblatex}
+\addbibresource{example-references.bib}
+\usepackage[%
+ pdfusetitle,%
+ hyperindex=false,%
+ pdfsubject={LaTeX package documentation},%
+ pdfkeywords={bib2qr, biblatex, latex, qrcode, documentation}%
+]{hyperref}
+\usepackage{scrextend}
+\usepackage{cleveref}
+\usepackage[qrwidth=1.25cm]{bib2qr}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\DoNotIndex{\begin,\DeclareBibliographyDriver,\DeclareCiteCommand,\DeclareFieldFormat,
+ \DeclareKeys,\dimexpr,\edef,\end,\equal,\fullcite,\hspace,\IfBeginWith,
+ \ifboolexpr,\iffieldundef,\ifthenelse,\linewidth,\multicitedelim,
+ \NewDocumentCommand,\newcommand,\noindent,\par,\parindent,\printfield,
+ \ProcessKeyOptions,\qrcode,\RequirePackage,\relax,\SetKeys,\space,
+ \thefield,\usebibmacro,\usedriver}
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\begin{document}
+ \DocInput{bib2qr.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \pagestyle{headings}
+%
+% \newcommand*{\package}[1]{\textsf{#1}}
+% \newcommand*{\ctanpkg}[1]{\href{https://ctan.org/pkg/#1}{\package{#1}}}
+% \newcommand*{\opt}[1]{\texttt{#1}}
+% \newcommand*{\default}[1]{(default: \opt{#1})}
+%
+%
+% ^^A -----------------------------
+%
+% \changes{v0.2}{2024-07-31}{%
+% Initial release,
+% convert into dtx,
+% add documentation,
+% rename internal macros,
+% add \opt{qrdelimiter} option
+% }
+% \changes{v0.1}{2024/06/16}{Initial version}
+%
+% \GetFileInfo{bib2qr.sty}
+%
+%
+% ^^A -----------------------------
+%
+% \title{The \package{bib2qr} package}
+% \author{Christian Schreinemachers}
+% \date{%
+% Released \filedate\thanks{%
+% \package{bib2qr}~\fileversion
+% ~(\href{https://codeberg.org/Cs137/bib2qr/releases/tag/\fileversion}{source code})}%
+% }
+% \maketitle
+%
+%
+% ^^A -----------------------------
+%
+% \begingroup
+% \hypersetup{
+% linkcolor=.,
+% citecolor=.,
+% urlcolor=.,
+% }
+% \begin{abstract}
+% The \package{bib2qr} package provides functionality to cite BibTeX entries
+% with QR codes for easy sharing and referencing. The target of the QR code
+% is the entry's digital object identifier (DOI), or URL if no DOI exists.
+% It is realised in the \cs{qrcite} macro, via the \LaTeX{} packages
+% \package{biblatex} and \package{qrcode}. In addition to the \cs{qrcite}
+% command, the package contains the \cs{qrfullcite} macro, which requires
+% only a BibTeX key as argument and allows to generate output that might
+% look as follows:\\
+% \textcolor{red}{\qrfullcite[noindent]{bib2qr}}
+% \end{abstract}
+% \endgroup
+%
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% I like to include \href{https://en.wikipedia.org/wiki/QR_code}{quick-response (QR) codes}
+% of references on slides created with \LaTeX{} \ctanpkg{beamer}. Previously,
+% I did this by using the \ctanpkg{qrcode} package and manually declaring the
+% URL of the reference's digital object identifier (DOI). Occasionally, I also
+% add human-readable information generated via \cs{fullcite} from the
+% \ctanpkg{biblatex} package.
+%
+% To avoid manually declaring the URL and calling two separate commands for QR
+% codes and human-readable citations, I developed this \LaTeX{} package. It
+% automates the inclusion of QR codes by a \package{biblatex} bibliography
+% driver\footnote{%
+% \href{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf\#page=166}
+% {\package{biblatex} documentation p.\,166 (v3.20)}%
+% },
+% which uses field formats to display QR codes for the entry's \opt{doi}
+% and \opt{url} fields with the \package{qrcode} package. You can cite any
+% reference from your bibliography with this driver by declaring its \meta{key}
+% to the \cs{qrcite} command. The latter is a cite command\footnote{%
+% \href{http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf\#page=186}%
+% {\package{biblatex} documentation p.\,186 (v3.20)}%
+% \label{biblatexCiteCommand}%
+% },
+% which ensures that any referenced QR code is also listed in the reference list.
+%
+% For the inclusion of both, QR codes and human-readable citation information
+% in a single step, I introduced the \cs{qrfullcite} command. It applies the
+% \cs{qrcite} command and the \cs{fullcite} command from the \package{biblatex}
+% package, ensuring clarity and ease of reference not only on \package{beamer}
+% slides, but 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)}\{bib2qr\}
+% \end{quote}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% In order to change the default behaviour of this package, declare one
+% or more of the options described in this subsection with your desired
+% value.
+%
+% \begin{description}
+%
+% \item[\opt{doiurlbase=\meta{string}}] \default{https://doi.org/}
+% specifies the prefix to convert a DOI string into its URL. If the DOI
+% string starts with \meta{doiurlbase}, it is used as is to generate a
+% QR code. Otherwise, the DOI string is appended to \meta{doiurlbase} to
+% form the DOI's URL, which is then used to generate the QR code.
+% In normal use cases this option does not require any adjustment.
+%
+% \item[\opt{qrdelimiter=\meta{sepcode}}] \default{\cs{space}}
+% specifies the delimiter of QR codes generated by \cs{qrcite} in multicite
+% mode. It is shown between the individual QR codes of multiple references
+% created by \cs{qrcite}\marg{key1,key2,\dots keyN} and \emph{``\dots is
+% arbitrary code to be executed after each iteration...''}\,\footref{biblatexCiteCommand}.
+% The examples shown in this document were generated considering the
+% default \opt{qrdelimiter}.
+%
+% \item[\opt{qrversion=\meta{version specification}}] \default{0}
+% sets the version of the QR code. Consult the \package{qrcode} documentation
+% for details about the \meta{version specification}\footnote{%
+% \href{http://mirrors.ctan.org/macros/latex/contrib/qrcode/qrcode.pdf\#page=3}
+% {\package{qrcode} documentation p.\,3 (v1.51)}%
+% }.
+% The examples shown in this document were generated considering the
+% default \opt{qrversion}.
+%
+% \item[\opt{qrwidth=\meta{dimen}}] \default{2cm}
+% sets the width of the QR code. The value is used to determine the
+% width for the output of the \cs{fullcite} macro and is passed to
+% \package{qrcode} as \opt{height} option. The default value is quite
+% suitable for usage in \LaTeX{} \package{beamer} slides, but in such
+% documents as this one, a smaller width might be desired. The examples
+% shown in this document were generated using \opt{qrwidth=1.25cm}.
+%
+% \end{description}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+% ^^A
+% \subsubsection*{\cs{qrcite}\marg{key(s)}}
+%
+% \DescribeMacro{\qrcite}
+% QR code(s) with a link to the reference's DOI or URL can be generated
+% using the \cs{qrcite} command. The target of the QR code is the entry's
+% DOI converted into a URL, or the URL iteself. In case the BibTeX entry has
+% no DOI and no URL, it does nothing besides raising a warning.
+% ^^A
+% The output for some example entries is shown underneath. If you
+% would like to replicate the examples, you can find the entries
+% sources as \cref{ssec:example_bib}. The colours are defined in the
+% examples, as this functionality is out of scope of the package
+% \package{bib2qr}. Moreover, \package{hyperlink} is configured in such
+% a way that the links in the following examples consider the font colour,
+% usually links would be presented in the colour defined as \opt{linkcolor}.
+%
+% The example displayed in blue was created via \textcolor{blue}{%
+% \cs{qrcite\{bib2qr\}}}. The QR code in red next to it was generated
+% via \textcolor{red}{\cs{qrcite\{Doe2024\}}}. The entry of the latter has a
+% DOI, while the entry of the blue example represents a BibTeX entry without
+% a DOI, but there is a value assigned to its URL field.
+% ^^A
+% The macro \cs{qrcite} is a cite command, thus it can be used to cite multiple
+% references, as shown in black (\cs{qrcite\{bib2qr,Doe2024\}}), and entries
+% cited via \cs{qrcite} are included in the document's bibliography
+% (cf. \cref{ssec:example_ref}).
+%
+% \begingroup
+% \hypersetup{
+% linkcolor=.,
+% citecolor=.,
+% urlcolor=.,
+% }
+%
+% \par\smallskip%
+% \noindent%
+% \textcolor{blue}{\qrcite{bib2qr}}
+% \textcolor{red}{\qrcite{Doe2024}}
+% \qrcite{bib2qr,Doe2024}
+% \par\medskip%
+%
+% \subsubsection*{\cs{qrfullcite}\marg{key}}
+%
+% \DescribeMacro{\qrfullcite}
+% This command displays the QR code of a BibTeX entry's DOI link or URL and
+% a full citation. The QR code is generated by \cs{qrcite} and the full
+% citation by \cs{fullcite}, provided by the package \package{biblatex}.
+% Each output is presented in individual minipages which are placed next to
+% each other, as shown in the examples underneath
+% (\textcolor{blue}{\cs{qrfullcite\{bib2qr\}}},
+% \textcolor{red}{\cs{qrfullcite[noindent]\{Doe2024\}}}).
+%
+% Please note that \cs{qrfullcite} does \textbf{not} support group
+% citations and accepts only a single \meta{key} as argument.
+%
+% \textcolor{blue}{\qrfullcite{bib2qr}}%
+% \medskip%
+% \textcolor{red}{\qrfullcite[noindent]{Doe2024}}%
+% \medskip%
+% \endgroup
+%
+% The output of \cs{qrfullcite} is considered as its own paragraph, thus it
+% may be indented, like in this document (see blue example). You can prevent
+% the latter by providing the \opt{noindent} option when calling the macro,
+% as done in the red example.
+%
+% The first minipage has the width of the package option \opt{qrwidth}
+% and displays the output of \cs{qrcite}\marg{key}. The second minipage
+% occupies the remaining width of \cs{linewidth} considering a gap of
+% \opt{0.5em} and \cs{parindent}, if the latter is not deactivated via the
+% \opt{noindent} option. It shows the output of \cs{fullcite}\marg{key}.
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Hints}
+% ^^A
+% If the \package{hyperref} package is loaded, not only the DOI/URL strings,
+% but also the QR codes are presented as links. It was modified in this
+% document to allow you to distinguish the output of the individual macro calls
+% in a better way. The previous example without any modifications of the
+% document settings and without deactivating the indentation looks as follows:\\
+%
+% \qrfullcite{Doe2024}%
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Known limitations}
+% ^^A
+% In case no QR code can be generated by \cs{qrcite} called via \cs{qrfullcite},
+% the output of \cs{fullcite} is nevertheless indented by the width assigned to
+% the \opt{qrwidth} package option and the length of the gap of \opt{0.5em}),
+% as shown in orange below (\textcolor{orange}{\cs{qrcite\{Mustermann2023\}}}).
+%
+% \textcolor{orange}{\qrfullcite{Mustermann2023}}%
+%
+%
+% ^^A -----------------------------
+%
+% \MaybeStop{
+%
+% \IndexPrologue{%
+% \section{Index}
+% Numbers written in italic refer to the page where the corresponding entry
+% is described; numbers underlined refer to the code line of the definition;
+% numbers in roman refer to the code lines where the entry is used.
+% }
+% \PrintIndex
+%
+% \GlossaryPrologue{%
+% \section{Change History}
+% The changes listed in this section aim to provide a brief overview of the
+% changes introduced into the package \package{bib2qr}. The
+% \href{https://codeberg.org/Cs137/bib2qr/}{package repository on Codeberg}
+% contains a
+% \href{https://codeberg.org/Cs137/bib2qr/src/branch/main/CHANGELOG.md}{changelog file},
+% consult it to read a detailed description of the changes introduced into
+% this package.
+% }
+% \PrintChanges
+%
+% ^^A -----------------------------
+%
+% \newpage
+% \appendix
+%
+% \section{Appendix}
+%
+% The examples presented in this document are based on the
+% BibTeX entries listed in \ref{ssec:example_bib} and result
+% in the bibliography shown as \ref{ssec:example_ref} (\package{biblatex}
+% options: \opt{style=authoryear}, \opt{sorting=none}).
+%
+% \subsection{Example BibTeX entries}
+% \label{ssec:example_bib}
+% \small{%
+% \VerbatimInput[firstline=5]{example-references.bib}
+% }
+%
+% \subsection{Example bibliography}
+% \label{ssec:example_ref}
+% \printbibliography[heading=none]
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{Implementation}
+% ^^A
+%
+% \subsection{Dependencies}
+% ^^A
+% In order to use \package{bib2qr}, the \LaTeX{} packages
+% \ctanpkg{biblatex},
+% \ctanpkg{ifthen},
+% \ctanpkg{qrcode}, and
+% \ctanpkg{xstring}
+% are required as package dependencies.
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+\RequirePackage{biblatex}
+\RequirePackage{ifthen}
+\RequirePackage{qrcode}
+\RequirePackage{xstring}
+% \end{macrocode}
+%
+%
+% \subsection{Options}
+% ^^A
+% The package options are internally available as \cs{@bibiiqr@}\meta{option}.
+% \begin{macrocode}
+\DeclareKeys[@bibiiqr]{
+ doiurlbase.store = \@bibiiqr@doiurlbase,
+ doiurlbase.usage = load,
+ qrdelimiter.store = \@bibiiqr@qrdelimiter,
+ qrdelimiter.usage = load,
+ qrversion.store = \@bibiiqr@qrversion,
+ qrversion.usage = load,
+ qrwidth.store = \@bibiiqr@qrwidth,
+ qrwidth.usage = load,
+}%
+% \end{macrocode}
+%
+% \subsubsection*{Assignement of default values}
+% \begin{macrocode}
+\SetKeys[@bibiiqr]{
+ doiurlbase=https://doi.org/,
+ qrdelimiter=\space,
+ qrversion=0,
+ qrwidth=2cm,
+}%
+% \end{macrocode}
+%
+% \subsubsection*{Processing of package options}
+% \begin{macrocode}
+\ProcessKeyOptions[@bibiiqr]\relax
+% \end{macrocode}
+%
+% \subsection{Macros}
+%
+% \begin{macro}{\@bibiiqr@showqr}
+% \marg{string}\\
+% Display a string as QR code considering the package options \opt{qrversion}
+% and \opt{qrwidth}.
+% \begin{macrocode}
+\newcommand\@bibiiqr@showqr[1]{%
+ \qrcode[height=\@bibiiqr@qrwidth,version=\@bibiiqr@qrversion]{#1}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Field formats}
+%
+% Custom field formats are defined to display a QR code of an entry's
+% \texttt{doi} and \texttt{url}.
+%
+% \begin{macro}{@bibiiqr@fldFmtDoi}
+% Field format to display a DOI field's value (converted into an URL
+% considering the option \opt{@bibiiqr@doiurlbase}) as QR code using
+% macro \cs{@bibiiqr@showqr}.
+% \begin{macrocode}
+\DeclareFieldFormat{@bibiiqr@fldFmtDoi}{%
+ \IfBeginWith{#1}{\@bibiiqr@doiurlbase}%
+ {\@bibiiqr@showqr{#1}}%
+ {\@bibiiqr@showqr{\@bibiiqr@doiurlbase#1}}%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{@bibiiqr@fldFmtUrl}
+% Field format to display an URL field's value as QR code using \cs{@bibiiqr@showqr}.
+% \begin{macrocode}
+\DeclareFieldFormat{@bibiiqr@fldFmtUrl}{\@bibiiqr@showqr{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Bibliography driver}
+%
+% \begin{macro}{@bibiiqr@bibDrvQR}
+% This bibliography driver
+% allows to display the QR code of an entry's DOI-, or URL field.
+% It applies the \cs{printfield}\oarg{format}\marg{field} macro, which is
+% provided by the \package{biblatex} package to displpay a QR code using the
+% \texttt{@bibiiqr@fldFmtDoi} or \texttt{@bibiiqr@fldFmtUrl} field format and
+% the corresponding field, respectively.
+%
+% The DOI is preferred and the URL is only used if no value is assigned to
+% the DOI field. If neither the DOI, nor the URL field contains a value, a
+% package warning is raised.
+%
+% \begin{macrocode}
+\DeclareBibliographyDriver{@bibiiqr@bibDrvQR}{%
+ \usebibmacro{begentry}%
+ \ifboolexpr{test{\iffieldundef{doi}}}
+ {%
+ \ifboolexpr{test{\iffieldundef{url}}}%
+% \end{macrocode}
+% The entry has no DOI and no URL: Raise a warning.
+% \begin{macrocode}
+ {%
+ \PackageWarning{bib2qr}%
+ {BibTeX entry without DOI or URL: \thefield{entrykey}}{}%
+ }%
+% \end{macrocode}
+% The entry has no DOI but an URL: Display the \texttt{url} field's
+% value using the \texttt{@bibiiqr@fldFmtUrl} field format.
+% \begin{macrocode}
+ {\printfield[@bibiiqr@fldFmtUrl]{url}}%
+ }%
+% \end{macrocode}
+% The entry has a DOI: Display the \texttt{doi} field's value using
+% the \texttt{@bibiiqr@fldFmtDoi} field format.
+% \begin{macrocode}
+ {\printfield[@bibiiqr@fldFmtDoi]{doi}}%
+ \usebibmacro{finentry}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Author commands}
+%
+% \begin{macro}{\qrcite}
+% \marg{key(s)}\\
+% Display the QR code of a BibTeX entry's DOI link or URL by introducing the
+% cite command \cs{qrcite}\marg{key}, which makes use of the previously
+% defined bibliography driver \texttt{@bibiiqr@bibDrvQR}. It requires at least
+% one BibTeX \marg{key} as argument.
+% \begin{macrocode}
+\DeclareCiteCommand{\qrcite}
+ {\usebibmacro{prenote}}%
+ {\usedriver{}{@bibiiqr@bibDrvQR}}%
+ {\@bibiiqr@qrdelimiter}%
+ {\usebibmacro{postnote}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\qrfullcite}
+% \changes{v0.2}{2024-07-31}{Add \opt{noindent} option}
+% \oarg{option(s)}\marg{key}\\
+% Display the QR code of a singe BibTeX entry's DOI link or URL and a full
+% citation of it. Specify \opt{noindent} as option, if the output should not
+% be indented.
+% \begin{macrocode}
+\NewDocumentCommand{\qrfullcite}{O{}m}{%
+ \par%
+ \ifthenelse{\equal{#1}{noindent}}{%
+ \noindent%
+ \edef\@bibiiqr@mpiiwidth{\dimexpr\linewidth-\@bibiiqr@qrwidth-0.5em}%
+ }{%
+ \edef\@bibiiqr@mpiiwidth{%
+ \dimexpr\linewidth-\parindent-\@bibiiqr@qrwidth-0.5em}%
+ }%
+ \begin{minipage}[t]{\@bibiiqr@qrwidth}
+ \qrcite{#2}%
+ \end{minipage}
+ \hspace{0.5em}%
+ \begin{minipage}{\@bibiiqr@mpiiwidth}
+ \fullcite{#2}%
+ \end{minipage}
+ \par%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+%</package>
+% \fi
+%
+%
+% ^^A -----------------------------
+%
+% \Finale
+
diff --git a/macros/latex/contrib/bib2qr/bib2qr.ins b/macros/latex/contrib/bib2qr/bib2qr.ins
new file mode 100644
index 0000000000..7894fdb8e3
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/bib2qr.ins
@@ -0,0 +1,85 @@
+%%
+%% 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
+%% README.md
+%% bib2qr.dtx
+%% bib2qr.ins
+%% and the derived files
+%% bib2qr.sty
+%% bib2qr.pdf
+%%
+This work has the LPPL maintenance status `maintained'.
+
+The current maintainer of this work is Christian Schreinemachers.
+
+This work consists of the files
+ README.md
+ bib2qr.dtx
+ bib2qr.ins
+and the derived files
+ bib2qr.sty
+ bib2qr.pdf
+\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
+ bib2qr.dtx
+ bib2qr.ins
+and the derived files
+ bib2qr.sty
+ bib2qr.pdf
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{bib2qr.sty}{\from{bib2qr.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{* bib2qr.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file *}
+\Msg{* bib2qr.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{****************************************************}
+\endbatchfile
+%%
+%% End of file `bib2qr.ins'.
+
diff --git a/macros/latex/contrib/bib2qr/bib2qr.pdf b/macros/latex/contrib/bib2qr/bib2qr.pdf
new file mode 100644
index 0000000000..fb3800eadf
--- /dev/null
+++ b/macros/latex/contrib/bib2qr/bib2qr.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
index a833b32d26..43c1b53163 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
index 142cfe3d76..a089f090f7 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,11 +21,11 @@
\addbibresource{biblatex-ieee.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{The \pkg{ieee-alphabetic} bibliography style for \pkg{biblatex}%
- \footnote{This file describes v1.3f, last revised 2021/12/06.}}
-\date{Released 2021/12/06}
+ \footnote{This file describes v1.3g, last revised 2024/08/14.}}
+\date{Released 2024/08/14}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -55,8 +55,8 @@ of example citations.
\end{document}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
index 733dac91e1..c002a48e2c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright at morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -168,7 +168,7 @@
title = "Modified {TCP} Congestion Avoidance Algorithm",
howpublished = "end2end-interest mailing list",
url = "ftp://ftp.isi.edu/end2end/end2end-interest-1990.mail",
- year = "1990-04"
+ urldate = "1990-04"
}
@@ -249,7 +249,7 @@
institution = "Dept. Elect. Eng., Technion",
location = "Haifa, Israel",
url = "ftp://ftp.technion.ac.il/pub/supported/ee/Network/lor.mopq98.ps",
- year = "1998-07"
+ urldate = "1998-07"
}
@book{IEEEexample:book,
@@ -350,7 +350,7 @@
title = "Cache Array Routing Protocol v1.1",
howpublished = "Internet draft",
url = "http://ds1.internic.net/internet-drafts/draft-vinod-carp-v1-03.txt",
- year = "1998"
+ urldate = "1998"
}
@inproceedings{IEEEexample:confwithpaper,
@@ -386,8 +386,8 @@
}
%%
-%% Copyright (C) 2011-2013,2015-2020 by
-%% Joseph Wright <joseph.wright at morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2020,2024 by
+%% Joseph Wright <joseph@texev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
index c5f85504c6..a16e292683 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
index 734250debf..0a6ec934e4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,11 +21,11 @@
\addbibresource{biblatex-ieee.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{The \pkg{ieee} bibliography style for \pkg{biblatex}%
- \footnote{This file describes v1.3f, last revised 2021/12/06.}}
-\date{Released 2021/12/06}
+ \footnote{This file describes v1.3g, last revised 2024/08/14.}}
+\date{Released 2024/08/14}
\providecommand*{\opt}[1]{\texttt{#1}}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -61,6 +61,19 @@ The style adds the \opt{dashed} option to those recognised: as-standard,
this is activated. The option works in the same way as that from the
core \pkg{biblatex} style \pkg{author-year}.
+As-standard, citations are compressed. If you do no wish to have compressed
+citations, add
+\begin{verbatim}
+\DeclareCiteCommand{\cite}
+ {\bibopenbracket\usebibmacro{prenote}}
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}\bibclosebracket}
+\renewcommand*\multicitedelim{\bibclosebracket\addcomma \space\bibopenbracket}
+\end{verbatim}
+after loading \pkg{biblatex}.
+
The appearance of URLs in the bibliography is set by the mechanism of the
\textsf{url} package. Thus to print URLs in the current roman font,
place the instruction
@@ -73,7 +86,9 @@ immediately before
\end{verbatim}
Control of the exact information in dates is best achieved by using the
-\cs{AtEveryCite} command with appropriate data manipulation.
+\cs{AtEveryCite} command with appropriate data manipulation. In particular,
+if your database includes full dates, you will likely want to drop these
+for most periodicals using \cs{clearfield}
Also include in the bundle is a style using alphabetic labels, but otherwise
following the guidelines of the \textsc{ieee}. This style should be loaded
@@ -88,8 +103,8 @@ Suggestions for improvement and bug reports can be logged in the package
issue database, found at
\url{https://github.com/josephwright/biblatex-ieee/issues/}, or can
be sent by e-mail to
-\href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}.
+\href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}.
\nocite{*}
\printbibliography
@@ -149,14 +164,16 @@ be sent by e-mail to
\changes{v1.3f}{2021/03/30}{Use \texttt{false} as the default for \texttt{dashed} setting}
\changes{v1.3f}{2021/04/12}{Fix brackets in \cs{supercite}}
\changes{v1.3f}{2021/12/01}{Adjust printing of series for books}
+\changes{v1.3g}{2024/08/14}{Print separator between journal title and subtitle}
+\changes{v1.3g}{2024/08/14}{Correct formatting of URL for online entries}
\PrintChanges
\end{document}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
index ff82f97f55..8f4e1bea05 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
@@ -2,13 +2,13 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee-alphabetic.bbx}[2021/12/06 v1.3f biblatex bibliography style]
+\ProvidesFile{ieee-alphabetic.bbx}[2024/08/14 v1.3g biblatex bibliography style]
\RequireBibliographyStyle{ieee}
@@ -53,8 +53,8 @@
{\item}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
index 302517b02e..d28449741b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
@@ -2,13 +2,13 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee-alphabetic.cbx}[2021/12/06 v1.3f biblatex citation style]
+\ProvidesFile{ieee-alphabetic.cbx}[2024/08/14 v1.3g biblatex citation style]
\RequireCitationStyle{alphabetic}
@@ -45,8 +45,8 @@
}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
index 77a8b6794d..088064d1f3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
@@ -2,13 +2,13 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee.bbx}[2021/12/06 v1.3f biblatex bibliography style]
+\ProvidesFile{ieee.bbx}[2024/08/14 v1.3g biblatex bibliography style]
% Load the standard style to avoid copy-pasting unnecessary material
\RequireBibliographyStyle{numeric-comp}
@@ -30,6 +30,7 @@
maxbibnames = 6,
sorting = none,
dashed = false,
+ urldate = long,
}
\uspunctuation
@@ -50,6 +51,7 @@
{\bibstring{jourser}\addnbspace#1}
\DeclareFieldFormat[online,report]{title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}
+\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
\DeclareFieldFormat*{volume}
{\bibstring{volume}\addnbspace#1}
\DeclareFieldFormat[article,periodical]{volume}
@@ -76,6 +78,7 @@
presentedat = presented at the\addspace ,
techreport = Tech\adddot\addspace Rep\adddot ,
url = [Online]\adddot\addspace Available ,
+ urlseen = Accessed\addcolon
}
\DefineBibliographyStrings{english}{
@@ -210,6 +213,7 @@
{%
\printtext[journaltitle]{%
\printfield[titlecase]{journaltitle}%
+ \setunit{\subtitlepunct}%
\printfield[titlecase]{journalsubtitle}%
}%
}%
@@ -331,6 +335,17 @@
\printfield{titleaddon}%
}
+\renewbibmacro*{url+urldate}{%
+ \usebibmacro{urldate}%
+ \setunit{\adddot\space}%
+ \usebibmacro{url}%
+}
+
+\renewbibmacro*{urldate}{%
+ \printurldate
+ \newunit
+ }
+
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\newunit
@@ -713,7 +728,6 @@
{\usebibmacro{eprint}}
{}%
\setunit{\adddot\addspace}%
- \printtext[parens]{\usebibmacro{date}}%
\newunit\newblock
\usebibmacro{url+urldate}%
\setunit{\adddot\addspace}%
@@ -802,8 +816,8 @@
\usebibmacro{finentry}}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
index 877d645053..4b1886683f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
@@ -2,19 +2,19 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee.cbx}[2021/12/06 v1.3f biblatex citation style]
+\ProvidesFile{ieee.cbx}[2024/08/14 v1.3g biblatex citation style]
\RequireCitationStyle{numeric-comp}
\ExecuteBibliographyOptions{
- maxcitenames = 3,
- minnames = 3,
+ maxcitenames = 2,
+ minnames = 1,
sorting = none
}
@@ -122,8 +122,8 @@
{}}}
%%
-%% Copyright (C) 2011-2013,2015-2021 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2021,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
index 79ffd21ce9..33e88122fd 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
@@ -2,7 +2,7 @@
%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright at morningstar2.co.uk
+%% E-mail: jsoeph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -34,8 +34,8 @@
}
%%
-%% Copyright (C) 2011-2013,2015-2020 by
-%% Joseph Wright <joseph.wright at morningstar2.co.uk>
+%% Copyright (C) 2011-2013,2015-2020,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib
index 3f6af13bdd..6f0f9b5281 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.bib
@@ -71,20 +71,20 @@
issue = {25},
pages = {254504},
year = {2008},
- month = {Jun},
+ month = jun,
publisher = {American Physical Society},
doi = {10.1103/PhysRevLett.100.254504},
}
@Book{Augustine1995,
hyphenation = {american},
- author = {Augustine, Robert L.},
+ author = {Augustine, Robert L.},
title = {Heterogeneous Catalysis for the Synthetic
Chemist},
shorttitle = {Heterogeneous catalysis},
publisher = {Marcel Dekker},
location = {New York},
- date = {1995},
+ date = {1995},
}
@Article{Booth1962,
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf
index 16758e75a7..e7e9e05d58 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex
index 89550aed25..7224b722af 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/biblatex-phys.tex
@@ -2,7 +2,7 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
@@ -21,12 +21,12 @@
\addbibresource{biblatex-phys.bib}
\author{Joseph Wright\thanks{E-mail:
- \href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}}}
+ \href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}}}
\title{\pkg{biblatex-phys} -- A \pkg{biblatex} implementation of the
\textsc{aip} and \textsc{aps} bibliography style%
- \footnote{This file describes v1.1b, last revised 2019/12/03.}}
-\date{Released 2019/12/03}
+ \footnote{This file describes v1.1c, last revised 2024/07/26.}}
+\date{Released 2024/07/26}
\providecommand*{\opt}[1]{\texttt{#1}}
\providecommand*{\pkg}[1]{\textsf{#1}}
@@ -49,12 +49,12 @@ in the usual way
\end{verbatim}
Load-time options are provided to deal with the small number of variations
between the \textsc{aip} and \textsc{aps} styles.
-The References section of this document demonstrates the format
+The References section of this document demonstrates the format
generated by the package using the \texttt{biblatex-phys.bib} database
of example citations.
The styles use the standard \pkg{biblatex} database requirements. This means
-that a database designed for traditional \pkg{biblatex} use may need some
+that a database designed for traditional \BibTeX{} use may need some
editing for optimal output. The accompanying example database
\texttt{biblatex-phys.bib} shows examples of all of the supported entry types
with common fields filled in.
@@ -69,13 +69,13 @@ seen between the \textsc{aip} and \textsc{aps} styles.
\DescribeOption{eprint}
\DescribeOption{isbn}
\DescribeOption{url}
-The standard style options \opt{doi}, \opt{eprint} \opt{isbn} and
-\opt{eprint}, as described in the \pkg{biblatex} manual. However, these
+The standard style options \opt{doi}, \opt{eprint}, \opt{isbn} and
+\opt{url}, as described in the \pkg{biblatex} manual. However, these
options are turned off as standard by the \pkg{phys} style. This reflects the
fact that these entries may be present in reference databases but are not
generally included in published bibliographies. Note that \textsc{doi} values
-are printed for journal articles with no pages given, even if the \opt{doi}
-option is \opt{false}.
+are printed for journal articles with no pages or eid given, even if the
+\opt{doi} option is \opt{false}.
\DescribeOption{subentry}
In common with the standard \pkg{biblatex} numeric styles, all of the styles
@@ -93,7 +93,7 @@ patents, which are treated in the same way.)
\DescribeOption{biblabel}
The format of the numbers used in the bibliography (the \enquote{bibliography
-label}) varies. he \opt{biblabel} option allows the user to easily set the
+label}) varies. The \opt{biblabel} option allows the user to easily set the
format used. This option takes a values \opt{superscript} (the standard
setting) and \opt{brackets}.
@@ -146,7 +146,7 @@ command may be used to alter this, either for the whole document or only
for the bibliography, for example by using
\begin{verbatim}
\AtBeginBibliography{%
- \urlstyle{rm}%
+ \urlstyle{same}%
}
\end{verbatim}
@@ -164,8 +164,8 @@ Suggestions for improvement and bug reports can be logged in the package issue
database, found at
\url{https://github.com/josephwright/biblatex-phys/issues}, or can
be sent by e-mail to
-\href{mailto:joseph.wright@morningstar2.co.uk}
- {\texttt{joseph.wright@morningstar2.co.uk}}.
+\href{mailto:joseph@texdev.net}
+ {\texttt{joseph@texdev.net}}.
\nocite{*}
@@ -208,8 +208,8 @@ be sent by e-mail to
\end{document}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018-2020,2022,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
index 442f4feae5..336f90e547 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.bbx
@@ -2,13 +2,13 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{phys.bbx}[2019/12/03 v1.1b biblatex bibliography style]
+\ProvidesFile{phys.bbx}[2024/07/26 v1.1c biblatex bibliography style]
% Load the standard style to avoid copy-pasting unnecessary material
\RequireBibliographyStyle{numeric-comp}
@@ -464,14 +464,15 @@
\printfield{pages}%
\iffieldundef{pages}
{%
- \printfield{doi}%
- \clearfield{doi}%
- }%
- {%
- \iftoggle{bbx:doi}
- {}
- {\clearfield{doi}}%
- }%
+ \iffieldundef{eid}
+ {%
+ \iftoggle{bbx:doi}
+ {}
+ {\printfield{doi}}%
+ }
+ {}%
+ }
+ {}%
}
\newbibmacro*{related:translatedas}[1]{%
@@ -495,8 +496,8 @@
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018-2020,2023,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx
index 7758bc0a2b..4452bd7113 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.cbx
@@ -2,13 +2,13 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{phys.cbx}[2019/12/03 v1.1b biblatex citation style]
+\ProvidesFile{phys.cbx}[2024/07/26 v1.1c biblatex citation style]
\RequireCitationStyle{numeric-comp}
@@ -20,8 +20,8 @@
}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018,2019,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx
index c47ca1e2d9..388e7ee435 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-phys/phys.dbx
@@ -2,19 +2,19 @@
%% biblatex-phys --- A biblatex implementation of the AIP and APS
%% bibliography style
%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
+%% E-mail: joseph@texdev.net
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesFile{phys.dbx}[2019/12/03 v1.1b biblatex database model extension]
+\ProvidesFile{phys.dbx}[2024/07/26 v1.1c biblatex database model extension]
\DeclareDatamodelFields[type=field, datatype=literal]{collaboration}
%%
-%% Copyright (C) 2012-2014,2016,2018,2019 by
-%% Joseph Wright <joseph.wright@morningstar2.co.uk>
+%% Copyright (C) 2012-2014,2016,2018,2019,2024 by
+%% Joseph Wright <joseph@texdev.net>
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/bmstu-iu8/README.md b/macros/latex/contrib/bmstu-iu8/README.md
index 3deb2658c2..485014041c 100644
--- a/macros/latex/contrib/bmstu-iu8/README.md
+++ b/macros/latex/contrib/bmstu-iu8/README.md
@@ -1,6 +1,6 @@
# IU8 package
-Version: v1.2 (released 13.06.2021).
+Version: v1.3 (released 17.08.2024).
This package consist of class file and style files for writing
reports at the IU8 department of IU faculty of BMSTU
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf b/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
index 26654efeff..b0d4cc2ea7 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
index e50cde4c75..17c168f9f2 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/BMSTU-IU8.cls
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{BMSTU-IU8}[2020/06/01 IU8 class]
+\ProvidesClass{BMSTU-IU8}[2024/08/17 IU8 class]
\LoadClass{article}
@@ -26,28 +26,28 @@
\RequirePackage[russian]{babel}
\RequirePackage{hyphsubst}
-\RequirePackage{01-IU8-base}
-\RequirePackage{02-IU8-construction}
-\RequirePackage{03-IU8-numbering}
-\RequirePackage{04-IU8-section-numbering}
-\RequirePackage{05-IU8-figures}
-\RequirePackage{06-IU8-tables}
-\RequirePackage{07-IU8-footnotes}
-\RequirePackage{08-IU8-formulas}
-\RequirePackage{09-IU8-cites}
-\RequirePackage{10-IU8-titlepage}
-\RequirePackage{11-IU8-performers}
-\RequirePackage{12-IU8-abstract}
-\RequirePackage{13-IU8-contents}
-\RequirePackage{14-IU8-terms-and-definitions}
-\RequirePackage{15-IU8-list-of-abbreviations}
-\RequirePackage{16-IU8-references}
-\RequirePackage{17-IU8-appendices}
-\RequirePackage{18-IU8-extra}
-\RequirePackage{19-IU8-counters}
-\RequirePackage{20-IU8-listing}
-\RequirePackage{21-IU8-math}
-\RequirePackage{22-IU8-algorithms}
+\RequirePackage{IU8-01-base}
+\RequirePackage{IU8-02-construction}
+\RequirePackage{IU8-03-numbering}
+\RequirePackage{IU8-04-section-numbering}
+\RequirePackage{IU8-05-figures}
+\RequirePackage{IU8-06-tables}
+\RequirePackage{IU8-07-footnotes}
+\RequirePackage{IU8-08-formulas}
+\RequirePackage{IU8-09-cites}
+\RequirePackage{IU8-10-titlepage}
+\RequirePackage{IU8-11-performers}
+\RequirePackage{IU8-12-abstract}
+\RequirePackage{IU8-13-contents}
+\RequirePackage{IU8-14-terms-and-definitions}
+\RequirePackage{IU8-15-list-of-abbreviations}
+\RequirePackage{IU8-16-references}
+\RequirePackage{IU8-17-appendices}
+\RequirePackage{IU8-18-extra}
+\RequirePackage{IU8-19-counters}
+\RequirePackage{IU8-20-listing}
+\RequirePackage{IU8-21-math}
+\RequirePackage{IU8-22-algorithms}
\RequirePackage{csquotes}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt
new file mode 100644
index 0000000000..8176df3e7e
--- /dev/null
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/DEPENDS.txt
@@ -0,0 +1,38 @@
+algorithm2e
+amscls
+anyfontsize
+babel
+bookmark
+tools
+caption
+chngcntr
+csquotes
+enumitem
+fancyhdr
+float
+geometry
+glossaries
+glossaries-extra
+graphics
+oberdiek
+lastpage
+lineno
+listings
+multirow
+nowidow
+koma-script
+setspace
+fontspec
+stackengine
+tabto-ltx
+titlesec
+totcount
+ulem
+xassoccnt
+xcolor
+xltabular
+xstring
+ltablex # Here (and below) go some dependencies of dependencies
+biblatex
+ifoddpage
+relsize
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-01-base.sty
index f3df2d3f5e..c51f336b7c 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/01-IU8-base.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-01-base.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{01-IU8-base}[2021/03/21 v1.2 Общие требованиÑ]
+\ProvidesPackage{IU8-01-base}[2024/08/17 v1.3 Общие требованиÑ]
% 6.1.1 Изложение текÑта и оформление отчета выполнÑÑŽÑ‚ в ÑоответÑтвии Ñ
% требованиÑми наÑтоÑщего Ñтандарта. Страницы текÑта отчета о ÐИР и включенные в
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-02-construction.sty
index b94615c003..0c684a5700 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/02-IU8-construction.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-02-construction.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{02-IU8-construction}[2021/03/21 v1.2 ПоÑтроение отчета]
+\ProvidesPackage{IU8-02-construction}[2024/08/17 v1.3 ПоÑтроение отчета]
% 6.2.1 ÐÐ°Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтруктурных Ñлементов отчета:
% "СПИСОК ИСПОЛÐИТЕЛЕЙ", % у Ð½Ð°Ñ Ð½Ðµ иÑпользуетÑÑ
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-03-numbering.sty
index b8696c01f3..3d0bb94e9f 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/03-IU8-numbering.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-03-numbering.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{03-IU8-numbering}[2021/03/21 v1.2 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраниц отчета]
+\ProvidesPackage{IU8-03-numbering}[2024/08/17 v1.3 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраниц отчета]
% 6.3.1 Страницы отчета Ñледует нумеровать арабÑкими цифрами, ÑÐ¾Ð±Ð»ÑŽÐ´Ð°Ñ Ñквозную
% нумерацию по вÑему текÑту отчета, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. Ðомер Ñтраницы
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-04-section-numbering.sty
index 839c34816e..af812f5855 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/04-IU8-section-numbering.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-04-section-numbering.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{04-IU8-section-numbering}[2021/03/21 v1.2 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð², подразделов, пунктов, подпунктов и книг отчета]
+\ProvidesPackage{IU8-04-section-numbering}[2024/08/17 v1.3 ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¾Ð², подразделов, пунктов, подпунктов и книг отчета]
% 6.4.1 Разделы должны иметь порÑдковые номера в пределах вÑего отчета,
% обозначенные арабÑкими цифрами без точки и раÑположенные Ñ Ð°Ð±Ð·Ð°Ñ†Ð½Ð¾Ð³Ð¾ отÑтупа.
@@ -10,7 +10,7 @@
% подразделы, могут ÑоÑтоÑÑ‚ÑŒ из одного или неÑкольких пунктов.
% Это наÑтройка по умолчанию, так что её не менÑÑŽ
-% Про абзацный отÑтуп учетно в 02-IU8-construction
+% Про абзацный отÑтуп учетно в IU8-02-construction
% 6.4.2 ЕÑли отчет не имеет подразделов, то Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð² в нем должна
% быть в пределах каждого раздела и номер пункта должен ÑоÑтоÑÑ‚ÑŒ из номеров
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-05-figures.sty
index 7210da5245..4ccda32cda 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/05-IU8-figures.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-05-figures.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{05-IU8-figures}[2021/03/21 v1.2 ИллюÑтрации]
+\ProvidesPackage{IU8-05-figures}[2024/08/17 v1.3 ИллюÑтрации]
% 6.5.1 ИллюÑтрации (чертежи, графики, Ñхемы, компьютерные раÑпечатки, диаграммы,
% фотоÑнимки) Ñледует раÑполагать в отчете непоÑредÑтвенно поÑле текÑта отчета,
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-06-tables.sty
index eedb9d94df..705924bd99 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/06-IU8-tables.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-06-tables.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{06-IU8-tables}[2021/03/21 v1.2 Таблицы]
+\ProvidesPackage{IU8-06-tables}[2024/08/17 v1.3 Таблицы]
% Пакеты, которые Ñкорее вÑего пригодÑÑ‚ÑÑ
\RequirePackage{tabularx}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-07-footnotes.sty
index 689cdd0337..9efd173fb0 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/07-IU8-footnotes.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-07-footnotes.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{07-IU8-footnotes}[2021/03/21 v1.2 ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¸ ÑноÑки]
+\ProvidesPackage{IU8-07-footnotes}[2024/08/17 v1.3 ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¸ ÑноÑки]
% 6.7.1 ÐŸÑ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð²Ð¾Ð´ÑÑ‚ в отчете, еÑли необходимы поÑÑÐ½ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ñправочные
% данные к Ñодержанию текÑта, таблиц или графичеÑкого материала.
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-08-formulas.sty
index aa65770e77..cfe0b98dbd 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/08-IU8-formulas.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-08-formulas.sty
@@ -1,5 +1,5 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{08-IU8-formulas}[2021/03/21 v1.2 Формулы]
+\ProvidesPackage{IU8-08-formulas}[2024/08/17 v1.3 Формулы]
% ÐаÑтройки по умолчанию в целом ÑоответÑтвуют ГОСТ \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-09-cites.sty
index 651f2a3e4e..6d070074b3 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/09-IU8-cites.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-09-cites.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{09-IU8-cites}[2021/03/21 v1.2 СÑылки]
+\ProvidesPackage{IU8-09-cites}[2024/08/17 v1.3 СÑылки]
% 6.9.1 Ð’ отчете о ÐИР рекомендуетÑÑ Ð¿Ñ€Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ ÑÑылки на иÑпользованные
% иÑточники. При нумерации ÑÑылок на документы, иÑпользованные при ÑоÑтавлении
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-10-titlepage.sty
index e9834bc07b..97fc11ecc5 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/10-IU8-titlepage.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-10-titlepage.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{10-IU8-titlepage}[2021/03/21 v1.2 Титульный лиÑÑ‚]
+\ProvidesPackage{IU8-10-titlepage}[2024/08/17 v1.3 Титульный лиÑÑ‚]
% ÐŸÐ¾Ð»Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð’ÐšÐ 
\def\student#1{\gdef\@student{#1}}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-11-performers.sty
index 14b659de63..e628023df4 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/11-IU8-performers.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-11-performers.sty
@@ -1,5 +1,5 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{11-IU8-performers}[2021/03/21 v1.2 СпиÑок иÑполниетелей]
+\ProvidesPackage{IU8-11-performers}[2024/08/17 v1.3 СпиÑок иÑполниетелей]
% Т.к. у Ð½Ð°Ñ Ñто не иÑпользуетÑÑ, Ñ Ð¾ÑтавлÑÑŽ Ñто пуÑтымы \ No newline at end of file
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-12-abstract.sty
index 946d3360bc..c1e1a6dc86 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/12-IU8-abstract.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-12-abstract.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{12-IU8-abstract}[2021/03/21 v1.2 Реферат]
+\ProvidesPackage{IU8-12-abstract}[2024/08/17 v1.3 Реферат]
% 6.12.1 Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± общем объеме отчета, количеÑтве книг отчета, иллюÑтраций,
% таблиц, иÑпользованных иÑточников, приложений ÑвлÑÑŽÑ‚ÑÑ Ð¿ÐµÑ€Ð²Ð¾Ð¹ компонентой
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-13-contents.sty
index bf51955ac0..3bd4e67716 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/13-IU8-contents.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-13-contents.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{13-IU8-contents}[2021/03/21 v1.2 Содержание]
+\ProvidesPackage{IU8-13-contents}[2024/08/17 v1.3 Содержание]
% Каждую запиÑÑŒ ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÑÑŽÑ‚ как отдельный абзац, выровненный влево.
% Ðомера Ñтраниц указывают выровненными по правому краю Ð¿Ð¾Ð»Ñ Ð¸ ÑоединÑÑŽÑ‚
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-14-terms-and-definitions.sty
index e3e15e2d2e..8378ff2826 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/14-IU8-terms-and-definitions.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-14-terms-and-definitions.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{14-IU8-terms-and-definitions}[2021/03/21 v1.2 Содержание]
+\ProvidesPackage{IU8-14-terms-and-definitions}[2024/08/17 v1.3 Содержание]
\RequirePackage[
acronym,
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-15-list-of-abbreviations.sty
index d8345fdd1f..49a5aeb8aa 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/15-IU8-list-of-abbreviations.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-15-list-of-abbreviations.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{15-IU8-list-of-abbreviations}[2021/03/21 v1.2 Содержание]
+\ProvidesPackage{IU8-15-list-of-abbreviations}[2024/08/17 v1.3 Содержание]
\RequirePackage[abbreviations]{glossaries-extra}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-16-references.sty
index 7a51a9235a..7e7fd9d347 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/16-IU8-references.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-16-references.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{16-IU8-references}[2021/03/21 v1.2 СпиÑок иÑпользованных иÑточников]
+\ProvidesPackage{IU8-16-references}[2024/08/17 v1.3 СпиÑок иÑпользованных иÑточников]
% Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± иÑточниках Ñледует раÑполагать в порÑдке поÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÑылок на
% иÑточники в текÑте отчета и нумеровать арабÑкими цифрами Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и печатать
@@ -16,3 +16,6 @@
\addto{\captionsrussian}{%
\renewcommand{\contentsname}{СОДЕРЖÐÐИЕ}
}
+
+% Специально изменим шрифт Ð´Ð»Ñ URL, чтобы он ÑоответÑвовал ГОСТ и оÑтальному текÑту документа
+\renewcommand{\UrlFont}{\normalfont}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-17-appendices.sty
index 025e70b5c8..e89c637ec6 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/17-IU8-appendices.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-17-appendices.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{17-IU8-appendices}[2021/03/21 v1.2 ПриложениÑ]
+\ProvidesPackage{IU8-17-appendices}[2024/08/17 v1.3 ПриложениÑ]
\newcommand{\appendixsection}[1]{
\stepcounter{apps}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-18-extra.sty
index 6fb1570340..44e932a3e9 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/18-IU8-extra.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-18-extra.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{18-IU8-extra}[2021/03/21 v1.2 Разные улучшениÑ]
+\ProvidesPackage{IU8-18-extra}[2024/08/17 v1.3 Разные улучшениÑ]
\RequirePackage{graphicx}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-19-counters.sty
index 991f9f4d43..c5e7d80136 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/19-IU8-counters.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-19-counters.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{19-IU8-counters}[2021/03/21 v1.2 Счётчики]
+\ProvidesPackage{IU8-19-counters}[2024/08/17 v1.3 Счётчики]
\RequirePackage{calc}
\RequirePackage{xassoccnt}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-20-listing.sty
index c90194a1d2..22dd68b97b 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/20-IU8-listing.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-20-listing.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{20-IU8-listing}[2021/03/21 v1.2 ЛиÑтинги]
+\ProvidesPackage{IU8-20-listing}[2024/08/17 v1.3 ЛиÑтинги]
\RequirePackage{listings}
\RequirePackage{xcolor}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-21-math.sty
index b60a4fd6d2..b72be1370c 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/21-IU8-math.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-21-math.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{21-IU8-math}[2021/03/21 v1.2 Математика]
+\ProvidesPackage{IU8-21-math}[2024/08/17 v1.3 Математика]
\RequirePackage{amsthm}
\theoremstyle{definition}
diff --git a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-22-algorithms.sty
index f3fdcee25e..5cf8831462 100644
--- a/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/22-IU8-algorithms.sty
+++ b/macros/latex/contrib/bmstu-iu8/bmstu-iu8/styles/IU8-22-algorithms.sty
@@ -1,6 +1,6 @@
% Author: CatInCosmicSpace
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{22-IU8-algorithms}[2021/03/21 v1.2 Ðлгоритмы]
+\ProvidesPackage{IU8-22-algorithms}[2024/08/17 v1.3 Ðлгоритмы]
\RequirePackage[linesnumbered,boxruled]{algorithm2e}
\SetAlCapSty{}
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..ea1a7e4ee1 100644
--- a/macros/latex/contrib/bxpdfver/README-ja.md
+++ b/macros/latex/contrib/bxpdfver/README-ja.md
@@ -43,16 +43,20 @@ bxpdfver パッケージ
* `objcompress`(既定): オブジェクトストリームã®ä½¿ç”¨ã‚’抑止ã—ãªã„。
* ドライãƒã‚ªãƒ—ション: 以下ã®é€šã‚Šã€‚ãªãŠã€å¾Œè¿°ã®ã€Œãƒ‰ãƒ©ã‚¤ãƒæŒ‡å®šã€ã®
節もå‚ç…§ã•ã‚ŒãŸã„。
- + PDF 出力ã®ã‚¨ãƒ³ã‚¸ãƒ³ã®å ´åˆã¯ã€æ—¢å®šã§é©åˆ‡ãªãƒ‰ãƒ©ã‚¤ãƒãŒé¸æŠžã•ã‚Œã‚‹
+ + LaTeX ã®æ–° PDF マãƒã‚¸ãƒ¡ãƒ³ãƒˆãŒæœ‰åŠ¹åŒ–ã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã€è‡ªå‹•çš„ã«
+ “latex-pdfâ€ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ã‚る。ドライãƒã‚ªãƒ—ションã¯ä¸è¦ã§ã‚る。
+ + PDF 出力ã®ã‚¨ãƒ³ã‚¸ãƒ³ã®å ´åˆã¯ã€è‡ªå‹•çš„ã«é©åˆ‡ãªãƒ‰ãƒ©ã‚¤ãƒãŒé¸æŠžã•ã‚Œã‚‹
ã®ã§ãƒ‰ãƒ©ã‚¤ãƒã‚ªãƒ—ションã¯ä¸è¦ã§ã‚る。
+ `dvipdfmx`: dvipdfmx 用ã®ãƒ‰ãƒ©ã‚¤ãƒã‚’指定ã™ã‚‹ã€‚
+ `nodvidriver`ï¼`disabled`: å…¨ã¦ã®æ©Ÿèƒ½ã‚’無効化ã™ã‚‹ã€‚
※ã“ã®å ´åˆ `lenient+` ãŒæ—¢å®šã«ãªã‚‹ã€‚
+ + `ignorepdfmanagement`: “latex-pdfâ€ãƒ¢ãƒ¼ãƒ‰ã¸ã®åˆ‡æ›¿ã‚’抑止ã™ã‚‹ã€‚
* `lenient`: サãƒãƒ¼ãƒˆã—ãªã„機能ã«å¯¾ã™ã‚‹ã‚¨ãƒ©ãƒ¼ã‚’警告ã«æ ¼ä¸‹ã’ã™ã‚‹ã€‚
* `lenient+`: サãƒãƒ¼ãƒˆã—ãªã„機能ã«å¯¾ã™ã‚‹ã‚¨ãƒ©ãƒ¼ã‚’完全ã«æŠ‘æ­¢ã™ã‚‹ã€‚
* `nolenient`(既定): `lenient(+)` ã®å¦å®šã€‚
* `new-dvipdfmx`: dvipdfmx ã«å¯¾ã™ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³æ¤œæŸ»ã‚’çœç•¥ã—ã€å¸¸ã«æœ€æ–°ã®
- ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã‚‹ã¨ä»®å®šã™ã‚‹ã€‚
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã‚ã‚‹ã¨ä»®å®šã™ã‚‹ã€‚
+ ※ドライãƒã‚ªãƒ—ション㌠`dvipdfmx` ã«å¤‰æ›´ã•ã‚Œã‚‹ã€‚
`compress`ã€`objcompress` ã¯ã“ã®ãƒ‘ッケージã«ã‚ˆã‚‹æŠ‘止を行ã‚ãªã„ã¨ã„ã†æ„味
ã§ã‚ã‚Šã€æ—¢ã«æŠ‘æ­¢ã•ã‚Œã¦ã„ã‚‹å ´åˆã«ãれをå†ã³æœ‰åŠ¹åŒ–ã™ã‚‹ã‚‚ã®ã§ã¯ãªã„。
@@ -72,41 +76,61 @@ bxpdfver パッケージ
* `\preservepdfdestinations`: PDF 目的地(PDF destination)ã®åå‰ã®
短縮を抑止ã—ã€TeX 文書ã§æŒ‡å®šã•ã‚ŒãŸåå‰ã‚’用ã„る。異ãªã‚‹ PDF 文書間ã§
ã®ãƒªãƒ³ã‚¯ã‚’正常ã«æ©Ÿèƒ½ã•ã›ã‚‹ãŸã‚ã«å¿…è¦ã§ã‚る。
+ * `\setpdfpkresolution{<解åƒåº¦>}`: PDF ã«åŸ‹ã‚è¾¼ã¾ã‚Œã‚‹ PK フォントã®
+ 解åƒåº¦ï¼ˆdpi 値)を指定ã™ã‚‹ã€‚
### ドライãƒæŒ‡å®šã«é–¢ã™ã‚‹è£œè¶³
\ Drivers (engines) pdfTeX dvipdfmx
- Features / LuaTeX / XeTeX others
- --------------------------- --------- --------- ------
- \setpdfversion Yes Yes No
- \suppresspdfcompression Yes Maybe(*2) No
- \suppresspdfobjcompression Yes Maybe(*2) No
+ Features / LuaTeX / XeTeX latex-pdf
+ --------------------------- --------- --------- ---------
+ \setpdfversion Yes Yes Yes
+ \suppresspdfcompression Yes Maybe(*2) Yes(*4)
+ \suppresspdfobjcompression Yes Maybe(*2) Yes(*4)
\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 以上ã§ã‚ã‚‹å¿…è¦ãŒã‚る。
+ 4. `\suppresspdfcompression` 㨠`\suppresspdfobjcompression` ã«ã¤ã„ã¦ã¯
+ 一方を実行ã™ã‚‹ã¨ä»–方も自動的ã«æœ‰åŠ¹ã«ãªã‚‹ã€‚l3pdf モジュールã§ç‰‡æ–¹ã®ã¿
+ を有効化ã™ã‚‹ã“ã¨ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œãªã„ã‹ã‚‰ã§ã‚る。
+
+dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã«ã¤ã„ã¦ï¼š
+
+ - å¿…è¦ãŒç”Ÿã˜ãŸå ´åˆã«ã®ã¿ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šãŒå®Ÿè¡Œã•ã‚Œã‚‹ã€‚
+ - `new-dvipdfmx` オプションを指定ã—ãŸå ´åˆã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã‚’å…¨ã¦
+ çœç•¥ã—ãŸä¸Šã§ã€æœ€æ–°ã® dvipdfmx を使用ã—ã¦ã„ã‚‹ã¨è¦‹ãªã™ã€‚
+ - ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã®ãŸã‚ã« kpsewhich 㨠extractbb ã®èµ·å‹•ã‚’利用ã™ã‚‹ãŸã‚ã€
+ å°‘ãªãã¨ã‚‚ã“れらã®ãƒ—ログラムã«ã¤ã„ã¦ã€ã‚·ã‚§ãƒ«å®Ÿè¡ŒãŒè¨±å¯ã•ã‚Œã¦ã„ã‚‹
+ å¿…è¦ãŒã‚る。
+ - ãƒãƒ¼ã‚¸ãƒ§ãƒ³åˆ¤å®šã¯å°‘ã—時間ãŒã‹ã‹ã‚‹ãŸã‚ã€dvipdfmx ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã¯
+ 補助ファイル(.aux)中ã«ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã‚‹ã€‚ã“ã®ãŸã‚ã€ä½•ã‹çŠ¶æ³ãŒå¤‰åŒ–
+ ã—ãŸå ´åˆã¯ã€ä¸€æ—¦è£œåŠ©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã™ã‚‹å¿…è¦ãŒç”Ÿã˜ã‚‹ã€‚
以下ã®ã“ã¨ã«ã‚‚注æ„ã•ã‚ŒãŸã„。
- * 使用ä¸å¯èƒ½ãªæ©Ÿèƒ½ã‚’使ãŠã†ã¨è©¦ã¿ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€‚
+ * 使用ä¸å¯èƒ½ãªæ©Ÿèƒ½ã‚’使ãŠã†ã¨è©¦ã¿ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€‚
+ ※`lenient` オプションãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã‚¨ãƒ©ãƒ¼ãŒè­¦å‘Šã«å¤‰æ›´ã•ã‚Œã€
+ ã¾ãŸ `lenient+` ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¯ã‚¨ãƒ©ãƒ¼ã‚‚警告も抑止ã•ã‚Œã‚‹ã€‚
* `dvips` ç­‰ã®â€œå…¨ã対応ã—ã¦ã„ãªã„â€è‹¥å¹²ã®ãƒ‰ãƒ©ã‚¤ãƒã‚ªãƒ—ションをèªè­˜
ã™ã‚‹ã€‚ã“ã®å ´åˆã€å…¨ã¦ã®æ©Ÿèƒ½ã®å‘¼å‡ºã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€‚
- * `nodvidriver` ã¯ç‰¹æ®Šã§ã€ã“れを指定ã—ãŸå ´åˆã¯ã€ã©ã®æ©Ÿèƒ½ã®å‘¼å‡ºã§ã‚‚
- エラーã¯ç™ºç”Ÿã—ãªã„ãŒã€å…¨ã何ã®å‹•ä½œã‚‚è¡Œã‚ãªã„。
+ * `nodvidriver` オプションã¯æ—¢å®šã§ `lenient+` を指定ã™ã‚‹ã€‚ã¤ã¾ã‚Šã€
+ ã©ã®æ©Ÿèƒ½ã®å‘¼å‡ºã§ã‚‚エラーã¯ç™ºç”Ÿã—ãªã„ãŒã€å…¨ã何ã®å‹•ä½œã‚‚è¡Œã‚ãªã„。
更新履歴
--------
+ * Version 0.8 ‹2024/08/03›
+ - カーãƒãƒ«ã®æ–° PDF マãƒã‚¸ãƒ¡ãƒ³ãƒˆãŒæœ‰åŠ¹ãªå ´åˆã«ã‚‚一部ã®æ©Ÿèƒ½ãŒä½¿ãˆã‚‹
+ よã†ã«ã™ã‚‹ï¼ˆâ€œlatex-pdfâ€ãƒ¢ãƒ¼ãƒ‰ï¼‰ã€‚
+ * 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..1b78b5da1c 100644
--- a/macros/latex/contrib/bxpdfver/README.md
+++ b/macros/latex/contrib/bxpdfver/README.md
@@ -44,11 +44,16 @@ The available options are:
* `noobjcompress`: Suppresses use of object streams.
* `objcompress` (default): Does not suppress use of object streams.
* Driver options: As below:
+ + When the new PDF management of LaTeX is activated, the package
+ will automatically switch to “latex-pdf†mode. You need not
+ give driver options.
+ When using a PDF-output engine, you need not give driver options
since the appropriate one is auto-detected.
+ `dvipdfmx`: Uses dvipdfmx driver.
+ `nodvidriver`/`disabled`: Disables all functions of the package.
NB. This option sets `lenient+` by default.
+ * `ignorepdfmanagement`: Avoids switching to “latex-pdf†mode, even
+ when the new PDF management of LaTeX is activated.
* `lenient`: Turns the errors for unsupported features into warnings.
* `lenient+`: Suppreseses the errors for unsupported features.
* `nolenient`: Negation of `lenient(+)`.
@@ -72,40 +77,61 @@ 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
\ Drivers (engines) pdfTeX dvipdfmx
- Features / LuaTeX / XeTeX others
- --------------------------- --------- --------- ------
- \setpdfversion Yes Yes No
- \suppresspdfcompression Yes Maybe(*2) No
- \suppresspdfobjcompression Yes Maybe(*2) No
+ Features / LuaTeX / XeTeX latex-pdf
+ --------------------------- --------- --------- ---------
+ \setpdfversion Yes Yes Yes
+ \suppresspdfcompression Yes Maybe(*2) Yes(*4)
+ \suppresspdfobjcompression Yes Maybe(*2) Yes(*4)
\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.
+ 3. These features are available only when the version of (x)dvipdfmx
+ is 20211016 or later.
+ 4. As for '\suppresspdfcompression' and '\suppresspdfobjcompression',
+ when one of them is executed, the other will be activated. It is
+ because l3pdf module does not support activating only one of them.
+
+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.8 ‹2024/08/03›
+ - Support some features even when the new PDF management of the
+ LaTeX kernel is activated (“latex-pdf†mode).
+ * 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..296774068c 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,12 +10,8 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxpdfver}[2022/04/28 v0.6]
+\ProvidesPackage{bxpdfver}[2024/08/03 v0.8]
\def\bxpv@pkgname{bxpdfver}
-
-%% preparations
-\RequirePackage{ifthen}[]% for \newboolean
-\newif\ifbxpv@ok
\providecommand\bxDebug[1]{}
%--------------------------------------- package options
@@ -124,13 +120,23 @@
\fi
\fi
-%--------------------------------------- helpers
+%--------------------------------------- general
+
+%% packages
+\RequirePackage{ifthen}[]% for \newboolean
+
+%% variables
+\newif\ifbxpv@ok
%% unique tokens
\def\bxpv@end{\bxpv@end@}
\def\bxpv@mt{\bxpv@mt@}
\let\bxpv@mk\noindent
+%% \ifbxpv@read@file@ok
+% Whether or not the last \bxpv@read@file succeeded.
+\newif\ifbxpv@read@file@ok
+
%% \bxpv@csletcs
\def\bxpv@csletcs#1#2{%
\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
@@ -144,6 +150,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,17 +188,61 @@
}
%% \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}
+
+%% \bxpv@begin@document@hook
+% The begin-document hook.
+\@onlypreamble\bxpv@begin@document@hook
+\let\bxpv@begin@document@hook\@empty
+\AtBeginDocument{\bxpv@begin@document@hook}
+
+%--------------------------------------- environment check
%% \ifbxpv@old@hook@system
\newif\ifbxpv@old@hook@system
\@ifl@t@r\fmtversion{2020/10/01}{}{\bxpv@old@hook@systemtrue}
+%% \ifbxpv@pdfmanagement@ok
+% Whether this package is supporting the LaTeX PDF management
+% of the current kernel.
+% (If the PDF management is active but this switch is off,
+% then this package will switch to no-op mode.)
+\newif\ifbxpv@pdfmanagement@ok
+
+%% check for new PDF management
+\if t\bxpv@ignore@pdfmanagement\else
+ \ifx\IfPDFManagementActiveTF\@undefined\else
+ \IfPDFManagementActiveTF{%
+ \let\bxpv@drv@type=m%
+ \def\bxpv@drv@name{latex-pdf}%
+ \@ifl@t@r\fmtversion{2022/06/01}{%
+ \bxpv@pdfmanagement@oktrue
+ }{}
+ }{}
+ \fi
+\fi
+\ifx m\bxpv@drv@type
+ \ifbxpv@pdfmanagement@ok
+ \bxpv@warn
+ {New PDF management is active.\MessageBreak
+ The driver is set to '\bxpv@drv@name'}%
+ % Here \ExplSyntaxOn should be available.
+ \else
+ \bxpv@warn
+ {New PDF management is active, but\MessageBreak
+ the kernel is too old (before 2022/06/01).\MessageBreak
+ Thus this package will not work}%
+ \fi
+\fi
+
%--------------------------------------- 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{%
@@ -224,25 +281,11 @@
\@onlypreamble\bxpv@cancel@obj@compress
\let\bxpv@cancel@obj@compress\relax
-%% \bxpv@begin@document@hook
-% The begin-document hook.
-\@onlypreamble\bxpv@begin@document@hook
-\let\bxpv@begin@document@hook\@empty
-\AtBeginDocument{\bxpv@begin@document@hook}
\g@addto@macro\bxpv@begin@document@hook{%
\bxpv@check@hyperref % must come first
}
-%% check for new PDF management
-\if t\bxpv@ignore@pdfmanagement\else
- \ifx\IfPDFManagementActiveTF\@undefined\else
- \IfPDFManagementActiveTF{%
- \global\let\bxpv@drv@type=m%
- }{}
- \fi
-\fi
-
-%% adjust internal dispatchers
+%% Redefine internal dispatchers.
\ifx 0\bxpv@drv@type\else %--------
\begingroup
@@ -264,9 +307,31 @@
%% switch
\if m\bxpv@drv@type
- %% when in new PDF management
- \bxpv@warn
- {New PDF management is active}%
+ \ifbxpv@pdfmanagement@ok
+ % Here all l3pdf function is assumed to be available.
+ \gdef\bxpv@check@version{\bxpv@oktrue}
+ \ExplSyntaxOn %!!!!!!
+ \tl_new:N \g__bxpv_org_version
+ \exp_args:NNe \tl_gset:Nn \g__bxpv_org_version { \pdf_version: }
+ \cs_gset:Npn \bxpv@set@version
+ {
+ \token_if_eq_meaning:NNTF \bxpdfverMinorVersion \relax
+ { \pdf_version_gset:n { \g__bxpv_org_version } }
+ {
+ \pdf_version_gset:n
+ {
+ \int_use:N \bxpdfverMajorVersion
+ . \int_use:N \bxpdfverMinorVersion
+ }
+ }
+ }
+ % \pdf_uncompress: does both.
+ \cs_gset:Npn \bxpv@suppress@compress
+ { \pdf_uncompress: }
+ \cs_gset:Npn \bxpv@suppress@obj@compress
+ { \pdf_uncompress: }
+ \ExplSyntaxOff %!!!!!!
+ \fi
\else\ifnum\bxpv@pdfoutput>\z@
%% when in PDF mode
\global\let\bxpv@drv@type=p
@@ -386,12 +451,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 +738,7 @@
\fi
%% variables
+\let\bxpv@dvipdfmx@known@min\relax % minimum known dviodfmx version
\let\bxpv@C@value\relax
%% \bxpv@C@bits
@@ -689,6 +757,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 +770,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 +803,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 +819,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 not 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 +846,67 @@
\fi
}
+%% \bxpv@get@dvipdfmx@known@min
+% Gathers the information and sets \bxpv@dvipdfmx@known@min,
+% without actually spawning extractbb.
+% (Called in the begin-document hook.)
+\@onlypreamble\bxpv@get@dvipdfmx@known@min
+\def\bxpv@get@dvipdfmx@known@min{%
+ % initially no information
+ \def\bxpv@dvipdfmx@known@min{0}%
+ % l3backend-dvipdfmx of revision 2022-04-10 or later requires
+ % dvipdfmx of version 20201111 or later.
+ \def\bxpv@tmpa{def}%
+ \let\bxpv@tmpb\@gobbletwo
+ \@ifl@aded\bxpv@tmpa{l3backend-dvipdfmx}{%
+ \def\bxpv@tmpb{\@ifl@ter\bxpv@tmpa{l3backend-dvipdfmx}}%
+ }{}%
+ % Just in case....
+ \@ifl@aded\bxpv@tmpa{l3backend-dvips}{%
+ \def\bxpv@tmpb{\@ifl@ter\bxpv@tmpa{l3backend-dvips}}%
+ }{}%
+ \bxpv@tmpb{2022/04/10}{%
+ % Now the version is known to be 20201111 or later.
+ % This information can save much need for spawning extractbb.
+ \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
}
@@ -950,10 +1062,6 @@
\let\bxpv@rf@line\relax % line content
\let\bxpv@rf@cont\relax % continue to read?
-%% \ifbxpv@read@file@ok
-% Whether or not the last \bxpv@read@file succeeded.
-\newboolean{bxpv@read@file@ok}
-
%% \bxpv@read@file{<file-name>}{<line-parser-code>}
% Reads from a text file. The line parser takes as #1 the
% content of each line.
diff --git a/macros/latex/contrib/catppuccinpalette/README.md b/macros/latex/contrib/catppuccinpalette/README.md
index 105e5497a4..4efad071ce 100644
--- a/macros/latex/contrib/catppuccinpalette/README.md
+++ b/macros/latex/contrib/catppuccinpalette/README.md
@@ -1,28 +1,75 @@
-# Readme for the package catppuccinPalette
+<h3 align="center">
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
+ Catppuccin for <a href="https://www.latex-project.org/">LaTeX</a>
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
+</h3>
-Author: Lukas Heindl (`oss.heindl+latex@protonmail.com`).
+<p align="center">
+ <a href="https://github.com/catppuccin/latex/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/latex?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
+ <a href="https://github.com/catppuccin/latex/issues"><img src="https://img.shields.io/github/issues/catppuccin/latex?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
+ <a href="https://github.com/catppuccin/latex/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/latex?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
+</p>
-CTAN page: [catppuccinPalette](https://ctan.org/pkg/catppuccinpalette)
+<p align="center">
+ <img src="assets/preview.webp"/>
+</p>
-## License
-The LaTeX package `catppuccinPalette` is distributed under the LPPL 1.3 license.
+## Previews
-## Description
+<details>
+<summary>🌻 Latte</summary>
+<img src="assets/latte.webp"/>
+</details>
+<details>
+<summary>🪴 Frappé</summary>
+<img src="assets/frappe.webp"/>
+</details>
+<details>
+<summary>🌺 Macchiato</summary>
+<img src="assets/macchiato.webp"/>
+</details>
+<details>
+<summary>🌿 Mocha</summary>
+<img src="assets/mocha.webp"/>
+</details>
-The LaTeX package `catppuccinPalette` provides new colors for xcolor.
+## Usage
-## Installation
+### Importing the theme file
+1. The [catppuccinPalette](https://www.ctan.org/pkg/catppuccinpalette) package is present on CTAN, but probably not included in your TeX Live installation. Follow the steps below to install it manually:
+ - Shortcut: If you set up your local `texmf` you should be able to simply install by executing `make install` (this installs the package locally for the current user)
+ - If you don't like installing the package locally for the current user you might also execue `l3build unpack` and move the generated `.sty` file `build/unpacked/catppuccinpalette.sty` to the root directory of your project.
+ - If you don't have `l3build` available, you can also download the `catppuccinpalette.sty` file from the [latest GitHub release](https://github.com/catppuccin/latex/releases/latest) and move the file to your project root.
+2. Import the package by adding `\usepackage[FLAVOR]{catppuccinpalette}`, replacing `FLAVOR` with the flavor of your choice. i.e. `\usepackage[macchiato]{catppuccinpalette}`. Valid options are: mocha (default), latte, frappe, and macchiato.
+ - If you want the package not only to add color definitions, you can also pass `textcolor=true` and/or `pagecolor=true` to the `catppuccinpalette` package.
+ - Also note that in the pdf containing the documentation, the available options are described in more detail and also the defined colors are listed and shown.
-For a manual installation:
+### Color Naming Conventions
-* put the files `catppuccinpalette.ins` and `catppuccinpalette.dtx` in the same directory;
-* run `latex catppuccinpalette.ins` in that directory.
+All [Catppuccin palette colors](https://github.com/catppuccin/catppuccin#-palette), across all flavors, follow the same naming convention. This theme set prefixes all Catppuccin colors with `Ctp`, i.e. `CtpPeach`, or `CtpBlue`.
-The file `catppuccinpalette.sty` will be generated.
-The file `catppuccinpalette.sty` is the only file necessary to use the latex package `catppuccinPalette`.
-You have to put it in the same directory as your document or (best) in a `texmf` tree.
+### Examples
-Simplified version:
+Please refer to the [examples](https://github.com/catppuccin/latex/tree/main/examples) for full demonstrations, with LaTeX sources and their outputs, on theme usage and code highlighting.
+
+## 💠Thanks to
+
+- [Lukas](https://github.com/atticus-sullivan)
+- [Brandon](https://github.com/walshyb)
+
+&nbsp;
+
+<p align="center">
+ <img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" />
+</p>
+
+<p align="center">
+ Copyright &copy; 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
+</p>
+
+<p align="center">
+ <a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
+</p>
-* run `l3build unpack` to generate the `.sty` in `build/unpacked/`
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
index f74df5dd95..16d8a60e47 100644
--- a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.dtx
@@ -1,21 +1,26 @@
% \iffalse meta-comment
%
-% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
-% ---------------------------------------------------------------------------
-% 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 Lukas Heindl.
-%
-% This work consists of the files catppuccinpalette.dtx and catppuccinpalette.ins
-% and the derived filebase catppuccinpalette.sty.
+% MIT License
+%
+% Copyright (c) 2024 Catppuccin
+%
+% 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.
%
% \fi
%
@@ -26,7 +31,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{catppuccinpalette}
%<*package>
- [2024/05/22 v1.0.2 catppuccin xcolor palette]
+ [2024/08/13 v1.1.0 catppuccin xcolor palette]
%</package>
%
%<*driver>
@@ -69,13 +74,15 @@
% \changes{v1.0.0}{2024/02/27}{First full release}
% \changes{v1.0.1}{2024/05/19}{Make fit for CTAN}
% \changes{v1.0.2}{2024/05/19}{Fix colors in documentation}
+% \changes{v1.1.0}{2024/08/13}{Move to / Merge with official catppuccin. Thereby deprecate colors with |Cat| prefix. Subject to removal in the future}
%
% \DoNotIndex{\newcommand,\newenvironment,\color,\colorlet,\def,\fi,\RequirePackage,\ProvidesPackage,\ProcessPgfOptions,\preparecolorset,\pgfkeys,\pagecolor,\newif,\NeedsTeXFormat}
%
+% \providecommand*\pkg{\textsf}
% \providecommand*{\url}{\texttt}
% \GetFileInfo{catppuccinpalette.dtx}
% \title{The \textsf{catppuccinPalette} package}
-% \author{Lukas Heindl \\ \url{oss.heindl+latex@protonmail.com} \\ \url{https://github.com/atticus-sullivan/catpuccinPalette}}
+% \author{Lukas Heindl \\ \url{oss.heindl+latex@protonmail.com} \\ \url{https://github.com/catppuccin/latex}}
% \date{\fileversion~from \filedate}
%
% \maketitle
@@ -95,14 +102,14 @@
%
% Load via |\usepackage{catppuccinpalette}|
%
-% Just use the new colors (prefixed with \verb|Cat<Style>|) like normal xcolors.
+% Just use the new colors (prefixed with \verb|Ctp<Style>|) like normal xcolors.
% In addition to the usual colors of the palette, this package defines some
% colors according to the
% style guide\footnote{\url{https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md}}
% for ease of use.
%
% This package also allows you to set a specific style which sets the shortened
-% color names (prefixed only with \verb|Cat|) to the selected style (allows for
+% color names (prefixed only with \verb|Ctp|) to the selected style (allows for
% easy switching style) via the package option \verb|style|.
%
% This package loads xcolor (without options) so if you want to set some xcolor
@@ -113,16 +120,21 @@
% \emph{Option} & \emph{Description}
% \\\toprule
% \verb|style| &
-% set the style used by the shortened prefix (\verb|Cat|). Possible values:
+% set the style used by the shortened prefix (\verb|Ctp|). Possible values:
% \verb|Latte| (default+initial), \verb|latte|, \verb|Frappe|, \verb|frappe|,
-% \verb|Mocha|, \verb|mocha|
+% \verb|Mocha|, \verb|mocha|, \verb|Macchiato|, \verb|macchiato|
+% \\
+% &
+% As a shortcut, you can also just use e.\,g.\,
+% |\usepackage[latte]{catppuccinPalette}| as a shorthand for
+% |\usepackage[style=latte]{catppuccinPalette}|
% \\
% \verb|textcolor| &
-% set the default textcolor of the document to \verb|CatText|. Possible values:
+% set the default textcolor of the document to \verb|CtpText|. Possible values:
% \verb|false| (default+initial), \verb|true|
% \\
% \verb|pagecolor| &
-% set the pagecolor of the document to \verb|CatBackground|. Possible values:
+% set the pagecolor of the document to \verb|CtpBackground|. Possible values:
% \verb|false| (default+initial), \verb|true|
% \\\midrule
% \verb|styleAll| &
@@ -130,50 +142,64 @@
% \\\bottomrule
% \end{tabularx}
%
+% \subsubsection{Change settings mid-document}
+% \DescribeMacro{\CtpReinit} |\CtpReinit[opts]|
+%
+% This command allows to reinitialize this package. All previous configuration
+% options will be kept. In particular this allows to change the active
+% style/flavor mid-document. Note that if you decided this package should
+% change the background color when loading the package and only do
+% |\CptReinit[style=<another style>]|, then the background color will also be
+% adjusted on reinitialization.
+%
+% The command processes the same options like the ones you can pass when
+% loading the package (see documentation above).
+%
% \subsection{Colors}
+% \textbf{Note:} The colors with the prefix |Cat| are deprecated and will be removed in a future version!
% \newcommand{\showCol}[1]{\raisebox{0.5ex}{\fcolorbox{black}{#1}{\hspace{1em}}} #1}
% \foreach \Style in {Latte,Frappe,Macchiato,Mocha}{
% \subsubsection{Style \texttt{\Style}}
% \begin{multicols}{2}
-% \showCol{Cat\Style Blue}\par
-% \showCol{Cat\Style Rosewater}\par
-% \showCol{Cat\Style Flamingo}\par
-% \showCol{Cat\Style Pink}\par
-% \showCol{Cat\Style Mauve}\par
-% \showCol{Cat\Style Red}\par
-% \showCol{Cat\Style Maroon}\par
-% \showCol{Cat\Style Peach}\par
-% \showCol{Cat\Style Yellow}\par
-% \showCol{Cat\Style Green}\par
-% \showCol{Cat\Style Teal}\par
-% \showCol{Cat\Style Sky}\par
-% \showCol{Cat\Style Sapphire}\par
-% \showCol{Cat\Style Blue}\par
-% \showCol{Cat\Style Lavender}\par
-% \showCol{Cat\Style Text}\par
-% \showCol{Cat\Style Subtext1}\par
-% \showCol{Cat\Style Subtext0}\par
-% \showCol{Cat\Style Overlay2}\par
-% \showCol{Cat\Style Overlay1}\par
-% \showCol{Cat\Style Overlay0}\par
-% \showCol{Cat\Style Surface2}\par
-% \showCol{Cat\Style Surface1}\par
-% \showCol{Cat\Style Surface0}\par
-% \showCol{Cat\Style Base}\par
-% \showCol{Cat\Style Mantle}\par
-% \showCol{Cat\Style Crust}\par
+% \showCol{Ctp\Style Blue}\par
+% \showCol{Ctp\Style Rosewater}\par
+% \showCol{Ctp\Style Flamingo}\par
+% \showCol{Ctp\Style Pink}\par
+% \showCol{Ctp\Style Mauve}\par
+% \showCol{Ctp\Style Red}\par
+% \showCol{Ctp\Style Maroon}\par
+% \showCol{Ctp\Style Peach}\par
+% \showCol{Ctp\Style Yellow}\par
+% \showCol{Ctp\Style Green}\par
+% \showCol{Ctp\Style Teal}\par
+% \showCol{Ctp\Style Sky}\par
+% \showCol{Ctp\Style Sapphire}\par
+% \showCol{Ctp\Style Blue}\par
+% \showCol{Ctp\Style Lavender}\par
+% \showCol{Ctp\Style Text}\par
+% \showCol{Ctp\Style Subtext1}\par
+% \showCol{Ctp\Style Subtext0}\par
+% \showCol{Ctp\Style Overlay2}\par
+% \showCol{Ctp\Style Overlay1}\par
+% \showCol{Ctp\Style Overlay0}\par
+% \showCol{Ctp\Style Surface2}\par
+% \showCol{Ctp\Style Surface1}\par
+% \showCol{Ctp\Style Surface0}\par
+% \showCol{Ctp\Style Base}\par
+% \showCol{Ctp\Style Mantle}\par
+% \showCol{Ctp\Style Crust}\par
% \end{multicols}
%
% Some basic colors according to the style guide:
%
% \begin{multicols}{2}
-% \showCol{Cat\Style Background}\par
-% \showCol{Cat\Style Link}\par
+% \showCol{Ctp\Style Background}\par
+% \showCol{Ctp\Style Link}\par
% \phantom{}\par
% \columnbreak
-% \showCol{Cat\Style Success}\par
-% \showCol{Cat\Style Warning}\par
-% \showCol{Cat\Style Error}\par
+% \showCol{Ctp\Style Success}\par
+% \showCol{Ctp\Style Warning}\par
+% \showCol{Ctp\Style Error}\par
% \end{multicols}
%
% }
@@ -201,16 +227,24 @@
% \end{macrocode}
% Define the package option keys
% \begin{macrocode}
+ Latte/.style={style=Latte},
+ latte/.style={style=Latte},
+ Frappe/.style={style=Frappe},
+ frappe/.style={style=Frappe},
+ Macchiato/.style={style=Macchiato},
+ macchiato/.style={style=Macchiato},
+ Mocha/.style={style=Mocha},
+ mocha/.style={style=Mocha},
style/.is choice,
style/.value required,
style/Latte/.code = {\def\catppuccinpalette@style{Latte}},
- style/latte/.forward to = /catppuccinPalette/style/Latte,
+ style/latte/.style = {style=Latte},
style/Frappe/.code = {\def\catppuccinpalette@style{Frappe}},
- style/frappe/.forward to = /catppuccinPalette/style/frappe,
+ style/frappe/.style = {style=Frappe},
style/Macchiato/.code = {\def\catppuccinpalette@style{Macchiato}},
- style/macchiato/.forward to = /catppuccinPalette/style/Macchiato,
+ style/macchiato/.style = {style=Macchiato},
style/Mocha/.code = {\def\catppuccinpalette@style{Mocha}},
- style/mocha/.forward to = /catppuccinPalette/style/Mocha,
+ style/mocha/.style = {style=Mocha},
textcolor/.is if = catppuccinpalette@textcolor,
textcolor/.default = true,
pagecolor/.is if = catppuccinpalette@pagecolor,
@@ -223,7 +257,7 @@
pagecolor = false,
style = Latte,
}
-\ProcessPgfOptions*
+\ProcessPgfOptions{catppuccinPalette}
% \end{macrocode}
% Define the \emph{Latte} colorset
% \begin{macrocode}
@@ -255,14 +289,48 @@
Mantle,230,233,239/E6E9EF;%
Crust,220,224,232/DCE0E8%
}
-% \end{macrocode}
-% Define colors according to the catppuccin style guide
-% \begin{macrocode}
\colorlet{CatLatteBackground}{CatLatteBase}
\colorlet{CatLatteLink}{CatLatteBlue}
\colorlet{CatLatteSuccess}{CatLatteGreen}
\colorlet{CatLatteWarning}{CatLatteYellow}
\colorlet{CatLatteError}{CatLatteRed}
+
+\preparecolorset{RGB/HTML}{CtpLatte}{}{%
+ Rosewater,220,138,120/DC8A78;%
+ Flamingo,221,120,120/DD7878;%
+ Pink,234,118,203/EA76CB;%
+ Mauve,136,57,239/8839EF;%
+ Red,210,15,57/D20F39;%
+ Maroon,230,69,83/E64553;%
+ Peach,254,100,11/FE640B;%
+ Yellow,223,142,29/DF8E1D;%
+ Green,64,160,43/40A02B;%
+ Teal,23,146,153/179299;%
+ Sky,4,165,229/04A5E5;%
+ Sapphire,32,159,181/209FB5;%
+ Blue,30,102,245/1E66F5;%
+ Lavender,114,135,253/7287FD;%
+ Text,76,79,105/4C4F69;%
+ Subtext1,92,95,119/5C5F77;%
+ Subtext0,108,111,133/6C6F85;%
+ Overlay2,124,127,147/7C7F93;%
+ Overlay1,140,143,161/8C8FA1;%
+ Overlay0,156,160,176/9CA0B0;%
+ Surface2,172,176,190/ACB0BE;%
+ Surface1,188,192,204/BCC0CC;%
+ Surface0,204,208,218/CCD0DA;%
+ Base,239,241,245/EFF1F5;%
+ Mantle,230,233,239/E6E9EF;%
+ Crust,220,224,232/DCE0E8%
+}
+% \end{macrocode}
+% Define colors according to the catppuccin style guide
+% \begin{macrocode}
+\colorlet{CtpLatteBackground}{CtpLatteBase}
+\colorlet{CtpLatteLink}{CtpLatteBlue}
+\colorlet{CtpLatteSuccess}{CtpLatteGreen}
+\colorlet{CtpLatteWarning}{CtpLatteYellow}
+\colorlet{CtpLatteError}{CtpLatteRed}
% \end{macrocode}
% Define the styles \emph{Frappe}, \emph{Macchiato} and \emph{Mocha} accordingly
% \begin{macrocode}
@@ -299,6 +367,41 @@
\colorlet{CatFrappeSuccess}{CatFrappeGreen}
\colorlet{CatFrappeWarning}{CatFrappeYellow}
\colorlet{CatFrappeError}{CatFrappeRed}
+
+\preparecolorset{RGB/HTML}{CtpFrappe}{}{%
+ Rosewater,242,213,207/F2D5CF;%
+ Flamingo,238,190,190/EEBEBE;%
+ Pink,244,184,228/F4B8E4;%
+ Mauve,202,158,230/CA9EE6;%
+ Red,231,130,132/E78284;%
+ Maroon,234,153,156/EA999C;%
+ Peach,239,159,118/EF9F76;%
+ Yellow,229,200,144/E5C890;%
+ Green,166,209,137/A6D189;%
+ Teal,129,200,190/81C8BE;%
+ Sky,153,209,219/99D1DB;%
+ Sapphire,133,193,220/85C1DC;%
+ Blue,140,170,238/8CAAEE;%
+ Lavender,186,187,241/BABBF1;%
+ Text,198,208,245/C6D0F5;%
+ Subtext1,181,191,226/B5BFE2;%
+ Subtext0,165,173,206/A5ADCE;%
+ Overlay2,148,156,187/949CBB;%
+ Overlay1,131,139,167/838BA7;%
+ Overlay0,115,121,148/737994;%
+ Surface2,98,104,128/626880;%
+ Surface1,81,87,109/51576D;%
+ Surface0,65,69,89/414559;%
+ Base,48,52,70/303446;%
+ Mantle,41,44,60/292C3C;%
+ Crust,35,38,52/232634%
+}
+\colorlet{CtpFrappeBackground}{CtpFrappeBase}
+\colorlet{CtpFrappeLink}{CtpFrappeBlue}
+\colorlet{CtpFrappeSuccess}{CtpFrappeGreen}
+\colorlet{CtpFrappeWarning}{CtpFrappeYellow}
+\colorlet{CtpFrappeError}{CtpFrappeRed}
+
\preparecolorset{RGB/HTML}{CatMacchiato}{}{%
Rosewater,244,219,214/F4DBD6;%
Flamingo,240,198,198/F0C6C6;%
@@ -332,6 +435,41 @@
\colorlet{CatMacchiatoSuccess}{CatMacchiatoGreen}
\colorlet{CatMacchiatoWarning}{CatMacchiatoYellow}
\colorlet{CatMacchiatoError}{CatMacchiatoRed}
+
+\preparecolorset{RGB/HTML}{CtpMacchiato}{}{%
+ Rosewater,244,219,214/F4DBD6;%
+ Flamingo,240,198,198/F0C6C6;%
+ Pink,245,189,230/F5BDE6;%
+ Mauve,198,160,246/C6A0F6;%
+ Red,237,135,150/ED8796;%
+ Maroon,238,153,160/EE99A0;%
+ Peach,245,169,127/F5A97F;%
+ Yellow,238,212,159/EED49F;%
+ Green,166,218,149/A6DA95;%
+ Teal,139,213,202/8BD5CA;%
+ Sky,145,215,227/91D7E3;%
+ Sapphire,125,196,228/7DC4E4;%
+ Blue,138,173,244/8AADF4;%
+ Lavender,183,189,248/B7BDF8;%
+ Text,202,211,245/CAD3F5;%
+ Subtext1,184,192,224/B8C0E0;%
+ Subtext0,165,173,203/A5ADCB;%
+ Overlay2,147,154,183/939AB7;%
+ Overlay1,128,135,162/8087A2;%
+ Overlay0,110,115,141/6E738D;%
+ Surface2,91,96,120/5B6078;%
+ Surface1,73,77,100/494D64;%
+ Surface0,54,58,79/363A4F;%
+ Base,36,39,58/24273A;%
+ Mantle,30,32,48/1E2030;%
+ Crust,24,25,38/181926%
+}
+\colorlet{CtpMacchiatoBackground}{CtpMacchiatoBase}
+\colorlet{CtpMacchiatoLink}{CtpMacchiatoBlue}
+\colorlet{CtpMacchiatoSuccess}{CtpMacchiatoGreen}
+\colorlet{CtpMacchiatoWarning}{CtpMacchiatoYellow}
+\colorlet{CtpMacchiatoError}{CtpMacchiatoRed}
+
\preparecolorset{RGB/HTML}{CatMocha}{}{%
Rosewater,245,224,220/F5E0DC;%
Flamingo,242,205,205/F2CDCD;%
@@ -360,57 +498,139 @@
Mantle,24,24,37/181825;%
Crust,17,17,27/11111B%
}
-% \end{macrocode}
-% Define shortcuts for active style
-% \begin{macrocode}
\colorlet{CatMochaBackground}{CatMochaBase}
\colorlet{CatMochaLink}{CatMochaBlue}
\colorlet{CatMochaSuccess}{CatMochaGreen}
\colorlet{CatMochaWarning}{CatMochaYellow}
\colorlet{CatMochaError}{CatMochaRed}
-\colorlet{CatRosewater}{Cat\catppuccinpalette@style Rosewater}
-\colorlet{CatFlamingo}{Cat\catppuccinpalette@style Flamingo}
-\colorlet{CatPink}{Cat\catppuccinpalette@style Pink}
-\colorlet{CatMauve}{Cat\catppuccinpalette@style Mauve}
-\colorlet{CatRed}{Cat\catppuccinpalette@style Red}
-\colorlet{CatMaroon}{Cat\catppuccinpalette@style Maroon}
-\colorlet{CatPeach}{Cat\catppuccinpalette@style Peach}
-\colorlet{CatYellow}{Cat\catppuccinpalette@style Yellow}
-\colorlet{CatGreen}{Cat\catppuccinpalette@style Green}
-\colorlet{CatTeal}{Cat\catppuccinpalette@style Teal}
-\colorlet{CatSky}{Cat\catppuccinpalette@style Sky}
-\colorlet{CatSapphire}{Cat\catppuccinpalette@style Sapphire}
-\colorlet{CatBlue}{Cat\catppuccinpalette@style Blue}
-\colorlet{CatLavender}{Cat\catppuccinpalette@style Lavender}
-\colorlet{CatText}{Cat\catppuccinpalette@style Text}
-\colorlet{CatSubtext1}{Cat\catppuccinpalette@style Subtext1}
-\colorlet{CatSubtext0}{Cat\catppuccinpalette@style Subtext0}
-\colorlet{CatOverlay2}{Cat\catppuccinpalette@style Overlay2}
-\colorlet{CatOverlay1}{Cat\catppuccinpalette@style Overlay1}
-\colorlet{CatOverlay0}{Cat\catppuccinpalette@style Overlay0}
-\colorlet{CatSurface2}{Cat\catppuccinpalette@style Surface2}
-\colorlet{CatSurface1}{Cat\catppuccinpalette@style Surface1}
-\colorlet{CatSurface0}{Cat\catppuccinpalette@style Surface0}
-\colorlet{CatBase}{Cat\catppuccinpalette@style Base}
-\colorlet{CatMantle}{Cat\catppuccinpalette@style Mantle}
-\colorlet{CatCrust}{Cat\catppuccinpalette@style Crust}
-\colorlet{CatBackground}{Cat\catppuccinpalette@style Base}
-\colorlet{CatLink}{Cat\catppuccinpalette@style Blue}
-\colorlet{CatSuccess}{Cat\catppuccinpalette@style Green}
-\colorlet{CatWarning}{Cat\catppuccinpalette@style Yellow}
-\colorlet{CatError}{Cat\catppuccinpalette@style Red}
+
+\preparecolorset{RGB/HTML}{CtpMocha}{}{%
+ Rosewater,245,224,220/F5E0DC;%
+ Flamingo,242,205,205/F2CDCD;%
+ Pink,245,194,231/F5C2E7;%
+ Mauve,203,166,247/CBA6F7;%
+ Red,243,139,168/F38BA8;%
+ Maroon,235,160,172/EBA0AC;%
+ Peach,250,179,135/FAB387;%
+ Yellow,249,226,175/F9E2AF;%
+ Green,166,227,161/A6E3A1;%
+ Teal,148,226,213/94E2D5;%
+ Sky,137,220,235/89DCEB;%
+ Sapphire,116,199,236/74C7EC;%
+ Blue,137,180,250/89B4FA;%
+ Lavender,180,190,254/B4BEFE;%
+ Text,205,214,244/CDD6F4;%
+ Subtext1,186,194,222/BAC2DE;%
+ Subtext0,166,173,200/A6ADC8;%
+ Overlay2,147,153,178/9399B2;%
+ Overlay1,127,132,156/7F849C;%
+ Overlay0,108,112,134/6C7086;%
+ Surface2,88,91,112/585B70;%
+ Surface1,69,71,90/45475A;%
+ Surface0,49,50,68/313244;%
+ Base,30,30,46/1E1E2E;%
+ Mantle,24,24,37/181825;%
+ Crust,17,17,27/11111B%
+}
+\colorlet{CtpMochaBackground}{CtpMochaBase}
+\colorlet{CtpMochaLink}{CtpMochaBlue}
+\colorlet{CtpMochaSuccess}{CtpMochaGreen}
+\colorlet{CtpMochaWarning}{CtpMochaYellow}
+\colorlet{CtpMochaError}{CtpMochaRed}
+
+% \end{macrocode}
+% Define shortcuts for active style (legacy part)
+% \begin{macrocode}
+\colorlet{CatRosewater}{Ctp\catppuccinpalette@style Rosewater}
+\colorlet{CatFlamingo}{Ctp\catppuccinpalette@style Flamingo}
+\colorlet{CatPink}{Ctp\catppuccinpalette@style Pink}
+\colorlet{CatMauve}{Ctp\catppuccinpalette@style Mauve}
+\colorlet{CatRed}{Ctp\catppuccinpalette@style Red}
+\colorlet{CatMaroon}{Ctp\catppuccinpalette@style Maroon}
+\colorlet{CatPeach}{Ctp\catppuccinpalette@style Peach}
+\colorlet{CatYellow}{Ctp\catppuccinpalette@style Yellow}
+\colorlet{CatGreen}{Ctp\catppuccinpalette@style Green}
+\colorlet{CatTeal}{Ctp\catppuccinpalette@style Teal}
+\colorlet{CatSky}{Ctp\catppuccinpalette@style Sky}
+\colorlet{CatSapphire}{Ctp\catppuccinpalette@style Sapphire}
+\colorlet{CatBlue}{Ctp\catppuccinpalette@style Blue}
+\colorlet{CatLavender}{Ctp\catppuccinpalette@style Lavender}
+\colorlet{CatText}{Ctp\catppuccinpalette@style Text}
+\colorlet{CatSubtext1}{Ctp\catppuccinpalette@style Subtext1}
+\colorlet{CatSubtext0}{Ctp\catppuccinpalette@style Subtext0}
+\colorlet{CatOverlay2}{Ctp\catppuccinpalette@style Overlay2}
+\colorlet{CatOverlay1}{Ctp\catppuccinpalette@style Overlay1}
+\colorlet{CatOverlay0}{Ctp\catppuccinpalette@style Overlay0}
+\colorlet{CatSurface2}{Ctp\catppuccinpalette@style Surface2}
+\colorlet{CatSurface1}{Ctp\catppuccinpalette@style Surface1}
+\colorlet{CatSurface0}{Ctp\catppuccinpalette@style Surface0}
+\colorlet{CatBase}{Ctp\catppuccinpalette@style Base}
+\colorlet{CatMantle}{Ctp\catppuccinpalette@style Mantle}
+\colorlet{CatCrust}{Ctp\catppuccinpalette@style Crust}
+\colorlet{CatBackground}{Ctp\catppuccinpalette@style Base}
+\colorlet{CatLink}{Ctp\catppuccinpalette@style Blue}
+\colorlet{CatSuccess}{Ctp\catppuccinpalette@style Green}
+\colorlet{CatWarning}{Ctp\catppuccinpalette@style Yellow}
+\colorlet{CatError}{Ctp\catppuccinpalette@style Red}
+
% \end{macrocode}
-% Set (only initial) pagecolor according to the style guide if the user wants this
+% New command which parses the same options like the package. Can be used to e.\,g.\, reset/reinit the selected style.
% \begin{macrocode}
-\ifcatppuccinpalette@pagecolor
- \pagecolor{CatBackground}
-\fi
+\NewDocumentCommand\CtpReinit{O{}}{%
+ \pgfkeys{%
+ /catppuccinPalette/.cd,%
+ #1%
+ }%
+% \end{macrocode}
+% Define shortcuts for active style
+% \begin{macrocode}
+ \colorlet{CtpRosewater}{Ctp\catppuccinpalette@style Rosewater}%
+ \colorlet{CtpFlamingo}{Ctp\catppuccinpalette@style Flamingo}%
+ \colorlet{CtpPink}{Ctp\catppuccinpalette@style Pink}%
+ \colorlet{CtpMauve}{Ctp\catppuccinpalette@style Mauve}%
+ \colorlet{CtpRed}{Ctp\catppuccinpalette@style Red}%
+ \colorlet{CtpMaroon}{Ctp\catppuccinpalette@style Maroon}%
+ \colorlet{CtpPeach}{Ctp\catppuccinpalette@style Peach}%
+ \colorlet{CtpYellow}{Ctp\catppuccinpalette@style Yellow}%
+ \colorlet{CtpGreen}{Ctp\catppuccinpalette@style Green}%
+ \colorlet{CtpTeal}{Ctp\catppuccinpalette@style Teal}%
+ \colorlet{CtpSky}{Ctp\catppuccinpalette@style Sky}%
+ \colorlet{CtpSapphire}{Ctp\catppuccinpalette@style Sapphire}%
+ \colorlet{CtpBlue}{Ctp\catppuccinpalette@style Blue}%
+ \colorlet{CtpLavender}{Ctp\catppuccinpalette@style Lavender}%
+ \colorlet{CtpText}{Ctp\catppuccinpalette@style Text}%
+ \colorlet{CtpSubtext1}{Ctp\catppuccinpalette@style Subtext1}%
+ \colorlet{CtpSubtext0}{Ctp\catppuccinpalette@style Subtext0}%
+ \colorlet{CtpOverlay2}{Ctp\catppuccinpalette@style Overlay2}%
+ \colorlet{CtpOverlay1}{Ctp\catppuccinpalette@style Overlay1}%
+ \colorlet{CtpOverlay0}{Ctp\catppuccinpalette@style Overlay0}%
+ \colorlet{CtpSurface2}{Ctp\catppuccinpalette@style Surface2}%
+ \colorlet{CtpSurface1}{Ctp\catppuccinpalette@style Surface1}%
+ \colorlet{CtpSurface0}{Ctp\catppuccinpalette@style Surface0}%
+ \colorlet{CtpBase}{Ctp\catppuccinpalette@style Base}%
+ \colorlet{CtpMantle}{Ctp\catppuccinpalette@style Mantle}%
+ \colorlet{CtpCrust}{Ctp\catppuccinpalette@style Crust}%
+ \colorlet{CtpBackground}{Ctp\catppuccinpalette@style Base}%
+ \colorlet{CtpLink}{Ctp\catppuccinpalette@style Blue}%
+ \colorlet{CtpSuccess}{Ctp\catppuccinpalette@style Green}%
+ \colorlet{CtpWarning}{Ctp\catppuccinpalette@style Yellow}%
+ \colorlet{CtpError}{Ctp\catppuccinpalette@style Red}%
+% \end{macrocode}
+% Set pagecolor according to the style guide if the user wants this
+% \begin{macrocode}
+\ifcatppuccinpalette@pagecolor%
+ \pagecolor{CtpBackground}%
+\fi%
% \end{macrocode}
% Set textcolor according to the style guide if the user wants this
% \begin{macrocode}
-\ifcatppuccinpalette@textcolor
- \color{CatText}
-\fi
+\ifcatppuccinpalette@textcolor%
+ \color{CtpText}%
+\fi%
+% \end{macrocode}
+% \begin{macrocode}
+}
+\CtpReinit[]
% \end{macrocode}
\endinput
%
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
index c93b929dcd..2e44fa2b5f 100644
--- a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.ins
@@ -1,20 +1,24 @@
-%% Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
-%% --------------------------------------------------------------------------
-%% 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 Lukas Heindl.
-%%
-%% This work consists of the files catppuccinpalette.dtx and catppuccinpalette.ins
-%% and the derived filebase catppuccinpalette.sty.
-%%
+%% MIT License
+%%
+%% Copyright (c) 2021 Catppuccin
+%%
+%% 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.
\input docstrip.tex
\keepsilent
@@ -25,15 +29,25 @@
This is a generated file.
-Copyright (C) 2024 by Lukas Heindl <oss.heindl+latex@protonmail.com>
---------------------------------------------------------------------------
-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.
+Copyright (c) 2021 Catppuccin
+
+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.
\endpreamble
diff --git a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
index 8a5e2d9c89..b66eca9b01 100644
--- a/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
+++ b/macros/latex/contrib/catppuccinpalette/catppuccinpalette.pdf
Binary files differ
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/cjs-rcs-article/README.md b/macros/latex/contrib/cjs-rcs-article/README.md
index e28620a02d..aa152dd5fd 100644
--- a/macros/latex/contrib/cjs-rcs-article/README.md
+++ b/macros/latex/contrib/cjs-rcs-article/README.md
@@ -21,7 +21,7 @@ International.
## Version
-
+1.1a (2024-07-30)
## Author
@@ -133,7 +133,7 @@ licence CC BY-SA 4.0 International.
## Version
-
+1.1a (2024-07-30)
## 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 c64b7fa0a2..fd93cf709b 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 cab40dfb50..a750c136f5 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-article.dtx
@@ -28,7 +28,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}[2021/06/01]
%<class>\ProvidesClass{cjs-rcs-article}%
%<*class>
-[2024/07/14 v1.1 Article class for The Canadian Journal of
+[2024/07/30 v1.1a Article class for The Canadian Journal of
Statistics | La revue canadienne de statistique]
%</class>
%<*driver>
@@ -296,6 +296,10 @@
% 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.}
+% \changes{1.1a}{2024-07-25}{Fix the command \cs{proglang} that would
+% disable hyphenation for the rest of the document. With thanks to
+% Enrico Gregorio (egreg) for the heads up in person at TUG 2024.}
+% \changes{1.1a}{2024-07-25}{Make the command \cs{proglang} robust.}
%
% \ifenglish%
% \title[Guide to the class {\CJSclass}]{%
@@ -3867,12 +3871,12 @@
% The decorative element is created using plain {\TeX} rules. Its
% height and depth are identical to the journal information.
% \begin{macrocode}
-\setbox\z@=\vbox{\sffamily\hbox{\CJS@journalname}\hbox{\bfseries V,}}
\newsavebox\CJS@journalornament
\setbox\CJS@journalornament=\vbox{%
+ \setbox\z@=\vbox{\sffamily\hbox{\CJS@journalname}\hbox{\bfseries V,}}
\setbox\tw@\hbox{\vrule \@width4pt\@height\ht\z@\@depth\dp\z@}
- \hbox{\textcolor{CJSpink}{\copy\tw@}\kern2pt%
- \textcolor{CJSred}{\copy\tw@}\kern2pt%
+ \hbox{\textcolor{CJSpink}{\copy\tw@}\kern2pt
+ \textcolor{CJSred}{\copy\tw@}\kern2pt
\textcolor{CJSyellow}{\copy\tw@}\kern6pt}}
% \end{macrocode}
%
@@ -4735,7 +4739,7 @@
\setbox\CJS@licencebox=\vbox{%
\CJS@setlicencefont
\ifCJS@specialack\CJS@specialackstatement\fi
- \ifdefempty{\CJS@licence}{\CJS@licencesample}{\CJS@licence}}
+ \ifdefempty{\CJS@licence}{\CJS@licencesample}{\CJS@licence}}%
\setlength\CJS@licenceht{\dimexpr\ht\CJS@licencebox+\dp\CJS@licencebox}}
% \end{macrocode}
% \end{macro}
@@ -4759,14 +4763,17 @@
% Inspired by the package \pkg{ccicons} (not used by the class since
% \pkg{fontawesome5} contains all the Creative Commons icons).
%
+% \changes{1.1a}{2024-07-25}{Implementation: fix the generation of
+% spacing in the \cs{ccby*} commands.}
% \begin{macro}{\ccby,\ccby*}
% The command \cmd{\ccby} typesets the icons for the Attribution
% licence: {\ccby}.
% \begin{macrocode}
\newcommand*\ccby{\ccby@\@ifstar{~\faCopyright[regular]}\relax}
+\def\CJS@fakern{\kern0.1em}
\def\ccby@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em}}
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern}}
% \end{macrocode}
% \end{macro}
%
@@ -4776,8 +4783,8 @@
% \begin{macrocode}
\newcommand*\ccbysa{\ccbysa@\@ifstar{~\faCopyright[regular]}\relax}
\def\ccbysa@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
\faCreativeCommonsSa}}
% \end{macrocode}
% \end{macro}
@@ -4788,8 +4795,8 @@
% \begin{macrocode}
\newcommand*\ccbync{\ccbync@\@ifstar{~\faCopyright[regular]}\relax}
\def\ccbync@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
\faCreativeCommonsNc}}
% \end{macrocode}
% \end{macro}
@@ -4801,9 +4808,9 @@
% \begin{macrocode}
\newcommand*\ccbyncsa{\ccbyncsa@\@ifstar{~\faCopyright[regular]}\relax}
\def\ccbyncsa@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
- \faCreativeCommonsNc\kern0.1em%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
+ \faCreativeCommonsNc\CJS@fakern
\faCreativeCommonsSa}}
% \end{macrocode}
% \end{macro}
@@ -4814,8 +4821,8 @@
% \begin{macrocode}
\newcommand*\ccbynd{\ccbynd@\@ifstar{~\faCopyright[regular]}\relax}
\def\ccbynd@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
\faCreativeCommonsNd}}
% \end{macrocode}
% \end{macro}
@@ -4826,9 +4833,9 @@
% \begin{macrocode}
\newcommand*\ccbyncnd{\ccbyncnd@\@ifstar{~\faCopyright[regular]}\relax}
\def\ccbyncnd@{\mbox{%
- \faCreativeCommons\kern0.1em%
- \faCreativeCommonsBy\kern0.1em%
- \faCreativeCommonsNc\kern0.1em%
+ \faCreativeCommons\CJS@fakern
+ \faCreativeCommonsBy\CJS@fakern
+ \faCreativeCommonsNc\CJS@fakern
\faCreativeCommonsNd}}
% \end{macrocode}
% \end{macro}
@@ -4950,6 +4957,8 @@
% \subsection{Computer code and software}
% \label{sec:implementation:software}
%
+% \changes{1.1a}{2024-07-25}{Implementation: prevent hyphenation in
+% \cs{proglang} using a simple \cs{mbox}.}
% \begin{macro}{\proglang}
% The command \cmd{\proglang} provides a means to uniformly typeset
% the name of a software or programming language. The command also
@@ -4957,7 +4966,7 @@
% shortcuts to the most common languages. Notice that the
% \cmd{\Cpplang} case is specially crafted.
% \begin{macrocode}
-\newcommand*\proglang[1]{{\hyphenchar\font=-1 #1}}
+\newrobustcmd*\proglang[1]{\mbox{#1}}
\newcommand*\Rlang{\proglang{R}}
\newcommand*\SASlang{\proglang{SAS}}
\newcommand*\SPSSlang{\proglang{SPSS}}
@@ -5178,18 +5187,20 @@
% \end{macrocode}
% \end{macro}
%
+% \changes{1.1a}{2024-07-25}{Implementation: replace box registers
+% \cs{@ne} and \cs{thr@@} by \cs{z@} and \cs{tw@}.}
% We also define a decorative element similar to the one used on the
% title page, only adapted for a single line content. To create a
% balanced element, we use the height of a letter with an ascender and
% the depth of the old-style number 4.
% \begin{macrocode}
-\setbox\@ne=\vbox{\hbox{\firaoldstyle\small l4}}
\newsavebox\CJS@historyornament
\setbox\CJS@historyornament=\vbox{%
- \setbox\thr@@\hbox{\vrule \@width1.5pt\@height\ht\@ne\@depth\dp\@ne}
- \hbox{\textcolor{CJSpink}{\copy\thr@@}\kern.75pt%
- \textcolor{CJSred}{\copy\thr@@}\kern.75pt%
- \textcolor{CJSyellow}{\copy\thr@@}\kern3pt}}
+ \setbox\z@=\vbox{\hbox{\firaoldstyle\small l4}}
+ \setbox\tw@\hbox{\vrule \@width1.5pt\@height\ht\z@\@depth\dp\z@}
+ \hbox{\textcolor{CJSpink}{\copy\tw@}\kern.75pt
+ \textcolor{CJSred}{\copy\tw@}\kern.75pt
+ \textcolor{CJSyellow}{\copy\tw@}\kern3pt}}
% \end{macrocode}
%
% Finally, the history information, when present, is printed at the
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 4d9c8ae4f8..bf7f73c7c4 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-english.mbs b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
index b23be11c43..18f0ccbd78 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-english.mbs
@@ -31,7 +31,7 @@
%-------------------------------------------------------------------
% Begin module:
%\fi
- % \ProvidesFile{cjs-rcs-english.mbs}[2024/07/14 v1.1 (VG, PWD)]
+ % \ProvidesFile{cjs-rcs-english.mbs}[2024/07/30 v1.1a (VG, PWD)]
%\iffalse
%<*a&!a>
% The following ensures that the driver part is not seen by makebst
@@ -87,7 +87,7 @@
%% Configuration of the glossary
\addto\extrasenglish{%
- \def\glossaryname{Version history}}
+ \def\glossaryname{History of changes}}
\GlossaryPrologue{\section*{\glossaryname}%
\addcontentsline{toc}{section}{\glossaryname}}
\setlength{\GlossaryMin}{5cm}
@@ -125,8 +125,6 @@
% 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 748d449383..4d3a76021c 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-french.mbs
@@ -31,7 +31,7 @@
%-------------------------------------------------------------------
% Begin module:
%\fi
- % \ProvidesFile{cjs-rcs-french.mbs}[2024/07/14 v1.1 (VG, PWD)]
+ % \ProvidesFile{cjs-rcs-french.mbs}[2024/07/30 v1.1a (VG, PWD)]
%\iffalse
%<*a&!a>
% The following ensures that the driver part is not seen by makebst
@@ -87,7 +87,7 @@
%% Configuration of the glossary
\addto\extrasenglish{%
- \def\glossaryname{Version history}}
+ \def\glossaryname{History of changes}}
\GlossaryPrologue{\section*{\glossaryname}%
\addcontentsline{toc}{section}{\glossaryname}}
\setlength{\GlossaryMin}{5cm}
@@ -125,8 +125,6 @@
% 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 75ca76a256..cf79365ffd 100644
--- a/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
+++ b/macros/latex/contrib/cjs-rcs-article/cjs-rcs-merlin.mbs
@@ -32,7 +32,7 @@
% -------------------------------------------------------------------
% Name and version information of the main mbs file:
%\fi
- % \ProvidesFile{cjs-rcs-merlin.mbs}[2023/11/29 v1.0 (VG, PWD, AO, DPC)]
+ % \ProvidesFile{cjs-rcs-merlin.mbs}[2024/07/30 v1.1a (VG, PWD, AO, DPC)]
%\iffalse
%</!tail>
%<*a&!a>
@@ -92,7 +92,7 @@
%% Configuration of the glossary
\addto\extrasenglish{%
- \def\glossaryname{Version history}}
+ \def\glossaryname{History of changes}}
\GlossaryPrologue{\section*{\glossaryname}%
\addcontentsline{toc}{section}{\glossaryname}}
\setlength{\GlossaryMin}{5cm}
@@ -133,7 +133,6 @@
% 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 1cc15b18c7..79fddb7248 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/customenvs/doc/customenvs-doc-en.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf
index fe5aeba297..adbd84e2f6 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 321723f025..9d38bb03ee 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.8}
-\def\TPdate{13/07/2024}
+\def\TPversion{0.1.9}
+\def\TPdate{20/08/2024}
\usepackage{tcolorbox}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
@@ -111,7 +111,10 @@
\section{History}
+\verb|v0.1.9|~:~~~~Title banner
+
\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)
@@ -558,4 +561,77 @@ Regarding the bubble creation commands, \MontreCode{\textbackslash InSMS} and \M
\end{ChatSMS}
\end{demohigh}
+\pagebreak
+
+\section{Title banner}
+
+\subsection{Global usage}
+
+The idea is to propose a banner, made with \TikZ, to present for example a title.
+
+The global style is fixed, but few customizations are possible.
+
+\begin{codehigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri[keys]{number}{title}
+\end{codehigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri{01}{Titre du document}
+\end{demohigh}
+
+Available \MontreCode{keys} are :
+
+\begin{itemize}
+ \item \MontreCode{height} (\MontreCode{2.5em} by default)
+ \item \MontreCode{width} (\MontreCode{\textbackslash linewidth} by default)
+ \item \MontreCode{blockwidth} (\MontreCode{2.75em} by default, but can be set to \MontreCode{auto})
+ \item \MontreCode{coltxt} (\MontreCode{white} by default)
+ \item \MontreCode{fonttxt}
+ \item \MontreCode{swap} (\MontreCode{false} by default, for an other style )
+ \item \MontreCode{maincolor} (\MontreCode{darkgray} by default)
+ \item \MontreCode{collight} (\MontreCode{darkgray!25} by default)
+ \item \MontreCode{colmedium} (\MontreCode{darkgray!50} by default)
+ \item \MontreCode{coldark} (\MontreCode{darkgray} by default)
+ \item \MontreCode{logo}
+ \item \MontreCode{type}
+ \item \MontreCode{dispblock} (\MontreCode{true} by default)
+ \item \MontreCode{num} (\MontreCode{true} by default)
+ \item \MontreCode{customtype}
+\end{itemize}
+
+\subsection{Examples}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=red,type=EXERCISES,blockwidth=auto,logo=\faAddressBook]
+ {7}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=red,type=EXERCISES,blockwidth=5em,logo=\faAddressBook]
+ {7}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=red,type=EXERCISES,blockwidth=auto,logo=\faAddressBook,swap]
+ {07}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [dispblock=false,maincolor=teal,logo=\faSchool]
+ {}{My doc}
+\end{demohigh}
+
+\begin{demohigh}[language=latex/latex3,style/main=teal!25,style/code=teal!25]
+\tkzBannerTri
+ [maincolor=olive,customtype=TP,blockwidth=4em,logo=\faAddressBook,height=4em]
+ {7}{My doc}
+\end{demohigh}
+
+It's possible to redefine \MontreCode{\textbackslash part} (for example).
+
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf
index 47dce47918..5f86baf5c9 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 7a7293ec6e..1d9576f944 100644
--- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
+++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex
@@ -39,8 +39,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.1.8}
-\def\TPdate{13 juillet 2024}
+\def\TPversion{0.1.9}
+\def\TPdate{20 août 2024}
\usepackage{tcolorbox}
\tcbuselibrary{listingsutf8}
\newtcblisting{DemoCode}[1]{%
@@ -62,14 +62,14 @@
keywordstyle={\color{blue}},%
classoffset=1,%
alsoletter={-},%
- morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon},%
+ morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon,part,RenewDocumentCommand,IfBooleanTF},%
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,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore},%
+ 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,\InsererImage,\tkzBannerTri},%
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,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles},%
+ 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,vRemplir,vOffset,vCentrer,height,width,blockwidth,collight,colmedium,coldar,coltxt,fonttxt,swap,maincolor,logo,type,num,dispblock,customtype},%
keywordstyle={\color{orange}}
},%
#1
@@ -149,6 +149,10 @@
\section{Historique}
+\verb|v0.1.9|~:~~~Bannière de titre + Insertion d'images en remplissage vertical
+
+\verb|v0.1.8|~:~~~Nutriscore
+
\verb|v0.1.7|~:~~~~Possibilité de créer des vignettes \textsf{perso}
\verb|v0.1.6|~:~~~~Patch \textsf{displayskip} + Patches \textsf{pas-tableur}
@@ -1306,6 +1310,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}
+\subsection{Bannière de titre}
+
+L'idée est de proposer une bannière, réalisée en \TikZ, pour présenter par exemple un titre.
+
+Il sera ensuite possible de redéfinir un sectionnement du document (\MontreCode{part/section/subsection/...}).
+
+Le style global est fixé, mais des éléments de personnalisations sont possibles (des calculs en interne sont effectués pour adapter la taille des textes).
+
+\begin{DemoCode}{listing only}
+\tkzBannerTri[clés]{numéro}{titre}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri{01}{Titre du document}
+\end{DemoCode}
+
+Les principales \MontreCode{clés} (anglicisées) sont :
+
+\begin{itemize}
+ \item \MontreCode{height} : hauteur de la bannière (\MontreCode{2.5em} par défaut)
+ \item \MontreCode{width} : largeur de la bannière (\MontreCode{\textbackslash linewidth} par défaut)
+ \item \MontreCode{blockwidth} : largeur du bloc gauche (\MontreCode{2.75em} par défaut, mais si \MontreCode{auto}, la largeur s'adaptera à son contenu)
+ \item \MontreCode{coltxt} : couleur des textes (\MontreCode{white} par défaut)
+ \item \MontreCode{fonttxt} : police globale des textes (\MontreCode{white} par défaut)
+ \item \MontreCode{swap} : booléen pour changer le style de la partie droite (\MontreCode{false} par défaut)
+ \item \MontreCode{maincolor} : couleur principale, les dégradés étant calculés automatiquement (\MontreCode{darkgray} par défaut)
+ \item \MontreCode{collight} : couleur la plus claire (\MontreCode{darkgray!25} par défaut)
+ \item \MontreCode{colmedium} : couleur du milieu (\MontreCode{darkgray!50} par défaut)
+ \item \MontreCode{coldark} : couleur la plus foncée (\MontreCode{darkgray} par défaut)
+ \item \MontreCode{logo} : logo éventuel, placé tout à droite
+ \item \MontreCode{type} : type éventuel du document, qui est dans le bloc gauche
+ \item \MontreCode{dispblock} : booléen pour afficher le bloc de gauche (actif par défaut)
+ \item \MontreCode{num} : booléen pour afficher le numéro (actif par défaut)
+ \item \MontreCode{customtype} : texte personnalisé éventuel du bloc gauche
+\end{itemize}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [maincolor=red,type=EXERCICES,blockwidth=auto,logo=\faAddressBook]
+ {7}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [maincolor=red,type=EXERCICES,blockwidth=5em,logo=\faAddressBook]
+ {7}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri[%
+ maincolor=red,type=EXERCICES,blockwidth=auto,logo=\faAddressBook,swap]
+ {07}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [dispblock=false,maincolor=teal,logo=\faSchool]
+ {}{Mon document}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\tkzBannerTri
+ [maincolor=olive,customtype=TP,blockwidth=4em,logo=\faAddressBook,height=4em]
+ {7}{Mon document}
+\end{DemoCode}
+
+Il est de ce fait \textit{normalement} possible (à vérifier quand même\ldots) de modifier le comportement de la commande \MontreCode{\textbackslash part}, dans l'optique de l'utilisation avec une table des matières notamment.
+
+\begin{DemoCode}{}
+%redéfinition de \part avec gestion de la version étoilée
+\RenewDocumentCommand\part{ s m D<>{} }{%
+ \addtocounter{part}{1}%
+ \IfBooleanTF{#1}%
+ {%
+ \tkzBannerTri[#3,num=false]{\thepart}{#2}%
+ }%
+ {%
+ \tkzBannerTri[#3]{\thepart}{#2}%
+ %\addcontentsline{toc}{part}{#2}%éventuellement
+ }%
+}
+%modification de la numérotation, avec forçage du 0
+\renewcommand\thepart{\ifnum\value{part}<10\relax0\fi\arabic{part}}
+
+\part{Éléments de logique}<type=TP,logo=\faAirbnb>
+\end{DemoCode}
+
\pagebreak
\section{Patchs divers}
@@ -1395,4 +1486,24 @@ L'exemple suivant illustre les différentes commandes proposées dans ce package
\end{tikzpicture}
\end{DemoCode}
+\subsection{Insertion d'images avec remplissage de l'espace vertical}
+
+L'idée est de proposer une commande pour adapter la hauteur d'une image à la hauteur restante en base de page.
+
+Cela repose en fait simplement sur l'utilisation de \MontreCode{[height=\textbackslash dimexpr\textbackslash pagegoal-\textbackslash pagetotal\textbackslash relax]}.
+
+\begin{DemoCode}{listing only}
+\InsererImage<vRemplir=true/false,vOffset=...,vCentrer=...>[clés includegraphics]<image>
+\end{DemoCode}
+
+La clé \MontreCode{vOffset} permet de spécifier une longueur à retirer au calcul automatique (par défaut elle est fixée à \MontreCode{0pt})..
+
+La clé \MontreCode{vCentrer} (parmi \MontreCode{m/h/b/n} permet de spécifier un type de centrage vertical, si besoin, parmi \MontreCode{milieu/haut/bas/non} (\MontreCode{n} par défaut).
+
+\begin{DemoCode}{listing only}
+\InsererImage<vRemplir,vOffset=5mm,vCentrer=m>{example-image}
+\end{DemoCode}
+
+\InsererImage<vRemplir,vOffset=5mm,vCentrer=m>{example-image}
+
\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 af81d0b88d..535baa0f18 100644
--- a/macros/latex/contrib/customenvs/tex/customenvs.sty
+++ b/macros/latex/contrib/customenvs/tex/customenvs.sty
@@ -3,9 +3,10 @@
% 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/07/13 0.1.8 Custom classic environments]
+\ProvidesPackage{customenvs}[2024/08/20 0.1.9 Custom classic environments]
%====HISTORIQUE
+% v 0.1.9 tkzBanner + tkzBannerTri + includegraphicsfill
% v 0.1.8 Nutriscore
% v 0.1.7 Style perso pour les vignettes
% v 0.1.6 DisplaySkip patch + Patchs pas-tableur
@@ -2107,4 +2108,264 @@
\end{tikzpicture}%
}
+%====vincludegraphics [fr]
+\newlength{\tmp@includegraphics@vfill@offset}
+
+\defKV[vfillincludegphcs]{vOffset=\setlength\tmp@includegraphics@vfill@offset{#1},vCentrer=\def\tmpincludegpvcenter{#1}}
+\setKVdefault[vfillincludegphcs]{vRemplir=false,vOffset=0pt,vCentrer=n}
+
+\NewDocumentCommand\InsererImage{ D<>{} O{} m }{%
+ \restoreKV[vfillincludegphcs]%
+ \setKV[vfillincludegphcs]{#1}%
+ \ifboolKV[vfillincludegphcs]{vRemplir}%
+ {%
+ \IfStrEqCase{\tmpincludegpvcenter}{%
+ {m}{\vfill\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}\vfill}%
+ {h}{\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}\vfill}%
+ {b}{\vfill\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}}%
+ {n}{\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}}%
+ }[{\includegraphics[height=\dimexpr\pagegoal-\pagetotal-\tmp@includegraphics@vfill@offset\relax,#2]{#3}}]%
+ }%
+ {%
+ \includegraphics[#2]{#3}%
+ }%
+}
+
+%===tkzBanner mixte
+\defKV[tkzBannerKeys]{%
+ maincolor=\def\tkzBannermaincol{#1}
+}
+
+\setKVdefault[tkzBannerKeys]{%
+ height=2.1cm,%
+ width=\linewidth,%
+ collight=teal!25,%
+ colmedium=teal!75,%
+ coldark=teal,%
+ coltxt=white,%
+ fonttxt=\sffamily\bfseries,%
+ swap=false,%
+ maincolor={},%
+ num=true
+}
+
+\NewDocumentCommand\tkzBanner{ O{} m m }{%
+ \noindent%
+ \restoreKV[tkzBannerKeys]%
+ \setKV[tkzBannerKeys]{#1}%
+ \pgfmathsetmacro{\tkzBannerscale}{\useKV[tkzBannerKeys]{width}/\linewidth}%
+ \begin{tikzpicture}
+ \IfEq{\tkzBannermaincol}{}%
+ {%
+ \tikzset{tkzbannerdark/.style={\useKV[tkzBannerKeys]{coldark}}}
+ \tikzset{tkzbannermedium/.style={\useKV[tkzBannerKeys]{colmedium}}}
+ \tikzset{tkzbannerlight/.style={\useKV[tkzBannerKeys]{collight}}}
+ }%
+ {%
+ \tikzset{tkzbannerdark/.style={\tkzBannermaincol}}
+ \tikzset{tkzbannermedium/.style={\tkzBannermaincol!75}}
+ \tikzset{tkzbannerlight/.style={\tkzBannermaincol!25}}
+ }%
+ %coordinates
+ \coordinate (tkzBanner-NW) at (0,{\useKV[tkzBannerKeys]{height}}) ;
+ \coordinate (tkzBanner-SW) at (0,0) ;
+ \coordinate (tkzBanner-NE) at ({\useKV[tkzBannerKeys]{width}},{\useKV[tkzBannerKeys]{height}}) ;
+ \coordinate (tkzBanner-SE) at ({\useKV[tkzBannerKeys]{width}},0) ;%
+ %swap or note
+ \ifboolKV[tkzBannerKeys]{swap}%
+ {%
+ \coordinate (tkzBanner-A) at ($(tkzBanner-SE)!0.57!(tkzBanner-SW)$) ;
+ \coordinate (tkzBanner-B) at ($(tkzBanner-NE)!0.91!(tkzBanner-NW)$) ;
+ \coordinate (tkzBanner-C) at ($(tkzBanner-NE)!0.92!(tkzBanner-NW)$) ;
+ \coordinate (tkzBanner-D) at ($(tkzBanner-SE)!0.63!(tkzBanner-SW)$) ;
+ }%
+ {%
+ \coordinate (tkzBanner-A) at ($(tkzBanner-SW)!0.57!(tkzBanner-SE)$) ;
+ \coordinate (tkzBanner-B) at ($(tkzBanner-NW)!0.91!(tkzBanner-NE)$) ;
+ \coordinate (tkzBanner-C) at ($(tkzBanner-NW)!0.92!(tkzBanner-NE)$) ;
+ \coordinate (tkzBanner-D) at ($(tkzBanner-SW)!0.63!(tkzBanner-SE)$) ;
+ }%
+ %drawing
+ \fill[tkzbannerdark] (0,0) rectangle ({\useKV[tkzBannerKeys]{width}},{\useKV[tkzBannerKeys]{height}});
+ \ifboolKV[tkzBannerKeys]{swap}%
+ {%
+ \fill[tkzbannerlight] (tkzBanner-A) to[bend left=8] (tkzBanner-B) -- (tkzBanner-C) to[bend right=7] (tkzBanner-D) -- cycle ;
+ \fill[tkzbannermedium] (tkzBanner-C) to[bend right=7] (tkzBanner-D) -- (tkzBanner-SW) |- cycle ;
+ }%
+ {%
+ \fill[tkzbannerlight] (tkzBanner-A) to[bend right=8] (tkzBanner-B) -- (tkzBanner-C) to[bend left=7] (tkzBanner-D) -- cycle ;
+ \fill[tkzbannermedium] (tkzBanner-C) to[bend left=7] (tkzBanner-D) -- (tkzBanner-SE) |- cycle ;
+ }%
+ %nodes
+ \ifboolKV[tkzBannerKeys]{swap}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},below left,font={\useKV[tkzBannerKeys]{fonttxt}},scale={2*\tkzBannerscale}] at (tkzBanner-NE) {\vphantom{qÉ}#2};
+ \ifboolKV[tkzBannerKeys]{num}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},above right,font={\useKV[tkzBannerKeys]{fonttxt}},scale={1.25*\tkzBannerscale}] at (tkzBanner-SW) {\vphantom{qÉ}#3};
+ }%
+ {}%
+ }%
+ {%
+ \ifboolKV[tkzBannerKeys]{num}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},above left,font={\useKV[tkzBannerKeys]{fonttxt}},scale={1.25*\tkzBannerscale}] at (tkzBanner-SE) {\vphantom{qÉ}#3};
+ }%
+ {}%
+ \node[inner sep=2pt,text={\useKV[tkzBannerKeys]{coltxt}},below right,font={\useKV[tkzBannerKeys]{fonttxt}},scale={2*\tkzBannerscale}] at (tkzBanner-NW) {\vphantom{qÉ}#2};
+ }%
+ \end{tikzpicture}%
+}
+
+%====titre stylisé [fr], à voir avec part ??
+\newlength{\tmp@tkzbanner@autowidthtype}
+\setlength\tmp@tkzbanner@autowidthtype{2.5em}
+\newlength{\tmp@tkzbanner@autowidthnum}
+\setlength\tmp@tkzbanner@autowidthnum{2em}
+\newlength{\tmp@tkzbanner@marginoffsetbanner}
+\setlength\tmp@tkzbanner@marginoffsetbanner{2pt}
+\newlength{\tmp@tkzbanner@autowidth}
+\setlength\tmp@tkzbanner@autowidth{2.5em}
+
+\defKV[tkzBannerpartKeys]{%
+ maincolor=\def\tkzBannermaintricol{#1},%
+ logo=\def\tkzBannermaintrilogo{#1},%
+ type=\def\tkzBannermaintritype{#1},%
+ blockwidth=\def\tkzBannermaintriblockwidth{#1},%
+ customtype=\def\tkzBannermaintritypelibre{#1}
+}
+
+\setKVdefault[tkzBannerpartKeys]{%
+ height=2.5em,%
+ width=\linewidth,%
+ blockwidth=2.75em,%
+ collight=darkgray!25,%
+ colmedium=darkgray!50,%
+ coldark=darkgray,%
+ coltxt=white,%
+ fonttxt=\sffamily\bfseries,%
+ swap=false,%
+ maincolor={},%
+ logo={},%
+ type={},%
+ num=true,
+ dispblock=true,%
+ customtype={}
+}
+
+\NewDocumentCommand\tkzBannerTri{ O{} m m }{%
+ %#1 := clés
+ %#2 := numéro
+ %#3 := titre
+ \noindent%
+ \restoreKV[tkzBannerpartKeys]%
+ \setKV[tkzBannerpartKeys]{#1}%
+ \pgfmathsetmacro{\tkzBannertriscale}{0.75*\useKV[tkzBannerpartKeys]{height}/1.25cm}%
+ \pgfmathsetmacro{\scaletypedoctribanner}{1.05*0.75*\useKV[tkzBannerpartKeys]{height}/1.25cm}%
+ \pgfmathsetmacro{\scaletypedoctribannernum}{2.5*0.75*\useKV[tkzBannerpartKeys]{height}/1.25cm}%
+ \pgfmathsetmacro{\tkzBannertriangle}{0.10*\useKV[tkzBannerpartKeys]{height}/\useKV[tkzBannerpartKeys]{width}}%
+ \IfEq{\tkzBannermaintriblockwidth}{auto}%
+ {%
+ \settowidth{\tmp@tkzbanner@autowidthtype}{\scalebox{\scaletypedoctribanner}[\scaletypedoctribanner]{\sffamily\bfseries\vphantom{qÉ}\tkzBannermaintritype}}%
+ \addtolength{\tmp@tkzbanner@autowidthtype}{4pt}%
+ \settowidth{\tmp@tkzbanner@autowidthnum}{\scalebox{\scaletypedoctribannernum}[\scaletypedoctribannernum]{\sffamily\bfseries\vphantom{qÉ}00}}%
+ \addtolength{\tmp@tkzbanner@autowidthnum}{4pt}%
+ \pgfmathsetlength{\tmp@tkzbanner@autowidth}{max(\tmp@tkzbanner@autowidthtype,\tmp@tkzbanner@autowidthnum)}%
+ }%
+ {%
+ \setlength\tmp@tkzbanner@autowidth{\tkzBannermaintriblockwidth}%
+ }%
+ \begin{tikzpicture}
+ \IfEq{\tkzBannermaintricol}{}%
+ {%
+ \tikzset{tkzbannertridark/.style={\useKV[tkzBannerpartKeys]{coldark}}}
+ \tikzset{tkzbannertrimedium/.style={\useKV[tkzBannerpartKeys]{colmedium}}}
+ \tikzset{tkzbannertrilight/.style={\useKV[tkzBannerpartKeys]{collight}}}
+ }%
+ {%
+ \tikzset{tkzbannertridark/.style={\tkzBannermaintricol}}
+ \tikzset{tkzbannertrimedium/.style={\tkzBannermaintricol!50}}
+ \tikzset{tkzbannertrilight/.style={\tkzBannermaintricol!25}}
+ }%
+ %coordinates
+ \coordinate (tkzBannerTri-NW) at (0,{\useKV[tkzBannerpartKeys]{height}}) ;
+ \coordinate (tkzBannerTri-SW) at (0,0) ;
+ \coordinate (tkzBannerTri-NE) at ({\useKV[tkzBannerpartKeys]{width}},{\useKV[tkzBannerpartKeys]{height}}) ;
+ \coordinate (tkzBannerTri-SE) at ({\useKV[tkzBannerpartKeys]{width}},0) ;%
+ \coordinate (tkzBannerTri-SWd) at ($(tkzBannerTri-SW)!0.05!(tkzBannerTri-NW)$) ;%
+ \coordinate (tkzBannerTri-SEd) at ($(tkzBannerTri-SE)!0.15!(tkzBannerTri-NE)$) ;%
+ %drawing & shadow
+ \fill[lightgray!75] ([yshift=-1pt]tkzBannerTri-SWd) -- ([yshift=-1pt]tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ \ifboolKV[tkzBannerpartKeys]{swap}%
+ {%
+ \fill[white] (tkzBannerTri-SWd) -- (tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ \draw[line width=1pt,tkzbannertridark] ([shift={(0.5pt,-0.5pt)}]tkzBannerTri-NW) -| ([shift={(-0.5pt,0)}]tkzBannerTri-SEd) -- (tkzBannerTri-SWd) ;
+ }%
+ {%
+ \fill[tkzbannertrimedium] (tkzBannerTri-SWd) -- (tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ }%
+ \ifboolKV[tkzBannerpartKeys]{dispblock}%
+ {%
+ \begin{scope}
+ \clip ($(tkzBannerTri-SW)!0.0375!(tkzBannerTri-NW)$) -- ($(tkzBannerTri-SE)!0.1375!(tkzBannerTri-NE)$) -- (tkzBannerTri-NE) -| cycle ;
+ %light
+ \fill[tkzbannertrilight] (tkzBannerTri-NW) --++ ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner},0) -- ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner+1em},{0.5*\useKV[tkzBannerpartKeys]{height}}) -- ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner},0) -- (tkzBannerTri-SW) -- cycle ;
+ \end{scope}
+ \begin{scope}
+ \clip ($(tkzBannerTri-SW)!0.025!(tkzBannerTri-NW)$) -- ($(tkzBannerTri-SE)!0.125!(tkzBannerTri-NE)$) -- (tkzBannerTri-NE) -| cycle ;
+ %medium
+ \fill[tkzbannertrimedium] (tkzBannerTri-NW) --++ ({\tmp@tkzbanner@autowidth+\tmp@tkzbanner@marginoffsetbanner},0) -- ({\tmp@tkzbanner@autowidth+\tmp@tkzbanner@marginoffsetbanner+1em},{0.5*\useKV[tkzBannerpartKeys]{height}}) -- ({\tmp@tkzbanner@autowidth+\tmp@tkzbanner@marginoffsetbanner},0) -- (tkzBannerTri-SW) -- cycle ;
+ \end{scope}
+ \begin{scope}
+ \clip ($(tkzBannerTri-SW)!0.0125!(tkzBannerTri-NW)$) -- ($(tkzBannerTri-SE)!0.1125!(tkzBannerTri-NE)$) -- (tkzBannerTri-NE) -| cycle ;
+ %dark
+ \fill[tkzbannertridark] (tkzBannerTri-NW) --++ ({\tmp@tkzbanner@autowidth},0) -- ({\tmp@tkzbanner@autowidth+1em},{0.5*\useKV[tkzBannerpartKeys]{height}}) -- ({\tmp@tkzbanner@autowidth},0) -- (tkzBannerTri-SW) -- cycle ;
+ \IfEq{\tkzBannermaintritypelibre}{}%
+ {%
+ \ifboolKV[tkzBannerpartKeys]{num}%
+ {%
+ \IfEq{\tkzBannermaintritype}{}%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#2};
+ }%
+ {%
+ \node[inner sep=2pt,below=1pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={1.05*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintritype};
+ \node[inner sep=2pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{0.425*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#2};
+ }%
+ }%
+ {}%
+ }%
+ {%
+ \node[inner sep=2pt,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({0.5*\tmp@tkzbanner@autowidth},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintritypelibre};
+ }%
+ \end{scope}
+ }%
+ {}%
+ %nodes
+ \begin{scope}
+ \clip (tkzBannerTri-SWd) -- (tkzBannerTri-SEd) -- (tkzBannerTri-NE) -| cycle ;
+ \ifboolKV[tkzBannerpartKeys]{swap}%
+ {%
+ \node[inner sep=2pt,right,text=\tkzBannermaintricol,font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.75*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner+1.25em},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#3};
+ %logo
+ \IfEq{\tkzBannermaintrilogo}{}%
+ {}%
+ {%
+ \node[inner sep=2pt,left,text=\tkzBannermaintricol,font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\useKV[tkzBannerpartKeys]{width}},{0.55*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintrilogo};
+ }%
+ }%
+ {%
+ \node[inner sep=2pt,right,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.75*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\tmp@tkzbanner@autowidth+2*\tmp@tkzbanner@marginoffsetbanner+1.25em},{0.5*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}#3};
+ %logo
+ \IfEq{\tkzBannermaintrilogo}{}%
+ {}%
+ {%
+ \node[inner sep=2pt,left,text={\useKV[tkzBannerpartKeys]{coltxt}},font={\useKV[tkzBannerpartKeys]{fonttxt}},scale={2.5*\tkzBannertriscale},rotate={atan(\tkzBannertriangle)}] at ({\useKV[tkzBannerpartKeys]{width}},{0.55*\useKV[tkzBannerpartKeys]{height}}) {\vphantom{qÉ}\tkzBannermaintrilogo};
+ }%
+ }%
+ \end{scope}
+ \end{tikzpicture}%
+}
+
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/doibanner/README.md b/macros/latex/contrib/doibanner/README.md
new file mode 100644
index 0000000000..a28fd46abd
--- /dev/null
+++ b/macros/latex/contrib/doibanner/README.md
@@ -0,0 +1,91 @@
+# doibanner
+
+A LaTeX package to generate DOI banners and links.
+
+The `doibanner` package allows to generate a banner for a declared [digital
+object identifier](https://www.doi.org/the-identifier/what-is-a-doi/) (DOI).
+It provides the `\doibanner` macro, which draws the banner using
+[`TikZ`](https://www.ctan.org/pkg/tikz) and adds a link via
+[`hyperref`](https://www.ctan.org/pkg/hyperref), if desired. Its output can
+be scaled by [`adjustbox`](https://www.ctan.org/pkg/adjustbox) and it might
+look as follows:
+
+![_DOI banner generated with `\doibanner`_](./example/doibanner_example.png "Example generated with doibanner")
+
+Latest release: 2024-07-28 v0.3
+
+
+## Installation
+
+Skip this section, if `doibanner` is already provided in your TeX distribution.
+You should be able to install it [from the CTAN](https://www.ctan.org/pkg/doibanner)
+via your distribution's utility (e.g. the TeX Live Utility).
+
+### Manual installation
+
+You can get the package's source code from the
+[project repository on Codeberg](https://codeberg.org/Cs137/doibanner).
+The repository contains a build script, which allows you to build the required
+files for the `doibanner` package and copy them into your _TeX Directory Structure_
+(TDS) using `l3build`. Ensure that `l3build` is installed on your system and run
+it from the repository's root directory as follows:
+
+```bash
+l3build install --full
+```
+
+The `--full` option ensures that all necessary files are built and installed.
+
+If you do not want to install the package into your TDS, but use it in a
+particular LaTeX project, follow the steps listed below.
+
+1. unpack `doibanner.sty` from the `doibanner.dtx` file
+ - using `l3build` and the `build.lua` script: `l3build unpack`, __or__
+ - directly via the installer file: `pdflatex doibanner.ins`
+2. copy the extracted `doibanner.sty` file into the same directory as your LaTeX sources.
+
+
+## Usage
+
+Please consult the [package documentation](http://mirrors.ctan.org/macros/latex/contrib/doibanner/doibanner.pdf)
+for detailed usage information.
+
+If you have any questions or need assistance, feel free to
+[open an issue on the repository](https://codeberg.org/Cs137/doibanner/issues).
+
+
+## Contributing
+
+Contributions to the `doibanner` package are very welcomed. Feel free to submit
+a [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls), if you would
+like to contribute to the project. In case you are unfamiliar with the process,
+consult the [forgejo documentation](https://forgejo.org/docs/latest/user/pull-requests-and-git-flow/)
+and follow the steps using this repository instead of the `example` repository.
+
+Create your [pull request (PR)](https://codeberg.org/Cs137/doibanner/pulls) to
+inform that you started working on a contribution. Provide a clear description
+of your envisaged changes and the motivation behind them, prefix the PR's title
+with ``WIP: `` until your changes are finalised.
+
+All kind of contributions are appreciated, whether they are
+bug fixes, new features, or improvements to the documentation.
+
+
+### Contributors
+
+- [Christian Schreinemachers](https://codeberg.org/Cs137)
+- [Marei Peischl](https://chaos.social/@TeXhackse)
+
+
+## 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).
+It 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..e004b53e31
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.dtx
@@ -0,0 +1,412 @@
+% \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
+% README.md
+% and the derived files
+% doibanner.sty
+% doibanner.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{doibanner}
+%<package> [2024-07-28 v0.3 Generate DOI banners and links]
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[%
+ pdfusetitle,%
+ hyperindex=false,%
+ pdfsubject={LaTeX package documentation},%
+ pdfkeywords={doibanner, latex, documentation}%
+]{hyperref}
+\usepackage{doibanner}
+\usepackage[toc]{multitoc}
+\usepackage{geometry}
+\usepackage{fancyvrb}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\DoNotIndex{\adjustbox,\begin,\bfseries,\DeclareKeys,\definecolor,\end,\fill,
+ \fontfamily,\href,\IfBooleanTF,\Large,\NewDocumentCommand,\node,
+ \ProcessKeyOptions,\RequirePackage,\relax,\selectfont,\SetKeys,
+ \sfdefault,\tikzstyle}
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{40ex}
+\setlength{\columnseprule}{.4pt}
+\addtolength{\oddsidemargin}{2cm}
+\addtolength{\textwidth}{-2cm}
+\begin{document}
+ \DocInput{doibanner.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \pagestyle{headings}
+%
+% \newcommand*{\package}[1]{\textsf{#1}}
+% \newcommand*{\opt}[1]{\texttt{#1}}
+% \newcommand*{\default}[1]{(default: \opt{#1})}
+%
+%
+% ^^A -----------------------------
+%
+% \changes{v0.3}{2024-07-28}{%
+% Add package options \opt{width} and \opt{label},
+% fix mistakes,
+% improve documentation,
+% remove unnecessary dependencies}
+% \changes{v0.2}{2024-07-23}{%
+% Initial release,
+% convert into dtx,
+% add documentation,
+% add \opt{urlbase} package option}
+% \changes{v0.1}{2021/05/09}{Initial version}
+%
+% \GetFileInfo{doibanner.sty}
+%
+%
+% ^^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})}%
+% }
+% \maketitle
+%
+%
+% ^^A -----------------------------
+%
+% \begin{abstract}
+% The \package{doibanner} package allows to generate a banner for a declared
+% \href{https://www.doi.org/the-identifier/what-is-a-doi/}{digital object identifier}
+% (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 can be scaled by \package{adjustbox} and it might look as follows:
+% \par\medskip\centering{\doibanner*[width=5cm]{xx.xxxx/yyyyyy.zzzzzzzz}}
+% \end{abstract}
+%
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% I published several documents on \href{https://zenodo.org/}{\emph{Zenodo}},
+% a general-purpose open repository. They offer to register a
+% \href{https://www.doi.org/the-identifier/what-is-a-doi/}{digital object identifier}
+% (DOI) for an entry and download a banner of it. The latter can be added to
+% contents foreseen for the entry, or e.g. when referring to the entry in a
+% slide deck.
+%
+% Since I frequently use such banners in \LaTeX{} documents, I decided to
+% create a package that generates a similar banner and includes a link to the
+% corresponding URL. Additionally, this package eliminates the need to
+% manually download the banner and manage a file that might be used across
+% multiple documents.
+%
+% Due to the motivation, the resulting banner is heavily inspired by the
+% design applied in the banner offered by \emph{Zenodo}. It is drawn using
+% the \package{tikz} package, a link to its URL can be included with
+% \package{hyperref}, and it can be scaled using \package{adjustbox}.
+%
+% The application of this package is not limited to \emph{Zenodo}
+% depositions, it can be used to create a banner for a DOI 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
+% In order to change the default behaviour of this package, declare one
+% or more of the options described in this subsection with your desired
+% value.
+%
+% \DescribeMacro{label=\meta{string}}
+% \default{DOI} specifies the label (left part) of the DOI banner generated
+% by \cs{doibanner}. The widths of the left and right part of the banner
+% are fixed and do currently not take the length of the text displayed on
+% top into account. Consequently, only a short expression should be declared
+% as value for the option \opt{label}.
+%
+% \DescribeMacro{urlbase=\meta{string}}
+% \default{https://doi.org/} specifies the base URL to convert a DOI string
+% into its URL, for normal use cases this does not require any adjustment.
+%
+% \DescribeMacro{width=\meta{dimen}}
+% \default{3.6cm} specifies the total width of the DOI banner generated by
+% \cs{doibanner}. The widths of the individual parts of the banner are
+% fixed and can currently not be changed.
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+% ^^A
+% \subsubsection*{\cs{doibanner}\oarg{dimen}\marg{string}}
+%
+% A DOI banner can be created using the command \cs{doibanner}, which requires
+% a DOI string as argument. Moreover, a \oarg{dimen} option can be defined.
+% The latter specifies the banner's width. If it is not declared, the value
+% of the \opt{width} package option is taken into account \default{3.6cm}.
+%
+% \DescribeMacro{\doibanner}
+% An execution of \cs{doibanner\{xx.xxxx/yyyyyy.zzzzzzzz\}} results in this
+% banner: \doibanner{xx.xxxx/yyyyyy.zzzzzzzz} If a banner with a width of
+% let's say 3\,cm is desired, it can be achieved by specifying the macro option
+% \opt{width} accordingly (\cs{doibanner}\opt{[width=3cm]\{xx.xxxx/yyyyyy.zzzzzzzz\}}):
+% \doibanner[width=3cm]{xx.xxxx/yyyyyy.zzzzzzzz}
+%
+% \DescribeMacro{\doibanner*}
+% 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*{\cs{doiurl}\marg{string}}
+% ^^A
+% \DescribeMacro{\doiurl}
+% 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*}
+% 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 is as follows:
+% \doiurl*{xx.xxxx/yyyyyy.zzzzzzzz}.
+%
+%
+% ^^A -----------------------------
+%
+% ^^A \section{Known limitations}
+% ^^A ^^A
+% ^^A \begin{itemize}
+% ^^A \item
+% ^^A \end{itemize}
+%
+%
+% ^^A -----------------------------
+%
+% \MaybeStop{
+%
+% \IndexPrologue{%
+% \section{Index}
+% Numbers written in italic refer to the page where the corresponding entry
+% is described; numbers underlined refer to the code line of the definition;
+% numbers in roman refer to the code lines where the entry is used.
+% }
+% \PrintIndex
+%
+% \GlossaryPrologue{%
+% \section{Change History}
+% The changes listed in this section aim to provide a brief overview of the
+% changes introduced into the package \package{doibanner}. The
+% \href{https://codeberg.org/Cs137/doibanner/}{package repository on Codeberg}
+% contains a
+% \href{https://codeberg.org/Cs137/doibanner/src/branch/main/CHANGELOG.md}{changelog file},
+% consult it to read a detailed description of the changes introduced into
+% this package.
+% }
+% \PrintChanges
+%
+% }
+%
+%
+% ^^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}}, and
+% \href{https://www.ctan.org/pkg/tikz}{\package{tkiz}}
+% are required as package dependencies.
+%
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+\RequirePackage{adjustbox}
+\RequirePackage{hyperref}
+\RequirePackage{tikz}
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Constants}
+% ^^A
+% Definition of colours for the banner areas and labels, custom colour
+% definitions are currently not supported.
+% \begin{macrocode}
+\definecolor{leftcolor}{RGB}{82,82,82}
+\definecolor{rightcolor}{RGB}{6,119,183}
+%
+\definecolor{toptextcolor}{RGB}{235,235,235}
+\definecolor{bottomtextcolor}{RGB}{59,59,59}
+% \end{macrocode}
+% ^^A
+% Definition of font and colour for the banner's top and bottom text layers.
+% \begin{macrocode}
+\tikzstyle{toptextstyle} = [
+ font=\fontfamily{\sfdefault}\selectfont\bfseries\Large,toptextcolor]
+\tikzstyle{bottomtextstyle} = [
+ font=\fontfamily{\sfdefault}\selectfont\bfseries\Large,bottomtextcolor]
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Options}
+% ^^A
+% The package options are internally available as \cs{@doibanner@}\meta{option}.
+% \begin{macrocode}
+\DeclareKeys[@doibanner]{
+ label.store = \@doibanner@label,
+ label.usage = load,
+ urlbase.store = \@doibanner@urlbase,
+ urlbase.usage = load,
+ width.store = \@doibanner@width,
+ width.usage = load,
+}
+% \end{macrocode}
+%
+% \subsubsection*{Assignement of default values}
+% \begin{macrocode}
+\SetKeys[@doibanner]{
+ label=DOI,
+ urlbase=https://doi.org/,
+ width=3.6cm,
+}
+% \end{macrocode}
+%
+% \subsubsection*{Processing of package options}
+% \begin{macrocode}
+\ProcessKeyOptions[@doibanner]\relax
+% \end{macrocode}
+%
+%
+% ^^A -----------------------------
+%
+% \subsection{Macros}
+%
+% \changes{v0.2}{2024-07-23}{Remove \cs{doi} macro}
+%
+% \begin{macro}{\doiurl}
+% \changes{v0.2}{2024-07-23}{Remove trailing space}
+% \oarg{dimen}\\
+% The \meta{string} is appended to the package option \opt{urlbase} to
+% generate the 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}
+% \changes{v0.3}{2024-07-28}{Rename macro, remove top part}
+% \oarg{dimen}\marg{string}\\
+% Draw the DOI banner including its \opt{label} and \meta{string}, provide
+% \opt{width=\meta{dimen}} to define the banners width as well.
+% \begin{macrocode}
+\NewDocumentCommand\@doibanner@draw{o m}{%
+ \adjustbox{#1}{%
+ \begin{tikzpicture}
+% left part
+ \fill [leftcolor,draw]
+ (1.5,0) --
+ ++(0,.8) {[rounded corners=5] --
+ ++(-1.5,0) --
+ ++(0,-.8)} --
+ cycle
+ {};
+ \node[bottomtextstyle] at (.75,.35) {\@doibanner@label};
+ \node[toptextstyle] at (.75,.4) {\@doibanner@label};
+% right part
+ \fill [rightcolor,draw]
+ (1.5,0) {[rounded corners=5] --
+ ++(6.5,0) --
+ ++(0,.8)} --
+ ++(-6.5,0) --
+ cycle
+ {};
+ \node[bottomtextstyle] at (4.75,.35) {#2};
+ \node[toptextstyle] at (4.75,.4) {#2};
+ \end{tikzpicture}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\doibanner}
+% \changes{v0.3}{2024-07-28}{Add \opt{width} option}
+% \changes{v0.2}{2024-07-23}{Remove trailing space}
+% \oarg{dimen}\marg{string}\\
+% Display the DOI banner with or without (*) a link to its URL. Specify a
+% \oarg{dimen}, if you want a banner width deviating from the one defined
+% as \opt{width} package option.
+% \begin{macrocode}
+\NewDocumentCommand\doibanner{s O{width=\@doibanner@width} m}{%
+ \IfBooleanTF#1
+ {\@doibanner@draw[#2]{#3}}%
+ {\href{\@doibanner@urlbase#3}{\@doibanner@draw[#2]{#3}}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \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..97cfbb3fbb
--- /dev/null
+++ b/macros/latex/contrib/doibanner/doibanner.ins
@@ -0,0 +1,85 @@
+%%
+%% 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
+%% README.md
+%% and the derived files
+%% doibanner.sty
+%% doibanner.pdf
+%%
+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
+ README.md
+and the derived files
+ doibanner.sty
+ doibanner.pdf
+\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..546b0c9de1
--- /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 da9e2cfd83..a04be06f54 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -1,5 +1,5 @@
# The `easybook` document class
-Easily typesetting Chinese theses or books (v2024ct)
+Easily typesetting Chinese theses or books (v2024dj)
## 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.
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 730fcc1f04..30f7860795 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -14,7 +14,7 @@
% This work has the LPPL maintenance status `maintained'.
%<class|package>\NeedsTeXFormat{LaTeX2e}[2021/11/15]
%<*class>
-\ProvidesExplClass{easybook}{2024/07/18}{2024ct}
+\ProvidesExplClass{easybook}{2024/08/14}{2024dj}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
@@ -301,7 +301,7 @@
%</class>
%<*package>
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2024/07/18}{2024ct}
+\ProvidesExplPackage{easybase}{2024/08/14}{2024dj}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -332,7 +332,7 @@
\clist_map_inline:nn {#1}
{ \AtBeginEnvironment{##1}{#2} }
}
-\cs_new_protected:Npn \eb_at_end_preamble:n
+\cs_set_protected:Npn \ctex_before_end_preamble:n
{ \BeforeBeginEnvironment{document} }
\cs_new_protected:Npn \eb_if_package_loaded:nnF #1#2#3
{
@@ -452,9 +452,9 @@
\seq_set_from_clist:Nn \l__eb_module_paths_seq
{
- tools,font,space,
- bib,thmt,toc,
- hdr,float,ref,geo
+ tools,font,space,bib,
+ thmt,toc,hdr,float,
+ ref,geo,cap
}
\seq_map_inline:Nn \l__eb_module_paths_seq
{
@@ -509,7 +509,6 @@
\ebloadpackage
{
[text]{spbmark},
- [normalem]{ulem},
[{shortlabels,inline}]{enumitem},
chemformula,siunitx,pifont,
geometry,marginnote,
@@ -878,7 +877,7 @@
\str_case:nnF {#1}
{
{ bottom }
- { \bool_set_true:N \l__eb_fnpara_bottom_bool }
+ { \PushFntBottom }
{ flush }
{
\tl_set:Nn \l__eb_footnote_value_tl { plain }
@@ -911,7 +910,6 @@
}
}
-\bool_new:N \l__eb_fnpara_bottom_bool
\tl_new:N \l__eb_fnmarktext_format_tl
\tl_new:N \l__eb_fncustom_format_tl
\clist_new:N \l__eb_footnote_value_clist
@@ -959,7 +957,7 @@
unknown .code:n = \eb_msg_deprecated_option:n { hdr }
}
-\eb_at_end_preamble:n
+\ctex_before_end_preamble:n
{
\bool_if:NT \l__eb_chap_counter_withpart_bool
{ \counterwithin*{chapter}{part} }
@@ -969,58 +967,91 @@
{ page } { \counterwithin*{footnote}{page} }
}
{ \counterwithout*{footnote}{chapter} }
- \eb_fnpara_if_pos_bottom:
}
-\cs_new_protected:Npn \setspread #1 { \linespread{#1}\selectfont }
-\cs_new:Npn \eb@ifvoid #1#2#3 { \ifvoid #1#2\else #3\fi }
-\cs_new_protected:Npn \eb_fnpara_if_pos_bottom:
+
+\def\@if@footnotes@TF #1#2 {\ifvoid\footins #2\else #1\fi}
+\def\@outputbox@removebskip
{
- \bool_if:NT \l__eb_fnpara_bottom_bool
+ \ifx\@textbottom\relax\else
+ \@outputbox@append
+ {
+ \@tempskipa\lastskip
+ \ifnum\gluestretchorder\@tempskipa>\z@
+ \vskip -\@tempskipa
+ \xdef\@outputbox@reinsertbskip
+ {\noexpand\@outputbox@append{\vskip\the\@tempskipa}}
+ \else
+ \global\let\@outputbox@reinsertbskip\relax
+ \fi
+ }
+ \fi
+ }
+\let\@outputbox@reinsertbskip\relax
+\def\@outputbox@append #1
+ {
+ \setbox\@outputbox\vbox
{
- \IfPackageLoadedTF{footmisc}
- {\msg_warning:nn { easybase } { bottom-not-compatible }}
+ \boxmaxdepth\@maxdepth
+ \dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ #1
+ }
+ }
+\def\@outputbox@attachfloats{\@combinefloats}
+\NewHook{makecol/footins/before}
+\NewHook{makecol/footins/begin}
+\def\@outputbox@appendfootnotes
+ {
+ \@if@footnotes@TF
+ {
+ \UseHook{makecol/footins/before}
+ \@outputbox@append
{
- \cs_set:Npn \@makecol
- {
- \setbox\@outputbox\box\@cclv
- \let\@elt\relax
- \xdef\@freelist{\@freelist\@midlist}
- \global\let\@midlist\@empty
- \@combinefloats
- \eb@ifvoid\footins{}
- {
- \setbox\@outputbox\vbox
- {
- \boxmaxdepth\@maxdepth
- \unvbox\@outputbox
- \vfill\relax
- \vskip\skip\footins
- \color@begingroup
- \normalcolor\footnoterule
- \unvbox\footins
- \color@endgroup
- }
- }
- \eb@ifvoid\@kludgeins
- {\@makespecialcolbox}
- {
- \setbox\@outputbox\vbox to\@colht
- {
- \@texttop\dimen@\dp\@outputbox
- \unvbox\@outputbox
- \vskip -\dimen@\@textbottom
- }
- }
- \global\maxdepth\@maxdepth
- }
+ \vskip\skip\footins
+ \UseHook{makecol/footins/begin}
+ \color@begingroup
+ \normalcolor
+ \footnoterule
+ \@nameuse{pdfcolfoot@current}
+ \unvbox\footins
+ \color@endgroup
}
+ }{}
+ }
+\def\@makenormalcolbox
+ {
+ \setbox\@outputbox\vbox to\@colht
+ {
+ \@texttop
+ \dimen@\dp\@outputbox
+ \unvbox\@outputbox
+ \vskip -\dimen@
+ \@textbottom
}
}
-\msg_new:nnn { easybase } { bottom-not-compatible }
+\cs_new_protected:Npn \PushFntBottom
{
- Not~compatible~with~the~'footmisc'~package. \\
- Please~use~the~'bottom'~option~of~'footmisc'~package.
+ \cs_set:Npn \@makecol
+ {
+ \setbox\@outputbox\box\@cclv
+ \@outputbox@removebskip
+ \let\@elt\relax
+ \xdef\@freelist{\@freelist\@midlist}
+ \global\let\@midlist\@empty
+ \@outputbox@attachfloats
+ \@if@footnotes@TF
+ {\@outputbox@append{\vfill}}
+ {\@outputbox@reinsertbskip}
+ \@outputbox@appendfootnotes
+ \ifvbox\@kludgeins
+ \@makespecialcolbox
+ \else
+ \@makenormalcolbox
+ \fi
+ \global\maxdepth\@maxdepth
+ }
}
+\@onlypreamble\PushFntBottom
\cs_new_protected:Npn \eb_footnote_direct_hang:
{
@@ -1076,6 +1107,7 @@
\l__eb_fnpara_format_tl{#1}
\tl_if_eq:NnT \l__eb_footnote_value_tl { hang } { \par }
}
+\cs_new_protected:Npn \setspread #1 { \linespread{#1}\selectfont }
\clist_map_inline:nn { \@footnotetext,\@mpfootnotetext }
{
\eb_patch_cmd:Nnn #1
@@ -1091,12 +1123,12 @@
\ctex_at_end_package:nn { footmisc }
{
\eb_package_date_check:nn { footmisc } { 2022/02/10 }
- \boolfalse{FN@setspace}
- \ifbool{FN@para}{}
+ \ifboolexpr{not (bool {FN@para} or bool {FN@sidefn})}
{
+ \boolfalse{FN@setspace}
\cs_set_eq:NN \@makefntext \eb@@makefntext
\cs_set_eq:NN \@footnotetext \eb@@footnotetext
- }
+ }{}
\ifboolexpr
{
bool {FN@hangfoot} or
@@ -1410,29 +1442,32 @@
\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 }
}
}
@@ -1471,7 +1506,7 @@
\tl_set:Nn \eb@toc@title@level {#1}
\eb_toc_extract_level:
},
- level .initial:e =
+ level .initial:x =
{
\bool_if:NTF \l__eb_class_mode_book_bool
{ \exp_not:N \bichapter* }
@@ -1614,8 +1649,9 @@
{ \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,
@@ -1813,6 +1849,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 }
}
@@ -1841,10 +1879,14 @@
}
\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 \AllotPartialExt #1#2
+\cs_set_protected:Npn \AssignPartialExt #1#2
{
\tl_if_exist:cTF { ttl@partial#1 }
{ \msg_warning:nnnn { easybase } { repeated-ptoc } {#1} {#2} }
@@ -1854,12 +1896,13 @@
{\ttl@topartial{#1}{##1}{##2}}
}
}
+\cs_set_eq:NN \AllotPartialExt \AssignPartialExt
\msg_new:nnn { easybase } { repeated-ptoc }
{
Local~directory~file~'#2'~of~directory~type~'#1'~is \\
repeatedly~allocated.
}
-\AllotPartialExt{lol}{pll}
+\AssignPartialExt{lol}{pll}
\cs_new_protected:Npn \RegisterTitleIfname #1
{
@@ -1930,7 +1973,7 @@
\ctex_at_end_package:nn { imakeidx }
{
- \RenewDocumentCommand{\printindex}{st+od()}
+ \RenewDocumentCommand{\printindex}{st++o}
{
\group_begin:
\tl_set_eq:NN \eb@toc@title \indexname
@@ -1988,19 +2031,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
{
@@ -2010,13 +2053,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} }
@@ -2045,7 +2088,7 @@
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_listing_fp,
+ caplst-spread .fp_set:N = \l__eb_spread_caption_lstlisting_fp,
caption-spread .meta:n =
{
captab-spread = {#1},capfig-spread = {#1},
@@ -2085,8 +2128,30 @@
}
\AfterPreamble{\skip_set:Nn \abovedisplayshortskip { 0ex plus .1ex }}
+\cs_new_protected:Npn \eb@register@cap@options #1
+ {
+ \ctex_define:nn { cap }
+ {
+ #1/unknown .code:n =
+ {
+ \use:x
+ {
+ \exp_not:N \captionsetup[#1]
+ { \eb_unknown_kv_handle: }
+ }
+ },
+ #1/unknown .default:V = \c_novalue_tl,
+ #1 .meta:nn = { ctex/cap/#1 } {##1}
+ }
+ }
+\cs_new_protected:Npn \RegisterCapOptions #1
+ {
+ \clist_map_function:nN {#1}
+ \eb@register@cap@options
+ }
+\RegisterCapOptions{table,figure,lstlisting}
\clist_map_inline:nn
- { table,figure,listing }
+ { table,figure,lstlisting }
{
\DeclareCaptionFont{eb@#1@font}
{
@@ -2104,7 +2169,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}
@@ -2278,6 +2343,9 @@
\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 }
{
@@ -2298,7 +2366,7 @@
\theoremstyle{default}
\cs_undefine:N \proof
\DeclareFloatList{theorem}{loe}
- \AllotPartialExt{loe}{ple}
+ \AssignPartialExt{loe}{ple}
\eb_preto_cmd:nn { listoftheorems }
{
\group_begin:
@@ -2409,7 +2477,7 @@
{ \exp_args:NV \bibliographystyle \l__eb_bib_both_style_tl }
\tl_if_blank:VF \l__eb_bib_cite_style_tl
{ \exp_args:NV \setcitestyle \l__eb_bib_cite_style_tl }
- \NewDocumentCommand{\printbibliography}{st+o}
+ \NewDocumentCommand{\printbibliography}{st++o}
{
\group_begin:
\tl_set_eq:NN \eb@toc@title \bibname
@@ -2457,7 +2525,7 @@
\setcounter{biburllcpenalty}{1}
\setcounter{biburlnumpenalty}{1}
}
-\eb_at_end_preamble:n
+\ctex_before_end_preamble:n
{
\providecommand{\bibname}{\refname}
\clist_if_empty:NF \l__eb_bib_datafile_clist
@@ -2682,9 +2750,100 @@
lstlistingname = Code
}
}
+
+\cs_if_exist:NF \DeclareObjectType
+ { \RequirePackage{xtemplate} }
+\DeclareObjectType{easybook}{0}
+\DeclareTemplateInterface{easybook}{cover}{0}
+ {
+ content : tokenlist = \c_empty_tl,
+ beforecode : tokenlist = \c_empty_tl,
+ aftercode : tokenlist = \c_empty_tl,
+ align : choice {l,r,c,n} = c
+ }
+\DeclareTemplateCode{easybook}{cover}{0}
+ {
+ content = \l__eb_cover_content_tl,
+ beforecode = \l__eb_cover_before_code_tl,
+ aftercode = \l__eb_cover_after_code_tl,
+ align =
+ {
+ l = \cs_set_eq:NN \eb_cover_align: \raggedright,
+ r = \cs_set_eq:NN \eb_cover_align: \raggedleft,
+ c = \cs_set_eq:NN \eb_cover_align: \centering,
+ n = \cs_set:Npn \eb_cover_align: { }
+ }
+ }
+ {
+ \AssignTemplateKeys
+ \tl_use:N \l__eb_cover_before_code_tl
+ \group_begin:
+ \eb_cover_align:
+ \tl_use:N \l__eb_cover_content_tl
+ \tex_par:D
+ \group_end:
+ \tl_use:N \l__eb_cover_after_code_tl
+ }
+\DeclareInstance{easybook}{top}{cover}{}
+\DeclareInstance{easybook}{bottom}{cover}{}
+\DeclareInstance{easybook}{middle}{cover}
+ {
+ content =
+ {
+ \notbool{@titlepage}
+ {
+ \renewcommand{\theupfootnote}{\@fnsymbol\c@footnote}
+ \renewcommand{\thefootnote}{\@fnsymbol\c@footnote}
+ }
+ {}
+ \LARGE\@title\par\vskip 3em
+ \large
+ \begin{tabular}[t]{c}
+ \@author
+ \end{tabular}\par\vskip 1.5em
+ \@date
+ \notbool{@titlepage}{\par\vskip 1.5em}{}
+ \@thanks
+ },
+ beforecode =
+ {
+ \ifbool{@titlepage}
+ {
+ \begin{titlepage}
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let\footnote\thanks
+ \null\vfil\vskip 60\p@
+ }
+ {\null\vskip 20\p@}
+ },
+ aftercode =
+ {
+ \ifbool{@titlepage}
+ {
+ \vfil\null
+ \end{titlepage}
+ }
+ {\thispagestyle{plain}}
+ \setcounter{footnote}{0}
+ }
+ }
+\keys_define:nn { eb/cover }
+ {
+ title .tl_set:N = \@title,
+ author .tl_set:N = \@author,
+ date .tl_set:N = \@date
+ }
+\RenewDocumentCommand{\maketitle}{+O{}}
+ {
+ \keys_set:nn { eb/cover } {#1}
+ \UseInstance{easybook}{top}
+ \UseInstance{easybook}{middle}
+ \UseInstance{easybook}{bottom}
+ }
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/07/18}{2024ct}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/08/14}{2024dj}
{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 9acfeba149..54a5f7024c 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 08f8621e21..02adc43f5f 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024ct,
- date = 2024/07/18,
+ version = v2024dj,
+ date = 2024/08/14,
authors = 瞿毅,
info = 简便地排版中文学ä½è®ºæ–‡æˆ–书ç±,
email = toquyi@163.com,
@@ -249,8 +249,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
cells = {cmd = \pkg*},
cell{1}{3,4} = PaleTurquoise,
cell{2}{5} = PaleTurquoise,
- cell{3}{2} = PaleTurquoise,
cell{4}{5} = PaleTurquoise,
+ cell{5}{2} = PaleTurquoise,
cell{5}{1} = GreenYellow,
cell{1}{2} = GreenYellow,
cell{3}{1,4} = GreenYellow
@@ -259,7 +259,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
enumitem & etoolbox & fancyhdr & geometry & hyperref \\
imakeidx & listings & marginnote & mathtools & multicol \\
pifont & pdfpages & siunitx & spbmark & thmtools \\
- tcolorbox & titletoc & tabularray & ulem &
+ tcolorbox & titletoc & tabularray & &
\end{longtblr}
\section{全局选项}
@@ -298,6 +298,12 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\setCJKmonofont{FangSong}
\newCJKfontfamily[song]\songti{SimSun}
\end{ctexexam}
+
+ 如果用 \textsf{Overleaf} 或 \textsf{TeXPage} 等在线平å°ç¼–译文档,则åªæœ‰ \code{fandol} 字体å¯ç”¨ã€‚使用其它字体å¯å°†å­—体文件上传至项目文件夹,例如上传至 \code{font} 文件夹设置正文和无衬线字体:
+ \begin{ctexexam}
+ \setCJKmainfont{simsun.ttc}[Path = ./font/]
+ \setCJKsansfont{simhei.ttf}[Path = ./font/]
+ \end{ctexexam}
\keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,\fbox{auto}}\dtag
预置的英文字体相关é…置方案如\ref{table:english font} 所示。这些字体已ç»åŒ…å«åœ¨äº† \hologo{TeXLive} å‘行版中,所以通常ä¸éœ€è¦å†ä¸“门安装。如果您想使用默认的Latin Modern或其它英文字体,å¯ä»¥ä½¿ç”¨ \code{auto} 选项é…åˆ \pkg*{fontspec} å®åŒ…的相关命令进行设置。
\begin{longtblr}
@@ -338,7 +344,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\label{sec:interface options}
\begin{cnltxlist}
\command{ctexset}[\oarg{模å—å}\marg{键值列表}]
- \easybook{} 扩展了 \CTeX å®é›† \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模å—选项åŒæ ·å¯ç”¨å®ƒè®¾ç½®ï¼ŒåŽŸæœ‰çš„ \meta{键值列表} ä»ç„¶å¯ç”¨ã€‚本文档类目å‰æœ‰9个模å—用于实现常规的排版功能,如\ref{table:module List} 所示。
+ \easybook{} 扩展了 \CTeX å®é›† \hologo{LaTeX3} 风格键值的通用控制命令 \cs{ctexset},模å—选项åŒæ ·å¯ç”¨å®ƒè®¾ç½®ï¼ŒåŽŸæœ‰çš„ \meta{键值列表} ä»ç„¶å¯ç”¨ã€‚本文档类目å‰æœ‰10个模å—用于实现常规的排版功能,如\ref{table:module List} 所示。
\begin{longtblr}
[caption = 模å—功能和å称清å•,label = table:module List]
{
@@ -348,8 +354,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
}
\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 &
+ \hyperref[subsec:theorem]{定ç†} & \hyperref[subsec:page margins]{页é¢å°ºå¯¸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:contents]{目录} & \hyperref[subsec:caption]{图表题注} \\
+ thmt & geo & hdr & toc & cap
\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{/} åŽä¸èƒ½æœ‰ç©ºæ ¼æˆ–者æ¢è¡Œã€‚
@@ -404,12 +410,14 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\ctexset{tools/figurepath = path1}
\ctexset{tools/figurepath = {path2}{path3}}
\end{ctexexam}
+
+ 以下几个选项用于设置题注编å·çš„连字符,\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{.}}
@@ -472,7 +480,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
设置表格题注的字体,包括字体æ—ã€å­—体系列ã€å­—体尺寸和字体形状命令。
\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}}
åŒæ—¶è®¾ç½®å›¾ç‰‡ã€è¡¨æ ¼å’Œä»£ç é¢˜æ³¨çš„字体命令。
@@ -492,7 +500,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\label{subsec:reference}
\begin{cnltxlist}
\keychoice{backend}{\fbox{bibtex},biblatex}
- å‚考文献处ç†åŽç«¯ã€‚选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处ç†å‚考文献,加载 \pkg*{natbib} å®åŒ…。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} å®åŒ…。
+ å‚考文献处ç†åŽç«¯ã€‚选择 \code{bibtex} 时使用传统的 \hologo{BibTeX} 引擎处ç†å‚考文献,加载 \pkg*{natbib} å®åŒ…。选择 \code{biblatex} 时使用 \hologo{biber} 引擎,加载 \pkg*{biblatex} å®åŒ…。若自动载入å‚考文献å®åŒ…则ä½äºŽå¯¼è¨€åŒºæœ«å°¾ï¼Œä½†åœ¨ \pkg*{hyperref} å®åŒ…之å‰ã€‚
\keychoice{bibstyle}{\fbox{numerical},authoryear,\optpath*{other sty}}
å‚考文献格å¼ä½¿ç”¨ä¸­å›½å‚考文献推è标准GB/T 7714-2015,对应顺åºç¼–ç åˆ¶å’Œè‘—者—出版年制两ç§é£Žæ ¼ã€‚若使用其它格å¼ï¼Œä½¿ç”¨ \hologo{BibTeX} 处ç†æ—¶éœ€ç¡®ä¿æ­£ç¡®çš„ \code{bst} 文件,使用 \hologo{biber} 处ç†å¯ä½¿ç”¨ \pkg*{biblatex} å®åŒ…支æŒçš„å‚考文献风格å称。
\keyval{citestyle}{标注风格}
@@ -544,11 +552,11 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\keyval{style}{定ç†æ ·å¼}\Default{default}
选项的值为使用 \cs{declaretheoremstyle} 命令新定义的定ç†æ ·å¼ã€‚
- 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定ç†æ ·å¼ \code{fancy} 新建一个定ç†çŽ¯å¢ƒçŒœæƒ³ï¼Œç„¶åŽç”¨ä¸€ä¸ªåŸºäºŽ \pkg*{tcolorbox} å®åŒ…çš„é¢„ç½®å½©è‰²ç›’å­ \env{easyboxi} 增加背景:
+ 使用 \cs{declaretheorem} 命令以\ref{exam:new theorem sty} 中的定ç†æ ·å¼ \code{fancy} 新建一个定ç†çŽ¯å¢ƒ \env*{lemma},然åŽç”¨ä¸€ä¸ªåŸºäºŽ \pkg*{tcolorbox} å®åŒ…çš„é¢„ç½®å½©è‰²ç›’å­ \env{easyboxi} 增加背景:
\begin{ctexexam}[labelref = exam:new theorem env]
- \declaretheorem[style = fancy,name = 猜想]{caixiang}
+ \declaretheorem[style = fancy,name = 引ç†]{lemma}
\addtotcbstyle{tc-easyboxi}{colback = GreenYellow}
- \tcolorboxenvironment{caixiang}{tc-easyboxi}
+ \tcolorboxenvironment{lemma}{tc-easyboxi}
\end{ctexexam}
\command{declaretheoremstyle}[\oarg{键值列表1}\marg{定ç†æ ·å¼}\oarg{键值列表2}]
定ç†æ ·å¼å£°æ˜Žå‘½ä»¤ï¼Œé”®å€¼åˆ—表支æŒè‡ªèº«ä»¥åŠå®šç†å£°æ˜Žå‘½ä»¤ \cs{declaretheorem} 的所有选项。å¯é€‰å‚æ•°çš„ \meta{键值列表1} 与 \meta{键值列表2} 等效,其中支æŒçš„选项如下:
@@ -591,21 +599,21 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\command{listoftheorems}[\sarg\oarg{键值列表}]\default{}
\item\key{listoftheorems}{定ç†ç›®å½•æ ‡é¢˜å}
\command{settheoremtocline}[\sarg\marg{环境å}\marg{标题定义}]\newtagv{2024bb}%
- 对 \pkg*{thmtools} å®åŒ…的定ç†çŽ¯å¢ƒç›®å½•å‘½ä»¤ \cs{listoftheorems} 进行了适é…调整,\ref{subsec:directory command} å’Œ\ref{subsec:catalog} 中的选项机制å‡å¯ç”¨ï¼Œä½†æ ‡é¢˜å®šä¹‰é€‰é¡¹ \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令å•ç‹¬è®¾ç½®ã€‚在 \meta{标题定义} 中有三个命令 \cs{thmtname}ã€\cs{thmtenvname} å’Œ \cs{thmtnote} 分别代表定ç†åã€å®šç†çŽ¯å¢ƒå和题注用于排版目录æ¡ç›®ã€‚
+ 对 \pkg*{thmtools} å®åŒ…的定ç†çŽ¯å¢ƒç›®å½•å‘½ä»¤ \cs{listoftheorems} 进行了适é…调整,\ref{subsec:directory command} å’Œ\ref{subsec:contents} 中的选项机制å‡å¯ç”¨ï¼Œä½†æ ‡é¢˜å®šä¹‰é€‰é¡¹ \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令å•ç‹¬è®¾ç½®ã€‚在 \meta{标题定义} 中有三个命令 \cs{thmtname}ã€\cs{thmtenvname} å’Œ \cs{thmtnote} 分别代表定ç†åã€å®šç†çŽ¯å¢ƒå和题注用于排版目录æ¡ç›®ã€‚
\end{cnltxlist}
\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}
- \contentsuse{caixiang}{loe}
- \RegisterTocName{caixiang}
- \setlisttheoremstyle{ignoreall,show = caixiang}
- \settheoremtocline{caixiang}
+ \contentsuse{lemma}{loe}
+ \RegisterTocName{lemma}
+ \setlisttheoremstyle{ignoreall,show = lemma}
+ \settheoremtocline{lemma}
{
- \listnumberline{caixiang}
+ \listnumberline{lemma}
\thmtname\thmtifnote{[\thmtnote]}{}
}
\end{ctexexam}
@@ -632,6 +640,32 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{ctexexam}
\end{cnltxlist}
+\subsection[图表题注]{图表题注\smodule{cap}}
+\label{subsec:caption}
+æ¨¡å— \module*{cap} 用于设置图表等浮动体的题注格å¼ã€‚题注主è¦ç”±ä¸‰éƒ¨åˆ†ç»„æˆï¼šæ ‡é¢˜æ ‡ç­¾å³å›¾è¡¨å与题注编å·çš„组åˆï¼Œæ ‡é¢˜æ–‡æœ¬æœ¬èº«é€šå¸¸æ˜¯å†…容的简短æ述,以åŠå°†æ–‡æœ¬ä¸Žæ ‡ç­¾åˆ†å¼€çš„题注分隔符。å¯ä»¥åœ¨å¯¼è¨€åŒºè®¾ç½®æ•´ä½“æ ¼å¼ï¼Œä¹Ÿå¯ä»¥åœ¨æ­£æ–‡ä½¿ç”¨å±€éƒ¨æ›´æ”¹æ ¼å¼ã€‚æ¨¡å— \module*{cap} ç”± \pkg*{caption} å®åŒ…æ供支æŒï¼ŒæŽ¥å£é€‰é¡¹ä¸Ž \pkg*{caption} å®åŒ…完全一致,但写法为 \meta{æ¡ç›®å}\code{/}\meta{选项}。\pkg*{caption} å®åŒ…æ供了多ç§æ–¹æ³•æ¥å®šåˆ¶æµ®åŠ¨çŽ¯å¢ƒï¼ˆä¾‹å¦‚ \env{figure} å’Œ \env{table})中的题注,并å¯ä¸Žè®¸å¤šå…¶å®ƒå®åŒ…é…åˆä½¿ç”¨ã€‚功能包括旋转题注ã€ä¾§å‘题注和连续题注等。下é¢åˆ—举几个题注选项的用法,\ref{exam:caption set} 中两ç§è®¾ç½®é¢˜æ³¨çš„方法是等效的,更多选项和创建方法å¯æŸ¥çœ‹å®åŒ…文档:
+\begin{cnltxlist}[itemsep = 0ex]
+ \keyval{table/labelsep}{标签分隔符}\default{}
+ \keyval{figure/format}{题注格å¼}\default{}
+ \keyval{lstlisting/font}{题注字体}\default{}
+ \begin{ctexexam}[labelref = exam:caption set]
+ \ctexset[cap]
+ {
+ table/labelsep = space,
+ figure/format = plain
+ }
+ \captionsetup[table]{labelsep = space}
+ \captionsetup[figure]{format = plain}
+ \end{ctexexam}
+ \begin{cnltxlist}
+ \command{RegisterCapOptions}[\marg{æ¡ç›®å列表}]
+ ç»™æ¨¡å— \module*{cap} 注册题注类型为 \meta{æ¡ç›®å} çš„ \pkg*{caption} 接å£é€‰é¡¹ã€‚已预注册 \module*{figure}ã€\module*{table} å’Œ \module*{lstlisting} 三ç§ç±»åž‹çš„题注选项。å¯ä»¥æ­é… \pkg*{newfloat} å®åŒ…创建更多类型的浮动环境并设置相应题注。
+ \end{cnltxlist}
+ \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
+ \command{captionof}[\sarg\marg{æ¡ç›®å}\oarg{目录标题}\marg{标题}]\default{}
+ \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
+ 题注命令 \cs{caption} 用于在图表上下方æ’入题注,需è¦åœ¨æµ®åŠ¨çŽ¯å¢ƒ \env*{figure} å’Œ \env*{table} 中使用。在浮动环境外å¯ä»¥ä½¿ç”¨ \cs{captionof} 命令,第一个å‚数指定æ¡ç›®å。\cs{bicaption} 命令å¯ä»¥å®žçŽ°ä¸­è‹±æ–‡åŒè¯­é¢˜æ³¨ï¼Œéœ€è¦åœ¨å¯¼è¨€åŒºè½½å…¥ \pkg*{bicaption} å®åŒ…,具体用法è§å®åŒ…文档。
+\end{cnltxlist}
+
\subsection[页眉页脚]{页眉页脚\smodule{hdr}}
\label{subsec:header and footer}
æ¨¡å— \module*{hdr} 设置的命令由 \pkg*{fancyhdr} å®åŒ…æ供支æŒã€‚标题标记由标签和标题组æˆï¼Œé€‰é¡¹ä¸­å‚æ•° \code{\#1} 代表当å‰ç« ã€èŠ‚或å°èŠ‚的标题。在 \cls*{book} 模å¼æ—¶ä½¿ç”¨æ ‡é¢˜æ ‡è®°é€‰é¡¹ \option{chapter-mark} å’Œ \option{section-mark},在 \cls*{article} 模å¼æ—¶ä½¿ç”¨ \option{section-mark} å’Œ \option{subsection-mark} 选项,这与标准文档类的行为一致。é‡æ–°è®¾ç½®æ ‡é¢˜æ ‡è®°é€‰é¡¹æ—¶æ ‡è®°å¤§å°å†™é€‰é¡¹ \option{uppercase} 会失效。
@@ -708,6 +742,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\ebhdrset{footnotetype = plain,footnotetype = bottom}
\ebhdrset{footnotetype = {hang,bottom}}
\end{ctexexam}
+ \command{PushFntBottom}\newtagv{2024cx}%
+ 默认情况下当具有 \code{b} å‚数的底部浮动体与脚注åŒæ—¶å­˜åœ¨æ—¶ï¼Œè„šæ³¨å°†ä½äºŽæµ®åŠ¨ä½“上部。此命令å¯ä½¿è„šæ³¨å§‹ç»ˆä½äºŽé¡µé¢åº•éƒ¨ï¼Œä¸Ž \keyis{footnotetype}{bottom} 作用相åŒï¼Œåªèƒ½åœ¨å¯¼è¨€åŒºå…¨å±€ä½¿ç”¨ã€‚
\keyval{fnfirstindent}{刚性长度}\Default{1em}
æ¯ä¸ªè„šæ³¨é¦–段的首行缩进(悬挂缩进 \code{hang} 为整段缩进),等于长度 \cs{fnfirstindent} 的值。
\keyval{fnafterindent}{刚性长度}\Default{2em}
@@ -803,7 +839,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{cnltxlist}
\subsection[目录]{目录\smodule{toc}}
-\label{subsec:catalog}
+\label{subsec:contents}
æ¨¡å— \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
@@ -867,16 +903,16 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\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}
+ \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}
@@ -913,6 +949,8 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
将目录页ç è£…进一个å³å¯¹é½çš„水平盒å­é‡Œã€‚这样å¯ä»¥ä½¿ç›®å½•å¼•å¯¼çº¿å³ç«¯å¯¹é½å¹¶ä¸Žé¡µç ä¿æŒä¸€å®šé—´è·ï¼Œå¦åˆ™ä¼šä¸Žé¡µç ç›¸è¿žã€‚
\keyval{pagenumwd}{刚性长度}\Default{1.55em}
è®¾ç½®å¼€å¯ \option{dotalign} 选项时页ç æ°´å¹³ç›’å­çš„宽度。
+ \keychoice{fileopen}{\fbox{once},odd}
+ 编译文档时打开目录文件进行写入æ“作的方å¼ï¼Œè¿™ä¸ªé€‰é¡¹å½±å“é‡å¤ä½¿ç”¨ç›®å½•å‘½ä»¤æ—¶çš„输出行为。默认åªåœ¨ç¬¬ä¸€æ¬¡ç¼–译时打开文件,选择 \code{odd} 将仅在奇数次编译时打开文件。
\keyval{tocafter-every}{è·ç¦»å‘½ä»¤}\Default{\cs*{hspace}\Marg{1em}}
统一设置所有类型æ¡ç›®ç¼–å·ä¸Žæ ‡é¢˜é—´çš„代ç ã€‚
\keyval{tocindent-every}{刚性长度}
@@ -925,8 +963,47 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\section{环境和命令}
-\subsection{文区命令}
+\subsection{å°é¢å’Œæ–‡åŒº}
\begin{cnltxlist}
+ \command{maketitle}[\oarg{键值列表}]\newtagv{2024dh}%
+ é‡æ–°æ”¹å†™äº†é»˜è®¤çš„å°é¢æ ‡é¢˜å‘½ä»¤ï¼Œåœ¨ä¿è¯åŽŸç”Ÿé£Žæ ¼çš„å‰æ下使用 \pkg*{xtemplate} å®åŒ…å°†å°é¢æŠ½è±¡ä¸ºç”±å®žä¾‹ç»„æˆçš„模æ¿ã€‚并为命令增加了å¯é€‰å‚数,选项的å«ä¹‰ä¸Žæ ‡å‡†æ–‡æ¡£ç±»ä¸€è‡´ï¼š
+ \keyval{title}{文档标题}
+ 设置文档的标题,å¯ä»¥åŒ…å«æ ¼å¼å‘½ä»¤ã€‚如果没有设置标题而输出å°é¢ä¼šæŠ¥é”™ã€‚
+ \keyval{author}{文档作者}
+ 设置文档的作者,å¯ä»¥åŒ…å«æ ¼å¼å‘½ä»¤ã€‚多ä½ä½œè€…之间å¯ä»¥ç”¨ \cs*{and} 命令分隔,æ¯ä¸ªä½œè€…åŽå¯ç”¨ \cs*{thanks} 命令添加致谢脚注。
+ \keyval{date}{文档日期}\Default{\cs*{today}}
+ 设置文档的日期,å¯ä»¥åŒ…å«æ ¼å¼å‘½ä»¤ã€‚默认的文档日期为当å‰æ—¥æœŸ \cs*{today}。
+ \command{DeclareInstance}[\Marg{easybook}\marg{ä½ç½®}\Marg{cover}\marg{键值列表}]
+ å°é¢æ¨¡æ¿å¯ç”¨ \pkg*{xtemplate} æ供的实例声明命令进行自由定制,\ref{exam:cover instance} 举例说明了定制页é¢ä¸­éƒ¨çš„内容。模æ¿ç”±é¡µé¢ä¸Šã€ä¸­å’Œä¸‹ä¸‰ä¸ªä½ç½®çš„实例组æˆï¼Œå®ƒä»¬çš„ \meta{ä½ç½®} å字分别为 \code{top}ã€\code{middle} å’Œ \code{bottom}。æ¯ä¸ªå®žä¾‹çš„属性å¯ç”¨ \meta{键值列表} 修改,包å«çš„选项如下:
+ \keyval{content}{实例内容}
+ 设置实例内容,å¯ä»¥åŒ…å«ä»»ä½•è®°å·åˆ—表。通常为格å¼å’ŒæŽ’版内容的命令,在局部生效。
+ \keyval{beforecode}{实例å‰ä»£ç }
+ 设置实例内容å‰çš„代ç ï¼Œå¯ä»¥åŒ…å«ä»»ä½•è®°å·åˆ—表。通常为æ¢é¡µå’Œåž‚ç›´è·ç¦»çš„命令。
+ \keyval{aftercode}{实例åŽä»£ç }
+ 与 \option{before} 选项类似,设置实例内容åŽçš„代ç ã€‚
+ \keychoice{align}{l,\fbox{c},r,n}
+ 设置实例内容的对é½æ–¹å¼ï¼Œåˆ†åˆ«ä¸ºå·¦ã€ä¸­ã€å³å’Œè‡ªç„¶å¯¹é½ï¼Œè‡ªç„¶å¯¹é½å³æ­£å¸¸çš„段è½æ–‡æœ¬ã€‚
+ \begin{ctexexam}[labelref = exam:cover instance]
+ \DeclareInstance{easybook}{middle}{cover}
+ {
+ content =
+ {
+ \thispagestyle{empty}
+ \begin{tblr}
+ {
+ columns = c,
+ hline{2-4} = {2}{0.5pt,solid},
+ column{1} = {rightsep = 0pt}
+ }
+ 标题:& 一个文档标题 \\
+ 作者:& 张三 \\
+ 日期:& \today
+ \end{tblr}
+ },
+ beforecode = \null\vspace{3cm},
+ aftercode = \clearpage
+ }
+ \end{ctexexam}
\command{frontmatter}[\sarg\oarg{ç¼–å·æ ¼å¼}]\Default{Roman}
å‰è¨€åŒºå‘½ä»¤ã€‚使部分和章标题ä¸ç¼–å·ï¼Œå¸¦æœ‰æ˜Ÿå·çš„å˜ä½“命令ä¸ä½¿ç”¨ \cs{cleardoublepage} å‘½ä»¤ã€‚é¡µç  \meta{ç¼–å·æ ¼å¼} å¯è®¾ç½®ä¸º \code{arabic}ã€\code{Alph}ã€\code{alph}ã€\code{Roman}ã€\code{roman} å’Œ \code{chinese} å½¢å¼ã€‚
\command{mainmatter}[\sarg]
@@ -941,7 +1018,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\subsection{目录命令}
\label{subsec:directory command}
-\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有å¯é€‰å‚数用于设置标题格å¼å’Œæ æ•°ç­‰ï¼Œå¹¶ä¸”与标准文档类ä¸åŒçš„是目录命令å¯åœ¨æ­£æ–‡ä¸­\textbf{é‡å¤}使用\footnote{此功能需è¦\textbf{2023/06/01}以åŽçš„ \hologo{LaTeX} 内核支æŒã€‚}。更多目录命令的创建和样å¼è®¾ç½®å¯å‚考\ref{subsec:catalog}。
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有å¯é€‰å‚数用于设置标题格å¼å’Œæ æ•°ç­‰ï¼Œå¹¶ä¸”与标准文档类ä¸åŒçš„是目录命令å¯åœ¨æ­£æ–‡ä¸­\textbf{é‡å¤}使用\footnote{此功能需è¦\textbf{2023/06/01}以åŽçš„ \hologo{LaTeX} 内核支æŒã€‚}。更多目录命令的创建和样å¼è®¾ç½®å¯å‚考\ref{subsec:contents}。
\begin{cnltxlist}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代ç é’©å­}]
章节标题目录命令,支æŒä¸­è‹±æ–‡åŒè¯­æ ‡é¢˜ç›®å½•è¾“出。带有星å·å‚æ•°ä¸è¾“出目录æ¡ç›®ä¸Šæ–¹çš„标题。\meta{代ç é’©å­} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代ç ï¼Œå¯ä»¥æ’入设置目录样å¼å’Œæ¢é¡µç­‰å‘½ä»¤ã€‚
@@ -1300,30 +1377,16 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{ctexexam}
\end{cnltxlist}
-\subsection{图表题注}
-\pkg*{caption} å®åŒ…æ供了多ç§æ–¹æ³•æ¥å®šåˆ¶æµ®åŠ¨çŽ¯å¢ƒï¼ˆä¾‹å¦‚ \env{figure} å’Œ \env{table})中的标题,并å¯ä¸Žè®¸å¤šå…¶å®ƒå®åŒ…é…åˆä½¿ç”¨ã€‚功能包括旋转题注ã€ä¾§å‘题注和连续题注等。
-\begin{cnltxlist}
- \command{captionsetup}[\oarg{æ¡ç›®å}\marg{键值列表}]
- 这是 \pkg*{caption} å®åŒ…的接å£å‘½ä»¤ï¼Œ\meta{键值列表} æ供多个选项更改图表题注的格å¼ã€‚题注主è¦ç”±ä¸‰éƒ¨åˆ†ç»„æˆï¼šæ ‡é¢˜æ ‡ç­¾å³å›¾è¡¨å与题注编å·çš„组åˆï¼Œæ ‡é¢˜æ–‡æœ¬æœ¬èº«é€šå¸¸æ˜¯å†…容的简短æ述,以åŠå°†æ–‡æœ¬ä¸Žæ ‡ç­¾åˆ†å¼€çš„题注分隔符。å¯ä»¥åœ¨å¯¼è¨€åŒºè®¾ç½®æ•´ä½“æ ¼å¼ï¼Œä¹Ÿå¯ä»¥åœ¨æ­£æ–‡ä½¿ç”¨å±€éƒ¨æ›´æ”¹æ ¼å¼ã€‚
-\end{cnltxlist}
-
-\begin{cnltxlist}[itemsep = 0ex]
- \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{}
- \command{captionof}[\sarg\marg{æ¡ç›®å}\oarg{目录标题}\marg{标题}]\default{}
- \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}]
- 题注命令 \cs{caption} 用于在图表上下方æ’入题注,需è¦åœ¨æµ®åŠ¨çŽ¯å¢ƒ \env*{figure} å’Œ \env*{table} 中使用。在浮动环境外å¯ä»¥ä½¿ç”¨ \cs{captionof} 命令,第一个å‚数指定æ¡ç›®å。å¯ä»¥æ­é… \pkg*{newfloat} å®åŒ…创建更多类型的浮动环境并设置相应题注。\cs{bicaption} 命令å¯ä»¥å®žçŽ°ä¸­è‹±æ–‡åŒè¯­é¢˜æ³¨ï¼Œéœ€è¦åœ¨å¯¼è¨€åŒºè½½å…¥ \pkg*{bicaption} å®åŒ…,具体用法è§è¯´æ˜Žæ–‡æ¡£ã€‚
-\end{cnltxlist}
-
\subsection{索引}
\begin{cnltxlist}
\command{indexsetup}[\marg{键值列表}]
- \pkg*{imakeidx} å®åŒ…增强了索引的功能,å¯ä½¿ç”¨æˆ·åœ¨åˆ¶ä½œå’ŒæŽ’版文档的åŒæ—¶åˆ¶ä½œä¸€ä¸ªæˆ–多个索引。这是 \pkg*{imakeidx} å®åŒ…的接å£å‘½ä»¤ï¼Œç”¨äºŽè®¾ç½®ç´¢å¼•è¡¨çš„整体格å¼ã€‚
+ \pkg*{imakeidx} å®åŒ…增强了索引的功能,å¯ä½¿ç”¨æˆ·åœ¨åˆ¶ä½œå’ŒæŽ’版文档的åŒæ—¶åˆ¶ä½œä¸€ä¸ªæˆ–多个索引。这是 \pkg*{imakeidx} å®åŒ…的接å£å‘½ä»¤ï¼Œç”¨äºŽè®¾ç½®ç´¢å¼•è¡¨çš„整体格å¼ï¼Œå®ƒçš„ \option{level} å’Œ \option{headers} 选项失效。
\command{index}[\oarg{索引å}\marg{标签}]
索引标签命令的å¯é€‰å‚æ•°å¯ä»¥ç”¨ä¸åŒçš„ \meta{索引å} 给多个索引表设置标签。
\command{makeindex}[\oarg{键值列表}]
用于导言区开å¯ç´¢å¼•æ”¶é›†çš„命令。这个命令å¯ä»¥é‡å¤ä½¿ç”¨æ”¶é›†å¤šä¸ªç´¢å¼•è¡¨ï¼Œä»¥ä¸åŒçš„ \meta{索引å} 作为区分,如果仅打å°ä¸€ä¸ªç´¢å¼•è¡¨æ²¡å¿…è¦é‡å¤ä½¿ç”¨ã€‚
\command{printindex}[\sarg\oarg{键值列表}]
- 打å°ä¸åŒç´¢å¼•è¡¨çš„命令。这个命令被é‡æ–°å®šä¹‰ï¼Œ\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相åŒï¼Œä½†æ˜¯æŽ¥å£å‘½ä»¤ \cs{indexsetup} 的部分选项失效。
+ 打å°ä¸åŒç´¢å¼•è¡¨çš„命令。这个命令被é‡æ–°å®šä¹‰ï¼Œ\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相åŒï¼Œå¹¶å¤šå‡º \option{name} 选项用于指定打å°ç´¢å¼•çš„å字。
\keyval{name}{索引å}
指定输出å为 \meta{索引å} 的索引表,如果åªä½¿ç”¨ä¸€ä¸ªç´¢å¼•è¡¨åˆ™é»˜è®¤ä¸ºé¡¹ç›®æ–‡ä»¶åä¸éœ€è¦æŒ‡å®šã€‚
\end{cnltxlist}
@@ -1379,14 +1442,6 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
该命令由文档å®åŒ… \pkg*{pdfpages} æ供。å¯ä»¥å°†å…¶å®ƒ \code{pdf} 文档æ’入当å‰æ–‡æ¡£ï¼Œæ¯”如æ’入其它软件制作的å°é¢ã€‚å¯é€‰å‚æ•°å¯ä»¥æŒ‡å®šæ’入页数ã€é€»è¾‘页和横å‘页é¢ç­‰ï¼Œè¯¦æƒ…查看å®åŒ…文档。
\end{cnltxlist}
-\subsection{下划线}
-\begin{cnltxlist}[itemsep = 0ex]
- \command{uline}[\marg{下划直线}]\default{}
- \command{uuline}[\marg{下划åŒç›´çº¿}]\default{}
- \command{uwave}[\marg{下划波浪线}]
- \pkg*{ulem} å®åŒ…æ供了多ç§ä¸‹åˆ’线命令,å¯ä»¥é‡æ–°å®šä¹‰ \cs{ULthickness} 命令控制下划线的粗细。下划线的深度由 \cs{ULdepth} 控制,默认值 \cs*{maxdimen} 是一个å…许深度根æ®å½“å‰å­—体å˜åŒ–的特殊标志,当然也å¯ä»¥ä½¿ç”¨ \cs*{setlength} 设定为指定深度。
-\end{cnltxlist}
-
\appendix
\setlist[1]{}
\begin{changelog}[title = 更新日志]
@@ -1429,7 +1484,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\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 = 2024/03/31,changes = ä¿®å¤å‘½ä»¤ \cs{ebifbitoc} 用于æ¡ç›®ç¼©è¿›é€‰é¡¹ \option{tocindent} 失效的问题。}
\begin{version}[v = 2024as,date = 2024/04/19]
@@ -1441,7 +1496,7 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\end{version}
\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{AllotPartialExt}。}
+ \shortversion{v = 2024bk,date = 2024/05/07,changes = 新增局部题注目录分é…命令 \cs{AssignPartialExt}。}
\begin{version}[v = 2024bn,date = 2024/05/10]
\fixed
\item ä¿®å¤ \module*{toc} 模å—中带有 \option*{every} åŽç¼€çš„选项ä¸å¯¹æ‰€æœ‰å·²æ³¨å†Œæ¡ç›®æœ‰æ•ˆçš„问题。
@@ -1458,6 +1513,15 @@ $\blacktriangleright$需è¦æ³¨æ„正确\textbf{编译索引}è¦å¢žåŠ  \code{-she
\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{定ç†å} 缺失导致报错的问题。}
+ \shortversion{v = 2024cx,date = 2024/07/28,changes = 新增将脚注置于页é¢åº•éƒ¨çš„命令 \cs{PushFntBottom}。}
+ \begin{version}[v = 2024dh,date = 2024/08/06]
+ \changed
+ \item å–消默认载入 \pkg*{ulem} 下划线å®åŒ…。
+ \added
+ \item 使用 \pkg*{xtemplate} å®åŒ…å°†å°é¢æ ‡é¢˜å‘½ä»¤ \cs{maketitle} 抽象为由实例组æˆçš„模æ¿ã€‚
+ \item æ–°å¢žå›¾è¡¨é¢˜æ³¨æ¨¡å— \module*{cap}。
+ \end{version}
\end{changelog}
\nocite{*}
% \AddToHook{cmd/printindex/before}{\clearpage}
diff --git a/macros/latex/contrib/edmaths/LICENSE.txt b/macros/latex/contrib/edmaths/LICENSE.txt
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/latex/contrib/edmaths/LICENSE.txt
@@ -0,0 +1,416 @@
+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.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 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/edmaths/README.md b/macros/latex/contrib/edmaths/README.md
new file mode 100644
index 0000000000..a850f29c6b
--- /dev/null
+++ b/macros/latex/contrib/edmaths/README.md
@@ -0,0 +1,5 @@
+# `edmaths` Report & Thesis Class
+
+A report and thesis stylesheet for easier compliance with the [university’s typesetting rules](https://www.ed.ac.uk/academic-services/students/thesis-submission). See also the [_documentation_](https://foggalong.github.io/edinburgh-math-latex/edmaths-docs.pdf) and a [_compiled example_](https://foggalong.github.io/edinburgh-math-latex/example-report.pdf). To use, place the files and store them either with your .tex file(s) or in any directory that's findable by LaTeX (e.g. `$TEXINPUTS`).
+
+For more information on the wider project, including the beamer theme, [see GitHub](https://github.com/Foggalong/edinburgh-math-latex). The stylesheet [edmaths.sty](edmaths.sty) is provided under the [LaTeX Project Public License v1.3c](https://choosealicense.com/licenses/lppl-1.3c/) (LPPL) while the example [example-report.tex](example-report.tex) is provided under the [BSD Zero Clause License](https://choosealicense.com/licenses/0bsd/) (0BSD).
diff --git a/macros/latex/contrib/edmaths/edmaths-docs.pdf b/macros/latex/contrib/edmaths/edmaths-docs.pdf
new file mode 100644
index 0000000000..cd62935fcd
--- /dev/null
+++ b/macros/latex/contrib/edmaths/edmaths-docs.pdf
Binary files differ
diff --git a/macros/latex/contrib/edmaths/edmaths.sty b/macros/latex/contrib/edmaths/edmaths.sty
new file mode 100644
index 0000000000..e11c515344
--- /dev/null
+++ b/macros/latex/contrib/edmaths/edmaths.sty
@@ -0,0 +1,258 @@
+%% Package `edmaths' v0.98
+%% File edmaths.sty
+%% Copyright 2024 Josh Fogg
+%%
+%% edmaths.sty is a LaTeX style file for typesetting reports and theses in the
+%% School of Mathematics at the University of Edinburgh. Suitable for use for
+%% theses, yearly reports, and undergraduate projects. Part of the more general
+%% `edmaths' package. See README.md for usage instructions.
+%%
+%% 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://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' and the current
+%% maintainer of this work is Josh Fogg. Originally written by Thomas Koeppe in
+%% 2007/07, it has since been updated by Josh Fogg from 2020 onwards.
+%%
+%% This work consists of the file edmaths.sty.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{edmaths}[2024-08-09 Edinburgh maths thesis/report style v0.98]
+\RequirePackage{calc,ifthen,setspace,amsmath,amsthm,amscd,amssymb}
+
+
+
+% PAGE SIZE AND MARGINS
+% These settings control the size of the page and its margins. All measurements are
+% compliant wih the school's typesetting requirements.
+
+\setlength{\paperheight}{297mm} % A4 Paper
+\setlength{\paperwidth}{210mm} %
+\setlength{\oddsidemargin}{14.6mm} % Left/Inside: 4.0cm (rel. -1in)
+\setlength{\evensidemargin}{-.4mm} % Right/Outside: 2.5cm (rel. -1in)
+\setlength{\topmargin}{-17.4mm} % \
+\setlength{\headheight}{6mm} % | Top: 2.0cm (rel. -1in), out of which 6mm for the header
+\setlength{\headsep}{6mm} % /
+\setlength{\textwidth}{145mm} % Margins: 2.5cm + 4cm
+% Textheight delayed until we know the line spacing.
+
+% The following is removed in favour of the `report' class options "oneside/twoside".
+% \@twosidefalse \@mparswitchfalse % Single-sided by default
+
+
+
+% PACKAGE OPTIONS
+% These options can be selected wihin \usepackage[...]{edmaths} to modify the
+% appearance of different parts of the document.
+
+% Options relating to external packages
+\newboolean{with-fourier} % Use the `fourier' package for Adobe Utopia font
+\newboolean{with-cmbright} % Use the `cmbright' package for Computer Modern Bright (sans serif) font
+\newboolean{with-comicsans} % :)
+\newboolean{with-hyperref} % Use the `hyperref' package for hyperlinks and bookmarks, all black
+\newboolean{with-colour} % Add sane colours to the hyperref links
+\newboolean{with-fancyhdr} % Use the `fancyhdr' package to provide header and footer
+\DeclareOption{fourier}{\setboolean{with-fourier}{true}}
+\DeclareOption{cmbright}{\setboolean{with-cmbright}{true}}
+\DeclareOption{comicsans}{\setboolean{with-comicsans}{true}}
+\DeclareOption{hyperref}{\setboolean{with-hyperref}{true}}
+\DeclareOption{colour}{\setboolean{with-colour}{true}}
+\DeclareOption{fancyhdr}{\setboolean{with-fancyhdr}{true}}
+
+% Options relating to document type (thesis, report, etc)
+\ifthenelse{\isundefined{\degreetext}}{\newcommand{\degreetext}{Specify a degree option!}}{}
+\DeclareOption{phd}{\renewcommand{\degreetext}{Doctor of Philosophy}}
+\DeclareOption{firstyear}{\renewcommand{\degreetext}{First-Year Report\\Maxwell Institute Graduate School}}
+\DeclareOption{secondyear}{\renewcommand{\degreetext}{Second-Year Report\\Maxwell Institute Graduate School}}
+\DeclareOption{thirdyear}{\renewcommand{\degreetext}{Third-Year Report\\Maxwell Institute Graduate School}}
+\DeclareOption{y4project}{\renewcommand{\degreetext}{Year 4 Project\\School of Mathematics}}
+\DeclareOption{mmath}{\renewcommand{\degreetext}{Master of Mathematics with Honours \\ School of Mathematics}}
+\DeclareOption{masterph}{\renewcommand{\degreetext}{Master of Philosophy}}
+\DeclareOption{mastersc}{\renewcommand{\degreetext}{Master of Science by Research}}
+
+% Options relating to stretchfactor (used for margin spacing)
+\ifthenelse{\isundefined{\stretchfactor}}{\newcommand{\stretchfactor}{1}}{}
+\DeclareOption{single}{\renewcommand{\stretchfactor}{1}}
+\DeclareOption{onehalf}{\renewcommand{\stretchfactor}{1.5}}
+\DeclareOption{double}{\renewcommand{\stretchfactor}{2}}
+
+% Options relating to having single or double sided documents
+% \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} % Single-sided by default
+% \DeclareOption{twosides}{\@twosidetrue \@mparswitchtrue}
+
+
+\ProcessOptions
+
+% If with-fourier selected, use the Adobe Utopia font.
+\ifthenelse{\boolean{with-fourier}}{
+ \RequirePackage{cmap}
+ \RequirePackage{fourier}
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage{microtype}
+} {}
+
+% If with-cmbright selected, use the (sans-serif) Computer Modern Bright font.
+\ifthenelse{\boolean{with-cmbright}}{
+ % NOTE must be compiled with xelatex or luatex
+ \RequirePackage{cmap}
+ \RequirePackage{cmbright}
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage{microtype}
+} {}
+
+% :)
+\ifthenelse{\boolean{with-comicsans}}{
+ % NOTE must be compiled with xelatex or luatex
+ \usepackage{fontspec}
+ \setmainfont{Comic Sans MS}
+} {}
+
+% If with-hyperref selected, configure its default settings
+\ifthenelse{\boolean{with-hyperref}}{
+ \RequirePackage[dvipsnames]{xcolor}
+ \RequirePackage[pdftitle={\@title}, pdfauthor={\@author}, pdfcreator={PDFLaTeX with edmaths}, pdfpagelayout=OneColumn, colorlinks=true, linkcolor=black, urlcolor=black, citecolor=black]{hyperref}
+ % If with-colour selected, use it to make hyperlinks blue not black
+ \ifthenelse{\boolean{with-colour}}{
+ \hypersetup{linkcolor=Sepia, urlcolor=NavyBlue, citecolor=Sepia}
+ } {}
+} {}
+
+% If with-fancyhdr selected, use it to provide fancier headers and footers
+\ifthenelse{\boolean{with-fancyhdr}}{
+ \RequirePackage{fancyhdr}
+ % Define a short title for use in headers if title is too long. Default is the same as title. Usage: use command \shortitle{<your short title here>} *after* calling edmaths.
+ \newcommand\@shorttitle{\@title}
+ \newcommand\shorttitle[1]{\renewcommand\@shorttitle{#1}}
+ \pagestyle{fancy}
+ \fancyhf{}
+ % if \fancyhead or \fancyfoot are used without `twoside` in \documentclass{...} then
+ % fancyhdr will complain that the 'E' used here is useless, so need to condition.
+ \if@twoside%
+ %%% put the stuff for true here (twoside=true)
+ \fancyhead[RO,LE]{\thepage}
+ \fancyfoot[RO,LE]{\thepage}
+ \fancyhead[LO]{\it\@shorttitle}
+ \fancyhead[RE]{\@author}
+ \fancyfoot[RE,LO]{}
+ \else%
+ %%% put the stuff for false here (twoside=false)
+ \fancyhead[LO]{\it\@shorttitle~~$\cdot$~~\@author}
+ \fancyhead[R]{\thepage}
+ \fancyfoot[R,LO]{}
+ \fi%
+} {}
+
+
+
+% BODY HEIGHT
+% Set up the text body height. For the text height, we calculate the largest number of
+% lines that gives us no more than 4cm bottom margin. This depends on the line spacing,
+% which we need first.
+
+\setstretch{\stretchfactor}
+
+% Debug only: In the next line, \XXXfactor contains the number of lines on a text-only page.
+% \newlength{\XXXunit}\setlength{\XXXunit}{1pt}\newlength{\XXXfactor}\setlength{\XXXfactor}{1pt + ((672pt - \topskip) / \baselineskip) * \XXXunit}
+\newlength{\scratchlength}\setlength{\scratchlength}{\topskip + ((672pt - \topskip) / \baselineskip) * \baselineskip + \baselineskip}
+\setlength{\textheight}{\scratchlength}
+
+
+
+% DOCUMENT COMPONENTS
+% Provides the formatting for the required document components. Specifically, these are
+% the titlepage, declaration, dedication, abstract, and undergraduate project fulfilment.
+
+\renewcommand{\maketitle}{%
+ \begin{titlepage}
+ \singlespacing
+ \addtolength{\oddsidemargin}{-0.75cm}
+ \begin{center}
+ \null\vskip 4.1cm
+ \begin{minipage}[t][7.6cm]{10.5cm}
+ \begin{center}
+ {\LARGE\textbf{\@title}\par}
+ {\Large\textit{\@author}\par}
+ \end{center}
+ \end{minipage}
+ \vfill
+ {\Large\degreetext \par The University of Edinburgh \par\@date \par}
+ \end{center}
+ \end{titlepage}
+ % For two-sided documents it's required that a blank page follow the title page. For
+ % one-sided documents it's required that the title page contribute to the page count.
+ \if@twoside
+ \thispagestyle{empty}
+ \cleardoublepage
+ \else
+ \addtocounter{page}{1}
+ \fi
+}
+
+
+% Declaration style for everything except year 4 projects
+\newcommand{\declaration}[1]{
+ % Doesn't need a chapter number or adding to the contents page
+ \chapter*{Declaration}
+ % Must always be single spaced
+ \begin{singlespace}
+ \def\param{#1}
+ \ifx\param\empty
+ I declare that this thesis was composed by myself
+ and that the work contained therein is my own,
+ except where explicitly stated otherwise in the text.
+ \else
+ {#1}
+ \fi
+ \end{singlespace}
+ {\raggedleft\vspace{2cm}(\textit{\@author})}
+}
+
+
+% Declaration style for year 4 project, argument is degree programme (e.g. MMath)
+\newcommand{\yfourdeclaration}[1]{
+ \vfill
+ \noindent
+ This project report is submitted in partial fulfilment
+ of the requirements for the degree of \textit{#1}.
+}
+
+
+\renewenvironment{abstract}{
+ % Abstracts don't need a chapter number...
+ \chapter*{\abstractname}
+}{
+ % ...but do need adding to the contents page.
+ \addcontentsline{toc}{chapter}{\abstractname}
+}
+
+
+\newenvironment{laysummary}{
+ % A lay summary is required for PhD theses and is not included in the page count. We treat it in a similar way to the abstract here.
+ \chapter*{Lay Summary}
+}{
+ \addcontentsline{toc}{chapter}{Lay Summary}
+}
+
+
+\newenvironment{acknowledgements}{
+ % Acknowledgements environment similar to abtract and lay summary.
+ \chapter*{Acknowledgements}
+}{
+ \addcontentsline{toc}{chapter}{Acknowledgements}
+}
+
+
+\newcommand{\dedication}[1]{%
+ % Handled dedications (e.g. 'For Alex', not acknowledgements)
+ \clearpage
+ \thispagestyle{plain}
+ \vspace*{7cm}
+ \begin{center}
+ \Large\it #1
+ \end{center}
+}
diff --git a/macros/latex/contrib/edmaths/example-references.bib b/macros/latex/contrib/edmaths/example-references.bib
new file mode 100644
index 0000000000..cd65755781
--- /dev/null
+++ b/macros/latex/contrib/edmaths/example-references.bib
@@ -0,0 +1,10 @@
+ This is an example biblography used in example-presentation.tex and
+ example-report.tex, examples of the edmaths Beamer and report styles
+ respectively. When creating a biblography you might find these bibtex
+ templates useful: https://verbosus.com/bibtex-style-examples.html
+
+@misc{koeppe2007,
+ title = {Package `edmaths'},
+ author = {Thomas Koeppe},
+ year = {2007}
+}
diff --git a/macros/latex/contrib/edmaths/example-report.tex b/macros/latex/contrib/edmaths/example-report.tex
new file mode 100644
index 0000000000..2dae5e22a7
--- /dev/null
+++ b/macros/latex/contrib/edmaths/example-report.tex
@@ -0,0 +1,79 @@
+%% This file is an example of using edmaths.sty to style a PhD thesis that
+%% complies with University of Edinburgh typesetting rules. While the
+%% style is LPPL 1.3 licensed, this example is given under a 0BSD license
+%% (https://choosealicense.com/licenses/0bsd), meaning it can be freely
+%% used, copied, modified, and/or redistributed with or without attribution.
+%% See README.md or https://github.com/Foggalong/edinburgh-math-latex for
+%% instructions on using the style.
+
+\documentclass[12pt,twoside]{report}
+
+\title{Thesis Title}
+\author{Author Name}
+\date{YYYY}
+
+\usepackage[phd,fourier,hyperref,colour,fancyhdr]{edmaths}
+
+%\shorttitle{Short title} % You can optionally define a shorter version of your title for the headers if you use the fancyhdr option.
+
+
+\begin{document}
+
+\flushbottom
+\pagenumbering{roman}
+
+\maketitle
+
+\begin{declaration}
+ {I declare that this thesis has been composed solely by myself and that it has not been
+ submitted, in whole or in part, in any previous application for a degree. Except where
+ stated otherwise by reference or acknowledgement, the work presented is entirely my
+ own.}
+ % Required for PhD theses. This declaration should be tailored to your thesis. If your thesis includes previously-published work, it should be declared on this page. See https://www.ed.ac.uk/sites/default/files/atoms/files/thesis_signed_declaration.pdf.
+\end{declaration}
+
+\begin{abstract}
+ The abstract goes here.
+\end{abstract}
+
+\begin{laysummary}
+ A lay summary is required for PhD theses. See \href{https://www.ed.ac.uk/sites/default/files/atoms/files/lay_summary_in_theses.pdf}{this page on the University website}.
+\end{laysummary}
+
+\dedication{In memory of my sanity.}
+
+\begin{acknowledgements}
+ I'd like to thank my supervisor for putting up with me for four years.
+\end{acknowledgements}
+
+
+\tableofcontents
+% Uncomment to add 'Contents' entry to contents page
+% \addcontentsline{toc}{chapter}{Contents}
+
+\newpage
+\pagenumbering{arabic}
+
+\chapter{First Chapter}
+
+This is an example of a report made using the \texttt{edmaths} stylesheet~\cite{koeppe2007}, which is designed to ensure compliance with the University of Edinburgh's typesetting requirements for reports and theses.
+
+\section{First section}
+
+\section{Second section}
+
+
+\chapter{Second Chapter}
+
+\appendix
+
+\chapter{First Appendix}
+
+
+\bibliography{example-references}
+\addcontentsline{toc}{chapter}{Bibliography}
+% Choose a reference style from https://verbosus.com/bibtex-style-examples.html
+\bibliographystyle{ieeetr}
+% Or use the `amsrefs' package, https://ams.org/tex/amsrefs.html
+
+\end{document}
diff --git a/macros/latex/contrib/fancyhdr/README b/macros/latex/contrib/fancyhdr/README
index 0d655cb9a5..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.3 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 c75575ee61..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/07/18 v4.3
+%<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]
@@ -3068,12 +3068,19 @@
% \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.
+% \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}
%
@@ -4005,9 +4012,13 @@
% \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.}
+% 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
@@ -4021,6 +4032,7 @@
\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
diff --git a/macros/latex/contrib/fancyhdr/fancyhdr.pdf b/macros/latex/contrib/fancyhdr/fancyhdr.pdf
index 38bb822211..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/fillwith/MANIFEST.md b/macros/latex/contrib/fillwith/MANIFEST.md
new file mode 100644
index 0000000000..4cfe517238
--- /dev/null
+++ b/macros/latex/contrib/fillwith/MANIFEST.md
@@ -0,0 +1,54 @@
+# Manifest for fillwith
+
+Copyright (C) Fri Aug 9 12:12:59 2024 Clea F. Rees
+
+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.3 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 Clea F. Rees.
+
+This work consists of all files listed in manifest.txt.
+
+This file was automatically generated by `l3build manifest`.
+
+## Source files
+
+
+### Package files
+
+
+* README.md
+* MANIFEST.md
+* fillwith.dtx
+* fillwith.ins
+
+### Development files
+
+
+* build.lua
+* manifest.lua
+* tag.lua
+* fillwith-test.lvt
+* fillwith-test.luatex.tlg
+* fillwith-test.tlg
+* fillwith-test.xetex.tlg
+
+
+## Derived files
+
+
+### Package files
+
+* fillwith.sty
+* fillwith-example.tex
+
+### Typeset documentation
+
+* fillwith.pdf
+* fillwith-example.pdf
diff --git a/macros/latex/contrib/fillwith/README.md b/macros/latex/contrib/fillwith/README.md
new file mode 100644
index 0000000000..f7f1922b89
--- /dev/null
+++ b/macros/latex/contrib/fillwith/README.md
@@ -0,0 +1,32 @@
+$Id: README.md 10215 2024-08-09 11:12:21Z cfrees $
+
+# fillwith
+
+A LaTeX package for filling vertical space with something rather than nothing.
+
+Currently supported somethings are solid rules and dotted lines, with or
+without numbers. The package uses a mixture of plain-ish macros, LaTeX 2e and
+expl3 methods, but a key-value approach to configuration should make the
+document-level interface relatively sane, even if nothing else is.
+
+For details, please see fillwith.pdf. The implementation is minimally
+documented because I have no idea of how to document code.
+
+## Code Repositories
+
+Code is hosted at
+ https://codeberg.org/cfr/fillwith
+For convenience, the repository is mirrored at
+ https://github.com/cfr42/fillwith
+
+## Contact Details
+
+Bug reports, feature requests etc. should be filed at
+ https://codeberg.org/cfr/fillwith/issues
+
+
+Clea F. Rees
+Version 0.3
+2024-08-09
+
+vim: et:tw=80:
diff --git a/macros/latex/contrib/fillwith/fillwith-example.pdf b/macros/latex/contrib/fillwith/fillwith-example.pdf
new file mode 100644
index 0000000000..5af411b5e0
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/fillwith/fillwith.dtx b/macros/latex/contrib/fillwith/fillwith.dtx
new file mode 100644
index 0000000000..c066ac9dad
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith.dtx
@@ -0,0 +1,747 @@
+% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% fillwith.dtx
+% Additions and changes Copyright (C) 2024 Clea F. Rees.
+% Code from skeleton.dtx Copyright (C) 2015-2024 Scott Pakin (see below).
+%
+% 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-05-04 or later.
+%
+% This work has the LPPL maintenance status \muaintained'.
+%
+% The Current Maintainer of this work is Clea F. Rees.
+%
+% This work consists of all files listed in manifest.txt.
+%
+% The file fillwith.dtx is a derived work under the terms of the
+% LPPL. It is based on version 2.4 of skeleton.dtx which is part of
+% dtxtut by Scott Pakin. A copy of dtxtut, including the
+% unmodified version of skeleton.dtx is available from
+% https://www.ctan.org/pkg/dtxtut and released under the LPPL.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \fi
+%
+% \iffalse
+%<*driver>
+\RequirePackage{svn-prov}
+\ProvidesFileSVN{$Id: fillwith.dtx 10202 2024-08-08 15:33:47Z cfrees $}[v0.3 \revinfo][\filename: \filebase]
+\DefineFileInfoSVN[fillwith]
+\GetFileInfoSVN*
+% ref. ateb Max Chernoff: https://tex.stackexchange.com/a/723294/
+\def\MakePrivateLetters{\makeatletter\ExplSyntaxOn\endlinechar13}
+\documentclass[british,a4paper]{ltxdoc}
+\usepackage{babel}
+\usepackage[tt={monowidth,lining,tabular},sf={lining,proportional},rm={lining,proportional}]{cfr-lm}
+\usepackage{fillwith}
+\usepackage{parskip}
+\usepackage{verbatim}
+\usepackage{graphicx}
+\usepackage{xurl}
+% sicrhau hyperindex=false: llwytho CYN bookmark
+\usepackage{hypdoc}% ateb Ulrike Fischer: https://tex.stackexchange.com/a/695555/
+\usepackage{bookmark}
+\usepackage{cleveref}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%^^A \OnlyDescription
+%^^A \ExplSyntaxOn
+%^^A \makeatletter
+\DoNotIndex{\verb,\ProvidesPackageSVN,\NeedsTeXFormat,\ProcessKeyOptions,\ExplSyntaxOn,\ExplSyntaxOff,\RequirePackage,\NeedsTeXFormat,\DefineFileInfoSVN,\GetInfoSVN,\@ifundefined,\@ifl@t@r\ExplLoaderFileDate,\endinput,\PackageError,\PackageWarning,\PackageInfo,\keys_define:nn,\keys_set:nn,\ProcessKeysOptionns,\author,\title,\maketitle,\date,\revinfo,\ProcessKeysOptions,\MessageBreak,\fmtversion,\documentclass,\ExplLoaderFileDate,\filebase,\fileversion,\fileinfo,\filebase:,\filedate,\documentclass,\@ifl@t@r,\begin,\end,\item,\IfFormatAtLeastTF}
+%^^A \makeatother
+%^^A \ExplSyntaxOff
+\definecolor{strawberry}{rgb}{1.000,0.000,0.502}
+\definecolor{blueberry}{rgb}{0.000,0.000,1.000}
+\definecolor{moss}{rgb}{0.000,0.502,0.251}
+\hypersetup{%
+ colorlinks=true,
+ citecolor={moss},
+ extension=pdf,
+ linkcolor={strawberry},
+ linktocpage=true,
+ pdfcreator={TeX},
+ pdfproducer={pdfeTeX},
+ urlcolor={blueberry}%
+}
+\NewDocElement[%
+ idxtype=opt.,
+ idxgroup=options,
+ printtype=\textit{opt.},
+]{Opt}{option}
+\NewDocumentCommand \val { m }
+{%
+ {\ttfamily =\,\meta{#1}}%
+}
+\ExplSyntaxOn
+\NewDocumentCommand \vals { m }
+{
+ {
+ \ttfamily = \,
+ \clist_use:nn { #1 } { \textbar }
+ }
+}
+\ExplSyntaxOff
+\setcounter{IndexColumns}{2}
+\makeatletter
+\def\@xobeysp{\leavevmode\penalty100\ }
+\makeatother
+\begin{document}
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+% \title{\filebase{} \filerev}
+% \author{Clea F. Rees}
+% \date{\filedate}
+% \maketitle
+% \begin{abstract}
+% A small package originally based on \href{https://tex.stackexchange.com/a/241139/}{Harish Kumar's answer} to a question I asked on \TeX{} SE\footnote{%
+% See \href{https://tex.stackexchange.com/a/241139/}{tex.stackexchange.com/a/241139/}.%
+% }.
+% The intended purpose was the creation of worksheets for students where I would like \LaTeX{} to use the available vertical space to provide lined areas for answers.
+% Since then, the code has been (partially) rewritten in \pkg{expl3} and extended in response to both my own needs and others' questions on \TeX{} SE.
+% The package aims to do one thing: to fill a vertical space in the same way as, say, \verb|\vfill|, but with some kind of ‘filler’ rather than empty space.
+% Currently, the package supports solid rules or dotted lines.
+% The remainder of the current line may optionally be filled in the same way and the ‘filler’ may be coloured if desired.
+%
+% Lines may optionally be numbered, though the numbered versions should not be used to fill long stretches as they are extremely inefficient.
+% \textbf{Numbered fills are highly experimental and not recommended for use in ‘real’ documents.}
+% That is, it seems to work, but I recommend using an alternative package or solution if you need a reliable numbering mechanism.
+% \end{abstract}
+%
+% \section{Load}\label{sec:pkg}
+% To use the package simply load it in your preamble in the usual way.
+%
+% \iffalse
+%<*verb>
+% \fi
+\begin{verbatim}
+ \usepackage[<options>]{fillwith}
+\end{verbatim}
+% \iffalse
+%</verb>
+% \fi
+%
+% A small number of options may be specified when loading the package.
+% See \cref{sec:config}.
+%
+% We start with an example in \cref{sec:ee}.
+% \Cref{sec:use} describes the basic commands illustrated in this example.
+% \Cref{sec:config} explains the options used by these commands, together with other customisation features of \pkg{fillwith}.
+%
+% \section{Example}\label{sec:ee}
+%
+% The code below illustrates most package features.
+%
+% \Cref{fig:ee1} demonstrates filling with rules.
+% Note the effect of altering \texttt{fillwith ht} on line-spacing.
+% \begin{figure}
+% \centering
+% \fbox{\includegraphics{fillwith-example.pdf}}
+% \caption{Filling with rules.}\label{fig:ee1}
+% \end{figure}
+%
+% \Cref{fig:ee2} shows dotted fillings.
+% Note the use of \cmd{\fillwithset} to alter the colour.
+% \begin{figure}
+% \centering
+% \fbox{\includegraphics[page=2]{fillwith-example.pdf}}
+% \caption{Filling with dotted lines.}\label{fig:ee2}
+% \end{figure}
+%
+% \Cref{fig:ee3} shows numbered fillings.
+% Note the use of \texttt{goal ht} to divide the available vertical space more-or-less equally.
+% \begin{figure}
+% \centering
+% \fbox{\includegraphics[page=3]{fillwith-example.pdf}}
+% \caption{Filling with numbered lines.}\label{fig:ee3}
+% \end{figure}
+%
+% \verbatiminput{fillwith-example.tex}
+%
+% \section{Usage}\label{sec:use}
+%
+% \DescribeMacro{\fillwith}\oarg{options}
+% \DescribeMacro{\fillwith*}
+%
+% Fill vertically with current settings, optionally modified by \meta{options}.
+% See \cref{sec:config} for \meta{options}.
+% If used in the middle of a line, the starred form fills to the end of the line first, whereas the unstarred form does not.
+%
+% \DescribeMacro{\fillwithrules}\oarg{line-spacing}
+% \DescribeMacro{\fillwithrules*}
+%
+% Convenience wrappers which just set \texttt{style = rules} and set the line-spacing to \meta{line-spacing}.
+% These macros do nothing which cannot be done using \cmd{\fillwith} and \cmd{\fillwith*}.
+%
+% \DescribeMacro{\fillwithdottedlines}\oarg{line-spacing}
+% \DescribeMacro{\fillwithdottedlines*}
+%
+% Convenience wrappers which just set \texttt{style = dots} and set the line-spacing to \meta{line-spacing}.
+% These macros do nothing which cannot be done using \cmd{\fillwith} and \cmd{\fillwith*}.
+%
+% \DescribeMacro{\fillwithnolines}\oarg{options}
+% \DescribeMacro{\fillwithnolines*}
+%
+% Fill vertically with current settings, numbering each complete line, after optionally setting \meta{options}.
+% Numbering \textbf{requires} use of these commands, as opposed to the generic \cmd{\fillwith}/\cmd{\fillwith*}.
+%
+% \section{Customisation}\label{sec:config}
+%
+% Options can be set per use, locally or globally.
+% A small number of options are implemented as package options (\cref{sec:pkg}).
+%
+% \DescribeMacro{\fillwithset}\marg{options}
+% Set local or global defaults.
+%
+% \DescribeOpt{colour}\val{colour name}
+% \DescribeOpt{color}
+% \DescribeOpt{lliw}
+%
+% Colour to be used for (solid) rules.
+%
+% Initially \texttt{gray}.
+% Available as a package option.
+%
+% \DescribeOpt{dotted color}\val{colour name}
+% \DescribeOpt{dotted colour}
+%
+% Colour to be used for dotted lines.
+%
+% Initially \texttt{black}.
+% Available as a package option.
+%
+% \DescribeOpt{cont}\vals{true,false}
+%
+% Whether to fill the remainder of any current line.
+% Generally, users will probably prefer to use the starred command forms for local usage, but this option permits modification of the package default on a local or global basis.
+%
+% Initially \texttt{false}.
+% Default is \texttt{true}.
+%
+% \DescribeOpt{fillwith~ht}\val{real positive number expressed as decimal}
+%
+% Multiplication factor for line-spacing.
+% Typically, hand-written content requires greater spacing than typewritten content.
+% This option scales the standard line-spacing.
+%
+% Initially \texttt{2}, which is also the default value.
+% Decimal values such as \texttt{1.5} are permitted.
+%
+% \DescribeOpt{goal ~ ht}\val{dimension}
+%
+% Used only by \cmd{\fillwithnolines} and \cmd{\fillwithnolines*}.
+% Sets the target dimension to fill with numbered lines.
+% If unspecified, the code tries to fill the remaining vertical space on the current page.
+% If more than one use of a \pkg{fillwith} macro is used on a single page, this option \textbf{must} be used for numbered fills to prevent a single instance taking (almost) all available space.
+% In contrast, multiple unnumbered fills can coexist on the same page without issue --- the available space will simply be divided equally between them.
+%
+% Initially unset.
+% No default.
+%
+% \DescribeOpt{no ~ font}\val{font switches}
+%
+% Font switches to apply when typesetting numbers for numbered fills.
+%
+% Initially \cmd{\normalfont}\cmd{\normalsize}, which is also the default value.
+% Note the commands used here should be switches rather than text commands -- for example, use \cmd{\bfseries} rather than \cmd{\textbf} --- since the commands should not expect an argument.
+%
+% \DescribeOpt{style}\vals{rule,dots,line,lines,rules}
+%
+% Style of fill.
+% \texttt{rule}, \texttt{line}, \texttt{rules} and \texttt{lines} are synonyms which all denote solid rules or lines.
+% \texttt{dots} uses dotted lines rather than solid rules.
+% The dots are slightly more densely packed than the standard used for dotted fills by the standard classes, as these seem a bit too widely spaced to provide ideal guidelines.
+%
+% Initially \texttt{dots}, which is also the default value.
+%
+% If an unknown value is used, the code will attempt to use two macros derived from that value.
+% The first is constructed simply by preceding \meta{value} with a backslash and the second by also appending \texttt{part}.
+% For example, if \texttt{style}\val{mystyle} is used, the code will try to use \cs{mystyle} and \cs{mystylepart} for complete and partial lines.
+% In theory, this supports filling with somewhat arbitrary content, but the implementation is untested and \textbf{should not be used in real documents}.
+%
+%
+% \changes{v0.0}{???}{First public release.}
+% \changes{\fileversion}{\filedate}{}
+%
+%
+% \MaybeStop{%
+% \PrintChanges
+% \PrintIndex
+% }
+%
+% \section{Implementation}
+%
+% You do not need to read the remainder of this document in order to install or use the package.
+%
+% \iffalse
+%<@@=fillwith>
+%<*sty>
+% \fi
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[2021-11-15]
+\RequirePackage{svn-prov}
+\ProvidesPackageSVN[\filebase.sty]{$Id: fillwith.dtx 10202 2024-08-08 15:33:47Z cfrees $}[v0.0 \revinfo][\filebase: fill vertically with non-space]
+% this is needed only because l3doc overwrites \fileversion and \filedate
+% neither ltxdoc nor doc does this
+\DefineFileInfoSVN
+% \end{macrocode}
+% \iffalse
+% ^^A Paid â defnyddio \GetFileInfoSVN*/\GetFileInfoSVN{} yn y fan hon!!
+% \fi
+% \begin{macrocode}
+\RequirePackage{xcolor}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% copied verbatim, excepting format from Joseph Wright's' siunitx.sty under LPPL
+\@ifundefined{ExplLoaderFileDate}{%
+ \RequirePackage{expl3}%
+}{}
+% almost verbatim from siunitx.sty
+\@ifl@t@r\ExplLoaderFileDate{2022-02-24}{%
+}{%
+ \PackageError{fillwith}{Support package expl3 too old}
+ {%
+ You need to update your installation of the bundles 'l3kernel' and
+ 'l3packages'.\MessageBreak
+ Loading~fillwith~will~abort!%
+ }%
+ \endinput
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ExplSyntaxOn
+\prop_gput:Nnn \g_msg_module_name_prop { fillwith } { fillwith }
+
+% BEGIN Expl pkg option setup
+
+\keys_define:nn { fillwith }
+{
+ color .meta:n = {
+ colour = #1,
+ },
+ colour .code:n = {
+ \colorlet{fillwithcolour}{#1}
+ },
+ dotted ~ color .meta:n = {
+ dotted colour = #1,
+ },
+ dotted color .meta:n = {
+ dotted colour = #1,
+ },
+ dotted ~ colour .meta:n = {
+ dotted colour = #1,
+ },
+ dotted colour .code:n = {
+ \colorlet{fillwithdottedcolour}{#1}
+ },
+ lliw .meta:n = {
+ colour = #1,
+ },
+ colour .initial:n = gray,
+ dotted colour .initial:n = black,
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Joseph Wright: from siunitx.sty ; https://chat.stackexchange.com/transcript/message/64327823#64327823
+\providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion }
+\IfFormatAtLeastTF { 2022-06-01 }
+{
+ \ProcessKeyOptions [ fillwith ]
+}{
+ \RequirePackage { l3keys2e }
+ \ProcessKeysOptions { fillwith }
+}
+\IfFormatAtLeastTF { 2020-10-01 }{
+}{
+ \RequirePackage { xparse }
+ \providecommand \ExpandArgs [1]
+ { \cs_if_exist_use:c { exp_args:N #1 } }
+}
+% END Expl pkg option setup
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% BEGIN vars
+\box_new:N \l__fillwith_adj_rule_box
+\box_new:N \l__fillwith_part_rule_box
+\box_new:N \l__fillwith_tmpa_box
+\box_new:N \l__fillwith_tmpb_box
+% BEGIN coffins
+\coffin_new:N \l__fillwith_line_coffin
+\coffin_new:N \l__fillwith_lines_coffin
+\coffin_new:N \l__fillwith_part_coffin
+\coffin_new:N \l__fillwith_tmpa_coffin
+% END coffins
+% BEGIN dims
+\dim_new:N \l__fillwith_ht_dim
+\dim_new:N \l__fillwith_dp_dim
+\dim_new:N \l__fillwith_rem_dim
+\dim_new:N \l__fillwith_line_ht_dim
+\dim_new:N \l__fillwith_line_adj_hsize_dim
+\dim_set:Nn \l__fillwith_line_ht_dim { 0.4pt }
+\dim_new:N \l__fillwith_line_madj_dim
+\dim_new:N \l__fillwith_line_vadj_dim
+\dim_set_eq:NN \l__fillwith_line_vadj_dim \c_zero_dim
+\dim_new:N \l__fillwith_goal_dim
+\dim_new:N \l__fillwith_tmpa_dim
+% END dims
+\int_new:N \g__fillwith_cnt_int
+% END vars
+% BEGIN fns
+\cs_new_protected_nopar:Nn \__fillwith_style: {}
+\cs_new_protected_nopar:Nn \__fillwith_coffin_tht:N
+{
+ \dim_eval:n { \coffin_ht:N #1 + \coffin_dp:N #1 }
+}
+% BEGIN \__fillwith_hrulefill:
+\cs_new_protected_nopar:Npn \__fillwith_hrulefill_part:
+{
+ \vrule height \c_zero_dim depth \l__fillwith_line_ht_dim width 0.1pt
+}
+\cs_new_protected_nopar:Npn \__fillwith_hrulefill:
+{
+ \vrule height \c_zero_dim depth \l__fillwith_line_ht_dim width \l__fillwith_line_adj_hsize_dim
+}
+% END \__fillwith_hrulefill:
+% BEGIN \__fillwith_dottedfill:
+\cs_new_protected_nopar:Npn \__fillwith_dottedfill_part:
+{
+ \hbox to 0.33em {\hss .\hss}
+}
+\cs_new_protected_nopar:Npn \__fillwith_dottedfill:
+{
+ \leaders \hbox to 0.33em {\hss .\hss} \hfill \kern \c_zero_dim
+}
+% END \__fillwith_dottedfill:
+% END fns
+% \end{macrocode}
+% \begin{macro}{\fillwithset}
+% Wrapper command for configuration.
+% Most global or local customisation will use this as most keys are not valid package options.
+% \begin{macrocode}
+\NewDocumentCommand\fillwithset { +m }{
+ \keys_set:nn { fillwith } { #1 }
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% BEGIN keys (+)
+\keys_define:nn { fillwith }
+{
+ cont .bool_set:N = \l__fillwith_cont_bool,
+ cont .default:n = true,
+ cont .initial:n = false,
+ fillwith~ht .tl_set:N = \l__fillwith_ht_tl,
+ fillwith~ht .initial:n = 2,
+ fillwith~ht .default:n = 2,
+ goal ~ ht .dim_set:N = \l__fillwith_goal_dim,
+ line nos .bool_set:N = \l__fillwith_nos_bool,
+ line ~ nos .bool_set:N = \l__fillwith_nos_bool,
+ line ~ nos .default:n = true,
+ line ~ nos .initial:n = false,
+ no ~ font .tl_set:N = \l__fillwith_no_font_tl,
+ no ~ font .initial:n = { \normalfont\normalsize },
+ no ~ font .default:n = { \normalfont\normalsize },
+ style .choices:nn =
+ {
+ rule, dots , line , lines , rules , unknown
+ }{
+ \if_case:w \l_keys_choice_int
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_dottedfill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \or: \cs_set_eq:NN \__fillwith_style: \__fillwith_hrulefill:
+ \else: \cs_set_protected_nopar:Nn \__fillwith_style: { \use:c { \l_keys_choice_tl } }
+ \fi:
+ \if_case:w \l_keys_choice_int
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_dottedfill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \or: \cs_set_eq:NN \__fillwith_style_part: \__fillwith_hrulefill_part:
+ \else: \cs_set_protected_nopar:Nn \__fillwith_style_part: { \use:c { \l_keys_choice_tl part } }
+ \fi:
+ },
+ style .default:n = dots,
+ style .initial:n = dots,
+}
+% END keys (+)
+%
+% BEGIN \__fillwith_fill:
+% ref: https://tex.stackexchange.com/a/241139/ Harish Kumar
+\cs_new_protected_nopar:Nn \__fillwith_fill:
+{
+ \__fillwith_measures:
+ \dim_set:Nn \l__fillwith_line_adj_hsize_dim { \hsize - \@totalleftmargin }
+ \vbox_set:Nn \l__fillwith_adj_rule_box
+ {
+ \parindent=0pt
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ \skip_horizontal:n { \@totalleftmargin }
+ \__fillwith_style:
+ }
+ \if_mode_horizontal:
+ \bool_if:NT \l__fillwith_cont_bool
+ {
+ \leaders \box_use:N \l__fillwith_part_rule_box \hfill \kern \c_zero_dim
+ }{
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ }
+ %^^A gweithio ond erbyn y rheolau
+ %^^A byddai'n achosi draferth, siwr o fod
+ % \tex_par:D
+ %^^A yn lle hynny, ceisio hyn - oes perygl hefyd?
+ \para_raw_end:
+ \else:
+ \unskip
+ \skip_vertical:n { \l__fillwith_dp_dim }
+ \fi:
+ \xleaders \box_use:N \l__fillwith_adj_rule_box \vfill
+ \para_end:
+ \normalcolor
+}
+% END \__fillwith_fill:
+% BEGIN \__fillwith_measures:
+\cs_new_protected_nopar:Nn \__fillwith_measures:
+{
+ \color{fillwithcolour}
+ \offinterlineskip
+ \hbox_set:Nn \l__fillwith_part_rule_box
+ {
+ \strut
+ \__fillwith_style_part:
+ \kern \c_zero_dim
+ }
+ \dim_set:Nn \l__fillwith_tmpa_dim { \box_ht:N \l__fillwith_part_rule_box }
+ \dim_set:Nn \l__fillwith_ht_dim { \l__fillwith_ht_tl \l__fillwith_tmpa_dim }
+ \box_set_ht:Nn \l__fillwith_part_rule_box { \l__fillwith_ht_dim }
+ \dim_set:Nn \l__fillwith_tmpa_dim { \box_dp:N \l__fillwith_part_rule_box }
+ % neu \fp_to_dim:n { \l__fillwith_ht_tl * \l__fillwith_tmpa_dim } ??
+ \dim_set:Nn \l__fillwith_dp_dim { \l__fillwith_ht_tl \l__fillwith_tmpa_dim }
+ \box_set_dp:Nn \l__fillwith_part_rule_box { \l__fillwith_dp_dim }
+}
+% END \__fillwith_measures:
+% BEGIN fillwith
+% \end{macrocode}
+% \begin{macro}{\fillwith}
+% The package is basically this macro.
+% \begin{macrocode}
+\NewDocumentCommand \fillwith { s o }
+{
+ \group_begin:
+ \IfValueT { #2 }
+ {
+ \keys_set:nn { fillwith } { #2 }
+ }
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \__fillwith_fill:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwith
+% BEGIN fillwithrules
+% \end{macrocode}
+% \begin{macro}{\fillwithrules}
+% Simple convenience wrapper with simplified syntax for (solid) rules.
+% \begin{macrocode}
+\NewDocumentCommand \fillwithrules { s O { 2 } }
+{
+ \group_begin:
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \keys_set:nn { fillwith } { style = rules, fillwith~ht=#2 }
+ \__fillwith_fill:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwithrules
+% BEGIN fillwithdottedlines
+% \end{macrocode}
+% \begin{macro}{\fillwithdottedlines}
+% Simple convenience wrapper with simplified syntax for dotted lines.
+% \begin{macrocode}
+\NewDocumentCommand \fillwithdottedlines { s O { 2 } }
+{
+ \group_begin:
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \colorlet{fillwithcolour}{fillwithdottedcolour}
+ \keys_set:nn { fillwith } { style = dots, fillwith~ht=#2 }
+ \__fillwith_fill:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwithdottedlines
+% BEGIN fillwithnolines
+\cs_new_protected:Nn \__fillwith_nos: % rhybudd: ARAF ! SLOW!
+{
+ \parindent=0pt
+ \__fillwith_measures:
+ \dim_set_eq:NN \l__fillwith_line_adj_hsize_dim \linewidth
+ \vcoffin_set:Nnn \l__fillwith_line_coffin { \l__fillwith_line_adj_hsize_dim }
+ {
+ \parindent=0pt
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ \skip_horizontal:n \c_zero_skip
+ \__fillwith_style:
+ }
+ \coffin_set_eq:NN \l__fillwith_lines_coffin \l__fillwith_line_coffin
+ \if_mode_horizontal:
+ \bool_if:NTF \l__fillwith_cont_bool
+ {
+ \leaders \box_use:N \l__fillwith_part_rule_box \hfill \kern \c_zero_dim
+ \int_gincr:N \g__fillwith_cnt_int
+ % \vcoffin_set:Nnn \l__fillwith_tmpa_coffin { 1.5em}
+ % {
+ % \l__fillwith_no_font_tl \int_to_arabic:n { \g__fillwith_cnt_int }
+ % }
+ % \coffin_mark_handle:Nnnn \l__fillwith_tmpa_coffin {B} {l} { red }
+ % \coffin_mark_handle:Nnnn \l__fillwith_tmpa_coffin {b} {l} { green }
+ % \coffin_attach:NnnNnnnn \l__fillwith_lines_coffin {B} {r} \l__fillwith_tmpa_coffin {B} {l} {2.5pt} { \l__fillwith_ht_dim + \l__fillwith_dp_dim }
+ % \coffin_mark_handle:Nnnn \l__fillwith_lines_coffin {T} {r} { blue }
+ % \coffin_mark_handle:Nnnn \l__fillwith_lines_coffin {t} {r} { magenta }
+ \dim_set:Nn \l__fillwith_line_vadj_dim { \l__fillwith_dp_dim }
+ }{
+ \vrule height \l__fillwith_ht_dim depth \l__fillwith_dp_dim width \c_zero_dim
+ }
+ \dim_set:Nn \l__fillwith_line_madj_dim { \@totalleftmargin }
+ \para_raw_end:
+ \else:
+ \dim_set_eq:NN \l__fillwith_line_madj_dim \c_zero_dim
+ \unskip
+ \skip_vertical:n { \l__fillwith_dp_dim }
+ \fi:
+ \int_gincr:N \g__fillwith_cnt_int
+ \vcoffin_set:Nnn \l__fillwith_tmpa_coffin { 1.5em}
+ {
+ \l__fillwith_no_font_tl \int_to_arabic:n { \g__fillwith_cnt_int }
+ }
+ \coffin_attach:NnnNnnnn \l__fillwith_lines_coffin {B} {r} \l__fillwith_tmpa_coffin {B} {l} {2.5pt} {\c_zero_dim}
+ \dim_set:Nn \l__fillwith_rem_dim
+ {
+ \l__fillwith_goal_dim -\footskip - \pagetotal
+ }
+ \dim_until_do:nNnn { \__fillwith_coffin_tht:N \l__fillwith_lines_coffin } > { \l__fillwith_rem_dim - \l__fillwith_ht_dim - \l__fillwith_dp_dim }
+ {
+ \coffin_join:NnnNnnnn \l__fillwith_lines_coffin { b } { l } \l__fillwith_line_coffin { t } { l } { \c_zero_dim } { \c_zero_dim }
+ \int_gincr:N \g__fillwith_cnt_int
+ \vcoffin_set:Nnn \l__fillwith_tmpa_coffin {1.5em}
+ {
+ \l__fillwith_no_font_tl \int_to_arabic:n { \g__fillwith_cnt_int }
+ }
+ \coffin_attach:NnnNnnnn \l__fillwith_lines_coffin {B} {r} \l__fillwith_tmpa_coffin {B} {l} {2.5pt} {\c_zero_dim}
+ }
+ \coffin_typeset:Nnnnn \l__fillwith_lines_coffin { B } { l } { \l__fillwith_line_madj_dim } { \l__fillwith_line_vadj_dim }
+ \para_end:
+ \normalcolor
+}
+% \end{macrocode}
+% \begin{macro}{\fillwithnolines}
+% Provisional experimental macro for numbered fill.
+% \begin{macrocode}
+\NewDocumentCommand \fillwithnolines { s O { } }
+{
+ \group_begin:
+ \IfBooleanTF { #1 }
+ {
+ \bool_set_true:N \l__fillwith_cont_bool
+ }{
+ \bool_set_false:N \l__fillwith_cont_bool
+ }
+ \keys_set:nn { fillwith } { goal ~ ht = \pagegoal, #2 }
+ \__fillwith_nos:
+ \group_end:
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% END fillwithnolines
+\ExplSyntaxOff
+% \end{macrocode}
+% \iffalse
+%</sty>
+% \fi
+%
+% \subsection{Demonstration}
+%
+% Simple example to demonstrate usage.
+%
+% \iffalse
+%<*ee>
+% \fi
+% \begin{macrocode}
+\listfiles
+\documentclass[british,a6paper]{article}
+\usepackage{babel}
+\usepackage[scale=.85,marginparwidth=0pt,marginparsep=0pt]{geometry}
+\usepackage{fillwith}
+\usepackage{cfr-lm}
+\begin{document}
+\author{A. N. Author}
+\title{\texttt{fillwith} Demo}
+\maketitle
+\begin{enumerate}
+ \item What is the answer to the question?
+ \fillwithrules
+ \item How did you answer the previous question?
+ \fillwith*[style=line]
+ \item Why answer?
+
+ \fillwith*[style=rule,fillwith ht=1.25,colour=blue!40!cyan]
+ \clearpage
+ \item Evaluate your responses so far.
+ \fillwithdottedlines
+ \item Evaluate your responses so far.
+
+ {%
+ \fillwithset{dotted colour=magenta}%
+ \fillwithdottedlines[1.5]
+ }
+ \item Criticise your evaluation.
+ \fillwithdottedlines*
+ \clearpage
+ \item Assess your answers.
+ \fillwithnolines[goal ht = .33\textheight]
+ \item Assess your answers.
+
+ \fillwithnolines[style=rules,no font=\bfseries\tiny,colour=green!50!gray,goal ht = .67\textheight]
+ \item Summarise your analysis.
+ \fillwithnolines*
+\end{enumerate}
+
+\end{document}
+% \end{macrocode}
+% \iffalse
+%</ee>
+% \fi
+% \subsection{Other}
+% \iffalse
+%<*other>
+% \fi
+% \begin{macrocode}
+% \end{macrocode}
+% \iffalse
+%</other>
+% \fi
+%\Finale
diff --git a/macros/latex/contrib/fillwith/fillwith.ins b/macros/latex/contrib/fillwith/fillwith.ins
new file mode 100644
index 0000000000..2f7f4c576c
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith.ins
@@ -0,0 +1,68 @@
+%% $Id: fillwith.ins 10202 2024-08-08 15:33:47Z cfrees $
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% fillwith.ins
+%% Additions and changes Copyright (C) 2024 Clea F. Rees.
+%% Code from skeleton.ins Copyright (C) 2015-2024 Scott Pakin (see below).
+%%
+%% 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-05-04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Clea F. Rees.
+%%
+%% This work consists of all files listed in manifest.txt.
+%%
+%% The file fillwith.ins is a derived work under the terms of the
+%% LPPL. It is based on version 2.4 of skeleton.ins which is part of
+%% dtxtut by Scott Pakin. A copy of dtxtut, including the
+%% unmodified version of skeleton.ins is available from
+%% https://www.ctan.org/pkg/dtxtut and released under the LPPL.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input docstrip.tex
+\keepsilent
+
+%% ???
+\usedir{tex/latex/fillwith}
+
+\declarepreamble\safonol
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+Copyright (C) 2024 Clea F. Rees.
+
+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-05-04 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Clea F. Rees.
+
+This file may only be distributed together with a copy of the package
+fillwith. You may however distribute the package fillwith without
+such generated files.
+
+This work consists of all files listed in manifest.txt.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endpreamble
+
+% \askonceonly
+\askforoverwritefalse
+
+\usepreamble\safonol
+
+\generate{\file{fillwith.sty}{\from{fillwith.dtx}{sty}}
+ \file{fillwith-example.tex}{\from{fillwith.dtx}{ee}}
+}
+
+
+\endbatchfile
diff --git a/macros/latex/contrib/fillwith/fillwith.pdf b/macros/latex/contrib/fillwith/fillwith.pdf
new file mode 100644
index 0000000000..77fa2ccc00
--- /dev/null
+++ b/macros/latex/contrib/fillwith/fillwith.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/CHANGELOG.md b/macros/latex/contrib/fontscale/CHANGELOG.md
index 9706fbbe09..46a32e8fc9 100644
--- a/macros/latex/contrib/fontscale/CHANGELOG.md
+++ b/macros/latex/contrib/fontscale/CHANGELOG.md
@@ -7,6 +7,58 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v2.1.0] - 2024-08-12
+
+### Changed
+- Documentation improvements.
+
+### Added
+- `\CurrentFontSizeCommand`
+
+## [v2.0.0] - 2024-08-02
+
+### Changed
+- This update includes many changes that are backwards incompatible.
+- The documentation has been completely rewritten.
+- Package description changed from "A user interface for setting document font
+ sizes" to "A flexible interface for setting font sizes".
+- The code no longer uses `\@setfontsize`.
+- The font size commands provided by this package now do nothing, except issue
+ a warning, if used in math mode.
+- The base font size of the musical typographic scale is now set by the new key
+ `musical/base`.
+- `\PrintFontParameters` renamed to `\PrintFontSizeParameters`.
+- `\PrintAllFontParameters` renamed to `\PrintAllFontSizeParameters`.
+- `\PrintSampleText` uses a `+m`- instead of an `O`-type argument.
+- `\PrintFontSizeCommand` prints `\undefined` instead of `UNDEFINED`.
+- `\fontscalesetup` is now removed in `\text_purify:n`.
+
+### Removed
+- Keys `typographic-scale=modular` and `modular`.
+- Key `ignore-order` (no support for using `\tiny` to `\Huge` in the wrong
+ order).
+- Key `reset` (very rarely used).
+- Public `prop` variables for each font size command from `\tiny` to `\Huge`.
+ (They are redundant with the other public variables and programmers will very
+ likely prefer using their own `prop` variables.)
+
+### Added
+- `\fontscalesetup` now has an optional starred argument which first resets the
+ keys to their initial values.
+- Key `musical/base` (explained earlier).
+- The package commands now issue a user-friendly error message if the font size
+ is a zero or negative length.
+- The package commands now issue an error if the font baselineskip is less than
+ the font size.
+- The package commands that would produce a low-level error if used in math
+ mode now issue a user-friendly error message instead.
+
+### Fixed
+- Now correctly checks that the package requires `LaTeX2e` version 2023-11-01
+ or newer.
+- The keys `<font size command>` no longer incorrectly treat a `/` within a
+ brace group as the delimiter.
+
## [v1.3.0] - 2024-05-17
### Added
@@ -18,7 +70,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Changed
- The code now regularly uses `V`- and `v`-type arguments to get the value of a
variable.
-- The code now uses private `expl3` wrappers around the LaTeX2e commands
+- The code now uses private `expl3` wrappers around the `LaTeX2e` commands
`\@setfontsize`, `\fontsize`, and `\selectfont`.
## [v1.2.2] - 2024-04-29
diff --git a/macros/latex/contrib/fontscale/README.txt b/macros/latex/contrib/fontscale/README.txt
index 292cfada9b..d6c9224ee0 100644
--- a/macros/latex/contrib/fontscale/README.txt
+++ b/macros/latex/contrib/fontscale/README.txt
@@ -1,4 +1,4 @@
-Package: fontscale -- A user interface for setting document font sizes
+Package: fontscale -- A flexible interface for setting font sizes
Copyright: 2024 (c) Oliver Beery <beeryoliver@gmail.com>
CTAN: https://ctan.org/pkg/fontscale
Repository: https://github.com/beeryoliver/fontscale
diff --git a/macros/latex/contrib/fontscale/beery.cls b/macros/latex/contrib/fontscale/beery.cls
index 4777c06a8e..f2fd7fd2c5 100644
--- a/macros/latex/contrib/fontscale/beery.cls
+++ b/macros/latex/contrib/fontscale/beery.cls
@@ -1,71 +1,84 @@
-% Note: This documentclass is designed ONLY for the document 'fontscale-manual'. Compiled using LuaLaTeX.
+% Note: This class is designed ONLY for 'fontscale.tex'. Compiled with LuaTeX.
-% The 2023-06-01 LaTeX kernel update added the 'shipout' hook.
-\NeedsTeXFormat{LaTeX2e}[2023-06-01]
+% LaTeX2e version 2023-11-01 added \IfExplAtLeastTF.
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesExplClass
{beery}
- {2024-04-21}
+ {2024-08-12}
{}
{}
-\RequirePackage { fix-cm }
\LoadClass { article }
+
+\box_new:N \l__beery_tmp_box
+
\RequirePackage { fontscale }
\fontscalesetup { musical }
-\RequirePackage [ list-final-separator = { ,~ and~ } ] { siunitx }
+\RequirePackage { siunitx }
+\sisetup { list-final-separator = { ,~ and~ } , mode = match }
\RequirePackage { mathtools }
\RequirePackage [ shortcuts , allowbreakbefore ] { extdash }
\RequirePackage { csquotes }
+\RequirePackage { lmodern }
% CUSTOM MACROS
+\tl_const:Nn \c_beery_alphabet_tl { abcdefghijklmnopqrstuvwxyz }
+\NewExpandableDocumentCommand \alphabet { } { \c_beery_alphabet_tl }
\NewDocumentCommand \Key { m o o }
{
+ \mode_leave_vertical:
\group_begin:
\ttfamily
- \bool_case:nF
+ \IfNoValueTF {#3}
{
- {
- \bool_lazy_and_p:nn
- { \tl_if_novalue_p:n {#2} }
- { \tl_if_novalue_p:n {#3} }
- }
- {#1}
- {
- \bool_lazy_and_p:nn
- { ! \tl_if_novalue_p:n {#2} }
- { \tl_if_novalue_p:n {#3} }
- }
- { #1~ =~ #2 }
- {
- \bool_lazy_and_p:nn
- { ! \tl_if_novalue_p:n {#2} }
- { ! \tl_if_novalue_p:n {#3} }
- }
- { #1~ =~ #2 \hspace* { \fill } \makebox { initial~ =~ #3 } }
+ \IfNoValueTF {#2}
+ {#1}
+ { #1 $\,=\,$ \allowbreak #2 }
}
- { \errmessage { invalid } }
+ { #1 $\,=\,$ #2 \hspace* { \fill } \hbox:n { initial $\,=\,$ #3 } }
\group_end:
}
+\NewDocumentCommand \Value { m } { \texttt {#1} }
\NewDocumentCommand \cmd { m } { \texttt { \token_to_str:N #1 } \@ }
\NewDocumentCommand \cs { m } { \texttt { \token_to_str:c {#1} } \@ }
\NewDocumentCommand \marg { m }
- { \allowbreak \texttt { \c_left_brace_str #1 \c_right_brace_str } }
-\NewDocumentCommand \oarg { m } { \allowbreak \texttt { [ #1 ] } }
-\NewDocumentCommand \meta { m } { \texttt { \textlangle #1 \textrangle } }
+ {
+ \allowbreak
+ \texttt { \c_left_brace_str }
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ \texttt { \c_right_brace_str }
+ }
+\NewDocumentCommand \oarg { m }
+ {
+ \allowbreak
+ \texttt { [ }
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ \texttt { ] }
+ }
+\NewDocumentCommand \sarg { } { $\langle$ \texttt {*} $\rangle$ }
+\NewDocumentCommand \meta { m }
+ {
+ $\langle$
+ { \normalfont \itshape #1 }
+ $\rangle$
+ }
\NewDocumentCommand \cls { m } { \textsf {#1} }
\NewDocumentCommand \env { m } { \texttt {#1} }
\NewDocumentCommand \pkg { m } { \textsf {#1} }
-\NewDocumentCommand \filex { m } { \texttt {#1} \@ }
\NewDocumentCommand \latin { m } { \textit {#1} }
% PAGE STYLE
-\hbox_set:Nn \l_tmpa_box { abcdefghijklmnopqrstuvwxyz }
-\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l_tmpa_box }
+\hbox_set:Nn \l__beery_tmp_box { \c_beery_alphabet_tl }
+\dim_const:Nn \c_beery_alphabet_dim { \box_wd:N \l__beery_tmp_box }
+\dim_log:N \c_beery_alphabet_dim
-\dim_const:Nn \c_beery_big_dim
- { \fp_to_dim:n { \l_fontscale_normalsize_size_dim * 10 / 7 } }
+\dim_const:Nn \c_beery_big_dim { \l_fontscale_normalsize_baselineskip_skip }
\dim_const:Nn \c_beery_medium_dim { \c_beery_big_dim / 2 }
\dim_const:Nn \c_beery_small_dim { \c_beery_big_dim / 4 }
\skip_const:Nn \c_beery_big_skip
@@ -85,12 +98,15 @@
\skip_set:Nn \topskip { \l_fontscale_normalsize_size_dim }
\skip_set_eq:NN \splittopskip \topskip
-\RequirePackage
- [
- letterpaper
- , textwidth = \dim_eval:n { \fp_use:N \c_e_fp \c_beery_alphabet_dim }
+\RequirePackage { geometry }
+\geometry
+ {
+ a4paper
+ , textwidth =
+ \dim_eval:n { \fp_to_dim:n { \c_e_fp * \c_beery_alphabet_dim } }
, textheight =
- \dim_eval:n { \fp_eval:n { \c_e_fp * 1.6180 } \c_beery_alphabet_dim }
+ \dim_eval:n
+ { \fp_to_dim:n { 1.6180 * \c_e_fp * \c_beery_alphabet_dim } }
, heightrounded
, centering
, headheight = \l_fontscale_footnotesize_baselineskip_skip
@@ -98,8 +114,7 @@
, footskip =
\dim_eval:n
{ \c_beery_big_dim + \l_fontscale_footnotesize_baselineskip_skip }
- ]
- { geometry }
+ }
\RequirePackage { fancyhdr }
\pagestyle { fancy }
@@ -111,14 +126,22 @@
% PARAGRAPH STYLE
\nonfrenchspacing
-\linespread { \fp_eval:n { 25 / 21 } }
-\RequirePackage [ skip = \c_beery_medium_skip ] { parskip }
+\linespread { 1 }
+\skip_set_eq:NN \parskip \c_beery_medium_skip
+\dim_zero:N \parindent
\RequirePackage [ raggedrightboxes ] { ragged2e }
\skip_set:Nn \RaggedRightRightskip { 0pt plus 0.5 \linewidth }
+\dim_zero:N \RaggedRightParindent
+\dim_set_eq:NN \JustifyingParindent \RaggedRightParindent
\RaggedRight
+\int_set:Nn \pretolerance { -1 }
+\int_set:Nn \tolerance { 200 }
+\dim_zero:N \emergencystretch
\int_set:Nn \widowpenalty { 10000 }
\int_set_eq:NN \clubpenalty \widowpenalty
\int_set_eq:NN \displaywidowpenalty \widowpenalty
+\int_set:Nn \hyphenpenalty { 99 }
+\int_set_eq:NN \exhyphenpenalty \hyphenpenalty
% HEADINGS, TABLE OF CONTENTS
@@ -129,32 +152,34 @@
\titlespacing* \section % section
{ 0pt } % indent
{
- \fp_eval:n { 4 / 3 } \c_beery_medium_dim
- plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim
- minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim
+ - \parskip
+ + \c_beery_big_dim
+ plus \fp_eval:n { 1 / 2 * 4 } \c_beery_big_dim
+ minus \fp_eval:n { 1 / 3 / 4 } \c_beery_big_dim
} % before
- { \c_beery_medium_skip } % after
+ { - \parskip + \c_beery_medium_skip } % after
\titlespacing* \subsection
{ 0pt }
{
- \fp_eval:n { 4 / 3 } \c_beery_medium_dim
+ - \parskip
+ + \fp_eval:n { 4 / 3 } \c_beery_medium_dim
plus \fp_eval:n { 1 / 2 * 4 } \c_beery_medium_dim
minus \fp_eval:n { 1 / 3 / 4 } \c_beery_medium_dim
}
- { \c_beery_medium_skip }
+ { - \parskip + \c_beery_medium_skip }
\titleformat \section % section
[ block ] % shape
{ \raggedright \large \bfseries } % format
- { \thesection . } % label
- { 0.5em } % the horizontal separation between label and title body
+ { \thesection } % label
+ { 1em } % the horizontal separation between label and title body
{ } % before code
{ } % after code
\titleformat \subsection
[ block ]
{ \raggedright \normalsize \bfseries }
- { \thesubsection . }
- { 0.5em }
+ { \thesubsection }
+ { 1em }
{ }
{ }
@@ -181,7 +206,10 @@
{
\par
\IfBooleanTF #1
- { \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading } }
+ {
+ \int_compare:nNnT { \prevgraf } = { 1 }
+ { \nobreak \@afterheading }
+ }
{ \nobreak \@afterheading }
}
\NewDocumentCommand \listheading { m }
@@ -189,7 +217,8 @@
\par
#1
\par
- \int_compare:nNnT { \prevgraf } = { 1 } { \nobreak \@afterheading }
+ \int_compare:nNnT { \prevgraf } = { 1 }
+ { \nobreak \@afterheading }
\vspace { \skip_eval:n { \c_beery_small_skip - \parskip } }
}
@@ -215,7 +244,10 @@
\coffin_new:N \l__beery_footnote_coffin
% 1.2 = baselineskip-size-ratio
\dim_const:Nn \c_beery_footnote_baselineheight_dim
- { \fp_eval:n { 1.2 * \f@linespread - 1 } \l_fontscale_footnotesize_size_dim }
+ {
+ \fp_to_dim:n
+ { ( 1.2 * \f@linespread - 1 ) * \l_fontscale_footnotesize_size_dim }
+ }
\RenewDocumentCommand \@makefntext { +m }
{
\vcoffin_set:Nnn \l__beery_footnote_coffin { \textwidth }
@@ -224,8 +256,10 @@
{
\dim_set:Nn \leftmargin
{
- \fp_eval:n { ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 }
- \textwidth
+ \fp_to_dim:n
+ {
+ ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 * \textwidth
+ }
}
\dim_set_eq:NN \rightmargin \leftmargin
\dim_set:Nn \labelsep { 0.5em }
@@ -242,4 +276,5 @@
\AddToHook { shipout / lastpage } { \label { LastPage } }
\RequirePackage { xurl }
-\RequirePackage [ bookmarksnumbered , hidelinks , linktoc = page ] { hyperref } \ No newline at end of file
+\RequirePackage { hyperref }
+\hypersetup { bookmarksnumbered , hidelinks , linktoc = page } \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
deleted file mode 100644
index 029d304d82..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-classic.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command in \unit{pt} when using a classic typographic scale.%
- \label{table:classicscales}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2-Z}={guard}
- }
- \toprule
- Command & \Key{classic-10pt} & \Key{classic-11pt} & \Key{classic-12pt} \\
- \midrule
- \cs{tiny} & 6 & 7 & 8 \\
- \cs{scriptsize} & 7 & 8 & 9 \\
- \cs{footnotesize} & 8 & 9 & 10 \\
- \cs{small} & 9 & 10 & 11 \\
- \cs{normalsize} & 10 & 11 & 12 \\
- \cs{large} & 11 & 12 & 14 \\
- \cs{Large} & 12 & 14 & 16 \\
- \cs{LARGE} & 14 & 16 & 18 \\
- \cs{huge} & 16 & 18 & 21 \\
- \cs{Huge} & 18 & 21 & 24 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
deleted file mode 100644
index 8c5cc8c141..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-font-steps.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The step of each font size command.
- These are constants and cannot be changed.%
- \label{table:fontsteps}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2}={guard}
- }
- \toprule
- Command & Step \\
- \midrule
- \cs{tiny} & -4 \\
- \cs{scriptsize} & -3 \\
- \cs{footnotesize} & -2 \\
- \cs{small} & -1 \\
- \cs{normalsize} & 0 \\
- \cs{large} & 1 \\
- \cs{Large} & 2 \\
- \cs{LARGE} & 3 \\
- \cs{huge} & 4 \\
- \cs{Huge} & 5 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
deleted file mode 100644
index 306578ec35..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
+++ /dev/null
@@ -1,38 +0,0 @@
-\ProvidesFile
- {fontscale-manual-table-modular-musical.tex}
- [2024-04-15]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command when using a modular or musical typographic scale with the initial settings.
- The font sizes are in \unit{pt} and rounded to two decimal places.%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2-3}={guard}
- }
- \toprule
- Command & \Key{modular} & \Key{musical} \\
- \midrule
- \cs{tiny} & 6.24 & 5.74 \\
- \cs{scriptsize} & 7.02 & 6.60 \\
- \cs{footnotesize} & 7.90 & 7.58 \\
- \cs{small} & 8.89 & 8.71 \\
- \cs{normalsize} & 10 & 10 \\
- \cs{large} & 11.25 & 11.49 \\
- \cs{Large} & 12.66 & 13.20 \\
- \cs{LARGE} & 14.24 & 15.16 \\
- \cs{huge} & 16.02 & 17.41 \\
- \cs{Huge} & 18.02 & 20 \\
- \bottomrule
- \end{tblr}
-\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.pdf b/macros/latex/contrib/fontscale/fontscale-manual.pdf
deleted file mode 100644
index 2637ef9c1f..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.tex b/macros/latex/contrib/fontscale/fontscale-manual.tex
deleted file mode 100644
index 9917636a04..0000000000
--- a/macros/latex/contrib/fontscale/fontscale-manual.tex
+++ /dev/null
@@ -1,390 +0,0 @@
-\documentclass{beery}
-
-\begin{document}
-
-
-\section*
- {%
- \SetFontStep*{1}%
- The \pkg{fontscale} package%
- }
-
-A user interface for setting document font sizes
-
-Oliver Beery
-
-Version 1.3.0\quad{}17 May 2024
-
-
-\section{Introduction}
-\label{sec:intro}
-
-\subsection{About}
-\label{subsec:about}
-
-\listheading{The \pkg{fontscale} package provides the following functionalities:}
-\begin{itemize}
- \item
- Set font sizes via a classic, modular, or musical typographic scale.
- \item
- Set arbitrary sizes and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
- \item
- Set the font size settings mid\-/document or within a local group.
- \item
- Set the font size by setting the font step, scale, or size.
- \item
- Set the font size relative to the current font size.
- \item
- Use the current font step, scale, size, and baselineskip directly, for example, for printing or within calculations.
- \item
- Print sample text to test different font sizes.
- \item
- For advanced users, store the step, scale, size, and baselineskip of each font size command in \pkg{expl3} variables.
-\end{itemize}
-
-\subsection{Loading the package}
-\label{subsec:loading}
-
-This package requires the 10 October 2023 \pkg{l3kernel} update.
-You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
-
-This package lets the user set arbitrary font sizes.
-This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes.
-If you get a warning that Computer Modern is not available in the requested size, you may need to add the code \cs{RequirePackage{fix-cm}} before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
-
-\cs{usepackage}\marg{fontscale}
-\nopagebreak\newline
-\cs{fontscalesetup}\marg{\meta{keyval list}}
-
-Load the \pkg{fontscale} package via the usual command in the document preamble.
-This package has no package options.
-Instead, the package keys are set up via the command \cs{fontscalesetup}\marg{\meta{keyval list}}.
-\meta{keyval list} must receive a comma\-/separated list of keys and their associated values.
-The package keys are documented in \S\ref{sec:choosing} and \S\ref{sec:overwriting}.
-
-Many \LaTeX{} document classes have a font size option (\Key{10pt}, \Key{11pt}, \Key{12pt}, etc.\@) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
-For this reason, you may want to set the document class font size option close to the value of \cs{normalsize} set by this package.
-
-Internally, this package sets up each font size command from \cs{tiny} to \cs{Huge} using the kernel command \cs{@setfontsize}\---they have no additional functionality beyond that of \cs{@setfontsize}.
-Unlike the standard document classes, the font size commands set up by this package do not change the vertical spacing for displayed math and list structures.
-If the user would like to add this functionality or perhaps other features to the font size commands, they can do so via hooks, which are documented in the \LaTeX{} kernel.
-
-\subsection{Terminology}
-\label{subsec:terminology}
-
-When using the \pkg{fontscale} package, each font size, including the standard font size commands from \cs{tiny} to \cs{Huge}, has a step, scale, size, and baselineskip.
-The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}}.
-The font scale is the relative font size; the ratio of the font size to \cs{normalsize}.
-The font step is the number of font size gradations from \cs{normalsize}, which has a step of \num{0}.
-Table~\ref{table:fontsteps} lists the font step of each font size command.
-
-\input{./fontscale-manual-table-font-steps.tex}
-
-This package defines many keys and commands that take as a value or argument a \meta{dim expr}, \meta{skip expr}, \meta{fp expr}, or \meta{int expr}.
-This syntax is short for a dimen, skip, floating point, or integer expression, respectively.
-See \pkg{usrguide} \S5 for more information.%
-\footnote{\url{https://ctan.org/pkg/usrguide}}
-
-
-\section{Choosing the typographic scale}
-\label{sec:choosing}
-
-\Key{typographic-scale}
- [classic-10pt, classic-11pt, classic-12pt, modular, musical]
- [classic-10pt]
-\newline
-\Key{modular/ratio}[\meta{fp expr}][1.125]
-\newline
-\Key{musical/ratio}[\meta{fp expr}][2]%
-\nopagebreak\newline
-\Key{musical/notes}[\meta{int expr}][5]
-
-The key \Key{typographic\-/scale} sets the font sizes using a classic, modular, or musical typographic scale.
-These are common methods of choosing a set of document font sizes.
-The choice of typographic scale initializes to \Key{classic\-/10pt}.
-
-The key \Key{typographic\-/scale} can also be set in a condensed format via the keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, \Key{modular}, or \Key{musical}, which set the key \Key{typographic\-/scale} to the corresponding value.
-
-The classic typographic scale consists of the traditional font sizes
-\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
-\footnote{See \S{}3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
-They have been used since the sixteenth century and are the default font sizes on most computer software.
-The keys \Key{classic-10pt, classic-11pt, classic-12pt} set the size of each font size command to values based on their position in the classic typographic scale.
-The size of \cs{normalsize} is the named point size.
-The sizes of the other font size commands are the adjacent font sizes in the scale.
-Table~\ref{table:classicscales} lists the size of each font size command when using a classic typographic scale.
-
-\input{./fontscale-manual-table-classic.tex}
-
-The key \Key{modular} sets the font sizes from \cs{tiny} to \cs{Huge} using a modular typographic scale.
-In a modular scale, each font size is a fixed ratio from the adjacent font sizes.%
-\footnote{\url{https://alistapart.com/article/more-meaningful-typography/}}
-Here, the base font size is the size of \cs{normalsize}, which can be set via the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
-If not set, \cs{normalsize} initializes to \qty{10}{pt}.
-The modular ratio can be set via the key \Key{modular\slash{}ratio}.
-The initial modular ratio is \num{1.125}.
-
-\input{./fontscale-manual-table-modular-musical.tex}
-
-The key \Key{musical} sets the font sizes according to their position in a musical typographic scale.
-The font size is calculated using the formula:%
-\footnote
- {%
- I have referenced this article by Spencer Mortensen:
- \newline
- \url{https://spencermortensen.com/articles/typographic-scale/}%
- }
-\[ f_i = f_0 \times r ^ { i / n } \]
-$f_0$ is the base font size, the size of \cs{normalsize}.
-$f_i$ is the font size with font step~$i$.
-$n$ is the number of notes in the musical scale\---the number of font size gradations or steps above \cs{normalsize}.
-$r$ is the ratio of the musical scale, the ratio of the highest to the lowest note $ f_n / f_0 $.
-(The modular typographic scale is actually a special case of the musical typographic scale where $n=1$.)
-
-The musical ratio~$r$ and the number of notes~$n$ can be set via the keys \Key{musical\slash{}ratio} and \Key{musical\slash{}notes}.
-The initial musical ratio\---\num{2}\---and the initial number of notes\---\num{5}\---are the same as that of the classic typographic scale.%
-\footnote{Ibid.}
-Conveniently, \cs{Huge} is \num{5} steps above \cs{normalsize}.
-The font size of \cs{normalsize}~$f_0$ can be set using the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
-When using a musical typographic scale, \cs{normalsize} initializes to \qty{10}{pt}.%
-\footnote {I have set the initial value to \qty{10}{pt} instead of the \qty{12}{pt} recommended by the Spencer Mortensen article because this matches the default settings of the standard \LaTeXe{} document classes.}
-
-\Key{baselineskip-size-ratio}[\meta{fp expr}][1.2]
-\KeepNextPar*
-
-The key \Key{baselineskip\-/size\-/ratio} sets the ratio of the font baselineskip to the font size.
-By default, the font baselineskip of each font size command equals its font size times \meta{fp expr}.
-Users should not set this key unless they really know what they are doing.
-When using increased line spacing, users should prefer the low\-/level font command \cs{linespread} or the \pkg{setspace} package.
-
-
-\section{Overwriting the typographic scale}
-\label{sec:overwriting}
-
-In some situations, users may need to explicitly set the scale, size, or baselineskip of a font size command, overwriting the value set by the keys in \S\ref{sec:choosing}.
-Note that the font steps and the scale of \cs{normalsize} are constants and cannot be changed.
-
-\Key{\meta{font size command}/scale}[\meta{fp expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic\-/scale}.
-The key \Key{normalsize\slash{}scale} is not defined.
-
-\Key{\meta{font size command}/size}[\meta{dim expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
-\meta{dim expr} supplies a default unit of \unit{pt}.
-
-The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored.
-
-\Key{\meta{font size command}/baselineskip}[\meta{skip expr}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}baselineskip} set the font baselineskip of \meta{font size command} to \meta{skip expr} instead of calculating it from the size of \meta{font size command} and \Key{baselineskip\-/size\-/ratio}.
-\meta{skip expr} supplies a default unit of \unit{pt}.
-
-\Key{\meta{font size command}}[\meta{dim expr}]
-\nopagebreak\newline
-\Key{\meta{font size command}}[\meta{dim expr}/\meta{skip expr}]
-
-The keys \Key{\meta{font size command}} set the keys \Key{\meta{font size command}\slash{}size} or \Key{\meta{font size command}\slash{}baselineskip} in a condensed format.
-The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, $10/12$ or $11/13$.
-The number before/after the slash is the size/leading in \unit{pts}.
-
-\Key{ignore-order}[true, false][false]
-\KeepNextPar*
-
-The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands.
-The magnitudes of the font sizes and font baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
-This is important for typographic and syntactic consistency.
-This package will issue a warning if they are not in the correct order.
-The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}.
-
-
-\section{User commands}
-\label{sec:usercommands}
-
-\subsection{Expandable font parameters}
-\label{subsec:fontparameters}
-
-\cs{CurrentFontStep}
-\nopagebreak\newline
-\cs{CurrentFontScale}
-\newline
-\cs{CurrentFontSize}
-\nopagebreak\newline
-\cs{CurrentFontBaselineskip}
-
-These are fully expandable commands that expand to the current font step, scale, size, or baselineskip.
-They can be used for printing or within calculations.
-Caution: \cs{CurrentFontStep} will expand to nothing if the current font step is undefined.
-
-Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}.
-\cs{CurrentFontSize} expands to \texttt{f@size pt}.
-\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}.
-Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} to the new font size before expanding its second argument.
-This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}.
-This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
-
-\subsection{More font sizing commands}
-\label{subsec:fontsize}
-
-The \pkg{fontscale} package provides the commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} which set the font size in different ways.
-The first three commands have a starred version which sets the font size relative to the current font size.
-Internally, these commands all use the low\-/level font commands \cs{fontsize} and \cs{selectfont}.
-These commands should be used only in special cases.
-Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency, although \cs{SetFontStep*}\marg{\meta{integer}} can use a font size command directly.
-
-\cs{SetFontStep}\marg{\meta{fp expr}}
-\nopagebreak\newline
-\cs{SetFontStep*}\marg{\meta{fp expr}}
-
-\cs{SetFontStep} sets the font size by setting the font step to \meta{fp expr}.
-The starred version \cs{SetFontStep*} adds \meta{fp expr} to the current font step.
-If the choice of typographic scale is not modular or musical, then the only valid values for \meta{fp expr} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}.
-\cs{SetFontStep} will issue an error if the calculated font step is invalid.
-The starred version \cs{SetFontStep*} will also issue an error if the current font step is invalid.
-\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-If the calculated font step matches the step of any font size command, then that font size command will be used directly.
-
-\listheading{Examples:}
-\begin{itemize}
- \item
- For example, \cs{SetFontStep}\marg{-2} and \cs{SetFontStep}\marg{2} use \cs{footnotesize} and \cs{Large}.
- Note that it is typically better to use the equivalent font size command in place of \cs{SetFontStep}\marg{\meta{integer}}.
- \item
- If the current font size is \cs{normalsize}, \cs{SetFontStep*}\marg{1} and \cs{SetFontStep*}\marg{-1} use \cs{large} and \cs{small}.
- This is useful for moving up or down a note on the typographic scale.
- \item
- If the choice of typographic scale is modular or musical, \cs{SetFontStep*}\marg{-0.5} sets the font size and font baselineskip to values between that of \cs{normalsize} and \cs{small}.
- Otherwise, it produces an error.
-\end{itemize}
-
-\cs{SetFontScale}\marg{\meta{fp expr}}
-\nopagebreak\newline
-\cs{SetFontScale*}\marg{\meta{fp expr}}
-
-\cs{SetFontScale} sets the font size by setting the font scale to \meta{fp expr}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontScale*} adds \meta{fp expr} to the current font scale.
-For example, \cs{SetFontScale}\marg{1.25} makes the font size 25\% larger than \cs{normalsize}.
-If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.2} is equivalent to \cs{SetFontScale}\marg{1.2}.
-
-\cs{SetFontSize}\marg{\meta{dim expr}}
-\nopagebreak\newline
-\cs{SetFontSize*}\marg{\meta{dim expr}}
-
-\cs{SetFontSize} sets the font size to \meta{dim expr}.
-\meta{dim expr} supplies a default unit of \unit{pt}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current font size.
-For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}.
-
-\cs{ScaleFont}\marg{\meta{fp expr}}
-\KeepNextPar*
-
-Scales the current font size and the current font baselineskip by a factor of \meta{fp expr}.
-For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}.
-
-\cs{SetFontSizeBaselineskip}\marg{\meta{dim expr}}\marg{\meta{skip expr}}
-\KeepNextPar*
-
-Sets the font size to \meta{dim expr} and the font baselineskip to \meta{skip expr}.
-Both arguments supply a default unit of \unit{pt}.
-\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}.
-
-\subsection{Testing and debugging}
-\label{subsec:debug}
-
-The commands documented here are intended primarily for testing and debugging.
-I have used them often when developing this package so I think users will find them helpful.
-
-\cs{PrintFontParameters}
-\nopagebreak\newline
-\cs{PrintAllFontParameters}
-
-\cs{PrintFontParameters} prints the current font step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
-If the current font step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
-\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command.
-
-\cs{PrintSampleText}\oarg{\meta{text}}
-\nopagebreak\newline
-\cs{PrintSampleText*}\oarg{\meta{text}}
-
-\cs{PrintSampleText} prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
-The starred version \cs{PrintSampleText*} reverses the sizing order.
-The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens.
-The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}.
-One useful way of printing example text is by using
-\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
-
-\cs{PrintFontSizeCommand}
-\KeepNextPar*
-
-\cs{PrintFontSizeCommand} tests whether the current font size and the current font baselineskip match the font size and font baselineskip of any font size command from \cs{tiny} to \cs{Huge}.
-If so, it prints the name of that font size command, including the backslash character.
-If not, it instead prints \enquote{UNDEFINED\@}.
-\vfill\pagebreak%manual
-
-\subsection
- {%
- \texorpdfstring
- {More on \cs{fontscalesetup}}
- {More on \textbackslash{}fontscalesetup}%
- }
-\label{subsec:fontscalesetup}
-
-\cs{fontscalesetup}\marg{\meta{keyval list}}
-\KeepNextPar*
-
-Sets and processes the \pkg{fontscale} package keys and then uses \cs{normalsize}.
-\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group.
-
-\Key{reset}[initial, preamble]
-\KeepNextPar*
-
-The key \Key{reset} is also available.
-Its value must be either \texttt{initial} or \texttt{preamble}.
-The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values.
-The key \Key{reset}[preamble] sets all the keys to their values at the end of the preamble (or does nothing if used before the end of the preamble).
-
-
-\section{Programming}
-\label{sec:programming}
-
-This section is relevant to \LaTeX3 programmers.
-
-The document commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
-\cs{text_purify:n} will correctly remove these commands and their arguments.
-This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}.
-
-This package does not provide any public \pkg{expl3} functions.
-
-This package provides some public \pkg{expl3} variables.
-The package stores in public variables the step, scale, size, and baselineskip of each font size command.
-These variables should not be modified directly.
-Instead, they should be modified only indirectly via the command \cs{fontscalesetup}.
-
-Each takes the form:
-
-\begingroup
- \ttfamily
- \textbackslash{}c\_fontscale\_\meta{font size command}\_step\_fp
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_scale\_fp
- \newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_size\_dim
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_baselineskip\_skip
-\endgroup
-
-Exception:
-\cs{l_fontscale_normalsize_scale_fp} is not defined.
-The scale of \cs{normalsize} is instead stored as the constant \cs{c_fontscale_normalsize_scale_fp}, which always equals \num{1}.
-
-The step, scale, size, and baselineskip of each font size command are also stored in property lists, one for each font size command:
-
-\texttt{\textbackslash{}l\_fontscale\_\meta{font size command}\_prop}
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-table-classic.tex b/macros/latex/contrib/fontscale/fontscale-table-classic.tex
new file mode 100644
index 0000000000..50ff413e36
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale-table-classic.tex
@@ -0,0 +1,41 @@
+\ProvidesFile
+ {fontscale-table-classic.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font size of each font size command from \cs{tiny} to \cs{Huge} in units of \unit{pt} when using a classic typographic scale.%
+ \label{table:classic}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2-Z}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ , cell{1}{2-Z}={cmd=\Key}
+ }
+ \toprule
+ font size command & classic-10pt & classic-11pt & classic-12pt \\
+ \midrule
+ tiny & 6 & 7 & 8 \\
+ scriptsize & 7 & 8 & 9 \\
+ footnotesize & 8 & 9 & 10 \\
+ small & 9 & 10 & 11 \\
+ normalsize & 10 & 11 & 12 \\
+ large & 11 & 12 & 14 \\
+ Large & 12 & 14 & 16 \\
+ LARGE & 14 & 16 & 18 \\
+ huge & 16 & 18 & 21 \\
+ Huge & 18 & 21 & 24 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-table-font-steps.tex b/macros/latex/contrib/fontscale/fontscale-table-font-steps.tex
new file mode 100644
index 0000000000..5b20f18681
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale-table-font-steps.tex
@@ -0,0 +1,39 @@
+\ProvidesFile
+ {fontscale-table-font-steps.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font step of each font size command from \cs{tiny} to \cs{Huge}.
+ These are constants and cannot be changed.%
+ \label{table:fontsteps}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ }
+ \toprule
+ font size command & font step \\
+ \midrule
+ tiny & -4 \\
+ scriptsize & -3 \\
+ footnotesize & -2 \\
+ small & -1 \\
+ normalsize & 0 \\
+ large & 1 \\
+ Large & 2 \\
+ LARGE & 3 \\
+ huge & 4 \\
+ Huge & 5 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-table-musical.tex b/macros/latex/contrib/fontscale/fontscale-table-musical.tex
new file mode 100644
index 0000000000..e6a6ca5ce0
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale-table-musical.tex
@@ -0,0 +1,39 @@
+\ProvidesFile
+ {fontscale-table-musical.tex}
+ [2024-08-12]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The font size of each font size command from \cs{tiny} to \cs{Huge} when using a musical typographic scale with the initial values.
+ The font sizes are in units of \unit{pt} and rounded to two decimal places.%
+ \label{table:musical}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ , cell{2-Z}{1}={cmd=\cs}
+ }
+ \toprule
+ font size command & \Key{musical} \\
+ \midrule
+ tiny & 5.74 \\
+ scriptsize & 6.60 \\
+ footnotesize & 7.58 \\
+ small & 8.71 \\
+ normalsize & 10 \\
+ large & 11.49 \\
+ Large & 13.20 \\
+ LARGE & 15.16 \\
+ huge & 17.41 \\
+ Huge & 20 \\
+ \bottomrule
+ \end{tblr}
+\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale.pdf b/macros/latex/contrib/fontscale/fontscale.pdf
new file mode 100644
index 0000000000..adcd809134
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/fontscale.sty b/macros/latex/contrib/fontscale/fontscale.sty
index d032e49860..70bfae6026 100644
--- a/macros/latex/contrib/fontscale/fontscale.sty
+++ b/macros/latex/contrib/fontscale/fontscale.sty
@@ -1,33 +1,32 @@
-% Package : fontscale -- A user interface for setting document font sizes
+% Package : fontscale -- A flexible interface for setting font sizes
% Copyright : 2024 (c) Oliver Beery <beeryoliver@gmail.com>
% CTAN : https://ctan.org/pkg/fontscale
% Repository: https://github.com/beeryoliver/fontscale
% License : The LaTeX Project Public License 1.3c
-% The 2022-06-01 LaTeX kernel update added \ProcessKeyOptions.
-\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+% LaTeX2e version 2023-11-01 added \IfExplAtLeastTF.
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
\ProvidesExplPackage
{fontscale}
- {2024-05-17}
- {1.3.0}
- {A user interface for setting document font sizes}
+ {2024-08-12}
+ {2.1.0}
+ {A flexible interface for setting font sizes}
-% The 2023-10-10 l3kernel update added many 'e'-variants.
-\IfExplAtLeastTF { 2023-10-10 }
- { }
+% l3kernel version 2023-10-10 added many 'e'-variants.
+\IfExplAtLeastTF { 2023-10-10 } { }
{
\msg_new:nnn { fontscale } { expl3-out-of-date }
{
- The~ package~ could~ not~ load.~
- The~ fontscale~ package~ requires~
- L3~ programming~ layer~ version~ 2023-10-10~ or~ later.
+ The~ fontscale~ package~ could~ not~ load.~
+ This~ package~ requires~
+ L3~ programming~ layer~ version~ 2023-10-10~ or~ newer.
}
\msg_critical:nn { fontscale } { expl3-out-of-date }
}
% This package does not require any other packages!
-% DECLARE FONT PARAMETER VARIABLES
+% DECLARE FONT SIZE PARAMETER VARIABLES
\fp_const:Nn \c_fontscale_tiny_step_fp { -4 }
\fp_const:Nn \c_fontscale_scriptsize_step_fp { -3 }
@@ -74,31 +73,7 @@
\skip_new:N \l_fontscale_huge_baselineskip_skip
\skip_new:N \l_fontscale_Huge_baselineskip_skip
-\prop_new:N \l_fontscale_tiny_prop
-\prop_new:N \l_fontscale_scriptsize_prop
-\prop_new:N \l_fontscale_footnotesize_prop
-\prop_new:N \l_fontscale_small_prop
-\prop_new:N \l_fontscale_normalsize_prop
-\prop_new:N \l_fontscale_large_prop
-\prop_new:N \l_fontscale_Large_prop
-\prop_new:N \l_fontscale_LARGE_prop
-\prop_new:N \l_fontscale_huge_prop
-\prop_new:N \l_fontscale_Huge_prop
-
-\prop_put:Nnn \l_fontscale_tiny_prop { step } { -4 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { step } { -3 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { step } { -2 }
-\prop_put:Nnn \l_fontscale_small_prop { step } { -1 }
-\prop_put:Nnn \l_fontscale_normalsize_prop { step } { 0 }
-\prop_put:Nnn \l_fontscale_large_prop { step } { 1 }
-\prop_put:Nnn \l_fontscale_Large_prop { step } { 2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { step } { 3 }
-\prop_put:Nnn \l_fontscale_huge_prop { step } { 4 }
-\prop_put:Nnn \l_fontscale_Huge_prop { step } { 5 }
-
-\prop_put:Nnn \l_fontscale_normalsize_prop { scale } { 1 }
-
-% INITIALIZE FONT PARAMETER VARIABLES
+% INITIALIZE FONT SIZE PARAMETER VARIABLES
\fp_set:Nn \l_fontscale_tiny_scale_fp { 0.6 }
\fp_set:Nn \l_fontscale_scriptsize_scale_fp { 0.7 }
@@ -132,177 +107,221 @@
\skip_set:Nn \l_fontscale_huge_baselineskip_skip { 19.2pt }
\skip_set:Nn \l_fontscale_Huge_baselineskip_skip { 21.6pt }
-\prop_put:Nnn \l_fontscale_tiny_prop { scale } { 0.6 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { scale } { 0.7 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { scale } { 0.8 }
-\prop_put:Nnn \l_fontscale_small_prop { scale } { 0.9 }
-\prop_put:Nnn \l_fontscale_large_prop { scale } { 1.1 }
-\prop_put:Nnn \l_fontscale_Large_prop { scale } { 1.2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { scale } { 1.4 }
-\prop_put:Nnn \l_fontscale_huge_prop { scale } { 1.6 }
-\prop_put:Nnn \l_fontscale_Huge_prop { scale } { 1.8 }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { size } { 6pt }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { size } { 7pt }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { size } { 8pt }
-\prop_put:Nnn \l_fontscale_small_prop { size } { 9pt }
-\prop_put:Nnn \l_fontscale_normalsize_prop { size } { 10pt }
-\prop_put:Nnn \l_fontscale_large_prop { size } { 11pt }
-\prop_put:Nnn \l_fontscale_Large_prop { size } { 12pt }
-\prop_put:Nnn \l_fontscale_LARGE_prop { size } { 14pt }
-\prop_put:Nnn \l_fontscale_huge_prop { size } { 16pt }
-\prop_put:Nnn \l_fontscale_Huge_prop { size } { 18pt }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { baselineskip } { 7.2pt }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { baselineskip } { 8.4pt }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { baselineskip } { 9.6pt }
-\prop_put:Nnn \l_fontscale_small_prop { baselineskip } { 10.8pt }
-\prop_put:Nnn \l_fontscale_normalsize_prop { baselineskip } { 12 pt }
-\prop_put:Nnn \l_fontscale_large_prop { baselineskip } { 13.2pt }
-\prop_put:Nnn \l_fontscale_Large_prop { baselineskip } { 14.4pt }
-\prop_put:Nnn \l_fontscale_LARGE_prop { baselineskip } { 16.8pt }
-\prop_put:Nnn \l_fontscale_huge_prop { baselineskip } { 19.2pt }
-\prop_put:Nnn \l_fontscale_Huge_prop { baselineskip } { 21.6pt }
-
% SOME VARIABLES
-% Used for mapping.
-\tl_const:Nn \c__fontscale_names_tl
- {
- {tiny} {scriptsize} {footnotesize} {small} {normalsize}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-\tl_const:Nn \c__fontscale_names_other_tl
- {
- {tiny} {scriptsize} {footnotesize} {small}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-
% Used to speed up floating point calculations.
\fp_new:N \l__fontscale_normalsize_size_fp
\fp_set:Nn \l__fontscale_normalsize_size_fp { 10 }
+\fp_new:N \l__fontscale_musical_base_fp
\fp_new:N \l__fontscale_musical_notes_fp
-% Temporary variables
-\tl_new:N \l__fontscale_step_tl
-\tl_new:N \l__fontscale_scale_tl
-\dim_new:N \l__fontscale_size_dim
+% Scratch variables
+\tl_new:N \l__fontscale_tmp_tl
+\str_new:N \l__fontscale_tmp_str
+\dim_new:N \l__fontscale_tmp_dim
+\fp_new:N \l__fontscale_tmp_fp
% SOME HELPER FUNCTIONS
-% Sets a dimen/skip variable from a dimen/skip expression, supplying a default
+% Sets a dimen/skip variable from a dimen/skip expression, appending a default
% unit of pt.
-\cs_new_protected:Npn \__fontscale_dim_set_with_default_pt:Nn #1#2
+\cs_new_protected:Npn \__fontscale_dim_set_default_pt:Nn #1#2
{ \@defaultunits #1 = \dimexpr #2 pt \relax \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_dim_set_with_default_pt:Nn { c }
-\cs_new_protected:Npn \__fontscale_skip_set_with_default_pt:Nn #1#2
+\cs_generate_variant:Nn \__fontscale_dim_set_default_pt:Nn { c }
+\cs_new_protected:Npn \__fontscale_skip_set_default_pt:Nn #1#2
{ \@defaultunits #1 = \glueexpr #2 pt \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_skip_set_with_default_pt:Nn { c }
-% Used to define \tiny to \Huge. Need \dim_use:N for compatibility with the
-% microtype package. Otherwise the following would do:
-% \cs_new_protected:Npn \__fontscale_fontsize:NNN { \@setfontsize }
-\cs_new_protected:Npn \__fontscale_fontsize:NNN #1#2
- { \@setfontsize #1 { \dim_use:N #2 } }
-% Similar to \fontsize + \selectfont, except that it takes dimen and skip
-% expressions as arguments and avoids the issue where \f@size is set to the new
-% font size before the second argument is expanded.
+\cs_generate_variant:Nn \__fontscale_skip_set_default_pt:Nn { c }
+% Similar to \@setfontsize. Used to define \tiny to \Huge. Need \dim_use:N for
+% compatibility with the microtype package.
+\cs_new_protected:Npn \__fontscale_fontsize:NNN #1#2#3
+ {
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N #1 }
+ }
+ {
+ \cs_set_eq:NN \@currsize #1
+ \fontsize { \dim_use:N #2 } #3 \selectfont
+ }
+ }
+% Similar to \fontsize + \selectfont, except that it:
+% (1) Takes dimen and skip expressions as arguments.
+% (2) Avoids the issue where \f@size is set to the new font size before the
+% second argument is expanded.
+% (3) Provides error checking for the font size and font baselineskip.
+\dim_new:N \l__fontscale_fontsize_dim
\skip_new:N \l__fontscale_fontsize_skip
\cs_new_protected:Npn \__fontscale_fontsize:nn #1#2
{
- \__fontscale_skip_set_with_default_pt:Nn \l__fontscale_fontsize_skip {#2}
- \fontsize { = \dimexpr #1 pt \relax \relax } \l__fontscale_fontsize_skip
- \selectfont
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_fontsize_dim {#1}
+ \__fontscale_skip_set_default_pt:Nn \l__fontscale_fontsize_skip {#2}
+ \dim_compare:nNnTF \l__fontscale_fontsize_dim > \c_zero_dim
+ {
+ \dim_compare:nNnTF \l__fontscale_fontsize_skip <
+ \l__fontscale_fontsize_dim
+ { \msg_error:nn { fontscale } { font-baselineskip-out-of-bounds } }
+ {
+ \fontsize \l__fontscale_fontsize_dim \l__fontscale_fontsize_skip
+ \selectfont
+ }
+ }
+ { \msg_error:nn { fontscale } { font-size-out-of-bounds } }
}
% Similar to the above function, except that it sets the font baselineskip
% equal to the new font size times the baselineskip-size-ratio.
\cs_new_protected:Npn \__fontscale_fontsize:n #1
{
- \fontsize { = \dimexpr #1 pt \relax \relax }
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_fontsize_dim {#1}
+ \dim_compare:nNnTF \l__fontscale_fontsize_dim > \c_zero_dim
+ {
+ \fontsize \l__fontscale_fontsize_dim
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_fontsize_dim
+ * \l__fontscale_baselineskip_size_ratio_fp
+ }
+ }
+ \selectfont
+ }
+ { \msg_error:nn { fontscale } { font-size-out-of-bounds } }
}
% MESSAGES
-\msg_new:nnn { fontscale } { modular-ratio-out-of-bounds }
+\msg_new:nnn { fontscale } { key-baselineskip-size-ratio-out-of-bounds }
{
- The~ value~ for~ the~ key~ 'modular / ratio'~
+ The~ value~ of~ the~ key~ 'baselineskip-size-ratio'~
\msg_line_context: \c_space_tl
- must~ be~ greater~ than~ 1.
+ must~ be~ at~ least~ 1.
}
-\msg_new:nnn { fontscale } { musical-ratio-out-of-bounds }
+\msg_new:nnn { fontscale } { key-musical-base-out-of-bounds }
{
- The~ value~ for~ the~ key~ 'musical / ratio'~
+ The~ value~ of~ the~ key~ 'musical / base'~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ length.
+ }
+\msg_new:nnn { fontscale } { key-musical-ratio-out-of-bounds }
+ {
+ The~ value~ of~ the~ key~ 'musical / ratio'~
\msg_line_context: \c_space_tl
must~ be~ greater~ than~ 1.
}
-\msg_new:nnn { fontscale } { musical-notes-out-of-bounds }
+\msg_new:nnn { fontscale } { key-musical-notes-out-of-bounds }
{
- The~ value~ for~ the~ key~ 'musical / notes'~
+ The~ value~ of~ the~ key~ 'musical / notes'~
\msg_line_context: \c_space_tl
must~ be~ a~ positive~ integer.
}
-\msg_new:nnn { fontscale } { key-font-scale-ignored }
+\msg_new:nnn { fontscale } { key-font-scale-out-of-bounds }
{
- Key~ '#1 / scale'~
+ The~ value~ of~ the~ key~ '#1 / scale'~
\msg_line_context: \c_space_tl
- ignored.~
- Setting~ the~ scale~ and~ size~ keys~ for~ the~ same~
- font~ size~ command~ ignores~ the~ scale~ key.
+ must~ be~ positive.
+ }
+\msg_new:nnn { fontscale } { key-font-size-out-of-bounds }
+ {
+ The~ value~ of~ the~ key~ '#1 / size'~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ length.
+ }
+\msg_new:nnn { fontscale } { key-font-scale-overwritten }
+ {
+ The~ font~ size~ set~ by~ the~ key~ '#1 / scale'~
+ has~ been~ overwritten~ by~ the~ key~ '#1 / size'~
+ \msg_line_context:.
+ }
+\msg_new:nnn { fontscale } { key-font-baselineskip-out-of-bounds }
+ {
+ The~ value~ of~ the~ key~ '#1 / baselineskip'~
+ \msg_line_context: \c_space_tl
+ must~ be~ greater~ than~ or~ equal~ to~
+ the~ font~ size~ of~ '\iow_char:N \\#1'.
}
\msg_new:nnn { fontscale } { font-sizes-out-of-order }
{
The~ font~ sizes~
\msg_line_context: \c_space_tl
are~ not~ in~ the~ correct~ order.~
- The~ magnitude~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
- '\iow_char:N \\tiny'~ to~ '\iow_char:N \\normalsize'~ to~
- '\iow_char:N \\Huge'.
+ The~ lengths~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
+ '\iow_char:N \\tiny'~ to~ '\iow_char:N \\Huge'.
}
\msg_new:nnn { fontscale } { font-baselineskips-out-of-order }
{
The~ font~ baselineskips~
\msg_line_context: \c_space_tl
are~ not~ in~ the~ correct~ order.~
- The~ magnitude~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
- '\iow_char:N \\tiny'~ to~ '\iow_char:N \\normalsize'~ to~
- '\iow_char:N \\Huge'.
+ The~ lengths~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
+ '\iow_char:N \\tiny'~ to~ '\iow_char:N \\Huge'.
+ }
+
+\msg_new:nnn { fontscale } { math-mode-warning }
+ {
+ '#1'~
+ \msg_line_context: \c_space_tl
+ does~ nothing~ if~ used~ in~ math~ mode.
+ }
+\msg_new:nnn { fontscale } { math-mode-error }
+ {
+ '#1'~
+ \msg_line_context: \c_space_tl
+ cannot~ be~ used~ in~ math~ mode.
+ }
+\msg_new:nnn { fontscale } { font-size-out-of-bounds }
+ {
+ The~ font~ size~
+ \msg_line_context: \c_space_tl
+ must~ be~ a~ positive~ length.
+ }
+\msg_new:nnn { fontscale } { font-baselineskip-out-of-bounds }
+ {
+ The~ font~ baselineskip~
+ \msg_line_context: \c_space_tl
+ must~ be~ greater~ than~ or~ equal~ to~ the~ font~ size.
}
\msg_new:nnn { fontscale } { font-step-out-of-bounds }
{
The~ font~ step~
\msg_line_context: \c_space_tl
- must~ be~ an~ integer~ from~ -4~ to~ 5,~
- unless~ the~ value~ for~ the~ choice~ key~ 'typographic-scale'~
- is~ 'modular'~ or~ 'musical'.
+ must~ equal~ an~ integer~ from~ -4~ to~ 5,~
+ unless~ the~ value~ of~ the~ key~ 'typographic-scale'~ is~ 'musical'.~
+ \msg_see_documentation_text:n { fontscale }
}
\msg_new:nnn { fontscale } { current-font-step-out-of-bounds }
{
'\iow_char:N \\SetFontStep*'~
\msg_line_context: \c_space_tl
could~ not~ calculate~ the~ new~ font~ step~ because~
- the~ current~ font~ step~ is~ undefined.
+ the~ current~ font~ step~ is~ undefined.~
+ \msg_see_documentation_text:n { fontscale }
}
% DEFINE KEYS
\str_new:N \l__fontscale_typographic_scale_str
+\dim_new:N \l__fontscale_musical_base_dim
-\keys_define:nn { fontscale }
+\cs_new_protected:Npn \__fontscale_keys_name:n #1
{
- reset .choices:nn = { initial , preamble }
- { \use:c { __fontscale_keys_precompile_#1: } }
- , reset .default:n = initial
-
- , ignore-order .bool_set:N = \l__fontscale_ignore_order_bool
- , ignore-order .default:n = true
+ \tl_if_in:nnTF {#1} { / }
+ { \__fontscale_keys_name_split:ww #1 \q_stop }
+ { \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1} }
+ }
+\cs_new_protected:Npn \__fontscale_keys_name_split:ww #1 / #2 \q_stop
+ {
+ \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1}
+ \tl_set:cn { l__fontscale_ \l_keys_key_str _baselineskip_tl } {#2}
+ }
- , baselineskip-size-ratio .fp_set:N =
+\keys_define:nn { fontscale }
+ {
+ baselineskip-size-ratio .fp_set:N =
\l__fontscale_baselineskip_size_ratio_fp
, baselineskip-size-ratio .value_required:n = true
, typographic-scale .choices:nn =
- { classic-10pt , classic-11pt , classic-12pt , modular , musical }
+ { classic-10pt , classic-11pt , classic-12pt , musical }
{ \str_set:Nn \l__fontscale_typographic_scale_str {#1} }
, typographic-scale .value_required:n = true
@@ -315,18 +334,16 @@
, classic-12pt .meta:n = { typographic-scale = classic-12pt }
, classic-12pt .value_forbidden:n = true
- , modular .meta:n = { typographic-scale = modular }
- , modular .value_forbidden:n = true
-
, musical .meta:n = { typographic-scale = musical }
, musical .value_forbidden:n = true
-
- , modular / ratio .fp_set:N = \l__fontscale_modular_ratio_fp
- , modular / ratio .value_required:n = true
}
\keys_define:nn { fontscale / musical }
{
- ratio .fp_set:N = \l__fontscale_musical_ratio_fp
+ base .code:n =
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_musical_base_dim {#1}
+ , base .value_required:n = true
+
+ , ratio .fp_set:N = \l__fontscale_musical_ratio_fp
, ratio .value_required:n = true
, notes .int_set:N = \l__fontscale_musical_notes_int
@@ -441,58 +458,46 @@
}
\keys_define:nn { fontscale }
{
- tiny .code:n = \__fontscale_keys_name_code:n {#1}
+ tiny .code:n = \__fontscale_keys_name:n {#1}
, tiny .value_required:n = true
- , scriptsize .code:n = \__fontscale_keys_name_code:n {#1}
+ , scriptsize .code:n = \__fontscale_keys_name:n {#1}
, scriptsize .value_required:n = true
- , footnotesize .code:n = \__fontscale_keys_name_code:n {#1}
+ , footnotesize .code:n = \__fontscale_keys_name:n {#1}
, footnotesize .value_required:n = true
- , small .code:n = \__fontscale_keys_name_code:n {#1}
+ , small .code:n = \__fontscale_keys_name:n {#1}
, small .value_required:n = true
- , normalsize .code:n = \__fontscale_keys_name_code:n {#1}
+ , normalsize .code:n = \__fontscale_keys_name:n {#1}
, normalsize .value_required:n = true
- , large .code:n = \__fontscale_keys_name_code:n {#1}
+ , large .code:n = \__fontscale_keys_name:n {#1}
, large .value_required:n = true
- , Large .code:n = \__fontscale_keys_name_code:n {#1}
+ , Large .code:n = \__fontscale_keys_name:n {#1}
, Large .value_required:n = true
- , LARGE .code:n = \__fontscale_keys_name_code:n {#1}
+ , LARGE .code:n = \__fontscale_keys_name:n {#1}
, LARGE .value_required:n = true
- , huge .code:n = \__fontscale_keys_name_code:n {#1}
+ , huge .code:n = \__fontscale_keys_name:n {#1}
, huge .value_required:n = true
- , Huge .code:n = \__fontscale_keys_name_code:n {#1}
+ , Huge .code:n = \__fontscale_keys_name:n {#1}
, Huge .value_required:n = true
}
-\cs_new_protected:Npn \__fontscale_keys_name_code:n #1
- {
- \str_if_in:nnTF {#1} { / }
- { \__fontscale_keys_name_code_split:ww #1 \q_stop }
- { \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1} }
- }
-\cs_new_protected:Npn \__fontscale_keys_name_code_split:ww #1 / #2 \q_stop
- {
- \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1}
- \tl_set:cn { l__fontscale_ \l_keys_key_str _baselineskip_tl } {#2}
- }
-% PRE-COMPILE KEYS
+% INITIALIZE AND PRE-COMPILE KEYS
% Pre-compiles the keys with their initial values and then sets the keys to
% their initial values. This is done by hand for speed.
-\cs_new_protected:Npn \__fontscale_keys_precompile_initial:
+\cs_new_protected:Npn \__fontscale_keys_set_initial:
{
- \bool_set_false:N \l__fontscale_ignore_order_bool
\fp_set:Nn \l__fontscale_baselineskip_size_ratio_fp { 1.2 }
\str_set:Nn \l__fontscale_typographic_scale_str { classic-10pt }
- \fp_set:Nn \l__fontscale_modular_ratio_fp { 1.125 }
+ \dim_set:Nn \l__fontscale_musical_base_dim { 10pt }
\fp_set:Nn \l__fontscale_musical_ratio_fp { 2 }
\int_set:Nn \l__fontscale_musical_notes_int { 5 }
@@ -528,98 +533,23 @@
\tl_set:Nn \l__fontscale_huge_baselineskip_tl { \q_no_value }
\tl_set:Nn \l__fontscale_Huge_baselineskip_tl { \q_no_value }
}
-\__fontscale_keys_precompile_initial:
+\__fontscale_keys_set_initial:
-% Pre-compiles the keys with their values at the end of the preamble. The keys
-% are pre-compiled by hand for speed.
-\cs_new_eq:NN \__fontscale_keys_precompile_preamble: \prg_do_nothing:
-% \AddToHook is passed only a single token for speed.
-\AddToHook { begindocument / before }
- { \__fontscale_keys_precompile_preamble_set: }
-\cs_new_protected:Npn \__fontscale_keys_precompile_preamble_set:
+% SET AND PROCESS KEYS
+
+\NewDocumentCommand \fontscalesetup { s m }
{
- \cs_set_protected:Npe \__fontscale_keys_precompile_preamble:
+ \mode_if_math:TF
{
- \bool_if:NTF \l__fontscale_ignore_order_bool
- { \bool_set_true:N } { \bool_set_false:N }
- \exp_not:N \l__fontscale_ignore_order_bool
- \fp_set:Nn \exp_not:N \l__fontscale_baselineskip_size_ratio_fp
- { \exp_not:V \l__fontscale_baselineskip_size_ratio_fp }
- \str_set:Nn \exp_not:N \l__fontscale_typographic_scale_str
- { \l__fontscale_typographic_scale_str }
- \fp_set:Nn \exp_not:N \l__fontscale_modular_ratio_fp
- { \exp_not:V \l__fontscale_modular_ratio_fp }
- \fp_set:Nn \exp_not:N \l__fontscale_musical_ratio_fp
- { \exp_not:V \l__fontscale_musical_ratio_fp }
- \int_set:Nn \exp_not:N \l__fontscale_musical_notes_int
- { \int_use:N \l__fontscale_musical_notes_int }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_scale_tl
- { \exp_not:V \l__fontscale_tiny_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_scale_tl
- { \exp_not:V \l__fontscale_scriptsize_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_scale_tl
- { \exp_not:V \l__fontscale_footnotesize_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_scale_tl
- { \exp_not:V \l__fontscale_small_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_scale_tl
- { \exp_not:V \l__fontscale_large_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_scale_tl
- { \exp_not:V \l__fontscale_Large_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_scale_tl
- { \exp_not:V \l__fontscale_LARGE_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_scale_tl
- { \exp_not:V \l__fontscale_huge_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_scale_tl
- { \exp_not:V \l__fontscale_Huge_scale_tl }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_size_tl
- { \exp_not:V \l__fontscale_tiny_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_size_tl
- { \exp_not:V \l__fontscale_scriptsize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_size_tl
- { \exp_not:V \l__fontscale_footnotesize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_size_tl
- { \exp_not:V \l__fontscale_small_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_normalsize_size_tl
- { \exp_not:V \l__fontscale_normalsize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_size_tl
- { \exp_not:V \l__fontscale_large_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_size_tl
- { \exp_not:V \l__fontscale_Large_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_size_tl
- { \exp_not:V \l__fontscale_LARGE_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_size_tl
- { \exp_not:V \l__fontscale_huge_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_size_tl
- { \exp_not:V \l__fontscale_Huge_size_tl }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_baselineskip_tl
- { \exp_not:V \l__fontscale_tiny_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_baselineskip_tl
- { \exp_not:V \l__fontscale_scriptsize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_baselineskip_tl
- { \exp_not:V \l__fontscale_footnotesize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_baselineskip_tl
- { \exp_not:V \l__fontscale_small_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_normalsize_baselineskip_tl
- { \exp_not:V \l__fontscale_normalsize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_baselineskip_tl
- { \exp_not:V \l__fontscale_large_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_baselineskip_tl
- { \exp_not:V \l__fontscale_Large_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_baselineskip_tl
- { \exp_not:V \l__fontscale_LARGE_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_baselineskip_tl
- { \exp_not:V \l__fontscale_huge_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_baselineskip_tl
- { \exp_not:V \l__fontscale_Huge_baselineskip_tl }
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \fontscalesetup }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_keys_reset:n {#2} }
+ { \__fontscale_keys_set:n {#2} }
}
}
-
-% PROCESS KEYS
-
-\NewDocumentCommand \fontscalesetup { m } { \__fontscale_keys_set:n {#1} }
\cs_new_protected:Npn \__fontscale_keys_set:n #1
{
\keys_set:nn { fontscale } {#1}
@@ -628,55 +558,65 @@
\prg_break:
\prg_break_point:
}
+\cs_new_protected:Npn \__fontscale_keys_reset:n
+ { \__fontscale_keys_set_initial: \__fontscale_keys_set:n }
\cs_new_protected:Npn \__fontscale_keys_process:
{
- \__fontscale_keys_process_check_modular_musical:
+ \__fontscale_keys_process_start:
\__fontscale_keys_process_normalsize:
\__fontscale_keys_process_other:
\__fontscale_keys_process_check_order:
}
-% Issues an error if the key 'modular/ratio', 'musical/ratio', or
-% 'musical/notes' is set to an impossible value.
-\cs_new_protected:Npn \__fontscale_keys_process_check_modular_musical:
+\cs_new_protected:Npn \__fontscale_keys_process_start:
{
- \fp_compare:nNnF \l__fontscale_modular_ratio_fp > \c_one_fp
+ \fp_compare:nNnT \l__fontscale_baselineskip_size_ratio_fp < \c_one_fp
{
- \msg_error:nn { fontscale } { modular-ratio-out-of-bounds }
+ \msg_error:nn { fontscale }
+ { key-baselineskip-size-ratio-out-of-bounds }
+ \prg_break:
+ }
+ \dim_compare:nNnF \l__fontscale_musical_base_dim > \c_zero_dim
+ {
+ \msg_error:nn { fontscale } { key-musical-base-out-of-bounds }
\prg_break:
}
\fp_compare:nNnF \l__fontscale_musical_ratio_fp > \c_one_fp
{
- \msg_error:nn { fontscale } { musical-ratio-out-of-bounds }
+ \msg_error:nn { fontscale } { key-musical-ratio-out-of-bounds }
\prg_break:
}
\int_compare:nNnF \l__fontscale_musical_notes_int > 0
{
- \msg_error:nn { fontscale } { musical-notes-out-of-bounds }
+ \msg_error:nn { fontscale } { key-musical-notes-out-of-bounds }
\prg_break:
}
}
-% Sets the size and baselineskip of \normalsize and updates their property list
-% entries.
+% Sets the font size and font baselineskip of \normalsize.
\cs_new_protected:Npn \__fontscale_keys_process_normalsize:
{
\quark_if_no_value:NTF \l__fontscale_normalsize_size_tl
{
\dim_set:Nn \l_fontscale_normalsize_size_dim
{
- \str_case:VnF \l__fontscale_typographic_scale_str
+ \str_case:Vn \l__fontscale_typographic_scale_str
{
+ { classic-10pt } { 10pt }
{ classic-11pt } { 11pt }
{ classic-12pt } { 12pt }
+ { musical } { \l__fontscale_musical_base_dim }
}
- { 10pt }
}
}
{
- \__fontscale_dim_set_with_default_pt:Nn
- \l_fontscale_normalsize_size_dim { \l__fontscale_normalsize_size_tl }
+ \__fontscale_dim_set_default_pt:Nn \l_fontscale_normalsize_size_dim
+ { \l__fontscale_normalsize_size_tl }
+ \dim_compare:nNnF \l_fontscale_normalsize_size_dim > \c_zero_dim
+ {
+ \msg_error:nnn { fontscale } { key-font-size-out-of-bounds }
+ { normalsize }
+ \prg_break:
+ }
}
- \prop_put:NnV \l_fontscale_normalsize_prop { size }
- \l_fontscale_normalsize_size_dim
\fp_set:Nn \l__fontscale_normalsize_size_fp
{ \l_fontscale_normalsize_size_dim }
\quark_if_no_value:NTF \l__fontscale_normalsize_baselineskip_tl
@@ -691,12 +631,17 @@
}
}
{
- \__fontscale_skip_set_with_default_pt:Nn
+ \__fontscale_skip_set_default_pt:Nn
\l_fontscale_normalsize_baselineskip_skip
{ \l__fontscale_normalsize_baselineskip_tl }
+ \dim_compare:nNnT \l_fontscale_normalsize_baselineskip_skip <
+ \l_fontscale_normalsize_size_dim
+ {
+ \msg_error:nnn { fontscale }
+ { key-font-baselineskip-out-of-bounds } { normalsize }
+ \prg_break:
+ }
}
- \prop_put:NnV \l_fontscale_normalsize_prop { baselineskip }
- \l_fontscale_normalsize_baselineskip_skip
}
% Auxiliary functions that expand to the font size depending on the name of the
% font size command.
@@ -745,57 +690,55 @@
{ Huge } { 24pt }
}
}
-\cs_new:Npn \__fontscale_keys_process_other_modular:n #1
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp * \l__fontscale_modular_ratio_fp
- ^ \use:c { c_fontscale_#1_step_fp }
- }
- }
\cs_new:Npn \__fontscale_keys_process_other_musical:n #1
{
\fp_to_dim:n
{
- \l__fontscale_normalsize_size_fp * \l__fontscale_musical_ratio_fp
+ \l__fontscale_musical_base_fp * \l__fontscale_musical_ratio_fp
^ ( \use:c { c_fontscale_#1_step_fp }
/ \l__fontscale_musical_notes_fp )
}
}
-% Sets the size, scale, and baselineskip of the other font size commands and
-% updates their property list entries. Issues a warning if the user sets both
-% the scale and size keys for the same font size command.
+% Sets the font size, font scale, and font baselineskip of the other font size
+% commands.
\cs_new_protected:Npn \__fontscale_keys_process_other:
{
- \cs_set_eq:Nc \__fontscale_keys_process_other_typographic_scale:n
+ \str_case:Vn \l__fontscale_typographic_scale_str
{
- \str_case:Vn \l__fontscale_typographic_scale_str
- {
- { classic-10pt } { __fontscale_keys_process_other_classic_xpt:n }
- { classic-11pt } { __fontscale_keys_process_other_classic_xipt:n }
- { classic-12pt } { __fontscale_keys_process_other_classic_xiipt:n }
- { modular } { __fontscale_keys_process_other_modular:n }
- { musical } { __fontscale_keys_process_other_musical:n }
- }
+ { classic-10pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_classic_xpt:n
+ }
+ { classic-11pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_classic_xipt:n
+ }
+ { classic-12pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_classic_xiipt:n
+ }
+ { musical }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_fn_aux:n
+ \__fontscale_keys_process_other_musical:n
+ \fp_set:Nn \l__fontscale_musical_base_fp
+ { \l__fontscale_musical_base_dim }
+ \fp_set:Nn \l__fontscale_musical_notes_fp
+ { \l__fontscale_musical_notes_int }
+ }
}
- \str_if_eq:VnT \l__fontscale_typographic_scale_str { musical }
+ \tl_map_function:nN
{
- \fp_set:Nn \l__fontscale_musical_notes_fp
- { \l__fontscale_musical_notes_int }
+ {tiny} {scriptsize} {footnotesize} {small}
+ {large} {Large} {LARGE} {huge} {Huge}
}
- \tl_map_function:NN \c__fontscale_names_other_tl
- \__fontscale_keys_process_other_aux:n
+ \__fontscale_keys_process_other_fn:n
}
-\cs_new_protected:Npn \__fontscale_keys_process_other_aux:n #1
+\cs_new_protected:Npn \__fontscale_keys_process_other_fn:n #1
{
- \quark_if_no_value:cF { l__fontscale_#1_size_tl }
- {
- \__fontscale_dim_set_with_default_pt:cn { l_fontscale_#1_size_dim }
- { \use:c { l__fontscale_#1_size_tl } }
- \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
- { \msg_warning:nnn { fontscale } { key-font-scale-ignored } {#1} }
- \prg_break:
- }
\quark_if_no_value:cF { l__fontscale_#1_scale_tl }
{
\dim_set:cn { l_fontscale_#1_size_dim }
@@ -806,17 +749,42 @@
* ( \use:c { l__fontscale_#1_scale_tl } )
}
}
+ \dim_compare:nNnF { \use:c { l_fontscale_#1_size_dim } } > \c_zero_dim
+ {
+ \tl_map_break:n
+ {
+ \msg_error:nnn { fontscale } { key-font-scale-out-of-bounds }
+ {#1}
+ \prg_break:
+ }
+ }
+ \quark_if_no_value:cT { l__fontscale_#1_size_tl } { \prg_break: }
+ }
+ \quark_if_no_value:cF { l__fontscale_#1_size_tl }
+ {
+ \__fontscale_dim_set_default_pt:cn { l_fontscale_#1_size_dim }
+ { \use:c { l__fontscale_#1_size_tl } }
+ \dim_compare:nNnF { \use:c { l_fontscale_#1_size_dim } } > \c_zero_dim
+ {
+ \tl_map_break:n
+ {
+ \msg_error:nnn { fontscale } { key-font-size-out-of-bounds }
+ {#1}
+ \prg_break:
+ }
+ }
+ \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
+ {
+ \msg_warning:nnn { fontscale } { key-font-scale-overwritten } {#1}
+ }
\prg_break:
}
\dim_set:cn { l_fontscale_#1_size_dim }
- { \__fontscale_keys_process_other_typographic_scale:n {#1} }
+ { \__fontscale_keys_process_other_fn_aux:n {#1} }
\prg_break:
\prg_break_point:
\fp_set:cn { l_fontscale_#1_scale_fp }
{ \use:c { l_fontscale_#1_size_dim } / \l__fontscale_normalsize_size_fp }
- \prop_put:cne { l_fontscale_#1_prop } { scale }
- { \fp_use:c { l_fontscale_#1_scale_fp } }
- \prop_put:cnv { l_fontscale_#1_prop } { size } { l_fontscale_#1_size_dim }
\quark_if_no_value:cTF { l__fontscale_#1_baselineskip_tl }
{
\skip_set:cn { l_fontscale_#1_baselineskip_skip }
@@ -829,122 +797,113 @@
}
}
{
- \__fontscale_skip_set_with_default_pt:cn
+ \__fontscale_skip_set_default_pt:cn
{ l_fontscale_#1_baselineskip_skip }
{ \use:c { l__fontscale_#1_baselineskip_tl } }
+ \dim_compare:nNnT { \use:c { l_fontscale_#1_baselineskip_skip } } <
+ { \use:c { l_fontscale_#1_size_dim } }
+ {
+ \tl_map_break:n
+ {
+ \msg_error:nnn { fontscale }
+ { key-font-baselineskip-out-of-bounds } {#1}
+ \prg_break:
+ }
+ }
}
- \prop_put:cnv { l_fontscale_#1_prop } { baselineskip }
- { l_fontscale_#1_baselineskip_skip }
}
% Issues a warning if the font sizes or font baselineskips (ignoring the
-% stretch and shrink components) are not in the correct order unless the value
-% for the key 'ignore-order' is 'true'.
+% stretch and shrink components) are not in the correct order.
\cs_new_protected:Npn \__fontscale_keys_process_check_order:
{
- \bool_if:NF \l__fontscale_ignore_order_bool
+ \dim_compare:nF
{
- \dim_compare:nF
- {
- \l_fontscale_tiny_size_dim
- < \l_fontscale_scriptsize_size_dim
- < \l_fontscale_footnotesize_size_dim
- < \l_fontscale_small_size_dim
- < \l_fontscale_normalsize_size_dim
- < \l_fontscale_large_size_dim
- < \l_fontscale_Large_size_dim
- < \l_fontscale_LARGE_size_dim
- < \l_fontscale_huge_size_dim
- < \l_fontscale_Huge_size_dim
- }
- { \msg_warning:nn { fontscale } { font-sizes-out-of-order } }
- \dim_compare:nF
- {
- \l_fontscale_tiny_baselineskip_skip
- < \l_fontscale_scriptsize_baselineskip_skip
- < \l_fontscale_footnotesize_baselineskip_skip
- < \l_fontscale_small_baselineskip_skip
- < \l_fontscale_normalsize_baselineskip_skip
- < \l_fontscale_large_baselineskip_skip
- < \l_fontscale_Large_baselineskip_skip
- < \l_fontscale_LARGE_baselineskip_skip
- < \l_fontscale_huge_baselineskip_skip
- < \l_fontscale_Huge_baselineskip_skip
- }
- { \msg_warning:nn { fontscale } { font-baselineskips-out-of-order } }
+ \l_fontscale_tiny_size_dim
+ < \l_fontscale_scriptsize_size_dim
+ < \l_fontscale_footnotesize_size_dim
+ < \l_fontscale_small_size_dim
+ < \l_fontscale_normalsize_size_dim
+ < \l_fontscale_large_size_dim
+ < \l_fontscale_Large_size_dim
+ < \l_fontscale_LARGE_size_dim
+ < \l_fontscale_huge_size_dim
+ < \l_fontscale_Huge_size_dim
}
+ { \msg_warning:nn { fontscale } { font-sizes-out-of-order } }
+ \dim_compare:nF
+ {
+ \l_fontscale_tiny_baselineskip_skip
+ < \l_fontscale_scriptsize_baselineskip_skip
+ < \l_fontscale_footnotesize_baselineskip_skip
+ < \l_fontscale_small_baselineskip_skip
+ < \l_fontscale_normalsize_baselineskip_skip
+ < \l_fontscale_large_baselineskip_skip
+ < \l_fontscale_Large_baselineskip_skip
+ < \l_fontscale_LARGE_baselineskip_skip
+ < \l_fontscale_huge_baselineskip_skip
+ < \l_fontscale_Huge_baselineskip_skip
+ }
+ { \msg_warning:nn { fontscale } { font-baselineskips-out-of-order } }
}
% DOCUMENT COMMANDS
-% The internal functions of each font size command are not used elsewhere in
-% the code for compatibility with user-defined hooks
-% (e.g. \AddToHook{cmd/normalsize/after}{<user-defined-function>}).
-\DeclareDocumentCommand \tiny { } { \__fontscale_tiny: }
-\cs_new_protected:Npn \__fontscale_tiny:
+% Defines the standard LaTeX font size commands from \tiny to \Huge and
+% initializes to \normalsize.
+\DeclareDocumentCommand \tiny { }
{
\__fontscale_fontsize:NNN \tiny \l_fontscale_tiny_size_dim
\l_fontscale_tiny_baselineskip_skip
}
-\DeclareDocumentCommand \scriptsize { } { \__fontscale_scriptsize: }
-\cs_new_protected:Npn \__fontscale_scriptsize:
+\DeclareDocumentCommand \scriptsize { }
{
\__fontscale_fontsize:NNN \scriptsize \l_fontscale_scriptsize_size_dim
\l_fontscale_scriptsize_baselineskip_skip
}
-\DeclareDocumentCommand \footnotesize { } { \__fontscale_footnotesize: }
-\cs_new_protected:Npn \__fontscale_footnotesize:
+\DeclareDocumentCommand \footnotesize { }
{
\__fontscale_fontsize:NNN \footnotesize \l_fontscale_footnotesize_size_dim
\l_fontscale_footnotesize_baselineskip_skip
}
-\DeclareDocumentCommand \small { } { \__fontscale_small: }
-\cs_new_protected:Npn \__fontscale_small:
+\DeclareDocumentCommand \small { }
{
\__fontscale_fontsize:NNN \small \l_fontscale_small_size_dim
\l_fontscale_small_baselineskip_skip
}
-\DeclareDocumentCommand \normalsize { } { \__fontscale_normalsize: }
-\cs_new_protected:Npn \__fontscale_normalsize:
+\DeclareDocumentCommand \normalsize { }
{
\__fontscale_fontsize:NNN \normalsize \l_fontscale_normalsize_size_dim
\l_fontscale_normalsize_baselineskip_skip
}
-\DeclareDocumentCommand \large { } { \__fontscale_large: }
-\cs_new_protected:Npn \__fontscale_large:
+\DeclareDocumentCommand \large { }
{
\__fontscale_fontsize:NNN \large \l_fontscale_large_size_dim
\l_fontscale_large_baselineskip_skip
}
-\DeclareDocumentCommand \Large { } { \__fontscale_Large: }
-\cs_new_protected:Npn \__fontscale_Large:
+\DeclareDocumentCommand \Large { }
{
\__fontscale_fontsize:NNN \Large \l_fontscale_Large_size_dim
\l_fontscale_Large_baselineskip_skip
}
-\DeclareDocumentCommand \LARGE { } { \__fontscale_LARGE: }
-\cs_new_protected:Npn \__fontscale_LARGE:
+\DeclareDocumentCommand \LARGE { }
{
\__fontscale_fontsize:NNN \LARGE \l_fontscale_LARGE_size_dim
\l_fontscale_LARGE_baselineskip_skip
}
-\DeclareDocumentCommand \huge { } { \__fontscale_huge: }
-\cs_new_protected:Npn \__fontscale_huge:
+\DeclareDocumentCommand \huge { }
{
\__fontscale_fontsize:NNN \huge \l_fontscale_huge_size_dim
\l_fontscale_huge_baselineskip_skip
}
-\DeclareDocumentCommand \Huge { } { \__fontscale_Huge: }
-\cs_new_protected:Npn \__fontscale_Huge:
+\DeclareDocumentCommand \Huge { }
{
\__fontscale_fontsize:NNN \Huge \l_fontscale_Huge_size_dim
\l_fontscale_Huge_baselineskip_skip
}
-% Initializes to \normalsize.
\normalsize
-\NewExpandableDocumentCommand \CurrentFontStep { }
- { \__fontscale_current_font_step: }
-\cs_new:Npn \__fontscale_current_font_step:
+\NewExpandableDocumentCommand \CurrentFontStep { } { \__fontscale_step: }
+\cs_new:Npn \__fontscale_step:
{
\dim_case:nnF { \f@size pt }
{
@@ -960,47 +919,100 @@
{ \l_fontscale_Huge_size_dim } { 5 }
}
{
- \str_case:Vn \l__fontscale_typographic_scale_str
+ \str_if_eq:VnT \l__fontscale_typographic_scale_str { musical }
{
- { modular }
- {
- \fp_eval:n
- {
- ln ( \f@size / \l__fontscale_normalsize_size_fp )
- / ln ( \l__fontscale_modular_ratio_fp )
- }
- }
- { musical }
- {
- \fp_eval:n
- {
- \l__fontscale_musical_notes_fp
- * ln ( \f@size / \l__fontscale_normalsize_size_fp )
- / ln ( \l__fontscale_musical_ratio_fp )
- }
- }
+ \fp_eval:n
+ {
+ \l__fontscale_musical_notes_fp
+ * ln ( \f@size / \l__fontscale_musical_base_fp )
+ / ln ( \l__fontscale_musical_ratio_fp )
+ }
}
}
}
-\NewExpandableDocumentCommand \CurrentFontScale { }
- { \__fontscale_current_font_scale: }
-\cs_new:Npn \__fontscale_current_font_scale:
+\NewExpandableDocumentCommand \CurrentFontScale { } { \__fontscale_scale: }
+\cs_new:Npn \__fontscale_scale:
{ \fp_eval:n { \f@size / \l__fontscale_normalsize_size_fp } }
-\NewExpandableDocumentCommand \CurrentFontSize { }
- { \__fontscale_current_font_size: }
-\cs_new:Npn \__fontscale_current_font_size: { \f@size pt }
+\NewExpandableDocumentCommand \CurrentFontSize { } { \__fontscale_size: }
+\cs_new:Npn \__fontscale_size: { \f@size pt }
\NewExpandableDocumentCommand \CurrentFontBaselineskip { }
- { \__fontscale_current_font_baselineskip: }
-\cs_new:Npn \__fontscale_current_font_baselineskip: { \f@baselineskip }
+ { \__fontscale_baselineskip: }
+\cs_new:Npn \__fontscale_baselineskip: { \f@baselineskip }
+
+\NewExpandableDocumentCommand \CurrentFontSizeCommand { }
+ { \__fontscale_name: }
+\cs_new:Npn \__fontscale_name:
+ {
+ \dim_case:nn { \f@size pt }
+ {
+ { \l_fontscale_tiny_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_tiny_baselineskip_skip }
+ { \f@baselineskip } { tiny }
+ }
+ { \l_fontscale_scriptsize_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_scriptsize_baselineskip_skip }
+ { \f@baselineskip } { scriptsize }
+ }
+ { \l_fontscale_footnotesize_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_footnotesize_baselineskip_skip }
+ { \f@baselineskip } { footnotesize }
+ }
+ { \l_fontscale_small_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_small_baselineskip_skip }
+ { \f@baselineskip } { small }
+ }
+ { \l_fontscale_normalsize_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_normalsize_baselineskip_skip }
+ { \f@baselineskip } { normalsize }
+ }
+ { \l_fontscale_large_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_large_baselineskip_skip }
+ { \f@baselineskip } { large }
+ }
+ { \l_fontscale_Large_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_Large_baselineskip_skip }
+ { \f@baselineskip } { Large }
+ }
+ { \l_fontscale_LARGE_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_LARGE_baselineskip_skip }
+ { \f@baselineskip } { LARGE }
+ }
+ { \l_fontscale_huge_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_huge_baselineskip_skip }
+ { \f@baselineskip } { huge }
+ }
+ { \l_fontscale_Huge_size_dim }
+ {
+ \skip_if_eq:nnT { \l_fontscale_Huge_baselineskip_skip }
+ { \f@baselineskip } { Huge }
+ }
+ }
+ }
\NewDocumentCommand \SetFontStep { s m }
{
- \IfBooleanTF #1
- { \__fontscale_add_font_step:n {#2} }
- { \__fontscale_set_font_step:n {#2} }
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontStep }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_step:n {#2} }
+ { \__fontscale_set_font_step:n {#2} }
+ }
}
% Using \str_case: here is significantly faster (and easier to write) than
% repeatedly testing \fp_compare:.
@@ -1020,49 +1032,42 @@
{ 5 } { \Huge }
}
{
- \str_case:VnF \l__fontscale_typographic_scale_str
+ \str_if_eq:VnTF \l__fontscale_typographic_scale_str { musical }
{
- { modular }
- {
- \__fontscale_fontsize:n
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_modular_ratio_fp ^ (#1)
- }
- }
- }
- { musical }
- {
- \__fontscale_fontsize:n
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_musical_ratio_fp
- ^ ( (#1) / \l__fontscale_musical_notes_fp )
- }
- }
- }
+ \__fontscale_fontsize:n
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_musical_base_fp
+ * \l__fontscale_musical_ratio_fp
+ ^ ( (#1) / \l__fontscale_musical_notes_fp )
+ }
+ }
}
{ \msg_error:nn { fontscale } { font-step-out-of-bounds } }
}
}
\cs_new_protected:Npn \__fontscale_add_font_step:n #1
{
- \tl_set:Ne \l__fontscale_step_tl { \__fontscale_current_font_step: }
- \tl_if_empty:NTF \l__fontscale_step_tl
+ \tl_set:Ne \l__fontscale_tmp_tl { \__fontscale_step: }
+ \tl_if_empty:NTF \l__fontscale_tmp_tl
{ \msg_error:nn { fontscale } { current-font-step-out-of-bounds } }
- { \__fontscale_add_font_step_aux:n { (#1) + \l__fontscale_step_tl } }
+ { \__fontscale_add_font_step_aux:n { (#1) + \l__fontscale_tmp_tl } }
}
\cs_new_eq:NN \__fontscale_add_font_step_aux:n \__fontscale_set_font_step:n
\NewDocumentCommand \SetFontScale { s m }
{
- \IfBooleanTF #1
- { \__fontscale_add_font_scale:n {#2} }
- { \__fontscale_set_font_scale:n {#2} }
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontScale }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_scale:n {#2} }
+ { \__fontscale_set_font_scale:n {#2} }
+ }
}
\cs_new_protected:Npn \__fontscale_set_font_scale:n #1
{
@@ -1077,70 +1082,150 @@
\NewDocumentCommand \SetFontSize { s m }
{
- \IfBooleanTF #1
- { \__fontscale_add_font_size:n {#2} }
- { \__fontscale_set_font_size:n {#2} }
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontSize }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_size:n {#2} }
+ { \__fontscale_set_font_size:n {#2} }
+ }
}
\cs_new_eq:NN \__fontscale_set_font_size:n \__fontscale_fontsize:n
\cs_new_protected:Npn \__fontscale_add_font_size:n #1
{
- \__fontscale_dim_set_with_default_pt:Nn \l__fontscale_size_dim {#1}
- \dim_add:Nn \l__fontscale_size_dim { \f@size pt }
- \__fontscale_fontsize:n { \l__fontscale_size_dim }
+ \__fontscale_dim_set_default_pt:Nn \l__fontscale_tmp_dim {#1}
+ \__fontscale_fontsize:n { \l__fontscale_tmp_dim + \f@size pt }
}
\NewDocumentCommand \ScaleFont { m }
- { \__fontscale_scale_font_size_baselineskip:n {#1} }
-\cs_new_protected:Npn \__fontscale_scale_font_size_baselineskip:n #1
{
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \ScaleFont }
+ }
+ { \__fontscale_scale_font:n {#1} }
+ }
+\cs_new_protected:Npn \__fontscale_scale_font:n #1
+ {
+ \fp_set:Nn \l__fontscale_tmp_fp {#1}
\__fontscale_fontsize:nn
- { \fp_to_dim:n { \f@size * (#1) } }
- { \fp_to_dim:n { \dim_to_fp:n { \f@baselineskip } * (#1) } }
+ { \fp_to_dim:n { \f@size * \l__fontscale_tmp_fp } }
+ {
+ \fp_to_dim:n
+ { \dim_to_fp:n { \f@baselineskip } * \l__fontscale_tmp_fp }
+ }
}
\NewDocumentCommand \SetFontSizeBaselineskip { m m }
- { \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
+ {
+ \mode_if_math:TF
+ {
+ \msg_warning:nne { fontscale } { math-mode-warning }
+ { \token_to_str:N \SetFontSizeBaselineskip }
+ }
+ { \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
+ }
\cs_new_eq:NN \__fontscale_set_font_size_baselineskip:nn
\__fontscale_fontsize:nn
-\NewDocumentCommand \PrintFontParameters { }
- { \__fontscale_print_font_parameters: }
-\cs_new_protected:Npn \__fontscale_print_font_parameters:
+\NewDocumentCommand \PrintFontSizeParameters { }
+ { \__fontscale_print_font_size_parameters: }
+\cs_new_protected:Npn \__fontscale_print_font_size_parameters:
{
- step ~=~ \__fontscale_current_font_step: ,~
- scale ~=~ \__fontscale_current_font_scale: ,~
- size ~=~ \__fontscale_current_font_size: ,~
- baselineskip ~=~ \__fontscale_current_font_baselineskip:
+ step ~=~ \__fontscale_step: ,~
+ scale ~=~ \__fontscale_scale: ,~
+ size ~=~ \__fontscale_size: ,~
+ baselineskip ~=~ \__fontscale_baselineskip:
}
-\NewDocumentCommand \PrintAllFontParameters { }
- { \__fontscale_print_all_font_parameters: }
-\cs_new_protected:Npn \__fontscale_print_all_font_parameters:
+\NewDocumentCommand \PrintAllFontSizeParameters { }
{
- \tl_map_inline:Nn \c__fontscale_names_tl
+ \mode_if_math:TF
{
- \prop_get:cnN { l_fontscale_##1_prop } { step } \l__fontscale_step_tl
- \prop_get:cnN { l_fontscale_##1_prop } { scale } \l__fontscale_scale_tl
- \token_to_str:c {##1} \@ \c_colon_str \c_space_tl
- step ~=~ \l__fontscale_step_tl ,~
- scale ~=~ \l__fontscale_scale_tl ,~
- size ~=~ \dim_use:c { l_fontscale_##1_size_dim } ,~
- baselineskip ~=~ \skip_use:c { l_fontscale_##1_baselineskip_skip }
- \str_if_eq:nnF {##1} { Huge } { \newline }
+ \msg_error:nne { fontscale } { math-mode-error }
+ { \token_to_str:N \PrintAllFontSizeParameters }
+ }
+ { \__fontscale_print_all_font_size_parameters: }
+ }
+\cs_new_protected:Npn \__fontscale_print_all_font_size_parameters:
+ {
+ \token_to_str:N \tiny \c_colon_str \c_space_tl
+ step ~=~ -4 ,~
+ scale ~=~ \fp_use:N \l_fontscale_tiny_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_tiny_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_tiny_baselineskip_skip
+ \newline
+ \token_to_str:N \scriptsize \c_colon_str \c_space_tl
+ step ~=~ -3 ,~
+ scale ~=~ \fp_use:N \l_fontscale_scriptsize_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_scriptsize_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_scriptsize_baselineskip_skip
+ \newline
+ \token_to_str:N \footnotesize \c_colon_str \c_space_tl
+ step ~=~ -2 ,~
+ scale ~=~ \fp_use:N \l_fontscale_footnotesize_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_footnotesize_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_footnotesize_baselineskip_skip
+ \newline
+ \token_to_str:N \small \c_colon_str \c_space_tl
+ step ~=~ -1 ,~
+ scale ~=~ \fp_use:N \l_fontscale_small_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_small_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_small_baselineskip_skip
+ \newline
+ \token_to_str:N \normalsize \c_colon_str \c_space_tl
+ step ~=~ 0 ,~
+ scale ~=~ 1 ,~
+ size ~=~ \dim_use:N \l_fontscale_normalsize_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_normalsize_baselineskip_skip
+ \newline
+ \token_to_str:N \large \c_colon_str \c_space_tl
+ step ~=~ 1 ,~
+ scale ~=~ \fp_use:N \l_fontscale_large_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_large_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_large_baselineskip_skip
+ \newline
+ \token_to_str:N \Large \c_colon_str \c_space_tl
+ step ~=~ 2 ,~
+ scale ~=~ \fp_use:N \l_fontscale_Large_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_Large_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_Large_baselineskip_skip
+ \newline
+ \token_to_str:N \LARGE \@ \c_colon_str \c_space_tl
+ step ~=~ 3 ,~
+ scale ~=~ \fp_use:N \l_fontscale_LARGE_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_LARGE_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_LARGE_baselineskip_skip
+ \newline
+ \token_to_str:N \huge \c_colon_str \c_space_tl
+ step ~=~ 4 ,~
+ scale ~=~ \fp_use:N \l_fontscale_huge_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_huge_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_huge_baselineskip_skip
+ \newline
+ \token_to_str:N \Huge \c_colon_str \c_space_tl
+ step ~=~ 5 ,~
+ scale ~=~ \fp_use:N \l_fontscale_Huge_scale_fp ,~
+ size ~=~ \dim_use:N \l_fontscale_Huge_size_dim ,~
+ baselineskip ~=~ \skip_use:N \l_fontscale_Huge_baselineskip_skip
+ }
+
+\NewDocumentCommand \PrintSampleText { s +m }
+ {
+ \mode_if_math:TF
+ {
+ \msg_error:nne { fontscale } { math-mode-error }
+ { \token_to_str:N \PrintSampleText }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_print_sample_text_descending_order:n {#2} }
+ { \__fontscale_print_sample_text_ascending_order:n {#2} }
}
- }
-
-\NewDocumentCommand \PrintSampleText
- { s O
- {
- The~ \texttt { fontscale }~ package \c_colon_str \c_space_tl
- A~ user~ interface~ for~ setting~ document~ font~ sizes
- }
- }
- {
- \IfBooleanTF #1
- { \__fontscale_print_sample_text_descending_order:n {#2} }
- { \__fontscale_print_sample_text_ascending_order:n {#2} }
}
\cs_new_protected:Npn \__fontscale_print_sample_text_ascending_order:n #1
{
@@ -1169,80 +1254,26 @@
{ \tiny #1 \par }
}
-\NewDocumentCommand \PrintFontSizeCommand { } { \__fontscale_print_name: }
-\cs_new_protected:Npn \__fontscale_print_name:
+\NewDocumentCommand \PrintFontSizeCommand { }
{
- \dim_case:nn { \f@size pt }
+ \mode_if_math:TF
{
- { \l_fontscale_tiny_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_tiny_baselineskip_skip }
- { \token_to_str:N \tiny \prg_break: }
- }
- { \l_fontscale_scriptsize_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_scriptsize_baselineskip_skip }
- { \token_to_str:N \scriptsize \prg_break: }
- }
- { \l_fontscale_footnotesize_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_footnotesize_baselineskip_skip }
- { \token_to_str:N \footnotesize \prg_break: }
- }
- { \l_fontscale_small_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_small_baselineskip_skip }
- { \token_to_str:N \small \prg_break: }
- }
- { \l_fontscale_normalsize_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_normalsize_baselineskip_skip }
- { \token_to_str:N \normalsize \prg_break: }
- }
- { \l_fontscale_large_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_large_baselineskip_skip }
- { \token_to_str:N \large \prg_break: }
- }
- { \l_fontscale_Large_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_Large_baselineskip_skip }
- { \token_to_str:N \Large \prg_break: }
- }
- { \l_fontscale_LARGE_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_LARGE_baselineskip_skip }
- { \token_to_str:N \LARGE \@ \prg_break: }
- }
- { \l_fontscale_huge_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_huge_baselineskip_skip }
- { \token_to_str:N \huge \prg_break: }
- }
- { \l_fontscale_Huge_size_dim }
- {
- \skip_if_eq:nnT { \f@baselineskip }
- { \l_fontscale_Huge_baselineskip_skip }
- { \token_to_str:N \Huge \prg_break: }
- }
+ \msg_error:nne { fontscale } { math-mode-error }
+ { \token_to_str:N \PrintFontSizeCommand }
}
- UNDEFINED \@
- \prg_break:
- \prg_break_point:
+ { \__fontscale_print_name: }
+ }
+\cs_new_protected:Npn \__fontscale_print_name:
+ {
+ \str_set:Ne \l__fontscale_tmp_str { \__fontscale_name: }
+ \str_if_empty:NTF \l__fontscale_tmp_str
+ { \token_to_str:N \undefined }
+ { \c_backslash_str \l__fontscale_tmp_str \@ }
}
% TEXT PURIFY
-\cs_new:Npn \__fontscale_text_purify_equivalent:n #1
+\cs_new:Npn \__fontscale_remove_arg_spec_sm:n #1
{
\bool_lazy_all:nT
{
@@ -1252,11 +1283,13 @@
}
{ \use_none:n }
}
+\text_declare_purify_equivalent:Nn \fontscalesetup
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \SetFontStep
- { \__fontscale_text_purify_equivalent:n }
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \SetFontScale
- { \__fontscale_text_purify_equivalent:n }
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \SetFontSize
- { \__fontscale_text_purify_equivalent:n }
+ { \__fontscale_remove_arg_spec_sm:n }
\text_declare_purify_equivalent:Nn \ScaleFont { \use_none:n }
\text_declare_purify_equivalent:Nn \SetFontSizeBaselineskip { \use_none:nn } \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale.tex b/macros/latex/contrib/fontscale/fontscale.tex
new file mode 100644
index 0000000000..3737afe5b6
--- /dev/null
+++ b/macros/latex/contrib/fontscale/fontscale.tex
@@ -0,0 +1,409 @@
+\documentclass{beery}
+
+
+\begin{document}
+
+
+\section*
+ {%
+ \SetFontStep*{1}%
+ The \pkg{fontscale} package%
+ }
+
+A flexible interface for setting font sizes
+
+Oliver Beery
+
+Version 2.1.0\quad{}12 August 2024
+
+
+\section{Introduction}
+\label{sec:intro}
+
+\subsection{About}
+\label{subsec:about}
+
+\listheading{The \pkg{fontscale} package provides the following functionalities:}
+\begin{itemize}
+ \item
+ Set font sizes using a classic or musical typographic scale (\S\ref{subsec:typographicscale}).
+ \item
+ Set arbitrary font sizes and font baselineskips for the standard \LaTeX{} font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge} (\S\ref{subsec:overwriting}).
+ \item
+ Set the font sizes and font baselineskips of the standard \LaTeX{} font size commands mid\-/document or within a local group (\S\ref{subsec:fontscalesetup}).
+ \item
+ Provides expandable commands that expand to the current font step, font scale, font size, font baselineskip, or font size command (\S\ref{subsec:expandable}).
+ \item
+ Provides additional font size commands, including setting the font size by setting the font step or font scale and setting the font size relative to the current font size using more powerful tools than the \pkg{scalefnt} and \pkg{relsize} packages (\S\ref{subsec:fontsize}).
+ \item
+ For \LaTeX3 programmers, this package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge} (\S\ref{sec:programming}).
+\end{itemize}
+
+\subsection{Loading the package}
+\label{subsec:loading}
+
+\listheading{Requirements:}
+\begin{itemize}
+ \item \LaTeXe{} version 2023-11-01 or newer
+ \item \pkg{l3kernel} version 2023-10-10 or newer
+\end{itemize}
+
+You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
+
+This package lets the user set arbitrary font sizes.
+This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of discrete font sizes.
+If you get a warning that Computer Modern is not available in the requested font size, you may need to add the code \cs{RequirePackage}\allowbreak\verb|{fix-cm}| before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
+Alternatively, you can use the Latin Modern font by loading the \pkg{lmodern} package.
+
+The \pkg{fontscale} package has no package options.
+Instead, this package provides the command \cs{fontscalesetup}\marg{key\-/value list} (\S\ref{subsec:fontscalesetup}) which sets the package keys (\S\ref{sec:keys}).
+
+When loaded, this package uses \cs{normalsize} after defining and initializing the font size commands from \cs{tiny} to \cs{Huge}.
+
+Many \LaTeX{} document classes have a font size option (e.g.\@ \Key{10pt}, \Key{11pt}, \Key{12pt}) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
+For this reason, you may want to set the document class font size option close to the font size of \cs{normalsize} set by this package.
+
+\listheading{Internally, this package defines each font size command from \cs{tiny} to \cs{Huge} using the low\-/level font commands \cs{fontsize} and \cs{selectfont}\---they have no additional functionality beyond that of \cs{fontsize} and \cs{selectfont}, except that they:}
+\begin{itemize}
+ \item
+ Set the kernel command \cs{@currsize} equal to the font size command.
+ This is needed only for compatibility.
+ \item
+ Do nothing, except issue a warning, if used in math mode.
+\end{itemize}
+
+Unlike the standard \LaTeX{} document classes, the font size commands from \cs{tiny} to \cs{Huge} defined by this package do not change the vertical spacing for displayed math and list structures.
+If the user would like to add this functionality or perhaps other features to the font size commands, they can use hooks, which are documented in the \LaTeXe{} kernel.
+
+\subsection{The font size parameters}
+\label{subsec:fontsizeparameters}
+
+When using the \pkg{fontscale} package, each font size, including the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge}, has a font step, font scale, font size, and font baselineskip.
+The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip}.
+(The font baselineskip, stored in the kernel command \cs{f@baselineskip}, should not be confused with the paragraph baselineskip \cs{baselineskip}.)
+The font scale and font step are different ways of describing the font size.
+The font scale is the relative font size; the ratio of the font size to \cs{normalsize}, which has a font scale of \num{1}.
+The font step is the number of font size gradations from \cs{normalsize}, which has a font step of \num{0}.
+Table~\ref{table:fontsteps} displays the font step of each font size command.
+
+\input{./fontscale-table-font-steps.tex}
+
+\subsection{Syntax}
+\label{subsec:syntax}
+
+This package defines some keys and commands that take as a value or argument a \meta{floating point expression}, \meta{integer expression}, \meta{dimen expression}, or \meta{skip expression}.
+This syntax has the same representation as the arguments to \cs{fpeval}, \cs{inteval}, \cs{dimeval}, and \cs{skipeval}, documented in \pkg{usrguide}.%
+\footnote{\url{https://ctan.org/pkg/usrguide}}
+
+
+\section{Keys}
+\label{sec:keys}
+
+This section documents the keys provided by the \pkg{fontscale} package.
+This package has no package options.
+Set the package keys using \cs{fontscalesetup}\marg{key-value list} (\S\ref{subsec:fontscalesetup}).
+
+\subsection{The typographic scale}
+\label{subsec:typographicscale}
+
+The font sizes of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{typographic\-/scale}.
+
+\Key{typographic-scale}
+ [%
+ classic-10pt$\,\vert\,$\allowbreak
+ classic-11pt$\,\vert\,$\allowbreak
+ classic-12pt$\,\vert\,$\allowbreak\hspace*{1.5em}%
+ musical%
+ ]
+ [classic-10pt]
+\newline
+\Key{classic-10pt}
+\newline
+\Key{classic-11pt}
+\newline
+\Key{classic-12pt}
+\nopagebreak\newline
+\Key{musical}
+
+The value of the key \Key{typographic\-/scale} must be \Value{classic\-/10pt}, \Value{classic\-/11pt}, \Value{classic\-/12pt}, or \Value{musical}.
+The initial value is \Value{classic\-/10pt}.
+Sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a classic or musical typographic scale.
+These are common methods of choosing a set of document font sizes.
+The keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, and \Key{musical} set the key \Key{typographic\-/scale} to the corresponding value.
+
+\input{./fontscale-table-classic.tex}
+
+The classic typographic scale consists of the traditional font sizes
+\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
+\footnote{See \S3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
+They have been used since the sixteenth century and are the default font sizes on most computer software.
+Setting the value of the key \Key{typographic\-/scale} to \Key{classic\-/10pt}, \Key{classic\-/11pt}, or \Key{classic\-/12pt} sets the font size of each font size command from \cs{tiny} to \cs{Huge} to values based on their position in the classic typographic scale.
+The named point size\---\qtylist[list-final-separator={, or }]{10;11;12}{pt}\---is the font size of \cs{normalsize}.
+The font sizes of the other font size commands are the adjacent font sizes in the classic typographic scale.
+Table~\ref{table:classic} displays the font size of each font size command when using a classic typographic scale.
+
+\Key{musical/base}[\meta{dimen expression}][10pt]%
+\nopagebreak\newline
+\Key{musical/ratio}[\meta{floating point expression}][2]%
+\nopagebreak\newline
+\Key{musical/notes}[\meta{integer expression}][5]
+
+The key \Key{typographic\-/scale}[musical] sets the font size of each font size command from \cs{tiny} to \cs{Huge} using a musical typographic scale.
+The font sizes are calculated using the formula:%
+\footnote
+ {%
+ I have referenced this article by Spencer Mortensen:
+ \newline
+ \url{https://spencermortensen.com/articles/typographic-scale/}%
+ }
+\begin{equation}\label{eq:musical}
+ f_i = f_0 \times r ^ { i / n }
+\end{equation}
+$f_i$ is the font size with font step~$i$.
+$f_0$ is the base font size.
+$n$ is the number of musical notes\---the number of font size gradations or steps above $f_0$.
+$r$ is the musical ratio, the ratio of the highest to the lowest note $ f_n / f_0 $.
+
+The key \Key{musical\slash{}base} sets the base font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+The base font size is the font size of \cs{normalsize}.
+The key \Key{musical\slash{}ratio} sets the musical ratio to the result of computing the \meta{floating point expression}.
+The key \Key{musical\slash{}notes} sets the number of musical notes to the value of \meta{integer expression}.
+Table~\ref{table:musical} displays the font size of each font size command when using a musical typographic scale with the initial values.
+
+\input{./fontscale-table-musical.tex}
+
+\subsection{The baselineskip-size-ratio}
+\label{subsec:baselineskipsizeratio}
+
+The font baselineskips of the font size commands from \cs{tiny} to \cs{Huge} are initially set by the key \Key{baselineskip\-/size\-/ratio}.
+
+\Key{baselineskip-size-ratio}[\meta{floating point expression}][1.2]
+\KeepNextPar*
+
+Sets the font baselineskip of each font size command from \cs{tiny} to \cs{Huge} equal to its font size \texttimes{} the result of computing the \meta{floating point expression}.
+Sets the font baselineskip set by \cs{SetFontStep}, \cs{SetFontScale}, and \cs{SetFontSize} (\S\ref{subsec:fontsize}) equal to the new font size \texttimes{} the result of computing the \meta{floating point expression}.
+The font baselineskip must be greater than or equal to the font size.
+
+
+\subsection{Overwriting the previous keys}
+\label{subsec:overwriting}
+
+This subsection documents keys for directly setting the font scales, font sizes, and font baselineskips of the font size commands from \cs{tiny} to \cs{Huge}.
+When doing so, the user should take care to ensure that the lengths of the font sizes and font baselineskips remain correctly ordered from \cs{tiny} to \cs{Huge}.
+This is important for typographic and syntactic consistency.
+If the font size commands are in the wrong order, this package will issue a warning and some package features may not work correctly.
+
+\Key{\meta{font size command}/scale}[\meta{floating point expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font size of \meta{font size command} by setting its font scale to the result of computing the \meta{floating point expression}.
+Overwrites the font size set by the key \Key{typographic\-/scale}.
+The key \Key{normalsize\slash{}scale} is not defined.
+
+\Key{\meta{font size command}/size}[\meta{dimen expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font size of \meta{font size command} to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Overwrites the font size set by the keys \Key{typographic\-/scale} and \Key{\meta{font size command}\slash{}scale}.
+
+\Key{\meta{font size command}/baselineskip}[\meta{skip expression}][\meta{not set}]
+\KeepNextPar*
+
+Sets the font baselineskip of \meta{font size command} to the value of \meta{skip expression}, appending a default unit of \unit{pt}.
+The font baselineskip must be greater than or equal to the font size.
+Overwrites the font baselineskip set by the key \Key{baselineskip\-/size\-/ratio}.
+
+\Key{\meta{font size command}}[\meta{dimen expression}]
+\nopagebreak\newline
+\Key{\meta{font size command}}[\meta{dimen expression}/\meta{skip expression}]
+
+Sets the keys \Key{\meta{font size command}\slash{}size}[\meta{dimen expression}] or \Key{\meta{font size command}\slash{}baselineskip}[\meta{skip expression}] in a condensed format.
+The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, \num{10}/\num{12} or \num{11}/\num{13}.
+The number before\slash{}after the slash is the size\slash{}leading in units of \unit{pt}.
+
+
+\section{Commands}
+\label{sec:commands}
+
+This section documents the commands provided by the \pkg{fontscale} package.
+
+\subsection{Setting the keys}
+\label{subsec:fontscalesetup}
+
+\cs{fontscalesetup} \sarg{} \marg{key-value list}
+\KeepNextPar*
+
+Sets and processes the \pkg{fontscale} package keys (\S\ref{sec:keys}) in \meta{key\-/value list} and then uses \cs{normalsize}.
+Adding the optional star first resets all the \pkg{fontscale} package keys to their initial values.
+The order of the keys in \meta{key\-/value list} does not matter.
+Can be used mid\-/document.
+The effect is local to the current group.
+Does nothing, except issue a warning, if used in math mode.
+\cs{fontscalesetup} should typically be used only once in the preamble or omitted if the user is satisfied with the initial font sizes and font baselineskips.
+
+\subsection{Expandable commands}
+\label{subsec:expandable}
+
+\cs{CurrentFontStep}
+\nopagebreak\newline
+\cs{CurrentFontScale}
+\newline
+\cs{CurrentFontSize}
+\nopagebreak\newline
+\cs{CurrentFontBaselineskip}
+
+This package provides expandable commands that expand to the current font step, font scale, font size, or font baselineskip.
+They can be used for printing or within calculations.
+
+For clarity, \cs{CurrentFontStep} will be explained in detail.
+\cs{CurrentFontStep} initially tests if the current font size equals the font size of any font size command from \cs{tiny} to \cs{Huge}.
+If so, it expands to the font step of that font size command (Table~\ref{table:fontsteps}).
+If not and if the value of the key \Key{typographic\-/scale} is \Value{musical}, \cs{CurrentFontStep} expands to the current font step calculated from the musical typographic scale (Equation~\ref{eq:musical}).
+Otherwise, the current font step is undefined and \cs{CurrentFontStep} expands to nothing.
+
+Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} rely on the kernel command \cs{f@size}.
+(\cs{f@size} stores the current font size in units of \unit{pt}, omitting the unit.)
+The low\-/level font command \cs{fontsize}\marg{dimen}\marg{skip} sets \cs{f@size} to the new font size before expanding its second argument.
+This means that, if used in \meta{skip}, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} will expand to the new value\---unless they are first expanded.
+This package provides \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
+
+\cs{CurrentFontSizeCommand}
+\KeepNextPar*
+
+Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}.
+If so, expands to the name of that font size command.
+This omits the backslash character and leaves only letters with catcode \num{11}.
+If not, expands to nothing.
+This package also provides a similar command \cs{PrintFontSizeCommand} (\S\ref{subsec:debug}), which is not expandable and includes the backslash character.
+
+\subsection{More font size commands}
+\label{subsec:fontsize}
+
+This package provides additional font size commands for use only in special cases.
+Users should prefer the standard \LaTeX{} font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency.
+
+\cs{SetFontStep} \sarg{} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size by setting the font step to the result of computing the \meta{floating point expression}.
+Adding the optional star instead increases the current font step by the result of computing the \meta{floating point expression} or issues an error if the current font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+
+\listheading{Three exceptions:}
+\begin{itemize}
+ \item
+ The font step must equal the font step of any font size command from \cs{tiny} to \cs{Huge} (Table~\ref{table:fontsteps}) unless the value of the key \Key{typographic\-/scale} is \Value{musical}.
+ \cs{SetFontStep} will issue an error if the font step is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+ \item
+ If the font step equals the font step of any font size command from \cs{tiny} to \cs{Huge}, then that font size command will be used directly.
+ \item
+ Does nothing, except issue a warning, if used in math mode.
+\end{itemize}
+
+\cs{SetFontScale} \sarg{} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size by setting the font scale to the result of computing the \meta{floating point expression}.
+Adding the optional star instead increases the current font scale by the result of computing the \meta{floating point expression}.
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{SetFontSize} \sarg{} \marg{dimen expression}
+\KeepNextPar*
+
+Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Adding the optional star instead increases the current font size by the result of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Sets the font baselineskip equal to the new font size \texttimes{} the value of the key \Key{baselineskip\-/size\-/ratio}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{ScaleFont} \marg{floating point expression}
+\KeepNextPar*
+
+Sets the font size equal to the current font size \texttimes{} the result of computing the \meta{floating point expression}.
+Sets the font baselineskip equal to the current font baselineskip \texttimes{} the result of computing the \meta{floating point expression}.
+Does nothing, except issue a warning, if used in math mode.
+
+\cs{SetFontSizeBaselineskip} \marg{dimen expression} \marg{skip expression}
+\KeepNextPar*
+
+Sets the font size to the value of \meta{dimen expression}, appending a default unit of \unit{pt}.
+Sets the font baselineskip to the value of \meta{skip expression}, appending a default unit of \unit{pt}.
+The font baselineskip must be greater than or equal to the font size.
+Does nothing, except issue a warning, if used in math mode.
+Can be used as an alternative to \cs{fontsize} + \cs{selectfont} as discussed in \S\ref{subsec:expandable}.
+
+\subsection{Testing and debugging}
+\label{subsec:debug}
+
+The commands documented here are intended primarily for testing and debugging.
+I have used them often when developing this package so I think users will find them helpful.
+
+\cs{PrintFontSizeParameters}
+\KeepNextPar*
+
+Prints the current font size parameters\---the font step, font scale, font size, and font baselineskip.
+The current font step will be left blank if it is undefined (as explained for \cs{CurrentFontStep} in \S\ref{subsec:expandable}).
+
+\cs{PrintAllFontSizeParameters}
+\KeepNextPar*
+
+Prints the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}.
+
+\cs{PrintSampleText} \sarg{} \marg{text}
+\KeepNextPar*
+
+Prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
+\meta{text} can contain \cs{par} tokens.
+Adding the optional star reverses the order of the font sizes.
+One useful way of printing example text is \cs{PrintSampleText}\allowbreak\texttt{\{\cs{PrintFontSizeCommand}:\allowbreak\textvisiblespace\allowbreak\cs{PrintFontSizeParameters}\}}.
+
+\cs{PrintFontSizeCommand}
+\KeepNextPar*
+
+Tests if the current font size and current font baselineskip equal the font size and font baselineskip, respectively, of any font size command from \cs{tiny} to \cs{Huge}.
+If so, prints the name of that font size command, including the backslash character.
+If not, prints \enquote{\string\undefined}.
+This package also provides a similar command \cs{CurrentFontSizeCommand} (\S\ref{subsec:expandable}), which is expandable and omits the backslash character.
+
+
+\section{Programming}
+\label{sec:programming}
+
+This section documents the \pkg{expl3} programming support provided by the \pkg{fontscale} package.
+
+\subsection
+ {%
+ Compatibility with
+ \texorpdfstring
+ {\cs{text_purify:n}}
+ {\textbackslash{}text\_purify:n}%
+ }
+\label{subsec:textpurify}
+
+\cs{text_purify:n} will correctly remove the formatting commands defined by this package, including \cs{fontscalesetup} and the commands documented in \S\ref{subsec:fontsize}.
+
+\subsection{Public functions and variables}
+\label{subsec:publicexpl3}
+
+This package does not define any public \pkg{expl3} functions.
+
+This package defines public \pkg{expl3} variables that store the font step, font scale, font size, and font baselineskip of each font size command from \cs{tiny} to \cs{Huge}.
+These variables should never be modified directly.
+Their values should be changed only by \cs{fontscalesetup}.
+
+Each takes the form:
+
+\verb|\c_fontscale_|\meta{font size command}\verb|_step_fp|
+\nopagebreak\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_scale_fp|
+\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_size_dim|
+\nopagebreak\newline
+\verb|\l_fontscale_|\meta{font size command}\verb|_baselineskip_skip|
+
+Exception:
+\cs{l_fontscale_normalsize_scale_fp} is not defined.
+The font scale of \cs{normalsize} is stored in \cs{c_fontscale_normalsize_scale_fp}.
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/gridset/LICENSE.md b/macros/latex/contrib/gridset/LICENSE.md
index 99a6973749..1863f2f61a 100644
--- a/macros/latex/contrib/gridset/LICENSE.md
+++ b/macros/latex/contrib/gridset/LICENSE.md
@@ -13,7 +13,7 @@ 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â€
+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/gridset/README.md b/macros/latex/contrib/gridset/README.md
index 0a1963d1eb..a27c928e92 100644
--- a/macros/latex/contrib/gridset/README.md
+++ b/macros/latex/contrib/gridset/README.md
@@ -4,10 +4,14 @@ An experimental LaTeX package for semi-manual grid (a.k.a. in-register) setting
------------------------------------------------------------------------------
-LaTeX package `gridset`
-Copyright (c) 2008—2020 Markus Kohm
-Release: 2020-02-12 v0.3
-License: LPPL 1.3c (see LICENSE.md)
+LaTeX package `gridset`
+
+Copyright (c) 2008—2024 Markus Kohm
+
+Release: 2024-08-17 v0.4
+
+License: LPPL 1.3c (see LICENSE.md)
+
CTAN Location: https://ctan.org/pkg/gridset
------------------------------------------------------------------------------
@@ -32,9 +36,31 @@ The package is part of [TeX Live](https://tug.org/texlive) (and therefore
also [MacTeX](https://tug.org/mactex)) and [MiKTeX](http://miktex.org). Users
should use the packages provided by their TeX distribution.
-However, manual extraction can be used to try out the developer version.
+------------------------------------------------------------------------------
+
+For a semi-manual installation you can first create a local clone
+if the repository:
+
+```bash
+git clone https://github.com/komascript/gridset.git
+```
+
+Then enter the directory created while cloning the repository:
+
+```bash
+cd gridset
+```
+
+Last, but not least use `l3build` to install it locally:
+
+```bash
+l3build install --full
+```
+
+------------------------------------------------------------------------------
-To extract the package use:
+To do a completely manual installation, download `gridset.dtx`. Then extract
+it using:
```bash
tex gridset.dtx
@@ -48,3 +74,16 @@ mkindex gridset
pdflatex gridset.dtx
pdflatex gridset.dtx
```
+
+Now, you can either install it in the proper directory or copy `gridset.sty`
+to your document directory.
+
+------------------------------------------------------------------------------
+
+# 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/gridset/gridset.dtx b/macros/latex/contrib/gridset/gridset.dtx
index 68b251db55..29818473fb 100644
--- a/macros/latex/contrib/gridset/gridset.dtx
+++ b/macros/latex/contrib/gridset/gridset.dtx
@@ -2,7 +2,7 @@
%
% gridset.dtx
%
-%% Copyright (C) 2008-2020 Markus Kohm
+%% Copyright (C) 2008-2024 Markus Kohm
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -25,37 +25,17 @@
%%
%
%<*dtx>
-\def\FmtName{LaTeX2e}
-\ifx\FmtName\fmtname
- % Give me the package or the documentation
- \ifnum \catcode`\@=12\relax
- % Give me the documentation
- \ProvidesFile{gridset.dtx}
+\ifx\ProvidesFile\undfined\def\ProvidesFile#1[#2]{}\fi
+\ProvidesFile{gridset.dtx}
%</dtx>
%<*dtx|package|example>
%<package>\ProvidesPackage{gridset}
%<example>\ProvidesFile{gridsetexample.tex}
- [2020-02-12 v0.3 grid - a.k.a. in-register - setting]
+ [2024-08-17 v0.4 grid - a.k.a. in-register - setting]
%</dtx|package|example>
%<*dtx>
- \documentclass{ltxdoc}
- \begin{document}
- \RecordChanges
- \GetFileInfo{gridset.dtx}
- \DocInput{gridset.dtx}
-%</dtx>
-%<*dtx>
- \expandafter\expandafter\expandafter\enddocument
- \fi
-\else
- % Make the package
- \def\batchfile{gridset.dtx}
- \let\batchendinput\endinput
-%</dtx>
-%<*ins>
-%<ins>\def\batchfile{gridset.ins}
+\ifx\documentclass\undefined
\input docstrip.tex
-
\keepsilent
\askforoverwritefalse
\usedir{tex/latex/gridset}
@@ -98,12 +78,16 @@ about the files the work consists of.
\Msg{*}
\Msg{*********************************************************************}
}
-
-%</ins>
-%<*dtx>
+\else
+ \let\endbatchfile\relax
\fi
-\csname fi\endcsname
-\csname batchendinput\endcsname
+\endbatchfile
+\documentclass{ltxdoc}
+\begin{document}
+\RecordChanges
+\GetFileInfo{gridset.dtx}
+\DocInput{gridset.dtx}
+\end{document}
%</dtx>
% \fi ^^A meta-comment
%
@@ -313,6 +297,12 @@ about the files the work consists of.
% \item the x-coordinate of the absolute position,
% \item the y-coordinate of the absolute position.
% \end{itemize}
+% \begin{description}
+% \item[Todo:] Currently we use our own command \cs{newpos} to store the
+% position information in the \texttt{aux}-file. But with the extended
+% reference mechanism of \LaTeX{} since 2023-11-01 this should be replaced
+% by the new properties.
+% \end{description}
% \begin{macrocode}
\newcommand*{\SavePos}[1]{%
\begingroup
@@ -411,8 +401,17 @@ about the files the work consists of.
that won't be reported!}%
\fi
}
+% \end{macrocode}
+% \changes{0.4}{2024/08/17}{fix deactivation of
+% \cs{grid@unique@test}
+% (\href{https://github.com/komascript/gridset/issues/1}{Issue \#1})}
+% The test should be done only, when reading the \texttt{aux} file at
+% |\begin{document}|, but not later (e.g. at |\end{document}|). So we
+% deactivate the test after reading the \texttt{aux} file in
+% |\begin{document}|.
+% \begin{macrocode}
\AtBeginDocument{%
- \global\let\grid@unique@test\@gobble
+ \global\let\grid@unique@test\@gobbletwo
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/gridset/gridset.pdf b/macros/latex/contrib/gridset/gridset.pdf
index 3f6a39a8e9..a2af21f205 100644
--- a/macros/latex/contrib/gridset/gridset.pdf
+++ b/macros/latex/contrib/gridset/gridset.pdf
Binary files differ
diff --git a/macros/latex/contrib/harmony/README b/macros/latex/contrib/harmony/README
index da777f5964..39f72b35f7 100644
--- a/macros/latex/contrib/harmony/README
+++ b/macros/latex/contrib/harmony/README
@@ -1,43 +1,26 @@
-harmony.sty 2007/05/04
+harmony 2024/08/01
-Copyright 2005 - 2007
+Copyright 2005 - 2024
Dagny Wegner <dagny.wegner@t-online.de>
-Arnim Wegner <arnim.wegner@t-online.de>
+Arnim Wegner <arnim.e.wegner@t-online.de>
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 Maintainers of this work are
-Dagny Wegner and Arnim Wegner.
This work consists of the files harmony.sty,
harmony.tex, harmony.pdf, and Readme.
--------------------------------------------------------
-
-harmony.sty uses the packages ifthen and amssymb
-and the fonts lcirclew10, musix11, and musix13.
-
--------------------------------------------------------
+harmony.sty uses the packages ifthen, mathtools and amssymb
+and the fonts lcircle10, musix11 and musix13.
harmony.sty is a LaTeX2e package for typesetting
harmony symbols etc. in musicological texts;
usage: cf. harmony.pdf.
-Many commands in this package are only suitable
-for size 12pt !
harmony.sty ist ein LaTeX2e-Package zum Setzen von
Harmoniesymbolen etc. in musikwissenschaftlichen Texten;
Benutzung: vgl. harmony.pdf.
-Viele Befehle in diesem Package sind
-nur für die Schriftgröße 12pt geeignet!
diff --git a/macros/latex/contrib/harmony/harmony.pdf b/macros/latex/contrib/harmony/harmony.pdf
index 4b523de911..b792390663 100644
--- a/macros/latex/contrib/harmony/harmony.pdf
+++ b/macros/latex/contrib/harmony/harmony.pdf
Binary files differ
diff --git a/macros/latex/contrib/harmony/harmony.sty b/macros/latex/contrib/harmony/harmony.sty
index ce528cf085..1145113c4d 100644
--- a/macros/latex/contrib/harmony/harmony.sty
+++ b/macros/latex/contrib/harmony/harmony.sty
@@ -1,29 +1,30 @@
-%% harmony.sty 2007/05/04
-%% Copyright 2005 - 2007
+%% harmony.sty 2024/08/01
+%% Copyright 2005 - 2024
%% Dagny Wegner <dagny.wegner@t-online.de>
-%% Arnim Wegner <arnim.wegner@t-online.de>
+%% Arnim Wegner <arnim.e.wegner@t-online.de>
%
% 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 Maintainers of this work are
-% Dagny Wegner and Arnim Wegner.
%
% This work consists of the files harmony.sty,
% harmony.tex, harmony.pdf, and Readme.
% ==================================================================================
+\ProvidesPackage{harmony}[2024/08/01]
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{harmony}[2007/05/04]
\RequirePackage{ifthen}
\RequirePackage{amssymb}
+\RequirePackage{mathtools} % contains \overbracket
+%
+\newcounter{notekorr}
+\DeclareOption{8pt}{\setcounter{notekorr}{800}}
+\DeclareOption{9pt}{\setcounter{notekorr}{900}}
+\DeclareOption{10pt}{\setcounter{notekorr}{1000}}
+\DeclareOption{11pt}{\setcounter{notekorr}{1100}}
+\DeclareOption{12pt}{\setcounter{notekorr}{1200}}
+\DeclareOption{13pt}{\setcounter{notekorr}{1300}}
+\DeclareOption{14pt}{\setcounter{notekorr}{1400}}
\DeclareOption{sf}{\def\FAM{\sffamily}}
\DeclareOption{rm}{\def\FAM{\rmfamily}}
\ExecuteOptions{sf}
@@ -43,14 +44,31 @@
\newbox\nbxg
\newbox\nbxh
\newbox\nbxi
-\newfont{\KREIS}{lcirclew10}
-\newfont{\NOTEN}{musix13}
-\newfont{\noten}{musix11}% 2007/05/03
+\newcounter{notescl}
+\newcounter{fontscl}
%
-\newcommand{\Ohne}[2][0em]{%
+\ifthenelse{\value{notekorr}=0}%
+{\ifthenelse{\@ptsize<-2}{\setcounter{notescl}{800}}{}
+\ifthenelse{\equal{\@ptsize}{-2}}{\setcounter{notescl}{800}}{}
+\ifthenelse{\equal{\@ptsize}{-1}}{\setcounter{notescl}{900}}{}
+\ifthenelse{\equal{\@ptsize}{0}}{\setcounter{notescl}{1000}}{}
+\ifthenelse{\equal{\@ptsize}{1}}{\setcounter{notescl}{1100}}{}
+\ifthenelse{\equal{\@ptsize}{2}}{\setcounter{notescl}{1200}}{}
+\ifthenelse{\equal{\@ptsize}{3}}{\setcounter{notescl}{1300}}{}
+\ifthenelse{\equal{\@ptsize}{4}}{\setcounter{notescl}{1400}}{}
+\ifthenelse{\@ptsize>4}{\setcounter{notescl}{1400}}{}}
+{\setcounter{notescl}{\value{notekorr}}}
+%
+\newfont{\NOTEN}{musix13 scaled \value{notescl}}
+\newfont{\noten}{musix11 scaled \value{notescl}}
+\setcounter{fontscl}{\value{notescl}}
+\addtocounter{fontscl}{1000}
+\newfont{\KREIS}{lcircle10 scaled \value{fontscl}}
+%
+\newcommand{\Ohne}[2][0.17em]{%
\setbox\nbxi=\hbox{%
\FAM%
-\setbox\nbxa=\hbox{\sl\large /}%
+\setbox\nbxa=\hbox{\textsl\large\raisebox{0.2ex}{/}}%
#2%
\kern-0.8em%
\kern#1%
@@ -60,8 +78,14 @@
}%
\unhbox\nbxi%
}
+\let\Sans\Ohne
%
\newcommand{\Dohne}{\Ohne{D}}
+\let\Dsans\Dohne
+\newcommand{\DohneR}{\framebox{\Dohne}}
+\let\DsansR\DohneR
+\newcommand{\Dohner}{\frame{\Dohne}}
+\let\Dsansr\Dohner
%
\newcommand{\DD}{%
\setbox\nbxi=\hbox{%
@@ -73,6 +97,9 @@
\unhbox\nbxi%
}
%
+\newcommand{\DDR}{\framebox{\DD}}
+\newcommand{\DDr}{\frame{\DD}}
+%
\newcommand{\DS}{%
\setbox\nbxi=\hbox{%
\FAM%
@@ -96,7 +123,7 @@
\newcommand{\DDohne}{%
\setbox\nbxi=\hbox{%
\FAM%
-\setbox\nbxa=\hbox{\sl\large /}%
+\setbox\nbxa=\hbox{\textsl\large\raisebox{0.25ex}{/}}%
\raise0.2ex\hbox{D}%
\kern-0.5em%
\lower0.2ex\hbox{D}%
@@ -107,17 +134,23 @@
}%
\box\nbxi%
}
+\let\DDsans\DDohne
+%
+\newcommand{\DDohneR}{\framebox{\DDohne}}
+\let\DDsansR\DDohneR
+\newcommand{\DDohner}{\frame{\DDohne}}
+\let\DDsansr\DDohner
%
\newcommand{\VM}{%
\setbox\nbxg=\hbox{>}%
\setbox\nbxh=\hbox to \wd\nbxg{%
-\raise0.24ex\hbox{{\boldmath$\scriptscriptstyle{>}$\unboldmath}\hss}}% 2005/05/10
+\raise0.24ex\hbox{{\boldmath$\scriptscriptstyle{>}$\unboldmath}\hss}}%
\box\nbxh}
%
\newcommand{\UB}{%
\setbox\nbxg=\hbox{<}%
\setbox\nbxh=\hbox to \wd\nbxg{%
-\raise0.24ex\hbox{\boldmath$\scriptscriptstyle{<}$\unboldmath\hss}}% 2005/05/10
+\raise0.24ex\hbox{\boldmath$\scriptscriptstyle{<}$\unboldmath\hss}}%
\box\nbxh}
%
\newcommand{\HAa}[3]{%
@@ -243,6 +276,9 @@
{\HAc{#1}{#2}{#3}{#4}{#5}}%
}
%
+\def\HHR.#1.#2.#3.#4.#5.{\framebox{\HH.#1.#2.#3.#4.#5.}}%
+\def\HHr.#1.#2.#3.#4.#5.{\frame{\HH.#1.#2.#3.#4.#5.\hspace{0.17em}}}%
+%
\newcommand{\FERM}[2][0.1pt]{%
\setbox\nbxi=\hbox{%
\FAM%
@@ -287,15 +323,13 @@
\kern-\tmpdima\box\nbxb%
}}
%
-\newcommand{\Kr}[1]{%
-\ifthenelse{\equal{\@ptsize}{2}}{\@tempcnta=110}%
-{\ifthenelse{\equal{\@ptsize}{1}}{\@tempcnta=109}%
-{\@tempcnta=108}}%
+\newcommand{\Kr}[2][102]{%
+\ifthenelse{#1>110}{\@tempcnta=110}%
+{\ifthenelse{#1<100}{\@tempcnta=100}{\@tempcnta=#1}}
\setbox\nbxi=\hbox{%
-\FAM\small%
\setbox\nbxa=\hbox{#1}%
\setbox\nbxb=\hbox{\KREIS\char\@tempcnta}%
-\setbox\nbxc=\hbox to \wd\nbxb{\hss #1\hss}%
+\setbox\nbxc=\hbox to \wd\nbxb{\hss #2\hss}%
\tmpdima=0.5\ht\nbxa%
\advance\tmpdima by -0.4\dp\nbxa\relax%
\copy\nbxc%
@@ -332,8 +366,8 @@
{\raisebox{0.58ex}[8pt][2pt]{\kern-1pt\NOTEN\symbol{82}\kern0.3em}}}%
{\kern0.05em\ueber{#1}{#2}\kern0.05em%
}}}
-%
-\newcommand{\Ganz}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{9}}\kern1.35em}}
+% Noten
+\newcommand{\Ganz}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{9}}\kern1.5em}}
\newcommand{\Halb}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{8}\kern0.936em%
\raisebox{0.55ex}{\symbol{16}}}\kern0.2em}}
\newcommand{\Vier}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em%
@@ -343,7 +377,7 @@
\newcommand{\Sech}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em%
\raisebox{0.55ex}{\symbol{16}}}\symbol{41}\kern0.9em}}
\newcommand{\Zwdr}{{\NOTEN\kern0.05em\raisebox{0.5ex}{\symbol{7}\kern0.955em%
-\raisebox{0.55ex}{\symbol{16}}}\symbol{42}\kern0.9em}}
+\raisebox{0.55ex}{\symbol{16}}\raisebox{1.3ex}{\symbol{16}}}\symbol{42}\kern0.9em}}
\newcommand{\GaPa}{{\NOTEN\kern0.055em\raisebox{0.25ex}{\symbol{60}}\kern0.05em}}
\newcommand{\HaPa}{{\NOTEN\kern0.055em\raisebox{0.25ex}{\symbol{60}}\kern0.05em}}
\newcommand{\ViPa}{{\NOTEN\kern0.05em\raisebox{-0.8ex}{\symbol{62}}\kern0.955em}}
@@ -351,28 +385,76 @@
\newcommand{\SePa}{{\NOTEN\kern0.15em\raisebox{-0.4ex}{\symbol{64}}\kern1.3em}}
\newcommand{\ZwPa}{{\NOTEN\kern0.25em\raisebox{-0.8ex}{\symbol{65}}\kern1.4em}}
\newcommand{\Pu}{{\NOTEN\kern-0.2em\raisebox{-0.5ex}{\symbol{24}}\kern1em}}
-\newcommand{\AAcht}{\Vier\kern0.1em\Vier{\NOTEN\kern-1.72em\raisebox{3.1ex}%
+\newcommand{\AAcht}{{\NOTEN\Vier\kern0.3em\Vier\kern-1.72em\raisebox{3.1ex}%
{\symbol{61}\kern-0.87em\symbol{61}}}}
-\newcommand{\AchtBL}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern0.09em}}
-\newcommand{\SechBL}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\newcommand{\AchtBL}{{\NOTEN\Vier\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}}}
+\newcommand{\AchtBR}{{\NOTEN\Vier\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}}}
+\newcommand{\SechBL}{{\NOTEN\Vier\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
\kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern0.09em}}
-\newcommand{\SechBl}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\newcommand{\SechBl}{{\NOTEN\Vier\kern-1.82em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
\kern-1.63em\raisebox{2.3ex}{{\noten\kern0.9em\symbol{61}}}\kern0.09em}}
-\newcommand{\AchtBR}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern-1em}}
-\newcommand{\SechBR}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
-\kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}\kern-1.01em}}
-\newcommand{\SechBr}% 2007/05/03
-{\kern0.135em\Vier%
-{\NOTEN\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
-\kern-1.63em\raisebox{2.3ex}{{\noten\kern-0.12em\symbol{61}}}\kern-0.3em}}
-% etc. ... ! Define your own commands! \ No newline at end of file
+\newcommand{\SechBR}{{\NOTEN\Vier\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\kern-1.63em\raisebox{2.3ex}{\symbol{61}\kern-0.87em\symbol{61}}}}
+\newcommand{\SechBr}{{\NOTEN\Vier\kern-0.1em\raisebox{3.05ex}{\symbol{61}\kern-0.87em\symbol{61}}%
+\kern-1.63em\raisebox{2.3ex}{{\noten\kern-0.12em\symbol{61}}}\kern0.87em}}
+%
+\newcommand{\Blkn}[2]{\raisebox{#2}{{\NOTEN\kern#1\symbol{61}}}}%
+%
+\newcommand{\Overset}[3][0pt]{\ensuremath{\overset{\raisebox{#1}{\scriptsize\ensuremath{#2}}}{#3}}}
+%
+\newcommand\achteltriole{%
+ \ensuremath{\NOTEN%
+ \Overset[-1ex]%
+ {\text{\itshape\tiny\kern0.7em 3}}%
+ {\AchtBR\kern-1.1em\Vier\kern0.4em\AchtBL}%
+ }%
+}
+%
+\newcommand\vierteltrioleA{%
+ \ensuremath{\NOTEN%
+ \Overset[-1ex]%
+ {\text{\itshape\tiny 3}}%
+ {\overbracket[0.45pt]{%
+ \rule{0pt}{2.4ex}\Vier\kern0.5em\Vier\kern0.5em\Vier\kern0.25em}%
+ }%
+ }%
+}
+%
+\newcommand\vierteltrioleB{%
+ \ensuremath{\NOTEN%
+ \Overset%
+ {\raisebox{1ex}{%
+ \rule{0.45pt}{1ex}%
+ \kern0.25em\raisebox{0.88ex}{\kern-0.3em\rule{1.15em}{0.45pt}}%
+ \raisebox{0.53ex}{\text{\itshape\tiny 3}}%
+ \raisebox{0.88ex}{\rule{1.15em}{0.45pt}}%
+ \kern-0.05em\rule{0.45pt}{1ex}%
+ }}%
+ {\Vier\kern0.5em\Vier\kern0.5em\Vier\kern0.3em}%
+ }%
+}
+%
+\newcommand\halbetrioleA{%
+ \ensuremath{\NOTEN%
+ \Overset[-1ex]%
+ {\text{\itshape\tiny 3}}%
+ {\overbracket[0.45pt]{%
+ \rule{0pt}{2.4ex}\Halb\kern0.5em\Halb\kern0.5em\Halb\kern0.25em}%
+ }%
+ }%
+}
+%
+\newcommand\halbetrioleB{%
+ \ensuremath{\NOTEN%
+ \Overset%
+ {\raisebox{1ex}{%
+ \rule{0.45pt}{1ex}%
+ \kern0.25em\raisebox{0.88ex}{\kern-0.3em\rule{1.15em}{0.45pt}}%
+ \raisebox{0.53ex}{\text{\itshape\tiny 3}}%
+ \raisebox{0.88ex}{\rule{1.15em}{0.45pt}}%
+ \kern-0.05em\rule{0.45pt}{1ex}%
+ }}%
+ {\Halb\kern0.5em\Halb\kern0.5em\Halb\kern0.3em}%
+ }%
+}
+% ================================================================================== \ No newline at end of file
diff --git a/macros/latex/contrib/harmony/harmony.tex b/macros/latex/contrib/harmony/harmony.tex
index 326aff42c3..7b163dc7ab 100644
--- a/macros/latex/contrib/harmony/harmony.tex
+++ b/macros/latex/contrib/harmony/harmony.tex
@@ -1,38 +1,29 @@
-%% harmony.sty 2007/05/04
-%% Copyright 2005 - 2007
+%% harmony.sty 2024/08/01
+%% Copyright 2005 - 2024
%% Dagny Wegner <dagny.wegner@t-online.de>
-%% Arnim Wegner <arnim.wegner@t-online.de>
+%% Arnim Wegner <arnim.e.wegner@t-online.de>
%
% 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 Maintainers of this work are
-% Dagny Wegner and Arnim Wegner.
%
% This work consists of the files harmony.sty,
% harmony.tex, harmony.pdf, and Readme.
-%====================================================================================
-\documentclass[12pt,origlongtable,pdftex]{scrartcl}
+% ==================================================================================
+\documentclass[paper=a4,fontsize=12pt,origlongtable]{scrartcl}
%
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{mathpazo}
-\usepackage[ansinew]{inputenc}
\usepackage{array}
\usepackage{longtable}
-\usepackage[pdftex,a4paper]{hyperref}
+\usepackage[pdftex]{hyperref}
%
-\usepackage{harmony}
+\usepackage[12pt]{harmony} % options: 8pt 9pt 10pt 11pt 12pt 13pt 14pt
%
-\setlength{\textheight}{240mm}
+\setlength{\voffset}{-10mm}
+\setlength{\textheight}{255mm}
\setlength{\overfullrule}{0pt}
\setlength{\extrarowheight}{2ex}
\setlength{\parindent}{0pt}
@@ -49,45 +40,37 @@ pdfstartview = {Fit},
%-------------------------------------------------------------------------------------
\begin{document}
%
-\title{harmony.sty}
-\author{Dagny Wegner \and Arnim Wegner}
-\date{2007/05/04}
+\title{harmony}
+\author{Dagny Wegner \and Arnim Wegner}
+\date{2024/08/01}
\maketitle
%
\vfill
%
\begin{center}
-Copyright 2005 - 2007\\
+Copyright 2005 - 2024\\
Dagny Wegner <dagny.wegner@t-online.de>\\
-Arnim Wegner <arnim.wegner@t-online.de>
+Arnim Wegner <arnim.e.wegner@t-online.de>
\end{center}
This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either
+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 Maintainers of this work are
-Dagny Wegner and Arnim Wegner.
This work consists of the files harmony.sty,
harmony.tex, harmony.pdf, and Readme.
%
\newpage
%
\begin{center}
-This work was developed for the doctoral dissertation in musicology of\\
+The package harmony was first developed for the doctoral dissertation in\\ musicology of
Dagny Wegner; cf. this dissertation for further examples.\\
-(Look at http://www.sub.uni-hamburg.de/opus/volltexte/2006/3047/ or
-http://www.chmtl.indiana.edu/ddm/DNclassical.html)\\[2ex]
-\textbf{Many commands in this package therefore are only suitable for size 12pt !}
+(Look at https://ediss.sub.uni-hamburg.de/handle/ediss/1483)\\[1ex]
+This package accepts the optional parameters 8pt, \dots ,14pt for the size\\ of the notes
+ independent of the fontsize of the document.
\end{center}
%
-\vspace{2ex}
-%
-\begin{longtable}{|l|l|}
+\vspace*{-5mm}
+\begin{longtable}{|l|c|}
%
\caption*{\textbf{Usage and Examples}}
\endfirsthead
@@ -95,9 +78,11 @@ http://www.chmtl.indiana.edu/ddm/DNclassical.html)\\[2ex]
\endhead
%
\hline
-input & output\\
+Input & Output\\
\hline\hline
\verb|\HH.X.u.v.w.z.|&\HH.X.u.v.w.z.\\
+\verb|\HHR.X.u.v.w.z.|&\HHR.X.u.v.w.z.\\
+\verb|\HHr.X.u.v.w.z.|&\HHr.X.u.v.w.z.\\
\verb|\HH.D.....|&\HH.D.....\\
\verb|\HH.D..7...|&\HH.D..7...\\
\verb|\HH.D.3....|&\HH.D.3....\\
@@ -105,19 +90,26 @@ input & output\\
\verb|\HH.D.3.9.7..|&\HH.D.3.9.7..\\
\verb|\HH.D.3.9.7.5.|&\HH.D.3.9.7.5.\\
\hline
-\verb|\Dohne|&\Dohne\\
+\verb|\Dohne, \Dsans|&\Dohne\\
+\verb|\DohneR, \DsansR|&\DohneR\\
+\verb|\Dohner, \Dsansr|&\Dohner\\
\verb|\DD|&\DD\\
-\verb|\DDohne|&\DDohne\\
+\verb|\DDR|&\DDR\\
+\verb|\DDr|&\DDr\\
+\verb|\DDohne, \DDsans|&\DDohne\\
+\verb|\DDohneR, \DDsansR|&\DDohneR\\
+\verb|\DDohner. \DDsansr|&\DDohner\\
\verb|\DS|&\DS\\
\verb|\Ds|&\Ds\\
\verb|\UB|&\UB\\
\verb|\VM|&\VM\\
-\verb|\Ohne{D}|&\Ohne{D}\\
-\verb|\Ohne[3pt]{D}|&\Ohne[3pt]{D}\\
-\verb|\Ohne[-3pt]{D}|&\Ohne[-3pt]{D}\\
\hline
\newpage
\hline
+\verb|\Ohne{D}, \Sans{D}|&\Ohne{D}\\
+\verb|\Ohne[3pt]{D}, \Sans[3pt]{D}|&\Ohne[3pt]{D}\\
+\verb|\Ohne[-3pt]{D}, \Sans[-3pt]{D}|&\Ohne[-3pt]{D}\\
+\hline
\verb|\Fermi{X}|&\Fermi{X}\\
\verb|\Ferli{X}|&\Ferli{X}\\
\verb|\Ferli[5pt]{T}|&\Ferli[5pt]{T}\\
@@ -125,10 +117,9 @@ input & output\\
\hline
\verb|\Umd{D}|&\Umd{D}\\
\verb|\Umd[5pt]{D}|&\Umd[5pt]{D}\\
-\hline
\verb|\Kr{a:}|&\Kr{a:}\\
\verb|\Kr{f:} \Kr{g:}|&\Kr{f:} \Kr{g:}\\
-\verb|\Kr{\small fis:}|&\Kr{\small fis:}\\
+\verb|\Kr[105]{fis:} (#1: 100 - 110)|&\Kr[105]{fis:}\\[1ex]
\hline
\verb|\Takt{u}{v}|&\Takt{u}{v}\\
\verb|\Takt{3}{4}|&\Takt{3}{4}\\
@@ -142,12 +133,12 @@ input & output\\
\verb|\Umd{\HH.D.3.9.7.5.}|&\Umd{\HH.D.3.9.7.5.}\\
\verb|\Umd[5pt]{\HH.D.3.9.7.5.}|&\Umd[5pt]{\HH.D.3.9.7.5.}\\
\verb|\HH.\DDohne.5\VM.9\VM.7..|&\HH.\DDohne.5\VM.9\VM.7..\\
-\verb|\HH.\Ohne[0,1em]{Es}.5-3.7...|&\HH.\Ohne[0,1em]{Es}.5-3.7...\\
+\verb|\HH.\Ohne[0.1em]{Es}.5-3.7...|&\HH.\Ohne[0,1em]{Es}.5-3.7...\\
\verb|\Ferli[-1pt]{\HH.\DDohne.5\VM.9\VM.7..}|&\Ferli[-1pt]{\HH.\DDohne.5\VM.9\VM.7..}\\
\hline
\newpage
\hline
-\verb|\Ganz|&\Ganz\\
+\verb|\Ganz|&\kern-0.1em\Ganz\\
\verb|\Halb|&\Halb\\
\verb|\Vier|&\Vier\\
\verb|\Acht|&\Acht\\
@@ -167,18 +158,28 @@ input & output\\
\verb|\SechBr|&\SechBr\\
\hline
\verb|\Vier\AchtBL|&\Vier\AchtBL\\
+\verb|\Vier\kern0.2em\AchtBL|&\Vier\kern0.2em\AchtBL\\
\verb|\Vier\SechBL|&\Vier\SechBL\\
+\verb|\Vier\kern0.2em\SechBL|&\Vier\kern0.2em\SechBL\\
\verb|\Vier\SechBl|&\Vier\SechBl\\
+\verb|\Vier\kern0.2em\SechBl|&\Vier\kern0.2em\SechBl\\
\verb|\AchtBR\Vier|&\AchtBR\Vier\\
\verb|\SechBR\Vier|&\SechBR\Vier\\
\verb|\SechBr\Vier|&\SechBr\Vier\\
-\verb|\SechBr\Vier\SechBl|&\SechBr\Vier\SechBl\\
+\verb|\SechBr\Vier\kern0.2em\SechBl|&\SechBr\Vier\kern0.2em\SechBl\\
\verb|\AchtBR\AchtBR\AchtBL|&\AchtBR\AchtBR\AchtBL\\
-\verb|\AchtBR\kern-0.15em\AchtBR\kern-0.15em\AchtBL|%
-&\AchtBR\kern-0.15em\AchtBR\kern-0.15em\AchtBL\\
\hline
\newpage
\hline
+\verb|\Blkn{0em}{0ex}|&\Blkn{0ex}{0em}\\
+\verb|\AchtBR\Blkn{0.04em}{2.07ex}|&\AchtBR\Blkn{0.04em}{2.07ex}\\
+\hline
+\verb|\achteltriole|&\kern-0.6em\achteltriole\\
+\verb|\vierteltrioleA|&\vierteltrioleA\\
+\verb|\vierteltrioleB|&\vierteltrioleB\\
+\verb|\halbetrioleA|&\halbetrioleA\\
+\verb|\halbetrioleB|&\halbetrioleB\\
+\hline
\verb|\GaPa|&\GaPa\\
\verb|\HaPa|&\HaPa\\
\verb|\ViPa|&\ViPa\\
@@ -217,13 +218,13 @@ rm&rmfamily\\
\newcommand{\Str}[2][0.5]{\raise#1ex\hbox to #2em{\hrulefill}}
\newcommand{\ST}{\h0.03h\Str[0.65]{0.27}\h0.03h}
%
-\h9h\Kr{g:}%
+\h9h\Kr[103]{g:}%
\h1h\HH.\DDohne.5\VM.9\VM.7..%
\h0,5h\HH.D..6.4..%
\h0,5h\HH.\DDohne.3.9\VM.7..%
\h0,5h\HH.\Dohne.7.9\VM...%
\h0,5h\HH.T.3....\\[1ex]
-\h17h\Kr{d:}%
+\h17h\Kr[102]{d:}%
\h0,5h\Umd[1ex]{\HH.S.3....}%
\h0,5h\HH.\DD.5\VM.7...%
\h0,5h\HH.D..8\Str[0,65]{1,2}7\ST6\ST5.8\ST6\ST4\Str[0,65]{2}3.6\ST5\ST8%
@@ -237,13 +238,13 @@ rm&rmfamily\\
\newcommand{\Str}[2][0.5]{\raise#1ex\hbox to #2em{\hrulefill}}
\newcommand{\ST}{\h0.03h\Str[0.65]{0.27}\h0.03h}
%
-\h9h\Kr{g:}%
+\h9h\Kr[103]{g:}%
\h1h\HH.\DDohne.5\VM.9\VM.7..%
\h0,5h\HH.D..6.4..%
\h0,5h\HH.\DDohne.3.9\VM.7..%
\h0,5h\HH.\Dohne.7.9\VM...%
\h0,5h\HH.T.3....\\[1ex]
-\h17h\Kr{d:}%
+\h17h\Kr[102]{d:}%
\h0,5h\Umd[1ex]{\HH.S.3....}%
\h0,5h\HH.\DD.5\VM.7...%
\h0,5h\HH.D..8\Str[0,65]{1,2}7\ST6\ST5.8\ST6\ST4\Str[0,65]{2}3.6\ST5\ST8%
diff --git a/macros/latex/contrib/hebdomon/README.md b/macros/latex/contrib/hebdomon/README.md
new file mode 100644
index 0000000000..cb581a6ab0
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/README.md
@@ -0,0 +1,18 @@
+# Hebdomon - A Documentclass for Assignment Preparation
+
+## Description
+
+Hebdomon is a latex documentclass for streamlining document creation in latex. This
+package does not ovewrite any TeX or LaTeX commands so the user could use their own
+macros or other commands as they wish.
+
+A manual is written which can be seen in HebdomonGuide which showcases some commands written for the class.
+
+## Author
+
+This package is maintained by D. T. McGuiness: dtm@mci4me.at
+
+## Licence
+
+Released under the LaTeX Project Public License v1.3c or later.
+See https://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdf b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdf
new file mode 100644
index 0000000000..f458c73d8e
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.pdf
Binary files differ
diff --git a/macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex
new file mode 100644
index 0000000000..714857cf40
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/doc/HebdomonGuide.tex
@@ -0,0 +1,461 @@
+% Load the base class
+\documentclass[minted, draw]{../tex/hebdomon}
+
+\begin{document}
+
+\title{Hebdomon \\ Report and Documentation Standard}
+\author{v0.1 - Angry Avocado}
+\StudentName{D. T. McGuiness}
+\date{dtm@mci4me.at}
+
+\publishers{
+ \begin{tabular}[!b]{rl}
+ \textbf{Student Name} & xxxxx \\[3pt]
+ \textbf{Student Number} & xxxxx \\[3pt]
+ \textbf{Module Name} & xxxxx
+ \end{tabular}\\[20pt]
+ }
+
+\maketitle
+\dominitoc
+\tableofcontents
+\newpage
+
+\Chapter{The Hebdomon Template}
+\Section{Introduction}
+
+This document is designed to abstract a significant portion of the
+commands and MACROs to hide away the programming aspect and ease into
+LaTeX programming. While some commands are have been changed \hlight{NO}
+command has been overwritten so feel free to use the original ones
+if you wish.
+
+\begin{warning}
+ As to the best of the authors knowledge, the original commands should work
+ but the aesthetics may be compromised.
+\end{warning}
+
+\Section{Title Formatting}
+
+To begin a new content, always start the content with a chapter heading. To
+insert the chapter with an additional \lstinline[columns=fixed]{minitoc}
+use \lstinline[columns=fixed]{\Chapter}, which produces an heading as
+you see at the beginning of this page, to have a heading without
+a \lstinline[columns=fixed]{minitoc} use the standard
+\lstinline[columns=fixed]{\chapter}.
+
+The document relies on the user to use the \hlight{correct} title commands to
+keep the formatting consistent. The commands that starting with a
+capital letter are the overloaded commands of the standard ones.
+The following are the current ones:
+%
+\begin{code}{python}
+\Chapter{...}
+\Section{...}
+\Subsection{...}
+\Subsubsection{...}
+\end{code}
+%
+\begin{warning}
+ Unless there is a specific reason, it is suggested to use the aforementioned
+ commands. However, original LaTeX command should work as well if you want to use.
+\end{warning}
+
+\Subsection{Page Geometry}
+
+The page geometry is set to the following settings. This is done using the
+standard package \pcode{\usepackage{geometry}} which is defined in the
+\pcode{Hebdomon.cls}.
+%
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\textbf{top}] 2.5cm,
+ \item[\textbf{right}] 2.0cm,
+ \item[\textbf{bottom}] 2.5cm,
+ \item[\textbf{left}] 3.0cm.
+\end{itemize}
+%
+\Section{Image Positioning}
+%
+The image positioning could be done with the following code snippet:
+%
+\begin{code}{latex}
+\begin{figure}[ht]
+ \centering
+ \includegraphics[options]{figures/path.pdf}
+ \caption{\label{fig:label} }
+\end{figure}
+\end{code}
+%
+Here there are a few options worth mentioning:
+%
+\begin{hgitemize}
+ \item[\pcode{figures/path}] The place where the image is kept. If the
+ image is in the same folder where the main.tex file resides, it is as
+ simple as writing the files name. If the file is in a folder called
+ image, just write \pcode{image/innsbruck.jpg}. Finally if the image is
+ in a higher directory (i.e., image is in folderA/innsbruck.jpg and the
+ main tex is in folderA/document/main.tex then the path becomes \pcode{../innsbruck.jpg}
+ \item[\pcode{\caption{..}}] Where you write the caption of the image.
+ For consistency make sure every image has a caption as if the image does not
+ need a caption, maybe it not be present to begin with.
+ \item[\pcode{label{}}] This is an identifier for you to use when you need
+ to cite this Figure in a place somewhere. For example if you were to have
+ and image with the following:
+\end{hgitemize}
+%
+\begin{code}{latex}
+\begin{figure}[ht]
+ \centering
+ \includegraphics[width=\textwidth]{figures/path.pdf}
+ \caption{A photo I found on the web.}\label{fig:innsbruck}
+\end{figure}
+\end{code}
+%
+\begin{hgitemize}
+ \item[] Now this image is referenced as \pcode{fig:innsbruck}, which
+ means if we write the following:
+\end{hgitemize}
+%
+\begin{code}{text}
+To see the image, have a look at Figure \ref{fig:innsbruck}
+\end{code}
+%
+This line of command will be presented as
+%
+\begin{excerpt}
+ To see the image, have a look at Figure 1.1.
+\end{excerpt}
+%
+Finally you can see the image here as well.
+%
+\begin{figure}[ht]
+ \centering
+ \includegraphics[width=\linewidth]{figures/innsbruck.jpg}
+ \caption{The famous Innsbruck houses near the river Inn. This image is
+ placed with a width value of \pcode{width=\linewidth}. This is also
+ a good opportunity to showcase the hanging behaviour of the figure
+ caption.}
+\end{figure}
+%
+\Section{Defined Environments}
+%
+\begin{hgitemize}
+ \item[\pcode{excerpt}] The template relies on the excellent \lstinline[columns=fixed]{tcolorbox}
+ package for formatting the boxes within the document and for that end different styles were created.
+ \item[] Sometimes one needs to quote either a proverb or to create drama, for this use
+ the \lstinline[columns=fixed]{excerpt} environment with the following notation and effect.
+\end{hgitemize}
+%
+\begin{code}{latex}
+\begin{excerpt}
+ To be, or not to be...
+\end{excerpt}
+\end{code}
+%
+\begin{hgitemize}
+ \item[] Compiling this code snippet would show as in the document
+\end{hgitemize}
+%
+\begin{excerpt}
+ To be, or not to be...
+\end{excerpt}
+%
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\pcode{code}] During the preparation of your document, it is useful to showcase
+ some code either in the shape of all the document or a snippet of it.
+ There are two (\hlight{2}) ways of doing this where the first one will be discussed here.
+ \item[] For example to print out a hello world in python, please use the following environment
+\end{itemize}
+%
+\begin{verbatim}
+\begin{code}{python}
+print("Hello, World!")
+\end{code}
+\end{verbatim}
+%
+Producing the following:
+%
+\begin{code}{python}
+print("Hello, World!")
+\end{code}
+%
+The class also come with some predefined environments to modify the behaviour/aesthetics of the document.
+%
+Highlighting text is \hlight{very easy}, here is an example on how to write one.
+
+\begin{code}{latex}
+Highlighting text is \hlight{very easy}, here is an example:
+\end{code}
+
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\pcode{example}] Sometimes you need to showcase an example or
+ need to highlight a certain idea.
+ For these things the environment Example could be useful.
+ \item[] For example to show as simple example or give a slight attention to a topic you can do the following.
+\end{itemize}
+
+\begin{example}
+ This is an example. This could be anything which you would like to have a certain amount of
+ attention but not too much as to distract from the flow of the document.
+\end{example}
+
+\begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \item[\pcode{highlight}] Or sometimes you need to give a clear break to the flow of the
+ document and ask the reader to look at your banner. For that use highlight.
+\end{itemize}
+
+\begin{highlight}
+ Hey! Pay attention as this is a highlight box.
+\end{highlight}
+
+\Subsection{Writing Equations}
+%
+One of the strong suits of LaTeX compared to other editors and programs is
+it simplicity and ease of use methods of writing equations. Consider the
+following equation:
+%
+\begin{equation*}
+ f(x) = x^2 + 2x + 1
+\end{equation*}
+%
+In code form this would be written as:
+%
+\begin{code}{latex}
+ \begin{equation*}
+ f(x) = x^2 + 2x + 1
+ \end{equation*}
+\end{code}
+%
+All equations that has their newline and centre staged are mostly written
+in an environment where it has a \pcode{begin} and an \pcode{end}. You may
+have noticed the asterisks sign just after the equation. This implies the
+environment is \hlight{not numbered}, meaning you won't be able to
+reference it. This is used to limit the numbering of equations to just the
+essential parts in the document and not reach 3 digits by the time you are
+in page 8. For a numbered equation like the following
+%
+\begin{equation}
+ f(x) = x^2 + 2x + 1
+\end{equation}
+%
+You only need to do:
+%
+\begin{code}{latex}
+ \begin{equation}\label{eq:quad}
+ f(x) = x^2 + 2x + 1
+ \end{equation}
+\end{code}
+%
+where \pcode{\label{eq:quad}} is the equation reference label.
+%
+You could also make matrices as well as \pcode{amsmath} is preloaded into this template.
+%
+\Subsection{Designing a Table}
+%
+Finally, no template is done without someone telling you how a table should be designed.
+%
+Below is a standard table
+%
+\begin{table}[!ht]
+ \begin{NiceTabular}{rX}[rules/color=[gray]{0.9},rules/width=1pt]
+ \CodeBefore
+ \rowcolors{1}{black!5}{}
+ \rowcolors{3}{blue!5}{}
+ \Body
+ \toprule
+ \textbf{Section} & \textbf{Scientific Method Step} \\
+ \midrule
+ \textbf{Introduction} & states your hypothesis \\
+ \textbf{Methods} & details how you tested your hypothesis \\
+ \textbf{Results} & provides raw (i.e., uninterpreted) data collected \\
+ \textbf{Discussion} & considers whether the data you obtained support the hypothesis \\
+ \bottomrule
+ \end{NiceTabular}
+ \caption{A Detailed look into the scientific method.}
+\end{table}
+%
+And the code used to generate it:
+%
+\begin{code}{latex}
+\begin{table}[!ht]
+ \begin{NiceTabular}{rX}[rules/color=[gray]{0.9},rules/width=1pt]
+ \CodeBefore
+ \rowcolors{1}{black!5}{}
+ \rowcolors{3}{blue!5}{}
+ \Body
+ \toprule
+ \textbf{Section} & \textbf{Scientific Method Step} \\
+ \midrule
+ \textbf{Introduction} & states hypothesis \\
+ \textbf{Methods} & how you tested hypothesis \\
+ \textbf{Results} & provides raw data collected \\
+ \textbf{Discussion} & whether it support the hypothesis \\
+ \bottomrule
+ \end{NiceTabular}
+ \caption{A Detailed look into the scientific method.}
+\end{table}
+\end{code}
+
+\Chapter{Plotting your data using PGF/TikZ}
+
+\Section{Introduction}
+
+PGFplots and Tikz are powerful scripting languages allowing you to draw high-quality diagrams
+using only a programming language. PGFplots are generally used for plotting data from a wide
+variety of representations from simple 2D plots to complex 3D geometries.
+\\
+But wikipedia description put it best:
+
+\begin{excerpt}
+ PGF/TikZ is a pair of languages for producing vector graphics
+ (e.g., technical illustrations and drawings) from a geometric/algebraic description, with
+ standard features including the drawing of points, lines, arrows, paths, circles,
+ ellipses and polygons. PGF is a lower-level language, while TikZ is a set of higher-level
+ macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros,
+ but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a
+ language that resembles MetaPost.
+\end{excerpt}
+
+For more info please look at the documentation \href{https://tikz.dev/pgfplots/}{here}.
+It is of course up to the user to select which graphical software to produce the necessary
+visual components but unless it requires complex functions/processing, it would be be easier
+to have it in PGF/TikZ format for easy editing/maintenance.
+
+For this manual we will be looking at the three (\hlight{3}) plot types you may
+encounter in your studies.
+%
+\Subsection{A Simple 2D Plot}
+%
+2D plots are simple yet powerful to show the relation of a single parameters
+and its related function.
+Below is an example of a simple comparison of two (\hlight{2}) functions.
+%
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[hebdomon, xlabel = \(x\), ylabel = {\(f(x)\)}]
+ %
+ \addplot [domain=-10:10, samples=100,red]{x^3 - 7*x - 1};
+ \addlegendentry{\(x^2 - 2x - 1\)}
+ %
+ \addplot [domain=-10:10, samples=100, blue]{x^2 + 6*x + 8};
+ %
+ \addlegendentry{\(x^2 + 2x + 1\)}
+ %
+ \end{axis}
+ \end{tikzpicture}
+ \caption{This is an example of a 2D PGF plot comparing
+ two functions where these functions are calculated using
+ PGF itself rather than entering/reading from data.}
+\end{figure}
+%
+The image above is generated using the following code:
+
+\begin{code}{latex}
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[hebdomon, xlabel = \(x\), ylabel = {\(f(x)\)}]
+ %
+ \addplot [domain=-10:10, samples=100,red]{x^3 - 7*x - 1};
+ \addlegendentry{\(x^2 - 2x - 1\)}
+ %
+ \addplot [domain=-10:10, samples=100, blue]{x^2 + 6*x + 8};
+ %
+ \addlegendentry{\(x^2 + 2x + 1\)}
+ %
+ \end{axis}
+ \end{tikzpicture}
+ \caption{This is an example of a 2D PGF plot comparing
+ two functions where these functions are calculated using
+ PGF itself rather than entering/reading from data.}
+\end{figure}
+\end{code}
+
+As can be seen it is relatively standard to create plots. Some aspect
+which need mentioning.
+
+\begin{hgitemize}
+ \item[\pcode{\addplot}] You invoke this command when you want to
+ create a plot. In the square brackets (i.e., []) you insert your
+ \hlight{configuration} of your plot. The most important ones are
+ \begin{itemize}
+ \item[\pcode{domain}] the range in which the function will be
+ calculated
+ \item[\pcode{sample}] the number of calculations will be done
+ within the defined domain.
+ \end{itemize}
+\end{hgitemize}
+
+\Subsection{Plotting 3D plots}
+
+Plotting data with PGFplots is also quite possible and will generate
+great plot (as long as it is not massively complicated). For more
+information on the precautions on designing 3D plots, please have a look
+at \href{https://tikz.dev/pgfplots/reference-3dplots}{here}.
+
+Below is the prototypical plot to showcase the 3D capabilities of PGF:
+
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[view={25}{30},mark layer=like plot]
+ \addplot3 [
+ surf,
+ shader=faceted,
+ fill opacity=0.75,
+ samples=25,
+ domain=-4:4,
+ y domain=-4:4,
+ on layer=main,
+ ] {x^2-y^2};
+ \end{axis}
+ \end{tikzpicture}
+ \caption{An example 3D plot done wit PGFplots.}
+\end{figure}
+
+And, of course the code for generating the plot is given as follows:
+
+\begin{code}{latex}
+\begin{figure}[!ht]
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[view={25}{30},mark layer=like plot]
+ \addplot3 [
+ surf,
+ shader=faceted,
+ fill opacity=0.75,
+ samples=25,
+ domain=-4:4,
+ y domain=-4:4,
+ on layer=main,
+ ] {x^2-y^2};
+ \end{axis}
+ \end{tikzpicture}
+ \caption{An example 3D plot done wit PGFplots.}
+\end{figure}
+\end{code}
+
+Some options worth mentioning are as follows:
+
+\begin{hgitemize}
+ \item[\pcode{surf}] Generates a \hlight{surface} based on the 2D
+ data it was given (in this case these are $x$ and $y$.
+ \item[\pcode{shader}] Describes, basically how each segment should be
+ filled.
+ \item[\pcode{samples}] Similar to 2D plots, tells how many data points will
+ be measured. However, make a note that 3D is significantly more taxing
+ on the TeX memory than 2D and making this sampling high may result in
+ exceeding the memory limit.
+\end{hgitemize}
+
+\end{document}
+
+%%% Local Variables:
+%%% coding: utf-8
+%%% mode: latex
+%%% TeX-command-extra-options: "-shell-escape"
+%%% TeX-master: t
+%%% TeX-engine: luatex
+%%% End:
+
diff --git a/macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpg b/macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpg
new file mode 100644
index 0000000000..c42a2a0580
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/doc/figures/innsbruck.jpg
Binary files differ
diff --git a/macros/latex/contrib/hebdomon/tex/hebdomon.cls b/macros/latex/contrib/hebdomon/tex/hebdomon.cls
new file mode 100644
index 0000000000..33277f76c3
--- /dev/null
+++ b/macros/latex/contrib/hebdomon/tex/hebdomon.cls
@@ -0,0 +1,412 @@
+% Hebdomon document class for use in report and assessment writing
+% Written by D. T. McGuiness: dtm@mci4me.at
+
+% v0.1 - Angry Avocado [WS2024]
+
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+\ProvidesClass{hebdomon}[2024/08/08 v0.1 Report and Documentation standard]
+
+% This document is based on the excellent KOMA Script scrreprt class
+% The following options are declared beforehand.
+
+\RequirePackage{ifthen} % require an if-else loop to
+% choose depending on the field
+
+% Allows students to choose which package for code printing.
+
+\newboolean{mnt} % set bool operator for minted
+\newboolean{lst} % set bool operator for lstlisting
+\newboolean{drw} % set bool operator for PGF/TikZ
+
+%-OPTION: set option to choose minted code printing package
+\DeclareOption{minted}{
+ \setboolean{mnt}{true}
+}
+
+%-OPTION: set option to choose lstlisting code printing package
+\DeclareOption{lstlisting}{
+ \setboolean{lst}{true}
+}
+
+%-OPTION: set option to choose PGF/TikZ plotting packages
+\DeclareOption{draw}{
+ \setboolean{drw}{true}
+}
+
+\DeclareOption*{
+ \PassOptionsToClass{\CurrentOption}{scrreprt}
+}
+\ExecuteOptions{}
+\ProcessOptions \relax
+
+% Load the base class to create the custom template
+\LoadClass[
+ bibliography = totoc,
+ headings = big,
+ captions = tableheading,
+ chapterprefix = true,
+]{scrreprt}
+
+% Page Geometry -----------------------------------------------------------
+% Define the default page geometry
+\RequirePackage[
+ left = 3.0cm,
+ right = 2.0cm,
+ top = 2.5cm,
+ bottom = 2.5cm]{geometry}
+
+% Required Packages -------------------------------------------------------
+\RequirePackage{nicematrix} % For modern table design
+\RequirePackage{booktabs} % To access \midrule \toprule \bottomrule
+
+% For use in referencing purposes
+\RequirePackage[
+ backend=bibtex]{biblatex}
+
+\RequirePackage{graphicx} % To enable image insertion
+\RequirePackage{environ} % To allow new environments with Environ
+
+
+\RequirePackage{lmodern}
+\RequirePackage[sfdefault]{FiraSans}
+
+\RequirePackage{minitoc}
+\RequirePackage{setspace}
+
+\RequirePackage{hyperref} % Allow the use of hyperlink within document
+
+\RequirePackage{enumitem}
+
+\RequirePackage{amsmath}
+
+\usepackage[labelfont=bf]{caption} % Set the caption style to bold
+
+\RequirePackage{titlesec}
+
+% %%%%% ----- Colour Definitions ------ %%%%%
+\RequirePackage{xcolor}
+
+% Define the MCI colours.
+\definecolor{mciRed}{HTML}{821131}
+\definecolor{mciBlue}{HTML}{004983}
+\definecolor{mciOrange}{HTML}{fe640b}
+\definecolor{quoteColour}{HTML}{CBA6F7}
+\definecolor{nord7}{HTML}{81a1c1}
+\definecolor{norda}{HTML}{bf616a}
+\definecolor{nord9}{HTML}{5e81ac}
+\definecolor{nord13}{HTML}{ebcb8b}
+\definecolor{nord14}{HTML}{a3be8c}
+
+% %%%%% ----- Code Presentation ----- %%%%%
+% To make this class more compatible and avoid questions about pygments,
+% the author has decided to use listings for code presentation, instead of
+% minted.
+\RequirePackage{listings}
+
+\lstset{
+ aboveskip={1.3\baselineskip},
+ basicstyle=\small\ttfamily\linespread{4},
+ breaklines=false,
+ backgroundcolor = \color[HTML]{eff1f5},
+ columns=flexible,
+ commentstyle=\color[HTML]{6c6f85}\ttfamily,
+ escapechar=@,
+ extendedchars=true,
+ identifierstyle=\color{black},
+ inputencoding=latin1,
+ keywordstyle=\color[HTML]{fe640b},
+ language=Python,
+ ndkeywordstyle=\color[HTML]{228B22},
+ numbers=left,
+ numberstyle=\tiny,
+ prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
+ showstringspaces=false,
+ stringstyle=\color[HTML]{40a02b}\ttfamily,
+ upquote=true,
+ emph={None},
+ emphstyle={\color[HTML]{FE640B}},
+ % keywordstyle=[1]{\color[HTML]{8839ef}},
+ % morekeywords={(,)},
+ keywordstyle=[2]\color[HTML]{D20F39},
+ keywordstyle={[3]\color[HTML]{8839ef}},
+ keywords=[3]{x},
+}
+
+% \lstset{style=mystyle}
+
+% New Environment Definitions ---------------------------------------------
+% To create environments tcolorbox package is required to make them
+% aesthetically pleasing.
+\RequirePackage{tcolorbox}
+\tcbuselibrary{breakable, minted, skins,theorems, hooks, most}
+
+% %%%%% ----- tcolorbox Templates ----- %%%%%
+
+% Define the excerpt environment style.
+\tcbset{%
+ quoteTemplate/.style={%
+ enhanced,
+ breakable,
+ arc=0pt,
+ outer arc=0pt,
+ toprule=0pt,
+ rightrule=0pt,
+ bottomrule=0pt,
+ leftrule=1mm,
+ colback=white,
+ colframe=mciRed,
+ detach title
+ }%
+}%
+
+\tcbset{%
+ blockTemplate/.style={%
+ enhanced,
+ breakable,
+ arc=0pt,
+ outer arc=0pt,
+ toprule=0pt,
+ rightrule=0pt,
+ bottomrule=0pt,
+ leftrule=1mm,
+ colback=#1!25,
+ colframe=#1,
+ coltitle=black,
+ detach title
+ }%
+}%
+
+% %%%%% --------------------------------%%%%%
+
+% Environment used to insert quotations.
+\NewEnviron{excerpt}[1][]{%
+ \begin{tcolorbox}[blockTemplate=nord7]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{example}[1][]{%
+ \begin{tcolorbox}[blockTemplate=nord14]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{highlight}[1][]{%
+ \begin{tcolorbox}[blockTemplate=nord13]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{theory}[1][]{%
+ \begin{tcolorbox}[blockTemplate=black]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{warning}[1][]{%
+ \begin{tcolorbox}[blockTemplate=norda]
+ \BODY
+ \end{tcolorbox}
+}%
+
+\NewEnviron{hgitemize}[1][]{%
+ \begin{itemize}[leftmargin=!,labelindent=-29.2pt]
+ \BODY
+ \end{itemize}
+}%
+
+
+
+
+
+% KOMA-Script Configuration -----------------------------------------------
+
+\addtokomafont{chapterprefix}{\raggedleft}
+\addtokomafont{chapter}{\fontsize{30}{38}\selectfont}
+\addtokomafont{section}{\huge}
+\addtokomafont{subsection}{\Large}
+\addtokomafont{subsubsection}{\large}
+
+% Set the fontstyle of minitoc to that of the document
+\renewcommand{\mtifont}{\large\sffamily}
+\renewcommand{\mtcfont}{\small\sffamily}
+\renewcommand{\mtcSfont}{\small\sffamily}
+\renewcommand{\mtcSSfont}{\small\sffamily}
+\renewcommand{\mtcSSSfont}{\small\sffamily}
+
+\newcommand{\StudentName}[1]{\author{#1}}
+
+% Set the depth of TOC
+\setcounter{secnumdepth}{3} % number subsubsections
+\setcounter{tocdepth}{3} % list subsubsections
+
+% Configure the document titles
+\newcommand{\Chapter}[1]{\chapter{\textcolor{mciBlue}{#1}}\minitoc}
+\newcommand{\Section}[1]{\section{\textcolor{mciBlue}{#1}}}
+\newcommand{\Subsection}[1]{\subsection{\textcolor{mciBlue}{#1}}}
+\newcommand{\Subsubsection}[1]{\subsubsection{\textcolor{mciBlue}{#1}}}
+
+\newcommand{\hlight}[1]{\textcolor{mciOrange}{#1}}
+
+
+% Configure the baseline of the document
+\renewcommand{\baselinestretch}{1.2}
+
+\renewcommand*{\chapterformat}{%
+ \mbox{\scalebox{1.5}{\chapappifchapterprefix{\nobreakspace}}%
+ \scalebox{4}{\color{mciRed}\thechapter\autodot}\enskip}}
+
+\newcommand{\heading}[1]{\subsubsection*{$\blacksquare$ #1}}
+\newcommand{\marginsecnumber}[1]{%
+ \makebox[0pt][r]{#1\hspace{6pt}}%
+}
+
+\titleformat{\section} {\normalfont\Large\bfseries}
+{\marginsecnumber\thesection} {0pt} {}
+\titleformat{\subsection} {\normalfont\large\bfseries}
+{\marginsecnumber\thesubsection} {0pt} {}
+\titleformat{\subsubsection}
+{\normalfont\normalsize\bfseries}
+{\marginsecnumber\thesubsubsection}
+{0pt} {}
+\titleformat{\paragraph}[runin]
+{\normalfont\normalsize\bfseries}
+{\marginsecnumber\theparagraph}
+{0pt} {}
+\titleformat{\subparagraph}[runin]
+{\normalfont\normalsize\bfseries}
+{\marginsecnumber\thesubparagraph}
+{0pt}
+{}
+
+\titlespacing*{\subsection}{0pt}{*3.25}{*1.5}%
+
+\setlength\parindent{0pt} % set no indent for the entire file
+
+\ifthenelse{\boolean{mnt}}{%
+ \RequirePackage{minted}
+
+ \newcommand{\pcode}[1]{%
+ {%
+ \colorbox{gray!10}{%
+ \mintinline[fontsize=\small]{text}{#1}%
+ }%
+ }%
+ }%
+
+ %\usemintedstyle{catppuccin-latte}
+
+ \definecolor{catback}{HTML}{585b70}
+ \definecolor{catground}{HTML}{eff1f5}
+
+ % Set box and font rules for inputminted command for paper
+ \newtcbinputlisting{\codeinputpaper}[4][]{%
+ listing file={#3},
+ minted language=#2,
+ minted options={
+ fontsize=\small,
+ tabsize=4,
+ xleftmargin=-2.25mm,
+ numbersep=5mm,
+ breaklines=true,
+ highlightcolor=orange!50,
+ %formatcom=orange!50
+ },% <-- put other minted options inside the brackets
+ overlay unbroken and first={%
+ \begin{tcbclipinterior}
+ \fill[catback] (frame.south west) rectangle
+ ([xshift=1mm]frame.north west);
+ \fill[catback] (frame.north east) rectangle
+ ([xshift=-4mm, yshift=-10mm]frame.north east);
+ \fill[catback]
+ ([xshift=-4mm, yshift=-10mm]frame.north east) --
+ ([xshift=0mm, yshift=-10mm]frame.north east) --
+ ([xshift=0mm, yshift=-12mm]frame.north east);
+ \end{tcbclipinterior}
+ \node[rotate=-90, minimum width=1cm, anchor=north,
+ font=\bfseries] at ([xshift=0mm, yshift=-4mm]frame.north
+ east) {\tiny \textcolor{white}{#2}}; },
+ sharp corners,
+ leftrule=1mm,
+ toprule=0pt,
+ rightrule=0pt,
+ bottomrule=0pt,
+ colback=catground,
+ colframe=black,
+ breakable,
+ enhanced,% <-- put other tcolorbox options here
+ arc=0mm,
+ boxrule=0pt,
+ frame hidden,
+ listing only,
+ minted options app={#1}}
+
+ \RequirePackage{xpatch}
+
+ \newenvironment{code}[1]
+ {%
+ \VerbatimEnvironment
+ \begin{minted}{#1}%
+}
+{%
+ \end{minted}%
+ }
+ %
+ \xpatchcmd{\mintinline}{\begingroup}{\begingroup\let\itshape\relax}{}{}
+ \xpatchcmd{\minted}{\VerbatimEnvironment}{\VerbatimEnvironment\let\itshape\relax}{}{}
+ \xpatchcmd{\inputminted}{\begingroup}{\begingroup\let\itshape\relax}{}{}
+}{}
+
+\ifthenelse{\boolean{lst}}{%
+ \RequirePackage{listings}%
+ \RequirePackage{xparse}
+
+ \NewDocumentCommand{\pcode}{v}{%
+ #1%
+ }
+
+ \newenvironment{code}[1]
+ {%
+ \VerbatimEnvironment
+ \begin{lstlisting}{language=#1}%
+}
+{%
+ \end{lstlisting}%
+ }
+}{}
+
+
+\ifthenelse{\boolean{drw}}{%
+ \RequirePackage{pgfplots} % Enable to draw plots in the documents
+ \usepackage{tikz} % Enable Tikz and its libraries
+ \pgfplotsset{compat=1.18} % Set the pgf compatibility.
+ %
+ \usepgfplotslibrary{polar} % To access polarplot
+ %
+ \pgfplotsset{
+ hebdomon/.style={
+ minor grid style={dotted, gray!50},
+ major grid style={dotted, gray!50},
+ %
+ grid = both,
+ minor tick num=2,
+ ytick align=outside,
+ xtick align=outside,
+ axis line style={draw=none},
+ axis lines = left,
+ %
+ line width=2pt,
+ %
+ legend style = {
+ line width=0.5pt
+ },
+ %
+ every non boxed x axis/.append style={x axis line style=-},
+ every non boxed y axis/.append style={y axis line style=-},
+ %
+ },
+ }
+}{}
+
+
+\endinput
diff --git a/macros/latex/contrib/heria/heria-proposal.pdf b/macros/latex/contrib/heria/heria-proposal.pdf
index 60d99c6dab..79892c24d2 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 60cc0162f1..7da06a879d 100644
--- a/macros/latex/contrib/heria/heria.dtx
+++ b/macros/latex/contrib/heria/heria.dtx
@@ -33,7 +33,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{heria}
%<*class>
-[2024-07-14 v3.4.1.0 Class for Horizon Europe (R)IA proposals]
+[2024-08-14 v3.4.1.1 Class for Horizon Europe (R)IA proposals]
%</class>
%
%<*driver>
@@ -109,6 +109,23 @@
% either Version~3.2 (2022-11-15), 3.3 (2023-09-27), or 3.4
% (2024-04-04) of the official Part~B template.
%
+% \bigskip
+%
+% \noindent Besides this technical manual, there is a journal article
+% that describes the motivation for and development of \textsf{heria}:
+%
+% \begin{quote}
+% Tristan
+% Miller. \href{https://dx.doi.org/10.47397/tb/45-1/tb139miller-horizon}{Preparing
+% Horizon Europe proposals in \LaTeX\ with
+% \textsf{heria}}. \emph{TUGboat: The Communications of the \TeX\
+% Users Group}, 45(1):\allowbreak 59–64, 2024. ISSN 0896-3207. DOI:
+% \href{https://dx.doi.org/10.47397/tb/45-1/tb139miller-horizon}{10.47397/tb/45-1/tb139miller-horizon}.
+% \end{quote}
+%
+% \noindent Please cite this journal article if you want to refer to
+% \textsf{heria} in a publication.
+%
% \section{Usage}
%
% The EC's official template is structured in such a way that form and
@@ -509,6 +526,8 @@
% \subsection{Version history}
%
% \begin{description}
+% \item[v3.4.1.1 (2024-08-14)] Update documentation with a reference
+% to the \emph{TUGboat} paper on \textsf{heria}.
% \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.
diff --git a/macros/latex/contrib/heria/heria.pdf b/macros/latex/contrib/heria/heria.pdf
index 71b47d5ed5..3295f000a9 100644
--- a/macros/latex/contrib/heria/heria.pdf
+++ b/macros/latex/contrib/heria/heria.pdf
Binary files differ
diff --git a/macros/latex/contrib/hypcap/README.md b/macros/latex/contrib/hypcap/README.md
new file mode 100644
index 0000000000..07580bcb3f
--- /dev/null
+++ b/macros/latex/contrib/hypcap/README.md
@@ -0,0 +1,20 @@
+# hypcap package for LaTeX
+
+* adjusting anchors of captions;
+
+Version: 2024-07-26 v1.13
+
+This package tries a solution of the problem with
+hyperref, that links to floats points below the
+caption and not at the beginning of the float.
+Therefore this package divides the task into two
+part, the link setting with `\capstart` or
+automatically at the beginning of a float and
+the rest in the `\caption` command.
+
+## Copyright (C)
+* 1999-2001, 2006-2008, 2011 Heiko Oberdiek
+* 2016-2024 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/oberdiek/hypcap.dtx b/macros/latex/contrib/hypcap/hypcap.dtx
index a9bb106fe3..ef7538e91e 100644
--- a/macros/latex/contrib/oberdiek/hypcap.dtx
+++ b/macros/latex/contrib/hypcap/hypcap.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: hypcap.dtx
-% Version: 2016/05/16 v1.12
+% Version: 2024-07-26 v1.13
% Info: Adjusting the anchors of captions
%
% Copyright (C)
% 1999-2001, 2006-2008, 2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% 2016-2024 Oberdiek Package Support Group
+% https://github.com/ho-tex/hypcap/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,15 +23,15 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/hypcap/issues
%
% This work consists of the main source file hypcap.dtx
% and the derived files
% hypcap.sty, hypcap.pdf, hypcap.ins, hypcap.drv.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/hypcap.dtx
-% CTAN:macros/latex/contrib/oberdiek/hypcap.pdf
+% CTAN:macros/latex/contrib/hypcap/hypcap.dtx
+% CTAN:macros/latex/contrib/hypcap/hypcap.pdf
%
% Unpacking:
% (a) If hypcap.ins is present:
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hypcap.dtx
% makeindex -s gind.ist hypcap.idx
% pdflatex hypcap.dtx
@@ -60,9 +60,9 @@
% pdflatex hypcap.dtx
%
% Installation:
-% TDS:tex/latex/oberdiek/hypcap.sty
-% TDS:doc/latex/oberdiek/hypcap.pdf
-% TDS:source/latex/oberdiek/hypcap.dtx
+% TDS:tex/latex/hypcap/hypcap.sty
+% TDS:doc/latex/hypcap/hypcap.pdf
+% TDS:source/latex/hypcap/hypcap.dtx
%
%<*ignore>
\begingroup
@@ -79,7 +79,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: hypcap 2016/05/16 v1.12 Adjusting the anchors of captions (HO)}
+\Msg{* Package: hypcap 2024-07-26 v1.13 Adjusting the anchors of captions (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -91,11 +91,11 @@
This is a generated file.
Project: hypcap
-Version: 2016/05/16 v1.12
+Version: 2024-07-26 v1.13
Copyright (C)
1999-2001, 2006-2008, 2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -111,7 +111,7 @@ This work has the LPPL maintenance status "maintained".
The Current Maintainers of this work are
Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
+https://github.com/ho-tex/hypcap/issues
This work consists of the main source file hypcap.dtx
@@ -124,7 +124,7 @@ and the derived files
\generate{%
\file{hypcap.ins}{\from{hypcap.dtx}{install}}%
\file{hypcap.drv}{\from{hypcap.dtx}{driver}}%
- \usedir{tex/latex/oberdiek}%
+ \usedir{tex/latex/hypcap}%
\file{hypcap.sty}{\from{hypcap.dtx}{package}}%
}
@@ -152,7 +152,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{hypcap.drv}%
- [2016/05/16 v1.12 Adjusting the anchors of captions (HO)]%
+ [2024-07-26 v1.13 Adjusting the anchors of captions (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -166,9 +166,9 @@ and the derived files
% \GetFileInfo{hypcap.drv}
%
% \title{The \xpackage{hypcap} package}
-% \date{2016/05/16 v1.12}
+% \date{2024-07-26 v1.13}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/hypcap/issues}}}
%
% \maketitle
%
@@ -301,7 +301,7 @@ and the derived files
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypcap}%
- [2016/05/16 v1.12 Adjusting the anchors of captions (HO)]
+ [2024-07-26 v1.13 Adjusting the anchors of captions (HO)]
% \end{macrocode}
%
% For unique command names this package uses |hc@| as prefix
@@ -461,7 +461,7 @@ and the derived files
\capstart
}{%
\if@capstart
- \PackageError{hypcap}{You have forgotten to use \string\caption}%
+ \PackageWarning{hypcap}{You have forgotten to use \string\caption}%
\global\@capstartfalse
\else
\fi
@@ -497,31 +497,11 @@ and the derived files
% \paragraph{Package.} This package is available on
% CTAN\footnote{\CTANpkg{hypcap}}:
% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/hypcap.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/hypcap.pdf}] Documentation.
+% \item[\CTAN{macros/latex/contrib/hypcap/hypcap.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/hypcap/hypcap.pdf}] Documentation.
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
% \subsection{Package installation}
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
@@ -537,9 +517,9 @@ and the derived files
% \begin{quote}
% \def\t{^^A
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-% hypcap.sty & tex/latex/oberdiek/hypcap.sty\\
-% hypcap.pdf & doc/latex/oberdiek/hypcap.pdf\\
-% hypcap.dtx & source/latex/oberdiek/hypcap.dtx\\
+% hypcap.sty & tex/latex/hypcap/hypcap.sty\\
+% hypcap.pdf & doc/latex/hypcap/hypcap.pdf\\
+% hypcap.dtx & source/latex/hypcap/hypcap.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -718,6 +698,9 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2024-07-26 v1.13}
+% \item Change error into warning, issue \#1
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/oberdiek/hypcap.pdf b/macros/latex/contrib/hypcap/hypcap.pdf
index 46df7e8951..bea211492f 100644
--- a/macros/latex/contrib/oberdiek/hypcap.pdf
+++ b/macros/latex/contrib/hypcap/hypcap.pdf
Binary files differ
diff --git a/macros/latex/contrib/hypdestopt/README.md b/macros/latex/contrib/hypdestopt/README.md
index 0610b53e58..71e1c7066e 100644
--- a/macros/latex/contrib/hypdestopt/README.md
+++ b/macros/latex/contrib/hypdestopt/README.md
@@ -1,6 +1,6 @@
# hypdestopt package for LaTeX
-Version: 2020-09-02 v2.7
+Version: 2024-08-07 v2.8
Hyperref destination optimizer
@@ -11,7 +11,7 @@ to get smaller PDF files.
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2020 Oberdiek Package Support Group
+* 2016-2024 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/hypdestopt/hypdestopt.dtx b/macros/latex/contrib/hypdestopt/hypdestopt.dtx
index 03006db27b..f9c6af1e6d 100644
--- a/macros/latex/contrib/hypdestopt/hypdestopt.dtx
+++ b/macros/latex/contrib/hypdestopt/hypdestopt.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: hypdestopt.dtx
-% Version: 2020-09-02 v2.7
+% Version: 2024-08-07 v2.8
% Info: Hyperref destination optimizer
%
% Copyright (C)
% 2006-2008, 2011 Heiko Oberdiek
-% 2016-2020 Oberdiek Package Support Group
+% 2016-2024 Oberdiek Package Support Group
% https://github.com/ho-tex/hypdestopt/issues
%
% This work may be distributed and/or modified under the
@@ -79,7 +79,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: hypdestopt 2020-09-02 v2.7 Hyperref destination optimizer (HO)}
+\Msg{* Package: hypdestopt 2024-08-07 v2.8 Hyperref destination optimizer (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -91,11 +91,11 @@
This is a generated file.
Project: hypdestopt
-Version: 2020-09-02 v2.7
+Version: 2024-08-07 v2.8
Copyright (C)
2006-2008, 2011 Heiko Oberdiek
- 2016-2020 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -152,7 +152,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{hypdestopt.drv}%
- [2020-09-02 v2.7 Hyperref destination optimizer (HO)]%
+ [2024-08-07 v2.8 Hyperref destination optimizer (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -166,7 +166,7 @@ and the derived files
% \GetFileInfo{hypdestopt.drv}
%
% \title{The \xpackage{hypdestopt} package}
-% \date{2020-09-02 v2.7}
+% \date{2024-08-07 v2.8}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/hypdestopt/issues}}}
%
@@ -177,6 +177,9 @@ and the derived files
% \xoption{pdftex} and \xoption{luatex} driver. It removes unnecessary destinations
% and shortens the destination names or uses numbered destinations
% to get smaller PDF files.
+%
+% The package is not compatible with the \LaTeX{} PDFmanagement loaded with
+% \cs{DocumentMetadata} and will do nothing if it detects it.
% \end{abstract}
%
% \tableofcontents
@@ -289,9 +292,24 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{hypdestopt}%
- [2020-09-02 v2.7 Hyperref destination optimizer (HO)]%
+ [2024-08-07 v2.8 Hyperref destination optimizer (HO)]%
% \end{macrocode}
%
+% \subsection{Check for PDF management}
+% \begin{macrocode}
+\IfDocumentMetadataTF
+ {
+ \PackageWarning{hypdestopt}
+ {
+ \string\DocumentMetadata detected. \MessageBreak
+ The package will do nothing.
+ }{}
+ }{}
+\IfDocumentMetadataTF
+ {
+ \endinput
+ }{}
+% \end{macrocode}
% \subsection{Options}
%
% \subsubsection{Option \xoption{verbose}}
@@ -752,26 +770,6 @@ and the derived files
% \end{description}
%
%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
-% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
-%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
-%
% \subsection{Package installation}
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
@@ -956,6 +954,9 @@ and the derived files
% \begin{Version}{2020-09-02 v2.7}
% \item Adapted to the new hook management of LaTeX (github issue 1)
% \end{Version}
+% \begin{Version}{2024-08-07 v2.8}
+% \item Disable the package if \cs{DocumentMetadata} is detected (github issue 2)
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/hypdestopt/hypdestopt.pdf b/macros/latex/contrib/hypdestopt/hypdestopt.pdf
index 1835545dc8..1ca7cc4c29 100644
--- a/macros/latex/contrib/hypdestopt/hypdestopt.pdf
+++ b/macros/latex/contrib/hypdestopt/hypdestopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/README.md b/macros/latex/contrib/isosafety/README.md
index 5cedddab81..d67f9940ca 100644
--- a/macros/latex/contrib/isosafety/README.md
+++ b/macros/latex/contrib/isosafety/README.md
@@ -4,6 +4,8 @@ isosafety is a LaTeX package that contains safety colors (ISO 3864) and safety s
Maintainer: BenSt099 (https://github.com/BenSt099/isosafety)
+Version 1.2
+
License: LPPL 1.3c
Note: This is **not** an **official** package from ISO. \ No newline at end of file
diff --git a/macros/latex/contrib/isosafety/doc/isosafety-docs.pdf b/macros/latex/contrib/isosafety/doc/isosafety-docs.pdf
new file mode 100644
index 0000000000..70e1ecce63
--- /dev/null
+++ b/macros/latex/contrib/isosafety/doc/isosafety-docs.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/doc/isosafety-docs.tex b/macros/latex/contrib/isosafety/doc/isosafety-docs.tex
new file mode 100644
index 0000000000..ff0e6918e6
--- /dev/null
+++ b/macros/latex/contrib/isosafety/doc/isosafety-docs.tex
@@ -0,0 +1,138 @@
+\documentclass{article}
+
+\usepackage{xcolor}
+\definecolor{Caution}{HTML}{F9A800}
+\definecolor{Warning}{HTML}{D05D29}
+\definecolor{Prohibition}{HTML}{9B2423}
+\definecolor{Mandatory}{HTML}{005387}
+\definecolor{Rescue}{HTML}{237F52}
+\definecolor{Backgrounds}{HTML}{ECECE7}
+\definecolor{Symbol}{HTML}{2B2B2C}
+\usepackage{array}
+\usepackage{hyperref}
+\usepackage{verbatim}
+\makeatletter
+\newcommand{\verbatimfontfamily}[1]{\def\verbatim@font{#1}}%
+\makeatother
+\usepackage{colortbl}
+\usepackage{geometry}
+\geometry{
+ left=2cm,
+ right=2cm,
+ top=3cm,
+ bottom=3cm
+}
+
+\begin{document}
+
+\begin{center}
+ {\Huge isosafety} \vspace{5mm}
+
+ {\Large Version 1.2}\vspace{5mm}
+
+ {\Large August 20, 2024}\vspace{5mm}
+
+ \href{https://github.com/BenSt099/isosafety}{github.com/BenSt099/isosafety}
+\end{center}\vspace{5mm}
+
+\section{General information}
+
+This is the official documentation of the package \textbf{isosafety}. It provides ISO colors and signs according to the ISO standards
+3864 and 7010. It can be used to create instructions for chemical or physical experiments.\vspace{5mm}
+
+\noindent{\large \textbf{NOTE}}
+
+\noindent This is not an official package from the ISO. All signs are taken from Wikipedia.
+
+\section{Dependencies}
+
+This package has the following dependencies: \texttt{graphicx}, \texttt{xcolor}, \texttt{ifthen}, \texttt{xkeyval}
+
+\section{ISO Colors}
+
+Seven colors are defined which are also used to create the signs: \vspace{5mm}
+
+\renewcommand{\arraystretch}{1.2}
+ \begin{tabular}{ll}
+ \hline
+ Name & Colors \\
+ \hline
+ Caution & \cellcolor{Caution} \\
+ Warning & \cellcolor{Warning} \\
+ Prohibition & \cellcolor{Prohibition} \\
+ Mandatory & \cellcolor{Mandatory} \\
+ Rescue & \cellcolor{Rescue} \\
+ Backgrounds & \cellcolor{Backgrounds} \\
+ Smybol & \cellcolor{Symbol} \\
+ \hline
+\end{tabular}\vspace{5mm}
+
+\noindent How to use: \vspace{3mm}
+
+\verbatimfontfamily{\slshape\ttfamily}
+
+\begin{verbatim}
+{\color{Mandatory} \textbf{Text with Mandatory color.}}
+\end{verbatim}\vspace{2mm}
+
+\noindent{\color{Mandatory} \textbf{Text with Mandatory color.}}
+
+\newpage
+
+\section{ISO Signs}
+
+\noindent This section deals with the construction of signs. To begin with, each sign is placed in a category, has a letter and a number: \vspace{5mm}
+
+\renewcommand{\arraystretch}{1.2}
+ \begin{tabular}{lll}
+ \hline
+ Category & Letter(s) & Numbers \\
+ \hline
+ Safe condition & E & (001 - 070) \\
+ Crescent variant & CV & (003, 004, 009, 010, 011, 012, 013, 027, 028, 029, 064, 067) \\
+ Fire Protection & F & (001 - 019) \\
+ Mandatory & M & (001 - 060) \\
+ Prohibition & P & (001 - 074) \\
+ Warning & W & (001 - 080) \\
+ \hline
+\end{tabular}\vspace{5mm}
+
+\noindent The command to access a sign is: \begin{verbatim}
+ \Isosign{<Letter><Number>}
+\end{verbatim}\vspace{5mm}
+
+\noindent This command constructs a path to a sign in your \TeX Live / Mik\TeX / \ldots $\;$ installation. That means to actually display the sign, resize it, edit it, etc., follow the given example:
+
+\begin{verbatim}
+ %%% Example file
+ \documentclass{article}
+
+ % example path
+ \usepackage[ fullpath = /texlive/2024/texmf-dist/tex/latex/isosafety ]{isosafety}
+
+ \usepackage{graphicx}
+
+ \begin{document}
+
+ \includegraphics{\Isosign{F001}}
+ \includegraphics[scale=2]{\Isosign{P074}}
+
+ \end{document}
+\end{verbatim}\vspace{5mm}
+
+\noindent As you can notice, when we import the package, we provide it with an option. The option is named \textbf{fullpath} and is \textbf{necessary}!
+Since you may have a different version of \TeX Live or maybe even a different \TeX-installation, you have to provide a path that leads to the installation directory
+of isosafety. The path that is given in the example is the typical path on most systems. The year \textit{2024} refers to the version of \TeX Live installed on your system \vspace{5mm}
+
+\noindent\textbf{NOTE}: On Windows, the path should also be given with foreslashes (just like in the example). \\
+
+\noindent\textbf{NOTE}: The last directory in the path \textit{does not} end with a foreslash (just like in the example). \\
+
+\noindent\textbf{NOTE}: For a complete overview of the available signs, take a look at \href{https://en.wikipedia.org/wiki/ISO_7010}{Wikipedia}.
+
+
+
+
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/isosafety/isosafety.dtx b/macros/latex/contrib/isosafety/isosafety.dtx
deleted file mode 100644
index da754c4932..0000000000
--- a/macros/latex/contrib/isosafety/isosafety.dtx
+++ /dev/null
@@ -1,143 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 2023 by BenSt099
-% -------------------------------------------------------
-%
-% 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.
-%
-% \fi
-%
-% \iffalse
-%<*driver>
-\ProvidesFile{isosafety.dtx}
-%</driver>
-%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-%<package>\ProvidesPackage{isosafety}
-%<*package>
- [2023/11/09 v1.1 ISO Safety Colors And Safety Signs]
-
-\RequirePackage{graphicx}
-\RequirePackage{xcolor}
-%</package>
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage{isosafety}[2023/11/09]
-\usepackage{hyperref}
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-\begin{document}
- \DocInput{isosafety.dtx}
- \PrintChanges
- \PrintIndex
-\end{document}
-%</driver>
-% \fi
-%
-%
-% \changes{v1.1}{2023/11/09}{Beta version}
-%
-% \GetFileInfo{isosafety.sty}
-%
-% \DoNotIndex{\newcommand,\newenvironment}
-%
-%
-% \title{The \textsf{isosafety} package\thanks{This document
-% corresponds to \textsf{isosafety}~\fileversion, dated \filedate.}}
-% \author{BenSt099 \\ \texttt{github.com/BenSt099}}
-%
-% \maketitle
-%
-% \section{Introduction}
-%
-% This package provides ISO colors and ISO signs according to the ISO standards 3864 and 7010.
-% It can be useful when creating instructions for chemical or physical experiments.
-%
-% \section{Dependencies}
-%
-% The package has the following dependencies: \texttt{graphicx}, \texttt{xcolor}.
-%
-%
-% \section{Usage}
-%
-% \subsection{ISO colors}
-%
-% There are 6 colors that are also used in the signs: \vspace*{5mm}
-%
-% \begin{tabular}{cc}
-% Warning & {\color{Warning} Warning Color} \\
-% Prohibition & {\color{Prohibition} Prohibition Color} \\
-% Mandatory & {\color{Mandatory} Mandatory Color} \\
-% Rescue & {\color{Rescue} Rescue Color} \\
-% Backgrounds & {\color{Backgrounds} Backgrounds Color} \\
-% Symbol & {\color{Symbol} Symbol Color} \\
-% \end{tabular}
-%
-% \subsection{Colors - Example}
-%
-% \begin{verbatim}
-% {\color{Mandatory} Text with mandatory color}
-% \end{verbatim}
-%
-% \subsection{ISO signs}
-%
-% The signs from ISO are placed in a category, have a letter and a number
-%
-% \begin{itemize}
-% \item Safe condition - Letter E (001 - 070)
-% \item Crescent variant - CV (003, 004, 009, 010, 011, 012, 013, 027, 028, 029, 064, 067)
-% \item Fire Protection - Letter F (001 - 019)
-% \item Mandatory - Letter M (001 - 060)
-% \item Prohibition - Letter P (001 - 074)
-% \item Warning - Letter W (001 - 080)
-% \end{itemize}
-%
-% The command to access these signs has the following syntax:
-%
-% \begin{verbatim}
-% \Isosign{{Letter}{Number}}
-% \end{verbatim}
-%
-% \subsection{Signs - Example}
-%
-% Imagine you want to put the sign of a fire extinguisher in your document.
-% Use the following command:
-%
-% \begin{verbatim}
-% \includegraphics{\Isosign{F001}}
-% \end{verbatim}
-%
-% \includegraphics{\Isosign{F001}}
-% \vspace*{5mm}
-%
-% \noindent For an overview, take a look at \href{https://en.wikipedia.org/wiki/ISO_7010}{Wikipedia}
-%
-% \StopEventually{}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\definecolor{Warning}{HTML}{F9A800}
-\definecolor{Prohibition}{HTML}{9B2423}
-\definecolor{Mandatory}{HTML}{005387}
-\definecolor{Rescue}{HTML}{237F52}
-\definecolor{Backgrounds}{HTML}{ECECE7}
-\definecolor{Symbol}{HTML}{2B2B2C}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newcommand{\Isosign}[1]{isosafety-pdfs/ISO_7010_#1.pdf}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \Finale
-\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/isosafety/isosafety.ins b/macros/latex/contrib/isosafety/isosafety.ins
deleted file mode 100644
index f7563b4ab1..0000000000
--- a/macros/latex/contrib/isosafety/isosafety.ins
+++ /dev/null
@@ -1,56 +0,0 @@
-%%
-%% Copyright (C) 2023 by BenSt099
-%%
-%% 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/isosafety}
-
-\preamble
-
-This is a generated file.
-
-Copyright (C) 2023 by BenSt099
-
-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{isosafety.sty}{\from{isosafety.dtx}{package}}}
-
-\obeyspaces
-\Msg{*************************************************************}
-\Msg{* *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* file into a directory searched by TeX: *}
-\Msg{* *}
-\Msg{* isosafety.sty *}
-\Msg{* isosafety-pdfs/* *}
-\Msg{* *}
-\Msg{* To produce the documentation run the file isosafety.dtx *}
-\Msg{* through LaTeX. *}
-\Msg{* *}
-\Msg{* Happy TeXing! *}
-\Msg{* *}
-\Msg{*************************************************************}
-
-\endbatchfile
diff --git a/macros/latex/contrib/isosafety/isosafety.pdf b/macros/latex/contrib/isosafety/isosafety.pdf
deleted file mode 100644
index 09d630c77a..0000000000
--- a/macros/latex/contrib/isosafety/isosafety.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV003.pdf
index c3671853cc..c3671853cc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV004.pdf
index 426766af28..426766af28 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV009.pdf
index 4371233c53..4371233c53 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV010.pdf
index 4f7c7b0c4e..4f7c7b0c4e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV011.pdf
index b53137946c..b53137946c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV012.pdf
index ee3d79d2fe..ee3d79d2fe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV013.pdf
index 54a7ef44db..54a7ef44db 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV027.pdf
index c2c5f6e332..c2c5f6e332 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV028.pdf
index 005109c5c8..005109c5c8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV029.pdf
index 070e7a2743..070e7a2743 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV064.pdf
index 9ef30ac6e6..9ef30ac6e6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV067.pdf
index d0e6340114..d0e6340114 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_CV067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_CV067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E001.pdf
index abc60c2691..abc60c2691 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E001.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E002.pdf
index fbe80ce3f8..fbe80ce3f8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E003.pdf
index 21dfafc605..21dfafc605 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E004.pdf
index 3663147e2e..3663147e2e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E007.pdf
index cd21e70dc4..cd21e70dc4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E008.pdf
index 9d651b8d9e..9d651b8d9e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E009.pdf
index 93822c975e..93822c975e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E009.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E010.pdf
index ef0b21d588..ef0b21d588 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E011.pdf
index 127667563d..127667563d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E012.pdf
index 98cb2bd8b4..98cb2bd8b4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E013.pdf
index 0d89ed3065..0d89ed3065 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E013.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E014.pdf
index 0a9e382903..0a9e382903 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E015.pdf
index d8e8f0e401..d8e8f0e401 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E016.pdf
index 06065e969e..06065e969e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E017.pdf
index fc1ca1bdf0..fc1ca1bdf0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E018.pdf
index 4b05b96f89..4b05b96f89 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E019.pdf
index 45fe98dcd7..45fe98dcd7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E020.pdf
index 7b85394d63..7b85394d63 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E021.pdf
index 187694547c..187694547c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E022.pdf
index 2e772aa41a..2e772aa41a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E022.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E023.pdf
index 9a14e4d901..9a14e4d901 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E024.pdf
index 3fefa8edfd..3fefa8edfd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E025.pdf
index 026668d438..026668d438 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E026.pdf
index 3c9979f590..3c9979f590 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E027.pdf
index fb532c645c..fb532c645c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E028.pdf
index affca9c7f5..affca9c7f5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E029.pdf
index 7faeee6464..7faeee6464 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E030.pdf
index cf1a93fe95..cf1a93fe95 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E031.pdf
index 1b8b8f3b7c..1b8b8f3b7c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E032.pdf
index b70eefa505..b70eefa505 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E033.pdf
index a49b3fe4bf..a49b3fe4bf 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E033.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E034.pdf
index 44341bd96b..44341bd96b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E034.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E035.pdf
index c79abaa600..c79abaa600 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E036.pdf
index 0bdad717ba..0bdad717ba 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E037.pdf
index 65d6a6f2f2..65d6a6f2f2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E038.pdf
index a99e0485f3..a99e0485f3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E039.pdf
index b8247de081..b8247de081 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E040.pdf
index f49aabdf1e..f49aabdf1e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E041.pdf
index 9cfa31db6c..9cfa31db6c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E042.pdf
index 917e764de5..917e764de5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E043.pdf
index 7b126756d4..7b126756d4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E044.pdf
index 8049c34a95..8049c34a95 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E045.pdf
index 7f57b529fe..7f57b529fe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E046.pdf
index 3af4a0a9b9..3af4a0a9b9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E047.pdf
index 823f7704fe..823f7704fe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E048.pdf
index 2cd85b1273..2cd85b1273 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E049.pdf
index 67ae74aeb9..67ae74aeb9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E050.pdf
index 1c0120948d..1c0120948d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E051.pdf
index 9ac16abe7e..9ac16abe7e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E052.pdf
index 057a6590ad..057a6590ad 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E053.pdf
index b050874db9..b050874db9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E054.pdf
index f4de9c9b1f..f4de9c9b1f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E055.pdf
index a05639bfd2..a05639bfd2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E056.pdf
index 015f18e06d..015f18e06d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E057.pdf
index c3da1ac56b..c3da1ac56b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E058.pdf
index fac59cd693..fac59cd693 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E058.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E059.pdf
index 45a8ae2bd2..45a8ae2bd2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E060.pdf
index 7a0e488172..7a0e488172 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E061.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E061.pdf
index 2e3b5992b3..2e3b5992b3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E061.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E061.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E062.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E062.pdf
index 69fb85f956..69fb85f956 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E062.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E062.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E063.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E063.pdf
index 5eea8873cc..5eea8873cc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E063.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E063.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E064.pdf
index ad4fdc7034..ad4fdc7034 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E065.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E065.pdf
index 60400eaa5e..60400eaa5e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E065.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E065.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E067.pdf
index 2784052b1b..2784052b1b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E068.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E068.pdf
index 0d74c205c8..0d74c205c8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E068.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E068.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E069.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E069.pdf
index b5e6b2c220..b5e6b2c220 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E069.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E069.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E070.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E070.pdf
index 7554106d64..7554106d64 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_E070.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_E070.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F001.pdf
index 349878fd5f..349878fd5f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F001.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F002.pdf
index 2ba7a82fbc..2ba7a82fbc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F003.pdf
index 54b6f5da2c..54b6f5da2c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F004.pdf
index ed273764db..ed273764db 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F005.pdf
index 1e8a6103e0..1e8a6103e0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F006.pdf
index c9f1f7bccb..c9f1f7bccb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F007.pdf
index b0e5f32cbe..b0e5f32cbe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F008.pdf
index ba9cfa7c4b..ba9cfa7c4b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F009.pdf
index cc4b7f52b0..cc4b7f52b0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F010.pdf
index 785c5f9122..785c5f9122 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F011.pdf
index 12ff257deb..12ff257deb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F012.pdf
index ddd5706419..ddd5706419 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F013.pdf
index 2772821d84..2772821d84 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F014.pdf
index 2aaf0826af..2aaf0826af 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F015.pdf
index cf3ae1c46f..cf3ae1c46f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F016.pdf
index 06ff3352a3..06ff3352a3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F017.pdf
index c9a67b8129..c9a67b8129 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F018.pdf
index 57aa49d669..57aa49d669 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F019.pdf
index a331b56a36..a331b56a36 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_F019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_F019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M001.pdf
index bf8ac9665d..bf8ac9665d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M001.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M002.pdf
index 6fe904c927..6fe904c927 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M003.pdf
index caaddd06b5..caaddd06b5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M004.pdf
index 28795830dc..28795830dc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M005.pdf
index 56aaa82124..56aaa82124 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M006.pdf
index 5da66c41a2..5da66c41a2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M007.pdf
index 5cc9f1a019..5cc9f1a019 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M008.pdf
index e8de5ffce9..e8de5ffce9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M009.pdf
index c915a508c2..c915a508c2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M010.pdf
index 90334f320f..90334f320f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M011.pdf
index 795558d1b5..795558d1b5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M012.pdf
index 33f20feb1a..33f20feb1a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M012.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M013.pdf
index a9133b9fbe..a9133b9fbe 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M014.pdf
index 8731ca26ff..8731ca26ff 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M014.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M015.pdf
index 1e0e1991ba..1e0e1991ba 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M016.pdf
index c301799f8c..c301799f8c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M017.pdf
index 403e4af957..403e4af957 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M018.pdf
index c1684c5612..c1684c5612 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M019.pdf
index 899dc343f7..899dc343f7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M020.pdf
index a05f2f9c28..a05f2f9c28 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M021.pdf
index e8e9b4444b..e8e9b4444b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M022.pdf
index e8c5b7be31..e8c5b7be31 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M022.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M023.pdf
index 422ada6ac3..422ada6ac3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M024.pdf
index 48cf114099..48cf114099 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M025.pdf
index 95cacc24f2..95cacc24f2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M026.pdf
index 96d5a96820..96d5a96820 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M027.pdf
index 57ff5fc421..57ff5fc421 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M028.pdf
index 24fb157422..24fb157422 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M029.pdf
index 8c0888c998..8c0888c998 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M030.pdf
index b23dff04e0..b23dff04e0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M031.pdf
index 58ecb0cda8..58ecb0cda8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M032.pdf
index 7fd3c279dc..7fd3c279dc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M033.pdf
index 5800fc4b44..5800fc4b44 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M033.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M034.pdf
index aed2ce3967..aed2ce3967 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M034.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M035.pdf
index d419f6aeeb..d419f6aeeb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M036.pdf
index b3c84ef022..b3c84ef022 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M037.pdf
index a8088da27f..a8088da27f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M038.pdf
index 32f5f03eab..32f5f03eab 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M039.pdf
index bbe60d2b2c..bbe60d2b2c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M040.pdf
index c5be6a8394..c5be6a8394 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M041.pdf
index 7f6c9cac5b..7f6c9cac5b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M042.pdf
index 240f54561f..240f54561f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M043.pdf
index 3cec333117..3cec333117 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M044.pdf
index c4e9b90c42..c4e9b90c42 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M045.pdf
index e18044d5f1..e18044d5f1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M046.pdf
index 1c7dc014f0..1c7dc014f0 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M047.pdf
index 96c4433dcb..96c4433dcb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M048.pdf
index a738ce3b0c..a738ce3b0c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M049.pdf
index 913fe8388a..913fe8388a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M050.pdf
index c2e3ba295e..c2e3ba295e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M051.pdf
index 841dcfc799..841dcfc799 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M052.pdf
index 5d9fb414b9..5d9fb414b9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M053.pdf
index 3124ec47c6..3124ec47c6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M054.pdf
index e146dadce7..e146dadce7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M055.pdf
index b744fbd6bd..b744fbd6bd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M056.pdf
index 42b1a3d475..42b1a3d475 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M057.pdf
index 8a0fa9e817..8a0fa9e817 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M058.pdf
index d16a09083f..d16a09083f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M058.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M059.pdf
index f97c260b8a..f97c260b8a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M060.pdf
index 373633588c..373633588c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_M060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_M060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P001.pdf
index 4204639a36..4204639a36 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P001.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P002.pdf
index cbff0bd974..cbff0bd974 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P003.pdf
index 3d70a21875..3d70a21875 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P003.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P004.pdf
index 7557ddb6b3..7557ddb6b3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P005.pdf
index 47f4f06543..47f4f06543 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P006.pdf
index d81b6c5e1a..d81b6c5e1a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P007.pdf
index 7ef93afe83..7ef93afe83 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P008.pdf
index 16b5b94fbb..16b5b94fbb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P008.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P009.pdf
index 8aedd6064b..8aedd6064b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P010.pdf
index 494c68d1df..494c68d1df 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P011.pdf
index 42d5f63dde..42d5f63dde 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P012.pdf
index b196406cb8..b196406cb8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P013.pdf
index 6f94e89b1f..6f94e89b1f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P014.pdf
index 40f30b66a3..40f30b66a3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P015.pdf
index 7de907b497..7de907b497 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P016.pdf
index 26f222085e..26f222085e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P017.pdf
index 07dc17d10e..07dc17d10e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P017.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P018.pdf
index 1649aaaed1..1649aaaed1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P019.pdf
index 567db7aa6f..567db7aa6f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P020.pdf
index 1a93bf6a57..1a93bf6a57 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P021.pdf
index 52a3486198..52a3486198 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P022.pdf
index b3221c84d7..b3221c84d7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P022.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P023.pdf
index bc61ff3957..bc61ff3957 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P024.pdf
index cfdcc65602..cfdcc65602 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P025.pdf
index 0f63052829..0f63052829 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P026.pdf
index 14622fd474..14622fd474 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P027.pdf
index 287fa92485..287fa92485 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P027.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P028.pdf
index fbc0e109ac..fbc0e109ac 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P029.pdf
index cb3e49f544..cb3e49f544 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P029.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P030.pdf
index 021c0b9795..021c0b9795 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P031.pdf
index 421ee50f92..421ee50f92 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P032.pdf
index 584f20d8e7..584f20d8e7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P033.pdf
index f7d6e8f944..f7d6e8f944 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P033.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P034.pdf
index d8ee13c5fd..d8ee13c5fd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P034.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P035.pdf
index d42d57242c..d42d57242c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P036.pdf
index 555a6afe24..555a6afe24 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P037.pdf
index 6a6563ca97..6a6563ca97 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P038.pdf
index ddaf05f9ed..ddaf05f9ed 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P039.pdf
index 0a41c0d8b6..0a41c0d8b6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P040.pdf
index bfeec12e1e..bfeec12e1e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P041.pdf
index 6da07255e5..6da07255e5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P042.pdf
index 8a77221585..8a77221585 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P043.pdf
index a4e069ba9a..a4e069ba9a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P044.pdf
index 81cf8f7189..81cf8f7189 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P045.pdf
index 16726e7cf2..16726e7cf2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P046.pdf
index 320c0f6c5d..320c0f6c5d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P047.pdf
index de38a973bd..de38a973bd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P048.pdf
index 30b9137f54..30b9137f54 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P049.pdf
index e7ebbd1202..e7ebbd1202 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P050.pdf
index c0cb30329d..c0cb30329d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P051.pdf
index c4f9032953..c4f9032953 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P052.pdf
index 1aa30711be..1aa30711be 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P053.pdf
index 5e75ac56a2..5e75ac56a2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P054.pdf
index 39fbd4b6af..39fbd4b6af 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P055.pdf
index 561d15386b..561d15386b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P056.pdf
index 2c984d0b7e..2c984d0b7e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P057.pdf
index 886365621e..886365621e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P058.pdf
index e82cdecead..e82cdecead 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P058.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P059.pdf
index 46a6dc0b1c..46a6dc0b1c 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P060.pdf
index b152234d17..b152234d17 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P061.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P061.pdf
index 04327846dd..04327846dd 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P061.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P061.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P062.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P062.pdf
index a3a86b1252..a3a86b1252 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P062.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P062.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P063.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P063.pdf
index bc4e823a18..bc4e823a18 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P063.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P063.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P064.pdf
index feaf4db700..feaf4db700 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P065.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P065.pdf
index f0a3cf25b6..f0a3cf25b6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P065.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P065.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P066.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P066.pdf
index ca0ad4180a..ca0ad4180a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P066.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P066.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P067.pdf
index f8de06dbd8..f8de06dbd8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P068.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P068.pdf
index 9de356ab4d..9de356ab4d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P068.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P068.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P069.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P069.pdf
index 93c6e07dd2..93c6e07dd2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P069.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P069.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P070.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P070.pdf
index 34b973fa36..34b973fa36 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P070.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P070.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P071.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P071.pdf
index 882eec6982..882eec6982 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P071.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P071.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P072.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P072.pdf
index 85c8329f27..85c8329f27 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P072.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P072.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P073.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P073.pdf
index a70fc01368..a70fc01368 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P073.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P073.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P074.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P074.pdf
index b0dcdbdd31..b0dcdbdd31 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P074.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P074.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P075.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P075.pdf
index dbd0eece86..dbd0eece86 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_P075.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_P075.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W001.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W001.pdf
index 93e4ff1096..93e4ff1096 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W001.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W001.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W002.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W002.pdf
index cd4e5efe71..cd4e5efe71 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W002.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W002.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W003.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W003.pdf
index e9718ec0b9..e9718ec0b9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W003.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W003.pdf
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W004.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W004.pdf
index 52821d3ee2..52821d3ee2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W004.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W004.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W005.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W005.pdf
index e0af280633..e0af280633 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W005.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W005.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W006.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W006.pdf
index 5a8cd08340..5a8cd08340 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W006.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W006.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W007.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W007.pdf
index 5aee6b6eeb..5aee6b6eeb 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W007.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W007.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W008.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W008.pdf
index 2279b4802e..2279b4802e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W008.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W008.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W009.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W009.pdf
index 9dda0f4ee9..9dda0f4ee9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W009.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W009.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W010.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W010.pdf
index 8a70dd40fc..8a70dd40fc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W010.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W010.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W011.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W011.pdf
index 5feeebec8d..5feeebec8d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W011.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W011.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W012.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W012.pdf
index fed0023c08..fed0023c08 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W012.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W012.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W013.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W013.pdf
index 22e6c03d15..22e6c03d15 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W013.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W013.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W014.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W014.pdf
index 0ffc581a81..0ffc581a81 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W014.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W014.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W015.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W015.pdf
index 0a8f3c6a98..0a8f3c6a98 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W015.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W015.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W016.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W016.pdf
index 1635032be1..1635032be1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W016.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W016.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W017.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W017.pdf
index e7f3eaa7e3..e7f3eaa7e3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W017.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W017.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W018.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W018.pdf
index f56cfa12f4..f56cfa12f4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W018.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W018.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W019.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W019.pdf
index 37445e7a28..37445e7a28 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W019.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W019.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W020.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W020.pdf
index 1e06b95eab..1e06b95eab 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W020.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W020.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W021.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W021.pdf
index d60016dc80..d60016dc80 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W021.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W021.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W022.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W022.pdf
index bf13211210..bf13211210 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W022.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W022.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W023.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W023.pdf
index d7b080a243..d7b080a243 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W023.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W023.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W024.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W024.pdf
index c1148bf3e6..c1148bf3e6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W024.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W024.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W025.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W025.pdf
index 1f94d88dde..1f94d88dde 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W025.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W025.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W026.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W026.pdf
index b51f591e19..b51f591e19 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W026.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W026.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W027.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W027.pdf
index 299c473c61..299c473c61 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W027.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W027.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W028.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W028.pdf
index 06a2a1730e..06a2a1730e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W028.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W028.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W029.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W029.pdf
index b26c8d242e..b26c8d242e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W029.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W029.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W030.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W030.pdf
index 6991d20397..6991d20397 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W030.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W030.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W031.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W031.pdf
index 3b04fca386..3b04fca386 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W031.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W031.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W032.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W032.pdf
index 874d5d1856..874d5d1856 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W032.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W032.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W033.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W033.pdf
index 954c565b07..954c565b07 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W033.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W033.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W034.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W034.pdf
index e05340bf57..e05340bf57 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W034.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W034.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W035.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W035.pdf
index b519520de2..b519520de2 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W035.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W035.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W036.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W036.pdf
index 8b3c75efa4..8b3c75efa4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W036.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W036.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W037.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W037.pdf
index 82fdb9e25a..82fdb9e25a 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W037.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W037.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W038.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W038.pdf
index 20d7fecebf..20d7fecebf 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W038.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W038.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W039.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W039.pdf
index 1c99515ed9..1c99515ed9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W039.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W039.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W040.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W040.pdf
index 3941b25097..3941b25097 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W040.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W040.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W041.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W041.pdf
index c6416f08ea..c6416f08ea 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W041.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W041.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W042.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W042.pdf
index 9321af66db..9321af66db 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W042.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W042.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W043.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W043.pdf
index 55ead51620..55ead51620 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W043.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W043.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W044.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W044.pdf
index e262f16d1d..e262f16d1d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W044.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W044.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W045.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W045.pdf
index e6d68cba29..e6d68cba29 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W045.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W045.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W046.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W046.pdf
index d1d0f0b781..d1d0f0b781 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W046.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W046.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W047.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W047.pdf
index 10b71d56d7..10b71d56d7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W047.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W047.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W048.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W048.pdf
index ed0b84886f..ed0b84886f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W048.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W048.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W049.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W049.pdf
index 814955db23..814955db23 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W049.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W049.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W050.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W050.pdf
index c2f4bcb9b8..c2f4bcb9b8 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W050.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W050.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W051.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W051.pdf
index b0e7c09dc4..b0e7c09dc4 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W051.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W051.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W052.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W052.pdf
index 9ad59817a5..9ad59817a5 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W052.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W052.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W053.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W053.pdf
index 8013e0e966..8013e0e966 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W053.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W053.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W054.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W054.pdf
index 2b3f5323d9..2b3f5323d9 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W054.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W054.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W055.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W055.pdf
index c61a359de6..c61a359de6 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W055.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W055.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W056.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W056.pdf
index 6f3b502881..6f3b502881 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W056.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W056.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W057.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W057.pdf
index a4e2e379cc..a4e2e379cc 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W057.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W057.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W058.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W058.pdf
index a6cc2f357e..a6cc2f357e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W058.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W058.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W059.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W059.pdf
index 03037b8f9d..03037b8f9d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W059.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W059.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W060.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W060.pdf
index 4947b7f529..4947b7f529 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W060.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W060.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W061.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W061.pdf
index fa0dbad4ee..fa0dbad4ee 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W061.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W061.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W062.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W062.pdf
index 38168b8b90..38168b8b90 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W062.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W062.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W063.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W063.pdf
index 0bc81af20e..0bc81af20e 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W063.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W063.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W064.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W064.pdf
index 75f8625838..75f8625838 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W064.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W064.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W065.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W065.pdf
index f13b05c99f..f13b05c99f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W065.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W065.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W066.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W066.pdf
index 92afceab2f..92afceab2f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W066.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W066.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W067.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W067.pdf
index d891a4bdc7..d891a4bdc7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W067.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W067.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W068.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W068.pdf
index 0da984a06f..0da984a06f 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W068.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W068.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W069.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W069.pdf
index 494ab14531..494ab14531 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W069.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W069.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W070.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W070.pdf
index 4cd988cba7..4cd988cba7 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W070.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W070.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W071.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W071.pdf
index 0e55001c94..0e55001c94 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W071.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W071.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W072.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W072.pdf
index 7b8a9c0839..7b8a9c0839 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W072.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W072.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W073.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W073.pdf
index 0f6f5fcd9b..0f6f5fcd9b 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W073.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W073.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W074.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W074.pdf
index b6ec9d92f3..b6ec9d92f3 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W074.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W074.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W075.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W075.pdf
index 6e8b28d276..6e8b28d276 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W075.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W075.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W076.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W076.pdf
index 32709b9144..32709b9144 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W076.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W076.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W077.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W077.pdf
index db62ce47be..db62ce47be 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W077.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W077.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W078.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W078.pdf
index 867eb1b6c1..867eb1b6c1 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W078.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W078.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W079.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W079.pdf
index 78e325ce3d..78e325ce3d 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W079.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W079.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W080.pdf b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W080.pdf
index b0b0b76b90..b0b0b76b90 100644
--- a/macros/latex/contrib/isosafety/isosafety-pdfs/ISO_7010_W080.pdf
+++ b/macros/latex/contrib/isosafety/tex/isosafety-pdfs/ISO_7010_W080.pdf
Binary files differ
diff --git a/macros/latex/contrib/isosafety/tex/isosafety.sty b/macros/latex/contrib/isosafety/tex/isosafety.sty
new file mode 100644
index 0000000000..852aed35ea
--- /dev/null
+++ b/macros/latex/contrib/isosafety/tex/isosafety.sty
@@ -0,0 +1,49 @@
+%% Copyright (C) 2024 by BenSt099
+%%
+%% 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.
+%%
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{isosafety}
+[2024/08/20 v1.2 ISO Safety Colors And Safety Signs]
+
+\RequirePackage{graphicx}
+\RequirePackage{xcolor}
+\RequirePackage{ifthen}
+\RequirePackage{xkeyval}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\definecolor{Caution}{HTML}{F9A800}
+\definecolor{Warning}{HTML}{D05D29}
+\definecolor{Prohibition}{HTML}{9B2423}
+\definecolor{Mandatory}{HTML}{005387}
+\definecolor{Rescue}{HTML}{237F52}
+\definecolor{Backgrounds}{HTML}{ECECE7}
+\definecolor{Symbol}{HTML}{2B2B2C}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\isosafetypath}{false}
+\DeclareOptionX{fullpath}{\renewcommand{\isosafetypath}{#1}}
+\ProcessOptionsX\relax
+
+\ifthenelse{\equal{\isosafetypath}{false}}
+{\PackageError{isosafety}{Missing key-value option 'fullpath' in usepackage-statement, please see documentation.}{Please provide the full path to this package, usually /texlive/2024/texmf-dist/tex/latex/isosafety}}
+{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\Isosign}[1]{\isosafetypath /isosafety-pdfs/ISO_7010_#1.pdf}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
+%%
+%% End of file `isosafety.sty'. \ No newline at end of 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/jsonparse/README.md b/macros/latex/contrib/jsonparse/README.md
index 69258570db..c4df9ad419 100644
--- a/macros/latex/contrib/jsonparse/README.md
+++ b/macros/latex/contrib/jsonparse/README.md
@@ -1,6 +1,6 @@
-![Version 0.8.3](https://img.shields.io/badge/version-0.8.3-blue)
+![Version 0.8.7](https://img.shields.io/badge/version-0.8.7-blue)
-![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/d6abde3a-fa12-4b63-a213-ad8332e32199)
+![Jason, the JSON parsing horse](https://github.com/jasperhabicht/jsonparse/assets/6378801/ddfddc70-bf5f-4121-ba45-4b9128875d85)
# The `jsonparse` package
@@ -46,5 +46,5 @@ We can store it in the token variable `\myJSONdata` using the command `\JSONPars
This package including all files is subject to the LPPL 1.3c license. Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
-Jason, the JSON parseing horse: Copyright 2024 Hannah Klöber.
+Jason, the JSON parsing horse: Copyright 2024 Hannah Klöber.
diff --git a/macros/latex/contrib/jsonparse/jason/jason.pdf b/macros/latex/contrib/jsonparse/jason/jason.pdf
index 324458e684..44ff3db133 100644
--- a/macros/latex/contrib/jsonparse/jason/jason.pdf
+++ b/macros/latex/contrib/jsonparse/jason/jason.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/jason/jason.svg b/macros/latex/contrib/jsonparse/jason/jason.svg
index fe8793dfa8..aff567e175 100644
--- a/macros/latex/contrib/jsonparse/jason/jason.svg
+++ b/macros/latex/contrib/jsonparse/jason/jason.svg
@@ -1,67 +1,25 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="250px" height="250px" viewBox="0 0 450 450" enable-background="new 0 0 449.5 435" xml:space="preserve">
-<circle fill="#3FA9F5" cx="239" cy="226" r="206.166"/>
-<g>
- <defs>
- <circle id="SVGID_1_" cx="239" cy="226" r="206.166"/>
- </defs>
- <clipPath id="SVGID_2_">
- <use xlink:href="#SVGID_1_" overflow="visible"/>
- </clipPath>
- <path clip-path="url(#SVGID_2_)" fill="#C69C6D" d="M418.334,389.667c0,0-10.334-12.333-36-86.667S344,189.333,333.667,163
- c-5.552-14.149-12.545-22.326-17.83-26.869c7.769-5.957,15.778-13.185,19.83-20.131c6.902-11.834,11.667-24.5,15.667-38.5
- C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5c-1.534,2.754-3.036,5.383-4.538,7.892l-125.587,25.33
- C141.705,137.165,130.648,151.436,126,166c-4.127,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774l12.106,48.851
- l56.113,69.247c13.436-9.009,28.206-20.065,46.512-27.122c13.874-5.348,33.133-8.479,51.113-12.082
- c2.555,6.323,8.828,23.014,11.387,40.332c3.25,22,4.5,91.5,4.5,91.5L418.334,389.667z"/>
- <path clip-path="url(#SVGID_2_)" fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M465.5,307.334
- c0,0-9.667-14.833-21.667-21c-11.409-5.863-24.5-7.167-24.5-7.167s2.853-11.646,11.167-22.833C439.667,244,456,233.667,456,233.667
- l-51.499-17.5c0,0,17.166-6.5,25.166-13.833c9.095-8.336,13.333-30,13.333-30s-47.621,2.806-54.333-15.167
- C383.501,143.333,402.001,114,402.001,114s-27.334-6.333-41.167-6.167c-7.572,0.091-15.827,0.876-22.104,2.556
- c-0.978,1.889-1.986,3.764-3.063,5.611c-4.052,6.946-12.062,14.174-19.83,20.131c5.285,4.543,12.278,12.72,17.83,26.869
- c10.333,26.333,23.001,65.666,48.667,140s36,86.667,36,86.667l32.5-36.5c-15.167-3-22.334-20.5-22.334-20.5L465.5,307.334z"/>
- <path clip-path="url(#SVGID_2_)" fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M234,448.5
- c0,0-1.25-69.5-4.5-91.5c-2.559-17.318-8.832-34.009-11.387-40.332c-0.185,0.037-0.369,0.074-0.554,0.111"/>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.2.2 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width="250px" height="250px" viewBox='-70.503905 -70.50391 452.105105 441.67801'>
+<defs>
+<clipPath id='clip'>
+<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z'/>
+</clipPath>
+</defs>
+<g id='page1'>
+<path d='M361.3402 148.0117C361.3402 261.4457 269.3832 353.4067 155.9452 353.4067C42.5082 353.4067-49.4531 261.4457-49.4531 148.0117C-49.4531 34.5747 42.5082-57.3867 155.9452-57.3867C269.3832-57.3867 361.3402 34.5747 361.3402 148.0117Z' fill='#5ba3de'/>
+<path d='M334.6092 311.0627C334.6092 311.0627 324.3162 298.7777 298.7422 224.7227C273.1762 150.6637 260.5542 111.4807 250.2582 85.2457C244.7262 71.1487 237.7622 62.9997 232.4962 58.4767C240.2342 52.5387 248.2152 45.3397 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031L69.4762 48.4377C59.0122 59.5077 48.0002 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387L-18.0273 208.4097L37.8752 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C98.0352 245.0467 117.2222 241.9297 135.1372 238.3397C137.6832 244.6367 143.9332 261.2657 146.4802 278.5237C149.7192 300.4377 150.9652 369.6797 150.9652 369.6797Z' fill='#ba8d5d' clip-path='url(#clip)'/>
+<path d='M381.6012 229.0387C381.6012 229.0387 371.9692 214.2617 360.0122 208.1167C348.6442 202.2777 335.6052 200.9767 335.6052 200.9767S338.4452 189.3747 346.7302 178.2307C355.8592 165.9457 372.1372 155.6447 372.1372 155.6447L320.8282 138.2107C320.8282 138.2107 337.9292 131.7347 345.8982 124.4297C354.9612 116.1247 359.1832 94.5427 359.1832 94.5427S311.7422 97.3397 305.0512 79.4337C299.9062 65.6527 318.3362 36.4297 318.3362 36.4297S291.1012 30.1167 277.3242 30.2847C269.7812 30.3747 261.5542 31.1567 255.3042 32.8277C254.3282 34.7107 253.3242 36.5817 252.2502 38.4217C248.2152 45.3397 240.2342 52.5387 232.4962 58.4767C237.7622 62.9997 244.7262 71.1487 250.2582 85.2457C260.5542 111.4807 273.1762 150.6637 298.7422 224.7227C324.3162 298.7777 334.6092 311.0627 334.6092 311.0627L366.9882 274.6997C351.8752 271.7107 344.7382 254.2777 344.7382 254.2777Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/>
+<path d='M37.8712 277.3987C51.2622 268.4177 65.9722 257.4067 84.2152 250.3787C108.1682 241.1407 148.2502 238.5427 169.8632 228.6327C191.4762 218.7307 194.1792 185.4067 194.1792 185.4067M150.9652 369.6797C150.9652 369.6797 149.7192 300.4377 146.4802 278.5237C143.9332 261.2657 137.6832 244.6367 135.1332 238.3397C134.9492 238.3747 134.7692 238.4097 134.5862 238.4497M212.7342 71.7967C212.7342 71.7967 242.9532 54.3637 252.2502 38.4217C259.1252 26.6289 263.8752 14.0117 267.8592 .0664C270.2462-8.2969 277.4922-14.0508 277.4922-14.0508S222.6952-27 199.1172 15.3398C197.5862 18.0859 196.0942 20.7031 194.5942 23.2031M69.4762 48.4377C59.0122 59.5077 47.9962 73.7227 43.3672 88.2347C39.2542 101.1167 32.0742 104.1757 17.1289 116.1287C2.1875 128.0857-30.0898 159.7387-30.0898 159.7387' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10' clip-path='url(#clip)'/>
+<path d='M106.4652 1.2266C106.4652 1.2266 105.9652-3.918 96.3322-13.8828C94.6292-15.6484 92.7692-17.0078 90.8672-18.0586C91.1792-11.9961 91.7852-6.9063 92.1642-4.1016C98.3012-4.2969 103.4262-2.5938 106.4652 1.2266Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M96.1722-32.6484C106.4652-33.4766 119.5822-30.9844 125.7222-21.6875C128.7112-24.8398 128.7112-39.9531 128.7112-39.9531S136.2112-20.1836 148.1132-14.75C143.5472-30.8398 127.1132-45.75 120.3282-51.2422C113.3552-56.8906 103.7652-70.50391 103.7652-70.50391S94.8202-59.2109 91.8322-41.6133C91.2892-38.4297 90.9722-35.0938 90.8042-31.7695C92.5002-32.1836 94.2892-32.4961 96.1722-32.6484Z' fill='#ba8d5d' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M184.1722-2.2617C173.5472-11.8906 162.4222-13.0547 153.6172-13.3828C138.5702-13.9531 128.7112-39.9531 128.7112-39.9531S128.7112-24.8398 125.7222-21.6875C119.5822-30.9844 106.4652-33.4766 96.1722-32.6484C81.6252-31.4727 72.2622-21.0234 72.2622-21.0234S86.7072-23.8438 96.3322-13.8828C105.9652-3.918 106.4652 1.2266 106.4652 1.2266C99.3242-7.7422 80.7262-5.082 64.4532 6.543C48.1832 18.1602 52.9962 49.3787 52.9962 49.3787S56.6522 36.5937 73.5862 28.7887C80.1332 25.7734 97.4962 25.1367 97.4962 25.1367S72.7582 25.9687 67.9412 54.8597C65.0472 72.2457 71.5942 87.0707 71.5942 87.0707S73.0902 71.6287 87.8672 62.4957C98.1402 56.1487 109.6212 53.1997 109.6212 53.1997C104.4722 57.0157 106.4652 67.9767 106.4652 67.9767S115.4292 52.8667 139.1722 54.3637C169.5392 56.2737 182.0352 44.1877 194.5942 23.2031C194.0432 17.1289 191.9692 4.8008 184.1722-2.2617Z' fill='#f68623' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M37.8712 277.3987C46.1912 267.0387 57.7072 251.8637 60.5542 243.9027C68.0272 222.9807 59.3082 213.2657 54.5782 206.0427C49.8442 198.8207 57.8122 194.5857 44.6132 181.8827S-8.9336 190.1017-14.4141 187.6137C-19.8945 185.1207-19.3945 181.8827-20.8906 170.9257C-22.3867 159.9647-28.0469 158.7847-37.3281 159.9647C-49.9297 161.5627-55.7617 184.3747-58.9961 200.0667C-62.23437 215.7577-70.503905 215.5117-68.71094 228.9567C-67.86328 235.3317-64.28125 241.8907-52.8711 244.2927C-53.5937 250.0317-53.8047 257.0317-52.5898 264.6597C-49.4414 284.4727-17.918 294.3787 5.5 292.1247C16.2148 291.0977 26.5742 284.9727 37.8712 277.3987Z' fill='#976d46' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M159.6012 113.0977C159.6012 122.6597 150.8982 130.4097 140.1722 130.4097C129.4412 130.4097 120.7462 122.6597 120.7462 113.0977C120.7462 103.5347 129.4412 95.7887 140.1722 95.7887C150.8982 95.7887 159.6012 103.5347 159.6012 113.0977Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M146.6482 115.1327C146.6482 118.9847 143.1172 122.1097 138.7622 122.1097C134.4062 122.1097 130.8712 118.9847 130.8712 115.1327C130.8712 111.2817 134.4062 108.1597 138.7622 108.1597C143.1172 108.1597 146.6482 111.2817 146.6482 115.1327Z' fill='#341a13'/>
+<path d='M-1.9453 215.2187C-1.9453 215.2187 .4883 211.0157 4.1406 206.1677C8.5508 200.3047 16.4766 195.1837 20.4531 194.8357C27.5508 194.2107 32.6052 195.9337 29.7152 201.4997C26.8281 207.0707 17.3984 212.9567 10.4922 213.8907C3.5781 214.8167-1.9453 215.2187-1.9453 215.2187Z' fill='#341a13'/>
+<path d='M-43.0742 245.1407C-43.793 249.6797-44.1641 256.3747-41.0664 260.0897C-36.082 266.0667-26.6211 275.0347-5.1992 262.0817C12.7813 251.2107 35.8402 229.8127 42.7892 223.2227C38.7772 226.3637 28.1367 232.1247 4.0156 231.9457C-22.5469 231.7417-28.8125 244.2577-43.0742 245.1407Z' fill='#fff' stroke='#512c15' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M-52.8711 244.2927C-50.918 244.7027-48.7383 244.9997-46.2969 245.1487C-45.1719 245.2107-44.1055 245.2067-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/>
+<path d='M25.7773 230.1017C9.6211 238.6997-18.1562 252.9177-25.7695 253.2777C-33.0273 253.6167-39.2852 248.5467-42.6719 245.1057C-42.8047 245.1167-42.9375 245.1287-43.0742 245.1407' stroke='#512c15' fill='none' stroke-width='2.9888' stroke-miterlimit='10'/>
</g>
-<path fill="#F7931E" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M267.334,75.167
- C256.668,65.5,245.5,64.333,236.667,64c-15.107-0.57-25-26.667-25-26.667s0,15.167-3,18.333c-6.167-9.333-19.333-11.833-29.667-11
- c-14.596,1.177-24,11.667-24,11.667s14.5-2.833,24.167,7.167c9.667,10,10.167,15.167,10.167,15.167
- c-7.167-9-25.834-6.334-42.167,5.333s-11.5,43-11.5,43s3.667-12.833,20.667-20.667c6.572-3.028,24-3.667,24-3.667
- S155.5,103.5,150.667,132.5c-2.909,17.455,3.667,32.333,3.667,32.333s1.5-15.5,16.333-24.667c10.31-6.371,21.833-9.333,21.833-9.333
- c-5.167,3.833-3.166,14.833-3.166,14.833s9-15.167,32.833-13.667c30.479,1.918,43.022-10.208,55.629-31.275
- C277.24,94.63,275.157,82.257,267.334,75.167z"/>
-<path fill="#A67C52" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.487,355.872
- c8.348-10.395,19.908-25.626,22.763-33.622c7.5-21-1.25-30.75-6-38s3.25-11.5-10-24.25S73.5,268.25,68,265.75S63,260,61.5,249
- s-7.183-12.182-16.5-11c-12.646,1.604-18.5,24.5-21.75,40.25s-11.549,15.507-9.75,29c0.854,6.402,4.447,12.983,15.898,15.396
- c-0.721,5.758-0.935,12.787,0.283,20.442c3.164,19.888,34.804,29.832,58.308,27.572C98.749,369.626,109.143,363.479,120.487,355.872
- z"/>
-<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M189.334,78.667c0,0-0.5-5.167-10.167-15.167
- c-1.713-1.772-3.58-3.135-5.489-4.188c0.317,6.082,0.921,11.189,1.303,14.006C181.138,73.124,186.281,74.833,189.334,78.667z"/>
-<path fill="#C69C6D" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M179,44.667c10.334-0.833,23.5,1.667,29.667,11
- c3-3.167,3-18.333,3-18.333s7.525,19.843,19.471,25.298c-4.58-16.15-21.08-31.12-27.888-36.632
- c-7-5.667-16.625-19.333-16.625-19.333s-8.979,11.333-11.979,29c-0.542,3.195-0.864,6.542-1.031,9.882
- C175.318,45.129,177.115,44.819,179,44.667z"/>
-<ellipse fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" cx="223.167" cy="190.959" rx="19.5" ry="17.375"/>
-<ellipse fill="#42210B" cx="221.751" cy="193" rx="7.917" ry="7"/>
-<path fill="#603813" d="M80.519,293.464c0,0,2.443-4.219,6.106-9.089C91.052,278.49,99.007,273.351,103,273
- c7.125-0.625,12.198,1.105,9.299,6.695S99.936,291.193,93,292.125S80.519,293.464,80.519,293.464z"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M296,149.5c0,0,30.334-17.5,39.667-33.5
- c6.902-11.834,11.667-24.5,15.667-38.5C353.731,69.108,361,63.333,361,63.333s-55-13-78.666,29.5
- c-1.534,2.754-3.036,5.383-4.538,7.892"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M120.488,355.872
- c13.437-9.009,28.207-20.065,46.512-27.122c24.045-9.269,64.273-11.878,85.969-21.821s24.408-43.392,24.408-43.392"/>
-<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M127.5,299.5c0,0-0.749,0.729-2.083,1.995
- C126.919,300.316,127.5,299.5,127.5,299.5z"/>
-<path fill="#FFFFFF" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M39.236,323.495
- c-0.724,4.556-1.093,11.276,2.014,15.005c5,6,14.5,15,36,2c18.048-10.912,41.196-32.388,48.167-39.005
- c-4.023,3.157-14.707,8.937-38.917,8.755C59.839,310.05,53.549,322.611,39.236,323.495z"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M29.398,322.646c1.963,0.413,4.15,0.708,6.602,0.854
- c1.129,0.067,2.202,0.06,3.236-0.005"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M108.345,308.401
- c-16.22,8.63-44.097,22.899-51.74,23.26c-7.288,0.344-13.568-4.744-16.966-8.201c-0.135,0.01-0.266,0.026-0.403,0.035"/>
-<path fill="none" stroke="#603813" stroke-width="3" stroke-miterlimit="10" d="M152.209,126.056
- C141.705,137.165,130.648,151.436,126,166c-4.126,12.93-11.333,16-26.333,28s-47.398,43.774-47.398,43.774"/>
</svg>
diff --git a/macros/latex/contrib/jsonparse/jason/jason.tex b/macros/latex/contrib/jsonparse/jason/jason.tex
new file mode 100644
index 0000000000..28e9eb1b0c
--- /dev/null
+++ b/macros/latex/contrib/jsonparse/jason/jason.tex
@@ -0,0 +1,289 @@
+% File: jason/jason.tex
+% Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.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/.
+%
+% This file is part of the `jsonparse' package (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+\documentclass{standalone}
+\usepackage{l3draw}
+
+\begin{document}
+\ExplSyntaxOn
+
+\color_set:nnn { color_i } { rgb } { 0.356863 , 0.639216 , 0.870588 }
+\color_set:nnn { color_ii } { rgb } { 0.729412 , 0.552941 , 0.364706 }
+\color_set:nnn { color_iii } { rgb } { 0.964706 , 0.52549 , 0.137255 }
+\color_set:nnn { color_iv } { rgb } { 0.592157 , 0.427451 , 0.27451 }
+\color_set:nnn { color_v } { rgb } { 0.317647 , 0.172549 , 0.0823529 }
+\color_set:nnn { color_vi } { rgb } { 0.203922 , 0.101961 , 0.0745098 }
+\color_set:nnn { color_vii } { rgb } { 1 , 1 , 1 }
+
+\draw_begin:
+
+\cs_new:Npn \__jsonparse_jason_path_i: {
+ \draw_path_moveto:n { 433.418 , 221.836 }
+ \draw_path_curveto:nnn { 433.418 , 335.695 } { 341.117 , 428 } { 227.254 , 428 }
+ \draw_path_curveto:nnn { 113.391 , 428 } { 21.086 , 335.695 } { 21.086 , 221.836 }
+ \draw_path_curveto:nnn { 21.086 , 107.973 } { 113.391 , 15.668 } { 227.254 , 15.668 }
+ \draw_path_curveto:nnn { 341.117 , 15.668 } { 433.418 , 107.973 } { 433.418 , 221.836 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_ii: {
+ \draw_path_moveto:n { 406.586 , 385.5 }
+ \draw_path_curveto:nnn { 406.586 , 385.5 } { 396.254 , 373.168 } { 370.586 , 298.836 }
+ \draw_path_curveto:nnn { 344.922 , 224.5 } { 332.254 , 185.168 } { 321.918 , 158.836 }
+ \draw_path_curveto:nnn { 316.367 , 144.684 } { 309.375 , 136.508 } { 304.09 , 131.965 }
+ \draw_path_curveto:nnn { 311.859 , 126.008 } { 319.867 , 118.781 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 }
+ \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 }
+ \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 }
+ \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 }
+ \draw_path_lineto:n { 140.461 , 121.891 }
+ \draw_path_curveto:nnn { 129.957 , 133 } { 118.902 , 147.27 } { 114.254 , 161.836 }
+ \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 }
+ \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 }
+ \draw_path_lineto:n { 52.629 , 282.461 }
+ \draw_path_lineto:n { 108.742 , 351.707 }
+ \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 }
+ \draw_path_curveto:nnn { 169.125 , 319.234 } { 188.387 , 316.105 } { 206.367 , 312.504 }
+ \draw_path_curveto:nnn { 208.922 , 318.824 } { 215.195 , 335.516 } { 217.754 , 352.836 }
+ \draw_path_curveto:nnn { 221.004 , 374.836 } { 222.254 , 444.336 } { 222.254 , 444.336 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_iii: {
+ \draw_path_moveto:n { 453.754 , 303.168 }
+ \draw_path_curveto:nnn { 453.754 , 303.168 } { 444.086 , 288.336 } { 432.086 , 282.168 }
+ \draw_path_curveto:nnn { 420.676 , 276.305 } { 407.586 , 275 } { 407.586 , 275 }
+ \draw_path_curveto:nnn { 407.586 , 275 } { 410.438 , 263.355 } { 418.754 , 252.168 }
+ \draw_path_curveto:nnn { 427.918 , 239.836 } { 444.254 , 229.5 } { 444.254 , 229.5 }
+ \draw_path_lineto:n { 392.754 , 212 }
+ \draw_path_curveto:nnn { 392.754 , 212 } { 409.918 , 205.5 } { 417.918 , 198.168 }
+ \draw_path_curveto:nnn { 427.016 , 189.832 } { 431.254 , 168.168 } { 431.254 , 168.168 }
+ \draw_path_curveto:nnn { 431.254 , 168.168 } { 383.633 , 170.973 } { 376.918 , 153 }
+ \draw_path_curveto:nnn { 371.754 , 139.168 } { 390.254 , 109.836 } { 390.254 , 109.836 }
+ \draw_path_curveto:nnn { 390.254 , 109.836 } { 362.918 , 103.5 } { 349.086 , 103.668 }
+ \draw_path_curveto:nnn { 341.516 , 103.758 } { 333.258 , 104.543 } { 326.984 , 106.223 }
+ \draw_path_curveto:nnn { 326.004 , 108.113 } { 324.996 , 109.988 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 319.867 , 118.781 } { 311.859 , 126.008 } { 304.09 , 131.965 }
+ \draw_path_curveto:nnn { 309.375 , 136.508 } { 316.367 , 144.684 } { 321.918 , 158.836 }
+ \draw_path_curveto:nnn { 332.254 , 185.168 } { 344.922 , 224.5 } { 370.586 , 298.836 }
+ \draw_path_curveto:nnn { 396.254 , 373.168 } { 406.586 , 385.5 } { 406.586 , 385.5 }
+ \draw_path_lineto:n { 439.086 , 349 }
+ \draw_path_curveto:nnn { 423.918 , 346 } { 416.754 , 328.5 } { 416.754 , 328.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_iv: {
+ \draw_path_moveto:n { 255.586 , 71 }
+ \draw_path_curveto:nnn { 244.922 , 61.336 } { 233.754 , 60.168 } { 224.918 , 59.836 }
+ \draw_path_curveto:nnn { 209.812 , 59.266 } { 199.918 , 33.168 } { 199.918 , 33.168 }
+ \draw_path_curveto:nnn { 199.918 , 33.168 } { 199.918 , 48.336 } { 196.918 , 51.5 }
+ \draw_path_curveto:nnn { 190.754 , 42.168 } { 177.586 , 39.668 } { 167.254 , 40.5 }
+ \draw_path_curveto:nnn { 152.656 , 41.68 } { 143.254 , 52.168 } { 143.254 , 52.168 }
+ \draw_path_curveto:nnn { 143.254 , 52.168 } { 157.754 , 49.336 } { 167.418 , 59.336 }
+ \draw_path_curveto:nnn { 177.086 , 69.336 } { 177.586 , 74.5 } { 177.586 , 74.5 }
+ \draw_path_curveto:nnn { 170.418 , 65.5 } { 151.754 , 68.168 } { 135.418 , 79.836 }
+ \draw_path_curveto:nnn { 119.086 , 91.5 } { 123.918 , 122.836 } { 123.918 , 122.836 }
+ \draw_path_curveto:nnn { 123.918 , 122.836 } { 127.586 , 110 } { 144.586 , 102.168 }
+ \draw_path_curveto:nnn { 151.156 , 99.141 } { 168.586 , 98.5 } { 168.586 , 98.5 }
+ \draw_path_curveto:nnn { 168.586 , 98.5 } { 143.754 , 99.336 } { 138.918 , 128.336 }
+ \draw_path_curveto:nnn { 136.012 , 145.789 } { 142.586 , 160.668 } { 142.586 , 160.668 }
+ \draw_path_curveto:nnn { 142.586 , 160.668 } { 144.086 , 145.168 } { 158.918 , 136 }
+ \draw_path_curveto:nnn { 169.23 , 129.629 } { 180.754 , 126.668 } { 180.754 , 126.668 }
+ \draw_path_curveto:nnn { 175.586 , 130.5 } { 177.586 , 141.5 } { 177.586 , 141.5 }
+ \draw_path_curveto:nnn { 177.586 , 141.5 } { 186.586 , 126.336 } { 210.418 , 127.836 }
+ \draw_path_curveto:nnn { 240.898 , 129.754 } { 253.441 , 117.625 } { 266.047 , 96.559 }
+ \draw_path_curveto:nnn { 265.492 , 90.465 } { 263.41 , 78.09 } { 255.586 , 71 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_v: {
+ \draw_path_moveto:n { 108.738 , 351.707 }
+ \draw_path_curveto:nnn { 117.086 , 341.312 } { 128.648 , 326.078 } { 131.504 , 318.086 }
+ \draw_path_curveto:nnn { 139.004 , 297.086 } { 130.254 , 287.336 } { 125.504 , 280.086 }
+ \draw_path_curveto:nnn { 120.754 , 272.836 } { 128.754 , 268.586 } { 115.504 , 255.836 }
+ \draw_path_curveto:nnn { 102.254 , 243.086 } { 61.754 , 264.086 } { 56.254 , 261.586 }
+ \draw_path_curveto:nnn { 50.754 , 259.086 } { 51.254 , 255.836 } { 49.754 , 244.836 }
+ \draw_path_curveto:nnn { 48.254 , 233.836 } { 42.57 , 232.652 } { 33.254 , 233.836 }
+ \draw_path_curveto:nnn { 20.605 , 235.438 } { 14.754 , 258.336 } { 11.504 , 274.086 }
+ \draw_path_curveto:nnn { 8.254 , 289.836 } { -0.047 , 289.59 } { 1.754 , 303.086 }
+ \draw_path_curveto:nnn { 2.605 , 309.484 } { 6.199 , 316.066 } { 17.652 , 318.48 }
+ \draw_path_curveto:nnn { 16.93 , 324.238 } { 16.715 , 331.266 } { 17.934 , 338.922 }
+ \draw_path_curveto:nnn { 21.098 , 358.809 } { 52.738 , 368.754 } { 76.242 , 366.492 }
+ \draw_path_curveto:nnn { 87 , 365.461 } { 97.395 , 359.312 } { 108.738 , 351.707 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_vi: {
+ \draw_path_moveto:n { 108.738 , 351.707 }
+ \draw_path_curveto:nnn { 122.176 , 342.695 } { 136.945 , 331.641 } { 155.254 , 324.586 }
+ \draw_path_curveto:nnn { 179.297 , 315.316 } { 219.527 , 312.707 } { 241.223 , 302.762 }
+ \draw_path_curveto:nnn { 262.918 , 292.82 } { 265.629 , 259.371 } { 265.629 , 259.371 }
+
+ \draw_path_moveto:n { 222.254 , 444.336 }
+ \draw_path_curveto:nnn { 222.254 , 444.336 } { 221.004 , 374.836 } { 217.754 , 352.836 }
+ \draw_path_curveto:nnn { 215.195 , 335.516 } { 208.922 , 318.824 } { 206.363 , 312.504 }
+ \draw_path_curveto:nnn { 206.18 , 312.539 } { 205.996 , 312.574 } { 205.812 , 312.613 }
+
+ \draw_path_moveto:n { 284.254 , 145.336 }
+ \draw_path_curveto:nnn { 284.254 , 145.336 } { 314.586 , 127.836 } { 323.918 , 111.836 }
+ \draw_path_curveto:nnn { 330.82 , 100 } { 335.586 , 87.336 } { 339.586 , 73.336 }
+ \draw_path_curveto:nnn { 341.984 , 64.941 } { 349.254 , 59.168 } { 349.254 , 59.168 }
+ \draw_path_curveto:nnn { 349.254 , 59.168 } { 294.254 , 46.168 } { 270.586 , 88.668 }
+ \draw_path_curveto:nnn { 269.051 , 91.422 } { 267.551 , 94.051 } { 266.047 , 96.559 }
+
+ \draw_path_moveto:n { 140.461 , 121.891 }
+ \draw_path_curveto:nnn { 129.957 , 133 } { 118.898 , 147.27 } { 114.254 , 161.836 }
+ \draw_path_curveto:nnn { 110.125 , 174.766 } { 102.918 , 177.836 } { 87.918 , 189.836 }
+ \draw_path_curveto:nnn { 72.918 , 201.836 } { 40.52 , 233.609 } { 40.52 , 233.609 }
+}
+
+\cs_new:Npn \__jsonparse_jason_path_vii: {
+ \draw_path_moveto:n { 177.586 , 74.5 }
+ \draw_path_curveto:nnn { 177.586 , 74.5 } { 177.086 , 69.336 } { 167.418 , 59.336 }
+ \draw_path_curveto:nnn { 165.707 , 57.562 } { 163.84 , 56.199 } { 161.93 , 55.145 }
+ \draw_path_curveto:nnn { 162.246 , 61.227 } { 162.852 , 66.336 } { 163.234 , 69.152 }
+ \draw_path_curveto:nnn { 169.391 , 68.957 } { 174.535 , 70.668 } { 177.586 , 74.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_viii: {
+ \draw_path_moveto:n { 167.254 , 40.5 }
+ \draw_path_curveto:nnn { 177.586 , 39.668 } { 190.754 , 42.168 } { 196.918 , 51.5 }
+ \draw_path_curveto:nnn { 199.918 , 48.336 } { 199.918 , 33.168 } { 199.918 , 33.168 }
+ \draw_path_curveto:nnn { 199.918 , 33.168 } { 207.445 , 53.012 } { 219.391 , 58.465 }
+ \draw_path_curveto:nnn { 214.809 , 42.316 } { 198.312 , 27.348 } { 191.504 , 21.836 }
+ \draw_path_curveto:nnn { 184.504 , 16.168 } { 174.879 , 2.5 } { 174.879 , 2.5 }
+ \draw_path_curveto:nnn { 174.879 , 2.5 } { 165.898 , 13.836 } { 162.898 , 31.5 }
+ \draw_path_curveto:nnn { 162.355 , 34.695 } { 162.035 , 38.043 } { 161.867 , 41.383 }
+ \draw_path_curveto:nnn { 163.57 , 40.965 } { 165.367 , 40.652 } { 167.254 , 40.5 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_ix: {
+ \draw_path_moveto:n { 230.922 , 186.793 }
+ \draw_path_curveto:nnn { 230.922 , 196.391 } { 222.188 , 204.168 } { 211.422 , 204.168 }
+ \draw_path_curveto:nnn { 200.648 , 204.168 } { 191.922 , 196.391 } { 191.922 , 186.793 }
+ \draw_path_curveto:nnn { 191.922 , 177.195 } { 200.648 , 169.418 } { 211.422 , 169.418 }
+ \draw_path_curveto:nnn { 222.188 , 169.418 } { 230.922 , 177.195 } { 230.922 , 186.793 }
+ \draw_path_close:
+}
+
+\cs_new:Npn \__jsonparse_jason_path_x: {
+ \draw_path_moveto:n { 217.922 , 188.836 }
+ \draw_path_curveto:nnn { 217.922 , 192.699 } { 214.375 , 195.836 } { 210.004 , 195.836 }
+ \draw_path_curveto:nnn { 205.633 , 195.836 } { 202.086 , 192.699 } { 202.086 , 188.836 }
+ \draw_path_curveto:nnn { 202.086 , 184.969 } { 205.633 , 181.836 } { 210.004 , 181.836 }
+ \draw_path_curveto:nnn { 214.375 , 181.836 } { 217.922 , 184.969 } { 217.922 , 188.836 }
+ \draw_path_close:
+}
+
+% nostril
+\cs_new:Npn \__jsonparse_jason_path_xi: {
+ \draw_path_moveto:n { 68.77 , 289.297 }
+ \draw_path_curveto:nnn { 68.77 , 289.297 } { 71.215 , 285.078 } { 74.879 , 280.211 }
+ \draw_path_curveto:nnn { 79.305 , 274.324 } { 87.262 , 269.184 } { 91.254 , 268.836 }
+ \draw_path_curveto:nnn { 98.379 , 268.211 } { 103.449 , 269.938 } { 100.551 , 275.527 }
+ \draw_path_curveto:nnn { 97.652 , 281.117 } { 88.188 , 287.027 } { 81.254 , 287.961 }
+ \draw_path_curveto:nnn { 74.316 , 288.891 } { 68.77 , 289.297 } { 68.77 , 289.297 }
+ \draw_path_close:
+}
+
+% mouth
+\cs_new:Npn \__jsonparse_jason_path_xii: {
+ \draw_path_moveto:n { 27.488 , 319.328 }
+ \draw_path_curveto:nnn { 26.766 , 323.887 } { 26.395 , 330.605 } { 29.504 , 334.336 }
+ \draw_path_curveto:nnn { 34.504 , 340.336 } { 44.004 , 349.336 } { 65.504 , 336.336 }
+ \draw_path_curveto:nnn { 83.551 , 325.422 } { 106.699 , 303.945 } { 113.672 , 297.328 }
+ \draw_path_curveto:nnn { 109.645 , 300.484 } { 98.965 , 306.266 } { 74.754 , 306.086 }
+ \draw_path_curveto:nnn { 48.09 , 305.883 } { 41.801 , 318.445 } { 27.488 , 319.328 }
+ \draw_path_close:
+}
+
+% mouth edge
+\cs_new:Npn \__jsonparse_jason_path_xiii: {
+ \draw_path_moveto:n { 17.652 , 318.48 }
+ \draw_path_curveto:nnn { 19.613 , 318.891 } { 21.801 , 319.188 } { 24.254 , 319.336 }
+ \draw_path_curveto:nnn { 25.383 , 319.402 } { 26.453 , 319.395 } { 27.488 , 319.328 }
+}
+
+% teeth
+\cs_new:Npn \__jsonparse_jason_path_xiv: {
+ \draw_path_moveto:n { 96.598 , 304.234 }
+ \draw_path_curveto:nnn { 80.379 , 312.863 } { 52.5 , 327.137 } { 44.855 , 327.496 }
+ \draw_path_curveto:nnn { 37.57 , 327.84 } { 31.289 , 322.75 } { 27.891 , 319.293 }
+ \draw_path_curveto:nnn { 27.758 , 319.305 } { 27.625 , 319.32 } { 27.488 , 319.328 }
+}
+
+\draw_transform_yscale:n { -1 }
+\draw_linewidth:n { 3pt }
+\draw_miterlimit:n { 10 }
+\color_stroke:n { color_v }
+
+\draw_scope_begin:
+
+ \color_fill:n { color_i }
+ \__jsonparse_jason_path_i:
+ \draw_path_use_clear:n { fill , clip }
+
+ \color_fill:n { color_ii }
+ \__jsonparse_jason_path_ii:
+ \draw_path_use_clear:n { fill }
+
+ \color_fill:n { color_iii }
+ \__jsonparse_jason_path_iii:
+ \draw_path_use_clear:n { fill , draw }
+
+ \__jsonparse_jason_path_vi:
+ \draw_path_use_clear:n { draw }
+
+\draw_scope_end:
+
+\color_fill:n { color_ii }
+\__jsonparse_jason_path_vii:
+\draw_path_use_clear:n { fill , draw }
+
+\__jsonparse_jason_path_viii:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_iii }
+\__jsonparse_jason_path_iv:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_iv }
+\__jsonparse_jason_path_v:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_vii }
+\__jsonparse_jason_path_ix:
+\draw_path_use_clear:n { fill , draw }
+
+\color_fill:n { color_vi }
+\__jsonparse_jason_path_x:
+\draw_path_use_clear:n { fill }
+
+\__jsonparse_jason_path_xi:
+\draw_path_use_clear:n { fill }
+
+\color_fill:n { color_vii }
+\__jsonparse_jason_path_xii:
+\draw_path_use_clear:n { fill , draw }
+
+\__jsonparse_jason_path_xiii:
+\draw_path_use_clear:n { draw }
+
+\__jsonparse_jason_path_xiv:
+\draw_path_use_clear:n { draw }
+
+\draw_end:
+
+\ExplSyntaxOff
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
index ed7a1dded6..e52f8631a0 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.tex b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
index 1cfcde1e18..7e775f7499 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.tex
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\jsonparsefileversion{0.8.3}
-\def\jsonparsefiledate{28 April 2024}
+\def\jsonparsefileversion{0.8.7}
+\def\jsonparsefiledate{8 August 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -193,10 +193,13 @@
\changes{v0.5.7}{2024/04/14}{Bug fixes, key-value option setting added.}
\changes{v0.6.0}{2024/04/15}{Bug fixes, renaming of several commands.}
\changes{v0.7.0}{2024/04/18}{Renaming and rearranging of keys, escaping of special JSON escape sequences added.}
-\changes{v0.7.1}{2024/04/20}{Access to first-level keys of object added.}
+\changes{v0.7.1}{2024/04/20}{Access to top-level keys of object added.}
\changes{v0.8.0}{2024/04/24}{Internal rewrite, escaping procedures changed.}
\changes{v0.8.2}{2024/04/26}{Bug fixes, externalizing parsed data.}
\changes{v0.8.3}{2024/04/28}{Escaping of characters with special meaning in TeX.}
+\changes{v0.8.5}{2024/05/05}{Enhanced key management.}
+\changes{v0.8.6}{2024/05/09}{Bug fix in nesting function.}
+\changes{v0.8.7}{2024/08/08}{Corrections in documentation, error messages.}
\begin{document}
\vspace*{-1cm}
@@ -225,20 +228,22 @@ The package does not load any dependencies.
\end{macrodef}
The package can be loaded with the option \macro{debug}. It will then output to the log file every instance of a string, a boolean (true or false) value, a null value, a number as well as the start and end of every object and the start and end of every array that is found while parsing the JSON string or JSON file.
+This key can be set either as package option or using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
\section{Escaping and special treatment of the input}\label{sec:escaping}
In general, the package reads the JSON source as string, which means that all characters have category code 12 (other), except for spaces which have category code 10 (space). The \macro{\endlinechar} value is set to $-1$. Furthermore, if PDFLaTeX is used, the upper-half of the 8-bit range is set to ``active''. JSON, however, defines a small set of escape sequences and in order to be able to process these, the category code of the backslash is set to 0 (escpape).
JSON strings cannot contain the two characters \macro{"} and \macro{\}. These two characters need to be escaped with a preceding backslash (\macro{\}). This package therefore redefines locally the TeX control symbols \macro{\"}, \macro{\/}, \macro{\\}, \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} and \macro{\u}. These control symbols are prevented from expanding during parsing. For example, \macro{\"} is first defined as \macro{\exp_not:N \"} and only hen typeset, \macro{\"} is expanded to \macro{"}, which ensures that strings are parsed properly.
-Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting keys below in section \ref{sec:settings}.
+Similarly, the control symbol \macro{\/} expands eventually to \macro{/} and \macro{\\} to \macro{\c_backslash_str} (i.\,e. a backslash with category code 12). The escape sequence \macro{\u} followed by a hex value consisting of four digits eventually eventually expands to \macro{\char"} followed by the relevant four hex digits. The JSON escape sequences \macro{\b}, \macro{\f}, \macro{\n}, \macro{\r}, \macro{\t} or \macro{\u} (followed by a hex value) eventually expand to token variables of which the contents can be set using the relevant \macro{replacement} key. See more on setting options below in section \ref{sec:options}.
It is possible to insert TeX macros to the JSON source that will eventually be parsed when typesetting. Backslashes of TeX macros need to be escaped by another backslash. The TeX macros \macro{\"} and \macro{\\} must be escaped twice in the JSON source, so that they become \macro{\\\"} and \macro{\\\\} respectively.
\begin{macrodef}
-|\x|[<token variable name>][<key>]
+|\x|{<token variable name>}{<key>}
\end{macrodef}
-Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by square brackets. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
+Using the control sequence \macro{\x}, it is possible to nest JSON strings into each other. The control sequence takes two arguments delimited by curly braces. The first argument represents the name of the token variable that holds the parsed JSON data where the inserted JSON string should be taken from. The second argument sets the key that should be selected. The following example shows a simple use case:
\begin{codeexamplecolumns}
\JSONParse{\myJSONdataA}{
@@ -246,49 +251,52 @@ Using the control sequence \macro{\x}, it is possible to nest JSON strings into
}
\JSONParse{\myJSONdataB}{
- { "d" : \x[myJSONdataA][a] }
+ { "d" : \x{myJSONdataA}{a} }
}
\JSONParseValue{\myJSONdataB}{d.b}
\end{codeexamplecolumns}
+Note that the control sequence \macro{\x} is replaced by the value exactly. Therefore, if the value happens to be a string, the control sequence \macro{\x} should be placed between quotation marks (\macro{"}) in order for the resulting string to be valid JSON.
+
\begin{macrodef}
-|escape|={<all>}
-|escape|={<none>}
-|escape|={<number sign>}
-|escape|={<dollar sign>}
-|escape|={<percent sign>}
-|escape|={<ampersand>}
-|escape|={<circumflex accent>}
-|escape|={<low line>}
-|escape|={<tilde>}
+|escape|={all}
+|escape|={none}
+|escape|={number sign}
+|escape|={dollar sign}
+|escape|={percent sign}
+|escape|={ampersand}
+|escape|={circumflex accent}
+|escape|={low line}
+|escape|={tilde}
\end{macrodef}
-The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into their relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
+The key \macro{escape} can be used to convert characters that don't require escaping in JSON but in TeX into the relevant TeX escape sequences. Apart from the backslash and curly braces that need to be escaped anyways, these are the number sign, the dollar sign, the percent sign, the ampersand, the circumflex accent, the low line and the tilde. The characters can be selected individually separated by a comma (for example \macro{escape={dollar sign, circumflex accent, low line}}. With \macro{escape={all}}, all escaping sequences are selected, with \macro{escape={none}}, none is selected.
The naming of the relevant characters follows their Unicode names. However, \macro{hash} exists as alias for \macro{number sign}, \macro{dollar} as alias for \macro{dollar sign}, \macro{percent} for \macro{percent sign}, \macro{circumflex} for \macro{circumflex accent} and \macro{underscore} for \macro{low line}.
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
+
\begin{macrodef}
-replacement/|backspace|={<string>}
-replacement/|formfeed|={<string>}
-replacement/|linefeed|={<string>}
-replacement/|carriage return|={<string>}
-replacement/|horizontal tab|={<string>}
+|rescan|
+|rescan|={<boolean>}
\end{macrodef}
-These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement.
+The key \macro{rescan} can be used to activate and deactivate rescanning of the output. This key is active per default. Rescanning converts all tokens to their default category codes and TeX control sequences are expanded before typesetting. Further, during the rescanning process, JSON escape sequences are replaced and characters that don't require escaping in JSON but in TeX are replaced by the relevant TeX escape sequences.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
\section{Main user commands}
\begin{macrodef}
-|\JSONParse|[<file name>]{<token variable>}{<JSON string>}
+|\JSONParse|[<options>]{<token variable>}{<JSON string>}
\end{macrodef}
The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The second argument takes the name of the token variable that is created by the command. The third argument takes the JSON string to be parsed.
For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below).
-The first optinal argument can be used to externalize the parsed JSON data to a file. See more on externalization in section \ref{sec:externalizing} below.
+The first optional argument can be used to pass options to the command that are then applied locally.
\begin{macrodef}
-|\JSONParseFromFile|[<file name>]{<token variable>}{<JSON file>}
+|\JSONParseFromFile|[<options>]{<token variable>}{<JSON file>}
\end{macrodef}
The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as third argument the path to the JSON file relative to the working directory.
@@ -298,8 +306,7 @@ The command \macro{\JSONParseFromFile} is used to parse a JSON file and store th
The command \macro{\JSONParseKeys} is used to store all top-level keys of a parsed JSON object as array into a token variable. The command takes as first argument the token variable that holds the parsed JSON data. The second argument takes the token variable that is assigned a JSON array containing the top-level keys of the object represented by the token variable in the first argument. The token variable to store the keys as array is created if it does not exist.
\begin{macrodef}
-|\JSONParseValue|{<token variable>}{<key>}
-|\JSONParseValue*|{<token variable>}{<key>}
+|\JSONParseValue|[<options>]{<token variable>}{<key>}
|\JSONParseExpandableValue|{<token variable>}{<key>}
\end{macrodef}
The command \macro{\JSONParseValue} is used to select values from the token variable (property list) that has been created using the commands \macro{\JSONParse} or \macro{\JSONParseFromFile}. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax.
@@ -308,15 +315,14 @@ If the JSON string \macro{{ "key" : "value" }} is parsed into the token variable
Nested objects and arrays are assigned keys that adhere to JavaScript syntax. For example, if the JSON string \macro{{ "outer_key" : { "inner_key" : "value" } }} is parsed into the token variable \macro{\myJSONdata}, to select the value associated with the key \macro{inner_key}, the command \macro{\JSONParseValue{\myJSONdata}{outer_key.inner_key}} can be used. To give an example for an array, the command \macro{\JSONParseValue{\myJSONdata}{key[0]}} selects the first value of the array associated with the key \macro{key} in the JSON string \macro{{ "key" : [ "one" , "two" ] }}.
-The non-starred variant of this command, \macro{\JSONParseValue}, rescans the token list before it is typeset (which means that all category codes that may have been changed before are set to the default values). The starred variant, \macro{\JSONParseValue*}, does not rescan the ouput. The non-starred variants of this and similar commands should therefore not be placed in a \macro{\JSONParse} command.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally. When the option \macro{rescan} is used, the token list is rescanned before it is typeset (which means that all category codes that may have been changed before are set to the default values). This is the default behaviour. If rescanning is not desired, pass the option \macro{rescan=false} to the command.
When a key is associated with an object or array, the whole object or array is output as JSON string. The special key \macro{.} (or the string defined using the key \macro{child sep}) returns the whole JSON object as string.
Whole objects or arrays can also be output as JSON string for further use in other macros using the expandable command \macro{\JSONParseExpandableValue}.
\begin{macrodef}
-|\JSONParseArrayValues|{<token variable>}{<key>}[<subkey>]{<string>}
-|\JSONParseArrayValues*|{<token variable>}{<key>}[<subkey>]{<string>}
+|\JSONParseArrayValues|[<options>]{<token variable>}{<key>}[<subkey>]{<string>}
\end{macrodef}
The command \macro{\JSONParseArrayValues} is used to select all values from an array from a parsed JSON string or JSON file. The first argument takes the token variable that holds the parsed JSON data. The second argument takes the key to select the relevant entry from the parsed JSON data using JavaScript syntax. The third argument is optional and can be used to pass a subkey, i.\,e. a key that is used to select a value for every item. The last argument takes a string that is inserted between all values when they are typeset.
@@ -339,11 +345,11 @@ For example, let us assume the following JSON data structure is parsed into the
Then, when using \macro{\JSONParseArrayValues{\myJSONdata}{array}[key_a]{, }}, `one, three' is typeset to the document.
-The starred variant, \macro{\JSONParseArrayValues*}, does not rescan the token lists before they are typeset.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally.
\begin{macrodef}
-|\JSONParseArrayValuesMap|{<token variable>}{<key>}[<subkey>]{<command name>}
-|\JSONParseArrayValuesMap*|{<token variable>}{<key>}[<subkey>]{<command name>}
+|\JSONParseArrayValuesMap|[<options>]{<token variable>}{<key>}[<subkey>]
+ {<command name>}
\end{macrodef}
The command \macro{\JSONParseArrayValuesMap} takes the same first three arguments as the command \macro{\JSONParseArrayValues} and works in a similar way. However, instead of a string that is added between the array items, it takes a command name as fourth argument. This command can be defined beforehand and will be called for every array item. Inside its definition, the commands \macro{\JSONParseArrayIndex}, \macro{\JSONParseArrayKey} and \macro{\JSONParseArrayValue} can be used which are updated for each item and output the index, the key and the value of the current item respectively.
@@ -362,7 +368,7 @@ For example, let us assume the same JSON data structure as defined above parsed
\end{itemize}
\end{codeexamplecolumns}
-The starred variant, \macro{\JSONParseArrayValuesMap*}, does not rescan the token lists before they are typeset.
+The first optional argument can be used to pass options to the command, such as \macro{escape} or \macro{rescan}, that are then applied locally.
\begin{macrodef}
|\JSONParseArrayCount|{<token variable>}{<key>}
@@ -371,45 +377,89 @@ The command \macro{\JSONParseArrayCount} takes as first argument a token variabl
\subsection{Externalising parsed JSON data}\label{sec:externalizing}
-Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. The first opional argument of the commands \macro{\JSONParse} and \macro{\JSONParseFromFile} can be used to provide the name of a file (without file extension) that will be created in the working directory and which stores the relevant information. The file name will have the extension \macro{.jsonparse}. If a file with the same name and file extension already exists, an error will be issued. Once the file has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. Once a file for externalization has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+
+\begin{macrodef}
+|externalize|
+|externalize|={<boolean>}
+\end{macrodef}
+With the key \macro{externalize} set (or set to true), a file will be created in the working directory that stores the externalization of the parsed JSON data. The file name gets the extension \macro{.jsonparse}. The file name is created automatically and consists of the name of the current file followed by an underscore and the name of the token variable where the JSON data is stored into. If a file with the same name and file extension already exists, an error will be issued.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
+\begin{macrodef}
+|externalize prefix|={<string>}
+\end{macrodef}
+With the key \macro{externalize prefix}, a prefix can be defined that is added to the file name. Per default this is an empty string.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
+
+\begin{macrodef}
+|externalize file name|={<token list>}
+\end{macrodef}
+The key \macro{externalize file name} sets the schema for the file name. The default schema is as follows:
+
+\begin{codeexample}
+\l_jsonparse_externalize_prefix_str \c_sys_jobname_str
+ \c_underscore_str \l_jsonparse_current_prop_str
+\end{codeexample}
+
+The token variable \macro{\l_jsonparse_externalize_prefix_str} contains the prefix that is set using the key \macro{externalize prefix}. \macro{\c_sys_jobname_str} holds the name of the current file (the current job name), \macro{\c_underscore_str} is an underscore and the token variable \macro{\l_jsonparse_current_prop_str} contains the name of the property list where the relevant JSON data is stored into.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
|\JSONParsePut|{<token variable>}{<key>}[<JSON string>]
\end{macrodef}
The command \macro{\JSONParsePut} is used by the externalization procedure to re-read already parsed JSON data to the main file. It just adds a key-value pair to the property list (where the value part is read as string). Hence, it can also be used to append more entries to an already existing property list containing parsed JSON data.
-\subsection{Changing separators, output and other settings}\label{sec:settings}
+\subsection{Changing separators, output and other options}\label{sec:options}
The package provides a set of keys can be set to change the separators used to select the relevant value in the JSON structure, the output that is generated from the JSON data as well as other things.
\begin{macrodef}
-|\JSONParseSet|{<key-value list>}
+|\JSONParseSet|{<options>}
\end{macrodef}
-The commands \macro{\JSONParseSet} can be used to specify settings via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. The following keys are available:
+The commands \macro{\JSONParseSet} can be used to specify options via key-value pairs (separated by commas). Keys that are presented here as a subkey (i.\,e. preceded by another key and a slash) can also be set using the syntax \macro{key={subkey}} and multiple subkeys belonging to one key can be combined using a comma as separator. Several user commands allow to pass keys directly which are then applied locally. The following keys are available:
\begin{macrodef}
separator/|child|={<string>}
+separator/|array left|={<string>}
+separator/|array right|={<string>}
\end{macrodef}
-With the key \macro{child sep}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
+With the key \macro{separator/child}, the separator for child objects that is used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the child separator is a dot (\macro{.}). Changing the separator can be useful if keys in the JSON structure already use these characters.
+
+With the keys \macro{separator/array left} and \macro{separator/array right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters. Changing these separators to curly braces (\macro{{}}) is not supported due to their grouping function in TeX.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-separator/|array left|={<string>}
-separator/|array right|={<string>}
+|zero-based|
+|zero-based|={<boolean>}
\end{macrodef}
-With the keys \macro{array sep left} and \macro{array sep right}, the separators for arrays that are used in the syntax to select a specific value in the JSON data structure can be changed. Per default, the separators are square brackets (\macro{[} and \macro{]}). Changing the separators can be useful if keys in the JSON structure already use these characters.
+If set (or explicitly set to \macro{true}), the key \macro{zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+
+This key can be set using \macro{\JSONParseSet}. It can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-replacement/|true|={<string>}
-replacement/|false|={<string>}
-replacement/|null|={<string>}
+replace/|true|={<string>}
+replace/|false|={<string>}
+replace/|null|={<string>}
\end{macrodef}
-With the keys \macro{true}, \macro{false} and \macro{null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement.
+With the keys \macro{replace/true}, \macro{replace/false} and \macro{replace/null}, the string that is typeset for true, false and null values can be changed. The default strings that are typeset are \macro{true}, \macro{false} and \macro{null} respectively. Only strings can be used as replacement. These replacements take place already during parsing.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParse} and \macro{\JSONParseFromFile}.
\begin{macrodef}
-|array index zero-based|
-|array index zero-based|={<boolean>}
+replace/|backspace|={<string>}
+replace/|formfeed|={<string>}
+replace/|linefeed|={<string>}
+replace/|carriage return|={<string>}
+replace/|horizontal tab|={<string>}
\end{macrodef}
-If set (or explicitly set to \macro{true}), the key \macro{array index zero-based} sets the numbering of the index of array items to zero-based. If set to false, the indexing starts with one instead. Per default, the package uses zero-based indexing to resemble JavaScript notation.
+These keys can be used to set the replacement text for the JSON escape sequences \macro{\b} (backspace), \macro{\f} (formfeed), \macro{\n} (linefeed), \macro{\r} (carriage return) and \macro{\t} (horizontal tab). The default replacement string is a space. Only strings can be used as replacement. These replacements take place only during typesetting.
+
+These keys can be set using \macro{\JSONParseSet}. They can also be set locally as option to the commands \macro{\JSONParseValue}, \macro{\JSONParseArrayValues} and \macro{\JSONParseArrayValuesMap}.
\subsection{L3 commands}
diff --git a/macros/latex/contrib/jsonparse/jsonparse.sty b/macros/latex/contrib/jsonparse/jsonparse.sty
index 680e89bfca..514064d92a 100644
--- a/macros/latex/contrib/jsonparse/jsonparse.sty
+++ b/macros/latex/contrib/jsonparse/jsonparse.sty
@@ -10,15 +10,16 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {jsonparse} {2024-04-28} {0.8.3}
+\ProvidesExplPackage {jsonparse} {2024-08-08} {0.8.7}
{JSON Parse}
\bool_new:N \l__jsonparse_debug_mode_bool
-\keys_define:nn { jsonparse } {
+\keys_define:nn { jsonparse / global } {
debug .bool_set:N = \l__jsonparse_debug_mode_bool ,
debug .default:n = { true } ,
+ debug .initial:n = { false }
}
-\ProcessKeyOptions [ jsonparse ]
+\ProcessKeyOptions [ jsonparse / global ]
\msg_new:nnn { jsonparse } { debug-info } {
#1
@@ -43,7 +44,7 @@
\msg_new:nnn { jsonparse } { file-exists } {
\msg_error_text:n { jsonparse } \iow_newline:
- File ~ #1 ~ already ~ existing.
+ File ~ #1 ~ already ~ existing.
}
\msg_new:nnn { jsonparse } { escape-in-key } {
@@ -56,6 +57,11 @@
Escape ~ character ~ #1 ~ not ~ found.
}
+\msg_new:nnn { jsonparse } { unknown-key } {
+ \msg_warning_text:n { jsonparse } \iow_newline:
+ Ignoring ~ unknown ~ key: ~ #1.
+}
+
\msg_new:nnn { jsonparse } { saving-external } {
\msg_info_text:n { jsonparse } \iow_newline:
Saving ~ external ~ file: ~ #1.
@@ -67,14 +73,21 @@
}
% ===
-
+
+\str_new:N \l_jsonparse_externalize_prefix_str
+\str_new:N \l_jsonparse_current_prop_str
+
+\tl_new:N \l__jsonparse_externalize_file_name_tl
+
\str_new:N \l__jsonparse_child_sep_str
\str_new:N \l__jsonparse_array_sep_left_str
\str_new:N \l__jsonparse_array_sep_right_str
\str_new:N \l__jsonparse_true_str
\str_new:N \l__jsonparse_false_str
\str_new:N \l__jsonparse_null_str
-\bool_new:N \l__jsonparse_array_index_zero_based_bool
+\bool_new:N \l__jsonparse_zero_based_bool
+\bool_new:N \l__jsonparse_rescan_bool
+\bool_new:N \l__jsonparse_externalize_bool
\str_new:N \l__jsonparse_backspace_str
\str_new:N \l__jsonparse_formfeed_str
@@ -82,6 +95,8 @@
\str_new:N \l__jsonparse_carriage_return_str
\str_new:N \l__jsonparse_horizontal_tab_str
+\clist_new:N \l__jsonparse_unused_keys_clist
+
\clist_new:N \l__jsonparse_escape_tex_chars_clist
\clist_set:Nn \l__jsonparse_escape_tex_chars_clist {
number_sign ,
@@ -98,35 +113,48 @@
\bool_new:c { l__jsonparse_escape_ #1 _bool }
}
-\keys_define:nn { jsonparse } {
- array ~ index ~ zero-based .bool_set:N = \l__jsonparse_array_index_zero_based_bool ,
- array ~ index ~ zero-based .default:n = { true } ,
- array ~ index ~ zero-based .initial:n = { true } ,
- separator .code:n = { \keys_set:nn { jsonparse / separator } {#1} },
- separator / child .str_set:N = \l__jsonparse_child_sep_str ,
- separator / child .initial:n = { . } ,
- separator / array ~ left .str_set:N = \l__jsonparse_array_sep_left_str ,
- separator / array ~ left .initial:n = { [ } ,
- separator / array ~ right .str_set:N = \l__jsonparse_array_sep_right_str ,
- separator / array ~ right .initial:n = { ] } ,
- replacement .code:n = { \keys_set:nn { jsonparse / replacement } {#1} },
- replacement / true .str_set:N = \l__jsonparse_true_str ,
- replacement / true .initial:n = { true } ,
- replacement / false .str_set:N = \l__jsonparse_false_str ,
- replacement / false .initial:n = { false } ,
- replacement / null .str_set:N = \l__jsonparse_null_str ,
- replacement / null .initial:n = { null } ,
- replacement / backspace .str_set:N = \l__jsonparse_backspace_str ,
- replacement / backspace .initial:n = { ~ } ,
- replacement / formfeed .str_set:N = \l__jsonparse_formfeed_str ,
- replacement / formfeed .initial:n = { ~ } ,
- replacement / linefeed .str_set:N = \l__jsonparse_linefeed_str ,
- replacement / linefeed .initial:n = { ~ } ,
- replacement / carriage ~ return .str_set:N = \l__jsonparse_carriage_return_str ,
- replacement / carriage ~ return .initial:n = { ~ } ,
- replacement / horizontal ~ tab .str_set:N = \l__jsonparse_horizontal_tab_str ,
- replacement / horizontal ~ tab .initial:n = { ~ } ,
- escape .code:n = {
+\keys_define:nn { jsonparse / parse } {
+ externalize .bool_set:N = \l__jsonparse_externalize_bool ,
+ externalize .default:n = { true } ,
+ externalize .initial:n = { false } ,
+ externalize ~ prefix .str_set:N = \l_jsonparse_externalize_prefix_str ,
+ externalize ~ prefix .initial:n = { } ,
+ externalize ~ file ~ name .tl_set:N = \l__jsonparse_externalize_file_name_tl ,
+ externalize ~ file ~ name .initial:n = {
+ \l_jsonparse_externalize_prefix_str \c_sys_jobname_str \c_underscore_str \l_jsonparse_current_prop_str
+ } ,
+ separator .code:n = { \keys_set:nn { jsonparse / parse / separator } {#1} } ,
+ separator / child .str_set:N = \l__jsonparse_child_sep_str ,
+ separator / child .initial:n = { . } ,
+ separator / array ~ left .str_set:N = \l__jsonparse_array_sep_left_str ,
+ separator / array ~ left .initial:n = { [ } ,
+ separator / array ~ right .str_set:N = \l__jsonparse_array_sep_right_str ,
+ separator / array ~ right .initial:n = { ] } ,
+ zero-based .bool_set:N = \l__jsonparse_zero_based_bool ,
+ zero-based .default:n = { true } ,
+ zero-based .initial:n = { true } ,
+ replace .code:n = { \keys_set:nn { jsonparse / parse / replace } {#1} } ,
+ replace / true .str_set:N = \l__jsonparse_true_str ,
+ replace / true .initial:n = { true } ,
+ replace / false .str_set:N = \l__jsonparse_false_str ,
+ replace / false .initial:n = { false } ,
+ replace / null .str_set:N = \l__jsonparse_null_str ,
+ replace / null .initial:n = { null }
+}
+
+\keys_define:nn { jsonparse / typeset } {
+ replace .code:n = { \keys_set:nn { jsonparse / typeset / replace } {#1} } ,
+ replace / backspace .str_set:N = \l__jsonparse_backspace_str ,
+ replace / backspace .initial:n = { ~ } ,
+ replace / formfeed .str_set:N = \l__jsonparse_formfeed_str ,
+ replace / formfeed .initial:n = { ~ } ,
+ replace / linefeed .str_set:N = \l__jsonparse_linefeed_str ,
+ replace / linefeed .initial:n = { ~ } ,
+ replace / carriage ~ return .str_set:N = \l__jsonparse_carriage_return_str ,
+ replace / carriage ~ return .initial:n = { ~ } ,
+ replace / horizontal ~ tab .str_set:N = \l__jsonparse_horizontal_tab_str ,
+ replace / horizontal ~ tab .initial:n = { ~ } ,
+ escape .code:n = {
\str_case:nnF {#1} {
{ all } {
\clist_map_inline:Nn \l__jsonparse_escape_tex_chars_clist {
@@ -168,11 +196,27 @@
}
}
}
+ } ,
+ escape .groups:n = { output } ,
+ rescan .bool_set:N = \l__jsonparse_rescan_bool ,
+ rescan .default:n = { true } ,
+ rescan .initial:n = { true } ,
+ rescan .groups:n = { output }
+}
+
+\cs_new:Npn \__jsonparse_warning_unused_keys: {
+ \clist_map_inline:Nn \l__jsonparse_unused_keys_clist {
+ \msg_warning:nne { jsonparse } { unknown-key } {
+ ##1
+ }
}
}
\NewDocumentCommand { \JSONParseSet } { m } {
- \keys_set:nn { jsonparse } {#1}
+ \keys_set_known:nnN { jsonparse / global } {#1} \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / parse } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / typeset } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
}
% ===
@@ -181,6 +225,7 @@
\cs_new:Npn \str_casefold:n { \str_foldcase:n }
}
+\cs_generate_variant:Nn \file_input:n { e }
\cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nne }
\cs_generate_variant:Nn \tl_range:nnn { nne , nen }
\cs_generate_variant:Nn \tl_range:Nnn { Nne , Nen }
@@ -193,14 +238,20 @@
\cs_generate_variant:Nn \str_case_e:nn { en }
\cs_generate_variant:Nn \str_casefold:n { o }
\cs_generate_variant:Nn \str_head_ignore_spaces:n { o }
+\cs_generate_variant:Nn \str_set:Nn { Ne }
\cs_generate_variant:Nn \prop_gput:Nnn { Nee }
\cs_generate_variant:Nn \prop_item:Nn { Ne , ce }
\cs_generate_variant:Nn \prop_put:Nnn { Nen , Nee }
+\cs_generate_variant:Nn \keys_set_known:nnN { noN }
\cs_generate_variant:Nn \iow_now:Nn { Ne }
+\cs_generate_variant:Nn \iow_open:Nn { Ne }
\cs_generate_variant:Nn \msg_error:nnn { nno }
\cs_generate_variant:Nn \msg_error:nnnn { nnoo }
+\cs_generate_variant:Nn \msg_info:nnn { nne }
\cs_generate_variant:Nn \msg_log:nnn { nne }
+\cs_generate_variant:Nn \msg_warning:nnn { nne }
+\prg_generate_conditional_variant:Nnn \file_if_exist:n { e } { T , TF }
\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { en } { T }
\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN { oN } { T , TF }
\prg_generate_conditional_variant:Nnn \tl_if_in:nn { nV } { F }
@@ -224,7 +275,7 @@
\int_new:N \l__jsonparse_array_count_last_int
\bool_new:N \l__jsonparse_prop_map_first_bool
-\bool_new:N \l__jsonparse_load_external_bool
+\bool_new:N \l__jsonparse_externalize_load_bool
\ior_new:N \l__jsonparse_json_ior
\iow_new:N \g__jsonparse_externalize_iow
@@ -366,10 +417,10 @@
\bool_if:NT \l__jsonparse_debug_mode_bool {
\msg_log:nnn { jsonparse } { debug-info } {
(arr ~ begin)
- }
+ }
}
\int_zero:N \l__jsonparse_array_index_int
- \bool_if:NT \l__jsonparse_array_index_zero_based_bool {
+ \bool_if:NT \l__jsonparse_zero_based_bool {
\int_decr:N \l__jsonparse_array_index_int
}
\tl_set_eq:NN \l__jsonparse_object_array_key_tl \l__jsonparse_key_tl
@@ -412,7 +463,7 @@
\tl_if_head_eq_charcode:oNTF { \l__jsonparse_remainder_tl } : {
\tl_remove_once:NV \l__jsonparse_remainder_tl \c_colon_str
\tl_set:Ne \l__jsonparse_key_tl { \l__jsonparse_prefix_tl #1 }
- } {
+ } {
\tl_set:Nn \l__jsonparse_val_tl {#1}
\prop_gput:Nee \g_jsonparse_entries_prop
{ \l__jsonparse_key_tl } { \l__jsonparse_val_tl }
@@ -515,7 +566,7 @@
\tl_if_empty:NF \l__jsonparse_remainder_tl {
\exp_args:No \jsonparse_parse:n { \l__jsonparse_remainder_tl }
}
-}
+}
\cs_new_protected:Npn \jsonparse_filter:Nn #1#2 {
\prop_clear:N \l__jsonparse_temp_prop
@@ -542,98 +593,117 @@
\prop_if_exist:NF #1 {
\prop_new:N #1
}
- \prop_gput:Nnn #1 { #2 } { #3 }
+ \prop_gput:Nnn #1 {#2} {#3}
}
\cs_new:Npn \__jsonparse_externalize:Nn #1#2 {
- \file_if_exist:nTF {#2} {
- \msg_error:nnn { jsonparse } { file-exists }
+ \file_if_exist:eTF {#2} {
+ \msg_error:nne { jsonparse } { file-exists }
{#2}
} {
- \iow_open:Nn \g__jsonparse_externalize_iow {#2}
+ \iow_open:Ne \g__jsonparse_externalize_iow {#2}
\prop_map_inline:Nn #1 {
\iow_now:Nn \g__jsonparse_externalize_iow {
\JSONParsePut {#1} {##1} {##2}
}
}
\iow_close:N \g__jsonparse_externalize_iow
- \msg_info:nnn { jsonparse } { saving-external }
+ \msg_info:nne { jsonparse } { saving-external }
{#2}
}
}
% ===
-\NewDocumentCommand { \JSONParse } { o m +v } {
- \bool_set_false:N \l__jsonparse_load_external_bool
- \tl_if_novalue:nF {#1} {
- \file_if_exist:nT { #1 .jsonparse } {
- \bool_set_true:N \l__jsonparse_load_external_bool
- }
+\cs_new:Npn \__json_nested_construct_cs:Nnn #1 #2 #3 {
+ \cs_set:Npn #1 #2 ##1 #3 #2 ##2 #3 {
+ \prop_item:ce {##1} {##2}
}
- \bool_if:NTF \l__jsonparse_load_external_bool {
- \msg_info:nnn { jsonparse } { loading-external }
- { #1 .jsonparse }
- \file_input:n { #1 .jsonparse }
- } {
- \prop_new:N #2
- \tl_gclear:N \g__jsonparse_json_tl
- \group_begin:
- \cs_set:Npn \" { \exp_not:N \" }
- \cs_set:Npn \/ { \exp_not:N \/ }
- \cs_set:Npn \\ { \exp_not:N \\ }
- \cs_set:Npn \b { \exp_not:N \b }
- \cs_set:Npn \f { \exp_not:N \f }
- \cs_set:Npn \n { \exp_not:N \n }
- \cs_set:Npn \r { \exp_not:N \r }
- \cs_set:Npn \t { \exp_not:N \t }
- \cs_set:Npn \u { \exp_not:N \u }
- \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
- \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#3}
- \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
- \group_end:
- \tl_if_novalue:nF {#1} {
- \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+}
+\cs_generate_variant:Nn \__json_nested_construct_cs:Nnn { Noo }
+
+\NewDocumentCommand { \JSONParse } { O{} m +v } {
+ \group_begin:
+ \str_set:Ne \l_jsonparse_current_prop_str { \cs_to_str:N #2 }
+ \keys_set_known:nnN { jsonparse / global } {#1} \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / parse } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
+ \bool_set_false:N \l__jsonparse_externalize_load_bool
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \file_if_exist:eT { \l__jsonparse_externalize_file_name_tl .jsonparse } {
+ \bool_set_true:N \l__jsonparse_externalize_load_bool
+ }
}
- }
+ \bool_if:NTF \l__jsonparse_externalize_load_bool {
+ \msg_info:nne { jsonparse } { loading-external }
+ { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ \file_input:e { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \__json_nested_construct_cs:Noo \x \c_left_brace_str \c_right_brace_str
+ \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#3}
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \__jsonparse_externalize:Nn #2 { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ }
+ }
+ \group_end:
}
-\NewDocumentCommand { \JSONParseFromFile } { o m m } {
+\NewDocumentCommand { \JSONParseFromFile } { O{} m m } {
\file_if_exist:nF {#3} {
\msg_error:nnn { jsonparse } { file-not-found }
{#3}
}
- \bool_set_false:N \l__jsonparse_load_external_bool
- \tl_if_novalue:nF {#1} {
- \file_if_exist:nT { #1 .jsonparse } {
- \bool_set_true:N \l__jsonparse_load_external_bool
+ \group_begin:
+ \str_set:Ne \l_jsonparse_current_prop_str { \cs_to_str:N #2 }
+ \keys_set_known:nnN { jsonparse / global } {#1} \l__jsonparse_unused_keys_clist
+ \keys_set_known:noN { jsonparse / parse } { \l__jsonparse_unused_keys_clist } \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
+ \bool_set_false:N \l__jsonparse_externalize_load_bool
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \file_if_exist:eT { \l__jsonparse_externalize_file_name_tl .jsonparse } {
+ \bool_set_true:N \l__jsonparse_externalize_load_bool
+ }
}
- }
- \bool_if:NTF \l__jsonparse_load_external_bool {
- \msg_info:nnn { jsonparse } { loading-external }
- { #1 .jsonparse }
- \file_input:n { #1 .jsonparse }
- } {
- \prop_new:N #2
- \tl_gclear:N \g__jsonparse_json_tl
- \group_begin:
- \cs_set:Npn \" { \exp_not:N \" }
- \cs_set:Npn \/ { \exp_not:N \/ }
- \cs_set:Npn \\ { \exp_not:N \\ }
- \cs_set:Npn \b { \exp_not:N \b }
- \cs_set:Npn \f { \exp_not:N \f }
- \cs_set:Npn \n { \exp_not:N \n }
- \cs_set:Npn \r { \exp_not:N \r }
- \cs_set:Npn \t { \exp_not:N \t }
- \cs_set:Npn \u { \exp_not:N \u }
- \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
- \file_get:nnN {#3} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
- \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
- \group_end:
- \tl_if_novalue:nF {#1} {
- \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+ \bool_if:NTF \l__jsonparse_externalize_load_bool {
+ \msg_info:nne { jsonparse } { loading-external }
+ { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ \file_input:e { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
+ \file_get:nnN {#3} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \bool_if:NT \l__jsonparse_externalize_bool {
+ \__jsonparse_externalize:Nn #2 { \l__jsonparse_externalize_file_name_tl .jsonparse }
+ }
}
- }
+ \group_end:
}
\NewExpandableDocumentCommand { \JSONParseExpandableValue } { m m } {
@@ -682,12 +752,16 @@
\group_end:
}
-\NewDocumentCommand { \JSONParseValue } { s m m } {
- \bool_if:NTF #1 {
- \prop_item:Ne #2 {#3}
- } {
- \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
- }
+\NewDocumentCommand { \JSONParseValue } { O{} m m } {
+ \group_begin:
+ \keys_set_known:nn { jsonparse / typeset } {#1} \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
+ \bool_if:NTF \l__jsonparse_rescan_bool {
+ \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
+ } {
+ \prop_item:Ne #2 {#3}
+ }
+ \group_end:
}
\NewDocumentCommand { \JSONParseKeys } { m m } {
@@ -700,7 +774,7 @@
\tl_if_in:nVF {##1} \l__jsonparse_child_sep_str {
\bool_if:NTF \l__jsonparse_prop_map_first_bool {
\bool_set_false:N \l__jsonparse_prop_map_first_bool
- } {
+ } {
\tl_put_right:Nn \l__jsonparse_temp_tl { , }
}
\tl_put_right:Nn \l__jsonparse_temp_tl { " ##1 " }
@@ -710,8 +784,10 @@
\tl_set_eq:NN #2 \l__jsonparse_temp_tl
}
-\NewDocumentCommand { \JSONParseArrayValues } { s m m O{} m } {
+\NewDocumentCommand { \JSONParseArrayValues } { O{} m m O{} m } {
\group_begin:
+ \keys_set_known:nn { jsonparse / typeset } {#1} \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
\tl_set:Nn \l__jsonparse_temp_tl {#2}
\jsonparse_filter:Nn \l__jsonparse_temp_tl {#3}
\bool_set_true:N \l__jsonparse_prop_map_first_bool
@@ -721,13 +797,13 @@
} {#4} {
\bool_if:NTF \l__jsonparse_prop_map_first_bool {
\bool_set_false:N \l__jsonparse_prop_map_first_bool
- } {
+ } {
#5
}
- \bool_if:NTF #1 {
- ##2
- } {
+ \bool_if:NTF \l__jsonparse_rescan_bool {
\__jsonparse_rescan:n {##2}
+ } {
+ ##2
}
}
}
@@ -759,10 +835,12 @@
\tl_new:N \JSONParseArrayIndex
\tl_new:N \JSONParseArrayKey
-\tl_new:N \JSONParseArrayValue
+\tl_new:N \JSONParseArrayValue
-\NewDocumentCommand { \JSONParseArrayValuesMap } { s m m O{} m } {
+\NewDocumentCommand { \JSONParseArrayValuesMap } { O{} m m O{} m } {
\group_begin:
+ \keys_set_known:nn { jsonparse / typeset } {#1} \l__jsonparse_unused_keys_clist
+ \__jsonparse_warning_unused_keys:
\jsonparse_filter:Nn #2 {#3}
\prop_map_inline:Nn #2 {
\str_if_eq:enT {
@@ -771,10 +849,10 @@
\int_incr:N \l__jsonparse_array_index_int
\tl_set:Ne \JSONParseArrayIndex { \__jsonparse_get_array_index:w ##1 \q_stop }
\tl_set:Nn \JSONParseArrayKey {##1}
- \bool_if:NTF #1 {
- \tl_set:Nn \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
- } {
+ \bool_if:NTF \l__jsonparse_rescan_bool {
\tl_set:Nn \JSONParseArrayValue { \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Nn #2 {##1} } }
+ } {
+ \tl_set:Nn \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
}
\use:c {#5}
}
diff --git a/macros/latex/contrib/litesolution/README.md b/macros/latex/contrib/litesolution/README.md
index f597d5fb09..452c7e9de9 100644
--- a/macros/latex/contrib/litesolution/README.md
+++ b/macros/latex/contrib/litesolution/README.md
@@ -10,7 +10,7 @@ This work may be distributed and/or modified under the conditions of the [LaTeX
This work has the LPPL maintenance status `maintained`.
-The Current Maintainer of this work is [Mingyu Hsia](https://www.ctan.org/author/xia-my).
+The Current Maintainer of this work is [Mingyu XIA](https://www.ctan.org/author/xia-my).
## Derivative Works
diff --git a/macros/latex/contrib/litesolution/doc/figure/universe.pdf b/macros/latex/contrib/litesolution/doc/figure/universe.pdf
index 6ebe5201dc..244c7770a7 100644
--- a/macros/latex/contrib/litesolution/doc/figure/universe.pdf
+++ b/macros/latex/contrib/litesolution/doc/figure/universe.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/figure/universe.tex b/macros/latex/contrib/litesolution/doc/figure/universe.tex
index f2fa69eaab..7cce50ecd2 100644
--- a/macros/latex/contrib/litesolution/doc/figure/universe.tex
+++ b/macros/latex/contrib/litesolution/doc/figure/universe.tex
@@ -5,7 +5,7 @@
\usephysicsmodule{ab.legacy}
\usetikzlibrary{tikzmark}
\tikzset{every node/.style={align=center,DarkSlateGray!30},
- every path/.style={DarkSlateGray!30,line cap=round}}
+ every path/.style={DarkSlateGray!30,line cap=round}}
\begin{document}\tikz{
\node [above right] at (0,0) {$\color{DarkSlateGray!30}
diff --git a/macros/latex/contrib/litesolution/doc/litesolution.pdf b/macros/latex/contrib/litesolution/doc/litesolution.pdf
index 8d9efb2ba3..eb14917941 100644
--- a/macros/latex/contrib/litesolution/doc/litesolution.pdf
+++ b/macros/latex/contrib/litesolution/doc/litesolution.pdf
Binary files differ
diff --git a/macros/latex/contrib/litesolution/doc/litesolution.tex b/macros/latex/contrib/litesolution/doc/litesolution.tex
index 678e4cd4aa..34d82694a2 100644
--- a/macros/latex/contrib/litesolution/doc/litesolution.tex
+++ b/macros/latex/contrib/litesolution/doc/litesolution.tex
@@ -1,17 +1,34 @@
+%% ******************************************************
+%% * This work may be distributed and/or modified under *
+%% * the conditions of the LaTeX Project Public License *
+%% * http://www.latex-project.org/lppl.txt *
+%% * either version 1.3c of this license or any later *
+%% * version. *
+%% ******************************************************
\documentclass[mtpro2,twoside,openany]{litesolution}
-
\usepackage[listings]{tcolorbox}
+\usepackage{pmboxdraw}
\lstset{language=[LaTeX]TeX,basicstyle=\small\ttfamily,breaklines=true,columns=flexible}
-\title{\sffamily The \pkg{LiteSolution} Class}
-\subtitle{\sffamily\scshape Hangzhou Dianzi University}
-\bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})\quad|\quad\today\quad|\quad Version 2.2b}
-\cover[checkerboard]{schrodinger}\coverhead[3]{universe}
+\coverset{
+ title = \sffamily The \pkg{LiteSolution} Class,
+ subtitle = \sffamily\scshape Hangzhou Dianzi University,
+ bioinfo = Mingyu XIA (\mailto{xiamyphys@gmail.com})\quad|\quad Version 2.4a,
+ covercolor = DarkSeaGreen,
+ coverhead = universe,
+ coverhead.rotate = 3,
+ cover = schrodinger,
+ cover.pattern = sixpointed stars
+}
\begin{document}
-\maketitle[DarkSlateGray]
-\frontmatter\tableofcontents\mainmatter
+\maketitle
+
+\frontmatter
+\tableofcontents
+\mainmatter
+
\chapterimage{\UPFadingImage*[trim={0 {.9\paperheight} 0 0},clip]{Beautiful-realities}}
\chapter{Introduction to the \pkg{LiteSolution} Class}
@@ -20,7 +37,7 @@
This is the document for the \pkg{LiteSolution} class, which is designed for typesetting solutions of problems in exams, textbooks, etc.
-Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@hdu.edu.cn}{\ttfamily xiamyphys@hdu.edu.cn} or \href{https://github.com/xiamyphys/litesolution}{GitHub}.
+Welcome to feedback bugs or ideas via email \href{mailto:xiamyphys@gmail.com}{\ttfamily xiamyphys@gmail.com} or \href{https://github.com/xiamyphys/litesolution}{GitHub}.
\subsection{Installing \pkg{LiteSolution} and loading it}
@@ -39,18 +56,18 @@ The test environments are macOS + Mac\hologo{TeX} 2024 / Overleaf / Ubuntu 22.04
\section{Global Options of this Class}
\begin{verbatim}
- \documentclass[<options>]{litesolution}
+ \documentclass[⟨options⟩]{litesolution}
\end{verbatim}
\subsection{The \mode{answer} option}
-The \mode{hideanswer} mode can hide contents in \cmd{solution} environment and \cmd{ans} command.
+The \mode{hideanswer} mode can hide contents in the \cmd{solution} environment and \cmd{ans} command, and make the effect of \cmd{emph} weaker.
\subsection{The \mode{math} option}
The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of formulas in the document. Please check if mtpro2 font has been installed on your computer correctly before using \mode{mtpro2} mode.
-\section{Related Packages}
+\section{Derivative Works}
\begin{description}
\item[Package \pkg{notebeamer}] provides macros for inputting slides on note papers quickly.
\item[Package \pkg{fadingimage}] provides macros for inputting full width picture at the edges of pages quickly.
@@ -63,27 +80,23 @@ The \mode{mtpro2}, \mode{newtx} and \mode{newtxsf} modes can format the font of
\subsection{The cover page configurations}
\begin{verbatim}
- \title{<content>} \subtitle{<content>}
- \bioinfo{<content>} \cover[<pattern>]{<image>}
- \coverhead[<angle>]{<image>} \coverhead*[<angle>]{<content>}
-
- \begin{document} \maketitle[<color>]
-\end{verbatim}
-
-\begin{verbatim}
- \title{\sffamily The \pkg{LiteSolution} Class}
- \subtitle{\sffamily\scshape Hangzhou Dianzi University}
- \bioinfo{Mingyu Hsia (\mailto{xiamyphys@hdu.edu.cn})
- \quad|\quad\today\quad|\quad Version 2.2b}
- \cover[checkerboard]{schrodinger} \coverhead[5]{universe}
-
- \begin{document} \maketitle[Midnightblue]
+ \coverset{
+ title = \sffamily The \pkg{LiteSolution} Class,
+ subtitle = \sffamily\scshape Hangzhou Dianzi University,
+ bioinfo = Mingyu XIA (\mailto{xiamyphys@gmail.com})\quad|\quad
+ Version 2.4a,
+ covercolor = DarkSeaGreen,
+ coverhead = universe,
+ coverhead.rotate = 3,
+ cover = schrodinger,
+ cover.pattern = sixpointed stars
+ }
\end{verbatim}
\subsection{The chapter head configurations}
\begin{verbatim}
- \chapterimage {<insert image macro>}
+ \chapterimage {⟨insert image macro⟩}
\end{verbatim}
This command can assign the format of the image at every chapters begin and you can adjust the format of the image with the \pkg{fadingimage} package.
@@ -94,24 +107,32 @@ This template has preset many packages. The following packages are the common on
\begin{table}[htbp]
\centering\small
- \begin{tabular}{l l l l l l l l}
+ \begin{tabularx}{.96\linewidth}{*{6}{X}}
\toprule
- \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} & \pkg{booktabs} &
- \pkg{cancel} & \pkg{caption} & \pkg{circuitikz} & \pkg{datetime} \\
+ \pkg{amsthm} & \pkg{amssymb} & \pkg{bm} &
+ \pkg{booktabs} & \pkg{cancel} & \pkg{caption}\\
+ \midrule
+ \pkg{circuitikz} & \pkg{datetime} & \pkg{derivative} &
+ \pkg{diagbox} & \pkg{enumitem} & \pkg{esvect}\\
+ \midrule
+ \pkg{extarrows} & \pkg{fadingimage} & \pkg{fancyhdr} &
+ \pkg{fixdif} & \pkg{fontawesome5}& \pkg{geometry}\\
\midrule
- \pkg{derivative} & \pkg{diagbox} & \pkg{esvect} & \pkg{extarrows} &
- \pkg{fadingimage} & \pkg{fancyhdr} & \pkg{fixdif} & \pkg{fontawesome5} \\
+ \pkg{graphicx} & \pkg{hyperref} & \pkg{indentfirst} &
+ \pkg{lipsum} & \scriptsize\pkg{magicwatermark} & \pkg{mathtools}\\
\midrule
- \pkg{geometry} & \pkg{graphics} & \pkg{graphicx} & \pkg{hyperref} &
- \pkg{indentfirst} & \pkg{lipsum} & \pkg{mathtools} & \pkg{multicol} \\
+ \pkg{mhchem} & \pkg{multicol} & \pkg{multirow} &
+ \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol}\\
\midrule
- \pkg{multirow} & \pkg{nicematrix} & \pkg{notebeamer} & \pkg{paracol} &
- \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} & \pkg{refstyle} \\
+ \pkg{pgfplots} & \pkg{physics2} & \pkg{qrcode} &
+ \pkg{refstyle} & \pkg{setspace} & \pkg{siunitx}\\
\midrule
- \pkg{setspace} & \pkg{siunitx} & \pkg{tabularx} & \pkg{tasks} &
- \pkg{wallpaper} & \pkg{xcolor} & \pkg{xeCJK} & \pkg{xfrac} \\
+ \pkg{subcaption} & \pkg{tabularx} & \pkg{soul} &
+ \pkg{tasks} & \pkg{ulem} & \pkg{xcolor}\\
+ \midrule
+ \pkg{xeCJK} & \pkg{xeCJKfntef} & \pkg{xfrac}\\
\bottomrule
- \end{tabular}
+ \end{tabularx}
\end{table}
\section{Preset Commands}
@@ -119,7 +140,7 @@ This template has preset many packages. The following packages are the common on
\subsection{The \cmd{ans} command}
\begin{verbatim}
- \ans {<contents>}
+ \ans {⟨contents⟩}
\end{verbatim}
This command can underline the answer, and if mode \mode{noans} is enabled the answer will be hidden.
@@ -127,11 +148,21 @@ This command can underline the answer, and if mode \mode{noans} is enabled the a
\subsection{The \cmd{solute} command}
\begin{verbatim}
- \solute {<number>} \solute* {<contents>}
+ \solute {⟨number⟩} \solute* {⟨contents⟩}
\end{verbatim}
This command can create a fixable answer box when the mode \mode{noans} is enabled.
+\subsection{The \cmd{emph} command}
+
+\begin{verbatim}
+ \emph {⟨content⟩} \emph* {⟨content⟩}
+\end{verbatim}
+
+\emph{The Quick Brown Fox Jumps Over the Lazy Dog: non-hideanswer mode}
+
+\emph*{The Quick Brown Fox Jumps Over the Lazy Dog: hideanswer mode}
+
\subsection{Other preset commands}
\begin{verbatim}
@@ -144,7 +175,7 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl
\subsection{The \cmd{problem} environment}
\begin{tcblisting}{sidebyside,colback=DarkGreen!5,colframe=DarkGreen!80}
-\begin{problem}[<Keywords>]\leavevmode
+\begin{problem}[Keywords]\leavevmode
\begin{tasks}(2)
\task Choice A \task[\true] Choice B
\task Choice C \task Choice D
@@ -167,16 +198,9 @@ This command can create a fixable answer box when the mode \mode{noans} is enabl
\begin{note}
We note that.
\end{note}
-\end{tcblisting}
+\end{tcblisting}
\end{minipage}
-\section{Equation test}
-
-\[\begin{cases}
- \i\hbar\partial_t\psi(\mathbf x,t)=\ab(-\frac{\hbar^2}{2m}\bm\nabla^2+V)\\
- \i\hbar\partial_t\psi(\mathbf x,t)=-(\i\hbar c\bm\alpha\cdot\bm\nabla+\beta mc^2)\psi(\mathbf x,t)
-\end{cases}\]
-
\section*{Original Code for the Cover Head}
\setstretch{1.15}
diff --git a/macros/latex/contrib/litesolution/tex/litesolution.cls b/macros/latex/contrib/litesolution/tex/litesolution.cls
index 0f59d89630..2b7a3ecb34 100644
--- a/macros/latex/contrib/litesolution/tex/litesolution.cls
+++ b/macros/latex/contrib/litesolution/tex/litesolution.cls
@@ -1,5 +1,5 @@
%% ***********************************************************
-%% Copyright 2024 by Mingyu Hsia <xiamyphys@hdu.edu.cn> *
+%% Copyright 2024 by Mingyu XIA <xiamyphys@gmail.com> *
%% *
%% This work may be distributed and/or modified under *
%% the conditions of the LaTeX Project Public License *
@@ -11,19 +11,18 @@
%% *
%% This work has the LPPL maintenance status `maintained'. *
%% *
-%% The Current Maintainer of this work is Mingyu Hsia. *
+%% The Current Maintainer of this work is Mingyu XIA. *
%% *
%% This work consists of the files litesolution.cls, *
%% and README.md. *
-%% available at https://github.com/xiamyphys/litsolution *
+%% available at https://github.com/xiamyphys/litesolution *
%% ***********************************************************
% !Mode:: "TeX:UTF-8"
\NeedsTeXFormat{LaTeX2e}
\PassOptionsToPackage{no-math}{fontspec}
\PassOptionsToPackage{svgnames}{xcolor}
-\ProvidesClass{litesolution}[2024/05/07 v2.2b LiteSolution document class]
-\RequirePackage{kvoptions}
-\RequirePackage{etoolbox}
+\ProvidesClass{litesolution}[2024/08/15 v2.4a LiteSolution document class]
+\RequirePackage{kvoptions,etoolbox,keyval}
\SetupKeyvalOptions{family=LITE, prefix=LITE@, setkeys=\kvsetkeys}
\def\ekv#1{\kvsetkeys{LITE}{#1}}
@@ -39,7 +38,7 @@
\ProcessKeyvalOptions*\relax
\LoadClass[letterpaper,11pt]{book}
-\RequirePackage{setspace,datetime,caption,booktabs,multicol,diagbox,paracol}
+\RequirePackage{setspace,datetime,tabularx,caption,subcaption,anyfontsize,booktabs,multicol,diagbox,paracol}
\linespread{1.3}
\ddmmyyyydate
\captionsetup{labelsep=period,labelfont={bf,sf},font=small}
@@ -52,18 +51,18 @@
\setlist[enumerate]{itemsep=.5ex}
\setlist[itemize]{itemsep=.5ex}
\RequirePackage[notelinecolor=MidnightBlue,notemargin=.75in]{notebeamer}
-\geometry{margin=1in}
+\geometry{margin=1in,headheight=14pt}
\RequirePackage[nokeyprefix]{refstyle}
\newref{eq}{refcmd=(\ref{#1}),name={\sffamily eq.~},Name={\sffamily Eq.~}}
\newref{fig}{name={\sffamily fig.~},Name={\sffamily Fig.~}}
\newref{tab}{name={\sffamily tab.~},Name={\sffamily Tab.~}}
-\RequirePackage{graphics,graphicx,wallpaper,pagecolor}
+\RequirePackage{graphicx,magicwatermark,pagecolor}
\graphicspath{{./figure/}{./figures/}{./image/}{./images/}{./graphics/}{./graphic/}{./pictures/}{./picture/}}
\RequirePackage{ifxetex}
\ifXeTeX
- \RequirePackage[quiet]{xeCJK}
+ \RequirePackage[quiet,CJKmath,CheckSingle,PlainEquation]{xeCJK}
\RequirePackage{zhlipsum}
\setlength{\parindent}{2em}
\fi
@@ -82,8 +81,7 @@
\RequirePackage[mono=false]{libertine}
}{\relax}
\let\openbox\relax\def\hmmax{0}\def\bmmax{0}
-\RequirePackage{amsthm,amssymb,mathtools,physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,xfrac,nicematrix}
-\renewcommand\qedsymbol{$\color{gray}\blacksquare$}
+\RequirePackage{amssymb,mathtools,physics2,bm,fixdif,derivative,cancel,extarrows,siunitx,xfrac,nicematrix}
\usephysicsmodule{ab,braket,diagmat,doubleprod,xmat,ab.legacy,op.legacy}
\RequirePackage[e]{esvect}
\let\vec\vv
@@ -109,6 +107,7 @@
\AddToHook{cmd/faIcon/after}{\endgroup}
\RequirePackage{circuitikz,pgfplots,fadingimage}
+\RequirePackage[version=4]{mhchem}
\usetikzlibrary{arrows,tikzmark,patterns,calc,angles,quotes,intersections}
\tikzset{>=stealth',
every picture/.append style={%
@@ -133,56 +132,77 @@
\def\mode#1{\textcolor{Indigo}{\textsf{#1}}}
\def\cmd#1{\textcolor{MidnightBlue}{\texttt{\string#1}}}
-\def\subtitle#1{\gdef\@subtitle{#1}}
-\def\bioinfo#1{\gdef\@bioinfo{#1}}
-\NewDocumentCommand\coverhead{ O{0} m }{
- \gdef\@coverheadrotate{#1}\gdef\@coverhead{#2}
+\define@key{coverset}{title}{\gdef\@title{#1}}
+\define@key{coverset}{subtitle}{\gdef\@subtitle{#1}}
+\define@key{coverset}{bioinfo}{\gdef\@bioinfo{#1}}
+\define@key{coverset}{covercolor}{\gdef\@covercolor{#1}}
+\define@key{coverset}{coverhead}{\gdef\@coverhead{#1}}
+\define@key{coverset}{coverhead.rotate}{\gdef\@coverheadrotate{#1}}
+\define@key{coverset}{cover}{\gdef\@cover{#1}}
+\define@key{coverset}{cover.pattern}{\gdef\@coverpattern{#1}}
+\def\coverset#1{
+ \setkeys{coverset}{#1}
+ \ifcsname @covercolor\endcsname
+ \relax
+ \else
+ \gdef\@covercolor{DarkSlateGray}
+ \fi
}
-\NewDocumentCommand\cover{ o m }{
- \IfValueT{#1}{\gdef\@coverpattern{#1}}
- \gdef\@cover{#2}}
-\RenewDocumentCommand\maketitle{O{MidnightBlue}}{
+
+\renewcommand*\maketitle{
\begin{titlepage}
- \newgeometry{margin=0in}\newpagecolor{#1!15}
+ \newgeometry{margin=0in}
+ \newpagecolor{\@covercolor!15}
+ \gdef\@covercolor{DarkSlateGray}
\tikz[remember picture,overlay]{
- \ifcsname @coverhead\endcsname
- \node [rotate=\@coverheadrotate] at ($(current page.center)+(0,.35*\paperheight)$) {\includegraphics[width=\paperwidth]{\@coverhead}};
- \fi
\fill [white,opacity=.5] ($(current page.south west)+(.2*\paperwidth,.6*\paperheight)$) rectangle (current page.south east);
\fill [white,opacity=.5] ($(current page.south west)+(.3*\paperwidth,.7*\paperheight)$) rectangle (current page.south east);
- \ifcsname @cover\endcsname
- \node [opacity=.5] at ($(current page.south west)+(.65*\paperwidth,.3*\paperheight)$) {\includegraphics[height=.3\paperheight]{\@cover}};
- \ifcsname @coverpattern\endcsname
- \fill [pattern=\@coverpattern,pattern color=#1!15!white!25] ($(current page.south west)+(.3*\paperwidth,0)$) rectangle ++ (.7*\paperwidth,.6\paperheight);
- \fi\fi
\node [darkgray] at ($(current page.south west)+(.65*\paperwidth,.65*\paperheight)$) {\Huge\bfseries\@title};
\ifcsname @subtitle\endcsname
\node [rotate=90,gray,opacity=.6] at ($(current page.south west)+(.25*\paperwidth,.3*\paperheight)$) {\huge\bfseries\@subtitle};
\fi
\ifcsname @bioinfo\endcsname
\node [gray,opacity=.4] at ($(current page.south)+(.15*\paperwidth,.075*\paperheight)$) {\large\@bioinfo};
- \fi}
+ \fi
+ \ifcsname @coverhead\endcsname
+ \ifcsname @coverheadrotate\endcsname
+ \relax
+ \else
+ \gdef\@coverheadrotate{0}
+ \fi
+ \node [rotate=\@coverheadrotate] at ($(current page.center)+(0,.35*\paperheight)$) {\includegraphics[width=\paperwidth]{\@coverhead}};
+ \fi
+ \ifcsname @cover\endcsname
+ \node (@cover) at ($(current page.south west)+(.65*\paperwidth,.3*\paperheight)$) {\includegraphics[height=.3\paperheight]{\@cover}};
+ \ifcsname @coverpattern\endcsname
+ \fill [scope fading=south,pattern=\@coverpattern,pattern color=\@covercolor!15!white!25] (@cover.south west) rectangle (@cover.north east);
+ \fi\fi}
\end{titlepage}
- \restoregeometry\restorepagecolor
+ \restoregeometry
+ \restorepagecolor
\if@twoside
\clearpage%
- \newpagecolor{#1!15!white!50}
+ \newpagecolor{\@covercolor!15!white!25}
\thispagestyle{empty}%
\null\clearpage
- \fi\restorepagecolor
+ \fi
+ \restorepagecolor
}
\RequirePackage{tocloft}
\setlength{\cftbeforetoctitleskip}{6\p@}
\setlength{\cftaftertoctitleskip}{24\p@}
-\setlength{\cftbeforesecskip}{3\p@}
-\def\contentsname{\sffamily\scshape\hfill Contents\hfill}
+\AddToHook{cmd/tableofcontents/before}{
+ \begingroup
+ \setstretch{1.5}
+}
+\AddToHook{cmd/tableofcontents/after}{\endgroup}
+\renewcommand\contentsname{\sffamily\scshape Contents}
\setcounter{tocdepth}{1}
\let\@chapapptmp\@chapapp
-\def\@chapapp{\textsc{\@chapapptmp}}
+\gdef\@chapapp{\textsc{\@chapapptmp}}
\def\chapterimage#1{\gdef\@chapterimage{#1}}
-\def\HUGE{\@setfontsize\HUGE{30}{40}}
\def\@makechapterhead#1{%
\def\thesection{\arabic{chapter}.\arabic{section}}
\def\theproblem{\thechapter.\arabic{problem}}
@@ -194,8 +214,8 @@
\fi
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
- \parbox{6em}
- {\centering\HUGE\normalfont\bfseries\textcolor{darkgray}\thechapter\vskip4\p@\normalsize\bfseries\textcolor{darkgray}{\bfseries\sffamily\@chapapp}}%
+ \parbox{6em}
+ {\centering\@setfontsize\HUGE{30}{40}\normalfont\bfseries\textcolor{darkgray}\thechapter\vskip4\p@\normalsize\bfseries\textcolor{darkgray}{\bfseries\sffamily\@chapapp}}%
\fi
\fi
\interlinepenalty\@M\hspace*{3ex}
@@ -203,20 +223,20 @@
\vskip 36\p@
}}
\def\@makeschapterhead#1{%
- \def\thesection{\arabic{section}}
- \def\theproblem{\arabic{problem}}
- \setcounter{section}{0}
- \setcounter{problem}{0}
- {\centering
- \ifcsname @chapterimage\endcsname
- \@chapterimage
- \fi\vskip-40\p@
- \parindent \z@ \normalfont
- \interlinepenalty\@M
- \huge \bfseries #1\par\nobreak
- \vskip 28\p@}}
+\def\thesection{\arabic{section}}
+\def\theproblem{\arabic{problem}}
+\setcounter{section}{0}
+\setcounter{problem}{0}
+{\centering
+\ifcsname @chapterimage\endcsname
+ \@chapterimage
+\fi\vskip-40\p@
+ \parindent \z@ \normalfont
+ \interlinepenalty\@M
+ \huge \bfseries #1\par\nobreak
+ \vskip 28\p@}}
\let\cleardoublepage=\clearpage
-\renewcommand*{\cleardoublepage}{\clearpage\if@twoside \ifodd\c@page\else
+\renewcommand*\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
\ifnum \thechapter=0
\vspace*{\fill}
{\centering\itshape\Large This page was intentionally left blank.\par}
@@ -231,27 +251,38 @@
\RequirePackage{fancyhdr}
\pagestyle{fancy}
- \let\oldheadrule\headrule
- \renewcommand{\headrule}{{\color{gray}\oldheadrule}}
- \renewcommand{\headrulewidth}{1pt}
- \if@twoside\cfoot{}
- \fancyhead[OL]{\color{darkgray}\nouppercase\leftmark}
- \fancyhead[OR]{\color{darkgray}\sffamily\thepage}
- \fancyhead[ER]{\color{darkgray}\nouppercase\rightmark}
- \fancyhead[EL]{\color{darkgray}\sffamily\thepage}
- \else
- \fancyhead[L]{\color{darkgray}\nouppercase\leftmark}
- \fancyhead[R]{\color{darkgray}\nouppercase\rightmark}
- \cfoot{\color{darkgray}\sffamily\thepage}
- \fi
- \setlength{\headheight}{14pt}
+\let\oldheadrule\headrule
+\renewcommand{\headrule}{{\color{gray}\oldheadrule}}
+\renewcommand{\headrulewidth}{1pt}
+\fancyfoot[L]{\footnotesize\fbox{Unauthorized copying or reuse of any part of this page is illegal}}
+\fancyfoot[OR]{\sffamily\bfseries GO ON TO THE NEXT PAGE}
+\if@twoside\cfoot{}
+ \fancyhead[OL]{\color{darkgray}\nouppercase\leftmark}
+ \fancyhead[OR]{\color{darkgray}\sffamily\thepage}
+ \fancyhead[ER]{\color{darkgray}\nouppercase\rightmark}
+ \fancyhead[EL]{\color{darkgray}\sffamily\thepage}
+\else
+ \fancyhead[L]{\color{darkgray}\nouppercase\leftmark}
+ \fancyhead[R]{\color{darkgray}\nouppercase\rightmark}
+ \cfoot{\color{darkgray}\sffamily\thepage}
+\fi
+\RequirePackage{amsthm}
+\renewcommand\qedsymbol{$\color{gray}\blacksquare$}
\theoremstyle{definition}
\newtheorem{problem}{\color{DarkGreen}\faIcon{pen-square}~\textsc{\textsf{Problem}}}[chapter]
\newtheorem*{solution}{\color{MidnightBlue}\faIcon{check-square}~\textsc{\textsf{Solution}}}
\newtheorem*{scratch}{\color{MidnightBlue}\faIcon{check-square}~\textsc{\textsf{Scratch}}}
\newtheorem*{note}{\color{DarkRed}\faIcon{info-circle}~\textsc{\textsf{Note}}}
-\RequirePackage{comment}
+\RequirePackage{comment,ulem,soul}
+\ifxetex
+ \RequirePackage{xeCJKfntef}
+ \def\@emph#1{\CJKsout*[thickness=2.5ex, format=\color{\@covercolor!15}]{#1}}
+ \def\s@emph#1{\CJKunderwave{#1}}
+\else
+ \def\@emph#1{\sethlcolor{\@covercolor!15}\hl{#1}}
+ \def\s@emph#1{\uwave{#1}}
+\fi
\ifdefstring{\LITE@answer}{hideanswer}{%
\def\ans#1{\underline{\phantom{#1}}}
\def\choiceans#1{\phantom{#1}}
@@ -261,6 +292,7 @@
\excludecomment{solution}\excludecomment{note}
\let\endsolution\relax\let\endnote\relax}
\def\true{\addtocounter{task}{1}\thetask}
+ \DeclareRobustCommand\emph{\@ifstar\s@emph\s@emph}
}{
\def\ans#1{\underline{~#1~}}
\def\s@solute#1{\relax}\def\@solute#1{\relax}
@@ -268,6 +300,7 @@
\excludecomment{scratch}
\let\endscratch\relax}
\def\true{\addtocounter{task}{1}\faIcon{check-circle}}
+ \DeclareRobustCommand\emph{\@ifstar\s@emph\@emph}
}
\DeclareRobustCommand\solute{\@ifstar\s@solute\@solute}
%%
diff --git a/macros/latex/contrib/lni/CHANGELOG.md b/macros/latex/contrib/lni/CHANGELOG.md
index 5bb6f9697c..377ce68c43 100644
--- a/macros/latex/contrib/lni/CHANGELOG.md
+++ b/macros/latex/contrib/lni/CHANGELOG.md
@@ -6,9 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased]
-## [1.9] - 2024-07-1
+## [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
+- Support for multiple affiliations (#158)
## [1.8.1] - 2024-01-08
@@ -171,7 +179,8 @@ 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.9...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
diff --git a/macros/latex/contrib/lni/README.md b/macros/latex/contrib/lni/README.md
index 034ef480d8..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.9
+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.dtx b/macros/latex/contrib/lni/lni.dtx
index 257f0d4bb0..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/07/01 v1.9 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>
@@ -287,6 +287,8 @@ This work consists of the file lni.dtx
% \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}
@@ -1046,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{%
@@ -1160,9 +1162,9 @@ This work consists of the file lni.dtx
\newcommand{\@multiaffil}[1]{%
\ifcsundef{@emailsandorcids#1}{\csgdef{@emailsandorcids#1}{}}{}%
\ifcsempty{@emailsandorcids#1}%
- {\csgappto{@emailsandorcids#1}{%
+ {\protected@csxappto{@emailsandorcids#1}{%
\if\relax\@currEmail\relax\else\email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
- {\csgappto{@emailsandorcids#1}{%
+ {\protected@csxappto{@emailsandorcids#1}{%
\if\relax\@currEmail\relax\else;\ \email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}%
}
@@ -1549,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}
diff --git a/macros/latex/contrib/lni/lni.pdf b/macros/latex/contrib/lni/lni.pdf
index c3b50c0cd1..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/lstaddons/README b/macros/latex/contrib/lstaddons/README.txt
index 7306f47deb..04cca2d309 100644
--- a/macros/latex/contrib/lstaddons/README
+++ b/macros/latex/contrib/lstaddons/README.txt
@@ -1,8 +1,8 @@
LaTeX bundle 'lstaddons'
~~~~~~~~~~~~~~~~~~~~~~~~
-Copyright (c) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+Copyright (c) 2011-2022 by Martin Scharrer <martin.scharrer@web.de>
CTAN: http://www.ctan.org/pkg/lstaddons
-Code repository: https://bitbucket.org/martin_scharrer/lstaddons
+Code repository: https://github.com/MartinScharrer/lstaddons/
This bundle contains a small collections of add-on packages for
the 'listings' package.
diff --git a/macros/latex/contrib/lstaddons/lstautogobble.dtx b/macros/latex/contrib/lstaddons/lstautogobble.dtx
index f9d62cf8d3..106034b6bb 100644
--- a/macros/latex/contrib/lstaddons/lstautogobble.dtx
+++ b/macros/latex/contrib/lstaddons/lstautogobble.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<=*COPYRIGHT>
-%% Copyright (C) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% Copyright (c) 2011-2022 by Martin Scharrer <martin.scharrer@web.de>
%% -----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -69,9 +69,9 @@
%
% \GetFileInfo{lstautogobble.dtx}
% \author{Martin Scharrer}
-% \email{martin@scharrer-online.de}
+% \email{martin.scharrer@web.de}
% \ifdefined\repository
-% \repository{https://bitbucket.org/martin_scharrer/lstautogobble}
+% \repository{https://github.com/MartinScharrer/lstaddons/}
% \fi
%
% \maketitle
diff --git a/macros/latex/contrib/lstaddons/lstautogobble.pdf b/macros/latex/contrib/lstaddons/lstautogobble.pdf
index 5321a97319..f054ba6597 100644
--- a/macros/latex/contrib/lstaddons/lstautogobble.pdf
+++ b/macros/latex/contrib/lstaddons/lstautogobble.pdf
Binary files differ
diff --git a/macros/latex/contrib/lstaddons/lstlinebgrd.dtx b/macros/latex/contrib/lstaddons/lstlinebgrd.dtx
index 860e6b6e81..705ffd19a7 100644
--- a/macros/latex/contrib/lstaddons/lstlinebgrd.dtx
+++ b/macros/latex/contrib/lstaddons/lstlinebgrd.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%<=*COPYRIGHT>
-%% Copyright (C) 2011-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% Copyright (c) 2011-2024 by Martin Scharrer <martin.scharrer@web.de>
%% ----------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -24,10 +24,10 @@
%<*driver>
\ProvidesFile{lstlinebgrd.dtx}[%
%<=*DATE>
- 2012/05/03
+ 2014/08/18
%<=/DATE>
%<=*VERSION>
- v0.1
+ v0.2
%<=/VERSION>
DTX file for 'lstlinebgrd']
\documentclass{ydoc}
@@ -73,14 +73,15 @@
%
% \changes{v0.1}{2012/05/03}{Initial release.}
+% \changes{v0.2}{2024/08/18}{Updated internal separator.}
%
% \DoNotIndex{\newcommand,\newenvironment}
%
% \GetFileInfo{lstlinebgrd.dtx}
% \author{Martin Scharrer}
-% \email{martin@scharrer-online.de}
+% \email{martin.scharrer@web.de}
% \ifdefined\repository
-% \repository{https://bitbucket.org/martin_scharrer/lstlinebgrd}
+% \repository{https://github.com/MartinScharrer/lstaddons/}
% \fi
%
% \maketitle
@@ -238,10 +239,10 @@
\lst@Key{numbers}{none}{%
\def\lst@PlaceNumber{\lst@linebgrd}%
\lstKV@SwitchCases{#1}%
- {none&\\%
- left&\def\lst@PlaceNumber{\llap{\normalfont
+ {none:\\%
+ left:\def\lst@PlaceNumber{\llap{\normalfont
\lst@numberstyle{\thelstnumber}\kern\lst@numbersep}\lst@linebgrd}\\%
- right&\def\lst@PlaceNumber{\rlap{\normalfont
+ right:\def\lst@PlaceNumber{\rlap{\normalfont
\kern\linewidth \kern\lst@numbersep
\lst@numberstyle{\thelstnumber}}\lst@linebgrd}%
}{\PackageError{Listings}{Numbers #1 unknown}\@ehc}}
diff --git a/macros/latex/contrib/lstaddons/lstlinebgrd.pdf b/macros/latex/contrib/lstaddons/lstlinebgrd.pdf
index 55843f75a6..af15c644f5 100644
--- a/macros/latex/contrib/lstaddons/lstlinebgrd.pdf
+++ b/macros/latex/contrib/lstaddons/lstlinebgrd.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/README.md b/macros/latex/contrib/magicwatermark/README.md
index db59f622e8..39615d2bb4 100644
--- a/macros/latex/contrib/magicwatermark/README.md
+++ b/macros/latex/contrib/magicwatermark/README.md
@@ -3,6 +3,4 @@
- Repository: https://github.com/ljguo1020/magicwatermark
- License: The LaTeX Project Public License 1.3c
-> magicwatermark is a package based on everypage and tikz and encapsulated by LATEX3 Ä°t can
-> flexibly set and clear watermarks. All watermark content is placed in inside a node of verbtikz and
-> in the center of the page.
+magicwatermark is based on tikz and expl3, and can flexibly set backgrounds or watermarks.
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdf b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdf
new file mode 100644
index 0000000000..c43ac7ff92
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex
new file mode 100644
index 0000000000..883f2b6808
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-cn.tex
@@ -0,0 +1,373 @@
+\documentclass{article}
+
+\usepackage{lipsum}
+
+\usepackage{../magicwatermark}
+
+\usepackage[margin = 2.51828cm]{geometry}
+
+
+\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}}
+\usepackage{indentfirst}
+\pagestyle{empty}
+
+\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex}
+\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular}
+\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular}
+\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular}
+
+\ctexset{
+% chapter={
+% format+=\raggedright,
+% name = {第,部分},
+% afterskip = .5cm
+% },
+ section={
+ format+=\raggedright,
+ afterskip = .5cm
+ },
+ contentsname = {目次}
+}
+
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+
+\usepackage[listings,breakable]{tcolorbox}
+
+\ExplSyntaxOn
+\clist_new:N \l_function_variant_list %fuction variant list
+\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list
+{
+ \IfBooleanTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \def\functionn{
+ \texttt{#2}
+ }
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \def\functionn{
+ \texttt{
+ #2
+ \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}
+ }
+ }
+ }
+ }
+
+}
+\NewDocumentCommand{\examplelabel}{s}
+{
+ \IfBooleanTF{#1}{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}};
+ }}
+ }{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample};
+ }}
+ }
+}
+\ExplSyntaxOff
+\def\Triangle{ % triangle icon
+ \raisebox{-0.3ex}{
+ \tikz{
+ \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex);
+ }
+}}
+\newcounter{example}
+\tcbset{
+ example style/.style={
+ sharp corners,
+ colback=white,
+ boxrule=.5pt,
+ breakable,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,
+ fonttitle=\bfseries,
+ colbacktitle=lime!30,
+ coltitle=black,
+ % title={MagicWatermark},
+ listing only
+ }
+}
+
+\newtcblisting[use counter=example]{example}[1][]{
+ listing options={
+ style=tcblatex,
+ tabsize = 1,
+ language={[LaTeX]TeX},
+ classoffset=0,
+ morekeywords = {MagicWatermark, foreach, includegraphics},
+ keywordstyle={\color[RGB]{178,34,34}\bfseries},
+ commentstyle={\color[RGB]{102,205,170}\itshape},
+ classoffset=1,
+ morekeywords = {setup, pages, content, is, append, style},
+ keywordstyle=\color{cyan!50!green}\bfseries,
+ },
+ example style,
+ #1
+ }
+
+
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+
+
+\def\opt#1{\textcolor{magenta}{\texttt{#1}}}
+\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}}
+
+\usepackage[hidelinks]{hyperref}
+\begin{document}
+
+
+\vspace*{\fill}
+\begin{center}
+ {\Huge \textcolor{teal}{\texttt{magicwatermark}} å®åŒ…\footnote{\url{https://github.com/ljguo1020/magicwatermark}}} \\[.5cm]
+ {\Large 郭æŽå†›<ljguo1020@gmail.com>} \\[.5cm]
+ {\Large V1.2B}\\[1cm]
+\begin{example}[]
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+\end{center}
+
+\vspace*{\fill}
+
+\newpage
+
+
+\linespread{1.3}\selectfont
+\tableofcontents
+
+\section{介ç»}
+
+\pkgname{} 是一个全新的水å°å®åŒ…, 在 2022 å¹´ 6 月 17 æ—¥å‘布了第一版, 本次更新并ä¸æ˜¯åŸºäºŽç¬¬ä¸€ç‰ˆ, 而是进行了é‡æž„.
+
+\pkgname{} 基于 \texttt{tikz} å’Œ \texttt{expl3}, å¯ä»¥çµæ´»çš„设置背景或水å°.
+
+\section{使用}
+\pkgname{} 的使用, 相比于其它åŒç±»åŠŸèƒ½çš„包æ¥è¯´, å¯ä»¥è¯´æ˜¯æ˜“用性最高的, 它åªæ供了一个命令 \verb|\MagicWatermark|, 命令å‚数由多个 \opt{setup} 规则组æˆ.
+\begin{example}[]
+\MagicWatermark{
+ setup = {},
+ setup = {},
+ ...
+}
+\end{example}
+
+\opt{setup} 内部接å—四个键值选项, 用于é…置水å°çš„表现形å¼.
+
+\subsection{pages}
+\opt{pages} 接å—一个逗å·åˆ†å‰²åˆ—表, 用于é…置水å°ä½œç”¨èŒƒå›´, 例如 \verb|pages = {2, 4, 5, 8-10}|, 表示选中页ç ä¸ºç¬¬ 2, 4, 5, 8, 9, 10 这些页é¢.
+
+\opt{pages} å…±æŽ¥å— 4 ç§é…置规则,
+\begin{itemize}
+ \item \para{*}, 表示所有页é¢;
+ \item \para{odd} å’Œ \para{oven}, 表示奇å¶é¡µ;
+ \item 范围, 形如 \para{3-5}, \para{12-ii};
+ \item 表达å¼, 形如 \para{2X+1}, \para{2X\^{}2+X+1}, 但是å˜é‡å¿…须为 \para{X}.
+\end{itemize}
+
+这里å‡å®šé¡µé¢æ€»é¡µæ•°ä¸º 24 页,
+\begin{example}[title = pages é…置规则]
+pages = {*} => 1, 2, 3, ..., 24
+pages = {odd} => 1, 3, 5, ..., 23
+pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10
+pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23
+pages = {3X + 1} => 1, 4, 7, 10, ..., 22
+\end{example}
+
+\subsection{tikz}
+\opt{tikz} 用于设置是å¦å°†æ°´å°å†…容放置在 \texttt{tikz} çš„ \texttt{node} 中, è§ä¸‹æ–‡, å¯é€‰å€¼ä¸º \para{true} å’Œ \para{false}, 默认为 \para{true}. 当你需è¦ä½¿ç”¨ \opt{tikz} æ—¶, 需è¦æ‰‹åŠ¨åŠ è½½ \texttt{tikz} å®åŒ….
+
+\subsection{content}
+\opt{content} 用æ¥è®¾ç½®æ°´å°çš„内容, 当 \opt{tikz} 被å¯ç”¨æ—¶, 它被放在了 \texttt{tikz} çš„ \texttt{node} 中, 为此, 想è¦çµæ´»çš„设置它, 您需è¦å¯¹ \texttt{node} 有一些了解.
+
+\subsection{style}
+\opt{style} 用于设置容纳水å°å†…容的 \texttt{node} çš„æ ·å¼, 默认为 \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left}, 当 \opt{tikz} 被ç¦ç”¨æ—¶, 它会被忽略.
+
+\subsection{is append}
+\opt{is append} 用于设置是å¦è¦†ç›–当å‰é¡µå·²æœ‰çš„æ°´å°, å¯é€‰å€¼ä¸º \para{true} å’Œ \para{false}, 默认为 \para{false}.
+
+\section{使用案例}
+\begin{example}[title = 为所有页é¢å³ä¸Šè§’添加页ç ]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ }
+}
+\end{example}
+
+\begin{example}[title = 为å¶æ•°é¡µé¡µé¢ä¸­å¿ƒæ·»åŠ æ–‡å­— Watermark]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = 为第二页到最åŽä¸€é¡µè®¾ç½®é“ºæ»¡æ•´ä¸ªé¡µé¢çš„文字]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {2-i},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = 为奇å¶é¡µè®¾ç½®ä¸åŒæ°´å°]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont},
+ content = {
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center},
+ content = {
+ \foreach \x in {0,...,5}{
+ Odd MagicWatermark
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = 设置图片为水å°]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {opacity = 0.3},
+ content = {
+ \includegraphics{example-image-a}
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {opacity = .3, rotate=45, text width = 3\paperwidth},
+ content = {
+ \foreach \x in {0, ..., 20}{
+ \foreach \y in {1, 2, 3} {
+ \includegraphics{example-image-b}
+ } \\
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = ç¦ç”¨ tikz]
+\def\addhead#1#2{%
+ \expandafter\gdef\csname head@content@#1\endcsname{#2}%
+}
+
+\def\printhead#1{%
+ \csname head@content@#1\endcsname%
+}
+
+\addhead{2}{The only way to do great work is to love what you do.}
+\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.}
+\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.}
+\addhead{5}{It does not matter how slowly you go as long as you do not stop.}
+
+\NewDocumentCommand{\mywatermark}{}{%
+ \begin{tikzpicture}[remember picture, overlay]
+ \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}};
+ \end{tikzpicture}
+}
+
+\MagicWatermark{
+ setup = {
+ pages = {2-5},
+ tikz = false,
+ content = \mywatermark
+ }
+}
+\end{example}
+
+
+\end{document}
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdf b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdf
new file mode 100644
index 0000000000..30b84bd6cd
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex
new file mode 100644
index 0000000000..e6520fa330
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/doc/magicwatermark-en.tex
@@ -0,0 +1,400 @@
+\documentclass{article}
+
+\usepackage{lipsum}
+
+\usepackage{../magicwatermark}
+
+\usepackage[margin = 2.51828cm]{geometry}
+
+
+\def\pkgname{\textcolor{teal}{\texttt{magicwatermark}}}
+\usepackage{indentfirst}
+\pagestyle{empty}
+
+\usepackage[UTF8, scheme=plain, fontset=none, heading=true, zihao=-4]{ctex}
+%\setCJKmainfont[BoldFont={LXGWWenKai-Bold},ItalicFont={LXGWWenKai-Light}]{LXGWWenKai-Regular}
+%\setCJKsansfont[BoldFont={LXGWWenKai-Bold}]{LXGWWenKai-Regular}
+%\setCJKmonofont[BoldFont={LXGWWenKaiMono-Bold},ItalicFont={LXGWWenKaiMono-Light}]{LXGWWenKaiMono-Regular}
+
+\ctexset{
+% chapter={
+% format+=\raggedright,
+% name = {第,部分},
+% afterskip = .5cm
+% },
+ section={
+ format+=\raggedright,
+ afterskip = .5cm
+ },
+ contentsname = {Table of contents}
+}
+
+\usepackage{fontspec}
+\IfFontExistsTF{calibri.ttf}
+{
+ \setmainfont{calibri.ttf}[
+ BoldFont = calibrib.ttf,
+ ItalicFont = calibrii.ttf,
+ BoldItalicFont = calibriz.ttf
+ ]
+}
+{}
+
+\newcommand\blfootnote[1]{
+ \begingroup
+ \renewcommand\thefootnote{}\footnote{#1}
+ \addtocounter{footnote}{-1}
+ \endgroup
+}
+
+\usepackage[listings,breakable]{tcolorbox}
+
+\ExplSyntaxOn
+\clist_new:N \l_function_variant_list %fuction variant list
+\NewDocumentCommand{\function}{svo} % #1:function name #2: variant list
+{
+ \IfBooleanTF{#1}
+ {
+ \IfNoValueTF{#3}
+ {
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2}\hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \begin{tcolorbox}[width=\textwidth,left=1mm,right=1mm,top=1mm,bottom=1mm,sharp~corners,colback=white,boxrule=.5pt,colback=lime!30]
+ \texttt{Function}\hskip -2pt \Triangle\hskip -3pt \texttt{#2\textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}} \hfill \examplelabel*
+ \end{tcolorbox}
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ \def\functionn{
+ \texttt{#2}
+ }
+ }
+ {
+ \clist_gset:Nn \l_function_variant_list {#3}
+ \def\functionn{
+ \texttt{
+ #2
+ \textcolor{gray}{(\clist_use:Nn \l_function_variant_list{|})}
+ }
+ }
+ }
+ }
+
+}
+\NewDocumentCommand{\examplelabel}{s}
+{
+ \IfBooleanTF{#1}{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=purple,circle,outer~sep=0pt,scale=0.5] {\phantom{2}};
+ }}
+ }{
+ \raisebox{-0.5ex}{
+ \tikz{
+ \node[ball~color=cyan,circle,outer~sep=0pt,scale=0.5,font=\bfseries] {\theexample};
+ }}
+ }
+}
+\ExplSyntaxOff
+\def\Triangle{ % triangle icon
+ \raisebox{-0.3ex}{
+ \tikz{
+ \fill[scale=2,outer sep=0pt] (240:0.5ex) -- (0:0.5ex) -- (120:0.5ex);
+ }
+}}
+\newcounter{example}
+\tcbset{
+ example style/.style={
+ sharp corners,
+ colback=white,
+ boxrule=.5pt,
+ breakable,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,
+ fonttitle=\bfseries,
+ colbacktitle=lime!30,
+ coltitle=black,
+ % title={MagicWatermark},
+ listing only
+ }
+}
+
+\newtcblisting[use counter=example]{example}[1][]{
+ listing options={
+ style=tcblatex,
+ tabsize = 1,
+ language={[LaTeX]TeX},
+ classoffset=0,
+ morekeywords = {MagicWatermark, foreach, includegraphics},
+ keywordstyle={\color[RGB]{178,34,34}\bfseries},
+ commentstyle={\color[RGB]{102,205,170}\itshape},
+ classoffset=1,
+ morekeywords = {setup, pages, content, is, append, style},
+ keywordstyle=\color{cyan!50!green}\bfseries,
+ },
+ example style,
+ #1
+ }
+
+
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large\linespread{1}\selectfont, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+
+
+\def\opt#1{\textcolor{magenta}{\texttt{#1}}}
+\def\para#1{\textcolor[rgb]{0.13, 0.67, 0.8}{\texttt{#1}}}
+
+\usepackage[hidelinks]{hyperref}
+\begin{document}
+
+
+\vspace*{\fill}
+\begin{center}
+ {\Huge The \textcolor{teal}{\texttt{magicwatermark}}\footnote{\url{https://github.com/ljguo1020/magicwatermark}} package\blfootnote{English version of the documentation by Jérémy Just <\url{jeremy@jejust.fr}>.}} \\[.5cm]
+ {\Large Guo Li Jun <ljguo1020@gmail.com>} \\[.5cm]
+ {\Large V1.2B}\\[1cm]
+\begin{example}[]
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ },
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ },
+ setup = {
+ pages = {1},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+\end{center}
+
+\vspace*{\fill}
+
+\newpage
+
+
+\linespread{1.3}\selectfont
+\tableofcontents
+
+\section{Presentation}
+
+\pkgname{} is a new watermarking package. Tts first version was released on June 17\textsuperscript{th}, 2022,
+but this update is a complete refactoring.
+
+\pkgname{} is based on \texttt{ti\textit{k}z} and \texttt{expl3}, which gives you a lot of flexibility
+to add a background or a watermark to the pages of your document.
+
+\section{Use}
+
+The use of \pkgname{}, compared to other packages of similar functionality, is a lot easier,
+as it provides a single command, \verb|\MagicWatermark|.
+This command takes a parameter consisting in a number of \opt{setup} rules.
+\begin{example}[]
+\MagicWatermark{
+ setup = {},
+ setup = {},
+ ...
+}
+\end{example}
+
+\opt{setup} internally accepts four key options to configure the presentation of the watermark.
+
+\subsection{pages}
+\opt{pages} accepts a comma-separated list which defines the scope of the watermark,\linebreak[4] \textit{e.g.} \verb|pages = {2, 4, 5, 8-10}| indicates that the watermark is to appear on pages 2, 4, 5, 8, 9 and 10.
+
+\opt{pages} accepts a total of four configuration rules:
+\begin{itemize}
+ \item \para{*}, indicating all pages;
+ \item \para{odd} and \para{even}, for odd/even pages;
+ \item a range, like \para{3-5} or \para{12-ii};
+ \item expressions, such as \para{2X+1}, \para{2X\^{}2+X+1} (the variable \textbf{has to be} \para{X}).
+\end{itemize}
+
+Here, we assume that the total number of pages is 24:
+\begin{example}[title = pages machine rules]
+pages = {*} => 1, 2, 3, ..., 24
+pages = {odd} => 1, 3, 5, ..., 23
+pages = {1, 3, 5-10} => 1, 3, 5, 6, 7, ..., 10
+pages = {1-5, 8, 20-ii} => 1, 2, ..., 5, 8, 20, 21, ..., 23
+pages = {3X + 1} => 1, 4, 7, 10, ..., 22
+\end{example}
+
+\subsection{tikz}
+
+\opt{tikz} is used to choose whether the watermark content will be placed
+in a \texttt{tikz} \texttt{node} (see below).
+The two possible values are \para{true} and \para{false}. The default is \para{true}.
+When you choose to use \opt{tikz}, you need to load the \texttt{tikz} package manually.
+
+\subsection{content}
+
+\opt{content} is used to define the content of the watermark, when \opt{tikz} is enabled.
+The given value is placed inside the \texttt{tikz} \texttt{node};
+for this reason, to take full avantage of this syntax, you need to have some knowledge
+of the available \texttt{node} options.
+
+\subsection{style}
+
+\opt{style} is used to set the style of the \texttt{node} that holds the watermark content.
+The default style is \para{inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left},
+and is ignored when \opt{tikz} is disabled.
+
+\subsection{is append}
+
+\opt{is append} is used to choose whether or not to override the existing watermark on the
+current page. The available values are \para{true} and \para{false}, the default is \para{false}.
+
+
+\section{Examples}
+
+\begin{example}[title = Add page number to the top right corner of each pages:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {*},
+ content = {P-\thepage},
+ style = {shift = {(.5\textwidth, .5\textheight + \headheight + \headsep)}, scale = 3, text = cyan, font = \ttfamily}
+ }
+}
+\end{example}
+
+\begin{example}[title = Add text watermark at the center of even numbered pages:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 5, text = pink},
+ content = {Watermark},
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = Add a full page of text as watermark to the second to last page:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {2-i},
+ style = {text width = 1.7\paperwidth, rotate = 45, align = left, font = \Large, opacity = .1},
+ content = {
+ \foreach \x in {0, ..., 500} {Magic Watermark }
+ },
+ is append
+ }
+}
+\end{example}
+
+\begin{example}[title = Use different watermarks for odd and even pages:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {scale = 8, rotate = 45, text=red, align = center,font = \linespread{2}\selectfont},
+ content = {
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark\\
+ Even MagicWatermark
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {scale = 6, rotate = -45, text = cyan, text width = 1.7\paperwidth, font = \linespread{1.5}\selectfont, align = center},
+ content = {
+ \foreach \x in {0,...,5}{
+ Odd MagicWatermark
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = Use an image as watermark:]
+% \usepackage{tikz}
+\MagicWatermark{
+ setup = {
+ pages = {even},
+ style = {opacity = 0.3},
+ content = {
+ \includegraphics{example-image-a}
+ }
+ },
+ setup = {
+ pages = {odd},
+ style = {opacity = .3, rotate=45, text width = 3\paperwidth},
+ content = {
+ \foreach \x in {0, ..., 20}{
+ \foreach \y in {1, 2, 3} {
+ \includegraphics{example-image-b}
+ } \\
+ }
+ }
+ }
+}
+\end{example}
+
+\begin{example}[title = Disable tikz]
+\def\addhead#1#2{%
+ \expandafter\gdef\csname head@content@#1\endcsname{#2}%
+}
+
+\def\printhead#1{%
+ \csname head@content@#1\endcsname%
+}
+
+\addhead{2}{The only way to do great work is to love what you do.}
+\addhead{3}{Success is not final, failure is not fatal: It is the courage to continue that counts.}
+\addhead{4}{In the end, we will remember not the words of our enemies, but the silence of our friends.}
+\addhead{5}{It does not matter how slowly you go as long as you do not stop.}
+
+\NewDocumentCommand{\mywatermark}{}{%
+ \begin{tikzpicture}[remember picture, overlay]
+ \node[yshift = -\headheight - \headsep, text = teal, font = \large] at (current page.north) {\printhead{\thepage}};
+ \end{tikzpicture}
+}
+
+\MagicWatermark{
+ setup = {
+ pages = {2-5},
+ tikz = false,
+ content = \mywatermark
+ }
+}
+\end{example}
+
+
+\end{document}
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf b/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
deleted file mode 100644
index 5ee2d2d9f5..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark-en.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark-en.tex b/macros/latex/contrib/magicwatermark/magicwatermark-en.tex
deleted file mode 100644
index 03a3e6db11..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark-en.tex
+++ /dev/null
@@ -1,212 +0,0 @@
-\documentclass{l3doc}
-\usepackage{graphicx}
-\usepackage{enumitem}
-\usepackage{listings}
-\lstset{
-frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
-language={[LaTeX]TeX},
-keywordstyle=\color{red!70!black}\bfseries,
-keywordstyle={[2]\color{blue!70!black}\bfseries},
-morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
-\usepackage{fontspec}
-\IfFontExistsTF{calibri.ttf}
-{
- \setmainfont{calibri.ttf}[
- BoldFont = calibrib.ttf,
- ItalicFont = calibrii.ttf,
- BoldItalicFont = calibriz.ttf
- ]
-}
-{}
-\usepackage{magicwatermark}
-\renewcommand*\marg[1]{\{\meta{#1}\}}
-\renewcommand*\oarg[1]{[\meta{#1}]}
-\renewcommand*\parg[1]{(\meta{#1})}
-\title{\pkg{magicwatermark}}
-\author{lijun guo \\ liguo1020@gmail.com}
-\def\version{v1.0.1}
-\date{\today\quad\version}
-\pagestyle{empty}
-\PageSetup*
-{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\Watermark
-\begin{document}
-\maketitle
-\tableofcontents
-\begin{abstract}
-\pkg{magicwatermark} is a package based on \pkg{everypage} and \pkg{tikz} and encapsulated by \LaTeX3 \. It can flexibly set and clear watermarks. All watermark content is placed in \ inside a \verb|node| of \verb|tikz| and in the center of the page.
-\end{abstract}
-\section{Introduction}
-Currently the \pkg{magicwatermark} package can only implement the following functions
-\begin{itemize}
- \item Set watermark for all pages
- \item Set watermark for odd pages
- \item Set the watermark for even pages
- \item Create a new watermark and set multiple watermarks on the same page
- \item Clear watermark
-\end{itemize}
-\section{Interface}
-\subsection{Some command}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
- \begin{syntax}
- \tn{PageSetup} \oarg{option} \marg{content for watermark}
- \end{syntax}
- This command is used to set the watermark content of all pages. It accepts two parameters. The first parameter is used to set some properties and is given in the form of \verb|key=value|. The second parameter is used to set the watermark content. It is text, pictures, etc.
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
-\begin{syntax}
- \tn{Watermark}
-\end{syntax}
-This command is used to display the watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
-\begin{syntax}
-\tn{EvenPageSetup}\oarg{option}\marg{content for watermark}
-\end{syntax}
-This command is used to set the watermark content of even pages
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
-\begin{syntax}
- \tn{EvenWatermark}
-\end{syntax}
-This command is used to display the even page watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
-\begin{syntax}
-\tn{OddPageSetup}\oarg{option}\marg{content for watermark}
-\end{syntax}
-This command is used to set the watermark content of odd pages
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
-\begin{syntax}
- \tn{OddWatermark}
-\end{syntax}
-This command is used to display the odd page watermark set above
-\end{function}
-\subsection{Add command}
-The usage of the following commands with asterisks is similar to the above. It is not so much an extension as it is a cancellation of restrictions. The above commands all write the watermark content in a \verb|node|, for users who are not familiar with TikZ , the former is more square is convenient and fast, while the latter is more flexible
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
-\begin{syntax}
-\tn{PageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
-\begin{syntax}
-\tn{EvenPageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
-\begin{syntax}
-\tn{OddPageSetup*}\marg{content for watermark}
-\end{syntax}
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
-\begin{syntax}
-\tn{NewWatermark}\marg{watermark name}
-\end{syntax}
-This command is used to create a new watermark. Note that the watermark name cannot be \verb|main|, \verb|even|, \verb|odd|.
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
-\begin{syntax}
-\tn{MyPageSetup}\oarg{option}\marg{watermark name}\marg{content for watermark}
-\end{syntax}
-Used to set the new watermark content
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
-\begin{syntax}
- \tn{MyWatermark}\marg{watermark name}
-\end{syntax}
-This command is used to display the watermark set above
-\end{function}
-\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
-\begin{syntax}
- \tn{ClearWatermark}\marg{watermark list}
-This command is used to clear the set watermark, accepts a comma list as parameter, for example:
-\begin{itemize}
- \item \verb|\ClearWatermark{main}| clears the watermark set by \verb|\Watermark|
- \item \verb|\ClearWatermark{even,odd}| clears the watermark on odd and even pages
- \item \verb|\ClearWatermark{all}| Clear all watermarks
- \item \verb|\ClearWatermark{name1,name2,name3,...}|
-\end{itemize}
-\end{syntax}
-\end{function}
-\subsection{option list}
-The \textbf{option} in the above setting command is as follows
-\begin{itemize}
- \item \verb|scale = <number>| set the scale
- \item \verb|opacity = <number>| set the opacity
- \item \verb|shift = {(x,y)}| for translation by vector (x,y)
- \item \verb|color = <color expression>| set the color
- \item \verb|rotate = <angle>| Set the rotation angle
- \item \verb+align = <center|left|right>+ Set the alignment of multi-line text, the default is center
- \item \verb+showframe = <true|false>+ Set whether to display the frame, the default is false
-\end{itemize}
-\subsection{notes}
-All show and clear commands take effect only on the text following the command.
-
-\section{Examples}
-\subsection{basic}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup[
- rotate = 30, % set the rotation angle
- color = red!80, % set color for watermark content
- scale = 6 % set the scale
-]{
- watermark content
-}
-\Watermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-\subsection{Odd and Even Pages}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\EvenPageSetup[color=cyan,showframe,scale=4]{Even page} % Even page
-\OddPageSetup[color=purple,showframe,scale=4]{Odd page} % Odd page
-\EvenWatermark % show watermark
-\OddWatermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-\subsection{star}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup*{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at
- (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\begin{document}
-...
-\Watermark % This order did not take effect before
-\end{document}
-\end{lstlisting}
-\subsection{New watermark}
-\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\NewWatermark{one} % new
-\NewWatermark{two}
-\MyPageSetup[scale=5,color=blue]{one}{content one} % setting
-\MyPageSetup[scale=5,color=red]{two}{content two}
-\begin{document}
-\MyWatermark{one} % use watermark one
-...
-\newpage
-\ClearWatermark{one} % clear watermark one
-\MyWatermark{two} % use watermark two
-...
-\end{document}
-\end{lstlisting}
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.dtx b/macros/latex/contrib/magicwatermark/magicwatermark.dtx
deleted file mode 100644
index 35115c1cca..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark.dtx
+++ /dev/null
@@ -1,598 +0,0 @@
-% \iffalse meta-comment
-% !TEX program = XeLaTeX
-%<*internal>
-\iffalse
-%</internal>
-%<*internal>
-\fi
-\begingroup
- \def\temp{LaTeX2e}
-\expandafter\endgroup\ifx\temp\fmtname\else
-\csname fi\endcsname
-%</internal>
-%<*install>
-
-\input ctxdocstrip %
-
-\let\MetaPrefix\relax
-
-\declarepostamble\emptypostamble
-\endpostamble
-
-\def\MetaPrefix{-- }
-
-
-\let\MetaPrefix\DoubleperCent
-
-\generate
- {
-%</install>
-%<*internal>
- \usedir{source/xelatex/magicwatermark}
- \file{magicwatermark.ins} {\from{\jobname.dtx}{install}}
-%</internal>
-%<*install>
- \usedir{xetex/xelatex/magicwatermark}
- \file{magicwatermark.sty} {\from{\jobname.dtx}{package}}
- \nopreamble\nopostamble
- \usedir{doc/xelatex/magicwatermark}
- \file{README.md} {\from{\jobname.dtx}{readme}}
- }
-
-\endbatchfile
-%</install>
-%<*internal>
-\fi
-%</internal>
-%<package>\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-%<package>\ProvidesPackage{magicwatermark}[2021/12/22 v1.0.1 watermark for ljguo ]
-%<*driver>
-\documentclass{ctxdoc}
-\usepackage{graphicx}
-\usepackage{enumitem}
-\usepackage{listings}
-\lstset{
-frame=tb,framerule=2pt,language={[LaTeX]TeX},basicstyle={\ttfamily},
-language={[LaTeX]TeX},
-keywordstyle=\color{red!70!black}\bfseries,
-keywordstyle={[2]\color{blue!70!black}\bfseries},
-morekeywords={PageSetup,Watermark,NewWatermark,MyPageSetup,MyWatermark,EvenPageSetup,OddPageSetup,EvenWatermark,OddWatermark,ClearWatermark}}
-\usepackage{fontspec}
-\IfFontExistsTF{calibri.ttf}
-{
- \setmainfont{calibri.ttf}[
- BoldFont = calibrib.ttf,
- ItalicFont = calibrii.ttf,
- BoldItalicFont = calibriz.ttf
- ]
-}
-{}
-\setCJKmainfont[AutoFakeBold,AutoFakeSlant]{simfang.ttf}
-\usepackage{magicwatermark}
-\renewcommand*\marg[1]{\{\meta{#1}\}}
-\renewcommand*\oarg[1]{[\meta{#1}]}
-\renewcommand*\parg[1]{(\meta{#1})}
-\begin{document}
-%<!--CODEDOC--> \DisableImplementation
- \EnableImplementation
- \DocInput{\jobname.dtx}
- \IndexLayout
- \PrintChanges
- \PrintIndex
-\end{document}
-%</driver>
-% \fi
-%
-
-% \GetFileId{magicwatermark.sty}
-%
-% \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 \~}
-%
-%
-%\title{\pkg{magicwatermark}: 魔法水å°å®åŒ…}
-%\author{郭æŽå†› \\ liguo1020@gmail.com}
-%\def\version{v1.0.1}
-%\date{\today\quad\version}
-%\pagestyle{empty}
-%\PageSetup*
-%{
-% \begin{tikzpicture}[remember picture,overlay]
-% \node[cyan,scale = 2,shift={(-1,-1)}] at (current page.north east){--~\thepage~--};
-% \end{tikzpicture}
-%}
-%\Watermark
-%\maketitle
-%\thispagestyle{empty}
-%\tableofcontents
-%\begin{documentation}
-%\changes{v1.0.1}{2021/12/21}{实现了一些基本功能}
-%\begin{abstract}
-%\pkg{magicwatermark} 是一个基于 \pkg{everypage} å’Œ \pkg{tikz} å®åŒ…,并ç»è¿‡ \LaTeX3 \ 进行å°è£…çš„å®åŒ…,它å¯ä»¥å¾ˆçµæ´»çš„设置和清除水å°ï¼Œæ‰€æœ‰æ°´å°å†…容都放在 \verb|tikz| 的一个 \verb|node| 里é¢ï¼Œå¹¶å¤„于页é¢ä¸­å¿ƒã€‚
-%\end{abstract}
-%\section{介ç»}
-%ç›®å‰ \pkg{magicwatermark} å®åŒ…åªèƒ½å®žçŽ°å¦‚下功能
-%\begin{itemize}
-% \item 设置所有页é¢çš„æ°´å°
-% \item 设置奇数页的水å°
-% \item 设置å¶æ•°é¡µçš„æ°´å°
-% \item 新建水å°ï¼ŒåŒé¡µé¢è®¾ç½®å¤šä¸ªæ°´å°
-% \item 清除水å°
-%\end{itemize}
-%\section{用户接å£}
-%\subsection{æ供命令}
-% \begin{function}[added=2021-12-21,updated=2021-12-21]{\PageSetup}
-% \begin{syntax}
-% \tn{PageSetup} \oarg{æ°´å°å‚æ•°} \marg{æ°´å°å†…容}
-% \end{syntax}
-% 此命令用于设置所有页é¢çš„æ°´å°å†…容,接å—两个å‚数,第一个å‚数用于设置一些属性,以 \verb|key=value| çš„å½¢å¼ç»™å‡ºï¼Œ 第二个å‚数用于设置水å°å†…容,å¯ä»¥æ˜¯æ–‡å­—ã€å›¾ç‰‡ã€ç­‰.
-% \end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\Watermark}
-%\begin{syntax}
-% \tn{Watermark}
-%\end{syntax}
-% 该命令用于显示上é¢è®¾ç½®çš„æ°´å°
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenPageSetup}
-%\begin{syntax}
-% \tn{EvenPageSetup}\oarg{æ°´å°å‚æ•°}\marg{æ°´å°å†…容}
-%\end{syntax}
-% 该命令用于设置å¶æ•°é¡µçš„æ°´å°å†…容
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\EvenWatermark}
-%\begin{syntax}
-% \tn{EvenWatermark}
-%\end{syntax}
-% 该命令用于显示上é¢è®¾ç½®çš„å¶æ•°é¡µæ°´å°
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddPageSetup}
-%\begin{syntax}
-% \tn{OddPageSetup}\oarg{æ°´å°å‚æ•°}\marg{æ°´å°å†…容}
-%\end{syntax}
-% 该命令用于设置奇数页的水å°å†…容
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\OddWatermark}
-%\begin{syntax}
-% \tn{OddWatermark}
-%\end{syntax}
-% 该命令用于显示上é¢è®¾ç½®çš„奇数页水å°
-%\end{function}
-%\subsection{扩展命令}
-%以下带星å·å‘½ä»¤ç”¨æ³•å’Œä¸Šé¢çš„类似,与其说是扩展,ä¸å¦‚说是å–消了é™åˆ¶ï¼Œä»¥ä¸Šçš„命令都将水å°å†…容写在一个\verb|node|中,对于对 TikZ ä¸å¤ªç†Ÿç»ƒçš„用户æ¥è¯´ï¼Œå‰è€…更加方
-%便快æ·ï¼Œè€ŒåŽè€…则更加çµæ´»
-%\begin{function}[added=2022-01-07,updated=2022-01-07]{\PageSetup*}
-%\begin{syntax}
-% \tn{PageSetup*}\marg{æ°´å°å†…容}
-%\end{syntax}
-%\end{function}
-%\begin{function}[added=2022-01-07,updated=2022-01-07]{\EvenPageSetup*}
-%\begin{syntax}
-% \tn{EvenPageSetup*}\marg{æ°´å°å†…容}
-%\end{syntax}
-%\end{function}
-%\begin{function}[added=2022-01-07,updated=2022-01-07]{\OddPageSetup*}
-%\begin{syntax}
-% \tn{OddPageSetup*}\marg{æ°´å°å†…容}
-%\end{syntax}
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\NewWatermark}
-%\begin{syntax}
-% \tn{NewWatermark}\marg{æ°´å°å称}
-%\end{syntax}
-%该命令用于新建一个水å°ï¼Œæ³¨æ„æ°´å°å称ä¸èƒ½æ˜¯ \verb|main|, \verb|even|, \verb|odd|.
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyPageSetup}
-%\begin{syntax}
-% \tn{MyPageSetup}\oarg{æ°´å°å‚æ•°}\marg{æ°´å°å称}\marg{æ°´å°å†…容}
-%\end{syntax}
-%用于设置新建的水å°å†…容
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\MyWatermark}
-%\begin{syntax}
-% \tn{MyWatermark}\marg{æ°´å°å称}
-%\end{syntax}
-% 该命令用于显示上é¢è®¾ç½®çš„æ°´å°
-%\end{function}
-%\begin{function}[added=2021-12-21,updated=2021-12-21]{\ClearWatermark}
-%\begin{syntax}
-% \tn{ClearWatermark}\marg{æ°´å°åˆ—表}
-%该命令用于清除设置的水å°ï¼ŒæŽ¥å—一个逗å·åˆ—表作为å‚数,例如:
-%\begin{itemize}
-% \item \verb|\ClearWatermark{main}| 清除由 \verb|\Watermark| 设置的水å°
-% \item \verb|\ClearWatermark{even,odd}| 清除奇数和å¶æ•°é¡µçš„æ°´å°
-% \item \verb|\ClearWatermark{all}| 清除所有的水å°
-% \item \verb|\ClearWatermark{name1,name2,name3,...}|
-%\end{itemize}
-%\end{syntax}
-%\end{function}
-%\subsection{å‚数列表}
-%以上设置命令中的\textbf{æ°´å°å‚æ•°}如下
-%\begin{itemize}
-% \item \verb|scale = <number>| 用于设置缩放比例
-% \item \verb|opacity = <number>| 用于设置ä¸é€æ˜Žåº¦
-% \item \verb|shift = {(x,y)}| 用于按å‘é‡ (x,y) 平移
-% \item \verb|color = <color expression>| 用于设置文本颜色
-% \item \verb|rotate = <angle>| 用于设置旋转角度
-% \item \verb+align = <center|left|right>+ 用于设置多行文本对é½æ–¹å¼ï¼Œé»˜è®¤ä¸º center
-% \item \verb+showframe = <true|false>+ 用于设置是å¦æ˜¾ç¤ºæ–‡æœ¬æ¡†ï¼Œé»˜è®¤ä¸º false
-%\end{itemize}
-%\subsection{一些说明}
-%所有的显示命令和清除命令都仅对该命令åŽé¢çš„文本生效。
-
-%\section{Examples}
-%\subsection{ä¸å¸¦æ˜Ÿå·}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup[
- rotate = 30, % 设置旋转角度
- color = red!80, % 设置水å°å†…容颜色
- scale = 6 % 设置比例
-]{
- æ°´å°å†…容
-}
-\Watermark % 全文生效
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-%\subsection{奇å¶é¡µ}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\EvenPageSetup[color=cyan,showframe,scale=4]{å¶æ•°é¡µ} % 设置奇数页
-\OddPageSetup[color=purple,showframe,scale=4]{奇数页} % 设置å¶æ•°é¡µ
-\EvenWatermark % 显示水å°
-\OddWatermark
-\begin{document}
-...
-\end{document}
-\end{lstlisting}
-%\subsection{带星å·}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\PageSetup*{
- \begin{tikzpicture}[remember picture,overlay]
- \node[cyan,scale = 2,shift={(-1,-1)}] at
- (current page.north east){--~\thepage~--};
- \end{tikzpicture}
-}
-\begin{document}
-...
-\Watermark % 该命令之å‰ä¸ç”Ÿæ•ˆ
-\end{document}
-\end{lstlisting}
-%\subsection{新建水å°}
-%\begin{lstlisting}
-\documentclass{ctexart}
-\usepackage{magicwatermark}
-\NewWatermark{one} % 新建两个水å°
-\NewWatermark{two}
-\MyPageSetup[scale=5,color=blue]{one}{æ°´å°å†…容一} % 设置水å°
-\MyPageSetup[scale=5,color=red]{two}{æ°´å°å†…容二}
-\begin{document}
-\MyWatermark{one} % 使用第一个水å°
-...
-\newpage
-\ClearWatermark{one} % 清除第一个水å°
-\MyWatermark{two} % 使用第二个水å°
-...
-\end{document}
-\end{lstlisting}
-%\end{documentation}
-%
-% \StopEventually{}
-% \section{代ç å®žçŽ°}
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-% 加载必è¦çš„å®åŒ…
-% \begin{macrocode}
-\RequirePackage{everypage-1x,tikz,xparse,expl3}
-% \end{macrocode}
-% 打开\LaTeX3 编程环境
-% \begin{macrocode}
-\ExplSyntaxOn
-% \end{macrocode}
-% 声明一些å˜é‡
-% \begin{macrocode}
-\tl_new:N \l_mainpage_tl
-\tl_new:N \l_evenpage_tl
-\tl_new:N \l_oddpage_tl
-\tl_new:N \g_case_tl
-\tl_new:N \g_clear_all_tl
-% \end{macrocode}
-% 定义警告
-% \begin{macrocode}
-\msg_new:nnn{clear}{not~have}{I~can~not~find~the~"\clear"~watermark~!}
-% \end{macrocode}
-% \begin{macro}{\PageSetup}
-% 对所有页é¢è®¾ç½®æ°´å°
-% \begin{macrocode}
-\NewDocumentCommand{\PageSetup}{sO{}+m}
-{
- \IfBooleanTF{#1}
- {
- \tl_set:Nn \l_mainpage_tl{#3}
- }
- {
- \tl_set:Nn \l_mainpage_tl
- {
- \group_begin:
- \keys_set:nn{watermark}{#2}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\Watermark}
-% 用于显示由 \verb|\PageSetup| 命令设置的水å°
-% \begin{macrocode}
-\NewDocumentCommand{\Watermark}{}
-{
- \AddEverypageHook{\tl_use:N \l_mainpage_tl}
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EvenPageSetup}
-% 对å¶æ•°é¡µè®¾ç½®æ°´å°
-% \begin{macrocode}
-\NewDocumentCommand{\EvenPageSetup}{sO{}+m}
-{
- \IfBooleanTF{#1}
- {
- \tl_set:Nn \l_evenpage_tl{#3}
- }
- {
- \tl_set:Nn \l_evenpage_tl
- {
- \group_begin:
- \keys_set:nn{watermark}{#2}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\EvenWatermark}
-% 用于显示由 \verb|\EvenPageSetup| 命令设置的水å°
-% \begin{macrocode}
-\NewDocumentCommand{\EvenWatermark}{}
-{
- \AddEverypageHook
- {
- \int_if_even:nT{\int_use:N \value{page}}
- {
- \tl_use:N \l_evenpage_tl
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\OddPageSetup}
-% 对奇数页设置水å°
-% \begin{macrocode}
-\NewDocumentCommand{\OddPageSetup}{sO{}+m}
-{
- \IfBooleanTF{#1}
- {
- \tl_set:Nn \l_oddpage_tl{#3}
- }
- {
- \tl_set:Nn \l_oddpage_tl
- {
- \group_begin:
- \keys_set:nn{watermark}{#2}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\OddWatermark}
-% 用于显示由 \verb|\OddPageSetup| 命令设置的水å°
-% \begin{macrocode}
-\NewDocumentCommand{\OddWatermark}{}
-{
- \AddEverypageHook
- {
- \int_if_odd:nT{\int_use:N \value{page}}
- {
- \tl_use:N \l_oddpage_tl
- }
- }
-}
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\NewWatermark}
-% 用于新建一个水å°
-% \begin{macrocode}
-\NewDocumentCommand{\NewWatermark}{m}
-{
- \tl_new:c {l_#1_tl}
- \tl_put_right:Nn \g_case_tl {{#1}{\tl_clear:c {l_#1_tl}}}
- \tl_put_right:Nn \g_clear_all_tl {\tl_clear:c {l_#1_tl}}
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\MyPageSetup}
-% 用于设置新建的水å°
-% \begin{macrocode}
-\NewDocumentCommand{\MyPageSetup}{O{} m +m}
-{
- \tl_set:cn {l_#2_tl}
- {
- \group_begin:
- \keys_set:nn{watermark}{#1}
- \begin{tikzpicture}[remember~picture,overlay]
- \node
- [
- scale = \fp_use:N\l_scale_fp,
- opacity = \fp_use:N\l_opacity_fp,
- shift = \tl_use:N\l_shift_tl,
- color = \tl_use:N \l_color_tl,
- rotate = \fp_use:N \l_rotate_fp,
- align = \tl_use:N \l_align_tl,
- \bool_if:NTF \l_showframe_bool{draw}{},
- ]
- at(current~page.center){#3};
- \end{tikzpicture}
- \group_end:
- }
-}
-% \end{macrocode}
-% \end{macro}
-
-
-
-% \begin{macro}{\MyWatermark}
-% 用于显示由 \verb|\MyPageSetup| 命令设置的水å°
-% \begin{macrocode}
-\NewDocumentCommand{\MyWatermark}{m}
-{
- \AddEverypageHook{\tl_use:c {l_#1_tl}}
-}
-% \end{macrocode}
-% \end{macro}
-% 定义一些å¯é€‰å‚æ•°, 用于对水å°è¿›è¡Œè®¾ç½®
-% \begin{macrocode}
-\keys_define:nn{watermark}
-{
- scale.fp_set:N = \l_scale_fp,
- scale.initial:n = 1.0,
- scale.default:n = 1.0,
- opacity.fp_set:N = \l_opacity_fp,
- opacity.initial:n = 0.8,
- opacity.default:n = 0.8,
- shift.tl_set:N = \l_shift_tl,
- shift.initial:n = {(0,0)},
- shift.default:n = {(0,0)},
- color.tl_set:N = \l_color_tl,
- color.initial:n = black,
- color.default:n =black,
- rotate.fp_set:N =\l_rotate_fp,
- rotate.initial:n = 0.0,
- rotate.default:n = 0.0,
- align.tl_set:N = \l_align_tl,
- align.initial:n = center,
- align.default:n = center,
- showframe.bool_set:N = \l_showframe_bool,
- showframe.initial:n = false,
- showframe.default:n = true,
-}
-% \end{macrocode}
-% \begin{macro}{\g_clear_all_tl}
-% 用于ä¿å­˜å¾…清空的所有水å°
-% \begin{macrocode}
-\tl_gset:Nn \g_clear_all_tl
-{
- \tl_clear:N \l_mainpage_tl
- \tl_clear:N \l_evenpage_tl
- \tl_clear:N \l_oddpage_tl
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\g_case_tl}
-% 用于ä¿å­˜ä¸€äº›å¼€å…³
-% \begin{macrocode}
-\tl_gset:Nn \g_case_tl{
- {all}
- {
- \tl_use:N\g_clear_all_tl
- }
- {even}
- {
- \tl_clear:N \l_evenpage_tl
- }
- {odd}
- {
- \tl_clear:N \l_oddpage_tl
- }
- {main}
- {
- \tl_clear:N \l_mainpage_tl
- }
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\ClearWatermark}
-% 用于清除设置的水å°
-% \begin{macrocode}
-\NewDocumentCommand{\ClearWatermark}{m}
-{
-\clist_gset:Nn \g_clear_clist{#1}
-\clist_map_variable:NNn \g_clear_clist \clear
-{
- \exp_args:NV \str_case:nVF \clear
- \g_case_tl
- {\msg_warning:nn{clear}{not~have}}
-}
-}
-% \end{macrocode}
-% \end{macro}
-% 关闭\LaTeX3 编程环境
-% \begin{macrocode}
-\ExplSyntaxOff
-% \end{macrocode}
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-% \Finale
-%
-\endinput
-\endlinechar \ No newline at end of file
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.pdf b/macros/latex/contrib/magicwatermark/magicwatermark.pdf
deleted file mode 100644
index 396233aba2..0000000000
--- a/macros/latex/contrib/magicwatermark/magicwatermark.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/magicwatermark/magicwatermark.sty b/macros/latex/contrib/magicwatermark/magicwatermark.sty
new file mode 100644
index 0000000000..e40af7ea0b
--- /dev/null
+++ b/macros/latex/contrib/magicwatermark/magicwatermark.sty
@@ -0,0 +1,453 @@
+\ProvidesExplPackage{magicwatermark}{2024/06/11}{1.2B}{magic watermark, author}
+
+
+\msg_new:nnn {magicwatermark}{ Unable to parse }
+{
+ Unable~to~parse~this~list~parameter.^^J
+ #1
+}
+
+\msg_new:nnn {magicwatermark}{ Enable TikZ }
+{
+ tikz~option~has~been~disabled,^^J
+ style~will~be~ignored.
+}
+
+\msg_new:nnn {magicwatermark}{ Load TikZ }
+{
+ Please~load~tikz~package~before~magicwatermark.
+}
+
+\seq_new:N \l__mw_tmpa_seq
+\seq_new:N \l__mw_tmpb_seq
+\seq_new:N \l__mw_tmpc_seq
+\seq_new:N \l__mw_tmpd_seq
+
+
+\int_new:N \l__mw_tmpa_int
+\int_new:N \l__mw_tmpb_int
+\int_new:N \l__mw_tmpc_int
+\int_new:N \l__mw_tmpd_int
+\int_new:N \l__mw_tmpe_int
+
+\clist_new:N \l__mw_list_arabic_number_clist
+\clist_new:N \l__mw_list_roman_number_clist
+\clist_new:N \l__mw_list_range_clist
+\clist_new:N \l__mw_list_expression_clist
+
+
+
+
+\clist_new:N \l__mw_tmpa_clist
+\clist_new:N \l__mw_tmpb_clist
+\clist_new:N \l__mw_tmpc_clist
+
+
+\tl_new:N \l__mw_tmpa_tl
+\tl_new:N \l__mw_tmpb_tl
+\tl_new:N \l__mw_tmpc_tl
+\tl_new:N \g__mw_list_tl
+
+\tl_new:N \g__mw_style_tl
+\tl_new:N \g__mw_content_tl
+
+\bool_new:N \g__mw_is_append_bool
+\bool_set_false:N \g__mw_is_append_bool
+\bool_new:N \g__mw_tikz_bool
+\bool_set_true:N \g__mw_tikz_bool
+
+\regex_const:Nn \c__mw_arabic_numbers_regex { ^\d+$ }
+\regex_const:Nn \c__mw_roman_numbers_regex { ^[ivxlcdm]+$ }
+
+
+
+\int_new:N \g__mw_last_page_int
+
+\AtBeginDocument{
+ \int_compare:nTF { \@abspage@last = \number\maxdimen }
+ {
+ \int_gset:Nn \g__mw_last_page_int { 10 }
+ }
+ {
+ \int_gset:Nn \g__mw_last_page_int { \@abspage@last }
+ }
+}
+
+\cs_new_protected:Npn \__mw_clist_deduplicate:N #1
+{
+ \group_begin:
+ \clist_clear:N \l_tmpa_clist
+ \clist_map_inline:Nn #1
+ {
+ \clist_if_in:NnF \l_tmpa_clist { ##1 }
+ { \clist_put_right:Nn \l_tmpa_clist { ##1 } }
+ }
+ \clist_gset_eq:NN #1 \l_tmpa_clist
+ \group_end:
+}
+
+
+\cs_new:Npn \__mw_list_parser_aux:n #1 {
+
+ \clist_clear:N \l__mw_list_arabic_number_clist
+ \clist_clear:N \l__mw_list_roman_number_clist
+ \clist_clear:N \l__mw_list_range_clist
+ \clist_clear:N \l__mw_list_expression_clist
+
+ % split by commas
+ \group_begin:
+ \seq_set_split:Nnn \l__mw_tmpa_seq { , } { #1 }
+ \seq_map_inline:Nn \l__mw_tmpa_seq
+ {
+ \tl_if_eq:nnTF { ##1 } { odd } % odd, push 2X + 1
+ {
+ \clist_gput_right:Nn \l__mw_list_expression_clist { 2X + 1 }
+ }
+ {
+ \tl_if_eq:nnTF { ##1 } { even } % even, push 2X
+ {
+ \clist_gput_right:Nn \l__mw_list_expression_clist { 2X }
+ }
+ {
+ \tl_if_in:nnTF { ##1 } { X } % expression, push ##1
+ {
+ \clist_gput_right:Nn \l__mw_list_expression_clist { ##1 }
+ }
+ {
+ \tl_if_in:nnTF { ##1 } { - } % range, push ##1
+ {
+ \clist_gput_right:Nn \l__mw_list_range_clist { ##1 }
+ }
+ {
+ \__mw_if_arabic_number:nTF { ##1 }
+ {
+ \clist_gput_right:Nn \l__mw_list_arabic_number_clist { ##1 }
+ }
+ {
+ \__mw_if_roman_number:nTF { ##1 }
+ {
+ \clist_gput_right:Nn \l__mw_list_roman_number_clist { ##1 }
+ }
+ {
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``##1''.
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ \group_end:
+}
+
+\prg_new_conditional:Npnn \__mw_if_arabic_number:n #1 { p, T, F, TF }
+{
+ \regex_match:NnTF \c__mw_arabic_numbers_regex { #1 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+}
+
+\prg_new_conditional:Npnn \__mw_if_roman_number:n #1 { p, T, F, TF }
+{
+ \regex_match:NnTF \c__mw_roman_numbers_regex { #1 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+}
+
+\prg_generate_conditional_variant:Nnn \__mw_if_arabic_number:n { x } {p, T, F, TF}
+\prg_generate_conditional_variant:Nnn \__mw_if_roman_number:n { x } {p, T, F, TF}
+
+
+\cs_new:Npn \__mw_list_parser_for_arabic_number:n #1 {
+ % arabic number
+ \fp_compare:nTF { #1 <= \g__mw_last_page_int && #1 > 0 }
+ {
+ \clist_put_right:Nn \l__mw_tmpa_clist { #1 }
+ }
+ {
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~number~``#1''.
+ }
+ }
+}
+
+
+
+\cs_new:Npn \__mw_list_parser_for_roman_number:n #1 {
+ % roman number
+ \int_set:Nn \l__mw_tmpa_int { \g__mw_last_page_int - \int_from_roman:n { #1 } + 1 }
+ \fp_compare:nTF
+ {
+ \l__mw_tmpa_int <= \g__mw_last_page_int && \l__mw_tmpa_int > 0
+ }
+ {
+ \clist_put_right:NV \l__mw_tmpa_clist \l__mw_tmpa_int
+ }
+ {
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~roman~number~``#1''.
+ }
+ }
+}
+
+
+\cs_new:Npn \__mw_list_parser_for_range:n #1 {
+ % range, 1-5, 3-i
+ \seq_set_split:Nnn \l__mw_tmpb_seq { - } { #1 }
+
+ \__mw_if_arabic_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 1 } }
+ {
+ \int_set:Nn \l__mw_tmpb_int { \seq_item:Nn \l__mw_tmpb_seq { 1 } }
+ }
+ {
+ \__mw_if_roman_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 1 } }
+ {
+ \exp_args:NNx \int_set:Nn \l__mw_tmpb_int
+ {
+ \g__mw_last_page_int - \exp_not:N \int_from_roman:n { \seq_item:Nn \l__mw_tmpb_seq { 1 } } + 1
+ }
+ }
+ {
+ \int_set:Nn \l__mw_tmpb_int { -1 }
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~range~left~``#1''.
+ }
+ }
+ }
+
+ \__mw_if_arabic_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 2 } }
+ {
+ \int_set:Nn \l__mw_tmpc_int { \seq_item:Nn \l__mw_tmpb_seq { 2 } }
+ }
+ {
+ \__mw_if_roman_number:xTF { \seq_item:Nn \l__mw_tmpb_seq { 2 } }
+ {
+ \exp_args:NNx \int_set:Nn \l__mw_tmpc_int
+ {
+ \g__mw_last_page_int - \exp_not:N \int_from_roman:n { \seq_item:Nn \l__mw_tmpb_seq { 2 } } + 1
+ }
+ }
+ {
+ \int_set:Nn \l__mw_tmpc_int { -1 }
+ % error
+ \msg_error:nnn {magicwatermark}{ Unable to parse }
+ {
+ Error~list~parameter~``#1''.^^J
+ Error~range~right~``#1''.
+ }
+ }
+ }
+
+ \fp_compare:nT { \l__mw_tmpb_int > 0 && \l__mw_tmpc_int > 0}
+ {
+ \int_step_inline:nnn
+ { \int_min:nn { \l__mw_tmpb_int } { \l__mw_tmpc_int } }
+ { \int_max:nn { \l__mw_tmpb_int } { \l__mw_tmpc_int } }
+ {
+ \clist_put_right:Nn \l__mw_tmpa_clist { ##1 }
+ }
+ }
+}
+
+\cs_new:Npn \__mw_list_parser_for_expression:n #1 {
+ \int_zero:N \l__mw_tmpd_int
+ \int_zero:N \l__mw_tmpe_int
+ \group_begin:
+ \tl_set:Nn \l__mw_tmpa_tl { #1 }
+ \regex_replace_all:nnN { (\d+)X } { \1*\c{l__mw_tmpe_int} } \l__mw_tmpa_tl
+ \tl_replace_all:Nnn \l__mw_tmpa_tl { X } { \l__mw_tmpe_int }
+ % \tl_show:N \l__mw_tmpa_tl
+ \int_while_do:nn { \l__mw_tmpd_int < \g__mw_last_page_int }
+ {
+ \int_set:Nn \l__mw_tmpd_int
+ {
+ \fp_eval:n { \l__mw_tmpa_tl }
+ }
+ \clist_gput_right:NV \l__mw_tmpa_clist \l__mw_tmpd_int
+ \int_incr:N \l__mw_tmpe_int
+ }
+ \group_end:
+}
+
+
+\cs_new_nopar:Npn \__mw_list_parser:nN #1#2 {
+
+ % case 1 -> odd, even
+ % case 2 -> number, 1
+ % case 3 -> roman, i
+ % case 4 -> range, 1-5, 3-ii
+ % case 5 -> expression, 3X + 1
+
+ \__mw_list_parser_aux:n { #1 }
+
+ \clist_clear:N \l__mw_tmpa_clist
+ \clist_map_inline:Nn \l__mw_list_arabic_number_clist
+ {
+ \__mw_list_parser_for_arabic_number:n { ##1 }
+ }
+
+ \clist_map_inline:Nn \l__mw_list_roman_number_clist
+ {
+ \__mw_list_parser_for_roman_number:n { ##1 }
+ }
+
+
+ \clist_map_inline:Nn \l__mw_list_range_clist
+ {
+ \__mw_list_parser_for_range:n { ##1 }
+ }
+
+
+ \clist_map_inline:Nn \l__mw_list_expression_clist
+ {
+ \__mw_list_parser_for_expression:n { ##1 }
+ }
+
+
+ \clist_sort:Nn \l__mw_tmpa_clist {
+ \int_compare:nNnTF { ##1 } > { ##2 }
+ { \sort_return_swapped: }
+ { \sort_return_same: }
+ }
+ \__mw_clist_deduplicate:N \l__mw_tmpa_clist
+ \clist_set_eq:NN #2 \l__mw_tmpa_clist
+}
+
+
+\cs_new:Npn \__mw_parser:nN #1#2 {
+ \clist_clear:N #2
+ \tl_if_eq:nnTF { #1 } { * }
+ {
+ \int_step_inline:nnn { 1 } { \g__mw_last_page_int }
+ {
+ \clist_put_right:Nn #2 { ##1 }
+ }
+ }
+ {
+ \__mw_list_parser:nN { #1 } #2
+ }
+}
+
+
+
+
+\keys_define:nn { mw / new }
+{
+ pages .tl_set:N = \g__mw_list_tl,
+ style .tl_set:N = \g__mw_style_tl,
+ % style .code:n = \__mw_parse_style:n { #1 },
+ content .tl_set:N = \g__mw_content_tl,
+ is~append .bool_set:N = \g__mw_is_append_bool,
+ tikz .bool_set:N = \g__mw_tikz_bool
+}
+
+\cs_new:Npn \__mw_parse_style: {
+ \tl_if_empty:NF \g__mw_style_tl
+ {
+ \bool_if:NTF \g__mw_tikz_bool
+ {
+ \IfPackageLoadedTF{tikz}
+ {
+ \tl_set_eq:NN \l__mw_tmpc_tl \g__mw_style_tl
+ }
+ {
+ \msg_error:nn {magicwatermark}{ Load TikZ }
+ }
+ }
+ {
+ \msg_warning:nn {magicwatermark}{ Enable TikZ }
+ }
+ }
+}
+
+\keys_define:nn { mw }
+{
+ setup .code:n = \__mw_new_watermark:n {#1}
+}
+
+
+\cs_new:Npn \__mw_new_watermark:n #1 {
+ \group_begin:
+ \keys_set:nn { mw / new }{#1}
+
+ % parse style
+ \__mw_parse_style:
+
+ % parse pages
+ \exp_args:NV \__mw_parser:nN \g__mw_list_tl \l__mw_tmpc_clist
+
+ \clist_map_inline:Nn \l__mw_tmpc_clist {
+
+ \bool_if:NTF \g__mw_tikz_bool
+ {
+ \IfPackageLoadedTF{tikz}
+ {
+ \tl_set:Ne \l__mw_tmpb_tl
+ {
+ \exp_not:N \tikz[remember~picture, overlay]
+ {
+ \exp_not:N \node[inner~sep = 0pt, outer~sep = 0pt, opacity = .5, align = left, \exp_not:V \g__mw_style_tl] at (current~page.center)
+ {
+ \exp_not:V \g__mw_content_tl
+ };
+ }
+ }
+ }
+ {
+ \msg_error:nn {magicwatermark}{ Load TikZ }
+ }
+ }
+ {
+ \tl_set:NV \l__mw_tmpb_tl \g__mw_content_tl
+ }
+
+ \bool_if:nTF { \g__mw_is_append_bool && \tl_if_exist_p:c { g__mw_content_ \int_to_roman:n { ##1 } _tl } }
+ {
+ \tl_gput_right:cV { g__mw_content_ \int_to_roman:n { ##1 } _tl } \l__mw_tmpb_tl
+ }
+ {
+ \tl_gset:cV { g__mw_content_ \int_to_roman:n { ##1 } _tl } \l__mw_tmpb_tl
+ }
+ }
+ \group_end:
+}
+
+
+\NewDocumentCommand{\MagicWatermark}{m}{
+ \group_begin:
+ \AtBeginDocument{
+ \keys_set:nn { mw } { #1 }
+ \AddToHook{shipout/background}{
+ \put(.5\paperwidth,-.5\paperheight){
+ \tl_if_exist:cT { g__mw_content_ \int_to_roman:n { \value{page} }_tl }
+ {
+ \tl_use:c { g__mw_content_ \int_to_roman:n { \value{page} } _tl }
+ }
+ }
+ }
+ }
+ \group_end:
+}
+
+\@onlypreamble\MagicWatermark \ No newline at end of file
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..f2c55cf149 100644
--- a/macros/latex/contrib/mathastext/README.md
+++ b/macros/latex/contrib/mathastext/README.md
@@ -8,13 +8,13 @@
+-------------------------------------------+
This Work may be distributed and/or modified under the conditions
-of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
+of the [LPPL 1.3c](https://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.4b 2024/07/27
DESCRIPTION
@@ -82,6 +82,98 @@ Main options: `italic`, `frenchmath`, `subdued`, `LGRgreek`.
RECENT CHANGES
==============
+1.4b \[2024/07/27\]
+----
+
+* Fix a regression at `1.4` regarding option `nodigits`.
+
+* New option: `noletters`. I am in old age now so I can provide an option
+ completely antithetical to my life work.
+
+* Option `everymath` which is destined to be removed at next major
+ release warns user about it. As major releases tend to happen once
+ per decade I think the constant nagging will become insufferable
+ and you will adapt to the `1.4` changes rather than persisting into
+ using this option.
+
+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 +225,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..7857f9b70a 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: <26-07-2024 at 11:21:35 CEST>}
+\def\docdate{2024/07/27}
% 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/27}
+\def\MSTpkgversion {1.4b}
%</drv>
%<*dtx>
\iffalse % meta-comment
@@ -28,13 +28,13 @@
+-------------------------------------------+
This Work may be distributed and/or modified under the conditions
-of the [LPPL1.3c](http://www.latex-project.org/lppl/lppl-1-3c.txt)
+of the [LPPL 1.3c](https://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.4b 2024/07/27
%</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.4b 2024/07/27
%% 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,98 @@ MATHASTEXT CHANGE LOG
%</changelog>
%<*readme|changelog>
+1.4b \[2024/07/27\]
+----
+
+* Fix a regression at `1.4` regarding option `nodigits`.
+
+* New option: `noletters`. I am in old age now so I can provide an option
+ completely antithetical to my life work.
+
+* Option `everymath` which is destined to be removed at next major
+ release warns user about it. As major releases tend to happen once
+ per decade I think the constant nagging will become insufferable
+ and you will adapt to the `1.4` changes rather than persisting into
+ using this option.
+
+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 +336,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 +398,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 +443,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 +705,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 +843,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 +989,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 +1062,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 +1117,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 +1146,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 +1270,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 +1392,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'entrée 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 +1526,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 +1553,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 +1784,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 +1811,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 +1821,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 +1858,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 +1871,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 +1880,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 +1892,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 +1901,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 +1915,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 +1955,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{Miscellanea}
+
+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!
-\subsection{More miscellanea}
+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.
-This may repeat information already given.
+\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{Load \mst always last}
+\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).
-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.12} \mst when dealing with a Unicode font sets the \cs{hbar}
+ to be the character from the font having hexadecimal codepoint |U+0127|.
-More generally any package (such as \ctanpkg{amsmath}) dealing with math mode should be
-loaded \emph{before} \mst.
+ 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|.
+
+ 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 +2156,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 +2212,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 +2292,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 +2330,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: all internal macros use
+\cs{mst@} (or \cs{ifmst@} for \TeX{} conditionals) as 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.
+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 already `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 +2789,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 +2817,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,
@@ -3058,8 +2875,9 @@ provided by \mst:
package, Greek letters are the default Computer
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
+ `upright', which gives upright Greek letters
+ or by the author \ctanpkg{lgrmath} package.
+\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 +2906,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 +2964,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 +3005,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 +3016,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 +3042,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 +3182,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 +3197,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 +3232,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 +3412,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 +3489,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}
+
+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.
-\subsection{Extra spaces around letters}
+\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 +3526,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.
-
-% Earlier this `mathematical activation' of letters had been used by the package
-% only to add automatically italic corrections, as described in the next
-% section.
+§\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.
-\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 +3648,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 déjà 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 +3718,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 +3729,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 +3762,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 +3812,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 façon 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 +3836,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 +3868,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 obsolète
-%% (pas sûr si à 100%, mais en tout cas l'exemple avec \mathbf{-} n'a plus
-%% de problème.
-% \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.
+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
-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.
-
-\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.
+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.}
-\subsection{Compatibility issues}\label{sec:compat}
-
-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 décembre 2023: l'utilisation de bleu alors que ce n'est
@@ -4503,7 +4217,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 +4231,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 +4267,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 +4311,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 +4359,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 +4373,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 +4382,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 +4397,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 +4417,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 +4435,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 +4474,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 +4492,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 +4514,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 +4567,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 +4686,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 +4712,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 +4733,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 +4750,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.
+
+ \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}: 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
+\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 même 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§
+ configuration after §\MTactiveasterisk§.
+
+\end{footnotesize}
-\item \mstcmd{MTlowerast}\marg{dimen}: a \cs{raisebox} command is
+\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{MTmathactiveletters}:\RightNote{\mstrelease{1.3}}
+ `math activation' of all ascii Latin
+ letters. This is done by the package automatically except under the
+ §subdued§ option.
- \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}
-
-\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'' 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 +4944,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}.)
-
-% obsolète 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.
-% obsolète 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 +4988,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
-\item \RightNote{1.3j}\mstcmd{MTeverymathoff}: does §\MTnormalasterisk§,
+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{\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
+ }
+
+\end{enumerate}
- 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}
+\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 déjà 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 +5101,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}
@@ -5388,7 +5170,8 @@ actions as they are not related to \cs{everymath} and \cs{everydisplay}.\par}
roughly by themes. So, objectively, the best for the diligent reader is to
read thoroughly all descriptions.
\begin{enumerate}[label=$\bullet$, leftmargin=1em]
- \item \mstopt{basic}: only mathastextify letters and digits.
+ \item \mstopt{basic}: only mathastextify (ascii) letters and digits. Can
+ be combined with either §nodigits§ or §noletters§.
\item \mstopt{subdued}: acts in a subdued way, which means that the \LaTeX\
``normal'' (default) and ``bold'' (triggered by \cs{boldmath} or
\cs{mathversion}|{bold}|, undone by \cs{unboldmath} or on exit from a
@@ -5410,10 +5193,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 +5207,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 +5217,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 +5271,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 +5282,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 +5305,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 +5334,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 +5346,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 +5356,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,20 +5369,75 @@ 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{nohbar}: prevents \mst from defining its own
+\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}:\RLNote{new:}{\mstrelease{1.4}}
+ it 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{nodigits}: no \mst-ification of digits.
+\item \mstopt{noletters}:\RLNote{new:}{\mstrelease{1.4b}}
+ This is quite antithetical to the package core aim, but here you go.
+
+ \begin{footnotesize}
+ This option implies §nohbar§ and §defaultimath§.
+
+ Note though that \mst will still declare to \LaTeX{} two extra symbol
+ fonts and define alphabet commands such as §\Mathrm§, §\Mathnormal§ and
+ §\mathnormalbold§ which map to them. But ascii letters will if not in
+ arguments of these commands not use the \mst-font and all business of
+ active letters (see \autoref{ssec:hackingletters}) is now irrevocably
+ inaccessible.
+
+ If you simply want to avoid the overhead of math active
+ letters, use rather §\MTmathstandardletters§ in the preamble after having
+ loaded the package (although this does not undo the fact that \mst will
+ have redefined what a letter does if it is catcode active but that remark
+ should have been made in an even smaller typeface).\par
+ \end{footnotesize}
+ \item \mstopt{nohbar}: prevents \mst from defining its own
\cs{hbar}.
\item \mstopt{noendash}: the minus sign will be the - from the
text font, not the en-dash \textendash.
@@ -5616,7 +5452,7 @@ The same remarks apply as for the §ncccomma§ option. In particular \emph{note
\ \mstopt{nopunctuation} ,\,.\,:\,;\ \mstopt{noplus},
\mstopt{nominus}, \mstopt{noplusnominus}\ +\,\textendash{} \mstopt{noequal} =\
\mstopt{noparenthesis} (\,)\,[\,]\,/\ \mstopt{nospecials}
-\#\,\$\,\%\,\&\ and \mstopt{nodigits}.
+\#\,\$\,\%\,\&\ (and §nodigits§ and §noletters§ mentioned earlier).
\item \mstopt{alldelims}: true by default, means that the
characters excluded by §nolessnomore§ are
treated. Use this option in case of a mono-width
@@ -5690,7 +5526,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 +5535,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 +5552,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 +5583,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 +5592,29 @@ 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 due to the \mstrelease{1.4} release, which made it
+ necessary for you to use this option §everymath§ as workaround.
+
+ The option is destined to be removed at next major release and it will warn
+ the user about this.
+\end{enumerate}
Thanks to Kevin~\textsc{Klement}, Tariq~\textsc{Perwez}
and Ricard~\textsc{Torres} for sending bug reports and feature requests when
@@ -5780,6 +5638,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 plutôt shortvrb)
@@ -5817,16 +5676,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 déjà 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 problème 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 réduis à --- 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 référence à 1.15g nulle part.
+\def\fixonexv#1 and#2\relax{#1}
+
\catcode`-=\active
\def-{%
\catcode`M\active
@@ -5869,7 +5739,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 +5754,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/27 v1.4b 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 +5802,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 +5847,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 +5887,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 +5913,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 +5928,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 +5937,24 @@ 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|.
+%
+% \mstrelease{1.4b} adds |noletters|.
% \begin{macrocode}
\newif\ifmst@italic
\newif\ifmst@frenchmath
@@ -6082,25 +5997,32 @@ 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}
+% \end{macrocode}
+% \mstrelease{1.4b} adds option |noletters|.
+% \begin{macrocode}
+\newif\ifmst@noletters
+ \DeclareOption{noletters}{\mst@noletterstrue\ExecuteOptions{nohbar,defaultimath}}
\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 +6030,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 +6066,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 +6091,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 +6107,25 @@ 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
+\PackageWarningNoLine{mathastext}{%
+ `everymath\string' will be removed at next major release.\MessageBreak
+ Please report to the author the circumstances\MessageBreak
+ which mandated its use in the present document}%
+}
+% \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 +6149,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 +6159,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 +6196,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 +6205,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 +6274,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 +6296,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 +6444,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 +6501,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 +6513,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 +6527,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 +6590,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 +6614,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 +6899,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 +6908,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 +6956,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.
-%
-% 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).
+% \end{macro}\end{macro}
+% \begin{macro}{\mst@addtodo@easynonletters}
+% |#1| is a one character control sequence (|\.|, |\/|, |\#|, |\%| or |\&|)
+% and |#2| is a mathchar.
%
-% |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.
+% 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.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 restée à |2015/09/22| (date de |1.4a|) au lieu de quelque
+% de release est restée à |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 assurée 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 +7147,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 +7172,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 +7190,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 +7220,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
}%
\let\mst@originalnewmcodes@\newmcodes@
\fi
- }% end of AtBeginDocument
+ }%
\else
\AtBeginDocument {%
\ifx\newmcodes@\@undefined\else
@@ -7047,9 +7240,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 +7273,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 +7286,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 +7327,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.
%
-% |1.3p| renames the macro to \cs{MTfixmathfonts} for public access.
+% The \url{https://github.com/latex3/fontspec/issues/525} problem causes
+% additional complications.
+%
+% 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 +7411,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 +7433,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 +7462,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 +7477,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 +7529,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 +7549,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 +7568,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 +7585,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 +7599,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 +7655,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 +7697,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 +7748,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 +7768,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 +7803,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 +7813,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 +7841,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 +7867,359 @@ 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}
+%
+% \mstrelease{1.4b} adds |noletters| option.
% \begin{macrocode}
-\def\mst@DeclareMathLetter #1{%
+\ifmst@noletters
+ \let\MTmathactiveletters\@empty
+ \let\MTmathactiveLetters\@empty
+ \let\MTmathstandardletters\@empty
+\else
+\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\mst@DeclareMathLetter\mst@tmp}%
-\let\mst@DeclareMathLetter\relax
+\@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
+}%
+\fi
+% \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.
+%
+% \mstrelease{1.4} had defined some no-op \cs{MTmathstandarddigits} and
+% \cs{MTmathactivedigits} but if not under option |nodigits|. As they are
+% used in \cs{MTeverymathoff} and \cs{MTeverymathdefault} though this broke
+% the option |nodigits| (either with |subdued| or when using \cs{MTversion}).
+%
+% Defining them as \cs{empty} so that \LaTeX{} defensive mechanism with
+% \cs{newcommand} works but this is sooooooo hypothetical context!
+% \begin{macrocode}
+\let\MTmathactivedigits\empty
+\let\MTmathstandarddigits\empty
\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}%
% \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{}%
+ }%
+ }%
+ \def\MTmathactivedigits{\mst@OnlyIfNotSubdued\mst@mathactivatedigits}%
+ \MTmathactivedigits
+ \ifmst@everymath
+ \def\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}
+ \def\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 +8232,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 +8250,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 +8263,100 @@ 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|. Finally using \cs{let} here with \cs{empty} with
+% the idea of less impact on \TeX{} internals, but losing \LaTeX{} check.
% \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}
+\let\MTnormalasterisk\empty
+\let\MTactiveasterisk\empty
\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 +8369,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 +8402,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 +8419,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 +8448,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 +8489,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}
+% \mstrelease{1.3v} uses \cs{protected} for the (optional) \cs{colon} redefinition.
+% \begin{macrocode}
+ \mst@do@nonletters\expandafter{%
+ \the\mst@do@nonletters
+ \protected\def\colon{\mathpunct{\mst@varfam@colon}}%
+ }%
% \end{macrocode}
-% |1.3v| uses \cs{protected} for the (optional) \cs{colon} redefinition.
+% \mstrelease{1.4} needs extras.
% \begin{macrocode}
- \protected\def\colon{\mathpunct{\mst@varfam@colon}}}%
+ \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 +8567,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 +8596,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 +8648,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 +8661,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 +8677,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 +8689,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 +8706,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 +8717,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 +8728,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 +8741,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 +8777,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 +8786,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 +8862,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 +8904,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 +8931,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}}}
+\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}
+\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 +8978,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 +8992,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 +9050,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 +9106,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 +9195,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 +9206,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 +9303,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 +9314,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 +9327,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 +9383,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 +9401,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 considérais eulergreek et selfGreek comme pouvant
@@ -8709,8 +9420,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 +9507,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 +9543,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 +9627,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 +9694,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 +9768,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 +9832,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 +9923,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 +9956,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 +9975,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 +10008,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 +10043,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 +10073,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 +10080,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 +10102,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 +10115,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 +10177,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 +10246,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 +10272,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 +10279,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 +10333,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 +10349,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 +10365,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 +10384,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 +10405,69 @@ 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}%
+ {\ifmst@noletters
+ \else
+ 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
+ \fi
Other characters (digits, ...) and \protect\log-like names\MessageBreak
- will be in `#6\string' shape\@gobble}%
-\immediate\write\m@ne{}%
+ \ifmst@noletters
+ will use the font #3/#4/#5/#6%
+ \else
+ will be in `#6\string' shape%
+ \fi\@gobble}%
+ \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
+ \ifmst@noletters
+ \else
+ \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{}%
+ \fi
+ \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}%
+ {\ifmst@noletters
+ \else
+ 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
+ \fi
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}%
+ \ifmst@noletters
+ will use the font #3/#4/#5/#6%
+ \else
+ will be in `#6\string' shape%
+ \fi\@gobble}%
+ \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 +10487,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 +10535,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 +10597,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\expandafter\mst@dothe@hyphenstuff\mst@tmp
\fi
\fi
-}% \MTDeclareVersion@@
+}%
\let\MathastextDeclareVersion\MTDeclareVersion
% \end{macrocode}
% \end{macro}
@@ -9890,45 +10612,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 +10671,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 +10704,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 +10724,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 +10740,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 +10758,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 +10792,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 +10814,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 +10846,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 +10859,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 +10885,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 +10902,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 +10933,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 +10945,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 +10966,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 +10995,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 +11029,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 +11055,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 +11098,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 +11126,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 +11161,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 +11173,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 +11234,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 +11258,7 @@ defaultbf,defaultit,defaultsf,defaulttt}}
\MTnonlettersdonotobeymathxx
\MTeasynonlettersdonotobeymathxx
\MTmathstandardletters
+ \MTmathstandarddigits
\MTdonotfixfonts
}%
\AtBeginDocument {%
@@ -10513,7 +11269,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 +11293,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 +11313,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 +11384,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 +11416,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 +11435,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 +11447,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 +11469,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 +11499,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 +11538,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..635b6149fb 100644
--- a/macros/latex/contrib/mathastext/mathastext.pdf
+++ b/macros/latex/contrib/mathastext/mathastext.pdf
Binary files differ
diff --git a/macros/latex/contrib/mercatormap/CHANGES.md b/macros/latex/contrib/mercatormap/CHANGES.md
new file mode 100644
index 0000000000..49ef66fb7a
--- /dev/null
+++ b/macros/latex/contrib/mercatormap/CHANGES.md
@@ -0,0 +1,176 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on
+[Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to
+[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### Added
+### Changed
+### Deprecated
+### Removed
+### Fixed
+### Security
+
+
+
+## [1.2.0] - 2024-08-05
+
+### Added
+- Command `\ifmrcNPexists` to test existence of a named position
+- Macros `\mrcAnimAngle` and `\l_mermap_anim_angle_fp` to measure
+ the current orthodrome angle
+- Animation example for static maps
+
+### Changed
+- `\mrcNPlat` and `\mrcNPlon` result to 0 now, if named position does not exist
+- `\ifmrcNPinmap` and `\ifmrcNPinvicinity` result to `false` now, if named position does not exist
+- Point definitions on an orthodrome now take an optional angle as result:
+ - Command `mrcNPfromOrthoFraction`
+ - Command `mrcNPfromOrthoFractionNamed`
+ - Command `mrcNPfromOrthoDistance`
+ - Command `mrcNPfromOrthoDistanceNamed`
+
+### Fixed
+- Documentation contained dates from `2023` instead of `2024`
+
+
+
+## [1.1.0] - 2024-08-01
+
+### Added
+- New supply sources (web tile servers):
+ - `thunderforest atlas`
+ - `topplusopen web light`
+ - `topplusopen web light grau`
+- Needed LaTeX version 2023-11-01
+- Point definitions on an orthodrome:
+ - Command `mrcNPfromOrthoFraction`
+ - Command `mrcNPfromOrthoFractionNamed`
+ - Command `mrcNPfromOrthoDistance`
+ - Command `mrcNPfromOrthoDistanceNamed`
+- Animation support:
+ - Environment `mrcAnimation`
+ - Command `\mrcTimewarpIdentity`
+ - Command `\mrcTimewarpSlowStart`
+ - Command `\mrcTimewarpSlowFinal`
+ - Command `\mrcTimewarpSlowStartFinal`
+ - Command `\mrcAnimFrame`
+ - Command `\l_mermap_anim_frame_int`
+ - Command `\mrcAnimTime`
+ - Command `\l_mermap_anim_time_fp`
+ - Command `\mrcAnimScaleDenom`
+ - Command `\l_mermap_anim_scaledenom_fp`
+ - Command `\mrcAnimLatitude`
+ - Command `\l_mermap_anim_lat_fp`
+ - Command `\mrcAnimLongitude`
+ - Command `\l_mermap_anim_lon_fp`
+ - Option `start-position`
+ - Option `named-start-position`
+ - Option `final-position`
+ - Option `named-final-position`
+ - Option `position`
+ - Option `named-position`
+ - Option `frames`
+ - Option `drop-first-frame`
+ - Option `drop-last-frame`
+ - Option `drop-no-frame`
+ - Option `scale-denominators`
+ - Option `common-scale-denominator`
+ - Option `timewarp`
+ - Option `timewarp-identity`
+ - Option `timewarp-slow-start`
+ - Option `timewarp-slow-final`
+ - Option `timewarp-slow-start-final`
+
+### Changed
+- Version history moved from documentation Chapter 11 to this changelog
+- Versioning changed to [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
+ starting with 1.1.0
+- `README` changed to `README.md`
+- Key names start with `mermap` instead of `/mermap` now
+- All common scratch variables like `\l_tmpa_tl` replaced by package variables
+- Orthodrome code
+- Several code further revisions
+
+### Deprecated
+- Stamen Design has discontinued to server map tiles since 2023-07-31.
+ Therefore, all `supply/source` options based on Stamen Design are
+ deprecated now, namely
+ - `stamen terrain`
+ - `stamen terrain-background`
+ - `stamen terrain-labels`
+ - `stamen terrain-lines`
+ - `stamen toner`
+ - `stamen toner-lite`
+ - `stamen toner-hybrid`
+ - `stamen toner-background`
+ - `stamen toner-labels`
+ - `stamen toner-lines`
+ - `stamen watercolor`
+ All these options are now not documented any more, but for some time
+ are still available for old documents with cached map tiles.
+
+### Removed
+- Requirement for packages `expl3`, `xparse`, and `pdftexcmds`
+
+### Fixed
+- Links to the WMS maps of Bundesamt für Kartographie und Geodäsie changed
+- Overwrite warning while generating `maptiles.texpy`
+- Orthodrome drawing with identical starting and final point is now silently ignored
+
+
+
+## [1.02] - 2020-08-06
+
+### Added
+- New options
+ `/mermap/supply/area from marker input` and
+ `/mermap/supply/add area from marker input`
+ which allow to fit a map to a given external list of marker positions.
+- New option `/mermap/fail on missing resource` to control
+ compilation behavior for missing resource files.
+- New marker option `/mermap/marker/distance` with corresponding
+ macro `\mrcmarkerdistance` (issue #2)
+
+### Deprecated
+- Openrouteservice has discontinued mapsurfer tiles since June 2020.
+ Therefore, `/mermap/supply/source=openrouteservice mapsurfer`
+ is deprecated now. It is not documented any more, but
+ for some time it is still available for old documents with
+ cached map tiles.
+
+
+
+## [1.01] - 2020-05-05
+
+### Added
+- New general marker option
+ `/mermap/marker/generic` with corresponding macros
+ `\mrcmarkergeneric` and `\l_mermap_marker_generic_tl`.
+ Also, the marker uuid is made expl3 accessible as `\l_mermap_marker_uuid_tl`.
+- New hyper marker options:
+ - `/mermap/marker/url`
+ - `/mermap/marker/link`
+ - `/mermap/marker/use urls`
+ - `/mermap/marker/ignore urls`
+ - `/mermap/marker/use links`
+ - `/mermap/marker/ignore links`
+
+### Changed
+- User messages for failed Python script calls are changed from warnings to
+ errors to fail fast and to provide more information and hints about
+ possible reasons.
+
+### Fixed
+- Sorting of index key entries fixed for the documentation.
+
+
+
+## [1.00] - 2020-04-20
+
+### Added
+- Initial public release
diff --git a/macros/latex/contrib/mercatormap/README b/macros/latex/contrib/mercatormap/README
deleted file mode 100644
index c33ea99112..0000000000
--- a/macros/latex/contrib/mercatormap/README
+++ /dev/null
@@ -1,43 +0,0 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
-%%
-%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
-%% -------------------------------------------------------------------------------------------
-%%
-%% 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 `author-maintained'.
-%%
-%% This work consists of all files listed in README
-%%
-
-The package ...
-
-Contents of the package
-=======================
- 'README' this file
- 'mercatormap.sty' LaTeX package file (style file)
- 'mercatorsupplier.def' LaTeX package file (include file for style)
- 'mercatorpy.def' LaTeX package file (Python generator)
- 'mercatormap.pdf' Documentation
- 'mercatormap.tex' Source code of the documentation (main file)
- '*.doc.*' Source code of the documentation (include files)
- 'mercatormap-example.tex' Source code of an example
- 'mercatormap.bib' Bibliography of the documentation
-
-Installation
-============
-Copy the contents of the 'mercatormap.tds.zip' from CTAN to your local TeX file tree.
-
-Alternatively, put the files to their respective locations within the TeX installation:
- 'mercatormap.sty' -> /tex/latex/mercatormap
- 'mercatorpy.def' -> /tex/latex/mercatormap
- 'mercatorsupplier.def' -> /tex/latex/mercatormap
-
- all other files -> /doc/latex/mercatormap
diff --git a/macros/latex/contrib/mercatormap/README.md b/macros/latex/contrib/mercatormap/README.md
new file mode 100644
index 0000000000..b7b4be29ab
--- /dev/null
+++ b/macros/latex/contrib/mercatormap/README.md
@@ -0,0 +1,50 @@
+# The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
+
+
+> Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+
+> 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-05-04 or later.
+
+> This work has the LPPL maintenance status `author-maintained`.
+
+> This work consists of all files listed in README.md
+
+
+The mercatormap package extends TikZ with tools to
+create map graphics. The provided coordinate system relies on the
+Web Mercator projection used on the Web by OpenStreetMap and others.
+The package supports the seamless integration of graphics
+from public map tile servers by a Python script. Also, common map
+elements like markers, geodetic networks, bar scales, routes, orthodrome
+pieces, and more are part of the package.
+
+
+## Contents of the package
+
+- `README.md` this file
+- `CHANGES.md` log of changes (history)
+- `mercatormap.sty` LaTeX package file (style file)
+- `mercatorsupplier.def` LaTeX package file (include file for style)
+- `mercatorpy.def` LaTeX package file (Python generator)
+- `mercatormap.pdf` Documentation
+- `mercatormap.tex` Source code of the documentation (main file)
+- `*.doc.*` Source code of the documentation (include files)
+- `mercatormap-example.tex` Source code of an example
+- `mercatormap.bib` Bibliography of the documentation
+
+
+## Installation
+
+Copy the contents of the `mercatormap.tds.zip` from CTAN to your local TeX file tree.
+
+Alternatively, put the files to their respective locations within the TeX installation:
+- `mercatormap.sty` -> /tex/latex/mercatormap
+- `mercatorpy.def` -> /tex/latex/mercatormap
+- `mercatorsupplier.def` -> /tex/latex/mercatormap
+- all other files -> /doc/latex/mercatormap
diff --git a/macros/latex/contrib/mercatormap/mercatormap-example.tex b/macros/latex/contrib/mercatormap/mercatormap-example.tex
index 0951bf14d1..333a249590 100644
--- a/macros/latex/contrib/mercatormap/mercatormap-example.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap-example.tex
@@ -1,11 +1,11 @@
% \LaTeX-Main\
% !TeX encoding=UTF-8
%%
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap-example.tex: Example document with a map
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/mercatormap/mercatormap.bib b/macros/latex/contrib/mercatormap/mercatormap.bib
index ef2e9b6213..36a3e976ec 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.bib
+++ b/macros/latex/contrib/mercatormap/mercatormap.bib
@@ -1,4 +1,5 @@
% Encoding: UTF-8
+
% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
@Report{Sturm:2020,
@@ -14,35 +15,27 @@
}
-@manual{package:tikz,
- author = {Till Tantau},
- title = {The TikZ and PGF Packages},
- subtitle = {Manual for version 3.1.5b},
- url = {http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
- date = {2020-01-08},
+@Manual{package:tikz,
+ author = {Till Tantau},
+ date = {2023-01-15},
+ title = {The TikZ and PGF Packages},
+ subtitle = {Manual for version 3.1.10},
+ url = {https://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
}
-@manual{package:xparse,
- author = {{The \LaTeX3 Project}},
- title = {The xparse package},
- subtitle = {Document command parser},
- url = {http://mirrors.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
- date = {2020-03-06},
+@Manual{l3kernel:interfaces,
+ author = {{The \LaTeX3 Project}},
+ date = {2024-05-27},
+ title = {The \LaTeX3 Interfaces},
}
-@manual{package:siunitx,
- author = {Joseph Wright},
- title = {siunitx -- A comprehensive (SI) units package},
- url = {http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf},
- date = {2020-02-25},
+@Manual{package:siunitx,
+ author = {Joseph Wright},
+ date = {2024-06-24},
+ title = {siunitx -- A comprehensive (SI) units package},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf},
}
-
-@manual{package:expl3,
- author = {{The \LaTeX3 Project}},
- title = {The expl3 package and \LaTeX3 programming},
- url = {http://mirrors.ctan.org/macros/latex/contrib/l3kernel/expl3.pdf},
- date = {2020-04-06},
-}
+@Comment{jabref-meta: databaseType:biblatex;}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex
new file mode 100644
index 0000000000..022b856a61
--- /dev/null
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.animations.tex
@@ -0,0 +1,538 @@
+% !TeX root = mercatormap.tex
+% !TeX encoding=UTF-8
+% !TeX spellcheck=en_US
+% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
+\clearpage
+\section{Animations}\label{sec:animations}%
+
+An animation in the context of map drawing is considered to be a direct movement
+from a starting position to a final position with possible adaption of
+scale denominators.
+
+This package does not provide animation production, but allows to create a
+PDF with a sequence of maps (frames) following such an animation path.
+
+
+%-------------------------------------------------------------------------------
+\subsection{Animation Environment}
+
+\begin{docEnvironment}[doc new=2024-07-31]{mrcAnimation}{\marg{options}}
+ According to the given \meta{options}, the environment loops over the
+ \meta{environment content} several times generating \textit{frames}
+ for an external animation program.
+ A detailed description for the \meta{options} is found in \Fullref{ref:animOptions}.
+ \begin{itemize}
+ \item Basically, the position is moved from
+ a given \refKey{mermap/anim/start-position} with time index |0|
+ following an orthodrome
+ to a \refKey{mermap/anim/final-position} with time index |1|.
+ \item
+ This time interval $[0,1]$ is divided into \refKey{mermap/anim/frames}.
+ The current frame number is denoted by \refCom{mrcAnimFrame},
+ the current time is denoted by \refCom{mrcAnimTime}, and
+ the current position is denoted by
+ \refCom{mrcAnimLatitude} and \refCom{mrcAnimLongitude},
+ alternatively by the named positon \docValue{AnimNP}.
+ \item
+ During movement, a time dependent sequence of \refKey{mermap/anim/scale-denominators}
+ defines the current scale denominator \refCom{mrcAnimScaleDenom}.
+ \item
+ The frames may have an equal time distance or have different time
+ distances using a \refKey{mermap/anim/timewarp}. This could be used
+ to slow down movement near ground and to speed up with more height.
+ \end{itemize}
+ The generated sequence of frames is applicable for
+ \begin{itemize}
+ \item Movement along an orthodrome from starting to final position with an unchanged
+ common scale denominator.
+ \item Zoom in or out on a fixed position.
+ \item Combination of both animations.
+ \item Animated orthodrome drawing on a static map.
+ \end{itemize}
+ For more complex animations, several \refEnv{mrcAnimation} environments may be
+ used consecutively.
+\end{docEnvironment}
+
+\clearpage
+\begin{dispExample*}{breakable}
+ \mrcNPdef{heathrow}{51.4678}{-0.4548}
+ \mrcNPdef{fiumicino}{41.8151}{12.2508}
+
+ \begin{tcbraster}[raster height=22cm,raster columns=4,raster rows=7,
+ tile,size=minimal,boxsep=1pt,colback=black!20 ]
+ \begin{mrcAnimation}
+ {
+ named-start-position = heathrow,
+ named-final-position = fiumicino,
+ frames = 36,
+ scale-denominators = 0/1000000 - 0.3/8000000 - 0.7/8000000 - 1/1000000,
+ timewarp-slow-start-final = 1.5,
+ }
+ \begin{tcolorbox}
+ \begin{tikzpicture}
+ \mermapset
+ {
+ named flex scale = \mrcAnimScaleDenom:AnimNP,
+ }
+ \mrcmap
+ [
+ type = reference,
+ named position = AnimNP,
+ source = topplusopen web,
+ tex width = \tcbtextwidth,
+ tex height = \tcbtextheight
+ ]{london-roma-\mrcAnimFrame}
+ \mrcdrawmap
+ \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily]
+ at (mrcmap.south east) {\mrcmapattribution};
+ \mrcclipmap
+ \end{tikzpicture}
+ \end{tcolorbox}
+ \end{mrcAnimation}
+ \end{tcbraster}
+\end{dispExample*}
+
+
+
+\clearpage
+\begin{dispExample*}{breakable}
+ % \usepackage{fontawesome5}
+ \mrcNPdef{heathrow}{51.4678}{-0.4548}
+ \mrcNPdef{lax}{33.9421}{-118.4088}
+ \mrcNPdef{reykjavik}{64.1289}{-21.9369}
+
+ \begin{tcbraster}[raster height=22cm,raster columns=2,raster rows=4,
+ tile,size=minimal,boxsep=1pt,colback=black!20 ]
+ \begin{mrcAnimation}
+ {
+ named-start-position = heathrow,
+ named-final-position = lax,
+ frames = 8,
+ }
+ \begin{tcolorbox}
+ \begin{tikzpicture}
+ \mrcmap
+ [
+ type = areafit,
+ area = {heathrow,lax,reykjavik},
+ source = topplusopen web,
+ tex width = \tcbtextwidth,
+ tex height = \tcbtextheight,
+ flex area fit = 8mm,
+ ]{london-lax-\mrcAnimFrame}
+ \mrcdrawmap
+ \node[above left,font=\fontsize{3.5pt}{3.5pt}\sffamily]
+ at (mrcmap.south east) {\mrcmapattribution};
+ \mrcclipmap
+ \mrcNPdraworthodrome[red,very thick]{heathrow}{AnimNP}
+ \node[red!70!black,rotate=\mrcAnimAngle]
+ at (\mrcNPcs{AnimNP}) {\large\faPlane};
+ \end{tikzpicture}
+ \end{tcolorbox}
+ \end{mrcAnimation}
+ \end{tcbraster}
+\end{dispExample*}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Animation Options}\label{ref:animOptions}
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = start-position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-start-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Starting position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = final-position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-final-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Final position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = position,
+ doc parameter = {=\meta{latitude}/\meta{longitude}},
+ doc description = initially |51.4779/0|
+ },
+ {
+ doc name = named-position,
+ doc parameter = {=\meta{name}},
+ }
+ }
+ Fixed position of the animation given by
+ \meta{latitude} and \meta{longitude} or by a named position using \meta{name}.
+ This sets \refKey{mermap/anim/start-position} and
+ \refKey{mermap/anim/final-position} to the identical value.
+\end{docMrcKeys}
+
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = frames,
+ doc parameter = {=\meta{frame number}},
+ doc description = initially |20|
+ },
+ }
+ Integer \meta{frame number} for the animation, at least |2|. For maps made with tiles,
+ even a large \meta{frame number} typically results in limited downloads,
+ because the tiles a reused as far as possible. For WMS maps, every frame
+ could give another download!
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ doc parameter = {\colOpt{=true\textbar false}},
+ doc description = {default |true|, initially |false|},
+ ]{
+ {
+ doc name = drop-first-frame,
+ },
+ {
+ doc name = drop-last-frame,
+ },
+ }
+ If several \refEnv{mrcAnimation} environments are used consecutively,
+ the end frame of one animation is identical to the start frame of the
+ next animation. These options allow to remove one superfluous connecting frame.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = drop-no-frame,
+ doc description = {no value, initially set},
+ },
+ }
+ Reset to drop no frames.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = scale-denominators,
+ doc parameter = {=\marg{time and scale sequence}},
+ doc description = {initially |0/25000-1/25000|},
+ },
+ }
+ The \meta{time and scale sequence} has to obey the following pattern:
+ \par
+ \meta{time$_1$}|/|\meta{scale$_1$} |-|
+ \meta{time$_2$}|/|\meta{scale$_2$} |-| $\ldots$ |-|
+ \meta{time$_n$}|/|\meta{scale$_n$}
+ \par
+ The time values have to be taken from the interval $[0,1]$ and have to be
+ strictly monotonically increasing, i.e.
+ \par
+ $0\le$ \meta{time$_1$} $<$
+ \meta{time$_2$} $<$ $\ldots$ $<$
+ \meta{time$_n$} $\le 1$
+ \par
+ If not given, time and scale for time $0$ and $1$ are automatically added
+ as constant continuation.\par
+ Depending on the current time value \refCom{mrcAnimTime}, the current
+ scale denominator \refCom{mrcAnimScaleDenom} is interpolated from this
+ sequence using a logarithmic approach.
+\end{docMrcKeys}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = common-scale-denominator,
+ doc parameter = {=\marg{scale denominator}},
+ doc description = {initially |25000|},
+ },
+ }
+ This is a shortcut for\par
+ \refKey{mermap/anim/scale-denominators} |=|\\
+ \hspace*{5mm} |0/|\marg{scale denominator} |- 1/|\marg{scale denominator}
+ \par
+ Thereby, a fixed \marg{scale denominator} is set for the animation.
+\end{docMrcKeys}
+
+
+\clearpage
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp,
+ doc parameter = {=\meta{macro}},
+ doc description = initially \texttt{\textbackslash mrcTimewarpIdentity}
+ },
+ }
+ \meta{macro} has to be a fully expandable \LaTeX\ macro with one parameter.
+ The expansion has to be a valid |expl3| \meta{floating point expression}
+ denoting a strictly monotonically increasing function mapping from
+ the interval \mbox{$[0,1]$} into \mbox{$[0,1]$} again.
+ This timewarp may slow down and accelerate time over the span from $0$ to $1$.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpIdentity,
+ doc parameter = {=\marg{time}},
+ },
+ }
+ Identity function from \mbox{$[0,1]$} into \mbox{$[0,1]$}.
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-identity,
+ doc description = {no value, initially set}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpIdentity}.
+ This means that time flows constantly.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowStart,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Function term $t^{\text{\meta{exponent}}}$
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-start,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStart}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin of the
+ interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is
+ present at begin of a movement and is becoming larger later. Here, for smoothness,
+ you may want this to have slower speed near ground and larger speed later.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowFinal,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Function term $1 - (1-t)^{\text{\meta{exponent}}}$
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-final,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowFinal}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the end of the
+ interval \mbox{$[0,1]$}. This can be used, if a large scale denominator is
+ present at begin of a movement and is becoming lower later. Here, for smoothness,
+ you may want this to have slower speed near ground at the end.
+\end{docMrcKeys}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcTimewarpSlowStartFinal,
+ doc parameter = {=\marg{exponent}\marg{time}},
+ doc description = {default |2|}
+ },
+ }
+ Combination of \refCom{mrcTimewarpSlowStart} and \refCom{mrcTimewarpSlowFinal}
+ using case discrimination for the first and the second half of the intervall.
+\end{docCommands}
+
+
+\begin{docMrcKeys}[
+ doc keypath = anim,
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = timewarp-slow-start-final,
+ doc parameter = \colOpt{=\meta{exponent}},
+ doc description = {default |2|}
+ },
+ }
+ Sets \refKey{mermap/anim/timewarp} to \refCom{mrcTimewarpSlowStartFinal}\marg{exponent}.
+ \par
+ If $\text{\meta{exponent}}>1$ is used, time flows slower at the begin and at the end of the
+ interval \mbox{$[0,1]$}. This can be used, if a low scale denominator is
+ present at begin of a movement, becomes larger in the middle, and finally
+ is becoming lower later. Here, for smoothness,
+ you may want this to have slower speed near ground at the begin and the end.
+\end{docMrcKeys}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Macros inside the Animation Environment}\label{ref:animMacros}
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimFrame,
+ },
+ {
+ doc name = l_mermap_anim_frame_int,
+ },
+ }
+ The current frame number ranging from $1$ to \refKey{mermap/anim/frames}.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimTime,
+ },
+ {
+ doc name = l_mermap_anim_time_fp,
+ },
+ }
+ The current time ranging from $0$ to $1$.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimScaleDenom,
+ },
+ {
+ doc name = l_mermap_anim_scaledenom_fp,
+ },
+ }
+ The current scale denominator according to \refKey{mermap/anim/scale-denominators}.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimLatitude,
+ },
+ {
+ doc name = l_mermap_anim_lat_fp,
+ },
+ }
+ The latitude of the current position.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-07-31,
+ ]{
+ {
+ doc name = mrcAnimLongitude,
+ },
+ {
+ doc name = l_mermap_anim_lon_fp,
+ },
+ }
+ The longitude of the current position.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc new = 2024-08-05,
+ ]{
+ {
+ doc name = mrcAnimAngle,
+ },
+ {
+ doc name = l_mermap_anim_angle_fp,
+ },
+ }
+ Current angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+\end{docCommands}
+
+
+
+
+\docValue{AnimNP}\tcbdocmarginnote{\tcbdocnew{2024-07-31}}:
+ The current named position.
+
+
+
+
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex
index ad285fb7c9..01667cd1d3 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.definition.tex
@@ -23,14 +23,14 @@
\subsection{Option Setting}
\begin{docCommand}{mermapset}{\marg{options}}
Sets \meta{options} for all following maps inside the current \TeX\ group.
- All options share the common prefix |/mermap/|, e.g. for setting
- \refKey{/mermap/vicinity} use
+ All options share the common prefix |mermap/|, e.g. for setting
+ \refKey{mermap/vicinity} use
\begin{dispListing}
\mermapset{vicinity=3cm}
\end{dispListing}
Also see \refCom{mrcdefinemap}, \refCom{mermapsetsupply},
and \refCom{mermapsetmarker}.\par
- Note that the options by \refCom{mermapset} are |expl3| \cite{package:expl3}
+ Note that the options by \refCom{mermapset} are |expl3| \cite{l3kernel:interfaces}
keys while \tikzname\ \cite{package:tikz} uses its own key management.
\end{docCommand}
@@ -45,7 +45,7 @@ See \Fullref{sec:automated_map} for script aided map definitions.
\begin{docCommand}{mrcdefinemap}{\marg{options}}
Establishes a map inside a |tikzpicture| environment following
and applying the given \meta{options}.
- All options share the common prefix |/mermap/mapdef/|.
+ All options share the common prefix |mermap/mapdef/|.
After \refCom{mrcdefinemap} is applied, map drawing and map coordinates
can be used.
\begin{itemize}
@@ -60,25 +60,25 @@ See \Fullref{sec:automated_map} for script aided map definitions.
\begin{docMrcKey}[mapdef]{north}{=\meta{map north latitude}}{no default, initially 50}
Northern latitude degree of the visible map, possibly negative for the southern hemisphere,
- lower than $90$ but always larger than \refKey{/mermap/mapdef/south}.
+ lower than $90$ but always larger than \refKey{mermap/mapdef/south}.
It is accessible as \docAuxCommand{mrcmapnorth} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{south}{=\meta{map south latitude}}{no default, initially 48}
Southern latitude degree of the visible map, possibly negative for the southern hemisphere,
- larger than $-90$ but always lower than \refKey{/mermap/mapdef/north}.
+ larger than $-90$ but always lower than \refKey{mermap/mapdef/north}.
It is accessible as \docAuxCommand{mrcmapsouth} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{west}{=\meta{map west longitude}}{no default, initially 11}
Western longitude degree of the visible map, possibly negative for the western hemisphere,
- possibly shifted periodically, but always lower than \refKey{/mermap/mapdef/east}.
+ possibly shifted periodically, but always lower than \refKey{mermap/mapdef/east}.
It is accessible as \docAuxCommand{mrcmapwest} (use read-only).
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{east}{=\meta{map east longitude}}{no default, initially 13}
Eastern longitude degree of the visible map, possibly negative for the western hemisphere,
- possibly shifted periodically, but always larger than \refKey{/mermap/mapdef/west}.
+ possibly shifted periodically, but always larger than \refKey{mermap/mapdef/west}.
It is accessible as \docAuxCommand{mrcmapeast} (use read-only).
\end{docMrcKey}
@@ -149,7 +149,7 @@ information.
\begin{docMrcKey}[mapdef]{attribution print}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source.
- In contrast to \refKey{/mermap/mapdef/attribution} it is intended for media
+ In contrast to \refKey{mermap/mapdef/attribution} it is intended for media
that does not support hyperlinks like printed posters, books, etc.
It is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only).
\end{docMrcKey}
@@ -166,7 +166,7 @@ information.
\end{docMrcKey}
\begin{docMrcKey}[mapdef]{tile size}{=\meta{length}}{no default, initially |32.512mm|}
- Typically set computationally. It is identical to \refKey{/mermap/tile size}
+ Typically set computationally. It is identical to \refKey{mermap/tile size}
which is the recommended user option for manual setup.
\end{docMrcKey}
@@ -204,7 +204,7 @@ The border of the visible map is denoted by a \tikzname\ node \docNode{mrcmap}.
\medskip
The |mrc cs| coordinate system defines a map point by
-\refKey{/mermap/cs/latitude} and \refKey{/mermap/cs/longitude}
+\refKey{mermap/cs/latitude} and \refKey{mermap/cs/longitude}
\begin{docMrcKey}[cs]{latitude}{=\meta{latitude}}{no default}
Sets the \meta{latitude} of a map point.
@@ -220,7 +220,7 @@ The |mrc cs| coordinate system defines a map point by
\medskip
A map point can also be defined by shorter variants
-\refKey{/mermap/cs/lat} and \refKey{/mermap/cs/lon}
+\refKey{mermap/cs/lat} and \refKey{mermap/cs/lon}
\begin{docMrcKey}[cs]{lat}{=\meta{latitude}}{no default}
Sets the \meta{latitude} of a map point.
@@ -298,9 +298,10 @@ A map point can be defined even quicker by
\end{docCommand}
-\begin{docCommand}{mrcNPlat}{\marg{name}}
+\begin{docCommand}[doc updated=2024-08-02]{mrcNPlat}{\marg{name}}
Inserts the \emph{latitude} of a \emph{named position} with given \meta{name}.
\refCom{mrcNPlat} is expandable and may be used in floating point expressions.
+ If the \meta{name} does not exist, the macro expands to |0|.
\begin{dispExample}
\mrcNPdef{nuremberg}{49.45522}{11.07631}
Latitude: \mrcNPlat{nuremberg}\\
@@ -309,9 +310,16 @@ A map point can be defined even quicker by
\end{docCommand}
-\begin{docCommand}{mrcNPlon}{\marg{name}}
+\begin{docCommand}[doc updated=2024-08-02]{mrcNPlon}{\marg{name}}
Inserts the \emph{longitude} of a \emph{named position} with given \meta{name}.
\refCom{mrcNPlon} is expandable and may be used in floating point expressions.
+ If the \meta{name} does not exist, the macro expands to |0|.
+\end{docCommand}
+
+
+\begin{docCommand}[doc new=2024-08-02]{ifmrcNPexists}{\marg{name}\marg{true}\marg{false}}
+ If the given \emph{named position} with given \meta{name} exists, the \meta{true} code is executed, otherwise
+ the \meta{false} code.
\end{docCommand}
@@ -356,7 +364,7 @@ Very similar to \refCom{ifmrcinmap} is \refCom{ifmrcinvicinity}.
\begin{docCommand}{ifmrcinvicinity}{\marg{latitude}\marg{longitude}\marg{true}\marg{false}}
If the given \meta{latitude} and \meta{longitude} describes a point
- inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{/mermap/vicinity},
+ inside a vicinity of the visible map, i.e. the map \emph{plus} a margin of \refKey{mermap/vicinity},
the \meta{true} code is executed, otherwise
the \meta{false} code.\par
Inside the \meta{true} code a \tikzname\ coordinate \docNode{mrcpos}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex
index dd86fcedbd..0b484da09b 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.drawing.tex
@@ -11,7 +11,7 @@
\begin{docCommand}{mrcdrawmap}{\oarg{options}}
Inside a |tikzpicture| environment, \refCom{mrcdrawmap} draws a map
prepared by \refCom{mrcdefinemap}, \refCom{mrcapplymap}, or \refCom{mrcmap}.
- All \meta{options} share the common prefix |/mermap/|.
+ All \meta{options} share the common prefix |mermap/|.
This is the principal macro to draw a prepared map respectively
the background of the map. The background consists of downloaded map tiles
or just a color rectangle.
@@ -19,10 +19,10 @@
\begin{docMrcKey}{draw}{=\meta{tile draw}}{no default, initially |auto|}
\begin{itemize}
- \item\docValue{auto}: Draws the map according to \refKey{/mermap/mapdef/resource},
+ \item\docValue{auto}: Draws the map according to \refKey{mermap/mapdef/resource},
i.e. downloaded maps or tiles are used, if available.
\item\docValue{path}: Draws the map according to the style given by
- \refKey{/mermap/map path}. Existing map tiles or merged maps are ignored
+ \refKey{mermap/map path}. Existing map tiles or merged maps are ignored
\item\docValue{tiles}: Draws the map with downloaded map tiles, if
available.
\item\docValue{mergedmap}: Draws the map with a merged picture, if
@@ -75,24 +75,24 @@
Typically, the pixel size of a map tile is fixed and a map tile is a
pixel graphics file. The actual size of such an included picture inside
the document is freely selectable. Note that a very small
-\refKey{/mermap/tile size} results in very small map lettering,
-while a very large \refKey{/mermap/tile size} results results in
+\refKey{mermap/tile size} results in very small map lettering,
+while a very large \refKey{mermap/tile size} results results in
very blurred images.
The general idea of a \emph{flexible} tile size is to specify an aspired
-tile size called \refKey{/mermap/flex tile size} and to give \LaTeX\
-the freedom to select \refKey{/mermap/tile size} in \emph{about the same size}
-as \refKey{/mermap/flex tile size}.
+tile size called \refKey{mermap/flex tile size} and to give \LaTeX\
+the freedom to select \refKey{mermap/tile size} in \emph{about the same size}
+as \refKey{mermap/flex tile size}.
This freedom is used to achieve a \emph{pseudo zoom} called
-\refKey{/mermap/flex zoom} which is a nearly arbitrary rational number instead
-of \refKey{/mermap/supply/zoom} which is a natural number.
+\refKey{mermap/flex zoom} which is a nearly arbitrary rational number instead
+of \refKey{mermap/supply/zoom} which is a natural number.
This \emph{pseudo zoom} is applied by several options which share \emph{flex}
in their names, e.g.
-\refKey{/mermap/flex scale}, \refKey{/mermap/named flex scale},
-\refKey{/mermap/supply/flex reference scale},
-\refKey{/mermap/supply/flex area scale},
-\refKey{/mermap/supply/flex area fit}.
+\refKey{mermap/flex scale}, \refKey{mermap/named flex scale},
+\refKey{mermap/supply/flex reference scale},
+\refKey{mermap/supply/flex area scale},
+\refKey{mermap/supply/flex area fit}.
@@ -101,30 +101,30 @@ in their names, e.g.
For standard tiles with 256 times 256 pixels a tile size of
\SI{32.512}{mm} = \SI{1.28}{in} results in an approximate
\SI{200}{dpi} output for the document.
- For a |beamer| document, consider to use a \refKey{/mermap/tile size} of
+ For a |beamer| document, consider to use a \refKey{mermap/tile size} of
\SI{21.333333}{mm} to get approximate 1:1 pixel input and output (depending on |beamer| settings
- and used hardware). Also see \refKey{/mermap/mapdef/tile size}.
+ and used hardware). Also see \refKey{mermap/mapdef/tile size}.
\end{docMrcKey}
\begin{docMrcKey}{flex tile size}{=\meta{length}}{no default, initially |32.512mm|}
Aspired width and height of a tile picture are set to \meta{length}.
- This value is used while applying \refKey{/mermap/flex zoom}.
+ This value is used while applying \refKey{mermap/flex zoom}.
\end{docMrcKey}
\begin{docMrcKey}{flex zoom}{=\meta{pseudo zoom}}{style, no default}
- This style sets \refKey{/mermap/supply/zoom} and \refKey{/mermap/tile size} in combination.
+ This style sets \refKey{mermap/supply/zoom} and \refKey{mermap/tile size} in combination.
\begin{itemize}
\item
If \meta{pseudo zoom} is a natural number,
- \refKey{/mermap/supply/zoom} is set to \meta{pseudo zoom} and
- \refKey{/mermap/tile size} is set to \refKey{/mermap/flex tile size}.
- \item Otherwise, \refKey{/mermap/supply/zoom} is set to the natural number
- closest to \meta{pseudo zoom} and \refKey{/mermap/tile size} is such
+ \refKey{mermap/supply/zoom} is set to \meta{pseudo zoom} and
+ \refKey{mermap/tile size} is set to \refKey{mermap/flex tile size}.
+ \item Otherwise, \refKey{mermap/supply/zoom} is set to the natural number
+ closest to \meta{pseudo zoom} and \refKey{mermap/tile size} is such
enlarged or reduced that the \meta{pseudo zoom} value is simulated,
i.e. the \emph{impression} of a rational zoom factor is given.
\end{itemize}
- Note that \refKey{/mermap/flex zoom} has to be used \emph{before}
+ Note that \refKey{mermap/flex zoom} has to be used \emph{before}
\refCom{mrcsupplymap} or \refCom{mrcmap}, because the zoom setup is
adapted.
\end{docMrcKey}
@@ -133,12 +133,12 @@ in their names, e.g.
\clearpage
\begin{docMrcKey}{flex scale}{=\meta{scale denominator}:\meta{latitude}}{style, no default}
For different latitude scopes, an identical zoom factor produces maps of
- different scale. With \refKey{/mermap/flex scale}, a \refKey{/mermap/flex zoom}
+ different scale. With \refKey{mermap/flex scale}, a \refKey{mermap/flex zoom}
is computed to achieve the given \meta{scale denominator} at a given \meta{latitude}.
Note that this only applies to the center of a map. If the produced
map is not centered at \meta{latitude}, the produced scale may
differ from the intended one.
- Also see \refKey{/mermap/supply/flex reference scale}.
+ Also see \refKey{mermap/supply/flex reference scale}.
\tikzsetnextfilename{drawing_flex_scale}%
\begin{dispExample}
@@ -162,7 +162,7 @@ in their names, e.g.
\begin{docMrcKey}{named flex scale}{=\meta{scale denominator}:\meta{name}}{style, no default}
- Identical to \refKey{/mermap/flex scale}, but used the \emph{named position}
+ Identical to \refKey{mermap/flex scale}, but used the \emph{named position}
\meta{name} to provide a \emph{latitude}, see \Fullref{sec:names_positions}.
\begin{dispListing}
\mrcNPdef{munich}{48.137222}{11.575556}
@@ -179,12 +179,12 @@ in their names, e.g.
\begin{docCommand}{mrcdrawnetwork}{\oarg{options}}
Draws a geodetic network with meridians and parallels.
- All \meta{options} share the common prefix |/mermap/|.
+ All \meta{options} share the common prefix |mermap/|.
The displayed lines are selected automatically according to some tuning
parameters.
- The map is sliced in \emph{about} maximal \refKey{/mermap/network pieces} in each
+ The map is sliced in \emph{about} maximal \refKey{mermap/network pieces} in each
direction. Meridians and parallels share a minimal distance of
- \emph{about} \refKey{/mermap/network distance}. The algorithm is
+ \emph{about} \refKey{mermap/network distance}. The algorithm is
allowed to violate these conditions \emph{somewhat}.
Note that oversized maps are not supported, i.e. maps which are wider
@@ -213,7 +213,7 @@ in their names, e.g.
\begin{docMrcKey}{network pieces}{=\meta{number}}{no default, initially |8|}
The map is sliced in \emph{about} maximal \meta{number} pieces in each
direction. \meta{number} may be exceeded \emph{somewhat}.
- It is underrun to comply with \refKey{/mermap/network distance}.
+ It is underrun to comply with \refKey{mermap/network distance}.
\end{docMrcKey}
@@ -221,7 +221,7 @@ in their names, e.g.
Meridians and parallels share a minimal distance of
\emph{about} \meta{mesh width}.
\meta{mesh width} may be underrun \emph{somewhat}.
- It is exceeded to comply with \refKey{/mermap/network pieces}.
+ It is exceeded to comply with \refKey{mermap/network pieces}.
For parallels on small scale maps, it refers to an averaged mesh width.
\end{docMrcKey}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex
index 7eb5b5f86e..11c3068f31 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.examples.tex
@@ -14,13 +14,13 @@ Note to do all preparations documented in \Fullref{sec:python}.
%-------------------------------------------------------------------------------
\subsection{Reference Position}
-With \refKey{/mermap/supply/type}|=|\docValue{reference} a map with a
+With \refKey{mermap/supply/type}|=|\docValue{reference} a map with a
\emph{reference position} is constructed. Here, Munich is taken as
reference position and center of the map. Since the position is used
more than once, it is stored with \refCom{mrcNPdef} for further reference.
-With \refKey{/mermap/supply/flex reference scale} the scale
+With \refKey{mermap/supply/flex reference scale} the scale
is set to 1:6\,000\,000. For the background map tiles, a
-\refKey{/mermap/supply/source} is selected for download.
+\refKey{mermap/supply/source} is selected for download.
This setup is done by \refCom{mrcmap} while \refCom{mrcdrawmap} draws
the downloaded map tiles.
@@ -84,10 +84,10 @@ the downloaded map tiles.
%-------------------------------------------------------------------------------
\subsection{Fitting Area}
-With \refKey{/mermap/supply/type}|=|\docValue{areafit} a map is constructed
+With \refKey{mermap/supply/type}|=|\docValue{areafit} a map is constructed
where a given area is fitted in. The following example lists some
-US-American cities and constructs an \refKey{/mermap/supply/area} which
-contains all of them. With \refKey{/mermap/supply/flex area fit}|=15mm| a
+US-American cities and constructs an \refKey{mermap/supply/area} which
+contains all of them. With \refKey{mermap/supply/flex area fit}|=15mm| a
border region is added.
@@ -102,7 +102,7 @@ border region is added.
\mrcNPdef{denver}{39.7372435}{-104.997378}
\mrcmap[type=areafit,
area={honolulu,fairbanks,sandiego,miami,boston,denver},
- source=stamen terrain,
+ source=topplusopen web,
tex width=15cm, tex height=11cm,
flex area fit=15mm,
]{examples_fitting_area}
@@ -122,12 +122,12 @@ border region is added.
%-------------------------------------------------------------------------------
\subsection{Fixed Boundaries}
-With \refKey{/mermap/supply/type}|=|\docValue{boundaries} a map is constructed
+With \refKey{mermap/supply/type}|=|\docValue{boundaries} a map is constructed
with fixed boundaries. In contrast to the other map types, the document
map size cannot be given directly but derives from the map setup. This bears
the risk of too large maps. The following example is a map with exact
boundaries \mrcformlat{-45} to \mrcformlat{-10}
-and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{/mermap/supply/zoom}
+and \mrcformlon{110} to \mrcformlon{155}. A decent \refKey{mermap/supply/zoom}
is 5 (every zoom step doubles the map size in each direction).
\tikzsetnextfilename{examples_boundaries}%
@@ -160,7 +160,7 @@ is 5 (every zoom step doubles the map size in each direction).
\subsection{Map Without Map Tiles}
There is no coercion to use downloaded map tiles, if they are not needed or
-wanted. With \refKey{/mermap/supply/target}|=none| no map tiles are downloaded.
+wanted. With \refKey{mermap/supply/target}|=none| no map tiles are downloaded.
The following example draws a rough polygon shape of Germany using
\refEnv{mrcroute*}.
@@ -299,7 +299,7 @@ The following example draws a rough polygon shape of Germany using
%-------------------------------------------------------------------------------
\subsection{Alignment of the Reference Position}
-With \refKey{/mermap/supply/align} the reference position can be aligned
+With \refKey{mermap/supply/align} the reference position can be aligned
at different map positions.
\tikzsetnextfilename{examples_alignment}%
@@ -332,13 +332,13 @@ at different map positions.
\subsection{Flexible Zoom}
Map tiles are only provided at fixed zoom levels with natural numbers,
-but the package allows a \refKey{/mermap/flex zoom} with rational numbers.
+but the package allows a \refKey{mermap/flex zoom} with rational numbers.
The flexible zoom is realized by combining a suitable fixed zoom with
an adapted document tile scaling, see \Fullref{sec:flexible_tile_size}.
The following example shows a more or less smooth zoom increase.
The same technique is used by all options starting with |flex|, e.g.
-\refKey{/mermap/supply/flex reference scale}
-or \refKey{/mermap/supply/flex area fit}
+\refKey{mermap/supply/flex reference scale}
+or \refKey{mermap/supply/flex area fit}
as seen in the examples before.
\tikzexternaldisable
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex
index 294f5e278f..29514fb0f0 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.intro.tex
@@ -18,9 +18,7 @@ and the algorithms of this packages, you are invited to read
\enquote{\fullcite{Sturm:2020}}.
With very few exceptions, the package is programmed with the
-|expl3| \cite{package:expl3} programming interface for \LaTeX3
-and loads the packages
-|xparse| \cite{package:xparse} and |siunitx| \cite{package:siunitx}.
+|expl3| programming interface for \LaTeX3 \cite{l3kernel:interfaces}.
\medskip
@@ -103,7 +101,7 @@ This should give a version number starting with 3. Otherwise, try
\begin{dispListing}
python3 --version
\end{dispListing}
-If this is successful, \refKey{/mermap/python} has to be adapted to |python3|
+If this is successful, \refKey{mermap/python} has to be adapted to |python3|
\subsubsection{Python Packages}
The Python packages |Pillow| (\url{https://pypi.org/project/Pillow/})
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex
index 0c44427ca5..70a08de273 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.limitations.tex
@@ -42,8 +42,8 @@
remember that the eastern hemisphere lies \emph{west} and
the western hemisphere lies \emph{east} for your map.
Consider the following example displaying Vladivostok and Anchorage.
- Here, \refKey{/mermap/supply/west} is set to \ang{130}\,E (|130|)
- and \refKey{/mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|).
+ Here, \refKey{mermap/supply/west} is set to \ang{130}\,E (|130|)
+ and \refKey{mermap/supply/east} is set to \ang{149}\,W (|211| instead of |-149|).
There is some automatic correction for positions to fit inside the
defined map (see Anchorage in the example below), but
@@ -123,7 +123,7 @@
\tikzsetnextfilename{limit_zoom_scale_1}
\begin{dispExample}
- \mermapsetsupply{source=stamen terrain, type=reference, zoom=12,
+ \mermapsetsupply{source=topplusopen web, type=reference, zoom=12,
tex width=7cm, tex height=5cm}
\begin{tikzpicture}
\mrcmap[latitude=59.91,longitude=10.75]{oslo1} \mrcdrawmap
@@ -133,12 +133,12 @@
\begin{center}\fontsize{7pt}{7pt}\sffamily\mrcmapattribution\end{center}
\end{dispExample}
- Same example again, but with \refKey{/mermap/flex scale} which gives
+ Same example again, but with \refKey{mermap/flex scale} which gives
1:150000 for both cities and comparable maps.
\tikzsetnextfilename{limit_zoom_scale_2}
\begin{dispExample}
- \mermapsetsupply{source=stamen terrain, type=reference}
+ \mermapsetsupply{source=topplusopen web, type=reference}
\begin{tikzpicture}
\mrcmap[latitude=59.91,longitude=10.75, flex reference scale=150000,
tex width=7cm, tex height=5cm]{oslo2} \mrcdrawmap
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex
index 9786414753..aa306f5962 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.maptiles.tex
@@ -73,7 +73,7 @@ accompanying Python script. The technical background is documented in
\cite[Section~5]{Sturm:2020}.
\begin{enumerate}
-\item \refKey{/mermap/supply/type}|=|\docValue{reference}:
+\item \refKey{mermap/supply/type}|=|\docValue{reference}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -85,12 +85,12 @@ accompanying Python script. The technical background is documented in
}{
The default method determines the map dimensions from a reference
position and given document map dimensions.
- Also, a zoom level \refKey{/mermap/supply/zoom}
+ Also, a zoom level \refKey{mermap/supply/zoom}
is required which relates to the Web Mercator map tile covering of the Earth.
A higher zoom level gives a growing number of smaller map tiles.
Alternative to the zoom level, a \meta{scale denominator} can be provided
- by \refKey{/mermap/supply/flex area scale}, \refKey{/mermap/flex scale}
- or \refKey{/mermap/supply/flex reference scale} which determines
+ by \refKey{mermap/supply/flex area scale}, \refKey{mermap/flex scale}
+ or \refKey{mermap/supply/flex reference scale} which determines
the zoom level implicitly.
As default, the reference position is the center of the map, but can be
aligned at the map borders. This method is quite safe to use and could
@@ -100,7 +100,7 @@ accompanying Python script. The technical background is documented in
be more tricky.
}
-\item \refKey{/mermap/supply/type}|=|\docValue{areafit}:
+\item \refKey{mermap/supply/type}|=|\docValue{areafit}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -114,7 +114,7 @@ accompanying Python script. The technical background is documented in
The map dimensions are determined by an area with
latitude and longitude boundaries which is fitted into given
document map dimensions. The zoom level is computed accordingly
- for a fixed document tile size or by \refKey{/mermap/supply/flex area fit}.
+ for a fixed document tile size or by \refKey{mermap/supply/flex area fit}.
In any case, the map contains the target area plus some protrusion.
This method is also quite safe to use and may be
the preferred one for many applications like showing a map which contains
@@ -123,7 +123,7 @@ accompanying Python script. The technical background is documented in
the third method can be regarded.
}
-\item \refKey{/mermap/supply/type}|=|\docValue{boundaries}:
+\item \refKey{mermap/supply/type}|=|\docValue{boundaries}:
\tcbsidebyside[sidebyside adapt=left,blankest,grow to left by=1cm]
{
\tikzexternaldisable
@@ -134,11 +134,11 @@ accompanying Python script. The technical background is documented in
}{
The most obvious method determines the map dimensions from
latitude and longitude boundaries. For this, a corresponding zoom level
- \refKey{/mermap/supply/zoom}
+ \refKey{mermap/supply/zoom}
is required which relates to the Web Mercator map tile covering of the Earth.
Alternative to the zoom level, a \meta{scale denominator} can be provided
- by \refKey{/mermap/supply/flex area scale}
- or \refKey{/mermap/supply/flex reference scale} which determines
+ by \refKey{mermap/supply/flex area scale}
+ or \refKey{mermap/supply/flex reference scale} which determines
the zoom level implicitly.
Note that a too high zoom level imposes the risk of downloading an unwanted
high quantity of map tiles resulting in a much too large document map.
@@ -156,9 +156,9 @@ accompanying Python script. The technical background is documented in
\begin{docCommand}{mrcsupplymap}{\oarg{options}\marg{definition}}
The \meta{options} provide parameters for the Python~3 script to supply all
materials for a map.
- All options share the common prefix |/mermap/supply/|.\par
+ All options share the common prefix |mermap/supply/|.\par
The map is identified by\\
- \meta{id}=\refKey{/mermap/definition prefix}+\meta{definition}\\
+ \meta{id}=\refKey{mermap/definition prefix}+\meta{definition}\\
for later drawing.
This identifier \meta{id} has to be unique for the document.
It corresponds to generated files \meta{id}|.def|, \meta{id}|.md5|, and
@@ -172,8 +172,8 @@ accompanying Python script. The technical background is documented in
\begin{docCommand}{mermapsetsupply}{\marg{options}}
Sets \meta{options} for all following maps inside the current \TeX\ group.
- All options share the common prefix |/mermap/supply/|, e.g. for setting
- \refKey{/mermap/supply/type} use
+ All options share the common prefix |mermap/supply/|, e.g. for setting
+ \refKey{mermap/supply/type} use
\begin{dispListing}
\mermapsetsupply{type=reference}
\end{dispListing}
@@ -184,7 +184,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}{definition prefix}{=\meta{definition prefix}}{no default, initially |maps/|}
Prefix for map identifiers and generated map files, see \refCom{mrcsupplymap}
and \refCom{mrcapplymap}.
- Note that \refKey{/mermap/definition prefix} is not to be used inside
+ Note that \refKey{mermap/definition prefix} is not to be used inside
the option list for \refCom{mrcsupplymap}.
\end{docMrcKey}
@@ -193,30 +193,30 @@ accompanying Python script. The technical background is documented in
\begin{itemize}
\item\docValue{reference}: \flqq map with reference position\frqq\\
The map is constructed from a given reference position
- \refKey{/mermap/supply/latitude},\\
- \refKey{/mermap/supply/longitude},\\
- a zoom level \refKey{/mermap/supply/zoom},\\
+ \refKey{mermap/supply/latitude},\\
+ \refKey{mermap/supply/longitude},\\
+ a zoom level \refKey{mermap/supply/zoom},\\
map dimensions\\
- \refKey{/mermap/supply/width},\\
- \refKey{/mermap/supply/height},\\
- and alignment \refKey{/mermap/supply/align}.
+ \refKey{mermap/supply/width},\\
+ \refKey{mermap/supply/height},\\
+ and alignment \refKey{mermap/supply/align}.
\item\docValue{areafit}: \flqq map fitting an area\frqq\\
The map is constructed from a given area boundaries\\
- \refKey{/mermap/supply/west},\\
- \refKey{/mermap/supply/east},\\
- \refKey{/mermap/supply/north},\\
- \refKey{/mermap/supply/south},\\
+ \refKey{mermap/supply/west},\\
+ \refKey{mermap/supply/east},\\
+ \refKey{mermap/supply/north},\\
+ \refKey{mermap/supply/south},\\
map dimensions\\
- \refKey{/mermap/supply/width},\\
- \refKey{/mermap/supply/height},\\
- and alignment \refKey{/mermap/supply/align}.
+ \refKey{mermap/supply/width},\\
+ \refKey{mermap/supply/height},\\
+ and alignment \refKey{mermap/supply/align}.
\item\docValue{boundaries}: \flqq map with boundaries\frqq\\
The map is constructed from given boundaries\\
- \refKey{/mermap/supply/west},\\
- \refKey{/mermap/supply/east},\\
- \refKey{/mermap/supply/north},\\
- \refKey{/mermap/supply/south},\\
- and zoom level \refKey{/mermap/supply/zoom}.
+ \refKey{mermap/supply/west},\\
+ \refKey{mermap/supply/east},\\
+ \refKey{mermap/supply/north},\\
+ \refKey{mermap/supply/south},\\
+ and zoom level \refKey{mermap/supply/zoom}.
\end{itemize}
\end{docMrcKey}
@@ -229,25 +229,25 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{north}{=\meta{setup north latitude}}{no default, initially |50|}
Northern latitude degree, possibly negative for the southern hemisphere,
- lower than $90$ but always larger than \refKey{/mermap/supply/south}.
+ lower than $90$ but always larger than \refKey{mermap/supply/south}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{south}{=\meta{setup south latitude}}{no default, initially |48|}
Southern latitude degree, possibly negative for the southern hemisphere,
- larger than $-90$ but always lower than \refKey{/mermap/supply/north}.
+ larger than $-90$ but always lower than \refKey{mermap/supply/north}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{west}{=\meta{setup west longitude}}{no default, initially |11|}
Western longitude degree, possibly negative for the western hemisphere,
- possibly shifted periodically, but always lower than \refKey{/mermap/supply/east}.
+ possibly shifted periodically, but always lower than \refKey{mermap/supply/east}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{east}{=\meta{setup east longitude}}{no default, initially |13|}
Eastern longitude degree, possibly negative for the western hemisphere,
- possibly shifted periodically, but always larger than \refKey{/mermap/supply/west}.
+ possibly shifted periodically, but always larger than \refKey{mermap/supply/west}.
Used for map types \docValue{boundaries} and \docValue{areafit}.
\end{docMrcKey}
@@ -262,19 +262,19 @@ accompanying Python script. The technical background is documented in
{ doc name = add area },
}
Sets
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
according to the given \meta{comma separated list of named positions}, i.e.
the described area contains all these positions.\\
- \refKey{/mermap/supply/area} resets the current area which requires
+ \refKey{mermap/supply/area} resets the current area which requires
at least two points inside the list.\\
- \refKey{/mermap/supply/add area} does not reset the current area,
+ \refKey{mermap/supply/add area} does not reset the current area,
i.e. the positions are added to the
current area which possibly grows to fit all positions.\\
Also note to take special care, if the international dateline is on your
resulting map, see \Fullref{sec:dateline}.
Used for map types \docValue{boundaries} and \docValue{areafit}
- or in combination with \refKey{/mermap/supply/area to reference} also
+ or in combination with \refKey{mermap/supply/area to reference} also
for for map type \docValue{reference}.
\end{docMrcKeys}
@@ -290,19 +290,19 @@ accompanying Python script. The technical background is documented in
{ doc name = add area from marker input },
}
Sets
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
according to the given \refCom{mrcmarker} positions contained in a
file with the given \meta{file name}.\\
- \refKey{/mermap/supply/area from marker input} resets the current area which requires
+ \refKey{mermap/supply/area from marker input} resets the current area which requires
at least two marker positions inside the file.\\
- \refKey{/mermap/supply/add area from marker input} does not reset the current area,
+ \refKey{mermap/supply/add area from marker input} does not reset the current area,
i.e. the positions are added to the
current area which possibly grows to fit all positions.\\
Also note to take special care, if the international dateline is on your
resulting map, see \Fullref{sec:dateline}.
Used for map types \docValue{boundaries} and \docValue{areafit}
- or in combination with \refKey{/mermap/supply/area to reference} also
+ or in combination with \refKey{mermap/supply/area to reference} also
for for map type \docValue{reference}.
\end{docMrcKeys}
@@ -310,10 +310,10 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{area to reference}{}{no value, initially unset}
The map settings
- \refKey{/mermap/supply/north}, \refKey{/mermap/supply/south},
- \refKey{/mermap/supply/west}, \refKey{/mermap/supply/east}
+ \refKey{mermap/supply/north}, \refKey{mermap/supply/south},
+ \refKey{mermap/supply/west}, \refKey{mermap/supply/east}
are taken to compute the map center. This center position is saved
- to \refKey{/mermap/supply/latitude} and \refKey{/mermap/supply/longitude}.
+ to \refKey{mermap/supply/latitude} and \refKey{mermap/supply/longitude}.
Used for map type \docValue{reference}.
\end{docMrcKey}
@@ -352,8 +352,8 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{tex width}{=\meta{width}}{style, no default}
Width of the map as \TeX\ dimension.
- This is a style to compute \refKey{/mermap/supply/width} according to
- the current \refKey{/mermap/tile size}.
+ This is a style to compute \refKey{mermap/supply/width} according to
+ the current \refKey{mermap/tile size}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{height}{=\meta{setup height in tiles}}{no default, initially |4|}
@@ -363,8 +363,8 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{tex height}{=\meta{width}}{style, no default}
Height of the map as \TeX\ dimension.
- This is a style to compute \refKey{/mermap/supply/height} according to
- the current \refKey{/mermap/tile size}.
+ This is a style to compute \refKey{mermap/supply/height} according to
+ the current \refKey{mermap/tile size}.
\end{docMrcKey}
\begin{docMrcKey}[supply]{align}{=\meta{setup alignment}}{no default, initially |center|}
@@ -379,12 +379,12 @@ accompanying Python script. The technical background is documented in
\begin{itemize}
\item\docValue{none}: No tiles are downloaded and no merged map is generated, just map computation.
This is the fastest method and needs no tile supplier.
- \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{/mermap/supply/url}.
+ \item\docValue{tiles}: Download map tiles from a tile map service (TMS) \refKey{mermap/supply/url}.
Compilation of a document with map tile takes longer than compilation
with a merged map and transparency should not be used with tiles,
but the resulting document is smaller than a document with merged maps.
\item\docValue{mergedmap}: Download map tiles from a tile map service (TMS)
- \refKey{/mermap/supply/url} and merge them into a single map picture.
+ \refKey{mermap/supply/url} and merge them into a single map picture.
This speeds compilation and allows transparency effects, but
the resulting document is possibly larger than a document with map tiles,
because map tiles often are optimized 8-bit image files while the merged
@@ -394,7 +394,7 @@ accompanying Python script. The technical background is documented in
may differ (shift/size) from the more accurate tile representation by
one pixel.
\item\docValue{wmsmap}: Download a single map from a web map service (WMS)
- \refKey{/mermap/supply/url}. Internally, the package treats a WMS like
+ \refKey{mermap/supply/url}. Internally, the package treats a WMS like
a tile map service including all tile calculations. Actually, a single
file is downloaded.
\end{itemize}
@@ -404,7 +404,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[][doc new=2020-08-06]{fail on missing resource}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
If set to |true|, compilation stops with an error, if
- \refKey{/mermap/supply/target} and \refKey{/mermap/mapdef/resource} are different.
+ \refKey{mermap/supply/target} and \refKey{mermap/mapdef/resource} are different.
Typically, this means that something went wrong while trying to download
map tiles. Set this option temporarily to |false|,
if the map tile service or the internet
@@ -427,7 +427,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{url with api key}{=\marg{prefix}\marg{name}\marg{postfix}}{no default}
- This is an alternative version of \refKey{/mermap/supply/url}.
+ This is an alternative version of \refKey{mermap/supply/url}.
The URL is constructed from some fixed \meta{prefix} and \meta{postfix} with
an API key in between. The API key is retrieved by \meta{name} from a
repository filled by \refCom{mrcsetapikey}.
@@ -442,7 +442,7 @@ accompanying Python script. The technical background is documented in
Stores an API key \meta{value} for access with the given \meta{name}.
Typically, \meta{value} is a received ID from a map tile service provider
after personal registration. \meta{name} is a placeholder which is used
- inside \refKey{/mermap/supply/url with api key} to mark the insertion
+ inside \refKey{mermap/supply/url with api key} to mark the insertion
point for the API key.
\begin{dispListing}
\mrcsetapikey{myservice}{....K942XY....}
@@ -454,7 +454,7 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{attribution}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source. Typically, it acknowledges the copyright
of the map data provider. It may contain hyperlinks.
- It is used to set up \refKey{/mermap/mapdef/attribution} afterwards
+ It is used to set up \refKey{mermap/mapdef/attribution} afterwards
and it is accessible as \docAuxCommand{mrcmapattribution} (use read-only).\par
For technical reasons, do not use \verb+"+. \docAuxCommand{mrcumlaut}
may be used for masking umlauts, e.g. use \verb+\mrcumlaut{u}+ instead of
@@ -463,9 +463,9 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{attribution print}{=\meta{attribution text}}{no default, initially empty}
Attribution text for the map source.
- In contrast to \refKey{/mermap/supply/attribution} it is intended for media
+ In contrast to \refKey{mermap/supply/attribution} it is intended for media
that does not support hyperlinks like printed posters, books, etc.
- It is used to set up \refKey{/mermap/mapdef/attribution print} afterwards
+ It is used to set up \refKey{mermap/mapdef/attribution print} afterwards
and it is accessible as \docAuxCommand{mrcmapattributionprint} (use read-only).
\end{docMrcKey}
@@ -477,10 +477,10 @@ accompanying Python script. The technical background is documented in
\clearpage
\begin{docMrcKey}[supply]{flex reference scale}{=\meta{scale denominator}}{no default}
- With the given \meta{scale denominator}, an appropriate \refKey{/mermap/supply/zoom}
- and \refKey{/mermap/tile size} is computed. Note that
+ With the given \meta{scale denominator}, an appropriate \refKey{mermap/supply/zoom}
+ and \refKey{mermap/tile size} is computed. Note that
the \meta{scale denominator}
- always applies to the current \refKey{/mermap/supply/latitude}
+ always applies to the current \refKey{mermap/supply/latitude}
and is used for map type \docValue{boundaries} and \docValue{reference}.
For example, if the reference point is on the north side of the map,
also the \meta{scale denominator}
@@ -489,16 +489,16 @@ accompanying Python script. The technical background is documented in
Note to take special care to the order of the options.
\begin{itemize}
\item The reference point has to be set \emph{before}
- \refKey{/mermap/supply/flex reference scale}, e.g. by
- \refKey{/mermap/supply/latitude}, \refKey{/mermap/supply/position},
- \refKey{/mermap/supply/named position}.
- \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width}
+ \refKey{mermap/supply/flex reference scale}, e.g. by
+ \refKey{mermap/supply/latitude}, \refKey{mermap/supply/position},
+ \refKey{mermap/supply/named position}.
+ \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width}
(only for map type \docValue{reference})
- have to be set \emph{after} \refKey{/mermap/supply/flex reference scale},
- because the \refKey{/mermap/tile size} is adapted.
+ have to be set \emph{after} \refKey{mermap/supply/flex reference scale},
+ because the \refKey{mermap/tile size} is adapted.
\end{itemize}
- Also see \refKey{/mermap/flex tile size}, \refKey{/mermap/flex zoom},
- and \refKey{/mermap/flex scale}.
+ Also see \refKey{mermap/flex tile size}, \refKey{mermap/flex zoom},
+ and \refKey{mermap/flex scale}.
\tikzsetnextfilename{maptiles_flex_reference_scale}%
\begin{dispExample}
\begin{tikzpicture}
@@ -519,17 +519,17 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{flex area scale}{=\meta{scale denominator}}{no default}
- This is a shortcut for setting \refKey{/mermap/supply/area to reference}
- and \refKey{/mermap/supply/flex reference scale}=\meta{scale denominator}.
+ This is a shortcut for setting \refKey{mermap/supply/area to reference}
+ and \refKey{mermap/supply/flex reference scale}=\meta{scale denominator}.
Used for map type \docValue{boundaries} and \docValue{reference}.
Note to take special care to the order of the options.
\begin{itemize}
\item The reference point has to be set \emph{before}
- \refKey{/mermap/supply/flex area scale}.
- \item \refKey{/mermap/supply/tex height}, \refKey{/mermap/supply/tex width}
+ \refKey{mermap/supply/flex area scale}.
+ \item \refKey{mermap/supply/tex height}, \refKey{mermap/supply/tex width}
(only for map type \docValue{reference})
- have to be set \emph{after} \refKey{/mermap/supply/flex reference scale}.
+ have to be set \emph{after} \refKey{mermap/supply/flex reference scale}.
\end{itemize}
\end{docMrcKey}
@@ -538,13 +538,13 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{flex area fit}{\colOpt{=\meta{size}}}{default |0pt|}
This key can be used for map type \docValue{areafit} as \emph{final}
option \emph{after} all other options.
- It applies a fine tuning to \refKey{/mermap/tile size},
- \refKey{/mermap/supply/width}, and \refKey{/mermap/supply/height} such
+ It applies a fine tuning to \refKey{mermap/tile size},
+ \refKey{mermap/supply/width}, and \refKey{mermap/supply/height} such
that the defined area fits exactly into the map region.
If a \meta{size} is specified, width and height are reduced for the
calculation by this \meta{size}, e.g. \meta{size}|=1cm| ensures a
border of |5mm| on each side.
- Also see \refKey{/mermap/flex tile size} and \refKey{/mermap/flex zoom}.
+ Also see \refKey{mermap/flex tile size} and \refKey{mermap/flex zoom}.
\tikzsetnextfilename{maptiles_flex_area_fit}%
\begin{dispExample}
@@ -580,24 +580,24 @@ accompanying Python script. The technical background is documented in
\begin{docMrcKey}[supply]{dpi}{=\meta{dpi value}}{style, no default}
- This style sets \refKey{/mermap/supply/pixel} such that the given \meta{dpi value}
+ This style sets \refKey{mermap/supply/pixel} such that the given \meta{dpi value}
is resulting (approximately).
\begin{itemize}
\item Note that this only applies for WMS Servers and not for
TMS (Tile Map Service) Servers,
- because there \refKey{/mermap/supply/pixel} is a fixed number depending on
+ because there \refKey{mermap/supply/pixel} is a fixed number depending on
Server settings and cannot be chosen arbitrarily.
\item A high \meta{dpi value} results in large downloaded map files.
If the server does not provide a high resolution map, you will get
unnecessary large files with blurred content.
\item The \meta{dpi value} for TMS data can be changed by adapting
- \refKey{/mermap/tile size} or \refKey{/mermap/flex tile size}.
+ \refKey{mermap/tile size} or \refKey{mermap/flex tile size}.
\end{itemize}
\tikzsetnextfilename{maptiles_dpi_value}
\begin{dispExample}
\begin{tikzpicture}
- \mrcmap[type=reference,latitude=48.14,longitude=11.57,
+ \mrcmap[type=reference,latitude=48.14,longitude=11.57,
flex reference scale=250000,
source=topplusopen p250, target=wmsmap, dpi=300,
tex width=\linewidth,tex height=5cm]{dpi_value}
@@ -654,7 +654,7 @@ map data is free for everyone to use.
\textbf{But, map tile servers based on OpenStreetMap are not necessarily free}.
A list of online raster tile servers based on OpenStreetMap data is found here:\\
-\url{https://wiki.openstreetmap.org/wiki/Tile_servers}
+\url{https://wiki.openstreetmap.org/wiki/Raster_tile_providers}
\begin{itemize}
\item\bfseries I do not run a map tile server.
@@ -681,8 +681,8 @@ want to add more to avoid any legal uncertainties.
\medskip
\begin{docMrcKey}[supply]{source}{=\meta{source}}{style, no default}
- This style sets \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\
- \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.\\
+ This style sets \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\
+ \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.\\
Feasible values for \meta{source} are:
%\mermapset{tile size=3.2512cm}
\newcommand{\mapexample}[3][]{%
@@ -690,10 +690,10 @@ want to add more to avoid any legal uncertainties.
\mermapset{supply/source=#2}%
\begin{itemize}
\item Required attribution (\docAuxCommand{mrcmapattribution}):
- \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left]
+ \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt]
\mrcmapattribution\end{tcolorbox}
\item Required attribution for media without hyperlinks (\docAuxCommand{mrcmapattributionprint}):
- \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left]
+ \begin{tcolorbox}[sharp corners,size=fbox,colback=yellow!8,colframe=yellow!80!gray,halign=flush left,before skip=2pt]
\mrcmapattributionprint\end{tcolorbox}
%\par\smallskip\
\end{itemize}
@@ -713,71 +713,13 @@ want to add more to avoid any legal uncertainties.
Dummy tile server at loopback |127.0.0.1| for test purposes.
\item\docValue{opentopomap}:\\
- Tile server (TMS) of \href{http://opentopomap.org/}{OpenTopoMap}.
+ Tile server (TMS) of \href{https://opentopomap.org/}{OpenTopoMap}.
\begin{itemize}
\item Usage (German language): \url{https://opentopomap.org/about#verwendung}
\end{itemize}
\mapexample{opentopomap}{opentopomap}
\clearpage
- \item\docValue{stamen terrain}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain}
- \mapexample{stamen terrain}{stamen_terrain}
-
- \item\docValue{stamen terrain-background}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-background}
- \mapexample{stamen terrain-background}{stamen_terrain-background}
-
- \item\docValue{stamen terrain-labels}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-labels}
- \mapexample{stamen terrain-labels}{stamen_terrain-labels}
-
-\clearpage
- \item\docValue{stamen terrain-lines}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#terrain-lines}
- \mapexample{stamen terrain-lines}{stamen_terrain-lines}
-
- \item\docValue{stamen toner}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner}
- \mapexample{stamen toner}{stamen_toner}
-
- \item\docValue{stamen toner-lite}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-lite}
- \mapexample{stamen toner-lite}{stamen_toner-lite}
-
-\clearpage
- \item\docValue{stamen toner-hybrid}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-hybrid}
- \mapexample{stamen toner-hybrid}{stamen_toner-hybrid}
-
- \item\docValue{stamen toner-background}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-background}
- \mapexample{stamen toner-background}{stamen_toner-background}
-
- \item\docValue{stamen toner-labels}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-labels}
- \mapexample{stamen toner-labels}{stamen_toner-labels}
-
-\clearpage
- \item\docValue{stamen toner-lines}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#toner-lines}
- \mapexample{stamen toner-lines}{stamen_toner-lines}
-
- \item\docValue{stamen watercolor}:\\
- Tile server of \href{http://stamen.com}{Stamen Design}.\\
- Usage: \url{http://maps.stamen.com/#watercolor}
- \mapexample{stamen watercolor}{stamen_watercolor}
-
\item\docValue{thunderforest opencyclemap}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -789,7 +731,6 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest opencyclemap}{thunderforest_opencyclemap}
-\clearpage
\item\docValue{thunderforest transport}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -812,6 +753,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest landscape}{thunderforest_landscape}
+\clearpage
\item\docValue{thunderforest outdoors}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -823,7 +765,17 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest outdoors}{thunderforest_outdoors}
-\clearpage
+ \item\docValue{thunderforest atlas}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\
+ Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
+ A registered \meta{api-key} is needed (free plan available)
+ which is applied by\\
+ \refCom{mrcsetapikey}\brackets{\docValue{thunderforest}}\marg{api-key}.
+ \begin{itemize}
+ \item Usage: \url{https://www.thunderforest.com/terms}
+ \item API documentation: \url{https://www.thunderforest.com/maps/atlas}
+ \end{itemize}
+ \mapexample{thunderforest atlas}{thunderforest_atlas}
+
\item\docValue{thunderforest transport-dark}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -835,6 +787,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest transport-dark}{thunderforest_transport-dark}
+\clearpage
\item\docValue{thunderforest spinal-map}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -857,7 +810,6 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest pioneer}{thunderforest_pioneer}
-\clearpage
\item\docValue{thunderforest mobile-atlas}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -869,6 +821,7 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest mobile-atlas}{thunderforest_mobile-atlas}
+\clearpage
\item\docValue{thunderforest neighbourhood}:\\
Tile server of \href{https://www.thunderforest.com}{Thunderforest}.\\
A registered \meta{api-key} is needed (free plan available)
@@ -880,31 +833,49 @@ want to add more to avoid any legal uncertainties.
\end{itemize}
\mapexample{thunderforest neighbourhood}{thunderforest_neighbourhood}
-\clearpage
\item\docValue{topplusopen web}:\\
- Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item Covers world / Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample{topplusopen web}{topplusopen_web}
\item\docValue{topplusopen web grau}:\\
- Tile server (TMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item Covers world / Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample{topplusopen web grau}{topplusopen_web_grau}
+\clearpage
+ \item\docValue{topplusopen web light}:\tcbdocmarginnote{\tcbdocnew{2024-07-29}}\\
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ \begin{itemize}
+ \item Covers world / Europe / Germany depending on zoom level
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
+ \end{itemize}
+ \mapexample{topplusopen web light}{topplusopen_web_light}
+
+ \item\docValue{topplusopen web light grau}\tcbdocmarginnote{\tcbdocnew{2024-07-29}}:\\
+ Tile server (TMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ \begin{itemize}
+ \item Covers world / Europe / Germany depending on zoom level
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
+ \end{itemize}
+ \mapexample{topplusopen web light grau}{topplusopen_web_light_grau}
+
\end{itemize}
-\clearpage
+
+\vfill
\begin{tcolorbox}[spartan,colback=white]
The following sources are Web map server (WMS). Therefore,
-\refKey{/mermap/supply/target} can only be set to \docValue{wmsmap}
+\refKey{mermap/supply/target} can only be set to \docValue{wmsmap}
or \docValue{none}.
\end{tcolorbox}
+\clearpage
\begingroup
\ExplSyntaxOn
@@ -928,19 +899,19 @@ or \docValue{none}.
{
\cleanstep
\item\docValue{topplusopen \name}:\\
- Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item 1:\scdenom, covers Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\mapexample[target=wmsmap]{topplusopen \name}{topplusopen_\name}
\cleanstep
\item\docValue{topplusopen \name\ grau}:\\
- Web map server (WMS) of \href{http://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
+ Web map server (WMS) of \href{https://www.bkg.bund.de}{Bundesamt f\"{u}r Kartographie und Geod\"{a}sie}.
\begin{itemize}
\item 1:\scdenom, covers Europe / Germany depending on zoom level
- \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/webdienste/topplus-produkte/wmts-topplusopen-wmts-topplus-open.html}
+ \item Usage (German language): \url{https://gdz.bkg.bund.de/index.php/default/digitale-geodaten/topplusopen-produkte.html}
\end{itemize}
\def\grau{ grau}%
\mapexample[target=wmsmap]{topplusopen \name\grau}{topplusopen_\name_grau}
@@ -954,16 +925,16 @@ or \docValue{none}.
\begin{docCommand}{mrcnewsupplysource}{\marg{source}\marg{options}}
- Adds a new \meta{source} value to \refKey{/mermap/supply/source}.
+ Adds a new \meta{source} value to \refKey{mermap/supply/source}.
The \meta{options} should set the keys
- \refKey{/mermap/supply/url}, \refKey{/mermap/supply/attribution},\\
- \refKey{/mermap/supply/attribution print} and \refKey{/mermap/supply/basename}.
+ \refKey{mermap/supply/url}, \refKey{mermap/supply/attribution},\\
+ \refKey{mermap/supply/attribution print} and \refKey{mermap/supply/basename}.
It is recommend to use |x ...| for \meta{source} to avoid conflicts
- with future official additions to \refKey{/mermap/supply/source}.
+ with future official additions to \refKey{mermap/supply/source}.
\begin{dispListing}
\mrcnewsupplysource{x example}
{
- url = http://127.0.0.1/dummy/{z}/{x}/{y}.png,
+ url = https://127.0.0.1/dummy/{z}/{x}/{y}.png,
attribution = {Dummy tile server},
attribution print = {Dummy tile server},
basename = tiles/dummy,
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex
index dcd0e072b8..fb206c339e 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.marker.tex
@@ -14,8 +14,8 @@ may be helpful which provides some predefined marker types.
\begin{docCommand}{mrcmarker}{\marg{options}}
Places a marker according to the given \meta{options} on the map.
- All \meta{options} share the common prefix |/mermap/marker/|.
- Different \refKey{/mermap/marker/type} settings are available which are
+ All \meta{options} share the common prefix |mermap/marker/|.
+ Different \refKey{mermap/marker/type} settings are available which are
more or less customizable.
\tikzsetnextfilename{marker_mrcmarker}%
@@ -48,8 +48,8 @@ may be helpful which provides some predefined marker types.
\begin{docCommand}{mermapsetmarker}{\marg{options}}
Sets \meta{options} for all following markers inside the current \TeX\ group.
- All options share the common prefix |/mermap/marker/|, e.g. for setting
- \refKey{/mermap/marker/type} use
+ All options share the common prefix |mermap/marker/|, e.g. for setting
+ \refKey{mermap/marker/type} use
\begin{dispListing}
\mermapsetmarker{type=pin}
\end{dispListing}
@@ -74,7 +74,7 @@ may be helpful which provides some predefined marker types.
\end{docMrcKey}
\begin{docMrcKey}[marker]{lat}{=\meta{latitude}}{no default, initially |12|}
- Alias for \refKey{/mermap/marker/latitude}.
+ Alias for \refKey{mermap/marker/latitude}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{longitude}{=\meta{longitude}}{no default, initially |49|}
@@ -83,7 +83,7 @@ may be helpful which provides some predefined marker types.
\end{docMrcKey}
\begin{docMrcKey}[marker]{lon}{=\meta{longitude}}{no default, initially |49|}
- Alias for \refKey{/mermap/marker/longitude}.
+ Alias for \refKey{mermap/marker/longitude}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{position}{=\meta{place latitude}:\meta{place longitude}}{no default, initially |12:49|}
@@ -100,7 +100,7 @@ may be helpful which provides some predefined marker types.
given \meta{area}. Feasible values for \meta{area} are:
\begin{itemize}
\item\docValue{map}: Use inside map.
- \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{/mermap/vicinity}.
+ \item\docValue{vicinity}: Use inside map plus vicinity, see \refKey{mermap/vicinity}.
\end{itemize}
\end{docMrcKey}
@@ -157,36 +157,36 @@ may be helpful which provides some predefined marker types.
\begin{docMrcKey}[marker]{hide}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the marker is not used.
- \refKey{/mermap/marker/hide} is inverse to \refKey{/mermap/marker/show}.
+ \refKey{mermap/marker/hide} is inverse to \refKey{mermap/marker/show}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{show category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} equals \meta{category}.
+ Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} equals \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{show all but category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |true|, if \refKey{/mermap/marker/category} does not equal \meta{category}.
+ Sets \refKey{mermap/marker/show} to |true|, if \refKey{mermap/marker/category} does not equal \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{hide category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} equals \meta{category}.
+ Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} equals \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\end{docMrcKey}
\begin{docMrcKey}[marker]{hide all but category}{=\meta{category}}{style, no default}
- Sets \refKey{/mermap/marker/show} to |false|, if \refKey{/mermap/marker/category} does not equal \meta{category}.
+ Sets \refKey{mermap/marker/show} to |false|, if \refKey{mermap/marker/category} does not equal \meta{category}.
Otherwise, nothing happens.
- \refKey{/mermap/marker/category} has to be set \emph{before}.
+ \refKey{mermap/marker/category} has to be set \emph{before}.
\tikzsetnextfilename{marker_hide}%
\begin{dispExample}
\begin{tikzpicture}
@@ -206,10 +206,10 @@ may be helpful which provides some predefined marker types.
\clearpage
The following options require the package |hyperref| to be loaded.
-If |hyperref| is not loaded, \refKey{/mermap/marker/url} and
-\refKey{/mermap/marker/link} are ignored.\\
-Note that if \refKey{/mermap/marker/url} and \refKey{/mermap/marker/link}
-are applied concurrently, then \refKey{/mermap/marker/link} will win.
+If |hyperref| is not loaded, \refKey{mermap/marker/url} and
+\refKey{mermap/marker/link} are ignored.\\
+Note that if \refKey{mermap/marker/url} and \refKey{mermap/marker/link}
+are applied concurrently, then \refKey{mermap/marker/link} will win.
\begin{docMrcKeys}[
@@ -279,9 +279,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win.
doc description = {default |true|, initially |false|},
},
}
- If \refKey{/mermap/marker/use urls} is set to |false|, external links
- with \refKey{/mermap/marker/url} are ignored.\\
- \refKey{/mermap/marker/ignore urls} is inverse to \refKey{/mermap/marker/use urls}.
+ If \refKey{mermap/marker/use urls} is set to |false|, external links
+ with \refKey{mermap/marker/url} are ignored.\\
+ \refKey{mermap/marker/ignore urls} is inverse to \refKey{mermap/marker/use urls}.
\end{docMrcKeys}
@@ -299,9 +299,9 @@ are applied concurrently, then \refKey{/mermap/marker/link} will win.
doc description = {default |true|, initially |false|},
},
}
- If \refKey{/mermap/marker/use links} is set to |false|, internal links
- with \refKey{/mermap/marker/link} are ignored.\\
- \refKey{/mermap/marker/ignore links} is inverse to \refKey{/mermap/marker/use links}.
+ If \refKey{mermap/marker/use links} is set to |false|, internal links
+ with \refKey{mermap/marker/link} are ignored.\\
+ \refKey{mermap/marker/ignore links} is inverse to \refKey{mermap/marker/use links}.
\end{docMrcKeys}
@@ -596,7 +596,7 @@ The different marker types can be customized by some additional options:
\subsection{New Marker Types}
\begin{docCommand}{mrcnewmarkertype}{\marg{type name}\marg{\tikzname\ code}}
- Creates a new \refKey{/mermap/marker/type} value \meta{type name} using the
+ Creates a new \refKey{mermap/marker/type} value \meta{type name} using the
given \meta{\tikzname\ code} for drawing a place marker.
To avoid future name clashes, you should start a private \meta{type name}
with letter |x|. For \meta{\tikzname\ code} settings like
@@ -630,9 +630,9 @@ The different marker types can be customized by some additional options:
\subsection{New Marker Styles}
\begin{docCommand}{mrcnewmarkerstyle}{\marg{style name}\marg{options}}
- Creates a new \refKey{/mermap/marker/style} value \meta{style name} using the
+ Creates a new \refKey{mermap/marker/style} value \meta{style name} using the
given \meta{options} for drawing a place marker.
- All \meta{options} share the common prefix |/mermap/marker/|. Here, a \emph{style}
+ All \meta{options} share the common prefix |mermap/marker/|. Here, a \emph{style}
has the same concept as a \tikzname\ style.
\tikzsetnextfilename{marker_markerstyle}%
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex
index cddb277c86..6f9620fae0 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.orthodromes.tex
@@ -26,7 +26,7 @@ The mathematical background and further information are found in \cite{Sturm:202
\begin{docTikzKey}{mermap samples}{=\meta{number}}{style, no default}
- \tikzname\ variant to set \refKey{/mermap/samples}.
+ \tikzname\ variant to set \refKey{mermap/samples}.
\end{docTikzKey}
\enlargethispage*{1cm}
@@ -56,7 +56,7 @@ The mathematical background and further information are found in \cite{Sturm:202
\mrcclipmap
\draw (mrcmap.south west) rectangle (mrcmap.north east);
\mrcdraworthodrome[red,very thick,mermap samples=100]
- {48.14}{11.58}{40.71}{-74.01}
+ {48.14}{11.58}{40.71}{-74.01}
\node[red,fill=white] at ([above=1.3cm]mrcmap) {
\mrcprettyorthodistance{48.14}{11.58}{40.71}{-74.01} };
\end{tikzpicture}
@@ -99,6 +99,120 @@ The mathematical background and further information are found in \cite{Sturm:202
\clearpage
%-------------------------------------------------------------------------------
+\subsection{Orthodrome Points}
+
+\begin{docCommands}[
+ ]{
+ {
+ doc new and updated = {2024-08-01}{2024-08-05},
+ doc name = mrcNPfromOrthoFraction,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{fraction},
+ },
+ {
+ doc name = mrcNPfromOrthoFractionNamed,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{fraction},
+ },
+ }
+ Defines a new named position \meta{name} which is located on a \meta{fraction}
+ from the starting point of the orthodromic curve
+ from a point with
+ latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1})
+ to a point with
+ latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}).
+ The given starting and final point of the orthodrome need to have a distance of more than
+ \SI{1}{\meter}.
+ If \meta{\textbackslash angle} is given, this macro is set to the
+ angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+
+\tikzsetnextfilename{ortho_orthodrome3}%
+\begin{dispExample}
+ \begin{tikzpicture}
+ \mrcNPdef{munich}{48.14}{11.58}
+ \mrcNPdef{newyork}{40.71}{-74.01}
+ \mrcmap[type=areafit, area={munich,newyork},
+ source=topplusopen web,
+ tex width=\linewidth,tex height=6cm,
+ ]{ortho_orthodrome3}
+ \mrcdrawmap
+ \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south)
+ {\mrcmapattribution};
+ \mrcclipmap
+ \draw (mrcmap.south west) rectangle (mrcmap.north east);
+ \mrcmarker{type=pin,named position=munich,contents={M\"unchen}}
+ \mrcmarker{type=pinflip,shift=5mm,named position=newyork,
+ contents={New York City}}
+ \mrcNPdraworthodrome[red,very thick] {munich}{newyork}
+ \foreach \fraction in { 0.1,0.3,0.5,0.7,1.0,1.1 }
+ {
+ \mrcNPfromOrthoFractionNamed{waypoint}[\myangle]
+ {munich}{newyork}{\fraction}
+ \mrcmarker{type=pin,named position=waypoint,
+ contents={\fraction: \fpeval{round(\myangle)}\textdegree }}
+ }
+ \end{tikzpicture}
+\end{dispExample}
+\end{docCommands}
+
+\clearpage
+
+\begin{docCommands}[
+ ]{
+ {
+ doc new and updated = {2024-08-01}{2024-08-05},
+ doc name = mrcNPfromOrthoDistance,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}\marg{distance},
+ },
+ {
+ doc name = mrcNPfromOrthoDistanceNamed,
+ doc parameter = \marg{name}\oarg{\textbackslash angle}\marg{name1}\marg{name2}\marg{distance},
+ },
+ }
+ Defines a new named position \meta{name} which is located on a \meta{distance}
+ from the starting point of the orthodromic curve
+ from a point with
+ latitude \meta{lat1} and longitude \meta{lon1} (or described by a named position \meta{name1})
+ to a point with
+ latitude \meta{lat2} and longitude \meta{lon2} (or described by a named position \meta{name2}).
+ The given starting and final point of the orthodrome need to have a distance of more than
+ \SI{1}{\meter}. The unit for the \meta{distance} is kilometer.
+ If \meta{\textbackslash angle} is given, this macro is set to the
+ angle between the tangent vector to the orthodrome and
+ the current parallel circle.
+
+\tikzsetnextfilename{ortho_orthodrome4}%
+\begin{dispExample}
+ \begin{tikzpicture}
+ \mrcNPdef{munich}{48.14}{11.58}
+ \mrcNPdef{newyork}{40.71}{-74.01}
+ \mrcmap[type=areafit, area={munich,newyork},
+ source=topplusopen web,
+ tex width=\linewidth,tex height=6cm,
+ ]{ortho_orthodrome4}
+ \mrcdrawmap
+ \node[below,font=\fontsize{7pt}{7pt}\sffamily] at (mrcmap.south)
+ {\mrcmapattribution};
+ \mrcclipmap
+ \draw (mrcmap.south west) rectangle (mrcmap.north east);
+ \mrcmarker{type=pin,named position=munich,contents={M\"unchen}}
+ \mrcmarker{type=pinflip,shift=5mm,named position=newyork,
+ contents={New York City}}
+ \mrcNPdraworthodrome[red,very thick] {munich}{newyork}
+ \foreach \distance in { 1000,2000,3000,4000,5000,6000 }
+ {
+ \mrcNPfromOrthoDistanceNamed{waypoint}{munich}{newyork}{\distance}
+ \mrcmarker{type=pin,named position=waypoint,
+ contents={\SI{\distance}{\kilo\meter}}}
+ }
+ \end{tikzpicture}
+\end{dispExample}
+\end{docCommands}
+
+
+
+
+\clearpage
+%-------------------------------------------------------------------------------
\subsection{Orthodromic and Loxodromic Distances}
\begin{docCommand}{mrcprettyorthodistance}{\marg{lat1}\marg{lon1}\marg{lat2}\marg{lon2}}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex
index 6efc4fe0d0..9e210c2a24 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.scales.tex
@@ -164,7 +164,7 @@ but not for critical navigation purposes etc.
\begin{docCommand}{mrcdrawscalebar}{\oarg{options}}
Draws a scale bar according to the given \meta{options}.
- All \meta{options} share the common prefix |/mermap/scalebar/|.
+ All \meta{options} share the common prefix |mermap/scalebar/|.
The most essential option is the \emph{width} of the scale bar.
\tikzsetnextfilename{scales_scalebar1}
@@ -216,7 +216,7 @@ but not for critical navigation purposes etc.
\end{docMrcKey}
\begin{docMrcKey}[scalebar]{width-in-kilometer}{=\meta{number}}{no default, initially |0|}
- Alias for \refKey{/mermap/scalebar/width-in-km}
+ Alias for \refKey{mermap/scalebar/width-in-km}
\end{docMrcKey}
\begin{docMrcKey}[scalebar]{width-in-meter}{=\meta{number}}{no default, initially |0|}
@@ -247,7 +247,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{at}{=\marg{\tikzname\ coordinate}}{no default,
initially \texttt{\brackets{(0,0)}}}
The scale bar is positioned at the given \meta{\tikzname\ coordinate}.
- The placement is done with the \refKey{/mermap/scalebar/placement} option.
+ The placement is done with the \refKey{mermap/scalebar/placement} option.
Both option correspond to the \tikzname\ options for positioning nodes.
The scale bar can be positioned outside the map (e.g. below), but
remember to use \refCom{mrcclipmap} \emph{after} the scale bar
@@ -285,7 +285,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{placement}{=\meta{\tikzname\ positioning}}{no default, initially empty}
\meta{\tikzname\ positioning} of a scale bar in combination with
- \refKey{/mermap/scalebar/at}. All \tikzname\ placement options for nodes
+ \refKey{mermap/scalebar/at}. All \tikzname\ placement options for nodes
can be used, e.g. \texttt{above left} or \texttt{anchor=mid west}, etc.
Actually, \emph{any} node option could be applied here, but the intended use
is for placement options only.
@@ -298,7 +298,7 @@ but not for critical navigation purposes etc.
absolute shift values in each direction, i.e. the algebraic sign is
automatically complemented.
If only \meta{x shift} is given, then \meta{y shift} is set
- to the same value. \refKey{/mermap/scalebar/at} and \refKey{/mermap/scalebar/placement}
+ to the same value. \refKey{mermap/scalebar/at} and \refKey{mermap/scalebar/placement}
are set by this option.
\end{docMrcKey}
@@ -349,8 +349,8 @@ but not for critical navigation purposes etc.
The \emph{minor} part of the scale bar is a single \tikzname\ path object
which can be customized by the given \meta{\tikzname\ options}.
The \emph{minor} part is seen as holes in the default case.
- \refKey{/mermap/scalebar/minor style} has only an effect, if
- the minor part is drawn \refKey{/mermap/scalebar/solid}.
+ \refKey{mermap/scalebar/minor style} has only an effect, if
+ the minor part is drawn \refKey{mermap/scalebar/solid}.
\tikzsetnextfilename{scales_scalebar5}
\begin{dispExample}
\begin{tikzpicture}
@@ -369,7 +369,7 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{single}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the scale bar is drawn as a single ruler.
- \refKey{/mermap/scalebar/single} is inverse to \refKey{/mermap/scalebar/double}.
+ \refKey{mermap/scalebar/single} is inverse to \refKey{mermap/scalebar/double}.
\tikzsetnextfilename{scales_scalebar6}
\begin{dispExample}
\begin{tikzpicture}
@@ -387,8 +387,8 @@ but not for critical navigation purposes etc.
\begin{docMrcKey}[scalebar]{solid}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
If set to |true|, the \emph{minor} part of the scale bar is drawn opaque.
- It is drawn white or according to \refKey{/mermap/scalebar/minor style}.
- \refKey{/mermap/scalebar/solid} is inverse to \refKey{/mermap/scalebar/transparent}.
+ It is drawn white or according to \refKey{mermap/scalebar/minor style}.
+ \refKey{mermap/scalebar/solid} is inverse to \refKey{mermap/scalebar/transparent}.
\end{docMrcKey}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.sty b/macros/latex/contrib/mercatormap/mercatormap.doc.sty
index 80b38241ce..95b45544d7 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.sty
+++ b/macros/latex/contrib/mercatormap/mercatormap.doc.sty
@@ -4,10 +4,9 @@
\renewcommand*\l@subsubsection{\@dottedtocline{3}{4.2em}{3.2em}}
\RequirePackage[T1]{fontenc}
-\RequirePackage[utf8]{inputenc}
\RequirePackage[english]{babel}
\RequirePackage{lmodern,parskip,array}
-\RequirePackage[svgnames,table,hyperref]{xcolor}
+\RequirePackage[svgnames,table]{xcolor}
\RequirePackage{tikz}
\RequirePackage{varioref}
\RequirePackage[makeindex]{imakeidx}
@@ -31,15 +30,17 @@
\RequirePackage{array,tabularx,booktabs}
\RequirePackage{lipsum}
\RequirePackage[extendedchars,encoding,filenameencoding=utf-8]{grffile}
-\RequirePackage{siunitx,xfp}
+\RequirePackage{xfp}
\RequirePackage{tcolorbox}
-\tcbuselibrary{skins,xparse,minted,breakable,documentation,raster}
+\tcbuselibrary{skins,minted,breakable,documentation,raster}
\providecommand\mrcpkgprefix{}
\RequirePackage{\mrcpkgprefix mercatormap}
\IfFileExists{../private/privatekeys.tex}{\input{../private/privatekeys.tex}}{}
+\RequirePackage{fontawesome5}
+
\RequirePackage{csquotes}
\RequirePackage[%style=authoryear,
style=numeric-comp,
@@ -96,8 +97,8 @@
borderline horizontal={0.3mm}{0pt}{red!50},
#1}{#2}
-\tcbmakedocSubKey{docMrcKey}{mermap}
-\tcbmakedocSubKeys{docMrcKeys}{mermap}
+\tcbmakedocSubKey[doc key prefix=]{docMrcKey}{mermap}
+\tcbmakedocSubKeys[doc key prefix=]{docMrcKeys}{mermap}
\tcbmakedocSubKey{docTikzKey}{tikz}
\def\tikzname{\textup{Ti\textit{k}Z}}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex b/macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex
deleted file mode 100644
index bcdf2fd322..0000000000
--- a/macros/latex/contrib/mercatormap/mercatormap.doc.versionhistory.tex
+++ /dev/null
@@ -1,50 +0,0 @@
-% !TeX root = mercatormap.tex
-% !TeX encoding=UTF-8
-% !TeX spellcheck=en_US
-% include file of mercatormap.tex (manual of the LaTeX package mercatormap)
-\clearpage
-\section{Version History}%
-
-\section*{v1.00 (2020/04/20)}
-\begin{itemize}
-\item Initial public release.
-\end{itemize}
-
-\section*{v1.01 (2020/05/05)}
-\begin{itemize}
-\item Sorting of index key entries fixed for the documentation.
-\item User messages for failed Python script calls are changed from warnings to
- errors to fail fast and to provide more information and hints about
- possible reasons.
-\item New general marker option
- \refKey{/mermap/marker/generic} with corresponding macros
- \docAuxCommand*{mrcmarkergeneric}
- and \docAuxCommand*{l_mermap_marker_generic_tl}. Also, the marker uuid is
- made |expl3| accessible as \docAuxCommand*{l_mermap_marker_uuid_tl}.
-\item New hyper marker options
- \refKey{/mermap/marker/url},
- \refKey{/mermap/marker/link},
- \refKey{/mermap/marker/use urls},
- \refKey{/mermap/marker/ignore urls},
- \refKey{/mermap/marker/use links},
- \refKey{/mermap/marker/ignore links}.
-\end{itemize}
-
-
-\section*{v1.02 (2020/08/06)}
-\begin{itemize}
-\item New options
- \refKey{/mermap/supply/area from marker input} and
- \refKey{/mermap/supply/add area from marker input}
- which allow to fit a map to a given external list of marker positions.
-\item New option \refKey{/mermap/fail on missing resource} to control
- compilation behavior for missing resource files.
-\item Openrouteservice has discontinued mapsurfer tiles since June 2020.\\
- Therefore, \refKey{/mermap/supply/source}=\docValue{openrouteservice mapsurfer}
- is deprecated now. It is not documented any more, but
- for some time it is still available for old documents with
- cached map tiles.
-\item\issuetracker{2}
- New marker option \refKey{/mermap/marker/distance} with corresponding
- macro \docAuxCommand{mrcmarkerdistance}.
-\end{itemize}
diff --git a/macros/latex/contrib/mercatormap/mercatormap.pdf b/macros/latex/contrib/mercatormap/mercatormap.pdf
index d90d749617..1c0c7dc3d8 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.pdf
+++ b/macros/latex/contrib/mercatormap/mercatormap.pdf
Binary files differ
diff --git a/macros/latex/contrib/mercatormap/mercatormap.sty b/macros/latex/contrib/mercatormap/mercatormap.sty
index d2c8d61ae4..b9f77b9715 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.sty
+++ b/macros/latex/contrib/mercatormap/mercatormap.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap.sty: geographic coordinates (Mercator projection) and map tiles for TikZ pictures
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,24 +17,11 @@
%%
%% This work consists of all files listed in README
%%
-\RequirePackage{expl3}[2020/02/25]
-\RequirePackage{xparse}
-\ProvidesExplPackage{mercatormap}{2020/08/06}{1.02}
+\NeedsTeXFormat{LaTeX2e}[2023-11-01]
+\ProvidesExplPackage{mercatormap}{2024/08/05}{1.2.0}
{A Web Mercator projection package with map tile support}
-\@ifpackagelater { expl3 } { 2020/02/25 }
- { }
- {
- \PackageError { mercatormap } { Support~package~expl3~too~old }
- {
- You~need~to~update~your~installation~of~the~bundles~'l3kernel'~and~
- 'l3packages'.\MessageBreak
- Loading~mercatormap~will~abort!
- }
- \tex_endinput:D
- }
-\RequirePackage{siunitx}
-\RequirePackage{graphicx,tikz,pdftexcmds}
+\RequirePackage{siunitx,graphicx,tikz}
\ExplSyntaxOff
% space character problem if within explSyntax
@@ -51,8 +38,23 @@
\NewDocumentCommand\mermapsetmarker{ m } { \keys_set:nn { mermap/marker } {#1} }
-%---- constants ----------------------------------------------------------------
+%---- scratch variables --------------------------------------------------------
+
+\box_new:N \l__mermap_tmpa_box
+
+\clist_new:N \l__mermap_tmpa_clist
+\dim_new:N \l__mermap_tmpa_dim
+\dim_new:N \l__mermap_tmpb_dim
+
+\fp_new:N \l__mermap_tmpa_fp
+\fp_new:N \l__mermap_tmpb_fp
+
+\tl_new:N \g__mermap_tmpa_tl
+\tl_new:N \l__mermap_tmpa_tl
+\tl_new:N \l__mermap_tmpb_tl
+
+%---- constants ----------------------------------------------------------------
\fp_const:Nn \c__mermap_scale_radius_fp { 6371*pi/180 }
\fp_const:Nn \c__mermap_mean_radius_fp { 637100000cm }
@@ -235,16 +237,16 @@
\cs_new_nopar:Npn \__mermap_longitude_to_x:n #1
{
- \fp_set:Nn \l_tmpa_fp { #1-\l__mermap_mapwest_fp }
- \fp_sub:Nn \l_tmpa_fp { 360*floor(\l_tmpa_fp/360) }
- \fp_set:Nn \l_tmpa_fp
- { \l_tmpa_fp>\l__mermap_westeast_fp
- ?(\l_tmpa_fp-\l__mermap_westeast_fp>360-\l_tmpa_fp
- ?\l_tmpa_fp-360
- :\l_tmpa_fp)
- :\l_tmpa_fp
+ \fp_set:Nn \l__mermap_tmpa_fp { #1-\l__mermap_mapwest_fp }
+ \fp_sub:Nn \l__mermap_tmpa_fp { 360*floor(\l__mermap_tmpa_fp/360) }
+ \fp_set:Nn \l__mermap_tmpa_fp
+ { \l__mermap_tmpa_fp>\l__mermap_westeast_fp
+ ?(\l__mermap_tmpa_fp-\l__mermap_westeast_fp>360-\l__mermap_tmpa_fp
+ ?\l__mermap_tmpa_fp-360
+ :\l__mermap_tmpa_fp)
+ :\l__mermap_tmpa_fp
}
- \fp_set:Nn \l__mermap_cs_x_fp { \l_tmpa_fp*\l__mermap_cs_xfactor_fp }
+ \fp_set:Nn \l__mermap_cs_x_fp { \l__mermap_tmpa_fp*\l__mermap_cs_xfactor_fp }
}
@@ -328,7 +330,7 @@
}
-\prg_new_conditional:Npnn \__mermap_if_in_map:nn #1#2 { p, TF }
+\prg_new_conditional:Npnn \__mermap_if_in_map:nn #1#2 { p, T, F, TF }
{
\fp_compare:nNnTF {#1} > \l__mermap_mapnorth_fp
{
@@ -340,14 +342,14 @@
\prg_return_false:
}
{
- \fp_set:Nn \l_tmpa_fp { #2-\l__mermap_mapwest_fp }
- \fp_sub:Nn \l_tmpa_fp { 360*floor(\l_tmpa_fp/360) }
- \fp_compare:nNnTF \l_tmpa_fp > \l__mermap_westeast_fp
+ \fp_set:Nn \l__mermap_tmpa_fp { #2-\l__mermap_mapwest_fp }
+ \fp_sub:Nn \l__mermap_tmpa_fp { 360*floor(\l__mermap_tmpa_fp/360) }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp > \l__mermap_westeast_fp
{
\prg_return_false:
}
{
- \fp_set:Nn \l__mermap_cs_x_fp { \l_tmpa_fp*\l__mermap_cs_xfactor_fp }
+ \fp_set:Nn \l__mermap_cs_x_fp { \l__mermap_tmpa_fp*\l__mermap_cs_xfactor_fp }
\__mermap_latitude_to_y:n {#1}
\pgfnoderename{mrclastpos}{mrcpos}
\pgfcoordinate{mrcpos}{
@@ -366,7 +368,7 @@
}
-\prg_new_conditional:Npnn \__mermap_if_in_vicinity:nn #1#2 { p, TF }
+\prg_new_conditional:Npnn \__mermap_if_in_vicinity:nn #1#2 { p, T, F, TF }
{
\fp_compare:nNnTF {#1} > \l__mermap_vic_north_fp
{
@@ -378,14 +380,14 @@
\prg_return_false:
}
{
- \fp_set:Nn \l_tmpa_fp { #2-\l__mermap_vic_west_fp }
- \fp_sub:Nn \l_tmpa_fp { 360*floor(\l_tmpa_fp/360) }
- \fp_compare:nNnTF \l_tmpa_fp > \l__mermap_vic_westeast_fp
+ \fp_set:Nn \l__mermap_tmpa_fp { #2-\l__mermap_vic_west_fp }
+ \fp_sub:Nn \l__mermap_tmpa_fp { 360*floor(\l__mermap_tmpa_fp/360) }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp > \l__mermap_vic_westeast_fp
{
\prg_return_false:
}
{
- \fp_set:Nn \l__mermap_cs_x_fp { \l_tmpa_fp*\l__mermap_cs_xfactor_fp - \l__mermap_vic_dim_fp }
+ \fp_set:Nn \l__mermap_cs_x_fp { \l__mermap_tmpa_fp*\l__mermap_cs_xfactor_fp - \l__mermap_vic_dim_fp }
\__mermap_latitude_to_y:n {#1}
\pgfnoderename{mrclastpos}{mrcpos}
\pgfcoordinate{mrcpos}{
@@ -443,19 +445,13 @@
\NewExpandableDocumentCommand \mrcNPlat { m }
{
- \cs_if_exist_use:cF{__mermap__lat__#1}
- {
- \msg_error:nnx{ mercatormap }{ np-undefined }{ #1 }
- }
+ \cs_if_exist_use:cF{ __mermap__lat__#1 }{ 0 }
}
\NewExpandableDocumentCommand \mrcNPlon { m }
{
- \cs_if_exist_use:cF{__mermap__lon__#1}
- {
- \msg_error:nnx{ mercatormap }{ np-undefined }{ #1 }
- }
+ \cs_if_exist_use:cF{ __mermap__lon__#1 }{ 0 }
}
@@ -465,15 +461,75 @@
}
+\prg_new_conditional:Npnn \__mermap_if_NP_exists:n #1 { p, TF }
+ {
+ \cs_if_exist:cTF{ __mermap__lat__#1 }
+ {
+ \cs_if_exist:cTF{ __mermap__lon__#1 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+
+\NewDocumentCommand{\ifmrcNPexists}{ m }
+ {
+ \__mermap_if_NP_exists:nTF{ #1 }
+ }
+
+
+\prg_new_conditional:Npnn \__mermap_if_NP_in_map:n #1 { p, TF }
+ {
+ \__mermap_if_NP_exists:nTF { #1 }
+ {
+ \__mermap_if_in_map:nnTF{ \mrcNPlat{#1} }{ \mrcNPlon{#1} }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+
\NewDocumentCommand{\ifmrcNPinmap}{ m }
{
- \__mermap_if_in_map:nnTF{\mrcNPlat{#1}}{\mrcNPlon{#1}}
+ \__mermap_if_NP_in_map:nTF { #1 }
+ }
+
+
+\prg_new_conditional:Npnn \__mermap_if_NP_in_vicinity:n #1 { p, TF }
+ {
+ \__mermap_if_NP_exists:nTF { #1 }
+ {
+ \__mermap_if_in_vicinity:nnTF{ \mrcNPlat{#1} }{ \mrcNPlon{#1} }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ {
+ \prg_return_false:
+ }
}
\NewDocumentCommand{\ifmrcNPinvicinity}{ m }
{
- \__mermap_if_in_vicinity:nnTF{\mrcNPlat{#1}}{\mrcNPlon{#1}}
+ \__mermap_if_NP_in_vicinity:nTF{ #1 }
}
@@ -485,7 +541,7 @@
\char_set_catcode_other:n {`\"}
\tl_const:Nn \c__mermap_supply_call_boundaries_tl
- {%
+ {
\l__mermap_python_tl\c_space_tl boundaries
-u "\str_use:N\l__mermap_supply_url_str"
-at "\str_use:N\l__mermap_supply_attribution_str"
@@ -503,7 +559,7 @@
}
\tl_const:Nn \c__mermap_supply_call_reference_tl
- {%
+ {
\l__mermap_python_tl\c_space_tl reference
-u "\str_use:N\l__mermap_supply_url_str"
-at "\str_use:N\l__mermap_supply_attribution_str"
@@ -523,7 +579,7 @@
\tl_const:Nn \c__mermap_supply_call_areafit_tl
- {%
+ {
\l__mermap_python_tl\c_space_tl areafit
-u "\str_use:N\l__mermap_supply_url_str"
-at "\str_use:N\l__mermap_supply_attribution_str"
@@ -604,11 +660,11 @@
\cs_new:Npn \__mermap_supply_url_with_api_key:nnn #1#2#3
{
\str_set:Nn \l__mermap_supply_url_str {#1}
- \prop_get:NnNF \g__mermap_apikey_prop {#2} \l_tmpa_tl
+ \prop_get:NnNF \g__mermap_apikey_prop {#2} \l__mermap_tmpa_tl
{
\msg_error:nnx{ mercatormap }{ api-key-undefined }{ #2 }
}
- \str_put_right:NV \l__mermap_supply_url_str \l_tmpa_tl
+ \str_put_right:NV \l__mermap_supply_url_str \l__mermap_tmpa_tl
\str_put_right:Nn \l__mermap_supply_url_str {#3}
}
@@ -621,16 +677,16 @@
{
\msg_error:nnx{ mercatormap }{ np-undefined }{ ##1 }
}
- \fp_set:Nn \l_tmpa_fp { \mrcNPlat{##1} }
- \fp_compare:nNnT \l_tmpa_fp < \l__mermap_supply_south_fp
- { \fp_set_eq:NN \l__mermap_supply_south_fp \l_tmpa_fp }
- \fp_compare:nNnT \l_tmpa_fp > \l__mermap_supply_north_fp
- { \fp_set_eq:NN \l__mermap_supply_north_fp \l_tmpa_fp }
- \fp_set:Nn \l_tmpa_fp { \mrcNPlon{##1} }
- \fp_compare:nNnT \l_tmpa_fp < \l__mermap_supply_west_fp
- { \fp_set_eq:NN \l__mermap_supply_west_fp \l_tmpa_fp }
- \fp_compare:nNnT \l_tmpa_fp > \l__mermap_supply_east_fp
- { \fp_set_eq:NN \l__mermap_supply_east_fp \l_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { \mrcNPlat{##1} }
+ \fp_compare:nNnT \l__mermap_tmpa_fp < \l__mermap_supply_south_fp
+ { \fp_set_eq:NN \l__mermap_supply_south_fp \l__mermap_tmpa_fp }
+ \fp_compare:nNnT \l__mermap_tmpa_fp > \l__mermap_supply_north_fp
+ { \fp_set_eq:NN \l__mermap_supply_north_fp \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { \mrcNPlon{##1} }
+ \fp_compare:nNnT \l__mermap_tmpa_fp < \l__mermap_supply_west_fp
+ { \fp_set_eq:NN \l__mermap_supply_west_fp \l__mermap_tmpa_fp }
+ \fp_compare:nNnT \l__mermap_tmpa_fp > \l__mermap_supply_east_fp
+ { \fp_set_eq:NN \l__mermap_supply_east_fp \l__mermap_tmpa_fp }
}
}
@@ -662,14 +718,14 @@
{
\msg_error:nnn { mercatormap }{ input-area-marker }{ #1 }
}
- \tl_gset:Nx \g_tmpa_tl
+ \tl_gset:Nx \g__mermap_tmpa_tl
{
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_west_fp { \fp_to_decimal:N\l__mermap_supply_west_fp }
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_east_fp { \fp_to_decimal:N\l__mermap_supply_east_fp }
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_south_fp { \fp_to_decimal:N\l__mermap_supply_south_fp }
\exp_not:N\fp_set:Nn \exp_not:N\l__mermap_supply_north_fp { \fp_to_decimal:N\l__mermap_supply_north_fp }
}
- \group_insert_after:N \g_tmpa_tl
+ \group_insert_after:N \g__mermap_tmpa_tl
\group_end:
}
@@ -715,18 +771,18 @@
_source .choice:,
area .code:n =
{
- \clist_set:Nn \l_tmpa_clist { #1 }
+ \clist_set:Nn \l__mermap_tmpa_clist { #1 }
\fp_set:Nn \l__mermap_supply_west_fp { inf }
\fp_set:Nn \l__mermap_supply_east_fp { -inf }
\fp_set:Nn \l__mermap_supply_south_fp { 89 }
\fp_set:Nn \l__mermap_supply_north_fp { -89 }
- \__mermap_supply_add_area_clist:N \l_tmpa_clist
+ \__mermap_supply_add_area_clist:N \l__mermap_tmpa_clist
},
area .value_required:n = true,
add~area .code:n =
{
- \clist_set:Nn \l_tmpa_clist { #1 }
- \__mermap_supply_add_area_clist:N \l_tmpa_clist
+ \clist_set:Nn \l__mermap_tmpa_clist { #1 }
+ \__mermap_supply_add_area_clist:N \l__mermap_tmpa_clist
},
area~from~marker~input .code:n =
{
@@ -756,20 +812,20 @@
flex~area~fit .code:n = {
\fp_compare:nNnF \l__mermap_tile_size_dim = \l__mermap_flex_tile_size_dim
{
- \fp_set:Nn \l_tmpa_fp { \l__mermap_tile_size_dim/\l__mermap_flex_tile_size_dim }
- \fp_set:Nn \l__mermap_supply_width_fp{\l__mermap_supply_width_fp*\l_tmpa_fp}
- \fp_set:Nn \l__mermap_supply_height_fp{\l__mermap_supply_height_fp*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_tmpa_fp { \l__mermap_tile_size_dim/\l__mermap_flex_tile_size_dim }
+ \fp_set:Nn \l__mermap_supply_width_fp{\l__mermap_supply_width_fp*\l__mermap_tmpa_fp}
+ \fp_set:Nn \l__mermap_supply_height_fp{\l__mermap_supply_height_fp*\l__mermap_tmpa_fp}
}
\fp_set:Nn \l__mermap_supply_width_fp{\l__mermap_supply_width_fp-(#1)/\l__mermap_flex_tile_size_dim}
\fp_set:Nn \l__mermap_supply_height_fp{\l__mermap_supply_height_fp-(#1)/\l__mermap_flex_tile_size_dim}
- \fp_set:Nn \l_tmpa_fp { min ( 180*\l__mermap_supply_width_fp / (\l__mermap_supply_east_fp-\l__mermap_supply_west_fp)
+ \fp_set:Nn \l__mermap_tmpa_fp { min ( 180*\l__mermap_supply_width_fp / (\l__mermap_supply_east_fp-\l__mermap_supply_west_fp)
, pi*\l__mermap_supply_height_fp / ln( tand(\l__mermap_supply_north_fp/2+45) / tand(\l__mermap_supply_south_fp/2+45) ) ) }
- \fp_set:Nn \l_tmpb_fp { ln(\l_tmpa_fp)/ln(2) }
- \fp_set:Nn \l_tmpb_fp { round(\l_tmpb_fp)/\l_tmpb_fp }
- \fp_set:Nn \l_tmpb_fp { \l_tmpa_fp^(\l_tmpb_fp-1+0.0000001) }
- \dim_set:Nn \l__mermap_tile_size_dim { \fp_to_dim:n { \l__mermap_flex_tile_size_dim / \l_tmpb_fp }}
- \fp_set:Nn \l__mermap_supply_width_fp { \l__mermap_supply_width_fp * \l_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
- \fp_set:Nn \l__mermap_supply_height_fp { \l__mermap_supply_height_fp * \l_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
+ \fp_set:Nn \l__mermap_tmpb_fp { ln(\l__mermap_tmpa_fp)/ln(2) }
+ \fp_set:Nn \l__mermap_tmpb_fp { round(\l__mermap_tmpb_fp)/\l__mermap_tmpb_fp }
+ \fp_set:Nn \l__mermap_tmpb_fp { \l__mermap_tmpa_fp^(\l__mermap_tmpb_fp-1+0.0000001) }
+ \dim_set:Nn \l__mermap_tile_size_dim { \fp_to_dim:n { \l__mermap_flex_tile_size_dim / \l__mermap_tmpb_fp }}
+ \fp_set:Nn \l__mermap_supply_width_fp { \l__mermap_supply_width_fp * \l__mermap_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
+ \fp_set:Nn \l__mermap_supply_height_fp { \l__mermap_supply_height_fp * \l__mermap_tmpb_fp + (#1)/\l__mermap_tile_size_dim }
},
flex~area~fit .default:n = 0pt,
}
@@ -815,16 +871,13 @@
\msg_new:nnn { mercatormap }{ python-script }
- { Python~script~'maptiles.texpy'~is~created~(for~map~tile~download). }
+ { Python~script~'maptiles.texpy'~is~created~for~map~tile~download. }
\NewDocumentCommand \mrcactivatescript {}
{
\msg_info:nn { mercatormap }{ python-script }
- \group_begin:
- \def\@latex@warning@no@line##1{}% suppress filecontents warning
\file_input:n {\mrcpkgprefix mercatorpy.def}
- \group_end:
\bool_set_true:N \l__mermap_script_activated_bool
}
\@onlypreamble\mrcactivatescript
@@ -838,21 +891,21 @@
\cs_new:Npn \__mermap_create_definition_id:n #1
{
- \tl_set:Nx \l_tmpa_tl {#1}
- \tl_trim_spaces:N \l_tmpa_tl
- \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l_tmpa_tl}
+ \tl_set:Nx \l__mermap_tmpa_tl {#1}
+ \tl_trim_spaces:N \l__mermap_tmpa_tl
+ \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l__mermap_tmpa_tl}
\str_concat:NNN \l__mermap_definition_id_str
\l__mermap_definition_prefix_str \l__mermap_definition_postfix_str
}
\cs_new:Npn \__mermap_map:nn #1#2
{
- \tl_set:Nx \l_tmpa_tl {#2}
- \tl_trim_spaces:N \l_tmpa_tl
- \tl_if_empty:NT \l_tmpa_tl
+ \tl_set:Nx \l__mermap_tmpa_tl {#2}
+ \tl_trim_spaces:N \l__mermap_tmpa_tl
+ \tl_if_empty:NT \l__mermap_tmpa_tl
{
\int_gincr:N \g__mermap_automap_int
- \tl_set:Nx \l_tmpa_tl
+ \tl_set:Nx \l__mermap_tmpa_tl
{
automap-
\int_compare:nNnTF \g__mermap_automap_int<{10} {000}
@@ -865,7 +918,7 @@
\int_use:N \g__mermap_automap_int
}
}
- \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l_tmpa_tl}
+ \str_set:Nx \l__mermap_definition_postfix_str {\tl_to_str:N \l__mermap_tmpa_tl}
\str_concat:NNN \l__mermap_definition_id_str
\l__mermap_definition_prefix_str \l__mermap_definition_postfix_str
\__mermap_supplymap:n {#1}
@@ -886,12 +939,12 @@
{
\group_begin:
\keys_set:nn { mermap/supply } { #1 }
- \tl_set:Nx \l_tmpa_tl { \str_use:N\l__mermap_definition_id_str }
- \prop_if_in:NVT \g__mermap_definition_prop \l_tmpa_tl
+ \tl_set:Nx \l__mermap_tmpa_tl { \str_use:N\l__mermap_definition_id_str }
+ \prop_if_in:NVT \g__mermap_definition_prop \l__mermap_tmpa_tl
{
- \msg_warning:nnx { mercatormap }{ definition-id-used }{ \tl_use:N \l_tmpa_tl }
+ \msg_warning:nnx { mercatormap }{ definition-id-used }{ \tl_use:N \l__mermap_tmpa_tl }
}
- \prop_gput:NVn \g__mermap_definition_prop \l_tmpa_tl {}
+ \prop_gput:NVn \g__mermap_definition_prop \l__mermap_tmpa_tl {}
\bool_if:NT \l__mermap_script_activated_bool
{
\__mermap_supplymap_call:
@@ -927,10 +980,10 @@
\cs_new:Npn \__mermap_supplymap_call:
{
- \tl_set_eq:Nc \l_tmpa_tl {
+ \tl_set_eq:Nc \l__mermap_tmpa_tl {
c__mermap_supply_call_\l__mermap_supply_type_tl _tl }
- \tl_set:Nx \l__mermap_supply_call_tl \l_tmpa_tl
- \tl_set:Nx \l__mermap_mdfivesum_tl { \pdf@mdfivesum{\l__mermap_supply_call_tl} }
+ \tl_set:Nx \l__mermap_supply_call_tl \l__mermap_tmpa_tl
+ \tl_set:Nx \l__mermap_mdfivesum_tl { \str_mdfive_hash:e{\l__mermap_supply_call_tl} }
\file_if_exist:nTF {\l__mermap_definition_id_str.def}
{
\tl_clear:N \l__mermap_last_mdfivesum_tl
@@ -1031,8 +1084,8 @@
\cs_new_nopar:Npn \__mermap_set_flex_scale:nn #1#2
{
- \fp_set:Nn \l_tmpa_fp { 1+ln(\c__mermap_mean_radius_fp/#1*cosd(#2)*pi/\l__mermap_flex_tile_size_dim)/ln(2) }
- \keys_set:nn { mermap }{ flex~zoom=\l_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { 1+ln(\c__mermap_mean_radius_fp/#1*cosd(#2)*pi/\l__mermap_flex_tile_size_dim)/ln(2) }
+ \keys_set:nn { mermap }{ flex~zoom=\l__mermap_tmpa_fp }
}
\use:x
@@ -1323,19 +1376,19 @@
\cs_new_nopar:Npn \__mermap_compute_network_step:nn #1#2
{
- \fp_set:Nn \l_tmpa_fp
+ \fp_set:Nn \l__mermap_tmpa_fp
{
min ( \l__mermap_network_pieces_int, round((#1)/\l__mermap_network_distance_dim) )
}
- \fp_set:Nn \l_tmpb_fp { (#2)/\l_tmpa_fp }
- \fp_set:Nn \l_tmpa_fp { floor(ln(\l_tmpb_fp)/ln(10)) }
- \fp_compare:nNnTF {\l_tmpa_fp} < {0}
+ \fp_set:Nn \l__mermap_tmpb_fp { (#2)/\l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { floor(ln(\l__mermap_tmpb_fp)/ln(10)) }
+ \fp_compare:nNnTF {\l__mermap_tmpa_fp} < {0}
{
- \fp_compare:nNnTF {\l_tmpa_fp} > {-5}
+ \fp_compare:nNnTF {\l__mermap_tmpa_fp} > {-5}
{
\use:x
{
- \exp_not:N\keys_set:nn { mermap }{ format~angle=decimal\fp_to_int:N\l_tmpa_fp}
+ \exp_not:N\keys_set:nn { mermap }{ format~angle=decimal\fp_to_int:N\l__mermap_tmpa_fp}
}
}
{
@@ -1345,25 +1398,25 @@
{
\keys_set:nn { mermap }{ format~angle=decimal-0 }
}
- \fp_set:Nn \l_tmpa_fp { 10^\l_tmpa_fp }
- \fp_set:Nn \l_tmpb_fp { \l_tmpb_fp/\l_tmpa_fp }
- \fp_compare:nNnTF {abs(\l_tmpb_fp-1)} < {abs(\l_tmpb_fp-2)}
+ \fp_set:Nn \l__mermap_tmpa_fp { 10^\l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_tmpb_fp { \l__mermap_tmpb_fp/\l__mermap_tmpa_fp }
+ \fp_compare:nNnTF {abs(\l__mermap_tmpb_fp-1)} < {abs(\l__mermap_tmpb_fp-2)}
{
- \fp_compare:nNnTF {abs(\l_tmpb_fp-1)} < {abs(\l_tmpb_fp-5)}
+ \fp_compare:nNnTF {abs(\l__mermap_tmpb_fp-1)} < {abs(\l__mermap_tmpb_fp-5)}
{
- \fp_set:Nn \l__mermap_result_fp {\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {\l__mermap_tmpa_fp}
}
{
- \fp_set:Nn \l__mermap_result_fp {5*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {5*\l__mermap_tmpa_fp}
}
}
{
- \fp_compare:nNnTF {abs(\l_tmpb_fp-2)} < {abs(\l_tmpb_fp-5)}
+ \fp_compare:nNnTF {abs(\l__mermap_tmpb_fp-2)} < {abs(\l__mermap_tmpb_fp-5)}
{
- \fp_set:Nn \l__mermap_result_fp {2*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {2*\l__mermap_tmpa_fp}
}
{
- \fp_set:Nn \l__mermap_result_fp {5*\l_tmpa_fp}
+ \fp_set:Nn \l__mermap_result_fp {5*\l__mermap_tmpa_fp}
}
}
}
@@ -1376,46 +1429,46 @@
\IfNoValueF {#1} { \keys_set:nn { mermap } {#1} }
\tl_use:N \l__mermap_tikz_map_clip_tl
\__mermap_compute_network_step:nn {\l__mermap_tex_height_fp}{\l__mermap_mapnorth_fp-\l__mermap_mapsouth_fp}
- \fp_set:Nn \l_tmpa_fp { ceil(\l__mermap_mapsouth_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
- \fp_compare:nNnT {\l_tmpa_fp-\l__mermap_mapsouth_fp} < {1e-10}
+ \fp_set:Nn \l__mermap_tmpa_fp { ceil(\l__mermap_mapsouth_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
+ \fp_compare:nNnT {\l__mermap_tmpa_fp-\l__mermap_mapsouth_fp} < {1e-10}
{
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
- \fp_while_do:nNnn {\l_tmpa_fp} < {\l__mermap_mapnorth_fp}
+ \fp_while_do:nNnn {\l__mermap_tmpa_fp} < {\l__mermap_mapnorth_fp}
{
- \tl_set:Nn \l_tmpa_tl {\fp_use:N\l_tmpa_fp}
- \draw[gray,very~thin] (mrc~cs\c_colon_str lat=\l_tmpa_tl,lon=\mrcmapwest)
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_use:N\l__mermap_tmpa_fp}
+ \draw[gray,very~thin] (mrc~cs\c_colon_str lat=\l__mermap_tmpa_tl,lon=\mrcmapwest)
coordinate (mermap_temp)
node[right=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlat{\l_tmpa_tl}}
+ ]{\mrcformlat{\l__mermap_tmpa_tl}}
-- (mermap_temp -| mrcmap.east)
node[left=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlat{\l_tmpa_tl}}
+ ]{\mrcformlat{\l__mermap_tmpa_tl}}
;
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
\__mermap_compute_network_step:nn {\l__mermap_tex_width_fp}{\l__mermap_mapeast_fp-\l__mermap_mapwest_fp}
- \fp_set:Nn \l_tmpa_fp { ceil(\l__mermap_mapwest_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
- \fp_compare:nNnT {\l_tmpa_fp-\l__mermap_mapwest_fp} < {1e-10}
+ \fp_set:Nn \l__mermap_tmpa_fp { ceil(\l__mermap_mapwest_fp/\l__mermap_result_fp)*\l__mermap_result_fp}
+ \fp_compare:nNnT {\l__mermap_tmpa_fp-\l__mermap_mapwest_fp} < {1e-10}
{
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
- \fp_while_do:nNnn {\l_tmpa_fp} < {\l__mermap_mapeast_fp}
+ \fp_while_do:nNnn {\l__mermap_tmpa_fp} < {\l__mermap_mapeast_fp}
{
- \tl_set:Nn \l_tmpa_tl {\fp_use:N\l_tmpa_fp}
- \draw[gray,very~thin] (mrc~cs\c_colon_str lon=\l_tmpa_tl,lat=\mrcmapsouth)
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_use:N\l__mermap_tmpa_fp}
+ \draw[gray,very~thin] (mrc~cs\c_colon_str lon=\l__mermap_tmpa_tl,lat=\mrcmapsouth)
coordinate (mermap_temp)
node[above=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlon{\l_tmpa_tl}}
+ ]{\mrcformlon{\l__mermap_tmpa_tl}}
-- (mermap_temp |- mrcmap.north)
node[below=1mm,inner~sep=0.5pt,black!50!gray,font=\l__mermap_network_font_tl,
fill=white,opacity=0.3,text~opacity=1,
- ]{\mrcformlon{\l_tmpa_tl}}
+ ]{\mrcformlon{\l__mermap_tmpa_tl}}
;
- \fp_add:Nn \l_tmpa_fp {\l__mermap_result_fp}
+ \fp_add:Nn \l__mermap_tmpa_fp {\l__mermap_result_fp}
}
\end{scope}
}
@@ -1488,26 +1541,26 @@
\cs_new_nopar:Npn \__mermap_pretty_distance:n #1
{
- \fp_set:Nn \l_tmpa_fp { #1 }
- \fp_compare:nNnTF \l_tmpa_fp < 5
+ \fp_set:Nn \l__mermap_tmpa_fp { #1 }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 5
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l_tmpa_fp}}{\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l__mermap_tmpa_fp}}{\meter}
}
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l_tmpa_fp}{\kilo\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l__mermap_tmpa_fp}{\kilo\meter}
}
}
\cs_new_nopar:Npn \__mermap_pretty_length:n #1
{
- \fp_set:Nn \l_tmpa_fp { (#1)*\l__mermap_scale_fp }
- \fp_compare:nNnTF \l_tmpa_fp < 5
+ \fp_set:Nn \l__mermap_tmpa_fp { (#1)*\l__mermap_scale_fp }
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 5
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l_tmpa_fp}}{\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:n{1000*\l__mermap_tmpa_fp}}{\meter}
}
{
- \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l_tmpa_fp}{\kilo\meter}
+ \SI[round-mode=figures,round-precision=3,detect-all]{\fp_to_decimal:N \l__mermap_tmpa_fp}{\kilo\meter}
}
}
@@ -1535,25 +1588,25 @@
\cs_new_nopar:Npn \__mermap_format_angle_minute:n #1
{
- \fp_set:Nn \l_tmpa_fp {floor(#1)}
- \fp_set:Nn \l_tmpb_fp {round((#1-\l_tmpa_fp)*60)}
+ \fp_set:Nn \l__mermap_tmpa_fp {floor(#1)}
+ \fp_set:Nn \l__mermap_tmpb_fp {round((#1-\l__mermap_tmpa_fp)*60)}
\ang[add-arc-degree-zero,add-arc-minute-zero]
{
- \fp_to_int:N \l_tmpa_fp ;
- \fp_to_int:N \l_tmpb_fp ;
+ \fp_to_int:N \l__mermap_tmpa_fp ;
+ \fp_to_int:N \l__mermap_tmpb_fp ;
}
}
\cs_new_nopar:Npn \__mermap_format_angle_second:n #1
{
- \fp_set:Nn \l_tmpa_fp {floor(#1)}
- \fp_set:Nn \l_tmpb_fp {floor((#1-\l_tmpa_fp)*60)}
+ \fp_set:Nn \l__mermap_tmpa_fp {floor(#1)}
+ \fp_set:Nn \l__mermap_tmpb_fp {floor((#1-\l__mermap_tmpa_fp)*60)}
\ang[add-arc-degree-zero,add-arc-minute-zero]
{
- \fp_to_int:N \l_tmpa_fp ;
- \fp_to_int:N \l_tmpb_fp ;
- \fp_to_int:n {round(((#1-\l_tmpa_fp)*60-\l_tmpb_fp)*60)}
+ \fp_to_int:N \l__mermap_tmpa_fp ;
+ \fp_to_int:N \l__mermap_tmpb_fp ;
+ \fp_to_int:n {round(((#1-\l__mermap_tmpa_fp)*60-\l__mermap_tmpb_fp)*60)}
}
}
@@ -1562,14 +1615,14 @@
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { mermap } {#1} }
- \fp_set:Nn \l_tmpa_fp {#2}
- \fp_compare:nNnTF \l_tmpa_fp < 0
+ \fp_set:Nn \l__mermap_tmpa_fp {#2}
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 0
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l_tmpa_fp}}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l__mermap_tmpa_fp}}
\__mermap_format_south:n {\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l_tmpa_fp}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l__mermap_tmpa_fp}
\__mermap_format_north:n {\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
\group_end:
@@ -1580,14 +1633,14 @@
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { mermap } {#1} }
- \fp_set:Nn \l_tmpa_fp {#2-360*floor((#2+180)/360)}
- \fp_compare:nNnTF \l_tmpa_fp < 0
+ \fp_set:Nn \l__mermap_tmpa_fp {#2-360*floor((#2+180)/360)}
+ \fp_compare:nNnTF \l__mermap_tmpa_fp < 0
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l_tmpa_fp}}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:n{-\l__mermap_tmpa_fp}}
\__mermap_format_west:n{\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
{
- \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l_tmpa_fp}
+ \tl_set:Nx \l__mermap_temp_tl {\fp_to_decimal:N \l__mermap_tmpa_fp}
\__mermap_format_east:n {\__mermap_format_angle:n{\l__mermap_temp_tl}}
}
\group_end:
@@ -1608,22 +1661,22 @@
{
\tl_if_empty:nTF {#5}
{
- \fp_set:Nn \l_tmpa_fp {0}
- \fp_set:Nn \l_tmpb_fp {0}
+ \fp_set:Nn \l__mermap_tmpa_fp {0}
+ \fp_set:Nn \l__mermap_tmpb_fp {0}
}
{
- \fp_set:Nn \l_tmpa_fp {#3*(#5)}
+ \fp_set:Nn \l__mermap_tmpa_fp {#3*(#5)}
\tl_if_empty:nTF {#6}
{
- \fp_set:Nn \l_tmpb_fp {#4*(#5)}
+ \fp_set:Nn \l__mermap_tmpb_fp {#4*(#5)}
}
{
- \fp_set:Nn \l_tmpb_fp {#4*(#6)}
+ \fp_set:Nn \l__mermap_tmpb_fp {#4*(#6)}
}
}
\tl_set:Nx \l__mermap_scalebar_at_tl
{
- {([xshift=\fp_to_dim:N\l_tmpa_fp,yshift=\fp_to_dim:N\l_tmpb_fp]mrcmap.#1)}
+ {([xshift=\fp_to_dim:N\l__mermap_tmpa_fp,yshift=\fp_to_dim:N\l__mermap_tmpb_fp]mrcmap.#1)}
}
\tl_set:Nn \l__mermap_scalebar_placement_tl {#2}
}
@@ -1691,60 +1744,56 @@
\begin{scope}[shift=(mrcscalebar.south~west)]
\__mermap_tikz_path_begin:n { fill=black, mrcscalebarmajor }
\pgfseteorule
- \fp_set:Nn \l_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp} % Breite
+ \fp_set:Nn \l__mermap_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp} % Breite
\pgfpathrectangle{\pgfpoint{0pt}{0pt}}
- {\pgfpoint{\fp_to_dim:N\l_tmpa_fp}{\l__mermap_scalebar_height_dim}}
+ {\pgfpoint{\fp_to_dim:N\l__mermap_tmpa_fp}{\l__mermap_scalebar_height_dim}}
\bool_if:NF \l__mermap_scalebar_transparent_bool
{
\__mermap_tikz_path_end:
\__mermap_tikz_path_begin:n { fill=white, mrcscalebarminor }
- \fp_set:Nn \l_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp}
+ \fp_set:Nn \l__mermap_tmpa_fp {\l__mermap_scalebar_width_fp/\l__mermap_scale_fp}
}
- \fp_set:Nn \l_tmpb_fp {\l_tmpa_fp/\l__mermap_scalebar_partitions_int}
+ \fp_set:Nn \l__mermap_tmpb_fp {\l__mermap_tmpa_fp/\l__mermap_scalebar_partitions_int}
\bool_if:NTF \l__mermap_scalebar_double_bool
{
- \int_set:Nn \l_tmpa_int {1}
- \dim_set:Nn \l_tmpb_dim {\l__mermap_scalebar_height_dim/2}
- \dim_set:Nn \l_tmpa_dim {0.2pt-\l_tmpb_dim}
+ \dim_set:Nn \l__mermap_tmpb_dim {\l__mermap_scalebar_height_dim/2}
+ \dim_set:Nn \l__mermap_tmpa_dim {0.2pt-\l__mermap_tmpb_dim}
\int_compare:nNnTF \l__mermap_scalebar_partitions_int = 1
{
- \pgfpathrectangle{\pgfpoint{0.2pt}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.4pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{0.2pt}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.4pt}}{\l__mermap_tmpa_dim}}
}
{
- \pgfpathrectangle{\pgfpoint{0.2pt}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.2pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{0.2pt}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.2pt}}{\l__mermap_tmpa_dim}}
}
- \int_while_do:nNnn \l_tmpa_int < \l__mermap_scalebar_partitions_int
+ \int_step_inline:nn { \l__mermap_scalebar_partitions_int-1 }
{
- \dim_set:Nn \l_tmpa_dim {-\l_tmpa_dim}
- \int_compare:nNnTF {\l_tmpa_int+1} = \l__mermap_scalebar_partitions_int
+ \dim_set:Nn \l__mermap_tmpa_dim {-\l__mermap_tmpa_dim}
+ \int_compare:nNnTF {##1+1} = \l__mermap_scalebar_partitions_int
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.2pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.2pt}}{\l__mermap_tmpa_dim}}
}
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{\l_tmpb_dim}}
- {\pgfpoint{\fp_to_dim:N\l_tmpb_fp}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{\l__mermap_tmpb_dim}}
+ {\pgfpoint{\fp_to_dim:N\l__mermap_tmpb_fp}{\l__mermap_tmpa_dim}}
}
- \int_incr:N \l_tmpa_int
}
}
{
- \int_set:Nn \l_tmpa_int {1}
- \dim_set:Nn \l_tmpa_dim {\l__mermap_scalebar_height_dim-0.4pt}
- \int_while_do:nNnn \l_tmpa_int < \l__mermap_scalebar_partitions_int
+ \dim_set:Nn \l__mermap_tmpa_dim {\l__mermap_scalebar_height_dim-0.4pt}
+ \int_step_inline:nnnn { 1 }{ 2 }{ \l__mermap_scalebar_partitions_int-1 }
{
- \int_compare:nNnTF {\l_tmpa_int+1} = \l__mermap_scalebar_partitions_int
+ \int_compare:nNnTF {##1+1} = \l__mermap_scalebar_partitions_int
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{0.2pt}}
- {\pgfpoint{\fp_to_dim:n{\l_tmpb_fp-0.2pt}}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{0.2pt}}
+ {\pgfpoint{\fp_to_dim:n{\l__mermap_tmpb_fp-0.2pt}}{\l__mermap_tmpa_dim}}
}
{
- \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{\l_tmpa_int*\l_tmpb_fp}}{0.2pt}}
- {\pgfpoint{\fp_to_dim:N\l_tmpb_fp}{\l_tmpa_dim}}
+ \pgfpathrectangle{\pgfpoint{\fp_to_dim:n{##1*\l__mermap_tmpb_fp}}{0.2pt}}
+ {\pgfpoint{\fp_to_dim:N\l__mermap_tmpb_fp}{\l__mermap_tmpa_dim}}
}
- \int_add:Nn \l_tmpa_int {2}
}
}
\__mermap_tikz_path_end:
@@ -2032,53 +2081,53 @@
\__mermap_new_marker_type:nn {pin}
{
- \tl_set:Nx \l_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
+ \tl_set:Nx \l__mermap_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
\path[fill=mrcmarkerfill,draw=none,fill~opacity=0.7]
- (0,0) -- (0.1,\l_tmpa_tl) -- (-0.1,\l_tmpa_tl) -- cycle;
+ (0,0) -- (0.1,\l__mermap_tmpa_tl) -- (-0.1,\l__mermap_tmpa_tl) -- cycle;
\node[fill=white,draw=none,text=mrcmarkertext,
above,font=\mrcmarkerfont,inner~sep=0.5mm,align=center,
line~width=0mm,xshift=\mrcmarkershift,
fill~opacity=0.7,text~opacity=1,xshift=0mm,mrcnodestyle,mrchyperpath]
- (pin_node) at (0,\l_tmpa_tl) {\mrcmarkercontents};
+ (pin_node) at (0,\l__mermap_tmpa_tl) {\mrcmarkercontents};
\path[draw=mrcmarkerdraw,fill=none,line~join=round,mrcpathstyle]
- (0,0) -- (0.1,\l_tmpa_tl) -- (pin_node.south~east) -- (pin_node.north~east)
+ (0,0) -- (0.1,\l__mermap_tmpa_tl) -- (pin_node.south~east) -- (pin_node.north~east)
-- (pin_node.north~west) -- (pin_node.south~west)
- -- (-0.1,\l_tmpa_tl) [line~join=bevel] -- cycle;
+ -- (-0.1,\l__mermap_tmpa_tl) [line~join=bevel] -- cycle;
}
\__mermap_new_marker_type:nn {pinflip}
{
- \tl_set:Nx \l_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
+ \tl_set:Nx \l__mermap_tmpa_tl {\fp_to_dim:N \l__mermap_marker_distance_fp}
\path[fill=mrcmarkerfill,draw=none,fill~opacity=0.7]
- (0,0) -- (-0.1,-\l_tmpa_tl) -- (0.1,-\l_tmpa_tl) -- cycle;
+ (0,0) -- (-0.1,-\l__mermap_tmpa_tl) -- (0.1,-\l__mermap_tmpa_tl) -- cycle;
\node[fill=white,draw=none,text=mrcmarkertext,
below,font=\mrcmarkerfont,inner~sep=0.5mm,align=center,
line~width=0mm,xshift=\mrcmarkershift,
fill~opacity=0.7,text~opacity=1,xshift=0mm,mrcnodestyle,mrchyperpath]
- (pin_node) at (0,-\l_tmpa_tl) {\mrcmarkercontents};
+ (pin_node) at (0,-\l__mermap_tmpa_tl) {\mrcmarkercontents};
\path[draw=mrcmarkerdraw,fill=none,line~join=round,mrcpathstyle]
- (0,0) -- (-0.1,-\l_tmpa_tl) -- (pin_node.north~west) -- (pin_node.south~west)
+ (0,0) -- (-0.1,-\l__mermap_tmpa_tl) -- (pin_node.north~west) -- (pin_node.south~west)
-- (pin_node.south~east) -- (pin_node.north~east)
- -- (0.1,-\l_tmpa_tl) [line~join=bevel] -- cycle;
+ -- (0.1,-\l__mermap_tmpa_tl) [line~join=bevel] -- cycle;
}
\cs_new_nopar:Npn \__mermap_tikz_drop_path:n #1
{
- \tl_set:Nn \l_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
- \tl_set:Nn \l_tmpb_tl {\fp_to_dim:n{\l__mermap_marker_radius_fp*0.552}}
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
+ \tl_set:Nn \l__mermap_tmpb_tl {\fp_to_dim:n{\l__mermap_marker_radius_fp*0.552}}
\__mermap_tikz_path_begin:n
{
line~join=bevel,draw=mrcmarkerdraw,fill=mrcmarkerfill,mrcpathstyle,mrchyperpath
}
\pgfpathmoveto{\pgfpoint{0pt}{\fp_to_dim:n{-2*\l__mermap_marker_radius_fp-\l__mermap_marker_shift_fp}}}
- \pgfpathcurveto{\pgfpoint{\l_tmpb_tl}{-\l_tmpa_tl}}{\pgfpoint{\l_tmpa_tl}{-\l_tmpb_tl}}
- {\pgfpoint{\l_tmpa_tl}{0pt}}
- \pgfpathcurveto{\pgfpoint{\l_tmpa_tl}{\l_tmpb_tl}}{\pgfpoint{\l_tmpb_tl}{\l_tmpa_tl}}
- {\pgfpoint{0pt}{\l_tmpa_tl}}
- \pgfpathcurveto{\pgfpoint{-\l_tmpb_tl}{\l_tmpa_tl}}{\pgfpoint{-\l_tmpa_tl}{\l_tmpb_tl}}
- {\pgfpoint{-\l_tmpa_tl}{0pt}}
- \pgfpathcurveto{\pgfpoint{-\l_tmpa_tl}{-\l_tmpb_tl}}{\pgfpoint{-\l_tmpb_tl}{-\l_tmpa_tl}}
+ \pgfpathcurveto{\pgfpoint{\l__mermap_tmpb_tl}{-\l__mermap_tmpa_tl}}{\pgfpoint{\l__mermap_tmpa_tl}{-\l__mermap_tmpb_tl}}
+ {\pgfpoint{\l__mermap_tmpa_tl}{0pt}}
+ \pgfpathcurveto{\pgfpoint{\l__mermap_tmpa_tl}{\l__mermap_tmpb_tl}}{\pgfpoint{\l__mermap_tmpb_tl}{\l__mermap_tmpa_tl}}
+ {\pgfpoint{0pt}{\l__mermap_tmpa_tl}}
+ \pgfpathcurveto{\pgfpoint{-\l__mermap_tmpb_tl}{\l__mermap_tmpa_tl}}{\pgfpoint{-\l__mermap_tmpa_tl}{\l__mermap_tmpb_tl}}
+ {\pgfpoint{-\l__mermap_tmpa_tl}{0pt}}
+ \pgfpathcurveto{\pgfpoint{-\l__mermap_tmpa_tl}{-\l__mermap_tmpb_tl}}{\pgfpoint{-\l__mermap_tmpb_tl}{-\l__mermap_tmpa_tl}}
{\pgfpoint{0pt}{\fp_to_dim:n{-2*\l__mermap_marker_radius_fp-\l__mermap_marker_shift_fp}}}
\pgfpathclose
#1
@@ -2089,14 +2138,14 @@
{
\node[circle,inner~sep=0pt,font=\mrcmarkerfont,text=mrcmarkertext,mrcnodestyle]
{
- \hbox_set:Nn \l_tmpa_box {\mrcmarkercontents}
- \fp_compare:nNnT {\box_wd:N \l_tmpa_box} > {1.5*\l__mermap_marker_radius_fp}
+ \hbox_set:Nn \l__mermap_tmpa_box {\mrcmarkercontents}
+ \fp_compare:nNnT {\box_wd:N \l__mermap_tmpa_box} > {1.5*\l__mermap_marker_radius_fp}
{
- \box_resize_to_wd_and_ht:Nnn \l_tmpa_box
+ \box_resize_to_wd_and_ht:Nnn \l__mermap_tmpa_box
{\fp_to_dim:n {1.5*\l__mermap_marker_radius_fp}}
- {\box_ht:N \l_tmpa_box}
+ {\box_ht:N \l__mermap_tmpa_box}
}
- \box_use_drop:N \l_tmpa_box
+ \box_use_drop:N \l__mermap_tmpa_box
};
}
@@ -2153,22 +2202,22 @@
\__mermap_new_marker_type:nn {ringx}
{
- \tl_set:Nn \l_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
\path[draw=mrcmarkerdraw,very~thin]
- (45 \c_colon_str \l_tmpa_tl)--(225\c_colon_str \l_tmpa_tl)
- (135\c_colon_str \l_tmpa_tl)--(315\c_colon_str \l_tmpa_tl);
+ (45 \c_colon_str \l__mermap_tmpa_tl)--(225\c_colon_str \l__mermap_tmpa_tl)
+ (135\c_colon_str \l__mermap_tmpa_tl)--(315\c_colon_str \l__mermap_tmpa_tl);
\path[draw=mrcmarkerdraw,fill=mrcmarkerfill,mrcpathstyle,mrchyperpath,even~odd~rule]
- circle (\l_tmpa_tl) circle (\fp_to_dim:N\l__mermap_marker_inner_radius_fp);
+ circle (\l__mermap_tmpa_tl) circle (\fp_to_dim:N\l__mermap_marker_inner_radius_fp);
}
\__mermap_new_marker_type:nn {markx}
{
- \tl_set:Nn \l_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
+ \tl_set:Nn \l__mermap_tmpa_tl {\fp_to_dim:N\l__mermap_marker_radius_fp}
\path[line~join=bevel,draw=mrcmarkerdraw,fill=mrcmarkerfill,mrcpathstyle,mrchyperpath]
- (0,0) -- (35 \c_colon_str \l_tmpa_tl) -- (55 \c_colon_str \l_tmpa_tl) -- cycle
- (0,0) -- (125 \c_colon_str \l_tmpa_tl) -- (145 \c_colon_str \l_tmpa_tl) -- cycle
- (0,0) -- (215 \c_colon_str \l_tmpa_tl) -- (235 \c_colon_str \l_tmpa_tl) -- cycle
- (0,0) -- (305 \c_colon_str \l_tmpa_tl) -- (325 \c_colon_str \l_tmpa_tl) -- cycle;
+ (0,0) -- (35 \c_colon_str \l__mermap_tmpa_tl) -- (55 \c_colon_str \l__mermap_tmpa_tl) -- cycle
+ (0,0) -- (125 \c_colon_str \l__mermap_tmpa_tl) -- (145 \c_colon_str \l__mermap_tmpa_tl) -- cycle
+ (0,0) -- (215 \c_colon_str \l__mermap_tmpa_tl) -- (235 \c_colon_str \l__mermap_tmpa_tl) -- cycle
+ (0,0) -- (305 \c_colon_str \l__mermap_tmpa_tl) -- (325 \c_colon_str \l__mermap_tmpa_tl) -- cycle;
}
@@ -2269,12 +2318,21 @@
\fp_new:N \l__mermap_b_x_fp
\fp_new:N \l__mermap_b_y_fp
\fp_new:N \l__mermap_b_z_fp
+\fp_new:N \l__mermap_alpha_fp
\fp_new:N \l__mermap_delta_lambda_fp
\fp_new:N \l__mermap_delta_phi_fp
+\fp_new:N \l__mermap_n_x_fp
+\fp_new:N \l__mermap_n_y_fp
+\fp_new:N \l__mermap_n_z_fp
\fp_new:N \l__mermap_psi_fp
+\fp_new:N \l__mermap_sin_psi_fp
+\fp_new:N \l__mermap_t_fp
+\fp_new:N \l__mermap_t_psi_fp
\fp_new:N \l__mermap_t_x_fp
\fp_new:N \l__mermap_t_y_fp
\fp_new:N \l__mermap_t_z_fp
+\fp_const:Nn \c__mermap_linearization_threshold_fp { 10e-9 }
+\bool_new:N \l__mermap_linearization_bool
\int_new:N \l__mermap_samples_int
@@ -2309,41 +2367,86 @@
}
-\cs_new:Npn \__mermap_draw_orthodrome:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \__mermap_draw_orthodrome:nnnnn #1#2#3#4#5
{
\__mermap_tikz_path_begin:n { draw,mermap_every_route,#1 }
- \fp_set:Nn \l__mermap_a_x_fp { cosd(#3)*cosd(#2) }
- \fp_set:Nn \l__mermap_a_y_fp { sind(#3)*cosd(#2) }
- \fp_set:Nn \l__mermap_a_z_fp { sind(#2) }
- \fp_set:Nn \l__mermap_b_x_fp { cosd(#5)*cosd(#4) }
- \fp_set:Nn \l__mermap_b_y_fp { sind(#5)*cosd(#4) }
- \fp_set:Nn \l__mermap_b_z_fp { sind(#4) }
-
- \fp_set:Nn \l_tmpa_fp { sind(#2)*sind(#4) + cosd(#2)*cosd(#4)*cosd(#5-(#3)) }
- \fp_set:Nn \l__mermap_psi_fp { acosd(\l_tmpa_fp) }
- \fp_set:Nn \l_tmpb_fp { sind(\l__mermap_psi_fp) }
-
- \fp_set:Nn \l__mermap_b_x_fp { (\l__mermap_b_x_fp - \l_tmpa_fp*\l__mermap_a_x_fp)/\l_tmpb_fp }
- \fp_set:Nn \l__mermap_b_y_fp { (\l__mermap_b_y_fp - \l_tmpa_fp*\l__mermap_a_y_fp)/\l_tmpb_fp }
- \fp_set:Nn \l__mermap_b_z_fp { (\l__mermap_b_z_fp - \l_tmpa_fp*\l__mermap_a_z_fp)/\l_tmpb_fp }
-
- \__mermap_pgf_moveto_point:nn {#2}{#3}
- \int_set:Nn \l_tmpa_int {1}
- \int_until_do:nNnn \l_tmpa_int > \l__mermap_samples_int
- {
- \fp_set:Nn \l_tmpa_fp { \l__mermap_psi_fp*\l_tmpa_int/\l__mermap_samples_int }
- \fp_set:Nn \l_tmpb_fp { sind(\l_tmpa_fp) }
- \fp_set:Nn \l_tmpa_fp { cosd(\l_tmpa_fp) }
- \fp_set:Nn \l__mermap_t_x_fp { \l_tmpa_fp*\l__mermap_a_x_fp + \l_tmpb_fp*\l__mermap_b_x_fp }
- \fp_set:Nn \l__mermap_t_y_fp { \l_tmpa_fp*\l__mermap_a_y_fp + \l_tmpb_fp*\l__mermap_b_y_fp }
- \fp_set:Nn \l__mermap_t_z_fp { \l_tmpa_fp*\l__mermap_a_z_fp + \l_tmpb_fp*\l__mermap_b_z_fp }
- \pgfpathlineto{\__mermap_unit_sphere_point:nnn {\l__mermap_t_x_fp}{\l__mermap_t_y_fp}{\l__mermap_t_z_fp}}
- \int_incr:N \l_tmpa_int
+ \__mermap_setup_orthodrome:nnnn { #2 }{ #3 }{ #4 }{ #5 }
+ \__mermap_pgf_moveto_point:nn { #2 }{ #3 }
+ \int_step_inline:nn { \l__mermap_samples_int }
+ {
+ \__mermap_point_on_orthodrome:n { ##1/\l__mermap_samples_int }
+ \__mermap_pgf_lineto_point:nn{ \l__mermap_cs_lat_fp }{ \l__mermap_cs_lon_fp }
}
\__mermap_tikz_path_end:
}
+\cs_new_protected:Npn \__mermap_setup_orthodrome:nnnn #1#2#3#4
+ {
+ \fp_set:Nn \l__mermap_a_x_fp { cosd(#2)*cosd(#1) }
+ \fp_set:Nn \l__mermap_a_y_fp { sind(#2)*cosd(#1) }
+ \fp_set:Nn \l__mermap_a_z_fp { sind(#1) }
+
+ \fp_set:Nn \l__mermap_b_x_fp { cosd(#4)*cosd(#3) }
+ \fp_set:Nn \l__mermap_b_y_fp { sind(#4)*cosd(#3) }
+ \fp_set:Nn \l__mermap_b_z_fp { sind(#3) }
+
+ \fp_set:Nn \l__mermap_psi_fp { acosd( sind(#1)*sind(#3) + cosd(#1)*cosd(#3)*cosd(#4-(#2)) ) }
+ \fp_set:Nn \l__mermap_sin_psi_fp { sind(\l__mermap_psi_fp) }
+
+ \bool_set:Nn \l__mermap_linearization_bool { \fp_compare_p:nNn \l__mermap_psi_fp < \c__mermap_linearization_threshold_fp }
+ }
+
+
+\cs_new_protected:Npn \__mermap_point_on_orthodrome:n #1
+ {
+ \fp_set:Nn \l__mermap_t_fp { #1 }
+
+ \bool_if:NTF \l__mermap_linearization_bool
+ {
+ \fp_set:Nn \l__mermap_tmpa_fp { 1 - \l__mermap_t_fp }
+ \fp_set_eq:NN \l__mermap_tmpb_fp \l__mermap_t_fp
+ }
+ {
+ \fp_set:Nn \l__mermap_t_psi_fp { \l__mermap_t_fp * \l__mermap_psi_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { sind( \l__mermap_psi_fp - \l__mermap_t_psi_fp ) / \l__mermap_sin_psi_fp }
+ \fp_set:Nn \l__mermap_tmpb_fp { sind( \l__mermap_t_psi_fp ) / \l__mermap_sin_psi_fp }
+ }
+
+ \fp_set:Nn \l__mermap_t_x_fp { \l__mermap_tmpa_fp*\l__mermap_a_x_fp + \l__mermap_tmpb_fp*\l__mermap_b_x_fp }
+ \fp_set:Nn \l__mermap_t_y_fp { \l__mermap_tmpa_fp*\l__mermap_a_y_fp + \l__mermap_tmpb_fp*\l__mermap_b_y_fp }
+ \fp_set:Nn \l__mermap_t_z_fp { \l__mermap_tmpa_fp*\l__mermap_a_z_fp + \l__mermap_tmpb_fp*\l__mermap_b_z_fp }
+
+ \fp_set:Nn \l__mermap_cs_lat_fp { asind(\l__mermap_t_z_fp) }
+ \fp_set:Nn \l__mermap_cs_lon_fp { sign(\l__mermap_t_y_fp)*acosd(\l__mermap_t_x_fp/sqrt(\l__mermap_t_x_fp^2+\l__mermap_t_y_fp^2)) }
+ }
+
+
+\cs_new_protected:Npn \__mermap_angle_at_orthodrome:
+ {
+ \bool_if:NTF \l__mermap_linearization_bool
+ {
+ \fp_set:Nn \l__mermap_alpha_fp { 90 }
+ }
+ {
+ \fp_set:Nn \l__mermap_tmpa_fp { cosd( \l__mermap_psi_fp - \l__mermap_t_psi_fp ) }
+ \fp_set:Nn \l__mermap_tmpb_fp { cosd( \l__mermap_t_psi_fp ) }
+ \fp_set:Nn \l__mermap_n_x_fp { \l__mermap_tmpb_fp*\l__mermap_b_x_fp - \l__mermap_tmpa_fp*\l__mermap_a_x_fp }
+ \fp_set:Nn \l__mermap_n_y_fp { \l__mermap_tmpb_fp*\l__mermap_b_y_fp - \l__mermap_tmpa_fp*\l__mermap_a_y_fp }
+ \fp_set:Nn \l__mermap_n_z_fp { \l__mermap_tmpb_fp*\l__mermap_b_z_fp - \l__mermap_tmpa_fp*\l__mermap_a_z_fp }
+ \fp_set:Nn \l__mermap_tmpa_fp { sqrt( \l__mermap_n_x_fp^2 + \l__mermap_n_y_fp^2 + \l__mermap_n_z_fp^2 ) }
+ \fp_set:Nn \l__mermap_n_x_fp { \l__mermap_n_x_fp / \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_n_y_fp { \l__mermap_n_y_fp / \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_n_z_fp { \l__mermap_n_z_fp / \l__mermap_tmpa_fp }
+ \fp_set:Nn \l__mermap_alpha_fp { acosd( \l__mermap_n_y_fp*cosd(\l__mermap_cs_lon_fp) - \l__mermap_n_x_fp*sind(\l__mermap_cs_lon_fp) ) }
+ \fp_compare:nNnT \l__mermap_n_z_fp < 0
+ {
+ \fp_set:Nn \l__mermap_alpha_fp { 360 - \l__mermap_alpha_fp }
+ }
+ }
+ }
+
+
\NewDocumentCommand \mrcdraworthodrome { O{} mmmm }
{
\__mermap_draw_orthodrome:nnnnn {#1}{#2}{#3}{#4}{#5}
@@ -2392,11 +2495,11 @@
\fp_set:Nn \l__mermap_delta_lambda_fp {(#4-(#2))/180*pi}
\fp_compare:nNnTF {abs(\l__mermap_delta_phi_fp)} < {1e-5}
{
- \fp_set:Nn \l_tmpa_fp { tand(#1) }
- \fp_set:Nn \l_tmpb_fp { \l__mermap_delta_lambda_fp*cosd(#1)
- /( 1 + (\l_tmpa_fp + (1+2*\l_tmpa_fp*\l_tmpa_fp)*\l__mermap_delta_phi_fp/3)*\l__mermap_delta_phi_fp/2 ) }
+ \fp_set:Nn \l__mermap_tmpa_fp { tand(#1) }
+ \fp_set:Nn \l__mermap_tmpb_fp { \l__mermap_delta_lambda_fp*cosd(#1)
+ /( 1 + (\l__mermap_tmpa_fp + (1+2*\l__mermap_tmpa_fp*\l__mermap_tmpa_fp)*\l__mermap_delta_phi_fp/3)*\l__mermap_delta_phi_fp/2 ) }
\fp_set:Nn \l__mermap_result_fp {
- sqrt( \l__mermap_delta_phi_fp*\l__mermap_delta_phi_fp + \l_tmpb_fp*\l_tmpb_fp ) }
+ sqrt( \l__mermap_delta_phi_fp*\l__mermap_delta_phi_fp + \l__mermap_tmpb_fp*\l__mermap_tmpb_fp ) }
}
{
\fp_set:Nn \l__mermap_result_fp { abs(\l__mermap_delta_phi_fp)
@@ -2422,11 +2525,314 @@
\NewDocumentCommand \mrcNPprettyloxodistance { mm }
{
- \__mermap_loxo_distance:nnnn {\mrcNPlat{#1}}{\mrcNPlon{#1}}{\mrcNPlat{#2}}{\mrcNPlon{#2}}
+ \__mermap_loxo_distance:nnnn { \mrcNPlat{#1} }{ \mrcNPlon{#1} }{ \mrcNPlat{#2} }{ \mrcNPlon{#2} }
\__mermap_pretty_distance:n { \l__mermap_result_fp }
}
+\cs_new_protected:Npn \__mermap_orthodrome_point:nnn #1#2#3
+ {
+ \__mermap_point_on_orthodrome:n { #3 }
+ \__mermap_set_named_position { #1 }{ \l__mermap_cs_lat_fp }{ \l__mermap_cs_lon_fp }
+ \IfNoValueF { #2 }
+ {
+ \__mermap_angle_at_orthodrome:
+ \cs_set:Npe #2 { \fp_to_decimal:N \l__mermap_alpha_fp }
+ }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoFraction { mo mm mm m }
+ {
+ \__mermap_setup_orthodrome:nnnn { #3 }{ #4 }{ #5 }{ #6 }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #7 }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoFractionNamed { mo m m m }
+ {
+ \__mermap_setup_orthodrome:nnnn { \mrcNPlat{#3} }{ \mrcNPlon{#3} }{ \mrcNPlat{#4} }{ \mrcNPlon{#4} }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #5 }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoDistance { mo mm mm m }
+ {
+ \__mermap_ortho_distance:nnnn { #3 }{ #4 }{ #5 }{ #6 }
+ \fp_compare:nNnTF \l__mermap_result_fp > { 0.001 }
+ {
+ \__mermap_setup_orthodrome:nnnn { #3 }{ #4 }{ #5 }{ #6 }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #7 / \l__mermap_result_fp }
+ }
+ {
+ \__mermap_set_named_position { #1 }{ #3 }{ #4 }
+ \IfNoValueF { #2 }
+ {
+ \cs_set:Npn #2 { 90 }
+ }
+ }
+ }
+
+\NewDocumentCommand \mrcNPfromOrthoDistanceNamed { mo m m m }
+ {
+ \__mermap_ortho_distance:nnnn { \mrcNPlat{#3} }{ \mrcNPlon{#3} }{ \mrcNPlat{#4} }{ \mrcNPlon{#4} }
+ \fp_compare:nNnTF \l__mermap_result_fp > { 0.001 }
+ {
+ \__mermap_setup_orthodrome:nnnn { \mrcNPlat{#3} }{ \mrcNPlon{#3} }{ \mrcNPlat{#4} }{ \mrcNPlon{#4} }
+ \__mermap_orthodrome_point:nnn { #1 }{ #2 }{ #5 / \l__mermap_result_fp }
+ }
+ {
+ \__mermap_set_named_position { #1 }{ \mrcNPlat{#3} }{ \mrcNPlon{#3} }
+ \IfNoValueF { #2 }
+ {
+ \cs_set:Npn #2 { 90 }
+ }
+ }
+ }
+
+
+%---- animations ---------------------------------------------------------------
+
+\bool_new:N \l__mermap_anim_drop_first_frame_bool
+\bool_new:N \l__mermap_anim_drop_last_frame_bool
+
+\fp_new:N \l__mermap_anim_a_lat_fp
+\fp_new:N \l__mermap_anim_a_lon_fp
+\fp_new:N \l__mermap_anim_a_scaledenom_fp
+\fp_new:N \l__mermap_anim_a_time_fp
+\fp_new:N \l__mermap_anim_b_lat_fp
+\fp_new:N \l__mermap_anim_b_lon_fp
+\fp_new:N \l__mermap_anim_b_scaledenom_fp
+\fp_new:N \l__mermap_anim_b_time_fp
+\fp_new:N \l_mermap_anim_angle_fp
+\fp_new:N \l_mermap_anim_lat_fp
+\fp_new:N \l_mermap_anim_lon_fp
+\fp_new:N \l_mermap_anim_scaledenom_fp
+\fp_new:N \l_mermap_anim_time_fp
+
+\int_new:N \l__mermap_anim_final_frame_int
+\int_new:N \l__mermap_anim_frames_int
+\int_new:N \l__mermap_anim_start_frame_int
+\int_new:N \l_mermap_anim_frame_int
+
+\seq_new:N \l__mermap_anim_scaledenom_seq
+
+\tl_new:N \l__mermap_anim_timescale_tl
+\tl_new:N \l__mermap_anim_timewarp_tl
+
+
+\NewExpandableDocumentCommand \mrcTimewarpIdentity { m }
+ {
+ #1
+ }
+
+\NewExpandableDocumentCommand \mrcTimewarpSlowStart { m m }
+ {
+ (#2)^(#1)
+ }
+
+\NewExpandableDocumentCommand \mrcTimewarpSlowFinal { m m }
+ {
+ 1 - (1-#2)^(#1)
+ }
+
+\NewExpandableDocumentCommand \mrcTimewarpSlowStartFinal { m m }
+ {
+ %1 - (1-#2)^(#1)
+ #2 <= 0.5
+ ? (2*(#2))^(#1) / 2
+ : 1 - (2-2*(#2))^(#1) / 2
+ }
+
+
+\NewDocumentEnvironment { mrcAnimation }{ m +b }
+ {
+ \keys_set:nn { mermap/anim }{ #1 }
+
+ \__mermap_anim_autocorrect_scaledenom_seq:
+ \int_compare:nNnT \l__mermap_anim_frames_int < 2
+ {
+ \int_set:Nn \l__mermap_anim_frames_int { 2 }
+ }
+ \bool_if:NTF \l__mermap_anim_drop_first_frame_bool
+ {
+ \int_set:Nn \l__mermap_anim_start_frame_int { 2 }
+ }
+ {
+ \int_set:Nn \l__mermap_anim_start_frame_int { 1 }
+ }
+ \bool_if:NTF \l__mermap_anim_drop_last_frame_bool
+ {
+ \int_set:Nn \l__mermap_anim_final_frame_int { \l__mermap_anim_frames_int-1 }
+ }
+ {
+ \int_set:Nn \l__mermap_anim_final_frame_int { \l__mermap_anim_frames_int }
+ }
+
+ \__mermap_setup_orthodrome:nnnn { \l__mermap_anim_a_lat_fp }{ \l__mermap_anim_a_lon_fp }
+ { \l__mermap_anim_b_lat_fp }{ \l__mermap_anim_b_lon_fp }
+
+ \__mermap_anim_pop_time_scale:NN \l__mermap_anim_a_time_fp \l__mermap_anim_a_scaledenom_fp
+ \__mermap_anim_pop_time_scale:NN \l__mermap_anim_b_time_fp \l__mermap_anim_b_scaledenom_fp
+
+ \int_step_variable:nnNn { \l__mermap_anim_start_frame_int }{ \l__mermap_anim_final_frame_int } \l_mermap_anim_frame_int
+ {
+ \fp_set:Nn \l_mermap_anim_time_fp { (\l_mermap_anim_frame_int-1)/(\l__mermap_anim_frames_int-1) }
+ \fp_set:Nn \l_mermap_anim_time_fp { \l__mermap_anim_timewarp_tl { \l_mermap_anim_time_fp } }
+
+ \__mermap_point_on_orthodrome:n { \l_mermap_anim_time_fp }
+ \fp_set_eq:NN \l_mermap_anim_lat_fp \l__mermap_cs_lat_fp
+ \fp_set_eq:NN \l_mermap_anim_lon_fp \l__mermap_cs_lon_fp
+ \__mermap_set_named_position{ AnimNP }{ \l_mermap_anim_lat_fp }{ \l_mermap_anim_lon_fp }
+
+ \__mermap_angle_at_orthodrome:
+ \fp_set_eq:NN \l_mermap_anim_angle_fp \l__mermap_alpha_fp
+
+ \fp_while_do:nNnn \l_mermap_anim_time_fp > \l__mermap_anim_b_time_fp
+ {
+ \fp_set_eq:NN \l__mermap_anim_a_time_fp \l__mermap_anim_b_time_fp
+ \fp_set_eq:NN \l__mermap_anim_a_scaledenom_fp \l__mermap_anim_b_scaledenom_fp
+ \__mermap_anim_pop_time_scale:NN \l__mermap_anim_b_time_fp \l__mermap_anim_b_scaledenom_fp
+ }
+ \fp_set:Nn \l_mermap_anim_scaledenom_fp
+ {
+ round ( exp (
+ ln(\l__mermap_anim_a_scaledenom_fp) +
+ ( ln(\l__mermap_anim_b_scaledenom_fp)-ln(\l__mermap_anim_a_scaledenom_fp) ) *
+ ( \l_mermap_anim_time_fp-\l__mermap_anim_a_time_fp ) / ( \l__mermap_anim_b_time_fp-\l__mermap_anim_a_time_fp )
+ ) )
+ }
+
+ #2
+ }
+ }{}
+
+
+\cs_new_protected:Npn \__mermap_anim_autocorrect_scaledenom_seq:
+ {
+ \seq_get_left:NN \l__mermap_anim_scaledenom_seq \l__mermap_anim_timescale_tl
+ \bool_lazy_any:nTF
+ {
+ { \seq_if_empty_p:N \l__mermap_anim_scaledenom_seq }
+ { \tl_if_empty_p:N \l__mermap_anim_timescale_tl }
+ { \quark_if_no_value_p:N \l__mermap_anim_timescale_tl }
+ }
+ {
+ \seq_set_split:Nnn \l__mermap_anim_scaledenom_seq { - }{ 0/25000 - 1/25000 },
+ }
+ {
+ \fp_compare:nNnF { \__mermap_anim_use_time:o \l__mermap_anim_timescale_tl } = 0
+ {
+ \seq_put_left:Ne \l__mermap_anim_scaledenom_seq { 0 / \__mermap_anim_use_scale:o \l__mermap_anim_timescale_tl }
+ }
+ }
+ \seq_get_right:NNF \l__mermap_anim_scaledenom_seq \l__mermap_anim_timescale_tl
+ {
+ \msg_error:nn{ mercatormap }{ anim-scaledenom-invalid }
+ }
+ \fp_compare:nNnF { \__mermap_anim_use_time:o \l__mermap_anim_timescale_tl } = 1
+ {
+ \seq_put_right:Ne \l__mermap_anim_scaledenom_seq { 1 / \__mermap_anim_use_scale:o \l__mermap_anim_timescale_tl }
+ }
+ \fp_set:Nn \l__mermap_anim_a_time_fp { -1 }
+ \seq_map_inline:Nn \l__mermap_anim_scaledenom_seq
+ {
+ \fp_set:Nn \l__mermap_anim_b_time_fp { \__mermap_anim_use_time:n { ##1 } }
+ \fp_compare:nNnTF \l__mermap_anim_a_time_fp < \l__mermap_anim_b_time_fp
+ {
+ \fp_set_eq:NN \l__mermap_anim_a_time_fp \l__mermap_anim_b_time_fp
+ }
+ {
+ \msg_error:nn{ mercatormap }{ anim-scaledenom-invalid }
+ }
+ }
+ }
+
+\cs_new_protected:Npn \__mermap_anim_pop_time_scale:NN #1#2
+ {
+ \seq_pop_left:NN \l__mermap_anim_scaledenom_seq \l__mermap_anim_timescale_tl
+ \fp_set:Nn #1 { \__mermap_anim_use_time:o \l__mermap_anim_timescale_tl }
+ \fp_set:Nn #2 { \__mermap_anim_use_scale:o \l__mermap_anim_timescale_tl }
+ }
+
+\msg_new:nnnn{ mercatormap }{ anim-scaledenom-invalid }
+ { The~animation~scale~denominator~sequence~is~invalid. }
+ {
+ Check~\seq_use:Nn \l__mermap_anim_scaledenom_seq { ~-~ }~with~the~documentation.~
+ Time~values~are~not~strictly~monotonically~increasing.
+ }
+
+\cs_new_protected_nopar:Npn \__mermap_anim_set_position:w #1 #2 / #3 \q_stop
+ {
+ \fp_set:cn { l__mermap_anim_#1_lat_fp }{ #2 }
+ \fp_set:cn { l__mermap_anim_#1_lon_fp }{ #3 }
+ }
+
+\cs_new_nopar:Npn \__mermap_anim_use_time:w #1 / #2 \q_stop
+ {
+ #1
+ }
+\cs_new_nopar:Npn \__mermap_anim_use_time:n #1
+ {
+ \__mermap_anim_use_time:w #1 \q_stop
+ }
+\cs_generate_variant:Nn \__mermap_anim_use_time:n { o }
+
+\cs_new_nopar:Npn \__mermap_anim_use_scale:w #1 / #2 \q_stop
+ {
+ #2
+ }
+\cs_new_nopar:Npn \__mermap_anim_use_scale:n #1
+ {
+ \__mermap_anim_use_scale:w #1 \q_stop
+ }
+\cs_generate_variant:Nn \__mermap_anim_use_scale:n { o }
+
+\keys_define:nn { mermap/anim }
+ {
+ start-position .code:n = \__mermap_anim_set_position:w { a } #1 \q_stop,
+ final-position .code:n = \__mermap_anim_set_position:w { b } #1 \q_stop,
+ position .meta:n = { start-position = #1, final-position = #1 },
+ named-start-position .code:n =
+ {
+ \fp_set:Nn \l__mermap_anim_a_lat_fp { \mrcNPlat{ #1 } }
+ \fp_set:Nn \l__mermap_anim_a_lon_fp { \mrcNPlon{ #1 } }
+ },
+ named-final-position .code:n =
+ {
+ \fp_set:Nn \l__mermap_anim_b_lat_fp { \mrcNPlat{ #1 } }
+ \fp_set:Nn \l__mermap_anim_b_lon_fp { \mrcNPlon{ #1 } }
+ },
+ named-position .meta:n = { named-start-position = #1, named-final-position = #1 },
+ frames .int_set:N = \l__mermap_anim_frames_int,
+ drop-first-frame .bool_set:N = \l__mermap_anim_drop_first_frame_bool,
+ drop-last-frame .bool_set:N = \l__mermap_anim_drop_last_frame_bool,
+ drop-no-frame .meta:n = { drop-first-frame=false, drop-last-frame=false },
+ scale-denominators .code:n = \seq_set_split:Nnn \l__mermap_anim_scaledenom_seq { - }{ #1 },
+ common-scale-denominator .meta:n = { scale-denominators = 0/#1 - 1/#1 },
+ timewarp .tl_set:N = \l__mermap_anim_timewarp_tl,
+ timewarp-identity .meta:n = { timewarp = \mrcTimewarpIdentity },
+ timewarp-slow-start .meta:n = { timewarp = \mrcTimewarpSlowStart{#1} },
+ timewarp-slow-start .default:n = 2,
+ timewarp-slow-final .meta:n = { timewarp = \mrcTimewarpSlowFinal{#1} },
+ timewarp-slow-final .default:n = 2,
+ timewarp-slow-start-final .meta:n = { timewarp = \mrcTimewarpSlowStartFinal{#1} },
+ timewarp-slow-start-final .default:n = 2,
+ }
+
+\keys_set:nn { mermap/anim }
+ {
+ position = 51.4779 / 0,
+ frames = 20,
+ drop-no-frame,
+ common-scale-denominator = 25000,
+ timewarp-identity,
+ }
+
+\NewExpandableDocumentCommand\mrcAnimFrame{}{\int_to_arabic:n \l_mermap_anim_frame_int}
+\NewExpandableDocumentCommand\mrcAnimTime{}{\fp_to_decimal:N \l_mermap_anim_time_fp}
+\NewExpandableDocumentCommand\mrcAnimScaleDenom{}{\fp_to_decimal:N \l_mermap_anim_scaledenom_fp}
+\NewExpandableDocumentCommand\mrcAnimLatitude{}{\fp_to_decimal:N \l_mermap_anim_lat_fp}
+\NewExpandableDocumentCommand\mrcAnimLongitude{}{\fp_to_decimal:N \l_mermap_anim_lon_fp}
+\NewExpandableDocumentCommand\mrcAnimAngle{}{\fp_to_decimal:N \l_mermap_anim_angle_fp}
+
%---- supplier -----------------------------------------------------------------
diff --git a/macros/latex/contrib/mercatormap/mercatormap.tex b/macros/latex/contrib/mercatormap/mercatormap.tex
index 882587a3d2..a904cce2f9 100644
--- a/macros/latex/contrib/mercatormap/mercatormap.tex
+++ b/macros/latex/contrib/mercatormap/mercatormap.tex
@@ -2,11 +2,11 @@
% !TeX encoding=UTF-8
% !TeX spellcheck=en_US
%%
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatormap.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -32,8 +32,8 @@
% The following personal API-keys are needed for compilation
% \mrcsetapikey{thunderforest}{YOUR-API-KEY} % registered key
-\def\version{1.02}%
-\def\datum{2020/08/06}%
+\def\version{1.2.0}%
+\def\datum{2024/08/05}%
\mrcactivatescript% activates Python script
@@ -54,9 +54,14 @@
\tikzexternaldisable% for final version
\tcbset{shield externalize}
-\nocite{Sturm:2020,package:tikz,package:xparse,package:siunitx,package:expl3}
+\nocite{Sturm:2020,package:tikz,package:siunitx}
-\pdfsuppresswarningpagegroup=1
+\ExplSyntaxOn
+\cs_if_exist:NT \pdfsuppresswarningpagegroup
+ {
+ \pdfsuppresswarningpagegroup=1
+ }
+\ExplSyntaxOff
%\includeonly{mercatormap.doc.intro}
%\includeonly{mercatormap.doc.examples}
@@ -67,8 +72,8 @@
%\includeonly{mercatormap.doc.marker}
%\includeonly{mercatormap.doc.routes}
%\includeonly{mercatormap.doc.orthodromes}
+%\includeonly{mercatormap.doc.animations}
%\includeonly{mercatormap.doc.limitations}
-%\includeonly{mercatormap.doc.versionhistory}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
@@ -83,8 +88,8 @@
\include{mercatormap.doc.marker}
\include{mercatormap.doc.routes}
\include{mercatormap.doc.orthodromes}
+\include{mercatormap.doc.animations}
\include{mercatormap.doc.limitations}
-\include{mercatormap.doc.versionhistory}
\clearpage
\phantomsection
diff --git a/macros/latex/contrib/mercatormap/mercatorpy.def b/macros/latex/contrib/mercatormap/mercatorpy.def
index 670d8fca3b..0df48609bf 100644
--- a/macros/latex/contrib/mercatormap/mercatorpy.def
+++ b/macros/latex/contrib/mercatormap/mercatorpy.def
@@ -1,19 +1,19 @@
-\begin{filecontents*}[overwrite]{maptiles.texpy}
+\begin{filecontents}[force,noheader,nowarn]{maptiles.texpy}
"""
-The LaTeX package mercatormap - version 1.02 (2020/08/06)
+The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
maptiles.texpy: Python script for map tile download
-------------------------------------------------------------------------------------------
-Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
-------------------------------------------------------------------------------------------
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.
+ https://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 `author-maintained'.
@@ -28,7 +28,7 @@ from pathlib import Path
from PIL import Image
-packageversion = '1.02 (2020/08/06)'
+packageversion = '1.2.0 (2024/08/05)'
def gd(x):
@@ -531,5 +531,5 @@ if __name__ == '__main__':
print('No url for download given')
mapdef.save_map(args.definition, tiles_success, merge_success, wms_success)
-\end{filecontents*}
+\end{filecontents}
diff --git a/macros/latex/contrib/mercatormap/mercatorsupplier.def b/macros/latex/contrib/mercatormap/mercatorsupplier.def
index 1bf7866b7a..a8063f8135 100644
--- a/macros/latex/contrib/mercatormap/mercatorsupplier.def
+++ b/macros/latex/contrib/mercatormap/mercatorsupplier.def
@@ -1,15 +1,15 @@
-%% The LaTeX package mercatormap - version 1.02 (2020/08/06)
+%% The LaTeX package mercatormap - version 1.2.0 (2024/08/05)
%% mercatorsupplier.def: predefined map supplier list
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2020-2024 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% 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
+%% 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.
%%
@@ -46,7 +46,7 @@
attribution = {
Kartendaten:~\textcopyright\nobreakspace\href{https://openstreetmap.org/copyright}{OpenStreetMap}
\ Mitwirkende,~SRTM\nobreakspace\textbar\nobreakspace
- Kartendarstellung:~\textcopyright\nobreakspace\href{http://opentopomap.org/}{OpenTopoMap}
+ Kartendarstellung:~\textcopyright\nobreakspace\href{https://opentopomap.org/}{OpenTopoMap}
\ (\href{https://creativecommons.org/licenses/by-sa/3.0/}{CC-BY-SA})
},
attribution~print = {
@@ -61,12 +61,12 @@
{
__attribution_topplusopen .meta:nn = {mermap/supply} {
attribution = {
- \textcopyright\nobreakspace\href{http://www.bkg.bund.de}{Bundesamt~f\mrcumlaut{u}r~Kartographie~und~Geod\mrcumlaut{a}sie}\nobreakspace\the\year,
- \ \href{http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}{Datenquellen}
+ Kartendarstellung:\nobreakspace\textcopyright\nobreakspace\href{https://www.bkg.bund.de}{BKG\nobreakspace(\the\year)},
+ \ \href{https://sgx.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}{Datenquellen}
},
attribution~print = {
- \textcopyright\nobreakspace Bundesamt~f\mrcumlaut{u}r~Kartographie~und~Geod\mrcumlaut{a}sie\nobreakspace\the\year,
- \ Datenquellen:~\detokenize{http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}
+ \textcopyright\nobreakspace BKG\nobreakspace(\the\year),
+ \ Datenquellen:~\detokenize{https://sgx.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf}
}
}
}
@@ -85,29 +85,121 @@
basename = tiles/tpo_web_grau,
}
-\cs_new:Npn \__mermap_new_supply_source_topplusopen:n #1
+\__mermap_new_supply_source:nn { topplusopen~web~light }
+ {
+ url = {https://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web_light/default/WEBMERCATOR/{z}/{y}/{x}.png},
+ __attribution_topplusopen,
+ basename = tiles/tpo_web_light,
+ }
+
+\__mermap_new_supply_source:nn { topplusopen~web~light~grau }
+ {
+ url = {https://sgx.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web_light_grau/default/WEBMERCATOR/{z}/{y}/{x}.png},
+ __attribution_topplusopen,
+ basename = tiles/tpo_web_light_grau,
+ }
+
+
+\cs_new:Npn \__mermap_new_supply_source_topplusopen:nn #1#2
{
\keys_define:nn { mermap/supply/_source }
{
topplusopen~#1 .meta:nn = {mermap/supply}{
- url = {https://sgx.geodatenzentrum.de/wms_topplus_open?service=wms&version=1.3.0&request=GetMap&Layers=#1&STYLES=default&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
+ url = {https://sgx.geodatenzentrum.de/wms_topplus_open_#2?service=wms&version=1.3.0&request=GetMap&Layers=#1&STYLES=default&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
__attribution_topplusopen,
basename = tiles/tpo,
},
topplusopen~#1~grau .meta:nn = {mermap/supply}{
- url = {https://sgx.geodatenzentrum.de/wms_topplus_open?service=wms&version=1.3.0&request=GetMap&Layers=#1_grau&STYLES=default&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
+ url = {https://sgx.geodatenzentrum.de/wms_topplus_open_#2?service=wms&version=1.3.0&request=GetMap&Layers=#1&STYLES=grau&CRS=EPSG:3857&bbox={xmin},{ymin},{xmax},{ymax}&width={width}&height={height}&Format=image/png},
__attribution_topplusopen,
basename = tiles/tpo,
},
}
}
-\__mermap_new_supply_source_topplusopen:n { p5 }
-\__mermap_new_supply_source_topplusopen:n { p10 }
-\__mermap_new_supply_source_topplusopen:n { p17.5 }
-\__mermap_new_supply_source_topplusopen:n { p25 }
-\__mermap_new_supply_source_topplusopen:n { p50 }
-\__mermap_new_supply_source_topplusopen:n { p100 }
-\__mermap_new_supply_source_topplusopen:n { p250 }
+\__mermap_new_supply_source_topplusopen:nn { p5 }{ p5 }
+\__mermap_new_supply_source_topplusopen:nn { p10 }{ p10 }
+\__mermap_new_supply_source_topplusopen:nn { p17.5 }{ p17 }
+\__mermap_new_supply_source_topplusopen:nn { p25 }{ p25 }
+\__mermap_new_supply_source_topplusopen:nn { p50 }{ p50 }
+\__mermap_new_supply_source_topplusopen:nn { p100 }{ p100 }
+\__mermap_new_supply_source_topplusopen:nn { p250 }{ p250 }
+
+
+\keys_define:nn { mermap/supply }
+ {
+ __attribution_thunderforest .meta:nn = {mermap/supply} {
+ attribution = {
+ Maps~\textcopyright\nobreakspace\href{https://www.thunderforest.com/}{Thunderforest},
+ \ Data~\textcopyright\nobreakspace\href{https://openstreetmap.org/copyright}{OpenStreetMap~contributors}
+ },
+ attribution~print = {
+ Maps~\textcopyright\nobreakspace www.thunderforest.com,
+ \ Data~\textcopyright\nobreakspace www.osm.org/copyright
+ }
+ }
+ }
+\__mermap_new_supply_source:nn { thunderforest~opencyclemap }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/opencyclemap,
+ }
+\__mermap_new_supply_source:nn { thunderforest~transport }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/transport,
+ }
+\__mermap_new_supply_source:nn { thunderforest~landscape }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/landscape,
+ }
+\__mermap_new_supply_source:nn { thunderforest~outdoors }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/outdoors,
+ }
+\__mermap_new_supply_source:nn { thunderforest~atlas }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/atlas/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/atlas,
+ }
+\__mermap_new_supply_source:nn { thunderforest~transport-dark }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/transport-dark/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/transport-dark,
+ }
+\__mermap_new_supply_source:nn { thunderforest~spinal-map }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/spinal-map/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/spinal-map,
+ }
+\__mermap_new_supply_source:nn { thunderforest~pioneer }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/pioneer/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/pioneer,
+ }
+\__mermap_new_supply_source:nn { thunderforest~mobile-atlas }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/mobile-atlas/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/mobile-atlas,
+ }
+\__mermap_new_supply_source:nn { thunderforest~neighbourhood }
+ {
+ url~with~api~key = {https://tile.thunderforest.com/neighbourhood/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
+ __attribution_thunderforest,
+ basename = tiles/neighbourhood,
+ }
+
+
%% openrouteservice mapsurfer is DISCONTINUED after June 2020
%% Therefore, the following source is DEPRECATED and will be removed in future
@@ -127,7 +219,7 @@
basename = tiles/mapsurfer,
}
-\keys_define:nn { mermap/supply }
+\keys_define:nn { mermap/supply }% DISCONTINUED after July 2023 and DEPRECATED
{
__attribution_stamen .meta:nn = {mermap/supply} {
attribution = {
@@ -144,67 +236,67 @@
}
}
}
-\__mermap_new_supply_source:nn { stamen~terrain }
+\__mermap_new_supply_source:nn { stamen~terrain }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain,
}
-\__mermap_new_supply_source:nn { stamen~terrain-background }
+\__mermap_new_supply_source:nn { stamen~terrain-background }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain-background/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain-background,
}
-\__mermap_new_supply_source:nn { stamen~terrain-labels }
+\__mermap_new_supply_source:nn { stamen~terrain-labels }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain-labels/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain-labels,
}
-\__mermap_new_supply_source:nn { stamen~terrain-lines }
+\__mermap_new_supply_source:nn { stamen~terrain-lines }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/terrain-lines/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/terrain-lines,
}
-\__mermap_new_supply_source:nn { stamen~toner }
+\__mermap_new_supply_source:nn { stamen~toner }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner,
}
-\__mermap_new_supply_source:nn { stamen~toner-lite }
+\__mermap_new_supply_source:nn { stamen~toner-lite }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-lite/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-lite,
}
-\__mermap_new_supply_source:nn { stamen~toner-hybrid }
+\__mermap_new_supply_source:nn { stamen~toner-hybrid }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-hybrid/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-hybrid,
}
-\__mermap_new_supply_source:nn { stamen~toner-background }
+\__mermap_new_supply_source:nn { stamen~toner-background }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-background/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-background,
}
-\__mermap_new_supply_source:nn { stamen~toner-labels }
+\__mermap_new_supply_source:nn { stamen~toner-labels }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-labels/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-labels,
}
-\__mermap_new_supply_source:nn { stamen~toner-lines }
+\__mermap_new_supply_source:nn { stamen~toner-lines }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/toner-lines/{z}/{x}/{y}.png},
__attribution_stamen,
basename = tiles/toner-lines,
}
-\__mermap_new_supply_source:nn { stamen~watercolor }
+\__mermap_new_supply_source:nn { stamen~watercolor }% DISCONTINUED after July 2023 and DEPRECATED
{
url = {https://stamen-tiles-a.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png},
attribution = {
@@ -221,72 +313,3 @@
},
basename = tiles/watercolor,
}
-
-\keys_define:nn { mermap/supply }
- {
- __attribution_thunderforest .meta:nn = {mermap/supply} {
- attribution = {
- Maps~\textcopyright\nobreakspace\href{https://www.thunderforest.com/}{Thunderforest},
- \ Data~\textcopyright\nobreakspace\href{https://openstreetmap.org/copyright}{OpenStreetMap~contributors}
- },
- attribution~print = {
- Maps~\textcopyright\nobreakspace www.thunderforest.com,
- \ Data~\textcopyright\nobreakspace www.osm.org/copyright
- }
- }
- }
-\__mermap_new_supply_source:nn { thunderforest~opencyclemap }
- {
- url~with~api~key = {https://tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/opencyclemap,
- }
-\__mermap_new_supply_source:nn { thunderforest~transport }
- {
- url~with~api~key = {https://tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/transport,
- }
-\__mermap_new_supply_source:nn { thunderforest~landscape }
- {
- url~with~api~key = {https://tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/landscape,
- }
-\__mermap_new_supply_source:nn { thunderforest~outdoors }
- {
- url~with~api~key = {https://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/outdoors,
- }
-\__mermap_new_supply_source:nn { thunderforest~transport-dark }
- {
- url~with~api~key = {https://tile.thunderforest.com/transport-dark/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/transport-dark,
- }
-\__mermap_new_supply_source:nn { thunderforest~spinal-map }
- {
- url~with~api~key = {https://tile.thunderforest.com/spinal-map/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/spinal-map,
- }
-\__mermap_new_supply_source:nn { thunderforest~pioneer }
- {
- url~with~api~key = {https://tile.thunderforest.com/pioneer/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/pioneer,
- }
-\__mermap_new_supply_source:nn { thunderforest~mobile-atlas }
- {
- url~with~api~key = {https://tile.thunderforest.com/mobile-atlas/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/mobile-atlas,
- }
-\__mermap_new_supply_source:nn { thunderforest~neighbourhood }
- {
- url~with~api~key = {https://tile.thunderforest.com/neighbourhood/{z}/{x}/{y}.png?apikey=}{thunderforest}{},
- __attribution_thunderforest,
- basename = tiles/neighbourhood,
- }
-
diff --git a/macros/latex/contrib/mitthesis/MIT-Thesis.pdf b/macros/latex/contrib/mitthesis/MIT-Thesis.pdf
index fffb7fbf43..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 4311237b48..fc7e8a88f1 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
@@ -3,7 +3,7 @@
% This file is MIT-Thesis.tex, a LaTeX template for formatting an MIT thesis with the mitthesis class.
%
-% Version: 1.13, 2024/07/03
+% Version: 1.14, 2024/07/19
%
% Author: John H. Lienhard, copyright 2024. Reuse under the MIT license: https://ctan.org/license/mit
@@ -182,13 +182,13 @@
% 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{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
- \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, {}.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/chapter1.tex
index 481e96a4c4..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.05, 2023/11/03
+% Version: 1.06, 2024/07/09
% Documentation: https://ctan.org/pkg/mitthesis
@@ -7,7 +7,7 @@
\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}.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex
index bc7ba62c91..8795eb547e 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-defaultfonts.tex
@@ -1,16 +1,16 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-defaultfonts.tex}[2024/06/28 v1.04 Load Computer/Latin Modern text and math fonts]
+\ProvidesFile{mitthesis-defaultfonts.tex}[2023/09/12 v1.03 Load Computer/Latin Modern text and math fonts]
%% Default fonts
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading Computer Modern text and math fonts (default for pdftex)}
+ \typeout{^^JLoading Computer Modern text and math fonts (default for pdftex).^^J}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading Latin Modern text and math fonts (default for unicode engines)}
+ \typeout{^^JLoading Latin Modern text and math fonts (default for unicode engines).^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
index ebba9ab190..01fa981d78 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-fira-newtxsf.tex
@@ -1,19 +1,19 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-fira-newtxsf.tex}[2024/06/28 v1.05 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font]
+\ProvidesFile{mitthesis-fira-newtxsf.tex}[2023/09/12 v1.04 Load Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font]
%% Fira Sans text font with newtx sans serif math font and Inconsolata typewriter font
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading Fira sans text font with newtx sans serif math font and Inconsolata typewriter}
+ \typeout{^^JLoading Fira sans text font with newtx sans serif math font and Inconsolata typewriter^^J}
\RequirePackage[sfdefault,scaled=0.90]{FiraSans} % sans serif text package %,scaled=.85
\RequirePackage[T1]{fontenc}
\RequirePackage[varqu,varl,scaled=1.05]{zi4} % inconsolata font for typewriter
\RequirePackage[scaled=1.05]{newtxsf} % sans serif math
\RequirePackage{bm}
\else
- \ClassWarning{\ClassName}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts}
+ \ClassWarning{mitnewthesis}{The fira-newtxsf font set requires pdflatex. Defaulting to LMR fonts}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex
index 1535771f11..26ee2ab07b 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-heros-stix2.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-heros-stix2.tex}[2024/06/28 v1.03 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font]
+\ProvidesFile{mitthesis-heros-stix2.tex}[2023/09/12 v1.02 Load TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font]
%% TeX Gyre Heros (sans serif) text font with STIX Two Math font and Inconsolata monospaced font
%
@@ -12,11 +12,11 @@
% Install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The heros-stix2 fontset requires a unicode engine. Defaulting to CMR fonts}
+ \ClassWarning{mitnewthesis}{The heros-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{TeX Gyre Heros (sans serif) text font with STIX2 math font and Inconsolata monospaced font}
+ \typeout{^^JTeX Gyre Heros (sans serif) text font with STIX2 math font and Inconsolata monospaced font.^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex
index 41b2f561df..57cf26f915 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-libertine.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-libertine.tex}[2024/06/28 v1.03 Load Libertine and related fonts]
+\ProvidesFile{mitthesis-libertine.tex}[2023/09/12 v1.02 Load Libertine and related fonts]
%% Linux Libertine (serif) text font with newtxmath[libertine] (pdftex) or Libertinus (unicode) math font
%
@@ -10,7 +10,7 @@
% install these as system fonts on your computer
%
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading newtx-libertine text and math fonts with Insolata typewriter font}
+ \typeout{^^JLoading newtx-libertine text and math fonts with Insolata typewriter font^^J}
\RequirePackage[lining,semibold]{libertine}
\RequirePackage[T1]{fontenc}
\RequirePackage[varqu,varl]{inconsolata}% typewriter
@@ -18,7 +18,7 @@
\RequirePackage[libertine,vvarbb]{newtxmath}
\RequirePackage{bm}% load after all math to give access to bold math
\else
- \ClassNoteNoLine{\ClassName}{Loading Linux Libertine (serif) text font with Libertinus math font}
+ \typeout{^^JLoading Linux Libertine (serif) text font with Libertinus math font^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex
index e18c72fd92..6466c36929 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-lucida.tex
@@ -1,11 +1,11 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-lucida.tex}[2024/06/28 v1.03 Load Lucida fonts]
+\ProvidesFile{mitthesis-lucida.tex}[2023/09/12 v1.02 Load Lucida fonts]
%% Lucida Bright and Lucida Bright Math fonts (available from the TeX Users Group)
-\ClassNoteNoLine{\ClassName}{Lucida Bright and Lucida Bright Math fonts}
+\typeout{^^JLucida Bright and Lucida Bright Math fonts^^J}
\ifpdftex
\RequirePackage[LY1]{fontenc}
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 b76428f383..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,12 +1,11 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-newtx-sans-text.tex}[2024/06/68 v1.04 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
- \ClassNoteNoLine{\ClassName}{Loading newtx sans-serif text and newtx serif math fonts}
\RequirePackage[T1]{fontenc}
\RequirePackage[subscriptcorrection,varvw,helvratio=0.91,defaultsups]{newtx}% upint for upright integrals
\AtEndPreamble{% added to accommodate v1.731 of newtx, 2023/11/03
@@ -18,7 +17,7 @@
% \DeclareFontFamily{\encodingdefault}{\ttdefault}{\hyphenchar\font=`\-} %
\RequirePackage{bm}% bold math
\else
- \ClassWarning{\ClassName}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
+ \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex
index b1541bbd05..cc43427055 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-newtx.tex
@@ -1,17 +1,17 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-newtx.tex}[2024/06/28 v1.04 Load newtx text and math fonts]
+\ProvidesFile{mitthesis-newtx.tex}[2023/09/12 v1.03 Load newtx text and math fonts]
\ifpdftex
- \ClassNoteNoLine{\ClassName}{Loading newtx fonts with inconsolata typewriter}
+ \typeout{^^JLoading newtx fonts with inconsolata typewriter^^J}
\RequirePackage[T1]{fontenc}
\RequirePackage[subscriptcorrection,varvw,helvratio=0.91]{newtx}% stix2, upint
\RequirePackage[varl,varqu,hyphenate,mono]{inconsolata}% sans typewriter font; mono = fixed word spacing, hyphenate = allow hyphenation
\RequirePackage{bm}
\let\textsuperscript\textsu% newtx changes the default superiors font; this is needed to get commas aligned in sequential footnotes
\else
- \ClassWarning{\ClassName}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
+ \ClassWarning{mitnewthesis}{The newtx font set requires pdflatex. Defaulting to LMR fonts}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math.
% Unicode-math loads the fontspec package, but the default fonts are not selected by fontspec in this case.
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex
index c178ff233f..de3983fe4e 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-stix2.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-stix2.tex}[2024/06/28 v1.04 Load STIX Two text and math fonts]
+\ProvidesFile{mitthesis-stix2.tex}[2023/09/12 v1.03 Load STIX Two text and math fonts]
%% STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font
%
@@ -12,11 +12,11 @@
% Install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
+ \ClassWarning{mitnewthesis}{The stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font}
+ \typeout{^^JLoading STIX Two text and math fonts with Heros sans serif font and Inconsolata monospaced font.^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex
index ed2abc1655..1e65724cc0 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes-stix2.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-termes-stix2.tex}[2024/10/28 v1.04 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font]
+\ProvidesFile{mitthesis-termes-stix2.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font]
%% TeX Gyre Termes text font and Heros sans serif font with STIX2 math font and Inconsolata monospaced font
%
@@ -12,11 +12,11 @@
% Install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The termes-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
+ \ClassWarning{mitnewthesis}{The termes-stix2 fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font}
+ \typeout{^^JLoading TeX Gyre Termes text font with STIX2 math font, Heros sans serif font, and Inconsolata monospaced font.^^J}
%
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex
index fd1e15bab8..64fffb9264 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/fontsets/mitthesis-termes.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mitthesis-termes.tex}[2024/06/28 v1.04 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font]
+\ProvidesFile{mitthesis-termes.tex}[2023/09/12 v1.03 Load TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font]
%% TeX Gyre Termes (Times-like) text font with Termes math font and Heros sans serif font and Cursor monospaced font
%
@@ -9,11 +9,11 @@
% install these as system fonts on your computer
%
\ifpdftex
- \ClassWarning{\ClassName}{The termes fontset requires a unicode engine. Defaulting to CMR fonts.}
+ \ClassWarning{mitnewthesis}{The termes fontset requires a unicode engine. Defaulting to CMR fonts.}
\RequirePackage[T1]{fontenc}
\RequirePackage{bm}
\else
- \ClassNoteNoLine{\ClassName}{Loading TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font}
+ \typeout{^^JLoading TeX Gyre Termes text and math fonts, Heros sans serif font, and Cursor monospaced font^^J}
\RequirePackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math}
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
% unicode-math loads the fontspec package
diff --git a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
index ef71521074..1d9184e973 100644
--- a/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
+++ b/macros/latex/contrib/mitthesis/MIT-thesis-template/mydesign.tex
@@ -1,7 +1,7 @@
% From mitthesis package
% Documentation: https://ctan.org/pkg/mitthesis
-\ProvidesFile{mydesign.tex}[20234/06/28 v1.04 Typographic design options for thesis]
+\ProvidesFile{mydesign.tex}[2024/06/28 v1.04 Typographic design options for thesis]
%%%%%%%%%% Color support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/mitthesis/README.md b/macros/latex/contrib/mitthesis/README.md
index c703518304..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.13 dated 2024/07/03
+ 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,6 +53,12 @@
---
####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
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/Two_authors_one_degree_two_departments.pdf b/macros/latex/contrib/mitthesis/examples/cover_page_samples/One_author_one_degree_two_departments.pdf
index c10db9e046..e7e2f13e88 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_one_degree_two_departments.pdf
+++ 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/Two_authors_one_degree_two_departments.tex b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
index cf4fce672e..6c1f5c3982 100644
--- a/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/Two_authors_one_degree_two_departments.tex
+++ b/macros/latex/contrib/mitthesis/examples/cover_page_samples/latex_sources/One_author_one_degree_two_departments.tex
@@ -3,7 +3,7 @@
% !BIB program = biber
% Author: John H. Lienhard (c) 2024. Reuse under the MIT license: https://ctan.org/license/mit
-% Version 1.01, 2024/06/25
+% Version 1.02, 2024/07/08
% 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{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 {}.
@@ -83,23 +83,17 @@
\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 Physics}
-\Supervisor{Secunda Castor}{Professor of Research}
+\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 Physics}{}
-\Acceptor{Tertius Castor}{Professor and Graduate Officer, Department of Mechanical Engineering}{}
+\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}
-% 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,
-% and Luisa's previous degrees are not shown.
-\SignatureBlockSize{\small} %\SignatureBlockSize{\footnotesize}
-\Tighten
-\AuthorNameSize{\normalsize}
% 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/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 fd9fc21485..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
@@ -82,19 +82,16 @@
% 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 Mechanical Engineering}{Department of Mechanical Engineering}
-%\Degree{Master of Science in Physics}{}
% 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/font_samples/Defaultfonts.pdf b/macros/latex/contrib/mitthesis/examples/font_samples/Defaultfonts.pdf
index c32bcc359c..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 f78b32a6d9..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 0262aabdef..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 44d54df946..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 d667a4bed4..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 9f22058aa0..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 fabf8cd29a..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 7c38f1d828..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 c7993b99aa..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 4affab8613..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/mitthesis-doc/mitthesis-doc.pdf b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
index 94724d1eec..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 6f8954813b..4e5e739585 100644
--- a/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
+++ b/macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
@@ -1,7 +1,7 @@
% !TEX TS-program = lualatex
% !TEX encoding = UTF-8 Unicode
-% Version date: 1 July 2024
+% Version date: 19 July 2024
\DocumentMetadata
{
@@ -24,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}{%
@@ -191,7 +193,7 @@
\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.
+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}
\tableofcontents
@@ -220,7 +222,7 @@ If the most current version of \texttt{mitthesis.cls} is installed in your syste
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{\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.
+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 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,
@@ -242,7 +244,7 @@ Note that third, fourth, fifth, and sixth arguments are optional [..] and may be
\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 argument blank for the \textit{second} degree:
+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}{}|.
@@ -312,7 +314,7 @@ twoside & gives facing-page behavior for two-sided printing; omitting it will e
\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 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.
+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 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.
@@ -351,7 +353,7 @@ termes-stix2 & no & yes & serif & serif & \url{http://www.gust.org.pl/projects/
\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.
@@ -367,15 +369,15 @@ have one nomenclature list for whole thesis or one for each chapter (the default
For example, the following code
\begin{center}
-\begin{minipage}{0.8\textwidth}
+\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$^{-1}$]}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-\entry{$\rho$}{mass density [kg m$^{-3}$]}
+\entry{$\Gamma$}{circulation [m$\cramped{^2}$ s$\cramped{^{-1}}$]}
+\entry{$\rho$}{mass density [kg m$\cramped{^{-3}}$]}
\end{nomenclature}
\end{verbatim}
\end{minipage}
@@ -386,13 +388,14 @@ produces the nomenclature list below
\begin{nomenclature}[2em][Nomenclature for Chapter 1][section]
\EntryHeading{Roman letters}
\entry{$\mathcal{C}$}{material curve}
-\entry{$\mathbf{u}$}{velocity [m s$^{-1}$]}
+\entry{$\mathbf{u}$}{velocity [m s$\cramped{^{-1}}$]}
\EntryHeading{Greek letters}
-\entry{$\Gamma$}{circulation [m$^2$ s$^{-1}$]}
-\entry{$\rho$}{mass density [kg m$^{-3}$]}
+\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
@@ -458,13 +461,13 @@ unicode-math & --- & load in a fontset file if using a unicode engine\\
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.
\subsection{Dealing with multiple titles in the signature block}\label{sec:6.3}
-When a thesis supervisor has multiple titles (and both will not fit on one line), you can obtain a line break with proper horizontal spacing by doing
+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.
-\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|.
+\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
diff --git a/macros/latex/contrib/mitthesis/mitthesis.cls b/macros/latex/contrib/mitthesis/mitthesis.cls
index 9990a07a88..0a3a44310c 100644
--- a/macros/latex/contrib/mitthesis/mitthesis.cls
+++ b/macros/latex/contrib/mitthesis/mitthesis.cls
@@ -7,8 +7,8 @@
%% MIT Libraries' requirements as of 2024.
%%
%% This file's version and date:
- \def\versionno{1.13}
- \def\versiondate{2024/07/03\space}
+ \def\versionno{1.14}
+ \def\versiondate{2024/07/19\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -361,18 +361,16 @@
\tl_gremove_all:No \g__dd_month_tl { \space }
\tl_gremove_all:No \g__dd_year_tl { \space }
\str_case_e:nnF
-% { \str_casefold:e { \tl_to_str:N \g__dd_month_tl } } % command not def'd until 2022/10/16
+% { \str_casefold:e { \tl_to_str:N \g__dd_month_tl } } % not def'd until 2022/10/16
{ \str_lowercase:f { \tl_to_str:N \g__dd_month_tl } }
{ {february}{} {may}{} {june}{} {september}{}}
{ \msg_error:nnn { \ClassName } { wrong_month } {#1} }
}
\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_first:n {V}
-\cs_generate_variant:Nn \text_titlecase_all:n {V}
\NewDocumentCommand\DegreeDate{mm}{% {month}{year}
\__dd_setdates:nn {#1}{#2}
- \cs_new:Npn \DegreeMonth { \text_titlecase_first:V { \str_lowercase:f \g__dd_month_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!}{
@@ -568,12 +566,16 @@
% 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.
-% Commands in output modules handle titlecasing.
\NewDocumentCommand\SupervisorDesignation{ m } {
- \tl_gset:Nn \g_titlepage_supervisor_designation_tl { \str_lowercase:f { \tl_trim_spaces:n {#1} } }
- \tl_gset:Nn \g_abstract_supervisor_designation_tl { \str_lowercase:f { \tl_trim_spaces:n {#1} } }
+ \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
@@ -583,12 +585,12 @@
\msg_error:nn { \ClassName } { no_supervisor }
}
{\int_until_do:nNnn { \l__supervisor_supervisorno_int } = { \g_supervisor_supervisorcnt_int } {
- \text_titlecase_first:V { \g_abstract_supervisor_designation_tl } :\space
+ \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
}
- \text_titlecase_first:V { \g_abstract_supervisor_designation_tl } :\space
+ \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
}
@@ -629,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
{
@@ -802,8 +804,7 @@
\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 },\
- \text_titlecase_all:V { \g_titlepage_supervisor_designation_tl }\\[1em]
- %\ Thesis\ Supervisor\\[1em]
+ \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 } {
@@ -937,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}
{
@@ -981,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},
}
diff --git a/macros/latex/contrib/moremath/moremath-doc.pdf b/macros/latex/contrib/moremath/moremath-doc.pdf
index 4a90adc8e7..8ed1c145fd 100644
--- a/macros/latex/contrib/moremath/moremath-doc.pdf
+++ 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
index 3b520f4ac2..48e7bae62d 100644
--- a/macros/latex/contrib/moremath/moremath.dtx
+++ b/macros/latex/contrib/moremath/moremath.dtx
@@ -67,6 +67,18 @@
date = {2024-03-11},
version = {1.30},
}
+
+@comment{Below are non-package References}
+
+@article{package-rollback,
+ title = {A rollback concept for packages and classes},
+ author = {Frank Mitelbach},
+ year = {2018},
+ journaltitle = {TUGboat},
+ number = 2,
+ url = {https://www.latex-project.org/publications/2018-FMi-TUB-tb122mitt-version-rollback.pdf},
+ urldate = {2024-08-06},
+}
\end{filecontents*}
\begin{filecontents*}[overwrite]{\jobname-ams-op-table.tex}
\begin{tabular}{rlrlrlrl}
@@ -161,6 +173,7 @@
% \AddVersion{v0.2.0}{2024-07-04}
% \AddVersion{v0.3.0}{2024-07-08}
% \AddVersion{v0.4.0}{2024-07-15}
+% \AddVersion{v0.5.0}{2024-08-20}
%
% ^^X Placeholder for unreleased versions
% \AddVersion{vUNRELEASED}{UNRELEASED}
@@ -238,7 +251,7 @@
% 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,
+% One prominent example is the typesetting 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,
@@ -888,7 +901,7 @@
% \end{gather*}
% \end{minipage}
%
-% \item Feynman-Notation:
+% \item Feynman-notation:
%
% \begin{minipage}{.49\linewidth}
% \begin{verbatim}
@@ -1351,7 +1364,9 @@
% Valid keys are "delimiter", "fill", and "align",
% their usage is described in section~\ref{sec:options-matrix}.
%
-% \begin{function}{
+% \begin{function}[
+% updated=2024-08-20,
+% ]{
% \cvector,
% \rvector
% }
@@ -1443,7 +1458,7 @@
%
% As vectors are commonly delimited by parenthesis, brackets, braces, etc.\
% several shorthands producing delimited vectors are also available.
-% \begin{function}{
+% \begin{function}[updated=2024-08-20]{
% \pcvector,
% \bcvector,
% \Bcvector,
@@ -1504,7 +1519,9 @@
% This package provides analogous commands for row and column vectors
% to be typeset in inline math mode.
%
-% \begin{function}{
+% \begin{function}[
+% updated=2024-08-20,
+% ]{
% \smallcvector,
% \smallrvector
% }
@@ -1530,7 +1547,7 @@
% \(\smallcvector{1,0}\).
% \end{quote}
%
-% \begin{function}{
+% \begin{function}[updated=2024-08-20]{
% \psmallcvector,
% \bsmallcvector,
% \Bsmallcvector,
@@ -2215,7 +2232,7 @@
% \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
+% The usage of this 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.).
@@ -2224,11 +2241,18 @@
% \section{Formatting Matrices and Vectors}
% \label{sec:authors-matrix}
%
-% \begin{function}[updated=2024-07-15]{
+% \begin{function}[
+% updated=2024-07-15,
+% updated=2024-08-20,
+% ]{
% \moremath_column_vector:nn,
+% \moremath_column_vector:Vn,
% \moremath_row_vector:nn,
+% \moremath_row_vector:Vn,
% \moremath_column_smallvector:nn,
-% \moremath_row_smallvector:nn
+% \moremath_column_smallvector:Vn,
+% \moremath_row_smallvector:nn,
+% \moremath_row_smallvector:Vn,
% }
% \begin{syntax}
% \cs{moremath_column_vector:nn} \marg{delim spec tl} \marg{clist}
@@ -2256,6 +2280,7 @@
% \begin{function}[
% updated = 2024-07-04,
% updated=2024-07-15,
+% updated=2024-08-20,
% ]{
% \moremath_diagonal_matrix:nn,
% \moremath_diagonal_matrix:nV,
@@ -2330,6 +2355,7 @@
% \begin{function}[
% added=2024-07-08,
% updated=2024-07-15,
+% updated=2024-08-20,
% ]{
% \moremath_vcenter:n,
% }
@@ -2388,10 +2414,23 @@
% (especially for using the "=" option specification)
% and hooks.
%
+% Afterwards we provide rollback information,
+% for the \pkg{latexrelease} rollback mechanism.
+% (See \textcite{package-rollback} for more information.)
+%
+% For the v0.x.x versions I've decided on using the date of the first release
+% that was uploaded to CTAN\@.
+% \begin{macrocode}
+\DeclareCurrentRelease{v0}{2024-07-15}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Add information for \LaTeX{}'s package rollback mechanism.
+% }
+%
% Then identify this package as \pkg{moremath}.
% \begin{macrocode}
\ProvidesExplPackage{moremath}
- {2024-07-15}{v0.4.0}{More Math Macros}
+ {2024-08-20}{v0.5.0}{More Math Macros}
% \end{macrocode}
%
% ^^X Debugging switch
@@ -2830,6 +2869,161 @@
% \end{macrocode}
%
%
+% \section{Abstractions for \TeX{}-primitives and \LaTeXe{}-commands}
+% \label{sec:impl-abstractions}
+%
+% As this package makes use of certain \TeX{}-primitives and \LaTeXe{}-commands,
+% which are either part of the \LaTeX{}-kernel or of some package.
+% It is sensible to provide a (package internal) abstraction for those commands,
+% so that they can be switched out once a \LaTeX3{}-command has been defined for them.
+%
+% \subsection{\TeX{}-primitives}
+% \label{sec:impl-tex-abstractions}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_vcenter:n,
+% }
+% \cs{@@_tex_vcenter:n} is an abstraction for \cs{tex_vcenter:D}
+% i.e.\ \tn{vcenter}.
+% Its single argument is passed to \cs{tex_vcenter:D}.
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_tex_vcenter:n
+{
+ \tex_vcenter:D {#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_mathpalette:Nn,
+% }
+% The function \cs{@@_tex_mathpalette:Nn} is an abstraction for the \tn{mathpalette},
+% primitive.
+% The function takes two arguments
+% \begin{arguments}
+% \item The \meta{csname} of the macro to pass to \tn{mathpalette}
+%
+% This macro \textbf{must} accept \textbf{two} arguments:
+% The first is a single token containing the current math-style,
+% the second is the contents to \enquote{typeset}.
+% See \url{https://tex.stackexchange.com/questions/34393/the-mysteries-of-mathpalette/34412#34412}
+% for further information.
+%
+% \item The \meta{tokens} to forward to the macro passed as first argument.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected:Nn \@@_tex_mathpalette:Nn
+{
+ \mathpalette #1 {#2}
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_mathsurround:n
+% }
+% The function \cs{@@_tex_mathsurround:n} provides (hopefully) a correct abstraction
+% for the \tn{mathsurround} primitive.
+% It takes one argument
+% \begin{arguments}
+% \item A \meta{length~expr} for the whitespace surrounding a math switch.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_tex_mathsurround:n
+{
+ \tex_mathsurround:D = #1
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+% \begin{macro}[added=2024-08-20]{
+% \@@_tex_mathop:n
+% }
+% The function \cs{@@_tex_mathop:n} provides an abstraction for the \tn{mathop}
+% \TeX{}-primitive.
+% It accepts a single argument:
+% \begin{arguments}
+% \item \meta{Tokens} to treat as a math operator.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_protected_nopar:Nn \@@_tex_mathop:n
+{
+ \tex_mathop:D {#1}
+}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new function.
+% }
+% \end{macro}
+%
+%
+% \subsection{\LaTeXe{}-commands}
+% \label{sec:impl-latex-abstractions}
+%
+% \begin{macro}[EXP,added=2024-08-20]{
+% \@@_matrix_star_begin:nn,
+% \@@_matrix_star_begin:nV,
+% \@@_matrix_star_begin:Vn,
+% \@@_matrix_star_begin:VV,
+% \@@_matrix_star_end:n,
+% \@@_matrix_star_end:V,
+% }
+% The functions \cs{@@_matrix_star_begin:nn} and \cs{@@_matrix_star_end:n}
+% provide an abstraction to the \env{matrix*} family of environments provided
+% by \pkg{mathtools}.
+% \NB{MI}{These functions need to be expandable,
+% as they produce an empty line otherwise.}
+%
+% \cs{@@_matrix_star_begin:nn} takes two arguments:
+% \begin{arguments}
+% \item A \meta{tl} determining the type of the matrix.
+%
+% This is used to further specify which "matrix*" environment to use.
+%
+% The \meta{tl} may be empty.
+%
+% \item A \meta{tl} specifying the column type.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_nopar:Nn \@@_matrix_star_begin:nn
+{
+ \begin{ #1 matrix* } [ #2 ]
+}
+% \end{macrocode}
+% We also create "nV", "Vn", and "VV" variants of this function:
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_matrix_star_begin:nn { nV, Vn, VV }
+% \end{macrocode}
+%
+% The function \cs{@@_matrix_star_end:n} takes only one argument
+% \begin{arguments}
+% \item The \meta{tl} determining the type of the \env{matrix*} environment.
+%
+% The \meta{tl} \textbf{must} have the same value as used for
+% \cs{@@_matrix_star_begin:nn}.
+% \end{arguments}
+% \begin{macrocode}
+\cs_new_nopar:Nn \@@_matrix_star_end:n
+{
+ \end{ #1 matrix* }
+}
+% \end{macrocode}
+% We also provide a "V" type variant of this function.
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_matrix_star_end:n {V}
+% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new functions and variants.
+% }
+% \end{macro}
+%
+%
% \section{Centering Math Symbols Along the Math-Axis}
% \label{sec:impl-vcenter}
%
@@ -2851,7 +3045,7 @@
% \url{http://www.tug.org/TUGboat/Articles/tb22-4/tb72perlS.pdf}
% }
%
-% \begin{macro}[added = 2024-07-08]{
+% \begin{macro}[added = 2024-07-08, updated=2024-08-20]{
% \moremath_vcenter:n
% }
% The function \cs{moremath_vcenter:n} is a wrapper around the \tn{vcenter}
@@ -2872,15 +3066,21 @@
% \begin{macrocode}
\cs_new_protected_nopar:Nn \moremath_vcenter:n
{
- \mathpalette \@@_vcenter:Nn {#1}
+ \@@_tex_mathpalette:Nn \@@_vcenter:Nn {#1}
}
% \end{macrocode}
% \changes{v0.3.0}{\GetVersionDate{v0.3.0}}{
% Added new function.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed: Make use of \cs{@@_tex_mathpalette:Nn}.
+% }
% \end{macro}
%
-% \begin{macro}[added=2024-07-08]{
+% \begin{macro}[
+% added=2024-07-08,
+% updated=2024-08-20,
+% ]{
% \@@_vcenter:Nn,
% }
% As \tn{mathpalette} needs as its first argument a macro which takes two
@@ -2907,18 +3107,22 @@
% \begin{macrocode}
\cs_new_protected_nopar:Nn \@@_vcenter:Nn
{
- \vcenter
+ \@@_tex_vcenter:n
{
\hbox:n
{
$
- \mathsurround=0pt
+ \@@_tex_mathsurround:n {0pt}
#1 {#2}
$
}
}
}
% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed: Now uses \cs{@@_tex_vcenter:n} and \cs{@@_tex_mathsurround:n}
+% instead of \TeX-primitives.
+% }
% \end{macro}
%
%
@@ -3598,7 +3802,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_gradient_operator_get:}
+% \begin{macro}[updated=2024-08-20]{\@@_gradient_operator_get:}
% This function returns the gradient operator depending on the current setting
% of the keys.
% \begin{macrocode}
@@ -3606,7 +3810,7 @@
{
\tl_if_empty:NTF \l_@@_grad_op_tl
{
- \mathop
+ \@@_tex_mathop:n
{
% \end{macrocode}
% Otherwise we first need to check if the operator shall have an arrow over it.
@@ -3645,7 +3849,7 @@
\l_@@_nabla_tl
}
}
- }% \mathop
+ }% \@@_tex_mathop:n
\nolimits
}{
% \end{macrocode}
@@ -3656,9 +3860,12 @@
}
}
% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Now uses \cs{@@_tex_mathop:n} instead of \TeX{}-primitives.
+% }
% \end{macro}
%
-% \begin{macro}{\@@_laplace_operator_get:}
+% \begin{macro}[updated=2024-08-20]{\@@_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
@@ -3668,7 +3875,7 @@
{
\tl_if_empty:NTF \l_@@_laplacian_tl
{
- \mathop
+ \@@_tex_mathop:n
{
\bool_if:NTF \l_@@_laplacian_delta_bool
{
@@ -3709,9 +3916,12 @@
}
}
% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Now uses \cs{@@_tex_mathop:n} instead of \TeX{}-primitives.
+% }
% \end{macro}
%
-% \begin{macro}{
+% \begin{macro}[updated=2024-08-20]{
% \@@_dalembert_operator_get:
% }
% This function returns the \foreignlanguage{french}{d'Alembert} operator
@@ -3721,16 +3931,19 @@
% \begin{macrocode}
\cs_new_protected:Nn \@@_dalembert_operator_get:
{
- \mathop
+ \@@_tex_mathop:n
{
\l_@@_dalembert_symb_tl
- }% \mathop
+ }% \@@_tex_mathop:n
\nolimits
}
% \end{macrocode}
% \changes{v0.2.0}{\GetVersionDate{v0.2.0}}{%
% Added function: \cs{@@_dalembert_operator_get:}
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Now uses \cs{@@_tex_mathop:n} instead of \TeX{}-primitives.
+% }
% \end{macro}
%
% \subsection{Macros Producing an Operator}
@@ -3949,6 +4162,9 @@
% 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.
+% \NB{MI}{It may be a better idea to use a key instead but I'm not sure.
+% If one nests those environments the size of the outer one will propagate into
+% the inner scope, which might not be what is wanted.}
% \begin{macrocode}
\prop_set_from_keyval:Nn \l_tmpa_prop {#1}
@@ -4350,11 +4566,13 @@
%
% In the next step we construct the single row/column matrix from the user
% provided input.
-% \begin{macro}{
+% \begin{macro}[updated=2024-08-20]{
% \moremath_column_vector:nn,
+% \moremath_column_vector:Vn,
% \moremath_row_vector:nn,
+% \moremath_row_vector:Vn,
% }
-% The two commands \cs{moremath_column_vector:n} and \cs{moremath_row_vector:n}
+% The two commands \cs{moremath_column_vector:nn} and \cs{moremath_row_vector:nn}
% construct the matrix, they both take two arguments.
% \begin{arguments}
% \item The delimiter specifier.
@@ -4373,29 +4591,43 @@
\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 ]
+ \@@_matrix_star_begin:nV {#1} \l_@@_matrix_align_tl
\@@_seq_to_column_vector:N \l_@@_vector_entries_seq
- \end{#1 matrix*}
+ \@@_matrix_star_end:n {#1}
}
-
+%
\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 ]
+ \@@_matrix_star_begin:nV {#1} \l_@@_matrix_align_tl
\@@_seq_to_row_vector:N \l_@@_vector_entries_seq
- \end{#1matrix*}
+ \@@_matrix_star_end:n {#1}
}
% \end{macrocode}
+% We also provide a "Vn" variant of those functions.
+% \begin{macrocode}
+\cs_generate_variant:Nn \moremath_column_vector:nn { Vn }
+\cs_generate_variant:Nn \moremath_row_vector:nn { Vn }
+% \end{macrocode}
% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
% Added functions producing row- and column vectors.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed now uses \cs{@@_matrix_star_begin:nV} instead of raw
+% |\begin{#1matrix*}|.
+% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new "Vn" variants.
+% }
% \end{macro}
%
% \begin{macro}{
% \moremath_column_smallvector:nn,
-% \moremath_row_smallvector:nn
+% \moremath_column_smallvector:Vn,
+% \moremath_row_smallvector:nn,
+% \moremath_row_smallvector:Vn,
% }
% To make the code more readable, we define functions specifically for
% creating row and column vectors using the \env{smallmatrix*} family of
@@ -4411,10 +4643,16 @@
{
\moremath_row_vector:nn {#1 small} {#2}
}
+% Variants
+\cs_generate_variant:Nn \moremath_column_smallvector:nn { Vn }
+\cs_generate_variant:Nn \moremath_row_smallvector:nn { Vn }
% \end{macrocode}
% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{%
% Added functions producing inline math row- and column vectors.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Added new "Vn" variants.
+% }
% \end{macro}
%
% ^^X SUBSECTION: Shorthands for simple matrices
@@ -4534,20 +4772,20 @@
\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 ]
+ \@@_matrix_star_begin:nV { #1 } \l_@@_matrix_align_tl
\int_step_function:nN { \seq_count:N \l_@@_mat_diag_entries_seq }
\@@_constr_diagmat_row:n
- \end{#1 matrix*}
+ \@@_matrix_star_end:n { #1 }
}
-
+%
% 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 ]
+ \@@_matrix_star_begin:nV { #1 } \l_@@_matrix_align_tl
\int_step_function:nN { \seq_count:N \l_@@_mat_diag_entries_seq }
\@@_constr_antidiagmat_row:n
- \end{ #1 matrix* }
+ \@@_matrix_star_end:n { #1 }
}
% Small versions
@@ -4577,18 +4815,10 @@
% }
% 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 }
+\cs_generate_variant:Nn \moremath_diagonal_matrix:nn { nV, Vn, VV }
+\cs_generate_variant:Nn \moremath_antidiagonal_matrix:nn { nV, Vn, VV }
+\cs_generate_variant:Nn \moremath_diagonal_smallmatrix:nn { nV, Vn, VV}
+\cs_generate_variant:Nn \moremath_antidiagonal_smallmatrix:nn { nV, Vn, VV }
% \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.}
@@ -4597,6 +4827,10 @@
% Added functions producing (anti-)diagonal matrices.
% Also added versions for inline math.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Changed now uses \cs{@@_matrix_star_begin:nV} instead of raw
+% |\begin{#1matrix*}|.
+% }
% \end{macro}
%
%
@@ -4730,7 +4964,7 @@
\bool_if:nTF \l_@@_predef_crvector_bool
{
% \end{macrocode}
-% \begin{macro}{
+% \begin{macro}[updated=2024-08-20,]{
% \cvector,
% \rvector,
% \smallcvector,
@@ -4747,7 +4981,7 @@
{
\keys_set:nn { moremath / matrix } {#1}
}
- \moremath_column_vector:nn {\l_@@_matrix_delim_tl} {#2}
+ \moremath_column_vector:Vn \l_@@_matrix_delim_tl {#2}
\group_end:
}
}{
@@ -4769,7 +5003,7 @@
{
\keys_set:nn { moremath / matrix } {#1}
}
- \moremath_row_vector:nn {\l_@@_matrix_delim_tl} {#2}
+ \moremath_row_vector:Vn \l_@@_matrix_delim_tl {#2}
\group_end:
}
}{
@@ -4791,7 +5025,7 @@
{
\keys_set:nn {moremath / matrix} {#1}
}
- \moremath_column_smallvector:nn {\l_@@_matrix_delim_tl} {#2}
+ \moremath_column_smallvector:Vn \l_@@_matrix_delim_tl {#2}
\group_end:
}
}{
@@ -4811,7 +5045,7 @@
{
\keys_set:nn { moremath / matrix } {#1}
}
- \moremath_row_smallvector:nn {\l_@@_matrix_delim_tl} {#2}
+ \moremath_row_smallvector:Vn \l_@@_matrix_delim_tl {#2}
\group_end:
}
}{
@@ -4826,13 +5060,16 @@
% Added commands producing row and column vectors,
% including inline math versions.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Use "Vn" versions of functions when passing variables around.
+% }
% \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}{
+% \begin{macro}[updated=2024-08-20]{
% \@@_new_vector_shorth_doc_cmd:NNn
% }
% The function \cs{@@_new_vector_shorth_doc_cmd} creates a new vector shorthand,
@@ -4842,7 +5079,7 @@
% \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}
+% \cs[no-index]{moremath_\meta{type}_\meta{size}vector:Vn}
% like commands.
%
% \item The \meta{delimiter} to use.
@@ -4863,7 +5100,7 @@
{
\keys_set:nn {moremath / matrix } {##1}
}
- #2 {\l_@@_matrix_delim_tl} {##2}
+ #2 \l_@@_matrix_delim_tl {##2}
\group_end:
}
}{
@@ -4875,9 +5112,12 @@
}
}
% \end{macrocode}
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Require function with "Vn" signature to pass variable correctly.
+% }
% \end{macro}
%
-% \begin{macro}{
+% \begin{macro}[updated=2024-08-20]{
% \pcvector,
% \bcvector,
% \Bcvector,
@@ -4894,35 +5134,38 @@
% We begin with the column vector.
% \begin{macrocode}
% parenthesis
-\@@_new_vector_shorth_doc_cmd:NNn \pcvector \moremath_column_vector:nn {p}
+\@@_new_vector_shorth_doc_cmd:NNn \pcvector \moremath_column_vector:Vn {p}
% brackets
-\@@_new_vector_shorth_doc_cmd:NNn \bcvector \moremath_column_vector:nn {b}
+\@@_new_vector_shorth_doc_cmd:NNn \bcvector \moremath_column_vector:Vn {b}
% braces
-\@@_new_vector_shorth_doc_cmd:NNn \Bcvector \moremath_column_vector:nn {B}
+\@@_new_vector_shorth_doc_cmd:NNn \Bcvector \moremath_column_vector:Vn {B}
% single vert
-\@@_new_vector_shorth_doc_cmd:NNn \vcvector \moremath_column_vector:nn {v}
+\@@_new_vector_shorth_doc_cmd:NNn \vcvector \moremath_column_vector:Vn {v}
% double vert
-\@@_new_vector_shorth_doc_cmd:NNn \Vcvector \moremath_column_vector:nn {V}
+\@@_new_vector_shorth_doc_cmd:NNn \Vcvector \moremath_column_vector:Vn {V}
% \end{macrocode}
% Now to the row vectors.
% \begin{macrocode}
% parenthesis
-\@@_new_vector_shorth_doc_cmd:NNn \prvector \moremath_row_vector:nn {p}
+\@@_new_vector_shorth_doc_cmd:NNn \prvector \moremath_row_vector:Vn {p}
% brackets
-\@@_new_vector_shorth_doc_cmd:NNn \brvector \moremath_row_vector:nn {b}
+\@@_new_vector_shorth_doc_cmd:NNn \brvector \moremath_row_vector:Vn {b}
% braces
-\@@_new_vector_shorth_doc_cmd:NNn \Brvector \moremath_row_vector:nn {B}
+\@@_new_vector_shorth_doc_cmd:NNn \Brvector \moremath_row_vector:Vn {B}
% single vert
-\@@_new_vector_shorth_doc_cmd:NNn \vrvector \moremath_row_vector:nn {v}
+\@@_new_vector_shorth_doc_cmd:NNn \vrvector \moremath_row_vector:Vn {v}
% double vert
-\@@_new_vector_shorth_doc_cmd:NNn \Vrvector \moremath_row_vector:nn {V}
+\@@_new_vector_shorth_doc_cmd:NNn \Vrvector \moremath_row_vector:Vn {V}
% \end{macrocode}
% \changes{v0.1.0}{\GetVersionDate{v0.1.0}}{
% Added commands for row and column vectors with predefined delimiters.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Use functions with "Vn" signature instead of "nn"
+% }
% \end{macro}
%
-% \begin{macro}{
+% \begin{macro}[updated=2024-08-20]{
% \psmallcvector,
% \bsmallcvector,
% \Bsmallcvector,
@@ -4939,32 +5182,32 @@
% \begin{macrocode}
% column vectors
% parenthesis
-\@@_new_vector_shorth_doc_cmd:NNn \psmallcvector \moremath_column_smallvector:nn
+\@@_new_vector_shorth_doc_cmd:NNn \psmallcvector \moremath_column_smallvector:Vn
{p}
% brackets
-\@@_new_vector_shorth_doc_cmd:NNn \bsmallcvector \moremath_column_smallvector:nn
+\@@_new_vector_shorth_doc_cmd:NNn \bsmallcvector \moremath_column_smallvector:Vn
{b}
% braces
-\@@_new_vector_shorth_doc_cmd:NNn \Bsmallcvector \moremath_column_smallvector:nn
+\@@_new_vector_shorth_doc_cmd:NNn \Bsmallcvector \moremath_column_smallvector:Vn
{B}
% single vert
-\@@_new_vector_shorth_doc_cmd:NNn \vsmallcvector \moremath_column_smallvector:nn
+\@@_new_vector_shorth_doc_cmd:NNn \vsmallcvector \moremath_column_smallvector:Vn
{v}
% double vert
-\@@_new_vector_shorth_doc_cmd:NNn \Vsmallcvector \moremath_column_smallvector:nn
+\@@_new_vector_shorth_doc_cmd:NNn \Vsmallcvector \moremath_column_smallvector:Vn
{V}
%
% row vectors
% parenthesis
-\@@_new_vector_shorth_doc_cmd:NNn \psmallrvector \moremath_row_smallvector:nn {p}
+\@@_new_vector_shorth_doc_cmd:NNn \psmallrvector \moremath_row_smallvector:Vn {p}
% brackets
-\@@_new_vector_shorth_doc_cmd:NNn \bsmallrvector \moremath_row_smallvector:nn {b}
+\@@_new_vector_shorth_doc_cmd:NNn \bsmallrvector \moremath_row_smallvector:Vn {b}
% braces
-\@@_new_vector_shorth_doc_cmd:NNn \Bsmallrvector \moremath_row_smallvector:nn {B}
+\@@_new_vector_shorth_doc_cmd:NNn \Bsmallrvector \moremath_row_smallvector:Vn {B}
% single vert
-\@@_new_vector_shorth_doc_cmd:NNn \vsmallrvector \moremath_row_smallvector:nn {v}
+\@@_new_vector_shorth_doc_cmd:NNn \vsmallrvector \moremath_row_smallvector:Vn {v}
% double vert
-\@@_new_vector_shorth_doc_cmd:NNn \Vsmallrvector \moremath_row_smallvector:nn {V}
+\@@_new_vector_shorth_doc_cmd:NNn \Vsmallrvector \moremath_row_smallvector:Vn {V}
}{ % \bool_if:nTF \l_@@_predef_crvector_bool FALSE PATH
@@ -4978,6 +5221,9 @@
% Added commands for inline math row and column vectors
% with predefined delimiters.
% }
+% \changes{v0.5.0}{\GetVersionDate{v0.5.0}}{
+% Use functions with "Vn" signature instead of "nn"
+% }
% \end{macro}
%
%
diff --git a/macros/latex/contrib/oberdiek/README.md b/macros/latex/contrib/oberdiek/README.md
index 4a2250cf37..b455eff334 100644
--- a/macros/latex/contrib/oberdiek/README.md
+++ b/macros/latex/contrib/oberdiek/README.md
@@ -1,6 +1,6 @@
# Oberdiek bundle
-Version: 2023-12-04
+Version: 2024-07-26
This file describes the directory
CTAN:macros/latex/contrib/oberdiek/
@@ -11,7 +11,7 @@ It contains several packages:
## Copyright (C)
* 2007, 2009-2011 Heiko Oberdiek
-* 2016-2023 Oberdiek Package Support Group
+* 2016-2024 Oberdiek Package Support Group
## License
LATEX Project Public License, version 1.3c or later.
@@ -48,7 +48,6 @@ Other files in the CTAN directory:
* flags: setting and clearing flags in bit fields and converting the bit field into a decimal number;
* holtxdoc: extra documentation macros;
* hypbmsec: bookmarks in sectioning commands;
-* hypcap: anjusting anchors of captions;
* hypgotoe: experimental package for links to embedded files;
* hyphsubst: substitute hyphenation patterns;
* ifdraft: switch for option draft;
@@ -66,6 +65,5 @@ Other files in the CTAN directory:
* stampinclude: selects the files for \include by inspecting the timestamp of the .aux file(s);
* tabularht: tabulars with height specification;
* tabularkv: key value interface for tabular parameters;
-* telprint: print German telephone numbers;
* thepdfnumber: canonical numbers for use in PDF files and elsewhere;
* twoopt: commands with two optional arguments;
diff --git a/macros/latex/contrib/oberdiek/aliascnt.dtx b/macros/latex/contrib/oberdiek/aliascnt.dtx
index 47bfec1ee2..7010eb64e1 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.dtx
+++ b/macros/latex/contrib/oberdiek/aliascnt.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex aliascnt.dtx
% makeindex -s gind.ist aliascnt.idx
% pdflatex aliascnt.dtx
@@ -308,7 +308,7 @@ and the derived files
% Therefore we must ensure that manipulations to the clear list
% are done with the clear list macro of a real counter.
% \begin{macro}{\AC@findrootcnt}
-% \cs{AC@findrootcnt} walks throught the aliasing relations
+% \cs{AC@findrootcnt} walks through the aliasing relations
% to find the base counter.
% \begin{macrocode}
\newcommand*{\AC@findrootcnt}[1]{%
diff --git a/macros/latex/contrib/oberdiek/aliascnt.pdf b/macros/latex/contrib/oberdiek/aliascnt.pdf
index 5978332f27..cac6636ab9 100644
--- a/macros/latex/contrib/oberdiek/aliascnt.pdf
+++ b/macros/latex/contrib/oberdiek/aliascnt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/bmpsize.dtx b/macros/latex/contrib/oberdiek/bmpsize.dtx
index 0eec647c99..bdcf6004d0 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.dtx
+++ b/macros/latex/contrib/oberdiek/bmpsize.dtx
@@ -54,7 +54,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex bmpsize.dtx
% makeindex -s gind.ist bmpsize.idx
% pdflatex bmpsize.dtx
@@ -339,7 +339,7 @@ and the derived files
%
% A parser sets the switch \cs{ifbmpsize@ok} to true, if it
% could successfully parse the image file.
-% The width and height are returnd in \cs{bmpsize@width} and
+% The width and height are returned in \cs{bmpsize@width} and
% \cs{bmpsize@height}. If information about density is available,
% it is used to calculate width and height of the image, otherwise
% the values given by option \xoption{defaultresolution} is used.
diff --git a/macros/latex/contrib/oberdiek/bmpsize.pdf b/macros/latex/contrib/oberdiek/bmpsize.pdf
index ecd47adb93..b376afc96a 100644
--- a/macros/latex/contrib/oberdiek/bmpsize.pdf
+++ b/macros/latex/contrib/oberdiek/bmpsize.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/centernot.dtx b/macros/latex/contrib/oberdiek/centernot.dtx
index dd990a3319..aa2cff5f0d 100644
--- a/macros/latex/contrib/oberdiek/centernot.dtx
+++ b/macros/latex/contrib/oberdiek/centernot.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex centernot.dtx
% makeindex -s gind.ist centernot.idx
% pdflatex centernot.dtx
diff --git a/macros/latex/contrib/oberdiek/centernot.pdf b/macros/latex/contrib/oberdiek/centernot.pdf
index 344a245433..a0984732ea 100644
--- a/macros/latex/contrib/oberdiek/centernot.pdf
+++ b/macros/latex/contrib/oberdiek/centernot.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/chemarr.dtx b/macros/latex/contrib/oberdiek/chemarr.dtx
index 78e1a3cbeb..24989ed9db 100644
--- a/macros/latex/contrib/oberdiek/chemarr.dtx
+++ b/macros/latex/contrib/oberdiek/chemarr.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex chemarr.dtx
% makeindex -s gind.ist chemarr.idx
% pdflatex chemarr.dtx
diff --git a/macros/latex/contrib/oberdiek/chemarr.pdf b/macros/latex/contrib/oberdiek/chemarr.pdf
index c745f15582..7a39e48a3e 100644
--- a/macros/latex/contrib/oberdiek/chemarr.pdf
+++ b/macros/latex/contrib/oberdiek/chemarr.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/classlist.dtx b/macros/latex/contrib/oberdiek/classlist.dtx
index 8b45464521..370fc269d0 100644
--- a/macros/latex/contrib/oberdiek/classlist.dtx
+++ b/macros/latex/contrib/oberdiek/classlist.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex classlist.dtx
% makeindex -s gind.ist classlist.idx
% pdflatex classlist.dtx
@@ -233,7 +233,7 @@ and the derived files
% configured by
% \item[\cs{PrintClassListTitle}] for the title and
% \item[\cs{PrintClassListEntry}] for formatting the entries.
-% See the implemenation how to use these.
+% See the implementation for how to use these.
% \end{description}
%
% \StopEventually{
diff --git a/macros/latex/contrib/oberdiek/classlist.pdf b/macros/latex/contrib/oberdiek/classlist.pdf
index 40ef460d94..365627fee6 100644
--- a/macros/latex/contrib/oberdiek/classlist.pdf
+++ b/macros/latex/contrib/oberdiek/classlist.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/colonequals.dtx b/macros/latex/contrib/oberdiek/colonequals.dtx
index aeae542c39..007a42cbe5 100644
--- a/macros/latex/contrib/oberdiek/colonequals.dtx
+++ b/macros/latex/contrib/oberdiek/colonequals.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex colonequals.dtx
% makeindex -s gind.ist colonequals.idx
% pdflatex colonequals.dtx
diff --git a/macros/latex/contrib/oberdiek/colonequals.pdf b/macros/latex/contrib/oberdiek/colonequals.pdf
index 1b4e949c6b..3446b59539 100644
--- a/macros/latex/contrib/oberdiek/colonequals.pdf
+++ b/macros/latex/contrib/oberdiek/colonequals.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/dvipscol.dtx b/macros/latex/contrib/oberdiek/dvipscol.dtx
index 0141ae2a94..335196bf91 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.dtx
+++ b/macros/latex/contrib/oberdiek/dvipscol.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex dvipscol.dtx
% makeindex -s gind.ist dvipscol.idx
% pdflatex dvipscol.dtx
diff --git a/macros/latex/contrib/oberdiek/dvipscol.pdf b/macros/latex/contrib/oberdiek/dvipscol.pdf
index 21243da3b1..3ff66c8e89 100644
--- a/macros/latex/contrib/oberdiek/dvipscol.pdf
+++ b/macros/latex/contrib/oberdiek/dvipscol.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/engord.dtx b/macros/latex/contrib/oberdiek/engord.dtx
index 6c75953200..a0ba888a1a 100644
--- a/macros/latex/contrib/oberdiek/engord.dtx
+++ b/macros/latex/contrib/oberdiek/engord.dtx
@@ -55,7 +55,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex engord.dtx
% makeindex -s gind.ist engord.idx
% pdflatex engord.dtx
diff --git a/macros/latex/contrib/oberdiek/engord.pdf b/macros/latex/contrib/oberdiek/engord.pdf
index 0bd217efba..49c876e5b6 100644
--- a/macros/latex/contrib/oberdiek/engord.pdf
+++ b/macros/latex/contrib/oberdiek/engord.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/enparen.dtx b/macros/latex/contrib/oberdiek/enparen.dtx
index 773ebc861c..af503d79dc 100644
--- a/macros/latex/contrib/oberdiek/enparen.dtx
+++ b/macros/latex/contrib/oberdiek/enparen.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex enparen.dtx
% makeindex -s gind.ist enparen.idx
% pdflatex enparen.dtx
@@ -335,12 +335,12 @@ and the derived files
% \subsection{Notes}
%
% \begin{description}
-% \item[Implicite kerning:]
-% Unexpandable stuff might affect the implicite kerning.
+% \item[Implicit kerning:]
+% Unexpandable stuff might affect the implicit kerning.
% The package cannot avoid this, because it need to define
-% and redefine macros at the occurence of each symbol.
+% and redefine macros at the occurrence of each symbol.
% This is done before the opening and after the closing
-% symbol, thus that the implicite kerning inside
+% symbol, thus that the implicit kerning inside
% is not affected.
% \end{description}
%
diff --git a/macros/latex/contrib/oberdiek/enparen.pdf b/macros/latex/contrib/oberdiek/enparen.pdf
index d4de5125ba..284b88c5c1 100644
--- a/macros/latex/contrib/oberdiek/enparen.pdf
+++ b/macros/latex/contrib/oberdiek/enparen.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/eolgrab.dtx b/macros/latex/contrib/oberdiek/eolgrab.dtx
index d27e99d34e..87f0aceaa4 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.dtx
+++ b/macros/latex/contrib/oberdiek/eolgrab.dtx
@@ -58,7 +58,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex eolgrab.dtx
% makeindex -s gind.ist eolgrab.idx
% pdflatex eolgrab.dtx
diff --git a/macros/latex/contrib/oberdiek/eolgrab.pdf b/macros/latex/contrib/oberdiek/eolgrab.pdf
index 23c097b571..24a22d462c 100644
--- a/macros/latex/contrib/oberdiek/eolgrab.pdf
+++ b/macros/latex/contrib/oberdiek/eolgrab.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/fibnum.dtx b/macros/latex/contrib/oberdiek/fibnum.dtx
index 9c3f8f7986..de66a37710 100644
--- a/macros/latex/contrib/oberdiek/fibnum.dtx
+++ b/macros/latex/contrib/oberdiek/fibnum.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex fibnum.dtx
% bibtex fibnum.aux
% makeindex -s gind.ist fibnum.idx
diff --git a/macros/latex/contrib/oberdiek/fibnum.pdf b/macros/latex/contrib/oberdiek/fibnum.pdf
index 2d2510854e..7a143ac3b6 100644
--- a/macros/latex/contrib/oberdiek/fibnum.pdf
+++ b/macros/latex/contrib/oberdiek/fibnum.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/flags.dtx b/macros/latex/contrib/oberdiek/flags.dtx
index 6a2d05c7b4..8834113617 100644
--- a/macros/latex/contrib/oberdiek/flags.dtx
+++ b/macros/latex/contrib/oberdiek/flags.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex flags.dtx
% makeindex -s gind.ist flags.idx
% pdflatex flags.dtx
diff --git a/macros/latex/contrib/oberdiek/flags.pdf b/macros/latex/contrib/oberdiek/flags.pdf
index f0c8b76d54..17c5868612 100644
--- a/macros/latex/contrib/oberdiek/flags.pdf
+++ b/macros/latex/contrib/oberdiek/flags.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.dtx b/macros/latex/contrib/oberdiek/holtxdoc.dtx
index 9ac40aa5ae..b9ba295cfa 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.dtx
+++ b/macros/latex/contrib/oberdiek/holtxdoc.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex holtxdoc.dtx
% makeindex -s gind.ist holtxdoc.idx
% pdflatex holtxdoc.dtx
diff --git a/macros/latex/contrib/oberdiek/holtxdoc.pdf b/macros/latex/contrib/oberdiek/holtxdoc.pdf
index 67d630bd54..f2825ebf65 100644
--- a/macros/latex/contrib/oberdiek/holtxdoc.pdf
+++ b/macros/latex/contrib/oberdiek/holtxdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.dtx b/macros/latex/contrib/oberdiek/hypbmsec.dtx
index dd26b08d2b..2b5781775c 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.dtx
+++ b/macros/latex/contrib/oberdiek/hypbmsec.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hypbmsec.dtx
% makeindex -s gind.ist hypbmsec.idx
% pdflatex hypbmsec.dtx
@@ -260,7 +260,7 @@ and the derived files
% \begin{itemize}
% \item An additional second optional argument in square brackets.
% \item An additional optional argument in parentheses (in
-% assoziation with a pdf string that is internally surrounded
+% association with a pdf string that is internally surrounded
% by parentheses, too).
% \end{itemize}
% Because \Package{\filename} stores the original meaning of the
@@ -375,7 +375,7 @@ and the derived files
[2016/05/16 v2.5 Bookmarks in sectioning commands (HO)]
% \end{macrocode}
%
-% Because of redifining the sectioning commands, it is dangerous
+% Because of redefining the sectioning commands, it is dangerous
% to reload the package several times.
% \begin{macrocode}
\@ifundefined{hbs@do}{}{%
@@ -554,7 +554,7 @@ and the derived files
% \end{macrocode}
%
% Other packages are allowed to redefine the sectioning commands,
-% if they does not change the syntax. Therefore the redefinitons
+% if they does not change the syntax. Therefore the redefinitions
% of this package should be done after the other packages.
% \begin{macrocode}
\let\hbs@part \part
diff --git a/macros/latex/contrib/oberdiek/hypbmsec.pdf b/macros/latex/contrib/oberdiek/hypbmsec.pdf
index 45e3ce42c2..9e75d5e8fe 100644
--- a/macros/latex/contrib/oberdiek/hypbmsec.pdf
+++ b/macros/latex/contrib/oberdiek/hypbmsec.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.dtx b/macros/latex/contrib/oberdiek/hypgotoe.dtx
index 3f6af63a3e..7a4c55e451 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.dtx
+++ b/macros/latex/contrib/oberdiek/hypgotoe.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hypgotoe.dtx
% makeindex -s gind.ist hypgotoe.idx
% pdflatex hypgotoe.dtx
@@ -195,7 +195,7 @@ and the derived files
% \item
% Currently only embedded files and named destinations are supported.
% \item
-% Missing are support for destination arrays and attachted files.
+% Missing are support for destination arrays and attached files.
% \item
% Special characters aren't supported either.
% \end{itemize}
diff --git a/macros/latex/contrib/oberdiek/hypgotoe.pdf b/macros/latex/contrib/oberdiek/hypgotoe.pdf
index 98d7d1dd4b..a6203e57a1 100644
--- a/macros/latex/contrib/oberdiek/hypgotoe.pdf
+++ b/macros/latex/contrib/oberdiek/hypgotoe.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.dtx b/macros/latex/contrib/oberdiek/hyphsubst.dtx
index e0fd44bf12..996257b0d4 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.dtx
+++ b/macros/latex/contrib/oberdiek/hyphsubst.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex hyphsubst.dtx
% makeindex -s gind.ist hyphsubst.idx
% pdflatex hyphsubst.dtx
diff --git a/macros/latex/contrib/oberdiek/hyphsubst.pdf b/macros/latex/contrib/oberdiek/hyphsubst.pdf
index 4c390bfdd9..0d559684d1 100644
--- a/macros/latex/contrib/oberdiek/hyphsubst.pdf
+++ b/macros/latex/contrib/oberdiek/hyphsubst.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/ifdraft.dtx b/macros/latex/contrib/oberdiek/ifdraft.dtx
index 0b4918a6d0..7b69505449 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.dtx
+++ b/macros/latex/contrib/oberdiek/ifdraft.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex ifdraft.dtx
% makeindex -s gind.ist ifdraft.idx
% pdflatex ifdraft.dtx
diff --git a/macros/latex/contrib/oberdiek/ifdraft.pdf b/macros/latex/contrib/oberdiek/ifdraft.pdf
index 35e257d875..7e6a251092 100644
--- a/macros/latex/contrib/oberdiek/ifdraft.pdf
+++ b/macros/latex/contrib/oberdiek/ifdraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/iflang.dtx b/macros/latex/contrib/oberdiek/iflang.dtx
index fa784b7d45..9eebbd0a8c 100644
--- a/macros/latex/contrib/oberdiek/iflang.dtx
+++ b/macros/latex/contrib/oberdiek/iflang.dtx
@@ -57,7 +57,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex iflang.dtx
% makeindex -s gind.ist iflang.idx
% pdflatex iflang.dtx
@@ -200,7 +200,7 @@ and the derived files
% Package \xpackage{babel} defines \cs{iflanguagename}. As first
% argument it takes a language name and executes the second or
% third argument depending on the current language. This
-% language test is based on hypenation patterns. However, it
+% language test is based on hyphenation patterns. However, it
% is possible that different languages or dialects share the
% same patterns. In such cases \cs{iflanguagename} fails.
%
@@ -211,7 +211,7 @@ and the derived files
%
% \begin{declcs}{IfLanguageName} \M{lang} \M{then} \M{else}
% \end{declcs}
-% Makro \cs{IfLanguageName} compares language \meta{lang} with
+% Macro \cs{IfLanguageName} compares language \meta{lang} with
% the current setting of macro \cs{languagename}. If both
% contains the same name then the \meta{then} part is called,
% otherwise the \meta{else} part.
@@ -562,7 +562,7 @@ and the derived files
% at the conference Bacho\TeX~2005:
% \url{http://www.gust.org.pl/projects/pearls/2005p/david-kastrup/bachotex2005-david-kastrup-pearl1.pdf}
%
-% The orignal code allows macros inside the second string.
+% The original code allows macros inside the second string.
% Because also \cs{languagename} might consists of further
% macros, we need a variant that allows macros in the first
% string, too.
diff --git a/macros/latex/contrib/oberdiek/iflang.pdf b/macros/latex/contrib/oberdiek/iflang.pdf
index 98cb0644a3..c1941fa6ee 100644
--- a/macros/latex/contrib/oberdiek/iflang.pdf
+++ b/macros/latex/contrib/oberdiek/iflang.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
index 44fce8aeca..364db304ef 100644
--- a/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
+++ b/macros/latex/contrib/oberdiek/oberdiek-bundle.bib
@@ -96,13 +96,6 @@
version={2.5},
url={https://ctan.org/pkg/hypbmsec},
}
-@manual{oberdiek:hypcap,
- title={The hypcap package},
- author={Heiko Oberdiek},
- date={2016-05-16},
- version={1.12},
- url={https://ctan.org/pkg/hypcap},
-}
@manual{oberdiek:hypgotoe,
title={The hypgotoe package},
author={Heiko Oberdiek},
@@ -243,13 +236,6 @@
version={1.2},
url={https://ctan.org/pkg/tabularkv},
}
-@manual{oberdiek:telprint,
- title={The telprint package},
- author={Heiko Oberdiek},
- date={2016-05-16},
- version={1.11},
- url={https://ctan.org/pkg/telprint},
-}
@manual{oberdiek:thepdfnumber,
title={The thepdfnumber package},
author={Heiko Oberdiek},
diff --git a/macros/latex/contrib/oberdiek/oberdiek.ins b/macros/latex/contrib/oberdiek/oberdiek.ins
index dc59a6e024..099d1f538d 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.ins
+++ b/macros/latex/contrib/oberdiek/oberdiek.ins
@@ -3,7 +3,7 @@
%
% Copyright (C)
% 1999, 2001, 2006 Heiko Oberdiek
-% 2016-2020 Oberdiek Package Support Group
+% 2016-2024 Oberdiek Package Support Group
% https://github.com/ho-tex/oberdiek/issues
%
% This work may be distributed and/or modified under the
@@ -40,7 +40,6 @@
\batchinput{flags.dtx}
\batchinput{holtxdoc.dtx}
\batchinput{hypbmsec.dtx}
-\batchinput{hypcap.dtx}
\batchinput{hypgotoe.dtx}
\batchinput{hyphsubst.dtx}
\batchinput{ifdraft.dtx}
@@ -58,7 +57,6 @@
\batchinput{stampinclude.dtx}
\batchinput{tabularht.dtx}
\batchinput{tabularkv.dtx}
-\batchinput{telprint.dtx}
\batchinput{thepdfnumber.dtx}
\batchinput{twoopt.dtx}
diff --git a/macros/latex/contrib/oberdiek/oberdiek.pdf b/macros/latex/contrib/oberdiek/oberdiek.pdf
index 16e08d826a..31c3efdda7 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.pdf
+++ b/macros/latex/contrib/oberdiek/oberdiek.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/oberdiek.tex b/macros/latex/contrib/oberdiek/oberdiek.tex
index 3849551d71..0759250c24 100644
--- a/macros/latex/contrib/oberdiek/oberdiek.tex
+++ b/macros/latex/contrib/oberdiek/oberdiek.tex
@@ -11,11 +11,11 @@
\newcommand*{\Author}{Heiko Oberdiek}
\newcommand*{\Email}{ho-tex at tug.org}
-\newcommand*{\Date}{2023/01/10}
+\newcommand*{\Date}{2024/07/26}
% Copyright (C) 2006-2016 by
% Heiko Oberdiek
-% Copyright (C) 2016-2023 by
+% Copyright (C) 2016-2024 by
% Oberdiek Package Support Group
%
% This work may be distributed and/or modified under the
@@ -203,8 +203,6 @@
[\entrysep]
\entry{hypbmsec}{Bookmarks in sectioning commands}%
[\entrysep]
-\entry{hypcap}{Adjusting the anchors of captions}%
-[\entrysep]
\entry{hypgotoe}{Links to embedded files}%
[\entrysep]
\entry{hyphsubst}{Substitute hyphenation patterns}%
@@ -239,8 +237,6 @@
[\entrysep]
\entry{tabularkv}{Tabular with key value interface}%
[\entrysep]
-\entry{telprint}{Format German phone numbers}%
-[\entrysep]
\entry{thepdfnumber}{Print PDF numbers with minimal digits}%
[\entrysep]
\entry{twoopt}{Definitions with two optional arguments}%
@@ -391,20 +387,6 @@ a replacement for the bookmarks can be given.
\tocinclude{hypbmsec}
\newpage
-\subsection{\pkgsectformat{hypcap}}
-\label{hypcap}
-\begin{abstract}
-This package tries a solution of the problem with
-hyperref, that links to floats points below the
-caption and not at the beginning of the float.
-Therefore this package divides the task into two
-part, the link setting with \cs{capstart} or
-automatically at the beginning of a float and
-the rest in the \cs{caption} command.
-\end{abstract}
-\tocinclude{hypcap}
-
-\newpage
\subsection{\pkgsectformat{hypgotoe}}
\label{hypgotoe}
\begin{abstract}
@@ -520,7 +502,7 @@ is supported. Index preambles can be given either by means of package
\label{setouterhbox}
\begin{abstract}
If math stuff is set in an \cs{hbox}, then TeX
-performs some optimization and omits the implicite
+performs some optimization and omits the implicit
penalties \cs{binoppenalty} and \cs{relpenalty}.
This packages tries to put stuff into an \cs{hbox}
without getting lost of those penalties.
@@ -578,15 +560,6 @@ especially if package \xpackage{tabularht} is used.
\tocinclude{tabularkv}
\newpage
-\subsection{\pkgsectformat{telprint}}
-\label{telprint}
-\begin{abstract}
-Package \xpackage{telprint} provides \cs{telprint} for formatting
-German phone numbers.
-\end{abstract}
-\tocinclude{telprint}
-
-\newpage
\subsection{\pkgsectformat{thepdfnumber}}
\label{thepdfnumber}
\begin{abstract}
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
index 17893f98a9..02df672d4e 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex pdfcolparallel.dtx
% makeindex -s gind.ist pdfcolparallel.idx
% pdflatex pdfcolparallel.dtx
diff --git a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
index 90a3b348a0..d97c8441f4 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparallel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
index 77d8aab071..a382037b42 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex pdfcolparcolumns.dtx
% makeindex -s gind.ist pdfcolparcolumns.idx
% pdflatex pdfcolparcolumns.dtx
diff --git a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
index a49189ba4a..8afe31978a 100644
--- a/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcolparcolumns.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.dtx b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
index e4681efa8c..3c5070829c 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.dtx
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.dtx
@@ -55,7 +55,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex pdfcrypt.dtx
% makeindex -s gind.ist pdfcrypt.idx
% pdflatex pdfcrypt.dtx
diff --git a/macros/latex/contrib/oberdiek/pdfcrypt.pdf b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
index 1de22245d4..eabda461d7 100644
--- a/macros/latex/contrib/oberdiek/pdfcrypt.pdf
+++ b/macros/latex/contrib/oberdiek/pdfcrypt.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/protecteddef.dtx b/macros/latex/contrib/oberdiek/protecteddef.dtx
index cff42cccf7..21aab0c9fc 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.dtx
+++ b/macros/latex/contrib/oberdiek/protecteddef.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex protecteddef.dtx
% makeindex -s gind.ist protecteddef.idx
% pdflatex protecteddef.dtx
@@ -246,7 +246,7 @@ and the derived files
% is not supported. Macro \meta{cmd} is to be defined as
% \cs{long} macro without star with \meta{num} arguments.
%
-% The number of arguments \meta{num} must be given as explicite digit
+% The number of arguments \meta{num} must be given as explicit digit
% |0| upto |9|. Otherwise the part between the argument \meta{cmd} and
% the \meta{definition text} is taken as parameter text in the syntax
% of vanilla \hologo{TeX}. Examples (with \cs{protected}):
diff --git a/macros/latex/contrib/oberdiek/protecteddef.pdf b/macros/latex/contrib/oberdiek/protecteddef.pdf
index cabaa32c49..c5d984bf5e 100644
--- a/macros/latex/contrib/oberdiek/protecteddef.pdf
+++ b/macros/latex/contrib/oberdiek/protecteddef.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/resizegather.dtx b/macros/latex/contrib/oberdiek/resizegather.dtx
index 4a07864917..8ec4cc8a13 100644
--- a/macros/latex/contrib/oberdiek/resizegather.dtx
+++ b/macros/latex/contrib/oberdiek/resizegather.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex resizegather.dtx
% makeindex -s gind.ist resizegather.idx
% pdflatex resizegather.dtx
diff --git a/macros/latex/contrib/oberdiek/resizegather.pdf b/macros/latex/contrib/oberdiek/resizegather.pdf
index 11d07da19c..5bf853391c 100644
--- a/macros/latex/contrib/oberdiek/resizegather.pdf
+++ b/macros/latex/contrib/oberdiek/resizegather.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.dtx b/macros/latex/contrib/oberdiek/rotchiffre.dtx
index 3023347fe1..aa80754011 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.dtx
+++ b/macros/latex/contrib/oberdiek/rotchiffre.dtx
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex rotchiffre.dtx
% makeindex -s gind.ist rotchiffre.idx
% pdflatex rotchiffre.dtx
@@ -214,7 +214,7 @@ and the derived files
% \begin{declcs}{EdefRot} \M{type} \M{cmd} \M{text}
% \end{declcs}
% The \meta{text} is expanded and sanitized. All tokens
-% are letters with catcode 12 (other) with the exeption of
+% are letters with catcode 12 (other) with the exception of
% the space token that has character code 32 (0x20) and
% catcode 10 (space). This follows \hologo{TeX}'s convention of
% \cs{string} and \cs{meaning}.
diff --git a/macros/latex/contrib/oberdiek/rotchiffre.pdf b/macros/latex/contrib/oberdiek/rotchiffre.pdf
index 7deae8d756..5504f90b56 100644
--- a/macros/latex/contrib/oberdiek/rotchiffre.pdf
+++ b/macros/latex/contrib/oberdiek/rotchiffre.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/scrindex.dtx b/macros/latex/contrib/oberdiek/scrindex.dtx
index fea57fd1a9..63deeaab2f 100644
--- a/macros/latex/contrib/oberdiek/scrindex.dtx
+++ b/macros/latex/contrib/oberdiek/scrindex.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex scrindex.dtx
% makeindex -s gind.ist scrindex.idx
% pdflatex scrindex.dtx
@@ -195,7 +195,7 @@ and the derived files
% the standard classes |article|, |report|, and |book|. It
% redefines environment `theindex' for its needs.
% However, it does not know other classes such as KOMA-Script.
-% This package closes the compatibiliy gap between KOMA-Script's
+% This package closes the compatibility gap between KOMA-Script's
% classes and package \xpackage{index}.
%
% Environment |theindex| is redefined to support both package
diff --git a/macros/latex/contrib/oberdiek/scrindex.pdf b/macros/latex/contrib/oberdiek/scrindex.pdf
index 0ca63d3e6d..a2e2cba825 100644
--- a/macros/latex/contrib/oberdiek/scrindex.pdf
+++ b/macros/latex/contrib/oberdiek/scrindex.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.dtx b/macros/latex/contrib/oberdiek/setouterhbox.dtx
index 001cd278d3..cc937c16a4 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.dtx
+++ b/macros/latex/contrib/oberdiek/setouterhbox.dtx
@@ -57,7 +57,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex setouterhbox.dtx
% makeindex -s gind.ist setouterhbox.idx
% pdflatex setouterhbox.dtx
@@ -190,7 +190,7 @@ and the derived files
%
% \begin{abstract}
% If math stuff is set in an \cs{hbox}, then TeX
-% performs some optimization and omits the implicite
+% performs some optimization and omits the implicit
% penalties \cs{binoppenalty} and \cs{relpenalty}.
% This packages tries to put stuff into an \cs{hbox}
% without getting lost of those penalties.
@@ -234,7 +234,7 @@ and the derived files
% method we discuss here. Nowadays we have \eTeX\ that extends
% the tool set of a \TeX\ macro programmer. Especially useful
% \eTeX\ was in this package for detecting and dealing with
-% errorneous situations.
+% erroneous situations.
%
% However also nowadays a perfect solution for the problem
% is still missing at macro level. Probably someone has
diff --git a/macros/latex/contrib/oberdiek/setouterhbox.pdf b/macros/latex/contrib/oberdiek/setouterhbox.pdf
index dbdb939c6e..03757dc214 100644
--- a/macros/latex/contrib/oberdiek/setouterhbox.pdf
+++ b/macros/latex/contrib/oberdiek/setouterhbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/settobox.dtx b/macros/latex/contrib/oberdiek/settobox.dtx
index c38d502a53..c1d7af6ae9 100644
--- a/macros/latex/contrib/oberdiek/settobox.dtx
+++ b/macros/latex/contrib/oberdiek/settobox.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex settobox.dtx
% makeindex -s gind.ist settobox.idx
% pdflatex settobox.dtx
@@ -282,7 +282,7 @@ and the derived files
% c) Print #1 commands.
% d) Print box with frame
%
-% The implemenation looks more weird:
+% The implementation looks more weird:
\makeatletter
\newcommand*{\test}[1]{%
\par
diff --git a/macros/latex/contrib/oberdiek/settobox.pdf b/macros/latex/contrib/oberdiek/settobox.pdf
index a2f1c8d179..ef92916de2 100644
--- a/macros/latex/contrib/oberdiek/settobox.pdf
+++ b/macros/latex/contrib/oberdiek/settobox.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stackrel.dtx b/macros/latex/contrib/oberdiek/stackrel.dtx
index 6b3444c33c..09110de947 100644
--- a/macros/latex/contrib/oberdiek/stackrel.dtx
+++ b/macros/latex/contrib/oberdiek/stackrel.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex stackrel.dtx
% makeindex -s gind.ist stackrel.idx
% pdflatex stackrel.dtx
diff --git a/macros/latex/contrib/oberdiek/stackrel.pdf b/macros/latex/contrib/oberdiek/stackrel.pdf
index df11fd28dd..4edbb64c31 100644
--- a/macros/latex/contrib/oberdiek/stackrel.pdf
+++ b/macros/latex/contrib/oberdiek/stackrel.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/stampinclude.dtx b/macros/latex/contrib/oberdiek/stampinclude.dtx
index 9acd8a61f8..ba468e8591 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.dtx
+++ b/macros/latex/contrib/oberdiek/stampinclude.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex stampinclude.dtx
% makeindex -s gind.ist stampinclude.idx
% pdflatex stampinclude.dtx
@@ -225,7 +225,7 @@ and the derived files
% This package \xpackage{stampinclude} goes another way.
% \LaTeX\ reads and writes a separate \xext{aux} file for each
% file that is included by \cs{include}. There \LaTeX\ remembers
-% counter valuses. Changed \xext{tex}
+% counter values. Changed \xext{tex}
% files can therefore be detected by comparing the file date stamp of
% the \xext{tex} file with the date stamp of its \xext{aux} file.
% Since version 1.30.0 \pdfTeX\ provides \cs{pdffilemoddate}
@@ -254,7 +254,7 @@ and the derived files
%
% \subsubsection{Other file dependencies}
%
-% A file that is included by \cs{include} may input ore reference
+% A file that is included by \cs{include} may input or reference
% other files:
% \begin{itemize}
% \item other \TeX\ files using \cs{input},
diff --git a/macros/latex/contrib/oberdiek/stampinclude.pdf b/macros/latex/contrib/oberdiek/stampinclude.pdf
index 55b57219a3..b98bf15bb1 100644
--- a/macros/latex/contrib/oberdiek/stampinclude.pdf
+++ b/macros/latex/contrib/oberdiek/stampinclude.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularht.dtx b/macros/latex/contrib/oberdiek/tabularht.dtx
index 20688068b0..e6c26f1040 100644
--- a/macros/latex/contrib/oberdiek/tabularht.dtx
+++ b/macros/latex/contrib/oberdiek/tabularht.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex tabularht.dtx
% makeindex -s gind.ist tabularht.idx
% pdflatex tabularht.dtx
@@ -250,7 +250,7 @@ and the derived files
% and add the vertical lines. The lines in a tabular
% with \xpackage{tabularht} support (environments of this package)
% are numbered from left to right. The gap that is
-% controlled by \cs{interrowspace} or inbetween \cs{interrowstart}
+% controlled by \cs{interrowspace} or in between \cs{interrowstart}
% and \cs{interrowstop} is then filled with the detected
% vertical lines.
%
@@ -472,7 +472,7 @@ and the derived files
\def\tabH@spread{spread}
% \end{macrocode}
% First argument is the height of the table,
-% then the orignal arguments for tabular follow.
+% then the original arguments for tabular follow.
% \begin{macrocode}
\newenvironment{tabularht}[1]{%
\tabH@setheight{#1}%
diff --git a/macros/latex/contrib/oberdiek/tabularht.pdf b/macros/latex/contrib/oberdiek/tabularht.pdf
index 893fe33acf..3a70cec6a2 100644
--- a/macros/latex/contrib/oberdiek/tabularht.pdf
+++ b/macros/latex/contrib/oberdiek/tabularht.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/tabularkv.dtx b/macros/latex/contrib/oberdiek/tabularkv.dtx
index 57ef5e8745..b324e6e8ab 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.dtx
+++ b/macros/latex/contrib/oberdiek/tabularkv.dtx
@@ -53,7 +53,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex tabularkv.dtx
% makeindex -s gind.ist tabularkv.idx
% pdflatex tabularkv.dtx
diff --git a/macros/latex/contrib/oberdiek/tabularkv.pdf b/macros/latex/contrib/oberdiek/tabularkv.pdf
index e6ea130064..dedc3251c0 100644
--- a/macros/latex/contrib/oberdiek/tabularkv.pdf
+++ b/macros/latex/contrib/oberdiek/tabularkv.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.dtx b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
index 61eb42684c..c1aa4bf9fa 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.dtx
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.dtx
@@ -57,7 +57,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex thepdfnumber.dtx
% makeindex -s gind.ist thepdfnumber.idx
% pdflatex thepdfnumber.dtx
@@ -256,7 +256,7 @@ and the derived files
% \item The decimal part is omitted, if the number is an integer (5, 7).
% \item Trailing zeros from the decimal part are stripped (5, 6, 7, 9).
% \end{itemize}
-% The resulting number representation can be catched with one of the
+% The resulting number representation can be caught with one of the
% following Perl regular expressions:
% \begin{itemize}
% \item |^0$| (zero)
@@ -295,11 +295,11 @@ and the derived files
% \subsection{Input number}
%
% The user macros expect a number as argument. The number can either
-% be given explicitely or as macro that expands in one step
-% to an explicite number, because the first token of the argument
+% be given explicitly or as macro that expands in one step
+% to an explicit number, because the first token of the argument
% is expanded once.
%
-% The explicite number consists of
+% The explicit number consists of
% \begin{itemize}
% \item optional signs `\texttt{+}' and `\texttt{-}',
% \item digits `\texttt{0}' upto `\texttt{9}' and
@@ -320,7 +320,7 @@ and the derived files
% The package is not intended for validating numbers or to
% decide if an argument is a number. Therefore it is an usage
% error to use the user macros with arguments that are not
-% explicite numbers as specified in the previous sections.
+% explicit numbers as specified in the previous sections.
% Nevertheless some error conditions are sometimes recognized.
% Errors are given in form of an undefined command sequence.
% It is the only way to notify \hologo{TeX} in expandable context.
diff --git a/macros/latex/contrib/oberdiek/thepdfnumber.pdf b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
index 8d4b73d65f..61d98f6985 100644
--- a/macros/latex/contrib/oberdiek/thepdfnumber.pdf
+++ b/macros/latex/contrib/oberdiek/thepdfnumber.pdf
Binary files differ
diff --git a/macros/latex/contrib/oberdiek/twoopt.dtx b/macros/latex/contrib/oberdiek/twoopt.dtx
index 10334f0d3a..806799fd41 100644
--- a/macros/latex/contrib/oberdiek/twoopt.dtx
+++ b/macros/latex/contrib/oberdiek/twoopt.dtx
@@ -52,7 +52,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex twoopt.dtx
% makeindex -s gind.ist twoopt.idx
% pdflatex twoopt.dtx
diff --git a/macros/latex/contrib/oberdiek/twoopt.pdf b/macros/latex/contrib/oberdiek/twoopt.pdf
index 6a144a8368..071dd4d2b2 100644
--- a/macros/latex/contrib/oberdiek/twoopt.pdf
+++ b/macros/latex/contrib/oberdiek/twoopt.pdf
Binary files differ
diff --git a/macros/latex/contrib/pagelayout/README.md b/macros/latex/contrib/pagelayout/README.md
index 4d62838bf4..8d08f566f7 100644
--- a/macros/latex/contrib/pagelayout/README.md
+++ b/macros/latex/contrib/pagelayout/README.md
@@ -1,4 +1,4 @@
-![The pagelayout LaTeX class](doc/banner.svg)
+![The pagelayout LaTeX class](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/banner.svg)
The pagelayout class enables you to design pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs.
@@ -26,7 +26,7 @@ Create a page with the `\page` command. A grid with rows and cells helps you to
}
```
-![A page with a two column layout](doc/quickstart-1.svg)
+![A page with a two column layout](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-1.svg)
### Templates
@@ -44,7 +44,7 @@ You can set width relations between grid cells and height relations between grid
\template{my template}{}
```
-![A template with two placeholders](doc/quickstart-2.svg)
+![A template with two placeholders](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-2.svg)
You can set margin and gutter at grid, page, or document level.
@@ -72,17 +72,17 @@ You can scale and position a graphic. And you can add borders and box shadows to
}
```
-![Photo with border and shadow](doc/quickstart-3.svg)
+![Photo with border and shadow](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/quickstart-3.svg)
-Have a look at the [examples](doc) to learn how to create double pages, covers, and more.
+Have a look at the [examples](https://github.com/friedemannbartels/latex-pagelayout/tree/1.1.1/doc) to learn how to create double pages, covers, and more.
-For a complete reference, read the [manual](doc/pagelayout-manual.pdf).
+For a complete reference, read the [manual](https://raw.githubusercontent.com/friedemannbartels/latex-pagelayout/1.1.1/doc/pagelayout-manual.pdf).
## Installation
In general, you should use the package manager shipped with your TeX distribution to install the pagelayout package.
-To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.0/pagelayout-1.1.0.tds.zip) to your local TeX directory tree and run the command `texhash`.
+To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.1/pagelayout.tds.zip) to your local TeX directory tree and run the command `texhash`.
To enable image optimization, shadow creation, and preflight, perform these installation steps:
diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf
index 6913eb17ce..a8ec76cc08 100644
--- a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf
+++ b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex
index 460f1170d0..df37ebaa6f 100644
--- a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex
+++ b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex
@@ -18,7 +18,7 @@
\usepackage{tikz}
\OnlyDescription
\hypersetup{pdfborder={0 0 0}}
-\def\pagelayoutversion{1.1.0}
+\def\pagelayoutversion{1.1.1}
\begin{document}
diff --git a/macros/latex/contrib/pagelayout/scripts/pagelayoutapi b/macros/latex/contrib/pagelayout/scripts/pagelayoutapi
index be034baaa7..1232ae3ab7 100755
--- a/macros/latex/contrib/pagelayout/scripts/pagelayoutapi
+++ b/macros/latex/contrib/pagelayout/scripts/pagelayoutapi
@@ -13,7 +13,7 @@
# LaTeX version 2008/05/04 or later.
#
-version=1.1.0
+version=1.1.1
_convert() {
turbo=$1
diff --git a/macros/latex/contrib/pagelayout/scripts/textestvis b/macros/latex/contrib/pagelayout/scripts/textestvis
index 8ddcde77e1..8120a7ba1f 100755
--- a/macros/latex/contrib/pagelayout/scripts/textestvis
+++ b/macros/latex/contrib/pagelayout/scripts/textestvis
@@ -13,7 +13,7 @@
# LaTeX version 2008/05/04 or later.
#
-version=1.1.0
+version=1.1.1
OK="$( tput setaf 2 )•$( tput sgr0 )"
FAILED="$( tput setaf 1 )$( tput bold )x$( tput sgr0 )"
@@ -122,13 +122,13 @@ test() {
fi
fi
- magick convert -density $2 -quiet $tmpdir/$name.pdf $tmpdir/$name.png
+ magick -density $2 -quiet $tmpdir/$name.pdf $tmpdir/$name.png
if [ -f "$tmpdir/$name.png" ]; then
mv $tmpdir/$name.png $tmpdir/$name-0.png
fi
if [ -f "$name.approved.pdf" ]; then
- magick convert -density $2 -quiet $name.approved.pdf $tmpdir/$name.approved.png
+ magick -density $2 -quiet $name.approved.pdf $tmpdir/$name.approved.png
if [ -f "$tmpdir/$name.approved.png" ]; then
mv $tmpdir/$name.approved.png $tmpdir/$name.approved-0.png
fi
@@ -311,11 +311,11 @@ compare() {
spacer=""
if [ -f "$filea" ]; then
if [ -f "$fileb" ]; then
- magick convert -density $1 -quiet $filea $tmpdir/$basenamea.png
+ magick -density $1 -quiet $filea $tmpdir/$basenamea.png
if [ -f "$tmpdir/$basenamea.png" ]; then
mv $tmpdir/$basenamea.png $tmpdir/$basenamea-0.png
fi
- magick convert -density $1 -quiet $fileb $tmpdir/$basenameb.png
+ magick -density $1 -quiet $fileb $tmpdir/$basenameb.png
if [ -f "$tmpdir/$basenameb.png" ]; then
mv $tmpdir/$basenameb.png $tmpdir/$basenameb-0.png
fi
diff --git a/macros/latex/contrib/pagelayout/tex/pagelayout.cls b/macros/latex/contrib/pagelayout/tex/pagelayout.cls
index 8e7d3616ae..655ed59bd2 100644
--- a/macros/latex/contrib/pagelayout/tex/pagelayout.cls
+++ b/macros/latex/contrib/pagelayout/tex/pagelayout.cls
@@ -13,8 +13,8 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesClass{pagelayout}[2024/01/17 Layout graphic rich documents]
-\def\pagelayoutversion{1.1.0}
+\ProvidesClass{pagelayout}[2024/07/31 Layout graphic rich documents]
+\def\pagelayoutversion{1.1.1}
% packages
\RequirePackage{pgfopts}
@@ -372,7 +372,11 @@
\pal@outermargin=\ifdim\pal@gridoutermargin=\pal@undefdim\pal@gridmargin\else\pal@gridoutermargin\fi
\height=\dimexpr\pal@pageheight - \pal@topmargin - \pal@bottommargin\relax
- \width=\dimexpr\pal@pagewidth - \pal@innermargin - \pal@outermargin\relax
+ \ifpal@isdoublepage
+ \width=\dimexpr2\pal@pagewidth - 2\pal@outermargin\relax
+ \else
+ \width=\dimexpr\pal@pagewidth - \pal@innermargin - \pal@outermargin\relax
+ \fi
\ifdim\dimexpr\pal@gridoptionheight\relax=\pal@undefdim
\else
\pal@gridheightdiff=\dimexpr0.5\height - 0.5\dimexpr\pal@gridoptionheight\relax\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index 9536e081a4..4c4251c47e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -4,7 +4,21 @@ 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-08-17]
+
+### Added
+
+ - added a verification 'omit_CID' used by PDF/a-2 and newer with luatex.
+ - warnings if pdfversion does not fit ua-1 and ua-2
+
+### Fixed
+ - add xmp-resource for pdfaid:rev (tagging-project issue#375)
+ - empty color in \bookmarksetup https://github.com/ho-tex/bookmark/issues/11
+ - unneeded warning with bookmarks=false, https://github.com/latex3/hyperref/issues/352
+
## [2024-05-23]
+Version: 2024-05-23, 0.96i
### Fixed
- l3pdfmeta: adapted wtpdf declaration uri to corrected version.
@@ -30,7 +44,7 @@ Version: 2024-03-26, 0.96g
### Added
- l3pdfmeta.dtx: interface for xmpRights:Marked.
- - l3pdfmeta.dtx: add wtpdf declations if ua-2 is used.
+ - l3pdfmeta.dtx: add wtpdf declarations if ua-2 is used.
### Changed
- removed unneeded firstaids for fontspec, transparent and pdflscape
@@ -39,7 +53,7 @@ Version: 2024-03-26, 0.96g
Version: 2024-03-01, 0.96f
### Changed
- - format of /F in filespec: use utf8/string for better compability with ZUGFeRD processor.
+ - format of /F in filespec: use utf8/string for better compatibility with ZUGFeRD processor.
- added /Contents entry to URI and GoTo links for better UA support.
## [2024-02-22]
@@ -48,7 +62,7 @@ Version: 2024-02-22, 0.96e
### Changed
- date of UA-2 is now 2024
- tagpdf-base is now required
- - xmp metadata use x-default for the main language for better compability with some viewers
+ - xmp metadata use x-default for the main language for better compatibility with some viewers
- suppress info dictionary with pdf/ua-2
## [2023-12-09]
@@ -70,7 +84,7 @@ Version: 2023-12-09, 0.96d
Version: 2023-11-17, 0.96c
- remove dependency to ltxcmds in the hyperref driver
- - correct a local/global assigment
+ - correct a local/global assignment
- remove l3ref-tmp.sty
- l3pdffile.dtx: change mimetype of xml to application/xml
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index e3c9c1be02..9ac57108e0 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.96i, 2024-05-23
+Version: 0.96j, 2024-08-17
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 08170653e8..68272c9b16 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-05-23 v0.96i
+\ProvidesPackage{color-ltx}[2024-08-17 v0.96j
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 95a0b0a612..eb3c8e4b86 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,8 +19,9 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-05-23}{0.96i}
- {temporay patches to for the colorspace package to test pdfresource management ... UF}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2024-08-17}{0.96j}
+ {temporary patches for the colorspace package to test pdfresource management ... UF}
+
% colorspace can define more models, that l3color can't yet handle.
\cs_set_protected:Npn \expl@color@set@@nnn #1#2#3
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index 9a8ee06546..f38e8d8811 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -150,7 +150,7 @@
%
% \section{\enquote{Metadata}}
%
-% \enquote{Metadata}, informations about the document, are stored in a PDF in two
+% \enquote{Metadata}, information about the document, are stored in a PDF in two
% places: The |/Info| dictionary and the XMP-metadata. \pkg{hyperref} only handles the
% |/Info| dictionary. The XMP-metadata are added by code from \pkg{l3pdfmeta}.
% (without the pdfmanagement the XMP-metadata can be added with packages like \pkg{pdfx} and
@@ -170,7 +170,7 @@
% this had to patch an number of internal \pkg{hyperref} commands---which is a problem
% if the internal commands change (as happens with this new driver)
% \item \pkg {hyperref} (and also \pkg{hyperxmp})
-% tries to deduce some datas from document commands like
+% tries to deduce some data from document commands like
% \cs{title} or \cs{author}---something that worked reasonably well when only
% some standard classes with well-known definitions of these command existed,
% but gets problematic with classes and packages which define
@@ -190,7 +190,7 @@
%
% \item It is possible to store titles in more than one language. If the value begins with
% an \enquote{optional argument} which represents a language tag, the value is taken
-% as a comma list and splitted. The first value is used for the Info dictionary,
+% as a comma list and split. The first value is used for the Info dictionary,
% the others are used in the XMP-metadata. Commas in a title must then be
% protected with braces:
%
@@ -506,7 +506,7 @@
% and |citebordercolor| has been reduced. A package like \pkg{hyperref}
% can't keep track of such semantic
% contexts like cite, acronym, glossaries and special references and maintain keys for
-% them. The keys are not completly dropped as this would affect packages like
+% them. The keys are not completely dropped as this would affect packages like
% \pkg{natbib}, but they have been separated and are no longer affected by
% group keys like |allcolors| but must be set individually instead.
%
@@ -768,7 +768,7 @@
% location. So |0 -100 200 400| will give a \enquote{box} of width 200bp,
% height 400bp and depth 100dp that the destination should encompass.
% Missing numbers will be set to 0. But one should be aware that is it is quite
-% unpredicable how viewers which support |FitR| handles zero sizes.
+% unpredictable how viewers which support |FitR| handles zero sizes.
%
% \item |pdfstartview| and |pdfremotestartview| will pass
% the values as absolute coordinates.
@@ -818,7 +818,7 @@
% key of the annotation array and in similar keys is set. It does not affect
% the text and graphics colors in the page stream.
% Possible choices are |rgb| (three numbers in the array) and |cmyk| (four numbers).
-% While the PDF reference allows four numbers, PDF readers don't necessarly handle
+% While the PDF reference allows four numbers, PDF readers don't necessarily handle
% this correctly, so the value can be wrong.
%
% \DescribeHypkey{destlabel} This is a boolean key. Currently it must be set
@@ -849,7 +849,7 @@
% /Subtype/Link/A<</S/GoToR /F (mwe2.dvi)>>
% /Subtype/Link/A<</S/GoToR /F (mwe3.dvi)>>
% \end{verbatim}
-% Typically PDF viewer can handle only GoToR annotions pointing to a PDF.
+% Typically PDF viewer can handle only GoToR annotations pointing to a PDF.
% So normally the default value |pdf| of this key should not be changed.
% \DescribeHypkey{nesting}\label{key:nesting}%
% This key is useless in PDF context. The boolean is only used in
@@ -965,7 +965,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2024-05-23 v0.96i %
+\ProvidesFile{hgeneric-testphase.def}[2024-08-17 v0.96j %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1456,7 +1456,7 @@
\pdfstringdefDisableCommands{\let\hrefpdf\@@_secondoftwowithopt:wnn}
\pdfstringdefDisableCommands{\let\hrefrun\@@_secondoftwowithopt:wnn}
% \end{macrocode}
-% \section{Compability commands}
+% \section{Compatibility commands}
% \subsection{Metadata}
% A number of values should be accessible from other packages. Until now
% packages like \pkg{hyperxmp} used variables like \cs{@pdfauthor}. As they are
@@ -1527,19 +1527,29 @@
{
\define@key{BKM}{color}
{
- \__hyp_color_set:ne {__hyp/tmpa}{#1}
- \color_export:nVN
- {__hyp/tmpa}
- \g__hyp_bordercolormodel_str
- \BKM@color
+ \tl_if_blank:nTF {#1}
+ { \cs_set_eq:NN\BKM@color\@empty }
+ {
+ \__hyp_color_set:ne {__hyp/tmpa}{#1}
+ \color_export:nVN
+ {__hyp/tmpa}
+ \g__hyp_bordercolormodel_str
+ \BKM@color
+ }
}
}
-\legacy_if:nT { Hy@bookmarks }
+\legacy_if:nTF { Hy@bookmarks }
{
\AddToHook{begindocument/before}[hyperref/bookmark]
{
\RequirePackage{bookmark}
- }
+ }
+ }
+% \end{macrocode}
+% empty hook chunk to ensure that the chunk exists.
+% \begin{macrocode}
+ {
+ \AddToHook{begindocument/before}[hyperref/bookmark]{}
}
\legacy_if:nT {Hy@draft}
{
@@ -2188,7 +2198,7 @@
% \end{macrocode}
%
% Now the three \pkg{hyperref} commands.
-% The splitted commands \cs{hyper@linkstart} and \cs{hyper@linkend} are used for
+% The split commands \cs{hyper@linkstart} and \cs{hyper@linkend} are used for
% footnotemarks, toc and natbib-cites.
% \begin{function}{\hyper@link}
% \begin{syntax}
@@ -5204,7 +5214,7 @@
}
\ExplSyntaxOff
\ExplSyntaxOn
-% Does an appeareance dict make sense here?
+% Does an appearance dict make sense here?
\def\PDFForm@Text
{
/Subtype/Widget
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index 3ff91e5445..ab0f008a55 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 f655a84c26..8ab7e948ac 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
%
@@ -56,32 +56,32 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2024-05-23}{}
+ {l3backend-testphase-dvipdfmx.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2024-05-23}{}
+ {l3backend-testphase-dvips.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2024-05-23}{}
+ {l3backend-testphase-dvisvgm.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2024-05-23}{}
+ {l3backend-testphase-luatex.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2024-05-23}{}
+ {l3backend-testphase-pdftex.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2024-05-23}{}
+ {l3backend-testphase-xetex.def}{2024-08-17}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
% \subsection{Variants}
-% We need to generate temporarly a few e-types variants of kernel backend commands.
+% We need to generate temporarily a few e-types variants of kernel backend commands.
% These can be removed once the kernel provides them.
% \begin{macrocode}
%<@@=pdf>
@@ -1818,7 +1818,7 @@
%</drivers>
% \end{macrocode}
% \end{macro}
-% Now the driver dependant parts.
+% Now the driver dependent parts.
% By default the new commands are simply copies of the original commands.
% We adapt them then for the engines and engine version which provide support
% for structure destinations.
@@ -2355,7 +2355,7 @@
% \end{macro}
% \subsection{Settings for regression tests}
% When doing pdf based regression tests some meta data in the pdf should have
-% fixed values to get identical pdf's. We define here the backend dependant
+% fixed values to get identical pdf's. We define here the backend dependent
% part. The main command is then in l3pdfmeta
% \begin{macrocode}
%<*drivers>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index 09b998ff81..f15724e4d4 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 ef02e9cf5a..59268785a4 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -340,7 +340,7 @@
% lead to the unpleasant result that header and footer are part of the link too.
% Since texlive 2021 pdflatex and lualatex has commands similar to a special already
% included in dvipdfmx which allows to interrupt a link. The commands must be used
-% with care: typically they must be outside a box that would be catched by link to
+% with care: typically they must be outside a box that would be caught by link to
% have the wanted effect.
%
% \end{function}
@@ -432,7 +432,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfannot}{2024-08-17}{0.96j}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index 1000505030..568726ab7d 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 514595e41c..2c297fb5c7 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -208,7 +208,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfdict}{2024-08-17}{0.96j}
{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 555a105c9a..37534467d5 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 f4d71c50e8..7cda9b3102 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -251,10 +251,10 @@
%
% \meta{URL} can be a mail address and should then start with |mailto:|.
% A subject can be attached with |?subject=...|.
-% This normally works quite fine as it only needs a correctly working mail programm.
+% This normally works quite fine as it only needs a correctly working mail program.
% (But for some unknown reason my mail program don't like mail addresses with hyphens in them).
%
-% Alternativly it should be an URL of a script, which should return the correct
+% Alternatively it should be an URL of a script, which should return the correct
% answer (which one this is, is rather unclear).
%
% \end{function}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index 34fe45aec2..1981d6c95c 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 7f702d2934..8514ce7200 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index 3ce7e4651f..1b9850003e 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 e645449393..ceca7dd26f 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -77,11 +77,11 @@
% This means that various data will have to be set, and the sorting matters.
% The module here will assume that the various values are stored in sequences:
%
-% \ExplSyntaxOn
+% \begin{verbatim}
% \seq_const_from_clist:Nn \c_my_values_seq {hippo,duck,bear}
% \seq_const_from_clist:Nn \c_my_displayvalues_seq {Sieglinde,,Bär}
-% \seq_const_from_clist:Nn \c_my_defaultvalues_seq {duck,Bär} %check if export or altname ...
-% \ExplSyntaxOff
+% \seq_const_from_clist:Nn \c_my_defaultvalues_seq {duck,Bär}
+% \end{verbatim}
%
% Only the first sequence is required.
% Empty values in the display sequence are possible, then the normal value is used.
@@ -103,9 +103,12 @@
%
%
% \subsection{Appearance}
-% hm ....
+% By default the fields use a grey background as appearance, another appearance
+% can be defined with |\pdffield_appearance:nn| (described in the documentation of
+% l3pdffield) or directly with |\pdfxform_new:nnn| (in l3pdfxfom)
+% and then used with the |appearance| as in other form fields.
%
-% \bigskip
+%
% \subsection{Commands}
% \begin{function}{\pdffield_choice:n}
% \begin{syntax}
@@ -114,9 +117,9 @@
% This creates a choice field.
% The list of allowed keys is described below.
% The \meta{key val list} should at least set the name,
-% without it the default |choice| is used. Choice fields with the same
+% without it the default |choice| is used. Choice fields with the same name
% belong to the same field and if changed, the others are changed accordingly.
-% The default appearance ...
+% As default appearance we reuse the text appearance: a simple gray background.
%
% The first choice field setups the field and so should setup values and field flags.
% \end{function}
@@ -443,7 +446,7 @@
% ,\l_@@_choice_opt_seq
% }
% variables to hold the value, the default value, and display variants. The opt
-% set will be used to build the content of opt
+% seq will be used to build the content of opt
% \begin{macrocode}
\seq_new:N \l_@@_choice_values_seq
\seq_new:N \l_@@_choice_defaultvalues_seq
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index f2fe192ac0..f17a26c1b8 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 b030de3323..3c71dc973e 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index fc5114da30..f6a8c91e70 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 8e16ebb596..e26f875c37 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index d182341cca..dcbce59fbf 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 0e3fe0c92d..bdd1c28ffc 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index c1968b575e..1551733a91 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 c888fab7c4..27deb954c3 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -87,7 +87,7 @@
% \usepackage{l3pdffield-testphase}
% \end{verbatim}
%
-% The source code is splitted into various submodules. All code is combined in the
+% The source code is split into various submodules. All code is combined in the
% sty, but the documentation is in individual PDF.
% \begin{description}
% \item[\texttt{l3pdffield}] This contains the basic commands and keys
@@ -199,7 +199,7 @@
% \subsection{The look of a field: Appearances and other settings}
%
% The look of widget annotation of a field can be set with various keys. The keys developed over
-% time and some of them superseed older ones. There is for example the simple
+% time and some of them supersede older ones. There is for example the simple
% |/Border|, the more sophisticated |/BS| (\enquote{border style dictionary}),
% the \enquote{dynamic appearance dictionary} |MK|, with lots of keys,
% and the appearance dictionary |/AP| which
@@ -631,7 +631,7 @@
% fields without sortkey will get an empty sortkey and so be at the begin,
% the order of fields with the same sortkey is not defined.
% The module only sorts fields created with the commands of this module, the
-% sorting of fields created by \pkg{hyperref} is independant.
+% sorting of fields created by \pkg{hyperref} is independent.
% \end{function}
%
% \begin{function}{DA}
@@ -972,7 +972,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2024-05-23}{0.96i}%
+\ProvidesExplPackage{l3pdffield-testphase}{2024-08-17}{0.96j}%
{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 914e4d07b3..395c405a56 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 205dcfd7ba..68287a9d5c 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -398,9 +398,9 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdffile}{2024-08-17}{0.96j}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
-\RequirePackage{l3pdftools} %temporarly!!
+\RequirePackage{l3pdftools} %temporarily!!
%</header>
% \end{macrocode}
%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index 3cd861c557..ec0b0616e8 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 9213e670f7..2890995126 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -70,7 +70,7 @@
% They unify a number of primitives like the pdftex
% registers and commands \cs{pdfcatalog}, \cs{pdfpageattr},
% \cs{pdfpagesattr}, \cs{pdfinfo}, \cs{pdfpageresources}
-% and similar commands of the other backends in a backend independant way.
+% and similar commands of the other backends in a backend independent way.
%
% The supported backends are pdflatex, lualatex, (x)dvipdfmx (latex, xelatex
% and---starting in texlive 2021--lualatex)
@@ -180,12 +180,12 @@
% \begin{syntax}
% \cs{pdfmanagement_show:n} \Arg{resource path}
% \end{syntax}
-% This shows the content of the dictionary targetted by
+% This shows the content of the dictionary targeted by
% \Arg{resource path} in the log and on the terminal if possible.
%
% It is not reliable for page resources as these are filled at shipout.
%
-% It also doesn't show necessarly all the content.
+% It also doesn't show necessarily all the content.
% For example most backends add automatically
% entries to the Info dictionary.
% \end{function}
@@ -207,7 +207,7 @@
% can't be removed (but should ever a use case appear it could be added).
% \end{function}
%
-% \subsection{Description of the resource pathes}
+% \subsection{Description of the resource paths}
% \subsubsection{Info: The Info dictionary}
% \begin{NOTE}{UF}
% path: Info
@@ -367,7 +367,7 @@
% pages of different sizes. But you must be careful with the values.
% If you set e.g. with pdflatex \cs{pdfpageheight} to 300bp you get a mediabox of
% |0 0 595 300|, but pdflatex measure from the top and will also move
-% the reference point up, so effectivly
+% the reference point up, so effectively
% you get the \emph{upper} third of the page. If you set the \texttt{/MediaBox}
% to |0 0 595 300| with \cs{pdfmanagement_add:nnn} you get the \emph{lower} third.
% In general it is better to use only the primitive commands to avoid confusing
@@ -398,7 +398,7 @@
% \cs{pdfmanagement_add:nnn} \{Page/Resources/\meta{resource}\} \Arg{name} \Arg{value}
% \end{syntax}
% Adds |/|\meta{name} \meta{value} to the page resource \meta{resource}.
-% \meta{resource} can be |ExtGState|, |ColorSpace|, |Pattern| oder |Shading|.
+% \meta{resource} can be |ExtGState|, |ColorSpace|, |Pattern| or |Shading|.
% The values are always stored globally. The content is written to the pdf
% at the end of the compilation, so values can be added until then.
% \meta{name} should be a valid pdf name without the leading slash,
@@ -434,7 +434,7 @@
% Entries to the top level of the catalog can be added with\\
% |\pdfmanagement_add:nnn {Catalog}|\Arg{Name}\Arg{Value}.
% Entries to subdictionaries by using in the first
-% argument one of the pathes described later.
+% argument one of the paths described later.
% The entries in the catalog have varying requirements regarding the
% PDF management. Some entries (like \texttt{/Lang}) are simple values
% where new values should
@@ -495,7 +495,7 @@
% \par\medskip
%
% \paragraph{Simple entries in subdictionaries of the catalog}
-% The following resource pathes have been predeclared and allow to
+% The following resource paths have been predeclared and allow to
% add values to the respective subdictionaries of the catalog. The
% names of the dictionaries follow the naming and location of the dictionaries
% in the PDF reference.
@@ -632,7 +632,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfmanagement}{2024-08-17}{0.96j}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -824,7 +824,7 @@
\pdfdict_if_exist:nTF { g__pdf_Core/#1 }
{
\cs_if_exist:cTF
- { @@_handler/#1/?_gput:nn } %general, name independant handler
+ { @@_handler/#1/?_gput:nn } %general, name independent handler
{ \use:c {@@_handler/#1/?_gput:nn} {#2} {#3} }
{
\cs_if_exist:cTF
@@ -862,7 +862,7 @@
\pdfdict_if_exist:nTF { g__pdf_Core/#1 }
{
\cs_if_exist:cTF
- { @@_handler/#1/?_gremove:n } %general, name independant handler
+ { @@_handler/#1/?_gremove:n } %general, name independent handler
{ \use:c {@@_handler/#1/?_gremove:n} {#2} }
{
\cs_if_exist:cTF
@@ -899,7 +899,7 @@
\cs_new_protected:Npn \@@_show:Nn #1#2
{
\cs_if_exist:cTF
- { @@_handler/#2/?_show: } %general, name independant handler
+ { @@_handler/#2/?_show: } %general, name independent handler
{ \use:c {@@_handler/#2/?_show:} }
{
\prop_if_exist:cTF { \__kernel_pdfdict_name:n { g__pdf_Core/#2 } }
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 59b1627594..8f126de615 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 ff5483ca69..a6d31a1e63 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -205,6 +205,10 @@
% \item[|no_CharSet|] CharSet is deprecated is pdf 2.0 and should not
% be used in A-4. l3pdfmeta will therefore suppress it for the
% engines pdftex and luatex (the other engines have no suitable option)
+% \item[|omit_CID|] This avoids with PDF/A-2 and newer a failure
+% because of with missing CID identifications
+% (e.g. from rule ISO 19005-2:2011, Clause: 6.2.11.4.2)
+% It has only with luatex an effect.
% \item[|Trailer_no_Info|] The \texttt{Info} dictionary
% has been deprecated since quite some time. Metadata should be set with
% XMP-data instead. In PDF A-4 now the \texttt{Info} dictionary
@@ -432,7 +436,7 @@
% User data should normally be declared in the preamble (or even in the
% |\DocumentMetadata| command), and consist of rather simple text; |&| can be entered
% as |\&| (but directly |&| will normally work too),
-% babel shorthands should not be used. Some datas are interpreted as comma lists,
+% babel shorthands should not be used. Some data are interpreted as comma lists,
% in this cases commas which are part of the text should be protected by braces.
% In some cases a text in brackets like |[en]| is interpreted as language tag,
% if they are part of a text they should be protected by braces too.
@@ -600,7 +604,7 @@
% This add a PDF declaration with the required |conformsTo| property to the XMP metadata.
% \meta{uri} should not be empty and is a URI specifying
% the standard or profile referred to by the PDF
-% Declaration. If the uri contains a hash, use \cs{c_hash_str} to excape it
+% Declaration. If the uri contains a hash, use \cs{c_hash_str} to escape it
% and use the \texttt{e} variant to expand it.
% \end{function}
%
@@ -627,7 +631,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfmeta}{2024-08-17}{0.96j}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -814,7 +818,9 @@
\pdfmeta_standard_verify:nF { Trailer_no_Info }
{ \__pdf_backend_omit_info:n {1} }
\pdfmeta_standard_verify:nF { no_CharSet }
- { \__pdf_backend_omit_charset:n {1} }
+ { \__pdf_backend_omit_charset:n {1} }
+ \pdfmeta_standard_verify:nF { omit_CID }
+ { \__pdf_backend_omit_cidset:n {1} }
\pdfmeta_standard_verify:nnF { min_pdf_version }
{ \pdf_version: }
{ \msg_warning:nneee {pdf}{wrong-pdfversion}
@@ -930,7 +936,9 @@
{ embed_content}
\prop_gput:cnn
{ g_@@_standard_pdf/A-2B_prop }{max_pdf_version}{1.7}
-%A-2u ==============
+\prop_gput:cnn
+ { g_@@_standard_pdf/A-2B_prop }{omit_CID}{}
+ %A-2u ==============
\prop_new:c { g_@@_standard_pdf/A-2U_prop }
\prop_gset_eq:cc
{ g_@@_standard_pdf/A-2U_prop }
@@ -1177,7 +1185,7 @@
% The commands embed the profile, and write the dictionary and add it to
% the catalog. The first command should perhaps be moved to l3color
% as it needs such profiles too. We used named objects so that we can
-% check if the profile is already there. This is not full proof if pathes are
+% check if the profile is already there. This is not foolproof if paths are
% used.
% \begin{macrocode}
\cs_new_protected:Npn \@@_embed_colorprofile:n #1%#1 file name
@@ -1330,6 +1338,15 @@
_pdfstandard / UA-1 .code:n =
{
\AddToDocumentProperties [document]{pdfstandard-UA}{{1}{}}
+ \AddToHook{begindocument/before}
+ {
+ \pdf_version_compare:NnF < {2.0}
+ {
+ \msg_warning:nneee
+ {pdf}{wrong-pdfversion}
+ {\pdf_version:}{high}{UA-1}
+ }
+ }
},
% \end{macrocode}
% currently it is not possible to merge requirements - these need some thoughts as
@@ -1345,6 +1362,12 @@
{
\@@_xmp_wtpdf_accessibility_declaration:
\@@_xmp_wtpdf_reuse_declaration:
+ \pdf_version_compare:NnT < {2.0}
+ {
+ \msg_warning:nneee
+ {pdf}{wrong-pdfversion}
+ {\pdf_version:}{low}{UA-2}
+ }
}
},
xmp .choice:,
@@ -1531,7 +1554,7 @@
%
% \begin{variable}{\l_@@_xmp_currentdate_tl,\l_@@_xmp_currentdate_seq}
% The tl var contains the date of the log-file in PDF format,
-% the seq the result splitted with the regex.
+% the seq the result split with the regex.
% \begin{macrocode}
\tl_new:N \l_@@_xmp_currentdate_tl
\seq_new:N \l_@@_xmp_currentdate_seq
@@ -1542,7 +1565,7 @@
% This checks a document property and if empty uses the current date.
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_date_get:nNN #1 #2 #3
- %#1 property, #2 tl var with PDF date, #3 seq for splitted date
+ %#1 property, #2 tl var with PDF date, #3 seq for split date
{
\tl_set:Ne #2 { \GetDocumentProperties{#1} }
\tl_if_blank:VTF #2
@@ -2103,6 +2126,12 @@
{Integer}
{internal}
{Year~of~standard}
+\@@_xmp_property_new:nnnnn
+ {pdfaid}
+ {rev}
+ {Integer}
+ {internal}
+ {Revision~year~of~standard}
% \end{macrocode}
% \end{macro}
% \item[pdfuaid] here we need (?) to declare the property
@@ -2304,7 +2333,7 @@
% that may not be related to PDF technology. Their specification is for example
% described in \url{https://pdfa.org/wp-content/uploads/2019/09/PDF-Declarations.pdf}.
%
-% If declarations are added to the XMP-metadata they need (for pdf/A compliancy) a
+% If declarations are added to the XMP-metadata they need (for pdf/A compliance) a
% schema declaration. We do not add it by default but define here a command to enable
% it. (This can be done in the document preamble as xmp is built only at the end.)
%
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index e9aedc14cf..9a5de67174 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 cc0f14d81b..e6d655c96e 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -235,7 +235,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdftools}{2024-08-17}{0.96j}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -329,7 +329,7 @@
% ==========
% uri: utf16BE/string seems not to work, hex neither
% utf8/string works but not on macos,
-% so a specfic utf8/url variant is needed
+% so a specific utf8/url variant is needed
% ==========
% "input" is utf8 for pdftex, empty (native) for unicode engine
% commands to output literal strings (...)
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index 8710b7d376..88abccd671 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 d567f42cb2..4daa9d2b83 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -132,7 +132,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2024-05-23}{0.96i}
+\ProvidesExplPackage{l3pdfxform}{2024-08-17}{0.96j}
{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 3e4df1cbe1..2debc15494 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 b6d1b2f45b..3d29afa58b 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -220,7 +220,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2024-05-23}{0.96i}
+\ProvidesExplPackage{ltdocinit}{2024-08-17}{0.96j}
{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 e4c849da16..7bfd5bb36b 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 6bd57345df..148d15ce95 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -63,7 +63,7 @@
% |debug={firstaidoff={name1,name2,...},...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2024-05-23}{0.96i}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2024-08-17}{0.96j}
{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 39a84280bc..8c4d7d88cb 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 6dc445b7ff..af4520b433 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.96i, released 2024-05-23}
+% \date{Version 0.96j, released 2024-08-17}
%
% \maketitle
% \begin{documentation}
@@ -394,7 +394,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2024-05-23}{0.96i}
+\ProvidesExplPackage{pdfmanagement-testphase}{2024-08-17}{0.96j}
{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-05-23}{0.96i}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2024-08-17}{0.96j}
{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 3c816a8e5c..f2dc6282db 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 cc220aa313..5fce11f19d 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-05-23 v0.96i patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2024-08-17 v0.96j patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/photobook/photobook.cls b/macros/latex/contrib/photobook/photobook.cls
index 9e93d91b00..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.30}
-\edef\photobook@FILEDATE{2024-07-18}
+\edef\photobook@FILEVERSION{v0.1.31}
+\edef\photobook@FILEDATE{2024-07-19}
%% \documentclass{ltxdoc}
@@ -921,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}
@@ -2519,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%
@@ -2528,7 +2543,7 @@
\includegraphics[%
keepaspectratio,
width=\photobook@imagecell@scale\dimexpr
- + \cellwidth
+ \cellwidth
- \photobook@imagecell@clearance@left
- \photobook@imagecell@clearance@right \relax]{#3}}%
\else%
@@ -2536,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%
@@ -4852,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...
@@ -5696,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 3e31d7fedc..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/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/reptheorem/reptheorem.dtx b/macros/latex/contrib/reptheorem/reptheorem.dtx
index d96f740fec..b0f537af97 100644
--- a/macros/latex/contrib/reptheorem/reptheorem.dtx
+++ b/macros/latex/contrib/reptheorem/reptheorem.dtx
@@ -12,7 +12,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-% The Current Maintainer of this work is Jesse Sraat.
+% The Current Maintainer of this work is Jesse Straat.
%
% This work consists of the main file reptheorem.dtx
% and the derived files
@@ -89,7 +89,7 @@ License: [LPPL1.3c](https://www.latex-project.org/lppl.txt)
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: reptheorem 2024-03-27 v1.0}
+\Msg{* Package: reptheorem 2024-08-12 v1.1}
\Msg{************************************************************************}
\keepsilent
@@ -109,7 +109,7 @@ version 2008 or later.
This work has the LPPL maintenance status `maintained'.
-The Current Maintainer of this work is Jesse Sraat.
+The Current Maintainer of this work is Jesse Straat.
This work consists of the main file reptheorem.dtx
and the derived files
@@ -246,9 +246,9 @@ colorlinks,
% environment \DescribeEnv{makethm} |makethm| is
% used for.
% \begin{verbatim}
-% \begin{makethm}{theorem}{thm:Yoneda}[Yoneda Lemma]{
+% \begin{makethm}{theorem}{thm:Yoneda}[Yoneda Lemma]
% For \(F\colon \mathcal{C}\to \mathbf{Set}\) a functor,
-% \([\mathcal{C}^\mathrm{op},\mathbf{Set}](YA, F) \cong F(A)\)%
+% \([\mathcal{C}^\mathrm{op},\mathbf{Set}](YA, F) \cong F(A)\)
% for all objects \(A\) in \(\mathcal{C}\).
% \end{makethm}
% \end{verbatim}
@@ -271,33 +271,33 @@ colorlinks,
% the theorem is proven at a later point, or we want to
% ``tease'' the reader with a powerful theorem that will be
% proven later in the chapter. To do this, we use the
-% \DescribeMacro{repthm} command, as follows.
+% \DescribeMacro{\repthm} command, as follows.
% \begin{verbatim}
-% \repthm{theorem}{thm:Yoneda}
+% \repthm{thm:Yoneda}
% \end{verbatim}
% This outputs the theorem again.
-% \repthm{theorem}{thm:Yoneda}
+% \repthm{thm:Yoneda}
% The label of this theorem is a |\ref|, and automatically
% links to the original theorem statement.\par
% If the original theorem statement exists in a different
% file, or has not been created yet, we can add a placeholder
% alt text to the |\repthm| as an optional argument, which
% only displays if the theorem is undefined. For example,
-% |\repthm{theorem}{thm:foo}[bar]| returns
-% \repthm{theorem}{thm:foo}[bar]
+% |\repthm{thm:foo}[bar]| returns
+% \repthm{thm:foo}[bar]
% If we do the same without providing an alt text, we get
-% \repthm{theorem}{thm:foo}
+% \repthm{thm:foo}
% together with a warning.\par
% Since we're using the |.aux| file, it is possible
% to replicate a theorem before it is stated. For example,
% \begin{verbatim}
-% \repthm{theorem}{thm:later}
+% \repthm{thm:later}
% \begin{makethm}{theorem}{thm:later}[Later]
% Alligator!
% \end{makethm}
% \end{verbatim}
% returns
-% \repthm{theorem}{thm:later}
+% \repthm{thm:later}
% \begin{makethm}{theorem}{thm:later}[Later]
% Alligator
% \end{makethm}
@@ -352,7 +352,7 @@ colorlinks,
% \section{Source code}
% \begin{macrocode}
%<*package>
-\ProvidesPackage{reptheorem}[2024-03-27 v1.0 Reptheorem package]
+\ProvidesPackage{reptheorem}[2024-08-12 v1.1 Reptheorem package]
% \end{macrocode}
%
% \begin{macro}{\theoremfile}
@@ -387,6 +387,7 @@ colorlinks,
% \end{macro}
%
% \begin{environment}{makethm}
+% \changes{v1.1}{2024/05/03}{Now saves theorem environment type, breaking backwards compatibility}
% On to defining the actual theorems to be saved.
% \begin{macrocode}
\NewDocumentEnvironment{makethm}{ m m o +b }
@@ -403,15 +404,19 @@ colorlinks,
}
#4
\end{#1}
+ \expandafter\gdef\csname thmtype@#2\endcsname{#1}
\expandafter\long\expandafter\gdef\csname thm@#2\endcsname{#4}%
\expandafter\gdef\csname thmdesc@#2\endcsname{#3}%
% Saving parameters to aux file
\long\gdef\@thmoutput{%
+ \string\expandafter\string\gdef\noexpand%
+ \csname thmtype@#2\string\endcsname{#1}%
+ ^^J%
\string\expandafter\string\long\string\expandafter%
\string\gdef\noexpand\csname thm@#2\string\endcsname{#4}%
^^J%
- \string\expandafter\string\expandafter%
- \string\gdef\noexpand\csname thmdesc@#2\string\endcsname{#3}%
+ \string\expandafter\string\gdef\noexpand%
+ \csname thmdesc@#2\string\endcsname{#3}%
}
\write\@auxout{\@thmoutput}
\if\reptheorem@theoremfile\relax
@@ -426,53 +431,60 @@ colorlinks,
% \end{environment}
%
% \begin{macro}{\repthm}
+% \changes{v1.1}{2024/05/03}{Now saves theorem environment type, breaking backwards compatibility}
% To repeat a theorem, use the |\repthm| command.
% The type of theorem is not saved, so it is necessary to
% respecify it each time a theorem is repeated.
% \begin{macrocode}
\newcounter{old@counter}
-\NewDocumentCommand{\repthm}{ m m +o }{
- % m: the type of theorem environment
+\NewDocumentCommand{\repthm}{ m +o }{
% m: the name of the theorem
% o: alt text
\begingroup
- \setcounter{old@counter}{\value{#1}}
+ % Check if thmtype is given
+ \ifcsname thmtype@#1\endcsname%
+ \expandafter\let\expandafter\@@thmtype\csname thmtype@#1\endcsname%
+ \else%
+ \def\@@thmtype{theorem}%
+ \fi%
+ %
% Save theorem counter so we don't increase it
- \def\thetheorem{\ref{#2}}
+ \setcounter{old@counter}{\value{\@@thmtype}}
+ \def\thetheorem{\ref{#1}}
\let\@@theoremnotdefined\relax
%
- \ifcsname thm@#2\endcsname% Check if theorem is even defined
+ \ifcsname thm@#1\endcsname% Check if theorem is even defined
% Theorem is defined
- \expandafter\edef\expandafter\@@thmdesc{\csname thmdesc@#2\endcsname}%
- \expandafter\let\expandafter\@@thm\csname thm@#2\endcsname
+ \expandafter\edef\expandafter\@@thmdesc{\csname thmdesc@#1\endcsname}%
+ \expandafter\let\expandafter\@@thm\csname thm@#1\endcsname
% Output theorem
\IfValueTF{\@@thmdesc}{% Check if theorem has name
- \begin{#1}[\@@thmdesc]
+ \begin{\@@thmtype}[\@@thmdesc]
\@@thm
- \end{#1}
+ \end{\@@thmtype}
}{% No optionals
- \begin{#1}
+ \begin{\@@thmtype}
\@@thm
- \end{#1}
+ \end{\@@thmtype}
}
\else
% Theorem undefined
- \IfValueTF{#3}{
- \begin{#1}
- #3
- \end{#1}
+ \IfValueTF{#2}{
+ \begin{\@@thmtype}
+ #2
+ \end{\@@thmtype}
}{% No theorem or alt text provided: throw warning
- \begin{#1}
- \end{#1}
+ \begin{\@@thmtype}
+ \end{\@@thmtype}
\PackageWarning{reptheorem}{%
- Theorem #2 not defined; rebuild your project.
+ Theorem #1 not defined; rebuild your project.
If the issue persists, create the theorem using
\begin{makethm} or consider adding alt text to \repthm
using the optional parameter%
}
}
\fi
- \setcounter{#1}{\value{old@counter}}
+ \setcounter{\@@thmtype}{\value{old@counter}}
% Reset theorem counter back to original
\endgroup
}
@@ -483,4 +495,4 @@ colorlinks,
% \begin{macrocode}
%</package>
% \end{macrocode}
-%\Finale
+%\Finale \ No newline at end of file
diff --git a/macros/latex/contrib/reptheorem/reptheorem.ins b/macros/latex/contrib/reptheorem/reptheorem.ins
index c85a0d2ff3..be179b4d9a 100644
--- a/macros/latex/contrib/reptheorem/reptheorem.ins
+++ b/macros/latex/contrib/reptheorem/reptheorem.ins
@@ -27,7 +27,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: reptheorem 2024-03-27 v1.0}
+\Msg{* Package: reptheorem 2024-08-12 v1.1}
\Msg{************************************************************************}
\keepsilent
diff --git a/macros/latex/contrib/reptheorem/reptheorem.pdf b/macros/latex/contrib/reptheorem/reptheorem.pdf
index 31caef6e5d..cb574aa07c 100644
--- a/macros/latex/contrib/reptheorem/reptheorem.pdf
+++ b/macros/latex/contrib/reptheorem/reptheorem.pdf
Binary files differ
diff --git a/macros/latex/contrib/rpgicons/README.md b/macros/latex/contrib/rpgicons/README.md
index e889b70b03..6de01a2586 100644
--- a/macros/latex/contrib/rpgicons/README.md
+++ b/macros/latex/contrib/rpgicons/README.md
@@ -1,4 +1,4 @@
-![Version 1.8.3](https://img.shields.io/badge/version-1.8.3-blue)
+![Version 1.8.4](https://img.shields.io/badge/version-1.8.4-blue)
<img width="200" alt="rpgicons-example" src="https://github.com/jasperhabicht/rpgicons/assets/6378801/81a1d0aa-7a4f-4f83-bbdc-3bc3332023b2" />
diff --git a/macros/latex/contrib/rpgicons/rpgicons-doc.pdf b/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
index 7fa0c036d7..dc0bce82b9 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
+++ b/macros/latex/contrib/rpgicons/rpgicons-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/rpgicons/rpgicons-doc.tex b/macros/latex/contrib/rpgicons/rpgicons-doc.tex
index 7eef59a1a4..9aebfdcd52 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-doc.tex
+++ b/macros/latex/contrib/rpgicons/rpgicons-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\rpgiconsfileversion{1.8.3}
-\def\rpgiconsfiledate{15 May 2024}
+\def\rpgiconsfileversion{1.8.4}
+\def\rpgiconsfiledate{8 August 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -262,6 +262,7 @@
\changes{v1.8.0}{2024/03/24}{Unified wrapper to load either package variant.}
\changes{v1.8.2}{2024/04/28}{Roll dice syntax for PGF variant.}
\changes{v1.8.3}{2024/05/15}{Minor compatibility fix. Example of how to use pics added to ducumentation.}
+\changes{v1.8.3}{2024/05/15}{Bug fix in evocation spellschool shape. Unification of frames in PGF and L3 variants.}
\begin{document}
diff --git a/macros/latex/contrib/rpgicons/rpgicons-l3.sty b/macros/latex/contrib/rpgicons/rpgicons-l3.sty
index 3103502bf3..cc33d61bf2 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-l3.sty
+++ b/macros/latex/contrib/rpgicons/rpgicons-l3.sty
@@ -10,8 +10,8 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {rpgicons-l3} {2024-05-15} {1.8.3}
- {rpg Icons Package (l3 Variant)}
+\ProvidesExplPackage {rpgicons-l3} {2024-08-08} {1.8.4}
+ {RPG Icons Package (l3 Variant)}
\bool_new:N \l__rpgicons_unicode_mode_bool
\sys_if_engine_luatex:T {
@@ -792,22 +792,22 @@
\draw_path_lineto:n { 0cm , -.425cm }
\draw_path_moveto:n { -.425cm , 0cm }
\draw_path_lineto:n { .425cm , 0cm }
- \draw_path_moveto:n { \draw_point_polar:nnn { 30 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 30 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 60 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 60 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 120 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 120 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 150 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 150 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 210 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 210 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 240 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 240 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 300 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 300 } { .4cm} }
- \draw_path_moveto:n { \draw_point_polar:nnn { 330 } { .325cm } { .225cm } }
- \draw_path_lineto:n { \draw_point_polar:nn { 330 } { .4cm} }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 30 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 30 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 60 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 60 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 120 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 120 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 150 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 150 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 210 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 210 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 240 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 240 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 300 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 300 } }
+ \draw_path_moveto:n { \draw_point_polar:nnn { .325cm } { .225cm } { 330 } }
+ \draw_path_lineto:n { \draw_point_polar:nn { .4cm } { 330 } }
}
\cs_new:Npn \rpgicons_draw_shape_illusion: {
@@ -1546,7 +1546,7 @@
}
\cs_new:Npn \rpgicons_draw_frame_damage: {
- \draw_path_circle:nn { 0cm , 0cm } { .45cm }
+ \draw_path_circle:nn { 0cm , 0cm } { .5cm }
}
% USER COMMANDS
@@ -1910,7 +1910,7 @@
}
\cs_if_exist:NF \spell { \cs_new_eq:NN \spell \RPGIconsSpell }
-\NewDocumentCommand { \RPGIconsSpellschool } { O{positive} m O{} } {
+\NewDocumentCommand { \RPGIconsSpellschool } { O{negative} m O{} } {
\group_begin:
\keys_set_groups:nne { rpgicons / local ~ options } { extra } {#3}
\keys_set:ne { rpgicons / local ~ options } { \clist_use:Nn \l_rpgicons_types_every_spellschool_style_clist { , } }
diff --git a/macros/latex/contrib/rpgicons/rpgicons-pgf.sty b/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
index 0e0c037187..dd75a7b4c0 100644
--- a/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
+++ b/macros/latex/contrib/rpgicons/rpgicons-pgf.sty
@@ -11,7 +11,7 @@
% This work has the LPPL maintenance status `maintained'.
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{rpgicons-pgf}[2024-05-15 rpg Icons Package (PGF Variant) (1.8.3)]
+\ProvidesPackage{rpgicons-pgf}[2024-08-08 RPG Icons Package (PGF Variant) (1.8.4)]
% provide pics option
\newif\ifrpgicons@pics\rpgicons@picsfalse
diff --git a/macros/latex/contrib/rpgicons/rpgicons.sty b/macros/latex/contrib/rpgicons/rpgicons.sty
index 8079232a4f..63a5fa2fc0 100644
--- a/macros/latex/contrib/rpgicons/rpgicons.sty
+++ b/macros/latex/contrib/rpgicons/rpgicons.sty
@@ -10,8 +10,8 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {rpgicons} {2024-05-15} {1.8.3}
- {rpg Icons Package}
+\ProvidesExplPackage {rpgicons} {2024-08-08} {1.8.4}
+ {RPG Icons Package}
\bool_new:N \l__rpgicons_use_legacy_variant_bool
\clist_new:N \l__rpgicons_forwarded_options_clist
diff --git a/macros/latex/contrib/se2thesis/CHANGELOG.md b/macros/latex/contrib/se2thesis/CHANGELOG.md
index fa60e6d1b0..2d81b57f6f 100644
--- a/macros/latex/contrib/se2thesis/CHANGELOG.md
+++ b/macros/latex/contrib/se2thesis/CHANGELOG.md
@@ -7,6 +7,36 @@ and this project adheres to
## [Unreleased]
+## [v4.3.2] – 2024–08–12
+
+### Fixed
+
+- Prevent line break in the lower back title if one added a manual line break
+ using `\\` to the title in order to layout it properly for the front title
+ page.
+
+## [v4.3.1] – 2024–07–31
+
+### Added
+
+- Add a hint on the usage of `scrreprt` as the base class if one wants to have
+ numbered bibliography or appendices.
+- Add section in the documentation on the usage of babel, its shorthands for
+ German and English to re-enable hyphenation of compound words, and the
+ conflicting package `hyphenat`.
+
+### Fixed
+
+- Fix list of implicitly loaded packages.
+
+## [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
@@ -237,7 +267,10 @@ These changes might be breaking changes!
### Added
- First official release
-[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.2.0...HEAD
+[Unreleased]: https://github.com/se2p/se2thesis/compare/v4.3.2...HEAD
+[v4.3.2]: https://github.com/se2p/se2thesis/compare/v4.3.2...v4.3.1
+[v4.3.1]: https://github.com/se2p/se2thesis/compare/v4.3.1...v4.3.0
+[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
diff --git a/macros/latex/contrib/se2thesis/se2colors.dtx b/macros/latex/contrib/se2thesis/se2colors.dtx
index 09e6523a9e..7b0b5d81f7 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-06-25} {4.2.0}
+\ProvidesExplPackage {se2colors} {2024-08-12} {4.3.2}
{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 bfc3210cc0..5ede585b75 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-06-25} {4.2.0}
+\ProvidesExplPackage {se2fonts} {2024-08-12} {4.3.2}
{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 4c915c3eb5..3ad8d99b0a 100644
--- a/macros/latex/contrib/se2thesis/se2packages.dtx
+++ b/macros/latex/contrib/se2thesis/se2packages.dtx
@@ -446,6 +446,8 @@
% \bibitem{DBLP:journals/sttt/BeyerLW19} Dirk Beyer, Stefan Löwe, and Philipp
% Wendler: \emph{Reliable benchmarking: requirements and solutions}. STTT
% 21(1): 1--29 (2019)
+% \bibitem{Knu86} Donald E. Knuth: \emph{The \TeX{}book}. Addison-Wesley
+% (1986)
% \end{thebibliography}
%
%
@@ -470,7 +472,7 @@
%
% Identify the package and give the overall version information.
% \begin{macrocode}
-\ProvidesExplPackage {se2packages} {2024-06-25} {4.2.0}
+\ProvidesExplPackage {se2packages} {2024-08-12} {4.3.2}
{Supporting packages for the se2thesis bundle}
% \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 703086bd37..4d224fe981 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.dtx b/macros/latex/contrib/se2thesis/se2thesis.dtx
index 0a6705aaa5..6d29f97482 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.
@@ -74,7 +74,7 @@
% The bundle itself consists of several \LaTeX{} classes and packages
% that also allow reuse of various parts of it.
% Its main class is the \pkg{se2thesis} document class,
-% an extension of the \KOMAScript{} |scrreprt| document class.
+% an extension of the \KOMAScript{} |scrbook| document class.
% The packages \pkg{se2colors} and \pkg{se2fonts} provide necessary
% colour and font settings for the \pkg{se2thesis} class;
% the \pkg{se2packages} allows to load several recommended packages~(see
@@ -186,9 +186,9 @@
% \pkg{expl3}, \pkg{l3keys2e} in case one uses a \LaTeX{} kernel from before
% 2022--06--01, \pkg{graphicx}, \pkg{translations}, \KOMAScript, \pkg{xcolor},
% \pkg{ifthen}, as well as \pkg{fontspec}, \pkg{unicode-math},
-% and \pkg{libertinus-otf} if one uses \LuaTeX{};
+% \pkg{inconsolata-nerd-font} and \pkg{libertinus-otf} if one uses \LuaTeX{};
% for \pdfLaTeX{} we load \pkg{fontenc}, \pkg{libertinus-type1}, and
-% \pkg{AnonymousPro} instead of the latter three.
+% \pkg{inconsolata} instead of the latter three.
% Furthermore, we load \pkg{microtype};
% when using \LuaTeX{}, we also load \pkg{lua-widow-control} and \pkg{selnolig}.
%
@@ -220,6 +220,11 @@
% \emph{Note:} you cannot use \cls{scrartcl} because it does not provide
% the required |chapter| sectioning.
% Default is |scrbook|.
+%
+% Please note that if you want to have the bibliography numbered or use an
+% appendix with alpha-numbering (A, B, \dots), you want to explicitly use
+% |scrreprt| as the base class; for some (currently unknown) reason this does
+% not work with the default |scrbook|.
% \end{function}
% \begin{function}{paper}
% \begin{syntax}
@@ -243,9 +248,9 @@
% \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 natural philosophy.
% \end{function}
@@ -307,7 +312,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 +442,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]
@@ -540,6 +545,48 @@
% question;
% however, this can also be arbitrary text.
%
+% \subsection{Language Support and Hyphenation}\label{sec:doct-se2thesis-lang}
+%
+% The study regulations of the University of Passau require students to write
+% their thesis in either German or English. For both cases it is recommended
+% to load a package for the correct hyphenation patters. Usually, one can
+% either choose between the \pkg{babel} and \pkg{polyglossia} package. For a
+% detailed discussion in the differences and which to choose, please use the
+% search engine of your choice.
+%
+% For this documentation we stick with the \pkg{babel} package, which is often
+% considered to be the standard package.
+%
+% If you write your thesis in German, load \pkg{babel} in your preamble like
+% follows
+% \begin{verbatim}
+% \usepackage[ngerman]{babel}
+% \end{verbatim}
+% For a thesis in English, you have to also load the German variant plus the
+% English one as the default (see \cref{sec:doc-se2thesis-authorship} for an
+% explanation)
+% \begin{verbatim}
+% \usepackage[ngerman,main=UKenglish]{babel}
+% \end{verbatim}
+%
+% Note that by default, \LaTeX{} does not provide hyphenation for compound
+% words, which is explained in the \TeX{} Book~\cite[p.~454]{Knu86} and a
+% StackExchange post\footnote{\href{https://tex.stackexchange.com/a/63234/14622}{https://tex.stackexchange.com/a/63234/14622}}. The \pkg{babel} package
+% provides a way (called shorthands) for German, which allows to reenable
+% hyphenation for compound words (as they are common on German). These
+% shorthands are by default not available for English, but they can easily be
+% added by adding
+% \begin{verbatim}
+% \useshorthands{"}
+% \addto\extrasUKenglish{\languageshorthands{ngerman}}
+% \end{verbatim}
+% after loading \pkg{babel} with the aforementioned \cmd{\usepackage}
+% macro\footnote{see https://tex.stackexchange.com/a/298844/14622}.
+%
+% \emph{Please note:} loading the \pkg{hyphenat} package is strongly discouraged
+% by the \pkg{se2thesis} maintainer because it conflicts with the \env{hyp}
+% environment provided by \pkg{se2thesis} (see \cref{sec:doc-se2thesis-summaries}).
+%
% \end{documentation}
%
% \clearpage
@@ -607,7 +654,7 @@
%
% Identify the class and give the overall version number.
% \begin{macrocode}
-\ProvidesExplClass {se2thesis} {2024-06-25} {4.2.0}
+\ProvidesExplClass {se2thesis} {2024-08-12} {4.3.2}
{A thesis class for the Chair of Software Engineering II}
% \end{macrocode}
%
@@ -1246,7 +1293,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.
@@ -1362,12 +1409,18 @@
% \end{macrocode}
%
% \begin{macro}{\@lowertitleback}
-% Afterwards, override the definition of \cs{@lowertitleback}.
+% Afterwards, override the definition of \cs{@lowertitleback}. To prevent
+% line breaks in the title (that might be necessary to layout it properly on
+% the front title page), we place a group around \cs{@title} and temporarily
+% redefine \cmd{\\} to do nothing.
% \begin{macrocode}
\renewcommand*{\@lowertitleback}{%
\group_begin:
\noindent\textbf{\@author}:\\
- \emph{\@title}\\
+ \group_begin:
+ \let\\\relax
+ \emph{\@title}
+ \group_end:\\
\tl_if_eq:NnT \l_@@_thesis_type_tl { bachelor }
{ \GetTranslation{Bachelor-thesis},~ }
\tl_if_eq:NnT \l_@@_thesis_type_tl { master }
@@ -1678,7 +1731,7 @@
% We provide the following English translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{English}{se2translations}[2024/06/25]
+\ProvideDictionaryFor{English}{se2translations}[2024/08/12]
\ProvideDictTranslation{abstract}{abstract}
\ProvideDictTranslation{Abstract}{Abstract}
\ProvideDictTranslation{acknowledgement}{acknowledgement}
@@ -1703,10 +1756,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}
@@ -1729,7 +1782,7 @@
% We provide the following German translations.
%
% \begin{macrocode}
-\ProvideDictionaryFor{German}{se2translations}[2024/06/25]
+\ProvideDictionaryFor{German}{se2translations}[2024/08/12]
\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 84789f2fc3..e37c07abf4 100644
--- a/macros/latex/contrib/se2thesis/se2thesis.pdf
+++ b/macros/latex/contrib/se2thesis/se2thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/sillypage/sillypage-example.pdf b/macros/latex/contrib/sillypage/sillypage-example.pdf
index 3d8180932b..5fa9dd3048 100644
--- a/macros/latex/contrib/sillypage/sillypage-example.pdf
+++ b/macros/latex/contrib/sillypage/sillypage-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/sillypage/sillypage.dtx b/macros/latex/contrib/sillypage/sillypage.dtx
index 86982db30d..922d8b6a66 100644
--- a/macros/latex/contrib/sillypage/sillypage.dtx
+++ b/macros/latex/contrib/sillypage/sillypage.dtx
@@ -19,8 +19,8 @@
% by Phelype Oleinik, Paulo Cereda, samcarter and Ulrike Fischer.
%
%<*package>
-\def\sillypageDate{2023-03-04}
-\def\sillypageVersion{1.6}
+\def\sillypageDate{2024-07-23}
+\def\sillypageVersion{1.7}
%</package>
%<*driver>
\documentclass[a4paper,full]{l3doc}
@@ -261,9 +261,13 @@
\newcommand*\@silly { \@@_step:n }
\cs_new:Npn \@@_step:n #1
{
+ \UseTaggingSocket{@@/begin}{#1}
+ \SuspendTagging{@@}
\@@_step_aux:eN
{ \int_eval:n { \int_mod:nn { #1-1 } { \silly@steps } +1 } }
\c_false_bool
+ \ResumeTagging{@@}
+ \UseTaggingSocket{@@/end}
}
% \end{macrocode}
% \end{macro}
@@ -280,8 +284,12 @@
\newcommand*\@sillynumeral { \@@_numeral:n }
\cs_new:Npn \@@_numeral:n #1
{
+ \UseTaggingSocket{@@/begin}{#1}
+ \SuspendTagging{@@}
\exp_args:Ne \str_map_function:nN
{ \int_to_base:nn {#1} { 12 } } \@@_numeral_aux:n
+ \ResumeTagging{@@}
+ \UseTaggingSocket{@@/end}
}
\cs_new:Npn \@@_numeral_aux:n #1
{ \@@_step_aux:eN { "\char_uppercase:N #1+1 } \c_true_bool }
@@ -289,6 +297,28 @@
% \end{macro}
% \end{macro}
% \end{macro}
+%
+% \subsection{Tagging Support}
+
+% \begin{macrocode}
+\NewSocket{tagsupport/@@/begin}{1}
+\NewSocket{tagsupport/@@/end}{0}
+\NewSocketPlug{tagsupport/@@/begin}{tagged}
+ {
+ \mode_leave_vertical:
+ \tag_mc_end_push:
+ \tag_struct_begin:n {tag=Span}
+ \tag_mc_begin:n {actualtext=#1}
+ }
+\NewSocketPlug{tagsupport/@@/end}{tagged}
+ {
+ \tag_mc_end:
+ \tag_struct_end:
+ \tag_mc_begin_pop:n{}
+ }
+\AssignSocketPlug{tagsupport/@@/begin}{tagged}
+\AssignSocketPlug{tagsupport/@@/end}{tagged}
+% \end{macrocode}
%
% \subsection{Internals}
%
diff --git a/macros/latex/contrib/sillypage/sillypage.pdf b/macros/latex/contrib/sillypage/sillypage.pdf
index 3efa13e7d7..60305403ac 100644
--- a/macros/latex/contrib/sillypage/sillypage.pdf
+++ b/macros/latex/contrib/sillypage/sillypage.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 1c81cd5e7a..e5e9b95b0d 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.20] - 2024-08-01
+
+### Fixed
+- Avoid rounding up when residual is exactly zero (see issue
+ [\#742](https://github.com/josephwright/siunitx/issues/742))
+
## [v3.3.19] - 2024-06-24
### Fixed
@@ -2120,7 +2126,8 @@ 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.19...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.20...HEAD
+[v3.3.20]: https://github.com/josephwright/siunitx/compare/v3.3.19...v3.3.20
[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
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 5f4841816e..95f55e6cac 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-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 2b87514375..4a7e2eb705 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -2980,7 +2980,13 @@
\str_case:nnF {#1}
{
{ down } { \use_i:nn }
- { up } { \use_ii:nn }
+ { up }
+ {
+ \str_if_eq:eeTF
+ {#2} { \prg_replicate:nn { \tl_count:n {#2} } { 0 } }
+ { \use_i:nn }
+ { \use_ii:nn }
+ }
}
{
\bool_lazy_or:nnTF
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index bd97dc5750..054d525a88 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -59,6 +59,9 @@
%
% \begin{documentation}
%
+% ^^A API documentation is given on a per-module basis:
+% ^^A see the siunitx-<module>.dtx files
+%
% \end{documentation}
%
% \begin{implementation}
@@ -121,7 +124,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2024-06-24} {3.3.19}
+\ProvidesExplPackage {siunitx} {2024-08-01} {3.3.20}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 9d1c9d36db..93a003d7f5 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 7c6e147f00..3c0231e5b4 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -414,7 +414,7 @@ mode.
\end{LaTeXdemo}
The second operation mode for the \cs{unit} macro is an \enquote{interpreted}
-system, Here, each unit, \acro{SI} multiple prefix and power is given a macro
+system. Here each unit, \acro{SI} multiple prefix and power is given a macro
name. These are entered in a method very similar to the reading of the unit
name in English.
\begin{LaTeXdemo}
@@ -1252,7 +1252,7 @@ font variant which does not feature them.
\DescribeOption{text-subscript-command}
\DescribeOption{text-superscript-command}
In most cases, the commands \cs{textsubscript} and \cs{textsuperscript} are
-appropriagte for creating sub- and superscript material in text mode. However,
+appropriate for creating sub- and superscript material in text mode. However,
when the \pkg{realscripts} package is loaded, it is possible that the output is
not as desired. These two commands are therefore available to allow tuning of
the results. They can also be used for non-standard effects, for example as
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/tablvar/README.md b/macros/latex/contrib/tablvar/README.md
index 565ed9c049..0be4d44111 100644
--- a/macros/latex/contrib/tablvar/README.md
+++ b/macros/latex/contrib/tablvar/README.md
@@ -6,8 +6,8 @@
- A complete and easy to use package for typesetting pretty tables of signs and variations according to French usage.
- The syntax is similar to that of the array environment and uses intuitive position commands.
- Arrows are automatically drawn (with PSTricks or TikZ).
-- Macros are provided for drawing double bars, single bars crossing the zeros, intervals where a function is not defined or for placing special values.
-- Several features of variations tables can be customized.
+- Macros are provided for drawing double bars, single bars crossing zero values, intervals where a function is not defined or for placing special values.
+- Many features of variations tables can be customized.
## Documentation
@@ -18,7 +18,7 @@ The documentation is in French.
## Installation
- run LaTeX on tablvar.ins, you obtain the file tablvar.sty,
-- if then you run XeLaTeX or LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive,
+- if then you run LaTeX + dvips + ps2pdf on tablvar.dtx you get the file tablvar.pdf which is also in the archive,
- put the files tablvar.sty and tablvar.pdf in your TeX Directory Structure.
diff --git a/macros/latex/contrib/tablvar/tablvar.dtx b/macros/latex/contrib/tablvar/tablvar.dtx
index afc47fc953..e39c2382f0 100644
--- a/macros/latex/contrib/tablvar/tablvar.dtx
+++ b/macros/latex/contrib/tablvar/tablvar.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2018-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+% Copyright (C) 2018-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%
% This file may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, either version 1.3 of this license
@@ -22,11 +22,11 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{tablvar}
- [2023/12/23 v2.0 .dtx tablvar file]
+ [2024/08/09 v2.1 Tables of signs and variations]
%</package>
%<*driver>
\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
+%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{lmodern}
@@ -38,10 +38,12 @@
\def\bbObrecht{\vrule\kern1pt\vrule} \let\bb\relax
\let\variations\relax
\usepackage{tkz-tab}
+\usepackage{pstricks}
+\usepackage{tableau}
\usepackage[pstricks]{tablvar}
\usepackage[style=french,font=fcm]{lgrmath} % pour un joli pi droit
-\usepackage{hyperref}
+\usepackage[hyperindex=false]{hyperref}
\usepackage{sectsty}
\usepackage{makecell}
\usepackage{spacingtricks}
@@ -58,6 +60,8 @@
\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
\allsectionsfont{\color{darkbrown}}
\hypersetup{%
+ bookmarksopen=true,
+ bookmarksopenlevel=2,
colorlinks,
linkcolor=blue,
citecolor=red,
@@ -76,7 +80,7 @@
%</driver>
% \fi
%
-% \CheckSum{752}
+% \CheckSum{828}
%
% \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
@@ -119,27 +123,21 @@
% \changes{v2.0}{16/12/2023}{Nouveau paramètre limsep}
% \changes{v2.0}{20/12/2023}{Macro bas et mil valables pour un nb quelconque de lignes}
% \changes{v2.0}{22/12/2023}{Macros @pos -> tv@pos, @@pos -> tv@@pos}
+% \changes{v2.1}{23/07/2024}{
+% - Calcul de hauteur automatique de la colonne de légende :
+% * nouveaux paramètres rowtopsep et rowbottomsep
+% * tv@saveheight -> tv@setheight
+% - option pstricks possible avec LuaLaTeX + luapstricks,
+% - amélioration du calcul de position de la macro mil,
+% - nouvelles macros limg*, limd* et bblim*
+% - exemple plus sophistiqué pour bblim}
%
% \GetFileInfo{tablvar.sty}
-%
-% \DoNotIndex{\@@ZI,\tv@@pos,\tv@pos,\@ZI,\@arstrutbox,\@ifstar,\\}
-% \DoNotIndex{\addtocounter,\advance,\arraybackslash}
-% \DoNotIndex{\begin,\boolean,\centering,\color,\DeclareOption,\def}
-% \DoNotIndex{\define@boolkey,\defin@key,\dp,\draw,\else,\empty,\end}
-% \DoNotIndex{\fi,\fill,\global,\hspace,\ht}
-% \DoNotIndex{\I,\if,\ifdim,\ifnum,\ifthenelse,\Ix,\Iy,\kern}
-% \DoNotIndex{\makebox,\MessageBreak,\multido,\ncline,\newboolean,}
-% \DoNotIndex{\newcommand,\newcounter,\newenvironment,\newlength,\newsavebox}
-% \DoNotIndex{\node,\PackageWarningNoLine,\ProcessOptions,\psframe}
-% \DoNotIndex{\raisebox,\relax,\renewcommand,\RequirePackage,\rnode}
-% \DoNotIndex{\sbox,\setboolean,\setcounter,\setlength,\stepcounter}
-% \DoNotIndex{\TikZ,\tvanchor,\usetikzlibrary,\value,\wd}
-% \DoNotIndex{\ZIheight,\ZIheighti,\ZIheightii,\ZIheightiii,\ZIheightiv,\ZIdepth,\ZIwidth}
%
% \title{L'extension \textsf{tablvar}\thanks{Ce document
-% correspond à \textsf{tablvar}~\fileversion, dernière modification le 23/12/2023.}}
+% correspond à \textsf{tablvar}~\fileversion, dernière modification le 09/08/2024.}}
% \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}}
-% \date{23 décembre 2023}
+% \date{9 août 2024}
% \maketitle
% \tableofcontents
%
@@ -175,8 +173,8 @@
% |pstricks| ou |tikz|, que l'on invoque dans le préambule à l'appel de l'extension :
% |\usepackage[tikz]{tablvar}|.
% Lorsque l'option n'est pas précisée, l'extension choisira \texttt{tikz}
-% pour un compilateur PDF (comme pdf\LaTeX\ ou \LuaLaTeX), \texttt{pstricks} sinon
-% (typiquement \LaTeX\ + dvips + ps2pdf ou \XeLaTeX).
+% pour un mode de sortie PDF direct (avec pdf\LaTeX\ ou \LuaLaTeX),
+% \texttt{pstricks} sinon (avec \LaTeX\ > dvips > ps2pdf ou \XeLaTeX).
% Pour l'option |tikz|, il faut compiler \emph{deux fois},
% la première fois les flèches ne sont pas correctement dessinées
% (un message de compilation le rappelle).
@@ -189,9 +187,9 @@
%
% \subsection{Tableaux de variations simples}
%
-% % \DescribeEnv{tablvar}
+% \DescribeEnv{tablvar}
% Un tableau de variations (ou de signes) se définit par un environnement |tablvar|
-% qui \emph{doit être en mode mathématiques} (comme |array|).
+% qui \emph{doit être en mode mathématique} (comme |array|).
%
% \medskip
% Voici un premier tableau tout simple avec les commandes
@@ -235,8 +233,8 @@
% Cette unité à l'avantage de s'ajuster lorsqu'on change de fonte
% sans avoir besoin de modifier le code. L'unité de même type utilisée pour les hauteurs
% est le \texttt{ex}, hauteur du \og x \fg.}.
-% Les flèches ne sont pas contraintes à rester à l'intérieur des colonnes intervalles
-% mais s'ajustent par rapport à la taille effective des valeurs qu'elles relient.
+% La longueur des flèches s'ajuste en fonction de la taille des valeurs
+% qu'elles relient et ne sont pas contraintes à rester à l'intérieur des colonnes intervalles.
% Lorsqu'une valeur est trop large, elle déborde automatiquement
% dans les colonnes intervalles sans altérer
% les largeurs de colonne.
@@ -314,7 +312,7 @@
% (voir section \ref{options} pour la liste détaillée des options).
%
% \DescribeMacro{\variations\oarg{nblignes}}
-% C'est la commande |\variations| qui, se charge de la construction des flèches
+% C'est la commande |\variations| qui se charge de la construction des flèches
% en fonction du positionnement des valeurs.
% Un paramètre optionnel permet de définir
% un nombre arbitraire de lignes pour les variations (3 par défaut).
@@ -418,7 +416,8 @@
% \mbox{Signe de }f'(x) & & - & \barre[0] & + & \barre[0] & - & \\
% \hline
% \variations{ \mil{\makecell{\mbox{Variations} \\ \mbox{de }f}} &
-% \haut{+\infty} && \bas{-14} && \haut{\frac{69}{4}} && \bas{-\infty} }
+% \haut{+\infty} && \bas{-14} && \haut{\frac{69}{4}} &&
+% \bas{-\infty} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -435,50 +434,57 @@
%
% \medskip
% Une première solution est d'interrompre la double barre pour placer
-% les limites qui resteront alors centrées au milieu de la colonne (mais il faut aimer).
+% les limites qui resteront alors centrées au milieu de la colonne
+% (mais il faut aimer).
%\[\begin{tablvar}{2}
% \hline
-% x & -\infty && 0 && +\infty \\
+% x & -\infty && 2 && +\infty \\
% \hline
-% \variations{\mil{\e^{\frac{1}{x}}} & \haut{1} &&
-% \bas{0} \pos*{2}{\bb} \discont \haut{+\infty} && \bas{1} }
+% \variations{\mil{\dfrac{1}{x-2}} & \pos{2}{0} && \bas{-\infty}
+% \pos*{2}{\bb} \discont \haut{+\infty} && \pos{2}{0} }
% \hline
%\end{tablvar}\]
-% La macro |\e| compose le nombre d'Euler $\e$ en romain (forme droite),
-% comme c'est la règle pour les constantes mathématiques
-% (cf. \textsf{mismath}~\cite{MIS} ou \textsf{frenchmath}~\cite{FR}).
% \begin{verbatim}
%\[\begin{tablvar}{2}
% \hline
-% x & -\infty && 0 && +\infty \\
+% x & -\infty && 2 && +\infty \\
% \hline
-% \variations{\mil{\e^{\frac{1}{x}}} & \haut{1} &&
-% \bas{0} \pos*{2}{\bb} \discont \haut{+\infty} && \bas{1} }
+% \variations{\mil{\dfrac{1}{x-2}} & \pos{2}{0} && \bas{-\infty}
+% \pos*{2}{\bb} \discont \haut{+\infty} && \pos{2}{0} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
%
% \hypertarget{firstcolsep}{}
% \DescribeMacro{\limg} \DescribeMacro{\limd}
-% Les macros |\limg|\oarg{pos}\marg{ligne}\marg{valeur}
-% et |\limd|\oarg{pos}\marg{ligne}\marg{valeur}
+% Les macros |\limg|\oarg{pos}\marg{ligne}\marg{valeur} et
+% |\limd|\oarg{pos}\marg{lgn}\marg{val}
% offrent une solution plus élégante pour placer des limites à gauche ou à droite.
% L'option de positionnement \meta{pos} correspond à celle de la macro |\pos|
% (\texttt{c}, \texttt{t} ou \texttt{b}).
+%
+% \DescribeMacro{\limg*}\DescribeMacro{\limd*}
+% Les variantes étoilées |\limg*| et |\limd*| sont des alias :
+% |\limg*{+}| signifie |\limg{1}{+\infty}|,
+% |\limg*{-}| correspond à |\limg{|$n$|}{-\infty}|
+% (pour une partie variations sur $n$ lignes),
+% de même pour |\limd*|.
+% Tout autre argument que \texttt{+} ou \texttt{-} génère un message d'erreur.
+%
+% \DescribeMacro{firstcolsep}
+% La colonne de légende peut être élargie en ajoutant de l'espace à ses extrémités
+% avec l'option \texttt{firstcolsep} (dont la valeur par défaut est \texttt{5pt}).
%\[\begin{tablvar}[firstcolsep=10pt,intervalwidth=4em]{2}
% \hline
% x & -\infty && 0 && +\infty \\
% \hline
% -\frac{1}{x} & & + & \bb & - & \\
% \hline
-% \variations{ \mil{\dfrac{1}{x^2}} & \bas{0} && \limg{1}{+\infty} \bb
-% \discont \limd{1}{+\infty} && \bas{0} }
+% \variations{ \mil{\e^{\frac{1}{x}}} & \haut{1} && \limg{3}{0} \bb
+% \discont \limd*{+} && \bas{1} }
% \hline
%\end{tablvar}\]
%
-% \DescribeMacro{firstcolsep}
-% Ci-dessus la colonne de légende a été élargie en ajoutant de l'espace à ses extrémités
-% avec l'option \texttt{firstcolsep} (dont la valeur par défaut est \texttt{5pt}).
% \begin{verbatim}
%\[\begin{tablvar}[firstcolsep=10pt,intervalwidth=4em]{2}
% \hline
@@ -486,13 +492,18 @@
% \hline
% -\frac{1}{x} & & + & \bb & - & \\
% \hline
-% \variations{ \mil{\dfrac{1}{x^2}} & \bas{0} && \limg{1}{+\infty} \bb
-% \discont \limd{1}{+\infty} && \bas{0} }
+% \variations{ \mil{\e^{\frac{1}{x}}} & \haut{1} && \limg{3}{0} \bb
+% \discont \limd*{+} && \bas{1} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
+% \vspace{-2ex}
+% La macro |\e| compose le nombre d'Euler $\e$ en romain,
+% comme c'est la règle pour les constantes mathématiques
+% (cf. \textsf{mismath}~\cite{MIS} ou \textsf{frenchmath}~\cite{FR}).
%
-% \DescribeMacro{\bblim}
+% \bigskip
+% \DescribeMacro{\bblim}\DescribeMacro{\bblim*}
% Sauf sur les bords du tableau ou lorsqu'il y a une zone interdite,
% les doubles barres sont en général accompagnées à la fois d'une limite à gauche
% et d'une limite à droite. La commande |\bblim| permet alors d'alléger la syntaxe.
@@ -502,24 +513,28 @@
% C'est un alias de
% |\limg|\marg{ligne}\marg{valeur}|\bb\discont\limd|\marg{ligne}\marg{valeur}.
% La seule différence est que |\bblim| ne possède pas d'option de positionnement
-% des nœuds comme |\limg| et |\limd|.
-%\[\begin{tablvar}{4}
+% des nœuds comme |\limg| et |\limd|. La forme étoilée offre une syntaxe
+% encore plus légère lorsque les deux limites sont infinies :
+% |\bblim*{-}{+}| correspond à |\bblim{3}{-\infty}{1}{+\infty}|
+% (lorsqu'il y a 3 lignes de variations).
+%
+%\[\begin{tablvar}{5}
% \hline
-% x & -\infty && -1 && 0 && 1 && +\infty \\
+% x & -\infty && -2 && 0 && 1 && 2 && +\infty \\
% \hline
-% \variations{\mil{\dfrac{1}{1-x^2}} & \haut{0} &&
-% \bblim{3}{-\infty}{1}{+\infty} && \bas{1} &&
-% \bblim{1}{+\infty}{3}{-\infty} && \haut{0} }
+% \variations{ \mil{\dfrac{\e^{\frac{1}{x}}}{x-2}} & \haut{0} &&
+% \bas{-\frac{1}{4}\e^{-\frac{1}{2}}} && \bblim{1}{0}{3}{-\infty} &&
+% \haut{-\e} && \bblim*{-}{+} && \bas{0} }
% \hline
%\end{tablvar}\]
% \begin{verbatim}
-%\[\begin{tablvar}{4}
+%\[\begin{tablvar}{5}
% \hline
% x & -\infty && -1 && 0 && 1 && +\infty \\
% \hline
-% \variations{\mil{\dfrac{1}{1-x^2}} & \haut{0} &&
-% \bblim{3}{-\infty}{1}{+\infty} && \bas{1} &&
-% \bblim{1}{+\infty}{3}{-\infty} && \haut{0} }
+% \variations{ \mil{\dfrac{\e^{\frac{1}{x}}}{x-2}} & \haut{0} &&
+% \bas{-\frac{1}{4}\e^{-\frac{1}{2}}} && \bblim{1}{0}{3}{-\infty} &&
+% \haut{-\e} && \bblim*{-}{+} && \bas{0} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -533,7 +548,7 @@
% sauf si on préfère plus de blanc.
% On peut y compris leur donner des valeurs négatives si l'on veut s'approcher
% davantage des filets verticaux, par exemple \texttt{limsep=-1.5pt}
-% amène au contact de la double barre).
+% amènerait au contact de la double barre).
%\[\begin{tablvar}[bordercolsep=4pt,limsep=3pt]{3}
% \hline
% x & -\infty && 0 && 1 && +\infty \\
@@ -568,7 +583,7 @@
% \hline
% x & 0 && 1 && +\infty \\
% \hline
-% \variations{ \mil{\ln x -x} & \bb\limd{3}{-\infty} && \haut{-1} &&
+% \variations{ \mil{\ln x -x} & \bb\limd*{-} && \haut{-1} &&
% \bas{-\infty} }
% \hline
%\end{tablvar*}
@@ -589,7 +604,7 @@
% \hline
% x & 0 && 1 && +\infty \\
% \hline
-% \variations{ \mil{\ln x -x} & \bb\limd{3}{-\infty} && \haut{-1} &&
+% \variations{ \mil{\ln x -x} & \bb\limd*{-} && \haut{-1} &&
% \bas{-\infty} }
% \hline
%\end{tablvar*}
@@ -603,8 +618,8 @@
% \hline
%\end{tablvar*}\]
% \end{verbatim}
-% \hypertarget{ext}{}
%
+% \hypertarget{ext}{}
% \DescribeMacro{extleft}\DescribeMacro{extright}
% Dans \texttt{tablvar*}, si, à une extrémité sans double barre,
% les valeurs ont des largeurs vraiment différentes
@@ -622,25 +637,25 @@
% pour éviter que le 1 ne soit collé au bord droit
% et qu'il garde un bon centrage par rapport à $+\infty$.
%
-% \noindent\begin{minipage}[t]{7.7cm}
+% \noindent\begin{minipage}[t]{7.4cm}
% \begin{verbatim}
-%\[\begin{tablvar}[extleft,intervalwidth=4em]{1}
+%\[\begin{tablvar}[extleft]{1}
% \hline
% x & 0 && +\infty \\
% \hline
-% \variations{ \mil{1-\dfrac{1}{x}} & \bb
-% \limd{3}{-\infty} && \haut{1} }
+% \variations[2]{ \mil{1-\dfrac{1}{x}}
+% & \bb \limd*{-} && \haut{1} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
% \end{minipage}
% \begin{minipage}[t]{5cm}
-%\[\begin{tablvar}[extleft,intervalwidth=4em]{1}
+%\[\begin{tablvar}[extleft]{1}
% \hline
% x & 0 && +\infty \\
% \hline
-% \variations{ \mil{1-\dfrac{1}{x}} & \bb
-% \limd{3}{-\infty} && \haut{1} }
+% \variations[2]{ \mil{1-\dfrac{1}{x}}
+% & \bb \limd*{-} && \haut{1} }
% \hline
%\end{tablvar}\]
% \end{minipage}
@@ -661,14 +676,14 @@
%
% Voici un exemple où la valeur remarquable
% est placée dans la colonne intervalle.\\
-% \begin{minipage}[t]{7.7cm}
+% \begin{minipage}[t]{7.4cm}
% \begin{verbatim}
%\[\begin{tablvar*}[6em]{1}
% \hline
% x & 0 & \vr{1} & +\infty \\
% \hline
% \variations{ \mil{\ln x} &
-% \bb \limd{3}{-\infty} & \vr{0} &
+% \bb \limd*{-} & \vr{0} &
% \pos[t]{1}{+\infty} }
% \hline
%\end{tablvar*}\]
@@ -680,7 +695,7 @@
% x & 0 & \vr{1} & +\infty \\
% \hline
% \variations{ \mil{\ln x} &
-% \bb \limd{3}{-\infty} & \vr{0} &
+% \bb \limd*{-} & \vr{0} &
% \pos[t]{1}{+\infty} }
% \hline
%\end{tablvar*}\]
@@ -702,8 +717,8 @@
% \hline
% x & -\infty && \vr{0} && \vr{1} && +\infty \\
% \hline
-% \variations[4]{ \mil{\exp x} & \haut{0} &&
-% \vr[3]{1} && \vr{\e} && \bas{+\infty} }
+% \variations[4]{ \mil{\exp x} & \bas{0} &&
+% \vr[3]{1} && \vr{\e} && \haut{+\infty} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -738,7 +753,7 @@
% \medskip
% On peut préférer que les flèches de variations ne passent pas à travers
% les valeurs remarquables (qui doivent alors être aussi des nœuds pour les flèches).
-% L'exemple suivant présente un tableau utilisant simultanément
+% L'exemple qui suit présente un tableau utilisant simultanément
% les deux manières de traiter les valeurs remarquables.
% La taille des flèches s'ajuste automatiquement.
% Le second zéro correspond à la fois à un nœud pour les flèches
@@ -767,6 +782,10 @@
% L'option |[t]| pour le max en ligne 1
% est ici combinée avec l'option |[b]| en ligne 3 et permet de conserver
% un positionnement correct du 0 sur la flèche.
+%
+% Pour placer la dernière valeur, on aurait pu utiliser |\limg[b]{3}{-\infty}|,
+% mais ici |\pos[b]{3}{-\infty}| convient aussi à cause de l'option \texttt{extright}
+% qui produit un alignement au fer à droite de la dernière colonne.
% \begin{verbatim}
%\[\begin{tablvar}[extright,intervalwidth=2em]{4}
% \hline
@@ -782,7 +801,6 @@
%\end{tablvar}\]
% \end{verbatim}
%
-% \vspace{-\baselineskip}
% \DescribeMacro{\vrconnect}
% C'est la macro graphique |\vrconnect| qui gère le tracé de ces traits pointillés.
% Elle peut être redéfinie pour changer leur aspect
@@ -802,7 +820,7 @@
% 0 &\mbox{si } x= 0
%\end{array}
%\right. .\]
-% \begin{minipage}[t]{6.5cm}
+% \begin{minipage}[t]{6.7cm}
% \begin{verbatim}
%\[\begin{tablvar}{2}
% \hline
@@ -900,7 +918,7 @@
% \vspace{-\baselineskip}
% Le |\hspace{-0.5em}| devant \texttt{+} a pour effet de décaler le $+$ affiché
% vers la gauche afin de le recentrer.
-% En effet, les macros |\limg| et |limd| placent les valeurs dans des boîtes de largeur
+% En effet, les macros |\limg| et |\limd| placent les valeurs dans des boîtes de largeur
% nulle (grâce à la commande |\zbox|, voir section \ref{cmd-pos}).
% De ce fait, le contenu d'une colonne valeur (qui a une largeur fixe)
% peut déborder en largeur
@@ -926,8 +944,8 @@
% -\frac{x}{\strut\sqrt{x^2-1}^3} && + & \bb & \ZI & \bb & - & \\
% \hline
% \variations{\pos*{2}{\dfrac{1}{\sqrt{x^2-1}}} & \bas{0} &&
-% \limg{1}{+\infty} \bb & \ZI &
-% \bb \limd{1}{+\infty} && \bas{0} }
+% \limg*{+} \bb & \ZI &
+% \bb \limd*{+} && \bas{0} }
% \hline
%\end{tablvar}\]
%
@@ -943,8 +961,8 @@
% -\frac{x}{\strut\sqrt{x^2-1}^3} && + & \bb & \ZI & \bb & - & \\
% \hline
% \variations{\pos*{2}{\dfrac{1}{\sqrt{x^2-1}}} & \bas{0} &&
-% \limg{1}{+\infty} \bb & \ZI &
-% \bb \limd{1}{+\infty} && \bas{0} }
+% \limg*{+} \bb & \ZI &
+% \bb \limd*{+} && \bas{0} }
% \hline
%\end{tablvar}\]
% \end{verbatim}
@@ -961,7 +979,8 @@
% Il arrive que la compilation \LaTeX\ + dvips + ps2pdf
% n'affiche pas cette transparence,
% ce qui semble être dû à un bug dans certaines versions de Ghostscript.
-% Dans ce cas la solution est de compiler avec \XeLaTeX.
+% Dans ce cas une solution peut être de compiler avec \XeLaTeX\ ou \LuaLaTeX\
+% (si \textsf{luapstricks} est installé sur votre distribution).
% La compilation pdf\LaTeX\ avec l'option \texttt{tikz} ne pose pas ce problème.}
%
%\[\begin{tablvar}[ZItype=c,ZIcolor=green,ZIaddwidth=1pt]{3}
@@ -1000,17 +1019,18 @@
%\end{tablvar}\]
% \end{verbatim}
%
-% Si des extrema de grande taille sont placés dans la partie variations,
+% lorsque des extrema de grande taille sont placés dans la partie \emph{variations},
% il est nécessaire de modifier la hauteur des lignes,
% pour éviter de toucher le filet horizontal (au-dessus ou en-dessous)
-% \footnote{L'extension \textsf{tabularray}~\cite{TABUL} de Jianrui Lyu permettra
-% éventuellement une gestion automatisée des hauteurs de ligne dans une version future.}.
+% \footnote{L'extension \textsf{tabularray}~\cite{TABUL} de Jianrui Lyu permettrait
+% éventuellement une gestion automatisée des hauteurs de ligne
+% dans une possible version future.}.
% Cette modification peut se faire
-% avec \texttt{stretch} ou avec |\vstrut|\oarg{depth}\marg{height}
-% \emph{qu'il faut placer dans la toute 1\iere colonne} pour
+% avec l'option \texttt{stretch} ou avec |\vstrut|\oarg{depth}\marg{height}
+% qu'il faut placer \emph{dans la colonne de légendes} pour
% que |\ZI| prenne en compte sa hauteur.
-% Dans l'exemple suivant, \texttt{stretch=2.2} aurait donné le même résultat pour
-% les variations mais une ligne des $x$ plus haute.
+% Dans l'exemple suivant, \texttt{stretch=2.2} aurait donné le même résultat
+% mais une ligne des $x$ plus haute.
%
%\[\begin{tablvar}[4em]{4}
% \hline
@@ -1080,7 +1100,7 @@
% \DescribeMacro{\hachure}
% Lorsque l'on dessine des zones interdites hachurées
% sur plusieurs colonnes contiguës,
-% les hachures seront en général discontinues.
+% les hachures ne seront en général pas jointives.
% Pour pallier cela, on peut
% utiliser la primitive graphique |\hachure|
% qui permet de définir manuellement le rectangle à hachurer.
@@ -1090,16 +1110,16 @@
%\[ \begin{tablvar}[intervalwidth=1.8em,ZIaddwidth=1pt]{8}
% \hline
% x & -\infty && -2 && -\sqrt{\frac{5}{2}} && -1
-% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
+% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
% \hline
% 2x & &-& \barre &-& \barre &-& \barre &-& \barre[0] &+&
-% \barre &+& \barre &+& \barre &+& \\
+% \barre &+& \barre &+& \barre &+& \\
% \hline
% 2x^2-5 & &+& \barre &+& \barre[0] &-& \barre &-& \barre &-&
-% \barre &-& \barre[0] &+& \barre &+& \\
+% \barre &-& \barre[0] &+& \barre &+& \\
% \hline
% f'(x) & &-& \bb & \ZI & \barre & \ZI & \bb &+&
-% \barre[0] &-& \bb & & & & \bb & + & \\
+% \barre[0] &-& \bb & & & & \bb & + & \\
% \hline
% \variations{\mil{f(x)} & \haut{+\infty} && \bas{0}\barre & \ZI &
% \barre & \ZI & \bas{0}\barre && \haut{2} && \bas{0}\barre \discont
@@ -1108,7 +1128,7 @@
% \hline
%\end{tablvar} \] }
%
-% Pour hachurer une zone donnée, la commande |\hachure| peut être placée où l'on veut
+% La commande |\hachure| peut être placée où l'on veut
% dans le tableau, il suffit de donner les coordonnées du rectangle visé à
% partir de la position courante (réglage manuel).
% Dans la partie variations, il faut mettre la commande |\hachure| dans un |\pos*|,
@@ -1119,16 +1139,16 @@
%\[ \begin{tablvar}[intervalwidth=1.8em,ZIaddwidth=1pt]{8}
% \hline
% x & -\infty && -2 && -\sqrt{\frac{5}{2}} && -1
-% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
+% && 0 && 1 && \sqrt{\frac{5}{2}} && 2 && +\infty \\
% \hline
% 2x & &-& \barre &-& \barre &-& \barre &-& \barre[0] &+&
-% \barre &+& \barre &+& \barre &+& \\
+% \barre &+& \barre &+& \barre &+& \\
% \hline
% 2x^2-5 & &+& \barre &+& \barre[0] &-& \barre &-& \barre &-&
-% \barre &-& \barre[0] &+& \barre &+& \\
+% \barre &-& \barre[0] &+& \barre &+& \\
% \hline
% f'(x) & &-& \bb & \ZI & \barre & \ZI & \bb &+&
-% \barre[0] &-& \bb & & & & \bb & + & \\
+% \barre[0] &-& \bb & & & & \bb & + & \\
% \hline
% \variations{\mil{f(x)} & \haut{+\infty} && \bas{0}\barre & \ZI &
% \barre & \ZI & \bas{0}\barre && \haut{2} && \bas{0}\barre \discont
@@ -1219,11 +1239,11 @@
% \medskip
% \DescribeMacro{\tablvarset\marg{keyval}}
% Mais les environnements \texttt{tablvar} et \texttt{tablvar*} possèdent également
-% un jeu de paramètres qui peuvent être définis de manière globale
-% (ou locale dans un environnement ou un groupe |{...}|),
-% avec des variables spécifiques
-% ou (depuis la version 2.0) avec la commande |\tablvarset|\marg{keyval},
-% utilisant le mécanisme \emph{clé=valeur}.
+% un jeu de paramètres qui peuvent être définis de manière globale,
+% ou locale dans un environnement (ou un groupe |{...}|),
+% soit en utilisant des variables spécifiques,
+% soit (depuis la version 2.0) avec la commande |\tablvarset|\marg{keyval},
+% basée sur le mécanisme \emph{clé=valeur}.
%
% \DescribeEnv{tablvar\oarg{keyval}}\DescribeEnv{tablvar*\oarg{keyval}}
% Ces paramètres peuvent aussi être réglés localement,
@@ -1280,12 +1300,12 @@
% \begin{description}
% \item[stretch] qui est un facteur d'élasticité verticale agissant sur toutes
% les lignes du tableau
-% \footnote{Pour ajuster la hauteur d'une ligne particulière, on dispose de la
-% macro \texttt{\textbackslash vstrut}\oarg{depth}\marg{height}
+% \footnote{Pour augmenter la hauteur d'une ligne particulière, on pourra utiliser la
+% commande \texttt{\textbackslash vstrut}\oarg{depth}\marg{height}
% (du package \textsf{spacingtricks}~\cite{SPA}),
% où \meta{depth} désigne la \emph{profondeur} et \meta{height} la \emph{hauteur}
% minimales à atteindre par rapport à la ligne de \emph{base},
-% ou encore de \texttt{\bslash cstrut}\marg{height} qui garantit une hauteur minimale
+% ou encore \texttt{\bslash cstrut}\marg{height} qui garantit une hauteur minimale
% en-dessous et au-dessus de la ligne de centrage mathématique.} ;
% une valeur de 1 correspond à la valeur standard
% d'un environnement \texttt{array}.
@@ -1322,7 +1342,7 @@
%
% \medskip
% Le rendu des commandes graphiques peut également être modifié,
-% en redéfinissant ces commandes, en particulier |\fleche|, |vrconnect| et |\hachure|
+% en redéfinissant ces commandes, en particulier |\fleche|, |\vrconnect| et |\hachure|
% grâce aux nombreuses options offertes par PSTricks ou \TikZ.
% C'est le cas aussi de l'aspect des filets et barres du tableau qui sont définis
% par les commandes |\tvrulewidth| (\texttt{0.4pt} par défaut),
@@ -1349,8 +1369,8 @@
% \hline
% -\frac{x+2}{x^4} && - & \barre[0] & + & \bb & - & \\
% \hline
-% \variations{\mil{\e^{\frac{x+1}{x^2}}} & \haut{1} && \bas{\e^{-\frac{1}{4}}}
-% && \bblim{1}{+\infty}{1}{+\infty} && \bas{1} }
+% \variations{\mil{\e^{\frac{x+1}{\vstrut{1.2ex} x^2}}} & \haut{1} &&
+% \bas{\e^{-\frac{1}{4}}} && \bblim*{+}{+} && \bas{1} }
% \hline
%\end{tablvar} \]
% \begin{verbatim}
@@ -1366,24 +1386,27 @@
% \hline
% -\frac{x+2}{x^4} && - & \barre[0] & + & \bb & - & \\
% \hline
-% \variations{\mil{\e^{\frac{x+1}{x^2}}} & \haut{1} &&
-% \bas{\e^{-\frac{1}{4}}} && \bblim{1}{+\infty}{1}{+\infty} &&
-% \bas{1} }
+% \variations{\mil{\e^{\frac{x+1}{\vstrut{1.2ex} x^2}}} & \haut{1} &&
+% \bas{\e^{-\frac{1}{4}}} && \bblim*{+}{+} && \bas{1} }
% \hline
%\end{tablvar} \]
% \end{verbatim}
+%
+% Enfin deux autres paramètres de type longueur |\rowtopsep| et |\rowbottomsep|
+% garantissent un espace minimum (de \texttt{2pt} par défaut)
+% entre les filets horizontaux et le contenu des cellules, pour la colonne des légendes.
%
-% \subsection{Nouveautés de la version 2.0}
+% \subsection{Nouveautés depuis la version 2.0}
%
-% Cette version présente de nombreuses nouveautés :
+% La version 2.0 présente de nombreuses nouveautés :
% \begin{itemize}
% \item \emph{Il n'y a plus d'option par défaut} à l'appel de l'extension.
% C'était \texttt{pstricks} dans les versions précédentes.
% Dorénavant, si aucune option n'est précisée, l'extension choisira elle-même
-% en fonction du compilateur utilisé, donc \texttt{tikz} pour le moteur pdf\LaTeX\
+% en fonction du compilateur utilisé, donc \texttt{tikz} pour pdf\LaTeX\
% qui ne supporte pas le code PSTricks.
%
-% \item \emph{Les colonnes de valeurs ont des largeurs fixes (\texttt{2em} par défaut)}
+% \item \emph{Les colonnes de valeurs ont des largeurs fixes} (\texttt{2em} \emph{par défaut)}
% et non plus variables en fonction du contenu, comme c'était le cas jusqu'à la version
% 1.2. L'avantage est d'améliorer le centrage pour les signes,
% lorsque les colonnes de valeurs ont des largeurs très différentes,
@@ -1395,7 +1418,7 @@
% et a été fixé à \texttt{0pt} car, en l'absence de filets verticaux,
% il ne sert plus à rien avec les colonnes à largeur fixe.
% Mais, en contrepartie, \emph{la valeur par défaut de} |\intervalwidth|
-% \emph{a été augmentée de \texttt{2.5em} à \texttt{3em}}.
+% \emph{a été augmentée de} \texttt{2.5em} \emph{à} \texttt{3em}.
%
% \item Les réglages peuvent désormais être effectués,
% avec la syntaxe \emph{clé = valeur} et la commande |\tablvarset|,
@@ -1446,12 +1469,26 @@
% De nouveaux types de colonnes ont été définis pour les valeurs et légendes,
% mais sont également internes à l'environnement \texttt{tablvar}.
%
-% \item Les macros |\haut|, |\bas| et |\mil| peuvent à présent être utilisées
+% \item Les macros |\bas| et |\mil| peuvent à présent être utilisées
% même lorsque le nombre de lignes de variations est différent de 3.
% Dans ce cas, commande |\mil| calcule automatiquement le décalage vertical ;
% l'utilisateur n'a plus besoin d'un appel explicite à |\vdecal|.
% \end{itemize}
%
+% Dans la version 2.1 :
+% \begin{itemize}
+% \item Ont été ajoutés deux nouveaux paramètres |\rowtopsep| et |\rowbottomsep|
+% pour garantir un espace minimum (de \texttt{2pt} par défaut)
+% entre les filets horizontaux et le contenu pour la colonne des légendes.
+% \item
+% Il est désormais possible d'utiliser l'option \texttt{pstricks} avec \LuaLaTeX,
+% si \textsf{luapstricks} est installé sur votre distribution.
+% \item Le calcul du décalage vertical de la commande |\mil| a été amélioré,
+% dans le cas d'un nombre pair de lignes de variations.
+% \item Les nouvelles commandes étoilées |\limg*|, |\limd*| et |\bblim*|
+% permettent une écriture simplifiée de |\limg|, |\limd| et |\bblim|,
+% pour des limites $\infty$.
+% \end{itemize}
% \medskip
% Des problèmes de composition peuvent apparaître avec des tableaux
% réalisés antérieurement à la version 2.0, en particulier
@@ -1469,16 +1506,81 @@
% dans la rubrique \og Maths tabvar \fg.
% Nous les décrivons ici brièvement.
% \begin{description}
-% \item[tableaux] de Nicolas Kisselhoff~\cite{TABL}.
+% \item[tableaux] de Nicolas Kisselhoff~\cite{TABL}.
% Propose un pseudo-code PSTricks,
% certainement plus commode que d'écrire toutes les commandes PSTricks.
-
+% Attention l'extension doit être appelée avec |\usepackage{tableau}|, sans \texttt{x}.
+% Voici un exemple repris de la doc de \textsf{tableaux} avec le code en suivant.
+%\newpsstyle{hachured}{fillstyle=hlines,hatchwidth=0.2pt,hatchsep=2pt}
+%\setlength{\TabTitreL}{1cm}
+%
+%\begin{MonTableau}{1}{9}{1.5}
+%\psframe[style=hachured,linestyle=none](.3,1)(.45,0)
+%
+%\TabNewCol{0}
+%\rTabPut{Br}{-.15}{.25}{$x$}
+%\rTabPut{Br}{-.15}{.40}{$f(x)$}
+%
+%\TabNewCol{0}
+%\rTabPut{Bl}{.15}{.25}{$0$}
+%\rTabPut{Bl}{.15}{.60}{$\frac{3}{2}$}
+%
+%\TabNewCol{.30}
+%\rTabPut{B}{0}{.25}{$1$}
+%\rTabPut{Br}{-.15}{.80}{$+\infty$}
+%\psline[style=TabDblBarre](.3,0)(.3,1)
+%
+%\TabNewCol{.45}
+%\rTabPut{B}{0}{.25}{$\frac{3}{2}$}
+%\rTabPut[2]{B}{0}{.10}{\TabZ}
+%
+%\TabNewCol{1}
+%\rTabPut{Br}{-.15}{.25}{$+\infty$}
+%\rTabPut{Br}{-.15}{.40}{$1$}
+%
+%\TabFleche{B1}{C1}
+%\TabFleche{D1}{E1}
+%\end{MonTableau}
+%
+% \begin{verbatim}
+%\newpsstyle{hachured}{fillstyle=hlines,hatchwidth=0.2pt,hatchsep=2pt}
+%\setlength{\TabTitreL}{1cm}
+%
+%\begin{MonTableau}{1}{9}{1.5}
+%\psframe[style=hachured,linestyle=none](.3,1)(.45,0)
+%
+%\TabNewCol{0}
+%\rTabPut{Br}{-.15}{.25}{$x$}
+%\rTabPut{Br}{-.15}{.40}{$f(x)$}
+%
+%\TabNewCol{0}
+%\rTabPut{Bl}{.15}{.25}{$0$}
+%\rTabPut{Bl}{.15}{.60}{$\frac{3}{2}$}
+%
+%\TabNewCol{.30}
+%\rTabPut{B}{0}{.25}{$1$}
+%\rTabPut{Br}{-.15}{.80}{$+\infty$}
+%\psline[style=TabDblBarre](.3,0)(.3,1)
+%
+%\TabNewCol{.45}
+%\rTabPut{B}{0}{.25}{$\frac{3}{2}$}
+%\rTabPut[2]{B}{0}{.10}{\TabZ}
+%
+%\TabNewCol{1}
+%\rTabPut{Br}{-.15}{.25}{$+\infty$}
+%\rTabPut{Br}{-.15}{.40}{$1$}
+%
+%\TabFleche{B1}{C1}
+%\TabFleche{D1}{E1}
+%\end{MonTableau}
+% \end{verbatim}
+%
% \item[tabvar] de Daniel Flipo~\cite{TABV},
% l'auteur, entre-autres de \textsf{babel-french},
% extension bien connue de tous les utilisateurs francophones de \LaTeX.
% Permet de réaliser des tableaux plutôt symboliques.
% Voici un tableau simple et son code \textsf{tabvar}. \\
-% \begin{minipage}[t]{7cm}
+% \begin{minipage}[t]{7.5cm}
% \begin{verbatim}
%\[\begin{tabvar}{|C|CCCCR|}
% \hline
@@ -1492,7 +1594,7 @@
%\end{tabvar}\]
% \end{verbatim}
% \end{minipage}
-% \begin{minipage}[t]{5cm}
+% \begin{minipage}[t]{4.2cm}
%\[\begin{tabvar}{|C|CCCCR|}
% \hline
% x & 0 & & \frac{1}{2} & & 1 \\
@@ -1551,19 +1653,19 @@
% Une très belle extension qui fait a peu près tout ce que fait \textsf{tablvar}
% et même un peu plus : par exemple tangentes horizontales sur les extrema,
% cellules en couleur.
-% Un de ses principaux avantages par rapport à \textsf{tablvar} est de ne pas nécessiter
+% Un de ses principaux bénéfices par rapport à \textsf{tablvar} est de ne pas nécessiter
% de double compilation
% \footnote{La double compilation avec \textsf{tablvar} n'est cependant nécessaire
% qu'avec l'option \texttt{tikz}.}.
-% Signalons quelques différences avec \textsf{tablvar} :
+% Signalons quand même quelques avantages de \textsf{tablvar} :
% \begin{itemize}
-% \item un tableau n'est pas globalement en mode mathématique, il faut donc mettre les
-% \$ du mode math autour de chaque valeur,
-% \item les hauteurs de ligne doivent être précisées de manière explicite et
-% ne peuvent être données qu'en cm (unité fixe qui ne s'ajuste pas à la fonte),
-% \item \textsf{tablvar} offre la possibilité de mettre des 0 par dessus les flèches,
-% \item les double barres aux extrémités du tableau sont assez éloignées des filets,
-% ce qui peut donc laisser un certain blanc sur les bords.
+% \item avec \textsf{tkz-tab}, un tableau n'est pas globalement en mode mathématique,
+% il faut donc mettre les |$| du mode math autour de chaque valeur,
+% \item et les hauteurs de ligne doivent être précisées de manière explicite et
+% uniquement cm (unité fixe qui ne s'ajuste pas à la fonte),
+% \item \textsf{tablvar} offre la possibilité de mettre des valeurs par dessus les flèches,
+% \item dans \textsf{tkz-tab}, les double barres aux extrémités du tableau
+% sont assez éloignées des filets, ce qui laisse un blanc important sur les bords.
% \end{itemize}
% Voici un exemple illustrant ce dernier point, avec son code.
% Pour comparer, le tableau obtenu avec \textsf{tablvar}
@@ -1615,7 +1717,7 @@
\RequirePackage{ifthen}
\RequirePackage{multido}
\RequirePackage{xkeyval}
-\RequirePackage{ifpdf}
+\RequirePackage{iftex}
\newif\iftv@tikz % false par défaut
\DeclareOption{tikz}{\tv@tikztrue}
@@ -1625,23 +1727,31 @@
\iftv@pstricks
\ifpdf
- \PackageError{tablvar}{Don't use the pstricks option with PDF engines}{}
+ \ifluatex
+ \PackageInfo{tablvar}{Option 'pstricks' works
+ with luapstricks}
+ \else
+ \PackageError{tablvar}{Don't use the 'pstricks' option with
+ PDF output mode}{Use 'tikz' option or change the engine}
+ \fi
\else
- \PackageInfo{tablvar}{PSTricks option is used}
+ \PackageInfo{tablvar}{Option 'pstricks' is used}
\fi
\else\iftv@tikz
- \PackageInfo{tablvar}{tikz option is used.
+ \AtEndDocument{\PackageWarningNoLine{tablvar}{Option 'tikz' is used.
\MessageBreak
- Run twice to draw the arrows correctly}
+ Maybe rerun to draw the arrows correctly}
+ }
\else\ifpdf
- \PackageWarningNoLine{tablvar}{PDF engine is used,
- I'm using the tikz option.
+ \AtEndDocument{\PackageWarningNoLine{tablvar}{Output is in PDF mode,
+ I'm using the 'tikz' option.
\MessageBreak
- Run twice to draw the arrows correctly}
+ Maybe rerun to draw the arrows correctly}
+ }
\tv@tikztrue
\else
- \PackageWarningNoLine{tablvar}{PDF engines not used,
- I'm using the pstricks option}
+ \PackageWarningNoLine{tablvar}{Output is in DVI mode,
+ I'm using the 'pstricks' option}
\tv@pstrickstrue
\fi\fi\fi
@@ -1832,6 +1942,28 @@
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\rowtopsep}
+% Cette longueur définit l'espace minimal entre le filet vertical supérieur et le contenu,
+% pour les cellules de la colonne des légendes.
+% Elle ne s'applique pas pour les lignes de variations
+% puisque, dans la colonne des légendes, seule la ligne
+% \og milieu \fg est censée posséder un contenu.
+% \begin{macrocode}
+\newlength{\rowtopsep}
+\setlength{\rowtopsep}{2pt}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\rowbottomsep}
+% Cette longueur définit l'espace minimal entre le filet vertical inférieur et le contenu,
+% pour les cellules de la colonne des légendes.
+% Elle ne s'applique pas pour les lignes de variations.
+% \begin{macrocode}
+\newlength{\rowbottomsep}
+\setlength{\rowbottomsep}{2pt}
+% \end{macrocode}
+% \end{macro}
+
% \subsection{Les commandes graphiques PSTricks/\TikZ} \label{graph}
%
% Nous présentons ici les commandes graphiques permettant le dessin
@@ -1962,12 +2094,13 @@
}
% \end{macrocode}
-% La commande |\mil| positionne son contenu sur la colonne 2,
-% mais réalise un décalage vertical si le nombre de lignes de variations diffère de 3.
+% La commande |\mil| positionne son contenu sur la colonne |mil@row|,
+% et réalise un décalage vertical de |\mil@shift|
+% si le nombre de lignes de variations est pair.
% Pour cela nous avons besoin d'une variable de dimension et d'un compteur.
% \begin{macrocode}
-\newlength\mil@heightshift
-\newcounter{mil@rowshift}
+\newlength\mil@shift
+\newcounter{mil@row}
% \end{macrocode}
% Pour gérer correctement les zones interdites, avec la commande |\ZI|,
@@ -2046,7 +2179,7 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\tv@saveheight}
+% \begin{macro}{\tv@setheight}
% Cette macro sert à calculer la hauteur et la profondeur d'une cellule,
% qui seront enregistrées dans des variables globales afin que la commande |\ZI|
% puisse les récupérer.
@@ -2071,21 +2204,22 @@
% et le contenu de la cellule agrandie va toucher le filet horizontal.
% La solution est alors de placer un |\vstrut| ou |\cstrut| dans la colonne
% de légendes pour augmenter sa hauteur qui, de ce fait, sera bien enregistrée
-% par |\tv@saveheight|.
+% par |\tv@setheight|.
% \begin{macrocode}
-\newcommand\tv@saveheight{%
- \tv@cellheight=0pt
- \tv@celldepth=0pt
- \ifdim \ht\tv@cellbox > \ht\@arstrutbox
- \global\advance\tv@cellheight by \ht\tv@cellbox
- \else
- \global\advance\tv@cellheight by \ht\@arstrutbox
+\newcommand\tv@setheight{%
+ \global\tv@cellheight=\ht\tv@cellbox
+ \ifthenelse{\value{var@ligne}=0}{
+ \global\advance\tv@cellheight by \rowtopsep}{}
+ \ifdim \tv@cellheight < \ht\@arstrutbox
+ \global\tv@cellheight = \ht\@arstrutbox
\fi
- \ifdim \dp\tv@cellbox > \dp\@arstrutbox
- \global\advance\tv@celldepth by \dp\tv@cellbox
- \else
- \global\advance\tv@celldepth by \dp\@arstrutbox
+ \global\tv@celldepth=\dp\tv@cellbox
+ \ifthenelse{\value{var@ligne}=0}{
+ \global\advance \tv@celldepth by \rowbottomsep}{}
+ \ifdim \tv@celldepth < \dp\@arstrutbox
+ \global\tv@celldepth = \dp\@arstrutbox
\fi
+ \vrule height \tv@cellheight depth \tv@celldepth width 0pt
}
% \end{macrocode}
% \end{macro}
@@ -2115,7 +2249,7 @@
>{\setcounter{tv@icol}{0}\stepcounter{tv@row}\begin{lrbox}%
\tv@cellbox $}%
c%
- <{$\end{lrbox}\usebox{\tv@cellbox}\tv@saveheight}}
+ <{$\end{lrbox}\usebox{\tv@cellbox}\tv@setheight}}
% type de colonne i pour les intervalles
\newcolumntype{i}{>{\stepcounter{tv@icol}
\centering\arraybackslash$}p{\intervalwidth}<{$}}
@@ -2142,7 +2276,7 @@
% On commence par prendre en compte les options grâce à |\setkeys*| fourni par l'extension
% \textsf{xkeyval}. La version étoilée de |\setkeys|
% a l'avantage de ne pas produire d'erreur lorsqu'une clé n'est pas reconnue
-% (celle-ci est passée à |XKV@rm|). On l'interprète
+% (celle-ci est passée à |\XKV@rm|). On l'interprète
% \footnote{Un message d'erreur de dimension erronée
% peut donc signifier que l'on s'est trompé dans l'orthographe d'une clé.}
% alors comme une dimension pour le paramètre |\intervalwidth|.
@@ -2156,8 +2290,8 @@
\setkeys*{tablvar}{#1} % fourni par xkeyval
\if\XKV@rm\empty \else \setlength{\intervalwidth}{#1} \fi
\tvcoltypes
- \ifextleft \newcolumntype{B}{v{l}} \else \newcolumntype{B}{v{c}} \fi
- \ifextright \newcolumntype{E}{v{r}} \else \newcolumntype{E}{v{c}} \fi
+ \ifextleft\newcolumntype{B}{v{l}}\else\newcolumntype{B}{v{c}}\fi
+ \ifextright\newcolumntype{E}{v{r}}\else\newcolumntype{E}{v{c}}\fi
\tablvarinit{#2}
\ZIinit
\begin{array}{%
@@ -2228,11 +2362,12 @@
% Les flèches et pointillés sont dessinés à la fin, quand tous les nœuds sont créés,
% mais il faut les tracer avant le |\\| final, sinon la compilation plante !
% Le compteur |var@ligne| doit être remis à 0 au cas où il y a plusieurs parties variations.
+% Cette remise à zéro s'effectue à la fin au cas où on mettrait des lignes de signes
+% après une ligne variations.
% \begin{macrocode}
\newcommand*{\variations}[2][3]{% #1=nblignes (3 par défaut)
% (ré)initialisation des compteurs
\setcounter{nbvarlignes}{#1}
- \setcounter{var@ligne}{0}
\setcounter{numdiscont}{0}
\multido{\I=1+1}{\themaxdiscont}{\setcounter{discont\I}{0}}
% boucle : on exécute le code #2 un nb de fois égal à (#1)-1
@@ -2259,6 +2394,7 @@
}
% tracé des pointillés pour les valeurs remarquables
\multido{\Ix=1+1}{\thenumvr}{\vrconnect{X\Ix}{Y\Ix}}
+ \setcounter{var@ligne}{0}
\\ % dernier retour ligne du tableau
}
% \end{macrocode}
@@ -2291,6 +2427,7 @@
% Place son contenu dans une boite de largeur nulle : affiche le contenu
% mais considère que l'espace occupé est nul pour ne pas altérer le calcul de la
% largeur de colonne.
+% Cette macro est similaire à |\mathclap| de l'extension \textsf{mathtools}~\cite{TOOLS}.
% Sa syntaxe est :
% |\zbox|\oarg{pos}\marg{contenu} où \meta{opt} = |c| (par défaut), |l| (left) ou |r| (right).
% \begin{macrocode}
@@ -2367,24 +2504,31 @@
% \end{macro}
% \begin{macro}{\mil}
-% La commande |\mil|\marg{valeur} positionne \meta{valeur} sur la ligne 2
-% de la partie variations. Lorsqu'il y a 3 lignes de variations cela correspond bien
-% au milieu, mais sinon on réalise un décalage vertical grâce à |\vdecal|.
-% La formule de ce décalage est
-% $(3- \mbox{nblignes}) \times (\mbox{hauteur de ligne})/2$.
-% Le résultat de ce calcul est stocké dans la variable de dimension |\mil@heightshift|.
-% Au cas où |\mil| ne donnerait pas un résultat parfait, on pourrait alors régler
+% Pour un nombre $n$ impair de lignes de variations,
+% la commande |\mil|\marg{valeur} positionne \meta{valeur} sur la ligne $\frac{n+1}{2}$
+% de la partie variations. Cela correspond bien à la ligne du milieu :
+% ligne 2 lorsqu'il y a 3 lignes.
+% Par contre si $n$ est pair, on place \meta{valeur} sur la ligne $\frac{n}{2}$ mais avec
+% un décalage vertical négatif (vers le bas) grâce à |\vdecal|.
+% Ce décalage correspond à une profondeur de cellule augmenté de \texttt{0.5ex}
+% (écart entre la ligne de base du texte et la ligne de centrage mathématique).
+% Le résultat de ce calcul est stocké dans la variable de dimension |\mil@shift|.
+% Au cas où l'on ne serait pas satisfait du résultat de |\mil|, on pourrait alors régler
% le décalage manuellement avec
%|\pos*|\marg{ligne}|{\vdecal|\marg{decal}\marg{contenu}|}|.
% \begin{macrocode}
\newcommand*{\mil}[1]{%
- \mil@heightshift = \ht\@arstrutbox
- \advance\mil@heightshift by \dp\@arstrutbox
- \divide\mil@heightshift by 2
- \setcounter{mil@rowshift}{3}
- \addtocounter{mil@rowshift}{-\value{nbvarlignes}}
- \multiply\mil@heightshift by \value{mil@rowshift}
- \pos*{2}{\vdecal{\mil@heightshift}{#1}}
+ \setcounter{mil@row}{\value{nbvarlignes}}
+ \ifthenelse{\isodd{\value{nbvarlignes}}}{
+ \addtocounter{mil@row}{1}
+ \divide\value{mil@row} by 2
+ \pos*{\themil@row}{\smash{#1}}
+ }{
+ \divide\value{mil@row} by 2
+ \mil@shift = \dp\@arstrutbox
+ \advance\mil@shift by 0.5ex
+ \pos*{\themil@row}{\vdecal{-\mil@shift}{#1}}
+ }
}
% \end{macrocode}
% \end{macro}
@@ -2409,7 +2553,7 @@
% \begin{macro}{\bb}
% La macro |\bb|, qui produit une double barre,
-% reprend celle de l'extension \textsf{variations} de Christian Obrecht
+% reprend celle de l'extension \mbox{\textsf{variations}} de Christian Obrecht :
% |\def\bb{\vrule\kern1pt\vrule}|.
% Nous avons ajouté \texttt{1.5pt} d'espace avant et après, afin d'aligner au mieux
% la double barre avec un 0 sur la ligne des $x$, lorsque la double barre
@@ -2423,14 +2567,38 @@
% \end{macro}
% \DescribeMacro{\limg}\DescribeMacro{\limd}
-% Les macros |\limg| et |limd| servent à positionner des limites à gauche \emph{ou} à droite,
+% Les macros |\limg| et |\limd| servent à positionner des limites à gauche ou à droite,
% en particulier aux bords des double barres.
% Le premier paramètre, optionnel, précise l'option de positionnement (\texttt{c},
% \texttt{l} ou \texttt{r}) et le second \emph{obligatoire} et le numéro de ligne,
% enfin le troisième est la valeur à placer.
+%
+% \DescribeMacro{\limg*}\DescribeMacro{\limd*}
+% Les versions étoilées n'acceptent comme argument que \texttt{+} ou \texttt{-},
+% |\limg*{+}| correspond à |\limg{1}{+\infty}|,
+% |\limg*{-}| correspond à |\limg{|$n$|}{-\infty}| (pour une partie variations
+% sur $n$ lignes et de même pour |\limd*|.
% \begin{macrocode}
-\newcommand*{\limg}[3][c]{\zbox[r]{\valpos[#1]{#2}{#3\hspace{\limsep}}}}
-\newcommand*{\limd}[3][c]{\zbox[l]{\valpos[#1]{#2}{\hspace{\limsep}#3}}}
+\newcommand*{\@limg}[3][c]{%
+ \zbox[r]{\valpos[#1]{#2}{#3\hspace{\limsep}}}}
+\newcommand*{\@limd}[3][c]{%
+ \zbox[l]{\valpos[#1]{#2}{\hspace{\limsep}#3}}}
+\newcommand*{\@@limg}[1]{%
+ \ifthenelse{\equal{#1}{+}}{\@limg{1}{+\infty}}{
+ \ifthenelse{\equal{#1}{-}}{\@limg{\value{nbvarlignes}}{-\infty}}{
+ \PackageError{tablvar}{Invalid argument for \string\limg*}
+ {Only + or - are valid arguments for \string\limg*}
+ }}
+}
+\newcommand*{\@@limd}[1]{%
+ \ifthenelse{\equal{#1}{+}}{\@limd{1}{+\infty}}{
+ \ifthenelse{\equal{#1}{-}}{\@limd{\value{nbvarlignes}}{-\infty}}{
+ \PackageError{tablvar}{Invalid argument for \string\limd*}
+ {Only + or - are valid arguments for \string\limd*}
+ }}
+}
+\newcommand{\limg}{\@ifstar{\@@limg}{\@limg}}
+\newcommand{\limd}{\@ifstar{\@@limd}{\@limd}}
% \end{macrocode}
% \begin{macro}{\discont}
@@ -2458,16 +2626,19 @@
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\bblim}
-% Sert à positionner des limites à gauche \emph{et} à droite
+% \DescribeMacro{\bblim}\DescribeMacro{\bblim*}
+% Ces macros servent à positionner des limites à gauche \emph{et} à droite
% d'une double barre.
-% Cette macro trace la double barre, place les limites et appelle |\discont|.
-% Sa syntaxe est :
-% |\bblim|\marg{ligne gauche}\marg{limite gauche}\marg{ligne droite}\marg{limite droite}.
+% Elles tracent la double barre, placent les limites et appellent |\discont|.\\
+% La syntaxe de |\bblim| est : \\
+% |\bblim|\marg{ligne gauche}\marg{limite gauche}\marg{ligne droite}\marg{limite droite}.\\
+% La syntaxe de|\bblim*| reprend celle de |\limg*| et |\limd*| :
+% |\bblim*|\marg{+$\vert$-}\marg{+$\vert$-}.
% \begin{macrocode}
-\newcommand*{\bblim}[4]{\limg{#1}{#2}\bb\discont\limd{#3}{#4}}
+\newcommand*{\@bblim}[4]{\limg{#1}{#2}\bb\discont\limd{#3}{#4}}
+\newcommand*{\@@bblim}[2]{\limg*{#1}\bb\discont\limd*{#2}}
+\newcommand*{\bblim}{\@ifstar{\@@bblim}{\@bblim}}
% \end{macrocode}
-% \end{macro}
% \begin{macro}{\vr}
% La commande |\vr| fabrique un nœud pour chaque valeur remarquable.
@@ -2595,7 +2766,7 @@
% courante dans une des 4 variables de dimension |\ZIheighti|, \ldots, |\ZIheightiv|
% correspondant à la zone interdite appelante.
% On récupère hauteur et profondeur qui ont été enregistrés dans
-% les variables globales |\tv@cellheight| et |\tv@cellheight|,
+% les variables globales |\tv@cellheight| et |\tv@celldepth|,
% par la colonne de légendes de la même ligne.
% Le numéro de la ZI (son indice) est passé en argument.
% \begin{macrocode}
@@ -2711,18 +2882,18 @@
% \end{macrocode}
%
% \bigskip
-% \begin{thebibliography}{14}
+% \begin{thebibliography}{15}
% \begin{raggedright}
-% \bibitem{TABL} \emph{Tableaux}. Nicolas Kisselhoff, CTAN.
-% \bibitem{TABV} \emph{Tableaux de variations : \textsf{‘tabvar’}}. Daniel Flipo,
+% \bibitem{TABL} \emph{Tableaux}, Nicolas Kisselhoff, CTAN.
+% \bibitem{TABV} \emph{Tableaux de variations : \textsf{‘tabvar’}}, Daniel Flipo,
% CTAN, v1.8 16/07/2022.
-% \bibitem{VARI} \emph{L'extension \textsf{variations}}. Christian Obrecht,
+% \bibitem{VARI} \emph{L'extension \textsf{variations}}, Christian Obrecht,
% CTAN, v0.3 13/09/2006.
% \bibitem{TABLOR} \emph{\textsf{tablor.sty} La machine à créer des tableaux
-% de signes et de variations}. Guillaume Connan, CTAN, v4.07 09/05/2010.
+% de signes et de variations}, Guillaume Connan, CTAN, v4.07 09/05/2010.
% \bibitem{VARMP} \emph{\textsf{tableauVariations} -- Variation tables in
-% \textlogo{METAPOST}}. Frédéric Mazoit, CTAN, 2005.
-% \bibitem{TKZ} \emph{\textsf{Tkz-Tab}}. Alain Matthes, CTAN,
+% \textlogo{METAPOST}}, Frédéric Mazoit, CTAN, 2005.
+% \bibitem{TKZ} \emph{\textsf{Tkz-Tab}}, Alain Matthes, CTAN,
% v2.12c 29/04/2020.
% \bibitem{ARRAY} \emph{A new implementation of LATEX’s \textsf{tabular} and \textsf{array}
% environment}, Frank Mittelbach, David Carlisle, CTAN, v2.5g revised 16/10/2023.
@@ -2734,12 +2905,14 @@
% v1.9.0 04/01/2022.
% \bibitem{SPA} \emph{The \textsf{spacingtricks} package}, Antoine Missier,
% CTAN, v1.7 28/07/2023.
-% \bibitem{XKEY} \emph{The \textsf{xkeyval} package}. Hendri Adriaens,
-% CTAN, v2.9, 16/06/2022.
-% \bibitem{MIS} \emph{\textsf{mismath} -- Miscellaneous mathematical macros},
-% Antoine Missier, CTAN, v2.9 19/12/2023.
-% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}. Antoine Missier,
-% CTAN, v2.7, 23/12/2023.
+% \bibitem{XKEY} \emph{The \textsf{xkeyval} package}, Hendri Adriaens,
+% CTAN, v2.9 16/06/2022.
+% \bibitem{TOOLS} \emph{The \textsf{mathtools} package}, Morten Høgholm, Lars Madsen,
+% CTAN, v1.23 17/01/2020.
+% \bibitem{MIS} Miscellaneous mathematical macros -- The \emph{\textsf{mismath} package},
+% Antoine Missier, CTAN, v3.1 16/06/2024.
+% \bibitem{FR} \emph{L'extension \textsf{frenchmath}}, Antoine Missier,
+% CTAN, v3.1 07/05/2024.
% \end{raggedright}
% \end{thebibliography}
% \Finale
diff --git a/macros/latex/contrib/tablvar/tablvar.ins b/macros/latex/contrib/tablvar/tablvar.ins
index 0280b61773..192a1eb6e8 100644
--- a/macros/latex/contrib/tablvar/tablvar.ins
+++ b/macros/latex/contrib/tablvar/tablvar.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2018-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+%% Copyright (C) 2018-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -21,7 +21,7 @@
This is a generated file.
-Copyright (C) 2018-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr>
+Copyright (C) 2018-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license
@@ -46,7 +46,7 @@ and version 1.3 or later is part of all distributions of LaTeX version
\Msg{* tablvar.sty *}
\Msg{* *}
\Msg{* To produce the documentation run the file tablvar.dtx *}
-\Msg{* through XeLaTeX or LaTeX + dvips + ps2pdf. *}
+\Msg{* through LaTeX + dvips + ps2pdf. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/latex/contrib/tablvar/tablvar.pdf b/macros/latex/contrib/tablvar/tablvar.pdf
index 7f5962d8fc..d949a47be3 100644
--- a/macros/latex/contrib/tablvar/tablvar.pdf
+++ b/macros/latex/contrib/tablvar/tablvar.pdf
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md
index 9602302c2a..edcdc6b5e6 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.99c
-Packagedate: 2024/06/20
+Packageversion: 0.99d
+Packagedate: 2024/08/02
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 37673eac26..9ba962e1e3 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:20240620175033+02'00') /Size 151 /CheckSum (4C0D15859D9BA750E65BE6F420DEA972) >> /Length 151 >>
+<< /Subtype /application#2Fx-tex/Type /EmbeddedFile /Params<</ModDate (D:20240802125547+02'00') /Size 151 /CheckSum (D4716966C44F441B4E4C1D2DD929683B) >> /Length 151 >>
stream
%% LaTeX2e file `example-input-file.tex'
%% generated by the `filecontents' environment
-%% from source `ex-AF-file' on 2024/06/20.
+%% from source `ex-AF-file' on 2024/08/02.
%%
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:20240620) >> /Length 19 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /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:20240620) >> /Length 4 >>
+<< /Subtype /text#2Fplain/Type /EmbeddedFile /Params<</ModDate (D:20240802) >> /Length 4 >>
stream
Duck
endstream
@@ -242,17 +242,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:50:54+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:56:09+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-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>
+ <xmp:CreateDate>2024-08-02T12:56:09+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:56:09+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:56:09+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:38d5a844-2217-4081-87cc-b2129dc357a6</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:9859f422-c856-46c6-8928-4dfab5f8790c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:3ff2b426-7c06-4861-8f14-4e8e04ac9b4c</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:,15379C35-DB3-5B3E-89A5-42149DCFB2F) >>
+<< /Type /Namespace /NS (data:,BBA64916-90D9-A0B9-F592-8E68FD20F532) >>
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:20240620175054+02'00')/ModDate (D:20240620175054+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:20240802125609+02'00')/ModDate (D:20240802125609+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
-0000016360 00000 n
+0000016362 00000 n
0000013627 00000 n
0000013838 00000 n
-0000015790 00000 n
+0000015792 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
-0000015851 00000 n
+0000015853 00000 n
0000000020 00000 n
0000000382 00000 n
-0000015964 00000 n
+0000015966 00000 n
0000000603 00000 n
0000000758 00000 n
-0000016096 00000 n
+0000016098 00000 n
0000000943 00000 n
0000001083 00000 n
-0000016228 00000 n
+0000016230 00000 n
0000001268 00000 n
0000013481 00000 n
0000013346 00000 n
0000012740 00000 n
-0000020113 00000 n
-0000020467 00000 n
+0000020115 00000 n
+0000020469 00000 n
0000013591 00000 n
0000013684 00000 n
0000013801 00000 n
-0000016480 00000 n
-0000018929 00000 n
-0000016666 00000 n
-0000019150 00000 n
-0000020267 00000 n
-0000020529 00000 n
-0000020647 00000 n
+0000016482 00000 n
+0000018931 00000 n
+0000016668 00000 n
+0000019152 00000 n
+0000020269 00000 n
+0000020531 00000 n
+0000020649 00000 n
trailer
-<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <CB0601DB4D9A68774E7E29190E0D5823> <CB0601DB4D9A68774E7E29190E0D5823> ] >>
+<< /Size 47 /Root 45 0 R /Info 46 0 R /ID [ <E2F9D94DBDFC11D2EE5801BA51FD5C99> <E2F9D94DBDFC11D2EE5801BA51FD5C99> ] >>
startxref
-20870
+20872
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf b/macros/latex/contrib/tagpdf/ex-alt-actualtext.pdf
index 8bbbbcc16c..f64d4e66bf 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 172ce02990..feda9e252a 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-06-20T17:51:49+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:57:08+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-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>
+ <xmp:CreateDate>2024-08-02T12:57:08+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:57:08+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:57:08+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:7a9cf910-1c19-429a-8f24-339c62d8a57f</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:d4b89449-5e1d-43cf-83af-3903105d1b3f</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:b262e437-7e89-4c42-8e29-bedae4c498b6</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:20240620175149+02'00')/ModDate (D:20240620175149+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:20240802125708+02'00')/ModDate (D:20240802125708+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 [ <658202793A4D39DC44497E1203173F04> <658202793A4D39DC44497E1203173F04> ] >>
+<< /Size 39 /Root 37 0 R /Info 38 0 R /ID [ <2033D8BFB67E1F1EDFB190E1DEC10A2C> <2033D8BFB67E1F1EDFB190E1DEC10A2C> ] >>
startxref
18076
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-formula-problem.pdf b/macros/latex/contrib/tagpdf/ex-formula-problem.pdf
index 9ac7a851bc..637338d16f 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-06-20T17:52:18+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:57:37+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-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>
+ <xmp:CreateDate>2024-08-02T12:57:37+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:57:37+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:57:37+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:8eb2ce1d-b2ec-440a-8bc2-73733eb3eeb0</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:b48ac58a-5b57-46ab-8ab8-087479364eeb</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:8fbc3896-5f57-401a-81d8-1fdb02abac8a</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:20240620175218+02'00')/ModDate (D:20240620175218+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:20240802125737+02'00')/ModDate (D:20240802125737+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 [ <4A2EBD4B9A1971E2BAF6A530303DF07B> <4A2EBD4B9A1971E2BAF6A530303DF07B> ] >>
+<< /Size 34 /Root 32 0 R /Info 33 0 R /ID [ <84EDE341B761805B059537E407E8C0CD> <84EDE341B761805B059537E407E8C0CD> ] >>
startxref
19227
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-list.pdf b/macros/latex/contrib/tagpdf/ex-list.pdf
index 2346b0398a..381477d829 100644
--- a/macros/latex/contrib/tagpdf/ex-list.pdf
+++ b/macros/latex/contrib/tagpdf/ex-list.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:52:47+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:58:08+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-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>
+ <xmp:CreateDate>2024-08-02T12:58:08+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:58:08+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:58:08+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:4c749825-1de7-414c-879f-29e4d0bef66e</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:843c5ce9-108a-49d8-86ef-881382f178ee</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:0803684d-fad7-4d08-8dc2-c5108f24d889</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -654,7 +654,7 @@ endobj
<< /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:20240620175247+02'00')/ModDate (D:20240620175247+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:20240802125808+02'00')/ModDate (D:20240802125808+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 73
@@ -732,7 +732,7 @@ xref
0000029590 00000 n
0000029705 00000 n
trailer
-<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <14B40F363BE2C4EFB96EAE91DC2CE4F7> <14B40F363BE2C4EFB96EAE91DC2CE4F7> ] >>
+<< /Size 73 /Root 71 0 R /Info 72 0 R /ID [ <0EE2DD31789AD5C7E80F8407D72CF075> <0EE2DD31789AD5C7E80F8407D72CF075> ] >>
startxref
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 70cfe5e793..6d60e10736 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
@@ -243,17 +243,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:53:22+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:58:35+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-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>
+ <xmp:CreateDate>2024-08-02T12:58:35+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:58:35+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:58:35+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:c33d64b4-96ec-4e48-8f27-0b3edc831547</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:36712ce3-22f3-4c4a-8418-0427448d178a</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:075c36f4-757d-4e0f-8258-3c0a3e372d69</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>2</prism:pageCount>
</rdf:Description>
@@ -413,7 +413,7 @@ endobj
<< /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:20240620175322+02'00')/ModDate (D:20240620175322+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:20240802125835+02'00')/ModDate (D:20240802125835+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 26
@@ -444,7 +444,7 @@ xref
0000023894 00000 n
0000023972 00000 n
trailer
-<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <2A141E41EDA78C2ADA31A952D041C439> <2A141E41EDA78C2ADA31A952D041C439> ] >>
+<< /Size 26 /Root 24 0 R /Info 25 0 R /ID [ <1A7EFBAD198841A82D20467F858B3B6C> <1A7EFBAD198841A82D20467F858B3B6C> ] >>
startxref
24195
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
index 5f96db2bdb..09a8d8aca0 100644
--- a/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+++ b/macros/latex/contrib/tagpdf/ex-softhyphen.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:53:55+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:01+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-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>
+ <xmp:CreateDate>2024-08-02T12:59:01+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:01+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:01+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:aa82e685-4098-469d-861c-3c45dfc700c7</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:9c8a342f-f758-4367-8d05-7621809f3e05</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:994c7ab3-d509-4a5b-88b5-92bca5031c75</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -393,7 +393,7 @@ endobj
<< /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:20240620175355+02'00')/ModDate (D:20240620175355+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:20240802125901+02'00')/ModDate (D:20240802125901+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 31
@@ -429,7 +429,7 @@ xref
0000018113 00000 n
0000018228 00000 n
trailer
-<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <5BCC76B86A64606D9B117AF50FFA18AE> <5BCC76B86A64606D9B117AF50FFA18AE> ] >>
+<< /Size 31 /Root 29 0 R /Info 30 0 R /ID [ <EECF5F575625EC21F0BEE870E572FEB1> <EECF5F575625EC21F0BEE870E572FEB1> ] >>
startxref
18451
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
index 21b11b9346..35e1d0609a 100644
--- a/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+++ b/macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:54:22+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:25+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-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>
+ <xmp:CreateDate>2024-08-02T12:59:25+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:25+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:25+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:acdc2435-bf29-4e54-8d09-1c9b6dc32038</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:ad8487cb-8dcc-4cab-8542-55106010deec</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:c59181fc-bb69-430b-8f90-90206d3ba579</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -354,7 +354,7 @@ endobj
<< /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:20240620175422+02'00')/ModDate (D:20240620175422+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:20240802125925+02'00')/ModDate (D:20240802125925+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 27
@@ -386,7 +386,7 @@ xref
0000015485 00000 n
0000015600 00000 n
trailer
-<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <50A5738B4CABF76A4CC27558811B7E58> <50A5738B4CABF76A4CC27558811B7E58> ] >>
+<< /Size 27 /Root 25 0 R /Info 26 0 R /ID [ <EC0A5DEABF5EE1A293FAD60891A0BF63> <EC0A5DEABF5EE1A293FAD60891A0BF63> ] >>
startxref
15823
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
index 7c9c135bf7..73ce1c0602 100644
--- a/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
+++ b/macros/latex/contrib/tagpdf/ex-structure-obsolete.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:54:47+02:00</rdf:li>
+ <rdf:li>2024-08-02T12:59:50+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-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>
+ <xmp:CreateDate>2024-08-02T12:59:50+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T12:59:50+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T12:59:50+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:bf5e4a2b-cfa9-4fc5-878c-8f9d2ee95445</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:971e1e25-37c4-4af9-8523-72714a87dea7</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:2ccba557-e5ae-4703-80db-28b73a88c1cd</xmpMM:InstanceID>
<prism:complianceProfile>three</prism:complianceProfile>
<prism:pageCount>1</prism:pageCount>
</rdf:Description>
@@ -526,7 +526,7 @@ endobj
<< /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:20240620175447+02'00')/ModDate (D:20240620175447+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:20240802125950+02'00')/ModDate (D:20240802125950+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 44
@@ -575,7 +575,7 @@ xref
0000023423 00000 n
0000023538 00000 n
trailer
-<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <ADB87D57539D5CE2A8FC3A4721B94DA0> <ADB87D57539D5CE2A8FC3A4721B94DA0> ] >>
+<< /Size 44 /Root 42 0 R /Info 43 0 R /ID [ <AE5400E970AB8EBE6C04A229EBA70E89> <AE5400E970AB8EBE6C04A229EBA70E89> ] >>
startxref
23761
%%EOF
diff --git a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
index 81423fede4..7147cd1e91 100644
--- a/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+++ b/macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
@@ -210,17 +210,17 @@ stream
</dc:language>
<dc:date>
<rdf:Seq>
- <rdf:li>2024-06-20T17:55:14+02:00</rdf:li>
+ <rdf:li>2024-08-02T13:00:16+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-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>
+ <xmp:CreateDate>2024-08-02T13:00:16+02:00</xmp:CreateDate>
+ <xmp:ModifyDate>2024-08-02T13:00:16+02:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2024-08-02T13:00:16+02:00</xmp:MetadataDate>
<xmpMM:DocumentID>uuid:f320abfc-f6ab-4d12-8719-d176f4d947cf</xmpMM:DocumentID>
- <xmpMM:InstanceID>uuid:898c4009-cc18-43c3-8fda-44ab8e28318c</xmpMM:InstanceID>
+ <xmpMM:InstanceID>uuid:3b4409f1-f3e5-4c01-86c4-a0bcea68ea38</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:,69C62BB9-6D5A-6FC9-FD75-56BC71E087F4) >>
+<< /Type /Namespace /NS (data:,25352333-84F8-941A-42AB-414B46468294) >>
endobj
8 0 obj
[ 9 0 R 11 0 R 13 0 R 15 0 R 17 0 R 19 0 R ]
@@ -399,7 +399,7 @@ endobj
<< /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:20240620175514+02'00')/ModDate (D:20240620175514+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:20240802130016+02'00')/ModDate (D:20240802130016+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)) >>
endobj
xref
0 43
@@ -447,7 +447,7 @@ xref
0000017842 00000 n
0000017957 00000 n
trailer
-<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <E36FE13F3FA0066C1F9796E38E50018C> <E36FE13F3FA0066C1F9796E38E50018C> ] >>
+<< /Size 43 /Root 41 0 R /Info 42 0 R /ID [ <42D962292B4982520E998D32C837DE43> <42D962292B4982520E998D32C837DE43> ] >>
startxref
18180
%%EOF
diff --git a/macros/latex/contrib/tagpdf/link-figure-input.tex b/macros/latex/contrib/tagpdf/link-figure-input.tex
index ef07c33e95..1a1036d282 100644
--- a/macros/latex/contrib/tagpdf/link-figure-input.tex
+++ b/macros/latex/contrib/tagpdf/link-figure-input.tex
@@ -27,7 +27,7 @@
\NewDocumentCommand\balloon{m}{%
\node[fit={(pic cs:#1-first) (pic cs:#1-end)
([yshift=7pt]pic cs:#1-end)},balloon](#1){};}
-\begin{tikzpicture}[overlay,remember picture]
+\begin{tikzpicture}[overlay,remember picture,alt={Illustration of link annotation structure}]
\balloon{link}
\balloon{structparent}
\balloon{OBJR}
@@ -45,7 +45,7 @@
\draw[ref] (kid)--(OBJR);
\draw[ref] (OBJR)--(linkref);
\end{tikzpicture}
-\begin{lstlisting}[name=OBJR]
+\begin{taglstlisting}[name=OBJR]
*\tikzmark{link-first}*18 0 obj*\tikzmark{link-end}* %Link Object
<< /Type /Annot /Subtype/Link
/Rect [ 196.109 494.573 399.167 506.831 ]
@@ -67,4 +67,4 @@ endobj};
<< /Nums
[... *\tikzmark{pnum-first}*16*\tikzmark{pnum-end}* *\tikzmark{pref-first}*17 0 R*\tikzmark{pref-end}* ...] >>
endobj
-\end{lstlisting}
+\end{taglstlisting}
diff --git a/macros/latex/contrib/tagpdf/pac2024-report.png b/macros/latex/contrib/tagpdf/pac2024-report.png
new file mode 100644
index 0000000000..4474bc989f
--- /dev/null
+++ b/macros/latex/contrib/tagpdf/pac2024-report.png
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/pac2024-version.png b/macros/latex/contrib/tagpdf/pac2024-version.png
new file mode 100644
index 0000000000..1bc12bdafe
--- /dev/null
+++ b/macros/latex/contrib/tagpdf/pac2024-version.png
Binary files differ
diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
index 7e19e1e90f..0ed233e2e0 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*luatex>
-\ProvidesExplFile {tagpdf-luatex.def} {2024-06-20} {0.99c}
+\ProvidesExplFile {tagpdf-luatex.def} {2024-08-02} {0.99d}
{tagpdf~driver~for~luatex}
% \end{macrocode}
% \section{Loading the lua}
@@ -164,8 +164,8 @@
local ProvidesLuaModule = {
name = "tagpdf",
- version = "0.99c", --TAGVERSION
- date = "2024-06-20", --TAGDATE
+ version = "0.99d", --TAGVERSION
+ date = "2024-08-02", --TAGDATE
description = "tagpdf lua code",
license = "The LATEX Project Public License 1.3c"
}
@@ -252,6 +252,12 @@ local iwfontattributeid = luatexbase.new_attribute ("g_@@_interwordfont_attr")
local tagunmarkedbool= token.create("g_@@_tagunmarked_bool")
local truebool = token.create("c_true_bool")
% \end{macrocode}
+% with this token we can query the state of the softhyphen boolean
+% and so detect if hyphens from hyphenation should be replaced by soft-hyphens.
+% \begin{macrocode}
+local softhyphenbool = token.create("g_@@_softhyphen_bool")
+% \end{macrocode}
+
% Now a number of local versions from global tables.
% Not all is perhaps needed, most node variants were copied from lua-debug.
% \begin{macrocode}
@@ -286,6 +292,9 @@ local KERN = node.id("kern")
local PENALTY = node.id("penalty")
local LOCAL_PAR = node.id("local_par")
local MATH = node.id("math")
+
+local explicit_disc = 1
+local regular_disc = 3
% \end{macrocode}
% Now we setup the main table structure. ltx is used by other latex code too!
% \begin{macrocode}
@@ -1267,6 +1276,80 @@ function ltx.@@.func.output_parenttree (abspage)
end
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}
+% {
+% process_softhyphen_pre
+% process_softhyphen_post
+% }
+% First some local definitions. Since these are only needed locally everything gets wrapped into a block.
+% \begin{macrocode}
+do
+ local properties = node.get_properties_table()
+ local is_soft_hyphen_prop = 'tagpdf.rewrite-softhyphen.is_soft_hyphen'
+ local hyphen_char = 0x2D
+ local soft_hyphen_char = 0xAD
+% \end{macrocode}
+%
+% A lookup table to test if the font supports the soft hyphen glyph.
+% \begin{macrocode}
+ local softhyphen_fonts = setmetatable({}, {__index = function(t, fid)
+ local fdir = identifiers[fid]
+ local format = fdir and fdir.format
+ local result = (format == 'opentype' or format == 'truetype')
+ local characters = fdir and fdir.characters
+ result = result and (characters and characters[soft_hyphen_char]) ~= nil
+ t[fid] = result
+ return result
+ end})
+% \end{macrocode}
+%
+% A pre shaping callback to mark hyphens as being hyphenation hyphens.
+% This runs before shaping to avoid affecting hyphens moved into
+% discretionaries during shaping.
+% \begin{macrocode}
+ local function process_softhyphen_pre(head, _context, _dir)
+ if softhyphenbool.mode ~= truebool.mode then return true end
+ for disc, sub in node.traverse_id(DISC, head) do
+ if sub == explicit_disc or sub == regular_disc then
+ for n, _ch, _f in node.traverse_char(disc.pre) do
+ local props = properties[n]
+ if not props then
+ props = {}
+ properties[n] = props
+ end
+ props[is_soft_hyphen_prop] = true
+ end
+ end
+ end
+ return true
+ end
+
+% \end{macrocode}
+%
+% Finally do the actual replacement after shaping. No checking for double processing here
+% since the operation is idempotent.
+% \begin{macrocode}
+ local function process_softhyphen_post(head, _context, _dir)
+ if softhyphenbool.mode ~= truebool.mode then return true end
+ for disc, sub in node.traverse_id(DISC, head) do
+ for n, ch, fid in node.traverse_glyph(disc.pre) do
+ local props = properties[n]
+ if softhyphen_fonts[fid] and ch == hyphen_char and props and props[is_soft_hyphen_prop] then
+ n.char = soft_hyphen_char
+ props.glyph_info = nil
+ end
+ end
+ end
+ return true
+ end
+
+ luatexbase.add_to_callback('pre_shaping_filter', process_softhyphen_pre, 'tagpdf.rewrite-softhyphen')
+ luatexbase.add_to_callback('post_shaping_filter', process_softhyphen_post, 'tagpdf.rewrite-softhyphen')
+end
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</lua>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-checks.dtx b/macros/latex/contrib/tagpdf/tagpdf-checks.dtx
index 345b2e35ba..3cbe3b141b 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Commands}
@@ -331,7 +331,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-checks-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-checks-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to checks, conditionals, debugging and messages}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
index 4dd216d1a9..76e839d0d5 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 f07e5db3ed..6417b44c40 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% This files contains a various data files which are read in
@@ -61,7 +61,7 @@
% latex-lab has also a namespace module, which takes precedence!
% \begin{macrocode}
%<*ns-latex>
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2024-08-02} {0.99d}
%% {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-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2024-08-02} {0.99d}
%% {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-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2024-08-02} {0.99d}
%% {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-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2024-08-02} {0.99d}
%% {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-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2024-08-02} {0.99d}
% {mathml}{http://www.w3.org/1998/Math/MathML}{}
abs,abs,mathml,
and,and,mathml,
@@ -467,7 +467,7 @@ xor,xor,mathml,
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child>
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2024-08-02} {0.99d}
,,,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-06-20} {0.99c}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2024-08-02} {0.99d}
,,,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 0cef27fd3b..ff036b5523 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \end{documentation}
@@ -55,11 +55,11 @@
% \begin{macrocode}
%<@@=tag>
%<*generic>
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2024-08-02} {0.99d}
{part of tagpdf - code related to marking chunks - generic mode}
%</generic>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-generic} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-debug-generic} {2024-08-02} {0.99d}
{part of tagpdf - debugging code related to marking chunks - generic mode}
%</debug>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
index 7dd309c5f5..3c2e91605e 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{implementation}
% The code is split into three parts: code shared by all engines,
@@ -86,11 +86,11 @@
% \begin{macrocode}
%<@@=tag>
%<*luamode>
-\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2024-08-02} {0.99d}
{tagpdf - mc code only for the luamode }
%</luamode>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-lua} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-debug-lua} {2024-08-02} {0.99d}
{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 c96fd8c4c8..5bfe0658d1 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -181,7 +181,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-mc-code-shared} {2024-08-02} {0.99d}
{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 80f9da0f6b..fb5f1b77c9 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-roles.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Version 0.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \begin{function}
@@ -98,7 +98,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-roles-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to roles and structure names}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-space.dtx b/macros/latex/contrib/tagpdf/tagpdf-space.dtx
index a29c8f0fb3..5c8e007084 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \begin{function}{activate/space (setup-key),interwordspace (deprecated)}
@@ -66,7 +66,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-space-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-space-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to real space chars}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-struct.dtx b/macros/latex/contrib/tagpdf/tagpdf-struct.dtx
index 963852b1fc..6da5e48b18 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -285,7 +285,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-struct-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-struct-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to storing structure}
%</header>
% \end{macrocode}
@@ -1937,7 +1937,7 @@
% \section{Attributes and attribute classes}
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage {tagpdf-attr-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-attr-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to attributes and attribute classes}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-tree.dtx b/macros/latex/contrib/tagpdf/tagpdf-tree.dtx
index 04b9309597..f7ae6de996 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-tree-code} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-tree-code} {2024-08-02} {0.99d}
{part of tagpdf - code related to writing trees and dictionaries to the pdf}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
index 916ff041d0..a4014b62e3 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.99c, released 2024-06-20}
+% \date{Version 0.99d, released 2024-08-02}
% \maketitle
% \begin{documentation}
% \section{Setup commands}
@@ -309,7 +309,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-user} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-user} {2024-08-02} {0.99d}
{tagpdf - user commands}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx
index e58570340e..b1d008a6e6 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf.dtx
@@ -72,6 +72,12 @@
% marked up as artifact. The initial value is true.
% \end{function}
%
+% \begin{function}{activate/softhyphen (setup-key)}
+% This key allows to activates automatic handling of hyphens inserted
+% by hyphenation. It only is used in luamode and replaces hyphens
+% by U+00AD if the font supports this.
+% \end{function}
+%
% \begin{function}{page/tabsorder (setup-key), tabsorder (deprecated)}
% This sets the tabsorder on a page. The values are |row|, |column|, |structure| (default)
% or |none|. Currently this is set more or less globally. More finer control can be
@@ -87,7 +93,7 @@
% \begin{macrocode}
%<@@=tag>
%<*package>
-\ProvidesExplPackage {tagpdf} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf} {2024-08-02} {0.99d}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -113,7 +119,7 @@
% \end{macrocode}
%<*debug>
% \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-debug} {2024-08-02} {0.99d}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
% \end{macrocode}
@@ -136,7 +142,7 @@
% we define a base package with dummy functions
% \begin{macrocode}
%<*base>
-\ProvidesExplPackage {tagpdf-base} {2024-06-20} {0.99c}
+\ProvidesExplPackage {tagpdf-base} {2024-08-02} {0.99d}
{part of tagpdf - provide base, no-op versions of the user commands }
%</base>
% \end{macrocode}
@@ -354,6 +360,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\g_@@_softhyphen_bool}
+% This boolean controls if the code should try to automatically
+% handle hyphens from hyphenation. It is currently only used in luamode.
+% \begin{macrocode}
+\bool_new:N \g_@@_softhyphen_bool
+% \end{macrocode}
+% \end{variable}
% \section{Variants of l3 commands}
% \begin{macrocode}
\prg_generate_conditional_variant:Nnn \pdf_object_if_exist:n {e}{T,F,TF}
@@ -648,6 +661,13 @@
tagunmarked .bool_gset:N = \g_@@_tagunmarked_bool,
% \end{macrocode}
% \end{macro}
+% \begin{macro}{activate/softhyphen (setup-key)}
+% This key activates (in luamode) the handling of soft hyphens.
+% \begin{macrocode}
+ activate/softhyphen .bool_gset:N = \g_@@_softhyphen_bool,
+ activate/softhyphen .initial:n = true,
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{page/tabsorder (setup-key),tabsorder (deprecated)}
% This sets the tabsorder on a page. The values are |row|, |column|, |structure| (default)
% or |none|. Currently this is set more or less globally. More finer control can be
diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf
index 04d46c2fbf..f7c6ea02a3 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 ac1c33fa4a..10d36d09a0 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.99c}
-\def\UlrikeFischer@package@date{2024-06-20}
+\def\UlrikeFischer@package@version{0.99d}
+\def\UlrikeFischer@package@date{2024-08-02}
\makeatother
\documentclass[bibliography=totoc,a4paper]{article}
@@ -338,13 +338,15 @@ improvements and new features in the \LaTeX\ kernel, the latex-lab bundle and
the \PDF\ management code and is now much better. Only a few
structures---mostly some from currently unsupported packages--- still need
manual tagging. But sadly the output of the validators don't quite reflect
-the improvements. The documentation uses now \PDF~2.0 and PAC~2024 can't handle
-this, it claims that the file is damaged. The Adobe validator has a bug and
+the improvements. The documentation uses now \PDF~2.0 and while the newest
+PAC~2024 can at least open the file it can not validate properly the file. For example
+it complains about the tabular header cells as it doesn't follow attribute classes.
+The Adobe validator has a bug and
doesn't like the (valid) use of the \texttt{Lbl} tag for the section numbers
(see figure~\ref{fig:adobe}).
-But even if the documentation passed the tests of the validators: as
+But even if the documentation would pass all the tests of the validators: as
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.
@@ -354,8 +356,9 @@ 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}
-\includegraphics[alt=PAC 3 report]{pac3}
+\includegraphics[alt=PAC 2024 complains about PDF version]{pac2024-version}
+\includegraphics[alt=PAC 2024 complains about table header cells]{pac2024-report}
\begin{figure}
@@ -504,6 +507,10 @@ The key-val list understands at least the following keys. More keys are defined
least \PrintKeyName{activate/mc} has been used.
The old name of the key |interwordspace| is still supported but deprecated.
+\item[\PrintKeyName{activate/softhyphen}] Boolean. luamode only.
+ The key activates/deactivates the replacing of hard hyphens from hyphenation
+ by soft hyphens. By default this is activated.
+
\item[\PrintKeyName{role/new-tag}] Allows to define new tag names, see
section \ref{sec:new-tag} for a description.
@@ -721,11 +728,8 @@ To tag a \PDF{} three tasks must be carried out:
\minisec{Page stream with marked content}
-\tagpdfparaOff
-
-\tagstructbegin{tag=Figure,alt={Illustration of page stream with marked content},attribute=bbox}%
-\tagmcbegin{tag=Figure}%
-\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture]
+\begin{tikzpicture}[baseline=(a.north),node distance=2pt,remember picture,
+alt={Illustration of page stream with marked content}]
\node(start){\ldots~\ldots~\ldots};
\node[draw,base right = of start](a) {mc-chunk 1};
\node[draw,base right = of a](b) {mc-chunk 2};
@@ -733,20 +737,13 @@ To tag a \PDF{} three tasks must be carried out:
\node[draw,base right = of c](d) {mc-chunk 3};
\node[base right = of d] {\ldots~\ldots};
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\minisec{Structure}
-\tagpdfparaOff
\newlength\ydistance\setlength\ydistance{-0.8cm}
-\tagstructbegin{tag=Figure,alt={Illustration of structure},attribute=bbox}%
-\tagmcbegin{tag=Figure}%
-\begin{tikzpicture}[remember picture,baseline=(root.north)]
-
+\begin{tikzpicture}[remember picture,baseline=(root.north),alt={Illustration of structure}]
\node[draw,anchor=base west] (root) at (0,0) {Sect (start section)};
\node[draw,anchor=base west] at (0.3,\ydistance) {H (header section)};
\node[draw,anchor=base west](aref) at (0.6,2\ydistance){mc-chunk 1};
@@ -758,17 +755,12 @@ To tag a \PDF{} three tasks must be carried out:
\node[draw,anchor=base west] at (0.3,8\ydistance){/P (end paragraph)};
\node[draw,anchor=base west] at (0,9\ydistance){/Sect (end section)};
\end{tikzpicture}
-
\begin{tikzpicture}[remember picture, overlay]
\draw[->,red](aref)-|(a);
\draw[->,red](bref)-|(b);
\draw[->,red](cref)-|(c);
\draw[->,red](dref)-|(d);
-
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\end{tcolorbox}
@@ -1108,8 +1100,8 @@ the command, as the effect of the begin command ends with a new
\begin{docCommands}
{
- {doc name=tagmcuse},
- {doc name=tag_mc_use:n}
+ {doc name=tagmcuse,doc parameter=\marg{label}},
+ {doc name=tag_mc_use:n,doc parameter=\marg{label}}
}
\end{docCommands}
@@ -1283,13 +1275,8 @@ add the needed code.
\begin{figure}
-\tagpdfparaOff
-\tagstructbegin{tag=Figure,alt={Illustration of link annotation structure},attribute=bbox}\tagmcbegin{tag=Figure}
-\tagstop
\input{link-figure-input}
-\tagstart
-\tagmcend\tagstructend
\caption{Structure needed for a link annotation}\label{fig:linkannot}
@@ -2661,7 +2648,8 @@ already mentioned there are more requirements:
is normally not a problem. With pdflatex it could need additional
\verb+\pdfglyphtounicode+ commands.
- \item Hard and soft hyphen must be distinct.
+ \item Hard and soft hyphen must be distinct. In luamode this is now handled through
+ the \texttt{activate/softhyphen} key. For pdftex no solution is known.
\item Spaces between words should be space glyphs and not only a
horizontal movement. See section~\ref{sec:spacechars}.
@@ -3061,10 +3049,7 @@ examples and remarks easier to understand.
\item[postfix notation] \PDF{} uses in various places postfix
notation. This means that the operator is behind its arguments:
-\tagpdfparaOff
-
-\tagstructbegin{tag=Figure,alt={Illustration of postfix notation},attribute=bbox}\tagmcbegin{tag=Figure}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
\node[operator,right= of a2.east](c) {obj};
@@ -3072,7 +3057,7 @@ examples and remarks easier to understand.
\draw[->] (c.south) --++(0,-2mm) -| (a2);
\end{tikzpicture}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {18};
\node[arg,right=of a1.east](a2) {0};
\node[operator,right= of a2.east](c) {R};
@@ -3081,7 +3066,7 @@ examples and remarks easier to understand.
\end{tikzpicture} (a reference (operator R) to an object
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {1};
\node[arg,right = of a1.east](a2) {0};
\node[arg,right = of a2.east](a3) {0};
@@ -3097,19 +3082,15 @@ examples and remarks easier to understand.
\draw[->] (c.south) --++(0,-2mm) -|(a1);
\end{tikzpicture}
-\begin{tikzpicture}[baseline=(c.base)]
+\begin{tikzpicture}[baseline=(c.base),alt={Illustration of postfix notation}]
\node[arg](a1) {/P};
\node[arg,right = of a1.east](a2) {<</MCID 0>>};
\node[operator,right = of a2.east](c) {BDC};
\draw[->] (c.south) --++(0,-2mm) -| (a1);
\draw[->] (c.south) --++(0,-2mm) -| (a2);
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
-
\item[Names] \PDF{} knows a sort of variable called a
\enquote{name}. Names start with a slash and may include any regular
characters, but not delimiter or white-space characters. Uppercase
@@ -3152,19 +3133,13 @@ examples and remarks easier to understand.
\mbox{\texttt{[0 15 0 R (hello) <</Type /X>> [1 2 3]]}}
-\tagpdfparaOff
-
- \tagstructbegin{tag=Figure,alt={Illustration of array},attribute=bbox}\tagmcbegin{tag=Figure}
- \begin{tikzpicture}[baseline=(c.base)]
+ \begin{tikzpicture}[baseline=(c.base),alt={Illustration of array}]
\node[arg](a1) {0};
\node[arg,right = of a1.east](a2) {15 0 R};
\node[arg,right = of a2.east](a3) {(hello)};
\node[arg,right = of a3.east](a4) {<</Type /X>>};
\node[arg,right = of a4.east](a5) {[1 2 3]};
\end{tikzpicture}
-\tagmcend\tagstructend
-
-\tagpdfparaOn
\item[Dictionaries] Dictionaries are enclosed by double angle
diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
index 936f8adacd..6ae5840b11 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-06-20} {0.99c}
+\ProvidesExplPackage {tagpdfdocu-patches} {2024-08-02} {0.99d}
{patches/commands for the tagpdf documentation}
\RequirePackage{etoolbox,xpatch}
@@ -82,10 +82,6 @@
% }
\ExplSyntaxOff
-% ======== tikzpicture ==========
-% TODO this needs some investigation: it messes up the stack if one add paraOff
-
-\AddToHook{env/tikzpicture/begin}{}
%======== tcolorbox ========
% We switch of paratagging at the begin and reenable it locally in before upper.
@@ -138,22 +134,6 @@
% ======= footnote ========
% done in testphase code
-% ======= bibliography ========
-% biblatex. Creates some empty mc-chunks.
-% no internal patches, but redefining begentry/finentry is not safe.
-% better hook is needed.
-
-
-\def\blx@endbibliography{%
- \csuse{blx@endenv@\blx@theenv}%
- \blx@noitem
- \blx@locallabelwidth@finish
- \endgroup
- \blx@bibnote\blx@thepostnote
-% \endgroup
- \expandafter\endgroup\if@endpe\@doendpe\fi
-}
-
% ====== hyperref ========
% this should probably go into tagpdf, but it is related to
% problem of pdf strings and context ....
@@ -167,16 +147,147 @@
\let\tagstructend\relax
}}{}
-%====== picture =======
+%====== tikz picture =======
+% first draft to tag. The main problem is to handle paragraphs. One
+\ExplSyntaxOn
+\cs_new_protected:Npn\__tag_tikz_savepos:n #1
+ {
+ \tex_savepos:D
+ \tikz@resetexpandcount%
+ \tikz@scan@one@point\pgfutil@firstofone(current~bounding~box.north~east)\relax
+ \pgf@pos@transform{\pgf@x}{\pgf@y}%
+ \property_record:nn{#1}{xpos,ypos,abspage}
+ \property_record:nn{#1-tr}{pgfx,pgfy}
+ \tikz@scan@one@point\pgfutil@firstofone(current~bounding~box.south~west)\relax
+ \pgf@pos@transform{\pgf@x}{\pgf@y}%
+ \property_record:nn{#1-bl}{pgfx,pgfy}
+ \tex_savepos:D
+ }
+\cs_generate_variant:Nn \__tag_tikz_savepos:n {e}
+
+\NewProperty{pgfx}{now}{0}
+ {
+ \dim_compare:nNnTF {\dim_abs:n {\pgf@x}} > {15999pt}
+ { 0 }
+ { \dim_to_decimal_in_sp:n{\pgf@x} }
+ }
+\NewProperty{pgfy}{now}{0}
+ {
+ \dim_compare:nNnTF {\dim_abs:n {\pgf@y}} > {15999pt}
+ { 0 }
+ { \dim_to_decimal_in_sp:n{\pgf@y} }
+ }
+
+\cs_new_protected:Npn \__tag_tikz_getbbox:
+ {
+ \int_gincr:N\g__tag_graphic_int
+ \tl_set:Ne\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int}
+ \tl_gset:Ne\g__tag_graphic_lx_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-bl}{pgfx}{0}sp
+ }
+ }
+ \tl_gset:Ne\g__tag_graphic_ly_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-bl}{pgfy}{0}sp
+ }
+ }
+ \tl_gset:Ne\g__tag_graphic_ux_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-tr}{pgfx}{0}sp
+ }
+ }
+ \tl_gset:Ne\g__tag_graphic_uy_tl
+ {
+ \dim_to_decimal_in_bp:n
+ { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp
+ + \property_ref:een {\l__tag_graphic_currentlabel_tl-tr}{pgfy}{0}sp
+ }
+ }
+ }
-% PAC3 complained that the BBox is missing, so we are cheating for now
-% and add a fix size.
-\tagpdfsetup
- {
- newattribute =
- {bbox}{/O /Layout /BBox [0 0 100 100]}
+\cs_new_protected:Npn \__tag_graphic_tikz_begin_picture:
+ {
+ \tag_mc_end_push:
+ \bool_if:NTF \l__tag_graphic_artifact_bool
+ { \tagmcbegin{artifact} }
+ {
+ \__tag_tikz_getbbox:
+ \tagstructbegin{tag=Figure,alt=\l__tag_graphic_alt_tl}\tagmcbegin{}
+ \__tag_prop_gput:cne
+ { g__tag_struct_\int_eval:n {\c@g__tag_struct_abs_int}_prop }
+ { A }
+ {
+ <<
+ /O /Layout /BBox~
+ [
+ \g__tag_graphic_lx_tl\c_space_tl
+ \g__tag_graphic_ly_tl\c_space_tl
+ \g__tag_graphic_ux_tl\c_space_tl
+ \g__tag_graphic_uy_tl
+ ]
+ >>
+ }
+ \bool_if:NT\l__tag_graphic_debug_bool
+ {
+ \__tag_graphic_show_bbox:VVVVne
+ \g__tag_graphic_lx_tl
+ \g__tag_graphic_ly_tl
+ \g__tag_graphic_ux_tl
+ \g__tag_graphic_uy_tl
+ {red}
+ {\int_use:N\g__tag_graphic_int}
+ }
+ }
+ \SuspendTagging{tikz}
}
+\cs_new_protected:Npn \__tag_graphic_tikz_end_picture:
+ {
+ \ResumeTagging{tikz}\tagmcend
+ \bool_if:NF \l__tag_graphic_artifact_bool
+ {
+ \tagstructend
+ \__tag_tikz_savepos:e {__tag_graphic_\int_use:N \g__tag_graphic_int}
+ }
+ \tag_mc_begin_pop:n{}
+ }
+
+\tikzset
+ {
+ every~picture/.style=
+ {
+ artifact,
+ execute~at~begin~picture=\__tag_graphic_tikz_begin_picture:,
+ execute~at~end~picture=\__tag_graphic_tikz_end_picture:
+ }
+ }
+\AddToHook{env/tikzpicture/before}{\leavevmode}
+
+\tikzset
+ {
+ alt/.code=
+ {
+ \bool_set_false:N \l__tag_graphic_artifact_bool
+ \tl_set:Nn \l__tag_graphic_alt_tl{#1}
+ }
+ }
+\tikzset
+ {
+ artifact/.code=
+ \bool_set_true:N \l__tag_graphic_artifact_bool
+ }
+
+\ExplSyntaxOff
+
+
+
\endinput
diff --git a/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex b/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
index 04f8b88aec..a02411c31f 100644
--- a/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
+++ b/macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
@@ -12,7 +12,8 @@ new key name & old key name & value &type & defined in \\\midrul
activate & activate & boolean &meta & tagpdf \\
activate/all & activate-all & boolean &meta & tagpdf\\
-activate/mc & activate-mc & boolean &bool & tagpdf\\
+activate/mc & activate-mc & boolean &bool & tagpdf\\
+activate/softhyphen & --- & boolean &bool & tagpdf \\
activate/spaces & interwordspace & boolean &code & tagpdf-space\\
activate/struct & activate-struct & boolean &bool & tagpdf\\
activate/struct-dest & no-struct-dest&boolean &bool & tagpdf\\
diff --git a/macros/latex/contrib/telprint/README.md b/macros/latex/contrib/telprint/README.md
new file mode 100644
index 0000000000..de7d729ad6
--- /dev/null
+++ b/macros/latex/contrib/telprint/README.md
@@ -0,0 +1,13 @@
+# telprint package for LaTeX
+
+Version: 2024-07-26 v1.12
+
+Format German phone numbers
+
+## Copyright (C)
+* 1996, 1997, 2004-2008 Heiko Oberdiek
+* 2016-2024 Oberdiek Package Support Group
+
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/oberdiek/telprint.dtx b/macros/latex/contrib/telprint/telprint.dtx
index 57152c6651..74bb22ea8a 100644
--- a/macros/latex/contrib/oberdiek/telprint.dtx
+++ b/macros/latex/contrib/telprint/telprint.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
%
% File: telprint.dtx
-% Version: 2016/05/16 v1.11
+% Version: 2024-07-26 v1.12
% Info: Format German phone numbers
%
% Copyright (C)
% 1996, 1997, 2004-2008 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% 2016-2024 Oberdiek Package Support Group
+% https://github.com/ho-tex/telprint/issues
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -23,7 +23,7 @@
%
% The Current Maintainers of this work are
% Heiko Oberdiek and the Oberdiek Package Support Group
-% https://github.com/ho-tex/oberdiek/issues
+% https://github.com/ho-tex/telprint/issues
%
% The Base Interpreter refers to any `TeX-Format',
% because some files are installed in TDS:tex/generic//.
@@ -34,8 +34,8 @@
% telprint-test1.tex.
%
% Distribution:
-% CTAN:macros/latex/contrib/oberdiek/telprint.dtx
-% CTAN:macros/latex/contrib/oberdiek/telprint.pdf
+% CTAN:macros/latex/contrib/telprint/telprint.dtx
+% CTAN:macros/latex/contrib/telprint/telprint.pdf
%
% Unpacking:
% (a) If telprint.ins is present:
@@ -56,7 +56,7 @@
% use A4 as paper format:
% \PassOptionsToClass{a4paper}{article}
%
-% Programm calls to get the documentation (example):
+% Program calls to get the documentation (example):
% pdflatex telprint.dtx
% makeindex -s gind.ist telprint.idx
% pdflatex telprint.dtx
@@ -64,9 +64,9 @@
% pdflatex telprint.dtx
%
% Installation:
-% TDS:tex/generic/oberdiek/telprint.sty
-% TDS:doc/latex/oberdiek/telprint.pdf
-% TDS:source/latex/oberdiek/telprint.dtx
+% TDS:tex/generic/telprint/telprint.sty
+% TDS:doc/latex/telprint/telprint.pdf
+% TDS:source/latex/telprint/telprint.dtx
%
%<*ignore>
\begingroup
@@ -83,7 +83,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: telprint 2016/05/16 v1.11 Format German phone numbers (HO)}
+\Msg{* Package: telprint 2024-07-26 v1.12 Format German phone numbers (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -95,11 +95,11 @@
This is a generated file.
Project: telprint
-Version: 2016/05/16 v1.11
+Version: 2024-07-26 v1.12
Copyright (C)
1996, 1997, 2004-2008 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2024 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -115,7 +115,7 @@ This work has the LPPL maintenance status "maintained".
The Current Maintainers of this work are
Heiko Oberdiek and the Oberdiek Package Support Group
-https://github.com/ho-tex/oberdiek/issues
+https://github.com/ho-tex/telprint/issues
The Base Interpreter refers to any `TeX-Format',
@@ -132,9 +132,9 @@ and the derived files
\generate{%
\file{telprint.ins}{\from{telprint.dtx}{install}}%
\file{telprint.drv}{\from{telprint.dtx}{driver}}%
- \usedir{tex/generic/oberdiek}%
+ \usedir{tex/generic/telprint}%
\file{telprint.sty}{\from{telprint.dtx}{package}}%
-% \usedir{doc/latex/oberdiek/test}%
+% \usedir{doc/latex/telprint/test}%
% \file{telprint-test1.tex}{\from{telprint.dtx}{test1}}%
}
@@ -162,7 +162,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{telprint.drv}%
- [2016/05/16 v1.11 Format German phone numbers (HO)]%
+ [2024-07-26 v1.12 Format German phone numbers (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\usepackage[ngerman,english]{babel}
@@ -177,9 +177,9 @@ and the derived files
% \GetFileInfo{telprint.drv}
%
% \title{The \xpackage{telprint} package}
-% \date{2016/05/16 v1.11}
+% \date{2024-07-26 v1.12}
% \author{Heiko Oberdiek\thanks
-% {Please report any issues at \url{https://github.com/ho-tex/oberdiek/issues}}}
+% {Please report any issues at \url{https://github.com/ho-tex/telprint/issues}}}
%
% \maketitle
%
@@ -397,7 +397,7 @@ and the derived files
\fi
\expandafter\x\csname ver@telprint.sty\endcsname
\ProvidesPackage{telprint}%
- [2016/05/16 v1.11 Format German phone numbers (HO)]%
+ [2024-07-26 v1.12 Format German phone numbers (HO)]%
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -467,7 +467,11 @@ and the derived files
% \begin{macro}{\telspace}
% \begin{macrocode}
\DeclareRobustCommand*{\telspace}[1]{\def\TELspace{#1}}
-\telspace{{}$\,${}}
+\ifcsname LaTeXReleaseInfo\endcsname
+ \telspace{\,}
+\else
+ \telspace{{}$\,${}}
+\fi
% \end{macrocode}
% \end{macro}
% \begin{macro}{\telhyphen}
@@ -615,30 +619,10 @@ and the derived files
% \paragraph{Package.} This package is available on
% CTAN\footnote{\CTANpkg{telprint}}:
% \begin{description}
-% \item[\CTAN{macros/latex/contrib/oberdiek/telprint.dtx}] The source file.
-% \item[\CTAN{macros/latex/contrib/oberdiek/telprint.pdf}] Documentation.
-% \end{description}
-%
-%
-% \paragraph{Bundle.} All the packages of the bundle `oberdiek'
-% are also available in a TDS compliant ZIP archive. There
-% the packages are already unpacked and the documentation files
-% are generated. The files and directories obey the TDS standard.
-% \begin{description}
-% \item[\CTANinstall{install/macros/latex/contrib/oberdiek.tds.zip}]
+% \item[\CTAN{macros/latex/contrib/telprint/telprint.dtx}] The source file.
+% \item[\CTAN{macros/latex/contrib/telprint/telprint.pdf}] Documentation.
% \end{description}
-% \emph{TDS} refers to the standard ``A Directory Structure
-% for \TeX\ Files'' (\CTANpkg{tds}). Directories
-% with \xfile{texmf} in their name are usually organized this way.
%
-% \subsection{Bundle installation}
-%
-% \paragraph{Unpacking.} Unpack the \xfile{oberdiek.tds.zip} in the
-% TDS tree (also known as \xfile{texmf} tree) of your choice.
-% Example (linux):
-% \begin{quote}
-% |unzip oberdiek.tds.zip -d ~/texmf|
-% \end{quote}
%
% \subsection{Package installation}
%
@@ -655,9 +639,9 @@ and the derived files
% \begin{quote}
% \def\t{^^A
% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}}
-% telprint.sty & tex/generic/oberdiek/telprint.sty\\
-% telprint.pdf & doc/latex/oberdiek/telprint.pdf\\
-% telprint.dtx & source/latex/oberdiek/telprint.dtx\\
+% telprint.sty & tex/generic/telprint/telprint.sty\\
+% telprint.pdf & doc/latex/telprint/telprint.pdf\\
+% telprint.dtx & source/latex/telprint/telprint.dtx\\
% \end{tabular}^^A
% }^^A
% \sbox0{\t}^^A
@@ -836,6 +820,9 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2024-07-26 v1.12}
+% \item Avoid math in \cs{telspace} for better tagging support.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/oberdiek/telprint.pdf b/macros/latex/contrib/telprint/telprint.pdf
index f8027491c8..49a2968f35 100644
--- a/macros/latex/contrib/oberdiek/telprint.pdf
+++ b/macros/latex/contrib/telprint/telprint.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/pgfornament/README.md b/macros/latex/contrib/tkz/pgfornament/README.md
index 737ee2acc2..901d6554cc 100644
--- a/macros/latex/contrib/tkz/pgfornament/README.md
+++ b/macros/latex/contrib/tkz/pgfornament/README.md
@@ -1,6 +1,6 @@
# pgfornament – Drawing of Vectorian ornaments with PGF/TikZ
-Release 1.2 2020/05/28
+Release 1.3 2024/08/14
## Description
@@ -55,6 +55,9 @@ your LaTeX document.
Documentations for `pgfornament` and `tikzrput` are available on CTAN and in your TeX distribution.
## History
+
+- v 1.3 Correction of bug (spurious space) by Tibor Tómács and correction of the documentation.
+
- v 1.2 Correction of bug (spurious space) by LianTze Lim.
- v 1.00 Add the Han ornanments and some new macros. Add some examples to the documentation. Thanks to Pablo Gonzáles L to help me with "Git".
diff --git a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf
index 6486f4e253..46f3fe8fef 100644
--- a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf
+++ b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.pdf
Binary files differ
diff --git a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex
index c52dd63e91..2a7f4b0fc1 100644
--- a/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex
+++ b/macros/latex/contrib/tkz/pgfornament/doc/ornaments.tex
@@ -8,7 +8,7 @@
% of this license or (at your option) any later version and/or
% 2. under the GNU Public License.
%---------%---------%---------%---------%---------%---------%---------%---------
-% Version 1.2 2020/0 5/26
+% Version 1.3 2024/08/14
\RequirePackage{luatex85}
\RequirePackage{silence}
\WarningsOff[latex]
@@ -137,7 +137,7 @@ urlcolor=orange}
\bigskip
-\noindent\pgfornament[width=0.75 cm]{152}\ (Version 1.2 2020/05/26)
+\noindent\pgfornament[width=0.75 cm]{152}\ (Version 1.3 2024/08/14)
\begin{abstract}
This document describes the \LaTeX\ package \emph{\docpkg{pgfornament}} and presents the syntax and parameters of the macro "pgfornament".
diff --git a/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex b/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex
index 4af2421923..4a54f9ea45 100644
--- a/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex
+++ b/macros/latex/contrib/tkz/pgfornament/doc/usefulcommands.tex
@@ -5,11 +5,11 @@
\setlength{\@tempdimb}{\paperwidth-\@tempdima-1cm}%
\setlength{\@tempdimc}{\paperheight-\@tempdima}%
\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdimc}){%
- \pgfornament[color=Maroon,anchor=north west,width=1cm]{39}}
-\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdima}){%
- \pgfornament[color=Maroon,anchor=south west,width=1cm,symmetry=h]{39}}
+ \pgfornament[color=Maroon,anchor=north west,width=1cm]{39}}
\put(\LenToUnit{\@tempdimb},\LenToUnit{\@tempdimc}){%
\pgfornament[color=Maroon,anchor=north east,width=1cm,symmetry=v]{39}}
+\put(\LenToUnit{\@tempdima},\LenToUnit{\@tempdima}){%
+ \pgfornament[color=Maroon,anchor=south west,width=1cm,symmetry=h]{39}}
\put(\LenToUnit{\@tempdimb},\LenToUnit{\@tempdima}){%
\pgfornament[color=Maroon,anchor=south east,width=1cm,symmetry=c]{39}}
\endgroup
diff --git a/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty b/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty
index 27406e8bbf..fad27cbb74 100644
--- a/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty
+++ b/macros/latex/contrib/tkz/pgfornament/latex/pgfornament.sty
@@ -17,7 +17,7 @@
% Inspired from psvectorian P Fradin H Voss
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{tikz,pgfopts}
-\ProvidesPackage{pgfornament}[2020/05/26 v1.2 vector ornaments]
+\ProvidesPackage{pgfornament}[2024/08/14 v1.3 vector ornaments]
\gdef\pgfOrnamentsObject{pgflibraryvectorian.code.tex}
\gdef\OrnamentsFamily{vectorian}
\pgfkeys{%
@@ -138,7 +138,7 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
\pgftransformscale{\pgfornamentscale}%
\pgf@@ornament{#2}%
\end{tikzpicture}%
-\tikzset{pgfornamentstyle/.style={cm={1,0,0,1,(0,0)}}}
+\tikzset{pgfornamentstyle/.style={cm={1,0,0,1,(0,0)}}}%
}% end pgfornament
\gdef\ornamenttopos{.5}
@@ -180,8 +180,8 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
\pgfextractx{\pgf@x}{\pgfpointanchor{#2}{#3 west}}
\pgf@xb=\pgf@x
\advance\pgf@xb by -\pgf@xa
-\node[inner sep=0pt] at ($(#1.#3 east)!.5!(#2.#3 west)$) {\pgfornament[width=\pgf@xb]{#4}} ;
-}
+\node[inner sep=0pt] at ($(#1.#3 east)!.5!(#2.#3 west)$) {\pgfornament[width=\pgf@xb]{#4}};
+}%
\def\pgfornamentvline#1#2#3#4{%
\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{south #3}}
\pgf@ya=\pgf@y
@@ -203,7 +203,7 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
\pgfmathsetmacro{#1}{atan2(\pgf@x,\pgf@y)}%
}%
\makeatother
-\newcommand{\resetpgfornamentstyle}{\tikzset{pgfornamentstyle/.style={}}}
+\newcommand{\resetpgfornamentstyle}{\tikzset{pgfornamentstyle/.style={}}}%
% 2020 Changing vector objects
\def\newpgfornamentfamily#1{%
@@ -219,11 +219,10 @@ baseline={([yshift=\pgfornamentydelta]current bounding box.\pgfornamentanchor)},
/ornamentline/.search also={/tikz}}
\def\pgfornamentline{\pgfutil@ifnextchar[{\pgf@ornamentline}{\pgf@ornamentline[]}}%
\def\pgf@ornamentline[#1]#2#3#4#5{%
-
\pgfqkeys{/ornamentline}{#1}%
\pgfmathsetmacro\nbo{#4}
\path (#2) -- (#3) foreach \i in {0,...,\nbo} {coordinate[pos=\i/\nbo] (p\i)}
[color=\ornamentcolor] foreach \i [count=\j] in {0,...,\number\numexpr\nbo-1} { (p\i) to [ornament=#5] (p\j)};
-}
+}%
\makeatother
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README
index b90c86e8cc..c73460f0b4 100644
--- a/macros/latex/contrib/univie-ling/README
+++ b/macros/latex/contrib/univie-ling/README
@@ -97,6 +97,19 @@ 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.
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 43b942d15c..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/06/27 v.2.6 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 30064c8f91..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/06/27 v.2.6 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 1773af1838..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 2f632ebda3..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 484e4365b5..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 b61d77074d..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 37e2bc3e00..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 d4885d0743..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 76ab0629d5..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 0b9643c0bd..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 34ac74afc7..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-deutsch.tex b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex
index 527f8d0498..7b01c0a88f 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.tex
@@ -2,9 +2,7 @@
% Ãœbersetzen mit pdflatex -- biber -- pdflatex
% Verwende den vom Hochschulschriftenservice verlangten Standard PDF/A1-b
% (siehe http://e-theses.univie.ac.at/elektronische_einreichung.html)
-% pdfx is currently broken
-%\documentclass[naustrian,pdfa]{univie-ling-thesis}
-\documentclass[naustrian]{univie-ling-thesis}
+\documentclass[naustrian,pdfa]{univie-ling-thesis}
\usepackage{babel}
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 800946d7c8..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-thesis-english.tex b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex
index c2f7c5f4a0..0be7edb600 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.tex
@@ -2,9 +2,7 @@
% Run pdflatex -- biber -- pdflatex
% Use the PDF/A1-b standard as required by the Hochschulschriften-Service
% (see http://e-theses.univie.ac.at/elektronische_einreichung.html)
-% pdfx is currently broken
-%\documentclass[naustrian,english,pdfa]{univie-ling-thesis}
-\documentclass[naustrian,english]{univie-ling-thesis}
+\documentclass[naustrian,english,pdfa]{univie-ling-thesis}
\usepackage{babel}
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 b65b92ef1b..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 2e8562ef5d..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 d47fcaaa0b..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 fcb89d9727..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -370,6 +370,11 @@ 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.
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 bb7dfd5c25..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 8fbb627024..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -415,6 +415,11 @@ 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.
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 9f7f328fbb..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 6ade5e4b72..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -411,6 +411,11 @@ 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.
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 204245e59f..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 c8580538c3..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -577,6 +577,11 @@ 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.
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 4c9fb2a37c..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 92d06ea952..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -433,6 +433,11 @@ 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.
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 6276518546..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 a12fccdeac..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\date{Version 2.7, 2024/07/23}
\maketitle
@@ -263,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}.
@@ -274,6 +278,12 @@ 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.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
index b0f3e13826..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 34435a3876..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{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.6, 2024/06/27}
+\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 b31ae0a4f7..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/06/27 v.2.6 Univie Linguistic Exposes (JSp)]
+\ProvidesPackage{univie-ling-expose}[2024/07/23 v.2.7 Univie Linguistic Exposes (JSp)]
%% ============================================================
@@ -274,10 +274,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
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 01abf2e31c..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/06/27 v.2.6 Univie Ling handout class (JSp)]
+\ProvidesClass{univie-ling-handout}[2024/07/23 v.2.7 Univie Ling handout class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -933,10 +933,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
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 88ec71a6fa..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/06/27 v.2.6 Univie Linguistic Papers (JSp)]
+\ProvidesPackage{univie-ling-paper}[2024/07/23 v.2.7 Univie Linguistic Papers (JSp)]
%% ============================================================
@@ -296,10 +296,10 @@ This includes all drawings, sketches, graphics and internet sources.}
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
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 9a354e25c7..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/06/27 v.2.6 Univie Ling poster class (JSp)]
+\ProvidesClass{univie-ling-poster}[2024/07/23 v.2.7 Univie Ling poster class (JSp)]
%% ============================================================
%% CLASS OPTIONS
@@ -909,10 +909,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
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 4813af3abc..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/06/27 v.2.6 Univie Linguistic Theses (JSp)]
+\ProvidesPackage{univie-ling-thesis}[2024/07/23 v.2.7 Univie Linguistic Theses (JSp)]
%% ============================================================
@@ -288,10 +288,10 @@ This includes all drawings, sketches, graphics and internet sources.}
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
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 e85daaabe0..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/06/27 v.2.6 Univie WLG journal layout (JSp)]
+\ProvidesPackage{univie-ling-wlg}[2024/07/23 v.2.7 Univie WLG journal layout (JSp)]
%% ============================================================
@@ -225,10 +225,10 @@
\NewDocumentCommand\weblink{mo}{%
\url{#1}%
\IfNoValueTF{#2}%
- {\ifthenelse{\isempty{\wlg@urldate}}{}{%
+ {\ifx\wlg@urldate\empty\else%
\ \urldate{\wlg@urldate}%
- }}%
- {\ \urldate{#2}}
+ \fi}%
+ {\ \urldate{#2}}%
}
}
@@ -1043,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/ut-thesis/README b/macros/latex/contrib/ut-thesis/README
index 785d74c606..ed1db06b9d 100644
--- a/macros/latex/contrib/ut-thesis/README
+++ b/macros/latex/contrib/ut-thesis/README
@@ -5,8 +5,8 @@ as of Fall 2020:
[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting]
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
- 2020-2023 Jesse Knight <jesse.knight@mail.utoronto.ca>
-last updated at 13:00 (EST) on Wed 08 Feb 2023
+ 2020-2024 Jesse Knight <jesse.x.knight@protonmail.com>
+last updated at 09:00 (BST) on Fri 26 July 2024
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public Licence, either version 1.3c of this licence
@@ -22,7 +22,7 @@ and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is
-Jesse Knight <jesse.knight@mail.utoronto.ca>.
+Jesse Knight <jesse.x.knight@protonmail.com>.
This work consists of the files:
- README
@@ -31,12 +31,13 @@ This work consists of the files:
- ut-thesis.pdf (derived user manual)
- ut-thesis.cls (derived class file)
-To generate ut-thesis.cls (class file), run: pdflatex ut-thesis.ins
-To generate ut-thesis.pdf (documentation), run: pdflatex ut-thesis.dtx
-To use the class, make ut-thesis.cls visible to your LaTeX distribution,
-by placing ut-thesis.cls either in your working directory,
-or in your texmf tree, perhaps: $texmf/tex/latex/ut-thesis/ut-thesis.cls
-and the documentation: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+Install ut-thesis from your favourite LaTeX distribution.
+Alternatively, or to use the latest version:
+- generate ut-thesis.cls (class file) using: pdflatex ut-thesis.ins
+ and copy to: $texmf/tex/latex/ut-thesis/ut-thesis.cls
+- generate ut-thesis.pdf (documentation) using: pdflatex ut-thesis.dtx
+ and copy to: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+or simply copy ut-thesis.cls to your working directory.
See version history on GitHub:
-[https://github.com/jessexknight/ut-thesis] \ No newline at end of file
+[https://github.com/jessexknight/ut-thesis]
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.dtx b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
index 873f0bd2c5..9d6a704148 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.dtx
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
@@ -5,7 +5,7 @@
%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{ut-thesis}
%<*class>
-[2023/02/08 v3.1.7 University of Toronto thesis class]
+[2024/07/26 v3.1.8 University of Toronto thesis class]
%</class>
%
%<*driver>
@@ -33,15 +33,15 @@
% \GetFileInfo{ut-thesis.dtx}
%
% \title{The \textit{ut-thesis} class
-% \thanks{\fileversion~[\filedate] CTAN repository:
-% \href{https://ctan.org/pkg/ut-thesis}
-% {\texttt{https://ctan.org/pkg/ut-thesis}}}}
+% \thanks{\fileversion~[\filedate]\hfill
+% \href{https://ctan.org/pkg/ut-thesis}{\texttt{https://ctan.org/pkg/ut-thesis}}\hfill
+% \href{https://github.com/jessexknight/ut-thesis}{\texttt{github.com/jessexknight/ut-thesis}}}}
% \author{
% Francois Pitt,
% Jesse Knight
% \thanks{maintainer, contact:
-% \href{mailto:jesse.knight@mail.utoronto.ca}
-% {\texttt{jesse.knight@mail.utoronto.ca}}}
+% \href{mailto:jesse.x.knight@protonmail.com}
+% {\texttt{jesse.x.knight@protonmail.com}}}
% }
%
% \maketitle
@@ -79,7 +79,7 @@
%
% The default options produce a final copy, ready for submission to
% the University of Toronto School of Graduate Studies (SGS).
-% Some examples are available on
+% There is some example code on
% \href{https://github.com/jessexknight/ut-thesis/tree/master/test}{GitHub}.
%
% \subsection{Options}\label{use:opt}
@@ -616,4 +616,4 @@
\setlength\belowcaptionskip{1ex}
% \end{macrocode}
%
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.ins b/macros/latex/contrib/ut-thesis/ut-thesis.ins
index db35055115..80df67d81e 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.ins
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.ins
@@ -11,8 +11,8 @@ as of Fall 2020:
[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting]
Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
- 2020-2021 Jesse Knight <jesse.knight@mail.utoronto.ca>
-last updated at 23:30 (EST) on Tue 20 July 2021
+ 2020-2024 Jesse Knight <jesse.x.knight@protonmail.com>
+last updated at 09:00 (BST) on Fri 26 July 2024
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public Licence, either version 1.3c of this licence
@@ -28,7 +28,7 @@ and is not covered by the licence.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is
-Jesse Knight <jesse.knight@mail.utoronto.ca>.
+Jesse Knight <jesse.x.knight@protonmail.com>.
This work consists of the files:
- README
@@ -37,12 +37,13 @@ This work consists of the files:
- ut-thesis.pdf (derived user manual)
- ut-thesis.cls (derived class file)
-To generate ut-thesis.cls (class file), run: pdflatex ut-thesis.ins
-To generate ut-thesis.pdf (documentation), run: pdflatex ut-thesis.dtx
-To use the class, make ut-thesis.cls visible to your LaTeX distribution,
-by placing ut-thesis.cls either in your working directory,
-or in your texmf tree, perhaps: $texmf/tex/latex/ut-thesis/ut-thesis.cls
-and the documentation: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+Install ut-thesis from your favourite LaTeX distribution.
+Alternatively, or to use the latest version:
+- generate ut-thesis.cls (class file) using: pdflatex ut-thesis.ins
+ and copy to: $texmf/tex/latex/ut-thesis/ut-thesis.cls
+- generate ut-thesis.pdf (documentation) using: pdflatex ut-thesis.dtx
+ and copy to: $texmf/doc/latex/ut-thesis/ut-thesis.pdf
+or simply copy ut-thesis.cls to your working directory.
See version history on GitHub:
[https://github.com/jessexknight/ut-thesis]
@@ -51,4 +52,4 @@ See version history on GitHub:
\generate{\file{ut-thesis.cls}{\from{ut-thesis.dtx}{class}}}
-\endbatchfile \ No newline at end of file
+\endbatchfile
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.pdf b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
index 8f055d54d0..fdf74d5a9a 100644
--- a/macros/latex/contrib/ut-thesis/ut-thesis.pdf
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md
index c84cd4389b..ca87d0cf3b 100644
--- a/macros/latex/required/babel/base/README.md
+++ b/macros/latex/required/babel/base/README.md
@@ -1,6 +1,6 @@
-## Babel 24.7
+## Babel 24.8
-2024-06-26
+2024-08-18
`babel` is the multilingual framework for localizing documents in
LaTeX, LuaLaTeX, XeLaTeX. It manages culturally-determined
@@ -10,9 +10,9 @@ languages even work with Plain formats.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 24.7 are described in:
+Changes in version 24.8 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-24.7.html
+https://latex3.github.io/babel/news/whats-new-in-babel-24.8.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -43,15 +43,15 @@ You may also report them to the current maintainer more informally on:
https://latex3.github.io/babel/contact.html
-Bugs related to specific languages are best reported to their
+Bugs related to specific languages are best reported to theirs
respective authors.
### Summary of latest changes
```
-24.7 2024-06-26
- * Improvements in some locales:
- - Filipino (thanks to Leothelion, @ponte-vecchio)
- - Line breaking in Blin, Geez, Tigre, Tigrinya, Wolaytta.
+24.8 2024-08-18
+ * Internal changes in bidi=basic (more reliable).
+ * Hook 'foreign' and \BabelWrapText.
+ * Improved some locales thanks to Stephen Huan (@stephen-huan).
```
### Previous changes
diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf
index 8be7825803..3e5cfe9306 100644
--- a/macros/latex/required/babel/base/babel-code.pdf
+++ b/macros/latex/required/babel/base/babel-code.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx
index 19db345759..84e16b7207 100644
--- a/macros/latex/required/babel/base/babel.dtx
+++ b/macros/latex/required/babel/base/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2024/06/26 v24.7 The Babel package]
+\ProvidesFile{babel.dtx}[2024/08/18 v24.8 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -3908,10 +3908,14 @@ intrinsic direction of scripts and weak directionality.)
In \xetex, |bidi-r| and |bidi-l| resort to the package \textsf{bidi}
(by Vafa Khalighi). For RL documents use the former, and for LR ones
-use the latter. However, this package patches heavily lots of macros
-and packages even if the RL script is not the main one, which can lead
-to some surprising results, so for short and simple texts (letters and
-punctuation) the |default| method can be preferable.
+use the latter.
+
+\begin{warning}
+ This package patches heavily lots of macros and packages even if the
+ RL script is not the main one, which can lead to some surprising
+ results, so for short and simple texts (letters and punctuation) the
+ |default| method is more often than not much preferable.
+\end{warning}
There are samples on GitHub, under \texttt{/required/babel/samples}.
See particularly |lua-bidibasic.tex| and |lua-secenum.tex|.
@@ -4293,6 +4297,17 @@ three \TeX{} parameters (|#1|, |#2|, |#3|), with the meaning given:
language in this particular case is the language that wrote the code.
The special value |/| means ‘return to the core \babel{} definitions’
(in other words, what follows hasn’t been written by any language).
+\item[foreign] \New{24.8} Executed by |\foreignlanguage| after the
+ language has been set up and just before typesetting the text from the
+ second argument. Its main purpose it to wrap the text with some
+ code, with the help of |\BabelWrapText|. For example, with:
+\begin{verbatim}
+\AddBabelHook{one}{foreign}{\BabelWrapText{\textit{##1}}
+\AddBabelHook{two}{foreign}{\BabelWrapText{\parse{##1}}
+\end{verbatim}
+the text becomes |\textit{\parse{|\m{text}|}}|.
+
+
% STILL UNDER STUDY:
% \item[beforestart] \New{3.34} Executed either at the beginning of the
% |aux| file (when read at the start of the document), or else at begin
@@ -5479,8 +5494,8 @@ wouldn’t exist.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=24.7>>
-%<<date=2024/06/26>>
+%<<version=24.8>>
+%<<date=2024/08/18>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -6984,6 +6999,9 @@ wouldn’t exist.
\BabelText{#2}% Still in vertical mode!
{\par}%
\endgroup}
+\providecommand\BabelWrapText[1]{%
+ \def\bbl@tempa{\def\BabelText####1}%
+ \expandafter\bbl@tempa\expandafter{\BabelText{#1}}}
% \end{macrocode}
%
% \end{macro}
@@ -11569,6 +11587,7 @@ wouldn’t exist.
\let\bbl@noamsmath\@empty}
\@namedef{bbl@ADJ@bidi.math@off}{%
\let\bbl@noamsmath\relax}
+%
\@namedef{bbl@ADJ@bidi.mapdigits@on}{%
\bbl@adjust@lua{bidi}{digits_mapped=true}}
\@namedef{bbl@ADJ@bidi.mapdigits@off}{%
@@ -12533,11 +12552,10 @@ wouldn’t exist.
\let\bbl@textdir@i\@gobbletwo
\let\bbl@xebidipar\@empty
\AddBabelHook{bidi}{foreign}{%
- \def\bbl@tempa{\def\BabelText####1}%
\ifcase\bbl@thetextdir
- \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}%
+ \BabelWrapText{\LR{##1}}%
\else
- \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}%
+ \BabelWrapText{\RL{##1}}%
\fi}
\def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}
\fi
@@ -15516,7 +15534,7 @@ end
return head
end
%
- function Babel.pre_otfload_h(head, gc, sz, pt, dir)
+ function Babel.pre_otfload_h(head, gc, sz, pt, dir) %%% TODO
if Babel.numbers and Babel.digits_mapped then
head = Babel.numbers(head)
end
@@ -15543,7 +15561,8 @@ end
% The basic setup. The output is modified at a very low level to set
% the |\bodydir| to the |\pagedir|. Sadly, we have to deal with boxes
% in math with basic, so the |\bbl@mathboxdir| hack is activated every
-% math with the package option bidi=.
+% math with the package option bidi=. The hack for the PUA is no longer
+% necessary with |basic|, but it’s kept in |basic-r|.
%
% \begin{macrocode}
\breakafterdirmode=1
@@ -15557,7 +15576,10 @@ end
\ifcase\expandafter\@gobbletwo\the\bbl@bidimode\or
require('babel-bidi-basic.lua')
\or
- require('babel-bidi-basic-r.lua')
+ require('babel-bidi-basic-r.lua')
+ table.insert(Babel.ranges, {0xE000, 0xF8FF, 'on'})
+ table.insert(Babel.ranges, {0xF0000, 0xFFFFD, 'on'})
+ table.insert(Babel.ranges, {0x100000, 0x10FFFD, 'on'})
\fi}
\newattribute\bbl@attr@dir
\directlua{ Babel.attr_dir = luatexbase.registernumber'bbl@attr@dir' }
@@ -15633,6 +15655,12 @@ end
end
luatexbase.add_to_callback("hpack_filter", Babel.math_box_dir,
"Babel.math_box_dir", 0)
+ if Babel.unset_atdir then
+ luatexbase.add_to_callback("pre_linebreak_filter", Babel.unset_atdir,
+ "Babel.unset_atdir")
+ luatexbase.add_to_callback("hpack_filter", Babel.unset_atdir,
+ "Babel.unset_atdir")
+ end
}}%
\fi
% \end{macrocode}
@@ -15892,7 +15920,9 @@ end
{\chardef\bbl@tabular@mode\z@}%
{\chardef\bbl@tabular@mode\@ne}}% Mixed, with LTR cols
\ifnum\bbl@bidimode>\@ne % Any lua bidi= except default=1
- \ifcase\bbl@tabular@mode\or % 1
+ % Redefine: vrules mess up dirs:
+ \def\@arstrut{\relax\copy\@arstrutbox}%
+ \ifcase\bbl@tabular@mode\or % 1 = Mixed - default
\let\bbl@parabefore\relax
\AddToHook{para/before}{\bbl@parabefore}
\AtBeginDocument{%
@@ -15917,7 +15947,7 @@ end
{\\\do@row@strut\<fi>}{\\\do@row@strut\<fi>\egroup}}}%
{}}%
\fi}%
- \or % 2
+ \or % 2 = All RTL - tabular
\let\bbl@parabefore\relax
\AddToHook{para/before}{\bbl@parabefore}%
\AtBeginDocument{%
@@ -15962,9 +15992,9 @@ end
\ifnum\bbl@bidimode>\z@ % Any bidi=
\def\bbl@nextfake#1{% non-local changes, use always inside a group!
\bbl@exp{%
- \def\\\bbl@insidemath{0}%
\mathdir\the\bodydir
#1% Once entered in math, set boxes to restore values
+ \def\\\bbl@insidemath{0}%
\<ifmmode>%
\everyvbox{%
\the\everyvbox
@@ -16448,7 +16478,7 @@ function Babel.hyphenate_replace(head, mode)
if crep then
step = crep.step or step
end
-
+
if crep and crep.after then
crep.insert = true
if dummy_node then
@@ -16459,7 +16489,7 @@ function Babel.hyphenate_replace(head, mode)
dummy_node = item
end
end
-
+
if crep and not crep.after and dummy_node then
node.remove(head, dummy_node)
dummy_node = nil
@@ -16480,7 +16510,7 @@ function Babel.hyphenate_replace(head, mode)
sc = sc - 1 -- Nothing has been inserted.
last_match = utf8.offset(w, sc+1+step)
goto next
-
+
elseif crep and crep.kashida then -- Experimental
node.set_attribute(item,
Babel.attr_kashida,
@@ -16558,7 +16588,7 @@ function Babel.hyphenate_replace(head, mode)
placeholder = ' '
end
head, new = node.insert_before(head, item, d)
-
+
elseif crep and crep.norule then
-- 655360 = 10 pt = 10 * 65536 sp
d = node.new(2, 3) -- (rule, empty) = \no*rule
@@ -16582,14 +16612,14 @@ function Babel.hyphenate_replace(head, mode)
elseif mode == 0 and crep and crep.space then
-- ERROR
-
+
elseif crep and crep.kern then
d = node.new(13, 1) -- (kern, user)
local quad = font.getfont(item_base.font).size or 655360
d.attr = item_base.attr
d.kern = crep.kern * quad
head, new = node.insert_before(head, item, d)
-
+
elseif crep and crep.node then
d = node.new(crep.node[1], crep.node[2])
d.attr = item_base.attr
@@ -16621,7 +16651,7 @@ function Babel.hyphenate_replace(head, mode)
print('.....', '/')
Babel.debug_hyph(w, w_nodes, sc, first, last, last_match)
end
-
+
if dummy_node then
node.remove(head, dummy_node)
dummy_node = nil
@@ -16776,16 +16806,13 @@ Babel.ranges = {
{0x07C0, 0x085F, 'r'},
{0x0860, 0x086F, 'al'},
{0x08A0, 0x08FF, 'al'},
- {0xE000, 0xF8FF, 'on'}, -- PUA
{0xFB1D, 0xFB4F, 'r'},
{0xFB50, 0xFDFF, 'al'},
{0xFE70, 0xFEFF, 'al'},
{0x10800, 0x10C4F, 'r'},
{0x1E800, 0x1E8DF, 'r'},
{0x1E900, 0x1E95F, 'r'},
- {0x1F300, 0x1F9FF, 'on'},
- {0xF0000, 0xFFFFD, 'on'}, -- PUA
- {0x100000, 0x10FFFD, 'on'} -- PUA
+ {0x1F300, 0x1F9FF, 'on'}
}
Babel.characters = {
@@ -23085,7 +23112,7 @@ function Babel.bidi(head, ispar)
elseif first_d and dir ~= strong_lr then
dir_mark(head, first_d, last_d, outer)
first_d, last_d = nil, nil
- end
+ end
end
% \end{macrocode}
%
@@ -23094,10 +23121,8 @@ function Babel.bidi(head, ispar)
% clearly <r> and <l>, resptly, but with other combinations depends on
% outer. From all these, we select only those resolving <on> $\to$
% <r>. At the beginning (when |last_lr| is nil) of an R text, they are
-% mirrored directly.
-%
-% TODO - numbers in R mode are processed. It doesn't hurt, but should
-% not be done.
+% mirrored directly. Numbers in R mode are processed. It should not be
+% done, but it doesn't hurt.
%
% \begin{macrocode}
if dir and not last_lr and dir ~= 'l' and outer == 'r' then
@@ -23254,6 +23279,7 @@ function Babel.bidi(head, ispar, hdir)
local has_hyperlink = false
local ATDIR = Babel.attr_dir
+ local attr_d
local save_outer
local temp = node.get_attribute(head, ATDIR)
@@ -23285,9 +23311,11 @@ function Babel.bidi(head, ispar, hdir)
-- current one is not added until we start processing the neutrals.
-- three cases: glyph, dir, otherwise
- if glyph_not_symbol_font(item)
+ if glyph_not_symbol_font(item)
or (item.id == 7 and item.subtype == 2) then
+ if node.get_attribute(item, ATDIR) == 128 then goto nextnode end
+
local d_font = nil
local item_r
if item.id == 7 and item.subtype == 2 then
@@ -23295,6 +23323,7 @@ function Babel.bidi(head, ispar, hdir)
else
item_r = item
end
+
local chardata = characters[item_r.char]
d = chardata and chardata.d or nil
if not d or d == 'nsm' then
@@ -23422,6 +23451,7 @@ function Babel.bidi(head, ispar, hdir)
-- Force mathdir in math if ON (currently works as expected only
-- with 'l')
+
if inmath and d == 'on' then
d = ('TRT' == tex.mathdir) and 'r' or 'l'
end
@@ -23437,9 +23467,12 @@ function Babel.bidi(head, ispar, hdir)
table.insert(nodes, {item, d, outer_first})
end
+ node.set_attribute(item, ATDIR, 128)
outer_first = nil
- end
+ ::nextnode::
+
+ end -- for each node
-- TODO -- repeated here in case EN/ET is the last node. Find a
-- better way of doing things:
@@ -23600,6 +23633,15 @@ function Babel.bidi(head, ispar, hdir)
return head
end
+-- Make sure anything is marked as 'bidi done' (including nodes inserted
+-- after the babel algorithm).
+function Babel.unset_atdir(head)
+ local ATDIR = Babel.attr_dir
+ for item in node.traverse(head) do
+ node.set_attribute(item, ATDIR, 128)
+ end
+ return head
+end
%</basic>
% \end{macrocode}
%
diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins
index 9c640a94cb..50ebda7423 100644
--- a/macros/latex/required/babel/base/babel.ins
+++ b/macros/latex/required/babel/base/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2024/06/26}
+\def\filedate{2024/08/18}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf
index 8d3e32fbc8..e99c81ec6f 100644
--- a/macros/latex/required/babel/base/babel.pdf
+++ b/macros/latex/required/babel/base/babel.pdf
Binary files differ
diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx
index d88b690b23..f45bc18a0e 100644
--- a/macros/latex/required/babel/base/bbcompat.dtx
+++ b/macros/latex/required/babel/base/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2024/06/26 v24.7]
+\ProvidesFile{bbcompat.dtx}[2024/08/18 v24.8]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/macros/latex/required/l3kernel/CHANGELOG.md b/macros/latex/required/l3kernel/CHANGELOG.md
index c58c1a6188..76ee35a0f1 100644
--- a/macros/latex/required/l3kernel/CHANGELOG.md
+++ b/macros/latex/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-07-20]
+
+### Fixed
+- Implementation of deprecated `\tl_mixed_case:n(n)`
+- Redo the fix for LaTeX2e key properties (issue latex3/latex2e\#1415)
+
+## [2024-06-19]
+
+### Fixed
+- Avoid a low-level error when LaTeX2e key properties are given without a value
+
## [2024-05-27]
### Added
@@ -1742,7 +1753,9 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-05-27...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-07-20...HEAD
+[2024-07-20]: https://github.com/latex3/latex3/compare/2024-06-19...2024-07-20
+[2024-06-19]: https://github.com/latex3/latex3/compare/2024-05-27...2024-06-19
[2024-05-27]: https://github.com/latex3/latex3/compare/2024-05-08...2024-05-27
[2024-05-08]: https://github.com/latex3/latex3/compare/2024-04-11...2024-05-08
[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
diff --git a/macros/latex/required/l3kernel/README.md b/macros/latex/required/l3kernel/README.md
index 8946af1293..0afb38a9ba 100644
--- a/macros/latex/required/l3kernel/README.md
+++ b/macros/latex/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-05-27
+Release 2024-07-20
Overview
--------
diff --git a/macros/latex/required/l3kernel/expl3.dtx b/macros/latex/required/l3kernel/expl3.dtx
index 4b4e61d3c8..64c65d0ff7 100644
--- a/macros/latex/required/l3kernel/expl3.dtx
+++ b/macros/latex/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-05-27}%
+\def\ExplFileDate{2024-07-20}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/expl3.pdf b/macros/latex/required/l3kernel/expl3.pdf
index a6eca24ce4..650e6999f9 100644
--- a/macros/latex/required/l3kernel/expl3.pdf
+++ b/macros/latex/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/interface3.pdf b/macros/latex/required/l3kernel/interface3.pdf
index 5c72322e35..1b89f2f257 100644
--- a/macros/latex/required/l3kernel/interface3.pdf
+++ b/macros/latex/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/interface3.tex b/macros/latex/required/l3kernel/interface3.tex
index 62501cfa53..0219809dab 100644
--- a/macros/latex/required/l3kernel/interface3.tex
+++ b/macros/latex/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/required/l3kernel/l3basics.dtx b/macros/latex/required/l3kernel/l3basics.dtx
index 69e4441580..ad15d79653 100644
--- a/macros/latex/required/l3kernel/l3basics.dtx
+++ b/macros/latex/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3bitset.dtx b/macros/latex/required/l3kernel/l3bitset.dtx
index 4559b56fd3..2b62c68b4a 100644
--- a/macros/latex/required/l3kernel/l3bitset.dtx
+++ b/macros/latex/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3bootstrap.dtx b/macros/latex/required/l3kernel/l3bootstrap.dtx
index 861f0bb5a6..7f4eba752b 100644
--- a/macros/latex/required/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3box.dtx b/macros/latex/required/l3kernel/l3box.dtx
index 808d22da23..532ec6a7d8 100644
--- a/macros/latex/required/l3kernel/l3box.dtx
+++ b/macros/latex/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -906,9 +906,9 @@
% \begin{syntax}
% \cs{box_set_trim:Nnnnn} \meta{box} \Arg{left} \Arg{bottom} \Arg{right} \Arg{top}
% \end{syntax}
-% Adjusts the bounding box of the \meta{box} \meta{left} is removed from
+% Adjusts the bounding box of the \meta{box}: \meta{left} is removed from
% the left-hand edge of the bounding box, \meta{right} from the right-hand
-% edge and so fourth. All adjustments are \meta{dim exprs}.
+% edge, and so forth. All adjustments are \meta{dim exprs}.
% Material outside of the bounding box is still displayed in the output
% unless \cs{box_set_clipped:N} is subsequently applied.
% The updated \meta{box} is an
diff --git a/macros/latex/required/l3kernel/l3cctab.dtx b/macros/latex/required/l3kernel/l3cctab.dtx
index 4bf8db41a6..92f134aa93 100644
--- a/macros/latex/required/l3kernel/l3cctab.dtx
+++ b/macros/latex/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3clist.dtx b/macros/latex/required/l3kernel/l3clist.dtx
index 5adb01cffb..f8d1eeaea8 100644
--- a/macros/latex/required/l3kernel/l3clist.dtx
+++ b/macros/latex/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -324,8 +324,10 @@
% {
% \clist_remove_all:Nn, \clist_remove_all:cn,
% \clist_remove_all:NV, \clist_remove_all:cV,
+% \clist_remove_all:Ne, \clist_remove_all:ce,
% \clist_gremove_all:Nn, \clist_gremove_all:cn,
% \clist_gremove_all:NV, \clist_gremove_all:cV
+% \clist_gremove_all:Ne, \clist_gremove_all:ce
% }
% \begin{syntax}
% \cs{clist_remove_all:Nn} \meta{clist~var} \Arg{item}
@@ -1429,13 +1431,15 @@
% \begin{macro}
% {
% \clist_remove_all:Nn, \clist_remove_all:cn,
-% \clist_remove_all:NV, \clist_remove_all:cV
+% \clist_remove_all:NV, \clist_remove_all:cV,
+% \clist_remove_all:Ne, \clist_remove_all:ce
% }
% \UnitTested
% \begin{macro}
% {
% \clist_gremove_all:Nn, \clist_gremove_all:cn,
-% \clist_gremove_all:NV, \clist_gremove_all:cV
+% \clist_gremove_all:NV, \clist_gremove_all:cV,
+% \clist_gremove_all:Ne, \clist_gremove_all:ce
% }
% \UnitTested
% \begin{macro}{\@@_remove_all:NNNn}
@@ -1509,8 +1513,8 @@
\cs_new:Npn \@@_remove_all:
{ \exp_after:wN \@@_remove_all:w \@@_tmp:w , }
\cs_new:Npn \@@_remove_all:w #1 , \s_@@_mark , #2 , { \exp_not:n {#1} }
-\cs_generate_variant:Nn \clist_remove_all:Nn { c , NV , cV }
-\cs_generate_variant:Nn \clist_gremove_all:Nn { c , NV , cV }
+\cs_generate_variant:Nn \clist_remove_all:Nn { c , NV , cV , Ne , ce }
+\cs_generate_variant:Nn \clist_gremove_all:Nn { c , NV , cV , Ne , ce }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/required/l3kernel/l3coffins.dtx b/macros/latex/required/l3kernel/l3coffins.dtx
index 62dc5f92ad..afbd1bd394 100644
--- a/macros/latex/required/l3kernel/l3coffins.dtx
+++ b/macros/latex/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3color.dtx b/macros/latex/required/l3kernel/l3color.dtx
index b56fb9e0ac..117a468d21 100644
--- a/macros/latex/required/l3kernel/l3color.dtx
+++ b/macros/latex/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -103,7 +103,7 @@
% \begin{itemize}
% \item \texttt{Gray} Grayscale color, with a single axis running from
% $0$ (fully black) to $15$ (fully white)
-% \item \texttt{hsb} Hue-saturation-brightness color, with three axes,all
+% \item \texttt{hsb} Hue-saturation-brightness color, with three axes, all
% real values in the range $[0,1]$ for hue saturation and brightness
% \item \texttt{Hsb} Hue-saturation-brightness color, with three axes, integer
% in the range $[0,360]$ for hue, real values in the range $[0,1]$ for
@@ -406,20 +406,20 @@
%
% \begin{function}{\color_export:nnN}
% \begin{syntax}
-% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \Arg{tl}
+% \cs{color_export:nnN} \Arg{color expression} \Arg{format} \meta{tl var}
% \end{syntax}
% Parses the \meta{color expression} as described earlier,
% then converts to the \meta{format} specified and assigns the data to the
-% \meta{tl}.
+% \meta{tl var}.
% \end{function}
%
% \begin{function}{\color_export:nnnN}
% \begin{syntax}
-% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \Arg{tl}
+% \cs{color_export:nnnN} \Arg{model} \Arg{value(s)} \Arg{format} \meta{tl var}
% \end{syntax}
% Expresses the combination of \meta{model} and \meta{value(s)} in an
% internal representation, then converts to the \meta{format} specified and
-% assigns the data to the \meta{tl}.
+% assigns the data to the \meta{tl var}.
% \end{function}
%
% \section{Creating new color models}
@@ -495,7 +495,7 @@
%
% Color profiles are used to ensure color accuracy by linking to collaboration.
% Applying a profile can be used to standardise color which is otherwise
-% device-dependence.
+% device-dependent.
%
% \begin{function}[added = 2021-02-23]{\color_profile_apply:nn}
% \begin{syntax}
@@ -697,14 +697,14 @@
% \begin{macro}{\@@_convert:nnnN, \@@_convert:nVnN, \@@_convert:nnVN}
% \begin{macro}[EXP]
% {
-% \@@_convert_gray_gray:w
-% \@@_convert_gray_rgb:w
-% \@@_convert_gray_cmyk:w
-% \@@_convert_cmyk_gray:w
-% \@@_convert_cmyk_rgb:w
-% \@@_convert_cmyk_cmyk:w
-% \@@_convert_rgb_gray:w
-% \@@_convert_rgb_rgb:w
+% \@@_convert_gray_gray:w,
+% \@@_convert_gray_rgb:w,
+% \@@_convert_gray_cmyk:w,
+% \@@_convert_cmyk_gray:w,
+% \@@_convert_cmyk_rgb:w,
+% \@@_convert_cmyk_cmyk:w,
+% \@@_convert_rgb_gray:w,
+% \@@_convert_rgb_rgb:w,
% \@@_convert_rgb_cmyk:w
% }
% \begin{macro}[EXP]{\@@_convert_rgb_cmyk:nnn}
diff --git a/macros/latex/required/l3kernel/l3debug.dtx b/macros/latex/required/l3kernel/l3debug.dtx
index 21e6747a84..4e578ee9b6 100644
--- a/macros/latex/required/l3kernel/l3debug.dtx
+++ b/macros/latex/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-05-27}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-07-20}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
diff --git a/macros/latex/required/l3kernel/l3deprecation.dtx b/macros/latex/required/l3kernel/l3deprecation.dtx
index 5852205ddc..697f235311 100644
--- a/macros/latex/required/l3kernel/l3deprecation.dtx
+++ b/macros/latex/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -505,10 +505,10 @@
{ \text_uppercase:nn {#1} {#2} }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:n }
\cs_new:Npn \tl_mixed_case:n #1
- { \text_titlecase_first:n {#1} }
+ { \text_titlecase_first:n { \text_lowercase:n {#1} } }
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_titlecase_first:nn }
\cs_new:Npn \tl_mixed_case:nn #1#2
- { \text_titlecase_first:nn {#1} {#2} }
+ { \text_titlecase_first:nn {#1} { \text_lowercase:n {#2} } }
% \end{macrocode}
% \end{macro}
%
@@ -571,7 +571,7 @@
% \char_lower_case:N, \char_upper_case:N,
% \char_mixed_case:Nn, \char_fold_case:N,
% \char_str_lower_case:N, \char_str_upper_case:N,
-% \char_str_mixed_case:Nn, \char_str_fold_case:N,
+% \char_str_mixed_case:N, \char_str_fold_case:N,
% }
% \begin{macrocode}
\__kernel_patch_deprecation:nnNNpn { 2020-01-03 } { \text_lowercase:n }
diff --git a/macros/latex/required/l3kernel/l3doc.dtx b/macros/latex/required/l3kernel/l3doc.dtx
index 43b719ce59..751d4f4e14 100644
--- a/macros/latex/required/l3kernel/l3doc.dtx
+++ b/macros/latex/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-05-27}{}
+\ProvidesExplClass{l3doc}{2024-07-20}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/required/l3kernel/l3doc.pdf b/macros/latex/required/l3kernel/l3doc.pdf
index 42960f5e6f..0d5a3494c0 100644
--- a/macros/latex/required/l3kernel/l3doc.pdf
+++ b/macros/latex/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3docstrip.dtx b/macros/latex/required/l3kernel/l3docstrip.dtx
index fecb228324..199801ff3b 100644
--- a/macros/latex/required/l3kernel/l3docstrip.dtx
+++ b/macros/latex/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3docstrip.pdf b/macros/latex/required/l3kernel/l3docstrip.pdf
index efc8882c36..07f24848e3 100644
--- a/macros/latex/required/l3kernel/l3docstrip.pdf
+++ b/macros/latex/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3expan.dtx b/macros/latex/required/l3kernel/l3expan.dtx
index d13578bde1..499c94587e 100644
--- a/macros/latex/required/l3kernel/l3expan.dtx
+++ b/macros/latex/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3file.dtx b/macros/latex/required/l3kernel/l3file.dtx
index 546222711e..039c4eecb8 100644
--- a/macros/latex/required/l3kernel/l3file.dtx
+++ b/macros/latex/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3flag.dtx b/macros/latex/required/l3kernel/l3flag.dtx
index 88e726df35..690347426f 100644
--- a/macros/latex/required/l3kernel/l3flag.dtx
+++ b/macros/latex/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-assign.dtx b/macros/latex/required/l3kernel/l3fp-assign.dtx
index e6fa97423e..e1b3bc788b 100644
--- a/macros/latex/required/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/required/l3kernel/l3fp-aux.dtx b/macros/latex/required/l3kernel/l3fp-aux.dtx
index 1ad33e235e..4c39e81f46 100644
--- a/macros/latex/required/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-basics.dtx b/macros/latex/required/l3kernel/l3fp-basics.dtx
index e2d93219b0..a93ff90291 100644
--- a/macros/latex/required/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-convert.dtx b/macros/latex/required/l3kernel/l3fp-convert.dtx
index 4983a3dd1f..9b5b66f815 100644
--- a/macros/latex/required/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-expo.dtx b/macros/latex/required/l3kernel/l3fp-expo.dtx
index 7577f640d4..e9dcdf6646 100644
--- a/macros/latex/required/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-extended.dtx b/macros/latex/required/l3kernel/l3fp-extended.dtx
index 596dc86ef2..24f1e5c127 100644
--- a/macros/latex/required/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-functions.dtx b/macros/latex/required/l3kernel/l3fp-functions.dtx
index b9e269b988..2c5eb9602f 100644
--- a/macros/latex/required/l3kernel/l3fp-functions.dtx
+++ b/macros/latex/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-logic.dtx b/macros/latex/required/l3kernel/l3fp-logic.dtx
index 486a3bc579..9d39f4f67e 100644
--- a/macros/latex/required/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-parse.dtx b/macros/latex/required/l3kernel/l3fp-parse.dtx
index 7853c40132..191ab2755c 100644
--- a/macros/latex/required/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-random.dtx b/macros/latex/required/l3kernel/l3fp-random.dtx
index ff999926ab..dd40704719 100644
--- a/macros/latex/required/l3kernel/l3fp-random.dtx
+++ b/macros/latex/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-round.dtx b/macros/latex/required/l3kernel/l3fp-round.dtx
index 0d39b8a26a..ad20934215 100644
--- a/macros/latex/required/l3kernel/l3fp-round.dtx
+++ b/macros/latex/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-symbolic.dtx b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
index 88e214f49e..8223419f66 100644
--- a/macros/latex/required/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-traps.dtx b/macros/latex/required/l3kernel/l3fp-traps.dtx
index fec48bc163..7f22a2d137 100644
--- a/macros/latex/required/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/required/l3kernel/l3fp-trig.dtx b/macros/latex/required/l3kernel/l3fp-trig.dtx
index 7c40c6198f..b7b67c9445 100644
--- a/macros/latex/required/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp-types.dtx b/macros/latex/required/l3kernel/l3fp-types.dtx
index e9269e1f03..d969f76bdc 100644
--- a/macros/latex/required/l3kernel/l3fp-types.dtx
+++ b/macros/latex/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3fp.dtx b/macros/latex/required/l3kernel/l3fp.dtx
index d273b057ea..8e37a55799 100644
--- a/macros/latex/required/l3kernel/l3fp.dtx
+++ b/macros/latex/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -773,7 +773,7 @@
% The result may contain other functions, which are
% then replaced by their results if they have any. For instance,
% \begin{quote}
-% \cs{fp_new_function:n} |{ foo }| \\
+% \cs{fp_new_function:n} |{ npow }| \\
% \cs{fp_set_function:nnn} |{ npow } { a,b } { a**b }| \\
% \cs{fp_show:n} |{ npow(16,0.25) } }|
% \end{quote}
diff --git a/macros/latex/required/l3kernel/l3fparray.dtx b/macros/latex/required/l3kernel/l3fparray.dtx
index f48de27af3..9592671ae3 100644
--- a/macros/latex/required/l3kernel/l3fparray.dtx
+++ b/macros/latex/required/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3int.dtx b/macros/latex/required/l3kernel/l3int.dtx
index 45050964de..4b0d251cab 100644
--- a/macros/latex/required/l3kernel/l3int.dtx
+++ b/macros/latex/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -100,21 +100,6 @@
% restricted-expandable functions can both be used, and \cs{exp_not:n}
% and its variants have no effect while \cs{exp_not:N} may incorrectly
% interrupt the expression.
-% \begin{texnote}
-% Exactly two expansions are needed to evaluate \cs{int_eval:n}.
-% The result is \emph{not} an \meta{internal integer}, and therefore
-% should be terminated by a space if used in \cs{int_value:w} or in
-% a \TeX{}-style integer assignment.
-%
-% As all \TeX{} integers, integer operands can also be:
-% \tn{value}\Arg{\LaTeXe{} counter}; dimension or skip variables,
-% converted to integers in~\texttt{sp}; the character code of some
-% character given as \texttt{`}\meta{char} or
-% \texttt{`\textbackslash}\meta{char}; octal numbers given as
-% \texttt{'} followed by digits from \texttt{0} to \texttt{7}; or
-% hexadecimal numbers given as |"| followed by digits and upper case
-% letters from \texttt{A} to~\texttt{F}.
-% \end{texnote}
%
% \begin{function}[EXP]{\int_eval:n}
% \begin{syntax}
diff --git a/macros/latex/required/l3kernel/l3intarray.dtx b/macros/latex/required/l3kernel/l3intarray.dtx
index aa49275e78..4be0ca6be6 100644
--- a/macros/latex/required/l3kernel/l3intarray.dtx
+++ b/macros/latex/required/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3kernel-functions.dtx b/macros/latex/required/l3kernel/l3kernel-functions.dtx
index c3bb838acf..5d5758a6af 100644
--- a/macros/latex/required/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3keys.dtx b/macros/latex/required/l3kernel/l3keys.dtx
index 13772d1781..db580c525c 100644
--- a/macros/latex/required/l3kernel/l3keys.dtx
+++ b/macros/latex/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -649,15 +649,13 @@
% { key } % Name of choice key
% { choice-a , choice-b , choice-c } % Valid choices
% { \exp_not:n {#1} } % Invalid choice given
-% %
-% %
% }
% \end{verbatim}
%
% Multiple choices are created in a very similar manner to mutually-exclusive
% choices, using the properties \texttt{.multichoice:} and
% \texttt{.multichoices:nn}. As with mutually exclusive choices, multiple
-% choices are define as sub-keys. Thus both
+% choices are defined as sub-keys. Thus both
% \begin{verbatim}
% \keys_define:nn { mymodule }
% {
@@ -1926,19 +1924,21 @@
% \end{macro}
%
% \begin{macro}{\@@_define_code:n}
+% \begin{macro}[EXP]{\@@_define_code:nnn}
% \begin{macro}[EXP]{\@@_define_code:w}
% Two possible cases. If there is a value for the key, then just use
% the function. If not, then a check to make sure there is no need for
% a value with the property. If there should be one then complain,
-% otherwise execute it. There is no need to check for a |:| as if it
-% was missing the earlier tests would have failed.
+% otherwise execute it. For a \LaTeXe{} property like |.code| which
+% doesn't contain a |:|, treat it as having arity 1 and pass the
+% (empty) value to it.
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_code:n #1
{
\bool_if:NTF \l_@@_no_value_bool
{
- \exp_after:wN \@@_define_code:w
- \l_@@_property_str \s_@@_stop
+ \@@_define_code:nnn
+ { \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
{ \use:c { \c_@@_props_root_str \l_@@_property_str } }
{
\msg_error:nnee { keys } { property-requires-value }
@@ -1947,12 +1947,31 @@
}
{ \use:c { \c_@@_props_root_str \l_@@_property_str } {#1} }
}
-\exp_last_unbraced:NNNNo
- \cs_new:Npn \@@_define_code:w #1 \c_colon_str #2 \s_@@_stop
- { \tl_if_empty:nTF {#2} }
+\cs_new:Npe \@@_define_code:nnn
+ {
+ \exp_not:N \exp_after:wN \exp_not:N \@@_define_code:w
+ \exp_not:N \l_@@_property_str
+ \c_colon_str \c_colon_str
+ \exp_not:N \s_@@_stop
+ }
+\use:e
+ {
+ \cs_new:Npn \exp_not:N \@@_define_code:w
+ #1 \c_colon_str #2 \c_colon_str #3 \exp_not:N \s_@@_stop
+ }
+ {
+ \tl_if_empty:nTF {#3}
+ { \use_i:nnn }
+ {
+ \tl_if_empty:nTF {#2}
+ { \use_ii:nnn }
+ { \use_iii:nnn }
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Turning properties into actions}
%
diff --git a/macros/latex/required/l3kernel/l3legacy.dtx b/macros/latex/required/l3kernel/l3legacy.dtx
index 4cfce5c5f1..b5ef896827 100644
--- a/macros/latex/required/l3kernel/l3legacy.dtx
+++ b/macros/latex/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3luatex.dtx b/macros/latex/required/l3kernel/l3luatex.dtx
index eb10d5aecc..aa7724a8ce 100644
--- a/macros/latex/required/l3kernel/l3luatex.dtx
+++ b/macros/latex/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3msg.dtx b/macros/latex/required/l3kernel/l3msg.dtx
index e901b07c06..66e7ac8282 100644
--- a/macros/latex/required/l3kernel/l3msg.dtx
+++ b/macros/latex/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3names.dtx b/macros/latex/required/l3kernel/l3names.dtx
index 5cdd1361e3..1cb0d132ae 100644
--- a/macros/latex/required/l3kernel/l3names.dtx
+++ b/macros/latex/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3news.pdf b/macros/latex/required/l3kernel/l3news.pdf
index 4b57ef41c8..eb4c42d8c5 100644
--- a/macros/latex/required/l3kernel/l3news.pdf
+++ b/macros/latex/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news01.pdf b/macros/latex/required/l3kernel/l3news01.pdf
index b5f45059d3..21997cf980 100644
--- a/macros/latex/required/l3kernel/l3news01.pdf
+++ b/macros/latex/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news02.pdf b/macros/latex/required/l3kernel/l3news02.pdf
index 0ee8ffaf96..db1ac5b85b 100644
--- a/macros/latex/required/l3kernel/l3news02.pdf
+++ b/macros/latex/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news03.pdf b/macros/latex/required/l3kernel/l3news03.pdf
index fef9bf3a7b..6630201b1f 100644
--- a/macros/latex/required/l3kernel/l3news03.pdf
+++ b/macros/latex/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news04.pdf b/macros/latex/required/l3kernel/l3news04.pdf
index 0afbb9591e..c74f9f0a7c 100644
--- a/macros/latex/required/l3kernel/l3news04.pdf
+++ b/macros/latex/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news05.pdf b/macros/latex/required/l3kernel/l3news05.pdf
index 0a44ce6811..18d4df3290 100644
--- a/macros/latex/required/l3kernel/l3news05.pdf
+++ b/macros/latex/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news06.pdf b/macros/latex/required/l3kernel/l3news06.pdf
index 10cec7c17f..643b8f1f68 100644
--- a/macros/latex/required/l3kernel/l3news06.pdf
+++ b/macros/latex/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news07.pdf b/macros/latex/required/l3kernel/l3news07.pdf
index 6bfbab4d96..b457fd6033 100644
--- a/macros/latex/required/l3kernel/l3news07.pdf
+++ b/macros/latex/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news08.pdf b/macros/latex/required/l3kernel/l3news08.pdf
index a0130195cc..a5b4744d28 100644
--- a/macros/latex/required/l3kernel/l3news08.pdf
+++ b/macros/latex/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news09.pdf b/macros/latex/required/l3kernel/l3news09.pdf
index 3616cc20ca..a2242937d2 100644
--- a/macros/latex/required/l3kernel/l3news09.pdf
+++ b/macros/latex/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news10.pdf b/macros/latex/required/l3kernel/l3news10.pdf
index 00ec553d1c..1775167008 100644
--- a/macros/latex/required/l3kernel/l3news10.pdf
+++ b/macros/latex/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news11.pdf b/macros/latex/required/l3kernel/l3news11.pdf
index 59a672d339..8e14906f03 100644
--- a/macros/latex/required/l3kernel/l3news11.pdf
+++ b/macros/latex/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3news12.pdf b/macros/latex/required/l3kernel/l3news12.pdf
index 9c4f937b00..15a8332f07 100644
--- a/macros/latex/required/l3kernel/l3news12.pdf
+++ b/macros/latex/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3pdf.dtx b/macros/latex/required/l3kernel/l3pdf.dtx
index 55f49476e3..34118c371a 100644
--- a/macros/latex/required/l3kernel/l3pdf.dtx
+++ b/macros/latex/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -70,8 +70,8 @@
% \cs{pdf_object_write:nnn} \Arg{object} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of the \meta{object}. Depending on the
-% \meta{type} declared for the object, the format required for the
-% \meta{data} will vary
+% \meta{type} declared for the object, the format required for
+% \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -159,7 +159,7 @@
% \cs{pdf_object_unnamed_write:nn} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of an anonymous object. Depending on the
-% \meta{type}, the format required for the \meta{data} will vary
+% \meta{type}, the format required for \meta{content} will vary:
% \begin{itemize}
% \item[\texttt{array}] A space-separated list of values
% \item[\texttt{dict}] Key--value pairs in the form
@@ -251,9 +251,9 @@
%
% \section{Destinations}
%
-% Destinations are the places a link jumped too.
-% Unlike the name may suggest they don't described
-% an exact location in the PDF. Instead a destination contains a reference to
+% Destinations are the places a link jumped to.
+% Unlike the name may suggest, they don't describe
+% an exact location in the PDF. Instead, a destination contains a reference to
% a page along with an instruction how to display this page.
% The normally used \enquote{XYZ \textit{top left zoom}} for example instructs
% the viewer to show the page with the given \textit{zoom} and
diff --git a/macros/latex/required/l3kernel/l3prefixes.csv b/macros/latex/required/l3kernel/l3prefixes.csv
index e85412b9d8..339f6625fd 100644
--- a/macros/latex/required/l3kernel/l3prefixes.csv
+++ b/macros/latex/required/l3kernel/l3prefixes.csv
@@ -26,6 +26,7 @@ block,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
bool,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
box,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
bxjh,BXjaholiday,Takuto Asakura,https://github.com/wtsnjp/BXjaholiday,https://github.com/wtsnjp/BXjaholiday.git,https://github.com/wtsnjp/BXjaholiday/issues,2018-02-02,2019-02-02,
+cal,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21,
catcode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
cctab,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
@@ -135,6 +136,7 @@ keys,"l3kernel,l3keys2e,ltkeys",The LaTeX Project,https://www.latex-project.org/
keyval,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
kgl,kantlipsum,Enrico Gregorio,,,,2013-03-16,2013-03-16,
kivitendo,"kiviletter, kivitables",Marei Peischl for Kivitendo,https://www.kivitendo.de/,https://github.com/kivitendo/kivitendo-erp,https://forum.kivitendo.de/,2021-05-28,2021-05-28,
+knot,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
langsci,langscibook,Language Science Press,https://langsci-press.org,https://github.com/langsci/langscibook,https://github.com/langsci/langscibook/issues,2021-07-20,2021-07-21,
left,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
liftarm,liftarm,Matthias Floré,,,,2024-05-25,2024-05-25,
@@ -210,6 +212,7 @@ property,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,htt
pseudo,pseudo,Magnus Lie Hetland,https://github.com/mlhetland/pseudo.sty,https://github.com/mlhetland/pseudo.sty.git,https://github.com/mlhetland/pseudo.sty/issues,2019-06-24,2019-06-24,
ptex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-07-28,2015-07-28,
ptxcd,ptxcd,Marei Peischl,,,,2020-07-27,2020-07-27,Used for specific corporate design templates
+ptxtools,"depp, ptxtools",Marei Peischl,https://gitlab.com/islandoftex/texmf/depp,https://gitlab.com/islandoftex/texmf/depp.git,https://gitlab.com/islandoftex/texmf/depp,2024-07-09,2024-07-09,
qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/peiTeX/qrbill.git,https://github.com/peiTeX/qrbill/issues,2020-06-27,2020-06-27,
quark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
rainbow,beamertheme-rainbow,samcarter,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow,https://github.com/samcarter/beamertheme-rainbow/issues,2023-07-04,2023-07-04,
@@ -239,6 +242,7 @@ slcd,se2thesis,Stephan Lukasczyk,https://github.com/se2p/se2thesis,https://githu
socket,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2023-10-17,2023-10-17,
sort,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
space,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+spath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
starray,starray,Alceu Frigeri,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray,https://github.com/alceu-frigeri/starray/issues,2023-05-15,2023-05-15,
statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistics,https://gitlab.com/frnchfrgg-latex/statistics.git,https://gitlab.com/frnchfrgg-latex/statistics/issues,2018-06-25,2018-06-25,
stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26,
@@ -258,6 +262,7 @@ tex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/
text,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-01-15,2020-01-15,
tikzfill,tikzfill,Thomas F. Sturm,https://github.com/T-F-S/tikzfill,https://github.com/T-F-S/tikzfill.git,https://github.com/T-F-S/tikzfill/issues,2022-07-19,2022-07-19,
tikzlings,tikzlings,samcarter,https://github.com/samcarter/tikzlings,git@github.com:samcarter/tikzlings.git,https://github.com/samcarter/tikzlings/issues,2023-02-17,2023-02-17,
+tikzspath,spath3,Andrew Stacey,https://github.com/loopspace/spath3,https://github.com/loopspace/spath3.git,https://github.com/loopspace/spath3/issues,2024-07-18,2024-07-18,
tikzsymbols,tikzsymbols,Ben Vitecek,https://github.com/Vidabe/tikzsymbols,https://github.com/Vidabe/tikzsymbols.git,https://github.com/Vidabe/tikzsymbols/issues,2018-09-26,2018-09-26,
tilde,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
tl,"l3kernel,l3tl-build",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
@@ -288,6 +293,7 @@ xmarks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https
xparse,xparse,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
xpatch,"regexpatch,xpatch",Enrico Gregorio,,,,2013-03-16,2013-03-16,
xpeek,xpeek,Joel C. Salomon,,,,2013-03-16,2013-03-16,
+xpg,polyglossia,Jürgen Spitzmüller,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/,https://github.com/reutenauer/polyglossia/issues,2024-07-02,2024-07-02,
xpinyin,xpinyin,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2013-03-16,2013-05-26,
xsb,xsavebox,Alexander Grahn,,https://gitlab.com/agrahn/xsavebox,https://gitlab.com/agrahn/xsavebox/issues,2016-02-26,2020-04-15,
xsim,xsim,Clemens Niederberger,https://github.com/cgnieder/xsim/,https://github.com/cgnieder/xsim.git,https://github.com/cgnieder/xsim/issues,2020-04-14,2020-04-14,
@@ -299,4 +305,5 @@ zhnum,zhnumber,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/
zrefcheck,zref-check,gusbrs,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check,https://github.com/gusbrs/zref-check/issues,2021-08-05,2021-08-05,
zrefclever,zref-clever,gusbrs,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever,https://github.com/gusbrs/zref-clever/issues,2021-11-29,2021-11-29,
zrefvario,zref-vario,gusbrs,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario,https://github.com/gusbrs/zref-vario/issues,2022-02-02,2022-02-02,
+zugferd,zugferd,Marei Peischl,https://github.com/TeXhackse/LaTeX-ZUGFeRD,https://github.com/TeXhackse/LaTeX-ZUGFeRD.git,https://github.com/TeXhackse/LaTeX-ZUGFeRD/issues,2024-07-09,2024-07-09,
zxjt,zxjatype,Takayuki Yato,,,,2013-03-16,2013-03-16,
diff --git a/macros/latex/required/l3kernel/l3prefixes.pdf b/macros/latex/required/l3kernel/l3prefixes.pdf
index 602ccaaa59..ab4d18e916 100644
--- a/macros/latex/required/l3kernel/l3prefixes.pdf
+++ b/macros/latex/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3prg.dtx b/macros/latex/required/l3kernel/l3prg.dtx
index bec4e3a712..ac6131d6ff 100644
--- a/macros/latex/required/l3kernel/l3prg.dtx
+++ b/macros/latex/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3prop.dtx b/macros/latex/required/l3kernel/l3prop.dtx
index 21b8d03dd6..fd0d8e167d 100644
--- a/macros/latex/required/l3kernel/l3prop.dtx
+++ b/macros/latex/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -181,11 +181,11 @@
% \prop_gset_from_keyval:Nn, \prop_gset_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_set_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_set_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Sets \meta{property list} to contain key--value pairs given in the second
% argument. If duplicate keys appear only the last of the values is kept.
@@ -205,11 +205,11 @@
% \begin{function}[added = 2017-11-28, updated = 2021-11-07]
% {\prop_const_from_keyval:Nn, \prop_const_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{flat} \meta{property list} or raises
% an error if the
@@ -224,11 +224,11 @@
% \begin{function}[added = 2024-02-12]
% {\prop_const_linked_from_keyval:Nn, \prop_const_linked_from_keyval:cn}
% \begin{syntax}
-% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_const_linked_from_keyval:Nn} \meta{prop~var} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Creates a new constant \enquote{linked} \meta{prop~var} or raises an
% error if the
@@ -347,11 +347,11 @@
% \prop_gput_from_keyval:Nn, \prop_gput_from_keyval:cn,
% }
% \begin{syntax}
-% \cs{prop_put_from_keyval:Nn} \meta{property list}
-% \{
-% \meta{key1} |=| \meta{value1} |,|
-% \meta{key2} |=| \meta{value2} |,| \ldots{}
-% \}
+% \cs{prop_put_from_keyval:Nn} \meta{property list} \\
+% ~~\{ \\
+% ~~~~\meta{key1} |=| \meta{value1} |,| \\
+% ~~~~\meta{key2} |=| \meta{value2} |,| \ldots{} \\
+% ~~\}
% \end{syntax}
% Updates the \meta{property list} by adding entries for each key--value
% pair given in the second argument. The addition is done through
diff --git a/macros/latex/required/l3kernel/l3quark.dtx b/macros/latex/required/l3kernel/l3quark.dtx
index 136596a3fe..ad78a12bd2 100644
--- a/macros/latex/required/l3kernel/l3quark.dtx
+++ b/macros/latex/required/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3regex.dtx b/macros/latex/required/l3kernel/l3regex.dtx
index 6ca9c8eeed..c3d5de27cb 100644
--- a/macros/latex/required/l3kernel/l3regex.dtx
+++ b/macros/latex/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3seq.dtx b/macros/latex/required/l3kernel/l3seq.dtx
index 38fc9471a9..413e20f8ca 100644
--- a/macros/latex/required/l3kernel/l3seq.dtx
+++ b/macros/latex/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3skip.dtx b/macros/latex/required/l3kernel/l3skip.dtx
index 6e96b41326..9bea4c7b14 100644
--- a/macros/latex/required/l3kernel/l3skip.dtx
+++ b/macros/latex/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3sort.dtx b/macros/latex/required/l3kernel/l3sort.dtx
index 47cebcad25..a86f916d24 100644
--- a/macros/latex/required/l3kernel/l3sort.dtx
+++ b/macros/latex/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3str-convert.dtx b/macros/latex/required/l3kernel/l3str-convert.dtx
index baf705fe0c..4061895896 100644
--- a/macros/latex/required/l3kernel/l3str-convert.dtx
+++ b/macros/latex/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3str.dtx b/macros/latex/required/l3kernel/l3str.dtx
index f4f7b94b88..2be2b105ce 100644
--- a/macros/latex/required/l3kernel/l3str.dtx
+++ b/macros/latex/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -757,7 +757,7 @@
% \item Case changing text for typesetting: see the
% \cs[index=text_lowercase:n]{text_lowercase:n(n)},
% \cs[index=text_uppercase:n]{text_uppercase:n(n)} and
-% \cs[index=text_titlecase_all:n]{text_titlecase_(all|once):n(n)} functions which
+% \cs[index=text_titlecase_all:n]{text_titlecase_(all|first):n(n)} functions which
% correctly deal with context-dependence and other factors appropriate
% to text case changing.
% \end{itemize}
diff --git a/macros/latex/required/l3kernel/l3styleguide.pdf b/macros/latex/required/l3kernel/l3styleguide.pdf
index 0113bac571..31ff7889ff 100644
--- a/macros/latex/required/l3kernel/l3styleguide.pdf
+++ b/macros/latex/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3styleguide.tex b/macros/latex/required/l3kernel/l3styleguide.tex
index bcea3de06e..985f20a68c 100644
--- a/macros/latex/required/l3kernel/l3styleguide.tex
+++ b/macros/latex/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\begin{document}
diff --git a/macros/latex/required/l3kernel/l3syntax-changes.pdf b/macros/latex/required/l3kernel/l3syntax-changes.pdf
index 99e93c2ccc..515a9eb803 100644
--- a/macros/latex/required/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3syntax-changes.tex b/macros/latex/required/l3kernel/l3syntax-changes.tex
index 30d8d47747..b9ffcb011a 100644
--- a/macros/latex/required/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/required/l3kernel/l3sys.dtx b/macros/latex/required/l3kernel/l3sys.dtx
index b2228c7fd9..1db09f9550 100644
--- a/macros/latex/required/l3kernel/l3sys.dtx
+++ b/macros/latex/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3term-glossary.pdf b/macros/latex/required/l3kernel/l3term-glossary.pdf
index 01598ca79a..d1a2058e9f 100644
--- a/macros/latex/required/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/l3term-glossary.tex b/macros/latex/required/l3kernel/l3term-glossary.tex
index 141749aa6b..fca2886337 100644
--- a/macros/latex/required/l3kernel/l3term-glossary.tex
+++ b/macros/latex/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/required/l3kernel/l3text-case.dtx b/macros/latex/required/l3kernel/l3text-case.dtx
index 89cdb9e2b1..134e2508b7 100644
--- a/macros/latex/required/l3kernel/l3text-case.dtx
+++ b/macros/latex/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3text-map.dtx b/macros/latex/required/l3kernel/l3text-map.dtx
index 3573002244..e3586164c5 100644
--- a/macros/latex/required/l3kernel/l3text-map.dtx
+++ b/macros/latex/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3text-purify.dtx b/macros/latex/required/l3kernel/l3text-purify.dtx
index 35390811aa..d22ee1bc3e 100644
--- a/macros/latex/required/l3kernel/l3text-purify.dtx
+++ b/macros/latex/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3text.dtx b/macros/latex/required/l3kernel/l3text.dtx
index bcfd15cb62..9a4c4f244e 100644
--- a/macros/latex/required/l3kernel/l3text.dtx
+++ b/macros/latex/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
@@ -65,11 +65,11 @@
% \end{syntax}
% Takes user input \meta{text} and expands the content.
% Protected commands (typically
-% formatting) are left in place, and no processing takes place of
+% formatting) are left in place, and no processing of
% math mode material (as delimited by pairs given in
% \cs{l_text_math_delims_tl} or as the argument to commands listed
-% in \cs{l_text_math_arg_tl}). Commands which are neither engine-
-% nor \LaTeX{} protected are expanded exhaustively.
+% in \cs{l_text_math_arg_tl}) takes place. Commands which are neither engine-
+% nor \LaTeX{}-protected are expanded exhaustively.
% Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from
% expansion, as are those in \cs{l_text_case_exclude_arg_tl} and
% \cs{l_text_math_arg_tl}.
@@ -114,8 +114,8 @@
% \end{function}
%
% Upper- and lowercase have the obvious meanings. Titlecasing may be regarded
-% informally as converting the first character of the \meta{tokens} to
-% uppercase. However, the process is more complex
+% informally as converting the first \emph{non-space} character of the
+% \meta{tokens} to uppercase. However, the process is more complex
% than this as there are some situations where a single lowercase character
% maps to a special form, for example \texttt{ij} in Dutch which becomes
% \texttt{IJ}. There are two functions available for titlecasing: one which
@@ -214,8 +214,8 @@
% \text_declare_uppercase_mapping:nnn
% }
% \begin{syntax}
-% \cs{text_declare_lowercase_mapping:nn} \Arg{codeppoint} \Arg{replacement}
-% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codeppoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nn} \Arg{codepoint} \Arg{replacement}
+% \cs{text_declare_lowercase_mapping:nnn} \Arg{BCP-47} \Arg{codepoint} \Arg{replacement}
% \end{syntax}
% Declares that the \meta{replacement} tokens should be used when case mapping
% the \meta{codepoint}, rather than the standard mapping given in the
diff --git a/macros/latex/required/l3kernel/l3tl-analysis.dtx b/macros/latex/required/l3kernel/l3tl-analysis.dtx
index 4df9ee68a3..600da3985d 100644
--- a/macros/latex/required/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3tl-build.dtx b/macros/latex/required/l3kernel/l3tl-build.dtx
index 6cd9822ad2..e484c5b1c5 100644
--- a/macros/latex/required/l3kernel/l3tl-build.dtx
+++ b/macros/latex/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3tl.dtx b/macros/latex/required/l3kernel/l3tl.dtx
index 71d68d532c..84f2c36798 100644
--- a/macros/latex/required/l3kernel/l3tl.dtx
+++ b/macros/latex/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3token.dtx b/macros/latex/required/l3kernel/l3token.dtx
index 03bf46b101..c028310326 100644
--- a/macros/latex/required/l3kernel/l3token.dtx
+++ b/macros/latex/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/l3unicode.dtx b/macros/latex/required/l3kernel/l3unicode.dtx
index 179817d490..532eb315d3 100644
--- a/macros/latex/required/l3kernel/l3unicode.dtx
+++ b/macros/latex/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-05-27}
+% \date{Released 2024-07-20}
%
% \maketitle
%
diff --git a/macros/latex/required/l3kernel/source3.pdf b/macros/latex/required/l3kernel/source3.pdf
index 34279f9e00..26c62e620d 100644
--- a/macros/latex/required/l3kernel/source3.pdf
+++ b/macros/latex/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/required/l3kernel/source3.tex b/macros/latex/required/l3kernel/source3.tex
index 00095ad319..228d3ca93c 100644
--- a/macros/latex/required/l3kernel/source3.tex
+++ b/macros/latex/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-05-27}
+\date{Released 2024-07-20}
\pagenumbering{roman}
\maketitle
diff --git a/macros/luatex/generic/luamplib/NEWS b/macros/luatex/generic/luamplib/NEWS
index c97974fc20..82e82632f6 100644
--- a/macros/luatex/generic/luamplib/NEWS
+++ b/macros/luatex/generic/luamplib/NEWS
@@ -1,5 +1,39 @@
History of the luamplib package
+2024/08/03 2.34.5
+ * provide 'withgroupbbox' macro for transparency group to enable users to
+ control the bounding box
+
+ * write down the width/height/depth values of mplibgroup to the log file
+
+2024/07/31 2.34.4
+ * 'withpattern' operator accepts a <textual picture> as well as a <path>
+ for its operand. Thus users can give pattern effect to the result of btex
+ command or infont operator.
+
+ * fix regarding line width in mplibgraphictext
+
+2024/07/27 2.34.3
+ * in DVI mode, use LaTeX's shipout hooks to generate new XObjects
+ or to put resources to pageresources. (in plain, load atbegshi.sty)
+
+ * fix shading to allow the even-odd rule
+
+2024/07/24 2.34.2
+ * With the newly introduced macros, \mplibgroup ... \endmplibgroup, users
+ can define a transparency group or a normal form XObject from TeX side.
+ The LaTeX environment 'mplibgroup' is identical to this pair of macros.
+ See the document for details.
+
+ * document: be more precise about the color effect of a transparency group
+
+ * remove trailing zeros from numeric objects to get smaller PDF
+
+2024/07/19 2.34.1
+ * transparency group is available with plain format as well.
+ * transparency group once used is reusable in the TeX code or
+ in other MetaPost code chunks. see the document for details.
+
2024/07/17 2.34.0
* support transparency group with metafun format
* fix regarding default value in circular fading mode
diff --git a/macros/luatex/generic/luamplib/luamplib.dtx b/macros/luatex/generic/luamplib/luamplib.dtx
index 44500e957c..625a35848c 100644
--- a/macros/luatex/generic/luamplib/luamplib.dtx
+++ b/macros/luatex/generic/luamplib/luamplib.dtx
@@ -85,9 +85,9 @@ See source file '\inFileName' for licencing and contact information.
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{luamplib.drv}%
- [2024/07/17 v2.34.0 Interface for using the mplib library]%
+ [2024/08/03 v2.34.5 Interface for using the mplib library]%
\documentclass{ltxdoc}
-\usepackage{metalogo,multicol,mdwlist,fancyvrb,xspace}
+\usepackage{metalogo,multicol,xspace}
\usepackage[x11names]{xcolor}
%
\def\primarycolor{DodgerBlue4} %%-> rgb 16 78 139 | #104e8b
@@ -123,7 +123,9 @@ See source file '\inFileName' for licencing and contact information.
\newcommand*\email [1] {<\href{mailto:#1}{#1}>}
\newcommand \file {\nolinkurl}
-\newcommand \pk {\textsf}
+
+\newcommand*\metapost {\textsc{metapost}\xspace}
+\newcommand*\mplib {\pkg{mplib}\xspace}
\begin{document}
\DocInput{luamplib.dtx}%
@@ -149,32 +151,32 @@ See source file '\inFileName' for licencing and contact information.
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \title{The \textsf{luamplib} package}
+% \title{The \pkg{luamplib} package}
% \author{Hans Hagen, Taco Hoekwater, Elie Roux, Philipp Gesang and Kim Dohyun\\
% Current Maintainer: Kim Dohyun\\
% Support: \url{https://github.com/lualatex/luamplib}}
-% \date{2024/07/17 v2.34.0}
+% \date{2024/08/03 v2.34.5}
%
% \maketitle
%
% \begin{abstract}
-% Package to have metapost code typeset directly in a document with \LuaTeX.
+% Package to have \metapost code typeset directly in a document with \LuaTeX.
% \end{abstract}
%
% \section{Documentation}
%
-% This package aims at providing a simple way to typeset directly metapost
+% This package aims at providing a simple way to typeset directly \metapost
% code in a document with \LuaTeX. \LuaTeX\ is built with the Lua
-% \textsf{mplib} library, that runs metapost code. This package is basically a
-% wrapper for the Lua \textsf{mplib} functions and some \TeX\
-% functions to have the output of the \textsf{mplib} functions in the pdf.
+% \mplib library, that runs \metapost code. This package is basically a
+% wrapper for the Lua \mplib functions and some \TeX\
+% functions to have the output of the \mplib functions in the pdf.
%
-% Using this package is easy: in Plain, type your metapost code between the
+% Using this package is easy: in Plain, type your \metapost code between the
% macros \cs{mplibcode} and \cs{endmplibcode}, and in \LaTeX\ in the
-% \texttt{mplibcode} environment.
+% |mplibcode| environment.
%
-% The resulting metapost figures are put in a \TeX\ \texttt{hbox} with dimensions
-% adjusted to the metapost code.
+% The resulting \metapost figures are put in a \TeX\ |hbox| with dimensions
+% adjusted to the \metapost code.
%
% The code of luamplib is basically from the |luatex-mplib.lua| and |luatex-mplib.tex| files
% from \ConTeXt. They have been adapted to \LaTeX\ and Plain by Elie Roux and
@@ -183,18 +185,18 @@ See source file '\inFileName' for licencing and contact information.
%
% \begin{itemize}
% \item possibility to use |btex ... etex| to typeset \TeX\ code.
-% |textext()| is a more versatile macro equivalent to |TEX()| from \textsf{TEX.mp}.
+% |textext()| is a more versatile macro equivalent to |TEX()| from \pkg{TEX.mp}.
% |TEX()| is also allowed and is a synonym of |textext()|.
% The argument of
-% \textsf{mplib}'s primitive |maketext| will also be processed by the same routine.
+% \mplib's primitive |maketext| will also be processed by the same routine.
%
% \item possibility to use |verbatimtex ... etex|, though it's behavior cannot
-% be the same as the stand-alone \textsf{mpost}.
+% be the same as the stand-alone \pkg{mpost}.
% Of course you cannot include \cs{documentclass}, \cs{usepackage} etc.
% When these \TeX\ commands are found in |verbatimtex ... etex|, the entire code will be
% ignored.
-% The treatment of |verbatimtex| command has changed a lot since v2.20;
-% see below regarding \cs{mpliblegacybehavior}.
+% The treatment of |verbatimtex| command has changed a lot since v2.20:
+% see \hyperlink{mpliblegacybehavior}{below \S\,1.1}.
%
% \item in the past,
% the package required PDF mode in order to have some output.
@@ -203,22 +205,22 @@ See source file '\inFileName' for licencing and contact information.
% \end{itemize}
%
% It seems to be convenient to divide the explanations of some more changes and cautions
-% into three parts: \TeX, MetaPost, and Lua interfaces.
+% into three parts: \TeX, \textsc{MetaPost}, and Lua interfaces.
%
% \subsection{\TeX}
%
% \paragraph{\cs{mplibforcehmode}}
-% When this macro is declared, every metapost figure box will be
+% When this macro is declared, every \metapost figure box will be
% typeset in horizontal mode, so \cs{centering}, \cs{raggedleft} etc
-% will have effects. |\mplibnoforcehmode|, being default, reverts this
-% setting. (Actually these commands redefine |\prependtomplibbox|; you
+% will have effects. \cs{mplibnoforcehmode}, being default, reverts this
+% setting. (Actually these commands redefine \cs{prependtomplibbox}; you
% can redefine this command with anything suitable before a box.)
%
% \paragraph{\cs{everymplib\{...\}}, \cs{everyendmplib\{...\}}}
% \cs{everymplib} and \cs{everyendmplib} redefine
-% the lua table containing metapost code
+% the lua table containing \metapost code
% which will
-% be automatically inserted at the beginning and ending of each metapost code chunk.
+% be automatically inserted at the beginning and ending of each \metapost code chunk.
%\begin{verbatim}
% \everymplib{ beginfig(0); }
% \everyendmplib{ endfig; }
@@ -228,24 +230,26 @@ See source file '\inFileName' for licencing and contact information.
% \end{mplibcode}
%\end{verbatim}
%
-% \paragraph{\cs{mplibsetformat\{plain\char"7C metafun\}}}
-% There are (basically) two formats for metapost: \emph{plain} and
+% \paragraph{\cs{mplibsetformat\{plain\textbar metafun\}}}
+% There are (basically) two formats for \metapost: \emph{plain} and
% \emph{metafun}. By default, the \emph{plain} format is used, but you can set
% the format to be used by future figures at any time using
-% |\mplibsetformat{|\emph{<format name>}|}|.
+% \cs{mplibsetformat\{<format name>\}}.
%
% \textsc{n.b.} As \emph{metafun} is such a complicated format,
% we cannot support all the functionalities producing special effects provided by \emph{metafun}.
% At least, however, transparency (actually opacity), transparency group, and shading (gradient colors)
% are fully supported,
-% and outlinetext is supported by our own alternative |mpliboutlinetext| (see below \S\,1.2).
+% and outlinetext is supported by our own alternative |mpliboutlinetext|
+% (see \hyperlink{mpliboutlinetext}{below \S\,1.2}).
%
% \leavevmode\llap{\textcolor{red}{☞}\kern1.2\parindent}\relax
% Among these, transparency is so simple that you can apply it to an object,
% even with the \emph{plain} format,
-% just by appending |withprescript "tr_transparency=|\emph{<number>}|"| to the sentence.
+% just by appending |withprescript| |"tr_transparency=<number>"| to the sentence.
% ($0 \le \hbox{\emph{<number>}} \le 1$)
%
+% \hypertarget{metafunformat}{}\relax
% As for transparency group, the current \emph{metafun} document \S\,8.8 is not correct.
% The true syntax is:
%\begin{verbatim}
@@ -254,35 +258,38 @@ See source file '\inFileName' for licencing and contact information.
% where \emph{<string>} should be |""| (empty), |"isolated"|, |"knockout"|, or |"isolated,knockout"|.
% Beware that currently many of the PDF rendering applications, except Adobe Acrobat Reader,
% cannot properly render the isolated or knockout effect.
+% Transparency group is available with \emph{plain} format as well, with extended functionality.
+% See \hyperlink{transparencygroup}{below \S\,1.2}.
%
% One thing worth mentioning about shading is:
% when a color expression is given in string type,
% it is regarded by luamplib as
% a color expression of \TeX\ side.
% For instance, when |withshadecolors("orange", 2/3red)| is given, the first color |"orange"| will be
-% interpreted as an \textsf{xcolor}'s or \textsf{l3color}'s expression.
+% interpreted as a \pkg{color}, \pkg{xcolor} or \pkg{l3color}'s expression.
%
-% \paragraph{\cs{mplibnumbersystem\{scaled\char"7C double\char"7C decimal\}}}
+% \paragraph{\cs{mplibnumbersystem\{scaled\textbar double\textbar decimal\}}}
% Users can choose |numbersystem| option.
% The default value is |scaled|, which can be changed
% by declaring \cs{mplibnumbersystem\{double\}} or
% \cs{mplibnumbersystem\{decimal\}}.
%
-% \paragraph{\cs{mplibshowlog\{enable\char"7C disable\}}}
+% \paragraph{\cs{mplibshowlog\{enable\textbar disable\}}}
% Default: |disable|.
-% When |\mplibshowlog{enable}|\footnote{As for user's setting,
+% When \cs{mplibshowlog\{enable\}}\footnote{As for user's setting,
% |enable|, |true| and |yes| are identical;
% |disable|, |false| and |no| are identical.} is declared, log messages returned by
-% the metapost process will be printed to the |.log| file.
+% the \metapost process will be printed to the |.log| file.
% This is the \TeX{} side interface for |luamplib.showlog|.
%
-% \paragraph{\cs{mpliblegacybehavior\{enable\char"7C disable\}}}
-% By default, |\mpliblegacybehavior{enable}|
+% \paragraph{\cs{mpliblegacybehavior\{enable\textbar disable\}}}
+% \hypertarget{mpliblegacybehavior}{}\relax
+% By default, \cs{mpliblegacybehavior\{enable\}}
% is already declared for backward compatibility,
% in which case \TeX\ code in
% |verbatimtex| |...| |etex| that comes just before |beginfig()|
% will be inserted before the
-% following metapost figure box. In this way,
+% following \metapost figure box. In this way,
% each figure box can be freely moved horizontally or vertically.
% Also, a box number can be assigned to a figure box, allowing it to be
% reused later.
@@ -299,7 +306,7 @@ See source file '\inFileName' for licencing and contact information.
%
% On the other hand, \TeX\ code in |verbatimtex ... etex|
% between |beginfig()| and |endfig| will be inserted
-% after flushing out the metapost figure.
+% after flushing out the \metapost figure.
% As shown in the example below, |VerbatimTeX()| is a synonym of |verbatimtex| |...| |etex|.
%\begin{verbatim}
% \mplibcode
@@ -313,7 +320,7 @@ See source file '\inFileName' for licencing and contact information.
%\end{verbatim}
%
% By contrast,
-% when |\mpliblegacybehavior{disabled}| is declared, any
+% when \cs{mpliblegacybehavior\{disable\}} is declared, any
% |verbatimtex| |...| |etex| will be executed, along with |btex| |...| |etex|,
% sequentially one by one.
% So, some \TeX\ code in |verbatimtex ... etex| will have effects on
@@ -329,9 +336,9 @@ See source file '\inFileName' for licencing and contact information.
% \end{mplibcode}
%\end{verbatim}
%
-% \paragraph{\cs{mplibtextextlabel\{enable\char"7C disable\}}}
+% \paragraph{\cs{mplibtextextlabel\{enable\textbar disable\}}}
% Default: |disable|.
-% |\mplibtextextlabel{enable}| enables
+% \cs{mplibtextextlabel\{enable\}} enables
% the labels typeset via |textext| instead of |infont| operator.
% So, |label("my text",origin)| thereafter is exactly the same as
% |label(textext("my text"),origin)|.
@@ -343,16 +350,16 @@ See source file '\inFileName' for licencing and contact information.
% Also take care of |char| operator in the left side argument,
% as this might bring unpermitted characters into \TeX.
%
-% \paragraph{\cs{mplibcodeinherit\{enable\char"7C disable\}}}
+% \paragraph{\cs{mplibcodeinherit\{enable\textbar disable\}}}
% Default: |disable|.
-% |\mplibcodeinherit{enable}| enables the inheritance
-% of variables, constants, and macros defined by previous metapost code chunks.
-% On the contrary, |\mplibcodeinherit{disable}| will make
+% \cs{mplibcodeinherit\{enable\}} enables the inheritance
+% of variables, constants, and macros defined by previous \metapost code chunks.
+% On the contrary, \cs{mplibcodeinherit\{disable\}} will make
% each code chunk being treated as an independent instance, never
% affected by previous code chunks.
%
-% \paragraph{Separate MetaPost instances}
-% luamplib v2.22 has added the support for several named metapost instances
+% \paragraph{Separate \metapost instances}
+% luamplib v2.22 has added the support for several named \metapost instances
% in \LaTeX{} |mplibcode| environment.
% Plain \TeX\ users also can use this functionality.
% The syntax for \LaTeX\ is:
@@ -385,9 +392,9 @@ See source file '\inFileName' for licencing and contact information.
% \everyendmplib[instanceName]{...}
%\end{verbatim}
%
-% \paragraph{\cs{mplibglobaltextext\{enable\char"7C disable\}}}
+% \paragraph{\cs{mplibglobaltextext\{enable\textbar disable\}}}
% Default: |disable|.
-% Formerly, to inherit |btex| |...| |etex| boxes as well as other metapost macros, variables and constants,
+% Formerly, to inherit |btex| |...| |etex| boxes as well as other \metapost macros, variables and constants,
% it was necessary to declare \cs{mplibglobaltextext\{enable\}} in advance.
% But from v2.27, this is implicitly enabled when \cs{mplibcodeinherit}
% is enabled.
@@ -406,18 +413,20 @@ See source file '\inFileName' for licencing and contact information.
% \endmplibcode
%\end{verbatim}
%
-% \paragraph{\cs{mplibverbatim\{enable\char"7C disable\}}}
+% \paragraph{\cs{mplibverbatim\{enable\textbar disable\}}}
% Default: |disable|.
-% Users can issue |\mplibverbatim{enable}|, after which
+% Users can issue \cs{mplibverbatim\{enable\}}, after which
% the contents of mplibcode environment will be read verbatim. As a result,
-% except for |\mpdim| and |\mpcolor| (see below), all other \TeX\ commands outside of the
+% except for \cs{mpdim} and \cs{mpcolor} (see \hyperlink{mpdim}{below}),
+% all other \TeX\ commands outside of the
% |btex| or |verbatimtex| |...| |etex| are not expanded and will be fed
-% literally to the \textsf{mplib} library.
+% literally to the \mplib library.
%
% \paragraph{\cs{mpdim\{...\}}}
+% \hypertarget{mpdim}{}\relax
% Besides other \TeX\ commands, \cs{mpdim} is specially allowed
-% in the mplibcode environment. This feature is inpired by \textsf{gmp} package authored by
-% Enrico Gregorio. Please refer to the manual of \textsf{gmp} package for details.
+% in the mplibcode environment. This feature is inpired by \pkg{gmp} package authored by
+% Enrico Gregorio. Please refer to the manual of \pkg{gmp} package for details.
%\begin{verbatim}
% \begin{mplibcode}
% beginfig(1)
@@ -429,20 +438,20 @@ See source file '\inFileName' for licencing and contact information.
%
% \paragraph{\cs{mpcolor[...]\{...\}}}
% With \cs{mpcolor} command, color names or expressions of
-% \textsf{color}, \textsf{xcolor} and \textsf{l3color} module/packages can be used in the mplibcode
-% enviroment (after |withcolor| operator).
-% See the example above.
-% The optional |[...]| means the option of \textsf{xcolor}'s \cs{color} command.
-% For spot colors, \textsf{l3color} (in PDF/DVI mode),
-% \textsf{colorspace}, \textsf{spotcolor}
-% (in PDF mode) and \textsf{xespotcolor} (in DVI mode) packages are supported
+% \pkg{color}, \pkg{xcolor} and \pkg{l3color} module/packages can be used in the mplibcode
+% environment (after |withcolor| operator).
+% See the example \hyperlink{mpdim}{above}.
+% The optional |[...]| denotes the option of \pkg{xcolor}'s \cs{color} command.
+% For spot colors, \pkg{l3color} (in PDF/DVI mode),
+% \pkg{colorspace}, \pkg{spotcolor}
+% (in PDF mode) and \pkg{xespotcolor} (in DVI mode) packages are supported
% as well.
%
% \paragraph{\cs{mpfig} \ldots\ \cs{endmpfig}}
% Besides the |mplibcode| environment (for \LaTeX) and
% \cs{mplibcode ...} \cs{endmplibcode} (for Plain),
-% we also provide unexpandable \TeX\ macros |\mpfig ... \endmpfig| and its starred version
-% |\mpfig* ... \endmpfig| to save typing toil.
+% we also provide unexpandable \TeX\ macros \cs{mpfig} |...| \cs{endmpfig} and its starred version
+% \cs{mpfig*} |...| \cs{endmpfig} to save typing toil.
% The former is roughly the same as follows:
%\begin{verbatim}
% \begin{mplibcode}[@mpfig]
@@ -459,9 +468,9 @@ See source file '\inFileName' for licencing and contact information.
% ...
% \end{mplibcode}
%\end{verbatim}
-% In these macros |\mpliblegacybehavior{disable}|
+% In these macros \cs{mpliblegacybehavior\{disable\}}
% is forcibly declared.
-% Again, as both share the same instance name, metapost codes are inherited among them.
+% Again, as both share the same instance name, \metapost codes are inherited among them.
% A simple example:
%\begin{verbatim}
% \everymplib[@mpfig]{ drawoptions(withcolor .5[red,white]); }
@@ -471,21 +480,21 @@ See source file '\inFileName' for licencing and contact information.
% \endmpfig
%\end{verbatim}
% The instance name (default: |@mpfig|) can be changed by redefining
-% \cs{mpfiginstancename}, after which a new mplib instance will start and
-% code inheritance too will begin anew. |\let\mpfiginstancename\empty| will
-% prevent code inheritance if |\mplibcodeinherit{true}| is not declared.
+% \cs{mpfiginstancename}, after which a new \mplib instance will start and
+% code inheritance too will begin anew. \cs{let}\cs{mpfiginstancename}\cs{empty} will
+% prevent code inheritance if \cs{mplibcodeinherit\{true\}} is not declared.
%
% \paragraph{About cache files}
% To support |btex ... etex| in external |.mp| files, luamplib
% inspects the content of each and every |.mp| file and makes caches
-% if nececcsary, before returning their paths to \LuaTeX's \textsf{mplib} library.
+% if nececcsary, before returning their paths to \LuaTeX's \mplib library.
% This could waste the compilation time, as most |.mp| files
% do not contain |btex ... etex| commands. So luamplib provides
% macros as follows, so that users can give instructions about files
% that do not require this functionality.
% \begin{itemize}
-% \item |\mplibmakenocache{<filename>[,<filename>,...]}|
-% \item |\mplibcancelnocache{<filename>[,<filename>,...]}|
+% \item \cs{mplibmakenocache\{<filename>[,<filename>,...]\}}
+% \item \cs{mplibcancelnocache\{<filename>[,<filename>,...]\}}
% \end{itemize}
% where |<filename>| is a filename excluding |.mp| extension.
% Note that |.mp| files under |$TEXMFMAIN/metapost/base| and
@@ -500,9 +509,9 @@ See source file '\inFileName' for licencing and contact information.
% command-line option.
%
% Users can change this behavior by the command
-% |\mplibcachedir{<directory path>}|, where tilde (|~|) is interpreted
+% \cs{mplibcachedir\{<directory path>\}}, where tilde (|~|) is interpreted
% as the user's home directory (on a windows machine as well).
-% As backslashes (|\|) should be escaped by users, it would be easier to use
+% As backslashes (\cs{}) should be escaped by users, it would be easier to use
% slashes (|/|) instead.
%
% \paragraph{About figure box metric}
@@ -518,18 +527,19 @@ See source file '\inFileName' for licencing and contact information.
% Frequently used settings such as \cs{everymplib}, \cs{mplibforcehmode}
% or \cs{mplibcodeinherit} are suitable for going into this file.
%
-% \subsection{MetaPost}
+% \subsection{\textsc{MetaPost}}
%
% \paragraph{\texttt{mplibdimen(...)}, \texttt{mplibcolor(...)}}
-% These are MetaPost interfaces for the \TeX\ commands \cs{mpdim} and \cs{mpcolor}. For example,
-% |mplibdimen("\linewidth")| is basically the same as |\mpdim{\linewidth}|, and
-% |mplibcolor("red!50")| is basically the same as |\mpcolor{red!50}|.
-% The difference is that these metapost operators can also be used in external |.mp| files,
+% These are \metapost interfaces for the \TeX\ commands
+% \cs{mpdim} and \cs{mpcolor} (see \hyperlink{mpdim}{above}). For example,
+% |mplibdimen("\linewidth")| is basically the same as \cs{mpdim\{\cs{linewidth}\}}, and
+% |mplibcolor("red!50")| is basically the same as \cs{mpcolor\{red!50\}}.
+% The difference is that these \metapost operators can also be used in external |.mp| files,
% which cannot have \TeX\ commands outside of the |btex| or |verbatimtex| |...| |etex|.
%
% \paragraph{\texttt{mplibtexcolor ...}, \texttt{mplibrgbtexcolor ...}}
-% |mplibtexcolor|, which accepts a string argument, is a metapost operator that converts a \TeX\ color expression
-% to a MetaPost color expression, that can be used anywhere color expression is expected
+% |mplibtexcolor|, which accepts a string argument, is a \metapost operator that converts a \TeX\ color expression
+% to a \metapost color expression, that can be used anywhere color expression is expected
% as well as after the |withcolor| operator.
% For instance:
%\begin{verbatim}
@@ -539,13 +549,14 @@ See source file '\inFileName' for licencing and contact information.
% But the result may vary in its color model (gray/rgb/cmyk)
% according to the given \TeX\ color. (Spot colors are forced to
% cmyk model, so this operator is not recommended for spot colors.)
-% Therefore the example shown above would raise a metapost error:
+% Therefore the example shown above would raise a \metapost error:
% |cmykcolor col;| should have been declared.
% By contrast, |mplibrgbtexcolor| \emph{<string>} always returns rgb model expressions.
%
% \paragraph{\texttt{mplibgraphictext ...}}
-% |mplibgraphictext| is a metapost operator, the effect of which is similar to that of
-% \ConTeXt's |graphictext| or our own |mpliboutlinetext| (see below).
+% |mplibgraphictext| is a \metapost operator, the effect of which is similar to that of
+% \ConTeXt's |graphictext| or our own |mpliboutlinetext|
+% (see \hyperlink{mpliboutlinetext}{below}).
% However the syntax is somewhat different.
%\begin{verbatim}
% mplibgraphictext "Funny"
@@ -555,7 +566,7 @@ See source file '\inFileName' for licencing and contact information.
% |fakebold|, |drawcolor| and |fillcolor| are optional;
% default values are |2|, |"black"| and |"white"| respectively.
% When the color expressions are given in string type, they are regarded as
-% \textsf{xcolor}'s or \textsf{l3color}'s expressions.
+% \pkg{color}, \pkg{xcolor} or \pkg{l3color}'s expressions.
% All from |mplibgraphictext| to the end of sentence will compose an
% anonymous |picture|, which can be drawn or assigned to a variable.
% Incidentally, |withdrawcolor| and |withfillcolor| are synonyms of
@@ -569,13 +580,13 @@ See source file '\inFileName' for licencing and contact information.
% However, because the implementation is quite different from others,
% there are some limitations such that you can't
% apply shading (gradient colors) to the text. Again,
-% in DVI mode, \textsf{unicode-math} package is needed for math formula,
+% in DVI mode, \pkg{unicode-math} package is needed for math formula,
% as we cannot embolden type1 fonts in DVI mode.
%
% \paragraph{\texttt{mplibglyph ... of ...}}
-% From v2.30, we provide a new metapost operator |mplibglyph|, which returns a metapost picture
+% From v2.30, we provide a new \metapost operator |mplibglyph|, which returns a \metapost picture
% containing outline paths of a glyph in opentype, truetype or type1 fonts.
-% When a type1 font is specified, metapost primitive |glyph| will be called.
+% When a type1 font is specified, \metapost primitive |glyph| will be called.
%\begin{verbatim}
% mplibglyph 50 of \fontid\font % slot 50 of current font
% mplibglyph "Q" of "TU/TeXGyrePagella(0)/m/n/10" % font csname
@@ -594,21 +605,22 @@ See source file '\inFileName' for licencing and contact information.
%
% \paragraph{\texttt{mplibdrawglyph ...}}
% The picture returned by |mplibglyph| will be quite similar to the result of |glyph| primitive in its structure.
-% So, metapost's |draw| command will fill the inner path of the picture with the background color.
+% So, \metapost's |draw| command will fill the inner path of the picture with the background color.
% In contrast, |mplibdrawglyph| \emph{<picture>} command fills the paths according to the nonzero winding
% number rule. As a result, for instance, the area surrounded by inner path of ``O''
% will remain transparent.
%
% \leavevmode\llap{\textcolor{red}{☞}\kern1.2\parindent}\relax
-% To apply the nonzero winding number rule to a picture containg paths,
+% To apply the nonzero winding number rule to a picture containing paths,
% luamplib appends |withpostscript| |"collect"|
% to the paths except the last one in the picture.
-% If you want the even-odd rule instead, you can, even with \emph{plain} format,
+% If you want the even-odd rule instead, you can, with \emph{plain} format as well,
% additionally declare |withpostscript| |"evenodd"| to the last path in the picture.
%
% \paragraph{\texttt{mpliboutlinetext (...)}}
-% From v2.31, a new metapost operator |mpliboutlinetext| is available, which mimicks
-% metafun's |outlinetext|. So the syntax is the same as metafun's. See the metafun
+% \hypertarget{mpliboutlinetext}{}\relax
+% From v2.31, a new \metapost operator |mpliboutlinetext| is available, which mimicks
+% \emph{metafun}'s |outlinetext|. So the syntax is the same: see the \emph{metafun}
% manual \S\,8.7 (|texdoc metafun|). A simple example:
%\begin{verbatim}
% draw mpliboutlinetext.b ("$\sqrt{2+\alpha}$")
@@ -618,42 +630,57 @@ See source file '\inFileName' for licencing and contact information.
%\end{verbatim}
% After the process, |mpliboutlinepic[]|
% and |mpliboutlinenum| will be preserved as global variables;
-% |mpliboutlinepic[1]| \ldots{} |mpliboutlinepic[mpliboutlinenum]|
+% |mpliboutlinepic[1]| |...| |mpliboutlinepic[mpliboutlinenum]|
% will be an array of images each of which containing a glyph or a rule.
%
% \textsc{n.b.} As Unicode grapheme cluster is not considered in the array, a unit that must be
% a single cluster might be separated apart.
%
-% \paragraph{\cs{mppattern\{...\}} \texttt{...} \cs{endmppattern}, \texttt{... withpattern ...}}
+% \paragraph{\cs{mppattern\{...\} ...} \cs{endmppattern}, \texttt{... withpattern ...}}
+% \hypertarget{mppattern}{}\relax
% \TeX\ macros
-% |\mppattern{<name>}| \ldots\ |\endmppattern| define a tiling pattern
+% \cs{mppattern\{<name>\}} |...| \cs{endmppattern} define a tiling pattern
% associated with the |<name>|.
-% MetaPost operator |withpattern|, the syntax being
-% \emph{<path>} |withpattern| \emph{<string>}, will return a metapost picture which fills
-% the given path with a tiling pattern of the |<name>|
+% \metapost operator |withpattern|, the syntax being
+% \emph{<path>}\,\textbar\,\emph{<textual picture>} |withpattern| \emph{<string>},
+% will return a \metapost picture which fills
+% the given path or text with a tiling pattern of the |<name>|
% by replicating it horizontally and vertically.
+% The \emph{textual picture} here means any text typeset by \TeX, mostly the result
+% of the |btex| command (though technically this is not a true textual picture)
+% or the |infont| operator.
+%
% An example:
%\begin{verbatim}
-% \mppattern{mypatt} % or \begin{mppattern}{mypatt}
-% [ % options: see below
-% xstep = 10, ystep = 12,
-% matrix = {0,1,-1,0}, % or "0 1 -1 0"
-% ]
-% \mpfig % or any other TeX code,
-% picture q;
-% q := btex Q etex;
-% fill bbox q withcolor .8[red,white];
-% draw q withcolor .8red;
-% \endmpfig
-% \endmppattern % or \end{mppattern}
+% \mppattern{mypatt} % or \begin{mppattern}{mypatt}
+% [ % options: see below
+% xstep = 10,
+% ystep = 12,
+% matrix = {0, 1, -1, 0}, % or "0 1 -1 0"
+% ]
+% \mpfig % or any other TeX code,
+% draw (origin--(1,1))
+% scaled 10
+% withcolor 1/3[blue,white]
+% ;
+% draw (up--right)
+% scaled 10
+% withcolor 1/3[red,white]
+% ;
+% \endmpfig
+% \endmppattern % or \end{mppattern}
%
-% \mpfig
-% fill fullcircle scaled 100
-% withpostscript "collect" ;
-% draw unitsquare shifted - center unitsquare scaled 45
-% withpattern "mypatt"
-% withpostscript "evenodd" ;
-% \endmpfig
+% \mpfig
+% draw fullcircle scaled 90
+% withpostscript "collect"
+% ;
+% draw fullcircle scaled 200
+% withpattern "mypatt"
+% withpen pencircle scaled 1
+% withcolor \mpcolor{red!50!blue!50}
+% withpostscript "evenodd"
+% ;
+% \endmpfig
%\end{verbatim}
%
% The available options are listed in Table~\ref{tab:mppatternoptions}.
@@ -666,8 +693,8 @@ See source file '\inFileName' for licencing and contact information.
% |ystep| &\emph{number} & vertical spacing between pattern cells\\
% |xshift| &\emph{number} & horizontal shifting of pattern cells\\
% |yshift| &\emph{number} & vertical shifting of pattern cells\\
-% |matrix| &\emph{table} or \emph{string} & |xx|, |yx|, |xy|, |yy| values\kern1pt* or MP transform code\\
% |bbox| &\emph{table} or \emph{string} & |llx|, |lly|, |urx|, |ury| values\kern1pt*\\
+% |matrix| &\emph{table} or \emph{string} & |xx|, |yx|, |xy|, |yy| values\kern1pt* or MP transform code\\
% |resources|&\emph{string} & PDF resources if needed\\
% |colored| or |coloured| &\emph{boolean}& |false| for uncolored pattern. default: |true|\\\hline
% & & \small *\,in string type, numbers are separated by spaces\\
@@ -677,7 +704,7 @@ See source file '\inFileName' for licencing and contact information.
% For the sake of convenience, the width and height values of tiling patterns will be written down
% into the log file. (depth is always zero.) Users can refer to them for option setting.
%
-% As for |matrix| option, metapost code such as `|rotated 30 slanted .2|' is allowed as well
+% As for |matrix| option, \metapost code such as `|rotated 30 slanted .2|' is allowed as well
% as string or table of four numbers. You can also set |xshift| and |yshift|
% values by using `|shifted|' operator. But when |xshift| or |yshift| option is explicitly
% given, they have precedence over the effect of `|shifted|' operator.
@@ -688,10 +715,10 @@ See source file '\inFileName' for licencing and contact information.
% is not needed in most cases.
%
% Option |colored=false| (|coloured| is a synonym of |colored|) will generate an uncolored pattern which shall have no color at all.
-% Uncolored pattern will be painted later by the color of a metapost object.
+% Uncolored pattern will be painted later by the color of a \metapost object.
% An example:
%\begin{verbatim}
-% \begin{mppattern}{pattuncolored}
+% \begin{mppattern}{pattnocolor}
% [
% colored = false,
% matrix = "slanted .3 rotated 30",
@@ -711,7 +738,7 @@ See source file '\inFileName' for licencing and contact information.
% if j < length mpliboutlinepic[i]:
% withpostscript "collect"
% else:
-% withpattern "pattuncolored"
+% withpattern "pattnocolor"
% withpen pencircle scaled 1/2
% withcolor (i/4)[red,blue] % paints the pattern
% fi;
@@ -720,12 +747,28 @@ See source file '\inFileName' for licencing and contact information.
% endfig;
% \end{mplibcode}
%\end{verbatim}
+% A much simpler and efficient way to obtain a similar result
+% (without colorful characters in this example)
+% is to give a \emph{textual picture} as the operand of |withpattern|:
+%\begin{verbatim}
+% \begin{mplibcode}
+% beginfig(2)
+% picture pic;
+% pic = mplibgraphictext "\bfseries\TeX"
+% fakebold 1/2
+% fillcolor 1/3[red,blue] % paints the pattern
+% drawcolor 2/3[red,blue]
+% scaled 10 ;
+% draw pic withpattern "pattnocolor" ;
+% endfig;
+% \end{mplibcode}
+%\end{verbatim}
%
-% \paragraph{\texttt{... withfademethod ...}, and related macros}
-% |withfademethod| is a metapost operator which makes the color of an object gradiently transparent.
-% The syntax is \emph{<path>}\texttt{\char"7C}\emph{<picture>} |withfademethod| \emph{<string>},
+% \paragraph{\texttt{... withfademethod ...}}
+% This is a \metapost operator which makes the color of an object gradiently transparent.
+% The syntax is \emph{<path>}\texttt{\textbar}\emph{<picture>} |withfademethod| \emph{<string>},
% the latter being either |"linear"| or |"circular"|.
-% Though it is similar to the |withshademethod| provided by metafun,
+% Though it is similar to the |withshademethod| from \emph{metafun},
% the differences are: (1) the operand of |withfademethod| can be a picture as well as a path;
% (2) you cannot make gradient colors, but can only make gradient opacity.
%
@@ -750,6 +793,8 @@ See source file '\inFileName' for licencing and contact information.
% sets the bounding box of the fading area, default value being |(llcorner p, urcorner p)|.
% Though this option is not needed in most cases, there could be cases when users want to
% explicitly control the bounding box.
+% Particularly, see the description \hyperlink{withgroupbbox}{below}
+% on the analogous macro |withgroupbbox|.
% \end{description}
% An example:
%\begin{verbatim}
@@ -765,25 +810,158 @@ See source file '\inFileName' for licencing and contact information.
% \endmpfig
%\end{verbatim}
%
+% \paragraph{\texttt{... asgroup ...}}
+% \hypertarget{transparencygroup}{}\relax
+% As said \hyperlink{metafunformat}{before},
+% transparency group is available with \emph{plain} as well as \emph{metafun} format.
+% The syntax is exactly the same:
+% \emph{<picture>} \textbar\ \emph{<path>} |asgroup|
+% |""| \textbar\ |"isolated"| \textbar\ |"knockout"| \textbar\ |"isolated,knockout"|,
+% which will return a \metapost picture.
+% It is called \emph{Transparency Group} because the objects contained in the group are composited
+% to produce a single object, so that outer transparency effect, if any,
+% will be applied to the group as a whole, not to the individual objects cumulatively.
+%
+% The additional feature provided by luamplib is that
+% you can reuse the group as many times as you want
+% in the \TeX{} code or in other \metapost code chunks,
+% with infinitesimal increase in the size of PDF file.
+% For this functionality we provide \TeX{} and \metapost macros as follows:
+% \begin{description}
+% \let\bfseries\relax
+% \item[|withgroupname| \emph{<string>}] associates a transparency group with the given name.
+% When this is not appended to the sentense with |asgroup| operator,
+% the default group name `|lastmplibgroup|' will be used.
+%
+% \item[\cs{usemplibgroup\{...\}}]
+% \hypertarget{usemplibgroup}{}\relax
+% is a \TeX\ command to reuse a transparency group of the name
+% once used.
+% Note that the position of the group will be origin-based:
+% in other words, lower-left corner of the group will be shifted to the origin.
+%
+% \item[|usemplibgroup| \emph{<string>}] is a \metapost command which will add
+% a transparency group of the name to the |currentpicture|.
+% Contrary to the \TeX\ command just mentioned,
+% the position of the group is the same as the original transparency group.
+%
+% \item[|withgroupbbox (|\emph{pair}|,|\emph{pair}|)|]
+% \hypertarget{withgroupbbox}{}\relax
+% sets the bounding box of the transparency group,
+% default value being |(llcorner p, urcorner p)|.
+% This option might be needed especially when you draw with a thick pen
+% a path that touches the boundary;
+% you would probably want to append to the sentense
+% `|withgroupbbox| |(bot| |lft| |llcorner| |p,| |top| |rt| |urcorner| |p)|',
+% supposing that the pen was selected by the |pickup| command.
+%
+% \end{description}
+% An example showing the difference between the \TeX\ and \metapost commands:
+%\begin{verbatim}
+% \mpfig
+% draw image(
+% fill fullcircle scaled 100 shifted 25right withcolor .5[blue,white];
+% fill fullcircle scaled 100 withcolor .5[red,white] ;
+% ) asgroup ""
+% withgroupname "mygroup";
+% draw (left--right) scaled 10;
+% draw (up--down) scaled 10;
+% \endmpfig
+%
+% \noindent
+% \clap{\vrule width 20pt height .25pt depth .25pt}%
+% \clap{\vrule width .5pt height 10pt depth 10pt}%
+% \usemplibgroup{mygroup}
+%
+% \mpfig
+% usemplibgroup "mygroup" rotated 15;
+% draw (left--right) scaled 10;
+% draw (up--down) scaled 10;
+% \endmpfig
+%\end{verbatim}
+%
+% Also note that normally the reused transparency groups are not affected by outer color commands.
+% However, if you have made the original transparency group using |withoutcolor| command,
+% colors will have effects on the uncolored objects in the group.
+%
+% \paragraph{\cs{mplibgroup\{...\} ...} \cs{endmplibgroup}}
+% These \TeX\ macros are described here in this subsection, as they are
+% deeply related to the |asgroup| operator.
+% Users can define a transparency group or a normal \emph{form XObject}
+% with these macros from \TeX\ side.
+% The syntax is similar to the \cs{mppattern} command (see \hyperlink{mppattern}{above}).
+% An example:
+%\begin{verbatim}
+% \mplibgroup{mygrx} % or \begin{mplibgroup}{mygrx}
+% [ % options: see below
+% asgroup="",
+% ]
+% \mpfig % or any other TeX code
+% pickup pencircle scaled 10;
+% draw (left--right) scaled 30 rotated 45 ;
+% draw (left--right) scaled 30 rotated -45 ;
+% \endmpfig
+% \endmplibgroup % or \end{mplibgroup}
+%
+% \usemplibgroup{mygrx}
+%
+% \mpfig
+% usemplibgroup "mygrx"
+% scaled 1.5
+% withprescript "tr_transparency=0.5" ;
+% \endmpfig
+%\end{verbatim}
+%
+% Availabe options, much fewer than those for \cs{mppattern},
+% are listed in Table~\ref{tab:mplibgroupoptions}.
+% Again, the width/height/depth values of the mplibgroup will be written down into the log file.
+% \begin{table}
+% \centering
+% \caption{options for \cs{mplibgroup}}\label{tab:mplibgroupoptions}
+% \begin{tabular}{lll}
+% \hline
+% Key & Value Type & Explanation\\
+% \hline
+% |asgroup| &\emph{string} & |""|, |"isolated"|, |"knockout"|, or |"isolated,knockout"|\\
+% |bbox| &\emph{table} or \emph{string} & |llx|, |lly|, |urx|, |ury| values\kern1pt*\\
+% |matrix| &\emph{table} or \emph{string} & |xx|, |yx|, |xy|, |yy| values\kern1pt*
+% or MP transform code\\
+% |resources| &\emph{string} & PDF resources if needed\\
+% \hline
+% & & \small *\,in string type, numbers are separated by spaces\\
+% \end{tabular}
+% \end{table}
+%
+% When |asgroup| option, including empty string, is not given,
+% a normal form XObject will be generated rather than a transparency group.
+% Thus the individual objects, not the XObject as a whole, will be affected
+% by outer transparency command.
+%
+% As shown in the example, you can reuse the mplibgroup once defined
+% using the \TeX\ command \cs{usemplibgroup} or
+% the \metapost command |usemplibgroup|.
+% The behavior of these commands is the same as that described \hyperlink{usemplibgroup}{above}.
+%
+%
% \subsection{Lua}
%
% \paragraph{\texttt{runscript ...}}
-% Using the primitive |runscript| \emph{<string>}, you can run a Lua code chunk from MetaPost side
-% and get some metapost code returned by Lua if you want.
-% As the functionality is provided by the \textsf{mplib} library itself,
+% Using the primitive |runscript| \emph{<string>}, you can run a Lua code chunk from \metapost side
+% and get some \metapost code returned by Lua if you want.
+% As the functionality is provided by the \mplib library itself,
% luamplib does not have much to say about it.
%
% One thing is worth mentioning, however:
-% if you return a Lua \emph{table} to the metapost process,
-% it is automatically converted to a relevant metapost value type
+% if you return a Lua \emph{table} to the \metapost process,
+% it is automatically converted to a relevant \metapost value type
% such as pair, color, cmykcolor or transform.
% So users can save some extra toil of converting a table to a string, though it's not a big deal.
-% For instance, |runscript "return {1,0,0}"| will give you the metapost color expression |(1,0,0)|
+% For instance, |runscript "return {1,0,0}"| will give you the \metapost color expression |(1,0,0)|
% automatically.
%
% \paragraph{Lua table \texttt{luamplib.instances}}
-% Users can access the Lua table containing mplib instances, |luamplib.instances|,
-% through which metapost variables are also easily accessible from Lua side,
+% Users can access the Lua table containing \mplib instances, |luamplib.instances|,
+% through which \metapost variables are also easily accessible from Lua side,
% as documented in Lua\TeX{} manual \S\,11.2.8.4 (|texdoc luatex|).
% The following will print |false|, |3.0|, |MetaPost| and
% the knots and the cyclicity of the path |unitsquare|, consecutively.
@@ -808,7 +986,7 @@ See source file '\inFileName' for licencing and contact information.
%\end{verbatim}
%
% \paragraph{Lua function \texttt{luamplib.process\_mplibcode}}
-% Users can execute a MetaPost code chunk from Lua side by using this function:
+% Users can execute a \metapost code chunk from Lua side by using this function:
%\begin{verbatim}
% luamplib.process_mplibcode (<string> metapost code, <string> instance name)
%\end{verbatim}
@@ -850,14 +1028,14 @@ See source file '\inFileName' for licencing and contact information.
luatexbase.provides_module {
name = "luamplib",
- version = "2.34.0",
- date = "2024/07/17",
+ version = "2.34.5",
+ date = "2024/08/03",
description = "Lua package to typeset Metapost with LuaTeX's MPLib.",
}
% \end{macrocode}
%
-% Use the |luamplib| namespace, since |mplib| is for the metapost library
+% Use the |luamplib| namespace, since |mplib| is for the \metapost library
% itself. \ConTeXt{} uses |metapost|.
% \begin{macrocode}
luamplib = luamplib or { }
@@ -893,7 +1071,6 @@ local function termorlog (target, text, kind)
if kind == "Error" then error() end
end
end
-
local function warn (...) -- beware '%' symbol
termorlog("term and log", select("#",...) > 1 and format(...) or ...)
end
@@ -909,7 +1086,7 @@ luamplib.showlog = luamplib.showlog or false
% \end{macrocode}
%
% This module is a stripped down version of libraries that are used by
-% \ConTeXt. Provide a few ``shortcuts'' expected by the imported code.
+% \ConTeXt. Provide a few ``shortcuts'' expected by the code.
% \begin{macrocode}
local tableconcat = table.concat
local tableinsert = table.insert
@@ -918,18 +1095,14 @@ local texsprint = tex.sprint
local texgettoks = tex.gettoks
local texgetbox = tex.getbox
local texruntoks = tex.runtoks
-
if not texruntoks then
err("Your LuaTeX version is too old. Please upgrade it to the latest")
end
-
local is_defined = token.is_defined
local get_macro = token.get_macro
-
local mplib = require ('mplib')
local kpse = require ('kpse')
local lfs = require ('lfs')
-
local lfsattributes = lfs.attributes
local lfsisdir = lfs.isdir
local lfsmkdir = lfs.mkdir
@@ -945,7 +1118,6 @@ local file = file or { }
local replacesuffix = file.replacesuffix or function(filename, suffix)
return (filename:gsub("%.[%a%d]+$","")) .. "." .. suffix
end
-
local is_writable = file.is_writable or function(name)
if lfsisdir(name) then
name = name .. "/_luam_plib_temp_file_"
@@ -967,14 +1139,11 @@ end
% \end{macrocode}
%
% |btex ... etex| in input |.mp| files will be replaced in finder.
-% Because of the limitation of MPLib regarding |make_text|,
+% Because of the limitation of \mplib regarding |make_text|,
% we might have to make cache files modified from input files.
% \begin{macrocode}
-local luamplibtime = kpse.find_file("luamplib.lua")
-luamplibtime = luamplibtime and lfsattributes(luamplibtime,"modification")
-
+local luamplibtime = lfsattributes(kpse.find_file"luamplib.lua", "modification")
local currenttime = os.time()
-
local outputdir, cachedir
if lfstouch then
for i,v in ipairs{'TEXMFVAR','TEXMF_OUTPUT_DIRECTORY','.','TEXMFOUTPUT'} do
@@ -1011,10 +1180,9 @@ function luamplib.getcachedir(dir)
end
end
end
-
% \end{macrocode}
%
-% Some basic MetaPost files not necessary to make cache files.
+% Some basic \metapost files not necessary to make cache files.
% \begin{macrocode}
local noneedtoreplace = {
["boxes.mp"] = true, -- ["format.mp"] = true,
@@ -1033,7 +1201,6 @@ local noneedtoreplace = {
["mp-tool.mpiv"] = true, ["mp-cont.mpiv"] = true,
}
luamplib.noneedtoreplace = noneedtoreplace
-
% \end{macrocode}
%
% |format.mp| is much complicated, so specially treated.
@@ -1055,7 +1222,6 @@ local function replaceformatmp(file,newfile,ofmodify)
lfstouch(newfile,currenttime,ofmodify)
return newfile
end
-
% \end{macrocode}
%
% Replace |btex ... etex| and |verbatimtex ... etex| in input files,
@@ -1065,7 +1231,6 @@ local name_b = "%f[%a_]"
local name_e = "%f[^%a_]"
local btex_etex = name_b.."btex"..name_e.."%s*(.-)%s*"..name_b.."etex"..name_e
local verbatimtex_etex = name_b.."verbatimtex"..name_e.."%s*(.-)%s*"..name_b.."etex"..name_e
-
local function replaceinputmpfile (name,file)
local ofmodify = lfsattributes(file,"modification")
if not ofmodify then return file end
@@ -1078,23 +1243,19 @@ local function replaceinputmpfile (name,file)
return nf.size == 0 and file or newfile
end
end
-
if name == "format.mp" then return replaceformatmp(file,newfile,ofmodify) end
-
local fh = ioopen(file,"r")
if not fh then return file end
local data = fh:read("*all"); fh:close()
-
% \end{macrocode}
% ``|etex|'' must be preceded by a space and followed by a space or semicolon as specified in
-% \LuaTeX\ manual, which is not the case of standalone MetaPost though.
+% \LuaTeX\ manual, which is not the case of standalone \metapost though.
% \begin{macrocode}
local count,cnt = 0,0
data, cnt = data:gsub(btex_etex, "btex %1 etex ") -- space
count = count + cnt
data, cnt = data:gsub(verbatimtex_etex, "verbatimtex %1 etex;") -- semicolon
count = count + cnt
-
if count == 0 then
noneedtoreplace[name] = true
fh = ioopen(newfile,"w");
@@ -1104,7 +1265,6 @@ local function replaceinputmpfile (name,file)
end
return file
end
-
fh = ioopen(newfile,"w")
if not fh then return file end
fh:write(data); fh:close()
@@ -1114,8 +1274,8 @@ end
% \end{macrocode}
%
-% As the finder function for MPLib, use the |kpse| library and
-% make it behave like as if MetaPost was used. And replace it with
+% As the finder function for \mplib, use the |kpse| library and
+% make it behave like as if \metapost was used. And replace |.mp| files with
% cache files if needed.
% See also \#74, \#97.
% \begin{macrocode}
@@ -1127,12 +1287,10 @@ do
end
mpkpse = kpse.new(arg[exe], "mpost")
end
-
local special_ftype = {
pfb = "type1 fonts",
enc = "enc files",
}
-
function luamplib.finder (name, mode, ftype)
if mode == "w" then
if name and name ~= "mpout.log" then
@@ -1158,9 +1316,9 @@ end
% \end{macrocode}
%
-% Create and load MPLib instances.
-% We do not support ancient version of MPLib any more.
-% (Don't know which version of MPLib started to support
+% Create and load \mplib instances.
+% We do not support ancient version of \mplib any more.
+% (Don't know which version of \mplib started to support
% |make_text| and |run_script|; let the users find it.)
% \begin{macrocode}
local preamble = [[
@@ -1169,17 +1327,15 @@ local preamble = [[
let normalfontsize = fontsize;
input %s ;
]]
-
% \end{macrocode}
%
-% |plain| or |metafun|,
-% though we cannot support |metafun| format fully.
+% \emph{plain} or \emph{metafun},
+% though we cannot support \emph{metafun} format fully.
% \begin{macrocode}
local currentformat = "plain"
function luamplib.setformat (name)
currentformat = name
end
-
% \end{macrocode}
%
% v2.9 has introduced the concept of ``code inherit''
@@ -1188,7 +1344,6 @@ luamplib.codeinherit = false
local mplibinstances = {}
luamplib.instances = mplibinstances
local has_instancename = false
-
local function reporterror (result, prevlog)
if not result then
err("no result object returned")
@@ -1229,7 +1384,6 @@ local function reporterror (result, prevlog)
return log
end
end
-
% \end{macrocode}
%
% |lualibs-os.lua| installs a randomseed. When this file is not loaded,
@@ -1242,10 +1396,8 @@ local function luamplibload (name)
find_file = luamplib.finder,
% \end{macrocode}
% Make use of |make_text| and |run_script|, which will co-operate
-% with \LuaTeX's |tex.runtoks|. And we
-% provide |numbersystem| option since v2.4. Default value ``|scaled|''
-% can be changed by declaring |\mplibnumbersystem{double}|
-% or |\mplibnumbersystem{decimal}|.
+% with \LuaTeX's |tex.runtoks| or other Lua functions. And we
+% provide |numbersystem| option since v2.4.
% See \url{https://github.com/lualatex/luamplib/issues/21}.
% \begin{macrocode}
make_text = luamplib.maketext,
@@ -1256,7 +1408,7 @@ local function luamplibload (name)
extensions = 1,
}
% \end{macrocode}
-% Append our own MetaPost preamble to the preamble above.
+% Append our own \metapost preamble to the preamble above.
% \begin{macrocode}
local preamble = tableconcat{
format(preamble, replacesuffix(name,"mp")),
@@ -1273,7 +1425,6 @@ local function luamplibload (name)
log = reporterror(result)
return mpx, result, log
end
-
% \end{macrocode}
%
% Here, excute each |mplibcode| data,
@@ -1323,13 +1474,13 @@ end
% |dvipdfmx| is supported, though nobody seems to use it.
% \begin{macrocode}
local pdfmode = tex.outputmode > 0
+
% \end{macrocode}
%
% |make_text| and some |run_script| uses \LuaTeX's |tex.runtoks|.
% \begin{macrocode}
local catlatex = luatexbase.registernumber("catcodetable@latex")
local catat11 = luatexbase.registernumber("catcodetable@atletter")
-
% \end{macrocode}
%
% |tex.scantoks| sometimes fail to read catcode properly, especially
@@ -1339,7 +1490,6 @@ local catat11 = luatexbase.registernumber("catcodetable@atletter")
local function run_tex_code (str, cat)
texruntoks(function() texsprint(cat or catlatex, str) end)
end
-
% \end{macrocode}
%
% Prepare textext box number containers, locals and globals.
@@ -1355,11 +1505,9 @@ local texboxes = { globalid = 0, localid = 4096 }
% For conversion of |sp| to |bp|.
% \begin{macrocode}
local factor = 65536*(7227/7200)
-
local textext_fmt = 'image(addto currentpicture doublepath unitsquare \z
-xscaled %f yscaled %f shifted (0,-%f) \z
-withprescript "mplibtexboxid=%i:%f:%f")'
-
+ xscaled %f yscaled %f shifted (0,-%f) \z
+ withprescript "mplibtexboxid=%i:%f:%f")'
local function process_tex_text (str)
if str then
local global = (has_instancename or luamplib.globaltextext or luamplib.codeinherit)
@@ -1404,7 +1552,6 @@ local mplibcolorfmt = {
[[\color_select:n%s\endgroup]],
},
}
-
local colfmt = is_defined'color_select:n' and "l3color" or "xcolor"
if colfmt == "l3color" then
run_tex_code{
@@ -1418,7 +1565,6 @@ if colfmt == "l3color" then
}
end
local ccexplat = luatexbase.registernumber"luamplibcctabexplat"
-
local function process_color (str)
if str then
if not str:find("%b{}") then
@@ -1479,20 +1625,18 @@ end
%
% For legacy verbatimtex process.
% |verbatimtex ... etex| before |beginfig()| is not ignored,
-% but the \TeX\ code is inserted just before the mplib box. And
-% \TeX\ code inside |beginfig() ... endfig| is inserted after the mplib box.
+% but the \TeX\ code is inserted just before the \mplib box. And
+% \TeX\ code inside |beginfig() ... endfig| is inserted after the \mplib box.
% \begin{macrocode}
local tex_code_pre_mplib = {}
luamplib.figid = 1
luamplib.in_the_fig = false
-
local function process_verbatimtex_prefig (str)
if str then
tex_code_pre_mplib[luamplib.figid] = str
end
return ""
end
-
local function process_verbatimtex_infig (str)
if str then
return format('special "postmplibverbtex=%s";', str)
@@ -1511,17 +1655,16 @@ local runscript_funcs = {
% \end{macrocode}
%
-% For |metafun| format. see issue \#79.
+% For \emph{metafun} format. see issue \#79.
% \begin{macrocode}
mp = mp or {}
local mp = mp
mp.mf_path_reset = mp.mf_path_reset or function() end
mp.mf_finish_saving_data = mp.mf_finish_saving_data or function() end
mp.report = mp.report or info
-
% \end{macrocode}
%
-% metafun 2021-03-09 changes crashes luamplib.
+% \emph{metafun} 2021-03-09 changes crashes luamplib.
% \begin{macrocode}
catcodes = catcodes or {}
local catcodes = catcodes
@@ -1555,7 +1698,6 @@ local function mpprint(buffer,...)
end
end
end
-
function luamplib.runscript (code)
local id, str = code:match("(.-){(.*)}")
if id and str then
@@ -1594,9 +1736,7 @@ local function protecttexcontents (str)
:gsub("%zPerCent%z", "\\%%")
:gsub("%s+", " ")
end
-
luamplib.legacyverbatimtex = true
-
function luamplib.maketext (str, what)
if str and str ~= "" then
str = protecttexcontents(str)
@@ -1624,13 +1764,13 @@ end
% \end{macrocode}
%
-% luamplib's metapost color operators
+% luamplib's \metapost color operators
% \begin{macrocode}
local function colorsplit (res)
- local t, tt = { }, res:gsub("[%[%]]",""):explode()
+ local t, tt = { }, res:gsub("[%[%]]","",2):explode()
local be = tt[1]:find"^%d" and 1 or 2
for i=be, #tt do
- if tt[i]:find"^%a" then break end
+ if not tonumber(tt[i]) then break end
t[#t+1] = tt[i]
end
return t
@@ -1759,9 +1899,15 @@ end
% \end{macrocode}
%
+% Remove trailing zeros for smaller PDF
+% \begin{macrocode}
+local decimals = "%.%d+"
+local function rmzeros(str) return str:gsub("%.?0+$","") end
+
+% \end{macrocode}
+%
% luamplib's mplibgraphictext operator
% \begin{macrocode}
-local running = -1073741824
local emboldenfonts = { }
local function getemboldenwidth (curr, fakebold)
local width = emboldenfonts.width
@@ -1794,13 +1940,14 @@ local function getrulewhatsit (line, wd, ht, dp)
fmt = "pdf:content "..fmt
pl = node.new("whatsit","special")
end
- pl.data = fmt:format(line, 0, -dp, wd, ht+dp, "B")
+ pl.data = fmt:format(line, 0, -dp, wd, ht+dp, "B") :gsub(decimals,rmzeros)
local ss = node.new"glue"
node.setglue(ss, 0, 65536, 65536, 2, 2)
pl.next = ss
return pl
end
local function getrulemetric (box, curr, bp)
+ local running = -1073741824
local wd,ht,dp = curr.width, curr.height, curr.depth
wd = wd == running and box.width or wd
ht = ht == running and box.height or ht
@@ -1852,7 +1999,8 @@ local function embolden (box, curr, fakebold)
head, curr = node.remove(head, curr)
elseif curr.id == node.id"glyph" and curr.font > 0 then
local f = curr.font
- local i = emboldenfonts[f]
+ local key = format("%s:%s",f,fakebold)
+ local i = emboldenfonts[key]
if not i then
local ft = font.getfont(f) or font.getcopy(f)
if pdfmode then
@@ -1868,7 +2016,7 @@ local function embolden (box, curr, fakebold)
name = format('%s;embolden=%s;',name,fakebold)
_, i = fonts.constructors.readanddefine(name,ft.size)
end
- emboldenfonts[f] = i
+ emboldenfonts[key] = i
end
curr.font = i
end
@@ -1880,6 +2028,9 @@ end
local function graphictextcolor (col, filldraw)
if col:find"^[%d%.:]+$" then
col = col:explode":"
+ for i=1,#col do
+ col[i] = format("%.3f", col[i])
+ end
if pdfmode then
local op = #col == 4 and "k" or #col == 3 and "rg" or "g"
col[#col+1] = filldraw == "fill" and op or op:upper()
@@ -2077,7 +2228,7 @@ end
% mpliboutlinetext : based on mkiv's font-mps.lua
% \begin{macrocode}
local rulefmt = "mpliboutlinepic[%i]:=image(addto currentpicture contour \z
-unitsquare shifted - center unitsquare;) xscaled %f yscaled %f shifted (%f,%f);"
+ unitsquare shifted - center unitsquare;) xscaled %f yscaled %f shifted (%f,%f);"
local outline_horz, outline_vert
function outline_vert (res, box, curr, xshift, yshift)
local b2u = box.dir == "LTL"
@@ -2318,7 +2469,7 @@ end
% \end{macrocode}
%
-% Our MetaPost preambles
+% Our \metapost preambles
% \begin{macrocode}
luamplib.preambles = {
mplibcode = [[
@@ -2503,7 +2654,13 @@ vardef mpliboutlinetext@# (expr t) text rest =
) mplib_do_outline_options_r; )
enddef ;
primarydef t withpattern p =
- image( fill t withprescript "mplibpattern=" & if numeric p: decimal fi p; )
+ image(
+ if cycle t:
+ fill
+ else:
+ draw
+ fi
+ t withprescript "mplibpattern=" & if numeric p: decimal fi p; )
enddef;
vardef mplibtransformmatrix (text e) =
save t; transform t;
@@ -2528,10 +2685,10 @@ primarydef p withfademethod s =
fi
withprescript "mplibfadetype=" & s
withprescript "mplibfadebbox=" &
- decimal xpart llcorner p & ":" &
- decimal ypart llcorner p & ":" &
- decimal xpart urcorner p & ":" &
- decimal ypart urcorner p
+ decimal (xpart llcorner p -1/4) & ":" &
+ decimal (ypart llcorner p -1/4) & ":" &
+ decimal (xpart urcorner p +1/4) & ":" &
+ decimal (ypart urcorner p +1/4)
enddef;
def withfadeopacity (expr a,b) =
withprescript "mplibfadeopacity=" &
@@ -2558,6 +2715,34 @@ def withfadebbox (expr a,b) =
decimal xpart b & ":" &
decimal ypart b
enddef;
+primarydef p asgroup s =
+ image(
+ draw center p
+ withprescript "mplibgroupbbox=" &
+ decimal (xpart llcorner p -1/4) & ":" &
+ decimal (ypart llcorner p -1/4) & ":" &
+ decimal (xpart urcorner p +1/4) & ":" &
+ decimal (ypart urcorner p +1/4)
+ withprescript "gr_state=start"
+ withprescript "gr_type=" & s;
+ draw p;
+ draw center p withprescript "gr_state=stop";
+ )
+enddef;
+def withgroupbbox (expr a,b) =
+ withprescript "mplibgroupbbox=" &
+ decimal xpart a & ":" &
+ decimal ypart a & ":" &
+ decimal xpart b & ":" &
+ decimal ypart b
+enddef;
+def withgroupname expr s =
+ withprescript "mplibgroupname=" & s
+enddef;
+def usemplibgroup primary s =
+ draw maketext("\usemplibgroup{" & s & "}")
+ shifted runscript("return luamplib.trgroupshifts['" & s & "']")
+enddef;
]],
legacyverbatimtex = [[
def specialVerbatimTeX (text t) = runscript("luamplibprefig{"&t&"}") enddef;
@@ -2587,7 +2772,6 @@ enddef;
% When \cs{mplibverbatim} is enabled, do not expand |mplibcode| data.
% \begin{macrocode}
luamplib.verbatiminput = false
-
% \end{macrocode}
%
% Do not expand |btex ... etex|, |verbatimtex ... etex|, and
@@ -2603,7 +2787,6 @@ local function protect_expansion (str)
return format("\\unexpanded{%s}",str)
end
end
-
local function unprotect_expansion (str)
if str then
return str:gsub("!!!Control!!!", "\\")
@@ -2613,25 +2796,20 @@ local function unprotect_expansion (str)
:gsub("!!!RBrace!!!", "}")
end
end
-
luamplib.everymplib = setmetatable({ [""] = "" },{ __index = function(t) return t[""] end })
luamplib.everyendmplib = setmetatable({ [""] = "" },{ __index = function(t) return t[""] end })
-
function luamplib.process_mplibcode (data, instancename)
texboxes.localid = 4096
-
% \end{macrocode}
% This is needed for legacy behavior
% \begin{macrocode}
if luamplib.legacyverbatimtex then
luamplib.figid, tex_code_pre_mplib = 1, {}
end
-
local everymplib = luamplib.everymplib[instancename]
local everyendmplib = luamplib.everyendmplib[instancename]
data = format("\n%s\n%s\n%s\n",everymplib, data, everyendmplib)
:gsub("\r","\n")
-
% \end{macrocode}
% These five lines are needed for |mplibverbatim| mode.
% \begin{macrocode}
@@ -2671,7 +2849,6 @@ function luamplib.process_mplibcode (data, instancename)
return format("verbatimtex %s etex", unprotect_expansion(str))
end)
end
-
process(data, instancename)
end
@@ -2679,21 +2856,12 @@ end
%
% For parsing |prescript| materials.
% \begin{macrocode}
-local further_split_keys = {
- mplibtexboxid = true,
- sh_color_a = true,
- sh_color_b = true,
-}
local function script2table(s)
local t = {}
for _,i in ipairs(s:explode("\13+")) do
local k,v = i:match("(.-)=(.*)") -- v may contain = or empty.
if k and v and k ~= "" and not t[k] then
- if further_split_keys[k] or further_split_keys[k:sub(1,10)] then
- t[k] = v:explode(":")
- else
- t[k] = v
- end
+ t[k] = v
end
end
return t
@@ -2709,38 +2877,26 @@ local figcontents = { post = { } }
local function put2output(a,...)
figcontents[#figcontents+1] = type(a) == "string" and format(a,...) or a
end
-
local function pdf_startfigure(n,llx,lly,urx,ury)
put2output("\\mplibstarttoPDF{%f}{%f}{%f}{%f}",llx,lly,urx,ury)
end
-
local function pdf_stopfigure()
put2output("\\mplibstoptoPDF")
end
-
% \end{macrocode}
%
% |tex.sprint| with catcode regime -2, as sometimes |#| gets doubled
% in the argument of pdfliteral.
% \begin{macrocode}
-local function pdf_literalcode (fmt,...)
- put2output{-2, format(fmt,...)}
-end
-
-local function start_pdf_code()
- if pdfmode then
- pdf_literalcode("q")
- else
- put2output"\\special{pdf:bcontent}"
- end
-end
-local function stop_pdf_code()
- if pdfmode then
- pdf_literalcode("Q")
- else
- put2output"\\special{pdf:econtent}"
- end
+local function pdf_literalcode (...)
+ put2output{ -2, format(...) :gsub(decimals,rmzeros) }
end
+local start_pdf_code = pdfmode
+ and function() pdf_literalcode"q" end
+ or function() put2output"\\special{pdf:bcontent}" end
+local stop_pdf_code = pdfmode
+ and function() pdf_literalcode"Q" end
+ or function() put2output"\\special{pdf:econtent}" end
% \end{macrocode}
%
@@ -2748,7 +2904,7 @@ end
% |textext(...)| or |TEX(...)|, all being the same internally.
% \begin{macrocode}
local function put_tex_boxes (object,prescript)
- local box = prescript.mplibtexboxid
+ local box = prescript.mplibtexboxid:explode":"
local n,tw,th = box[1],tonumber(box[2]),tonumber(box[3])
if n and tw and th then
local op = object.path
@@ -2812,7 +2968,6 @@ local pdfobjs, pdfetcs = {}, {}
pdfetcs.pgfextgs = "pgf@sys@addpdfresource@extgs@plain"
pdfetcs.pgfpattern = "pgf@sys@addpdfresource@patterns@plain"
pdfetcs.pgfcolorspace = "pgf@sys@addpdfresource@colorspaces@plain"
-
local function update_pdfobjs (os, stream)
local key = os
if stream then key = key..stream end
@@ -2839,7 +2994,6 @@ local function update_pdfobjs (os, stream)
return on,true
end
pdfetcs.resfmt = pdfmode and "%s 0 R" or "@mplibpdfobj%s"
-
if pdfmode then
pdfetcs.getpageres = pdf.getpageresources or function() return pdf.pageresources end
local getpageres = pdfetcs.getpageres
@@ -2875,12 +3029,20 @@ if pdfmode then
end
else
texsprint {
+ "\\luamplibatfirstshipout{",
"\\special{pdf:obj @MPlibTr<<>>}",
"\\special{pdf:obj @MPlibSh<<>>}",
"\\special{pdf:obj @MPlibCS<<>>}",
- "\\special{pdf:obj @MPlibPt<<>>}",
+ "\\special{pdf:obj @MPlibPt<<>>}}",
}
pdfetcs.resadded = { }
+ pdfetcs.fallback_update_resources = function (name,res,obj)
+ texsprint{"\\special{pdf:put ", obj, " <<", res, ">>}"}
+ if not pdfetcs.resadded[name] then
+ texsprint{"\\luamplibateveryshipout{\\special{pdf:put @resources <</", name, " ", obj, ">>}}"}
+ pdfetcs.resadded[name] = obj
+ end
+ end
end
% \end{macrocode}
@@ -2906,29 +3068,21 @@ local function add_extgs_resources (on, new)
local tr = format("/%s %s", key, val)
if is_defined(pdfetcs.pgfextgs) then
texsprint { "\\csname ", pdfetcs.pgfextgs, "\\endcsname{", tr, "}" }
- elseif pdfmode then
- if is_defined"TRP@list" then
- texsprint(catat11,{
- [[\if@filesw\immediate\write\@auxout{]],
- [[\string\g@addto@macro\string\TRP@list{]],
- tr,
- [[}}\fi]],
- })
- if not get_macro"TRP@list":find(tr) then
- texsprint(catat11,[[\global\TRP@reruntrue]])
- end
- else
- pdfetcs.fallback_update_resources("ExtGState", tr)
+ elseif is_defined"TRP@list" then
+ texsprint(catat11,{
+ [[\if@filesw\immediate\write\@auxout{]],
+ [[\string\g@addto@macro\string\TRP@list{]],
+ tr,
+ [[}}\fi]],
+ })
+ if not get_macro"TRP@list":find(tr) then
+ texsprint(catat11,[[\global\TRP@reruntrue]])
end
else
- texsprint { "\\special{pdf:put @MPlibTr<<", tr, ">>}" }
+ pdfetcs.fallback_update_resources("ExtGState",tr,"@MPlibTr")
end
end
end
- if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfextgs) then
- texsprint"\\special{pdf:put @resources <</ExtGState @MPlibTr>>}"
- pdfetcs.resadded.ExtGState = "@MPlibTr"
- end
return key
end
local function do_preobj_TR(object,prescript)
@@ -2938,9 +3092,9 @@ local function do_preobj_TR(object,prescript)
local key, on, os, new
local mode = prescript.tr_alternative or 1
mode = transparancy_modes[tonumber(mode)] or mode
+ opaq = format("%.3f", opaq) :gsub(decimals,rmzeros)
for i,v in ipairs{ {mode,opaq},{"Normal",1} } do
- mode, opaq = v[1], v[2]
- os = format("<</BM /%s/ca %.3f/CA %.3f/AIS false>>",mode,opaq,opaq)
+ os = format("<</BM/%s/ca %s/CA %s/AIS false>>",v[1],v[2],v[2])
on, new = update_pdfobjs(os)
key = add_extgs_resources(on,new)
if i == 1 then
@@ -2954,39 +3108,48 @@ end
% \end{macrocode}
%
-% Shading with |metafun| format.
+% Shading with \emph{metafun} format.
% \begin{macrocode}
local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,steps,fractions)
- local fun2fmt,os = "<</FunctionType 2/Domain [%s]/C0 [%s]/C1 [%s]/N 1>>"
+ for _,v in ipairs{ca,cb} do
+ for i,vv in ipairs(v) do
+ for ii,vvv in ipairs(vv) do
+ v[i][ii] = tonumber(vvv) and format("%.3f",vvv) or vvv
+ end
+ end
+ end
+ local fun2fmt,os = "<</FunctionType 2/Domain[%s]/C0[%s]/C1[%s]/N 1>>"
if steps > 1 then
local list,bounds,encode = { },{ },{ }
for i=1,steps do
if i < steps then
- bounds[i] = fractions[i] or 1
+ bounds[i] = format("%.3f", fractions[i] or 1)
end
encode[2*i-1] = 0
encode[2*i] = 1
os = fun2fmt:format(domain,tableconcat(ca[i],' '),tableconcat(cb[i],' '))
+ :gsub(decimals,rmzeros)
list[i] = format(pdfetcs.resfmt, update_pdfobjs(os))
end
os = tableconcat {
"<</FunctionType 3",
- format("/Bounds [%s]", tableconcat(bounds,' ')),
- format("/Encode [%s]", tableconcat(encode,' ')),
- format("/Functions [%s]", tableconcat(list, ' ')),
- format("/Domain [%s]>>", domain),
- }
+ format("/Bounds[%s]", tableconcat(bounds,' ')),
+ format("/Encode[%s]", tableconcat(encode,' ')),
+ format("/Functions[%s]", tableconcat(list, ' ')),
+ format("/Domain[%s]>>", domain),
+ } :gsub(decimals,rmzeros)
else
os = fun2fmt:format(domain,tableconcat(ca[1],' '),tableconcat(cb[1],' '))
+ :gsub(decimals,rmzeros)
end
local objref = format(pdfetcs.resfmt, update_pdfobjs(os))
os = tableconcat {
format("<</ShadingType %i", shtype),
format("/ColorSpace %s", colorspace),
format("/Function %s", objref),
- format("/Coords [%s]", coordinates),
- "/Extend [true true]/AntiAlias true>>",
- }
+ format("/Coords[%s]", coordinates),
+ "/Extend[true true]/AntiAlias true>>",
+ } :gsub(decimals,rmzeros)
local on, new = update_pdfobjs(os)
if new then
local key, val = format("MPlibSh%s", on), format(pdfetcs.resfmt, on)
@@ -2996,20 +3159,11 @@ local function sh_pdfpageresources(shtype,domain,colorspace,ca,cb,coordinates,st
}
else
local res = format("/%s %s", key, val)
- if pdfmode then
- pdfetcs.fallback_update_resources("Shading", res)
- else
- texsprint { "\\special{pdf:put @MPlibSh<<", res, ">>}" }
- end
+ pdfetcs.fallback_update_resources("Shading",res,"@MPlibSh")
end
end
- if not pdfmode and not pdfmanagement then
- texsprint"\\special{pdf:put @resources <</Shading @MPlibSh>>}"
- pdfetcs.resadded.Shading = "@MPlibSh"
- end
return on
end
-
local function color_normalize(ca,cb)
if #cb == 1 then
if #ca == 4 then
@@ -3021,7 +3175,6 @@ local function color_normalize(ca,cb)
cb[1], cb[2], cb[3], cb[4] = 1-cb[1], 1-cb[2], 1-cb[3], 0
end
end
-
pdfetcs.clrspcs = setmetatable({ }, { __index = function(t,names)
run_tex_code({
[[\color_model_new:nnn]],
@@ -3033,7 +3186,6 @@ pdfetcs.clrspcs = setmetatable({ }, { __index = function(t,names)
t[names] = colorspace
return colorspace
end })
-
local function do_preobj_SH(object,prescript)
local shade_no
local sh_type = prescript and prescript.sh_type
@@ -3041,14 +3193,14 @@ local function do_preobj_SH(object,prescript)
return
else
local domain = prescript.sh_domain or "0 1"
- local centera = prescript.sh_center_a or "0 0"; centera = centera:explode()
- local centerb = prescript.sh_center_b or "0 0"; centerb = centerb:explode()
+ local centera = (prescript.sh_center_a or "0 0"):explode()
+ local centerb = (prescript.sh_center_b or "0 0"):explode()
local transform = prescript.sh_transform == "yes"
local sx,sy,sr,dx,dy = 1,1,1,0,0
if transform then
- local first = prescript.sh_first or "0 0"; first = first:explode()
- local setx = prescript.sh_set_x or "0 0"; setx = setx:explode()
- local sety = prescript.sh_set_y or "0 0"; sety = sety:explode()
+ local first = (prescript.sh_first or "0 0"):explode()
+ local setx = (prescript.sh_set_x or "0 0"):explode()
+ local sety = (prescript.sh_set_y or "0 0"):explode()
local x,y = tonumber(setx[1]) or 0, tonumber(sety[1]) or 0
if x ~= 0 and y ~= 0 then
local path = object.path
@@ -3070,15 +3222,15 @@ local function do_preobj_SH(object,prescript)
end
end
local ca, cb, colorspace, steps, fractions
- ca = { prescript.sh_color_a_1 or prescript.sh_color_a or {0} }
- cb = { prescript.sh_color_b_1 or prescript.sh_color_b or {1} }
+ ca = { (prescript.sh_color_a_1 or prescript.sh_color_a or "0"):explode":" }
+ cb = { (prescript.sh_color_b_1 or prescript.sh_color_b or "1"):explode":" }
steps = tonumber(prescript.sh_step) or 1
if steps > 1 then
fractions = { prescript.sh_fraction_1 or 0 }
for i=2,steps do
fractions[i] = prescript[format("sh_fraction_%i",i)] or (i/steps)
- ca[i] = prescript[format("sh_color_a_%i",i)] or {0}
- cb[i] = prescript[format("sh_color_b_%i",i)] or {1}
+ ca[i] = (prescript[format("sh_color_a_%i",i)] or "0"):explode":"
+ cb[i] = (prescript[format("sh_color_b_%i",i)] or "1"):explode":"
end
end
if prescript.mplib_spotcolor then
@@ -3145,7 +3297,6 @@ local function do_preobj_SH(object,prescript)
else
err"unknown shading type"
end
- pdf_literalcode("q /Pattern cs")
end
return shade_no
end
@@ -3155,9 +3306,8 @@ end
% Patterns
% \begin{macrocode}
pdfetcs.patterns = { }
-local patterns = pdfetcs.patterns
-local function gather_resources (do_pattern, optres)
- local t = { }
+local function gather_resources (optres)
+ local t, do_pattern = { }, not optres
local names = {"ExtGState","ColorSpace","Shading"}
if do_pattern then
names[#names+1] = "Pattern"
@@ -3173,10 +3323,12 @@ local function gather_resources (do_pattern, optres)
else
local res = pdfetcs.getpageres() or ""
run_tex_code[[\mplibtmptoks\expandafter{\the\pdfvariable pageresources}]]
- res = (res .. texgettoks'mplibtmptoks'):explode()
- res = tableconcat(res," "):explode"/+"
+ res = res .. texgettoks'mplibtmptoks'
+ if do_pattern then return res end
+ res = res:explode"/+"
for _,v in ipairs(res) do
- if do_pattern or not v:find"Pattern" and not optres:find(v) then
+ v = v:match"^%s*(.-)%s*$"
+ if not v:find"Pattern" and not optres:find(v) then
t[#t+1] = "/" .. v
end
end
@@ -3203,7 +3355,7 @@ local function gather_resources (do_pattern, optres)
"}}",
}, catat11)
t[#t+1] = texgettoks'mplibtmptoks'
- elseif do_pattern then
+ else
for _,v in ipairs(names) do
local vv = pdfetcs.resadded[v]
if vv then
@@ -3212,13 +3364,13 @@ local function gather_resources (do_pattern, optres)
end
end
end
- return t
+ return tableconcat(t)
end
function luamplib.registerpattern ( boxid, name, opts )
local box = texgetbox(boxid)
local wd = format("%.3f",box.width/factor)
local hd = format("%.3f",(box.height+box.depth)/factor)
- info("w/h/d of '%s': %s %s 0.0", name, wd, hd)
+ info("w/h/d of pattern '%s': %s 0", name, format("%s %s",wd, hd):gsub(decimals,rmzeros))
if opts.xstep == 0 then opts.xstep = nil end
if opts.ystep == 0 then opts.ystep = nil end
if opts.colored == nil then
@@ -3233,9 +3385,9 @@ function luamplib.registerpattern ( boxid, name, opts )
local data = format("mplibtransformmatrix(%s);",opts.matrix)
process(data,"@mplibtransformmatrix")
local t = luamplib.transformmatrix
- opts.matrix = format("%s %s %s %s", t[1], t[2], t[3], t[4])
- opts.xshift = opts.xshift or t[5]
- opts.yshift = opts.yshift or t[6]
+ opts.matrix = format("%f %f %f %f", t[1], t[2], t[3], t[4])
+ opts.xshift = opts.xshift or format("%f",t[5])
+ opts.yshift = opts.yshift or format("%f",t[6])
end
local attr = {
"/Type/Pattern",
@@ -3244,33 +3396,36 @@ function luamplib.registerpattern ( boxid, name, opts )
"/TilingType 2",
format("/XStep %s", opts.xstep or wd),
format("/YStep %s", opts.ystep or hd),
- format("/Matrix [%s %s %s]", opts.matrix or "1 0 0 1", opts.xshift or 0, opts.yshift or 0),
+ format("/Matrix[%s %s %s]", opts.matrix or "1 0 0 1", opts.xshift or 0, opts.yshift or 0),
}
local optres = opts.resources or ""
- local t = gather_resources(false, optres)
- optres = optres .. tableconcat(t)
+ optres = optres .. gather_resources(optres)
+ local patterns = pdfetcs.patterns
if pdfmode then
if opts.bbox then
- attr[#attr+1] = format("/BBox [%s]", opts.bbox)
+ attr[#attr+1] = format("/BBox[%s]", opts.bbox)
end
- local index = tex.saveboxresource(boxid, tableconcat(attr), optres, true, opts.bbox and 4 or 1)
+ attr = tableconcat(attr) :gsub(decimals,rmzeros)
+ local index = tex.saveboxresource(boxid, attr, optres, true, opts.bbox and 4 or 1)
patterns[name] = { id = index, colored = opts.colored }
else
- local objname = "@mplibpattern"..name
+ local cnt = #patterns + 1
+ local objname = "@mplibpattern" .. cnt
local metric = format("bbox %s", opts.bbox or format("0 0 %s %s",wd,hd))
texsprint {
- [[\ifvmode\nointerlineskip\fi]],
- format([[\hbox to0pt{\vbox to0pt{\hsize=\wd %i\vss\noindent]], boxid), -- force horiz mode?
- [[\special{pdf:bcontent}]],
- [[\special{pdf:bxobj ]], objname, format(" %s}", metric),
- format([[\raise\dp %i\box %i]], boxid, boxid),
- format([[\special{pdf:put @resources <<%s>>}]], optres),
- [[\special{pdf:exobj <<]], tableconcat(attr), ">>}",
- [[\special{pdf:econtent}]],
- [[\par}\hss}]],
+ "\\expandafter\\newbox\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\global\\setbox\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\hbox{\\unhbox ", boxid, "}\\luamplibatnextshipout{",
+ "\\special{pdf:bcontent}",
+ "\\special{pdf:bxobj ", objname, " ", metric, "}",
+ "\\raise\\dp\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\box\\csname luamplib.patternbox.", cnt, "\\endcsname",
+ "\\special{pdf:put @resources <<", optres, ">>}",
+ "\\special{pdf:exobj <<", tableconcat(attr), ">>}",
+ "\\special{pdf:econtent}}",
}
- patterns[#patterns+1] = objname
- patterns[name] = { id = #patterns, colored = opts.colored }
+ patterns[cnt] = objname
+ patterns[name] = { id = cnt, colored = opts.colored }
end
end
local function pattern_colorspace (cs)
@@ -3285,22 +3440,17 @@ local function pattern_colorspace (cs)
local res = format("/%s %s", key, val)
if is_defined(pdfetcs.pgfcolorspace) then
texsprint { "\\csname ", pdfetcs.pgfcolorspace, "\\endcsname{", res, "}" }
- elseif pdfmode then
- pdfetcs.fallback_update_resources("ColorSpace", res)
else
- texsprint { "\\special{pdf:put @MPlibCS<<", res, ">>}" }
+ pdfetcs.fallback_update_resources("ColorSpace",res,"@MPlibCS")
end
end
end
- if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfcolorspace) then
- texsprint"\\special{pdf:put @resources <</ColorSpace @MPlibCS>>}"
- pdfetcs.resadded.ColorSpace = "@MPlibCS"
- end
return on
end
local function do_preobj_PAT(object, prescript)
local name = prescript and prescript.mplibpattern
if not name then return end
+ local patterns = pdfetcs.patterns
local patt = patterns[name]
local index = patt and patt.id or err("cannot get pattern object '%s'", name)
local key = format("MPlibPt%s",index)
@@ -3340,17 +3490,11 @@ local function do_preobj_PAT(object, prescript)
local res = format("/%s %s", key, val)
if is_defined(pdfetcs.pgfpattern) then
texsprint { "\\csname ", pdfetcs.pgfpattern, "\\endcsname{", res, "}" }
- elseif pdfmode then
- pdfetcs.fallback_update_resources("Pattern", res)
else
- texsprint { "\\special{pdf:put @MPlibPt<<", res, ">>}" }
+ pdfetcs.fallback_update_resources("Pattern",res,"@MPlibPt")
end
end
end
- if not pdfmode and not pdfmanagement and not is_defined(pdfetcs.pgfpattern) then
- texsprint"\\special{pdf:put @resources <</Pattern @MPlibPt>>}"
- pdfetcs.resadded.Pattern = "@MPlibPt"
- end
patt.done = true
end
@@ -3388,25 +3532,26 @@ local function do_preobj_FADE (object, prescript)
else
err("unknown fading method '%s'", fd_type)
end
- bbox = format("0 0 %f %f", bbox[3]+dx, bbox[4]+dy)
fd_type = fd_type == "linear" and 2 or 3
local opaq = (prescript.mplibfadeopacity or "1:0"):explode":"
local on, os, new
on = sh_pdfpageresources(fd_type, "0 1", "/DeviceGray", {{opaq[1]}}, {{opaq[2]}}, coords, 1)
os = format("<</PatternType 2/Shading %s>>", format(pdfetcs.resfmt, on))
on = update_pdfobjs(os)
+ bbox = format("0 0 %f %f", bbox[3]+dx, bbox[4]+dy)
local streamtext = format("q /Pattern cs/MPlibFd%s scn %s re f Q", on, bbox)
+ :gsub(decimals,rmzeros)
os = format("<</Pattern<</MPlibFd%s %s>>>>", on, format(pdfetcs.resfmt, on))
on = update_pdfobjs(os)
- local resources = "/Resources " .. format(pdfetcs.resfmt, on)
+ local resources = format(pdfetcs.resfmt, on)
on = update_pdfobjs"<</S/Transparency/CS/DeviceGray>>"
local attr = tableconcat{
"/Subtype/Form",
- format("/BBox[%s]", bbox),
- format("/Matrix[1 0 0 1 %f %f]", -dx, -dy),
- resources,
+ "/BBox[", bbox, "]",
+ "/Matrix[1 0 0 1 ", format("%f %f", -dx,-dy), "]",
+ "/Resources ", resources,
"/Group ", format(pdfetcs.resfmt, on),
- }
+ } :gsub(decimals,rmzeros)
on = update_pdfobjs(attr, streamtext)
os = "<</SMask<</S/Luminosity/G " .. format(pdfetcs.resfmt, on) .. ">>>>"
on, new = update_pdfobjs(os)
@@ -3421,57 +3566,120 @@ end
%
% Transparency Group
% \begin{macrocode}
-pdfetcs.tr_group = { }
+pdfetcs.tr_group = { shifts = { } }
+luamplib.trgroupshifts = pdfetcs.tr_group.shifts
local function do_preobj_GRP (object, prescript)
local grstate = prescript and prescript.gr_state
if not grstate then return end
local trgroup = pdfetcs.tr_group
if grstate == "start" then
+ trgroup.name = prescript.mplibgroupname or "lastmplibgroup"
trgroup.isolated, trgroup.knockout = false, false
for _,v in ipairs(prescript.gr_type:explode",+") do
trgroup[v] = true
end
- local p = object.path
- trgroup.bbox = {
- math.min(p[1].x_coord, p[2].x_coord, p[3].x_coord, p[4].x_coord),
- math.min(p[1].y_coord, p[2].y_coord, p[3].y_coord, p[4].y_coord),
- math.max(p[1].x_coord, p[2].x_coord, p[3].x_coord, p[4].x_coord),
- math.max(p[1].y_coord, p[2].y_coord, p[3].y_coord, p[4].y_coord),
- }
+ trgroup.bbox = prescript.mplibgroupbbox:explode":"
put2output[[\begingroup\setbox\mplibscratchbox\hbox\bgroup]]
elseif grstate == "stop" then
local llx,lly,urx,ury = tableunpack(trgroup.bbox)
- local grattr = format("/Group<</S/Transparency/I %s/K %s>>",trgroup.isolated,trgroup.knockout)
- local res = tableconcat(gather_resources(true))
put2output(tableconcat{
"\\egroup",
format("\\wd\\mplibscratchbox %fbp", urx-llx),
format("\\ht\\mplibscratchbox %fbp", ury-lly),
"\\dp\\mplibscratchbox 0pt",
})
+ local grattr = format("/Group<</S/Transparency/I %s/K %s>>",trgroup.isolated,trgroup.knockout)
+ local res = gather_resources()
+ local bbox = format("%f %f %f %f", llx,lly,urx,ury) :gsub(decimals,rmzeros)
if pdfmode then
put2output(tableconcat{
"\\saveboxresource type 2 attr{/Type/XObject/Subtype/Form/FormType 1",
- format("/BBox[%f %f %f %f]", llx,lly,urx,ury),
- grattr, "} resources{", res, "}\\mplibscratchbox",
+ "/BBox[", bbox, "]", grattr, "} resources{", res, "}\\mplibscratchbox",
[[\setbox\mplibscratchbox\hbox{\useboxresource\lastsavedboxresourceindex}]],
[[\wd\mplibscratchbox 0pt\ht\mplibscratchbox 0pt\dp\mplibscratchbox 0pt]],
[[\box\mplibscratchbox\endgroup]],
+ "\\expandafter\\xdef\\csname luamplib.group.", trgroup.name, "\\endcsname{",
+ "\\noexpand\\mplibstarttoPDF{",llx,"}{",lly,"}{",urx,"}{",ury,"}",
+ "\\useboxresource \\the\\lastsavedboxresourceindex\\noexpand\\mplibstoptoPDF}",
})
else
trgroup.cnt = (trgroup.cnt or 0) + 1
local objname = format("@mplibtrgr%s", trgroup.cnt)
put2output(tableconcat{
- "\\special{pdf:bxobj ", objname, " bbox ", format("%f %f %f %f", llx,lly,urx,ury), "}",
+ "\\special{pdf:bxobj ", objname, " bbox ", bbox, "}",
"\\unhbox\\mplibscratchbox",
"\\special{pdf:put @resources <<", res, ">>}",
"\\special{pdf:exobj <<", grattr, ">>}",
"\\special{pdf:uxobj ", objname, "}\\endgroup",
})
+ token.set_macro("luamplib.group."..trgroup.name, tableconcat{
+ "\\mplibstarttoPDF{",llx,"}{",lly,"}{",urx,"}{",ury,"}",
+ "\\special{pdf:uxobj ", objname, "}\\mplibstoptoPDF",
+ }, "global")
end
+ trgroup.shifts[trgroup.name] = { llx, lly }
end
return grstate
end
+function luamplib.registergroup (boxid, name, opts)
+ local box = texgetbox(boxid)
+ local wd, ht, dp = node.getwhd(box)
+ local res = (opts.resources or "") .. gather_resources()
+ local attr = { "/Type/XObject/Subtype/Form/FormType 1" }
+ if type(opts.matrix) == "table" then opts.matrix = tableconcat(opts.matrix," ") end
+ if type(opts.bbox) == "table" then opts.bbox = tableconcat(opts.bbox," ") end
+ if opts.matrix and opts.matrix:find"%a" then
+ local data = format("mplibtransformmatrix(%s);",opts.matrix)
+ process(data,"@mplibtransformmatrix")
+ opts.matrix = format("%f %f %f %f %f %f",tableunpack(luamplib.transformmatrix))
+ end
+ local grtype = 3
+ if opts.bbox then
+ attr[#attr+1] = format("/BBox[%s]", opts.bbox)
+ grtype = 2
+ end
+ if opts.matrix then
+ attr[#attr+1] = format("/Matrix[%s]", opts.matrix)
+ grtype = opts.bbox and 4 or 1
+ end
+ if opts.asgroup then
+ local t = { isolated = false, knockout = false }
+ for _,v in ipairs(opts.asgroup:explode",+") do t[v] = true end
+ attr[#attr+1] = format("/Group<</S/Transparency/I %s/K %s>>", t.isolated, t.knockout)
+ end
+ local trgroup = pdfetcs.tr_group
+ trgroup.shifts[name] = { get_macro'MPllx', get_macro'MPlly' }
+ local whd
+ if pdfmode then
+ attr = tableconcat(attr) :gsub(decimals,rmzeros)
+ local index = tex.saveboxresource(boxid, attr, res, true, grtype)
+ token.set_macro("luamplib.group."..name, "\\useboxresource "..index, "global")
+ whd = format("%.3f %.3f 0", wd/factor, (ht+dp)/factor) :gsub(decimals,rmzeros)
+ else
+ trgroup.cnt = (trgroup.cnt or 0) + 1
+ local objname = format("@mplibtrgr%s", trgroup.cnt)
+ texsprint {
+ "\\expandafter\\newbox\\csname luamplib.groupbox.", trgroup.cnt, "\\endcsname",
+ "\\global\\setbox\\csname luamplib.groupbox.", trgroup.cnt, "\\endcsname",
+ "\\hbox{\\unhbox ", boxid, "}\\luamplibatnextshipout{",
+ "\\special{pdf:bcontent}",
+ "\\special{pdf:bxobj ", objname, " width ", wd, "sp height ", ht, "sp depth ", dp, "sp}",
+ "\\unhbox\\csname luamplib.groupbox.", trgroup.cnt, "\\endcsname",
+ "\\special{pdf:put @resources <<", res, ">>}",
+ "\\special{pdf:exobj <<", tableconcat(attr), ">>}",
+ "\\special{pdf:econtent}}",
+ }
+ token.set_macro("luamplib.group."..name, tableconcat{
+ "\\begingroup\\setbox\\mplibscratchbox\\hbox{\\special{pdf:uxobj ", objname, "}}",
+ "\\wd\\mplibscratchbox ", wd, "sp",
+ "\\ht\\mplibscratchbox ", ht, "sp",
+ "\\dp\\mplibscratchbox ", dp, "sp",
+ "\\box\\mplibscratchbox\\endgroup",
+ }, "global")
+ whd = format("%.3f %.3f %.3f", wd/factor, ht/factor, dp/factor) :gsub(decimals,rmzeros)
+ end
+ info("w/h/d of group '%s': %s", name, whd)
+end
local function stop_special_effects(fade,opaq,over)
if fade then -- fading
@@ -3632,7 +3840,7 @@ function luamplib.flush (result,flusher)
local object = objects[o]
local objecttype = object.type
% \end{macrocode}
-% The following 8 lines are part of |btex...etex| patch.
+% The following 9 lines are part of |btex...etex| patch.
% Again, colors are processed at this stage.
% \begin{macrocode}
local prescript = object.prescript
@@ -3641,6 +3849,7 @@ function luamplib.flush (result,flusher)
local tr_opaq = do_preobj_TR(object,prescript) -- opacity
local fading_ = do_preobj_FADE(object,prescript) -- fading
local trgroup = do_preobj_GRP(object,prescript) -- transparency group
+ local pattern_ = do_preobj_PAT(object,prescript) -- pattern
if prescript and prescript.mplibtexboxid then
put_tex_boxes(object,prescript)
elseif objecttype == "start_bounds" or objecttype == "stop_bounds" then --skip
@@ -3719,11 +3928,6 @@ function luamplib.flush (result,flusher)
pdf_literalcode("[] 0 d")
dashed = false
end
-% \end{macrocode}
-% Added : shading and pattern
-% \begin{macrocode}
- local shade_no = do_preobj_SH(object,prescript) -- shading
- local pattern_ = do_preobj_PAT(object,prescript) -- pattern
local path = object.path
local transformed, penwidth = false, 1
local open = path and path[1].left_type and path[#path].right_type
@@ -3739,6 +3943,14 @@ function luamplib.flush (result,flusher)
objecttype = 'fill'
end
end
+% \end{macrocode}
+% Added : shading
+% \begin{macrocode}
+ local shade_no = do_preobj_SH(object,prescript) -- shading
+ if shade_no then
+ pdf_literalcode"q /Pattern cs"
+ objecttype = false
+ end
if transformed then
start_pdf_code()
end
@@ -3759,27 +3971,25 @@ function luamplib.flush (result,flusher)
else
flushnormalpath(path,open)
end
-% \end{macrocode}
-% Shading seems to conflict with these ops
-% \begin{macrocode}
- if not shade_no then -- conflict with shading
- if objecttype == "fill" then
- pdf_literalcode(evenodd and "h f*" or "h f")
- elseif objecttype == "outline" then
- if both then
- pdf_literalcode(evenodd and "h B*" or "h B")
- else
- pdf_literalcode(open and "S" or "h S")
- end
- elseif objecttype == "both" then
+ if objecttype == "fill" then
+ pdf_literalcode(evenodd and "h f*" or "h f")
+ elseif objecttype == "outline" then
+ if both then
pdf_literalcode(evenodd and "h B*" or "h B")
+ else
+ pdf_literalcode(open and "S" or "h S")
end
+ elseif objecttype == "both" then
+ pdf_literalcode(evenodd and "h B*" or "h B")
end
end
if transformed then
stop_pdf_code()
end
local path = object.htap
+% \end{macrocode}
+% How can we generate an |htap| object? Please let us know if you have succeeded.
+% \begin{macrocode}
if path then
if transformed then
start_pdf_code()
@@ -3817,7 +4027,7 @@ function luamplib.flush (result,flusher)
% We should beware the |q ... Q| scope.
% \begin{macrocode}
if shade_no then -- shading
- pdf_literalcode("W n /MPlibSh%s sh Q",shade_no)
+ pdf_literalcode("W%s n /MPlibSh%s sh Q",evenodd and "*" or "",shade_no)
end
end
end
@@ -3888,15 +4098,34 @@ end
% First we need to load some packages.
%
% \begin{macrocode}
-\bgroup\expandafter\expandafter\expandafter\egroup
-\expandafter\ifx\csname selectfont\endcsname\relax
- \input ltluatex
-\else
+\ifcsname ProvidesPackage\endcsname
+% \end{macrocode}
+% We need \LaTeX\ 2024-06-01 as we use |ltx.pdf.object_id| when pdfmanagement is loaded.
+% But as \pkg{fp} package does not accept an option, we do not append the date option.
+% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{luamplib}
- [2024/07/17 v2.34.0 mplib package for LuaTeX]
- \ifx\newluafunction\@undefined
+ [2024/08/03 v2.34.5 mplib package for LuaTeX]
+\fi
+\ifdefined\newluafunction\else
\input ltluatex
+\fi
+% \end{macrocode}
+%
+% In DVI mode, a new XObject (mppattern, mplibgroup) must be encapsulated in an \cs{hbox}.
+% But this should not affect typesetting. So we use Hook mechanism provided by \LaTeX\ kernel.
+% In Plain, \pkg{atbegshi.sty} is loaded.
+% \begin{macrocode}
+\ifnum\outputmode=0
+ \ifdefined\AddToHookNext
+ \def\luamplibatnextshipout{\AddToHookNext{shipout/background}}
+ \def\luamplibatfirstshipout{\AddToHook{shipout/firstpage}}
+ \def\luamplibateveryshipout{\AddToHook{shipout/background}}
+ \else
+ \input atbegshi.sty
+ \def\luamplibatnextshipout#1{\AtBeginShipoutNext{\AtBeginShipoutAddToBox{#1}}}
+ \let\luamplibatfirstshipout\AtBeginShipoutFirst
+ \def\luamplibateveryshipout#1{\AtBeginShipout{\AtBeginShipoutAddToBox{#1}}}
\fi
\fi
% \end{macrocode}
@@ -3916,7 +4145,7 @@ end
\fi
% \end{macrocode}
%
-% Set the format for metapost.
+% Set the format for \metapost.
% \begin{macrocode}
\def\mplibsetformat#1{\directlua{luamplib.setformat("#1")}}
% \end{macrocode}
@@ -3958,6 +4187,39 @@ end
\def\mplibputtextbox#1{\vbox to 0pt{\vss\hbox to 0pt{\raise\dp#1\copy#1\hss}}}
% \end{macrocode}
%
+% use Transparency Group
+% \begin{macrocode}
+\protected\def\usemplibgroup#1{\csname luamplib.group.#1\endcsname}
+\protected\def\mplibgroup#1{%
+ \begingroup
+ \def\MPllx{0}\def\MPlly{0}%
+ \def\mplibgroupname{#1}%
+ \mplibgroupgetnexttok
+}
+\def\mplibgroupgetnexttok{\futurelet\nexttok\mplibgroupbranch}
+\def\mplibgroupskipspace{\afterassignment\mplibgroupgetnexttok\let\nexttok= }
+\def\mplibgroupbranch{%
+ \ifx [\nexttok
+ \expandafter\mplibgroupopts
+ \else
+ \ifx\mplibsptoken\nexttok
+ \expandafter\expandafter\expandafter\mplibgroupskipspace
+ \else
+ \let\mplibgroupoptions\empty
+ \expandafter\expandafter\expandafter\mplibgroupmain
+ \fi
+ \fi
+}
+\def\mplibgroupopts[#1]{\def\mplibgroupoptions{#1}\mplibgroupmain}
+\def\mplibgroupmain{\setbox\mplibscratchbox\hbox\bgroup\ignorespaces}
+\protected\def\endmplibgroup{\egroup
+ \directlua{ luamplib.registergroup(
+ \the\mplibscratchbox, '\mplibgroupname', {\mplibgroupoptions}
+ )}%
+ \endgroup
+}
+% \end{macrocode}
+%
% Patterns
% \begin{macrocode}
{\def\:{\global\let\mplibsptoken= } \: }
@@ -3996,7 +4258,7 @@ end
}
% \end{macrocode}
%
-% simple way to use mplib:
+% simple way to use \mplib:
% |\mpfig draw fullcircle scaled 10; \endmpfig|
% \begin{macrocode}
\def\mpfiginstancename{@mpfig}
@@ -4208,7 +4470,7 @@ end
\def\domplibcolor#1#2{ runscript("luamplibcolor{#1{#2}}") }
% \end{macrocode}
%
-% MPLib's number system. Now |binary| has gone away.
+% \mplib's number system. Now |binary| has gone away.
% \begin{macrocode}
\def\mplibnumbersystem#1{\directlua{
local t = "#1"
diff --git a/macros/luatex/generic/luamplib/luamplib.pdf b/macros/luatex/generic/luamplib/luamplib.pdf
index d59201ed00..7682155b3c 100644
--- a/macros/luatex/generic/luamplib/luamplib.pdf
+++ b/macros/luatex/generic/luamplib/luamplib.pdf
Binary files differ
diff --git a/macros/luatex/generic/luamplib/test-luamplib-latex.tex b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
index b2f2f63cb7..8435ee070c 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-latex.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-latex.tex
@@ -246,19 +246,19 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
\endmpfig
\par\leavevmode
\mppattern{mypatt}
- \mpfig
- picture q;
- q := btex Q etex;
- fill bbox q withcolor .8[red,white];
- draw q withcolor .8red;
- \endmpfig
+[
+ xstep = 5, ystep = 6,
+ matrix = "rotated 90 scaled .75",
+]
+\mpfig
+draw (origin--right+up) scaled 5 withcolor 1/3[blue,white] ;
+draw (up--right) scaled 5 withcolor 1/3[red,white] ;
+\endmpfig
\endmppattern
\mpfig
- fill fullcircle scaled 100 withpostscript "collect";
- draw unitsquare shifted - center unitsquare scaled 45
- withpattern "mypatt"
- withpostscript "evenodd"
- ;
+draw unitsquare shifted -center unitsquare scaled 45 withpostscript "collect" ;
+draw fullcircle scaled 100 withpattern "mypatt" withpen pencircle scaled 1
+ withcolor \mpcolor{red!50!blue!50} withpostscript "evenodd" ;
\endmpfig
\begin{mppattern}{pattuncolored}
[
@@ -271,6 +271,7 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
picture tex;
tex = mpliboutlinetext.p ("\bfseries \TeX");
for i=1 upto mpliboutlinenum:
+ draw image(
j:=0;
for item within mpliboutlinepic[i]:
j:=j+1;
@@ -279,12 +280,13 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
withpostscript "collect"
else:
withpattern "pattuncolored"
- withfademethod "linear"
- withfadebbox (10 llcorner mpliboutlinepic[i], 10 urcorner mpliboutlinepic[i])
withpen pencircle scaled 1/2
withcolor (i/4)[red,blue]
fi;
endfor
+ )
+ withfademethod "linear"
+ ;
endfor
\endmpfig
\par\leavevmode
@@ -295,7 +297,7 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
draw mill
withfademethod "circular"
withfadecenter (center mill, center mill)
- withfaderadius (20, abs(lrcorner mill - llcorner mill)/2)
+ withfaderadius (30, abs(lrcorner mill - llcorner mill)/2)
withfadeopacity (1, 0)
;
\endmpfig
@@ -318,14 +320,29 @@ draw mpliboutlinetext.b ("$\displaystyle\frac{1}{1-x^2}$")
;
)
asgroup "#1"
+ withgroupname "test:#1"
withtransparency (1,.5)
;
- currentpicture := currentpicture scaled 3/4;
+ currentpicture := currentpicture scaled 2/3;
\endmpfig
}%
\hbox{\test{isolated,knockout}\,\test{isolated}\vbox to\MPheight{\vss\hbox{~isolated}\vss}}%
\hbox{\test{knockout}\,\test{}}%
\hbox to\MPwidth{\hss knockout\hss}%
+\leavevmode
+\mpfig usemplibgroup "test:isolated,knockout" scaled 2/3 rotated 15 ; \endmpfig
+\usemplibgroup{test:isolated,knockout}%
+\begin{mplibgroup}{mytex}[matrix="rotated 15"] \TeX \end{mplibgroup}%
+\hbox to0pt{\hss\vrule width.5pt height5pt depth5pt\hss}%
+\hbox to0pt{\hss\vrule width10pt height.25pt depth.25pt\hss}%
+\usemplibgroup{mytex}%
+\mpfig usemplibgroup "mytex"; draw (left--right) scaled 5; draw (up--down) scaled 5; \endmpfig
+\par
+\mpfig
+ picture test; test = mplibgraphictext "\textbf{MPLIB}"
+ fakebold 1 fillcolor "red!70" drawcolor .7red scaled 7;
+ draw test withpattern "mypatt" ;
+\endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/macros/luatex/generic/luamplib/test-luamplib-plain.tex b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
index 622932ca10..05c2f8138d 100644
--- a/macros/luatex/generic/luamplib/test-luamplib-plain.tex
+++ b/macros/luatex/generic/luamplib/test-luamplib-plain.tex
@@ -1,4 +1,4 @@
-\input luaotfload.sty
+%\input luaotfload.sty
\input miniltx
\input color
\definecolor{orange}{cmyk}{0,.5,1,0}
@@ -263,6 +263,7 @@ draw mpliboutlinetext.b ("$\overbrace{x+\cdots+x}^k$")
\mpfig
picture tex;
tex = mpliboutlinetext.p ("\bf \TeX");
+ draw image(
for i=1 upto mpliboutlinenum:
j:=0;
for item within mpliboutlinepic[i]:
@@ -272,16 +273,19 @@ draw mpliboutlinetext.b ("$\overbrace{x+\cdots+x}^k$")
withpostscript "collect"
else:
withpattern "pattuncolored"
- withfademethod "linear"
- withfadebbox (10 llcorner tex, 10 urcorner tex)
withpen pencircle scaled 1/2
withcolor (i/4)[red,blue]
fi;
endfor
endfor
+ )
+ withfademethod "linear"
+ ;
\endmpfig
+\par\leavevmode
\mpfig
fill fullcircle scaled 125 withcolor 2/3[blue,white];
+fill fullcircle scaled 80 withcolor 2/3[red,white];
draw image(
draw (left--right) rotated 45 scaled 50
withpen pencircle scaled 20
@@ -291,9 +295,29 @@ draw image(
;
)
asgroup ""
+ withgroupname "testTRgroup"
withprescript "tr_transparency=.3"
;
\endmpfig
+\mpfig
+fill fullcircle scaled 125 withcolor 2/3[red,white];
+fill fullcircle scaled 80 withcolor 2/3[blue,white];
+usemplibgroup "testTRgroup"
+ withfademethod "circular"
+ withfaderadius (0,60)
+ ;
+\endmpfig
+\mplibgroup{mytex}[matrix="rotated 15"] \TeX \endmplibgroup
+\hbox to0pt{\hss\vrule width.5pt height5pt depth5pt\hss}%
+\hbox to0pt{\hss\vrule width10pt height.25pt depth.25pt\hss}%
+\usemplibgroup{mytex}%
+\mpfig usemplibgroup "mytex"; draw (left--right) scaled 5; draw (up--down) scaled 5; \endmpfig
+\par
+\mpfig
+ picture test; test = mplibgraphictext "\bf MPLIB"
+ fakebold 1 fillcolor .7[white,blue] drawcolor .7blue scaled 7;
+ draw test withpattern "pattuncolored" ;
+\endmpfig
\tracingcommands0
\vskip 2\baselineskip
diff --git a/macros/luatex/generic/penlightplus/penlightplus.lua b/macros/luatex/generic/penlightplus/penlightplus.lua
index e51b01c14b..0e948c3fe1 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.lua
+++ b/macros/luatex/generic/penlightplus/penlightplus.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2024-03-14
+--% 2024-08-17
--% Copyright (C) 2021-2024 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -857,6 +857,21 @@ end
+function penlight.caseswitch(s, c, kv)
+ local kvtbl = penlight.luakeys.parse(kv)
+ local sw = kvtbl[c] -- the returned switch
+ if sw == nil then -- if switch not found
+ if s == penlight.tex.xTrue then -- if star, throw error
+ pl.tex.pkgerror('penlight', 'case: "'..c..'" not found in key-vals: "'..kv..'"')
+ sw = ''
+ else
+ sw = kvtbl['__'] or '' -- use __ as not found case
+ end
+ end
+ tex.sprint(sw)
+end
+
+
penlight.tbls = {}
diff --git a/macros/luatex/generic/penlightplus/penlightplus.pdf b/macros/luatex/generic/penlightplus/penlightplus.pdf
index 2e37875101..d6df378626 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.pdf
+++ b/macros/luatex/generic/penlightplus/penlightplus.pdf
Binary files differ
diff --git a/macros/luatex/generic/penlightplus/penlightplus.sty b/macros/luatex/generic/penlightplus/penlightplus.sty
index 3c411d227a..58580036b5 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.sty
+++ b/macros/luatex/generic/penlightplus/penlightplus.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2024-03-14
+% 2024-08-17
% Copyright (C) 2021-2024 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -22,7 +22,7 @@
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
% OR OTHER DEALINGS IN THE SOFTWARE.
-\ProvidesPackage{penlightplus}[2024-03-14]
+\ProvidesPackage{penlightplus}[2024-08-17]
\RequirePackage{luacode}
\RequirePackage{luakeys}
@@ -97,6 +97,18 @@
+
+
+
+\NewDocumentCommand{\caseswitch}{s m +m}{\ignorespaces\luadirect{penlight.caseswitch(\luastring{#1},\luastring{#2},\luastringN{#3})}\unskip}
+% argument 1 is star option, which throws an error if case is not found
+% argument 2 is the case, fully expanded
+% argument 3 is a luakeys table of options, not expanded
+
+
+
+
+
%%% tbls below
\NewDocumentCommand{\tblnew}{m}{\luadirect{% initialize a tbl and set blank
diff --git a/macros/luatex/generic/penlightplus/penlightplus.tex b/macros/luatex/generic/penlightplus/penlightplus.tex
index 015dac98ef..07a41e244b 100644
--- a/macros/luatex/generic/penlightplus/penlightplus.tex
+++ b/macros/luatex/generic/penlightplus/penlightplus.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2024-03-14
+% 2024-08-17
% Copyright (C) 2021-2024 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -59,7 +59,6 @@
\subtitle{Additions to the Penlight Lua Libraries}
-
\begin{document}
%
@@ -222,7 +221,7 @@ no, once, twice, or full expansion. For example, we can control the expansion of
%\luastringExpTest{ n o t f }{\NOTexp}
-\subsection*{Lua boolean expressions for LaTeX conditionals}
+\subsection*{Lua boolean expressions and a case-switch for conditionals}
\cmd{\ifluax{<Lua expr>}{<do if true>}[<do if false>]} and\\ \cmd{\ifluax{<Lua expr>}{<do if true>}[<do if false>]} for truthy (uses \cmd{penlight.hasval})
@@ -234,6 +233,17 @@ no, once, twice, or full expansion. For example, we can control the expansion of
\ifluaxv{''}{true}[false]\\
\end{LTXexample}
+\cmd{\caseswitch{case}{kev-val choices}} The starred version will throw an error if the case is not found.
+Use \_\_ as a placeholder for a case that isn't matched.
+
+\begin{LTXexample}[width=0.3\linewidth]
+\def\caseswitchexample{\caseswitch{\mycase}{dog=DOG, cat=CAT, __=INVALID}}
+\def\mycase{dog} \caseswitchexample \\
+\def\mycase{human} \caseswitchexample
+\end{LTXexample}
+%\caseswitch*{\mycase}{dog=DOG, cat=CAT, __=INVALID}
+
+
\subsection*{Creating and using Lua tables in LaTeX}
\cmd{penlightplus} provides a Lua-table interface. Tables are stored in the
\cmd{penlight.tbls} table.
diff --git a/macros/luatex/latex/innerscript/README.txt b/macros/luatex/latex/innerscript/README.txt
index 72c48e3e15..0c42f529e0 100644
--- a/macros/luatex/latex/innerscript/README.txt
+++ b/macros/luatex/latex/innerscript/README.txt
@@ -1,11 +1,11 @@
- LaTeX Package innerscript v. 1.2
+ LaTeX Package innerscript v. 1.3
Installation Guide/README
Conrad Kosowsky
-This file is README.txt from version 1.2 of the free and
-open-source LaTeX package "innerscript," released November
-2023, to be used with the LuaTeX engine. The innerscript
+This file is README.txt from version 1.3 of the free and
+open-source LaTeX package "innerscript," released January
+2024, to be used with the LuaTeX engine. The innerscript
package optionally modifies four aspects of TeX's automatic
math formatting rules to improve typesetting. See the user
guide for more information. See below for installation and
@@ -55,7 +55,7 @@ produces the user guide in point (3) above.
*********************************************************
-Copyright 2021,2023 by Conrad Kosowsky
+Copyright 2021, 2023, 2024 Conrad Kosowsky
This file may be distributed and modified under the terms
of the LaTeX Public Project License, version 1.3c or any
@@ -70,7 +70,7 @@ be reached at kosowsky.latex@gmail.com. The Work consists
of the following items:
(1) the base file:
- innerscript.dtx
+ innerscript_code.dtx
(2) the package file:
innerscript.sty
diff --git a/macros/luatex/latex/innerscript/innerscript_code.dtx b/macros/luatex/latex/innerscript/innerscript_code.dtx
index 6c900172b6..196a228514 100644
--- a/macros/luatex/latex/innerscript/innerscript_code.dtx
+++ b/macros/luatex/latex/innerscript/innerscript_code.dtx
@@ -1,9 +1,9 @@
% \iffalse ---!!! FIRST META-COMMENT !!!---
%
%
-% This file is innerscript_code.dtx from version 1.2
+% This file is innerscript_code.dtx from version 1.3
% of the free and open-source LaTeX package "innerscript,"
-% released November 2023, to be used with the LuaTeX engine.
+% released August 2024, to be used with the LuaTeX engine.
%
% Running Plain TeX on innerscript_code.dtx will
% produce the following files:
@@ -37,11 +37,11 @@
% \iffalse ---!!! SECOND META-COMMENT !!!---
%
%
-% This file is from version 1.2 of the free and open-source
-% LaTeX package "innerscript," released November 2023, to be
+% This file is from version 1.3 of the free and open-source
+% LaTeX package "innerscript," released August 2024, to be
% used with the LuaTeX engine.
%
-% Copyright 2021, 2023 by Conrad Kosowsky
+% Copyright 2021, 2023, 2024 Conrad Kosowsky
%
% This file may be distributed and modified under the terms
% of the LaTeX Public Project License, version 1.3c or any
@@ -122,11 +122,11 @@
\askforoverwritefalse
\preamble
-This file is from version 1.2 of the free and open-source
-LaTeX package "innerscript," released November 2023, to be
+This file is from version 1.3 of the free and open-source
+LaTeX package "innerscript," released August 2024, to be
used with the LuaTeX engine.
-Copyright 2021, 2023 by Conrad Kosowsky
+Copyright 2021, 2023, 2024 Conrad Kosowsky
This file may be distributed and modified under the terms
of the LaTeX Public Project License, version 1.3c or any
@@ -249,7 +249,7 @@ Happy TeXing!
% We begin the implementation by declaring the package. The counts |\IS@script| and |\IS@scriptscript| and the conditionals |\ifIS@inner|, |\ifIS@close|, and |\ifIS@cover| encode package option information. For the counts, a value of 0 means no changes, a value of 1 means default spacing, and a value of 2 means legacy spacing.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{innerscript}[2023/11/06 v. 1.2 Package innerscript]
+\ProvidesPackage{innerscript}[2024/08/19 v. 1.3 Package innerscript]
\newcount\IS@script
\newcount\IS@scriptscript
\newif\ifIS@inner
@@ -284,7 +284,7 @@ Happy TeXing!
% \begin{macrocode}
\ifx\Umathordordspacing\@undefined
\bgroup
-\catcode`\+=12\relax
+\catcode`\ =12\relax
\def\IS@LuaTeXError{\GenericError{}%
{\MessageBreak\MessageBreak
Package innerscript error:%
@@ -364,8 +364,8 @@ press return.}}%
% \end{figure}
% \begin{macrocode}
\ifcase\IS@script % Case 0: No changes
- \IS@info{No changes to space for \string\scriptstyle\space atoms.}
- \IS@info{No changes to space for \string\crampedscriptstyle\space atoms.}
+ \IS@info{No space changes for \string\scriptstyle\space atoms.}
+ \IS@info{No space changes for \string\crampedscriptstyle\space atoms.}
\or % Case 1: Default changes
\IS@info{Adjusting space for \string\scriptstyle\space atoms.}
\IS@info{Adjusting space for \string\crampedscriptstyle\space atoms.}
@@ -575,8 +575,8 @@ press return.}}%
% \end{figure}
% \begin{macrocode}
\ifcase\IS@scriptscript % Case 0: No changes
- \IS@info{No changes to space for \string\scriptscriptstyle\space atoms.}
- \IS@info{No changes to space for
+ \IS@info{No space changes for \string\scriptscriptstyle\space atoms.}
+ \IS@info{No space changes for
\string\crampedscriptscriptstyle\space atoms.}
\or % Case 1: Default changes
\IS@info{Adjusting space for \string\scriptscriptstyle\space atoms.}
@@ -788,7 +788,7 @@ press return.}}%
% or the same with the \meta{atom} appearing after the |inner| or |ord|. The \meta{style} is one of the eight math style commands: |\displaystyle|, |\textstyle|, |\scriptstyle|, |\scriptscriptstyle|, and the cramped versions. Section~4 comes after Sections~2 and 3 because we make sure to capture all spacing changes in superscripts and subscripts.
% \begin{macrocode}
\ifIS@inner
- \IS@info{Adjusting space for \string\mathinner\space subformulas.}
+ \IS@info{Adjusting space around \string\mathinner\space subformulas.}
% \end{macrocode}
% First, we handle the cases where the first subformula is not |\mathinner| and the second subformula is |\mathinner|. We start with |\displaystyle|.
% \begin{macrocode}
@@ -1111,7 +1111,7 @@ press return.}}%
\IS@info{Adding space after closing delimiters.}
\Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5}
\Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5}
- \Umathcloseordspacing\crampedisplaystyle=\scalemu{\thinmuskip}{0.5}
+ \Umathcloseordspacing\crampeddisplaystyle=\scalemu{\thinmuskip}{0.5}
\Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5}
\ifnum\IS@script>0
\Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3}
@@ -1130,7 +1130,7 @@ press return.}}%
%
% \section{Delimiter Heights}
%
-% Finally, filling out the delimiter heights is easy. We simply set |\delimiterfactor| to 1000.
+% Finally, filling out the delimiter heights is easy. We set |\delimiterfactor| to 1000.
% \begin{macrocode}
\ifIS@cover
\IS@info{Setting delimiters to full height.}
@@ -1144,7 +1144,8 @@ press return.}}%
% \vfil\eject
% \section*{Version History}
% \begin{multicols*}{2}
-% \bgroup\raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines
+%
+% \raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines
% \setbox0\hbox{\hskip 1pt.\hskip 1pt}
% \def\version#1#2{\bigskip\hbox to \hsize{\textbf{#1} \cleaders\copy0\hfill\ #2}\par}
% \def\item{---\kern0.2ex\relax}
@@ -1163,7 +1164,9 @@ press return.}}%
% \item added option |cover|
% \item separated implementation and user guide
%
-% \egroup
+% \version{1.3}{August 2024}
+% \item bug fix involving |\cramedisplaystyle| typo
+%
% \end{multicols*}
%
%
@@ -1266,7 +1269,7 @@ Package Option & Meaning\\
\begin{figure}[t!]
-\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript}}
+\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript} bewteen Math-Mode Characters}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule
|\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
@@ -1306,7 +1309,7 @@ Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule
\end{tabular*}
\end{figure}
-\iffalse % ignore
+\iffalse %%% ignore %%%
\begin{figure}[t!]
\centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}}
\begin{tabularx}{\hsize}{p{2in}Xl}\toprule
@@ -1365,10 +1368,9 @@ Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\
-The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class.\vadjust{\bigskip} See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options.
-
-Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. Now if you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation.
+The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class. See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options.
+Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. If you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation. Changing these three internal quantities after you load \textsf{innerscript} will have no effect on the default spacing between math-mode characters.
@@ -1382,8 +1384,8 @@ Finally, in version 1.2, I redesigned the extra space amounts in the |script| an
\makeatletter
% identifying macros
-\def\packageversion{1.2}
-\def\packagedate{November 2023}
+\def\packageversion{1.3}
+\def\packagedate{August 2024}
% general macros
\MacroIndent=1.3em
@@ -1449,7 +1451,7 @@ Finally, in version 1.2, I redesigned the extra space amounts in the |script| an
\leftskip=0pt plus 1 fil
\rightskip=0pt plus 1fil
\parfillskip=0pt
-{\strut\Large Package \textsf{innerscript} v.\ 1.2 \documentname}\par
+{\strut\Large Package \textsf{innerscript} v.\ \packageversion\ \documentname}\par
\strut Conrad Kosowsky\par
\strut \packagedate\par
\strut\texttt{kosowsky.latex@gmail.com}\par}
diff --git a/macros/luatex/latex/innerscript/innerscript_code.pdf b/macros/luatex/latex/innerscript/innerscript_code.pdf
index f05e92dd31..b08fa7cc67 100644
--- a/macros/luatex/latex/innerscript/innerscript_code.pdf
+++ b/macros/luatex/latex/innerscript/innerscript_code.pdf
Binary files differ
diff --git a/macros/luatex/latex/innerscript/innerscript_user_guide.pdf b/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
index 86ea58d448..42cb8bceb8 100644
--- a/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
+++ b/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
Binary files differ
diff --git a/macros/luatex/latex/luamml/README.md b/macros/luatex/latex/luamml/README.md
new file mode 100644
index 0000000000..afdf86e6f0
--- /dev/null
+++ b/macros/luatex/latex/luamml/README.md
@@ -0,0 +1,14 @@
+# LuaMML: Automated LuaLaTeX math to MathML conversion
+This is an attempt to implement automatic conversion of LuaLaTeX inline and display math expressions into MathML code to aid with tagging.
+It works best with `unicode-math`, but it can also be used with traditional math fonts if mappings to Unicode are provided.
+
+## Installation
+Run `l3build install` to install `luamml` into your local `texmf` tree.
+
+## Usage
+Add `\usepackage[tracing]{luamml-demo}` to print MathML to the terminal or `\usepackage[files]{luamml-demo}` to generate separate files with MathML output.
+Alternatively it can be used with latex-lab to automatically integrate with tagging infrastucture.
+
+<!-- Also see a [`tagpdf` experiment using this to tag PDF formulas](https://github.com/u-fischer/tagpdf/blob/develop/experiments/exp-mathml-lua.tex). -->
+
+<!-- If you are very brave you can also try running `pdflatex test_pdf` and afterwards run `./pdfmml.lua test_pdf.lua` to get pdflatex formulas converted. -->
diff --git a/macros/luatex/latex/luamml/luamml-amsmath.lua b/macros/luatex/latex/luamml/luamml-amsmath.lua
new file mode 100644
index 0000000000..2b74265501
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-amsmath.lua
@@ -0,0 +1,133 @@
+local write_xml = require'luamml-xmlwriter'
+local make_root = require'luamml-convert'.make_root
+local save_result = require'luamml-tex'.save_result
+local store_column = require'luamml-table'.store_column
+local store_tag = require'luamml-table'.store_tag
+local get_table = require'luamml-table'.get_table
+local set_row_attribute = require'luamml-table'.set_row_attribute
+local to_text = require'luamml-lr'
+
+local properties = node.get_properties_table()
+
+local math_t = node.id'math'
+
+local funcid = luatexbase.new_luafunction'__luamml_amsmath_add_last_to_row:'
+token.set_lua('__luamml_amsmath_add_last_to_row:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ -- local box = token.scan_int()
+ local nest = tex.nest.top
+ local head, startmath = nest.head, nest.tail
+ repeat
+ startmath = startmath.prev
+ until startmath == head or (startmath.id == math_t and startmath.subtype == 0)
+ if startmath == head then return end
+ assert(startmath.id == node.id"math")
+ store_column(startmath)
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_amsmath_add_box_to_row:'
+token.set_lua('__luamml_amsmath_add_box_to_row:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ -- local box = token.scan_int()
+ local boxnum = 0
+ local startmath = tex.box[boxnum].list
+ assert(startmath.id == math_t)
+ store_column(startmath)
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_amsmath_set_row_columnalign:n'
+token.set_lua('__luamml_amsmath_set_row_columnalign:n', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ set_row_attribute('columnalign', token.scan_argument())
+end
+
+do
+ local saved
+ funcid = luatexbase.new_luafunction'__luamml_amsmath_save_inner_table:n'
+ token.set_lua('__luamml_amsmath_save_inner_table:n', funcid)
+ lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local kind = token.scan_argument()
+ local mml_table = get_table()
+ if not mml_table then return end
+ mml_table.displaystyle = true
+ local columns = node.count(node.id'align_record', tex.lists.align_head)//2
+ mml_table.columnalign = kind == 'gathered' and 'center' or string.rep('right left', columns, ' ')
+ local spacing = {}
+ for n in node.traverse_id(node.id'glue', tex.lists.align_head) do
+ spacing[#spacing+1] = n.width == 0 and '0' or string.format('%.3fpt', n.width/65781.76)
+ end
+ mml_table.columnspacing = #spacing > 3 and table.concat(spacing, ' ', 2, #spacing-2) or nil
+ saved = mml_table
+ end
+
+ funcid = luatexbase.new_luafunction'__luamml_amsmath_save_smallmatrix:'
+ token.set_lua('__luamml_amsmath_save_smallmatrix:', funcid)
+ lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local mml_table = get_table()
+ mml_table.align = 'axis'
+ mml_table.columnalign = 'center'
+ mml_table.columnspacing = '0.278em'
+ mml_table.rowspacing = string.format('%.3fpt', tex.lineskip.width/65781.76)
+ saved = {[0] = 'mpadded', width = '+0.333em', lspace = '0.167em', mml_table}
+ saved = mml_table
+ end
+
+ funcid = luatexbase.new_luafunction'__luamml_amsmath_finalize_inner_table:'
+ token.set_lua('__luamml_amsmath_finalize_inner_table:', funcid)
+ lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local vcenter = tex.nest.top.tail.nucleus
+ local props = properties[vcenter]
+ if not props then
+ props = {}
+ properties[vcenter] = props
+ end
+ props.mathml_table = assert(saved)
+ saved = nil
+ end
+end
+
+funcid = luatexbase.new_luafunction'__luamml_amsmath_finalize_table:n'
+token.set_lua('__luamml_amsmath_finalize_table:n', funcid)
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local kind = token.scan_argument()
+ local mml_table = get_table()
+ if not mml_table then return end
+ mml_table.displaystyle = true
+ local columns = node.count(node.id'align_record', tex.lists.align_head)//2
+ mml_table.columnalign = kind == 'align' and string.rep('right left', columns, ' ') or nil
+ mml_table.width = kind == 'multline' and '100%' or nil
+ -- mml_table.side = kind == 'multline' and 'rightoverlap' or nil
+ local spacing = {}
+ for n in node.traverse_id(node.id'glue', tex.lists.align_head) do
+ spacing[#spacing+1] = n.width == 0 and '0' or '.8em'
+ end
+ mml_table.columnspacing = #spacing > 3 and table.concat(spacing, ' ', 2, #spacing-2) or nil
+ save_result(mml_table, true)
+end
+
+local last_tag
+
+funcid = luatexbase.new_luafunction'__luamml_amsmath_save_tag:'
+token.set_lua('__luamml_amsmath_save_tag:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local nest = tex.nest.top
+ local chars = {}
+ last_tag = to_text(nest.head)
+end
+
+funcid = luatexbase.new_luafunction'__luamml_amsmath_set_tag:'
+token.set_lua('__luamml_amsmath_set_tag:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ if not last_tag then
+ texio.write_nl'WARNING: Tag extraction failed'
+ return
+ end
+ store_tag({[0] = 'mtd', last_tag})
+ last_tag = nil
+end
diff --git a/macros/luatex/latex/luamml/luamml-array.lua b/macros/luatex/latex/luamml/luamml-array.lua
new file mode 100644
index 0000000000..9a7b3581f2
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-array.lua
@@ -0,0 +1,84 @@
+local write_xml = require'luamml-xmlwriter'
+local make_root = require'luamml-convert'.make_root
+local save_result = require'luamml-tex'.save_result
+local store_column = require'luamml-table'.store_column
+local store_column_xml = require'luamml-table'.store_column_xml
+local store_tag = require'luamml-table'.store_tag
+local get_table = require'luamml-table'.get_table
+local to_text = require'luamml-lr'
+
+local properties = node.get_properties_table()
+
+local funcid = luatexbase.new_luafunction'__luamml_array_init_col:'
+token.set_lua('__luamml_array_init_col:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc
+ local nest = tex.nest[tex.nest.ptr-1]
+ -- The special will be deleted again, it just marks the right math list since the start math node is not there yet
+ local special = node.new('whatsit', 'special')
+ node.insert_after(nest.tail, nest.tail, special)
+ nest.tail = special
+ local temp = nest.head
+ local props = properties[temp]
+ if not props then
+ props = {}
+ properties[temp] = props
+ end
+ props.luamml_array_startmath = special
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_array_finalize_col:w'
+token.set_lua('__luamml_array_finalize_col:w', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local alignment = token.scan_int() -- Do it first to consume number even if we end early
+ -- TODO: Error handling etc
+ local temp = tex.nest.top.head
+ local props = properties[temp]
+ local special = props and props.luamml_array_startmath
+ if not special then return end
+ node.remove(tex.nest.top.head, special)
+ local startmath = node.free(special)
+ props.luamml_array_startmath = nil
+
+ alignment = alignment == 1 and 'left' or alignment == 2 and 'right' or nil
+
+ if node.end_of_math(startmath) == tex.nest.top.tail then
+ if startmath.next == tex.nest.top.tail then return end
+ store_column(startmath).columnalign = alignment
+ else
+ -- Oh no, we got text. Let't complain to the user, it's probably their fault
+ print'We are mathematicians, don\'t bother us with text'
+ store_column_xml(to_text(startmath, tex.nest.top.tail)).columnalign = alignment
+ end
+end
+
+local saved_array
+
+funcid = luatexbase.new_luafunction'__luamml_array_finalize_array:'
+token.set_lua('__luamml_array_save_array:', funcid)
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc.
+ local colsep = tex.dimen['col@sep']
+ saved_array = get_table()
+ if colsep ~= 0 then
+ saved_array = {[0] = 'mpadded',
+ width = string.format('%+.3fpt', 2*colsep/65781.76),
+ lspace = string.format('%+.3fpt', colsep/65781.76),
+ saved_array
+ }
+ end
+end
+
+funcid = luatexbase.new_luafunction'__luamml_array_finalize_array:'
+token.set_lua('__luamml_array_finalize_array:', funcid)
+lua.get_functions_table()[funcid] = function()
+ -- TODO: Error handling etc.
+ local nucl = tex.nest.top.tail.nucleus
+ local props = properties[nucl]
+ if not props then
+ props = {}
+ properties[nucl] = props
+ end
+ props.mathml_table = saved_array
+ saved_array = nil
+end
diff --git a/macros/luatex/latex/luamml/luamml-convert.lua b/macros/luatex/latex/luamml/luamml-convert.lua
new file mode 100644
index 0000000000..fe529debc0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-convert.lua
@@ -0,0 +1,662 @@
+local remap_comb = require'luamml-data-combining'
+local stretchy = require'luamml-data-stretchy'
+local to_text = require'luamml-lr'
+
+local properties = node.get_properties_table()
+
+local hlist_t, kern_t, glue_t, rule_t = node.id'hlist', node.id'kern', node.id'glue', node.id'rule'
+
+local noad_t, accent_t, style_t, choice_t = node.id'noad', node.id'accent', node.id'style', node.id'choice'
+local radical_t, fraction_t, fence_t = node.id'radical', node.id'fraction', node.id'fence'
+
+local math_char_t, sub_box_t, sub_mlist_t = node.id'math_char', node.id'sub_box', node.id'sub_mlist'
+
+local function invert_table(t)
+ local t_inv = {}
+ for k, v in next, t do
+ t_inv[v] = k
+ end
+ return t_inv
+end
+
+local noad_names = node.subtypes'noad'
+
+--[[ We could determine the noad subtypes dynamically:
+local noad_sub = invert_table(noad_names)
+local noad_ord = noad_sub.ord
+local noad_op = noad_sub.opdisplaylimits
+local noad_oplimits = noad_sub.oplimits
+local noad_opnolimits = noad_sub.opnolimits
+local noad_bin = noad_sub.bin
+local noad_rel = noad_sub.rel
+local noad_open = noad_sub.open
+local noad_close = noad_sub.close
+local noad_punct = noad_sub.punct
+local noad_inner = noad_sub.inner
+local noad_under = noad_sub.under
+local noad_over = noad_sub.over
+local noad_vcenter = noad_sub.vcenter
+-- But the spacing table depends on their specific values anyway, so we just verify the values
+]]
+local noad_ord, noad_op, noad_oplimits, noad_opnolimits = 0, 1, 2, 3
+local noad_bin, noad_rel, noad_open, noad_close, noad_punct = 4, 5, 6, 7, 8
+local noad_inner, noad_under, noad_over, noad_vcenter = 9, 10, 11, 12
+
+for i, n in ipairs{'ord', 'opdisplaylimits', 'oplimits', 'opnolimits', 'bin',
+ 'rel', 'open', 'close', 'punct', 'inner', 'under', 'over', 'vcenter'} do
+ assert(noad_names[i-1] == n)
+end
+-- Attention, the spacing_table is indexed by subtype+1 since 1-based tables are faster in Lua
+local spacing_table = {
+ {0 , '0.167em', '0.167em', '0.167em', '0.222em', '0.278em', 0 , 0 , 0 , '0.167em', 0 , 0 , 0 , },
+ {'0.167em', '0.167em', '0.167em', '0.167em', nil , '0.278em', 0 , 0 , 0 , '0.167em', '0.167em', '0.167em', '0.167em', },
+ nil,
+ nil,
+ {'0.222em', '0.222em', '0.222em', '0.222em', nil , nil , '0.222em', nil , nil , '0.222em', '0.222em', '0.222em', '0.222em', },
+ {'0.278em', '0.278em', '0.278em', '0.278em', nil , 0 , '0.278em', 0 , 0 , '0.278em', '0.278em', '0.278em', '0.278em', },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , '0.167em', '0.167em', '0.167em', '0.222em', '0.278em', 0 , 0 , 0 , '0.167em', 0 , 0 , 0 , },
+ {'0.167em', '0.167em', '0.167em', '0.167em', nil , '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', },
+ {'0.167em', '0.167em', '0.167em', '0.167em', '0.222em', '0.278em', '0.167em', 0 , '0.167em', '0.167em', '0.167em', '0.167em', '0.167em', },
+ nil,
+ nil,
+ nil,
+}
+local spacing_table_script = {
+ {0 , '0.167em', '0.167em', '0.167em', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {'0.167em', '0.167em', '0.167em', '0.167em', nil , 0 , 0 , 0 , 0 , 0 , '0.167em', '0.167em', '0.167em', },
+ nil,
+ nil,
+ {0 , 0 , 0 , 0 , nil , nil , 0 , nil , nil , 0 , 0 , 0 , 0 , },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , '0.167em', '0.167em', '0.167em', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , 0 , 0 , 0 , nil , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ {0 , '0.167em', '0.167em', '0.167em', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , },
+ nil,
+ nil,
+ nil,
+}
+do -- Fill the blanks
+ local st, sts = spacing_table, spacing_table_script
+
+ local st_op, sts_op = st[noad_op+1], sts[noad_op+1]
+ st[noad_oplimits+1], sts[noad_oplimits+1] = st_op, sts_op
+ st[noad_opnolimits+1], sts[noad_opnolimits+1] = st_op, sts_op
+
+ local st_ord, sts_ord = st[noad_ord+1], sts[noad_ord+1]
+ st[noad_under+1], sts[noad_under+1] = st_ord, sts_ord
+ st[noad_over+1], sts[noad_over+1] = st_ord, sts_ord
+ st[noad_vcenter+1], sts[noad_vcenter+1] = st_ord, sts_ord
+end
+
+
+local radical_sub = node.subtypes'radical'
+local fence_sub = node.subtypes'fence'
+
+local remap_lookup = setmetatable({}, {__index = function(t, k)
+ local ch = utf8.char(k & 0x1FFFFF)
+ t[k] = ch
+ return ch
+end})
+local digit_map = {["0"] = true, ["1"] = true,
+ ["2"] = true, ["3"] = true, ["4"] = true,
+ ["5"] = true, ["6"] = true, ["7"] = true,
+ ["8"] = true, ["9"] = true,}
+
+local always_mo = {["%"] = true, ["&"] = true, ["."] = true, ["/"] = true,
+ ["\\"] = true, ["¬"] = true, ["′"] = true, ["″"] = true, ["‴"] = true,
+ ["â—"] = true, ["‵"] = true, ["‶"] = true, ["‷"] = true, ["|"] = true,
+ ["∀"] = true, ["âˆ"] = true, ["∃"] = true, ["∂"] = true, ["∄"] = true,}
+
+-- Marker tables replacing the core operator for space like elements
+local space_like = {}
+
+local nodes_to_table
+
+local function sub_style(s) return s//4*2+5 end
+local function sup_style(s) return s//4*2+4+s%2 end
+
+-- The _to_table functions generally return a second argument which is
+-- could be (if it were a <mo>) a core operator of the embellishe operator
+-- or space_like
+-- acc_to_table is special since it's return value should
+-- always be considered a core operator
+
+-- We ignore large_... since they aren't used for modern fonts
+local function delim_to_table(delim)
+ if not delim then return end
+ local props = properties[delim]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then return mathml_table, mathml_core end
+ local mathml_filter = props and props.mathml_filter -- Kind of pointless since the arguments are literals, but present for consistency
+ local char = delim.small_char
+ if char == 0 then
+ local result = {[0] = 'mspace', width = string.format("%.3fpt", tex.nulldelimiterspace/65781.76)}
+ if mathml_filter then
+ return mathml_filter(result, space_like)
+ else
+ return result, space_like
+ end
+ else
+ local fam = delim.small_fam
+ char = remap_lookup[fam << 21 | char]
+ local result = {[0] = 'mo', char, ['tex:family'] = fam ~= 0 and fam or nil, stretchy = not stretchy[char] or nil, lspace = 0, rspace = 0, [':nodes'] = {delim}, [':actual'] = char}
+ if mathml_filter then
+ return mathml_filter(result, result)
+ else
+ return result, result
+ end
+ end
+end
+
+-- Like kernel_to_table but always a math_char_t. Also creating a mo and potentially remapping to handle combining chars.
+-- No lspace or space is set here since these never appear as core operators in an mrow.
+local function acc_to_table(acc, cur_style, stretch)
+ if not acc then return end
+ local props = properties[acc]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then return mathml_table, mathml_core end
+ if acc.id ~= math_char_t then
+ error'confusion'
+ end
+ local mathml_filter = props and props.mathml_filter -- Kind of pointless since the arguments are literals, but present for consistency
+ local fam = acc.fam
+ local char = remap_lookup[fam << 21 | acc.char]
+ char = remap_comb[char] or char
+ if stretch ~= not stretchy[char] then -- Handle nil gracefully in stretchy
+ stretch = nil
+ end
+ local result = {[0] = 'mo', char, ['tex:family'] = fam ~= 0 and fam or nil, stretchy = stretch, [':nodes'] = {acc}, [':actual'] = stretch and char or nil}
+ if mathml_filter then
+ return mathml_filter(result)
+ else
+ return result
+ end
+end
+
+local function kernel_to_table(kernel, cur_style, text_families)
+ if not kernel then return end
+ local props = properties[kernel]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then return mathml_table, mathml_core end
+ local mathml_filter = props and props.mathml_filter -- Kind of pointless since the arguments are literals, but present for consistency
+ local id = kernel.id
+ if id == math_char_t then
+ local fam = kernel.fam
+ local char = remap_lookup[fam << 21 | kernel.char]
+ local elem = digit_map[char] and 'mn' or 'mi'
+ local result = {[0] = elem,
+ char,
+ ['tex:family'] = fam ~= 0 and fam or nil,
+ mathvariant = utf8.len(char) == 1 and elem == 'mi' and utf8.codepoint(char) < 0x10000 and 'normal' or nil,
+ [':nodes'] = {kernel},
+ }
+ if mathml_filter then
+ return mathml_filter(result, result)
+ else
+ return result, result
+ end
+ elseif id == sub_box_t then
+ local result
+ if kernel.list.id == hlist_t then -- We directly give up for vlists
+ result = to_text(kernel.list.head)
+ else
+ result = {[0] = 'mi', {[0] = 'mglyph', ['tex:box'] = kernel.list, [':nodes'] = {kernel}}}
+ end
+ if mathml_filter then
+ return mathml_filter(result, result)
+ else
+ return result, result
+ end
+ elseif id == sub_mlist_t then
+ if mathml_filter then
+ return mathml_filter(nodes_to_table(kernel.list, cur_style, text_families))
+ else
+ return nodes_to_table(kernel.list, cur_style, text_families)
+ end
+ else
+ error'confusion'
+ end
+end
+
+local function do_sub_sup(t, core, n, cur_style, text_families)
+ local sub = kernel_to_table(n.sub, sub_style(cur_style), text_families)
+ local sup = kernel_to_table(n.sup, sup_style(cur_style), text_families)
+ if sub then
+ if sup then
+ return {[0] = 'msubsup', t, sub, sup}, core
+ else
+ return {[0] = 'msub', t, sub}, core
+ end
+ elseif sup then
+ return {[0] = 'msup', t, sup}, core
+ else
+ return t, core
+ end
+end
+
+
+-- If we encounter a . or , after a number, test if it's followed by another number and in that case convert it into a mn
+local function maybe_to_mn(noad, core)
+ if noad.sub or noad.sup then return end
+ local after = noad.next
+ if not after then return end
+ if after.id ~= noad_t then return end
+ if after.subtype ~= noad_ord then return end
+ after = after.nucleus
+ if not after then return end
+ if after.id ~= math_char_t then return end
+ if not digit_map[remap_lookup[after.fam << 21 | after.char]] then return end
+ core[0] = 'mn'
+end
+
+local function noad_to_table(noad, sub, cur_style, joining, bin_replacements, text_families)
+ local nucleus, core = kernel_to_table(noad.nucleus, sub == noad_over and cur_style//2*2+1 or cur_style, text_families)
+ if not nucleus then return end
+ if core and core[0] == 'mo' and core.minsize and not core.maxsize then
+ core.maxsize = core.minsize -- This happens when a half-specified delimiter appears alone in a list.
+ -- If it has a minimal size, it should be fixed to that size (since there is nothing bigger in it's list)
+ end
+ if sub == noad_ord and not (bin_replacements[node.direct.todirect(noad)] or (nucleus == core and #core == 1 and always_mo[core[1]])) then
+ if core and core[0] == 'mo' then
+ core['tex:class'] = nil
+ if not core.minsize and not core.movablelimits then
+ core[0] = 'mi'
+ core.movablelimits = nil
+ core.mathvariant = #core == 1 and type(core[1]) == 'string' and utf8.len(core[1]) == 1 and utf8.codepoint(core[1]) < 0x10000 and 'normal' or nil
+ core.stretchy, core.lspace, core.rspace = nil
+ end
+ end
+ if nucleus == core and #core == 1 then
+ if joining and joining[0] == 'mn' and core[0] == 'mi' and (core[1] == '.' or core[1] == ',') and maybe_to_mn(noad, core)
+ or core[0] == 'mn' or text_families[core['tex:family'] or 0] then
+ if joining and core[0] == joining[0] and core['tex:family'] == joining['tex:family'] then
+ joining[#joining+1] = core[1]
+ local cnodes = core[':nodes']
+ if cnodes then -- very likely
+ local jnodes = joining[':nodes']
+ if jnodes then -- very likely
+ table.move(cnodes, 1, #cnodes, #jnodes+1, jnodes)
+ else
+ joining[':nodes'] = cnodes
+ end
+ end
+ nucleus = do_sub_sup(joining, joining, noad, cur_style, text_families)
+ if nucleus == joining then
+ return nil, joining, joining
+ else
+ return nucleus, joining, false
+ end
+ elseif not noad.sub and not noad.sup then
+ return core, core, core
+ end
+ end
+ end
+ elseif sub == noad_op or sub == noad_oplimits or sub == noad_opnolimits or sub == noad_bin or sub == noad_rel or sub == noad_open
+ or sub == noad_close or sub == noad_punct or sub == noad_inner or sub == noad_ord then
+ if not core or not core[0] then
+ -- TODO
+ else
+ core[0] = 'mo'
+ if not core.minsize then
+ if stretchy[core[1]] then core.stretchy = false end
+ end
+ if core.mathvariant == 'normal' then core.mathvariant = nil end
+ core.lspace, core.rspace = 0, 0
+ end
+ nucleus['tex:class'] = noad_names[sub]
+
+ if (noad.sup or noad.sub) and (sub == noad_op or sub == noad_oplimits) then
+ if core and core[0] == 'mo' then core.movablelimits = sub == noad_op end
+ local sub = kernel_to_table(noad.sub, sub_style(cur_style), text_families)
+ local sup = kernel_to_table(noad.sup, sup_style(cur_style), text_families)
+ return {[0] = sup and (sub and 'munderover' or 'mover') or 'munder',
+ nucleus,
+ sub or sup,
+ sub and sup,
+ }, core
+ end
+ elseif sub == noad_under then
+ return {[0] = 'munder',
+ nucleus,
+ {[0] = 'mo', '_',},
+ }, core
+ elseif sub == noad_over then
+ return {[0] = 'mover',
+ nucleus,
+ {[0] = 'mo', '\u{203E}',},
+ }, core
+ elseif sub == noad_vcenter then -- Ignored. Nucleus will need special handling anyway
+ else
+ error[[confusion]]
+ end
+ return do_sub_sup(nucleus, core, noad, cur_style, text_families)
+end
+
+local function accent_to_table(accent, sub, cur_style, text_families)
+ local nucleus, core = kernel_to_table(accent.nucleus, cur_style//2*2+1, text_families)
+ local top_acc = acc_to_table(accent.accent, cur_style, sub & 1 == 1)
+ local bot_acc = acc_to_table(accent.bot_accent, cur_style, sub & 2 == 2)
+ return {[0] = top_acc and (bot_acc and 'munderover' or 'mover') or 'munder',
+ nucleus,
+ bot_acc or top_acc,
+ bot_acc and top_acc,
+ }, core
+end
+
+local style_table = {
+ display = {displaystyle = "true", scriptlevel = "0"},
+ text = {displaystyle = "false", scriptlevel = "0"},
+ script = {displaystyle = "false", scriptlevel = "1"},
+ scriptscript = {displaystyle = "false", scriptlevel = "2"},
+}
+
+style_table.crampeddisplay, style_table.crampedtext,
+style_table.crampedscript, style_table.crampedscriptscript =
+ style_table.display, style_table.text,
+ style_table.script, style_table.scriptscript
+
+local function radical_to_table(radical, sub, cur_style, text_families)
+ local kind = radical_sub[sub]
+ local nucleus, core = kernel_to_table(radical.nucleus, cur_style//2*2+1, text_families)
+ local left = delim_to_table(radical.left)
+ local elem
+ if kind == 'radical' or kind == 'uradical' then
+ -- FIXME: Check that this is really a square root
+ elem, core = {[0] = 'msqrt', nucleus, }, nil
+ elseif kind == 'uroot' then
+ -- FIXME: Check that this is really a root
+ elem, core = {[0] = 'msqrt', nucleus, kernel_to_table(radical.degree, 7, text_families)}, nil
+ elseif kind == 'uunderdelimiter' then
+ elem, core = {[0] = 'munder', left, nucleus}, left
+ elseif kind == 'uoverdelimiter' then
+ elem, core = {[0] = 'mover', left, nucleus}, left
+ elseif kind == 'udelimiterunder' then
+ elem = {[0] = 'munder', nucleus, left}
+ elseif kind == 'udelimiterover' then
+ elem = {[0] = 'mover', nucleus, left}
+ else
+ error[[confusion]]
+ end
+ return do_sub_sup(elem, core, radical, cur_style, text_families)
+end
+
+local function fraction_to_table(fraction, sub, cur_style, text_families)
+ local num, core = kernel_to_table(fraction.num, cur_style + 2 - cur_style//6*2, text_families)
+ local denom = kernel_to_table(fraction.denom, cur_style//2*2 + 3 - cur_style//6*2, text_families)
+ local left = delim_to_table(fraction.left)
+ local right = delim_to_table(fraction.right)
+ local mfrac = {[0] = 'mfrac',
+ linethickness = fraction.width and fraction.width == 0 and 0 or nil,
+ bevelled = fraction.middle and "true" or nil,
+ num,
+ denom,
+ }
+ if left then
+ return {[0] = 'mrow',
+ left,
+ mfrac,
+ right, -- might be nil
+ }
+ elseif right then
+ return {[0] = 'mrow',
+ mfrac,
+ right,
+ }
+ else
+ return mfrac, core
+ end
+end
+
+local function fence_to_table(fence, sub, cur_style)
+ local delim, core = delim_to_table(fence.delim)
+ if core[0] ~= 'mo' then
+ return delim, core
+ end
+ core.fence, core.symmetric = 'true', 'true'
+ local options = fence.options
+ local axis
+ if fence.height ~= 0 or fence.depth ~= 0 then
+ axis = 0xA == options & 0xA
+ local exact = 0x18 == options & 0x18
+ -- We treat them always as exact. mpadded would allow us to support
+ -- non-exact ones too and I will implement that if I ever encounter
+ -- someone who does that intentionally. Until then, we warn people
+ -- since such fences are absurd.
+ if not exact then
+ texio.write_nl'luamml: The document uses a fence with \z
+ explicit dimensions but without the "exact" option. \z
+ This is probably a mistake.'
+ end
+ core.minsize = string.format("%.3fpt", (fence.height + fence.depth)/65781.76)
+ core.maxsize = core.minsize
+ else
+ axis = 0xC ~= options & 0xC
+ end
+ if not axis then
+ texio.write_nl'luamml: Baseline centered fence will be centered around math axis instead'
+ end
+ return delim, core
+end
+
+local function space_to_table(amount, sub, cur_style)
+ if amount == 0 then return end
+ if sub == 99 then -- TODO magic number
+ -- 18*2^16=1179648
+ return {[0] = 'mspace', width = string.format("%.3fem", amount/1179648)}, space_like
+ else
+ -- 65781.76=tex.sp'100bp'/100
+ return {[0] = 'mspace', width = string.format("%.3fpt", amount/65781.76)}, space_like
+ end
+end
+
+local running_length = -1073741824
+local function rule_to_table(rule, sub, cur_style)
+ local width = string.format("%.3fpt", rule.width/65781.76)
+ local height = rule.height
+ if height == running_length then
+ height = '0.8em'
+ else
+ height = string.format("%.3fpt", height/65781.76)
+ end
+ local depth = rule.depth
+ if depth == running_length then
+ depth = '0.2em'
+ else
+ depth = string.format("%.3fpt", depth/65781.76)
+ end
+ return {[0] = 'mspace', mathbackground = 'currentColor', width = width, height = height, depth = depth}, space_like
+end
+
+-- The only part which changes the nodelist, we are converting bin into ord
+-- nodes in the same way TeX would do it later anyway.
+local function cleanup_mathbin(head)
+ local replacements = {}
+ local last = 'open' -- last sub if id was noad_t, left fence acts fakes being a open noad, bin are themselves. Every other noad is ord
+ for n, id, sub in node.traverse(head) do
+ if id == noad_t then
+ if sub == noad_bin then
+ if node.is_node(last) or last == noad_opdisplaylimits
+ or last == noad_oplimits or last == noad_opnolimits
+ or last == noad_rel or last == noad_open or last == noad_punct then
+ replacements[node.direct.todirect(n)] = true
+ n.subtype, last = noad_ord, noad_ord
+ else
+ last = n
+ end
+ else
+ if (sub == noad_rel or sub == noad_close or sub == noad_punct)
+ and node.is_node(last) then
+ replacements[node.direct.todirect(last)] = true
+ last.subtype = noad_ord
+ end
+ last = sub
+ end
+ elseif id == fence_t then
+ if sub == fence_sub.left then
+ last = noad_open
+ else
+ if node.is_node(last) then
+ replacements[node.direct.todirect(last)] = true
+ last.subtype = noad_ord, noad_ord
+ end
+ last = noad_ord
+ end
+ elseif id == fraction_t or id == radical_t or id == accent_t then
+ last = noad_ord
+ end
+ end
+ if node.is_node(last) then
+ replacements[node.direct.todirect(last)] = true
+ last.subtype = noad_ord
+ end
+ return replacements
+end
+
+function nodes_to_table(head, cur_style, text_families)
+ local bin_replacements = cleanup_mathbin(head)
+ local t = {[0] = 'mrow'}
+ local result = t
+ local nonscript
+ local core, last_noad, last_core, joining = space_like, nil, nil, nil
+ for n, id, sub in node.traverse(head) do
+ local new_core, new_joining, new_node, new_noad
+ local props = properties[n]
+ local mathml_core = props and props.mathml_core
+ local mathml_table = props and (props.mathml_table or mathml_core)
+ if mathml_table ~= nil then
+ new_node, new_core = mathml_table, mathml_core
+ elseif id == noad_t then
+ local new_n
+ new_n, new_core, new_joining = noad_to_table(n, sub, cur_style, joining, bin_replacements, text_families)
+ if new_joining == false then
+ t[#t], new_joining = new_n, nil
+ else
+ new_node = new_n -- might be nil
+ end
+ new_noad = sub
+ elseif id == accent_t then
+ new_node, new_core = accent_to_table(n, sub, cur_style, text_families)
+ new_noad = noad_ord
+ elseif id == style_t then
+ if sub ~= cur_style then
+ if #t == 0 then
+ t[0] = 'mstyle'
+ else
+ local new_t = {[0] = 'mstyle'}
+ t[#t+1] = new_t
+ t = new_t
+ end
+ if sub < 2 then
+ t.displaystyle, t.scriptlevel = true, 0
+ else
+ t.displaystyle, t.scriptlevel = false, sub//2 - 1
+ end
+ cur_style = sub
+ end
+ new_core = space_like
+ elseif id == choice_t then
+ local size = cur_style//2
+ new_node, new_core = nodes_to_table(n[size == 0 and 'display'
+ or size == 1 and 'text'
+ or size == 2 and 'script'
+ or size == 3 and 'scriptscript'
+ or assert(false)], 2*size, text_families), space_like
+ elseif id == radical_t then
+ new_node, new_core = radical_to_table(n, sub, cur_style, text_families)
+ new_noad = noad_ord
+ elseif id == fraction_t then
+ new_node, new_core = fraction_to_table(n, sub, cur_style, text_families)
+ new_noad = noad_inner
+ elseif id == fence_t then
+ new_node, new_core = fence_to_table(n, sub, cur_style)
+ local class = n.class
+ new_noad = class >= 0 and class or sub == fence_sub.left and noad_open or noad_close
+ elseif id == kern_t then
+ if not nonscript then
+ new_node, new_core = space_to_table(n.kern, sub, cur_style)
+ end
+ elseif id == glue_t then
+ if cur_style >= 4 or not nonscript then
+ if sub == 98 then -- TODO magic number
+ nonscript = true
+ else
+ new_node, new_core = space_to_table(n.width, sub, cur_style)
+ end
+ end
+ elseif id == rule_t then
+ new_node, new_core = rule_to_table(n, sub, cur_style)
+ -- elseif id == disc_t then -- Uncommon, does not play nicely with math mode and no sensible mapping anyway
+ end -- The other possible ids are whatsit, penalty, adjust, ins, mark. Ignore them.
+ nonscript = nil
+ if core and new_core ~= space_like then
+ core = core == space_like and new_core or nil
+ end
+ if new_node then
+ if new_noad then
+ local space = last_noad and (cur_style >= 4 and spacing_table_script or spacing_table)[last_noad + 1][new_noad + 1] or 0
+ if assert(space) ~= 0 then
+ if new_core and new_core[0] == 'mo' then
+ new_core.lspace = space
+ elseif last_core and last_core[0] == 'mo' then
+ last_core.rspace = space
+ else
+ t[#t+1] = {[0] = 'mspace', width = space} -- TODO Move into operators whenever possible
+ end
+ end
+ last_noad, last_core = new_noad, new_core
+ elseif new_node[0] ~= 'mspace' or new_node.mathbackground then
+ last_core = nil
+ end
+ t[#t+1] = new_node
+ end
+ joining = new_joining
+ end
+ -- In TeX, groups are never space like, so we insert an artificial node instead.
+ -- This node should be ignored for most purposes
+ if core == space_like then
+ core = {[0] = 'mi', ['tex:ignore'] = 'true'}
+ result[#result+1] = core
+ end
+ if t[0] == 'mrow' and #t == 1 then
+ assert(t == result)
+ result = t[1]
+ end
+ local mathml_filter = props and props.mathml_filter
+ if mathml_filter then
+ return mathml_filter(result, core)
+ else
+ return result, core
+ end
+end
+
+local function register_remap(family, mapping)
+ family = family << 21
+ for from, to in next, mapping do
+ remap_lookup[family | from] = utf8.char(to)
+ end
+end
+
+local function to_math(root, style)
+ if root[0] == 'mrow' then
+ root[0] = 'math'
+ else
+ root = {[0] = 'math', root}
+ end
+ root.xmlns = 'http://www.w3.org/1998/Math/MathML'
+ root['xmlns:tex'] = 'http://typesetting.eu/2021/LuaMathML'
+ if style < 2 then
+ root.display = 'block'
+ end
+ return root
+end
+
+return {
+ register_family = register_remap,
+ process = function(head, style, families) return nodes_to_table(head, style or 2, families) end,
+ make_root = to_math,
+}
diff --git a/macros/luatex/latex/luamml/luamml-data-combining.lua b/macros/luatex/latex/luamml/luamml-data-combining.lua
new file mode 100644
index 0000000000..2083a3f654
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-data-combining.lua
@@ -0,0 +1,27 @@
+return {
+ ["\u{0332}"] = "\u{2212}",
+ ["\u{0330}"] = "\u{02DC}",
+ ["\u{0328}"] = "\u{02DB}",
+ ["\u{20EF}"] = "\u{2192}",
+ ["\u{032C}"] = "\u{02C7}",
+ ["\u{032E}"] = "\u{02D8}",
+ ["\u{0306}"] = "\u{02D8}",
+ ["\u{030B}"] = "\u{02DD}",
+ ["\u{0302}"] = "\u{02C6}",
+ ["\u{0324}"] = "\u{00A8}",
+ ["\u{0317}"] = "\u{00B4}",
+ ["\u{031F}"] = "\u{002B}",
+ ["\u{0307}"] = "\u{002E}",
+ ["\u{0305}"] = "\u{2212}",
+ ["\u{0303}"] = "\u{02DC}",
+ ["\u{0316}"] = "\u{0060}",
+ ["\u{0301}"] = "\u{00B4}",
+ ["\u{030C}"] = "\u{02C7}",
+ ["\u{0327}"] = "\u{00B8}",
+ ["\u{0308}"] = "\u{00A8}",
+ ["\u{0300}"] = "\u{0060}",
+ ["\u{0323}"] = "\u{002E}",
+ ["\u{0304}"] = "\u{00AF}",
+ ["\u{032D}"] = "\u{005E}",
+ ["\u{20D7}"] = "\u{2192}",
+}
diff --git a/macros/luatex/latex/luamml/luamml-data-stretchy.lua b/macros/luatex/latex/luamml/luamml-data-stretchy.lua
new file mode 100644
index 0000000000..72f84065c0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-data-stretchy.lua
@@ -0,0 +1,500 @@
+return {
+ -- The following is
+ -- xq -r '.unicode.charlist.character[] | select(.["operator-dictionary"] | if type == "array" then .[] else . end | .["@stretchy"]) | .["@id"] | sub("U"; "") | "[\"\\u{\(.)}\"] = true," ' < unicode.xml
+["\u{00028}"] = true,
+["\u{00029}"] = true,
+["\u{0005B}"] = true,
+["\u{0005D}"] = true,
+["\u{0005E}"] = true,
+["\u{0005F}"] = true,
+["\u{0007B}"] = true,
+["\u{0007C}"] = true,
+["\u{0007C}"] = true,
+["\u{0007D}"] = true,
+["\u{0007E}"] = true,
+["\u{000AF}"] = true,
+["\u{002C6}"] = true,
+["\u{002C7}"] = true,
+["\u{002C9}"] = true,
+["\u{002CD}"] = true,
+["\u{002DC}"] = true,
+["\u{002F7}"] = true,
+["\u{00302}"] = true,
+["\u{02016}"] = true,
+["\u{02016}"] = true,
+["\u{0203E}"] = true,
+["\u{02190}"] = true,
+["\u{02191}"] = true,
+["\u{02192}"] = true,
+["\u{02193}"] = true,
+["\u{02194}"] = true,
+["\u{02195}"] = true,
+["\u{0219A}"] = true,
+["\u{0219B}"] = true,
+["\u{0219C}"] = true,
+["\u{0219D}"] = true,
+["\u{0219E}"] = true,
+["\u{0219F}"] = true,
+["\u{021A0}"] = true,
+["\u{021A1}"] = true,
+["\u{021A2}"] = true,
+["\u{021A3}"] = true,
+["\u{021A4}"] = true,
+["\u{021A5}"] = true,
+["\u{021A6}"] = true,
+["\u{021A7}"] = true,
+["\u{021A8}"] = true,
+["\u{021A9}"] = true,
+["\u{021AA}"] = true,
+["\u{021AB}"] = true,
+["\u{021AC}"] = true,
+["\u{021AD}"] = true,
+["\u{021AE}"] = true,
+["\u{021B0}"] = true,
+["\u{021B1}"] = true,
+["\u{021B2}"] = true,
+["\u{021B3}"] = true,
+["\u{021B4}"] = true,
+["\u{021B5}"] = true,
+["\u{021B9}"] = true,
+["\u{021BC}"] = true,
+["\u{021BD}"] = true,
+["\u{021BE}"] = true,
+["\u{021BF}"] = true,
+["\u{021C0}"] = true,
+["\u{021C1}"] = true,
+["\u{021C2}"] = true,
+["\u{021C3}"] = true,
+["\u{021C4}"] = true,
+["\u{021C5}"] = true,
+["\u{021C6}"] = true,
+["\u{021C7}"] = true,
+["\u{021C8}"] = true,
+["\u{021C9}"] = true,
+["\u{021CA}"] = true,
+["\u{021CB}"] = true,
+["\u{021CC}"] = true,
+["\u{021CD}"] = true,
+["\u{021CE}"] = true,
+["\u{021CF}"] = true,
+["\u{021D0}"] = true,
+["\u{021D1}"] = true,
+["\u{021D2}"] = true,
+["\u{021D3}"] = true,
+["\u{021D4}"] = true,
+["\u{021D5}"] = true,
+["\u{021DA}"] = true,
+["\u{021DB}"] = true,
+["\u{021DC}"] = true,
+["\u{021DD}"] = true,
+["\u{021DE}"] = true,
+["\u{021DF}"] = true,
+["\u{021E0}"] = true,
+["\u{021E1}"] = true,
+["\u{021E2}"] = true,
+["\u{021E3}"] = true,
+["\u{021E4}"] = true,
+["\u{021E5}"] = true,
+["\u{021E6}"] = true,
+["\u{021E7}"] = true,
+["\u{021E8}"] = true,
+["\u{021E9}"] = true,
+["\u{021EA}"] = true,
+["\u{021EB}"] = true,
+["\u{021EC}"] = true,
+["\u{021ED}"] = true,
+["\u{021EE}"] = true,
+["\u{021EF}"] = true,
+["\u{021F0}"] = true,
+["\u{021F3}"] = true,
+["\u{021F4}"] = true,
+["\u{021F5}"] = true,
+["\u{021F6}"] = true,
+["\u{021F7}"] = true,
+["\u{021F8}"] = true,
+["\u{021F9}"] = true,
+["\u{021FA}"] = true,
+["\u{021FB}"] = true,
+["\u{021FC}"] = true,
+["\u{021FD}"] = true,
+["\u{021FE}"] = true,
+["\u{021FF}"] = true,
+["\u{02308}"] = true,
+["\u{02309}"] = true,
+["\u{0230A}"] = true,
+["\u{0230B}"] = true,
+["\u{02322}"] = true,
+["\u{02323}"] = true,
+["\u{02329}"] = true,
+["\u{0232A}"] = true,
+["\u{023B4}"] = true,
+["\u{023B5}"] = true,
+["\u{023DC}"] = true,
+["\u{023DD}"] = true,
+["\u{023DE}"] = true,
+["\u{023DF}"] = true,
+["\u{023E0}"] = true,
+["\u{023E1}"] = true,
+["\u{02772}"] = true,
+["\u{02773}"] = true,
+["\u{02794}"] = true,
+["\u{02799}"] = true,
+["\u{0279B}"] = true,
+["\u{0279C}"] = true,
+["\u{0279D}"] = true,
+["\u{0279E}"] = true,
+["\u{0279F}"] = true,
+["\u{027A0}"] = true,
+["\u{027A1}"] = true,
+["\u{027A5}"] = true,
+["\u{027A6}"] = true,
+["\u{027A8}"] = true,
+["\u{027A9}"] = true,
+["\u{027AA}"] = true,
+["\u{027AB}"] = true,
+["\u{027AC}"] = true,
+["\u{027AD}"] = true,
+["\u{027AE}"] = true,
+["\u{027AF}"] = true,
+["\u{027B1}"] = true,
+["\u{027B3}"] = true,
+["\u{027B5}"] = true,
+["\u{027B8}"] = true,
+["\u{027BA}"] = true,
+["\u{027BB}"] = true,
+["\u{027BC}"] = true,
+["\u{027BD}"] = true,
+["\u{027BE}"] = true,
+["\u{027E6}"] = true,
+["\u{027E7}"] = true,
+["\u{027E8}"] = true,
+["\u{027E9}"] = true,
+["\u{027EA}"] = true,
+["\u{027EB}"] = true,
+["\u{027EC}"] = true,
+["\u{027ED}"] = true,
+["\u{027EE}"] = true,
+["\u{027EF}"] = true,
+["\u{027F0}"] = true,
+["\u{027F1}"] = true,
+["\u{027F4}"] = true,
+["\u{027F5}"] = true,
+["\u{027F6}"] = true,
+["\u{027F7}"] = true,
+["\u{027F8}"] = true,
+["\u{027F9}"] = true,
+["\u{027FA}"] = true,
+["\u{027FB}"] = true,
+["\u{027FC}"] = true,
+["\u{027FD}"] = true,
+["\u{027FE}"] = true,
+["\u{027FF}"] = true,
+["\u{02900}"] = true,
+["\u{02901}"] = true,
+["\u{02902}"] = true,
+["\u{02903}"] = true,
+["\u{02904}"] = true,
+["\u{02905}"] = true,
+["\u{02906}"] = true,
+["\u{02907}"] = true,
+["\u{02908}"] = true,
+["\u{02909}"] = true,
+["\u{0290A}"] = true,
+["\u{0290B}"] = true,
+["\u{0290C}"] = true,
+["\u{0290D}"] = true,
+["\u{0290E}"] = true,
+["\u{0290F}"] = true,
+["\u{02910}"] = true,
+["\u{02911}"] = true,
+["\u{02912}"] = true,
+["\u{02913}"] = true,
+["\u{02914}"] = true,
+["\u{02915}"] = true,
+["\u{02916}"] = true,
+["\u{02917}"] = true,
+["\u{02918}"] = true,
+["\u{02919}"] = true,
+["\u{0291A}"] = true,
+["\u{0291B}"] = true,
+["\u{0291C}"] = true,
+["\u{0291D}"] = true,
+["\u{0291E}"] = true,
+["\u{0291F}"] = true,
+["\u{02920}"] = true,
+["\u{02934}"] = true,
+["\u{02935}"] = true,
+["\u{02936}"] = true,
+["\u{02937}"] = true,
+["\u{02942}"] = true,
+["\u{02943}"] = true,
+["\u{02944}"] = true,
+["\u{02945}"] = true,
+["\u{02946}"] = true,
+["\u{02947}"] = true,
+["\u{02948}"] = true,
+["\u{02949}"] = true,
+["\u{0294A}"] = true,
+["\u{0294B}"] = true,
+["\u{0294C}"] = true,
+["\u{0294D}"] = true,
+["\u{0294E}"] = true,
+["\u{0294F}"] = true,
+["\u{02950}"] = true,
+["\u{02951}"] = true,
+["\u{02952}"] = true,
+["\u{02953}"] = true,
+["\u{02954}"] = true,
+["\u{02955}"] = true,
+["\u{02956}"] = true,
+["\u{02957}"] = true,
+["\u{02958}"] = true,
+["\u{02959}"] = true,
+["\u{0295A}"] = true,
+["\u{0295B}"] = true,
+["\u{0295C}"] = true,
+["\u{0295D}"] = true,
+["\u{0295E}"] = true,
+["\u{0295F}"] = true,
+["\u{02960}"] = true,
+["\u{02961}"] = true,
+["\u{02962}"] = true,
+["\u{02963}"] = true,
+["\u{02964}"] = true,
+["\u{02965}"] = true,
+["\u{02966}"] = true,
+["\u{02967}"] = true,
+["\u{02968}"] = true,
+["\u{02969}"] = true,
+["\u{0296A}"] = true,
+["\u{0296B}"] = true,
+["\u{0296C}"] = true,
+["\u{0296D}"] = true,
+["\u{0296E}"] = true,
+["\u{0296F}"] = true,
+["\u{02970}"] = true,
+["\u{02971}"] = true,
+["\u{02972}"] = true,
+["\u{02973}"] = true,
+["\u{02974}"] = true,
+["\u{02975}"] = true,
+["\u{0297C}"] = true,
+["\u{0297D}"] = true,
+["\u{0297E}"] = true,
+["\u{0297F}"] = true,
+["\u{02980}"] = true,
+["\u{02980}"] = true,
+["\u{02983}"] = true,
+["\u{02984}"] = true,
+["\u{02985}"] = true,
+["\u{02986}"] = true,
+["\u{02987}"] = true,
+["\u{02988}"] = true,
+["\u{02989}"] = true,
+["\u{0298A}"] = true,
+["\u{0298B}"] = true,
+["\u{0298C}"] = true,
+["\u{0298D}"] = true,
+["\u{0298E}"] = true,
+["\u{0298F}"] = true,
+["\u{02990}"] = true,
+["\u{02991}"] = true,
+["\u{02992}"] = true,
+["\u{02993}"] = true,
+["\u{02994}"] = true,
+["\u{02995}"] = true,
+["\u{02996}"] = true,
+["\u{02997}"] = true,
+["\u{02998}"] = true,
+["\u{02999}"] = true,
+["\u{02999}"] = true,
+["\u{029D8}"] = true,
+["\u{029D9}"] = true,
+["\u{029DA}"] = true,
+["\u{029DB}"] = true,
+["\u{029FC}"] = true,
+["\u{029FD}"] = true,
+["\u{02B04}"] = true,
+["\u{02B05}"] = true,
+["\u{02B06}"] = true,
+["\u{02B07}"] = true,
+["\u{02B0C}"] = true,
+["\u{02B0D}"] = true,
+["\u{02B0E}"] = true,
+["\u{02B0F}"] = true,
+["\u{02B10}"] = true,
+["\u{02B11}"] = true,
+["\u{02B30}"] = true,
+["\u{02B31}"] = true,
+["\u{02B32}"] = true,
+["\u{02B33}"] = true,
+["\u{02B34}"] = true,
+["\u{02B35}"] = true,
+["\u{02B36}"] = true,
+["\u{02B37}"] = true,
+["\u{02B38}"] = true,
+["\u{02B39}"] = true,
+["\u{02B3A}"] = true,
+["\u{02B3B}"] = true,
+["\u{02B3C}"] = true,
+["\u{02B3D}"] = true,
+["\u{02B3E}"] = true,
+["\u{02B40}"] = true,
+["\u{02B41}"] = true,
+["\u{02B42}"] = true,
+["\u{02B43}"] = true,
+["\u{02B44}"] = true,
+["\u{02B45}"] = true,
+["\u{02B46}"] = true,
+["\u{02B47}"] = true,
+["\u{02B48}"] = true,
+["\u{02B49}"] = true,
+["\u{02B4A}"] = true,
+["\u{02B4B}"] = true,
+["\u{02B4C}"] = true,
+["\u{02B60}"] = true,
+["\u{02B61}"] = true,
+["\u{02B62}"] = true,
+["\u{02B63}"] = true,
+["\u{02B64}"] = true,
+["\u{02B65}"] = true,
+["\u{02B6A}"] = true,
+["\u{02B6B}"] = true,
+["\u{02B6C}"] = true,
+["\u{02B6D}"] = true,
+["\u{02B70}"] = true,
+["\u{02B71}"] = true,
+["\u{02B72}"] = true,
+["\u{02B73}"] = true,
+["\u{02B7A}"] = true,
+["\u{02B7B}"] = true,
+["\u{02B7C}"] = true,
+["\u{02B7D}"] = true,
+["\u{02B80}"] = true,
+["\u{02B81}"] = true,
+["\u{02B82}"] = true,
+["\u{02B83}"] = true,
+["\u{02B84}"] = true,
+["\u{02B85}"] = true,
+["\u{02B86}"] = true,
+["\u{02B87}"] = true,
+["\u{02B95}"] = true,
+["\u{02BA0}"] = true,
+["\u{02BA1}"] = true,
+["\u{02BA2}"] = true,
+["\u{02BA3}"] = true,
+["\u{02BA4}"] = true,
+["\u{02BA5}"] = true,
+["\u{02BA6}"] = true,
+["\u{02BA7}"] = true,
+["\u{02BA8}"] = true,
+["\u{02BA9}"] = true,
+["\u{02BAA}"] = true,
+["\u{02BAB}"] = true,
+["\u{02BAC}"] = true,
+["\u{02BAD}"] = true,
+["\u{02BAE}"] = true,
+["\u{02BAF}"] = true,
+["\u{02BB8}"] = true,
+["\u{1EEF0}"] = true,
+["\u{1EEF1}"] = true,
+["\u{1F800}"] = true,
+["\u{1F801}"] = true,
+["\u{1F802}"] = true,
+["\u{1F803}"] = true,
+["\u{1F804}"] = true,
+["\u{1F805}"] = true,
+["\u{1F806}"] = true,
+["\u{1F807}"] = true,
+["\u{1F808}"] = true,
+["\u{1F809}"] = true,
+["\u{1F80A}"] = true,
+["\u{1F80B}"] = true,
+["\u{1F810}"] = true,
+["\u{1F811}"] = true,
+["\u{1F812}"] = true,
+["\u{1F813}"] = true,
+["\u{1F814}"] = true,
+["\u{1F815}"] = true,
+["\u{1F816}"] = true,
+["\u{1F817}"] = true,
+["\u{1F818}"] = true,
+["\u{1F819}"] = true,
+["\u{1F81A}"] = true,
+["\u{1F81B}"] = true,
+["\u{1F81C}"] = true,
+["\u{1F81D}"] = true,
+["\u{1F81E}"] = true,
+["\u{1F81F}"] = true,
+["\u{1F820}"] = true,
+["\u{1F821}"] = true,
+["\u{1F822}"] = true,
+["\u{1F823}"] = true,
+["\u{1F824}"] = true,
+["\u{1F825}"] = true,
+["\u{1F826}"] = true,
+["\u{1F827}"] = true,
+["\u{1F828}"] = true,
+["\u{1F829}"] = true,
+["\u{1F82A}"] = true,
+["\u{1F82B}"] = true,
+["\u{1F82C}"] = true,
+["\u{1F82D}"] = true,
+["\u{1F82E}"] = true,
+["\u{1F82F}"] = true,
+["\u{1F830}"] = true,
+["\u{1F831}"] = true,
+["\u{1F832}"] = true,
+["\u{1F833}"] = true,
+["\u{1F834}"] = true,
+["\u{1F835}"] = true,
+["\u{1F836}"] = true,
+["\u{1F837}"] = true,
+["\u{1F844}"] = true,
+["\u{1F845}"] = true,
+["\u{1F846}"] = true,
+["\u{1F847}"] = true,
+["\u{1F850}"] = true,
+["\u{1F851}"] = true,
+["\u{1F852}"] = true,
+["\u{1F853}"] = true,
+["\u{1F858}"] = true,
+["\u{1F859}"] = true,
+["\u{1F860}"] = true,
+["\u{1F861}"] = true,
+["\u{1F862}"] = true,
+["\u{1F863}"] = true,
+["\u{1F868}"] = true,
+["\u{1F869}"] = true,
+["\u{1F86A}"] = true,
+["\u{1F86B}"] = true,
+["\u{1F870}"] = true,
+["\u{1F871}"] = true,
+["\u{1F872}"] = true,
+["\u{1F873}"] = true,
+["\u{1F878}"] = true,
+["\u{1F879}"] = true,
+["\u{1F87A}"] = true,
+["\u{1F87B}"] = true,
+["\u{1F880}"] = true,
+["\u{1F881}"] = true,
+["\u{1F882}"] = true,
+["\u{1F883}"] = true,
+["\u{1F898}"] = true,
+["\u{1F899}"] = true,
+["\u{1F89A}"] = true,
+["\u{1F89B}"] = true,
+["\u{1F8A0}"] = true,
+["\u{1F8A1}"] = true,
+["\u{1F8A2}"] = true,
+["\u{1F8A3}"] = true,
+["\u{1F8A4}"] = true,
+["\u{1F8A5}"] = true,
+["\u{1F8A6}"] = true,
+["\u{1F8A7}"] = true,
+["\u{1F8A8}"] = true,
+["\u{1F8A9}"] = true,
+["\u{1F8AA}"] = true,
+["\u{1F8AB}"] = true,
+-- till here
+}
diff --git a/macros/luatex/latex/luamml/luamml-demo.sty b/macros/luatex/latex/luamml/luamml-demo.sty
new file mode 100644
index 0000000000..64e4e3ff7f
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-demo.sty
@@ -0,0 +1,82 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{luamml-demo}{2024-08-14}{v0.1.0}{Reasonable default definitions for luamml}
+
+\sys_if_engine_luatex:F {
+ \msg_new:nnn {luamml-demo} {pdftex-option-ignored} {Option~`#1'~is~being~ignored~in~pdfTeX~mode.}
+ \DeclareOption*{\msg_warning:nnx {luamml-demo} {pdftex-option-ignored} {\CurrentOption}}
+ \ProcessOptions\relax
+ \RequirePackage{luamml-pdf-demo}
+ \endinput
+}
+
+\RequirePackage{luamml}% Loading luamml is pretty much the point
+\RequirePackage{amsmath,array}% These are more or less expected in luamml especially for advanced constructs
+
+\AtBeginDocument{%
+ \@ifpackageloaded{unicode-math}{}{%
+ \RegisterFamilyMapping\symsymbols{oms}%
+ \RegisterFamilyMapping\symletters{oml}%
+ \RegisterFamilyMapping\symlargesymbols{omx}%
+ }
+}
+
+\bool_new:N \l__luamml_demo_structelem_bool
+
+\DeclareOption{tracing}{
+ \tracingmathml=2
+}
+\DeclareOption{structelem}{
+ \bool_set_true:N \l__luamml_demo_structelem_bool
+ \luamml_flag_structelem:
+}
+\DeclareOption{files}{
+ \int_new:N \g__luamml_demo_mathml_int
+ \luamml_set_filename:n {
+ \immediateassignment \int_gincr:N \g__luamml_demo_mathml_int
+ \jobname -formula- \int_use:N \g__luamml_demo_mathml_int .xml
+ }
+}
+\DeclareOption{l3build}{
+ \luamml_set_filename:n {
+ \jobname .mml
+ }
+ \luamml_begin_single_file:
+}
+\ProcessOptions\relax
+
+\cs_new_eq:NN \LuaMMLSetFilename \luamml_set_filename:n
+
+\cs_generate_variant:Nn \pdffile_filespec:nnn {ene}
+\int_new:N \g__luamml_demo_af_int
+\cs_new_protected:Npn \LuaMMLTagAF #1#2 {
+ \tag_mc_end_push:
+ \int_gincr:N \g__luamml_demo_af_int
+ \exp_args:Ne \pdf_object_new:nn{__luamml_demo_\int_use:N \g__luamml_demo_af_int}{dict}
+ \exp_args:Ne \tag_struct_begin:n{tag=Formula,AF=__luamml_demo_\int_use:N \g__luamml_demo_af_int,#1}
+ \bool_if:NF \l__luamml_demo_structelem_bool {
+ \tag_mc_begin:n{tag=Formula}
+ }
+ #2
+ \group_begin:
+ \pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Supplement}
+ \pdffile_filespec:ene
+ { __luamml_demo_ \int_use:N \g__luamml_demo_af_int }
+ { test.xml }
+ { \luamml_get_last_mathml_stream:e{}\c_space_tl 0~R}
+ \group_end:
+ \bool_if:NF \l__luamml_demo_structelem_bool {
+ \tag_mc_end:
+ }
+ \tag_struct_end:
+ \tag_mc_begin_pop:n{}
+}
+
+\NewDocumentCommand\AnnotateFormula{ o m m }{%
+ \IfValueTF{#1}{%
+ \luamml_annotate:nen{#1}%
+ }{
+ \luamml_annotate:en
+ }{#2}{#3}
+}
+
+\cs_set_eq:NN \WriteoutFormula \luamml_pdf_write:
diff --git a/macros/luatex/latex/luamml/luamml-legacy-mappings.lua b/macros/luatex/latex/luamml/luamml-legacy-mappings.lua
new file mode 100644
index 0000000000..6a56b70dbd
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-legacy-mappings.lua
@@ -0,0 +1,73 @@
+-- local remap_ot1 = {
+ -- 0x0393, 0x0394, 0x0398, 0x039B, 0x039E, 0x03A0, 0x03A3, 0x03A5,
+ -- 0x03A6, 0x03A8, 0x03A9, nil, nil, nil, nil, nil,
+-- }
+
+local remap_oml = { [0] =
+ -- Greek italic
+ 0x1D6E4, 0x1D6E5, 0x1D6E9, 0x1D6EC, 0x1D6EF, 0x1D6F1, 0x1D6F4, 0x1D6F6,
+ 0x1D6F7, 0x1D6F9, 0x1D6FA, 0x1D6FC, 0x1D6FD, 0x1D6FE, 0x1D6FF, 0x1D716,
+ 0x1D701, 0x1D702, 0x1D703, 0x1D704, 0x1D705, 0x1D706, 0x1D707, 0x1D708,
+ 0x1D709, 0x1D70B, 0x1D70C, 0x1D70E, 0x1D70F, 0x1D710, 0x1D719, 0x1D712,
+ 0x1D713, 0x1D714, 0x1D700, 0x1D717, 0x1D71B, 0x1D71A, 0x1D70D, 0x1D711,
+ -- Symbols. (The nils are hook parts)
+ 0x21BC, 0x21BD, 0x21C0, 0x21C1, nil, nil, 0x22BB, 0x22BC,
+ -- old style numerals (nobody should ever use these in math) and some punctuation
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 0x2E, 0x2C, 0x3C, 0x2F, 0x3E, 0x226D,
+ -- letters filled up with symbols
+ 0x2202, 0x1D434, 0x1D435, 0x1D436, 0x1D437, 0x1D438, 0x1D439, 0x1D43A,
+ 0x1D43B, 0x1D43C, 0x1D43D, 0x1D43E, 0x1D43F, 0x1D440, 0x1D441, 0x1D442,
+ 0x1D443, 0x1D444, 0x1D445, 0x1D446, 0x1D447, 0x1D448, 0x1D449, 0x1D44A,
+ 0x1D44B, 0x1D44C, 0x1D44D, 0x266D, 0x266E, 0x266F, 0x2323, 0x2322,
+ 0x2113, 0x1D44E, 0x1D44F, 0x1D450, 0x1D451, 0x1D452, 0x1D453, 0x1D454,
+ 0x210E, 0x1D456, 0x1D457, 0x1D458, 0x1D459, 0x1D45A, 0x1D45B, 0x1D45C,
+ 0x1D45D, 0x1D45E, 0x1D45F, 0x1D460, 0x1D461, 0x1D462, 0x1D463, 0x1D464,
+ 0x1D465, 0x1D466, 0x1D467, 0x1D6A4, 0x1D6A5, 0x2118, 0x2192, nil,
+}
+
+-- Something fishy here. Starting with "3D the entries seem wrong
+local remap_oms = { [0] =
+ 0x2212, 0x22C5, 0xD7, 0x2A, 0xF7, 0x22C4, 0xB1, 0x2213,
+ 0x2295, 0x2296, 0x2297, 0x2298, 0x2299, 0x25CB, 0x2218, 0x2219,
+ 0x224D, 0x2261, 0x2286, 0x2287, 0x2264, 0x2265, 0x2AAF, 0x2AB0,
+ 0x223C, 0x2248, 0x2282, 0x2283, 0x226A, 0x226B, 0x227A, 0x227B,
+ 0x2190, 0x2192, 0x2191, 0x2193, 0x2194, 0x2197, 0x2198, 0x2243,
+ 0x21D0, 0x21D2, 0x21D1, 0x21D3, 0x21D4, 0x2196, 0x2199, 0x221D,
+ 0x2032, 0x221E, 0x2208, 0x220B, 0x25B3, 0x25BD, 0x0338, 0x21A6,
+ 0x2200, 0x2203, 0xAC, 0x2205, 0x211C, 0x2111, 0x22A4, 0x22A5,
+ 0x2135, 0x1D49C, 0x212C, 0x1D49E, 0x1D49F, 0x2130, 0x2131, 0x1D4A2,
+ 0x210B, 0x2110, 0x1D4A5, 0x1D4A6, 0x2112, 0x2133, 0x1D4A9, 0x1D4AA,
+ 0x1D4AB, 0x1D4AC, 0x211B, 0x1D4AE, 0x1D4AF, 0x1D4B0, 0x1D4B1, 0x1D4B2,
+ 0x1D4B3, 0x1D4B4, 0x1D4B5, 0x222A, 0x2229, 0x228E, 0x2227, 0x2228,
+ 0x22A2, 0x22A3, 0x230A, 0x230B, 0x2308, 0x2309, 0x7B, 0x7D,
+ 0x27E8, 0x27E9, 0x7C, 0x2016, 0x2195, 0x21D5, 0x5C, 0x2240,
+ 0x221A, 0x2A3F, 0x2207, 0x222B, 0x2294, 0x2293, 0x2291, 0x2292,
+ 0xA7, 0x2020, 0x2021, 0xB6, 0x2663, 0x2662, 0x2661, 0x2660,
+}
+
+-- We are not remapping symbols which are only used as large variants
+local remap_omx = { [0] =
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 0x27EE, 0x27EF, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 0x2A06, nil,
+ 0x222E, nil, 0x2A00, nil, 0x2A01, nil, 0x2A02, nil,
+ 0x2211, 0x220F, 0x222B, 0x22C3, 0x22C2, 0x2A04, 0x22C0, 0x22C1,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ 0x2210, nil, 0x5E, 0x5E, 0x5E, 0x7E, 0x7E, 0x7E,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, 0x23B0, 0x23B1, nil, nil, nil, nil,
+}
+
+return {
+ oml = remap_oml,
+ oms = remap_oms,
+ omx = remap_omx,
+}
diff --git a/macros/luatex/latex/luamml/luamml-lr.lua b/macros/luatex/latex/luamml/luamml-lr.lua
new file mode 100644
index 0000000000..b78a7c3803
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-lr.lua
@@ -0,0 +1,71 @@
+local properties = node.get_properties_table()
+
+local function to_unicode(head, tail)
+ local result, subresult, i = {[0] = 'mtext'}, {}, 0
+ local characters, last_fid
+ local iter, state, n = node.traverse(head)
+ while true do
+ local id, sub n, id, sub = iter(state, n)
+ if not n or n == tail then break end
+ local props = properties[n]
+ if props and props.glyph_info then
+ i = i+1
+ result[i] = glyph_info
+ else
+ local char, fid = node.is_glyph(n)
+ if char then
+ if fid ~= last_fid then
+ local fontdir = font.getfont(fid)
+ characters, last_fid = fontdir.characters, fid
+ end
+ local uni = characters[char]
+ local uni = uni and uni.unicode
+ i = i+1
+ if uni then
+ if type(uni) == 'number' then
+ result[i] = utf.char(uni)
+ else
+ result[i] = utf.char(table.unpack(uni))
+ end
+ else
+ if char < 0x110000 then
+ result[i] = utf.char(char)
+ else
+ result[i] = '\u{FFFD}'
+ end
+ end
+ elseif node.id'math' == id then
+ if props then
+ local mml = props.saved_mathml_table or props.saved_mathml_core
+ if mml then
+ i = i+1
+ result[i] = mml
+ n = node.end_of_math(n)
+ end
+ end
+ -- elseif node.id'whatsit' == id then
+ -- TODO(?)
+ elseif node.id'glue' == id then
+ if n.width > 1000 then -- FIXME: Coordinate constant with tagpdf
+ i = i+1
+ result[i] = '\u{00A0}' -- non breaking space... There is no real reason why it has to be non breaking, except that MathML often ignore other spaces
+ end
+ elseif node.id'hlist' == id then
+ local nested = to_unicode(n.head)
+ table.move(nested, 1, #nested, i+1, result)
+ i = i+#nested
+ elseif node.id'vlist' == id then
+ i = i+1
+ result[i] = '\u{FFFD}'
+ elseif node.id'rule' == id then
+ if n.width ~= 0 then
+ i = i+1
+ result[i] = '\u{FFFD}'
+ end
+ end -- CHECK: Everything else can probably be ignored, otherwise shout at me
+ end
+ end
+ return result
+end
+
+return to_unicode
diff --git a/macros/luatex/latex/luamml/luamml-patches-amsmath.sty b/macros/luatex/latex/luamml/luamml-patches-amsmath.sty
new file mode 100644
index 0000000000..c0df5ed963
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-amsmath.sty
@@ -0,0 +1,417 @@
+\ProvidesExplPackage {luamml-patches-amsmath} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\lua_now:n { require'luamml-amsmath' }
+
+% For all of these changes, the redefinitions appear huge.
+% But they are almost identical to the original and only
+% add luamml commands in appropriate places, so they would
+% mostly disappear if there were enough hooks in amsmath.
+
+% aligned and friends
+\cs_set:Npn \start@aligned #1#2 {
+ \RIfM@
+ \else
+ \nonmatherr@ { \begin { \@currenvir } }
+ \fi
+ \savecolumn@ % Assumption: called inside a group
+ \luamml_annotate:en {
+ core = false
+ } {
+ \alignedspace@left
+ }
+ \ams@start@box {#1} \bgroup
+ \maxfields@ #2 \relax
+ \ifnum \maxfields@ > \m@ne
+ \multiply \maxfields@ \tw@
+ \let \math@cr@@@ \math@cr@@@alignedat
+ \alignsep@ \z@skip
+ \else
+ \let \math@cr@@@ \math@cr@@@aligned
+ \alignsep@ \minalignsep
+ \fi
+ \Let@ \chardef \dspbrk@context \@ne
+ \default@tag
+ \spread@equation % no-op if already called
+ \global \column@ \z@
+ \ialign \bgroup
+ & \column@plus
+ \hfil
+ \strut@
+ $
+ \m@th
+ \displaystyle
+ {##}
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \tabskip \z@skip
+ & \column@plus
+ $
+ \m@th
+ \displaystyle
+ {
+ {}
+ ##
+ }
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ \tabskip\alignsep@
+ \crcr
+ \ams@return@opt@arg
+}
+
+\renewcommand \gathered [1] [c] {
+ \RIfM@
+ \else
+ \nonmatherr@ { \begin {gathered} }
+ \fi
+ \luamml_annotate:en {
+ core = false
+ } {
+ \alignedspace@left
+ }
+ \ams@start@box {#1} \bgroup
+ \Let@
+ \chardef \dspbrk@context \@ne
+ \restore@math@cr
+ \spread@equation
+ \ialign \bgroup
+ \hfil
+ \strut@
+ $
+ \m@th
+ \displaystyle
+ ##
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ \crcr
+ \ams@return@opt@arg
+}
+
+\cs_set:Npn \endaligned {
+ \crcr
+ \__luamml_amsmath_save_inner_table:n \@currenvir
+ \egroup
+ \restorecolumn@
+ \egroup
+ \__luamml_amsmath_finalize_inner_table:
+}
+
+% gather
+\cs_set:Npn \gather@ #1 {
+ \ingather@true
+ \let \split \insplit@
+ \let \tag \tag@in@align
+ \let \label \label@in@display
+ \chardef \dspbrk@context \z@
+ \intertext@ \displ@y@ \Let@
+ \let \math@cr@@@ \math@cr@@@gather
+ \gmeasure@ {#1}
+ \global \shifttag@false
+ \tabskip \z@skip
+ \global \row@ \@ne
+ \halign to \displaywidth \bgroup
+ \strut@
+ \setboxz@h {
+ $
+ \m@th
+ \displaystyle
+ {##}
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ }
+ \__luamml_amsmath_add_box_to_row:
+ \calc@shift@gather
+ \set@gather@field
+ \tabskip\@centering
+ &
+ \setboxz@h {
+ \strut@
+ {##}
+ }
+ \dim_compare:nNnF {0pt} = {
+ \box_wd:N \c_zero_int
+ } {
+ \__luamml_amsmath_set_tag:
+ }
+ \place@tag@gather
+ \tabskip \iftagsleft@
+ \gdisplaywidth@
+ \else
+ \z@skip
+ \span \fi
+ \crcr
+ #1
+}
+
+\cs_new_eq:NN \__luamml_amsmath_original_gmeasure:n \gmeasure@
+\cs_set:Npn \gmeasure@ #1 {
+ \exp_last_unbraced:Nno
+ \use_ii_i:nn
+ { \luamml_flag_ignore: }
+ { \__luamml_amsmath_original_gmeasure:n {#1} }
+}
+
+\cs_set:Npn \endgather {
+ \math@cr
+ \black@ \totwidth@
+ \__luamml_amsmath_finalize_table:n {gather}
+ \egroup
+ $$
+ \ignorespacesafterend
+}
+
+% align and friends
+\cs_set:Npn \align@preamble {
+ &
+ \hfil
+ \strut@
+ \setboxz@h {
+ \@lign
+ $
+ \m@th
+ \displaystyle
+ {##}
+ \ifmeasuring@
+ \luamml_flag_ignore:
+ \else
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ \fi
+ $
+ }
+ \ifmeasuring@
+ \savefieldlength@
+ \else
+ \__luamml_amsmath_add_box_to_row:
+ \fi
+ \set@field
+ \tabskip\z@skip
+ &
+ \setboxz@h {
+ \@lign
+ $
+ \m@th
+ \displaystyle
+ {
+ {}
+ ##
+ }
+ \ifmeasuring@
+ \luamml_flag_ignore:
+ \else
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ \fi
+ $
+ }
+ \ifmeasuring@
+ \savefieldlength@
+ \else
+ \__luamml_amsmath_add_box_to_row:
+ \fi
+ \set@field
+ \hfil
+ \tabskip\alignsep@
+}
+
+\cs_set:Npn \math@cr@@@align {
+ \ifst@rred
+ \nonumber
+ \fi
+ \if@eqnsw
+ \global \tag@true
+ \fi
+ \global \advance \row@ \@ne
+ \add@amps \maxfields@
+ \omit
+ \kern -\alignsep@
+ \iftag@
+ \setboxz@h {
+ \@lign
+ \strut@
+ { \make@display@tag }
+ }
+ \place@tag
+ \__luamml_amsmath_set_tag:
+ \fi
+ \ifst@rred
+ \else
+ \global \@eqnswtrue
+ \fi
+ \global \lineht@ \z@
+ \cr
+}
+
+\cs_set:Npn \maketag@@@ #1 {
+ \hbox {
+ \m@th
+ \normalfont
+ #1
+ \__luamml_amsmath_save_tag:
+ }
+}
+
+\cs_set:Npn \endalign {
+ \math@cr
+ \black@ \totwidth@
+ \__luamml_amsmath_finalize_table:n {align}
+ \egroup
+ \ifingather@
+ \restorealignstate@
+ \egroup
+ \nonumber
+ \ifnum0=`{\fi\iffalse}\fi
+ \else
+ $$
+ \fi
+ \ignorespacesafterend
+}
+
+% For a more interesting one, let's consider multline:
+\cs_new_eq:NN \__luamml_amsmath_original_multline:n \multline@
+\cs_set:Npn \multline@ #1 {
+ \__luamml_amsmath_original_multline:n {
+ \ifmeasuring@ \else
+ \__luamml_amsmath_set_row_columnalign:n {left}
+ \fi
+ #1
+ \ifmeasuring@ \else
+ \__luamml_amsmath_set_row_columnalign:n {right}
+ \fi
+ }
+}
+
+\cs_new_eq:NN \__luamml_amsmath_original_mmeasure:n \mmeasure@
+\cs_set:Npn \mmeasure@ #1 {
+ \exp_last_unbraced:Nno
+ \use_ii_i:nn
+ { \luamml_flag_ignore: }
+ { \__luamml_amsmath_original_mmeasure:n {#1} }
+}
+
+% Luckily, {multline} uses \endmultline@math in exactly
+% the spot where we have to set the flag.
+% Less luckily, \endmultline@math sometimes get overwritten for the last line.
+% But that isn't a problem since we want special behavior there anyway.
+\cs_set:Npn \endmultline@math {
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+}
+
+\cs_set:Npn \rendmultline@ {
+ \iftag@
+ \luamml_flag_save:nNn {} \displaystyle {mtd}
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \let \endmultline@math \relax
+ \ifshifttag@
+ \hskip \multlinegap
+ \llap {
+ \vtop {
+ \raise@tag
+ \normalbaselines
+ \setbox \@ne \null
+ \dp \@ne \lineht@
+ \box \@ne
+ \hbox {
+ \strut@
+ \make@display@tag
+ }
+ }
+ }
+ \else
+ \hskip \multlinetaggap
+ \make@display@tag
+ \fi
+ \__luamml_amsmath_set_tag:
+ \else
+ \hskip \multlinegap
+ \fi
+ \hfilneg
+ \math@cr
+ \__luamml_amsmath_finalize_table:n {multline}
+ \egroup
+ $$
+}
+
+\cs_set:Npn \lendmultline@ {
+ \hfilneg
+ \hskip\multlinegap
+ \math@cr
+ \__luamml_amsmath_finalize_table:n {multline}
+ \egroup
+ $$
+}
+
+% Finally some slightly different stuff.
+% While {matrix} is covered by {array}, we still have {smallmatrix}:
+\renewenvironment {smallmatrix} {
+ \luamml_annotate:en {
+ core = false
+ } {
+ \null
+ \,
+ }
+ \vcenter \bgroup
+ \Let@
+ \restore@math@cr
+ \default@tag
+ \baselineskip 6 \ex@
+ \lineskip 1.5 \ex@
+ \lineskiplimit \lineskip
+ \ialign \bgroup
+ \hfil
+ $
+ \m@th
+ \scriptstyle
+ ##
+ \luamml_flag_save:nn {} {mtd} % No \scriptsize here since we want to add the mstyle nodes
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ &&
+ \thickspace
+ \hfil
+ $
+ \m@th
+ \scriptstyle
+ ##
+ \luamml_flag_save:nn {} {mtd} % No \scriptsize here since we want to add the mstyle nodes
+ $
+ \__luamml_amsmath_add_last_to_row:
+ \hfil
+ \crcr
+}{%
+ \crcr
+ \__luamml_amsmath_save_smallmatrix:
+ \egroup
+ \egroup
+ \__luamml_amsmath_finalize_inner_table:
+ \luamml_annotate:en {
+ core = false
+ } {
+ \,
+ }
+}
+
+% {cases} is defined by the kernel, but we patch the overwritten version by amsmath.
+\cs_set:Npn \env@cases {
+ \let \@ifnextchar \new@ifnextchar
+ \left \lbrace
+ \def \arraystretch {1.2}
+ \array {@{}l@{\quad \luamml_flag_ignore:}l@{}}
+}
+
+
+\cs_set:Npn \bBigg@ #1 #2 {
+ {
+ \ensuremath {
+ \Uvextensible height~#1 \big@size axis~exact~#2
+ }
+ }
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-amstext.sty b/macros/luatex/latex/luamml/luamml-patches-amstext.sty
new file mode 100644
index 0000000000..2217600716
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-amstext.sty
@@ -0,0 +1,37 @@
+\ProvidesExplPackage {luamml-patches-amstext} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\int_new:N \g__luamml_amsmath_text_struct_int
+\cs_set:Npn \textdef@ #1 #2 #3 {
+ \int_if_odd:nTF { \int_div_truncate:nn { \l__luamml_flag_int } { 8 } } {
+ \int_gincr:N \g__luamml_amsmath_text_struct_int
+ \tag_struct_begin:n {
+ tag = mtext/mathml,
+ stash,
+ label = __luamml_amsmath_text_ \int_use:N \g__luamml_amsmath_text_struct_int
+ }
+ \tag_mc_begin:n {
+ tag = mtext
+ }
+ \AnnotateFormula {
+ nucleus = true,
+ struct = "__luamml_amsmath_text_ \int_use:N \g__luamml_amsmath_text_struct_int"
+ }
+ } {
+ \use:n
+ }
+ {
+ \hbox {
+ {
+ \everymath {#1}
+ \let \f@size #2
+ \selectfont
+ #3
+ }
+ }
+ }
+ \int_if_odd:nT { \int_div_truncate:nn { \l__luamml_flag_int } { 8 } } {
+ \tag_mc_end:
+ \tag_struct_end:
+ }
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-array.sty b/macros/luatex/latex/luamml/luamml-patches-array.sty
new file mode 100644
index 0000000000..ee40b2c489
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-array.sty
@@ -0,0 +1,86 @@
+\ProvidesExplPackage {luamml-patches-array} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\lua_now:n { require'luamml-array' }
+
+\cs_set:Npn \@classz {
+ \@classx
+ \@tempcnta \count@
+ \prepnext@tok
+ \@addtopreamble {
+ \ifcase \@chnum
+ \hfil
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 0~
+ }
+ \do@row@strut
+ \hfil
+ \or
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 1~
+ }
+ \do@row@strut
+ \hfil
+ \or
+ \hfil
+ \hskip 1sp
+ \d@llarbegin
+ \cs_if_eq:NNTF \d@llarbegin \begingroup {
+ \insert@column
+ \d@llarend
+ } {
+ \__luamml_array_init_col:
+ \insert@column
+ \luamml_flag_save:nn {} {mtd}
+ \d@llarend
+ \__luamml_array_finalize_col:w 2~
+ }
+ \do@row@strut
+ \or
+ \setbox \ar@mcellbox \vbox \@startpbox { \@nextchar }
+ \insert@column
+ \@endpbox
+ \ar@align@mcell
+ \do@row@strut
+ \or
+ \vtop \@startpbox { \@nextchar }
+ \insert@column
+ \@endpbox
+ \do@row@strut
+ \or
+ \vbox \@startpbox { \@nextchar }
+ \insert@column
+ \@endpbox
+ \do@row@strut
+ \fi
+ }
+ \prepnext@tok
+}
+
+\cs_set:Npn \endarray {
+ \crcr
+ \__luamml_array_save_array:
+ \egroup
+ \egroup
+ \mode_if_math:T { \__luamml_array_finalize_array: }
+ \@arrayright
+ \gdef \@preamble {}
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-kernel.sty b/macros/luatex/latex/luamml/luamml-patches-kernel.sty
new file mode 100644
index 0000000000..fa3aaae0ec
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-kernel.sty
@@ -0,0 +1,63 @@
+\ProvidesExplPackage {luamml-patches-kernel} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\cs_new:Npn \__luamml_kernel_phantom:nnn #1#2#3 {
+ \setbox \z@ = \hbox {
+ $
+ \m@th
+ #2
+ {#3}
+ \luamml_flag_save:nNn {mathphant_#1} #2 {mphantom}
+ \luamml_pdf_write:
+ $
+ }
+ \luamml_annotate:nen {1} {
+ nucleus = true,
+ core = {[0] = 'mpadded',
+ \ifh@\else
+ width = 0,
+ \fi
+ \ifv@\else
+ height = 0, depth = 0,
+ \fi
+ data.mathml.mathphant_#1,
+ }
+ } {
+ \finph@nt
+ }
+}
+\cs_generate_variant:Nn \__luamml_kernel_phantom:nnn {V}
+
+\int_new:N \g__luamml_kernel_phantom_int
+\cs_set:Npn \mathph@nt {
+ \int_gincr:N \g__luamml_kernel_phantom_int
+ \__luamml_kernel_phantom:Vnn \g__luamml_kernel_phantom_int
+}
+
+\@ifpackageloaded {unicode-math} {} {
+ \cs_new:Npn \__luamml_kernel_define_character:Nnn #1#2#3 {
+ \cs_set:cpx { \cs_to_str:N #1 ~ } {
+ \luamml_annotate:nen {#2} {
+ nucleus = true, core = {[0] = 'mi', '\string\u{#3}'},
+ } {
+ \exp_not:v { \cs_to_str:N #1 ~ }
+ }
+ }
+ }
+
+ \__luamml_kernel_define_character:Nnn \models {3} {22a7}
+ \__luamml_kernel_define_character:Nnn \hookrightarrow {3} {21aa}
+ \__luamml_kernel_define_character:Nnn \hookleftarrow {3} {21a9}
+ \__luamml_kernel_define_character:Nnn \bowtie {3} {22c8}
+ \__luamml_kernel_define_character:Nnn \Longrightarrow {3} {27f9}
+ \__luamml_kernel_define_character:Nnn \longrightarrow {3} {27f6}
+ \__luamml_kernel_define_character:Nnn \Longleftarrow {3} {27f8}
+ \__luamml_kernel_define_character:Nnn \longleftarrow {3} {27f5}
+ \__luamml_kernel_define_character:Nnn \Longleftrightarrow {3} {27fa}
+ \__luamml_kernel_define_character:Nnn \longleftrightarrow {3} {27f7}
+ \__luamml_kernel_define_character:Nnn \longmapsto {4} {27fc}
+}
+
+\IfFileLoadedT {latex-lab-math.ltx} {
+ \RequirePackage{luamml-patches-lab-math}
+}
diff --git a/macros/luatex/latex/luamml/luamml-patches-lab-math.sty b/macros/luatex/latex/luamml/luamml-patches-lab-math.sty
new file mode 100644
index 0000000000..e2d12c3c73
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-patches-lab-math.sty
@@ -0,0 +1,20 @@
+\ProvidesExplPackage {luamml-patches-lab-math} {2024-08-14} {0.1.0}
+ {Feel free to add a description here}
+
+\AddToHook{begindocument} {
+ \cs_set:Npn \common@align@ending {
+ \math@cr
+ \black@ \totwidth@
+ \__luamml_amsmath_finalize_table:n {align}
+ \egroup
+ \ifingather@
+ \restorealignstate@
+ \egroup
+ \nonumber
+ \ifnum0=`{\fi\iffalse}\fi
+ \else
+ $$
+ \fi
+ \ignorespacesafterend
+ }
+}
diff --git a/macros/luatex/latex/luamml/luamml-pdf-demo.sty b/macros/luatex/latex/luamml/luamml-pdf-demo.sty
new file mode 100644
index 0000000000..fe63814d05
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-pdf-demo.sty
@@ -0,0 +1,50 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesExplPackage{luamml-pdf-demo}{2024-08-14}{v0.1.0}{Reasonable default definitions for luamml-pdf}
+
+\RequirePackage{luamml-pdf}% Loading luamml-pdf is pretty much the point
+% \RequirePackage{amsmath,array}% May come back if the patches get ported
+
+% Delay family mappings to allow for replacements
+\AddToHook{begindocument/before}{%
+ \@ifpackageloaded{unicode-math}{}{%
+ \RegisterFamilyMapping\symsymbols{oms}%
+ \RegisterFamilyMapping\symletters{oml}%
+ \RegisterFamilyMapping\symlargesymbols{omx}%
+ }
+}
+
+\cs_new_protected:Npn \LuaMMLSetFilename #1 {}
+
+% TODO.
+% \cs_generate_variant:Nn \pdffile_filespec:nnn {ene}
+% \int_new:N \g__luamml_demo_af_int
+% \cs_new_protected:Npn \LuaMMLTagAF #1#2 {
+% \int_gincr:N \g__luamml_demo_af_int
+% \exp_args:Ne \pdf_object_new:nn{__luamml_demo_\int_use:N \g__luamml_demo_af_int}{dict}
+% \exp_args:Ne \tagstructbegin{tag=Formula,AF=__luamml_demo_\int_use:N \g__luamml_demo_af_int,#1}
+% \bool_if:NF \l__luamml_demo_structelem_bool {
+% \tagmcbegin{tag=Formula}
+% }
+% #2
+% \group_begin:
+% \pdfdict_put:nnn {l_pdffile/Filespec} {AFRelationship}{/Supplement}
+% \pdffile_filespec:ene
+% { __luamml_demo_ \int_use:N \g__luamml_demo_af_int }
+% { test.xml }
+% { \luamml_get_last_mathml_stream:e{}\c_space_tl 0~R}
+% \group_end:
+% \bool_if:NF \l__luamml_demo_structelem_bool {
+% \tagmcend
+% }
+% \tagstructend
+% }
+
+\NewDocumentCommand\AnnotateFormula{ o m m }{%
+ \IfValueTF{#1}{%
+ \luamml_annotate:nen{#1}%
+ }{
+ \luamml_annotate:en
+ }{#2}{#3}
+}
+
+\cs_set_eq:NN \WriteoutFormula \luamml_pdf_write:
diff --git a/macros/luatex/latex/luamml/luamml-structelemwriter.lua b/macros/luatex/latex/luamml/luamml-structelemwriter.lua
new file mode 100644
index 0000000000..eb266a1e9f
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-structelemwriter.lua
@@ -0,0 +1,105 @@
+local struct_begin = token.create'tag_struct_begin:n'
+local struct_use = token.create'tag_struct_use:n'
+local struct_end = token.create'tag_struct_end:'
+
+local mc_begin = token.create'tag_mc_begin:n'
+local mc_end = token.create'tag_mc_end:'
+
+local function escape_name(name)
+ return name
+end
+
+local function escape_string(str)
+ return str
+end
+
+local mathml_ns_obj
+local function get_mathml_ns_obj()
+ mathml_ns_obj = mathml_ns_obj or token.create'c__pdf_backend_object_tag/NS/mathml_int'.index
+ return mathml_ns_obj
+end
+
+local attribute_counter = 0
+local attributes = setmetatable({}, {__index = function(t, k)
+ attribute_counter = attribute_counter + 1
+ local attr_name = string.format('luamml_attr_%i', attribute_counter)
+ t[k] = attr_name
+ tex.runtoks(function()
+ tex.sprint(string.format('\\tagpdfsetup{newattribute={%s}{/O/NSO/NS %i 0 R',
+ attr_name, mathml_ns_obj or get_mathml_ns_obj()))
+ -- tex.sprint(string.format('\\tagpdfsetup{newattribute={%s}{/O/MathML-3',
+ -- attr_name))
+ tex.cprint(12, k)
+ tex.sprint'}}'
+ end)
+ return attr_name
+end})
+
+local mc_type = luatexbase.attributes.g__tag_mc_type_attr
+local mc_cnt = luatexbase.attributes.g__tag_mc_cnt_attr
+-- print('!!!', mc_type, mc_cnt)
+
+local stash_cnt = 0
+local attrs = {}
+local function write_elem(tree, stash)
+ if tree[':struct'] then
+ return tex.runtoks(function()
+ return tex.sprint(struct_use, '{', tree[':struct'], '}')
+ end)
+ end
+ if not tree[0] then print('ERR', require'inspect'(tree)) end
+ local i = 0
+ for attr, val in next, tree do if type(attr) == 'string' and not string.find(attr, ':') and attr ~= 'xmlns' then
+ -- for attr, val in next, tree do if type(attr) == 'string' and string.byte(attr) ~= 0x3A then
+ i = i + 1
+ attrs[i] = string.format('/%s(%s)', escape_name(attr), escape_string(val))
+ end end
+ table.sort(attrs)
+
+ if stash then
+ stash_cnt = stash_cnt + 1
+ stash = '__luamml_stashed_' .. stash_cnt
+ tree[':struct'] = stash
+ stash = ', stash, label = ' .. stash
+ end
+
+ local attr_flag = i ~= 0 and ', attribute=' .. attributes[table.concat(attrs)]
+ tex.sprint(struct_begin, '{tag=' .. tree[0] .. '/mathml')
+ if stash then tex.sprint(stash) end
+ if attr_flag then tex.sprint(attr_flag) end
+ if tree[':actual'] then
+ tex.sprint(', actualtext = {')
+ tex.cprint(12, tree[':actual'])
+ tex.sprint'}'
+ end
+ tex.sprint'}'
+ for j = 1, i do attrs[j] = nil end
+
+ if tree[':nodes'] then
+ local n = tree[':nodes']
+ tex.runtoks(function()
+ tex.sprint{mc_begin, string.format('{tag=%s}', tree[0])}
+ -- NOTE: This will also flush all previous sprint's... That's often annoying, but in this case actually intentional.
+ end)
+ local mct, mcc = tex.attribute[mc_type], tex.attribute[mc_cnt]
+ for i = 1, #n do
+ node.set_attribute(n[i], mc_type, mct)
+ node.set_attribute(n[i], mc_cnt, mcc)
+ end
+ tex.runtoks(function()
+ tex.sprint(mc_end)
+ end)
+ end
+ for _, elem in ipairs(tree) do
+ if type(elem) ~= 'string' then
+ write_elem(elem)
+ end
+ end
+ tex.runtoks(function()
+ tex.sprint(struct_end)
+ end)
+end
+
+return function(element, stash)
+ return write_elem(element, stash)
+end
diff --git a/macros/luatex/latex/luamml/luamml-table.lua b/macros/luatex/latex/luamml/luamml-table.lua
new file mode 100644
index 0000000000..8b703953f8
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-table.lua
@@ -0,0 +1,110 @@
+local write_xml = require'luamml-xmlwriter'
+local make_root = require'luamml-convert'.make_root
+local save_result = require'luamml-tex'.save_result
+
+local properties = node.get_properties_table()
+
+local glue_id = node.id'glue'
+local tabskip_sub = 12
+assert(node.subtypes'glue'[tabskip_sub] == 'tabskip')
+
+local function store_get_row()
+ local row_temp
+ for i=tex.nest.ptr-1, 0, -1 do
+ local head = tex.nest[i].head
+ local glue = head.next
+ if glue and glue.id == glue_id and glue.subtype == tabskip_sub then
+ row_temp = head
+ break
+ end
+ end
+ if not row_temp then
+ error[[luamml_table's store function called outside of table]]
+ end
+ local props = properties[row_temp]
+ if not props then
+ props = {}
+ properties[row_temp] = props
+ end
+ local mml_row = props.mathml_row
+ if not mml_row then
+ mml_row = {[0] = 'mtr'}
+ props.mathml_row = mml_row
+ end
+ return mml_row
+end
+
+local function store_column_xml(mml, display)
+ if mml[0] ~= 'mtd' then
+ if display and mml[0] == 'mstyle' and mml.displaystyle == true then
+ mml[0], mml.displaystyle, mml.scriptlevel = 'mtd', nil, nil
+ else
+ if display and mml[0] ~= 'mstyle' then
+ mml = {[0] = 'mstyle', displaystyle = false, mml}
+ end
+ mml = {[0] = 'mtd', mml}
+ end
+ end
+ table.insert(store_get_row(), mml)
+ return mml
+end
+
+local function store_column(startmath)
+ local props = properties[startmath]
+ if not props then return end
+ local mml = props.saved_mathml_table or props.saved_mathml_core
+ if mml then return store_column_xml(mml) end
+end
+
+local function store_tag(xml)
+ local mml_row = store_get_row()
+ mml_row[0] = 'mlabeledtr'
+ table.insert(mml_row, 1, xml)
+ last_tag = nil
+end
+
+local function set_row_attribute(name, value)
+ local mml_row = store_get_row()
+ mml_row[name] = value
+end
+
+luatexbase.add_to_callback('hpack_filter', function(_, group)
+ if group ~= 'fin_row' then return true end
+
+ local temp = tex.nest.top.head
+ local props = properties[temp]
+ if not props then return true end
+ local mml_row = props.mathml_row
+ if not mml_row then return true end
+ props.mathml_row = nil
+
+ props = properties[tex.lists.align_head]
+ if not props then
+ props = {}
+ properties[tex.lists.align_head] = props
+ end
+ local mml_table = props.mathml_table_node_table
+ if not mml_table then
+ mml_table = {[0] = 'mtable'}
+ props.mathml_table_node_table = mml_table
+ end
+ table.insert(mml_table, mml_row)
+ return true
+end, 'mathml amsmath processing')
+
+local function get_table()
+ -- TODO: Error handling etc
+ local props = properties[tex.lists.align_head]
+ if not props then return end
+ local mml_table = props.mathml_table_node_table
+ props.mathml_table_node_table = nil
+ return mml_table
+end
+
+return {
+ store_column = store_column,
+ store_column_xml = store_column_xml,
+ store_tag = store_tag,
+ set_row_attribute = set_row_attribute,
+ get_table = get_table,
+}
diff --git a/macros/luatex/latex/luamml/luamml-tex-annotate.lua b/macros/luatex/latex/luamml/luamml-tex-annotate.lua
new file mode 100644
index 0000000000..4b22374ec2
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-tex-annotate.lua
@@ -0,0 +1,119 @@
+local nest = tex.nest
+
+local properties = node.get_properties_table()
+
+local mark_environment = {
+ data = {
+ },
+}
+
+local function annotate()
+ local annotation, err = load( 'return {'
+ .. token.scan_argument()
+ .. '}', nil, 't', mark_environment)
+ if not annotation then
+ tex.error('Error while parsing LuaMML annotation', {err})
+ return 0
+ end
+ annotation = annotation()
+ local nesting = nest.top
+ local props = properties[nesting.head]
+ local current = props and props.luamml__annotate_context
+ if current then
+ current, props.luamml__annotate_context = current.head, current.prev
+ else
+ tex.error('Mismatched LuaMML annotation',
+ {'Something odd happened. Maybe you forgot braces around an annotated symbol in a subscript or superscript?'})
+ return 0
+ end
+ local after = nesting.tail
+ local count, offset = 0, annotation.offset
+ local marked
+ if current == after then
+ tex.error'Empty LuaMML annotation'
+ else
+ repeat
+ current = current.next
+ count = count + 1
+ if count == offset then
+ marked = current
+ elseif offset or current ~= after then
+ local props = properties[current]
+ if not props then
+ props = {}
+ properties[current] = props
+ end
+ props.mathml_table, props.mathml_core = nil, false
+ end
+ until current == after
+ if offset and not marked then
+ tex.error'Invalid offset in LuaMML annotation'
+ end
+ marked = marked or current
+ if annotation.nucleus then
+ marked = marked.nucleus
+ end
+ if marked then
+ local props = properties[marked]
+ if not props then
+ props = {}
+ properties[marked] = props
+ end
+ if annotation.core then
+ props.mathml_core = annotation.core
+ end
+ if annotation.struct then
+ local saved = props.mathml_filter
+ local struct = annotation.struct
+ function props.mathml_filter(mml, core)
+ mml[':struct'] = struct
+ if saved then
+ return saved(mml, core)
+ else
+ return mml, core
+ end
+ end
+ end
+ else
+ tex.error'Unable to annotate nucleus of node without nucleus'
+ end
+ end
+ return count
+end
+
+local funcid = luatexbase.new_luafunction'__luamml_annotate_begin:'
+token.set_lua('__luamml_annotate_begin:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local top = nest.top
+ local temp = top.head
+ local props = properties[temp]
+ if not props then
+ props = {}
+ properties[temp] = props
+ end
+ props.luamml__annotate_context = {
+ prev = props.luamml__annotate_context,
+ head = top.tail,
+ }
+end
+
+funcid = luatexbase.new_luafunction'__luamml_annotate_end:we'
+token.set_lua('__luamml_annotate_end:we', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local count = token.scan_int()
+ local real_count = annotate()
+ if count ~= real_count then
+ tex.error('Incorrect count in LuaMML annotation', {
+ 'A LuaMML annotation was discovered with an explicit count \z
+ which was not the same as the number of top-level nodes annotated.',
+ string.format('This can be fixed by changing the supplied count from %i to %i \z
+ or by omitting the count value entirely.', count, real_count)
+ })
+ end
+end
+
+funcid = luatexbase.new_luafunction'__luamml_annotate_end:e'
+token.set_lua('__luamml_annotate_end:e', funcid, 'protected')
+lua.get_functions_table()[funcid] = annotate
+
+return mark_environment
diff --git a/macros/luatex/latex/luamml/luamml-tex.lua b/macros/luatex/latex/luamml/luamml-tex.lua
new file mode 100644
index 0000000000..4182fbb801
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-tex.lua
@@ -0,0 +1,232 @@
+local mlist_to_mml = require'luamml-convert'
+local process_mlist = mlist_to_mml.process
+local make_root = mlist_to_mml.make_root
+local register_family = mlist_to_mml.register_family
+
+local mappings = require'luamml-legacy-mappings'
+local write_xml = require'luamml-xmlwriter'
+local write_struct = require'luamml-structelemwriter'
+
+local filename_token = token.create'l__luamml_filename_tl'
+local label_token = token.create'l__luamml_label_tl'
+local left_brace = token.new(string.byte'{', 1)
+local right_brace = token.new(string.byte'}', 2)
+
+local output_hook_token
+local global_text_families = {}
+local text_families_meta = {__index = function(t, fam)
+ if fam == nil then return nil end
+ local assignment = global_text_families[fam]
+ if assignment == nil then
+ local fid = node.family_font(fam)
+ local fontdir = font.getfont(fid)
+ if not fontdir then
+ -- FIXME(?): If there is no font...
+ error'Please load your fonts?!?'
+ end
+ assignment = not (fontdir.MathConstants and next(fontdir.MathConstants))
+ end
+ t[fam] = assignment
+ return assignment
+end}
+
+local properties = node.get_properties_table()
+local mmode, hmode, vmode do
+ local result, input = {}, tex.getmodevalues()
+ for k,v in next, tex.getmodevalues() do
+ if v == 'math' then mmode = k
+ elseif v == 'horizontal' then hmode = k
+ elseif v == 'vertical' then vmode = k
+ else assert(v == 'unset')
+ end
+ end
+ assert(mmode and hmode and vmode)
+end
+
+local funcid = luatexbase.new_luafunction'RegisterFamilyMapping'
+token.set_lua('RegisterFamilyMapping', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local fam = token.scan_int()
+ local mapping = token.scan_string()
+ if mappings[mapping] then
+ register_family(fam, mappings[mapping])
+ if global_text_families[fam] == nil then
+ global_text_families[fam] = false
+ end
+ else
+ tex.error(string.format('Unknown font mapping %q', mapping))
+ end
+end
+
+local funcid = luatexbase.new_luafunction'RegisterFamilyMapping'
+token.set_lua('RegisterTextFamily', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ local fam = token.scan_int()
+ local _kind = token.scan_string()
+ global_text_families[fam] = true
+end
+
+local function shallow_copy(t)
+ local tt = {}
+ for k,v in next, t do
+ tt[k] = v
+ end
+ return tt
+end
+
+-- Possible flag values:
+-- 0: Skip
+-- 1: Generate MathML, but only save it for later usage in startmath node
+-- 3: Normal (This is the only supported one in display mode)
+-- 11: Generate MathML structure elements
+--
+-- More generally, flags is a bitfield with the defined bits:
+-- Bit 5-7: See Bit 4
+-- Bit 4: Overwrite mathstyle with bit 9-11
+-- Bit 3: Generate MathML structure elements
+-- Bit 2: Change root element name for saved element
+-- Bit 1: Save MathML as a fully converted formula
+-- Bit 0: Save MathML for later usage in startmath node. Ignored for display math.
+
+local out_file
+
+local mlist_result
+
+local undefined_cmd = token.command_id'undefined_cs'
+local call_cmd = token.command_id'call'
+
+local labelled_mathml = {}
+
+local function save_result(xml, display, structelem)
+ mlist_result = make_root(xml, display and 0 or 2)
+ if out_file then
+ out_file:write(write_xml(mlist_result, tex.count.l__luamml_pretty_int & 1 == 1):sub(2) .. '\n')
+ else
+ token.put_next(filename_token)
+ local filename = token.scan_argument()
+ if filename ~= '' then
+ assert(io.open(filename, 'w'))
+ :write(write_xml(mlist_result, tex.count.l__luamml_pretty_int & 1 == 1):sub(2) .. '\n')
+ :close()
+ end
+ end
+ local tracing = tex.count.tracingmathml > 1
+ if tracing then
+ texio.write_nl(write_xml(mlist_result, tex.count.l__luamml_pretty_int & 2 == 2) .. '\n')
+ end
+ if output_hook_token then
+ tex.runtoks(function()
+ tex.sprint(-2, output_hook_token, left_brace, write_xml(mlist_result, tex.count.l__luamml_pretty_int & 4 == 4), right_brace)
+ end)
+ end
+ if tex.count.l__luamml_flag_int & 8 == 8 then
+ write_struct(mlist_result)
+ end
+ return mlist_result
+end
+
+luatexbase.add_to_callback('pre_mlist_to_hlist_filter', function(mlist, style)
+ if tex.nest.top.mode == mmode then -- This is a equation label generated with \eqno
+ return true
+ end
+ local flag = tex.count.l__luamml_flag_int
+ if flag & 3 == 0 then
+ return true
+ end
+ local display = style == 'display'
+ local startmath = tex.nest.top.tail -- Must come before any write_struct calls which adds nodes
+ style = flag & 16 == 16 and flag>>5 & 0x7 or display and 0 or 2
+ local xml, core = process_mlist(mlist, style, setmetatable({}, text_families_meta))
+ if flag & 2 == 2 then
+ xml = save_result(shallow_copy(xml), display)
+ end
+ if flag & 4 == 4 then
+ local element_type = token.get_macro'l__luamml_root_tl'
+ if element_type ~= 'mrow' then
+ if xml[0] == 'mrow' then
+ xml[0] = element_type
+ else
+ xml = {[0] = element_type, xml}
+ end
+ end
+ end
+ if not display and flag & 1 == 1 then
+ local props = properties[startmath]
+ if not props then
+ props = {}
+ properties[startmath] = props
+ end
+ props.saved_mathml_table, props.saved_mathml_core = xml, core
+ token.put_next(label_token)
+ local label = token.scan_argument()
+ if label ~= '' then
+ if labelled_mathml[label] then
+ tex.error('MathML Label already in use', {
+ 'A MathML expression has a label which is already used by another \z
+ formula. If you do not want to label this formula with a unique \z
+ label, set a empty label instead.'})
+ else
+ labelled_mathml[label] = xml
+ end
+ end
+ if flag & 10 == 8 then
+ write_struct(xml, true) -- This modifies xml in-place to reference the struture element
+ end
+ end
+ return true
+end, 'dump_list')
+
+funcid = luatexbase.new_luafunction'luamml_get_last_mathml_stream:e'
+token.set_lua('luamml_get_last_mathml_stream:e', funcid)
+lua.get_functions_table()[funcid] = function()
+ if not mlist_result then
+ tex.error('No current MathML data', {
+ "I was asked to provide MathML code for the last formula, but there weren't any new formulas since you last asked."
+ })
+ end
+ local mml = write_xml(mlist_result, tex.count.l__luamml_pretty_int & 8 == 8)
+ if tex.count.tracingmathml == 1 then
+ texio.write_nl(mml .. '\n')
+ end
+ tex.sprint(-2, tostring(pdf.immediateobj('stream', mml, '/Subtype/application#2Fmathml+xml' .. token.scan_argument(true))))
+ mlist_result = nil
+end
+
+funcid = luatexbase.new_luafunction'luamml_begin_single_file:'
+token.set_lua('luamml_begin_single_file:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ token.put_next(filename_token)
+ local filename = token.scan_argument()
+ if filename ~= '' then
+ out_file = assert(io.open(filename, 'w'))
+ end
+end
+
+funcid = luatexbase.new_luafunction'luamml_end_single_file:'
+token.set_lua('luamml_end_single_file:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ if out_file then
+ out_file:close()
+ out_file = nil
+ end
+end
+
+funcid = luatexbase.new_luafunction'luamml_register_output_hook:N'
+token.set_lua('__luamml_register_output_hook:N', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ output_hook_token = token.get_next()
+end
+
+funcid = luatexbase.new_luafunction'luamml_disable_output_hook:'
+token.set_lua('__luamml_disable_output_hook:', funcid, 'protected')
+lua.get_functions_table()[funcid] = function()
+ output_hook_token = nil
+end
+
+local annotate_context = require'luamml-tex-annotate'
+annotate_context.data.mathml = labelled_mathml
+
+return {
+ save_result = save_result,
+ labelled = labelled_mathml,
+}
diff --git a/macros/luatex/latex/luamml/luamml-xmlwriter.lua b/macros/luatex/latex/luamml/luamml-xmlwriter.lua
new file mode 100644
index 0000000000..a2b5abefbf
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml-xmlwriter.lua
@@ -0,0 +1,58 @@
+-- FIXME: Not sure yet if this will be needed
+local function escape_name(name)
+ return name
+end
+
+local escapes = {
+ ['"'] = "&quot;",
+ ['<'] = "&lt;",
+ ['>'] = "&gt;",
+ ['&'] = "&amp;",
+}
+local function escape_text(text)
+ return string.gsub(string.gsub(tostring(text), '["<>&]', escapes), '[\x00-\x08\x0B\x0C\x0E-\x1F]', function(x)
+ return string.format('^^%02x', string.byte(x))
+ end)
+end
+
+local attrs = {}
+local function write_elem(tree, indent)
+ if not tree[0] then print('ERR', require'inspect'(tree)) end
+ local escaped_name = escape_name(assert(tree[0]))
+ local i = 0
+ for attr, val in next, tree do if type(attr) == 'string' then
+ if not string.find(attr, ':', 1, true) then
+ -- if string.byte(attr) ~= 0x3A then
+ i = i + 1
+ attrs[i] = string.format(' %s="%s"', escape_name(attr), escape_text(val))
+ end
+ end end
+ table.sort(attrs)
+ local out = string.format('%s<%s%s', indent or '', escaped_name, table.concat(attrs))
+ for j = 1, i do attrs[j] = nil end
+ if not tree[1] then
+ return out .. '/>'
+ end
+ out = out .. '>'
+ local inner_indent = indent and indent .. ' '
+ local is_string
+ for _, elem in ipairs(tree) do
+ if type(elem) == 'string' then
+ if inner_indent and not is_string then
+ out = out .. inner_indent
+ end
+ out = out .. escape_text(elem)
+ is_string = true
+ else
+ out = out .. write_elem(elem, inner_indent)
+ is_string = nil
+ end
+ end
+ if indent then out = out .. indent end
+ return out .. '</' .. escaped_name .. '>'
+end
+
+return function(element, indent, version)
+ return (version == '11' and '<?xml version="1.1"?>' or '') ..
+ write_elem(element, indent and '\n' or nil)
+end
diff --git a/macros/luatex/latex/luamml/luamml.dtx b/macros/luatex/latex/luamml/luamml.dtx
new file mode 100644
index 0000000000..7815ac58e0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml.dtx
@@ -0,0 +1,531 @@
+% \iffalse meta-comment
+%
+%% Copyright (C) 2020-2024 by Marcel Krueger
+%%
+%% 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.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%
+%<*batch>
+%<*gobble>
+\ifx\jobname\relax\let\documentclass\undefined\fi
+\ifx\documentclass\undefined
+\csname fi\endcsname
+%</gobble>
+\input docstrip.tex
+\keepsilent
+\generate{
+ \file{luamml.sty}{\from{luamml.dtx}{package,luatex}}
+ \file{luamml-pdf.sty}{\from{luamml.dtx}{package,pdftex}}
+}
+\endbatchfile
+%</batch>
+%<*gobble>
+\fi
+\expandafter\ifx\csname @currname\endcsname\empty
+\csname fi\endcsname
+%</gobble>
+%<*driver>
+\documentclass{l3doc}
+\usepackage{luamml}
+\usepackage{csquotes,luacolor}
+\MakeShortVerb{\|}
+\RecordChanges
+\begin{document}
+\tracingmathml2
+\DocInput{luamml.dtx}
+\PrintIndex
+\PrintChanges
+\end{document}
+%</driver>
+%<*gobble>
+\fi
+%</gobble>
+% \fi
+%
+% \GetFileInfo{luamml.sty}
+% \title{The \pkg{luamml} package%
+% \thanks{This document corresponds to \pkg{luamml}~\fileversion, dated~\filedate.}%
+% }
+% \author{Marcel Krüger}
+%
+% \maketitle
+%
+% \begin{documentation}
+% \section{Use case}
+% When generating output for the web or tagged output, mathematical content should often be represented as MathML.
+% This uses Lua\TeX~callbacks to automatically attempt to convert Lua\TeX~math mode output into MathML.
+%
+% \section{Usage}
+% The \pkg{luamml} package is designed to be used in automated ways by other packages and usually should not be invoked directly by the end user.
+% For experiments, \texttt{luamml-demo} is included which provides easier to use interfaces.
+%
+% Add in your preamble
+% \begin{verbatim}
+% \usepackage[files]{luamml-demo}
+% \end{verbatim}
+% This will trigger the output of individual files for each block of math output containing corresponding MathML.
+%
+% Alternatively
+% \begin{verbatim}
+% \usepackage[l3build]{luamml-demo}
+% \end{verbatim}
+% will generate a single file with a concatenation of all MathML blocks.
+%
+% For automated use, the \pkg{luamml} package can be included directly, followed by enclosing blocks which should generate files with \cmd{luamml_begin_single_file:} and \cmd{luamml_end_single_file:}.
+% The filename can be set with \cmd{luamml_set_filename:n}.
+%
+% \section{Improving MathML conversion}
+% When using constructs which do not automatically get converted in acceptable form, conversion hints can be provided with \cmd{luamml_annotate:en}.
+% This allows to provide a replacement MathML structure in Lua table form, for example
+% \begin{verbatim}
+% \luamml_annotate:en {
+% nucleus = true,
+% core = {[0] = 'mi', 'TeX'},
+% }{
+% \hbox{\TeX}
+% }
+% \end{verbatim}
+% produces a |<mi>TeX</mi>| element in the output instead of trying to import \TeX~as a mathematical expression.
+% The table structure is explained in an appendix.
+%
+% \section{Features \& Limitations}
+% Currently all mathematical expressions which purely contain Unicode encoded math mode material without embedded non-math should get converted successfully.
+% Usage with non-Unicode math (\TeX's 8-bit math fonts) is highly experimental and undocumented.
+% Any attempt to build complicated structures by embedding arbitrary \TeX\ code in the middle of math mode needs to have a MathML replacement specified.
+% We try to automate more cases in the future.
+%
+% \appendix
+% \input{luamml-algorithm}
+% \end{documentation}
+%
+% \begin{implementation}
+% \section{Package Implementation}
+% \subsection{Initialization}
+% \iffalse
+%<*package>
+% \fi
+% \begin{macrocode}
+%<@@=luamml>
+%<*luatex>
+\ProvidesExplPackage {luamml} {2024-08-14} {0.1.0}
+ {Automatically generate presentational MathML from LuaTeX math expressions}
+%</luatex>
+%<*pdftex>
+\ProvidesExplPackage {luamml-pdf} {2024-08-14} {0.1.0}
+ {MathML generation for L̶u̶a̶pdfLaTeX}
+%</pdftex>
+% \end{macrocode}
+%
+% \subsection{Initialization}
+% These variable have to appear before the Lua module is loaded and will be used to
+% communicate information to the callback.
+%
+% Here \cs{tracingmathml} does not use a expl3 name since it is not intended for
+% programming use but only as a debugging helper for the user.
+% The other variables are internal, but we provide public interfaces for setting
+% them later.
+% \begin{macrocode}
+\int_new:N \l__luamml_flag_int
+\int_new:N \l__luamml_pretty_int
+%<luatex>\tl_new:N \l__luamml_filename_tl
+\tl_new:N \l__luamml_root_tl
+\tl_set:Nn \l__luamml_root_tl { mrow }
+\tl_new:N \l__luamml_label_tl
+%<pdftex>\int_new:N \g__luamml_formula_id_int
+%<luatex>\int_new:N \tracingmathml
+
+\int_set:Nn \l__luamml_pretty_int { 1 }
+% \end{macrocode}
+%
+% Now we can load the Lua module which defines the callback.
+% Of course until pdf\TeX starts implementing \cs{directlua} this is only
+% done in Lua\TeX.
+% \begin{macrocode}
+%<luatex>\lua_now:n { require'luamml-tex' }
+% \end{macrocode}
+%
+% \subsection{Hook}
+% We also call a hook with arguments at the end of every MathML conversion with the result.
+% Currently only implemented in Lua\TeX{} since it immediately provides the output.
+% \begin{macrocode}
+%<*luatex>
+\hook_new_with_args:nn { luamml / converted } { 1 }
+
+\cs_new_protected:Npn \__luamml_output_hook:n {
+ \hook_use:nnw { luamml / converted } { 1 }
+}
+\__luamml_register_output_hook:N \__luamml_output_hook:n
+%</luatex>
+% \end{macrocode}
+
+%
+% \subsection{Flags}
+% The most important interface is for setting the flag which controls how the
+% formulas should be converted.
+%
+% \begin{macro}{\luamml_flag_process:}
+% Consider the current formula to be a complete, free-standing mathematical
+% expression which should be converted to MathML. Additionally, the formula
+% is also saved in the \texttt{start\_math} node as with
+% \cs{luamml_flag_save:}.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_flag_process: {
+ \tl_set:Nn \l__luamml_label_tl {}
+ \int_set:Nn \l__luamml_flag_int { 3 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\__luamml_maybe_structelem:}
+% A internal helper which can be added to a tag to preserve the external state
+% of the structelem flag.
+% \begin{macrocode}
+\cs_new:Npn \__luamml_maybe_structelem: {
+ (
+ 8 * \int_mod:nn {
+ \int_div_truncate:nn { \l__luamml_flag_int } {8}
+ } {2}
+ ) +
+}
+% \end{macro}
+%
+% \begin{macro}{\__luamml_style_to_num:N}
+% \begin{macrocode}
+\cs_new:Npn \__luamml_style_to_num:N #1 {
+%<luatex> 32 * #1
+%<*pdftex>
+ \token_case_meaning:NnF #1 {
+ \displaystyle {0}
+ \textstyle {32}
+ \scriptstyle {64}
+ \scriptscriptstyle {96}
+ } {
+ \Invalid_mathstyle
+ }
+%</pdftex>
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\luamml_flag_save:n,
+% \luamml_flag_save:nN,
+% \luamml_flag_save:nn,
+% \luamml_flag_save:nNn}
+% Convert the current formula but only save it's representation in the math
+% node without emitting it as a complete formula. This is useful when the
+% expression forms part of a bigger formula and will be intergrated into it's
+% MathML tables later by special code.
+% It optinally accepts three parameters: A label, one math style command
+% (\cs{displaystyle}, \cs{textstyle}, etc.) which is the implicit math style
+% (so the style which the surrounding code expects this style to have) and a
+% name for the root element (defaults to \texttt{mrow}).
+% If the root element name is \texttt{mrow}, it will get suppressed in some
+% cases.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_flag_save:n #1 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 1 }
+}
+\cs_new_protected:Npn \luamml_flag_save:nN #1#2 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 17 + \__luamml_style_to_num:N #2 }
+}
+\cs_new_protected:Npn \luamml_flag_save:nn #1 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 5 }
+ \tl_set:Nn \l__luamml_root_tl
+}
+\cs_new_protected:Npn \luamml_flag_save:nNn #1#2 {
+ \tl_set:Nn \l__luamml_label_tl {#1}
+ \int_set:Nn \l__luamml_flag_int { \__luamml_maybe_structelem: 21 + \__luamml_style_to_num:N #2 }
+ \tl_set:Nn \l__luamml_root_tl
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_flag_ignore:}
+% Completely ignore the math mode material.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_flag_ignore: {
+ \int_set:Nn \l__luamml_flag_int { 0 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_flag_structelem:}
+% Like \cs{luamml_flag_process:}, but additionally add PDF structure
+% elements. This only works in Lua\TeX\ and requires that the \pkg{tagpdf} package
+% has been loaded \emph{before} \texttt{luamml}.
+% \begin{macrocode}
+%<*luatex>
+\cs_new_protected:Npn \luamml_flag_structelem: {
+ \tl_set:Nn \l__luamml_label_tl {}
+ \int_set:Nn \l__luamml_flag_int { 11 }
+}
+%</luatex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_set_filename:n}
+% Allows to set a filename to which the generated MathML gets written.
+% Previous content from the file will get overwritten. This includes results
+% written by a previous formula. Therefore this has to be called separately
+% for every formula or it must expand to different values to be useful.
+% The value is fully expanded when the file is written.
+%
+% Only complete formulas get written into files (so formulas where
+% \cs{luamml_flag_process:} or \cs{luamml_flag_structelem:} are in effect).
+%
+% Only implemented in Lua\TeX, in pdf\TeX\ the arguments for \texttt{pdfmml}
+% determine the output location.
+% \begin{macrocode}
+%<*luatex>
+\cs_new_protected:Npn \luamml_set_filename:n {
+ \tl_set:Nn \l__luamml_filename_tl
+}
+%</luatex>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\luamml_begin_single_file:, \luamml_end_single_file:}
+% Everything between these two commands gets written into the same XML file.
+% The filename is expanded when \cs{luamml_begin_single_file:} gets executed.
+%
+% (Implemented in Lua)
+% \end{macro}
+%
+% By default, the flag is set to assume complete formulas.
+% \begin{macrocode}
+\luamml_flag_process:
+% \end{macrocode}
+%
+% \subsection{Annotations}
+% These are implemented very differently depending on the engine, but the interface
+% should be the same.
+% \subsubsection{Lua\TeX}
+% \begin{macrocode}
+%<*luatex>
+% \end{macrocode}
+% \begin{macro}{\luamml_annotate:nen, \luamml_annotate:en}
+% A simple annotation scheme: The first argument is the number of top level
+% noads to be annotated, the second parameter the annotation and the third
+% parameter the actual list of math tokens. The first argument can be omitted to
+% let Lua\TeX determine the number itself.
+%
+% Passing the first parameter explicitly is useful for any annotations which
+% should be compatible with fututre pdf\TeX versions of this functionality.
+% \begin{macrocode}
+\cs_new_protected:Npn \luamml_annotate:nen #1#2#3 {
+ \__luamml_annotate_begin:
+ #3
+ \__luamml_annotate_end:we \tex_numexpr:D #1 \scan_stop: {#2}
+}
+
+\cs_new_protected:Npn \luamml_annotate:en #1#2 {
+ \__luamml_annotate_begin:
+ #2
+ \__luamml_annotate_end:e {#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</luatex>
+% \end{macrocode}
+
+% \subsubsection{pdf\TeX}
+% \begin{macrocode}
+%<*pdftex>
+% \end{macrocode}
+% \begin{macro}{\__luamml_pdf_showlists:}
+% Here and in many other locations the \pdfTeX{} implementation is based on \cs{showlists},
+% so we define a internal wrapper which sets all relevant parameters.
+% \begin{macrocode}
+\cs_if_exist:NTF \showstream {
+ \iow_new:N \l__luamml_pdf_stream
+ \iow_open:Nn \l__luamml_pdf_stream { \jobname .tml }
+ \cs_new_protected:Npn \__luamml_pdf_showlists: {
+ \group_begin:
+ \int_set:Nn \tex_showboxdepth:D { \c_max_int }
+ \int_set:Nn \tex_showboxbreadth:D { \c_max_int }
+ \showstream = \l__luamml_pdf_stream
+ \tex_showlists:D
+ \group_end:
+ }
+} {
+ \cs_set_eq:NN \l__luamml_pdf_stream \c_log_iow
+ \cs_set_eq:NN \__luamml_pdf_set_showstream: \scan_stop:
+ \cs_new_protected:Npn \__luamml_pdf_showlists: {
+ \group_begin:
+ \int_set:Nn \l_tmpa_int { \tex_interactionmode:D }
+ \int_set:Nn \tex_interactionmode:D { 0 }
+ \int_set:Nn \tex_showboxdepth:D { \c_max_int }
+ \int_set:Nn \tex_showboxbreadth:D { \c_max_int }
+ \tex_showlists:D
+ \int_set:Nn \tex_interactionmode:D { \l_tmpa_int }
+ \group_end:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\luamml_annotate:nen, \luamml_annotate:en}
+% Now we can define the annotation commands for pdf\TeX.
+% \begin{macrocode}
+\cs_generate_variant:Nn \tl_to_str:n { e }
+\int_new:N \g__luamml_annotation_id_int
+\cs_new_protected:Npn \luamml_annotate:nen #1#2#3 {
+ \int_gincr:N \g__luamml_annotation_id_int
+ \iow_shipout_x:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK_REF:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ }
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ count = \int_eval:n {#1},
+ #2
+ \iow_newline:
+ LUAMML_MARK_END
+ }
+ #3
+}
+\cs_new_protected:Npn \luamml_annotate:en #1#2 {
+ \int_gincr:N \g__luamml_annotation_id_int
+ \iow_shipout_x:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK_REF:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ }
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_MARK:
+ \int_use:N \g__luamml_annotation_id_int
+ :
+ count = data.count[\int_use:N \g__luamml_annotation_id_int],
+ #1
+ \iow_newline:
+ LUAMML_MARK_END
+ }
+ \use:x {
+ \iow_now:Nn \l__luamml_pdf_stream {
+ LUAMML_COUNT:
+ \int_use:N \g__luamml_annotation_id_int
+ }
+ \__luamml_pdf_showlists:
+ \exp_not:n {#2}
+ \iow_now:Nn \l__luamml_pdf_stream {
+ LUAMML_COUNT_END:
+ \int_use:N \g__luamml_annotation_id_int
+ }
+ \__luamml_pdf_showlists:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</pdftex>
+% \end{macrocode}
+%
+% \subsection{Trigger for specific formula}
+% This only applies for pdf\TeX\ since in Lua\TeX\ everything is controlled by the callback,
+% but for compatibility the function is defined anyway.
+%
+% \begin{macro}{\luamml_pdf_write:}
+% We could accept parameters for the flag and tag here, but for compatibility
+% with Lua\TeX they are passed in macros instead.
+% \begin{macrocode}
+%<*pdftex>
+\cs_new_protected:Npn \luamml_pdf_write: {
+ \int_gincr:N \g__luamml_formula_id_int
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_FORMULA_BEGIN:
+ \int_use:N \g__luamml_formula_id_int
+ :
+ \int_use:N \l__luamml_flag_int
+ :
+ \l__luamml_root_tl
+ :
+ \l__luamml_label_tl
+ }
+ \__luamml_pdf_showlists:
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_FORMULA_END
+ }
+}
+%</pdftex>
+%<luatex>\cs_new_eq:NN \luamml_pdf_write: \scan_stop:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% \subsection{Further helpers}
+%
+% \begin{macro}{\RegisterFamilyMapping}
+% The Lua version of this is defined in the Lua module.
+% \begin{macrocode}
+%<*pdftex>
+\NewDocumentCommand \RegisterFamilyMapping {m m} {
+ \iow_now:Nx \l__luamml_pdf_stream {
+ LUAMML_INSTRUCTION:REGISTER_MAPPING: \int_use:N #1 : #2
+ }
+}
+%</pdftex>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Patching}
+% For some packages, we ship with patches to make them more compatible and to
+% demonstrate how other code can be patched to work with \texttt{luamml}.
+%
+% These are either loaded directly if the packages are loaded or delayed using
+% \LaTeX's hook system otherwise.
+% \begin{macro}{\__luamml_patch_package:nn, \__luamml_patch_package:n}
+% For this, we use two helpers: First a wrapper which runs arbitrary code either
+% now (if the package is already loaded) or as soon as the package loads, second
+% an application of the first one to load packages following \texttt{luamml}'s
+% naming scheme for these patch packages.
+% \begin{macrocode}
+\cs_new_protected:Npn \__luamml_patch_package:nn #1 #2 {
+ \@ifpackageloaded {#1} {#2} {
+ \hook_gput_code:nnn {package/#1/after} {luamml} {#2}
+ }
+}
+\cs_new_protected:Npn \__luamml_patch_package:n #1 {
+ \__luamml_patch_package:nn {#1} {
+ \RequirePackage { luamml-patches-#1 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We currently provide minimal patching for the kernel, \pkg{amsmath} and \pkg{array}.
+% Currently only the kernel code supports pdf\TeX, but it's planned to extend this.
+% \begin{macrocode}
+\RequirePackage { luamml-patches-kernel }
+%<*luatex>
+\__luamml_patch_package:n {amstext}
+\__luamml_patch_package:n {amsmath}
+\__luamml_patch_package:n {array}
+%</luatex>
+% \end{macrocode}
+
+% \iffalse
+%</package>
+% \fi
+% \end{implementation}
+% \Finale
diff --git a/macros/luatex/latex/luamml/luamml.pdf b/macros/luatex/latex/luamml/luamml.pdf
new file mode 100644
index 0000000000..18061ce3c0
--- /dev/null
+++ b/macros/luatex/latex/luamml/luamml.pdf
Binary files differ
diff --git a/macros/luatex/latex/luamml/test-mathml-2.txt b/macros/luatex/latex/luamml/test-mathml-2.txt
new file mode 100644
index 0000000000..c8116c78c0
--- /dev/null
+++ b/macros/luatex/latex/luamml/test-mathml-2.txt
@@ -0,0 +1,8 @@
+<math xmlns:tex="http://typesetting.eu/2021/LuaMathML" xmlns="http://www.w3.org/1998/Math/MathML">
+ <mo lspace="0" rspace="0.167em" tex:class="opnolimits">
+ sin
+ </mo>
+ <mi>
+ ð‘¥
+ </mi>
+</math>
diff --git a/macros/luatex/latex/piton/piton-french.pdf b/macros/luatex/latex/piton/piton-french.pdf
index 8ad40b754c..01ebbefd71 100644
--- a/macros/luatex/latex/piton/piton-french.pdf
+++ b/macros/luatex/latex/piton/piton-french.pdf
@@ -277,1223 +277,1206 @@ endobj
<< /S /GoTo /D (subsection.8.3) >>
endobj
163 0 obj
-(\376\377\000N\000o\000t\000e\000s\000\040\000d\000a\000n\000s\000\040\000l\000e\000s\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\000U\000n\000\040\000e\000x\000e\000m\000p\000l\000e\000\040\000d\000e\000\040\000r\000\351\000g\000l\000a\000g\000e\000\040\000d\000e\000s\000\040\000s\000t\000y\000l\000e\000s)
endobj
164 0 obj
-<< /S /GoTo /D (subsection.8.4) >>
+<< /S /GoTo /D (section.9) >>
endobj
167 0 obj
-(\376\377\000U\000n\000\040\000e\000x\000e\000m\000p\000l\000e\000\040\000d\000e\000\040\000r\000\351\000g\000l\000a\000g\000e\000\040\000d\000e\000s\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
168 0 obj
-<< /S /GoTo /D (section.9) >>
+<< /S /GoTo /D (subsection.9.1) >>
endobj
171 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000a\000v\000e\000c\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000s\000t\000a\000n\000d\000a\000r\000d\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
172 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
+<< /S /GoTo /D (subsection.9.2) >>
endobj
175 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000s\000t\000a\000n\000d\000a\000r\000d\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000p\000y\000t\000h\000o\000n\000r\000e\000p\000l\000\175\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.9.2) >>
+<< /S /GoTo /D (section.10) >>
endobj
179 0 obj
-(\376\377\000U\000t\000i\000l\000i\000s\000a\000t\000i\000o\000n\000\040\000d\000e\000\040\000l\000'\000e\000n\000v\000i\000r\000o\000n\000n\000e\000m\000e\000n\000t\000\040\000\173\000p\000y\000t\000h\000o\000n\000r\000e\000p\000l\000\175\000\040\000d\000e\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\000L\000e\000s\000\040\000s\000t\000y\000l\000e\000s\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000t\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000i\000n\000f\000o\000r\000m\000a\000t\000i\000q\000u\000e\000s)
endobj
180 0 obj
-<< /S /GoTo /D (section.10) >>
+<< /S /GoTo /D (subsection.10.1) >>
endobj
183 0 obj
-(\376\377\000L\000e\000s\000\040\000s\000t\000y\000l\000e\000s\000\040\000p\000o\000u\000r\000\040\000l\000e\000s\000\040\000d\000i\000f\000f\000\351\000r\000e\000n\000t\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000i\000n\000f\000o\000r\000m\000a\000t\000i\000q\000u\000e\000s)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
184 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
+<< /S /GoTo /D (subsection.10.2) >>
endobj
187 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
+<< /S /GoTo /D (subsection.10.3) >>
endobj
191 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000C\000\040\000\050\000e\000t\000\040\000C\000+\000+\000\051)
endobj
192 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
+<< /S /GoTo /D (subsection.10.4) >>
endobj
195 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000C\000\040\000\050\000e\000t\000\040\000C\000+\000+\000\051)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000S\000Q\000L)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
+<< /S /GoTo /D (subsection.10.5) >>
endobj
199 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000\253\000m\000i\000n\000i\000m\000a\000l\000\273)
endobj
200 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
+<< /S /GoTo /D (subsection.10.6) >>
endobj
203 0 obj
-(\376\377\000L\000e\000\040\000l\000a\000n\000g\000a\000g\000e\000\040\000\253\000m\000i\000n\000i\000m\000a\000l\000\273)
+(\376\377\000L\000e\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000d\000\351\000f\000i\000n\000i\000s\000\040\000p\000a\000r\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
endobj
204 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
+<< /S /GoTo /D (section*.1) >>
endobj
207 0 obj
-(\376\377\000L\000e\000s\000\040\000l\000a\000n\000g\000a\000g\000e\000s\000\040\000d\000\351\000f\000i\000n\000i\000s\000\040\000p\000a\000r\000\040\000l\000a\000\040\000c\000o\000m\000m\000a\000n\000d\000e\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
+(\376\377\000I\000n\000d\000e\000x)
endobj
208 0 obj
-<< /S /GoTo /D (section*.1) >>
-endobj
-211 0 obj
-(\376\377\000I\000n\000d\000e\000x)
-
+<< /S /GoTo /D [ 209 0 R /Fit ] >>
endobj
212 0 obj
-<< /S /GoTo /D [ 213 0 R /Fit ] >>
-endobj
-216 0 obj
-<< /Filter /FlateDecode /Length 3586 >>
-stream
-xÚ½\K¯[¹ ÞçWœåEIÔp/Çõ
-'¥¢Ìâ,Õ¥âp)÷‰ök®u!MOÒ÷>–¿ëV.ADç +ø(
-Áé¦ÞÆíFh°L·GÀÀ&¢4+)"zú™G
-îé+ò¼âÃ#,ço•‘´ÃË®˜L›œo%?p]Vã4÷»jz˜4¹žpÁßApS}H/y$Gh¡MJ:ô§Q×è »Ë*Gvhüe?¢ƒçh=}?â³nøŒ3nÇ<‘6kG0¨vŸN21×-U~$£¤!¿ÖP±a´Ð}ñˆ=©
-l«¡McLÐsŸ0´¶ZYL‰…ºô꜆¤e ÿøDrÿhcÎÉ®zQË86¤A„îYe…¼Þ­ÇÏþ­ªip‹1š<›Ï'{ÑYX·Ã PçYU•
-‹iuÍ+ÿäˆf‘õ‘Þ fM1˜ Í? m«°n
-‰•õŠËd
-šÏÓ§‡dª`ÎËó“Š^9Îù@y*;Ë9ۢئšíܺ½ ¹s£Ú ÒÆ}˜ÇPÝQq׺¹îP„”îÆW_åBd‡ÊlîrU}L”8‡SMQíœÆpà{5 …­š!Çüü UŠ4§Wˆ0TF@ÙLØâ ëÛ ÅÝ_\:¨—ˆ4
-ˆTo¶ä–J4^ø'hìPŠùˆÝ+ž²ø=;íÖgÝ)ª’´0÷6’Hgí{ž(u©5 ²Ã2Js¶$Ð
-\Ù£®ÛÇ5Ò
-Ï^l< %ˆ&íÛˆi¤Ý-îþdî½Ç£ ±76çZ©Tdê ÞreçŸAGã1fOüœRÌÄÓ)ê8uE
-S±qð&Œét*Ͷޞ¥G­„V°Z‹\+vp2çLŽ‚ÒŠû§¼´&ÚFŸL£÷òÆ(œ‹'9ÔÒˆW£ LZu=Ãt%]Ù€a£Zqpïá!çzìŒÈÕœ8…
-]TË>àÒÕjƒâ› ÍDØ)ÓYØ!{_sù<Ü©x0s{;„GgÇxn5×êí•È3ÇÑÛØ“DÞi­'`Ïš{^‘|Ÿvk<¯áÎ諦¿óÜ붾|Þlèâ» ¢3í=$­ ø†\_AÓcyh º˜vÍtí3ô”º“tÐ;zZ!±Q¨™Õh–0Oþá0‹ÓñÿÆ…EXÐKq‘ásö’½_ª—Œ+¦t~<Õ*pðËá^ñ“½U'L¿ÕÐ
-»%ðÇ;¨ÍhdUA(ÆýO•V¾/³´Þže…6ã¤ÿ½?\‡F€Õ:êý­õOxtì¤}ù)iñ7l0 §è?ïV}<Ü/¨ ¬öl´Z«Í {ÿÓ×Ck¿âÔñ’mŒrã¬úP´€c]t+ëŽoìpq‡áÜý¸PÞêË!Óéè35D 3åûãÓRDxµæÙv`¹ Ab¹êØÆöWr'Dðæmr§‘vËýôéb·!ÑHi;H9:‰Tž?%÷*eÜ´~=[}5S›¹=•{Õ¼mœ»SöU© ÓFTÓɪƵzÍ9]“dÖ›^™ìò@yØ8»óÿ¢M5Û¼î#‡Œ”¡M4dÏN`}ÄÓ+8ô_ÌŽ§Ù)Þæ¼fïÐe.¤ §-þÍ<€d?òcã¾Ì×;xNMLYïH¿æš¯eÌ5žv³£;Êj§Ñî)sÍGÚ:%;Y3Lû~7íä`ÒÙNv«¤H0‰åTŠ®,&p«u®ÏØTÌÝÞƒ¶ÕÛH“êÙgNÕ0µÎ8e¡­Îx ÕÆ¡¯ÀYybfŽIÌ<ºö}''Ö£¯À¾’.®8 ßd¢X³…hÞÆF”¶geŠøÖ¾¬‚û6 ‚rgmq yÞ±Ñ)êÉä9?(£™ÖzÂ9Ñ÷úDK{ŠJRñžöÞã¬ä‰{ ‰_ô´:ºõ£Ü¦óW9÷Éò5z”œÚQ¾£¯^;ÌjqgÓìãÐÁåKj×yè7'šzïë¸:ê–qê‚¥.g$0Hzç^éJ›5ÒÖ;Íwû`‚Ï—¨f9îz?asΡ­z^¿µ¢mN¢1¬&š+ÿ½½v5Ý{
-î%Ö!h >ý\©YÛÊ eÀÙ¹99?qü*O~r㈞çñNsž¨±w>›_R)?ëÒ¥0˱ÝÉMxÌ&£ŸE`èn,”/Ö¦yÖ`•±îÎ#ô¡!
+<< /Filter /FlateDecode /Length 3593 >>
+stream
+xÚ½\Ic¹ ¾÷¯xÇi­–D­€S@»0·dú6™S‚ä’9$—äç‡Z(QzK=W»æ`”ý,Q—¤L•\þ¹ÈåDzþ½~ûðù®ü¢¼Ðʳ|ûÇ…ßÈE-Z)¡¬[¼ŠøeX¾ý¶ür‘Òx©îNJÐRz#¥‹å½¹áûô_V¥Ï/Ÿ@ê2Cª¯ømxñáRgÂ˯ß~J‹‡ÍÅÁx!½ž·¦,­‹T2qAv£µ¸N&¡Š¶Â8KT®×<«mÔyQ-HT€v4
+p“6à&´K+Ëö—²\5¿O\$nàÚŸyW92z“# NàÄÅy'À·/›+ägÒ‰¬”7ìu“þê{D~…BÇÉc¡hg„÷È‚Õ":Ýd›äz¥ý&âHTÃ=1CO²ãcù ±.cåƒ0¬â£
+²XÔc^>éx)ƒ Q¬Q]Šë®=Éc˜˜0|;ºe•©kå÷º¹" Õ›«–ÉuÒúkS¥›U•¥u²sWFíµp4ÎT__tr}/_2íô­N¶%ç9tºÍ.ÿ&oi„ö~±ÝÉ
+­ü7t É:¹K¥,×3Ò70H˜?±P´_²=Tœ€E&Ac÷ðgÈ‹ŽÂIÓ1óåN——B*‰“À­
+3à ƒF”¶KL8ìÌz9°oŠ½u+f‹¶-|Ð3õýàºÉ¡² –ÕLeOíY.rÓoŸHäøyN5M6«ÐËê¢v%Ì㻂I"vq"zvÈ0Að6,h:B0õI
+©–H§o}f:kF“Ÿÿfζ¿âœZ-ltó:`›“¬-z;Ìõ"èÕÜtšîãö®p¤kÅ|­;ÑU·¦pß?òU="›ZÑ ªßí¬¢Ð˜£Ï¼º¶úd:]GEnýÕ- ±Øl (FiA`¤moý•â"Už-Ç¥Z×¾D ;Ôd~c÷ʈgç-~ÏR»ýYwÊ…ª,mL¾“,GÚÙ<ϘºÜš ÙÑå;[2hµ®ìÑ×mŒã:i5h¯:“–ÂZó>riw›{„?‰õb<Ôãã!…øi›ó0­”Þê-îr•çŸ’H'.ã1vÏÁTÌË£\ÍÝÃS£…¼l½‰h‹>Ç~/òG¯·jS+¡1íš×"‹¥Ì9Ë£ø´âþ)±¯Ä¯‰¶‘;±«¤*Óè}¤|‡1
+çâIµ4"ÄÕè‚׃V]O6]É\öðC'܈jÅÁ½Ç‰œö±3#WÓãs(†Qmû€_W« F¸Þs&ÚÀNÎbÙûšËçaOE„™ÛÛ!"¬8:ƒ=Æ p«¹Vo¯Dž9ŽÞƯ…‡ß {¦µž€=kîyqò}Ú­ñ¼†;£¯š Ïs¯ÛúòAx³¡‹gì"€ˆ>Ì´÷´æâr}Må¡1îbö5ÓµÏÐSj^ÒAïèi…ÄF¡fV£Yæ<ù‡ÃƇüCaA/ÅE†ÏÙKö~-¨^2®˜òúñ«thÀÁ¯‰w~–ÅOúV0ýzC+ìVßï 6£‘U¡÷?üUZù±ÌÒz{–ÚŒ“þ÷ñpV먟´Ö?üáãÑ”öåÇ¥IÄoØ.`@OÑÞ­ú|¸_P˜ jÿȆA¡µÚÜ°÷?üñx=´vð+>A/‰ÑÆ(7Îú¬E é·¥èVÖ»ÑvpÈ0†,mWÊ[}9d:„j˜ P~<>;E„WkžÝa[†Q€UMnX„¸í¯¤N&`z ï“:´[ê§O—¼ ˆFJÛé‚op'á‘Šô§¤^¥›Ö¯‡c벯&j3·§R¯š¶swʾ*ôÙ¨ôï“TkõÖšsº&ɬ96î{¸£m¤[Ž:^qöÈ$¥p ÙÓXõÏqžrN|ö(µÒ"ZÚ'ÞÍGH#?6îû É|½ƒçÍ”ôk2úZJ]“äi7;º£´wíž’R×$y¤­S±“VÓaÁ´ïgpÓŽ&í¤¿*õ®Är*‡W3¼Õ:×gìŽ2f‰nïA[ŒKê}¤I…Êì3§ŠœZˆœ²ÐVˆ¼ƒ…j“Zà¬<1uÇ,g]›Š¾“ëÑWà_I_†‚7™(u!š÷±QÄ¥íY™"þ€µïc£‹ˆàÞf£DPî¬"n!Ï;6:E=©ø%“÷Íy¦µžp´Á½>Ñ ¯¼ÇŠÒ±^øÞ­ä‰ ‰_ô´:ºõ¯Ü¦Z97×ò5zË”œÚW¾£_;Ì{Ÿ¦>Øô¡ƒË—Ü&*®óЯ\4 ôf;Ö¢uÔf,ãÔ8 J]ÎH`"ôV¿ÒÆ6k¤­9¶§ïvÍŸ¯_Í6rÜ*ÂæœXÂó
+¯µms%2°šh®ü·ùÚu?nT1ÿš5QÚìS¡FÂè(V«‡Kô¤±ÕÜ "ëV³p9yÅ3Ó¨!c×ÀÑåÓaÐÄ磮Ah³¦âˆ‹|Z—ßݯÔÙÚwY ª5²µÛ\4¢õÑ•ÑiJi*èKÔó+Ö>6·
+îúŽU¼ÐRKf¾µâ{.0üêj¬²¸nasš)9c5G´VR¹e@˜‹ãyAÐuè lºí`”µìò&¿ñŠWù%´ÃÑë|I¤7¦Öý”'×ÇúÕ’Öø¯›ƒüéۇϛ”!düí·¿üŠÏÿŽ¯ŸRÔaùoùˆN¥yÿZ~þðçrAs‹i[º ÄÌKëRÕù¦òx·'é±ÈK$Æá„Çœ
+Yù]kæΟøåLþSewõ¬ï/妱Õ|n…”zE6lm=E¹Ç­ï"À¶ôt@tµ“ôn¯í+ñÖ[øùS×掛SMW>”÷årô
+~í%–!h
+>ZÞú•š»m¾8ÝBûÎÎÍÌù‰ã×ò“s7ãô<w¦ó<¸óÙüZKùÙ—.’YíNnªÄc2ý,C·yx\¡t±6Ù³N¬ uw í
endstream
endobj
-213 0 obj
-<< /Type /Page /Contents 216 0 R /Resources 215 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 241 0 R >>
+209 0 obj
+<< /Type /Page /Contents 212 0 R /Resources 211 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 237 0 R >>
endobj
-241 0 obj
-[ 214 0 R ]
+237 0 obj
+[ 210 0 R ]
endobj
-214 0 obj
+210 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 222.163 76.495 393.939 87.952 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
-217 0 obj
-<< /D [ 213 0 R /XYZ 78.37 808.885 null ] >>
+213 0 obj
+<< /D [ 209 0 R /XYZ 78.37 808.885 null ] >>
endobj
-218 0 obj
-<< /D [ 213 0 R /XYZ 79.37 771.024 null ] >>
+214 0 obj
+<< /D [ 209 0 R /XYZ 79.37 771.024 null ] >>
endobj
5 0 obj
-<< /D [ 213 0 R /XYZ 79.37 545.899 null ] >>
+<< /D [ 209 0 R /XYZ 79.37 545.797 null ] >>
endobj
-215 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F17 219 0 R /F18 220 0 R /F19 221 0 R /F42 222 0 R /F50 223 0 R /F49 224 0 R /F51 225 0 R /F53 226 0 R /F15 227 0 R /F54 228 0 R /F55 229 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F31 233 0 R /F22 234 0 R /F33 235 0 R /F32 236 0 R /F48 237 0 R /F60 238 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+211 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F17 215 0 R /F18 216 0 R /F19 217 0 R /F42 218 0 R /F50 219 0 R /F49 220 0 R /F51 221 0 R /F53 222 0 R /F15 223 0 R /F54 224 0 R /F55 225 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R /F31 229 0 R /F22 230 0 R /F33 231 0 R /F32 232 0 R /F48 233 0 R /F60 234 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-248 0 obj
-<< /Filter /FlateDecode /Length 3540 >>
-stream
-xÚµ\K“#· ¾Ï¯ÐX†ïGÕÔTF+Wù–do.Ÿœ8—ì!¾äï d³[­Éú°©›A><dyù×E^~z¹~{ùËÝ™‹²ÂX¯/ß~QðB^Ô%$aÂ%¸(lP—oß/¿¼Jé¯o_””>ZøkoðHÿ$¥ú€ï±üÃÏøÌÂ;—ǽýúígXJ¹KÉkoKi/”K´” Rݽ”h[èágZsCÛÙme”0ÑÎÔ-ê •³"é ä§ìÿí‹Öžèk¥‡-<Ňø
-¨bqTìšêk“Sˆ¶§²ªîªŠßµ©*>1¢3Ýpç|±WZ•Ý¾W©¹yn¹
-TQ.0ì`‡›ŽOâÔ#_t„Šæ‡c`#Hg¢þ4¼à7T€—Æ#aakIU÷$‹ÊIÚZT
-wÍ32-¼aq¬%u*^vßÜ
-«ÜˆÈk›CêèjQŽ„‰ìuº€ÅÈL3 ¨Ùái²õÛ^Øe*Cصƒ¢.èy×Oc#1Ðœ‰%é,³Ë Wè|g«sœÑ¨‘(³š]™˜õ,Òš’ v#´1€“šØU
-Lº+É$ºakgÎ\rLØÌh1ìÙyxB~ÒUŒÈ5ƒx{]&Ï:{¦þKÀƒãþžÆƒI ³%RUÖöMwOR6ÚØ-ž¬‰ðF¾¥ŒË€°ú·2¾!™<^_û%r×öÌþÊ`Æ¢Ö{¸n+:YLF>¸ª}ý­‡ñî½\p=‚>%!Fg
-·¾ÝüÖÊñòvª_!Ó ÖË3w)ã¶q5a:ÚG½m‡ù&§D—8J*çäìGuõºÜÄ9ÿDH˜$Fù„X ÁûfÑ*\}eÞ±ÆÝe£(`LXU!|m‚wÑ®.º×ôP#¯ê5?
-"Y5óž¯ã•_ÇcݳA,ˆ<Ξi¯r…f1ó™å#,¿¡±ru&áÝÆAeݸÉDÅá=G)‘€N½õáu†‹Usâ>ÂÌ:äh+*n°¢š VcÏßøè]7‹  å`+‹a°yžo©9*d[OY?šŒÈ»©ka«Eƒ<+R•öÆ¥^£Ø(ÅH¾ÅÕ{0«"¿sÒŸ_¦þfÌÑ5JÅf/F>qå@ç!jŸøÔ”BøºF©øüØ«–1½òö VV0òÌÅúÖ8 ¶1:[S80ó‘´ä6†ie\ƒƒ>¼öªs™Uúš^U,¯Ì{ÿÊŠa™
-#)r°È&RìKœ£Ô¼©Ü‘6‘醛­?îÆŸ‚Wq´¶OudÏ”VHJn·Ê°*MS=ŠHNÞDŠ^û÷œ+µY5Çæ阄PjCmìÃØÖ°>Y ‡¯ÂK¿á}§fC?’£<WÖ'ßüAšÝX¼¼j^mŠ§jw…rJéÝ6¯Îml=þ>þûÓË×o/ÿam3Q¸€mÖˆxâå·ï/øL ØEtJÅËÿ¼üþòWxÁ~b¸£> ª9rþeG˜­í–k],Ê°¬Ò÷qÐÔYFé];´ì¾2j(ÐêM½7õûÆܽU]×Ù¹>²“V»&.¿Ê2¯O×ÝND×aÙΡ è cboîq,œZ#NŸñ¹·ÞÕVR_ó÷KFSó¡.«±-ÜUAÚ€v‡x¬‚ÅF‘%7*©­xV[GpïS#—9Fü ‘-Ó—¸Ó¤·9‘õo±zÀ¥°ðÏ_þÀëD_þ–wdÖurì/µ›u® Ýr;w#+ìŠö~¦âëló(ä©~Žx´hÓfîVJ'ýw¥QxçÙ£<;'OËÇ€ßPß9—S’J>cî¤ZX¢y=ÿÍÒ[¿bÒ´Òç΂Yšr)= F8†Íè‡? ¨·
-X˜ˆ±ìÓÜ÷äìô뇎DémŽãäì”ó«í be?oì#[làÚo7™ßkHBv§j†žÄBä£}ªíf¥%²nɺ£w,Ä°ø{¯ëÉ e±ç¤Ùÿ†¡*×ÿ
+244 0 obj
+<< /Filter /FlateDecode /Length 3539 >>
+stream
+xÚµ\ɲc· Ý÷Wèšá<T½êª§§–«¼KÒ;WVIœM¼ˆ7ùý
+ÔåÛo—_Þ¤ô×/Ÿ•”>ZøkoðHÿ$¥ú€ï±üÃÏøÌÂ;—Ç}ùÛ·Ÿa)å.I$¯½Ý,¥½P.ÑR6Hu÷R l¡‡ŸiÍ…¶³;ÚÊ(a¢©;[( Õ'8TΊ¤*ÈOÙÿ—ÏZGx¢¯•þµðâv¿âšpè}ýãn¸]znHò‹¸Ø½°œGI¤Øý¨Ìà n˜×щhãcÀßØ4øS‘ã„–j+’tʱN„§ÙA}B¡¨sv’ʬçì
+Ó„u,RšW48~‰ºn)˜Ó-YE4ú‹¸Þ ¸œZZ¢‰¼ÇÊ{æTÁ\Q¹¾|6ÁÖUË›Sž•NB[½Ð·E޾ʅ¨¡f[_>›¢È§7&Iᔚ©ùÅù·|šÀ­ƒOï‘øöýF×w$·Ì¤§üô¸è 5:õ2çäÔOUdd½›wñÿêjð™´PõH…8F-,ö¥í{2ãÎâ‰ès3§:ŸA­iùŒ,ËMIUö•¥ZÎxÒG©Ao"—ŽEãF:Ó©V3Må!{‰=ͧ~+'^Æ¥f;ÛVRß@e­€§º8¸¼õíh’o•´,úX Ä.÷Êa•ÍAùƚ΋knÒ£$cB•ì^L“;x(>Ž4^¾Ù‘¾.Kœš®èEB9+¹[t½6oàT¥2`~ý¢q£@@Zèd˜£/Õ aÀµš
+“¢ç7|…»6çV„Kâ³×®+$Î2„œA…ÕÇàe0 {PfSÄæ¼*´ÂÆ…
+¨bqTìšêk“Sˆ¶§²ªîªŠßµ©*>1¢3Ýpç|±WZ•Ý¾W©¹yn¹
+TQn0ì`‡›Ž/âÔ3_t„Šæ‡c`#Hg¢þ2¼à*ÀKã‘°°µ¤ªG’Eå$m-*…»æ™^°¹Ö’:/{lî 
+€ªíØ*ESÎÏQ:á´ž©èÛ9ZTJx™æY¸Ó,‡ð:΋°l†Y„CV‚Vâ</ˆÑ/³¡e
+=¨Öu—ÿ^P¬ÓÍ8ê÷*t´Üú3‚ÍûšëÓABeÃXa•ñ
+»Ì@e»°CTÂ=ïúEcl$š3‘¢$evôluŽ35eV³+³žEZSÄn„ƒ6PbR»JIw%™Ä@7lí™3—63Z {vžŸt#rMà Þ^7‚ɳž=Sÿ%àÁq/ãÁ¤…Y‰T•µ}ÓÝ“”6v‹'k"¼‘o)ã2 ¬þ­ŒoH&××~‰Üµ=Ec#³¿2˜±¨†õÞ®ÛŠN“‘®j_ëa¼{/\ OIˆ„Ñ€1úÍ'½·Ëåšk`×âmàH½p†™Õ…„ ¹¨Ì
+•' ëEbh²ÆƒJç^+‚óñ3£“·H£xlÇÚˆÛî×™=+¡YvŒVwh›Opù‚‰nLuhxvIÁ#GʧvH£ ¼Ù]›
+õmQ¸õíæ·VŽ—·SÍøò ™.X/Ï<D¤ŒÛÆÕ„éhõ¶æ›œ\â(©œ“³ÕÕërçü!a’!ä'Ü0ÀjÞ—E«põ•yÇw—¢€1aU…ðµ Þ Gº»è\ÐCB¼ª×ü
+áë¥âós¯ZÆôÊÛƒXY ÀÈ3û[ã$ØÆèlM}àÀÌGÒ’Û¦•q úðÖ«ÎeVé hzUI°H ¼1?îý+†e<rëÕSbl\>Â䶥9¬ÊsËÇQŽ—jÜ3&¢8§÷‰EB$®Zj"[²ÓÀ)Éæý‘Ã𑽩‡éDM±ŸúZtz>ãýl~ß`¥ÇØ9¿Ïšø(¿?·Ñ0 0ªµ‡üÁÅOÌf¥¤~xñSg¨7Q¹øéavš©Ì ÷G5â{†:ÛØû,6;µvÁ‚}‰3¯Ï7v•xbgÄÛàœ[d½³p:HgÜ$Y+LÙΨDaŠCÕò-PNU%dî¾ ˜"1êƒ`¥Jߣ½GÁDÆ«yGH±¥3j©g+t…8!uš©Ù^¯Ü7Ë«éÉýJ–®Iç UŽ:QŠ”\gÉÒ"ËïI–VÎ(Q?òÙÞ•Ñüäɘ4ÈEˆôãÆHò?i‡l‚äPϧ 4’&…&aÞ~ `‚±!eâõÕ@ÓHa¥{vÇ}'?HÃÒ “j^ÿ;5ÜX)TZdò–Îx½•Ë‹–nÝGm±;·v"©—}¤Tƒê©5èK´låoëÜ:jµÔÖ e÷6C‹àоÒе –&µÏa¨aàó³ZE¡lL<¿ªéÑ̲óqOÇ À8ÂO¶±Î¹w¼77û”÷Ï¥fï$d¥lf8äçÆ’úæʽÚÐ(4鋱BEÍ{ñiG÷ëTª¯AèsH&ˆ¤ô‚${ݦ]ù´ ÆG¶”PûF¸3°´
+Çö{ŒÊi¾Ç±7…ã×–ÀŠbÅRÔg{þ^pá/V–O@ïŸô õ—á/\î¤f*­Õ¦*S«Áâa¦0Wéõª~ùÀÒbòdo7 Þúêô'7­0’"‹l"žtÀé4JÍ›Ê-i‰Ln´þ¼|
+^ÅQÐÚ¾|dÔ‘=SÚ!)¸Ý*ê4Mõ("yò&RôrÚ¿ç4X©eÕs˜—c@B©…Ú؇±Ö°¾³@_…—~áý fC?’£<WÖ'ßüAšÝX¼¼j^mŠ§jw…rJé7Ý6¯žÛ<Øzü} ü÷§O_¿}úk›‰Âl³FÄ/ÿí¾
+´z©÷¦¾qߘ»·ªë>;×GvÒêÐÄåWÙAæõéºÛ‰è2lÛ9”tLìÍ=Ž…Bk„Àé3¾3÷Ö»ÚJê»bþqÉhj>”Âe5v …‡*HÐNøÏU°Ø(²ä&P%µÏjëîcjä2Lj4²eúwšô6Ç!²þ-V¸þùËïxèË_òŽÌ¾NŽý¥vÙQçºÐ-·ó0²Â®hïg*¾Î1BžêGàˆG‹6-sW) œôß•Fámœgò으,|¡~p.OI*ùŒ¹Iµ<°Dó zþ›¥·Ťi¥Ï³4åVzŒp Ëè‡? ¨·
endstream
endobj
-247 0 obj
-<< /Type /Page /Contents 248 0 R /Resources 246 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 252 0 R >>
+243 0 obj
+<< /Type /Page /Contents 244 0 R /Resources 242 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 248 0 R >>
endobj
-252 0 obj
-[ 243 0 R 242 0 R ]
+248 0 obj
+[ 239 0 R 238 0 R ]
endobj
-243 0 obj
+239 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 490.557 488.192 497.531 500.147 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-242 0 obj
+238 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.563 75.592 369.02 87.049 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
-249 0 obj
-<< /D [ 247 0 R /XYZ 78.37 808.885 null ] >>
+245 0 obj
+<< /D [ 243 0 R /XYZ 78.37 808.885 null ] >>
endobj
9 0 obj
-<< /D [ 247 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 771.024 null ] >>
endobj
13 0 obj
-<< /D [ 247 0 R /XYZ 79.37 650.318 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 650.318 null ] >>
endobj
17 0 obj
-<< /D [ 247 0 R /XYZ 79.37 566.415 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 566.415 null ] >>
endobj
21 0 obj
-<< /D [ 247 0 R /XYZ 79.37 317.43 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 317.43 null ] >>
endobj
25 0 obj
-<< /D [ 247 0 R /XYZ 79.37 214.75 null ] >>
+<< /D [ 243 0 R /XYZ 79.37 214.75 null ] >>
endobj
-246 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F67 250 0 R /F55 229 0 R /F16 251 0 R /F63 231 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+242 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F67 246 0 R /F55 225 0 R /F16 247 0 R /F63 227 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-257 0 obj
-<< /Filter /FlateDecode /Length 4386 >>
-stream
-xÚÅÉn$·õ®¯è0CòqÔjõ
-N•·²aâºì®TÙ¢RË·[yÑ2xbÑ´à‹.é– Ý CØEÝòNÞ%.‰ZãV}FPœanäˆéε秲[E©÷IO¥Ýܳ“_*öÒö¤rV¡­Ò‘V“@Ñ*›¼÷ÇìAèiÁ)—¥O„œ`˜’¼ª¤[=Q!»§€$Œù/  øš`R3áu!XïÀséภ2ô4õ×Ñm3ð*ë›ÕØp¿ •òv<`¸¦ÂHý!¡Îx«”3D–Èl‘+›À›
-Ý‹ËZ~m3
-=šbRlRéJU‰¼ pqº Ä`_èø6’:¡2–½'ã-szé<EÒü0éŒcÊ8ÜI1£d!º;J¹H;ñíŒÇåTx¤ÝŠ^*ÿö4ó.˜Æ¿øM:iÉ„Ñãfƒq4™¨„¹mEG-=©t«©î4©*‰:(ç<¯[íô+hKyÍðN©8¾h@«23ó­7pW‘WãÑñoÆ\$GãJb
-×
-IËð
-Dz²>ÇAÍu[fPõ¢g<ìdFšƒÌ„`
-Ɖ'Š79˜+³Üò@LµaNN¨Úî X¯yÛ.<(Ì3’Ú–q/’Ò2#%Ò"þVY «’iÂ6äÝ
-F;|(ÿµ›j/W)†î¦­'™\ÝŠJšªôHÑr !ù)Õ‚j_ð±.O
-bê6q<ÍüÔDWj²vü ýÆ5Á¬ð#xQxÍ;(Œž‡™Ÿ`{Gw­g´å’gq‡k%ŒàB[ü ôº£b:PÒBجL
-ò×æíTÒµ=­ÙbàŽL‰r `†ü~ Ói3Í’û^:1h¶Ô8K¼íïes¨lÜËrTRrœeö²†I.ÝËIí§sí§¹¤³L?¼•‡Ø´3Ì~Њ!šžPxÂìƒ@ÅlÅ¥8ˆ^<ã3[=ÿ£¹§•bèsNK¥ýå°-òÜ"Ë´èC´l:Í ‚þš¬tl°ÒÑûßHu‹àý+¤¼bÜÊ3©îš‘{Ëü=ûà²)KºðUù¦ßŠÏÍUoSš¼Å#ax?Bt¼+ÞË+†’Àeü
- ·~þÚu iãþ Öi
-Œ¿-L£+$·82î]~ÐÝP¼™ð_ð•pÕíL©:QU…ö ‹[¶Òhˆb×Ë-Wi_Ë(šÑkŽr¹W±ujñ•>ÖOôFÈ™ÂÉžü#y ¬#ÕÌÃ)ÛIúxw«€ô%X®9寄X`qŽãÜqk¦ö!¾‘ÓÌÅ Š‡Q£P%
-?1À±Î I¡G¢QMxj+|LÌÂãÞ0­Ÿ“":¬U¾vsÑŽ7Ávý ¸¬ˆÏ4 k'F>› YY^ˆÑ·æ”*–YÄtðSƒÑ %(‘´{•ØÛ¨—³†`lŸã˜•-3Žtõ
-3ív{Ä÷..Î|ÎÄë‹óñÞsZìœøüz·âN »í'ÅKôÞ­xg|”6öy¤sÚ8Äœ×G7NìˆÔ0®´õ˜L‚¼ë§…³/–ØíV¬ëgãÅvRT,“
-âÌãõ —rˆ)Û.Î?–²J)HîwSøôHñ#y~úÃ:ןE’YÞªHûyäFBòb•üp#a¿ÎG ‡Õì=ÛH¤2<Ô¹×HXûtbSž²Ô^3^Ñïü= ‘è¦3¬úðƪ|åT3¤2{ ŽÊ,z[–Î$Ï3†Ow,çfÉúÚ™Rˆ9}¦•ˆ ô`…PËž…Ú7§ðÝúÕŽ©Vk¦7rÈÖ¨9mNŒw†¾ö8¢oN<|ýŒñzÜ=¶3Æ“È·¼çôE\LÒä®6γ}±«Ç0Ó‹©V±sq¢Ã¹íP;XøŸP¨¥ïé|EÂÀĵÀÅ·Þu¶û¦…P
-€Ý[&‡.Ë„Ú—þ–0¹=ʦ¨Ò-” ã)zß^½ |_0ô2ÕÔ2Ó{_îUÝJÊó5Bç_À³ä¡z|vØlWi¯y$<Zjì¸PÐÒ5œ©ÑGºkznxˆ¼/æsÄ"ü}*ÜJŸŠ©=^©¯/ôtJ8QZçj®pÓýr6¸¶§XÓ:ۅѺÒë.Ábë¹Ðl>­¨ˆì
+253 0 obj
+<< /Filter /FlateDecode /Length 4384 >>
+stream
+xÚÅIn$ÇñÎWô”Î}Ølö
+Æ­¸|û~ùå âúüƒáü çÚqq·œ+ ßoÏÒÃ5Çá;ü†Ë܈x=Ò˜ë8Ö†ç_¿ýøÄYˆ°Àÿ_ŸÞ¾=ý§í/
+L•·ºaæ¶ì ¯ÔØ¢Q+ô[eÑ:xbѼà‹.é¦f†¸‹¾•‚Ï\’´Æ)¬†‚ 4ÃÞÐóëÈOu·†Ò²žÊ»ùg/ >œÊ|©CÜ˨¼'–³m“Ž¼šT­²ËûxÌ„‘sYþ$Ȇ1É›JºµU² HÆXø²Ðš¯ & ÁT‚UñŽ<— j‹OÓ~ÝÝ®
+}yü»ÅÛš"ÞŹZ‰¸‘ùþ!g†7nâ­«Ÿ±[ü¦mQVš /Ö:&¥«¢,% BÃV Ò#¢¬ <PØ."›ÝwåSXÐ"ÒдGV¨Ÿõ@•mÁ+¼jÚmC÷^ôñ“ì¾ÎQ`ÓÀqš±B\4ÂŽr´áØÉ…«“¢,Èâr¸âÌ<´ËA9¿_z ¬=šòRkY5ìûJ11S}+"…Ý¥âÄ*]üa™X;pEÐ{)Æ3aqu(‹vÀrÛt-†¼EÏøÇdþ¥Ég…¾ÊZO‘î1sL‚5M1/aÐ{ÀÑA]i<é„׬ozŒÙâÒ~ç~õUÒ³ :jM<{O-¾ò(d±ÛzLkæ‘AA9lš4Ê”“dž4z©G€/tõ”[¤z_yÐv¹Jõ9E-Œ¿a³ïH‚ÀreW‰5³©È•T,ºdZ0
+x¯ÆO;Þö­…c\†Ï:·–3ŸynewÏm¸K1Ù±˜S”•9Pâåì'ÆÜ /!”U`ü¥üšž_D?\º+hû’Ý}n&RÆ4¥u4ƒhí©Œ]…-ùfi),ËUúh Œ6,Ù„ T;tÀQr6D-À€Š‹b^y: ±Í6‹kæ‚fî“ ¨
+‚á&渽
+Tp˜f‹0pNnü ´š{fÍ´ïG
+
+aIJã¸R¹Ÿêi ¯è*ÍžW˜Oó™‡g>i©NUé­!x³öžïq(Âd÷);+d•‡anRŽ¸¶¤¼( ‰ºÞ)…Ìå\mFÚ5ZlÞ/xD &½§~VORÊ×}ÛÁa¾ôtMy1D^̾= ßÁÆdõâT¯„Éh>`õĪùÀj½xyWtUý¨þS)-©#§DI¥jK¹TÙò“lµ†EmÇp èÄÅ!¦!ü^Æþüu;+RÜçqnEhô}Ç€Ú%]íAeXCÓM"˜µ÷̘z˜—ŒÖ®VÀîÒ\W¹rF¸¥’D¸e#!.§f¥w:¯tlrJøÔŠ¨:ec¤wªNec<M‘õ_MƒäÌÉJÕ¹’Jm4µÈ):ø
+*5íYŠ´Bˆf&ž0ûJ€bŽ
+š@)¢—ÀøŒÆ^Ïÿhîi¥ÆœÓRi@9l‹<wÀ2=ú=›ŽsDDÐ_Kƒ•I V&yÿ©n½ ”׌;y&ÕÝ2ro%€¿\veir¾®ßÌ[Õ᥹êmJ“÷x"Œ(Dǻ½²b,)(u¡c!aãÖÏ_‡$ÃÝ_éušâo§¦Ñ [H™ö®?ðn ÁNø¯øʸvÆT¨ªBw†ŠÕ-S®ÑˆÄF©ëåVª´¯uÎèuG¹ÞM«§Ø:·ø+?.LôÈ™†-žò#y¬ZGª…3È)ûIÆxw«
+Üœö6c GòûJæ+C5{™©ã­d‰ß¯å%×4‘7ªè•|”cŽa߆ï“üÑæ:Œûnø£ÞãèHÛ’»=á“VŸv\£cv£`§ÓŽ”¶Ý­90œ*âò—õn´ª°Ón·G|ïêâÌçÌܱ޹:ï=§³ÌɉTXïVÝ ²Û~R¼FñÝ:‘w裴©Ïû#ÓÖæ]ÿÝ8©#Ò(ºÒÖc2ò¡ŸV}±ŒR»ÝŠmãl¼ØNŠŠeRAœy¼^Éå£bʶ‹ó¥¬R
+’Æý>=’EüHž?Æ°Îõ+€Ïh ÉïU¤ý‡<J#¡
+ÔŠ.Ù\k&LG¡…Ý}Xòðq‰©ä»Ñå6ÛOÚaPß®@Cªb‡§¡óó
+"> èm|ú—_áú?àóc ‚¿ü7ü~dEÄyÿ¾üíé§üL´’6ÆyààÈTå7½ÿ+¿›©–øã+•D¯Æ
+6K@CTíÄY;Ëëà†w“wÒ}X¬6à=»Úëí,é÷ÉkŒ/ºs¤F/à‚ˆB•5,Lm%ë5LEgÑ6Ÿ|¸ÄÅ×þ~;Ú0¢bø3¬shäÜ©y©1g,
+¿Ò§bjDOWÚë Þ£NÔÖ¹Ö…+üt¿žM]ûS¬yíÂh[éu—`©õ\4ÛO+*;(N—ߪ)ÆWÿ(Jòói q¸Ð„cÀO²¯(Ûr
endstream
endobj
-256 0 obj
-<< /Type /Page /Contents 257 0 R /Resources 255 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 260 0 R >>
+252 0 obj
+<< /Type /Page /Contents 253 0 R /Resources 251 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 256 0 R >>
endobj
-260 0 obj
-[ 244 0 R 245 0 R 253 0 R 254 0 R ]
+256 0 obj
+[ 240 0 R 241 0 R 249 0 R 250 0 R ]
endobj
-244 0 obj
+240 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 261.657 708.966 276.381 722.147 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-245 0 obj
+241 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 289.333 708.966 296.307 722.147 ]/A << /S /GoTo /D (subsection.4.3) >> >>
endobj
-253 0 obj
+249 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 384.516 681.248 399.241 692.197 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-254 0 obj
+250 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 414.962 681.248 426.917 692.197 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-258 0 obj
-<< /D [ 256 0 R /XYZ 78.37 808.885 null ] >>
+254 0 obj
+<< /D [ 252 0 R /XYZ 78.37 808.885 null ] >>
endobj
29 0 obj
-<< /D [ 256 0 R /XYZ 79.37 599.153 null ] >>
+<< /D [ 252 0 R /XYZ 79.37 599.153 null ] >>
endobj
-255 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F53 226 0 R /F55 229 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+251 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F68 255 0 R /F54 224 0 R /F53 222 0 R /F55 225 0 R /F63 227 0 R /F65 228 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-267 0 obj
-<< /Filter /FlateDecode /Length 5225 >>
-stream
-xÚµ<ɮ丑÷úŠ<Ž%s nÀÃ^Vvðm<ukødû2m`ú2¿?Á=¤¤Ì¬W T¿”D‘ÁØ7J\~»ˆË_¾\¿ùó]šKØ‚U.ßÿõEâq‘)`SÎ]œ…MŠpùþûå×7!´ÂþUBÀUƒ¿Áçk«Þ¿j­q”úöþ÷ïý"6Âÿÿ×±j¹Ž›2pqFlÁ麎‚2wœ7ào\nxßäuå7¼ÿ ^ão}O×Ò¨<F#F™-Ô_æ—<g|ž~› aAD…F¹É84ç+â3Wö¬ãþ÷ß.{þÖס7#4_÷±‚„ßœžF7H<.¡pdZ»^ÐÕ¤F‚L¸q5¬L):QP‡MHFAT÷Œ3í} c8xmÊú6qSŸè2Ÿ½åk¸Õ§i¼Ã»‘Bÿ¹W÷€ðþ³ /íâo‰GõŠGW°ö]Ðù÷8][»ùiJ,TI…? ¡´S›T’¿;"mÍÐAoø|zs@o‡âiÔ€ ˆš‰ø;„zM€Ìh¢âáxê3ü˜ˆY¹!É&Œd ȼé8Wý9¼k7eýÛõ3àrrƒ0Íùؼ܂™øË…ÇX¹MØSlBQ‚ñ9^Ã=þ}ÿªðy”Â{“Ö×Ç‘Yµ+ÿTž&NtkÈKåeš^Çzšü„ÐÆn ùÔUŸ*Uüe- j¹ç6Ü+2ýø¯‰©-Ê¢üÌ"º´äͦŒsGhÒœ7jÞ¡gf®S{/ ú§ÖÂ|ËÖ×Ùb}ïyL†j¶óÊfû¡Mv¬ÛŽ¼º þ€æctdmW=æºö}ø>É+hJ|\wÇ+ÐÁ£ç¦ùèH[eõ ªg1ÎÑ1»öGl ÌDÛn`NT˜†Íûé}û±^ Ä&¥V»=ãUc3ï3sÇzåj^ݧ³›Séµ®kŠ­–WúóÝè‹„MÊ‘364rHôÍ
- +|EÁŠjÚèw-ߊ؋è¼w¡‹ÿ’_á‹@ª¥ŠÎ˯Dz¼F6Ù@þ Žüµ¯ÝÖ»½+ÿ–@½eä·xʨ’ÊÚʽex¢qÉc³;VǪ겋ü·¤”†x'mtòQÊîè®ïW¾B†“¾Kß~§ÎÐf*öJGEu—\]‰¶Ó—é“6®ŽÓ04o† FÞm^8Æc´™På.-Œò$§Ó¬ˆi Îl0ûÖ`MHm¨Vòdg®u¡*5”yJ‰·M ”]ñ¨®uçyTfÂ
-€°’:d¥ü4­Q-Pü+’o‘F–Ø/WÕ·Ta¹8º:¼•¥çù9¤Šr~“Ús <I-äæQs<î°z‡îL»ÓånÅžâûîbNp<Уâ.®Q£í¤&FÿÄúw¯ÊºN¯x5¢×’òNõaê¬U9¨{Á⎿¢bl |FUd.í¯@׎Ugi#­G‹îù¬13¾fQPE'Žî<UŸTÜ•lË5ÓD=i¢^£$ö÷tËÒTxÓ¸[Ô#õ‰nÊ«­qÏR»Ï=-ÝÑÖÊ`–˜T=\ä²×%µé‰]E$mÊYñ2êA6c¦7ǵ‹‘„¢®³s| ‘Èì‰éŽÆÝH7Oã1è=
-¢§M¸b­—"hÔ%Ó=.Ä—6‡èQ-¤ÔcÈ÷@X¨,r˜ ·ãõ1`Qz^_dôµðǯ`Óž\÷¸“3ÙNÂ_³9!Ÿ] ýqçË"^Md“•©&Óê\óƒÚ@N˜i!å­‡ä™!OT(*p¤VÓëU³ž±zO`¨J£^ø0G{‡Á¯6ŸÀËFÄš_ìsaf ˜-ˆ3ý’s3ãР@P›ÕÍÌ NÉKfÆMPv½˜rlVL¼éù ÜàS]¿rm¸ýî,Ø4›DþF5 Ü® '@Œ÷FÿoVî6ŽEÓÖœE+ýìmÇa?dM•U Ãá^ð5ˆ„žѶgGN~ ÊM4_³¯—$•¿ò’¬xŠ}Õ†4 £FUQØ™#þWØÃ
-dH GTÊ^vù´l…¬+-Ÿñ£9ÏÝ”œ¯~§õËÓúÅyv`(Ê©ýü>¢0¦rˆb¡ø6v,“0›tê1ˤ•£uP埲L
-›êd>˜fšÖðJv9y)ŠÁß”}’”WÍÂbÂjæVgJxxÀ,7«Hô× _çI#ƒÈCr:6ªUÞKù¡’ ^Rñ>¶› ÄM«£–ºŽ¼OÆý î*ͪ8ò,ùi»Ô*±áSÅž€Œ…_ZîÔÙ‹ pI$7íªb{LÕ<Ðîô´þå!KèÑåq^XúMú b4RYÇF(«<Ÿ]+
-å#ŽHÞ}­v\p—Ÿ¬ø£`d˜o,=,ŠÕ3)ÈËÄÏ“¸K&ÁÈ\Y5ô8ÝÆ¢^ê ”ðxþKÆg
-Ñip§¬+Í$èïä{¢ÙSCc=1qCoLÏ‚{n`¬Òª4Ï æ±k G§©û ÐT‡kŸUÉKžñLè„L
-c°îŸ;ýQ3­/0C­I‡QÇ(™À»
-&»öBp›¦/²H×ÅN1f 0q
-—
-NïmáÇ _>šèV{]LðÅvzÂUì40ói•åqžš/á¸]Öcw,9AâHóÆÐøÑ›Çã™ëÆó6Rð5óV¥D«+CcNuÐIòµŒøõ譠Dz¡GZÕr¼m1¾ÇE¥÷Ïèe ò Ê'Õ2þ+•"(ü’0+F› +Ji.6ÿ‰j×"l>%U‹ófÉó4 y¯V»³ÒÒù)¯¼÷'Q5jªû ‚ß±þÞCÛtˆWI@ãÙÓ’ÔÓ<m¤Sší°ÝÈÖQ­)J-Âmá:šBWö;¢zLýÝ(”F•:䧳7¹&‰ÖúŒR£?ßû«j\ñ¨À+‰•NB¡ÙêE"žâ#ôðÍ.¶#?½–fivquRk·v¨¢›('ËÇ!R¶Âê‰8qººubÚ¹v»òèõpôˆ¶—]é¡ÌTf2ÕÓõðÞK¤j ‡û‰º®ò’ "õßõ¾§ò!tÖ”`m‹ùMŽ»R/R‹¤ÉqÙa¤é9 ?ÉsP±!o±Õêç2ô-ˆI;=¬eWöä Mljîø[•m”äe›4öÑÓ7)¯­ùÞêÉΡV·ãWyÜ7ÍP£‡L_1j×ãOlþr~3¤SÅuüOêøø‹ŠAâ³c€{)JiÅfºÈøÁßËUúx½âMI£Òo
-ìS©ts?&õI Ý›ò©‚û‚7p>æKîT=kZŸÿ\—JÉÍiÅ!=r©2j©ó‘ï Ÿd²êÂN+hž‰ü»îÑÙïÀÙ]ŽZìµeŽþ1ôÏòLv½Ç“…†C Ÿ®|ÄüäÈ¿ÊkE4¹ëª“ˆ¢ÎS[5kÏX3 5‘â˜øÉÖ
-âZå®ñ€¢]×®PSž¨h1|VO(åç«ì•§ƒŸ.‰z©Îã‰ÒÐÚ€$)æ÷iV!ŒEâL±}¯ÃÉË´áN(3] žÚüÓjYW§«¨£üng—|£m²¼ª‘…gmþÛ¾I”Þ>Ö8ìH‰žjjeˆ¿<*€Ôõgèײr[{Uor)æ6ß]~gד!…ü-ÛjŠ,¹W ÝŽ}˜ä¦dÖªýÕMJà@ÐÌÈB.‹4}
-+߉9°o˜n³´dx"=ÏOò¬Ñ÷ ôc‚}+Ê Ö)CüÀÏYkùAkÕoîÔUO-ÙM3äâwµѺ@u–)Z¦<»æã/>“RT”);Ó¢!ª£0Ê‘Ò‘hý)†ö¹ö«½oÔЖŸ~ ÀÏäÚs€+kÌp~Â>†’#V\‹V>9§#Tî½}`J2+¼‰„1{êÙää<(3só·pèŽFÁÙýÎ’ÈNlÞö ä—Áþ¯ŽÎ˜˜pvz—ºH±*€qÉšne¬q5ÍÿŠï»Æzl©MR
+263 0 obj
+<< /Filter /FlateDecode /Length 5020 >>
+stream
+xڵɮä¶ñ>_ÑÇä02Y܇¼žvÈ-ÎÜ Ÿ’8—8@rÉ笠‹”ÔÝ36ð<-‰"‹µo”¸üó".útýú釻4—° V_¾þúIâq‘)ôÎ]œÕ›áòõ·ËÏoB()„Óø/¡¯Bü­}¾¶ðþY)…£àËû/_ÿüIl&.„ÿÿ®ca¹Ž}qFlÁ©ºè2wœ7ào\Wßð¾ÉëÊ/xÿG¼Æßêž®¥<F!L„V×_æÇ<g|ž~› aAD…F¹É84ç+â3Wö¬âþïÿyÙ{ôS__ µ¡øú¸´ZøÍ©itƒÄã€#ÓÚõ‚®&dÂýˆ«aeJщ‚*lBú3
+*¤ Ü3ΔkôÑÃi´ÀkSÖ·‰›Ê¨øD•ùì-_ë[}šÆ;¼)¤óŸ qÅq¿Æ?›ðÒ.~J<ªV<Ú¸‚í°ï‚οÇéÊÚÍO“Pbá J*üI¥l$wDÚš¡ƒÚðùôæ€ÞÅÓ¨Ñ2 j&âïê4idFÇSŸáÛDÌÊ I6a$c@æMǹêÏá]»õl×ï—“›ÓÜ™‘ÍË-˜‰¿\x\€Ámžª`ŠŒÏñZßã¿ïŸŸG)¼7i½q}™U¹òyš8uÒ­!/•—iz!ëiò÷ „2vÓŠO]Uð©RUÈ_Öò× ¢–ûqnÃ=ñ·"ÓMLmQågÑ¥%o6eœ;B“æ¼Qö <3sÚ{iЯ8µæK¶¾Îë{Ïc2T³›íW„6Ù±n;>ðê6øŠQ‘µ]\õ˜ëFØ÷áûN^ASâãº;^
+=7ÅGGÚ‚}Ô3¨žÅ8GÇìÚ½i0m»9QaJoÞOïÛõjZlRÚiµÛ3P56ó>3w¬W®fàÕ}:»9˜øH­u]Sìlµ¼Òw£.RoJ£¼9saC#‡DG™²Âg¬¨¦zWò­ˆ½ˆÎ{ºø—ü
+_–*:/¿ÊòÊ£Àt?ˆ#ík·õnïàß²`k où%^Å°"ª¤²6¸· O4.ylvÇêX¨.»Èÿ”Òï¤N>JÙÝõýÊWÈpÒwiøÓïÔÚ¬QÅ^騨+Ñvú2}ÒÆÕq†æÍÄÈ»Í Çx,£¢‚¶ ªÜ¥³…Qžätšñ!­µ3›ž‰}k°&¤6TC†<Ù™k]¨J e@)ÓÝ–]ñ¨S_ëÎ;ó@f 5a%8d¥ü4­Q-PüW$ß",±_&.Ô· °\]ÞÊÒóüÆRbRyŽ'É¢„Ü<jcŽÇVïÐ=‚i7`ºÜ­Ø¾ï.æÇ=*îâ5ÚNjb¤añO¬÷PÖujÅ;¨Á{Ê;Õ‡©³Vå
+;ñŠ 4mª¨‰–QuËȖ瞉/º+$TÏ1ŒAعt)Ò2Ð/i$³æ!Wv3ÖЀÕ
+¸Ê*È%Z6'ñÞ®©«—‡':ܺS¦ëDRÈBAÑ”‚XÝ¥"ÉýµSyñ£™ä,‹”^'HòšÄQ;.ê¡¡Tn3&ÔÙµþjàŽèp6˜fÓÐ90þ®ð× D§½ÃðpŒÂ•G3Ä+iBÍÇ¡’êCÌy\Œ ›F#œ!”òúþÙ4;—\Åà†)A~HI§€!ó_?ý§›¥PÑ ×¢W ]¸üí·˜8»hµye/RlÊÊËÿqùõÓ_ZÌ
+b;VEiœŽCÙ´H‹ïnT«;(!ÑAg3NFdF(~š«þsBCU ýŠ‚A@Àž¼ú4É#¿²ÀþZ‰O‘Ý bg‘ûµ*Ó:2•ªO< Ái„‘¡½õèµ*¼üNSªml5¨zš¥Emµªb ‰ˆüVk›F hˆfL©&)·Ô@IÛ8îp§%¡#'Y§HˆÞt†S£±j³uâ˜+y{‡ ôÝŠœÄ&…,®h=Ž4Ç:̆¦rB‰*©Í@v{v´ ŠO·ãå­Ú´\R$ZŒ]ùã¥Q‘ëŸ];Ø Ñ3½õqìÆ “Þ<¹–ÆÑÎIþ–E´š¨èŽ×´ÃnÚŸ‚S“¢U,ÓMTÑ„õjğݹӄv¢–mÌ–|ÆàªÇ™…y¸$êÙÏR¥JâÔš…¹®¢Q}£âµlï1Ùwæ¨ø®"Þª7‰ÛÛœ‹ê¼ÏâJÜ?†¦ ©
+ÿ¥xs°6ÿ5'ò‚JÜè_5jò
+{SobÆTÇ qQ=Í7$«9úÇCmóÜÞiæw‚:;áã
+W½p±CÈàR.“Áô‚:ÀøÃËi¦¥ Ú«}ˆ»ÌçC_G£v”×âlAê×< 7AÙ"!åØã1ñ¦ç3p_”º!+¿›»–]5Æ“(;íª'¨zÒwŒ&gUŒ÷Æàdnxr·q¼ZYá,Zégo;ñä¡*‡7KŽÃ½ì†®YÝU™²]©ˆà·
+¡v›—}‘©•3¯°/JAРʤ'#²¢•J–ê)1{ ‘ãL«ÔOß1 ÿ“keÑkfG¯åw+ëçñŠåÖ;£ÕñcÂF…¨ªƒ;^ GÞòÃÆþðï?ú\¬¢V縀/â)é´³4ºRÃSK[ÔGpL†ë,‹$Ôó&Z"_±RÐ6¥Ù«£òL·ÆP“É‹n™Ê\?§f¯%ÁâJÞ±N«š¨Ú*ˆæ<º$Ž›Ñi•½Ðp&Óœ9KЮ®¬Š™ã.:˜–Mó]ªDóÊÛÏ¥ShJöz`däÒá/¦Tâ,Î>[ôtÊŽ?âùh—]ç9áyí`³8”oä1n^ò` *ˆ-í.ìYL¨w7½¦+š›c[ç^Á¶»çs&6çCú¾Ú½µ ’qº°A1¾²7šz}ÿ¬•§M*<cÐ"J‘[e «X'ôp ÚËç­“E=ƒ¿'6C¯D¿`±
+­ÕƒÊ4ª D® `¤_MÂ^©|$7üMÙ'IyÕ,!,&¬fnuЄ‡ÌÒqCêMkø:OD"Ó±Q­ò^Jդ؊Š÷±%
+! ~ZµÔuä}2îuWIØAñäYa&Òv­U¬ØŒjU«_ÚäîÔÛ‹ÅI$7íª®b WÕ<ºÝé%§9Ìb–ÐÃËC­;5¤Ÿ MCõ—õqlÖ³àùì
+(”8"y÷µzÝqÁ5^~²â‚‘a¾±,¶è¥˜IA^&yžüÀ=X2Iì¾èz±º´àœº\¥~<&c¾Ö|îïENtç-zglöÔž’ ´2(_ÍŸRÃhãZ-ôLYyŒU£Ma<Ûýé7íÄ%â§B½RvEG7:Ž‡Ù4y.ŒX<Ëæ ?ÄLÖ;G£˜æÈ_%#B½úï§2µ²(ñî[¼Ÿ˜@ˆÁ8Óž÷ƒ!æŽ.Ð"œ$Ë»x?JnoQ˜Î¼…^Ö|IV`¹A±]‘:^¾Óˆ+Âá‰ãÓ¶¼6
+‹íZ¿n‹±è>ˉ˜Ô©ÉyU#߈½’(7ÔxñÐÖlÊO¸‹yÓ‚-¿ƒ»•N,
+µ˜$BtÜu¥Õ ýàÄbÏ4{jh¬'&nè›èipÏ ŒõC^•á”ÃDv ôè4uš*âúÚßïâqš7Œ\âô„N   aH;}1¨Ý¦Å´Ê#e}ã7åä
+¾ï`
+3I '¤åy,“¿Þ ·.Ap›{P õðT5)V N«Së}-†úäL¼PM28‡2Ué[·Rx ’„ÒZ€Í²ª$©vâ!%8¼z°‰8¿×
+¨éjè¨ðô¬L¾ªåL7•3ë µ¨° Öýs'”Jb¦õ­f¨é~ë%³xW!ÃÀd·ÃþVØ·Ñô äÝÄÈê“DŒÁÑÛÃ)zv!Ð.—oØas~ò(Ž’‹:Lo?ËþpHùÒÉ‘F}¸ú«&PëÒÛÚ:x;﨡ú½7Íå~"8ãÎ4bŠ$öN¿¹t“Ñåéão~ ~šn”:5ø­ÑO>Q–"‰%§8@%%— ‘¡E½Zñdy×jÔ Š1ò@Zõ¤UÊã´± ¯¾9·„jT)Í d=%]ϪÖ
+uþνÉ5ɱÖg”ýùÞ'Z\UߊG?/"V:Ùè}ô£o<»Gš5è™°]l'ÑzÍÒÄâê
endstream
endobj
+262 0 obj
+<< /Type /Page /Contents 263 0 R /Resources 261 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 266 0 R >>
+endobj
266 0 obj
-<< /Type /Page /Contents 267 0 R /Resources 265 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 270 0 R >>
+[ 257 0 R 258 0 R 259 0 R 260 0 R ]
endobj
-270 0 obj
-[ 261 0 R 262 0 R ]
+257 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 459.435 492.059 466.409 504.015 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.636 85.96 481.861 97.417 ]/A << /S /GoTo /D (section.7) >> >>
+258 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 482.13 492.059 489.104 504.015 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.916 85.96 505.373 97.417 ]/A << /S /GoTo /D (section.7) >> >>
+259 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 475.636 84.676 481.861 96.133 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-268 0 obj
-<< /D [ 266 0 R /XYZ 78.37 808.885 null ] >>
+260 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 494.916 84.676 505.373 96.133 ]/A << /S /GoTo /D (section.7) >> >>
+endobj
+264 0 obj
+<< /D [ 262 0 R /XYZ 78.37 808.885 null ] >>
endobj
33 0 obj
-<< /D [ 266 0 R /XYZ 79.37 684.154 null ] >>
+<< /D [ 262 0 R /XYZ 79.37 683.611 null ] >>
endobj
37 0 obj
-<< /D [ 266 0 R /XYZ 79.37 593.56 null ] >>
+<< /D [ 262 0 R /XYZ 79.37 592.475 null ] >>
endobj
-265 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F54 228 0 R /F69 269 0 R /F55 229 0 R /F22 234 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F60 238 0 R >> /ProcSet [ /PDF /Text ] >>
+261 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R /F53 222 0 R /F54 224 0 R /F69 265 0 R /F55 225 0 R /F22 230 0 R /F68 255 0 R /F32 232 0 R /F61 235 0 R /F60 234 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-283 0 obj
-<< /Filter /FlateDecode /Length 4917 >>
-stream
-xÚÍɲ·í®¯˜C‚{ÕÔ«R{4®ò-‰n.Ÿ’Ø—ø_òû ›Ý3ó$%9<º›ÄFòòÛE^~ü°}ù𧻲—(¢g._~ý ðƒ¼¨‹RJ€Uï”N]¾ü~ùù*•ÚÞ>Z)¯R/¥úáí#x…O°á› å}{ûåËO¤ˆiü÷ÇŸ¿|øWk0úâ­>èËß~ÿßã`A§A…
-áòÇ?.¿~ø3~aX:Xbi­0à&,3&ðï&¥N¿²üßáŸALA—÷ß»ôë-å}z¶ªÀHí]Lm3UG¼ðå ¸×Ñ·=a@ïàFœ³ÿ®eÐ< LŸ ’‘ÑjL„e¤##r£V©_zºoåKúMdÞ‡Ö”p¬BØš½FáÂŽ.ìluE$Vn%ÎÖß¼qÎU$ÃC.Z¥…Ò{.Þr¯6ãà„ŠöâMJ:je·2&ŽñÑh51¯¾¹½¿v) ÖdÆçV²Í‡’ð×[—¦1±Ð'yÚ
-d}ïŒ.К4A•Â!R‹C¹k£X›×—º;¿N>âþ)”ß„µ©ݱO«2÷@xÞ¤·P)t7jão#þ„iÃÆ‘<væ“dü`+̦ïa=SÚ eÛ|êJc•ˆÚù<7eŒ¤Q´ lT3p­Íš’ªp±ôçó_Þ$. hEFé‰F#
-°­R¶so€™[f™iðð„úRì_‰ÇÒëX¶Î–Ï||j gS[üÝŠ>©Ì
-”Å(s0¿T¡Û¾¦ž ô•Ñ"ê0÷~m¾ÏçW:á¥Þáç¸/Þ=ø½¯~È©æñ»i1W-Ò^À9ž‰Ä6i†¦eªÿRz:{ðƳQrÉ0¯h²Nö@º5¬3C˜²í5‰4¸ÖýÅi+LlÕo‹t’ã.l~šÞÀ/Âù¾QªÊ3/¦`Ko§²9ÑÚ
-e#$p…üëû˜®ÒÍVëÇh…Ë7òr›G±Báló—,=`‚¶ËTZLñ¥”8Ÿc
-OÀLnõðÏK;ŒK{I§5hR»Äåý
-„W|RîŽWïr¢š(ïžYjÊÝ[Ý\»y#!“‘Û~jC6‚¼aùX%’Žžhù6:Z+héWÐ ¢®@ö(
-<D¯Ûª nX% ʬÔêÐÁ^:Áû¼¼}™rÚ`w<ÿvöÆ¢EsèˆN#LÉû h™+a˜Ö]¥¥ïÛœŽp÷· ¯]ﳤõmVÅŵê>ù˜‚’ãL·î>¸º¤),ðö ¿­ì>OZ˜\`场À^¿è[£ó‚æô§Ú½ê[œÂË, ”°HQ˜æò}ë>9¾ÞúVx1wçÎ
-FéÑÀ<âàûaŠ¼™ö^öJX6É\{Ö«­'Ö¦®Q¯§Ôç7Þ7Ê
-ÂŽ·ïÛ7RØñ­%è{PGµ\¨é—ÙCai3ÇÒ}¥~'¼ƒu)5ó@ß©Ú
-0zvRïȲ=w^°ŸE¦¼M"XþÇýÄò†²ÝŽu¡¬ªµÂ"ÍDœ[„YåS_ðQ ‚ÊŸ­ÒöY»ËÛ£<y÷ÊúûyØ[¥HGôHºqhž1O˜‘£áZ8=g§ÙŽ~³ÉÀ |†\µÓ¯í¡k
-ñ7^ãP¿**=²Ûú©s1p.&™ò×N_«§HšUùVÂß›¹gs´: çƒù?ÉÑ2}õ؇8(ïšß‰º¯”§]VCåk«‰FüƒX,
-í¥ØœnéÏéW‡þ®ýúçV±3<uÛʪâ œÒZ Ž3¬ïéc¨ˆîG<[m…¢J
-KýªÅÍžß“õ~Tã-ÆÊzÇé;§ñXTý¨eší–̉ádk²´w0o6s¾ö¹;ô<´¾°Ÿõ2:…ã¦(Ó¬ Ý̯mÛ4­ ’à1LìU6T09…̬.bÀâ1gÏd qAÇ, ¬ŒøT%¬`ƒÐäZÝ–:.‡ÙöϽ^ÞŠ*Zé›k@#—¤§gË4ô²ã²^’¦{¨íj¨¦Áˆ¨ô>TËɵ’
-5À¾Xlj-*)P¹P“ªMpÔ;B9T!©žd¤‚¹ïãNUfùwTÁ¨Š‚q36@ù8k–½‚!ódGÃ(zœ-'P¡ÎPJæþÚ·Xáv»–PhtC ÙæwÖJ÷& dAÒ!„.Ër°CƸãStWסHÇì¬@/ÌYkÒ”°á\0>¶x„ç%3A·ƒ©oôw®‡œâÔ;y‘eôˆQk¤kðô½oâô%c%Úª€â)ÚÀƒ ~ú;ò”·Õ ÚJ¹O¡X²“Ü·±dŸ®l`Q}‡Éu-Éco•9«‹†,QçŒ;‹ eηè)Jj­™/O˜T¯ÊÎÍ9SDÔ‚µçÆÌä:ìÆ}³*W~óÜûÞ½—¬HYö…ҲΑö5Ër³²òäQ•Ÿò¨{ÔŽ
-
-^óù¤TÁä申†!³ Oe6é ÑQVu]
-;×i¹ ÇÝÎúé]¨œ‚ža…‡Vó™Î÷ðöc†U‡£ +'Œ;É°š_Ê°:´\Áj¡b+2€ Ð¥zO†Õ#83aùrVÅá¢pn…eM •-óÞT…+tD®µ_g ©ÅÃl`š5åA™Aùò­tNí^Ï[eY0kG½´æF·¼MwUŠM öæû0$^•öÔ—;}þÆNžf"¹½†Fv˜ä´¨d“U¡¼›ú®.\ݨiDýø|àÊŒf×ó䊚|ÜöˆŽ:9¦ÜÆmÎeTâÁŽ]ó`# “ç×ñôöî¤Çs››c,ü|Añ¾.÷è8÷};Hžîm£n¢ÚQ®»SÇ8.œ;?.h…6z†¾;dZ̈í9²á8ébS/·98îKsiÐþ°•¸¬ªò/VU-æñ
-«°<ÀA_N+ŽŠÍB×”ší”efäp=Lªo,!kBCBfÃAbm.`{’‚¯¬µ0ãcçÙ3ÏŒÐÑý©÷‘„ í×]*ÓÁù^ùËÃŒ0¤!ØÓÚÆêà®üïL òZ¼¶øsß¼uÛ¯<»>Fó.' ÝC -“%oú™©á`A˜Ã£y©ðÂp.%¸õ Šãù+L?¶§6¶÷û˳W?,OçUéÕÛ^Ÿ;æÏÏøÚ%1¥¤`&ß<[c¥„žû¶xpëÞc«>Ù¢–PÙ`£ÌP“¥}M<;ÔÒLv­¼v¡T–dí¦)3e/ND²2¨ t†R/`t*U74©çù@¼€`f‰˜B7Ïžžqy_íËû"D&ˆçEzRÈ0#¿qR.÷iÁ˜®ÓÐ3Ô1ø Ë ÷”÷¸í¼sï5­ÎN9¿\,”jÆØ}(ÛŽ”ƒ¾Ži¤|pûÀ+Û``¼Th„á¯×€(ô°|¿ÀÈçZã×ãà`„‡0‘XŒPÍMùºûï ÏYße©þ!5“=Jå ½=ö¥>ÎÌ.3»ÙιW GX5¶Îqä~#¤Âþ^•í•õsVxÐý`Ž3ˆl_‹Ñ| ¾‚ Ñë‘J€áÚË>8Þ…L
-N¯¦’²UÚVÚL庴]Ùç”ýä·´2Ïì î6émŸzzÌÚò9Ã3}K©…X“Kõ×}jP8Ms*õT9Xò‚}³Øäµ›Bô0 {~çYCÔt˜ÁRÒ°`Cù{}‹|}çG%¾‚Sxsg:7Ö·óq¥8xÔ)ÊÎù€2ßG…ñÇWÜ°âx?‹ã¼Üv,åz =ÝL1žÀ¢@õlÅA”Ââ‚Qc
-94Qe†Ód½qÈr26nx
-°Ôœ!
-ò© Q^wZ¿äÊ9ù±-ª7‚z1
-ílÁºCÒ;ŠžBw:©P$¤š¡e—äpÂYÜʤ¤œµë“dw;sR!ÝIé
-g§«ä(ŒhdßiÈ÷¯‰”®f š%ÞÊh=¼’¸d `Ø‚ÉkgãWå1¬­áZÆš—Sûè,kßE?-ÝòÃM÷b¨®åªÃà…µ˜€üÍöZö§T{,÷îy”B1Hï ;ØYžžÝF+Ç7¦æ©D‡6ñqh³»Dk
-š)äyéÐ(WËÍAÕü™m¼þc ùöÛkn^º8lŽÏçj=ÅT2L}2ONÇJGñ5ÀÔïv:VJXÛTl5ô ‹e–ªÿÙµ”¤¥óúIJ&é]ºw,Ûý_]ƒ$ÚAíK’hÍtÔ˜Þ¬$ÑN’X¹'—zWG6t$“†¦k³RHÉ'Ch®O$´|T¡ÍíôJ*×jŒ&§®­oxª¹ÑªâLXa¤ŒÏ[ÓpG¥uk²R‚çã+æ†v;°Y¤ÊV£ô a*O<À‹,À«m¼xàYˆ MDÙ³8¹¶ÜM¬Ë.NÇTíµ`“~AïWhP,›ÎóÝå w¿ípOñƒ«ýÎtIYó^æªVåÛºÇ=[yQE«
+278 0 obj
+<< /Filter /FlateDecode /Length 4447 >>
+stream
+xÚÍ<ÉŽ,¹÷÷ù-KÔ
+¨ìêl çdøÝ Ÿ<Ós÷Ás™ß7µP¢–ˆ¬ÌW…ñ!++#IQÜòòßyùõÛõû·?Ý”½D8sùþû7…7äE]”R¬ºx§„têòýË__¤R×ן¬”/R/¥úùõ'ã
+%][k’Ùª2»u/:Æ„<Côlõu`p½ëe¹»>—áªú,0L#Í•Øä“\Ë}«˜¥'Cƒ“aÐ3…½to’õ#ÑÔÆ íaæDµ4—qË$VŸ(fÆà¾Õažµ¯8çC¢$Ë
+T]¡¸†U‹Ûd÷’«vÚês ™cX–nç’d£"iý¤£TŽ‡=§¤j¯<Ž8]~}P3ú’.íŽ=f_,Týåõ<{§¢Ø¢âŠApúÉŽeËU8÷ÁØB"JÍX<AÁØÂùRd.j$jÒ
+uÇ•îDfѪ›IW‹låÊJ!!6ÝfXò¤MšÔv5ýÌ\kꮨyxö˜ hæ¼ +àf”›É!âR@^V3°s|H k »¬?ÖÃK8yG[Œ¦ ‚ÕBúHŠ8"÷t|F;7!ùÜž¦÷$“Ô#%l‹¤N3·œ‡€¯ðàä5“Þ9ùŒbîk¯\G‚+Ÿ­ËÑxýlÞ#Ù
+ð@‰ ÷‰zBí33d.æFÔqjb(tT¶(>ÓÁkú6–×t‡@KÕžã.A…Ë»Ž| µYøÚü¿
+h$X
+ë¶Iÿ‘£ÑÏBÏ@jÖØl2ðnä¡´îôc=Z‡ǯÓzi×:Ô³ÓŒ4¹_”ë\{Çõ=MèxâßyOf½«ôÊ©o‹s‘Î}½ÄŠšUùZ‚ßw¶rÍ8ƒWh¨Ü¿IÆ™é«û>Ä©@y'ÐüNÔý <­©ÂPa]kÚ4%úb±(Ôúas®¥ÿNß:ôkíÛl£Õ‘=Tn­!L=‡ÂM°¾ÒÇP×ÁÎ3ží¶BQ %€¥O¢gq>Äp§øÚÒq–ÏÓÁ6³ò{-6ß+º‚Ó §oœÆcýÑOΖ‘iµ[2'†“N*Oì\ð,x¤tÈ‘çaPRÜ’» c"wpø’WÚÍ|8§UÄsµõÚIZ•M2±a1G<—jÿ cÏD 10p`Q•º£‘6°AhrVklÇÍ›R@4ËS×ÕzâSà¦b®-SpÐHQíüÇ•JÙ^.¢ƒã’.(¿>ªúpTT dèëhؼæñ~â1j "ø0c0"—ñn<N£’×<¸ä”nxtU›”‡*nHˆµAÑ||ÉÆöc•\}å¹æ8¹&}l~@ùõãê%ÇôÎV)ÉT$Ÿ5òÚu C‡.¥ÕoבÛ6r›Ã½g^¨£¦Ý®¼ ²œÎÜÍ¿ïe5÷Nù–ƒoÔÀ-9Âù4¡û>8jÍh3Wvˆ/Á;#g´}Æ$™µ+t·Š*˜a½vùúký1oô™/pï»lT=—RlØÒ‰·÷E£ŠtN/ŠŸ
+é¹Ûa„Szžqsº¥æÄ”×€]sb9K­v܇¡ìƒg­µ8«
+},êÕ@[§žÈ™¡¯f­š¨`y’Qqgãö…¾nj´3nÆhɬÙ>•$3OF#'ªM§pÌ ¥H_zÅ•ç­k×2·­¯cØïm}·ûìˤüàô@Ø¡4×ñ¡îà¦ÀÌšú½^qŠ•\÷2Ì-&ïÜYÀíãfú>ç>Œó¸q|8Ä2wVº|×ÎDÓý^(ï§V ŒÇ“v¶ëC”ONȬ@ŸsOÅ1½RVß:$©|Å•\‡óþKtHËI;¿·Hº©u€ŸMï£2_uqÍJfŒóÅeédÎië©äD­ix/ÏüUeâPÇfG‘Í9OÓi‹ ÖžG(È»뼯V•îmK/¶ e–ó)’\•}“4Û©q¤ìôÞù}ïà—ò"*µPA Â|Z$u½ú¹¬§a¨Á‡ªGôR‰#OyB>ør Ñªé5½¤ã€Sн¸[Å2¿Ð øø©Še-¶Æ@fg±Û»ãB|¨Š•ÊÔ¿e>Ð_M24Ðæ™*–G0fÂòá̵ÃMáÜ…U¦
+•-Ìa¿Š
endstream
endobj
-282 0 obj
-<< /Type /Page /Contents 283 0 R /Resources 281 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 286 0 R >>
+277 0 obj
+<< /Type /Page /Contents 278 0 R /Resources 276 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 281 0 R >>
endobj
-286 0 obj
-[ 263 0 R 264 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R ]
+281 0 obj
+[ 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R ]
endobj
-263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 437.011 733.664 451.736 745.619 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+267 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 437.011 696.081 451.736 708.036 ]/A << /S /GoTo /D (subsection.6.2) >> >>
endobj
-264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.149 733.664 480.104 745.619 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+268 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 468.149 696.081 480.104 708.036 ]/A << /S /GoTo /D (subsection.6.2) >> >>
+endobj
+269 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.513 320.003 277.238 330.882 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+endobj
+270 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 290.19 320.003 302.145 330.882 ]/A << /S /GoTo /D (subsection.8.1) >> >>
endobj
271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 262.513 427.854 277.238 438.734 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 483.103 209.239 495.058 221.194 ]/A << /S /GoTo /D (subsubsection.6.1.1) >> >>
endobj
272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 290.19 427.854 302.145 438.734 ]/A << /S /GoTo /D (subsection.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.51 146.028 489.234 157.983 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.51 297.516 489.234 309.471 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 146.028 514.132 157.983 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 502.177 297.516 514.132 309.471 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.781 106.727 424.257 118.682 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 401.781 259.072 424.257 271.027 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
-endobj
-276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.978 259.072 451.933 271.027 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.978 106.727 451.933 118.682 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.08 209.23 376.805 220.069 ]/A << /S /GoTo /D (subsection.8.2) >> >>
-endobj
-278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.03 209.23 477.985 220.069 ]/A << /S /GoTo /D (subsection.8.2) >> >>
-endobj
-284 0 obj
-<< /D [ 282 0 R /XYZ 78.37 808.885 null ] >>
+279 0 obj
+<< /D [ 277 0 R /XYZ 78.37 808.885 null ] >>
endobj
-281 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F70 285 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R /F60 238 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+276 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F55 225 0 R /F16 247 0 R /F68 255 0 R /F54 224 0 R /F70 280 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-290 0 obj
-<< /Filter /FlateDecode /Length 3196 >>
-stream
-xڽɮä¶ñþ¾B?04Éâ
- ˜çvàœ2™›áSçø_òû).Å]ÝÒ{_K"kßH±†oÿÚøöååõÛËw¡7ϼ‘Fmß~{ø‚obsžÀf`܈íÛïÛ/¹¯Ÿ>hÎ?rŽ¿„øÃòOÒá_œK|­”Á;åpÈt'_Ó“ûë§_¿ýü™àÿ¿¼üôí忩Ж +6‹­ƒíï¿¿„Ú3-í&8$ån¿½ü_4<¹âAhÇ„±Ü ¥pç\ ¤+žžihNÔnŒŒÔîIH
-ÃŒw#ty#®O8Ì-Âj$“¡ç'én‰Ÿ ÉIÝ>I!‡7:@{Ms®;þ6È‹’éYÀ¤2ìø®ÀÓ:cðô$¸%Ü᯺…­þˆ“@eäˆw#îía†×R¾ r-ZâŠI‹ZRž nHŽZ}úP +"DbÁ艄€‚›ž„U@yï 4 "áa–Ê¢MìœVüéÉ#eܧԌ¤Ì\$Pà…1ªBÏÎTékœiÏøÁ¡yZ5ŠU©.Sg’•IAñk½æ-8ÝBGëcÎxôTɬ,ƯÃÌÏÝF¡oû‰,qU2 :ˆ4ÖªQ#ÑÚññ¹µM]È[-=Ú>'›¼gFÉÖNâˆ~ãYeÁuã½ÎÙ¬ÒÈú”žt~Ÿ<ôû2BÝèÎÞÚ»âqúäq‰æUìàËøTÆ“ŸG_Ϧx.Q$Î'º‘ël*j©p L*9ê":±¬T }ÍÆ+¦ù Å ØÎp'Kš ¯KðYæ㫬ŠÄ²‹4ò®wA4?ÚíbÜJ/éM«÷±…@VFÒ§ ‘­!NÏKŠ3tÔ´cìO˜ÆuÌÕÉŸî%ºœŸ­Žé9ˆðß[wûÔfh‡2àZ Y¬ìfêÇÔp£’Œ€d}J†Ñð9jQºª(³ìKá2Ïà~t]1œÝ²^_+~Ã)ø¶Q ãæ vøƇ‹<6Œ÷ä£!dBòä?‘ö{‚CÙ2ÌïQZÆD¢Ê¯<?À´žNÁpŽôY :VI‹’±wLnÆ&¹%[^Õ¼2Ì‘#ˆ¨Ì¼n§ÙÜÂ%#I)g¥·óøp§MÁmz–!„ÍÀÝ3ÊÚ1
-cQ‘÷}˜
-°ÞmóD¯¹µ˜BŠ5k}D2P°‚Äd ­PµÏ×®(Ó®v›‰Î&ÛŠvÍð.}K¨R0%ÎKA=•‚ZI¡üâ iUœ½”Ô)¡‡üàŠAaRj lËËhæº,ÂmÏ*?Ú·tʇTaÔÂâjÆ3Õg¢jô³$×4Î:$èÎ1 %þ>áP½…Ã=ÌÖ2¼ö1ïAœ©y£ÁW¸·xA¶ª•Õh­™Ñ%¼H»ô­³ÏÆ
-Ã1¬PFMFXbvèh—“öÊŒFFG¨’XÙk̅稒J0i`EU*fÒïØ3
-X˜K­Û÷5É¿vŒ<³×a²m¯3:'+îá=Ó¹DI-X°»±ýˆ„5Òȯ ë1&ú>Ÿñ0ùÝ"îáñ‚Šçõïq¦
-å/7VÙÜÕíJÜý䕸³tMv¹IÁ–;Ä$ú°Zù!°¨b¦ð\|¬¿Qœg† pÅ‘g=&g2EÿmãßHÍúÕ×Eöä¤vrMÎ#ETfÖfúÙb
-»EfškwxÇè­üŒ ®æ?ÔìrRÌNjáXHê¥>nÐ"…F}Oþ øéJ´T˜
-¥)³îI÷
-n(Å5Þš*-°ž˜¼í [&½º4À¡ YwµÝ©
-Ï÷_ɬÄå3´¼žûÖÏÿ®û„=ª3+L”“ÑzAkÙ!|W6ÌKà<èu)ž·Zž¸yìr¦î°Í'w‰±„©žôãQŠfÕµ®*’Թ김·»¦Äõ˜uöJæ$êÎßÅ¡S›ø€ÌÌÞqö̇Ź¦P´¹ÏCɦé&”/ªiOÈÌõ~˜{õ?œáZÙÒ<Hóá÷Ç P¸Âõ#:µ€”žø‰Aæã;wÓÄ&71²•Aêu¡§Ð4W¨2ŽŽÇâ¶Ù”hì7Ý9¥K¨B;‹"t:È;ŒòÓ°_šRìÇú6¼ø ŒíæW)—V+jå3Ì`%¸þR¼žw¦n tÀÿAkÖ^
-+Cj¦\èØ(\àÔí›×oÛ4ÉY)ħä]’ÇÐÕˆ¥´¶¹OŽòŒ…U£¦¨¶Ñ­fe/ªÄ O§@ˆÅêêIÔU‹I=a`Þ_„Y3‚ÿñ*î€1Q!VOíS¥6Ó4jP›Ýìa¤M̧ê›Ú¹j Ÿ²´ñËHêü… ›Ø±
-ÓÄI|kSwZJª2z’›+ܵÕ˜U=
-{íùIbŸƒáIÇ\]bߪ¥™Å{·ö«"n~¿/®Ϻ?u†¨šª„
-ùò¯ ìvÔ*Ú5_…®v/ÍÔ2v
-&ÏÃØi†FØÅÒ3œ6:.=ùŸÿ¯ŸÃF…wÛÿâÈß1yb`aÞ¶¿áJ4®>q¹X}ºÐ)´y;¤»=°dˆéÛˆá6›¦Žÿl¦µÖÈéM)ÂÓá}|Bë z—íf‹Vó'JÞn™„ C¡Ä•0EX›î÷<¹í5÷ô4‡™ÉÒ¢Œ÷¹“vðÛ±BkC¾µ¡ŸlRÞ¬¼Ž-ÍZæÖÂXe¾"ž’½v¢·ÇÂ:…ãhn8@ˆø'à7
+289 0 obj
+<< /Filter /FlateDecode /Length 4154 >>
+stream
+xڽˎ¹íî¯è°¢÷ 0ívØœ²ñ-ØS’ÝC²‡ì%¿Rõ*©ºj¦íé®’(¾I©Šä—ß.üòíÓõû§?Ý…¹¬´úòý×Onð‹¸®™tîâ¬`ÜŠË÷ß/{á\¾q®$ç6¤’¯Ÿ•qxçʹöœß¯xÅã_?Kü'ÜpB½¿xº£áŽ¼ÓoàŒ€»×ô©w5þŠ/iÁ*ø ¡Ö98.Bë×4¢ŸGx:°ÃZf²dKl„wÍëãr¯Dˆ2}t·¾ør‚Ù°ï~­hÔ)¯¿|ÿ ¤gåLz:8¦µ¥§3}˳ç²7B1¡ì8Ûø8k£!:0Á-×W!D¢²H_¢Rx“åºQ xg͘u£Q…“ͯ¬;דÞfNÆ«¼'¯u™õ!)/a„sß<G uë(÷²jo¥£bhbh]B͋¹vb&Œïy®l!ãx„ªoí]Óád‹5e}"P+y*Ç„<ã¬*°¨?å¢L S
+á¡o€¢¸ÛjH–"§±÷î×L9âT»2™8â£&#ƒdðÉ?h2J¦Æ¹äá iX£‹Ñ6,H#œnYAþÏf.ulÏRO w N¤ÙåÑþÕ+òn*SaÌŲà@W:·á<óMš3g‹Iœvé×Þ1é7Ü[©˜T,¨
+_%uBz¡ÞZÅ"ÿ¬dÃ?¨SU¸P¹¦eUÀ…ÒÞkˆáŒûy's ¸gE@ú°âÈ€ S#Tyk4¿0§¸²®äh⯙‹ªŒQ
+…w®­½ôÌ.v%3<ͯXâã lTø·ø}`pÿâx`º„æ³á—#‰H•M=úæLLŠ¢Ñ…RõÉ"ÀYÀŒþÿöéë÷Oÿ©
+és%Ëàûåï¿Š7„‹Op¦àÏÿ¼üúé/p§Éšæ*"¼fN†Ä„îI†Q_8ù«J&ñïéœѸè›ë1…‘û‰ƒ =b"o-Ê´¥~©l±*l½ûÛy=¤ÄþW‰iŒJã…qCˆ’ïP($§@]D/„©Ž´Ð¼p_Þ2É!ëü…ƒ›iÜ—ÙçæKÞª™Ü²› u›¹3 ³MÍ€(€£Ô0‘ä(‘3º_)yìí—®×fÔ!þä‘@Z‰÷`¬ É&U Û,P¿d¾8>õNàÖ­#…È£K.ðYGó•*&2&z_;•bRù \›½HÂMÖÝ‚É~Kª{“~„W¸soünÈWÕ"sÈØh„7Ì4a0ow’ÄǪ AuM¼¼r£F¶^^_kRÿòd‹¾ÚbÙœÔY«`y¿vyâÊêdàÌH4Ã> OìuW
+·œ„ÀPfbxæ¿ìjH@À›‹.Âr˜|Ýñª. …ÿ.ãß?~»¬nýü­r„+¦I#]É&(ŒÔÑž9±]0ñ°„„‘qmúÑ®Þ.h;Î7H¥
+‘âˆ4od¥9¾$Ÿ¯Gý´9’—Ä2kÀ×ó•<s|·é$¾/·†ZÛFÓÓ¯Ã!V„m43^S7”Ò½#‚Zì"NDðýlOXfƒ¡£KT£N–4X¶œ¡Ø™®ìÅê ©‰].û­Í;âS‚‡±DI‚c›ãŽ²ÎG.U~DIô·ê{óˆ{ûk»-wnk?« Mü˜ž8YÚÁãÄØt5'è™AuwÖ*¨¾5‰·Õcêl»Sy7™²çŃÍŒA¨œ‹Å«åÄÉv§¿Æ˜Vʯ ²ÎŒlE—A)XÄÎæ4Õ7Îó@zP½å×h›² oûé˜ ä²ZÄâ*äÉ–¡ˆ±ä‰=ȾùæÔBnjìV®9ØCÝ礓÷k×%òÊ¿5wÍ!€nrÓArY¯Ò•Îîã•]»/#RN†¿Ü­ýU,®@ßXw+ßÁ§þ©Œ';§\‡Ž²Š‰ó›,7«Šž
+ÜA~¨å( :!,ì­u€À·P|á€ëw£ R°jD™çªîÇ §[÷|0¥ç47“KsÆ%f¹c9jÚÍ4kNWqìöýT=}ûšrç6—,šès|¿áYø¯K÷óϸ¿€ô
+&fI¦É/ƒ‡ŒÑ8L΋Ïu¼º+y§H1Gb¬ ¤2ñ¦qtf—Ã'žÄû‚³ÒÝíø¸I±emÛ› žÀÈp1°çª¤ð(åH:o¬šÃ"µÞ#Sb‡TSt¬·€©-“âj èE7çÆèQ´.ÄU6#tÇ-T”-UËUܾÆÏ’—
+â®ñ•´mJ;§x‰ßªÔb»Ó\й g\(ßø„[uÍžKú—`ÿ`½¿4÷­¦(×Ò2ê9B—Cu[ÙC¥Ç„O¹‹B#ÀErÉ´m(ªZ¿åäÇ­ 3t«À¨ßCàja¾JÉõÊ+ˆ[l9ZÑBòéÔ{Œ +ÕLi4ì­(îEº©©hí˜5æÑ(…{D»V@ôû{îªQ¦Iâ¾pfZæ”[àcˆš9çCR(×\1/BÊÛgüëN›|™þ6úiÜÌÛ|døµ  ›Å²ÏoÂ`ÚëÃtØ@Óf·úv=&šæ¸¸;ìˆç-LÇO<‚©?þ¶ÜIHeÄz»³Ó Á äžjœÙžÁ(: ‚¯ÍI@2ßÌ=ÖçØXÉ<w™ŒÍk* Ï Ga4!aº2>™½Üða•h4<:‚•}7NžÄJjÁ¤U3¬R:“¾g'~D­›zª6;É,/.5ÁÖ£»}}&»ösFæ¤Å=¼G2—À© néÝpØ€[Ïu–3««ôßN±x˜üa÷ðŽ²x‚Åã ø»5
+§¸ÝOžq;3×F^—É·«ùc‹Ìù±šùA°Hb‹á9÷ª wi pé¤"BØÙê16?ã1H Ÿô"Ôä01bDY’Ž+Ó×v%<.²›¹nA»óínWRϦ?ÌF0‹ÈÂ!“4SyÜžñHJ÷Æ4?À] šª¶„ yÒ&°®¸û j( Å=Þ+# ØXÛ;6˜[àÏ '
+^†Ê×gŒæ”à‡É»‚o¤“–‰`ƵÎF:°V9Áãs‘ÎHðCn„ó(Ò‘BnWǃç(=)×À§…Ò{Ï‚ [ŒŽ(}Ð ‘qêJçs
+Õz7Toézð(çˆð€iÜ?Õ JLaDõ%_Ïo˜üQáý?ÜÏ€òòMÎä~&þp÷3¬ùÀýl0<á~Æ•öÝÏ0ú¤æB.#ä“ÜÖ×H
+÷à•™§äù¸qÀe÷Å›ð.Çënµí <‡ØXÜTúq/{FežkªÂÅ|°UßS:
+á%x®ò¢U*öý ¡lÒ<…ÞŠ>Pä.ðù=°y€/rÍ^Ü2<§GÛwà÷ë €à0.B/¯§òÒ\Ê4P½b¢.ù·ïc7 ¨¥Gºª^ÚV 4®m2Ö<(-Ú÷ö›"R,T!Fzi<C5¬ñ*žšamŠëúãz¥ÞU¯êúÛ–%µ©Ääu<á m^{îjI÷*´V•
+vmæLlÙãë—0Dø~˜pKEŒÅÒ<ØÞ…jï"ÆZ¦8ïq‹þÒÖ PóÑ5á]C>¶^JÕ}]t‚p¢ýHjÎÃ_VVB0í–7¾ÅÓÝR…IÈ&ƒf¯|°.ºQräJ%ú\êZ fa·6Ì®4‘e”VOñj©±Ù­&Ê·Râ}Ë‘A±%¾'¬6Vkõ)É´…D6Ñ𵉆â͛ө:N·]¾x­zj+ÛÒ¨RÖÐ_Ë' ¼ö¤ˆ§K+Ò+ŠŽ«Ø]¡ÆC'.Fh±ÂR`…¬¶ *ÕŽæŠÐðRÙB/ÑFgè V…—ôæu-ÿtoTáœcÔ­øöÌwZrSYtäÙÔ êk­ê
+”Ò,Ç–òš+­VSÉ™Æ Ú$7Úε¶Íé°6ºõ2FŸnX´í “¼/ÖÂKÝt´Þר„E×*Hv JO’u-ÂŒ&vµº»x4Ùv¤ªíeôKS•'s9pÉGÌÐ>®­éLû+:W-OˆZ·V [«\[hmºBÄe‘EÄkðI5Fo>¥Ý)5µK&øåd©Ø5ýóºâC©gå  x,ÄÕãë¾kǦ.°gE¾ì®g8X…”›™·Ýõ°rȽ™å'›=Ù5¼H Ntö6耣úfNÊ[kfBšN!Í)…4 š+3…4ƒBfò©VR³žJZÙˆ’˜Ô©b©«ßku´ðöA0€6¬6s/>07]‡Ü®„Óm¿;*¯ꎵŸ!”—[/Ï©6Ä÷z{ «ð…â4É?Ëjxm¿®YÜH3H•Ò¯¶ÃLh:Ì䱋3aÑaÆÄ;£;¢^aÈ>Œ¹\´/Á©˜Š­+,êB!:Ÿ†&6¤yä’Ú¦{éN›…'z5”;Ÿ&ƒ÷xÕ•8—éaËÖ*„ò^ÛRO”Œéï°@»Ó_i©Žç±ýÄ~åÚV1éFêײ‹ŽSzéêÔaoê‡~Ao­5FWç¨#Tt&u±K9AîfWœX×Xö~ï=»c,Z:üð&l8ÿ¿Sªi
endstream
endobj
-289 0 obj
-<< /Type /Page /Contents 290 0 R /Resources 288 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 293 0 R >>
+288 0 obj
+<< /Type /Page /Contents 289 0 R /Resources 287 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 292 0 R >>
endobj
-293 0 obj
-[ 287 0 R 279 0 R 280 0 R ]
+292 0 obj
+[ 282 0 R 283 0 R 286 0 R 284 0 R 285 0 R ]
endobj
-287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.659 258.922 251.614 270.877 ]/A << /S /GoTo /D (subsection.6.1) >> >>
+282 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 362.08 721.007 376.805 731.846 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.179 92.406 130.57 103.863 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
+283 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.03 721.007 477.985 731.846 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.274 92.406 151.731 103.863 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
+286 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.659 166.657 251.614 178.612 ]/A << /S /GoTo /D (subsection.6.1) >> >>
endobj
-291 0 obj
-<< /D [ 289 0 R /XYZ 78.37 808.885 null ] >>
+284 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 111.179 67.03 130.57 78.488 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-41 0 obj
-<< /D [ 289 0 R /XYZ 79.37 240.596 null ] >>
+285 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.274 67.03 151.731 78.488 ]/A << /S /GoTo /D (subsubsection.6.1.2) >> >>
endobj
-45 0 obj
-<< /D [ 289 0 R /XYZ 79.37 216.366 null ] >>
+290 0 obj
+<< /D [ 288 0 R /XYZ 78.37 808.885 null ] >>
endobj
-288 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F55 229 0 R /F54 228 0 R /F71 292 0 R /F61 239 0 R /F63 231 0 R /F53 226 0 R /F16 251 0 R /F69 269 0 R /F32 236 0 R >> /ProcSet [ /PDF /Text ] >>
+287 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F55 225 0 R /F70 280 0 R /F54 224 0 R /F71 291 0 R /F61 235 0 R /F63 227 0 R /F32 232 0 R /F60 234 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-298 0 obj
-<< /Filter /FlateDecode /Length 3781 >>
-stream
-xÚÕ[K$· ¾ï¯è?°ŠÞRƒ¦·· 8''{ |JââKþ~¨)êUÝ3b£=V•DQI•¼üã"/?|º~ûô‡»r—C^{{ùöË'/äE]Â!L¸¯„ôêòí×Ë_^¤ÔoR-¥×¯ŸTðÄBËÞÒøð“ðƒ¶¾–vzïö¡QAJõžÄר_
-Í`Ò[™f¹×1é©|Õ¡ö°·W_ÝÚSÁ¿4«!êi|ãR˜ËB[&”>i¬½Vþò×\Çùý [Àm^A€Î¾~®Ë&ùùÛp^¯ŽÂª(¬=¦Ã°ð3…±´°¼dYS—_¨®Øz'œÖÕÛ9/A }˜/‰+/÷²1βխùpÊeü;ù¨âi¡¤ïväZ2¶ãÒiëcûépÊp#i'êp¤V¹*Œéèó\1=õðÔ¹2+Š^éKü\›Ø$1ãBZ{Vq+Ôô[îLˆêk’ßÒ-iHy“ Kªll»iݵèBf,V­ƒöýºa°K\Š‡”"D3nŠgÞ„ôWÁCÒæÕ%e@ž_„RzœÉy<’ı͂€[Z¨òÝÉ;ƒv!ñUæ„ÌÀLŽ3o2CYºh`ÑÅÂ<足܀䖽6ÉiF‹KúrKè©7qdã –eb2—iNõ%µÒ¦£³7|Gäw}O<l4Š¥_¥îþÝfó츌ôÂûi3“N•Ýñ·B‡íÞ©æЮî\‰3UüqŸ-
-9S’Ò+©Š‚kCqEÇÓ(Ü®„E;¡‡ë#Õ«JÆ)W–ÅuAG‚DÇß_£yiꫳ"g‡Y¹©-\ ® íÊ¥Í>U¾QÐ×êfïmŸÉ©ÇËH¡ªÙ$’ûÜ7«T•.e÷+Î×+Qê.‘t›( ÷ …
-í¦Ú"9h]ëÿ‡¾ Òqî½¼PÖ-·®tv¿¤ðGfØ…æ­iÏ98
-,æÒÆ. ÃBÛc`7¡…w„:ÛÀL–€¬'¾DŽ^¶b´ÔŒG‰ Ê;äc)9ŽýœºÂQÛ\ñRfP<oF‘ÕuìBòS’%’iÀà¦" _—9)ƒ;õGCq£8x4•vÞqçFûXÄôX’"Ö\éIì§Ü4ªÇGrÓH—E”ùMªã×ê7 ®zRq0žkÅ<$uSzSÆi¢¢â6W[J._Ž+­NnXU/ ['GR“Í+õÑÈK’=JÆ7š D}:ýaìlRRûw&UçžWôÒßVéJσf•¾{‚è¥ONBl“µß8À­û8rL
-W²éÝéPIInÒÀâxé=Ï91¹§LìC¨üÒŽh3ÎŽ³œïÅS‰å¬
-ïYÓôZf1g|â …ÊëiÍØG¡ã4kËvð"=^ mLÃÖÃÕÇ»’c+@ò<ÄÖ )ÏA}c¢šÀ¶/äFj« Fò“Å-Îúæ©»š¥+â‡ÖšngI|‹rT[ˆ¡ƒb:2(¶*áÜÖf2­f§LöšÞzœÉ9Ûàw$æÛA´YÈóH°-kqôÒ
-#Õ&Âs§äÛýí±g^ ãã:=¯’b ɳE–*ðÔÓÍõwÂB¤;E³èüÛ…&ªÊé}úñÝÎs[ÍN€K©qÓ”K4ÌD!s€¡!ÝdéFá|€Ïf¨’yŠO„ Â7ãÿk8£!hLÉ—ï?)‚Ë5›DþŸ—®ùG–ÐK70ý4o,tÝ[q=õZ_QH5g;sþ AÛn=ªÒª¾¦„}ñ…£2Gª¼¥Ÿwåg¿–
-ìc´Ù§icÁŒž ´ÜCT‚Ÿþ¸ÜòX]ç]ýƒß×'aΆÎ2¼Žy³'º³vylŽèÞ{iûRöŠ%lúëeîeu¡­÷…·-·~‰Ý¢Oʬ×Ï¿úª.‹à ïkôp¯ÀLß ¬µð2válüCüîªr»I} kðnJSܺ§×þ"ü
-=V«–ZYååÒ«9/Ç'ªŽ³±‚¸,×pü&Ð
-ÿÂ?äLq‘¥n)fRPiLýêÅwßÍ„˜²ô/Nn³l¿W(\ݺœ z{šTµÒ1+}g~èËÂ'hÙÛøÝ Ñm
-5Ÿ¨:´hÉ¥eìG‚£2l]O
-]â"Ø ¼l{pÌ´Èò†´:SëR¡²Y 2—¹×ib9L—˜ÃÓ–>ç×rkâ£pÿÖ»S¶ú³ ŸüsÓÒÚqv¢~
-4shéùÇ Õ±N)Z½Žo–®5«™É÷@òí¢7á•Õ½×ïûŸèfEÝÅ*¾‡1smÈ«»µ³›¨³®Û Ëj!tlšEcy÷DŒ¥¼ÑtåöÞkìÐ,Cz`B©ýѤ>ëúÁ6"¨c\÷„ì*Ķ<n£ÐÇ´u  , ËäRwö»bðÉç£Ýå¼z`:ˆ mºš÷—Ÿáùßà÷cºózÄËrÏ_!„ß«Ò¸]þüé§rE–axðœ­>:ò¤TJ)}„^ì‘+}ÉS¹£†¹%ë;‚ÇU&·+“\Ç&w‡¼^¦–Zv¢Ò8ê³ï¶ËVñ§ÝU]gŸ©'9ûÑzñÑö“‰eÞõ–¹ïÌ2õ}
+297 0 obj
+<< /Filter /FlateDecode /Length 3627 >>
+stream
+xÚÕ\K$· ¾Ï¯è?0ŠD½Æ
+ÓË/iêô뽪Âjye†Äh^»›fñUƒí­ðÔéûv&ùŒ|áM鹕(Í–×pïÛh€×y®wï? É°qŒÅÛÄPié>nØYHÞoÃ*³Údpª¥£$iÓ4å´"yL]^Ç]骩¤$L,4Ä…—l#³MÓôk›¹š‘b^ò³ù ²pöâDD³mÓ ­ˆ2 ÒJº+m:hñ„Ýu„—žÙÝl²´vßf²”Ñ»™ü°X€–Jk3Ï”L|·´oîÚ[½Ê»(ëþ½­ŽcigÌÏ·ªßiNqcÑ‹…Ÿvqi‹£~!Cf<4RóòÅÒJåb¦ŽäfŒÆÙÜB[Çm4sÿµŸ÷YbÓ:'ÅsRx MñÞºª¹vdC¦ÀÈÇc¶÷õ$ñ ¯«ûûòšç¡U…ë1EÀI6ß²PLòZZºò”¯Ú·6 wn:öMú«o|ä; ÙÖÖ´ÁaµaÚ!4h6zõ1”§˜€‹AÈÏ@Þ¸¬`t<Û¶¤‘Jª>«nÔGOæ²mG¾:µí¹ì$ò*yCüuËì¡Y5*câf3Ѐ.ŒuŒU3Fk[à,¢=ØP};æÅ+Q¯xqke^ª¢%Ë÷À–[¥…Òî|Tõ#B<Ms_¡o¸ßÔøcèœDi6ÔqK²×îÉò\!ýšl‹µ£(cÝé0²ª[¡7º²GJTo/Ìq¹“6 ¹;ßÏUŸ–‡lþpÕ‚Áº-a©ˆH|гèH=³Òßê|i“@¿X5›çêk½P
+晬£-ÉÎ(+‰T7·M÷ œ«¿ÂjT ¢VëÐ
+]§{¨B<
+ÀÝÈ(ÞÜæQ<¼)Æ’ŒÔÙD!Û 9â&
+«Üf5LŽ#œ¬sȇzíµ©V½NO⬩F€ÿÿéÀµá¶þÉ_¢¢:¡nTëÐRGà^ž-ØšøÏ
+T›ð²fæveXË“Úз‘ 9£LÝoƒÀ0SÚ\TRÄ+Ò§{±Q,FGÖ"Ìq"ÌD/´³mãyÖ‡ñGtB38g.å08‰Z¤tà<3‹™óHˆw+Ï­!««7J#“›Öj• ì4Ú -WÌK×'^ºŒ}ä¥+Å=X7Ä,¦Q]¦þ”?wra×L°Âtƒºk\q±¬ð”mtfõ­;-žÎï£ÈØ;â4ª;ÄGs£‡lÌëÙ«—ôçС–œ|iÙ8†Úaxæ&¹~Ÿc’­V™Û¯s87l6•ö¿T“!Õ
+ ²îÎÀNwŠL××Ój÷ÞqœŸª•ÂàÇ]þH¦”.þ’]–^:>i…u›eMp°[æP èò’ÐG*Γ
+ßBy»ÝŠzz*§B§ÿ.óßÄ÷Î-\E/>[4n#Z9pØF#’ÑýXŽŒ>ø³YR…5G'jqÆh<4nî ¬Ô]6vÎn÷Žâ¹6æAñ¼Ìà ;¨T8¡LÙ`*2­æVŒ»v3DɃ-ï­½“K«Ûm}gðŠ±³ck²¡È„ èx—8îëoi²<†gP»á¤±©æêÉåæñ¯KKzëX|µ ™{e ÆMÛPjàÑzÏËH/P«6Õ^w²AmfŽVâe2²Ê$ãªq# h2²6
+ >µ=)4™K#»S=¶LœùM`á{”Œ‘ªN¶l¤¾ÄNò’qˤ<,;ÉÏDɳpdì¶ù+zj7¡Öx)3¨U÷EÏ,³I„È_5ÜZdýr'åáÁlKÍ£®éh…7Žû·^z׬—e ;†sß4[j×OPa“^ŸÀ xí£—gѪ²µ¬.Ïmj•ÅÝ„mµ+¹†Ù \¹tàŠ¢êº0wr&µ1{¥Hx]r„ÉtšW|>#™*ˆ³dR‰îüI/ãMÕ®ô»Vî»'^ÆäÄnꢎ{
+8 ‡­Þ P´> U–iŒSi‡³EÒ”[ ßú†L…v¯3L­ããN•s§ÛÞ È`Ó °ë\eÀ€pÖTkfMµv ³·à—Ç„åI=•üõ@¯_µ6Cr™‹àç1Gí5eDoªµÙ»ge¹Oõè´Þq,ï¬ó«Ú|Û:ð†H×ZrXû(mÙ¨lüM…-Õ©¯ˆÕýU–ƒƒ¤K©òžO¬u–Òíž·×â1†k6³ö„¯Ò¯;àGx=µ@Þos3¾Ù¼$cŽúÌUŽ{Ì+SÕ„ïÀ\›©WC<’YtsÖ;§z6ËPBýjÓ¤%é.éQ½Ú914¡±U·!nл/á-foA˜Ozq¤çLÀïHÏ÷è³4õÁ¾¬ÅÖ)d€TOŸ6ßÞßÀ:<» e|\©çµR
+#Íôv›®ŠXGÚm¾a¡vvÊÉjûß;šZmö3ïvž»m‰?*5 ýGÀÌP¢ i¦o¶™à…EB
+ŸvÑo¶…Qˆr ”‰ÿ×pFÐ_Òþ†½I/[åÂM"ÿ¯Ëpùg–ÓK}˜n3o(tíkq=µ/‰¯£QH•g³åüAŽ¶·
endstream
endobj
-297 0 obj
-<< /Type /Page /Contents 298 0 R /Resources 296 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 301 0 R >>
+296 0 obj
+<< /Type /Page /Contents 297 0 R /Resources 295 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 300 0 R >>
endobj
-301 0 obj
-[ 294 0 R 295 0 R ]
+300 0 obj
+[ 293 0 R 294 0 R ]
+endobj
+293 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 493.753 440.518 505.708 451.586 ]/A << /S /GoTo /D (section.10) >> >>
endobj
294 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 493.753 564.737 505.708 575.806 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.259 428.563 166.214 439.522 ]/A << /S /GoTo /D (section.10) >> >>
endobj
-295 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 154.259 552.782 166.214 563.741 ]/A << /S /GoTo /D (section.10) >> >>
+298 0 obj
+<< /D [ 296 0 R /XYZ 78.37 808.885 null ] >>
endobj
-299 0 obj
-<< /D [ 297 0 R /XYZ 78.37 808.885 null ] >>
+41 0 obj
+<< /D [ 296 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+45 0 obj
+<< /D [ 296 0 R /XYZ 79.37 748.289 null ] >>
endobj
49 0 obj
-<< /D [ 297 0 R /XYZ 79.37 449.94 null ] >>
+<< /D [ 296 0 R /XYZ 79.37 325.721 null ] >>
endobj
-296 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F72 300 0 R /F63 231 0 R /F16 251 0 R /F55 229 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+295 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F55 225 0 R /F69 265 0 R /F68 255 0 R /F72 299 0 R /F63 227 0 R /F32 232 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-305 0 obj
-<< /Filter /FlateDecode /Length 3986 >>
-stream
-xÚÅËr$·í®¯˜XšßU*Ui$k«œ“½¥|rb’=Ä—ü~ÀHÍîéÑjW5= ’
-„NP8\»§èÒ﯉¸¦Ñøß[•~{úõËO U{€ª–ø*ª& ¸b e%oÊŒ·ŠOŒmÝöTp?ã}}kÍÓ'HÓ¾] ²iZõB ¦Iõkù¼]+ V$
-]M ËMP$’ï"4 árÑ
-%›Á ÃfÃhÜ#©™Ž,DÕkå^ƒ·UÕµI4,‰‰þ¢d ·úĹ®ê™àÆ®ŒôeuKeuƒ²ºÓÊêÖÊZé¤9ÒÞ›k7~oãº×ñÐd˜¿%ZÚ:±›Ãv’3y y>0.h¡L?m“ÅOÚ{Ρz“djŸ²—Bé )<I #ã\ ¡ºyæAVòûæWdêë,š Ž÷|‹ò@´ð™Dý6Zôâ74RBQ£òt¤Fóž ¡ß÷ˆØÝÍ,c#Û¤öká­H~C‚ÏÞpø= *Ë[í•Ph«ÓIV'¥ÖœWùi¦…x\9täÙ)BÆyqH’«*±XM²VM¯êÁÁ¬Ì¡ƒ§­ÐøjZ euÁ
-«…±aóãhù (æÀì;é€,Ò$VÍ‘*‚ïû‰` Et„êë<+¶ÎrËkäš‘™ê¤»˪() ù=,au˜W);|ˆŸ¶Nà)0ü@çY-b´›}øÍíTÇFrˆç@ßÈ”§~Òì©žQ …$“¾«QšÉ²A&dV”·Ž¬òK—Ÿñl£Ù‘Þæ’›a®ã3Ž ö|›úöÈ·™Â :^‹ð¢ñ„…Î;C Ò?·áq;³aï„„(ŒïR)Ç ‰Ì§Uä=ÕÐ'˜ÉÀ¦ÑÙ„ƒáFö‚¬y
-d:¥›ç¹ãYŒ2“Îm¾Žn84Ÿ(2_Î)Ù (s<ïÍA2‘Æ$ ×|’ëÛƽ½Õ÷Ú‘'ê#;T÷[yaAó“*Éz’{kØ.Æ45W#Z!e¬0æNXHe1Rqñ,nį,EîøÔT ósݚ݌͆[›êÉ5vÉ!DÛEÇF¬ž§­‡¸6…vøÿÏ76ÑF)dPœQé¸ËG9”? P(ÑLS=¬Ÿ÷ýpu¾çBjš«PvëˆÂß|Ÿæ?Œ²R¢Ñú ؆¸»WËk¶þ$"’Õ†ŽHš»9w¡[Hº…„¹PM(Ô¹sÒÇÇòID§O#Ž¯á7„Ö rN(ÿ¿ØŸû܈yŽ·`T´ûX?²iÅ"Ü·yÌu©û=½O6Ÿ½Úзw‹ükU]oQsc¦ðŸ—áñ/ÝD£¢b˜H‡#È-E›<b¨õ4ùšÂû…fÈ<ݟت[ŽfÏu3¯µ6}dBÆI\,BJÕ¯¿tÞ 0hšÇFžF äÏëAˆõƒÎ íì<[r[|vÅjTŸþššìyYi€´Â‡.~üäôQ§Ó—ùo¦výŠS¯’<¼ŠÆ’:…'_Ð+ì|5™º•3iPƒV» ã?Š:pÂ3¯½GVÂy³Â´agö¨ JïnRg¾uãÚ·¨ÛbêÍ;sÒ•vtÑ¢³ß¦ºÓ$w©î4¶EMp¬ªÄ¾itUÕ]Õ4cö9~'!ÃÔ=¾9ÅHRÎ?r¯×+ƒ æAå`?öËIœîZM;¥yÇjÕ¬.WCÞU&›"(ý‘ ‹a£›§sÚt-+è›z3ï½µ$i¹´6}åëÑB˜†ú¸^'DrnŽÄ):£FǙǡÅî«utMø
-PÄ Ìª´¯ÌÚàÜvÏnŒv“Žk™ó6²)ÛÛïsn:ë¸y=½å²Üc÷X‘rŒëØxF I+¦±;ê£pnÃÀ¥uN†Ÿ›žæŽÿ¢–)D5RpŠ£M¡‡‘{JY5x€u'Z{Œí`’ZÊ%zÑWqJ]g›íPC¶ÇË¥îù¤ qƒ‰©£³:u “NöqtÂÙ_Kõ.ÔäѦÿ$cØ”Z5*ÍEÑš /oxŬ—A9®ÍÒ{Ž‹F aÆýdd´[,‰Jxµáç*áŸ)åõÏŒ½ÎJìïV ů<yËdÏÄK@[ÙÓéOÃzïOÞS+‘ ßzš]›È“ÛíiÓ|f6]O&.‹òa(ÊŸîŒÊ{E‹úöŽ¢Eï‰
-7{¢Â¦"c}í);ÏhŽ™¡.®ëX€Ÿ9G«¥]+*Õ†ž‚¥Þ)½°ÙÚ¡KiÌ`Y¨-$˜E1(s_{ê0É)¯§'i(ó o[1µ5ÏÈTR«Ao#…en²hÄ«œVî¬b=;;[AO"Ö‘¦ºDbÚ0qKüs¬-§ðÆb²°d6ÅITô…ž™"íí^lòˆ‡Új0“Fϳ´ð©Zý^X"*x1°P}¢Ú?I‘µ¼¬ÊtLÔ3{eß«\Œš×bóÓÜ”kQïÔ«L4;&¦Žy!˜­ ™«¾Ê ¤ìå9‡ùùáÇ/ÿî¶ãXçrp'âå·¯ù…2¸kÃÜ”}üó—ß~n>BnDöKñÐ2¹½039e+W9àäú‘©¹7›Ùêd;¢†1¶3v³í¸lŸõíHÇïë¿Ž»±Wý{ÛëRKݬÂNUàÞ$ cµd,+Œ}x:ïUFó<7¤£Bo†Ú[PÇÍíAùסÚÙ~Y·¯PwÖ‰ûÈã=àC³.ávóoyåM¨«F7šÕã[5_«¡y­"¥o\Sãºe6&ƒÒA\žnKM‚¤Îk¶úd^Iòžv+y­×$Ï턪(Ï^rR ûeÈÐÖ¡ÕžIÌoš¹mpG¢T¡Þ!JŒ…¯å”äiÝ5‡ÅÖ«(,p%?¡`ÝO¯UäÞ0úKÅkoÃœ_OPÐ)DìÑÎ`è×hÇÑc·©v9»ÊœÐ2n.‹ôK"©pv³ÅÃÛ¡÷Ð28óP>5n 7 ¼í¢›!è%GgÅë[¤éD,šš§½ëeÉçm—cqºxûµüœÄˆÔê0¼ðr‹Û9oô€ʨy¶Üt]\HÍ€w¹2/³‰cr„ *;ûÃpICXÃ0Mr[ˆ'®dHØiæ:ã³ëÛ—x8h²TÏ¡= }¯ýçá.ÀVsÁ¢«†8wÛè†Fç°ÛèLmWž9”y´ÃæÊ›È=o>6õÎÆìa)œ칶ä)HÝ Ë…–-ì¤â¸AÅ[Xù>…"¢¨¹¹\cŠhÑ©·ØRƒæÒ:žÌÉ¢(y¼ÅºÓÊvh«¶þû›‰”Ów
-aKûN+5QØý%ëoú3$Î\ò¦cö0…†éÝpÀtžzèë’÷CûÍq§­‹†Î‹ñ¼Be
-ËPÀQ†
-€AN_M—-£(‚:qå¶@í]¹-oé|ç7Â(Úu;½‡eä™[5#&í®fYyÇ£2Ù›•ßÍçH)ØÔ:5ñ˜|Žå…âc¿Ã(ƇyFžÓ+¡ŠZz§wªúý§t_y)tÐ+—~´ÌríXŽ¾¥UÃðÁŽ!Z
-ÜŽÙ½J“uÉ9½¸1ÏY<, ;&ÊúyONÜ61Þˆ¨6Í2=\_¨û#‡E«ñ0‡,¶J 6›¶ºÏ§
-L>`äå_—¿>ü\J|.èÃ{™RatïÑ» QøhÇ´sñòmN[Y·ÖÖ³Yßø«\”×
-èt=µþ:)o-ø…~*‚Ÿ1Ü‹èÖDBju1ó$Ÿ1M²ü—T¬™ûE¬9S+Pï)„5<:7YζT]bã3Ï6ØYò{ÒCf½·Ã¥PkX¯ÿ÷X¦ø¾JOêkScÀ¥çì¿Ô`Üp“Ø9–.ÎôÎ¥3¸®ËyÆù¹3i§ˆ‡U-…Ç‚ð å £ª¨õ<¨‘8t)42{OQ/};ÇöÂ2›V(YÆS|Ž<¤¶J«¼9·ðrãu’¾ŽÝœS¯tUŸ§`v°4ãê_¡—Ex*²SæUz}GI6M{r¬5·HxÇ5Jÿ>MêJ—¹ÃœŠoš,÷î}ä\
+304 0 obj
+<< /Filter /FlateDecode /Length 3962 >>
+stream
+xڽɎc·ñ>_¡šKq ôY8§8s |Jb’K~?ÜŠ,nORO;äi½Ç¥öEñËo~ùúéøö釛Ðϼ‘.ß~ý$ ~뙲kãF\¾ý~ùë çà8W’s#_?+åⓃs-Ÿ†ïœsyä‘·ƒŽ”7ÎÅ—ðæÚÍŸW O@æÕâªñï8Gu«™°§~ ol|â_òø´ÏÁõU¦‘¾BP`M0Ãëçô:/G`UÚtÒ—ŽKGä4à}A¶¢Æ\ Ñ/€¨†’äâf
+ÂW÷ä î?ñïGÚÉ%+äÒVÔmÃç—o? Ï7•Á¼ïZ`?òß=»ô’­ºR ¿Ùk\!äny‡Ìª8
+ó'®+yÐù` ¾îÕÉ‚U8WëÊð2é’iU­
+Y{ÐtALUéŽýº“5:f&Õ…µ¤QWº?"Þ³,¡…LîÆ*‰¤Îd”ªƒdÁ`e™ÐUƒß\\MøÅü†ÜÄßdÁ¯ãnob)Ž±óÊ:d®¢”ºvO&¸ýn™òê!µÂ‘›ÓFrÒ´¦µÃFiN€¾‚—¦&2M‡)Ú­ˆ*<3\!Qå[3,¨ÓÀÍK“Kà–è1"™Ç I3ÔMëœ
+ôÚUèßzJ°¿ÚÁ‰¾¦Á´ƒ ÅíXðÙxÍŒ—Õß]ѳ6CBÍ®¢»¦oKß‚ªÕìdX°˜–×j–š½ìmïéÅöˆ uûýøÝ`¼ªê¼ª*^õÀRxÆ›|ƒ¼Þ¨3¯?Ü´¾æ­ršF¡
+{Ô¢×µ]Zjï¨Ñ¸‡íRä}|€Èn™iÝ*ºµS:íØ¢ö¡Ü{
+A!ù‚ÕZ0§k™õ™ìpÄi\(tÙ ³§qs ¹¤‰x´š}B‘ßÇïÄÊœxJ3^ ;-kgZMåä½å)H
+ Ð ´wxÀB
+mYó(lH¯$EæÜk
+É S¿¾« jæ'j5hèQojSR´-8Úç­Æe‹çLÇÔ.üÿë=&—ç<PBEw—\¹Ì?Õ 1•8È©¦ŸÓh¼#MYï-£×ʘÝsQá™ÍóãšÒvÆÆëÔä
+¸yVóœ¹@žG$n¹p€ÄµkpçÈjÔ­c¹<#šŽËÚ‘8ñc}þD¤ã§"G÷°¢…A`™wÿ=GŒL:çA¯iÏѾ§ÓŠF·êûbæ²×ó±Þg¼¯üëÝB-ÊkuÐ]ŸPüç¥ûú§ ³"‚·pG,HE]Ý«°ºW_ãø¼ÜtÕ§ç‹[…ë<ÄRÜ­m­Íš‘~S&3—E€ÊŸ?7â4˜ôršëi)
+Ê`y‚ Э9%ƒ¨I7ªÂ^…aFmíîÇh§Œ­jÜ ·qÕöÎÐþ1^Ϩ@q3î§ÖÂ#Œ $·çÐ}T¨ý>Ú?¢…¨Ãܺǣ~3NyÜRŠ8þøǤhñ¹(nÂ?ù!ŠÜ—#Qµ*õ0w§šE‡Ñæé4³ÎPÓTkgSß*mnª¹Ü1W6§.Á ‡åK´Q'ü ”Ùçå™;1z˜a¶G>†s¥
+45’äƮ몵:nvÑôè«ëV­xš+mâÎMç§ B"âFØLo¶§^¤¹aÕUå>aªÆ>È©µ½6-þºfÍ\…%²þâŒF¹…ìÉ 4ekãIr¨(Õ­UÌxZ§®ß¦>2˜˜À/Ï×]w¾þp“S¹;(oŸ8híMîn{“›úüKkJ”ÂVˆ“¤6dýYúH9Ü-VÛêù¹w¢[‡ìl½¥æ±’KM 6x8¸s¼%¾ÓA…!¯3·}çÞž7Wz|n=‚ym4iHªT n”"Ý7NI§ k@O=¿þeÉgæ¾_¤ízÑÄÒ[.Ý1c°ÿ E®˜›Y±k–]k+„„ŒƒÙv
+[”[²Õׇýv –ÊØ5+i%'‰"§¹é5Œ;ë®9ZÛ?ÞLľ
+=@û^32+ëåŒû¦!1lá’¶wÃÇq$úf*yƒ—=­^Cð(
+[P%òµ6•œ´h?¬_8RÏêÉ
+c¯°pzo½£»L4®1Ý›6bET%EºéÜ“õ»n=¬¹§œbRŒü#ÉÀš•ô5¥žR1c©)Ìø;BíŠ,C–3×zarÄMeHógH†1¨¬în‰e¢?SJ¥Ã­¨$\H6!ÜæÖ¤Ži‹‡q‘S«ßÉ¿[È£ÞS¨p•Ù
+G4Õ±w~L…ÝuµkXþ¨½z¿6¡^å‰p©å
endstream
endobj
-304 0 obj
-<< /Type /Page /Contents 305 0 R /Resources 303 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R /Annots 309 0 R >>
+303 0 obj
+<< /Type /Page /Contents 304 0 R /Resources 302 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R /Annots 308 0 R >>
endobj
-309 0 obj
-[ 302 0 R ]
+308 0 obj
+[ 301 0 R ]
endobj
-302 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.139 417.517 190.205 431.465 ]/A << /S /GoTo /D (piton:transpose) >> >>
+301 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 141.139 300.097 190.205 314.044 ]/A << /S /GoTo /D (piton:transpose) >> >>
endobj
-306 0 obj
-<< /D [ 304 0 R /XYZ 78.37 808.885 null ] >>
+305 0 obj
+<< /D [ 303 0 R /XYZ 78.37 808.885 null ] >>
endobj
53 0 obj
-<< /D [ 304 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 303 0 R /XYZ 79.37 651.117 null ] >>
endobj
-307 0 obj
-<< /D [ 304 0 R /XYZ 100.292 517.741 null ] >>
+306 0 obj
+<< /D [ 303 0 R /XYZ 100.292 400.321 null ] >>
endobj
-308 0 obj
-<< /D [ 304 0 R /XYZ 100.292 457.965 null ] >>
+307 0 obj
+<< /D [ 303 0 R /XYZ 100.292 340.545 null ] >>
endobj
57 0 obj
-<< /D [ 304 0 R /XYZ 79.37 298.517 null ] >>
+<< /D [ 303 0 R /XYZ 79.37 181.973 null ] >>
endobj
-303 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 251 0 R /F15 227 0 R /F62 230 0 R /F63 231 0 R /F54 228 0 R /F70 285 0 R /F49 224 0 R /F51 225 0 R /F71 292 0 R /F33 235 0 R /F53 226 0 R /F55 229 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+302 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F55 225 0 R /F54 224 0 R /F16 247 0 R /F62 226 0 R /F63 227 0 R /F70 280 0 R /F49 220 0 R /F51 221 0 R /F71 291 0 R /F33 231 0 R /F53 222 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-312 0 obj
-<< /Filter /FlateDecode /Length 3183 >>
-stream
-xڽˎ·ñ¾_Ñ?°Y|‹E<ø$C· ‡@ˆ V;‡ü~Š"‹lvÏHVlc4ÓÕd±^¬¹RØíó&ñߟ.žÞÜlQDÎl>=©MâÿjóQh¿y§„tjûðeûË‹”`¤4o¥Ô ¥ÇÕøŒß.âo…¿¯ø®~{YßÉþÎ\ÊÜô;ÍWpxWžõ­_Þƒýë‡?7ºBA#y&
-%]#Ìâ@—ô¥,žUäp©ÈCùN„¥ñé·7uÁõbÚ eÕ¼q·oZD&5 ÞÜ”=Ñ€Ô| µÕåU)õ’Äû
-ᥗ×g­õKY^=%â2×q¼ 4¢°PÞ,v­c.ãX3 GÆJ‹àÝLü¹º+Ƶ0ÀZáUÜa¼'O{2¯Ï]—­^Ý.ELŽ±ÛEo‹n„·¸Gb^ýŸÛðøÓ=ã‚Úñ-sd•wd!ÙN–pQiÛ·Šß¿>[°ÕÔÛÂ\úÜÒj¶˜ uMŠë
-ˆ°9ë…1‘ðÚkÿÀc2ì,¾kùDWÖŸö´7‰Ówõͮ¶š,-É«¨…Ó°¦ØXa¢!ŠiV’hV»äkä (Ó÷Jž$®µ°:r­ÎÛÿž6ëv÷aBmήìã—§_7öã–Ç"y:»ýwË`ÉžÞüûó§?}üzåíóXn_©¶/åÑj×fû¥>;”uaS"JkƒP1â
-ÚúŽŸYt%‰¨¾Dc(!
-¹-O“Ÿ¬E ó“aU—ëÞñ“˜
-IeßwðÏ)ÐGËÌ×WZ¦÷"b;aAZ2'©Mµˆ°´å„ qOÛkí ÜMµÐ
-ŽãÑE—¼yäêšÏq‚kXâ@óݵ× ªã³xº‚«X÷²ßÆS"m÷›n•nò–̾kM&}ûšz²ò–_–ysój ([§Ã¾8‡¨rô]SÎrkI‰e-HRG{ºR„GõBù@ÝŒ2—ÞþÎ R¾çjQH×ÉnÕ›2*®Î »P—¬_A£«iX¶sOT3Üux ÷Pa—^Uì`õ
-\ò×·;F¤xà“ ”ôÂ)ƒžwIþ-gcLXœm9:4€ë¨ZÚòYõ±¿O8øowëJ`æÀ%°ÊÌISpe½Ëy3³vn~"Ôé÷V³ÓÇ;†½^Elú™ŽZ€"’ê
-ÛeË Ïµwmè™Ìª©Òôõ›¼Æµ8ÂÍÕø{RP)ôÙïÛ¹€ÒíU~ô3µ©Øàzt[¡¾ƒžñs•rU’„¾3¬éÚ ¸ÖÈg.£·:|¸’šÞ‡‘sªF s'£¹þŽ›'”k‰Õj6ÇLN–àz2X[õ4—6¨'Î7 F©rä¡sÜà~ÉaÔÂ`ÆÊ
-­ùç`ßAXø2™N² ¯xèš k.™¶hw$i¸ò9^L¥Þk¿Þñ-‹eÕÕ çy1É.˜Ë
-;ŸJ·ÀÁƒ/Ïöˆ€´ÛözºˆOW‡ýï^äÝr‘šz('…‘ý*«¯ú¸“n Aörìþˆ,*øŠ›ïéþ…Uz.ýÆ>}Ö¬–š=åéNãG™åÚyù˜lb±<Q<fƒw®·k4ó¼h=ö÷|@W¿ÝWö÷"Ê?ì°@bý‚*àêäý…Ôë BîS]·ïêèO‹{"ó"T}ØEõÑNv×בÒ{+,kn È^²ÊnY¬0Ù+`õaû_jÔ”—¬ŒõÕò§$*ëÜËCH”A Uóßÿ„v)9ÀÕ5ÄÝêWâ€7
-„7¬ó/3ïݪ .k±Þƒ ¨7ån,%ZÔÖSÞ‚úV“!ܦO<xz5læƒóÜi™Ùá6B„£ÛÆ’{a&é.Їsºs)† šmù Ñ¡u€A©µ=ÿ“¥e¾Ÿ7ÏÚû–îÀÁ R>/âj›k=Ìí…}£€§¾5aÍ×ßh3-η!Z¡Œß Øý…Ì;ºªú? +¦
+311 0 obj
+<< /Filter /FlateDecode /Length 3539 >>
+stream
+xÚÅÙŽ·ñ}¿¢`iÞ°XD£Ñ°ŸäèÍðC D)ˆÿ~ªHYdszFÖÊ1<Úi6º/ÖÈí—MnoNï¾»(·%‘¼öv{ÿñAÁ ¹©-$a¼ҫíýçí§')õ+©.^J£¥ôøIÏ&)xãìó£ŽøEÁð>¾ŸÊw³úùç÷ßÃqήŽS6
+åÔ| ³¸ª»œë.k U0¨å.5ªÂAµg>¢OõØSù¨×e†¾äY¯W è(… zGADèu¡`€33‚ð®þ ²¾“ýBkñ;Pÿˆ&:¡âŽ±!÷ª22•OA[ßF»®W¯i¾ô„ã°BIE f'¡²I(é "dBð™·™1 žl=͘§.K}¤šŸnÂÜf•uU€u!1Ûý©Æ «ÕŒÁÌTý¦À¢ë®#Ó^ŽÁÎ ”°`pU4·y‘ˆÁ°ÄAÙ´§aq Ôsx\ežvÂÁִΦe‚JT-L[9U5ŽåYŸi0O‡'$CÙ#¿=Ñ[˜Ÿm%b¨ÊBÔLÜTÙWLC]™gžËØÛ¹'‡.`#$EóÛÉçnƶPa³gHz:ô &ž;î4·œ|(^Æši¬}±¨$öK?I‡CžY¥… qޱؽ3ªPÁU凊˜ì{9•U¬>ÝTe„K©aÇw4β³jAÈ#»ÐœÍA&¡ ðèc&4üÚ˜ß`^8»ßíu^.=5üûö*<•¨R oí·q3·D°¾—åo~®cÇêlœ›½ò ÀE0q½“4ìU()kìrl¦|ˆB&Ó¾D Æ›§n.Ê“×]ݯl*4ó‰eÖ™¯ùF@ë ŒK3ô_a
+9Üö…—î ýDâá
+|ÀMêR|„å´ñßi*¬úçöðq{xWé—VôSª
+lš ÇÞ¬lsM“÷–stÉk¯
+¯‰Y£Í´÷Ú1Ý%s6 ŒX@Û™Áÿ¶ùoæçú—KDлýµ\Ë¡×`Gý<»Bœۤo œïº5x¬æà±Ûƒw[ýÿßÛ0³8ÉGæ%³’;°EV 4Û`V‚C²š`3í‚Ì`+àc)q_¬5Nñ²Óû@ÚP±5Ëí9£_×Q?ÎU²Í‰®¦hd¥yÜKñ žíAg³{ˆ¼fwáäÞXqcøD^“hçÈ2‡>íûÈÂ_'z´™ö8ŒOÈ‚ õöÛ?¶ïšœ”«;¿ä¨sÉ%\hɦ“œ´z - s æÞ ÀŒtÇ]€{
+<(Jà¼ûmR_½ô6Ëé´ãp‹iv¨–ç]J ,7†<³»-e‰¡R;>ǶÒì2©~ƒÚŽ=Ç¥»-:ŽÕW.LúÍ•úÝ(xeûñb¬J㢪e ÆL]kZNyŠÕþžKX›«©œeá×\ÂJ0{O
+gò)8¶K¦4*N+-»Ç%KZêÝ7/D2xw4±Ñs
+Ñ~¡o‰"–ò«mÙ”cä•ß!äɧül!|:Šh+ÑêöšÝ´ËÁ{کѪ6[Ç<6÷%WË:Â,ÍÕVßäïiõM~Ñð¥Sà£yN8—¡P{„l§ÚqbBß ZîÍfõwº9é}ðÇv×á“ŸOèØqÙéT¡BGÁµµ7z‰º…=ŸE7îrTXWÌŽDúrº"À
+‚ Õ»&X½…s9?¬”¸ÐÞQŸQÖå˜~:íkjÁæ;”iÇk½/Ô¾ïü¹äÞßÍÎWÍíþJG»Zw]–‹“±d`ö•kRüjøÉRܱÍ-¨-m=öÅÍ º
+Qxç^6ì¬-æ†Å²&%XÕžºÌ¢È^²>³f){ê%ð| Å|¾&†Ôav©6Ø–u”ýpvæ±UÊzWu«Í"žóx¿šÇ}o_×±SÏ,vcµ+­ó^K}^ÿþÇ'B) RvSØ8a®UŸ 0íÚÆ™ÊÑÅ>¬%•Ï¬Oý}þÍ ûîÏcn©™8p
+¬¢sâ”>³ú弎‰Y»E? œZ4´ZŸàÙîµ;±ñgºnÑä‘TÏtUtœ§YÜÃ=ëÜßI˜ò¹ü7íã\“ÁºÎÎ<÷µ×(b¬ˆª_1òß8QÇ_èAto%aÓùIã­»õTÇv3ÛçÌ~suî2GœÈÛ~¾õ“Ù8wG{ó»5þž8T²}öýrL!mDB9.Ô¶n¦Ï×:ê;݃~ÎRÎJ"PÛ¯ú g;3h<hVÌg&£—úøÐ¥Šïãˆ8%$–™£µá†™Á+n©x§ö¼šïLF–'áfXî[Í´–4ÈÞ¦NØ´±8R•›  ;Æm< ²&Äù’?&H’sŸÆO?Ãðßáóý–{·ßóÄÏ9ÁŸaÞ_Þ•Â&„¸þ ãü®ß ðhÛM¦ßò•»=W.^—x‹¨F„œyÏÂòò”Ól»Oc&L¾§ç%¸4 ¿ èÝþãï!ŸsâÔsCµÂ1×&5ýVqM Ž+3/j(Ù^C³A‰0À_U”÷„©³ãÝûL²Àü¤§_9µSZÂH«†_ª¥û›Ãk‡
+‡ŽWTûjÞQ ;àí¸øÁžÆ»<ZCj] 5Jv–¤†þŠü¦EöšFzôÏzØM¯;NôurBYìDèW´o¨IêicÊ|
endstream
endobj
-311 0 obj
-<< /Type /Page /Contents 312 0 R /Resources 310 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R >>
+310 0 obj
+<< /Type /Page /Contents 311 0 R /Resources 309 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R >>
endobj
-313 0 obj
-<< /D [ 311 0 R /XYZ 78.37 808.885 null ] >>
+312 0 obj
+<< /D [ 310 0 R /XYZ 78.37 808.885 null ] >>
endobj
61 0 obj
-<< /D [ 311 0 R /XYZ 79.37 535.196 null ] >>
+<< /D [ 310 0 R /XYZ 79.37 420.588 null ] >>
endobj
-310 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F15 227 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F16 251 0 R /F54 228 0 R /F68 259 0 R /F67 250 0 R /F71 292 0 R >> /ProcSet [ /PDF /Text ] >>
+309 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F55 225 0 R /F63 227 0 R /F65 228 0 R /F53 222 0 R /F16 247 0 R /F68 255 0 R /F67 246 0 R /F71 291 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-316 0 obj
-<< /Filter /FlateDecode /Length 3727 >>
-stream
-xÚÝËŽä¸í>_Q?°Z‰zÆ]]6§læ¶ØS‚äì!¹ä÷CÉ¢$K²\®ªÝ ‚AMÛ²ER$ŇL‰3«/œù ÇÿÀ«êö_–o_¾¿YqqÌ#ÝåÛß¾ˆøH\¬gÒ^¬ŒqùöËå§7ÎAq®>8—À¹ÅŸ–xÇk×WüYÎÅÇz-|v]ïõ„÷Ÿ¿ýð…3}ùû%üÿ‡ŒOhDèu‡Ñ $¹B@Àñ/à…¶õvŽY‡5g‚æ󲒆—‘leù& !=ƒþÅ{©Ö~‘\ÛÂð !_Ö{¸®ÏCÿ8t·Â¥¡ÓsÂÛMiøœð,¶-ë;‘†¶Í¯×òVÚÃu|ÆK[ `˜£a”à–¡.Vz&”ÌœZŠ
-'ÔRFõúw áÍRI’Ë:˜`…÷78¯¥ïG„e
-£VÛ2#ˆï¤A¶$Oj'=
-\‰m×½
-εº'½Ê²T¿2µ‘)Ï›pµÏIB±}©®osqÃÀâP„ViµJвQžéžlDÔÚ[/ÓZ–Ä¡ V8'IƒÚÇÈ$×6Ã$›§*ûA£WI/¬ÛŽ<râ–àÁ¶úÚ¹1^3É-qiÔ»†LV–´YÁv6ÔïÕ6ˆÚh†ZY5šÜæ¶\­m…2âÜn‡#ô’)ã“ÊçÖW¢h|˜•èó¤k\W6ÆKo&¢Û¢É˜aÖß—¦¤xY”œ_ýeDÆ·Òul›sO ¦,ìQ;_2AqŠ'Âd èë‰ÂPCȧ‘|‘¤ÐÀgZgëK<Ä9å|úâ1Ê£ú(ËpÍœÌ}u4ïßI)£ayÿÜ[¢5J€‘oʶ艹nõ›fðj-è­UÃë»IàFoÅ`ì=Rdù»6‘zÚkMîwåâfj?–†U¾òº^ÊW®°©¦û>ñ=ádîoËjÂ_{%ã—pËQê÷7ç@fÊ8†JÑIMµ±p‚2–¼ržë¡¸r­ú¡Q‘-6æöîä[eà–u…Ýä•î(€’]¨Ao¤Ó]`ÍöÑžä¢*öQUÜz[jDŶw Gbhí¥®m”´¾‹sbe¶³%æ(ß–‘ÁNR˜4y÷D'QtÊwb©x“ç+äѯ
-îô[‰Ö‘;3º•Ô c›Ó|¦®–k›4MÇ£¹D,¢Å’T§Z7æ­D+·éeÑt‡^ø×çHQ©|&ãǙŸ¹ü;XAºù1˜C#÷“N^P˜GVy'±…4}>„Á$@ ¯Ï½î£¥ë´ë©Cˆ_×qÆïV¢<“¼k5ƒýár¥^ñ9`^vÔS¨a/%ŽÒªD ¤Yኻ‰Š“¨?ÅOÁ"„_ö³¶äŠ4Æà ¼»¸–t£¡eͳò{PºÞ1h?£|`˜Rª'õQå“áˆÞ0Q¸Â´æò2
-b‚ËÞ6¿2RÕ^Ìä\(TÓ.1ဢa[T6Ì0µHåÍÈãb\*¼«×à·ƒ?>«ÂËpŒ3q˜9d) ÞÀá|ócµ*f]LÃzB¼k™†÷ï4è*fÊ1¡'´E)Wp¸ërÛVQKpÊRL”á% äÚJi]¡…Ì¡Ë&™ŽÏ´`_7š«WÌ¢zµ#)a`Òœ‘’5E"9&reQ*†n»x¿\¥q#­]µX•b2|Ô·ÖŠ˜Àæ¤"L³ tYiƒÄXQbäÙŒ;¸\³Œ¹)›8µœ
-úçÀ³˜Í€µÿ‹œ%Nîqö·—ŠÕh«d˳™TÊQ¹®‡9ƒÕcjO UÜ1‡!Ü@´sUŽIáöTì ƃh¶õë½søÞ¹#õIïÜÂ{Þ;˜9ñ7Óù1éWÏJ ÏsrÖwœ-óý®Ñ£D1t7£ÑÓr¶´Õ¢†?ðèÊalâïô§–a¼Ñá.ÿÞ§Jãd•#êg¶lG–s‹åfzêƒ~è¡I Œë¨Sü@F#3£0)iÏ™Lë1rùÌÌð+ÌLKê³f¦÷33`ææâ÷53[º53ýè33ỪÐ÷N{8J¢0GÛ»'·À°ZtôÍ&7jš5£i/V@óåݬV!»C“¾Újól’PÒ&U˜9aÛÑôøºIèÎk±D½ãºKùþy—ƒB nÈ‘Fæð¾¡F''¼ýméWYc¾s}-ÙÊžb­¥,|K2¦…¹­È8gw{ê­} 4ÐUõ_·u "­ÞÑWÔ¸Š§«ø~×j…oÙÒÝ=“^"ã´úÙà^WÏG=õaÔw>¶ß÷))¤ocÊV¶Õogƒ‚;¸ˆÒDzüc\|Wµbƹ––3\M‹xƒÑ<ÂUó‘jVêZ…¯ÛZ§û9>¶ÃkÜÿf†^§õ¬z(TŒ§Ø£¦åR7C{Àž€±ÌÕ
->l§¬uà BaߘÈlÄ4¯[|]Á]ñjg"b&øè-|óI‹o{Þ÷:˜´Ò \L×ë6Ç…\“ÞœÅòíÛ^GÆH&]7®•¯s|Æ1au'§åÀø¡fð®×Z«2Çç0kÃ\¥ÃwïF“cÃŒMC׾ƶZõR<®—Rhf{½Tîã§õR‚›Íº9vj@,T?‰K: –ÎêeȶÕCz)u(Hêõr¾c¦ÒK‰´¹C/o%ì\7­Ì-høÔù{ª£ÂF 8©Žš dÆYu µÿ¾gþ:j!Ø“¸’sÁÔO*¸SÑg.ÚNˆ<_NÚN|ŠÉûXWÙtºÇ Î\HIZt‡(Z)dÛó‹ŒQØŽÚ‘æÓÆ›zSl½‡ñ(,åavž•
-²ù…z••yèÁG¾f²ªÎŠ’ãƒ/9q<Iÿö!Õ‰nXD#Òœ@•ÏŸàIÏÑ-–wLgÆk„ûŸPµnÅñ¤Eš¯qbL.:ù_³ìË¡ Æ`¾ì€Úpqu8Õ"pIœš#%6.¬v|处êÄ(^bÅJu–åhãóÛ—5ƒ _”¾üå—/?ýŒÍÅßèú¤w—ÿÄÁ¨Ógºýóòç/ZO‰“pÁœß¢%Ý$Ú¡†óâÂé
-b{ÀªhuëM¬x+sjýü­¼úŸý½…æÈ
-ŽÅDÝŽíõ‰vål¶Ì‡e$h•ñç“ÝÈ‚5
-1˜§–£#­ó˜xàL6ÓZÕF™7àãÓu£O÷.=YME­‡‡îèíçL1Ö3Í´–ý`ŽOüPƒ?v”Ùð¸x¾E¢ÝÁç=`FÌò «g»õdmþ 3ÄÚ
+315 0 obj
+<< /Filter /FlateDecode /Length 3194 >>
+stream
+xÚÝÉŽã¸õ^_á(6ù¸…Úår€É)“¾ æ” 9$}H.ùý<.¤HJ²l÷L 4eQ"ß¾ŠlÎôéï'ŽÿÿÃËùÛË—«'Ǽ1Ò¾ýíEœ8þ'N^2åád`܈ӷï§_Þ87À¹ÄK]Òo…—ñé¯åéà3mßýöÓ°˜æLp ÅÔ_¸
+Ÿ;¼Ç ðÞ˜tm
+pøû«âò-axEö’ EU.OM¥» uâ£Áê’î#!¼¥ÞÒÓ–Îë9âýåj`†/ nx[‡±’ií`Nâ#¯0§´d‡zšÕûkOtZF«é2•FÖ©jß‘¬Ë62ùï†U 21ˆÕCÂÍvzb!
+E\MLPR‡¤Ë­8ê]R¯Lrj}D@’{z×ú䘴"…,3#K¡Ï7òýXÔ³@Ȩ‚CF>CO÷ ÃÊújоl±«€]$6kYµ—w o‰UÚ˜Jé–† …ƒZô0@%ŒÉæ@Tœ¥mìv5‹s€Ð%øú…(ÐD#ÐHuWaľõ´WEÈ<È*Ä_ó»a‰ ¸˜0%‰Ÿ–¾žÓs4Ó¼©KÐüpgÔó\ûQ˜A_Ü«u!á]õ[bpd(õËO’,fj¢ s°ˆÃÁåªsRdÉw ­jæ„è—ÎîP!9“Ú³FŸ“.¢5s!›ŠK¢á.–b£;rˆ„5o’zÖQšp Ñ "„®Æ¤ñ¡v)¨0«1ò‘ºœ·\MŽ²L¤eÚé…Y}äp ÈÞâew͉7ùYaºF€^M.R`žGp”$Ãk1¹Kö¢yLL$—Q;ŽI©Óó0¿ÕH"žÜ8nêx€±&ƒˆž&c>ý&Oãá7yR#Of f£·ÌôõB3cláÔ¹
+°øÌK7î«ß4—ËƯFè—ì{}}Õ´ùm.EmË:ä‹[DI©Ê)uYæ]ÅÕôóOÏ·¸Á³Ü7f³ÃeM³ºK”ùäñ¢OYýµ¨æ)mýõSUN¬eí»ƒà*XJ®è 9ÑÁ¼Ô¹+јx[åKÆÖ–”¬ØjÄwÒÀ [’'“®À¥rwV\Ql¶Í=éU‘¥ªð•iL}Nn•\Gkq­ -ãçæ÷u›C˜õm&Ù*µÊ‹Á¥©R|ä"¢Ò^G‘¶¢$•õšØA qÛT¬­Ë(Ñ´qD<%pÖ- Œ¸æõ`9Fsí¶›ÑpM)g³Û•K4mjoÙ),½×º #µDYCMsK®¶.ÈB¥¸ŒoV¿g™³ðœæɬP¿Mó@KŒúZÿ¾Í –yo~ló@ ËÐ[ýØæ憡ÕæÁ‚…Ætíãhž²iÊôrÚ)³Ù—ԲĦâ<jÒxY*8™p®Ñò[TÓÕ»­@~+&c)É õ¦ÉGz:jM™wIeocm6ÍÉíªÏÕÂCE] 6—Y>Ý#?"Nî>ÖÝCc¤Жœó^‚Âú•bÚ±^‚r‹îq7©ŒD튛뻓o‡;'
+
+ƒÚ:éŽ(9¤ôµòݬÓ‘äm'yˆ=‡6÷QMÞJÏ
+¨-dÖÐ %T‚Q#%L]ú,©”[[u ÔXÑIÝ32ø©Y Ûõ¡DÑ)ïúÕ«(ö
+…ú¤ -›ÃÈNÿLIÍð½Ò¶¥&Ïu Ç¦¹D(²‡’UÍ
+üø¬I/Ã}pÎÄa楀p‡ËÍÏMW̺øÝ«Ã'ä»Æ‘kxÕ Íf*Šé 5¢¨æ
+7=¡°m„ÀAmyª0QjCÔB&$’i”꺊 ¹CÛ&ÏÜŒk_šP‚«WÌ¢zõ3) É<7G¤dM•Hɉ\ÓÓõù^-¥-Ë5·á¤µkšU9!&ÇGs[­ˆl)*‚™} Ÿ6H®1üÈžîrÍyÎMÜDÓšp*vˆÍg9ÚŸ²ÿ‹œ%N®qö·—ŠÕè«dϳ-©8”cHëºæTI¨=
+ÌÎÜ€â;2šº,J<·ÇÜ „? è~†›éQ}ÔÍtë=ÁÍL˜y£»ø}ÝÌï{ÝÌHý}nF@lߘ8­Á¨…Âö;ÚÞlÜÓj1à·eܨiÖÌ(ÒþV¨€îË»#P%&¬B3¦.ir`-Ò ÙA¥ÜroÓ–¦ÇïÐ]Aw\‹%g¸lOKýþy“ƒÂÂÜ”#wPlxÕQc=ÎÞý&´ƒU{Ì7ö×’¯œ`¬õ½˜)Î4†ºnÍ厌C~w‚¢ÙÇD]³Ÿàërˆ8/7%Å.žnòû5¯øÇs³%=EƹûÙÁNÃCÉÑû@õÀå÷}*
+éÛ˜²oõKkPp Mø¢zŸÅT­˜Ábm‰ÊžæÞHË=,5u‡[Ù©ðu¹Ñévöêð­X<‡¿ãµåæuîfµ´ÐV¤h`÷ºPXÝHÝÓv‡;c™1ª_‰8JîvÁa¢àÌ°Îgr/ús¶½Ft3i_õ‡›âz RJt¹ö FR!?œßÄh'Á»9¹¢ÖJk=ÍQÂ19Åm«*ld€gY
+«¶ Ïb6ˆñý zN1îÕžzQ$ì·…}' B{Ò¸ƒ¸¨p>ÎØ]\¦›Ú·ñ‰Ûå5
+AlekkXíóÛË¿:«ŽVéÓ_¾¿üò+ÿ¯Ÿ0ªKT¶ÿÄ¿£a(fD˜öÏÓŸ_þ”þ• ¾X[Žã Z.´ O.làËM¦q‹ê+¢×î™·â­ö¦Rn…£¼IË®w ÝFs( ”IÃùråfH
+ÄÒ¨͵-ásJCòiy¿HEª9ôš‘oã§Qцn ›;ãÛ9EGV¶qÇl´aÕYÖi]¸'žYJ}¿öÝÞÕ´‡+Œ¯®åALD,¼-MÖã…ç™ U¿<§<*Ä$³|ñ¡Û¥3 ™àW©U{HwËǧé[òð.õ ž€\*Σ»ç:ô2ZŠ¹žaö¡åHÌþ¦r5ÙT¾¢Ì†3` ¤ì)_‹ÀŒ6XHã‚®µvëÉÛü1Æ
endstream
endobj
-315 0 obj
-<< /Type /Page /Contents 316 0 R /Resources 314 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 240 0 R >>
+314 0 obj
+<< /Type /Page /Contents 315 0 R /Resources 313 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 236 0 R >>
endobj
-317 0 obj
-<< /D [ 315 0 R /XYZ 78.37 808.885 null ] >>
+316 0 obj
+<< /D [ 314 0 R /XYZ 78.37 808.885 null ] >>
endobj
-314 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F55 229 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F48 237 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+313 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 291 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R /F16 247 0 R /F55 225 0 R /F63 227 0 R /F65 228 0 R /F32 232 0 R /F48 233 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-320 0 obj
-<< /Filter /FlateDecode /Length 4358 >>
-stream
-xÚ½\9d·ÎçWthK“Å °­V Pfx3A‘l9± ؉ÿ¾‹wñzÝofwƒ9ºb±Ž¯ŠÅÇ/ÿ¼ðËO/×//¹kyŠIeàòå÷øE\¬gÒ^¬vLYqùòÇå—WÎ~û$8çø¯4o^á_ŸÕs¸âcÿCû.üˆð¯K߇ç÷ÐÞ>I«_ÃÓ7)ð¯åoF¾æÖy´ÐRBlýë—Ÿ3¡‚y­…]P
-’9c¥HN«¡R ŸeÇ×*ý5<ÌQ¨{1Úšäu|?ù}ϲæÐ3¬¨[‰0ϼ£ á‚Y9¯ãÜzœ©Šß,Ö“)Ò{ŠŒ“LJUHÒò \Þ+Ãqdîó\qÇl~rKû ·Ò"p¤R#8á‘&;‘WEFb¿¸6Öúö)N¦
-Ñê›V²ÊânÒÄêö6
-[îË{Qm®­m˜ ·81µcÁ ÉQ?ŒY&°©QX•Ä²[*ÇÄ4X•´y‰•¯¨GyÁAsât×ôS5*ÊÂáb”´Léi-j½•ÿVÑóÁ(äMtd²CѲÿø*íÕxTî’2nÐ"ˆ䥤‚t$Î:Ì¢=SPW¤~HcÖ¨Â22G[š°Wù{…· %`¤fÇ_Í3o£ú@eÁxHÀ0KS¢ðV¤h= YŒ¶Ø¢£mÁáÛl·•A¤j˜:n‹ê½€¢ªÇ›ê•[“¾/}f º\¼Ò‚q#G
-²ʾ‘Ìpx†öðÓ‹Þ3‚®P·ŒoÛA·à–ÕYXô)>åÍHÆ…Ô–Yæò§¨Y÷:S›Ú^wÎb©7‰–ÈGÉ™³&S-Äõí“Ž¾GÙ¬Úw2áÌ|¿zùñËËšHƒ²y1`™öîòÛ/ñ{n˜ÁßLqùï?.¿¿ü¿'
-QöÞ”ú@™Dš<„›¥ÍôV1à8‹E1Žy¨ôu`Ô3`#µ*ßZ²{ÙÎWK|M{Pt'Bœ:ÇzÖq/ÒÓÅ^ä'ÅÏ5wßc˜è#dÎ&(÷+¢onãhE¶jÇ”ÓFû`g3JR°ôI¤uß¿pr$ìö­‚7UjÎïK±|>5áºgÝó@£¶ÚÖnÅ¿4~ÖÜ0NÜÙkÞÿ¬·V­­÷äÊ4˜³ßŠÜ­÷ ÉUšò®QÊû=-py¸–âÉk”½Ó^¢³kØãs"¶a%Ôkk)¶²nv#[ÃoÐð#ffùž†ß¢ÇRn¤€JSZ_„ Dæ‹î•Ð6¢Ì¸ö¢Å©_„<ò&G,oÚ”ð8KpjF±Ÿóhy¦Àkäa9ôÍ¡6é£êÌ%`S•ò(Ñ7Ú¦3òugl–¢àÓÜS³Ü 6ŽÃ!l| æ'=Û:³øte@ÓHÅQ•
-tú¡[Ñz‰!
-ŒS5R†pEÆ‘N3ƒfá4\(ãBwö¤àð‘½_;¶¯FØÃŒ;kª ñª-á¾í´›(O‰'„!ž“úíÖºŒS=@út-ŸÜs‚“û xdÁCŒ*¼W"aËç‹ŠDÛfÒótEZ€D;Ð{%•³a °Ç^"ç×®•®yˆ…¾ÈO0¬ä6s2|*Em“}ñrïCs •ò¸vHªFÿ!Ì9µ ]lVÃôŸ© °òÍluËD½Å-훲gKVGimB’#
-©ÀŠ©pï;ý$_a ³f¤¾eW\PÍÊLÍ=[õ´UU QújåGÈ(·/Êwk0¾Øú–KÈ˃uÊÛ*f…¢ËûÓ¿ÿ|xÆãdÜìa;5…ÀšŒ¨¬r++ãhÀ–>õ©"’‚ ‹o°•¦7®LáBׄުiøFf
-\ê¨wJWy5[*KûG¶€›öù_÷J‹!IÖseŒrÓh«(7ó‰È 1‡'N1 rÜѵ^Ë‚AXS;~-œ`ªa¢.YgÜC£‘0MJÎú·ÌY–4à¤Z©ã2á€`¢Õ€àuœ‡7çžÉT¢‚Es ‹–†n¨w%æ}Tk1Ÿ–1²xD („kú—›¬yŒÑÆ°Ul
-‘è"¶c6,'C!JLéH£|Òñ|[ªúŸ`‚8s0Nv ÕÍKÇøj6%)2ëã4žmÕµååµkOÇ^TVÑò‡n„(²¦¤è9±w2@æ-ÛµbfÜ+SÊ‘N«üÉGg·¾h¦k²»–5cú e˜n¤þ+ Rɉ-“s‰§o$_³Â“-·Y˜–+‡eÖ1/Å;—6 ²~T|¨gƒêd·êþüÏ=>7]Šœ
-‚‰O(àä,N‚zhu{TQ\h
-g87¡ß. DÓ£g
-Dédõ¼bS ÚÈ8*?ÌdéUßþq!ÿéX£'ç(£>žôbä<fr‡iâ¹íúð°úÄy¿±uì- ÕXÕßÔÝ E‹’´åìÔ›vq×f$ÈG‰9*´Ê “¯•ÉF nû3?p2žéLg~øŸbç´ ‹ó3'6ˆž¬÷8+ºùѺ`ÞÑëa QfŠ<GÎn1Aþž8mOɸœž‚åR«ùyªø7µ*gîœïÎè§*&W«˜øÛÑW"ñÕ©þfß{!"‡‹û2™ãùRk?J3„Aߨä8z´`WšUA›`Æj1+]?Ô’Þx̔ڼý€Q¢à§×¯‡õë—‰,3ÒL£ßÊzçså$íŸ]îíš”¬«ßÁ9ñ&Œ±7q?)XúŒ¥µÄÇ“À~o©PÝ 7',Uó ©xÁž²TÀ,(œU2 ¾Â€£X–ð1K%ÏY*LŒËé)¸­=§}
-'Ì®~e©R»µÏ6',UC:¦ê¿åå¿j¿…->xùOÄëÓh1K•«|úüU_<YwÊOûÂGËœsÓŒòቾ
-veXu¶}Ôrue†q ­zªˆÊlÊøÝ®D}{½£æñžÁä*Û]šÄ@ÀɉßæÖ¤æ¡rÔO[¶6àQ«Õ¾pë\Ùm¨Ü²aãÁ Ñ¨e·hB4Ø÷Üß
- é‘ÊÖïX›¼aÚ‰qô9[2— ×­RGWúªº»/®{ a^/%ÕÿÞW‡ ×[;æ­%ÂÕêYEëÃ[Õù†unAH`(fãè'±p@ãf¥^ã¹uç‰i_„¦ö¿Æ}åIë ¿^S„^ñ<÷_ݽzSZŽÍ?Ó¢Úº¸—böæ»Z´þwzM€ÐO¸SÚÌ;¹ÓiƒÓ
-9’ؤûÈ@”÷)}Ò
-
-a™
-Ö–1œî*ðg@£ê ¿R§@£`Bé‹°È$4Ú4Š¸ çQc¨*Ã"*ïšùh¾ìCä£iÏß“ÇÙ5>f±ð¨ÉÝzsFƒ€Ñœfžà8ð{'÷m'–YÄÖ¤+9ŒÃ-Ëäé=ª~€P.Ÿ:ž)z8XõðV5h„7¬Tµ»³Ib®dƒ
-ö \ÛŠxÐ 8R‡ÁªòExÇŒ—mœóú’9a*›¹¼·Óœà#Î ï±àJ‘ÒÍ|êâDb])ÁÏ•«%ÈÍR«úík;>”µžs¾ûUžDáŠX-Ék×zPRíOG^ª†³Çª‘Òàyb¬5ëÚÙ¥ +AßôðÆÑîîíÇ>‘¦ØÏv,Ã_Ýîá)³>¥L¤k^¹TàQJã)±¶i1Å~?N» J8#•YW;ÕÊnX¸¨J¨X¿üŠßÿ~FM”Þ]þ[þOBýþuù*ZT0 ‹˜
-UœÎï4shnYò‹ká5ÕÓëÛêZ À¸¦áï­fºCz•“õÉòÖ»V}:@òržTG[¾Ý">¥¥Óy57:cŸ¤/ΙjDV“RÞšH>:I tÜÞÏÒŸªÒ‰$ë`$§"îÆtú4S‰•L…2éí0õ™鵬 'ב€µ´$Þ:ÿ|¦lÇÑÚ T^?Ðð(³^šBfµìÇꀃµ‡µIu—®}eMÞ­1I5pÉ}ŒK8‚yÏÊ­Ö
-;e8ÃïäÁU/ydž|ZÖ™ô%ƵGŒ 5æÞ„LVôsÖî«Iæ0aM8ÎßQúªÌÄ—ÁIÉWn_Ž.â§gµÇ Èáz$dÚœPoy[-îÁÖ¿‡~‹­KlÈ[©î<KÕñÖòñµ:ý ý%Iñdí}|Kl­y¾ï/Ä"ëѽ§n„qè̴ëž}\¹+è‹Åy·¸qÝ»³¡½ýëKèhï5`ƒT‡“Nqbã½`\ª¡ß×ÔY†Y>ΠHƒ¾W¦½` ? ʶئ«oãô˜ò#¶®ÍÿHa¬Ž÷­¾ã¤ ƒ‹‘q‹ZÒD4=glçµ»bW¨oÉJíºx¹
-ykĸ]43Ù¶k¥É“ANáyZÞlÉœ1_É€†Œ“Ò~´Ö¶mb@Ì„bh tm=˜
->ÿ?,`]à
+319 0 obj
+<< /Filter /FlateDecode /Length 4440 >>
+stream
+xÚÅ\9d¹ ÎçWTh#ë>€F]ó¶ØláÉŒl¯¯;ñß7uP¢ŽwTOï8è£ÞÓA‘ù‘¢Šßþqã·?Ý¿~úÓC˜[`ÁJ«o_ý$࿉› L¹›³‚q+n_»ýå…sí9W’s+_?+Ãé“P~xmñËן`t+W£ ©™uj_ªÒkM“ðϽ¶ã¹”eÂÚ©×ãx.-˜
+öÙ¹´cÖ„±WåÆÎ\Æ2å§ue¾Ïg=ÎLrºÏçÓ|êeìùú¼bFëy>è-šôeùŸÇŸøLod5kº¤ÖÌ81Ñe8_^¥‡ÿÏó,“&½ï×K% s³^êcù) ­ŸÖK%“³^j<—’L÷ì\Ê3÷´^*Ðfý.½T&0¹ÐËíx> ò—^*öä‚^>Š.ú(ÓÓ}¢¥aòÿ©Ž:X¦…|R ÀŒgÕÑpÆÕ<©ŽF(öɹŠsÑ n/*£ s1v:™(pf½Ÿ:ñÙèn\RßéŠ5œy#çéN§`A”PcÏ+Y Øiµ+ÍO-tTÄøÌʸcyÜÏJ@OÌ,‚8·øóï@)-¬.<;'ØHe'žÄùâF´2óy¢î…7'Þ ´6š˜çHñ†éÎHíCúŸŸgÁ„ïPSe$s֜єÔ'Òò¸Fl¯&A›l?†¯¦YT•­hšqK3}ÖB» ¶¶|BómQyœÑM™7·ØC×µÿ½ÙåòþžçxÜ˨¶íÇÁmO:»ŸZI:Ç›ŸiGJŒxýœº%â7Š^¥#»b^Œl‹ÉB0zÏ-G£¿³²ñ˜ºŸîz nÁÀ£Qd¦QktYV§%; €ˆ?1 ‡:ï4r*ûÓÆÉw’_ô ¹¦Aÿ¢í[ñÑ*Î’²ÕOu[æÄ]MóZ·Áû®u;‰•ãè¸Ö$ü{Ö`´²ÒPK7FÀ5û@­)"(­âBm.£rTÁ²3ò+íÊþÕWúTG‹ ÜYP–¢Â·Ùâ“Ç}¤*/”~Ba¨²/²g ­’è7ôW¯Æ¢Á*LÎû% ¼N rá÷'0Äzð½ÍžGI|)ˆ[P¡s@4n­I†1,å(á¦+ïlyfËEI\hϊʼn‚N‹Ži¢lê²ý·á=Ë<V¤á‡úÉe&–<Áñî²€ý´ÒÕØ —ÈnEªPß©-m’žy;bçôD¢zóü·@!Ìe -Rx0P*Å à ÌɱÓ+Íy;Mì=œNqT˜z5?Ð4Ý›ÎRV¡’Æ~º ¿Ù‹‹Ö5J¯o¦‘˜ILý(u„ g˾–ÛFÙ²‚çun­"èArh@‰Ä¼§y¥xi›)έîMpÕ+«¤U1=Im·f €X9úñ؃¯\ÍÎȯ‡"9>‚\OÑ¿ý‘hœKpE2"‘Sh¼OÖ[&‡Vè÷Wˆfæ÷зKP`cFq|£E:'€9µ˜ä¿UÙ‹šs4à‡‘z™×Ìþ†7"[ÜDýêèÁ¨ßCþ&ßwïue…κ¿Ë*Ø
+é´ƒ{&¦ÁªªÍK¬|Mö"-xôÂuKÑho/˜r ¦×¢wPkù[U/Ú^[„èÉd‡ª“@á›dK&
+‰Z†V1zý¦W;!”’YUáøƒp}%#îÒа[Úoã®`¡äDÍ{ _%"γj60  ³PÔÒ[˜m¨‹­º`÷‚–LUÃÔP/ éÎã}ÜßÇH&>¯‰õí’¹Ò&fÕHÁˆ­­b–Ë+´cš¢©Þ=‡†Ì6Hq‰ŸaÂ>'m gþ@½}Årßx Z©Ä!K¦Z
+ö=˜ ϱJ1®Í0ê÷M_rfåDÁÄÔ¥)‚
+$ËŒâ°B‚‹Þ™æv¦ǽíî›ÆŽQiÔÈØIëòÈËò1tA–9jí˜rvæÄx,s¼g`–ûÕ(‡G/…;Ù.­0Øê`4 À.¥ÛE`RÄšaË<¬®ÄI ïÉ·R–|¢æŽHâý!3¼“[Š¹ÝjV¹%éinIú§rK‚`Ï0ˬR
+Ëœèï´9Ñ}lÓq=$3Ô]Y­ýT—ö¸ÿ¶–ШåÐ5«ZÖ'wïÌ8¡»õýá_<<ïŽ×¿¬˜Dj(€DÇà6-m65ž&¯ò§U馸üæ豋ÞQÁx±H¶£†­•zI#Gv¦êÞøF)ÍY%²¬£e«†Ÿ&#l²s,°ª`W"´23uz uÔ¥ ágYÍ.•Øsj-ùHûü¯²"á|FÚ=WÆŒ_m•ñ+|"zCÌÁṯ’T£D×^x­ F¦K†¨»暈L8=ÎÔ/ë/€Árý§f#Žj®íjs•,Óêø!¼D‚C]WOçá»e2´•¨Ý‹pÖï!ÀšYJÅþ÷–›ª0sŽ&+H"qƽ»IЖÚéâþYm­›Üè§cf—bÐÞ wç>RÐ}Qrð¹ßÞîj}:[oéxÊÒÓežïxIJ1r†›—‹ci5©5])ÉòPË]¨æ ž~f¡ñÃX5©ÀƒÜèØV ÅXYŠæ-š«Å·9¾C ‚Š)==&½T¦êXNlg^Ž“h5IBÇÐk6%«;2¼•¸â ÉpmƒŽ½¨4¥å`{ð¤IìDÏy#Š²¯Å®u‰`9”_ÛVÙîn¬®ae»K¡Y3¦`©Ô–)áGê?
+íQé¦0LoMçè·ìÌê '¼È°ŒÆj GåÂ
+´FNä<Æ¡Ë„pWhçÁœšhš}ÛiíËe#žâ扥a´Z¶ “.G[4F
+á«nšü™­µÖ·ø-^‚“aä”ÀtŽ¦ciõ¡ ׯb¡PŽÖ'£7a¢âì*ÖzMÒ;æâÃ~´.[Ÿ×¶‹]ª´î=b(RŠ FNùoãŒ`ÇïøÐ~µRmÀÐ;éEýy›çÃþ²òC§™³¬!LSDøë6òÒwüäì_ã—0I?Ý&bÇ,ãœ=¥}ýRñÄN²<}ßÝ@¹€žkŸÚD’ƒZ-îD|R(fÄÐo!¼Ì†"<™3¯E³Ž…'uH÷lúºRçļ+Ùçt¡#µÆ¹òI7‚óõºL ÿ&0ª3µdFô¿…GÐÂçLq‘V «|wû¸ÝÇØ¿EÓÑÞkÈz­ŽIþK.>Æ•ú}ä®Å"Ž3 Ľ‚÷LZÁqW:•K§‘m\ ÷£j¹ÿF†’ùÏ6Œ3)´þý§bÅ£gXeS2Ñ4 nUè{±¬Uó£c)£Ý—-¸œj뻳·r1¥‰kµ“'ƒÊ95¡¹’ÿš -ßm$˜ რ(„ LÇï¤ì5Çå¿2Þ÷4P; Øî«HŠÖÿ"¨ÀJ
endstream
endobj
-319 0 obj
-<< /Type /Page /Contents 320 0 R /Resources 318 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+318 0 obj
+<< /Type /Page /Contents 319 0 R /Resources 317 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
-321 0 obj
-<< /D [ 319 0 R /XYZ 78.37 808.885 null ] >>
+320 0 obj
+<< /D [ 318 0 R /XYZ 78.37 808.885 null ] >>
endobj
65 0 obj
-<< /D [ 319 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 318 0 R /XYZ 79.37 607.562 null ] >>
endobj
69 0 obj
-<< /D [ 319 0 R /XYZ 79.37 734.627 null ] >>
+<< /D [ 318 0 R /XYZ 79.37 567.837 null ] >>
endobj
73 0 obj
-<< /D [ 319 0 R /XYZ 79.37 711.095 null ] >>
-endobj
-77 0 obj
-<< /D [ 319 0 R /XYZ 79.37 350.645 null ] >>
+<< /D [ 318 0 R /XYZ 79.37 544.306 null ] >>
endobj
-318 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F16 251 0 R /F15 227 0 R /F62 230 0 R /F55 229 0 R /F54 228 0 R /F22 234 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+317 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F54 224 0 R /F53 222 0 R /F16 247 0 R /F55 225 0 R /F68 255 0 R /F22 230 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-325 0 obj
-<< /Filter /FlateDecode /Length 3798 >>
-stream
-xÚÍË®$;m?_Ñ츓›ÄyJGGšžžFbÇÕì+¬XÀÿ/pNœTªºú<#鮪Äqü¶ËiyùçE^þøåúó˯we/QD§¹üüÇ…äE]B
-œP.LXfl¬BŒnRºˆŸº~¿%œû=c$ÞÃkïð;ÎÕPŸ…¼›=i#…õnou'Ëèݚׯ:¼ôeõÈ—‘ºÑUGåUûp¢§‰!A¤¡Ö”; @Zé_Ÿ| 7 ÜË8{-”(PÌ Ã2VÌ­d›ç+¦ÕíàZ6ÑŸè
-?Szr’èظ&ÐÞ_¼‰BIGtK”Ï„z‚Œ"øR®
-‰ÊnBÝMÂÙåT‘Èråå«u•´…f}_eI…Ñ]"úè¶våž‹tG¯R±–Ií‚ÐRÏ»³¸
-Œtp,SÁ ­Ôf¶m”$,HƯrE¨2öG‚U"Ú0¯q;pVxpΑ~i´–ä©ñ%ÑøFWM €‘½·+KjÆŒ{W­4ÏÒ¦" ±Ðº,\ðȦ¯Ü¾Mž²i(Î6•Â@h6ÍG´{‹Q³B›8¡ùF­<ãã–®JEkl዇òÂY³‡ù)ƒXhOl<kËЕA,O’A,ߎ bY~Ç .˜VÂ÷­V[©£Ü±•:*¶¿rEVmVALór€«
-\uw+¶•ù;¬«°’-):YŸ¶íA!q ¸uo˜°ýj²Óí9®¬ÍNúU®&ýÚSƒ±A[3zOb“4'Iw$á®?Ï’úÜ"‡‡m%Ô´8ó K‘¨ùÒÒhEâFâ2Àj¤þÏ<!‘Ó>@AF˜ÈKÆ8ûì;“>ÙÙà5ù—ç؈€a^}2åh\1`tA
-ot
-Ï÷]ÌN51¤@•Ð•”•ÌÍÐÈÎŽ{ea¶(<ز¾Cù ç»nOG^%z¥…àÚÍØ G½rcÔì·,z=ŽWjÚ€ËðxÀB—.²ÒV3;;œ„™v…×é¾®²#µ+Á¹V½OŸ·®ªdñ’<­Õ´Œÿ8µïë“~æ9׃ldZ+ÿv‡Cî,í‹æ$8ÉK-{§=źp!}ÎñƒöÂÚxq …ô–â-”ŤÈcÜ?àað¤tñE°Ž,´@÷ì0kŠÒ> ÿ×'¸õëoû’£,ƒ0³ T¥q?
-ÍÀ—ïÄWe«F¬´»f‰Ðì¤Á¢áB±¦MêÏP\LÍLqíÐál"¶L ¡ñ;Q&_4ŠÛCòhƒ!wKí­ÿéo]…<ÅrŒ­¶/] “1(wd¬OÈÞÕ™ÕhŠ¸ö†ÆY$ŽY ýZù'³éiî£Û#NѦ:ÀÌIDaù@GŒ,c@APZÄÈ’ª:K '›õû?üR§ì0Ìëâ8åw¿4ÅX
-À.÷&s1ÎX“qOÆšžÊŽ\IaS§(W¦!ʯѿÑÝvé”ê”JØè0{'P"@¶<¦Ð¤_þvœâc0¶“F­­F!Hÿ.óg^nýè·.l)sÊÌë€YZe6À3Vî9;nCÊÍgÚñJ>‹ ­ ]®<9¦a{»LðF@€ÊÊ°’ɦœ(ÿI^h€uLc\6+h–Iî„ Š ½?Ú3öÞzõñ9C4õ^(P|Çä^q¥
-áaÏåísIÓBæ„{Ú}e*¢ˆ ¾>®Ý± Ânëxv)Ð ª³‹%5B»>¯öýÌJ(7Ænæºoë•¢Á$o»ÒGX V(³¡YŽÍë±[i04Þ³‰5ƾ7b,wc'Ô¡y6‹•²`+’s×"¾ ³ÜYÄï<Ø0=¸LyÊÙuˆòÇåúæ¤Õ=rMÑ
-dÂKo*ºé¹Q®÷B¡:Yíç5vÜ’ÆxÔ…Íèϱ¤
-ãZ{*‘€
-æѧ ¤Ú¨7:¬W…‘£ÜŒnà]jJ*6ÑXžÙòGºÄì
- §O¿OÒB*²Äyk;"
-¶ÛMQ²âOˆ &Ñàý”qgy¹4ñ"q`Jô
-ßé©`LãÃÇ9swŸâ†%¹ƒŸOõÃRœÁ0øy_0L·úØŒk}¨'Éû”#¦>ò¹Þ‘¡’xëf”ß­«oÌ”VÃÿÊ[)/ÀÚ·º«iöÓþjšÿ.‡µÃ
-œ áô®6™Áëë×ä+[Ùëìù]5Ò€¯.8·áð÷rå u¯ñ¹ýé8îúÒܪv&™¶þa»DÝZ9¥,o„È î­‚Ê˜RNà÷:ˆtÙÔ7ó@}J-¶Óûˆ ÉÓjcÇ ìMJ¹Õ¡ìð>6D• &©eÆ™ZGO ~Õ‘auÿÂZR#oÅÈ­ŽnízïÑëXÔN•›3n3ÆMòÝ*­;Í0ÌmBC’¼&øÑ{ëÛ¢Q¢Fgxƒ7Û7ɵ„½¬-+×B]Íd‰æ6ÞèuÃçÀ>Ö°¹í^vp‰Ç .Ë•n¶­bVdv³­éZ§ªŸº™B2±ÎVÖGçôöUíºÐV{·Í¨”8¬¨xã”Z)‰/¹=è6#<¶ã[˜ÛÌˆÞ mMƒÔ4èÔZmôÛWhg¦Ý¶%®šª3’´‘÷ÃulÚï'—N/¼‡…ÔÜîtÏÖÿ™»6 ´Ú ·ÞpR7»Á¡0—}~`,FÆÝýÿ˜˜.Õ,rùNÃ3µÖ˜v·u©fcYï6²KõÂ}{FaÔ4̳÷º>ý•€GFU)—Øî
-»T/NkÚ6šæ œ<E³ùjß]1økí°À‰ºµtXÜÍ–ÎʾöÒ“4oÐçYÆr¤E'{”SÒo0韱žºs'"{Å^E´3}ºZ½.sY/nC—Ünç¬L`ƶSLn?€„Ô
-§a—OÌW(>F󦨟4—Ä°1ü¡þ<nWÃ`øáád.—4Ò'BåÔൟCe+ã{CåtrføŸ+Cê|6ójTïÌýÙsKr.æmr&õAodÜ=ð2õˆ¥:L([;5BÇ|ÞÅègλ€Ä¤7Æy+)®5\9⪕÷áq%ë7DÍÚËöö˜zUL˜÷h¢@-}þL†nƒ µx¿q@ȶBÀ_O TÆŸˆ£ËHv(fkSÂ{=nãõ«9Œ<Ìc€Ä,šì»qÔùô Õ¼M¶<\Ü ˜û2®yâÀRO_x¾W™
-Î|ç¨6ò4døÉ.Ê> zß}› g×$Ù±°béèºVb€ú”çý#×FRÞ…ãPº•Mï~õ¼
- fÖ"ó»ŽhYv<¨ ‡.â&LŠ‡aRÔ 7BG¾ßén†—òáT¹JG<ìÞ! †ï¾_ùÎ;\=¥Ý0`Ë$eⱜæ}ˆ=íµÃñN÷Ò*ÃÝñÞ9G!G˜WxKÐô¤diÚ‚7{ãzب%y Á¢ã©Á&Íâ\k#4Í›ÌëÑQ]#7˜~€oD¨B&½Ÿ kF½‹¡‚pÑ®øö_æ¢PJ=Ç“A“²kRñwÌeç7Îc‡®Æ,ÿ8`ÖÊòžþ9`fåó`[Âéd:<N¦OÃ*zÑOSÀë&lèöó0u:°0Šá9¸úÅñÓœŽ—£³”ð5ȼ®º›ð‘?È|.i…d=cÌÜFCñT¡e8ôZ®ÖõâÙ71Ïq†»Ù.¯FŽÑF£VØ ÔT°Â±I÷º7`(#Ù9 rÕlœ¡4?[xÃ"—g}¤<*:™¡xÇ Ø.«ènZ²'Ù@̾uéïØ»†ƒÜTËiÌnqæl©ïd(,ùd•Œ¨Ì$‚ÆT¢½ªKìò1½¿RןÏ/ŒŠf~s ¢#‘™7®ûQ^Ž1ìˆ%\œŒFË!7v&·ª¢é1QTzΟÝyH©Îó \<³ohGH£Ïtä0˜ 0§fR7~~~û>c]¨þßôÐHÔÔ*1¢ûüÞã|Úx\dC·SµUÖbjÑwvÖ·5ÃܦâÿýøAòD~úØ+&+ðü˜³SìÅ\2á8šRÓ~=‡ßzu˜Ñæå—yä¡Y£«Š†…ØfÀ„;›rgUE4Ë}u¬F(j"±“Ý5êë¼^ÿ­ 9U£ø)i.ßó«uÓ*îýWˆŽ]œÆôpT}~ê?ÿ ÍtÈþ}Gè=Ô aOI“ËF­³tY¥7¶ûl­y:·yP«à}Ìs8‘j»`ÕjêTçäôr‡\†7)ýì7uÖÔ‚~.&7q݆óB0¡/„„éœë¦/RÓpžN{[÷‰Ô§>n—ñél¼Zw”³ƒLÔ²“÷E-œu˜ûˆèCïÅÉáz€nê¿ë¿¦¯
+324 0 obj
+<< /Filter /FlateDecode /Length 3877 >>
+stream
+xÚÍÉ®·ñþ¾br‹ˆæ¾
+F0ño±Ò2=#22ø£ó›†êÛB "bŸšZÆŒ­¼Â§æýbô”pÉôð+0ÖÂØeVc;`õ‚ÿep8Û b0Ñ cˆÓKµ‚[3·çÅiṯʳoÉk}'o«ýž9SdÃYäÕ ·\·»A=z•¡vW/³Þ+3íÍ$¯IðTê/ŒëÔbîeBœ9àNT‚_%¡ÅÖ¶
+TWL¡–ˆè
+JÛD  !>'ñ'JŸtlFÅzª¬×à, ÿ{úúãé¿eQa s!Àªœqï.ÿúã)6pË,ü —ÿýûòûÓ?à}c†@ó-Ô™0f3‘iˆ¡#iáAóª*Ùòûüÿ>­P%SŸ‚[K&Ú¢Jª=ñ˽²ÕYzņ-bÒËiÌžò¸_Wëµl¸µÉ$
+oÓTꜦ2@ĈNÁmm:Ý!Ga¶õ+M•ú­¶=¡©ª«ÓI*A_8œVp¼r5IQ´õß³Þ<¤¿@ÓðFÏÛÕ><ÖWàÌK>͆ú
+°‹xÀL2¹¹­¬ ÎAèüì]ýÃóÞO+ª}ž–iÔ+ÖY÷µš+îˆ'gü‘cSžnKe;§)l»BÄcE“‘¤\;WèX ¦V1Øšˆ"ëÕD½fM¾—®ì­l×7[¶&¾á ¦-[«Fí™ujVÚµœsX÷)ÐV¸ñÚ€{cI÷
+1Ò½Bù) ÓPžÐ~ûÒ,3^Œ³W[·–¢bÍq«t#»×ÊUY_5=;ï%JÖ3•Wüˆo±Gü½Z¨ ü"8±Ò1Åm‰F]ÕzhiKàw«!TgÖÉ¡$“Z³Ÿô…Ñ·ó,˜a©¡m¦7í‹0­þ/µD|mÕ²Òç²¥çDó<~[×½9ŠSŠ—/Ê)½É¼Ú«£<Åveþ–Yº·Ìi;®Yw2§Ñ£©ùŠmÈq iG»zJ
+á˜a˜òg:2R$ÝÔ°V‹&x`luÆcÔ߯õ)Q0¡ ¬ªlS=F{ð
+—QÂtb@¢®êŽêÏÓ6D2ÚÚþ
+­*au#̸zô‰FQ$fxú`Ô¥™¦ä5ôÞbúºËbíÒªý4]•±!·Iš¾ŸàÅÓ@L¹¸šráæšVN}U;uèTLˉä9o™ôŽèøâ·}»E
+sÅÛŽ3ܶɇÕN™|ɼn³KJâ]0­èƒ
+µïæo `â\¨LÈA‹­ÿUqH AŸ¼MR4÷¹6‡S±’Áµw:γ€mæ.9 Ù‘Ò?)˜4\1ëŸzcV\¡ƒd2 n¤ýhC÷¬§þdFLyÆ ŠWoiKô%}Íö½á?^÷ÁI218ϾQŽ© ÆÕ—iEm“J5iÅ6‘’èU’5¥Þ‘¹«RŸÛí¸—¨{]X1T‚Ônxé)›ÕÁ%ZÕµj²Þ:zÞepS£é2`x¶v<SSƒ#.Ì£ó“Ë F›+SlÚëXs¯õJ§ú:›“ÈÑ&ÝÎåßäí=å¾®ßFSñ(†W½ßýe»}µhˆ‰ÇÆ8‡I¸ªZ
+È™ýZø‡9FÕS#MtŠH‚’Ç‚Ï|ÌÞï`Ç Ó¾‰«ò(¹Ëœí¨¿þí—<dcÃPC?ä/¿ÁX2Àæî[ˆçB¡&åŽÊÂèÍö»‚ŽS¥h+L£kê„2÷Tîê„ê˜H8ÏÜA„èG½£Eêã÷‡5%q[¼bFɵÎÈ ¤ð¿Ëø—[7}¯¬†A˜z\G饮  ¸3TöœWÖ2§ÍGjq"Ÿƒ8ܹ鼒wèmn‚Ó PgY©URصÛHla µÃOkËd>‚^pQÝàOÙ~>rëˆè8Svi²¾¶¸´ŸaË"noP¦xÔ;¢A62$ÁÞàuam­­É;Ëpt)P=!ˆ£‹y¶ ×¸Ú—#+ù
+‚Ày¥÷PQŠ&ôD³èVêç}«SæðZé‰%¾ÖÒ¡xôÿu‰Ò,«F7®TdlA|n‹C¸‘%”Ì‚HŽ,~o}]½…k‚´ R[ogíÁ¼Â®Êñê ZÞ³]`ÊaÓRéªuíõŠ
+¾S`ùš”n\cÃnIpW­ŸzŒ6 Qè×ÚÑ
+ýZ¬Bßû¼Uèǹo†ÕÞÕ* 4>eú±¬ÂH³×8hZDq¡~£ƒ¶NjœwÔ
+ÚK´ ¡áŽL©gõ;W’…ô¬ZlùuØr.F†‹o¦›Ó\t¥¯ùKlå7ºŒ,F¾ûþMõ>Gøy}Rø+ö Q§oöTø—¬ÎÅÎwR6gÛƒFÒ¸n#@QÔc|Ú6UÍüÅjm¬„…€N¯­Ukb}ó ŽùÛq£™-åø~þÈÙÖýý…ϘÐÜLP…Œš÷gxvQÜKüÍ—¿ã™†¬ŒÅÚ÷ð|oÑP %ƒ7ÀBÈ ±g­Ò‹õž±#ÿº—º
endstream
endobj
-324 0 obj
-<< /Type /Page /Contents 325 0 R /Resources 323 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+323 0 obj
+<< /Type /Page /Contents 324 0 R /Resources 322 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
-326 0 obj
-<< /D [ 324 0 R /XYZ 78.37 808.885 null ] >>
+325 0 obj
+<< /D [ 323 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+77 0 obj
+<< /D [ 323 0 R /XYZ 79.37 771.024 null ] >>
endobj
81 0 obj
-<< /D [ 324 0 R /XYZ 79.37 435.417 null ] >>
+<< /D [ 323 0 R /XYZ 79.37 217.908 null ] >>
endobj
-85 0 obj
-<< /D [ 324 0 R /XYZ 79.37 319.251 null ] >>
+322 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R /F32 232 0 R /F22 230 0 R /F25 326 0 R /F53 222 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-89 0 obj
-<< /D [ 324 0 R /XYZ 79.37 225.461 null ] >>
+329 0 obj
+<< /Filter /FlateDecode /Length 3385 >>
+stream
+xÚ½Én\¹ñ®¯èMw@àv»HN1| rdræùÿCŠ{qyÔkI3d©ß#‹µ¯l~ùÏ…_~yºþ|úræâ™7`ÔåçoO_ð‹¸XϤ½X#7âòó÷Ë?_87šsíð÷5ýÖðú,8çøJ\_8üÃòW ø[çp}}–Nâ'åÒõÉ-­37üáÝñÇ ,-è*¸‡}ŠB(òöÅ7\/Ó%¬ÐqÅ¿~þ-Pª7”*`ÆèB©²Þë³æ>`qͯé'œÎÏØ%èVÐ…² „áƒBˆ2Qc|†8‘k•qÇwÒ¤u‰‡[Z|f•O‹Ð2oµz}Ž‚JŒNìMdR!5ÂÃÓ(œt4g>hþÿËÓ÷ŸOÿ«gKnp¤T"C½üúûSx¡o.‚3âòÇ¿/¿=ý_\3NrË„÷#)Òf¦ñ„}`RWU#©Å–IÒh¦íĤH¹ƒFë˜Wn¤Qy´’H£4шºçgqZ‚Š½“>%%ãÎÍJ@t‹WÁ߸¸›v@8¸ØcdK]©¯ioFa°¡ }¢§âõÑÉ*i♦¬yém0$s+Ÿì-º°A*÷²6¡‘׃,ʵ¢ƒ*#9 N83‘Þ íJª{éÏŒÆÀÀ×â’‡hG×Å®€Sß(ª•=™Jâ-)=…ÞI~/ƒž7âQ<o#³‰¡ôÖk)ç™Õr!ѦƒA/WJ nmº|k.>8gIm×4oº±Õm¡Äy8¥¨¥
+ÁÀ‹8–î:¯ˆëoåSÖ*eü‚^¤ýœœ`*ÄÃðäaDdæä7¢..ªK÷ÕQÈAˆé
+Zëðªgƒn¸ÕrKÔ4Ê\¸¿WÔ”bKe1ºz‹¾¹p_W[{–RSÞJóR¬²¸–}¸”À0O˜5ïÓ5 À3#&Ú¨Vnñê‡3½U>•Þê)ˆ¯Kk‹Ôê
+(ûçz5П0ý„ȈPf?@½‡öh¼^Éí#‘Ìx&„xL&%ͺk¼bcnÃ0†¾~_‚wÏ°µ‰Ž;cºI— ¿äQºl®gÓåη¤Ô÷Ú4¹éI±{º²„«2%…+îd*Œh3omµnù:¥ ̓ý.R5$Vï|Œ ˜v±þ–àPáVüZ:‰BNzP`ËfoŠ<’NeÍ…xxÙŽŠ" ðA¢_„”£ôtæô<*!;êe‘£‰gä=ójeŸnTn¹ƒDÍ`úʪ=Ý3m²È!(Þ,?ª^N‰œ¥E¯8e›êâU|w”û¥µ%÷Kkw¹Ÿ”¾D¯t
+4P‹½œ™iW1ûÚô¿ao*<K+ò°Ò+6‰U£+iU'Õ[°¾zþ5Tp£ZŽu\®/œfÆú‹L`^¾¾PÂ#89Ê›j2$ršIåµñ·Ødô¯×­ÑA Ÿ4ìLm•U$³ÎÕ㣔»PŠ!ÁÆÊìá%AAO°M@¥aÞ©rHL®œ¨Ã-JÒ>â–jéSÔ”
+È.¡ë?
+b$°j©0BŒˆ­DÍÕT~ˆÞ1@çn¾Õ¬¨ž*ýX÷ê8Éo%³/o­_œ#9CFÒ`“’ݲ{Ô„@þ¢18r[}¹dÖ«¹ÃR¤êRd¢ŠðÕjå-ú7EK³ä¬š€¨¨yÕn¥ÝÐØŠ' Kv Ìœvå ¾¶El=EªzB˜ê½„`5º@Ó¸2C8Úi0V·²ÁòÅÎniɤhnw¯
+æ$LLPcµ¯’°¶å^ŽP ¾j¦›0߶×èTge-š»&ábÄê/h 'žðÕYfWçÚ§«z…ɹ!WãE3åm¤Gºc1Q*´´~,&ôTLÐÕš#ñ tE×u{èIÛÊß­'ní9’E§çלÈ9¨ÃqV«Ek;O;;®†ÚßšÌ{³Ìƒò¤ä5á©à¢èfù,¦×÷kTý@³öA«0óÆŽãëÜJÚ¹Í '×Eä>’å¶ Èáš ¨…ФyC\c”rzÜI¼x_¡nÍJkf½~‹÷˜|¦Õ±ÅÀÿ÷Ò}ü;™åbÊf<÷¥¹å†Y%ÇÓZq’¸ÒÒ𻯹áö
+™˜›5D
+¡«5ãø€ùÔ“)åY¢NÞ–h \I]D¦'´÷žyP2.M%]´J^ÛEš>‹ ;ø´9Ðקü.Fo«¶U7«Éèxá}03Õºu !å4›%=«yÛ½Ý V0_ˆèÛÿ}1nÜ««c$I´,­ýÞî×”•ö¹áêÊå~XÇ™ã0’ú N(=7#äe¥Ö1ãô®Òé^ö×E!ÎÈiÌLOŽzéíÊÙ•P:³ ˤ/í;­%ÿKðu·2©¿&õKkV·³ÒzzòîÖ ÔÛÁ å½ýmºãûÅ>¤xE ã¯<Ç„Rï¸_Œ% 0Jt2ì—
+(ü6ç5–þä“eb¥¢‡­Î³Pˆ`°ÂN•Ú[†—ñwäëúÕ·zøi]¸ ðÊŸt¿ÌX5îÏãâI6᚟V÷ð8'¿#‡ÖãÒS<GWiÕB#ÎðÃIæ­;ɬyÜ1íáÏѼv à7Š†ô–6$°Þ3Ò®)Yü|Ž¦BПýö{·Ò.Do8KcÌýÙÑØïÕ°£Ñ³pRŽïÕЬWÃYäRÈ)íÌeqLMÞÆè®Xöpóµ”S˜åÄeÂ,ëd4TÒö‘ÊÎ8n–Ç:S¼­WLa†:ìN‘ð´¸bÎOðÛ÷Ÿ6Z áªã$ü¥¡ÑÅO‹"¹03íi ,–èÍǬ¶èPO¶ÚIZ¹ï¿ÂþSüdÑ¥¾>ˆÔV2-¦ÕËkF"Ü-ö½üŽÑùSùÝãó¿gì×TÊÔË|¯VñϦ²Çç-*gìíª™- Œ|Í_ãù‡³>±žÌØ[~â»=Ibü–»ª}½3M
+oãGˆº}GApÌ,¿¨/0LCGÄ6¯Õí•úmO>Wð«ë
+4®)ÌÂ]aÛ“añ׸uïÿ£“Ø
+endstream
endobj
-323 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F63 231 0 R /F65 232 0 R /F32 236 0 R /F22 234 0 R /F25 327 0 R /F53 226 0 R /F16 251 0 R /F71 292 0 R >> /ProcSet [ /PDF /Text ] >>
+328 0 obj
+<< /Type /Page /Contents 329 0 R /Resources 327 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
330 0 obj
-<< /Filter /FlateDecode /Length 3065 >>
-stream
-xÚÍ[K¹¾Ï¯ÐXš,¾Á
-²9{ÈþÿCŠâ»[jÆö.Ú£î&ëÅb±êk’3}úωã¿y9ùtµâä˜7FºÓ÷ß_ĉãÿâ$„eüÉÁ¸§ïœþñʹ¹p.çÖ¿ýóû_çÖš3ÁZ[žZkX·–ž %©µÄæZ þö›OÔ_x]èÎ ]ñ%<Á^g¼ð­ÖéÙ!?¼°|éùJÍœv' Ž §Š”…‹T…RÒ>h°¦€
-êŠö–hs«25¤çdoˆ–%ŠÁ¦ò©òà@è>Ÿ®BŸ<úÕúNæf4Ӿȫl急çáÉ9bà©ÏÙ· jS[Â5I"½ÈwWl2·õs;¾Ù.PHv[÷²—dÇtg ù$>ûÚöRnÔΩ¼F½„¶ÙCS«`¹OW+‹I¥ñ¡Ÿl†”À!ð™Ïzdú’Órä“í±'¡’œq%V>äC›zǸ4#íŠÝm°îÊ»µdF•ØFÃ-G)IùÊ…¼îj,„c`ÝH÷^MwµV2Zv´…âY¶èwĵÍOÃlÑ!žb¬HÊArÄë¹Q,»&)çV€rÉzåBÏÀä›…þ®*`Ãp8™ÿ:H$®&ÑÛ3^jBy\.ôd¢Ö%„ÂH†
-Ú¶¡g¥&w몘™Z|v… $‡‰2º–d^\´[9¡̸ê¶2ñJÚ$>ª pÆ¥²)쥊¤¤*ʧH“:ß9Û¾ÔÎÍšáéjâQvh­-QL«eã‚9 “TÒ,ÐͱtÏ¡$Hƽ©À…´È4HòKö0L‘Ó0{T3-:ëœëô¹¡•ðÌp1JÕŽ„2•«1iÝ ÷ò\)^@™Ë®4·Èqr©;buvEðÌJ¸GRI®~ÝZR1ÏÝH¹LNPíäLyÛ¹zê-„¦IDíMöÛèûüMëWꑦycj³<GOtCÒ+†®sìÓrÚ³x` õd­}KàÈbÐókKäœ
-™ÆÍ¢ “F}X•/”Eúzä“—»ßd,írﶱ‹}gá’ ÌÝr…€jÍ2˜þ$zšJÁtô¤ó87uo–s“qéÖ;²}òH“WIšÇSzð©ÿªÖJonÆ!M“ßo+aV׈°Š>8}/S+ô
-yc›M’Ÿ•¼íJñ¥.A4ƒbMåÆ’ºÞ÷æ$…ÙxYjûµ+ÜÏ)+ísÃnló„Ýu:Ë™ã0ªú„'”ž‚›‘ò²ÒסL•b¯Òé6n*ðAúaÍLO¶0ôvìJ<qˆ¢ã˜ f¦~„~Ø ýHñ·‘×Ùrµçä~©M Œ®™ªE¶–óvY^4É tî[ÊñœÝù˜ÝyÌþ~ù_&R<&¬É­V§ýñ^T_©“àPÄéÏŸ~ù{Iä⧎ ðK@'`Ñù#Ã>p À¤ô#•<Yö¡U…þÔq£°PT`¨jdiª¡oˆ©º¸4“û.ƒ¸`þvt[Ú°ö)‡ Ê­ÍÈ1XÓw•C)̲8ÂR W¼Iw_JºOW»YÆ2ƒ†ž5ïC‰¾RÖ—~‡U¢H×C•û_º¿›dìËlË^æôgx@7ßâ¨ËíQWÖaá1ár,šÖ²y?%DLîÌ\lÊ?¿UÓ£‘xû#ɸê·B”ž 9ö¤Ï…‹Ï„YUc˜n>·ÙöÊœŽ±hÑÓV÷›Pˆ0/`%¢Ú[†ÿNãßh×õ«o kõôÃG\œHÙJAÑ@~¶ý¥`ëáþ\<4Ìó©5|ysò;Zhý¹ô.›£çXµðˆ{ìá$óÖÝiìy:T`ð1ž×Ó¦/­Ì÷Yƒ<¤§´žC
-Úx½&‹ë9l˜Â4`à}Ì{û¾û£%yûÝë–ŽùÃü“tìyÓ±ï«aOGáÚOû:>ê¡äW=¯fSÈ]ÞIe–8¦&–ϵ :Œ»{çÍ'ûˆ\JK&¾y´!›@¥®·íÈÇÀÍÖ^ç¡S,õX³`þ9ôNëÜ|¸bÎOô¿Ãç
-lw!„`ÂÈHcb' ƒ8ƒÌ)¾s !€aš9‰¶i­¶§P=ö@è2í@ÛÀc`Å=HP(6ßñ ŠžpÊú-$?éöY”'Š>>]Æ·åyó]œ
-´fJÈÁÚ R 鞊H ô#RCÿˆÔÐú)ˆÔh¡÷#R“Í R÷Ù#{ž’Li÷1ž×Ó~"5PZÏ!ô†®ý Djà}Ì{û¾û£%<ÓÊþDjà}LǾï."b?¤rx=ˆH-$>€H ½ Rß©‘Æ1DjèýtDj´ÍDjm‘o­Ó³
-#í/ƒH òÜÀVÒ?‘èß@¤†ÖK¬&¬hÆÁ/ƒH òܲ÷,ýZËpÎì/ƒH òÜÒr–~‰H 홵?&®¼ÞH-¤§ÕõB-äa›Ë¡£vµP;tXS
-qªRšÅ8àÊøCöõ
-endstream
+<< /D [ 328 0 R /XYZ 78.37 808.885 null ] >>
endobj
-329 0 obj
-<< /Type /Page /Contents 330 0 R /Resources 328 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+85 0 obj
+<< /D [ 328 0 R /XYZ 79.37 771.024 null ] >>
endobj
-331 0 obj
-<< /D [ 329 0 R /XYZ 78.37 808.885 null ] >>
+89 0 obj
+<< /D [ 328 0 R /XYZ 79.37 678.837 null ] >>
endobj
-328 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R /F72 300 0 R /F63 231 0 R /F65 232 0 R >> /ProcSet [ /PDF /Text ] >>
+327 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F62 226 0 R /F71 291 0 R /F68 255 0 R /F54 224 0 R /F72 299 0 R /F63 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-336 0 obj
-<< /Filter /FlateDecode /Length 2971 >>
-stream
-xÚÅÉŽã6ö^_¡(ù¸íx\@rJ§nANYæ0Ó‡Ée~ÉÇU”,·Nn•$òíù(¾ükáËûËùãåW-!˜×ZØåãoø"ë™´‹5‚q#–/ËÏoœ͹vxýtzœs|¤>áðþ$œ^¥Õoá/|zÉw×3ç–§qpÍoñïs;߈«G¤ˆ}zni–ø.= c >ÃiHÁé—ï‘#¡ϼ£& I¼8È )`!R¾%ÈùRçô X"‘š3„‡ÿ¿¿üóã忼P’ïa‚«å×//ñ-JX8·üùûòÇËø¢‘¿µB)§GzA!Ÿ‚øFþµ$é{¢©U¢—r–´t ãù®¬@9ÄjFìZ^Á½eIH‰”"Â+©”zJã¯U˜ò\H Qʵs™• ?«:\幃>àªtåñ*‹ ŒŒ+Rw̸‚åG¡ š)©Š‚>Uå$‹Fi•ð¹æ7"'ÐòéåI:Þ¬•–¿:Š¹Ç±—‚Yv’F1§ AsEC'hVµÐ@&ÝF£käZ8 >'²u([)+ÐÓ¸$á
-q>½êulŠ·Y?½ªAŽ°G#u…aÁ%)ÉI•IäÁÎ-ÙyÑ~@b2PUÛ=œ€ŠÆ ê]ë1­õ+ Df†ºå3=¦–žb—ÞsÂýÅ,Ld]æñíìl‰š¬Å;=b$d`íb¼c^¹ì%{êÂxóVí"=ÉV,ÊÀZ=pÉó’ÉÞã¼@UH@g–j‰Ae”´5bqÙ#w2çœbÎù‘Óo°¥sŒ;1bGY7 |„_öÈÖ.J\Yéá“+r$ŠÍ¥•ÎZÞ­ånYƒ3Ì{ÙZC¯•°<Ñ ¶Òé.=J@^93¼òø9ïJ‰¢Š±’I˜•è_àô‰Ï&hÄ^ð±$E4‹»¢a†ÝÚzbJ°
-OÌ[…f æš46ç”tfåÌcÚ1³r«øÔr‹¸ øƒ‡UOI÷¦“%ùÑ^²F“ ÄN¢îV†0Ú3£ì¶2·«$ ¡³ÊÂ(wP¡ Þ=
-M°[…¦'­BÓ“™BÓ›VY© ©yÉ’ÆÌf
-÷Š‚›q§\­ìeSè<P~šw¡ý̱Ö-º½²XÓ–j%ƒ5]eY*ˆ&CæÚˆ•04”m™C².Ö#²ƒS ò‹×kãð³äTJž¸¦! öåXHÌ1AÚh´¹hò´t:Sº*4Ô1qyešàgÜöJÆHÉD]š¡åë¼RÊ®Ú&
-ï{áQ
-ŒÇj˜ÔšO¡A†ËxôÌ_µ´iL[ÞŒ´¥¬7¥ËH†èçò‰ý€;ÿÙâÂ"ܨf½á=V²ÐìÏ]uÌå†Ë<ËŽrtpÍ£ó!ÃÊ’_S¯f­´©ú—8Gº/;ŽñBÒéM•%­a¸´?¦,Š-O1tò§ÿ–•KÃ<W3jSpÄÜIÁ ëçµeV£‡"dhÆßaði~¢s 2«®‡Iõß^dZQñ-‘Ü{Ø[ZRÀºÎD¡Ø ×°½úõþAk¤¦‹‡œÃaÖµnFeCÝ& Þ3ƒ³Fý@³¶ÑÂ̵Vì]&  Ñ(ÅcÃ0
-.™;j}å»±™Ȇ¶$ã+¥šn¶oFê|øFê¹q8Œ¤~×Á°¢rÑ4ÇUëÕumÊI¸ä/0fï½ä¤#¿Ó‚¬}öDßü@èHVE”AwXñv³¶íÙgK‹¶L­‹þÈ‚êN!l°êÎdí·­Ðõy…î šV3+U
-½è™Ï ¬«šs­ÅЖÖì4†€›à{ Á·O7» pÂ+f½jIjÍ3î…s"'~²Çay!»í›Ñ
-ŽÎFMáXÎœSSßKhÙZîÍáP NÛ½¤f‘à¨Fv 0¾¶š;˜ß´ü†p@í`½siBû#%s“?$jilPøØâ€öØÐïë#‘¨Ðµ£N¥OÏaRõèg°H²‡1GöÈ©56ÎÝØz¢Uéȹ£GB”¡éb‡ª}Óî¡ÕÒçÙŒJÜn?bÄôœ‹Ð¢yPãÎa£ŸI\>h;9¬ô°ëIý]Û!»ëçÖt°¯³›¯$»V6¤I÷³ÙLæxÀ\×>ÇÆÄq÷Ù`bÌq&lüfðç_ðñoøû>(Ï»åqàL…
-Ë0í?ËO/?¦oq1j™·Ÿ·Ÿ9hæôbå¾ÿ:"YMä5kÁµí3Õ¯Dð)_­öòÐöÃ(
+335 0 obj
+<< /Filter /FlateDecode /Length 2932 >>
+stream
+xÚÅ[É’$· ½÷WÔ Å}‰è舮)•"ä“Æ}Sèd{|°ç`_üûH€[2³ª—IQSY™ <‚Ø’-…;ýó$áß_Î/?]½>%‘¼ööôòõA$ü¯N! NÁ+!½:½|;ýþ(¥¶R:#¥ÕRú×
+®/ð¡oÏý¥<3¾ÐÙ×ð­ãÓ/¿>HÌžò4ÿ: ?ÿRgWÞéü<¿=K©> ×¾ðÅkÏsÁÜú\æD9ôµÐXYî1M§IžÏ®}à˜µ¿”ÙP‚Ì匜ž>9íੱõ
+жI—%Òå»Ñ;¼8iŸåøé–ë`BNê BxúŸ‹¦y¸6¡›ïZ®‹,4ÓzÅ­SBË æ:œ%Àh…êÿâÏrùåäé¬È$¡¬©²_Ñná÷BC ¯ýµ[q]hÙ}hVyõmð7އLjý¬‰Í*.åGÑÆh£ƒP1V|H*3â´‡rr܉‰§Á"f"ˆ.¿4³U…Nz[—Û ƒu¤†¥Ufé ¥?ç‘“ªÊ mL“²ÿÐL¯±j1ò¶÷C¨z ½’Î^GƒÿæïŒëúÑ—Z#có&'”PQäÇ—ýx£„vÒzmŒIn¨õç÷`lƒ0°#g„$m DÎB6Äna¢va÷àH!Þ‰Yž4B‡ø},oäm(Hy½q»h°…Œœ–{È'%ŒÖkMŸ±`/¬µóܯ²Þiìájyüòá^ƒüHǹ_§ã8Öé#!)°êÎu|«…’]Ms¡‡Ç@Gü¦u’GYHœC䛥sZ¸äg¾%©ºO2Jë6’‘=hÃh?ûµóQè¸]mb¶ô¶É
+kÒ<ºD°J-­ˆiÃßÊ;¬RC\Û.þŽQjp¦fƒän$÷Î ëîÞ¡›ÛÙÍûv-ÛÐ(íÚÍj¹ ¢öKé?ÄO²-üÝN¤F8µ¡r…·59m#Þ9:(Þ£<·ðÞJ¿Öü¨³o·*ùÑZŽòÜÒr+}Ð+-UîêÇxþi®wdlŒÉVzŽ¿o(弄ÒüNWÊÙt)gfÙÕÁ\.j|ªsa©Ÿ>™¤)kÃsD#„°¸6IqNw©´bC¦ã»¹<¼Ðè\NònYøz‡›
+×s×8H¹q@Ÿ_þ3ºñèO´°nþí"}r° :@
+n0ÿÇéëÃoˆƒFŒV
+Øé ¬örÙynm lsìÄÁ=¤5ø4¯6X›»¡gt°Ô¬§MPàú7轈kI,µrÞ Ÿ1P·¤ zÎ>}Òñ‘Òª¼±ØtL4‰¼Ü²vOÈ°ËÅ&îCdŠ ÷&z³)Š'ÙHËoœ½p¨3wÝ-w.O;ƒ›6G
+¼ð¬ûí·….lPû=î HçÆ£3'»Éaº¿1.›”ªöhª±x V¢äÏ-1ÉIIp}R’¡7ä ê{ŠKûPÁuõ3Õ“Q]o›Fq¿{ŠEGá‘‚XˆVÜCñZã¶ç¡l}·rœ"(¨#<TÃÖ{Ø/‰S%N››øŠAY ìÜ,/în¯Z¢¼·Ó{”;¶£ÁvvR%…›™f¯ŽŸ7;µæ0 ª
+hqvh¶ã¦¤$#S±/¿Z¨K(´ó†^ÏÕ½2I- æ8IsÆUƒÛƵ“<X¨ej½ì箊I³|ÆETÙ=ËÞ­ÕPDa¨©:†)Cáq•ø4j]Í=Ó^êÌŠfŸr ~‰˜ë‘²B‹/Ü‚í¹a(àW‘¦ÃµjÀÐÛ˜°ò=YÀw9W)ˆ¶®xP|ÅmÕŸ>ÙìAîQ(]ã:àq‘¬‘-³qŠöCŸtÔÕ×%¬¦V NŸÊEœõ;¦·~k4÷ñø%ïΞgêå’®nç”äS“¬ºaz®Ûh¶‚"M}U=¦ZJZB°K´GR ƒÕ2‘K^ÏfÙÈÑ ¼Þ®feÜPÎæq%K£|$ö@öTcÙÜ?A›¡Jà(ÚêhEŒiRô¹k£QM“Ru \±ÌFQÊf0G'S—íWl¶h÷f»g
+;Éàz[פ:ÈMÜ ’ô`Ð|^i¤S­Îõ¨Òù'ò*2#¿ãUJ5ÝìŠÏÃbÅ‘÷ „$Æ«Ü!óîw@¹ã«·Â;þ±që›B…–ƒJù5d—=Í*ߪ»êŽ|‹´ã’¶í•ZÍwXÖz:Ë>¬™&ôµâ¹ÕõÇ!ìNèt°˜V†M”ÊAÏK†TñÎ-ü^³ …w¿ åN¿ åÎjAË“~±¸‹°*Lçî@‘Ö’{óñ©º×`Flªœwä_U&|7Á²Ÿ%$»ÑÕÖ7’aÓvl*'ø!µ¬)D"99Zµ²ÌÆu¥{›aKÁœ›ùûÚmøUxª9O.jhÇ| #sŽ!-gM‰j§3¬*C£ñ¶¼×ªÐÇýRÆ8@ÕÔ7`ùŽK¥Ö|Û´RŽü£‚R1Ê4sÆŒÑûWm•sü¤G—î¼Ã­@ Û”—ÜÌ/iÖœáer~Ú¶?©Â]øn¸×Ð3%Þ ÏcO'û»X• õ¹D© •›Ö:ËÁNaÈÑ{oKc5l/?žÒ‚ÑÉwZÚ#'‘¼^¥Ê|«ãÊc½ÞÏ%
+}
+_Õµ£3Ùš·œtä«ÐzØí ÔæSšä(8fY:º¶&ÝøJz)érÓcG€1ÊЫàϾ
+æÒÏÞ–gG ñ ¾Ï–ÛR÷ìRÓ›ZiûlŘó g¡‚1 àþÕÇ ÇóÞƒàØ݆9ßw|bòªƒàóØ
+ÝúØ‹r"ï™FøPRÓàßÅEñ´^•7ÿ88LR5y¯½3éêè<÷û<ó­å!ÝUJ}Ÿðï7€ßH÷šc”l “5íV/g§Q½ }è®Yº´¨‹Þ¼®1¹q˜ŽÎZéÃc€õzïÈ ”‹?äèØ<×ûŽ-¤§|axËWTøªÏã+¾ßÿ€Û‡Ï¯¸´)žþ— ¿rVx…Ãþ}úëÃoåU”ÔA¤ á~ß•tzN@¯£›™¥Â,í,G!jóîpéëÂ]Ù¥.õ}Z&í[½º2˜
+ R@~»OåÖv˜$tv6Äd­¤–Z$;3iò Ý™rgjZ6¹'ºÝ7%Õ+ß”Œr44}ë¤dÌsO¨àܸÖtý:þË¥­®¹ÑÞiSµe uãV{C;¯n“œƒ•ùQêþÆÛóÿ=¤–<
endstream
endobj
-335 0 obj
-<< /Type /Page /Contents 336 0 R /Resources 334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 338 0 R >>
+334 0 obj
+<< /Type /Page /Contents 335 0 R /Resources 333 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R /Annots 337 0 R >>
endobj
-338 0 obj
-[ 332 0 R 333 0 R ]
+337 0 obj
+[ 331 0 R 332 0 R ]
endobj
-332 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.092 644.205 338.817 656.16 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+331 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 324.092 367.853 338.817 379.808 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-333 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.538 644.205 361.512 656.16 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+332 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 354.538 367.853 361.512 379.808 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-337 0 obj
-<< /D [ 335 0 R /XYZ 78.37 808.885 null ] >>
+336 0 obj
+<< /D [ 334 0 R /XYZ 78.37 808.885 null ] >>
endobj
93 0 obj
-<< /D [ 335 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 334 0 R /XYZ 79.37 503.382 null ] >>
endobj
-334 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F55 229 0 R /F68 259 0 R /F63 231 0 R /F65 232 0 R /F54 228 0 R /F32 236 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+333 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F72 299 0 R /F65 228 0 R /F63 227 0 R /F15 223 0 R /F53 222 0 R /F55 225 0 R /F68 255 0 R /F32 232 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-345 0 obj
-<< /Filter /FlateDecode /Length 3773 >>
-stream
-xÚÍÉŽc·ñÞ_¡†û ´FÖ
-'íýÌq$Œ´‘Û¦{Nnjԛ6Ù%@ñ%êy`$iõÖŽ¨·î4êÓPŠz·D=Œ‰ð[SÐ|lëyEúd‹(n(é0 t¶¨‡
-3Â`—»EŒÇ§ÝÚêÓ›´QV®T…þ×f$W|WÁh¥„nœuŽq(¨ˆâ4±LÈBÐqŒàšIç.68漬J·èÄ&bŸ%¥{Ëš«Gòí9žµ^2äÏš‰gÍyž5>ò­+q ª Ž£>ü®Y‘Ê2 têÁÖ¬H0ÞJ™q•ÞDêb
-1í÷tL8+Yå´Æ„¥ô´JOƒÔ'€/yàðK§Àá×ã9ŸÕÌÁ3
-l7#Šôcý*j@ÿˆXKc"Äå·ME>-·•5éì,5
-•EMáùÈ°iÜK‰ˆLœe…¢¾5ëÄj<â:O,!5 RÐÌä R2ðņÉ&OHǤÓ–K“·–¯¾!a[mwÒ^2O¯g‚änö©äær¦e5jnA8÷ÊÊz*îéóÅ=Ý9
-åù4'pkmˆÙþ÷óÈžC…á}ÁÅTF3®ÍˆKÜ£6Åð"‚÷–—'7v-‹
-ØDÒõŠœ'3Á¤ô¼Ûu„sL5bBê–BrkÌÏ+ºÒtáíd—ûÎÕçÙÉžwfÍŲàT¬ñ† ’) k/­U‘ý8Ñ=%•cÖȭêH÷TÎô UË©—j¼åñ¨¿*ëÓSR&›3QS2Y”:©ôç¥ÒMêë°Ó? ýØŸZçv¼RbS«/ß\Éûn峪Zx)¹Ù£ƒòÖ.ÉÕ^k5F!ÜcàÖz¶ƒ¼ea†“¹I
+342 0 obj
+<< /Filter /FlateDecode /Length 3275 >>
+stream
+xÚ½Én+¹ñî¯Ð<YÜÁ€eœøä4ÈäÌ!óÿ‡p+²¸t«e y€Ÿ¥n²XûJóÓ¿OüôóíòõöËÍÀÉ3oÀ¨Ó×ïo"¼à'q²žI{²F0nÄéëÓ?ÎœKÞÿùõ—·°š©ðcNF˜øåï?#d¹‚,8gàa„-så\ˆŸ ìŒæŽ!GHð™v”(Ï7kJæñÙ(d2þ;¿#½¯õG)˜±j<_ªŽÂ¶Ú0ÏÕ
+ÛÈpHYdsÄ
+â<ˆþL fòœ2¢)Â+¸epð¬lÀ
+î¼h©V+-U
+qwo»º®”dFÌP\qV×çÓâÿœº¯½Ó‘1Z1EJ˜Úotåq¿5…Ÿ7¢yÅÿ2=aø¿ù¦œ'r^ER'ÓÜ*€]„ŠFžzâÎêSYR¾ ±½…"dU̪‡–\ÒµN{«‹Û°^RL©âÛö4™ë„SŠx—ÆfŒ4‰‚ˆ‰í Y$çTÇ!µ™)æEÎ"®WŸåŒBy4
+åWWŒT»½Tv/*oõ)/¢;£1óÕi˜…J
+A.…t•á¶¯VÑòy0³¥.¹ïuê䛚I¿‚D.Œgs¤·.t`‹œön4¤J):Rc
+Ç™¨BáVwU»ª=@kåÑåEGLÜîc<é”[Ë„0k§º>»¸ag¡òIÝ)ne€­ø!ÝÉz7ìmá`_f5ßà¤Ñ¬˜£Ê3 ÁÝæcƒôöçÖ¨µOnÖZ°Ìk-ìqTH¯@5ÆêzÒ@ r²¤*°1·HµÒå]Æ
+<æ»Ñz’KŽÕÀ’ •îšæBA„⨮,epy£°æ޽ Sè(î™å5= pÄÍ´ ‹\þÑrp·´2dè Fè–6BÓYÅ
+Æ÷ZºcJ&»*,%©õZàsZ¯E¦gé´Â ¡IÒV‡„&±¨È3W«ƒ<k Kä9”“´ÐÐi²t²Éÿóýè8dȈ¥@ ³à¬‡"y/ZEcb ²*&é¹ Ÿs¤ I²¶CZyß1mh'õ<)lÒ<Š2]V…ÐØVns˜ž9‘™»Ã!»¨5õÈz똇=Ö3²ÞØìOK)ëí’õ¥ïa°;„zl* Ò B¨B±{BIÄlÖîW\1Ÿv#}šÕi úô†ßí9*ÐLéQ\òýÞI([dp‚îcŠCQE§e锶§Øpž Ž­õjúR¡qh»¸è¡=¦³Z0mÝžÎêIgõqíz”äÛª—\‡)}Ô½°{ð*Ê«CÿÑ°F&èÊŒïªÛ×ãWQ ¡«f»É,s!Öì,õ«ÍÜïÂÓ•Tþ@ƒF:qô¥ó¿ÔMé™ “‰5QÛrw3wpRCháÒ74Â1þ/J‘Ä%É’Ó¾=ÚéJ/Ì÷PLþp¤•ÝŽžÜGíûй[ßG£‚'^Þ¶iƒÄbeÑ©K=oÃo²Ê©¡äŽ9Õ_ch~,oêbÖ¬¯_ôÜ«•8Úï§+»˜W9Òca€ÌqÊ¡õëIÇzÚ…Ï@‡6g<­é;ªì’—à%s¾úš-ÓŸû4q Z‘tÕò?q†„t­}Œ4+EåcâRzZ­'¯ALê“À/¸“ðƒ•!áW#zfïX@„Ò‡!nS¸ªЬœP²ImšsVjqJ‡^¥æs›P?a ’äý´snî$!
+wz·Ïp¥\lð?Ço¥æÌtôfìCþ.ôÜ…šYõ_©Áz+;^*,c™ï­
+Ë[\®³©ëVÁ0úâ`)ÎVŠ­|[·¦MÕ·¼Nç‰kÝ…íG§›©Ö¬1CG(-ß 7ÛE?„Âš× LÚeN
+ë6FŒ|"ŽR$7ÛåCí[,ˇ”œÐn…¦Ñ”‡oBñ} –Ùšu¿ŽîßÔD«~»Ñð¾È\°Þ€:¿or@?WøŽ¦¦pŒ{¸ÀªW6R9ˆGäNXg'Ó1ß-èòˆn n‰ˆé½ôÐ…©Wãî-Y:¼$§"wÜTlí†òlØ™•?Òœj4V®)”ˆ†ÌŠn(1Ò¯„B~¤5?’Ö”'·– Ç‹
+m:;Ò>ï:8«Î;dwN¼n‚N¢à–¾˜ifŒÑ±äõ¶$‚§
+«[‰á2 _I‚ШÆÒ$ïÑ÷ bJt¯~!sí× yvÁn­û i
+É,‹À0׿5þ'»_&e\0ÛF}bM+v¦`Õ]J¡×‚êdÖuKWEõ÷Žx ®0ÕS@%Cå³]¶­2M8ÅŒÙij¥í÷P™¶ÒÒØJµ¤•ŠW¦æ¦õD[I3½bÕt:Ýn<¡Usk%Ÿ²^V2õÊgÄÒ@ŸÛÅ¥ÌzÍK‘ÒìN"¿ëK OÚß‹é/µ‚ gÇñ®§®bÕ2cAU¶y‚¦–°À,wãà°kÄPªä¹ÕÊ7œ6Ðâ5ÅC¥ÎífM~"ÏôÊWMùtUÈŸ~¾ýúõö_r—”§»QÂx’ÒßþˆCõSøâ x‡ZCœþü×é÷·¿ÕéÐÎß©Ewa„ ]]3'Õ…GB÷k pæ0‚b5n½Ë0ëå´ëÖ˜,S‹3q0S×Îf÷†1R†«çN³?ó¸æ]ç6ã€ù4&m‡£]™zFˆš/³6b*k~ê(DHÖüœ”8–nf1Ýœ|v- üF AFDµ<€U™0ûòûÄö…F¼ÈP¯i^úëš;××êƒ!AY¤n»ì&ÌtdÿÀX³ºx9—m«K˜²k@-›&]˜¥þßíúÿ)VµP–5݉îÑÕ.(­?­jÖ‚µ¯ìóv[žÇ>&ŠN’E»=|¬/EÕ¡sÉþHçluß7Ûn†?Ù磌z¯ìª c3Ì8·ok©HÉ·ôÖÙê–™.-¾ù:swôŽ÷3맖·¶ÑK¹Ý¶9ÝF*„gVê©áþ‚ÙéIòÝt<±¶Âƒ#¶óÀú‰ÂÛŠ_û^â_ÀiËZ¹a µ6Å/ZOKzÇ«rÒ®«›´®3®q$’×cævzémš,à™Ì&' 0©FÂ^œyHÉÓ\l<动×û_è)6­ûV" g9Ÿ¨oõº-$ΣJxÅDóõW
endstream
endobj
+341 0 obj
+<< /Type /Page /Contents 342 0 R /Resources 340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R /Annots 344 0 R >>
+endobj
344 0 obj
-<< /Type /Page /Contents 345 0 R /Resources 343 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 347 0 R >>
+[ 338 0 R 339 0 R ]
endobj
-347 0 obj
-[ 339 0 R 340 0 R 341 0 R 342 0 R ]
+338 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.333 279.014 424.058 289.853 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
339 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 409.333 609.828 424.058 620.668 ]/A << /S /GoTo /D (subsection.6.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.779 279.014 451.734 289.853 ]/A << /S /GoTo /D (subsection.6.5) >> >>
endobj
-340 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.779 609.828 451.734 620.668 ]/A << /S /GoTo /D (subsection.6.5) >> >>
+343 0 obj
+<< /D [ 341 0 R /XYZ 78.37 808.885 null ] >>
endobj
-341 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.992 301.652 485.716 312.491 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+97 0 obj
+<< /D [ 341 0 R /XYZ 79.37 441.006 null ] >>
endobj
-342 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.668 301.652 510.623 312.491 ]/A << /S /GoTo /D (subsection.8.2) >> >>
+101 0 obj
+<< /D [ 341 0 R /XYZ 79.37 266.055 null ] >>
endobj
-346 0 obj
-<< /D [ 344 0 R /XYZ 78.37 808.885 null ] >>
+340 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F63 227 0 R /F15 223 0 R /F54 224 0 R /F53 222 0 R /F16 247 0 R /F68 255 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-97 0 obj
-<< /D [ 344 0 R /XYZ 79.37 771.024 null ] >>
+349 0 obj
+<< /Filter /FlateDecode /Length 3512 >>
+stream
+xÚÍËŽ·ñ¾_1Gû šdñ ,P«5œ“Ý Ÿœ8‡D‡ø’|~Šïâ£{zW`£™&‹õ~±†ßþyã·Ÿ¶OO?Ü…¾yæ4êöé÷'øMÜœg
+|Ê0ñP™fw@súœž7ööôgÖG¼­©OýôÊW«•|WLZ{³Ê3ÁM0Š-Sì3gö ÅÈ%é˜Óz„"߯øš¡:ÊÁʽtÊZ…7xÊ„ª‹›&‚@3…š[VAb]<.ª."S±-“‘‘Q,&îÉ,åY<2Šê”!ÎàénÄB"|#²&ÀÈæô<|nÄ}æMÌ|§e¤R•wáü°g4’xŽ%8ø´¶†k{".Ð<âgÃëTxÊ*”šŸ8²YZ,|ïÌ’¯¥,)ë
+4j¼ni¼>À`À@ Š1AÞ—M Œncòs÷Uí<mBî~¬ÂÜ3Çu!.(†
+­z®(åOáÄxòN¼GV,h{¶¸BÜMöMu ¥J¼tÀ²¿­ÖúTù¥ÒL€ñW÷S‘š30fÜ¥ÍH£*&~(µ[/î[xÚñ=QyOr ü7;…RcOåÆ«â-1¥xí(yÛÔ:SnùÒ4´càÜD¹Êx=2,Í4Wãn¹¯5¥*jQ>dÂJùŒ·ÁÙÝã‰s!UÍåç.$Ã… ¯$øh8¤HJŒD^>mMJ(C!4‘c5ü¹Ñåkó<F_ºZ~ˆr¦C2…ÿÿxÌ‘ÂZëÐié?SP8rôýB´2“}"÷דh¿*­‘9 Ê$ ç9=Œÿ…Ú3îýÚ‹ÿ‹á²EF_91™ÃÀYÐVõ:Õ['ÎiO¯ÂˆâLK*ª$1H¸;êÀý¼5¢egW”¦:R¾6“"¨H[Æ»‘ÔËlt½vÕ„‚Ú¼Ÿ›ÅbÅœq0SXã6aQÃS9wÅÇê½þ<evFá(5uYÂB\[NY®Xàf”PÚ_‚ÁžN¹“ði†}äÌÄÅ-'ö•æ7ä— ãJ¼,g¨œ—ÅÂcox†À×4ö<¬L¶1_Nˆš”$%såÇÝXùÅç×*¿¸¹1Êæ*nˆ° %Žq'¦ød›0Š/,¾&©æ{GÍŒD‰b`“H×`)Îø$ˆÓÍâ\šÙhêT]kÖpeaÈFNHUÎhâVîTÔ
+†é@ÕŒèŠ
+ýfEÒ(û…m¥“‹ß\’Â+‚ˆ®+D6Eï¾p/€6!‚o öxÀ™)É`XŠŸŠ-£mÙ–LÔ~L2¥Î*Ýu«´“û:rªµ“Œ~#EáN÷vºRbs«öÕy7Ýr¦ŸF×›\Õ"K X†¨O°ÜRPhLK{ï²àVÚúš¢e‹¶”‹QZH=µkD”è(Øûe0hɲ°.IåË;%=aD`~)Š9«†BûyÏkAÀZpÀÌ$Æg¬ˆ"$¬îÕ¦ÖŠWƽ+'ÕàLû²èTrA2'Ô9úKLŽã›’ g¤N±
+_æöGø¢|øk”œH.ÄLç\ké{/Ì &of..
+å·ˆÎ$ŽI¨"í.Ö0ä¸ûDü‰\ðŽ!æô•Oz-# %#ìµb]a«
+¶³¾eÑ;ˆCƒV†ðà ßÜ k =Ò5\e¬†Ò#R2w–Ãl¿KÊå³Û„>c§5À·ÎïGáóà]Vã–´.c?Úvú¶öÜ´¼fÛÚÁŒ¡Ò¼R5çCç°¶RÚrHü‹ùÆÐÕ¥ª¥ÒHX—›«LÑÖ|Dß^Mªž•;…©‡!”ö´ÍWÇî‡Sc å” ~¾“ÈcY¹HÌÒ•5«6Å*s˜&'LýŽt –A²K›#[,í0ÿp6e¥±]´³ºJŠasâ«b¤.ªb¼º¤læìêþ·ž}8jáÄ+ݸ®^?¦O²9®t'¦ž›úàXJǤÂ@*m~‚ÒxtßÐN–¡û@)CÇ ©v½Ý˜æDèý½Ò¦k¦3¡òuÏGáüª3éÇkJãMÉ–T]K†1íªg=÷0¤&(Žšˆ®6¥Z4õQQÊ1õŠû»›Ú±K/i
+KcƪÝÿöª2€\‡‚º~n¡ÈËÎxÇÞâJCïqæiæWŽz˜pß¡ºb;ìÞXßÛþóƒ+
+yŠQI.ÌÞ_Lö,øfóÛIšá§=Ò˜/»ËgZ†ü¿nÝÇ¿ž°du{<÷ë´(Ýí÷&6,‡[Ýó8ê\žéÎ<5†:°ã&D²®WÉU¬5Bó•[zc+©J×ÜÍø+`ÒÅÖî/¿â÷Ç×OázÁ»ÛãÊÏ7a3"ìû÷íoO?§/V²–y‹5Z÷£K~Ì 0$:+ûAÆ”_wžÒP¿Ÿ e1¡ž¯lÛìPÉEóüÐ÷ŽsYþ™6ô*Ý RåuÎþì^„Q‹™z’1«ÚíZÀ—“c#KdO)¤œ°£³*F¬¤Þ3'Å(—·G2F²&†´Ò³Gà—³Ç%ÞÊa=if¼Ï…×8kLcâ2@Z=!SÜs©J”ÙpGqÒ£Z†î)SHßÚ0”"ò˜ný!ƒã¸~Ú­È$xCé & C×Ò“‘ºåÉ%—I§vª(ì¥4•B§%aÚÅ`z,¸ÄÆÀÖ\cF« îÂtãذω·°_¨„cŒ€Q-Þ „Y½„b^ÁX0ô³-Žr+8BŒ9f„dcQýR]V’ÖKçÂàÜ´X&¥!Ëý%c¼vµ3³dî-d)sŽ‡èbÄkñ°㔚ðe²:ñÂJ*9ŒÐžTRÕ“®“èG,,ðzº6C|–¨‹ºy~#™Ñsr<ª < ºDìÿ×xAâ
+endstream
endobj
-101 0 obj
-<< /D [ 344 0 R /XYZ 79.37 596.869 null ] >>
+348 0 obj
+<< /Type /Page /Contents 349 0 R /Resources 347 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R /Annots 352 0 R >>
endobj
-105 0 obj
-<< /D [ 344 0 R /XYZ 79.37 247.555 null ] >>
+352 0 obj
+[ 345 0 R 346 0 R ]
endobj
-343 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F16 251 0 R /F68 259 0 R /F70 285 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+345 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 470.992 656.17 485.716 667.01 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-350 0 obj
-<< /Filter /FlateDecode /Length 3177 >>
-stream
-xÚ͹®$·1߯˜P
-–"‹Å xxÀÎÎŽ
-ìÈŸïâQ¼šÝ¯ç²µÍôÁbݬëIa.ÿ¸HúÿÏŸ®ß?ýt·p "X°xùþÛ'u‘ôO]\Ú]œUBZuùþûå×')飥Ô@Ÿ«”Hßx£{VJ£óµ ô[•ûîù¯ßÿ4ÃÄ ”´æ½ÀsÏŸ ˜x‡ «¯IæÏ=B7R:ÚÝÐoø:@¥½¸8í„2׸R|ì-_ã÷ˆ°è!}ó¼ó/^)p²P1~CË A}£·¯ñzE'¡‚éyÇP#Í/ðLF!‘ˆ¢@úØË¿ã ¾øËÏQrú@rR p~ÁåúžôƒIbŸ€Ø²XøôRD¨ü$t6â˜Øu@¤®+q^} þL® Jh€†iÿ);=ÊH¦d†½V¬3lUZ ëp…-)bæ­Žÿ]æïÄëõ£ž÷Bi3ùæ5:¡íæíÈçŽg¶HºüÌü2KêŒì ïE»fU÷ûéK¾’D×
-IÙ}û±V 媄HÿŒ'\Cþ¶_ž?ú2’ç¢b?Ö^5Gzá~-w”&¿¢¥íl0*NüŽïÖßôŒøžî%Æ\ó'š { ’BYإ̈‘²±Oð#žYíB:ñåÛ÷OÿêlÀ ‡ÄzTƒ»üí÷¨—@¯Ê@OIH=þ~ùíÓŸ+cN%ƒp:̸½gŽøDˆŠ¹Úµ¬´;Šg…²z³×¾ÛDµÆ|/>ãû/áç@ ó.†Î¦$¬Ä™ÉÎlªbÌ$ÐUˆZ
-Ý¢ûµH™nºá…Ñqá­_µ!ÑSåÀOÚ&qe¢³ÈÁ.Þ ODzJxÀÊ…k^…Q_é]ÿœ,+®sšvÐñÊ\ Àw,4Fe¾?gJ¿‘4 š#굌Y»^u¿nuó~­´0NÈG\‘¶Á¥´–Ôm¢7®õéXg¢cƒ-?pÖ‡xH\,yC§84RŠœ“IÎ ¾tg ]ë­ƒØ5h´BÓöãnÐÚ cfºšBqôæsëdªè_&Yö ò;%ªí¬!KzÖ¼ŽU÷†|Ó†Aº‘Â&ôšõ,FÓIý ÑÞú+£
-1ÀŠ¿QØ]áS£a!üha¬ÁhÔ¶ó]¶m4pζZgÁÐY0Y©*þI>ƒ{ÚZ`†aDþ5ûJßnŒRÌoG‰õÒÈXGþÆÓ¯Ptm>Â=õP²jÆgQ2¬½Ì3„&z0±á~=4´^øè牜0–)ßA
-ÝÅxO§¯íì£È¡d.5ß[ïÿù«k5Wb\\9ÙRز5wlªF
-~Æ6òku5Žkg|U
-ƒð¤*jiN*[‚¹u uýk÷Þ3ƒ ç‹ç÷ò‘\¯ 9.ôü6«¿^x×Ó±QaÍùWhœiáôOyg¸vtï(e,4ÕÎf7q%;DÓÅ2õÄßÙì¹ m–¯Ú;ÎÏ:“üv5qlœä ê\èðÒÁ0‡]\R‰òZI•Œv”Õ´Ò·i(U,0 ½™W
-e)W¤[#]©vo,I¿ÝxMêtt²hå„“À=Fë
-i³w9.f(:Q”×3Tc×qþœ&ëÁ,˜Âp –£"#Ø(pí¡$×R³OgG—¡fÇ{h Q}°3+ IÒmï¥Z²oŸb2”J–®Ž AH_tSªèê(ÚÁã$¯
-Ç)k\õ­Ìp~Îgìÿ[’U7>¬N0yØ.@Ãa7p”b»8Š;¾–ê]ké÷s¾”±¯¯c¥¼!ïéL*Fðÿ¼ —¿t%a†t{Þ÷}Ê=Ýõ¸A›
-–ÓŽ-ïyùÔÙô`Žë¬H§
-^Í ª?
-‘ÙÑæ·˜ïùê컳Â?£÷ÑSìÖ§1Œy×M2Óód÷°¼®5#¯ÜEwXhåj-ŒÇX¯+ðÅÂ…~è \ýÛÐTF»WF,È–Wb1Ó± h€² ï?Æò¿?9{ˆ¿uåá±%AxÄ?|ÀdÞ÷¡ä³t ãÜÞíl2ÇköQ‚^m1{d´ÄÁÛ(üãFKÆ®ÖØ ÝŸâÆe™lÊ´ÿ Ÿ—¯Ã
-endstream
+346 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 498.668 656.17 510.623 667.01 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
-349 0 obj
-<< /Type /Page /Contents 350 0 R /Resources 348 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+350 0 obj
+<< /D [ 348 0 R /XYZ 78.37 808.885 null ] >>
endobj
-351 0 obj
-<< /D [ 349 0 R /XYZ 78.37 808.885 null ] >>
+105 0 obj
+<< /D [ 348 0 R /XYZ 79.37 602.074 null ] >>
endobj
109 0 obj
-<< /D [ 349 0 R /XYZ 79.37 672.535 null ] >>
+<< /D [ 348 0 R /XYZ 79.37 379.645 null ] >>
endobj
-113 0 obj
-<< /D [ 349 0 R /XYZ 79.37 281.041 null ] >>
-endobj
-348 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F65 232 0 R /F22 234 0 R /F59 352 0 R /F16 251 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+347 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F70 280 0 R /F55 225 0 R /F16 247 0 R /F68 255 0 R /F63 227 0 R /F65 228 0 R /F22 230 0 R /F59 351 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
355 0 obj
-<< /Filter /FlateDecode /Length 3179 >>
-stream
-xÚ½¹n$¹5×Wt8
-†&o@ šžÀŽ<Pf;2¼x#¾Ç«XÕUR¯w¡é:øß}°HÎôå× Ç<-ïOº¸xæ uyÿåI\8þ/.Ö3i/ÖƸ¼ÿvùÛ ç ðOr.ÿÎþª+>3œk™îÇk‘ŸÛ×¼ÿyÄ©<Üœ·ŒÏ¾~Õ _Âçâ¾Y26°iœ¾uq.VZ&t¡Suø¬TéÏú5 „¼XÐLxM8p²HW À\Ó½ºN s:„d E
-fÔ¡Í&)ÊðßeüR¿ú9V?…’R`4à£Ë^
-f¬áí†j¤až¯FÏõ¡4ÅTÒñÞÍ4‡t¥ioFÊHåá`€Ìáz”a–Ž”Ì)õÇXk»ÏÇ$A’í1ÍõŒcCl<®é @+ [C­ÃïïOÿY#ØpùçoA6¯˜PöüKêËïÿºüòôס¥²cߎN`IkÙ<Æëd GüÀç^kf­•¦æòÔy5̧øO®˜ó+Ø _ÔþZq9µ£rÜvVÔÞ2°ÅYÅòªÅKV¶¯ù9\‡pŸrrÆ+ôÜŒÓ GÌè4_¥w/±,7´¢Û„þ
-ö%•GA Z…¿×¯éa˜|!"Ò@L–ˆ&\YþZF›4@oTÖ¨q¯ò+iúˆÞ5€*WÓ A’ðB³Ëã˘`.áiàÂ
-Gtâi1¹—bžƒ²­dÒ Æ‚B€øpØHà³°v;làdejÉ`»É;Þ\ú…Û ‚Êw>ˆ}É‚.OZOHK®©]n ­Ìi2U£EF4ïT2x%ä ¯@~DõÖí„]
-‰¬»(¢…|§ZŽÊ¦§–fd4ÉÍË,ìãҭʹ3J+È‘À„â»È|Ë„­’³dKö ±Ñê±{zÂØä—ãló|6åiW—¡ðR0`üg>Ö¾++žƒbñÈÔZ$ØóÜË"e%"=LNÒ
-[BnFAë"NG8)±i?ÎÚt›ìK ½˜–Fþ6»Êç5‚èôŒ’ûÊi¾•”Ì{·2K½ÛS+i™³rÕÔ|2E8Š/±P«îš]5>MFÿªyêV¢Awu¡u!'˜¬_w(§ é ÙQN»II™ž–ÊJS†•Q¤å–iŠ0MMÕC¬æÚÞa).ÛW¤M·º‘o v«fd´)É4”qê-ë’»„t+j¯Ú¤ï£‘ØTŸ ƒ %XùRËȶ/¡˜ÓF¾ØJ”ÙJûæ©û
-* Êe|KbÌÐGÒ¾×Ò¾L«QPŠ>T¸~Àž*Är“¦J/âÛÜ“Æuõ¼Ï¬åµ‚ZX×
-k^ÔfºÊ 0Æèñ#Q¨jeI1¹ …0‡Ö¾ùáÄÃåºÕaõ„Af èõ
-:~ æi9V&Çzgb0ÒcÙ\#ÌÉJ(U)ß´¼˜Ò{".ÝÕ&µâ-áÔå%±ÜÖ&ˆ»2ÈÆžÒÂP&e¡Ð˜Þ4µk–
- >è{,€ˆ÷ÄëªûœðüI’Øw:¹b”ß©à‚æÝU6SÕ>û{ÙìºÝù3ÛéšþXxw_³*ÎlT¢Ï㼟î•ó–’°ÖýLïIx67LI4L+ÆÝ6{ ¬Øq1Swié[õW²£¶i–À7Àd‰À)ãGúîÅrí¿Xq¥®ãò~‰0~·UË)Á²!©ÚÓš;uµ&”0.ÚŒÞ~U(5SÎærÉÕçøÝa¨
-$„ZîÇGnfƒA$1Réý h˜ ÀŸÞ¥fÔlB³?¡’ Íl
-]+*ZÜh®©1/ÌRÁéÜ(/þãûØófjWÇí]ë
-"áLßôÃÆêI¼‹kèVm林F)°`[Aîp­{ÚÃöé°§}go< ‹ûªévÃì1§AóXµ xÈÚÃ*TÞîíé*î²ß·`Ú7bïÍOëGêÈvÀƒ mðOq…Ú×DcU–ü^IØrîÇÍ ç5†)¥F|kÈæ¼Â}*±Ì³Ê®°Î5"°G}¸F¼%¦ªLˆ,K±:NW÷4¦3ìI­ ‡)λ;‡:Vò±˜ •¬ßAŠNÔ©(¬ï¤±Mð3¢Ç&œk7œ¦.ÿ#Ôô¸Š×)ò¡±€0(hPIß®xi}‚ÎàÕÚ‹M:¯wé¤ã.†e‰Î¢SíOêœÃüm¶( ¿¦m“ U%´×6>1oéö@ ¾ûž5bÓ{³¤û@kŒ%ߣç£òßA+SžA=]³<húõCÈ~ê¹ó9X "æ-6‚m€ÉF`˜\¡+ÃÆNæê°~ìTÏ€äÔ±žv7‘¤#'£`ºJãÛÐsá=ÌsìX e†QyÛGcrm1B˜­ÊqÏf|ˆyõ{örH©É0ÐGž+éQàÔH[vØ
+<< /Filter /FlateDecode /Length 3252 >>
+stream
+xÚÝËŽ$·í>_Ñ?°²D½Á
+bâÿ?„’H½JUÓ=Óã
+íOÞ)!:ýøýôg)ÁàŸ–Rþ¥4øi.øÎIiuyv¿+zï_þùão3L…’®Â¼<ÿòÅ‚}NߤT_ñ—3A³šÅSàë
+ŒZzãé©È¶4:íu EÄÄ»²"PR¢5>0ýäcÀé $²jв'ÎU I<VàF·'È4†—¬ Œ×¼ñ5lðÊçtèæÓ•²™Ä­Û´É CËà/R]QpžÉ•ÄÄÀ”·x%9·eSÖNâ|YWRÎ"µìÕd…ÓÂÄNoø-ËÏ›‚¾9wú\ÏJ^é„óú”×QgC…ñÚùÛ¾ä©jJ|nZÃïÒ_¦6´úzf¸ÌÌÞ@ˆo†¤
+¼¶÷‡ ’—ûë™ñÑý>Yq¿Òß™]\ Ú*¡ šp©˜¿5Ë.ôo‹ÍãáЇ(ŒŸ`¶PBrF2›\!¶·)­bQ‚ÌÂBéegÆŪŠBXe?Ml¡·igÕlö©™ë—f¨®ó"åͬ­ím‚ÄÈ™sc‘î|WƒÃ–’ÞÚsYQü:ëíÌ„‚éèû’(2)žÕþ<«?ƒÉæI.–ønšob„Wä¯ÔIG÷YŽÿgR„s€”_¯¦ÀÈ€b7UŸZ°ápF«ó
+ƒ]Ph-mra½)"ó²ä”òhSË`KBæ€ju.®dM³¡Æ…[t¬|Öx²ÉH#óNÆD×7pm™c[Wí¨ìÊ.¡œs¥óòžs9'Óf¨)áhO˜ÊX¶‰¼¾ó¤1{‚И…«¸á ÇkÌ÷k^L4ä7Ÿ\ßÞ쓵ÞfQ% ‡.¡¨N,-WRé ¡ ¡¶‡‡*xX)†DÅ
+µfg© htì.‡ƒïÎÚ+ŒìÂ%OÕ»ç¨Í)¶éý?‡ÀüyÝÆ£‡Ä”OAÅà§Í•ŽÒÅšš…ùl
+4cöpŸÈp]X¿çîAÎ/Rq<RW!´?ê&ì±=Š|F,û{•¯Ç?S„ÉOc]CŒGõéXV~ëÝœƒÎer>9Ap“éq}aŒe}zíÈ…å“wD¶W¢`ç6¬•å¨)û‚@—ò×k*]‚ÛѦ>í&ÆkÌrvÔ™²j¾Ÿ†£ü˜mYÅ|/O-'>TKå6ÌèAG®†æ€5´Tïȃ¹ã”\6ÀæÔÍM¦çÉn°<¯5£ìÜÔD2wXhô´Æ}¬×ø ÅÂ…~8%ŒcÌeDp{eDB––¤2b¡c•Ðã„UaNhJºÄa|p}|¦Ô¬OgKž†ß;ñ”„µøÒMÒZSCwéŸ:sÛZúöÝÄ+šw'tÎ×M?ù ×F¸Þ±¯Z»‰û+?•ìîé”S¯a<õ®k'u
+mrf·^äxÏn¯¢AÍxÍýÒ£r·‘ \€µ¾.-µüÄ¥ÀZ,­úVÓ39Æÿw
+Zȵ‚G·`\AÂCçCðN(‚ñšÑè<B„͇hmDlý‹‡ ˆh
+D%ð>ÿ±I• È]“*ÓÞ;&U¦oNª
+ÐCÓÝžV-ì0(£7²ßË)¸ûñZõÙÇBp»^ö;“×ZÎ.•Ÿç
+t>ú¹$ry"¼k^Åý~a*¢l…­0š;)cr
+m˜ãn£l_¹ ðûnƒ&‘<Ùü¤»Å:^Õ*¯Kx=Å©{\Þ ³Cž;‹f åMuZõfÍ«qÆs1ô{DïÃÛ…4}Q«‡pY <€01ôw
+æê¡?ºë~¡pÕ†ûÅ\2l3%}‘q˜šÚéŽ)-<¦¸3æ «ãøUØÐLýï·‡K•u†°;\þœáÒ¢ñuÂ)ORÞ5pªtÀËA-ú0²d‹7 ›µ.!{Øy°˜–E=Ÿ¶Ww\ÐtÜÖ¼ËÀ=ÑOtlm›êÂ<®Éoaœ_(]–•••Q·jsâ“v œ2·ñ鸳ÞÔ>OreºÃ³/ûUÜcª¼áBlmxWÈ3}¯ãn×ù[ø@üÆBaÍCÛs±—³¿mHëWÖ´®HL-à랧ßmKì
+—_Ótrs™cûbÓØ8/Z1”Ë.17«æöS3˜Æ~7OÅ,HJ¼»¨MAÞÂÁèlQR]äÓöf_G×}ùu¹Òw¦ëXHe/%pS½©ãJƒB¼ðOŒº·s§‡ÓhÅ
endstream
endobj
354 0 obj
-<< /Type /Page /Contents 355 0 R /Resources 353 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+<< /Type /Page /Contents 355 0 R /Resources 353 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
356 0 obj
<< /D [ 354 0 R /XYZ 78.37 808.885 null ] >>
endobj
+113 0 obj
+<< /D [ 354 0 R /XYZ 79.37 602.797 null ] >>
+endobj
117 0 obj
-<< /D [ 354 0 R /XYZ 79.37 545.032 null ] >>
+<< /D [ 354 0 R /XYZ 79.37 166.052 null ] >>
endobj
353 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F68 259 0 R /F15 227 0 R /F16 251 0 R /F61 239 0 R /F22 234 0 R /F31 233 0 R /F25 327 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F63 227 0 R /F16 247 0 R /F15 223 0 R /F54 224 0 R /F68 255 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
359 0 obj
-<< /Filter /FlateDecode /Length 4080 >>
-stream
-xÚÍ\ËÎ\¹Þû)jÙA`Y¢¨ðÃ@W—k€Ìj&Þ%Y%H`²É<þPwêrNUýméF¹\çèB‘ù‘¢,…¹üí"éÏÿøpýúáÓݪ‹ÁI¥._ÿúA]$ý¯.Ö eñ⬒Z|ýåò‡7)µÿü§¯¿û ãÔŸ:Ã%ˆ`š²Î.íæ¾Ö}ʸR }ìåq‚úã¿ÓLz7“%@ée.I´}úÜòo¼=E»2 L°+õ©÷§;ôrÂÃØë‡?J­~“{iµíeµðDÆÐë”>`¶}œR‡y&)K/µïå©—„yUê§Ì¸f^Åß…OG4·…“~žßHõé7gp ûýß){@këRMfªdŠüH‹1%m“¥yE‹§¾ßDk¥`;j,zâߟÓÖªÿãHðÓçWY¤P¦«;¾Â¢©¯{ðÎ:¡ã—ù;2òà±µ-^+aÝB»iï­­r]©;Uw… ”6C¯äË
-F¨`…úîŽ}¿¯è¤1Š&â9e¬ž)>7•Ã¬×?Ãp0:a§.|¢ƒE’e÷vé…ÀlÞÁ|d§u´îÛùh/cVÜþ“++©‚1«8eµºÄîë²ï[ï€Ùꎽ9gm ‡Ñ€rÖþÏ)kATX&²Ñ¨|ãý „tj™+îa ]1oÂ…TÐio†5¡!²^K!Áu—U8A¯v½L¡nìÕíÁ\Æ“iŸæRÍi}º#^P¯h¼›5B{Z¹<Z<ß_¾~øßu)äM­·—?ÿòá¢7¡Ïï"ƒ¿ü3µý…D)œ§¿ýýòûÿ•±ÞÍR(Õ[ —}È„»ïBz?ôøù!_0¨¡ÇoÕ9bp’´w4J 1ÌBàÈBd^©§–âÉ‚?vy°o2˜â]~û:*!$ØÌЗW|ÂÐõûº„qªo
-I>’‹’õü˜Ý’5øù£VoÕeŠÀº–ïÛçôÞjèLì~輦H*O# S?µ6×ú¤ØÁ Õê[Èc§QÊ<ÅwWü±<-…ÎëfuêgÔ[§™Ü”R†?§Y[[fPŸŸ™k–“®,Þ‡…
-4ÄøFÅ}³—Ø\ø„F3nñ©*üª"ɩ퉋ên›,ÀÑ3'³;N3•ð¶È |–Û©³A AºiM`3w±èpÜ)´’Éï̾#Ò(÷ºº¨yìʉÊA]øÄ×ãŠ"†·ªSYÏÆ1R¿[ã`âíç‰p¯ÌU‰‘yP]˜ º
-Þ¹&!Å%O*@þÇ;=`#Ú`¨ æ$®Q,EüÊ–‰ªÔ¿ªB}OLkJ¶S¨o"kó&«OÒûbrfÆ—¸µ0²R`8_ò|EéÒ8•¾¨´ [©Ÿ Bšé­OÞ¯ÂÌöíÕÉÏG?É%ªqç =–‘¨1’ç!ó»ŒvçR:1b“®‡jÙ ÉàÒÊî׬ìñ;™S­¹\e}Ò lúU ìýú
-Ïø'© 9÷8áÇÌÖºE£õ%è=ù‡Ì÷ß²ø°[çB/î•Œ
-Ã7²O
-ªT Ls¿ (å I:¿Po+ð+—å!”wï›ä}^QÜÜ«LNJŸŽæš½n“²«÷*öÊkn.ý©¹ÌhLVœÀM~Af·ÝÈCf7?ý×aÈÇnSÓžóø~L§„ jåULGð`…c:-ýL—[,OO[ªG¾7LÅt<0Sø8L=ðÛŽÀ.lKÑQ#¸©’ôÁoYó•)î’Ÿy[£¢ÞÃ=’i×&|+DóáÕÂOcöÒ¹_w‹œsÕënéCM®Ãû¹ê©Â5³'%ÍŠïStêIpXR#¦â©8VÕS}í©ð4°S­@líÉ"¾ž80îmN÷õò©ÃtCêu`³ÀM6«Ï1$z̬ùÉ÷L>§‚ ˜%õÎÈcz‚‚‘i´¨k=‘08ñI_¬IÇÁµ_?Ùú¨ ìlŽYpq{‚<‘ ½üÂöÑsKÀrÚf™fÈi/C½ÀAÐdØüøïäŠ4ÙC Ã3Ïv«+!ê•T,SdjjÛ¯5W^{[Ø (r¡=ÛLSZ˜Œ„*™\SŠ9í‚^ÉÞÅb­½0¾BK¥È™„Z*¬„k?uc€óéÐô9Ë3E‡Ê 5Q ÕYp„ÂÝló³`cíE$Ë!oÍ—i…S~¦Áê-{)nSaÃÞ–*/¬ö¥‰¥5s1fΙc íµŒv{pTM>ý˜†fÀ$KUÌO&ÖÁ«Ó/¼t»éëÆk~¥œT<2'F B¦/Ò£)8RaËŽfæ| YÎç¦
-{ëy‹1Eò`™u1%°8u¾h(ÜÑòNqÄ°ÞQP7x°u¥KZ±lÝt£^àó[x8~ “=m)z‰Ú?P>l£GÛÇxŠ×—ö Š{ ÕζÀ†ü[0‰
-x¶·GÅüg¯‹F ùÿ~Ù¨e7éÿ¹,—hM`7êó±ÏƒˆVQ8K¤gÊ^ð½_Öö„C­È»ànî_czO‰ó¨·ÊÃ]$“yÉkyù©Sî÷£¯íÚid“I5‹UïJ»öËOf,K´×6Ö6ÜU&<1”-ò‘†2¼Y76šâ;_s{ÎñNÇv×eW<ÔÁ£ý ”€^vgïŸ}uô5A}!Òãs«yw6þ„ýºÜm´ˆó‰bÃýƒ¼EÆT8½} 
-«Ôxÿ ^ÝXëá½dLUÔdiƪ°Äɬڱ"»8“öKÄ¡’Ý k¬IM‡TQ~R; §­yÜÊw4Ìñ†ç³kZ5Û
-öãíÒi¾Ãó»½)«}ª+g*mý´‚|©äå£ù×é¹Üž~b:¡¢°Ì¥ÂÙ±ÔA£aºV$%ßUä»']+Hµ%Ï“ž+Ö*‚ªz_¹öÀli«Éu®šURèyi³ëO[m´%¢ =¢i§– çV<š‚òØÝŽ†¿@‘zóBOÛ5¦—VM&ÌHJmÏŽÁì 6è]œò6¿Uì{hìÜŒ^z¥×lM‹‡ª½€r„W –ŽÑt÷Õ²¿ÖoᲚD 8UrGn`·{ˆŸNž:OªšÃÛÈà
-Wº¹å”™°æ¸Á¾à¸fáÖB¦v6‚!”h瑲RtìÕú
-|óŠ·À~õôùÕζ”Ï/|*¿Ô‚D53éôÔíÀök ¹Ž4ǷljþXËɶìX°?¢©f±
->Ì£a±kÖö5»çtÙ:±D3=…&âW/<e.ëþO)LŠ d¿'4×XÆò˜ÐËcž‰ bÅSâå82ÞSÙÜG“îö¾CF
-ƒ@Ôó¸¦a`ukê9Gáø6#q(72´\@éazo€Â Ò^{å3»Ó‘§-·6zãä¾Z5 O»UbgKÛj‡cê 5á-cÆ#gœ u/qñ˜³$nk«ÃÄ-µ`õUå×Ïóh<‰Zýk~3”àäqÒgJ(ÅcP^v’ŠŽ÷k7Råêw¿Q9ÌÌe‘ŸŒÔU¾T+ÍàÈp¿¨§M÷±¯4Ÿeg¾<ˆÐA
+<< /Filter /FlateDecode /Length 3538 >>
+stream
+xÚ½\K#·¾ï¯ÐqÆpÉbñ ­VœSœ½9>%HŽ$—äç§ø(¾šÝ’ÆãGêf‘õüªÈ®^yúûIž¾ÿpþöáóU™SÁ‚ÅÓ·¿}PtCžÔÉ¡ÝÉY%¤U§o¿ž~z–ÏRª/RÚ ¥¾Jy=פ4ôÛ^è>}‡ËËbxÎwÐÇ_þ9ß³ñø~¼‚u´Á2§lóB™}þæL1øòq™x!.s=×a×<1^⾚¦­‹ës^8Q_ºét#ð/
+×NÇ«Ž¥ªᥧyºÑdä¦ç-‰p‰âlTѯÂÓâ2+£)âÕ¿üüí‡ÙŒ„’–ÍH³g:mD©Y¥Zëç¬è(@þ¥]á]Ž&3-$9ÔÕ–—<*Re£ó¨¬óÂ}È®ÔîæµI>lÆOœúæ<f)©VB9]%ý:Ú['¹Û,ñJ(WzM4©z:’¢Ÿ4]ï1‡Ù¦Å]ƒTÊ°ô‰ÛÏW «p0ÂÃ̾–…h£ QhÐ3{^›Óé*pïVyAùE·_¿ôB²ë9›ÆAôxv
+gí,‡Ï½!É(gŒ?ô?-­ÆL³+ìdϲö2Gh[ÉüH)¼Þz@:DËû™
+¾$*)LÌ“ôÿïw—Í®ci ubÈé†mŒêFfU×T©™ˆÆ–5¡%Cšþ—ÓðóuUe@˜`7ëê¬âˆ\)ð.Ù¤÷››>ñžŒ±ÈnŸ3ÓÛæÙè±jžSÁF
+íèì4-K­
+xl‡8ÆaÑû IÙàDЦ‡èz^ò=À
+DœçÛÚC_ø[ô’[\:/ºÍ¬;öH>ñþö¦­ˆŠ lD•sõ8ÉßnÙËÚGm&‘ÒëÆfœÖw´ƒ„¬‰1ÖÅ øˆNj<2Ä8YµòÆÜx)”Â*C=,z 3ã\5bîШÓÂP =Í€ål1+ˆ«úþЫ@÷ñ @«µËçå&ŸiWŽ­|e>«IMxЬà=ån»Çaükûäª
+¿aO}zÔ=Uî¶:µøãHû®€2óµØ™Üò;öä™Ëc`);™žŠååXÐ$S ”êY iDÂJ‘o@‡¢žhÿˆ!ÒßWÆ¥ÞV&ޭ˨҈(j´:6l<!&z¢ÏpŒÎ
+Š¥i[àE^ %L½»HÏÂI?­n¤ú| C´Í6h²(¤5Áí,æ@È’-MÝÒZóˆïN´ï
+BãÜãVû1gzCt›È3 ‰(h t7>ÐUû¿©Æ.µü°ºÆºßŠ gÝq~.»ÿFSª¸Gtª½°íœOëG´:Òþ¾˜9ñ9–ÜrAÖîÌñ1R²~;ª¿g3tÂN$ýB;BŽ{»¡*‡0‡ë.ëæËõ(‚‹Ž1»lûùã¸93fkÎÍ¡ÏÚq©HL@;R×çc;ª t1¢f¯Ú~:~FLÛ6 ¥=ä;G.èx¸§6k…Ýøò•øÌgÏð&œÈöf|âìEˆªG-йM…M·VT¦p7RÕÔº³–¡=x˜ÖR5U}¾RÅGõ¾WñÉUÿLÛí!u ×}|ýöá_ Q=ýå×?ýLwþJŸ¢Žƒ?ý'ý•LŸ³ËÓ?NúðÇÜQ¹Çs<‹îmÈ|Šõ‘Ëc×$(¤÷#É/75ƒA$ß©ãBÁIrà—j¥°³ D¢†hßbï’ÅÇcS?PÜÅ›\?uß=^‹ÐÀÖ3CüúHNHß”0.õeô–wî÷0ú¤TlÜRn+3%\w(Ÿkø´ýx¢%c­ó:¶Új5µõM]sé~jepfÑ‚›¯æÌ:æÜZ2[w_½[žŒ¤YÎsóƒß·'8R¶®ÝFñ¤—èRC óLiªôùðuZÕäŽÈqdifI׺§ÇG‚Â… œ¿§o©õ!¼<¡‘Ï‹îê´~ßýÌýy<i1=%ç¶÷Ü7 ·êÓæm·ãa³A V³L7ÏÑwº>”LygÖvm@餞¥³Ý³}lM²4q_FyÜsߟÍÏ×j×f£¶ƒg &Ý–Ô|úÎc[cmü–ùÑ|ßv×_!€*+ 0ÔF±9^™© ª7×h–b~e Eâ*ѳ‹ ð}RZu‚ÚvŸî Ýå銅9³âWýº…gÖK^ÏßÕ­ÄÜÏ=ùõ*w_ç+owáûÖnŒñ´ÙØ%ºqÿ0Œg¾áÆñ1•#LŸg»öV:
+«Ô¸Ÿ%.öWpä±çFvOÊ$.žLÚ.˜Ò•¡»ƒƒeó û‡AÜà™†-™ù
+´—èê¼Ü=Š¦+Âý¥Bš·U»Ë%%¬V³Ì7Ë„µþÀãf¦k/îN‰0©¡×ÁºÜâµ@³,–Rkïh#=³z³X M¥œp[·KÇbJ*}O>¿zäÏ›¶Þ#æ‘6(ÚÀf½EãÏLXâÊêtæر{Iƒ¶¸zoÂ`ÿ.ç¥óþz§º¸Áù} ÃæD®F†;±ÅæÕwã†D Üö†‹éDÁÍÕ–h—Ó¢´JÛ†æ'(LYßÎÄÖ@Vߢ¬#†•¦ê­¿s$k>.Þû( ÏÍŒ ±%t–.èWöWñ-&£æõv³ÖÚ‹b“š ׬æ Îí”}9’–#kþIéÂû°Y9–#á¨ÙA4Ú·‡­ õ½hù¦ªqͺV <m²îg=¿Žž·¯•ß[šbÔÖ³ ì³¥[ä±vµîº¥-ï_‡îýk>°à4â—éowXÔ×*¡ß‘'ê¾l°ÍcòIö¦QHyüªbÒí…Kó¬”vÀn²24+ò«Z|V¥K_fOÜÞ/6Åzkêáã”ó‰þ@«FìnÒvßCG·Ñ—™9œÞ]Ÿ_Ú ýK»`ºs—ök8•7Šäð<*˜ë•·é]Y27Ø2w `‘a6.obˆlÚ/;Ï”¢)`íÖ;•S]oÂTlOßHñ È“4ntñåPƒ%8h·DI¾/8ô”êÐŽÿx@<
+¤kì iëÜ”B}èMåÿÿ
endstream
endobj
358 0 obj
-<< /Type /Page /Contents 359 0 R /Resources 357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+<< /Type /Page /Contents 359 0 R /Resources 357 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
360 0 obj
<< /D [ 358 0 R /XYZ 78.37 808.885 null ] >>
endobj
121 0 obj
-<< /D [ 358 0 R /XYZ 79.37 689.086 null ] >>
-endobj
-125 0 obj
-<< /D [ 358 0 R /XYZ 79.37 576.152 null ] >>
-endobj
-129 0 obj
-<< /D [ 358 0 R /XYZ 79.37 417.923 null ] >>
+<< /D [ 358 0 R /XYZ 79.37 302.535 null ] >>
endobj
357 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F61 239 0 R /F62 230 0 R /F63 231 0 R /F22 234 0 R /F31 233 0 R /F25 327 0 R /F15 227 0 R /F59 352 0 R /F57 361 0 R /F44 362 0 R /F56 363 0 R /F53 226 0 R /F68 259 0 R /F55 229 0 R /F54 228 0 R /F16 251 0 R /F32 236 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F62 226 0 R /F68 255 0 R /F61 235 0 R /F63 227 0 R /F22 230 0 R /F31 229 0 R /F25 326 0 R /F59 351 0 R /F57 361 0 R /F44 362 0 R /F56 363 0 R /F53 222 0 R /F55 225 0 R /F54 224 0 R /F32 232 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
366 0 obj
-<< /Filter /FlateDecode /Length 2801 >>
-stream
-xڽɎãºñ>_áY,.ŒÚ­Ö’kß‚\“Cÿ¿¾âRÜDÉv?ÏÃÀ#[¢jg­l)Ìå¿Iÿÿñãöõã×æÔÅ‹ÅZí/_ÿù¡.’þ©‹[„vg•V]¾þù×UJ@úlRE×›”v•骮ôÝ.é>z)Õý†ôKÖ…ûüÝ–àÞþýõ¯‘BIhñ\VxÏ`‚qÙô]g˜WxŽè ´Úæxô"ꎿLg€‡™¯Hÿ=¾§ðÁ åñøÚ%y´òº¾VÞóyÍ2ëœ
-`S…¸5|g$£>I¬•ukÆqKB´Œ§¬HfPÞÊÛ¢²”a1@KwdQ
-gh.‘Óÿ]ºŸÿàQh\Zm2Ó Ga{Ðl .k¶!ù›a­rÍ2Óë$XŸ Ö½dý¸‰~œú>uï=uÁÂ:+¿+Tb'P¦#>-d'…ê=—õ^å.r¾>ƹÃn-Ôê»z¹¯ŒC2_³¥TÝ“b”@W¼d1Ì%{KÙJ‘í÷´E«:ÿÇ>-l‚§üƒ…Eƒg°æ>nKyasëA,ƒèHp¿6e. Å9°¸sðUßö™i\“’pd‡j³ ‹cŠn9Úøä2pÑ×t'ð¹Ý}ñºGîši\ØÅ©$ßÂ'Ê=ÇT†SWžÜYÓ®Êwo sqN®:§Ê%;¿üë–#¹¬åJ™Þf¾uÚ
-.œ ­ém'ߌ¹²¸†Õ‘Š/Ò¯ƒM‘èký£ËÎ,á P˜ZÞ6(gÞP€.îóÌM}²þl
-$G¨ØTCºS%û";›‚Ÿ:e…§;*!‡Æˆ¨-¹Q^û¶­Ê5Õ›‘×f¥^Úd “
-¶Bb¦éy6ZvcÇ™¸rHUʉàx¾_¦ò†FEfHX •£®¾PûÞR{"’£ä£®`+lA}«NÈšÕ”Úõ}Pip§>~wýï{•J
-G7ýN&!Â`(ýîºC=ó»Ö£­ƒf0£ö9>Éý,ü¥2 ÿÅ™ ûb%û#yÇ++¡¼Úɳl{¼ÄR* a_Tb=_"Õ¢'bÊEOùúŠÁªL:~çŽJRÖ¥»^qÙ½¶r=-¯È½‡zÿýìDåó¶ác3y:ÿBŠÍu\híA`íA;»gÏ/Âkº@¬›
+<< /Filter /FlateDecode /Length 3269 >>
+stream
+xÚÍ[ÍŽ$· ¾ÏSô Œ"QÔ0`z{Ú€}2²7ç$Î!ÞƒsÉë‡õ_ªêš±ø0ÛÛUE‘ù‘bËË?/òòÝÓõëÓ_îÊ^‚,^¾þò¤è…¼¨‹ B»‹³JH«._¿]~z‘Ò)—R{þ4ðú¬¤”ô
+,}ÕR"а@ÿ§çx£çîõY{M#tzS¾®Çcþ4ôÞÞø¶<ãÒP(X(³^5¼t´Õ]Ç7üÔIþL«K¦¡¾äw‘®ì¾ª/<–æ¨;¾þüõû(&s &a­)b2oÌ{¤“dpÏ4 ®h("(ÜPÁY:‡œ(í…¶a¦’ö% ^šT‹D1¸_Ë’x–]úŒ4 ¾à'iw×&Y¸•DUÝ-¿!®Á%Zy%Ùéú–Ç\ÛXÏšäZXíTƒ6ò:°À#¹i Bkµ”[èv¥R$pÍÔ¯ü×ôœìóˆwÔN Ù°þùÃpÂ8µ®áÈkä²Ìé°‘ÿ³ÖºÓd=Wfd¡±<#²^h",tíåÊ GÜŽLcÈþ&ÿéã£
++ƒÕ†oÍÒ
+·è ²we]M椼p¦y©4g#·Dî63*Oâ‡Í$‡ç{%ݳ¡ÚÎyt*ü’Ø“ÂÄpFÿ~·kV̺ VxúìNh^?vÕì±#!yZ.$Òÿº _hî˜lPÓ ŸÖŒ–l¯vt³ä~Ï…÷PÅ]OÁB5ÖQ ÛïOwÖúh_{kÈШ­êOú½å€W†j‚AýA~ñ¤¦Œž¤6­ýM)¯Ep~ýÍv¹µïDÅ1—éÈeRŽ^Ò+òáÞêä
+\Ù[1<»÷Pk×Y2“"ôî>ƒ²ÛŠrY·{úÿƒ#¦¡3ç<~Î)áÈ
+f*…sV(€™Jç´ôàØH<=-&¹¶àRNo•ÕzŸaE @0qº “Ámr^7b‹¨²1\M©2ýÐœYH9Eáª5楌.ø¥Ÿá^&,·
+EšTäxæÕne'Ľ’ªSÙmVYþF»­™x i¶…•‚¢jÊzºÈTÓX™zT5§94¥|ÓnÀ«§¹Z_ŒÖ”Ö—ÉJQü2 µT ÅÇŒxótZzÎóLÙÅ®1Dn —\³1àˆ„[¡t€€¢öf d­°÷èˆ=­y2-åvvæÁê¥x)oSÚoÅûç)qh‰Ã‘Ó$ÒRµ«
+ÇÂ1†ÎÚP»ó`)¦ïóP˜ìªT;ë“‹uðÑåƒ^ºÕòåàÕ¸9“ÐçÜ åm„L?ȦÜH…¥8ª›ó1c9^›ò#m>º4Ù-ê¥(ì­Õ-Æ
+ÉC€e¶›É‰ÅaðE+@ኗOªiwéèŽóÑcbŠ™²ÖúÿžÞ¿>ýÖ2‰ ˆ`hÀpùÛ·4ÏzR_bM™Ò‡ÿãòËÓ5<(ø+é¹""gTŽðK‹}-\Mßê…ÀaRãÈœ”›×(`ÑìÕø•åb=¿FœcG}R½}óeR­n…ÓøÍ >øíÒß<î6È Á»&ƒXÄšGbÆ$™ƒÚ™¬…¹ˆux·ªÃ#ö5éJ5>¡´Ë!•))}i5Ñ
+²ç5TÙ*®éóÞÀõJ.Å
+;2t²ÍB@EOu#ð§RÖë&î„ñæ 9hY„w,8#¦š©.kê”Òø†ïߺسî\[{Î0ÍÍåùû•¾y¥£Ó<Ž¬UU^a(“uÕé~)¡¬IC£-ó©—‹¾Œ@7Sê/"“Tr}k-·!UeŠ~Eq°×U¥ •R×,k·^eÕ'l,ô^ÒB?†'ã‰=A˜Ó­WO󣾋í­¦ÔóîÞJµ‘¯†; V,UÓââc=‚…5W 'Uœ—í ¶–1»UÚhµ5ˆ…’#¾taFšÛÉ…MÍ””q­8×ê/€NŽze5¹O\P
+`#ùGW\ñrc/IÌÓº`èÃ͵¢âÏzx‚ùòJgšé"w/R¦u
+TáL#ÉÃ}/éK-FÇ°G>š`ue+ô üø®ÎËÆ
+Ø¡^ÐEÿ‚t›—QáTï?Ùh6Ñ’8\h/h­Ü‚VDuÞ©#Z'ýñ¹f8åb Lõ1ð>á“
+ª¨å|±–^-w á¢ãpßjÕJDÅ’ž…tØ"±¶Ö ´ÙRšóÁÐçK‰ÿØvÿ¬Á.ÊnY€ºÁKãS±J¦ —‰Sÿê‹ñ9iî§OOáÖ¼åÜqÃýÍç‹­û¼
+6,¸8õÒc*|žâc/ch½Œy/‡Z‰í©I–#e¼§çg£Õçt¤0òÊ3ÝT6ÉÆ®scYéf¡o _ºŒ6}cÍeã­Ékzµ[38wËv¤Zª—Zdz‘ïÏ.®3<pÉÑé~ÛÖ´}î· RÉ×+¤wc5±w5}‰¼Í‘;Dî2j·ÊI#\_ÐNßöDÎÔúXJ‰ÚÏûL÷!¦‹:«$15ˆVï×æ£ðÚðçPææ=tªà'#wö<†9:k±’ëÀOª3ï‡ ÀYßù‡‡«A¬l&ÞŽW‚”&“jöÚôÚI¿ ×îwBYŠºÎqæ +Oç¹ ®00tŠòÉe÷¶[²çQ÷Ùqœ¡£oX„|þoƒï™ãiì‘/sdiûš{ñyñ´ßàå&Ù/e¡ûZ¥–ªÔ7m-ÞÓ›:í±À&O[½ÑQ£›5–Œ=ý¦˜]äé½€±ÿv<VŽ
endstream
endobj
365 0 obj
-<< /Type /Page /Contents 366 0 R /Resources 364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R >>
+<< /Type /Page /Contents 366 0 R /Resources 364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
367 0 obj
<< /D [ 365 0 R /XYZ 78.37 808.885 null ] >>
endobj
-133 0 obj
-<< /D [ 365 0 R /XYZ 79.37 564.05 null ] >>
+125 0 obj
+<< /D [ 365 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+129 0 obj
+<< /D [ 365 0 R /XYZ 79.37 612.864 null ] >>
endobj
364 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 292 0 R /F15 227 0 R /F62 230 0 R /F16 251 0 R /F54 228 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F68 255 0 R /F55 225 0 R /F71 291 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-375 0 obj
-<< /Filter /FlateDecode /Length 3829 >>
-stream
-xÚí¹n$»1×WLhKó( 4šØ‘ÍŒ~ŒgÀþÿÀÅ£ÈâÑ=3«Ùh¥f³‹dÝWžþy’§_^Îß^þtUö´‰Íi§o¿½(|!Oêä7aüÉ;%¤S§o¿Ÿþö*¥~—Òè·/Æ»øt–Òª·/:ć+åd|Ê£Wœæ/RBüÁ1·ÅYgAà
-
-¸z¿!ƒ¨I>»7ÍÛž!⪽<õ†h9omŒÒd†*S$úLÇå<Á04Çu;±chÛM„ÌìÄ:ñÔ=žƒ–ÂzS9ˆŒNöGG£C~ø3Ž¥³©qw 6ÞMJôXžµÆ  ¦/eFFKµ þÔÑi6‰ÀÍøáƒÞ€JÉ´<;]"öÌwæÚÔYäÌkáN\É=îÔ]ŒšT4ÅÍö)Å øï//_¿½ü‡áR‰
-ÄÔu“A‡Ý:Xžåø 6ámxÇp}Ê/ôBÁÕ¥*ÊAhœž)ÖÿkªŸ¡©lÔ<5y®Î²s&ncŒ‘ñè)óAo{Ö5‹u,5xßõ±7ô±ç}~6tЉ(7ƒÕ,p]oH£‹ÓÃoèû„ÔHr—s5ÅR¨PðÌ« U`¶1X-£áSœ,@wÂOC’•èRµ$g#éÀùfÁ[žJÌÁ2¯lD,֚ϑ´èmxž1ЙX|5ìóÓœJ€
-XÒÁ°´xL=wêk+‡TRét¸Go¦Y”“M£¾ÕÍPk¬{X§fH)Ù@û~û–|Å“Q_øN{±Õ„WJǺ¾\XÊÑì9åJ·tq/I¤/­ƒ
--bÄÐÜšvfH÷VEpne“Zѕųq°²áu”rK~Bx"C¸é=8ýÚ
-1èT–ŸøYqŸ²BcÜ£?¬š2÷
-jCªå8}6Á Hê&ážJ}3•Zóü0ÎûþÚ3óæ÷Ò^È
-^zS«íõÄÚ©’øŽÕ®Ó¥âM}4Ò1&S ›±Ž6S ¦Òeƒ¡tSd]ðySe1ï莦•TÆ·zjZÚ´âÂÛÅRGKA~· SPwäò¢I%¼gŽ*
-×>„»p I›UMèK²Îv©-;Ž\ÏÇ% 8DTI¡Œž‹±Æ=Rˆ½¡ˆ’\Ìc_9éþv#ľ3À»£MÀ
-…_ ît‹Y¹r£oS‹\£ŒYFFÆ®¶´¦ö´¨Z6Çœ nÔ’ÂØü+Ë5hVuLoºf¨í²«¸ƒüîM!ÙƒÎo“]á!ÁŒ‡ì´{i)㉓„åüÄ¿ã<ß*Ñ£§4®HzB®-£¸—üô†:ϳù‰"™é ¤Ç7ûÚCÖ–Éê¹uÙü#v2“vm%Œåœ°dô¦Ž
- aRÖg¬tw&Í­Í!}pEÐ…F)`!ç)™c§9"œþñwLÌ65"æ;ã –í
-ÈìÖÏhæT/é‘tõŸU>¡:–MºZapÝ‘<Z˜·´®­^i¬/•÷UT¦‹:=táz¦CÕj¡+ÃÄ…WâŸp‰¶o ;ì>4F„Èÿ=¬ÄtÄ¥ÏG¤’A-oñj¨7“P=[9õ’¥²C¥ÖÖËc›]ÀüWÍBÕ§1„ÌoÒ%EÖŒâôì gø+RVèŸ $ü¶7r&ƶÔ_ 1ôíßãë©Àª$ýª=ÞWÎÝ rJ*R>ç7–y]ÀC×C¡`‚’®(û
-TÊ'_–ZÈPÝÍŽ|l¿ãyç¾ÌîVpø»ò&¹}tá`ë¯ÁÅ+=Ûž à\Zª¤\[Ú)z{ïýÖ3r~ØÎM‘9w£åNØÆ]ì:| 5-x¯é0®Hf‹³¾¨±÷­XU]ƒÞI¶Tþ-=­žÖë<0„§$a„Óð‰,2è[Ïƺaë nOf;ä`´Ú˜cUn´î"Úý>”ö…âÞºÞ7Ìš’‚]þUëE‚£H1:|ëËÊù«N ¤‘”Ô6\ÿ#Úñ~^‘ ‚³™¯ü¨£/¼Ú´7¼ H‡ï¶Ùõöh=˜JRn×óx˜Û8]êx­ðw8öŽcþÐ:çAÿd¥¯=+\}ÜE ÃPÞ«6~d·dñ¥,2°%]O9%êáCÉxØåø–÷…’B!Yêè>… ‡„Lä–(ÝÚp?úu¥PÉ€ž¾¾ö×Ä5+‰$C,ñáneÚ¤ØdWT›t;Ý°¹ïͱö—¤òb`û^äPº®Ì4M#׊¥m y±™z¤›#Ú ïuàYGHªÔËñT¯;³™Ê\oüÏJNX°#&k>ùÜøÝÜ*NÆ*ž ©ró89ܶIKÂeÏk ÜŽÍÒ›ÎÆ4†uA–‰üúíåµL¤Ì
+370 0 obj
+<< /Filter /FlateDecode /Length 3310 >>
+stream
+xÚ½[ÉŽ3¹ ¾÷SøZ£}ŒÚíßdNúädræyÿÃP %j©r¹ÛÝvU©(Šâò‘”ùé?'~úõåòùòËMØS`ÁJ«OŸ¿¿xÀOâäSîä¬`ÜŠÓ秜9·†sã9W>Ú÷·WÁ9‡G
+>õõMIøîà––ð>MºŸÿÜÓ—òYÆÚ
+R€o+€{q>ù œ•©¼ûÊ"¥Ð¼sái«í ð^#À÷y9
+4—ÒY€yŒo5mUK;Ô‚¼¬j£rXNŠ|;–\ƒ1ñèoJ¾Z°k¼–;$@Õ°×5²»“ö ½Ÿ=¢n4¾$Ù2c‚ ¾ýÝ í@«‘ú‘У+¾pOãž<È0#ý¼ÚA­ýB­“äSn€Wu?¬l¦gíiòãœúä8y·³KmÞrGJ2!¡UÉáZMéªyµÓͤú§KŒ^,©§Å‚V>J81)œ¿Ü ñõ°Vùy[@>ÊõêV6A–<xô᫪PÜþ­QTa˜— ¦…¢óÚkÛ@”Lš«ä&ªÐLª¦7Ký<À“6úˆ9Ý]÷’>|hÈ+ÐW.˃ÊGÂ=éûgõ½¢œ2¬æàJœï®›PGee3θ@¹·W#M‰fY_ó_„^±–5Öت}H5
+€)QVcþç°nÝ ˜zδâkæç×!¥‡ÍõzZû÷Q¯RŽç)'\è¾RŽÈòh¢wÿ‡*-(ÖJ:_(Gd-!:!Cãw‰±Ë“k•$åoA·icå¹…Z)trØ»_(Ôƃb¦t¬,;€h`gH!ž*ïX0j’ÀÂ@ͬ
+ z
endstream
endobj
-374 0 obj
-<< /Type /Page /Contents 375 0 R /Resources 373 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 322 0 R /Annots 377 0 R >>
+369 0 obj
+<< /Type /Page /Contents 370 0 R /Resources 368 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 321 0 R >>
endobj
-377 0 obj
-[ 368 0 R 369 0 R 370 0 R ]
+371 0 obj
+<< /D [ 369 0 R /XYZ 78.37 808.885 null ] >>
endobj
-368 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.041 145.137 174.015 157.092 ]/A << /S /GoTo /D (subsection.4.1) >> >>
+133 0 obj
+<< /D [ 369 0 R /XYZ 79.37 771.024 null ] >>
endobj
-369 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.622 105.836 278.098 117.791 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
+137 0 obj
+<< /D [ 369 0 R /XYZ 79.37 156.194 null ] >>
endobj
-370 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 149.527 93.881 172.003 105.836 ]/A << /S /GoTo /D (subsubsection.6.4.4) >> >>
+368 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F68 255 0 R /F71 291 0 R /F53 222 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
376 0 obj
-<< /D [ 374 0 R /XYZ 78.37 808.885 null ] >>
+<< /Filter /FlateDecode /Length 3579 >>
+stream
+xÚí\K$· ¾Ï¯è?°²D½Á
+ž~ûòÎÓj5Ïs¦¤'jE‘€ÇïDä9Y/.„bJMËK¢¨<}
+\ŸÀÒçâÞáøýÊùíJ£i”~¤;q”åOàœ™h(ÇÅÍD¾ˆOâ‘xmøäÌ“ÄðÿŸ~üòð¯Â(€`N¡´´eÖÉË_¾>Ð %™“æ"P .ÿþÛå÷‡ŸñF#t«}
+oIfÕ“PˆÝ@„[L‹·"hÍ´ßb»t¤Lù¶=¦u íV6"“^‚¾Grœ÷bðµ ŒTZE(q|ã¨-ðw_¾’3
+áÑ8g>8Å~’% 3“V°Ç`¦ú[ú6/•\1îÇåLÕCÒMÑB’3eraĵq˜¤A„áÆö‚eTž’k)ÌŠ•{7!i.™qb©ÎªÒÞò 惣N…›è;N&ùš$E¸6”’Ïowªõ»ðë¤p
+ºÌ¹UeVo£DUæHzüJÈ.Ÿœ'ˆûùIŠÇc'
+rO2ªH¢‰M/^ucÿ±¡´‚c©4ˆÖ+‚ýÛMYÅ[ÅH 9óv<…‘0‰Î|
+<ú&ÚÅ·Ü+m ¤ÃÒrØÇk-Éy¦¼ˆ,î™/¿TÉsAÅÇ8EcÅMæ͸õQ#f­ã^2‘HZ‹ÇËï= Ð~oÉÒìï[Iüw=⦊AèTuÛTÜ%3™ë—*£i,^ññ¯ù`ea‰ŽptžÂñÌ %³sÚÐS¤zücï‹*T`P*Wbp²ÖRp-\1]öÄ#àL;52ýˆ Ê0Í'*±p%noÉJnײå»%ŸÝ{ÎÐÉ`ç9Ö¯J, "óÀñÉÑ1”€0-R*:Û
+2ŸZëáKr ¨‰uUC®bd:LŠw™Š"!_ƒ,ݘ-ܤWŒÖŒÛ®¬Q/$+ã°­ Œ×BÔPÉ‘H4ת·#V¨Ó¼—kP*f‘ÃÓoSaA¿çÈ îF^NÌÞGR2¹é Æ|`¹¥(
+”ŠÁÚq Ð‡žÄ‰¤ÿ.ãßÀÙúVË)µY;®ƒiH² 8ÑÊ_Û¹˜ãÓÜ
+×»²Xc*>ΨAó¾õ åà˜õìtteÁJB
+UµÛ~Ò¶,pËüŠö{Úê¶'°Ò“jÅ](Òíš—‚)З~ßGŽŽØ æí«¬aî–(‹!i}Ø>Œ`ìiö)ŽÔnmgÙ ˜…ƵÖÑèýd¯¹?Ãn²×÷´S#ó¤Mã0Etãèí¤æ+´Õƒ UEnRt“QýpC»ÇìÝbàò½&A lu
+¶ò ±*z§«Æ‰Mep*˜õ´‡<ùQf3Ÿ¹<Ô2Ô Ü>ïCÍÈÑPÓÀ¤²ã\ 땲Cö£ƒš´Ì £gÙ‰œøN 6¬u¨ÍÜÇê ûÉ Ê°†9b°”Ÿç^×Aí<X‚L»9cΡ)M´· Úc èWb½ƒÒûâÀ
+‘_Žtõj¢ÖB0rCMÄ+~ £@¼F|6$Ü‹‘-Ä«º.hfÌy/yØË›@|O»¯¡_ñ=¥Ã0'Ð'øy0'Î'˜Ö:æFî“ !±¥¢¯ÔŸ«m QN06ª³`ý¬p*aOÊÍ2ØôKÔ·àöðÕ{,X&î`#­‹9à0Øœ’^¦Œ±§qÖÌ
+Ñ1Ÿ…ø"@Vºž è£L÷ý-ä©Æe5IÈ‘Æ¢ÕQE'îlÔX¦„>*O ̨i´Ugpb-sÖ¼Ä[0{‘Ò~›ÒKÈƾzêQ³eÞ¦÷&6*@»o²QIÑÔ¹ƒ6*éͽ¯éÀî›C&%bb 9Ù>%¥ÒhV˯^Å™ªápü–èLä«â·D§-WYE¦¿T˜XdêU§ÿ)ž›M¦ä¾R o@³h{ëÄ~¿xÑöåýôÞOn
+ÌÔóæ‹»}s£‚SËwžVìµ"Õ#±¡7¢î¼Ê¡åøÄÝIM¯:¬v§šà
+æ·1ïý«(6)Ìb§æ–­©Ë?ë¶6Æ+«vá—¯n4ÐÑLºÊÓÐÓ N?νmí£ªðb]©¦×QÚ·«Ê‹cùÒòàµ,“ÛêýÒ`~½±qS8Ñ
+Åáñ)nF×cî Õ—•v[çd†¿Å¶“…i„JðcgõðÖu×-,WïŸõï;ÑØ2y|“»vª×7Àk‡¾áý˜ã¯[®gÝßU'ºëéÑtzÁ¬tæÇþ;}B÷í'íRÕx–צ1>®»æV`:¡Ä©}K8†iïÓ·$œgä)}Kt¾`Œú?h\8ù>;—Öx–ëS;—«Ìwй4púýv. ¬d¬³/ì\(îÎ¥H暎Ÿ—u. ´0/öHÌ@ry¶8ðFpµJÓy÷¯¿áå¿âç'*ø½»ü' üŠP¥˜4ퟗ??ü½%\,óµ;öÆ’X_ˆþitLçP†Ùês³5„Õ@9퓼µN[À×ÆÊY±Æ‚Î;ÊÙÎPôÆÍ[Þ¶8Çç4[›_:¿n^$þŸ €Â•£uªÛÕ €Í
+Ö3Ú`}‡–âZ‘¤³´Çÿ:æ¢K
+endstream
endobj
-137 0 obj
-<< /D [ 374 0 R /XYZ 79.37 703.382 null ] >>
+375 0 obj
+<< /Type /Page /Contents 376 0 R /Resources 374 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 379 0 R >>
endobj
-141 0 obj
-<< /D [ 374 0 R /XYZ 79.37 454.69 null ] >>
+379 0 obj
+[ 372 0 R 373 0 R ]
endobj
-145 0 obj
-<< /D [ 374 0 R /XYZ 79.37 300.244 null ] >>
+372 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 491.656 591.723 514.132 603.678 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
373 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F53 226 0 R /F54 228 0 R /F22 234 0 R /F16 251 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 579.768 101.955 591.723 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
-380 0 obj
-<< /Filter /FlateDecode /Length 2985 >>
-stream
-xÚí[ÉŽÉ ½÷WÔ( c ¨T*öɃ¾>Œ9ÌüÿÁdì[feIÙÂ<€¦+3# .d$“_þsá—o/×÷—¿Ü…¾xæ4pyÿõEà~ç™Rêb`܈Ëûo—¼r!®oÿ|ÿ+N2r5Ip`ÒÚa×À9HÎÇßßð¯ã\]ñ_ºo¾â}¼'¾àïæž¼Æ9òNcÓêk–%·Ly=®Vß>)«ñŽ¹E^º£låŒV¤Õ‰ãxF6Î_ʼB7<¿µ3æ•hŒ¼¾IK3ïa¯BÛv¼––ñI&<þMÜ ¡ã½¸»¼žüRxqã³ ÑD%kƒF@Òr8 㢤'½‚g‚›V¯Dñ~ÎT\¢ïãúN £iáï½ò0ó‘gšª‰á ·Pi’¼ç•I4ŸV´ÒÈ e¯ÙòòÕCk(k»
-óH²´K oŸ‚Âv\d‡~k—‡Ê¯íòòÚ^Ñò­’dY½<®[&î<=\T}« ]*Ë„.^iFhb d¥mq1eTkŸ&ë&úub† œþ‚y«Ìñ<¼:\Yþ¦u\1Ø[/_«‰gÕãŒ@— mZåž%f‘¢Óì•ôÀ¼S£(΃+ünªÍ.lw ”¹÷$—[2å(îPŠ Ík â<
-¾¯yÆEšTÕ¨Uæ²ÆT…9ƒqrÍ”¹ì*ÁŒi£G*)ß+UË8ï½iÊÛÃÔÏ.ÿRת•¶ªr¥°Ó/¼ºæµÒÜ…õP °Õ†‡¥ ¥J6©LL“Ô¨¿;ö+b«˜ÕfäBB…¸ˆ*[Ťœ©Ü;ž³å»·ZQ@0[~¥5㢨݄åípÝ$|ñ*K'^夦EXàКo›y¬WOStáSK¤¥ iWM
-¾Üó!!l(
-I¢ AµôÈHŸ´0Í¡"oN)l9Óéea,•€]å¶eÒ°"·e¢ SΓIIÿ¨ð¿VIQ¼Nó²ÌÒܥȲs¤Óņú‰ÂÖÂ̈·%. JËÈê¸Z·{$Û!y£çñÁÉ'\ë=íû±ÁÒœí±Ål·"ñ*ûžÊÉý­D^o-½A’@bš/:ðV²‚ípÁÑË|}}ù} ¯¼aֈ˿~{¡Û”§h¥é<Ðþø÷å×—¿wÞ:ዹ,'¾š·NXws.˜öµ*Œi Oo­p(ü‡ÄéF¾øå‘U«ÜÉ#9+G² 2¶ä·_nÙ
-˜šØBªBÖ¾4$æ_RÃHWŸ¡%I§ã6´4íF‰it wç„´aŸgõ ú§;DïÎ v€i‡¨¸«Ÿ¡aò©Á®§ÝŸî<ìzJ‡_jÆÕ©²–ž¹úšÄÀS²&(àk
-÷öoñšim¿ËFçÌ:÷!6ª¨Oà˜L"ÿ!6ª„a`ýwÙ¨’‚YîÚ¨’Ô:›èM¬^Ñì'hnÞÛ ””{r¿ óP¹ÛäÁ84“ A>îRAW‘
-kJ3ËPÚ_ô­ªÑúÔÆ/:V4ÞüœÆ¯P+{Jã—ÀüßZ÷“¿¾·Oi!CßÚï%´Ä<Iü9ú½ÎïõZÈ0ÝãòÉ>/¡xøúëÿ^
-endstream
+377 0 obj
+<< /D [ 375 0 R /XYZ 78.37 808.885 null ] >>
endobj
-379 0 obj
-<< /Type /Page /Contents 380 0 R /Resources 378 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 383 0 R >>
+374 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F16 247 0 R /F68 255 0 R /F71 291 0 R /F63 227 0 R /F55 225 0 R /F32 232 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-383 0 obj
-[ 371 0 R 372 0 R ]
+387 0 obj
+<< /Filter /FlateDecode /Length 3909 >>
+stream
+xÚÅ\Ë®$· ÝÏWô2YX–¨7p1Àôô´g•dv†WIœEâ
+iô$ÄÕÎ"äFiNõWœQïjø¹«úˆÝ%Î㊟±<›Û0—&
+þ¹ÌŸy^ë¯ø<­ÇðÓ0ÚdѪè:‰¢_yW"ȹ«Eõú¸^’×\˜; Bàc]
+·™OŸ·fcŒp Ï™M182…±¦o,ÿ©KØ3½=»k?Ê6OX²Âk³š]Úúf~_´í·
+×3% R%”p·ò<!Å®ýKϳ…Ýϲ\ï¦ Bê0·^£`·Ì$B„=9As³ÑÉͬË=¾¿ûxq"z,W2
+½}¡w·-||›Çúr|Û̾êê´Lq’þ¸ f³ (³1;XT‘kꕲ̌®¯ de¦!*$=
+£ìY}zL”ͦµ7¯˜‰÷"x÷Œ· mÑÚÿ6#µÿ:6ƒðÑŸÔ©F
+“ôY&ŽÌèj óSç¢@b2G¾¿kXuBž€¦:w²áýw¸Œ¤‹ªÊûˆq™k­F@yG LjcÍûï´äÌÖ—F÷kÍn*UKD‰—4¾òXô8¿XÊdNKåE”˜Ø ¦ ÁgL=)oì´V‚¤µûœ@£0[™ßÿ߈!yÔf9£Ña”Â
+Kᤛ÷ªT’ʪꊎöÛxò
+r©o«Ô)žÉ“U+Z°¢Õ`@<Æ8ÙóÆ­æS?÷áØÌR _©i@¨áÈ}ZUaÊû†Tºu<ÉëýÔ‰}ËÓw Ë|9¯ºYY‹£C4éÜŽÙQ{êT–lö^षæ“ïŸmœ¶mÃ(µfaºäF‘kÛj©T˜íV4
+ӘъZe¼±s—µW¦TÏŸY]ÙÍy-sMÇÞ‘=•„ÀcdˆqÝA÷™Œ
+¬Xki9‡$;܈cÒ6vk‰TV s˜1×>¹ µÚL(iàœË^eZ!GÑSíÐÆäŒnlU­º3MÜøyµà²ŸL‡1ýæ«“îžt¤”3¦²Ð,edG!ÕŒ46¹,[)u¥±äí !ñ+\Ü#{‹DÄËo­ØžæL¾|“0›+³EÀ6')òW[Ù¤i>Ïä÷¹£è9X]»£<÷æ¸ÕÑ`ëUöth5Ž:ê}E°'—SÒðèt&]Ödõ¯™…ÒLR”™…€yHÒåòdCcÇz.5ÙB•?„ò™Ëó¹Éo?U»*¤u‘áÀ§eŽ@^ •°Áìy
+.ÇsK<*ç“Ë0EßnÎHvv ¤ª¨Ÿ¦óÂPSÎãGJFBœg±Kù˜jzÒJ:FotE[éz‹CËÝý-Eà›°*x5û˜=žÇˆ‚y*ÿ«î¥¢p¿ R¦4ÂíVÒ|†Û“½þ¤ã¡§)8Æq 0”¶g?ÄzÅù:ìGe ÂìPX™ª#ác Ì-
+æ³ðò¦Ü©'L©]y¹¬ÔqÜÜ(v•o ÝëïMÚk~´KtÃÓ¤â~9…)N¸Ý¯óbëtðA@x@ŽS ß<:ù/vfÑßtòÝO6³´ª=³(oé²Èƒ*x=2¡ªž7MêÁå‘~ bví#}«ù¹Ç•idÞ÷ySHrh9Èf»Cºý3è3p¥d æÞ÷¾stq¦ý~¯ù@îQ­SŠ(Ã<êÚ¤{ÛrªXè[º‹”!/¥¶ªJÇÏ?¤›÷4¿¹7- ä§þÉv)¹_©…;8õ®ýŸµ¹v ½$Ž—[*}?>—ñNXcgM¶šþµÛ»~tBœNRÝ$Ií°Ç”éjï¥åÎê5íÜqÐDžög¥)f ÂC§o•†ƒôùœw|¨Ïæ*ä@1ò›‡µïÆZõkrÝÛtÚ¹Émïq°ðšZ¬½{†T—úêÇ6—Mí•õ¶±xi{˜CHmù¶®rB¢‡ÍKƒžZyá]]ÕAJñ q=hv'b¸È¹™*ÌtÅsˆ9gÂåé¡5„ù²cé7PÀÊÛ`²ƒæ¦)ÓéÃÕ?i?n´!é¶ei·¼;”¿Ê6i¿÷H
+DIW+2š"ƒ’=à’ ¹Ý&8Ú›âÖÄ‹ê•ã8‰£æMÑN"×cævä{!‡+Už:Êý:\=8Ç©0s1èYߘT™òÉ0ÏbS+êæ€âNn8=ÃWÛ<³céF¡g·Š—ìÛ!1L
+-ƒk7oÙmܱVG$б*ötêC9•g£ÁÎ bº®î]Ÿ¯&;á—eÓ`zR @ækå:¡šòÒÕªVmÐä'{õolþmý2ž<ØЮap@âUйܤ?9k+ß …ñO¦%žyïs¢^šïç!ÑwÈw; Y•]9öç>ëYjÑücæûÀ¡üŸ~ê]ëÉž‚A˜ÐéU:ÍÑáäaªÒ§ßé´n‡©éê÷Úø?üó
+endstream
endobj
-371 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 499.407 700.341 514.132 712.296 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+386 0 obj
+<< /Type /Page /Contents 387 0 R /Resources 385 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 390 0 R >>
endobj
-372 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 688.943 101.955 699.613 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+390 0 obj
+[ 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R ]
endobj
-381 0 obj
-<< /D [ 379 0 R /XYZ 78.37 808.885 null ] >>
+380 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.041 316.142 174.015 328.097 ]/A << /S /GoTo /D (subsection.4.1) >> >>
endobj
-149 0 obj
-<< /D [ 379 0 R /XYZ 79.37 662.029 null ] >>
+381 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.622 276.845 278.098 288.8 ]/A << /S /GoTo /D (subsubsection.6.4.3) >> >>
endobj
-153 0 obj
-<< /D [ 379 0 R /XYZ 79.37 622.186 null ] >>
+382 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 149.527 264.889 172.003 276.845 ]/A << /S /GoTo /D (subsubsection.6.4.4) >> >>
endobj
-157 0 obj
-<< /D [ 379 0 R /XYZ 79.37 293.752 null ] >>
+383 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 499.407 192.277 514.132 204.232 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
-378 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 227 0 R /F62 230 0 R /F54 228 0 R /F53 226 0 R /F71 292 0 R /F61 239 0 R /F63 231 0 R >> /ProcSet [ /PDF /Text ] >>
+384 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 90 180.88 101.955 191.44 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
388 0 obj
-<< /Filter /FlateDecode /Length 3376 >>
-stream
-xÚÅ[Ën+¹Ýû+ô—Ã7Ù€aÀº ¬xdd²f‘üÿ"ÅG‘ì"»ÕmQν0lµÈb±ÞÅ>äl1—]xøõÛË^Ä…Ãqq SîâŒeR.—üñke™Qæ"4ÓÚ^þûÏËï/o`>L†LÃ|à‡¿þörý|ùåfÕea‹•V_>/ëxÍ”å¬`ÜŠËç—¿½r.oœ+ ?îíïŸ*+
-Š5†R0†s§ÂGÉTøw¡¿#gã¯ZNcÆ9ºŽÒ‘¶H´ðÏv®•Ìón®»e¼+§˜´¾›B‘?ónZÓùõ³·­A´ú˜õ$‘{6¢&¸­Úmò¶,pËüŠö×´õ Û†9¥GÜí|HóJ0-MÇå²o”£#v¢óÞÒ¹[6¢¢}Ø>”dJ,ÓìC7FŒíc–½HË쇮ÅS¼
-‘Â~¤Ï$ZlÚz5å~†Ý ×¯ik>Ö¦õŒ+OG#aˆo8”\ƒ­dPòŒ³Stp³–Ž(œ%‹4Q!ÂŒ¢dB™‘LXI¿ýþ5é[û·°£l·k–R¶
-êrˆ¶ :¸¦ãiL™/’Š2úȦÍÄ7æ»ÀͼüÁA¾þIùcMóGع’çòÇšÒÑja“ÁE'ÉÊz ª¾%†’¥¡”÷,@™™ÒÉëÇA¡IHÈÄ‹Þx9:®'…¶9ÆïåeŽeërÜ»º—Z.ʛܨKcKÆÚ)åqªxפeÂ%r(;¾õ^ H1Ž’Þ
-³ŠƒAtò;“)È:׉™‚Šs7S<C”F@ª×T:Ëé ±L4LpKáŸc™Ö1-ÌAQ:ɬ¦ƒžÁ‡sÌ;{ÂC RÊ}É2ÅŒuO±ÌÅ3·¸câTo¸ôÏ°LGÿËT!gzÌ2•X˜ë"s[‚΋
-BŽ Ë«IDH‡‡R¡Ò¬i”Æuem“+À<ºØ+K"Þ\܃KõHVàÒ¨AQ€Uººv%U)e¹‚>Ò q,ïóÑJ[õp.§´gBÉB#U!?´‘¯¤ôMUrøJµu³Ä²¿Q¹órÄŠºÎq±d~“.ŒÌ/ @×0B¼¦R2>)sByìA_ÓJÚ‰óKO#›rJ"óá•ʲҋåÍr%›Wá{P.„ÁÕ:>|þ½¢F¼û2ö–ø‰ãr‰WÇUiE ¸z­G1q·ÝÌð­ø‰žÝ*2°põ˜Ù×ÞO]í9s‹†U¹+{˪NâÀ¡­àßJŽTÑ’N¬ã`9Žqü­˜@þ6o
-g_Ó“Ûu×ehñ•¦w¹ÿŠÛ ¢»íz€„’QyK©_ó+1!äXÜlÚG0”G<Àð(½0ßäÞP—¹¥ÂÎÊ•E ÅҸܒêæ|.÷Xyü—ä¦!`¸u’[6:©™”ÍqkÒ.Õrê–‘Ûô Æ›Bqùl ¹»–MôÁ6;°X§ìn4´*ÎuL¢_•ø>Þ`èB´]èlSš£rÛûÑ4ý²=À‘müJ'\fc<©³lyš„œ) ò£ÊCÉû8ùíG YzرU~ RÈ+µ–ÑyŸÙT‘Ë"b(踇9vdLá•g+ûdöFš°ŠJ¼GýÚ¯0à`¬Ž!…÷18îU×91¿_”ÂLÊ΄C…¸Ý_VÿL¤`–p$,Z9èŸÙÝe
-
-au<ø©¡0»ôû:ca
-¢Ó29P@É ¼xNzYÓ~
-áµ·;» €¥b9T¨e„+]i
-À/b;™nÀgsÉø ybÉH}戄°€<d¡s}†‰"ö <3–Œžƒ@ÍHØÞ’1«_²Qˆ/áªíSl4CcÊ4£aŸb£ûEtì1EÀë†δ¤Œœ]´Å{ ßT´‘µ&œN ¸—Ã’ø—›Q!@¸F¸FÐyº9ÐR €aßß~@YÉ_žÆÄ7fäS|oOQ›éi‹ ­OW€r¹\³ò
-‹_!­À;ËPDâ»s
-ƒM£V›IO>âH‹›R Èk‚GS® 9[´èjºÆ£}8¥‡†Fd_êæf
-¨òôW•Ê1Ð*‡p+4ferè5H%íš2_å …<W ¨ DÊ%6á¿áÅX„óôÖäOˆ7ï`”8<‹ñÃçÂTš#£26¶O„‰Pì/ÐÉ*ß|Ë
-¹]+ x/,Xq ×CÜôAÓW`Œ®ÛädË×`ù¾¢¢ô#+ °#_½£ALG[µèmškáD6c†ÓÈöGzB½¬ÅeÞAŠ“€‡å>èטÕÝÎ×\¯×(«Öí~C©F’N"”}(=Q£2ª\sêjM˜CAžùÆTáĬn= L&*Ö1ðá쪾“ˆw?^¾H
-Ä)J;ãwÓ´ÖÎw3C‰oˆDæ›éÓR߉$.ÏÊ÷6º[%ÚØž>ïåÛ<‘Ô{aµÜ
-XZQŠÆgÚ,S¿}À4ßhÕ)ö1ÿÑÎ3+zsùØúÀØT…©ÖØVN1L-£ë<õVÖÚ«+,MÊ:}çB8 ý¬xôÖÅ7Ý£ ¼[Áä"§"Ú…‰Ç ߃h*¬©§ ÚÁL™óíǯ¯HÑÌ
-ÊIŠƒG\2©
-ã]Å›··þÊU'þ(.<•¦ñjȲyu"© D¬Í\нà6b¾tBÐ?;¡(§©sxÛ•×ÞdŽJ÷Õ¹fÔrþï53þ(`½¶Æ|3ÜmpÒ%ƒÂ½ÄJE¦_Åà—ü­Û±’Yc/±®’¿–³ë_?_þ¨Ð}E
-endstream
+<< /D [ 386 0 R /XYZ 78.37 808.885 null ] >>
endobj
-387 0 obj
-<< /Type /Page /Contents 388 0 R /Resources 386 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 390 0 R >>
+141 0 obj
+<< /D [ 386 0 R /XYZ 79.37 637.537 null ] >>
endobj
-390 0 obj
-[ 384 0 R 385 0 R ]
+145 0 obj
+<< /D [ 386 0 R /XYZ 79.37 471.443 null ] >>
endobj
-384 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 439.062 237.726 453.786 248.944 ]/A << /S /GoTo /D (subsection.6.6) >> >>
+149 0 obj
+<< /D [ 386 0 R /XYZ 79.37 153.967 null ] >>
+endobj
+153 0 obj
+<< /D [ 386 0 R /XYZ 79.37 114.124 null ] >>
endobj
385 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 466.514 237.726 478.469 248.944 ]/A << /S /GoTo /D (subsection.6.6) >> >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 227 0 R /F62 226 0 R /F79 389 0 R /F60 234 0 R /F32 232 0 R /F53 222 0 R /F15 223 0 R /F54 224 0 R /F22 230 0 R /F16 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-389 0 obj
-<< /D [ 387 0 R /XYZ 78.37 808.885 null ] >>
+393 0 obj
+<< /Filter /FlateDecode /Length 3437 >>
+stream
+xÚí\ËŽ» ÝÏWô\Eê ¸ÝÉ*ÞY]äfÜEòÿ‹z?ªzªzÔŽ10žé*‰E‘Ô!U:-~ùç…_¾½\¿¿üéMè‹gÞH—ï¿¿¼Á/âb=Söb`܈Ë÷?.{å\«OÒáoñ…sÃ?ý¢ŒÂOòó·+çʦ;7üñxýF-
+o)U¦R¯‡¾;ÑÛeTŽ‹7Å’æ¹G7u¶ýªÀ1n´aÆB¡ ׈¡aÔÉžÐ#•wc
+²Ý–½“üA¦“Ìù!I%ºñ% “´£4,ip«
+æñ¡Mv­²Å¤àË5? Â2.ýÅ GëJ>Ê0å“;xë.à÷B÷i0Ú È¡êB–(¨QF*ú‰Hï´0Iô­zRL¡ØÙš3.|WF¹}›4ªÈ}›(Ïj¿o’Rýáes­†:âwúe“¥¾›Ës#jÓJ_hKé°Ò£-3àíY  ÇÌed¸Z·ƒ¤Ø!ƒ„ çñ‡àŠ D÷͵^Ó¾o&Pê³ß¶Ä€ÍàVL^ßÁS†¼01S‘t½µòS&@àX9¸¼•¬`û¸àœŒèå ¾¾~ù÷ ^ã/oÕå·?^è2Õ)Zé‹
+ý2µ®ynM.ƹóö¢¾™þáYNr&¼]
+BR‡!Ùþú —æ¹^vÿ>ç\¢ë%F|µˆ/à-ö‚SÆ:?ñ‡g-@üQûä™Ô‚ˆõãVÕ>È(¯ãvÞ$,ï{…WlvUµž‘·FÂéwЕ\
+H‚JŒ*aXÿPŒ*)˜åþ`Œ*ihõ7…è’&.^1ì'hnvjŽ$J…Àýfš‡igÐ §p…“I|(…+‡e“…­Â¢ß£Út¤4[©<îf¥”n2NaI/°…™ ` ³eoKßÉÅíOtíú*óÉCÃ4*,€´~*¼ «›=!S¯ ä¯Ä·PâµYƒÉ¦ª*=BVÐ ²î’|Ò˜€–‹eS]§mKiÌë)Þ
+;™"Ý<
+zâ­²}R³Äu‘ƾžK`[Ÿ"ݽKjs” õ¨§ü¼e©´©èZ{²…Ôž \íÖë¸Èw!"Z6…¼ÞÕYbÈ
+/&!ßr=¼µJ÷éódV¥¶¡êõ6“3í¥º&³Wk@å;îrÙ“³[c
+ MÖÑÚU]SÞ'Yâ¡ÿÓ“¬ì:Ù02N”$ñ±I—Fwd&‚W`@¼ÅÙV¢®½ì<$Œ …m4ô‰°µaCifJ{€¦<ñ©äRB˜r<4~!LÑê^ÀB˜Â ÀµþA„°G L6ÀÕ"¯ ¼%D0*KE%Úýo™`ëY`FÄÒ^T6àA˜šÉÊÁû?,"
+c~•­„è¾ÿT<žµ
+_rxJŒzǬ·mJ/…‰‡ùŒUˆ@¸8~(FeSçÆ(fãÀ bôC NtýAäYè@ñÜÈñd
+endstream
endobj
-161 0 obj
-<< /D [ 387 0 R /XYZ 79.37 284.251 null ] >>
+392 0 obj
+<< /Type /Page /Contents 393 0 R /Resources 391 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-386 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 231 0 R /F62 230 0 R /F15 227 0 R /F71 292 0 R /F68 259 0 R /F53 226 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+394 0 obj
+<< /D [ 392 0 R /XYZ 78.37 808.885 null ] >>
endobj
-396 0 obj
-<< /Filter /FlateDecode /Length 3273 >>
-stream
-xÚÍ\Ën+¹Ýû+ô—ÃGñ,ëj€É*‰wƒY%™,’»H6ùý_M²šÝê–ZNf`Ø’Èb=«ŠÍ£Ë™×§¿ŸxøõóË¿^ĉãÿâd=SödµaRúÓ_~¼„·A¦•> `
-(DŽ„ÎE¥˜<›¹8*h•ÿDê\ͤÍ8Ÿ£&güíÓk¸tÚLÐ+Fk*AkÎ- „KÉTøïDGÍƵšjË´µtQ¶H²ÊŸí\#™ã³¹}lýØ*«˜4n6"?²5-t¾ÎÑ€®…mèI‘kÏ75ºíO¶a Kð›¢ßˆØšY#íBô' >y%H=ÓÒ¯ã‘j´' ˜s†Î]ÂX&Älôf|(É”ð‡áC¡6ZŒñq^¤aí¡kñ”¯B¦0—ôšd‹Eü”]Mµ?7e×÷²£iãÊÑÑãLòÛJˆÕ
-J@‡m¦MœÁ
-v"÷ S…šéÜ6d*á™eæðdï0庼
-•D„r¸©*Ј¦Q‡ªÚ¢F <f¹WN…xqUÜ\ªG
-°Âm µ4¥ËVçYKU&WxÔƒBÛs“ ²ÉF஑Û)pL`¯[ñõ Ãýš®È¯b—ⳃò™?÷}y¾+®&w…—7iCÒày$/ò²ya̹Žua¿êvÉ1Á; :K­U^Å×U¤]µ?” iõLÚµ†ÀÈÖöê‰VçíSk°Ú$%`¦ßá°´Ty…¶zN 3²µ‰^9ò¹7§²•V…ˈ&¾©g­s.y»zúI@FÆO¶=JÊi©E ¶ÂÖÁ9’ÙoßðˆðÚ#ª¬c|M±‘q$¼¦Ãj\7ü†ðnrPèz®j&ÁÑài™°x|gú¼¸(½z2ÀCÐRÎ\ò8
-ÀÂØirV•Yž”w¦ü‘^ɼf¹º;ÅR Uª.éx¬cQÄÊçÐj£ÜÀj,µ1qŽÔ<­TòztòÙÁèPQƒ6è%îAoàÍÎs¥„‡‹Æ:'ȱA†.—ˆSüz͵ÏTE«{ÙLAWu-›4c
-ÄR¢Â¯IÙ³$¿òI˜¥<WYü¶ö‚v{÷!R–i0 ÷.³P©ª¸\•4L;»-Téñzx~OPS
-6Úd•¼ë/
-§ÐÌà‰pøu9`á¹ÕÆxÕgyñ°\¢˜7UˆHÌ<ýÄÓ’ÉóÎõ=íû±1³ä9Ëc'ÖÃ\ÁËôY>f5>í>íyfÒÞ 2%à!ߊyµÈ•iWÖ'ˆrMÖÆŽäæslК)®žO“ÂÐ`ϯ¤I)»hRdî4)"ái4)²Î.šÕñ6MŠÎØA“Àæ»p.´þ)7FDö4©v‡Ó¤¨–ë4©™F;hRdî š½h–òò0|¨Àéüª
-M
-®ÐX¾ï†žPð÷QxOÌ“ò]/û†Ô@ËÃRTÛu†ÔL£ )2÷CŠŒÞœ÷¸Å£ø¨.jåïÀ‰¸¾&íõKõfºÎ"KìaH‘©ë )jÊ ©^ô:CjîÑCR½ØCRÃ
-"†&zt^èÈð<
-L ;'`(ùêa@¥«Aåß¾…ëÆÖ[8N–p2{&˜"V7ÚFŽko¡úñ™•e§[Aÿ¦Äkâb4Œ®Û<šP0£¼’
-l#}âµ ôÄ‹3„/G´\Â刷hÙãýèž?VÞ½æÃöõÜreŠ7Œ¤”«ò~ýîÊ_ÉksÖNåÃT>Žò)|ñÆóÒÎÑ“<£'ŒÏáÙ
-˜÷sçBݘçÖim†çW0ng°ètÃãÐh¦df3ûµ‰ST.*Ø!KCÅŽ³˜&`Êbò=‡(Õ²µÜ“F¬í*.Ú@ÆñR
-ƒ'Ò¹ÆMʼnº]Sk_ß ŒÍ-Ì$ß t.G'Æǃ—lÏ)Эsy±å`¨¤ÐàN Ý7¥ƒó¦¹hÉÓ¥µ™hþq$\ênT9Ded•)^)Å7銼YèBßò¦oh±æ CLx5ò`OAÍI•¯zS 7µóTj8& )·cÀeÍ$_)¸+oàx—Ò´,`Ï~ N›ÛÐEª@0ó™¸:Kü)égZIú™zõÞë1¤B o˜2½-¢Ú2¢T™L»«C':N…›<X×g=¥+Ф—x¾’Xlê­õGm
-µ¶’ÊÔD{$_0˜¤<_zß~É¥ðº'Âïy ª1ŽMÛS‰‚Kkö)Àúš™,ø=ÇaA‡±Zš9±ZÚc4—ηÍj!A–ÕJÔ÷Ä@â‰YÁ6©É/V4ö^|£Ò>šöoŽ·ÔÒrpú1i=çÐ?>Ü:Í°»ò¢=½§9æŠïut²=~§ÝàÿëÞ닉ÃדVêN;}¯onún[ç=Y¹1
-Y
-endstream
+157 0 obj
+<< /D [ 392 0 R /XYZ 79.37 477.489 null ] >>
endobj
-395 0 obj
-<< /Type /Page /Contents 396 0 R /Resources 394 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 399 0 R >>
+391 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 223 0 R /F54 224 0 R /F62 226 0 R /F71 291 0 R /F61 235 0 R /F63 227 0 R /F53 222 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+400 0 obj
+<< /Filter /FlateDecode /Length 2922 >>
+stream
+xÚ½[K“·¾ï¯à4ÞU[[µÍTùæD7—Ov”KtH.ùûéÁ`†³ÚYÙEq9ýøÐ/€RØË¿.ÿýÛÓõëÓç»W— ¢s:\¾~{R‰ÿ«‹R^Hˆï”N]¾~¿üþ,¥“RjÀ÷ˆ¯[þln/Ÿ,XüÖà'õ%?…kEŸ Ž´6ïñë^>içÓ”;¬h°5ùE˘P¾!’wÇdyaG#ð¥ýË_­¬Ç àâ­JBá;«Ã™¨7å¯Æ‚ÅðeA°êBG¡Œ>¦ VsøØ]›†zQ·ôdy^ÑÏ]©*­ ' DB3*‘¦è5á;€­jªŒéªnç3¥à\]Ï£ŠØ¬*hÊ€^ÙN6êkæ.ŽêÖœÄ?®ã¢Zú5§6öÜè’Y5™_Æe3Ñ÷îÚžÑì~,™±ÌÙ;Õˆ FhAùïiø(´¿8¯…® `'â ˆÍHYÝ黌)bö‘ÜÅ/_Ÿþ3R7N8sùóû=Eê‚´+Œq—ÿþóòíé7|Žóqr{—Âà Ѓòáï윾DôF€D;oDZ°êâ¬Æ×MMèݲMHܾWD iqÅ"Om®àWsç›xÁM¥ QSÖŽ ·6Shúï2¾'Îæ_õœZ/¬÷ã:ˆfÆ)œh•?û¹D«¹„OÞ±+©]àÂjFÛsÕpÁ¾K1°‡tÙVµîûó·…Ç-0V,,i›7 QYáµ™qGX¨ˆ|4Z½ðÈeÜGçÈÑÔ%BpãÜ-Ä/”Z~3Z
+…ך;öC`*~äþ ‡°¤YÌÔ´.‰iä0z;Ó9Cè5ìAAFDêÊÐ9Ízhl4@˜@ân Ÿ–†½XõÜR1mC2x~z¿æ÷”ìøžPRxoNÞè«œtãA—´‡$ýøËvZsyž'-þmàö¶ïßFŽŽxR ˜íùq®…ùJeã/G¿Õ“ZLõƒŠ'£FjÜ–êç¸Òa­\éšû\Φ’1 k¸#øðA˜¸ž{ã#hᩆ¥9CŠP+Ú[!´ÔL­bþ:
+Ãú\`®Ãaž+n9”s‡Ââ¸0™ölü:/|p?%Ð kuí±CX.–XslÜ{¸ã 9ÐåÝ!θnXqÆhfÃd„¶“°:ÒX57TÄbyœ<é ›ÅïâÙ[ÞZôñ-ÿ¡n€KÃ'îœîõŠ&RœR
+–|g Ï9ÉWÃùÌ( ìå3ã`w†ŒÄ%éÜ=Þ­iG©Ï`°²Pj»$Äš÷c©Xt"«¹%³}ŸZ"R':KÁIå‡è““ÊÕž9¢!N1!¬Â½`>¢`]Š£õ‰~B;Žöæ NÐ_eß²[¼Á»Ã(ú%ÝÇ`ýÖþ¨N£«>£1ýaTK#$„ƒÕè¹À†-ŒŽ´:¦cs#­ÑˆûsÒºa­÷÷/fÜÃ4iþ|·ú¢*7õâ¿ º5Ñ Ùµ¼4š‡*¨×—O˜xJ¢O¼>étšO|ûrÄxå®Ià²5ÈgvåS:¾æÔŒÆQªÆiÚb|>›å9I7/šÊZï
+ý*áç;:„‰nX ^ÔÕ#|ã;êZ7êÖÔyñWÒÊtÄ~ÏÉ®å{9:¨fzH—ŸÞ¹Ýåygš6Êùz›Wž—ѯ¡ü•µÖS)-še€u™9l>:¾õsl¥çò§õ9²qJXU’-Ÿ<kv¸÷Ì}â!$Ž¨aÒ“øœu–)ÅGˆH*‚Òx¸vÏØ‚~fAUZ'D¥X°Z"Í·æåSR{ª­nùú3ÆňŒU<¡4YÌu­¶:ÃR}¡ø
+®«™Ëµ¥v¨ÜdÉæºÙ¹Ó^8ٮü²‰r,Ûó=yÄÞ®’ª7dÿC‚r˜Á¯9î"Nâ힣XÿùÁfifEù±³£Ɖ©§zcá$»À°Ë‚Æ”Ca~6P¢†Kuè± I™%¹ÈO‹àà«Ø ¦‘æÖv£f•‘¦êÙ³ÿh(%Uqã•&;Ö\ì©aˆå®³f¦Á
+™Üp7O›X¢ âH•ÚV¼ dwés pÌ™ÔÂk÷c~LJ즡€õª ¹Øœ~P©ñb¾¶vüÙéó¥¶Áéóõ¿×%à'›]ã[€¥,ªÉ2»÷FßÓç–8,膘*í¨Š¬t‡«{R
+ˆpAO'¢ªI¸ùÒ’
+èú‹í²!ÜæÔ0¥ïŽIT»øi ´7'ÄL1™±ËzÚ…Ñ­%5ú i÷×Ì&%&3lð°5ù¹e.M*ç Ecœ¤r¶,Vlþ È d<H5«Å«NÜû†jtÞEu—É’¶÷xßà "–ív'a,í•r–LŒ»rúÇ˳%'·ß]ž­¢]IäÛYnï—ß!ù¡€—=Ï'Í—mÉó@|$%†E€EjЇîêëãißàÃá»7ùÈš7å=­×nàÖø2½w^f~?$Ѷ,&ÝŠFc™GºÛ½7´Úí¢v|–3χ5ß#t†/ÃîN|mi¥ƒùÅø-ê
+°pÑ{ÔÉþ¤×¥ƒ|LßéJI¡ÌH(®—Þ Rܽûû6Zá‡wÃ$¾ÒiŒm?´€ñ.Ø^‡G9'\ûõE¦>}0Ñ>7ãšèvóþÜ'É£Jß!ªuû5WÑÕÚ¹»uM3L.ülùyFm$Ô+…³z¨[;KÈçÕËÕú sǼ—>Q¦æš æNDùÆóVjýµ…¬ ý”Ζiƒæ€ ‡þVæØç¾V5:Ÿvi&Iœ²F¸–k]žªºahÚ”
+‹oã×ÞÖŸÙr)‘7-yWÊväd®àŒêfS{;E&Õ~…R¤a¶6B`žQQ¤Öîœr¹U*Ï<2Es rïl½î59{§Ùäé+Òe§ r¬±¹Ø6YÜ0#•ë½Ð33^Ù¾qÒß÷*ëåhÀíIžûöqi4ÿãêÓó´%dVÄØ@Í}߀Ëô ¸~åR'
+°lÒæhs3îþâóÐ>·¦ÝÏCu©y…¹š¢&ÈbRH$ÃqÛ¾ð8]ÓBiSøÒêÂelõ1¹*©§;>IËb!„³îb$JÚ©3ç{üŠØ ³
+endstream
endobj
399 0 obj
-[ 391 0 R 392 0 R 393 0 R ]
+<< /Type /Page /Contents 400 0 R /Resources 398 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 402 0 R >>
endobj
-391 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.339 289.954 313.064 300.953 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+402 0 obj
+[ 395 0 R 396 0 R 397 0 R ]
endobj
-392 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.785 289.954 335.759 300.953 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+395 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 298.339 473.415 313.064 484.413 ]/A << /S /GoTo /D (subsection.4.2) >> >>
endobj
-393 0 obj
-<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 123.166 69.122 252.62 80.579 ]
+396 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 328.785 473.415 335.759 484.413 ]/A << /S /GoTo /D (subsection.4.2) >> >>
+endobj
+397 0 obj
+<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 123.166 94.346 252.62 105.803 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
>>
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
-165 0 obj
-<< /D [ 395 0 R /XYZ 79.37 324.305 null ] >>
+161 0 obj
+<< /D [ 399 0 R /XYZ 79.37 507.766 null ] >>
endobj
-394 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F63 231 0 R /F62 230 0 R /F55 229 0 R /F15 227 0 R /F71 292 0 R /F79 398 0 R /F60 238 0 R /F32 236 0 R /F53 226 0 R /F68 259 0 R /F54 228 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+398 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F71 291 0 R /F63 227 0 R /F62 226 0 R /F68 255 0 R /F53 222 0 R /F15 223 0 R /F55 225 0 R /F54 224 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-404 0 obj
-<< /Filter /FlateDecode /Length 2802 >>
+407 0 obj
+<< /Filter /FlateDecode /Length 2709 >>
stream
-xÚµËn$¹íî¯èã ‚‘%ê 8¦Üî
-ˆpñN éÔåÇï—¿=Ii^¤Tøg6)5Hiƒ”€ŸîŠ¿á§Ágéûõù›‹PÚð7¸>ÿãÇŸ÷»˜(”tg»hG»àlm«v2ø§ñk¡àA&‡~¥¾Ñ›¾ûñ9í¡<',‰:_´Ågüͧ÷ñ-.µÊVYÂw¢~kœ&î\<àf£õ¡|&:Àíiÿ`…Šöm:Šä“,nÊ;¯×ô%¦+áÉ EEK=o÷qtÌ‹ÒL5K$"‡éí§ ä`k©{f´óoikÊo{·‹¸…Ö§~ø½H2ëj`àmäÞ íOYIÚObMäßC¶³Â@ELfdÌÌfânÝ÷묃»BOŠ0huqV ãªÑÐ"™Â"ÅÇ›²«ˆèQþþâ´Öø
-ûJD_ ±&fIµ&º§BÐm+ı~4I¥F«àÖð/™íüS1Ô„GS¬u‘šhp…—Ï6í]½ŽWÊž2öE~ÃÊh¸áH+¼©Ô퉆͵ø›©LÞ]Þxr¤ÂUYÙñ:ÈÇnœ?ªÄ E_¦Ð_Æv0Ä ól`…ªdô¶7Ò§ŠÂÆ“·fPUÞÙiŸ¿Axj ØZ‘õÀ¬+ST§nŽS`WÊvè²}¦Õ¶5l-½e6òÛGö—LÖA,ՌԠî.$'¸f‚¼ÒÚ,¤Lù­SvKŠ3Ÿ}ÌlüTÏÜ&¡¥å·­'sð›ÂnX¡Êb,z¥Gé…Óµ‚`ñ¼_Iŵݔ§Ý8
- ÊÓtÐû$l½Þ7Vb‰_6K— ð…Gª&x©âAÁZ_LVê32”–BÛ¢T7%DV1‰(FrRD³¦H'„ï†ñ"´£“'—§r0 ³ ”XF‚ò1b-ôúãáß;á™dOþòËïéw”„…U‘—ÿüzùí᯵”ÊçË%é×@»¡<äHéYŠõ02²•AÞ*¼ìN½ØJáÍ,@Hé,•èz¨
-›Âœ@{wLóu¦´QÚ^¯íoGr 'špÙö—jßbýd|$ȖȪëó`íÏŠâåðóKQDz67‹íÙ†'Lß‹ ÊA^^¦‚{©[ ZVŒŸ$ÀW&I“׺A)¦,‡Ë,%;s¹eyg§— eF¯Ð;F‡Dðd%ÍçdDU êýĘ„ gê9
-¤Pv‡Ð²xR®}3ŒQ$ZP¦äQ\,þ”>ŠO-õ_Ó·òB‚Ýíà:§åœ:‡Ç]¿o´3³â=Í’dìŒPÞ|Ü.Fx¦éöÁ:ÙÀäŒ9Ê/ Ä‚
-5jì]kLU±¶7Pß’|S~Ygaõ²¿ŠÖ¾Ü1>kUîÞòg»‰´%b–·®Ý¸2®ÜÂ3¹xn³Vù=½Óõ}k‹½’ à'è>¿;æUõ&ð>nÎzK€í|o|» ó¦¡â~@GøÙ%¢ÒÖˆéî(ï¤Wy¬ò¼›vW‰ß0? /žßÁ ­ìÛBô 'ÙÚªåû×ÈK¸…ÁÛðýr_CŽÛT=ÚÖs mÚ«ÄK*´“¸2å·Í÷ШlæÂ[ækæ~;ºj]ÖÆ2™Í¡ÓRíòÞe]€Ýí‡]V-åBÖegPsÙìáLy}m °Z2ÌÜÇb&J—©‡­—òŽ/ñó{î`5Eyh£Z˜WOAjúÕ€výª&Öáá˜Ã¬†ïä¨Aså Ã4gÞe £ú~Þ¬Ê ®O ‰X „.eF#©H7ø¬XÓõO¹?CÓ§±Oî `Úˆšcû Ï í&ÈÝžƒ~jÊkn>[Ožj,·íL×YÍÝм½t#™­­µõ€±D9Æڷ鸹‘°sçØ\¾±‰x*~H77nf7_ü깄ˆU#¼ùÙŸ÷i¬Æ²æ†.}fû¨¹ÜÄ8
-¦Ï¾mF,5¢yýQh)ð)b:Ð:’™h%@°…–†Yœžq¸zá°¼h0ÃEƒßJÜ
-Oì(ü–GCúÖäÂ6†dk–ÖÈ ëËnslå½¢¬u[ó®$zØíŸö)•ïxJ2÷ª‹ —ÖPÃÀxÛ´vÒ½ÄU‡ò¬Ú ±Çþc®<ÍȤ…·¹m–¶þ×exüK3¥ñàfšîóáãk^‹•²×;Ž=E
-“ÊÏËÑ(¬ýñ íûðfM^î˜Ù"(Ü;:àÃéfµæÍòPOÿœó»Iî\NȣͫÊk<mº^ép êM—KFÜŽ cG…ã
+xÚµZKoݺÞûWh™ C߀k ²}´«Þµ]½]wÑ®úó;Crć(ùçÄ€¬#‰3œç7CJrù×"—ïëÛÃ×KTKƽ¼ýö ð¾\Ôâ£Ð~ñN éÔòöûò×G)M”ÒZ<
+2Ê©!ŒpÎŽ´Ei‰ÿ¿?¼¾=ügg>­…ó~ùÇïtma㢔°>,ÿýçòÛÃ_ðþ{žÜxõÒ›l5ãŠ+èZZ]1¨‚>´äÇËÆ
+'xÙz€ã(!ŠC‰¨ÛÛuóOê1?ên?g_е¹²X¯iŠäT¤ßÙ™eçÊÆ3ÏmÜ[ (•€p'ö¼’Hºä®;0”*Æ$ËØb%;j´e{§Ô—•eb¯Ø;f½E\À“¾‹AV[@Ý Œ÷x:sÏ9 ô)èNáKÉ(¢›Í›" Ϫ«Ò9‰ð'0…§"ߢ‚‰0ò³%¾¸Ö¾‹c‰ör)y„‹9™è”jê|ž
+Î{sØ–V8s%`ÕÞ $÷
+ž6b„;–‚aZ¼¦µâù*‹¶…™4æõÝ™Kíg~~·è”ÕédÖTTJ11ßJ/»–âr´²A Ôµ^ï/ùZ}Æ 2©ýN=ÐK>È0TßÒ[ï9Õ>›ê_¡éÇf–Ûð™FÃsñ~ÑÑ3üx£0‘¬äû׋Ջ2Áö‰n…Mð[¼>}!ûR~žWaÕÜß*¸·¹‚k2¡—ù¬j?EÄÌO]æG É¼h¤7¸JDk•ßËkB!Ô>ñµ
+~Bnm}D™/Mí¼ð(º›z‰Û´™#tQÆtK»—£.Žé+/’‰dl$/–2ÓŽKCªXw”8¬J¬<öyÞ\5°ýÐ2Ö”îÍpßeíãUú”‘ܳ™v«³i"™WÒz›ÐæâÒ™í²––çeâpÛ¹2_%+ÓÔG¤ õÚd¯$ùedó-T)kÄð”ØôÓeëºi{`¼h“]D4~¢ß·G˜ÅŽ§Ùý°ÓÎ…R–~Sp«±uöpfˆ4Þ±…Ù/‰Æ4®ÞÒ«l ¥V~£-ýÓ…²HÏÉßD‰@þ1ÏÎœ³| 5uæ^~Õñ„Íã™7¹Ž¡bÇ&7|c Ë´4ïemçÆy“ä‹[$£6W…C゚c„Ñ]îÆSA"va¤£êHE_JNÇÒ}Æ(®#oñ€.ÎP0L”wÊ&uØ Ä™ºä.OA?VÑÄéŒþ3Ö—T5–¬¿¥g,›!Àc0M;Ijq„„â·c†9æšaýÌ
+Þ`ºöOç«­Œ3µxœÕ¦µvYS3Ï17L[·ªL²®<þZ2=!ÖiÍk` ì²lݤ3£ÉÎCRJ,£#·m:L7L·Ùà׌[á‘…Ÿ&„Xk&ÄF —¦ÐBƒÜ0ß!çÐ Œ­ 7";«çÚp¸¾ŠNèa¯ö5•÷yrÒ{“ 9† ú§yÒdßë„“›ãÀäPRŽó‡ÎÓ^›Þ%Ry0YèÕMý糧üs ¥qñF™nËáã^‹Ý²×;}A
+™ÏéÚw`ŠbM{×Ѿ…0sñÒ›3FD{Wùp:–6aœ tÖY¯#Ò³ÁîÜÌ£MïSµ\qúÖép©Îlët[K“™ÌYkœWme6·V‹…¬”æšóÚÔîæ÷$œë¼óNÇ‚m·9C)½Ð>åzæ^Æ'·ÑÙ*vn`ZnÕ˜½C‚Àc×sàº4å0x©¥†Ñmž„v¤c;Y'”ö½Î:$­œˆÍνü™-ê:žËf’i=BTz™Ÿcï¼+Z`g°“õnÑwÞ*H‹p3N¾õeA‘0º’p©+l·+;j-€£†òrVåikÔÿ¾!N2à…vväÏ]iK;2[•š¬÷šòkr‚Õ±•Ò­ù˜¶µAĸmâÀ·¦Íò×µ™ôƒŽn7ÿýûL0Z¬„ÃL©¤ti;h\®ØæšÛ­µ·I^šÅ²˜ªÍByÐö<ê óJ:ʶ¡iÖ¢[fAé ÷t)Ðó4ê¨rn#LãL9  „lVGÝBxÙÙfWÓ9,µ aîæ6ßÙ±P´7Št{Ûp-¸üõÑ¤—k
+l×Lû[z:…0ôÈûN=ò!m뎒S[²ô\é]¯^kèðþ[j|dããДSSiÒB…x”Oê4ñ³ð3^¨Ú[•Øמ; ^î»ò™Á:%Wêž\Ô–)­¯Ð—þÕ€/õ
endstream
endobj
-403 0 obj
-<< /Type /Page /Contents 404 0 R /Resources 402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 409 0 R >>
+406 0 obj
+<< /Type /Page /Contents 407 0 R /Resources 405 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 412 0 R >>
endobj
-409 0 obj
-[ 400 0 R 401 0 R ]
+412 0 obj
+[ 403 0 R 404 0 R ]
endobj
-400 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.827 124.341 481.801 135.748 ]/A << /S /GoTo /D (section.7) >> >>
+403 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 474.827 313.631 481.801 325.038 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-401 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.522 124.341 509.477 135.748 ]/A << /S /GoTo /D (section.7) >> >>
+404 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 497.522 313.631 509.477 325.038 ]/A << /S /GoTo /D (section.7) >> >>
endobj
-405 0 obj
-<< /D [ 403 0 R /XYZ 78.37 808.885 null ] >>
+408 0 obj
+<< /D [ 406 0 R /XYZ 78.37 808.885 null ] >>
endobj
-169 0 obj
-<< /D [ 403 0 R /XYZ 79.37 347.746 null ] >>
+165 0 obj
+<< /D [ 406 0 R /XYZ 79.37 537.036 null ] >>
endobj
-173 0 obj
-<< /D [ 403 0 R /XYZ 79.37 310.353 null ] >>
+169 0 obj
+<< /D [ 406 0 R /XYZ 79.37 499.643 null ] >>
endobj
-402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R /F91 406 0 R /F90 407 0 R /F92 408 0 R /F31 233 0 R /F22 234 0 R /F53 226 0 R >> /ProcSet [ /PDF /Text ] >>
+405 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F91 409 0 R /F90 410 0 R /F92 411 0 R /F15 223 0 R /F31 229 0 R /F22 230 0 R /F53 222 0 R /F54 224 0 R /F62 226 0 R /F63 227 0 R /F65 228 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-412 0 obj
-<< /Filter /FlateDecode /Length 2816 >>
-stream
-xÚµZÉŽ½ ¾ÏSô X–(j¸§§ $§s r
-òçü‡äý¡j+UuÏضÑS›DQùq‘¤0—_$ýýþt}úºY¸,X¼¼ÿñ¤.’þ«‹ B»‹³JH«.ï^þþ,% ý´”èw•éŠ7zg_þñþ—')œ!Ê!‘øÏexük¥¬”Á뙶љž t¯2]MW‡y< ñì-×PÆkS©Ô÷œ;úù̽zÍÔÐæYÐ%©§Ùlt•¹MâÄ—ïôNcëé¸HÃÐ÷(‘H?$Î&)bJÚÊËV$è^¾0Ïy¤H-R¿þ“çnè^ªÄ‹€
-D{ùß¿.<ý¾ êO-Ò>ÄüðƒL¯Ì£ÐdÖI‚›½ñ%NËG0V¢ž©Xž§O­"WåöÇ÷aÀíú.´®ç¤öÖJ Ioê½€…G¤mœ°Á>&í¯À2µ@ºå›4ú_“Œ
->“û¡¥™I•ûD{ ÉÙ ÍÒ³â¶@¸:þ»Ìפ+ëO½]!¹=egú ×vd@htsëÊÉý5ÔZ8ÿ í$5OBÇ<›öøã¡Ö^XåýÙzŽŠæ&õ®·¹c‹}Hæ4Îý“×Ì<YúçÒø‰«öØñ&3_°FLŠí„—ûÖKÏÌÞ7.Nä€oûÑ ‰ù¶Yªy^K2ù]û‘9;'¼³»Y¸×¼NÁæÌCº5×A cÝ×MºŽü¿P ¡Cmõ{"ªN‡ü3>ññu3šUc”Ûg*Æ"ÅA5Æ·<å8ùpñç5£Y²%_¢ (ü–÷9"zù¢]Ïs~¢>*êNö /ZE)¶É)–"µ¹Žmãì
-ݨX(Økmco´þäëÜš£žFlqšgûŒûº)sœâD²_Ï~–àŸej[ìûÐ7#$E3Ó¨Y"KãlV
-Ÿ“2ýd7{¢…HQ¸¨àìs~b5$,xîòP±{nW‘߸ï7Ïw1Ìß “)êbleDÙè¹´Ü™nê3ðW~ŠíL —Úw6‘q´øón6²~,»Ê—¦…¼×&ôœ
-‘óÜ™kzJîJõá
-§:±EÏnŸåJ\úÞ² 27²U×k7]ºðX©–à;õrr©FEÄŸg7ª÷U"¦Xh–a“óË^^ -Ã~Ü£’.äkªŠ”ÊGRkÙ‚íønŠ|Ѹ& ^Œ,21ç¡-n? [¼õâ^krr e±ŒìµàŽ¶ ËZ5Fëª!WÚ ±†Ñ
-jZŠ÷•È;±¶”©˜ÝôF’gÓà ¾$“€¦ô+9¬ŠþX²}úA‰ «$Šað-”(nSPÎÅ@ZT!ºb–q2ÐÎHóW[¡ßpàÃÁQy{mÜÇ>Ñ }ßà­½AÞÔ¹Í_Y&œÕ±’ŠËX“q§ù["[%2MÁ2ùA/ˆ
-%ù@ÑÜžP³d~²ä¦É¹§j+_]™Z¹WƒÒ–æ Ñ¢§¶×¦›Õª\®¢ôî¶ÑzÊm‡ tU CK’vW5”§¸¼ÁÌaUY#”ñ;öz„O•iØ:àåí.ùÄœœ‡ †Kj›)í¦~PÃu `)·Ñ©Ç3qCDïˆxæÞ˜oÕû(½Ë3BV™Ü®z¨ÔŽÁ'kÙ[ &Æ¢4)<*"W›ºSŠºL]î>é åäÚU+²]e¥÷xý&úT2‡µƒó­-¬‡yüÊk‡t?ǯ×}-äN¬hDPv5Û†×†Ô<£jÁõó9îšyÄ1ª;J¸g@o;Þm_£<Ãb6‹ªx “û“@ç5ö q8ÉTN1ÆXÅùó˜;y`éx戒žŽ&¾‡
-Ö{8¹}â(«–>¿øýi8¯>Ö»ƒÃ¨.žÝOÜz;s ·¥Ü!Xa°mwD¾^G U2AO'&JG$´ŸU(A<ÆakÎÅU#ÖkoÈË,ÁiwÚîðÈò‡£¡Éb
+415 0 obj
+<< /Filter /FlateDecode /Length 2716 >>
+stream
+xÚÍZËŽ,· ÝÏWô\E¢ÞÀ`€[·§ $«³ ²
+â,/ìÿ_˜”D½JUÝópzºK%‘ÅÇ!«äå?yùéi{{úËÍê‹R"Z«üåí—'…wäE]|Ú_¼SB:uyûõòg)Í«”6H鶗oJJ‰Cî~"Þü„üíð£ºq‹sÍõå›öWÀMJ |…kÔÍÑHš£ŽyYèH^›?iÎ6Îu±ÒÅéÖ
+.s×·F¨ÑJk²¤à×õ4hž»¶ÝÐzo^þùöWÔœ²—(¢gŠ3RXªâü°Kï2ÍÅ]fžV<•µB=sÍyXg»ÂI³ã5—WZ³\©µÐ°“ µœµð1-ƒ—„=ÑB¤!*x÷œ¯Ø Á{}«#àŸãªò+¯ýø—Õ+e2EZMæX8ÊFϧãÎtÓšA6ØøŠæÙ-+£Ýg¹Ñèæd=¯b.“IBÖ骫­) nè
+ï÷»pUÁ·^ÝkK¦è·eeow¬m8Öj90zWõ¹²Nå0À´€Šî¶Ã€øMkÈûJÞQ5Ûјˆh­ÖÏMÿ·-ÏLß·üüy˜™b‹ä‘b¥Äc+×ça¢!¨yïúÊŸóWW‡yu=礣ˆ•e戕¯òÊ~ϳÒI²Å¦»%¸Ê£taˆtâó÷¨SXêô@Þ…½H#œ…æ­ëÝÔ«m8«ûLQ?ø×­ØËm›õB§Ú¢å4ƒlPIÕ[z£{Jö•õ ‡µÈyÐq‚mq&¤)à‚‰/}~G×]þüÓ¡i‰1Rîu¶=‰GA‡‡v§z7Sõ}_\Š1ûót!ÍÿUŠÛ˜ªrv­#ÕÛkF*Y3˜ 0º„RÐ4
+c캙‹Î g‘ ´Ìå@²ÑäÑÒj½˜
+Cœ/G€K§¸ž
+ÕT
+ˆíã¬~$‹À탮"+0la7†ds·­EjÃÙÁ›“ZwÙï´Öµy¥]œIºÃÚÌ[{GTéurâsËÕ}m‘«¢ <Ò,e$ó| é†iO¨Y3Ÿl¹iÌGV*×ÖÉÝÚ½z蔹¸g žænÍ6«Wq›¸;É
+—â‡òÜ”®:aNPfß5”§q#bÜv^ü…=Vå¬PZfñúŸ:ÓpëG,£»âÓäâ<Na¸”¶™Ònë=\–z“Ú9ž‰ˆ®ôŽH`Iá•åV}ŽÒ»:#f“Éój†Jó8øä{­z+`bl:@ÓÂ¥¢ánSÇà°¤¨ÇÔÕî“ J‰è®¡¡®³Òg<ö'½ïGÙÃÞÁù£-\€™•5ŽÀ!ýžñë¶ï…ÜÁŠ`¬ˆÊÍ\³ï®ûifk‘š9qT-qý¼D–˜åí̱"†B•ŒAßÁ¹ʶ“Ýõ=š!3,v³èŠW˜,…¥– þ?nád£±RIÐzBTsŒqŠëç±v.IzoˆÖK¦'i~”|
+kXgþ58Ÿ½©¿º
+“\ISÙCþwîÚ*î lp³Ôp]ªÝ ”°2Ö^'¥óõ1šà„µž_ñFØg JQ
+·öîŒèº£—5Œÿˆ+ªÅŠ´ÑXžÀy¤ G7JûÁh»B äµ=>„å‚–ÐxßîmJYù«VÔ;’,ƒ-½
+'‹.¦üWpòñ˜‹!0_ÁE‡Êå±Ò!{¾ÒxGúSä÷Ùå#ùüëÛÓo»¸Ë¿~}¢AƒÖaµE-cÜå÷_~yú{MIéuÛuÐ
+I‹¦OâíE ”•Ó[~ßÃ¥×?êE~ùC/>
endstream
endobj
-411 0 obj
-<< /Type /Page /Contents 412 0 R /Resources 410 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
-endobj
-413 0 obj
-<< /D [ 411 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-177 0 obj
-<< /D [ 411 0 R /XYZ 79.37 578.639 null ] >>
-endobj
-410 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F65 232 0 R /F53 226 0 R /F15 227 0 R /F54 228 0 R /F70 285 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+414 0 obj
+<< /Type /Page /Contents 415 0 R /Resources 413 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
416 0 obj
-<< /Filter /FlateDecode /Length 2183 >>
-stream
-xÚÕËnÜ6ðî¯Ð„!gøv½Þ
-g:)B'éÿŸôV}þtwzº{±Ð,XÝ=}½S±Ku.t³JH«º§oÝ烔 é‡R"Ðï$¥¦§>S›•Ò`ú¶ÞUj7§rŸ£qîþËÓÇ;)L÷GÇ?ôøh”€
-«Ìnš¢ÂñD³©QJØý<TY$̧™/IÛ÷PrQۘƬä++eDÁLæÚãBÒ¨)†´ƒû c˜Õ…¦dÓÉ–1OðIMPÝ WíE{Ç»¤ì…Ä#Œ-{¹¦Ód KÙE¶€fô¥:#\xe¥ó‚[àáºR-
-a7­R&fú¾ZmhðëZÞ UÃë›~e­+œ² <¼¿Ð"²X¥ÔÈe™~ªJe#­cÌeä•bÍ[ íûqaCé7úþøCÒÍÝ<‰u–ôY&—\|®ûhåŒؾD’¬Çr«;¼Ó=8™w¢¼›L#z;Á·e—zÊßa„/ÛÀE£”Ì£X†qKu±µ@Ò¬£OOæuL¹¥«æø¢½Q‘ÌhÔ¥Ï1Á†Ô)K1ûeJ™*ÑJp–‹/FX²Ûòà±yö¼¥)Mv
-8™Lf¯!¼´D63›äe/míQM&Û8ñJUY<Ùe&ɇÜ
-cFÏ!
-‰ƒÉ_æ|Kat¨‹˜, —¢Ps¨ÄQ½ ÁÆz×½)Ѫ­yᨢ•¿NåË®iÚ0Œ}u-FÝ Uvw¤<˜†þf\Œq…[(sÏ5Ä*ÎD¦¸Y’ɹ“e^t@dZ 3ŒËTc©ÕæÇ,™¯; 1>Í­¸Ÿêƒ& </ÙJÈz+Å|ŠßïåªÄ%ì!Ó2T ʼBS]OˆV{û •¾\íЉ úõ8¥÷4xŽ.ÒðÖm4}hÐç½ã$H$HPCéiªôÔ†„Zây.`\"ɱ»RÜŒ’=/o½S—Å ¹3Ñ/ºâ¡fMlKÖ[ºŠêSÑÉЖåQGß﵂ï鑽à¡ÖÖÌBKø@æY¥–ÚRýÈR«"Ápö¼~ö†k«X‚é‡ì݇³®&ÎÂ=Žm³– ÅCµcÑwŽm.õñøòm5ܘΊàO[ë…rHTá]¶¼„nåœsékέŠ¹£?îçï!¢3õ7<*Z)­iq/¬åt»?çžJsñ¦ðñª‚ —î†Òæ'àPWqÃZàôà!1‰ò#È QYâó²dáu<{G‰k1fÊÚúšëšÔ×õAÆÞÛÝú
-7^û
-0#4O1#Ýeùü…š£ßG¶ÿ¿qà7
-‘”6)žöW÷ É0ÊŽÒwGû(IíµìŒ •K~:ÚD¥â…I•Âœ¢ Ñ‡\‹o¥”æÎ¥„Qzb ëT·Œ
-±åJ"—ÕÙ )¢M͘ð…]Ñï
-¨f¤™€g¬
-endstream
-endobj
-415 0 obj
-<< /Type /Page /Contents 416 0 R /Resources 414 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+<< /D [ 414 0 R /XYZ 78.37 808.885 null ] >>
endobj
-417 0 obj
-<< /D [ 415 0 R /XYZ 78.37 808.885 null ] >>
+173 0 obj
+<< /D [ 414 0 R /XYZ 79.37 771.024 null ] >>
endobj
-414 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F15 227 0 R /F54 228 0 R /F55 229 0 R /F32 236 0 R /F61 239 0 R >> /ProcSet [ /PDF /Text ] >>
+413 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R /F70 280 0 R /F68 255 0 R /F63 227 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-420 0 obj
-<< /Filter /FlateDecode /Length 444 >>
+419 0 obj
+<< /Filter /FlateDecode /Length 2136 >>
stream
-xÚ½UËNÄ0 ¼÷+òÆql'‘°€Ä Ôâ„XN{€ÿ?àv¡/¶‡Â®¢¶©=Ï8*B÷æ°\îš÷Æ;´¿w1Cˆ.ŠQv/‡¦lsP Î30«ûxuûæÁÞX¾%_µÍÙ­’Ë•”]»?¢%† ªP½kîéQãÏuñÜÞ—*À¶ ¼€öw:ÌA{ ÆØ9.•û»ò\"éIÁ› #$º®Ù¡nÚ©VÌF„7ÓŠ3xÔy­¶Ð¬Û×Áªf[»úÌ»uú Aà8eÞéÊϯ…ïÂ+cÿAâ›qÀì­ 'Ñ‘W:¬¿rêñ÷d*3`«¡ ùѾ!3Ç_×Aÿ2­3Loê>…z
-AÒ_›¨L -œÝz™Ë¥L ¢ŽÍÞ˜ŽÇøÊVý\X7Ÿ¾2Ö
+xÚÍZÉ’7 ½ÏWô M‚àV¥rÕȲ\•œ’Ì-åS¶CâCrÉïàÒ\º[ê÷$ñX%u“±)E0Óo“ä¯O>¨IÒŸš\ÚMÎX¦Ÿ¾<ðkÔVm&…ÑNý2ýúðµÐx|~~xwµ0,Xœž©yÚQ«„´jzþ2ýx’Òøú±nü¼ÿüü sHbÆLÊÃ÷Ÿ˜•^c¥À
+E“xi™ðïL;áÞ­Ð ¥ìH >¤Ñà>>/e‡(Àáa²Ã ”´ûdw„Q ïíÈ×Ê$KèsIÏxÙ'O§X¿ ˜
+Íÿ¦ñ›ñn4úJÛ Ú(;dso¯…#³z;Ü©Y B«ã¼B“™¯Ø‰H¤Ã£Ð€‰þSüæR?lOô_ªÉ—¢d°Ó{ÐÉÇŒÊþvIýŒ9BËEo=Ƭe•Ìši•ŸÝXO"\ŒµOëzÍŒ˜Ãº2$Ù¡ôû”±x‡Š9nÌ஽Ø`šãìE*þ­ìåžN³=ô\Øðúl}ïûJµ4U.oªT뉗ޘÂ}¥:SªuŽ¨þ·J1ø›JzïPª•Âø·Vª5ac
+ï®Ê¬ÍøP
+eg/×*®³ˆ†Ÿ\V@^‰!¶ØSzƒ~îI6”vƒïÁŸ’nlnæA¬³¤Ï2®å)¾´m
+Üy8°},“jKúFmIkÚCÃZtÙuCÚ‘¨G*óaŒ½bY>ýl+tÒp‹±¯ÓìzU/ç VâÞ}uäYUFµ"ªÖUy-ÚX`Rµ°>¬É¯§õ¿ŠÑ»+ÏZ‚0þ0ñJ'PÁ-ñ¾ü$³ˆ»§/pe„Ó¸†ŽEvÌ &™:‚yè˺ƒœ­1KD{
+ìùdw»uj’OÁ‡Þ{Ýis?F Ùp¿CnÐTèÕÈç+N½ ï`Ýò½çÍ@ÑÂÄQ"ôZù6.6Ð~Í¥‹|}c ´ÛܬNgnŽvUø/˜ÛÀç
+Axõïjqà¹ué!kqè}_‹|·BÂ_zPÞ ¿5…Pžë éÇÏôögú|ᎶÇ~_(ö °ŠGý1ý@# “ÁIzßb0›ÉQÈq¦/§c“ÎDs1F<åCÀø«ºK9¬)-ñ°îܾéŽZâ›;G-ù U­Á‰¤I€oÔ·æà…£(Ö™ËôÐœ '¼ÐJaíNIÓÏ7Eßù­Ãæ@+´­E’ˆùàd…#WU(RyBsXVåÞñŒu™X4¿)M¤`eµZ‘f"žøcCðRj{ªÖ¥ŒF åG)ß¹ð
endstream
endobj
-419 0 obj
-<< /Type /Page /Contents 420 0 R /Resources 418 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+418 0 obj
+<< /Type /Page /Contents 419 0 R /Resources 417 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-421 0 obj
-<< /D [ 419 0 R /XYZ 78.37 808.885 null ] >>
+420 0 obj
+<< /D [ 418 0 R /XYZ 78.37 808.885 null ] >>
endobj
-418 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 230 0 R /F63 231 0 R /F15 227 0 R >> /ProcSet [ /PDF /Text ] >>
+417 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F62 226 0 R /F63 227 0 R /F15 223 0 R /F54 224 0 R /F55 225 0 R /F32 232 0 R /F61 235 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-425 0 obj
-<< /Filter /FlateDecode /Length 3644 >>
-stream
-xÚå\¹Ž$¹õû+ê†"#xƒ:§¦¬'h¼ÅZ$Gc¬¥ßWð>ó¨žÞÕ
-2U]É3"øâdòÛ?oüöç—íÛËŸ
-oB2”nßþñ"迉›q ÍÍ(ˤ·oßo?æ\çƽ~œsúWΑ~Òðú úì¿ÑŸ{EAߦvl¡$}ó ¢ïôÇó£¹1<èW?ççÍ·-ä=N¡]ÛÚ÷_üSjµÅïþ³SBjaÒhL™ZûñüsµÅµ¥ž¿|û)ÑI0§”0 B2«MO(ú´þû@°óõba$£_>âziïq=BÝs´\,‡#Cy9y^©Ìɼ±…’‰<ÿâ9á9ਫ਼ܣ›§Ýøâ¡#õŒL«OT÷(ÜîDÉÕN@ZF}ǽøµIˆ£^ bŒ…q”ÈÙvkZ{æÚÿRv øú l3Tè…35©“Póð«ý\]HÝÓQ5K»á¯‡ó+
-»œÑŸ37.ðÖS©—íC¢p¦ìZÚ>!b˜ç5¬Ó¯&¯¶D{ÂŽíj¦„ççê¹HŸ<r·œBQeô¼7O­öŒ£Üç"˜c)qÈ$̱+ªÁh-ýÙŠCÃ$¾…³²Õ5·8N68”©à?óÉ22·Â„~‘Ú ñî ËŒÍy=<Q`˜A;îàÙ¥é$ £x ÈÜ)˜¹– 0’YTçëˆ
-FÉ8ܯԜ7+>ÔÕåódq+Ú3¬6iÏ…„+ǸÃBÁŒß6cAÒåe÷¤ÅÕŒ‘†Â¶×¯­m¥ ÖjFÄS¬jyÖ·é` Êi'®‘h2G'Eõòåµ?QG3¼ÊNqðë·—_+øqÁ„£ÃFÝ,àíoß_~þ…žüþ~ºqfH
-Èf,ŸIa¡:4­«^ym¡Ôâ ðÞÖD$Ê€¬åaêë1|ÃÈpœz…ÏGJ[£›z«1ôŒ0S'}M>h‹Ø ä|HSµn—d£ü¿!~κèÎúAÙ0œ¡çU¿Gõ5ÿó̺À¬±÷¹ŒH2ÿ…ÕSÏ{þ;VµÂ’¬˜©·ÎÔÐñ†¦¥âSœkUqe˜ÄI»W+‘Ø*¢ŽœéœÛ^UªªŽ%´û¦¤à·êŠ?¶I*FCt!hSfÜÛÑ)‚¯qA°0Ê1c&ª]=ÕR1I¾âáz.à~ ÈtreÛS饤BææÚæÍöfQá„©>ç™ÁMêšk¼¶Áw©5T– ©Æâ®Oµ…Ñ♵- ub%"S`>P´2kû?œ?æûS›Ãyaó(­©þ$zKL‹‰ºWQ”,aM½FÞäÇPG j4+^á" ¦ ´± þ³@˜ß¸dyýüsGÛ»$42Ç&²Ñ”b)ö’ õ“Í‚ô(Ø°ç²´hŒþARŒ\†3;<Ý0kÈôñ($yuÒGbõÉv æ¾÷›Ÿ9à›dqÖ£ IÎ0­;°½`èÂ¥ôÑ 5¬Ïã"Ç^ 4ë¦ùNbVšŒ;y›Dh†4¶Z;iY,è)$Þgýžƒ1xÀÿõh§$Fkéøêqõ¨‘¤’L+ûvd¹²Šü|óÁ6>e¢GÏð}„KC`_㔣'8´‘Ü‘iNJè×ÍQã; °T´Kú*BÞJ7]^iUÒLÇà:
-Ÿ6Œ¡ø›µ½ª1-Ü÷¹˜p!bÈÝH'.%³ÖŒ£ !s:ß\dZ-™‚††ÑmT_Bwb†Ó9Â@!8ïa¤7ô½ÇÒìÕ$¸,Aö
-üè>ÅYÿ“ž…®<ó,»—g<üM•¶ZçoPÚ)Sg©3ÔÑËxå›O§½©LK\
-$ãX_ãgÔðFÔÿáq‰Çý$³Ê|ŽÇÕ¾=4Ê:Ý}Îc£Ô´P8Å
-Ë »rýTöW>àôü–§ ³Î¶j¥åôà~Šðw:?­9­Ö•TsÍÐ>v¾˜]µv
-l‡€ïT%ƒ‹ÍŒr>…Læ²Gû¸ô2ÖôÛE½ÌÖ§RôjAVp’ɾ.¾f
-ŠBCX!¶ÖŸÖ÷•á3no_FYZ‡µÛLFù®™:­®8^7Š€L^Yk½}öØ›]™)s%ú•c= ºˆÚÃÙ4?àX©:¾²Wc>ºˆ0®Ü§»bN¹Ï'cξñk>¶FFâ8úUΔÀ1/´:ÑúÑ|¯î³l˜dbÙ>ÔÌÙŸ=¸Y±©ÏçáœÎ/õ«Cþè,¹!u(Ö6F¾ÉqôE1.õØkNÕ ê$ b‰îê}…•‘ê[v0ÊçATWº:6¹Ê&ˆÀÓé´+>Á^ýÎ]<&å—ÜÍŠ˜$º–Oï¦u†üþÿ_î†ì^.&z=›»Ñdþ;GIæÿŠ=Ǻ»Ò¦ušüè7w
-ãž—uÁ‰"W¯¶ª¸o³Ô*¢ækFýá%ÔZÂÓºT0(Ë=™4û2¹@Ta飩ØÝÙg˜RH~l7ÀöTÝn^éE{Wø‹‘µ¨Uf{ž6h Í†Ö˜m{I¶f"=„[ç)rZá$b„bìa!')8ð—ßå´|ÔIçs+d(æQ®ÔOJæPNäûÒTå­žBsMî.Á/Éa0»N$Ô ‡},ì7Ë:a…_×°¾)äÎëMõTÐ\œ ³ëîéVÇÈa}¢š¾’ãºO-7`i‘wáwÔÅ'’]ìͽ:TµüÇIö\î¹EÎ6OL]~–ålŽö­Š¬t¿f7Yö£nõŠ•'ry‡è¯¥¢óÖ[|­Õ±] [#ù~ nM‹{½QPûÄ{Ýsí‡ì%¨>)aX1£`µ«NtN·¤ɨM$^ 㵂ӟT|TŸ©ŸÐ@SÈüèžèD ›{´ò Ý…v‡“¼¼V+|-†tOÝþu¸˜í³óMbl.æzÔBôsn†9Ã}´Â‚U̪›%Ë©þ2sŒ©¨<¯Ö}î€ kÄjP!ÓzÕ“=ß}Š÷ <fù*¤øç›/g·³«\‡èn_
-Ð"m¨lŠë[oÐ2¡Ü°ÀðŽôÀúfò·ò®™æ>A—°å¹eûkxÍGüµ}‡
-ÚÝw¨ä>îà–ºk _¢i‚0¹¢ ycž†W±¤E´îíj²_˜v›Ü|·z‹©ö)¥LŽ´ûƒ5;×d¨‹Q
-ïÅ îåßúË£µ4®ºÐ™D×ЄàF|Z«K]‚ÙéT‰îFYF¢C‹.ä~yz„¯Ñ6“>õnhÅ8=‚'¤ã›†BFê-ŸçC ÃX!^·!Ò v¶9‰[)ÁÇ&Ú©cSQ²økéYr
- êOQ‹]¿ƒdIQ© I”¨à_3³z5M)ÔÞcN¨26îºycÎø¶&fu[¶Ø\¼¸RäSò³×ØŒÀ¸ƒaº÷¾'Û-Á€M˜ÕÖìÇSYÜþL’z oð
-¥¦áØñDÐo.εrÏ– oö¦‰5’ÌHS¯{Á¬¬ÿ$¹ÆÍ
+424 0 obj
+<< /Filter /FlateDecode /Length 3642 >>
+stream
+xÚå9Ž$¹ÑïWÔ†"#xƒ:§¦¬'h¼ÅZ$Gc¬¥ï+xŸyTOïjª®äŒûbòÛ?oüöç—íÛËŸ
+oB2”nßþñ"迉›q ÍÍ(ˤ·oßo?æ\çƽ~œsúWΑ~Òðú úì¿ÑŸ{EAߦv¡$}ó-¢ïôÇó£y0<èW¿ççÍ#ä=n¡];ÚÏ_üSµÅïþ³_SBa ´¦L£ýzþ¹Ú"liæ/ß~JxÌ)%ÌQ€ÌjÓ#Š>­ÿ> ìÞ‚,Œhôpá#ÂKgðusÌiÐrG† 38y_©Ìɾq„’ <ÿâ)á)౞ܡ›§Ýúâ¡#öŒLÐ'¬{ nO¢äê$ -£¹ãY<lâªð†ca\%R¶=Ãמ„y„ö¿”S¾~Û,&DæLCê&4<üj?  ªÛe:¬fn7üòr¢pú@ý9Sãm=–z.ÑN0$ gÌ®¹í"†}^œš /l ÷¤;¸¨™zÜdÜ«§"}òHÝ"…¢ò èùl[­Œ£Ü§"˜c.qÈ$̱+¬Á–^¶¢†¡eÝ‚¬læV“ÊXðŸY²ŒÌ£0i¿ˆí¤ñîI–y=”(0Ì Oð¬D)Ò‚$IÃ*^dê¹æ 0’YTçpDšEÈèC¸HºiÕ .]µMà[/_k²ÑIeoÞâVº0QÎFm—¨µHÐjòé Q0ëfNÚ*#gžWj΀›*tY/nÅzh“õ\p¸rŒ;,ÌúÛf]ìcÐò²{ÒêÕ¬7"†mo_[;J]shOuUK³~üˆ[ðP¤¨F¬ÉIŠêù+Xÿ›ÖÀ ¯üEÒ©£üúíåתü¸`‘°Ñ4 xûÛ÷—Ÿ¡'§¿Ÿnœb€‡±ßoè€Yãèû¿n}ùKôËÖT/Ë
+¢¾V
+¹Ðö\øÉÈp|ý%q0k€¹dFÀ°¤g‡
+WÑo0ðÕªP&mÛz´BÙåñ3 !T‡€ftu«˜×J-…7êmD2  È[Ψ¾«oc9ŽÓ¬
+MaÝ´ßIÎJ“Sã$ï“íeHcke°ã–E‚žB¢}¶ï9ƒô_¯vŠb´–ÄWРE’J2­ì;È‘ùÊ*ŠóÍûø@ž‰vb\=«ïE¸tö-N=Á¡ÍäÖŒL#)a^·GÍï4Š¥j»d¯¢Ê[٦ˊWdF•2Ó±rp*($ƒzAñŽ›ÙÑ!ëßAñÞ÷Eá‡0ÕëØ&‘ºKü4¯Ì81yÝ`­ŽFE¥ãäôD[søGQP
+:ïl«^Z.î—'ùiÝ¡èµ®¸šk†¦Ð±‹Åì2©µÓ`;$|§.\®èÁÈçSÊdn{4¼ËK/sM¿]ÖËl}Y e¯h'™ìûâk¥ ð!4ˆbkãi}_žâööeä¥uZ»­dԜcÓÚŠãu§È啵×ÛW½Û•‰2w¢_ëaÑEÖζùÀJÕõ•½š“ðÙE„r_îŠ5從Œ¹úƯÅØ9‰ãêWId8SǺÐJ¢õ£ù>^Ý9&Ù°ÉD²}U3WöÔÍŠL}=çr~é_êGgÅ ©C³îp0ŠMŽ³/Šq©ÇYs©f0'A#–ì®Þ7XY“âAËŽŽòuÕµ„®Ä&wÙxºœv%&Øëß¹b‹Ç¢üïR»Y!“¸C×öéݲÎPßÿÿ«ÝßËÅ„¯gk7šÜã*Éý_‘‡Ô±îî„´e¦>úÇ­Ý
+%Ñ“‡™¾Ã¸§Áe±.z¢ðÕ«-Ž*îû,µ‹¨¹Àšµ~¯á%Ô^ÂÓ¾TZ0Ë=ž4û<¹Ð¨ÂÒGÓ±»sΰ¥üØo€í©¾Ý éEWø‹‘µ©Ufžh ­†Öœm{I¶V">„[ç^Sä²ÂIÆ„ ÍØ '%8ð—ßå>êÆ%‡ó½2ó*Wú'%s('ô}iºòÖ O¡¹¦ wá—drXÌ® õÂaŸ ûͪÎ@ºÂÃ5À7¥Üy½©žzš‹sawÝ=ÝêÙ#¬OTÓÃWj\÷iä£ê XúC]øuù‰ä{w¯.U=ÿq“½{‘«„ÍSÁϼœÝÑ~Tá•î×&Ë~Õ­^±òHÎ+ï 
+äx ‘^ñ°s̉ÝJS>6ù‡Œíœ­ŠœÅ_ËÌReX`ʃ\Äèú­$KŒJmˆ£ô€ÿâ™ÕËjJëösÒ*ãbã©›wèŒïobV·ŒÍUŒ+½B¾X,;Ïp­›w0l÷Þ÷ódO&¸´Igµ]üQ*«ÛÛË$™—ðN¯Ð|¾%‚~sq¯5“{²\x×0M¤‘äXšzùØ3fcýcÊ‚
endstream
endobj
-424 0 obj
-<< /Type /Page /Contents 425 0 R /Resources 423 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R /Annots 427 0 R >>
+423 0 obj
+<< /Type /Page /Contents 424 0 R /Resources 422 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R /Annots 426 0 R >>
endobj
-427 0 obj
-[ 422 0 R ]
+426 0 obj
+[ 421 0 R ]
endobj
-422 0 obj
+421 0 obj
<< /Type /Annot /Border[0 0 1]/H/I/C[0 1 1] /Rect [ 118.663 86.982 239.156 98.036 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
>>
endobj
-426 0 obj
-<< /D [ 424 0 R /XYZ 78.37 808.885 null ] >>
+425 0 obj
+<< /D [ 423 0 R /XYZ 78.37 808.885 null ] >>
endobj
-181 0 obj
-<< /D [ 424 0 R /XYZ 79.37 771.024 null ] >>
+177 0 obj
+<< /D [ 423 0 R /XYZ 79.37 771.024 null ] >>
endobj
-185 0 obj
-<< /D [ 424 0 R /XYZ 79.37 734.627 null ] >>
+181 0 obj
+<< /D [ 423 0 R /XYZ 79.37 734.627 null ] >>
endobj
-423 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F54 228 0 R /F62 230 0 R /F55 229 0 R /F68 259 0 R /F32 236 0 R /F61 239 0 R /F48 237 0 R >> /ProcSet [ /PDF /Text ] >>
+422 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F54 224 0 R /F62 226 0 R /F55 225 0 R /F68 255 0 R /F32 232 0 R /F61 235 0 R /F48 233 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-430 0 obj
+429 0 obj
<< /Filter /FlateDecode /Length 3014 >>
stream
xÚ½[Í®©Þû)ú†Àáp
@@ -1507,19 +1490,19 @@ vÌEw[7®t®íY×`×æ2Ás¦_ŵ´¨„qPï809ro·^]lxíÇÐr,:x÷£%Ë©…­‘³
š¬;÷Úk†' ‡l“ƒkh®LúPjîT;L5wÜîä\+\ñŒþ{Þe¦ÝÌÅWè-vð1g€×¿ÿ ÀýúÁjø•bÞƒ¶Pó}IDü ‹ìÿ
endstream
endobj
-429 0 obj
-<< /Type /Page /Contents 430 0 R /Resources 428 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+428 0 obj
+<< /Type /Page /Contents 429 0 R /Resources 427 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-431 0 obj
-<< /D [ 429 0 R /XYZ 78.37 808.885 null ] >>
+430 0 obj
+<< /D [ 428 0 R /XYZ 78.37 808.885 null ] >>
endobj
-189 0 obj
-<< /D [ 429 0 R /XYZ 79.37 771.024 null ] >>
+185 0 obj
+<< /D [ 428 0 R /XYZ 79.37 771.024 null ] >>
endobj
-428 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R >> /ProcSet [ /PDF /Text ] >>
+427 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F68 255 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-434 0 obj
+433 0 obj
<< /Filter /FlateDecode /Length 3134 >>
stream
xڽɮ·ñ®¯˜0Cw@xÀ›7Î)ˆn†O’C¢CNùý÷uš¤!ùð4Kw³ö½Fôö¯½ýüéþõÓ_ž’ß#VJ¦o_ÿù‰ázc7m ×7­¡ŠÝ¾~»ýú™R ”j‹¯†Rõþö£”â×BSÊáí'®¥û„Ù¾>ðÛ{xï^ËðžÞIé¾ÇÃluí·¯¿ ^Jß±†q¨ÑPD DOqŒȈ9¤l|òEÀ áÔ 4©ø“7K¬%&|”Hfò3Ô‘‡(sî>‰·ŸÀ|Ž”<"5þð@¿Â+pWü4Ý¥é[yžº»Ó•poýég#Ï`F€ ©ëˆÈœžœ®xÿû¸Ö8Ãý¾”à dòGxùã{(sÌ•"|箥ï=ÕÈÇÓZÇ$8=â"½ƒwüÓ;BfŠ(z.d/àˆ ûY`ȘðÌ3’‘ï¨Åÿ„ÌÓ±2X¢­HOÄ:¤=iY¯Á™+Žø)jD"¬ÈÌáî¹·÷*{I ç’PÎbÔ\cÒåZ¸/ûÓħŸá}Âß}V o“Eùáa ;ç‰ÿþüû MÊ"4µ¶;oàNuâÌЯi¢DKgýÑÿ¾5ÿš!2¡ÑVå
@@ -1533,19 +1516,19 @@ xڽɮ·ñ®¯˜0Cw@xÀ›7Î)ˆn†O’C¢CNùý÷uš¤!ùð4Kw³ö½Fôö¯½ýüéþõÓ_ž’ß#VJ¦o_ÿù‰á
µvD±Ø9ј힪F²ŒÜÒ6kmJWm#éÎA°=i7vðm˜™Õ…ŽoÃ}©WpRí¹"¨ûZâÅ)'ÌéÙk¼zá¸1¯çΞÁÆÊXÌ —\³îH-BzŽœ‘öj
endstream
endobj
-433 0 obj
-<< /Type /Page /Contents 434 0 R /Resources 432 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 382 0 R >>
+432 0 obj
+<< /Type /Page /Contents 433 0 R /Resources 431 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 378 0 R >>
endobj
-435 0 obj
-<< /D [ 433 0 R /XYZ 78.37 808.885 null ] >>
+434 0 obj
+<< /D [ 432 0 R /XYZ 78.37 808.885 null ] >>
endobj
-193 0 obj
-<< /D [ 433 0 R /XYZ 79.37 771.024 null ] >>
+189 0 obj
+<< /D [ 432 0 R /XYZ 79.37 771.024 null ] >>
endobj
-432 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F67 250 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+431 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F67 246 0 R /F15 223 0 R /F62 226 0 R /F68 255 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-438 0 obj
+437 0 obj
<< /Filter /FlateDecode /Length 3058 >>
stream
xÚµ\Ë®¹ Ýû+ú¬HõŒ ¸Ýî&« Þ f5A²H¼È*¿J¥·ªKÒÍÍâN»«K:$ER|HÃoÿ¸ñÛ/Ÿî?>ýé©äMæ”æöãïŸýÂoâf“æf´`\‹ÛŸ·ß¾p®€sãèÓr.ÝÛgÁ9§Çhè+¼}–Fùoô£øFŸzz?þí?˚Ʃ¯~ÜÛï?~%„º9æ4h<!9SÂf¸Ÿ™f’Ò÷Ï`¿øÉiZÔ.ýò€Öô Ü_=iáMžÞ2ü­ŒçþíôËñnýíS ÎX
@@ -1563,19 +1546,19 @@ sÊNöˆjwA?¿ßâ[WJ–©U–¡­xY’ãôrô‹ï•")¼¯qÐÎÞppPL”›¸Óš b9oeÕ[Ïhóà¾a_p"üø a ãB¨†
¼bmáJá(|÷Š#öŸøJ 0wqñ8Aw‚xÕóCËd¸Ríª³$ÉͰ÷T}™ô‘S6¡}¿YŠ˜Ê!fYˆÕ(2°£à¦þ’ŠÑŠ)áŸÄgGWhS ¦>ÃL·¡&ÙR¶£GªW}%Q-œ¬ëÓ³jÅÏvä ‚–Àçˆ7õÇ– ïܶð@`(OŸâUáŸ^ô‘#ÕÓÆ>eYVža¾˜5†~çÞÃ52ÜÿéF¥†Üâi 8G’›†—Šoq6´aõJX)IÅ6>JŠu^âÏ0• ·3615R*;XÂxpW’%Ž’›a“=°gØò¹”½£¿™²+f2+0g°!¸yô‡›æ®ZkÆw­;{/¿êÒÖ-ÙtqÁ“ÅH¯c5Ò‘}¥~ãSŠôöàS¤×Ž2¼*Ì=ºc§×ðMü·uø°¬v’»pór7Çm¯q›6é«( áœn–•&¼"—â ?5¢&Çj¤ñWŸu‹møÓ;MÞ*©>êÖqñO’Ò çê;B¾·¡ë’n²ßR§/hÔ³jÊÆÜ“Î¥'uÏŽ( =“³j‹Ç~CW]ƒº ˜ áÐ69ó%EWZcÉHƒ«¸WWWOúPð8—Ïé%ç(‚¾gz@%m$•¤;9ýu¸ëëWõulê-§BøÔ¬ZvIà—]É« ÑË·¸S/­Ü̾¾sSf ²:¯w©ñxû»¯,eKR¸új§§6UÏ®y¦›yÝ*/^[V@‰•píò•da,38R®§š3üoòmÓ–9êK
endstream
endobj
-437 0 obj
-<< /Type /Page /Contents 438 0 R /Resources 436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R >>
+436 0 obj
+<< /Type /Page /Contents 437 0 R /Resources 435 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R >>
endobj
-439 0 obj
-<< /D [ 437 0 R /XYZ 78.37 808.885 null ] >>
+438 0 obj
+<< /D [ 436 0 R /XYZ 78.37 808.885 null ] >>
endobj
-197 0 obj
-<< /D [ 437 0 R /XYZ 79.37 771.024 null ] >>
+193 0 obj
+<< /D [ 436 0 R /XYZ 79.37 771.024 null ] >>
endobj
-436 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F68 259 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+435 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F68 255 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-445 0 obj
+444 0 obj
<< /Filter /FlateDecode /Length 1380 >>
stream
xÚ­XÉŽ#7 ½û+êZ©h»ã&§ }Ì)ArHúS~?¤$JªÅUîFìZ¤¢ÈÇGŠ”žþšôôõty=ýtsfPÉ9ÓëŸ' =Á’2a
@@ -1590,28 +1573,28 @@ _¹ƒkní°@ê‡peZI!«È«äâZŽ2¡JÒÅÒ;p Qo0$'ôP©å¤„dƒt‰·1ß”™||ÖÇgUja~[c‘_$&êÚ»ýŸw´
¹¹¯€xW*O)
endstream
endobj
-444 0 obj
-<< /Type /Page /Contents 445 0 R /Resources 443 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 447 0 R >>
+443 0 obj
+<< /Type /Page /Contents 444 0 R /Resources 442 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 446 0 R >>
endobj
-447 0 obj
-[ 441 0 R 442 0 R ]
+446 0 obj
+[ 440 0 R 441 0 R ]
endobj
-441 0 obj
+440 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 382.728 459.129 397.453 471.085 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-442 0 obj
+441 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 411.735 459.129 423.691 471.085 ]/A << /S /GoTo /D (subsection.6.3) >> >>
endobj
-446 0 obj
-<< /D [ 444 0 R /XYZ 78.37 808.885 null ] >>
+445 0 obj
+<< /D [ 443 0 R /XYZ 78.37 808.885 null ] >>
endobj
-201 0 obj
-<< /D [ 444 0 R /XYZ 79.37 771.024 null ] >>
+197 0 obj
+<< /D [ 443 0 R /XYZ 79.37 771.024 null ] >>
endobj
-443 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+442 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-451 0 obj
+450 0 obj
<< /Filter /FlateDecode /Length 1346 >>
stream
xÚµX¹Ž#7ÍõýC“Å0LOOØÌðd‹¼°OàÈ¿ïâ}õ…’xÔùøXE:ý=Ñé·Ûüqûe•|bŒX)™ž>þº1œ¡›´%\OZ1B›>>§ï¿R*RmñÛPªäý…QJqXhJ9N)¸¿p-Ý.`oø½àÌ~»ïv¬”®8ª—°R4³R„}Š¶RónÜ)Ñ1‡OÒç¤ò¢¥ˆ· YãGò¨ÇÆÝK°¿¶V-µÅ÷ß0NLN–XJl„‰a:‡)È»¿
@@ -1623,283 +1606,281 @@ xÚµX¹Ž#7ÍõýC“Å0LOOØÌðd‹¼°OàÈ¿ïâ}õ…’xÔùøXE:ý=Ñé·Ûüqûe•|bŒX)™ž>þº1œ¡›´
•_•°!AX&PȘ’²t&©š‹ugÝÄÐöeŠ'¢9†!¦ZìAŒ¯(P©èC@ç(GQ.v·LÐú¨"ØF·Äs.eBoŽT—®r‰•Õú1°®HÒP.¬×ÎQ+l«~ "mL­Ù%Œ•Žäa\ Vâ`oÞ³KpWzSè”nsíÈ6t/q.`›Ïv9W¨½´žö 4wú[ ñôFÉÇ`Çyb[ê]· ç},§í<Á÷¤©W;;æ_»ñ¸ÕD˜ÁÃÒ!ÂIݺ¦*7åâèa¹I6’QÂd©y t¨þÍ!îæöz'gõüFÛŠ„k7Fm¯f?,¶gIÚEfÃŽ  ÈÇý½¥çØ
endstream
endobj
-450 0 obj
-<< /Type /Page /Contents 451 0 R /Resources 449 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 453 0 R >>
+449 0 obj
+<< /Type /Page /Contents 450 0 R /Resources 448 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 452 0 R >>
endobj
-453 0 obj
-[ 448 0 R ]
+452 0 obj
+[ 447 0 R ]
endobj
-448 0 obj
+447 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 255.32 697.168 262.294 708.167 ]/A << /S /GoTo /D (section.5) >> >>
endobj
-452 0 obj
-<< /D [ 450 0 R /XYZ 78.37 808.885 null ] >>
+451 0 obj
+<< /D [ 449 0 R /XYZ 78.37 808.885 null ] >>
endobj
-205 0 obj
-<< /D [ 450 0 R /XYZ 79.37 771.024 null ] >>
+201 0 obj
+<< /D [ 449 0 R /XYZ 79.37 771.024 null ] >>
endobj
-449 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R >> /ProcSet [ /PDF /Text ] >>
+448 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
524 0 obj
-<< /Filter /FlateDecode /Length 1963 >>
+<< /Filter /FlateDecode /Length 1965 >>
stream
-xÚ½ZÉn$7 ½û+êF‘HŠ’€À€ÛmÈÙ· ×ä”ÿ¿†R•–R©–næ`Œ§íâÎÇG–õô蠟?^n_/¿}Zœ )$†éëŸ#?Г™\Pè&‡ZYž¾þ›þú]k2òu×>µFÐÚÑëß_ŠÃSP©aÈ)ë'¬œ¥,ÄÜòCvôЬ—=)Byæ]kÅ´¶Ñ-Üæïç/ò³Qpýˆò†S󅉕vÅI€+öY£ ˜ò Î6Âí| ÏöÉ?ÉÆh{\´Û£Íéçze·_, í[€An¬ž½VÐmþžõ¡'F²>ô’¬í‹¶¥¸Ãü%Zní´ñSL::ÛÀ)0Mt^¤°D1,s8RñQeTg©ùåµ.¶#]Æ*¨%ú¼®ø ´ü Ö~nôÓH¿F…úš¯1Í)A÷ùgß*l0Òž¶-6ÖMºy1ÞWmÅÓ•t +é!(v²QKxFzú¼ñÏâüÿÒ¦÷‹°S„ö§˜@M8DÍ“%«œÁbÓÛT°ˆ‚t¾<“»üV{’î3BDû²O¥â¤n:ÌJŒò®jJQ„U†¬Ü¢ß¿z\ÊÖáÖ†ôÉöøTžMoßÚˆÅNåÉm<jãÕzu¯q‹Ÿç\§6‹>ÄšYиôd†Ü®çnƒ
-O¢¦àë#Q›Óšà²Íýñ')PìÕýähÊf¡€ñAg–68ôx¨÷Ç„ ² „sÖ¥¯Ð;°Và·ÐÔ‡›xa»@¨j`¾µÚö’ÑšÚŸ‚<ûñ JKÕ€ðµ`¡ž.Щ
-¡ŒÙ#žó âï.<Gg„ÎáBPãFîŠ/B†°ºï×£"óÁyl\-ÞA
-™Z=©S\³Bd”×ëssPè$
-­ä6˜IrÃn7ìµ2›aõ`¸"K½j†–X/<› F™`z‰Ïa}œT +/‹²šäšÔ_¡9®ž˜ÚŒµ…ÂÉGG„û::¡8¾ªÎ4·è‚pa:ž/»U
-sin{ÿR?w| 5(6¡¿0ö´g´ˆl™û /ºÖ—Ij³Í’ãWËMh02ú~
-‡b–‚ðµ ÞóVç²×V«PWˆW–÷¥Ç`|øÁå_§ëí¡l¹·¦'Ãaÿv
-Àm,¨ˆƒ×<@¯BÝ4®x7µP?²ƒ‘…’7Z¬Ùäo§¶AèwÝQzÊT÷Jø¬Ö6Û¦ß\|ÑöôÎCe-€Þ®È¼øø²_<2VéÆ¡vÆÌs±œÍ‡Öá±k 2ï£
-‡[寉õõÄÆÑG÷fù,±¥–S¬6´Ñnó2V‡ñ¸¿"üeÈ;X³N|£È¬³0‚ÚªÛfÊàÏáV:D ïµ£'ËbC–Ï,¶Ëˆþ{BXã昕NË£½ïÓV›3+yAÑt¾GÖÊXÜH¯™§!—͘¸­ð2îoMœô/~UZìs¨l0Õ¾zgÈDtýæ8J²9!úÔ§(WsβÞ#¯ð•f/2–—¼/÷Ú„5þsÙ+'ùî4dVG„žÊÝ÷ÎáÝÜ=ÊY™‹h7ú¿—'ò.‘°^ê6þþtzËäžH&“«36ײ&DÉÕ{OìÔØ•é÷аE*ƤS8\ºñ‘6*Þh_¯8ëNèŽ×þÅ'Èn4Õ,Ù1îõõÅ»`©¨oà2ëÛh¹Ü‘i¼¯«Gå÷/§Ë$×CÚ=¾Ö[då´ò5wwŽ~ÿ"1÷匿M/=ó×Åv*xwfGù“ªGó——{:-+‡¾ç]a|Ô<’MÂòÜÊŸU¬6 T¾âµ *{úê¡—ù!ÓYð K%=ß–z)<¨ï#„: Ë•ù_Žì/í'²é+Ðåü²Ê„®óÏm²2xyeBð
-Èd&†àÇÕÄðàë€t‘èc™ée–óû%Ï!ëá˜ßkݧ Ìó+ÞÂiv¹v¬©½Ê[g²œ;vü‘]ϱøß‚×?Eqæš?ñ=¸.ÓÂ-™Koë·Ûæ§ ¾¤®Èqi³Ì2 ˆ aÅB°‚«É+¿øñõò?r{TÞ
+xÚ½ZËn+7 Ýç+æ®*‘%E€8N
+t]Ñm»êÿoKiFѼdßà.‚$¶‡âóð²žþôôÇËíëå·O‹“!…Ä0}ýóbä =™É…nr¨•åéë¿é¯ßµ&#?w­áSk­½þýõ§ˆ0<˜Z†œ²~âÀÊYÊBÌ-?d÷šÏeOÊ…Pžyךå`ZÛ¨„nó߀óùY)¸¿þ@Dy
+Ã¥zŽÂÄŒJ»b$Àˆ~Ö(¦<ƒ³Žp{ų~ò+éuÏŽ‹ºÃ¢{Ô9½¯WzûEqÚ±”áFëÙú¨Ýæ¿YŸZb$êàC/ÉÚY¿¨[ò;Ì?Q¢åVO_ÅtF§8¦ñÎëä–("º…`vG
+ã">³Ô|x}ÓÞYÆ*¨)úüYñ´¼ó ?ÇÎרPÙÃœtŸßÛš¸¤ìúŒ”§m“un^”÷õ´béÚ€ÛJz
+‚l<%<#=½ÞØgqþ¿”é}PvŠÐ~‹
+4¨Â)*hž,Yå ÞPÁ"
+ÒùòL®ò[­IºÏõË6•ŒKºI ¿—`”×0zRò"T¯2äÈ-çûWKÚ:Üê^™=À~×o•gÓkƇ|§ƒòä6µþj­ºW¿Å×s¬S™EbÎ,h\j2CîiNÎêPpÊø%ê^?ó9·Ù>’ý!ç·:V¦ºûc DÄÒ0LiäY½œºÑGåïÜèZ8\÷¦®Þ*úfÛ·
+® ñX£òÜIʾ~wÓ’Ï(#{F—jK(sïß?_þ»5.‹ºX®‘´X™ zÒrí*UÙ5MÖËïJ,žû|q™e¡DXèIœÞ÷'¡ŽI•ç­$œsGÏÇâsyëÒî@¶}ð<!㲡nëø`}NIgk{i=µ¸ÔQˆkëc»–¾ÐD(ž6IMšiF‘Yů÷‰õu,OàýÑ]ý,¯eÐ_’ùfĆ6§Û<ÀÔÖµ_`-2BlG“Ñ(è ”o…R»È”ý@u‚ÀÜ`ý5:I]i™fúÓö ô¹Æqçl›«¤írÍѯ/8^lZ,QéOy´ÖÈ[ሗ~åFÓæ{ÀBŒÅôyÚEr¨l0m†—æxkü¤ñ%mÑeÚÅz¹Ju6Ï´m}ýs;F¿‘úôÒ¡XqsWÙ›¾ÒlEÆò÷eÇ™°Æ_c.{å´éOÈîàïG+ä®ñžÅ‰¬tT´›ó.Nä]â,½Ô-–ÙËîmƒTÄ•DÙ³°‹š0&_WS±RcUf¤?BúH¨“ÖÇ0´#mT¼9}oå{ið_×_#<Š;N´$»9é
+w"+õ¡tf†\KÞ@½ûˬn{£ØÁh„2ñ†ºzT~-^:¹î÷#º°SÁ¯lÍÕ½ß_a溜ñ·©¥¡ÑÔ¾–•F¸Ò£|Y…ê}}mzt& s§¶çaax&¡ýÑ£5¼øjT¶ô!ÔC/]S §ÓàA–Jš”s[)¼S?g't’ WA½e?4Ÿ@ð
+¨`Ì*ºö?·‰JÃ#72=+¸'31¿ŸM ‡<õd‰ Þ“—Ö}8¿YnA5ðð^Ó>5`žoE ¥9¤Ú1¥ŽoȲ80GFEÇbNüÆ .îsfÌœxÝ\¿ýá–À¥ îí°é÷§Yš%´2.Ë,‚Èú.ü*¸šOoåƒ_/ÿƨmB
endstream
endobj
523 0 obj
-<< /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 526 0 R >>
+<< /Type /Page /Contents 524 0 R /Resources 522 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 526 0 R >>
endobj
526 0 obj
-[ 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ]
+[ 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R ]
endobj
-454 0 obj
+453 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.39 681.75 142.364 692.709 ]/A << /S /GoTo /D (page.4) >> >>
endobj
-455 0 obj
+454 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 159.251 648.073 166.224 659.032 ]/A << /S /GoTo /D (page.5) >> >>
endobj
-456 0 obj
+455 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 151.579 635.679 163.535 647.634 ]/A << /S /GoTo /D (page.18) >> >>
endobj
+456 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.305 624.162 151.261 635.121 ]/A << /S /GoTo /D (page.17) >> >>
+endobj
457 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 139.305 624.162 151.261 635.121 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.318 612.207 177.273 623.166 ]/A << /S /GoTo /D (page.17) >> >>
endobj
458 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 165.318 612.207 177.273 623.166 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.141 600.252 147.096 611.211 ]/A << /S /GoTo /D (page.14) >> >>
endobj
459 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.141 600.252 147.096 611.211 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.315 588.426 143.271 599.256 ]/A << /S /GoTo /D (page.12) >> >>
endobj
460 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.315 588.426 143.271 599.256 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 190.135 576.471 202.09 587.301 ]/A << /S /GoTo /D (page.12) >> >>
endobj
461 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 190.135 576.471 202.09 587.301 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.889 564.506 200.845 575.345 ]/A << /S /GoTo /D (page.12) >> >>
endobj
462 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 188.889 564.506 200.845 575.345 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 148.65 530.838 160.606 541.668 ]/A << /S /GoTo /D (page.15) >> >>
endobj
463 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 148.65 530.838 160.606 541.668 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.815 518.883 188.77 529.603 ]/A << /S /GoTo /D (page.15) >> >>
endobj
464 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 176.815 518.883 188.77 529.603 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.865 518.883 205.039 529.603 ]/A << /S /GoTo /D (page.23) >> >>
endobj
465 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 192.865 518.883 205.039 529.603 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.81 506.809 184.765 517.758 ]/A << /S /GoTo /D (page.12) >> >>
endobj
466 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 172.81 506.809 184.765 517.758 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.52 494.853 251.475 505.802 ]/A << /S /GoTo /D (page.12) >> >>
endobj
467 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 239.52 494.853 251.475 505.802 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 205.457 461.295 217.413 472.125 ]/A << /S /GoTo /D (page.19) >> >>
endobj
468 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.023 460.728 207.978 472.683 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 217.393 449.34 229.348 460.17 ]/A << /S /GoTo /D (page.20) >> >>
endobj
469 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.454 427.608 210.409 438.487 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 196.023 436.817 207.978 448.772 ]/A << /S /GoTo /D (page.16) >> >>
endobj
470 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.276 415.653 143.231 426.492 ]/A << /S /GoTo /D (page.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 198.454 403.697 210.409 414.577 ]/A << /S /GoTo /D (page.15) >> >>
endobj
471 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.288 403.697 169.243 414.537 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 131.276 391.742 143.231 402.582 ]/A << /S /GoTo /D (page.17) >> >>
endobj
472 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 391.752 174.772 402.691 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 157.288 379.787 169.243 390.626 ]/A << /S /GoTo /D (page.17) >> >>
endobj
473 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.111 379.668 139.066 390.626 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.817 367.842 174.772 378.781 ]/A << /S /GoTo /D (page.12) >> >>
endobj
474 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.957 367.712 137.931 378.671 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 127.111 355.757 139.066 366.716 ]/A << /S /GoTo /D (page.14) >> >>
endobj
475 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.469 355.877 150.424 366.716 ]/A << /S /GoTo /D (page.17) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 130.957 343.802 137.931 354.761 ]/A << /S /GoTo /D (page.4) >> >>
endobj
476 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 321.641 183.261 333.596 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 138.469 331.966 150.424 342.806 ]/A << /S /GoTo /D (page.17) >> >>
endobj
477 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 309.686 155.086 321.641 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 171.305 297.731 183.261 309.686 ]/A << /S /GoTo /D (page.20) >> >>
endobj
478 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 297.731 206.264 309.686 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 143.131 285.776 155.086 297.731 ]/A << /S /GoTo /D (page.20) >> >>
endobj
479 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 285.776 179.754 297.731 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 194.309 273.821 206.264 285.776 ]/A << /S /GoTo /D (page.20) >> >>
endobj
480 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 112.695 252.537 119.669 263.495 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.799 261.865 179.754 273.821 ]/A << /S /GoTo /D (page.20) >> >>
endobj
481 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.315 240.581 162.289 251.54 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 112.695 228.626 119.669 239.585 ]/A << /S /GoTo /D (page.4) >> >>
endobj
482 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 150.882 228.626 157.856 239.585 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 155.315 216.671 162.289 227.63 ]/A << /S /GoTo /D (page.4) >> >>
endobj
483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.3 195.078 179.256 205.908 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 150.882 204.716 157.856 215.675 ]/A << /S /GoTo /D (page.4) >> >>
endobj
484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.343 160.833 152.317 172.788 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 167.3 171.168 179.256 181.997 ]/A << /S /GoTo /D (page.12) >> >>
endobj
485 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 149.316 139.345 160.384 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 145.343 136.922 152.317 148.877 ]/A << /S /GoTo /D (page.2) >> >>
endobj
486 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 140.172 137.49 147.146 148.32 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 132.371 125.406 139.345 136.474 ]/A << /S /GoTo /D (page.5) >> >>
endobj
487 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.77 124.967 171.744 136.922 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 140.172 113.58 147.146 124.409 ]/A << /S /GoTo /D (page.4) >> >>
endobj
488 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.299 91.29 174.254 103.245 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 164.77 101.057 171.744 113.012 ]/A << /S /GoTo /D (page.9) >> >>
endobj
489 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 135.44 79.334 147.395 91.29 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 162.299 67.379 174.254 79.334 ]/A << /S /GoTo /D (page.13) >> >>
endobj
490 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 173.686 67.379 185.642 79.334 ]/A << /S /GoTo /D (page.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 358.689 693.267 370.644 705.222 ]/A << /S /GoTo /D (page.13) >> >>
endobj
491 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 377.209 693.835 389.165 704.664 ]/A << /S /GoTo /D (page.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.935 681.312 408.891 693.267 ]/A << /S /GoTo /D (page.13) >> >>
endobj
492 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.994 681.312 453.95 693.267 ]/A << /S /GoTo /D (page.32) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 377.209 669.925 389.165 680.754 ]/A << /S /GoTo /D (page.16) >> >>
endobj
493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.318 648.007 419.292 658.836 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 441.994 657.402 453.95 669.357 ]/A << /S /GoTo /D (page.32) >> >>
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 635.693 403.6 646.881 ]/A << /S /GoTo /D (page.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 412.318 624.097 419.292 634.926 ]/A << /S /GoTo /D (page.8) >> >>
endobj
495 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.695 635.693 419.65 646.881 ]/A << /S /GoTo /D (page.33) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.627 611.783 403.6 622.971 ]/A << /S /GoTo /D (page.9) >> >>
endobj
496 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 402.066 623.967 414.241 634.926 ]/A << /S /GoTo /D (page.22) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.695 611.783 419.65 622.971 ]/A << /S /GoTo /D (page.33) >> >>
endobj
497 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.317 612.012 459.491 623.011 ]/A << /S /GoTo /D (page.21) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 447.317 600.057 459.491 611.055 ]/A << /S /GoTo /D (page.22) >> >>
endobj
498 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 327.645 578.258 334.619 589.098 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 327.645 566.303 334.619 577.143 ]/A << /S /GoTo /D (page.4) >> >>
endobj
499 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 353.13 566.303 360.104 577.143 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 353.13 554.348 360.104 565.187 ]/A << /S /GoTo /D (page.4) >> >>
endobj
500 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 554.358 351.297 565.187 ]/A << /S /GoTo /D (page.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 344.323 542.403 351.297 553.232 ]/A << /S /GoTo /D (page.2) >> >>
endobj
501 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 542.114 346.066 553.232 ]/A << /S /GoTo /D (page.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 339.092 530.159 346.066 541.277 ]/A << /S /GoTo /D (page.3) >> >>
endobj
502 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.379 529.88 485.334 541.835 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 473.379 517.925 485.334 529.88 ]/A << /S /GoTo /D (page.22) >> >>
endobj
503 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.166 518.204 398.121 529.322 ]/A << /S /GoTo /D (page.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 386.166 506.248 398.121 517.367 ]/A << /S /GoTo /D (page.12) >> >>
endobj
504 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 506.248 382.679 517.367 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 375.705 494.293 382.679 505.412 ]/A << /S /GoTo /D (page.4) >> >>
endobj
505 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 494.234 372.218 505.412 ]/A << /S /GoTo /D (page.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 365.244 482.278 372.218 493.456 ]/A << /S /GoTo /D (page.7) >> >>
endobj
506 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.957 482.498 424.93 493.456 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 417.957 470.542 424.93 481.501 ]/A << /S /GoTo /D (page.5) >> >>
endobj
507 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.917 470.104 405.872 482.059 ]/A << /S /GoTo /D (page.24) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.917 458.149 405.872 470.104 ]/A << /S /GoTo /D (page.25) >> >>
endobj
508 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.502 458.149 508.457 470.104 ]/A << /S /GoTo /D (page.25) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 496.502 446.194 508.457 458.149 ]/A << /S /GoTo /D (page.26) >> >>
endobj
509 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 424.844 419.043 435.673 ]/A << /S /GoTo /D (page.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 407.087 412.889 419.043 423.718 ]/A << /S /GoTo /D (page.14) >> >>
endobj
510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 412.54 387.909 423.718 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 380.935 400.585 387.909 411.763 ]/A << /S /GoTo /D (page.7) >> >>
endobj
511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.605 400.923 366.579 411.763 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 359.605 388.968 366.579 399.808 ]/A << /S /GoTo /D (page.6) >> >>
endobj
512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.471 388.849 410.445 399.808 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 403.471 376.894 410.445 387.852 ]/A << /S /GoTo /D (page.6) >> >>
endobj
513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.608 376.904 405.563 387.852 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 393.608 364.948 405.563 375.897 ]/A << /S /GoTo /D (page.11) >> >>
endobj
514 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.828 365.058 386.783 375.897 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 374.828 353.103 386.783 363.942 ]/A << /S /GoTo /D (page.11) >> >>
endobj
515 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.178 353.103 360.133 363.942 ]/A << /S /GoTo /D (page.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 348.178 341.148 360.133 351.987 ]/A << /S /GoTo /D (page.11) >> >>
endobj
516 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.742 340.59 420.716 352.545 ]/A << /S /GoTo /D (page.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 413.742 328.635 420.716 340.59 ]/A << /S /GoTo /D (page.7) >> >>
endobj
517 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.965 307.285 352.92 318.114 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 340.965 295.329 352.92 306.159 ]/A << /S /GoTo /D (page.22) >> >>
endobj
518 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.487 295.329 368.442 306.159 ]/A << /S /GoTo /D (page.20) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 356.487 283.374 368.442 294.204 ]/A << /S /GoTo /D (page.22) >> >>
endobj
519 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.826 260.889 403.8 272.844 ]/A << /S /GoTo /D (page.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 396.826 248.933 403.8 260.889 ]/A << /S /GoTo /D (page.8) >> >>
endobj
520 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.627 227.583 339.6 238.413 ]/A << /S /GoTo /D (page.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 332.627 215.628 339.6 226.458 ]/A << /S /GoTo /D (page.5) >> >>
endobj
521 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 329.877 215.628 336.851 226.288 ]/A << /S /GoTo /D (page.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 329.877 203.673 336.851 214.333 ]/A << /S /GoTo /D (page.4) >> >>
endobj
525 0 obj
<< /D [ 523 0 R /XYZ 78.37 808.885 null ] >>
endobj
-209 0 obj
+205 0 obj
<< /D [ 523 0 R /XYZ 79.37 706.717 null ] >>
endobj
522 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F16 251 0 R /F15 227 0 R /F54 228 0 R /F68 259 0 R /F62 230 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F16 247 0 R /F15 223 0 R /F54 224 0 R /F68 255 0 R /F62 226 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
566 0 obj
-<< /Filter /FlateDecode /Length 2344 >>
-stream
-xÚí\Ënë6Ý߯ð„%‡ä‚
-?ýuâ§_¿-ïß~¹jyŠI…pzÿó›ð7øIœŒcÒœŒ¶Lqzÿûôû3çby‘ÂâÅÿ9ÿÇ9—ðò$öWáʹþWK¦–0Ä^ò£þ1ñš>„â½?ÞóKúä˜C@5Y
- Ú•¥(“§VŠL v>5˜8užÆït2ŽiŽë‰´J N‹õŸ6]ÓJ³»xá8ãª:<™(ÆÓ䉲ª[¯iÕ†¿Ä]…ÀRî*ËÅÓU£ÒêÒ^ýw˜­V³ÕS̘;ö¼»G)q9RÁ
-ÏRéd$ý‚ŽMèäÑ» …·ðZ`œpæaDD¹g"?Z?§Qñù%žSú é\z–I¿ôs·ÏN<Š+½è
-€²Ì>ï©TÓ›Ô¿!FÙQÃSwj³òá•CçWú¸<·…Ê·¬œåšx'ÕO÷uWùf”%2Ãá^ÑŠžHY[ñ_dâ.jQãXÓªº_iI¿ nqkwÇŸ×Þµ¶zh^á8•O¢iSêÏW»¯„5wF]b€8*3nŸ›VŽyÕV™ËSv(k9u|$ì9QZZ‘¨Œ–^ƒñ¾hÓÒK™I¡PŽêËnÌ‚\òDa2 × üg™å\fAB©(Ç0ãtÛ µý P?‘Ÿó
-7-g
-¡NÊI/çM2ÏYÛû©‡è¤œ—Fúq~*‚x¡âI}íð]foQ÷}°'Ï"Ç·ïôÍ
-&Á¬!HÊŠ’oWÀýO,Ó“t\_ ? 6è Â2ü4<šGEúÇ­þ(³˜ç†ªÞüe‹±(ͳí5eºi Pxl}Ïy/ûŠ›„
-^ñ∫6L‰A¬¥ëpm§ÝzSA`×1øÆùïrE¥¦>Ë“ŽžÅ!²·á>ßá`)©™rÕÁ ¨+9S4³AůºA{ŽŠTQKKw—£’iÕR np4æ
-&¬"¹f>9 ïxvØݘç1
-ÖK¬—_,ÓÖ®&Äpòº³%À>cS2éúŸJ+éŽ5„0 Àž¤s ¥yƒ(‘*¯ÙXßa¤çÜóò„üˆ6~
-L´GŒ®\Ì¥¥ÒB*ƒŽWÎ ~l5Ûhf`SÀc‘ÜÜ#ÂùîkŸ —˜2â%‡<+úwØéGØx9³ñ%38Êt‹á-ç´/­2sWÀui¥%šŸ ú¿‰>¬Cò~ !•`­D%m !îBz–Ëì‘®aH‡´ÝÏ(fÛ`SÙ;Ñ ´bg„í»Šn»\rnç¹×®ÎTJì2%¸
-ygõ6ÉKáÏU¶´Š.§çUYRTbK•M1GB¡õÞQ‘^‡@íJN
-¬KØCÍß×$7Ì™–7ÐÓ¼pÁ1MÒ´Q©/•ŒʼnùŸ,gPêµÊkÍ¡¼?.ÿ<Ê?a‡µA‡Ìã<â?xìâ„C/œ­bÍÎÄKÿ Î[R«<Pú2¬³JL±†š&hH1´f·œ·šW]{Vëþ¡}óçjWî|²cç“7tGè,°ªTqG΄Ƒµ.–¯†ŽSÒŒÑÉzñ³s¯môTx)½l'ogú¡54†à½&§s7OLÇ‚=@ÞYY\lLtú '
-}iÒÝZ3›1 ©]×WzËÈbpIñëÏ]ºDjfR³=¯zi¥´ÜCym%ùU§oVÜý¨YÇÎ Iι‘1RÇåïÁŸ—[bƒž„|UØí¥÷ºôv6
-° 8ï³QÄÚè2,YÖšDì‚­Çx|ùv` q•±!&Áû,³Që©àä7¤ÏÚÞ–
-Ívúÿƒ(X†Êm!:)iÜn`_õn_F7Ÿ«•r[rt¤<ª‚/å5å¾ ÚÄ¥ù¹R<âGbö#á…?ͪK¡Ø;®˜‘ƒÈ„v…’L"}™{¢QzúS ±=†¾vË&ŽfŽÙ›æ§é?Îð†ü¾™æ
-0cÁó®OA·äìjÅå²õd®ÕËÃüù¸b¿ÏËpf±ù¼ªt*‰%«*QºŽ‚ÃíAÐf©¾=‹¼ä^Û³Ö/¹·WQHµ
+<< /Filter /FlateDecode /Length 2347 >>
+stream
+xÚí\Koã6¾ï¯ðKÉ! ¬x] çÜŠ^ÛSÿÿµ|s(R²“õ¦@‡À¶D ß¼g~úçÄO¿[Þ¾ývÕò$“
+áôö÷7áoð“8Ǥ9m™2âôöïéÏgÎÅò"…ÿÄ‹ÿsþs.áåIí¯Â•s-ü¯0–4L-aˆÿ¼äGýcâ5}*Ä{½ýá—"ôÉ1‡€j²@&´+KQ&O­™ì|j0qê<ßéd!Ó×i•œë?mº¦•fwñÂqÆ Tux2QŒ§ÉeU·$^Óª ‰»
+;¥ÜU–‹+¦«F¥Õ¥½úï09Z­f«§˜1wìywR ãr¤‚ž¥ÒÉH$ú›ÐÉ£#v
+oáµÀ8áÌȈrÏD~´~N£âóK<§ôÒ¹ô,“~éç2nŸx<„WzÑ®*W.ëMM¹ýIJùœ®êôx%|Øèu)ËíiE&¨Ï—5Ð+¼fY¯„ ¶_ ²Á+½…Ðs%,ãƒi£³Í^—2RBÆ4Q½ÐËkC¤ðX”
+¤dìj3[zªœ±Á]ëYˆѹŠZï*L¹œ×Ó±/òîL'ÝŸ
+=Ç^5„;"ŸUa­2¯–EÑ‘…­Ëb$¦-¦°~»_àíྃ7|Û¡?)iu9"ŒÛº©#c
+õúá•èùS“7N-‹ÄkY¨8Y?J;Y(ú9M+pXT¤.ë™p„5Ì. Þ’ \Êð;Þ¯mã‹ù G¬òýx˜Ø”vQç*ϣΙ[ ÑˆãÖ4—Ä^ï>i½bˆH|õ@$nÓ„Q5Ú¦|阙¤l]‡åCׂ¡·÷k7¥j² Ú©rPù¨Ãì•Íãeb ‰B$šý!®
+ËðÓðhýé#´>ú£Ìbrœªzó—-Æ¢4϶×<”é¦Bá±yô=çU¼ì+n*xÅ‹¿ ®Ú0%±–®Ãµ^tëqLY]Çàç¿Ëu”šú,O:z‡ÈÞ†û|‡ƒ¥¤fÊU/ ^¬äLÑÌ¿êí9*RE--Ý]ŽH¦UK%¸Áј+˜°Šä>˜ùä$¼ãÙawcžÇ(<X/±^| °L[»˜8#ÀÉëΖ
+/¥—íäíL?´†Æ¼×ätîæ‰éX°ȹ0€¬,.¶@&:ýÈ…¾4én­™ÍÔ®ë+½ed1¸¤xÈõG.
+]"5
+3©ÙžW½Î4‚οRZ¶’üªÓ7+î~T‹¬cgÈ…$çÜÈ©ãò€÷àÏË-±AÏ B¾*ìöÒ{]z;€º£Ñp¿×ºª†ÜÆ×·­ú»pDhâ;×÷˜”8²ÂX]Y³„× Šq§—ß<Iɵ5°Bò€ÚÏv <ðAl9gÒnAKLyßÆÑ*ç#дm3zÛü6øÉb8Ók1ˆïµâz
+±°–)ЛŸ?€qõÜÊ[B ù¾9í•HxcÆPˆ~ [ƒL™-h£±ž•ÅJü–âÇ)ê—ÈË+GåbÔ)–!; ü
+oLüµÿA›¥úö,ò’{mÏZ¿äÞ^E!Õ0†Ã°ùkæžÁÑûëÞ•s­ã8¼ë”³jßß¾ý]aÝ8
endstream
endobj
565 0 obj
-<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 568 0 R >>
+<< /Type /Page /Contents 566 0 R /Resources 564 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 568 0 R >>
endobj
568 0 obj
[ 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R ]
@@ -2016,21 +1997,22 @@ endobj
<< /D [ 565 0 R /XYZ 78.37 808.885 null ] >>
endobj
564 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 226 0 R /F15 227 0 R /F62 230 0 R /F54 228 0 R /F70 285 0 R /F71 292 0 R /F16 251 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F53 222 0 R /F15 223 0 R /F62 226 0 R /F54 224 0 R /F70 280 0 R /F71 291 0 R /F16 247 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-586 0 obj
-<< /Filter /FlateDecode /Length 871 >>
+585 0 obj
+<< /Filter /FlateDecode /Length 838 >>
stream
-xÚíXÉŽÛ0 ½ç+üQEJ¢$`` N&zέèµ=õÿ¯µX–£™fŒv:|0¼h£üÉGÉáÇ ‡Ï‡évøt¼ð„¤‡Û÷„9À`½Pv°B ·ŸÃ×')• ?”V‡;J©')MxÖ.½ŽGEÊÉи Ço·/¼’é­äµP «½
-ìvÖ—Ž‘—…ù"ét†+!LUçR~®Õlkm© 
-u½ƒŽÝ#g:Æ€pz>ëÕ°ü]©LTa§>Ïù›“ô(ÈР¥ðvÑ>ß¿
+xÚíXÉŽÛ0 ½ÏWø¢R”HIÀÀ€L
+ôœ[Ñk{êÿ_+j±ìDÓf‚.SÀËhŠö{â#÷†OóåéÃYóT`d;\¾>é8
+¼œPƒ¯s!ÇœDÞÓˆþ¹ùbˆï+ʸ2“ÏȨ‹‹Áé°Cü °§.ØHJº{ZÀæãz§ÞÍ7[¸ë@(9"­q=XîB¦ƒãm>swxß¾ 5õÿLdÀ(t¾rÁ¾T‘áUR¯I[@ê&û´.õq4”ƒ|øp®£dËhWĤúÊè™]Þß#\´2ˆ-üázÓw¬¨X2Ò)“5Yƒ\÷)¿nCÝÞ×ãw¢>@cßËa,ôew üJ°ÞüÒøŽ>óV¨4‘Êï¶*æVÔ¿¼%H"Źy¨’Wó*ºÇIFÈÿ¡LÑ™ŠÉ)kCEœäƒå”a¿”MÎÙZÄßyHé¤I8Ô¡[cABwS« Úɇ`Ь«ê%nÌkÜXa±pý²*1tαÕ75êº2Ì])Ò’²Ánÿ[K“”Ë{wEýWÂ_¨hzTŽe¼ÛËø÷3M7g£È„$o>ÈQÅ©X¥‚O
+6³ãòïY‹¹ P+òÝ| Àc,Àiá•dÕä/²ƒB98ÖAVïxýqü§$=ü!(ÆnˆÃøsÌÿ4É{²ý´÷åï”Qð;Œ àTî.#üƒŒÐ&vJÈ2qR…RêXl%Ž(E²Ð$J½·G…ý@ò¤œö]Y - ®÷sZé.}ŒTÍîÔhÀ«¾¦6Ø[¯¯m®ó•Ù¼K:!Ì%ª-­üÒ«¹m´µƒªÔ ^¿sì¦;:%b£bóºôÆzý»r›hâ—†â³íuÛ ¨˜x° BÛ(JÁä¶íåòô@¬+
endstream
endobj
-585 0 obj
-<< /Type /Page /Contents 586 0 R /Resources 584 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 440 0 R /Annots 588 0 R >>
+584 0 obj
+<< /Type /Page /Contents 585 0 R /Resources 583 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 439 0 R /Annots 587 0 R >>
endobj
-588 0 obj
-[ 563 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R ]
+587 0 obj
+[ 563 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R ]
endobj
563 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 758.132 143.002 768.971 ]/A << /S /GoTo /D (section.8) >> >>
@@ -2042,49 +2024,46 @@ endobj
<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 734.102 277.208 745.061 ]/A << /S /GoTo /D (subsection.8.2) >> >>
endobj
571 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 722.147 214.513 733.106 ]/A << /S /GoTo /D (subsection.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 722.147 261.178 733.146 ]/A << /S /GoTo /D (subsection.8.3) >> >>
endobj
572 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 710.192 261.178 721.19 ]/A << /S /GoTo /D (subsection.8.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 700.289 219.843 711.188 ]/A << /S /GoTo /D (section.9) >> >>
endobj
573 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 688.334 219.843 699.233 ]/A << /S /GoTo /D (section.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 688.284 259.525 699.233 ]/A << /S /GoTo /D (subsection.9.1) >> >>
endobj
574 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 676.329 259.525 687.278 ]/A << /S /GoTo /D (subsection.9.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 675.88 364.391 687.835 ]/A << /S /GoTo /D (subsection.9.2) >> >>
endobj
575 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 663.925 364.391 675.88 ]/A << /S /GoTo /D (subsection.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 654.451 355.794 665.459 ]/A << /S /GoTo /D (section.10) >> >>
endobj
576 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 642.496 355.794 653.504 ]/A << /S /GoTo /D (section.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 642.446 200.147 653.405 ]/A << /S /GoTo /D (subsection.10.1) >> >>
endobj
577 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 630.491 200.147 641.449 ]/A << /S /GoTo /D (subsection.10.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 630.491 199.161 641.559 ]/A << /S /GoTo /D (subsection.10.2) >> >>
endobj
578 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 618.535 199.161 629.604 ]/A << /S /GoTo /D (subsection.10.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 618.097 220.74 630.052 ]/A << /S /GoTo /D (subsection.10.3) >> >>
endobj
579 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 606.142 220.74 618.097 ]/A << /S /GoTo /D (subsection.10.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 606.58 187.684 617.649 ]/A << /S /GoTo /D (subsection.10.4) >> >>
endobj
580 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 594.625 187.684 605.694 ]/A << /S /GoTo /D (subsection.10.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 594.625 219.981 605.584 ]/A << /S /GoTo /D (subsection.10.5) >> >>
endobj
581 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.67 219.981 593.629 ]/A << /S /GoTo /D (subsection.10.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 582.232 375.36 594.187 ]/A << /S /GoTo /D (subsection.10.6) >> >>
endobj
582 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 93.318 570.276 375.36 582.232 ]/A << /S /GoTo /D (subsection.10.6) >> >>
-endobj
-583 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 550.74 108.74 559.756 ]/A << /S /GoTo /D (section*.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 1]/H/I/C[1 0 0] /Rect [ 78.374 562.695 108.74 571.711 ]/A << /S /GoTo /D (section*.1) >> >>
endobj
-587 0 obj
-<< /D [ 585 0 R /XYZ 78.37 808.885 null ] >>
+586 0 obj
+<< /D [ 584 0 R /XYZ 78.37 808.885 null ] >>
endobj
-584 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 251 0 R /F15 227 0 R >> /ProcSet [ /PDF /Text ] >>
+583 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F16 247 0 R /F15 223 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
<< /pgf@ca1.0 << /ca 1.0 >>>>
@@ -2095,16 +2074,16 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-589 0 obj
+588 0 obj
[ 3 [ 602.1 ] 5 [ 602.1 ] 11 [ 602.1 602.1 ] 38 [ 602.1 ] 68 [ 602.1 602.1 602.1 ] 72 [ 602.1 602.1 ] 75 [ 602.1 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-591 0 obj
+590 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xÚ›"ÁÀÀÄÀÀÀwóû
endstream
endobj
-592 0 obj
+591 0 obj
<< /Filter /FlateDecode /Length 11571 >>
stream
xÚí| |UÖï­ºU½%étv¶î®î& ˜&Av"J  IL¡“î,’¤cºC@DÜ ""âÂ(.ƒ(ã‚{TÔ™qG™‡apFÒè'ƒ>Ÿ£Pýþ÷Vu6Pç›÷¾÷~ßï÷Òž>·nÝ{ösî©J„xr%¡¤ ¼*oܱÇ?ý3oÔµøÚFŽ{÷1B„‘„¤¤×­+¯8šEHê4̽PßÖÐrôÖÿ±Ÿ´ï°~cCóªú;ÞzêEBÒ¯%$éÚƀϯvTÜMÈ(îOjÄ„e†èÅu®G6¶„WÆ¿.Íŵ×Ï7ë| T%2Za×-¾•m’O2àú/¸VZ}-Zóòq}’W}[{ mJtÃZBæb¿tœÒûÂMD&D/ßA& †£Åô¤^U1Î`¦TŠ¥1D+ɪDPeRQ_ì'Q¢QCªš*l3¶Ÿ,#Â/ÿ‘h?  Ù‰DˆáÂìF’â1+ðyJ,|^2ü¶y “FË‘+„ׄCÂ'·Â?E§è Åbqž¸G|EüøøWñ3ñ¸ø5NgÒEÔG;èeô
@@ -2140,10 +2119,10 @@ R ¸kBXäæ±_"‘öPS°U—;~Â@Ž1~1ncÎÌ1c¼ÆüˆØõ|»$a= b‚Ö[á¬0\Hx …ù$¿Nchäbo
å ßÓëâi×ÂL¹ËOׯÛ+¯Wéºk—ÈëöÒuWJ×^“)_»„^[ ]“I¯VéU[é•Ø´V¥W
endstream
endobj
-590 0 obj
-<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 592 0 R /CIDSet 591 0 R >>
+589 0 obj
+<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 591 0 R /CIDSet 590 0 R >>
endobj
-593 0 obj
+592 0 obj
<< /Filter /FlateDecode /Length 477 >>
stream
xÚ“Ooâ0ÅïùÞ=¤8!h…"µ¡T¬D©
@@ -2154,22 +2133,22 @@ xÚ“Ooâ0ÅïùÞ=¤8!h…"µ¡T¬D©
Ÿ1|¦ðÃg:Ë0[7K»{»>w_öZ›Å»+èöj7ZIú¼¥jl”{Üõþ|–6Kï/õ?'ä
endstream
endobj
-408 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 594 0 R ] /ToUnicode 593 0 R >>
+411 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 593 0 R ] /ToUnicode 592 0 R >>
endobj
-594 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 590 0 R /W 589 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+593 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 589 0 R /W 588 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-595 0 obj
+594 0 obj
[ 3 [ 602.1 ] 6 [ 602.1 ] 11 [ 602.1 602.1 602.1 602.1 602.1 602.1 ] 18 [ 602.1 602.1 602.1 602.1 ] 29 [ 602.1 ] 31 [ 602.1 602.1 602.1 ] 68 [ 602.1 ] 70 [ 602.1 ] 72 [ 602.1 602.1 602.1 602.1 602.1 ] 78 [ 602.1 602.1 602.1 602.1 ] 83 [ 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] 171 [ 602.1 ] ]
endobj
-597 0 obj
+596 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xÚ›$¿‡õ
endstream
endobj
-598 0 obj
+597 0 obj
<< /Filter /FlateDecode /Length 12999 >>
stream
xÚí| \TUúÿ9÷Ü{ç †Áf.3Âø2á»Y¼‰Š"à[åËÀ B
@@ -2231,10 +2210,10 @@ ffäÏRò'(y³”)9yã½JöÌ‚Âì¢"%¿PÉ™Z›“±œ¼¬Üiãsò&*™X——_¬äæLÍ)Óâ|¾4Ä*'»Hc65»0k.32
•ÝnÏ”n/b·©lùvë-ˤ[UvË2¶ÌÁnVÙR+»Ie‹U¶HeõuaR}«o¤$ý±.ŒÕk#YmºX£²UV­²`U‘\Ϫ*JUE¬r [¨²©ì•U¤²òïÙüý¬Le•ùUVZâJUVBlR‰ƒùT6OesU6çZ‹4ÇÊfûÙõo±ëpq]»Ö€è™Ql†Ê¦«lZ¿>Ò´TV¬²"•ªìše¬@eùQ,OeSéPiªÊr÷³)ÙäœXiò(–“)åIJIÙ±Ò$•MÄÕD?›€« ûYv,ñ£XV¦]ÊŠdYBzºIÌ̈2í,³Q ¸ÊH·J,£‘ÂUzZ˜”neét9®ÒÂLRZKk¤éé~ñj•]®úžSÙ•ÙX•ÇøÙè+úJ£§°Q*94J©²SØð”¾Òð)lša*KÅÄT•]ÛWôe)}Y2zɱ,ÉÔ[JÚφz{IC£ØÐFAÛÖk³KÞ^Ì«‰»^28A¢²Á˜98 ÆJƒT6Pe•%F°„Þ™RB6ÁÜ*sEDH.•Å+C¥øeLÊœS˜;;T§²þ°m•õƒWúõa}UÖGe±*‹‡˜ ¬wôP©w&‹Ž²IÑCY”õ¼^Q,ë#Uf‡æöLfÃ6;³é¶‹°†I,B·5Ü,YØU·]8lnfá°Ý‹b˜‰…iØ%ZTf†&f•™z3£T&ƒµ¬2)Š1(Ǿg„±ŒB
endstream
endobj
-596 0 obj
-<< /Type /FontDescriptor /FontName /TNBLMB+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 598 0 R /CIDSet 597 0 R >>
+595 0 obj
+<< /Type /FontDescriptor /FontName /TNBLMB+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 597 0 R /CIDSet 596 0 R >>
endobj
-599 0 obj
+598 0 obj
<< /Filter /FlateDecode /Length 512 >>
stream
xÚ}“[kã0…ßý+´öÁ|oJ0ä
@@ -2242,22 +2221,22 @@ xÚ}“[kã0…ßý+´öÁ|oJ0ä
ñ3(M@)hÊ@˜DŠIĘDŠIÄðžÂ{ e)”%P–BYe)”%ðžÁ{·Ü&ЙAg’bTgP@Ye3Ðj’ã­»·lÄîù÷6V½ÖfÝepgw­–ô}_ÕØSîë.ÚpÝ-½®½/„87D
endstream
endobj
-407 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TNBLMB+DejaVuSansMono /DescendantFonts [ 600 0 R ] /ToUnicode 599 0 R >>
+410 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TNBLMB+DejaVuSansMono /DescendantFonts [ 599 0 R ] /ToUnicode 598 0 R >>
endobj
-600 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /TNBLMB+DejaVuSansMono /FontDescriptor 596 0 R /W 595 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+599 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /TNBLMB+DejaVuSansMono /FontDescriptor 595 0 R /W 594 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-601 0 obj
+600 0 obj
[ 68 [ 602.1 ] 70 [ 602.1 602.1 602.1 602.1 ] 76 [ 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] ]
endobj
-603 0 obj
+602 0 obj
<< /Filter /FlateDecode /Length 15 >>
stream
xÚk`€
endstream
endobj
-604 0 obj
+603 0 obj
<< /Filter /FlateDecode /Length 10706 >>
stream
xÚí{ xTÕ¹öÚ{í=3™I& ¹.3³g†d ¡( $@$7“pS&™I2dâÌ„-
@@ -2313,10 +2292,10 @@ L‹/ª´ø"àhéˆB¸_él÷ë
_Q ‡UzEíÀÛŽÍ4”CÛÛŽÈí*mk]#·¡m[¤Ö`®Üº†¶K6ÐõxX„‹ã¹´kZü´M³Ÿ6AR“Ò¨_¥*mP©o3]§ÒËýô²K3åËTzi&½¤ˆ®ž6F^MWeÓ•dŒ¼R¥+Šèr•Ö×Yäú4Zg¡µg˵{èÅ5iòÅÙ´&V«´ªÒ/Wí¡•~Z¡Òe*½¨<C¾h-Ï KÏÐ%gèâÍ´¬4C.ÛLK3è¢Zb¥ Šè…éô‚ùVù•ÎÿšEžo¥_³ÐysÇÊóöйç[ä¹céÜ-Òùz~±4ç¼yÎz”;/‡Îž•#Ï^FgÍÌ”gåЙ™´hFŽ\ä§3ðzF^˜Sœ-O/¥…9´
endstream
endobj
-602 0 obj
-<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 604 0 R /CIDSet 603 0 R >>
+601 0 obj
+<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 603 0 R /CIDSet 602 0 R >>
endobj
-605 0 obj
+604 0 obj
<< /Filter /FlateDecode /Length 434 >>
stream
xÚ…’Mo›@†ïû+¦KΰØÆ4‘…Tã8â+mxwìnevÑÿûîî˜DŠš Äü3¼3;“/ÏUôMš=Fók/Ø™Á
@@ -2324,22 +2303,22 @@ xÚ…’Mo›@†ïû+¦KΰØÆ4‘…Tã8â+mxwìnevÑÿûîî˜DŠš Äü3¼3;“/ÏUôMš=Fók/Ø™Á
wX´qû==mÙRl Á
endstream
endobj
-406 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 606 0 R ] /ToUnicode 605 0 R >>
+409 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 605 0 R ] /ToUnicode 604 0 R >>
endobj
-606 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 602 0 R /W 601 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+605 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 601 0 R /W 600 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-607 0 obj
+606 0 obj
[ 28 [ 603 ] 35 [ 544 ] ]
endobj
-609 0 obj
+608 0 obj
<< /Filter /FlateDecode /Length 13 >>
stream
xÚc``à
endstream
endobj
-610 0 obj
+609 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 748 >>
stream
xÚmRmHqÿß^¢òš½°¢Ýý͌޶‰QQ¢1«tQQ~¸¹ÛvîÜÙÝ­µJIËÔÝæœQ,S|ÉXïöb®È¾ô‚EDз>ùñxBÝŠ¾DÏÏûÃóÂÀ0lÕ!GMMÝÍÎÚ:¾™m³:$šcs©Z¥PY+ã¤R
@@ -2349,10 +2328,10 @@ xÚmRmHqÿß^¢òš½°¢Ýý͌޶‰QQ¢1«tQQ~¸¹ÛvîÜÙÝ­µJIËÔÝæœQ,S|ÉXïöb®È¾ô‚EDз>ùñ
BEæt›|.ë:ÉC­§öû¾ëæà œHQïÑ 19 '’–ÑÓÏ4µ³Ý1rRð ø Õ¤®P Õõp¦îóÛé©‘aêhz*2Aܺ>01J]{xåu¯EÝŽÊÌ´ºã¥ðj¿‡»p†hž¼x<Žt™—Ô«ÛÙ{ˆ™ty{w¬«ç<eR&/‡<Y ïQ·¶ßºežu¾ÙynŠJä”1Æ“‰þ¤eàtìlŒTA‡±-Ö;aiMËé¬|¾£Sîéj%7ͯ4vøe©ÍRøÎý å£å¨“»&Í ¼jŽ‘•¾#ǃÝ<ñnú>²¤.QÙ›ÓÏžS# G)SºK_¯!lÍ¡ðÇòÈ°Rq ‰ñ¡ádµ›³ã‹d</³øc^&ï÷i|è2ŽOö'RñD¢/™ÊàK~ô}.
endstream
endobj
-608 0 obj
-<< /Type /FontDescriptor /FontName /WIKKRQ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 610 0 R /CIDSet 609 0 R >>
+607 0 obj
+<< /Type /FontDescriptor /FontName /WIKKRQ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 609 0 R /CIDSet 608 0 R >>
endobj
-611 0 obj
+610 0 obj
<< /Filter /FlateDecode /Length 365 >>
stream
xÚ}R]kƒ0}ϯ¸{(´ÖhaƒR„Í® ]?f˶W›\»@M$Ƈþû%±¶0º ŠÇsÎõÜ£ƒ‡í.xæê€ÁdL!ÇFµša®Šš sÅÚ
@@ -2360,37 +2339,37 @@ xÚ}R]kƒ0}ϯ¸{(´ÖhaƒR„Í® ]?f˶W›\»@M$Ƈþû%±¶0º ŠÇsÎõÜ£ƒ‡í.xæê€ÁdL!ÇFµša®Šš sÅ
úÛ¸gØw¡Ýœ(µs(}Œ‡âI‡â¤3y•›ïŠºnÃZ­í*¾MØE¯…תv.ú/Õÿ2mä!ƒß
endstream
endobj
-398 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WIKKRQ+LMRoman7-Italic /DescendantFonts [ 612 0 R ] /ToUnicode 611 0 R >>
+389 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WIKKRQ+LMRoman7-Italic /DescendantFonts [ 611 0 R ] /ToUnicode 610 0 R >>
endobj
-612 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WIKKRQ+LMRoman7-Italic /FontDescriptor 608 0 R /W 607 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+611 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /WIKKRQ+LMRoman7-Italic /FontDescriptor 607 0 R /W 606 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-613 0 obj
+612 0 obj
[607.3 ]
endobj
-614 0 obj
+613 0 obj
[758.1 ]
endobj
-615 0 obj
+614 0 obj
[892.9 ]
endobj
-616 0 obj
+615 0 obj
[446.4 446.4 0 877 0 0 0 0 0 569.4 569.4 ]
endobj
-617 0 obj
+616 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 1000 ]
endobj
-618 0 obj
+617 0 obj
[ 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-620 0 obj
+619 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xÚc`
endstream
endobj
-621 0 obj
+620 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2073 >>
stream
xÚV TWžÌˆQ2ÆãîUf–UʪŠÖg×E]¬+ѵêV I$d „Gâ#Ês0E”·[Ö×z\µÕֳǰõÔQQëi»ÕöØzZÝíY︷gÏΊ¤Ýöôžyþ{ïÿ}ÿwÿ{qL&ÃpŸ‘øZÊê ê9ëÖ¯gMlš1Ãd}9.fƒVW`Ì0K)Â/„HN!LÇ„¸$ÐÁ#«‘ãŸwd²ò ´TÌËeßä#þy×jˆ†Ÿ™$=?
@@ -2411,26 +2390,26 @@ _õ`4ñÒ€½p A]|Ø|ñüp´¡dínZƒDÑrï|Ïÿ§xâÕócê øãnWsÖ÷´!Eþ´AõüTuøë’ÀA£†{—}…d
‰R`#™w_î#‡Ðsµ§º’û9§YXbŽÐª³«ìÕ!Üúý‡#¨¬£ÖÞjÔ9&ÏVœ_Agìëʺž¼§5ˆûo©°•è%)lòHÁ•Ž¤“ Ï“ØélyM±»AXÙ
endstream
endobj
-619 0 obj
-<< /Type /FontDescriptor /FontName /HKOFRT+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 621 0 R /CIDSet 620 0 R >>
+618 0 obj
+<< /Type /FontDescriptor /FontName /HKOFRT+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 620 0 R /CIDSet 619 0 R >>
endobj
-622 0 obj
+621 0 obj
<< /Filter /FlateDecode /Length 449 >>
stream
xÚ“Akã0…ïþÚC =¸–ÆnK0´IÍšmš‡e¯Ž4I¶ddù¿’Æn¡,aù<ožžFÊìÇ{>qu„pqKÉz5ház[wÁl¶QlhAš7
ûÉü[b×ñ„hÓÏ8›Jì£ÖÎ(y¶F”¦‹ÜStçi‘ -‘2¤iTÞ{º•H÷Hk¤q… ÒéÅÓ2F*<¥ÔS– ¡g†É¬µ'L–¢K†É¬™£%ºX‰¯a²,EzÈq~ßndî|´¶gä/‹?7}!áó>uªs]þñqú8ÚÁ_ÒÏ"
endstream
endobj
-300 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HKOFRT+LMMonoSlant10-Regular /DescendantFonts [ 623 0 R ] /ToUnicode 622 0 R >>
+299 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HKOFRT+LMMonoSlant10-Regular /DescendantFonts [ 622 0 R ] /ToUnicode 621 0 R >>
endobj
-623 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HKOFRT+LMMonoSlant10-Regular /FontDescriptor 619 0 R /W 618 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+622 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HKOFRT+LMMonoSlant10-Regular /FontDescriptor 618 0 R /W 617 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-624 0 obj
+623 0 obj
[ 27 [ 525 525 ] 32 [ 525 ] 34 [ 525 525 525 ] 38 [ 525 525 525 525 525 525 525 525 525 525 ] 49 [ 525 525 ] 52 [ 525 525 525 525 525 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 525 ] 66 [ 525 525 525 ] 70 [ 525 525 525 525 525 525 525 525 ] 79 [ 525 525 525 525 525 525 525 525 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 ] 114 [ 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] ]
endobj
-626 0 obj
+625 0 obj
<< /Filter /FlateDecode /Length 34 >>
stream
xÚc``Øý?ÿêî¿ÿ¯}ÿ¿ë
@@ -2438,7 +2417,7 @@ xÚc``Øý?ÿêî¿ÿ¯}ÿ¿ë
endstream
endobj
-627 0 obj
+626 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6614 >>
stream
xÚ½zt×ÖîyFŒ1CÑ3
@@ -2476,10 +2455,10 @@ y€ªDöi:Ъä¡:Ǥ4]R¤­áRó¤ ’ÖB6Ÿ¿
¸­™æ4sld¼¯¬Àh4™²Œå¦<'§ŽZSfv–©Ì˜ßÍNCøšá¿ÑÿVG¿
endstream
endobj
-625 0 obj
-<< /Type /FontDescriptor /FontName /XMTOPM+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 627 0 R /CIDSet 626 0 R >>
+624 0 obj
+<< /Type /FontDescriptor /FontName /XMTOPM+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 626 0 R /CIDSet 625 0 R >>
endobj
-628 0 obj
+627 0 obj
<< /Filter /FlateDecode /Length 698 >>
stream
xÚ}•Koâ0…÷ùžE¥v‘’Ä/Z!$ABJUШ[H  œ( þýØ>—V1S©U?|í{α{ûðã}OÊzobþœ°ÓÕ—¶0ñlµk¢‡‡y]\ÎÆöoÆ”¦¼­v¯ì½­‹éÙãl9_ÚªrÅK[œ.¥¹UÝ/ššce¿K|ö¸5Ÿñçj»~_Å?W«ÚÖ/ñ‡9^N»6Nü¦mÕŸ\ñë˜[d÷Y8ä—i»ª¶¯,}N’Ä}ÛrVŸ½½.D6¸‰>T¶lI'Û{ÕQš±²*z¢ð³8»œüæ͵ëÍyiu4±ë\u}{ šŸ¢Áº-M[Ù#{¼/Ñ•l.Ms2^K¢ñ˜•æàNvù¼íΆ ¼÷eéV«þú¾·l¯aYàr‹º4]³+L»³G\ɘîk[þµž`×þ
@@ -2487,22 +2466,22 @@ xÚ}•Koâ0…÷ùžE¥v‘’Ä/Z!$ABJUШ[H  œ( þýØ>—V1S©U?|í{α{ûðã}OÊzobþœ°ÓÕ—¶0ñl
tj"$Ï©TsÒ‚ä%Ü*xÐDð ©îAB‹&GDän5%t5%OD›ÈZCµÆËÒô^àhÊ<T¦)úåá””n:Ïǘ.ašøAä'ê×Ø+.mëf^»a²ù™VYó5™›ºñ»Âwé·ÿ-žÖ‹èY°;
endstream
endobj
-292 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMTOPM+LMMono9-Regular /DescendantFonts [ 629 0 R ] /ToUnicode 628 0 R >>
+291 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XMTOPM+LMMono9-Regular /DescendantFonts [ 628 0 R ] /ToUnicode 627 0 R >>
endobj
-629 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMTOPM+LMMono9-Regular /FontDescriptor 625 0 R /W 624 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+628 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XMTOPM+LMMono9-Regular /FontDescriptor 624 0 R /W 623 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-630 0 obj
+629 0 obj
[ 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 72 [ 513 ] 77 [ 613 ] 81 [ 636 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 112 [ 613 ] 116 [ 613 ] ]
endobj
-632 0 obj
+631 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc````Td`hñ`XÀÐ
endstream
endobj
-633 0 obj
+632 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1806 >>
stream
xÚ}U}Pçßå¸Û$¬g“;Ø]‰ebŽ’˜ÔÖ/D b4aR‰‡·|Èqw섯Óûð¸½;îdîäøO‰L¬ÅViꘙª¥ÔÖi›f’tš¦ZÿHÞ%/ýØãh;I3ywçÙwžçýý~ÏǼ(‹ (šºÿµ’¢²W3ŠöÔשuyjƒñ;ٙ骭š‰8äóëø4VFð)ŸŠòD OŠx*¦ËD²Ø%¼š"þà‹yq*‚ c«#vú)'Kþ°¿ÈÖG6nɾHcIEÒ'¨ÅÑgPMÿ&蜬ììóô†f¦¦ªÚDådg¿°1b7S;³¨½êcµúFcm ¥Öi¨½YÔ¾,ªXß(ìÖPÏéuT]­ÖVRúJª”~j0ÒŒ‘ªbô ã†,ª´ºÆH5ê™ZJø2´–Vi Õ ÓÐ eª¦©=‡JJ©|½ÎDÕ£uFšÊ̤(#MSÕ&“á{*•©¡*KÏT©*£Ju2ª"q™ùû‹K3‹
@@ -2517,33 +2496,33 @@ $Áçà“›`<Hž2ˆMA9,ƒ1wí‚1·@™Ðl’ë3÷€¸ î'¢@Ÿ­:)¤‰[“Âwñqò¹í÷!FÀ _í7 ^€
Èdœð\Ðëõvuy½²„>cŠ-
endstream
endobj
-631 0 obj
-<< /Type /FontDescriptor /FontName /OWSLYP+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 633 0 R /CIDSet 632 0 R >>
+630 0 obj
+<< /Type /FontDescriptor /FontName /OWSLYP+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 632 0 R /CIDSet 631 0 R >>
endobj
-634 0 obj
+633 0 obj
<< /Filter /FlateDecode /Length 422 >>
stream
xÚ’Ëjƒ@†÷ó§‹@º°Ž&¥¡5 mbèeifNÒ8#£.òö‹¦PJ¨ øyþsûÑÕº¸Úa0¹¡°ÁFuša½”5ŠuÊö‘#¢Í=¬µb¶0ÎòE.E{mĹdÇŽã ú[ôˆ!$¶Œ·ø¬Þ‹çÏuðü²QU)³²n"lðÐKP›ºíѤüC F—$à
¾¡n„’÷ÝPJ͇'É3UÙ…öCC8¬±’ë~rØÙ=H¬íÉ=Yeœ³ÉÅ©i±Êå^‘ùBÓY4­>¹ù¯I¸Òµ_Ô‹®®h‡JÒ8îM}ãÛkY!„Öœ›¨hOmùIÜžj„ØqäGgŠcS— u)HæÆšÂ|i®” ä¿âÔgíö`x5†ô!öUj[(ž˜B”ÎâÔÑÒÓÔÑ$ötë)ñ4s4½ó”yZxzrtyZzš:J¨£õäûÍ|‡dâ(éc¾CÒçÝ¥~7±]ÖþÁ³Á¬ÓÚ¸ë~³sÏú&$žOB­j›ånw„†Ómiµ$ß±I
endstream
endobj
-285 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OWSLYP+LMRomanCaps10-Regular /DescendantFonts [ 635 0 R ] /ToUnicode 634 0 R >>
+280 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OWSLYP+LMRomanCaps10-Regular /DescendantFonts [ 634 0 R ] /ToUnicode 633 0 R >>
endobj
-635 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OWSLYP+LMRomanCaps10-Regular /FontDescriptor 631 0 R /W 630 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+634 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OWSLYP+LMRomanCaps10-Regular /FontDescriptor 630 0 R /W 629 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-636 0 obj
+635 0 obj
[ 28 [ 500 ] 43 [ 444 ] 50 [ 444 ] 52 [ 778 ] 72 [ 278 ] 96 [ 392 ] 109 [ 556 ] 112 [ 528 ] 251 [ 444 ] ]
endobj
-638 0 obj
+637 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xÚc``à`Ð``h

endstream
endobj
-639 0 obj
+638 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1371 >>
stream
xÚµTmLSg¾-ÜZµvÒ»ñEÞ«C"J ¢ÄÈ¢AP"ÔÍáG¡¨ôúÁ‡+RÊ•Û–
@@ -2555,10 +2534,10 @@ xÚµTmLSg¾-ÜZµvÒ»ñEÞ«C"J ¢ÄÈ¢AP"ÔÍáG¡¨ôúÁ‡+RÊ•Û–
…õ»á1)çD(.øcà𲞚F(]èG‘“H9){¸ ømÅ‚‚¸·0€~‘¸k˜:°ø\TWÃTÓ°šîgz
endstream
endobj
-637 0 obj
-<< /Type /FontDescriptor /FontName /UHLNIO+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 639 0 R /CIDSet 638 0 R >>
+636 0 obj
+<< /Type /FontDescriptor /FontName /UHLNIO+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 638 0 R /CIDSet 637 0 R >>
endobj
-640 0 obj
+639 0 obj
<< /Filter /FlateDecode /Length 412 >>
stream
xÚ’]KÃ0†ïó+ŽƒyQ›v:?ít“uŠ·]r6mRÒôbÿÞ|¬
@@ -2566,70 +2545,71 @@ xÚ’]KÃ0†ïó+ŽƒyQ›v:?ít“uŠ·]r6mRÒôbÿÞ|¬
\0s$ÿe5Ï%—‡Î`SÈ"³Ķ²èŒ>ø ÎI¼Òµ{ŸìÔ*˾mkt]%Yw¶€õnY5±3¤à6*Ìá´3?™›C‹zNBóLqìÚŠ¡®äÉÌB3˜-ì“”üWœ†¬í.  ËÛ!Â>+íöIr»¥Ó$s”>šxš¤®]zšÌ=]Þ„XîiJ=]§æBÞõ16õ´o³Ð–ïÃMàæÛ6Ökm=ó§ç-qf‰ßܪÖeù×ߌáÞ:Z-ÈÄgÿî
endstream
endobj
-269 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UHLNIO+LMRomanSlant10-Regular /DescendantFonts [ 641 0 R ] /ToUnicode 640 0 R >>
+265 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /UHLNIO+LMRomanSlant10-Regular /DescendantFonts [ 640 0 R ] /ToUnicode 639 0 R >>
endobj
-641 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UHLNIO+LMRomanSlant10-Regular /FontDescriptor 637 0 R /W 636 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+640 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /UHLNIO+LMRomanSlant10-Regular /FontDescriptor 636 0 R /W 635 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-642 0 obj
-[ 27 [ 743 511 ] 35 [ 460 ] 43 [ 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 55 [ 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 72 [ 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 511 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 105 [ 332 ] 107 [ 511 ] 109 [ 537 ] 111 [ 743 460 ] 116 [ 464 ] 118 [ 486 ] 125 [ 562 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 502 [ 307 ] ]
+641 0 obj
+[ 27 [ 743 511 ] 35 [ 460 ] 43 [ 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 55 [ 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 72 [ 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 ] 83 [ 678 511 ] 91 [ 460 ] 95 [ 729 422 562 409 ] 105 [ 332 511 511 ] 109 [ 537 ] 111 [ 743 460 ] 116 [ 464 ] 118 [ 486 ] 125 [ 562 ] 168 [ 511 ] 251 [ 460 ] 257 [ 460 ] 277 [ 460 ] 502 [ 307 ] ]
endobj
-644 0 obj
+643 0 obj
<< /Filter /FlateDecode /Length 38 >>
stream
-xÚc``N\±¥BðAh 40À€€ nÀ
+xÚc``N\±%BðAi 40À€€ nÀ
endstream
endobj
-645 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4771 >>
-stream
-xÚÅY XSgº>OD¥Ø‚iåœzN\ªØV´­ÕVë´.TÅ*U°¸]d $ìù³‡$ìÙ²‰€ bk­ëTíbgô¶.3ít–ÎÜi§óæpgî èèôiç:sï<“<$á$'ç[Þ÷ýßï ™<a±X³6íLX·kË3olÙžŸ—*xnéâM…©¹üôà{ñÔj.#¨'j6‹"&QdÅLÜn
-IëýKØ$zAXÈá°ÉcÉôÀ“èþ?¢³„åŸ|üÓc›Ë¼ÂBÃæ|ö: a!³ÙÈo1ÊšÎzô/ÿ|ÌÒ¥ËÖå ‹Eü¬ìBîóK—¾ðlðñeîÚn\jzN¾¤ ‡ÏMdpãb¸[b¸[ó%ÌQ>7:_ÀMãe§æfró3¹‰¼Ü¢ž¨€›%Ê/,Šá&fó ¸’|Q—yñry©¼ n‘ ƒ'âfó¸v$$r_Ïrßà§ó<îâÅ\nÇÍ.,®\²¤°(+&_”µ$“ùLÁ’܉, ž·øõø­‰‹ßØ´.vkBlL¡´›™/âfð
-Sù¹1ßÍñ¯ÿoÍå¥æ®ÉÈOãmÊà
-ù…ÅsÑ'‘yÈ3H ²yyY¬B^E^CÖ"ë‘H²Ù‚lC¶# H"²Ù‡¤ ©HÂGr<$"…ˆ‘#mÍ´’ÃúcS|æ¶YlÃd¤’õk`Òã“\!±“çM¶¡O¡ƒìlvÔ§§t‡Î ýÃÔ/¦y§ýbúžé¿ó?òzøœðúy3î<ºç±YD¬ŒÌšùÈÌÛœæÇ_üÚÅO E… pw€Ú+a½7úHÈèÆZN…È’Œîf‘2ÊFýf³M†Ë Z•Ž¤o}šòjŠ!Û¥2›‹f´”y‰¦6[s ÃØŽ;*@W4Rgɲ°r‡¯¼†øF PÊöÒ+QI2E¥R¥؈žÃ¶Þ®nã!Üéµ$½ê94 ·Âh¸ÊO-ö³¾ºBùá<ŽG´J³¹HG$È¥oðñ ¥Òª]­äeØ„Ú+Õ5”8Ô9Z¾ÞL Hsªsp:„žF?K/X~4öZ÷`ÉÃäno¸ ïih
-T‘µ½¾³
-So…PÙßp¯Æ`6«5Äâ5ÏJð¢¡3§ZþÐ|œ¼Ô=Ü5„{‡LiUä.H˜Ì+;ØÒèï=‘Ò³™~”æÐséÑïmúœùÙ愈ðÛ 0Ê
-°F7~2ZMÅq༕¿§9}‰-S1½sƒº@ (1“ANÒøØa”¯Ñi6àão–ƒjžeÃm0òaùR/çM¿|!±}÷úÔUø|v.°¹œ6ÅIB‚F»Ê]–Nü7ìÿ¼žL?A†ß/5Â4¿ã›_ål$á<êòC~­@¥Â–Ô‡ÃÅF1'W³uÕ÷àÂ}Ðœ_Kzd3š &^Îèlàv
-˚ؖG¿€Óá¤~¶¢wØ—]2¡Ö\ªÀ¤1bJpzmÖZ;ñÞM̧0ŠuÄz©´h%¾’}šÑNw°hð16DšòÖ M
-ci֛˘ïð{¥Å^k%ÂX´Ù¦b|,‹]¢Å
-¨?4e
-¯p¸¼N’š:ÊbÓsÆ.<¨j^`#{úl½½ýÆÜôápÑ„¹ rgô³‡áÎÍmõ{cwíÛ—G\Ñ$Õ%ãñ»÷ÿŸ<¡å·§àY’Â<)MWlØØ,~qµ¶îD
-Àg'pÏ8X×]»;%‹/ Î(“}¢ÿµÉ: Óæ“4{,Y“«1f˜£Ê+¯uè]dK›­µãP²LîLå;Óãt5Û«Én¸
-ýA×ü8"³¿ f|êû~x\‚Õ(DØGFdëäÆ2y©ÚkK±Èþ5çr.ÜlÿÖM<Kert†˜;Aޮ ø6sŽ«ÝmuY£¬®P‡_ü
-,fê<bøùõ*5‹+&§fpFâ¼û_ÏÚU$#N©2êöÿSÒÐîjs[‰K°
-µY† ç6îhòz2[eÌa<@¹´¹6PÙÇWQ`ti+ î¹ ÷1ï‚eœ6mÿBPÚžm•:rËõÖP~UIG?öéO~~ë—­Ö0k E„YŽcñÚ,5vb¦£»Åiǀ٣֛ͪ2"9}?c½E‚3`d1S’üo’N£_We8!Ÿ5Rê6Ö‡zåÞ¢,léê…Ï¿öZ÷7-6/aq¢Þ2 Sš‚ú™DóP“Öl4b:‡Áé²X=nÂëkîðT„îè¹XÊ >†@ F0µ¬Pùß½c.3XŽ9 #Þ ¡fÃç8wVצ•ùÎ,÷
-qa~IòÖ3YÀ§{aøQÆ·|ΨiT
-cî|qr08eõÛ«éè—éä8‰3eèúÖ[[Ö¥Ðéó áTÚJL9g«Ríh½t ¾ Ãû _¢ŸZ¶"úM"Y˜Zš»Bµ~£>«•1²­îÚîv¼£URÒD7ŠãpÊQ¸ÖË´jÖÝ5hɹªÓ!Ô™¿»ñ!ìG­N‹Ã†y5U’<­@c"ÖÒCúb`*SDåKyûðä²ÁÎsŸ7]&Ý ŽÊ:lx %&›ŽÖÝ·§w˯‚öÔx @-”gb¬I–¼}êP{{#±£v@W÷7cjøÇfñèò
+644 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4832 >>
+stream
+xÚÅY XSgº>OD¥ØBÓÊ9ã9©ZŶ¢m­Z¯µJU¬¢¢Åm-@’B!ûú'! IØ!²dqEm-uª]tFo«v›¶ÓÎÜé2ÿaw枀ŽNŸv®3÷Î3É“íœü9ßò¾ß÷~XÈøñ‹Åšº~åºÍñIO¿º~³0?Mðìü¹k%iyüŒÐ¹Dê j:ˆ ¨Ÿ!Ô4EŒ£È0Š;ž¸Ý–Þû—ˆqô¬ˆ°ãGR蟡{þ4ŒNCV`JèùOP b:ó[13tà›ˆ'‘ðq ™ŠLC¾BFX(k2ë៼üsqóç/X)‰ùÙ9îsóç?ÿLèy1÷å8nBZF®PVËç¦ 2¹ qÜõqÜ Bs”Ï
+¸é¼œ´¼,®0‹»…·[XÀp³ÅÂBQÁœ8î–~W&çr™W1/—VÀËä
+2yb®$‡Ç]½5i ÷¡@Â}•ŸÁð¸sçr¹<7G"-™7OR˜'gÏËb¾S0/oìKóBëæ¾’¸aËÜW×®Œß'‘K¸YB17“'IãçÄýÐÇ¿~Þ ç§å­È¦óÖfò¾¤an8ò3dò4‡ÌCžEžC!K‘åÈKÈËÈ*d ’€¬CÖ#›$d ²Ù¤"iH:ÂGö ¹H>"DDˆ‘"J¤ ¡™TrX c‚ÏÜæ sBiT²žd Œ{lœ;,~üŒñôIô;‡Ý0á© Ýá3¿›øÙ$ߤßL–EÌxç¡ý‘OGOLùÍÃöGùC”$ê‹èÊG—s¢9ד?þxÇã_ŽÄD¾‚pGÚ%c½5üPØðšZN…(’Ížf ‘:ÌFV«C+Lzµ¤o|º<Õ”c‰Q[­E
+PçÓ4زíA¬Üé/¯!Þ…Q(”³}ôTV JU«€\å¢ç€£·«Û¼wùA-I¯‚FÍcà ð©Ps¬¯/…Q8ƒãÕ½Êj-4IJù«||/h©tƒjw+y 6¡e•ÀîÄŠš\=ßh%ä¹Õ¹8FO¢Ÿ¡g-<µûPÃñä_´ ïih
+V‘µ½þ3
+ä˜Ùj²ˆÈr†@g‚·ƒpQunxyØðJ8>03‘h šØ”“@?Ó‘÷¹~¶¢±/¹"½µD' EgÆT^àò9ìµeÄPtÇ1¿
+˜JYj VÉå…Kð%ì³ÐŠvzBAƒ°!Ò”¿Jd)5V£UËü†”UÚÊjíÄ>6; @Šd³‹5 ¨Ô ꇀN €ÎTBÒØHçG°ëm¶*7ù ¢6»ƒ¹þØD¸”Aû24öþ(ÚÔïôõz»[È>vûÛŽºcäõpÑÉê[7ž1‹ŽöØÂ/Çð•
+=œ'èÅ`!eþqxñûD|צÓu7(yÎýuC€%¾ ÏÝ £¶ GsÒ÷¥ÏÓñõ„”‡® !QÆd¸Š<Ç~yd¢j½&Ý áëJ“³qÜQ¥&Û•õX È«‹e9)ÒžoûaV·›a+~À®ñ‚Z¦Î“ËØp!ÚãñêÆ= E™oTÈ°ÂZMuSS}ÁD€1 ® PÓC„cP9éUdQ hY°—•D'0mJQk*N§'бô ®¾zb ßï'¥‹TÛ R!?fWF(ÁKó€ODÖ{ü 5X…¶noQž23£§èæw×~y­ŽPÀd¦&mX¶ßj¹æ;Ö'6%_o:t¸?S¾HGš•è}$¹uºöì=š”K‰‰éDs6áRkUe“·ÙÓHÖŸê‡ã‡°¶v¬ÉÉÉÏ#Þƒ‡6tìÈG¨ÕbUL]^R×PQãsp…3àjpbÊ»möÚŽðŽúóWðCöéúÝôdeYÊ7k¥ØîÖìcŸï‡sœL/ÀÄÓ¬ÛÐo»Ë(ÃüZ  èd¶ÌJM¤Å`”±R¨%àvø!DŒºúý÷QðÑÓG߈þ³ü~W:ÑÓ›pÒÖÒ\ÑYÑC^€ËQo›ÝS‡½Ákʚ˧ç5^ରÙ+ˈÎòæχpŸÏ()P ôr2ÿ…¬XTÉ3©eXfcúÉ/:áSeD4·…Êá4”òssór «¥mÁb ›ÔïC¦äÜ„9gS
+¶p>§&1‘,«®ÄŽæ$žFÏÖ^ت]Äù¦çNâMöÂ"…YnROpPƒ5~èeÜX ¼Ed—ÏÖ F! 礜PvxùêÕ:ƈÇýˆ#ϪÃœƒ¬/΄ÁÎ;0€ÑLèÅh|±<MøÏUGú‘3j5e%ØkÝYÇzë[š*ˆš®Ê ,ÊǺÁ/ÿôbØð Fèlð”à)«" Nõ¢ç<ÞP~‡Qô£ìB3(R“ôç#ç’¨!4`±€œŽù±öñèˆ_™ÄS¥Xbtjk‘Öev“íûÁŽ.spTøõ6¹Ùni®ÂÀUVMÀªµ±ÏŽ|ƒÛ¾
+¯pº}.’š8ÌbÓOŒœ¿¿ªù€ƒìésôöö›{pwHgDÂ9câb8:Äá„;77ÕïŠß¾{w>qY—\—‚'îØó >y\ÏoOųe’|)Ï(Ý
+z%çî5Üv§ÍEÀiÔÀݲ£³›ÕÙ9BѦÚÛµóo¤WOsK+)[f²Õ©VÓ:kx)ìÑÐÑåèìì6wŒz@®€ƒÿ€;S`’}*
+â”:³nÏ?EÓvw›ÇN\„U¨ÃvrnãÎV ¬'sÔæ\¦—Ë›kƒ•}L) ÏoeÁ—àn&ñ]PËiÓ÷ïí ÄA•ã™V¹3¯ÜhçWwôcüê“[_´®^±×ª7V%²Åç°Õ”'aj+³¹Ê0`õjŒV«ZK¤$¡og®²ÉpŒ,æ1!9ðÚˆt™†*ÓqåÔ“%sMQ¸Oé+ÌÆæ/›ýÜK/u»ÏÙâð6êӃʪeÉ4µè­f3fpš\n›Ýë!|þæoEøÖž % ê£`Ä`Ë
+uàÍ0îÒ ƒå¸Ó0êÍ0j|–óѲÚôrBèÊö ` —n´ôh2}D®I'Ò`jWqcM³àHzßZzbúÓÉÿqQÙj ik¶b¹¢¥3 79O(ˆNp`u¥R‰°8eÃPö;ð©^y„ÑŸ2•-&“e û˜NÝn€µHGì,Êxi3.MÕc£íûp½Å®ñ1$f„¹”Ýcï›uÅ)ãr&ý<º]|WÀß`¯¤0ܤPbÛ;3Nþ׉тZ€ïÏ1Š1w¶g8råÝÀ™èb5%»9u¦÷–wßv }v »•p|=yÖô…9u‚žž#]ƒuê Ê`4Ì6‹Ã@
+2C]íõϾøªçXÑJ…†ÞH/&$ìè!¤X ¤¨![ÙuC–%EÚØäD’/ü…8ß¾½ý} 9`ªè©ÂªÕÕ’m–Ä¢ÕÇo1I‰úF0V^q ?
+‘®Ì\³fzʤ';³<Wk-V 9xû½þ`m8Œûè³sƒÁ Ë^_FÇ.¦Sd®ÔÃ׈ÞZmWiÈ
+wxÄøì­ôã’»ºßIÞn9Ùw
+*êw§ƒ©è¯¨çÍœ¯)µ¹ì?@ÎQT ÏHÜøÃÌ‘`cEA/æ­Ø½ß©ìu›Ým#ƒNK5Ö ðÑNU¦!)¹ŸÿÆ·Ÿ}ó»&2’;:¯¿7ZÔfÜhØ??sòÖ=‘ùãø¿ß yá˜OŠ ZÇ®ýým}Åy‰·5‹›ÈÝZ1ð@kmïUzÓá+2é'DDÑ\4á^Å;Ç~…ÞCÏF÷êK_ËÆÁ^PZKüíì¿ë¼ëÓCp|²•8ßFá®ûªdhÞeq‡!£à¼)…I²¨¯/EŸý÷ï?FÏ?y»Ãf7zWÁéSË&WI5EZRWìÒº ¿§§LÕ9íÀ»+Ê=eä}{6cŽŒmÜDö¯Ú¹‰žú1<Ç©UxUJN«%™>Õh€ÅŒéʵn‡QCü9œ‚–»|å5÷o*ݱíñ•i×`<g.œi.Ó£)†^BÏTk¼J¿'ÆþîëX®¦Rïù7LÏ´µ,§¦HáÖïY°¢a̸;™Ó`<˜š!ÎäîÓ4ÔÔ–{½„:‘·jíÖðR¬&Ììлë˜Ii2œHD†þz˜Â#fMCäÅÐ_<¢
+ÔJ,°WØD–¼yAÄäÀ¤Ó“F¢1÷¾š2WDDo óÞm¯´9먆ˆ‡(Ï£ÃÏrþ®¿‹
endstream
endobj
-643 0 obj
-<< /Type /FontDescriptor /FontName /IXSCYM+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 645 0 R /CIDSet 644 0 R >>
+642 0 obj
+<< /Type /FontDescriptor /FontName /MCKRES+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 644 0 R /CIDSet 643 0 R >>
endobj
-646 0 obj
-<< /Filter /FlateDecode /Length 541 >>
+645 0 obj
+<< /Filter /FlateDecode /Length 542 >>
stream
-xÚ}”]‹â0…ïû+²‚sÑ1im;Rpj …T–ÙËšD·`ÓÒÖ ÿý&9Ña]AñéûurxÓÉ­¿í^úá#%9´çžK?{­:o2Y·üÜH5¾I)¤¸F‡gòÑ·|+G2ÍÊu©êñA'—ŠŸÎB^³þô"µúJ1sÈt'?ýòs›ý~õ¾nÚ¦RŒúåXjîSSµ«Ç“Îþ"ÑQr'Jl›_²êV=öH)Õr%²¶1'¼™SIfW݇Z‰ÞI%{#Üc5Ù_Þh«Lñö2Œ²)Õ¡õ–K2Ûèà0ö«úÁ›½÷Böµ:’é:g{4zõÒ”yЭµGoU#ÉÌ_èh=^îùðU³»t’–óVÈ¡«¸ì+u”ÞR›@S²,ô'õ¤ßâUûP'\ÿÎo!þ§êM#ö¢Q:g©¥ÌR
-BP
-Ö ×ešƒV 'PZaº«s­A¹¥:ã„ !Îáìa^â=— Õ\Š¡:q„ <‹1!q´
+xÚ}”]¢0…ïùÝ 炱qbH„„ì:3Q³Ù[l«K"…
+b(@ÌQŠA®gr]^,Í©¥` r] 9hze ¦»:7ÁÑ”[Š 3.@8mDA˜8B—¾DÐÁ—:GèÁ¥ªG \Š¡3t1L]èLàYìæÁ³ÄÍsätÂ3ýÐ\JÜiã»o+8•ãTfæ6Æ(”çÖSÆ"íË
+Ó7 l‘b›ìö˜Å3wè¾çüÒ÷zÉíE³›lv¸Vò~»¶3Uök/ñí…bè£ðþ
endstream
endobj
-259 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IXSCYM+LMRoman10-Italic /DescendantFonts [ 647 0 R ] /ToUnicode 646 0 R >>
+255 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MCKRES+LMRoman10-Italic /DescendantFonts [ 646 0 R ] /ToUnicode 645 0 R >>
endobj
-647 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IXSCYM+LMRoman10-Italic /FontDescriptor 643 0 R /W 642 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+646 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MCKRES+LMRoman10-Italic /FontDescriptor 642 0 R /W 641 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-648 0 obj
+647 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 575 ] 42 [ 831 511 ] 45 [ 319 882 639 ] 49 [ 756 527 575 ] 54 [ 724 351 575 575 904 575 ] 63 [ 639 383 436 319 ] 71 [ 692 319 ] 74 [ 1092 958 900 639 575 ] 81 [ 575 575 786 639 ] 88 [ 319 ] 91 [ 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 121 [ 575 671 ] 125 [ 639 ] 168 [ 559 ] 251 [ 527 ] 319 [ 639 639 ] 499 [ 571 571 ] 502 [ 319 ] 589 [ 639 ] ]
endobj
-650 0 obj
+649 0 obj
<< /Filter /FlateDecode /Length 41 >>
stream
xÚc``°6/þøp_ÅÄ7~¥0€@ @iF„2B0Y
endstream
endobj
-651 0 obj
+650 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6693 >>
stream
xÚµZ XǶîfzT¥Ôií7„¸Äh4"®qWQA@A”}aXf¦†aßAAQZÜ·¸F“è‹ÑÍMŒšs‹·Ô€šäÞÜ÷¾ûÝïñAtWWúëœÿü§
@@ -2657,32 +2637,32 @@ inÞ]ÓtÑçÒP<O™„³§å¿ß:—›!|qƒþñW äñàLÅ4sÄêÐæÒTn[=ºY®„þ§„Ó? g{âD­„
yp³û·ûxc‘XjE–.KkäæŸwû,è®<G—nÔ°©²T&™ßñAÍ̆¹sÃf&Ì«s4y\ž,';+;“¯¿{òókçåÆÌ̬,%v³û·û°?†'àn1’+àü%8“rMœªh mrŠIMØF„ŠùÓ•eò,c–1WY .HÝŽ%ïbÕ܃®çÚëH%ÙvÿBk2ž(é9QùêÕx¹âUÅuÿ3oNU*wåí(å4Ø|Îʨxy†6C›Ö}ªR’¯Aeï_hMêÐ×ãÝ1 –ó¯ öZ§|ÙíØo6K®üÛj…qò;ÿ<¦Lÿ,ÑOd-F ¡(ê]Ó?xÙ¨ Åeù°¾¢ PÆ-X¹ÅÑ¢7²è+ôYßýF£Á™eÈÍ=pÁÂBÈ9TœShÌËÊ,4ZXþO¤ =
endstream
endobj
-649 0 obj
-<< /Type /FontDescriptor /FontName /MMPGKS+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 651 0 R /CIDSet 650 0 R >>
+648 0 obj
+<< /Type /FontDescriptor /FontName /MMPGKS+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 650 0 R /CIDSet 649 0 R >>
endobj
-652 0 obj
+651 0 obj
<< /Filter /FlateDecode /Length 652 >>
stream
xÚ}”]‹â0†ïû+²‚sÑ1ýJÆA¿ºÈ®3¢²ì­6q¶ iië…ÿ~“¼G…EV™Çóõæœäô¾­·áDU&¯œmt[]šB‡³Õ¾z½yU\ÎÚtZ+­nÖö­›ªØêŽõgËùҔ݋u^šâtQúæõÜiª¿JópquX§‡«Õúûmøsµ©Î{ñpZTÈ]Ì®ìNÖ÷nÌÚØSó)~é¦-+ó΢WιýaaÔ¬:»³µÁ€ô±ÁMñ±4ª!‘ìà$QÌTYtDþ»8Û&¹àíµíôyiŽU0±ÁÆÛ®¹zÅ/Áà³Qº)Íë?Uh=¶—º>i§†ñ`<fJmbÛ›ýY³;øRYkÙ]Ÿw౻֚Ş#ˆ-*¥Ûz_èfo¾t0² àc6Êígh£þ±sDŽ@ëpûWÈ›©ø³o\¢hjqžFcO3OÇ°Å 6¢ÔS6 Or
’ 9h‚, õÑÜSLYðLA9<AI[‚2AeÉZR‚AôOŠ‚¨é” ÒIDZP!åPó¥¤l"eD¨žâ|)ª "ªGY¨æ.@è’ B—TÈP]ä TO0¿ }É8“DÐ#g†ê’âpÚ “8­$B½ ó¨'‰P!AÏìpÆ u "´ÇÇ¡ e–„ê¡&&Ð ’¤ $)CuIʈ¨˜Ÿ¤NÑÝE?%Ý tINèöÜoœ?~AÄ'[ "‡ú…·Eto&þ]Dto¦ ÜiŠÝ“ó”‚æ òYbš>ã-û·ëž½Û^÷S\šÆ.¿âüq¤4ú¾ëªvQþϯÏÛwô™ Å
endstream
endobj
-251 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMPGKS+LMRoman10-Bold /DescendantFonts [ 653 0 R ] /ToUnicode 652 0 R >>
+247 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MMPGKS+LMRoman10-Bold /DescendantFonts [ 652 0 R ] /ToUnicode 651 0 R >>
endobj
-653 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMPGKS+LMRoman10-Bold /FontDescriptor 649 0 R /W 648 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+652 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MMPGKS+LMRoman10-Bold /FontDescriptor 648 0 R /W 647 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-654 0 obj
+653 0 obj
[ 89 [ 1161 ] ]
endobj
-656 0 obj
+655 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xÚc`€
endstream
endobj
-657 0 obj
+656 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 514 >>
stream
xÚmQÏkQ~/YlžõÝ€š&£¨(šÝPõ x1%- i”4J=%ÛîKvɺ/ìnŒõ–ƒ nl¢%(µ("^=&±‚GÁ‹Ðƒˆx7Ϧw‚s˜™o憙#A@cq1_¼9[8››/°ÛŠy1™f†ê72ø1—Äy ñIÌãžò !M‚}"ìŽ>ÅÂc‚»g!|¿ï»¿ã~ò•œðÃr…#AßÐô qäû¦¤TêÂ4«¯XzUs`*•:Î÷— -AVY®±¦]ÓA1UÈJ0/Až5½ª§™ KTSŒ
@@ -2690,31 +2670,31 @@ xÚmQÏkQ~/YlžõÝ€š&£¨(šÝPõ x1%- i”4J=%ÛîKvɺ/ìnŒõ–ƒ nl¢%(µ("^=&±‚GÁ‹Ðƒˆx7Ϧ
é"4ljÙPµX£nŸ‘ ¨é64™U/ZÔ ŠMUh˜*µÀÑ(ÌÞX( 3ÈéËÔ´)$“
endstream
endobj
-655 0 obj
-<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 657 0 R /CIDSet 656 0 R >>
+654 0 obj
+<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 656 0 R /CIDSet 655 0 R >>
endobj
-658 0 obj
+657 0 obj
<< /Filter /FlateDecode /Length 358 >>
stream
xÚ}’Qkƒ0Çßó)n…öÁ;ú°"ÂÚ®CXÛa¥ôÕ&gÐD¢>øí—ÄÚ /ÿÿ¿»dòò}òÞ¹º¢÷:§`­ZÍÐÛ쳊L&[ÅÚes@äȵ^Á·Vì„ L7ñ6–¢™s,YÑr\ã¦5Þ„|Zì`šâÅ»Òógâ}íUfré­UÁ=jSRÑÆú Œc¸gÔµPrÁœRj6>$ߨÒ6Vÿþ€› Éõ®–— à‚5÷ȽYi&d“O]Ý`Ë\‘0?1bÝèÎñΈÔµ7˜Žé­ª- PEÀ17uÍ\Y‰àÛ®cnTÑt£í?Ò®BX¸8èQ™âXWCÉ’дO#wæ‰JþG§}Ö5ïCc>ƒAa?™¶u–o¦¥‹uÔÛܾ­hÇò g­ÖÝÍÎ!Z8!ñ1ÞJU6Ë-w.ÃÕ°ÑqG~:TÙ
endstream
endobj
-250 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 659 0 R ] /ToUnicode 658 0 R >>
+246 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 658 0 R ] /ToUnicode 657 0 R >>
endobj
-659 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 655 0 R /W 654 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+658 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 654 0 R /W 653 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-660 0 obj
+659 0 obj
[ 28 [ 531 ] 31 [ 531 ] 35 [ 531 531 ] 38 [ 531 531 531 531 ] 43 [ 531 531 ] 47 [ 531 ] 50 [ 531 531 531 ] 54 [ 531 531 531 531 531 531 ] 61 [ 531 531 531 531 ] 66 [ 531 ] 68 [ 531 ] 70 [ 531 531 531 ] 74 [ 531 531 ] 77 [ 531 531 531 531 531 531 531 531 531 531 ] 88 [ 531 ] 93 [ 531 531 ] 96 [ 531 531 531 ] 100 [ 531 531 531 531 531 531 531 531 531 531 531 ] 112 [ 531 ] 114 [ 531 ] 116 [ 531 ] 118 [ 531 ] 121 [ 531 ] 338 [ 531 ] ]
endobj
-662 0 obj
+661 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xÚc``à”¾iý}õömïÿ­r`À 
endstream
endobj
-663 0 obj
+662 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5615 >>
stream
xÚY X×Úž2¡ŠcT2öLª­¶âBÕV»¨,î.E\Z–°IH ì«Â ; «€`QPÜ°¢^k‹5­µh°¶ÞÖZí½xkÛÛ{ÏØcŸÿŸ!hè­½ÏÿüO™9ç;ß9çûÞï}áà@‚I«½ýüVø¸zûø(£•‹fo”‡Æ)Tü£Uì ìTèØ)û¼€#XFÈÊ Nìâ$üÈÉáñ{¸ïQâ¯y¢ç B`Ë}Ž
@@ -2738,10 +2718,10 @@ AÅ€hàY7ûlÀ†=Ð
3K9V¼^šåG íUÀð áïw/ 17o´µ9–•WHmGÒÄç³|m“Å‹65Ú$AÂyßarÿ{ÙY
endstream
endobj
-661 0 obj
-<< /Type /FontDescriptor /FontName /ILTTFM+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 663 0 R /CIDSet 662 0 R >>
+660 0 obj
+<< /Type /FontDescriptor /FontName /ILTTFM+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 662 0 R /CIDSet 661 0 R >>
endobj
-664 0 obj
+663 0 obj
<< /Filter /FlateDecode /Length 643 >>
stream
xÚ}”Ûnâ0†ïóÞ $z‘’ĉM+‰rJ[´ÚÛ68‘.xûuüOZiÅ.‡Ÿ9}3vfôãcÎU}Ð!ŒØ§në«-u¸ØM0-ëòzѦ{ÓZi5XÛgöaër§;6^l–SuÎycÊóUéÁë¾Ó‹>UæÛ¥¯ÃÆ{ý+ܼî÷ëmøºÝÖ¦ž†Ÿút=6Œú }Õóý˜3²ûFæ“üÔ¶­jóÌâÇ(ŠÜ+£õ¥o¯ &„È&ô±2Ê';ôÔAœ0U•)ÿY^ÜœúàÝ­íôecŽu0›±‰«\µ½yæ‡`òn•¶•9±ñ}Dç²»6ÍY÷8,
@@ -2754,22 +2734,22 @@ xÚ}”Ûnâ0†ïóÞ $z‘’ĉM+‰rJ[´ÚÛ68‘.xûuüOZiÅ.‡Ÿ9}3vfôãcÎU}Ð!ŒØ§në«-u¸Ø
œ´$…yrª€yrbÁÌpCz¤ÐC†z’z
endstream
endobj
-239 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ILTTFM+LMMono8-Regular /DescendantFonts [ 665 0 R ] /ToUnicode 664 0 R >>
+235 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ILTTFM+LMMono8-Regular /DescendantFonts [ 664 0 R ] /ToUnicode 663 0 R >>
endobj
-665 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ILTTFM+LMMono8-Regular /FontDescriptor 661 0 R /W 660 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+664 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ILTTFM+LMMono8-Regular /FontDescriptor 660 0 R /W 659 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-666 0 obj
+665 0 obj
[ 28 [ 549 ] 35 [ 494 ] 43 [ 494 ] 47 [ 549 ] 50 [ 494 ] 59 [ 494 ] 63 [ 549 384 ] 66 [ 329 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 ] 91 [ 494 ] 96 [ 453 ] 98 [ 439 ] 105 [ 357 ] 109 [ 576 ] 116 [ 495 ] ]
endobj
-668 0 obj
+667 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àT\ â!°À…
endstream
endobj
-669 0 obj
+668 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2457 >>
stream
xÚ­W PgÞÁ¦Ôª±Cw·¢m=Ô¶¶wÞÕZ@±-t @BB $äH€@B’Í?BLÂQJ¤ÖÖS”¯=ñìÝØ›žíõfî:×ε×û¶®3½ÔzvÚžswûÍ|û÷í|Ïó¼ïû|û1 %K ƒñЮŒÒ3SvïÙ/©âŠŸÞ”)çV
@@ -2781,10 +2761,10 @@ tª·qk¼Šj©’{àlÉG`ËX6ƒ&€¯è,]ùJXA»õ
°ŽíÑm f£Ö€®/*TV"Ò¶PhñGæ=pþsl‡ÎŽF¢{*v¬ƒíÝ„ÕÁéU:t¢–* -£Òà-±j:&š.¢û 6ƒŠÀ%¡oæäNV¼öó
endstream
endobj
-667 0 obj
-<< /Type /FontDescriptor /FontName /GESSBI+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 669 0 R /CIDSet 668 0 R >>
+666 0 obj
+<< /Type /FontDescriptor /FontName /GESSBI+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 668 0 R /CIDSet 667 0 R >>
endobj
-670 0 obj
+669 0 obj
<< /Filter /FlateDecode /Length 449 >>
stream
xÚ}“Ëjë0†÷~
@@ -2793,22 +2773,22 @@ uH®e'Ó '·bè8”ni’#ˆ%#Ë‹¼}%ÜBÉ9žf~äÑÍ{ÿáê
sùÇ~Rö—Hæ9E»LqèÚš®å ¢…-Èbk¯"ÉÅ)fŽˆV0¼¦Cˆý­µ+”®l!Jgiá(› eHK¤ Òiêi’!Ý#eŽ”sOSê)[#…¼¤bk¤§ûi‹4õ”S$ÌËÑõ ;äèz†rtmyB×3ì£ë<Ôœ8#?7Nw.¾7õZÛó‡ÇïÛ!áû|µªuYþösøC½m£/«« Á
endstream
endobj
-238 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GESSBI+LMRoman8-Italic /DescendantFonts [ 671 0 R ] /ToUnicode 670 0 R >>
+234 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GESSBI+LMRoman8-Italic /DescendantFonts [ 670 0 R ] /ToUnicode 669 0 R >>
endobj
-671 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GESSBI+LMRoman8-Italic /FontDescriptor 667 0 R /W 666 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+670 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GESSBI+LMRoman8-Italic /FontDescriptor 666 0 R /W 665 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-672 0 obj
+671 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 50 [ 472 ] 55 [ 325 ] 63 [ 549 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 ] 81 [ 531 ] 84 [ 549 ] 96 [ 363 ] 98 [ 407 ] 105 [ 384 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] ]
endobj
-674 0 obj
+673 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àPdTšâÁ°Àa
endstream
endobj
-675 0 obj
+674 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1660 >>
stream
xÚmUqPWK²»ØÆX ‰Hp³ÇUJK œâÏbT BÔ"Õk ‰ $HïP‘¢Ô€Žk)¥6å<îD­µE‹:ÚCé@c©B™&œgoü£zSï[îáÝm°w×éôÍî·ûÞ~ßïû}¿÷í<‰Åˆ ˆ%9™yëòt9F»+51Ÿ+«²¡OëùŸñ±^ ÃÇ ~Á3a¼Jijb¼@":!Ïåã«1ä_cÄûÈem‹BöÏ‹a$Vx£þ%y2´0 YŽÂÖ týS€¥ ùÓYW¨““SÖ9*jœ–2³›]‘œ¼òÙ]Íf¨Ùlc‰ÕáqY-¬Ñnb³ÕlŽšÍux„U ﰳŜÙh+e¥¬{‰­rqN[ætTU¸žV³³ÅÅzN++<œ3º8[e7qNÖmæØõ› l–Ãîfu–ÎîâØÄD–uqkv»+~™”ä®*S;œeI¥‚+ÉöÈÉ•ŠKÌÊË5$ê6®ËÌ-ÈT»w¹ÙR‡“5qn£ÅæRÿ¨Ä粒çN£-Ýä(æ6š8»Ûâ®AˆA?G hÒ çQÊBÐ&”ƒ^Dô
@@ -2820,10 +2800,10 @@ Y %Ÿ¡p9.!ùíi³Ç¥§¿†ÕØIÎc†Ü‘€6›J-ž§IÜ
^ÆV\ŒkÈ¿Pð,èaÖ“ÒÐñö¯”Ä gZ%:"¢ÚÇë; Ð×飘lƒ-I²À+yÜÿXðñ+MÍBÞCÂýF»Dr£éÐáæ¦CóV²ð?¬Ô<—
endstream
endobj
-673 0 obj
-<< /Type /FontDescriptor /FontName /MBEOCR+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 675 0 R /CIDSet 674 0 R >>
+672 0 obj
+<< /Type /FontDescriptor /FontName /MBEOCR+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 674 0 R /CIDSet 673 0 R >>
endobj
-676 0 obj
+675 0 obj
<< /Filter /FlateDecode /Length 448 >>
stream
xÚ}“Án£0†ï~
@@ -2834,78 +2814,80 @@ QµWbO²–‚ òök{ •ª´H >柙ßc3ùõV¿…>A0{dô
E¹-ÄXeŽâRŒ´BšyšÅHOH)R‚´EZxšÊg¤i…´@Ê‘†k¤5ÒÆÓS„´Eš{J™§„!¡Ïû¥èÓ¶õ4÷”Jô™Êi¨¹ÈpF~&nœî\|lï±;çß·3RÁÇùjtã²üíæø‡8ÚoÉPæ ñ
endstream
endobj
-237 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MBEOCR+LMSans8-Regular /DescendantFonts [ 677 0 R ] /ToUnicode 676 0 R >>
+233 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MBEOCR+LMSans8-Regular /DescendantFonts [ 676 0 R ] /ToUnicode 675 0 R >>
endobj
-677 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MBEOCR+LMSans8-Regular /FontDescriptor 673 0 R /W 672 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+676 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MBEOCR+LMSans8-Regular /FontDescriptor 672 0 R /W 671 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-678 0 obj
-[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 55 [ 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 71 [ 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 826 561 ] 96 [ 414 ] 98 [ 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 796 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 ] 121 [ 531 620 885 ] 125 [ 590 ] 167 [ 796 531 ] 207 [ 472 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
+677 0 obj
+[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 811 590 ] 49 [ 723 472 531 ] 55 [ 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 68 [ 325 ] 71 [ 664 295 ] 74 [ 973 885 796 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 826 561 ] 96 [ 414 ] 98 [ 419 ] 100 [ 531 531 531 354 767 413 531 531 796 590 ] 111 [ 796 561 ] 115 [ 796 561 ] 118 [ 561 ] 121 [ 531 620 885 ] 125 [ 590 ] 167 [ 796 531 ] 207 [ 472 ] 251 [ 472 ] 257 [ 472 ] 277 [ 472 ] 319 [ 590 590 ] 343 [ 295 ] 502 [ 295 ] 575 [ 590 ] 589 [ 590 ] ]
endobj
-680 0 obj
+679 0 obj
<< /Filter /FlateDecode /Length 49 >>
stream
-xÚc``0°/üürß¿ëþÎ*a
+xÚc``0°/üürß¿ëÿÎ*a
endstream
endobj
-681 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7215 >>
-stream
-xÚÅz \W×þL‘*0ÆêŒÎÄ})¢ÒÚºU­û^­.€( û@@vInaßw!€âŽ".ÕZµ¶ÚëV[µZkk­­¶gèåý¾ÿ Xk[Û÷ý¿÷ý¾À/ÀäÎsÎ}î9ÏsªGJ"‘ô_°rþìu _Z²ô­ 
-§ñã_v0¿OVÌrT,rßâæç£pôP,rT,uT, Š$W}£‚›=½Ýý½A^ŠUžÎŠð0ÏÐ0ÅÖРðà°ÑŽŠUÞ>aŠÈ P?ùêéïéæé¡ôð U(½=óW¯\¥˜¨T,ñÙâæ©;V¡óôTx+•ÁSÆS†ou
-Ý:΋Œ çß=(lœù¾±óÞ\¶jì’…³ç.[9×Q¹M©ð
-
-Uxx*Ý}üÃÿèã¯/
- p÷Ã#h³çBÏ@¥2Š"/ŽH ¡†Rc¨—(j,åH£&PNÔËÔkÔ$j25…šJM§fP3©7¨YÔj>µ€ZD-¦–PK©eÔrjõµ’ZE­¦ÖPÎÔ:j=µÚDm¦<(OÊ‹ò¦|(_Êò§¨ *˜
-£”TEES1T,e¤ê¨ó&K/—ÌÌ”¬•ül1Ãb©%Y?òZL-6¯d*Yò‚¤ÄBa‘cñ³å8KËÏz¸öøT:]zI6_öúMú±Õµž®=oöüÙú5ëÂ^½Þì•a#Ø\|aà Wz{÷ní3¨GŸ/l}mÛìäví’íÛŸ`Æ3—ûÎé{]ÎÊõò›ýâúu¾èóâ±þŽýˬd-Ù,Κûdà±AyKþ€0Y8­xSq}päÅä!LJ¾>ô˜zw4#8›DçHIêgŠ¦—$æìŒpœø_Ò•:'š‹R'ǪÖySœ±i2çKëwC¥ÜÎz¤>,˜h7]Hy›…Ò ùü!°“ÂÙ <JjˆG©ˆ X‹‚x_†è¥'J‘ú]W@‘#ØÂ5ioјhTî‚-µ¦»5FûÆëx©½qóîÈßñ_EoÞá…æñàAçÐ6~Ò~ *¢jŒeåµÕÛK üŽæã(‹;qÂc²àO¯P/PÏ ´zÙ3z…/Ë$L|r¡½eïžJžyÃÓPãy€Ë½‘ñ•€‘3µc&‡lYëÖÔúÁ™ó0ÞÀ÷îH!8m„F“}ëCtr†ÜŸóéѱ
-¹”U&@<]ŒrãR´Ú¸$Þù éî­ ¿Äa< O$ï®0O7˜0
-£`ØÅãí9ÇPT“””¦ŒgƒË"<³·¦¢´þÌüú±X‹-q/Ì<ö0¸ ¬ó…ÞЊÀ<ÁRr,-ÁMì%o ® ò ò© 76VÖyÜÞãO×ÈøXCn„^Æ=FKðË¿ytƒoxH`@EHSea¾^Ï É3æðjµZ“Ê&å¤
->¿6^G‘Iü‡ÉþàCt[tzÈ|Ý‘ _Êa5ãðüçCÉV `8Œ¥ÂÜ^ò¿Ù{±‡‡iãÜq'Ý+ZvåœßºÂû3b=Û…Ÿ(“hKÐcò=`¦{»¾Y(ég¢ç'gÄhæÀ3ØÁ[é]ÞË×rØ[ŽÁrÜçûá`ê°±É$,¡™™ÀöˆBiÛ#y¦vKKØFÎeKus˜¼[uøûnÎÞª&¾¹ºÅx„km [[/ôîØJ6ÔIÔ›ìaø]ðj
-Ågë3² |Qþ®#7¸µ.Ûr„’­é.¬—vu°m‹ÿnÑâ½ç”s,A¯Í"·+Kš "£ü7M¸2hQ(Àî§û`k^>ÏMbh¤>ùÔRTÃ$¹i°¸†.GÙqZml"?éÜ"õ…¦I´—š
-&{’1×Ý xÄÌ騂4¹‰V;¡·¸MSÞCðm¢™–oôñ^Âb:m^È­[‰â¹áxÁ¨€jXüîÝï¡Ç,<y‡¨Ó¥þ>‘’ìÖ•K’KnZ¸o‡7â×»r阄'Çå›U§öA¥¾¹c•òŠ˜I3söd>2/v¯ƒçö ¬—ºÌ:ûúS¡§–_½yµüjã)f,%æ‹Ãå%qnÑÒÜ]øÒP’ܨYó^ßXã])„‡&û…±›Ëý+£yæã൱›=\ØÙ?®„þ`G®÷Ûç[Â7,_Fs+eþúÐÚ·ÙêÌœ¬>tßnU5÷ ý•]Ñ;Ãj„Â|SÅaUšZ¥Ša£
-âJ Krªxü¦Bî¥
-!i&(Ü/%ŠctŽèÛÊfCMQ¹PUb̯å¾F/… í”ÉWOwÅ3³lGÎ8x¼¢øÔuá[Y-¼ˆ¦
-Ý´æ” Lsò¹xײ#¹Ÿ)œž®!Ë&–ÒÍéy—ùJ“ Tã‘z©o%Ý•Kp4¾Ñõéo©Y#õ0’
-( ^-J3ìDŠf<ð³ï礒ÒRÒm“`N5'PWðR7 Œõ[â¹)¤*00DéX²³¡º¦ŽTÚ+x“Qü¨kú­÷ªÚ½ÀbV;3 "]äb '˜'þ4Ç 4Sœ6bÞöð CŸ™^Q`dk·•…†Gû;Ÿ:Ã3×νO`†u ìñçu8ü ñ¿»êÒÐøí¸^Ì9v—%±šnB…÷ø&™ÚuÚÈaÇçBÜ/ëŠ ™Ì¼ÔÖíL3”ÿºÈb'Í\xþ²’`”påÇ‘z·Ðû÷'ÆŒi]·üeÜs
-’ä9¨0–gÔŠxmBŠVX–º>Ôƒs©¾è'0CgÞm[°‚ìŸv”+¼‚` ÏäWìl4ä4Ã+J_ýš{T}O
+680 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 7223 >>
+stream
+xÚÅz \W÷öLcuFgâ¾7Z­[Õº/hµî(
+ȾM $¹!„}ß…
+Çñã_q0¿OQÌ«Xì¾Å/(2ÌÏGáè¡X<V±t¬bYP$¹ê£¨Øìéíîï¥òR¬ò\§ó Sl
+5V±ÊÛ'Lê§ ?C=ý=ÝÃ<=áž¡
+¥·§bÁê•«óƒ•
+'Ÿ-žažŠ1cŠ0OO…·R<uÜ8eøÖ±A¡[Çy‘1aãü»…3ß7fþ›ËVqZ4gÞ²•óÆ*·)^A¡
+O¥»ØØ?úøëßË‚BÜýßðÚì¹ÈÃ3P飌¢È‹£Pƒ©!ÔhêeÊC¥ÆQ(Gêê5j25…šJM£fP3©YÔÔlj.µ€ZH-¦–PNÔRjµœZA½E­¤VQ«©5Ô:j=åLm 6Q›)Ê“ò¢¶RÞ”åKùQþT
+¸
+åÉÀnHmDc¢Q¹¶Ô˜îUínBà•¶zÆM̽+ǽy{L„:”˃ýCëøÉoø-
+(ª6––ÕTm/7ð;›N LîäI)‚?½B½P=/ÐêÏè¾,“0ñQÈŶæ}{+xæ OCµçA.çVúW^xTÎÔŒž²e­[cËg.ÀxoÓžLñ¾Lö-Ð-È~ò`î#¦[ûBX"ÿtÆulWÀ3{@Ryöƒ ì70ËwØúVÈ®¦%x %´—&aî+:Èà¿ûò3ð¹|Á›3°ŒÇ YÖ–yˆAÆœ}Ø<c¹P?“O]8o2Mfƒ
+þr°úÛLwÞÍÇ4• õ¥/d%; _ÕÓoŸ‘2{|ª{^à€‹ï à¨“+ÑÜ­y×­ã|¹ [vî âK‘®”…µt)J+,á›j—7sÇöø” ÅÁÞ³Y›ö¬Sû“äôc1³Á²}-ÄÉsPvL‚Z•¨åñØ$l;g7 ¿u ꡾÷Í}°ZˆgU I:]rWŒ2Kˆ§‹PN\²V·ƒ_÷†tÏÖEG^æ° žŽ'’wW˜†'‚L è6ÄoÿÄzØ}·´Þ¾ñxßq¼ÏˆâR°–çÅ!u²J›¨æ#’ƒ¦à–:¶ÀHzéD[öqÕ(íHUƳÁ¥‘FžÙW]^RwfAÝ,ŒÁ–¸'f{Ô=òhA` ž`)¹––à&ö”7Wù„ùÔ„*jŒ<nëö§käFüF¬!7BOã^£%ø¥Ë߉<¶Á7<$0 <¤±¢ O¯çД™syµZ­Iawd§ò?»Ö^ÇIü‡ÉþÐ#tGt|Ä|Ýž_Êa5ãð‚CÉV aŒ†¥Âp|åô¿Ù{‰‡#‡i³®4â.º W´ìÚy¿õ…s3‘™íÄO”I´%è1ù4Ó½MßÆ,ö5Ñ ’2â4sð9ìà­ônïek9l‡-Gc9îýý0°?}ÄØhœhf°Ý¢PêöHž©Ù䶑sÙRÕ&ïQ9̾›½¯²‘oªj6åZZÂÖÖ 6í[Ɇ:e‚:“= »^õ0¶^SÏüB6T¾Ü_†G‡DÌÀ 9<ê)ú‹Ð ^ê¡Ì_öjlÀH~4$<Ý4ƒeÌ>˜Zþ&fK„zY DJ;n? Xá³€=’1]ÚR “’º;yÁ²?éꜸMrŠ†½u¢:Šsu)? BçêX8,«È@•wœƒ°íè¡ØËA ôþ\),
+2ÚC6t7ã.sUìÕn-?à^»f–ãj»Mñ½‰Ûh×x´„¤gýžwPw: ©Ï ¦Hz¶&÷m>kî RšésûHóAž\”ªM¢v¨¢ãØÒmÕ5%¥Õ|g ž<u ¤u-FßÚiÿ³)ï^ݽÒ{̱[bl”ƒÕk?âë7Æøxò°šNÍß›¸Ÿ»+_æ&ëUJE;Tüv—øÕÜrçÂ<!Ñ FˆC Q>DG¡ø¢,}z–/ÌÛ}ôw²Æe[¶P¼5ÍŃõÒ®rã¶mñ_Ã-^²ï¼R`Ž'èµ™ävcEI}S`~d”_⦠×Æ-0
+Øýô
+rç·»F¹q«Ý«Ã…Ð}ê#­ìnô^ý¾±z?1úØPïJ¡Æ]·z ÛÉÄ]¦s„Ä_·Wö5yÓê<²Ñ5]0¿eóš0"†kN šw…ŽBâxo_™~ߨ™k¾ÔûºXp@쪃÷ "GÜAW>†™™uí/‹ÉòïÝÁCùË?‘™9UÎM
+ Sý»J‹iè =¯?†ôe¦¹!lgòØʺ¸òcÌDXâj–x ^6¢zxdŠ¬'ò
+Ôßa¬º4¤Ýðïq/‰k×ñghf_WzúØâ.txþþ¦Ð̲u‡&íúM]öÅôœÉS½]
+[ýøøâNUéCï­lm:Ë]=? Kˆ)pTÄ/Û#%?ž·„ŸðyºV—Ïã ÷e0Ž…}и£‡ø‚|ÎÀR3cÖ¯Û‘Äc+‚ðBlÍbå}¼¼Ìg塼ç¦5™ó èåßÄ€l)ôàï9ÿ4ŠK$r1iòâPàþ»ð<–Å{‰°Î…#OŪôÉ9E­G³³x`Aa$bËší’‡O¥á;V†Ì“#àóCðy¤Dd™Ñ¬—W†£X†YªP*Q8ù«·Ð±áH©¬@‘Ž-²X^Y‰*
+xhÃtAª$ðø¯yŒ{×G×E¢{O?‚)F8ÿ(ÜÈÌ¢ÚówȳQA,ϨñÚ„d­°,Å9Ôƒs©ºä'0CfÝk[°‚…ìŸv”+¼Ša Ïä•ïj0d× ÃÊK&}Í=®†>§‘ØÎSãÞäïylÈ÷áÖ{z¸lËŒIOí›÷Lg!} –Deø—ñ¿†ÏÊ·û¤†rk“ä+kw©Úº¢¬Æ»]XÔKàÆÓŒ'Ãkä¿ÖÀA´×«Ò㾜Ì
+Ó¬0í~½?9´·®JÀs_:<
+îÈcPÊö~™×ší>Ü4§;$È.}zýÓ–©«Ès;ó¬o× ‰åBbÑFÞègt[ìæ¼2‚×>‘1mxð‹Òë‹TÏHúr=Pߦ‘Ä–’š˜¤dý«b˪ʋ[_K4Š#vJO@ò K‘¹¼%ð#ܳ‚OKZ™“Êùgn,ßËÖUìÿº¦¥ñIºLu&Wd¦ï÷;Ù»Jbbx­fÇ5‡Ô(%Ï Ìuå°Âæ†õMzµ°7 2õÃx«Ã;®Æ.`=B\Æ ¼v<ŽÏOÕâ¹”´MÀ¶t JÌÏÐéJKxƒ!7ß`°ÚÜ|XSMväÁ¶:¥M„xã&Ña`{?ð>,æµ÷3ë”P]Z¨°6]›­.²ò—ùà­ÒzYZaîÅ‚,+CîeÂËÀ[6óRæ}LX`vœÎ&"—ÇQsßBÃÐ*èqä<£ÁYš‹Ò*ØÎRƒªáŸÆOïí5›1@I*ÓJ‘jã&‡—FÞÖs6¹8+ùÏ2ÛÞ~Ÿo­;ºï,WvHMR­«&Õ' ¨Œ®*©ÍÝýžë‘ X ¼öÇU`¿ðÏlNh9– YØ»§aÿmvŒùÄ-r+ïâMòøß&ãvAÙ¬¹°›}xâÒÕÖºïR¾Ü ¹®3ö4?œÇ[Š~í~òüÄœ¸˜ÔøxñÿL“ª:Ï'ãró‹Ò âÿ2MjÈCˆ$ŸmÚ³²ž4ú’¬}÷3«Ý_\-„Hé?xY$Ž$qcðzAåNÃ1Kë‘&K(MÕ%†²Å´7ŠÂ{’JÐ:À ïê&ÁäIA‚XLW¢¼òtžQ¤e×¢RÆT†â× Ì9Tµ^&p"+gqÅ¿þ½+¨žù~;ùIÿÕô|/Ï…è‹"Œ0ÊDö†ÍxûË´ã7;ŒU[ÑLÛ]\-ÃÝïF"¼÷ýï]î¢dcÀî×€%ª¶¿ôÃŒÇÎu?”?flÍK4SþÙ¢+Ã*øëÆÓn°ŒC §†(¦®˜éµ3¦º¾¬¢¶É¯ \Ç¿³ÿª¾„cìW_I:/Ð=6FðWj–¥ZmÓ&iãØØlTÌ·Ê®·®,0'HýëµfÕ¬²ãÞ„TšæY»”•~ÁAÑ[~X
+2èÿõ½ïÍUÝ„ïŸ|g²?þdé7nO ï7L WG&­ßf•”2Åpx¾ 8°)*Üo**èæÔéw¾b¡çˆ«ØŽg–cëéã÷$”×îßcëQ<ßVûáÎ#Ü×-Ó_2{&î{ Ø÷•2™ñ HÊŠ‚Œ0EBKì;É¿hk²|F]Q0èöMÄßÑxÀ°ÉÃVc›zX‹Ö)»ÓxØ*`0°O  äáÑ3B˜xàÚAP”<#„t°ó(žÐØá·5›ž¸ÖiÖÄÔ­<|öô“+Hí(àÑô4^½ÿö'Ù^7ÕìÙêL»M’ö‚.óסmÜ6—.óV…'iÕª;wlÞ¢Ašš£IOgk£¼‰Æ
+µtC
+2H¯K?¨9«+ãH–ÏL±Ql~–·mævFíOîoÔd‡G³‰Uêž00îUÒ”|”…Øotñ›6Û"6 ½ÿ¾!ŧP€Ñø¡t{fFrW™e#á㪓 ùMºþ]\ž(¢ö,sgbYlvM¤€·Á .Òs‡¯ê*9³«‘’[½é—™=ÖäDz‰ê¤db…-žŽÁj©:=5ÃÀæ•–ì5û<D-]‡ô+ßbú½Â!¥lÄF¼
+wêÌ‘Û²%pQë>€ ¾ Ó.;&üˆíÆ+Bƒ¼6ÏÔô'7e¢ý:‹v©Éø¸´„̶$¯@oà¯Ý¹9JZ¦Dšd6)96LÛYb›IÚ)9ŠÔu¥›ˆm½q¯IRþ”~aùÜêºs©k><³VS£dS´Éªx^UØ
-"1°¦Æ½ÉßõØPàíóôpÙ–“‘" Þ;÷'˜ÆB* þ,‰Ê84ð/á$¿†ÏÊ·û¤…rk“÷«êv®Þº¢ˆ¬Æ»ÝX6HàÚ“Œ'Åkä¿ÖÀãA´×+Òc¾—˜¦…YaÚý8ú|rpO}µ€ç<tx4Ü–Ç Ôí!ü2¯5Û}¸©Kn“ »øÙÕÏZ§¬"Ïuêʳ¾Ý'$–· MPˆ}ÅÞò&?£Û"·õ+#xícÓŽ‡</½>OõŒ¢?m
-³­ yŸ^Þ²a˜—2§1aaØi›ˆ\B-ù|+ êÁúð9ÆÀziNJ¯d»J ªÿ6~vw¹ØŒ½JRq˜6ŠT79¼8ê.¶œ½Ée½’ÿ<«ýíÓ|[ý‘½g¹òƒj’j]5i> l@Utui]Þ®÷\OÀ‘àý±?®û÷yfsBëÑ‚ý-žÝûn±cͧ n‘[y—o’Ç×ø6· ÊÍù]ìƒã/·Õ‡x—ñ^ÈÕÙlØ“üpJo)úuøÉ sãbÒâãU<Æÿ5Uªê:ŸŒËM,(Î ,ˆüËT©!e"óÉÕã&_’²ïÜefvø‹«å‘)ý/‹Ä‘$hŒ^/¬Úc9æBYÒd eiºÄP¶³„öF±CyORšBû¹ýä]Ý,˜<顨°IKè*”_‘Á3Šôœ:TÆÁتPüz¡9¡‘’ö‚ –e³¸äßðÞ%ÔÀü?ü„ÿjzž¿—çt³˜#Œ6‘±„f¼ýeÚñ›ÕVA4Ó~×ÈpÏ;Q éýpÏ{Ÿvó
-2ðõÝïÍ%]‡ïg²?öxé7n¡ß7L­ó WG&¯‹ßf•œ:Åpxž 8è]\´ÏT\8àÌÉSï|ÅB¯‘—±Ï,Ç6ÓÆ;­ßRXÑP´K`|®Cñ|{݇;s_·N{mè¬Ø¿ `{ÜOÊdÅ' M(+
-2B '±ïbþ¢­Éò)GtEÁ\ Û3GãÃ' _{7Àb^´ùKuØ“ÆCÁVC€} =`Ÿ²ÁÄýW€ê€ä)ìâ‚]çpð˜Æ¿e§YôĵKfNLÛßÆÃçO>¹„ÔNCÏFŽðʽ·?É1ðº)fÈ>¿oÚe’tv›茶qÛ\ºÍ?Pœ¬U«¼¾sö Ò´\MF[w íàM4V¨¥Þ™Œ}¯y  ïé¶ìluWªÏ.Ì Y¼*ý ö¬®œ#)>/Bt0IÄ&qˆùYÞ´™K"tÚŸÜß¤É f5ª´$žÐ/¶†jijÊF쎷 :ÈøM‰mÞŒ?mHõ)` ~ Ýž•™RÈfe›•È ø¸úDcA³n@7‘'r¨#ÛÜ–X›S)àmpF‹ôýC—uUœÙŠÕHÉ­NBúef5yÁ±l¢:9…Xa‹§áÁ°ZªÎHË4°ùe¥{Ì>UK—Å!ý
-Á·„~¯()¤L€Øˆçã4éâÓP„¹»ÑtUpmH}š°ž éÉ ¹¬åæ“­7¶À4+Í!8R³qÛb¶hÍÍ¡zi›©›ë`×Ù›DÜK–wi¢¡
-º¸G 5ž%8á_¤ƒ]æÎåBcò‘•^•WÇ#ŠÂ#•qþnû½Žßný97ƒ‡%âÄ'›sMdÍIÂ2vX%{oC¡õ±ð‰üç„s¾ïó_ºM©\Åa{—±A±ÂÖYšQkÙ…ú­Sù7^ÜvŒk½Yô MhþDûë”/_Ž&įä‡DÌ‹õå|æ?ŽN¢{G٠裼wø*®äîà/D/òW¡™óI¾§ºL]Œy]‡¦„K„´ß¿Ã|Ø1öÉ©©×¦¸@_~·ïr}073ë°TÀ8CýMËÿJ–É4ÿôõ¶…ô¶ýx&LŸT…<bÅ™FyH¢:<‘MN¯JäÕñ(JÅâX šuÿÖîó9»P ¡(]š]bÊ¿_p¿Æ(1ûjvŲãÎÓà _LJЪF;@«Ñ X÷‰ìÁ×ÍgêëS¶íàÑæäͬ_MLeacÎÞck[_u›—䲌¯‰ò¨[ÈÚ¶Ëþ5ßCÿÙ€™ô¾¬xw—=oXç,’ÓÐæwV™[œÂ“NÜ}ðUóÙúúä¨ê'"ûwÎO»ÿSOGã~ëÍíºÅ»¿5þ™¾êÇ09Òž¹ñÐ^eúÿ
-Ÿ&S©Ô*­àÿêºé‹–X©5ZµšMÓ©õþÜ’¶é ¯Z©tµËe YÌí÷o™ç©e¢?¨äz­^“Î/<»îrÀ +ƒF¥Wqi²ÔTUŠiuZ¡ljãô–y®s}¦o›j¥%×´lJ¦*“Ï zCºP£íòg­ÒÓuú  ÿÓ={ÐÿM°ZÚÑŸÎù7ÿ+çü6{ÄšçbZEǧ=õýFK?—Ÿ
-;¼Ñ7<4ÀÜT¯ÍÉËÌäGouqsçU*¤B]MõÂWÁú^ÝmÞ^¬að¥K—˜/þE~ÍÜNø;ŠÍô§šÄ·Ÿö_Ÿ}« ìÿ‘g¯›ÿâæÿ6³9›ƒ(Ššhþÿ±*ûˆ
-qvåfWÈøE«üÇÙôD6½LÖ—zuæ—Á KÏ>iccÔÕê3³ôéC¦Í ÿ.‘†®
+¥É…(-­ª×U˜Mt݄Ÿ-î±g±
+ÁhÆÔ$ì€'åÇ‚@4™€)éÿë¨ÌÚ¿EÉíò12R-yr=yÃ÷ªËG‡.š®–Ý°ÒÓ™*C2Ÿ*S©Ô*­à?iýŒÅNVjV­fSuj½†?ïÔ:£~’•JgP¸tY¦Á)À¼¾ÿ‘yžY&úƒJ®×ê5iü¢³ë¯ܲ2hTz—*KIQ%k‘V§J§5Ìhžï:ÏgƶiVZrMË&g¨2øt™Á 7¤ u·Z¯~pÖ*-M§Og1±ð?8Ýógýßt«¹ ýé¨ó¿sÔo½W¬~!f Eû¬­~Àh âgòÓaG6ú†‡˜ûê5Ù¹ü¨­.nî¼J…T¨³¯^pë:ôxŽWw™·0ktåÊæË„“_3wþŽb3ý¨Fñí£ý×gßîûåÙkŦ¿ƒ¸ùŸÎlEÎzø@Š¢&šÿ¬Î>¢\œSA9Yå2~ñ*ÿqÖÝ‘uOS+=:óË`Ð¥e²¶6ê kô™ú4ƒ!ú×ÿÛ‰õ
endstream
endobj
-679 0 obj
-<< /Type /FontDescriptor /FontName /HSGCYI+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 681 0 R /CIDSet 680 0 R >>
+678 0 obj
+<< /Type /FontDescriptor /FontName /EZOSYT+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 680 0 R /CIDSet 679 0 R >>
endobj
-682 0 obj
-<< /Filter /FlateDecode /Length 698 >>
+681 0 obj
+<< /Filter /FlateDecode /Length 702 >>
stream
-xÚ}•MoÛ0 †ïþÚ¡@wp#ùCj‹ €ãØ[€õM1lG×V2‰lØÎ!ÿ~’^&†uô)ò%E0WŸž7aÖto:Œo8{ÑcwjæU\]­ºúxÐfzÔºÑÍÙ:޳硫7zb×ùzµ6íôÙ:¯M½?6úìõo§¥ÞµæÝÅåaׯúGøuó%ÿ¹¿=¼t‡Ê܆/zwÜWCÈÝ­×vÚ[ïÿ;2keX™ó]cÛ™{&n8çö 0MÞ\…c0#•lvÖ½mM3Töæ„"bM[ODþ»>ØV¹Ë›Ó8éÃÚl»`>g3›¹§áäUfOC£‡ÖìØõ­ÏæØ÷{íô0,¬Ñ[Úöè±:h6så¯km§ÓG}x¿ózê5‹< ®»F}Uë¡2;Ìmø‚ÍKûYÚ4Ù9n½mÖáü¯JΦúW5¸@biqžˆ…§Ü“El(†(ƒ-!Š$B”8­<ÙCOî% ÷@±€-!»$Böø¤`“ [ØÈóD1I§‘N"ÒB1I (áP½‘²;)#J@¨6²Õ&P&‰H Å$-DèYR€Ð3I1ò¥P–” (“DPãýRôÌ^ðŠ(E}¨6• Ê
+xÚ}•ßkÛ0ÇßýWh…öÁäR[BÀIl¬MiÂØöæÚJfHdc;ùï'é{IÇXhèGwºûÞé¸Ü|yÝ„Yݾë0¾çìMí©¯t¸x.»àæfÙV§£6ã‹Öµ®/ÖችömµÑ#»]¬–+ÓŒwÖyeªÃ©Ö¯;Íõ¾1..»Ýêïaþs½ù± ¿>¿µÇÒ<„oz:”}ÈÝ­m3¬÷ÿ™µ²O¬Ì‡ù¦û¡iÍ÷œs{›zÑ]…C0!•lrѽkLÝ“Töî„"buSDþ»:ÚV¹Ë›ó0êãÊìÚ`:e›¹ÆþìUß“u_ë¾1{vû‰Fë³9uÝA;=Œ³«õΆ¶=z)šM\ù«ÚZ›ñüY>îlÏf‘gÁU[ë¡++Ý—f¯ƒ©mŸ±ia?³@›ú/;Ç­÷Ð:\þUéÅTý*{HÌm Î1ó´ð$AQ[Ša#Ê`‹Aˆ"‰%Î@KOöÐSŽ{ ¨À=P,`KAÈ.‰=~
+"¡Ea&$²Çè¼Döï');jè`ZR¼¦„E-1e€–˜²£Ÿ)fB¢ŸŠ/"»"ÕDÔ3ôEQψ S¡KŠæ :UFyJ5ÿãä:-jùqŠ“ õ.'C½9h¥9ºV bîï Ž—ÏýÜ Žæ^© YÎü› šå9(E¾Ü¿®(\M>fD÷
+ïÑ3ì¿3ܺq›óºÝªSßÛÕæ׫ß_ns5F_7p×vî–ÿó«ûò3âh]¿;U®&
endstream
endobj
-236 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGCYI+LMRoman8-Regular /DescendantFonts [ 683 0 R ] /ToUnicode 682 0 R >>
+232 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EZOSYT+LMRoman8-Regular /DescendantFonts [ 682 0 R ] /ToUnicode 681 0 R >>
endobj
-683 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGCYI+LMRoman8-Regular /FontDescriptor 679 0 R /W 678 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+682 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EZOSYT+LMRoman8-Regular /FontDescriptor 678 0 R /W 677 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-684 0 obj
+683 0 obj
[ 82 [ 611 ] 100 [ 611 ] 187 [ 611 ] ]
endobj
-686 0 obj
+685 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xÚc`€8›A
endstream
endobj
-687 0 obj
+686 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 801 >>
stream
xÚuRKlkþG(`ëëÆŠ`‡ÿ6õ-ÐÔGâÝÝ6Õk¯©˜Ý8t~–ò×™¡ õ^¼W¯3Ó¦E(…Š5•‹ëÂçB]Ww£îtg2¿NÎĸ1ñ,Îó;çäœ|0›EQö¿Ï×ݵ£çPdc{Ý}(²¼Që"¿‘‰fÈF@š)Â,#.æ]´ém^šÔžl´à/Ÿš 
@@ -2915,37 +2897,37 @@ xÚuRKlkþG(`ëëÆŠ`‡ÿ6õ-ÐÔGâÝÝ6Õk¯©˜Ý8t~–ò×™¡ õ^¼W¯3Ó¦E(…Š5•‹ëÂçB]Ww£
sõRåÒ4sþÓ=¡ŽNoȧFÊÎJ±Rv­4(¿š8éÍ:sÁƒÅ[ÖÏÎ’Šó¹ ãóG½ôr‰^Qo|»â¶¬È£²2!+¹EšžSîŽÉcòØ%Oÿò¦ƒG1
endstream
endobj
-685 0 obj
-<< /Type /FontDescriptor /FontName /BTJJIE+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 687 0 R /CIDSet 686 0 R >>
+684 0 obj
+<< /Type /FontDescriptor /FontName /BTJJIE+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 686 0 R /CIDSet 685 0 R >>
endobj
-688 0 obj
+687 0 obj
<< /Filter /FlateDecode /Length 375 >>
stream
xÚ}R]kƒ0}ϯ¸{(´Öh·ŠëXÖZ{µÉµ ÔD¢>ôß/‰µ…±NP<žsî=÷ÆÞËþè½suBo4¤pÀJ5š¡7ßd%éõŠ5Êz‹È‘wl5…½Vìˆ5ôçÉ"‘¢q"Ù¥áØ©þÍð,äCbû@?Å/o–®×ÉÒûØT‘ɱwÀssÉ´G­+õŨÿ‚aá ®Ì'êJ(9…`H)5–’ÏUa'¬ˆK ~—;’ë[T8Ùà$ Vß{²Â¬Êš×ªÆ"‘¹"Q¾é,ªZ_]êñwš£ò ý'æØ”åm $ŽcnJ›m³Á·ã'Ü°¢¾>ÛÃÓ^K„Ðá  ÌǪÌêLž‘Df 4†he®˜ ä¿xÚºNy  {u ûδ­óš:”Ž‚Ø¢ñk‹&Íf…a0‰ÛÎc»ÙÅ݇cÖf2·]ßïPªÒºÜíN®û‹,Ú­Èc¹ä
endstream
endobj
-235 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTJJIE+LMRoman6-Regular /DescendantFonts [ 689 0 R ] /ToUnicode 688 0 R >>
+231 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTJJIE+LMRoman6-Regular /DescendantFonts [ 688 0 R ] /ToUnicode 687 0 R >>
endobj
-689 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTJJIE+LMRoman6-Regular /FontDescriptor 685 0 R /W 684 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+688 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTJJIE+LMRoman6-Regular /FontDescriptor 684 0 R /W 683 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-690 0 obj
+689 0 obj
[570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 520.6 0 0 600.2 0 0 0 0 0 0 0 0 0 571.5 ]
endobj
-691 0 obj
+690 0 obj
[388.9 388.9 0 777.8 0 0 0 500 500 500 500 0 0 0 0 0 0 0 0 0 0 777.8 ]
endobj
-692 0 obj
+691 0 obj
[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 66 [ 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 ] 98 [ 525 ] 102 [ 525 525 525 525 ] 109 [ 525 ] 111 [ 525 525 ] 116 [ 525 ] 118 [ 525 ] 246 [ 525 ] ]
endobj
-694 0 obj
+693 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xÚc``àø˜(ªp5OlñÑ.TÀ
endstream
endobj
-695 0 obj
+694 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4172 >>
stream
xÚ½XyTW—¯ªEEò)é,U¦ª»F4fÑ,žÄ=˜ˆÑ¥Ù¥¡Wz¡÷nª÷¦éh¶¤AŒFˆ‰š(ÑŽYÄ$f™ÌÉ>ÆÉ2Iη¼"Ïœ™jPa¾Iæ¯9S}N/¯Þ{uïïþ×,$) a±XwïܲgýúMËŸÛ¾_ÉpÕŠ Q^EiAüV=¾ŸJ!è¹}‹&h2‘æ&YRXÄW‰ùÇþ3%>‘’8š’tCGÇ>úÍ‚Þ‡ ¬Ö;âïôl@¥ÜÏ|»ó‰”ñ_R"É  ¹™‹ü€üÆJ`%³f±8üüÕé«V=¼‘_%”—ˆ¸«W­zèøûcÜ éÜmyå|©°¼”›WYÈÝ–ÎÝžÎÍäK™ÑRî~%7ŸW’WQÄåq³y{¹b!O ä øâ*áÒtnvI©+å ʹ̧€WÁËò
@@ -2970,10 +2952,10 @@ HhFyÐuŒü|˹¼)ºAö<•µ›8¢,‹äàËp‘q¢
.WºýF²Õom³Ëj!¿vßÁþ½—»Nz¢}DQt@ß…Ö» éØøãç5WÂw—Ó^£·)9?ÒØT¦èr#Q³…)•Åpþj|¯ùdK_ã`ßפ§ËmÅÎç÷ä-?g ƉÂd³ƒ8ˆ vã>{}½Ú¤U ȢŊý9ØÊKå#CÑ6«X,Ùòè¼Nå èÉp€ê °´X'#<5y¦Ì¬¡Â‹`ú— í›6âöÙë À¤s&`i×þŸN`iØ(hä„ë¼µ:£Ù¤%àÒ¨\¯2È0­"â´YmXvmotùXjü¿Á¿ÐxÊ¢ûy<þߎ9õMt†¬óÚ,lb[vÅÊ”éTÊÌ،љÃKü²[šÜŽ””ó»ÃÊü´YB®”YtÛÿàükt Î
endstream
endobj
-693 0 obj
-<< /Type /FontDescriptor /FontName /PFVAAD+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 695 0 R /CIDSet 694 0 R >>
+692 0 obj
+<< /Type /FontDescriptor /FontName /PFVAAD+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 694 0 R /CIDSet 693 0 R >>
endobj
-696 0 obj
+695 0 obj
<< /Filter /FlateDecode /Length 540 >>
stream
xÚ}”[‹â@…ßó+zç!cçÖ x vfd”a_cºtÚ I|ðßowŸÖÅ]Añ³ªO*«3ú±ÙúsÙìÉž9û¤¾¹tùË·²õF£US]Τ†w"Iòí_Ù¦kª- l¼,V…ª‡'\¨êt‘tËzœ´ c­¾SL6ÞÑ/“Íç+ÿçÛ[£š€ûÅPžêÊçæЮN:ù¿yLÙã ³"_Ôõu£^YðÌ9×?¬•\6gÓ^ïMœE6¹™>ÔJvÎ'Û×^2YWƒ#ûYõœÌáíµè\¨CãÍflò©ƒýÐ]­ç'oòÑIêjudãÇuÊöÒ¶'2v÷²ŒI:he=Ÿ÷òLlbz/¤ŽÖÃõCø>²»¶ÄBËìV¤¾-+êJu$o¦GÀ36Ëõ+óHÉ¿â§ö N¸}ï¡êwÙ¡`©…8Af(Œ@!(¶”,A/ h
@@ -2984,22 +2966,22 @@ ZYŠÖ §ùb)v*S|
ô—`º©«çÈu„RÔKÑCZO3l’ݳtæöÜW¼ºtÞo{Åì›ý­ÝoaÛ´æ”}Ûë{{ŽúȽ?¯gEÀ
endstream
endobj
-232 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PFVAAD+LMMono10-Italic /DescendantFonts [ 697 0 R ] /ToUnicode 696 0 R >>
+228 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PFVAAD+LMMono10-Italic /DescendantFonts [ 696 0 R ] /ToUnicode 695 0 R >>
endobj
-697 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PFVAAD+LMMono10-Italic /FontDescriptor 693 0 R /W 692 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+696 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PFVAAD+LMMono10-Italic /FontDescriptor 692 0 R /W 691 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-698 0 obj
+697 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 114 [ 525 ] ]
endobj
-700 0 obj
+699 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àTdTšâÁ°Àe
endstream
endobj
-701 0 obj
+700 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2256 >>
stream
xÚ•VkTSW¾äF4Eåíòê¹·õQ¨<âk)ºZ‹À}ˆ¯Öº ’@Hb QPK¢ $<åH[y”uVÕŽ¥PÓ±¤u¦«N­Õ:SzîôðcÎ (¬¶æd­›œ{wÎÞûÛßþöB!!fÆîÚº+!aáæ-[tZÝfÓ"Yø&™DZÜK6 àfÜü8ÆŸ Ú%´\â?$Ž¼‹>û¯á—:Ñ‚”N寧C±äeükr­d£W2Ÿûb&1›øžøE ¦ÿ¾ÓÅ2ÙÒµ:½Å VªLìb™lIb×D°åIiº,cšš•k“Ùì–6^—…ïªÙ–MT¨äšV—Â&(v²F…ÁÈ* º ½14‚MP©l–ÎÆâoƒB£Él†6Ya`M*»mk£ÓšØÍê$…Ö¨`ÃÃYÖ¨P°*“I¿22Ò”¡ŒÐ”‘)ØÆ©52Fòÿ y3>!|ó†µëã·®0™MlŠÎÀ&+LrµÆñ«Ç·ÑɺDņd…Ö¤6Y¼fs‰…D$±˜XN¬&Ö1D±‰ØB¼M${‰DBM¤zÂà±ÄKJHyT…DñP-èõ›ægòöOð2Â+¢Q>@fŠÄÉâÛ“d“Ü0:0ßã}ž O†(=WÕ%uiímNqq€rñçÛî£{æ~°Z]git´•Ÿ³[kqå>Ã[Å
@@ -3014,10 +2996,10 @@ F…=F"$
$I*øþùB¢PëŒNKCƒ³ªÅ'^Ç<:OÐ-<ê¡Þâá é0šéL- ªDûŽé+œ³(ÖÙR÷5'·OMÅL–½8«“þÈ^çdnâHª ›Ty¹yGCžd³ÐÔßÐêŒeÊ🲾Ëaºx홥Vé£öî,4Úü‚“:Ñj42áb³]ë*wØÚNM_a# —µþ£ßWÂÜ+¯x!ƒ•oœ)=c«“'[Y`›uWn&gë=ÃÀ &~Þ|(ìs²ÖZŸ„O6µ¯‹}”â;ù ´Ÿ Pܽ;Ôó`lD¸1°×1;w{qeså¾q
endstream
endobj
-699 0 obj
-<< /Type /FontDescriptor /FontName /GYSYTT+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 701 0 R /CIDSet 700 0 R >>
+698 0 obj
+<< /Type /FontDescriptor /FontName /GYSYTT+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 700 0 R /CIDSet 699 0 R >>
endobj
-702 0 obj
+701 0 obj
<< /Filter /FlateDecode /Length 453 >>
stream
xÚ}“Án£0†ï~
@@ -3027,22 +3009,22 @@ uÐdµ¢á» v½9{Ï7$|5ŒTG:¿nÑJÊ¡mOàìPF²Œ
8Øʶ?/u4t{/„Êþü&|¥Tçhì9B»\ èÚšƒ©ÕÈʶ€etµµWF@‰oq†Yû¢L¯ñ%ÄÿÔÆŠr[ˆ±$ÊÅ ¤i´@Ú"-=-b¤;¤)A•÷ž–£ò)AZ#Ý#åHãz¤ Ò“§»i‹´ô”2O CB× ®—¢k»¬'t`Í]§cºNǼ4ÃŽù¹æº)¹%Œ±çèGÉŸ–;'©à2m­n]–¿ý˜Nÿ‹£×-ù yí
endstream
endobj
-231 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GYSYTT+LMMonoLt10-Bold /DescendantFonts [ 703 0 R ] /ToUnicode 702 0 R >>
+227 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GYSYTT+LMMonoLt10-Bold /DescendantFonts [ 702 0 R ] /ToUnicode 701 0 R >>
endobj
-703 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GYSYTT+LMMonoLt10-Bold /FontDescriptor 699 0 R /W 698 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+702 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GYSYTT+LMMonoLt10-Bold /FontDescriptor 698 0 R /W 697 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-704 0 obj
+703 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 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 92 [ 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 246 [ 525 ] 272 [ 525 ] 338 [ 525 ] 602 [ 525 ] ]
endobj
-706 0 obj
+705 0 obj
<< /Filter /FlateDecode /Length 36 >>
stream
xÚc``ÿÿÿÿw ~ÿýÿ¯ (€ ˆ l@
endstream
endobj
-707 0 obj
+706 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8223 >>
stream
xÚ½z\W×÷¬°³¨•qwÌì‰=¶;ØPAQzYX–²´¥3Kï½wDì +–EM²51ÑÅhš¦>g’Ëó~ßì‚@Þ$Ï÷þ¾ßïû`ÙåÞ¹sï¹÷œó?ÿsfE„±1!‰,ÖïÜìè¸yÚ;;™ŸìÙ3¶ººùì—믭ãÇñã9SÄ%ø7E<ijF¼¥±ÆT„›éL»w`Ýï²?4â7 BT8Lxä4‚e:^øoêÓ‰úŽí¦““A„ˆ° Þ$¾'ºEÆ¢!¢a¢Ñÿ°îœ™³gÏ[%ó•{º{(,çÌž=wºþý=Ë•3-m÷ð–)½=-÷û´´ii7Ór£L)ôzZ¾%ó³tqõØïãf)s³tpÝiè*´t—Ë‚üßžiéàáh©”ɽ-…O¹«ëþ@׃–A~]å–
@@ -3077,10 +3059,10 @@ qeУÌ*®Š]'/Ò£ò*ÁTä=—^ûJ ¦8Á%â ’ªèÓ •ô‹Ð4LÈ)Øç°]L%½Ä»ZÔ;æ—Õ$ABGì
¤`‹¬óhü–-²t©- ·`²îåý{wÞÆSPÿsA]0H•ÿR¦ÐE—«Š”ˆ‹å¢…$jÌ&qD|tB¨46Ë»6+#5Môc®‹«óÒ ò¤ÿ?’C#]‘)ÈrCËqR¥J¥ŒN¬ŽfaÌfqRfFrS›ÕœýÚ N7úÿ®¾…Ï¡±éÇêÌ(N?YáÜäØR>æçΟíZ”Mç¼*Ƙa‹“¢S'áç“B²?•†I)WÌ……!|ÿ ç´;$¾ ˆD6fd–¦ÿVèpž1ü&A‹ôßò´5ÎãWåÁÒ¼ô<Ù:øÌ2Ì™ÕÑ =Rœ©Ñÿd”§gšš¶V¤¦giÊ4¹—[rMßà+Gþ‹þ߉–_m
endstream
endobj
-705 0 obj
-<< /Type /FontDescriptor /FontName /KXPZZP+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 707 0 R /CIDSet 706 0 R >>
+704 0 obj
+<< /Type /FontDescriptor /FontName /KXPZZP+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 706 0 R /CIDSet 705 0 R >>
endobj
-708 0 obj
+707 0 obj
<< /Filter /FlateDecode /Length 750 >>
stream
xÚ}•]OÛ0†ïó+¼ $všø+€ªJЩڀŠ¢ qW·‹Ô&Q’^ôßÏñû¤i ÄSûœÇǵ/¾­Öñ]Q¿»X]%âÙuõ±Í]<}Ø4ÑÅŬÎWõή8v·bÕÖùÚõârºœ-«²ÿU¾?îõï {·+«Ï!¸|q¯ñ×ÕÛÛ*þùðPWušÄÏnwÜoÚ8f½”ýÞGÿ?PøQñŨËürmWÖÕ­H¯’$ñÌ«bZÃ.±J1:×½-«¢e©â}(<J¥(ʼ'…¿ùÁoÕ0y}êzwXVÛ:ÅÈg.»¾=…ª¿G£§¶pmYíÄå5ú˜õ±iön¨G$Ñd"
@@ -3088,23 +3070,23 @@ xÚ}•]OÛ0†ïó+¼ $všø+€ªJЩڀŠ¢ qW·‹Ô&Q’^ôßÏñû¤i ÄSûœÇǵ/¾­Öñ]Q¿»X]%âÙuõ±Í]<
]Q4b-4i¡2M£H0ÒØ3 #K‚‘F4Œ, F»«adI4"шµÐˆ„ŽiiøYüë„ŸD§ üü‡àgIðS胟Ái5ðËHìöÌÀO"ŸŸD ü$*3ð“Ø ?Ã|<ƒ¬…gß#‰nŒYe$ØZe$žAd·pP8Y–Èné
endstream
endobj
-230 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KXPZZP+LMMono10-Regular /DescendantFonts [ 709 0 R ] /ToUnicode 708 0 R >>
+226 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KXPZZP+LMMono10-Regular /DescendantFonts [ 708 0 R ] /ToUnicode 707 0 R >>
endobj
-709 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KXPZZP+LMMono10-Regular /FontDescriptor 705 0 R /W 704 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+708 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KXPZZP+LMMono10-Regular /FontDescriptor 704 0 R /W 703 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-710 0 obj
+709 0 obj
[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-712 0 obj
+711 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xÚc`
< 
endstream
endobj
-713 0 obj
+712 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
stream
xÚuUkPTG¾óȆë(uGû^QWÂCÅøZ·`‰¸ òô±™Ë0Ì0çሠjÒ3GAŠG@^òX"")E0‚kŠZ]CP*–•X,PšÑ¾nócg´öÏVmwÕéîÓ§«¿ï;Ýu„XLÿÄÈÝá »¢câ¹Lµqs`<«µÔ&ïÞN~9¿*
@@ -3114,31 +3096,31 @@ GK›êtôËdžïýmšBó—áExáæÐà}½gËZªÝ5g:÷‚\þû¥~ÕóÛBc"õZŠOI
NÁbŽâC¤^ú®×r—`à)ê|*â+Ð%æM¤Ü× 1=ÛU8⦈ˆkQʨöR¡ ‡áyÑ Ä¶ËšªJ‰mž´Ñ¹ÃprŒú~_9&꾩ûR58WCW%Ù#B)_o-ZÈ««=%…Øä-/7ýlµ|D%2–]¨•‚¨DC°bTø¸ß™ðir8ö‡ÓálkQ(\ç-µ—:KÏ—:óÿàY
endstream
endobj
-711 0 obj
-<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 713 0 R /CIDSet 712 0 R >>
+710 0 obj
+<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 712 0 R /CIDSet 711 0 R >>
endobj
-714 0 obj
+713 0 obj
<< /Filter /FlateDecode /Length 405 >>
stream
xÚ}’]KÃ0†ïó+ŽwQ›îSeætPp›¬C¼í’³X“’¶û÷ž$ëQ ýxzÞ“¼y“ÞÍ[Í¥Ùc4¼ã°ÅÚ´V`´XëõžhKÔÍQ¢ìªõ#¼Y#rlàv‘=gZ5}gZœZ‰êwÑ•þ–¸yàv‡Ñn™Íó,z]mMYèi´Åc{*lÄ]×N5'Rÿ/ªÂUðü£­•ÑÜqÎéÇ‹– SºÖ,¾¸„¸ó}PZÚ‹UØ;ã,€T¢¹Š’¢rÍù¹n°ÌôÁ°Ù bšYÕ={×}o¬D«ô‘øw¤ÉÛª:¡óœ¥)H<ÐДѺ(b·üLRU5ç¿røîÙ+„ç$Fb]m¡ÈfOa¶¤+e¨å:]ûC@tŸÉµ$> ëi zݧ,¼<=y½zð4J<MF¦Æ&憞 <M/3ð4¸ô®Ü‚ÜÞ\󭵞ß@ŸËFi¼îqe*×åo8ºƒêh³d_K}÷O
endstream
endobj
-229 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 715 0 R ] /ToUnicode 714 0 R >>
+225 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 714 0 R ] /ToUnicode 713 0 R >>
endobj
-715 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 711 0 R /W 710 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+714 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 710 0 R /W 709 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-716 0 obj
+715 0 obj
[ 28 [ 481 ] 34 [ 667 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 86 [ 389 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
endobj
-718 0 obj
+717 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``à0T\0Å‹á 
endstream
endobj
-719 0 obj
+718 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2227 >>
stream
xÚuV PWîf.Ô•v§µ»!xÁDÅPAι\—g€aFæ`$@ÄõB&`4ˆ XP¼‘Åx#Ž@Á‰Š¯$jÔTôo÷aÕöhR[›ª}õª»ÿ×ïýïûþÿû_=ãó1ÇÝÃåa‰q13FÇ+rŒ3}½©3Í:…Áñ/‚õ`=­bŠ€±q–rbiËðÑd1¯EÌšƒ.NlÀÿ§`"†áգϞ10BìÉ} {9.Š'aÎNŽ¹c±§ØÎLJã£ðqÿg[?_ßY!ú܃&3ËÄøùúúèxÎe‚}˜(Å2­ÞbÔjEŽŠ‰òa¢}˜½…Õ0Sõ9ŒR¥Ðe0ú &A½˜1Õ#“iЛsÓ|˜„,‘±è Z†{Ô:µÂ¨V1æ•ÚÀ˜²ÔLDb|®Ï11 5ËÔ9F5ãíÍ0FµšÉ2™rd2“9ÓGoÈ”epsŒ2ÝûIF™cwxlL‚÷ÂÈ°˜ø0Ó
@@ -3152,32 +3134,32 @@ D÷…!õ©ƒm½Û[OQ©œÞï
‡Í™â‘ÿ¿íV8
endstream
endobj
-717 0 obj
-<< /Type /FontDescriptor /FontName /FPEUQN+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 719 0 R /CIDSet 718 0 R >>
+716 0 obj
+<< /Type /FontDescriptor /FontName /FPEUQN+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 718 0 R /CIDSet 717 0 R >>
endobj
-720 0 obj
+719 0 obj
<< /Filter /FlateDecode /Length 472 >>
stream
xÚ}“Mo£0†ïü
÷)=P !ÐTÒ– ©M³%»Ú+±'YKÁ ‡üûµ=¦•ªf‘@<̼óåav·¯ü¼=‚¿x äúvT üüµî¼ÙlÓ²±9ì
endstream
endobj
-228 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FPEUQN+LMSans10-Regular /DescendantFonts [ 721 0 R ] /ToUnicode 720 0 R >>
+224 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FPEUQN+LMSans10-Regular /DescendantFonts [ 720 0 R ] /ToUnicode 719 0 R >>
endobj
-721 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FPEUQN+LMSans10-Regular /FontDescriptor 717 0 R /W 716 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+720 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FPEUQN+LMSans10-Regular /FontDescriptor 716 0 R /W 715 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-722 0 obj
+721 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 778 528 ] 95 [ 736 392 556 394 278 500 500 500 ] 104 [ 722 389 500 500 750 556 ] 111 [ 750 528 ] 114 [ 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 144 [ 500 ] 167 [ 750 500 ] 207 [ 444 ] 251 [ 444 ] 257 [ 444 ] 277 [ 444 ] 283 [ 1000 500 ] 319 [ 556 556 ] 343 [ 278 ] 428 [ 500 ] 499 [ 472 472 ] 502 [ 278 ] 575 [ 556 ] 589 [ 556 ] 612 [ 500 ] ]
endobj
-724 0 obj
+723 0 obj
<< /Filter /FlateDecode /Length 59 >>
stream
xÚc``°¶¯ÿüß¿ÿþîúÆÀÐÀÀØÀÀÀÀÈ
endstream
endobj
-725 0 obj
+724 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8767 >>
stream
xÚÍ{t׺îȲ4ŒD`†Ì˜zï$L ½ƒé¸WÜ‹\±-Ye«¸Ê½È– ²±±é½7'@HB HBIHȱ}³ÞH‡sBrîyïÜ»žä%ì™Ñì¿ÿß÷φ‡ÙÚb<¯ÿ’ë—Ì[<jÙò5!AîÁÆYãí+ t·œ\Àd;š€±ïñXÚ†eø¬£-jÇßcgÛ1í P¾D‚÷0ŒWô÷iãÕ›5Û â~¿ÄnˆåÀV»÷1‘ ÆÃúc4öû‡ózòxä_-;qìøñ“煄ƆûûúE:N?~ÒhËç ǹc—¸{„DGø;º{9.ë¸|¬ãŠhãð`Go?÷@ÇÇuÞ%ÞᎾá!’Јc×ùùG8F‡„8rÿ†{z»Gx{9J‚½¼Ã#ý¼:¯]ç¸ $8Òq™¿§wp„·ã˜1ŽŽÞÞŽ~‘‘¡Œ)ñî;·»&b\`çEã,ß³`åŠuc–-ž÷ñŠµŒ‰tô wôòŽt÷Œû'%»¬ rœãâá½ØË;8Ò?2ã^6
@@ -3218,10 +3200,10 @@ TJ%Hàü§÷÷\ØÙ˜YF{(e!ñäöªÄÒŠŠ¢g׵Ι´ÆsG,Ýé^¶‰ƒºmD¼©©ïßœ›ˆÈJô`PÅ›ƒ6´ßL‰½”)
NJ¼Húœx·ô¯Hq7ÌŠwcK‹1Bˆ5³»ßî¿7…h·V¨ÿ9!6²Û¶ƒŠx­ElŸ">ë2R â¹ñ ™D_wô_¿úý!.×Éu4;„Ë4Ž±·üG^,e7ô= æX¶þ»8H ì¼b¬Ï4é%ëÇÙuv=Lݯô0¨5¯di4ÚóvvÆm¦&S«Õfdêìzþþ¸è
endstream
endobj
-723 0 obj
-<< /Type /FontDescriptor /FontName /JXVJCI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 725 0 R /CIDSet 724 0 R >>
+722 0 obj
+<< /Type /FontDescriptor /FontName /JXVJCI+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 724 0 R /CIDSet 723 0 R >>
endobj
-726 0 obj
+725 0 obj
<< /Filter /FlateDecode /Length 788 >>
stream
xÚ…•[kã0…ßý+´…öÁlÉRSBÀqlHÙ^HJé«k+YCbÛyÈ¿_Yg’,Ë–-´ôÓeæœÑXºùñ¶ñã²ù2¾¸çlmúæØÆOžóÖ»¹Y6Åñ`êáŘҔçÙþ‘½uM±1»MVËU] wvñª.öÇÒœWý{ÑÂìªúºdÌÃnßͧÿôùñ”¬üŸÏëæ×÷×fwÜçÏÇmïÕ°·Ëÿ³’ÙiöÝ4s>L×WMýÈ‚{ιHë2i£ÉÞ›P69KßVuÙ‘Zö5j÷‚•U1¹¿ÅÁVkܼ9õƒ9¬êmãÍflb3WýÐœî;oòÚ•¦«ê»ýN¤]´9¶íÞŒ‚÷æsVš­mëô’ ›ŒX•v¶Nß–âºéýÔ: ¹hJÓ·yaº¼ÞofËÀçl–ÙŸ¹gêò¯yŽ]_[ ]pþwªÎSů¼ ˆsÌ%Ž( 1‚戤£()GzÒ %(FB>E„|"-…3Å> Ê°$ÌE èTDÐ)@Ð) EDÈ
@@ -3230,22 +3212,22 @@ xÚ…•[kã0…ßý+´…öÁlÉRSBÀqlHÙ^HJé«k+YCbÛyÈ¿_Yg’,Ë–-´ôÓeæœÑXºùñ¶ñã²ù2¾¸çlmúæØÆO
Jà2…“ S7à8©Ô© Ô?}
endstream
endobj
-227 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JXVJCI+LMRoman10-Regular /DescendantFonts [ 727 0 R ] /ToUnicode 726 0 R >>
+223 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /JXVJCI+LMRoman10-Regular /DescendantFonts [ 726 0 R ] /ToUnicode 725 0 R >>
endobj
-727 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JXVJCI+LMRoman10-Regular /FontDescriptor 723 0 R /W 722 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+726 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /JXVJCI+LMRoman10-Regular /FontDescriptor 722 0 R /W 721 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-728 0 obj
+727 0 obj
[ 27 [ 850 547 ] 34 [ 800 625 575 ] 38 [ 575 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 63 [ 625 ] 65 [ 419 313 ] 71 [ 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 594 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 121 [ 563 656 ] 125 [ 625 ] 168 [ 547 ] 251 [ 513 ] 277 [ 513 ] 319 [ 625 625 ] 502 [ 313 ] ]
endobj
-730 0 obj
+729 0 obj
<< /Filter /FlateDecode /Length 42 >>
stream
xÚc``°6.¾˜¸ï߆7v¥0€@ 00°€hF„2`
endstream
endobj
-731 0 obj
+730 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6476 >>
stream
xÚÅy \SWúö܈ˆ–xsõÞà¾ãVwêŽ*î¸dße ‚ìBHröD@Ä
@@ -3268,10 +3250,10 @@ qla1É^5Ùy{òyR
H‘ß@— Îp/Ênæ×°M—§”ñ…^húr¹–ýÔBzý|;›HíAï›H¡k²Â6r·¯D ,‰ß¡¸?ôçŽÒÏ—ÐÓwàûÕh§[˜Tu\B˜<>oWY*‡iô’êÏågíÛ­)àºÄ×;‹òÌ-°b¹gå2ÄPYµê.Œ¥ñµXæ‘…“ÛÄ`Wt´¸Å5p¡iÉÑ;ä²ÞþõÑ9ÙuÓÚ#ç¶~>Kðè Üóßìc]—§ äñ_ ùŸžÄ|­‚µq?=Ž©ÿ÷8Æý?=Ž‘9ëà2ƒÅÐ_œŸ™TÆE„……×&—fð0jŠøÕ.j¯^øOíÕïþ«öªÌ¹Hà˜†ˆ†°˜¤„ŒL‹qÿú`õH\š_[j”ÿ4l9´þ;À&T«„PBµ®”1‰wwܸÑ|cÿòßI Õ¹\ºD¥ÉÒò!“×Ï^´BªÕj5Yr!Ë å®­83»iŠTmÈÑä²…’üÜ\’ô=þë9~²HÐ@*“£ÍÖ¸E×ß y,ÍÑfe«ÙtI†ZΗ´vó‚€;æ$ºIÓsÕù\¡$7';×À7=:sçÚE©Á`ÈÉ–cO§ÿz"Ê„ž*X×)Ì&Ù€F¸Á\ >·z[d°o@]@«qOyA§u ^¶z«4}·UÛ¥—¤å•ýéôã¬í{ ¬ýÐEÍ´>‡ÿƒcJ‰àYÛö•H¸%kB]í»#û;õ0fë³³õ}A~ñ{{sÎÉ’\Ca~¶¡0Ǿ§p±Oû>æ̃Ú
endstream
endobj
-729 0 obj
-<< /Type /FontDescriptor /FontName /CXYYVI+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 731 0 R /CIDSet 730 0 R >>
+728 0 obj
+<< /Type /FontDescriptor /FontName /CXYYVI+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 730 0 R /CIDSet 729 0 R >>
endobj
-732 0 obj
+731 0 obj
<< /Filter /FlateDecode /Length 644 >>
stream
xÚ}”[‹ê0…ßû+r„™‡Ž½&ã ‚—
@@ -3280,22 +3262,22 @@ g.¨ 3ÚDOÁ¦¥­þû“dm8È¿î½³VvÒ=úõ±ñç²Ù+?~
Dèn’Vˆ¡1Ò
endstream
endobj
-226 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CXYYVI+LMRoman12-Bold /DescendantFonts [ 733 0 R ] /ToUnicode 732 0 R >>
+222 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CXYYVI+LMRoman12-Bold /DescendantFonts [ 732 0 R ] /ToUnicode 731 0 R >>
endobj
-733 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CXYYVI+LMRoman12-Bold /FontDescriptor 729 0 R /W 728 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+732 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CXYYVI+LMRoman12-Bold /FontDescriptor 728 0 R /W 727 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-734 0 obj
+733 0 obj
[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
endobj
-736 0 obj
+735 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xÚc`€
endstream
endobj
-737 0 obj
+736 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
stream
xÚmRkHQ¾ã®NÑÌmµZ›½‰VfûÀ,ìaàc·²Õ6Ý !
@@ -3304,31 +3286,31 @@ J‘j¨íB.Ô¨+S- ¥%—§E…h/ºŠ€(Ð~¥UvFÀ˜ÈšLOéÁúlÙ¹iÖIê¬ä}¢¨ˆÌûUÐÒQâuöÅ5²;
­KŠóWV¸Wv^wï¥Þ4ºÚÅZ¨¹ÔüÑy‰ùƒbÑÎX4=ÓÝMQ#§»c±Îh´3z6F¥ÿçE:’
endstream
endobj
-735 0 obj
-<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 737 0 R /CIDSet 736 0 R >>
+734 0 obj
+<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 736 0 R /CIDSet 735 0 R >>
endobj
-738 0 obj
+737 0 obj
<< /Filter /FlateDecode /Length 382 >>
stream
xÚ}R]kÂ0}ϯ¸{ô¡6uº¡”Âü‚‚_X{­ÉÕÚ¤¤íƒÿ~Ij†[!¥'÷Ü“sOÚyÙ%ÞW'ô^ûöXªZ3ôfë´ Î\±:GYm9ò¶ZN`§K°‚î,žÇRT=CŽ%ËjŽ-ë9iŠ!{tøåMWûãqé­ÖI*˱·ÇK¥Ú£¶é ªÌÿå)Âó"8‘OÔ¥PrAŸRj6’ÏTnÇ+‰³~kú,$×7Ÿp²®I0
endstream
endobj
-225 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 739 0 R ] /ToUnicode 738 0 R >>
+221 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 738 0 R ] /ToUnicode 737 0 R >>
endobj
-739 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 735 0 R /W 734 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+738 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 734 0 R /W 733 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-740 0 obj
+739 0 obj
[ 28 [ 514 ] 34 [ 728 571 ] 43 [ 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 343 ] 66 [ 286 ] 71 [ 642 286 ] 75 [ 856 ] 77 [ 571 ] 81 [ 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 90 [ 799 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 ] 115 [ 771 542 ] 118 [ 542 ] 125 [ 571 ] 168 [ 514 ] 251 [ 457 ] 277 [ 457 ] 502 [ 286 ] 575 [ 571 ] ]
endobj
-742 0 obj
+741 0 obj
<< /Filter /FlateDecode /Length 41 >>
stream
xÚc``à0M4\8%nÂ#³X@ Xp&ƒ
endstream
endobj
-743 0 obj
+742 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4412 >>
stream
xڽX X纞
@@ -3349,32 +3331,32 @@ VOô| yâ=.j´XÅw¡Xþlo{z:
ì;lå……EÅžÿ7®qª
endstream
endobj
-741 0 obj
-<< /Type /FontDescriptor /FontName /IUSWHX+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 743 0 R /CIDSet 742 0 R >>
+740 0 obj
+<< /Type /FontDescriptor /FontName /IUSWHX+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 742 0 R /CIDSet 741 0 R >>
endobj
-744 0 obj
+743 0 obj
<< /Filter /FlateDecode /Length 558 >>
stream
xÚ}”[oâ0…ßó+¼Hô!Å IÜV‰Ñ"m/v·¯!ØHĉryà߯íãP©Z Ä—™9sf°}{ßù YÈŸÞs¶¥¶ê›œüåKV{£ÑªÊû’T÷J$IÑö‰½7U¾£Ž—›ÕFÝNÞ¨üÜK²þôL§B}¦˜>l¼§ós÷ûû‡ÿãe[•™zô·têÏYãsSµ/º³Îþ"ÓQv#ʬÌ/jÚ¢RO,¸çœëk%—Ui&l½‰sÉ&ƒïc¡d㬲ƒ1î!“EÞ9²Ÿy©WeŠw—¶£r£Ž•7›±‰î\´]s±®ï¼É[#©)Ô‰oxÔ9»¾®Ïdü0îÍçLÒQKë½f%±‰_êhÑ]níá³f©‰…–Î+ImåÔdêDÞL/ÏÙ,Õ¯¹GJ~‰sTŽ@0|Â!”ÿÉ#,µçI07†–¢4EÌÑ3h
BÝtZYÒ-¥ÈŒ,MhÆ tH PZ S€\?GNóÁRÄÑorš hFð= æÈiº:¸NÖ–bøLRf9(²$Åè/qB÷ýB§‰‰bl7FwJ0ƒÀvÌ °Ý*16¨³1Gp-°AáT°Aá\Ùp®Á§€OáfO®{[ ç3¦ðº¶± ÀÄk«¤F)ä…î—Ñ8iöd™Ciî×õä}Óè `/¡=åæ|Š®÷´®jSeßö‚6†ÞRï/¸³Pî
endstream
endobj
-224 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IUSWHX+LMRoman9-Regular /DescendantFonts [ 745 0 R ] /ToUnicode 744 0 R >>
+220 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /IUSWHX+LMRoman9-Regular /DescendantFonts [ 744 0 R ] /ToUnicode 743 0 R >>
endobj
-745 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IUSWHX+LMRoman9-Regular /FontDescriptor 741 0 R /W 740 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+744 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /IUSWHX+LMRoman9-Regular /FontDescriptor 740 0 R /W 739 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-746 0 obj
+745 0 obj
[ 75 [ 986 ] 95 [ 887 ] 98 [ 467 ] 109 [ 657 ] 251 [ 543 ] ]
endobj
-748 0 obj
+747 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xÚc`€Ft
endstream
endobj
-749 0 obj
+748 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1088 >>
stream
xÚ…TmLSW¾J/w•Q*Ò‹÷˜ŸÛhAŒ]@EatåcÀ&vFRè¥t”ÞÚ{k%J„AÕriùP œŽ­H™cKƒh4ML–ýÂÄlf¸es&îã‡ó\9ĬY¶%Kö&ç=ç¼Ïóæä<oòà˜L†á8®ª2”ë‹ßyE_RÁ5m¹™{8«)I@JIZJ䵸DGIL´”,C)dôMR¶âA×Òä‡Ódö˜µ†ŸZÉg_„=dFø$;H®‹úÈõ…á˜
@@ -3385,10 +3367,10 @@ W-`gµlƒÑZ¸zPÅV'Ï:x`vpN;¿Yª,<pqŽFÞ¬•5ò¬ 8m&Ö„½]Y
yäŸ{{`,$(×u^F¹fHJU}l½ÔÄ·µZ9z’_®…Ù_ÇŒôM O©ûH”(rCØ°m?°'’Ê`ÍØàœÖUYµdœH&Ãr$ø»}Þ._W_Ÿwø.IÎ÷z¯õûú»Ït#_øa­èT
endstream
endobj
-747 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 749 0 R /CIDSet 748 0 R >>
+746 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 748 0 R /CIDSet 747 0 R >>
endobj
-750 0 obj
+749 0 obj
<< /Filter /FlateDecode /Length 381 >>
stream
xÚ}R]‹‚@}Ÿ_q÷!¨s²­¥aû¡/*bÙ7›¹¶:#£>ôïwfÌ‚EVP<žs®ç\í¼NÞ'WWô†}
@@ -3396,23 +3378,23 @@ G,T¥z‹mœ“Ng©X•¡,wˆyÃS8hÅNXBw-#)ÊžG’¥ÇFÕ.šãMȗľºgüòÎ߇Mtñ6Û£Êb9ñæ*åµ–³(S
Ü€ êB(9…AŸRj¬$_¨Ì+ˆÿ~7’ëGB¸Ú¼d
endstream
endobj
-223 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 751 0 R ] /ToUnicode 750 0 R >>
+219 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TZPLIV+LMRoman9-Bold /DescendantFonts [ 750 0 R ] /ToUnicode 749 0 R >>
endobj
-751 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 747 0 R /W 746 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+750 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TZPLIV+LMRoman9-Bold /FontDescriptor 746 0 R /W 745 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-752 0 obj
+751 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
-754 0 obj
+753 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àp`dP`ñhhpP
D)
endstream
endobj
-755 0 obj
+754 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xÚuV}TWŸ!É@5ÊšiZ©3£K- ˆ_EÛAE¥ž%1„L˜BD<u¡¼
@@ -3427,69 +3409,70 @@ oŒRWƒÉ§Ç<ï§|â Ơ‡ùP"‚{än£ËPÂq%e}åGÜ®þ©”Â(ï¼WÈ—N˜)QuoY—U–O&¿˜Pn^
g÷žÇ4úÊ8Ô‚û¼ÁE>*Ó`¨ÜzŠK@E%µ¡1«Î¬xŒºhàÒà@á,ý+ñ&p–³•Š_(½›ÈN(/è?=ûuÿ0Ý•ÂLïªDB½0O>`ôåRì ±ñ’F¢¾o§§n0Äkmè(V”Ô×®·Ò–ä× ÖF"ò’3Dg¿Ï·Ñïûñö^à¢?@·%ºÖî§âxSÛEÝþV÷ûÍý!6¶ËÎúMÈ:GÓž·`xý¼#qõNfª‚Ó4¼ áe'¯Ö_%#…ÚÁÀõl|ZQ“åñ»žúýuýJØæœeŠq?ôHÒR@8(«f©½u\Þoí!d¦­¹¹u8iwîì6sÕ;ÌÚÁí£YpoÊÛši¸PÐHú&N¥gúŸ ¿Òy¾«[â”Èj;„¤ørg³ RsJc¤Oét~šwú@û[“Ífk¶9ìR©ÛéúýMíÒÿ®ÌÞÀ
endstream
endobj
-753 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 755 0 R /CIDSet 754 0 R >>
+752 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 754 0 R /CIDSet 753 0 R >>
endobj
-756 0 obj
+755 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
xÚ}’]Oƒ0†ïû+êŽ`Dpf!qÌ%D§f,Æ[ÖžÍ&£%.öïm{†&F%ðpÞóõÒÉÅkÜ ½ƒàzÊè:=A±®[2™,5Pý3€
endstream
endobj
-222 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 757 0 R ] /ToUnicode 756 0 R >>
+218 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 756 0 R ] /ToUnicode 755 0 R >>
endobj
-757 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 753 0 R /W 752 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+756 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 752 0 R /W 751 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-758 0 obj
-[ 28 [ 490 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 75 [ 816 ] 77 [ 544 ] 83 [ 666 ] 88 [ 272 ] 105 [ 381 490 490 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] ]
+757 0 obj
+[ 28 [ 490 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 77 [ 544 ] 81 [ 490 490 666 ] 88 [ 272 ] 105 [ 381 ] 107 [ 490 ] 118 [ 517 ] 121 [ 490 ] 187 [ 489 ] 575 [ 544 ] ]
endobj
-760 0 obj
-<< /Filter /FlateDecode /Length 27 >>
+759 0 obj
+<< /Filter /FlateDecode /Length 31 >>
stream
xÚc``à```
-Ph`(`r`€
+P`)h``r`€
endstream
endobj
-761 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2199 >>
+760 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2256 >>
stream
-xÚ­V{PSW¿’+¦6×´5Wï½v¬ë£<|?WT*"*k©/ p¹y
-NŒH2!çÈ?D¨h˜H.RþžÛ)¡ááÓ¢µ¹ºLµFOM ŸúÉà:›Š
-¥bS7fiMLV&•J§S±¡Ô²P*^k¤™Ôx-M¥©4©Ù”6ƒJR­¦ ŒJÇPjÖËL¥’4™ eÒê²(á«Se«RU:e ÓU:J¯QQ1ɉIÔb-­§â27ªhFE…„P£RQ½>wNX˜Þ ÕêÔa‚–ýF‰ ´ Y¼<>)$nIô¢øÄE¡ú|=•¡ÕQé*}jf6ú_—|+ˆ×êrR³#Óµiª%é*ZŸ©/@„1
-™ÌFæ"QÈRd’ˆ¬F2‘MHbD
-ÓB0…1>Ö d;‹VDÔ®¼¤ :.^'¾!É’ô¡-ü?e¥ì#ÜánºÏ$?ôLëéõbû8ú±â‚!M`lf8WKÀh´ t¬?JЬs­ÇgÇ%ÇÒns£¯¾ÞwL ŠÈ/O7tà'/©&“Q~myÄÌùJlÁ¼Ÿt__ýªã´›ÀZÖTîWÇ=Ý®{$?ó¬bBÔ¦ )ií§á‡pþžv!+,<38EpÔ0É ÇzG<äú¹uŠ<Ȉšé}’›;¬ä€Í(·F&Zâð=­x[°³$›ƒN³ïi'¡£í¯Þ4“ôÂ:ƒd¦uS1VK:v à{8–]Åq‘2ÁÁrŒIO_ äÒà\;Žûuƒ*³­Û¾k@-¦a]8ša·Fýê®ñ.hÁ[î{#ÉšÐèòêÃät «àË$°Œ&–ñ©˜|þ¯èðÈ›;‹nÀè ÓÚ©îÄF,à´ÜDEƒ¹EóYzV‘™hÌÑìUá“?™ŸÐ–Q]Bb³ÐéÊ•m:g)±vËZõgÊÅý ð]8ôŹÛM[/-ßOøW¦ãñ[»€´V—¸=ÊúõÕ."ûT¨Á¼výN³íHÖ²ãè)P…WV{%‰M_`-+µZ”æêâ:gC•—àçóŠV˜KÐù9V#>¼ll
-d¯‡Ë!Ò7Î2ìÁ«C‚ƒÏu µ‚„qèSТ?@¥×ìÌÄg¥.OßLÞ1'{ãð‰ªY&Yñ³{ñÂuçV‚ï-—@%Ûì~’E—ƒ¯HþrãÂåË®Õñ_ü?)ÊÆÿ'xì×ð{¸ÿõÙÿ«¬Q€ð¥öå4úîɧpæÓ@r¥Šgûxœà|[N-¿)§û/­÷Ý÷6¿a)ü#
-‡üýîK2ôýTÀKø™O¦7Õ/3
+xÚuV Tgž’‰mL5cº5ƒ3Cõøâ¡V¬µ+
+V*Dk­¢ y 0< )Ä "h ˜ ƒ"(h}€T\kik[+­®[í®li·ÇÓ³ÿÔáìîÐîº{ÎîþgÎ?sþÿÞû¹ßwï¹$4Ó“7nH]7/)9M—ŸI/X‘¦Ò˜ò2õ—«Ùpöe %Ø0„!`‰–²T(/ž‘†Ž¿Îu†‰ôO9Ñ 4¿0±_™ÊÞ”¾ÌMZ+9qÐ/}‘„ d:B ß# ‚ɹ@ùÿ`FFG¿¯+(Ñçh´Fjatô¢ùûR*.’JÌÜ‘«3rs¨L:›JŒ¤’#©™?Í¡fëh*K¥ÍÌSS:5•®ÚD™ *½Òèu¦ÃœH*]›c Ì:}.Å¿õª<U¦A•M™èl•ž2jUT†õéÔjm¤’rv¨hƒŠŠˆ (ƒJEiƂף¢Œ&M¤N¯‰Ró6†¨¼_ Q~«ßNIHZÿfÊú7#ÅFJ­ÓSÙ*cfNž!ò¿~òÙAŠNŸŸ™·2[—¥Z“­¢9Æ„_aH ²Y†Ä!ÉH*’†¬G6!9H.R„” }!±B>üšŠLHl(R‹p‚u!±!MÂÂ]ÂШÐäÐfÑd#¦ÄÐLîï²*æý"¸ÏÝvï®Y~ü ˜5<âÅŽ°ô#ÅeÓz4Í`³¨À@ãÑAл­‡8¦Ípm×&mH¤ÝŸ¿¥ÅJÊÈÓ¾¾Ö^üÜUÕrÊm­‰]²\‰­xãOúkŸœíísXû–º£špÏë.É-¹¨˜·sûæ¬î>ø\~¨ÛAȪ/L<ö5L÷™ÞiØQ6CQ ¢ñ }Düå>«š êk<a¦Åÿ#Ðw=v†dòÑW퇺IèxˆŽ6ì\Bza³I¼Äº3‚XÄŽg8U g2¹p)ãц5˜°ï!›—)˜Yì{¨Ô[l5 ÜFpƒã ›£QµÝ÷ œïhÇÛï»dÌh|Mà òèFÁU‹a5;Y$ã2=pÃ¥?x Ã#ö—Ý€ñ7@¿µ_ÓM[ÁêعŠVK»öìÜ2 áË×Vá ÞJXžÖ¥nØMb®(/+¡³•©]zg±õý­šw”«GÓà ðùnµU^}û(Øô.XŒ§Tw imØíö([ö·4¸ˆ¼ó½ ÿöÓÏnm's‘½=çA=^Wìu$¶x…µºÊZ¡´4”7;[ë½·œ Q”€¬Ò‚.ηá‹À¾Vpª%H2]¯xfIˆŒ?§X»%j^\ÿ§£çd€py‚ÏñûP^%eã(`X C÷BtLþp,ö:Ö÷¼È ‰Õõ=$ŠbW¸°
+~|pÏf’kC3*@"A£Žö>ÀàCÀ~œÄ^ZÏþ¨è0¸ º"SA¡×èpûý„l6ÏO's-‡È0Ü1ŒÝd[ùÐïêAÇ^&¡A»ñÑCoÙŸƒÏU½f¶‘{Ÿˆ±±_?sVò€þg€Až8fØ$ƒ®-gI˜‚þtãòG¹6¥\ùÿ2”Y½ìj³ cvŒÙmp§*æ<á$œt~8'ç¦ýeÃçƾ‡r"ö B ’ ·ï鶫puFs?MœÝ{õ´ò$¸vô,ñAû™æ.¼çtIv<º$©•¼þØ^æc^~ºB6òE&]TÃË—½†ú@­™(0¼«ž‰Ó¨ï\"Ç[QMMù""ap tâß{”ùø,öÃa¾ffÜ9÷.y,d![¥›ûà îÛg5Óþ5sO~Ç=`÷?1¬‚¿E᤿Þù‘Œ|1pbn Á‘°íתÃÀ‰¶ÿÂ÷˜à›1!LêW=m6êóÛŠ}A¯§qM|Æ” L2ËŸ ›¼0Ì‹ýïÀ)Š+¦t4žÎÌN
+HÐU×¥ô.!°¦Ò"+­:¡¸|ªÿz€„+Ùå¢Oƒçkݸ ýgœN^Šéð¦â~Õךâ~V¼w3žºŠ~MM꒬ɢœ{ ®{ÛsÃpÿæÂÅ!†ì¾åø~H{Hñˆ­àÅRœT¬Ås[¡ ˜¬øù\y|Õ|•ø´åãà'‡Œ‹Ýäá4ðF‚RÆE^)bãÌr¨» ñbSØep¡âˆ¹n×AbcÀØhrœÓ¨ßéuù%MW[‚ÊC¶¦]‹ÅVAh stƒÛ>躤l¬n)*©´XlJº+uƒRãÏi×$Î
+‹Ë‚ﲕ•›T7ï&
+}^‹ß6ÝŽl&‹±B’_¶®´@Yî,kv¹\ÎF¢+p¼½›gÛ³Á’š®¬¨+õ´p¹ø°—,CƒÊnÃq]W¡ÄÖ貸ðfgÓ!R6ÛÚÃJz¿+‚«Ìÿj%ÿ´’Û~²(þï–‘€Æd¬Z±´êü
endstream
endobj
-759 0 obj
-<< /Type /FontDescriptor /FontName /VDLIBI+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 761 0 R /CIDSet 760 0 R >>
+758 0 obj
+<< /Type /FontDescriptor /FontName /MVUQSB+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 760 0 R /CIDSet 759 0 R >>
endobj
-762 0 obj
-<< /Filter /FlateDecode /Length 440 >>
+761 0 obj
+<< /Filter /FlateDecode /Length 449 >>
stream
-xÚ…’Mkã0†ïþ³‡@zp-Û‰½-ÁÐÄ-úEJ¯Ž4I±ddû¿’ÆnaÙ°?žwf^föë}>}À0½e°ÅN†c¸y©Û`6+5Tý+¢@1E»{x7šï°‡ù¦*+%û+®?'Õ¿Ek<Iõ#q}`¾ÇÏð£|®ÖUøü²ÕM­â$Üâi8×&d.m/û³•ÿG 6 ×Âà } é¤V÷ß2Æì‡G%6ºq‡ì‚h4
-Ñdý(•0£[88ïAœ€¼ÉÿóÆNË%ï.]M¥Ž:X­ ²e×›‹÷}DoF ‘êók&­h7´í!`AQ€À£­mçôZ7‘›@%lTö—«£øIÚ_Z„ÄsL–¹ص5GS«+;VÀêÉþŠ
+xÚ…“Án£0†ï<…÷)=PŒI ­"¤%)Ҧ톴Ú+±'YKÁFyûµ=¡•V-ˆùgæ÷Ø̾½Õáw¡&÷”ì ×£á®·MÌfÍÇÔð @LÑþ‰¼ÍkÈ|]m*%‡;+®?&Õ¿Eœ¤ú’¸>d¾‡_áöãýg]„?¶;Ý6*fáNã¹1!ui{9œ­ü?JbÃäV˜øB`z©Õ‰ï)¥öókݺEöAt5J¢ÉúQ*a®nÉÁybF„äÕü“·vZ.¹¾ô´•:ê`µ"‘í,ûÁ\¼ï» z5ŒT'2¿eÒŠê±ëÎà ä9p´µíœ^šHä&P •Ãåæ(¾’ö—ó£e®ô]ÃÁ4êÁÊŽædUÚ+@‰¿â³GD+˜^ãt
+ñßq…âµ-Di玒ÔÓ"Ezô”,
+Tfž éiƒôìi#•H¨L°Ã2ñ´¤Hžæ¥Ø/Ã~)öK˜§ eØ/»:Ã*…S2{g,)}¬,r\¹_©’ÛñÏMá£1vGü±ðSwó–
+>ON§;—åoä¦?ÀÑküAª ‘
endstream
endobj
-221 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VDLIBI+LMRoman12-Regular /DescendantFonts [ 763 0 R ] /ToUnicode 762 0 R >>
+217 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MVUQSB+LMRoman12-Regular /DescendantFonts [ 762 0 R ] /ToUnicode 761 0 R >>
endobj
-763 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VDLIBI+LMRoman12-Regular /FontDescriptor 759 0 R /W 758 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+762 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MVUQSB+LMRoman12-Regular /FontDescriptor 758 0 R /W 757 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-764 0 obj
+763 0 obj
[ 66 [ 223 ] 77 [ 484 ] 81 [ 470 ] 84 [ 484 ] 105 [ 340 ] ]
endobj
-766 0 obj
+765 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xÚc`€
endstream
endobj
-767 0 obj
+766 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 759 >>
stream
xÚuR]HQ¾×uM'×´Ý$uö&JîìfšôâØZù³¦n¡c;îŽN;23»«E˜ýàƒÙöPaPQ½(ê*YØßFB>ô¢XD܉1h†è%è»ðÝû{¾{¸‡A
@@ -3498,10 +3481,10 @@ xÚuR]HQ¾×uM'×´Ý$uö&JîìfšôâØZù³¦n¡c;îŽN;23»«E˜ýàƒÙöPaPQ½(ê*YØßFB>ô¢
Û'5;¶îÕ¬{ßk—-MW<sÏžŒŒ>¢ÒyÎPsÈ-úT‚2LDf_Le†qgìF,™ªñ .rÍ
endstream
endobj
-765 0 obj
-<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 767 0 R /CIDSet 766 0 R >>
+764 0 obj
+<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 766 0 R /CIDSet 765 0 R >>
endobj
-768 0 obj
+767 0 obj
<< /Filter /FlateDecode /Length 383 >>
stream
xÚ}R]kÂ0}ϯ¸{ô¡6u:™”Âü‚ÂüÀ–ákMn]À&%mü÷KR«0æ
@@ -3509,22 +3492,22 @@ xÚ}R]kÂ0}ϯ¸{ô¡6u:™”Âü‚ÂüÀ–ákMn]À&%mü÷KR«0æ
Oªàd¾PWBÉCJ©ÙXI¾P…°"þÍ%øï\H®oVád“`\°ú†Ü›&*Ûœ\«‹X抄!øædQÕúê\ˆ¿Óµgè?ñh8IS–´~€’(Ž¹‘6m³Á·ãÇÜTE}}–ã'½–#‡ƒÖ0S«2c¨3yFšháÚ<AÉÕiÛuÊ[hÝ礫°ïL[ñÈèPúö9´lÑÊ¡IТu‹ÆM©C¦Á¡qÔÊ;=ëĆzœ5Z›©]òn4;”x¿œR•¶Ë-w«ÝfÑnM~
endstream
endobj
-220 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 769 0 R ] /ToUnicode 768 0 R >>
+216 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 768 0 R ] /ToUnicode 767 0 R >>
endobj
-769 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 765 0 R /W 764 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+768 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 764 0 R /W 763 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-770 0 obj
+769 0 obj
[ 28 [ 459 ] 50 [ 406 ] 66 [ 250 ] 71 [ 576 ] 77 [ 511 ] 81 [ 459 ] 98 [ 359 ] 104 [ 668 354 ] 115 [ 693 485 ] 502 [ 250 ] ]
endobj
-772 0 obj
+771 0 obj
<< /Filter /FlateDecode /Length 27 >>
stream
xÚc``à``P`Pdq`P8 Á@`
endstream
endobj
-773 0 obj
+772 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1830 >>
stream
xÚuUkP×ÝEUm™8Ú(wÝM†ÆNmvhº™v‚k<<Ñıc ŒÐ[æ%@Z]-ÄÓBc&Pœ4&'㌧vÇž>ÆN§išdÒIjÏ4¾K×Óé*™ôG÷ÇÝ;ßýÎÜs¾{ö~("—#(ŠnÉË{UŸS´#/ÿ­Ú`ݵ'õ±Òc18›YÂSÂÓ@M [áIT ’Z&0r1¬–½§–?L¶*öþc]ñ$‚ ÑGóÛ
@@ -3541,23 +3524,23 @@ jq½èS”žßMÿ‚üõ›¹¢<D'ÃNÀ yÇðÑ»š?ÞÉ[ÆÇáñÇy‰~÷-(1üŠˆ5+ØZ¤ý-NaFG.åÀ¸±E0NŽ]
…Â!ŽëîœëU«c±N®;Ìq]]aõ¦-H]:
endstream
endobj
-771 0 obj
-<< /Type /FontDescriptor /FontName /LLXTJU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 773 0 R /CIDSet 772 0 R >>
+770 0 obj
+<< /Type /FontDescriptor /FontName /LLXTJU+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 772 0 R /CIDSet 771 0 R >>
endobj
-774 0 obj
+773 0 obj
<< /Filter /FlateDecode /Length 425 >>
stream
xÚ…’Kkã0…÷þ·‹@ºp-åÙ”`˜qpI$™¡[GºÉbÉÈö"ÿ~®$»…ÒЀƒ?Ÿså£c nÞvñ/iïl±6­gÏE +#Úuó‚(Qöjý
Ú£§)´ö4 sóq {OÓI EБÅk÷&AóÄ×3¢ã‹4ìÀ'v›u_î£\ÑZKÍúÏëÛs½)' 2•›ò—?:ýIvôºŽþÁ°þ©
endstream
endobj
-219 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LLXTJU+LMRoman17-Regular /DescendantFonts [ 775 0 R ] /ToUnicode 774 0 R >>
+215 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /LLXTJU+LMRoman17-Regular /DescendantFonts [ 774 0 R ] /ToUnicode 773 0 R >>
endobj
-775 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LLXTJU+LMRoman17-Regular /FontDescriptor 771 0 R /W 770 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+774 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /LLXTJU+LMRoman17-Regular /FontDescriptor 770 0 R /W 769 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-777 0 obj
+776 0 obj
<< /Length1 1524 /Length2 7052 /Length3 0 /Filter /FlateDecode /Length 8075 >>
stream
xÚwT”]×6Ò©”R#Ò ÝÝ]CI0ÀP3 #1„tƒt—’
@@ -3589,10 +3572,10 @@ lN¶IúóŽÔ2º¥›ð*ʪŒŽ°)q»œ2DÀnŽWtÏx8Ó¸‘ºÂ©tç§ÙTªº[máˆ9Î=¹Y2›ñˈ¥rv»•M‚»_]
z ˨i¡ØBÁ|)h×CߤöAÀfh¹br@Ótq+ÞãöêÉPÿþâçš“éÒz}‹ðØ«Ôd•¡[ŸÞw¼D}KÏ]~ø*Ê× –þ#­Ž
endstream
endobj
-776 0 obj
-<< /Type /FontDescriptor /FontName /FJNSRO+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /x) /FontFile 777 0 R >>
+775 0 obj
+<< /Type /FontDescriptor /FontName /FJNSRO+CMMI10 /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /x) /FontFile 776 0 R >>
endobj
-779 0 obj
+778 0 obj
<< /Length1 1407 /Length2 6115 /Length3 0 /Filter /FlateDecode /Length 7068 >>
stream
xÚtT”kÛ.Ý©€lr
@@ -3621,10 +3604,10 @@ q=4¾ãæ8EKhž×H:óaa¤(Š?³ÿã$OÔ3“‰¬Ë`Znï[‚«wѳ=ðÖÃொüÁˉä“ÌeÚ‰{Û…÷¶öÙ§“
-”˜‘¿<ãRë׿̫Oi_\Â|e3*Ñ3I(• k`y“±õ£PƸë‘ãÃWˆÅ¢÷>AÒ¸‘øx!¢‘ÜFß­ã;æ® ¬ŽŸ¯Ì“Ç!ËuöD#Bøx\nðÒÑ=xŸˆÁñÃ2BGâÒò™†g_^änŠ33x}`èK/;«"U 25ø¦éP&B:s/¶r*,ªRªO±1<êü…Æüû'Ä€âZ~"EåíúiB)8zôþñåíó*”0SÍ'¼´ÑG%ÎÄ:Nè~<½+h9ÇFNµ´ÆÕà-R·Y檲§Id ŸÀh–\Ibîfàå…FF—&¡1}ó¢§ÜdO¦Á5ß´ŽÃSNi®BÀoDÅãÉî‚e²EðqcÔZ*ð6àEŸd%=ÛYñeú)’¤1ÚæؾèXÈï†ãíVñŸÏaí’aç¿šEŒ­EÈ~×Øä8˵ã'BŒÏÔî¹|¹pÃ+D|Ž*Â|’x@Sùà:~×MzÔv]ô¨Û»ºO`˜_xà}>ЊQIÀ‡x{sᦟ?“˜xÛT´Q²gKݼÁ¾6æ+qd†«u¿U6Qýq÷BÜìÝWSY*é X§ˆ)Z31·=AYÁ§jåBnÝÃãðôïó?̆ïÙñ¥8ÓÜ/zÚ™ôüýöV~8kÑœÃ7QÅkœÛ:ª+ çÛ¡µÉ´.ýëÉaäžÿ^7Œí/Ú;È581/Þƒ‘øÝ׺–!ü” =ËB’pßò×X¡™T•‹°q7é†*KªÌêO_£3±ê*‡T[$bd¹F*z7F²„7µû_$¼+Þ»ã«a¿²hó$ËŠÌ"åÈÒ‡Yœx­ÒB)UØR¬žT g'ŸU”»6縠 IJivŸ6ylÍzWÚw²â]«qÒ×Ô<E'¦ò*¸x€õÉ©ïÉ )Ÿ¶üD:êAŠûøöh“ÛÓéÙ—¡Y|CHd.™Õ¦—h·–>YzaJDr*°(N€vb€žüpn‰O§úpçU¢fÞBðëÍý”bÏŠ«û#YFá’çw8 1Rá³>4Z°'@l»ÎÌ»ôÁ¯Ðœ:/ËôwM,VƒžŸtÝöY±´™z _-H/=å4îcU}m•`@BÐóõë%†nD8_3ÃʈÅ“ö§ÕdåZ ¦ßòüˆäŠƒ‡a³k)¹Ì!¿¤Áùïî÷<4"~ÀI Ì^ô]¾‚z{o}cÞàצx…1•6†bv¼D¾!d¡ÞwçyÝ¢ÍàIFõ§Vë'©}mzÒÄHgLåõ×ÇÒ’øŠZÉ´Ü7 WuÛÕ¯ZŠy:Ùré'S<¼]½’3ˆÚÿi
endstream
endobj
-778 0 obj
-<< /Type /FontDescriptor /FontName /YJUITE+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /k) /FontFile 779 0 R >>
+777 0 obj
+<< /Type /FontDescriptor /FontName /YJUITE+CMMI5 /Flags 4 /FontBBox [ 37 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 90 /XHeight 431 /CharSet( /k) /FontFile 778 0 R >>
endobj
-781 0 obj
+780 0 obj
<< /Length1 1407 /Length2 6093 /Length3 0 /Filter /FlateDecode /Length 7053 >>
stream
xÚtT”kÛ.)8Ò5ÈCÇ ]Ò t—"0  1C "H#-% ‚t§„„”4"­(R’"Í?êÞßþ÷wÎZç¬Yë÷îçzîëzÁ¬z†Š¶h„…€
@@ -3657,10 +3640,10 @@ h²U$}'P:o~]Mæö*QŸß¤§Ï;È}åXÙ®9“Ù€QÉp¿›X7åN@{¥Ijúãp›$O y‚½pìzÑñ
}›I­!·Enb”ð)”÷Ë8¸~j ¿y@_·/búÜ‹€ò
endstream
endobj
-780 0 obj
-<< /Type /FontDescriptor /FontName /NAZTKW+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /k) /FontFile 781 0 R >>
+779 0 obj
+<< /Type /FontDescriptor /FontName /NAZTKW+CMMI7 /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet( /k) /FontFile 780 0 R >>
endobj
-783 0 obj
+782 0 obj
<< /Length1 1518 /Length2 7335 /Length3 0 /Filter /FlateDecode /Length 8348 >>
stream
xÚtTÓoû7ÒHw ¤kŒÒÝ’LÇFŒƒAIAºAB@bHH
@@ -3690,10 +3673,10 @@ U¨ß U>×} ò,·–®öùô4"ˆ&ªƒ …½ÙˆÅáÊàã鸳VUèY ­¤:‹5
¥°À4”ûNÂCŸßÇ ¼4¿ïJ!h©®KúõÃɲþ·†X-¤GìL#Ëy °üAêva‘á§Sô,`ë¶üÁ€7åNÉTk&2xùÇàݲR0ëŒðû] ]S(E¸ÅY¬¾g“‘:9çaƒ[‚»¸áШ€…›•v±âlŒúÔ&ËŽÔðÛE¾“Üâ·ëvH쓉±
endstream
endobj
-782 0 obj
-<< /Type /FontDescriptor /FontName /NTKKEA+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /equal /one /parenleft /parenright /plus /slash /two /zero) /FontFile 783 0 R >>
+781 0 obj
+<< /Type /FontDescriptor /FontName /NTKKEA+CMR10 /Flags 4 /FontBBox [ -40 -250 1009 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /equal /one /parenleft /parenright /plus /slash /two /zero) /FontFile 782 0 R >>
endobj
-785 0 obj
+784 0 obj
<< /Length1 1457 /Length2 6431 /Length3 0 /Filter /FlateDecode /Length 7408 >>
stream
xÚvTnû6%1VF)½”î”.©1 Øcä
@@ -3732,10 +3715,10 @@ Pè)m\Çž/kÌq'ý}®Dû(h¶.91V²•@ ;súÚ®â.弄ã¿
ò½¶O[ÌDÿ™Ííø›&$%úiëÒÖïÞ§)ãì§w{ŠÝYÚ6{ÃëÂK£²#¶•âûù%š·w»Ê'}cnÉóMÚ<²äʃ„¥žI« \¿1«ŒƒG²Ô G¸õur R…ñ’”h;ÂìÄ‹ò“Á©ÝŠôˆ~dÜ“sIèÏ»*áy'exp‹úÀ‡vÏ$Ç–÷ãþÆ°1ÈïH %à᫃ÚFU¡ÄáOî×È&¢Ôy¥[èXïØÀ]bK(Ú•:¸=x—ú³ß‡iÝïõ˜÷|8ÅÑGú‚Œ¡ºZ4#;ˆ›`%.•Yƒ#¯aé±é’f´¾Ÿ´¥ôc²B}ƒµ3ÁhÅ,ù燕õqU÷î=@³>‰Ö£®'6ß͈åJ,©ADoÛtn3Ó§’hœ€J aî•HÄͬ:Ò…¾bî ð¬ôË&kߤ ó#›aý7PéÒ{¡ÖO<^¯Òœ_ÿl‡h!ì:á¥è$gªç«õaŒhœè,¯tK˜3©Ík“ëNsµŒK@e8­*õïX@^xÄÜ
endstream
endobj
-784 0 obj
-<< /Type /FontDescriptor /FontName /JLMYRF+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 785 0 R >>
+783 0 obj
+<< /Type /FontDescriptor /FontName /JLMYRF+CMR7 /Flags 4 /FontBBox [ -27 -250 1122 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 784 0 R >>
endobj
-787 0 obj
+786 0 obj
<< /Length1 1424 /Length2 6044 /Length3 0 /Filter /FlateDecode /Length 7012 >>
stream
xÚxT“ÛÒ6 M¤Wéé5é½÷ÞAj ’Ð{/Ò¤#(¤HGº€té
@@ -3762,10 +3745,10 @@ R”^D/z<÷Þsÿ­ï[Y+y÷Ì33ûÙóÌNVØYôøUÅ
}ï$YÁÜŠ‹}û¢1†ÚÂxß`6Iùí±Qࡪ›]ˆ¢¨¡ÌÜ\Q³´Ñ¢åÕb\ñ^)#ü£‚z!?‰*5†êòU}ÕÊv\átß?æ"nÊ-ûô˾g!ÅñÐÈD³±8‘ÎXÕó;[éêrewçɬ-rg›û¾c‘Ñ4ÿúŸX
endstream
endobj
-786 0 obj
-<< /Type /FontDescriptor /FontName /KAYNOZ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /minus) /FontFile 787 0 R >>
+785 0 obj
+<< /Type /FontDescriptor /FontName /KAYNOZ+CMSY10 /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /minus) /FontFile 786 0 R >>
endobj
-789 0 obj
+788 0 obj
<< /Length1 1393 /Length2 5904 /Length3 0 /Filter /FlateDecode /Length 6854 >>
stream
xÚtT”kÛ.]‚Ò 
@@ -3794,86 +3777,83 @@ p\ÿgì±4¾=}M%±è:ó{•œö(âV‡1„äpýà]J9‰©‹Â»$˜çʃï|»GB»Hëú§Ceº|/Ž#>üèÆÌIú‚¤ó´ <º
â7é²fTcVõkY“Ü\ç5£½ÄÃÓÁ-{e-=?ó„+â
endstream
endobj
-788 0 obj
-<< /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 789 0 R >>
+787 0 obj
+<< /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [ -15 -951 1251 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 788 0 R >>
endobj
-234 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /FJNSRO+CMMI10 /FontDescriptor 776 0 R /FirstChar 25 /LastChar 120 /Widths 690 0 R >>
+230 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /FJNSRO+CMMI10 /FontDescriptor 775 0 R /FirstChar 25 /LastChar 120 /Widths 689 0 R >>
endobj
362 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /YJUITE+CMMI5 /FontDescriptor 778 0 R /FirstChar 107 /LastChar 107 /Widths 614 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /YJUITE+CMMI5 /FontDescriptor 777 0 R /FirstChar 107 /LastChar 107 /Widths 613 0 R >>
endobj
363 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NAZTKW+CMMI7 /FontDescriptor 780 0 R /FirstChar 107 /LastChar 107 /Widths 613 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /NAZTKW+CMMI7 /FontDescriptor 779 0 R /FirstChar 107 /LastChar 107 /Widths 612 0 R >>
endobj
-233 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /NTKKEA+CMR10 /FontDescriptor 782 0 R /FirstChar 40 /LastChar 61 /Widths 691 0 R >>
+229 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /NTKKEA+CMR10 /FontDescriptor 781 0 R /FirstChar 40 /LastChar 61 /Widths 690 0 R >>
endobj
-352 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /JLMYRF+CMR7 /FontDescriptor 784 0 R /FirstChar 40 /LastChar 50 /Widths 616 0 R >>
+351 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /JLMYRF+CMR7 /FontDescriptor 783 0 R /FirstChar 40 /LastChar 50 /Widths 615 0 R >>
endobj
-327 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /KAYNOZ+CMSY10 /FontDescriptor 786 0 R /FirstChar 0 /LastChar 33 /Widths 617 0 R >>
+326 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /KAYNOZ+CMSY10 /FontDescriptor 785 0 R /FirstChar 0 /LastChar 33 /Widths 616 0 R >>
endobj
361 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 788 0 R /FirstChar 0 /LastChar 0 /Widths 615 0 R >>
-endobj
-240 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 213 0 R 247 0 R 256 0 R 266 0 R 282 0 R 289 0 R 297 0 R 304 0 R 311 0 R 315 0 R ] >>
+<< /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 787 0 R /FirstChar 0 /LastChar 0 /Widths 614 0 R >>
endobj
-322 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 319 0 R 324 0 R 329 0 R 335 0 R 344 0 R 349 0 R 354 0 R 358 0 R 365 0 R 374 0 R ] >>
+236 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 10 /Kids [ 209 0 R 243 0 R 252 0 R 262 0 R 277 0 R 288 0 R 296 0 R 303 0 R 310 0 R 314 0 R ] >>
endobj
-382 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 10 /Kids [ 379 0 R 387 0 R 395 0 R 403 0 R 411 0 R 415 0 R 419 0 R 424 0 R 429 0 R 433 0 R ] >>
+321 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 10 /Kids [ 318 0 R 323 0 R 328 0 R 334 0 R 341 0 R 348 0 R 354 0 R 358 0 R 365 0 R 369 0 R ] >>
endobj
-440 0 obj
-<< /Type /Pages /Parent 790 0 R /Count 6 /Kids [ 437 0 R 444 0 R 450 0 R 523 0 R 565 0 R 585 0 R ] >>
+378 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 10 /Kids [ 375 0 R 386 0 R 392 0 R 399 0 R 406 0 R 414 0 R 418 0 R 423 0 R 428 0 R 432 0 R ] >>
endobj
-790 0 obj
-<< /Type /Pages /Count 36 /Kids [ 240 0 R 322 0 R 382 0 R 440 0 R ] >>
+439 0 obj
+<< /Type /Pages /Parent 789 0 R /Count 6 /Kids [ 436 0 R 443 0 R 449 0 R 523 0 R 565 0 R 584 0 R ] >>
endobj
-791 0 obj
-<< /Type /Outlines /First 6 0 R /Last 210 0 R /Count 11 >>
+789 0 obj
+<< /Type /Pages /Count 36 /Kids [ 236 0 R 321 0 R 378 0 R 439 0 R ] >>
endobj
-210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 791 0 R /Prev 182 0 R >>
+790 0 obj
+<< /Type /Outlines /First 6 0 R /Last 206 0 R /Count 11 >>
endobj
206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 182 0 R /Prev 202 0 R >>
+<< /Title 207 0 R /A 204 0 R /Parent 790 0 R /Prev 178 0 R >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 182 0 R /Prev 198 0 R /Next 206 0 R >>
+<< /Title 203 0 R /A 200 0 R /Parent 178 0 R /Prev 198 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 182 0 R /Prev 194 0 R /Next 202 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 178 0 R /Prev 194 0 R /Next 202 0 R >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 182 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 178 0 R /Prev 190 0 R /Next 198 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 182 0 R /Prev 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 178 0 R /Prev 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 182 0 R /Next 190 0 R >>
+<< /Title 187 0 R /A 184 0 R /Parent 178 0 R /Prev 182 0 R /Next 190 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 791 0 R /Prev 170 0 R /Next 210 0 R /First 186 0 R /Last 206 0 R /Count -6 >>
+<< /Title 183 0 R /A 180 0 R /Parent 178 0 R /Next 186 0 R >>
endobj
178 0 obj
-<< /Title 179 0 R /A 176 0 R /Parent 170 0 R /Prev 174 0 R >>
+<< /Title 179 0 R /A 176 0 R /Parent 790 0 R /Prev 166 0 R /Next 206 0 R /First 182 0 R /Last 202 0 R /Count -6 >>
endobj
174 0 obj
-<< /Title 175 0 R /A 172 0 R /Parent 170 0 R /Next 178 0 R >>
+<< /Title 175 0 R /A 172 0 R /Parent 166 0 R /Prev 170 0 R >>
endobj
170 0 obj
-<< /Title 171 0 R /A 168 0 R /Parent 791 0 R /Prev 150 0 R /Next 182 0 R /First 174 0 R /Last 178 0 R /Count -2 >>
+<< /Title 171 0 R /A 168 0 R /Parent 166 0 R /Next 174 0 R >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 790 0 R /Prev 150 0 R /Next 178 0 R /First 170 0 R /Last 174 0 R /Count -2 >>
endobj
162 0 obj
-<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R /Next 166 0 R >>
+<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R >>
endobj
158 0 obj
<< /Title 159 0 R /A 156 0 R /Parent 150 0 R /Prev 154 0 R /Next 162 0 R >>
@@ -3882,10 +3862,10 @@ endobj
<< /Title 155 0 R /A 152 0 R /Parent 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 791 0 R /Prev 146 0 R /Next 170 0 R /First 154 0 R /Last 166 0 R /Count -4 >>
+<< /Title 151 0 R /A 148 0 R /Parent 790 0 R /Prev 146 0 R /Next 166 0 R /First 154 0 R /Last 162 0 R /Count -3 >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 791 0 R /Prev 66 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 0 R /Parent 790 0 R /Prev 66 0 R /Next 150 0 R >>
endobj
142 0 obj
<< /Title 143 0 R /A 140 0 R /Parent 66 0 R /Prev 138 0 R >>
@@ -3945,10 +3925,10 @@ endobj
<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 82 0 R /First 74 0 R /Last 78 0 R /Count -2 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 791 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
+<< /Title 67 0 R /A 64 0 R /Parent 790 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 791 0 R /Prev 34 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 790 0 R /Prev 34 0 R /Next 66 0 R >>
endobj
58 0 obj
<< /Title 59 0 R /A 56 0 R /Parent 34 0 R /Prev 42 0 R >>
@@ -3969,7 +3949,7 @@ endobj
<< /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 791 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
+<< /Title 35 0 R /A 32 0 R /Parent 790 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
endobj
30 0 obj
<< /Title 31 0 R /A 28 0 R /Parent 14 0 R /Prev 26 0 R >>
@@ -3984,838 +3964,837 @@ endobj
<< /Title 19 0 R /A 16 0 R /Parent 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 791 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
+<< /Title 15 0 R /A 12 0 R /Parent 790 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 791 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 790 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 791 0 R /Next 10 0 R >>
+<< /Title 7 0 R /A 4 0 R /Parent 790 0 R /Next 10 0 R >>
+endobj
+791 0 obj
+<< /Names [ (Doc-Start) 214 0 R (page.1) 213 0 R (page.10) 316 0 R (page.11) 320 0 R (page.12) 325 0 R (page.13) 330 0 R (page.14) 336 0 R (page.15) 343 0 R (page.16) 350 0 R (page.17) 356 0 R (page.18) 360 0 R (page.19) 367 0 R (page.2) 245 0 R (page.20) 371 0 R (page.21) 377 0 R (page.22) 388 0 R (page.23) 394 0 R (page.24) 401 0 R (page.25) 408 0 R (page.26) 416 0 R (page.27) 420 0 R (page.28) 425 0 R (page.29) 430 0 R (page.3) 254 0 R (page.30) 434 0 R (page.31) 438 0 R (page.32) 445 0 R (page.33) 451 0 R (page.34) 525 0 R (page.35) 567 0 R (page.36) 586 0 R (page.4) 264 0 R ] /Limits [ (Doc-Start) (page.4) ] >>
endobj
792 0 obj
-<< /Names [ (Doc-Start) 218 0 R (page.1) 217 0 R (page.10) 317 0 R (page.11) 321 0 R (page.12) 326 0 R (page.13) 331 0 R (page.14) 337 0 R (page.15) 346 0 R (page.16) 351 0 R (page.17) 356 0 R (page.18) 360 0 R (page.19) 367 0 R (page.2) 249 0 R (page.20) 376 0 R (page.21) 381 0 R (page.22) 389 0 R (page.23) 397 0 R (page.24) 405 0 R (page.25) 413 0 R (page.26) 417 0 R (page.27) 421 0 R (page.28) 426 0 R (page.29) 431 0 R (page.3) 258 0 R (page.30) 435 0 R (page.31) 439 0 R (page.32) 446 0 R (page.33) 452 0 R (page.34) 525 0 R (page.35) 567 0 R (page.36) 587 0 R (page.4) 268 0 R ] /Limits [ (Doc-Start) (page.4) ] >>
+<< /Names [ (page.5) 279 0 R (page.6) 290 0 R (page.7) 298 0 R (page.8) 305 0 R (page.9) 312 0 R (piton:passe) 307 0 R (piton:transpose) 306 0 R (section*.1) 205 0 R (section.1) 5 0 R (section.10) 177 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 33 0 R (section.5) 61 0 R (section.6) 65 0 R (section.7) 145 0 R (section.8) 149 0 R (section.9) 165 0 R (subsection.10.1) 181 0 R (subsection.10.2) 185 0 R (subsection.10.3) 189 0 R (subsection.10.4) 193 0 R (subsection.10.5) 197 0 R (subsection.10.6) 201 0 R (subsection.3.1) 17 0 R (subsection.3.2) 21 0 R (subsection.3.3) 25 0 R (subsection.3.4) 29 0 R (subsection.4.1) 37 0 R (subsection.4.2) 41 0 R (subsection.4.3) 57 0 R (subsection.6.1) 69 0 R ] /Limits [ (page.5) (subsection.6.1) ] >>
endobj
793 0 obj
-<< /Names [ (page.5) 284 0 R (page.6) 291 0 R (page.7) 299 0 R (page.8) 306 0 R (page.9) 313 0 R (piton:passe) 308 0 R (piton:transpose) 307 0 R (section*.1) 209 0 R (section.1) 5 0 R (section.10) 181 0 R (section.2) 9 0 R (section.3) 13 0 R (section.4) 33 0 R (section.5) 61 0 R (section.6) 65 0 R (section.7) 145 0 R (section.8) 149 0 R (section.9) 169 0 R (subsection.10.1) 185 0 R (subsection.10.2) 189 0 R (subsection.10.3) 193 0 R (subsection.10.4) 197 0 R (subsection.10.5) 201 0 R (subsection.10.6) 205 0 R (subsection.3.1) 17 0 R (subsection.3.2) 21 0 R (subsection.3.3) 25 0 R (subsection.3.4) 29 0 R (subsection.4.1) 37 0 R (subsection.4.2) 41 0 R (subsection.4.3) 57 0 R (subsection.6.1) 69 0 R ] /Limits [ (page.5) (subsection.6.1) ] >>
+<< /Names [ (subsection.6.2) 81 0 R (subsection.6.3) 93 0 R (subsection.6.4) 97 0 R (subsection.6.5) 121 0 R (subsection.6.6) 137 0 R (subsection.6.7) 141 0 R (subsection.8.1) 153 0 R (subsection.8.2) 157 0 R (subsection.8.3) 161 0 R (subsection.9.1) 169 0 R (subsection.9.2) 173 0 R (subsubsection.4.2.1) 45 0 R (subsubsection.4.2.2) 49 0 R (subsubsection.4.2.3) 53 0 R (subsubsection.6.1.1) 73 0 R (subsubsection.6.1.2) 77 0 R (subsubsection.6.2.1) 85 0 R (subsubsection.6.2.2) 89 0 R (subsubsection.6.4.1) 101 0 R (subsubsection.6.4.2) 105 0 R (subsubsection.6.4.3) 109 0 R (subsubsection.6.4.4) 113 0 R (subsubsection.6.4.5) 117 0 R (subsubsection.6.5.1) 125 0 R (subsubsection.6.5.2) 129 0 R (subsubsection.6.5.3) 133 0 R ] /Limits [ (subsection.6.2) (subsubsection.6.5.3) ] >>
endobj
794 0 obj
-<< /Names [ (subsection.6.2) 81 0 R (subsection.6.3) 93 0 R (subsection.6.4) 97 0 R (subsection.6.5) 121 0 R (subsection.6.6) 137 0 R (subsection.6.7) 141 0 R (subsection.8.1) 153 0 R (subsection.8.2) 157 0 R (subsection.8.3) 161 0 R (subsection.8.4) 165 0 R (subsection.9.1) 173 0 R (subsection.9.2) 177 0 R (subsubsection.4.2.1) 45 0 R (subsubsection.4.2.2) 49 0 R (subsubsection.4.2.3) 53 0 R (subsubsection.6.1.1) 73 0 R (subsubsection.6.1.2) 77 0 R (subsubsection.6.2.1) 85 0 R (subsubsection.6.2.2) 89 0 R (subsubsection.6.4.1) 101 0 R (subsubsection.6.4.2) 105 0 R (subsubsection.6.4.3) 109 0 R (subsubsection.6.4.4) 113 0 R (subsubsection.6.4.5) 117 0 R (subsubsection.6.5.1) 125 0 R (subsubsection.6.5.2) 129 0 R (subsubsection.6.5.3) 133 0 R ] /Limits [ (subsection.6.2) (subsubsection.6.5.3) ] >>
+<< /Kids [ 791 0 R 792 0 R 793 0 R ] /Limits [ (Doc-Start) (subsubsection.6.5.3) ] >>
endobj
795 0 obj
-<< /Kids [ 792 0 R 793 0 R 794 0 R ] /Limits [ (Doc-Start) (subsubsection.6.5.3) ] >>
+<< /Dests 794 0 R >>
endobj
796 0 obj
-<< /Dests 795 0 R >>
+<< /Type /Catalog /Pages 789 0 R /Outlines 790 0 R /Names 795 0 R /PageMode/UseOutlines /OpenAction 208 0 R >>
endobj
797 0 obj
-<< /Type /Catalog /Pages 790 0 R /Outlines 791 0 R /Names 796 0 R /PageMode/UseOutlines /OpenAction 212 0 R >>
-endobj
-798 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\000p\000i\000t\000o\000n)/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:20240523184955+02'00') /ModDate (D:20240523184955+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /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\000p\000i\000t\000o\000n)/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:20240812173749+02'00') /ModDate (D:20240812173749+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 799
+0 798
0000000000 65535 f
-0000174798 00000 n
-0000174843 00000 n
-0000174863 00000 n
+0000178379 00000 n
+0000178424 00000 n
+0000178444 00000 n
0000000020 00000 n
-0000016546 00000 n
-0000410266 00000 n
+0000016348 00000 n
+0000413906 00000 n
0000000065 00000 n
0000000155 00000 n
-0000021159 00000 n
-0000410180 00000 n
+0000020960 00000 n
+0000413820 00000 n
0000000200 00000 n
0000000288 00000 n
-0000021219 00000 n
-0000410055 00000 n
+0000021020 00000 n
+0000413695 00000 n
0000000334 00000 n
0000000498 00000 n
-0000021280 00000 n
-0000409981 00000 n
+0000021081 00000 n
+0000413621 00000 n
0000000549 00000 n
0000000663 00000 n
-0000021341 00000 n
-0000409894 00000 n
+0000021142 00000 n
+0000413534 00000 n
0000000714 00000 n
0000000873 00000 n
-0000021401 00000 n
-0000409807 00000 n
+0000021202 00000 n
+0000413447 00000 n
0000000924 00000 n
0000001304 00000 n
-0000027058 00000 n
-0000409733 00000 n
+0000026857 00000 n
+0000413373 00000 n
0000001355 00000 n
0000001561 00000 n
-0000033205 00000 n
-0000409608 00000 n
+0000033124 00000 n
+0000413248 00000 n
0000001607 00000 n
0000001715 00000 n
-0000033266 00000 n
-0000409534 00000 n
+0000033185 00000 n
+0000413174 00000 n
0000001766 00000 n
0000002000 00000 n
-0000044746 00000 n
-0000409410 00000 n
+0000049820 00000 n
+0000413050 00000 n
0000002051 00000 n
0000002132 00000 n
-0000044807 00000 n
-0000409336 00000 n
+0000049881 00000 n
+0000412976 00000 n
0000002188 00000 n
0000002297 00000 n
-0000049531 00000 n
-0000409249 00000 n
+0000049942 00000 n
+0000412889 00000 n
0000002353 00000 n
0000002510 00000 n
-0000054301 00000 n
-0000409175 00000 n
+0000054702 00000 n
+0000412815 00000 n
0000002566 00000 n
0000002705 00000 n
-0000054490 00000 n
-0000409101 00000 n
+0000054891 00000 n
+0000412741 00000 n
0000002756 00000 n
0000002981 00000 n
-0000058305 00000 n
-0000409013 00000 n
+0000059062 00000 n
+0000412653 00000 n
0000003027 00000 n
0000003377 00000 n
-0000067463 00000 n
-0000408886 00000 n
+0000067821 00000 n
+0000412526 00000 n
0000003423 00000 n
0000003580 00000 n
-0000067524 00000 n
-0000408775 00000 n
+0000067882 00000 n
+0000412415 00000 n
0000003631 00000 n
0000003829 00000 n
-0000067585 00000 n
-0000408701 00000 n
+0000067943 00000 n
+0000412341 00000 n
0000003885 00000 n
0000004004 00000 n
-0000067646 00000 n
-0000408627 00000 n
+0000072400 00000 n
+0000412267 00000 n
0000004060 00000 n
0000004184 00000 n
-0000072024 00000 n
-0000408503 00000 n
+0000072461 00000 n
+0000412143 00000 n
0000004235 00000 n
0000004450 00000 n
-0000072085 00000 n
-0000408429 00000 n
+0000076413 00000 n
+0000412069 00000 n
0000004506 00000 n
0000004722 00000 n
-0000072146 00000 n
-0000408355 00000 n
+0000076474 00000 n
+0000411995 00000 n
0000004778 00000 n
0000004950 00000 n
-0000079598 00000 n
-0000408268 00000 n
+0000080318 00000 n
+0000411908 00000 n
0000005001 00000 n
0000005211 00000 n
-0000084643 00000 n
-0000408141 00000 n
+0000084531 00000 n
+0000411781 00000 n
0000005262 00000 n
0000005437 00000 n
-0000084704 00000 n
-0000408063 00000 n
+0000084592 00000 n
+0000411703 00000 n
0000005494 00000 n
0000005655 00000 n
-0000084766 00000 n
-0000407971 00000 n
+0000089000 00000 n
+0000411611 00000 n
0000005712 00000 n
0000005866 00000 n
-0000088524 00000 n
-0000407879 00000 n
+0000089062 00000 n
+0000411519 00000 n
0000005923 00000 n
0000006097 00000 n
-0000088586 00000 n
-0000407787 00000 n
+0000092934 00000 n
+0000411427 00000 n
0000006154 00000 n
0000006303 00000 n
-0000092320 00000 n
-0000407709 00000 n
+0000092996 00000 n
+0000411349 00000 n
0000006360 00000 n
0000006534 00000 n
-0000096955 00000 n
-0000407579 00000 n
+0000097050 00000 n
+0000411219 00000 n
0000006586 00000 n
0000006797 00000 n
-0000097017 00000 n
-0000407500 00000 n
+0000100978 00000 n
+0000411140 00000 n
0000006854 00000 n
0000007149 00000 n
-0000097079 00000 n
-0000407407 00000 n
+0000101040 00000 n
+0000411047 00000 n
0000007206 00000 n
0000007570 00000 n
-0000100552 00000 n
-0000407328 00000 n
+0000104905 00000 n
+0000410968 00000 n
0000007627 00000 n
0000008011 00000 n
-0000105443 00000 n
-0000407236 00000 n
+0000104967 00000 n
+0000410876 00000 n
0000008063 00000 n
0000008389 00000 n
-0000105505 00000 n
-0000407158 00000 n
+0000114726 00000 n
+0000410798 00000 n
0000008441 00000 n
0000008525 00000 n
-0000105566 00000 n
-0000407066 00000 n
+0000114788 00000 n
+0000410706 00000 n
0000008572 00000 n
0000008738 00000 n
-0000109433 00000 n
-0000406934 00000 n
+0000114850 00000 n
+0000410574 00000 n
0000008785 00000 n
0000008854 00000 n
-0000109495 00000 n
-0000406855 00000 n
+0000114912 00000 n
+0000410495 00000 n
0000008906 00000 n
0000009059 00000 n
-0000109557 00000 n
-0000406762 00000 n
+0000118917 00000 n
+0000410402 00000 n
0000009111 00000 n
0000009309 00000 n
-0000113833 00000 n
-0000406669 00000 n
+0000122927 00000 n
+0000410323 00000 n
0000009361 00000 n
-0000009514 00000 n
-0000118193 00000 n
-0000406590 00000 n
-0000009566 00000 n
-0000009773 00000 n
-0000121950 00000 n
-0000406458 00000 n
-0000009820 00000 n
-0000009980 00000 n
-0000122012 00000 n
-0000406379 00000 n
-0000010032 00000 n
-0000010230 00000 n
-0000125396 00000 n
-0000406300 00000 n
-0000010282 00000 n
-0000010607 00000 n
-0000133314 00000 n
-0000406168 00000 n
-0000010655 00000 n
-0000010970 00000 n
-0000133376 00000 n
-0000406089 00000 n
-0000011023 00000 n
-0000011143 00000 n
-0000136945 00000 n
-0000405996 00000 n
-0000011196 00000 n
+0000009568 00000 n
+0000126565 00000 n
+0000410191 00000 n
+0000009615 00000 n
+0000009775 00000 n
+0000126627 00000 n
+0000410112 00000 n
+0000009827 00000 n
+0000010025 00000 n
+0000129924 00000 n
+0000410033 00000 n
+0000010077 00000 n
+0000010402 00000 n
+0000136921 00000 n
+0000409901 00000 n
+0000010450 00000 n
+0000010765 00000 n
+0000136983 00000 n
+0000409822 00000 n
+0000010818 00000 n
+0000010938 00000 n
+0000140552 00000 n
+0000409729 00000 n
+0000010991 00000 n
+0000011106 00000 n
+0000144176 00000 n
+0000409636 00000 n
+0000011159 00000 n
0000011311 00000 n
-0000140569 00000 n
-0000405903 00000 n
+0000147750 00000 n
+0000409543 00000 n
0000011364 00000 n
-0000011516 00000 n
-0000144143 00000 n
-0000405810 00000 n
-0000011569 00000 n
-0000011674 00000 n
-0000146397 00000 n
-0000405717 00000 n
-0000011727 00000 n
-0000011868 00000 n
-0000148431 00000 n
-0000405638 00000 n
-0000011921 00000 n
-0000012244 00000 n
-0000161740 00000 n
-0000405559 00000 n
-0000012292 00000 n
-0000012346 00000 n
-0000016066 00000 n
-0000016232 00000 n
-0000016606 00000 n
-0000012398 00000 n
-0000016422 00000 n
-0000016484 00000 n
-0000349089 00000 n
-0000345798 00000 n
-0000343694 00000 n
-0000339985 00000 n
-0000336651 00000 n
-0000334220 00000 n
-0000327942 00000 n
-0000325841 00000 n
-0000317326 00000 n
-0000306201 00000 n
-0000302352 00000 n
-0000299261 00000 n
-0000288914 00000 n
-0000285074 00000 n
-0000404254 00000 n
-0000403822 00000 n
-0000278773 00000 n
-0000276656 00000 n
-0000267286 00000 n
-0000264058 00000 n
-0000260037 00000 n
-0000404819 00000 n
-0000016203 00000 n
-0000020940 00000 n
-0000020786 00000 n
-0000026360 00000 n
-0000026519 00000 n
-0000021461 00000 n
-0000020612 00000 n
-0000016990 00000 n
-0000021097 00000 n
-0000252440 00000 n
-0000250663 00000 n
-0000020749 00000 n
-0000026678 00000 n
-0000026837 00000 n
-0000027119 00000 n
-0000026170 00000 n
-0000021702 00000 n
-0000026996 00000 n
-0000241927 00000 n
-0000026307 00000 n
-0000032841 00000 n
-0000032992 00000 n
-0000038843 00000 n
-0000039002 00000 n
-0000033326 00000 n
-0000032667 00000 n
-0000027360 00000 n
-0000033143 00000 n
-0000235307 00000 n
-0000032804 00000 n
-0000039161 00000 n
-0000039320 00000 n
-0000039478 00000 n
-0000039636 00000 n
-0000039795 00000 n
-0000039959 00000 n
-0000040123 00000 n
-0000040280 00000 n
-0000044359 00000 n
-0000044521 00000 n
-0000040499 00000 n
-0000038605 00000 n
-0000033606 00000 n
-0000040437 00000 n
-0000232493 00000 n
-0000038742 00000 n
-0000044200 00000 n
-0000044868 00000 n
-0000044018 00000 n
-0000040740 00000 n
-0000044684 00000 n
-0000229217 00000 n
-0000044155 00000 n
-0000049159 00000 n
-0000049314 00000 n
-0000049591 00000 n
-0000048985 00000 n
-0000045122 00000 n
-0000049469 00000 n
-0000220502 00000 n
-0000049122 00000 n
-0000054079 00000 n
-0000054551 00000 n
-0000053913 00000 n
-0000049845 00000 n
-0000054239 00000 n
-0000054362 00000 n
-0000054426 00000 n
-0000054050 00000 n
-0000058366 00000 n
-0000058122 00000 n
-0000054857 00000 n
-0000058243 00000 n
-0000062599 00000 n
-0000062416 00000 n
-0000058607 00000 n
-0000062537 00000 n
-0000067707 00000 n
-0000067280 00000 n
-0000062840 00000 n
-0000067401 00000 n
-0000404971 00000 n
-0000072207 00000 n
-0000071841 00000 n
-0000067961 00000 n
-0000071962 00000 n
-0000404537 00000 n
-0000075778 00000 n
-0000075595 00000 n
-0000072448 00000 n
-0000075716 00000 n
-0000079220 00000 n
-0000079378 00000 n
-0000079659 00000 n
-0000079046 00000 n
-0000075993 00000 n
-0000079536 00000 n
-0000079183 00000 n
-0000083945 00000 n
-0000084104 00000 n
-0000084263 00000 n
-0000084422 00000 n
-0000084828 00000 n
-0000083755 00000 n
-0000079900 00000 n
-0000084581 00000 n
-0000083892 00000 n
-0000088648 00000 n
-0000088341 00000 n
-0000085082 00000 n
-0000088462 00000 n
-0000404396 00000 n
-0000092382 00000 n
-0000092137 00000 n
-0000088876 00000 n
-0000092258 00000 n
-0000097141 00000 n
-0000096772 00000 n
-0000092610 00000 n
-0000096893 00000 n
-0000404679 00000 n
-0000403966 00000 n
-0000404110 00000 n
-0000100613 00000 n
-0000100369 00000 n
-0000097486 00000 n
-0000100490 00000 n
-0000104895 00000 n
-0000105054 00000 n
-0000105218 00000 n
-0000109058 00000 n
-0000109217 00000 n
-0000105628 00000 n
-0000104713 00000 n
-0000100802 00000 n
-0000105381 00000 n
-0000104850 00000 n
-0000109619 00000 n
-0000108884 00000 n
-0000105817 00000 n
-0000109371 00000 n
-0000405123 00000 n
-0000109021 00000 n
-0000113453 00000 n
-0000113612 00000 n
-0000113895 00000 n
-0000113279 00000 n
-0000109821 00000 n
-0000113771 00000 n
-0000113416 00000 n
-0000117634 00000 n
-0000117793 00000 n
-0000117952 00000 n
-0000118255 00000 n
-0000117452 00000 n
-0000114097 00000 n
-0000118131 00000 n
-0000216650 00000 n
-0000117589 00000 n
-0000121580 00000 n
-0000121734 00000 n
-0000122074 00000 n
-0000121406 00000 n
-0000118522 00000 n
-0000121888 00000 n
-0000214584 00000 n
-0000202423 00000 n
-0000187696 00000 n
-0000121543 00000 n
-0000125458 00000 n
-0000125213 00000 n
-0000122315 00000 n
-0000125334 00000 n
-0000128121 00000 n
-0000127938 00000 n
-0000125673 00000 n
-0000128059 00000 n
-0000129032 00000 n
-0000128849 00000 n
-0000128323 00000 n
-0000128970 00000 n
-0000133074 00000 n
-0000133438 00000 n
-0000132908 00000 n
-0000129182 00000 n
-0000133252 00000 n
-0000133045 00000 n
-0000137007 00000 n
-0000136762 00000 n
-0000133666 00000 n
-0000136883 00000 n
-0000140631 00000 n
-0000140386 00000 n
-0000137170 00000 n
-0000140507 00000 n
-0000144205 00000 n
-0000143960 00000 n
-0000140820 00000 n
-0000144081 00000 n
-0000405275 00000 n
-0000146017 00000 n
-0000146176 00000 n
-0000146459 00000 n
-0000145843 00000 n
-0000144381 00000 n
-0000146335 00000 n
-0000145980 00000 n
-0000148216 00000 n
-0000148493 00000 n
-0000148050 00000 n
-0000146622 00000 n
-0000148369 00000 n
-0000148187 00000 n
-0000151403 00000 n
-0000151552 00000 n
-0000151703 00000 n
-0000151855 00000 n
-0000152007 00000 n
-0000152159 00000 n
-0000152311 00000 n
-0000152463 00000 n
-0000152614 00000 n
-0000152766 00000 n
-0000152917 00000 n
-0000153068 00000 n
-0000153220 00000 n
-0000153371 00000 n
-0000153522 00000 n
-0000153674 00000 n
-0000153826 00000 n
-0000153978 00000 n
-0000154130 00000 n
-0000154282 00000 n
-0000154434 00000 n
-0000154585 00000 n
-0000154737 00000 n
-0000154889 00000 n
-0000155041 00000 n
-0000155193 00000 n
-0000155345 00000 n
-0000155496 00000 n
-0000155646 00000 n
-0000155797 00000 n
-0000155947 00000 n
-0000156098 00000 n
-0000156249 00000 n
-0000156398 00000 n
-0000156548 00000 n
-0000156698 00000 n
-0000156846 00000 n
-0000156996 00000 n
-0000157148 00000 n
-0000157299 00000 n
-0000157450 00000 n
-0000157599 00000 n
-0000157750 00000 n
-0000157902 00000 n
-0000158054 00000 n
-0000158205 00000 n
-0000158355 00000 n
-0000158506 00000 n
-0000158657 00000 n
+0000011469 00000 n
+0000150004 00000 n
+0000409450 00000 n
+0000011522 00000 n
+0000011663 00000 n
+0000152038 00000 n
+0000409371 00000 n
+0000011716 00000 n
+0000012039 00000 n
+0000165515 00000 n
+0000409292 00000 n
+0000012087 00000 n
+0000012141 00000 n
+0000015868 00000 n
+0000016034 00000 n
+0000016408 00000 n
+0000012193 00000 n
+0000016224 00000 n
+0000016286 00000 n
+0000352822 00000 n
+0000349531 00000 n
+0000347427 00000 n
+0000343635 00000 n
+0000340301 00000 n
+0000337870 00000 n
+0000331592 00000 n
+0000329491 00000 n
+0000320976 00000 n
+0000309851 00000 n
+0000306002 00000 n
+0000302911 00000 n
+0000292564 00000 n
+0000288724 00000 n
+0000407987 00000 n
+0000407555 00000 n
+0000282423 00000 n
+0000280306 00000 n
+0000270928 00000 n
+0000267700 00000 n
+0000263679 00000 n
+0000408552 00000 n
+0000016005 00000 n
+0000020741 00000 n
+0000020587 00000 n
+0000026159 00000 n
+0000026318 00000 n
+0000021262 00000 n
+0000020413 00000 n
+0000016792 00000 n
+0000020898 00000 n
+0000256082 00000 n
+0000254305 00000 n
+0000020550 00000 n
+0000026477 00000 n
+0000026636 00000 n
+0000026918 00000 n
+0000025969 00000 n
+0000021503 00000 n
+0000026795 00000 n
+0000245569 00000 n
+0000026106 00000 n
+0000032451 00000 n
+0000032605 00000 n
+0000032758 00000 n
+0000032910 00000 n
+0000033246 00000 n
+0000032261 00000 n
+0000027159 00000 n
+0000033062 00000 n
+0000238888 00000 n
+0000032398 00000 n
+0000038285 00000 n
+0000038444 00000 n
+0000038603 00000 n
+0000038762 00000 n
+0000038920 00000 n
+0000039084 00000 n
+0000039242 00000 n
+0000039401 00000 n
+0000039565 00000 n
+0000039791 00000 n
+0000038055 00000 n
+0000033526 00000 n
+0000039729 00000 n
+0000236074 00000 n
+0000038192 00000 n
+0000044453 00000 n
+0000044611 00000 n
+0000044928 00000 n
+0000045088 00000 n
+0000044769 00000 n
+0000045311 00000 n
+0000044255 00000 n
+0000040019 00000 n
+0000045249 00000 n
+0000232798 00000 n
+0000044392 00000 n
+0000049448 00000 n
+0000049603 00000 n
+0000050003 00000 n
+0000049274 00000 n
+0000045565 00000 n
+0000049758 00000 n
+0000224083 00000 n
+0000049411 00000 n
+0000054480 00000 n
+0000054952 00000 n
+0000054314 00000 n
+0000050270 00000 n
+0000054640 00000 n
+0000054763 00000 n
+0000054827 00000 n
+0000054451 00000 n
+0000059123 00000 n
+0000058879 00000 n
+0000055258 00000 n
+0000059000 00000 n
+0000062862 00000 n
+0000062679 00000 n
+0000059403 00000 n
+0000062800 00000 n
+0000068004 00000 n
+0000067638 00000 n
+0000063116 00000 n
+0000067759 00000 n
+0000408704 00000 n
+0000072522 00000 n
+0000072217 00000 n
+0000068258 00000 n
+0000072338 00000 n
+0000408270 00000 n
+0000076535 00000 n
+0000076230 00000 n
+0000072763 00000 n
+0000076351 00000 n
+0000079938 00000 n
+0000080097 00000 n
+0000080379 00000 n
+0000079764 00000 n
+0000076750 00000 n
+0000080256 00000 n
+0000079901 00000 n
+0000084151 00000 n
+0000084310 00000 n
+0000084654 00000 n
+0000083977 00000 n
+0000080620 00000 n
+0000084469 00000 n
+0000084114 00000 n
+0000088624 00000 n
+0000088781 00000 n
+0000089124 00000 n
+0000088450 00000 n
+0000084856 00000 n
+0000088938 00000 n
+0000408129 00000 n
+0000088587 00000 n
+0000093058 00000 n
+0000092751 00000 n
+0000089417 00000 n
+0000092872 00000 n
+0000097112 00000 n
+0000096867 00000 n
+0000093247 00000 n
+0000096988 00000 n
+0000408412 00000 n
+0000407699 00000 n
+0000407843 00000 n
+0000101102 00000 n
+0000100795 00000 n
+0000097444 00000 n
+0000100916 00000 n
+0000105029 00000 n
+0000104722 00000 n
+0000101330 00000 n
+0000104843 00000 n
+0000109066 00000 n
+0000109230 00000 n
+0000109451 00000 n
+0000108892 00000 n
+0000105231 00000 n
+0000109389 00000 n
+0000408856 00000 n
+0000109029 00000 n
+0000113868 00000 n
+0000114027 00000 n
+0000114189 00000 n
+0000114353 00000 n
+0000114512 00000 n
+0000114974 00000 n
+0000113670 00000 n
+0000109679 00000 n
+0000114664 00000 n
+0000220231 00000 n
+0000113807 00000 n
+0000118979 00000 n
+0000118734 00000 n
+0000115215 00000 n
+0000118855 00000 n
+0000122367 00000 n
+0000122526 00000 n
+0000122685 00000 n
+0000122989 00000 n
+0000122185 00000 n
+0000119181 00000 n
+0000122865 00000 n
+0000122322 00000 n
+0000126195 00000 n
+0000126349 00000 n
+0000126689 00000 n
+0000126021 00000 n
+0000123230 00000 n
+0000126503 00000 n
+0000218165 00000 n
+0000206004 00000 n
+0000191277 00000 n
+0000126158 00000 n
+0000129986 00000 n
+0000129741 00000 n
+0000126943 00000 n
+0000129862 00000 n
+0000132589 00000 n
+0000132406 00000 n
+0000130188 00000 n
+0000132527 00000 n
+0000136681 00000 n
+0000137045 00000 n
+0000136515 00000 n
+0000132791 00000 n
+0000136859 00000 n
+0000136652 00000 n
+0000140614 00000 n
+0000140369 00000 n
+0000137273 00000 n
+0000140490 00000 n
+0000144238 00000 n
+0000143993 00000 n
+0000140777 00000 n
+0000144114 00000 n
+0000147812 00000 n
+0000147567 00000 n
+0000144427 00000 n
+0000147688 00000 n
+0000409008 00000 n
+0000149624 00000 n
+0000149783 00000 n
+0000150066 00000 n
+0000149450 00000 n
+0000147988 00000 n
+0000149942 00000 n
+0000149587 00000 n
+0000151823 00000 n
+0000152100 00000 n
+0000151657 00000 n
+0000150229 00000 n
+0000151976 00000 n
+0000151794 00000 n
+0000155020 00000 n
+0000155169 00000 n
+0000155320 00000 n
+0000155472 00000 n
+0000155624 00000 n
+0000155776 00000 n
+0000155928 00000 n
+0000156080 00000 n
+0000156231 00000 n
+0000156383 00000 n
+0000156534 00000 n
+0000156685 00000 n
+0000156837 00000 n
+0000156988 00000 n
+0000157139 00000 n
+0000157291 00000 n
+0000157441 00000 n
+0000157593 00000 n
+0000157745 00000 n
+0000157897 00000 n
+0000158049 00000 n
+0000158201 00000 n
+0000158353 00000 n
+0000158504 00000 n
+0000158656 00000 n
0000158808 00000 n
0000158960 00000 n
-0000159111 00000 n
-0000159262 00000 n
-0000159412 00000 n
-0000159564 00000 n
+0000159112 00000 n
+0000159264 00000 n
+0000159415 00000 n
+0000159565 00000 n
0000159716 00000 n
-0000159868 00000 n
-0000160018 00000 n
-0000160169 00000 n
-0000160320 00000 n
-0000160472 00000 n
-0000160624 00000 n
-0000160776 00000 n
-0000160926 00000 n
-0000161077 00000 n
-0000161229 00000 n
-0000161378 00000 n
-0000161527 00000 n
-0000161802 00000 n
-0000150701 00000 n
-0000148656 00000 n
-0000161678 00000 n
-0000150838 00000 n
-0000164863 00000 n
-0000165016 00000 n
-0000165169 00000 n
-0000165320 00000 n
-0000165478 00000 n
-0000165635 00000 n
-0000165793 00000 n
-0000165950 00000 n
-0000166103 00000 n
-0000166261 00000 n
-0000166418 00000 n
-0000166582 00000 n
-0000166745 00000 n
-0000166909 00000 n
-0000167067 00000 n
-0000167219 00000 n
-0000167372 00000 n
-0000167530 00000 n
-0000167694 00000 n
-0000167858 00000 n
-0000168016 00000 n
-0000168180 00000 n
-0000168343 00000 n
-0000168501 00000 n
-0000168658 00000 n
-0000168821 00000 n
-0000168984 00000 n
-0000169147 00000 n
-0000169310 00000 n
-0000169474 00000 n
-0000169629 00000 n
-0000169793 00000 n
-0000169957 00000 n
-0000170121 00000 n
-0000170279 00000 n
-0000170436 00000 n
-0000172090 00000 n
-0000170649 00000 n
-0000164417 00000 n
-0000161991 00000 n
-0000170587 00000 n
-0000164554 00000 n
-0000172243 00000 n
-0000172401 00000 n
-0000172559 00000 n
-0000172717 00000 n
-0000172874 00000 n
-0000173027 00000 n
-0000173185 00000 n
-0000173342 00000 n
-0000173496 00000 n
-0000173655 00000 n
-0000173814 00000 n
-0000173972 00000 n
-0000174131 00000 n
-0000174289 00000 n
-0000174447 00000 n
-0000174661 00000 n
-0000171804 00000 n
-0000170851 00000 n
-0000174599 00000 n
-0000171941 00000 n
-0000174916 00000 n
-0000186898 00000 n
-0000175143 00000 n
-0000175245 00000 n
-0000187137 00000 n
-0000187858 00000 n
-0000188089 00000 n
-0000201598 00000 n
-0000188411 00000 n
-0000188517 00000 n
-0000201829 00000 n
-0000202577 00000 n
-0000202800 00000 n
-0000213831 00000 n
-0000202946 00000 n
-0000203043 00000 n
-0000214068 00000 n
-0000214743 00000 n
-0000214971 00000 n
-0000215963 00000 n
-0000215014 00000 n
-0000215109 00000 n
-0000216203 00000 n
-0000216805 00000 n
-0000217006 00000 n
-0000217032 00000 n
-0000217058 00000 n
-0000217084 00000 n
-0000217144 00000 n
-0000217239 00000 n
-0000219726 00000 n
-0000217444 00000 n
-0000217547 00000 n
-0000219971 00000 n
-0000220663 00000 n
-0000220870 00000 n
-0000228200 00000 n
-0000221364 00000 n
-0000221480 00000 n
-0000228437 00000 n
-0000229372 00000 n
-0000229573 00000 n
-0000231745 00000 n
-0000229728 00000 n
-0000229833 00000 n
-0000231989 00000 n
-0000232654 00000 n
-0000232861 00000 n
-0000234567 00000 n
-0000232984 00000 n
-0000233090 00000 n
-0000234813 00000 n
-0000235469 00000 n
-0000235677 00000 n
-0000241063 00000 n
-0000236066 00000 n
-0000236186 00000 n
-0000241304 00000 n
-0000242083 00000 n
-0000242285 00000 n
-0000249692 00000 n
-0000242770 00000 n
-0000242893 00000 n
-0000249929 00000 n
-0000250817 00000 n
-0000251017 00000 n
-0000251764 00000 n
-0000251050 00000 n
-0000251144 00000 n
-0000252000 00000 n
-0000252593 00000 n
-0000252792 00000 n
-0000259075 00000 n
-0000253244 00000 n
-0000253354 00000 n
-0000259312 00000 n
-0000260192 00000 n
-0000260393 00000 n
-0000263287 00000 n
-0000260619 00000 n
-0000260724 00000 n
-0000263527 00000 n
-0000264213 00000 n
-0000264414 00000 n
-0000266519 00000 n
-0000264648 00000 n
-0000264753 00000 n
-0000266756 00000 n
-0000267441 00000 n
-0000267642 00000 n
-0000275638 00000 n
-0000268186 00000 n
-0000268317 00000 n
-0000275876 00000 n
-0000276812 00000 n
-0000277014 00000 n
-0000278077 00000 n
-0000277070 00000 n
-0000277170 00000 n
-0000278316 00000 n
-0000278929 00000 n
-0000279131 00000 n
-0000279369 00000 n
-0000279457 00000 n
-0000284213 00000 n
-0000279826 00000 n
-0000279935 00000 n
-0000284452 00000 n
-0000285229 00000 n
-0000285430 00000 n
-0000288142 00000 n
-0000285675 00000 n
-0000285780 00000 n
-0000288379 00000 n
-0000289069 00000 n
-0000289270 00000 n
-0000298191 00000 n
-0000289744 00000 n
-0000289862 00000 n
-0000298429 00000 n
-0000299417 00000 n
-0000299619 00000 n
-0000301626 00000 n
-0000299732 00000 n
-0000299835 00000 n
-0000301865 00000 n
-0000302508 00000 n
-0000302710 00000 n
-0000305409 00000 n
-0000302971 00000 n
-0000303076 00000 n
-0000305647 00000 n
-0000306357 00000 n
-0000306559 00000 n
-0000316217 00000 n
-0000307203 00000 n
-0000307344 00000 n
-0000316456 00000 n
-0000317483 00000 n
-0000317686 00000 n
-0000324878 00000 n
-0000318172 00000 n
-0000318296 00000 n
-0000325115 00000 n
-0000325995 00000 n
-0000326195 00000 n
-0000327241 00000 n
-0000326272 00000 n
-0000326371 00000 n
-0000327478 00000 n
-0000328097 00000 n
-0000328298 00000 n
-0000333342 00000 n
-0000328701 00000 n
-0000328824 00000 n
-0000333580 00000 n
-0000334376 00000 n
-0000334578 00000 n
-0000335952 00000 n
-0000334656 00000 n
-0000334758 00000 n
-0000336188 00000 n
-0000336804 00000 n
-0000337003 00000 n
-0000339237 00000 n
-0000337181 00000 n
-0000337286 00000 n
-0000339475 00000 n
-0000340141 00000 n
-0000340343 00000 n
-0000342933 00000 n
-0000340519 00000 n
-0000340628 00000 n
-0000343172 00000 n
-0000343851 00000 n
-0000344054 00000 n
-0000345095 00000 n
-0000344131 00000 n
-0000344230 00000 n
-0000345333 00000 n
-0000345954 00000 n
-0000346156 00000 n
-0000348343 00000 n
-0000346298 00000 n
-0000346407 00000 n
-0000348582 00000 n
-0000349246 00000 n
-0000357645 00000 n
-0000349449 00000 n
-0000365098 00000 n
-0000357909 00000 n
-0000372494 00000 n
-0000365320 00000 n
-0000381185 00000 n
-0000372716 00000 n
-0000388991 00000 n
-0000381462 00000 n
-0000396380 00000 n
-0000389247 00000 n
-0000403595 00000 n
-0000396620 00000 n
-0000405394 00000 n
-0000405483 00000 n
-0000410338 00000 n
-0000410979 00000 n
-0000411746 00000 n
-0000412571 00000 n
-0000412674 00000 n
-0000412712 00000 n
-0000412840 00000 n
+0000159866 00000 n
+0000160017 00000 n
+0000160168 00000 n
+0000160318 00000 n
+0000160468 00000 n
+0000160618 00000 n
+0000160770 00000 n
+0000160922 00000 n
+0000161074 00000 n
+0000161225 00000 n
+0000161376 00000 n
+0000161525 00000 n
+0000161676 00000 n
+0000161828 00000 n
+0000161979 00000 n
+0000162129 00000 n
+0000162280 00000 n
+0000162431 00000 n
+0000162582 00000 n
+0000162734 00000 n
+0000162885 00000 n
+0000163036 00000 n
+0000163186 00000 n
+0000163338 00000 n
+0000163490 00000 n
+0000163642 00000 n
+0000163793 00000 n
+0000163944 00000 n
+0000164095 00000 n
+0000164247 00000 n
+0000164399 00000 n
+0000164551 00000 n
+0000164701 00000 n
+0000164852 00000 n
+0000165004 00000 n
+0000165153 00000 n
+0000165302 00000 n
+0000165577 00000 n
+0000154310 00000 n
+0000152263 00000 n
+0000165453 00000 n
+0000154447 00000 n
+0000168641 00000 n
+0000168794 00000 n
+0000168947 00000 n
+0000169098 00000 n
+0000169256 00000 n
+0000169413 00000 n
+0000169571 00000 n
+0000169728 00000 n
+0000169881 00000 n
+0000170039 00000 n
+0000170196 00000 n
+0000170360 00000 n
+0000170523 00000 n
+0000170687 00000 n
+0000170845 00000 n
+0000170997 00000 n
+0000171150 00000 n
+0000171308 00000 n
+0000171472 00000 n
+0000171636 00000 n
+0000171794 00000 n
+0000171958 00000 n
+0000172121 00000 n
+0000172279 00000 n
+0000172436 00000 n
+0000172599 00000 n
+0000172762 00000 n
+0000172925 00000 n
+0000173088 00000 n
+0000173252 00000 n
+0000173407 00000 n
+0000173571 00000 n
+0000173735 00000 n
+0000173899 00000 n
+0000174057 00000 n
+0000174214 00000 n
+0000175827 00000 n
+0000174427 00000 n
+0000168195 00000 n
+0000165766 00000 n
+0000174365 00000 n
+0000168332 00000 n
+0000175980 00000 n
+0000176138 00000 n
+0000176296 00000 n
+0000176454 00000 n
+0000176607 00000 n
+0000176765 00000 n
+0000176922 00000 n
+0000177076 00000 n
+0000177235 00000 n
+0000177394 00000 n
+0000177552 00000 n
+0000177710 00000 n
+0000177869 00000 n
+0000178027 00000 n
+0000178242 00000 n
+0000175549 00000 n
+0000174629 00000 n
+0000178180 00000 n
+0000175686 00000 n
+0000178497 00000 n
+0000190479 00000 n
+0000178724 00000 n
+0000178826 00000 n
+0000190718 00000 n
+0000191439 00000 n
+0000191670 00000 n
+0000205179 00000 n
+0000191992 00000 n
+0000192098 00000 n
+0000205410 00000 n
+0000206158 00000 n
+0000206381 00000 n
+0000217412 00000 n
+0000206527 00000 n
+0000206624 00000 n
+0000217649 00000 n
+0000218324 00000 n
+0000218552 00000 n
+0000219544 00000 n
+0000218595 00000 n
+0000218690 00000 n
+0000219784 00000 n
+0000220386 00000 n
+0000220587 00000 n
+0000220613 00000 n
+0000220639 00000 n
+0000220665 00000 n
+0000220725 00000 n
+0000220820 00000 n
+0000223307 00000 n
+0000221025 00000 n
+0000221128 00000 n
+0000223552 00000 n
+0000224244 00000 n
+0000224451 00000 n
+0000231781 00000 n
+0000224945 00000 n
+0000225061 00000 n
+0000232018 00000 n
+0000232953 00000 n
+0000233154 00000 n
+0000235326 00000 n
+0000233309 00000 n
+0000233414 00000 n
+0000235570 00000 n
+0000236235 00000 n
+0000236442 00000 n
+0000238148 00000 n
+0000236565 00000 n
+0000236671 00000 n
+0000238394 00000 n
+0000239050 00000 n
+0000239258 00000 n
+0000244704 00000 n
+0000239646 00000 n
+0000239766 00000 n
+0000244945 00000 n
+0000245725 00000 n
+0000245927 00000 n
+0000253334 00000 n
+0000246412 00000 n
+0000246535 00000 n
+0000253571 00000 n
+0000254459 00000 n
+0000254659 00000 n
+0000255406 00000 n
+0000254692 00000 n
+0000254786 00000 n
+0000255642 00000 n
+0000256235 00000 n
+0000256434 00000 n
+0000262717 00000 n
+0000256886 00000 n
+0000256996 00000 n
+0000262954 00000 n
+0000263834 00000 n
+0000264035 00000 n
+0000266929 00000 n
+0000264261 00000 n
+0000264366 00000 n
+0000267169 00000 n
+0000267855 00000 n
+0000268056 00000 n
+0000270161 00000 n
+0000268290 00000 n
+0000268395 00000 n
+0000270398 00000 n
+0000271083 00000 n
+0000271284 00000 n
+0000279284 00000 n
+0000271824 00000 n
+0000271955 00000 n
+0000279522 00000 n
+0000280462 00000 n
+0000280664 00000 n
+0000281727 00000 n
+0000280720 00000 n
+0000280820 00000 n
+0000281966 00000 n
+0000282579 00000 n
+0000282781 00000 n
+0000283019 00000 n
+0000283107 00000 n
+0000287863 00000 n
+0000283476 00000 n
+0000283585 00000 n
+0000288102 00000 n
+0000288879 00000 n
+0000289080 00000 n
+0000291792 00000 n
+0000289325 00000 n
+0000289430 00000 n
+0000292029 00000 n
+0000292719 00000 n
+0000292920 00000 n
+0000301841 00000 n
+0000293394 00000 n
+0000293512 00000 n
+0000302079 00000 n
+0000303067 00000 n
+0000303269 00000 n
+0000305276 00000 n
+0000303382 00000 n
+0000303485 00000 n
+0000305515 00000 n
+0000306158 00000 n
+0000306360 00000 n
+0000309059 00000 n
+0000306621 00000 n
+0000306726 00000 n
+0000309297 00000 n
+0000310007 00000 n
+0000310209 00000 n
+0000319867 00000 n
+0000310853 00000 n
+0000310994 00000 n
+0000320106 00000 n
+0000321133 00000 n
+0000321336 00000 n
+0000328528 00000 n
+0000321822 00000 n
+0000321946 00000 n
+0000328765 00000 n
+0000329645 00000 n
+0000329845 00000 n
+0000330891 00000 n
+0000329922 00000 n
+0000330021 00000 n
+0000331128 00000 n
+0000331747 00000 n
+0000331948 00000 n
+0000336992 00000 n
+0000332351 00000 n
+0000332474 00000 n
+0000337230 00000 n
+0000338026 00000 n
+0000338228 00000 n
+0000339602 00000 n
+0000338306 00000 n
+0000338408 00000 n
+0000339838 00000 n
+0000340454 00000 n
+0000340653 00000 n
+0000342887 00000 n
+0000340831 00000 n
+0000340936 00000 n
+0000343125 00000 n
+0000343791 00000 n
+0000343993 00000 n
+0000346657 00000 n
+0000344182 00000 n
+0000344295 00000 n
+0000346896 00000 n
+0000347584 00000 n
+0000347787 00000 n
+0000348828 00000 n
+0000347864 00000 n
+0000347963 00000 n
+0000349066 00000 n
+0000349687 00000 n
+0000349889 00000 n
+0000352076 00000 n
+0000350031 00000 n
+0000350140 00000 n
+0000352315 00000 n
+0000352979 00000 n
+0000361378 00000 n
+0000353182 00000 n
+0000368831 00000 n
+0000361642 00000 n
+0000376227 00000 n
+0000369053 00000 n
+0000384918 00000 n
+0000376449 00000 n
+0000392724 00000 n
+0000385195 00000 n
+0000400113 00000 n
+0000392980 00000 n
+0000407328 00000 n
+0000400353 00000 n
+0000409127 00000 n
+0000409216 00000 n
+0000413978 00000 n
+0000414619 00000 n
+0000415386 00000 n
+0000416186 00000 n
+0000416289 00000 n
+0000416327 00000 n
+0000416455 00000 n
trailer
-<< /Size 799 /Root 797 0 R /Info 798 0 R /ID [ <BAED7C336B1B3BB8FDEEEB3D3DB34A65> <BAED7C336B1B3BB8FDEEEB3D3DB34A65> ] >>
+<< /Size 798 /Root 796 0 R /Info 797 0 R /ID [ <4EF0D81DD2719819B024D64DF5F98F0C> <4EF0D81DD2719819B024D64DF5F98F0C> ] >>
startxref
-413388
+417003
%%EOF
diff --git a/macros/luatex/latex/piton/piton-french.tex b/macros/luatex/latex/piton/piton-french.tex
index 2794f5acda..24da345474 100644
--- a/macros/luatex/latex/piton/piton-french.tex
+++ b/macros/luatex/latex/piton/piton-french.tex
@@ -15,7 +15,7 @@
end-escape = ! ,
begin-escape-math = \( ,
end-escape-math = \) ,
- detected-commands = highLight
+ detected-commands = { highLight , footnote }
}
@@ -107,21 +107,25 @@ version~\PitonFileVersion\space de \pkg{piton}, à la date du~\PitonFileDate.}}
\maketitle
\begin{abstract}
-L'extension \pkg{piton} propose des outils pour composer des codes informatiques avec coloration syntaxique. Elle
-nécessite l'emploi de la LuaLaTeX car le travail principal est fait en utilisant la bibliothèque Lua LPEG.
+L'extension \pkg{piton} propose des outils pour composer des codes informatiques avec
+coloration syntaxique. Elle nécessite l'emploi de la LuaLaTeX car le travail principal est
+fait en utilisant la bibliothèque Lua LPEG.
\end{abstract}
\section{Présentation}
-L'extension \pkg{piton} utilise la librairie Lua nommée LPEG\footnote{LPEG est une librairie de capture de motifs
- (\emph{pattern-matching} en anglais) pour Lua, écrite en C, fondée sur les PEG (\emph{parsing expression
- grammars}): \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} pour «parser» des listings informatiques avec
-coloriage syntaxique. Comme elle utilise le Lua de LuaLaTeX, elle fonctionne uniquement avec |lualatex|
-(et ne va pas fonctionner avec les autres moteurs de compilation LaTeX, que ce soit |latex|, |pdflatex| ou
-|xelatex|). Elle n'utilise aucun programme extérieur et la compilation ne requiert donc pas |--shell-escape|. La
-compilation est très rapide puisque tout le travail du parseur est fait par la librairie LPEG, écrite en C.
+L'extension \pkg{piton} utilise la librairie Lua nommée LPEG\footnote{LPEG est une
+ librairie de capture de motifs (\emph{pattern-matching} en anglais) pour Lua, écrite en
+ C, fondée sur les PEG (\emph{parsing expression grammars}):
+ \url{http://www.inf.puc-rio.br/~roberto/lpeg/}} pour «parser» des listings informatiques
+avec coloriage syntaxique. Comme elle utilise le Lua de LuaLaTeX, elle fonctionne
+uniquement avec |lualatex| (et ne va pas fonctionner avec les autres moteurs de
+compilation LaTeX, que ce soit |latex|, |pdflatex| ou |xelatex|). Elle n'utilise aucun
+programme extérieur et la compilation ne requiert donc pas |--shell-escape|. La
+compilation est très rapide puisque tout le travail du parseur est fait par la librairie
+LPEG, écrite en C.
\bigskip
Voici un exemple de code Python composé avec l'environnement |{Piton}| proposé par \pkg{piton}.
@@ -149,40 +153,42 @@ def arctan(x,n=10:int):
\end{Piton}
\bigskip
-Les principaux concurrents de l'extension \pkg{piton} sont certainement les extensions bien connues \pkg{listings}
-et \pkg{minted}.
+Les principaux concurrents de l'extension \pkg{piton} sont certainement les extensions
+bien connues \pkg{listings} et \pkg{minted}.
\bigskip
-Le nom de cette extension (\pkg{piton}) a été choisi un peu arbitrairement en référence aux pitons d'alpinisme qui
-servent à gravir les montagnes.
+Le nom de cette extension (\pkg{piton}) a été choisi un peu arbitrairement en référence
+aux pitons d'alpinisme qui servent à gravir les montagnes.
\section{Installation}
-L'extension \pkg{piton} est composée de deux fichiers : |piton.sty| et |piton.lua| (le fichier LaTeX |piton.sty|
-chargé par |\usepackage| va à son tour charger le fichier |piton.lua|). Les deux fichiers doivent être présents
-dans un répertoire où LaTeX pourra les trouver, de préférence dans une arborescence |texmf|. Le mieux reste néanmoins
+L'extension \pkg{piton} est composée de deux fichiers : |piton.sty| et |piton.lua| (le
+fichier LaTeX |piton.sty| chargé par |\usepackage| va à son tour charger le fichier
+|piton.lua|). Les deux fichiers doivent être présents dans un répertoire où LaTeX pourra
+les trouver, de préférence dans une arborescence |texmf|. Le mieux reste néanmoins
d'installer \pkg{piton} avec une distribution TeX comme MiKTeX, TeX~Live ou MacTeX.
\section{Utilisation de l'extension}
-L'extension \pkg{piton} n'est utilisable qu'avec LuaLaTeX : si un autre moteur de compilation (comme |latex|,
-|pdflatex| ou |xelatex|) est utilisé, une erreur fatale sera levée.
+L'extension \pkg{piton} n'est utilisable qu'avec LuaLaTeX : si un autre moteur de
+compilation (comme |latex|, |pdflatex| ou |xelatex|) est utilisé, une erreur fatale sera
+levée.
\subsection{Choix du langage}
Les langages informatiques pris en charge par \pkg{piton} se classent en deux catégories :
\begin{itemize}
-\item les langages reconnus nativement par \pkg{piton} qui sont au nombre de cinq : Python, OCaml, SQL, C (ou
-plutôt \CC) et un langage nommé |minimal|\footnote{Le langage |minimal| peut servir pour formater du pseudo-code
- : cf.~p.~\pageref{minimal}.} ;
+\item les langages reconnus nativement par \pkg{piton} qui sont au nombre de cinq :
+Python, OCaml, SQL, C (ou plutôt \CC) et un langage nommé |minimal|\footnote{Le langage
+ |minimal| peut servir pour formater du pseudo-code : cf.~p.~\pageref{minimal}.} ;
\item les langages définis par l'utilisateur avec la commande |\NewPitonLanguage| décrite
-p.~\pageref{NewPitonLanguage} (les parseurs de ces langages ne pourront jamais être aussi précis que ceux proposés
-nativement par \pkg{piton)}.
+p.~\pageref{NewPitonLanguage} (les parseurs de ces langages ne pourront jamais être aussi
+précis que ceux proposés nativement par \pkg{piton)}.
\end{itemize}
@@ -197,15 +203,16 @@ On peut changer de langage avec la clé |language| de |\PitonOptions| :
|\PitonOptions{language = OCaml}|
\smallskip
-En fait, le nom des langages, pour \pkg{piton}, est toujours \textbf{insensible à la casse}. Dans cet exemple, on
-aurait tout aussi bien pu écrire |Ocaml| ou |ocaml|.
+En fait, le nom des langages, pour \pkg{piton}, est toujours \textbf{insensible à la
+ casse}. Dans cet exemple, on aurait tout aussi bien pu écrire |Ocaml| ou |ocaml|.
\smallskip
-Pour les développeurs, précisons que le nom du langage courant est stocké (en minuscules) dans la variable publique
-L3 nommée |\l_piton_language_str|.
+Pour les développeurs, précisons que le nom du langage courant est stocké (en minuscules)
+dans la variable publique L3 nommée |\l_piton_language_str|.
\smallskip
-Dans la suite de ce document, on parlera de Python mais les fonctionnalités s'appliquent aussi aux autres langages.
+Dans la suite de ce document, on parlera de Python mais les fonctionnalités s'appliquent
+aussi aux autres langages.
@@ -215,21 +222,21 @@ Dans la suite de ce document, on parlera de Python mais les fonctionnalités s'a
L'extension \pkg{piton} se charge simplement avec |\usepackage{piton}|.
\smallskip
-Si, à la fin du prambule, l'extension \pkg{xcolor} n'a pas été chargée (par l'utilisateur ou par une extension
-chargée dans le préambule), \pkg{piton} charge l'extension \pkg{xcolor} avec |\usepackage{xcolor}|, c'est-à-dire
-sans aucune option. L'extension \pkg{piton} ne charge pas d'autre extension. Elle n'utilise pas de programme
-extérieur.
+Si, à la fin du prambule, l'extension \pkg{xcolor} n'a pas été chargée (par l'utilisateur
+ou par une extension chargée dans le préambule), \pkg{piton} charge l'extension
+\pkg{xcolor} avec |\usepackage{xcolor}|, c'est-à-dire sans aucune option. L'extension
+\pkg{piton} ne charge pas d'autre extension. Elle n'utilise pas de programme extérieur.
\subsection{Les commandes et environnements à la disposition de l'utilisateur}
\indexenv{Piton}
-L'extension \pkg{piton} fournit plusieurs outils pour composer du code Python: les commandes |\piton|,
-l'environnement |{Piton}| et la commande |\PitonInputFile|.
+L'extension \pkg{piton} fournit plusieurs outils pour composer du code Python: les
+commandes |\piton|, l'environnement |{Piton}| et la commande |\PitonInputFile|.
\begin{itemize} \setlength{\fboxsep}{1pt}
-\item La commande \colorbox{gray!20}{\ttfamily \textbackslash piton} doit être utilisée pour composer de petits éléments de code à l'intérieur d'un
-paragraphe. Par exemple :
+\item La commande \colorbox{gray!20}{\ttfamily \textbackslash piton} doit être utilisée
+pour composer de petits éléments de code à l'intérieur d'un paragraphe. Par exemple :
{\color{gray}\verb|\piton{def carré(x): return x*x}|}\qquad
\piton{def carré(x): return x*x}
@@ -237,26 +244,28 @@ paragraphe. Par exemple :
La syntaxe et les particularités de la commande sont détaillées ci-après.
-\item L'environnement \colorbox{gray!20}{\ttfamily \{Piton\}} doit être utilisé pour composer des codes de
-plusieurs lignes. Comme cet environnement prend son argument selon un mode verbatim, il ne peut pas être utilisé
-dans l'argument d'une commande LaTeX. Pour les besoins de personnalisation, il est possible de définir de nouveaux
-environnements similaires à |{Piton}| en utilisant la commande \DefinitionCommand{NewPitonEnvironment} : cf. partie
-\ref{NewPitonEnvironment} p.~\pageref{NewPitonEnvironment}.
+\item L'environnement \colorbox{gray!20}{\ttfamily \{Piton\}} doit être utilisé pour
+composer des codes de plusieurs lignes. Comme cet environnement prend son argument selon
+un mode verbatim, il ne peut pas être utilisé dans l'argument d'une commande LaTeX. Pour
+les besoins de personnalisation, il est possible de définir de nouveaux environnements
+similaires à |{Piton}| en utilisant la commande \DefinitionCommand{NewPitonEnvironment} :
+cf. partie \ref{NewPitonEnvironment} p.~\pageref{NewPitonEnvironment}.
-\item La commande \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFile} doit être utilisée pour insérer et
-composer un fichier externe.
+\item La commande \colorbox{gray!20}{\ttfamily \textbackslash PitonInputFile} doit être
+utilisée pour insérer et composer un fichier externe.
Il est possible de n'insérer qu'une partie de ce fichier : cf. partie~\ref{part-of-a-file},
p.~\pageref{part-of-a-file}.
-La clé \Definition{path} de la commande |\PitonOptions| permet de spécifier une \emph{liste} de chemins où sera
-recherché le fichier à inclure (dans cette liste, les chemins sont séparés par des virgules).
+La clé \Definition{path} de la commande |\PitonOptions| permet de spécifier une
+\emph{liste} de chemins où sera recherché le fichier à inclure (dans cette liste, les
+chemins sont séparés par des virgules).
-L'extension \pkg{piton} propose aussi des commandes \colorbox{gray!20}{\ttfamily\textbackslash PitonInputFileT},
-\colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileF} et
-\colorbox{gray!20}{\ttfamily \textbackslash PitonInputFileTF} avec des arguments correspondant aux lettres |T| et
-|F|, arguments qui seront executés dans le
-cas où le fichier a été trouvé (lettre |T|) ou pas (lettre |F|).
+L'extension \pkg{piton} propose aussi des commandes
+\colorbox{gray!20}{\ttfamily\textbackslash PitonInputFileT}, \colorbox{gray!20}{\ttfamily
+ \textbackslash PitonInputFileF} et \colorbox{gray!20}{\ttfamily \textbackslash
+ PitonInputFileTF} avec des arguments correspondant aux lettres |T| et |F|, arguments qui
+seront executés dans le cas où le fichier a été trouvé (lettre |T|) ou pas (lettre |F|).
\end{itemize}
@@ -265,19 +274,23 @@ cas où le fichier a été trouvé (lettre |T|) ou pas (lettre |F|).
\indexcommand{piton}
-La commande |\piton| possède en fait une syntaxe double. Elle est peut être utilisée comme une commande standard de
-LaTeX prenant son argument entre accolades (|\piton{...}|), ou bien selon la syntaxe de la commande |\verb| où l'argument est
-délimité entre deux caractères identiques (par ex. : \verb!\piton|...|!). On détaille maintenant ces deux syntaxes.
+La commande |\piton| possède en fait une syntaxe double. Elle est peut être utilisée comme
+une commande standard de LaTeX prenant son argument entre accolades (|\piton{...}|), ou
+bien selon la syntaxe de la commande
+|\verb| où l'argument est délimité entre deux caractères
+identiques (par ex. : \verb!\piton|...|!).
+On détaille maintenant ces deux syntaxes.
\bigskip
\begin{itemize}
\item {\color{blue} \textsf{Syntaxe} \verb|\piton{...}|}\par\nobreak
-Quand son argument est donné entre accolades, la commande |\piton| ne prend pas son argument en mode verbatim. Les
-points suivants doivent être remarqués :
+Quand son argument est donné entre accolades, la commande |\piton| ne prend pas son
+argument en mode verbatim. Les points suivants doivent être remarqués :
\begin{itemize}
-\item plusieurs espaces successives sont remplacées par une unique espace, ainsi que les retours à la ligne
+\item plusieurs espaces successives sont remplacées par une unique espace, ainsi que les
+retours à la ligne
{\color{cyan} mais la commande |\|⣠est fournie pour forcer l'insertion d'une espace} ;
@@ -287,7 +300,8 @@ points suivants doivent être remarqués :
\item les accolades doivent apparaître par paires correctement imbriquées,
-{\color{cyan} mais les commandes |\{| et |\}| sont aussi fournies pour insérer des accolades individuelles} ;
+{\color{cyan} mais les commandes |\{| et |\}| sont aussi fournies pour insérer des
+ accolades individuelles} ;
\item les commandes LaTeX\footnote{Cela s'applique aux commandes commençant par une contre-oblique |\| mais
également aux caractères actifs, c'est-à-dire ceux de catcode~13.} sont complètement développées sans être
@@ -316,16 +330,16 @@ et |@|) doivent être insérés sans contre-oblique.
\end{tabular}
\bigskip
-La commande |\piton| avec son argument entre accolades peut être utilisée dans les arguments des autres commandes LaTeX.\footnote{La commande
- |\piton| peut par exemple être
+La commande |\piton| avec son argument entre accolades peut être utilisée dans les
+arguments des autres commandes LaTeX.\footnote{La commande |\piton| peut par exemple être
utilisée dans une note de bas de page. Exemple : \piton{s = 'Une chaîne'}.}
\bigskip
\item {\color{blue} \textsf{Syntaxe} \verb!\piton|...|!}\par\nobreak
-Quand la commande |\piton| prend son argument entre deux caractères identiques, cet argument est pris \emph{en mode
- verbatim}. De ce fait, avec cette syntaxe, la commande |\piton| ne peut \emph{pas} être utilisée dans l'argument d'une
-autre fonction.
+Quand la commande |\piton| prend son argument entre deux caractères identiques, cet
+argument est pris \emph{en mode verbatim}. De ce fait, avec cette syntaxe, la commande
+|\piton| ne peut \emph{pas} être utilisée dans l'argument d'une autre fonction.
\medskip
\begin{tabular}{>{\color{gray}}w{l}{75mm}@{\hspace*{1cm}}l}
@@ -347,85 +361,108 @@ autre fonction.
\section{Personnalisation}
-Concernant la fonte de caractères utilisée dans les listings produits par l'extension \pkg{piton}, il s'agit
-simplement de la fonte mono-chasse courante (\pkg{piton} utilise simplement en interne la commande LaTeX standard
-|\ttfamily|). Pour la changer, le mieux est d'utiliser |\setmonofont| de \pkg{fontspec}.
+Concernant la fonte de caractères utilisée dans les listings produits par l'extension
+\pkg{piton}, il s'agit simplement de la fonte mono-chasse courante (\pkg{piton} utilise
+simplement en interne la commande LaTeX standard |\ttfamily|). Pour la changer, le mieux
+est d'utiliser |\setmonofont| de \pkg{fontspec}.
\subsection{Les clés de la commande \textbackslash PitonOptions}
\indexcommand{PitonOptions}
-La commande |\PitonOptions| prend en argument une liste de couples \textsl{clé=valeur}. La portée des réglages
-effectués par cette commande est le groupe TeX courant.\footnote{On rappelle que tout environnement LaTeX est, en
- particulier, un groupe.}
+La commande |\PitonOptions| prend en argument une liste de couples \textsl{clé=valeur}. La
+portée des réglages effectués par cette commande est le groupe TeX courant.\footnote{On
+ rappelle que tout environnement LaTeX est, en particulier, un groupe.}
-Ces clés peuvent aussi être appliquées à un environnement |{Piton}| individuel (entre crochets).
+Ces clés peuvent aussi être appliquées à un environnement |{Piton}| individuel (entre
+crochets).
\begin{itemize}
-\item La clé \Definition{language} spécifie le langage informatique considéré (la casse n'est pas prise en compte).
-Cinq valeurs sont possibles : |Python|, |OCaml|, |C|, |SQL| et |minimal|. La valeur initiale est |Python|.
+\item La clé \Definition{language} spécifie le langage informatique considéré (la casse
+n'est pas prise en compte). On peut choisir l'un des cinq langages prédéfinis (|Python|,
+|OCaml|, |C|, |SQL| et |minimal|) ou bien le nom d'un langage défini par l'utilisateur
+avec |\NewPitonLanguage| (voir partie~\ref{NewPitonLanguage}, p.~\pageref{NewPitonLanguage}).
+
+La valeur initiale est |Python|.
\item \index{path} La clé \Definition{path} indique un chemin où seront cherchés les fichiers inclus par
|\PitonInputFile|.
-\item \index{gobble}\label{gobble} La clé \Definition{gobble} prend comme valeur un entier positif $n$ : les $n$
-premiers caractères de chaque ligne sont alors retirés (avant formatage du code) dans les environnements |{Piton}|.
-Ces $n$ caractères ne sont pas nécessairement des espaces.
-
-\item \index{auto-gobble}\index{gobble!auto-gobble} Quand la clé \Definition{auto-gobble} est activée, l'extension \pkg{piton} détermine la valeur minimale $n$
-du nombre d'espaces successifs débutant chaque ligne (non vide) de l'environnement |{Piton}| et applique |gobble|
-avec cette valeur de~$n$.
-
-\item \index{env-gobble}\index{gobble!env-gobble} Quand la clé \Definition{env-gobble} est activée, \pkg{piton}
-analyse la dernière ligne de l'environnement, c'est-à-dire celle qui contient le |\end{Piton}| et détermine si
-cette ligne ne comporte que des espaces suivis par |\end{Piton}|. Si c'est le cas, \pkg{piton} calcule le nombre
-$n$ de ces espaces et applique |gobble| avec cette valeur de~$n$. Le nom de cette clé vient de \emph{environment
- gobble}: le nombre d'espaces à retirer ne dépend que de la position des délimiteurs |\begin{Piton}| et
-|\end{Piton}| de l'environnement.
-
-\item \index{write} La clé \Definition{write} prend en argument un nom de fichier (avec l'extension) et écrit le
-contenu\footnote{En fait, il ne s'agit pas exactement du contenu de l'environnement mais de la valeur renvoyée par
- l'instruction Lua
- |piton.get_last_code()| qui en est une version sans les surcharges de formatage LaTeX (voir la partie \ref{API}, p.~\pageref{API}).} de l'environnement courant dans ce fichier. À la première utilisation du fichier par \pkg{piton}, celui-ci
-est effacé.
-
-\item \index{path-write} La clé \Definition{path-write} indique un chemin où seront écrits les fichiers écrits par
-l'emploi de la clé |write| précédente.
-
-\item \index{line-numbers} La clé \Definition{line-numbers} active la numérotation des lignes (en débordement à
-gauche) dans les environnements |{Piton}| et dans les listings produits par la commande |\PitonInputFile|.
+\item \index{gobble}\label{gobble} La clé \Definition{gobble} prend comme valeur un entier
+positif $n$ : les $n$ premiers caractères de chaque ligne sont alors retirés (avant
+formatage du code) dans les environnements |{Piton}|. Ces $n$ caractères ne sont pas
+nécessairement des espaces.
+
+\item \index{auto-gobble}\index{gobble!auto-gobble} Quand la clé \Definition{auto-gobble}
+est activée, l'extension \pkg{piton} détermine la valeur minimale $n$ du nombre d'espaces
+successifs débutant chaque ligne (non vide) de l'environnement |{Piton}| et applique
+|gobble| avec cette valeur de~$n$.
+
+\item \index{env-gobble}\index{gobble!env-gobble} Quand la clé \Definition{env-gobble} est
+activée, \pkg{piton} analyse la dernière ligne de l'environnement, c'est-à-dire celle qui
+contient le |\end{Piton}| et détermine si cette ligne ne comporte que des espaces suivis
+par |\end{Piton}|. Si c'est le cas, \pkg{piton} calcule le nombre $n$ de ces espaces et
+applique |gobble| avec cette valeur de~$n$. Le nom de cette clé vient de \emph{environment
+ gobble}: le nombre d'espaces à retirer ne dépend que de la position des délimiteurs
+|\begin{Piton}| et |\end{Piton}| de l'environnement.
+
+\item \index{write} La clé \Definition{write} prend en argument un nom de fichier (avec
+l'extension) et écrit le contenu\footnote{En fait, il ne s'agit pas exactement du contenu
+ de l'environnement mais de la valeur renvoyée par l'instruction Lua
+ |piton.get_last_code()| qui en est une version sans les surcharges de formatage LaTeX
+ (voir la partie \ref{API}, p.~\pageref{API}).} de l'environnement courant dans ce
+fichier. À la première utilisation du fichier par \pkg{piton}, celui-ci est effacé.
+
+\item \index{path-write} La clé \Definition{path-write} indique un chemin où seront écrits
+les fichiers écrits par l'emploi de la clé |write| précédente.
+
+\item \index{line-numbers} La clé \Definition{line-numbers} active la numérotation des
+lignes (en débordement à gauche) dans les environnements |{Piton}| et dans les listings
+produits par la commande |\PitonInputFile|.
Cette clé propose en fait plusieurs sous-clés.
\begin{itemize}
-\item La clé \Definition{line-numbers/skip-empty-lines} demande que les lignes vides (qui ne contiennent que des
-espaces) soient considérées comme non existantes en ce qui concerne la numérotation des lignes (si la clé
-|/absolute|, décrite plus bas, est active, la clé |/skip-empty-lines| n'a pas d'effet dans |\PitonInputFile|). La
-valeur initiale de cette clé est |true| (et non |false|).\footnote{Avec le langage Python, les lignes vides des \emph{docstrings} sont
- prises en compte.}
-
-\item La clé \Definition{line-numbers/label-empty-lines} demande que les labels (c'est-à-dire les numéros) des
-lignes vides soient affichés. Si la clé |/skip-empty-lines| est active, la clé |/label-empty-lines| est sans effet.
-La valeur initiale de cette clé est |true|.\footnote{Quand la clé |split-on-empty-lines| est activée, les labels des
+\item La clé \Definition{line-numbers/skip-empty-lines} demande que les lignes vides (qui
+ne contiennent que des espaces) soient considérées comme non existantes en ce qui concerne
+la numérotation des lignes (si la clé |/absolute|, décrite plus bas, est active, la clé
+|/skip-empty-lines| n'a pas d'effet dans |\PitonInputFile|). La valeur initiale de cette
+clé est |true| (et non |false|).\footnote{Avec le langage Python, les lignes vides des
+ \emph{docstrings} sont prises en compte.}
+
+\item La clé \Definition{line-numbers/label-empty-lines} demande que les labels
+(c'est-à-dire les numéros) des lignes vides soient affichés. Si la clé |/skip-empty-lines|
+est active, la clé |/label-empty-lines| est sans effet. La valeur initiale de cette clé
+est |true|.\footnote{Quand la clé |split-on-empty-lines| est activée, les labels des
lignes vides ne sont jamais imprimés.}
-\item La clé \Definition{line-numbers/absolute} demande, pour les listings générés par |\PitonInputFile|, que les
-numéros de lignes affichés soient absolus (c'est-à-dire ceux du fichier d'origine). Elle n'a d'intérêt que si on
-n'insère qu'une partie du fichier (cf. partie~\ref{part-of-a-file}, p.~\pageref{part-of-a-file}). La clé
-|/absolute| est sans effet dans les environnements |{Piton}|.
+\item La clé \Definition{line-numbers/absolute} demande, pour les listings générés par
+|\PitonInputFile|, que les numéros de lignes affichés soient absolus (c'est-à-dire ceux du
+fichier d'origine). Elle n'a d'intérêt que si on n'insère qu'une partie du fichier (cf.
+partie~\ref{part-of-a-file}, p.~\pageref{part-of-a-file}). La clé |/absolute| est sans
+effet dans les environnements |{Piton}|.
-\item La clé \Definition{line-numbers/resume} reprend la numérotation là où elle avait été laissée au dernier
-listing. En fait, la clé |line-numbers/resume| a un alias, qui est |resume| tout court (car on peut être amené à
-l'utiliser souvent).
+\item La clé \Definition{line-numbers/resume} reprend la numérotation là où elle avait été
+laissée au dernier listing. En fait, la clé |line-numbers/resume| a un alias, qui est
+|resume| tout court (car on peut être amené à l'utiliser souvent).
-\item La clé \Definition{line-numbers/start} impose que la numérotation commence à ce numéro.
+\item La clé \Definition{line-numbers/start} impose que la numérotation commence à ce
+numéro.
-\item La clé \Definition{line-numbers/sep} est la distance horizontale entre les numéros de lignes (insérés par
-|line-numbers|) et les lignes du code informatique. La valeur initiale est 0.7~em.
+\item La clé \Definition{line-numbers/sep} est la distance horizontale entre les numéros
+de lignes (insérés par |line-numbers|) et les lignes du code informatique. La valeur
+initiale est 0.7~em.
+
+\item \colorbox{yellow!50}{\bfseries Nouveau 3.1}\enskip
+La clé \Definition{line-numbers/format} est une liste de tokens qui est insérée avant le
+numéro de ligne pour le formater. Il est possible de mettre \emph{en dernière position} de
+cette liste une commande LaTeX à un argument comme |\fbox|.
+
+La valeur initiale est |\footnotesize \color{gray}|.
\end{itemize}
-Pour la commodité, un dispositif de factorisation du préfixe |line-numbers| est disponible, c'est-à-dire que l'on
-peut écrire :
+Pour la commodité, un dispositif de factorisation du préfixe |line-numbers| est
+disponible, c'est-à-dire que l'on peut écrire :
\begin{Verbatim}
\PitonOptions
@@ -434,53 +471,71 @@ peut écrire :
{
skip-empty-lines = false ,
label-empty-lines = false ,
- sep = 1 em
+ sep = 1 em ,
+ line-format = \footnotesize \color{blue}
}
}
\end{Verbatim}
-\item \index{left-margin} La clé \Definition{left-margin} fixe une marge sur la gauche. Cette clé peut être utile, en particulier, en
-conjonction avec la clé |line-numbers| si on ne souhaite pas que les numéros de ligne soient dans une position en
-débordement sur la gauche.
+\item \index{left-margin} La clé \Definition{left-margin} fixe une marge sur la gauche.
+Cette clé peut être utile, en particulier, en conjonction avec la clé |line-numbers| si on
+ne souhaite pas que les numéros de ligne soient dans une position en débordement sur la
+gauche.
-Il est possible de donner à la clé |left-margin| la valeur spéciale~|auto|. Avec cette valeur, une marge est
-insérée automatiquement pour les numéros de ligne quand la clé |line-numbers| est utilisée. Voir un exemple à la
-partie \ref{example-numbering} p.~\pageref{example-numbering}.
+Il est possible de donner à la clé |left-margin| la valeur spéciale~|auto|. Avec cette
+valeur, une marge est insérée automatiquement pour les numéros de ligne quand la clé
+|line-numbers| est utilisée. Voir un exemple à la partie \ref{example-numbering}
+p.~\pageref{example-numbering}.
-\item \index{background-color} La clé \Definition{background-color} fixe la couleur de fond des environnements |{Piton}| et des listings
-produits par |\PitonInputFile| (ce fond a une largeur que l'on peut fixer avec la clé |width| décrite ci-dessous).
-La clé |background-color| accepte une couleur définie «à la volée», c'est-à-dire que l'on peut écrire par exemple
-|background-color = [cmyk]{0.1,0.05,0,0}|
+\item \index{background-color} La clé \Definition{background-color} fixe la couleur de
+fond des environnements |{Piton}| et des listings produits par |\PitonInputFile| (ce fond
+a une largeur que l'on peut fixer avec la clé |width| décrite ci-dessous). La clé
+|background-color| accepte une couleur définie «à la volée», c'est-à-dire que l'on peut
+écrire par exemple |background-color = [cmyk]{0.1,0.05,0,0}|
\smallskip
-La clé |background-color| accepte aussi en argument une \emph{liste} de couleurs. Les lignes sont alors coloriées
-de manière cyclique avec ces couleurs.
+La clé |background-color| accepte aussi en argument une \emph{liste} de couleurs. Les
+lignes sont alors coloriées de manière cyclique avec ces couleurs.
\emph{Exemple} : |\PitonOptions{background-color = {gray!5,white}}|
-\item \index{prompt-background-color} Avec la clé \Definition{prompt-background-color}, \pkg{piton} ajoute un fond coloré aux lignes débutant par
-le prompt «|>>>|» (et sa continuation «|...|») caractéristique des consoles Python avec boucle \textsc{repl}
-(\emph{read-eval-print loop}). Pour un exemple d'utilisation de cette clé, voir la partie \ref{pythonrepl}
-p.~\pageref{pythonrepl}.
-
-\item \index{width} La clé \Definition{width} fixe la largeur du listing produit. Cette largeur s'applique aux fonds colorés
-spécifiés par les clés |background-color| et |prompt-background-color| et également quand une coupure automatique
-des lignes est demandée par |break-lines| (cf.~\ref{line-breaks}, p.~\pageref{line-breaks}).
-
-Cette clé peut prendre comme valeur une longueur explicite mais aussi la valeur spéciale~|min|. Avec cette valeur,
-la largeur sera calculée à partir de la largeur maximale des lignes de code. Attention : l'usage de cette valeur
-spéciale~|min| requiert deux compilations LuaLaTeX\footnote{La largeur maximale est calculée lors de la première
-compilation, écrite sur le fichier~|aux|, puis réutilisée lors de la compilation suivante. Certains outils comme
-|latexmk| (utilisé par Overleaf) effectuent automatiquement un nombre suffisant de compilations.}.
-
-Pour un exemple d'utilisation de |width=min|, voir la partie~\ref{example-comments} sur les exemples, p.~\pageref{example-comments}.
-
-\item \index{show-spaces-in-strings} En activant la clé \Definition{show-spaces-in-strings}, les espaces dans les
-chaînes de caractères\footnote{Pour le language Python, cela ne s'applique que pour les chaînes courtes, c'est-à-dire
-celles délimitées par~\verb|'| ou~\verb|"|. En OCaml, cela ne s'applique pas pour les \emph{quoted strings}.} sont
-matérialisés par le caractère ⣠(U+2423 : \textsc{open box}). Bien sûr, le caractère U+2423 doit être présent dans la fonte mono-chasse utilisée.\footnote{L'extension \pkg{piton} utilise
- simplement la fonte mono-chasse courante. Pour la changer, le mieux est d'utiliser |\setmonofont| de
+\smallskip
+Si la clé |split-on-empty-lines| est utilisée (voir la partie «Coupure de pages»,
+p.~\pageref{coupure-de-pages}), les lignes de séparation entre morceaux de code générés
+par cette clé n'ont pas de fond coloré (au moins avec la valeur initiale du paramètre
+|split-separation|).
+
+\item \index{prompt-background-color} Avec la clé \Definition{prompt-background-color},
+\pkg{piton} ajoute un fond coloré aux lignes débutant par le prompt «|>>>|» (et sa
+continuation «|...|») caractéristique des consoles Python avec boucle \textsc{repl}
+(\emph{read-eval-print loop}). Pour un exemple d'utilisation de cette clé, voir la partie
+\ref{pythonrepl} p.~\pageref{pythonrepl}.
+
+\item \index{width} La clé \Definition{width} fixe la largeur du listing produit. Cette
+largeur s'applique aux fonds colorés spécifiés par les clés |background-color| et
+|prompt-background-color| et également quand une coupure automatique des lignes est
+demandée par |break-lines| (cf.~\ref{line-breaks}, p.~\pageref{line-breaks}).
+
+Cette clé peut prendre comme valeur une longueur explicite mais aussi la valeur
+spéciale~|min|. Avec cette valeur, la largeur sera calculée à partir de la largeur
+maximale des lignes de code. Attention : l'usage de cette valeur spéciale~|min| requiert
+deux compilations LuaLaTeX\footnote{La largeur maximale est calculée lors de la première
+ compilation, écrite sur le fichier~|aux|, puis réutilisée lors de la compilation
+ suivante. Certains outils comme |latexmk| (utilisé par Overleaf) effectuent
+ automatiquement un nombre suffisant de compilations.}.
+
+Pour un exemple d'utilisation de |width=min|, voir la partie~\ref{example-comments} sur
+les exemples, p.~\pageref{example-comments}.
+
+\item \index{show-spaces-in-strings} En activant la clé
+\Definition{show-spaces-in-strings}, les espaces dans les chaînes de
+caractères\footnote{Pour le language Python, cela ne s'applique que pour les chaînes
+ courtes, c'est-à-dire celles délimitées par~\verb|'| ou~\verb|"|. En OCaml, cela ne
+ s'applique pas pour les \emph{quoted strings}.} sont matérialisés par le caractère â£
+(U+2423 : \textsc{open box}). Bien sûr, le caractère U+2423 doit être présent dans la
+fonte mono-chasse utilisée.\footnote{L'extension \pkg{piton} utilise simplement la fonte
+ mono-chasse courante. Pour la changer, le mieux est d'utiliser |\setmonofont| de
\pkg{fontspec}.}\par\nobreak
%
\begingroup
@@ -488,10 +543,12 @@ matérialisés par le caractère ⣠(U+2423 : \textsc{open box}). Bien sûr, le
Exemple : \piton{my_string = 'Très bonne réponse'}
\endgroup
-\item \index{show-spaces} Avec la clé \Definition{show-spaces}, tous les espaces sont matérialisés (et aucune
-coupure de ligne ne peut plus intervenir sur ces espaces matérialisés, même si la clé |break-lines|\footnote{cf.
- \ref{line-breaks} p.~\pageref{line-breaks}.} est active). Il faut néanmoins remarquer que les espaces en fin de
-ligne sont tous supprimés par \pkg{piton}. Les tabulations de début de ligne sont représentées par des flèches.
+\item \index{show-spaces} Avec la clé \Definition{show-spaces}, tous les espaces sont
+matérialisés (et aucune coupure de ligne ne peut plus intervenir sur ces espaces
+matérialisés, même si la clé |break-lines|\footnote{cf. \ref{line-breaks}
+ p.~\pageref{line-breaks}.} est active). Il faut néanmoins remarquer que les espaces en
+fin de ligne sont tous supprimés par \pkg{piton}. Les tabulations de début de ligne sont
+représentées par des flèches.
\end{itemize}
\bigskip
@@ -544,8 +601,8 @@ ligne sont tous supprimés par \pkg{piton}. Les tabulations de début de ligne s
\bigskip
-La commande |\PitonOptions| propose d'autres clés qui seront décrites plus loin (voir en particulier la coupure des
-pages et des lignes p.~\pageref{breakable}).
+La commande |\PitonOptions| propose d'autres clés qui seront décrites plus loin (voir en
+particulier la coupure des pages et des lignes p.~\pageref{breakable}).
\subsection{Les styles}
@@ -555,32 +612,35 @@ pages et des lignes p.~\pageref{breakable}).
\subsubsection{Notion de style}
-L'extension \pkg{piton} fournit la commande |\SetPitonStyle| pour personnaliser les différents styles utilisés pour
-formater les éléments syntaxiques des listings Python. Ces personnalisations ont une portée qui correspond au
-groupe TeX courant.\footnote{On rappelle que tout environnement LaTeX est, en particulier, un groupe.}
+L'extension \pkg{piton} fournit la commande |\SetPitonStyle| pour personnaliser les
+différents styles utilisés pour formater les éléments syntaxiques des listings Python. Ces
+personnalisations ont une portée qui correspond au groupe TeX courant.\footnote{On
+ rappelle que tout environnement LaTeX est, en particulier, un groupe.}
\bigskip
-\indexcommand{SetPitonStyle}
-La commande |\SetPitonStyle| prend en argument une liste de couples \textsl{clé=valeur}. Les clés sont les noms des
-styles et les valeurs sont les instructions LaTeX de formatage correspondantes.
+\indexcommand{SetPitonStyle} La commande |\SetPitonStyle| prend en argument une liste de
+couples \textsl{clé=valeur}. Les clés sont les noms des styles et les valeurs sont les
+instructions LaTeX de formatage correspondantes.
\bigskip
-Ces instructions LaTeX doivent être des instructions de formatage du type de |\bfseries|, |\slshape|,
-|\color{...}|, etc. (les commandes de ce type sont parfois qualifiées de \emph{semi-globales}). Il est aussi
-possible de mettre, \emph{à la fin de la liste d'instructions}, une commande LaTeX prenant exactement un argument.
+Ces instructions LaTeX doivent être des instructions de formatage du type de |\bfseries|,
+|\slshape|, |\color{...}|, etc. (les commandes de ce type sont parfois qualifiées de
+\emph{semi-globales}). Il est aussi possible de mettre, \emph{à la fin de la liste
+ d'instructions}, une commande LaTeX prenant exactement un argument.
\bigskip
-Voici un exemple qui change le style utilisé pour le nom d'une fonction Python, au moment de sa définition
-(c'est-à-dire après le mot-clé |def|). Elle utilise la commande |\highLight| de \pkg{lua-ul} (qui nécessite
-lui-même le chargement de \pkg{luacolor}).
+Voici un exemple qui change le style utilisé pour le nom d'une fonction Python, au moment
+de sa définition (c'est-à-dire après le mot-clé |def|). Elle utilise la commande
+|\highLight| de \pkg{lua-ul} (qui nécessite lui-même le chargement de \pkg{luacolor}).
\begin{Verbatim}
\SetPitonStyle
{ Name.Function = \bfseries \hightLight[red!50] }
\end{Verbatim}
-Ici, |\highLight[red!50]| doit être considéré comme le nom d'une fonction LaTeX qui prend exactement un argument,
-puisque, habituellement, elle est utilisée avec |\highLight[red!50]{|\texttt{\slshape text}|}|.
+Ici, |\highLight[red!50]| doit être considéré comme le nom d'une fonction LaTeX qui prend
+exactement un argument, puisque, habituellement, elle est utilisée avec
+|\highLight[red!50]{|\texttt{\slshape text}|}|.
\medskip
\begingroup
@@ -591,57 +651,62 @@ Avec ce réglage, on obtient : \piton{def cube(x) : return x * x * x }
\bigskip
-L'usage des différents styles suivant le langage informatique considéré est décrit dans la partie \ref{Semantic}, à
-partir de la page \pageref{Semantic}.
+L'usage des différents styles suivant le langage informatique considéré est décrit dans la
+partie \ref{Semantic}, à partir de la page \pageref{Semantic}.
\bigskip
-\indexcommand{PitonStyle}
-La commande \DefinitionCommand{PitonStyle} prend en argument le nom d'un style et permet de récupérer la valeur (en
-tant que liste d'instructions LaTeX) de ce style.
+\indexcommand{PitonStyle} La commande \DefinitionCommand{PitonStyle} prend en argument le
+nom d'un style et permet de récupérer la valeur (en tant que liste d'instructions LaTeX)
+de ce style.
\smallskip
-Par exemple, on peut écrire, dans le texte courant, |{\PitonStyle{Keyword}{function}}| et on aura
-le mot {\PitonStyle{Keyword}{function}} formaté comme un mot-clé.
+Par exemple, on peut écrire, dans le texte courant, |{\PitonStyle{Keyword}{function}}| et
+on aura le mot {\PitonStyle{Keyword}{function}} formaté comme un mot-clé.
\smallskip
-La syntaxe |{\PitonStyle{|\textsl{\texttt{style}}|}{...}}| est nécessaire pour pouvoir tenir compte à la fois des commandes
-semi-globales et des commandes à argument présentes dans la valeur courante du style \texttt{\textsl{style}}.
+La syntaxe |{\PitonStyle{|\textsl{\texttt{style}}|}{...}}| est nécessaire pour pouvoir
+tenir compte à la fois des commandes semi-globales et des commandes à argument présentes
+dans la valeur courante du style \texttt{\textsl{style}}.
\subsubsection{Styles locaux et globaux}
-Un style peut être défini de manière globale avec la commande |\SetPitonStyle|. Cela veut dire qu'il s'appliquera
-par défaut à tous les langages informatiques qui utilisent ce style.
+Un style peut être défini de manière globale avec la commande |\SetPitonStyle|. Cela veut
+dire qu'il s'appliquera par défaut à tous les langages informatiques qui utilisent ce
+style.
\medskip
Par exemple, avec la commande
\begin{Verbatim}
\SetPitonStyle{Comment = \color{gray}}
\end{Verbatim}
-tous les commentaires (que ce soit en Python, en C, en OCaml, etc. ou dans un langage défini avec
-|\NewPitonLanguage|) seront composés en gris.
+tous les commentaires (que ce soit en Python, en C, en OCaml, etc. ou dans un langage
+défini avec |\NewPitonLanguage|) seront composés en gris.
\bigskip
-Mais il est aussi possible de définir un style localement pour un certain langage informatique en passant le nom du
-langage en argument optionnel (entre crochets) de la commande |\SetPitonStyle|.\footnote{On rappelle que, dans
- \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse.}
+Mais il est aussi possible de définir un style localement pour un certain langage
+informatique en passant le nom du langage en argument optionnel (entre crochets) de la
+commande |\SetPitonStyle|.\footnote{On rappelle que, dans \pkg{piton}, les noms des
+ langages informatiques ne sont pas sensibles à la casse.}
\medskip
Par exemple, avec la commande
\begin{Verbatim}
\SetPitonStyle~emphase#[SQL]@{Keywords = \color[HTML]{006699} \bfseries \MakeUppercase}
\end{Verbatim}
-les mots-clés dans les listings SQL seront composés en lettres capitales, même s'ils s'apparaissent en minuscules
-dans le fichier source LaTeX (on rappelle que, en SQL, les mot-clés ne sont pas sensibles à la casse et donc forcer
-leur mise en capitales peut être envisagé).
+les mots-clés dans les listings SQL seront composés en lettres capitales, même s'ils
+s'apparaissent en minuscules dans le fichier source LaTeX (on rappelle que, en SQL, les
+mot-clés ne sont pas sensibles à la casse et donc forcer leur mise en capitales peut être
+envisagé).
\medskip
-Comme on s'en doute, si un langage informatique utilise un certain style et que ce style n'est pas défini
-localement pour ce langage, c'est la version globale qui est utilisée. Cette notion de globalité n'a pas de
-rapport avec la notion de liaison locale de TeX (notion de groupe TeX).\footnote{Du point de vue des groupes de
- TeX, les liaisons faites par |\SetPitonStyle| sont toujours locales.}
+Comme on s'en doute, si un langage informatique utilise un certain style et que ce style
+n'est pas défini localement pour ce langage, c'est la version globale qui est utilisée.
+Cette notion de globalité n'a pas de rapport avec la notion de liaison locale de TeX
+(notion de groupe TeX).\footnote{Du point de vue des groupes de TeX, les liaisons faites
+ par |\SetPitonStyle| sont toujours locales.}
\medskip
Les styles fournis par défaut par \pkg{piton} sont tous définis globalement.
@@ -652,16 +717,19 @@ Les styles fournis par défaut par \pkg{piton} sont tous définis globalement.
\index{UserFunction (style)}
\bigskip
-Il existe un style spécial nommé |UserFunction|. Ce style s'applique aux noms des fonctions précédemment définies
-par l'utilisateur (par exemple, avec le langage Python, ces noms de fonctions sont ceux qui apparaissent après le
-mot-clé \piton{def} dans un listing Python précédent). La valeur initiale de ce style est nulle (=vide), ce qui
-fait que ces noms de fonctions sont formatés comme du texte courant (en noir). Néanmoins, il est possible de
-changer la valeur de ce style, comme tous les autres styles, avec la commande |\SetPitonStyle|.
+Il existe un style spécial nommé |UserFunction|. Ce style s'applique aux noms des
+fonctions précédemment définies par l'utilisateur (par exemple, avec le langage Python,
+ces noms de fonctions sont ceux qui apparaissent après le mot-clé \piton{def} dans un
+listing Python précédent). La valeur initiale de ce style est nulle (=vide), ce qui fait
+que ces noms de fonctions sont formatés comme du texte courant (en noir). Néanmoins, il
+est possible de changer la valeur de ce style, comme tous les autres styles, avec la
+commande |\SetPitonStyle|.
\medskip
-Dans l'exemple suivant, on règle les styles |Name.Function| et |UserFunction| de manière à ce que, quand on clique
-sur le nom d'une fonction Python précédemment définie par l'utilisateur, on soit renvoyé vers la définition
-(informatique) de cette fonction. Cette programmation utilise les fonctions |\hypertarget| et |\hyperlink| de \pkg{hyperref}.
+Dans l'exemple suivant, on règle les styles |Name.Function| et |UserFunction| de manière à
+ce que, quand on clique sur le nom d'une fonction Python précédemment définie par
+l'utilisateur, on soit renvoyé vers la définition (informatique) de cette fonction. Cette
+programmation utilise les fonctions |\hypertarget| et |\hyperlink| de \pkg{hyperref}.
\begingroup
@@ -698,7 +766,8 @@ def passe(v):
\end{Piton}
\medskip
-(Certains lecteurs de \textsc{pdf} affichent un cadre autour du mot |transpose| cliquable et d'autres non.)
+(Certains lecteurs de \textsc{pdf} affichent un cadre autour du mot |transpose| cliquable
+et d'autres non.)
\endgroup
@@ -707,12 +776,14 @@ def passe(v):
\bigskip
\begin{small}
-Bien sûr, la liste des noms de fonctions Python précédemment définies est gardée en mémoire de LuaLaTeX (de manière
-globale, c'est-à-dire indépendamment des groupes TeX). L'extension \pkg{piton} fournit une commande qui permet de
-vider cette liste : c'est la commande \DefinitionCommand{PitonClearUserFunctions}. Quand elle est utilisée sans argument, cette
-commande s'applique à tous les langages informatiques utilisées par l'utilisateur mais on peut spécifier en
-argument optionnel (entre crochets) une liste de langages informatiques auxquels elle s'appliquera.\footnote{On
- rappelle que, dans \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse. }
+Bien sûr, la liste des noms de fonctions Python précédemment définies est gardée en
+mémoire de LuaLaTeX (de manière globale, c'est-à-dire indépendamment des groupes TeX).
+L'extension \pkg{piton} fournit une commande qui permet de vider cette liste : c'est la
+commande \DefinitionCommand{PitonClearUserFunctions}. Quand elle est utilisée sans
+argument, cette commande s'applique à tous les langages informatiques utilisées par
+l'utilisateur mais on peut spécifier en argument optionnel (entre crochets) une liste de
+langages informatiques auxquels elle s'appliquera.\footnote{On rappelle que, dans
+ \pkg{piton}, les noms des langages informatiques ne sont pas sensibles à la casse. }
\end{small}
@@ -722,24 +793,26 @@ argument optionnel (entre crochets) une liste de langages informatiques auxquels
\label{NewPitonEnvironment}
\indexcommand{NewPitonEnvironment}
-Comme l'environnement |{Piton}| a besoin d'absorber son contenu d'une manière spéciale (à peu près comme du texte
-verbatim), il n'est pas possible de définir de nouveaux environnements directement au-dessus de l'environnement
-|{Piton}| avec les commandes classiques |\newenvironment| (de LaTeX standard) et |\NewDocumentEnvironment| (de
-LaTeX3).
+Comme l'environnement |{Piton}| a besoin d'absorber son contenu d'une manière spéciale (à
+peu près comme du texte verbatim), il n'est pas possible de définir de nouveaux
+environnements directement au-dessus de l'environnement |{Piton}| avec les commandes
+classiques |\newenvironment| (de LaTeX standard) et |\NewDocumentEnvironment| (de LaTeX3).
-C'est pourquoi \pkg{piton} propose une commande |\NewPitonEnvironment|. Cette commande a la même syntaxe que la
-commande classique |\NewDocumentEnvironment|.\footnote{Néanmoins, le spécificateur d'argument~|b|, qui sert à
- capter le corps de l'environnement comme un argument LaTeX, n'est pas autorisé.}
+C'est pourquoi \pkg{piton} propose une commande |\NewPitonEnvironment|. Cette commande a
+la même syntaxe que la commande classique |\NewDocumentEnvironment|.\footnote{Néanmoins,
+ le spécificateur d'argument~|b|, qui sert à capter le corps de l'environnement comme un
+ argument LaTeX, n'est pas autorisé.}
\bigskip
-Par exemple, avec l'instruction suivante, un nouvel environnement |{Python}| sera défini avec le même comportement
-que l'environnement |{Piton}|:
+Par exemple, avec l'instruction suivante, un nouvel environnement |{Python}| sera défini
+avec le même comportement que l'environnement |{Piton}|:
{\color{gray}|\NewPitonEnvironment{Python}{O{}}{\PitonOptions{#1}}{}|}
\bigskip
-Si on souhaite un environnement |{Python}| qui compose le code inclus dans une boîte de \pkg{tcolorbox}, on peut
-écrire (à condition, bien entendu, d'avoir chargé l'extension \pkg{tcolorbox}):
+Si on souhaite un environnement |{Python}| qui compose le code inclus dans une boîte de
+\pkg{tcolorbox}, on peut écrire (à condition, bien entendu, d'avoir chargé l'extension
+\pkg{tcolorbox}):
\begin{Verbatim}
\NewPitonEnvironment{Python}{}
@@ -780,21 +853,25 @@ def carré(x):
L'extension \pkg{listings} est une célèbre extension LaTeX pour formater des codes informatiques.
\medskip
-Elle propose une commande |\lstdefinelanguage| pour définir de nouveaux langages. Cette commande est aussi
-utilisée en interne par \pkg{listings} pour sa définition des languages (en fait, pour cela, \pkg{listings} utilise
-une commande nommée |\lst@definelanguage| mais celle-ci a la même syntaxe que |\lstdefinelanguage|).
+Elle propose une commande |\lstdefinelanguage| pour définir de nouveaux langages. Cette
+commande est aussi utilisée en interne par \pkg{listings} pour sa définition des languages
+(en fait, pour cela, \pkg{listings} utilise une commande nommée |\lst@definelanguage| mais
+celle-ci a la même syntaxe que |\lstdefinelanguage|).
\medskip
-L'extension \pkg{piton} propose une commande \DefinitionCommand{NewPitonLanguage} pour définir de nouveaux
-langages (utilisables avec les outils de \pkg{piton}) avec quasiment la même syntaxe que |\lstdefinelanguage|.
+L'extension \pkg{piton} propose une commande \DefinitionCommand{NewPitonLanguage} pour
+définir de nouveaux langages (utilisables avec les outils de \pkg{piton}) avec quasiment
+la même syntaxe que |\lstdefinelanguage|.
\medskip
-Précisons tout de suite que l'extension \pkg{piton} n'utilise \emph{pas} cette commande pour définir les langages
-qu'elle propose nativement (Python, C, OCaml, \CC\ et |minimal|), ce qui permet de proposer des parseurs plus puissants.
+Précisons tout de suite que l'extension \pkg{piton} n'utilise \emph{pas} cette commande
+pour définir les langages qu'elle propose nativement (Python, C, OCaml, \CC\ et
+|minimal|), ce qui permet de proposer des parseurs plus puissants.
\medskip
-Par exemple, dans le fichier |lstlang1.sty|, qui est un des fichiers de definition des langages proposés par défaut
-par \pkg{listings}, on trouve les instructions suivantes (dans la version 1.10a).
+Par exemple, dans le fichier |lstlang1.sty|, qui est un des fichiers de definition des
+langages proposés par défaut par \pkg{listings}, on trouve les instructions suivantes
+(dans la version 1.10a).
\begin{Verbatim}[formatcom=\small\color{gray}]
\lst~@definelanguage{Java}%
@@ -813,9 +890,10 @@ par \pkg{listings}, on trouve les instructions suivantes (dans la version 1.10a)
\end{Verbatim}
\medskip
-Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le code suivant,
-{\bfseries où le dernier argument de |\lst@definelanguage|, qui est entre crochets, a été supprimé}
-(en fait, les symboles \verb+%+ pourraient être supprimés sans problème).
+Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le code
+suivant, {\bfseries où le dernier argument de |\lst@definelanguage|, qui est entre
+ crochets, a été supprimé} (en fait, les symboles \verb+%+ pourraient être supprimés sans
+problème).
\begin{Verbatim}[formatcom=\small\color{gray}]
~emphase#\NewPitonLanguage@{Java}%
@@ -850,11 +928,13 @@ Pour définir un language nommé |Java| pour \pkg{piton}, il suffit d'écrire le
\medskip
-On peut alors utiliser le language Java comme n'importe quel autre langage prédéfini de \pkg{piton}.
+On peut alors utiliser le language Java comme n'importe quel autre langage prédéfini de
+\pkg{piton}.
-Voici un exemple de code Java formaté dans un environnement~|{Piton}| avec la clé~|language=Java|.\footnote{On
- rappelle que, pour \pkg{piton}, les noms de langages informatiques ne sont pas sensibles à la casse, ce qui fait
- que l'on aurait pu aussi bien utiliser : |language=java|.}
+Voici un exemple de code Java formaté dans un environnement~|{Piton}| avec la
+clé~|language=Java|.\footnote{On rappelle que, pour \pkg{piton}, les noms de langages
+ informatiques ne sont pas sensibles à la casse, ce qui fait que l'on aurait pu aussi
+ bien utiliser : |language=java|.}
\bigskip
\begingroup
@@ -893,12 +973,14 @@ public class Cipher { // cryptage par le chiffre de César
\endgroup
\bigskip
-Les clés de la commande |\lstdefinelanguage| de \pkg{listings} prises en charge par |\NewPitonLanguage| sont :
-|morekeywords|, |otherkeywords|, |sensitive|, |keywordsprefix|, |moretexcs|, |morestring| (avec les lettres |b|,
-|d|, |s| et |m|), |morecomment| (avec les lettres |i|, |l|, |s| et |n|), |moredelim| (avec les lettres |i|,
-|l|, |s|, |*| et |**|), |moredirectives|, |tag|, |alsodigit|, |alsoletter| et |alsoother|.
+Les clés de la commande |\lstdefinelanguage| de \pkg{listings} prises en charge par
+|\NewPitonLanguage| sont : |morekeywords|, |otherkeywords|, |sensitive|, |keywordsprefix|,
+|moretexcs|, |morestring| (avec les lettres |b|, |d|, |s| et |m|), |morecomment| (avec les
+lettres |i|, |l|, |s| et |n|), |moredelim| (avec les lettres |i|, |l|, |s|, |*| et |**|),
+|moredirectives|, |tag|, |alsodigit|, |alsoletter| et |alsoother|.
-Pour la description de ces clés, on renvoie à la documentation de \pkg{listings} (taper |texdoc| |listings| dans un terminal).
+Pour la description de ces clés, on renvoie à la documentation de \pkg{listings} (taper
+|texdoc| |listings| dans un terminal).
\bigskip
Par exemple, pour formater du code LaTeX, on pourra créer le language suivant :
@@ -907,10 +989,9 @@ Par exemple, pour formater du code LaTeX, on pourra créer le language suivant :
\begin{verbatim}
\NewPitonLanguage{LaTeX}{keywordsprefix = \ , alsoletter = @_ }
\end{verbatim}
-}
-Initialement, les caractères |@| et |_| sont des considérés comme des lettres car de nombreux langages de
-programmation les autorisent dans les mots-clés et les identificateurs. Avec \verb|alsoletter = @_|, on les retire
-de la catégorie des lettres.
+} Initialement, les caractères |@| et |_| sont des considérés comme des lettres car de
+nombreux langages de programmation les autorisent dans les mots-clés et les
+identificateurs. Avec \verb|alsoletter = @_|, on les retire de la catégorie des lettres.
\section{Fonctionnalités avancées}
@@ -922,88 +1003,111 @@ de la catégorie des lettres.
\subsubsection{Coupure des pages}
+\label{coupure-de-pages}
+
\index{splittable}
\index{split-on-empty-lines}
\index{split-separation}
-Par défaut, les listings produits par l'environnement |{Piton}| et par la commande |\PitonInputFile| sont
-insécables.
+Par défaut, les listings produits par l'environnement |{Piton}| et par la commande
+|\PitonInputFile| sont insécables.
-Néanmoins, la commande |\PitonOptions| propose les clés |split-on-empty-lines| et |splittable| pour autoriser de
-telles coupures.
+Néanmoins, la commande |\PitonOptions| propose les clés |split-on-empty-lines| et
+|splittable| pour autoriser de telles coupures.
\begin{itemize}
-\item La clé \Definition{split-on-empty-lines} autorise les coupures sur les lignes vides\footnote{Les lignes considérées
- comme vides sont celles qui ne comportent que des espaces.} du listing. Dans les listings informatiques, les
-lignes vides séparent le plus souvent les définitions des fonctions informatiques et il est donc souvent judicieux
-de pouvoir couper au niveau de ces lignes.
-
-Quand la clé |split-on-empty-lines| est activée, le travail effectué va en fait un peu plus loin : les lignes vides
-successives sont supprimées et remplacées par le contenu du paramètre correspondant à la clé
-\Definition{split-separation}.
+\item La clé \Definition{split-on-empty-lines} autorise les coupures sur les lignes
+vides\footnote{Les lignes considérées comme vides sont celles qui ne comportent que des
+ espaces.} du listing. Dans les listings informatiques, les lignes vides séparent le plus
+souvent les définitions des fonctions informatiques et il est donc souvent judicieux de
+pouvoir couper au niveau de ces lignes.
+
+Quand la clé |split-on-empty-lines| est activée, le travail effectué va en fait un peu
+plus loin : les lignes vides successives sont supprimées et remplacées par le contenu du
+paramètre correspondant à la clé \Definition{split-separation}
+\begin{itemize}
+\item Ce paramètre doit contenir du matériel à insérer en \emph{mode vertical} de TeX. On
+peut, par exemple, mettre |\hrule|.
-La valeur initiale de ce paramètre est |\vspace{\baselineskip}\vspace{-1.25pt}|, ce qui, au final, correspond à une
-ligne vide dans le PDF produit (cet espace vertical est supprimé s'il tombe au niveau d'un saut de page).
+\item La valeur initiale de ce paramètre est |\vspace{\baselineskip}\vspace{-1.25pt}|, ce qui,
+au final, correspond à une ligne vide dans le PDF produit (cet espace vertical est
+supprimé s'il tombe au niveau d'un saut de page). Si la clé |background-color| est
+utilisée, aucun fond n'est affiché au niveau de cette ligne de séparation.
+\end{itemize}
\medskip
-\item La clé |split-on-empty-lines| peut bien sûr être insuffisante et c'est pourquoi \pkg{piton} propose la clé
-\Definition{splittable}.
+\item La clé |split-on-empty-lines| peut bien sûr être insuffisante et c'est pourquoi
+\pkg{piton} propose la clé \Definition{splittable}.
-Quand la clé |splittable| est utilisée avec la valeur numérique $n$ (qui doit être un entier naturel non nul) le
-listing, ou bien chaque partie de ce listing située entre des lignes vides (quand |split-on-empty-lines| est
-utilisée), pourra être coupé n'importe où avec cette exception qu'aucune coupure ne pourra avoir lieu entre les
-$n$~premières lignes, ni entre les $n$~dernières. Par exemple, |splittable = 4| pourrait être un réglage raisonnable.
+Quand la clé |splittable| est utilisée avec la valeur numérique $n$ (qui doit être un
+entier naturel non nul) le listing, ou bien chaque partie de ce listing située entre des
+lignes vides (quand |split-on-empty-lines| est utilisée), pourra être coupé n'importe où
+avec cette exception qu'aucune coupure ne pourra avoir lieu entre les $n$~premières
+lignes, ni entre les $n$~dernières. Par exemple, |splittable = 4| pourrait être un réglage
+raisonnable.
-Employée sans argument, la clé |splittable| est équivalente à |splittable = 1|, et les listings sont alors sécables
-n'importe où (ce n'est pas recommandable).
+Employée sans argument, la clé |splittable| est équivalente à |splittable = 1|, et les
+listings sont alors sécables n'importe où (ce n'est pas recommandable).
+La valeur initiale de la clé |splittable| vaut 100, ce qui fait que listings ne sont pas
+sécables.
\end{itemize}
\medskip
\emph{Remarque}\par\nobreak
-Même avec une couleur de fond (fixée avec |background-color|), les sauts de page sont possibles, à partir du moment
-où |split-on-empty-lines| ou |splittable| est utilisée.\footnote{Avec la clé |splittable|, un environnement
- |{Piton}| est sécable même dans un environnement de \pkg{tcolorbox} (à partir du moment où la clé |breakable| de
- \pkg{tcolorbox} est utilisée). On précise cela parce que, en revanche, un environnement de \pkg{tcolorbox} inclus
- dans un autre environnement de \pkg{tcolorbox} n'est pas sécable, même quand les deux utilisent la clé
- |breakable|.}
+Même avec une couleur de fond (fixée avec |background-color|), les sauts de page sont
+possibles, à partir du moment où |split-on-empty-lines| ou |splittable| est
+utilisée.\footnote{Avec la clé |splittable|, un environnement |{Piton}| est sécable même
+ dans un environnement de \pkg{tcolorbox} (à partir du moment où la clé |breakable| de
+ \pkg{tcolorbox} est utilisée). On précise cela parce que, en revanche, un environnement
+ de \pkg{tcolorbox} inclus dans un autre environnement de \pkg{tcolorbox} n'est pas
+ sécable, même quand les deux utilisent la clé |breakable|.}
\subsubsection{Coupure des lignes}
\label{line-breaks}
-Par défaut, les éléments produits par \pkg{piton} ne peuvent pas être coupés par une fin de ligne. Il existe
-néanmoins des clés pour autoriser de telles coupures (les points de coupure possibles sont les espaces, y compris
-les espaces dans les chaînes Python).
+Par défaut, les éléments produits par \pkg{piton} ne peuvent pas être coupés par une fin
+de ligne. Il existe néanmoins des clés pour autoriser de telles coupures (les points de
+coupure possibles sont les espaces, y compris les espaces dans les chaînes Python).
\begin{itemize}
-\item \index{break-lines!break-lines-in-piton} Avec la clé \Definition{break-lines-in-piton}, les coupures de ligne sont autorisées dans la commande
-|\piton{...}| (mais pas dans la commande \verb+\piton|...|+, c'est-à-dire avec la syntaxe verbatim).
-
-\item \index{break-lines!break-lines-in-Piton} Avec la clé \Definition{break-lines-in-Piton}, les coupures de ligne sont autorisées dans l'environnement
-|{Piton}| (d'où la lettre |P| capitale dans le nom) et les listings produits par |\PitonInputFile|.
-
-\item \index{break-lines} La clé \Definition{break-lines} est la conjonction des deux clés précédentes.
+\item \index{break-lines!break-lines-in-piton} Avec la clé
+\Definition{break-lines-in-piton}, les coupures de ligne sont autorisées dans la commande
+|\piton{...}| (mais pas dans la commande \verb+\piton|...|+, c'est-à-dire avec la syntaxe
+verbatim).
+
+\item \index{break-lines!break-lines-in-Piton} Avec la clé
+\Definition{break-lines-in-Piton}, les coupures de ligne sont autorisées dans
+l'environnement |{Piton}| (d'où la lettre |P| capitale dans le nom) et les listings
+produits par |\PitonInputFile|.
+
+\item \index{break-lines} La clé \Definition{break-lines} est la conjonction des deux clés
+précédentes.
\end{itemize}
\medskip
-L'extension \pkg{piton} fournit aussi plusieurs clés pour contrôler l'apparence des coupures de ligne autorisées par |break-lines-in-Piton|.
+L'extension \pkg{piton} fournit aussi plusieurs clés pour contrôler l'apparence des
+coupures de ligne autorisées par |break-lines-in-Piton|.
\begin{itemize}
-\item \index{indent-broken-lines} Avec la clé \Definition{indent-broken-lines}, l'indentation de la ligne coupée est respectée à chaque retour
-à la ligne.
+\item \index{indent-broken-lines} Avec la clé \Definition{indent-broken-lines},
+l'indentation de la ligne coupée est respectée à chaque retour à la ligne.
-\item \index{end-of-broken-line} La clé \Definition{end-of-broken-line} correspond au symbole placé à la fin d'une ligne coupée. Sa valeur initiale est :
+\item \index{end-of-broken-line} La clé \Definition{end-of-broken-line} correspond au
+symbole placé à la fin d'une ligne coupée. Sa valeur initiale est :
|\hspace*{0.5em}\textbackslash|.
-\item \index{continuation-symbol} La clé \Definition{continuation-symbol} correspond au symbole placé à chaque retour de ligne dans la marge
-gauche. Sa valeur initiale est : |+\;| (la commande |\;| insère un petit espace horizontal).
+\item \index{continuation-symbol} La clé \Definition{continuation-symbol} correspond au
+symbole placé à chaque retour de ligne dans la marge gauche. Sa valeur initiale est :
+|+\;| (la commande |\;| insère un petit espace horizontal).
-\item \index{continuation-symbol-on-indentation} La clé \Definition{continuation-symbol-on-indentation} correspond au symbole placé à chaque retour de ligne
-au niveau de l'indentation (uniquement dans le cas où la clé |indent-broken-lines| est active). Sa valeur initiale
-est : |$\hookrightarrow\;$|.
+\item \index{continuation-symbol-on-indentation} La clé
+\Definition{continuation-symbol-on-indentation} correspond au symbole placé à chaque
+retour de ligne au niveau de l'indentation (uniquement dans le cas où la clé
+|indent-broken-lines| est active). Sa valeur initiale est : |$\hookrightarrow\;$|.
\end{itemize}
\bigskip
@@ -1039,21 +1143,25 @@ def dict_of_liste(liste):
\indexcommand{PitonInputFile}
-La commande |\PitonInputFile| permet d'insérer (avec formatage) le contenu d'un fichier. En fait, il existe des
-mécanismes permettant de n'insérer qu'une partie du fichier en question.
+La commande |\PitonInputFile| permet d'insérer (avec formatage) le contenu d'un fichier.
+En fait, il existe des mécanismes permettant de n'insérer qu'une partie du fichier en
+question.
\begin{itemize}
-\item On peut spécifier la partie à insérer par les numéros de lignes (dans le fichier d'origine).
+\item On peut spécifier la partie à insérer par les numéros de lignes (dans le fichier
+d'origine).
\item On peut aussi spécifier la partie à insérer par des marqueurs textuels.
\end{itemize}
-Dans les deux cas, si on souhaite numéroter les lignes avec les numéros des lignes du fichier d'origine, il
-convient d'utiliser la clé |line-numbers/absolute|.
+Dans les deux cas, si on souhaite numéroter les lignes avec les numéros des lignes du
+fichier d'origine, il convient d'utiliser la clé |line-numbers/absolute|.
\subsubsection{Avec les numéros de lignes absolus}
-La commande |\PitonInputFile| propose les clés \Definition{first-line} et \Definition{last-line} pour n'insérer que
-la partie du fichier comprise entre les lignes correspondantes. Ne pas confondre avec la clé |line-numbers/start|
-qui demande un numérotage des lignes commençant à la valeur donnée à cette clé (en un sens |line-numbers/start|
-concerne la sortie alors que |first-line| et |last-line| concernent l'entrée).
+La commande |\PitonInputFile| propose les clés \Definition{first-line} et
+\Definition{last-line} pour n'insérer que la partie du fichier comprise entre les lignes
+correspondantes. Ne pas confondre avec la clé |line-numbers/start| qui demande un
+numérotage des lignes commençant à la valeur donnée à cette clé (en un sens
+|line-numbers/start| concerne la sortie alors que |first-line| et |last-line| concernent
+l'entrée).
\subsubsection{Avec des marqueurs textuels}
@@ -1062,15 +1170,17 @@ concerne la sortie alors que |first-line| et |last-line| concernent l'entrée).
\index{marker/end}
-Pour utiliser cette technique, il convient d'abord de spécifier le format des marqueurs marquant le début et la fin
-de la partie du fichier à inclure. Cela se fait avec les deux clés \Definition{marker/beginning} et
-\Definition{marker/end} (usuellement dans la commande |\PitonOptions|).
+Pour utiliser cette technique, il convient d'abord de spécifier le format des marqueurs
+marquant le début et la fin de la partie du fichier à inclure. Cela se fait avec les deux
+clés \Definition{marker/beginning} et \Definition{marker/end} (usuellement dans la
+commande |\PitonOptions|).
\medskip
Prenons d'abord un exemple.
\medskip
-Supposons que le fichier à inclure contienne des solutions à des exercices de programmation sur le modèle suivant :
+Supposons que le fichier à inclure contienne des solutions à des exercices de
+programmation sur le modèle suivant :
\begin{Verbatim}[formatcom=\small\color{gray}]
~#[Exercice 1] Version itérative
@@ -1087,25 +1197,27 @@ def fibo(n):
~#<Exercice 1>
\end{Verbatim}
-Les marqueurs de début de début et de fin sont les chaînes |#[Exercice 1]| et |#<Exercice 1>|. La chaîne
-«|Exercice 1|» sera appelée le \emph{label} de l'exercice (ou de la partie du fichier à inclure).
+Les marqueurs de début de début et de fin sont les chaînes |#[Exercice 1]| et
+|#<Exercice 1>|. La chaîne «|Exercice 1|» sera appelée le \emph{label} de l'exercice (ou
+de la partie du fichier à inclure).
-Pour spécifier des marqueurs de cette sorte dans \pkg{piton}, on utilisera les clés |marker/beginning| et |marker/end|
-de la manière suivante (le caractère |#| des commentaires de Python doit être inséré sous la forme échappée |\#|).
+Pour spécifier des marqueurs de cette sorte dans \pkg{piton}, on utilisera les clés
+|marker/beginning| et |marker/end| de la manière suivante (le caractère |#| des
+commentaires de Python doit être inséré sous la forme échappée |\#|).
\begin{Verbatim}
\PitonOptions{ ~emphase#marker/beginning@ = \~#[~#1] , ~emphase#marker/end@ = \~#<~#1> }
\end{Verbatim}
-Comme on le voit, |marker/beginning| est une expression correspondant à la fonction mathématique qui, au nom du
-label (par exemple |Exercice 1|), associe le marqueur de début (dans l'exemple |#[Exercice 1]|). La chaîne |#1|
-correspond aux occurrences de l'argument de cette fonction (c'est la syntaxe habituelle de TeX). De même pour
-|marker/end|.
+Comme on le voit, |marker/beginning| est une expression correspondant à la fonction
+mathématique qui, au nom du label (par exemple |Exercice 1|), associe le marqueur de début
+(dans l'exemple |#[Exercice 1]|). La chaîne |#1| correspond aux occurrences de l'argument
+de cette fonction (c'est la syntaxe habituelle de TeX). De même pour |marker/end|.
\bigskip
-Pour insérer une partie marquée d'un fichier, il suffit alors d'utiliser la clé \Definition{range} de
-|\PitonInputFile|.
+Pour insérer une partie marquée d'un fichier, il suffit alors d'utiliser la clé
+\Definition{range} de |\PitonInputFile|.
\smallskip
\begin{Verbatim}
@@ -1126,9 +1238,8 @@ def fibo(n):
return v
\end{Piton}
-\vspace{1cm}
-\index{marker/include-lines}
-La clé \Definition{marker/include-lines} demande que les lignes contenant les marqueurs soient également insérées.
+\vspace{1cm} \index{marker/include-lines} La clé \Definition{marker/include-lines} demande
+que les lignes contenant les marqueurs soient également insérées.
\begin{Verbatim}
\PitonInputFile[~emphase#marker/include-lines@,range = Exercice 1]{~textsl#nom_du_fichier@}
@@ -1151,13 +1262,12 @@ def fibo(n):
\bigskip
-\index{begin-range}
-\index{end-range}
-Il existe en fait aussi les clés \Definition{begin-range} et \Definition{end-range} pour insérer plusieurs
-contenus marqués simultanément.
+\index{begin-range} \index{end-range} Il existe en fait aussi les clés
+\Definition{begin-range} et \Definition{end-range} pour insérer plusieurs contenus marqués
+simultanément.
-Par exemple, pour insérer les solutions des exercices 3 à 5, on pourra écrire (à condition que le fichier soit
-structuré correctement!):
+Par exemple, pour insérer les solutions des exercices 3 à 5, on pourra écrire (à condition
+que le fichier soit structuré correctement!):
\begin{Verbatim}
\PitonInputFile[~emphase#begin-range = Exercice 3, end-range = Exercice 5@]{~textsl#nom_du_fichier@}
@@ -1171,27 +1281,31 @@ structuré correctement!):
\indexcommand{SetPitonIdentifier}
\label{SetPitonIdentifier}
-La commande \DefinitionCommand{SetPitonIdentifier} permet de changer le formatage de certains identificateurs.
+La commande \DefinitionCommand{SetPitonIdentifier} permet de changer le formatage de
+certains identificateurs.
\smallskip
Cette commande prend trois arguments : un optionnel et deux obligatoires.
\begin{itemize}
-\item L'argument optionnel (entre crochets) indique le langage (informatique) concerné ; si cet
-argument est absent, les réglages faits par |\SetPitonIdentifier| s'appliqueront à tous les langages.\footnote{On rappelle que, dans \pkg{piton}, les noms des langages informatiques ne sont pas
- sensibles à la casse.}
+\item L'argument optionnel (entre crochets) indique le langage (informatique) concerné ;
+si cet argument est absent, les réglages faits par |\SetPitonIdentifier| s'appliqueront à
+tous les langages.\footnote{On rappelle que, dans \pkg{piton}, les noms des langages
+ informatiques ne sont pas sensibles à la casse.}
-\item Le premier argument obligatoire est une liste de noms d'identificateurs séparés par des virgules.
+\item Le premier argument obligatoire est une liste de noms d'identificateurs séparés par
+des virgules.
-\item Le deuxième argument obligatoire est une liste d'instructions LaTeX de formatage du même type que pour les
-styles précédemment définis (cf. \ref{styles}, p.~\pageref{styles}).
+\item Le deuxième argument obligatoire est une liste d'instructions LaTeX de formatage du
+même type que pour les styles précédemment définis (cf. \ref{styles},
+p.~\pageref{styles}).
\end{itemize}
-\emph{Attention} : Seuls les identificateurs peuvent voir leur formatage affecté. Les mots-clés et les noms de
-fonctions prédéfinies ne seront pas affectés, même s'ils figurent dans le premier argument de
-|\SetPitonIdentifier|.
+\emph{Attention} : Seuls les identificateurs peuvent voir leur formatage affecté. Les
+mots-clés et les noms de fonctions prédéfinies ne seront pas affectés, même s'ils figurent
+dans le premier argument de |\SetPitonIdentifier|.
\begin{Verbatim}
~emphase#\SetPitonIdentifier{l1,l2}{\color{red}}@
@@ -1230,8 +1344,9 @@ def tri(l):
\endgroup
\bigskip
-Avec la commande |\SetPitonIdentifiers|, on peut ajouter à un langage informatique de nouvelles fonctions
-prédéfinies (ou de nouveaux mots-clés, etc.) qui seront détectées par \pkg{piton}.
+Avec la commande |\SetPitonIdentifiers|, on peut ajouter à un langage informatique de
+nouvelles fonctions prédéfinies (ou de nouveaux mots-clés, etc.) qui seront détectées par
+\pkg{piton}.
\begin{Verbatim}
@@ -1272,16 +1387,18 @@ floor(5.4)
L'extension \pkg{piton} propose plusieurs mécanismes d'échappement vers LaTeX :
\begin{itemize}
\item Il est possible d'avoir des commentaires entièrement composés en LaTeX.
-\item Il est possible d'avoir, dans les commentaires Python, les éléments entre \texttt{\$} composés en mode
-mathématique de LaTeX.
-\item Il est possible de demander à \pkg{piton} de détecter directement certaines commandes LaTeX avec leur argument.
+\item Il est possible d'avoir, dans les commentaires Python, les éléments entre
+\texttt{\$} composés en mode mathématique de LaTeX.
+\item Il est possible de demander à \pkg{piton} de détecter directement certaines
+commandes LaTeX avec leur argument.
\item Il est possible d'insérer du code LaTeX à n'importe quel endroit d'un listing Python.
\end{itemize}
Ces mécanismes vont être détaillés dans les sous-parties suivantes.
\smallskip
-À remarquer également que, dans le cas où \pkg{piton} est utilisée dans la classe \cls{beamer}, \pkg{piton} détecte
-la plupart des commandes et environnements de Beamer : voir la sous-section \ref{beamer}, p.~\pageref{beamer}.
+À remarquer également que, dans le cas où \pkg{piton} est utilisée dans la classe
+\cls{beamer}, \pkg{piton} détecte la plupart des commandes et environnements de Beamer :
+voir la sous-section \ref{beamer}, p.~\pageref{beamer}.
\subsubsection{Les «commentaires LaTeX»}
@@ -1289,14 +1406,16 @@ la plupart des commandes et environnements de Beamer : voir la sous-section \ref
\index{comment-latex}
\index{commentaires LaTeX}
-Dans ce document, on appelle «commentaire LaTeX» des commentaires qui débutent par |#>|. Tout ce qui suit ces deux
-caractères, et jusqu'à la fin de la ligne, sera composé comme du code LaTeX standard.
+Dans ce document, on appelle «commentaire LaTeX» des commentaires qui débutent par |#>|.
+Tout ce qui suit ces deux caractères, et jusqu'à la fin de la ligne, sera composé comme du
+code LaTeX standard.
Il y a deux outils pour personnaliser ces commentaires.
\begin{itemize}
-\item Il est possible de changer le marquage syntaxique utilisé (qui vaut initialement~|#>|). Pour ce faire, il
-existe une clé \Definition{comment-latex}, \emph{disponible uniquement dans le préambule du document}, qui permet de choisir les
+\item Il est possible de changer le marquage syntaxique utilisé (qui vaut
+initialement~|#>|). Pour ce faire, il existe une clé \Definition{comment-latex},
+\emph{disponible uniquement dans le préambule du document}, qui permet de choisir les
caractères qui (précédés par~|#|) serviront de marqueur syntaxique.
Par exemple, avec le réglage suivant (fait dans le préambule du document) :
@@ -1305,18 +1424,18 @@ Par exemple, avec le réglage suivant (fait dans le préambule du document) :
les commentaires LaTeX commenceront par~|#LaTeX|.
-Si on donne la valeur nulle à la clé |comment-latex|, tous les commentaires Python (débutant par~|#|) seront en
-fait des «commentaires LaTeX».
+Si on donne la valeur nulle à la clé |comment-latex|, tous les commentaires Python
+(débutant par~|#|) seront en fait des «commentaires LaTeX».
\smallskip
-\item Il est possible de changer le formatage du commentaire LaTeX lui-même en changeant le style \pkg{piton}
-|Comment.LaTeX|.
+\item Il est possible de changer le formatage du commentaire LaTeX lui-même en changeant
+le style \pkg{piton} |Comment.LaTeX|.
-Par exemple, avec |\SetPitonStyle{Comment.LaTeX = \normalfont\color{blue}}|, les commentaires LaTeX seront composés
-en bleu.
+Par exemple, avec |\SetPitonStyle{Comment.LaTeX = \normalfont\color{blue}}|, les
+commentaires LaTeX seront composés en bleu.
-Si on souhaite qu'un croisillon (|#|) soit affiché en début de commentaire dans le \textsc{pdf}, on peut régler
-|Comment.LaTeX| de la manière suivante :
+Si on souhaite qu'un croisillon (|#|) soit affiché en début de commentaire dans le
+\textsc{pdf}, on peut régler |Comment.LaTeX| de la manière suivante :
\begin{Verbatim}
\SetPitonStyle{Comment.LaTeX = \color{gray}\~#\normalfont\space }
@@ -1328,11 +1447,12 @@ p.~\pageref{example-comments}.
\bigskip
-Si l'utilisateur a demandé l'affichage des numéros de ligne avec |line-numbers|, il est possible de faire référence
-à ce numéro de ligne avec la commande |\label| placée dans un commentaire LaTeX.\footnote{Cette fonctionnalité est
- implémentée en redéfinissant, dans les environnements |{Piton}|, la commande |\label|. Il peut donc y avoir des
- incompatibilités avec les extensions qui redéfinissent (globalement) cette commande |\label| (comme
- \pkg{varioref}, \pkg{refcheck}, \pkg{showlabels}, etc.)}
+Si l'utilisateur a demandé l'affichage des numéros de ligne avec |line-numbers|, il est
+possible de faire référence à ce numéro de ligne avec la commande |\label| placée dans un
+commentaire LaTeX.\footnote{Cette fonctionnalité est implémentée en redéfinissant, dans
+ les environnements |{Piton}|, la commande |\label|. Il peut donc y avoir des
+ incompatibilités avec les extensions qui redéfinissent (globalement) cette commande
+ |\label| (comme \pkg{varioref}, \pkg{refcheck}, \pkg{showlabels}, etc.)}
@@ -1341,15 +1461,17 @@ Si l'utilisateur a demandé l'affichage des numéros de ligne avec |line-numbers
\index{math-comments}
-Il est possible de demander que, dans les commentaires Python normaux, c'est-à-dire débutant par~|#| (et non par
-|#>|), les éléments placés entre symboles \texttt{\$} soient composés en mode mathématique de LaTeX (le reste du
-commentaire restant composé en verbatim).
+Il est possible de demander que, dans les commentaires Python normaux, c'est-à-dire
+débutant par~|#| (et non par |#>|), les éléments placés entre symboles \texttt{\$} soient
+composés en mode mathématique de LaTeX (le reste du commentaire restant composé en
+verbatim).
-La clé \Definition{math-comments} (\emph{qui ne peut être activée que dans le préambule du document}) active ce
-comportement.
+La clé \Definition{math-comments} (\emph{qui ne peut être activée que dans le préambule du
+ document}) active ce comportement.
\bigskip
-Dans l'exemple suivant, on suppose que |\PitonOptions{math-comments}| a été utilisé dans le préambule du document.
+Dans l'exemple suivant, on suppose que |\PitonOptions{math-comments}| a été utilisé dans
+le préambule du document.
\begin{Verbatim}
\begin{Piton}
@@ -1369,23 +1491,25 @@ def carré(x):
\index{detected-commands (key)}
\label{detected-commands}
-La clé \Definition{detected-commands} de |\PitonOptions| permet de spécifier une liste de noms de commandes LaTeX
-qui seront directement détectées par \pkg{piton}.
+La clé \Definition{detected-commands} de |\PitonOptions| permet de spécifier une liste de
+noms de commandes LaTeX qui seront directement détectées par \pkg{piton}.
\begin{itemize}
-\item Cette clé |detected-commands| ne peut être utilisée que dans le préambule du document.
+\item Cette clé |detected-commands| ne peut être utilisée que dans le préambule du
+document.
-\item Les noms de commandes LaTeX doivent apparaître sans la contre-oblique
-(ex. : |detected-commands = { emph , textbf }|).
+\item Les noms de commandes LaTeX doivent apparaître sans la contre-oblique (ex. :
+|detected-commands = { emph , textbf }|).
-\item Ces commandes doivent être des commandes LaTeX à un seul argument obligatoire entre accolades (et ces
-accolades doivent apparaître explicitement dans le listing).
+\item Ces commandes doivent être des commandes LaTeX à un seul argument obligatoire entre
+accolades (et ces accolades doivent apparaître explicitement dans le listing).
\end{itemize}
\medskip
-Dans l'exemple suivant, qui est une programmation récursive de la factorielle, on décide de surligner en jaune
-l'appel récursif. La commande |\highLight| de \pkg{lua-ul} (cette extension requiert elle-même l'extension
-\pkg{luacolor}) permet de le faire avec la syntaxe |\hightLight{...}|.
+Dans l'exemple suivant, qui est une programmation récursive de la factorielle, on décide
+de surligner en jaune l'appel récursif. La commande |\highLight| de \pkg{lua-ul} (cette
+extension requiert elle-même l'extension \pkg{luacolor}) permet de le faire avec la
+syntaxe |\hightLight{...}|.
\smallskip
On suppose que l'on a mis dans le préambule du document LaTeX l'instruction suivante :
@@ -1419,16 +1543,19 @@ def fact(n):
\index{end-escape}
\label{escape}
-Il est aussi possible de surcharger les listings Python pour y insérer du code LaTeX à peu près n'importe où (mais
-entre deux lexèmes, bien entendu). Cette fonctionnalité n'est pas activée par défaut par \pkg{piton}. Pour
-l'utiliser, il faut spécifier les deux délimiteurs marquant l'échappement (le premier le commençant et le deuxième
-le terminant) en utilisant les clés \Definition{begin-escape} et \Definition{end-escape} (\emph{qui ne sont accessibles
-que dans le préambule du document}). Les deux délimiteurs peuvent être identiques.
+Il est aussi possible de surcharger les listings Python pour y insérer du code LaTeX à peu
+près n'importe où (mais entre deux lexèmes, bien entendu). Cette fonctionnalité n'est pas
+activée par défaut par \pkg{piton}. Pour l'utiliser, il faut spécifier les deux
+délimiteurs marquant l'échappement (le premier le commençant et le deuxième le terminant)
+en utilisant les clés \Definition{begin-escape} et \Definition{end-escape} (\emph{qui ne
+ sont accessibles que dans le préambule du document}). Les deux délimiteurs peuvent être
+identiques.
\medskip
-On reprend l'exemple précédent de la factorielle et on souhaite surligner en rose l'instruction qui contient l'appel
-récursif. La commande |\highLight| de \pkg{lua-ul} permet de le faire avec la syntaxe |\highLight[LightPink]{...}|.
-Du fait de la présence de l'argument optionnel entre crochets, on ne peut pas utiliser la clé |detected-commands|
+On reprend l'exemple précédent de la factorielle et on souhaite surligner en rose
+l'instruction qui contient l'appel récursif. La commande |\highLight| de \pkg{lua-ul}
+permet de le faire avec la syntaxe |\highLight[LightPink]{...}|. Du fait de la présence de
+l'argument optionnel entre crochets, on ne peut pas utiliser la clé |detected-commands|
comme précédemment mais on peut utiliser le mécanisme «escape».
\smallskip
@@ -1460,10 +1587,10 @@ def fact(n):
\bigskip
-\emph{Attention} : L'échappement vers LaTeX permis par les clés |begin-escape| et |end-escape| n'est pas actif dans
-les chaînes de caractères ni dans les commentaires (pour avoir un commentaire entièrement en échappement vers
-LaTeX, c'est-à-dire ce qui est appelé dans ce document «commentaire LaTeX», il suffit de le faire débuter par
-|#>|).
+\emph{Attention} : L'échappement vers LaTeX permis par les clés |begin-escape| et
+|end-escape| n'est pas actif dans les chaînes de caractères ni dans les commentaires (pour
+avoir un commentaire entièrement en échappement vers LaTeX, c'est-à-dire ce qui est appelé
+dans ce document «commentaire LaTeX», il suffit de le faire débuter par |#>|).
\subsubsection{Le mécanisme «escape-math»}
@@ -1472,24 +1599,27 @@ LaTeX, c'est-à-dire ce qui est appelé dans ce document «commentaire LaTeX»,
\index{begin-escape-math}
\index{end-escape-math}
-Le mécanisme «|escape-math|» est très similaire au mécanisme «|escape|» puisque la seule différence est que les
-éléments en échappement LaTeX y sont composés en mode mathématique.
+Le mécanisme «|escape-math|» est très similaire au mécanisme «|escape|» puisque la seule
+différence est que les éléments en échappement LaTeX y sont composés en mode mathématique.
-On active ce mécanisme avec les clés \Definition{begin-escape-math} et \Definition{end-escape-math} (\emph{qui ne sont
-accessibles que dans le préambule du document}).
+On active ce mécanisme avec les clés \Definition{begin-escape-math} et
+\Definition{end-escape-math} (\emph{qui ne sont accessibles que dans le préambule du
+ document}).
\medskip
-Malgré la proximité technique, les usages du mécanisme «|escape-math|» sont en fait assez différents de ceux du
-mécanisme «|escape|». En effet, comme le contenu en échappement est composé en mode mathématique, il est en
-particulier composé dans un groupe TeX et ne pourra donc pas servir à changer le formatage d'autres unités lexicales.
+Malgré la proximité technique, les usages du mécanisme «|escape-math|» sont en fait assez
+différents de ceux du mécanisme «|escape|». En effet, comme le contenu en échappement est
+composé en mode mathématique, il est en particulier composé dans un groupe TeX et ne
+pourra donc pas servir à changer le formatage d'autres unités lexicales.
\medskip
-Dans les langages où le caractère |$| ne joue pas un rôle syntaxique important, on peut assez naturellement
-vouloir activer le mécanisme «|escape-math|» avec le caractère |$|:
+Dans les langages où le caractère
+|$| ne joue pas un rôle syntaxique important, on peut assez naturellement vouloir activer
+le mécanisme «|escape-math|» avec le caractère |$|:
\begin{Verbatim}
\PitonOptions{~emphase#begin-escape-math=$,end-escape-math=$@}
\end{Verbatim}
-Remarquer que le caractère |$| ne doit \emph{pas} être protégé par une contre-oblique.
+Remarquer que le caractère |$| ne doit \emph{pas} être protégé par une contre-oblique. % $
\bigskip
Néanmoins, il est sans doute plus prudent d'utiliser |\(| et |\)|.
@@ -1538,25 +1668,29 @@ def arctan(x,n=10):
\index{Beamer@\cls{Beamer} (classe)}
-\emph{Première remarque}\par\nobreak
-Remarquons que, comme l'environnement |{Piton}| prend son argument selon un mode verbatim, il convient, ce qui
-n'est pas surprenant, de l'utiliser dans des environnements |{frame}| de Beamer protégés par la clé |fragile|,
-c'est-à-dire débutant par |\begin{frame}[fragile]|.\footnote{On rappelle que pour un environnement |{frame}| de Beamer qui
- utilise la clé |fragile|, l'instruction |\end{frame}| doit être seule sur une ligne (à l'exception d'éventuels
- espaces en début de ligne).}
+\emph{Première remarque}\par\nobreak
+
+Remarquons que, comme l'environnement |{Piton}| prend son argument selon un mode verbatim,
+il convient, ce qui n'est pas surprenant, de l'utiliser dans des environnements |{frame}|
+de Beamer protégés par la clé |fragile|, c'est-à-dire débutant par
+|\begin{frame}[fragile]|.\footnote{On rappelle que pour un environnement |{frame}| de
+ Beamer qui utilise la clé |fragile|, l'instruction |\end{frame}| doit être seule sur une
+ ligne (à l'exception d'éventuels espaces en début de ligne).}
\medskip
-Quand l'extension \pkg{piton} est utilisée dans la classe \cls{beamer}\footnote{L'extension \pkg{piton} détecte la
- classe \cls{beamer} et l'extension \pkg{beamerarticle} si elle est chargée précédemment, mais il est aussi
- possible, si le besoin s'en faisait sentir, d'activer ce comportement avec la clé |beamer| au chargement de
- \pkg{piton} : |\usepackage[beamer]{piton}|}, le comportement de \pkg{piton} est légèrement modifié, comme décrit
-maintenant.
+Quand l'extension \pkg{piton} est utilisée dans la classe
+\cls{beamer}\footnote{L'extension \pkg{piton} détecte la classe \cls{beamer} et
+ l'extension \pkg{beamerarticle} si elle est chargée précédemment, mais il est aussi
+ possible, si le besoin s'en faisait sentir, d'activer ce comportement avec la clé
+ |beamer| au chargement de \pkg{piton} : |\usepackage[beamer]{piton}|}, le comportement
+de \pkg{piton} est légèrement modifié, comme décrit maintenant.
\subsubsection{\{Piton\} et \textbackslash PitonInputFile sont ``overlay-aware''}
-Quand \pkg{piton} est utilisé avec Beamer, l'environnement |{Piton}| et la commande |\PitonInputFile| acceptent
-l'argument optionnel |<...>| de Beamer pour indiquer les «\emph{overlays}» concernés.
+Quand \pkg{piton} est utilisé avec Beamer, l'environnement |{Piton}| et la commande
+|\PitonInputFile| acceptent l'argument optionnel |<...>| de Beamer pour indiquer les
+«\emph{overlays}» concernés.
On peut par exemple écrire :
@@ -1575,27 +1709,37 @@ ou aussi
\subsubsection{Commandes de Beamer reconnues dans \{Piton\} et \textbackslash PitonInputFile}
-Quand \pkg{piton} est utilisé dans la classe \cls{beamer}, les commandes suivantes de \cls{beamer} (classées selon
-leur nombre d'arguments obligatoires) sont directement reconnues dans les environnements |{Piton}| (ainsi que dans
-les listings composés par la commande |\PitonInputFile|, même si c'est sans doute moins utile).
+\index{detected-beamer-commands}
+
+Quand \pkg{piton} est utilisé dans la classe \cls{beamer}, les commandes suivantes de
+\cls{beamer} (classées selon leur nombre d'arguments obligatoires) sont directement
+reconnues dans les environnements |{Piton}| (ainsi que dans les listings composés par la
+commande |\PitonInputFile|, même si c'est sans doute moins utile).
%
\begin{itemize}
-\item aucun argument obligatoire : |\pause|\footnote{On remarquera que, bien sûr, on peut aussi utiliser |\pause|
- dans un «commentaire LaTeX», c'est-à-dire en écrivant |#> \pause|. Ainsi, si le code Python est copié, il est
- interprétable par Python.} ;
-\item un argument obligatoire : |\action|, |\alert|, |\invisible|, |\only|, |\uncover| et |\visible| ;
-\item deux arguments obligatoires : |\alt| ;
+\item aucun argument obligatoire : |\pause|\footnote{On remarquera que, bien sûr, on peut
+aussi utiliser |\pause| dans un «commentaire LaTeX», c'est-à-dire en écrivant
+|#> \pause|. Ainsi, si le code Python est copié, il est interprétable par Python.} ;
+\item un argument obligatoire : |\action|, |\alert|, |\invisible|, |\only|, |\uncover| et
+|\visible| ; \newline
+\colorbox{yellow!50}{\bfseries Nouveau 3.1} on peut rajouter à cette liste de
+nouveaux noms de commandes avec la clé \Definition{detected-beamer-commands} (les noms de
+commandes ne doivent \emph{pas} être précédés de la contre-oblique) ;
+\item deux arguments obligatoires : |\alt| ;
\item trois arguments obligatoires : |\temporal|.
\end{itemize}
\medskip
-Les accolades dans les arguments obligatoires de ces commandes doivent être équilibrées (cependant, les accolades
-présentes dans des chaînes courtes\footnote{Les chaînes courtes de Python sont les chaînes (string) délimitées par
- les caractères \texttt{'} ou \texttt{"} non triplés. En Python, les chaînes de caractères courtes ne peuvent pas
- s'étendre sur plusieurs lignes de code.} de Python ne sont pas prises en compte).
+Ces commandes doivent être utilisées précédées et suivies d'un espace. Les accolades dans
+les arguments obligatoires de ces commandes doivent être équilibrées (cependant, les
+accolades présentes dans des chaînes courtes\footnote{Les chaînes courtes de Python sont
+ les chaînes (string) délimitées par les caractères \texttt{'} ou \texttt{"} non triplés.
+ En Python, les chaînes de caractères courtes ne peuvent pas s'étendre sur plusieurs
+ lignes de code.} de Python ne sont pas prises en compte).
\medskip
-Concernant les fonctions |\alt| et |\temporal|, aucun retour à la ligne ne doit se trouver dans les arguments de ces fonctions.
+Concernant les fonctions |\alt| et |\temporal|, aucun retour à la ligne ne doit se trouver
+dans les arguments de ces fonctions.
\medskip
@@ -1618,22 +1762,29 @@ def string_of_list(l):
\end{document}
\end{Verbatim}
-Dans l'exemple précédent, les accolades des deux chaînes de caractères Python |"{"| et |"}"| sont correctement
-interprétées (sans aucun caractère d'échappement).
+Dans l'exemple précédent, les accolades des deux chaînes de caractères Python |"{"| et
+ |"}"| sont correctement interprétées (sans aucun caractère d'échappement).
\bigskip
\subsubsection{Environnements de Beamer reconnus dans \{Piton\} et \textbackslash PitonInputFile}
-Quand \pkg{piton} est utilisé dans la classe \pkg{beamer}, les environnements suivants de Beamer sont directement
-reconnus dans les environnements |{Piton}| (ainsi que dans les listings composés par la commande |\PitonInputFile|
-même si c'est sans doute moins utile) : |{actionenv}|, |{alertenv}|, |{invisibleenv}|, |{onlyenv}|, |{uncoverenv}|
-et |{visibleenv}|.
+Quand \pkg{piton} est utilisé dans la classe \pkg{beamer}, les environnements suivants de
+Beamer sont directement reconnus dans les environnements |{Piton}| (ainsi que dans les
+listings composés par la commande |\PitonInputFile| même si c'est sans doute moins utile)
+: |{actionenv}|, |{alertenv}|, |{invisibleenv}|, |{onlyenv}|, |{uncoverenv}| et
+|{visibleenv}|.
+\smallskip
+\index{detected-beamer-environments} \colorbox{yellow!50}{\bfseries Nouveau 3.1}\enskip On
+peut ajouter de nouveaux environnements à cette liste d'environnements reconnus avec la
+clé \Definition{detected-beamer-environments}.
\medskip
-Il y a néanmoins une restriction : ces environnements doivent englober des \emph{lignes entières de code Python}.
+Il y a néanmoins une restriction : ces environnements doivent englober des \emph{lignes
+ entières de code Python}. Les instructions |\begin{...}| et |\end{...}| doivent être
+seules sur leurs lignes.
\medskip
@@ -1657,25 +1808,29 @@ def carré(x):
-\vspace{1cm}
-\textbf{Remarque à propos de la commande \textbackslash alert et de l'environnement \{alertenv\} de Beamer}\par\nobreak
+\vspace{1cm}
+\textbf{Remarque à propos de la commande \textbackslash alert et de
+ l'environnement \{alertenv\} de Beamer}\par\nobreak
\smallskip
-Beamer propose un moyen aisé de changer la couleur utilisée par l'environnement |{alertenv}| (et par la commande
-|\alert| qui s'appuie dessus). Par exemple, on peut écrire:
+Beamer propose un moyen aisé de changer la couleur utilisée par l'environnement
+|{alertenv}| (et par la commande |\alert| qui s'appuie dessus). Par exemple, on peut
+écrire:
\begin{Verbatim}
\setbeamercolor{~emphase#alerted text@}{fg=blue}
\end{Verbatim}
-Néanmoins, dans le cas d'une utilisation à l'intérieur d'un environnement |{Piton}| un tel réglage n'est sans doute
-pas pertinent, puisque, justement, \pkg{piton} va (le plus souvent) changer la couleur des élements selon leur
-valeur lexicale. On préfèrera sans doute un environnement |{alertenv}| qui change la couleur de fond des
-éléments à mettre en évidence.
+Néanmoins, dans le cas d'une utilisation à l'intérieur d'un environnement |{Piton}| un tel
+réglage n'est sans doute pas pertinent, puisque, justement, \pkg{piton} va (le plus
+souvent) changer la couleur des élements selon leur valeur lexicale. On préfèrera sans
+doute un environnement |{alertenv}| qui change la couleur de fond des éléments à mettre en
+évidence.
\smallskip
-Voici un code qui effectuera ce travail en mettant un fond jaune. Ce code utilise la commande |\@highLight| de
-l'extension \pkg{lua-ul} (cette extension nécessite elle-même l'extension \pkg{luacolor}).
+Voici un code qui effectuera ce travail en mettant un fond jaune. Ce code utilise la
+commande |\@highLight| de l'extension \pkg{lua-ul} (cette extension nécessite elle-même
+l'extension \pkg{luacolor}).
\begingroup
\fvset{commandchars=\~\#\+,formatcom=\color{gray}}
@@ -1688,8 +1843,9 @@ l'extension \pkg{lua-ul} (cette extension nécessite elle-même l'extension \pkg
\end{Verbatim}
\endgroup
-Ce code redéfinit localement l'environnement |{alertenv}| à l'intérieur de l'environnement |{Piton}| (on rappelle
-que la commande |\alert| s'appuie sur cet environnement |{alertenv}|).
+Ce code redéfinit localement l'environnement |{alertenv}| à l'intérieur de l'environnement
+|{Piton}| (on rappelle que la commande |\alert| s'appuie sur cet environnement
+|{alertenv}|).
@@ -1707,33 +1863,122 @@ que la commande |\alert| s'appuie sur cet environnement |{alertenv}|).
\label{footnote}
-Si vous voulez mettre des notes de pied de page dans un environnement de \pkg{piton} (ou bien dans un listing
-produit par |\PitonInputFile|, bien que cela paraisse moins pertinent dans ce cas-là) vous pouvez utiliser une
-paire |\footnotemark|--|\footnotetext|.
+\smallskip
+Si vous voulez mettre des notes de pied de page dans un environnement de \pkg{piton} (ou
+bien dans un listing produit par |\PitonInputFile|, bien que cela paraisse moins pertinent
+dans ce cas-là) vous pouvez utiliser une paire |\footnotemark|--|\footnotetext|.
\smallskip
-Néanmoins, il est également possible d'extraire les notes de pieds de page avec l'extension \pkg{footnote} ou bien
-l'extension \pkg{footnotehyper}.
+Néanmoins, il est également possible d'extraire les notes de pieds de page avec
+l'extension \pkg{footnote} ou bien l'extension \pkg{footnotehyper}.
\smallskip
-Si \pkg{piton} est chargée avec l'option \Definition{footnote} (avec |\usepackage[footnote]{piton}|) l'extension
-\pkg{footnote} est chargée (si elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de
-page.
+Si \pkg{piton} est chargée avec l'option \Definition{footnote} (avec
+|\usepackage[footnote]{piton}|) l'extension \pkg{footnote} est chargée (si elle ne l'est
+pas déjà) et elle est utilisée pour extraire les notes de pied de page.
\smallskip
-Si \pkg{piton} est chargée avec l'option \Definition{footnotehyper}, l'extension \pkg{footnotehyper} est chargée
-(si elle ne l'est pas déjà) et elle est utilisée pour extraire les notes de pied de page.
+Si \pkg{piton} est chargée avec l'option \Definition{footnotehyper}, l'extension
+\pkg{footnotehyper} est chargée (si elle ne l'est pas déjà) et elle est utilisée pour
+extraire les notes de pied de page.
\smallskip
Attention : Les extensions \pkg{footnote} et \pkg{footnotehyper} sont incompatibles.
-L'extension \pkg{footnotehyper} est le successeur de l'extension \pkg{footnote}
-et devrait être utilisée préférentiellement. L'extension \pkg{footnote} a quelques défauts ;
-en particulier, elle doit être chargée après l'extension \pkg{xcolor} et elle n'est pas parfaitement
-compatible avec \pkg{hyperref}.
+L'extension \pkg{footnotehyper} est le successeur de l'extension \pkg{footnote} et devrait
+être utilisée préférentiellement. L'extension \pkg{footnote} a quelques défauts ; en
+particulier, elle doit être chargée après l'extension \pkg{xcolor} et elle n'est pas
+parfaitement compatible avec \pkg{hyperref}.
+
+
+\medskip
+\textbf{Remarque importante} : Si vous utilisez Beamer, il faut savoir que Beamer a son
+propre système d'extraction des notes de pied de page et vous n'avez donc pas à charger
+\pkg{piton} avec la clé |footnote| ou bien la clé |footnotehyper|.
+
+\bigskip
+Par défaut, une commande |\footnote| ne peut apparaître que dans un «commentaire LaTeX».
+Mais on peut aussi ajouter la commande |\footnote| à la liste des
+``\emph{detected-commands}'' (cf.~partie~\ref{detected-commands},
+p.~\pageref{detected-commands}).
\medskip
-Dans ce document, l'extension \pkg{piton} a été chargée avec l'option |footnotehyper| et c'est pourquoi des notes
-peuvent être mises dans les environnements |{Piton}| : voir un exemple sur la première page de ce document.
+Dans ce document, l'extension \pkg{piton} a été chargée avec l'option |footnotehyper| et
+on rajouté la commande |\footnote| aux ``\emph{detected-commands}'' avec le code suivant
+dans la préambule du document LaTeX :
+
+\qquad \verb|\PitonOptions{detected-commands = footnote}|
+
+\begingroup
+\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+\begin{Verbatim}
+\PitonOptions{background-color=gray!10}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)~emphase&\footnote{Un premier appel récursif.}@
+ elif x > 1:
+ return pi/2 - arctan(1/x)~emphase&\footnote{Un deuxième appel récursif.}@
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\end{Verbatim}
+\endgroup
+
+\begingroup
+\PitonOptions{background-color=gray!10}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)\footnote{Un premier appel récursif.}
+ elif x > 1:
+ return pi/2 - arctan(1/x)\footnote{Un deuxième appel récursif.}
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\endgroup
+
+
+\vspace{1cm}
+
+Si on utilise l'environnement |{Piton}| dans un environnement |{minipage}| de LaTeX, les
+notes sont, bien entendu, composées au bas de l'environnement |{minipage}|. Rappelons
+qu'une telle |{minipage}| ne peut être coupée par un saut de page.
+
+
+\begingroup
+\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+\begin{Verbatim}
+\PitonOptions{background-color=gray!10}
+\emphase\begin{minipage}{\linewidth}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)~emphase&\footnote{Un premier appel récursif.}@
+ elif x > 1:
+ return pi/2 - arctan(1/x)~emphase&\footnote{Un deuxième appel récursif.}@
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\end{minipage}
+\end{Verbatim}
+\endgroup
+
+\begingroup
+\PitonOptions{background-color=gray!10}
+\begin{minipage}{\linewidth}
+\begin{Piton}
+def arctan(x,n=10):
+ if x < 0:
+ return -arctan(-x)\footnote{Un premier appel récursif.}
+ elif x > 1:
+ return pi/2 - arctan(1/x)\footnote{Un deuxième appel récursif.}
+ else:
+ return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+\end{Piton}
+\end{minipage}
+\endgroup
+
+
\subsection{Tabulations}
@@ -1741,15 +1986,20 @@ peuvent être mises dans les environnements |{Piton}| : voir un exemple sur la p
\index{tab-size}
\smallskip
-Même s'il est recommandé d'indenter les listings Python avec des espaces (cf. PEP~8), \pkg{piton} accepte les
-caractères de tabulations (U+0009) en début de ligne. Chaque caractère U+0009 est remplacé par $n$ espaces. La
-valeur initiale de~$n$ est~4 mais on peut la changer avec la clé \Definition{tab-size} de |\PitonOptions|.
+Même s'il est recommandé d'indenter les listings Python avec des espaces (cf. PEP~8),
+\pkg{piton} accepte les caractères de tabulations (U+0009) en début de ligne. Chaque
+caractère U+0009 est remplacé par $n$ espaces. La valeur initiale de~$n$ est~4 mais on
+peut la changer avec la clé \Definition{tab-size} de |\PitonOptions|.
\smallskip
-Il existe aussi une clé \Definition{tabs-auto-gobble} qui détermine le nombre minimal de caractères U+0009 débutant
-chaque ligne (non vide) de l'environnement |{Piton}| et applique |gobble| avec cette valeur (avant le remplacement
-des caractères U+0009 par des espaces, bien entendu). Cette clé est donc similaire à la clé |auto-gobble| mais agit
-sur des caractères U+0009 au lieu de caractères U+0020 (espaces).
+Il existe aussi une clé \Definition{tabs-auto-gobble} qui détermine le nombre minimal de
+caractères U+0009 débutant chaque ligne (non vide) de l'environnement |{Piton}| et
+applique |gobble| avec cette valeur (avant le remplacement des caractères U+0009 par des
+espaces, bien entendu). Cette clé est donc similaire à la clé |auto-gobble| mais agit sur
+des caractères U+0009 au lieu de caractères U+0020 (espaces).
+
+\smallskip
+La clé |env-gobble| n'est pas compatible avec les tabulations.
\section{API pour les développeurs}
@@ -1764,22 +2014,24 @@ La variable L3 |\l_piton_language_str| contient le nom du langage courant (en mi
\colorbox{yellow!50}{\textbf{Nouveau 2.6}}\par\nobreak
-L'extension \pkg{piton} fournit une fonction Lua |piton.get_last_code| sans argument permettant de récupérer le
-code contenu dans le dernier environnement de \pkg{piton}.
+L'extension \pkg{piton} fournit une fonction Lua |piton.get_last_code| sans argument
+permettant de récupérer le code contenu dans le dernier environnement de \pkg{piton}.
\begin{itemize}
-\item Les retours à la ligne (présents dans l'environnement de départ) apparaissent comme des caractères |\r|
-(c'est-à-dire des caractères U+000D).
+\item Les retours à la ligne (présents dans l'environnement de départ) apparaissent comme
+des caractères |\r| (c'est-à-dire des caractères U+000D).
-\item Le code fourni par |piton.get_last_code()| tient compte de l'éventuelle application d'une clé |gobble| (cf.
-p.~\pageref{gobble}).
+\item Le code fourni par |piton.get_last_code()| tient compte de l'éventuelle application
+d'une clé |gobble| (cf. p.~\pageref{gobble}).
-\item Les surcharges du code (qui entraînent des échappements vers LaTeX) ont été retirées du code fourni par
-|piton.get_last_code()|. Cela s'applique aux commandes LaTeX déclarées par la clé |detected-commands| (cf.
-partie~\ref{detected-commands}) et aux éléments insérés avec le mécanisme «|escape|» (cf. partie~\ref{escape}).
+\item Les surcharges du code (qui entraînent des échappements vers LaTeX) ont été retirées
+du code fourni par |piton.get_last_code()|. Cela s'applique aux commandes LaTeX déclarées
+par la clé |detected-commands| (cf. partie~\ref{detected-commands}) et aux éléments
+insérés avec le mécanisme «|escape|» (cf. partie~\ref{escape}).
-\item |piton.get_last_code| est une fonction Lua et non une chaîne de caractères : les traitements présentés
-précédemment sont exécutés lorsque la fonction est appelée. De ce fait, il peut être judicieux de stocker la valeur
-renvoyée par |piton.get_last_code()| dans une variable Lua si on doit l'utiliser plusieurs fois.
+\item |piton.get_last_code| est une fonction Lua et non une chaîne de caractères : les
+traitements présentés précédemment sont exécutés lorsque la fonction est appelée. De ce
+fait, il peut être judicieux de stocker la valeur renvoyée par |piton.get_last_code()|
+dans une variable Lua si on doit l'utiliser plusieurs fois.
\end{itemize}
\medskip
@@ -1794,12 +2046,15 @@ partie~\ref{pyluatex}, p.~\pageref{pyluatex}.
\label{example-numbering}
\index{numérotation des lignes de code|emph}
-On rappelle que l'on peut demander la numérotation des lignes des listings avec la clé |line-numbers|.
+On rappelle que l'on peut demander la numérotation des lignes des listings avec la clé
+|line-numbers| (utilisée sans valeur).
-Par défaut, les numéros de ligne sont composés par \pkg{piton} en débordement à gauche (en utilisant en interne la commande |\llap| de LaTeX).
+Par défaut, les numéros de ligne sont composés par \pkg{piton} en débordement à gauche (en
+utilisant en interne la commande |\llap| de LaTeX).
-Si on ne veut pas de débordement, on peut utiliser l'option |left-margin=auto| qui va insérer une marge adaptée aux
-numéros qui seront insérés (elle est plus large quand les numéros dépassent 10).
+Si on ne veut pas de débordement, on peut utiliser l'option |left-margin=auto| qui va
+insérer une marge adaptée aux numéros qui seront insérés (elle est plus large quand les
+numéros dépassent 10).
\begingroup
@@ -1841,8 +2096,8 @@ def arctan(x,n=10):
\label{example-comments}
\index{commentaires LaTeX|emph}
-On peut modifier le style |Comment.LaTeX| (avec |\SetPitonStyle|) pour faire afficher les commentaires
-LaTeX (qui débutent par |#>|) en butée à droite.
+On peut modifier le style |Comment.LaTeX| (avec |\SetPitonStyle|) pour faire afficher les
+commentaires LaTeX (qui débutent par |#>|) en butée à droite.
\begingroup
\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
@@ -1876,10 +2131,10 @@ def arctan(x,n=10):
\endgroup
-\vspace{1cm}
-On peut aussi faire afficher les commentaires dans une deuxième colonne à droite si on limite la largeur du code
-proprement dit avec la clé |width|. Dans l'exemple qui suit, on utilise la clé |width| avec la valeur
-spéciale~|min|. Plusieurs compilations sont nécessaires.
+\vspace{1cm} On peut aussi faire afficher les commentaires dans une deuxième colonne à
+droite si on limite la largeur du code proprement dit avec la clé |width|. Dans l'exemple
+qui suit, on utilise la clé |width| avec la valeur spéciale~|min|. Plusieurs compilations
+sont nécessaires.
\begingroup
@@ -1925,100 +2180,18 @@ def arctan(x,n=10):
\bigskip
-\subsection{Notes dans les listings}
-
-\index{notes dans les listings|emph}
-
-Pour pouvoir extraire les notes (introduites par |\footnote|), l'extension |piton| doit être chargée, soit avec la
-clé |footnote|, soit avec la clé |footnotehyper|, comme expliqué à la section \ref{footnote} p.~\pageref{footnote}.
-Dans le présent document, l'extension \pkg{piton} a été chargée par la clé |footnotehyper|.
-
-Bien entendu, une commande |\footnote| ne peut apparaître que dans un commentaire LaTeX (qui débute par |#>|). Un
-tel commentaire peut se limiter à cette unique commande |\footnote|, comme dans l'exemple suivant.
-
-\begingroup
-\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-\begin{Verbatim}
-\PitonOptions{background-color=gray!10}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)~emphase&#>\footnote{Un premier appel récursif.}]@
- elif x > 1:
- return pi/2 - arctan(1/x)~emphase&#>\footnote{Un deuxième appel récursif.}@
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\end{Verbatim}
-\endgroup
-
-\begingroup
-\PitonOptions{background-color=gray!10}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)#>\footnote{Un premier appel récursif.}
- elif x > 1:
- return pi/2 - arctan(1/x)#>\footnote{Un deuxième appel récursif.}
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\endgroup
-
-
-\vspace{1cm}
-
-Si on utilise l'environnement |{Piton}| dans un environnement |{minipage}| de LaTeX, les notes sont, bien entendu,
-composées au bas de l'environnement |{minipage}|. Rappelons qu'une telle |{minipage}| ne peut être coupée par un
-saut de page.
-
-
-\begingroup
-\fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-\begin{Verbatim}
-\PitonOptions{background-color=gray!10}
-\emphase\begin{minipage}{\linewidth}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)~emphase&#>\footnote{Un premier appel récursif.}@
- elif x > 1:
- return pi/2 - arctan(1/x)~emphase&#>\footnote{Un deuxième appel récursif.}@
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\end{minipage}
-\end{Verbatim}
-\endgroup
-
-\begingroup
-\PitonOptions{background-color=gray!10}
-\begin{minipage}{\linewidth}
-\begin{Piton}
-def arctan(x,n=10):
- if x < 0:
- return -arctan(-x)#>\footnote{Un premier appel récursif.}
- elif x > 1:
- return pi/2 - arctan(1/x)#>\footnote{Un deuxième appel récursif.}
- else:
- return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-\end{Piton}
-\end{minipage}
-\endgroup
-
-
-\bigskip
-
\subsection{Un exemple de réglage des styles}
Les styles graphiques ont été présentés à la partie \ref{styles}, p.~\pageref{styles}.
\smallskip
-On présente ici un réglage de ces styles adapté pour les documents en noir et blanc. On l'utilise avec la fonte
-\emph{DejaVu Sans Mono}\footnote{Voir: \url{https://dejavu-fonts.github.io}} spécifiée avec la commande
- |\setmonofont| de \pkg{fontspec}.
+On présente ici un réglage de ces styles adapté pour les documents en noir et blanc. On
+l'utilise avec la fonte \emph{DejaVu Sans Mono}\footnote{Voir:
+ \url{https://dejavu-fonts.github.io}} spécifiée avec la commande |\setmonofont| de
+\pkg{fontspec}.
-Ce réglage utilise la commande |\highLight| de \pkg{lua-ul} (cette extension nécessite elle-même l'extension \pkg{luacolor}).
+Ce réglage utilise la commande |\highLight| de \pkg{lua-ul} (cette extension nécessite
+elle-même l'extension \pkg{luacolor}).
\begin{Verbatim}
@@ -2044,10 +2217,11 @@ Ce réglage utilise la commande |\highLight| de \pkg{lua-ul} (cette extension nÃ
\end{Verbatim}
-Dans ce réglage, de nombreuses valeurs fournies aux clés sont vides, ce qui signifie que le style correspondant
-n'insèrera aucune instruction de formatage (l'élément sera composé dans la couleur standard, le plus souvent, en noir,
-etc.). Ces entrées avec valeurs nulles sont néanmoins nécessaires car la valeur initiale de ces styles dans
-\pkg{piton} n'est \emph{pas} vide.
+Dans ce réglage, de nombreuses valeurs fournies aux clés sont vides, ce qui signifie que
+le style correspondant n'insèrera aucune instruction de formatage (l'élément sera composé
+dans la couleur standard, le plus souvent, en noir, etc.). Ces entrées avec valeurs nulles
+sont néanmoins nécessaires car la valeur initiale de ces styles dans \pkg{piton} n'est
+\emph{pas} vide.
\begingroup
@@ -2105,11 +2279,13 @@ def arctan(x,n=10):
\label{pyluatex}
\index{pyluatex@{\pkg{pyluatex}} (extension)}
-L'extension \pkg{pyluatex} est une extension qui permet l'exécution de code Python à partir de |lualatex| (pourvu
-que Python soit installé sur la machine et que la compilation soit effectuée avec |lualatex| et |--shell-escape|).
+L'extension \pkg{pyluatex} est une extension qui permet l'exécution de code Python à
+partir de |lualatex| (pourvu que Python soit installé sur la machine et que la compilation
+soit effectuée avec |lualatex| et |--shell-escape|).
-Voici, à titre d'exemple, un environnement |{PitonExecute}| qui formate un listing Python (avec \pkg{piton}) et qui
-affiche également dessous le résultat de l'exécution de ce code avec Python.
+Voici, à titre d'exemple, un environnement |{PitonExecute}| qui formate un listing Python
+(avec \pkg{piton}) et qui affiche également dessous le résultat de l'exécution de ce code
+avec Python.
\begin{Verbatim}
@@ -2129,12 +2305,12 @@ affiche également dessous le résultat de l'exécution de ce code avec Python.
\ignorespacesafterend}
-On a utilisé la fonction Lua |piton.get_last_code| fournie dans l'API de \pkg{piton} : cf.~partie~\ref{API},
-p.~\pageref{API}.
+ On a utilisé la fonction Lua |piton.get_last_code| fournie dans l'API de \pkg{piton} :
+ cf.~partie~\ref{API}, p.~\pageref{API}.
\bigskip
-Cet environnement |{PitonExecute}| prend en argument optionnel (entre crochets) les options proposées par la
-commande |\PitonOptions|.
+Cet environnement |{PitonExecute}| prend en argument optionnel (entre crochets) les
+options proposées par la commande |\PitonOptions|.
\begin{Verbatim}
\begin{~emphase#PitonExecute@}[background-color=gray!15]
@@ -2162,23 +2338,26 @@ print(f'Le carré de 12 est {carré(12)}.')
\index{pythonrepl@\texttt{\{pythonrepl\}} (environnement de \pkg{pyluatex})}
-L'environnement |{pythonrepl}| de \pkg{pyluatex} passe son contenu à Python et renvoie ce que l'on obtient quand on
-fournit ce code à une boucle \textsc{repl} (\emph{read-eval-print loop}) de Python. On obtient un entrelacement
-d'instructions précédées par le prompt |>>>| de Python et des valeurs renvoyées par Python (et de ce qui a été
-demandé d'être affiché avec des \piton{print} de Python).
+L'environnement |{pythonrepl}| de \pkg{pyluatex} passe son contenu à Python et renvoie ce
+que l'on obtient quand on fournit ce code à une boucle \textsc{repl}
+(\emph{read-eval-print loop}) de Python. On obtient un entrelacement d'instructions
+précédées par le prompt |>>>| de Python et des valeurs renvoyées par Python (et de ce qui
+a été demandé d'être affiché avec des \piton{print} de Python).
\medskip
-Il est ensuite possible de passer cela à un environnement |{Piton}| qui va faire un coloriage syntaxique
-et mettre sur fond grisé les lignes correspondant aux instructions fournies à l'interpréteur Python (grâce à la clé
-|prompt-background-color| de |\PitonOptions|).
+Il est ensuite possible de passer cela à un environnement |{Piton}| qui va faire un
+coloriage syntaxique et mettre sur fond grisé les lignes correspondant aux instructions
+fournies à l'interpréteur Python (grâce à la clé |prompt-background-color| de
+|\PitonOptions|).
\medskip
-Voici la programmation d'un environnement |{PitonREPL}| qui effectue ce travail (pour des raisons techniques, le
-|!| est ici obligatoire dans la signature de l'environnement). On ne peut pas procéder comme précédemment (dans
-l'utilisation «standard» de \pkg{pyluatex}) car, bien sûr, c'est le retour fait par |{pythonrepl}| qui doit être
-traité par \pkg{piton}. De ce fait, il ne sera pas possible de mettre des surcharges (avec |detected-commands| ou
-le mécanisme |escape|) dans le code.
+Voici la programmation d'un environnement |{PitonREPL}| qui effectue ce travail (pour des
+raisons techniques, le |!| est ici obligatoire dans la signature de l'environnement). On
+ne peut pas procéder comme précédemment (dans l'utilisation «standard» de \pkg{pyluatex})
+car, bien sûr, c'est le retour fait par |{pythonrepl}| qui doit être traité par
+\pkg{piton}. De ce fait, il ne sera pas possible de mettre des surcharges (avec
+|detected-commands| ou le mécanisme |escape|) dans le code.
\begin{Verbatim}
\ExplSyntaxOn
@@ -2263,11 +2442,12 @@ Voici un exemple d'utilisation de ce nouvel environnement |{PitonREPL}|.
\bigskip
-En fait, il est possible de ne pas faire afficher les prompts eux-mêmes (c'est-à-dire les chaînes de caractères
-|>>>| et |...|). En effet, \pkg{piton} propose un style pour ces éléments, qui est appelé |Prompt|. Par défaut, la
-valeur de ce style est vide, ce qui fait qu'aucune action n'est exécutée sur ces éléments qui sont donc affichés
-tels quels. En fournissant comme valeur une fonction qui se contente de gober son argument, on peut demander à ce
-qu'ils ne soient pas affichés.
+En fait, il est possible de ne pas faire afficher les prompts eux-mêmes (c'est-à-dire les
+chaînes de caractères |>>>| et |...|). En effet, \pkg{piton} propose un style pour ces
+éléments, qui est appelé |Prompt|. Par défaut, la valeur de ce style est vide, ce qui fait
+qu'aucune action n'est exécutée sur ces éléments qui sont donc affichés tels quels. En
+fournissant comme valeur une fonction qui se contente de gober son argument, on peut
+demander à ce qu'ils ne soient pas affichés.
\bigskip
\begin{savenotes}
@@ -2328,16 +2508,17 @@ L'exemple précédent donne alors :
\subsection{Le langage Python}
-Le langage par défaut de l'extension \pkg{piton} est Python. Si besoin est, on peut revenir au langage Python avec
-|\PitonOptions{language=Python}|.
+Le langage par défaut de l'extension \pkg{piton} est Python. Si besoin est, on peut
+revenir au langage Python avec |\PitonOptions{language=Python}|.
\bigskip
-Les réglages initiaux effectués par \pkg{piton} dans |piton.sty| sont inspirés par le style \pkg{manni} de Pygments
-tel qu'il est appliqué au langage Python par Pygments.\footnote{Voir \url{https://pygments.org/styles/}. À
- remarquer que, par défaut, Pygments propose pour le style \pkg{manni} un fond coloré dont la couleur est la
- couleur HTML |#F0F3F3|. Il est possible d'avoir la même couleur dans |{Piton}| avec l'instruction :
- |\PitonOptions{background-color = [HTML]{F0F3F3}}|}
+Les réglages initiaux effectués par \pkg{piton} dans |piton.sty| sont inspirés par le
+style \pkg{manni} de Pygments tel qu'il est appliqué au langage Python par
+Pygments.\footnote{Voir \url{https://pygments.org/styles/}. À remarquer que, par défaut,
+ Pygments propose pour le style \pkg{manni} un fond coloré dont la couleur est la couleur
+ HTML |#F0F3F3|. Il est possible d'avoir la même couleur dans |{Piton}| avec
+ l'instruction : |\PitonOptions{background-color = [HTML]{F0F3F3}}|}
\vspace{1cm}
@@ -2349,38 +2530,45 @@ tel qu'il est appliqué au langage Python par Pygments.\footnote{Voir \url{https
\midrule
Number & les nombres \\
String.Short & les chaînes de caractères courtes (entre \texttt{'} ou \texttt{"}) \\
- String.Long & les chaînes de caractères longues (entre \texttt{'''} ou \texttt{"""}) sauf les chaînes de
- documentation (qui sont gérées par |String.Doc|)\\
+ String.Long & les chaînes de caractères longues (entre \texttt{'''} ou \texttt{"""})
+ sauf les chaînes de documentation (qui sont gérées par |String.Doc|)\\
String & cette clé fixe à la fois |String.Short| et |String.Long| \\
String.Doc & les chaînes de documentation (seulement entre |"""| suivant PEP~257) \\
- String.Interpol & les éléments syntaxiques des champs des f-strings (c'est-à-dire les caractères \texttt{\{} et
- \texttt{\}}) ; ce style hérite des styles |String.Short| et |String.Long| (suivant la chaîne où
- apparaît l'interpolation)\\
- Interpol.Inside & le contenu des interpolations dans les f-strings (c'est-à-dire les éléments qui se trouvent entre
- \texttt{\{} et~\texttt{\}} ; si l'utilisateur n'a pas fixé ce style, ces éléments sont analysés et formatés par \pkg{piton}
- au même titre que le reste du code. \\
- Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .} \verb+|+ |@| \\
+ String.Interpol & les éléments syntaxiques des champs des f-strings (c'est-à-dire les
+ caractères \texttt{\{} et \texttt{\}}) ; ce style hérite des styles
+ |String.Short| et |String.Long| (suivant la chaîne où apparaît
+ l'interpolation)\\
+ Interpol.Inside & le contenu des interpolations dans les f-strings (c'est-à-dire les
+ éléments qui se trouvent entre \texttt{\{} et~\texttt{\}} ; si
+ l'utilisateur n'a pas fixé ce style, ces éléments sont analysés et
+ formatés par \pkg{piton} au même titre que le reste du code. \\
+ Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .}
+ \verb+|+ |@| \\
Operator.Word & les opérateurs suivants : |in|, |is|, |and|, |or| et |not| \\
Name.Builtin & la plupart des fonctions prédéfinies par Python \\
Name.Decorator & les décorateurs (instructions débutant par \verb|@|) \\
Name.Namespace & le nom des modules (= bibliothèques extérieures) \\
- Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le mot-clé \verb|class| \\
- Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition} (après le
- mot-clé |def|) \\
- UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur initiale de ce paramètre est
- vide et ces éléments sont affichés en noir --- ou plutôt dans la couleur courante) \\
+ Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le
+ mot-clé \verb|class| \\
+ Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur
+ définition} (après le mot-clé |def|) \\
+ UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur
+ initiale de ce paramètre est vide et ces éléments sont affichés en noir
+ --- ou plutôt dans la couleur courante) \\
Exception & les exceptions prédéfinies (ex.: \texttt{SyntaxError}) \\
- InitialValues & les valeurs initiales (et le symbole |=| qui précède) des arguments optionnels dans les définitions
- de fonctions ; si l'utilisateur n'a pas fixé ce style, ces éléments sont analysés et formatés par \pkg{piton}
+ InitialValues & les valeurs initiales (et le symbole |=| qui précède) des arguments
+ optionnels dans les définitions de fonctions ; si l'utilisateur n'a pas
+ fixé ce style, ces éléments sont analysés et formatés par \pkg{piton}
au même titre que le reste du code.\\
Comment & les commentaires commençant par \texttt{\#} \\
- Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
+ Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
Keyword.Constant & |True|, |False| et |None| \\
Keyword & les mots-clés suivants :
\ttfamily assert, break, case, continue, del,
elif, else, except, exec, finally, for, from,
- global, if, import, lambda, non local,
+ global, if, import, in, lambda, non local,
pass, raise, return, try, while,
with, yield et yield from.\\
\bottomrule
@@ -2421,17 +2609,18 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
String.Long & les chaînes de caractères, entre |"| mais aussi les \emph{quoted-strings} \\
String & cette clé fixe à la fois |String.Short| et |String.Long| \\
Operator & les opérateurs, en particulier |+|, |-|, |/|, |*|, |@|, |!=|, |==|, |&&| \\
- Operator.Word & les opérateurs suivants : |and|, |asr|, |land|, |lor|, |lsl|, |lxor|, |mod| et |or| \\
+ Operator.Word & les opérateurs suivants : |and|, |asr|, |land|, |lor|, |lsl|, |lxor|,
+ |mod| et |or| \\
Name.Builtin & les fonctions |not|, |incr|, |decr|, |fst| et |snd| \\
Name.Type & le nom des types OCaml \\
Name.Field & le nom d'un champ de module \\
Name.Constructor & le nom des constructeurs de types (qui débutent par une majuscule) \\
Name.Module & le nom des modules \\
- Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition} (après le
- mot-clé |let|) \\
- UserFunction & le nom des fonctions précédemment définies par l'utilisateur
- (la valeur initiale de ce paramètre est
- vide et ces éléments sont affichés en noir --- ou plutôt dans la couleur courante) \\
+ Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur
+ définition} (après le mot-clé |let|) \\
+ UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur
+ initiale de ce paramètre est vide et ces éléments sont affichés en noir
+ --- ou plutôt dans la couleur courante) \\
Exception & les exceptions prédéfinies (ex. : |End_of_File|) \\
TypeParameter & les paramétreurs de type \\
Comment & les commentaires, entre |(*| et |*)| ; ces commentaires peuvent être imbriqués \\
@@ -2477,28 +2666,33 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
\midrule
Number & les nombres \\
String.Long & les chaînes de caractères (entre \texttt{"}) \\
-String.Interpol & les éléments \texttt{\%d}, \texttt{\%i}, \texttt{\%f}, \texttt{\%c}, etc. dans les chaînes de
- caractères ; ce style hérite du style |String.Long| \\
+String.Interpol & les éléments \texttt{\%d}, \texttt{\%i}, \texttt{\%f}, \texttt{\%c},
+ etc. dans les chaînes de caractères ; ce style hérite du style
+ |String.Long| \\
Operator & les opérateurs suivants : \texttt{!= == << >> - \~{} + / * \% = < > \& .} \verb+|+ |@| \\
-Name.Type & les types prédéfinis suivants :
- |bool|, |char|, |char16_t|, |char32_t|, |double|, |float|, |int|, |int8_t|, |int16_t|, |int32_t|,
- |int64_t|, |long|, |short|, |signed|, |unsigned|, |void| et |wchar_t| \\
-Name.Builtin & les fonctions prédéfinies suivantes : |printf|, |scanf|, |malloc|, |sizeof| et |alignof| \\
- Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le mot-clé |class| \\
+Name.Type & les types prédéfinis suivants : |bool|, |char|, |char16_t|, |char32_t|,
+ |double|, |float|, |int|, |int8_t|, |int16_t|, |int32_t|, |int64_t|, |long|,
+ |short|, |signed|, |unsigned|, |void| et |wchar_t| \\
+Name.Builtin & les fonctions prédéfinies suivantes : |printf|, |scanf|, |malloc|, |sizeof|
+ et |alignof| \\
+ Name.Class & le nom des classes au moment de leur définition, c'est-à-dire après le
+ mot-clé |class| \\
Name.Function & le nom des fonctions définies par l'utilisateur \emph{au moment de leur définition} \\
-UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur initiale de ce paramètre est
- vide et ces éléments sont affichés en noir --- ou plutôt dans la couleur courante) \\
+UserFunction & le nom des fonctions précédemment définies par l'utilisateur (la valeur
+ initiale de ce paramètre est vide et ces éléments sont affichés en noir ---
+ ou plutôt dans la couleur courante) \\
Preproc & les instructions du préprocesseur (commençant par |#|) \\
Comment & les commentaires (commençant par \texttt{//} ou entre |/*| et |*/|) \\
-Comment.LaTeX & les commentaires commençant par \texttt{//>} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
+Comment.LaTeX & les commentaires commençant par \texttt{//>} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
Keyword.Constant & |default|, |false|, |NULL|, |nullptr| et |true| \\
-Keyword & les mots-clés suivants :
-|alignas|, |asm|, |auto|, |break|, |case|, |catch|, |class|,
-|constexpr|, |const|, |continue|, |decltype|, |do|, |else|, |enum|,
-|extern|, |for|, |goto|, |if|, |nexcept|, |private|, |public|, |register|, |restricted|, |try|,
-|return|, |static|, |static_assert|, |struct|, |switch|, |thread_local|, |throw|,
-|typedef|, |union|, |using|, |virtual|, |volatile| et |while|
+Keyword & les mots-clés suivants : |alignas|, |asm|, |auto|, |break|, |case|, |catch|,
+ |class|, |constexpr|, |const|, |continue|, |decltype|, |do|, |else|, |enum|,
+ |extern|, |for|, |goto|, |if|, |nexcept|, |private|, |public|, |register|,
+ |restricted|, |try|, |return|, |static|, |static_assert|, |struct|, |switch|,
+ |thread_local|, |throw|, |typedef|, |union|, |using|, |virtual|, |volatile| et
+ |while|
\\
\bottomrule
\end{tabularx}
@@ -2534,31 +2728,32 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
Number & les nombres \\
String.Long & les chaînes de caractères (entre \texttt{'} et non entre \texttt{"} car les éléments entre \texttt{"}
sont des noms de champs et formatés avec |Name.Field|) \\
-Operator & les opérateurs suivants :
-\texttt{= != <> >= > < <= * + / } \\
+Operator & les opérateurs suivants : \texttt{= != <> >= > < <= * + / } \\
Name.Table & les noms des tables \\
Name.Field & les noms des champs des tables \\
-Name.Builtin & les fonctions prédéfinies suivantes (leur nom n'est \emph{pas} sensible à la casse) :
- |avg|, |count|, |char_lenght|, |concat|, |curdate|, |current_date|,
- |date_format|, |day|, |lower|, |ltrim|, |max|, |min|, |month|, |now|,
- |rank|, |round|, |rtrim|, |substring|, |sum|, |upper| et |year|. \\
+Name.Builtin & les fonctions prédéfinies suivantes (leur nom n'est \emph{pas} sensible à
+ la casse) : |avg|, |count|, |char_lenght|, |concat|, |curdate|,
+ |current_date|, |date_format|, |day|, |lower|, |ltrim|, |max|, |min|,
+ |month|, |now|, |rank|, |round|, |rtrim|, |substring|, |sum|, |upper| et
+ |year|. \\
Comment & les commentaires (débutant par |--| ou bien entre |/*| et |*/|) \\
-Comment.LaTeX & les commentaires commençant par \texttt{-->} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
-Keyword & les mots-clés suivants (leur nom n'est \emph{pas} sensible à la casse) :
- |add|, |after|, |all|, |alter|, |and|, |as|, |asc|, |between|, |by|,
- |change|, |column|, |create|, |cross join|, |delete|, |desc|, |distinct|,
- |drop|, |from|, |group|, |having|, |in|, |inner|, |insert|, |into|, |is|,
- |join|, |left|, |like|, |limit|, |merge|, |not|, |null|, |on|, |or|,
- |order|, |over|, |right|, |select|, |set|, |table|, |then|, |truncate|,
- |union|, |update|, |values|, |when|, |where| et |with|. \\
+Comment.LaTeX & les commentaires commençant par \texttt{-->} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
+Keyword & les mots-clés suivants (leur nom n'est \emph{pas} sensible à la casse) : |add|,
+ |after|, |all|, |alter|, |and|, |as|, |asc|, |between|, |by|, |change|,
+ |column|, |create|, |cross join|, |delete|, |desc|, |distinct|, |drop|, |from|,
+ |group|, |having|, |in|, |inner|, |insert|, |into|, |is|, |join|, |left|,
+ |like|, |limit|, |merge|, |not|, |null|, |on|, |or|, |order|, |over|, |right|,
+ |select|, |set|, |table|, |then|, |truncate|, |union|, |update|, |values|,
+ |when|, |where| et |with|. \\
\bottomrule
\end{tabularx}
\end{center}
\bigskip
-Si on souhaite que les mots-clés soient capitalisés automatiquement, on peut modifier le style |Keywords|
-localement pour le langage SQL avec l'instruction :
+Si on souhaite que les mots-clés soient capitalisés automatiquement, on peut modifier le
+style |Keywords| localement pour le langage SQL avec l'instruction :
\begin{Verbatim}
\SetPitonStyle~emphase#[SQL]@{Keywords = \bfseries \MakeUppercase}
\end{Verbatim}
@@ -2598,16 +2793,18 @@ L'option est aussi disponible pour |\PitonInputFile| : |\PitonInputFile[language
Number & les nombres \\
String & les chaînes de caractères (qui sont entre \texttt{"}) \\
Comment & les commentaires (qui débutent par |#|) \\
-Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par \pkg{piton} comme du code LaTeX (et
- appelés simplement «commentaires LaTeX» dans ce document) \\
+Comment.LaTeX & les commentaires commençant par \texttt{\#>} qui sont composés par
+ \pkg{piton} comme du code LaTeX (et appelés simplement «commentaires
+ LaTeX» dans ce document) \\
\bottomrule
\end{tabularx}
\end{center}
\bigskip
-Ce langage «|minimal|» est proposé par \pkg{piton} à l'utilisateur final pour qu'il puisse y ajouter des
-formatages de mots-clés avec la commande |\SetPitonIdentifier| (cf. \ref{SetPitonIdentifier},
-p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage pour pseudo-code.
+Ce langage «|minimal|» est proposé par \pkg{piton} à l'utilisateur final pour qu'il puisse
+y ajouter des formatages de mots-clés avec la commande |\SetPitonIdentifier| (cf.
+\ref{SetPitonIdentifier}, p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage
+pour pseudo-code.
\newpage
@@ -2617,8 +2814,8 @@ p.~\pageref{SetPitonIdentifier}) et créer par exemple un langage pour pseudo-co
\indexcommand{NewPitonLanguage}
\vspace{1cm}
-La commande |\NewPitonLanguage|, qui permet de définir de nouveaux langages en utilisant la syntaxe de l'extension
-\pkg{listings}, a été présentée p.~\pageref{NewPitonLanguage}.
+La commande |\NewPitonLanguage|, qui permet de définir de nouveaux langages en utilisant
+la syntaxe de l'extension \pkg{listings}, a été présentée p.~\pageref{NewPitonLanguage}.
Tous les langages définis avec la commande |\NewPitonLanguage| partagent les mêmes styles.
@@ -2630,15 +2827,17 @@ Tous les langages définis avec la commande |\NewPitonLanguage| partagent les mÃ
\normalfont Style & Usage \\
\midrule
Number & les nombres \\
-String.Long & les chaînes de caractères définies dans |\NewPitonLanguage| par la clé |morestring| \\
+String.Long & les chaînes de caractères définies dans |\NewPitonLanguage| par la clé
+ |morestring| \\
Comment & les commentaires définis dans |\NewPitonLanguage| par la clé |morecomment| \\
Comment.LaTeX & les commentaires qui sont composés par \pkg{piton} comme du code LaTeX (et
appelés simplement «commentaires LaTeX» dans ce document) \\
-Keyword & les mots-clés, définis dans |\NewPitonLanguage| par les clés |morekeywords| et |moretexcs| (et également
- la clé |sensitive| qui indique si les mots-clés sont sensibles à la casse) \\
+Keyword & les mots-clés, définis dans |\NewPitonLanguage| par les clés |morekeywords| et
+ |moretexcs| (et également la clé |sensitive| qui indique si les mots-clés sont
+ sensibles à la casse) \\
Directive & les directives définies dans |\NewPitonLanguage| par la clé |moredirectives| \\
-Tag & les «tags» définis par la clé |tag| (les lexèmes détectés à l'intérieur d'un tag seront
- aussi composés avec leur propre style) \\
+Tag & les «tags» définis par la clé |tag| (les lexèmes détectés à l'intérieur d'un tag
+ seront aussi composés avec leur propre style) \\
\bottomrule
\end{tabularx}
\end{center}
diff --git a/macros/luatex/latex/piton/piton.dtx b/macros/luatex/latex/piton/piton.dtx
index ec18e80eaa..38ef21b9b8 100644
--- a/macros/luatex/latex/piton/piton.dtx
+++ b/macros/luatex/latex/piton/piton.dtx
@@ -44,7 +44,7 @@
end-escape = ! ,
begin-escape-math = \( ,
end-escape-math = \) ,
- detected-commands = highLight
+ detected-commands = { highLight, footnote }
}
\parindent 0pt
@@ -79,12 +79,12 @@
% \iffalse
%<*STY>
% \fi
-\def\PitonFileVersion{3.0b}
-\def\PitonFileDate{2024/05/23}
+\def\PitonFileVersion{3.1a}
+\def\PitonFileDate{2024/08/12}
% \iffalse
%</STY>
%<*LUA>
-piton_version = "3.0b" -- 2024/05/23
+piton_version = "3.1a" -- 2024/08/12
%</LUA>
%\fi
%
@@ -361,8 +361,12 @@ piton_version = "3.0b" -- 2024/05/23
%
% \begin{itemize}
% \item The key \Definition{language} specifies which computer language is
-% considered (that key is case-insensitive). Five values are allowed :
-% |Python|, |OCaml|, |C|, |SQL| and |minimal|. The initial value is |Python|.
+% considered (that key is case-insensitive). It's possible to use the name of
+% the five built-in languages (|Python|, |OCaml|, |C|, |SQL| and |minimal|) or
+% the name of the language defined by the user with |\NewPitonLanguage|
+% (cf.~part~\ref{NewPitonLanguage}, p.~\pageref{NewPitonLanguage}.
+%
+% The initial value is |Python|.
%
% \item \index{path} The key \Definition{path} specifies a path where the files
% included by |\PitonInputFile| will be searched.
@@ -431,6 +435,13 @@ piton_version = "3.0b" -- 2024/05/23
% \item The key \Definition{line-numbers/sep} is the horizontal distance between
% the numbers of lines (inserted by |line-numbers|) and the beginning of the
% lines of code. The initial value is 0.7~em.
+% \item \colorbox{yellow!50}{\bfseries New 3.1}\enskip The key
+% \Definition{line-numbers/format} is a list of tokens which are inserted before
+% the number of line in order to format it. It's possible to put, \emph{at the
+% end} of the list, a LaTeX command with one argument, such as, for example,
+% |\fbox|.
+%
+% The initial value is |\footnotesize\color{gray}|.
% \end{itemize}
%
% For convenience, a mechanism of factorisation of the prefix |line-numbers| is
@@ -442,7 +453,8 @@ piton_version = "3.0b" -- 2024/05/23
% {
% skip-empty-lines = false ,
% label-empty-lines = false ,
-% sep = 1 em
+% sep = 1 em ,
+% line-format = \footnotesize \color{blue}
% }
% }
% \end{Verbatim}
@@ -473,6 +485,12 @@ piton_version = "3.0b" -- 2024/05/23
% The key |background-color| accepts a color defined «on the fly». For example,
% it's possible to write |background-color = [cmyk]{0.1,0.05,0,0}|.
%
+% \smallskip
+% When the key |split-on-empty-lines| is in force (see the part ``Page breaks'',
+% p.~\pageref{page breaks}), the empty lines generated by that key don't have
+% any background color (at least with the initial value of the parameter
+% |split-separation|).
+%
% \item \index{prompt-background-color} With the key
% \Definition{prompt-background-color}, \pkg{piton} adds a
% color background to the lines beginning with the prompt ``|>>>|'' (and its
@@ -976,6 +994,7 @@ piton_version = "3.0b" -- 2024/05/23
% \label{breakable}
%
% \subsubsection{Page breaks}
+% \label{page breaks}
% \index{splittable}
%
% By default, the listings produced by the environment |{Piton}| and the command
@@ -994,10 +1013,17 @@ piton_version = "3.0b" -- 2024/05/23
% In fact, when the key |split-on-empty-lines| is in force, the work goes a
% little further than merely allowing page breaks: several successive empty lines
% are deleted and replaced by the content of the parameter corresponding to the
-% key \Definition{split-separation}. The initial value of this parameter is
-% |\vspace{\baselineskip}\vspace{-1.25pt}| which corresponds eventually to an
+% key \Definition{split-separation}.
+% \begin{itemize}
+% \item That parameter must contain elements allowed to be inserted in
+% \emph{vertical mode} of TeX. For example, it's possible to put |\hrule|.
+%
+% \item The initial value of this parameter is
+% |\vspace{\baselineskip}\vspace{-1.25pt}| which corresponds eventually to an
% empty line in the final PDF (this vertical space is deleted if it occurs on a
-% page break).
+% page break). If the key |background-color| is in force, no background color is
+% added to that empty line.
+% \end{itemize}
%
% \item Of course, the key |split-on-empty-lines| may not be sufficient and
% that's why \pkg{piton} provides the key \Definition{splittable}.
@@ -1012,6 +1038,9 @@ piton_version = "3.0b" -- 2024/05/23
% When used without value, the key |splittable| is equivalent to
% |splittable = 1| and the listings may be broken anywhere (it's probably
% not recommandable).
+%
+% The initial value of the key |splittable| is equal to 100 (by default, the
+% listings are not breakable at all).
% \end{itemize}
%
%
@@ -1654,6 +1683,8 @@ piton_version = "3.0b" -- 2024/05/23
%
% \subsubsection{Commands of Beamer allowed in \{Piton\} and \textbackslash PitonInputFile}
%
+% \index{detected-beamer-commands}
+%
% When \pkg{piton} is used in the class \cls{beamer} , the following commands of
% \cls{beamer} (classified upon their number of arguments) are automatically
% detected in the environments |{Piton}| (and in the listings processed by
@@ -1663,17 +1694,23 @@ piton_version = "3.0b" -- 2024/05/23
% also possible to use the command \texttt{\textbackslash pause} in a ``LaTeX
% comment'', that is to say by writing \texttt{\#> \textbackslash pause}. By
% this way, if the Python code is copied, it's still executable by Python}. ;
-% \item one mandatory argument : |\action|, |\alert|, |\invisible|, |\only|, |\uncover| and |\visible| ;
+% \item one mandatory argument : |\action|, |\alert|, |\invisible|, |\only|,
+% |\uncover| and |\visible| ; \newline
+% \colorbox{yellow!50}{\bfseries New 3.1}\newline
+% It's possible to add new commands to that list with the key
+% \Definition{detected-beamer-commands} (the names of the commands must
+% \emph{not} be preceded by a backslash).
% \item two mandatory arguments : |\alt| ;
% \item three mandatory arguments : |\temporal|.
% \end{itemize}
-% \medskip
-% In the mandatory arguments of these commands, the braces must be balanced.
-% However, the braces included in short strings\footnote{The short strings of
-% Python are the strings delimited by characters \texttt{'} or the characters
-% \texttt{"} and not \texttt{'''} nor \texttt{"""}. In Python, the short strings
-% can't extend on several lines.} of Python are not considered.
+% \medskip
+% These commands must be used preceded and following by a space. In the
+% mandatory arguments of these commands, the braces must be balanced. However,
+% the braces included in short strings\footnote{The short strings of Python are
+% the strings delimited by characters \texttt{'} or the characters \texttt{"}
+% and not \texttt{'''} nor \texttt{"""}. In Python, the short strings can't
+% extend on several lines.} of Python are not considered.
%
% \medskip
% Regarding the functions |\alt| and |\temporal| there should be no carriage
@@ -1713,8 +1750,18 @@ piton_version = "3.0b" -- 2024/05/23
% listings processed by |\PitonInputFile|): |{actionenv}|, |{alertenv}|,
% |{invisibleenv}|, |{onlyenv}|, |{uncoverenv}| and |{visibleenv}|.
%
+% \smallskip
+% \index{detected-beamer-environments}
+% \colorbox{yellow!50}{\bfseries New 3.1}
+%
+% It's possible to add new environments to that list with the key
+% \Definition{detected-beamer-environments}.
+%
+% \smallskip
+%
% However, there is a restriction: these environments must contain only \emph{whole
-% lines of Python code} in their body.
+% lines of Python code} in their body. The instructions |\begin{...}| and
+% |\end{...}| must be alone on their lines.
%
%\medskip
% Here is an example:
@@ -1810,10 +1857,98 @@ piton_version = "3.0b" -- 2024/05/23
% in particular: it must be loaded after the package \pkg{xcolor} and it is not
% perfectly compatible with \pkg{hyperref}.
%
+%
+% \medskip
+% \textbf{Important remark} : If you use Beamer, you should know taht Beamer has
+% its own system to extract the footnotes. Therefore, \pkg{piton} must be loaded
+% in that class without the option |footnote| nor the option |footnotehyper|.
+%
+%
+% \bigskip
+% By default, in an environment |{Piton}|, a command |\footnote| may appear only
+% within a ``LaTeX comment''. But it's also possible to add the command
+% |\footnote| to the list of the ``\emph{detected-commands}''
+% (cf.~part~\ref{detected-commands}, p.~\pageref{detected-commands}).
+
% \medskip
% In this document, the package \pkg{piton} has been loaded with the
-% option |footnotehyper|. For examples of notes, cf. \ref{notes-examples},
-% p.~\pageref{notes-examples}.
+% option |footnotehyper| dans we added the command |\footnote| to the list of
+% the ``\emph{detected-commands}'' with the following instruction in the
+% preamble of the LaTeX document.
+%
+% \qquad \verb|\PitonOptions{detected-commands = footnote}|
+%
+%
+% \begingroup
+% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+% \begin{Verbatim}
+% \PitonOptions{background-color=gray!10}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)~emphase&\footnote{First recursive call.}]@
+% elif x > 1:
+% return pi/2 - arctan(1/x)~emphase&\footnote{Second recursive call.}@
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \end{Verbatim}
+% \endgroup
+%
+% \begingroup
+% \PitonOptions{background-color=gray!10}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)\footnote{First recursive call.}
+% elif x > 1:
+% return pi/2 - arctan(1/x)\footnote{Second recursive call.}
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \endgroup
+%
+%
+% \vspace{1cm}
+%
+% If an environment |{Piton}| is used in an environment |{minipage}| of LaTeX,
+% the notes are composed, of course, at the foot of the environment
+% |{minipage}|. Recall that such |{minipage}| can't be broken by a page break.
+%
+%
+% \begingroup
+% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
+% \begin{Verbatim}
+% \PitonOptions{background-color=gray!10}
+% \emphase\begin{minipage}{\linewidth}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)~emphase&\footnote{First recursive call.}@
+% elif x > 1:
+% return pi/2 - arctan(1/x)~emphase&\footnote{Second recursive call.}@
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \end{minipage}
+% \end{Verbatim}
+% \endgroup
+%
+% \begingroup
+% \PitonOptions{background-color=gray!10}
+% \begin{minipage}{\linewidth}
+% \begin{Piton}
+% def arctan(x,n=10):
+% if x < 0:
+% return -arctan(-x)\footnote{First recursive call.}
+% elif x > 1:
+% return pi/2 - arctan(1/x)\footnote{Second recursive call.}
+% else:
+% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
+% \end{Piton}
+% \end{minipage}
+% \endgroup
+%
%
% \subsection{Tabulations}
%
@@ -1835,6 +1970,8 @@ piton_version = "3.0b" -- 2024/05/23
% course). Hence, that key is similar to the key |auto-gobble| but acts on
% U+0009 instead of U+0020 (spaces).
%
+% The key |env-gobble| is not compatible with the tabulations.
+%
%
% \bigskip
% \section{API for the developpers}
@@ -1882,7 +2019,7 @@ piton_version = "3.0b" -- 2024/05/23
% \index{numbers of the lines de code|emph}
%
% We remind that it's possible to have an automatic numbering of the lines in
-% the Python listings by using the key |line-numbers|.
+% the Python listings by using the key |line-numbers| (used without value).
%
% By default, the numbers of the lines are composed by \pkg{piton} in an
% overlapping position on the left (by using internally the command |\llap| of LaTeX).
@@ -2015,94 +2152,7 @@ piton_version = "3.0b" -- 2024/05/23
% \endgroup
%
%
-% \bigskip
-% \subsection{Notes in the listings}
-%
-% \label{notes-examples}
-% \index{notes in the listings}
%
-% In order to be able to extract the notes (which are typeset with the command
-% |\footnote|), the extension \pkg{piton} must be loaded with the key |footnote|
-% or the key |footenotehyper| as explained in the section \ref{footnote}
-% p.~\pageref{footnote}. In this document, the extension \pkg{piton} has been
-% loaded with the key |footnotehyper|.
-%
-% Of course, in an environment |{Piton}|, a command |\footnote| may appear only
-% within a LaTeX comment (which begins with |#>|). It's possible to have comments
-% which contain only that command |\footnote|. That's the case in the following example.
-%
-%
-%
-% \begingroup
-% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-% \begin{Verbatim}
-% \PitonOptions{background-color=gray!10}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)~emphase&#>\footnote{First recursive call.}]@
-% elif x > 1:
-% return pi/2 - arctan(1/x)~emphase&#>\footnote{Second recursive call.}@
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \end{Verbatim}
-% \endgroup
-%
-% \begingroup
-% \PitonOptions{background-color=gray!10}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)#>\footnote{First recursive call.}
-% elif x > 1:
-% return pi/2 - arctan(1/x)#>\footnote{Second recursive call.}
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \endgroup
-%
-%
-% \vspace{1cm}
-%
-% If an environment |{Piton}| is used in an environment |{minipage}| of LaTeX,
-% the notes are composed, of course, at the foot of the environment
-% |{minipage}|. Recall that such |{minipage}| can't be broken by a page break.
-%
-%
-% \begingroup
-% \fvset{commandchars=\~\&\@,formatcom=\small\color{gray}}
-% \begin{Verbatim}
-% \PitonOptions{background-color=gray!10}
-% \emphase\begin{minipage}{\linewidth}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)~emphase&#>\footnote{First recursive call.}@
-% elif x > 1:
-% return pi/2 - arctan(1/x)~emphase&#>\footnote{Second recursive call.}@
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \end{minipage}
-% \end{Verbatim}
-% \endgroup
-%
-% \begingroup
-% \PitonOptions{background-color=gray!10}
-% \begin{minipage}{\linewidth}
-% \begin{Piton}
-% def arctan(x,n=10):
-% if x < 0:
-% return -arctan(-x)#>\footnote{First recursive call.}
-% elif x > 1:
-% return pi/2 - arctan(1/x)#>\footnote{Second recursive call.}
-% else:
-% return sum( (-1)**k/(2*k+1)*x**(2*k+1) for k in range(n) )
-% \end{Piton}
-% \end{minipage}
-% \endgroup
-%
%
%
% \bigskip
@@ -2297,7 +2347,7 @@ piton_version = "3.0b" -- 2024/05/23
% Keyword & the following keywords:
% \ttfamily assert, break, case, continue, del,
% elif, else, except, exec, finally, for, from,
-% global, if, import, lambda, non local,
+% global, if, import, in, lambda, non local,
% pass, raise, return, try, while,
% with, yield et yield from.\\
% \bottomrule
@@ -2705,6 +2755,14 @@ piton_version = "3.0b" -- 2024/05/23
% \end{macrocode}
%
% \bigskip
+% The command |\text| provided by the package \pkg{amstext} will be used to
+% allow the use of the command |\pion{...}| (with the standard syntax) in
+% mathematical mode.
+% \begin{macrocode}
+\RequirePackage { amstext }
+% \end{macrocode}
+%
+% \bigskip
% \begin{macrocode}
\cs_new_protected:Npn \@@_error:n { \msg_error:nn { piton } }
\cs_new_protected:Npn \@@_warning:n { \msg_warning:nn { piton } }
@@ -2835,25 +2893,12 @@ piton_version = "3.0b" -- 2024/05/23
beamer .bool_gset:N = \g_@@_beamer_bool ,
beamer .default:n = true ,
-
- math-comments .code:n = \@@_error:n { moved~to~preamble } ,
- comment-latex .code:n = \@@_error:n { moved~to~preamble } ,
unknown .code:n = \@@_error:n { Unknown~key~for~package }
}
% \end{macrocode}
%
%
-% \bigskip
-% \begin{macrocode}
-\@@_msg_new:nn { moved~to~preamble }
- {
- The~key~'\l_keys_key_str'~*must*~now~be~used~with~
- \token_to_str:N \PitonOptions`in~the~preamble~of~your~
- document.\\
- That~key~will~be~ignored.
- }
-% \end{macrocode}
%
% \begin{macrocode}
\@@_msg_new:nn { Unknown~key~for~package }
@@ -2957,7 +3002,11 @@ piton_version = "3.0b" -- 2024/05/23
% \begin{macrocode}
\lua_now:n
{
- piton.ListCommands = lpeg.P ( false )
+ piton.BeamerCommands = lpeg.P ( "\\uncover" )
+ + "\\only" + "\\visible" + "\\invisible" + "\\alert" + "\\action"
+ piton.beamer_environments = { "uncoverenv" , "onlyenv" , "visibleenv" ,
+ "invisibleenv" , "alertenv" , "actionenv" }
+ piton.DetectedCommands = lpeg.P ( false )
piton.last_code = ''
piton.last_language = ''
}
@@ -3006,27 +3055,31 @@ piton_version = "3.0b" -- 2024/05/23
%
%
% \medskip
-% We will compute (with Lua) the numbers of lines of the Python code and store
+% We will compute (with Lua) the numbers of lines of the listings (or
+% \emph{chunks} of listings when |split-on-empty-lines| is in force) and store
% it in the following counter.
% \begin{macrocode}
\int_new:N \l_@@_nb_lines_int
% \end{macrocode}
%
-% The same for the number of non-empty lines of the Python codes.
+% The same for the number of non-empty lines of the listings.
% \begin{macrocode}
\int_new:N \l_@@_nb_non_empty_lines_int
% \end{macrocode}
%
% The following counter will be used to count the lines during the composition.
-% It will count all the lines, empty or not empty. It won't be used to print the
-% numbers of the lines.
+% It will take into account all the lines, empty or not empty. It won't be used
+% to print the numbers of the lines but will be used to allow or disallow line
+% breaks (when |splittable| is in force) and for the color of the background
+% (when |background-color| is used with a \emph{list} of colors).
% \begin{macrocode}
\int_new:N \g_@@_line_int
% \end{macrocode}
%
% \medskip
% The following token list will contain the (potential) information to write
-% on the |aux| (to be used in the next compilation).
+% on the |aux| (to be used in the next compilation). The technic of the
+% auxiliary file will be used when the key |width| is used with the value~|min|.
% \begin{macrocode}
\tl_new:N \g_@@_aux_tl
% \end{macrocode}
@@ -3034,26 +3087,31 @@ piton_version = "3.0b" -- 2024/05/23
% \medskip
% The following counter corresponds to the key |splittable| of |\PitonOptions|.
% If the value of |\l_@@_splittable_int| is equal to $n$, then no line break can
-% occur within the first $n$~lines or the last $n$~lines of the listings.
+% occur within the first $n$~lines or the last $n$~lines of a listing (or a
+% \emph{chunk} of listings when the key |split-on-empty-lines| is in force).
% \begin{macrocode}
\int_new:N \l_@@_splittable_int
% \end{macrocode}
%
% \medskip
+% An initial value of |splittable| equal to 100 is equivalent to say that the
+% environments |{Piton}| are unbreakable.
+% \begin{macrocode}
+\int_set:Nn \l_@@_splittable_int { 100 }
+% \end{macrocode}
+%
+% \medskip
% When the key |split-on-empty-lines| will be in force, then the following token
% list will be inserted between the chunks of code (the informatic code provided
-% by the final user is split in chunks on the empty lines in the code).
+% by the final user is split in chunks on the empty lines in the code).
% \begin{macrocode}
\tl_new:N \l_@@_split_separation_tl
-\tl_set:Nn \l_@@_split_separation_tl { \vspace{\baselineskip} \vspace{-1.25pt} }
+\tl_set:Nn \l_@@_split_separation_tl
+ { \vspace { \baselineskip } \vspace { -1.25pt } }
% \end{macrocode}
+% That parameter must contain elements to be inserted in \emph{vertical} mode by
+% TeX.
%
-% \medskip
-% An initial value of |splittable| equal to 100 is equivalent to say that the
-% environments |{Piton}| are unbreakable.
-% \begin{macrocode}
-\int_set:Nn \l_@@_splittable_int { 100 }
-% \end{macrocode}
%
%
% \medskip
@@ -3213,11 +3271,6 @@ piton_version = "3.0b" -- 2024/05/23
\dim_set:Nn \l_@@_numbers_sep_dim { 0.7 em }
% \end{macrocode}
%
-% \medskip
-% The tabulators will be replaced by the content of the following token list.
-% \begin{macrocode}
-\tl_new:N \l_@@_tab_tl
-% \end{macrocode}
%
% \medskip
% Be careful. The following sequence |\g_@@_languages_seq| is not the list of
@@ -3233,30 +3286,26 @@ piton_version = "3.0b" -- 2024/05/23
%
% \medskip
% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_tab_tl:n #1
- {
- \tl_clear:N \l_@@_tab_tl
- \prg_replicate:nn { #1 }
- { \tl_put_right:Nn \l_@@_tab_tl { ~ } }
- }
-\@@_set_tab_tl:n { 4 }
+\int_new:N \l_@@_tab_size_int
+\int_set:Nn \l_@@_tab_size_int { 4 }
% \end{macrocode}
%
-% \medskip
-% When the key |show-spaces| is in force, |\l_@@_tab_tl| will be replaced by an
-% arrow by using the following command.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_convert_tab_tl:
- {
- \hbox_set:Nn \l_tmpa_box { \l_@@_tab_tl }
- \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
- \tl_set:Nn \l_@@_tab_tl
+\cs_new_protected:Npn \@@_tab:
+ {
+ \bool_if:NTF \l_@@_show_spaces_bool
{
+ \hbox_set:Nn \l_tmpa_box
+ { \prg_replicate:nn \l_@@_tab_size_int { ~ } }
+ \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
\( \mathcolor { gray }
- { \hbox_to_wd:nn \l_tmpa_dim { \rightarrowfill } \) }
+ { \hbox_to_wd:nn \l_tmpa_dim { \rightarrowfill } } \)
}
+ { \hbox:n { \prg_replicate:nn \l_@@_tab_size_int { ~ } } }
+ \int_gadd:Nn \g_@@_indentation_int \l_@@_tab_size_int
}
% \end{macrocode}
+%
%
% \medskip
% The following integer corresponds to the key |gobble|.
@@ -3373,7 +3422,8 @@ piton_version = "3.0b" -- 2024/05/23
% \bigskip
% \subsubsection{Treatment of a line of code}
%
-% The following command is only used once.
+% The following command is only used once. We have written an autonomous function
+% only for legibility.
% \begin{macrocode}
\cs_new_protected:Npn \@@_replace_spaces:n #1
{
@@ -3444,14 +3494,14 @@ piton_version = "3.0b" -- 2024/05/23
{
\bool_if:nF
{
- \str_if_eq_p:nn { #1 } { \PitonStyle {Prompt}{} }
+ \str_if_eq_p:nn { #1 } { \PitonStyle { Prompt } { } }
&&
\l_@@_skip_empty_lines_bool
}
{ \int_gincr:N \g_@@_visual_line_int }
\bool_if:nT
{
- ! \str_if_eq_p:nn { #1 } { \PitonStyle {Prompt}{} }
+ ! \str_if_eq_p:nn { #1 } { \PitonStyle { Prompt } { } }
||
( ! \l_@@_skip_empty_lines_bool && \l_@@_label_empty_lines_bool )
}
@@ -3579,24 +3629,63 @@ piton_version = "3.0b" -- 2024/05/23
% \end{macrocode}
%
% \bigskip
+% The command |\@@_newline:| will be inserted by Lua between two lines of the
+% informatic listing.
+% \begin{itemize}
+% \item In fact, it will be inserted between two commands
+% |\@@_begin_line:|...|\@@_end_of_line:|.
+% \item When the key |break-lines-in-Piton| is in force, a line of the
+% informatic code (the \emph{input}) may result in several lines in the PDF (the
+% \emph{output}).
+% \item |\@@_newline:| has a rather complex behaviour because it may close and
+% open |\vtop|s and finish and start paragraphs.
+% \end{itemize}
% \begin{macrocode}
\cs_new_protected:Npn \@@_newline:
{
+% \end{macrocode}
+% We recall that |\g_@@_line_int| is \emph{not} used for the number of line
+% printed in the PDF (when |line-numbers| is in force)...
+% \begin{macrocode}
\int_gincr:N \g_@@_line_int
+% \end{macrocode}
+% ... it will be used to allow or disallow page breaks (the final user controls
+% that behaviour with the key |splittable|).
+% \begin{macrocode}
\int_compare:nNnT \g_@@_line_int > { \l_@@_splittable_int - 1 }
{
\int_compare:nNnT
- { \l_@@_nb_lines_int - \g_@@_line_int } > \l_@@_splittable_int
+ { \l_@@_nb_lines_int - \g_@@_line_int + 1 } > \l_@@_splittable_int
+% \end{macrocode}
+% Now, we allow a page break after the current line of code.
+% \begin{macrocode}
{
\egroup
\bool_if:NT \g_@@_footnote_bool \endsavenotes
- \par \mode_leave_vertical:
+ \par
+% \end{macrocode}
+% Each non-splittable block of lines is composed in a |\vtop| of
+% TeX inserted in a paragraph of TeX.
+% \begin{itemize}
+% \item In the previous lines, we have closed a |\vtop| (with |\egroup|) and a
+% paragraph (with |\par|).
+% \item Now, we start a new paragraph (with |\mode_leave_vertical:|) and open a
+% |\vtop| (with |\vtop \bgroup|).
+% \end{itemize}
+% \begin{macrocode}
+ \mode_leave_vertical:
\bool_if:NT \g_@@_footnote_bool \savenotes
\vtop \bgroup
+% \end{macrocode}
+% And, in that |\vtop|, of course, we will put a box for each line of the
+% informatic listing (but a line of the informatic listing may be formatted as a
+% box of several lines when |break-lines-in-Piton| is in force).
+% \begin{macrocode}
}
}
}
% \end{macrocode}
+% After the command |\@@_newline:|, we will have a command |\@@_begin_line:|.
%
% \bigskip
% \begin{macrocode}
@@ -3637,6 +3726,8 @@ piton_version = "3.0b" -- 2024/05/23
\bool_new:N \l_@@_skip_empty_lines_bool
\bool_set_true:N \l_@@_skip_empty_lines_bool
\bool_new:N \l_@@_line_numbers_absolute_bool
+\tl_new:N \l_@@_line_numbers_format_bool
+\tl_set:Nn \l_@@_line_numbers_format_tl { \footnotesize \color { gray } }
\bool_new:N \l_@@_label_empty_lines_bool
\bool_set_true:N \l_@@_label_empty_lines_bool
\int_new:N \l_@@_number_lines_start_int
@@ -3667,12 +3758,8 @@ piton_version = "3.0b" -- 2024/05/23
false .code:n = \bool_set_false:N \l_@@_line_numbers_bool ,
start .code:n =
- \bool_if:NTF \l_@@_in_PitonOptions_bool
- { Invalid~key }
- {
- \bool_set_true:N \l_@@_line_numbers_bool
- \int_set:Nn \l_@@_number_lines_start_int { #1 }
- } ,
+ \bool_set_true:N \l_@@_line_numbers_bool
+ \int_set:Nn \l_@@_number_lines_start_int { #1 } ,
start .value_required:n = true ,
skip-empty-lines .code:n =
@@ -3699,11 +3786,7 @@ piton_version = "3.0b" -- 2024/05/23
{
\bool_set_true:N \l_@@_line_numbers_absolute_bool
\bool_set_false:N \l_@@_skip_empty_lines_bool
- }
- \bool_lazy_or:nnF
- \l_@@_in_PitonInputFile_bool
- \l_@@_in_PitonOptions_bool
- { \@@_error:n { Invalid~key } } ,
+ } ,
absolute .value_forbidden:n = true ,
resume .code:n =
@@ -3715,6 +3798,9 @@ piton_version = "3.0b" -- 2024/05/23
sep .dim_set:N = \l_@@_numbers_sep_dim ,
sep .value_required:n = true ,
+ format .tl_set:N = \l_@@_line_numbers_format_tl ,
+ format .value_required:n = true ,
+
unknown .code:n = \@@_error:n { Unknown~key~for~line-numbers }
}
% \end{macrocode}
@@ -3730,9 +3816,17 @@ piton_version = "3.0b" -- 2024/05/23
% First, we put keys that should be available only in the preamble.
% \begin{macrocode}
detected-commands .code:n =
- \lua_now:n { piton.addListCommands('#1') } ,
+ \lua_now:n { piton.addDetectedCommands('#1') } ,
detected-commands .value_required:n = true ,
detected-commands .usage:n = preamble ,
+ detected-beamer-commands .code:n =
+ \lua_now:n { piton.addBeamerCommands('#1') } ,
+ detected-beamer-commands .value_required:n = true ,
+ detected-beamer-commands .usage:n = preamble ,
+ detected-beamer-environments .code:n =
+ \lua_now:n { piton.addBeamerEnvironments('#1') } ,
+ detected-beamer-environments .value_required:n = true ,
+ detected-beamer-environments .usage:n = preamble ,
% \end{macrocode}
%
% Remark that the command |\lua_escape:n| is fully expandable. That's why we use
@@ -3849,11 +3943,9 @@ piton_version = "3.0b" -- 2024/05/23
} ,
left-margin .value_required:n = true ,
- tab-size .code:n = \@@_set_tab_tl:n { #1 } ,
+ tab-size .int_set:N = \l_@@_tab_size_int ,
tab-size .value_required:n = true ,
- show-spaces .code:n =
- \bool_set_true:N \l_@@_show_spaces_bool
- \@@_convert_tab_tl: ,
+ show-spaces .bool_set:N = \l_@@_show_spaces_bool ,
show-spaces .value_forbidden:n = true ,
show-spaces-in-strings .code:n = \tl_set:Nn \l_@@_space_tl { ⣠} , % U+2423
show-spaces-in-strings .value_forbidden:n = true ,
@@ -3939,7 +4031,7 @@ piton_version = "3.0b" -- 2024/05/23
% When using |\NewPitonEnvironment| a user may use |\PitonOptions| inside.
% However, the set of keys available should be different that in standard
% |\PitonOptions|. That's why we define a version of |\PitonOptions| with no
-% restrection on the set of available keys and we will link that version to
+% restriction on the set of available keys and we will link that version to
% |\PitonOptions| in such environment.
% \begin{macrocode}
\NewDocumentCommand \@@_fake_PitonOptions { }
@@ -3954,7 +4046,9 @@ piton_version = "3.0b" -- 2024/05/23
%
% \medskip
% The following counter will be used to count the lines in the code when the
-% user requires the numbers of the lines to be printed (with |line-numbers|).
+% user requires the numbers of the lines to be printed (with |line-numbers|)
+% whereas the counter |\g_@@_line_int| previously defined is \emph{not} used for
+% that functionality.
%
% \begin{macrocode}
\int_new:N \g_@@_visual_line_int
@@ -3974,9 +4068,12 @@ piton_version = "3.0b" -- 2024/05/23
\hbox_overlap_left:n
{
{
- \color { gray }
- \footnotesize
- \int_to_arabic:n \g_@@_visual_line_int
+ \l_@@_line_numbers_format_tl
+% \end{macrocode}
+% We put braces. Thus, the user may use the key |line-numbers/format| with a
+% value such as |\fbox|.
+% \begin{macrocode}
+ { \int_to_arabic:n \g_@@_visual_line_int }
}
\skip_horizontal:N \l_@@_numbers_sep_dim
}
@@ -4164,18 +4261,29 @@ piton_version = "3.0b" -- 2024/05/23
\NewDocumentCommand { \@@_piton_standard } { m }
{
\group_begin:
- \ttfamily
% \end{macrocode}
% The following tuning of LuaTeX in order to avoid all break of lines on the
% hyphens.
% \begin{macrocode}
\automatichyphenmode = 1
+% \end{macrocode}
+% Remark that the argument of |\piton| (with the normal syntax) is expanded in
+% the TeX sens, (see the |\tl_set:Nx| below) and that's why we can provide the
+% following escapes to the final user:
+% \begin{macrocode}
\cs_set_eq:NN \\ \c_backslash_str
\cs_set_eq:NN \% \c_percent_str
\cs_set_eq:NN \{ \c_left_brace_str
\cs_set_eq:NN \} \c_right_brace_str
\cs_set_eq:NN \$ \c_dollar_str
+% \end{macrocode}
+% The standard command |\â£| is \emph{not} expandable and we need here expandable
+% commands. With the following code, we define an expandable command.
+% \begin{macrocode}
\cs_set_eq:cN { ~ } \space
+% \end{macrocode}
+%
+% \begin{macrocode}
\cs_set_protected:Npn \@@_begin_line: { }
\cs_set_protected:Npn \@@_end_line: { }
\tl_set:Nx \l_tmpa_tl
@@ -4196,7 +4304,14 @@ piton_version = "3.0b" -- 2024/05/23
\bool_if:NT \l_@@_break_lines_in_piton_bool
{ \regex_replace_all:nnN { \x20 } { \x20 } \l_tmpa_tl }
}
- \l_tmpa_tl
+% \end{macrocode}
+% The command |\text| is provided by the package \pkg{amstext} (loaded by \pkg{piton}).
+% \begin{macrocode}
+ \if_mode_math:
+ \text { \ttfamily \l_tmpa_tl }
+ \else:
+ \ttfamily \l_tmpa_tl
+ \fi:
\group_end:
}
% \end{macrocode}
@@ -4273,34 +4388,9 @@ piton_version = "3.0b" -- 2024/05/23
\cs_new_protected:Npn \@@_piton_no_cr:n #1
{
\group_begin:
- \cs_set_protected:Npn \@@_begin_line: { }
- \cs_set_protected:Npn \@@_end_line: { }
- \cs_set:cpn { pitonStyle _ \l_piton_language_str _ Prompt } { }
- \cs_set:cpn { pitonStyle _ Prompt } { }
\cs_set_protected:Npn \@@_newline:
{ \msg_fatal:nn { piton } { cr~not~allowed } }
- \bool_lazy_or:nnTF
- \l_@@_break_lines_in_piton_bool
- \l_@@_break_lines_in_Piton_bool
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \lua_now:e
- { piton.ParseTer('\l_piton_language_str',token.scan_string()) }
- { #1 }
- }
- }
- {
- \tl_set:Nx \l_tmpa_tl
- {
- \lua_now:e
- { piton.Parse('\l_piton_language_str',token.scan_string()) }
- { #1 }
- }
- }
- \bool_if:NT \l_@@_show_spaces_bool
- { \regex_replace_all:nnN { \x20 } { ⣠} \l_tmpa_tl } % U+2423
- \l_tmpa_tl
+ \@@_piton:n { #1 }
\group_end:
}
% \end{macrocode}
@@ -4347,7 +4437,7 @@ piton_version = "3.0b" -- 2024/05/23
{
\hbox_set:Nn \l_tmpa_box
{
- \footnotesize
+ \l_@@_line_numbers_format_tl
\bool_if:NTF \l_@@_skip_empty_lines_bool
{
\lua_now:n
@@ -4448,14 +4538,7 @@ piton_version = "3.0b" -- 2024/05/23
}
{
\group_end:
- \mode_if_vertical:TF \mode_leave_vertical: \newline
-% \end{macrocode}
-% We count with Lua the number of lines of the argument. The result will be
-% stored by Lua in |\l_@@_nb_lines_int|. That information will be used to allow
-% or disallow page breaks. The use of |token.scan_argument| avoids problems with
-% the delimiters of the Lua string.
-% \begin{macrocode}
- \lua_now:n { piton.CountLines(token.scan_argument()) } { ##1 }
+ \mode_if_vertical:TF { \noindent \mode_leave_vertical: } \newline
% \end{macrocode}
% The first argument of the following function is the name of the Lua function
% that will be applied to the second argument in order to count the number of lines.
@@ -4463,7 +4546,8 @@ piton_version = "3.0b" -- 2024/05/23
\@@_compute_left_margin:nn { CountNonEmptyLines } { ##1 }
\@@_compute_width:
\ttfamily
- \dim_zero:N \parskip
+ \dim_zero:N \parskip
+ \noindent % added 2024/08/07
% \end{macrocode}
%
% Now, the key |write|.
@@ -4545,7 +4629,7 @@ piton_version = "3.0b" -- 2024/05/23
% \bigskip
% The following function will be used when the key |split-on-empty-lines| is not
% in force. It will gobble the spaces at the beginning of the lines and parse
-% the code. The argument is provided by curryfication.
+% the code. The argument is provided by curryfication.
% \begin{macrocode}
\cs_new_protected:Npn \@@_gobble_parse:n
{
@@ -4726,7 +4810,6 @@ piton_version = "3.0b" -- 2024/05/23
\@@_compute_left_margin:no { CountNonEmptyLinesFile } \l_@@_file_name_str
\@@_compute_width:
\ttfamily
- % \leavevmode
\lua_now:e
{
piton.ParseFile(
@@ -4881,8 +4964,6 @@ piton_version = "3.0b" -- 2024/05/23
{
String .meta:n = { String.Long = #1 , String.Short = #1 } ,
Comment.Math .tl_set:c = pitonStyle _ Comment.Math ,
- ParseAgain .tl_set:c = pitonStyle _ ParseAgain ,
- ParseAgain .value_required:n = true ,
ParseAgain.noCR .tl_set:c = pitonStyle _ ParseAgain.noCR ,
ParseAgain.noCR .value_required:n = true ,
unknown .code:n =
@@ -4950,13 +5031,12 @@ piton_version = "3.0b" -- 2024/05/23
UserFunction = ,
Prompt = ,
ParseAgain.noCR = \@@_piton_no_cr:n ,
- ParseAgain = \@@_piton:n ,
Discard = \use_none:n
}
% \end{macrocode}
-% The last styles |ParseAgain.noCR| and |ParseAgain| should be considered as
+% The styles |ParseAgain.noCR| should be considered as
% ``internal style'' (not available for the final user). However, maybe we will
-% change that and document these styles for the final user (why not?).
+% change that and document that style for the final user.
%
% \medskip
% If the key |math-comments| has been used at load-time, we change the style
@@ -5215,8 +5295,11 @@ piton_version = "3.0b" -- 2024/05/23
}
% \end{macrocode}
%
+% We don't give the name |syntax error| for the following error because you
+% should not give a name with a space because such space could be replaced by
+% U+2423 when the key |show-spaces| is in force in the command |\piton|.
% \begin{macrocode}
-\@@_msg_new:nn { syntax~error }
+\@@_msg_new:nn { SyntaxError }
{
Your~code~of~the~language~"\l_piton_language_str"~is~not~
syntactically~correct.\\
@@ -5274,6 +5357,8 @@ piton_version = "3.0b" -- 2024/05/23
break-lines-in-Piton,~
continuation-symbol,~
continuation-symbol-on-indentation,~
+ detected-beamer-commands,~
+ detected-beamer-environments,~
detected-commands,~
end-of-broken-line,~
end-range,~
@@ -5386,8 +5471,28 @@ piton_version = "3.0b" -- 2024/05/23
% \begin{macrocode}
F = space ^ 0 * ( ( alpha ^ 1 ) / "\\%0" ) * space ^ 0
}
- function piton.addListCommands( key_value )
- piton.ListCommands = piton.ListCommands + my_lpeg : match ( key_value )
+ function piton.addDetectedCommands( key_value )
+ piton.DetectedCommands = piton.DetectedCommands + my_lpeg : match ( key_value )
+ end
+ function piton.addBeamerCommands( key_value )
+ piton.BeamerCommands
+ = piton.BeamerCommands + my_lpeg : match ( key_value )
+ end
+% \end{macrocode}
+%
+% \begin{macrocode}
+ local function insert(...)
+ local s = piton.beamer_environments
+ for _ , x in ipairs({...}) do table.insert(s,x) end
+ return s
+ end
+ local my_lpeg_bis =
+ P { "E" ,
+ E = ( V "F" * ( "," * V "F" ) ^ 0 ) / insert ,
+ F = space ^ 0 * ( alpha ^ 1 ) * space ^ 0
+ }
+ function piton.addBeamerEnvironments( key_value )
+ piton.beamer_environments = my_lpeg_bis : match ( key_value )
end
\end{luacode*}
%</STY>
@@ -5411,23 +5516,11 @@ piton.comment_latex = "#" .. piton.comment_latex
% \end{macrocode}
%
%
-% \bigskip
-% The following functions are an easy way to safely insert braces (|{| and |}|)
-% in the TeX flow.
-% \begin{macrocode}
-function piton.open_brace ()
- tex.sprint("{")
-end
-function piton.close_brace ()
- tex.sprint("}")
-end
-% \end{macrocode}
-%
% \begin{macrocode}
local function sprintL3 ( s )
tex.sprint ( luatexbase.catcodetables.expl , s )
end
-% \end{uncoverenv}
+% \end{macrocode}
%
% \bigskip
% \subsubsection{Special functions dealing with LPEG}
@@ -5648,7 +5741,7 @@ local SkipSpace = Q " " ^ 0
local Punct = Q ( S ".,:;!" )
-local Tab = "\t" * Lc "\\l_@@_tab_tl"
+local Tab = "\t" * Lc "\\@@_tab:"
% \end{macrocode}
%
% \bigskip
@@ -5687,7 +5780,8 @@ local LPEG_cleaner = { }
% present in strings of the language. However, the syntax for the strings is
% language-dependent. That's why we write a Lua function |Compute_braces| which
% will compute the pattern by taking in as argument a pattern for the strings of
-% the language (at least the shorts strings).
+% the language (at least the shorts strings). The argument of |Compute_braces|
+% must be a pattern \emph{which does no catching}.
% \begin{macrocode}
local function Compute_braces ( lpeg_string ) return
P { "E" ,
@@ -5703,16 +5797,19 @@ local function Compute_braces ( lpeg_string ) return
end
% \end{macrocode}
%
+%
+%
% \bigskip
% The following Lua function will compute the \text{lpeg} |DetectedCommands|
% which is a \textsc{lpeg} with captures).
% \begin{macrocode}
local function Compute_DetectedCommands ( lang , braces ) return
Ct ( Cc "Open"
- * C ( piton.ListCommands * P "{" )
+ * C ( piton.DetectedCommands * P "{" )
* Cc "}"
)
- * ( braces / (function ( s ) return LPEG1[lang] : match ( s ) end ) )
+ * ( braces
+ / ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* P "}"
* Ct ( Cc "Close" )
end
@@ -5721,9 +5818,10 @@ end
% \bigskip
% \begin{macrocode}
local function Compute_LPEG_cleaner ( lang , braces ) return
- Ct ( ( piton.ListCommands * "{"
- * ( braces
- / ( function ( s ) return LPEG_cleaner[lang] : match ( s ) end ) )
+ Ct ( ( piton.DetectedCommands * "{"
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG_cleaner[lang] : match ( s ) end end ) )
* "}"
+ EscapeClean
+ C ( P ( 1 ) )
@@ -5744,28 +5842,20 @@ local BeamerBeginEnvironments = P ( true )
local BeamerEndEnvironments = P ( true )
% \end{macrocode}
%
-% \bigskip
-% \begin{macrocode}
-local list_beamer_env =
- { "uncoverenv" , "onlyenv" , "visibleenv" ,
- "invisibleenv" , "alertenv" , "actionenv" }
-% \end{macrocode}
-%
-% \bigskip
% \begin{macrocode}
-local BeamerNamesEnvironments = P ( false )
-for _ , x in ipairs ( list_beamer_env ) do
- BeamerNamesEnvironments = BeamerNamesEnvironments + x
+piton.BeamerEnvironments = P ( false )
+for _ , x in ipairs ( piton.beamer_environments ) do
+ piton.BeamerEnvironments = piton.BeamerEnvironments + x
end
% \end{macrocode}
-%
+%
% \bigskip
% \begin{macrocode}
BeamerBeginEnvironments =
( space ^ 0 *
L
(
- P "\\begin{" * BeamerNamesEnvironments * "}"
+ P "\\begin{" * piton.BeamerEnvironments * "}"
* ( "<" * ( 1 - P ">" ) ^ 0 * ">" ) ^ -1
)
* "\r"
@@ -5776,11 +5866,12 @@ BeamerBeginEnvironments =
% \begin{macrocode}
BeamerEndEnvironments =
( space ^ 0 *
- L ( P "\\end{" * BeamerNamesEnvironments * "}" )
+ L ( P "\\end{" * piton.BeamerEnvironments * "}" )
* "\r"
) ^ 0
% \end{macrocode}
%
+%
%
% \bigskip
% The following Lua function will be used to compute the \textsc{lpeg} |Beamer|
@@ -5795,14 +5886,14 @@ local function Compute_Beamer ( lang , braces )
local lpeg = L ( P "\\pause" * ( "[" * ( 1 - P "]" ) ^ 0 * "]" ) ^ -1 )
lpeg = lpeg +
Ct ( Cc "Open"
- * C ( ( P "\\uncover" + "\\only" + "\\alert" + "\\visible"
- + "\\invisible" + "\\action" )
+ * C ( piton.BeamerCommands
* ( "<" * ( 1 - P ">" ) ^ 0 * ">" ) ^ -1
* P "{"
)
* Cc "}"
)
- * ( braces / ( function ( s ) return LPEG1[lang] : match ( s ) end ) )
+ * ( braces /
+ ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* "}"
* Ct ( Cc "Close" )
% \end{macrocode}
@@ -5814,29 +5905,38 @@ local function Compute_Beamer ( lang , braces )
% \begin{macrocode}
lpeg = lpeg +
L ( P "\\alt" * "<" * ( 1 - P ">" ) ^ 0 * ">" * "{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces /
+ ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces /
+ ( function ( s ) if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}" )
% \end{macrocode}
%
% \bigskip
-% For |\\temporal|, the specification of the overlays (between angular brackets) is mandatory.
+% For |\\temporal|, the specification of the overlays (between angular brackets)
+% is mandatory.
% \begin{macrocode}
lpeg = lpeg +
L ( ( P "\\temporal" ) * "<" * ( 1 - P ">" ) ^ 0 * ">" * "{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}{" )
- * K ( 'ParseAgain.noCR' , braces )
+ * ( braces
+ / ( function ( s )
+ if s ~= '' then return LPEG1[lang] : match ( s ) end end ) )
* L ( P "}" )
% \end{macrocode}
%
% \bigskip
% Now, the environments of Beamer.
% \begin{macrocode}
- for _ , x in ipairs ( list_beamer_env ) do
+ for _ , x in ipairs ( piton.beamer_environments ) do
lpeg = lpeg +
Ct ( Cc "Open"
* C (
@@ -5847,7 +5947,11 @@ local function Compute_Beamer ( lang , braces )
)
* (
( ( 1 - P ( "\\end{" .. x .. "}" ) ) ^ 0 )
- / ( function ( s ) return LPEG1[lang] : match ( s ) end )
+ / ( function ( s )
+ if s ~= ''
+ then return LPEG1[lang] : match ( s )
+ end
+ end )
)
* P ( "\\end{" .. x .. "}" )
* Ct ( Cc "Close" )
@@ -5959,6 +6063,17 @@ local Operator =
local OperatorWord =
K ( 'Operator.Word' , P "in" + "is" + "and" + "or" + "not" )
+% \end{macrocode}
+%
+% \smallskip
+% The keyword |in| in a construction such as ``|for i in range(n)|'' must be
+% formatted as a keyword and not as an |Operator.Word|.
+% \begin{macrocode}
+local For = K ( 'Keyword' , P "for" )
+ * Space
+ * Identifier
+ * Space
+ * K ( 'Keyword' , P "in" )
local Keyword =
K ( 'Keyword' ,
@@ -6195,15 +6310,18 @@ local ShortString = SingleShortString + DoubleShortString
% \bigskip
% \paragraph{Beamer}
%
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+%
% \begin{macrocode}
local braces =
Compute_braces
(
- Q ( P "\"" + "r\"" + "R\"" + "f\"" + "F\"" )
- * ( "\"" * ( P "\\\"" + 1 - S "\"" ) ^ 0 * "\"" )
+ ( P "\"" + "r\"" + "R\"" + "f\"" + "F\"" )
+ * ( P "\\\"" + 1 - S "\"" ) ^ 0 * "\""
+
- Q ( P '\'' + 'r\'' + 'R\'' + 'f\'' + 'F\'' )
- * ( '\'' * ( P '\\\'' + 1 - S '\'' ) ^ 0 * '\'' )
+ ( P '\'' + 'r\'' + 'R\'' + 'f\'' + 'F\'' )
+ * ( P '\\\'' + 1 - S '\'' ) ^ 0 * '\''
)
if piton.beamer then Beamer = Compute_Beamer ( 'python' , braces ) end
% \end{macrocode}
@@ -6379,8 +6497,8 @@ local DefFunction =
* SkipSpace
* ( Q "->" * SkipSpace * K ( 'Name.Type' , identifier ) ) ^ -1
% \end{macrocode}
-% Here, we need a \pkg{piton} style |ParseAgain| which will be linked to
-% |\@@_piton:n| (that means that the capture will be parsed once again by
+% Here, we need a \pkg{piton} style |ParseAgain.noCR| which will be linked to
+% |\@@_piton_no_cr:n| (that means that the capture will be parsed once again by
% \pkg{piton}). We could avoid that kind of trick by using a non-terminal of a
% grammar but we have probably here a better legibility.
% \begin{macrocode}
@@ -6413,12 +6531,16 @@ local ExceptionInConsole = Exception * Q ( ( 1 - P "\r" ) ^ 0 ) * EOL
% \bigskip
% \paragraph{The main LPEG for the language Python}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ -- space ^ 1 * -1
+ -- + space ^ 0 * EOL
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -6429,16 +6551,17 @@ local Main =
+ ExceptionInConsole
+ Delim
+ Operator
- + OperatorWord * ( Space + Punct + Delim + EOL + -1 )
+ + OperatorWord * EndKeyword
+ ShortString
+ Punct
+ FromImport
+ RaiseException
+ DefFunction
+ DefClass
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
+ + For
+ + Keyword * EndKeyword
+ Decorator
- + Builtin * ( Space + Punct + Delim + EOL + -1 )
+ + Builtin * EndKeyword
+ Identifier
+ Number
+ Word
@@ -6464,7 +6587,7 @@ LPEG2['python'] =
* Lc '\\@@_begin_line:'
* Prompt
* SpaceIndentation ^ 0
- * LPEG1['python']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc '\\@@_end_line:'
)
@@ -6555,7 +6678,7 @@ local DotNotation =
(
K ( 'Name.Module' , cap_identifier )
* Q "."
- * ( Identifier + Constructor + Q "(" + Q "[" + Q "{" )
+ * ( Identifier + Constructor + Q "(" + Q "[" + Q "{" ) ^ ( -1 )
+
Identifier
* Q "."
@@ -6613,10 +6736,13 @@ local Char =
% \paragraph{Beamer}
%
% \bigskip
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+%
% \begin{macrocode}
-braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
+local braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
if piton.beamer then
- Beamer = Compute_Beamer ( 'ocaml' , "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
+ Beamer = Compute_Beamer ( 'ocaml' , braces ) -- modified 2024/07/24
end
% \end{macrocode}
%
@@ -6826,12 +6952,14 @@ local TypeParameter = K ( 'TypeParameter' , "'" * alpha * # ( 1 - P "'" ) )
% \bigskip
% \paragraph{The main LPEG for the language OCaml}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ Beamer
@@ -6847,9 +6975,9 @@ local Main =
+ DefFunction
+ DefModule
+ Record
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
- + OperatorWord * ( Space + Punct + Delim + EOL + -1 )
- + Builtin * ( Space + Punct + Delim + EOL + -1 )
+ + Keyword * EndKeyword
+ + OperatorWord * EndKeyword
+ + Builtin * EndKeyword
+ DotNotation
+ Constructor
+ Identifier
@@ -6872,7 +7000,7 @@ LPEG2['ocaml'] =
* BeamerBeginEnvironments
* Lc '\\@@_begin_line:'
* SpaceIndentation ^ 0
- * LPEG1['ocaml']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc '\\@@_end_line:'
)
@@ -6970,8 +7098,10 @@ String =
% \paragraph{Beamer}
%
% \bigskip
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
% \begin{macrocode}
-braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
+local braces = Compute_braces ( "\"" * ( 1 - S "\"" ) ^ 0 * "\"" )
if piton.beamer then Beamer = Compute_Beamer ( 'c' , braces ) end
% \end{macrocode}
%
@@ -7015,12 +7145,14 @@ local LongComment =
% \bigskip
% \paragraph{The main LPEG for the language C}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -7034,9 +7166,9 @@ local Main =
+ Punct
+ DefFunction
+ DefClass
- + Type * ( Q "*" ^ -1 + Space + Punct + Delim + EOL + -1 )
- + Keyword * ( Space + Punct + Delim + EOL + -1 )
- + Builtin * ( Space + Punct + Delim + EOL + -1 )
+ + Type * ( Q "*" ^ -1 + EndKeyword )
+ + Keyword * EndKeyword
+ + Builtin * EndKeyword
+ Identifier
+ Number
+ Word
@@ -7060,7 +7192,7 @@ LPEG2['c'] =
* BeamerBeginEnvironments
* Lc '\\@@_begin_line:'
* SpaceIndentation ^ 0
- * LPEG1['c']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc '\\@@_end_line:'
)
@@ -7164,8 +7296,11 @@ local String = K ( 'String.Long' , "'" * ( 1 - P "'" ) ^ 1 * "'" )
% \paragraph{Beamer}
%
% \bigskip
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+%
% \begin{macrocode}
-braces = Compute_braces ( String )
+local braces = Compute_braces ( "'" * ( 1 - P "'" ) ^ 1 * "'" )
if piton.beamer then Beamer = Compute_Beamer ( 'sql' , braces ) end
% \end{macrocode}
%
@@ -7203,6 +7338,9 @@ local LongComment =
% \bigskip
% \paragraph{The main LPEG for the language SQL}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
%
% \begin{macrocode}
local TableField =
@@ -7245,13 +7383,15 @@ local WeCatchTableNames =
* ( Space + EOL ) * OneTable
% \end{macrocode}
%
+% \begin{macrocode}
+local EndKeyword = Space + Punct + Delim + EOL + Beamer + DetectedCommands + -1
+% \end{macrocode}
+%
%
% First, the main loop :
% \begin{macrocode}
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -7286,7 +7426,7 @@ LPEG2['sql'] =
* BeamerBeginEnvironments
* Lc [[ \@@_begin_line: ]]
* SpaceIndentation ^ 0
- * LPEG1['sql']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc [[ \@@_end_line: ]]
)
@@ -7314,7 +7454,12 @@ local String =
* Q "\""
)
-braces = Compute_braces ( String )
+% \end{macrocode}
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+% \begin{macrocode}
+local braces = Compute_braces ( P "\"" * ( P "\\\"" + 1 - P "\"" ) ^ 1 * "\"" )
+
if piton.beamer then Beamer = Compute_Beamer ( 'minimal' , braces ) end
DetectedCommands = Compute_DetectedCommands ( 'minimal' , braces )
@@ -7328,9 +7473,7 @@ local Identifier = K ( 'Identifier' , identifier )
local Delim = Q ( S "{[()]}" )
local Main =
- space ^ 1 * -1
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -7352,7 +7495,7 @@ LPEG2['minimal'] =
* BeamerBeginEnvironments
* Lc [[ \@@_begin_line: ]]
* SpaceIndentation ^ 0
- * LPEG1['minimal']
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc [[ \@@_end_line: ]]
)
@@ -7373,7 +7516,7 @@ function piton.Parse ( language , code )
local t = LPEG2[language] : match ( code )
if t == nil
then
- sprintL3 [[ \@@_error_or_warning:n { syntax~error } ]]
+ sprintL3 [[ \@@_error_or_warning:n { SyntaxError } ]]
return -- to exit in force the function
end
local left_stack = {}
@@ -7394,14 +7537,14 @@ function piton.Parse ( language , code )
%
% Here is an example of an item beginning with |"Open"|.
%
-% |{ "Open" , "\begin{uncover}<2>" , "\end{cover}" }|
+% |{ "Open" , "\begin{uncover}<2>" , "\end{uncover}" }|
%
% In order to deal with the ends of lines, we have to close the environment
-% (|{cover}| in this example) at the end of each line and reopen it at the
+% (|{uncover}| in this example) at the end of each line and reopen it at the
% beginning of the new line. That's why we use two Lua stacks, called
% |left_stack| and |right_stack|. |left_stack| will be for the elements like
% |\begin{uncover}<2>| and |right_stack| will be for the elements like
-% |\end{cover}|.
+% |\end{uncover}|.
% \begin{macrocode}
if one_item[1] == "Open" then
tex.sprint( one_item[2] )
@@ -7606,11 +7749,30 @@ function piton.GobbleParse ( lang , n , code )
piton.last_code = gobble ( n , code )
piton.last_language = lang
% \end{macrocode}
+% We count the number of lines of the informatic code. The result will be stored
+% by Lua in |\l_@@_nb_lines_int|. That information will be used to allow or
+% disallow page breaks (when |splittable| is in force).
+% \begin{macrocode}
+ piton.CountLines ( piton.last_code )
+ sprintL3 [[ \bool_if:NT \g_@@_footnote_bool \savenotes ]]
+% \end{macrocode}
+% We begin a |\vtop| for an non-splittable block of lines.
% \begin{macrocode}
- sprintL3 [[ \bool_if:NT \g_@@_footnote_bool \savenotes \vtop \bgroup ]]
+ sprintL3 [[ \vtop \bgroup ]]
piton.Parse ( lang , piton.last_code )
- sprintL3
- [[\vspace{2.5pt}\egroup\bool_if:NT\g_@@_footnote_bool\endsavenotes\par]]
+% \end{macrocode}
+% We close the latest opened |\vtop| with the following |\egroup|. Be careful:
+% that |\vtop| is \emph{not} necessarily the |\vtop| opened two lines above
+% because the commands |\@@_newline:| inserted by Lua may open and close
+% |\vtop|s and start and finish paragraphs (when |splittable| is in force).
+% \begin{macrocode}
+ sprintL3 [[ \vspace{2.5pt} \egroup ]]
+ sprintL3 [[ \bool_if:NT \g_@@_footnote_bool \endsavenotes ]]
+% \end{macrocode}
+% We finish the paragraph (each block of non-splittable lines of code is
+% composed in a |\vtop| inserted in a paragraph).
+% \begin{macrocode}
+ sprintL3 [[ \par ]]
% \end{macrocode}
%
% Now, if the final user has used the key |write| to write the code of the
@@ -7628,7 +7790,9 @@ end
% The following function will be used when the key |split-on-empty-lines| is in
% force. With that key, the informatic code is split in chunks at the empty
% lines (usually between the informatic functions defined in the informatic
-% code). LaTeX will be able to change the page between the chunks.
+% code). LaTeX will be able to change the page between the chunks. The second
+% argument |n| corresponds to the value of the key |gobble| (number of spaces to
+% gobble).
% \begin{macrocode}
function piton.GobbleSplitParse ( lang , n , code )
P { "E" ,
@@ -7637,7 +7801,7 @@ function piton.GobbleSplitParse ( lang , n , code )
/ ( function ( x ) sprintL3 [[ \@@_incr_visual_line: ]] end )
) ^ 1
/ ( function ( x )
- sprintL3 [[ \l_@@_split_separation_tl \int_gzero:N \g_@@_line_int ]]
+ sprintL3 ( piton.string_between_chunks )
end )
) ^ 0 * V "F" ,
% \end{macrocode}
@@ -7645,7 +7809,7 @@ function piton.GobbleSplitParse ( lang , n , code )
% \begin{macrocode}
F = C ( V "G" ^ 0 )
% \end{macrocode}
-% The second argument of |.pitonGobbleParse| is the argument |gobble|: we put
+% The second argument of |piton.GobbleSplitParse| is the argument |gobble|: we put
% that argument to~$0$ because we will have gobbled previously the whole argument
% |code| (see below).
% \begin{macrocode}
@@ -7654,10 +7818,24 @@ function piton.GobbleSplitParse ( lang , n , code )
% The non-terminal |G| corresponds to a non-empty line of code.
% \begin{macrocode}
G = ( 1 - P "\r" ) ^ 0 * "\r" - ( P " " ^ 0 * "\r" )
+ + ( ( 1 - P "\r" ) ^ 1 * -1 - ( P " " ^ 0 * -1 ) )
} : match ( gobble ( n , code ) )
end
% \end{macrocode}
%
+% \bigskip
+% The following Lua string will be inserted between the chunks of code created
+% when the key |split-on-empty-lines| is in force. It's used only once: you have
+% given a name to that Lua string only for legibily. The token list
+% |\l_@@_split_separation_tl| corresponds to the key |split-separation|. That
+% token list must contain elements inserted in \emph{vertical mode} of TeX.
+% \begin{macrocode}
+piton.string_between_chunks =
+ [[ \par \l_@@_split_separation_tl \mode_leave_vertical: ]]
+ .. [[ \int_gzero:N \g_@@_line_int ]]
+% \end{macrocode}
+% The counter |\g_@@_line_int| will be used to control the points where the code
+% may be broken by a change of page (see the key |splittable|).
%
% \bigskip
% The following public Lua function is provided to the developer.
@@ -7672,14 +7850,23 @@ end
% \subsubsection{To count the number of lines}
%
% \medskip
+% The following function is only used once (in |piton.GobbleParse|). We have
+% written an autonomous function only for legibility. The number of lines of the
+% code will be stored in |\l_@@_nb_lines_int| and will be used to allow or
+% disallow line breaks (when |splittable| is in force).
% \begin{macrocode}
function piton.CountLines ( code )
local count = 0
for i in code : gmatch ( "\r" ) do count = count + 1 end
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_lines_int { ]] .. count .. '}' )
+ sprintL3 ( string.format ( [[ \int_set:Nn \l_@@_nb_lines_int { % i } ]] , count ) )
end
% \end{macrocode}
%
+% \bigskip
+% The following function is only used once (in |piton.GobbleParse|). We have
+% written an autonomous function only for legibility. The number of lines of the
+% code will be stored in |\l_@@_nb_non_empty_lines_int|. It will be used to
+% compute the largest number of lines to write (when |line-numbers| is in force).
% \begin{macrocode}
function piton.CountNonEmptyLines ( code )
local count = 0
@@ -7690,7 +7877,8 @@ function piton.CountNonEmptyLines ( code )
* -1
) / table.getn
) : match ( code )
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { ]] .. count .. '}' )
+ sprintL3
+ ( string.format ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { % i } ]] , count ) )
end
% \end{macrocode}
%
@@ -7699,7 +7887,8 @@ end
function piton.CountLinesFile ( name )
local count = 0
for line in io.lines ( name ) do count = count + 1 end
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_lines_int { ]] .. count .. '}' )
+ sprintL3
+ ( string.format ( [[ \int_set:Nn \l_@@_nb_lines_int { %i } ]], count))
end
% \end{macrocode}
%
@@ -7713,7 +7902,8 @@ function piton.CountNonEmptyLinesFile ( name )
count = count + 1
end
end
- sprintL3 ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { ]] .. count .. '}' )
+ sprintL3
+ ( string.format ( [[ \int_set:Nn \l_@@_nb_non_empty_lines_int { % i } ]] , count ) )
end
% \end{macrocode}
%
@@ -7813,7 +8003,7 @@ function piton.new_language ( lang , definition )
% |tag| (mainly for the language \textsc{html}) for the character |/| in the
% closing tags |</....>|).
% \begin{macrocode}
- other = other + P "c"
+ other = other + P ( c )
end
end
% \end{macrocode}
@@ -8046,6 +8236,7 @@ function piton.new_language ( lang , definition )
% the strings.
% \begin{macrocode}
local long_string = P ( false )
+ local Long_string = P ( false )
local LongString = P (false )
local central_pattern = P ( false )
for _ , x in ipairs ( def_table ) do
@@ -8072,7 +8263,15 @@ function piton.new_language ( lang , definition )
else prefix = P ( true )
end
% \end{macrocode}
-% We can write the pattern which matches the string.
+% First, a pattern \emph{without captures} (needed to compute |braces|).
+% \begin{macrocode}
+ long_string = long_string +
+ prefix
+ * arg3
+ * ( space + central_pattern ) ^ 0
+ * arg4
+% \end{macrocode}
+% Now a pattern \emph{with captures}.
% \begin{macrocode}
local pattern =
prefix
@@ -8080,18 +8279,20 @@ function piton.new_language ( lang , definition )
* ( VisualSpace + Q ( central_pattern ^ 1 ) + EOL ) ^ 0
* Q ( arg4 )
% \end{macrocode}
-% First, we create |long_string| because we need that \textsc{lpeg} in the
-% nested comments.
+% We will need |Long_string| in the nested comments.
% \begin{macrocode}
- long_string = long_string + pattern
+ Long_string = Long_string + pattern
LongString = LongString +
Ct ( Cc "Open" * Cc ( "{" .. arg2 .. "{" ) * Cc "}}" )
* pattern
* Ct ( Cc "Close" )
end
end
-
- local braces = Compute_braces ( String )
+% \end{macrocode}
+% The argument of |Compute_braces| must be a pattern \emph{which does no
+% catching} corresponding to the strings of the language.
+% \begin{macrocode}
+ local braces = Compute_braces ( long_string )
if piton.beamer then Beamer = Compute_Beamer ( lang , braces ) end
DetectedCommands = Compute_DetectedCommands ( lang , braces )
@@ -8208,12 +8409,7 @@ function piton.new_language ( lang , definition )
%
% \begin{macrocode}
local Main =
- space ^ 1 * -1
-% \end{macrocode}
-% The spaces at the end of the lines are discarded.
-% \begin{macrocode}
- + space ^ 0 * EOL
- + Space
+ Space
+ Tab
+ Escape + EscapeMath
+ CommentLaTeX
@@ -8249,7 +8445,7 @@ function piton.new_language ( lang , definition )
* BeamerBeginEnvironments
* Lc [[\@@_begin_line:]]
* SpaceIndentation ^ 0
- * LPEG1[lang]
+ * ( space ^ 1 * -1 + space ^ 0 * EOL + Main ) ^ 0
* -1
* Lc [[\@@_end_line:]]
)
@@ -8327,6 +8523,12 @@ end
%
% \verb|https://github.com/fpantigny/piton|
%
+% \subsection*{Changes between versions 3.0 and 3.1}
+%
+% Keys |line-numbers/format|, |detected-beamer-commands| and
+% |detected-beamer-environments|.
+%
+%
% \subsection*{Changes between versions 2.8 and 3.0}
%
% New command |\NewPitonLanguage|. Thanks to that command, it's now possible to
@@ -8396,61 +8598,6 @@ end
% The key |escape-inside| is deprecated: use |begin-escape| and |end-escape|.
%
%
-% \subsection*{Changes between versions 1.6 and 2.0}
-%
-% The extension \pkg{piton} now supports the computer languages OCaml and C
-% (and, of course, Python).
-%
-% \subsection*{Changes between versions 1.5 and 1.6}
-%
-% New key |width| (for the total width of the listing).
-%
-% New style |UserFunction| to format the names of the Python functions
-% previously defined by the user. Command |\PitonClearUserFunctions| to clear
-% the list of such functions names.
-%
-% \subsection*{Changes between versions 1.4 and 1.5}
-%
-% New key |numbers-sep|.
-%
-%
-% \subsection*{Changes between versions 1.3 and 1.4}
-%
-% New key |identifiers| in |\PitonOptions|.
-%
-% New command |\PitonStyle|.
-%
-% |background-color| now accepts as value a \emph{list} of colors.
-%
-% \subsection*{Changes between versions 1.2 and 1.3}
-%
-% When the class Beamer is used, the environment |{Piton}| and the command
-% |\PitonInputFile| are ``overlay-aware'' (that is to say, they accept a
-% specification of overlays between angular brackets).
-%
-% New key |prompt-background-color|
-%
-% It's now possible to use the command |\label| to reference a line of code in
-% an environment |{Piton}|.
-%
-% A new command |\|⣠is available in the argument of the command |\piton{...}| to
-% insert a space (otherwise, several spaces are replaced by a single space).
-%
-% \subsection*{Changes between versions 1.1 and 1.2}
-%
-% New keys |break-lines-in-piton| and |break-lines-in-Piton|.
-%
-% New key |show-spaces-in-string| and modification of the key |show-spaces|.
-%
-% When the class \cls{beamer} is used, the environments |{uncoverenv}|,
-% |{onlyenv}|, |{visibleenv}| and |{invisibleenv}|
-%
-%
-% \subsection*{Changes between versions 1.0 and 1.1}
-%
-% The extension \pkg{piton} detects the class \cls{beamer} and activates the
-% commands |\action|, |\alert|, |\invisible|, |\only|, |\uncover| and |\visible|
-% in the environments |{Piton}| when the class \cls{beamer} is used.
%
% \tableofcontents
%
diff --git a/macros/luatex/latex/piton/piton.pdf b/macros/luatex/latex/piton/piton.pdf
index 537202a41c..af2544f85d 100644
--- a/macros/luatex/latex/piton/piton.pdf
+++ b/macros/luatex/latex/piton/piton.pdf
@@ -277,259 +277,259 @@ endobj
<< /S /GoTo /D (subsection.0.8.3) >>
endobj
163 0 obj
-(\376\377\0008\000.\0003\000\040\000N\000o\000t\000e\000s\000\040\000i\000n\000\040\000t\000h\000e\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\0008\000.\0003\000\040\000A\000n\000\040\000e\000x\000a\000m\000p\000l\000e\000\040\000o\000f\000\040\000t\000u\000n\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
endobj
164 0 obj
<< /S /GoTo /D (subsection.0.8.4) >>
endobj
167 0 obj
-(\376\377\0008\000.\0004\000\040\000A\000n\000\040\000e\000x\000a\000m\000p\000l\000e\000\040\000o\000f\000\040\000t\000u\000n\000i\000n\000g\000\040\000o\000f\000\040\000t\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0008\000.\0004\000\040\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
endobj
168 0 obj
-<< /S /GoTo /D (subsection.0.8.5) >>
+<< /S /GoTo /D (section.0.9) >>
endobj
171 0 obj
-(\376\377\0008\000.\0005\000\040\000U\000s\000e\000\040\000w\000i\000t\000h\000\040\000p\000y\000l\000u\000a\000t\000e\000x)
+(\376\377\0009\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000e\000r\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s)
endobj
172 0 obj
-<< /S /GoTo /D (section.0.9) >>
+<< /S /GoTo /D (subsection.0.9.1) >>
endobj
175 0 obj
-(\376\377\0009\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000d\000i\000f\000f\000e\000r\000e\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000e\000r\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s)
+(\376\377\0009\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
176 0 obj
-<< /S /GoTo /D (subsection.0.9.1) >>
+<< /S /GoTo /D (subsection.0.9.2) >>
endobj
179 0 obj
-(\376\377\0009\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\0009\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
endobj
180 0 obj
-<< /S /GoTo /D (subsection.0.9.2) >>
+<< /S /GoTo /D (subsection.0.9.3) >>
endobj
183 0 obj
-(\376\377\0009\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000C\000a\000m\000l)
+(\376\377\0009\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C\000\040\000\050\000a\000n\000d\000\040\000C\000+\000+\000\051)
endobj
184 0 obj
-<< /S /GoTo /D (subsection.0.9.3) >>
+<< /S /GoTo /D (subsection.0.9.4) >>
endobj
187 0 obj
-(\376\377\0009\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C\000\040\000\050\000a\000n\000d\000\040\000C\000+\000+\000\051)
+(\376\377\0009\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
endobj
188 0 obj
-<< /S /GoTo /D (subsection.0.9.4) >>
+<< /S /GoTo /D (subsection.0.9.5) >>
endobj
191 0 obj
-(\376\377\0009\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\0009\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000m\000i\000n\000i\000m\000a\000l\000'\000')
endobj
192 0 obj
-<< /S /GoTo /D (subsection.0.9.5) >>
+<< /S /GoTo /D (subsection.0.9.6) >>
endobj
195 0 obj
-(\376\377\0009\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000m\000i\000n\000i\000m\000a\000l\000'\000')
+(\376\377\0009\000.\0006\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000d\000e\000f\000i\000n\000e\000d\000\040\000b\000y\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
endobj
196 0 obj
-<< /S /GoTo /D (subsection.0.9.6) >>
+<< /S /GoTo /D (section.0.10) >>
endobj
199 0 obj
-(\376\377\0009\000.\0006\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000d\000e\000f\000i\000n\000e\000d\000\040\000b\000y\000\040\000\134\000N\000e\000w\000P\000i\000t\000o\000n\000L\000a\000n\000g\000u\000a\000g\000e)
+(\376\377\0001\0000\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
endobj
200 0 obj
-<< /S /GoTo /D (section.0.10) >>
+<< /S /GoTo /D (subsection.0.10.1) >>
endobj
203 0 obj
-(\376\377\0001\0000\000\040\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n)
endobj
204 0 obj
-<< /S /GoTo /D (subsection.0.10.1) >>
+<< /S /GoTo /D (subsection.0.10.2) >>
endobj
207 0 obj
-(\376\377\0001\0000\000.\0001\000\040\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0002\000\040\000T\000h\000e\000\040\000L\0003\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
endobj
208 0 obj
-<< /S /GoTo /D (subsection.0.10.2) >>
+<< /S /GoTo /D (subsubsection.0.10.2.1) >>
endobj
211 0 obj
-(\376\377\0001\0000\000.\0002\000\040\000T\000h\000e\000\040\000L\0003\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0002\000.\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)
endobj
212 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.1) >>
+<< /S /GoTo /D (subsubsection.0.10.2.2) >>
endobj
215 0 obj
-(\376\377\0001\0000\000.\0002\000.\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)
+(\376\377\0001\0000\000.\0002\000.\0002\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000\040\000a\000n\000d\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
216 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.2) >>
+<< /S /GoTo /D (subsubsection.0.10.2.3) >>
endobj
219 0 obj
-(\376\377\0001\0000\000.\0002\000.\0002\000\040\000P\000a\000r\000a\000m\000e\000t\000e\000r\000s\000\040\000a\000n\000d\000\040\000t\000e\000c\000h\000n\000i\000c\000a\000l\000\040\000d\000e\000f\000i\000n\000i\000t\000i\000o\000n\000s)
+(\376\377\0001\0000\000.\0002\000.\0003\000\040\000T\000r\000e\000a\000t\000m\000e\000n\000t\000\040\000o\000f\000\040\000a\000\040\000l\000i\000n\000e\000\040\000o\000f\000\040\000c\000o\000d\000e)
endobj
220 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.3) >>
+<< /S /GoTo /D (subsubsection.0.10.2.4) >>
endobj
223 0 obj
-(\376\377\0001\0000\000.\0002\000.\0003\000\040\000T\000r\000e\000a\000t\000m\000e\000n\000t\000\040\000o\000f\000\040\000a\000\040\000l\000i\000n\000e\000\040\000o\000f\000\040\000c\000o\000d\000e)
+(\376\377\0001\0000\000.\0002\000.\0004\000\040\000P\000i\000t\000o\000n\000O\000p\000t\000i\000o\000n\000s)
endobj
224 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.4) >>
+<< /S /GoTo /D (subsubsection.0.10.2.5) >>
endobj
227 0 obj
-(\376\377\0001\0000\000.\0002\000.\0004\000\040\000P\000i\000t\000o\000n\000O\000p\000t\000i\000o\000n\000s)
+(\376\377\0001\0000\000.\0002\000.\0005\000\040\000T\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000l\000i\000n\000e\000s)
endobj
228 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.5) >>
+<< /S /GoTo /D (subsubsection.0.10.2.6) >>
endobj
231 0 obj
-(\376\377\0001\0000\000.\0002\000.\0005\000\040\000T\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000l\000i\000n\000e\000s)
+(\376\377\0001\0000\000.\0002\000.\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000t\000o\000\040\000w\000r\000i\000t\000e\000\040\000o\000n\000\040\000t\000h\000e\000\040\000a\000u\000x\000\040\000f\000i\000l\000e)
endobj
232 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.6) >>
+<< /S /GoTo /D (subsubsection.0.10.2.7) >>
endobj
235 0 obj
-(\376\377\0001\0000\000.\0002\000.\0006\000\040\000T\000h\000e\000\040\000c\000o\000m\000m\000a\000n\000d\000\040\000t\000o\000\040\000w\000r\000i\000t\000e\000\040\000o\000n\000\040\000t\000h\000e\000\040\000a\000u\000x\000\040\000f\000i\000l\000e)
+(\376\377\0001\0000\000.\0002\000.\0007\000\040\000T\000h\000e\000\040\000m\000a\000i\000n\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000n\000d\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000f\000i\000n\000a\000l\000\040\000u\000s\000e\000r)
endobj
236 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.7) >>
+<< /S /GoTo /D (subsubsection.0.10.2.8) >>
endobj
239 0 obj
-(\376\377\0001\0000\000.\0002\000.\0007\000\040\000T\000h\000e\000\040\000m\000a\000i\000n\000\040\000c\000o\000m\000m\000a\000n\000d\000s\000\040\000a\000n\000d\000\040\000e\000n\000v\000i\000r\000o\000n\000m\000e\000n\000t\000s\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000f\000i\000n\000a\000l\000\040\000u\000s\000e\000r)
+(\376\377\0001\0000\000.\0002\000.\0008\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
endobj
240 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.8) >>
+<< /S /GoTo /D (subsubsection.0.10.2.9) >>
endobj
243 0 obj
-(\376\377\0001\0000\000.\0002\000.\0008\000\040\000T\000h\000e\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0001\0000\000.\0002\000.\0009\000\040\000T\000h\000e\000\040\000i\000n\000i\000t\000i\000a\000l\000\040\000s\000t\000y\000l\000e\000s)
endobj
244 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.9) >>
+<< /S /GoTo /D (subsubsection.0.10.2.10) >>
endobj
247 0 obj
-(\376\377\0001\0000\000.\0002\000.\0009\000\040\000T\000h\000e\000\040\000i\000n\000i\000t\000i\000a\000l\000\040\000s\000t\000y\000l\000e\000s)
+(\376\377\0001\0000\000.\0002\000.\0001\0000\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
endobj
248 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.10) >>
+<< /S /GoTo /D (subsubsection.0.10.2.11) >>
endobj
251 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0000\000\040\000H\000i\000g\000h\000l\000i\000g\000h\000t\000i\000n\000g\000\040\000s\000o\000m\000e\000\040\000i\000d\000e\000n\000t\000i\000f\000i\000e\000r\000s)
+(\376\377\0001\0000\000.\0002\000.\0001\0001\000\040\000S\000e\000c\000u\000r\000i\000t\000y)
endobj
252 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.11) >>
+<< /S /GoTo /D (subsubsection.0.10.2.12) >>
endobj
255 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0001\000\040\000S\000e\000c\000u\000r\000i\000t\000y)
+(\376\377\0001\0000\000.\0002\000.\0001\0002\000\040\000T\000h\000e\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
256 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.12) >>
+<< /S /GoTo /D (subsubsection.0.10.2.13) >>
endobj
259 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0002\000\040\000T\000h\000e\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)
+(\376\377\0001\0000\000.\0002\000.\0001\0003\000\040\000W\000e\000\040\000l\000o\000a\000d\000\040\000p\000i\000t\000o\000n\000.\000l\000u\000a)
endobj
260 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.13) >>
+<< /S /GoTo /D (subsubsection.0.10.2.14) >>
endobj
263 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0003\000\040\000W\000e\000\040\000l\000o\000a\000d\000\040\000p\000i\000t\000o\000n\000.\000l\000u\000a)
+(\376\377\0001\0000\000.\0002\000.\0001\0004\000\040\000D\000e\000t\000e\000c\000t\000e\000d\000\040\000c\000o\000m\000m\000a\000n\000d\000s)
endobj
264 0 obj
-<< /S /GoTo /D (subsubsection.0.10.2.14) >>
+<< /S /GoTo /D (subsection.0.10.3) >>
endobj
267 0 obj
-(\376\377\0001\0000\000.\0002\000.\0001\0004\000\040\000D\000e\000t\000e\000c\000t\000e\000d\000\040\000c\000o\000m\000m\000a\000n\000d\000s)
+(\376\377\0001\0000\000.\0003\000\040\000T\000h\000e\000\040\000L\000u\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
endobj
268 0 obj
-<< /S /GoTo /D (subsection.0.10.3) >>
+<< /S /GoTo /D (subsubsection.0.10.3.1) >>
endobj
271 0 obj
-(\376\377\0001\0000\000.\0003\000\040\000T\000h\000e\000\040\000L\000u\000a\000\040\000p\000a\000r\000t\000\040\000o\000f\000\040\000t\000h\000e\000\040\000i\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+(\376\377\0001\0000\000.\0003\000.\0001\000\040\000S\000p\000e\000c\000i\000a\000l\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000s\000\040\000d\000e\000a\000l\000i\000n\000g\000\040\000w\000i\000t\000h\000\040\000L\000P\000E\000G)
endobj
272 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.1) >>
+<< /S /GoTo /D (subsubsection.0.10.3.2) >>
endobj
275 0 obj
-(\376\377\0001\0000\000.\0003\000.\0001\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
+(\376\377\0001\0000\000.\0003\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000P\000y\000t\000h\000o\000n)
endobj
276 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.2) >>
+<< /S /GoTo /D (subsubsection.0.10.3.3) >>
endobj
279 0 obj
-(\376\377\0001\0000\000.\0003\000.\0002\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000c\000a\000m\000l)
+(\376\377\0001\0000\000.\0003\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000O\000c\000a\000m\000l)
endobj
280 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.3) >>
+<< /S /GoTo /D (subsubsection.0.10.3.4) >>
endobj
283 0 obj
-(\376\377\0001\0000\000.\0003\000.\0003\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C)
+(\376\377\0001\0000\000.\0003\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000C)
endobj
284 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.4) >>
+<< /S /GoTo /D (subsubsection.0.10.3.5) >>
endobj
287 0 obj
-(\376\377\0001\0000\000.\0003\000.\0004\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
+(\376\377\0001\0000\000.\0003\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000S\000Q\000L)
endobj
288 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.5) >>
+<< /S /GoTo /D (subsubsection.0.10.3.6) >>
endobj
291 0 obj
-(\376\377\0001\0000\000.\0003\000.\0005\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000M\000i\000n\000i\000m\000a\000l\000'\000')
+(\376\377\0001\0000\000.\0003\000.\0006\000\040\000T\000h\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000\040\000`\000`\000M\000i\000n\000i\000m\000a\000l\000'\000')
endobj
292 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.6) >>
+<< /S /GoTo /D (subsubsection.0.10.3.7) >>
endobj
295 0 obj
-(\376\377\0001\0000\000.\0003\000.\0006\000\040\000T\000w\000o\000\040\000v\000a\000r\000i\000a\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000w\000i\000t\000h\000\040\000i\000n\000t\000e\000g\000r\000a\000t\000e\000d\000\040\000p\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s)
+(\376\377\0001\0000\000.\0003\000.\0007\000\040\000T\000w\000o\000\040\000v\000a\000r\000i\000a\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000w\000i\000t\000h\000\040\000i\000n\000t\000e\000g\000r\000a\000t\000e\000d\000\040\000p\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s)
endobj
296 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.7) >>
+<< /S /GoTo /D (subsubsection.0.10.3.8) >>
endobj
299 0 obj
-(\376\377\0001\0000\000.\0003\000.\0007\000\040\000P\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000f\000o\000r\000\040\000g\000o\000b\000b\000l\000e)
+(\376\377\0001\0000\000.\0003\000.\0008\000\040\000P\000r\000e\000p\000r\000o\000c\000e\000s\000s\000o\000r\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000\040\000P\000a\000r\000s\000e\000\040\000f\000o\000r\000\040\000g\000o\000b\000b\000l\000e)
endobj
300 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.8) >>
+<< /S /GoTo /D (subsubsection.0.10.3.9) >>
endobj
303 0 obj
-(\376\377\0001\0000\000.\0003\000.\0008\000\040\000T\000o\000\040\000c\000o\000u\000n\000t\000\040\000t\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000\040\000o\000f\000\040\000l\000i\000n\000e\000s)
+(\376\377\0001\0000\000.\0003\000.\0009\000\040\000T\000o\000\040\000c\000o\000u\000n\000t\000\040\000t\000h\000e\000\040\000n\000u\000m\000b\000e\000r\000\040\000o\000f\000\040\000l\000i\000n\000e\000s)
endobj
304 0 obj
-<< /S /GoTo /D (subsubsection.0.10.3.9) >>
+<< /S /GoTo /D (subsubsection.0.10.3.10) >>
endobj
307 0 obj
-(\376\377\0001\0000\000.\0003\000.\0009\000\040\000T\000o\000\040\000c\000r\000e\000a\000t\000e\000\040\000n\000e\000w\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000s\000y\000n\000t\000a\000x\000\040\000o\000f\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
+(\376\377\0001\0000\000.\0003\000.\0001\0000\000\040\000T\000o\000\040\000c\000r\000e\000a\000t\000e\000\040\000n\000e\000w\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s\000\040\000w\000i\000t\000h\000\040\000t\000h\000e\000\040\000s\000y\000n\000t\000a\000x\000\040\000o\000f\000\040\000l\000i\000s\000t\000i\000n\000g\000s)
endobj
308 0 obj
@@ -550,23 +550,17 @@ endobj
<< /S /GoTo /D [ 317 0 R /FitBH 771.02165 ] >>
endobj
322 0 obj
-<< /Filter /FlateDecode /Length 3357 >>
+<< /Filter /FlateDecode /Length 3349 >>
stream
-xÚ½[K$· ¾ï¯¨ã.‚•%ê ŒØÞvpNqöfû`8ˆÉˆ ùù!%J%©T5ÕÞИzH$ÅÇ'JEÉå×E.ß¾‘üÿòéÍW7Ћò”5fùô÷7
-ßÈE- Ðañ*â»°|ú¼üð$¥ Rêþàù½–€O¬‘R}”.ÏàðÞ¸|¯/©ÕOŸ¾#fÊCƒÆl˜IÈ,âµÂë+“Ñ°(%¢µÊwdœ!ºÅƒÆÙDæíÈþ]îfÔ´8/tT ²(IáŽÔ¤ 8¼4«ŸÁ?å!¡éšä"ùhˆå™w,£ËÚ ì¸8ï„öu¨Ú¯4ב4‘EÍ¢
-<¬m’¶oY5é2'Ÿ_¯Æq.Îj!}À| ‚u <j‡ì¾kûÄÇü_GfäÔDtý¤åãQ¯Æ/N¢É N
-{‚F
-lY;ÝŠrFQ¡óx´EK©§Î¨äàŒaÏLyx)âÈa×w䌨aífTh´V=C$=ËL’중"æóü>5K Ãìu¹Ëƒ$±;ÑM¦ÇÿciJ:Nä., »Zj%K+bf`µ]“ÑöèYò•<V½è[²0Å]-Ìc¾pÐðÈrÅÕÓuhïW
-­YòGÐeðÉ"ÕÒô¿Åú( {Ê5K·ÒB:F?•°¥'Æçöå K–¼—½–þ§x©},¾E=Hýñ#¿Ql‡ÌMfÛKæ‘t(/$È׉_xŽíëuâÀžˆÐŠHmЫOÄákÔ‚q"„Õ‘Š“E·Œó4›VÙŠò;ÇWv‰èøàÌ„â/2™…';„§ß Ï)…øiqxìè\N…3…ƒ­¤×&hª´­kä'­k@2Ç‘k¬}V×hœõ·_—|ñý·$¯[œˆ^;B©2(„s¾1$Ñ)ÓøÞh!a¬G›æ•¿· I>† ¢<©}3˜´~—Q+s )4Ë|·Òï¢Í D”§6µèÀnªpŒU™§QËبå'¨Eh`B
--µ¾KA÷T$.w£CòÓ«ì«OÚWª;H ’$L5f#ƒ‡<šjnWdÙÑòW7ofnh¤
- zOS[‘-¬®”ä2‡al× :ô@1@¦–±99·í]m;:|£n®f!ƒ·ôkCýB§¤¨ílNÔ#ˆä'©gã¹iþMotã3ÕØûáã¡ŽAam¥½S¯”ó{5ë1kƒÉ."†^„))Áñ÷‹0W–f¤ØñH-q 7£ð†|Ÿ,Ú€j#‹åE‚±²ä“snÞ¡WyEâÛ®ñé­°k~¶¦ý&T/ª9%Ã*O>„ƒ¹Å ®Þ«MˆB…ºæé¼TÅIÆhÕ5‰Aé16ÈqØ©ñ~"tìk EPñÌ¿¤ÈÛjçôk²àËš†ÓŽF/Pª‘S²¹Ž›ÅÇÝ*Ëz©É^dH*FO¦Ï؉Jh(éöf2I”
-¤&w95ðÁœ?qÌC@«ªïêÔúi]‹f¸ªOןôPøbb­g‰uš¬Ò_B£¤±f±¥owjÒ<ŒÍÒ²¸ŽM³Z ‘´1oð] Ø~lûÐö®“r–äÒ
-t
-9·¤õ{”7ƒÁ‰Á¹q”wæÍàp9*½5úÉonq¶P–\®q_§îKߦn ì`½§½Œ¸‘Ëe¯éGˆÏýqZ!£pQmt8Û–ÂàÏQæ¾Þ¤ìݬŠ Da”j³ï:âËÇÏG‰-D)9_å
-ØŠ¥¢K”iíkqÝ´éÛæ)jÏ´9g¸Þ§ ¥•p~C/E)GMIªØê/êÅ¡õ­ÛJXüûËìFš«ųŠö§$‹¸àrª'Q‡’l.¾ìÌŦn{X,+†Ÿ©ÑŠ’Ûþ”@Áuí'4ý-ãÿ$ÕüU+¥a£ë¹hSÀ•4ÌËÛtÙõôH:ù@ã|<.ƒ1(ùâ|¸7™ŽZXc[GÈ¿Uó²lëMv`Ƭ½®¿4«ìm¬ù!Ñ÷cÜ•¥ë¸Ž^gpêães]iåY%_Ï]d5½u§ü–ÕˆhïôãÕØ“MÛݾÙ(˜©ëÊé!ï—‰y~—+_Vz%©™ÑNm®§A˜UƒþëÂÃ5ÓQ]ýëÁŒÌV²/Al£¶9ƒJIá-̤KKÿ0âyj”2äF¢3ैrÓwºpå¨Ð݇ÖsàÒZxçÖ{”5A PzÃK6[kײÜ<g]ž6Ò?dŠÉÅ@ÛÈi"gCë}T|„„á y“¤!nZglî¬êÖ\Îåä`=
-a¦×ÐôX€ó.¦l#]û;QmرÓ‰BËlZ7Yr´H1~>>„ÁdNX K‘îþûýïu%JŽ)‡çÏÍNÊ-nÞ9ì߶`³“W¥6g>·HÚÿT,oþí—ÿüü¯wïýÛ¥•\]£åüSB8%uÝÿ÷‚#ÓwA>êÝ{
-ôá-ɬ›ÒÊß5¾Æhó1ê€p„ ç^¼ʉK:GÈf¼]%á\ƒNgÀŒÒ4Õ™ÅA*¡)3¥¥˜V#Qò2/¡×2<5•€—öi-0J'+ŠYjÑ’ “ºBÓœ‰¨ei©?cù®#JĨ`QïuDL®ÿ"®J[¶©ªü ›z¨Zé%såWÎq%šëZøöKPSÔVœ•Z½äÛ™¦nE%Æh¦›ƒ]ý]5@BÆ(Éæ2ÛÚ$·ö÷îÊðyº?ò^X·Ö¯\Ö02›BóÇ¡yé\ÃZÔx]ãÑ\ª#wû[,…5˜D©ÃÝ-åpJõû[¸°˜ôxÛ¯B_јJÓ·ÚÏùY½à /©¨ùÆ®…Ç­«úCŒXÓÔ°êrhÊ 5iÙºÔ\7ŸIyM)•î%µðìÖr©îQïª{¤'4µÄÎ.C”&æîC>úG§òÈ”¹/#+$Îר«A#»<W+D\»+3R*o2×Q>¿WOãHáÖcc(=»“‡´rÊ÷:äërV±žˆ¢
-ö©ïP¤Ò!-úÄê%ßÑt°týtÒéyod["šïèD†‘¦-´Û„ ÇhÈÚ³qåŽIGmÊe3×öhOæÞž
+xÚ½[K$· ¾ï¯¨ã.‚•%ŠzãÜÛÎ)ÎÞl ñ!q€’Ÿê-±T5ÝÞ^ИzHÅÇ'REÉí—Mnß¼‘åÿåã›/^@oÊ Pqûø÷7ŠÞÈMm Qh¿9èß>þº}ÿ$¥õRêúÁó{-ž”R}.Ï`ém¾×—ÔêÇßÆ1p9†+wƒD’4X kE××BFæ”Æ(7‘±Rø`7F 5‰ÌÛhøw¹ªe7°Nè 6F'ut¢&§é¥éý î)O‰øHב¯È_œb}æláѬymuܬ³B»6UíºñÊIG²$YƒÞ&Iû%‹&ý|¦cåóù|Üf BeA]ʬ®yØøß&é7Ä;z×ú$Þ¹ÿëP†µjó"XKV3ŽêHÊH£J+¼S}T¢§ëH‘ùjFiäBQ®(*2%Gú2¤7ÔzišJ2ÓôG¦ia9†“"ðíò€Ï …ÖvE%ÎÖ¨gÑrd¦
+‰÷(‘Êçù}j–ô«×õ.O2ZŒAêo2½ò?Ô¦QƉܥpS /µ’µU ¡k(^cµ(Ö ’íC—‹~i Af&zˆ/ìv —9_"ŒÄéEÍUÃO×~¼ïF.2ÑA×É'4 Hd›qA Ãf)ÅÂ;-¢ƒú©Î ØPz‚.·WÚ“ÂY²Þbµñ?=ô1ô–ä õWMòUôG“Yæ¦x]’¡¬€q¯ÓxþÙÛ¢_§ÓÅ h ·‘¬z°Dš¾&) FA³CØIŽ¢ÇóR›VƒÚªð'ÃWf dø`q1 °^­Ü¼aîéÝs9‚"4%ú|ŒC]ó©hÝ°°çô:8Mãv4üd4 Hê83Þ§›Æ`¬¿ý²å‹ï¾‰üÚÍŠà´7J €O@ÞéÔEýh¶àQ 1|¶iRÙñg½Dι›”YÔ'­o“ÑNàÂ¥²’J³®nðRûÝ€hkEfêS†M#:3UV“ªü[Q Í ¨å¨Ñ
+QÌ™i·|þì©ö¾çòqØSq{=GÎÑ-؃´FØ]_ö`ç™së5öPÞƒÞÿ1ØÃÆz
+šžËhÝ¥ Ó5ÐS¬³
+[>‘ãÈWô¾kìm »‰: _ÀÏc£„?
+Ì­2%üÑÆ|õ^oŸÊQn´Ñ?‘Úe«ž¦ÔǸ?&æac}úFЊ{¸¡d™¸¡$qy  ~ÔÝÑ©–¤}‘[”hÕ/y=+KGZÿA‰ÄmJ=Œ@ǧto©‡£„4ÚýD¤îýÌ|ÖZ†øq.ñ¬‡ÒËß5¿Aië9jOp–±÷J¹ñiÙ‡*²›ïTi¸æµHÙ;ãf¨Þ¬ÒpA˜)5çbY­ƒ…a}:Ë? ¥‚—ñi+AJG/ª^ZY“ô‹ÂCM´ºµÔ¿€ù¡%J)œ×{M‘Â…fGÅ6~ë^V›è¡fªƒÉ\œWŠëJ±šZ¸ñsÑP<4¥Õr¾dÞ™¦n'Á
+Šd1‹ÓÃÙŽ©D¯© ôÜQ²Âp_Âd{o¾ÁW§?ðÃè.L).ýÓä¥{÷œš¿ ­«ë*"¶ºÇkwI¼4[ž6Á
+I½êt L9V©yŒr Cq3Ó,2–ø1,~01:ì½9ê$‰Øø%^Óòh©N<óƒC™«®çª,«\ËÚÍõPš„7”¢Æò¾D¢Õ§½Œ£4óhwÍ<Ò“¸º„I/ÌOÓàö«|VÐ@9"ú,( +
+´€Z=—\Ö#\¾—¬%Ü'ƒ°ðÔµ^OW[Šª—9ækØSÐ ¶©k€.G¢Ø6ÆëßÆνSyáyZøšsªx˜Äƒúx6ª…BºÂèþø@ÁîŽIS,’±K·FC¤1,!CÁ|íOÛ¶vL$†°²®®í(ë~'N–¨>pñÌ¥<µ¶BÅëMôu(•~åLbˆQ]¬êLû{3ÎRxð|Á(h
endstream
endobj
317 0 obj
@@ -576,18 +570,18 @@ endobj
[ 318 0 R 320 0 R 319 0 R 351 0 R ]
endobj
318 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 276.15 522.003 282.609 534.294 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 276.15 521.633 282.609 533.924 ]/A << /S /GoTo /D (Hfootnote.1) >> >>
endobj
320 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.606 293.321 384.065 307.269 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 377.606 292.95 384.065 306.898 ]/A << /S /GoTo /D (Hfootnote.2) >> >>
endobj
319 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 468.356 132.704 516.902 143.254 ]
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 468.356 132.333 516.902 142.883 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
351 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 79.37 123.166 202.6 131.536 ]
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 79.37 122.795 202.6 131.166 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.inf.puc-rio.br/~roberto/lpeg/)>>
>>
endobj
@@ -598,19 +592,19 @@ endobj
<< /D [ 317 0 R /XYZ 79.37 771.024 null ] >>
endobj
5 0 obj
-<< /D [ 317 0 R /XYZ 79.37 562.969 null ] >>
+<< /D [ 317 0 R /XYZ 79.37 562.598 null ] >>
endobj
348 0 obj
-<< /D [ 317 0 R /XYZ 93.716 144.934 null ] >>
+<< /D [ 317 0 R /XYZ 93.716 144.563 null ] >>
endobj
352 0 obj
-<< /D [ 317 0 R /XYZ 93.716 125.842 null ] >>
+<< /D [ 317 0 R /XYZ 93.716 125.472 null ] >>
endobj
321 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F23 325 0 R /F24 326 0 R /F32 327 0 R /F41 328 0 R /F52 329 0 R /F61 330 0 R /F60 331 0 R /F62 332 0 R /F64 333 0 R /F15 334 0 R /F65 335 0 R /F16 336 0 R /F74 337 0 R /F75 338 0 R /F77 339 0 R /F27 340 0 R /F30 341 0 R /F67 342 0 R /F66 343 0 R /F47 344 0 R /F53 345 0 R /F59 346 0 R /F71 347 0 R /F72 349 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
364 0 obj
-<< /Filter /FlateDecode /Length 3884 >>
+<< /Filter /FlateDecode /Length 3885 >>
stream
xÚµ\K$· ¾Ï¯è?°²D½Á
Îb æU³ãÉò „K)ò8•3Dv!–˜e$E nþˆ¯ ÀU´N«;Ò¿";K:è)>”1GlÜÊîuz— [¡©ú_+õ—ºÑ'4ÚfÇÇVBËêR¬¤øDï(?bЙ†tG*³´Ý Kå1ˆv¦òQý‘ ü†Ú 8XrzÆd·UbÁm.òÀNE‘åÄÅ£vj•A‰ßnت˜ Ó2{ŸÔb Dr¨Î>Ë v$£lQšþÒÕQžÍM]5|È1MZm•0®eÀT±bƒ”[¢ÄóÃ}¤w`åä±S€#EHNr¤’щšbi\zwEL×ØGðú8oÂß÷¡ Qýì&+c=cŠƒ  0@ýSöc×Ï]ïÅp´°] ¡`¸®–
@@ -620,7 +614,7 @@ cÂÝPä(½tžzçÉOèz’™©¸ƒT‘‘NXÝŽôКFͬ¾5SÐU‹â !ïs/sÍa—÷=rñÛµèdºcŸõÂÇH]³ŽPžªß
Íð†nØT ZÔÔ÷2z8rÍ©"Ý ÏlõóXÔ`HvÜ:ö؇¾ÙY¡ÉA€“IXµñ‡4R3Óz>Þ
94¾ª0ؽ›VÖ
d§ï™³gúìÄòVd¹>Gi)5ѧã͵RØ ‚ZÕC·\š`[k<Sž÷™Ϋua)KD¹“ØuSH qèÑ,‹xör;6v%MhÅܼûûÝ4Z´Í¬Ö7gük’´?Š%;ï·ÿC‰n
-Ö’½î-òêZpȧŽ˜Yús˜$ _Ÿ|Üî1‹ò¹ë¹6£M;Í3Žœ Nêƒóß(›Æ\6÷ê£Q.o¼VBF{þFìó¿*Daå2ë=MEº|ž ²âÑË#F(¼5sðÊÝÏÙ”ú;ú‡´2ù_¿˜(éXÓ„[´‹fTËSwu,¡Ö¡ç×ËŒú
+Ö’½î-òêZpȧŽ˜Yús˜$ _Ÿ|Üî1‹ò¹ë¹6£M;Í3Žœ Nêƒóß(›Æ\6÷ê£Q.o¼VBF{þFìó¿*Daå2ë=MEº|ž ²âÑË#F(¼5sðÊÝÏÙ”ú;ú‡´2ù_¿˜(éXÓ„[´‹fTËSwu,¡Ö¡ç×ËŒú
endstream
endobj
363 0 obj
@@ -718,1053 +712,1066 @@ endobj
373 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F64 333 0 R /F22 367 0 R /F16 336 0 R /F75 338 0 R /F77 339 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-390 0 obj
-<< /Filter /FlateDecode /Length 5025 >>
+392 0 obj
+<< /Filter /FlateDecode /Length 5081 >>
stream
-xÚ½»Ž$·1¿¯˜ÐŽ"‹o`±ÀÍÍ­
-žàhżöJ€€#3Fž©4)—ŸBã¹z$…gÆjÝÆŠ7ÓO˜%8H'>…%ïàž¹ÄÛ*>ºÊLjͽA ÿ ÂZ#çõÀïîõ£•ñ›«8¾iË
-â‰ÕJ0m'¼T¦¹r,sYJI¤.¬Hzªζñ§¦¸â#œnµò“Œy|ÿx>î—<“ÍOÝ« ßÃLV–_áÞíì{+sª'¤E~†Ý0rT£Ææ¿Óg—¯JH¦Å¼Þ®¬)ê/û&¼3©ãñè4Xˆ¨š¬“±ÒÆ]b^“l<óNI¿^H[¾ <OvøUÞ@ºµ¤r…ÿò$o£ÎŒsëM$yÐ…Èž"ðîú:
-¥˜V@á¿3 4®¯š¨(²kÒ>(;$QTt"xÿ’%†o<ë¿GÛ½ÎOPÄç2fÉ!ÞöfÑ.n±mE“eŒ-\àf‰Iô;XÊ7
-%b`ù«6/Mêä>wqƒ3­)ðBŽÊŠ%*iWUÿžÚ5Æ1oë*AãVHuB¹(ºav””„¦
-FÓUÕÐ[¦66˜f÷²R‚ižPbºm³ÍX¾<n©B#%<›ÂGâ|V]‰¯üvKüõÇ°ˆæ†ºÓJ§…ê,á' L»¶Et„ó7w $´EWNÍJ¢¬Bå¼Î,EîQ®Wa„äzÕÕ¡Â^Œä«¶[Êj¬o ÒB61 Cô2yú7|7Õ.V¶wKTÞ,Ë ˆNÈ˸kÑ4gtÔÈD0kMvwO¢bBi
-Mëm©D
-«¹E:õ‚!2)n}™€¡ÔŒ·Ýþ·²ž¬&H•Û*6I0™¢‰ÿýñׯþÓάñ^0'üíï¿?(Éœ47Á™4âöÇ?o¿~øK•î«lÙ)à&l•k›]vL< _Îá.T`re»‚ñ<:û¹a!ñ'Jè=s&ØŠI%E‹ùèý¼ð–>Æ¿ð½Î;x Ù¯,;¤÷@£ÍŠcƒÄQ¥™ç”À<—Ês%˛Œ·]ZŸuxV¬JÊBôW Ð6 q—4×Í´Ñ£^Y[Å^qÍ[£÷¢QãLÛ¬é$ø¼«‚÷"¬ Ø­•gæî3ÑŸ2h©%…ýù50|B§ç)DdÞ£bÜÚ:f=œÚ)æÜ4èÓþTA÷‰³3yÄŸD§ãSböÕ-.pCG?ÌHt‚Ý´,%Ù tžÅ>§¥HÉ„Kô½”¢áÈ`øú-4» ·pônöhTF2õ"¬¼bÖÁ‚º•mámªÙ·-+—äȶ
-öÎ1ÞrýkaÂ÷OŠnÕƪ9m¿(jäÚÊPHϔֳ¡®Â„Ô[?å•O›ã™Ó
-'EŸÙVÿù¨Á^0–#8JBäÌ£“~É¢`4Ì„¶zÍÇÙÞ†¤o½¶¨å¤ð«§ZCƽÕh@:x´fC¿cìà& O–†i&AQ(»i
-2/PëÂûReN&$¡GÍŠð‘‡þý3ŸÊzô#ä¸rB•‚PñQzˆdŠÂX¡ yžÂ¿âê¢æ63$ cGÂ^Ùa?(êBë CV§6dÈã„P“ ½¶JÊkz>’˜"I!O%Ô.(`RA5J(þJÂCj‡‚4’PÔ{”ú‹ tÄh\푽=Šß6ìÑn³ˆE×¼q’³½"Þâ`G€”­T„.(ÛGû[kéZ*7Šp}:( 1Ôô6`½·_j z.’zQi‡¤ë›×‹ª©à㨹ªÛ\Ù^6”ë Xéz™²”cÊ­øßÛ*!¤_›ÅkAL©èE÷Œ*z‰½CBcÈÑÈ®ÐvµÀ%Q c@ Š>QñÖ*QµÉåÞs£çîçò}Ϋçÿb&þºç98IF4–ûÞÙš§¬Ûñ,Ò¯µé©+@ØEBY;¶ å'í®qHO1~§5‰|ÏåÄôA]òR³žH4Új¢&R1$lßÔ‘yHÖR%o¸3ÁµêINô¯BédÅüœVèl€ww|ú‘¶¨Wa´fuk!+š’ºÅî婼V¨
-9@=p$„ÆÅõ"Uõ§`kË}öü¥óv‡À¬nL¿J|¤§ƒš¨O.øƒ’KÄ^R*.ø#¤ÉÜ¡u+Ý)Î }BA™žXFŽ¥¦eÄ=j„¦¥–´$V5”Ãbv ?¸”`e™õ~ÝÌš£,Ù+c{WÐÕg¸—ö)±NP(&ÀÐg0m=4»Þ»|@X$à×D´eJ(:È
-µ-®t—4‚¡%íb+ÛùÂf‰‘hÉ÷‹¼p¾˜6¡78t?ˆZäuL¨‹E^­ÅÖBËÿ&~ `2Vœ ”­
-Y¦ºD“ñ[©IÐO6²J¨â8fÒßnÕßñ[«—Q!E5³Š_9nÞ=Ψæ$V¥¨sPk®fȃ¸‚Úðѱãó”Z¦$*á™–-¶SOuRVE…Ž…7rr‹þÏ›ŽØOGuuÿÖm"îSë²c «WNÖ½¾­ga¶uÁFîÝfåÄì“nº°èÉR 0´•Žœlµ£‘öMnÛí
-ø¹.ðU‡ùe— ßêr©B’Þ¥].ñ=JQ§Mò¸Þg’à–°‹·™»B-ãP¦œä¬R9kVP†—HãØár@ö¦(ô©…<e}^”%ƒÂg8sRYÆɬ¾RšT¸ ðÁv *s[ê£YÐâRæ:ñþÑ”P ôç\Xª™þ¡|§'á4˨7==®}‘²SVä×ðådç³±ÇÝ‚WJR®\mçSÀ­x\Ýí÷]…ŸRÚQ‘XŸ¬&wåÿ¬@hoH6 cxº}¼eËHî¦í”cJJÃwjŸ“jf@gÛèÉ–Ò0­Ã^ôŽ‡´ãÞ€Ç6gÛ8·SÓÜï¸ÍUP=†ÎP¨©W°õ 7¡5ù‰!ût˜¦;¹°>ª™B¯UŠ`,E
-!>ïZ¤é¨ù 5ÐD€ªÇBžVãçç( BÆã+Y ®…‡1…sgôxÌ$+Šú¹ÆOf¯ÊÂEN íi",7Õö;ý0Ft‚b™W‹%S×%þ’ZÌŸÇ•hlUýI øDí"¿Iêæ."ƒ›;t.Û¢·)øDvꩲêı“n|;´FXÙE˜½Êžâ^+I—]‚6vË,«˜yÖ³æ6‹½PNoLxÂAD]NüÓ%Èg×ã.hÅ¢VL8hÃ7è(J
-5êc7dŽøR TéÐ3ž…#Cé!&2†V$ƲVš춌ƒê9^cwš»`j„Ê£Ÿç4?Ã(JÛwVBå…LJXðh=tõmÏœ]âž)eé ß«×ÞÙXó#³åC\¨qÄöéá*\Ç¢j/·¸~ºe{s´úðô¹Pèÿk 8G™?uüŒfÎ
-!¨‘Å9äÖ™º_Ö2ÌaÀD`÷«œÅ=,i¡õæ~ÂÌ\9Ÿ,=òIÅaÈ׊‘$Yµ}‡Ç“çžqÔäð€WS¹BŸvx4ó¨GÁÜ7‡ÇE¿å¼ÃN—¢~&¨_qxJãNù-ÂxO§'œEÓhI8¬[1"æÀÔW–ÇN½jZºë¦Ék˜»iZMkceŸ±ìÙ¡Y*(Œ„´4¹ÛP§Ûrò7¨“—~é¨ô¤?_Q*ÝÁÉ-—5ˆ®Íb…Ÿ9i‡Þ™‰ßf#÷
-GåãqƒvׇÞk
-¨,8‚€Ú‘©Í
-×Á©j¿¯¸%Mõs›!)t³-Ÿ…öQé÷J«I{1îÓù‰í“å¨@U8eísûŸÏdïúQ·üz
+xÚ½]9d·Î÷WthK“Å °½­àÌöf‚"ÛRb°ÿ}o²ÈwõÌ:híôëG²X,V}uâ·_oüöã§û·Oz3ê&“ÊÀíÛ/ŸþÀoâf=“öf`\ܾývûé…sé_? Î9þ _87ü
+ÂZ…FþÎëßÝëg+ã7Wi|#Ò–¨ž×iŒD‘2黼×ö[«'„aÞûUVO(Á´èRyΕc™ËRJ"uaEÒS5p¶µ< sŠ+>öÓ­V~’)ï?ÏÇý’G²ù©{uá{ÉÊò+Ü»}ïûÊœ°jÅ i‘Ÿa7Œœ
+‰óYu%¾þþë-ýñ×Ã"šêN+ª³L„Ÿ,0íÚѱžÑܒСœš•DY…Ê "xYŠÜ£\¯Â zÕÕ¡Â^ŒÓWm·”=ÔXߺH 5ÚÄ$ eòôoønª]¬lï–¨¼Y–A—q×¢iΠ訑‰`ÖšìîžD+Ä„Ò´7­¶E¢Ò ­H&ºÛ?úÞ¤³­ASX uêÔç ‘Iqóˆe…R3ÞvûWÜÊz²š UîØV±I‚É|MüïŸ~øöé?aáÌÝ æ„¿ýý·Oá%™“æ&8“FÜ~ÿçí—O©Ò}•-;%°»‰ZåÚf—“D¸åîBE;LP¶[ (Ï£³O‘¢„Þ3g‚­˜TR´˜ç…·ô1ý…ïuÜd\YvH@£ÍŠmƒÄQ¥™Ç”À<–Êc%˛Œ·]ZŸutV¬JÊBôW G¸K*tSbô]ÀÁK·ÅÕ¨“–‰‘Q®W.©aÞýïU¤ã;nßû÷ŠMÛj„¡M±<{ñ‘ä23xdÒˆ»K^&©Ð
+Ë1)&&euz¦ú„[#gˆ¢iOðØßk&šÆç)tP¸ªÜ>xTC¨®­¢£ ¦V_öÇ’À”†«cIǸœølúÜ«ý1µI
+ͨ¢éÁ¦ihäHÕ ^W¸ÍÈhEE¦päŽçW´k?fgDÖéo
+°Æ½Þ`%ýeD1§Pâ4 cíŠ
+ÛÞs~cæîÙ˜à®á{LŒæ–9k(gZ6‰îcå=zad¨ãÑf{õVÚåÑHÁ®/w½cÎÝ"¤X6rá(…’ÛÍ \û¬SÏòÇh($÷D¯»¬×3©ºé›(ƼôZÞ—
+Žd;yÔ¬&>òÐ|VAYô Gµ{Ò TIp–½ˆ%¤aŽXmлó¤ûg .*m3uDÂ-»½}g|H¹®÷# ßêêI8Ø`“ƒ9½¶FÊXtgÕ s$&ÿQÈËæÂ
+CPt£¯†¤Ö n‘t¦Oª -pÈióšMŠ
+ݧ$&«îue{ùP®O§o@òÑÊRž)·ât|o+E—~mV¯y0¥bb(jYó%zëèC|Fv‰ìgÈ5¢Òû ëÓ,ÞZ¦·‘Ý{nôÜb\¾wõü_¬ÑÄ_wžƒ“T„,p—§Å‰Öí ‹ôk-*Ìer(1i¿tyôX‚híX♟t´»Æ!\„Ü'ЃÇ5ærââP—jÖiÎan5Hg1l_4•yHÖR%DÜÙáZU@
+ºt°Béd¥üš¹1ðnâî®ç¶áô†Ô‰Ó­À¶èJ
+ÝË©˜V¨?rèõ
+wæºê”Ο…¡Ïˆw~8f”š–÷¨š¦YÒ’ÐT¨çóÂ\J°ð±ÄvY,Š-Ù+cùdÐ5ÜKy¢X(`èˆ"L[DÅä÷." øs¢Ú2…ûŸŒ¢¿9Ðåi¹kä—ÎSõ…#5à—Þ[SÓ•˜&ŽÙ¡R±Õvv#¿3Q²W/;xEÚÜÕvã±ëV„†[æ•ë U˜6õÁŸõ?­fÚy:ÊÙZc¯ðá’Æ0¦”œp´w
+kla¨,¨Zô^Æ}o©èõ8–¯)‹Šs?Á × ô€iŠ³8LIð:&Ô“ ^­¥ÖB ÿ&~ `’y9õ²•˳.eüV²côÉBq 5;ÛLú;ö[õwüÖò¿¥USMƬÒWŽó¤wcª9UgT9¨5Wsσ¸‚ÚÀè ïñ|¥rˆW*éo2ydÝhFªT.Š* A ž`ÑÿyÓ‘ã8û1©.ç“0*®Î}ª_V t¹Ê©(i].Õêi[×lDß½aVN̾ÓjTO;¡l{ädK´/"Ý.è "9Ruþ Ug `÷ÀœÑï ¡ª3AÕÔŽE%)ˆvQýá[ íø\‰ øªÄü²Ä…o•¸À”&IïÒ—øQ§Nr»4Ip˾«·¾BPèP¦\ä¬R>–R-zÊ[âÇò–ƒioʲDçVÔÕK}]–%Ü…RB(_Ï¢lІëgR“
+ªÇÐ*ˆšêC:Ù€Ð
+ ‹üD—}:¬Ö XŸöÖ±âÐõp@ë¸ë|à:
+O[Íw
+2Â÷ª³w6æüÈhù$j±}:¿
+ú±ZŠñò˜ç¶¬c/cìƒfNŠ…ø_¥9bd~êz0š9/hA,Îù·ÂÔý´–a&Òg_å¬ûaJK2ÎýD™yæü¿ôÈ'´àÑA­¶QJU;
+òÒ/=ˆJOú³%ÓÝM¸3¹å2Ñ•Y¬è3×<-”íb$xŸÜ7(œ3åqƒv—ŽÞ+çr9ÿrœíí~ªÖu1÷õ[ËŽ
+=vp0->Ð’Ô‚Ü‚ÎÈÕ[C æ Æi¤Õèt妹/oòå}±i•ª³·‡„H\ÌqŽ½hØ}D Sƒº¦dlºŸé|@LJ‡6gá½Æ×ùX˜Ezm" ¯$.M+¬ã;d3«‡P,¼÷Œ›Á΀v6GzúëTÆa ´Öë(ü“7pà °׉;¤ ¥³›e³û±OÅœ÷„€¼Uš.€D¾Å=‚ ô§Ÿñù?ðógD­Ò»Û㛿Å\ ¡Ý¿nCLš°(‚îV»~ø(ˆ¸oŽÞ†7åZ2-o¸±-‚ñ¾â`+L¼py¸èûÕùb.´êRÅýY•”ªV+gH«¢ã_ý¥Æ®¿‘S÷u`þXÆÓÅྴ¬3<êHe?i5©Ë’[jÉîz™Ãc¦yƒÖíÛCÖ…ûxCÒX€w´.Ü qôzÄÀl¤Ÿ7‹kÅÓûÃ5
+çÄçç"¼dDë%+Aïþ@O¦g%WX/ÌÐ5·µü¡
+è:À ×!¾Ê”F¼o"°»óÒ“]~ä@Ãy´¿œæBœ³hîÚóZÅ ÷†t^D˜¸´¼Ê­çãÜ3 nûâGi¹åÝ-ìÎÜoº1»ì»û(’Su–V´è v[
+ë»Û:cXkõv´ìê÷Š"Šæ¯¾YÞÊ—‘)CwcM¹D(¼Ÿ Ç™v$Œx Ö2k†’žá”þ–TtliXq9N€h½õ¡–%îMÓ3y¦õDÕGP;2µ™8Ø#Uí÷i©¢¤³©>·’B7ÛòYæ>*ý^i5i/Æ}*2ß>~«cªUñhŸÛÿ'£ëÿ‚Ãb
endstream
endobj
-389 0 obj
-<< /Type /Page /Contents 390 0 R /Resources 388 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 397 0 R >>
+391 0 obj
+<< /Type /Page /Contents 392 0 R /Resources 390 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 399 0 R >>
endobj
-397 0 obj
-[ 372 0 R 381 0 R 384 0 R 385 0 R 386 0 R 387 0 R 382 0 R 383 0 R ]
+399 0 obj
+[ 372 0 R 381 0 R 382 0 R 383 0 R 386 0 R 387 0 R 388 0 R 389 0 R 384 0 R 385 0 R ]
endobj
372 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 386.12 665.921 392.579 678.212 ]/A << /S /GoTo /D (Hfootnote.6) >> >>
endobj
381 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 510.443 411.645 516.902 425.244 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 469.627 607.699 476.601 619.654 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-384 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.658 276.94 345.117 289.669 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
+382 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 492.322 607.699 499.295 619.654 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-385 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 387.236 237.308 393.694 249.818 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
+383 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 510.443 383.749 516.902 397.349 ]/A << /S /GoTo /D (Hfootnote.7) >> >>
endobj
386 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.218 185.283 258.942 197.239 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.658 249.044 345.117 261.773 ]/A << /S /GoTo /D (Hfootnote.8) >> >>
endobj
387 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 275.761 185.283 287.716 197.239 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 387.236 209.413 393.694 221.923 ]/A << /S /GoTo /D (Hfootnote.9) >> >>
endobj
-382 0 obj
+388 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.218 157.388 258.942 169.343 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+endobj
+389 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 275.761 157.388 287.716 169.343 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+endobj
+384 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 334.199 93.186 340.423 103.996 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-383 0 obj
+385 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.478 93.186 363.935 103.996 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-391 0 obj
-<< /D [ 389 0 R /XYZ 78.37 808.885 null ] >>
+393 0 obj
+<< /D [ 391 0 R /XYZ 78.37 808.885 null ] >>
endobj
33 0 obj
-<< /D [ 389 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 391 0 R /XYZ 79.37 771.024 null ] >>
endobj
37 0 obj
-<< /D [ 389 0 R /XYZ 79.37 711.216 null ] >>
-endobj
-393 0 obj
-<< /D [ 389 0 R /XYZ 93.716 125.644 null ] >>
-endobj
-394 0 obj
-<< /D [ 389 0 R /XYZ 93.716 115.951 null ] >>
+<< /D [ 391 0 R /XYZ 79.37 711.216 null ] >>
endobj
395 0 obj
-<< /D [ 389 0 R /XYZ 93.716 96.859 null ] >>
+<< /D [ 391 0 R /XYZ 93.716 125.644 null ] >>
endobj
396 0 obj
-<< /D [ 389 0 R /XYZ 93.716 87.232 null ] >>
+<< /D [ 391 0 R /XYZ 93.716 115.951 null ] >>
endobj
-388 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F82 392 0 R /F16 336 0 R /F30 341 0 R /F81 377 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+397 0 obj
+<< /D [ 391 0 R /XYZ 93.716 96.859 null ] >>
endobj
-412 0 obj
-<< /Filter /FlateDecode /Length 4588 >>
-stream
-xÚÅ\ÉŽ$·½ÏWÔ EƒÐh@Õ5-@7Ûs|²-]¬ƒuñï;¸÷̪jÏØôtW&— Ë‹…%/¿]äå§OׯŸ~x¸,X¼|ýõ“¢ò¢.JÞ\œUBZuùúûå—©ÔÛë_¿þL½”Ùö+T˜{I§¤DÒ)õûëgÐá…?ÑДôí+ø—ø„úØ4“!KÿÿôéË×OÿjSyàáâŒÎëËß~ÿ”^H%´#ò…òþòÇ?.¿~ú½èÖëpK¹7œŸ)GŸ)Ç[¦
-eþÛÒ^¥Ÿ[znão›ÿNÏ µ£5žíÐìÖÀ<;ÜhgŒŸ÷*íШF•n¯à¸U¢†[ÅÚñ§y5¶í<ÊíneìÀïãZRПžQüÞù¶éij£Þ†1Ö5hú‹\_qé‡ ½¦­[X ƒPÒòVñBµÕe¼89\óÆD¦ÓÊÞ.'ËÂeîõ°r›¼ñåàölÊ E&j€†4º1=îœ Œz¿¶x¤ymñÀóqð“²ö3:‰A-tâžN,¿ –ùâÑÙr&þ.;kB›gKìP©ÆÂNݧaE]ò 9àVù™ñ¯ŸÆ¸#>·dvÓËl‰á}bÉtš.ϲå'í„2ªÑJãèDsBâŽü÷À¸VÌZºU†LŸzÞ/Ãnd1¿ÉŒÛØÒoyùN¾äår«ž…có<2mj>Ø;V”ðŸµ
-C¯zl™‘]ÑÿîQýoÐÄÐ$€,«ÿ¨G]ø€ú·Vhf"ñCêŸùïÈ:
-k׫¸™mlÖd¬r[çùP› ¨¬`mäÕ÷&7õí-³XwäèP$4+ÜR] «Ìbâ^ú=âæM_»#aÈíLgä^reCe+èæ+Hÿ£+$å¥ÙS}©wùyìçøáüüµ!ݨçŒeJë9UÚûM¯«yÈ€Ró  ·;†]ÏŒ=ÊÔðÞô±÷rì204’â´Kó¤ÎŒé´¶½qפbwú68ხP3Z±ØUx­ª­ö—„»XG
-¤A.m_½îmnpØjÈ¡ ¯‹ÿ†¢Z#xC¥Ù–¤qXí6\ÒΙe¯ÜºÊHHs¹Î4„Q X`ë—?Z·ã ¢›ßc­Ž(qxŽ%œŠTï´sßP6P[áMXf`Í0Pm{æ˜ãïÈ“V»#l9l€mh…ϊϧ3ÁaÂzÀ3zÀ3 `–fÏ ±šUf˜Â²®cÀ:ÞŽ”xß—qyþä:|R•á[±¬&YVC–ñP òÖ £ßx6YŽe`ÃUt
-GÊÕ’
-Ô*4Ð< 8)È@­@ m?h’ "BT+DZuô·ˆÁ( <¤
-IöHà‚t£ZF¯‘9Æ2%–‘I ¤mª€Åæ•íÛVÞ²¥jcL›?-5jtÔjãõµÃê\zª+ ù•§zªÜû¦)o¤”ÁÒ( äHL~>CÕ¢G H¡±š˜Å\§EutC¸7ì½¥ãè–Î,óK8k"(PË À0:ÆikHFZõ®G[^„âÉ ÎƯÆgŽ7èq—ºÓÍŸÊ$•òøYÙ´oÔ²Éôq€Üs6ý=.¿ecAªáí<œ0ÉÉnT ºz<9΢ÞmûèC+Ü”…ÑO¡©ö¾º©Í\KÓ `!úi?ÕxœGŸ¥ïhÑa±«Ãr
-œ-Ùž0O˜È¾Õ­¼W3JÍ#Dè¼ÛÚGâYS¶¬Wñ[œé„·î°îIÄüç¥pt¤ß^)òJœµË ¬SœîEÜá
-²’¥·Ï¡Y¤á`¦6
-96¢c¥ûØ÷­AM”æòÕC>²EßÑÏ3¶lVaq¿[½(Ë{vL±¡¯ŒUÈûí\Ï'¦:•¸ßo$gÄZ·ì÷Ç’S“:ˆóh}˜rÙÇ­BÐN3[
-x„B¢W[ ­½€™ÀQ cpc„e‰M€äÖ TŒôs&€±DZ³}E«u”¼ò›¦•¢­º-Ž}X)öª#:®™m¶l§ƒºKÍÊ%gÞ¡µªœ¾Yë" y$[ý×[£lL›¯
-`¿—ϦÙíoH®åúã\1PšDÃ3,oÁô¼ŽI*ëɹ"Êqu] s\!¨:º§Ú‰0”£Wã`ðv®ŒAú¹ÓÓQüŒþKý±„„¡#Ž€@jY>3`özÜ]¼R·Ý¢Êm5êÓnlÔ¨`æ1¿³FUDÌ4#ÏÆ¢ÎçeëªS£?¤اnÝ­¹rIlãŠK ’ ,!€üÄ}Iç¥PVQøŒÏΉTt§î«7xÙÀ¢ÇÃRÐKYØÁ€ ž=8dç
-F~~ÞŠ`­žÆH«|ï2:.pÇ©Ü槠qEòã\ØóÈ®HÕ}¸\”Ťp-ƒ½äXÔ¢ßT8dòV½ë»YOövš[ßøçÜ~ò³ÍL¹zÇJ›™¼oå›îÌzS…MñJs³[aã¶x$ŽwoZZ‘‘Ç5&å;htÀŒ EͺÆ\Åôð½ÁϾ¦¯Áìà ¸©¾zéð”uV³ü¦í@˜ò|š ÔtUjµñu êSd"ÉÓlõ œ³M¼SQ„5`Ì9%Uoƒ]ç}M.íGu¶X­åJÓ..-›LÔ¨tŠpý‰vr^â.Ý+TN„Í*ì‘ùO¦À»;aN¥žNÚG“‡·‚È)†|
-w} Ê©“šˆ}6
-áÈúi4JM6¤ÅÖ¸R «£¸OzÓ$cßó,<—SñvW€}2+çVkÆÔ·ò9 =%Éý? ëÔéÌ-6Lk}R‘Oú¡3€>ŠQ1¨.a ,ð¹V™¦
-ÈGƒV Ðfžè{â$ü*Ã<cgFN²N’I²sïÿ†Š1 K
-ãí2ú[Ì6s¹M:3'צKµÛÓHÖ4¿)U_·y7MÜMëLÇ÷»OCˆ(ÛÌ£¤¹÷ù>”†ÀýÂ;'¡â(ËA/×)ª–»z(-wõP¹m-,­}j{æ*iúhlêu•5¶–z ç¶%¨–Ú†“lç'K¼X.éî4û¡ò®—%Îsše%”õóqàcU(\ê<õζ7®õ¸ÀvØ漤cË@šð—óûÜ‹9²àÚîpˆ¶KÑC~tìÂm*]H­R)Oµ <ýHí*1—Z]û‹Oö”ä¦_ív±{ýºö<¼ü€)v?Žf£ &efävi÷t{€`S•)ƒÃçK’”–Bªy yWÏJÂíSï3£ÓÑszáµõ–€ÿµ«©ó;µoñè³ÑtÍ¿ÅRÕl}ŽL&•¨9­Ù^,‰‡öf4S ´;„Õ¡Wì.<T€¬Q’·cç];RòÑÿð‡·S>VA3"þ>©~ð>)(AÁDÞ*|1¨ù0?Áá@Û=Ú]m€¹vhEI5Wv=©²ÜZldwõ¼áú, A yLñcX,~£a“Ò íhóý¼ù{—YÑo:þ}Èv
-]AÆÂÖ ¥;7tÀžzº×haù^‡m-ÀÆïî¿œyœE´ùÒUXçéÓØ-¤½¿/Ø_C)÷Ÿ„)ʧ°|ªŠ6ƒ
-¦ô0O÷úðÄi¸íw´‡xWí
-endstream
+398 0 obj
+<< /D [ 391 0 R /XYZ 93.716 87.232 null ] >>
endobj
-411 0 obj
-<< /Type /Page /Contents 412 0 R /Resources 410 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 418 0 R >>
+390 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F82 394 0 R /F16 336 0 R /F30 341 0 R /F81 377 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-418 0 obj
-[ 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 405 0 R 406 0 R ]
+410 0 obj
+<< /Filter /FlateDecode /Length 4007 >>
+stream
+xÚÅ\Ko$¹ ¾ûWô°"‰%†íéõ
+½P’êŽÑ{åuÈ…ùË;pG«„"zV«‡§¤Uy¯"×¼Pà§Ð(W>ÏuÝ¡ÐN_¬ö±Zg]WR °ŸÐug„¶næüSº^5²Ëût¨ï<;=Ï®o¼2ÆÍkWO_“NÄŠÎúÂMU´&}›¥¡¶òå[wË´}¹d‰Oø~÷‚6§ûÖµuˆWã˜r3U†£Cƒ·áŒmU\+¡«e¨§ƒ “ sëk¶áŽÎwÊjYÙ,Hxë^¥1iÝó¾íµF+Çû…3š)h*_ˆk{®Æ ØJö3IF·²åJ–üŒKf…í8Ì\âžKÌŸótaÛ(«Êà´PÚN“EM¨<cÖ¤îÛ OÓ”´;V—QÙþ»÷WØùËjë ; ~XãNÚ4ËV•¤Ú˜Æ+Óâ Üθ#_
+5›~´™£$Ke5+—›H?§ 细±L*|ÖMªœ÷+^eyÈqòð‘ÛíÁîÉ„9òÔú£cçätª3aÝX
+Ó¢n*š&8½hm;Û­'/PÖÃcƒ Ïã`¯Û5íÁ®…1RþýïKûû/“=*,É;JÅ ! ¯‘ïò‡Þ¤ŽÑ*ŽÞFŽ$~ÉÖ1áé§$³9W8e¤ÌÔ†½JáÐX++|dQ2«ö‚ï
+súc¦Uc‹øí`OËL¾“¢£"'©>(Ç4i6ÌkÓpU^~¨¸v;}ƒ9 KªäÔû;v7¯keØ«y•½îÔƒ7òLQ´0 fêãÂ{¨…ÍA¥+JÑf.Ý»+YØë ['cê1)ahؘ²9Å{%;\Á{þF®‰”þÚ‡Í#N ¼7,L·txÜ[O9…ýئ@½o°˜¹½¦=ÆÂÖ=>¦¼ãÌy0Í´)ÌeñN”$Ó^ŽT²¯ZÖœ}µt΀žîøÙ¼ ìgi—\ýì±æxŽy˜x)r™KèÖÒ-R
+6È0–a민~=|ÊÒ'黎ŒÌÛ2¨á
+×
+Ëá”1J84-E6:Ž‰ðÂùOjÙ«ÑŽ¤!¤VY¿4CV8d€ÁºÒÃf„ÙèâIÌ™¯è!dUdуŠ|mB¨ÊOùËvö7'ñÒìsfnxG¤2Ñ(d±ã”ÿc–Ðk!íp\)›6[6t§tÙ²ªœíü œ'~Þ#õOù¥rx)s”ýÒ¬eHk™ªÁó¨|ÐûRœF•@éÈRz†}|‚‚ÁÔ¶Nñ…=ŸÅ hÏÖS‚'5ÄäAðâ–Î0>ÑÒIZ=“UC{ž¹-ö/lPܘ~3eŸË8Ï¡ðÉ@µP¯59Va“œÐi <öxßWTœ–oÏX¾[ün£1-þ$j P@m’Öm³ºø›¯Bå¡f®òÕ.Ы tÑaœò–à_&>°Þ ÿ`©!¥ës¦-{­hìCÅ|ÄêÊõI/ C½O5×åØQ›eþï™ 9 †âó ºd)õ®Ä+r¨>sÚÄëÊgea’ÀÉ•×ÒÒñ=žQíãêô-OR9_a,ÉæM‚׈έ/c¤'g ÓGyã·ª¢´
+¥f
+Á&Zg7-#óÅR6ÖœqŽÂ¬éoÞÜa 쓨èŸc—cá Å1–%Zf(6ÅBÄ-N)±!,¨y4îȃ¥»EaR©´\|Kº4nt¿Js¬¹G•¸“·L£jEµ·líìX3͇£Å>"¶¸-u[t¶EªTÃúLS³lÇ9¥. PiÎß½¤?þöµqNŠQ3
+M°H‘+M)Pê•[vv8Š×gÒ’b«¾÷-Ž9ìòÍÎ Œà„žœ*Ò§0Ü¡ý"b;@òmŸË0éSi£À Ó—+`­TJ)®ÂÓ(ùx´ÕPÌkf±7!vMj³U;í­°]ÚV.]s‰±^Ùɺœ…D‰j{kœ«د峂´”˜kÝŠa®X2»¶'õµU’!™”åûÀ÷W×Ø)áLƒ¡êìžš'ÆQ–oMÔô—sS`”ðÒ-O=]™h©Ü?`BÖ„ó¦lÉg@‚ Z?özÔØÇÞE-uåÉßïÞ¨>Ì£ªÍLóUÅÌL3–ÙÊi/ûEUª¨×èŽ)ö-höÖºxrUú%ãYYéŠý9î—BYOÃ+&T;‡ÑÞo`{¦ß6ÈèñäTc4gTu0À« =>‹~ç
+ Ùð“š©|÷#á2­l’MíÓQ)zFçã‘¿‡Ïzd|÷y§€%‹4Kt€PBó%ÇÐý‹)¥Ñ<5&-¹|‹O1"a9Tœf"Ý”¥æQû é¹BÞ9boÁÌA}ÅÃ|R¹€~-+Ä«f»BSn#]U![-÷ í uÅáÆ•Z¨Õ–.%Ê”‡ÝÜe)C;kü,sбƒL ?¡Õòõs¯rŽ{4Äk‹®i6¶Öe ©žv¸¶Ž’¾§H”áÔÃœÊíìRÕy¬®1›¦:>Q˜ Íw~£öLD…öÔ-›$pM/*üA·+2¡ßšöÓž¨“<r5×íÅšegC‡«†ã¸¯? ÅU€^Ð:·!>Æ>ó<6¤•áÇY7µšã"Ÿ†E°M¨—ÓvŠ?UƒÜ-m·¼ê·´œëØ÷ýÜûÀ“ÂE9+¼®ÍÆZs,£>‘Ì#&¼;ÊÐ5£Ž>ï$g„œ¹©]ˆtPRƒð« #>÷ÊðJÌD¢ ]‘ÜúÚ,z„ÇÒ˜gLBSŒÔjë÷j²{cÑ~úÝÁ|~•õB#Î@-`QùC ÉwÙ×Ý-d;¢yn¸•Ÿó`À‡>Ñ™sö”•73%4•ëš£©Ê0w7¶Äe{ÕmÛ]èÝ“$ º<ÊÑžëBÍ£Füðæ YeLoÇþK¿ïhëJ§dÿV^Ÿ˜°ê_i9ÜeHÈ«Üi+à§Ö Òí TGmr‡`ÃY˜§È
+íÜòª{´÷wÞ±óÂi5S0æ<°gÜLžÖyßcJ†×£&¯ŠeKïv¥>ÙÎD-ôÅŒkñà|´c2(öbÝy).¼R²‘âØ¡eïïTŽ”zº*¸SÒÕÊ‘v±„ð‰Ê$/5rûlZײwD¥p£´5‘®Ô¢àê(‘®Ôp4öOžU<R{íÞÉ=™µô«Ô.׬I÷œÄ|ê_§Y¼4âaÏ´v°–ÊŽ½5¢‡œWÇœŒ¨¯åÄ÷â­ëÌýHì^Xéç;?rÚäb%û$šŸþ?á(ýã$®«GÙ.¥Ý˜“ôèÔ ]#N=Ô±WŽ9>8š¢Þïùy@%åCªøìߧlÞç»Ï1ŠQI÷|€„q´P¯áaiaŒ{v/3
+»7¯ë“‡oÄc,èŸF¯Ñ—£¢-3r+Ú=ýì÷Á*CSË&Cø–m„4ˆ¡í†¥[
+endstream
endobj
-398 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 195.455 465.788 210.18 476.857 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+409 0 obj
+<< /Type /Page /Contents 410 0 R /Resources 408 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 413 0 R >>
endobj
-399 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 248.586 465.788 260.541 476.857 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+413 0 obj
+[ 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R ]
endobj
400 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 356.342 262.09 378.817 274.045 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 195.455 369.469 210.18 380.538 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
401 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 394.538 262.09 406.493 274.045 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 248.586 369.469 260.541 380.538 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
402 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 331.385 223.094 341.812 235.265 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 451.762 231.547 463.717 243.502 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
endobj
403 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 333.577 207.451 348.302 218.4 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 356.342 119.965 378.817 131.92 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
404 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 364.023 207.451 375.978 218.4 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
-endobj
-405 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 506.475 186.774 516.902 200.29 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
-endobj
-406 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 317.437 164.208 327.864 176.38 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
-endobj
-413 0 obj
-<< /D [ 411 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-415 0 obj
-<< /D [ 411 0 R /XYZ 93.716 127.979 null ] >>
-endobj
-416 0 obj
-<< /D [ 411 0 R /XYZ 93.716 108.887 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 394.538 119.965 406.493 131.92 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
-417 0 obj
-<< /D [ 411 0 R /XYZ 93.716 89.795 null ] >>
+411 0 obj
+<< /D [ 409 0 R /XYZ 78.37 808.885 null ] >>
endobj
-410 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F83 414 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F72 349 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+408 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
423 0 obj
-<< /Filter /FlateDecode /Length 3283 >>
+<< /Filter /FlateDecode /Length 4034 >>
stream
-xÚ½ɎܸõÞ_¡0M>î@£—kÚÀäÇ·Áœ’ÌâK~?û®’ºå  i•D¾}#Ågºý¹ÑíËÓíÛÓÇW&7K¬%¶o<1|A7¶1*h½iÅUlûö}ûí™RÍ(@©²”ò×— ésú…¸' ŸõúÙ=Á9êå÷o¿>QbZüÿ—§_¾=ý§ Rœ€5›–šh÷¿r/¤%4B8âÿñÏí§¿â‹Šr-¦”+¤ÜŠžrF‰h¼4<“xÃ>S
-·@­OíJ.
-V.EÏ÷(Þ`®­2²©h?þÜÂÍ×/ÎxÕ¦ˆÕÜÈ—œã< ˆ†l¼¼Yx'þµ2ŽÎe ë)É€ƒ quF‹Ü%þè Àñ Ñh'õ A¢ìó‹·$ë]ÍkMÛl)½¶³µÜƒìÐȧVÇ5a²Š(yq+®è œ‹š:ÿƦ§µÓ·ãE剃åÇB§Í[µ ámrÙ‚yÄá¸tœÅœ
-­é®·'©j~R
-O Y¾‰4Ù~âˆ~‚Í«© ¦‰¬—ºmnôû½0,¸!–Â
-D÷àL"†CÓ¤ùòA‚tV#òÝ­„ íàÉ°¹ h6jAúÊJbàN2¶†À¦4#Üê\¼E2DT|@ü¡gF±·=ó²ÏY~˜] x’B\oÇñ¾¼P·j} cBØ”¢D8›)Ù¥…’Ì×)Í›9ŸÃÁ,%´ÝÁ¤Ž»‚[¬abä‘@–ä–@ÎÅ$`Ô¬¶É0B4Ârvâ4¯…êª:-EÉ%1Òl
-4‘
-ê*xÎð’¾)T¦ˆ¢ü´ÄC)ˆ™òH«àl¥$ŽHI
-¢° RTbRµ¡¸h\xéÍÜA‡L!¿¯Ü¡ð#mM'ìR¥9‘Lã
-ÈQ—SNkô£$ç4Ž:LÐ Ç"P5 mÍ¡x ‡+ÌËO¥×˜WGj‚„Wk†š·xA´ª™Õ a#rx=õÉ-1æIÎÖèÂþ^´ªŒi²zXÄ2 .`A›O!’âP&CB&¸ŒA"ëL^ŠÐ½ žö ä/÷·Ûˆþ¡2í ®ˆärc‚¡òÖ@•Ãö
-Ëítw¸Îf:ôVcÔŒâs™NÆ!ÝÃy”é’AŽØÝÆÆ5FŸŒ«“ÓÂè ®ð¥):bôWÃÔ•ÍÇÔáásŸóC§»Ÿ&ú¸_EQÊEt±ªSHø”¢«jðky”"¥‰`òMˆÃÜU¶Öš­Ö6rï–©¿ÝÉÖ‹!\Û3Ngkn5ÛµÙšå{·§‚v7YŸ¹ÞÄS©ß⎋‡¸tRÔ3ê×;âW9N¬‹[Ôü¾(¢-fš©˜gD^kbôhq>ªC{
-x¶T˜7†¹+ÏN§>7œö##‰b—?Ü"ƒå{=çgü¨›|Î&W¿½tÍòϧêžO±—ª'|=ø–sDyXd+uiä¾ö.±ä—SÊk'¿WyÿðÓ‘¼Pb
-?zøép>?…'ÂOi?üt£OZ®Br©¹Ær9±=L! QŸwÓ§6Ûù?Ãv¯Ü{ê¸ÝÝzê9;bÉà;¡ÎÑÄ-¨vðuž×-ø•§rJ …™6ßü¥ K´ä—«D–ÏþÎZ;á>²ÖÀ»óäÏÞ=ÊÕÒ½Òb²¨žË›šƒˆw­=¦ãÆÁ5ÑöÚH&p¡Ç›“»§>öµóÏšÂñOöegĵ~î«´Ü=µ¼Ï{ àBfY8W}%³Ìr2Ãø;—±šù?uŸ°Euf…‰rRRNhÍ;„ïʆq Ü‚çr^ŠÇmÆŽ–Ý7ï‘]ÌÔ ¶I[Å1æ0Õ’~<JQ†&w­«RE´j\õÜŽÀÛ] "ÑúJæ
-åôZìh·‰ˆaa-ðU‡ãd‘;ª‚bšAy•“¶Ÿý(¼ì—[0!1LWHfJWZ`Æ™Ãòòx,¸6=¬/:Î\Tw@S×,«huíÖB›AÛ6t~9å¶ÏWìñѦé]²½•@Œ»úS‰è©“)´uemKMhë¤÷/CÔBë=™AM•óÝu#cntØéЈGS+Ÿ§#SZg­œMp´zn›ëÄ­ç1ráGfÿ¤fŠ×iÕ篪aÖ{7­›þ’.J/Zîìú ¸ì=–šz\´ÓEÌðÚ6jƧU×ràoh±Ì¸ž!Up]*C¬-)Óܪ~ö¦®X0_zzÎδï®ËóLhUõ5OOûž°Ýüµjæ\~ ¬"™ûôÛ–£ÃRq7N ¬Í ŸÅiÁÅ{*KM@˜þOˆA
-¶îm'¿Ë–t+½}ÌI#„©”h‰7uµ•ü$Y\¤¨ñÌ7z{àßL“¿®“Röü×|ûÎAákc©ª†eu(]‘²zâGTý’ gûâœ00ó:€OèÜëm±#S µf×As™æ‚yõ9úøBZkêÒæþÜë§ù£ÂV:à¥uÜ7tÜf16Ë~²fÔº
-ÕÕ¿ýŽÏÿׯnÃÄší¿~äw "‚(ææý{ûÖ¡¶`›t‹gÙtï|Æ°ì¥ÜÇãfÜÇW9]=[N4F2$‰Êæà{ÜõòQåûºùJ¦ê6×ó#ð.X³-Ü6•ë
+xÚ½\Éη¾ë)æL“Åø!@ãÑpNIt3|JbâK^?Å¥¸5ÙÓý«e£¦›K­_Ù]ä·ßnüöã‡û—ß?…¾yæ uûòë7øMÜW ¬½Y#7âöå÷ÛÏoœ[þQü+~à\9Î̓s ùòŽdÕt$Éã@êŽÀÏ#w^¡<vöcoÃôœë{"!ŒD× |üNJZùàÑþjAwà~%*´Ê”¸Ä–ñéw¼ÿhdzgÂòIW•M4D‘Ø<†ûè½@•‘ÃÄÑ¿ÝÒ—¿ýx67ü•N·<K Lº 1ÅŒ5ijcù8Ïú[IM*Î>HM»†’FÅJ3¥•4‰öÀ¿áÄeäîA¿"_*_%ºh
+¹Eè-mÑD”ãäþžá€PÌ é#-À“4uØ¢
+¤ç<¡“î6¦¨{Í9¢h&þ %ë¶Dœa›1+ÆÈ{ºÛd+}†ôhDÿ܉!Ë\E ZI…BÂHÑúÞÉ^ùžqšIU„,Å«ü¢úÏ50‡ã ㆱ,ªÊ|ÞA0›C ÿnãß?~»­n5±8¢·r¾Ô4ÎBˆWÖ­ %§€¤‘ú£Mhfø¦¿\>+¶"ç ?%.£Ï‹¨õx-åwI*jýùœ1Ž*^(¡¿Í˜Áò­8úd<ŠÖLJ,…~í‚ì{"?RîÕHùñÈ¿Íí6£˜'›…”r$‹^:|'R§ö] J#¼
+TqÔ.P¥yVpG Á‡¬$5÷Hëª4Bä„|©Ð" ÑG0åν®,ò,"Ãk¸wŠSd6C¿òm‹Óˆ‘ 4’cañ”!a"(Ì@)+ÀÄV«4O<©“Áòj¼u~‚ázÕŽÊí&¦¿\yäV#ß[ñæd´SÆ;R+©%s.xZXFêÞ?[ˆš°€#Å„²: Q` ‘ÜK&SO€l´‰Ú¼Ü·Ñ1òò?/h£Ö¬«a¶×v±–G’ùÔêp1¤¼·"Ô½ºb0p\³M²˜tµuú¾] på
+e7´=QÃTiµJâã]rÙ:óv Õ¥s/JÜ3­ôm´'mZ~‚Ò Ëw™&ß$0©E…ŸdófjA
+Wt—CƒÔiÓ&ŒÛ,¼Wv¨¤cžÃf”`S.¢…›É?JUV‹XlM­DJ¦¥ïV~ü5YeŠÏe%ùÔ>Û]Ùæ’[×oöqŠªä¸¬Yg±cþÔ—k9f ‚vÞ²‰ºÓ­Ž!=Èêß·îç_¢EÝPOÆH×*ÏzLŽ0¾cóy*)f” £iàupU‰%×Ëûv2»NØG‚O*¶2ŒúÈÆp¯óÓòòX1`Ñܼf[¡} 3©}øM®`;ÒÄz$WR¼Ù³tuoNƒNY%}»WÐy®Ô ®e€³¼wÈtÌ«t“z‡¥F9[Õìôæé²ÚÓä #3FTÔŽÌë*¼`÷©wk"IJ¨œînÛÇ䔹Mïia¯üMǬƒ6¶ô£ñÒBÂÈù8£Èqrj¸ˆnª.œVc*Ãœ)xSc9—“‚­j­³lZ¨NZÁPb|–­TCR?KYJÍœv7}ŸÏ9^Ò70 Pæ´ÔK)¨™Ê7>‘V³—’:"%­˜Á|H ‰Ym-%€qåe´ó0:
+åcå•í[:a—*‹‘F @rmŽt×YýV’s·:Ì£+ŒÛqslÁ zƒ«‰`¢îëqKÍ+  -gBÃ{œ ÕÌh.P…/ðvê*J!Kõª•´˜dèµÜ߃«Æ˜&‹‡˜)Àå‡0 Úb QBã
+Å.š¤@®0C’¸~oByÍA÷B8m @
+`áï°5&6¤Œž6”4˜‰é›P¸1eg  ƒiw@Þ,.x0µš{ÄÇ ê&04ĺêV?q?†©ø‰[4õg\]ÍWsÅ Å8ôvg»E‚kÔ¾{¶»EØŠöŠðk³S$²Ì7}…õ95˜CdE¤35{¢iŸæ`Ž2ŽÑ„„éÌN2‹v¹‘Ã*Ñhdt„*
+O€Ï8Ó>ú ­OZ®å '¸ÆrÁ$z˜U¨#µ[eµo½ý
+%Ÿ1Uš¿2¿¬™BurTç0 ½Ÿ^Þ-çõ€R¹+%ò#‰Z"JWé ÷¶x§”[8)>Êðµ'––Æþ}ÙN;ûXisýe½[Ê9Ö•f=ë«øp¯eŠ]¥@¬Ã*\–bÚ)ÅZwgl_ÌF3¯† Ûײ4ñÄÝPÁ— ±èJçšö{m½ñæMDèÏŸh+ÆZ³½QBÙÖ¹³Bld2I´k%lÜÝ;˜2Ù o†’”üü ^ÿ'~~
+
+­þ±åï踡ßnGøI#n8µº+”paG[Å·Dµ™òýSO±ÊKf1þ Ìj5ƒ )ì[…
+KG¦Ü«Ã¤ÛÃ9ÂÓÇvã,T4QŠLU‘QwE0bSË”foªÉcµÍt®½Ã^Ò šJWxµ²þ{иTo˜øk¨É:µ´O²¦Â‘Rh?W”ôæ¡·}4åÑÂŽî’è㵌¥/û~¯´ÛCPŠüž3`ÉÀÕ-ŸúˆZ6¶(€-ù°¥¦c.â1?ü­VËD³K·!¿çzσ<éNœ|_uÀC<2#;-ét.NŒ«fW•41”ãh¥Gõhª¸òTq¯„øâ—oÄAoîFŒµ$ClÆlTtL·åJ÷^ ¥<7—NYS{Ž"µ¹^WÕÒ1Éé`‚ز\‰Té{ˆf:©i©oÓêôiMp_Á¤0LY=öW0)$3V5îªÖdwIWökϨUÈ£b>Ñ”/éG¥rÂt5Ä~Òy„ªG­ñS¥ƒ%7)úæy³üHÍu¾`.+žº²YÞÒ´w>Œ*u
+m™(5”‹ª\§P¬ÏG„lÙŽ:ʧ¬«$gÖn{ÕY–ó)ÁŒßØ„~ìϧÐÁmzå2g㢽tš¾Ÿê‰±@9ÜUrkæ!;±ík:+‹€¢8'T?¦Ä¸Å‘Ö¼*N<Öj#a&á9ÖDÓao%)‡tèQ„H§Þ¹´‚bT¢ƒÍ|‡`Ä[&œl¶½@¯Ú÷«›TK9ÿÖu'»ylƒy?Z(ßÏ°,˜ž)ŒÅ•Þ0–Оȱ"RÜF-Søè0Ãó·öP‡&)y$.#~8wâ4œ4K{Í<ÉY;J×oÃÐÄ>ŸàS„‹- ã/R ¹ÙZR¡›uœzKjay#¸8›çÃzÁnÝÝ… 3K¸æ«ý¹ ¼(DZT£e¿ÕSe¯ ÑÒƬ`zCl ý›…dJ ÞïaÓËJ5LØSL–ÖØìû3hD
endstream
endobj
422 0 obj
-<< /Type /Page /Contents 423 0 R /Resources 421 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 428 0 R >>
+<< /Type /Page /Contents 423 0 R /Resources 421 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 430 0 R >>
endobj
-428 0 obj
-[ 407 0 R 419 0 R 420 0 R 408 0 R 409 0 R ]
+430 0 obj
+[ 405 0 R 406 0 R 407 0 R 414 0 R 415 0 R 416 0 R 419 0 R 417 0 R 418 0 R ]
+endobj
+405 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 331.385 758.132 341.812 770.303 ]/A << /S /GoTo /D (Hfootnote.10) >> >>
+endobj
+406 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 333.577 742.192 348.302 753.141 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
407 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.892 745.619 363.319 758.348 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 364.023 742.192 375.978 753.141 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
-419 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 303.231 254.112 315.186 266.067 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
+414 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 506.475 720.921 516.902 734.438 ]/A << /S /GoTo /D (Hfootnote.11) >> >>
endobj
-420 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 225.413 165.945 235.839 178.306 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
+415 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 317.437 698.356 327.864 710.527 ]/A << /S /GoTo /D (Hfootnote.12) >> >>
endobj
-408 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 105.185 96.542 124.577 108.162 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+416 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.892 653.963 363.319 666.692 ]/A << /S /GoTo /D (Hfootnote.13) >> >>
endobj
-409 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 135.281 96.542 145.737 108.162 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+419 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 303.231 162.456 315.186 174.411 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
endobj
-424 0 obj
-<< /D [ 422 0 R /XYZ 78.37 808.885 null ] >>
+417 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 105.185 71.643 124.577 83.263 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
-41 0 obj
-<< /D [ 422 0 R /XYZ 79.37 241.153 null ] >>
+418 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 135.281 71.643 145.737 83.263 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
-45 0 obj
-<< /D [ 422 0 R /XYZ 79.37 220.864 null ] >>
+424 0 obj
+<< /D [ 422 0 R /XYZ 78.37 808.885 null ] >>
endobj
426 0 obj
-<< /D [ 422 0 R /XYZ 93.716 109.842 null ] >>
+<< /D [ 422 0 R /XYZ 93.716 142.218 null ] >>
endobj
427 0 obj
-<< /D [ 422 0 R /XYZ 93.716 100.155 null ] >>
+<< /D [ 422 0 R /XYZ 93.716 123.126 null ] >>
+endobj
+428 0 obj
+<< /D [ 422 0 R /XYZ 93.716 104.035 null ] >>
+endobj
+429 0 obj
+<< /D [ 422 0 R /XYZ 93.716 84.943 null ] >>
endobj
421 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F65 335 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R /F64 333 0 R /F22 367 0 R /F82 392 0 R /F71 347 0 R /F53 345 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F83 412 0 R /F65 335 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R /F71 347 0 R /F53 345 0 R /F72 349 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-435 0 obj
-<< /Filter /FlateDecode /Length 3737 >>
+437 0 obj
+<< /Filter /FlateDecode /Length 4153 >>
stream
-xÚÕ\É’¹ ½ë+êÄ!ApɈŽŽP©T1>­ÛÄœlöì‹ßàî¹tKs°¥îÊ$™
-$ gËneŽên–3uOüóÉÁGv+[T¶…‘ýdfõ—j
-¤½ý'X:þòçè,vܘ^©‘O>Ãz4œëýTÂHW±Ž%J+|ˆªú…¨úòõÿ›E¬päõ¬¡½½ýõ÷ÀÏ ¤Ø
-ïý¸
-{Eœb«·HLe„ݦ
-÷úÕÔ3›ÃJy—°Mœ5u‘h„%§ ªlÑE£öC·´AØ“¡¿­}ÐÉÊŽBø²¶ˆBª‘És1
-disr¶sš`sŸ$<N4Ù0×/¹@Ü¢gÕo…rŒ! ÕÊ¢Ñ>Ï}‹Žaév|º
-¢ÜˆlÂäÊ>Ýl€»)%ÙŠ¥O_+sÀ‘›é 8òZ@{¬ÜÒ𘄱÷“`XMÁ¹&ÀI÷ά<²UŽ¼î
-¥õ9âõùú^žœy“Éî¥BjÂesYi¯©~;‘&^@Ô½´tÏœÐcÚœÌcP÷¢„¨…w]
-©Œº„~É8 iþJéb)ÛðP·áac^®‚u[?eú‡ýðƒ[_>ðb«ú¦sh–¼Ï*\dh§ÖT„âÕKžÊNJ˜qRž·;2z‚— yzº40¢³ë'4G“Y¶‰ŠRõ}†è.9Mt»óHPRÜbÕHñädc”æN¢4<Òz€Íº•¿Ó8‚b¡}dª¬Ø\A]'é÷+)1š¢(\­¼×MÐûñÝ#ܘӴ˯èÊIýÅq‘@¾–è[qÑ'êSSÇ
-Tl¿ã[´Únãúo×^®„îø
-†Â¸€OµsÒ€"S2•#­n• 9=`½@
-¨†Õ8”¤:–£yÇy¿BF UëÓ¼v?5G*ªu1i\—\LbÒ¬1Qy{Ë4Û ÊŒ]ÇÅŒª¹š4aÈZ5´d-š57)¤s×»
-ÛOkÛ`§
-É=.b8;²÷ÊR8V­ò–μ½óÏ×$ØJñiGA}û†) Á#:åôŒÁ"T€®ÇæÂ’çEH¢¸ãû¸GS=_/•RÏU‹.í‹ÈŇ/Ïr›·_ž1KµzgÕXK#Œ%ñ¾*Þ¡À5©—0<(–ÓÑ®ÊéEÔÅì>Z°9bìª ¸›áæ¾5†¶9_5h†$dרP ¼u§ö£î§ï ˜lïš@ã,Ût4Ù¸ï0hoĶ™o ôR‹õ{´øzYZ‡ŽJ÷íUé”)kIâf1»íÔwšHuÎEEˆh;Àt­^“áˆ]ðÀJ~òg«v¯±í*¹a·:*sï¼äð×4÷ò·ÊëÎÝ4î
-_}\Þ—¼8¥­c«°ƒöŒÙ„¬È]+òé-ìØ™ræ×÷‡uqè4Æ–™&;q^fs3¿c»-"N‡ºÏ€òyâè²gÌçÝ×}Yš¼Ê µpCI¤ Öçó6;œ7Di„Çƽ²{†T|r•:à†VÎœù”&ŸÖt¥«ûhûäšYnR}P™±›àÊÁªÝ9µ€š.hŸ s0ÓžÁ”×Ä7œÁ,µÝÌ)åZ–ÊOáX¡d$em(é[^ñbÎÔE°y¡këÚ1_;g}’#<1ò2$¤
-@¾ØæQÖ3C•¤ ¨9Ý×Kš¹E)FW—W[ßšôö6&={œõÝÌíÄæÇ­ø`nÈmXÐã“:³ÐÖ]h{ )/šÛu Q¬ Ÿ+±5½#0ÕaŽAé°@¥ÿ/1¢Ýûï°[R8ËFaùÞº¯jZä@˜ÍNÏõm´´»µ|Ô"¨gÊO2͵ñ”ô©>ÄKX(JÏ}JácMúà—ô!˜ù®ÆHüT߈w›È‰g²(ðï-È«WÉâéböÖÖÑìL¶ñ­ô–D[æÎ3$ÁqºÚã|é
-8^ÑÊRl» ØŒWJÛ./–?ÃÝôŠ^¹Öô¾ä’Þ ›ìãÕ7N ™õ5Ù}]¯1ì’Û«ÇÊ;LéÇŽÝ°ú°ÚÆ/kq+tÞ36TMmp¥áï~Ø3éqÑAÑðgú/*ônwÃpÜPö5F }“,+u-àTENËn®æÃøEhœD§\íáŽÉÈ:b£oiryMß”‰sO¡Q꬙ޮ
-V¿Œ‘xÕÚÂUm“°…©I8Å°&¦§¢­b]H'Þ-UöðM=õÅ; 4õÄÂq»±¶ÛØ"ÍÒeùꮬ^Ês‡›ÅÎðsÞ /ë0àÛãQ_Ö­• \ÚäéEÞ4soWÚÞ‡£W= ïD`<ð™²LéõXöæ¸Ù¼`&‰ñ¶°¡W@=Âm%¢„Ó[óÔ¤Œ¾©úïøº‘ÒN ƒñoìÎT„4ã"Ø„|:骓‹W¹Ö/ ô!"4ù¥¨Ë
-Þàösá«TàŽkZ ­&yÔ°w•?›ß2;*7ì%öë*'å¦&îZë²Î)ŠGUè«ûåWºü7úü:¤)¨þoø{<?V…iÿºýåÃϹ¿ŽBY:áÕ½F ¡° ð¦dx]Û,‚ÛžFßM”´`31¼HgKQtìê‹kN½úAÁ]P—]•Á=`g°=øfª´N׶wºÂ01“*4•›‘þÝÓµ€'ÁO«ÀÍ}Ê*«…é^þÝ›y«¼ZÇ28B[ƒßm9ö)ÕìC½#˜»)¿°¿'j·Y¡jM°ÀãNãô½òVÀüŽlƒSñ­Ã4º)”T÷Õ5vV:wÙ-%ðÞKWu’c1fn­}Ã¥^ß”J[ ]£ÒëQêÞ´æ1„RùÿBÐ2›A[F•69ä®ÍI'úf„ÂP&
-‹ÎXdCù?W—¤T
+xÚÕÉŽ·ñ>_ñ~@4Y,n€0€ÆO#À9ÙÑÍðɉ}Htˆ/ùý÷½»ßH:ÄÀ³¦»ÙdU±ö*6¿ýyã·OO/ŸŸ~xÕx‚9¥„¹}þãIÐ~7ã˜47£ãZÜ>¹ýúžsé8W–sýòüNpÎé–¦KùJ?x~'òw€~îY
+úÛhÎÑð÷àù·Ï?ÑŠ
+ÊÂø#]
+¿ý ño¼V¾WÒä« t %p„:
+¯e3~Š“§¼¤•_âÏãƒwÿn€„3çù‡þÿééãç§ÿP@KæP(ôЉÛï_žü£ë™LX{û럷?ž~¦ \aF—4Œ˜ÇL$,<äH¯øÜ__ÜkIL‡ÆN»fÌtòTÑ÷ÌK …èÚØ–~=Eû¯i܇7ÿÒÞ®!ÞÌ»95Ü„'H0È°›í.¬˃0)°”IRÃëÞ†Õ¹!w ÁQ Íü^%xŸFë÷ §1¾Œ8&,ÂÈ"ŸÜ.×õ»ê×ÍOŠt‡§~°çP¡ðûî¥ÎßSöùJ5JlXël#EZ’á6i'óÝ
+-ȼc¿ w¥¯=–¬4SÏ Ç{É9“ªðg¦B†>¬Y¸Bv,·’hÁ{ž´…'Ã{ö9hQÿÔÈ|7К'nºGCt¯Pÿõç-þñË'/yú¦™3ÒªNÆA3䤽8©S¸TyþvQÛ$Eq¬§i›™D³ÒÓ(ñ\§ít@Ã
+'¥=žå±ŽÌ3,©Ä«¾ÉÖÎÏ›å$s\‚¨“Ì<o’öˆ¿]š$,•ñoñö””èmÙ³Ò C¿ž¾ŸRYI1ÍžñÁ¤““î˜%Okˤk?@.àÔåI#Ñyì=­úÒêöÎk‘×í÷d òÜEld|C­=t&Ý]KýÒ~ŒZ¸ÌY¦Q<®ßZªcw´G¢½Yø`™/Ÿßé@£rh OO‚¥¼•üºj1òÒùïÒ–û[îâ¼ —™â^NùšçKâ¤Î¤³ÌHêÕY}[q
+âtEÑ×°tv@Á¹ÉÑæÙe/.(ï\s¾|c4ñqæþ­uÛ¡cäÓv"©—!ÜìÝ—H­ˆ”=r¾ãûÕÙêõu|fÃ!ü±ÑéO»ÕqÍs'lgô8a«Š£"?¶£gC,æß_©>¿NH$Øv¼ª ZûŸÖ;•6²“ôÉÁ°j²–ñc¸ßÉIX9ÃV{­¯+¥üžKgÇ7¾?ÔÓæñ@X%Š°Ó—*ñRº¿ @#­MÚÏ O'Yí÷T‘ª8´®}Åäú»<†1ó[Ç°äQÛ½Ç,¯ºÌ8RO¦ÄQ«µmœ°ÞÆ÷^’î²e’vÃu¡™7ÆiÄê!O9؛L­Ý‰S£˜!÷d˜¹‹hÖù=Ô† ëÆ7³^b«û¹!s’Ü6;Á ¦<Âé(âQsÄãYÀÎùÊE¤\€Êj«ÉY ÑGµ‚ÛädÍ#8`G,ZöŽkÊ]ðc“¢Cœi£‹2¦û!Ç©BæáÈYTZŽ÷xfÀ»ÚÏ﨔×n£CïxK},âñM‰ù¯ Îs3ò\Bhœ­$›xOzã矹2›y gCÎJkâ0«+!Wù3!MÜ©k/28®úð?ä6%˜0ᛤ¡,#–]d™n½ôr—Êçu²Iõ¤Œ³áÊΈ.ùæÈí¼ª²UJ3ŒØXž…ª’8ÚÇUê«M-”´ÄoVS+¸N},|3Ûz%Sb¦—Ârùé½FæmDë/¨ŽDhS«Øá4§ö3ýJz÷Ø JTŒ„b¤ä·aòÇóZ1©äÍÒßU‚¢aó#:œÓR”BÙ™¬nÇb@¥»ç*S]ã^N
+óç¢Ùøü˜gH?í“Üõ"$ºÍÆ)f…ñÌ2,GŹ)‰¡”fÑ&S” –ÿÅÔ{ºøe,Ó‘2’¶E(Îæ2/Úܧ‡j]¦[cV¦ë1KRÌÐqV
+ÈQÒžkû¼{ãeÚ›em<í ¦o ?E‘dF'Êñ†wR!$\ÏöBJZV¸y/"ÔR&ý·ñ_÷æaQåY³ÓðÀ2˜ìŒÄï í——2À@â Åwtô×Ë¢N‰SÎʪâ›}Y5eã´Òé8(Ù .Oî5ýŒ}ðÐ¥¥m)Fì,ûƒÑÌZ;ÎR
+BSxõÅDr±Û,@¶lmF
+W3ï:
+z;¾á¡1%ÇÁíN¯ÅE [w¾¢Pŵߘ)™¤yûéçÝ\ ÝX
+…¼„ô8ÀÆLmÄ (,¥hr€Ô¬ò §
+%7\4$`Óê]¢†Æbèü|˜4d˜åRÅ°/}õ›(gƸe}óÀ\J²Þ»¶ÓÜðÇ)|EŽ“({á@‚T>9» ÍIùaàGÚÊzÇœ6»_ÁK€®Åæ”çɪ*‰ñ2nÒTΗK®”sÅ¢ Cûr±ßKansöK!“ø– Û WL™‰ß〱ÌrW
+õtÔ«zz!vѼ÷ÖÕœÝaìj ¸ÍoçεìئlÕÀdú$óAÙ5û˜»Déÿ¥(aÆY®é0 hrqß,\Ü0°îkùäcù¶ƒ7W‹ÒàDȼ~uQ:&ÊZ˜r¿˜v›²ó¦4.¢î|¦kåbð爪‹Ðq!L‡H`Õñµ<ŽR‚òNVæßyÊ)Þ+:®éïÍWÿÖ¤›iܼΎ¿Î ÝÂZ9“ ‰“»näS‰-ì%v†<ãk{i¥ÎŸ!ƒ®t^æró¾cÃ-"NBÝç?Ñ<1uÉ6&…ófÁß0¤¦a š—BßD@‚µ´ç¤Í±ã†(Îó ;¥7jÐg$+pZsÖlÌ¥4¹´¦·(Þ½ØGÛ'ÖÔr‹êBåmr_ VíαTuû¼€Ì§ÌŒ9M|@
+Iñ æOd_+iäeYí]m|kRÛnLx^9¬÷–ÖH pvÜŠïàå*
+â5Èq¥‡*òË¥óó sŠñ;`ñ„h½Øÿ+N8òv ~ƒÝ¢W…’‘Ÿþ_·îòoM{0åô´®m‹£¥Õ­Å£@-38C~’e®­ˆüH;á}´„¢¸†ïQò?­â?Æù˜ojŠÄõ,@xÚÄMùÍlŠï÷ˆ?+èèzUëøÅÌ­®£³1qã©xJ¢-q§7½È<jôŒãÝÎ3N·®xÆ+X3Ûˆ¬Æ+¤m‡—lŽk†s ®œÏMk<ï©œ7Ð&Æp·Æňj} v_Ók;ÏËöì±°ŽBSˆé`lÞØÕ‡•¶|X+·1Ag=C3ÕÔWšý^ŽÂúìôMŒ¸èžèŠ÷îìŒìŽ¡· ƒ¸!ïë‹úÙÌÔµ@t৆“Þ¶¦Ãò1hlDǹГ›%æˆ »Å—Ë!|(1Þ=õŒ–g+ G1üß™Î`ìò}(ƤdÁ b7yt§s–ñV¿Bp}
+Ö W;p)S¯ÎøbÃ%y͹à 2SaÓõt²NÃûƒ‚…NDz›(¼2mÁ@‹¶?XÏŸþˆ¬ŠŸÿ°Kèï›O䄧¥Àî¯Ä«<ƒx“=¯X0n7Vw[¨Yš¡t¾;ùVZ.é¹Áf±³KŒýQæ³KåeÞZ©À¥JžÎñ–ãÿË]iÛŽNz’»Ãœt#ž1ÃOÇÖrW%­e &Šá¶P¡W|z’4f<Èô̪֥Úªº¶¦¸ŸÎ…ÓO¿yúõ7ºýúýä»S)¨ùoø…œ)dZø×þ}ûûÓÏ©·‰B ‚Ä¿Û@béž Ïˆ†rñÁ‘^•¼zÓ|Í{þ áæ8 jŸú³uÙ¤*lLjÛø”§ZæíUþ
endstream
endobj
-434 0 obj
-<< /Type /Page /Contents 435 0 R /Resources 433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 440 0 R >>
-endobj
-440 0 obj
-[ 429 0 R 430 0 R 431 0 R 432 0 R ]
+436 0 obj
+<< /Type /Page /Contents 437 0 R /Resources 435 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 443 0 R >>
endobj
-429 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.04 576.254 345.014 588.209 ]/A << /S /GoTo /D (section.0.9) >> >>
+443 0 obj
+[ 420 0 R 431 0 R 432 0 R 433 0 R 434 0 R ]
endobj
-430 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.852 576.254 450.807 588.209 ]/A << /S /GoTo /D (section.0.9) >> >>
+420 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 225.413 697.31 235.839 709.671 ]/A << /S /GoTo /D (Hfootnote.14) >> >>
endobj
431 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 504.396 294.837 514.823 307.566 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 338.04 483.064 345.014 495.019 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
432 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 323.794 171.3 334.22 184.029 ]/A << /S /GoTo /D (Hfootnote.16) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 438.852 483.064 450.807 495.019 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
-436 0 obj
-<< /D [ 434 0 R /XYZ 78.37 808.885 null ] >>
+433 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 504.396 227.826 514.823 240.555 ]/A << /S /GoTo /D (Hfootnote.15) >> >>
endobj
-49 0 obj
-<< /D [ 434 0 R /XYZ 79.37 449.94 null ] >>
+434 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 323.794 119.882 334.22 132.612 ]/A << /S /GoTo /D (Hfootnote.16) >> >>
endobj
438 0 obj
-<< /D [ 434 0 R /XYZ 93.716 115.197 null ] >>
+<< /D [ 436 0 R /XYZ 78.37 808.885 null ] >>
endobj
-439 0 obj
-<< /D [ 434 0 R /XYZ 93.716 105.57 null ] >>
+41 0 obj
+<< /D [ 436 0 R /XYZ 79.37 771.024 null ] >>
endobj
-433 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F75 338 0 R /F22 367 0 R /F85 437 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+45 0 obj
+<< /D [ 436 0 R /XYZ 79.37 752.229 null ] >>
endobj
-446 0 obj
-<< /Filter /FlateDecode /Length 3914 >>
+49 0 obj
+<< /D [ 436 0 R /XYZ 79.37 367.336 null ] >>
+endobj
+440 0 obj
+<< /D [ 436 0 R /XYZ 93.716 99.585 null ] >>
+endobj
+441 0 obj
+<< /D [ 436 0 R /XYZ 93.716 89.958 null ] >>
+endobj
+442 0 obj
+<< /D [ 436 0 R /XYZ 93.716 80.331 null ] >>
+endobj
+435 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F22 367 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F82 394 0 R /F81 377 0 R /F75 338 0 R /F85 439 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+449 0 obj
+<< /Filter /FlateDecode /Length 3946 >>
stream
-xÚÅËŽ·ñ¾_1? šdñ ,ÐhµœSÝ Ÿ’؇D‡ä’ßOÉâ«Ù==«µm`¼3Ý|Ô›õ¢äå·‹¼|yº}}úáUëKÑig._}RøB^ÔÅGþâÒ©Ë×o—ŸŸ¥„(¥ Rº[ùûñúAI)ñ•ÃŸðŠ}ý
-—
-_U¨_RGÒðGDÊ[èh: IR,Û(ÇRi^—åÆ—µ [ËZ˜HôDo 3ÏmÝÌÎ
-…Í0§eÅ¢h‡Iœv}!"Ñ&éϱ™Ä;3Æm|ƒ‰!á¹+Fdø’@È~l¿~[Å<7<XôI÷U4Êcn+¦ª€:l—\õ$:Æå•]­˜µ:S­*®) ~Üå¿d’ùÇO_HõÖÖŒð¤z#Ìí"‚²Xø]dAhجRùãÙÎhïJ^µä'¿e…sºÉx¦/ŽtEµµ›ìv™[Æšn.›¸<ÂË«uÏ͹—žE9ËX†MGyºc:
-?ui:;Š”·9×t²‘ôê–—Ì›ötiÉ\k’Q4f!sÒ ãZæöŒSáÌÿ6ó”
-rÖ®:—a77¦j;c“ÍñLËAO%^=ÍIûñ*ùÔ®øØ^Vc²g™c´‚¾eŽ×Kð¹×ñk=6Qzê÷´åV‘8õêzò™Ë&…t
--çÁÕ•8…'N5gö$—ûj<6RÐ4ጕF'h5ƒ%OPP£¨¡"ÌЭ9¥QÄt˜Ui_™ƒ2Ú=»ý>ÚÍ:6îeÎÛȪl[hŸsÓÏÍûÁZx” Hr Ý{@ÅÊ1îcã-d­˜æî¨{ŒÂ¹Íè
-.¥È£ú˜sB´ª¼\}ÜhÔL;oñFï”)8,¶tNõ»è<Æ!QÍÛáW5ãÔ=/bìNÔ÷¥©ƒÉ£`’ƒìš ÅsuynG¤Û¬bŠä«ö SÅlšÍÕ°œ«-ùEësí‹Ó±5‰çZr}H5É>Òñ²UßJRó0m~"!X“ñË*å~ºmå†$'Å}7C*Ñ|Ò™0®JÀ¦rc¼_uЯ}&1åæÊXÊ)TQsòpa!jÚ -$”%7èdW‹Hðȧª†3Ï­š¡Jv6ÏK ü´æœYèÔ^.v1s¯üšW9•©Íëœl3(´À^oÛ6ƒû
-ªzNÓ¯þ8À¿UŸ‡!H­Ç-xáþVQÏùѾÞO .}PŒQƒºP¥ØÛ0¦Uj}
-ve{6U×ØÛžÍé;±^ó“"° :¿€ý3êpÆÓ'âYÐHhDÕ9u%ê30³Ý@óñJÎ1L¬£‡)Û
-<Ð\ê](dñÞ§ÎBŠ‚Mµ ®ŠtŽ"îcÍ,Öð€.hœoi£WÍ”•Íªö‡·³
-k…8ÑÿÎEƒ×¹[[pzUTpå’R-òf} `¿Ìptx(>ðÍ)Êà18ÑðO2§& Š˜¡9‘”»8ô Øq<$,! Âè!D8uÁ«H–¦úzsÔ˜+0aNÉä''¯Å•ÑF¹~›>KÔGÏîxžß9…&¨÷wÀ@rC vÀ–Wý‰Û©nCß)žÎøÕ0¥ø¾ÇÜòV™$sšgÅ:µUð…±!bt~tqÐx·`ªüÈÉ÷yÈÍ›6{›Ë«¼Í«}z°ß^KÌïsÞ“§ò^–^m?öm¯ö¦±«äœÓ;=ìnÓß{l¨O*ØþRöˆÙ“å‹@Ùû­¨û;¹<¾Eòj÷N ¿Ý+T敲nt}¡ôªôrJd£az<jeí7Š…“0‘#'!ú[ÅÖÈi¿ð\{2wÍ…‘"èiƒ [»Ð ägÂqj ¾\^ünëé÷ÎV¶Èùzñ=l¬Ò&Uà§ÏÞ<{g®÷®&¡k׎ƫA‡åÿ½ËKfNb÷éàcùM)û‰ï*Ÿh`µ1ó¦Àê^ºÄ8À|¤µû]KBòµK»7ÜŒRÆ¢ÿÿLK=ÝvA‡,0+7WŸH%Ózë2¸nŤ–ä£ï”°[\­áÍ(}jâæž•ï=¸ Ÿ CÈ™ÉNt2Å›?ÿ‚ÿŸ©U,†ËÿÒÀoé,vŠ¦ýûò7 @sà¹Ìó|¦É(½]Å©eùxµpñ8Oâz}9E‰Žˆmh®ë5ÔšDîM­%¤µB̽ 5Ÿü2¶M0qý -õaa7‘°FCQªD΋48¶Ýc£?½×£qº,•GŸ)KÙùßÑhýª+´9:ÿsOïîå5LÐà;2@(‹°çžÌP_c»9’oûC.“6zxø¶¿IéǬ¨íju×
-üKK$pÏ}JÑÞÉÄá4]"¤uÀ¸6Léc*P;µŒjš”Ú$§bxA®ú nQ~‰µüb6¤qå(>VùÒÊ/v Çš´=5î•Õä3;v¨ Øêº)º¶¥ŒÁ}Žp*×v•â²r«–¬þaœ®š7§c#}]Ít7oé26õŸ¤Â‹sf>ÚíÿÎÛmd
+xÚÅÉn%·ñ>_ñ~`h²¸‚
+_È›ºù(´¿y§„têöõ·ÛOORº ¥~Åxþ¬µÆ'ÖH©¾H ÷gøݸü]ßÓ¨Ÿ¿þ€;¸íJ{a<Ì{Њp¯ˆŸ~~)«ìáT„´ó"¼€¿à¾mó[B…€u‘ߤy¹ Bý4:£é]?f$‰)û1úÞì
+ ¸ÒãV[$‘+Þ¢BÞ‰ Xv9У…!æŽû¼Yc¼ðVíV!J ÀgÖʼ* Œ«X à§XhlÍóg`äˆl˜ãý0’?³BÒšÓKHZçõ\wbÊÅ…à SßÍPœ*¢Ö ‘'£mÇÜj?`Šv™ÃB†¥‘6ö't/½'L­îóL -á4
+¥‹ ‚1•FÝš“¶ú3*å= šND’Ë6ʱgý.ëî, òµ¬š©DO`Ì<µu3?+6Ãœv–‹¢ZL¦qÚõ…¨ž#çË«3—xgƸo01$<wlj _’Ùí×o«˜§†Ë>)_¢
+0¬dMw\ R„·\õÙç•]­˜Õ:S­j®) þ¸Û¿)$à/?~Oºwà¶Q#P÷&˜ÛEe‰0Õô²JågC>>”¼:jËO~ËÇž´Ñ—ücÑmp“á.sËXÓÍe—Gxùl]çAÝKÏ¢eì{”§¶£ðzL“ó(RÞædÏJÒ !2,/™7íé Ó’¹Ö$£hÌFæ\@›¸·$þÈ:Îlño3/Ù  gíªsvsgª6'›lŽgz4˜Xz*ñêiNÚWÉn»âc{YO9Î!Žq0ìK0Ü$‹¼†þ®×ñçê7Qzêç´åV‘8õêz²Óe“ÂQƒ¡¡G€\J³€ÆâÇ
+P‚Õ‰áÖ‰è·F¦„ºB_ÂlÕÝû€û(˜L&¸†¤S€ú2á‰
+ƒX__ŸMmžö’X&q¼71Ëbsªh…[i $Nª@³éšÃ~§8䟊½I5€ŽÞÁ¼S ´'Îê(P<«ÙeCiÕ¬žéÉÎM…ÕMñ讋vP4%ÕÕ`áš½¡LRr4¢ùRÁ.¸%¿'pÔA¸ æ]®J‹õ˜.³?0°%)±Ò-;@±‰ÂÕPV´wY‡9G`³ÅoáÞí\èlÓF"Á [¿ t7VåŠã(©}èܸkæ^ÒýÅ4£ìtLI‚Žî>„à
+KÁþÿý¡œešÛûôšliC‚–ðø®¤ð÷²ï½ËZqoøöÈ"â+ë}›u”Öâ@ã\zñ™ÏóiMSšhSUÃR“
+wÙ‹¨E{‘½aMaŸ´æÞì-¸}©
+¡ÁAkWëº:d‡Ná"áih|Y›hC?>æ™~*ný~Á³ðÇ[៷Y˜™Gç<5ïm´é´£‘UøËþ>¿Zöz»'ølsXgøÓ»eþ¥è.¢"EL(þã6|ýSó`QoÃŒû;¼Do+êê‘Šnz^}ãÛåfHßž~®ƒÆ…‡ÉçÞú±qe²iT>þ؈ƒhˆ°Ì}V±\2þ°VÐóB;;¯FŽÆ§, 8úmr._vJ Œ°J7LÆŸ”»0všþÝæß Ûý«{E ó~([ì”1èt¾˜Ï„]Üa$1L±á£aþGaG\0fÞû;­„ófi…Î`g"J¹Ô±3
+-p§×ûÚ:P`àík¹å8ô³¶±;L>¤Á½;H-ÂÙ`é`
+¦‰f¾¨Lx–Ï;ôÆ5hoQêLoZ*LÖ°r¦Oû–)~Ë*DêËQ¯+G½ÚúÝéZšW)eM_ßÎßæv¶:ƒk„š»{ê‰s÷‚áË™yv(c[3“=?ÉÖ ·A‰•ÐŸF5·Tåy—[ª`§˜†ì7&”3«ŽZªöêm4¤¤p³
+·TÅ£–ªI3N†±š‡¡
+•졳ÒØÂó›EXÒÓÅødö2«Üæ$z\KC¿ï TÎü55¿ÿôÝ×Oÿêœ8F2·^¹nýíSz¡ <¢§€q÷ßo¿|ús
+/­_†ÓÃsêw”?°CŽJ~0ïFêË6?cô¨Á8ê« PÓâ{-Ÿ†3½Ã¢²ÃH·¥À:†´ú
+YtÃÇÔÙH&F.Ö𱧈î(â¾­å€Í³*£ç»WÅèU3ee‹†jÛüù-E‹šaæõß|çJ¥ÞÜÍ*î\eˆUJÃåïI¯1­isší\M¯¥Ž¢!…)÷.»>j¦U¸šššngŠ>HÈ´s¨†v!)”èÍæ†V&äYrš \U¶»AÓÁî¿¥=ê=Š]k+
+;¶
+A•-} šÚùÔàunÁßß]O\¹yÔCK£¼Ù·öŸ3œ9å›þ¹9EÙÒÁÌ4ü?™SPEƒž¡9É”»Ñ
+z@K÷ÔX+0a.Éä'ﺕÑÎB¿¥yõÑs8žçwA¡ êã0­ŒÐr¡`Û{…þÂS·ÐwJ§3~5Mi~1·ºU&É\æÙ±N­
+¾å17s­sEwyÐxa`:ú‘“-8 ó´Áªe³÷…¼ÊôƒfYíË›èÓ PðÇxÀGòTÞËÒ€íÇfìÝÞ4vW›spИÝÖA¡$ôW‹rHÌ¡,_ïÉáoAèoÚòø–ʫÛ~üöè¨2¯”•£Ëè-£W5£—S% [ ÓãQÏö÷£–:''zä2D™ X9mžj«å¡Á0Ôî0ïrtk79zýJFn´È/·ºÍz
+~°¡-bN(ã?ÀÌ*0Âj5¯xõàÕ»p}€5‰]»N4^ù9m8º”ôþ?À¢5¿ÐáCÔÓß81ó¦Àê^ºÒ¸Ö³Wk÷¶–„äkW n™àçq¡®lm)Ëùég|þ7üùš”0ÍüOù[ò
endstream
endobj
-445 0 obj
-<< /Type /Page /Contents 446 0 R /Resources 444 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 452 0 R >>
+448 0 obj
+<< /Type /Page /Contents 449 0 R /Resources 447 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 455 0 R >>
endobj
-452 0 obj
-[ 441 0 R 442 0 R 443 0 R ]
+455 0 obj
+[ 444 0 R 445 0 R 446 0 R ]
endobj
-441 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 141.139 465.557 190.205 479.505 ]/A << /S /GoTo /D (piton:transpose) >> >>
+444 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 141.139 426.244 190.205 440.192 ]/A << /S /GoTo /D (piton:transpose) >> >>
endobj
-442 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 140.107 365.019 149.903 376.601 ]/A << /S /GoTo /D (Hfootnote.17) >> >>
+445 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 140.107 325.127 149.903 336.709 ]/A << /S /GoTo /D (Hfootnote.17) >> >>
endobj
-443 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 488.456 246.77 498.883 259.051 ]/A << /S /GoTo /D (Hfootnote.18) >> >>
+446 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 488.456 206.794 498.883 219.075 ]/A << /S /GoTo /D (Hfootnote.18) >> >>
endobj
-447 0 obj
-<< /D [ 445 0 R /XYZ 78.37 808.885 null ] >>
+450 0 obj
+<< /D [ 448 0 R /XYZ 78.37 808.885 null ] >>
endobj
53 0 obj
-<< /D [ 445 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 732.66 null ] >>
endobj
-448 0 obj
-<< /D [ 445 0 R /XYZ 100.292 565.781 null ] >>
+451 0 obj
+<< /D [ 448 0 R /XYZ 100.292 526.468 null ] >>
endobj
-449 0 obj
-<< /D [ 445 0 R /XYZ 100.292 506.005 null ] >>
+452 0 obj
+<< /D [ 448 0 R /XYZ 100.292 466.692 null ] >>
endobj
57 0 obj
-<< /D [ 445 0 R /XYZ 79.37 352.144 null ] >>
+<< /D [ 448 0 R /XYZ 79.37 312.168 null ] >>
endobj
-450 0 obj
-<< /D [ 445 0 R /XYZ 93.716 99.422 null ] >>
+453 0 obj
+<< /D [ 448 0 R /XYZ 93.716 102.357 null ] >>
endobj
-451 0 obj
-<< /D [ 445 0 R /XYZ 93.716 89.795 null ] >>
+454 0 obj
+<< /D [ 448 0 R /XYZ 93.716 92.729 null ] >>
endobj
-444 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F75 338 0 R /F83 414 0 R /F60 331 0 R /F62 332 0 R /F84 425 0 R /F71 347 0 R /F64 333 0 R /F16 336 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+447 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F22 367 0 R /F75 338 0 R /F83 412 0 R /F60 331 0 R /F62 332 0 R /F84 425 0 R /F71 347 0 R /F64 333 0 R /F16 336 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-456 0 obj
-<< /Filter /FlateDecode /Length 3233 >>
+458 0 obj
+<< /Filter /FlateDecode /Length 3268 >>
stream
-xÚíËŽ¹í>_Q?0Z‰zƒAÜnìÉ ß‚=Fì
- ‰4ÍyI”ÂÛMŠ˜)ûÇ6<þ¼+’ª4#…ñ¾‘o
-% »>•Õ²0® J
-›,ÿ;¯AX€¶ÆSÅïï-؇"‹«9Ħ^>ÓkqE¤ÈºÆ+aƵD¿rÂ:G¸í¹ÿÁ«Jã)‰½`/’këVNdI ½MØ:Õê5}KRpÕ(IzÙX5kÚ¥N5Ó!®U™V™Í»®‘ä€/ñóòw„³ŽëX“^ŸnÓmõoÞϨA kýöáËÝo{»å±HžŽÁnÿÙ2X@2»ŸþõéãŸ>ü÷Ëöéß ,7ƒ¯T Û—òhµˆÆk³}®Ïe]Ø”ˆR£ýÚ TŒ8€&6À‡íÎhBìÀÏ ˆBÖø\6cd? !Ai¹ÏHDõ%2KDEzHHêÔôˆÓiRzLü™†â¬¿ow·»wU~q%?%ŒòZqˆË±Á¬°
-"z.á‚3:1ïÈŽ Y0³®E°ÆX6W[¡@£ 4ü 4È’ ƒ, HDõ%{D ˜L „¨ès†ïÈx’-BÚnE¾+„C5¡¡«ª¹¢½þý×¢-|HêtÛïiÓÐÃ/Ý+ÞGƒî?CÖ@%¤9ºúe¤©£ið¥å;tÏÛ+…DX˜±8òÝ!JׯŒ^…"árîÚWrjã8;c8ðïÄ´•yb#—ÿuÒà$">?ü’Eá×¢¨ìŒ¸o uí8êóN
-è<4jÈÈœPæ §}ÿ9éè·Yf @Û$ß6NDŒÇ
-‰çïÛ>Þ½kv€à…™,,=ž-¬jÀ¼fâ 97Oðñ°H¨´aÄ¡}`¢«EAœJ1cWF]Á­7ªö˜¿Ã¼Æ ÂÝ£Y¹ˆI‘¾À8l)÷­…ZukÙUªêzaGN/<*ë¼¾‘ïe¤«K;çT±G^te>—£j¥uj£¥”4<ĤªMƒ©„³6‰#aâÌ/8ë£JQ[FQ¡K±Ý呪ÊÛÈD3œzh"ÎJ&\
-9>J0%y‘õ”1Ä9Ð2{nA”±œg#W–
-åE*)™ ¯ZPÍw]ñöX°J³Z㫽½Ç4ÌSf^é©Ô‘ŸOÖš=E~cLc/š|À‚ÜñrñM¡^S,ôEvÆ8xFkŽoùÛÑîì#¸¿b–±ç5îíõLË…7VßÅ#£n1ÿ…‹Õ5:+«–ÉC´Œˆ4<FßCY•èMs`n³x=£¡5½¬ _–^Öœ„ÙÀNÄ’OË8sóGDAƒ9=ÖÓÊ©ò]f&j3=Ã8ö"õnç5Fò•ÕO{-\\!!§vRšÂ@Þb!\OiR[óSnn¾3°¸‹X§iG©Ä‘¨b¥„
-a™úïÙ
->¸™¡l-ÿ/ÒQJ=Ëý»À,%y¡oÊy³¨VYKÝPØÈ-ñ&L>•Pcë£u”[0KN%2-C”::Y0c•2ÍçZ˜Jmm¸Àt¼ºRN(u¹¾[ëîÊ1² <Ä ÷ˆñ¡÷C²§lÕaö Ì¢pÕìË7îÑüäÑʈ9Gö„I±¬ðÖtbgK1½½l_{ÙŽ¥ãgé«4«žSiÈ(Ì C\YÈwöÂVánCW1­¼öÀ˜hÙ3WßtÝŽôÀÄ9K<õüD·S´<ôÍÖ
-~`Zý¹;Y0ÖÎXà©x•Rl —A­OM•á‚˜$ølbÇÍ@5+¯æÙ=áÚO…%}^f§Œ_8ɇÜâ$Gåî•è…rż̀.µlØj²X‚Õ‘Éñî¸W¦ˆNH›n®²t¨iû&ìýÜ^‘NÓR J-F¸ nk„d§I–ÇúTÚ iꙚ¾²Cì«´UxJvCsB-¤R3fàógK´¯Ø]KÎYjŽÓº×~`t³öC`í‡Ú::õ“^îӤǾÙd=8g¦XzÛ»ý§tÚ;[Ú•ÎU`&{î¼ ëÌV›¤ú×ÅË뜡þ-ñçÜ¢ÿ±ú¢(‡¨eÜ—ÏÎB‰–ô¾õ'vTšT©õ¼Bçd/Rš!R®h«é’û
-
-çÔË´”Âj_ÂÓZPR oôÿ¶µã¶ù¾ÌßØïÛXH¿¸èÇÑàoªõÓNô"›Ál¬;ó†~Éó_@»«
+xÚíËŽ·ñ¾_Ñ?°Y|‹E4ø$C·À‡@ˆ R;‡ü~Š"‹vϬ$çÈöx¦«Éb½X/r¥°Û§Mâÿz8½xuñf‹":pf{ÿñAmÿU›BûÍ;%¤SÛû/Û_ž¤#¥y#¥)=~¬Ægüv+ü}ÆwõÛËúNöwæTæ¦ßi¸‚ûò¬/},øòüó¯ïÿÜè
+Qä™(”t0Wˆ]Ч²xFT‘é"å;–ƧßÞÔ׋i/”UóbÄ \¾j™Ô€JxuQö@R +ÛÚ^u‰ëËó£Öú©Ë.¿‚fmdM¤Pü áé–~Ê3¥{6„†8Óx¬ÕŠqÍ3#”‡+ŒçÆSá]]çÔšçÇLp9”OšDŸT¡‹Ê*zòU
+ÚúŽŸYt%‰¨¾Dc(!
+`@©´éðüˆf$Ook¶|®¹pÕGú.“FÏ–ò4dÙŠAæ7ÌxuÍ®]éaÊæýœ@U”DiЪŽHQ´kšÕ‡F y™ÓÊœç´ß?'5ý6ËLz Ì.É7%¨P×
+SÃWò;a«p·i7¯¼vÀÇšv<–ö¸žÎõÀÄ9I<õôD·S°<tÍÖ
+¯Ì¼úKw²`¬±À¥x•Rk‹–A­N•áŠ˜$ølbǽ@5+¯æÙ=ßÚO…å}^f§Œ_8ɇÜã$GåîUè…rżˀ.µlØj²XÕ‘Éñ¦¨#³Ø:1V–5mß„½>ÃkÒi:RŠAé¡Ã¨ iÃ!N±§!I”ÇêTÚ eꙘ¾°Cìë´SxBvGkB-¤R3fáówK³o˜] ÏYhŽÓº×|`t³æC`͇Ú8:õö’^ðÓ¤ç¾×d= 8g¦XzÛ{Ý'¬rK=WújT™ì¸ó>0¬/gXe’ª_{(¯s†ê·„Ÿs þÇê‹"¢N”qW>ï7 %XÒûÖØQ)áÔòŸVèœìJ3ÊÂU»4@r`Gwõ&‰Í+¶¸vûP¹v)ï¬võ"88’ù'’ñ—»G³,–èÒÜO)|¿T4oœN÷ܧ%β͟{w¡Ëv¸Bûe#Ëq‡ÑšvRæU{Kß¾¦,¬òâ÷WÐoš óçt¸NjµÁQö;wOKrjtM¥dM½“<§›^ë»i4=ÏlGTŠA]s5ì–×¥ºSæQŽÏÕ06yúÍ0R®æÙë{Z7Ã]‡·vê- +XÍ¢“Á¼¥²ÃH˜t…*Á'A)é…Ã,Jc
+’õX%uâFÅ8äp¶ÍÜ™QÉT›W¯[½á¨Aœÿvg^A•wd\ä®IRt=‡¸kG,ó<ffôþHé;ðý:O.y
+C^/6õL'+@þ\õÔª‡L々nƒæ+–Ä(Kkк³Çh&XqÑIû06
+¢ÃânèM~Ö/Ç®'‰ǤN‚·èrª°«¬á9÷¶=“Y5Uš¾þØáéïén y¾ázþÊà'öûr,¡`ù ݆ £6œ÷®Ôwг\®S®Ë~:ÇÞUHç¥5w½<íðáêhzFÎÇ^õ£¹þØÍ€7"ôrr5›c&'KÖl`ºp|c¢žæÒõÄã¦ÁÂ(Uî‚x¶Ôà~ÉaÔÂ` N‹` ¿û£ad`eà;È0› Áò4Ÿ‡®¹îã’Éa‹vG’†+ŸƒÅŒÜ·,–UWïçÅ$»÷-+ìX|ZbBá÷ˆàÁ—gxD@Úm‰
+˜›Beƒ¶Ý¿–¬%-éMk»æ§eÛ5¿É­k{»ÝÚ0½ü„(ק;B#C’x\4¹Ôëš°³ºÃ³7Ÿ§«Ù/lCAŒ"Ä+,¹ wfªÅŠ¤†ó¡¦-sî=”•¦®oÈóqíÜÄÆ—Ô)¶MÔ².¬^ß2Á ym€är[Z±*¨ÒÅía#¥÷.Ÿ¦Ì7´]9<õk…õï#ê=,yGoVaÀô—-ßý`r-=F8 ¤óêgâ
endstream
endobj
-455 0 obj
-<< /Type /Page /Contents 456 0 R /Resources 454 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R >>
-endobj
457 0 obj
-<< /D [ 455 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 458 0 R /Resources 456 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R >>
+endobj
+459 0 obj
+<< /D [ 457 0 R /XYZ 78.37 808.885 null ] >>
endobj
61 0 obj
-<< /D [ 455 0 R /XYZ 79.37 608.758 null ] >>
+<< /D [ 457 0 R /XYZ 79.37 548.57 null ] >>
endobj
-454 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F75 338 0 R /F77 339 0 R /F64 333 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F80 366 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
+456 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F15 334 0 R /F75 338 0 R /F77 339 0 R /F64 333 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F80 366 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-461 0 obj
-<< /Filter /FlateDecode /Length 3584 >>
+463 0 obj
+<< /Filter /FlateDecode /Length 3289 >>
stream
-xÚÝÉŽ,·íþ¾¢àÉImÀ`
- Ô㲬ØövŸ eye&^Æ%Èí3ÆgfZš. 0ƒõŒ©±_¾n7—’h*$üØPŒE˜QšÓM`„³Ão 3¨(Vâ+Ô¦¨yb,ÐcY‰Ú¿~»¤/þ)À1#¼E§×p¬0Äp4 Ud_Þ#,™Í?/ˆ?&À­?"l«/Ži4è&V ´ð[•
-s/æ*š®ë
-ÓŽfð”dZƒD¬!›GŸ¥O)Ðà ŠRV+ØcÔ¡N»‘:†øcšg˜{5sùžIÿ›Y†–羦Ø)NÇA?à4ù“qG9Ë®"Ϊà¾Îè:4Û¼¶ŠØlR;×úypU¼ÐþŒÐ°:RPüžÔG…•PZ ð²)¦ó …šy|ϳ(4Ä&{x¶˜âdÐQæ@x„Ù27‘CÖ|={r#ëõ`Þ€W |WÄ/šÀ zELÍÌGJõ\¼&Ÿ;øã=¨÷Âï`n ‡…c–B2˜õsxáƒe™ÝÓ£CD媫РÃÕlÜ“Dבïé-ÑfGšîl©\ ®Àܪg/n8ãPi=K¼”®¶n+CÉf̺qe:Þsl`ßV’Pã!Öà°8Y%ãQ0ô3«dM]‘J\BnÙ±»¬÷ÍjFÍrÄmWíJ¸QbŸ+–±­TÀm‘•Ô,;Ðøµ‘”šÝöó.Ó\çÜdýaÇ;ãTÿ¨Sβþ)eÿ9[8y³ßU,»@Äžg[«âxÉ #Ì¬Þ ²'’tÂq6YÚmQ°Áí¸{¢
-ÛÏ¥”“í±
-'Þà¦y`ÖA‡ïj96öö»8ÒW­¬‹%[9¡XëG)#)´1=Ì !ÙHE†SvwB]¬  ó6‘@W«Ï!Õ©Xùÿ5K­ÌÉ·©k¹mµ˜NÕkÒSÖ8W-;ÜaîhOGêìî¼%–µ$…T¶²lc[ýZŽp‘gVþ1.>‹«š„q®§å Wso2›G¸jÞRüTJI1µþ±Ö¸KÌpŒÃhªº½õ9Ÿ-K¯sA«K|ö#ëØ£˜Ïu?·,
-+Œ¡Ráh¡p·èŽcg8ïÉÂè÷¹çöZxéfk¤}•ŸbÛHž(ƒ""[]{’"äÔÑ8¿IÑNŒw8¾*Õ•×ýH‡”8¥m«£9Ÿ
-–lì^¦½™M:¡ñTÕ“À
-m'¹sü(‘È.¡†ÍÞ1ÏÇŒìrÌ(ýJwÊY.BÙíô¦+…-a¿oÙ›¿-;ý÷+1A{Ê€ª‚\…Ùh¦Âî ½-Ž€gíÌyž›gõ”âðÄô#©Mw|Wòܦ …÷0¬O.Î$Ãл”ë³qy ú£†w·I#øÚ”åo¥Þ4?ãFöav“÷ÂX—ãa&o›t'FÏÑHsªíZ9ÂTá³È÷b•n›BE G^¸mR¥t¨Û¨~Ôx¨ôS´Gì§NÒê® U"ºÕûE`Ó¡ŽmZ,Ä­¸“´8åüÀ§mžÔc­ò[ÚV&Íž^åRÁž|­ _a_±Iz!ÝYZHáÝ>-0ó4ÛôXrXºàšúƒ¨dÝÚÎùŸÕ+û7+œ-,º£@Ì¢p
-­R“;*?r7hnߥu·ó^ k6oyëJ‡3ÿýi'î ÕG©íóŠo©‘¯Nya^Ü€‰÷+µ”¡åÔoKÿÐA?6À2ï ¬þXÊ–
->{ÂßG ¨]!£b‡T‡1ÈIÛÇ‚‘K«Ç‘ÆÕ‘Ë“‰ÑœO_E!…“×ÖÓ-ï2¸ÞO
-±Æ‘ÓšüônZSž\™c mYŠ´ïiØ<<ò
-þe1Î%è~_ž[’ºÈ¡<¾¾d.ñ"|äÞKæFE…Š¿,ÔÈ{9!u›ø N'tmôld†­ ½¬ç[ô¾›A¶*sÁ
+xÚÝ\K#¹ ¾÷¯ðDê 4X·í
+^óèW’†ZõI~é,ŒY¦«çÄëJÿžc4‹$ÎÑ‚8`¥v4Å|W¾Ëà
+®gtŒû -êMNä{Œ‚«á#>£]¦‘C•
+´TV¦ö¯ßOñÇ_ò]2g@jÕaZR?†3ŽÅd½\®+ì¢ç™¤Cû~ËIèÛ¨QlL†.‘k—òcÏp ëÜ ä8Ö
+N¼z‹X÷¨3ÆåO`Ðöç%k+ì>îP1«lÏõøS§{¹tOÇ¿Õ(4õ–ÆàƘ!MKA×ÑL8Óv–BEU¦}ñµk´I·Hä²k9ÔŠ³ ÚŽŸ1rGé¿eõQ£AÁ„] D2táP‘,}ìy‡ZRúˆm&Cqô]œY`a¤æ&r¦¤]ã
+r2jŠùô¦—ÍTb$†RÍkpÜ¡îUÙ?÷p›%Ì,‰"`–’ð"Šç>sløñ馶%T(Pþjw™²g
+鎷ÞM
+¤ñNÀFæ+>èK‰ì9 '¢Ô>_ŠWë°•zI0fl̸×”ø¾/+K(ùd†
+pÒ›î¹÷ö¡†‚
+Ûq'ù†Ž†0C…Zs f€&ø/Mǯ€™–Õga¦éï03æN¸øcafÍ÷£0Óþ1˜áŽêáÝ…Ã=¥P˜?£Ìnç”V‹Ž¿™s“¥=‘r{©Á—³G¨"%¬»#Èä«Èõ³E@)›d•`.ÛK÷Û‚î¸#gÔm;–<löÍ
+Uú{NVËSñ­‹.§¨%¦àkw{ÒKtœf-Ú~ìh%Gîý¨;é|F æ5…2¿Ê2¶ºµ7HØ#EJU%>&ÄW •21M¢X³rD¦i
+¯Ë#"ÕŸ1yÊóH¡®þ©Lpç„aŸxil²¼ÛzN¾ý1ƒy•f³ê±„goÉÁ…T”£jÇö
+›ëófGí:ÊiœÓ•zB0àºm)ëzÇ5žs^2ç ÓOšš‰ÈP/ºäë•qIíBÃ;«Ã¸ftm(òÏ<Û4^á&ÍÃâ–¨¶§º,Æð#ùœòL˜B+Ë{Kh¥.ÆF‘î…9º9‡B
+p™r%T\µÖ´ê—”>ÅPzÀ½ôñæg]@Ûj{iøœa¡êA^,år®“Ó\&e‘@íüFΉŠ)!ŽÊ
+50.`˾²×ùe¯°íØ’;ÆíQ^¤ÐÌÙm^†ËÅçüÉx§:›Úe¨ÒØ5Î÷œØ]áßhÚlÑ"ùåŸMo€sg~ñ)v­6œ•ÀǨ·­nsZÞœ:J ÅgÛ¶Ú!΄뤱3š†©d‚‰V3s£ð¹±R]«¸
+eNÌ Aöôöîà˜ Ê0Ðò5°V2èvÑ4wÛdðÙY—܈â©f8j“(\x‘ÐyÓœHÊPõQZÈìð1›D¤TÙáƒ6‰Ê21°ÉËÆbyd¨Ì6IÉÑÛ¶É[É xn
+¸<JÒÇR0C%¦Ú2WòáÅØ9ûñœk¨ú;j„à?z+lycÄFíHèÌ݃¦ŠÚ_›2ì›ïBS¬·Åá&4_MTSž¨?ì²%ÏoúSaª-w:Û0/‹}³=§ír©Å²-œåóÆÒs?”Kw]Ø­•ï.¼M=«¥Wèäç«Ózãáò|Ø89ÙJw.+õóö6óÞ/+ÑwRH(™ßëÆÞ|©Öûã¿”Arh•ûÄ I2Í™r«º…Dœ&=ª9Ü*9ÓÁÖÝ­j»d4øfSéÌ «˜‚Ž^»“qµ÷Ê^ÈL);ex%0ô%ÔêÌ]_ÚØ´™ì<>uÛ³ôà6ÙsÃB1ïx7,óKÚFίH÷äxCñx×èÂÕ°·ÂMÚOyK{AÓæ]¹Þë¼µ5ÄgzwUvìoä=~?†v¯›|‹ÛøÊá-ûàœjÉûƒ–_P~-»‡vƱ®/}]ú:²M*dfÔÛÔåe=‘UšIŽÌ›·ó×àའÜÖª–­Ù „|Ørb”£*©ÚV»çЩ‚ºm­¯iœaZÙÍìôY2Å—þ+xˆnŸŽ+zòÙ¤æ¡'Òîø/˾æŒåCµÒ2^¦®Ïe;¿IÛùÁ‰jåï½=åiMtb`kW´†±á,óìi†yN3'.ʆIXy‡²·; baŽ®Ûï7™JW®é^rÿ}ø^E™eì¹õ‚ƒ÷ZÖ%u•~ÈôY„¢ø»¾hð½±*§‰*9–Ùù>< 6DjÁ„è4êmArÓæ‚AJ«W)# ÚáË“‹¡ÜU/ÿ* “ç:Ò-_28ßÿJ
+dbÅXZ1ÁMËËÝzŒ$,2¡»^
+7+ †± =Ù¬<9Ê o¹=Óӛ號\!¡ÚVóû¨z3èôÕ¸„{K’o_×/é—Ø$”Ú—/ÙDYø¼’o}ÉfTH<ÙâàË‹ØËȹA3z°pý *ù¾p®×š!$X›P×ÒÙõ©9øÔÇ=$ð•Ýh”ÝxÃN­”>IN=ÚÚËòïš@%
endstream
endobj
-460 0 obj
-<< /Type /Page /Contents 461 0 R /Resources 459 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 464 0 R >>
-endobj
-464 0 obj
-[ 453 0 R ]
-endobj
-453 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 496.645 745.828 507.072 758.348 ]/A << /S /GoTo /D (Hfootnote.19) >> >>
-endobj
462 0 obj
-<< /D [ 460 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 463 0 R /Resources 461 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 353 0 R /Annots 466 0 R >>
endobj
-65 0 obj
-<< /D [ 460 0 R /XYZ 79.37 235.148 null ] >>
+466 0 obj
+[ 460 0 R ]
endobj
-69 0 obj
-<< /D [ 460 0 R /XYZ 79.37 209.22 null ] >>
+460 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 496.645 663.138 507.072 675.658 ]/A << /S /GoTo /D (Hfootnote.19) >> >>
endobj
-73 0 obj
-<< /D [ 460 0 R /XYZ 79.37 186.6 null ] >>
+464 0 obj
+<< /D [ 462 0 R /XYZ 78.37 808.885 null ] >>
endobj
-463 0 obj
-<< /D [ 460 0 R /XYZ 93.716 101.443 null ] >>
+465 0 obj
+<< /D [ 462 0 R /XYZ 93.716 145.655 null ] >>
endobj
-459 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F75 338 0 R /F84 425 0 R /F77 339 0 R /F64 333 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+461 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F75 338 0 R /F77 339 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-468 0 obj
-<< /Filter /FlateDecode /Length 4258 >>
+471 0 obj
+<< /Filter /FlateDecode /Length 4056 >>
stream
-xÚÅ\9“d· ÎçWthC‘à]55A«ÕªRf{3•"ÛRâu••øï<ÀûñuÏ®ÖÁìv¿ƒ@àÃA°ùå· ¿üørýôòÝ]è‹gÞ€Q—O¿¾¼Á/ââÓJ_¬ŒqùôùòóçßÛ÷WÍ9~2ŽsyÇ?xUVàeÞÁ¾…+œ[óþ˧Ÿ^8óa&ü÷Ç—>½ü§Œ.”fÊ»‹Õ–Y'/ÿüopà þË$Nùû?/¿¾ü¯7´Zµ¢U(ƒ£©‘Xƒ„h…„!©
-?ÿs¼&ðÿ[úˆU×ô\¸oMºNï„çÂ3"CGÒm˜ üôˆïóH.Ìú¯Ù4ZHü–éˆOº oD)} ôU‘ÃÛH}?Šï†%:à!Ñüûo—ôá¯?®ÌÅ0o¥Ó-WŠk¦­G®3Ö¹âŒÖ§΋s$%³BŽrIT‘ f¾ÊŠÑªW÷þêLäïH:•KÔ ®X{±Ê3T¯ž|Ú&)‡5’ k@3ÂõýU*wBO¸H…Ô#/éÝ£5’Ê®×(¿gny¾[¯Gé]Ÿõ[ftóJ¦îÙHoÙ®È6*ኴǣ='Éð”ÉóÂu9ïrõ¤eB÷vF¸ã¸R¾Ä=ÛOºªÕû+Ð"ºÅKJ‰-z%<¦š¿­ ˜î/Ým'÷åår-ÐL,ï¤YÂñι̢U,å‚A5»l0ÒÓRªiÈ ÄJè QDJzÞK¯,ÿ¢Kf¥ú†-0ü%B&ç]K‰»V¡ƒŒ$´2š¥–Ö¾5F ÕGù\“NUm(/‰ï‹0D9¸vpÒRâ¢)œˆ§«É6ÖÚÀ=­ ó×jQÊ]ÀBõmVŒŠ}áIñVñG^3†Ç÷×ÆבcŸ ü²¼ªa˜r4:a`XZ“ÿT÷6Í|èãx+Ä­'Š ÷* „¬ w)ÝÚ+Ä3é5™X}/ƒCƒ"ïÿe¼e’V®%6€²öœõ z§o­Òæûƒï(:á«~¥'iΨ¼®CÁX2Ú ´VIêÔÑy&z”
-Ê[(RÜ1í†%ÕQáÍYgÙÀì¨ÉHÒhZ7Fknô¾;T‡îÖ (¥*@ñˆ’HÁߺ1ƒu •3ã UîÙ˜t?@J¤ªYö¦œ`Få1ÀžÝMt )°•®º°{—b$“RŒœ÷ÌOý;Iè)3Š~"¾6âdkùË‘·F—ÆØxc‘OŒ
-fè
-›¤·9@Ã…ð¹2ºÖ“†Òü}ËÁuu^ë.L¬ÚÞëó1øm‚ÌB)ytòLÅ?×øS´B‰¾>Ç¥½Ç<'µ™b»œ™-™
-
-9fæšgš{}+ÄÕHFΑŒÏÅuuß?Ró-So/öÅHAJAÝMøtËÒðÄk¥ÓCqؼ®ªÆêQ,ée>æ!B QX—Äç4”ˆ$±eÖNBë“=[Q¨@–}îj¬gN‰Õ(†7) Ϧt_T
-”P¨z¼ÀÄläAqÜ£% é†Ò#Yœ¸Æ©ü‡j@‡ E d‰²w2¨`vù ã2 ™6å)+†TJLð(Ô“&g,†+rœé+p
-Ú4rÍDû­‘;ÑO™A⌮.ø$ºõùG©ˆ õÚÌáL¢]ò¥3Ö5\w´ÿéßÞûoËt@ŽžÝàŽ}xTókeÂOrFE¨?u.Þ@ϵiLž¥ƒœ\2hD¦ÍZâ¡PK#U椘U Y)F¡2¹$ÈœGYÄÑÚØ0ÊAÙ®hd&ì–z¢õÍ*{
-5úèô¤l‹jf[r3‡%7;¬|6Ø!"Ü V¹IâßÎ÷•5ç‚=¬ä]d&ªÚÐ]òšEbq„^«e[·ŽL™..Í/åh3Õ –²ìôä„rª¤ÆçÚp9¢¯à~ c$o\˜¼Q‰o]§;¥Úá(¸ÇaßøRÃ΀ºæÁtëzf¤
-ÚyfyI+möE €;2誽0U{Án· ð;qŒãïÄÆ0ŽÖòv"°š…Kƒ8¨ s&Žœ«XN2ï:ÆŠ£V5&‹/±5”òø&Q£<¾Ú`[ÔQÀŒ{Ðû¿j!¿Tå“`´µÌ*w\ËÙù )OW­6T2­êe³CƒOëPKÁwG¡h»WÒÕQ-K†äËËŠJZ[˜¶­Ò;ÏÔÃ50…QïÀÃWâ$·Ñ+ #“OH”F©fìÊÑGÇíTLÔ¦–v|I«0;äkRO½çUiL`âµM˲ÌkµÝÒ[ë›ÂdJ˧`ô•îmÜû!_鶾’Ê#G{]u*”‘h›âM›
-ÀŠò¤rÊ)Æ}•ˆNõÿºðþŠ¤ÆäÉÅn·Ùø߉,Ol43¾t¡
-úX¿ÈB† £:ÈÖ
-]×&L]ªéJÓF·isºëTïÚÂ"ºeðrˆYIöaÄxSµk)slb™“BŠ”[£ì[bÚ—¦mk†ÀÐL´É“=dÔ—‰¡³î ÒÔíHÉÃVïíXûÊÞT.Û¥BrèÕÜoúØ6°Ár¡*ÿ ¹eFLÝq:IÁ•·Ìq1­ÎÿЕŸœáù@‡‚ØÒ-µb®vajÏ4Ø4p`n¾§õq Û+e<Èbû±ûjEÝ©¨Íµø§v­÷m›Wí›5rlþ¯ç H SÞQÇ6·®’2åyåW †¨-!íú
-ûÖæ+µ¬Ú4¢í2}Ž`LS<„Ü@ûå('ýH™²ÔÙèè$Oïö^¼µöIº¡»º$šä0âhSz)Èei5œ:éúf[(]}S¸åS¯e"ð(/ïD´óœéɩƳ¶Ì¬[BÅÕo‚'™·n¤` uàQøTWNÙ[ºò\¬Ž1Ê †ï ­­Æz"HìÁžaÊù‘uŸ€"*L÷e¯zÿ# ‰³;#ÇÙÓ^‚]Ëj¢¬ZÌ¢)ßêàR•þ¨øi[ÂSËÖc¥[ O+ºjª–M›HíRoMkH"áÚt3ñÚißàãºÃeöõHo­Ü|ÝüZ[ gʘ×lõÓ®Y¢¿‹[ µôS‰x>Sú§<³b‰ˆ•Ðo_¥e}V-÷*‰|¨YLÏ÷Ð[Ý¢¼
-z–
-¡q3';ÇXe¦n¶üñ±£ƒ=énѧƒIú*³nÍ!¿OŸömµ®H/5T9VÏN.‚¾Íñ’Òz¿êÇìšêãɮ햛—L|éÈ á±¼œÏà)±²>ÕWd³ÉAg;È¢-Ù6\ ô]?¥»æ`g uÝëˆ<0^N½7^LŸ>ös‡×LrûÅNÃt¯üHmå¶Y&™ÒÙ§d IÎÙ.öŒž>šüaNR,µ/?^Ó•3Npº[Šoñ[ÛøJMÀ‰˜WA$»ƒW•ZÝöÜÃŒC?ÚT-0ㇹµÏ'OÚå¾;½¬ê)Ó†4N 3<@XÁúõLK‹oö–†ÜÐ@C¨kå^ºÈ²*X7Ñ<;¥´+a
-ʉ'`£b§Æs`ƒxç8+¨`ÎÀ‡ŽahæPmr¿ÚÌýGáñ“§2%` ïÝåC•*}7ª”š~áB‰G *=vxˆ8Þ%¨JS.zôW€"œbV{ìG(–š]P nm×oêëµË¾áíÙ‡þåÚ‚<e?’t
-í‚ykCd]ÄppU q\§¿môÝ]Ë‹Å9Øþ2V8h↞°ë…Õhâ.ç“Hžú´\Ÿ;w•ßï;ZôT¬Òêè ‡V‹Sèž:{´Jœ¾N ùù-ߘ©Õ»4'&²Åîäíq-µYt²VªíõouRùé²JÞå'Ì^Î#0ã³ö=Õ,¹f Ä5¬8¸N=yšD5y5¾c)yí„ÚqŠ{Ù#g»–kŽ
+xÚ½\;“$· ÎïWLhK‘ øªÚÚ`µZU)³}™K‘m)±\e%þûßà£{zöNÌÝ.§›@<>€àÊÛ¯7yûñÓëçOß½[¼)-Ü>ÿòIÑò¦n.ínÎJ¼º}þíö÷g)­yyRRJúQ½¾hEÿû”N¾XǾ—ßhìUJ ñ»—'í }£]‰OØ@zÊÊ<fáåçÏ?B”Æ(·¡D;¡Œï”Hi<} Qdt¦(®¡uuÐ}µD£M«–oÕZ¤‰òèÝY2í
+¶ìœOäÜ×%ë½@ÅyË*Iœè¨¤i•$_FvjÿãyÙhiéi)g‰;S×Ò?$5Jûê ÿß%ÏÓ~Žë$¥5v–³ËYy#ÔLÑ‘ ,B.fQÇï++Ì‹0 ʬµ¯v›lͨ-»h³©$1qoq`Úv¦ Zx¤¢Y|d‹]ÙÜ(ÐÊv\-Žnô®QHíg
+®šƒÕÂJ¸BüŒJxE÷-Š>kÈ^-+y¢ÐçSÒòmò‘ÉéU}?3»DP¡[a|‹"ß»—'“‚†õ}ëÑ©eëÓdÆçüôÃçOÿíê¤Þ¤®‰M‰·üö)}!­°ô/ùuûý_·_>ý…Æj80$霉ý†Z ÉE~F
+ö{”-( í$ ‹Ö”)­¿qkË##õ=˜¡“χ<dšÿõ–øë‘+2AœöfÐni„q¸²B…Ž‚hE—Ã\ÝœCëŠ DéY.™ª*ƒ•¯³HOzúämâïH:\•DŽ,IKaÁd ’‚‡ìî¹®H¶CÁÒßE5
+¬¯G
+ˆ68ý‘"¯ô[‚öy|ÈytÍNó®4;v³üÓÈ1Zh
+Wzâ°_d'.ŸJ%kIç{6¨ÔýE.Gv`ÜN¤~àò:Ê·tâ1ú¹ì2á/EGÄÇ7ìó!ù³`0Bi³ÐÛ
+QUÇzbm+²*™üdþ—@:ù½}E ïv´Ø ²ñ iŠ’Üé4 eÒ\³W¥ËæãñD°a"æ[\ƒ&œ¯&r݉É5Éb8 RjF…ù¡šcºbÚ3­OÅ'¥–ÍfH(=Ÿ#Gs·åÔyzLvâ*‰t8ð9_dvÕf’;‡:»œ3p€Ž >ž²)Ñhˆlš¼¤l†–
+*ûKšN-4~ùá‹"írëÌE6D'´Â†ÔT<SKèTø ¹Y'‚ÔóJ_S
+IšóvGñŽÅYµ
+m2S¯ƒ ¬Ÿ»ýŸ ¤ê¶ŸÂ%£CHMGÐZ¯Á¯dH-Ûág^¬¯&Ô([Œ˜ÚC-íµ0æjq¸’GgµlÙQhOl+jyoaéTÈï<rj@ †™‡¯
+‰EOq{š¹Û žlp@;µÊ GFB겪#fD½`àB'5Ø°ØNêü? /ï1UÊ#÷[m÷*ƒ”`SBË›zöéÆ´êÆFj/›œµZªå4[ØBÍ¥ÓOÕµß×Ë\©Ê ­ã§­ÀÑõÒI£í¤ñG¬š%ðGr Œ)ôóŠqor¿¾Üò4Ö¼«ã
+gS(—ïpéô·HÖ§'^tFjáÍØ{¤†C®‚jT8®RáŒÝ.þ­šSÁG˜)èªûÅ<ji„¼Âã£ÐÆJaÑÌ3Ey"ë6Ýõh}õÚ&h…vh}-
+ééJÈù)tL…ÌÌút ƒ^ªewöþÏÄ¿¥q~]øCéò˜Â| °6Qî#C LÄ^wuçj™.ͺiò¹‹p¾P“ö Ïîù]½Ì3ß4œ:ëeM=úÜöm(¦,©^ÛëaOrΠÀ¥6|Ú‘¿ÿLãÿ¤ÏO´…ÏoÿKOþFŠƒÂªøÞ¿o£Ê;£n&6ÅRy^l+TH³’i{»¹püÝ»Ñ7G/Jš½˜¶(v¨ønûê ahõ®×^‘PSu£÷'ÃêËûcòg–†§4²=j7¸i"5 6zº3–;3uÍ:ÆÛAO¦„¥‰ìL»x’Sy+%kgyeÇpçò–>þ ~ËQ†åÞz¨:–Òâv¡hòÎêy¥‡J‹{¹,éqž9³t[gºkð÷¼–½ppÆ_lt@\©¸å÷<!¸y¶áZc€‹"%K‚—˜È)ó5{dyE?—jéÖ½?ËbëÌ˺¾Y<d‘SØÉ);/Ê9<ûsa>yi=H± ˜~©ƒÏu‹ ŠTk\ õ—dû}ï^Y1p–ýV/!æß>"üæéäBzP> ™…¦sùD¬~Z
endstream
endobj
+470 0 obj
+<< /Type /Page /Contents 471 0 R /Resources 469 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 476 0 R >>
+endobj
+476 0 obj
+[ 467 0 R 468 0 R ]
+endobj
467 0 obj
-<< /Type /Page /Contents 468 0 R /Resources 466 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 473 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.583 638.308 415.01 651.824 ]/A << /S /GoTo /D (Hfootnote.20) >> >>
endobj
-473 0 obj
-[ 458 0 R 465 0 R ]
+468 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.84 300.585 415.267 313.095 ]/A << /S /GoTo /D (Hfootnote.21) >> >>
endobj
-458 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.583 756.787 415.01 770.303 ]/A << /S /GoTo /D (Hfootnote.20) >> >>
+472 0 obj
+<< /D [ 470 0 R /XYZ 78.37 808.885 null ] >>
endobj
-465 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 404.84 506.735 415.267 519.245 ]/A << /S /GoTo /D (Hfootnote.21) >> >>
+65 0 obj
+<< /D [ 470 0 R /XYZ 79.37 771.024 null ] >>
endobj
-469 0 obj
-<< /D [ 467 0 R /XYZ 78.37 808.885 null ] >>
+69 0 obj
+<< /D [ 470 0 R /XYZ 79.37 750.933 null ] >>
+endobj
+73 0 obj
+<< /D [ 470 0 R /XYZ 79.37 728.314 null ] >>
endobj
77 0 obj
-<< /D [ 467 0 R /XYZ 79.37 493.776 null ] >>
+<< /D [ 470 0 R /XYZ 79.37 287.626 null ] >>
endobj
-470 0 obj
-<< /D [ 467 0 R /XYZ 93.716 115.635 null ] >>
+473 0 obj
+<< /D [ 470 0 R /XYZ 93.716 127.438 null ] >>
endobj
-471 0 obj
-<< /D [ 467 0 R /XYZ 93.716 106.008 null ] >>
+474 0 obj
+<< /D [ 470 0 R /XYZ 93.716 117.811 null ] >>
endobj
-466 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F65 335 0 R /F30 341 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F72 349 0 R >> /ProcSet [ /PDF /Text ] >>
+469 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F81 377 0 R /F65 335 0 R /F30 341 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F72 349 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-476 0 obj
-<< /Filter /FlateDecode /Length 3279 >>
+479 0 obj
+<< /Filter /FlateDecode /Length 3517 >>
stream
-xÚÅËŽ#·ñ>_¡Üb K“Å70À³Ú1[Œ½9qN>$ÿHÉ⻥ÖììÆÆX›,ÖûE¶¥°—_$þ÷קׯO?¿ys‰":pæòõ÷'u‘ø¯ºø(´¿x§„têòõËߟ¥#¥ÕRÒEü®ðû?%þ™<FÏxÜáwpRzÈãð–çhüÔ‹à¼â8þúÄ5€ðq‰ÔøL}ÆqüS¥ Á¥g öµl]¾'<dƒ•ðqíù-x´†öM8Ñš×Ã]Û^ þkÊs™éâ5Ç ›iÕ8üË?¾þõIŠYôùëÓ—¯Oÿ©ÌWà…µñâµZ©Ë?ÿx¢Z(ë/ÊcÜå¿ÿºüþô7|‚PÎÿð ðßXÌv'f¥AXƒE¡Œ®r.¼ÔŒkH“ nùŠP4GY-Œƒ̤¯Y>îKæ™öù;ËÃ%ÝÊûÊ2('
-y$î‚K£3w‰pø¹~Tîú›¬ÀUákûƒ_š¹ø¢ö¤:‰EðòÉ‚}&Eâo›Êhf$ÿJÏ:Sêá°ó‹Ú±hd1á­9ï÷#u'¼HÕi™w››¬ˆ¥ù摱NXTΉG`ÒŠŸß¬¾x½D3è9«p0 *(+@7Uˆe•–7åÑ­úó_~*K`¿Äëâ¸äO?U³ØªÄ¡>8/ Æë&ÝÙHzî“ìH:‰ËUƒC9¥ö.†ä>N9•¢2Sj¾)wñ“Iñ¾Ì$5ÐôÏeþLlÜ?ú­óHÛy_m|2#ºy6E¥G<± èâ÷tÄ…›.*¡*Už#Ë@Ý¡L<Œ g(£ÓhþVóïÈŽ§˜ÏGÐh¢&,ЛáDÐq‡×#Û!y$úï(f å?Î÷$r0¼'‚(…DàRçÄ€l i7•ñ&øko
-6à^óVþ z:- žÝÊkÙàÙ½|@«[fYßÙ)Œò0¯u¿ìw
-Q +]ái"ÊW-<Kžy¹†FWï¤YÔ¡xFò”2í—-uÚ(á­[Vw™NRjÅ:îjn¶ @Úz4•EcÌ[¬[`¯yþ—}22&ïE³Ïðí‘(Z¡%š†W£šw)A“* ¡ P×ü¼ÏQäÑ
-µ',X}¸ˆF¸
-Zæÿß:éòöÌ4ëk˜'KܲX ‡µq²ï±ÞROÒ §Ý¹fy®ý) ¹¡1âsäñsé=Î%ÜV¥*q]hcßÐíç|‘: ®‰é08J8{™H{¬… À\y‚bÜÍ“ш›_Wí[ȇ{'”2 Ãϵ”-ú#ÔÙ–rQÌ~Õ½–²·ÔKV”Žò½Ô
-³P€ÃïÐVB›váÄ>”ƒu(éeö‡„rp*Åš™â3¡zvïÎRá1)“‹ôSúó@g=Ö Ñü€F± Zx¨ÊÍ^$ ¼xÄj2·"ó½>æ´Ï®_µ!(d£µÊ¯gÉVkálC˜ÎDɾ¾|B·"I¬Ý±qÖNA^>i߇Ñü‹²ž2nÚ9 èÛ³ý• ¥˜¸²ÇGá–Îlö¡Å| á¹; .gÙÝQۭθ2V`Ö=B?:gg%÷_ιµ+þñ>!”ë”À¸YM°`=}̤QDá#üœìð“ÑìrjLzM±¨¬è“% ±gÜõüssWô;¯ ™¾—cOrLšI¥^>U›zLùX?eôDË–I«77Ðl^>å/†ùƒx=)‰Ô)—e-I²£ô!£ùi•qÊ‹ÑmuF å¼[bˆ-È[õ<˜Â-½P}ÚŠ}ewÂǹo]Yo’u¼„ô^
-+8 {ÍO¢¹¶Fs’ Ò
-¦A×® j‚áe»]’`¿Ÿ)ÈûôðMÙÕ†A¦‘*1{1èu=9üLÙ{uW½â ‡?©88ÕwêQ~A·X›‹¾¤Ý"6 <2;½qË+’Dü3¯vÝH–B3¹ütDñHƒó\ÐRÆÕmq­Fžªž¼®ûTj÷
-iEH_/ñÔ•¶‰YÝ YaÍX’L
-Q]“zR …S±Ë£ª÷JVƒïA†¹¼•a†9s#]1ܶwŠõº’h6ôbôœÖÝKå°ì4 eÅ0~~8ÎduÄŒ^†5ÏŸX qBN°A³RTI­£× M»ÒwÒ®ô¥Ó®û™6&çBw‡r]ªm‚ù–T«g³Àÿ^É6¹#¬fgj ;ô\z—vg2‡plQS_Õ´²³·\—ÎU)uÙ#V¥ÚƒíތňÝ…®?Â#M8­w3IGL¯ÚqwÃö&³¢ äI°ÇtbÑç‰NÚÑ©ÝCtF¤Ó«¢‡Å;h4ˆNX´¯æ(ÁtŠPoeJ}MÄ‚íÂnk„ôöCÝÆvì8‡fëÂZnàèœa•ySÐV§6vúÕÕÑe¤†ÛÜ’(.š“-Þá¶lâi[Ùó`2õ*v­4yùîr7•'輩`4Ÿ9àÌÞý¡Ñ÷ñ¦Ü¦Íœ˜Bq>’7òM¯UdJ)¤„o‰6¬¶§‹Â Ð/Î;…ºö€¸ˆC½´ÜQ¡´®æâv> ióš» Q· ,y)OízÔäºõ»7™:¨MA©.ÑÌ€¨/[C÷BBÎtnÉÙ„(üÊïUÒ;‹×1]ëêl>RèîJÐó.ì£Z¹r"í Õ"k‹²=ýÖ°¯g$pûªi°" ×Ÿ°ýˆ eP2aáöÉìSÄË.²úÆ ¢”
-'A­ýÓz°óiCxÄ cxåÈÅ—Mhew6²ÁVc)誴½Ê§&ùh¬ž}@“¹°Xž.'2°ôý@OåY[™|˜›>ŠçïŽèê¹ sàyßÊš_!lxfzÞÕ{
-¯í<¨6A‡€f8 ߺíUy9B†vÞ6óRWü8@±½Ñi“שּׂó^“TA‹.Áx-a9tiY‚6÷Y‚¹4GÇMKæ"ÓϦÛoù
-‘V·8Wï’å‹O|ïL·Bz.yÙ¯^I…+åŠÎ; nÞ"æ{q¾Y”tHsÞg©G'AÀEdÌüVww.¿‰CWZÓz¾·¿
-ÁÅÍ>Žº¨jéyA.
-!3±.
-ÂÙÖÙ»22ûÙÆ ëñ„—ü
-ü~¶vÂk»¹|UïNï×vijÿ֯ݰòÚ»…-»º¢`út+¼w­Ú¯¢3uXL)è‚2"¨V\WG+¥NŸ•C›•{naí|íŽüwtP¢‰†,ËÄG,K_§‹0-aÄ“nÀLUºfÓÿ!Àäåÿ^P
+xÚÅ\K$· ¾Ï¯èÜb «HÔX à™Þ1[{ r
+âœ|Hþÿ!¤$êYU]=Ócw=$Š"?>¤¢V^þs‘—_ž^~<ýõMÙKÑ3—¿>)|!/êâ£ÐþâÒ©Ëß.ÿø*¥ Rê7üƒç/Zy|b”êUJxyº7.ßë—ÔêŸ?þ†#¸Í”öB-CA8TÄk…××Bd›M…½mܤ‚œ …gxïe¦
+‰y|W'@Ìš@ORk|JíéŽÚy™§•úHnÍ}ko½ë©fԹ
+кº\ž|ƵP¹îÕE+´ô+XÏíme8 K£…õH„ÔŒÊè„Ò‘Pià.T#¬s3¯ºÓ½‘¬Õ{QyŒHœ†Y¥Ä´h;Ã-³æª
+¦„FtŽ_ÒEuû©Y
+x£h§ô¶Âig&µJ­¡ôç«CkðæëjßÄ ½§¶°™hÝY1;G}šsjaÕº>ø^çþ$<x=Œ"*j¡Ð¿Lü€Éüd Nr%,¡<©ŽøEø|îË&íË5Éiä¸Øô•Ò„·CÌ¡07r¹c¾
+7Ì¢¾7ª%"ŽíœÊć""™‰Û–å4µ§ëë–óÎÆÛl$ º˜Æ±;voðÓ6œ¥È6 qŽÝåÉ-ÎÍöl8¿eÎwœßPÆœüï3s#X0Kûá‹Ñj˦ýZ%Œ‡9ølkõ \œ·±>NØÐ>\\{ÛÉ%jÝãð%ÿÕDùíA°A(5q‚9ðJÌoväÊK‰¤ÕXHb4ùætå c5ô²§©1®‰¢m)ºÌ¨õØò{ÖízM¿7<Ž1ònƒ^/ 4!pÍã`æÀ½ÇåX»#»s9-ç¨yÅN–¼‘‡úˆBÆ°Çùi•uÀþÊ5ù«òä–¿ÊÍöüU~Ëþ*Ùû+ÿµÆ»Å«¨ˆ qÕÏïÈ—éœ×ïø²´F€a= ËŠ!¿ïå•Ì6– U)1Ú åß³øÈTm›,£¼ñÀ#ìOÁoÛÕž…®3ðIØYÐÂØÊ(€Üã:²Û 3Ò §ÝÈcuk¾ÁrR;óG¦• À'ûZ¶Ì’gq2¶®ß:°È&vBŽ#DçØ[ààR…yôÉwçýëµðNïçá,ä~ï&`Vµ¿Œa³XŒ„Þ8Ý­u·Öƒjûð»Xg]Üd}Á´ƒ¢õ×­ˆ~ßDØ™0VòÛªw)lŠY#Îñ•Å€N©{—
+¬Mø+Ë~ãlÖ\ãÞº¹-¢óRô{½o ®ÜÊiã÷‹’Ó`™ò½*:4[¦yq¢C±HÛ<WZlç¼²èwÎÀ kãÅ‚ÅÈé8w@ÒBY\®\û9wÀÂྠ|ó³ŠhÀ˜Œá;hTE–šy ©1Ñ-—ß÷‘£,.KlÑ4Ýž‘ûÖ68èšõá¶ò¸efÕ/)\÷à‚g¢Lñ'iÀu?#]\ü©`gé‚F.™Yš¸
+åEì’ökûƒŸ›¹x¹æÉ’'ç«ILå)ö|—Þu¦ÔÓi{%ùIûPTS¼ù¶9oGpÏ?÷Óo}ÛöfÇSºuÂ"8')QÂê ½y{ÉRë€P-|[L•^Zê£ëõç¿üTºÀvÚª‹c—?ýTÍb»xp^@Œ3×M»³‘ôÒ瘚¤\4Ê)Ø›€yŒ>çSŽÖ#E–&Ú®P-%³gTP é¿Ëü›¤¸ýê{ç$âGÛy\mv\Ê=èÔš‚Ò=ŽØxTœ·ŸéˆYœ„궄k–8Lo‹ÁôLetÍßÖ…GdÇSFÙ›À÷@2MXÆíLÿç`A·8¿Ç§gò'ê‰%ì‰ô°ÕÁÑò–Ž¢‰O8ŠÓJ¥&ÄÄ7M/{c±Çš‡ò;áÕi±L âÙ¡R.®ÎŽåÚåÒº¨úÆH—W
+W&‹¢Ý~?gôÉ,µBuóxŒî©·=éê
+sæ÷È|4†ßà†¢…À{['3 ‚‘Ò]y®ÿLŒ
+9 `¦bÞË”ÑØÀ¯ô¶·Ÿw¹Â”L)³¨âÜv´[çÎnG3d»^·¶£=UG=Ênô­¤ T€™ÃOØqBkv‘Äv‹ °ZZ?$ȃS)
+Í3>ä©pÛywvÓ5¹h?%Fw¬
+× {Ä ­Æd¬0áÚú¡òg”3¿ª¯²ƒÚÊ…i°$[X·µNVKÝ-KõèÒÞ«¬‡j–ZÈŸ+_¹çš§ç »ÃU89«EÃÍP8‚Q›¾¸”}[•Ó3q­.g¬ÕâÔc1•¾)£n—–:@E›KK ^=lÐÁŸ„ 6õC¤ÿºs0'¯s9žYNå'³×Ûµ*H>ï–‹ô˜_~’ÕÐ .¿YÜpnÛšëz¼V¿æâÎÐwV’mjƒ{Sß8ÊÅ=mÓÿÒ{«ÎÑßÅñ(S¥^ÿÝâd0H:œ@PÉþ(gý \5¤·Ž7qµW®¶DÓ âÇ.í 0®;™â±š®ê¶?ßåJÝóf!ÐŽŠ­
+¬Î_…~VuìÈálô5dtTvÛ1™Lo>ã“Ù|òÛ*¬twüÌÔ  iv Î,LRÞ£pÖöróêÿ¥¾ƒ!ÓûÝž½Õ4I²…ŠS‘ ƒU¶¦LªÛ½ž A‡û¤î£òT“»"ÜMØ0•·2Ì4gi¹·ïS¬·0O_< U Ö¬îV&‡«N³ÌÌò™#€ýTV“ç.™xþÅõgäËÑà°yÚ4pkhèJׄ®tÑ¡ëvªMÇ}e÷µ®?ÁÌGRm\<›…þgåÚtP³ól +\z—tçiá.Øíƒú‡ÇWhû=¢KTÛ‚ª‹R‹/ºûO¼jåhu7O)ní¡ï.ËÇ™a¡<)vžç‰<Oó4Q ÝJGGœ§W37ýiÉwÌÑ ;aA_ÍQ‚é€P :%«¾&bÁög䆷£jGe G\š­ ëjŸÎVi7%­wÚßNwÝBº<êê±Ûòo-p­ýÞ°w+êkçs÷­ºpZŸ ó¦å¢yåD€;°xög†EßÇ›RˆëÂF(nÄÇéÝqV¦èSHüG¢ Ãöô¢0ô‹óÈ|ÈÀxôÓXÞR¡´®æâvþrÒÚ5wAOÝF`ÉmOeM¹i·y]H®C¿{i?Ñ”êÍLˆáehèÎ2äLçðLTˆÂ¯ò^5½eñZ
+?|? V
+ô<
+û¨¶\¹÷<Lý¬û(ÛSÑoûúñŽÏ=+yý‘ÛG)*î ‹´Of˜: _vÑÕƒŠR¬;Öͽzá±ûÌgZrAáè3¶LÿMÝZOºÔãóÿžì£
endstream
endobj
-475 0 obj
-<< /Type /Page /Contents 476 0 R /Resources 474 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
+478 0 obj
+<< /Type /Page /Contents 479 0 R /Resources 477 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R >>
endobj
-477 0 obj
-<< /D [ 475 0 R /XYZ 78.37 808.885 null ] >>
+480 0 obj
+<< /D [ 478 0 R /XYZ 78.37 808.885 null ] >>
endobj
81 0 obj
-<< /D [ 475 0 R /XYZ 79.37 543.021 null ] >>
+<< /D [ 478 0 R /XYZ 79.37 333.806 null ] >>
endobj
85 0 obj
-<< /D [ 475 0 R /XYZ 79.37 403.621 null ] >>
+<< /D [ 478 0 R /XYZ 79.37 194.406 null ] >>
endobj
-89 0 obj
-<< /D [ 475 0 R /XYZ 79.37 323.559 null ] >>
-endobj
-474 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F75 338 0 R /F77 339 0 R /F53 345 0 R /F30 341 0 R /F32 327 0 R /F64 333 0 R /F15 334 0 R /F81 377 0 R /F22 367 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
+477 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F75 338 0 R /F77 339 0 R /F53 345 0 R /F30 341 0 R /F32 327 0 R /F64 333 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-481 0 obj
-<< /Filter /FlateDecode /Length 2821 >>
+483 0 obj
+<< /Filter /FlateDecode /Length 2934 >>
stream
-xÚÍ[KÜ6¾Ï¯è?`†¬*¾€Á
-hÓÓ¼UÓ]-•!1Vo”E“²À.|ø*È6Ò—Ky ¥IªµÐÅh’Æ©™4Àb7hèÚÌV/«ÂíêAOhYÁQ·fáD1á=“¦QZ'JF.W
-]SºšÖ…kü­³ìµ˜²£U‘â…[Qpžjâz*ÞàÉ&Fð$^Ñ
-¥×Õ¤¦jìsQv¥7®(Ž fÒT%Áb?´¬Y&Aì5gÚ·B ÏöÏÃiTT2»ßÌÝÏê€Ç^­à‚"vEe#ˆ´ZSO‚a¬‰«£Èd3³õ’4¾V1”LU{;Ž©õµæ8Yk#4¶¬¬gB¼nM» ‘P8×3¼5kFÂq«½oO¬¿ …òºÐ-nHf fØ_<§ÀŒ³ÇrtÂâÆ%O«juÕÙÜäÕ~‡ûº¬œH?¤Š‘küèê·Uû˜ß2¼Æöì V‹`ÎVmÚ78¨c­Yqn¤ VTë5}’c’
-Ñ Pæ®”¢ò˜#9SlMCÙf1h¡Òæµ4¸²ü#¾Úeâ¨Ñë0î=]Ü(@u~¤cÂókkX!V÷uû&ÎE`:V@‡îRڦݰ•qMáRèPóÿ¿nrOj.f f¼ÓæBþ+³ š`Nf“yZÍ,}$ÿ¿KóóèŽuîø> ;Õ:¯eƒ–°ç†TŠ dìTƆ¿¹H-w¯'4ÃP¼Z{F³.‘Í4@.2—ć„·hÀl¹kåÜí§Jc¼ ¹¬~•ƒOœ¡ŸWc¼Buaw-cÊ"Œ+âºûš„÷®çù»ð.Å>8B­åªUU_Yý˜+>mJOsK6ŒòV£—§˜0TKõ’˜•ŠiýU’m"¿˜f¹Ó^#¨kíE›)Íw£1ï^ D¾Þ/ñ­P_Ë2mJ-{Ô’…›˜Œ«SxT:¥+Uý¾Ö†AøD>l’ø¶FîW>€ZXô½
-i‡À9!C&iikSd¥nï ®\ÔªÝ^3nca(‡kÓe‘6™–ðŽÞ{ÍE°;4sŽÒ‚<}6Gä¾ã“7¹OVBØPjÝæýônØ(îçÌ4:
-
-0Bq0t3O%³Š^ÀЃ¦+á^œèǵ|my”5ŽP“-¥×Ù7ÊÇBnŸRÊ?åê~¾Y¶….–¹e9Ì9©ÀjQ­’xK&©Ós óÜÜBÝJ—FX*#ÊšÉã݋òR0E^§Ö®—^Çâï Fçˆó¾×û=
-/±§<íìôÂÀÊýsêr\ö@lfcÙms†‰š…«RWA,[xi–Î%÷Jòe­Ö㜈c›æWÍoÓ6¿¹Lò±Lò\ÐüòõéÿUþç‹a‡—†»uùýϧp/Rº(ÉùD]þúÏå§.Q„ˆ·¶Å<:+Õ»¾V¹r#C2”9-•¼’öc…²ƒ—¶
-t*…:e»Kšr8¹3mÍ{­r—½^ÆmìN±IŠq°4ŽÕ†YrŽ{.TuÝ8¦ˆâc…Âîh~´#a›ŸcÛ†½ïLdPðNÖóŸÄVÞ/×rÿT13m‰¸€Î½î~iä~zs±Ì]'_êf†œW[Âü’4(UÅA5Š„ó£/ÚÆ…Ç
-â¹ü.”_¢‡wZ­ ·›v¡š36ömÑ\6¯#Àß1y²pqP(ý²š™Ý$ÀC?·+ô2¼°j!–™ (ìgÆ‚îš
- ø<IçšØv &[2§³F\´hiÓí&T*¬˜IG¥»ÆðïÒÿvßú2±VK).šl¥ h W¾Öó9ɽ›oýÜ7hâÓ†Ïï±q.t{ •Âѯ…^±Ø‘Í­–&q‹=ÖÝhyññ ù˜ÈkicN49ÝÝd!-¥ùNÖÕó`{ðyLî(©ç}.zÛ¹ûÞâ-^Js«ŽV>RÇ–÷9Û¹vt$oyƒ½Ñ÷FhŽ«ŽW×FgÎ(‰ã¶¾‰@0p#aúÙÍs° ¾¹øfoC6%¯?kÏ'ÀÖž—ÈC.õ$ˆ[”nvÚçs Ca1Ð'yCÌïZ£k7B”æ> ÞÚ§ÉqUáo^Ãz„ÊKïZ“%vZyòš¼•qû™ôÉ‚%–ZúzcææH«a´•3{‡FŠÔ½öŽ{ïCíÝÊsdïQú¹–F åôÝQ%­e+Ï‘–£ôvöPŽÈ Ào“Ö[Vï¨ÆŠEÙ­¼áù5IË çGÔð¹=–v„(•í-Q8ã
-B¢¤a£¨àw QÊ15èE܃±öŽ¡ÌÛ l ÕY‡-
-¬,ÐG A.€spƒúî©Ä;€ä<
-U›ü­ŽÿDÐ
-É€F¯ýõ±PÌMà
-Z+´„^–w‚+$,êAÃ\1ÉÈ_S‚´;ÞÓ'ASÖ+‰%®ªÏµ´Ï2­\ç,ßåððõ(j%Pë÷¡D‘S(Q7÷JÔÍ<D‰ù÷Ò«w´ï@‰&Ò=%êèŸF‰ºù(Q7ú!(Qo¡÷£DƒÍO D·Ù#G؈|Häµ´ßu”ækˆ>rþ» DïsÑÛÎÝ÷– é» Dïs:¶swQ"ù­ÿ&íDÇëN”h"ñ ”¨›}%øÞõ4ΡDÝ쇣D½mN D½h»(Q?xkŸÄÒƒuòôó3é‰uôP¢nô?I½€ûaP¢Nž#{ÒϵÔZX…? JÔÉs¤å(ý%
-'=­vß&¯w¼ÞM¤/»ë}Z8Äâ$ž{nmÔðzâü0HޥР¯
-i™w¼úU†x¼Hëçö@ëòãò:—¥U²x,$R+/”E´C•ñ RÇm¼;³}„í
-\D½ÀcÚ ÍÍóùDÜ}G¶v™žc–ç9#Œò=õîµ›MM‘§)«z]És3kÎëŠ3C ¬ÇÖîÒ5÷(0è¸KÒrïX’VÕ™ôõ0Z%…[hìYÒò¦#Kå£åP¥Ÿä¦PÏx§jMZl/È[¡;H°Îœè ]™„Õö&^\ÞH$³{è7¯É(ÿr ’6_ó#S{‚vˆÑpx‹–×ÕŠão—”¹ ÞºAiÿýÌš’ùy.;º’“dÿþéÙû{TÞê+GSD,6Ó 2•ÚôïqRóâLfM<n•Ví<Nù¶Ž®Ù je¯ŠyI7uéí(²
-ïÔjün(rÏÿö<{'¶k~N1“ççº;ù ÛÄ°I‘Pœ<{Ýç€ k;Xí½ˆ³ õ†ä¹í=$ðÀ›Qx>ᥥ£ŠË6à-ìoéE[b
+xÚÅIŽ#¹ñ^¯ÐŠMFp
+X­Ñ
+Râýý=¾•'u:ÿ¶7)Õwšéy†¾æK`´}GxË+â³…÷¿ÿü3¡¨ÌŠ„µ†QÔÛû+OOFeHpg¨ñM(˜µ<ÝânqNûï·ÀðÐe8y´¬“y hW”6òÞÁ½1´¸Îݘ¢Z‚Ÿç:ù¾[3`H+¦'_×Ìðˆ’³#ÚL|ÏlX˜x~|ƒn¾:¬ÅSÈZÄÃl6í>-=4À†
+µQ\Zdj2ÌP¢KîÀÃ÷bð.¼¡æj°$?.$
+“TŒl–7b±ú ¸)šMܼXIáÕ¹%§¸12ÓÙ&Äøás—y¶ùì¼ÌâÚl©õWKÞb·lÉý>Ç d`Êo…Fxã/Æ¡X$è–=P/ð£¼BJ@§ë-Ô5Ϻ­!l­4J ‡ÊŸÉÊ ^i)4,Xˆ_N4×@ÚêÖ¶txĶ0Û§û%ˆ‘N]õÆ7ÎÕ$‹öCg-®0=u.,œÎžóô&ðo‚ì’äe••<GNWY†l÷m¢ÿFÂ… ÌÀ®9¾ÝüKÆ<QûœL„Hñ„±S,?¤B›XEûฅ‘W­±W£µ‚kr>&T³œJ¤”êŽû©ŸrMv„y–ÒýŒ2þhu×\-á×—Ô d¯éËеO™“¿óÛ!A¦À«¦”™¯(ðR>ˆïf±
+¿K8 5Ú©0šûiÏŠÞcCY’$9…»ª\O­êI¹ªu'RØ+ã÷f&¯=
+[2wiк. Ú®øNó{ eQI¯áZ<íu3Ê,Xò¡ow;?:*:q$+•]©´¯DÆ cô%5’ÜØHBkgö’)nÚW…U­´Óœ^æ³6V\Q¸U[ûéæ
+ˆùhV̪^qΤ±c‘SKÓd™ªË2ñX4¹@ìY£ –žK`(½_Ë“Î/:š(“f­¥GÍm‚pÐ9®oø×a¯Ü}èÚ¶ûñ[“3¢=†½bïæ@`ʸ,íF9;ß¿PJ.ÑKÿñέ±eOgRÿ/‚ÿ÷¥{üK‡»T÷û>ÁAµ4×ÌÁ
+§qÜ­–2™Û9“ß}·(Ø¿:÷eƒ/›Q€V OYñ!1Ëe
+p)³À=PiE%àRëª\¼’~«Ç4¢ÛÔîÆsØ Ë±Ê®ò-BðÖ_¦€ÂIhÜZ+5ºÉúØøj°uéy-{Än3{I|˜1[jcHÞŒ3¦úÄÎ6ƒo»hÈí«¡³ÖöB ®t,çÑhâ÷$Š€¦—xgè5-3–=hÛæ°°>¶ŠÌ5vìíå‘&¯¹aD>ƒO§S÷ª¸Ÿù
+¾–'´(®­…¿¡”  ¹øÕäÍHNoê Ì¡-¶Ñ›ÏY-ëPO±Ú•´JK†ýSü$ëRßlDj*ŸŒZÍžÞ7„­(ò;Eç§ò»ÇçˆßkìçTJJßÝǵJ>›ÊŸ#*×ػّ¢œÝ)û?ñüã^ŸÈØ
+O&Ø;yâ€[™xp®æwØð­¿·vÔF‰ù"Ë•!éä6Š’–Ø¢”PÞ?ÐEQʧ[àŠ{½®½{*ñÒd:çÎ.Þ[p”ë“Š¸ ÷=¡íÖnw·N›»ó}ìnGoAZÓÑt4¹?â'w¼ûû‚Ðw¯-~ [1§ðÿÖ-öÿ šöKJ×c¤þöÜ~Í© :' •0.ŸìÀèøÇ#hV®;0¶´;ÊÏì"ÝŽÆÈ \scüÔQv{Ì‘”^¯!jçzüg{IÜ¢þ\'©ñP©[ù@©[wØCòFxo¾¤ïA ƒ´Æí© ¤üÃý£~ùAû¨Ÿü”îÑÀÏ7Fv?Ð;:Å þ;PðKô­ƒü‰¶Q§Íf¦@ØxaZ&>,E!mü§´ò¬ÿiŠ^
endstream
endobj
-480 0 obj
-<< /Type /Page /Contents 481 0 R /Resources 479 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
-endobj
482 0 obj
-<< /D [ 480 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 483 0 R /Resources 481 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R >>
endobj
-479 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F85 437 0 R /F75 338 0 R /F77 339 0 R >> /ProcSet [ /PDF /Text ] >>
+484 0 obj
+<< /D [ 482 0 R /XYZ 78.37 808.885 null ] >>
endobj
-487 0 obj
-<< /Filter /FlateDecode /Length 2765 >>
+89 0 obj
+<< /D [ 482 0 R /XYZ 79.37 771.024 null ] >>
+endobj
+481 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F84 425 0 R /F81 377 0 R /F65 335 0 R /F85 439 0 R /F75 338 0 R /F77 339 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+490 0 obj
+<< /Filter /FlateDecode /Length 3052 >>
stream
-xÚÅ[I\·¾Ï¯x@YÜÆ
-J˜è<BOȱˆú
-‰ŽVVë8Ò2cÃ…öH’’ª¿‘H”:¸X´ä?&üf&6¹Â½é»/®KûW lKÆ`.,GJ~µqC6ê0–ÒšéÜäýÅ•Áǧ_ßx85+¥¾¯òÌ{ŠVæÈFà÷*¯ Â<ÊД9¾p
-ÏJòšžöõÅqé’YÒm.¹M‚‘CŸ7Êôfkó8×–‚èOýã$$\ |p{c½5ð9Ei)dàxS]Ì-¥Ë
- ;¼-'ÿ©åð„¹ÇD_a(dkìiIæî©5ÕK’üd,^=÷ÜŸuK‚\
-z™Ýœ^óÈ\ýá[5=Óçô}DÿÆæÃQ“\ì0»Úø[dåƒðfǽd)°{¦Ýšü¯møõo·ôqØ&õx}pN©0–œ¯ä jÁçgÄ«Ú"tÑèZEINKó}ÑÔ¦!Ûe⢇•B×ëA1ªË–7D{¥øUÌê€ÙµaStN¾öÔZŠ¹¶hávÛÈCàŠc³à„ñUF{nÆ\¿ôžÝ¶3¦šÀü¡¡–´©×ü±ZØÚV˜AnÒºµªRŸRþÍîw>(Loz³°ˆ¶?Ùmœ9ï7žK1‘™h{Ÿš3,·¥kÆ#ÄÙn™4±‰
-P¤Åv\SqNø~QgaOóu¬-!÷Ïj¾¤È &IºyÍ Ýûui¥°¦ŸŽ°…íUÀVéÿ®‚>÷Ü›qŽ´À؇xŸ-ƒzïµ±é]¶¶âþÙŠ¥+ë©Á`Û´éÓ GOJY×Ó 7“HQü8jHÛ/i5î¯ì¯kl&¢[%¦q=¾NüѦ³…‰ˆã Ò$¨|ízdÑùÝ
-ݲWVÊŠôüÖ•ŒYÔ¤­éš„ý§I+ wôí—  _¯ŽŠ#íoÏÅEžë™ø–IŠ¾^ ¤rMß7;LÕw¤mîw¥¨¡€½tÅPÄ0Ùíן0IQ‹ÎÚo´…šÞêý¦J¡éß6ÿL­õÒY,ZÑí¤ËEo)™£™î
-þÉY·î èÚ.Ý—SÀ:üé¦|Ÿwdõ€w/û°åp+[•=à‘̵ö$D´|˜^xܪ‰£s$ñ¥A‰ Ú–Ì£œ‘Cñ.¹0éB€÷Ú£ÍÂ6G•1“mî¸\ Þ Ù]V„r«ÒŸÑö—ø”ß]¾rß~BK"®}g9¾Ó¥IºÖ‚HÏÜÓý¶xª<ó9°öõ8*/h Ñ!AÞ†èJ·+¦½K%¥ÆS1Ú/-€^?,ïßsôW8Ù¶#›9,xïs$"&”¬»§|ÎêÛ-ÈîBßñqh5ß-†L.SNŒ1‹Úrgº»U.Õô‡•eèÒˆï,»ùœùÚý ðXêb˜xãý ¤ ¬ÝSyÿYPÏá/9k ù}ïšIê¦s<<;Ã
-4eA‰}x;<s-9°´§z”6ìÀ×äqîÏøX¯zV}Ê7ØK`·ŸßÇH{šÎ–Uö°Žän†žÂpN±—)_mo-h7§£@†HQ?¬ˆÌÚf®iÃ&…~o{Q QöÞ¥ ØœKªhð‡zèY'eu£Üp?Ar}¨€v—#õe8zi¦É{àÕЫ¥<6bÝFçl)éqĺ+G0ÊbœÊaerË´D[‡#zØj·ÄÙ?Ó¦³,â¤?Å8"£ v{ƒXsT1B¹Ð´¤ Ü{˜†?ž(t%ö¿˜„~ûúô˯8þüüH}&Îÿ¦™_Ñ<F8Eïý{ûûÓOåO(Ôfq1ç15v™-à˜Âœ‡ë<X]ýx±zóøžDzý!”Ý-*¡TÛTÏ!r}°¦k»áeüÈTšì¾
-¡¨‘is¡®Ì)šÒ‹èöÿÇöÙ.
+xÚÅ[K·¾ï¯è? š,¾ÅV€sr¢›áSû`ë_ò÷S|ßÝÓ³;V¬fº›,Ö‹_«køöÛÆ·/O—¯O?¼Zµyæ µ}ýõIྉÍz&íf`܈íë·íçgνñw}ùåëOœÉðo?ÿümÛ{ô÷/ee†)¥Æµ¥Š´qS8iÑ×v®ÌØi®õ‰¯,ö £òLpsVFË)c¿ö}2ös5É(-ú¤3¸03Q¢r| Çè•Ç „×’HS ¤Ë;þöüNHÃ<W+Ž¼‡; L{3Ò 4ÕõgF2®ÍÌYöÈl¨äõ²µq Ülιø8A}]ðomKáSÒ³µ®2¼Ë++æüD_ñ^ ‚³Ùø;N B39iR£à­Õz/h&¼>BãŽmüæ}»–|¨ç'ïÚÉZÚ2fÉýCp’|©§¯×X'¬dZL£-_é[Hê­ê6×G«»cç–¶'Þ×"r+÷v—â–±çç–3÷R‡ò» þ° †Ÿ>û?³Y#3ïy#K‚8 _v?1ÖâGQ˜zÅ?dMb\²*³Š,Â%GÈ÷Bì
+ßGÖ…>X+À]YKDÑ?HÍs4 HV
+ÊøD?§+ùZyÁ€OÄsº¸$ÎŒ'j1f¸tW _)Ñ8e^À%Æg×õA"üÿËÓç¯Oÿ©ø õj0Á
+–gZËV’â¯Rf~#o—î®Ïr^ÒªÚ­hƒCw«º7/.ÌÍ(rfšEkh•öQ”öJüçܯl¡¬˜ôGÔŠ%âÕ®%ÊØ"k¤›önÞÇ×*eÒ3éÓd¤Ý§DRí¢Y¡d>®y—Ž)XCJöð\?§L*Êç²ßÄY6¯§€<¢èL§»{\ÇÙWÒ}‘ã5û,f-,.`¹T[QJhÛzWôTž4NXL*Â’îòQô× ú p%n4æè˜cnÐZVÝUUþ žGV—¦j7ríòÚ¸v…e~ߺ˿M§“qýó0ûAƒN©};ŒŽ4Ê|L>“çÜƺ7®#Ýd ’] Å‚ç({ˆ¯&c«[b«
+ÁÉNZ“¶·„ùœ$h0)Q]{‚²‚9î'~ìEà,!˜×!/ŸÉÌõŠ[›à.m]ÔWÌ%>çÝuI»#îÊrý"E‹™Qÿ¸¬n1‡ð5ÞUPÑ q¯›viA³ãx•ÙWŽ)¨U7b|‰%—y΄l¡4ÃüÀƒŒr³¦Ä¸,êS8wGÌÊ`þêG~þ5¢&±{{¸ê«êŠ¼'G‰ÃôS /ĸ:åuáÑ9ÆVK^baÄí¬Ë×_çÝVÇ÷ú¯u™&òû…ÇHÙÆž‚ ÿÄ»ƒÿ”Œ`öŸØ­¥dÊÁè39¸í7¬ñ®i²ŽËÕ;½Ü/ã(
+z MYGŸëL /zæ¦Ñµ)çÐO¨:7m·Ϫa`ü%9â;)+ôt Ô$^:ŽˆÈt
+] •BÈ ØŽeŸUfÁµéè!œ—!„àÅêEØÎãrÅ×vü1zÕ¥Œv½‡“²æ„”4ùÜ=V´g"U¸Y*µ/®à±RyÏ â9è&O@Ñ=ɨƒ‡çß=w¢™éh £Sï=%Ú”¡DäFe½°÷Èyd½+}kc8ÁŒ£¬ß ¥“Ìc^3¬>æ›IÁjA“”µ£dYVBÅtUQ´ÕaÕ*œ÷¾¥W8ËŒ.[ü–gVÊXšôaÖU•øþBkh5jÿP«Â“0Si±7UsS-éà9 !Cm©¥£÷HÁ L±Ž R^NUF2**c1!r7P1*É^k°¨àß~5™.¸ÂYøn‚i`ÿ0Ððºqµª«帜(»¡h³¥}Z¹p“÷WR¾²˜•Êcå+ M½ ž÷“XÊž5By&h¥É4¯¬5¨0Ý%Õä1¹¦fÜ‹:ËðT çñÕ©o<k¯Vhq#ß*4Ž°6D:>7ê€Ã¯ðÈ`fcÝ»ñ ¢¤fNÑ~¯²(2¥”¦9â
+Ÿ c§@[MH¥-7õ’d¦¯ïê+fÉךžD]ñî…ò`m< zÛ•(Ûƒ"­¡)Ãå'âÕdUh˜ô­ fìǶòEzN¦á”§·õàp<H$©b—¨µï%T®{¦'CE¤Y=egÍ ‚v´Ü®éÎû+á[=Ñ'ðÞ££ôp\àCøa¾s~,¬cV‹ë3ÂÒÇÄ_!N(½åF,ªç]r e°ô,¬U,áš½hšÂíkow‹Ym˜@5r¬JŸöJ&°‹+•bÂWÝd™£g½²£Âw,u»e®Áð´±I dmعÖ?Ò¹¼´~]KC@ õ¡)uû–âz}ÀO×µ¾TY(ˆ‡Ö"KyêÛ‚­žËôXr‡Gsã=pYsÉ'xƒêÝë3×$¥ë•Áa M m.4*â`8jû5 LÕƱä¿3%pôÍÖ2vmtšžÄëøHzŒ¼4ãªMšùeDKðô6nGƒ„ëVL•þï"Èk»z5ÏžÊ1­ÏùÑrBë¿ÚW±seËÏÏVtbi³@ÜÉLûîEOûòãÒP.yÃE^ž¤WØt¦ÇÂëØ9) -.Š ,ékÛ°B›t˜[T·n\šy'ÇY ™Äבּë–Êmh¶+üÆ‹ƒŽ’` ýv8Îüƒñ-“dy1Î;GòÞß¡Còö´Õyw"ä0swOçcö€‘‹vÖ~“{]‡Y­ß<´ käÎï·bå÷­kÜèàÍ{£Tpع7Œ^ï—ðÒPÛïÒñ5®õþ–¯÷jõžHhÅ<Í.éi÷ÉÇ9iH?=¥µ½0¯N÷žGìyˆ¿Ó¾ê×ßóõÜ“½à6åg|žlÜÓØȩ́FÇa4¬º‰„ÄÃŽ¿§·}¿
+P†Y%Wª8ð·pyËHïû±ž´œŸœ[­0ø X:wÅìèK€žqi =Mµ_.
endstream
endobj
-486 0 obj
-<< /Type /Page /Contents 487 0 R /Resources 485 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 490 0 R >>
+489 0 obj
+<< /Type /Page /Contents 490 0 R /Resources 488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 493 0 R >>
endobj
-490 0 obj
-[ 478 0 R 483 0 R 484 0 R ]
+493 0 obj
+[ 485 0 R 486 0 R 487 0 R ]
endobj
-478 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.097 678.844 194.524 691.135 ]/A << /S /GoTo /D (Hfootnote.22) >> >>
+485 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.097 484.605 194.524 496.896 ]/A << /S /GoTo /D (Hfootnote.22) >> >>
endobj
-483 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 246.892 626.6 261.617 638.555 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+486 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 246.892 432.361 261.617 444.316 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
-484 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 274.568 626.6 281.542 638.555 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+487 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 274.568 432.361 281.542 444.316 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
-488 0 obj
-<< /D [ 486 0 R /XYZ 78.37 808.885 null ] >>
+491 0 obj
+<< /D [ 489 0 R /XYZ 78.37 808.885 null ] >>
endobj
93 0 obj
-<< /D [ 486 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 489 0 R /XYZ 79.37 578.488 null ] >>
endobj
-489 0 obj
-<< /D [ 486 0 R /XYZ 93.716 100.579 null ] >>
+492 0 obj
+<< /D [ 489 0 R /XYZ 93.716 81.015 null ] >>
endobj
-485 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F16 336 0 R /F81 377 0 R /F75 338 0 R /F77 339 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+488 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F75 338 0 R /F77 339 0 R /F15 334 0 R /F85 439 0 R /F64 333 0 R /F65 335 0 R /F16 336 0 R /F81 377 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-498 0 obj
-<< /Filter /FlateDecode /Length 3467 >>
+501 0 obj
+<< /Filter /FlateDecode /Length 3115 >>
stream
-xÚÍ[ËŽ%· Ý÷WÜhY¢¨ÐhÀ=kÀ;'³3¼râl2‹x“ßõ ÞU·zf$€3ÝÕ%‰¤ÈÃCJ%oÿ¼ÉÛOOò&Òöög|À¿üõ§§·ÏO?ܹ,X¼}þãIÅ7nêæ‚Ðîæ¬ÒªÛç/·__¤ÔNJ+¥4JJ|{ýíóÏ4y^„æÁÝ<ô¦€
-p
- ä}ÏÚÓ6GáJö¾f"Ô| \õ5T}(æß’2ñ]{ŽµPÒºY¬b-(Bl—i–&tvá ÉÜp÷½[ñpCZ佡hÖØ#@•eò?†ì(c‚br#¬
-lôD¨mm g‹hTÌJdî}’{+°¿ñ¢ÜÊ–Áq 2£Æ³ÊÓYq½âê£OŠÓÛsEP„¿P䱜l°”ÝIþ{•£͘=mè^ÉõÑ9!Ce…!·œw"Šý
-S)±€Råi6v>KaÏŽÒ4W9²˜-Îv¾‚cR ;36û°U©als2¨ÍÁÕ³!°¸™<ŠÅj¾5SBc׆AByX(¼µ\z¥Ÿ6U8q¼È)èÿzúË秷©I[Cô©JÒÜ~ÿTo–Ìã=-LÜAÝþüÇí§_*-ÉGÍûª¦3³¤ûh)>%»â›Wø ÿbR?­{™]¾ËÚìCÄ$KUîɽÕl?.ëÒoC”äQØJÇÌ@³½ÇùMø3=¤0®§0n¨ß§Ôhë¢ò $uí6bmN¹¡¶™:ÿÇÉ“¡ò Úá ”ZÑAÆi_W{¡g¹ñ~îRTÁ·Œj2.)˜eêRð3ôp´Â¨êÏPµ±t¨:´b̾=+^à¶ÍÙy=vqØj¦TéúŽiÔvN«³V]v¾ï_vݬó“ÖA=XeÇýÊ7²”{e¤Þ¾µþtÞ•TdQ¨F£ª ›ྶ6²XdZ%1GûU¸÷l mÖŸçꎽÔôÅ/4Á8J73â®yw¡‹xåÜêapôµÉGãÙJªKÔ¬LÌç«iÞ¨th3ÍtTÚhcE–X~ò‘Ö7:aæù¿{Šô”W-J¦€m×/?»~GëîÆTåì”DÁ†’„MßyíŠHª/»wk¨“.r~ÿÒ±Z’fGJ¹ÎoœÒ[÷ˆÄ©U›YÅm¡›F?HN
-4¡Ñ2ÊØ}üÍxÞBn¾§ïljli‚| @¤&ˆÒáðŒE“ALpª¡´_ת¡*@¢A…\­j5KŸßuÝM®î|n<°à·+×;˜í°Ÿî¡+Ç·˜™ruYOË]Õ±5zê¬ûp”~C»æNt.ÛöÑ®y<E×ó$å$ª„QÝÎ+‡ˆZZa±•?cilz~0o(©í:­r7 Há$‘1”pŒ!lÎ_N-á=wÓÚ‘¶XÕÎ"vÆæ8ë,^¨ËÇm¸P—¸~¢ISe·ídùݾI²è)‡¸‡%>¯‹$ÛιeO†ÚåÁq_®QÂÿ9eºxɨ¯f~5ZíÈ_-/ž£2”dÜM§ªõii£÷D¤`
-üq”Q½=N´ðР.n=ÒHáÛ%åÆR绊å~þ!&j'Wæù¾sv
-÷z¥…18϶½Õ«@
-üúYÕˆÍÌ ëQ•ÇîØg,§kôº«²;ª,ÍùzäÖy¯Ë5K´yq•JÝ$Z/ÇúKW~û…ç–tà»]I€£ÐÐu|Ìöú­î¨îøÕ@é;¿\hæ§_Yý²…_ñ“µ ç™’nýÇcƒ}·3>Û3a·Nq¹ød+›\*KJ¨HÞ§ö{vÁSùã'™€až¹Þ?ÞKßF*¼§Q½Û§òæÞŽÅë·-r蘉ÍGå@ÊU«]ÚuúÃ=ŠøiQ÷ÁVÅ—Á¼."Â"س6øÒjV(ŸÞÖÏKÎñ@XJß(i-?ÜŸÍžFYû¿ôõJÌ
+xÚµ[ËŽc¹ Ý×WøZ‘¨7`ÐnO¬2¨]U™E0‹Ìÿ/B½©×½·º; ¸Ë¾–(¾DR2¿ý~ã·÷—ÇÇË_Þ„¾yæ uûøíEàü&nÖ3ioÖƸ}üqûÇs
+×~ZKËÄE|/e%õ4&|ß…1Òæ¿a<Ï«¯u
+J ,£R
+)A•.
+•É
+z2¾Œ·Ð´ \y
+2AVVŠ7D2Ðß¿‘‰qúyò ³ö kx7*@«Ñ=Ì;¦õLÅÅYœY}ãÌÇÁÿ¹uÿ¶Ý3Ù0`™pîçïãÒü`Îb’B|æ\‡ƒÿ¿W¾œgN"{B3²2fZp(~ AßûÐBžz<êÓÈ¢KTªgÕo}I¼¤§ÆÒ=Ò¾ Æ ÔlÇWôd•¾mO£÷M<Åýhj6y‡F '¶ÛSEE\2°®S‘ZÛÌäMl‘BK¯¾åE²èa#…è=…Œ¢`;1“üÈ„?ÆR?
+¡'Д2߬ù[Ó4–)…f R¼ä‡ªÐGÙèÁÃêSHßÓDãùjèUˆ2Z3¥›ÄÙbÐ+;6xó#†› %™æÇg¦ ´¥ÛÑ“‚iÕñD4Ì ÁÜäh¾îèÏ´”¯qT>‚wøn™‘†Z¹D˜Ž­Ë3œ@ŠLáËÜþ ʇ_ßC¬:@Úif…Ûø]a‹8Çh #%SøãÌá¨ÌUxûë;™«™†iîà”‹: ÃÌt°êç´!Ð+Œèm|þ’^Œdhñ‡ˆnðßmüøÝ|Eõf7Y/ïÁê ²è*Ñm ­ìV2kä¼S—Ú÷:‚²aRÛÒ?CDr.Œk˜º…‚$VyÛÍÕÌ;9Í}l\I0Óè¼Y?¥D«Ž»ë¡êص{jZ_‘¼¸ñÀÉf%i˜çóJß!9‚(§å:¨®×.a£Ÿ™¥üAß)a¥§­ø%ßÉ~×ÏméàØfƒ4ß¡Ii™ónŸV6ÚÌ÷³¯ùL‘xX¹&®c‰‡+tWH H-ì"ëpT‰‰º.õeäÁV_K¡ð*ŽÕ*ƒ(“s¬¢¬¦õœ-HÑäB#Ì …a"´™ òf5îÕ«5åa‘dQ^0ŸGêïXÕ„˜Â@ªn”IŸeÜ$‡•Ž@å* 㟬t„ÌD+")Õç¢+G¦ZªUL.@,oõd˜™cX©6ÕbiÔ‘ÅRµiIÝÛêÏÎjC‹#ñS —Öm†s²i|ëÀ–¨•`Q ¾¢­oñkr81ô²í®ô\ѦËD„ÔÅCo&!¿¤ÀX U ýFe#ÈŒ[co()¤´!Õ“ëÜQ=ÿZq®ðâªz0Êõ¤‰É9^ÁÞ©[•oi+‡VcQ=Y¢§4’4"TKK@óÜ<õ¨õ…Ð
+ÃÓ¨ yÒ±BPägk¬$ƒè%ãç.•)‰h[¨ øÖ2;=Ðnê-ÏÙ‹ªwÁÊþ¤gF
+Ý£™éúl| (ã/øÖ«W}M ºÓ§( ÄvØa¬õ%±ÚØúlWI`Ä–~¤Ò8‚m7¬ã÷IVܤíü,7´MëPyÙv‡[SHÕ
+*{ˆ©j?–æ8KzÉð5®ºö]™"ÄÅ,R¬•ìóù¥dDCƒ­'»37M8Ýþ¹T¤KÓÈ®
+9
+Á 4×+i¢5X‰rÌزÛ#Çû…¥sd“K[ú5|•ŸŽ‚; ‚‹kH>
+Ž£ÅtN//VinÉ2*—Û‘ÿ·Ê–ô È
+
+â - KŸS{`Ž à…GQxE¥×öNµØò=mÝV˜UŽËº—£Ë¾&£§›ÚÝé¹NyRã—vË •Ãý¶ötôÇ÷GïÚ]-ÓД¥+70ùÝ´9[¸™õº.¿èx‰£y‰,t¬ u<’\1¹r,¹ª¼ åíÛ5éк+°a'(>ùÐÅ^ήš
+Áõûþ•ƒ2¸šo)ÔR¦ò=µä9”ë)ÊèŠõ6Ô¶Í$°§®F™ö#ˆºi£Ä¶Êغ<•êº
+¦jà03À¥Ì@o
endstream
endobj
-497 0 obj
-<< /Type /Page /Contents 498 0 R /Resources 496 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 501 0 R >>
-endobj
-501 0 obj
-[ 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R ]
-endobj
-491 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.263 528.233 367.988 539.292 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
-endobj
-492 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 380.939 528.233 392.894 539.292 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
+500 0 obj
+<< /Type /Page /Contents 501 0 R /Resources 499 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 503 0 R >>
endobj
-493 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 430.922 204.087 445.647 215.035 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+503 0 obj
+[ 494 0 R 495 0 R ]
endobj
494 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 458.598 204.087 470.553 215.035 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 353.263 352.891 367.988 363.95 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
495 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 346.259 159.364 356.686 170.43 ]/A << /S /GoTo /D (Hfootnote.23) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 380.939 352.891 392.894 363.95 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
-499 0 obj
-<< /D [ 497 0 R /XYZ 78.37 808.885 null ] >>
+502 0 obj
+<< /D [ 500 0 R /XYZ 78.37 808.885 null ] >>
endobj
97 0 obj
-<< /D [ 497 0 R /XYZ 79.37 694.453 null ] >>
+<< /D [ 500 0 R /XYZ 79.37 519.111 null ] >>
endobj
101 0 obj
-<< /D [ 497 0 R /XYZ 79.37 515.275 null ] >>
+<< /D [ 500 0 R /XYZ 79.37 339.932 null ] >>
endobj
-500 0 obj
-<< /D [ 497 0 R /XYZ 93.716 139.127 null ] >>
-endobj
-496 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F75 338 0 R /F74 337 0 R /F64 333 0 R /F15 334 0 R /F65 335 0 R /F22 367 0 R /F83 414 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+499 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F65 335 0 R /F75 338 0 R /F64 333 0 R /F22 367 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-504 0 obj
-<< /Filter /FlateDecode /Length 3211 >>
+506 0 obj
+<< /Filter /FlateDecode /Length 3153 >>
stream
-xÚÍËŽ#·ñ>_¡£}Ø6Y,¾€Á
-øÃß͵[.  §=®8MçlÎۯߑ£6_%ºÑšPЙK7¾G<EAk·Ñâ &†ÞN±Ðà6tóFëXR4β‘±Ê| ü÷ˆ¯*ΧKzÂ[ãBÙzv90z a¦•Q§T(7mêБ»ô2ºSÄ„]Ç Q™ò˳¨†·P-‹‘‹ÏVEH%ϲzóo 浈wFš÷Ò=ÕãN=Á£D¿Iuؼ­"œ O™å ?9ÒïðÊ\Võ20hÙÈ1òR¯šàd;dF‚f.yƒÕÝ”Û|ŒÕ{„ÉÚØ Ùè5YÕbeeEµGùWZ—. †Ö¾v¬ü­
-?hZ໲†Uº‡Úbr‘ôÿ_¾|}ùw'äzCMB®ÌfÉsþý×—ô‘>„p!³dÈ[þöË//¡—=P42`¨ÍL©Çä YGši4!lÕx
-ˆz½ËoAípóÀ8±:™Dë`{>d~k‹º±fdÞõ6ï+¬<-‚íU?ì¼eÙ…Y÷lѼ7«Åš_ç3°×«Ú^j]Ä- V*e¿Và{ý‘þwÌ=¹*˜ êR_œ÷Ù§ˆ½ýÒô.Ýjáò¯rcù–¥ }Ä%ÏÎwÜájvží4`2¨EWYª<²|JôÓÑ$é^8GãÓ©p²Y¼–3{.òJæâ
-’n¼bc¾cV3“\U©ÎHWq½ ™Õò¨¶†UP•ÓzÓÄ°Ï<-3ÞÙ®ZEK˜‡ á‡%Š‰5À/8€{Þl€?wè$º6êvŸÙDÚl"-Y¸;·C“Íbw»ÄÚ9"L7XÝš±œ`šdÒ\¯¤ ‡˪éDçÀÝ5É×ç2·A„‹ÓqCÛ’%±TsNÉ0•s,zIå E¡ümô³¼;)*+Œb¥ý’’©bMwU~Ãh{ú Ó½ïÐM¼AÜ>îò[z ?~ÎÜ;‰—m°ä‚Ò=ô# ˆ6çÇ›·%„ø+¡3³cÞ»dì€L…@B⯠‰ð•½Ù‚5 ÛþÃ'=KÌz› öZ¸!m½Ý[L_“þ»Ì3½×¯zúSl¢áƒZÓ=)ùnu¢sG3ÇÜ毅^~y;KѸ^J°Ò U«ž÷ûQK³FQ…\=àïþó}ÙáÈQoÑS”0î ùDiRDWäè;ø~dÒYÅqtÓà]åO¿«Œ"ªX£Þk¯Í_[x¸¤b!¬âøì cä:<Ak
-+5Fj)‚ÖAGZªâó´¦üI£qüvÚœ»FŠ¨Õž2Ÿœ¦Ö
-æCJæ[>&e–y '3#¥Øÿ Ë…Š%gK²X–å4K–uIUÕrK‹Ín9[²ÈU¢‚Dº°øÿ•5·í–:ÜÊ–k7ÄÝC~ÝL_PXæÚ“|L9zÍjKÞ -ëÉņ9/¯Nµ_…ÐÜE2%eð…§R=sé %t¸£ ÎÒwžSš°ƒ0æ4Qo–“"—Œ¹,úœ"´½©3fmFÕžœ“'5Aÿ£ÕÞ =ôó©)aəŭ+1\ ®ÙîAÝg•#…)Gâ•w*Hwdþ± êÙÞnÌ9³K&ºÐ^~SµÜ…9õ*;Ê€àÜZ[ ®XV §õ‰Úƒá+«O¢EUjÙû&@ ’h³TåÊ
-)­§¿è¸-Z²Š-L$Û2(æÅ‘®PȲ3sîëʔ᫡KÙ\Ëî›óœš«Ï …o‰VPs*Á³ãËÙbÍìîe­h)[Úá¹(RŠÌRzj=“ÙÖÕ@Ä.]VI£—1:l6 ˜[(GBÍ:p”K<—×ÊZyÚ.•$j†-:K¸*'[aÔôka'ü«\ŸlJìŽòÛäÍ´Ð:ÓÁÆÏN-Éví)¶ÏgÐŽíú©‘(KD€¥‡]ü´wÝ÷ì5¾1cßܨ«‡è©76'Õz$zJ5sÓâúKï+~çqÐÿ½'Û{›kGˆSV±õ¾û"ÌAn33¯§™@ŠáÜ·U ùLosŽ–Àÿë2üü©KÅa³ÑíÎý˜X«¿w³á)B5ó‰Í‹HÂ\ù»wÕÍ–¡Ÿ¥¸Æ!e£vŸâ2¾·^‡yêGæ ªøä~zͲ.C+ >òÿŽ2¬AÜ|À-Ã[€x\†5~ìØe's;-¿€-øŠ'ð²Ò`ùø¸‡zM‚£Âu|¬„ka‰DG¤¬á’twkìþùb¼ X²±C¡ÿ¾(ª‰ö¹h¿ƒêîÝ8óSs'©®æÒŠï@'«®&ø¿-Iƒ¥ÐN÷•¤' O•¤§½#×åQ€qç‰:ðUQo¦ešZŠž`ãã$Ô:É9¬°“âõ·•ž…Z#ü¢øB¥tÑO¾þ¼/üOûýo )ºÚ­^óâ†
-Öüø(þÈí§³¾¡UÀ|‡ý#´äBü´×®[.L%í7Ä?HjGØ£Y~ŒBßÒšß*e“ú9~'2&_Àß~š
-àr¼ÊoZ7MÈ$Í¢d´ÀÈTJâçò3áþò³§ÆÇè»Kîdÿ¨ÕäÂaÇ›µ3ûìbÜœ‹óy­>r¢=@IUˆ»½Úí©y±”BÏZLÚ§"µ˜L<k1ÉèÆ•[Mï-R—4¯}ëI2i™§Kñ¯t©ë)iG´2áhLë ‘(wŠ™‘'¶1ôûÈC@ó0 W5AxÙÑçz|øÁømY–x»Vvš$Œrå¤@<ª …Vˆš¦GÚáµ#T”CM™œ«soRÜYÍ1ñ,—KÚÌÓÄQ ³ü,%Ÿ°.ùТØÕG=î'5Ë
-×M óDxlŠ¡/çµ’wŠ«Í§Rüø„WqK•÷Ô0’)Î53â>먀·ežì¨
+xÚ͹Ž$·5Ÿ¯¨Ð
+–K>ÞÀ`€íémRdy2A‘m)6ûóýx<ÞU]³3‚¼‹ž®ª&ß}‘Å™Þ~Ù8þýöáòòðñfÕæ™7`ÔöòóƒØ8þ›àŠµ›5‚q#¶—/Ûœƒâxǹüöœkɹ¢k|®®é÷po Þ»4ð>å1—ô Ïãø0Ç)˹xÆû<Çʧ4®*]…õá’á¸ô #|yI×FXl¯nùûZLJõøˆŸmp÷™F\_«4"®ûôÓËw<0Yøñ&ô!ÿ$þ¨ø'Í““„ÇÓ)Ë®,o™³å—ȇŒGÀ9àD<5ÐΗ–î¾æšh(r¹$9Y—yìÓ}¢{ §bDOª„$¥ºî,ß'pVÀÊZáNB }^$$f|ä{âï¿léâ‡o Ç•Ì 7q\&í2—Nne–²(¼iVXY»{+jÏ´Wã\øÿi¹šõL¢NpÇ4W4^×¹¹ÀƒÆ‘,‹fÄqaLäMÇÓåí2?ƒÍ Ú£²åÕ5ŠœÂ¼Kº”l¼PZ*
+k³”F3Áý¸‚6Y5,T‰›éhV™ÑZ!}Âа|²É– Z‰f?Se8Ï­4ìJ¶H£QMR+ã ÓÊš:cžÄŸN2Ü1ÄÑ´£;ºFµ:’§ðŠY3aÙ‰Eçše§Ü¡Ü
+>óžªÒÔ#â
+˜#§ÎÈN³v3OH_Õ¯äœXϲÌñ ··Eœ²9ÅÜÍéVNNeyØ\+è³®aã<*€ÃÓ”(èÖôÝ-Ó,mO'Ë{Òâ±–ªýªµ«ÚBk±|6ºäLãZ‚OåmÏÿ;îCUP˜êÒ^´Ã¬­6<äçjw(Y„‰w"g˜éê¨\‘Œm¤×Ã9DØì§AùRæeû)~€ðH`þ4< ¶— ŽÙEÿ´BJ’¬^ ”Év«óÈ,Å$Qe•ù$¬ê&¸bR“.êz%6óåRuL6AžVk]S†}i³à­fX~µEʪ»…ñ(1«ƒŸ»æõn#÷“ö  ä^LØ=gY›yw¨ÓXŠÉŽ:*½ÚŒ0P°¢:c9ÀDÇi]k£©Ì¥V™irtÊ¡cÞ®“•Ä|빌Ë1ð°!ÌAA—f¶±)ø¥´N€…?â7=Á$”Úu]˜Í³}ÛГ<ÛìçT›ÉUm­…ìåÉ0}‡kƒ Sø1¡|¬7±„´Ù²ò™âŒî‹Èµü½Ž ܈ɓ™‹ƒBù²ip‘4ƹK¹.^“Xƒx 4 “ìLìlÛO^éµÌ,Ô °×ºu†µ…º[«2eø·ß‘ßëŸZþ£ 4Ú>ð5¯•ÅÌgøÜðÌdiçËÄ/»¤Ncîf„Ê«@á¾e•õ>Þ$_:5ÌÑ0ájÿí¿ß¤fÙK¡—Àé
+¯“c#¡÷9}v'Óg9¥P~SmCJNŸ=Å óÕé³@×(”q|;oŽã"¦Ó|æLNNëj
+’:=ùšâ¸¨r/9èbÐxë’«¼–í®J_°‡\4ÊQš›³µŸ’¿4æZSݼ#µpåà™·Ó–~UKvС@/%m×ÚNì^ååÑ¡¢¶£º J1©^"ðI¦Ô:3;µ a!l œQ£ö”ÒMú‚Æ ¦ƒarǼ.ƒžC~6»:)×nd×ìCò‡áj€þg›½TøÐŽ«Ò&IÝö<ø™Mƒõ^äX ¹¡@z—]ÔsåÓž°%H]7 ÖÂNeèÂzó/ÅÊë®4s§Æœ°Úu%²=Œû¯­ãK«­ ë¾Uî›] ÈÒ®B"k¦–\A}5ȵ¯2yOÂÕJ;tZ2“t-Ÿ´;´e°z0
+ç¾­ µQ:R ­Ý ‚r‡ÝÓ
+SžAÍÞ¯ TT„…Í/–Šv8±ßƒÖLù ÏE‡’tVc""T¶îh(¥NÐœFQ£U1¥&¯ âöÉžNç §·Sä±µ–ÆÒÓJTP¨6Åg:·6tQŠ¯…›°D°zå†Ä¤oÊàwmÈš:Àe:Š¢‡ýœÁ 6{SÙ?AÛ÷ë‡N¢?;CM8ÕäOsè¾çÿ‹»°ó)¢º³1n·Sgª:›ƒV="ÌÐ…–ÂMP|h‰žÛ}ÇyÐÿ}$›’½&ÆÀ=DÊ®En=o½ŒçI²0Î7Ó$þm­Â¼&V¨Ñø_·îöû¦¦±ì×}Ÿ\«¥»úð¡ÊqÅEh÷A^òµíï›Öæ½£r‰§à ­ïø^[Cìd¥>s˜ ¨OÜL/uB´e¨Á3)ÿWô`ÁHfA½k´`Öøý&¬´ýv]Œ2×Ãæ+HÏœ¨ Ÿ^4•>ÖÏ0@0«lËœöç¸ÖxÍ|=¤E[»%w~ ^\2¯\×ɽ«Ê»f"¬dZØ ª¹Gq”'ß—N0] YJ+¹ ̼—QG:Ð-”y[Gz
+ôVØQïúmgâV?>q)šOÂÅËæ¾ÿ0ßîÈFšhèÃèµ<”ÇbÁ¬åñ^ò!ꇵްS#ø„ý^æ>ü0WÃÁc!-«}¡÷UÚtï”Ïñ‚¸ÛZ 4“Í6à)aÇ“™¿ntõýÐý¦Õ˜hºß
+½‚ Ýï°KZºß{LJýðcåp噹ñ>ÆŽy :ÀþÞ6“ÁjÝM²YG²÷ÀÎ{f0ÃÖ«Í‘Ó,aŸæî˜NÞ–§L½S¢¤>ü•Aƒ~ü ÿ ?ß
+¼Ûþ~Áh£˜aÚoÛ?P£’Þˆ kCÿ²JÙá3Lº<0ÃÝâ°ðÇ›–›ÅyáµÑ“Ja6ç™õz÷˜—÷Žy¥ÃúÐyW0ciÏóÇ¡UΩ îé¸o;®])Öœy—í›
+¹ŽlΧNo«ðî8Ñâ½ yæ(/W§Ž¶/¹.f'Zl?<Ù¾_èdã@¥Áåò¥
+*¡#Ÿy­SJ¯i!¥ÒZ_S¤æ°àGŠŽÉ=ª´ÀÄX«زëá‚Í/ë¾öÅ j¹ÐIªt¢¬”LÃ^t×”‘ÍFP£L¥Ód]9í×(®MðÀð¬%å½*N“¦×'¬{짲9¡4ì60êQ¾„@‚e¬B–ù± }©oÃQ›Z!Ô1L£§‘u_oaYºQ‚_cÆ šÈP¤Ì6ïÊuÜ]±{¦eüjzûŠ¹¦É{ÙH8 ©Þ7eÍö˜E0P~
endstream
endobj
-503 0 obj
-<< /Type /Page /Contents 504 0 R /Resources 502 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
-endobj
505 0 obj
-<< /D [ 503 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 506 0 R /Resources 504 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 509 0 R >>
+endobj
+509 0 obj
+[ 496 0 R 497 0 R 498 0 R ]
+endobj
+496 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 430.922 737.023 445.647 747.972 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+endobj
+497 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 458.598 737.023 470.553 747.972 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+endobj
+498 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 346.259 694.726 356.686 705.791 ]/A << /S /GoTo /D (Hfootnote.23) >> >>
+endobj
+507 0 obj
+<< /D [ 505 0 R /XYZ 78.37 808.885 null ] >>
endobj
105 0 obj
-<< /D [ 503 0 R /XYZ 79.37 771.024 null ] >>
+<< /D [ 505 0 R /XYZ 79.37 681.999 null ] >>
endobj
109 0 obj
-<< /D [ 503 0 R /XYZ 79.37 555.106 null ] >>
+<< /D [ 505 0 R /XYZ 79.37 467.789 null ] >>
endobj
-113 0 obj
-<< /D [ 503 0 R /XYZ 79.37 186.744 null ] >>
+508 0 obj
+<< /D [ 505 0 R /XYZ 93.716 99.26 null ] >>
endobj
-502 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R /F77 339 0 R /F30 341 0 R /F66 343 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+504 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F15 334 0 R /F16 336 0 R /F22 367 0 R /F81 377 0 R /F75 338 0 R /F77 339 0 R /F30 341 0 R /F66 343 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-508 0 obj
-<< /Filter /FlateDecode /Length 3039 >>
+512 0 obj
+<< /Filter /FlateDecode /Length 3505 >>
stream
-xڽɎ+7îÞ_áhEû4 ÄÏíLNyè[Ó`’à ‡Éÿ†”DíU®z餷m•DqIÑüòû…_¾¾Ü>^~xs ,Xiõåã·øE\\`Ê]œŒ[qùøãòËçRqn9çâ |¾]¥‡1mÓ»’ð,À Þåýúª¥Ã§iT<,>Q×Ü97ŸàH€£¯¯L–é…‹qKí<-ÆMŒ …öžæöÏÕƒFBFÑe½þúñ/ ÛéÙÒ*æÂLø£ˆïòÖ|†gš§1Ä^ßÒ ™„„âs =íºf¶2–9¯–ì¾›ü’ßÍ<üFrŒÌy¤5‘IœdJ3#dD…ÓˆÊäF2}$oÐ˜à–ˆq² {]_•Rƒ°ÒˆÎpQÏê(!C£ xÙ¹Y—D“qThâÉ-Ï•ádaâÌÂFx ú*Tdî’6%—…4qõê­EÁ‘ m ¹‘è8+l³ÂhbC&%“ÖŠ5φ)· uÅž–ßZ¤C lE¥¨ry’È°r{+åòZŸ^°m„Aò¼©ˆÙ{ð„>O˜ÀØ—( Î º/øÿuÓŒ³”„dR„bNÀN£ª\Ã3«‡ý¢nؼ§3°eˆàÿ{é¾þTvF2ì´oÖ5Ôa¢Wó•þåyønЋV''³¿fâOqkA1/fÌ\Z‘ƒý³ÀzǤw´Öz’|ÆðÞÊ´uR¤ÌœTU*ÔÖôÍes×­ÿ=«
-ÖÆiUa%i×*’5À4ŽM'Z¡‘&Br°–Éêf þEq8g2È‹Õ† ]°Ô¼h8:½\˜aH¢U««&÷mëžy'F®Ñ@Pª %ìé˜m˜È&-@{
-H“dP[þìúôëq’S4'äiHòÛ3 笑ÙçQ?ß'Z¥A¯qÆS€ ™÷aÅ·KAÒ<SR·ÚÜ:Š'ZL晆—½ü‰ôå[´¥G`àµÐüÞ™¬í1˜â @l^Ì|œ„åß¾Nú9¬í%Ó!1já°rÇ$3©L\UŸçÚWÞé, =l}œ…B ZÉv ·‰
-ÿ.ã{äëúÑ··zøÉù—P„GÛõJ0 ¨ë݆l”eO³×ò0à ½\Ëã³äCÔ{­½Ä!yå¸`Âþ/áñrZ›=÷ÈËÌ%­˜”“Öö°û³á7ˆ¿=¤µ¼A“¤;#od!D9ÑñZâi
-ß?^þ7##=Äâòï?7— áv´38ÿüÏå·—Ÿw˜óè'Ú4Pò Ú4óæs¬R`ðˆ#|É×Ök}Œ
-‡ÙëÓò3° A07î§ù[’\3¦µ¶$Aú³à Õ¼Ø9!¹g”s]þ˜s½û˜dìV„€M€öåúê„ïBpHÊxÛMiq
-o+
-bkW(‹#­Qé\ªq€»ÎTË$¯!W['KúÔ$á5UÏøˆÐâÃËHÚ t0cùD¡RÔ'Yïóü±fFå÷FÅDš‰$­ŸÕ°–«î±ü¨Âª^&Ž×ËDh­EÔšRF ­‘‰TM£O˜²bý1v„§ìX‰Ôk&uµšfýD$¬J†Ÿå¦vÝ€*Æí³q§ù0RJe½Þ‡*OÙ,V—â·¡¸_ŽÕL ?Ò©QÅö§tš97­´HTàoµ4W럅ÜJ©Š1–:e¢ôVÕb£†m·Þ§v"‰5É'‚xŠY,\.ôÄIˆÞTëdô}¬á‘ë9U2LÉS.’þðrûTÔ1û®¢0¸à…ü@6å‡ê®’{Õ]¿WÝUÄRtÙT£Ïäãö‹`âDeä\C¶¹¡ ívËÐ."º«þ‚~ïÔ¸ëVp¦jßD„bš4!ˆ–¢þmö²Q­ã<rŸš'Ó(3JEÏOEãOçX³ÚãÚþÍ!VÛ ²MM[ÞZ‚zÉ Gr|Ë:™íÎý8ø
-qaÍÂ2ì2œ»\ ï¤äÚ¬ˆrëž /Ô¶¾Kµ¾«^‰tw:ÇN«æš`ÿÒ¨Ñúî*‰\ØcûÂdùÆ݆,Bk1º€"ÏÏ(´ç­½X‡xƼ5kâÚé^Íó‘Ej Z®$±6ù{¬P™±+RÚ
-âh1nÎœê<=â0uy&+,¶y&|ÏÇlÀJ&• uý¯&yQý®’µ™'Þd{¾ßm°c+ž:’5~wÞŽ%åäqþ¸õcƒý/4ÅX°–b%ëØiá3·b§ÈEÓÇ­¯\Ès­™¼;Š›æµDØ{ïªÒz}˜“ÆOÓ¸uäl:ÆT<ëb¼6FÅô²–ƒ‹éX©$S›LϽÉ.Y;ÊR5+”'µ³«ÖÌÚr—_t^÷qüªƒJ-˜æ®;8Q’ZßõÓGß©ÀÙ»¼—g{rz>À2&M͉º×G«’ÌUíÎe7¥íHN!å*Ð{úNmh¶Ì¤À¨Êvêè)k+e=·-ß÷“(N£rßw‰F1….±[Ôxz¢Ú²s‰á‡oªŸ¨˜Ú¡¤Urew¼i«'U^\Î"ßX^Un #MD…ýQ§ã·ç9UA©? š$ñ*Ñ´ŽòLßá~ÁG±Ä°Å'E,¢P]=—3ԉ͑ÔïÑc,Ë
-9QúD‘}€¤dZuºLqÉŒTÿxcà¸ï_N~sS?×,¸ g³ï¬ˆ¡¸ÎôF‘‡z‘ú¨±RI9ìÙ*Ö'¨"Þ( %Füž©"‡äÂ…qµèÚÒÓº›mC Ê ðš Tÿ»ï×9“3m@0t—£vêa/ mïzrá®>[ÿ³{óµã9^j­`i!vÕÒßÛÖàý»¼ý¶ÒJYÁOµeÖí¦rZk›$àY‘³Érwý›ƒŒ²êèiÌg™„~äW«L{ǼË=í~™Œû +³ûUHTá„ùçýê¸ï'ùÕ$­Ïñ­–þ²/ãÅDÉ)+ xè ¬ J«u?S¨euŠ´©ZF1ßæÏ šv–x£™YÒ¦œEägUIδðßß°‡}“xG0£@q®">á<ÓVm·z—<ôÖ»Iy£ò^Û·±WØ…Ý6paAø²3ô˜Y€"¯F8¤ÎN—Þæ@ŸbCù¾ŠR§×u݆.ŒfÆêw;hê©r€K4Å`é}Ià§3çŸÐJ’Ðè`¦nÇó‘W=›%¢šÞüçX‚^:lS nHDqfõß ‘nqšº)Zã‘}+ZÇéÓ3‰™¼ö¬Ô„gÖ»'¿_˜øÃ-sªòG™è3\Y@7B+’>`gŸ€ ,]å6w^G¦Ulæ
+xÚåËŽ#¹íÞ_áE©Ðh`=ž 9e0· § ›C°‡ìÿB=¨w•íIï\²@¯m•Dñ-’b¼üë"/__®ß_þô®õ%ˆ`µÅË÷__=uqA€»8«„´êòý·Ëß^¥´FJ㥄ÀŸoŸ””2>Š?ßéO¿}4‚×øKJ}}ýšŸªÏ4~£?·:Î)³Õ;äÙ6­È3 ÒÓ´TÓ|ûû÷?¾Êœà‹ZXk_$äl µ6~û„_ >oeT5¯y3íã•%ü"6§ƒæ©6ðBLóß´£O'ßÒúD1Å•ÏDkàõXÖ3¯Êæ´‡³íIÄo<?î΋3â÷ÈE¸2Y#Vñωk#*D—Ù`ý›/ –øiä„”ÈÑï=êÌ;¼vŒ
+¼i#3;*lfE&85xÆdÛ[‚%<I¤pU5¬ ;Ý:3NûðÊb£XDye
+xFÜ·*d(ê×Vp<W3Í·ÂβŸ±Ñˆ"fÅýl]S¨fø­è^Hûd¶[ÖÎ&l¸%9³
+ˆ‰03ñ½o¶¹Ê°[!1ðˆ»Eöñ¯l¿Eß‘¾#’õ4*GÓzfȬH{È*„мCÛmÓbýΣ£Hv£’E2Ùè“ò™ÁCD}äg2Z ˆb~ÂÆU~UÃêŸG°°3v.0cµuYãÊ
+=z¬2zc8äø—&³(¶xê‰%ºH&Ê`\T}wyT¢y6›7R“ù¿Ç§ª<E†åïïpŒÕ‰´w’–V¸ªå¶˜â¬›”1 ÎÙúÙéÀµi%‹1ûbÀŽ:›GÆmýÛ²Íp¢‹é©Ö‡Övʸb²’‚¶9g—U,2NŠ#úÿ×—/ß_þS9 ÖGÇá$CqÂ?~{‰ãÉ„ÜEIüþÏ˯/¥]LápçÀáä" Öʸ«¤ü‚Jã¼C'’SrÑxá!Ìô:ØçéEœ±éûƒtB­ë‰âÕqŒd
+Øó†´1ó¨düÞ‡=`|§Æq494ŠåÄÍ¿£Í«0©¹QÙNÓgÚëz´GtïGÐÊÙ• D~¥óôÚxZbˆÃóÐ+t N<ØžÖ9!ð§ÞRXqÑAwñ
+‘ãæmŠü
+g+Uu¤¤$\SæK u :p€—LóŸ + Mø(¸é(“oñ¿ìNçÇX Ã4z‹ŠP 9½o5áÊÿ‡Ì¢à…šŠWRñ?(Ü;3¤Ãlι”t@K4š¦Iµò'øBbÞ‡-_Ü) YÿÐÑ)$Çйswt™ž
+¤?{ù=ðoÉ¢NÜ%n”ô({£$íŠ÷n# [Ö
+ŸæDtÊ×o_W–ŽrPX´pXxb’…L ô½i8öe£gXiaããüS*ê”ÞaWò:) þw™?W÷¾m˜5ÂÏ·¹ ðøk¿ž\£%Ô§õî@4`EËì½<´MçGq|”x˜øq«½ƒxHZ%.˜q„‘Æ ¯ç¥ÅiÏ|,RVH÷iì{<ã3w„´—µD¡TxBØ‘ƒ”¤'k™¥màÛT¯Èy>.ˆÚÓ€Ó
+âGLË%òsUš(ù
+½`ÐÇSÿp=e—ÖõÊÌþ’øý)~6wüÏæ[ŸsºÍÚ½JÓ‡ªZ_ú†àóK¼ófÒFYÅúëq/9¯µ]ø¯¼Ùå·§®-Úˆ³3ÕÉɘ;îÍ
+M‡û̯^•ö »;µÝÓžȤO±Á´²Èñ —*ƒèîîšG·ý ‡šeõ1Nµ“ÁÖ±›®&Bžq¬Î+Lo]C0Ú,hx3¡UÓÏުܾYÐõ°ôÿlÇúVäâ4… 65‰Ðš¦cӬ͗o_¾¿ü‹ì4Ç
endstream
endobj
-507 0 obj
-<< /Type /Page /Contents 508 0 R /Resources 506 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
+511 0 obj
+<< /Type /Page /Contents 512 0 R /Resources 510 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R >>
endobj
-509 0 obj
-<< /D [ 507 0 R /XYZ 78.37 808.885 null ] >>
+513 0 obj
+<< /D [ 511 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+113 0 obj
+<< /D [ 511 0 R /XYZ 79.37 771.024 null ] >>
endobj
117 0 obj
-<< /D [ 507 0 R /XYZ 79.37 456.212 null ] >>
+<< /D [ 511 0 R /XYZ 79.37 327.442 null ] >>
endobj
-506 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F75 338 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+510 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-516 0 obj
-<< /Filter /FlateDecode /Length 4261 >>
+519 0 obj
+<< /Filter /FlateDecode /Length 3512 >>
stream
-xÚÅ\K¯[·ÞûWhi#0MÎð 8ˆr­
-aƒ·åŸ}õÃôËßéõ'¯cg/ÿ ÷þJKÉŒOcüëò×W‰ ›#™9›7séȃ6ë&’qkú&¿œjF:Ñ7ùê„.N÷ö¸TBƒaˆÖhï«–šÞ7ºS‘ÞÚ'S¡Uò,¨mñÕÄDkÏÈ }xdOèš~Ù-¡êÓñBvÈî+/B}+as¦XÒ&» ü†Hâ-mQÜHÉÀ›ÇÔ'tÍðˆða ?½%Kª¸Ÿ¾ù aH&æ+>£ç‰XÈðA2ÿ’Æ ¸}M
-áiVl–M8ŠÞ*MÑQ
-¯Ä0‚£” j~R"“ÁkÍ2JF›©æ†Ik‹¢Džkœ“Ÿ¡D=Ì9^Á¨0æü¸^{¾}ž­¿'Èéöû& £ d¨K…©wW{³
-QмŒ¾ûØ.9,sJ
-;j}¤Å½Ï
-kŒ’tꉇ=ñ¨‡úY“Ú—•õý&\ ¯‹´ënûQš¶p[R^FT8ö. Î&¯xö³÷ðOWm£ÑkP 3ì{ìáåZÈô(Äz‘iIrt.¯ÁÏÑ\Ôb7?°Dú)Ü$ëŒ{ÁEî_z$^‚@øãMÀ¹néí]K@î f=sµVB监²uÝR6
-©* ît%‰€ÕŸh ó$to mÒÿ2œúë`£ÜðMLÞàoAO ,£°Œœ¿;i† Up«´ à|RZ§Õ
-Pµ φzIÎ
-[ø|ÄÖïMb}£‘†='j°,þ¦Û=Á@¥5žtWî—]°÷”‚á´y5£ú½fɶ%Å÷(*ç×O6¯e3WˆõMYål ‚«,mœt KŒ^#à¸Í5BQ ßc«*ò–XB åyØ&Ë&5²ºÿî¨ý|ùæBÏ¿\º¯î $pí‡ô†éI˜ß®°f;ƒAb%bͤ£^-Ò›mg‡yF·óYÝ
-Pc†Ê-
-Å‹Hc ìØÃäŽ8·Æ±—Lê¤X‘ºx5k6ÝÓ&wÕGI ÓVŒ’¼˜Ôùƒ1Ú+Æîž—Ùè pÞ%Â63›“7R¨-UjUwG‰n+€Ï5qIz${ìB­Vd Ûï6ÃÕBgÚ»
-’”Zê£@†m0è`lë˜áëÂ)fÖk¡Ÿë!»—Ãðûø¤àcžÍ½™ït+y^¸&ŠV[º©Çç5–Iãfç%CLÉæ§rÈþù¸ËˆŸ9²‹¦ÖKÜ:Ñ™ó(ŒÓ÷p ,ºÚDò+i¾ º=¢ÔLH%Y¹UNÛdIRRn«,
-~iã{]f"
-ôô
-`œÔ<ôpç ˜0yÿ“.Ö½v¸‘—7ªµµëÄQ‚÷”xCš¶ÎWh
-$ò ËÍ2²=û;Zë;àu¶5á4Ûé©èû6¨ÞkÖÀ‹wYá'_-]3£»å©'P½sòÁáì"šÎù)Çz–æ¹9‰tWèWšƒÛ2oaü)½è ½É.ÁžQ¶5YëkûåEHÿį[Tø¼»©eŲ#æCHêO)Nˆ"ÛÓ†i×1Ú¿*Ç“/#‹çVÙJÜyrywâ·„aVŽ‚Ÿ–é­µàëä}ù¼°f›'“Õ Ð5Ó–®H§Øá-%C‰ÌŠQ°Ó¼õ4iL¢š”ÖÈ®E…êyƒÖÏ›ðx= ITTÍ
-^M½`ù¤vÑLóò¤Ë¤Ë@‚ä´+P!ÖªMšo‡¬…’Mº6~ À>õvÐÀEø5ç톾T…šéh]M¦ 3 ܸôŸít¢áŽö89ï“ÚJ½4¾nê‰öÀƒœYeõegÀC<Ëú­­¨A5ð[öóÆÏ:ÃSn5Lx4ŒÈÃ0ÎáÙÍZXáà„{9ÊZë"}ëPñÊáYÍZ~ð™bRù8²çnwdq
-_–¦JÕHÃ!-„ï¹þ}¸®x1Ž#=?˜ØXf‘ ‰‹”æ ”Y$V;•¬Ò²¡àb“–MwÔ™ïÍð1/jøoÞ7bÞUKuŠAK¹Hã¹Ìäšï[•¦e7å°N‚rMq´«>ìQM!ÓbjT2&|Yä1r¦JLÐþÐÓ0ø ƒ
-Ujv{+ƒ²ËIkùµ—Å-›Q{ed¾Ù?f¥Å4ûüÚŽ¬¸`šBÛ¡1á
-û…¬þ;þi!
-zj.ié-͸tÌž–nR€/-U„67XQ‡Å\ä42óÝð÷mxÖBbŸÑèÒµÇõ
-@ZõE¸¡’¶ùk”éOè|øøêAòK€
+xڵˎä¶ñ¾_ÑÇ]Ã%‹oÀÀíÙ6àœâìÍñÁpˆ þüT‘,Š¤(©Õž±ÑÛjIU¬÷‹)ìå_‰ÿ~ûîúùÝÇ›7—(¢g.ŸÿùN]$þ¯.>
+í/Þ)!º|þõò×R‚Á–R~®Rü6/xÏIiuþí"^«rßã'àuXÞ%XD“®~ÌuÁ‰h¤ÃoˆÏ?~þn¤ÅD¡¤«´Ü
+þùÉ‚Å;ꛌ®™
+úM«X+¥'Ê_
+xmÒ¥
+ÉrÒ §kµ™
+5Þ40“ß
+ ZxX<ëë3
+`ýÞçQ…–Ø9®µSJ)¸xÛŠzV0Ì¡²ŸµPïÿŽ«î+×yXtP?ýþóúíÓGxËð«Æ BЛ«Î¤Cφê]BAÐkö¬úpÖž¼ÞW£ÔñŒ=õ°¯º&MÅ‘Ý°%ŽTî†Ò„´Pž÷mÇPñ£zHµ,JDÂLDEPK6
+g4ÙþmdÖz…È0R¿¯aŽ ºŽVž´}ÿÕA|@ÿ6½¬ßÃ~HðN [Ë¢€PRõP} Rû1
+3.ù¨ÖÝÇK ÙeèAx 6?-Èç«¥DlBЧ3™ ‡}ÛT0¬õ
+ñ„z`'6zjih½bÛ`;ÕH !õO˜$U;e‹€¸ê›g­hä*s€O,Qüü¤½mæàùq¤Ó<‘ïÐPŠ0 »åIY'î+o?‚ÚÖœA_·ªŽ\µ+ãÕ²ué"®`C’ó³U\^—A£qeµ3%5V£iÖ §šÍÖœbžŒvÏùN
+C޸Ѓ6 bÁšfÀÖëªñí²êC¦À§T>ãªÝ2bÌ\ie…q+lDQÈ\lDò”öj™§$X¶%Òõ­âÑEŽîø1ö¥w0ÎTÛönWrÖ†ÔH¡÷Õ·$a"V7+©’«HU\%ýô=3gˆÂÙ%6°§NÒ‡O• £buºvù£þÃShÜ9å27Œ|Êe[\õDËfXtØÔ()éÄ“÷{ònâ™W6”œ°5Z pqÙ†™L^wÓ6´ŸË®©–pL. 1 &—ïXû¬Ùôho”¥QÆ̓J@ùÕÊõøB /¡MnÀbJ)t¿4'n|w+ülñ:)-öø£-숽î@YgÜ“Zä~Õk…šô>‰ß6tªw©^c9ìíšDŠÁÒÎ…Ðùf.ٺݖlØX-qOVFzÁýI[0ØŒQºo íÜÿš"p8¥û`3Ý«€@<'ø[’Ó:–é¨kGÈ›ÍÀ¡
+nKYâ|Z'ÕôÓëéHŽ*y} žo
+KE¿0•Rq¯TÜró”eÑæü-²Û ´¸µ6gA# ÁM8¨°ç  b9Ôm÷Ä·¾4¬Vþx¢ðbJ h~U>ÙËÙs¸øX¤À§”VI°T“X|™Ç9\LL÷`”DÉ,ç©+•Ý ž‘5»9O^†ÉTËéÐĪäÍŠ±QmŸä½7ëÊxÖ•9°¼|¶µìŽ ç'5Aaƒãw1~ƒ÷È]9Ìâ¦ÇbÜj ¡`uÏÕþÒ§S eÂæYÛ ïIE¸†SSÀæ0Ì›e­ùäy».µÛu,C„TÓuN„,ãœÀØ7b´3˜»‘í£n²¹%ßlÊt²º2»!´Y¥ù€Â\t8¡ô8æüy®ÂYÚªM3²æ¯MËÁx¬Èÿ\Öò³
endstream
endobj
-515 0 obj
-<< /Type /Page /Contents 516 0 R /Resources 514 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 524 0 R >>
-endobj
-524 0 obj
-[ 510 0 R 511 0 R 512 0 R 513 0 R ]
-endobj
-510 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 264.586 580.299 275.012 592.889 ]/A << /S /GoTo /D (Hfootnote.24) >> >>
+518 0 obj
+<< /Type /Page /Contents 519 0 R /Resources 517 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 525 0 R >>
endobj
-511 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 318.325 558.936 328.752 571.226 ]/A << /S /GoTo /D (Hfootnote.25) >> >>
+525 0 obj
+[ 514 0 R 515 0 R ]
endobj
-512 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 250.957 312.804 261.384 325.255 ]/A << /S /GoTo /D (Hfootnote.26) >> >>
+514 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 264.586 426.375 275.012 438.965 ]/A << /S /GoTo /D (Hfootnote.24) >> >>
endobj
-513 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 184.327 222.282 194.753 234.656 ]/A << /S /GoTo /D (Hfootnote.27) >> >>
+515 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 318.325 402.694 328.752 414.985 ]/A << /S /GoTo /D (Hfootnote.25) >> >>
endobj
-517 0 obj
-<< /D [ 515 0 R /XYZ 78.37 808.885 null ] >>
+520 0 obj
+<< /D [ 518 0 R /XYZ 78.37 808.885 null ] >>
endobj
121 0 obj
-<< /D [ 515 0 R /XYZ 79.37 647.132 null ] >>
+<< /D [ 518 0 R /XYZ 79.37 493.208 null ] >>
endobj
125 0 obj
-<< /D [ 515 0 R /XYZ 79.37 536.464 null ] >>
+<< /D [ 518 0 R /XYZ 79.37 379.723 null ] >>
endobj
129 0 obj
-<< /D [ 515 0 R /XYZ 79.37 385.61 null ] >>
-endobj
-520 0 obj
-<< /D [ 515 0 R /XYZ 93.716 156.601 null ] >>
-endobj
-521 0 obj
-<< /D [ 515 0 R /XYZ 93.716 137.509 null ] >>
-endobj
-522 0 obj
-<< /D [ 515 0 R /XYZ 93.716 108.953 null ] >>
+<< /D [ 518 0 R /XYZ 79.37 219.681 null ] >>
endobj
523 0 obj
-<< /D [ 515 0 R /XYZ 93.716 89.795 null ] >>
+<< /D [ 518 0 R /XYZ 93.716 143.906 null ] >>
endobj
-514 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F73 350 0 R /F75 338 0 R /F74 337 0 R /F30 341 0 R /F27 340 0 R /F32 327 0 R /F66 343 0 R /F68 518 0 R /F55 519 0 R /F67 342 0 R /F64 333 0 R /F81 377 0 R /F15 334 0 R /F16 336 0 R /F65 335 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+524 0 obj
+<< /D [ 518 0 R /XYZ 93.716 124.815 null ] >>
endobj
-527 0 obj
-<< /Filter /FlateDecode /Length 2593 >>
+517 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F73 350 0 R /F75 338 0 R /F30 341 0 R /F27 340 0 R /F32 327 0 R /F66 343 0 R /F68 521 0 R /F55 522 0 R /F67 342 0 R /F64 333 0 R /F81 377 0 R /F15 334 0 R /F16 336 0 R /F65 335 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+529 0 obj
+<< /Filter /FlateDecode /Length 3233 >>
stream
-xÚ½[Kã8¾÷¯ÈhµD½BJekÝsÝ= öÿ_—E½,;NMucP“Ä–øù‘vKa/ÿ½Hüÿ¿¾]?¾ý¸s ":§Ãåã?ßÔEâêâ£ÐþâÒ©ËÇÿ.¾H ÿîRZ…ŸW)ÝMJƒŸð¿»H×MR½áo ?pø§i]ºÎ{ð²ÿú×Ç¿g¾V
-%¡ç›x%ZiŸ5D'órô]š‰Wºo€äI²&ÙÖ|tÊèA¿"g¢gŠ^YþGz/éC
- |‚¾ödÞ>€× Œ÷ê¾PÖÄ_å€=Ã×곶’N€s•æ½Ðó¯ß-Ø—âíH’2‡Äͽå¬Å;In ­·–®Ùdå·s ..Z¡¥gÆöÖþàg©× r‘…RoümdËWI°ºæÖœËËô ®ÈŠ=R¹É˜Õ‘Â[<r1kõ÷eøùǤl0B›Ø{ŽL
-xädÃäŤpñbP›ª{¸ŠkãJp¶Š4Ÿ"9_ø…/¼ú±t?Gé’çÓ:'™¿7kƒ²6EöÉoMê­–íZÓ.k~;§¹7Ú:F«GêêøØ»bzþ,‘Ò²ó(ŠUÂøš{,™QŽa¹8¿Î Y5ä:Î_é,?• Da­9¢µÎg+Z*í­“¹W&Ó¡á~Ü•½D¬ià̶¦Y´g;`F‘áŒÕ/DLçÄÆWR)acûrÊs(ßȧ´*ß5MÙ\€8A'êaM=å6pQ¬wùhìʦ)ùŽuÙKÇ?îÞ¬Œ¤λÉL].¡Ík kçDjÚœ­’ÝyÌ9xa¬]qö9é…s Æä¼jð+g¢æÖU‘ôd|ðlúR
-ú€àëE±)΂V׸ιÚùb‡å@” µ®¦z…ðB²ÐUÍ8êJ+,¦•¼$)FKàJ›YV›£j?91S„`F·„cÓ>¤èÓý|ýŽÒËÄ’ÂNÃK;"™§ÊzZiMÊ$x>\€éÀ
-%òÝ|5´ 
-G Ï⇲’N¡ºŸÛzÊ·žBNö‹=¦|ZƤɸ®Çd‡qZŒ«Aà.6®W|´³Ô´ß-÷+„ n¦°E¼‡R(­±Ä™Š)éGÛJ=âÎv±±·,­é’ÝßâÿC}@EL7v–tðM0)µ©a™É%Ýœ9pÒV>ô|X)oÖÕ]Zxìú`·¾v2Õ^°ç»}ò"Þ© 2¿Uâ*TïSrº>JT€6 ª‚\E´›«N¾òI e~ågá­I’d7”Ιk¢–pÌI›GÚÎÍÊTIË*.
-;¶­˜gˆ–ct“ùÜqAtFàÚY~Mf2&9!nÌÖº²=9±h 'aå¾¾1tÊæƒÖ´=p'bV¡ð(ÏÔo‡2•ÐÆl©ÀÍ14£Vñ)i”V˜¯Ì†ò±4J{áSZÚÊc:Þhé3AC–ó ù@acü“òòB.´rÛ†çY0~•yZ/è¥,ûߊë[þ'äÒÚ ­6r…©)ÚãR¾/ò¡ÁŽÈØ8s(°mŒpP¾ž
-ýN,2ª%ÔËö=OÝrÛŠ®Ü˜Ø£Ë …¾Uô;5«sžzwãýÌz>Ÿ.©&ý2ׂÑom´Cw8JzŸ}Ì&sã»øÓÌNƒ•›mž€Bm¿BÑÌ÷#'Îx®Þ©@À»ƒFŽÖ"´·2ïyµªø㜉ݛè0 _NQŒ
-Ó‚‰±3À†–y
-ñR„/О
-<ëûÉ™¯–S›ÚP«VÉÛ­/I/ 0‚ëi]Ÿä§|µ<òvîÝt›ÄëÞJ,G¾Ò=Ö¨ŽéêÉfQi¬}ÉË–=‹”¬’îež,?IlaqüÔ  ¶ðÅg:åìLe´pMšK
-ý³ h4GGÛs
-2üº ?æ‘Š=tR›G[ù~ÿ—HÏù¾Þ×.Æ]~®ãÎ}®x¯îúäþ¼ù~,¦†'MM¾šãJµÐYgÉã©UùtFëi¢BÞ2 Ó9 24”C¥‘úësˆŠXåÝ,æ %°ˆCÂL˜=—Ndýç AšÆ¡„9$¿ BS Ò>M‚rÍ—íU
-Ò2e”‘¥ý|eËo/š†!k•5㩧,¶g…n}ù9ðÃ…ig†¨,V}ã÷fˆFõ‡~¥y5}##uãʶeö(]=ZÈ܉ÌÑNc¸&¤+fjY°Ò6ß·¢â©¢¨ñyt©þ¸
-¦8ñ‡qB'ÝQ[VïÇLÁmLÖŒøI¬_<«ƒðãlÔ"jüøûü7i63õ’+Uº8ïd8—u“ÅÄáX„tì" (¼OU\çÆ~£Î!¹€þ¡Ì€ñCª¾3ií+¿á6g6>46‘"ÈCcª÷ã„Ž $&ÙríÍ¥ó݈Réuÿ5ÝÈóÝDë2§ÒÔǨ¡qȨÝÒûU~oú®¤^‡¥8×Sb'eìßÿZÐŒXé¼Zí+'(JùÔ”w¸³Q\iyºzêv`»s;CáQ=D„Aãä««ã`Æ1j6íô4uDSÄöjîc\Ðøn^õ½—÷’ŸiK!j”›U{.Í­úQ‰JÛ™nøLŒ¦÷ù8>c– áwÿ9€Î Ejú§Ì§ÚaÀ4à°¡ÇT}…Éæ=xÿøöÅW£
+xÚÅ[Í’· ¾ïSÌ ,Mà_ÕÖTi5ZWÙ§$º¹|JbâK^?
+…zæ8FÚ옾ÁÆIر°<Ц¶3ÕÉŠ\@* T“§/»´"ìg°§¼¸ÝÙ­åýaÅÁ Æç=ÞÝYVÈ!S—ôéŒ>ºûb`zåÑ*ïLWvf¦X®˜'Óa_ž™¾I–’pÛ»5{Ú’êö,Éõ–”ä’ÜéBƒ•Th* [¢¼¯Âˆ
+ŸQ…iUù]hÖ§;WŸž²Úݤv”jV{#Uv}e¡S4‹Ú~>õj¼f: úÚ53•÷ïa\·ù£ºÆÖ*ߪcV5éžD¥ÉÞäj,>Ÿ§"pzRx5¤©x*M5„&=å@“mìÛ26ë0`3mÒ4ÅäGØœg‹®sl¿uXò­i¬Óõ–|Ac:¿¯múMvÞŒè²SèS–1íPÒÚ=+OI©z$l~”
+){Ž+S=lT­e ʨÞb$9uOwÞ)ÃÒÓéÑÄÉ\²_Ç gjì€ûmžVsoµsÊ2EÓ<ª.¤ÄE·€>î¡4¼+h+@Ac7bù>ž ‘•6b³w#¶ Æé•úÖGR„sò®: ©SÝP?>‘L[EI¸9¨<ÄEþ
+7”¹QáU+~îXyˆ?­(½ôîAþ´JÅžsÖó/d¿
+æ…ò` K^ö´<Ä€ 6|ªlíaÉߤCT”{š0ÏaÛ©/ÙüɯJ¯¿õ¸‹×˜G1Õóa—Ìš¡µÙ=ê’÷gŽºÔŠnkG]jÛ£²[Au…ÚDòÅ|›#0iÎùLªÊÎG`vŽ\ðö Ù¤G øC§WÎÀÄ"¼ã Œ¡Tg%}ë˜]ÝRÚbØ뙡Ð~cFËʼ&)
+´cýŸßçãv½Ô߿ϧœÒ~¿>Ÿ²\iøóû|Ê0¸þcû|
+)Å
+Ç}>“…ÓÊS3eÑÇS  Ò÷ñ^»Ä5ï„<i‡ŒŽØØéëé K_pïÜ@–ÐÔÁËhi¯• Ñ´mýò+ÝÿýýD›‚¿ü7ŽüJæ‡Â*~ïß—¿øJ ‹ÂΙa?zº§žK‚ÛR-~ïòÃÿ†^Œ%îîgB ÅÜúv€P6G†Ò ÉOe;¤RD„¶>
endstream
endobj
+528 0 obj
+<< /Type /Page /Contents 529 0 R /Resources 527 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 533 0 R >>
+endobj
+533 0 obj
+[ 516 0 R 526 0 R ]
+endobj
+516 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 250.957 757.853 261.384 770.303 ]/A << /S /GoTo /D (Hfootnote.26) >> >>
+endobj
526 0 obj
-<< /Type /Page /Contents 527 0 R /Resources 525 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 494.44 624.146 504.867 636.521 ]/A << /S /GoTo /D (Hfootnote.27) >> >>
endobj
-528 0 obj
-<< /D [ 526 0 R /XYZ 78.37 808.885 null ] >>
+530 0 obj
+<< /D [ 528 0 R /XYZ 78.37 808.885 null ] >>
endobj
133 0 obj
-<< /D [ 526 0 R /XYZ 79.37 559.897 null ] >>
+<< /D [ 528 0 R /XYZ 79.37 342.967 null ] >>
endobj
-525 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+531 0 obj
+<< /D [ 528 0 R /XYZ 93.716 108.953 null ] >>
+endobj
+532 0 obj
+<< /D [ 528 0 R /XYZ 93.716 89.795 null ] >>
+endobj
+527 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F22 367 0 R /F81 377 0 R /F84 425 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
538 0 obj
-<< /Filter /FlateDecode /Length 4295 >>
+<< /Filter /FlateDecode /Length 3778 >>
stream
-xÚÅ\9d¹ ÎûWTè öYu¶¶º°#“Ž ïÆðþÿÀÔA”Þ{UÕíq0ÓUï DŠúxªÄå׋¸|}¹~{ùã»4—°«,\¾ýò"ñ†¸È‹ ›vgå&¬¼|ûíò·W!¬B¿ !ÆÏáË*¼ª®B‰ß|ü‚·µŠ_B|AÄotUwnù³UD
-¶pe—é+=›–M0»' ®dqHŠ´6oTœ.°aÅ4n;?½ k©CùÛ+îËÂCBcÐDlñ-¢„ªHÕÞ÷j_¿ê_S«z£d¬I‚é餓Çzg!ù äͲ¿OÈðĵ{¬Zá(l‰>„kí6'ä3S£¿N-³Ù`§EYYkëÌP]Ê3ú-)iÖ³êD8hŸisA MÉw›a¬~mÆ'.gTz°½zœ*;&Pºj[y”`/kŒçá#ù¨?ó€½)(ïÜ Œùñѹ; ûÞ "òS8+8¿÷©¯ºfb õµÛbv½šà· §…:çîXG¼ßŒ3œ,Ái[„ÂÇBsÐó
-¦Ú÷žCÿ‡R¢»§x×Æé9Û©–îb´Ð‰9q°Üèþ˜=?â&¨ là/>èLH…Þ—‡iø¢²\ ÄŠØß«!Á»~¡Ðùj¯šùJh–«›ØB =ñÿ¯/oß^þÓ uRyÔ0›Ã⿽Ġ7¯íEŠ ÐîÿþÏË//Á]ôºƒØÈ¥òŠs{ ‰‡òS¡¨7[3ÉåØ»ö«y)èmU¯ú\íñš?‡v °²W‡p^¢žLjJÛ8ëÉ¥G3%ÚÆ ß!YÆ‚ÚF¬´¦Ü/zIïÌr9Ö}ô“3΂|
-#ä±ác
-xø )òn-šç1mѲϣýÏÜP€Ú*÷Æ* 0ü(Ï—}Ü}k´~̛ƤôXµ0Ó²ä}y„,ѱ$‡Öý¬Ú75G……³Š `ÈÇÃx ª©
-öS1†·Ù
-”­&Ý‹° ²÷tóûPDL ›î¸ÀW¿<¼cŒóÝ´B®³6‚CñA7cr­ f4 }Ëò®S›•ŠSë·Já}UŒó·.0!þPkÛ"[í®–ìÅë½0¾Ò¨Àa]À=¶µov0¹ßÝÇ1€6É+©®]ôÇÁ …¤œ)‡×±=%(ûe(Ì[V´!œQ!]‰|©1Âñ¸³©?')²K1Rà$³«»EЪ—Ï®WœîNa”6kQì‡Q»#4¼ÒêiòŸö€‘Ì‚Ž&#e|4ÕWÇ?ä%§Í[vR­/wt›ªÏ*%#Ÿ½ô…ó¬†êNâº×íß½äýÚm @—øXZ—rñO9l-g} ,n¤i†müÈÛùØ6k9wÎu=¬Ã”žsWA|ØL‹ jAjAÜú\Oj«™‘šmwT£Áú$\ª+9yÃô29:i·§­á5ž|µïé;7¨É`Üx~Ú|s„â³Òu̘RŒ¥ŸoæÂbiÞn¹ý=9']"·õyP"Žüºq6:%:éJRÛœ¨<ôÂКZ ºØú<ˆ”à1ø·‸ [nq0P™°Š@Ù×f*þáugëµVí͹>ÓÓIάq&ß©)ÇJ5•Óˆqe¢“èrb‚®¼¸§x±x×à×ýƒ·’*­]y–;cVêÚ”2ýë: ¶†ŒÂÉÕn…ÛIÊbd.†­ßûͺ'÷ ¥úðKÄ»C>)‡Ò¢) -{×ðPÞ‰m ®okÐb±!äÚ‘¯?üû‡COu­$“Äz£SÀ5¥
-:`É%nâaÕ˜¾ð}¶>żæOc %…y„?íÍ&åÄ ô™$å–oôÔÀŽƒÁÇMjóVòÁh['Ы†
-ï(ýgaW+±TOÂó¥»Za”2–Kk
-pÆýuqºÔfQÊݬ¹D­”èB
-¡Ú>’5—à‘œâ|ô
-¢ÉÎÝÑ ¢œâ ;üØEb'™î5í½}§q”‰ã5¤¡×Âðöæ–M‰»Ð9º½/`ë]Þ›BWcÑ@¼Ž`§ëïc¯nA }¤ªU“˜¨uá‰õÇcëç´·¡*ë@ŸN²y_ÄÏñ9ïËR%ŸèT 0“‘dÅÃñÚ8¦z9Å—Pñz(­}¾žd¿£GÀ Zn5§çà8$>:)Toö¦k¹ (BIæݽvf2=Úí/¦Ã¸« ÛM×±t®»ôí¤æ±G%õc´80Û…ÞÝ>Š¦n¬>EÚ¥Ò0©Þt뜺Dž:ë2<µ/N”“WCãT_HOÿF÷óúUÁÄF+;-Ñ“Íõ!d;Rcu•Q9tЩÂØ=›âX˜ÚÏ[â%Bª1œÚà !N 8¥©UnÈŸT‡8]Ýó‹ fXNü"¥ÑU‘#7g~˜ÔºÎ¦•sÔt7ö>¼Ö9™Æ8a²ÈTíÝamYæ“_ºã¹¦fL+§Y¸$0]¿’Ý1°Ú#”vÙη.˜'¿ýä|sžÖ]ÕàŸúŒ3Œ­«»w¹hû½eYÓœ·O2Ÿ½b¥€S¼âZ÷&xn’`'Föb+­»ÄvÍÀ9¿ÙSkù9N-¦µ\%4–‘?ã.$ 6¥—´¶)FnJËdÉkMYOf¸.¹sz£ž;_Àû–ˆAD½Q ÜyLãü]³ÛˆP`RLíRž¿Y†XV´XoÒˆ=>là-U4±oë>¿xöAMYÝX{À[çΞ4ÆX¹yÓ,ª»ÑNœQW=¡O–ÂP’ÊRºµÌq»J:—¿ÍoUgF¬Jž4Ú1çl¬ãÄZLÐNÒ4±æ<Ú왊骋¦uÒÍíòeu˜ÆZÛ~-¨£’¡r|Klÿÿ×¥}þózd¢Ñ„7
-<펤Â?jxàåUƒF_& 5·W†ŸË~L.°.¹ñrŠë|ã)‹a´«‡²`m;ºƒ·©Ø²S£Ã0[ÅÇy´/ÏÆÄ’]Q)Gv†Ãz„Q¶r‘"Ç”æI@r£+tÕÒæ}¥¤K­Ï¹Ë+RA"Œ`b»k´ýÕû¹asf3‰²ÑùØê^„&²Ñwëô$1]MKÊÎ Ks/
-ÅÙ{´ ŠK¨­ž¨Œ`ˆQ4®·Ö›Ó5$þÙņkÞ͆±s`b4”Úù©ƒu,OPSþJ@XÖßUÞé:j¬Z8åÂvK[f8GiÝüÄ3G¸SX[çM~Kµ UdiÔmm;±ÞÜÁ‡Iqç´ éìÂÉñ‚‹Rrsž?ÓuÌA:¹r[ÕÛ2Ì %è˜%ÓµaÞ¸ÊhV-/P‚f,/ìe;qJ*ð©}ږé'‡
-cxijqÕMë›n«€uw¤À©Ö¦¨X[ØzžŠL™â˜¬‹Fµ¾þ¡üN®¢+õéJ›¥ÈHóâ .R{"ê“}&ãGJÏd@Ð G:êvò“>õ2.>']«üæéUÁÃQÝ<;`7' ›Ú?iÈÐÊl}±qžaÙ‹¡q‰pYìbŽŒ'Ü æXµ>mZït#è´›Ÿúnt¨¿fÕ†•Nò)ùÚú”†S|ª÷N2Åáô^º²ÄÇ|«·š™˜z'U ½Ó;î ŽËîƒãŠ÷’ ÿ'8Ž moñYDÓ§`õ ;ΰ¤~Í«tnšÒùJ %Ÿ»·’¦úþ@
-Q…n‰Ó™;ß+AiÖt<·˜ß[Ìf.ƒífÎñ¼V\N5T
-co'
-±F b……)g±æû8í7k$§È
-¤›:…Ï:ǼC Rœ2õtépؽ¦„ßTÄ$6¯¸x{­™ÖÇÀè‚.?Ëò_ƒi# :aôrLgU”§b+\Ëûò]kD£4 ¡&µ¯Í©8k?µFÊ#%ù4íOXðx^ÞÍÊÉ|ÇV¥sv^ï]c¥,Æþ¡3VwåøÖwÊ(á6‹Ýãè5åoêydês$Y‘s$å©ápF¦Ôu•ŸÒ§c_`jü÷<å©ë ð¬ŽìÎVËo´|ÈܪÕfžÓÉÕǦð²–y—¨m‘‡å‘§Ð7=ðr=Qœ¼
-´u Å‹;%?U9„ÅoÁÕÓñpUú%ž¹eƒWáJ5KÚþÌq«T‹Jkj bÂt£¼P:Ô{ Gˆ{ë'^» ³0º=Ó²k1ô+L ˜JEÿ®Ønôªõý¿ù ¯ñšñ½Ý¥øƒ|:ðYŒ ¶ÎEÙÙãB˲°5ìíšÂëî/»¾ÊïÕ5¹vG·ŽÎ™ªõàÔè·f ¡³Ã»]™ÎnZÕlª¦³^²/~Ž?Š´ß´¿SöëÙ¸q6:v§D'³‡üwùÎlòÿX´ †1‡‹] ´mú«ƒ“ßsËyFplþ¿Û²kc6‹ÀÊ–¦œ?Ð~|¢Ç‹ u8ƒóh7Ʌш–½ˆ£m—ã¨g*(ôycßIQGÕeªoß^þ ~9k
+xÚ½\I춾ϯè?04YÜÆ
+%~0—Õ$ÙÄfš+?#º-å€=¢¥=­Q}Ãûz¾¦%
+
+2äîLA–®V±Ô¬zžîh–žñ¾>Ç.ºPüƒÿyNˆZa݃¡…Ã㨂ðÊ¼Ä Æo¡3Ï%T^[¦xÚÖÝDŽ¼ Ê$t{!'~¾ åài¤þz Q½¼›—ù‘XŒCÂL˜5—7Ndþg„ NíPÂlô#I MŒ+>¿H¨&šW¦±´2’´ŸïlçÛ³¦Ð[S]kŽgÊ:Š-ŒÆ RZöv_ðÃŽ)›æ‚¦6Î…Þ)ö!ŽQ}ˆCWh¨å/RY2{8z4k”îÎ-d®DæèMcØ'¤;fJya%m¾n—Š»Š¬¦ÃÃÎûã(˜ìÄÚ ítGiiX­xG8f
+ÜFdMˆOÆúE³
++Õbãk
+êÁ's )¥kî
+qµØZÕ ®kÔëËÉ,}ÖXË6˱¿4OhíFÒæÆdÿ7ñØÔ ­Ô<Ÿi¶5Ùuêln.Ò·–—ÖØ}-À;eh—©EÓEóŒyMŠš]˜Wû²å:7ŸÈ­ÝUÜAèJ©°=zË 3dU l¿¶Mi}Õ‘Ïôl—R¿h—ó¿Z¢ép<õ7Ìdùøc0+ޖ˪BŠDT;¹¿2¬sIjÝü•ÈB=‰«çrAvÒâ3ne…ò3ÈÍE}¬Kï›"eÖ-5™ÆM“j^™žf%ù¡Ñ <å‹ÑŠ±˜ÎØI–ùÓ®'šL<§`"Öï•Âù(4>1¦«¾¿·p7`[Ûä¼»³ä Ï÷¢ùÊœ”ªum,3áŸ+$ðÑDaœû ~œhK¡ñH¶©}8»úÄ…’zzÏíŒ#qW­ú•Dè3ï¯s+Ôú>nš<ï–Œn|ÄÖ.Ž¸Ð!M•}·þNªìb/—”Ì$ÓÓ´IÈØÊ)Ô÷ŠLR'%·
+ÓÚö¾Ø¢uöVæè>;¡1m¶‚;–¡Î»v*Drçw8Œ%šaìÖ¦UHø¥ïŽñÁ÷Ý™1ø]U;6˪9Ü01µ&„yyæɨ ~CÅ°ïA˜˜@ØÈ#¦Ø;ÐØÍ)}ä¦ôê¸Ö‘ÇÏ= l‡íÝ¡2•ß9ÈÈ÷û<¼[a¾P5Acj¯6‚ýìâ¹yý Ûóɵ §¯r¦”DBf¦ôÅÅÔSª]ܬw•ã¥NVÐÁ™<ñÐ}H‘ÖÇ™_>ØŠ\ô½Mù¾•Ÿ(|õ©:(¡ÍfÑϪƒõ¹î3S«ŒåŽkÏ÷çh@÷±X¯yɘр„Tªów´ò´Òd6ƒË&ïÇùŽ~/&[ÞVWMíˆÔó¼²0>¿hˆ>ê×Î^sæ: xÊÔÕ|(ú%§¬ìD+øÔô·?¥DvÓá\ÒÛ;Ncih-ºTrܘOÓŽÅ6ÿ‚¹`èj`#±WÍ%:¡­Ùè¡rµæaìë¨b«ßûÕ[h e-A­S¥€ñÔ–ÃkÌÿaÕ¹ÅÂõúºg_à…U­Ju¡ñkùwÕ¦½³G#bˆÕdÜ‹aKMÀ“1Ž]«Qüã·ýñ÷_†¨R:=¯œ›Äté´u?ݯ-Ô
+®‰‰;_ ‚ŽÝ¢Ì*O€_h¹5*#ØHþEˆV‰¢¶kλ!†%3BÓ]FhØÄãùÎ-„„ÇÔ|âï@Ë
+Ð/°FÛÀÀ`\@Æ_âh6þ=é°:úäúÍS?àŽó'rxÚ>,}è¯ó†t€á†^!Î*)í¦˜m<ôP\Þ9æ°kRi}˜vÿSˆÃ–Ê( Ú“×Â+}«£ò¨3‚ÿ@}C_3¢Þ€§|›¢MýëV‡É4
endstream
endobj
537 0 obj
-<< /Type /Page /Contents 538 0 R /Resources 536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 472 0 R /Annots 540 0 R >>
+<< /Type /Page /Contents 538 0 R /Resources 536 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 475 0 R /Annots 540 0 R >>
endobj
540 0 obj
-[ 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R ]
-endobj
-529 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 133.218 514.573 147.943 525.522 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
-endobj
-530 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 163.664 514.573 175.619 525.522 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
-endobj
-531 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 324.77 186.413 331.744 198.368 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
-endobj
-532 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 186.766 142.577 209.241 154.532 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
-endobj
-533 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.781 142.577 510.257 154.532 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
+[ 534 0 R 535 0 R ]
endobj
534 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 354.688 73.058 369.413 84.346 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 171.066 124.025 193.542 135.98 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
535 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 385.134 73.058 397.089 84.346 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 209.263 124.025 221.218 135.98 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
539 0 obj
<< /D [ 537 0 R /XYZ 78.37 808.885 null ] >>
endobj
137 0 obj
-<< /D [ 537 0 R /XYZ 79.37 732.66 null ] >>
-endobj
-141 0 obj
-<< /D [ 537 0 R /XYZ 79.37 501.614 null ] >>
-endobj
-145 0 obj
-<< /D [ 537 0 R /XYZ 79.37 352.065 null ] >>
+<< /D [ 537 0 R /XYZ 79.37 402.445 null ] >>
endobj
536 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F64 333 0 R /F65 335 0 R /F30 341 0 R /F27 340 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F64 333 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-543 0 obj
-<< /Filter /FlateDecode /Length 3534 >>
+547 0 obj
+<< /Filter /FlateDecode /Length 3346 >>
stream
-xÚí\ËŽc·ÝÏWè†&‹Å`4à¶Ò$«³ ²
-â,/’ÿ_¤ø~ÞÛT÷•áEдtE‹õ&yD~û×ß¾}yýþå‡77L¢†Û÷_¿ú‚ßÄÍ8&ÍÍhÁ¸·ï¿Ýþö#çR¾|œsÿ–þä\üÌ9¾r®è=Zzœkxùû÷?'Ò‚9¥„YЖ†ý-´‰PPÆ@C/¢‡wO÷å«4Ê?½¿HAõÝß1Þ„áyÓí5±"ÔÍ1§Xš9–Y,³4âÅÊÓÊý)zÊ~¢™2¼Ñ·Ú³©}ûE¡]~êÛÑ7âM¤§
-_¾‚õo„_¾)È,¿–¬ùSàŒg¿•Á …{n¹g
-‘íÈ\ëµ0y“,U/Ëðp!Ë< "*M‘NšeÝO¤*®|:J®öT$£ë7ýûHWCL䬃&Ťƒî]sͬÕY×AL0ÌQÊ‘·ðu{¡ýÛÁ•] äLY1Ž6Êy|Å K½8ÑÚrKòY5Ž ìbÎÚ!s²Ø7Dþ¿JÔýÇ”¦ŽçÓϼäŒÒý¶LG—æÅd§¹•É„oS¼m ¯Õ®'‡òƒor;Û…¤¥4¥Ls;J*5hé~ªIÍI=R)6ÏMëªI,£K'Ÿ³±¥ç sQì3Й&ŽS·)²¯ŸÖ²Ï&Xì¥Þq%m9³áJI
-Fyà|­Îs<KaøÌA
-7R)&'™ýÇæìAò9My¥¡Ü
-ÕJ’’À`V*¯Þ©yþ&§…øiL ADÉÀÈEvÊôµ» ÀªEnK4wrÛjÙrúï³þ«@<Cƒ…Ÿé^*Ë—“ ;kOAøµ‰3M’—8fÓSCATLÂ8 8™”z£¼ßòÄLv™`ùif G´LÝÊŠ”£
-Må±ÞOý — eY½ c/…QÛE«ÌV’:ÄÜТ.åSqå\ÀmfŽÐ¼¸Yì¼ÊÝ@¥ OGñƧa¸RB•†¹Úñ¤ò¼êÌ}@\r.1ìØÌ–Û&ï^h “–ŽŠ”gGáÚQ¸¡y—\ÓPK¥z7[NŽ@ý %“…§ÊÇ;×Å;ÎŒºqæ´þ}ë>þ…œÈâ<Tkiçšœ\‹ ëÚˆíkÃ>Ó_¾
- Ño@ÇÐ,ÖkE×Ù…uÏ)$’bl¿>
-E~>ÿ½ŸŒ¢ˆê¹ò]¼$
->ÒÀ½ªÍw0É cë1P+½åé°¬ ¡ÚËJ& +p,ÍJµ'“Rû:àµJjGñ*õË2K}'‘Ot5øéBýba¢cX‹»,̲¤8—´,ìnìˆ+ÔDÉq•j'éÇ $X=/®¼€‚ݼÖgÊõmƒ¥>Çm‹˜ÜŠÈ«ð»ð”C^.ÿü¼¯÷–žZ­ ¦T¼%Ô`ûNt¡£—óáëOß¿üg$Ï9³ÜÝþñÛÿ¥fŠLV CÔ·ÿþóöë—¿v!0ìsy£å™á>§Ölc9“ZIÅtÝRqñÍÓ>5eH/"îä¿|ód—• LÉ6¡±%¸‹À ó*:‹É†Vž¥ôö—oC7õ]{dÇMÝÃÌšY4]ÐNœHÿï6þ œ­¿j9ÕÈŒ³ã8³ayi{ZùmÛ×prC;«ÏÇýõ¬HáHuÅØ£¦›wÍ­¥5%^i~HYM7»R¯[ö‘ŒlìlÚW"ô¨ýfóhãÆ àw~WÜyó)Fü)Ó¡è«qºSƒž8Ú14ÊäŽcß##SHÌN­· ÌhfÉ#®40+˜©•ÎOÙWßל½>jnR2›ëlºe})¨Œ¼_at)æô¤‘¯-ÁP¹M™°o|\]ÀAf.öøªcuk²-]3ÔöFæ ·¨îîsÐøÁžš¦r‹¿FnN>ʾࢴ+™û]_#Cq(/õ5šš1¥„–î!gë;_ÌÆúõ–[e?¹¼.¨çP;p{?µ#G;A]9¦ôÔw(þ¦Ò·ÞêŠò¡½6¨+ÃlY
-Kûu}ŸÔû¡.êïq!z…ñ¥òpBïX“Ü©ëëÚ˜\°”q&WÌÀù³òQôç‚4$}'CK¨Ð*{²ê
-c¨¨WµyO¢ì»l ¤ÀÝu
-¥¨¹ª&϶ùN0å:lT ÜÁA9Ÿjÿ¾±¾dY‘V
-é¸ñ¸æÅoê±^‹²9ªù HK6!'õ>’Èúq^¯Ldƒ8ÏÙDéÉQÒq;Ò!¥õí¦eætùË4È´Ô›¢¤pm§àjð
->(Žpgð§˜Ræ#–)9gÆÚgX¦¤€Ã…ݧ¤€èža™Rh†Æ}Ä2%f¸Û³L š9œ ó™ÑãÀQ¸9yÙɆ’|ž»U&ÇÊÛ!Ú’yŒ1/ïœbfÈ=
-ŸÂÙ¤Há-ïE¤P¤Ý³"‰Pðe¨`à˜‡¤g?­$”˜´­|‹lO‘{’10ŒΰȤ<JáÏÕÄ«ßñµÜ]iê´œ¤r€ %ß!‹Ù-¢Ï'´QìKà ÓV^M§_€ƒ'j]Cç½RÓR@Õ\±6ó‚ÿ¬ð£¬ˆ<.-‚[ìR‡­
-_? Eà6¤çÙ„88µ"a)OÛ±§Ò-Šªì¤¾V´”iîl+#ÏBh|Ë¢* ®xbÁYÕeå9ªJ"0%ÿð *³&&ýºW|Î5ÓìA + ÞbàlчõÛ ç!í.LáK­… AÏ2³
-åÍs2JOû#p¢dzJÛQU’T®K¾Ò1p¿STƺ ªŽÜ?ʵç@ãDPŽ—}¯K!A9¶õClA‚üBaâî
-âáüqRñ#ùcéõÊü1Êô<<Cž¹ à$¡-hÒÚp×DÉI…}’j’Φ< 0SëkàAÆ„ŸŸ=à-T,Ii>f£N†ß6<ÅFeÆ™M™J
-@“ù õO ì‡lTúljí¦JáHt²ÑOᄸ‡ê$Å y¼²Yæø-  ÍQ9;H!;²ŸÉÎ’\”\Õ ;X!.rµÊÒK°Ð¨Æyl
-¥`_¾jÀæö±#v ,!ÿ%ß6^øæŠ)\êï¶ÁpÁœ,‚ܯ½L:ü¬à)OQ€ø”äֆ诉ªyqó$ÕûV¶+:² !ä(SðMüEé6öÜßEÖ iÂÏ—úñêÕ¥§³J2 ¨Þwöv‚ô‘@5ã½q=×ýÓÞDVAEÇwQåÅ£J{Í~ÅÛt¯%ZêhJ Ì™ºeúZ’:-´ÿ¾ ša
+xÚí\K#·¾Ï¯Ð19,—dñ æ0«•çgo†O‰íC²’Kþ~ªøè&‹­V·¦5ÙbC+‰MëÅb‘õi¤°§ßOÿýáéõËÓÇK0§ ¢sN_~{R'‰ÿ«“üÉ;%¤S§/_O??K©”¤4ZJñ³ÂÏg|—ø2¹žÕv‡ŸµÃŽQŸðýÛñ;໓¹Ÿ;ç¾ú‚ï2÷IãCyŽm`æ1DÇ œÔ"}sjÿòË—9ïV
+%uË;ñ:Ó">Ó¼nY¦eš…20ѼzþåƒÕö9sçŠD¾' !·ž8(Ò’D•{KúÔ̓Ð'¯ƒPh2™é&ò¦~2qj‹!¥¼:ž<¾km+­¤Ô"0€¾›óDQ® BÏIëÒ\Rx‹Ó”?u_ÿ4q¢¥èNœ2 ø¬ödîXæ)Ÿ¡¸¸b"™ÝÊMRWY§ç¹õöéYíI=’¡¸W 3ã+9æ•ÑB:¡«,Ód‰ÄƒÀ¤H²ðƒ¸hH¿Í ´¶’ðØì^g3mñ:[Æí7ápN·Ì©Ù,Óšºe´uƒ¹`˜È FÀŠI<ˆÛ,’\Ö2Ig';•ÅA:O«ZæÅ<²=w¯s›}ß!ʘë}'?ó5BN1=ËÑ­Õvõ Š}$WâõÜÒ+ÞÑG<ç´0Ðí
+Ôé¯_Ÿ¨Ù€ìIaŒ;ýû×ÓoOÆ'HÇcað…¨¡~ù©ldèÅ72íL»‘‘+XurýD-EîÄg™‰˜%"(•÷W¥ ©qU>þôC3Ö
+퇱Ëk¶ãf¢€ZqÖr
+ýžR8úïÄßgËZN­Ö{>˜ê¤p¢U?¶cÑO‚Ææ=nY*\nÚ…aļÞö Âk·Í{²˜5Á ×Ú0[·}®yà5÷›¬ßÓ6;|OYáÁ,qGÖŸ|ðM–% nʜ˸-~b”Áñ±×|Äx¡ÔÐ{³(Ì9¼:Ì?Ê-aÙ?Žòí„Byø\Ë»Ñ&ÿ©«šs„ßÔUßÓÆÌdÑš.‰Ç Öûzör
+Ó1ξ’¦¬‘wv‡$¤9Çd´óµÏ23%“äR¶è.ík1$:ƨÄ]‘žÍôzd¤ç:]ôЧŧ6ƒ†â Õ]c›‹â"UáA>ê¼0ÊnÕ§ÇÓ ½½9‚)­w{V ¦5
+´›†°ÑGAEáÇxMW|wo™€1H 4wá[vI0Ýjq7obÎ)t 1TëÍû7àb’Þ´.ma)«è«
+‡Y›Ð\
+Î}§B"½j-,ÌJO“5,«¬p:p¶!)¾’m«‰Ú™zÄÊJ¤o ‘)äØÓ24uî§ê‡†ã=@Û˜î™ÀGx
+úç¶ó9Í|™öPâ¯`H¾êäËü:<:9d %½}4’ô#åA#ÜG¢õß
+ƒ8±yvAœ8·!N|Ĉhœô¨’&¯Â~Hõ‡Ñ¾à´ÀÝá
+Üt/B<Ì…%!&ÔcB\Oû à¦.7qn×ÁMG;ÀMlì pë½5Ôéà0Ô-¸‰ÅÁn7ÑQáxŸâ>Ÿëí‘nûÃÁM|Ž=à&>vÜ4Hs ¸‰Ñ^7-¨õp£{(¸iÙL×JÞ¬÷}q¿”©5muÍæ¾¸ï †©ÃÐ:ÚS©ñ1À&Fû À&FisìÃ,q”ªœÞ½Sìcsû8÷w
+ÙIÃV‘Zpݸ‰
+çîGž®ò§=à,ƒÄË! èÌ8)eZ¥3úBͽé7=V¨.nVZñS”Ï= ø¦ùqöxBV@Y±®æT±w˜z” Úî ºYž ȼ*è3õkVÕºöÐOH …4›–g»_$MõØþ™)]J½ºe•Z8F˼614iþJ ]‹šð¬‹Ñ¨àFÐ4†~yÁiÿ_c¾f¦ùê¹ È1¤UOI;dêÚ,-æ¾OÄѶˆõžÝlâ|ª©Ðuuo
+reÇ.ô6§'P(RÓˆò3€2Ít4¯ù\"ßâ¼1—¾äOi\ŸÐÔy¦4øQºÇýÃÐ/(`3Ý÷$CÆ Ôêî¥/×.-ýÔ ÜqiA?[8–cž¢Ã·¸ðGmnœÌ©ÌÑœ¿åk‹žÕáL¾ªžà[HLówn¨C¿ññ»¹·èÙTte ŸñX‡Éª¡ûÛå²ø¿êú‡
endstream
endobj
+546 0 obj
+<< /Type /Page /Contents 547 0 R /Resources 545 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 555 0 R >>
+endobj
+555 0 obj
+[ 541 0 R 542 0 R 543 0 R 544 0 R ]
+endobj
+541 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 612.02 229.772 625.967 ]/A << /S /GoTo /D (Hfootnote.28) >> >>
+endobj
542 0 obj
-<< /Type /Page /Contents 543 0 R /Resources 541 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 588.109 266.385 602.057 ]/A << /S /GoTo /D (Hfootnote.29) >> >>
+endobj
+543 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 311.093 226.041 325.041 ]/A << /S /GoTo /D (Hfootnote.30) >> >>
endobj
544 0 obj
-<< /D [ 542 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 287.09 262.242 301.131 ]/A << /S /GoTo /D (Hfootnote.31) >> >>
endobj
-149 0 obj
-<< /D [ 542 0 R /XYZ 79.37 771.024 null ] >>
+548 0 obj
+<< /D [ 546 0 R /XYZ 78.37 808.885 null ] >>
endobj
-153 0 obj
-<< /D [ 542 0 R /XYZ 79.37 748.402 null ] >>
+550 0 obj
+<< /D [ 546 0 R /XYZ 93.716 256.803 null ] >>
endobj
-157 0 obj
-<< /D [ 542 0 R /XYZ 79.37 403.167 null ] >>
+551 0 obj
+<< /D [ 546 0 R /XYZ 93.716 246.997 null ] >>
endobj
-541 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
+141 0 obj
+<< /D [ 546 0 R /XYZ 79.37 220.737 null ] >>
endobj
552 0 obj
-<< /Filter /FlateDecode /Length 3275 >>
+<< /D [ 546 0 R /XYZ 93.716 103.571 null ] >>
+endobj
+553 0 obj
+<< /D [ 546 0 R /XYZ 93.716 93.943 null ] >>
+endobj
+545 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F75 338 0 R /F74 337 0 R /F16 336 0 R /F15 334 0 R /F93 549 0 R /F53 345 0 R /F64 333 0 R /F65 335 0 R /F30 341 0 R /F27 340 0 R /F71 347 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+563 0 obj
+<< /Filter /FlateDecode /Length 3922 >>
stream
-xÚÍË’ã¶ñ>_¡,€Æ³jJU+ÏÊUÎ)ÎÜ\>9¶É’K~? 6@Š” Iì’5"F¿»t›3}úóÄñ¿?¾\>^¾\:9æwúøãEœ8þ+NÖ3°'kãFœ>¾Ÿ~yã\*Î5p®$çÆãßÿ~ÇoŽ•ž…wå¹Á¿¥ÁÎ?à÷ŸãoÀoÃÓ8óžÆÊ+~ó4&Îwù=>5Ï pl€‹j„oqMù~~ÕR#†V& ´€ \ÓluIÏãJöüëÇO/œY|ð‘àœ?ÿBù 9\Ö|PˆÈ´¢ü–p ¸Gz.é]äAÀïk¦é’>†BsäO€÷5Ñ¥lzo\†7æÛ#</x‘r›©váSxW{Ÿ¹;AtiÆ$=ŸÇfii¨alvÀ.¼0Üü¼` 37¢ä¯euuMr‹¸&I^ƒgBAÍk#ÒjQç:úއߑ™o ·Z&Úõx]°µàÖݲɚ6›¡U:&Ð
-V­.§™®ãM#¶y¢z@6Æ1–(¦Ðê⨀Uþó竹šIÛÌí›ó› f´¦–~>cáŸýŽ˜õ_Õ˜jË´µtÔç¬áVù³ž‹ïx37Å>Uè¥qÍŒÙê&¹ßÔ%ƒ™/º›º”4Fmi âg ̲®?¿5}\SÆI–°ÕMÈ-P=ì‚.Lù
-mÞ‹= @ PýD`osy]*ÎÊå×ò–
-;=­…¡˜ó¤2Öl
-XZ·Ø”¡÷ Ð?kçfæŽDúC8ƒÆ¬%yç¢õï°f²ªÉul**„ËlOWŠ+ -Eù¢ºä‚»Éá-äWÜf#·VÁÁãÊóñ£¬Jy|£×ij
-Ûdë#pÓËp:ûzÝßI̼p˾œÈÓîÖzTBp&ë]6.qoÖrè·$Tž_ZQ±Le›žC î[º·^±gÒ+“ R¥“Tÿ¬xÜ…HÜ5JÌÉ[žð BÝ! ¥¸3Ì—Žc"2“±ê@âÛÆ,¸:3ã€1*…ÛH%(Λþã°†@¦Õ’Žá`"ïæ:ËPêýÈ*
-Ö‡å‘C!·ˆåÅDÓø\Ń¿Š¡u
-Çë‘“|®•ªUÎ¥0¾ézÑQZÔ&‚ñJ¬5…M! o(´H™´:îÌ‚c+šËÀ HuÃ…„Wâ#j`%è‡Te
-@cØU©qL½A·&¼©`݉&¨æ*ÒMUB7d„ Cvý²rÙ/#
-âj
-r‘Â"—(|9{Ð:çNCKΨJ>.‹›Ÿ§¬(]coñë "ç ö^&7<Í£õDÑ ßÉû5ÌvšRÖ!Ìc¼eHaË©”¢P“È"®¦ ÍÈfn¥¸S?yÕŸ5µ*¸Œ²Te½ œFç¨ùv™s¨X¸ëš2ýí¶ÀäÃ{ø¿o‹éµ€ ×$c[ ÛOj9
+xÚÅ\K¹ ¾ûWô19X+Qo`0À¶Ûc {Ê· § »‡ÅÈþÿC¨õ`©ª«=íöLWKI‘R¼üz‘—/®_?üð¦ì%ŠèÀ™Ë×_>(ü@^ÔÅG¡ýÅ;%¤S—¯¿_þñ"¥ú$¥5åe¾@J/¯ÿüú7¤åÍŠ–RZ8k95}EJJJÐå•(j¢´æJ™Ä–á”<^\D
+o¯¶/ô®pí"=õòÕÚ*KZÑÝòªø©y)üh_yÐrÅh#‚š¥ùËþzÄ6+”ζµIð×^Šµ/8I<e9dù”´ž8‡kyfèçíü É9HÂtQ¨ºú$SÒED9=OºLóÍ-ïm¥¬æ5¼£5\åjä(=ƒŽpjÃÔOë%©\µ‹olÈZgö‡û­¤kó™¤í륵´Ö‹ý.O{múMœ×§ÅjifµŸ¤Íü“t!GÚVñ•4ì¬rä `Š¦¹ly½­„å7yˆ–
+¿ÝçŠå0xû­<§ÝHï“¥¥Jï5yÃçîo¨ÄàƒÁ&Ù¸6'ÏŽAæЙt0îLÕQe¦zJN^ÞmgÁu
+…ø×ïy–q""ú+Àpùãß—_>ü?Ò=|¼8 œ6"5'¼j›OÕ“s†ŒÉ|’ Û3>Fx–è,PÙôèA¸Óqèp«•Ñ"ðuÜk弰έ¨$smÛ[a€àÉ5)Ô§ô›&¹Ñ¨€—QöÖ£íFº<£†Òú¾teGBÄIÜðŒœ¿ÈpœGx+,X¾úe†l.vmT7¯N¼ÊPËÈD+ÑÈZ½–Osä’jÈz3ï>*@-\ >HÝ,mõŠä5Õ†9E€)åÙ¦vC€¤„¤im4‘b6…ÝQüð2Î<e`0´Jàâ=hàà¬ÐNo¨Ì UTÂ{±Íô Ýæ`>z¯‘~09I‚ì2ê`눫{¶`¤mªÏ1eXÔ@ymmå$r (è‘2IhÄH÷Üö& ù¦”¥Å†¦²ÌF ñµ’ø}올oÒž5|Xi1„m6ÌÝÄAI#Àû‹Å `•çÑ/ƒMI?cvÊø¼LÛÉÊœÆPŽ­Lg]znQöŽiå²ð­èeë!ÜJL— rÖž·EƒÖÃ.¦ÙqѲ´¡œqMf2þZ¨æwd7cá=1pÇ(›Á–Š„û×ì)eʪ7ÔbŽz´HÀéY%ŒÖ½6þ–zNcÚ„‘‹Ñú–ú 3éh§Çñ[¹ $„­,O©óf÷œx­­îµ$–\-ï/s!bò(í†'[‹y_0£F?ðá_/å—Ÿ¿to
+oDÕ œF÷¾f߃ÊáÐÛ-óܸš˜ÜÇ^ƒØ405µÒ)v–º½%ÜY„ŽvÓÁX‹}||„³ŠSäe¥˜-W‹wJHœ²³Õc-›\"à,H€ÄøJ›aÍË(#=™û,æ$´€åÛ–M~_èM&aõrMZ‡ç¬-©Î¼ÔùêMÂÈ´QB;S¸öãN 2r
+pÛýÞ‹T&¤ñnˆTg’Íú“: ½P>òÕ[·ÛjÊèŠ =“bÈÇ=“:jt‰Jiì ß]¥wQÇ8ôp„ ¼ª›v¶¼vÇÕÊŒÞéYñT¢4YÚA`j8•r“RÝ%*ï…VÓÑ,Evã²4¤½Í^nrªC…·n¥²Ü”ÊòĦ”Qm“3ä²YðÐq>¹œ3vJ´ºbçCÐz˜¨¨œ/Ž|é‡uÙ|߆š¦¬ÝÏUÛSD€·^î62NETUÆà3½ ±VÓÎéòrS[Æ6ÿ¸[Ìjʕ‰\ÉaƒæküÙÉ’WÂëȹ˜n½¶KºsLJ.ËsÅÉ·[Koø|jØQ³å ×n.µ8DȾô¤{gïÐtr-ù1W˜«±`ZÃ]»× _†3²vTÛF~M'1Tpï©g’ãÆå˜çÎ' ˆüXr‘ÌÏa œP˜2éÓzÞuÇ»®Þ÷MÀ‹è§Øå}(¸kk…ÙïŽ> ê“^ªcî×¼Y7œH:wÙ[Ëna£Ì3g·&å!ÐïWèvv«Õž• Yv"­D´¹KÈië`…‘À•g¡­‘·D:ÿEKÏÇ»åð üžÜs:óÝÚÑ9”v^È~«âd%®Ç{ÛýÊ+œ\Ý+q-ÔEÌ*]ùéÜ8ƒ~œ5X#›;uù]Y`ù+ƒ òØM ‰µÙ0'&)))º¤~èÇVÇ1]’ 6r`(dY&ÓåoØîärfº\|<?ê㉮Þ?×`ý¶×èºr¸2œ(6߇G‰ñUñÕ¸^ Õøõ¤ ÁÉ[ pNóò-™e`:<™ÛÄמ›Ü®ÑF#²ô;DtƒJ†¡˜×¾d¦+ä)Þ.*óN™¤kÛ)Ê°&·2Å~ª"DZó…æ¨M›ryhàvÚõZ8¸¦< Óƒ—vœJó%éGë"¡úr`øÑîëÉ|<üjîØtßß­uO&PŽuC¿Õxà¢Z eN¸¨akc¦1ÖýZßÞÁïª[tœ¡¤³RËY¥<]ËÇ>l
+î×ùÂCÛð(}§a…ðù™x¨gâE0^Ç”§ëÖÞÊŠ¤°(µÉ(ç-•ožz[]ôqÅ(ÉHÆND¿ hÕþ½Àó#o^V&¯Â„_Ý/O7U"uɇ*± ¤$ŠŽ}ô$yÙËEŽ5f&6§Öýõà–D+À[nDúÞ-ÂY®ÝÀµÛJÒ\KYzÝöƶ÷³;+Ê…ñú›@þ¥ˆY®ß.Ó۟Љ°2CÅì(ls}ð.Õ:#bç+¨¼ë!W°P;Í®@ž×¥ë‡ètd1„˜0ôˆLŸ“褜WÛ.mÂD ö!X¡ÚÐoÜmgªç3Q|ï«æmª.ñÿ/\¯©‡ü¨W¢1_ÒÝJßàW¦j0øñPòÚA>ÙŽ¼ó¡ÄÁ­ÃíhGðin¢Œµ0.ŽÉU_È7•šØžÅ ¡tE\B¼€N7cŽ;w <–#}ždÉ·† ÔÅI@ÆÉú¸²GI_Ý°ŒæHmÝB „e7ÜþJV`_%
+­&ês:iùqÊ®]SgöÝÖy¤³:w£²vseȄʧÏU¦ŠQ¸~G˜”ÙJŠµºTÂu”>VWΉªãZ;
+™ŒÇÖdy%¸J
+ÊvsíÏÒ ­qlv :gl3‚áæ~UyWþO­zë‘*ózéÙUe ¼^Màݾîóv\0DôŠ ¾w¥•ü,´»ÒÚ «mꎥ»ÞtYz€À|a:}UGD/ÓYËpaZ
+í’DŽ¨X˜:téâ¶Á—K¾þæç/‰ê2LÇ}ÕGêû§˜Ù¥ÎÜDÄ‘ŽB”ª¿Ž§ØXõ˜È§®½qÙ‹L7²ƒß¨e‚ëʇNÿ.ügækýÑȧ3H>°e´!“JŠ®ÍÕüë8ÕË|+‹o\þ*ÒR$Üi"ŸÐ£Ì}³K7®°žx¦ÙaÁúÅ
+w=ed]l²_ôýƒ ·YÎLÛ<`¶œÓ®¸Ë¯ü3ìF#êšúL<6fÎÑ3Ë_¿ó|îža"¤õfôiƒ(0è<ÕÀ´ÃõÓ²¯y®?z}«¹á騅-µŽ¢§¬…ñþ £#Ä™H×»NKðX½ÙÈïçCOà”B3WçøÌ_Ò7æÁ%;µ×˜ƒ‡ š'\ÊvOïóŽï}‰!
+#ùŽßÏ_Ù©îNJ×Bö]_K \|.˜c:ÁîÜn½çlóäç‚9cl®N¹ùé–Ëç:A-ãöv µœ£3 n£°n3—e}H™GŸu™þfÀsA]âµ^‡‡ìlšû}A}^ê  ¾á½ Ï0>Êç%Ük
+‹ÍÔëÚ˜b¶.É3$ˆN(®£=ô—
+wH-z'Bk"µfÀFÖ>cÀܳޟxVço¿Îƒ{p{N
+g-g¢¡¶:_
endstream
endobj
-551 0 obj
-<< /Type /Page /Contents 552 0 R /Resources 550 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 556 0 R >>
+562 0 obj
+<< /Type /Page /Contents 563 0 R /Resources 561 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 565 0 R >>
+endobj
+565 0 obj
+[ 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R ]
endobj
556 0 obj
-[ 546 0 R 547 0 R 548 0 R 549 0 R ]
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 324.77 547.946 331.744 559.901 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
endobj
-546 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 111.011 392.512 125.735 403.691 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
+557 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 186.766 504.908 209.241 516.863 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
-547 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 137.449 392.512 149.405 403.691 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
+558 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 487.781 504.908 510.257 516.863 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
endobj
-548 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 189.952 229.772 203.9 ]/A << /S /GoTo /D (Hfootnote.28) >> >>
+559 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 354.688 438.576 369.413 449.864 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
-549 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 166.042 266.385 179.989 ]/A << /S /GoTo /D (Hfootnote.29) >> >>
+560 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 385.134 438.576 397.089 449.864 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
-553 0 obj
-<< /D [ 551 0 R /XYZ 78.37 808.885 null ] >>
+564 0 obj
+<< /D [ 562 0 R /XYZ 78.37 808.885 null ] >>
endobj
-161 0 obj
-<< /D [ 551 0 R /XYZ 79.37 447.38 null ] >>
+145 0 obj
+<< /D [ 562 0 R /XYZ 79.37 709.823 null ] >>
endobj
-554 0 obj
-<< /D [ 551 0 R /XYZ 93.716 120.649 null ] >>
+149 0 obj
+<< /D [ 562 0 R /XYZ 79.37 424.887 null ] >>
endobj
-555 0 obj
-<< /D [ 551 0 R /XYZ 93.716 111.021 null ] >>
+153 0 obj
+<< /D [ 562 0 R /XYZ 79.37 396.567 null ] >>
endobj
-550 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F84 425 0 R /F75 338 0 R /F74 337 0 R /F81 377 0 R /F64 333 0 R /F15 334 0 R /F65 335 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R >> /ProcSet [ /PDF /Text ] >>
+561 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F30 341 0 R /F64 333 0 R /F65 335 0 R /F22 367 0 R /F84 425 0 R /F73 350 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-565 0 obj
-<< /Filter /FlateDecode /Length 3202 >>
+572 0 obj
+<< /Filter /FlateDecode /Length 2914 >>
stream
-xÚ½[K·¾ï¯è?`Š,¾Å
-ÈwÛF‘E™då-£HÏ´°ÇŒBs$N^ñZMuy:õ{»Ñ¤bVÈ‘Ó·͈jš2¿î?Èpà˜Ön4\qS¦ÁOíý1ÓäE5¸B] –f
-)?LqÿÈ_“1è½¹ÖgÚ÷mƒ»H}¶ÛÀÙìÝ 4Ê»Wugpd‡x½µôL÷Ç 3jµ¤ÅæMžT{ÍŒ{´FˆÚhzO¶ÿüõé?ãPq aùãÛ=V#k©¡˜Rfùï?—?Ÿþ†ob~…-˜Â?|Aò_Sæe§ÁŒÃ•C m%Æêj²:>Ó›éçŒ+9R1YJZWéë¯_š¾´4¯úÎ}BÇM¡€Z1Zúu+q"éß2~Îæ¯ZN5N,Œû†q¤Ê!…­üµík€9¾ê×ѹTØŒ[õ¨+îcôhŒØáCè‰Q{ÁåOðêXlû—dØBàüŠõ{Úê ØšY\”'Ü‘õ ¿Ëò~Ð+.ý>GŽŽàD æœûnaDab V­ãC¡aNÃåCZÍñq^À0òŒc͹Cøɳzäþ ÜäYßÓÆÈgjMtö3¯¡õvtt‡Àbõ ƒÀ=‚seè&4‹-#´#°?Ý1 0Ì[ét·ù
-m4Ñ蟽¯
-@präª'«Ï0àì#çZ¹{eÐ$cã÷y{ŒD=®3Zkt³“ù6oÏz{yš·ͧ>ÆÛ÷´ûÜýmÞ¾§tÔã)Öãçÿ‘#ýqyÃX'ø¼‘û¤CHl©8êÏY7Ð(;'é[òg}¯°bO
-Þ²ûé‡H¾ê»õžQô5pq_ ‡Ææ”ø3…”=í¸y4g&ŽƒÔ§pƒžNÛí-ÿ(9c­Ä7ùøa¤ë™N~Ôé¾—ÿ}jë´ZiÈÑP^2ŽA'©p„Qc™ú¨>-0£V­­:ƒk™³æ-³Ã)íû0ê%ÓÆ~ F=ÞÔ©DÄÁ}F%z Ðî]•´š:w£Rxf×þšvôÞ½dJôAbÅ@³£~d•”J#¬¦k¼ªÌm²`Âdíëiöæ¸8U0ü®ÕYâ”
-óã¦É§;êÁb'NGǵNc‹9:†ŸÌ‰z 89”Z=<Ôº„*—P[ åô`+1³)7È fŠ`HI`ã͆êÆÑ܉RÔ™ƒÈ¤p”8–F(‰!¢/i NÊp¾'Q¥È']ã9–´:;¥#¡\„@£~B‹R
-~åÈ7'ETo·-eC¶œñù‹ϱZ"ŽʧöÊ\’häâšÓD×Pµ%m-F.¦P]iOn™øHµ+™V(ÄH-ø¥Ö̤*–RFSŠeš²—’&ÀXU«ìbkÕõíV-ÐéÊX6ÒÞâŒ@†s‚AiÒG<lìfHŒ1Q{A']äÎØZ'>LÏÇÔŽ9 cën” ‰¹‚Öu@\R="M±£ýXË•[ÅÓõT½úò¦ÆQjx41B‹v-ö&ÆF[yo¹Ìí20í ˜¡o(XºWw˜*Ô©¬/Ql1ÞSïRö—}R[°— ßê ¦$
-À^z>¦Y|›ÚYD•eVÙeR_]ï;º˜¦8I)»e®½ÑWÜqLþ< ¦1Ñ©…àêµ®î¹l·Ö¶ÉRh9Ü>ÈÔhÛÅ×jį̈á½/ZQS¾›p¥)CÜÓanãÍþ˜©hñs2ijšm0ëšm°m/Óž¼‰sK¥ge&ðÜ­–­þ`tÌ>F5ªÅŠFÜû†jdœGež%õf'µÏ“Â,A¶ËArŒì°#TßtéÇúÉÇ‚KôÎVïBû¥N }à‡V¸èzf7
-{á5ÝŒ2õÞEÎlNª1v5°µQâªïɆ àLǜǶ³èÒ,r­8JTË9 å/Ù†ÿ hîà
+xÚÍ\Én$¹½ë+êš&#‚ÐÐÕ5jÀ>y ›á“áñÁ˜ÃÌÿÜr!™Y™*–ÜÔH•IcyŒàòÔòòŸ‹¼üx¹¾¿üåÍÐE)áµVöòþÛ‹â7ò¢.Ö ´k”F]Þ¿üã«”ˆRj'¥¹¾~QRÊðȼz⟚¿~DW)ÕwþݧnÜŽ» Õ¹%Úò-´Á7þ@yB6KpI2²‹å-\“„0Nø`”ÿŠ*Ë2ðúÏ÷¿²]J_¼ðؾÖ,aŒ.f‘Š}Õ›‰ý¿
+ßö1¤œÐÚUCL’ÁCÁ£T4¼%ma2"¡|[%ôDνيì¨òvJJré0¢ÚRèùÿ?ØGÇ&tÄ!½°Î-áÛƒ,Ç$¢¤$À ÊÁ&“2HÐ'„™LÒ)èÑxKm#âä
+nF+ÒÜ'È SyPÐÅc‚ÍvYÍfùhÂ/«¯«,3Þ þ±‰™­;Ÿ€¾hÉ©üƶ9Z¡Ÿ[¾~®ŠNÔÂ.4ô©mχ`Z‚]ønÆDå)g…³KG…p®'WßsZ_‰´Fx5ÏþœŒB•LðC‚´hì-Ïþ AM
+Á¹[¾@Œ¢c¾ˆ5$¼5i5U<t$à:÷+¾Ê}W®Òj™%S]îD
+çJì­bà‰#Õsëz°ï`JÖ«’«G„ xšƒÁ05Å„ ¦i=“ãƒw¨N6’&¿t¶Ôóáã'•…ÂØq%%œËJýœ’²–½>8WRÖ’§U©„Un˜¯$÷ן“U×C Hª•îÙ•¢41篽¥çZÄt.³±çÌÉrÕ)µØA Î’×V#äx'“{Ï›°Z7ØX©¦eíº­²`Îkà•èt*ÕWXJ£7 Ñ… ÚÖ¢·ò-ÊxëXÇöLÑXsY3*wî—Œ'¸RsÒª½ãxGÎet˜<-•{2åU¬>èJ ÂPÝØÒ=l¸g1'f/Œí‡éQhcŸ‚Lï„õö˜;‘ó÷ d"'Ðî#ÈÄP3;†LTžË®où@]DN9ª~q,¤"iFS¯ŒÓCªÅÀi²2.ÑÈH>R¢‘'
+hì,Ö—Ýp‘DARwJuºµÈ%Û`ÕѼR‚-V £hqÕ‰ª<=ĵIM /#}»ÇË@µæ L ÐÜÉÏ€%ÙHá Ã.i±åÄ©ÈFNòÍâJøm2·P ’E0o¦‹ØvExróUØ<`Ú^$[ãˆù܆®óuÑŠ„5yqbPÄ'…<ºà‚T!Ö(ÐOW~“¾aeÄ'áÊ*Ü«—7‹ÃÏÞ]ð¤æŽ)es
+!cª(ù ”'ÍuFxD B2ÆŠJ?s[àÜÓ£®#âÆ9â1ßo
+,°!e3Ôòb–›‘)”‰D¦\3ä«6Ë t»Ë°Sá¡®«¿e°bCS{Õ;€…(%læ3‚EÚvËó‚’„
+m ¥¹ÁhI©2²¦HÅé|JA°8¹xû
+bh«3y!rÈä Öð¼hP@#ÿ¶ä°D†Ý J!/¦„Ÿ‰¥öñØÜᙡ³¼µÂ¡D3´F§?‡h†¼´Í]üLjfÈ…×;žhÖ#O£H!¡pÒ å™!‚päžÙÞáøpg‚Ο¤›â¹ÇùÚYl}·'x®é:û͇h`­¦Ä³ß˜ 8/¤ÂVÓ@I›µý$ò[×#¼‚cD¥îuòO8[’^?‹æÆò’)Gþá«Ú$¹=Nv
+á$»URN‘ݪ¾ »UžFv«Æ9Ev«u¼Ov«{,ÈnG¯ÚÂ~½:ƒ¥û—H€iKðŒ ·Jö¨oí†Sßj-÷©oF'¨oUß;Ô·ªõi´(#õ`´@¸Ô°ŸrçXõø¥c£ý@"\%û®jýD¸c
+–KÀªuÅ]à]¸êã«ùªU:Š?÷^¨ãÙÛ5µ,çÖ~=OM†“<Ø?á¸í)ér-ûÊ[GËá”·ZÛ}Ê[£Ñ Ê[Õ÷å­j}6m*‚—‹cQ£¼åŸŸ“6ë±O›í‡àê1Îàê¾û¸Æš¸Jö>®ãÖ!¸JîP\?L[l†ªõÉ"RõÞ%½Å¢ñ*3ÊñnÙNN ’Ï)3•ìhp•¤Ó©–CFNµñïʦÚ|³;f7‘öÕøyWÙ–ÅTDmí&RI­úV»‰ãQЬ¸„øçYŸCø®Æ:I˜Ñjü cªk¹'he«Ðhv†*Yªk%ã#Ó«ÎsÃãX#VÒ`°Å¿õ2‡güS³@Þ V:åóÒ½ó¡ŽcX©eÙ³–Œ—Z–5•5°»¬©›!Ôڄĵè=â]ÞÆÖVa#*Íù·ÅÙ%ÉÖn9´¢Ë,Øz¤!$ÀLšm|ºA±ÍkËgø³¬-ë9sÄCe¥y¡…
+û ˆ®ìAf²lÕz K5³eOÌ–ÌkýF9¿(ižƒÑLŸ=èÓ̘}
+F3eö#- Úc-¤Ø Œ®´ÂÎÿ¼Â Jÿ|ô“–uÕXŽ1:ÚCwͼɵóÀk|sagúÅõXØf~‹‚8ÿ†/æ¾
endstream
endobj
-564 0 obj
-<< /Type /Page /Contents 565 0 R /Resources 563 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 571 0 R >>
-endobj
571 0 obj
-[ 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R ]
+<< /Type /Page /Contents 572 0 R /Resources 570 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-557 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.345 544.571 226.041 558.518 ]/A << /S /GoTo /D (Hfootnote.30) >> >>
+573 0 obj
+<< /D [ 571 0 R /XYZ 78.37 808.885 null ] >>
endobj
-558 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 255.958 520.567 262.242 534.608 ]/A << /S /GoTo /D (Hfootnote.31) >> >>
+157 0 obj
+<< /D [ 571 0 R /XYZ 79.37 771.024 null ] >>
endobj
-559 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 322.429 411.45 337.153 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+570 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F84 425 0 R /F75 338 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-560 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.875 411.45 359.848 422.409 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+576 0 obj
+<< /Filter /FlateDecode /Length 3062 >>
+stream
+xڵˎÇí¾_ÑG Êõ~
+p&ð7ŸàõŒà¥ó»y<^k.=.¯ñéƒQð9xÞ Ÿ?üüéàM¹-‰ä5ð¸gÍjá½cÖ|ì°ƒ¼
+#ãNÒ¶y*¸Ç^‚½:;U®Ù·F
+“æ Šëe@¿´J„½Œ[/åxNOðÂËÚµéKŽOóÙF¶qKk}c´#[dƒaýåu_©?­,X§›)ÕÝ9‹ç/}ã÷+zÓ>
+§ýŒùÅéE
+#&ŸâÔL%Œ]3”ö5æ ÚϼŒ0àH™ºoœµ2µ^òôvÂڗƵ(ŒùüJÃJ¤.Ž2}!.z_\úÑ^1Ý·ì^—Ì´TAï\6ô§âH+f«h-ÁÖô˯†›W5I"]é~Ñ»›Î©Lýà°ôdl
+Nëâ¢zå„l‡œ³svZ+ G¤3Ûßo4!®;@ΗÎÛ'Ê(![› çP\ÚzÔQuµ"ý¡®Ãdoœ;Pd¶s9åØá0¢Ôv€t ø”D
+E`õnOL@ŸáÛ¸ œÖ½†ÛkÑŒRz‹lBæÚ sÉì Åcc,fUL¼~LÿA•®Ûðø)k¿ÛKKí»‹:]?gMf”ƒ2;Õ<Í ìRÁE„Ư^K„#2"Êö¢REœ2l$'7óMü²Ä)Ȇ’ЫôžÑ¿D&Z ïü+ÉdBVÍê%IÀ%Õ A×ÂÁˆ€Œï<”)‰ÇÏjg21xWÅj•9ðNÄ€1¾ˆ ¥%]UOÛK(Jv×£Z‰K Ú”<Š“Ùµð-»×Ò ÚÝ ¤”Úív`û/4[ßÑ싧f¸}l°—e´,RŽN„ô ¶1! â.·Ù«eO‰.~IAi$Á@þªF2bü#ÙÓæJ¼Q˜Øºf8-4Í0]|žäà1³S/ÃÖù"ËdÄŽTr5knƒé¯Û%òT²g©ê°¼ÀÞUt-o~ùòë¿ùçÛwáÍ_ *¾ÍðF.áMÞ˜þ¿oO·´ê‘}ÜH½ÅÛ¸7Èo# ꜈„IZ1~N…‘^ …­¨áÍ÷§âlO´j6
+¶+e†Öé=öÃõ½9RO{?]ñ¥H\ìK1¼Än[ºè²ôœK™ð·ªèHeòCSçÊRöKiÇs~¡dð4¡%®=Cp<ix-6f\›QÖå+†¤(ºW4ã·Ì{ÚŠÛ_™˜UÁR(ž&fMª³þ©ï5¹®šº:ýjÇÉVn7òÐ[°7L¹*ç…nŠ~ÊUG}òä¬Ë¥Œn¿Ð=L¾n)QˆiÆjyÆ…¨æéÊü§+yna÷íê¼²dŽQâ_ÞÍÜ6ÑÉûÎ3ÈãÞu¬öyß*/’.ÇüÍëÖÓî´aJ·±ëK6 ¹-ͳ–#¡ÜÒÊÓÑ+0Žè€ãØÑ~¹©Y+ŒÑ½óñ
+endstream
endobj
-561 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 235.007 384.561 245.433 396.842 ]/A << /S /GoTo /D (Hfootnote.32) >> >>
+575 0 obj
+<< /Type /Page /Contents 576 0 R /Resources 574 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 582 0 R >>
endobj
-562 0 obj
-<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 111.059 67.636 240.514 79.256 ]
- /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
- >>
+582 0 obj
+[ 566 0 R 567 0 R 568 0 R 569 0 R ]
endobj
566 0 obj
-<< /D [ 564 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 322.429 739.616 337.153 750.575 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+endobj
+567 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 352.875 739.616 359.848 750.575 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
568 0 obj
-<< /D [ 564 0 R /XYZ 93.716 490.28 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 235.007 713.286 245.433 725.567 ]/A << /S /GoTo /D (Hfootnote.32) >> >>
endobj
569 0 obj
-<< /D [ 564 0 R /XYZ 93.716 480.474 null ] >>
+<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 111.059 67.03 240.514 78.65 ]
+ /Subtype/Link/A<</Type/Action/S/URI/URI(https://dejavu-fonts.github.io)>>
+ >>
+endobj
+577 0 obj
+<< /D [ 575 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+161 0 obj
+<< /D [ 575 0 R /XYZ 79.37 771.024 null ] >>
endobj
165 0 obj
-<< /D [ 564 0 R /XYZ 79.37 442.26 null ] >>
+<< /D [ 575 0 R /XYZ 79.37 183.799 null ] >>
endobj
-570 0 obj
-<< /D [ 564 0 R /XYZ 93.716 80.936 null ] >>
+581 0 obj
+<< /D [ 575 0 R /XYZ 93.716 80.331 null ] >>
endobj
-563 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F84 425 0 R /F75 338 0 R /F93 567 0 R /F53 345 0 R /F64 333 0 R /F81 377 0 R /F16 336 0 R /F65 335 0 R /F71 347 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+574 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F81 377 0 R /F16 336 0 R /F74 337 0 R /F65 335 0 R /F106 578 0 R /F105 579 0 R /F107 580 0 R /F27 340 0 R /F30 341 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-576 0 obj
-<< /Filter /FlateDecode /Length 2303 >>
+587 0 obj
+<< /Filter /FlateDecode /Length 777 >>
stream
-xÚµÉn,·ñ®¯˜ãÑÜŠ à‘4’S Ýœ ÃöÁp€<øÏO‘¬âÖì–æ=ù05›µ/¬*Ž<ýv’§ïï.¯wß\œ¢ˆN;{zýõNá yR'…ñ'ï”N^ÿ8ýø(¥Õøy>?ðI|
-Rª'üÿrÖ>ípøÚ">Üïbz+%àNpéûü
-¬k*õ®›Løï׿£éÝ‘émJ:6=ØÆu¢Wq¬ÝGI#¢ 3[LP ƒZB*„tÀg3“5J„`fèì—"bȦCkó˜ý‘0âþ ¬Cð­24¡r“”
-JR°·+[o’ß(¸3¤os5Å, %`Ê¢ÌRô‘ê¯]™çä¶ÌÃUu ŽÃ.QöÚÎðioÌFK=ÎX†ùrÁtC‚Æòâc?äf¸µ #~YÍ؆©Vï]§ÉÖ$ÕU=Ö)‰¼ËF‹}½8 ]Ù*¦¡#nbÈ wNgFú8=Þcäl÷|q
-5œÇÆ:0HéXÏ…ØÂÂv«z?DÒ÷qpÒÕ-µŒÂC¾›I¤? ÿhi*D¡e˜yº-L÷§‡@Ip’Ø—d`hôþÏk~pQd-ŒqlN£5}I*[±˜'ÑvöÊ™ŽšY}H ë”üL,F’;ªäùݤ{NÙòùNÞx¬Öî _#IvŠãñ˜ó¦=ªq©ì×ûy” ¤ÆWß”_ºã¸[ã2‚‹)ô¦4PVí³Ÿ7å-ßê—Ëñ/‡rX+Øa­á}¯`¶Nbü ,Z(=X̲<·SÄt¹°sm-÷7~$60åç ÏAÑc´ZW½*7â¹4Ï}O=ý4õÔÞ.¦žfè3¼£Ëáâe/­d®/›œ{X (Ô¥ 3ïçÇ‚ò¹Y_P«Y(’ó/hVºÊ}Ü…r‘bíÑÉsxÎ+—oÁßÔÉ¡lÖbºÝ Ñh4«€Ž¸\ìf–´üh§óøÏ¿Ê??´ìmƒ€=Û„ßÙåý XôEØpóÜ7ÿC黢 ÒlÊ74Q—tA!„qU®Šì4»Öq3 àŽÇæ¶ûƒ‹aå4Ã0Óþ ŠaÜÁª”ÜŸºsýT“–ÝÛÖQGyÇŽ¼:Nù÷OŒ,ë&ý”t1­th ?ÄJ¿ì)sÆš© O..Ý™GýPy›ëU9Ï”:1#ap_‹ß­{ Ò„1±¿ð_W·Õ˜t‡yw“ªB*號۫žcw‡¡¶•z 5¶íÛÌ>Å£)~ÿòz÷HÑG
+xÚ­V=o1 Ýý+îDI‰’
+#‡áúプ?Rq”†Äà<Ãpý5|;{Áûðâ=¡÷I>‘äY¾¹Èdý*{í;ù¶ç—½0ÚY]ëäË÷ëç“w)
+¢RCÿ6_fD‹CŸ÷˜îaHÁb¡Ää°Å[(èÞ1‚+‰n2NŠRNFñîm]m©zê§Z&!-žçÃl”ATg1˜M÷ºÑÎ…Ilø0%öÁ,oͱ:­{;î©Õfç¼Äš~Âè ÄuáqZ
+:«è³ /H³J¼µ÷€Z”˜—õmd?šƲ%EÍÎo£ú_ÙÔŸžQ¼³?%àõò1J6”ìTEˆ ż[ýxôÝùعؤ rÖüöâ(î(˜‡yS°ÐUðj„ôÂ)t%¸l\lú¬)®ƒm@Y`¯½#ó<A¼?98‘£Òá$¸d:×|ÂT¹œ4à“îú æy7œ›:ÃS?SMý=KH]c³ßf© Ç}Õî<¡’òúÿ“b ~Ìvs:nÔêCµk{áÆZý˜)µÀØætA`Óßy˜Y2i÷>P
+@Uj›äµk³6SY‰ý÷û`‹¯ËÜ\„°sÏa#ÕåevA¦Ú‹Ò–¹E#FOä¦ØET­‡Q£´:ïYÌ›6n]£ ¢‚î4[+ÛRÊ«Ä­Ô­uݲ&šÆá=Ù£ rãîb×Qþ¡»už÷”€ª„
endstream
endobj
-575 0 obj
-<< /Type /Page /Contents 576 0 R /Resources 574 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 581 0 R >>
-endobj
-581 0 obj
-[ 572 0 R 573 0 R ]
+586 0 obj
+<< /Type /Page /Contents 587 0 R /Resources 585 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 589 0 R >>
endobj
-572 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 480.517 320.949 487.491 332.356 ]/A << /S /GoTo /D (section.0.7) >> >>
+589 0 obj
+[ 583 0 R 584 0 R ]
endobj
-573 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 502.177 320.949 514.132 332.356 ]/A << /S /GoTo /D (section.0.7) >> >>
+583 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 480.517 670.112 487.491 681.519 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-577 0 obj
-<< /D [ 575 0 R /XYZ 78.37 808.885 null ] >>
+584 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 502.177 670.112 514.132 681.519 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
-169 0 obj
-<< /D [ 575 0 R /XYZ 79.37 515.126 null ] >>
+588 0 obj
+<< /D [ 586 0 R /XYZ 78.37 808.885 null ] >>
endobj
-574 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F81 377 0 R /F106 578 0 R /F105 579 0 R /F107 580 0 R /F27 340 0 R /F30 341 0 R /F64 333 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+585 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F74 337 0 R /F15 334 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-586 0 obj
-<< /Filter /FlateDecode /Length 3557 >>
+594 0 obj
+<< /Filter /FlateDecode /Length 3561 >>
stream
xÚÕÉ®$·í>_Ñ?0²Dí€ñ€ééiÎ)ÉÜ ŸćÄç’ß©}«*õxì8‡~¯»ªDQÜIQÅo?Ýøí»w÷Ïï¾yuŠIeàöùïÞà7q³žI{³†3ïÄíóÏ·¾å\}z{/8çøÕ8Îå?ðö^ZMW
üŽã¸¢'èZyBZÎ5Ž7¼Œñ#À_
@@ -1779,42 +1786,41 @@ VËļ'êfì
F0%ì8\¤Ì†.êqÔ†µ'˜v0ÍwQJqH1Ò”ªÉ‘=rª=&9•I©ÏÆ Ã(h])ù@dÖó\ç‰Ý\3ôJ¿cÌ“Qêgȹ0\;>@Çÿ~/ÂRI&(òë¡“NeQÎuLš)Wë‡xxŽ›M}®ÆRƒÎÃa02°Fyɸ)Õx ½´H8Ad0]Õ¾6áG®LôÊ ¢VMšœ4ë{(Díy…z'„ì øGVð ¹äülRˆS0L¶2^eqêï]Ký+HÜjxóGq3+ÁD#Ülíû;¾‘mÔðYn”b1ÝâÈâ‰+¿áÓFŒ£6‘ä 7Íi/Ë ÂL£zߊ‘¡„zÔ’{zîє݋o(œoŠL9ÓèJ5Ð]ÙIjœŒ{F+iЖŸt.ï5¢¼-'%@uí¢é™ýc-Hçmˆ‹„v]ì–˜ÐrŒ†E½¸Ñ€A3ìx
ª£)}rÓ¿£êHCß#µS÷2ærÆSg@3Ó4V~l™ÿUôe˜à¦/mDjy}*kA¿Uú›h×H0•ª‘ã²îºÝ5§ø›6M
†´¿j zÍNô0»ã*§mJçjý¼GÆÐÿÖ?ô°sCÁÁôEyF30`L[~q¿nà‡ÆQ™¹Sl𜠭à»|±–9«ÇM¬ÙHàïçhvs†a’¯g›FŽ4å c7Ðîµ°°ØÍMck×ÈqÀp/˜ã}¥º`¥EÇìÇQµóîÒljµ˜'b.L Í<Lú÷Ú|l/-Óe˜uÜAríÿ'›M+
-b4蛆è_·5ŒùÿÜlR’ãž4/n6) O­0#”w›VSÿŠ¾†¼Y;ì¼é—m6¡'eh­JÌþ¡+«üÜm`€ôÜ_Úþ.
-® º;¦– bç}+Æo<7p8…ªË¨BQ—yé¤ì/ÃAeOÕB6gXzn#Äp†UÜ4ùsj*¬vÁÑ98E│<͹ßožZÞ,ã®}_† éƒóõ¦è’2“9âéðñ?oùÛŸ•%Lz}†À€¦JìÊ SPÚ
-™Ã½þÝ5eÍ/Õ)ºóù,>ìT1㸃sç’7ñt„— 4ärÂL¼m–nŸl{
-ã•ö AZIjÈõ«÷h¿"u7ré_ °¦?5l{=JŸøX¨¶¨Ç¦(q>÷ïPud}WK}åH ŸJd-õÂG­‚…Æð´Õ°k4ò>Æ_m„¯ÈO1\SÔF`Oà% ¥ŽòÃC‚Ca„OÛIòÿS’ƒ¡ª™€…B¥Sq³}L¤ e3’wïƒÁpôÛù0ññÜdžˆðŒÿ(§‘ý³=Ñò kòÎÕjÇÒZЄ`ƒ½AFÌúå-¥³û@j¶#°qSóhuûG§+Êo»a®ºÎ/}MÕ•3=‰'VlÐá¥U¡Y5|7J>^óq®µÈÍ/éN‡‚´€aÑÚ]¼e"šô×Þ–Añlcvïÿ9ü”½
+b4蛆è_·5ŒùÿÜlR’ãž4/n6) O­0#”w›VSÿŠ¾†¼Y;ì¼é—m6¡'eh­JÌþ¡+«üÜm`€ôÜ_Úþ.
+Ô8
+Víñç£Åƒáàn(õW¡×¥oÏšTæ
endstream
endobj
-585 0 obj
-<< /Type /Page /Contents 586 0 R /Resources 584 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 589 0 R >>
+593 0 obj
+<< /Type /Page /Contents 594 0 R /Resources 592 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 597 0 R >>
endobj
-589 0 obj
-[ 582 0 R 583 0 R ]
+597 0 obj
+[ 590 0 R 591 0 R ]
endobj
-582 0 obj
+590 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 278.812 667.892 289.239 680.183 ]/A << /S /GoTo /D (Hfootnote.33) >> >>
endobj
-583 0 obj
+591 0 obj
<< /Type /Annot /Border[0 0 0]/H/I/C[0 1 1] /Rect [ 112.169 86.983 232.661 97.581 ]
/Subtype/Link/A<</Type/Action/S/URI/URI(https://pygments.org/styles/)>>
>>
endobj
-587 0 obj
-<< /D [ 585 0 R /XYZ 78.37 808.885 null ] >>
+595 0 obj
+<< /D [ 593 0 R /XYZ 78.37 808.885 null ] >>
endobj
-173 0 obj
-<< /D [ 585 0 R /XYZ 79.37 771.024 null ] >>
+169 0 obj
+<< /D [ 593 0 R /XYZ 79.37 771.024 null ] >>
endobj
-177 0 obj
-<< /D [ 585 0 R /XYZ 79.37 748.222 null ] >>
+173 0 obj
+<< /D [ 593 0 R /XYZ 79.37 748.222 null ] >>
endobj
-588 0 obj
-<< /D [ 585 0 R /XYZ 93.716 99.261 null ] >>
+596 0 obj
+<< /D [ 593 0 R /XYZ 93.716 99.261 null ] >>
endobj
-584 0 obj
+592 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F16 336 0 R /F81 377 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-592 0 obj
+600 0 obj
<< /Filter /FlateDecode /Length 2900 >>
stream
xÚµ\Kä¸ ¾÷¯¨?0Š%‹¶º¦Øœ‚ôm±§Éaw9å-[–d=º;‡š®‡­¤ø=òöýòrùËᦔÖ*w{ÿ׋¢_äMÝ\ÆÝ*!QÝÞÜ~ûIJø.¥õRâýõ›’RÒWHÍ“^úõ›q–/¢oÔý}зwºâ±~æ÷ÇU–n×?oWÞù®×ßß%z”½P]%9 ¢ÝÉ!0HõDúË+Ã+Ãë7íù ÿ¬×ÐK›•8³_J7ÓUû'ºÆm×ò/úþº¬cžׇ„õå›ë+ƒj jðBÉ‚ÅI1iç„uÅ*)WÄM‹’‘ÐNç+h Ẕ
@@ -1837,22 +1843,22 @@ W!a+p]×ñàILä‘_ÌïZDάB2#Ññm§Ný$>}
·|ÓyRM­ƒX“xdV™ž…¬UsU°ç›Ä¥´ÂêÂ(c;4>5xÌ ¶ið(Ô4 Ñ»xJÄôî’Òêh$ŽÞå¼Ê¨w)±Wõjcp*: i¥ð¶¸+>WÚúßÝѦÓKþRÁ, :»lîh
ß()”,ñÓ³ÕN¥`Ô’%Mâ·dIÜN-È“àÖÁ,O¯¡®á±Œ;¹
³˜<½Veqp$ÊððÇÅ)Xàá5(,':‹äÜ®äyrÛP:îý5v“ Д6?è¤hC
- úxœÇjÎXùd« V>9 zØŠöh7úœ:îè#°ü,—*V}ˆ‡ª$l†ì¿8¨>â©©T ˆ_õ(ª¦KÑâ'‰Ýñx»O‰ø~dÚ—
+ úxœÇjÎXùd« V>9 zØŠöh7úœ:îè#°ü,—*V}ˆ‡ª$l†ì¿8¨>â©©T ˆ_õ(ª¦KÑâ'‰Ýñx»OˆDü~[Ú–
endstream
endobj
-591 0 obj
-<< /Type /Page /Contents 592 0 R /Resources 590 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+599 0 obj
+<< /Type /Page /Contents 600 0 R /Resources 598 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
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
-181 0 obj
-<< /D [ 591 0 R /XYZ 79.37 771.024 null ] >>
+177 0 obj
+<< /D [ 599 0 R /XYZ 79.37 771.024 null ] >>
endobj
-590 0 obj
+598 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-596 0 obj
+604 0 obj
<< /Filter /FlateDecode /Length 3101 >>
stream
xÚÍ[K$· ¾Ï¯è?°²$R/`1Àôô¶ûdn†O6œC²‡œò÷C©ô*©J*y×A½[Ó%‰ÅÇGŠÍoÿ¸ñÛ/÷—žoB0§”0·?^½á7q3Ž¹-×âöñõöËgÎñ çÊr®ß^? Î9}¥éOxÒG¾~£ü úF¼ÓÿúöN#Ûßþ¹Œ’oéI©2^>«÷¿~üDüY~Cæ¬
@@ -1864,109 +1870,110 @@ Q+&L7SNÌ& éÐɳµ‚)VéYÃ,·GôÀL”ħn‘pDJÊsl\ (ÈSzÔÓ«NzKEBèÿ„ˆþÃÍs[¤´ó|À¨À
Ôȶs¨»v­Ûa’Ùô¹Ñ®àz†ìÓÊ´2Áç¤á‡i»YWÃÒWPd1‰iHGY/u¬ÛýâGöö'$\yÇquiײaU‡»“q1À0göÓöZñ=.â}V©¡gNòIn+îæ]Ì£¼ÊÂÂ{5àS`ÄÒ{‰\T9颚+]¹T Æ}µKʸ'ò-êøW©"§°a:FõöÇD!£,¬mb1Ô·ºnÛ*Ž¡kØ<űù¤R‹Œ¦¶Œ)l›²Æêåû|¬hWÙR´Ã , C—=fV™W››å`¿éäë÷aAUH„ŒPbçPVO¸Fx¤r´
Ž±Â m×HUØÒ㥯š&WLA6hTuÚQ§¥8RWí<¥äx<\2ôÔ'` I:T¯çN”
pÁL{ô•2«ôÆî\SIÚŸmªÅ*ì¦h2ÜU
-ºsܯt56ôcÆ[ç9!KýR÷åk½q!Ý7¸ÈWÈu½žóåy0ÇM¸¼ \£ Šáå‚5ë¢Ô$tHÆ×9 €Óï½*_©&Ä»D9#Þž¶Þ×6Æå}šøiSÐVÞKígÕ?‘Ožò‚Þ¡q[µd‰‡dŽ
+ºsܯt56ôcÆ[ç9!KýR÷åk½q!Ý7¸ÈWÈu½žóåy0ÇM¸¼ \£ Šáå‚5ë¢Ô$tHÆ×9 €Óï½*_©&Ä»D9#Þž¶Þ×6Æå}šøiSÐVÞKígÕ?‘Ožò‚Þ¡q[µd‰‡dŽ
endstream
endobj
-595 0 obj
-<< /Type /Page /Contents 596 0 R /Resources 594 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+603 0 obj
+<< /Type /Page /Contents 604 0 R /Resources 602 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-597 0 obj
-<< /D [ 595 0 R /XYZ 78.37 808.885 null ] >>
+605 0 obj
+<< /D [ 603 0 R /XYZ 78.37 808.885 null ] >>
endobj
-185 0 obj
-<< /D [ 595 0 R /XYZ 79.37 771.024 null ] >>
+181 0 obj
+<< /D [ 603 0 R /XYZ 79.37 771.024 null ] >>
endobj
-594 0 obj
+602 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F80 366 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-600 0 obj
-<< /Filter /FlateDecode /Length 2875 >>
+608 0 obj
+<< /Filter /FlateDecode /Length 2876 >>
stream
-xÚµ[¹Ž$7õû+ê†â¼
-nŒ+%Ó·÷ÿ¼0|Coì¦-ú¦#T±Ûû×Ûï?R
-_(•†Ra_?1J)>Rîç?üõ“ÐÒ5Â'ì ÿ?ðé[<Âo÷½´RØ_~ÆVúõ÷Ÿ‘&o–XÅ‘ž‘ àD)™ÉÀ¾ÊRöTøß(>•ðú‰÷Žæáøá"%rS쌭ò/l£c[÷†ß_ý8âyÒÞVSöO&SÔp4A†0:Lqqy¸Ò„1Õ÷®gƒ³¸Ä7–Æú8 ¾(£¸5u³“Ô-txæÞ¥çn ¹šo¾änó¤oežØÿz®
-\tÁ.9ƒóè)DÚ’Ï ¥ë¾U`Ýj²ñ¯Çô­Á°™…Ú=(4¥°u¾›!ùáiØq‹ñ‚åÃ:÷ÖþĆ1†Ö^ö½³©NüK«ï’\H³Ö´Ø[©¦Z,
-¯M§ ìg®›£úÎ|â\QTê¡×=.SÜÊÉrqŽÚüMl! SêÛ1EÚhõ¥òy¢—éÞÏhÂH@ïRdQɘÓÕHLÌÔµõ”°]xçLpyïCôS²’K!¼ß¼K‚6>ƺ !_â‹°?d¹ÄŸæl“®,. B‹@6¸–c?ïšW„ñnC?ú„[Ð3ÓúŒ$­&¹^ \12Ø„TÊG˜]¯ ½ƒæ^ˆW£hì!'Ñ‘›0ð>‰‡€Xa7±…`„r5`ÇÍÕp Šhfv1%J•G˜ 6X` „¶cS‘#B¥~šäDÀ(z†BnbEëñrýHœuɹŽ719Šd E>G¦&ÊÄ9R=Õqínmô&ž) JÒۜʿ•¼ÆÞ#N5ý3 f‚3"G/Óûw‡I5=¶GKÒcÇ´Ìfo8áN‹ìaC„su:̘-áñµd3M´“ìv”*Ýp­É4ºÃ鄨Ã.Ï5¾4„ZÙ+Ó¨мÛRCø5˽N'MÍeæáv´1ÂÈŽÓ}–®’…uYÇIÊ&_/9ŽÒ)™–XºL–•w^mÛ³­Ü}DžÍyjÞ*vë©|®á:Im[Ûs‘Î÷¼ÔqÍùŒóøåWªaiÖ’S€R@͹°¤¯½dÄ @‹5îlQî ™÷îÔ5wú_ëœÉmäL½Â™@
-Ž‡Ú¾‹gF@ï®Dv"Ìs ·×
-ÕuZÈdq@ÛkÕ& éu*b@›ib©ˆ…ÝUú9q€V9Yä î![I†­ôGºXŽQ„Y¾šûm§TôZ<_’•ê²Œ${ÎS¼õ¢—üHI,ÝE·ŒXs†>SLTci÷]¦H«ž÷Çcs'²Mq ê|‹9ggǘՖYÕ… H¹ï”jªõɸÕ
-…s*›èÉl{iZåàÝIÍË#\{ðéWÏ—ùNHW"6»¸¨Á¹´sÜ&£}æoqt¤eµœˆcüˆ†á4ýùuA* !·/ @µ„žé]^
-×à\‘-Ëé…S®–¯–æj¢¿ñæå˶Ԃ’D@u!$•D|å)Ô!㛺––[ºbÀ€Z*ž*–OôJùÄ·®ê}©_6ƒèÇkÕ×Au>–V•¦ŽgÕ\‡õ8-åzåªm˜q}Õ¶_ƒñF¥Ë% Õƒ+j×E3w{Yô#ͦZ‡zTõ#nߘåè €hn‹ºÕIIº£ûˆé
-Y7÷Å[³’‰^nk–oÄ¢Ò#FÊÕt=‡{èù~°n³éÞAéãZÂçÈ[ñŽzëOe¹Å[µÎ‚)wNL—‹ŽiEÒiÛí
+xÚµ[ÉŽ$·½÷WÔ Å%¸BS]]ä“á¾ :Ù°Ò|òï;¸o™IRÓs¨îªL’/HÆ$½ýçFo¿¼Ü?^~z*¸1F¬”Lß>þýÂð ½±›¶Dè›VŒPÅnßn¿ýL)¼S* ¥Â¾~a”R|¤ÜÏ'~øë¡¥k„OØþàÓ;¶x„ßî{i¥°¿üŠ­ôëï¿"LÞ,±Š#=#À‰R2“}•¥ì©ð¿Q|*áõ 7î‹{ÍÃðÃE Jä¦Ø[å_ØFÇ¶î ¿¿úqÄ󤽭¦ìŸL¦&¨áh‚ at˜ââòp¥ cªï]Ïgq‰o,1Œõ#p@|QFqkêf'©[èð̽KÏÝr5ß|ÉÝæ HßÊ<±ÿõ\Ë{J¥ñ½:†a†h9aO§ ´—Ýý.6~¹þ2£¤~eóã¡#=´!þ‘ÇåaLþ ß±y ùY0ÀäÑ|ëÀä©¥¢e3áÞ¶Á]±°ŠhÞ¯¹ã†#ší²©ìG‹»L‰tº ÿþrJNà
+"‘/;
+Ï4$ a—¼ðªÈ)¦Òã'šXK"@hoíˉæóhü«\¹Á”Oä‚÷—ÿ–%¥Œ0knÒjt ÌíŸß^~ûßü ?¿:é°úö?ßöjNŒv¢òçí/ÎÆñÚåa$’Õ&5OÐRªè^lå•Ò[R¹t"Z©:ß]ÒyÂQiXeˆ“­Ë[Xa§6“ŽÉ¼y2cƒ#Á0ÒÁH*ؾs-”ˆz[]»™l©ˆ´¢]ß0BR‡ŽAÜæƒ.L'îkSéF¦’Żë<8ÙO.m?ÍÏ¢aº”*í¶z’äûµãD€ó¾W’#þ,{õÏÄ,¢“L T<.©\{»ëÕ, ¿²Ô#‹À©Ç!*Õ0Úõzõ?cåAQÂoÎP
+PÞñJðß
+šóçñʯTÃÒ¬%§
+§¬²´d†pÖ'¹‰œ8fOÑ%
+QËGö @Ÿ‚&â¨/S¹—âU?ôªp¢›ÀDáF§ o¥Èj1m×ö½I(t³Š^ ÃÒ!}÷ƒSLhŠ`X±µ“Њ—ýh{ÿà€D4Û£ú$æsîò¢Óáâ“ŽäE×1˜nl”ÏÚµ˜5x¼í«ïˆØm-©µ‡™’Zǘ«³UŒfv±•F“ ±çñ 7½µ‹éÊTFaªÉ k‰râ³…'¨Äè–ãy“wm4CUx-š óá
+Ü––Ml”?5òa“ÇXðÕŒ&v¥8kL%Év-´}Ï,Œ€Þ)\‰ìD˜ç*n¯ªë´É‶תM4@ÓëTÄ€6ÓÄR »+ª0ôs
+(@ÔùrÎÎŽ1«-³ª %rß)ÕTë“q«$òªu ÞŽ¸ ¬¼/ØÑQ•,V4Ú"îX|;ù‚#¶«l
+çT6Ñ“'ØöÒ´ÊÁ=º“š—G¸öàÓ®ž/ó®DlvqQƒs'hç¸MFûÌßâþèH7Êj9Æø Ãiúóë‚T@?B,n^
+€j =ÓOº¼®Á¹"?Z–Ó §\-_-ÍÕDãÍÿÊ—=l©%‰€êBH*‰øÊS¨CÆ7u--·tÅ€µT<U,Ÿè•ò‰o]ÕûRÿ¾lÑת¯ƒê|,­*MϪ¹ëqZÊõÊUÛ0ãúªm¿ãJ—Kª1„WÔ®‹fîö²èG:/šMµô¨êGܾ1ËÑA
endstream
endobj
-599 0 obj
-<< /Type /Page /Contents 600 0 R /Resources 598 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R >>
+607 0 obj
+<< /Type /Page /Contents 608 0 R /Resources 606 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R >>
endobj
-601 0 obj
-<< /D [ 599 0 R /XYZ 78.37 808.885 null ] >>
+609 0 obj
+<< /D [ 607 0 R /XYZ 78.37 808.885 null ] >>
endobj
-189 0 obj
-<< /D [ 599 0 R /XYZ 79.37 771.024 null ] >>
+185 0 obj
+<< /D [ 607 0 R /XYZ 79.37 771.024 null ] >>
endobj
-598 0 obj
+606 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-606 0 obj
+614 0 obj
<< /Filter /FlateDecode /Length 1294 >>
stream
-xÚµX¹Ž7Íç+ú–&«Š  ™Ù G¶7Ù°{;ñï»x6ɾƫuÐ;}ëx|upåôm’Ó§ÓååôÃÝФ”ðZ+;½ü~RüENj²^ ¬QB5½¼N_>HIÏRj'%ºó“’Rò+ï|Áù ­BüF]ù÷Æo/,qKÏá¾J©;²¿!H’ñ÷’W:þNç¯/ŸÙ?¥'/¼ösé0FW÷Ø'ãy­áß` ‘ßj:? 7á3¤+˜LÎbåÅ,UŸXÆfÙð.ç¨ïò¾"¾9„"H19TKk¡‚áÔ"ÖMìvqç ÚÚÙå6`tÏ1)Ôr€œµ؃—Z†½Hï·ò>À æ, ]Hån‡=ì.
-äApLƒã:A7PL9aõÅŠY-¾‹xÑû¿©EZ s‹ ßÊ-45¼B›qh·O¶÷tÏâ «ûÛ/Ú¢tJÇ"iäÌ)ºô2Œä(
-Ì qa³C^JöÍù¨ú©{ü±ZTdr*Œ6ÝÓBFä¢_Ä=ÄéH8æNÅ©\+éh,¦Åæa‘ß~W1èk)6º—[­U²–›–²Ù£RÑdÇO•G¡-ŒnU\*•—Ò®Å*bò¥ú³›Ï–«é…µë~Mq 4º÷óñ½X˜Ùáæ+³âùåô× ±TBy7ioyòqÓ¯¯§/_ùËo|}ÙãíôO”}Ûˆ³!•þœ~9ý”æ©u,«Z§…®ó”‰Ý$—137–ŠUëšxÒÔõm™»^Û…¿ÄßvýÝ`ZQkœÐäjg¸&ä²¥UÎnDîX-4­t´R«£þt˜[(æo`?AŠÛÚí±Ç9i(ÁËcnšn×ïtw¨)[çú.w«Ý̲aûhtIß²Ø %õb•y H"a°î|Ì™{i{lÓ_Àìµ-Á„ËšþÒÃGPìŠy^XçäsÃ|Ӡ˵
-1b L¥t6:ƒýП¬ê~
-Ë]د‰Š€Õã¨?LÙaØÁR:6&î²÷¥…Ä=±ù÷x¦R|ŒT ë×óy™£ŠljÏp›ÒÍÏó  kÝ'ÚšùØÛæ™Æò½´öÕ@æü±m¯×¢Ð¿j%¯P Ôµ)»YÙ¥íÀÀšQ®rºr ÔÎÄÄœ™1žÅOâšrÊ,•56 7®S×êÙ§£ÇÃ9t಑»USþV
-+«ýbqž®F›‰¤ðv C<—Êû/2c¢
+xÚµX¹Ž7Íç+ú–&«Š  ™Ñ#Û› ŠlX´ø÷]<›d_ãÕ:è>Šu<¾:¸rú:Ééãéò|úénhRJx­•žÿ<)þ"'5Y/ÐNÖ(!šž_¦Ï襤Rj'%ºó“’Rò+ï|Áù ­BüF]ù÷Æo/,qKÏá¾J©;²¿!H’ñ÷’W:þNç/ÏŸØ?¥'/¼ösé0FW÷Ø'ãy­áß` ‘ßj:? 7á3¤+˜LÎbåÅ,UŸXÆfÙð.ç¨ïò¾"¾9„"H19TKk¡‚áÔ"ÖMìvqç ÚÚÙå6`tÏ1)Ôr€œµ؃—Z†½Hï·ò>À æ, ]Hån‡=ì.
+äApLƒã:A7PL9aõÅŠY-~ˆxÑû¿©EZ s‹ _Ë-45¼B›qh·O¶÷tÏâ «ûÛ/Ú¢tJÇ"iäÌ)ºô2Œä(
+Ì qa³C^JöÍù¨úÛÔ=þ\-*²9F›îˆi!#rÑ/âât$s§âT®•t4„Ób‚ sŽ°Èo¿«ô‚µ]‡K‰­Ö*YËMKÙ‡ìÇQ©h²c§Ê£ÐF·*.•ÊKi×b1y‡RýÙÍgËÕôÂÚu¿¦8ÝÛùøV,Ììpó•Yñáùô× ±TBy7ioyòqÓï/§Ï_øË|}
+ÙãíôO”}™Ûˆ³!•¾O¿~IóÔ:–U­ÓB×yÊÄn’˘™›KŪuM<iêú¶¿Ì]¯íÂ_âo»þn0­¨5Nhrµ3\òÙR‹*g7"w¬‰šV:Z©ÕQºÌ-s7°Ÿ Åmm„öØãœ4‚àå1·M ·kŠwº»T”-‡s}—»ÕnfÙ°}4º¤oYì„’z±Ê<$‘0Xw Þç̽´=¶é¯`öÚ–`ÂeMéá#¨aVÅ</,‡óò¹a¾jÐåZ€jtŸî»A#‚
+vã¤_¿“Iz"sÌÜUS$ùÙa9-Gþ+ÊÔt ¡Š ›Ê=;$æZÕf…áÅ.ì×DEÀêqÔ¦ì0ì`)wÙûÒBâžØü{<Ó)>Fª…õëù‰¼ÌQE6µg¸¿¿Néæ×ùÈŠ…µn“NmͼïÎmóLcyŠ^Úûj sþض×kQè€_µ‹’W¨êڔݬìÒv``ÍŒ(W9]9PjgbbÎÌÏâ¿'qM9e–ʆשkõìˆÓÑãá:pÙH]‡ª)+…• ÈÕ~±8Ï×G£ÍDRx;„<çX_*ï¿2¢
endstream
endobj
-605 0 obj
-<< /Type /Page /Contents 606 0 R /Resources 604 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 608 0 R >>
+613 0 obj
+<< /Type /Page /Contents 614 0 R /Resources 612 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 554 0 R /Annots 616 0 R >>
endobj
-608 0 obj
-[ 602 0 R 603 0 R ]
+616 0 obj
+[ 610 0 R 611 0 R ]
endobj
-602 0 obj
+610 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 263.782 468.798 278.507 480.753 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
-603 0 obj
+611 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 294.754 468.798 306.709 480.753 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
-607 0 obj
-<< /D [ 605 0 R /XYZ 78.37 808.885 null ] >>
+615 0 obj
+<< /D [ 613 0 R /XYZ 78.37 808.885 null ] >>
endobj
-193 0 obj
-<< /D [ 605 0 R /XYZ 79.37 771.024 null ] >>
+189 0 obj
+<< /D [ 613 0 R /XYZ 79.37 771.024 null ] >>
endobj
-604 0 obj
+612 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-612 0 obj
-<< /Filter /FlateDecode /Length 1309 >>
+620 0 obj
+<< /Filter /FlateDecode /Length 1308 >>
stream
xÚµXÉŽ7½ë+ú†&‹; 4–F|s¢›á“ û’9Ø—ü~Š{“ìmé ¨›MVÕ{µ°H:üèðñ4ÝOnJ Œ+%ÓÃýljá:°A[Âõ #T±áþ6|9S*^)•†R%ÇF)Å!…¯ü†?_¸–nŽ° þ_qtÂ×ðîž9à{ž ·0¢¯q6¸±ü•œá¿VyDà¼K\ƒ?ÉñÝI´øÌ‚ ¡·´_ïŸ3“ƒ%Vbï!3A83 r…OqgŵMá—´¡åAºKÒ™Äphå?pA´0Ö«ãÔ³ ŸÓ ÓúìÞVXñ÷Ÿç2¢37NŠÕÁzE GQÔ’Ö‰?ÓY™X Ö9má-ùÆÍSÎå$$n†“¨EBä¬â:Ï/‹M$P ¨(qæ‘Š¸&âTÑ®à©è µè œ­TÇG…¡ÌǶo™Ä¼ÓJô¾åüyæ!`N½€‰`ˆüé–H!î]ÍŸ~º®ÌXûýs~,Ñ'%¡ :̯~e¨ÌF–·³+-É7H4Ç3›"“&ÙWņ9m]]Jz>|]ZÑõk(C¬±-º'׎E€·ZUŒï‚ªÇé¾{­S;ªlb)0ŸB+zóõ~úU™2¬”0˜"|øövúò¿|ÇߧmõðŸû6p Äh‹Ï>‡=l%?’X®ˆÁ¤L¸Ø’uã‹4Ò ©K†½n(gXM¡3Tà·MCW¶†$–áGZÒäœàÈ)¤Û%Á $ÑIZH†k ÈÏU¦»ôÏõgÇlª‰¦æ·‘®qºD,ŸŽAi¤/Æà’¾£ùÖlç¥Vè[ÖÚòô¼4DãŽÑj=P„³'qÞ6Á4Ñ´Ã&¦²ƒsXc¹ªÌ)¤•¾Ž'{ÿ¨kaÞ;í!ÿ7ÒökmÜÖBxÛÇÆÅvXªá“ãÀp¶Súà0à@@éVKËdggv¡`Ávk?Jyð KÜ04?"µ–ÿ"m;lR;ì¿zÛèšd)býô„ÁFß°Õ'ra‰6ªåú­:¦¶cFc¿C”º,t†Ÿ3å´ *>¥,<¦ÈpÛh„ÖùG¡rL]çMÃŒ"vãÇŒÚò$JMJ7ù!ºf¯ÀœÊ–ÛŠ–êÐn(% 2ãB¦ô‹µ!&SîwB»–V…6S1Åõy®c,1H<–mž¸™>X öR¼³ëÙPc_Lu§u^=ûüìô4Âwv¼óbS…Zóêþ©-y›]¦až™GN” ª]ÝíÖ¶œWaÿ$ ’Ët+Õ¥ùÌ®YtÉî»yö͇ƒ%`x«_AÒNgdMD%
6R·K¼G%æGÞ)*¼¶ÇÄ$(~«zôÎáx ¶±KÕ„m¤òÆ^Ä.3Úè…I_®ë^S9#Ä‘w?ØEäûBxgÝÃ;˜™«¥.ìï·-=…ÕG¶‚ÆEe‡øÙ­ %FtJÛ
fÚNÕj+xÛsn®;]˜`ã’ÍïXÇ¡YÝbõmDºù 'ÁyS°z§yøvç=•Q"4_²ù
-ܽu¹!ÁC–¶Éˆ3M§
+ܽu¹!q‡¬|yõ/3<Mž
endstream
endobj
-611 0 obj
-<< /Type /Page /Contents 612 0 R /Resources 610 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 545 0 R /Annots 614 0 R >>
+619 0 obj
+<< /Type /Page /Contents 620 0 R /Resources 618 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R /Annots 623 0 R >>
endobj
-614 0 obj
-[ 609 0 R ]
+623 0 obj
+[ 617 0 R ]
endobj
-609 0 obj
+617 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 254.015 699.315 260.989 710.274 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
-613 0 obj
-<< /D [ 611 0 R /XYZ 78.37 808.885 null ] >>
+621 0 obj
+<< /D [ 619 0 R /XYZ 78.37 808.885 null ] >>
endobj
-197 0 obj
-<< /D [ 611 0 R /XYZ 79.37 771.024 null ] >>
+193 0 obj
+<< /D [ 619 0 R /XYZ 79.37 771.024 null ] >>
endobj
-610 0 obj
+618 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-621 0 obj
-<< /Filter /FlateDecode /Length 3327 >>
+630 0 obj
+<< /Filter /FlateDecode /Length 3324 >>
stream
xÚåËŽ#·ñ>_¡X†,¾Á
í/Þ)!º|ýýò󳔤ôñå“’RâOƒßæŠ ~)5”ßùûö¢ŽqQJõCù6øܪüî—¯?áÒÊ^¢ˆ…íÒZ °@K»ÿ5Á~ù¤µÆ'ðZVòòÂs]5”2F“üÞEš™FhO¿f#ä ÕÔ7þ üÝÐR€63'(PïàX#‚‚J†0ð ÀâøWèûôù:&Ç
@@ -1979,12042 +1986,11998 @@ A‚ŠbÙ¼Vèhs!?qu²yPB¨þ‰è´d m"Ìs©2 ÝOœ¨VEÈ4˜Ãcþ¾`«%¹Æœ‰äôe»xþùFf6j&ØË`pku[
‹0ø82¾Ã2°¬Gè…âƒtŽ(ÖXâ*¥ß–^ö}»½´²áp'Dšéá= ½CúÛø…_ʆáA•MÒ¢ ÿ?2ò†“µŒÿ(¦º·ãpÆ£óîÐ[B¹ÖJhíÿTI«VøàO̵ôS˜÷³á„ï%Œˆ¢fË÷Ù1D+ŒWEêÜf!è|¢ò›¯„uê}‹®\`]{¸|DŠ6
'݇ñÆ×sŠΪ·IQ[á¢ýÞÉ×ÚIÿñëÓ¿g¤À t—_úù|þüü”öùc¸ü7üý¢°æw*Íû×åïOökr“fÔ‹Õ’O™Rß² ¨$ÊämBÏ·™ëæ´Õ“$æ'AZx´P^„é´j'ŽZÖG£ôóLz
성ŒáÁåÉÞùØsu@ïŒù¨·<ÍÍ)ò™/ÖDÆ" `:aÀQJ;äuÓ÷½³*·NÆ%?5*Öqf(©ZÊÓç±¼ùP‚COÚWTêÏT}‚÷+<9ŽwÔ‡¸ùt¼fçURG3a:>êÊ“Õý@lÒ<¤¥Z– ‚Ãw¢Dé ¼wó*¦ˆã‡7q£˜åQë0}yhM¬‹‰ÌißÈ™§aæyž´éƒØáªgmÑðÖ–<¦5þÈQ ùT=ïœÌ³y}ÑÇ ]‘w7ÖohŽ:f²ú‚Ûxþ©Ë!r´‰··~Øo ;P.ƒˆNï)×;™r:Û æÕ’¹˜š”
-…>¼/7pûüZ²þ«%šyÞnZ™Çòf°ò„ú\ ÕY¾ö·ä>ÓóLÍå©—/=ÏÌã{f×bM­}fæÏ£"UA ãÛp¹„ÍŒQ/69Cªœ¹5¦Ê‹¶ ë-=. ë!XNŒ›³ü<†')U@M\v3ý9&§ärLøî«Éc0 }€™¡çl²B*ºÐ²C/Øã/'ºV(k’z—9\¤©Y©å”²•‰‘¹³ú‹õîv·¡¼åƒM´©Oê†qG±@¬Mk»õêg4n#Œ‡7I¨Þ.WñÔF(vD»ƒkj{Tzƒ+m„þ)[ ÇÑ0™1aí,}ßÀƒPáÖaáßôUÇ,j±fºz˜*L$âî{ÙYê†3°Á:sŒ¬€°]×øˆçÃåUkv§lµFuºJ»cÙ5ê¡)÷ʶäê®j FyVËDZÞ}¬~€q>)ñ–Ÿ9¿öÌÌ«ÁÖüæ0@¤ËS)Ý¡ò»e•Æ]_Ëiš/]•§üšOן³ºÌhÿ8—ª.ÛttÈ…òõNŜҎnI)lª3F(w&A³^vôu=D—’ £DІ7›þAzÊvk5oØPÖnZ†v2<wù·Ä¾<åÅPÝ*É—3†-r³ò–ÌNQ2Fæ¸6—iýFdØÜgÅ'êU¯ø_A¶ÞZµ¾±ƒÓÍŒ}Æöê! ¢ŸŽ×ðJý@»­£¢@üí5MMP‹·d ê^sNk–ÙÒÝj[¸Ð[J »‘XÛ(î·ÇZ!vãH¯oòµúÝÁmÙ½SÞ•9µÙ-¼T\Yö‡›¡f`lÝæÒc`È×Jzu°ù¯Òæ¡Œmþç ¯– Ÿ¥C¦þr»¸msR¹aYt/L^Çœ…XŽåéVh‡yƒvÂÍк+µãÕƒ®-`ºÞݼJJª"¿â]ˆ mNöë$„(åÞžßÜäó;ôåÍÂ'Л2­â§
+…>¼/7pûüZ²þ«%šyÞnZ™Çòf°ò„ú\ ÕY¾ö·ä>ÓóLÍå©—/=ÏÌã{f×bM­}fæÏ£"UA ãÛp¹„ÍŒQ/69Cªœ¹5¦Ê‹¶ ë-=. ë!XNŒ›³ü<†')U@M\v3ý9&§ärLøî«Éc0 }€™¡çl²B*ºÐ²C/Øã/'ºV(k’z—9\¤©Y©å”²•‰‘¹³ú‹õîv·¡¼åƒM´©Oê†qG±@¬Mk»õêg4n#Œ‡7I¨Þ.WñÔF(vD»ƒkj{Tzƒ+m„þ)[ ÇÑ0™1aí,}ßÀƒPáÖaáßôUÇ,j±fºz˜*L$âî{ÙYê†3°Á:sŒ¬€°]×øˆçÃåUkv§lµFuºJ»cÙ5ê¡)÷ʶäê®j FyVËDZÞ}¬~€q>)ñ–Ÿ9¿öÌÌ«ÁÖüæ0@¤ËS)Ý¡ò»e•Æ]_Ëiš/]•§üšOן³ºÌhÿ8—ª.ÛttÈ…òõNŜҎnI)lª3F(w&A³^vôu=D—’ £DІ7›þAzÊvk5oØPÖnZ†v2<wù·Ä¾<åÅPÝ*É—3†-r³ò–ÌNQ2Fæ¸6—iýFdØÜgÅ'êU¯ø_A¶ÞZµ¾±ƒÓÍŒ}Æöê! ¢ŸŽ×ðJý@»­£¢@üí5MMP‹·d ê^sNk–ÙÒÝj[¸Ð[J »‘XÛ(î·ÇZ!vãH¯oòµúÝÁmÙ½SÞ•9µÙ-¼T\Yö‡›¡f`lÝæÒc`È×Jzu°ù¯Òæ¡Œmþç ¯– Ÿ¥C¦þr»¸msR¹aYt/L^Çœ…XŽåéVh‡yƒvÂÍк+µãÕƒ®-`ºÞݼJJª"¿â]ˆ mNöë$„(åÞžßÜäó;ôåÍÂ'Л2­â§
endstream
endobj
-620 0 obj
-<< /Type /Page /Contents 621 0 R /Resources 619 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R /Annots 628 0 R >>
+629 0 obj
+<< /Type /Page /Contents 630 0 R /Resources 628 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R /Annots 636 0 R >>
endobj
-628 0 obj
-[ 615 0 R 616 0 R 617 0 R 618 0 R ]
+636 0 obj
+[ 624 0 R 625 0 R 626 0 R 627 0 R ]
endobj
-615 0 obj
+624 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 384.187 623.97 394.614 636.42 ]/A << /S /GoTo /D (Hfootnote.34) >> >>
endobj
-616 0 obj
+625 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 219.594 531.297 226.29 542.485 ]/A << /S /GoTo /D (Hfootnote.35) >> >>
endobj
-617 0 obj
+626 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 224.825 519.352 231.109 532.078 ]/A << /S /GoTo /D (Hfootnote.36) >> >>
endobj
-618 0 obj
+627 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 308.511 508.283 314.795 518.575 ]/A << /S /GoTo /D (Hfootnote.37) >> >>
endobj
-622 0 obj
-<< /D [ 620 0 R /XYZ 78.37 808.885 null ] >>
+631 0 obj
+<< /D [ 629 0 R /XYZ 78.37 808.885 null ] >>
endobj
-201 0 obj
-<< /D [ 620 0 R /XYZ 79.37 771.024 null ] >>
+197 0 obj
+<< /D [ 629 0 R /XYZ 79.37 771.024 null ] >>
endobj
-205 0 obj
-<< /D [ 620 0 R /XYZ 79.37 705.06 null ] >>
+201 0 obj
+<< /D [ 629 0 R /XYZ 79.37 705.06 null ] >>
endobj
-623 0 obj
-<< /D [ 620 0 R /XYZ 93.716 227.357 null ] >>
+632 0 obj
+<< /D [ 629 0 R /XYZ 93.716 227.357 null ] >>
endobj
-624 0 obj
-<< /D [ 620 0 R /XYZ 93.716 189.157 null ] >>
+633 0 obj
+<< /D [ 629 0 R /XYZ 93.716 189.157 null ] >>
endobj
-625 0 obj
-<< /D [ 620 0 R /XYZ 93.716 151.299 null ] >>
+634 0 obj
+<< /D [ 629 0 R /XYZ 93.716 151.299 null ] >>
endobj
-626 0 obj
-<< /D [ 620 0 R /XYZ 93.716 108.297 null ] >>
+635 0 obj
+<< /D [ 629 0 R /XYZ 93.716 108.297 null ] >>
endobj
-619 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F83 414 0 R /F16 336 0 R /F75 338 0 R /F93 567 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F85 437 0 R /F71 347 0 R >> /ProcSet [ /PDF /Text ] >>
+628 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F83 412 0 R /F16 336 0 R /F75 338 0 R /F93 549 0 R /F53 345 0 R /F73 350 0 R /F59 346 0 R /F85 439 0 R /F71 347 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-631 0 obj
-<< /Filter /FlateDecode /Length 3060 >>
+639 0 obj
+<< /Filter /FlateDecode /Length 3152 >>
stream
-xÚÕ»n$¹1×WLx,—,¾aµFs€3ÃJŒ;G†Ïvpýÿ‹Å7û¡¦VžÝ fµÝMëͪb‘_þyá—_–ׇÏ7¡/žyF]^ø_ÄÅz&íÅÁ¸—×?.¿>rnÅ'ñ¯„/Ÿ¤÷á ç
-ð ÿ¶û¢®œkßÚòÖxs‹ãçaœå\<ã÷ÅAÀñ2‡… |ní"¨°<,iù[Yßš²ˆX]ã8ãË2.Ÿ!(S¿|¡UmyP5×0¾Àõ½ô´I‚ÖÄ€=s„WàñoO›á‰
-ŸØñOkiÑ>eúªâü@™r!ÑÈÈŸ¿½þi¹òLp“E.m\ËðJ˜E8HP]Æwä[øV¹ž”£9K/©Ï2©”ãú×Ï7«¶Ô„bÊ©{PÍÌmEpÌÃ81 å•ø4HªÕ,×iVÖª;k5ÇH¬¦h¶«æ1Û¨ëƾ]„¯FoÂñ ɬèO°6d_”~‘Þ
-F+‘z¾,ULJ‰À€¥ÑŒT6àG! æÄ
-b\\sË©M±+‹=›²Z.Òn‰4^#;fz"B6 ÓùÓ§òM'0et&£7O>òÂsæ‚Qˆ¢@%b`ƒ`U¡ Ï&z¤@@À€¾sbì¡çÐŽ9·b‡>Æ-±KÖu~ê%þ3Èö‘0{‰^´Vz?zujd"L-7`%Å$ª“/ã•Î> *PôúQŠ`â‹3¢ü÷—‡—ׇÿTvxÏpû¼ï˜Avüýú`™AÇ,$óÊ]þûËïÆM
-&j :DnÏ‹dÇÀ„SOµ‘µ¿CcnÈÿ,ùN÷nDoäÌ{mJ–êQÔy§Dášlëú÷¨%sFÇ Lé¯ñ¸=*eÎúGþÑv“Â>¯
-ï^ØÃî·ÙPžGB<ã‘ `dΛ{Ç^š"™~$S›Ùû7Ú–jÚgÉ”Ò3œÿ‡‰‘3B©4ËŠÊñ§)Ü›֮ã-#9ÓMd†“öqïLhñ1ý²º Qé©Ý½((osPKO]”a¤È:‡œêæv*Åc =û;Q†ê·Hš ŸÊnÿj(Bb(¤¦M=†¥?I×EìôÔ¿«R?‘”Ç™ø,—’"çIé4*Íç›öôîNHh‰Á€]£GÔ^1ÛR$û|sî‚Ùº1Òu“-fð®›üÓ¿~Ãõ“ÇBlMÃtŸŒ±›÷—׿¦YÛk @càÃbÿþy–μ8×XÆ@§:¢³ŸŒ(˜¾„š·‡ÌɸZeñaözªM×L›y×ñ&©gÙ8ÎSf9¨{ÓÓeýdr€)Þ×KrnP7<-kÒÜë]¢,ÁSü–7q_E-–Ú˜Ÿ"®››»I›âš3¯sÕ}z§éиˆR¤‘î!‚[&Œ³i«ÝðÞï`/îB^/môZýì£-4ØC.ï‘&¼T›x§f„2¢/ùƒQs¨÷³gP7]}iLû¦ÉŽqYjRΑÑÏdÈ—ˆéé­nßù9l£Ê6ym+ν¯JõÌ<:W›¡~¥ÙK¬ ÅQc!,͵‘µÁ¾äS~›÷½:&Öú·=ä<kþ5jW/3Îc˜”ƒò|X'‹9˜Êž¥ètSZ¤ôå9îdº…n‚,â/‡_¤Z¼‰›Ÿ»¦«V$‡ÃùÛ0ÖŽ¤Œ±ÍÿÎòÞ!ûäEa¬$\#Mq¿›?戥Zrí•|Foù§00 ii¬ã¼Ciô
-€Œ/KDmî"VŽÛQªbH³ò–Æ3ík£Ër:«(È÷¶\ÁY]n„?Äe˜ÁŽFt¶ôn§#µcFÊ–Ÿ'ó‚ÂÏ‘ö¶§
-óZ«,3Vµ˜ž ³¥¯Ž{1¥äÌJ[{1ûÒXõ¼Æ&À\)¢ra8u¹†þ“ÚiljÕ+{+ù<É¥b1ͳ±èl#Œ¯ý>K=€{¾"z¹+3M^’â,U)KEî–G©Ô÷˜ 4ʦx­ÿ„wZ•9[mHÔ¿ËB¢öeUÐc·–„…Š¶xγôãNQ8ü&Ìõ9¾ŽYWÒÛÒ*)Ôcm$-­£&)ítB5‚Î¥®MC_ÏêÇìÃQM‹`\:‚_Ê÷ÄÓ8¿=/¯+ë¾¹ÖŽí°ôU-RóöDÁ0«
-É^¶-–i”¸™Ôr&tiž¬V©ëÚwiíL,mÙ~›«äsb冴C«B”2¿#vÁðÆcçi%#Úã9wž#e¾Z| ¥Nã²I›ôkZLµê;4¹9Ù\‡fÔI|©­®›•×ìqåB?nuv»Á¿º7d ^1g¡í!n½Ljjl׈m&ëûÛ
-÷'ãJÇÒ‰Ž²ã1Ï;ÅÞ.ñFã£ÄÝkE¯êZ=[œùÐäYZ:s¬F[©å¸ôs‹[ì¾Û¥!t%‰.ž˜«¨
-ÄåÔøMNÅ%î¦p'ˆ6ˆ.?Ïretdr¹¬’MŽ4äÐäjZU1œå™ qïTþä*&Дw®SÌ$Ž“lÕ ñ__A°Œ[ÛñSÍñ³‡ð^~~žîø΂gB¸ÎºçΚ§R(àÀ@øÍël<ßl!¿
-ô\©µ™£ Q:`VŽL.¦ÿ”NÈ ŽªËÇRrEr(ÜÐ#cpÅqåze¶qmnxÝréJ0Uû€WuÙrÔ½QëÜË»q®6í¦m¿6·÷¯:̃åˆí˜ ÃË5Ÿú -Ó¶g×Õ ›Qâ&õI¡>ÁŠÆz)xUßÚÃYZÅîF=¤pçVHº'?½?JÎTÓDý4ÛH4
+xÚÕ¹rd·1çWL(Äâ>ªX¬âp8ªræ2—äÈeIØÿ¸Ñ@ãzféÙUÀ]¾ ÑúD?òÓo'~úéáüþðå*Ì)°`¥Õ§÷_ ð“8¹À”;9+·âôþÇéç'Îxö
+þWòùQ…;s®%Œðgéº}á܈ôÖ•·6Àœkš§9óçâFü³—æ+š/ÏåQúøpm7p2ŠÛËsÞþZ¶‡·¶lbe¬/iž e•¶'ÚÖ‘gÜÕ•7U{‰ó ÜÐËO«$ƒ Ø18ižþïi³<S2Ûþy/#Ú'¢¯Š!­”i_ð÷ bJüùÇû_F‘ëÀ·$råÒ^–·Pâj}ä Bõ„ïÈ·8#ò­r=Ž"d’^>
+œdR)‡ý#®_®N¯W)4Ó^ØKݬ\?èRzä¸0
+ å›#ñ8Hª=Y¾;Yt6êÙYs˜ÄÜ
+M
+fž3eNï™±Iì?ü¦òÇ=±{ËLPÝ¢§åôšýú9½3qÌ&ב ѲÂ:$?¥€ázä¼UÎÌËO* àF‚ãá&KFÇ@á¸(¥³Ì»0¢)% â†c&pv§Éf
+èµàw@MUVÅxP7Õó
+%þ%‚;¦€„a5:ÚÛ}ƒÁkHYl´5shõ«÷hÔ*ðáYx«qãÙÉšAX=‡z¿zuÛU˜ÆÄoš á™jê¿jŽŒ~u$C½%”ðœ^«ó¦çèD,NòÒÖœ{K•+š4›êͲŽâêsª!¥Yc),¯u‰µQ¿Ô ½%¯Wç¤jÿº}̬ݿ@ÑbªPt¾ .„/‰N¢5…:û. Ô#xŒ¥òvøû.ŠÂi8s~„b4%ºžè “¼äU¾ß±ô¦ D胃|Á²0[·­Ø ­„3: Gµ’ûAb dh‹B?Öú‘̪dË®ÈOéº%›êöîK¸UÞT˜…[j‰°ºâÆã’£sÌ)×9 =Ø ›ãÅüóÁ!
+Ž!0s€œ®¼†´Z¥ÈK‘/Åø’Êk;+•ié¡)ÕÚRPÎWdù©1T…_š“æ’¬¬ZT°Ÿ5£ÚZæ\‰bõÛL¤0,¾="[©_þmG{hîq—á]Ð(-Ú«³”~L‘ÛˆäJBq¨„Q–HASq×ͽ f^S@Œç»˜t„,Òå•è5ySxíVØv-1]ÌîúuË©aúÍ쇴Vhײ™3í²¿p?öGˆ¥|é=øŒ>†sOq€Ÿ¾KÆçR»À÷  Ÿ¥÷÷LªN
+S‰h¿þ{Âg
+âŽÂPÀTéD+¹Ôy
+Ú–¾¼°—¡Ó~ß\ÂnVÑž=®¼)j÷óM)+ü›¡{M–Ú€sí½Ike¶ÊûQ£|Õ¨ý;-ðNRŒ;íK'ÊŽÇœ<Å–—ø «[aÃÒˆE×Ǿ¸ ê;ØK¿:EjXÏßS”»JêßµS÷ ÙGÇ‹'['=WQ
+53x™í
+kF8• °¨É©(Õ¦Ó}‰ª?£4Ú&]}ñeYæ)7êPkióXÇR¥VËŸ¹WV¨ƒ‡ßG®Èž+µ4³— */»#“‹ê¿Õ6±bt­”udšŸD²+\ Òµ\.v®]‚ilSÃËŠI@„×cÿaß&G õT:·²nXklëó/íhóa÷öÔñ³5 {VË`1¦ì7î½Q}³ïê…Í,qUû‡IÃr¤°þ±ƒEik³±Ôi&¸éÅ?% vtκF/˜—¦5õsýCýúMó>†ã¯ʤÐqæmF̵ùôë·˜¥Îí#¨>±÷'ߘiÛ%™5ö¤9~£»dÕÛûÃÿ
endstream
endobj
-630 0 obj
-<< /Type /Page /Contents 631 0 R /Resources 629 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
-endobj
-632 0 obj
-<< /D [ 630 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-209 0 obj
-<< /D [ 630 0 R /XYZ 79.37 639.908 null ] >>
-endobj
-213 0 obj
-<< /D [ 630 0 R /XYZ 79.37 621.783 null ] >>
-endobj
-634 0 obj
-<< /D [ 630 0 R /XYZ 77.176 602.516 null ] >>
-endobj
-637 0 obj
-<< /D [ 630 0 R /XYZ 77.176 591.557 null ] >>
-endobj
638 0 obj
-<< /D [ 630 0 R /XYZ 77.176 580.598 null ] >>
-endobj
-639 0 obj
-<< /D [ 630 0 R /XYZ 77.176 569.639 null ] >>
+<< /Type /Page /Contents 639 0 R /Resources 637 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
640 0 obj
-<< /D [ 630 0 R /XYZ 77.176 558.68 null ] >>
+<< /D [ 638 0 R /XYZ 78.37 808.885 null ] >>
endobj
-641 0 obj
-<< /D [ 630 0 R /XYZ 77.176 547.721 null ] >>
-endobj
-642 0 obj
-<< /D [ 630 0 R /XYZ 77.176 536.762 null ] >>
+205 0 obj
+<< /D [ 638 0 R /XYZ 79.37 640.179 null ] >>
endobj
-643 0 obj
-<< /D [ 630 0 R /XYZ 77.176 525.803 null ] >>
+209 0 obj
+<< /D [ 638 0 R /XYZ 79.37 622.054 null ] >>
endobj
-644 0 obj
-<< /D [ 630 0 R /XYZ 77.176 497.908 null ] >>
+642 0 obj
+<< /D [ 638 0 R /XYZ 77.176 602.787 null ] >>
endobj
645 0 obj
-<< /D [ 630 0 R /XYZ 78.499 486.949 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 591.828 null ] >>
endobj
646 0 obj
-<< /D [ 630 0 R /XYZ 78.499 475.99 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 580.869 null ] >>
endobj
647 0 obj
-<< /D [ 630 0 R /XYZ 78.499 465.031 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 569.91 null ] >>
endobj
648 0 obj
-<< /D [ 630 0 R /XYZ 78.499 454.072 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 558.951 null ] >>
endobj
649 0 obj
-<< /D [ 630 0 R /XYZ 78.499 443.113 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 547.992 null ] >>
endobj
650 0 obj
-<< /D [ 630 0 R /XYZ 78.499 432.154 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 537.033 null ] >>
endobj
651 0 obj
-<< /D [ 630 0 R /XYZ 78.499 421.195 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 526.074 null ] >>
endobj
652 0 obj
-<< /D [ 630 0 R /XYZ 78.499 410.237 null ] >>
+<< /D [ 638 0 R /XYZ 77.176 474.546 null ] >>
endobj
653 0 obj
-<< /D [ 630 0 R /XYZ 78.499 399.278 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 448.875 null ] >>
endobj
654 0 obj
-<< /D [ 630 0 R /XYZ 78.499 388.319 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 437.916 null ] >>
endobj
655 0 obj
-<< /D [ 630 0 R /XYZ 78.499 377.36 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 426.957 null ] >>
endobj
656 0 obj
-<< /D [ 630 0 R /XYZ 78.499 366.401 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 415.998 null ] >>
endobj
657 0 obj
-<< /D [ 630 0 R /XYZ 78.499 355.442 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 405.039 null ] >>
endobj
658 0 obj
-<< /D [ 630 0 R /XYZ 78.499 291.681 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 394.08 null ] >>
endobj
659 0 obj
-<< /D [ 630 0 R /XYZ 78.499 280.722 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 383.121 null ] >>
endobj
660 0 obj
-<< /D [ 630 0 R /XYZ 78.499 269.763 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 372.162 null ] >>
endobj
661 0 obj
-<< /D [ 630 0 R /XYZ 78.499 258.804 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 361.203 null ] >>
endobj
662 0 obj
-<< /D [ 630 0 R /XYZ 78.499 247.846 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 350.245 null ] >>
endobj
663 0 obj
-<< /D [ 630 0 R /XYZ 78.499 236.887 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 339.286 null ] >>
endobj
664 0 obj
-<< /D [ 630 0 R /XYZ 78.499 187.073 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 328.327 null ] >>
endobj
665 0 obj
-<< /D [ 630 0 R /XYZ 78.499 176.115 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 317.368 null ] >>
endobj
666 0 obj
-<< /D [ 630 0 R /XYZ 78.499 138.257 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 306.409 null ] >>
endobj
667 0 obj
-<< /D [ 630 0 R /XYZ 78.499 127.298 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 242.741 null ] >>
endobj
668 0 obj
-<< /D [ 630 0 R /XYZ 78.499 116.339 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 231.782 null ] >>
endobj
669 0 obj
-<< /D [ 630 0 R /XYZ 78.499 105.38 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 220.823 null ] >>
endobj
670 0 obj
-<< /D [ 630 0 R /XYZ 78.499 94.421 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 209.864 null ] >>
endobj
671 0 obj
-<< /D [ 630 0 R /XYZ 78.499 83.462 null ] >>
-endobj
-629 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F109 633 0 R /F64 333 0 R /F22 367 0 R /F59 346 0 R /F88 635 0 R /F111 636 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 638 0 R /XYZ 78.499 198.905 null ] >>
endobj
-674 0 obj
-<< /Filter /FlateDecode /Length 2245 >>
-stream
-xÚå[É’ã6 ½÷Wø†C‚àVÕåªö6U9÷-•krÊÿ_à Hɶ¨qÏrp·,‹ ñ
-]|>þ¦Îå:ý·¾¶Õñû­ÈVUÜê3AJ“ú–ñ¹I¸¢Cæ ,F
-%âõ&X”tB#ô¢fƒ#ÐA(Ô|xÝ6e…3®—° Q(ÖÚ†n¼öÕâ8ªx¡âðëØt”ë˜v­„¬É­h“Fo°Œ¢hËuòÁé÷ky&k\µJš¦ûé÷¤azÖœ
-jù¹zJíxŸéöïSyž|=£ùýýH*'
-[QIç¨MìÊ5¡’¢—P³~Š4,˜§'“”ä%YZ’‚¥èÒ*cQmBÏ—^—|½îRm…t½?¾¥`-GÍž¶¡V(½Æ\ª`•¬žc¤Ž<{Ì¥²!yaŠ#òªø«Gdo?Àe]°ØÌr+£’7§ß“g’—¦¶[¼8`’Ûy¸I‘ð1{z’•î™Öþ¸Ã"6¡¥k,ò1äÇ„GvHJ˜Ã=’I’]ø½ôL¶¡fìàëxÎ…kÓýô?â:ˆ¢Ç8ûŽ¢CóV'aÜŽN ÝÀäm{"£†F:2Z£ÜüœŸ=5ÉÁB\Ú.)&õÕ§+™ÊälÜô
->ÿ8…Y:£«¯OxöR£E# 4S³5Cl$XÍíþljô½øZéžI«ŒÂ­ûU×(ŒmæÒ±d¸ðUªC¥¯BûÕS˜ m¬ê!u[ûrÿ­ÁSr$C‰Kuÿʪ‰ˆéK˜ì†ÇÄùÄ5q°5¯TÚ
-^˜ÈÄÎO++í‡säNBŸ#'¬2iú ³Y‡=Ín<¹7»-mòù®‰óƒਠæ»B…¯}(K"×~}¤ÝÌC4ì×Ê‚ðVs­¶æ£¤U+áQöã`¶Ù«ÉíWŽ´½µßùóÓº(Ì“eŽs9ûÀb­ô“¾Ç³µ¬2ÙÕ71tc»Ôñ%ºìÈ®ŒQ"Hl¬ô1F ­„qNB)Z>‚Áü®“0ÎJâO®óÔV‚‘÷×–­iè|”˜UiÒ<ÏžÀsúÆ;ïäóMÏ¢åQ>ç9²GÑj´ÎhÖ–ONcF?óHž «Ç¦Hk¾¯x¾ºZH!ãì̽ԌY¨•°yÞH¿©b¸Ö•¢ªñ{ª¼6enYk_‘¢Uå/â»w¨&‘9¦Ž½IÁ‡­#½ˆëà˜uZ #¬9Ìx3=Õ¤ ƒeÐVÀ0ß¡ °aÜIXMQ;ir^¸ÁÊšÒá<Ùç‚J5ùÚºñ9ø»SP4^€ŸÖÖlO ÿVÂãÕîZJóºî—¤ô-²ßoÊâìbÁ"GáÝãă —´vü¦µNRôñø\mœ.Ú¢\Ô°ôóú•~”¶ÑlØ÷”½Ž*
-lDš‘¶\óÔ£¾µÉ •cSrMíÐ?Ô¬ÉK€nDT,ÄŒ?éO ·¶ÒQÆßҎ¾Í$KwòÈp®—TÏx„›Ž2Úô£Çç!h¤ð¸ðƒç“>¬D»«‡Ê ´Ècvã…(«
-Ø‘ ÿf,7.Ýwã ^€™ÆE’ËêÚ¦ã…xÛÁ ÛNÂú|ùÕ˜¥w£,­ˆœÏ‘Üî$l@Šñsžvj¶:×¼—u‹Ú½Úªt\Ï™FÛ>¥<
-T–·ÕcG#: ;VÅæ<Î}äú2kÇ Ú¶ìüOíƒ6¸`åxgN+dks¾*YT͇mæ⪞öpxó·“ðc”óÚj>ìõÿÄÝ‚Àà›X1[cÅ(a敹í؆c/ŽmuÇDfô~•mìùÞHæƒ,”‘6;IòÙÑÞÝYdªšÆPƒ¦­€ñþ
-'›Ùvlôð²÷y^FƒH-Ü\ãÓzxµ“0œØŽ½ì¢‡3 V@£wó|RÙ:}eaÖÜ»¶o|Lgûdµ÷…m„Ëv“–Îfðó~}Y—ÎœM'yöœ›ðJxöš‹ÎZTËÈ“eÏ•©îpYÖ8ÒÞÅ–¶¼·¾½œŸ¼_ñ0–g•øɾBjÃïÁÏ^ƒÑÃ/]´ Žh_§›Ò»ó‘÷7@Xc騚óÍ»‰et×Ï·ÿ
-endstream
+672 0 obj
+<< /D [ 638 0 R /XYZ 78.499 187.946 null ] >>
endobj
673 0 obj
-<< /Type /Page /Contents 674 0 R /Resources 672 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 638 0 R /XYZ 78.499 138.364 null ] >>
+endobj
+674 0 obj
+<< /D [ 638 0 R /XYZ 78.499 127.405 null ] >>
endobj
675 0 obj
-<< /D [ 673 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 89.593 null ] >>
endobj
676 0 obj
-<< /D [ 673 0 R /XYZ 78.499 768.829 null ] >>
-endobj
-677 0 obj
-<< /D [ 673 0 R /XYZ 78.499 757.87 null ] >>
+<< /D [ 638 0 R /XYZ 78.499 78.635 null ] >>
endobj
-678 0 obj
-<< /D [ 673 0 R /XYZ 78.499 746.912 null ] >>
+637 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F109 641 0 R /F64 333 0 R /F22 367 0 R /F59 346 0 R /F88 643 0 R /F111 644 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
679 0 obj
-<< /D [ 673 0 R /XYZ 78.499 735.953 null ] >>
+<< /Filter /FlateDecode /Length 2231 >>
+stream
+xÚÍ[Én#7½û+ôÃ!‹Å 0X–4@ξ¹&§üÿ5ܪI–ZR³ÇžÉAVKê~¬õ±X¤åៃ<üx‘¤«ø÷ÇËéãåûÕ„Šà•†ÃÇß/*Þ$êàúà¬ÒªÃÇ¿‡?_¥´oRêpüëãYá¾_=¼Öjß?¯¤#€-OwB<‘ÀH¡$ ømh)¼ 0¢@|…ø’ñu‘ãgíʵŽ×æT®M¼Þ㻊÷œß ˜Š
+ðBE[÷®À¹,`Z Âj7d¡Þ$AˆÏƒç
+»îWÝYatògªf
+݉4#m{Íó^áu,m¨!›JkzýCÍÁá¼âQ»³ýI¢`¸ŽŽ"O—vô©Ñ,}“%ÃÖ/©‘ñÈn::ÈhÃ¥œ·ÏC[$êôx%Ï}º&í®&œŽ“§ÕÐçìÆåI¥,
+·šh(£&¸šhh>'ÑâºÖߌ´WóÙ¤Š£Jøè7I•u}šThû¤ÊŸ†¤B³3©
+ —ò±-ê­C6Îæ qI ,)O 8§_Âk±0íÜ=û¦œŽà^ëÚÓçf¦Ï¤œŸ÷4N q˜µ“Ü,
+!åزʠ ÍB ;Fù¿Hø<ÔÂqñ‘‡Mb¹ì¢ŸÚVYÞr€/àZ
+h™J.c÷¡íƒÛ º…!Á KgÓ©RAt <ê=Iþ––÷§ÿÒ\'­žîúÂsv²ƒ ¦CCY†Ð˜Úâe
+}²¥_g2}êS§¸Æ/(ñ<k¹´¡Ñ1NŸ•d;jáßlÍK÷Ýv °kÃâM²ÇbϦ̈́®‡‰ÓÛµ a}ÆüjLÌÓ»­œZûÁ–šÛf,Õ1tžxj½ÚzÞ·b‹ÚÝÚêÔós½¶¬B}SqUiœžõs–bt…m|7ý³µ†s7÷-Ĭ&ŸíþWäýž$mkžæÙ¡;.ŸXÜ=7*å„UaˆK3572„y ¤†Ÿ+XÀgý—ÂÿÐY„óSOÖ1#Àt×鶟¬bÀ„…wŸ½qRøîЪž®F
+endstream
+endobj
+678 0 obj
+<< /Type /Page /Contents 679 0 R /Resources 677 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
680 0 obj
-<< /D [ 673 0 R /XYZ 78.499 724.994 null ] >>
+<< /D [ 678 0 R /XYZ 78.37 808.885 null ] >>
endobj
681 0 obj
-<< /D [ 673 0 R /XYZ 78.499 714.035 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 768.829 null ] >>
endobj
682 0 obj
-<< /D [ 673 0 R /XYZ 78.499 703.076 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 757.87 null ] >>
endobj
683 0 obj
-<< /D [ 673 0 R /XYZ 78.499 692.117 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 746.912 null ] >>
endobj
684 0 obj
-<< /D [ 673 0 R /XYZ 78.499 681.158 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 735.953 null ] >>
endobj
685 0 obj
-<< /D [ 673 0 R /XYZ 78.499 653.292 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 710.406 null ] >>
endobj
686 0 obj
-<< /D [ 673 0 R /XYZ 78.499 642.333 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 699.447 null ] >>
endobj
687 0 obj
-<< /D [ 673 0 R /XYZ 78.499 614.467 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 688.488 null ] >>
endobj
688 0 obj
-<< /D [ 673 0 R /XYZ 78.499 603.508 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 677.529 null ] >>
endobj
689 0 obj
-<< /D [ 673 0 R /XYZ 78.499 592.55 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 666.57 null ] >>
endobj
690 0 obj
-<< /D [ 673 0 R /XYZ 78.499 581.591 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 655.611 null ] >>
endobj
691 0 obj
-<< /D [ 673 0 R /XYZ 78.499 570.632 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 644.652 null ] >>
endobj
692 0 obj
-<< /D [ 673 0 R /XYZ 78.499 559.673 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 633.694 null ] >>
endobj
693 0 obj
-<< /D [ 673 0 R /XYZ 78.499 548.714 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 622.735 null ] >>
endobj
694 0 obj
-<< /D [ 673 0 R /XYZ 78.499 537.755 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 595.267 null ] >>
endobj
695 0 obj
-<< /D [ 673 0 R /XYZ 78.499 526.796 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 584.308 null ] >>
endobj
696 0 obj
-<< /D [ 673 0 R /XYZ 78.499 515.837 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 556.84 null ] >>
endobj
697 0 obj
-<< /D [ 673 0 R /XYZ 78.499 504.878 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 545.881 null ] >>
endobj
698 0 obj
-<< /D [ 673 0 R /XYZ 78.499 477.012 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 534.922 null ] >>
endobj
699 0 obj
-<< /D [ 673 0 R /XYZ 78.499 466.054 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 523.963 null ] >>
endobj
700 0 obj
-<< /D [ 673 0 R /XYZ 78.499 426.232 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 513.004 null ] >>
endobj
701 0 obj
-<< /D [ 673 0 R /XYZ 78.499 382.412 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 502.045 null ] >>
endobj
702 0 obj
-<< /D [ 673 0 R /XYZ 78.499 350.546 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 491.086 null ] >>
endobj
703 0 obj
-<< /D [ 673 0 R /XYZ 78.499 330.635 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 480.127 null ] >>
endobj
704 0 obj
-<< /D [ 673 0 R /XYZ 78.499 319.676 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 469.168 null ] >>
endobj
705 0 obj
-<< /D [ 673 0 R /XYZ 78.499 279.855 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 458.209 null ] >>
endobj
706 0 obj
-<< /D [ 673 0 R /XYZ 78.499 268.896 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 447.251 null ] >>
endobj
707 0 obj
-<< /D [ 673 0 R /XYZ 78.499 257.938 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 419.783 null ] >>
endobj
708 0 obj
-<< /D [ 673 0 R /XYZ 78.499 246.979 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 408.824 null ] >>
endobj
709 0 obj
-<< /D [ 673 0 R /XYZ 78.499 236.02 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 369.4 null ] >>
endobj
710 0 obj
-<< /D [ 673 0 R /XYZ 78.499 225.061 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 325.778 null ] >>
endobj
711 0 obj
-<< /D [ 673 0 R /XYZ 78.499 214.102 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 294.112 null ] >>
endobj
712 0 obj
-<< /D [ 673 0 R /XYZ 78.499 203.143 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 274.4 null ] >>
endobj
713 0 obj
-<< /D [ 673 0 R /XYZ 78.499 192.184 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 263.441 null ] >>
endobj
714 0 obj
-<< /D [ 673 0 R /XYZ 78.499 181.225 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 224.018 null ] >>
endobj
715 0 obj
-<< /D [ 673 0 R /XYZ 78.499 170.266 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 213.059 null ] >>
endobj
716 0 obj
-<< /D [ 673 0 R /XYZ 78.499 159.307 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 202.1 null ] >>
endobj
717 0 obj
-<< /D [ 673 0 R /XYZ 78.499 148.348 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 191.141 null ] >>
endobj
718 0 obj
-<< /D [ 673 0 R /XYZ 78.499 122.47 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 180.182 null ] >>
endobj
719 0 obj
-<< /D [ 673 0 R /XYZ 78.499 111.511 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 169.223 null ] >>
endobj
720 0 obj
-<< /D [ 673 0 R /XYZ 78.499 100.552 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 158.264 null ] >>
endobj
721 0 obj
-<< /D [ 673 0 R /XYZ 78.499 89.593 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 147.306 null ] >>
endobj
722 0 obj
-<< /D [ 673 0 R /XYZ 78.499 78.635 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 136.347 null ] >>
endobj
-672 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-725 0 obj
-<< /Filter /FlateDecode /Length 2002 >>
-stream
-xÚíZÉrã6½û+øh¬U.WY–4U9û–Ê59åÿ¯ƒ•
-}Í9¡Î8];¶ûj' û.Íúü õþ¨ä½jS—Ôœi°PÍkéåÚj!5GÕ2Ö3ãeo-i–¢Gi“ ãÌ’/—óدS–~³f@Ðeš‘ŽYº Çkõ|DÚ9ŒqÌôò›MþáË
-B(Uíñ,ôäÃSÒ¨þ©à´"=sz®ÙV<;xʵ %KF‹ŠçoÒ=å2šÂ#}êm-pæÅš\€NÈ1€TQ_Vc½SB¹Ã¬×'zÃëÙlÞú/1Î#…f4 o󫩈n8á˜ó®7ÜFnZx¨q•UƒÐc>Z·%—Š÷ñ:³¬áž;ó%í9>ªÈQT„
-pè¼Ð·ti
-á]¦ÑJ‰{º¼V&ëµ6òÕy’Må$sÊiˆÔ €ÞTÑ«/{Ö½LÖ*s†4–CÞû?2§!· ÖT$kÏϤøX}›…ÜÆQÒ¨õ{I®TlPÄn•~’»±uª:Ö|'±[ý#zòøÈàÁ÷1MaiWSb3Û ÷0(Æëlì«u†ç“ªÏêL ìT4-°cªH÷Üöq}a¢ª(QÀBŸå¹íˆ]U—
-²_ÛÃöòZ
-Ðnj5“NOZã­;Ó‘Eøí=^á™ùàäz«šq*…»QžWr|O7ðú ì;ŒÔ«À`ãllóª÷ ÷Zƒ»Õ[÷ÝR¥æýZ¥'¿ÿš]Ö¯ò†)k±~·¶‘Åù
-eá®L#üjáÓx!u³Ìmûô)FBkµjΙŸØŸ±¬bZ{,q•¡à¾è¢¸©>u k]X¯-´]j‘(KM}ó_çqs\µž)K@EÅØ"=l}IPÜcìÎyݤ[ýJ܃7Î Ïme.rýz²»\òjY5Z2£…mcç2+gD©¥LT5tžheóĨ®º‰ïë=ö3<um‘s6Óq}ü¶ÙçµJ0ãäÂ4Šfš×ÕyÖB¬r­./Õuµ gÍ£ugúµÆäÖê`ª«ª1䚪:«.ÕM,C{î/ö™8³)„öâ£tª¢å¿Þ¼¿D ϬQX|â+(„r-I@aŒý»yüUUOš{¸®<kÖ«y—¬Nî˜ãCAÊ*¥ñ©…NëÀÏ‚ÆšGŒÏ"Íkåu‘þ(Ò N2 «—Hš
-4ƒLZ¹˜4#”¯Â.¯ÕìŸË8C[Á@
-s¼FC>M Z ·•œW¢1¢ÐùŽtŠÉq…Ü6“ÚB'Èý^ÝÌ©ËETù-0é%–ë^£b„RøÞõ(R›Ðáãí9i‡ÓOíEn{Ï_@ÍEP!ƒ @!X eË…W[צ(´cÊH„ÖXJdͼùŒyÊ›[l­1ÇxV=eæÝ„ÅxêPŸÉù¹þ[ÏüuÔìE²õz[[åîì6C‰³é…²)I1L;›Ïd ©Yå>þ\ô<«¦ŸOWdá‚ØÉÞç^ 9V®Z¼¸‘RÌJýnƒ `AëN›žÐÞRzÖ“
-»‹ðÆ1>.ƤðR@(;¦¡- šÁÓ u„²c*PL3&£*QG ŸGÔ/…ÏûÉ{8ËPz!s÷duB3ãïÏÝî{É;‚ûÍÞ¿{<0Y÷bïîÞìÝKfÂñF$ï#ÈWçî.pH©"Ó¨ûò_fî6p]ÔÞ½‰ûr##ËàOF›IñÀqZJn£žÞ~
-endstream
+723 0 obj
+<< /D [ 678 0 R /XYZ 78.499 125.388 null ] >>
endobj
724 0 obj
-<< /Type /Page /Contents 725 0 R /Resources 723 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 678 0 R /XYZ 78.499 111.511 null ] >>
+endobj
+725 0 obj
+<< /D [ 678 0 R /XYZ 78.499 100.552 null ] >>
endobj
726 0 obj
-<< /D [ 724 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 89.593 null ] >>
endobj
727 0 obj
-<< /D [ 724 0 R /XYZ 78.499 768.829 null ] >>
+<< /D [ 678 0 R /XYZ 78.499 78.635 null ] >>
endobj
-728 0 obj
-<< /D [ 724 0 R /XYZ 78.499 757.87 null ] >>
-endobj
-729 0 obj
-<< /D [ 724 0 R /XYZ 78.499 742.255 null ] >>
+677 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
730 0 obj
-<< /D [ 724 0 R /XYZ 78.499 731.296 null ] >>
+<< /Filter /FlateDecode /Length 1945 >>
+stream
+xÚí[Msã(½çWè  4P•JUÇSµçܶöº{Úÿ>´,[(v’Ùƒ'ú@Oôë¦û>ý3ñéÇg:ù<Þ¾Ÿ´›sVH˜Þþ~¾ŸÄd sr2(G1½ý;ýùȹ”œkxúëížá¾Ÿ¬š,sˆÒ¶Ï ÌhCÄ çÈ=øã“G{åd>÷÷Ô!‡6ñÞ±¶“Æÿé‡Î·=ÖãðÌh{éÛÿ"­úwj›1xn{ª÷Ãu…é<<‹ÙjW87<Ûä¯)›Žƒ­á¸´‹÷bŸ«s®xFs&8´žÁØgzPÉÚÀP±0ô _ëõx é<X Áº—§otFÐ2Ù4#:£‡{åz@
+\‡ç@Ú/Jvö?Ùß# MžŽžtKO‡sÕ›*GɽٛòÐDZŽÑdG-Ë„7¡±PºmräŠ
+ÅL¤^(’å^}óÅ~;J ¦‰§Ô§z€ÖU!¦ÏÇÕ­\Vër ñ]–ÄîÿÈÊ·rjrÈ=@t§MÆGª_kñ3…ŒãHÚ‘j½M–e¢J±ŽŠÝ¤€c(;)¡^‡HéÖ¢'ªS"$Äò¢¤‹áÛ¸&«´‹I±º­·pÌØ9ƒ(o‡qCîé"Ù§†<¬ƒ;–ÍcÜ!]Ä’{j÷±üÖÓPY@é–í€]È‹%Ù-ËíŒaZy) h»›\í8³
+endstream
+endobj
+729 0 obj
+<< /Type /Page /Contents 730 0 R /Resources 728 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
731 0 obj
-<< /D [ 724 0 R /XYZ 78.499 720.337 null ] >>
+<< /D [ 729 0 R /XYZ 78.37 808.885 null ] >>
endobj
732 0 obj
-<< /D [ 724 0 R /XYZ 78.499 709.378 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 768.829 null ] >>
endobj
733 0 obj
-<< /D [ 724 0 R /XYZ 78.499 698.419 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 757.87 null ] >>
endobj
734 0 obj
-<< /D [ 724 0 R /XYZ 78.499 687.461 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 746.912 null ] >>
endobj
735 0 obj
-<< /D [ 724 0 R /XYZ 78.499 676.502 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 735.953 null ] >>
endobj
736 0 obj
-<< /D [ 724 0 R /XYZ 78.499 665.543 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 696.145 null ] >>
endobj
737 0 obj
-<< /D [ 724 0 R /XYZ 78.499 626.667 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 670.278 null ] >>
endobj
738 0 obj
-<< /D [ 724 0 R /XYZ 78.499 601.576 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 659.32 null ] >>
endobj
739 0 obj
-<< /D [ 724 0 R /XYZ 78.499 590.617 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 648.361 null ] >>
endobj
740 0 obj
-<< /D [ 724 0 R /XYZ 78.499 579.658 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 637.402 null ] >>
endobj
741 0 obj
-<< /D [ 724 0 R /XYZ 78.499 568.699 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 609.55 null ] >>
endobj
742 0 obj
-<< /D [ 724 0 R /XYZ 78.499 541.778 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 598.591 null ] >>
endobj
743 0 obj
-<< /D [ 724 0 R /XYZ 79.822 530.819 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 582.665 null ] >>
endobj
744 0 obj
-<< /D [ 724 0 R /XYZ 79.822 515.204 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 571.706 null ] >>
endobj
745 0 obj
-<< /D [ 724 0 R /XYZ 79.822 504.245 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 560.747 null ] >>
endobj
746 0 obj
-<< /D [ 724 0 R /XYZ 79.822 493.286 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 549.788 null ] >>
endobj
747 0 obj
-<< /D [ 724 0 R /XYZ 79.822 482.327 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 538.829 null ] >>
endobj
748 0 obj
-<< /D [ 724 0 R /XYZ 79.822 471.368 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 527.87 null ] >>
endobj
749 0 obj
-<< /D [ 724 0 R /XYZ 79.822 460.41 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 516.911 null ] >>
endobj
750 0 obj
-<< /D [ 724 0 R /XYZ 79.822 449.451 null ] >>
+<< /D [ 729 0 R /XYZ 78.499 505.953 null ] >>
endobj
751 0 obj
-<< /D [ 724 0 R /XYZ 79.822 438.492 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 494.994 null ] >>
endobj
752 0 obj
-<< /D [ 724 0 R /XYZ 79.822 427.533 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 484.035 null ] >>
endobj
753 0 obj
-<< /D [ 724 0 R /XYZ 79.822 416.574 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 468.109 null ] >>
endobj
754 0 obj
-<< /D [ 724 0 R /XYZ 79.822 400.959 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 457.15 null ] >>
endobj
755 0 obj
-<< /D [ 724 0 R /XYZ 79.822 390 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 446.191 null ] >>
endobj
756 0 obj
-<< /D [ 724 0 R /XYZ 79.822 379.041 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 435.232 null ] >>
endobj
757 0 obj
-<< /D [ 724 0 R /XYZ 79.822 368.082 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 424.273 null ] >>
endobj
758 0 obj
-<< /D [ 724 0 R /XYZ 79.822 357.123 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 413.314 null ] >>
endobj
759 0 obj
-<< /D [ 724 0 R /XYZ 79.822 346.164 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 402.356 null ] >>
endobj
760 0 obj
-<< /D [ 724 0 R /XYZ 79.822 335.205 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 391.397 null ] >>
endobj
761 0 obj
-<< /D [ 724 0 R /XYZ 79.822 324.246 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 380.438 null ] >>
endobj
762 0 obj
-<< /D [ 724 0 R /XYZ 79.822 313.287 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 358.549 null ] >>
endobj
763 0 obj
-<< /D [ 724 0 R /XYZ 79.822 292.019 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 347.59 null ] >>
endobj
764 0 obj
-<< /D [ 724 0 R /XYZ 79.822 281.06 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 307.754 null ] >>
endobj
765 0 obj
-<< /D [ 724 0 R /XYZ 79.822 241.535 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 296.795 null ] >>
endobj
766 0 obj
-<< /D [ 724 0 R /XYZ 79.822 230.576 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 285.836 null ] >>
endobj
767 0 obj
-<< /D [ 724 0 R /XYZ 79.822 219.617 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 274.877 null ] >>
endobj
768 0 obj
-<< /D [ 724 0 R /XYZ 79.822 208.658 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 263.918 null ] >>
endobj
769 0 obj
-<< /D [ 724 0 R /XYZ 79.822 197.699 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 252.959 null ] >>
endobj
770 0 obj
-<< /D [ 724 0 R /XYZ 79.822 186.74 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 242 null ] >>
endobj
771 0 obj
-<< /D [ 724 0 R /XYZ 79.822 175.781 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 231.041 null ] >>
endobj
772 0 obj
-<< /D [ 724 0 R /XYZ 79.822 164.822 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 217.101 null ] >>
endobj
773 0 obj
-<< /D [ 724 0 R /XYZ 79.822 151.037 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 206.142 null ] >>
endobj
774 0 obj
-<< /D [ 724 0 R /XYZ 79.822 140.078 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 166.306 null ] >>
endobj
775 0 obj
-<< /D [ 724 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 155.347 null ] >>
endobj
776 0 obj
-<< /D [ 724 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 144.388 null ] >>
endobj
777 0 obj
-<< /D [ 724 0 R /XYZ 79.822 78.635 null ] >>
-endobj
-723 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 729 0 R /XYZ 79.822 133.429 null ] >>
endobj
-780 0 obj
-<< /Filter /FlateDecode /Length 2716 >>
-stream
-xÚÅ[Ko7 ¾ûWì±=D‘(ê, d¼Þ
-bm襵ÀÂG¾3-þãÕ·?áÍ™³j²ýX¸” °Èe®ÍÁ ±ß=´=’åú89óéªà}hnC>
-z)OÌ•¤¬ÕàÖFeΩAá½”¨Æ×;cGÄz”2„«‹4ŒpÈlâ)ñ\—s77ê=9t”¦p&1M3½¼OžÙ=[
-^í%9ËËïN8ø5tˆ<R$Ú>úÖ÷„Q3ämœq#;s?¤ÊžžâÒ½Ðç¼ÁÃýæh5hpSŸ¸™Té·v†x…ºPŸ¼Â[2{Q~|ÊbìŒrƒ…Qnô*ZÍýÖöy0‹œZ–> ƒ6îÝî-&3×:Ɔ4Ð_æK)$AÁ{¢pŠ¨Œ"t/ħq:Äg§óÀd£‚œ³¬jj£8ì5•Û¥vRl_Uƒ#\ j|;§“D 5HÁ’u%:$º˜Yêû->ߧp\àŘ’`úæf!%Ž;œLÁÓS!ê$ÆËÒi­ä>ë
-q­¸ñÖ Ռϳ€8ãYCfnK˜4Š3qä9ŒQË0H’ÏÄ|aw982ôÉÝtŒù¿…®<1Å|¿b¦ûô»œqàc¾‹»ÐüÆe ˜Ý35Ð9_ 2àÞ7 šzÍçã0(v¼­-=3µhÎïx*½m1û¶ë ¯e%~(­iåax붗ÇïI ÷…œN‡¢+öèaŠ¨©¼ãô…ù1[ƒDZWéÞÙ.Œ”ó‘Úúòaä0ÃÇ9>ã­óvRÒ8b{«÷¾ao‹¨Pýâ' îõ%
-sñï-l—BŸ´ùQç7Hv$Ÿ¡¨ªÄyè|NS"1¯-YáÖð{µÏ«÷€¥æÁw"ªžEÔÐ{K½ÂÎ9Ç„ }oŸáa”6)ìèd¥*2P#Âó)ŒrÌ¿©–ðˆwöSëR |PSˆ3j·^JéYÞƒÈòD¸–"í~ö—ä&­Sí<í±FLf§mT–J ˆ‰a(aõ<Äò¸À¢G [àEsØý¢0tyŠEæ˜EFF^³ò©©ß­­¨ um¶’A#[ÝÏÖ:ØefUžÈœs¢ág3=ʾEöo‹ÙU´~õ#ÔÑlð©žÃœ27„•ø¶?ØJ™=^¨m,XòŽ[sµë˜Á²j>WŽü(+‹øqª‹ U¢±KÑö¦
-{Ÿ§’‚Æ4r(í~Æõîb°ù¶„M+ä¿Ãæqš½|Ü—•„ÓLŠ½jž‡6³,×·¶‰w¥“ghÂË•¦4Ö­¥Rš©³&B¿T"÷)¬¿@Õµ;e/LÌë*’Â~¿æµá9ŸWíjûJNØs˜ié$«q¿áGæ°½£ÒÉíù˜–¸Äc)§LòÖòWsq@Sbs·~Uñ¥|¿X­óôŠº…Õ
-*­3t«ÎœX) Áü?oîš#š¦
-’fœù´W¦vzË7å’ÓƒÑ>ò—²6cÒu°ˆ»Ëúé¤ê5xÆ$/÷
-ä¹ìKuOå
-­Í0~‚³%Ý…S}úÞF¢¬FÆ:cÍ®'Ö­2Ó†(®ç/\ªx•©o O¡Ü2–AÒ†uç[^¢PÃ|ûq.'miÀ´‡kí]„˜ž*~ò&EŽŠ
-›úΫI©aTE»%_îÈú)òÚX-×$ÊL?:ÝÕZËZá´„†G—T™RDé½&K:ú56|Òí/’Œp?[Ja’͇JõÚUŒNÈsÇ€õš-¸xÄLjaÓìT±%'²„ s¹2†%+¿UåjeZ†b0?þ)I&SHÂ%q'N¦\ÝÉhè%75к¡´ Û¨ÓÞ Ú~Ùãx »{¬8¨g9’Ù×ôç\s”ÅÁ «ðô„Ññ8%¦ºp¸“>Ÿ›‘¥ Å\EÕ­äVƒ|2@Ùµ=ÆË· (/ oàtê]þ®0oÞðË?¿^]AË>Œ°8‚§º™ˆHû^Íx!?ªÖFîÔêwq•ySd~²UWê}KÙŽmá²æô¸ÿ[³832™¤Cÿ[J­ªY™c†
-endstream
+778 0 obj
+<< /D [ 729 0 R /XYZ 79.822 122.47 null ] >>
endobj
779 0 obj
-<< /Type /Page /Contents 780 0 R /Resources 778 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 729 0 R /XYZ 79.822 111.511 null ] >>
+endobj
+780 0 obj
+<< /D [ 729 0 R /XYZ 79.822 100.552 null ] >>
endobj
781 0 obj
-<< /D [ 779 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 89.593 null ] >>
endobj
782 0 obj
-<< /D [ 779 0 R /XYZ 79.822 768.829 null ] >>
-endobj
-783 0 obj
-<< /D [ 779 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 729 0 R /XYZ 79.822 78.635 null ] >>
endobj
-784 0 obj
-<< /D [ 779 0 R /XYZ 79.822 746.912 null ] >>
+728 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
785 0 obj
-<< /D [ 779 0 R /XYZ 79.822 735.953 null ] >>
+<< /Filter /FlateDecode /Length 3184 >>
+stream
+xÚÅ[Ën$» ÝÏWô2Y\]‰z†éiûY{d›¬’ÿ_F/êA©ªK¾v2@í*‰¢(êðRóÛ¿nüöÇûÇßß…¾yæ uûøç^ð›¸YϤ½Y#7âöñïÛß_87Žsù>ðú›”:<±oœ‹_áÉýõ Ò¬ZIÂ1+<•*ö rƒù—–s-òÇxÎÕ£ý.¡´—­reôõ\
+èè*Jª31<Ï$?ÍãÀ{|k^Ê›Gÿ$¶‰cÃ#>±Ñð
+îe°dyÊ%KϤñ#?µŸF»Š_¯$q*)Î\‹:6Ú!~ü©åWÌ…WÿËkn™öveyõH=‰¿)Ï7Ø.Ì£ÕËè<Z@öˆ)ƒšf»Y¨oâJZük\!ÙYÝMV_ŒyôŽ¨Y°~y›=¤ÊÍ3,r‹Wñníïc›'«(yð`3ÙLÖ&ŽG‘°X±èÇöt•¤ö,4š¬Ÿ×–3á"üÿG ýM1ï„„^‚Ó œ¾Y0Lx¨âð?Ã'ƒ/¨óû»S7Ô0ÒõB¼e=5îóÈóŒˆsŒû ~U_ÚÑT„ŸRNšþ¼¤©n-# ŒRÀl«v'„%'jHM a˜Õv’¢Š¿ùæo:XŠß&O½7†Ÿ¥Ý=Öe|ÔH*ü-®F#öek‰oµ®¿=òêÅO\½$ó^VŽ·ñõ£öØ6 ñ’ÉàÕԀŽ/&)~5…¶µ—íë¶/A Âfì§ý¬/BÍŸ‘‘–ÑõPu­O\¢ýйÏö3˜ÔfÚ`z˳©”#Ï–kÏNšr‰ÂYæÊÛæî uæÇýHÍÐðèûS'ºÒçÌ ûï.—L†@M—K][.㘨”Ç5O>6‚àšA+w¾ÜqåÓí¶é g*Úƒ@Üót"åÈÓ‹Gãìqb™­~–G^ˆ+ùÏŸÀì@3”õÔ`êmÏ`DÊÁ¢Â‰6”w‰À–Í ïýDšQô[ülOK†M0pƳ{¡œÙ˜>K®}o|IÞ¿t’½™f©a‹7)•ž§¢Ú;f€²>[ÃÜñgÜ÷<í{ù*¡òšØÝÇ­“@$R}'i‚çäK¿Å²¬˜*¨‚h€[ËakLQ죵¢ˆcà”†—y:Þ“¹!åóÒR4U!&=¶O6“`ëê"|õvJPÓSÜ19±Å˜§j:h¦½¥ãS[’¸”‚-zÙ.­Ây%M‹}Ñ‚P5~ææYf›AqÞÇPV:ÉÔúL¯~%ëšgëñW­_:`| Ö€nÅ×i]Yñ=¥,RÔ¨¬Ä™çÁzÀ$É|&‰Ó:p.ëèßK∔tžˆI\Ú1˜Äýª1S¾·5>‡»Ü¦¸mòí å.f‡h‚AÆʵàÑy}›fJ»öµ‘ =Á+"¯¹“ȸJ1%ì2ê¥í!D‡ö÷Ê£Þ(Ìy‰1äp1—#ú¤ÌMÎÖSNKršô0 å9VƒÕÌDGG+X—{šuOÜCÉ©ç´Âç%!]*KšÅ¶¾”™‰±RöÄ꯿¥Eƒ÷~‰ÀsCìšáÛ`-Ë^¯w…žr‚Š:²¨RÖø7L×I›Îl¸wU»¾¢×*Øò œºU8Í­ïØ*§05 déË`ûV˜á’"ÐÅÂPA "$Ao rÀX~=ÇĺÀZ%΋ªBòhÜò¬A)¹A|”‚²¡ÎéÊE­,óV5Õªø N“¨Ü ‹ÃJM8¦rQ:«—LlN± ¼g ©ê ’ès8
+^Ý"¼^Ù¨ŠÑÁ¨rgnYð}ß=L NOÜc’Î/‡k)Ÿu‘
+aok*©y¡‘Sm÷ðrÌŽm´dÌÄLä–mF!ÿ;Û<§ÙÛˆÊö’À€W0°âÕIÜÚ­X®¶ñîtªý0„×ÍÿŽo”mÕ4mðé°'r;¬‘§À”÷GÚ ö…3h×#îìºH
+ÇíÃ>‹Çuz}Š‘Cj¸Š!ÑÊÞS3§Dâ½y+óô#Æ­•´žõ±î ¾sšZ¸ý‚¤£fúÙÇâ ^#9(ßk›æ‹gú÷¶å#ìÅç‹•;Ï 5óBÒ‘Ìì‰Ö¥Rä(ŒG›ñ¶YϪæ*X/·¥_[«´ÿ1›z·g¹a²£ /ž#ŽBú+5õ¼tþº°ú5®?HÖÀ &’µº¦ÃñŒ“PkAaiŽó#U³ @©íÀ®QÜSøŒã€µL~ã.Ÿ¿¿e|ƒÛ<Æ"ê
+^¾Î½ 0eÌʽÀª‚jnM·º}™'ØU½ ,-çq4ËÍ ‘Ÿ Y%x:¡•;J£5­6ê(é°fg`}¶¯ëÑ…½’k{ÔõZÞ@û)­ÛŒ÷˜Œ2‡5ÐaßTgÆCêDÄ´)ÅÚ~å~»@Øè¡À"ˆ–åTIõ2>9èˆ\2^ºÙ®†>ñ¾¶mY¼|;1ÅÊ©ÊSL³Ò_IN-}b”çPZ€O À'ÔEã›qþ„Ö–vÏæ½ð…x¯¨;2C‹8>¸Fø¶.¬e#!nö³~šhí/[}0ï
+\ 0yÀö×gHKˆvÜÏœeë £Œ¯)þºC¼Õ­Í-À‰o÷»/W¿}üø/Þ'@a
+endstream
+endobj
+784 0 obj
+<< /Type /Page /Contents 785 0 R /Resources 783 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
786 0 obj
-<< /D [ 779 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 784 0 R /XYZ 78.37 808.885 null ] >>
endobj
787 0 obj
-<< /D [ 779 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 733.96 null ] >>
endobj
788 0 obj
-<< /D [ 779 0 R /XYZ 79.822 664.222 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 723.001 null ] >>
endobj
789 0 obj
-<< /D [ 779 0 R /XYZ 79.822 653.263 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 712.042 null ] >>
endobj
790 0 obj
-<< /D [ 779 0 R /XYZ 79.822 642.304 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 701.083 null ] >>
endobj
791 0 obj
-<< /D [ 779 0 R /XYZ 79.822 631.345 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 690.124 null ] >>
endobj
792 0 obj
-<< /D [ 779 0 R /XYZ 79.822 620.386 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 679.166 null ] >>
endobj
793 0 obj
-<< /D [ 779 0 R /XYZ 79.822 609.427 null ] >>
-endobj
-217 0 obj
-<< /D [ 779 0 R /XYZ 79.37 583.978 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 668.207 null ] >>
endobj
794 0 obj
-<< /D [ 779 0 R /XYZ 79.822 534.244 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 657.248 null ] >>
endobj
795 0 obj
-<< /D [ 779 0 R /XYZ 79.822 523.285 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 646.289 null ] >>
endobj
796 0 obj
-<< /D [ 779 0 R /XYZ 79.822 474.468 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 635.33 null ] >>
+endobj
+213 0 obj
+<< /D [ 784 0 R /XYZ 79.37 609.881 null ] >>
endobj
797 0 obj
-<< /D [ 779 0 R /XYZ 79.822 427.644 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 560.147 null ] >>
endobj
798 0 obj
-<< /D [ 779 0 R /XYZ 79.822 380.819 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 549.188 null ] >>
endobj
799 0 obj
-<< /D [ 779 0 R /XYZ 79.822 345.95 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 500.371 null ] >>
endobj
800 0 obj
-<< /D [ 779 0 R /XYZ 79.822 334.991 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 453.547 null ] >>
endobj
801 0 obj
-<< /D [ 779 0 R /XYZ 79.822 288.167 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 406.722 null ] >>
endobj
802 0 obj
-<< /D [ 779 0 R /XYZ 79.822 259.275 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 371.853 null ] >>
endobj
803 0 obj
-<< /D [ 779 0 R /XYZ 79.822 218.428 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 360.894 null ] >>
endobj
804 0 obj
-<< /D [ 779 0 R /XYZ 79.822 171.604 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 314.07 null ] >>
endobj
805 0 obj
-<< /D [ 779 0 R /XYZ 79.822 112.824 null ] >>
+<< /D [ 784 0 R /XYZ 79.822 285.178 null ] >>
endobj
-778 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-808 0 obj
-<< /Filter /FlateDecode /Length 2898 >>
-stream
-xÚí\ËŽc7Ý÷WøZ‘¨7P( n—dÝ»`¶3«ùÿmôEÉ×–Ë40³¨¤ú^]Š¢ÈǨâ§ÿœøéoçŸß~»
-}òÌ0êôóßßDxÁOâd=“öd`܈ÓÏÿžþzãÜ
-Îå5ü
-”\ø<Gø'×"ÎœO\œó¸øÞšü¼~ÇÅ1
-ë•‚˜Ö
-…J¤æêZA¾÷V›©*Œ´ti3“çÌ
-Xý¢b=Y6@㓲i¢8WÓÕçšO .&Ö»Ž#óÓ t‡ÙCn€q')˽óE2?—w<µ°Ì•%”ÓΟ3§}-º9ƺ²(_ë“"—'2 ¡ßPIG•aÒ¯ç0IžæÚ˜_Y'ÛØîMw܃ã08ê9S.Pt³Þ vCÏZuN˾u†;¦y æõ¤cÅæ–ÁÄÿ9hzpéüÇ}7%’KR6TžÁsc4SrÂ/ ;øEˆ$Dª‘9†ùyÝÉk´g¼ÂÚ¼ƒJ1 m]ÆQǺ
-=Ý2ô”o5¨,ñÒô6;é3òŽ‘ZÇÝÔîŠ}3©¾?ƹî±ôlpC0-»yd0*<wC«PäIñ¾ˆ,Œq‰YjÏ@
-:ãÀ$ÏtH…(¯jmªšw18¹c Jf‘ûf&ð`CÄÌÌyËÌF"ÉÉžiÎòlw9íìÇjûs’!=`DÜ3d¸2"åÞ°‹Ï`^Mž‘“3ËDˆŸ­t­¨ò°ŠR™³>‡]=TWæQPÝ’½su^nr^þV,¯Ü›ùÛÉSŘH´d[51)o7ÐsÙW4òì–™”GAR²® ^uÏ|’[[¡Ìå‡:Ú¡QstÐ{+ºmŸ±Ýv ­Ueü"|PJ¢àEµÊB\iùW Cj~©Hõ¡>YíY~S÷,ϵܳ<pÈï£~·ó2º„<¼j`æå%0 ‚ÊL^êϦ„§_']¿´ÒÅm,æÈ‘¯cxžŽçvcíüõûwkE”»HWSež²l¬È¦æ0Æ]-ˆ( ‘Å&?^+JÞšzZŠêmÉ9~#>@—ñ”›TLó·K16Ÿ#ø“–É\ÓoëÏkÎãj(ëµùP)/CH}³B§1ºÛU¤<Pš:M‰ Œð‡™X`“•Ìq‚M”½€Mn$GŽW”ûð÷^G¼ÆUçÞÚ3‰´èC¢½r÷öjˆ:‘ž¡›‘UŸ–R½ ªÎÉZ+IÜ1FiO²û:³PÂ1ãñ¹Ò—Áª3s ÷ûN Gˆ|¾ôu péPÙë8ŽÓ!öZ­â8ååF>¦å§š®×*ñ—h«Ýp&Òœ¼§¥òüdDú»µÉ ³|C1uæ-ëBÙNÐxÂPJýQì9JЯ%ŒÆ³ÉSpˆLHM©¶`ÇË¥\›¢û©Àk(J†y7S‚ÓqöÎÊ„¶Ì¡³= B²à($È­ê/!’ U
->‘νLæ>é@¯´ä·eÀqo&¸-ŒD^#¬ÿk?†AåNß® µú^­Î‹j¨”Ö‡uˆçÂ+2ëÙHÅ
-¡ït¹ >Aç¹…œúÉŤ?Ž–@cý4ãöɇÅU¼þ¯.¹WÊ‘ÒW316/ùN¯Y€J%V²´âà oáT°€’ý* «¤KW$ó˜ñ+¨½2nhù"Êç,ÓÆ ‰ˆ ãnôî\î•ð÷ÔÐ Og¼eRK5Äm ç;*È™ñ’Î]Tï³jÜŸ{ŸO“oÔ\Oj@­0„­Ô¤Ž‹C¸ˆïj‰ðißX@Û~P—ÂXk:úhصg8h30°”;
-ûX I;ãÉÖÙ"!ò¬í’ø ^
-ë˜jò%[çd„ÈëðòÆ'Ì“|(M\QpdzI"¸^‘™ñxYÀŒÄ”×üQ8ûš«ÿÇY1Î"Â Ý ¹D¼›‚݉±s!ý"3?a÷J2=g[:#Ï[=í&¨òÛN"žG Ìð)òÜ+³"¯A‹/ÍòÎaÂÕ­@žÏ¬ãŸØr,]¿L;Þ+¬ÑÖû‚¤ùДêy+ã_·â9!3^üo—O‰¯K±™âÛ79d°#€r°@±]Yji{Eþ‘Æ/RýQWîü± Î\?>ÃzÚoä-!L,Ý
-pKïç¯×é3Ý©“&=þC~44‡üWàÚ¯ä±õ´tñ¥žÿ*]€_ÜMi§V—ÞÎROFËõÆÉa=Õ)Æ•÷“ý9*Þ»‚ú¨o4ÇHB
-ÊÄ×´ÆÄvH‚¤R¥XZ5Á»+μí4o±óÇÏoí@5º
-endstream
+806 0 obj
+<< /D [ 784 0 R /XYZ 79.822 220.421 null ] >>
endobj
807 0 obj
-<< /Type /Page /Contents 808 0 R /Resources 806 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 784 0 R /XYZ 79.822 161.641 null ] >>
endobj
-809 0 obj
-<< /D [ 807 0 R /XYZ 78.37 808.885 null ] >>
+808 0 obj
+<< /D [ 784 0 R /XYZ 79.822 102.862 null ] >>
endobj
-810 0 obj
-<< /D [ 807 0 R /XYZ 79.822 730.975 null ] >>
+783 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
811 0 obj
-<< /D [ 807 0 R /XYZ 79.822 720.016 null ] >>
+<< /Filter /FlateDecode /Length 2873 >>
+stream
+xÚí\ÉŽ#9½×WøJ­} ´Ëéú\·Æ\gNóÿצvŠ’ÖÓÙ(`æàr:BAQ\)ŠQüôŸ?ýñíüóÛoWaN+­>ýü÷77øIœ\`ÊœŒ[qúùßÓ_oœ‹3çúòþ]i¿´Œ¿ò· ù[ü€oGXáø»‰#óU£•¬Ï¿Üû¿~þ \8½âBXɸW” 3iÖÙã'Î#U¾ódÊëõIá˜W’RV‘ò9sÚ×¹ô¨+30Î…ø©W²þÂtâ* •d÷.}¢¼žÃ&yæ1Îâ1êš)Ù6{½ªâ .é¡ðdzԓÖΔ‹Äÿ‘64hÃÌV!¬Q]ué5`8P f²±™Ï¢?b:0Ám³ƒKç?ê=?W¤l©=
+Â#0ËkŒTY0y„­Wf¶\YkTºH «/¡Ëcv q©XºîPºê­ºÝBG³úá&SÒâpÛ…:¥Þ–®Zï4ž$“®,T
+UÞàÖ†ˆå8Í\7÷3vÛn u[ªmXTœ´VhC¡ÛÖ5.´ü*•«ºÑd{[¯¬T–ïT•å¹–*ˇ d4ïV•¼Œ!¯˜y9†C%a«"ˆÈÔ¥~î °dZòp2ôKÛßbÉ< Üøp̱òçxfñÕM¿w.&Z¤Õ‹«­òÎ)²a[³D9–‘ºI1" ?^ê)ö ¸á¹Æ¨ÓŠ–¨˜“ââ×ÅP³6PnR¥&8ì×>•dù\ð-%Ì2"yjú«sÝ‘yÍy|B5£6ªeô¨w–è Æ@»D‘šÁN§)1Áþ0 X2œyF\Z¦SÉIã•Êù;I½ç ®Æõ¾Ð¾£èÉ8Ö•¿§«qWá‘ÎÚŒÍÉj8K'º@™õ1>ƒ'Ù}[há™õžÎø\]Å(Ë
+endstream
+endobj
+810 0 obj
+<< /Type /Page /Contents 811 0 R /Resources 809 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
812 0 obj
-<< /D [ 807 0 R /XYZ 79.822 673.207 null ] >>
+<< /D [ 810 0 R /XYZ 78.37 808.885 null ] >>
endobj
813 0 obj
-<< /D [ 807 0 R /XYZ 79.822 638.352 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 742.926 null ] >>
endobj
814 0 obj
-<< /D [ 807 0 R /XYZ 79.822 567.632 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 684.147 null ] >>
endobj
815 0 obj
-<< /D [ 807 0 R /XYZ 79.822 520.823 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 673.188 null ] >>
endobj
816 0 obj
-<< /D [ 807 0 R /XYZ 79.822 509.864 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 662.229 null ] >>
endobj
817 0 obj
-<< /D [ 807 0 R /XYZ 79.822 475.01 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 615.405 null ] >>
endobj
818 0 obj
-<< /D [ 807 0 R /XYZ 79.822 428.2 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 544.67 null ] >>
endobj
819 0 obj
-<< /D [ 807 0 R /XYZ 79.822 381.391 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 497.846 null ] >>
endobj
820 0 obj
-<< /D [ 807 0 R /XYZ 79.822 370.432 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 486.887 null ] >>
endobj
821 0 obj
-<< /D [ 807 0 R /XYZ 79.822 335.578 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 452.017 null ] >>
endobj
822 0 obj
-<< /D [ 807 0 R /XYZ 79.822 300.723 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 405.193 null ] >>
endobj
823 0 obj
-<< /D [ 807 0 R /XYZ 79.822 289.764 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 358.369 null ] >>
endobj
824 0 obj
-<< /D [ 807 0 R /XYZ 79.822 254.91 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 347.41 null ] >>
endobj
825 0 obj
-<< /D [ 807 0 R /XYZ 79.822 243.951 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 312.54 null ] >>
endobj
826 0 obj
-<< /D [ 807 0 R /XYZ 79.822 197.142 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 277.671 null ] >>
endobj
827 0 obj
-<< /D [ 807 0 R /XYZ 79.822 186.183 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 266.712 null ] >>
endobj
828 0 obj
-<< /D [ 807 0 R /XYZ 79.822 151.328 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 231.843 null ] >>
endobj
829 0 obj
-<< /D [ 807 0 R /XYZ 79.822 140.369 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 220.884 null ] >>
endobj
830 0 obj
-<< /D [ 807 0 R /XYZ 79.822 105.515 null ] >>
+<< /D [ 810 0 R /XYZ 79.822 174.06 null ] >>
endobj
-806 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-833 0 obj
-<< /Filter /FlateDecode /Length 3199 >>
-stream
-xÚå9Ž$¹ÑŸWÔ†"ƒÁ h40ÕDzÇäJ–þïnð&ƒ™Y™½ÕëȨé*&Œû"säí¿7yûãÇý÷|*s "X°xûýŸŠÈ›º% š›³JH«n¿ÿwû׋”oîõ§‘’¾¡’RÓ/T†~Ù@¿>éqÄÆ‘wú@¡¿rs´Ï]V£}÷’ç9ûúïßÿ$Dn!
-J §‘cêh%Ò>+üe›\@Rs &y¸½±ä²= ­Ö…¸}„„D<1OÌcñY'f¡§Á »D‹0Ô[cã{fcd;Þ«0
-cîq&}÷u“¯&¯£yU\ï4C‚Š3l¨»l¯kP ŽñIÞ+®ýú|’p"¼ª$
-pîæ0%m%ÔlŒ$´ˆ`­õKÿ~(&…Fx§8Ü(¦„ò}Wù¿¯ÚSæ|–ÝîÇÚ(4,T?ÑZM h’ß·0ðÙHaAnXØÞê+&­PÖ1D¯˜6d'jHUà]Z£©`S™¬½qaÕàLüŽ&§µè¸ðδjÇ,Ñg,[í‚ß$¤+P¦‹¸º/8Ä–ŒG@àØ~“cpÂFϺ)²lÏ‰Ú Ä«Më­œ
-ßwÅ)˜Ô8c<´Tój(*ÇÛ—eþ†Ôµf+Rejè“C§îˆ²¬7t7L‚ Ø†¥x¿˜ „sžgƒ®dƒ Ès²ÁoÈ]ŠÁ Þ´ÖQ Ü=ϯ&Tó²mÇvMk„äšá# z9ÝŪ€éë¦éêNiuÕŸ< x*î ®6¢þ‘¸”fƒÏ÷¿BÓÃãƒÃzíÐ\Q
-š» îü
-@Åe€e÷Gå^ÉXîa2›*ìj£y–-÷2×ùùt¯ÅØ¡G3ï×ÕÃm®ºà·²úa ¨ä¾ìµd<.ÕJOŠq3)Æ-¯•çN 1žòZܼ–¦AýœÏ£ÅWçf–öTŸ%õ†bd¼sU’ˆï=¯9ü6}õ\,eùºµPÊ>4·8V%7 ¥m\)J
-Ú‰3¦j|-ö¦ÂNÄot^(
-¶ò›bÇïºQ!˜j1*k.Õ äIÑâ@’)ùj’ÜŒWx ­°à%Ì@¶xÐÝåA6©oãC…lë7—ðDZÑóLwÆé¨ØæWûN§ÞˆØÚrQ9ƒÓ€/UB+ÈV; ³‡³Ç÷ÝŠ?kuÉö·Ö>ÝtÍ¿6ÃÜ\÷©ü–âŒY*á¼^"¤¾¤È3¨ÎéË‘qR‡Z5‰nà%9ánRP9cïQq·([jq!.Ê ;s›SCÆVï\Ö¨˜õîAëè°P±SKV®×Íë--}ïÑu2÷-cßo°|÷ž“ÁËØM©#³†Ã¢•«]ì¯:¦f̉ãÓhÕsKJNo(¬§`I‰åxù©~fŒÝ~T ¤ðÌä¡ù¸w¢PX·Bññ†·-gwK}ÚB«Yº–idá®Á‘»Fï®zÈÝ4sìâç‘Zqä—&{1ïÕú;mŸZît um Üxo¯ïÛ.rÜyzÓfÕŽRÃw¾ø ãäz«Ð½w'T
-‰Âô©Ÿm6úÙ:dÈLŒ/JO÷óÁDZ YfÈx#ÓÒÅ|6^ãZŽQÀð—³ÚÙÞûãë®Ú‘×GNÃ^¦ ¿˜@£}½Â£¿öHlßëµFh»`Ä‹ÜÌ/„‘Çí>—±Ç1P²Æ㘡É:C #¤TNmä×»`ã«Ó!Øé5-ÙÍl«¥ o5Üàä$땼JMw.‹údºG¶W%=pÉú’ž\ÄÔ”¨.¿Œ÷Qæð¦‹ÐÍE,¥ß塋ȳF¡õ®‹hõ뎋¸˜IÕWñ" ˤðãJ&Å€¤Ljt%_ê91O¸B{|A§r?®¾Á€¤rèÞ±é_™ÏvªRT)Ö’)Åê©lš²Í¡ÈÚÏ> ´?ûµ¾óœRÁ5çÛ‘S'ï*é„&1(`/£á)Óähœ¼.¥”Î8…çý«ËzBþ…H§X³ùë‘3”+qððk™9þïMßêëhk]Ti®¨¯jAè!§,„žlß+ »sÀ¡tô¸\ÇKH•|,oÝéÏ«ÍŠY/LRŸƒ¾Î*£È‚ÜÂ*Íþf(_@¥ÐÞ/ªy©‡Æ€<Ç­u†“úœëñ@
-endstream
+831 0 obj
+<< /D [ 810 0 R /XYZ 79.822 163.101 null ] >>
endobj
832 0 obj
-<< /Type /Page /Contents 833 0 R /Resources 831 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 810 0 R /XYZ 79.822 128.232 null ] >>
endobj
-834 0 obj
-<< /D [ 832 0 R /XYZ 78.37 808.885 null ] >>
+833 0 obj
+<< /D [ 810 0 R /XYZ 79.822 117.273 null ] >>
endobj
-835 0 obj
-<< /D [ 832 0 R /XYZ 79.822 650.274 null ] >>
+834 0 obj
+<< /D [ 810 0 R /XYZ 79.822 82.403 null ] >>
endobj
-836 0 obj
-<< /D [ 832 0 R /XYZ 79.822 577.547 null ] >>
+809 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
837 0 obj
-<< /D [ 832 0 R /XYZ 79.822 542.677 null ] >>
+<< /Filter /FlateDecode /Length 3468 >>
+stream
+xÚå\Ën%¹ Ý÷WøZ‘(êú¶í²î]m²Êÿo‡z?«néöõAž±«$Šâ㈤XÍ_þýÂ_þøvûõíoŸB½8æ4h|ùõ¯o‚^ðñb“æÅhÁ¸/¿þóòWεå\~Ò¼}åè‰4œ+Á9Úø£Äzn€þö?ï4ææG[z
+ŸééÍÓˆou¨¼gºe~ ›Ÿ‚¤ß<¡Ê€v Kš7Sýbñmë—f93< ‹AdÉ¿í7¸eFë(Íéç=¾ 4ÃÚ ËQ ú퟿þNâ6¸·´È¸˜N;âJ&®\]L¢¶V‚d ÄHÍÏÖü””È´ØÀ5˜þ¯0Š l_WÍ‘hÏØTB2!õĦ ³ò('˜BõbP0+lô“ô¨¸×7&­¢PƒVQè×ÄD½ÐîWOëØi6ê¨??c$Žœ.ìñL(€d r$’L÷ty¥ðiù#Ý‘ð¢Þ\ëAgìI°Lâá&³ÃEeˆŸEŒïQŒ^ìÙû½ãÁÜüÈèçqžáo*Îväg·"|@Ù*ÊÐ.¯²žW¨˜ç´˜ÒšàÈÀG‚cVËý²·K)_3bœªI bÖˆ‘®WS`ùƒ~ñÇÿ>[OS ôÜš
+HÁÐLŠÀÛ`Y®‰†„£ÇÙÞiÀÙåV.ȧ§… Èq¿_dËè Ó_×jË!dž­Xú_òkíÈ xD’ïw)Ì ©ô$ò›â!
+xSâµ9?˨ ÜÑ”0–)åF¼¦$‡)Ðqº =nÃy›Ã §R<晈#óÓNñN %8¼vÚHáD˜¶p úZaBòg˜hæ@ŒtÜwVó$—S3§àLá´R8{h?Ï£NQŽ‘ãlóÞÅH“yZͤ®ç¿ºoäÿÉ¥ÃÞ°GˆãMåVÆUC>œ‰éÜ6XA$C`œ³
+Å㛊GJ=mûº°—²jiOgÎA<ÍÕáèûŽ6d#G’Zó4Hj©5ƒ EµÅ"Å–ÂPWÙ‘Â.”®üìj¨ )iðvÚs0FM1Ðé
+ñFÊÉ59S¾pEÿýƒ(6 sVHh)X
+í-¹-å=šòžLÀ«Ð«SEB©þE1"¾XbCÓn"h:°#‘`MÀð¶Ù'xyRÆ«@}ǺœæÀ$Þهś•%Z\ÖÏœk5ÑŽâÓš§uãÞS åZ\Ë#.Uò\.™åuc¼¢•SûÒÀ¸’ã.ÿÂØRjÍ´#!vÐTB žH½óS~X¢tN3«fr¡ñ
+5Z\À(í±U4gWȈ»'«Ó,ŽÐ]öš•ðfmùí ã²^þÍK(úFT1êH%WhJnø™O†’ãÛj8‰“œGŽ›Újœ ÉäÆ*fßAb¯êŠ”›*z5è¡îîlgÑnû:¯™8z\0¥ï›¡ RdÝ
+¦PwBÁÈsBÁ/\’ÃCK„ÕµmÊÌ׶vqm›†¨èæÉå¢
+ Z'*Å´qy¼ X™öÁžî›v$·AFvÅ”À‰ù‹d\0àjœ®]Pv©Æ¸åtáéq%þDѧÕrqX-]Íû€öÎQ”¯IÁÐOð+¸¼ç¿rÕ(æIå¼éú¸M•¥S³Õ¤3’v·þƒ-þþ×xý·´.Tü@8‚;ð€)f !Ô³fŸPK
+«âØ. ÆKXÉ=€UÒ0=±~ ©@INŒ³cý SÅ2Rq¹0ŒÈwÌEÂÍð­Fß9r_ï/߇…Ø^–²IZçŽå&8|™­u°“Š@¸?½zÁd‹Ï)^—îÁ•S[«‰vMa9çCa²ÏØ—”·Ðf|±JO©"š{’ÒÀþÈI¯-,ø-Ø.ÌkÛOÀv‰” IÄçÁ]'A^‹‚U#ñý½.Fî‹n Þæ÷©ë«ÉÔm6€diîó5«*‰|Dz|»oP®€›âLJõŸ'¹€W;?ú¼#WlëÅìž<’
+A»ÆÝË÷Á"‘oÕ5Fþ?ŸƒŽ/–¢ÉgTx鬨oœÃÌ/:+FþöJJæœJ߶œª'ò¤ÓâD“!ø*š\ž;2
+[é*y8ë®tÃȶ²Ÿä@0~ÈV‹>q­’v—urZ9”¹L§pñ)U]·\©ßÆS§ŒÊ‰~á·ïÀ…vpîî2ïäS|—„ÞÕբƸ°!c™¦íWíúÅb1úh”j/´Ð+ï&Ú†š©´ jüR¦Ü²¼ßï:”†N÷p
+endstream
+endobj
+836 0 obj
+<< /Type /Page /Contents 837 0 R /Resources 835 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
838 0 obj
-<< /D [ 832 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 836 0 R /XYZ 78.37 808.885 null ] >>
endobj
839 0 obj
-<< /D [ 832 0 R /XYZ 79.822 425.118 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 632.395 null ] >>
endobj
840 0 obj
-<< /D [ 832 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 560.521 null ] >>
endobj
841 0 obj
-<< /D [ 832 0 R /XYZ 79.822 355.38 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 526.334 null ] >>
endobj
842 0 obj
-<< /D [ 832 0 R /XYZ 79.822 344.421 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 444.326 null ] >>
endobj
843 0 obj
-<< /D [ 832 0 R /XYZ 79.822 309.552 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 410.139 null ] >>
endobj
844 0 obj
-<< /D [ 832 0 R /XYZ 79.822 238.817 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 375.952 null ] >>
endobj
845 0 obj
-<< /D [ 832 0 R /XYZ 79.822 213.91 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 341.765 null ] >>
endobj
846 0 obj
-<< /D [ 832 0 R /XYZ 79.822 202.951 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 330.806 null ] >>
endobj
847 0 obj
-<< /D [ 832 0 R /XYZ 79.822 191.992 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 260.753 null ] >>
endobj
848 0 obj
-<< /D [ 832 0 R /XYZ 79.822 181.034 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 236.699 null ] >>
endobj
849 0 obj
-<< /D [ 832 0 R /XYZ 79.822 170.075 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 225.741 null ] >>
endobj
850 0 obj
-<< /D [ 832 0 R /XYZ 79.822 159.116 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 210.141 null ] >>
endobj
851 0 obj
-<< /D [ 832 0 R /XYZ 79.822 148.157 null ] >>
-endobj
-831 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 836 0 R /XYZ 79.822 199.183 null ] >>
endobj
-854 0 obj
-<< /Filter /FlateDecode /Length 2254 >>
-stream
-xÚÅZËr#·ÝÏWè†!Áw•ËUÖh”ª¬½Ke›»ºÿ¿ _àlµIÙ™,dKÝM<xð
-Îå=|€su{ý®$WÇ«xE™W°/ù9k^ÿzÿ#ÌcÕÑ<B¦È@©Ã„6NÆó5¾ˆœÃ5 7P„/¸c’ *]周ì°i󬆷YàvºÐé"‚®ÊI?Ãw‘?ñ{„+­A¶ßÊ®C‚e\¨ÉP´wIBYÈ×ïà^z{ÄÅÈ_|¸‡îñ)‘&«‹}Wà_òs šø+JŠ-ʳÐMKF›[6Z8ÌvÅ™:‰Ë&>§<Üà"Ñ y‘yf×/¾H–R¾äU¥§¯ù“WW®g9ÓÑýÃßßàÚ_óNHèwšÓ+5Ú¡*:N-¦² E¿Ýº¸`5#]/Ä[æÁQ!Ñ-¢–™hþ¤?äõÄßÑFá‚”çñ{X ÄUý(ö öÑ Qrçh‹0ƒ-ìçÏ1JßÆ ÞSœ¤\ÂIpˤ*̶B2PT õsM a˜Õ–‰˜FO¥d¤
-VPðôÍ£%0ôª×–º’eª´:Â]H8ÊnƒÅ!üo7¨h}üì¡5JI.x/yý¨ª´c¨¨aì"Ÿ0È6 Æ &( ¶
-kEÆÝÈTU²kö¿FUcÅáÖ*°†¹iõ²èc"~âzåyu!Cu¨¤}ši¸`Fûɶh&’¢´Ø _O5ïýÆqŒJ‘V¥/øšYßJûU¾†™ª7{ÌPÅÖxI»r•VKÅûj©¿µ}6VGù*úesû¨vsðÙ7®cØœŽNä=E궫ih†›\m‘©W#B(GÙw³C„žæ)ZkæäÄlë
-Ùß äuvW”
-
-Ú+‹ûxõRöÙ^Á!íáõÈÏ!3Ã…!\ù®‚^fay§Þá9S\P=ñ‡g½Mæ”çN(l¼¤
-iWÛø%ŒpÃÌ`Ö–
-¥Úù*¥Ú„8²óÆ|¥À%/#¯ÍãLL^?(ª:‹»§¸ËS£9Ÿ•dPÍâÞØ[Êj÷æKØG²mùg¶Ú2ðnR/´ê¥õ°ð©ÕKºka<¹+c|»š=ï ™ò/ñ¿ÁulÖ¨ÎN—ÊŽoåÉ[/ûH‡zŸx,îg©ú*z-$ ‹Õ›´tÎÊôêÚjÔf0L
-ÓgÏ/)L7mÕo[Tgò Ï—>·O©êÞ¸Ýr\05ñäÕ)rœAÈ~'ZÆŒ­g-ÜVÇŸHI•f—BŸïúÑ15q‹Åžn¼ÊMÊÃäõz¶QJ‚­ßMrùúõÊÇ´”“òjËóˆ”%+•`FÖƒ%ÎûF=·±%ScÜ«Û!ÿ9e'Æ„ýGQ- ˆÔ²q²Êãì/f
-TÖP)”LöÛÄxÀ€‰÷`Würæd\ÌA¡÷–:J³À¡
-endstream
+852 0 obj
+<< /D [ 836 0 R /XYZ 79.822 188.224 null ] >>
endobj
853 0 obj
-<< /Type /Page /Contents 854 0 R /Resources 852 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 836 0 R /XYZ 79.822 177.265 null ] >>
+endobj
+854 0 obj
+<< /D [ 836 0 R /XYZ 79.822 166.306 null ] >>
endobj
855 0 obj
-<< /D [ 853 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 155.347 null ] >>
endobj
856 0 obj
-<< /D [ 853 0 R /XYZ 79.822 742.926 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 144.388 null ] >>
endobj
857 0 obj
-<< /D [ 853 0 R /XYZ 79.822 731.968 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 133.429 null ] >>
endobj
858 0 obj
-<< /D [ 853 0 R /XYZ 79.822 721.009 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 122.47 null ] >>
endobj
859 0 obj
-<< /D [ 853 0 R /XYZ 79.822 710.05 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 111.511 null ] >>
endobj
860 0 obj
-<< /D [ 853 0 R /XYZ 79.822 699.091 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 100.552 null ] >>
endobj
861 0 obj
-<< /D [ 853 0 R /XYZ 79.822 688.132 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 89.593 null ] >>
endobj
862 0 obj
-<< /D [ 853 0 R /XYZ 79.822 677.173 null ] >>
+<< /D [ 836 0 R /XYZ 79.822 78.635 null ] >>
endobj
-863 0 obj
-<< /D [ 853 0 R /XYZ 79.822 666.214 null ] >>
-endobj
-864 0 obj
-<< /D [ 853 0 R /XYZ 79.822 655.255 null ] >>
+835 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
865 0 obj
-<< /D [ 853 0 R /XYZ 79.822 644.296 null ] >>
+<< /Filter /FlateDecode /Length 2836 >>
+stream
+xÚÍ[ÉŽ#9½×WøJ-Qk
+~ùï…_þüqýõã›Ð—mŒºüúÏáoð‹¸ØI{±F0nÄå×ÿ.ÿzãÜ8ÎåÍàý§”Ò_‘–s-8W.}´xç¯[ð¿Ãg÷Ï\ñét%=a¶@'ÜMÿ ǧàšhž>ñ®ÿhõþ3zÂp 7pX è§o~õ¬*“&ä¬yÿ÷¯¿üâ­š-¬anX½Ì|LŸ°^O>šKQrÇ@¥¤]Å™ŠðÿôôvQlsBBKÁiN_¬² ¬,Šð¬Ø-|¡¬Ï?nN]œgÃH×Ù,ÛÀQ" ªŽ‚¸ÌWÖ$ýÁ§ÿýùþSƒÆ§]z
+Dú„ïs©dj…ú¡”²­º|™­%sèÕîmÁ¥1Á®<wùj¡g(ö(³ÝUVÌž†¢pëh—a¸·0Âv5ðÑ6“ys.>“ù'“'ns8:*·‚ÈT×MMHÆÕ`j–L­'Œ'pˆ´nfS }!Õå5r`Ü/€¬Ñ\—ÖØ¡kDû@×
+ßõ×û‚5·£÷ê„2Ã(efTN8£q‚¸6qÅ ]¬bv¯u-Ô1XîšK—a·‘ê]wœx:öY WF7!#¹".&~]wOc,sz4ÝÓ%DÖw‚^ˆ¹"¸a´MÔ’°Ò} ‘“ÝaEJ2« •\Ú ‘°*ÈA“®?üÆ\+Q6ºø<~¿U×Ö*ì*¯VNÑ1÷çd63Kø\–Ÿf=À¡òs§ä'¸eÒÇBL‘ˆ9µNÅÆ¿Á¬²=ñ„€)üØÜXeg±j³M¼Q×ôA¥{´p„<…Û(M¹¡&â|‰ñ@ç{wgÎߥÞ=P¢'¨Æê÷&ôu0^‰JâY±{e6„`‹!¸Ø)ÔßËÛµèÛ2bŠ–wŸ¥ÐÛ€ÞÓºXtË,î°©·¼Ïîxw„¸‡Câ#=‡È †âJw´43Ê;´Ž3Ååó~xÖJ0Ð$LyœàÍ6Iò»ÚO%EãF¸a&aÍk'–"$
+µÓU
+µ;âÈÆÓ•"
+¦å0Qv™˜ge7Ée¦ûµ^/
+ådI@Ð P*OèFJ7·“µ©™Çû”J±oYKFˆfƒ‡¨u6¼-ŠÁ„ô›=•Àæ)'ÎI¦éuæÕ÷T§ÀRoS2ÏïéJ&{@L*Í<w”ʦÂ}ú?B‹³pR+¦„¡T(œl7Š¾Á€¡w²/¾EI·1e]êY˜—J¨€9¢dÈàŠ?kLˆ åvGWàeÍ'Y#hA ñ¹²÷–,tRiŠObVš~…,;Ñìã%Þ/¥“<o®Pš\F³oµÊ!¡¦TNâÀ4 o×Yª*ËЉ{õ k5‘¢§éJèÚ¡ùÚ1ªR’iÁ‰^IÉÐ@µTŒ+íÅÛ“÷;Rƒ–ju#8A%êt'æb«¹Œ…i€Y(¦ZŠÓ–Ú:<“Ê»‰ì@J«Îù“‘±5O¨$wW¥âÿþ3ZæÞ÷<-¯­SõƒYí¿ä%äYª¬÷ÃPû×õ[ŽžLÒCUë¨ OâÜ"ÈžJ/ÈÀ|ôŒ{°ßƒ´§Y÷ 1eý,ŘÚSy‚ '¹¸øXÚK{"O0Á5\P.΂¿ g"µuñ»¨Ë'ÔL(Ø< AÄíPY—8É„“ƒÎô=•Þû»#EC™þ~ä˜en¡†n›°up›D ¨õ÷yžñŠˆ€„·V‰$TN„@ù¥™¹ii‚3 -M¿ŒSh.ŸÞg›ÚF"ÒmÄñJ¨ˆØrz/Ž<¬êl>Ðz‰¨¦7ÎÆM›ªùûÇ5ŽŠ °èŒ'«Pró“r…_ „òœ/¥…Pƒ1Ä]B1ƒYXÍtÛÓÜ›Îe4… OFÒ‡³QœVº(ÜÎué[øl0Q³7çhÇ¿<9Ÿk(¿Å«}ù-^¹H¤U ¥üÆ[í§+jð4æá©mQÆÁh(òñ- Æo?„Pêó%ÖZwÃ|:¬ÇîtM^9E@ 늣Ô^anž¤©¥ÇÃWIµØ¸+2­¿Úƒ
+*¸‹ Ò?r“ldàc¡èN/ÍJÌ*ÿת9¯`ª9<rh§:0t¶è8JtŽ“åSƒƒî8ÈNš7ŬÓƒüãØ>¼7yD6ÿ¸1 GR¡³ÙH5ÙßdzØŠmÛÏu]E³w¸l© wÕT\·ºÜ䎛ø­kt­ ÞUÚd.ncRo¦Zôû
+î4
+^Puþ{"-Kõd ¥Úùÿª„­þ{Ò;Æ»Bo>E}Ùðns˜·³Ä£0Ý!ií Ò¬þ9Œ`Ó_)f@#½­= «¶&>•Ÿ_ÖúŒæ¶AžʧÒ8攦£Î`ç|~ÃœÇz—>¼+=ŒÒæô«îÝ¡¦¬,úêm㉈¨43$éûX}_‡ù>ßM5Õ·ýš[|ÎKy¸3EÛÿªÜÊYòI"?nÉAîçy {ž6¯HØ…ÇÕÆhª»µV6!òG®®S•Èñêo…Ÿ:|ý¹cÚL«>¸¬àvîèý±xwxÌm3ìïÜ
+œs¶}Û$Ží‚˜sçß6AMò~7k͸‘T¦÷Ž÷µsÎJóù …»%
+)=FÙèlÑû]‰¾÷xUÊ{œxÄj 9ž`1™ØÖn“-±ÐÖ˾ϛsËÎ5ªç†2—}ëÙL%š-媣¨•Áhe¹¦FNãƒ%åOÏ)›h 㯢cbÅ¥Ç(6¡ú
+úK-ïÕ•º·Y1Ÿ-=¹‰ŒbQæ²Q¾S:z®fÚ™9è§,,•Ž¯éÓ´-ç|o^¶êðf¬5ÃjÛ˜áO
+WÔ7IúŽ^¾¨“¿è´öeÖÚœ¼NýÛ=IË™3†n³«ï`¶4Ö^35ÏF´RnÍñ#3¼Žzÿð6ÎatÄ’Ù}ýúñ7Üû˜
+endstream
+endobj
+864 0 obj
+<< /Type /Page /Contents 865 0 R /Resources 863 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
866 0 obj
-<< /D [ 853 0 R /XYZ 79.822 609.427 null ] >>
+<< /D [ 864 0 R /XYZ 78.37 808.885 null ] >>
endobj
867 0 obj
-<< /D [ 853 0 R /XYZ 79.822 574.558 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 755.041 null ] >>
endobj
868 0 obj
-<< /D [ 853 0 R /XYZ 79.822 563.599 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 720.811 null ] >>
endobj
869 0 obj
-<< /D [ 853 0 R /XYZ 79.822 528.73 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 709.852 null ] >>
endobj
870 0 obj
-<< /D [ 853 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 675.622 null ] >>
endobj
871 0 obj
-<< /D [ 853 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 651.515 null ] >>
endobj
872 0 obj
-<< /D [ 853 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 640.556 null ] >>
endobj
873 0 obj
-<< /D [ 853 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 568.627 null ] >>
endobj
874 0 obj
-<< /D [ 853 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 557.668 null ] >>
endobj
875 0 obj
-<< /D [ 853 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 546.709 null ] >>
endobj
876 0 obj
-<< /D [ 853 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 535.751 null ] >>
endobj
877 0 obj
-<< /D [ 853 0 R /XYZ 79.822 335.454 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 524.792 null ] >>
endobj
878 0 obj
-<< /D [ 853 0 R /XYZ 79.822 324.496 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 484.904 null ] >>
endobj
879 0 obj
-<< /D [ 853 0 R /XYZ 79.822 313.537 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 473.945 null ] >>
endobj
880 0 obj
-<< /D [ 853 0 R /XYZ 79.822 302.578 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 462.986 null ] >>
endobj
881 0 obj
-<< /D [ 853 0 R /XYZ 79.822 291.619 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 452.027 null ] >>
endobj
882 0 obj
-<< /D [ 853 0 R /XYZ 79.822 280.66 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 441.068 null ] >>
endobj
883 0 obj
-<< /D [ 853 0 R /XYZ 79.822 269.701 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 430.109 null ] >>
endobj
884 0 obj
-<< /D [ 853 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 419.15 null ] >>
endobj
885 0 obj
-<< /D [ 853 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 408.191 null ] >>
endobj
886 0 obj
-<< /D [ 853 0 R /XYZ 79.822 206.936 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 397.232 null ] >>
endobj
887 0 obj
-<< /D [ 853 0 R /XYZ 79.822 195.978 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 356.705 null ] >>
endobj
888 0 obj
-<< /D [ 853 0 R /XYZ 79.822 185.019 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 345.746 null ] >>
endobj
889 0 obj
-<< /D [ 853 0 R /XYZ 79.822 174.06 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 334.787 null ] >>
endobj
890 0 obj
-<< /D [ 853 0 R /XYZ 79.822 163.101 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 323.828 null ] >>
endobj
891 0 obj
-<< /D [ 853 0 R /XYZ 79.822 152.142 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 312.869 null ] >>
endobj
892 0 obj
-<< /D [ 853 0 R /XYZ 79.822 141.183 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 301.91 null ] >>
endobj
893 0 obj
-<< /D [ 853 0 R /XYZ 79.822 130.224 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 290.952 null ] >>
endobj
-852 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-896 0 obj
-<< /Filter /FlateDecode /Length 2975 >>
-stream
-xÚÍÉrܺñ04€P¥R•æIzU9û–Ê59åÿ¯ÁÖX©g;9Ðò`£ÑûFyû÷MÞþüvÿñíoŸÊÞ‚hn?þõMÅò¦n.ín•¨n?þsûÇ‹”è¥ÔŸñ‚×ïà1ÞÑNJ«¤4¾\V½‚‹÷Äßézkîiµwá^WßË¥þ(+ ÂÄ“V¡,—†ô4Þ3iÅK1½–¶Ä·¯@Ò¯UƒµÎa~óŸ?þ àÌŽ
-\¾Ûlg¥ZÂ%+rë´r¡~w6]uòûy•eüÈü…If3lâäü<ão*Nï]íÓÕÏÕ8û
-a7IMÇÀO§ó…2i|6ü7¦¬PÁ6®GÉõEr qËÅè@zþrVòI\ŽEA9á<r(´®p‰U™¥ùn ]…îmýIOM½ƒM4èÉl¥Êbè¦Ló@5BÃNŽ§Þ%oŸ9C2:Ç‹YÂ1¤°)Јÿþ cÃÍˆà•†‘0ÞŠènN)Í[£Kè·´ªñJ4Œææ#uQû‰ENðHÒꬉ$Õ6B!fúµZÖ…nçÆÓ@¢AµëIvmÖ” Y•+C~äd?Îu—Ý$*BÛ ÛÿÜeªJ)´Ñœªh/QuòÿAU=x‚KÔ;ŽwÑiáîâÝYÆx×oâݪ~Oâݲj
-Yê¶Ôçä!ª9(»ÆudÁê“f­']ï^v4Xa§3i¬u5e}¶ª÷¾‘}8FQ
- =£ôÂËß:
-ÒS²„\¢à¦šî™²ìWLL\ßû{«KNt?Kòyv´_¶»h¢ '9cÞL_âÝ ä÷ñŽ"ƒ ‰,ÇÿWðyÂÃ'Ö@@ü»³þÞ_¨v”ÕíøÚò¨lIòSÊ[ÀæÃ.öÏkç0./̬ßdÙ’µpÎSÕ7™Œßà°|Q ÉûCkl­¨9MYÛDGY^ü°o‘³Ã…ÖªÀwËÚï›õ}„«1QãÔ3TÇã (VSÑ1ú]m§V±H؛㗗àýÀKhBÖk/îeƳÔhËŒßâb«˜Õ¢Ë Û–ó—uÆ• Z'Éx£»¤™TréÕÀEè"nU•º²Âôú^?é¨Bfª.¹. [å
-¢®u£ú¤fpJ%ñ…r£¶eC‰
-‘‰A”?¡Üd6xS×1åëå¬=Çc¶5Çß”®6qß&í£äº¹…wf'z(;çíD‰+ã ¼%YoDT~îiÍÇOË€@­Ad“Ê<mñ £§KTÈ–ì V-›•*~ÅS”{e÷æÄ"
-”0×XbÑ"—‘ÊV¬ÏÆæÞë“™õÉYù“ßc:}dA•wÂÇ(šácuIhç(^G犼p°@ZübÆôÃTZëûPMl+æSöá&fp—f•fÌÖŸçJíü,Cl5ÏÂ…Óö`g{¬h[ Ùr\êÏXJJƒá«¡Ë!Û“Û5oóóÕâXd¢ûŽë8Í$âaE;ÉCÎzÑïZ
-§s]â>DÞc}]-Î9^œÃµ…€þ¡` V§’,ú-›}h‘íµ\»CS¶™{c¾ñ‘_²ß“iGû­ãy\¸d¿g ¿1Ë5;ûÖBÁ+tPÑ€ät°pŠJ:¡ p(µÜr ‰Â{ÏÑÀû94
-g‡Âý©¾:­g:ÿb¿z(&Ø(fa!ÊÛ9¢
-å€C¹Î£”à8úœ¦(m…õÈ€,‘Nµ‡-Ýd:…ËÄ)½æúç4£qñÞk ä[ÏÿëœrFH¥ë"(SV©8”¹°AùYOÝ+ÂÆÏgd:CŠuÇßDü/—¿ êèaQ{Maf(_@ÂA/h˜K6•Ai…¤£> ËRÂÚf
-ëªëÖðBœÉûÖ-ðzç¸7«Éqg5¹}žh¤2¹Bøõ‘1 Æ)ö0ï¼E±4¬§µ­$xÙŒèxfÀÅ ^+ß2 ¿/(!1¢4ojà|P$Ì;ÚhW)‡^h¹¸Ê“é8©ƒrÝUjÍA¥?TR3á®òy
-Þ”¯‹$çÇBûÇ"
-öí/ˆ§JeúE1/Æ°
-˜nó¨
-‰æ~˜^æKk`óºøˆí@ÍI
-èR
-jä®gQïS!]îFë_:š…å„?ùiˆÁó1®ÖÈMOsš:0®õáåH‹Ò
-ó2êÑcšöâhïl ¢i ±ì[eßÕ‹4¯ì™Z½K¹Îëåì­Z–ß*C/­}µÖÂ"q£„Ý„ž êå±³Jmg`nJŽ ÑŽy¾ã®EÊ%)ï­{ÿ‘!Ò“kD”_ŽAêH©‰ýì…€a€”(1Q¿ÈÍyÙàƒ—Â?{¯ÐÒ”ž>«Š¨$ãâ²GjgdLý«‡>°³‘€˜ñ¹Á¾°\…ª©T{-óãÛ¡IiÚð-ID-û6+KÚÌóÒ‰‘úežµÔ ð#Ä\C¬LcfÕ–«)Û‹ÈK{>bIyo³7c–Ùpkb±k§æMÔ§2žÖD¥ItÒrmJsgQ˜)= µáª‘›®×ï‹g4ìz Ñ]gg.; ÊùXüLé‰z[K…¾Õ[w³ò=V=éB¯“Y7ïf ×#uŽV‹³l4¨F!‡ò‹BÔ‹GSÁˆèݧ^¹=Ÿ£>‰A)Q¯iññëwõ²‰‘¯¢êµPJsTÏ汄ê eF5†#ñÎ!þÏs»?aŠ0ƺBYÉp6w%"ÌPNæ!WQE5}Ö@¨¾]Ò]å ³R€FŽÆÙü²æ ÊÐÐA€s þR†AùEŒ/´
- ã쥂ƒrjØRI%0¨1#˃Uz™ØÒ~úüéuúìˆGbeu¯¦Ö*ôð¡XeÓË(›¦Q6š¤L¡X7 â#/ºW hmsžp46œ–O éíè^7î•=až˜Çèp8*©0–3ïMuAñA8}õc€„`À^þÉ#
-ƒðcødØTyÖê'˜ý$
-‚S"ó^”£ µ{„mÞk“ ÅuþI˧Y+JƱN@õrng¢ÊÛ$’ô…a__fÇÛxh½›ýóû0Ovø½gúúNý*1ˆþ½f›œi`õï|°~È<š3>= ÷þÁßü=g¢•|Örèlwúæû47Êx@1þ8sZÅ»&-Þbv\o™õÌßþ m&?
-endstream
+894 0 obj
+<< /D [ 864 0 R /XYZ 79.822 279.993 null ] >>
endobj
895 0 obj
-<< /Type /Page /Contents 896 0 R /Resources 894 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 864 0 R /XYZ 79.822 204.239 null ] >>
+endobj
+896 0 obj
+<< /D [ 864 0 R /XYZ 79.822 193.28 null ] >>
endobj
897 0 obj
-<< /D [ 895 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 153.392 null ] >>
endobj
898 0 obj
-<< /D [ 895 0 R /XYZ 79.822 719.071 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 142.433 null ] >>
endobj
899 0 obj
-<< /D [ 895 0 R /XYZ 79.822 708.112 null ] >>
+<< /D [ 864 0 R /XYZ 79.822 78.635 null ] >>
endobj
-900 0 obj
-<< /D [ 895 0 R /XYZ 79.822 667.591 null ] >>
-endobj
-901 0 obj
-<< /D [ 895 0 R /XYZ 79.822 656.632 null ] >>
+863 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
902 0 obj
-<< /D [ 895 0 R /XYZ 79.822 592.201 null ] >>
+<< /Filter /FlateDecode /Length 2620 >>
+stream
+xÚÍ[ÉŽ#½ ¾ÏSøZ#Q;`4з ç¾¹&§¼ÿ5ZH-¬²]òôüÈÁÓ¶JEQ\ÄGžþs’§¿~\¾~ü¼){Š":pæôõï*='uòQhòN éÔé뿧ž¥Ôî=èô×*)|ÓVæQÒ)Õ/)Í%=MßM¨ãpͳLšåb¹åQzÏø4W§‘DM¼ÿëë‰oö¸QÁ‹`ó“ßv²òC+»ˆ”ö÷
+%I±ÒJ”ç²qá\%y¼A@#2î±ÚµÖD¾ ˜ª
+÷™¾«ú)ßuÝn~Ö¶õ‰Â!ÑC«¬0.ñ"Íã\äíåÍàf³˜ n­X>2‘íÁ;’
+GÏ‘]›{p*ž³ <ŽÉý倔ÖF9¾õ£øš¶>S)&¦˜É@TCá`rÐA«b”ÇûÊË(Œõ„¥ͨ¼`’*!­6&i—@-£òºIr}ldßDÁ~ü†y&·:nÄ°†í0ýÔ£ÊX®9 K\ÃH›Ëç×Ö7ó:…î¥@«.„Ç"zéD°í=—Oü8¦ý$;.x]ÝÆ ô’ÌDÖµoÒ_˜ºˆ–p@ñR8ßü×L8q*,Uté°¾ G<, ‚1=b+€žQnÎÌÜÉàÇq,·º#±¡ây·,¨Ø¬O¨÷CõÐò«cªî ¥>^°¹Ú{žçG>”g˜óèE÷eÚkÆhó²S"”SÒ²¾.Z¾Çù]]ÓÚ*fÛmß{+"–· 8Øí” ¥.?Wi)7:ßUÖåPë#ý»–c¢H:_‘ã¹=K*k뎅ïãXŸ»k9Öˆd¿œƒœGDÈy½õêé̸&‰IúÕ†¬†á&¦e&õ>„½We
+weJOŸ‹+U²q¤¸Y#ßòNåF‰G½g) öCåˆepTd¦’t±4©Ñ"§{iÎ$;²¬†7«SÈ=å悪nâxåRæÝcÌ7ƲQ¢kËÈÝ”­Eâ¥5賓¾GÆÐ÷ÐRïÆ[3‹mQ7=d<·¦]u3l’©6µ°P
+
+nda–ôÀÔŽVÓ)T÷ëk×â[Ï"“REps.Ž×dê0*Ç‘ø‘zßôn‰ú
+T†Þ¨ï@êF¦#JZ.°ƒi7•4•u¤®c¢ngãh›ŽÔœ91*¢®n-øôÌo¶v0/vZ­8•ŠzMÃÇïo꼃‘WYõ^HˆœÕ£y,±:S™YM€$ýr3Äÿ¾À»M
+¥ÔÆ°ì’ë2*/ÈË$<caÆYÊ/•ØÐZ(V? Ç“-¬Á0*Hq
+©ŽW÷Ž1Ô_†¢þ~Ü¥SN´áüY@+äZPþ G1BˆÂxÍWÚr?F#È]Ïzž9U
+‹”J¬Òã-=UÊÓì{2åÕÅúªíªqvW#¹­*ŸLß7“oÕcT#¶A._ñ鵶H‡­!{n<æ'B.åbèe<:#BïX›™á2ÖE‡^œP–1fêrʺZo@ o¸Î€Å_çrïØÙÓiô_“
+µ^è¨úÖ†ì Ú‚ß«Å`Få{%hÿ( Ô
+5;~¯ìªt:Ô6ü­uý2*» äCœ˜Øß=³†y½9iuk8¶›°·XbT¾sk/nk«­Å‹üÂ:ÌËxQÅY8Z3‹ F†âwõ÷d4Þ5WoѦÁlùJZtB†©FèÌòµÌL„ªûÙKÏ1¦ÿ¶ukxeáôGæ ÷ÈðL¤0ÌþŸÕ:cÞ5_p9sî#c3‘?ÓÌø¤½î.2Š Ò[w2RDßfh¬þüúñ?³®’E
+endstream
+endobj
+901 0 obj
+<< /Type /Page /Contents 902 0 R /Resources 900 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 622 0 R >>
endobj
903 0 obj
-<< /D [ 895 0 R /XYZ 79.822 536.574 null ] >>
+<< /D [ 901 0 R /XYZ 78.37 808.885 null ] >>
endobj
904 0 obj
-<< /D [ 895 0 R /XYZ 79.822 525.615 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 730.971 null ] >>
endobj
905 0 obj
-<< /D [ 895 0 R /XYZ 79.822 514.656 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 720.012 null ] >>
endobj
906 0 obj
-<< /D [ 895 0 R /XYZ 79.822 503.697 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 709.053 null ] >>
endobj
907 0 obj
-<< /D [ 895 0 R /XYZ 79.822 492.738 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 698.095 null ] >>
endobj
908 0 obj
-<< /D [ 895 0 R /XYZ 79.822 481.779 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 687.136 null ] >>
endobj
909 0 obj
-<< /D [ 895 0 R /XYZ 79.822 470.82 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 676.177 null ] >>
endobj
910 0 obj
-<< /D [ 895 0 R /XYZ 79.822 459.861 null ] >>
-endobj
-221 0 obj
-<< /D [ 895 0 R /XYZ 79.37 422.769 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 665.218 null ] >>
endobj
911 0 obj
-<< /D [ 895 0 R /XYZ 79.822 387.037 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 654.259 null ] >>
+endobj
+217 0 obj
+<< /D [ 901 0 R /XYZ 79.37 616.847 null ] >>
endobj
912 0 obj
-<< /D [ 895 0 R /XYZ 79.822 376.078 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 581.061 null ] >>
endobj
913 0 obj
-<< /D [ 895 0 R /XYZ 79.822 365.119 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 570.102 null ] >>
endobj
914 0 obj
-<< /D [ 895 0 R /XYZ 79.822 354.16 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 559.143 null ] >>
endobj
915 0 obj
-<< /D [ 895 0 R /XYZ 79.822 343.201 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 548.184 null ] >>
endobj
916 0 obj
-<< /D [ 895 0 R /XYZ 79.822 332.242 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 537.225 null ] >>
endobj
917 0 obj
-<< /D [ 895 0 R /XYZ 79.822 321.283 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 526.266 null ] >>
endobj
918 0 obj
-<< /D [ 895 0 R /XYZ 79.822 310.324 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 515.308 null ] >>
endobj
919 0 obj
-<< /D [ 895 0 R /XYZ 79.822 299.365 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 504.349 null ] >>
endobj
920 0 obj
-<< /D [ 895 0 R /XYZ 79.822 234.717 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 493.39 null ] >>
endobj
921 0 obj
-<< /D [ 895 0 R /XYZ 79.822 223.758 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 428.633 null ] >>
endobj
922 0 obj
-<< /D [ 895 0 R /XYZ 79.822 212.799 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 417.674 null ] >>
endobj
923 0 obj
-<< /D [ 895 0 R /XYZ 79.822 201.84 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 406.715 null ] >>
endobj
924 0 obj
-<< /D [ 895 0 R /XYZ 79.822 190.881 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 395.756 null ] >>
endobj
925 0 obj
-<< /D [ 895 0 R /XYZ 79.822 179.923 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 384.797 null ] >>
endobj
926 0 obj
-<< /D [ 895 0 R /XYZ 79.822 168.964 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 373.838 null ] >>
endobj
927 0 obj
-<< /D [ 895 0 R /XYZ 79.822 158.005 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 362.879 null ] >>
endobj
928 0 obj
-<< /D [ 895 0 R /XYZ 79.822 147.046 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 351.92 null ] >>
endobj
929 0 obj
-<< /D [ 895 0 R /XYZ 79.822 136.087 null ] >>
-endobj
-894 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 901 0 R /XYZ 79.822 340.961 null ] >>
endobj
-932 0 obj
-<< /Filter /FlateDecode /Length 2177 >>
-stream
-xÚå[Ën#;Ýç+ü­–HêÚq|Y÷np·3«ùÿíè]eûJNºç³¨ØUVQIRŠ<ýû$O¼H¡ã·ð÷—óÏ—ïWíO$¼S§ŸÿzQ¡‘<©“Óœ>Y£„4êôó?§¾JiÎáÒᢷ?þãEÌïWG''¼1èzo…ÇA€Â \ùãwŸïuøÝÈð©ò³ø[j_¿_Ãõ.%½ç¶tyû¦AWd•¯ˆ˜ßÀð6Al™Ÿ“;îâ{E €­á–w¢wp’Z:ÿ•~µJ×/â’~•´ 8
-˜m1Ð EÈÅ 51”V[Žµ5ßæòRæöÎÌ<¡=pB™z±CÖï‰=¢4±?ž3¦d(×<äx‘)fîcÛí!*+
-ç<G¬dÑûnÌêÚAQÜe{hHBã´ì¡ßÚˆò•C{rX€B[3 Ëí kDÙ§{F0ÊM†£×Ä@-´3¥úB
-¢—BÊb¿c£ÕHn˃Êlˆ/•0¡ŸöÄQ dMÜó‘mÄçT¨_re¿+²öRØiÚqKà#‰[“&ÙVÆ]±Â:dIqÁVylDánV0Ýœ²là`Bíùáb5Ôš;9šÝ´qº!çB\Ïê G”;óÑSçkI¶c½ÖV8@.ôjP"C)º{ÌÀ5p¶ùIʺ»e=ˆìÛ½öô ÍhÌÖ¯÷)Äÿ’˜ÁåkårSóíiÏãÎœSÕhùÅ*ŠÄ"ûSn“Pž‹×œmŸé1{TÜ7C©>R9‘¥¹<TYØXòy˜V5´íA†œÙÛ)Ll²+†²¿Vki…TÄÅÀÍh5¢ÔhE%®e™–g•Ϻ.u÷ÕÈnn±àÑ<{Cy÷ZîÏ»J"oDH'%¹-%1”õ”`E¼D”}É
-©¥¥VÕøtj@áSz3ï"à )A˜&Ž²o¼dI(´“‹LM“ e8ÊÒ¼\Rš¶+®Áà´n2£EžÞv!ž1”'´¦A€ò\ŒUVfQ
-÷zú”G¯šÜÿõ^_òºó¸kDÔç£Û
-rR83yç*-ÞÉP
-×yì`´ðÇ6O7Çe :* mÌ7‹>¬°Rˆ¨
-:2¸¤¼ü7›îxÏÃSd1à }ðÚ8¾\m#º¥Ë#6à6ç
-â¼vPî÷geH€÷\I«ÙE‰` å±ýôô¯ºv Ç_áâOXŠF1Fñ¤ƒ½íìd¿Vª:Å¥ØÜÍf(Q{±\^ë•z{¯_¡0‰å¶hCyB; œæHo‘}†rë\Ås§•ô!šMˆ¶
-] e_K>ðnÒÓ\íaGé‡n„¢µ3¿' 9›ü€©`sƒxiN$cæÝ‘Íú¿ã)È_¹€îþ£Œ†u0.´‹”do!AAÚuªŠ_JÞ!<£Í‰dÈ㛀x”™?~¾ü_‡^í
-endstream
+930 0 obj
+<< /D [ 901 0 R /XYZ 79.822 330.002 null ] >>
endobj
931 0 obj
-<< /Type /Page /Contents 932 0 R /Resources 930 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 627 0 R >>
+<< /D [ 901 0 R /XYZ 79.822 263.253 null ] >>
+endobj
+932 0 obj
+<< /D [ 901 0 R /XYZ 79.822 252.294 null ] >>
endobj
933 0 obj
-<< /D [ 931 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 241.335 null ] >>
endobj
934 0 obj
-<< /D [ 931 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 230.376 null ] >>
endobj
935 0 obj
-<< /D [ 931 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 219.417 null ] >>
endobj
936 0 obj
-<< /D [ 931 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 158.645 null ] >>
endobj
937 0 obj
-<< /D [ 931 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 147.686 null ] >>
endobj
938 0 obj
-<< /D [ 931 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 136.727 null ] >>
endobj
939 0 obj
-<< /D [ 931 0 R /XYZ 79.822 664.222 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 125.768 null ] >>
endobj
940 0 obj
-<< /D [ 931 0 R /XYZ 79.822 653.263 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 114.809 null ] >>
endobj
941 0 obj
-<< /D [ 931 0 R /XYZ 79.822 642.304 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 103.851 null ] >>
endobj
942 0 obj
-<< /D [ 931 0 R /XYZ 79.822 631.345 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 92.892 null ] >>
endobj
943 0 obj
-<< /D [ 931 0 R /XYZ 79.822 620.386 null ] >>
-endobj
-944 0 obj
-<< /D [ 931 0 R /XYZ 79.822 609.427 null ] >>
+<< /D [ 901 0 R /XYZ 79.822 81.933 null ] >>
endobj
-945 0 obj
-<< /D [ 931 0 R /XYZ 79.822 598.468 null ] >>
+900 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
946 0 obj
-<< /D [ 931 0 R /XYZ 79.822 587.509 null ] >>
+<< /Filter /FlateDecode /Length 2441 >>
+stream
+xÚí[Érä6 ½û+ú†C‚{•ËUÖÈ=U9û–Ê59åÿ¯áŠå6Ù¶'9ä [­V¿üuá—Ÿœéxþþ|Ø^¾_µ¿(æpyýóA„‡øE\œfàôÅÁ¸—׿/¿?rn¶p¨p<?ýñúÛ/4¿_º8æ‘®%"¤fÚJ"‡ÇÏŸ¾iÐ宼†Ãr®ÂSÊå±¾ßcZs&8P¦¥Ÿc (°éíïW¡/>¼FµoYϤ½Ø0aa ¾£~p®Å¸pnÃT`ú&¥L¿òU xE„gá¼áI@Ôg´zú–^Ӣ܎øì™TüñŠ„få•z7`¬¶|²‰¯^©‹z}Ñø÷üÜÁûçðåòSQÊQöåê–Ÿ‹Z!7d …(²óÉ,èx”ɃG&•‡ ¿×•eetsÊ( ³ÚR*h#‘õÈ¢õ’­JË‚Y#~‡eEÜÓ“>£­UAü¥¥¶<IÁÃ;¸ ½fq=0«l¬üÀ†ZòV„
+z«¨QytÁ:âŸÔƒçëÖåßjÏèf%C9œÉ
+èx,³ò(Ïee6Ÿ@Vz*ºj@¯ ¿ÈÉ—K„›H|Ó"´$¸øÌçð ×MR†{JSÌfVèz*w¨(ÈpÏ l<¯±ÑSIþ´Á>aË[÷{á?–§!$ ³§Ó˜ÍWÊ"ƒP™ªH)ï˜àÕ7«®Æs”OÊ"³–QrÔ<
+/÷ÔJnU»°•JЖ€2ôõ‡‚OZûûçqOù©¯ÙèÚ]JÂÊ•Ìuýe±<ðv±j­ò„Ǫò)§Ry…*Ÿ[Zñ*Ɇ¶ÃÕøz[©ÿÂr€4ïyÅdu˜ØmGöƒu¼Þs± P bˆƒ³ym±NB¥dAïX§vmÅ«‘ñ7¥TÑ,}h!&
+€)é)$‹µFBå6„`êÌsžôlÚñ #‚j”cdÓ¼ÛvCtýQJ˜®ŽŠö˜nZœŽŠoƤÜ*ÿõFÂÃc ¨,f×=¥qB¨¬k„tžéf%XؘÍöK“ŠPiËg *D®.¹ïmV.ÁéÈýH÷¢ër\Cö©\q,µÔÇêGÒ:fš•0ŠâyM=•QDÇùá¾á”(ú‘þâ0–™f \D1»jCQôT>#q6î¿“<Km˜iVè’[ò`„ÊmýiÓ?4mtÇŸaâwhJͶYߣѮõ¿ •õ:ª”ŠY3DöÅþ7¡ñ‹…t¬eêåÝ$sÜ*"—ÒBåt07XólòU’ýžÈÙ>Œ’X®2Çs¾K¢S›MÊJ¡‹PYÇ<g^ec±K¨ÐzÛ™3šÛ%ñk\„Ź·’‚°ØU&Tª• o}
+”€YÛÄÛ‘øH8JÁsûd°¹I Çg{d°¾šR/Óòr_JhϘ˜ÉJ·A~@©L5E?íÆ/%J›OyÚ.Ñü±$d- ¼ÙBžžÀ@’ý ^Õ:oyÅpóö1‡ü<Vmt¤_u{¤Ï
+•‘GwƒN-IšÒxÕêôÝØú±s­ À48ŠÖIs q© £Ì»™w-ž<Ç®ÅÓΩ6U+ƵÝuú¦6uîØhî±Ï÷Þá Í‘hpf/¸`Rà£
+endstream
+endobj
+945 0 obj
+<< /Type /Page /Contents 946 0 R /Resources 944 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
947 0 obj
-<< /D [ 931 0 R /XYZ 79.822 576.55 null ] >>
+<< /D [ 945 0 R /XYZ 78.37 808.885 null ] >>
endobj
948 0 obj
-<< /D [ 931 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 768.829 null ] >>
endobj
949 0 obj
-<< /D [ 931 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 757.87 null ] >>
endobj
950 0 obj
-<< /D [ 931 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 729.015 null ] >>
endobj
951 0 obj
-<< /D [ 931 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 718.056 null ] >>
endobj
952 0 obj
-<< /D [ 931 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 707.097 null ] >>
endobj
953 0 obj
-<< /D [ 931 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 696.138 null ] >>
endobj
954 0 obj
-<< /D [ 931 0 R /XYZ 79.822 481.905 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 685.179 null ] >>
endobj
955 0 obj
-<< /D [ 931 0 R /XYZ 79.822 470.946 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 674.22 null ] >>
endobj
956 0 obj
-<< /D [ 931 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 663.261 null ] >>
endobj
957 0 obj
-<< /D [ 931 0 R /XYZ 79.822 449.029 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 652.302 null ] >>
endobj
958 0 obj
-<< /D [ 931 0 R /XYZ 79.822 438.07 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 641.344 null ] >>
endobj
959 0 obj
-<< /D [ 931 0 R /XYZ 79.822 427.111 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 630.385 null ] >>
endobj
960 0 obj
-<< /D [ 931 0 R /XYZ 79.822 416.152 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 619.426 null ] >>
endobj
961 0 obj
-<< /D [ 931 0 R /XYZ 79.822 405.193 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 608.467 null ] >>
endobj
962 0 obj
-<< /D [ 931 0 R /XYZ 79.822 394.234 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 597.508 null ] >>
endobj
963 0 obj
-<< /D [ 931 0 R /XYZ 79.822 383.275 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 586.549 null ] >>
endobj
964 0 obj
-<< /D [ 931 0 R /XYZ 79.822 372.316 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 575.59 null ] >>
endobj
965 0 obj
-<< /D [ 931 0 R /XYZ 79.822 361.357 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 564.631 null ] >>
endobj
966 0 obj
-<< /D [ 931 0 R /XYZ 79.822 350.398 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 553.672 null ] >>
endobj
967 0 obj
-<< /D [ 931 0 R /XYZ 79.822 339.44 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 542.713 null ] >>
endobj
968 0 obj
-<< /D [ 931 0 R /XYZ 79.822 328.481 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 531.755 null ] >>
endobj
969 0 obj
-<< /D [ 931 0 R /XYZ 79.822 299.589 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 520.796 null ] >>
endobj
970 0 obj
-<< /D [ 931 0 R /XYZ 79.822 288.63 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 491.94 null ] >>
endobj
971 0 obj
-<< /D [ 931 0 R /XYZ 79.822 259.738 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 480.981 null ] >>
endobj
972 0 obj
-<< /D [ 931 0 R /XYZ 79.822 248.78 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 452.125 null ] >>
endobj
973 0 obj
-<< /D [ 931 0 R /XYZ 79.822 237.821 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 441.167 null ] >>
endobj
974 0 obj
-<< /D [ 931 0 R /XYZ 79.822 226.862 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 430.208 null ] >>
endobj
975 0 obj
-<< /D [ 931 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 419.249 null ] >>
endobj
976 0 obj
-<< /D [ 931 0 R /XYZ 79.822 204.944 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 408.29 null ] >>
endobj
977 0 obj
-<< /D [ 931 0 R /XYZ 79.822 193.985 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 397.331 null ] >>
endobj
978 0 obj
-<< /D [ 931 0 R /XYZ 79.822 183.026 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 386.372 null ] >>
endobj
979 0 obj
-<< /D [ 931 0 R /XYZ 79.822 172.067 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 375.413 null ] >>
endobj
980 0 obj
-<< /D [ 931 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 364.454 null ] >>
endobj
981 0 obj
-<< /D [ 931 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 353.495 null ] >>
endobj
982 0 obj
-<< /D [ 931 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 342.536 null ] >>
endobj
983 0 obj
-<< /D [ 931 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 331.578 null ] >>
endobj
984 0 obj
-<< /D [ 931 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 320.619 null ] >>
endobj
985 0 obj
-<< /D [ 931 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 309.66 null ] >>
endobj
986 0 obj
-<< /D [ 931 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 298.701 null ] >>
endobj
987 0 obj
-<< /D [ 931 0 R /XYZ 79.822 84.396 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 287.742 null ] >>
endobj
-930 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-992 0 obj
-<< /Filter /FlateDecode /Length 2848 >>
-stream
-xÚÕ[¹n\;Íõý¦IW@àv» ¼p l0é¼h’ùÿàq+.EöÕeË~ƒ ZjÝ¥ÈÚOUQüòç…_~¾p¦ã·ðóçËõýåë]û‹bÞ —÷¿ˆð¿ˆ‹ÓL:}±F0nÄåý?—¾rn¾…Ï•s-ßþõþÇ /4¿Þº8æבÜ0á-¥b%ç*|ä=PóœÃýí‹–:Ü‘*Üqáêð]äOü>¿Qž¹çëêš÷Óñöcš3Á%eÌ\O1& 0‚R‘v{à™P0mãÛ¹mhÅ”0”J”¢‰R1Y:Z)ò ¹ðw¸œ¤˜$Vß³Ôeü}«º0øMñ^?Å [¨BÑIü®Q·¼ÔQ¼ž¨_i:í嚟Š{IoÕUêû•Ž‰ 9"\ð{©¬D€ìBÇrr|æS¬ï2,,“RO »s +ÍÂ.(•'äÜ^3µ>· ‚†•”Êþ6Œ× ¸¶¡ÎmCfµ¥T¢ò¢Ù”}ä‘ߤ˜é’&Ê•ä“þyÛ6N1P~R5ì17R‰ÌÁµÙn´k ѶÕ-Û¶ü¾½] ¦Ýª{»ˆ¤(ç›+ÅGMÄ¿ãf“;ñ•ó%I†‰Nߊ÷Ta5^Ôðotïñ’k‹c«#»m±ÉŒé5|ìÉÅmО¤TŠ1}½ }ñá-iTÿ–õ ‚,A3 5s)‘C0†×–b£Qƒæ¯Y,ЋcÚÀ'0‘ä8ˆWµÎÉî˜nÞ¤}Í)?¯¯‰a*Jî%ʼ#1ñ·¤ƒûÒᇌ¼hµ|W™²‡ð¼5EVV­dR2-•ÖÀI´dÂèIæçQ²Éç|å±Ë*Éë*Oé9ÞË8ÒûèMm*ﲬ0Ê>ßû`‰GbE˜¶†ÊA]Õ€„W žo_¤+jÅëªI¥Ç,Óº7Šd|‡
-Ö0o=ݘª^}¨(á%3W:lH)Þ{Iæ¢ð•¬ÞãÕÑŠÖr˜äŸÕ™f²ÈôDÞfM¦*‹Æ“~Ó_â;RÃ^mO·UŠ´å°j
-‘=OÄ~ÀÓÇb›=ˆ­BMdü¼ùs[cà&>õd¡v“ÛŠz#‘ÿ¨×E>l4Ý[¸ß ÐÖ{*AØk>*ÒœˆÊ  ¾¥OmJ_-EÅ[´]ž,Ab¸bìT§4Aæ'ñ‡|EÝZºÅtŒ®ŸXù–Si“"lõÖ²+ì
-˜¯°ï–âfXÿoÙ ã”SŒ7 ©ÅéƒÈ…Q;íÖ qÚaŒl°)ÉüŠOD8Ü
-fHÐßÁfJ ðšîRš¥`ÁV•-åKŠ*y®Ö"ÊþÁ`»àÐ ˆH
-ÍÑL-åtåAw¯¬U¢Ä¡#…Â\†¢–põ¨ÃßË÷˜$(`ŠS²:6cS¼É|Òx“®Žñ&‹ˆ¾*¸Ô ¯Äú˜ÔÞ®±ˆŠûË9EŒ¦LœŒEšèÛ],Z$ƒ 6©[±:ƒñƒ¤3ð>Q·x|”ZúšÝò:° ™ëú§cŒ Ür=¡S½cF* DÞÛ࣋Cä(s~‰UeùmÜEVãl;@ÙOMìË7¸}4{Ò;wT"Bå¡Ì¤µ5•&Tˆ ‰ràz&ü"qüT»?ºV<ÔÐ|RÄæèšP©ùw»ëòÉŽË&óJ¥,eþì$¼X!¡RŠ®m8ΔªgðçÏqé ¥ò•÷d€·ßسú ¦‚³"4rJU%!«[Î#£"eêªÑ¯ >·Zoz©"sÓf¹X–¹®ÑCæO!Ô¶ÀÞ–7è ƒ»n ˆ5a×:ø\3c•ê¸z€ë(=BJœ¯(%<Acx_É•Xa¥±Œ¾Û8™Å©— @=û°{s»|ï®ÆTZË¡hÁ´†0é Åa±"}αÉßQüüå?;ïLCWÈgˆHŸº©”óŽ¾%[±ªÈ˜e¹¶ÌI©,Î|¶‰{x2˜•ÉS° À23žjŠaéä(°*cF\¨ÉÑó<ìÓYrr–ç³&„Ðo&ÉœZ`Þˆ<± ¡™Ï+¥]|Ûj*§JWésíìÌ0VàòpøÁtWƒJŸök+u×Eìl‡þDE(¡>•„\’%6ú€‹>Äñ:¬|Í&k äxV"S¨yĶÙ{=ßwí¥Zs—…¥´y z})‚Õ\­k­±™‡Wk7®ÒI=¥Õ´XZÃœ­˜HĦ sK*ñβ4wsiž.¥f¾’yëØF–\iäâÁŠ²4–ôC§ÒMýwØqgû!6¸h*ˆG%Æ
-WU´ì?8Ц˜EWJ½Úç6·ˆŠP&Ö«­&ûÍ¢MZh‡Cª&Ð@²ª–‚ U·q‹–1‚^;\C;ÍÏe3©9óVÑhyrÀRFT„Èß7¢:yŸ;Ŷz’ŠÛÊ!„Ê~$¥gA¯S*ÛëÐ*Rõ>ô+ªÎÎ#×þu¶Ö^{mÚê‡ýã
-Ǹ·“
-álS…0R!M!™›A8nŠjÙ‚«¹ï erLõ¹p¼/.
-endstream
+988 0 obj
+<< /D [ 945 0 R /XYZ 79.822 276.783 null ] >>
endobj
-991 0 obj
-<< /Type /Page /Contents 992 0 R /Resources 990 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R /Annots 1027 0 R >>
+989 0 obj
+<< /D [ 945 0 R /XYZ 79.822 265.824 null ] >>
endobj
-1027 0 obj
-[ 988 0 R 989 0 R ]
+990 0 obj
+<< /D [ 945 0 R /XYZ 79.822 254.865 null ] >>
endobj
-988 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 130.17 348.109 144.894 360.065 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+991 0 obj
+<< /D [ 945 0 R /XYZ 79.822 243.906 null ] >>
endobj
-989 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 160.615 348.109 172.571 360.065 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+992 0 obj
+<< /D [ 945 0 R /XYZ 79.822 232.947 null ] >>
endobj
993 0 obj
-<< /D [ 991 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 221.988 null ] >>
endobj
994 0 obj
-<< /D [ 991 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 211.03 null ] >>
endobj
995 0 obj
-<< /D [ 991 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 200.071 null ] >>
endobj
996 0 obj
-<< /D [ 991 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 189.112 null ] >>
endobj
997 0 obj
-<< /D [ 991 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 178.153 null ] >>
endobj
998 0 obj
-<< /D [ 991 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 167.194 null ] >>
endobj
999 0 obj
-<< /D [ 991 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 945 0 R /XYZ 79.822 78.635 null ] >>
endobj
-1000 0 obj
-<< /D [ 991 0 R /XYZ 79.822 703.076 null ] >>
+944 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1001 0 obj
-<< /D [ 991 0 R /XYZ 79.822 692.117 null ] >>
+1005 0 obj
+<< /Filter /FlateDecode /Length 3019 >>
+stream
+xÚÅ[ÉŽ9½×WäX–¨(PYé4ÐÇoƒ¹NŸæ2ÿhQ»¨ˆ¨PVºûvT,”D‘”Ä/^øåç g¯Â¿?_®¿^¾ßµ¿(æpùõß^âqqšÓkãF\~ýïòïWÎÍ{ø]9—îí?¿þxáYæ÷»SǼ1ÒõB·L* RÀ¼}Ó ñJqnyø?ÈÔ"Èµé§ ün¡­á®eøÞû÷?Ò3uë¥(—ßo)”î‰to[úÖ× Ò¯ñ^éGl?ܳîÁ=µ$ïù»{~÷Z¥Ú¨¡ïw¡/>hŒê5c=“öb¥bÂ@Õ®K%¼}“R¾¶±—`_à^žâÝ8Fè¿Á~˜&ÁS™Û_áÈÒ{I7{_+óî5½gM£U[cLiEG9ëðPSàó ©2Ê[§«{?&µ•Ý1á—Z½}«Cᇨ&åª8þ¦Ík¹› BŽT 
+ÔÙù:GþÌ‹3Šz±Ñ§¼ØÛ0Ž
+A·A=˜ÝÿF4<™mTyÖk½¾7wÆwG‡ì1Jº5É=8‡*†öÑKW¡] ËäžÖ“ÕŽRÀœÀã“¢b§4Ù¦yV=¢â m—G‹ûšlŒ}íã:*2½áˆ?¤;¨Àˆ>¿Ï›+¤76|8?I“q {@Õí¯RŸ³?Â}Ž$nûykhVúGõ€½énpä,£<Å~Æ»öÿáì“ÙvÀ¤6ÕÕ³^ö« vì­pÚŒÌ1±èüZÞÐ:÷pˆ) /)‚Fi»Iè_Ä!¸-^ÞBI
+_C9 !{tpH¢–2éV:†i%è×ö6)ë“ ×#%^ƒ¬’ŽF!½cÖL£Ø#'HÆaÔ°6à´›LÉ<9ŒqLq7ñ?y÷ÂXm©8
+Õ‡faÕÓ;Íòª´ú…! ¿ÂÍŒ–L™îb˜ 7p‚s¥™„*1ÐáÝŠ!"÷_Ÿ§@sk4§ÔsŒoï ê™zä¶2J:’
+Á;Uœ‰ël‚½~Ÿ`’RÉÃHëˆ@oÒ8)ÞÄ»#Þ$QÂW‡0Þ„õ˜Ô¾®XDÕ}ÈåœdŽk:ˆ“X¤¹dÂJúu‡EÁ@ ¦¹¯Î7“ñƒ 3x¨…–ŒÞÉày#% Aóè߉º c €|—eŒQ?Ö0f”IdµÎ‘,ÈÁ³•¬2ÿoÜŒ"Q&Á,;PÙ/`•-Wr@¼'zçÊ”¥.‡) ?ëÏM ˜`ë@¥E’É‘×3àIêø‡¦6ž•‰àœâï-9룔—«._¬¸,^;Ïìl…æºd…DJNºVºa}SzêÆû¹nHÍ´3TÊ.ò™IP¼ýÆšÕçlH‚_epV¼9Y²Ê[-V
+|ÔyG¿‚–¬ªJdÚsdP)±.ô¾Ý® „.˜ÕÉC´I`ñ|‚%y2F+ÍÂ\S)cDܨÉÑÑ_Ÿ%'gy<jjÏ”™TãÖÇ(ånžÙ)p襢!‘r*yUÎ2îÜæ‡ Wî
+AG@'”
+&/©|Z±­Ò]‡ÙÉ>KýFjt”>%…qhU±×¦•ú$=ÈqYò³:îJù¯Ù’¯P¥ˆ"¡F[¢Nù&Cô}ŠQ(·U$lj›7Øë“‘’ÏÕÌ6ÊËyånÍáÆV:­ÇÀá6`YÙ kY!H`YйM)ød39wsroÅr> á¼ÕlqH.—rS5Ö”¦KR?Ô*ÝTq‡w¶"bƒ{IM±—dl1«Ê—ýqL׊)©hK±úA+ÝæÖ(QVÊ4ôj«Ñ~“jã,Ø׎9ßHšªM) U·qEb<‹ÕAi­ù±x¦BP„™ì«•5ªQÆß·Du
+dr)‚)ë‚ HLYèb…†HÕ{Ð3²Îηüël«ýìjÓZ?¬¯(0¨ À@¯@éÏ×SŠG)ÏS ²±3
+¤­©¬¸ý$õ(}x²u»úÊT"½¦SµXq!Rp0qnšF*|4ô$iÍÆ[<É›ƒØøº©,«Zz Œ†ªúl}'«šH¡ªV™¹Å#²¡ë¸(rcóUÕÇŒH´eí……&þS¾Á"dJü•„¬q÷§¨UFO²ÏŠ#pÏÂlÐÖ*Ž#IK\-àÆd¦ÂP|w+œVò¢ãä%\—üE^»µÝøæÄZãÝ‘µ¦Fï…€g^ZøPê>ÝK”„ƒ¢M‹.QJK³fäe”Ìá¶Á»¤Áåp;ìZ_«yIZ?ºöM¿*Ú/[Ž· àf‹±…‚ìãv¬2Ï)ÃÙoíQ)µdÚù NÞ—²~"åxÑb2êÝ"È¢»=Ž©
+˜‘TrmáfBjBjAeµeȨ¡a«¹¯å‚Ô°Dø¯+K
+fFzµµ¶»•H9ú¼Ành n5‰õQQ¼9í=°½—çübüh9ÇaPÑÞœÎnŽ·/–C8 Ò)NAÝZƒíÀµ•D$ÒÓŠb5U»—GÃV,m_;jBe§¸¼[ÔwÀ
+•§ý^=¡wÌÁ”à­í°%BþÙòÅ6"?VÆ€`ÎL9ÕâîY"e½Œ&HçS¾±¸™H9Ì7ò:e·û˜ƒ”ü¹<¹s·´×oH!9Êþ¶¶ê;˪ÑÁ•£ª9[áɼHy`†"ŽŒί“ä¥v"åLòý0ç0Ï*4lÜë€#?[v(#„ <þÝ­CϺô³š/V%좄UÅA „ĹóU„¢¹QÊÓÅ®—ƒ3U…¹dË"¼Ñ˜ -ÒÐ5–ߪ¢æÄX¿*ZËŒˆ”L÷@êÉÆ“"e.íhösÔ\ðÀ„WÓ€Öò"åTþ LèAW¥t[§¼Zà rARù”0”ßÂ\Î…Oy…`’kÚÂéêEÏXKê=¬—–Á•ÅÅô-Û®7„Ç\ÜP̘ÏÂoÄzÏpÖ¢´áì&Ûú•mÄ«ÌV¡ßpýüLÇ´ÈëÓJÇélõ¢4uŽu(5ÆvÜÞöÁ<Xa:=GÏÑÿ¾­×=I»I^€}k QÔÄeîЕœ0[3}² @26†ÉKúo?³÷´îKÈl³lÂ|¤·Þ(°So7í,¨Q)5šã±Rðt9?Ýi»8>=V* Ö¶%m³DàʧMÚc1;g¾Ÿïáµ–­¸;d»;fW˜]N¤æ îý»Òƒ¸EÅä‚lþŠžŽóý*þ®òN¢Hz{ût]jHoœ†pbÓ:Â,X»©„²;Ì|¾5B…Œ×¦N¤hS‡ví
+òf0=Þdƒ}
+ÉT—3t¤¶ì¦hFNzei·ÎPìÃûgçÆЮàGÊÝZý¤†Ážƒv>Ž¯,TG[=§eÉ Yë$Éì¹³—L›Þ›ý1ÏÃøу0>–EÆêJZ¯õÅâÕ°ªÛ+œžÒc Ê®_ßè#Óxr´•ÄÒüÄ:˜j}PÓqÝbÝ…©´þUþ:|ݯ½¤;øÎptý“BRœ9¯6&Ëò†úø,ú~ÀW"ÄtÓÞZ#é¾éÊN0ÓÎ;Í+M…ø”5‡neŠì ‹«ùZç¥{á Po£MˆÌÌ·ýLÝ"ô_/±».
+endstream
endobj
-1002 0 obj
-<< /D [ 991 0 R /XYZ 79.822 681.158 null ] >>
+1004 0 obj
+<< /Type /Page /Contents 1005 0 R /Resources 1003 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R /Annots 1038 0 R >>
endobj
-1003 0 obj
-<< /D [ 991 0 R /XYZ 79.822 670.199 null ] >>
+1038 0 obj
+[ 1001 0 R 1002 0 R ]
endobj
-1004 0 obj
-<< /D [ 991 0 R /XYZ 79.822 581.532 null ] >>
+1001 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 130.17 546.366 144.894 558.321 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
-1005 0 obj
-<< /D [ 991 0 R /XYZ 79.822 570.573 null ] >>
+1002 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 160.615 546.366 172.571 558.321 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
1006 0 obj
-<< /D [ 991 0 R /XYZ 79.822 529.726 null ] >>
+<< /D [ 1004 0 R /XYZ 78.37 808.885 null ] >>
endobj
1007 0 obj
-<< /D [ 991 0 R /XYZ 79.822 518.767 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 768.829 null ] >>
endobj
1008 0 obj
-<< /D [ 991 0 R /XYZ 79.822 477.92 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 727.983 null ] >>
endobj
1009 0 obj
-<< /D [ 991 0 R /XYZ 79.822 437.073 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 717.024 null ] >>
endobj
1010 0 obj
-<< /D [ 991 0 R /XYZ 79.822 426.115 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 676.177 null ] >>
endobj
1011 0 obj
-<< /D [ 991 0 R /XYZ 79.822 410.174 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 635.33 null ] >>
endobj
1012 0 obj
-<< /D [ 991 0 R /XYZ 79.822 399.215 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 624.371 null ] >>
endobj
1013 0 obj
-<< /D [ 991 0 R /XYZ 79.822 388.256 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 608.431 null ] >>
endobj
1014 0 obj
-<< /D [ 991 0 R /XYZ 79.822 345.417 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 597.472 null ] >>
endobj
1015 0 obj
-<< /D [ 991 0 R /XYZ 79.822 334.458 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 586.513 null ] >>
endobj
1016 0 obj
-<< /D [ 991 0 R /XYZ 79.822 323.499 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 543.674 null ] >>
endobj
1017 0 obj
-<< /D [ 991 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 532.715 null ] >>
endobj
1018 0 obj
-<< /D [ 991 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 521.756 null ] >>
endobj
1019 0 obj
-<< /D [ 991 0 R /XYZ 79.822 236.824 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 456.999 null ] >>
endobj
1020 0 obj
-<< /D [ 991 0 R /XYZ 79.822 225.865 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 446.04 null ] >>
endobj
1021 0 obj
-<< /D [ 991 0 R /XYZ 79.822 214.907 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 435.081 null ] >>
endobj
1022 0 obj
-<< /D [ 991 0 R /XYZ 79.822 203.948 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 424.122 null ] >>
endobj
1023 0 obj
-<< /D [ 991 0 R /XYZ 79.822 163.101 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 413.163 null ] >>
endobj
1024 0 obj
-<< /D [ 991 0 R /XYZ 79.822 152.142 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 402.204 null ] >>
endobj
1025 0 obj
-<< /D [ 991 0 R /XYZ 79.822 141.183 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 361.357 null ] >>
endobj
-990 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+1026 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 350.398 null ] >>
endobj
-1030 0 obj
-<< /Filter /FlateDecode /Length 1816 >>
-stream
-xÚÍZËnë8 Ý÷+òWW"©Phšä³în0Û™Õüÿv$Y²%*Éi/fá&±Õcêˆ"iËÃ?yøõrü|ùyQúà…7`èðù÷‹
-äA¬hÖ(!:|þ{øóUJã¤ÄK8àíhΠ•R+)É-‡Vo`Ãy áw<NaÌ1ŽÖá,óèãr¨e\Þþúü#Øbéš-Êirk€Â¡–Ãœ+t·|Î¥;dôë3
-è8ú:ƒ4³2ßhq¼O<0\ÕÁãËUÀðͽæÛûHV¹´ü*ÔEŠ
-=–«Ñ\sZ ãïx=Mçt—t
-O™2\è,2¦‹¿ }¼ýfŠ´D¦¦Èè˜*§ö7CÙáäd•ÀÌ(ùdÔŒ¥r´ûÌ>Ž›óB#48>!sœÊk e‡R CÔ™1%>)1Á¢Þ¿V|ÔÈ©&€í|Ìr¡= ã4çbRj0”ùT¦
- ÝŽ›Ô %‡"Øs
-´ eÇ&Ð2T¬¾Ûs¢†¡|OÌNCáÝÍbT_Ä&ˆT ä±­¢âš“¸Ïs¿%E<}“ÃÏ.r±)Q K˜²
--Ê—V![ZàfŒJM‚”á(Elâ±Ê©Q{Ó´y!IEܼQARÌkQRÂÆŬ¢­êZ·¤ùÇѶ45‹hX
-ŒM4¤ñÍÄ’æ.‹ÓE³r;ß M÷(È!µî¨{Ÿ¢Ž¡
-¿"ÁÊ]çÔz*j2”y=B(ß™1ªG” Ce‡¤ôNS¥A ²Ãé:äV ʉ\¬1ßØ)ÆMY¥ðc®'ú"
-š~Èt˜Â0]‚¶µƒãI?¯C™OúèLp@ÃÍMú¹¶a(‰ÙK–L°oeݶ'/›žµó¦Û ¢¥å¦
-‚\ 0”V½Æ6w Ʊ]vóÎ`{¦D½Ât›¤Q˃ó‚_ZñÅmÓ½Í6ö–"f½Ì'ZDhHhrݼÏ-@‹²Ã…5†bÊs3F~.ÅʵÕ/Ìך¥4NëF*–%¾y–<3%a°›‘›Jm-È^Q cU·¼zJ0”f€VAgÆ`‚ ùÝ…ªˆ¡¤vÚžR%9××Ú²‘´[~üoÝòú‹‚Ã,aÒ‡ Ü{Î֢܊LëÄN[hOßKhgá¾$PkÒËþj L·1À;a=ñ)ö1²«2”yæÁÙÀ]“Óã£{;Wz0”"ûcl'Ø"MŒN«ûf§«Wb« ®ç¬òrA×Åã]Žû¬ÎZ>ýÉC)»gmÁTÚ¯y" [,^Vt>lI­%É7z+¦ 2Zxå8A£Š%ïL†²¬(­žòöC½~Ÿ·l¯ôtÞ²ßoÂÊ{í;ZÞ§ÒCÙaFû˜)š0©!€žl,]í–VÚysxFû]o.Ì’„($©Ž¨9iÂPæE
-°3oN³0”,I)”é½zP Øø6P‡Rú~å¶úm‹ºW^ºxk!^VܨŸ®vôoøþ-eq¯Û¿ÝM]öÇ*å¼
-endstream
+1027 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 339.44 null ] >>
+endobj
+1028 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 298.593 null ] >>
endobj
1029 0 obj
-<< /Type /Page /Contents 1030 0 R /Resources 1028 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1004 0 R /XYZ 79.822 287.634 null ] >>
+endobj
+1030 0 obj
+<< /D [ 1004 0 R /XYZ 79.822 276.675 null ] >>
endobj
1031 0 obj
-<< /D [ 1029 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 265.716 null ] >>
endobj
1032 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 742.926 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 254.757 null ] >>
endobj
1033 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 731.968 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 243.798 null ] >>
endobj
1034 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 721.009 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 232.839 null ] >>
endobj
1035 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 710.05 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 221.88 null ] >>
endobj
1036 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 699.091 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 210.921 null ] >>
endobj
1037 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 688.132 null ] >>
+<< /D [ 1004 0 R /XYZ 79.822 199.963 null ] >>
endobj
-1038 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 677.173 null ] >>
+1003 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1039 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 666.214 null ] >>
+1041 0 obj
+<< /Filter /FlateDecode /Length 2498 >>
+stream
+xÚÍZÉnk9Ýç+üÑ“Hj‚
+˜øö¯/¥OžßCí[Ö ´'‹$@¹òŽUïßÂ4Þ_‘Ô[RWQ“ºäɺpÞ²â¾Òãóx–öÆSÄóç¥F ŠÅsRj§àA©ñZþ½´?3
+¥‘ŸæÅ@³áêäé¹øö=C ç…Õ8)yXp’e0W
+~;³F¾s’¸õÙ’Å‚œf“odz
+Ëí<± ¢:®eHhÖ"¶*ÎÓ˜]Ó8düæNæ}Óš»s9r<
+G)4“5Ó3€ü€E¬Nƒ6Ô8 s>6 Ò‚%Q›QLHxÃH˜Ïï¼ö»f8»ÃÏ:Á¤Éä5°£F/)¹”aã$œ•j^ŒWÆÜåJîÊwË·)‹á~kq*\1¦ Ä‘bÉU)•T´·Ü[ÎH‰]ü4ÉU8,Ö¬—3djùDØfŠ„“u¬Yw²)tHrv
+x0`ifRÊŒ(Ñ »¬y\Ó²xÎð
+ïÅ!»…ëÛ÷lê44sárßÄ< ëÍ(…6U7ÕIJFTÃ3¬Š¼k9bÁÛ½)/x*yà²'‘×Ô¯$ °,‹öØ;¢´;¸ìÂ\‡ò00 ó\‹‚<W”ÆNT„–¨È€ò7ÙÛʴؘ€Oäצգü¿ÓŸ'¤dQšz#GUE]=ÊÛ}¢­¤­°f£½ê\™z$ d» ½¸å„–—ÆQÉ2È9M(›|uïE7Lv«‚ ]Ùžo3íµ¾#R$Z¹k‘ž‹É;‚Gν\*õ;Kú­ºiW Ägç"=M¨ß¢†Ö¶Û"t.KR\¾¼¿UPïÆ··'BdŽí‡“½+å܉&.Ú]íguâÃ’øøPüˆwnZêÛ®X¿qAã6R;`¿ W’ªÙÞKš€ÛËÞï
+Ö•öè‡Uu&9¨F}¥ŒE_=Ê­ÈTÏXõUž¹öuáöLN ÖÔÓ‡m)G§Õ)“ÖÂ4å5CíQžÐ<:.¤pcq³z@)Í®XB4!:mæ›®]‰Ú7ÜÏYÖ§c…¬¤b€Ë>ox`¹$¤iúk›áJñž±Ðö·™Ïù„ûÁÀ
+ïLJj¶FÜ瞯Öë½Ë
+bºä¼žÌT¯yf’V”6KyŠ¿ÉZÐÝ´–çíFjáÑLj¡µl×£¬‹¡<ß³n2ß51 <×.ß=÷Õp@º­pÀýÖúª²B­¨¦¤¼ÈP”uj ,
+ÙY}.”äï_΀PRÒ-—å i%Td>ˆq”°r€&”²)˺8K‰×‹¦]Û»¼QEížL¼aù·øÅ|j±‰NÛhêëùˆ¥H
+åpRéÇšJ{”®œ,ý”ˆ«,\U x@£JŽrŸbì=Êb('ÀèI ·—z”'Äý™90-ö&”u1¼Hv’b­@ïAî5H8ÙÓ¶Åÿ°?´×—Ze=ȃ8Ä£æÄÚ$sô›~¿ü?5Âi
+endstream
endobj
1040 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 655.255 null ] >>
-endobj
-1041 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 644.296 null ] >>
+<< /Type /Page /Contents 1041 0 R /Resources 1039 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1042 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 613.412 null ] >>
+<< /D [ 1040 0 R /XYZ 78.37 808.885 null ] >>
endobj
1043 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 602.453 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 768.829 null ] >>
endobj
1044 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 591.494 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 757.87 null ] >>
endobj
1045 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 580.535 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 716.61 null ] >>
endobj
1046 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 569.577 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 676.816 null ] >>
endobj
1047 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 558.618 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 665.857 null ] >>
endobj
1048 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 547.659 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 654.898 null ] >>
endobj
1049 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 536.7 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 643.939 null ] >>
endobj
1050 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 525.741 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 616.101 null ] >>
endobj
1051 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 514.782 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 605.142 null ] >>
endobj
1052 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 503.823 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 594.183 null ] >>
endobj
1053 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 492.864 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 583.224 null ] >>
endobj
1054 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 481.905 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 503.335 null ] >>
endobj
1055 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 470.946 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 492.376 null ] >>
endobj
1056 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 459.987 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 481.417 null ] >>
endobj
1057 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 449.029 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 428.202 null ] >>
endobj
1058 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 416.152 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 417.243 null ] >>
endobj
1059 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 405.193 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 406.284 null ] >>
endobj
1060 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 394.234 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 367.13 null ] >>
endobj
1061 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 383.275 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 356.171 null ] >>
endobj
1062 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 372.316 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 345.212 null ] >>
endobj
1063 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 361.357 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 334.253 null ] >>
endobj
1064 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 350.398 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 323.294 null ] >>
endobj
1065 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 339.44 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 312.335 null ] >>
endobj
1066 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 328.481 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 301.376 null ] >>
endobj
1067 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 317.522 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 290.417 null ] >>
endobj
1068 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 306.563 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 279.458 null ] >>
endobj
1069 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 295.604 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 268.499 null ] >>
endobj
1070 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 284.645 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 257.541 null ] >>
endobj
1071 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 273.686 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 246.582 null ] >>
endobj
1072 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 262.727 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 235.623 null ] >>
endobj
1073 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 251.768 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 224.664 null ] >>
endobj
1074 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 240.809 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 213.705 null ] >>
endobj
1075 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 229.851 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 202.746 null ] >>
endobj
1076 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 218.892 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 191.787 null ] >>
endobj
1077 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 207.933 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 180.828 null ] >>
endobj
1078 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 196.974 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 169.869 null ] >>
endobj
1079 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 186.015 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 158.91 null ] >>
endobj
1080 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 175.056 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 147.952 null ] >>
endobj
1081 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 164.097 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 136.993 null ] >>
endobj
1082 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 153.138 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 126.034 null ] >>
endobj
1083 0 obj
-<< /D [ 1029 0 R /XYZ 79.822 142.179 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 115.075 null ] >>
endobj
-1028 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1086 0 obj
-<< /Filter /FlateDecode /Length 1621 >>
-stream
-xÚå[Ërê8Ýç+ü·#u·ZRÕTªBnÕ¬³›šíÌjþ;’m%q äÞŒ}Ü:ý:’3ü;˜áçÃæýáq‹8Dˆ‚ÂÃû?6ý`;øä/ŒØáý¿á¯?ŒqhŒé=#›éâÓkŒÉ?“1œN‘|J:Ưé=ýäx:–+ÇŸþ~ÿóÁ€Ë¶¤¿?“). 1XÂ¥)Á7x
-ÉWl¡8ÙBaš‡ô¸ <„4¡°‰"†“eH“U£ey`o“…”›^ø’¾¿<ýpèæ+ÊYh§×xE˜ÆW®,(’^¼™î27yìóõÕÕ| k¤åCœŠär|ä1²Ì>çéXFÈ\”xðr„»Ëðc,ûŽVñSƒã'[LsäßãìéyD߆3ãÀ†Øå©8«A¾6ÇìËt\pq÷׉KºgZÊøMCYqYÆ
-c$…¯ˆ* èí’¢©“¨(ªA®›‰w›G ‹-oU¼Õ ãˆgK GgÄÕ±¬;Á…Ì^ɼŽç–»ï¬Qó“Ô 9jù‘ŠŸä‚Ð,Æ?su¡Šã PänÜϪq× —íüŽ÷qPü¼S~·Ï#$îø"]ý©AÆÑËÌ,,ÝNÇÈ×#¹ËQðºãOÊ'¥nž¯’Ýõ™É’UÅ&1»ûx5_A‚ëøZ§´­ñ@Œ-J®Ö cÁ£ta¾Nàڤܼó-J©V´Ùûg|_mv^I±ˆ›‰ùâÕÉ‹å âe.äs—µ®t¡)k*ÏsSMúoù§ím­ÚÇoÇf±ƒòéUë
- xñ+XåŠE犔O#IEÀ•RZʬÛÌe÷Dzێ¹¬Ÿ &Í”ƒ ]²Žše¦
-Z’B
-’©Ô·Á¯ÓT ÊéFq¯ëäø:*xmÓ%f;çê–Ó”vcÍá-ˆóï 7h"‚ÐѵVbÌ ºYÛ ï½9bš;VÍyÚ\×¥y‚òífúúhm~ž«%n­ª)AU£ä–’´\ŸËUVZÜf9Uï$àÇ+Ä»3ŽÏoΠÃØÔ7©¥C©}?‰ºÂcAg“‰Ñ€©·R§¢¥"³A¹UR^•È³[&ú¦Þm^ªŽ× \°ã}áŠ3J
-endstream
+1084 0 obj
+<< /D [ 1040 0 R /XYZ 79.822 104.116 null ] >>
endobj
1085 0 obj
-<< /Type /Page /Contents 1086 0 R /Resources 1084 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
-1087 0 obj
-<< /D [ 1085 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1040 0 R /XYZ 79.822 93.157 null ] >>
endobj
-225 0 obj
-<< /D [ 1085 0 R /XYZ 79.37 771.024 null ] >>
+1039 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1088 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 745.834 null ] >>
+<< /Filter /FlateDecode /Length 1664 >>
+stream
+xÚå[Ér7½ë+æܺÊU¢dº*gÝR¹&§üÿ5˜$Ð ééIQö–9$¯<,4ÿƒ~<íÞž¾î‡É£çáíŸ'›?0ƒB
+CðŒ·ÃÛÃ_ãИòßhŒßÍ)}ûb1ãÇd ç¯øñ+ù¿æ¿ù#Çó³ñ³òÜã·¿ßþ|2àF[ò¿?²). )ZÂÚ”è
+ôl{ø;_ŠUò«(
+t¬ofFZ;¶”/ò;(
+dh’$N©SÊçÕ˜#dC)L[{*Š]÷ÚN'2`²ŸÏ:>[”{¦åMÉÜ>}Z"”´*ÏêÊ•g¿TÚÓf꯲^P6Yàö¼”’Z¹ ”ËWÓo©l4À®¯jºA²V9ˆºþêÁúÜžPÒúû—¥L ”GV~&±y°.‚£ É]«[ ¹-Êï Í,p¡Õ´q½¦-iÛ¢¬OÛ÷¦,—Ôå*¶–•+Çk]!¶ä¡Ý¶9Z+_Kp5 ú³h‹¼·ÒŠµ²‘]^á[‰òKT -‘–!˜Îkõb!²Eù”yZâ A`’Ä)÷BÊ{$jB‘;{tgÎ-Èzuî­¾é„KÉšÏöÕ…Ê‹Óh!Šfì¤åm Dï»öº«|-Èéx¨é×½u§~[ŽÙÞù $1Íáùýíé!l±È
+endstream
+endobj
+1087 0 obj
+<< /Type /Page /Contents 1088 0 R /Resources 1086 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1089 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 734.875 null ] >>
+<< /D [ 1087 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+221 0 obj
+<< /D [ 1087 0 R /XYZ 79.37 771.024 null ] >>
endobj
1090 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 723.916 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 745.834 null ] >>
endobj
1091 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 712.957 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 734.875 null ] >>
endobj
1092 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 701.998 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 723.916 null ] >>
endobj
1093 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 691.039 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 712.957 null ] >>
endobj
1094 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 680.08 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 701.998 null ] >>
endobj
1095 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 669.121 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 691.039 null ] >>
endobj
1096 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 658.162 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 680.08 null ] >>
endobj
1097 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 631.412 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 669.121 null ] >>
endobj
1098 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 620.453 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 658.162 null ] >>
endobj
1099 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 609.494 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 647.204 null ] >>
endobj
1100 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 598.536 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 636.245 null ] >>
endobj
1101 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 587.577 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 609.494 null ] >>
endobj
1102 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 576.618 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 598.536 null ] >>
endobj
1103 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 565.659 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 587.577 null ] >>
endobj
1104 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 554.7 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 576.618 null ] >>
endobj
1105 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 543.741 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 565.659 null ] >>
endobj
1106 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 532.782 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 554.7 null ] >>
endobj
1107 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 506.032 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 543.741 null ] >>
endobj
1108 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 495.073 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 532.782 null ] >>
endobj
1109 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 484.114 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 521.823 null ] >>
endobj
1110 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 473.155 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 510.864 null ] >>
endobj
1111 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 462.196 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 484.114 null ] >>
endobj
1112 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 451.237 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 473.155 null ] >>
endobj
1113 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 440.278 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 462.196 null ] >>
endobj
1114 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 429.32 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 451.237 null ] >>
endobj
1115 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 418.361 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 440.278 null ] >>
endobj
1116 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 407.402 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 429.32 null ] >>
endobj
1117 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 396.443 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 418.361 null ] >>
endobj
1118 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 385.484 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 407.402 null ] >>
endobj
1119 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 374.525 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 396.443 null ] >>
endobj
1120 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 363.566 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 385.484 null ] >>
endobj
1121 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 352.607 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 374.525 null ] >>
endobj
1122 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 341.648 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 363.566 null ] >>
endobj
1123 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 330.689 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 352.607 null ] >>
endobj
1124 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 319.73 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 341.648 null ] >>
endobj
1125 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 308.772 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 330.689 null ] >>
endobj
1126 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 297.813 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 319.73 null ] >>
endobj
1127 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 286.854 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 308.772 null ] >>
endobj
1128 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 275.895 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 297.813 null ] >>
endobj
1129 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 264.936 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 286.854 null ] >>
endobj
1130 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 253.977 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 275.895 null ] >>
endobj
1131 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 243.018 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 264.936 null ] >>
endobj
1132 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 232.059 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 253.977 null ] >>
endobj
1133 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 221.1 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 243.018 null ] >>
endobj
1134 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 210.141 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 232.059 null ] >>
endobj
1135 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 199.183 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 221.1 null ] >>
endobj
1136 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 188.224 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 210.141 null ] >>
endobj
1137 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 177.265 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 199.183 null ] >>
endobj
1138 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 166.306 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 188.224 null ] >>
endobj
1139 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 155.347 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 177.265 null ] >>
endobj
1140 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 166.306 null ] >>
endobj
1141 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 155.347 null ] >>
endobj
1142 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 144.388 null ] >>
endobj
1143 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 133.429 null ] >>
endobj
1144 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 122.47 null ] >>
endobj
1145 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 111.511 null ] >>
endobj
1146 0 obj
-<< /D [ 1085 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1087 0 R /XYZ 79.822 100.552 null ] >>
endobj
-1084 0 obj
+1147 0 obj
+<< /D [ 1087 0 R /XYZ 79.822 89.593 null ] >>
+endobj
+1148 0 obj
+<< /D [ 1087 0 R /XYZ 79.822 78.635 null ] >>
+endobj
+1086 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1149 0 obj
-<< /Filter /FlateDecode /Length 2057 >>
+1151 0 obj
+<< /Filter /FlateDecode /Length 1989 >>
stream
-xÚÕ[Ër#)¼û+ôÃ@ápÄȶ&bϾmìu÷´ÿ]žÝP´äF–v4Ù­GgSI‘•Ð´<üs‡ŸOR˜xþþ|:~<}?ÐÂ;…pøøûI…Ƀ:8#À™ƒ%%$©ÃÇ¿‡?Ÿ¥D/%™øÿå¯?ždÁü~rúà„'Bׂ(4Â8â( ¥Ô. ½‡c•_ñXCx½åcƒù=…+•?×å¿ çÓ[þ©œð
-&æsÒy.·´‰ú³J²› ¹G¹6äpá®ÏßÕÏé6¡¢J#•Ì\¨=
-ÐË7¦Ý›úGæWlpü¯1 åŒåÜÚ×6üF½fò"p
-ïÃKSƳëÕìÆÑÛ4%à„
-ñrJô>J k,G‰Äž¢Úƒ®I`¨5®7þ¢¦4Ú†2\©ˆ/,9ÔS‰ºÅ«$ÚßÚ«]A²À ;jZ@ I
-ÇÌ]åjài’òF ´]!ÓíNMÊGIc¥̹ãcXXD!½ï:³óÚŽ¸-™Ù&éBN Ôž“a`ŽŒå1ëãHÈAGñÿ,ð_«¯dQàÀ §äµaêz·Œ©z«JÄ”ì‰W^ô|›¬¨1j`ðÇ”b0”Ïã‘U˜ŒÚ§„9² *~-ŒÂÀÍqÚ£Ô¤3ºSÞSI¢ã˜š}®<MÈO’omA9w¹ö¸/ŒÑCú™9ªz”mªÎ¥\MVs,áÃúYJ½{§›rÂx3P w§›´‚†tÃ9{”ÄÄ[vIÆC’Xh™ØUøoàSéõ\K¸OÍï[ Iß3 M¹ê¦Nö£ñ$Ȧe¯÷
-ô£ŽRšñý¤ÌÁ‡³€t{–õíÁ FgÉ €œê9wQLûšÒ‘žzœÎ™—oZËHr|wjÏKô¾®Ú
-ªQŒ4Œ]Š,„!ò<Æk­áíëD*d:_±í;֤Z¼žnlrf-L/º2hSÁ+5ŒÎ—Öš9ÔÁýX =r…\·yÓÞ ‰CÂL—<­Ž²C˜›½3”:‹#§º9-ÏåÉ] Z€‡ðôÔÊ+CÙÙ}» Ü]ç‡Õ†
-_®|§û¤r½?WWÌ­¾vÈ5w~.µ®î³Ûn]¯+Ë]žÛhƒ²Â 9¹É¹ùZ7<¬"HÔòs†’¡|ªGPåM\·ç´0·xA TøÎkbvÛ9¥e(½znßëÆ_¿>¿±—6ò»wÓ"76-²¥ï/¶èâNÚù~²ZHm8Í“n“¡|‘æf;LB)7¿zC+iä]†³"ÒçcrCù¿èv¬Bë
-ÔZm–Ö«ä«nXœVåÝ•å¦sI›e¯'lQÜ<ú•¬ÎmëR…ÕC½™Ü—ÁP&Òë«þænŠèAX§‡a7çÈ{ºaáþ+ N Cu›\síAj2/R*vÝmQ÷ªì{Š¦§‚=¨pœ~
-GCñÚëEK¸=HÚú~\7Sóàn&¨í³T|Ëú¥¬ÃX¾¸a&ä:h)¼í76dÙ|ÿxú^oZº
+xÚÕ[Ë’ã(¼÷Wøš†âÑáˆñk"öÜ·½îžöÿ¯ˆ’ lá¶Çšƒfd¹•‚$ɪ™ïþÛñÝÏ7Ît< ÿþ|;|½}\´ß)æ°ûú÷M„?â;±sšÓ;kãFì¾þßýýɹôápáû¾þzãóãâÔÎ1oŒt%ˆ
+5¬£Pfµ¥(óÓ©Cǃȸ8fb
+¢úbç"d=Áe8d&+Ñ{B4©ð¬†oP",Дs¨())
+qT›ÊÉ.œ¯Ó ?®Q¾‹…{lO”5 çÚ<b•@‡’ؘÆ'HrS=5ÊcÕ³Õ Z‡2ÞŠfÞõUg5Èc‰Ã,%þÅUHi½©ö½{IR¡€·ºe©¯ê"(«h’ug0ëz­s)§˜õÐL7Ùå\å©Îó4¾Î±”•ÌII)ì¬; ÊïSÔVÝLÚªÖF¥\_G"­5Êï£u^§CÍ$ ¥°sÅ |—B¬£îPScúz˜¾O:z®÷)추žµ% z_ò
+ï“¢‡Ò§z!„2Ì»†Ò¾ÜŸ ¼Nq›õFá¯â#Í{åu4?Í+¯/ (®Ê¥$ÅJ¡27Jû¦¦^Ž¹EV͵¸`\(Ú¦97ÁíN\ÑŒŒŒ]ë7X`šž§Ñ{P®ŒÖë iÁC O,#_½&‘Ö Þ•RÅzjÞ7—j¹Ä¦…‘¼Öa–—`P®r¨THÊÁ¬á:òˆ<Ï›ò.Ì”F0ÝK#ÒK ›yÛWÜœ“qæટâK:yf@•XbŽ¸¿îzƒ„ ¬¾ÕuŽ®åi5c@§{¦elÙp!nœp¥Lò&Kî,g ÊýŠÚjÀ”†3©šLxm™‹4Õ(÷Ó´…â@ª]“ý’²õÊ~«”Ž©zÑS» 4ŠSX¹Æ¥Ðöi.–©z2ökmÕ„.V£<ÚÅJžþ`÷
+"¨×â"Ók 0TP Ò/ Íš×LÏÐÓWLQ”•ülˬÀ+¦½¤T‚çŠY“ÌHÕ
+·êq`³õ"\†¾  <Vy[5@Ð<užNÚ¾¬ <–ºM˜£ôÌú&[ŸÉ8æŠå¤( ßÉQ”Uæ·›¢°Ì9ÚÓÎÜ®yMj÷GZ!7̃ ìwæ{å!:Ûª
+¯ãrTCY_HQBÙ¬O„ÿ¥g}^(¬b\é //$(t ¸\ùNœº‚Ó´¦zïËÄ÷ì4]k¾'?ߺÚWÆÝ£‡xƒ0’qg¡÷½½BP¾7›õ LL¯±ŽTõe”å{Tm ”`Â4±}ýâŽ.ð& ê|‘ƒ Ôþ9ÿÁ•-ï™ßF~×þFf~CZ”¾¿Ú¢«¿ì'áTŽ]¤3Ù¬A¾IrñÚtBÉ›_#¹AÄ‚kþœÉÌ/(ïh”ïññ¢íX'˜+†ô8üjÂå}ÂémY4÷Ÿ›^~AûžÍ:Ë™3†Lg²Zƒ ‰âÏ
+0tËüãeû
+ŸÅ}^Ìè¸ʼ­ßÆh8½ýd’×í
endstream
endobj
-1148 0 obj
-<< /Type /Page /Contents 1149 0 R /Resources 1147 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1150 0 obj
-<< /D [ 1148 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1151 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1151 0 R /Resources 1149 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1152 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1150 0 R /XYZ 78.37 808.885 null ] >>
endobj
1153 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 768.829 null ] >>
endobj
1154 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 757.87 null ] >>
endobj
1155 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 746.912 null ] >>
endobj
1156 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 735.953 null ] >>
endobj
1157 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 724.994 null ] >>
endobj
1158 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 714.035 null ] >>
endobj
1159 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 703.076 null ] >>
endobj
1160 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 692.117 null ] >>
endobj
1161 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 681.158 null ] >>
endobj
1162 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 670.199 null ] >>
endobj
1163 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 659.24 null ] >>
endobj
1164 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 648.281 null ] >>
endobj
1165 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 637.322 null ] >>
endobj
1166 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 586.036 null ] >>
endobj
1167 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 553.16 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 575.077 null ] >>
endobj
1168 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 542.201 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 547.355 null ] >>
endobj
1169 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 514.479 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 536.396 null ] >>
endobj
1170 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 503.52 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 525.437 null ] >>
endobj
1171 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 492.561 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 514.479 null ] >>
endobj
1172 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 481.602 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 503.52 null ] >>
endobj
1173 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 455.786 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 492.561 null ] >>
endobj
1174 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 444.827 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 481.602 null ] >>
endobj
1175 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 433.868 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 470.643 null ] >>
endobj
1176 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 422.909 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 459.684 null ] >>
endobj
1177 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 411.95 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 448.725 null ] >>
endobj
1178 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 400.991 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 437.766 null ] >>
endobj
1179 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 390.032 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 426.807 null ] >>
endobj
1180 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 379.073 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 400.991 null ] >>
endobj
1181 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 368.114 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 390.032 null ] >>
endobj
1182 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 357.155 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 379.073 null ] >>
endobj
1183 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 346.197 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 368.114 null ] >>
endobj
1184 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 335.238 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 357.155 null ] >>
endobj
1185 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 324.279 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 346.197 null ] >>
endobj
1186 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 313.32 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 335.238 null ] >>
endobj
1187 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 302.361 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 324.279 null ] >>
endobj
1188 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 291.402 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 313.32 null ] >>
endobj
1189 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 280.443 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 302.361 null ] >>
endobj
1190 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 269.484 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 291.402 null ] >>
endobj
1191 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 258.525 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 280.443 null ] >>
endobj
1192 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 247.566 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 269.484 null ] >>
endobj
1193 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 236.608 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 258.525 null ] >>
endobj
1194 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 225.649 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 247.566 null ] >>
endobj
1195 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 214.69 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 236.608 null ] >>
endobj
1196 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 203.731 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 225.649 null ] >>
endobj
1197 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 192.772 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 214.69 null ] >>
endobj
1198 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 181.813 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 203.731 null ] >>
endobj
1199 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 170.854 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 192.772 null ] >>
endobj
1200 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 181.813 null ] >>
endobj
1201 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 170.854 null ] >>
endobj
1202 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 159.895 null ] >>
endobj
1203 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 148.936 null ] >>
endobj
1204 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 89.593 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 137.977 null ] >>
endobj
1205 0 obj
-<< /D [ 1148 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1150 0 R /XYZ 79.822 127.018 null ] >>
endobj
-1147 0 obj
+1206 0 obj
+<< /D [ 1150 0 R /XYZ 79.822 116.06 null ] >>
+endobj
+1207 0 obj
+<< /D [ 1150 0 R /XYZ 79.822 78.635 null ] >>
+endobj
+1149 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F81 377 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1208 0 obj
-<< /Filter /FlateDecode /Length 2073 >>
+1210 0 obj
+<< /Filter /FlateDecode /Length 2119 >>
stream
-xÚÕ[Érã6½û+ôÓƒnìUS®²FVªrö-•krÊÿ_€
-™éí…$Ÿ‰¡  ¥æ,„õûÄP„@ŽB* eŒ>ïÓÿe¾F?ƒ¢ñsyý¦Iç7”ËO†'TA‡kø³¾=¡Ío˜ò›ºNMó=;Lƒô€Jrä -J¡!ª­Ï“"Q)sÉʼOô¨øL¸/¯-=×è!œ>-QäóÛïËo<@î(mä
-HÝ[a…¿I ^'&¢ä¦Ó,>£Cþ_ZÇ¢M¹®äßè<ñ5ŸzgŽ…y±Xdªó÷»"Ã’OKÕšäui'ÉÎÜl­¥†ÇA’™ËÏ'K’’I¬ƒokK¾“®%QÒ+Q”H[‡ÎÓÝ$Rº›éÛ4IgC*5pÛˉ>,£ïTJË™¾¹q“Y¹”D ½>teQã\–}ºˆu²Ê7#M\cyŒ”~(F2”y;ìÔ8¨lz¼ÆÁ Öá$`Œ%\§ S°Eá©V‰ÉæJŸ\&¬ž±EñÏK ÅGR}ÿý7«¥qµ¥|—Iõ‰-Êm†!HP;‚ÔA %>’Ó'j„´–»Ó\AÞcUëß7Ý«_tI±Ä“]{!åI ås’ž×jH¶]£±·í+„´(É¥.5?D·ºE’ĤY$©dYºf²ò&<Þ[ϧfw«Ÿ»ÃÞj'Xw|P‚Á¶eyÛßð–hQ.À-+•¶æùôj±Îk©êbiæé3ÔPŸ­9O{;âÂCÉÂGÅ79ªñÿf¤æü#ÕÁxÃÉßÛWgò9Ê8ùÏl A>°Òvµú %
-ŽJEãQb̹5ý_íöí!vk<Xëøš ¶ åqkòÔæ¬8ôumÓ²ä
-kQS\㣨t@;3Õcš¶(µöNJ›²gV…î²Ã¥é
-ùð`ÿõõ:? s˜c´`YeU åq?íÆn<×eîœr¬rc()eŠåY¨:y§›JÝw¯ß;‘"¯Á‰.· NÿʯYƒg­ÀÉ)pªÝeÓ]½‘íÉJpÎq€Á}d†RÎÒµž8ûº*› 'ÏUØ[üå*›¡¬‘W9™–n5.úÊtª±…nÓçOµÇñ~4‚ïLaïÀ.·ë-Èø,Bˆ\
-9ö åÖØp K€ª^Å·©n…ÅÞZórŸÛáÖ}ƒªð6#èˆqcÄ´(‰˜|Uåèm]mK’›ÝEBEV=/;{›Ì1”^! TcS,†2îèm3º[~9´ü e¯_”@¹zï™|Â.tí-
-9-Êšo;¸±Ã7>ŸmŒRbÃOÝæeµ2–Í–¡Ü3bA£€¼ç 
- e»PxÚfµRTWpl]¨¤Ã`ìlCY;¨½h"vvß{šã+ϵ£DPDœšÁùCÙ¦æYk{$ÊÈŽŠÝGŽPxТ·Ó±y C)Ó²Tç>k¹ƒ!•ìŽÃÌG‹~ï@+Ý©¦†jþäž’÷h{~¢="w<Q8›"=79”'Z¦lÀP—¬ów ò¸Ò–[l©_z‹]-yoþ£g§ÍI‰Ð0UÝë6ûûÇË¿FȯÆ
+xÚÕ[É’Û8 ½÷Wø‚à^ÕÕUí¸ª9÷mj®3§ùÿëp•DP–Ûxزü<,@Zþ9ˆÃÏ&½Šÿþ|9~¾|?›pмTxøüûEÆ›ÄA¼ôæà¬aåáóß߯B(/„A!ìûÛ_Ÿ¼ˆŠùýìõÁC°Vù%ˆD Ò!EAJˆ"þ}”÷ª^ÃBèøçôÛ7ƒ¦~Cûr§I¯ëFÆקr=}.”÷ê¯Êûô:#,Ÿ:!Ûå3¨T 3=Ã5éâu<Ü&q–ö4âésâjºîV^
+‹ ‹\3‡ Rs¨°ÏÒ‚3Ž¢l÷öM»,­‰·9Qoõ嶉WQ^›úuó5<ÏIaD’{2ìDö©<ëfbT
+flÑœ"¹FmR#¿Çâðí^}ZZrgDs•ÐÚÁIÕ>¥•ã-E‰â1Å°Á€ŽŠ¡?ö‰¡ D*)ÊÞœ¾àuáhéŽd¡ÉÉ®äêd‰{­a½¥Ã’EpGC²sÙåN³+&z’Ëåüzîé1òÎ8ä“Ë¥Í)PkÑîAîY­EÐJRyì‘•ø
+MüÖÿ¦ðûYšCˆr£ÕK¹]
+¬ÔTAf[DPèB«Eñ¹¶|—‰Ö³®)~½
+'¥’óhÁ íëágõÛ÷‡ø­LŸéÁ&¼Æ‚ <Î&OíÎBƒèà‰:Ò², €*w¯€W®[GSóêJÜ|AG*eœ’®ÓIºíãC”Œä/²fg»&iîš;‚k’¶]½^ÒŠßÉx»mµGý€=‡¯Q (_hšêö),Z eÊÃׇv¤öUzwXÒ‡! xå5A¹ÄõÖô,ÝWl±ä6âз]ò÷}"-6îñk
+fPåµFP.þTÉ%ÔxôE×ÿ—»ŒÊÖï-*B²¸1UVAƒV–ª¼wÂZU&(·ªlļÄu9î1ªzÚ¹AUÏSµG鵈ˮ‰V‡ ‡x„LÙl®þ7#Ñ ì9ÈÄ¥Ö!é‡À1<j{”žÚ®AÂyÏ¥þ%åÜ-·e¤õò¼4ÙcOt)+Á˜0P›—”ëÙýYWKeŒYFí]+•
+`õ°Ø2K‚B«ç\QŸ*?Ç’n&Wï\Cz°¾/üþ]]C ÊoOH7ÑËJT|7”\_ê–cR<?êQîð£ßØ¡¥ã ÎJ©Û6bƒ/ì
endstream
endobj
-1207 0 obj
-<< /Type /Page /Contents 1208 0 R /Resources 1206 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1209 0 obj
-<< /D [ 1207 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1210 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1210 0 R /Resources 1208 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1211 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1209 0 R /XYZ 78.37 808.885 null ] >>
endobj
1212 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 768.829 null ] >>
endobj
1213 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 757.87 null ] >>
endobj
1214 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 746.912 null ] >>
endobj
1215 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 687.136 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 735.953 null ] >>
endobj
1216 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 676.177 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 724.994 null ] >>
endobj
1217 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 665.218 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 714.035 null ] >>
endobj
1218 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 654.259 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 703.076 null ] >>
endobj
1219 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 643.3 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 692.117 null ] >>
endobj
1220 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 632.341 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 681.158 null ] >>
endobj
1221 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 621.382 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 670.199 null ] >>
endobj
1222 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 610.423 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 632.341 null ] >>
endobj
1223 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 599.464 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 621.382 null ] >>
endobj
1224 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 588.506 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 610.423 null ] >>
endobj
1225 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 577.547 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 599.464 null ] >>
endobj
1226 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 566.588 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 588.506 null ] >>
endobj
1227 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 555.629 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 577.547 null ] >>
endobj
1228 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 544.67 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 566.588 null ] >>
endobj
1229 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 533.711 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 555.629 null ] >>
endobj
1230 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 522.752 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 544.67 null ] >>
endobj
1231 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 511.793 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 533.711 null ] >>
endobj
1232 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 500.834 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 522.752 null ] >>
endobj
1233 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 489.875 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 511.793 null ] >>
endobj
1234 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 478.917 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 500.834 null ] >>
endobj
1235 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 467.958 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 489.875 null ] >>
endobj
1236 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 456.999 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 478.917 null ] >>
endobj
1237 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 446.04 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 467.958 null ] >>
endobj
1238 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 435.081 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 456.999 null ] >>
endobj
1239 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 424.122 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 446.04 null ] >>
endobj
1240 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 413.163 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 435.081 null ] >>
endobj
1241 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 402.204 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 424.122 null ] >>
endobj
1242 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 391.245 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 413.163 null ] >>
endobj
1243 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 380.286 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 402.204 null ] >>
endobj
1244 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 369.327 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 391.245 null ] >>
endobj
1245 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 358.369 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 380.286 null ] >>
endobj
1246 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 347.41 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 369.327 null ] >>
endobj
1247 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 336.451 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 358.369 null ] >>
endobj
1248 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 325.492 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 347.41 null ] >>
endobj
1249 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 314.533 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 336.451 null ] >>
endobj
1250 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 303.574 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 325.492 null ] >>
endobj
1251 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 292.615 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 314.533 null ] >>
endobj
1252 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 281.656 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 303.574 null ] >>
endobj
1253 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 270.697 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 292.615 null ] >>
endobj
1254 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 259.738 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 281.656 null ] >>
endobj
1255 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 248.78 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 270.697 null ] >>
endobj
1256 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 237.821 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 259.738 null ] >>
endobj
1257 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 226.862 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 248.78 null ] >>
endobj
1258 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 215.903 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 237.821 null ] >>
endobj
1259 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 204.944 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 226.862 null ] >>
endobj
1260 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 193.985 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 215.903 null ] >>
endobj
1261 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 183.026 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 204.944 null ] >>
endobj
1262 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 172.067 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 193.985 null ] >>
endobj
1263 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 161.108 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 183.026 null ] >>
endobj
1264 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 150.149 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 172.067 null ] >>
endobj
1265 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 139.19 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 161.108 null ] >>
endobj
1266 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 128.232 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 150.149 null ] >>
endobj
1267 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 117.273 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 139.19 null ] >>
endobj
1268 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 106.314 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 128.232 null ] >>
endobj
1269 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 95.355 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 117.273 null ] >>
endobj
1270 0 obj
-<< /D [ 1207 0 R /XYZ 79.822 84.396 null ] >>
+<< /D [ 1209 0 R /XYZ 79.822 106.314 null ] >>
endobj
-1206 0 obj
+1271 0 obj
+<< /D [ 1209 0 R /XYZ 79.822 95.355 null ] >>
+endobj
+1272 0 obj
+<< /D [ 1209 0 R /XYZ 79.822 84.396 null ] >>
+endobj
+1208 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1273 0 obj
+1275 0 obj
<< /Filter /FlateDecode /Length 1834 >>
stream
-xÚÝ[Á’ã&½ÏWøÒ 4P•Úªñx¼U9Ï-•krÊÿ_,ÑØcµmm<{ÐŒ-KOðúuÓ HíþÙ©Ý.J¼ì?^¾]ÜYˆAÜ}üý¢ÓEj§wÁ·ó¤A‘Þ}ü»ûów¥LH‡QÊÇï}üñ¢*æ·c°»
-zq3Lm oíeÍèQÄÍÀ
-?ógë F
-A;Ï)Z›-5Q÷(÷y5èxƒ„kîåK†u ‰¯kú¦8P)\f j±¬hÛmnÙ€ÃgJÑ|˜Q[ 9M”ѵ§ßÀ° `P …Õ [†p0‘l¡’£êPFu(k;|@OœªÅ› ¯÷ÐÛ¥–$Ûç¥æ¼´‘¿/wíäïçhW·M ë™yH«Ì`Õ/rit`­$![µc(ó†òf­Â@‹%ûygŠ-â^k 6 pæ…¡´ØÖ©d+’ª´»Ê€ÃnÐ2Q<WÂP¶|˜ûü,ÚÝýæPDp8G½Ùþýݲ²fëÅEZš´Ÿƒ†§Ÿ³Ó,h 9ÂD¤yœKýôw3¾uÒTê(æ¹Ù¹£˜$BŽvVAôó\μ[çýãå?H ^)
+xÚÝ[Ërë6 Ýç+üÅ%A$g:w&¾N:ÓuvnÛUÿ[R%”cÁÖ¹ DZ" @2æð÷Á~{1@å·üó·—ãÇË·wJ)Z‡‡¿^l¾Éì!`¤C` †íáãŸÃ¿ã¢1ìó{úþçÇï/fSk°ˆ À·÷賋k+¬e$ŠÏ(ó+d´”?›ü:cäÏùw—÷ùïþôýgÉä¯Pþ
+æËdóûûøuü1ÞBHÅ4?š´Ë%r\ëÓ¾±!ƒ (Q° à8®2~Ç2Œõm4œŽÕøñÅ…®Áù7ŸJ8_ýc§ñidWwj©À6SRá÷Qá(²DÉfjÍ°©S›Ûg†'È”H”â‘"™AQÇÑ aR`ñÐ ©â3~Ôh¹íøü(t;\ÛÔíôÝù©j" 2K"ü›Žˆe Â.¯:Ä"W‡ËféžVqvwrZéNxuZÒ88Ö¤¹ ’JÄEK=8Ÿ¤9Uf´(úXâàÀuVðQ¥ d+’Öâ…²Nʈ¤ËYRK#xg;¦^uLµ({c­P=ü¿X¼‘Pç”ñÖ¢¬f¹“Ú Ÿo³®3HW¬”+‹•|÷âØ)‘0K P®{\®•×¢Æš*W5mV¾$L@ä;¹ÓÞ’mJÔxË-J]¡«(²0\b¡P3NÔßÉ
+¡‰ÙYÔé\šo_Ø;EëçV°å¹Kù6>ðÖM
+”ùdGJ~œv™ÀI“²olAÜŠ%?1RƦci^¨¡x©÷ËôpØ'×µmCu`—ýL•\û¶QO=y@‹’{eÃ'P@þ­ nêî¼w€ä:þtÝ@©KshWœ¦àœ®Õ{j£x¬)jþZ„qWýjÍ«ìÍ»“†&/} ìâÊc|ð´2F ÎQG¡®¹(÷£pI#sª83 ö¸š Ü\Ÿp¯Ll ¸ÕÂgÍ$ºN <Ÿ ž5\Jàû"D´…Ÿìã¹ÁSìBHר”aÖœ˜¨K¡[3åååì-ioÕÐç–Ýüô^ºÈºïíxú^lž¥e>ð©«’÷v.Ó¹1²j™ýž=Î=K÷[Î8W—mlr^>‡vC›ì˜š)PÝi´ zí=mlS9a%;¢Áø,¶½F'”U²@), ¹ògk瀹ÓäÞÒ¸Æu‹òˆ¸–Žxš˜F„`H¨¬kŠNuOÑÖBðÜQwG´1bèÄ©«¶J©–†E”£ØĬ,N›—_=²1&ˆ;ò¼*²JÙòÌ÷u‘½å*ßÖ!ËSƧþ7Ž!BäÔÉXW3
+”ëTø¬‘Ž uS·(? t$†D @9¡¬ŒŠ\àúéܤ„’´½+²5À[”G¸\J}šÀv9Œ%Ê‚Q èT÷´L Žš×Ýmd†$€²,’(?[K¡#)ê"¸EÑÿׄMlŠ³Iu¦] |‘ú@KU4€.uTéþgL <y¦ÕRÄ °ÓÞjiÒt rK’·ÁaWZ(·Ü%Ê—LêÖpÜ ¯]•õIR·ŽÁ'”{ÀŬöõOõ¼Í5'pärÀÐ5ŸÔšHæµ2¾ôô+8F、HÔŸql=øÈ€n¯R¢Lÿt;¡9­ùžî1ÎœšÕ›6_ñúô¶%Ù·ïËnsÙÛ(Ÿ×ÇvÊç­ š¦sSÝ–&Þ£J´ÆaÙÿïä 8vß×íÚµ ˉòê«aü5——ý1·hÇ-°Iuë.-HMˆu“J¬*™#¿½ÛÌ|6˲äbf"™øà ¤°ìà,›Ho/ÿF¤ð
endstream
endobj
-1272 0 obj
-<< /Type /Page /Contents 1273 0 R /Resources 1271 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1274 0 obj
-<< /D [ 1272 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1275 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1275 0 R /Resources 1273 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1276 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1274 0 R /XYZ 78.37 808.885 null ] >>
endobj
1277 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 768.829 null ] >>
endobj
1278 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 757.87 null ] >>
endobj
1279 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 746.912 null ] >>
endobj
1280 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 735.953 null ] >>
endobj
1281 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 724.994 null ] >>
endobj
1282 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 714.035 null ] >>
endobj
1283 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 703.076 null ] >>
endobj
1284 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 692.117 null ] >>
endobj
1285 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 681.158 null ] >>
endobj
1286 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 670.199 null ] >>
endobj
1287 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 659.24 null ] >>
endobj
1288 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 648.281 null ] >>
endobj
1289 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 637.322 null ] >>
endobj
1290 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 604.446 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 626.364 null ] >>
endobj
1291 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 593.487 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 615.405 null ] >>
endobj
1292 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 582.528 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 604.446 null ] >>
endobj
1293 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 571.569 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 593.487 null ] >>
endobj
1294 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 560.61 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 582.528 null ] >>
endobj
1295 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 549.651 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 571.569 null ] >>
endobj
1296 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 538.692 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 560.61 null ] >>
endobj
1297 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 527.733 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 549.651 null ] >>
endobj
1298 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 516.775 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 538.692 null ] >>
endobj
1299 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 505.816 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 527.733 null ] >>
endobj
1300 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 494.857 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 516.775 null ] >>
endobj
1301 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 483.898 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 505.816 null ] >>
endobj
1302 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 472.939 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 494.857 null ] >>
endobj
1303 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 461.98 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 483.898 null ] >>
endobj
1304 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 451.021 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 472.939 null ] >>
endobj
1305 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 440.062 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 461.98 null ] >>
endobj
1306 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 429.103 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 451.021 null ] >>
endobj
1307 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 418.144 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 440.062 null ] >>
endobj
1308 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 407.186 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 429.103 null ] >>
endobj
1309 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 396.227 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 418.144 null ] >>
endobj
1310 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 385.268 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 407.186 null ] >>
endobj
1311 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 374.309 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 396.227 null ] >>
endobj
1312 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 363.35 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 385.268 null ] >>
endobj
1313 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 352.391 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 374.309 null ] >>
endobj
1314 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 341.432 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 363.35 null ] >>
endobj
1315 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 330.473 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 352.391 null ] >>
endobj
1316 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 319.514 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 341.432 null ] >>
endobj
1317 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 308.555 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 330.473 null ] >>
endobj
1318 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 297.596 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 319.514 null ] >>
endobj
1319 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 286.638 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 308.555 null ] >>
endobj
1320 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 275.679 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 297.596 null ] >>
endobj
1321 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 264.72 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 286.638 null ] >>
endobj
1322 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 253.761 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 275.679 null ] >>
endobj
1323 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 242.802 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 264.72 null ] >>
endobj
1324 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 231.843 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 253.761 null ] >>
endobj
1325 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 220.884 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 242.802 null ] >>
endobj
1326 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 209.925 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 231.843 null ] >>
endobj
1327 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 198.966 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 220.884 null ] >>
endobj
1328 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 188.007 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 209.925 null ] >>
endobj
1329 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 177.049 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 198.966 null ] >>
endobj
1330 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 166.09 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 188.007 null ] >>
endobj
1331 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 155.131 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 177.049 null ] >>
endobj
1332 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 144.172 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 166.09 null ] >>
endobj
1333 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 133.213 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 155.131 null ] >>
endobj
1334 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 122.254 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 144.172 null ] >>
endobj
1335 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 111.295 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 133.213 null ] >>
endobj
1336 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 100.336 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 122.254 null ] >>
endobj
1337 0 obj
-<< /D [ 1272 0 R /XYZ 79.822 89.377 null ] >>
+<< /D [ 1274 0 R /XYZ 79.822 111.295 null ] >>
endobj
-1271 0 obj
+1338 0 obj
+<< /D [ 1274 0 R /XYZ 79.822 100.336 null ] >>
+endobj
+1339 0 obj
+<< /D [ 1274 0 R /XYZ 79.822 89.377 null ] >>
+endobj
+1273 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1340 0 obj
-<< /Filter /FlateDecode /Length 2119 >>
+1342 0 obj
+<< /Filter /FlateDecode /Length 2209 >>
stream
-xÚÕZÉn#7½û+ôæU\ÀeYrö-È59åÿ¯)®M[š¦Æ3A¶º[ìÇâcí”<ý}’§ßž¤0ñŠþÿötþ|úv5á¤Eð
-áôùד¢Aò¤NÞðæä¬ÒªÓç?§?^¤´FJ ôùöúççïOr“)”€a
-dÖ¨Q£Òɬ‰šKyëcÓs.¨ÐéÒµÐ|™iŽ[fMXËÄ('
-Ÿ¥)/lÙE*Ðüë³OëÁ.ËÚ ¦ÛuÊcâ®,ÅZÖ…ÆD3¶ú$JYϘ^)REÓÌWÛnF›=}÷ÜK’ÃØ—b¼%w×Ѭr[ßHR\KæuÉßÆ NYoä_ŸËTíQ)ÊÝ۶̢ài긜]–œ{!õ}]Œa›>ŽÛò‰2^¶¾ÉM‘(l4ö‘œ¯V§h>IÔú¥Ôm‘”„ÖýH‹u‰Ý²'¶.:jŒ{éw¡j˜»ÔjµÛÑŠ%ë[]³¡-dOkˆ -[âÙi×-JƒˆŠ¿øÅŒ*‹äN<ŸÅÁ6F ºtZÈÐè.u<Š®U­é;n£õýíÎ0#,O:#ÜÞ šÊ÷K• =§ãÆ™ûœ9£o®£Ž©,¤ÂÆ×qµÌIŽÛÖ±“}eÌûjÒ½K¼ÞS†¬DštBëŸe]ÊH².ä³4X}Däí\غÖoªßInønËc’ÄËÙ±/ôÅ?·T~?§úŠêš¹Ù­iñ£ÕÙzòª-EqTœº£Ž’ˆ1”±“ðŸfùÕ›Ü1 }êm¢¬!7„í9RúLÓÈ.œ$à“?¹¼"¼T½È×1,§‹ÍÈëðæ¾<Ï:
-\çJ²+=×jÊÆ
-×ÍÊ]ñéZnœÕ²¿z‘z&ýÑVm,/È£0^ñ-ž3”xu , ãè¹/šÞr”Ä°”ÂØižºj#h8J5ÃHòAó\bñ”q“ÝT¾`¤pÒðE Ìu#JÒR·Å¡T£^FßQÛ=Î?ò£ À œ¶“Ø~Mìe/:Õ’;^×~oë§È~ðŸ'§
-†f"É/‘4‚%Éé’Vã-)|ÙIÍR67‚¼Ù%M±Æž´Áµì¢ûaùÇçÓ¿‚+d
+xÚÍZËn+7 Ýç+üÑ•¨7`ˆãø]gWtÛ®úÿÛêA½({<r’{»˜xf2¢È#’:”Äÿøáçg:Þ…¿?ŸNO?.ÚóNH8|üý$ÂGü N3pú``܈ÃÇ¿‡?œ®×p©—¿>þxâ(óÇÅ©ƒcÞéz! ¨Pá’œk‘/å‚Ä÷pç2\Æãsüåá:ç÷ð¾}{yÖ QJi "_ñ>¾Sák…­Ò»s–¢N¹çôžçSûA›l[‡Ó=4g‚IÊ5F){A’–sñ†ÿ‡ â×Êd°´BiAJÏ¡kn€z¸ÒãyBé™P’B¨Þ÷A( ³ÚR)–tñÙˆôî¦gcth0n w~Á¦Ç±u”—|Iì) ƹH“ªÜÞý èÀ1pé “qäü
+–h*@Ãö£m«EˆEr)ŽzÊxF ÒóeÙjnC•6§5¥G)[iBñ_ZõÎ T74BÇHlƒ3yÝITMl[û~ÜŒ×Lr;Aùº%‘ò”·â¬ø>¡Tè|é²;ÆVqŠIå)0Òï†ÛШ°ËjhÇ”š\]º]jxË<8*$Í.§æW%%Z|.Áš’›oAÛ¶øvþ¶Ÿ$÷i0IÅ¥¤#%þ¦ÏØÎJÑ ê|V{P—–œPT–)7{¹^ÌQ
+˜e5¤a:ŒUC­Û(åWˆÆ)ªŒ”‰xš»9è Fìó¤Ê€fÚÌÁ·Fªˆ0ĉ
+ëA)yqÔn/_)Ú BÀÜŠ¡š<yG7†˜è ÃÑéSi¡%â’_ŠtÓÿ8 \2£GÜD>îFÕ(e] muˆ CÕØIa0E!)<ÞZZ„÷ >œÚÌV8^šê_ÑÕOùJàŸ·é†õZ@iÞw"ãø¾qÐnxO–6ŠYo)J{9‘²žµ–ÌI7©±Æ7ˆ”o®)ï¤ÄÛ#ø©P+`Îz
+Ø^R
+GÜK¬Ó²Tj¤•7Qi™]Œ¸”ãLˆº
+ŽËZäI‹ ’®sþoœÏÝpË—g쪾Âzܾ63ѹS×Ñ&çeÒ^a ´îãwJà÷¼.™ÜtH©B¤p¾ÚC¬½ÐNtZTG,8ª‘–ñHÆÚ„.Ž‰)FG±Ç~Š‡Ùs)T»-²xiÕ­3TC®yqLè:vÞu R/˜O~1¢ÂH¦4Ð^,´dÏŠ+\d †OÅ׊×Ìj¥nïà-ô±R4ó›>k‹
+°BÑŠ¶¢¦£®>¯›Sþ Tþ9tû %M.e”ó‹„cñ‹|'ætÓïæäÏKËO}ÊCqÓF×Rš2Þæ¿^IÐIÛêˆxEvdû„–Y.~ݼ2ŽJ-®$CÐ’r’üª§Ÿ1"r'˜ãJ³«]–®z˜ò÷W`B¹%;aßSËÜ* JÆjàš¸Â§ñ»=·¥Us³e½"Š–8Pp“†F.ܵ:Aß‘ƒ[˜¹a,LC˜^•åx³G¤!u‰!ë‰(lMa(¢0@_Ü%Ý,ŒŒé}‚F›bW?âe¬Ò„=@3Âx':6I±‰tu²8æIyÚy’`_I¨BMj…›,ïö@Ë”\l1˶¢3óÞJû‰ëiÏ—=A¨#ãÄ5ý\h˜mx.;>Û¼$¦l®ikšg…Ô-òÊXhåS¿3hèÌXǵìЪ”Í9©/³©¢ïK:óî\¿GÖB„¤é¶c%t_m^ºæt•©!¯«ËKûrˆ;öã™ ½{í¾`0
+ùõûŠ©5_ÇÞ–ññ°€¢xí='lHY_>‘—¢¨±xòHÙ»ƒx÷ðN->n¸›  ×¥½9"…°jæ1©C~{¸?\v@ «rÜ
+ϘKŽL¤< †±L©Y¥s DȯË?#%3þ5ª´žo ”ýʹÉ×鉔õ|êr¦ÁOj¬X RR8\Z¤[Ìéž7ÔÊJRÉ$å|Ab µ|]6)TÌzv¼µ££pÉŒT‹½GdÀ3ýDÊj`F‡WÕþü0¬a„¨”¯<›ÛŸ±TݹÁ²›‹Äv….¼|Ü´}§LSÝŸèg;ÌRÞD] ¢€S› âê¶RmuÏü™ÒÜÖ­[ó[ºD¿½-oÜéØ®õðÖj½p™[ãqw#‰[7YÔÎV¥5ýt7,+»vRöÞÂ'V[x¨0y)¯©F)-Ù>-mÚ¥¹gFMÞµ^Ž'˜5Žá^j‰AH¤lS–²¨ïËžR]³ÇY‘œ1úQa9sÜSÀö’`LžDÊj„
+ØéI‹×5-!å«úÒ…] x×-¾ú†úÎãŸ3^…H9æü4¿ì%›8Ù)Œ” |QÊI ·D¦ˆ”;'ÀÇIÑgÞÖ°ìN1¾<ýz=}™
endstream
endobj
-1339 0 obj
-<< /Type /Page /Contents 1340 0 R /Resources 1338 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
-endobj
1341 0 obj
-<< /D [ 1339 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-1342 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 768.829 null ] >>
+<< /Type /Page /Contents 1342 0 R /Resources 1340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1343 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1341 0 R /XYZ 78.37 808.885 null ] >>
endobj
1344 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 768.829 null ] >>
endobj
1345 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 757.87 null ] >>
endobj
1346 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 746.912 null ] >>
endobj
1347 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 699.787 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 735.953 null ] >>
endobj
1348 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 688.828 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 724.994 null ] >>
endobj
1349 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 677.87 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 714.035 null ] >>
endobj
1350 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 666.911 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 703.076 null ] >>
endobj
1351 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 655.952 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 692.117 null ] >>
endobj
1352 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 644.993 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 666.214 null ] >>
endobj
1353 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 617.933 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 655.255 null ] >>
endobj
1354 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 606.974 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 644.296 null ] >>
endobj
1355 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 596.016 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 633.337 null ] >>
endobj
1356 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 585.057 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 622.379 null ] >>
endobj
1357 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 574.098 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 611.42 null ] >>
endobj
1358 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 563.139 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 583.524 null ] >>
endobj
1359 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 488.259 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 572.565 null ] >>
endobj
1360 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 477.3 null ] >>
-endobj
-229 0 obj
-<< /D [ 1339 0 R /XYZ 79.37 453.248 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 561.606 null ] >>
endobj
1361 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 399.385 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 550.648 null ] >>
endobj
1362 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 383.724 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 539.689 null ] >>
endobj
1363 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 372.765 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 528.73 null ] >>
endobj
1364 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 361.806 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 453.014 null ] >>
endobj
1365 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 350.847 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 442.055 null ] >>
+endobj
+225 0 obj
+<< /D [ 1341 0 R /XYZ 79.37 417.307 null ] >>
endobj
1366 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 339.888 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 350.931 null ] >>
endobj
1367 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 324.227 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 334.991 null ] >>
endobj
1368 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 313.268 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 324.032 null ] >>
endobj
1369 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 302.309 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 313.073 null ] >>
endobj
1370 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 291.35 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 302.115 null ] >>
endobj
1371 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 280.391 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 291.156 null ] >>
endobj
1372 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 269.432 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 275.215 null ] >>
endobj
1373 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 258.473 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 264.256 null ] >>
endobj
1374 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 247.514 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 253.298 null ] >>
endobj
1375 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 236.555 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 242.339 null ] >>
endobj
1376 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 225.596 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 231.38 null ] >>
endobj
1377 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 214.638 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 220.421 null ] >>
endobj
1378 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 203.679 null ] >>
-endobj
-233 0 obj
-<< /D [ 1339 0 R /XYZ 79.37 165.23 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 189.537 null ] >>
endobj
1379 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 144.388 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 178.578 null ] >>
endobj
1380 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 133.429 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 167.619 null ] >>
endobj
1381 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 122.47 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 156.66 null ] >>
endobj
1382 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 111.511 null ] >>
-endobj
-1383 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 100.552 null ] >>
+<< /D [ 1341 0 R /XYZ 79.822 145.701 null ] >>
endobj
-1384 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 89.593 null ] >>
+1340 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1385 0 obj
-<< /D [ 1339 0 R /XYZ 79.822 78.635 null ] >>
-endobj
-1338 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1388 0 obj
-<< /Filter /FlateDecode /Length 2422 >>
+<< /Filter /FlateDecode /Length 2108 >>
stream
-xÚÕ[Ën3» Þç)üÑ/QwÀ0pìÄè:»¢ÛvÕ÷ßݨ 5cò7n»pl5߈ïdøé_'~úó3?…¿¾]¿Þ~ݵ?)æpúú盋øIœœfàôÉÁ¸§¯Ÿþ~æÜhÎ¥ ïêò¯¿½ñ‚ùëîÔÉ1oŒt=ˆÐŠ)a(
-¨€à9W.¼Äkx‡ðù:ÜÂ+\S—w :Þaê§k¾D~™ÏúK@UïÊ(q•ùhÈUÝúÕrÂÊ+#‚åù{CÄ;Û3 Ñfžtü}Æ\Í™à@™+å1æÉœ%³J!‰pyá³ Ÿµ*$r´h¬ÖâSÄ-³Ò„ß&\z&”¤„«Ïc„+Íž(Ê7¶Ž‰ðŒn*Pgý±mHÍ´3Å0rØÂÈq[Åpn•9­®™Ó(rëjOJ´sMª¿›¦
-sdO|óEW^q5
-u²Û<›ü ® ’w¼
-òòžàÚ#^¦-|ä-XÓƒæíf +ž¡Ì¥<%ÝÙbÕ[¤vV ÊÜ>Ü+ ˜+•drIô?!t›O3IñN­*÷Š ùÖºÀñ‹6g¼š*á!”UŒ»iïW<+癵åz]%´fÖOÖZ³ÖÞ2Ž‚$Ó[¢4ÔI$Ê÷ä2ys—ÈÖúùÞ z2ÓQG³0‹K3zÃtÀm™?J…x`2ÑÒ­™ŒÌò6dP;›h½d¢ Ê–‰NgÓÇz<s8þ&ï-¼Q·Á…þ¬Ù`^Ìf[-¹I‚ò3‚yí&QK AI}/:_8H£ö9°Áëy<4m{¤í‰ËLàœyï)ƒL‚2F`”Étðf[ᶓÄìaºk‹Ô0¥Etߎí´çŒ7»ªb|<
-.2;‚|c!úàNÐ] 0‹õ"(5àØx´¦LsLPž÷ZÞƒùGÄi<äúGaÈ‘®F/¡KP_W|”£¬÷¶«x¥.ÎY”’çç]¸s×$ëWñ063¯ qBºb?Zz‘ÂGcp÷êéAˆn¤¤§w0./¾™€$ëqkþ>3mÉÿœ(öç=Žo+`­e‹±*§mÃå™ñ{ò/°¡x]ó'ÖuMi¥®wˆßP_AŒ'ý]LʺÏÑ\0%4ÝÆÁð ý>A¡~?ùwK’jNƒY4¼E[Í|êž4òüq^¤œbÚï§Eññ)ˆ€\,ÊW1w”“Ðæü£­Sx–äŠ7O0¦!aÊ+j„
-ï¯XˆJE)C¡ úz(®¬dFÂtÖnÉeâZûxá·4µIC~mKƒ~¨ÑI^öíÉÑŽY¥öE'AÉ ó{Ë‘¿+T½(ÕÕÿ/Â¥,³n2$G®åUÂõ#B¶o¶¾í4”4Ì™˜¬–œA9¦ ‚3è*[6€7;õ%»Q_¯Ïc†>T?’€úr«Áå˜z BåGVh—C¢|µ†pkªèeÄ>Àסa …Õ«…©äÆ+±2›¿hæÜ‘\C»Þ *\ëj÷XZÛs³Y©»èL‚Ý1 …+’ò´Ûs<þñ¸¥w t5òSðiÔ|&£ñ®e:ÉÏ^
-ÕPì…ÙÚK{qV2>Ö­“¤®5šÊD\!›K0½„@Œ+=¨ÖQ(´N-§y§&R Æ™DT®9¢LDâD€£}“&Nq&`rÔG[PH܈²Ev úþt³®/ÔIðL˜Á{ÄŠ]´°ÅcØô""DHY¹§D,Æ5¥V¨¡m»Õ
-^¨o!úMi[ eFJÎM%»é[Öû
-ò„ž˜è[ _
-%p+¥ q.¦s@‰[Œ_(
-&¿fœSl[^"JÍã´X¨‘ÑNWÜÜövŽà>FZéû)ýVц[:†µA‚r¨v‡œØlBÁÚ)hïJ5ãÑ—–i ô?Ü‹yD3ÍìLõT¬5†Î ‚±ãty!,k=eå³za¾¯Ô •°bÁÛ GÉhµÁÇãsqºØúéXv*“yïiàRÖš-S¶e{C)r®ñ‰8eZ˜ü¬˜š«fšL8”~Të.‘h¾zïÇǘF›ïÔÒDœ§â³ÓÓ+u$òºÉÁŸé~Ží¨±õTÚL«\ŽãbÊL\^k)0Ìb8!ÞæÔ¬¸”IšË»2âÜ’¸5ã/Ãüêž]4Lqú~´­ŸÚJâ<Žî¥½d’KÜ¢²Gl—\û«X‘.Îw=ÑмŠÎï¡ á¾/ÖÏ?ýDcCù¾”ž»Yý±è·[âí0ƒ ÁT¶Jx0@ÍF,ªàµŽ5 ä-þE¢Z¦öÏí±dÓl¸#°mµŸ!% ê ‘~“?§ÿÐ(ã+O€r]"‹2«\‘z@©'Óä©
-m&*©çI¶²6·L[ë2_Í¢7ûGU'ï±ðÓ'3O,F6+™Pno˜í[†¼ýÇÕ® åë1bÇ×3¹R‚id»zìóf´9©ÉغH¶~Ôç×Û_ú†€‰
+xÚÕZÉn#7½û+ôæU\Á€e[äì[krÊÿ_‡ûRlIMÍX™d¹»Ù¬í±ª(~øçÀߟNŸOßÎ
+ÈÚ#Y±ü•´qÌ_Ÿ<q¦‚Ôþïw/´rÉœ½ÐV1°ê`$2ݤÖÊd”4eå};[y°^smâ s`)Ȥ $ûHZ@Èûk%“äAÎ$y_þ÷ÒBÐÞ[t¡@d‘>iÖaºß4–u‚À ‡I'r—N7 %PÐËË
+¦Oû“ŠùÙ)Ên¨5sÒMËxÝ· %™š¢P
+ÀLÕ˜I4è7Ðqç͹¦ÀïmPôP"¼7ädµ[$‚Á3R¥§„XÞl3f‚¹ßy•bnÒ-î qÌ¢ IQ²èwlql‘Ø;rQtÈîâÕûÅΉb’Û®¹öˆrÇ2P2Γk«5êQ~O† û+šŸ° 'UÉ¥=‘ Ü± ÌSÊä8kùAÙ"£H>6‘A´ßK¿&Ñ\0áto’ó?‚’õýí,ÔåD`È›Šû"C¢\)–6}<}€ÍÅDq]<•ÑÅ©#kó\| vãSqQî¾<G¸6á@áu`ªPÒŒîAÓrsý‚Sý’–¥_ò,ñí¤#·Ô‚ÂÓ¬T1eù¡RÈ"\S.úú'(ÿ A·õ4‹ÞT²j/ûpößÀÖŽ¿(},wÓ¤¹f»¤i<ÃÙií§bï«‚Kë˜1“äj9$”/ŽQ!!?vçùL$ -Gwiô Ä¯(•â ­¦úÙ›gÊ (ëù¢BÇ$ºŒ½ik¦h‚²EÑÑ6}¦—‹ðð Ï-½™óô¯£m–Im'á_—¶I‚r‡ „aŠ;º \+ JôèsŽù¬Aš³Ï‰M±X¯ë¸s@‹¶kñÑf\V×LMt±˜cŽ cþE•‰ƒ7f…· ÌŒ.wjyú•´|îîÌN:om'&—UK.KPîX†•L#NËXkx”šð\kºJe˜iïl6]啦똶ßnÅ濶QÇmN\ŽÉ™$´(¦;§qLd¿ŠWr3Í/·nc£ö½K ,Í=üÛ«ÖóŒ…fâ½yyÞ› Hd·¶ÃG’-&2ÿ¼^n~o…`­°åXUÓ¦a`ž3\Çý6B¯¢+¾1c×ÂU}CüD
+ÆêÀ×KiD-J|„÷Ã'´BÌCŽ‰¨Qh~¾ž‰û eJ+jì½™fÞ2
+Ù[ût᧵¹Cúl»ƒºÐÑa.ï¶7\G#Ó .»Žw‚\@§ïV"ßëT½+ÕÑÿçRÀ´ê\{ë‡â\#Ê£œëKœì2oݽg Ìpœ”üº´i”}Ñ $³Ûí%púB{Él´—À©ãX Íè .¿ªËðRy”€JSVh›2¢t·fpï ¥´TKž—ûü
+\W¨äYÅ£ú°ÐUÜp'4fÓÕˆ¦È5³kÙMA…Sm¯{k›7ÑJ]EG æ%d­ Õi·æ`~bn̶sŸ)÷ÔrÊ=#i<+Œ–üè kÙñ—ÁÒònÇ’#dñþS75SÆ×]8^QKVrÔ9g˺êמö™}íû1j±‘{·‚l’™½VÇrF ]Áâ~µ‚,­Ú:u ”ÇlbpœY׺é]ØØ°™Ú—‰3¬Øâ ‚i#é¥Ë[x¢¢l3PŽ/æéJojßkŽNu©›|Ãhë» xÝ:œR,\jv”/ç¦ç¾3ŽÛ43·OÕò8(É8N™ÀÎNÑÁ ?]úþm¥ÅÍö­©¶½olÇ¿ª€\Õ‹DÆͼy«¥Í› ¬—|€À„Ó2äRÉGPdGa1§íle =+m”\>ÛÆ;u˺oØÀïË‚‚`BéÉ× ʼ/ü&Â
+΄3Tؽí„",A®U#ÓÞGÃ×
+'œßÐöÂ¥vß’påºÕ öôÒÎ#¾X`k™ß¨À{+õ"ðˆBc´†™z˜ö áŒg2 ²-4 “hY¼r¶T¦‡ˆ§5ñ¥å{]“oD¡Ò65N?vúb!•b’OFÄňQ&!Ë,=8ùbá¤dRâ$œ]nDÙ®ôÇÓ[‘ˆLZ9¹¬Z˜ ¸’6=H
+®üp*2§kuïCäœi>mñ‹ù A¡nõÎ:¦å°›‡ÊÅô…€”âW?Sl ^Iο¥-݈š]8×o—Vâ pó¬xý•_Æ2=Ù`ñW6ƾ)8`Ú’3×NG±%åŸO?
endstream
endobj
+1384 0 obj
+<< /Type /Page /Contents 1385 0 R /Resources 1383 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
+endobj
+1386 0 obj
+<< /D [ 1384 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+229 0 obj
+<< /D [ 1384 0 R /XYZ 79.37 771.024 null ] >>
+endobj
1387 0 obj
-<< /Type /Page /Contents 1388 0 R /Resources 1386 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1384 0 R /XYZ 79.822 751.43 null ] >>
+endobj
+1388 0 obj
+<< /D [ 1384 0 R /XYZ 79.822 740.471 null ] >>
endobj
1389 0 obj
-<< /D [ 1387 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 729.512 null ] >>
endobj
1390 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 718.553 null ] >>
endobj
1391 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 707.594 null ] >>
endobj
1392 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 696.635 null ] >>
endobj
1393 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 685.676 null ] >>
endobj
1394 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 674.717 null ] >>
endobj
1395 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 663.758 null ] >>
endobj
1396 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 652.799 null ] >>
endobj
1397 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 663.562 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 641.841 null ] >>
endobj
1398 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 652.603 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 630.882 null ] >>
endobj
1399 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 641.644 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 619.923 null ] >>
endobj
1400 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 630.685 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 608.964 null ] >>
endobj
1401 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 619.727 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 569.113 null ] >>
endobj
1402 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 608.768 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 558.154 null ] >>
endobj
1403 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 597.809 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 547.195 null ] >>
endobj
1404 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 586.85 null ] >>
-endobj
-237 0 obj
-<< /D [ 1387 0 R /XYZ 79.37 563.674 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 536.237 null ] >>
endobj
1405 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 531.101 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 525.278 null ] >>
endobj
1406 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 520.142 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 514.319 null ] >>
endobj
1407 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 509.183 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 503.36 null ] >>
endobj
1408 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 481.4 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 492.401 null ] >>
+endobj
+233 0 obj
+<< /D [ 1384 0 R /XYZ 79.37 468.944 null ] >>
endobj
1409 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 455.553 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 436.147 null ] >>
endobj
1410 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 444.594 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 425.188 null ] >>
endobj
1411 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 383.107 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 414.229 null ] >>
endobj
1412 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 357.484 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 386.334 null ] >>
endobj
1413 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 346.526 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 360.431 null ] >>
endobj
1414 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 335.567 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 349.472 null ] >>
endobj
1415 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 324.608 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 287.704 null ] >>
endobj
1416 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 313.649 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 261.801 null ] >>
endobj
1417 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 302.69 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 250.842 null ] >>
endobj
1418 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 291.731 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 239.883 null ] >>
endobj
1419 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 280.772 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 228.924 null ] >>
endobj
1420 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 269.813 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 217.965 null ] >>
endobj
1421 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 258.854 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 207.006 null ] >>
endobj
1422 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 247.895 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 196.047 null ] >>
endobj
1423 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 236.937 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 185.088 null ] >>
endobj
1424 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 225.978 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 174.129 null ] >>
endobj
1425 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 215.019 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 163.171 null ] >>
endobj
1426 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 204.06 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 152.212 null ] >>
endobj
1427 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 193.101 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 141.253 null ] >>
endobj
1428 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 182.142 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 130.294 null ] >>
endobj
1429 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 130.673 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 119.335 null ] >>
endobj
1430 0 obj
-<< /D [ 1387 0 R /XYZ 79.822 119.714 null ] >>
+<< /D [ 1384 0 R /XYZ 79.822 108.376 null ] >>
endobj
-1386 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1433 0 obj
-<< /Filter /FlateDecode /Length 2893 >>
-stream
-xÚÕÉrë¸ñî¯Ð ÐØ«T®²,sªrö-•krÊÿ_ÓXšØHŠ°ì—™ƒl‰Þ7òË.üòç g:|ÿ¾Ü>_~-Ú_óNH¸|þûEà"~§8}±F0nÄåó¿—^97
-?7Î¥|ý×ç?^x†ùkqêâ˜7Fºˆ†Ym{( xΕÃÿø„é¼ãuüXõú‡W¯+ÃS¸¿Æk⽺æ>ÕÙLs&8ôSç† =0ÓhHÏ„’ oxz ©™v¦‡ÒÓWúÚôdº¨§îø1™æø]š•æë7µ µa½nÇàjN™ÌG›öƽ´Àñ:Ü2÷òµ´ÿÄÞ¾º6KppL 5;‚ã6So¡üÄÁÍí‰C
-öšå<^­6ß;ÿªžñ.ŠtÚ¹|öˆzrž7bš[âæCʬ*^ŒHpÅz¯Šú€
-nIÒƒ9¬+aj61Žqìp [Cxx^”Ræ@ôPVÿêMþ­ö ’ç°M<ÄRiŸhÜR|‰•P±j |„3(°]ܲ¸eÏÈCî>JÝÈy®º½wxé-“â• ìd¸ÏͼVÔ€M²““ÂЕ¨ŽŒä*T°²«G ±Ðw~èè,Óàú‡~ŒÂ*&q§nÇVÚݵX•DYç“î\–ðþø¢ôÐ爑⸠p4SÂôç5*ˆHq6ÎX·C
-*
-7ÓïôODÖ˜C
-z(_@Ã"têh‰=­HdÚ­½ÊÕB”w(JŸ<Q¢¨žY?+m9"çè³45H=Ô{ÎÖÓˆµ-”ù²“Ö†y?dg«_Y;(Q—ä‰úl…˜1ˆ¼eK´ôÔÞÎ ƒÅÜrèà²AížPNeæÛ5é¤?_±Ëµ•JuP²9÷bgRÆŸDÞ›T·é[|ZòPúNž¾Ã=ÿßÀ¢|ʵj
-†T%;ÁÑfƒ9óŒša"Ù3âl%T©…r*™Ð!P/ÌKédê2R[új«Çå¡ñésk[öÚͤעRHÆ"âk”ÖU§~WÒ«<†j#7O–,³³é€üÍ–Üt<›±Fø%}ókžN1ÝF‘oSzÕAÉ.êX¯”ñ̽UqSVîTÜÒ*ÞK„D¯e]¿ËD{i7]òÎzßC®u8c™ÙN%´t•R"eÕæS½
-¦uìAz¶¯–íî‘ÊckUù±æ~¬²U´7Pà LáXUô‹üLð\Õ Åò´žÒ
--|…zlæ¦"ñÊ|.¥æÙ0úË“ÙºâhŒTå»[øM9â7·ð7÷~¢…¯Ð¤:ã‚«9‚·P~âàò‰C≘bn9%Ü”SÙ´˜šr·…9¥È«JeR3lוîdT¦shWº]÷,Fý“QYh§ œrûÄóœé·¦•!9¦ž`¾²¦äŠra·êœ$Z ¯\]X¦ã€IïóºÆ-¦ô9ïN‘£ÛŒÎ<ߊãÚ“ \'F1^•Þ*‡ßÐëD¦P õ
-±»+Ñ=ùùbëŒz¸o¿Uû%1ø߶Áµ›˜å˜µúJ[mÿÉ:^p%óµÃøçvté6Vœí¯G¥\1)|ÏŽÓÓ³™-”}vŒC•÷Öˆ¥váé7é]ÛU ²y¾A^2izZÂÍuÔÈ0¡`c,Þfêê¿s]ýË5õÇî
-tù¼p-3,eaë½Ð0{àªÙƒˆ}ZÖuÿdSÜïšœ»\¯u?\Å 8ù²A_*Sñ¥T„Qýîu}¾ŠABÕBÕvŽÈzÕV9¾³lE5ÓÃdoäêcHäÏÓ³nÐøÉ·a[ }ÜWHPqKWŽT½7Fºu˜·b(ÒÛeÙICIQLNŠjómø,!œ`29,ÒyŽÚn‚¢jÉ×þð9XÎœ1æ^pi<) f‹
-endstream
+1431 0 obj
+<< /D [ 1384 0 R /XYZ 79.822 97.417 null ] >>
endobj
1432 0 obj
-<< /Type /Page /Contents 1433 0 R /Resources 1431 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1384 0 R /XYZ 79.822 86.458 null ] >>
endobj
-1434 0 obj
-<< /D [ 1432 0 R /XYZ 78.37 808.885 null ] >>
+1383 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1435 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 768.829 null ] >>
+<< /Filter /FlateDecode /Length 2970 >>
+stream
+xÚÕËr#7î>_¡C|V¹\eYVªröm+×ìiÿÿðÕ$Aö˲f3Í´Zl
+åðʽfØ—´µ‘yÛ{YOL‹”µž²2€_'¤<É—™ 'fd(Á™Ž’িÉ%ÖÇ’)°™•=Ï…!Z¼Ê€ªå¯ ƒÒ²Ê½ôPbWDˆHžòLp³ ¿Ã
+EšMíÈÂ)$ ‹¯² +#^ò!e–…C©¿(yÀ0¦ø°K8¦ žáˆ¢™½¦ƒŒ]î¹Mì…(äÖe,ó‘ªk{7Pv¡q|jGIÓªbNÓóëдZìI•bd,æ³êlx„ïh²DITš­"ã|{0F¶è kŽ­H²j&v‚'³L=³cœ30‹xE½R•¹ZL¨
+%;¸3hhÍ4˜ÁÏêch
+«xAwì%ݽTƒ±°H–ZÎÄ[ ßéŽ úAýc3_CéÕ)åÓ´â»ã¶‹ü’YðÃꆂJ& î^8.Ðâ‹Ü`ֵƥs9Á$,á‹RY$à«…w-9þ/¨[Òòœ[ê¡HUëvÅ%« ¹æV\’¹?¿ªþ×t†ÉOJÊäƒÝRw'PΣ¡¼ŽE=ŠÆÛ™& ò+6Y6,gyêS$ãz;^JËGK œ¯8) LÃ]-|e5&P¢ßs|'RØ3‹.cüxÍ–è¾ÕÒjêK0qp÷M·‘j÷uåTF2mÍ úTY…@i-6çVíLi,Ų̂&Ë­$}‹OKJߊ°§kyËÿOp+~I—ÞH離*©†àh39œó¡3¡ΩRåP¡dpêÕ«¾·µ˜¶‚ÔW½úÂßveh|úX²ÚW¼V“襞Ôõ
+—õj°£åˆŒ(çÓ)ž™Ú%*hMØq{‰ÙòÝ ü®"ñ“øÓ½hàƒpa¸‰òûí¿; Ï !1tU… 4­Ñî¡JoÐ92§æ˜ó/%øª¬R™ÁÛe¥;˜)w#»®Ù‹ ù³ÐKA8rþDzŽôZÓÊ2ÿl–gkQQ®ì6“Ä ô”uFÍù)&ÃÜ[Z×9Å”?çÝKð覚ç³
+uP¿·Å¸Ý$fÔHÓ¬þ®¬éçûóRÅj‡f›z<®ÒMo(h|®ÀÍÁº²–œ[8kzÛj9Æ
+ˆʈ“=GD¡Œì„Ú)KX‘)œ‰´g0¨käüðZÁzu#Pï^f“>̈́Ѧˆ":o| w^‘q‹ºëù‚ŠÔ–y;øÈó£|E¡l ÐØ/2ã=÷ÙÍ¿jˆàqß’E5t÷„œNu%¿ZYë·ÖEy£¸Ô±Î•)Äê®…ïÉÏW[Ÿ`´ƒ}ë½Ú/‰1H&ú&T õŽÎÆ¢5²žBéËíÏ,åWr~švýœG—n²â˜h9*•hDß¿ŠÇ¡ÎGeý8ÆÊ€{çhĽuáé{Ñ» ·‹d7òx‡©`²ï²E §j©Êy4„SÌÊÁ,éæÚ:ò+׿\Xßw ·ÔRIP¥©Â‡ÑÌxçð4/ouB!—¹¥’x!‹&/¸ì•Ã­0 O’"oÝ„ëï›pÆ1t!Pº÷E¹˜½(»‚”5LƒšaZ«ƒ®™q”ýyW.èDXw'»õxçÀº3.)ØÚÉOgÖ¹xÙŠ¿–Œ£Å‘>ÞRò$â©5ó¾{-±¹¥Ó×ÎÈjÕ eŒ7áGý©–þwbÕÑþU6Õ™]N1”w2Ð8²ÿbãµ”Õôä|ü#”fz‡ëŽ—n³!P~VüóÄاVÖn»…ÆóãVS¦,+Ù¡ši•æ”±IÈkJ©XòÂù6ÍúxÎæ,n[WMô{þ 8&ÂÆÐ38÷Š?Bs÷íÙTà*o;,³–·.<ì4iR3Ù*¹Ÿæ Re¸Xrî}üÈH
+endstream
+endobj
+1434 0 obj
+<< /Type /Page /Contents 1435 0 R /Resources 1433 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1000 0 R >>
endobj
1436 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1434 0 R /XYZ 78.37 808.885 null ] >>
endobj
1437 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 745.915 null ] >>
endobj
1438 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 734.956 null ] >>
endobj
1439 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 685.222 null ] >>
endobj
1440 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 699.133 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 674.263 null ] >>
endobj
1441 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 661.316 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 663.304 null ] >>
endobj
1442 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 611.545 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 652.345 null ] >>
endobj
1443 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 600.586 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 641.386 null ] >>
endobj
1444 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 586.68 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 615.562 null ] >>
endobj
1445 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 575.721 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 577.783 null ] >>
endobj
1446 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 564.762 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 528.049 null ] >>
endobj
1447 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 553.804 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 517.09 null ] >>
endobj
1448 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 542.845 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 503.221 null ] >>
endobj
1449 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 503.245 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 492.262 null ] >>
endobj
1450 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 492.286 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 481.303 null ] >>
endobj
1451 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 442.515 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 470.345 null ] >>
endobj
1452 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 431.556 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 459.386 null ] >>
endobj
1453 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 420.597 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 420.008 null ] >>
endobj
1454 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 409.638 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 409.049 null ] >>
endobj
1455 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 398.679 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 359.315 null ] >>
endobj
1456 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 348.908 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 348.356 null ] >>
endobj
1457 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 323.047 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 337.397 null ] >>
endobj
1458 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 312.088 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 326.438 null ] >>
endobj
1459 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 301.129 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 315.48 null ] >>
endobj
1460 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 275.435 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 265.745 null ] >>
endobj
1461 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 235.668 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 239.921 null ] >>
endobj
1462 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 224.709 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 228.962 null ] >>
endobj
1463 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 199.015 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 218.003 null ] >>
endobj
1464 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 188.056 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 192.495 null ] >>
endobj
1465 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 172.2 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 152.802 null ] >>
endobj
1466 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 161.241 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 141.843 null ] >>
endobj
1467 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 150.282 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 116.335 null ] >>
endobj
1468 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 139.323 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 105.376 null ] >>
endobj
1469 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 111.511 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 89.593 null ] >>
endobj
1470 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 100.552 null ] >>
-endobj
-1471 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 89.593 null ] >>
-endobj
-1472 0 obj
-<< /D [ 1432 0 R /XYZ 79.822 78.635 null ] >>
+<< /D [ 1434 0 R /XYZ 79.822 78.635 null ] >>
endobj
-1431 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+1433 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1475 0 obj
-<< /Filter /FlateDecode /Length 2185 >>
+1473 0 obj
+<< /Filter /FlateDecode /Length 2621 >>
stream
-xÚíZÉrã6½û+ôƒº[•JU¦-MUξ¥rMNùÿk°%k2ñä@›"ÁGôëz#?üuà‡oOœIæþ~{ZÞž¾^¤=³F Þþ|n?ˆƒ‘ Œ<h%Wâðö÷á÷#çŠÜ!ýqúãí·'ž0¿^  ³J¡©A„PLKÝ£€CÅ¡€;Îñ?úsûséîà çŽÓ 2?©›_KÂànœÇq¿ñR°
-<ß)>Z&{ñçÄoQfÄ÷ã*ñU>—õZc!KRmÓ"ƒaÂÉÓ‰Lç9‘[”÷DöSöÚòô×ü½0>Ÿ_Š5ø±ôÚØ€ˆG^˜–†_"ô¯»H¿â©ŽÊY²„f
-üt+wÌ õû¥ÛÞä¹5’-¬¼B<VX!K¡7½mÂ}­pTYu~n*­ÝŒÙ?¿®Æ%ÍSùãþµ¨0B1hÀÌi E)* KX×÷OO
-FS–s+ªE¹cä† ¦1õt(aóÅh9R &åMR—]K¹ë¨¶v®zë†|)ë1_kq"훧 ˤ¤ÁlpN/-
-4BzkÏŽÛÿ×Tb]L‚åÕWǶa夠Ò*
-ǖ»=FPy$Èçíøj‡ž“ë™òÙÆ÷cúŸ¶é¯!ÖqŠjî´eèLI«uïöß/€½ýÔѯ'ÐÇhe ñ£éés#¾€9Fß_€n²]FÙ~°Äú«y¯ÍÏæ¸$î¿+FâB§#ë$Þõ{Ý5söû_z+&1Umfôþ<„'×ÿRDzS‡ ã:‰"” Ÿ¼j;Ur`J–1Py
-(Þ™‡à6$lˆŽB"‰(v|mŽü‚êc´¿)º +D%0êµY8DâÇì‹òý#æ+™$8Ž1£t+€”Ÿ={¬Œž¦­ó´)™XzIäG›éŤJ þ©è ó“-NŽY”ÍÖü´’çQ ¯å%%]EÄçy¦6¸ô í:KbºÕm"½¬¤Ê»µJ _ÓÖÂnÉKnZÄ-µ•à­ˆªðÁŸ!ÍÍÀûxjß¿î'&nuQªÊ󥬮<Yÿ@ :Þ}­"±K°™I‡$Ýš†8fo–šR‡2zKe˜6M¼‚¸?ÿK¡w‡²?Px/HØ2—­</ uÂ|-þ¾@BJÍ `OØÞ\0ÅŸÊOH¼?r6¨˜%œ3ŠzÂ'sÔåŽi8S·\ÓxžŠ¨;”ÇdõÜ=RýTq®¦Ó¡„ÂåRÕm^“‹ëª0)d˜™®@wOÓÝ™Ñqí²~èQîP0çŒf¶/q³šY0FÐîKZÃÞQœ#uÒnZ
-u! {.U)5\¶We½Q^Ûì4/q`uÐrkÝk~ÿš%c7b “¦TÚ¡Ì;7Ò† œÛdñ»C¹µ¶j·ó ‚”fB .f²€Ý¡ärcétŠ–ØfvšR1hW §KÇ
-äݯ.9uÑ2¤¦‘É=ó9¿ ´¦ÂKQk´`\ë¨rºâGÎeÉ^ÌÉâo‡òYÛ .ÞvÿUOÖ^gÉjQ>[;
-hÆKákee®žÜ¡Ìg¡àœ·(…­Õ—Î}‹Ý¡<¾ø\2ACp5ùåP‡òYË]Âfï& ÌÊg+w ƒ `*'ÉåIù³óNø›u•È¬üdÎYÎ[ùÏÇÔFN_—¼y‰Ä¢Ý¨Û Úy¸`”­5¿ø™ÓH‹òoh䇥+_Šf®&“Íäj$6)–8çصMíÓ–³‚HÎP’L6Ò;”ÿ·]ØiaÿyNüå!âãCÄñ²6ß¡ÌGEBhFš†iÌç;”Ÿ¡÷!¸b²­óš«åw(óüZGÔÃ,vFo’ Õ<¦÷aˆ¹$}°ƒ‘“BfÜ~Ú‚Ä]žVâ¼ëq_÷C™ò•Ä¯Ô ÑÈqÀÞÈ,)¡)J(}õ~,„j,qfu1 ³F%ç·§
+xÚí[Én$9½û+òJ%QÔœNGsöm0×™Óüÿµµ1´f8”.=s°33Bz")Šk¿üçÂ/<q¦Â7ÿÿ§ëÇÓÏM¹ 2g…„ËÇ¿Ÿ„Ä/âb«.F Ƶ¸|ü÷òÏgÎ5r.­ÿT/ÿúøÇϘ?7‹ËœÖÒÖ Bhf”éQ  \=
+ç\ ÿyóŸþš~÷÷¤¿é>úOô÷à-®ösêâü* ±^Å8&ý¨˜ä…RO¥ÜÖË)¥¿"MZ múS⬿n ¬$¯4Z»DW¸:Þ 8ÒÐ/4i¬x ë¾Ø¸šŸcä>""Գﰥqš×«zºò/ñ–)äé3Ra^AüЕ ¿€pã]}‡f[ñh€z\¡5PÔÉqËTé´k2s´ÿT6éF¥gŸ)™D&%Ã5%kQ‚’Å ¹‘X=‰×|ÍeA^ù3VÂØ02ó
+T`雂3J)ü-«‰&EøDONU¢N†«ºÛ€4ŽfÆ#”)MT¿€y¦¹ªly¢ÓàŒNàŽi7P¤$¤´KïvÈ1 2?oàY•#–xéùMœ^ƒÜépŒ‚jçñvªð™F˜@ë.EÌÊœ~Åc˜y‰h·rì`Û×ÍÇó]áPCu¨Áa¦§V|‡†ËÌ3Ý­P
+îÑŽdÍá–q̨٘µ6™IB× ðåp¸?Ÿç`@üØÌ\o•n,Í­¶=­ºr±éÚŠ„ÙÅR”«/y­Ý^Ñ6ëˆäÈú‘Õ«çMìÒ’}O6¯¬¯°ƒ†¹A5ÙE¦æq·j‡øîÀL¢?’ÌSÞ›D)—Lb‡”(ðHë•(üßÕµ(¾‘±‹3±ùu-þ:0~£N˜AúQ+ ‰‹ÖŠëðeQXÍ„½(ð}M-Ê×D¡ÌLуЎ_+Ûà¾,£˜PX‹@³êÖDТ|QôLaç£Ñ3‡"Ò _‡F&œêÅ‘=òiq´(_ÇT#t6]2Çß(%HÝ‹D_×DÒ¢|M$’OíÅÖZi
+f&ì‡Vžfí4ÞGÏ­vû´ZðbÈÉÿPh¸‡ÉÏ9ia½ù@…çÔëq˜Ä¥'ßö3sØ’fú˳™ÂX~û™4¹ãu%°Þ{áQTLIç™$ZÇ
+ê½U’r)Tz
+¿å4€Í¸uñM—Sh«³oZ£ž_ül¦S§zÄÃgQjf»$
+Ï'Q´-JÙÜbò8y ˜í’<ŸÔБjQ Ù®K$p9‘èP¢ñ•I (¬Š*•SE²Z1ˆ×3ËU›n*+Љ¤k­ó/N¤]yY >^wÆ y]Û—¥Íž©^O'É`IefŒN_.–ê!õ+f¾ 3î5ªüAÑÈ¿Lã«Nd˜W
+%:xd—Ö—ùS¿žÈóÐgZ Ì4ÏK%ùI¬n&±:Îcu:wåzàš“ *Á¤¹˜$¼cda˜üG›’îRõx¦ÏÁ
+T.yv{i4ƒª›èJX×Etl‹­¹‚Œ¢/W×Õò¾6ɘl—¡D^ç_ñ~ éÊÞDC˜4ÑB
+Š:P‡¯©}gr£,’mž«Ô°á‘šy‘*Ê¥>i$ì:¶°ön]œÙâT•L0uIŠ\£”¯9낱¡”ÄE{Ûk Ýîjd’ëvwëuYÝèãúŠw ŠÛs¶µÈgÝÌ|šy|½ÀPbOÁnUº®ë®•{€Wº<¡4BêÁcù9*É$~él²šýR‡²ƒ#“ÖdØ¥¼C9/|+Ìf–îQ¬PçÍ÷á¯Å(…׫!œPKQh òŽ&>¹Y¬Š8Ã.GÄåLµCs&pá¡ã¤î?òhéÙë
+rØŠ­›ÁÁ“¶­ÞÑü—x&%¿,¯UO\ϱóF°§–œ"¥'y—’3©]â®@f:¸<¢VzÐr vÑùÑ>•Qô#ÞBºÐûÒºÅ~r‡XLr4žÍ#3åÅ+r{¤.mèÓ ŽîléÄïµ5®G™œ–©éŠÅ—XÜC°Ê›ÿ#&MèË5NÖëðjÿ·C,ÉŠ¬ïŽÆõ¤-[Ðî´(¿\ò«L)Á$ô<-Ö@Z(m“Í纔1X,1P´ÖŒéPŽìËã Ž!—=¹gcSnâƒ|ÊÇÆóÍq$ã\lê s`{¨poÙp„½|Ï6ox/§Ê¯wüÔàÔÁë½
+›Z0ÀÆkáû²CíPþ®^PœÁ «Å§­Z¿[Ÿ¤Où¤èe´1t(…>/€õ¹, Œ­u?:”Œ¾0 Ûg@gŠ\eêP¾§Ó >]öÍIµKžå±NïÿRwWøÔÛöiTÔµºZ‡ò뺻§Ÿªm«FòÖÊPÊdøPµĮ́œkQH‡ò몵¿·³+|Ò©…í…q6Ö¡=iQþßÙ­:»+›á³e­ö
+J_¼Ýwf«lÙs¼<ý äõþ
endstream
endobj
+1472 0 obj
+<< /Type /Page /Contents 1473 0 R /Resources 1471 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
+endobj
1474 0 obj
-<< /Type /Page /Contents 1475 0 R /Resources 1473 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1026 0 R >>
+<< /D [ 1472 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+1475 0 obj
+<< /D [ 1472 0 R /XYZ 79.822 768.829 null ] >>
endobj
1476 0 obj
-<< /D [ 1474 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 742.11 null ] >>
endobj
1477 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 704.84 null ] >>
endobj
1478 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 693.881 null ] >>
endobj
1479 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 682.923 null ] >>
endobj
1480 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 671.964 null ] >>
endobj
1481 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 661.005 null ] >>
endobj
1482 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 623.735 null ] >>
endobj
1483 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 610.375 null ] >>
endobj
1484 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 599.416 null ] >>
endobj
1485 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 588.458 null ] >>
endobj
1486 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 577.499 null ] >>
endobj
1487 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 566.54 null ] >>
endobj
1488 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 555.581 null ] >>
endobj
1489 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 544.622 null ] >>
endobj
1490 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 587.509 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 533.663 null ] >>
endobj
1491 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 576.55 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 522.704 null ] >>
endobj
1492 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 511.745 null ] >>
endobj
1493 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 554.633 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 461.116 null ] >>
endobj
1494 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 543.674 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 450.157 null ] >>
endobj
1495 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 532.715 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 439.198 null ] >>
endobj
1496 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 521.756 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 428.239 null ] >>
endobj
1497 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 507.808 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 402.924 null ] >>
endobj
1498 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 496.849 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 391.966 null ] >>
endobj
1499 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 485.89 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 381.007 null ] >>
endobj
1500 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 474.931 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 370.048 null ] >>
endobj
1501 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 463.973 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 359.089 null ] >>
endobj
1502 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 453.014 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 348.13 null ] >>
endobj
1503 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 442.055 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 337.171 null ] >>
endobj
1504 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 431.096 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 323.811 null ] >>
endobj
1505 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 312.853 null ] >>
endobj
1506 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 301.894 null ] >>
endobj
1507 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 290.935 null ] >>
endobj
1508 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 279.976 null ] >>
endobj
1509 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 269.017 null ] >>
endobj
1510 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 365.342 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 258.058 null ] >>
endobj
1511 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 354.384 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 247.099 null ] >>
endobj
1512 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 343.425 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 236.14 null ] >>
endobj
1513 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 332.466 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 225.181 null ] >>
endobj
1514 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 321.507 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 214.222 null ] >>
endobj
1515 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 245.791 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 203.264 null ] >>
endobj
1516 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 234.832 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 192.305 null ] >>
endobj
1517 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 223.873 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 181.346 null ] >>
endobj
1518 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 212.914 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 170.387 null ] >>
endobj
1519 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 201.955 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 159.428 null ] >>
endobj
1520 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 190.996 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 148.469 null ] >>
endobj
1521 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 180.037 null ] >>
+<< /D [ 1472 0 R /XYZ 79.822 137.51 null ] >>
endobj
-1522 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 169.078 null ] >>
+1471 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1523 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 158.119 null ] >>
+1525 0 obj
+<< /Filter /FlateDecode /Length 2467 >>
+stream
+xÚå[ÉŽ#9½çWøJ%‘Ô ¤Óéú\·Æ\gNóÿ×Ö’¨H;䪬`®òñ‚¤¸<RJyúÏIžþx‘BÇwáß?^.?^¾ß´?‘ðN!œ~üûE…‹äIœàôÉ%¤Q§ÿ=ýu–QJë¥4o¯ÿúñç‹,˜ßoŽNNxcÐõ Þ
+Žƒ
+«˜üþ-}\Šœ&¾ž¯oÚa¬—–¡´e(=\ødž/üo•ãâå*%®ÊbXvðUs9NJöAž"[*.Åbg(ë9FkŽ€‹q´’–ÎPþr¸&%œÃI±·5_Qž°/Já¸GkdÉá åkr¸V>H 'QÝZòQžÏáÿWy[úànSJ:Zé«éG”_—·É;!ÉNâÑR,1”'ÄpVHç&Å¥”ÉPžÃ ð\ŒÅŽ›¡|ÚDÆh°-m·—6ûv%ÅÏ­%ƒú]M©pÛ•ŸkEÈè`ÕÁo˵té|jW e[&¤õ{M-ü¡ ÷º.¿ún›öæ`Tp3 ø|ä
+ÐÈE=Ê:ª¨#ʽyz?]Ÿ£‚
+õ“©(uïjÞ®H´ÿ4ʧ»¶¥rÖÅiÏ©µ·oÒÐåš'€[y¡r„ú‹z¯ï¢5’|¾&€ÍN¥ÜœCö£ô÷½l•—T^A—êNÙÒYÂÁºÛ/MbÊúÆW=
+j3¸¤ â¹ñ*5AÏiêUÕ¶Iæk¹2±˜U'G‚œâN~©– HòÏn@ö´8UºK?|ý¹I´Jh˜’íQ²\RCYo/ЄËÌœH×vøÊ×oL"yaäœP×öÚÊïÛkëÝxgŸmÕè„!=¹Ò­e(#¹¡b–´ª{y²'IGötîîËßQ·.þ|þÜÓ²ÊP³ñw—©9‚ÆnÊEjÎPÖÏ:4S´ÎëI…¢H0ðëH7¬Ê×% tÅÇÅ=JAkVQ%°N8ÓÚ©Öäôë 'Í
+=˜ØSÔ×ò\K{ÏUÚíÍôäoÙŠtg`+7¦
+Ôæ¼o^Z¹§Âzb€ÄS Ѳ9XZ(Ä{àÖÓÀmZ¿N•PH;…ÅÃs ¨ë«
+Á8iÏõß{·ªhïðTt§a ß/+«@(å'×Z#ä …ï§D¢‚äÚ©„ãÊVïØ&iOp@*¡Æóª¸~\Ž¡¤°¿µ™CíÚú3A[?g­sú‡ÓÑZ<Ó1¹R'Ò5ÛSg—ßÒ×G>̃]õ`÷.Q…úãñVôËÔŸ¡ŒÔŸ›“wEi†ziyxôŸŸ3aEèû£ùnÆŽïó<eƒåô–¬zux®Ã :'uòX‹¦ÁT£ m€–',OÖV'cXhƒ˜d=¿‘†rE»^ϼGb­Tä¸f-JïsD²ÿl–k;g—E ¬/³¿Ámj¦ÍèªaÍuPW—þíÖBOæN[P¦p'H2Ü3…‚¦CØpfǹg2(<!GióMÚaÈm¡·†aëÅ 7l×kK
+εíØyÉÖІ’¤0QÑW­Ï­)6ׇޢ´Më=J°Íg¯÷I¢…ÐX)~wÚ½ B™JêÒ暤ú©nµ]¾I×.}#Ä]{l<ÛeÌ›…ú‰L?<-‹Q›ï¸µE Õ:µq›ÄžÍLy0jÉÆ}ýiû°múŽ&ïdcN©U ¥Œ¾efß*cã¨3ÚûžJ4iÅq?«
+ÓiÈc•â~ÿKA13iÆSÎätù›˜rܱ”j±Ð`÷ž´rPņ`BÁÛÖÖÑ>v©©Á3Rú–e¤OU~˜w
+ܾoÜõwòz®ÛÁÄC>$ä7—¼³Ê™H
+tS;±8ãc(S‡Z¶Ý+C²Ô6ž*s–*í>2
+Ý"å“?C`m Çý©öezâ´½j~ðbüK(tËÉäèÙ4Ï>ÈîlC7×Ù9ç°{`¯£äŒÿØ’lS&h§‘ú? à©r^²'–F9AVñµY<
+endstream
endobj
1524 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 147.161 null ] >>
-endobj
-1525 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 136.202 null ] >>
+<< /Type /Page /Contents 1525 0 R /Resources 1523 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1526 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 125.243 null ] >>
+<< /D [ 1524 0 R /XYZ 78.37 808.885 null ] >>
endobj
1527 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 114.284 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 768.829 null ] >>
endobj
1528 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 103.325 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 757.87 null ] >>
endobj
1529 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 92.366 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 746.912 null ] >>
endobj
1530 0 obj
-<< /D [ 1474 0 R /XYZ 79.822 81.407 null ] >>
-endobj
-1473 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1524 0 R /XYZ 79.822 735.953 null ] >>
endobj
-1533 0 obj
-<< /Filter /FlateDecode /Length 1964 >>
-stream
-xÚíZKoã6¾çWø,—œ¾
-˜ià„
-Ïà4žöÑ@-´3( x)É…ÿ×pA@†|žÃýpYzü¢A—ÑËÈ8+®F¸§ž›{nZ0e€æ‚ᤵõ(ô+
-ºTsʚΠ;í.¿¬Œ)ËWœ­°qº%$YÏkýQYG”µ¦©£ªnç—22U1³F®µ†X¾³RõVxp$åµËšmò¯™©ZGZŸKãëçÛšûR iƒn›÷Þ¬ KYœr] 9T¤RÍj‹Œpf ¶z*$0”ùí…0/Ç@JS”¡¼H£_Öt\íz> †²Tx*ÎÑîQ¸±µ»ÎÏ5¶-%ÔmÈtÓ>l£Ö˜®8Ci~³\Y{ ߪ¬åÇ)«M½wT’D!¡Û£ÄJj²,g(ï) J½É„_DØ HE™Öd5 ,àu«šüœínØrK-»‡Äýv]ÝZÑ™÷
-ß+BDšdïÖ ,Hòo¬ÇQ•SB)Åu5Y¹3”çámVßðîYeX)”†AOS{J†Òïõ¨¨%ùÎu«ll÷Œ{lé]{(©TÝšrÄçïí.µnÙ³ò7çíJ{¡<rUâ\Pd(ožU” d]v¨dcª­¸ŠÓEG›.tˆœ
-êšÑí/âJ³„¡Ü§Y‚DH¸œêÞò¦œØ3”ãÍ’TËÇÿ©q‚V À—aoåT—¡Gù¼Æ š0Ìà@ïiʯÊä…‘Äiì­Jød(h †ô@c.‡3”Q¬0Î ‹¢§¢8Cù¢8Æ‚ ì ÍY[r@¿R kÜ°Ì8Å{”ûDqð$œÎÞ¼WÂCùÕòÞ¥z”×\êý©¾j¾ù¼¸ „óÀÙíÍîÅ“ÊF ÈiL¾#ÄPÐÐRxK¹nCù¯¶¼ !Õ`¸“¹”¡üjykyx¢Ð°nÎ2{”û$gPNHo'ÒsT{”ûµ¼AZ¡Ð tiª¿ÅPvµ¼•“šíÛuõÞ6ƳZ0šµlÁÄ€O%ÖV-¼”ç†ð³ñ\¥ÐÞ OÞh1.íÖFÁV.
-~K2
-”»åëÑ`¾» \Žpo­Nè}©Q†…ÛÐ7mâP­]¨6æã1ÞÊ¿_oi ø¸{ö°öýƒŽx•»yŸ ßi;ïõ}‚åxžuçݹ5 *ï3DòpÉAacG^\€ZŽÞU¥ÛGO|"˜mM~à
-ŠhÌ7ô•Nc¦Â™†>y¯¡¿¿QÿÍÈHF ÀÞ¾„)†2¿å‰›Bb¯ÎÒt÷‘¡@Í9mÕ~Y;T*öè ñÀ=j6;Ëê
-qÜÚÎ.›Ðù—„½9.ædO¡
-?&ˆ"DÉ­Çíû…­Ö±ˆ‡*%Ah䜫î{äô·õݱúöMÛD]Þ«‚¦Z­›Ï‹þš:Ó[%K¤1ËSGƒ_‚×5w©°Élî¤
-c°Š«prOЃô¥:W&oæ¦mÁeÁ½í|Ÿ+BÛúg³“€7+!„Z›âfp$ëÑùõõáVÒ¥°
-endstream
+1531 0 obj
+<< /D [ 1524 0 R /XYZ 79.822 724.994 null ] >>
endobj
1532 0 obj
-<< /Type /Page /Contents 1533 0 R /Resources 1531 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1524 0 R /XYZ 79.822 714.035 null ] >>
+endobj
+1533 0 obj
+<< /D [ 1524 0 R /XYZ 79.822 703.076 null ] >>
endobj
1534 0 obj
-<< /D [ 1532 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 692.117 null ] >>
endobj
1535 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 681.158 null ] >>
endobj
1536 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 670.199 null ] >>
endobj
1537 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 659.24 null ] >>
endobj
1538 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 648.281 null ] >>
endobj
1539 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 637.322 null ] >>
endobj
1540 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 626.364 null ] >>
endobj
1541 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 615.405 null ] >>
endobj
1542 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 604.446 null ] >>
endobj
1543 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 681.158 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 593.487 null ] >>
endobj
1544 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 670.199 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 582.528 null ] >>
endobj
1545 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 659.24 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 571.569 null ] >>
endobj
1546 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 648.281 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 560.61 null ] >>
endobj
1547 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 637.322 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 549.651 null ] >>
endobj
1548 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 626.364 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 538.692 null ] >>
endobj
1549 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 615.405 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 527.733 null ] >>
endobj
1550 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 565.591 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 516.775 null ] >>
endobj
1551 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 554.633 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 505.816 null ] >>
endobj
1552 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 543.674 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 494.857 null ] >>
endobj
1553 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 532.715 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 483.898 null ] >>
endobj
1554 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 521.756 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 472.939 null ] >>
endobj
1555 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 510.797 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 461.98 null ] >>
endobj
1556 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 499.838 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 451.021 null ] >>
endobj
1557 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 488.879 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 440.062 null ] >>
endobj
1558 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 477.92 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 390.249 null ] >>
endobj
1559 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 466.961 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 379.29 null ] >>
endobj
1560 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 456.002 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 368.331 null ] >>
endobj
1561 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 445.044 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 357.372 null ] >>
endobj
1562 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 434.085 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 346.413 null ] >>
endobj
1563 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 423.126 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 335.454 null ] >>
endobj
1564 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 412.167 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 324.496 null ] >>
endobj
1565 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 401.208 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 313.537 null ] >>
endobj
1566 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 390.249 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 263.723 null ] >>
endobj
1567 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 379.29 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 252.765 null ] >>
endobj
1568 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 368.331 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 241.806 null ] >>
endobj
1569 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 357.372 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 230.847 null ] >>
endobj
1570 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 346.413 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 219.888 null ] >>
endobj
1571 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 335.454 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 208.929 null ] >>
endobj
1572 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 324.496 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 197.97 null ] >>
endobj
1573 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 313.537 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 148.157 null ] >>
endobj
1574 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 302.578 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 137.198 null ] >>
endobj
1575 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 291.619 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 126.239 null ] >>
endobj
1576 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 280.66 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 115.28 null ] >>
endobj
1577 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 269.701 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 104.321 null ] >>
endobj
1578 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 258.742 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 93.362 null ] >>
endobj
1579 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 247.783 null ] >>
+<< /D [ 1524 0 R /XYZ 79.822 82.403 null ] >>
endobj
-1580 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 236.824 null ] >>
+1523 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1581 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 225.865 null ] >>
+1583 0 obj
+<< /Filter /FlateDecode /Length 2821 >>
+stream
+xÚÕ[K¹¾Ï¯Ð0MßÀ`
+”ÝÁÛ Sf|
+lL‡77 )ì’Ó"hÅ©7O‚ðÒOæ¹³á5žÉ'*Mê·Å‘“ô²#%†Ã¬z/¼ «û
+€’âD YŠ­§KJ'™ß@Ð
+è¢!
+”08µ-?¤Ò>U°WÂÕ×*&¶#_‰}Yeܸ¸Þ5¬ßP!¼|šgoªåþèݾ­U˜8õ^i­¡Šy?‡¤hœÂ\ ÛRœeöö^5:0à½W\r¢  ÒòÍ8³xRíeÀ@‚›µL4*#ÆeU>Œó»Cs®óõ@S6“mcd)tm/¼£“¼.„ma©ñÊÀêÒð\R^†Þ×ÂB.2\»þÉm©¬¯öB5Â~«–púJé²k1¡5©©1^z`aê^…祾Ñznylö^W.L½­›åÛ¥“îß4¸{#Äcn5müÇyª鎇áä|AQèz¿•®¤03…G±ùld‰ ´r|5òŠ¢›îÖÈŠ‘al² ¯Z“–Wú¥oý§¹?šk©†;=Nõ=µ•Âq ²ó@_Ê@âçéy®|>,…m–ЧCˆ’Q9^òЄ ÀÙØ[/¨KFeí|Ç¥Ú’t Ž`ä®fÂÉÀB3è¿réÃ’oZwóô™Q+/<L§†½¥pByàTNèX¢–œLÍê;2*ÎðTÑ´×îHðùûêôáû€H!ZäßÌ!‘2*dˆ$׉’úm[…âc}¸|Î玺 l¯kœì89AÀ÷|Á•çrýþ&ënì ù«há@ƒv›(eÓ1+¶³I¾6ÑßerTYŒ]%öúàVÑpFmO7Ððñô e,çСµÑVrZñ^ű
+Ü·÷ØwÔõŽôÁ¢XuÎ\ó;ojªûŒ’Šm:Ð*¶ÕO¾‡˜f¼~Otp™íÙTþÉ%£·å¨ÂÜÍTÔÚ[â#S7ïhü€ÖBŽ`̼î/ïÕ«ŒÊOãcŽ—gu¸[ž}à3*[gC]»  Î°ëïÚí²ç<¯5 †g¹çqƒæ'S0.O·ƒñ›ÀÍß]§ë^Z»?;P"âÑŽIçÝÍNÇÔMbÔûß|Ž‡‹­šœ¹ˆý¤<M÷!ÆR‰#‡µ"†¡:³DÓß¿X+
+»˜ÏŸtUýÓÊz£$cŠ'±ýõC2ÄîÇ<ÞŽÄͲÞÕŸAE#Tð÷¡D&c’ËiµÄBªrðÄ]ÑñÈQÊ–®ÝßÂgr¼
+Z
+endstream
endobj
1582 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 214.907 null ] >>
+<< /Type /Page /Contents 1583 0 R /Resources 1581 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R /Annots 1626 0 R >>
endobj
-1583 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 165.093 null ] >>
+1626 0 obj
+[ 1580 0 R ]
+endobj
+1580 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 435.916 202.655 446.343 215.384 ]/A << /S /GoTo /D (Hfootnote.38) >> >>
endobj
1584 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 154.134 null ] >>
+<< /D [ 1582 0 R /XYZ 78.37 808.885 null ] >>
endobj
1585 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 143.176 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 768.829 null ] >>
endobj
1586 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 132.217 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 695.106 null ] >>
endobj
1587 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 121.258 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 684.147 null ] >>
endobj
1588 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 110.299 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 673.188 null ] >>
endobj
1589 0 obj
-<< /D [ 1532 0 R /XYZ 79.822 99.34 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 662.229 null ] >>
endobj
-1531 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+1590 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 651.27 null ] >>
endobj
-1594 0 obj
-<< /Filter /FlateDecode /Length 2841 >>
-stream
-xÚÍËŽä(òÞ_‘?ÐŒ
-í4®êÖf:Ó A¼_„k¹ýï¶Üþúvÿùí§47/<*„ÛÏÿ~“á‡å&oÖ mo¥XPÞ~þÿöï·e±òÝéð¯Vïßµ‚ð —ømYäeQÏõ©OŸ´Î„'ÖÀ#<±ËbdÞ÷¼/®Ž¿Ççð V•U*¯H0U»¢®7ý™ÿùù¯@—…-º”1B‚ã”%<~Êîm®( bÙ6‚kÙ¢ô»²ñŒOt:€5PÙf—Jz<;ÆÆ' ¹&3%¹CzY ˜ÏOgà!C@ƒ0Æ4©Œ™züCÆ
-“)É{–úˆ¦lè#ÞeäÉHâÙ‰Ä }Ðz“Ù02‘Q3„•CIÙª5•ã9ÇÔ¤ÕæGV[Ðí·“V Jà¬<iµ¬ä ÆÖl+½=ËܘRj+¤©æt GÝú®5Ñ¬í±¦Ià1¸
-
-¼ðYæÿâçøl•ŽÊÏF“-ûž¤:ǾMA ʸË”.?‰.Çs9Êa”Ý:iÂåh ÂûJÄ*éÅŠYpÆÕ502¸GJO™GÚ%ù¥ß)à¶uãPßmð;ÚsÚN:ðÁñh¾¹ø¸q&f
-éÕÊ]ð:©  ’HüñtpsÔŽkµ5–C‰Zy…Es#MÑÇÄÏI€l±x‘&ª˜mÜß¿›þ®Ÿî­¥ÐSüX‡j5{páG»ZßGÛÓB Þ„}†8ž˜¼¤[!ÚiöËð¯ÖœýhæØßCIì×Ù-%wìz1d6„ÏØ1nà Q“õ¨Ñ)­ëNØÖ†0"»­+0–¼÷œP(“"LVcÛq–£Ð.g2ÂA80'œJγûϱ%éß½$çcÄÐk¡ƒâBO1AùZÝx!ÿY‚Ú '>æî¡lIý5±Qª)Ö-• õ¬êqV
-‚jC\üÏú9âz(׈¤?cI:aš0\Dl{ÂŒš#¬‡ÂãÅ‘Ue#ª÷êPGSݬ‹Ä\û+Wà~eù˜fCHÁzμŸcÃb…Å¡({˜Žä„•fåäŒø»òÈR+å-åæšI•uM¬Æ…Ö¶߸.¦uyÝš®Ðó8M•R¨PÓ2Ì‹â¦|%z׶&Z²ZÕj×yœ{+œã&$Ã>ÄVuÞn`ÛQÂöQƒ5iTj7¨ã|;ÈQ±bª—œ5SÏÄS:! •ñWJCH8÷’)P°zPñx $ÛÓ;¹Tkd1¤x8ÀDûVEI)(}OJ˜ö¬%sba¦*©5\’f&`õ0û¶åÐd®§i݈”^};íè!÷;ð­¯í×ÔhiZ÷ºÆ½ÑéØŠÉ-쳋Ėôg©UP¥f¯2îN;®ýÀEqAž·ÃC­6R ©qP·¡JÆ;kTC×Ôƒ`
-³²!ehX…[BÆzêüäý$Ôü­«7$jÃ$Er‰qªµƒ¤XwÚŸSÜh k³‚i;t€›g®NøÞRZ1ÝÙe) ?M ‰ "?]és¥¬N›²¾eµ)yYÛZÚÓ7&["|M@·‹}Òn²¢Ú282ÙWé“t ²ÊÚ¢ï¨í†h‡¥‡q¯MâæF7†Öp'åÞøA«,óƬk¾k`¬ ùiÆŸ§ÒŒ½rÈÐ4(Úòúêm{“4M—(A‰XRÇ^ºµ‹j:Öºžôl'P%z×Óà™ÒÎæN]AØ1M×~*cPN£a´pcR=ÙbPv»% ¶©«ŸÕܨåtôͯ:32¤“jwØá˜hÙî§b›'ÌŠ”pÉþÉæ‘^Ònå‚–h)úb®™ObaB¶‰ HªôŸ•?Æl-º[’i#I¶-´iÕP—ƒ!œl‚€ å§Cöq4ζ&L¼&A%ñÚV=Lœ{ô~K„ÎUý,Úà½X krÂÇù¦CA›A9ÛäLiÜëFg×|húÀ"|uJ[!ôóÆ Î‰ÅΤ³ Œ>Vr(ó*o&¤BŽÆÙ‚Õ¡¤ ¬\Tc$³êj¯…D; z. ‘N…r—©íkõ’ˆòAã(¼çëúõ7¬5\\ƒ%5¡ðµ˜Í ²À1å
-¯7¬c)¥Ç9r6m(éTŽ”Tæ:v
-ë8m/±b® ÷õû‰ÖÞL¥/A‡ìçÔ5ç}©ªžSJêµéõ9굕o¶Í1wÔx{Ö³3™ƒW÷JíŸzFÏZë_Pw­H7¨»›S÷Ê…@{6Æ^ÝLÍP0(ÿ[CÞ¥Õî°KûÂvBVb꬧¼7Óœl”]ã)½NûÖû#UÂ
-endstream
+1591 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 640.311 null ] >>
+endobj
+1592 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 629.352 null ] >>
endobj
1593 0 obj
-<< /Type /Page /Contents 1594 0 R /Resources 1592 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1582 0 R /XYZ 79.822 618.393 null ] >>
+endobj
+1594 0 obj
+<< /D [ 1582 0 R /XYZ 79.822 607.435 null ] >>
endobj
1595 0 obj
-<< /D [ 1593 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 596.476 null ] >>
endobj
1596 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 733.96 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 585.517 null ] >>
endobj
1597 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 723.001 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 574.558 null ] >>
endobj
1598 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 712.042 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 563.599 null ] >>
endobj
1599 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 701.083 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 552.64 null ] >>
endobj
1600 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 690.124 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 541.681 null ] >>
endobj
1601 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 679.166 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 530.722 null ] >>
endobj
1602 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 668.207 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 519.763 null ] >>
endobj
1603 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 657.248 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 508.804 null ] >>
endobj
1604 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 583.524 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 497.846 null ] >>
endobj
1605 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 572.565 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 486.887 null ] >>
endobj
1606 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 561.606 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 475.928 null ] >>
endobj
1607 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 550.648 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 464.969 null ] >>
endobj
1608 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 539.689 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 454.01 null ] >>
endobj
1609 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 528.73 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 443.051 null ] >>
endobj
1610 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 517.771 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 432.092 null ] >>
endobj
1611 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 506.812 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 358.369 null ] >>
endobj
1612 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 495.853 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 347.41 null ] >>
endobj
1613 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 484.894 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 336.451 null ] >>
endobj
1614 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 473.935 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 325.492 null ] >>
endobj
1615 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 462.976 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 314.533 null ] >>
endobj
1616 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 452.017 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 303.574 null ] >>
endobj
1617 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 441.058 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 277.671 null ] >>
endobj
1618 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 430.1 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 251.768 null ] >>
endobj
1619 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 419.141 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 240.809 null ] >>
endobj
1620 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 408.182 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 190.996 null ] >>
endobj
1621 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 397.223 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 180.037 null ] >>
endobj
1622 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 386.264 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 169.078 null ] >>
endobj
1623 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 375.305 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 158.119 null ] >>
endobj
1624 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 364.346 null ] >>
+<< /D [ 1582 0 R /XYZ 79.822 147.161 null ] >>
endobj
1625 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 353.387 null ] >>
+<< /D [ 1582 0 R /XYZ 93.716 117.414 null ] >>
endobj
-1626 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 342.428 null ] >>
+1581 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1627 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 331.469 null ] >>
+1629 0 obj
+<< /Filter /FlateDecode /Length 2689 >>
+stream
+xÚÕ[Én#9½×WèŠMFpNËj`ξ æ:sšÿ¿vpßRé¤ìš®9ÈNe&ƒÁX)~ùÏ…_þü±}üøã.ÔÅ1§AËËÇ¿zÀ/âbCs1Z0®Ååã¿—^9—‚s4/ÿúø3roœuL ‚¤Á–sýN×"~üµ¿'>7†xÏ@¼wúîèþ=»§w·DÀ>áÂif5ŽxñFHðòÒ£_À\Ó¼Îß…«'?÷4)ÿùÜØô.÷÷
+Qê±Ã
+ÓJàæßðøy avWзø^wkézð>´ßæÕ
+„Î)–´
+UܹΣÐ1ëÚÚX(õáN±÷ˆn!ˆZ p‹Üäº-Å—MÏsSXŠæa\ä'Ü–4CMƒW줠fÚq£…òÜsÙ&ë²ú¼é
+KyêäÈÎf¹™Ü%¤ÿÉ6•øvè ^kªÙ×gßì÷Ì¢¾¼O«4Ëß)<¢ÄÖ#"…’STí#dmáÛz'ò}É‘I^¬NïI•ŒŠr„#OgÐa|‰¿Â·.’ H^&­ñ=zÓfù¹ÙÆ©…·J¤&õîœ}Ê6Sú`”ÉÑüyjô^Ì)õ^# 6§WZV+Ù’å4ˆ¬ˆ0åBÒ<£‹ÓoŠ:p¯!îc!÷j^žCn?îmz0Ÿ:ȳæòH9S[Þ ´Äëî¸O¨ú§f÷SÇÐrJ|»¨Roçãîd®”à6÷ªé ËzY¾4²n;fìµå}RÝ·¡B:4ÏýèÙxX½O!²_õ¹®7²|±i: ¬²|¯—²îìPY¦Ì¸’ÅÎf²IÃM5iÙ¬˜å
+w¥ºJ*my'äHêÙŒÏú&Îòë5êÉ­šm»>sXcIcW¹®sª7¯ç׬§=ÊdHzæôHÆb07 üzCý Œ2ÊÐ|q6ÌòèQÖò^Zð¥-ä·Êû·V@F!âÄ µSjʆU
+á8“ö«ž ëÊ/(¡
+
+endstream
endobj
1628 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 320.511 null ] >>
-endobj
-1629 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 246.787 null ] >>
+<< /Type /Page /Contents 1629 0 R /Resources 1627 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1630 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 235.828 null ] >>
+<< /D [ 1628 0 R /XYZ 78.37 808.885 null ] >>
endobj
1631 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 224.869 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 733.96 null ] >>
endobj
1632 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 213.91 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 723.001 null ] >>
endobj
1633 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 202.951 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 712.042 null ] >>
endobj
1634 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 191.992 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 701.083 null ] >>
endobj
1635 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 166.09 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 690.124 null ] >>
endobj
1636 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 140.187 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 679.166 null ] >>
endobj
1637 0 obj
-<< /D [ 1593 0 R /XYZ 79.822 129.228 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 668.207 null ] >>
endobj
-1592 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1640 0 obj
-<< /Filter /FlateDecode /Length 3243 >>
-stream
-xÚí\ËŽc¹ Ý÷WøZ‘D=BírÕ
-3„M ïÈ,·™³À…'v"ÍýÏß.éß~
-Ü™‹aÞ‚Ó=w
-°QHäN1cMáÎ| ¯H‹g½·>¥ã~Z_äê¤ÔñUÚ—¢róÀqP»N }'ß­¥”¦àæø  ”P_•Ra6‘ŸÈô$‡¤øyWeÔ£Ï
-àœ€ 0‚R‘Q8ªŠúõ³xÅô,è„,Þ(Ú3"-"‹"xoF?ˆ œ©µ8eݲ^C³¨Çž¶û´+Pa˜”ž
-T½ï t¤òƒ
-ô»iþbçø>Ø s }NêJ3dÙgÂxÅ@Ê…–縆 +)•ÌƱ×d›iëOùÈepx»€¦¿±¢1.¼aÎ
-O7›G\¿(6ßû·É¤-¶Í_îE–}êi—ò<2ëvš¡è=ïìÚuìd{’F™Úrg=ÉNµÓP­Yå0ô®[L¯+ãa½³˜þøÉkÑ¿î¹ö“Ö+E> ….¾wôÊ5×½+w¤"Í6
-x× Tã?”N>¯c]O|9OáT~
-Ð&»QgjŠ~üé ™;˸›ŽÁY—0ï<¡"Í RY΄n€FàPóK¦Koç1˜¸}¾ôLy§˜%s%ŽGŠZõKÛÈ8ª |PRÀ­‰¼fÜð£Œ+–-zÝ®ç«ÄÆó˜
-YAÉ fH\nk\Þã!mž1P6/bug‹ÊKÞ°Ñ.Ü£+Â0-Ý Ü…~¼Êžº;¹NÉÌ´©ap\صE~…¨åIÍ\ÙX0«§Q#„U³ãDµcÂÛ‹HØuöõãB $Œ¦ô6å)À1‡&åêy
-'Èi$*j‡žGEɸIKít>r^>t•%¹\Z?Î;H#˜r q—FìР¶ç²’9T:êØœI¬OGu7Ç!¾‹ážÓfs[€{¦ÐQÝ1·v­
-ÜÌ^̉_Ë3­¹ø€c.gnÞ…&ø¾là˜koŸŽšøPÁá JLcQªî‡Jžô4š{•¬ÒS ÆÑVc_Ó
-µ·”†yÖG~ŒKÀo P*ã«žl9Ž7££lmF°„J SÜferv§ØaÙýæœHÈ5utWá~˜+¨q™ä=Údo;º%œmøØ¢½+z¼õX´D¿µ*O(&Þ£zÒ˳Q»âLzEˆì[=P–™±ˆ%pq6ñ’‘TB%zË×βݲ¥{'^ôÛ6»`˜Ñrb×í±;R‰H@¶LÕË%I"˼Znúr3‡!×É¢U×ê>*ÕS3 ”o ¹3t'‚w‚YîVÁ;Æ`/2¤á©\Ô(`Ie‹çZ¨ôXj©´b0RÙ± £VüðÒµ¸`™8MBʹß<¥:Ã'×ÕGlµw]3EÞÖ&—Ä$QÀcHsv•%•L‡,ÕÂG•wWÞ’d<JS½b‰µŸŸw£ «áa‘W®\æx»ñ­Ã0ÓÓbš9ˆUÇÕ±VÚµZ§tÆŠ\ÔuUºPFLN„‹q§ŽS1ŒJœ0›TïaK½G|Z~l§øh™Ûãr–(^c•Ÿr‰ÕÚ2SK PD@ƒ¦Hi(Erp.àN* ½e¶U84ä©Ù_kÇe“–,Âú¼<V'FtvTá\éòZKMjÆa*#‰æš™ŒÙ©æf¬·¹êUžö¥-ÙÈʳõ:ýaÌ}:D³º<˜Ig˜ƒÙÑ[7¡RÏ|FÊy µ5u9ûë1Ä xP”‚«—x7žN;Û ­¿¥²%z[0‡øúÇäWž©¢•V0×2ÃT:W@&EÉVK…ãøªVñÛ V‘R±{³1!ÕSqüC¼!öªxƒ2Ë9GræôΨþ
-ofþ§x—@Å
-¨pÎâ]¹‰Pë‘Â5.^ŽNçÎ…MÕoúv\Õt,Ä0þ[{ ãð}2ga¼"Ü‘Ê>Ž'´e 5eã,Ž‡¼T•3al#ßBÆL¬žÄð\HÐS"ß_£ž<ª%bÎÔámiì®ÔA3Åí¤§zOOG*O°!ÑÔ*7±±çJ*ßßP£,€)ç§S°÷SlBeß(ï 
-Þ¹`Ýå/¿úåWlþ+¾~F‚w—ÅŽ¿£yR1½À/¿üùÓÓ¿±â¢™·¡`h”®(2À°ø¯¸+p±8Ž‡tEWÌ¢b9Î䇵ËZŸý%?ùKKú3ÖÒ HL£ø½˜æyT=ÚÃ/0¡DŒÀé/0aùãApK´Í/åP~<X‰O?„
-ç€ÿütg— )n˜ª½Íù&ÿ¯e- 4Ì(ûPKl§ÔëU"@»y—J¥ÕËqx•,öêÿqIkåk¦ZZ8<µôûWg4µã•f¤ñ•‰¯±J¸†w«Å<z¡Þ œ­÷Oçð¡û7šèë
-endstream
+1638 0 obj
+<< /D [ 1628 0 R /XYZ 79.822 657.248 null ] >>
endobj
1639 0 obj
-<< /Type /Page /Contents 1640 0 R /Resources 1638 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R /Annots 1685 0 R >>
-endobj
-1685 0 obj
-[ 1591 0 R ]
+<< /D [ 1628 0 R /XYZ 79.822 646.289 null ] >>
endobj
-1591 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 435.916 757.574 446.343 770.303 ]/A << /S /GoTo /D (Hfootnote.38) >> >>
+1640 0 obj
+<< /D [ 1628 0 R /XYZ 79.822 635.33 null ] >>
endobj
1641 0 obj
-<< /D [ 1639 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 624.371 null ] >>
endobj
1642 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 745.915 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 613.412 null ] >>
endobj
1643 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 734.956 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 587.509 null ] >>
endobj
1644 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 723.997 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 576.55 null ] >>
endobj
1645 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 713.039 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 524.745 null ] >>
endobj
1646 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 702.08 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 513.786 null ] >>
endobj
1647 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 652.266 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 502.827 null ] >>
endobj
1648 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 641.308 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 491.868 null ] >>
endobj
1649 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 630.349 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 480.909 null ] >>
endobj
1650 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 619.39 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 469.95 null ] >>
endobj
1651 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 608.431 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 458.991 null ] >>
endobj
1652 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 597.472 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 448.032 null ] >>
endobj
1653 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 586.513 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 437.073 null ] >>
endobj
1654 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 575.554 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 426.115 null ] >>
endobj
1655 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 564.595 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 388.256 null ] >>
endobj
1656 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 553.636 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 377.298 null ] >>
endobj
1657 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 542.677 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 366.339 null ] >>
endobj
1658 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 531.719 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 355.38 null ] >>
endobj
1659 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 505.816 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 344.421 null ] >>
endobj
1660 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 494.857 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 318.518 null ] >>
endobj
1661 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 443.051 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 307.559 null ] >>
endobj
1662 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 432.092 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 296.6 null ] >>
endobj
1663 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 421.133 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 285.641 null ] >>
endobj
1664 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 410.174 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 274.682 null ] >>
endobj
1665 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 399.215 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 263.723 null ] >>
endobj
1666 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 388.256 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 252.765 null ] >>
endobj
1667 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 377.298 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 241.806 null ] >>
endobj
1668 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 366.339 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 230.847 null ] >>
endobj
1669 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 355.38 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 219.888 null ] >>
endobj
1670 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 344.421 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 208.929 null ] >>
endobj
1671 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 294.608 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 197.97 null ] >>
endobj
1672 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 256.75 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 187.011 null ] >>
endobj
1673 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 245.791 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 176.052 null ] >>
endobj
1674 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 234.832 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 165.093 null ] >>
endobj
1675 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 223.873 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 154.134 null ] >>
endobj
1676 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 197.97 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 116.276 null ] >>
endobj
1677 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 187.011 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 105.318 null ] >>
endobj
1678 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 176.052 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 94.359 null ] >>
endobj
1679 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 165.093 null ] >>
-endobj
-1680 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 154.134 null ] >>
+<< /D [ 1628 0 R /XYZ 79.822 83.4 null ] >>
endobj
-1681 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 143.176 null ] >>
+1627 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F85 439 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1682 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 132.217 null ] >>
+<< /Filter /FlateDecode /Length 2756 >>
+stream
+xÚÍ[Ér#¹½÷Wðƒ%±E(!6¥‰ðY7‡¯öÉÿ5v ¨RíéžE²dåŽ|™E~ûÏßþüvÿüöLJÐ7ϼ‘nŸÿþ&Â?øMܬgÊÞ¬ŒqûüïíŸ/œƒà\Ù×ïÊÈðÍøðí#¼d¼¢â•GxÉx%¼óz5®?âÚÎaüh»'z`^¥}Éë¬yý×ç?¿VüJ®™Ç6ì„t—J¿PYK-•fÜ©#*…±üa†×ïÒ¦å=oŒâƒ«Ë,Õú¥^ÍêDÎÄS
+˜´~2H¡S±„‹“nä#0dy’¯ê9²(ŠÄ†R7µH·›mvÆ>HÇ,
+µ÷ðYäWü¯es”x_y`Ù÷QÖÞOeÎ2é5å@ë|·¤Á`'u/wLö
+ò)µöþò]#YM‘—®L’ÈõÎèàZ—ˆÄW·PÙoÓN[]W˾=®‰tX ]Rg:f±ð÷Ï <íoÀ¼JŽÊsšIt§`[Ðí«ÈN!T’án.XÀ(‡, 0”Jô©2»‰åâQŒU\F‹Ö a¯¥>ñš#éÁ]ö »T¯PKê+kzÜE>Oý¯ø¿TLrUe7n2¦íZˆ¯àÙ°rð£ûi¤ ÌG=ã{EùT¡e’Á ¼ë(£ý2v¹A)ÂäÏP2I8cˆ<é;p`SrcÔ¦¼gyÁ¬Ýÿg?Š9°Å‚îÕUÚV=B2Ò2 £÷SÁknjê§l¼vÝn3ÍEz§LÃÓ˜Ê*Šðùw9¬JLI3%"uuÅ ”ÊA8Ðb [ò²¢ºÎ˜ÈÓ!ùhnöø­û(÷¨‡ÃÉ!Rûs9?»5‘G VËÓÆ)\S:r¥Ë|ÊQîY*3 ”Z9téÌËÇeIíMã)NN‹Û ´*t:O~Tª³VªÊû¹²SÍpZ@:Hgá@»úÚŽË„¢‘
+ÕpÒïÚ­ñãmÿðÔáÝ
+GYV~eL%¥Œ!%¤:{HÒQ„~”‡|§|\©îÓª’Pb¯J¢YâÅ!je™ÖúŽ-pBRäÞ÷R½¸~ŸZóÎô;Š·ÀìäµWÑS)Z0‘ž%WPwœZ@ªûJÕL.³Òì?
+/ø@ÿ{¿ôM#š‚ìË/?áŠ3/§Bèj­X•‡©ÔtÙšÓ|]‰T\”òP9*0¥¾ìu~¦“óÕ¶˜"Þ¨Ð2úz½W]SIÖ»í¹W1%;šäÚèjµ‡D·>)‚d¨÷´¹–2TW+ÍRð*ûl€ÝfKÙ¸Z¥6 ”'Z:ï`-ð£î›ãÝ7;wßÊêuÏÖ‰±5–¾¡&XºR[!µÝÙ¨ˆ¸u\½Q-šòðg¬œdü®+Ø]Vìný0Ž(ýˆÒ hT}f?s9±Ã)‹:*¡ð²‡Æô¤ ~m:
+>¶:„\RCÍŸte¤u­ùSw¢ùTº;jï¤5«&Mu†èl l™`ÖN²jÈ2 æ¥öïG)jŠïkf~Z¤ÕÆRÒJvÊ*q ™®AèòǪ©æY¸W= ÄÖs“ah­˜zÝïüÔéPÑT ÚÖÂZÁ]¼êk_‰+åÔ\«Õbï«?å‰ršÉUÃ-‡Æ¹œ{‰Û¢#ýiš[}ªÈd*ÅÎËíÈ’VÕàÐK–=·V¤QëØ<ðtcÐ7KÝSƨcd[]+S–ʼn½ÞL/éª<@©|øQåiÝ([C[žo T¢¬†áN¢‡lK¥í•‰«³m%ÈÀö¸z谉˅1»ø­{ÐLBUwØ~D.|&œWŠ·Ì0àÙ+ÇLµÛÕ~Réç* @Ü‹?rá“<ø}„š¹˜í}¦VÞômûõ¶žõvzX¨·ç‹kà–)7UµW»gqwôqLåRõª¼d
+RÁˆZZúµàJ Üw,<C¦mk˜«{?]{ѨM0 \Y1¦ý·jG»1:Š¸ÂËÇH>"·zª©3RóK¾2vþk]°¢{ðTָɨÙQF®Ÿ FD^lõ ®Ñê=3û—Ÿ ›0#{Jº÷J-¾¢ëÚ>½F(°_„DÊŒéô¹6Cð–yé(:Cì€OŸÚ;´°ZåX& )¸‡“Â¥Ï÷»`7©}âmIÉ,ŸúW;õå„&Töç½u2»¨ä`«’#TÚ,¥À°j¯¨U[4¦¶ç©Áá„kµÕ©#Tö5&gN:ÊÆÕþtiÜ*“èèwok_ÔjJW»bXÇœñH ¸Þ.mvBEëm6LˆvA¹¸Ú.Owa"úOóVº­Ó»±‡X½µ=\;LòRfécíh—áXõz’ój—¹Ê‰©¬†©´û¡ÅjÀy–îÓ}у«x/'ÑßöDÇTš-M/c¼˜±3ýâ[ž¾£`Áuë§ý”G QmƦò·zbÃm%HBe{J¡X8&ƒïl„Ê%ì)\¨ç‡ž÷89ÑrgrÒVŸÁš¼jêkEaM^85ÛöÖäí–¦u;?Žñ.þþƒj㢚`Cî) ôkÔ(F†¡Fs5`˜3… •¹˜ì?+Áå=œb…0 ,wo`@fMna€ôÃwo`aÁ™
+¡HÔs¢ÖãŸiæ@SJÚ4+!¬É­ÞÒðý#SuŸ^ëâð·+yñ¡MÞc$S}ÞŒ¦<él¾þYM ¥ŸÝÚ^c»ý<`x¾©ô·Ó3Ð}÷
+ž7¹
+endstream
+endobj
+1681 0 obj
+<< /Type /Page /Contents 1682 0 R /Resources 1680 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1683 0 obj
-<< /D [ 1639 0 R /XYZ 79.822 121.258 null ] >>
+<< /D [ 1681 0 R /XYZ 78.37 808.885 null ] >>
endobj
1684 0 obj
-<< /D [ 1639 0 R /XYZ 93.716 90.265 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 745.915 null ] >>
endobj
-1638 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F85 437 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+1685 0 obj
+<< /D [ 1681 0 R /XYZ 79.822 720.012 null ] >>
endobj
-1688 0 obj
-<< /Filter /FlateDecode /Length 2713 >>
-stream
-xÚÕ[Én#9½û+ôÅ"ƒÁ 0 X–UÀœ}ôµç4ÿîKJ'5ê™CVIiòeD0öHñË¿.üòë…3>ù½\¿^~Þ•» sVH¸|ýù"ü"~«Xu1Z0®Ååëß—¾rŽŸœKþûãë/<cþ¼[¼Xæ´–¶Z2+Evw”|G†âLpèÉЊsãΑa$œP
-x†ü¥®þ³GÅðÝ´Ïxóë>üÿþÒwyæ¥~û¡@e™w‚HWølüNÍ‚vé á~{Z€v!|×|[„Ò1’ŠPÁ9Z`ZSÐ^^â#ËÏV"ñex««ë>…Ç°6î±ùÇkZ÷p¯ H¬xùùª=ËtŸve– /"3}Ý’Ùò„ò Ã
-¯¥RÊ×,î¬ÓéNÐô`I)lÔ»˜õ_;Ùj†NL‚Às‚PÈPhŠ´)’#² Û1öU žbÝJƒ®©ü·¢‡á~qÑn ;L7ºÙN‰²Qw³þŽÔm M*¦ä”,H¹§=#JZǶ¼¶s Wq‡"Áìky3òìgwYdÊLÁ|3-#(;,þ…¬É´c,žOí
-+#JŠWðîázû!^c®3Ƙc_ œeº¹B¬Ã›µjþ::„[“„÷»ùnXåug·îu÷„‡ú ÌkZgt&×àŠ\àÞß
-JpðW)ò&øCžÁë;·òHxÌ}Tù·ÑSFÖ®icôˆ¶,3üMù§»I™“GOãZíSÞý3G¸á‘»"ã@ x]EÔBzòg‹ó:"}îg Q!BÞƒ‡Ä#ZÆ‘rnnÅŸÆ1çõ*iòÝÙ
-˜‘#×Ñ'T?pûv”P|9´‰N-Íå9øø¿çH‘׉ü£;ô©
-zzgsüb6H~ѯ[6öÏ&yíçÆ»DKǪ™ê÷-ª
-/n[G¤Ø"‚Î9^4%âñ›ño³ã8t@ÙÙLü J¯¨ƒ¿ êÜ)R8CÞƒqá0µŸý7=|S¦ ûÒ…âyö^ƒ))'áÙ=á(Å]Ö¶4_g"¥.Š^h˜à¶áNËóNòVÛl*ÔÁIåÕžÊ(€¤Ïžz“«£.®Æ@Û¦Å$Úé“$ø#•zOŸ3j¦…š€[ /Ay‚ /I=v £ºÉ=2F”±,nkü"2Ó
-þ¡ûfùƒî›™»oyõºgkEߋ߆&X¼SZ!¥ÝÈ(qí Øò ’4¥±OŸ9Ç’ñ‡²6×îPjwãºaDîGäN@Eu‰üDQ Ätã¥Äj/œ¡
-Ï{¨MOÂà禎#é U¯÷þÍXÃ1PÓù‚ì¦Gí zÒFšH«•¨Olèrâu&hÒ1}SRð¾×!`‰6tâë\÷§ìÆSñéC'®YuiŠ6mCiòð²´’e>æQ˜Ð¯¥ßsQ||[3ÓSM­t–¢T’VŽ³Í4 bã¿+ãµÈY ôŒr®üÏ' >ﱀ놷§§Œ‡²¤ªÕÖÖªÞW}¯+a%Lݵ’.¶ÆúSZ‘ã V·dÇ|îq aì‹öøÓ ;õúdæIœÅŽÊýHÑ^& §l,³Úõ§\¼k©4J&›Fž¶·Zm§©}ê4ÊÙÝJÈн Æ›&é[y _•F(…×Ë<®ëy«Õ–#Ö) 6‘e7Þ‰xƒ‹­Î´> qv¶-³ô@ÎF%pXg@ÍÇnÔ™Pa„¦…É…ÚhÍ\{Ad>‚gǬ sjÊßÎö”rO— Ä"âšO9¿vuø³†ê9¡m½¦šâ>èݶûsézÔßý Īz>ÁôsCf®³4n˜ Z>¢œÊ`½d™9Í`‰c¾=za w±ßŽ[þöÁó™ÊÿïœÜ8
-B爭æ'P5Ævm¬š;æÙB4îÛÃiáoyXhÎäø
-pÍ]·"4AÙŸù
-ô*2fr‘Œ÷­LŽ œùÜž©
-i}|›rš³õÜ­#(OH Ci&2ìVó– <ú…‘|_뢒“»ÚeÃ;¼Újµ¥¶Éà^ÂMdìý؃ ¨Ïq¢·’n™àõÄ¢¯õÛágE·úŒm{÷qUͺ+·Ø0VÃTÚÿ ‹Õ€óÈÙ-¦Ûl[É4”ï³…bæ{©§¨[jlE÷é[÷ß2òölyµ-Ÿ6Ü0ŸË™ðoK¶C@råÚ²$¤·à Ž3׬/üH9{Ãϯ—ÿ
-endstream
+1686 0 obj
+<< /D [ 1681 0 R /XYZ 79.822 709.053 null ] >>
endobj
1687 0 obj
-<< /Type /Page /Contents 1688 0 R /Resources 1686 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1681 0 R /XYZ 79.822 698.095 null ] >>
+endobj
+1688 0 obj
+<< /D [ 1681 0 R /XYZ 79.822 648.281 null ] >>
endobj
1689 0 obj
-<< /D [ 1687 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 637.322 null ] >>
endobj
1690 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 768.829 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 626.364 null ] >>
endobj
1691 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 757.87 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 615.405 null ] >>
endobj
1692 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 746.912 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 604.446 null ] >>
endobj
1693 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 735.953 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 593.487 null ] >>
endobj
1694 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 724.994 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 582.528 null ] >>
endobj
1695 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 714.035 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 571.569 null ] >>
endobj
1696 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 703.076 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 560.61 null ] >>
endobj
1697 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 692.117 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 549.651 null ] >>
endobj
1698 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 654.259 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 538.692 null ] >>
endobj
1699 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 643.3 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 527.733 null ] >>
endobj
1700 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 632.341 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 516.775 null ] >>
endobj
1701 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 621.382 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 505.816 null ] >>
endobj
1702 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 583.524 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 426.115 null ] >>
endobj
1703 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 557.621 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 415.156 null ] >>
endobj
1704 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 546.662 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 341.432 null ] >>
endobj
1705 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 535.704 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 330.473 null ] >>
endobj
1706 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 485.89 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 319.514 null ] >>
endobj
1707 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 474.931 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 308.555 null ] >>
endobj
1708 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 463.973 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 297.596 null ] >>
endobj
1709 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 453.014 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 286.638 null ] >>
endobj
1710 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 442.055 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 275.679 null ] >>
endobj
1711 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 431.096 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 264.72 null ] >>
endobj
1712 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 420.137 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 253.761 null ] >>
endobj
1713 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 409.178 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 242.802 null ] >>
endobj
1714 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 398.219 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 231.843 null ] >>
endobj
1715 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 387.26 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 220.884 null ] >>
endobj
1716 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 376.301 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 159.116 null ] >>
endobj
1717 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 365.342 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 148.157 null ] >>
endobj
1718 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 354.384 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 137.198 null ] >>
endobj
1719 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 343.425 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 126.239 null ] >>
endobj
1720 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 263.723 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 115.28 null ] >>
endobj
1721 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 252.765 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 104.321 null ] >>
endobj
1722 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 179.041 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 93.362 null ] >>
endobj
1723 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 168.082 null ] >>
-endobj
-1724 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 157.123 null ] >>
+<< /D [ 1681 0 R /XYZ 79.822 82.403 null ] >>
endobj
-1725 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 146.164 null ] >>
+1680 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1726 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 135.205 null ] >>
+<< /Filter /FlateDecode /Length 2496 >>
+stream
+xÚÝ[Ën+7Þç)üÑ‘(êì$.ÐuvE·W}ÿm©ëHÍdäã“æï"ñ\?‘o"5üô׉Ÿ~{âLù#úÿÛÓõãéÇM¹2g…„ÓÇÿž=ÄOâd«NF Ƶ8}ü}úã…s|ç\Jú³ç??~â óÇÍâÉ2§µ´5ˆPÈPèE;Ε 4MH@¿otné:Õsñ¯é÷xLqI×5]ÃëòŽvçgŠ•*G:RVqù‹Š3Á¡gQ«c,¢bDerÒ1rE#4z0Ód€e‚Æè'\#ƒ&z”DÆ›P'GoÆú-ã˜4'ÃE  üê•ä –ŽWŒ·ó³´&œÁÿJ +ÆO:Ü¢R˜·¨ñŽIª&oùŠ~ÉÊ )BT° ‚űIÉ"íG´øù×=õ@J&t· " CÑ­Ð*Þ#?L%Éá–åFÛá³qEþÒswH$§0?Ù¾çnydé ßm©3 ÍSçùòãx÷àÏe?ÉMïh¶ôStßõâß==Á´ì1ìùý‘÷A†H•ò%z)é=’€÷\2+ix‚ LħòÕð<T쌕J8š~%:b
+¬Ù)<»’ø†×(&M×¥ÎqÁ¿b= "þ…c…Ì" (Ìè{?Ê4ïÚPðkâŠÿ3nÊ“v(0W´Ò •ìÉPpŒ ¡™Q¦Gy°*æ9*³µÆ+ϘõÓÞÍÄ#,X²¼¡øà SÍ
+”">:쪯SºC¹c^%2%ÕŠŒË12¤bÊê%ÌkÊÊŒŽ¾Ê[Böo~> egÕœìÌ[ôœ!P¸x/_÷j{NñDzÿ,dÊè^<Ò͉§EÌFçrÂñ[dÍ«{p&6ºûrBÛº¤†Y?Á¬
+'h ã¶Äíd¤…5†5htˆççxRn¹´<õËÚxV¯Éã•ìK½!aUš#ÿ»[¡ÈŠzÒ¼:ŽT
+³jaZ"{:tŠ»¶Z.o¬V-2áúÁr1$Ê@ÃÂHö&žÕP_tE
+d-"/Ë}­dmÈúÁ•©¤F1QÕî«K AÆÊ-–GøKžÁó³x‰9q¬ä$îàKWÜtªT…çk±‡²Í‘;?2‰TV5⪚’ŠPsØÏw¢6fãànýN¾²”µb˜ÉÁky"Me".Óãê¢\N}
+éŸñŠ¥‰OôŶðn;æéSõáaŠ;õÐ’|áb3£R_¨\•’a8¯¥ÎÅÏe^üh^^Y˜eÖ–1WR
+®0nèjíLU©ê3 xOó?ì;Ðõ˦c\çw»½Õ’ñÁÕ¼îMÇADÁ`šÕTl¦óQ”œI.†„àT>Ú!•*"_ê¿aöÞG FŸ[‰ßä\¥2£ø-…®_1Ÿ\÷,•Ë·ýz²ÔL¹ÕH€K)#ØkÒ㚣®þ¹‚90%D?‚E› ¡çgaQó¥3QŠé·|7ÖYʳ®PèûØúJé„„3òte#MXiA@
+bp€4äîE¼S®ª4vñ S»ªe´i“ô ¼7— «Ö¥^|±Ñ»ANP*Ùt<ìg–a÷úŸ.0ÄáBöhí ™k‡´Õ*¨—?þ<ç+h+í m„f!Õ™J‘ÖO´
+"ÿ–²e;\>-)dþ[¤P¯Lü¨Ôüè<»ª`¢9a¥R- +Ô-”VkZ «ë¬, =«EqüZÞuHÓAD*Ç”Ö#JŽ5R¹Cʳ´o,ÈIÞëm“,¤:tÓÌz¯G/ÌÛŹn‹ð—»Ó‰–inG<ZàÈl‘Bñ^ÕãƒÄ%¢Ô¥mÇIÚƒe<-/ièÇ åu™ªlwHóºO6¤‡„­g¤?-PðÇ•l³¿©à‘Ì÷JT›…¥´’¢,(¥1R …1· ªC:ŠŸxûúÈÄ‘CTs¼·HG"“§<×é’Pç
+“ùjÙ9°ñVÓ>«»ý{$ô›g5ô’~`uo–NÚÑ>ÝzÀêuö9¼´Ï^²úºåéý5ÔÖ¶“OŠ;¦8ŽÄ7Ygè@0r‡L• Ĉ³•¹§lùËR;,Ÿ”æ&t¼ëê `i’ƒºÛlÅêkCWh©ô†Ã
+endstream
+endobj
+1725 0 obj
+<< /Type /Page /Contents 1726 0 R /Resources 1724 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1727 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 124.247 null ] >>
+<< /D [ 1725 0 R /XYZ 78.37 808.885 null ] >>
endobj
1728 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 113.288 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 768.829 null ] >>
endobj
1729 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 102.329 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 757.87 null ] >>
endobj
1730 0 obj
-<< /D [ 1687 0 R /XYZ 79.822 91.37 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 746.912 null ] >>
endobj
1731 0 obj
-<< /D [ 1687 0 R /XYZ 81.145 80.411 null ] >>
-endobj
-1686 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1725 0 R /XYZ 79.822 735.953 null ] >>
endobj
-1734 0 obj
-<< /Filter /FlateDecode /Length 2425 >>
-stream
-xÚÍ[Én#7½û+ôæÅ0 X– gß‚\“SþÿšâRÜšÝnjŒI(#õòXk¥9Ó—¿/ÿÿÛÓõóéÇ]û‹bÞ —Ï¿žÄ…ãââ€u±F0nÄåóŸË/œkàÜúôÑðúççïO<€!Ô»SǼ1Òµ8 F$°é톘/(Ñœ 3JÌõ%Ü2©`DÊ”ü¸ }ñøàbÍ[Ö3i/$ÓPÞ1ŽsyǼ>K xEZ¤Ip®\úhñ
-¯[¤S…Ï Ÿ¹¶O›[º
-WüîÓSáFO•w#f¸*½òõÜK»x€2®àí{ûz"’@Ãëa©žte©á9k²0¬š <Êu+@¹ÊtBæ†7é{$âšž ÷­I×é(Ÿð.jC¡¹ PéEâZ!’bp½(ê°ˆFaj¤¡Â,pyM Ó'Ü•‰ÌÁH„`ÚØ"–FÒJ¨FPâ½ÒbâÝ°N¸hÉÏnÞnŸˆ"¹ÅOccéñ@²´ûpÉÓ›:Ý9|û¼ÑHÁ™Ä­8ˆç@¬{Ú—J3§ôˆ¤:1’úSõãOHÝñÖ¾·µé¹,⎌œdå@'¦]n­ÇxÏŒ(6Ýo˜×ˆ‚~–Rî(/Ý +F·rOL¦«QMüµ˜2¿Š‚÷ˆoe×…«¸ÈVy›l61ùºÓy¹#Œ´á”R£ç,à`Ñ'^G Ó£Q0<yÚ(žž 5£#”Ùc⃼Vdˆ'od³/N*kýq¤-Zç˜Ñr­ÞNE+o™7ÊÄQ|TýÛü»
-%ëj€‘Y8týžÍu¬A²HŸ€4ßžéÞÌáÓê½äÕn«â³–¯fâ“~)ØH`V)1†Y©§”¸s”DÐvD‚,?Ú}¤Í s›å–ýĵZ3kÍÔìôRº6 ­ËM)æ„R¢ÎQ"5ÓÎlTµ¹º=QVo;ö*¶¶ªåÆŸ-r'%sÚM­BžãC±AÒ«”
-kNÄò}G™%„‰þš«X噫=Yüä®Ó
-bô~;4”+>OlÒUMg\†à¥ò8«g´£Œ m]7(…åc©™êˆ¿8I‡Pj9 <§Žbæ‡.%ÖžÓ­z¶u@[µGÚ›#´µOœ¸Û¦ƒ÷嬞vJ‘ÖÏÎ
-¹+ÝMººS3󪼯ÌMß•{8@žÙöF4k¹$À(FàçMo>º@UãIÛå0nžŸ}³„—¥eƒG3qíjäþö€´lùÂ`t›þ¦ôËÇ£¤ñd(ù›6ûIý¨?µÛUú®Ù’Ð&Æʉ4ÏK Hg£Sñ·_™‚EÉíA9¹ð§2Ä{t&2Ê©w÷›)Ùô×—fÊÁÛÚ®ê‘Öí$SÖÎ(Y H딈«»)%kùÆ€ôø¹ žîoé¿ò
-endstream
+1732 0 obj
+<< /D [ 1725 0 R /XYZ 79.822 686.139 null ] >>
endobj
1733 0 obj
-<< /Type /Page /Contents 1734 0 R /Resources 1732 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1725 0 R /XYZ 79.822 675.181 null ] >>
+endobj
+1734 0 obj
+<< /D [ 1725 0 R /XYZ 79.822 664.222 null ] >>
endobj
1735 0 obj
-<< /D [ 1733 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 653.263 null ] >>
endobj
1736 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 642.304 null ] >>
endobj
1737 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 631.345 null ] >>
endobj
1738 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 696.421 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 620.386 null ] >>
endobj
1739 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 685.462 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 609.427 null ] >>
endobj
1740 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 674.503 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 598.468 null ] >>
endobj
1741 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 663.544 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 587.509 null ] >>
endobj
1742 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 652.586 null ] >>
+<< /D [ 1725 0 R /XYZ 79.822 576.55 null ] >>
endobj
1743 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 641.627 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 565.591 null ] >>
endobj
1744 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 630.668 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 554.633 null ] >>
endobj
1745 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 619.709 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 543.674 null ] >>
endobj
1746 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 608.75 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 532.715 null ] >>
endobj
1747 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 597.791 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 521.756 null ] >>
endobj
1748 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 586.832 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 459.987 null ] >>
endobj
1749 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 575.873 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 449.029 null ] >>
endobj
1750 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 526.379 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 438.07 null ] >>
endobj
1751 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 515.42 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 400.212 null ] >>
endobj
1752 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 504.461 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 389.253 null ] >>
endobj
1753 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 493.502 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 378.294 null ] >>
endobj
1754 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 482.543 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 367.335 null ] >>
endobj
1755 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 471.585 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 356.376 null ] >>
endobj
1756 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 460.626 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 345.417 null ] >>
endobj
1757 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 449.667 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 334.458 null ] >>
endobj
1758 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 438.708 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 323.499 null ] >>
endobj
1759 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 427.749 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 312.54 null ] >>
endobj
1760 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 416.79 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 301.582 null ] >>
endobj
1761 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 405.831 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 290.623 null ] >>
endobj
1762 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 394.872 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 279.664 null ] >>
endobj
1763 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 383.913 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 268.705 null ] >>
endobj
1764 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 372.954 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 257.746 null ] >>
endobj
1765 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 361.995 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 237.821 null ] >>
endobj
1766 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 300.546 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 226.862 null ] >>
endobj
1767 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 289.587 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 210.921 null ] >>
endobj
1768 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 278.628 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 199.963 null ] >>
endobj
1769 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 240.834 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 189.004 null ] >>
endobj
1770 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 229.875 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 178.045 null ] >>
endobj
1771 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 218.916 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 167.086 null ] >>
endobj
1772 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 207.957 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 156.127 null ] >>
endobj
1773 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 196.999 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 128.232 null ] >>
endobj
1774 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 186.04 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 117.273 null ] >>
endobj
1775 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 175.081 null ] >>
+<< /D [ 1725 0 R /XYZ 81.145 79.415 null ] >>
endobj
-1776 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 164.122 null ] >>
-endobj
-1777 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 153.163 null ] >>
+1724 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1778 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 142.204 null ] >>
+<< /Filter /FlateDecode /Length 2320 >>
+stream
+xÚå[Ën+9Ýç+üÑ•Dê®Ûq½În0Û™Õüÿ¶õ.IEÇÅtÜs1ƒ ßØõ8EQ䥒œþ}’ñÿß_./?n&œP¯@Ÿ>þõ¢N2þS'¯…Å“³JH«Nÿ9ýã,¥ÑRº ¥ý™>oÿüøãE&°õãæñäE°üˆ£´ÊéIÛr÷`ÌKŒJjÊÇ,#Œ·+’Æøˆ¨Ê}D}ãÀÅs¿Åïñcãq°o¯F›z\Ê•Z•Oþ‘ Þ©Ò]—òÝÊíÜönû!…@¶ßk? [‘ôÔ¦fj[b
+ØO—2žÇÀŒ´)žv6—U/?Y3?R­WnlDn^b´!ÃùQTûbAbÇ+ð^ ñ¤%•J²+9m¾m"´è_C°sC °h˜(ÆÑœ†§¯LµÂ¡þ¨Ôi.9ñdžIŠi¿+Ùe‰o ¢°(KŽªŠªþ$¾%
+çÙCžçÙ3·Ú<W™yü=ïþDw6¾Û“×Lö·VýµÂkOFà [;iç…·´„WåY~™ÑÉäÃ:ÈÄ}TCÕÄ==Ž Ïõé;±ƒÉ±"’f%iAª–ü¸)sJeh’ûv— qªvÒ¨£Ÿõ(“Wx³{EÎ%º¶\–>F½iwÞö%–9PºÚŸ‡ª±1úlWžÚÏ&$¸5EÑŽ¶ýŽJ‰vo¯:?¨œ* tH5P[M´píu”òº}”×?e9ΆxØY11€SËãyp¸¿ô>kùüÔé.p[ßdû¯
+ øNì¯Û?‡—øºmÄßš•Ãákи&ÙÐÂ' Žž<´³=Õú²}¬<37ÉOŒÚa·de·Î7ÔÌmÇ3›¸e¢ÏÒjí]'…vöa­ûZ3ç'zk‰g÷¼*‘ŒÚ=9ÑŠ8ÒZV­[fêO²*ÞYÛ.w¬t—£Ý5é]‡Í„[* E¦”_m`5éäóÚÙbPÄm wî« .£=™h9¼R7ݲ±2±÷Eèy噩»I æÍEòK05ñ‚&¶#±8…«Ÿc©êön6ošî¨}Q¼?./Œ®ñº¼pó>/j˜÷Žl—Tô h"Æ?@ÉqÀ„â®c¡#µ‡âO»¿E²òkŒdé¨Ü/÷ƒ›_ Û ¨|U»å ûgÎlî-½s×¼ŽZ3"õ0‘î=šÝ ïT'w4¸E´
+£··Ú8ÏK¹Õ¥ÙË!Cì7ö>üHמÍv¹ùÖ+Ž[†ô>ÎÖÈù4ó Îè`g¾äé„ÕäÜ”¹³kª¥Û{YW‡øpcO(Ep=2»ñÞ?^þÏ­Ö…
+endstream
+endobj
+1777 0 obj
+<< /Type /Page /Contents 1778 0 R /Resources 1776 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1779 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 131.245 null ] >>
+<< /D [ 1777 0 R /XYZ 78.37 808.885 null ] >>
endobj
1780 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 120.286 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 768.829 null ] >>
endobj
1781 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 109.327 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 757.87 null ] >>
endobj
1782 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 98.368 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 746.912 null ] >>
endobj
1783 0 obj
-<< /D [ 1733 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-1732 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 1777 0 R /XYZ 81.145 735.953 null ] >>
endobj
-1786 0 obj
-<< /Filter /FlateDecode /Length 2343 >>
-stream
-xÚå[Ënë6Ýç+ü——œáı] ëìŠnÛUÿ[>%’Ù¤ß).tåØÒy83#‰3uøûÀýÿ¿=ߟ~^”;Hæ¬@8¼ÿõ$Üÿ L˃тq-ïÿþxæ\çÆqŽ~“ç—?ßâÌCý¼Xy°Ìi¶ÆÜ0”Ð#~ù¡@…OÒc9×Ãþì÷þ³æiS"íáÍw*Ûrö‚£N8Ï¥sªcÌöh]ÐtÚ‡3 ¤ÏââG`š´a4×ä%ðBa?Ý7¸–Š ØrmÃ~ˆkg˜ÛE‚ß©aŠpNÓ…@ö)‘yê<xÍÓ&2UpÙN>`+ì‰÷[Þ‡EÑõ(¥ë•¤+ŸpYNʼn3y¼P2¡Z
-Úk­–hÈS ±¯Ž“} ßµƒÍñ4›®æW×Xù‹{Ûè.®ì¬Oj`Ié¯ÕLˆì€b–ȵU™i —áï舥Ær93«Ï—œ)Þ²±œöòO1ÕÚµ÷óNÔ:vöáIú”`ÒÂ]˹Ö"ù0àᨙòÜçsŒx±Ñ±ƒÛ¡¢ef£EW_~ÍnÝ-¤)Ï :ÈÆÝÅŠ^À\ãj]®”Ý%Ÿ9 4¶Íë+4.®˜kNˆ\3a\ÏÅÊÃk¼£µL‚ì¯&KÈ 3LÁ4pfx
-Y…p ñ–m¸.¯þ†´_ÙõX²æ| ¸Ôú‰‹Ž£ãïì$Sf)‚⥌a«µ]BaÐãJ/5réÒq…çdmóðåÇJ˜k‰AXNkSÛr±0]:| Ç„#uµ(®žœR×Mù  °'TºëF£\l@ug¸ñ&}{6žn*úÜ´9Ké{r„ðX‚¬˜Ç‚œÐÌ(Ó#A1»†ò¶Kˆ¥_C—>µ¡¼Ò»ûM±É¹r¿SdÉ0Úv„ GÊ}|$Êyuá6jY«á¦œ@Å”Õ=RL ˜]WlÙ/i·ÕÃá¬Ò$­Óo@¢B}ùm½Êìü-gÆ/bþ£=1©˜XÔ•²yüx\“ئe›KÜ’¢ ¯ÃdúÍp¢jºRCÜiŸJ;fŒ¥Xl&-¬´Hû>Õ×çö³5ÈÇ4 k\Þ+ø{&Kìi14ÂKRS¼^NÙáwÚò>¡m ”eV8’ãשÐ!ÍDfÉ0Ø¿(·Z|™¯¬Æ$~¦ü!¬à츽<ò‚„¸c°E¹Žª}cWRb[n¤xÖÜô¹RžE‹†½T©±.9´›åsIËRs¼´HãeQTãD„Ÿ$ɉœã¤E¢8Yúnmê¸æ¼‡ðQÇÕœAKcäGÙã’qP¤§á{-ÒžJèL­ŠN›Ýf±jßݯû¨Â½.'Ãë¤Öëâ¬uö4½6Ajî¶íˆ*3Œ(NZúæ-b}ÇVúà[ &Ç5ha¨E× #þ¸ñ½ÓZf–|¶Äõs®1ý½\ý´6Ÿ>nYF0!-ÅÛ¨vÍÚ½CÚj×[þØ\ê'˜ñÑp´Ì>WÔVýÛp…hÝÔ*Ð,Þm‡š3aÅç¨ê-vØ" Ùái©…&G-$ý:g Ðt%)Ñ20‚ȨŒÌ5C¤fG†¡
-Æ… –bT%•¥h‘æ£ræ¯OŽdP© Ý‘%ó¥zî)ÁÂ1î¢aTrdZ Š†Ú÷Çixø})à– ”$vÎ&[¤iïÎ0ai“s]i~$V3dÈUYÿuHó#1Š²äêÌÝ÷êzUQT-ö´>ïq‡zZ2pdμãÔ!}óû)B!k]±P7Ù iºWA»¸„GâŽÝ¦sI=lC•rªî¿Œ×‘ú±½h¹äêOyTH`hµ@£RªØu‹4Ûin;ÌCö¾gÛWTgá»\¹Ïd¿´ç/P0 @q?ªŠs´HÓÚI
-endstream
+1784 0 obj
+<< /D [ 1777 0 R /XYZ 81.145 724.994 null ] >>
endobj
1785 0 obj
-<< /Type /Page /Contents 1786 0 R /Resources 1784 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1777 0 R /XYZ 81.145 714.035 null ] >>
+endobj
+1786 0 obj
+<< /D [ 1777 0 R /XYZ 81.145 703.076 null ] >>
endobj
1787 0 obj
-<< /D [ 1785 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 692.117 null ] >>
endobj
1788 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 681.158 null ] >>
endobj
1789 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 752.889 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 670.199 null ] >>
endobj
1790 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 741.93 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 659.24 null ] >>
endobj
1791 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 648.281 null ] >>
endobj
1792 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 637.322 null ] >>
endobj
1793 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 626.364 null ] >>
endobj
1794 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 698.095 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 615.405 null ] >>
endobj
1795 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 604.446 null ] >>
endobj
1796 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 593.487 null ] >>
endobj
1797 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 621.382 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 582.528 null ] >>
endobj
1798 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 610.423 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 571.569 null ] >>
endobj
1799 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 599.464 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 560.61 null ] >>
endobj
1800 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 588.506 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 549.651 null ] >>
endobj
1801 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 577.547 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 538.692 null ] >>
endobj
1802 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 566.588 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 527.733 null ] >>
endobj
1803 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 555.629 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 516.775 null ] >>
endobj
1804 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 544.67 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 505.816 null ] >>
endobj
1805 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 533.711 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 494.857 null ] >>
endobj
1806 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 522.752 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 483.898 null ] >>
endobj
1807 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 511.793 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 472.939 null ] >>
endobj
1808 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 500.834 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 461.98 null ] >>
endobj
1809 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 489.875 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 451.021 null ] >>
endobj
1810 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 478.917 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 440.062 null ] >>
endobj
1811 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 467.958 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 429.103 null ] >>
endobj
1812 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 456.999 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 418.144 null ] >>
endobj
1813 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 446.04 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 407.186 null ] >>
endobj
1814 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 435.081 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 396.227 null ] >>
endobj
1815 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 424.122 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 385.268 null ] >>
endobj
1816 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 413.163 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 374.309 null ] >>
endobj
1817 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 402.204 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 363.35 null ] >>
endobj
1818 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 391.245 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 352.391 null ] >>
endobj
1819 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 380.286 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 341.432 null ] >>
endobj
1820 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 369.327 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 330.473 null ] >>
endobj
1821 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 358.369 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 319.514 null ] >>
endobj
1822 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 347.41 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 308.555 null ] >>
endobj
1823 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 336.451 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 297.596 null ] >>
endobj
1824 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 325.492 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 286.638 null ] >>
endobj
1825 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 314.533 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 275.679 null ] >>
endobj
1826 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 303.574 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 264.72 null ] >>
endobj
1827 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 292.615 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 226.862 null ] >>
endobj
1828 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 281.656 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 215.903 null ] >>
endobj
1829 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 270.697 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 204.944 null ] >>
endobj
1830 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 259.738 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 167.086 null ] >>
endobj
1831 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 248.78 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 129.228 null ] >>
endobj
1832 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 237.821 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 118.269 null ] >>
endobj
1833 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 226.862 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 107.31 null ] >>
endobj
1834 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 215.903 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 96.351 null ] >>
endobj
1835 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 204.944 null ] >>
-endobj
-1836 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 193.985 null ] >>
+<< /D [ 1777 0 R /XYZ 81.145 85.392 null ] >>
endobj
-1837 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 183.026 null ] >>
+1776 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1838 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 172.067 null ] >>
+<< /Filter /FlateDecode /Length 2587 >>
+stream
+xÚí[Ën#;Ýç+ü­–¨gA€8v 0ëì³YÍÿo¯(‰z•ªRrœÆ] îØUeŠ:¤ÈCJæL_þ{áþÿ¼\?_~¯z¹(¶8!áòùŸqáþŸ¸8`F]¬Œqùüßå_¯œkàÜ.œKɹº¿ýûóŸ/…yQ¿W§.Ž-ÆHWËJ3ÎÅF’ò¼4ã¥iáßßü_ç_^²øð×¹ùû_&>«\ü¬u¹šÈ³Ðœ ý,ÔÿžœÅÂ,wI^¨¨™¹g…×ñ>Î
+?Ë«¿v‹Ÿñ=Ο1é{8s}û¥Aûà6;W¹0¡äh®ææÚIêæ
+"¾ð½´­…ÂœÓÕÌ^ùÁÍunŽ­$Hö v[’η≀óùÈzù0IÂgIzF)ö8Â2
+‘kÒ"F¶Î{”ajÉü”FG‹H€dÔ7ø)Ðô°€ Í0?5¤OÑ› …²%®åfslg¾0ЭÁD;d’Y^ð¦5…×RTݳ-XÍ`‹K‹2Í®^i¾k´dkuº"ÚÒ½¥ÂÒ\køâ
+Èê벊šáE"¯õˆ¸†wÅí®7¬Kf£%æ19¬7¤œ —­$Hl Ï;Ä·ÉÞÝÌ­bj·†›äwjíØÁä\A1m‡õÆÙ
+‘rm+ 5ŸuC^é².JEâ3 *È„uúûçÖÝ€…ÙDZ’ÑÔA„ÿÙº–ü¬•4↗üAœý{œ‚û?Z´?[©rëÙô’¾ˆl1Þk߬Î9+0÷0Ÿ g‘·Å¸O¾/æ8_û'l÷D“oS¶ŒOµ‘)EOm^·kÚdMSl;Ìn <¶›õ“+ØC®°øÚR@¯ÁI^£¼Ÿjpgõ æ<á1F2Ç+†@–
+YûH{Á}=ãd/á‡X™p– Q7±2)åkWǯt•|;za~6y©MÙ‡ºW%ãäñ!F˜–ã…jw6ƒj Ì)ņ“ïn :L+(¶k)›É,”^.F–R.ä÷kI7¡„¿í•d‡ËýG©[‚1MϤ<ÝwrÓûTí$9³ |â^J1W\Éq*Ǧ©r©µ¾rìBù©TX¥O6̳Un¶æo§Æñn”Ž ?án^Eî1aÖ¸ÜLÿmmƺ&°Ò<kl|²IŸõCãئÀãB9³‹ê(‰¹Q‹ßOT…šS8\K3ª+Pª™|‘~”u>AË›¾×CT•O\“Õé€"´¿5Z(rŽ)µ‚!¯üŽÚ{2]£XaÕ¨!¨|ŠÁ÷›ù˜‚6i®Y3[:{\QYðU«j$i/‚íÌ`–ØjŸ0ýøCs¹9sµ’žg/Då™öjÛ]gìRã!{GwµpÆ­¶Ó¬9Œù‰º­¯$¬õµY*š©=$R^'Åu¯Û‰8 ·™U"q¡yzMYg%m£½rÓÈ_Õmç$Ú@ùºÛƒ2‰£®à8µ›ª*bú`mH`mg"tMªÖi6A‹ž¸¯¡>MNÁ¨ENpûZÓX”̼–Ä•˜{ç<>à €ºkT%±“¿>u
+^]‰‡% ÕÞʱƒp&ÑëÿC÷°^òdÄÚ ’'ë%©ý·|Eüy Ò\WÆ×!fLNõTï$Q'ý“v r—8‘{
+äÁækJi…Qˆ´ª„Ï=òC#¢~Zx}ì~•Ó¶ÓCeȽê¦Bµo³ Ùçiä•´aÀ‡=¤É­NÒÿ­tH&­¤45ì•Mv”;IYã[ñ¥ÜINJý† m¥bàÌHÛÉžp' f÷¤H&ÁöšDm¦ö¤{I;ç—à}¿ì×kOÐfg#€IãF³9}¶'žÆê%é¼ëŸ‰5Ý)ž2¶+ᜌç6š>× ¸`JŒ@?{؈œ¹4]I$¿z¬È\³§“”ËOvËi$Óz³§…>o®ñ¯D¿¼‰xßNw¥;ó&¶z]Çøj‰GѬ6ëès6ës¯ÆŒIåÚ:Z釔ä>Ù(¥HÎÒ·WéàA¦µ¥ž8êΞá¿ÊR,o'›† Ò>Ý?‘€ÛÁ#ß;Ù?IýØVNXᥠé¤ò°€œÊó÷}òû¨»nD9Q•ºé'£Ôõá&†>wÙáz=ÛÄ õÚJšÎ‚Ò¿RÀ0rÌ1ñNÒ¦^íGkSÐîÃô'{ìKÏÒîÚÎÜGì9çq1ªiÞ òÍMsX|úÕjh5•S:I­ûo¡~ÌÆ _rëá2‘Sˤ“4¯‰/`”Ò«“´5¹NÐOG9450¿ñô¨‘iŸ}ÕÁ4,=¼ÈÎrq2t+i:‚Ä“&#EÎÒè[A£æ2£S't½Þx<wŽzÞÊåT1"n:aß©G°*Fž%Åa+é{ ú?ˆ×x%všÓyA Õ©ÏkÕI€M³ß<?À
+<C[½ÏÙª•4œqÇ
+‡ð6+þWxÜ*¾4‹YåìŽ$Q€VÒ±GÖk©·‘ú;Ä¡dqZ
+7¬ÔCKÍmFv’ÂS×=ü¾vâÝm!¶¸dšVN%Ž¬q\ñ¬!†?Œ–¯Ø­5Ãh£§²|'i^<úc‡iþ$ÉNt®ôçÎå홥m:CE
+³ñMº6i%%“I
+Å…$»ìžUYf›‹âl)Moérؽ¾üorøï
+endstream
+endobj
+1837 0 obj
+<< /Type /Page /Contents 1838 0 R /Resources 1836 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
1839 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 161.108 null ] >>
+<< /D [ 1837 0 R /XYZ 78.37 808.885 null ] >>
endobj
1840 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 150.149 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 768.829 null ] >>
endobj
1841 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 139.19 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 757.87 null ] >>
endobj
1842 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 128.232 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 746.912 null ] >>
endobj
1843 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 117.273 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 735.953 null ] >>
endobj
1844 0 obj
-<< /D [ 1785 0 R /XYZ 81.145 106.314 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 724.994 null ] >>
endobj
-1784 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-1847 0 obj
-<< /Filter /FlateDecode /Length 2747 >>
-stream
-xÚí[Én$¹½ë+êšMw P€J¥4à³n_í“ÿÿjnÁ-™YdµäÓ` i)—GòË#“yùÏ…ºÿÿãíþõö{“ö"ˆ5ŒÃåëßoìBÝìb€(qÑŠªØåë¿—¿®”Jˆ?ÚRªäí__ÿ|£ÌAýÞŒ¸b•â¦Æa ÓÐ# T8$ñpHíÓ]»;tæ®ùÝ}öá®SJ¹{>â³"ý«Ìí—™ø=!°øã×4¶ üÏ#¢ ïù±u®åÞ ²°uÚÐ&½Cco»w'ÅOø•”0
-C~Å¿\iTªî{Ï´ç«G`øãçY½Ê·„ >âˆóµ9Ø"fÒœƒ­í3×e¼È’gÏßó3ÇíYSžÉ–ïjâÛ¿™Q§Zh·z¾¿7&/Ö1
-b§£uµ8±.B4³ÛìW°§øÁŠ…¡?;šULs"Ù®eO«5­ÁŽ<ÎùµjQ^ÄŸŠ÷Cxà=ÝñjCw¼ä©óƒ@šÓÕ`
-t¨Z¼¡:Ǧ͞˜‹›R÷HY®§¥b 3WÀ#Ž*õø\ñÖeÒŒdbà²ÒFk™Ú³šî6Õ|ð>¿@¢êàkNà±¾¿%ý×_i4[Àg°lŽÈ
-˜P¼NnÝ ²0ý:÷’Ø+—{±6ÏZ¤Q†¡hµ
-ßUî|˜Ö-³•*Õ„ 葦öGÂË;Íþ,í_„§Oâµ{B_Ÿh‰€Oµž)yO©®û5­rO“o;Æ ZØ~Ôß\Ážæ
-V`Ð÷`2¯nžJ0³ý¡æœ˜1”Áª -õt£›QI¸á=ÂeeÌh¤ê[Ë{g';ÎýQ‰jÃâ*læ4y¦Ú¥ªÍñ^Ú“án¾
-9Œ “
-›nÖM˜(ŸˆªD*<—‚^.Fl)òï[ 7¡„e϶m%Á¦WiÒ†»ûÔû¼ô“\h‡”„âóÁ'R¨à*»í)’“=ÀÓ)4Þ ·ï}k¨²ØZ;Ès'É anÀݸºmªÃ„Ù‹gTõoûmû?ÚKÝê¿ð@‡wмlã²:
-bfÄx}xÅ)ßÜ‹5Þ#ž?ÂÍ.%yÏMpßÛ)«Â­_ÆÄŽÕe‡"HËG+eVL©R‡Ròjæ¡ÀÇÓ5ôZŒD¡Ì×çFÛmÑaÚºfÕìÚóâ ƒgrÕéȇŒ`5µå‚ÅÅÈ^³j"Ú«Eú>{ái´ï²W+xÍØ¥~ã%{<ñï®0SÃc— Õ©»ÈOÔºV¼’¨–÷’ÉbÕ”²ÚÓLʺœ†Ê®k~('Š™~L)‡‹‡WSÐÙ°¯ÑXå¨#èÝIžø f ùàDw`*Á¡(x@M¢SQ…‰>hâW+LÑèkÙÏ2dlW<¦¾ê–®¦ÈLZpðب¾×íÇ(1ƒ‘··RâÞÍ&ˆæ²ªöbì÷§NÍõy¼;>¸õtzPÂ-ëûÿC^÷´\r¹ˆÖ;&'Ë%.]&#埌cà=¸[qZsÓÙmôà-
-1Z”Í‚æD/l¾Õ~WúG-Šï<Ê}°Ì¢òWf´õú"û¥áÁ)ü.#‹©PmÜìýõ|ΰf%°@ Ó#+-nítH[é4SX´’aÄH3´Òš Ü!ýÈñ%Дk‡+Mî–/tÎqœD®}¦Ô=9D>ªùåÖçf«cÆßξt«G:<¼~îiº#<ûu0‡ñ­‡èYwq˜ŒX_ü€¡CZ®ˆ
-endstream
+1845 0 obj
+<< /D [ 1837 0 R /XYZ 81.145 714.035 null ] >>
endobj
1846 0 obj
-<< /Type /Page /Contents 1847 0 R /Resources 1845 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1837 0 R /XYZ 81.145 703.076 null ] >>
+endobj
+1847 0 obj
+<< /D [ 1837 0 R /XYZ 81.145 692.117 null ] >>
endobj
1848 0 obj
-<< /D [ 1846 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 681.158 null ] >>
endobj
1849 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 643.3 null ] >>
endobj
1850 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 632.341 null ] >>
endobj
1851 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 621.382 null ] >>
endobj
1852 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 610.423 null ] >>
endobj
1853 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 560.61 null ] >>
endobj
1854 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 549.651 null ] >>
endobj
1855 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 649.278 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 523.748 null ] >>
endobj
1856 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 638.319 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 512.789 null ] >>
endobj
1857 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 474.931 null ] >>
endobj
1858 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 463.973 null ] >>
endobj
1859 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 453.014 null ] >>
endobj
1860 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 442.055 null ] >>
endobj
1861 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 431.096 null ] >>
endobj
1862 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 420.137 null ] >>
endobj
1863 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 409.178 null ] >>
endobj
1864 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 398.219 null ] >>
+endobj
+237 0 obj
+<< /D [ 1837 0 R /XYZ 79.37 374.763 null ] >>
endobj
1865 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 332.999 null ] >>
endobj
1866 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 322.04 null ] >>
endobj
1867 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 311.081 null ] >>
endobj
1868 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 479.913 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 300.122 null ] >>
endobj
1869 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 468.954 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 289.163 null ] >>
endobj
1870 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 457.995 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 264.256 null ] >>
endobj
1871 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 447.036 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 253.298 null ] >>
endobj
1872 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 242.339 null ] >>
endobj
1873 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 386.264 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 231.38 null ] >>
endobj
1874 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 220.421 null ] >>
endobj
1875 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 209.462 null ] >>
endobj
1876 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 311.544 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 198.503 null ] >>
endobj
1877 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 300.585 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 187.544 null ] >>
endobj
1878 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 289.626 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 160.645 null ] >>
endobj
1879 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 278.667 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 149.686 null ] >>
endobj
1880 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 267.709 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 122.787 null ] >>
endobj
1881 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 256.75 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 111.828 null ] >>
endobj
1882 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 245.791 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 100.869 null ] >>
endobj
1883 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 234.832 null ] >>
-endobj
-241 0 obj
-<< /D [ 1846 0 R /XYZ 79.37 211.375 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 89.91 null ] >>
endobj
1884 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 169.611 null ] >>
-endobj
-1885 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 158.653 null ] >>
+<< /D [ 1837 0 R /XYZ 81.145 78.951 null ] >>
endobj
-1886 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 147.694 null ] >>
+1836 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1887 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 136.735 null ] >>
+<< /Filter /FlateDecode /Length 1779 >>
+stream
+xÚÕZMoä6 ½çẄV"©/ ìÌè9·¢×öÔÿ­dIcKæxM;@Q,&ñÎ(o)š¤¬•½ü}Ñéço/Ÿ_/?î6^HÅ`._½˜‹NÿÌ%€rtñÎ(íÌåëŸËoZ[(/÷¡5Æ÷?¿~Ñ,Aý¸ºðÄ1Æ)oýˆ7­)#¥|jm~¦k®ïï¯l^q-ø º¿àjµ2X®AƵGB£µ§Â3jºv±ð·é3ºçŒQBŽ³³2Î=ºÂ-û”šãÌ›®iMzß…d›+6!·‚2‰ gÉìè‘Èä˜(~Ïœôõwþ}œ·ñ
+À²1ƒ2Þ=™ÂwŠñÊ9ï%»ûâúZm8á{í8ÇÙ@7™ =R³!ó/~.q2Å|ânÃb Ë^¶ÅE«PûÑL ¼,ß Hd‹ 9Ö=Ì÷Ɖ|ã)¤Èqµ ãÚ#=çZ|-ï¿çý™âiÚ«ãöxTÈšã>eæt@[Ö$àÃl(BÃÒýÑí‘6ù~çk"_¡’H[|ñD4PZeå+SÓi“o8΢²–Øx)逴ö8_”–å+SÌi“/竽rèØx)倴x˜¯N9Ï*‰P¤-¾ ù0ß`•7aÅ7ˆ•o@¢ŸUZõšJå1U‚aYçïIyÇÑŠaIJÿ(¬§šö\ídª  G[(zÒ3Þ£nçÈÉ;‘{‹üÿMÇí± kL$Öž[¹ÎÜÛ]ÐúŒ³vQ! g‡P-$ÎŽÜ+µ^"ÇÕ‰šÐ¢Vˆå-SÍéïé.^ÄÏ7ô¤ÖÄD˲1$SÒ‰³ê=1©ÓµøÿDÿ`uT ˆå.SÕ‰å>¼çêl ¿Wf‡í ”&ÏÆ‘Lm$ÎWs)àiÿSðJVÅ„ª; =ãý ³ òNX5>Ί•w@Êœ§˜þ,¾=9« g•ñM¡Â@ºyð[38YR`€£+TÖi“o‰ o¾¥Ã'BYdj:"aáö˜&êš÷Ä  ÇU¨˜#Îür$—éçqž`¢eyÊr@rf®¨–ÎV©œõ¯Ñ
+×î 2U¶xoOàÛ‚1*âS‰P%¤M[ü\ýâñ}ÀÙÀÆL¤-îù3¼Ï9åDü£÷Š"«6B…šŠŸñ­sj=Bq$¨×é’QÚyOW?ÅÓ‰Ö* g‚P$$W{ÍvŠjïwc/¹†Dqñ]>¦DpA ‰zW%[óá­ÌÆ+"¾µúòýuú¨5^ùKýµ¤¶yY
+ÐàZIWÚä²ý,ïõob p|¬i öã èÚÂkD›Ì¯bÖÄxbwo+<Ì!x¯.ñĹ5(“¼58¨8f¼Ôjˆ-©äóœñæF`,øá[ÞO}åê8(müäõ6÷ÔVdŽè+Çr |;Ã:Â|Pº:¼Û¶Êj«"šÑéM¤\ôÜM%,å¤Ç!°žã¹Ùèõc×L *eº³`Ó>EŒHà¥LR{9&µë×C4*
+Ø͵¢ÍÀI™¸t·id™Èê§iJsnž/?|WOÀÛ©w·3×ng\»Ê»Ú§Èö‰{¬i5Ï(Kô`“©Ä{k3H´‡I¾C”î†`9&{«,ÌúïF$ºO•Dóq(‰juš[ôwŸó¬ý‘èîmï>Nf–SáS @¯’ßV“Ü_Ì5ôHk´ùo‹Ò•eBæ)´óó½5驃 =·ælÕêN¨3;ûÙXetàØîGŠÊ'„Ióš”ažGÀýâg£2€+$Z[ëÌñˆß›·‰¨ K{ïà¢Òî¦Ý^ž²Üæ'‡\=¹˜çÅ’¦tè–J×â¥S:3ÇWŒ²™µN!ÖÏõê™Êr¡Ó/@`]¸s¦â‚²é­ þk?Ì1uT“Œ7
+<²w…•…WTó Ó
+ ±lH”-$¹_NêqÙ˜A“iŽ™ì¡^-ä,Së‚‘U±½:^+ŠIÎR{†+U¢Û~=­Õç€$g’jGòcRãqXŸÚ@»N°yýN…ª­Å
+« Ø?ÝQ†<p݃ù|êúןx‚9ýv#„w@g>>g·‰~;ÿ~ Íîï¯YWëm—ªkWˆË´æ*!Å”ô¯g›“Ò‘Jñ8'«ÅAðíëå_ÊÜ
+endstream
endobj
-1888 0 obj
-<< /D [ 1846 0 R /XYZ 81.145 125.776 null ] >>
+1886 0 obj
+<< /Type /Page /Contents 1887 0 R /Resources 1885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
endobj
-1845 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+1888 0 obj
+<< /D [ 1886 0 R /XYZ 78.37 808.885 null ] >>
endobj
-1891 0 obj
-<< /Filter /FlateDecode /Length 1860 >>
-stream
-xÚÍZËŽã¶Ý÷WøRC‹/`0@{lȺwA¶¹«ûÿÛð)‰TYÓ%Ͻθ-êèÔƒuŠØË.*ýÿ÷·ëÇÛ—‡‚´ÁËÇßoú¢Òú]¼Ó œ¾|ü÷òçW¥,Ö‰J9ûí¯?ÞTKP_.¢s&lq¢‡ˆaBRŠ¾' æÓï X§¯ ø–®]ë5Jß]z¾×ëù÷üÑßë5||û͈͢nù–°®÷ç{­IcûwÝ0uýÛ»ôwÈc—»ýÑ*æ)Ë8ºn~+.Ùxøîµ
-´BÖ½ô)÷jåÁÎH‰§‰‰ ÉpLŒùíÀ[?#•h4ï'g+w¯Q®^¯‘ì¿çÈ,‘#ü}Ó|G¹[×Oþ.s½/_·T¯å{–ñ÷-[©1€NÎa|Hw™G$·ùïnyõU²’þeñsqbžqóý¾[ jF”Lh¿‹n{<zdŸ2sU<ó´D»‹Uâæ£,V#kqFöõ{¶Î^«…‹Ã/·V‡‹j¬Å ®<£×`ÓÆæ¿Íuª¥Â¨(è•õOEh3ÒqFnçÒ#úêóô|×î)÷Eæ)²4R.Z0Ês‘rWÑü™Š®é€k\¹zwã+ÄÞ/ýŠ[Æ°Ñ8ì
-;#©îßZÁÑzˆÄ*‘PYg¤C¾57¼þ)k|$—.íTˆîb5‘Ìúêûöϯ‡Ñ8P†£*Ì È¬ìr&×½Ïó,ÑBŠGS(Rí\ö;7û›½OyÕ»š@kdyËTqB:â}¼wÞe@[6U„*9!Ú²y·jÎÇAG‰å.SÆ éˆ{9€òX+Ê ù¯ƒ4–Í#™BNH]Å_ñ­W€Þ±ÜdJ8!J]kJß3tPñe•Ô6‚ў͙JNHns€®TnI÷ýå¡í%¦ga¢¸yVjÒŠQ‚ CŸlõ7 _Û«ð„fŒùÚ;Ìo¿•K}á•êoµ¸­ÃRŠV€éNÑ:dG·{Ú᳌ùáY§ed1_mNœ.ÇNúë«óh.ñĹĨ4-“·&§Ìgš¹s`ýµç“ssG0±žü™ž:ñ~ê+×6„Rà‹×û–|>3ZGdŽÆ7Žå·Í ÷é0^Þ[e•…hôŒhƒtRa
-endstream
+1889 0 obj
+<< /D [ 1886 0 R /XYZ 81.145 768.829 null ] >>
endobj
1890 0 obj
-<< /Type /Page /Contents 1891 0 R /Resources 1889 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 1886 0 R /XYZ 81.145 757.87 null ] >>
+endobj
+1891 0 obj
+<< /D [ 1886 0 R /XYZ 81.145 746.912 null ] >>
endobj
1892 0 obj
-<< /D [ 1890 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 735.953 null ] >>
endobj
1893 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 724.994 null ] >>
endobj
1894 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 714.035 null ] >>
endobj
1895 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 703.076 null ] >>
endobj
1896 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 692.117 null ] >>
endobj
1897 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 681.158 null ] >>
endobj
1898 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 670.199 null ] >>
endobj
1899 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 659.24 null ] >>
endobj
1900 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 648.281 null ] >>
endobj
1901 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 665.218 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 637.322 null ] >>
endobj
1902 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 654.259 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 626.364 null ] >>
endobj
1903 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 615.405 null ] >>
endobj
1904 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 604.446 null ] >>
endobj
1905 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 593.487 null ] >>
endobj
1906 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 582.528 null ] >>
endobj
1907 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 571.569 null ] >>
endobj
1908 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 560.61 null ] >>
endobj
1909 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 549.651 null ] >>
endobj
1910 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 538.692 null ] >>
endobj
1911 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 527.733 null ] >>
endobj
1912 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 516.775 null ] >>
endobj
1913 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 505.816 null ] >>
endobj
1914 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 494.857 null ] >>
endobj
1915 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 483.898 null ] >>
endobj
1916 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 472.939 null ] >>
endobj
1917 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 461.98 null ] >>
endobj
1918 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 462.976 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 451.021 null ] >>
endobj
1919 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 452.017 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 440.062 null ] >>
endobj
1920 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 441.058 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 429.103 null ] >>
endobj
1921 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 418.144 null ] >>
endobj
1922 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 407.186 null ] >>
endobj
1923 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 396.227 null ] >>
endobj
1924 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 385.268 null ] >>
endobj
1925 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 386.264 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 374.309 null ] >>
endobj
1926 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 375.305 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 363.35 null ] >>
endobj
1927 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 364.346 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 332.466 null ] >>
endobj
1928 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 353.387 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 321.507 null ] >>
endobj
1929 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 342.428 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 310.548 null ] >>
endobj
1930 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 299.589 null ] >>
endobj
1931 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 320.511 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 288.63 null ] >>
endobj
1932 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 309.552 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 277.671 null ] >>
endobj
1933 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 266.712 null ] >>
endobj
1934 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 255.753 null ] >>
endobj
1935 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 276.675 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 244.794 null ] >>
endobj
1936 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 265.716 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 233.836 null ] >>
endobj
1937 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 254.757 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 222.877 null ] >>
endobj
1938 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 243.798 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 211.918 null ] >>
endobj
1939 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 232.839 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 200.959 null ] >>
endobj
1940 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 221.88 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 190 null ] >>
endobj
1941 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 210.921 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 179.041 null ] >>
endobj
1942 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 199.963 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 168.082 null ] >>
endobj
1943 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 189.004 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 157.123 null ] >>
endobj
1944 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 178.045 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 146.164 null ] >>
endobj
1945 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 167.086 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 135.205 null ] >>
endobj
1946 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 136.202 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 124.247 null ] >>
endobj
1947 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 125.243 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 113.288 null ] >>
endobj
1948 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 114.284 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 102.329 null ] >>
endobj
1949 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 103.325 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 91.37 null ] >>
endobj
1950 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 92.366 null ] >>
+<< /D [ 1886 0 R /XYZ 81.145 80.411 null ] >>
endobj
-1951 0 obj
-<< /D [ 1890 0 R /XYZ 81.145 81.407 null ] >>
-endobj
-1889 0 obj
+1885 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-1954 0 obj
-<< /Filter /FlateDecode /Length 2090 >>
+1953 0 obj
+<< /Filter /FlateDecode /Length 2141 >>
stream
-xÚÕ[Ínã6¾ç)üË%gÈ! ìØ.ÐsnE¯í©ï-E‰¢£Ýn±àÆR¤ÃóÏX
-súû$Ãÿ¿½\ß_¾?Œ?iáB8½ÿõ¢N2üS'‚ôÉ’’ÔéýŸÓ¯R’®RZ/%ºóŸï¿¿È ¾?œ>9á‰ÐÍqPz$ üöL˜O$1R( #IÈì“0Žz$ýˆhçoLÄuSJ©ÞÂoÂgº…•Æ¹îaÈüÙ\ó} íˆïÜ*êú‰|~.cÕ»pã2€^(C4%Òš¸FåU¥Õõ+cJN¨ ÒH‹pŸäZ
-ð+$ЙݴSq‡ ì–Ï2Çuh6ÏÊ
-
-¼îÑew¡Zê÷(ùÎk¯ÅÖ¶è­Ý«ºœÚ§¾µJg¾Uç7W-BUîå¹ëZ9÷•œ7ýć…pˆÔ’Yì8)Mviµ³t&e‹æèª9f%…eIZîöÆ7á÷,óÕ@‚0v¤;›U 8Ÿ)Ár™?pÓyd W‚ÔÐ&öê% vHìæ oB†’ðêÙitzQµžZÔüwÑ^+?É-N1è³^‰öãgéútÚ‚äyq³·0-i_‡T¹™kæ<kO×Řçg
-)Î\+_ÜÕ',êájx§ÛÒ³«±eEQâhµ weÚ
-kÍP‡ Ïš–H“kØvÍÞuË
-Ñ–¦Õ¾â=6œRO,©uMR\ ù-\ëºÑ®>Q\ Â:+û<r€óBCËçóã§óãlþœÄôYá”
-¨9Á­úBVÇÞX¡È ý²¬§CbÇ"Ð$@ú‘${ËÄ‹:¤íæðùa²ËÙQž*7«ø"¹÷lA±› ¦” >ÿÉDHyÌZù³–WÊÏÍù}¡ÑhÄú¯7Ðï?ªŒ-€0ö
-£ƒîéækÄÅK#°Ž/œ
-EŒVzDó¨CtoÍ«©úÖ‚jlë
-ÏPª+m†žžyÔ! )ºäU&ZŠî—îú1f:ÒaæñSÌP…"L{š!ï(§CQ7º6#K}ô,gŽÇFÏAÚÁ&ÉÄ¿£³C’x'7Òˆ¤þ^-Ô[M=2Å)­(„AT(uCƒDQK¤-ƒìcd=¦«ÚU}×áñr#/û†Š$h˜‰0Ë€%Ж™V‰#71—;ÄÓUW£ã‰­#hýõtìd¿Cšæ¥ &?VªîHÖáÚ¥®?S»”výÝŠH#³>èF4R‰¢q-…Gè]ZÅ™¨¼|]¿$
-»þÊ:vÐ!érD‰I›
-ÙS‘;€ˆêÊ44®¿À‘xà¥ël}ÎQÒiìŽ;J9_ Ã)á=ÇNÎ; é(Þ¢–eö8kú1~ÂJáÖ_GÉ|²–½Ú: <Äj~Sk´McØ<ô *K†NZ
-ßRtS轿¿ü ôŒ=
+xÚÕ[ËŽ#+Ý×Wø. <¥RIÎ*{¤»®ÝÕÝÞYÍÿo‡
+ƒa%Q?NFÃÙ.v#'`56rGÏî˜j,K…8r¾¿gyÞ T& ÍÀ.SfÐÝ3ƒv ?8í“tH/,ÂŽóTJì¢ÙÍõÄD^­Ó£ž`˜ÒjRŠI°Ñ”—jªº8(+à*ÒxvâuâÜîÝI_Sä¨îÃ×Ãø^»|[¸G¦†Âý”ð똛­enu{ú^Ü9qq©yŠs¼ÏŽÆ™8Ovhsfn4-ÒwGãʈȨÕÕÉìȬ.¸áÈô”7uHkp¸œ ÄLÙ®vRvó¹i×°‘ùZÌšeŠ¯I¿&lÍíùŽböºì~î0Ò£×!5ïÇ»ïÇÍû³Œéuá*òt÷¨É0t¿]s 2jŸƒÚ\µ{ùU]1»„âð‘G¢®šŸ_Uoþ†…B>»RL =*|#»iÂB
+œÉnкn¢ó.~ çÑÕmqžh:i«bŒÜI„ìOS™¨CJu“’uê”g‰c1ye-° HøÍŠ¨½dÿÑPG $(,¯d¹"@i+·šœ`SòJúìZCß…mâbÀÀˆ²ÅõJY‹„TM(L`ñ`Ž ÙðRŸŸ§Žæ†SÈmCÝ4)b Ç)JÍ•”)r´–T4Å€cíÈšÜØžZ;,«¨K\ 5"—6ð£Òvž£­EºM[©Ö7Á¬øGsrQåÆÿ9µÊ ï̈ÚIÝ!‘VÞjÂD'Ôš¯öÕmSíÁ@¥=—fÚöŒËJ+‚²C‚üA-Ò K-_­Ñ÷šT©°ž'ŠmlŸ¾A#‚ñC÷œÛê†ó(-ÅöK}ý7¤­Ž´Ý¹ý7D
+aHáÜfN‡4¢&šKÄRŸ=Qý@öi’œr˜&·nZ Eý5^*¤‚|®Æ㈫¨(tA“E!ýP¬>ªš™§é–;ö’·éض8rž-o¨²tSBÁNÔæEɵ-Ò-7å>;¤å‰tá8; lQ+¡,Žˆ™TûÒÐ9Ïu5ű²ê&²·/µüNûB)`âr›£±EÑhK¥±¬a_ö\ל¹lü¼}© @›!1s+€I—MB"&M*äXeýDp0?ÒѤà툈I½Þ#ÉZéÉNãÞèÇí B 8à†„ÌéóéKBÊ!Õ.µÇÊégbEœ;6 ]bNuwH·6q Ö9¼R;À%À¡Õ‡9éÜi¨ë´”–ƒBæ´üL™¬Ú Ù›ÕÒWôiŒ¡zDÚiQ¹´Oûœ‡©œËwtð@‡¡ü›TÖÒí2p!Ì•øSv7Þˆ5|Ü*±¾Ôx|2„ W÷iM"%)2¥I•m”–Æå …ðd¹K½ödÙ4ƒ{AyžVÚÒ-%D%À/ÉÿÅZ f¿!No™TÙ;ä~Ÿ-~¿r­\·9¥0:KÛœ&
endstream
endobj
-1953 0 obj
-<< /Type /Page /Contents 1954 0 R /Resources 1952 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+1952 0 obj
+<< /Type /Page /Contents 1953 0 R /Resources 1951 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1522 0 R >>
+endobj
+1954 0 obj
+<< /D [ 1952 0 R /XYZ 78.37 808.885 null ] >>
endobj
1955 0 obj
-<< /D [ 1953 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 768.829 null ] >>
endobj
1956 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 757.87 null ] >>
endobj
1957 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 746.912 null ] >>
endobj
1958 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 735.953 null ] >>
endobj
1959 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 724.994 null ] >>
endobj
1960 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 670.199 null ] >>
endobj
1961 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 627.36 null ] >>
endobj
1962 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 616.401 null ] >>
endobj
1963 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 605.442 null ] >>
endobj
1964 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 594.483 null ] >>
endobj
1965 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 583.524 null ] >>
endobj
1966 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 572.565 null ] >>
+endobj
+241 0 obj
+<< /D [ 1952 0 R /XYZ 79.37 535.154 null ] >>
endobj
1967 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 491.397 null ] >>
endobj
1968 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 480.438 null ] >>
endobj
1969 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 469.479 null ] >>
endobj
1970 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 458.521 null ] >>
endobj
1971 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 447.562 null ] >>
endobj
1972 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 436.603 null ] >>
endobj
1973 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 425.644 null ] >>
endobj
1974 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 414.685 null ] >>
endobj
1975 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 403.726 null ] >>
endobj
1976 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 392.767 null ] >>
endobj
1977 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 381.808 null ] >>
endobj
1978 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 370.849 null ] >>
endobj
1979 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 359.89 null ] >>
endobj
1980 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 348.931 null ] >>
endobj
1981 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 452.099 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 337.973 null ] >>
endobj
1982 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 410.338 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 327.014 null ] >>
endobj
1983 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 399.379 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 316.055 null ] >>
endobj
1984 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 388.421 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 305.096 null ] >>
endobj
1985 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 377.462 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 294.137 null ] >>
endobj
1986 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 366.503 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 283.178 null ] >>
endobj
1987 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 355.544 null ] >>
-endobj
-245 0 obj
-<< /D [ 1953 0 R /XYZ 79.37 319.035 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 272.219 null ] >>
endobj
1988 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 275.895 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 261.26 null ] >>
endobj
1989 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 264.936 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 250.301 null ] >>
endobj
1990 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 253.977 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 239.342 null ] >>
endobj
1991 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 243.018 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 228.384 null ] >>
endobj
1992 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 232.059 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 217.425 null ] >>
endobj
1993 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 221.1 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 206.466 null ] >>
endobj
1994 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 195.507 null ] >>
endobj
1995 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 184.548 null ] >>
endobj
1996 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 173.589 null ] >>
endobj
1997 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 162.63 null ] >>
endobj
1998 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 151.671 null ] >>
endobj
1999 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 140.712 null ] >>
endobj
2000 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 129.753 null ] >>
endobj
2001 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 133.429 null ] >>
-endobj
-2002 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 1952 0 R /XYZ 81.145 118.794 null ] >>
endobj
-2003 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 111.511 null ] >>
+1951 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2004 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 100.552 null ] >>
+<< /Filter /FlateDecode /Length 3058 >>
+stream
+xÚåÉŽ»ñî¯Ð˜,îÀ@ÀÈ= gß‚\“Sþÿ.UÜšÝjjÆp^rKê&‹µ/dÑüò¯ ¿üùíöóÛ¡/žyF]~þó›/øE\¬gÒ^¬ŒqùùïËßß87Žsùpý†Ç'þü\øn ç*ŽˆÏàúŸ ЭšA ™áf„¯%çâG˜Í3äIÜÂç-?Wá·º‡q?çð>¸Úœà†-6Ô@¦&B1÷Œ;<eÚ‡· ÷HV%nyp\:NŽèÀ æù3H£!4W<$¡÷u^„—Ès´8±ÕölE#´®,#Ëš8‡_µyk˜æòw‹àH‹0x©…lïŽyܽ
+)R¡MLÄ DÊ3„l—qET¸"Îå{„÷ëw)ex¢n™2R²N4yHTŸTÒ#Òù)ÜpÜɹgíªóˆü$>OOil/BJšƒˆDÍH*tËøG)»·ÀìÜ|èm+›JCæ 7Êf*)˜†bJÄAÒŽZ #~ÊdÝJ²2OÌ[°ðl³ÂèÏ°olêÖr/)NdnÖ æý¸Ha2)ºé M-Ÿ’妧$#¤Ûe “ý Ö»¤\ˆqÔUÐÑ’×UÎî¨Ü¯çöÈséó Gv$÷¸ÃßäFß[™ò[θÞèE7š¼a1¯BÛÜÉN´Qx¦Mñ½+·à~¥JGƃºâÓb~åWT†ôë´‹Îظh!a¨ò¼ñxöŒÇÓÐx<Ûz<[¸áEËm<^wÞO% Ȁ ú}‘!»¼à 2¼ú
+ÞRBaYÕó‰ü¹eM& ã¤7Ð\6DvÞ³õ‘‘à’
+š's­Æ‰iò!-sÊ ôe§rÕ"#’>I¿¬}+j{˜ÖÇÌȸ"? [‹á*‡qð%dp¦c²þý3 ¢ý%x'$´ˆ8`3ã%sA$ÁȪ?*Ì{†…ig`•º¸@‘®…ãmð`n*'9@_åDÉ |`"¸!*Éj‘ˆðᬛ!ý)"D‡T0B³Š‰ ÑMø)&î&Â0üõ
+Ž¦YP¦÷Ù6ß¹¯CÀÅ”ýjÍ>zHˆÉ€ýrTû
+
+IO{HÑ(¬¤dJÀŒgóAÒ¶Ò_^×ÛßÁ˜Òr&•Å¬u€´Ž‰Ly5Åä}©š -c"½fžO-÷d¾ˆü
+ˆb -'^Ò†ÚÙÍH/œ¤Ü†¤ÀªIy~ïS¢8Vtþ*·óµÁ¯wOŸ(’¥ ¥<詌Ԓ» íפõëË´/I†¥Æ™ZŸ\ÓùÒ—m‹H%˜àv†áâ&Ý
+-vye y«C Ð9”vœ[ÝuÇn†AÞ6¸i_Ò·m›]Äǵø”>ŒÒUÄëžGÙñû=OlàHG!„=¥Íˆõ‹'Ƈ½AûŒãJMåù`
+&`-·)®:½§€•É
+É¥kiÕ:Ûܼw«Ç ˜q”ƒ%°ÅMÒ°®±;=ÙÛ.Ðõ;ç±íf•Ÿ©Oøbs'ƒZ€kuÚèã•­)’Àþ…˜±£½v!Orð¦é˜"­¥v“Ÿ\)è’f¤ÌÜÅ?q¬à5³¡ú ½” ã˜Ð0 dïKl€4&àò¶='ý’$üÿk»YhË„—3yíüÁíæÒ×$‹Nöµ”B(`
+äQJ!½Uº¹4Žjp;ÞoÊeŘ'àLÌúÒ£ì`ä{M®€ãºD“Æ=Ëù©m±“Þ×,¹nô–ìR·Ðu êI ÞAZ»¡P¤\öžÏ2ÀÊŒ9 çí¥›8~É™2®½rdd«ÛkÊ¡00Ré–p\é§>d›ÞÚt¸«ú]–ý0''7÷òÓÍ¥/šžf?¹µ(¹gZlµg«±Sš
+ár °d›Oo8*©YÈWGŒÖ#P¼[ÇýÔ£­Ý% Q§N쉣³£ƒÍÙ-“cKÆ#„ße*ݯGî˜ÖÓÄ`­ý°´í¤êäÓlÓí[þååðªD¼ezgÏA-Jh&ykc%ÒÉûþÖ^f™ÙÿŒœŽŽs•xÑ®¹Ž,®NR¨È‡Q÷&à£àOn±{fB¶ÝÃß½ ÷Œ=C{™¾=­…‘#q{;¢+F…žEÈ4f!…Ž-åæØÇÜvoßKçAHfÂÅßTéº1sf³£Ú×­ˆœx˜¶òÝðµûï&Ú«þ$ŠÞVHé¤ÚÐo¤–cõ£K»ýÿï
+endstream
+endobj
+2003 0 obj
+<< /Type /Page /Contents 2004 0 R /Resources 2002 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2005 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2003 0 R /XYZ 78.37 808.885 null ] >>
endobj
2006 0 obj
-<< /D [ 1953 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 701.605 null ] >>
endobj
-1952 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2009 0 obj
-<< /Filter /FlateDecode /Length 2727 >>
-stream
-xÚÕ[ÉŽã8½çWø’EFp é´=ÀœóÖèëÌiþÿ:Ü‚¤(J)¦]Ó=(¨¤Ô ¾X s¦Nÿ>qÿÿ?Þ®_o¿Ê$sV œ¾þõ&NÜÿ' LË“Ñ‚q-N_ÿ9ýqæ\çúÊ9ZV—?¿þùÆ1Oê×ÃÊ“eNk´-!43Êô”´ð‡óç\zªòæ©zÊÊS†»?ûçp½¼KÊ¿Žòò®âÈð ½ m:"à¯Ñ¨ýY~øÃø{~
-PÌ$a‡y†g/ï(Ô¤ð…`hò
-÷¢áî™ÿ xÚ)†ÜŒÀÓ×)ð:JKóñgÌÞŠ/M­‚»¥=¯7±ß5µ• ¥Bù1eG ³ç…ÄcÔÃœhh|aT$¨Æ‰FTqûZÈ 2"†s®kI(e2ÄjÀAà!àÅsÖ·q–Ö\µè=BÏ¡&Q q°s8,)AžiOP šƒá/Œk4h%˜ÐÐœærøŽ’Ξ½ùXyÔ|0]™&² reÁÍ¡J,¦IÿdºÒ¿%p8ݹœ»£¤?³É’è²cðhô!éŒbz*à˜Rr¨ÎsqO «ó ñ#:CŸ¸j ϲ,,Sn˜DMf–=¥&ì‘‚¡ åáÙ³Ä\"çé1ñlåßäÑmQÂÏ"~‹â†i\'Yr:Ëì)耯þ É‘ršicF“žÌ,;JÅ/gŸL
-ü`ÍWÆ1ôh¿Ú­ßÄUlNž¥Ãs͈5$+—NžË_`ÎÉñJ[ViL#GcúÌ’”ý¨O˜çÞ %\÷£EŠ·(æ=^A)Æ­ú¯»|¡€˜£÷ØçŒ.úŒ[Â4¨b’ wEöL¢ B(rµòir½„˜É‰V£ÛÕU —–•4ø†¸ÅCÒJ5/¹¢NÑ”aBcÂ%ÎÆð‹Òç:Z€!âc¡Œ>ÇPîhâùAï„;æ¶ä>}¹0Û¸b½Äsnç †ynpÉGÎÊuô
-!*Ëp'Uo2ÿºM22Ý:ÁÄšŽ"Ìï=ª^╾“Í$£ø}×è0QŠš“‰áæÖ¬HÊ“‚aSžl›öI $/ƒº$]Éq%#º´ÊD³ ´éIÕ5þ,2Œ>ЉvM‚>4FÑj’[l×—`þ^?
-Ø¡ñmö£•È.ÚRsÆU¯3&ûåè^¯Ù)<ÊÌÆ^{ ˆB1­JJÚ9 ;áÏQºs}SÚlñnu®¸‰ü×aŸŸ¸Ùñù#1<ðYª q¡¦u¡Õaº• µCêŽ8>[_Ôuh <ä«àÔ4å
-¥?±óvd”VŒ“,ìÔËé%‡rQ"ñϤ]Æœ‹ÒîfoÚúd½£K‹ÜF᥹Ó&À•Pq<K—Ö³Ã$ýXUÑÿ½íè„E…È«ÈN:ȈÞº™ÙO©dYS0-1šÃÑ:_^ht”@ÏrâEËùÍÉJ[G)®FsˆjGTA hq³®]ÖÅ*Ò½«9vqœñÛq<¿³}Ÿ#s)‡Zv°Ø†œYãzJ^Bí2VÔ¢¿ÂAñ"çU ¯+¹¨›¿Ú©ñðn×å…¶H3e<XÕLs5‰¿ÔqÉ7Â_ÎYÈ’RYŠl/Åcz³¬?›Œ¦Î»óéÞå݃@qWf—3Ûþ}A87yÜ-ÕZÑ’£'ñE÷ï. íËïÍ­~“À¢ÌZ74xœqŸ¡¸‡ô™“ øÎ_®µ¶]F­4ü€¥ÝâXif%D­t%¯ë«i FŸÁ:á|´€šxIhÚÃû¬‰9³nýÁéBeG‰vJ~D;ˆ÷fý誧oü‚¬ñ Ê)—®£×¹¨®¥%±(÷cé c|½»P™¬dv”¢®ºu¼k‹”†¯›€<kðòz<_?Ÿ/øè¼Þ‚ó=ZÚÍ„žÒ¼>
-×; ‘“ƒ»Â¨˜²º§´§äaâɽºazwQ6~VW'ñà×õFBÀãh.(•Ï¼DOié?£†±uBžS3ëêŸöµúÞêðJÇ–ýñ‚œòk†ÈÚ)ï(Ísb%ƒõÆBÔy5ÇÉ’Ò´õAÊ 9‘SÖ×Q¢†êfÜŠFµ¬Jm##èF£Ò™iû®uË×ùé¶wý±Îi`èrt£—Ðmé gÛÄ•ØsM³++ûœ¯µCu¯bñ¼îPECߨ•`±V™FQ Ÿú s–£ÉSö‰¥} jõµÇ5F…Ï'0m¾ØܦÞEs“ò4º’3´«5¿¼ÏIK—”þO#0€cp„ÇÑ\´mIéïçõö¯‹ÞÂ2©ÕH*“kGiž¿S\9ù˜ZÊu”¦9‰{P\Œ89˜+æÅ{G¨WO2FÕaQŸmUP«æJn§Æ/i Ìj7 –õëf9tsGÓ¿,¶ŽÒtÒ%´_8Û¡ƒ™ìÜë(­äÖ%F–æ·e:¾-8—Ûymð[º§'ÈBùe<È¡Œä”»é(mŸIë÷/Ñ^’ i×C§9ÙóØQzYID abÝé8œ¬Ðu”u{ î
-endstream
+2007 0 obj
+<< /D [ 2003 0 R /XYZ 81.145 690.646 null ] >>
endobj
2008 0 obj
-<< /Type /Page /Contents 2009 0 R /Resources 2007 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 1590 0 R >>
+<< /D [ 2003 0 R /XYZ 81.145 679.687 null ] >>
+endobj
+2009 0 obj
+<< /D [ 2003 0 R /XYZ 81.145 668.728 null ] >>
endobj
2010 0 obj
-<< /D [ 2008 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 657.77 null ] >>
+endobj
+245 0 obj
+<< /D [ 2003 0 R /XYZ 79.37 610.118 null ] >>
endobj
2011 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 583.646 null ] >>
endobj
2012 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 572.687 null ] >>
endobj
2013 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 561.728 null ] >>
endobj
2014 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 550.769 null ] >>
endobj
2015 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 539.81 null ] >>
endobj
2016 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 528.851 null ] >>
endobj
2017 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 517.892 null ] >>
endobj
2018 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 506.934 null ] >>
endobj
2019 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 495.975 null ] >>
endobj
2020 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 485.016 null ] >>
endobj
2021 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 474.057 null ] >>
endobj
2022 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 463.098 null ] >>
endobj
2023 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 452.139 null ] >>
endobj
2024 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 441.18 null ] >>
endobj
2025 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 430.221 null ] >>
endobj
2026 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 419.262 null ] >>
endobj
2027 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 403.67 null ] >>
endobj
2028 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 497.689 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 392.711 null ] >>
endobj
2029 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 486.73 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 381.752 null ] >>
endobj
2030 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 475.771 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 370.793 null ] >>
endobj
2031 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 464.812 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 359.834 null ] >>
endobj
2032 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 453.853 null ] >>
-endobj
-249 0 obj
-<< /D [ 2008 0 R /XYZ 79.37 406.142 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 348.875 null ] >>
endobj
2033 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 379.658 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 274.203 null ] >>
endobj
2034 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 368.699 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 263.244 null ] >>
endobj
2035 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 357.74 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 225.56 null ] >>
endobj
2036 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 346.781 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 175.921 null ] >>
endobj
2037 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 335.822 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 164.962 null ] >>
endobj
2038 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 324.863 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 127.278 null ] >>
endobj
2039 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 313.904 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 116.319 null ] >>
endobj
2040 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 302.945 null ] >>
+<< /D [ 2003 0 R /XYZ 81.145 105.36 null ] >>
endobj
-2041 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 291.986 null ] >>
+2002 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2042 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 281.028 null ] >>
+2044 0 obj
+<< /Filter /FlateDecode /Length 1951 >>
+stream
+xÚÕZÉn#9 ½ç+ü­H¤V Çö
+– q†9°N¤ú=Qfü ΉfÈ”ÊL§Ì!oÙ Çô*.€.îF–`
+£4÷¯÷êþðu¾ë)[àÎæxØî²2ªòI‰ûÝÌ3võ‘ææÉÛI³D;Á`jÉ)ÉHqÁ»º°º{Jû¯É£6ù!ø²‡µí’îöI^böÌ?_„:8oø)5¶ÇÐ[f$C«‹eRK^ ’/ÉF Â_"æñzÌ¥11Ö¶ëcúÊQU¯ Ñ]b2àÄ”èʸòkB’/é%÷q˜8*ãJ4ãnͼ‚É3‚S¸ÚE;Ò_Óü°±,°^Qá’Qòš‰vw3Ú3ÕÎ<$½ÌΧ©²Œ ±9ÙÆ•H¨65w ^¼ªIÜ"¿íŠ[½WøŸòñe­X(K]KJ0i¦k ©ŒH}m‹^ˆÕ]–;·\æRkneº°òîÎg¾S`JLËZÚÌ{$úÌ㬡)Æ˳+èv¾¹›#pL©iEÕŠ”ó$º%™°©%’RÛ è¢cí´ä©úÒ[7ÅåYÒ˱M5µß‹}Øé×8?»œFªrþÍÍ?’Ü; ‘Kº²‚œ.ÆÕn>—ô©øwÆòVšž½÷_IE‘ÿÜùGßg¨‹…ŸÀŠá̘Ýò“çõκ°Ò#}ÆJ)@1òbqcîýÌ-®™•õQ¸¼NˆÌ+ǬÐ3æ¥ÄÆ|Da¾´åZ9´›K©Ÿ8oi™õVOæ½Úäç¢8 ÝVÕ±=„-¹Ñ.*µm æ+õÁêºãóaåT¡aÖÙ)»o´|Û#Ñ-œñýîI°d±íËåt
+*g_É—ü¤ç,Ë:m&Õ—r³Eß@›ÌH=,EGKï&Ïpa5*ô¬eTpE{•ô¢DÒž›âŒÉ#\7t¶Ü”øŽçín­•›òl aBQYïÏFíU¬GàU ›SS*.í<oíõŒ•+GMÛXý™^NWÕÕž9å9†.£u‰é‰b–¾qjË/Ÿí#Ø—¼SÕ²R£‡ª®.ZÛèM['ŒFi›mÞ‹°/Í~–8h£Xé;´·ô­pÓܱ¨®r€¾W~T"öýà´W^ˆ["î‘ÈZFúÚ FMKí h@ºuTŠDÛWf£ìd[xÒ3­¤‰4ZŸç©ºþ}ÒWQûé»Iœ÷áÄSž‰îU¡ñ[ÐaëZ SVHS¯”@\ƒ§ïé].ýpætUeIåÛO1" [pM.Üf©gv{F÷lÎŽk¦ü¶}ªlÌR2V­Zã§T:dÝŒÕU —#u@º¦ÜfUàß *Ñ¿Éá «ð÷FÊ9Ý#˜º²%H;Yè–øu¦Å4¦eNnU ïѪ< =A”LëiLÑ6Ò{ rC@fø<¸%©9¾^Ÿ?l“ 0#çËŠÖ  HßokëgXä‚‹3W[³Ò=Ò’®ÌÖ‡V×'…6Óõv¢ë«ž»z~¾]1Óõé×î8þ¥;yN!hö:‡[…±ŸmU¨+ýçÏ s¸‹¢ðnH‘Я/,wgéSœ¹á„(Ó·ÚAçE8 ‘ ‹§…q¡f–¬v9©H+úè¾3ªÇ?‘÷[œ]8Æ•žz‚öxÔ€Díÿ¿„m"Â2îÌŒ b= mEÊ7ÕW‹”p‚‰^ßFmkÓ.FxÏ+õ‡'„‡-šTtÊ9í #¼ÄKÂø.m/±#¤Æ}
+Çœ'/©
+l©Ÿè^g¥Ù#¨MÝ{ºJ\Z®3oö.†‡VÃõKw"³¬³ÓøËzc¸Ü'b¯HŠ×h扶'¨ø­½@äBjš6WÄ}@"wBøJÂw}JÈ‚Ä'Y¤ÚøW™X,{àñóé‘ÞSçj/©,p_C¤š±@|ªd@Za¡ÔÙ{X
+endstream
endobj
2043 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 270.069 null ] >>
-endobj
-2044 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 259.11 null ] >>
+<< /Type /Page /Contents 2044 0 R /Resources 2042 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2045 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 248.151 null ] >>
+<< /D [ 2043 0 R /XYZ 78.37 808.885 null ] >>
endobj
2046 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 237.192 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 768.829 null ] >>
endobj
2047 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 226.233 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 757.87 null ] >>
endobj
2048 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 215.274 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 746.912 null ] >>
endobj
2049 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 199.67 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 721.009 null ] >>
endobj
2050 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 188.711 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 710.05 null ] >>
endobj
2051 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 177.752 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 699.091 null ] >>
endobj
2052 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 166.793 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 659.24 null ] >>
endobj
2053 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 155.834 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 648.281 null ] >>
endobj
2054 0 obj
-<< /D [ 2008 0 R /XYZ 81.145 144.875 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 637.322 null ] >>
endobj
-2007 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2057 0 obj
-<< /Filter /FlateDecode /Length 2498 >>
-stream
-xÚÝ[Én#9½û+ôÅ"ƒ .€aÀ²¥æì[c®Ó§þÿks nIIIYêB5j»RäKòŤ9ÃßîÿÿŸ—ã×ËÏ3ºƒbÎ
- ‡¯ÿ¿ˆ÷ÿ‰ƒ¦ÕÁhÁ¸‡¯¿¼rŽÀ¹~çܸðyûß×_x
-’I,fßñ'eÀüì$= {&ùÆØU3À¤›š‰>î3¡™A3"U÷\ÊSçÞ!ëûhÐ’#ÙŽ0;LZ{®Ó o²`Î`D²¤-þM€˜u¿˜$yè°do,~ûeXzØp°r@=¨BWÔàHOu6uiF¬ú}4&%Oc‰ÀômXÛ5š3j6„4G|”ç:ûûâ0h–zí£úµôÜ|’:_æÇT'Dz
-²ÐLK ‰~'ÊL"'ö¨-zó€Öt^Ôh¥ñÉVÏÃ7xŸÿÚ1µ]‹þèmþ¾$0àb|ƒ÷"?”
-ºŒ<)UÚ…˜èuxYâ.#×çf]Pö¾á)ÈÀ¼÷é
-É¥U²4ºxÛˆ&‰½0dãÓå`g¶¸IŒÔ¼¶O’†‘¯&,AVÇMcƒž–¬i¦>F2m«³È뺆&6Sò·ÏJŠÓOsr
-÷Ê0¡æ-µd'ÒLòØÆʼӜ ÇÝŸ{{™efÿI髹Ûõ\Mè†êR‹7+)VõJÕKŽ¸pnCøõ*Óã Y3âoÔ”‰¸U -7Û»Ôý]=*p$ã˜M¹=‘;
-c¢vÐwS‰Ò«Y¼œ *¦äÔÝI¹æîz¤[i¢Üï#•úÜ¥³¯ç¹·E¦•dª–S-Óê´ê¤ëÁ~bȲ¢,\+ƒßŠÿ»C¼÷ª(Ô(‰ðsçi(¾ Hë+ 88]ÉÎcÀ|.;
-Á´Ûú÷ý•˜ôVêëÒi*Õ…:àÙž)]Ι‘nÆéÞKù¤ÉWÒЀk|aÙý¹žÙm}î…ÝKŒÖZã[U†°Ž+f¬î-ᲦH—*·YxöE¨'j¥ð)£˜ò÷¾äs¤õ•hì–³•Èµ“Õi}%
-˜áSNv–99U€~Tå鉂5åb}@Zd¼«´8]ÉÚ¼éùúÚ\‚;o˜zªÎk)Ú€ôû5·¾Áb8GÑfFâÞÜ,«t´«®7ÜOѳ²>ÿ9Ô¤¬·“²¾–sÏˈYYßüé–íþVwóZ+%{Ýí¸Øﶨ{Vô´Ãçú'_!çÖÅ™3µƒÅž¾^þ5UZ
-endstream
+2055 0 obj
+<< /D [ 2043 0 R /XYZ 81.145 611.42 null ] >>
endobj
2056 0 obj
-<< /Type /Page /Contents 2057 0 R /Resources 2055 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2043 0 R /XYZ 81.145 600.461 null ] >>
+endobj
+2057 0 obj
+<< /D [ 2043 0 R /XYZ 81.145 589.502 null ] >>
endobj
2058 0 obj
-<< /D [ 2056 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 578.543 null ] >>
endobj
2059 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 567.584 null ] >>
endobj
2060 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 556.625 null ] >>
endobj
2061 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 720.161 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 545.666 null ] >>
endobj
2062 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 670.496 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 517.771 null ] >>
endobj
2063 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 659.537 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 506.812 null ] >>
endobj
2064 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 621.828 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 466.961 null ] >>
endobj
2065 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 610.869 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 456.002 null ] >>
endobj
2066 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 599.91 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 445.044 null ] >>
endobj
2067 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 562.2 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 434.085 null ] >>
endobj
2068 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 551.242 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 423.126 null ] >>
endobj
2069 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 540.283 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 412.167 null ] >>
endobj
2070 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 515.122 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 401.208 null ] >>
endobj
2071 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 504.163 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 390.249 null ] >>
endobj
2072 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 493.204 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 379.29 null ] >>
endobj
2073 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 453.651 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 353.387 null ] >>
endobj
2074 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 442.692 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 342.428 null ] >>
endobj
2075 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 431.733 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 331.469 null ] >>
endobj
2076 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 406.573 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 320.511 null ] >>
endobj
2077 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 395.614 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 309.552 null ] >>
endobj
2078 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 384.655 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 269.701 null ] >>
endobj
2079 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 373.696 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 258.742 null ] >>
endobj
2080 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 362.737 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 247.783 null ] >>
endobj
2081 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 351.778 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 236.824 null ] >>
endobj
2082 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 340.819 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 225.865 null ] >>
+endobj
+249 0 obj
+<< /D [ 2043 0 R /XYZ 79.37 202.409 null ] >>
endobj
2083 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 313.815 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 181.567 null ] >>
endobj
2084 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 302.856 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 170.608 null ] >>
endobj
2085 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 263.302 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 159.649 null ] >>
endobj
2086 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 252.344 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 148.69 null ] >>
endobj
2087 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 241.385 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 137.731 null ] >>
endobj
2088 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 230.426 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 126.772 null ] >>
endobj
2089 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 219.467 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 115.813 null ] >>
endobj
2090 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 208.508 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 104.854 null ] >>
endobj
2091 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 197.549 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 93.895 null ] >>
endobj
2092 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 186.59 null ] >>
-endobj
-2093 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 175.631 null ] >>
+<< /D [ 2043 0 R /XYZ 81.145 82.936 null ] >>
endobj
-2094 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 150.471 null ] >>
+2042 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2095 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 139.512 null ] >>
+<< /Filter /FlateDecode /Length 1981 >>
+stream
+xÚÕ[Ënì6 Ýç+æ¢HÔ¸‰g.ÐuvE·íªÿ¿­ž–DkÓIzç.&‰mͱxDñP”ÂOÿœøéçÃùíáé
+pòÌ0êôö÷ƒøIœ¬gÒž¬Œqzû÷ôçÎ5pn}øí87çü;Þ3ççGÁ9ML¸%¯áÏÒÉñ¯p—çñw}¢Îåiùˆ×p½Þ«­âw¤­WÆc|­ò7áü,!¢šéù¯·?8ÓÑâðóg0Xû“bÞ ½ÁX`À*ÉÌh°yÉÆJ—±
+wOW§N.g¤ëq¼e‚ÐIùc.Ùôhrìdº^²Ù6|à5_«åùQƒŽß6õ/e³q©}üî2Ò&®ùY"Úçk¸æg2|WA{\W|K¥I³f4½‹&Á-“
+0R°”Ø,p=í‰Ú×a˜Õ#}ÓÑÕFÁ™ Ÿ9¥¤Ù8"µÉZìqÛ¬/ÙŠØ6zn´=zs†ë=—ÛÆïÄw¤g·x“…·ÂÙû\–~¨RÒ¬á¹MÂ\ò{âû­É1êëÆ{æÀÌXWëI‰lU´"õ°ô:1uÎ×ÉB‘­†eÛ6ZžX*íãÄO½ÊR´<²œÚ˜Æp%]âQ
+Á>ã¦øóÚ{¬zmÑIËÌõŠº|<WèÜ;Çœ±î_¢þи‘¢ªxGòöÎû’g–˜¼z(o^§Õ
+´€»™HQ!‘ãuP¢
+U˶ו›ÏmÓšäÚ¬+Çäg&ÇòºBiŬÚ&mŽ\XCHiLÏÅ' ›—V’•5b®QsˆœªÅØ>þÞâ9µÛ¼q‡W¾×²h'·•¨å£ïáX)%™uf6"Ä"!B¢«
+˜ž
+--ûqî&ù;7÷­mãá܃IHÁô|؈IB"'y
+=û·OðáåÚœq°@ZIîòöðíxÓZ
+endstream
+endobj
+2094 0 obj
+<< /Type /Page /Contents 2095 0 R /Resources 2093 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2096 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 128.553 null ] >>
+<< /D [ 2094 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+253 0 obj
+<< /D [ 2094 0 R /XYZ 79.37 771.024 null ] >>
endobj
2097 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 117.594 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 751.43 null ] >>
endobj
2098 0 obj
-<< /D [ 2056 0 R /XYZ 81.145 106.635 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 740.471 null ] >>
endobj
-2055 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+2099 0 obj
+<< /D [ 2094 0 R /XYZ 81.145 729.512 null ] >>
endobj
-2102 0 obj
-<< /Filter /FlateDecode /Length 1996 >>
-stream
-xÚÕZMo#7 ½çWø¬V¢¾E€Ø.ÐsnE¯í©ÿÿZI#$ g4ÅÂÛ3~#=R|$%)ìåï‹Lÿÿö´¼>}¿Ûx1"¥áòúדºÈôO]g.Þ)!º¼þsù㇔¤t?¥ÔQJŸÿ|ýýIf°õýÌ%ˆèœ#Nô"BÀ@`ÒkI`ð&¥¹&ÐôÞ×Ï6]w2ýUéo\¯•ûÛû{z½¤ß½¬÷šëó7 ¶!«õ•‘ò¯LX¥^VÔü}~Ÿ¿Ï¯üYûô÷ºŽ¤=ÉÀ:‚ü])¼¬S|‡>+…’@Ñgá}Jz¡ `$pÜ‘è(”ÑÔHÜrl$Ê o=FÊ|gn2¿v©Ö\V~‹pÛ,i^F+êŠ6Z3[«XîZ¯_×Ïù}Aó§>"®_ñƒ2¨ã¾r-A¨D1e‰Ÿ<KÌH”%2/ÔLá³Øfr¡¼
-ס¨-¯ÓÙr˜ò&am W¬fES„ÄŽëÚá9’ƒ‰]•CôQrèÚ5×Ã2ã–Çeç+Ÿ);;-Újáì.?væx’Ö :#±å1aOƒÙ³œp¸VÈ¡iì}Ìûtõ£µÞ(ŠUf/!íjNÄ#®/ÇëÛÆóøâpÝ1¨]Ûò<C …@2ÄëI"$ªßˆYúµJæìŒe45cf/!±cD-B GÂjÓ! ÿ*„ãàÑ6ÙËR'–½S=¯Ys¡ÓaBÞ57¤óZy‰ÆÁç=jKŽ„—ó $rƬg’ÿ‹Ðù$™t¤ûó‚鈰R$±£fÌlÆ!$ìY<s…RDzK4ÏpôʇÆÌqËÌÚÞÂÜ6#ÃZµ´\{«ÛêY«R‘Ü;ƒ0l:Y·FvU:
-ödÍî«!¤v–±ø «âÖ²†Snûƒ Î_=ây<¿ÖŸ¸ÄûÍß·ŽE¬­Ö·îx ïDUùüDÊ"Ì&!Bâ뀡9^“}ØΗêûËÛÁÕ¡‘ÒÃÔy)”JìÓ›Â
-endstream
+2100 0 obj
+<< /D [ 2094 0 R /XYZ 81.145 718.553 null ] >>
endobj
2101 0 obj
-<< /Type /Page /Contents 2102 0 R /Resources 2100 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2094 0 R /XYZ 81.145 707.594 null ] >>
+endobj
+2102 0 obj
+<< /D [ 2094 0 R /XYZ 81.145 696.635 null ] >>
endobj
2103 0 obj
-<< /D [ 2101 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 685.676 null ] >>
endobj
2104 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 669.736 null ] >>
endobj
2105 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 658.777 null ] >>
endobj
2106 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 647.818 null ] >>
endobj
2107 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 636.859 null ] >>
endobj
2108 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 724.994 null ] >>
-endobj
-253 0 obj
-<< /D [ 2101 0 R /XYZ 79.37 701.537 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 625.9 null ] >>
endobj
2109 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 680.695 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 614.941 null ] >>
endobj
2110 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 669.736 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 603.983 null ] >>
endobj
2111 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 658.777 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 588.042 null ] >>
endobj
2112 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 647.818 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 577.083 null ] >>
endobj
2113 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 636.859 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 566.124 null ] >>
endobj
2114 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 625.9 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 555.166 null ] >>
endobj
2115 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 614.941 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 544.207 null ] >>
endobj
2116 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 603.983 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 533.248 null ] >>
endobj
2117 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 593.024 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 517.308 null ] >>
endobj
2118 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 582.065 null ] >>
-endobj
-257 0 obj
-<< /D [ 2101 0 R /XYZ 79.37 556.616 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 506.349 null ] >>
endobj
2119 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 535.773 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 495.39 null ] >>
endobj
2120 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 524.814 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 484.431 null ] >>
endobj
2121 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 513.855 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 473.472 null ] >>
endobj
2122 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 502.897 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 462.513 null ] >>
endobj
2123 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 491.938 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 451.554 null ] >>
endobj
2124 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 480.979 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 435.614 null ] >>
endobj
2125 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 470.02 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 424.655 null ] >>
endobj
2126 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 454.08 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 413.696 null ] >>
endobj
2127 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 443.121 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 402.737 null ] >>
endobj
2128 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 432.162 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 391.778 null ] >>
endobj
2129 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 421.203 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 380.819 null ] >>
endobj
2130 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 410.244 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 364.879 null ] >>
endobj
2131 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 399.285 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 353.92 null ] >>
endobj
2132 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 388.326 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 342.961 null ] >>
endobj
2133 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 372.386 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 332.002 null ] >>
endobj
2134 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 361.427 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 321.044 null ] >>
endobj
2135 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 350.468 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 310.085 null ] >>
endobj
2136 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 339.509 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 299.126 null ] >>
endobj
2137 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 328.55 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 288.167 null ] >>
endobj
2138 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 317.591 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 277.208 null ] >>
endobj
2139 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 301.651 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 266.249 null ] >>
endobj
2140 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 290.692 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 250.309 null ] >>
endobj
2141 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 279.733 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 239.35 null ] >>
endobj
2142 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 268.775 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 228.391 null ] >>
endobj
2143 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 257.816 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 217.432 null ] >>
endobj
2144 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 246.857 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 206.473 null ] >>
endobj
2145 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 235.898 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 195.514 null ] >>
endobj
2146 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 219.958 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 184.555 null ] >>
endobj
2147 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 208.999 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 173.596 null ] >>
endobj
2148 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 198.04 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 157.656 null ] >>
endobj
2149 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 187.081 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 146.697 null ] >>
endobj
2150 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 176.122 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 135.738 null ] >>
endobj
2151 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 165.163 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 124.78 null ] >>
endobj
2152 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 149.223 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 113.821 null ] >>
endobj
2153 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 138.264 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 102.862 null ] >>
endobj
2154 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 127.305 null ] >>
+<< /D [ 2094 0 R /XYZ 81.145 91.903 null ] >>
endobj
-2155 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 116.346 null ] >>
-endobj
-2156 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 105.387 null ] >>
+2093 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2157 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 94.428 null ] >>
+<< /Filter /FlateDecode /Length 2140 >>
+stream
+xÚÕ[ÉŽã8½×WøŠMƒÐH ]N0ç¼ æ:}êÿ¿6W‰ ‡3Jjæ%[–žby|¤Xúô×IŸ~~;¿ûãjÜ)©äÁãéý¿ßLþAŸÌ)$eÃ)x£´7§÷¿OÿþSë`^¢ÍG /ßmù\µvFk¼hsõZûT~‰åšs> ùýa¹Ç§üí:ΔkóÝÚüÈÇs=ûŸ÷e»rv™UÊ?Ë|y’oH¿ |ùîÀÕg糺ýk½îÏà}ç”Ó–>ÆíŒk0¶?gš÷Z4Š}ö<îgìê8`_¾Cì—À¹9ä/ÍÑýqÁ7øzóe3 šYíl3®s°ë/¤ÊüŸ˜ª`RFû*ÝᢌbpàÕOÅF‡ Îý™õ—Ï]7®”³p~iW_€>3A¡Ý › ª\¼Ã‘[‚}9S‡Ï×¹ìµ/×ö£×”)1Ýž5©^‡~ä¢b4$ÐXe’¥˜YP³¡¹Ð”s VE):¶;‡µ›7¸ ”- _lPÆ™¯"XKãQÏŒÔþa'EádÎćrá¬rèÓ
+·ýN ʶ"‰Ë¦ËÓßX êXÑÀ$H¿­l:Câ<z°ƒÛ<Z‘¨Ô|ÄyÖF9÷ÑŒîH)žñe%XYkÔº.QV¯Bz¼×]¾Ôü`a”AçÈ.ÌÂF– =·¸¿·ÄJ£l´Ê¦pQ6×IRè›i³@>pqs€))–õôUTk’¸êa´ÊhÖ’›ÀÞ §-lŽßü>8 ;a   "Y·FÄŽQ&:–²%7‚$‹d%õ$µbÉD§@`ý-ª¤G%¯í©CžæEÑ!\,79h“YÉÚ6‚ôѲôÿú ÷³yL™©y›› ¹¼BTV'.¶›c4¯Hr]1 ì-'Ê1Èäu:&¯Ç$vÐ'xÒè}å™’ÄéN^I··_hm.’¶`#§ X óS:Öa—B$yø¢8ÛÞNÚ¼LæÊt3#Ü¡½çü»æÜ^óQ1çøúë¤ñ>ë.Ñ寜µ\ž„Kt‰¾™úli¬.)_ö8îÒ|”.(õLö— •R4g»”ñ^v°fxþѬ¿¾A³v˜6“صՠ †éý\©8µ*ƒ½ibeX/ìUµ/
+žE¯¼qìxv"q$Hb•¶Ö)¿.6n–ÈVÑ’\§•Oe˜¬#HTãŽ2eÜ;˜PéÖWˆãxeÑuÇÌÙÞ•_§Í;×}fë|Ó.¹ò«‚eáŠAÚö… ÝÔM]ê »F­%©åT7Í_ÙÐ%\#HŲ±O¡æò<í«™ÖbPOíyœòrÄHFE0œ7•'‚Ľ,DͯT³<j=p– û$‚T,ßÆÌ^÷õ®ð£÷õ‡-÷I¥Û5‘¾%PdùŠ$±õšnÐ1ï\6øv©£m|”y·"}É;û,ï0Ï—n—Oªw²¾‚ m#ú2­^ö=Y´ç7ë.§s‹ÎP„cžÙ rdY)["HÏô õzN«¤Öý^÷XTÀ+íÙ2AÚªhZw™Î·ª¼Ø~Þ«îR˜šãÊdœ2:²ì–õ4é«ÞŽÜŽwE~æÁyÍýqï5*ƒleö$é!ïE>M*›Àoz·*+ÐünbŒÈºLªw•¦³_N©ù”`sJر$êÕÓ:Œ‚`9‹…
+AZFųû\ãµ²Y«e]
+Az®•˜”uŽ³RØm¤{•EÊñãc×Fe“g=“ué³]ßǬ… Ð–-²î v}ñŸwaÌó‹c–ççbˆ¬å²
+O(Pï}Ïèk¶7Äåèz r¼Ì «6Aº·Ûå°¥ •c-¬¯ Îfe_aãªéSúƒh•×7Se+ß C€pµÿm¡ü œm¢H€ð6¶öÿE°u1»Íwÿÿd‚ºÞ†Z¥}x· õÛû·
+endstream
endobj
-2158 0 obj
-<< /D [ 2101 0 R /XYZ 81.145 83.469 null ] >>
+2156 0 obj
+<< /Type /Page /Contents 2157 0 R /Resources 2155 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
-2100 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
+2158 0 obj
+<< /D [ 2156 0 R /XYZ 78.37 808.885 null ] >>
endobj
-2161 0 obj
-<< /Filter /FlateDecode /Length 1945 >>
-stream
-xÚÕ[ËŽë6 ÝÏWäª+Q%ÅÆã¤@׳+ºmWýÿm%YŠ%†™1ÜŠt2ŽçD¤ÈsHZW+ú÷¤Óÿÿx™ß_¾\ütrjŠÆÂéýŸsÒé?sŠ Ð¥ÑœÞÿ;ýõ»Ö´ÆW­ÝYk¿þýþç‹Î` êË%ºST¢=Ž1¨‚ ’M/ï´†EksY¯á”Þ¿¥Ÿº¾¿¬¿»t\ê}Sý|©1}–qܺ¢ÎÀO¬óZ œuèeÖH˜VdëÊ›×Õ\é½Ë¯¸¾ò5°ë=åþì¡yµÜ›ÕâüYö‚RKí¤Œ³¬¥nŸ¥:(ë€"A®¬ò&²ew­d
-j‚HJ
-àXo¾Ê¼9" ã*³MšÈdäüy+[—ÎZ\Ù2YÔ¢³þµ7{Ë«¾Ï×› […›
-yû›¼‚ñËöíNWi„»ñ±GT@ÏùØÊø‹ ýtbUÔÈZEšAÄê…Ö(YÍØY`U±'@Ïû¼%%Ze©· ÍXm{°Vª¶¦KٮХÏÛ–Nyûºï» ´`%JX©$±à£ž KJ;+µkÂŒHÎli_¼5¯Þí½ø½¦?Ee5K{ ªjAJ-Àšº•üZ\””>oÔp/–UP¡º“½¸qDÙ°ò}Ÿ‘m££ë–£'õvO±±®Q,t>æؼ¡¦üSXD¤{rÀKO‰%·îDó^Û+‰/µxš;ÑÔû¼<>*ç!a‰JúølVd~´Õš>Û·õ×r ÷¥iÏ¿ôþÆÁ­Àj׸Ru4Þ‹ÛCòèÑ+‘óðÞÒµ2,As½wS’WË®äU"èi½p%Ü’u0““ÆtbÙJóPëmTÑ9Î {+³¶!#’Xò<£gW"w$.ùšüõ$üQÇÒ:ŸFÈXl…eLÒBo° AÙÉóçX7ɺÜö•×Zu:"ÉO°4'½$.f³§‡nçm£›&ym7ZL7y.ž;LæÚ§…óTãdVŽHÎl2`ÛÛ¾ÐèI4ÇA‘FØ<Ó´'Y.î|ÂLòÈ‹ƒ˜€Ýä•Ö›eV”ïIÌ<.LI"YæÙY V&@ÏìOh³}ÈÈ¥e7 \Zt˜¨Ƥw7ôˆóþê­m܈$&j—Zp‡È­DX%$÷úˆg 
-—Zm¯g‘p Fè@ín?ñA}ÇÅa‘ë^×(¨Œ+õuíWF’zÓzå]d½)¨¤¾guóm_‘=x[ÜF`xÞ®SxëÇ¿™r©l·®¹ø±Q8ŽTœ¢®¢\RÀÇîuG;V¹ÏrïƒS~âœ/œ´@4’¥î¥=ïlÏ5w/ÎX…ְΕ ÷’X ì“ø²,î g‰'>ÿ ÑL-¸ÒŽ'vÙ@ ‰EÓT:²¤(è¤&š65àX¦óÒÍó¼b§ïÙhÌ}ÔÏâ_&ÀRÏz§ÌmоŠçtè¡"à_¡—U` çfaKž+ÿ·ùðc%Vêe
-<p^–ÖI"ô-ši±pó\zïK-£`r¬¥¯2­‘䪧½Bœ¸•ì¬[q0}¯c>cÀÿäBØük#Xú!ÚÀìB„ã6‚$óãÃx €
-ŸÊ²AÚKpîRŸÅ|¯ƒ6€FEkÙ’m飑ôÏÞÝ~ÖuA·3Еn=7¯U ,¹
-â$9«X¯nÇpvÿI¼Ê­#Î1jý6§(¹ñº†ÇpÐ"¯ñ8=ƒK*g8Oî­¿Ú–ŽHr‚N͸µÀ­DX£¤ïxº4(,kƒlèFöœ®üž§&¹ˆývÔx?îŽçÌd”3ŽÛ'á|Ž ѧRÇO¼Œ@µržeFáó[‚”¥¨ßmó6ýÀîØÈG=ÿÑÓ¬Ð=›+™êºR¥Eï´y±DXöÂÛËÁ38)7!›Ï^ÄŽIÌÓÆGåm`W"›¡$1O”‘0Y9Fžyîùã³ÉO=,ôžE…¬È Çu#P±wéXS¯ÜRNWØÑgpä|¶Ü„ÞÖ Q<#HרsÝɹ;QÓÍa²E×â<v»rÈ“zI œ5©Abφk~Jylå:5ŸÎr+VI)¯üš1oUõïœ@?´ò)u›· ÊÂe¥Ñ$Y·Óã®pgƒÙS_É´#Q\NŒ@ÙfŸd[HÚí9ƒb›ðß?@×\^º©à²Ã¢µžÓÝɦy;ˆ›}ÑÙõåbüiJ‹(§­·E@ŠôxrZMäøkôß_þ³ÈÒ
-endstream
+2159 0 obj
+<< /D [ 2156 0 R /XYZ 81.145 733.96 null ] >>
endobj
2160 0 obj
-<< /Type /Page /Contents 2161 0 R /Resources 2159 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2156 0 R /XYZ 81.145 723.001 null ] >>
+endobj
+2161 0 obj
+<< /D [ 2156 0 R /XYZ 81.145 712.042 null ] >>
endobj
2162 0 obj
-<< /D [ 2160 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 701.083 null ] >>
endobj
2163 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 690.124 null ] >>
endobj
2164 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 679.166 null ] >>
endobj
2165 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 665.218 null ] >>
endobj
2166 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 731.287 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 654.259 null ] >>
endobj
2167 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 720.328 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 643.3 null ] >>
endobj
2168 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 709.369 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 632.341 null ] >>
endobj
2169 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 698.41 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 621.382 null ] >>
endobj
2170 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 687.451 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 610.423 null ] >>
endobj
2171 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 676.492 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 599.464 null ] >>
endobj
2172 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 665.533 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 583.524 null ] >>
endobj
2173 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 654.575 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 572.565 null ] >>
endobj
2174 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 638.95 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 561.606 null ] >>
endobj
2175 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 627.991 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 550.648 null ] >>
endobj
2176 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 617.032 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 539.689 null ] >>
endobj
2177 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 606.073 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 528.73 null ] >>
endobj
2178 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 595.114 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 517.771 null ] >>
endobj
2179 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 584.155 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 506.812 null ] >>
endobj
2180 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 573.196 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 490.872 null ] >>
endobj
2181 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 557.572 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 479.913 null ] >>
endobj
2182 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 546.613 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 468.954 null ] >>
endobj
2183 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 535.654 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 457.995 null ] >>
endobj
2184 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 524.695 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 447.036 null ] >>
endobj
2185 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 513.736 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 436.077 null ] >>
endobj
2186 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 502.777 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 420.137 null ] >>
endobj
2187 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 487.152 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 409.178 null ] >>
endobj
2188 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 476.194 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 398.219 null ] >>
endobj
2189 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 465.235 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 387.26 null ] >>
endobj
2190 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 454.276 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 376.301 null ] >>
endobj
2191 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 443.317 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 365.342 null ] >>
endobj
2192 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 432.358 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 354.384 null ] >>
endobj
2193 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 421.399 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 343.425 null ] >>
endobj
2194 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 405.774 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 332.466 null ] >>
endobj
2195 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 394.815 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 321.507 null ] >>
endobj
2196 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 383.857 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 310.548 null ] >>
endobj
2197 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 372.898 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 299.589 null ] >>
endobj
2198 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 361.939 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 288.63 null ] >>
endobj
2199 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 350.98 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 277.671 null ] >>
endobj
2200 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 340.021 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 266.712 null ] >>
endobj
2201 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 329.062 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 255.753 null ] >>
endobj
2202 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 313.437 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 244.794 null ] >>
endobj
2203 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 302.478 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 233.836 null ] >>
endobj
2204 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 291.52 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 222.877 null ] >>
endobj
2205 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 280.561 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 211.918 null ] >>
endobj
2206 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 269.602 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 200.959 null ] >>
endobj
2207 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 258.643 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 190 null ] >>
endobj
2208 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 243.018 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 179.041 null ] >>
endobj
2209 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 232.059 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 168.082 null ] >>
endobj
2210 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 221.1 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 157.123 null ] >>
endobj
2211 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 146.164 null ] >>
endobj
2212 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 135.205 null ] >>
endobj
2213 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 124.247 null ] >>
endobj
2214 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 113.288 null ] >>
endobj
2215 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 102.329 null ] >>
endobj
2216 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 91.37 null ] >>
endobj
2217 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 144.388 null ] >>
-endobj
-2218 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2156 0 R /XYZ 81.145 80.411 null ] >>
endobj
-2219 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 122.47 null ] >>
+2155 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2220 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 111.511 null ] >>
+<< /Filter /FlateDecode /Length 1872 >>
+stream
+xÚ­ZËnã8¼ç+üÃ!›d“F‘½Àžs[ìu÷´ÿ]’b‹щZ [²Tî««©HaoÿÞdüÿ—åýåçÆ›Á+ ·÷^ÔMÆêæA ¹9TB¢º½ÿwûë—”¤Ôa{áòú÷ûŸ/2E¨Ÿon^Dí[¥P8ëH&"Èø®¤4K9Ž¨ñM‚–R½Å÷xÞÄ‹ôR¯Å5ž‹/x”k—‚áË÷é\ü^=6ëg?ñÔJ¡$L=ýÍó´GJ鈆P¬_¶ãkVê ”Ñ3+uàYÙ#%ëôc‹¡ƒ-¶é\Ê å‚¼¸f9x¡¢I3Ë=Ïò‰cyúÎÀVAt]ª:lÎçj»ì¥rÀN«Èò¼ì‘È£T熬ÅC½¿^U N­6<«{¤™Õ†V}ÉA²ºe
+'”›õõ‡›îFú”
+›Š(“”¯iØSPR3#«|~­MŸp0äþ{ì°©ø¦ü,lg%
+LCmX²¼nUBçóçF&äŠyÛ³gæu†K¤pÓ¥À“ YDñû,^ƒÔ‚ÓqŠõXÙ¹5?­ê힌5¬‚ËP‰-ÙD ÑI"³²zÙÑsA83¥f¦€L´Z»²î±¯Jj„ê1¶ô†ުןU#ñJŽ¸¯QL¿³G°D*Ýæ~‹^8?¥þ³B¨0Ç€Äæ°¨Œ„÷Óz?)b
+õ@ßEýP&ÎgÅK)¢™cKÉeJ·²7C8О—A”˜‰MéV%ð0³„©q¤³”ž§€uˆöZ)i§2YµP:ÖKCk4q‡‚U(‹”YçôG¸¹ZšIÝìöp£)½jLææÉ
+Æý„ÚÄhšîÛÓoWg´fê8o/e@¢v›½hÖ95¡ìõÒ4¤ûÇ‘94wCkxymÝ»ŒG!ÌâÂܽ¨JMíŒ}¨â¾‚ÒêËS,4b¨¬JK’wX½ížK^)¾©´¥b`3ÙPNZáÖî¹W$7ºÎ
+¥õ4º<9: ‘GÄ9$ðSÔöÆÿ8zÃÉÊeécÐåÌt­ñ¤ã€„þ(aöu%kDF±—ëê­Îà¹Or¥Š±Z€²S¯ «#HìÞlÀ
+=_²š£Tzœï*Y€Èš¢qj—#Ñ‚Ý5é”8/ £ŒÐ8%þ³›S”¶‰-dŒÔ·óÑ°w–¤«³img„Fü\H^z­Ë«]zíTBç>ÌHê
+t]Î\á\
+Ï@Îßè¨LT§^fuùúC{ý«Î¼yzxÐÙ©z,ÍÉ{ãJªYÏ5§…\é¹=Î>Á±Çâ½$MÛë´KE9ßø§¸¼¶<Ôvsºcg®{ߥIúîUüÖ¢™GeÖÓ!ƒ §×œ—¥¶$vç…XnO:/s/n@Êý¢é9‡°ñEúœw—-šXxYãg½bì øx–§É‚-SWÕ ÖYÏîÇFÉ#à³Êœ ø¾úš{i›€ö'?¨àÃPù9%Ô¨]ŽŸuÏz'SmH|K ò±?> ѧÕfa¬(¥d;ɤœÆ¥7í>ÍÚulxž^Mí ª@ÌÓ–9IYDüõ4*/PÏbwV_R; >qEtjfSŠ Hû®ÕZDɽ
+Š:à1­U!þ–‚©µ¿Yä1 ±ã¦¼^OxVÖh«G$[–ªèÜ^uvÿ´>!½ò-Û/g„ fê—çùÕ#‘<p¦È/¨âÃV[õ±«¡ƒˆzÿ»ß 3áÈ ³¿Bºï÷÷ùã}Z?rïÀ®fÔÂk;­æ“ò%U±‡ÒJ#ÎwJ4À®²|˳*ü}ÄQÒJ2Ý}­„-ïÜ4¬†G=›ä•Q"LþjA³Ÿ=H§f¥´ˆIûlö‰tE³ÜëZ94ù|øl+áƒ8‹ï™h“%D·H£iªü™ÝZÉ /7§¹ÙõF ÊÌܹò§ÇóD¥`Ï…å#/¨ÓÂI?s¹ËÕå‰ÙTlóäxß:,\jíäz,å­ì¬¼!Dã-ÞŒÁí?Ú<ò¸¿¿üƒ1R
+endstream
+endobj
+2219 0 obj
+<< /Type /Page /Contents 2220 0 R /Resources 2218 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2221 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2219 0 R /XYZ 78.37 808.885 null ] >>
endobj
2222 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 768.829 null ] >>
endobj
2223 0 obj
-<< /D [ 2160 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 757.87 null ] >>
endobj
-2159 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2226 0 obj
-<< /Filter /FlateDecode /Length 1846 >>
-stream
-xÚ­ZÍŽã6 ¾ÏSäV#QÿÀb€fèynE¯í©ï]I-™f6¡'Xx'v’/üÿHÚZùÓ']þÿóíüõö¾ø|r*'cáôõï›9éòÏœ¨àN1¥ƒ9}ýúû§Ö´¶¹Iëà?þùúëMW°õ¾$wJ*‡`ÓŒcLPÑGŠç‚f´v—‚Tô×å0Ÿã~Æér­œÇP^—ï‚íï¥Û{óç –")Œßàp¡þÞrÓd2Ì«x­ŒÖ*Nf•-J\¥¬«•Ö×ËM»ÕrçÛQµBm«…Žid³2ÎrY+Óh‹d'_ Ÿlìšô]Ÿm>LÃö°V”)â2Z¹«L«-Õªj~°çïHl¢ðTâàKäg™Ä[$”8ê›Ä¶GQõA=ª½K­ƒ‚8©=ȤÞ"½Tʽ²:rR†³HJ‚t¯ÞHcüpö†ä”u™Õì™f[¤*á×X¿ã!ZeYa­,Ä·@µº õ±>†ñ«§É@9kXÁ“Lð-ƒ&yçBäºC8ª7ÊE`ãDÆæi¶3Fy“ö°¤®|ÊXVRäUÒÊwuÎáã9 YyïØh‘1*Er[ ŽIg’ò™å!3R$··oìÑàæÎæÔ:ª`÷<ãÄìH‘ÜT¥Ïý|ªàU£%-¶Ïã³-C/Lo–úûú ¦>bä42*Aj•°s Ö—ÃþðÉ«h'¥Q R•®FOµa„ÑýctÁù›Œé£S‘ $!an$rÏ“
-~®Uœéz‹µÃ:«’6œ’B¢%H¨òV“ºÏWßîÒ¼•°RËX– qRÓɱUþ)ÿÛ´ùÊNÍ;£R²làɘ ÝÓ®Eä8©¼döV« ŽÕFÆÒiŽ&Ì•&ugå&õ«§orг‘'cl‚´Éî“jûø-iuVŠ“VÈà)véÚ>¡³¸Y¶{†zαºOB-\NJ»ÏYû<£&·%Ë D©$Ñ(ã 'É“Œ›c áD 8Ìí×[yiIyî罤TsB7±»|üðàë·¾ÂQ ‡v¾ wÍ®âÊU»~w¨XOl¶ •ÉÀ™íÙ
-¢ãl)lJ…6|d3´C%âz^í-—ëwÉ„fÏ<Š.[[iÖXÐz‹-%ªg-(kc’ë Ô–ûa™H‡f¡Ä>Շϡõ£ˆÄÚÒ,ž†Û*å2F\OËËÑÑúÀ欗U-’¸ŽÙ”•ãq’ê¿ÅyUñ‡>sÞ ]tÎ7‡.ê6–™^³\øl'ÔÝBÄE݆¨¼céEØå¤g‹z›.ÄÚ—Q`Ú|a74oH[êéqW§aõ‚…éä.|ñ›7—ó¬¾ÞÏ’öŒ%A”ßOî*ÞŸP¤©(U©Ÿ¥;èy@w,‘áL½¥>©æΫ°ŸTªæÂ}
-ABÊmZL™Ž$Ô´>O„t}p¼Ã,¦Þ9ˆ ëTØÏ<Õ. AÚÜo‚i»ÆÆñ6‚jþµY¦†¨ç¥Ç¶—äï¼yi¹’¦H›ï5OÓ údnÞæÍË>'¥Ö«â~FkÖ•µ¤ 5ªƒM~µÚJüË^‰W·>Ö€Šû™®j-l RHûfÍ+=,B›½WŸcoL)mU¬6*¦Ìj•dœ¸E³si§UÚ\-ª¼¤W!@¯jVZ¢‡k°#eÒB†)»v¥lé<ÜÌ@°*[–ôž]RuÇ$q3TŽ, Léè„:hã™f£¼îe{ 6'ß<—àµß·RK:PÚ°´%l Òkfpo÷äåĦ†Ò†1_µ–}%ûGs2üVï±ó­ÔºÖ(í·<ÕQÜ&¤¹eà¤Ã´S
-¶cwì5&œ{Ö,ý(ŠêZêÌG­¿üøa“ý9æÞ6?,x•í»AoO± eJÉõ|R<ÙËuÖ%@ë{– ×í­é{Þ*PWú2W¢™ÏñkíºnyÛß5Ž?g4·Œ<zÞhÎ(Ï礕­÷ ’˜{Õ*ðq.ÜǤÆ4âcH×¾E<߬ze¶á[PfË=?1w
-nž:Ú/“U`]öìJ‚2„{qɵðÛØ›¾‹‹ÜPþ&~wcåã’0lvØz:©†5Ÿ¬Û$HbIJiMäIR x+©W[œê<lÚ±IjN<o[›yϳöî;×yR¯ÿ°„É8lŒ!é°£V‰<ÎÚM÷lwÙ}¸êEë})ý&C‰ËûprºôöãQ˜ñ\äõëíаI
-endstream
+2224 0 obj
+<< /D [ 2219 0 R /XYZ 81.145 746.912 null ] >>
endobj
2225 0 obj
-<< /Type /Page /Contents 2226 0 R /Resources 2224 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2219 0 R /XYZ 81.145 735.953 null ] >>
+endobj
+2226 0 obj
+<< /D [ 2219 0 R /XYZ 81.145 724.994 null ] >>
endobj
2227 0 obj
-<< /D [ 2225 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 714.035 null ] >>
endobj
2228 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 703.076 null ] >>
endobj
2229 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 692.117 null ] >>
endobj
2230 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 681.158 null ] >>
endobj
2231 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 670.199 null ] >>
endobj
2232 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 659.24 null ] >>
endobj
2233 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 631.345 null ] >>
endobj
2234 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 620.386 null ] >>
endobj
2235 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 609.427 null ] >>
endobj
2236 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 598.468 null ] >>
endobj
2237 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 587.509 null ] >>
endobj
2238 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 576.55 null ] >>
endobj
2239 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 548.655 null ] >>
endobj
2240 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 537.696 null ] >>
endobj
2241 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 526.737 null ] >>
endobj
2242 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 515.778 null ] >>
endobj
2243 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 504.819 null ] >>
endobj
2244 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 493.86 null ] >>
endobj
2245 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 482.902 null ] >>
endobj
2246 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 471.943 null ] >>
endobj
2247 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 460.984 null ] >>
endobj
2248 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 433.088 null ] >>
endobj
2249 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 422.129 null ] >>
endobj
2250 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 411.171 null ] >>
endobj
2251 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 400.212 null ] >>
endobj
2252 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 389.253 null ] >>
endobj
2253 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 478.919 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 378.294 null ] >>
endobj
2254 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 467.96 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 367.335 null ] >>
+endobj
+257 0 obj
+<< /D [ 2219 0 R /XYZ 79.37 341.886 null ] >>
endobj
2255 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 457.001 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 309.088 null ] >>
endobj
2256 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 446.042 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 298.129 null ] >>
endobj
2257 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 435.084 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 287.171 null ] >>
endobj
2258 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 424.125 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 276.212 null ] >>
endobj
2259 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 397.228 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 265.253 null ] >>
endobj
2260 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 386.269 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 237.357 null ] >>
endobj
2261 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 375.31 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 226.398 null ] >>
endobj
2262 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 364.352 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 215.44 null ] >>
endobj
2263 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 353.393 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 204.481 null ] >>
endobj
2264 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 342.434 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 193.522 null ] >>
endobj
2265 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 331.475 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 182.563 null ] >>
endobj
2266 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 320.516 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 171.604 null ] >>
endobj
2267 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 309.557 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 160.645 null ] >>
endobj
2268 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 282.661 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 149.686 null ] >>
+endobj
+261 0 obj
+<< /D [ 2219 0 R /XYZ 79.37 124.237 null ] >>
endobj
2269 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 271.702 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 103.395 null ] >>
endobj
2270 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 260.743 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 92.436 null ] >>
endobj
2271 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 249.784 null ] >>
-endobj
-2272 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 238.825 null ] >>
+<< /D [ 2219 0 R /XYZ 81.145 81.477 null ] >>
endobj
-2273 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 227.866 null ] >>
+2218 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2274 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 216.907 null ] >>
+<< /Filter /FlateDecode /Length 2437 >>
+stream
+xÚÕËŽã6òÞ_áãìa9dŸ@oö¸½À"·tA’k6{Èÿ_çDR%™ôŒ <mSd©ÞO‰3uúï‰ûÿÿýrùxù|Sî$™³áôñû‹8qÿOœ,0-OF Ƶ8}üyúå•sœ£ã\¾s®/o¿}üç…`Ô盕'ËœÖhk8Bhf”é!Ië¡ Îá¹ø~¿ýS
+÷Àò ®å[Úá¯Iÿ[ø½Ýç횆t&œwB öbí–h«Xu‡OŠ3ÁäÓyŒO ™0ÐCBYpZè°=-ÊÒ¼¢öð:Gñ”Ú7ÂgòœÜ7-tLH¤änNo[Hûz‹Æãyõ+×tU‡ûAÚ-M†[ú(•¥X>z–J°Lxô)*í•R1TiŸJ½HvÕÌU •ª¹Q´.hǪóT
+
+_ƒjà˜á¶‡„‚pbª
+þe-РøvØWz׬Õ!ˆÅí·½ªõ6xt<ý|êä<ýàÙVÑoC¯rÞ¤[œ;dw Ú½®ŠWLx cÁmù4A
+Q¹¾tFæ=Ÿ‚‘ÂsÞrìqÐúoa83bs*¥.É=‚¶¯É˜ƒ+Mx‰®ŠcϮٽ ÜÕåœ?“VøØì|8¢”aõ†›üðô£ÞÈ@y3—
+z2‹:RõFÆAôPZL¢ž£6MzV
+f¥í!gÞ77Úñ–If™–J’Ëe¯†WX¾Œ0 «×ñzÝ­‰aÔ Sñu_ÎXäTd}IÀ¥&æàÂ!‹ÃZ[eaÌg73Lûº^@Ýk%¥<sìG¯«ž'$ ½
+¦ÕFøƒ»Ûf
+^O¡¯õʶOs샜Ø>*õ Ù¤t‡þA2eÄÊìl´ö Y|lûG±¼ôé_=˜±àÜœûá§óÝà¬Q·‡Rpž Y…‡SÈ*g°‰QHnIH*}§[Ú=<Ò¤Ýï•ËSÇêAHÙ¤ã×¢Úu¿o‹‰<¦!Ñ´-NˆAz}F²TlÔ¡t€žL¾¼5ý›üù7gý$3Á2åHf¶e
+3[@_;!)í“ò¤Z!º„“Míñ’/<—¤q[ò§Ÿþì ­Bi_hi"ÊÛ*¿¬a” ¾<<f«§Ý6¥¦:Ÿ[ð’µlêDç§w×Ú(ŠŸƒ­¡¢R- Îa|¾ì!B#³`é
++[¬•Vh{cEx­D¨r&‹£9SÜYDPºEÜal›v”|#¹â²Ô[aêQáy ØØtŒxK˜zL$*"¯‘¨_ë|nY©òª´R§/y%SjI›yÌÿrÑK<ÜÆG=;\Sg¨~æðr\7_µ!Ö/C²¡Ý
+ù¥–IDį+C‚õeÒr$ìI•Õ›-ja0'áv©¹²ý‰›®ï•ðZd‰²{J5A)ªb²b­0Õ³®+¦µJÕÞ`½s5“Ü&׌ÏD–öy9Ý>ïÛ?::V,àn²¾Ö8x¬FQy§3S!0>YJxœÁæiö8 £wñÚ7åÚwäÚ·ïú_ÑU·×/D•|«íþ{c÷ß»ÿnÛÈŽ–Š]8—YQr ó‘ópÿµˆ²´/ÊH P¯M6OÙ4ëòÒÂjaâ˜0Ó}G˜Ha±·w³]ᤀœØK–æºÑ-œK» ÚÆí8x8½Ò'É™3KZ ÕR»¾¼ü7ÿ=
+endstream
endobj
-261 0 obj
-<< /D [ 2225 0 R /XYZ 79.37 192.457 null ] >>
+2273 0 obj
+<< /Type /Page /Contents 2274 0 R /Resources 2272 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2275 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 160.326 null ] >>
+<< /D [ 2273 0 R /XYZ 78.37 808.885 null ] >>
endobj
2276 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 149.367 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 768.829 null ] >>
endobj
2277 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 138.408 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 757.87 null ] >>
endobj
2278 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 127.449 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 746.912 null ] >>
endobj
2279 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 116.49 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 735.953 null ] >>
endobj
2280 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 724.994 null ] >>
endobj
2281 0 obj
-<< /D [ 2225 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-2224 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2273 0 R /XYZ 81.145 714.035 null ] >>
endobj
-2284 0 obj
-<< /Filter /FlateDecode /Length 2605 >>
-stream
-xÚÍ[Ic·¾÷¯ÐÑ9˜Cw@i@µ¹¥}’\mçÿ ëq+.zzT{€ÀÖ´D‘õŠµ~U¤8Ó§ßN<üû—·ëçÛ·»ö'żNŸ¿¾‰ÿ‰“fÔÉÁ¸§Ïÿžþyæ\çÒÅ¿Ö¿ÿûó¯o‰RßîNóÆHGéa˜Õ¶§Šs(™çâ{øû>‡÷ZÊ:|ÇÏñ „á'Üj··Žq † =%0«œHÏ„’3NÌõ'R3íLOÉð@ ÷s²SÇÞÖ ñYº¼Cyª4ÇGÙn2¾•ËûÇD`x¶¯ËÚ¾ZJÈîË~5ÚDÞqoÈ?òmü¸ÇƆ i ’¼Â<¸Öyøå÷ø=Žáw¸incyÝeg×I‘ö±Ùxæ–­YX g²–}Ïßs0PºEÿÛ^"¾Ðÿ²üL’ŽÙdo¨G]d;J>š÷gËBNËÞgV¸O½§#¸æ™uû5æ†1S±ºµ ÑR»È‰ñšIn§Î¤qÂ-“
-zJ‰“ow€“« <Œ¬²žI{2Æ2î}ºõÉù®IðÑÔ‚ð9
->ª¯à_ô…òþþþ³tò\=D]ãK|OÖrG¯ŠHyfZ&‹ˆÔ!yË<¸žš~ë¦ ~69ÔDÆ·ïÑH-¾V™—ŽYðSK“KÌ·„ Å·-Ö\k|D¤ñ°UáÿŒ,³SUK
-D`µÕøML$ö²¸ Àªxª~¹”¤:B5 ™¦æ@¬XkŽåRN ,v§àã(Š
-øÕr×S’bÄ4Iþ¤ › ø¼a
-àœë$ªó[M([‚²w8ßBä\ä‘X2Æý`Ó'~‹P/Ñ–H#m6¡À$"²[̇q1Í‘ÈV¹Þ“X Óê•°Ÿó$n‰öœRnÍU9Ï´h—*ý•P/Kyn»y9nÆob·„~’÷(®82ƒ{ †¸GPGñS˜¿k'Â2
-?Ó™\kgu”^.,Hf§aà`E–š-P”¥ÔãT¡˜:ÀP¥¹=Þ ¡Ÿ~ÿSL‹ÎÎ[÷"¤CÑ.ùsZ"ÂÓ5ÁÍ‚ªš5ÿüG~›û¦džw¼ý'- ›‚ùP\ÚmK§¤GO.åT
-.±ºÕy„¢¦ ùÄÑ ¶O ¾±¥Kq­ z™>G{x—â\õ]H~^JH­˜®‡7t0ì"ŽD[K˜ ÊduŽGÖ».¸´ ´B5UÉ9)䳓ømnõ™Ï Z¼Žë~7 ^ò¶9Áœr=å$ûf¢Vs&úIð=—j*å<צ—E^p{u-Œê÷¾"÷Í‚,‘ëc=ˬ§¬ëk$®ÌäKbH=¨9±­€»;Ä)î÷g¢¥´ûzƒžÁšB´7Á8Ú˜`$¿ót×T”ùøìÂác %ukœ&®=;­,pŽ¼’Ö‘ì™ÙG^tûجÜj ’‰ÙjRÚ¹FlŒiqE®JÛ¯Ó»äÌh3¯gÆbíI0+Î2S²6™Ê¨d9*YæÂÖ™¹ñQJ?ZzÝèÈxb?yÇTÈJ½@¶o$„8cÅ@eµ ”"|%§ÀhìoîårJè§ßÿÈKÎͺ¿ýryšœ4í¢˜œ¶ÌC†ŸÂ÷µcæ–Ž‚hÐû»ï—H¨èF·ws*œoÎoÙ°K±Z\èH‘õ>šÆfÓþ| ƒ—ŒÌtr°á›tÒúÁÛW÷µK</>û9< ƒØÀ ž¥¶Yjè©rq ¨"°n«³Ÿçy¦d:R§„z±Ì’¸Ÿ^:pæA/­Þ8^ç–‹n@®Eùå+ €k¾ªU¾Þ ÒR{¦|/VØo^KãX°Û~8»t6ä=<swJ4¬ÒfžÇÆDkܻˊ²²(è£5‘弚£“ö-ýáFcöè–Ð×zKø^“ým´“Ú™x¡Ó
-iQŒ‡­¡‚ÚRŒ‰œOè½f°”·|§¦=ÍÝúDUÖ_¯mÉÒ?¸™J®g™œô$mJäÆ@N¡úƒ>'óS÷c¡ô3W~2Äܤôs««£c{—–ø:иA¯åVaÑø@q…iÖvƒÓšÌ^S¹çÝ\>*xfb¥x…­
-endstream
+2282 0 obj
+<< /D [ 2273 0 R /XYZ 81.145 703.076 null ] >>
endobj
2283 0 obj
-<< /Type /Page /Contents 2284 0 R /Resources 2282 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2273 0 R /XYZ 81.145 692.117 null ] >>
+endobj
+2284 0 obj
+<< /D [ 2273 0 R /XYZ 81.145 681.158 null ] >>
endobj
2285 0 obj
-<< /D [ 2283 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 670.199 null ] >>
endobj
2286 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 630.349 null ] >>
endobj
2287 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 619.39 null ] >>
endobj
2288 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 608.431 null ] >>
endobj
2289 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 597.472 null ] >>
endobj
2290 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 586.513 null ] >>
endobj
2291 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 575.554 null ] >>
endobj
2292 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 703.076 null ] >>
-endobj
-265 0 obj
-<< /D [ 2283 0 R /XYZ 79.37 678.299 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 564.595 null ] >>
endobj
2293 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 657.456 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 553.636 null ] >>
endobj
2294 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 646.497 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 542.677 null ] >>
endobj
2295 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 635.539 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 528.73 null ] >>
endobj
2296 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 624.58 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 517.771 null ] >>
endobj
2297 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 613.621 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 506.812 null ] >>
endobj
2298 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 602.662 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 495.853 null ] >>
endobj
2299 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 591.703 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 484.894 null ] >>
endobj
2300 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 580.744 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 473.935 null ] >>
endobj
2301 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 569.785 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 462.976 null ] >>
endobj
2302 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 558.826 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 452.017 null ] >>
endobj
2303 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 547.867 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 441.058 null ] >>
endobj
2304 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 536.908 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 430.1 null ] >>
endobj
2305 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 525.95 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 419.141 null ] >>
endobj
2306 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 486.323 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 408.182 null ] >>
endobj
2307 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 475.364 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 397.223 null ] >>
endobj
2308 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 464.405 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 386.264 null ] >>
endobj
2309 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 453.446 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 375.305 null ] >>
endobj
-2310 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 442.487 null ] >>
+265 0 obj
+<< /D [ 2273 0 R /XYZ 79.37 348.359 null ] >>
endobj
2311 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 431.528 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 274.219 null ] >>
endobj
2312 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 420.569 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 263.26 null ] >>
endobj
-269 0 obj
-<< /D [ 2283 0 R /XYZ 79.37 396.175 null ] >>
+2313 0 obj
+<< /D [ 2273 0 R /XYZ 81.145 252.301 null ] >>
endobj
2314 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 322.708 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 236.361 null ] >>
endobj
2315 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 311.749 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 225.402 null ] >>
endobj
2316 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 300.79 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 214.443 null ] >>
+endobj
+269 0 obj
+<< /D [ 2273 0 R /XYZ 79.37 175.679 null ] >>
endobj
2317 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 258.734 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 121.32 null ] >>
endobj
2318 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 247.776 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 110.361 null ] >>
endobj
2319 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 236.817 null ] >>
-endobj
-2320 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 225.858 null ] >>
+<< /D [ 2273 0 R /XYZ 81.145 99.402 null ] >>
endobj
-2321 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 214.899 null ] >>
+2272 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F88 643 0 R /F87 2310 0 R /F111 644 0 R /F64 333 0 R /F22 367 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2322 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 203.94 null ] >>
+<< /Filter /FlateDecode /Length 3359 >>
+stream
+xÚå\I» ¾ûWô°"‘ZÁ
+6ÄÀ³ <Ã3Xò]ñ^£Æ]ØpîïJd‰M¾tÝûÊ‘=¥BæÔ†§à?hªî\çw'ð÷lœ‘x²tLpM=9ÑxÿŽÒ¼%é·r¤yQÚ¬«èM6|ÊUÀ ·~ †­¥Ia¯Ô<NšÌ„}·Õl0ÜÕÝtI•v§ŽÌÀ½©#|ô#CÐOLšm¢|â) ¡°žã^®DO¤§OzKBVòô·D„b ðž# ¾UÁÄS'ÏjŠ‹ëÚªL<4;>'¶ö‘E¨êKåéquYâ܈ץ_ƒœé¾çÃèv'G¹|7j ²®DY€RÍž—Ö†ž® @/Ž¢âç,ÊÂì|_ô,¥²qäÌ\RKRÉêÔͣǡ†w‘–'Œ„ïUkj”:èDjª“¸$vô~îÞaØ{ûëºÎTØÿü¿x­)w“ÌYÐkÍój4€ÌX[5”àõ¥?ÂßD+ï¤>äÊ›õÚ×h{:Î$å„bÌM®`
+˜ßšè“}©¤q’ÞôMfìÔ8ïŠ`{ȸf\læ*غì:øÕâÔN]ɇ6£7ú î’¸ë³&Óa|è÷ç8¶B³¦D%d
+y¶²x_xë)–½1?Ș
+O‡“ô{úÖ€ “Ô>EµšRØ–|ÍN²”îd6‰Ó+Û§åLýÌ#ùë —P’‰ Ó8ÿ˜vÛLªø™b¨8·j½Ý5yÚe¥ãt±K{
+s£ß“ÇÃѦͲtB¿wý>Î 5.Kïù»í7
+£̤ô?dÂMy«ÉkÕI¬²É ù°ŒËUœÃ§"ü&úX<AA>Ám©è¼ôÐÍ…=ÅþÚ£ìdeTÑmÛ5‹.GM¹,G I%S¾Sý¶KÒ®ó‘0ñ!@ænIÛ&y($Š›RFÿ¶äAqçÿà =*XB#¡Ï'ócˆ=ò"x–.`K9_ß—’Bé<y˜Iú+[
+͸R«}àqM×`^׺5Ì€šjýcÅé¡¥”EjôÙNF¬û|ÊâÑ9¤:9ÑLø[ä©8wv§ÞtåôD{¬È¬ØH<EÑ;iˆð‰”@Jaq&®6…vëF‘¤—ë°˜ïhñ­ÍZ»lg·Now@_ÏFA º+UÕ³ûºÑ<Ç…’%.§ŽïeR‰!‡ß뀈›J+Ë·²R:í/#¶€ O[òUNMîÐJ­ t «™lºå=0ï^–
+2}fG­ZPKåcÙf›ÁO,;Ž‹s› ­e‹ÎôTeÏϪÊB­óì‹: C44(f‚\= +‚Œ”š$Ä ŠþMÔÿ"·Ò2ã#/åÖ®ž[BKI ¢d>fÎ’@y¸¦Ñ´{¢oïÑ•f©¹¥_akÍså£úPå4oäð§ö&S\S9V»—dÖÁF;@$q¶ùÒ`1¥¥õ³4N÷­ ÊaË@è¦V~dž1P1ÐWpÛ¸wG¯>ª#]íqï*Ìñêæ ¿‰RPS4bÅuwö»e‡x6$&g]ô>Û`R ­€}«Õ,Û‘V”Û¦i»ÉÃ…W²ä’r
+ÌiCÎÁÒÙÇÞ9X¦NÎóUÒRÖ„*ðCÖÎ^-! .}Ÿ•Ó‡>|œeJÚ¾o"îÇüýJ‚8w çc¾O '}E½5ñ³·Äd»ó‡0m˜ö—¨ÜæÔ}ÁX&@Ñ'§}Ð`4kµÂ²¨þ·­ â²\í†ÛÝA¬W®s„!#ÆÔykÙcM f>rxÖE’{«0§ðFô ö«é>'5*d‚e𸴘EúP\\¾7QÃXo’¥VSØ@³u¯€ô'Â2ï#…hů¼; } [<ñ:­'G-‡¯û½p ʧœzš¬FBŸ­>\pé¿JuÂÇWf8ÎT¸x I(ý–ê€&RN¹»vð'3ëA¡tñm¶Gzg¬Ôc7ÿcö¦ØÿP­ãŒû1GÙ¯„O²­žYîb…²Ô¥®J²¿yõlÁLyµk¼Ž”F_ó·p¥âÝrhÿº„ÓÌj;]Aj%DBKUaünææݾÜ]‡ ‡‡ÖÒ›@):×Bi_èð.¶¥Æn‰’8w Ÿ|Û1ÅNÝ?9ukTéyÉìÒÝš!ÂØCWí±&o^ Þ,¯b(r†4ˆÛ«Ö„ûÉ«-4!4÷ɾèmÒ·Íö OC;(}̈G¯d!¼B×qh»îñaó‹ï¸ i˜2óe»ô*0!„búÖLA7²ÆÜÆ*4­)4E¦×£’ísܶöÊHg.\ ©5)|½À <À3‰/–Ú‹Ä#¡Xe3ýŽHñEløš¼Û¥î¾C•©‰g¯ ù(«vUt!=.Ü[«Õº=!Ô¿È¿¼å‡£t³mc L]Ì
+ì%”NØŸâ+Š6¯¢óðŽ–2”Θ~Ÿó,¯+<rRSI?–$ õGQ™Û·Ê¹äG1aOKý뉗´³ù&~nyyá¿ð MÏ´xug-Ž„àktrXç eb¥o>Ëtm?‹þ‘ÕÏ_ßþ ä[È^
+endstream
+endobj
+2321 0 obj
+<< /Type /Page /Contents 2322 0 R /Resources 2320 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2323 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 2321 0 R /XYZ 78.37 808.885 null ] >>
endobj
2324 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 731.557 null ] >>
endobj
2325 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 720.598 null ] >>
endobj
2326 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 709.639 null ] >>
endobj
2327 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 624.484 null ] >>
endobj
2328 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 613.525 null ] >>
endobj
2329 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 602.566 null ] >>
endobj
2330 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 517.412 null ] >>
endobj
2331 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 506.453 null ] >>
endobj
2332 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 495.494 null ] >>
endobj
2333 0 obj
-<< /D [ 2283 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-2282 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F88 635 0 R /F87 2313 0 R /F111 636 0 R /F64 333 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2321 0 R /XYZ 81.145 422.294 null ] >>
endobj
-2336 0 obj
-<< /Filter /FlateDecode /Length 3184 >>
-stream
-xÚå\ÉŽ$¹ ½÷Wä´Z"µ…*;' ø\7ÃWûäÿ¿šÚ—bÉêiŒa j2#BAq“øH1›3uû÷ÓÿÿöíþùíÇS¹›dÎ
-„Û翾‰§ÿÄÍÓòf´`\‹Ûçnÿxã\çh㟖ïÿüüû7O+o–9­Ñ¶tœaì†yÿ‚sú
-’þhzÚwÎ%}ÊÝÓôI×â'}§OºäJÄïáóßùhÄ:Iq&8ÌdB¼$SOHÚÊ gZÚ÷ï
-”Ÿ‚ăG¾Ò¢»z¶Wð1^i·y~ÏW(ó·0·¬JTvœu6¢çd:ây4¢çx5¢—bIç~Õ”è˜83¥üã’){BkSa \u†Áûü¾÷bíæÏ
-\‚Òà2Žcrz¯—ñÖ \‚RM$ãVà2ŽÁe¥]þÍ”Ý8:œ(cGYÇë¼zô
-wûÄ!ܪ
-©å¿Ö#IÕl5ñ½àœÃ{u¢ešÙ˜Û(xûw…!OX/‚õA¤Ìzñü˜€ÝÖLâ[ »^¸¹­R"£±Ù•7óMìi43ªORz`x’稳L!v£‘ÌPfò^ŸRôh¾Tt—QŠb¸µ¾Û¨ îÚjY¦ýòÐßÓ»gÆ´À'®0½º'6rd°etVì–¼:]» 6xò,¦_®U±ËŸŒ;œ;@\/ò%%2tÉýr2ÎLBD2Ï1à\WKFk°öIŽkÉØúÍ&¦¬÷äø§†§Ï’ˆ=j¨ ÑújþD™³ÒÍ`&^ª~„¾š? üù“"plçÒÛKéSOèÕìé7ç
-H"ÓC]2~OèRŽ¡80Ž0Ë1ð«9†%Ä‹ã>ŠÁ}WÀ(0o¶…’Ê¡Oyã7™Så¼)­p9p͸ØÌ•‘uŽ9#ì+¥©EUI3z£_ï.‘»6g2 ÂG€6:‡±È€<™3E*>OH³ååÀÛ²[K1GÆ4~'_Ê<íæK’"úÖ€Ò%©)Aµz¤°-øšEªŸ$6{§—Ž3nÌSG#ÓHþzº%”d‚dæïSÀ&ÈÄzïž)ºzs­ÕÛ¥ÉcŒ%ÆÅ.íIøÓÔ— þüi€; êK¹½²á÷ýÑ2µéUÞÑgþ`,°.ý
-±á:Üêã¹›‹µñ
-ºy:f‰ëÊÛÅpBè¯[ï'æËã[ÒÓÝ?Y"ÐôÐÊíð’{&`\ŠáùiÕ
-ÿ]þ(Ü”·’º„›L€ó¸TÃÙ=>qŠ¶Võqñü…“#–ºÙq¢°‡Ø"öÄH–GeÝÖ¨™uÙkÊ%9ò–”óÔà;Åo›T ®á2ß°L|ˆ¶rMʶI2‰ì¦ž”Ñ¿,u ‹³`‰ z¼Ôx5úzê0?„X!Á³2WÓÜ/å¥ãäa&èßyØ’i†•j·Ý9ûºóºÖ…%M¼®µS „.¥,¾*!¥™‹X÷õ”…sHup,B[=ÞÊM‰^ºÖtáô
-RÔÚ©¾ì©z/†(Å”/B^Á‘9iG*Iù¥A¨ò ŽE–EOA„÷VSùé~ŸV)YCÛ9 »Œvj™ó>¤Í¡iÜ}ðDy•cݨÁ ‘ -½i`¤Ðïz àwc¯Ô¬rq¡/sM äÕöåP*$]`9ÓF͹։5úr: Ö©@»FFû'œ6PVÈŒÐ3]ìÖ(-ÑEî¸eF™)wç:ŽÆÛRZ%d*ý„&ü¼FÎZµ-•e«l:?°l?.Ìm6´®ZÈg³3<>Ë:(ÕγßÔI飛Jb¯IÒSª’ ~-`‚.rk³Sµ_;¸êé\JÉs˜C=K¥€k=öN´Í=ºÐÌ5·xåCkš+Ôû*§yŽþµ7é˜âz”ãjﲑÌRú1jcD"·>Ì׺¦´cý,ŽÓmcC¥²Û0à{©Õ†™fôT ´Üý&NÎHêu¤‹=îM…9ÜÝãWQ2j
-FL ¸D7¬Ñ-9ij"19ë¡iýòhãdÛh5Ëv¤eÁ¶¥@Ú¦=r·FAJ–\Ž”ŸIš¾Œ.¡Tö+Šv#Õî
-ÃòG÷Ëû¨ õæ­°Âm{¢†¾èàe‹Ý¦°Á%
-f‹_ÁÐ ËL2Ñbys$úèâ|ïz‚ ÔC®ã_ü½p")̓š§—N$B_-Aœðê¿J‰BhÉÀÍÓÀk§š¥_R¢´zæµ®“‡9³ìzB'Îöˆ?ËåÁÐÎÿ˜ýTì¨ÜqÄ}Ÿ¤¿ìUÚí¿Ñ‚§‹”¹¸0PjÊ$ëµp‘W¤™
-endstream
+2334 0 obj
+<< /D [ 2321 0 R /XYZ 81.145 411.335 null ] >>
endobj
2335 0 obj
-<< /Type /Page /Contents 2336 0 R /Resources 2334 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2321 0 R /XYZ 81.145 400.376 null ] >>
+endobj
+2336 0 obj
+<< /D [ 2321 0 R /XYZ 81.145 389.417 null ] >>
endobj
2337 0 obj
-<< /D [ 2335 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 378.458 null ] >>
endobj
2338 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 367.5 null ] >>
endobj
2339 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 356.541 null ] >>
endobj
2340 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 259.431 null ] >>
endobj
2341 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 248.472 null ] >>
endobj
2342 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 669.203 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 237.513 null ] >>
endobj
2343 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 658.244 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 226.554 null ] >>
endobj
2344 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 647.285 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 215.595 null ] >>
endobj
2345 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 204.636 null ] >>
endobj
2346 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 547.659 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 155.347 null ] >>
endobj
2347 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 536.7 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 144.388 null ] >>
endobj
2348 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 133.429 null ] >>
endobj
2349 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 122.47 null ] >>
endobj
2350 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 111.511 null ] >>
endobj
2351 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 100.552 null ] >>
endobj
2352 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 89.593 null ] >>
endobj
2353 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 327.484 null ] >>
-endobj
-2354 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 2321 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2355 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 305.567 null ] >>
+2320 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F83 412 0 R /F81 377 0 R /F65 335 0 R /F59 346 0 R /F84 425 0 R /F85 439 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2356 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 294.608 null ] >>
+<< /Filter /FlateDecode /Length 2682 >>
+stream
+xÚ½[ÉŽ#9½×WøJ-‘ZDv:£9çmÐמÓüÿu´ï¡ ¹ºæà*[!1ÈGŠ›”ôöŸ½ýùãñõド›!F‚ä·¯¿0û€ÞØM‚ê¦$#T²Û×oÿ~£TjJñ°xÿÉ)Ø®(hG˜ýÜßÿúú—¥¨øŒ"C LÊž¦[)RxPÊ>,5îèÛßwK]‡ïnœ?#õ9¿Ì Q {êÊ®æ(q¸|ÿ ú- ‚N´g`ÿúH£~é3-“¦Gñãè„õøDˆ4’ÞRÓuO¤YÓvÉ ÿœkGO°ø‹Àm9²ã¼žårw&À aT&@%GÛà D ¨úQ%Óˆ¤á•<,
+Oi‚Õ>{ä™´aø,ÐàNøŒëŠ€n6Åù7úUö·°¤„ö"R"Ü°ÿþi-J˜'F[­-J±&¦P&t_8°í{¤pÿZq3ýqh~ÓÖ2%êÆ2©"È¡§´a÷?·‚ïòœ0cf¼Kqw&‰j „‰'!ò7Ó½9ýí¬"È‚¢7ùÆFù35¹++C|**ßµ!t"iæ’—§ˆ $p‰áû¬xÙĉͦöŒ{@µ”àÿƒÅž´Ò0‚
+5?+f©ª¿u•\ Lå -0µ¯¦wã¯`ŠL
+q7ûêy±y‰"CQì#Õt· óeT„Í0OÁ­eÙƒ"t¨¿#Tx·/Ã7¢¤Ï 05ÜLÇ[ª§ËìIOç:Ä\‚Ýkfñ^Æ×áÌŽò£Ô[KzÙù8+âU˜v]–>ž)ñ
+íÙºÉû6aŒ(9µÔ½L±#t£ïðb%ëŸV ÏêÛ÷N„£$š•@ttšGpU_Îítk`†þXÀ‘5M¢È„ÆisPj¢…îÙh5÷M{ÑzA…=…À X~ä£T
+']3êjï Þ*i»7Ñ=8bÎUV¦'a÷/»°ˆ¶n4ƒ w\ŠœÚ<ŠOÄ_¾‹[¥e¿J¯¡Fk±†©Ýw kïÊô«>îëwI$@͹Z1f^®Ìñ­è©h15Šã*Uë0D¤%›h
+|n†3eWÖFšUÖ’MD+xLšµ8Ñ•Û~ÞП­, BΙg”ý—\Dé1G(å|‡MyÏBØcÙï6š²[U’t Â3n{“ûÇëÍæyï½cfþ/j|!—àŒZ3åS}ßòÐ-¡sì!uÁ““ì½ôyЦÎÏ]¦Zùñæ™~œ?»ãù³ûù³Cž>cVàóuçëèùû˜X¼Ï©k».Ec Vˆ™Ê¯v ªÄ@©áí.Nù\=3 }.ôr‡…>4±Ð˱X÷X¬3¯èE[¨œêEï饣ÔÚÌB^·cÏžÝùBg«gú,¬ÿ´1dê–D1â|©¬äz:Ÿï¸±ŽÐN¾[IOŸNóòs·W ;ɹ׉©Kl˜šW·Nª[5V·Ëì“cúwM³Ï“£s›¿Ú€8P€*¾=K)çxæ‘Z¡
+L:ÂÊšRxö~7ÇïÝh/¯#³ö§æ®·ÜOKh‘E]Û4›n¨ô¯¹·ÒÝUWÜ$Xå ´VõÄ4X{&äÍ:4뎶µ3*Kg¦9¡L÷m83[oÙÜg À~Ý—IA„‚,Q¼u.¡“?…OÕÄMó²"e™_E½—j.¹xÃx&ÏWï,ûž)›¡6”Ö÷v|[_ Ø[á«ÐãYQs48R¢'hìîP°Èé4¡ØkBw„;”½¸Cg'9ŸWé¹¹“æÞ–·È}Üå^î”´œ¶A}c
+Ù‘ÇÛRï¹rîÝx
+Ae§Â¶x‚þþ[4ÙRÒŸ8s9Pè·NlRõ¸K:ýnƒ÷½–þ9³–*z7Zy.Q5΃µÖAz¾ÉgÒÕ3r‡EO’°I‚0y?àg—ZIS§GR÷žÞ?WÏÆcRåGýú‘ÜYÊ¿¢+‰#}¡ží©@´Å¥?GM4š^.ÖΚÛ8"‡U®ÇeÐ]ºèø†Ï„Joõ~´¹õÙîOÆÑ”…†e²ÕêžÌ,, –[©”<× – n=ø`0§ë:7É™)2i]}9h<É,-ÏMÃ:º£¨.ãÍTeÚíl×±¿ªs]*ÝÈ Ž*û§Å±…ù.vG~Ž¤¿Òþˇ¯PrÎû–.>
+Ã1ðÚ©0;È$ã¶Ìm×|hRké$Jg™+ZUÉ%{nâZœ˜0îO!ê.h¨·œ~–cõVU}7Ü
+&~¦hnÔÒÒª¦áãowCª"ˆS“”Îh¬j€MóNMÖ>5PªÏg3ÄÇÚãó'±ü#Á\î}—²
+$T €XëŠîͨ“ɽGpL¿j W Èwꀣ¨£^W”ã“ö#Õûû£<?ݲï¹=•kÔ)löBë£`hÝߍDÊï “f&üÀ°¿0ò+áÜå2ì9ÿ.<‚$ÊìV9˧´1ðW§j#mc:ß¨× DÄÚC«dA¿ˆp.<£Eô’ŸŠüåÊ>Áuò˜ìãLµ…þN×&V¤©EW]KýÚþu²íhyN&¥?'ëxØt¤Ì¸C#詜ś¶Ë㜓װé‹ÿî˜mÇ^™’óz·ty©gäÔãõ@þ¹{‹§#´¨HçžýÕ›«L¢ÕŒÿ‹WdÒ…Û–Ðiý;徫w7%°Ù»ïæ9.^OaÖÁ1%ñý•ÙÍÈé¾xs¯œ¯T÷í¿ë¨•»š…î®Õîe †6Eïz´/ÞÐFA„–%³É÷‹h_Ôå&*
+endstream
+endobj
+2355 0 obj
+<< /Type /Page /Contents 2356 0 R /Resources 2354 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2357 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 2355 0 R /XYZ 78.37 808.885 null ] >>
endobj
2358 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 183.026 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 742.926 null ] >>
endobj
2359 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 172.067 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 731.968 null ] >>
endobj
2360 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 161.108 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 721.009 null ] >>
endobj
2361 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 150.149 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 710.05 null ] >>
endobj
2362 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 139.19 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 699.091 null ] >>
endobj
2363 0 obj
-<< /D [ 2335 0 R /XYZ 81.145 128.232 null ] >>
-endobj
-2334 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F81 377 0 R /F65 335 0 R /F85 437 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2355 0 R /XYZ 81.145 683.151 null ] >>
endobj
-2366 0 obj
-<< /Filter /FlateDecode /Length 2583 >>
-stream
-xÚÍ[Én#=¾÷SøZ#‰Ôì8þ9ç6˜ëÌiÞÿ:Ú¨­TŠ•t7þCâ²IQÔGRæ—ÿ^ø寷ÿxuqÌi©ñòñŸÂwð‹¸ÇÀ\ŒŒkqùøßå_/œkË9<üŸ|ý Üù0œ+Á9Úô§Ä«4¾ÝHÿ=üÝý˜Ûë¿?þéßdaö&‚¡Rã»"5 ïj(ÌyÚ0¡ìHAÞ8ožkž_¥}!î}[‘ ô™÷-
-<ÿºöDùîÔ(™H)QÔ÷$%ê–j?Ì :hfäÞÈoß™tU¾™<ƾZù’86Ptù¯ò)|ý™„#Á’*uæäc7)f_¨Èh\ì2Êëã* „Ž ®Û5IúL2DýКðô™ =Iú愹afÙ#©·Ñ´:‹½ã{ƒ hè ß/íå(eâL…-ãÿÿå­P¹ 2gÈÖ
-­dÞ, ¨h‹Y^ì ìoSúšhåÍç÷^¬·f ¶¥ã sÒŽ„@Œ‹žÌGIz‘ž”'Uz )+Ѩó”ÞO"ÎÍÄ·%^Oh.žÿ~Ml‡çdÌ^dLâTb»%qG'˜Â¦–`†d‚ʆ½E°ºSý>s­ˆâѪ'îã¸kwç’I+¦¦¬¶$ï U×s)í)§LáSL n )}ºÁ6ù´œž› <ǧÐÌ(s 4±ö_k>Û;DkÇ«™¬ø¾'kOIòbÄf"u}*¼#_y…3=¤còIýžÄû‘—}=*Ëõ¨Gô·§Çž’ü3ZYa´„4S\Îð$r™Oñ€¿Ân„k¦hpŠú@2¡õHsã$YbJÌ{ì‘ú×-òMT:x I­óÒ´zæþ^üÜ:;Sψñzº„ñV´1cÆ<sÊu2ŒüM< )·çÈ·c;>Ëu„Shz@˜Õ' ‡'Ì ŒM-„1MJ½¼‹4hd‹êc E*-zŒ(ÐÍ惬†Ñù¬JàØ}ja˜:¨°Ç•Ü;¿zJ_BP›¼sÍŽGZ`]ßöÜSOèïw¢)§˜>BŸ(êuKÔRã‰ÿ®§×¦¦,2sÄcAS°wf ”þà™µ!­ñ§‚†©´[ÁÀ@¨²½Ë2ÌÊ)C{} tæMðZ=gÈgüáXL¡föÄá–¸=¡ß¥¾ö¨©
-ûEšÅÜxGs„-uô„¾¡)Ù»9Š}6È'Ü@iÛ&7ùöñ¹³¦å[«€¼·Ñ÷Hé·o+Ûß[—n&ÿ³È„äï)µQ\L5‡Ááaú#ss÷éUÙüØ€¹v-d|º°›¸¥'ô½è4÷ïc³õÿñ)ZÁ„SEî¡¢Ò©…¨ÎVL\û/so8JθßD*¥ß‰T~éGå˜k§ØB/¡½¬S
-c¢Ø½‰JÖù›L絡jrár
-¨ï))™š5LHÛ’ˆGïp+X6ñæßÞù'ÁµšN­4îÔÌxëN1ÿ|®bº¢àÇÚÙIá#»Q |#׫@ŸUŒ«QÞ2´ÁÃ{w8¡IòëY5nœµVV¯ŽÏC>êb´óêÒ`öα¥yÿXï(ãé^ýÈ}뢤ó8Té ræjR+`Ð\K~ÿøñg+=
-endstream
+2364 0 obj
+<< /D [ 2355 0 R /XYZ 81.145 672.192 null ] >>
endobj
2365 0 obj
-<< /Type /Page /Contents 2366 0 R /Resources 2364 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2355 0 R /XYZ 81.145 661.233 null ] >>
+endobj
+2366 0 obj
+<< /D [ 2355 0 R /XYZ 81.145 650.274 null ] >>
endobj
2367 0 obj
-<< /D [ 2365 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 639.315 null ] >>
endobj
2368 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 628.356 null ] >>
endobj
2369 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 617.397 null ] >>
endobj
2370 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 606.438 null ] >>
endobj
2371 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 595.479 null ] >>
endobj
2372 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 584.52 null ] >>
endobj
2373 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 525.29 null ] >>
endobj
2374 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 2355 0 R /XYZ 79.37 488.622 null ] >>
endobj
2375 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 470.488 null ] >>
endobj
2376 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 625.367 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 459.529 null ] >>
endobj
2377 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 614.408 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 418.682 null ] >>
endobj
2378 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 603.45 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 407.723 null ] >>
endobj
2379 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 592.491 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 396.764 null ] >>
endobj
2380 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 581.532 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 385.805 null ] >>
endobj
2381 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 565.591 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 374.847 null ] >>
endobj
2382 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 554.633 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 322.045 null ] >>
endobj
2383 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 543.674 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 287.175 null ] >>
endobj
2384 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 532.715 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 174.597 null ] >>
endobj
2385 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 521.756 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 163.639 null ] >>
endobj
2386 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 510.797 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 152.68 null ] >>
endobj
2387 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 499.838 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 141.721 null ] >>
endobj
2388 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 488.879 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 130.762 null ] >>
endobj
2389 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 477.92 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 119.803 null ] >>
endobj
2390 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 466.961 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 108.844 null ] >>
endobj
2391 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 407.731 null ] >>
+<< /D [ 2355 0 R /XYZ 81.145 97.885 null ] >>
endobj
-2392 0 obj
-<< /D [ 2365 0 R /XYZ 79.37 371.063 null ] >>
-endobj
-2393 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 352.929 null ] >>
+2354 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F83 412 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2394 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 341.97 null ] >>
+<< /Filter /FlateDecode /Length 2478 >>
+stream
+xÚí[ËŽ#» ÝÏWøZ#QÔ h4ÐŽÛÈzvA¶É*ÿ¿½¤^%©äê’oO‚²è±]%Q$ER‡¤F^þ}‘—?~\ýøyWæD°`ñòë_?½uqAhwqV iÕå×.ÿx•Ò©7¯éSÃÛ Ê@߬ä_RÂUJõ7)Ñó_}èí=½±á퟿þNë9œ­§ÐŠà͸¢A¢‰’QôýFŸ´è´®¾¦÷üÜ~¤g¶á‡ç·i幤€F€ŽÂQ¸² Öî Û…½DõivµÑB©)¿i3ŠòÑÑ“¿©Û‘9âqEi¬@[ç0Ì/([˳ ¾½€Ý„a64]É×"î¸ûY Á²0%maí[¤Ï :Y:´©8?R™YʧԬ¬ÚŽ œ´
+å­pzÇ^»ûO²:‰j¤l|œ%…aϦÿ
+&\|Jih)xDÒi2zçê|V».Û¤N´rŒøy÷xñĉ%:Á‰
+¥Æ8U•–¥#ŽÓwþŒNÀ1›Vú ²Fn{•s¿ì¡ºBÝ–oêcï,ôvQ36z¦½
+ƒáiйÇïjÿøZ… #Ç6¯Âª‰›+˜M~×öÿ.>^µ
+×uÎ@ùu“¬hòçà1„GhÜW4Î’äУ¡ =EÚwÆ
+¤0zž-…Bç²×¯P˜}U’Z»z5Zè#ÂÜT)Ыœ Ÿ
+{œ·©à餪WÛ7¿>¸lxÝÖåÜ(b˜;¿ñ¯[®R1EÅz;ý ´éMªã©›žÙ2à¡œ4ƒÒô¾„Ù¥Bƒûnel ‰™ÞÛõüÇ
+œ²Í­óôD»±
+ß©£Ô•ý¨|xϳ¯ÙPoM üxhÚ‡iQÂÁ¸PÉlÚªØÌ:,”³)åZ”¹c›GøцⓣXŸFpÌ—S]–fû;úi|õÙø+Ò†2³þ'‚l}xx~yžÃÎW”›Êyè+Ê·±c¢©ÏcG¥bêÿF)úhPE÷‡ý5R †6NïóÈzjÉ,K÷öaÉÍ–ê Uã4÷hO|ÙÝä#‡u¡}åù ¥¹åKxrX ³5§læ¾+nÑ«hìè¦Y=qd¢wëb´ñ¹œFÇŠQ¯Íߤƒ½Ž»¦1¬Ú(veü¹rÈ:5òµ\tP|-oŸ ¾¯vT{:‘ù'¡¼ îç¬i×¥é»[™aïIû+"»„¼¾|âJœâK†VÍô»øFJzŸ«p…3ž¦=·Ì/_?”S{8{Ý ¥€°£¤U“e-òÄ·QOy:yÙÉ¡@ï(™ENçqÆÈÙû>ÜJ¢G¡[êÎÚªö~°»²+­¹'®|' ÌT"¿$Ñ@(,ÿ7á­n±Yâ£'´àÿ‡ "Ú/k,"¸Zfsýâã×?þ
+endstream
+endobj
+2393 0 obj
+<< /Type /Page /Contents 2394 0 R /Resources 2392 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2395 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 301.123 null ] >>
+<< /D [ 2393 0 R /XYZ 78.37 808.885 null ] >>
endobj
2396 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 290.164 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 743.045 null ] >>
endobj
2397 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 279.205 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 732.086 null ] >>
endobj
2398 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 268.246 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 721.127 null ] >>
endobj
2399 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 257.287 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 710.168 null ] >>
endobj
2400 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 204.485 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 699.21 null ] >>
endobj
2401 0 obj
-<< /D [ 2365 0 R /XYZ 81.145 169.616 null ] >>
-endobj
-2364 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 414 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2393 0 R /XYZ 81.145 688.251 null ] >>
endobj
-2404 0 obj
-<< /Filter /FlateDecode /Length 2021 >>
-stream
-xÚíZÍnä6 ¾ïSÌ ¬V"©? d2 ôœ[Ñk{êû_+êÇ–eÙ‘&Ùz˜dÆ–?‘)Š2)/]äåç·ç·o?nJ_¼ð ]Þþü¦Â yQëÚ‹5JH£.o_~Ò€”>ð,¥VRÒ5|¿=~/Ã]õFÈ0"Ü5á=§Ñt}ËOû2’ŸEË¿T¼~Ýxl¹‚6#\Ó\<‚ ÌùøÇÛoAnK=¹”Є­ä¤óS}mŒ°°yJ»"1„Ù­)ò­ú'ͬ|÷°jëZ™Ã3W~ÚóhHO%}uMÜ.œ@zšŸd>ÉÕãuf˜±#{ÀOÔìÅ;r‘÷–esõ9ý/2¦YŽíAÙ꥖DZ½k9ƒÌsãEä…’¦°j!áSô¤Ì\ð"D¬½Êº¦«ÅŸÌr'ûQ²¬éZV#©•AÓÊÀÆ«úþ¡¼^A‹’XHXS¬´‘P1[Ø—«…aÚŒ¥n¬9c²çvÊ·ÚÝ j}š5•Bs­µ¿ðN!ÔZ;‹Z(íæXJ]þ'¬N~Ü]\`Ï «q¼\ ÄŠ±`¬H4oXl4ßyY“)•å.Ò¬@ByßU€†PÒ
-$h‘BPÉ2éõÛë‘ü|¯Œ‚ë¬
-POÄ1B„SZ EnÈîˆKh(wÔ"µ†eôb Ë7v0¶éu?Šn¦4BÓf;"µõ³\KàTlz#;xºvf‡ä'従íA[αb¼вbžW†Yi‘ü}>üaR'êiPØ\D ReŸÅ»ª-Å
-颶;$sšD¤dÈ '¨vI†Ô£Ãœ ’äô0%?õ¾˜öÆ|7§1Mò§©°"(ÐíŒûÔ'E’²S®ùºy- Í*?pžN“ Ú‰£2éÄpšÁ6[;"v/¡Þ-.jJuå-™h"¿Îƒ³9Žóà<¢äi<¢˜–ŸÒri÷P¤¶É8)ùPÔm­½4Û(/´_<fM995pî-R °®EéyÉ»hV&dQ¦`Ð+” KwâÕÖ¿S,@/$©y:O6R‡ÝíýLžÜ
-m ÒWm_$‰ ƒBY×µM…Àéˇ@Ò @u³ˆÑ|µ¬í-ÒÇ")Ý€3šó•¥¶úoVÚWõ ”å.•C?_6H÷oŽÊG¼ŽDƒÉeÙ·@w „Î Ú—SY ÁÌ* Ô
-¼¶­c÷,ø÷“•¡Ú)€U÷•[ûÔHêªó-•Lcá,õçmºéòDûESaïh¦Š`T9çU.+Ep²
-ZÎ; ¦PRÚ
-Å»Çv¶v¹$ÝÞ[.q4lò7åA(_µq®{Bê7(íLiOXû‹#îÒ_œÞi¬ ¶kw2·œ¤_V›4áŠýÌÕ}ÚŸLW<hº·BY'`ß²ÅyÏÜ)¾:IFo}µG·Ç/xîÎêO]rI$£xp£Í…¤ðë{ÈÈ`:ï¼¾}ûŒM5
-endstream
+2402 0 obj
+<< /D [ 2393 0 R /XYZ 81.145 677.292 null ] >>
endobj
2403 0 obj
-<< /Type /Page /Contents 2404 0 R /Resources 2402 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2393 0 R /XYZ 81.145 666.333 null ] >>
+endobj
+2404 0 obj
+<< /D [ 2393 0 R /XYZ 81.145 655.374 null ] >>
endobj
2405 0 obj
-<< /D [ 2403 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 644.415 null ] >>
endobj
2406 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 633.456 null ] >>
endobj
2407 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 622.497 null ] >>
endobj
2408 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 611.538 null ] >>
endobj
2409 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 600.579 null ] >>
endobj
2410 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 589.62 null ] >>
endobj
2411 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 578.662 null ] >>
endobj
2412 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 567.703 null ] >>
endobj
2413 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 556.744 null ] >>
endobj
2414 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 613.412 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 526.69 null ] >>
endobj
2415 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 602.453 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 515.731 null ] >>
endobj
2416 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 591.494 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 504.772 null ] >>
endobj
2417 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 580.535 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 493.814 null ] >>
endobj
2418 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 569.577 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 482.855 null ] >>
endobj
2419 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 558.618 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 471.896 null ] >>
endobj
2420 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 547.659 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 460.937 null ] >>
endobj
2421 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 536.7 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 429.009 null ] >>
endobj
2422 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 525.741 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 397.082 null ] >>
endobj
2423 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 514.782 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 319.208 null ] >>
endobj
2424 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 503.823 null ] >>
+<< /D [ 2393 0 R /XYZ 79.37 283.236 null ] >>
endobj
2425 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 492.864 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 265.22 null ] >>
endobj
2426 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 481.905 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 254.261 null ] >>
endobj
2427 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 470.946 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 243.302 null ] >>
endobj
2428 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 459.987 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 232.343 null ] >>
endobj
2429 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 449.029 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 144.388 null ] >>
endobj
2430 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 438.07 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 133.429 null ] >>
endobj
2431 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 427.111 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 122.47 null ] >>
endobj
2432 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 111.511 null ] >>
endobj
2433 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 100.552 null ] >>
endobj
2434 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 89.593 null ] >>
endobj
2435 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 363.35 null ] >>
-endobj
-2436 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 2393 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2437 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 341.432 null ] >>
+2392 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F83 412 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2438 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 330.473 null ] >>
+<< /Filter /FlateDecode /Length 1907 >>
+stream
+xÚÍZÍnä6 ¾ç)æV‘HêÇ@ ³™)ÐsnE¯í©ï-eI¶,s)™dÅ43^éERäGZZÙÓ¿'ÍÿÿãáüöðxµÓ‰Ô ÂéíŸsÒüŸ9PŽNÞ¥9½ýwúëIk Z;ËŸþÐóßo>èÆP×@§ &ç0Ô8ÆeùQ‹4¥Ù•0ïHbµ2$IÇ$iìó vÆ,ßH—oÎ,ÿúª58þøø}yêF÷“2„Ò>èÒ·Ë€;$Wd2—òÍk‚2¼l#N+Ö{ÒSÆC‹~T〕$a;õH2y5Ah(šò:ƒ<^=M<xÍj²Ÿú“›ŒòäË\xþ5b<ÿ
+¨]0j î„æÅž“ø×eW0Ãæ_¬Ý´@@i«
+ÌË!Š6î$¨UðSäÜ^Þ¾»Ž—Y~?ÂD@ËøKü,£’P¯s#$–u¢²~‘eפm@ægKØ‚ŸËÜ|P#òl—kßÞ*âvóÉ:zÜ5µaÆg$S÷òòìš[ ›Ñç#'ÙNZ‘ÙAÌ™ºéy²Ú†œ¾dŸÂ™L´Æ'©eÆM–¤­ñý¨áûE–g'I 1’Õ
+ÏàŽâ@…°«šâÇÕÂ-’ܨÝ'PWŸë9øâj¤9×ôËyݧ5LS&iŸcÄ«Ú5Zn7ZÙ ª3tÙ˜+¡K§ðµç)PUC62›ô òêóÂ{Ž|Àå.xl¥"“B2ÍÙ¦n®¦'%lÎfȬˆRX”eÈóh3Ö½®|z檉üSîš‚PÆç`ŸÚÎ:£éU7e½8&d¹ÓjøT3”EÖó1‡I2Û¤‹¨Å­%1+Û½µsIJzJO›'¯óªÒAÍšÓÇ»2®GܬŒ¢œÓ¯Ú†ùßC±ÇºfIsnUíþñêä>¶ž#´úØ3Ëãn8j…°Gí£'e'+ò±b¦º]ÌÜ2|NCt¿ã!.FNGáÃQ™4:tâÆ_†6¾Ýøú<zÒâUùŒŸÛõÌö(¯Ž•ŸQœå?ÞKŠë¬0Šâ¶@ãŠ+Jšøo¬0äRS‹žÖYà…5@·jÑwÔuOÝó@‚ãŠ\ô«Îz©¨i T'þl×˾yái!“´)’f6Ay—YkÒ+§›Ö@Ùî²j|Ì"‘Þ{ß,*ÚX…2í-tró¤Eún‡ü–õÖÉÓ¨¦5)’tgÙV\z ôáÖ%Ä
+
+ÄPÔY‹e oImƒ[µ•Û‡èˆ;å­ß!U]Š54À¹~Rýzt±lÒAÚAgýU®Ü4H4zå¸
+endstream
+endobj
+2437 0 obj
+<< /Type /Page /Contents 2438 0 R /Resources 2436 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2041 0 R >>
endobj
2439 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 2437 0 R /XYZ 78.37 808.885 null ] >>
endobj
2440 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 264.72 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 768.829 null ] >>
endobj
2441 0 obj
-<< /D [ 2403 0 R /XYZ 81.145 186.015 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 757.87 null ] >>
endobj
-2402 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F65 335 0 R /F59 346 0 R /F84 425 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2444 0 obj
-<< /Filter /FlateDecode /Length 2171 >>
-stream
-xÚÕZËr,' Ýû+æ‚A¯ª)W¹¯gnUÖÞ¥²MVùÿmxCÓL|}óXŒÝMƒ„G
-’žWéèx‰·H+éúùnèbœ¢š–ŽÕÌ‚é y•yq`«Ú• 캵°ù R~Užôª@¨˜4èuI =¡y$|­@ ™°r$Ú%ö„ær†ð¥ b€j(YhOhA [ìåGøz¿åp0!ìó]ÈÇAGÍÐýO|¡z)Þí©ƒ²×:/l/ ýûÝ1IŽÂÑc†÷Ï~8χ@Qà ˜kŒ‘ª†L”?¶fÙÂh?æWO3—gQÊÖ°ècLì›Cb¢·ÕþGþC€¥HÕS ÔүƼQ#õÌuŒxyÀ¼ŽU°õRø^9„ç¯~&é¤'ð\™Gƒþ!i«Œ=™Á¯t·²Z24Wv<·‹Ë\-Eͨ’’í1²Ä8Ù~ÏSàÜžZž‚9èG{ÉTµ”Ä]Ì!‘Ãœð¸ºViróüמ¹×.;ŠçÚè­¡§Úp•ÞÚÌ¿$¨TsÆäzÈÓG¾¬½<x :üT¿
-P¡<{>¼÷¡ÃÙ<¿ZíõêgÓ4²%…Œ F‰U胆cË™>B‚ÝÛÒ“—çž4A>ª\óÂÔ;#ñ!U·N•Â€¸«vbïÐΑ£2•o•I­:aj©ÂÄÀ“)øà”„Ð™ñÜ‚:åLE7Ñ4rÈ4™^ùðšFoÉPßš@x{hÚgI–3 ýDQ1‘]9MŒœëpþLÚqm\G¡[”y`Û÷0½ …–³X{
-}<!V°Š ƒË1;ìZÞ4Ò¤ ‚KÆ_8ì#ó½ñTîUý‡Ç×nƒzGðˆ{áŸïj¼×éÊZG¡SÇlo˜¢«Ñá@duOQhÍ€†)o­âè=ø–½¿¡8
-ÞÞƒóç{oŸ áB)fœO—*›ŽÐªàµÝÛQ±©ä çN[vFym üÅIé o˜Ì×v¡;BëŠËJ
-îýV##…M-Ya{B'—ƒ»H•o•Œ”¨nU9šú&ƒÈÈʺ͗9©Hí(íŗ]óÆ šÀîžH»UžMÂÄk3cŠI¥“ži=¿¨=LŽ´7[x¤«4=¥·S>%G£‡x‹åØùq#`ö`ìùutð÷\ü)gV<Ùœ¶ÜÞŸþ Àr÷
-endstream
+2442 0 obj
+<< /D [ 2437 0 R /XYZ 81.145 746.912 null ] >>
endobj
2443 0 obj
-<< /Type /Page /Contents 2444 0 R /Resources 2442 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /D [ 2437 0 R /XYZ 81.145 735.953 null ] >>
+endobj
+2444 0 obj
+<< /D [ 2437 0 R /XYZ 81.145 724.994 null ] >>
endobj
2445 0 obj
-<< /D [ 2443 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 685.852 null ] >>
endobj
2446 0 obj
-<< /D [ 2443 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 674.893 null ] >>
endobj
2447 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 663.934 null ] >>
endobj
2448 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 652.975 null ] >>
endobj
2449 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 642.017 null ] >>
endobj
2450 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 631.058 null ] >>
endobj
2451 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 620.099 null ] >>
endobj
2452 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 609.14 null ] >>
endobj
2453 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 598.181 null ] >>
endobj
2454 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 587.222 null ] >>
endobj
2455 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 558.327 null ] >>
endobj
2456 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 547.368 null ] >>
endobj
2457 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 536.41 null ] >>
endobj
2458 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 525.451 null ] >>
endobj
2459 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 514.492 null ] >>
endobj
2460 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 534.707 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 503.533 null ] >>
endobj
2461 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 523.748 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 492.574 null ] >>
endobj
2462 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 512.789 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 481.615 null ] >>
endobj
2463 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 471.943 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 470.656 null ] >>
endobj
2464 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 460.984 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 459.697 null ] >>
endobj
2465 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 450.025 null ] >>
+<< /D [ 2437 0 R /XYZ 79.37 412.169 null ] >>
endobj
2466 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 439.066 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 382.364 null ] >>
endobj
2467 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 428.107 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 371.405 null ] >>
endobj
2468 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 417.148 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 360.446 null ] >>
endobj
2469 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 406.189 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 345.074 null ] >>
endobj
2470 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 334.115 null ] >>
endobj
2471 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 323.156 null ] >>
endobj
2472 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 353.387 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 312.197 null ] >>
endobj
2473 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 342.428 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 281.594 null ] >>
endobj
2474 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 331.469 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 270.635 null ] >>
endobj
2475 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 320.511 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 259.677 null ] >>
endobj
2476 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 309.552 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 248.718 null ] >>
endobj
2477 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 298.593 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 237.759 null ] >>
endobj
2478 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 287.634 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 226.8 null ] >>
endobj
2479 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 276.675 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 215.841 null ] >>
endobj
2480 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 265.716 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 204.882 null ] >>
endobj
2481 0 obj
-<< /D [ 2443 0 R /XYZ 79.37 215.101 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 193.923 null ] >>
endobj
2482 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 185.011 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 163.32 null ] >>
endobj
2483 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 174.052 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 152.361 null ] >>
endobj
2484 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 163.093 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 141.402 null ] >>
endobj
2485 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 132.209 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 130.443 null ] >>
endobj
2486 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 121.25 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 119.484 null ] >>
endobj
2487 0 obj
-<< /D [ 2443 0 R /XYZ 81.145 110.291 null ] >>
+<< /D [ 2437 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2442 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F81 377 0 R /F74 337 0 R /F83 414 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+2436 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R /F22 367 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2490 0 obj
-<< /Filter /FlateDecode /Length 1813 >>
+<< /Filter /FlateDecode /Length 1776 >>
stream
-xÚíZMã6 ½Ï¯È¨V")JŠ’ÍLžçVôÚžúÿ¯+Ù’-ËôDÊì;Ø¢Ø&ãgêñCŒµ²§O:þÿ§ËÛÓ—WN¤‚7§·žÌIÇÿÌɃb:96J³9½ýwúëw­-hÍVkz‰Ÿ—ç¿ßþ|Ò ,B}yõtò*0£¯q‚S| D>‚­á¢µùšþ~þÍ‚g >!½ÌßYÇï_›c麈@W­]:Ÿ¯³ùX¹.}ç®/O@*ß,.ßìrÖ‹ò3–û,Ï ®ø»AžÕÊhÉ;‘·J&¦e².¦ñËBßµ|sË2i¢¡þËR^d&m%g%"@™è‰Àh6 ìœt®ítEX±ê5Y<Je%ú0tÑg´SHÐ"=2Ä~ü³l¨<>È0xe"uÃ~(@·@ÅPx4ˆƒU¨˜1vÄ èÈ å8^J–|ÀãƒKõc3ˆK¥¾è6¬œu;¤%ƒ¹Êt¸Ô¥Ì,õÂ-ÑztŠ @ì[
-34ÆÌ©bævŒº{Šñ-fŽ­c‹ôù= ZiQõŠÿBÌhÔ¿ƒšÂT&HŠ÷äAp
-,6÷/—<Í/óï²1åq軂ҋ ­aÿë…ŸR/˜D°Ÿ²ð¹¿Ìz¡Az^0ìzçÜß}æ‘kƒ$æê­)å»I#ïö¿ˆ®06F‰ ëÎýMfñÓéÓï:†X¡ ¸ÎÃ?4HÖé=6ôѹ¿ó(ëØ"}~)×¹¿§)Ìl‘íaƒŠ|#ÕŽ­c‹ôù=¬AYq|3m ôÔ#„h¶åiÜNó{UÓ/oOß
+xÚí[Ënë6Ýç+üeÉyðìëä]gWtÛ®úÿÛ’"©5rȤq4 ßèÊâÑÌpÎðŒDëÓß'}úùpyyøõÙð)¨`ÁÒé寿Ð'srA¡;9k”¶æôòÏéß´væÑcü‹ðø b:r 5¥OŸz.Z³‰gÒ_ÒÚ^ã'¬ÇMc®¾ü-p$Y`¬LH7JðR
+ˆwH£•Î:­lT ‚%5ô4kÖ<kk¸·ÄŒƒrñ>‚¥öÒg)ia43Šz†hɹÏÔÊ»Ð"IÌ•&U¨•g¦¥¶rÁK¶÷jŠÑÓ~‡4[Œ.«‰©^r-M55×Ó½‡öE ]n…y^¯–œ²t.‹]ßGVy‹NJ|ŽWDÛðœã>¯Ãµ–ã%)Žy>~Ìc/Uy–™yî󭮈ð||f¹z<;ãÊí1ˆ3ìDzs‹Ôh°7qØ°òbòõÊ’jÚh[kúôI:Sõõ^÷–¨ßné8è¨ñæø Í-Ý„¨ç.cé‘„–n«n7q©jùÐÞµêøÜLÞßìä<«@f‡r=¶7E‡#çJS•Hu×¥5iIž‡¦ÿ%A³É­šÓ3úDЉ~å;›iTFp*‰+c¢¿ù2X jÈCÖ<žêRáö2GÛ›qÈ®L
+%
+vÝt/FµÊ¯$gBr¡dÆhgÉέν"¸ô! Òú¶WZkQ§¢5vZ!¤þþváÅØýbB¸©²V¨JñÚì@©ôŠa0±ÿÛ!ÝA©0áN©PŠb¿F.z¯EúV*_C©0ÂN©”îí=jvn‘–ìì¨îý,‹Vx1Q{“êÆè3Z0¢éç1Ž5Hßû£0‰@i†{û½’œ Ò(ǵ59R„æ@[ßÒÉÁ)`lªÈïN–÷)U¢•Çë7¥sl|™w¦}Kç/)Éêô©‰?ö¿Aº“t¦ô˜E–?ƒð$‘®¯ˆèÛ¬‘…ïÿDbú#ÓÛ¢ÕyÚ" ,ÿƒƒ;+½=±Š64@Öîí}×â?èUl¤Lo«c1Æß´H‹ø ÙBû->ºæD³$>ÒßÞ®rc‹tg!%<J~t7*ÙéÃ8Žž”&’,î~Y’IÞ }2ËÑ¡ÒžE¿ÎC,o¾Yþö9± b~Ks‚c,oîÍr6ÊX/úáÇüØ"}ËSó­ƒÈcùé³Y!öp¢[4Fò Ð7Çß>#Æ+FäŽqc‹ôÁ @ìÝ漦«Æn÷îeÆK“]úV½l ªÛ€ê5¹Ó•Û÷£íCÃ]-D·Ö¿^•[ºÚ)±»¾¸,Y6s
+jòèË÷ŽƒQŽ«Ã4&y¤U§:h‘!å´8qƒ
+¤A{çAÛ4*G(Ú懞ʹH£–¤Ø“8m<´làs«òX ¼Q^Pëçþe½Ä` ôaG~4¤¼µbšáØ/Õ6@ '˜s²=‘Va)Õù‘Ä4ðéåá_”ð7
endstream
endobj
2489 0 obj
-<< /Type /Page /Contents 2490 0 R /Resources 2488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2099 0 R >>
+<< /Type /Page /Contents 2490 0 R /Resources 2488 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2491 0 obj
<< /D [ 2489 0 R /XYZ 78.37 808.885 null ] >>
endobj
2492 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 755.155 null ] >>
endobj
2493 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 744.196 null ] >>
endobj
2494 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 733.237 null ] >>
endobj
2495 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 722.278 null ] >>
endobj
2496 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 711.32 null ] >>
endobj
2497 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 700.361 null ] >>
endobj
2498 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 689.402 null ] >>
endobj
2499 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 678.443 null ] >>
endobj
2500 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 667.484 null ] >>
endobj
2501 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 656.525 null ] >>
endobj
2502 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 645.566 null ] >>
endobj
2503 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 634.607 null ] >>
endobj
2504 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 623.648 null ] >>
endobj
2505 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 584.443 null ] >>
endobj
2506 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 573.484 null ] >>
endobj
2507 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 562.525 null ] >>
endobj
2508 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 551.566 null ] >>
endobj
2509 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 540.607 null ] >>
endobj
2510 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 529.648 null ] >>
endobj
2511 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 518.689 null ] >>
endobj
2512 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 507.731 null ] >>
endobj
2513 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 468.525 null ] >>
endobj
2514 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 422.129 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 457.566 null ] >>
endobj
2515 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 411.171 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 446.607 null ] >>
endobj
2516 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 400.212 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 435.648 null ] >>
endobj
2517 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 389.253 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 424.689 null ] >>
endobj
2518 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 378.294 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 413.73 null ] >>
endobj
2519 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 367.335 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 402.772 null ] >>
endobj
2520 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 391.813 null ] >>
endobj
2521 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 380.854 null ] >>
endobj
2522 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 369.895 null ] >>
endobj
2523 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 323.499 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 358.936 null ] >>
endobj
2524 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 347.977 null ] >>
endobj
2525 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 337.018 null ] >>
endobj
2526 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 260.735 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 326.059 null ] >>
endobj
2527 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 286.854 null ] >>
endobj
2528 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 275.895 null ] >>
endobj
2529 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 264.936 null ] >>
endobj
2530 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 187.011 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 253.977 null ] >>
endobj
2531 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 176.052 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 243.018 null ] >>
endobj
2532 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 165.093 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 232.059 null ] >>
endobj
2533 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 154.134 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 221.1 null ] >>
endobj
2534 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 143.176 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 210.141 null ] >>
endobj
2535 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 132.217 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 199.183 null ] >>
endobj
2536 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 121.258 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 188.224 null ] >>
endobj
2537 0 obj
-<< /D [ 2489 0 R /XYZ 81.145 110.299 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 177.265 null ] >>
endobj
-2488 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+2538 0 obj
+<< /D [ 2489 0 R /XYZ 81.145 166.306 null ] >>
endobj
-2541 0 obj
-<< /Filter /FlateDecode /Length 2864 >>
-stream
-xÚÅ[Ër,· Ýë+æLó¾ªTªÒ\i\å]’»sy•T¼É]Ø›ü~À7øèVSñM#M³›h
-õ:
-èµW;Z_T0f¢´Í 8N-9->Pê¬f“'e™–°Ü(jO;%½mÉò:ñ‰'VßüÅþúJôYFè«ÃbÜ
-ÉÊ"õ”>ðž}ַɳâÌ/¢²» ß¼En$´·±ÐépÙ‚# /)€+Fõ"mÞv% ¯’r
-'…F* Ы¸Õ$—€3†¸4§¼-mÌ2ÚmÓDÛ$îEk²üVòKç0
-íö¹)"ˆž
-
-´†%ÀT+Ñ–÷P¸!½x&Üä/ÒKRÎÏW*NÔ´N‹V
-ámÑÒÒbÜ!TƒêÒU¡V–Çd—«çqÊh”RÒF ‰ÏŸò’•9;7
-&fvL™*x+^œìømæå÷Ñ^ó2Ù[¿H‰åºäK«ZmIŽþÄ»¶%F‡ü.%sî¥üèiL„
-’ôwºÜén¨î¯£0½Î®ÕNÒÓ9NAhX!/õ>ºPœýþ±7ÿdš‚Pi'VrovÀGJ­Ë¿¨óν:5÷ß|×gvä³H$Hêc»
-ß;é©›:B¾ò Mz>èžK”r̨šŽ¢jVîi1ƒöxCvqËè¢òœ®ÖÆi ‚÷ ÃÏ"ËõÈ%œ—¤Lb2:Ìê
-1>{·TÔl/hÁ·ErÉq¸çÁ›z
-)H~> Š‰Òh…yñ*æÉ`®©e
-™*TÐ'Ïa{7}öç­$=¦‰¾¥­Þ¦{P0@ŠG;M&‰OLµ/
-endstream
+2539 0 obj
+<< /D [ 2489 0 R /XYZ 81.145 155.347 null ] >>
endobj
2540 0 obj
-<< /Type /Page /Contents 2541 0 R /Resources 2539 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R /Annots 2579 0 R >>
-endobj
-2579 0 obj
-[ 2538 0 R ]
+<< /D [ 2489 0 R /XYZ 81.145 144.388 null ] >>
endobj
-2538 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 256.954 157.029 267.381 169.618 ]/A << /S /GoTo /D (Hfootnote.39) >> >>
+2541 0 obj
+<< /D [ 2489 0 R /XYZ 81.145 133.429 null ] >>
endobj
2542 0 obj
-<< /D [ 2540 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 122.47 null ] >>
endobj
2543 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 111.511 null ] >>
endobj
2544 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 100.552 null ] >>
endobj
2545 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 89.593 null ] >>
endobj
2546 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2489 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2547 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 711.046 null ] >>
-endobj
-2548 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 700.087 null ] >>
+2488 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F83 412 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2549 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 689.128 null ] >>
+2551 0 obj
+<< /Filter /FlateDecode /Length 3187 >>
+stream
+xÚ½[É’$· ½÷WÔ Å}‰è舮®.Eèf{n
+ì°.žƒtñïà
+.™•Y£ñ¡º«2“
+Oãÿ*¯¦ÆÔ§Ú·Ï}É¥Ç1•ömAQÖùêÌVŒüIÎmãÓØòM|RZ‚ÞÝn퉇®1 x>b ³MCfµe>T¥¢2HÅíO!$SÖŽ£;3Èý3ŸžÌ «Ã¯Ê{ó0ñ4_³Aˆw»¯ ]gÉ‚C™î–¥¡Þ5dó[¹P÷²Q
+Çó<ÔÂX^®VSž¹ËZ°8©b{ëÀÐ,zSQx%p¤’…_q|QŠO¡BtÚÃ’+8¬ð¿,Zž‡Â Ä+á&¨‘Af¸¤\ýµ¡âD͘´hZ6ï•---øBU—~jeyl6¹ê¾ï§¬aʨQZiÓâ"ŸÕ?å%+5r¶
+t7øÝÝPÍÿ9¼n<D^J/ñúû™ d ´„ lXa/õ9QýùØž?¨g`ñ–yN*#¥&èû"tèñ<ù0!Ðg0<©ŸE(A‚7
+ {ô|ª¶°¯ü aÏ*TÁxÃÈéƒy8] 5"Uãò@ÓädÇø<"—ÑHå1]¶Ó$ïS–ïCE.™ãfäRï'‚$X)ü8ªƒ€^­1ƒdF‰i¾9+¶9·öL«‘À¦Cq·äGÝUvznë‚üFŒ”óäËÔK˜ÀF|p ŠµTLÈö-¥5ÛÍ]öHF9nÿ:cøhÿ®Õß ÛPƒ}öÕàS‡ÚÒ"ÓxŠª [Öaˆ¤}'†ü›˜‚FŽ‡É{›J
+ œØT ¶Èd “äRdè’øÍ »± ,ã]·Ú¢D®E‡%º)òFí‹y㈂»PüO_7Ô¥ŠÉ.D
+qH~a FéjÅyù*ðɈ®©eD ™ª®H¡ q‡7}ö»I"@© qïOu XQmŠ„y±©}˜àãxg;ò,¤
+1’\²u,Ï'4g2Œ„+’sºQ¸ð„+ÆFoÅŠÍ£Y¹ÂfOé´+“Ä_*ì`S9é)}ï:bÍO/óAü‡©¯ÄH©eu1Äë:ƒøøð>³òRÁ­¥[>Š‹\=¥¢ñÎ>E”dе¥w”h2•ïŽ·òuI:m46S(òÍr_©srö”ŽÉ)åì~¬¼\2níJÞ£¶ÈÛSjò¦ð=ÉûUÎÉ(Ág
+¦’ã\gr~Ž3ð˜#…Ý×ÚÕ°n·ê{Äëi†’ìu‘Z ,él-vµÑyDžÅ”~Í-6ÇÝ-¿ÒJXýææ“0,¢¸«íX7Y÷s·îCp©â®ßDìÐZ–Ç°Ò
+cÝI‚T{sÂGú±†“®”f÷R%ž'Ç'ýªͯºHeàcÆ =H‡rŸaÕ]š@猽µv³tgAn•€h2¦ ;i†Dxläo´»ÚÔ½¯ô<¢Ü‰–‰œ\BŠ]œ~xe%h/¢,\8”ÆÒ^Ó>E^¦¯E¦é@K)sS67ÉZå^˜±v»HÁ;Ò³Õg·Ñ
+endstream
endobj
2550 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 678.169 null ] >>
+<< /Type /Page /Contents 2551 0 R /Resources 2549 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R /Annots 2588 0 R >>
endobj
-2551 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 667.21 null ] >>
+2588 0 obj
+[ 2548 0 R ]
+endobj
+2548 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 256.954 388.538 267.381 401.128 ]/A << /S /GoTo /D (Hfootnote.39) >> >>
endobj
2552 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2550 0 R /XYZ 78.37 808.885 null ] >>
endobj
2553 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 755.792 null ] >>
endobj
2554 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 744.833 null ] >>
endobj
2555 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 709.449 null ] >>
endobj
2556 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 698.491 null ] >>
endobj
2557 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2550 0 R /XYZ 79.37 658.847 null ] >>
endobj
2558 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 593.803 null ] >>
endobj
2559 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 582.844 null ] >>
endobj
2560 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 515.751 null ] >>
endobj
2561 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 497.846 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 480.367 null ] >>
endobj
2562 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 486.887 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 469.408 null ] >>
endobj
2563 0 obj
-<< /D [ 2540 0 R /XYZ 79.37 438.264 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 458.45 null ] >>
endobj
2564 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 372.309 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 447.491 null ] >>
endobj
2565 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 361.35 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 436.532 null ] >>
endobj
2566 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 290.615 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 425.573 null ] >>
endobj
2567 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 249.768 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 386.547 null ] >>
endobj
2568 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 238.809 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 375.588 null ] >>
endobj
2569 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 227.851 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 364.629 null ] >>
endobj
2570 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 216.892 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 353.67 null ] >>
endobj
2571 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 205.933 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 342.711 null ] >>
endobj
2572 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 194.974 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 331.753 null ] >>
endobj
2573 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 154.127 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 320.794 null ] >>
endobj
2574 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 143.168 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 309.835 null ] >>
endobj
2575 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 132.209 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 298.876 null ] >>
endobj
2576 0 obj
-<< /D [ 2540 0 R /XYZ 81.145 121.25 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 287.917 null ] >>
endobj
2577 0 obj
-<< /D [ 2540 0 R /XYZ 93.716 91.444 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 276.958 null ] >>
endobj
-2539 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F83 414 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+2578 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 265.999 null ] >>
endobj
-2582 0 obj
-<< /Filter /FlateDecode /Length 2791 >>
-stream
-xÚµ\Ɏ丽×Wä4›dp
-”Z•|®›á«}òÿ_‡[pE‰•c 4•)‘!Æþ"ÈlJäã¿êþÿ·íûí÷SÚ‡ Ö0àïÿ¼±uÿ±‡áD‰‡VŒPÅßÿ{üëRÉ)U"^’üûûŸoÔs¤~?xb•SÓa
-ˆÖSšR¾}ü’\xºûÇ/æþr‘./õE)¸wŠÝ}Æï¸+ÝóÏøŸ0?¬¥bí‚/I £|Ä—ÚÖøj)qŠ<qî×ùbnb‹ëUÔýe…'üìøòÏeº‡sügeÝÅWùK˜€!ŸŸk|¶”îñŸ¹k«töå—Â#~Á®ñÛR*üJðkŽü†u»5K× _QŠÇïÚ1Ç“ ‡çÞ^·øÙóù^å‘i¹òhÖxl)‹wªàcÏDÔ|ä•~¶<ñiG»øû|›*•Ú¼\“OKéŽ ,®UYI€êáZŽµJASJju%FvhUpo%@‰Ñö@iy% "¾î-„j·
-ÑÿòÛÄóø^—Åñ)-kÉO÷Ú‹C¤Îwœ<ŸÊûÍá÷“ɇuÒáN¨•t´% 
-$‘ó§r
-Z )hJϾ{
-ü³øŸ»| š2)JÂT1âð†!²ð±'ÞñRðòŠ6wÛYÞžBfN ‘õYõ¿…,u ç-ÐÉý7‰œj’uTH.+"Y‰ì µ@> ÏBIs<Õ£(‘rH©ì)>Xoq1Ïu–ÄH£µ÷(´èQ~ý¶[^¼¼Hfür?Ò äçg[ vw-õ,A’XyªBí1ùÁ³È.¾@léÎŽ0Ÿ È)~TAá1j̾Ÿ‹>ÆÕGÞjÚm0
-4ZÏå†]‹
-FJ!Í¿„ï^`q!ƒ!©î9±v
-gŒ(žÃj­V
-=÷>Ob­šÑškÜKì¨u7G·ïXãíèp%ì÷h7Ü[­õ¤rNeõH¢°†Ñ;JµD¨yŠŸ%4òŸ ç^_·*é«U3”Y“AKijU:^ë<T‰#k«m)ª*ßk’´Ñ¡í*”Vê¿ŸœŸ×*’rBÛ΋NÞ >ã_Oѽ”v¥ x/AD$ô糬ÿ[=Ê;©wFÄ š˜•RB³:˜‡’’¡ó:êŠV°NÑ:»§ì¨°¡ÇgXŒãHLÔ6œ…а¼)‡IQò0ß0
-Õ¶ðXñš˜‡†ú}t'%}nþÙcüô¢­Ä 6¥ȪܮpO% g˜
-ž¬åçPW,Pé‡T¸@^´ß`°°ØŒÚÂ|Žq¯Ö¥¶ì¦¹@ÎB¨±NÐ÷>ÂN ¥Â™ Ë^‡€„²‡7*lÝ~H†8Sš â݈ñ§vËŒt AO‹—ŒÄKÝS–^n'êlCË`J—Kõ°Ïs³—ÀTGèLù„ÒÛÚ–ö?O1Œ,…ÖŽ’%¾¯+>ü˜ WÓ„pż‘0âån+‡ÞùR“œAz97ÉÙÖÏ…#ûùs?÷j¾¿Nçïsúáýâbþä¹o Ïž+¯Óù4^Ëi^0—œí¡B_÷›§¨¿Ž’µ)c:g>[ÚÈQXµŽÜ£‚}ƒd‹üQF,ȲÙq<XJ¬V£ñ7 ›d:B? 2N ¬|æÏ0”P¦‡Œ­Õ4¥ÓóÖ¢!JÇ„ꈥB>¯»dgcò
-ÏÞcìK¦ Ê'…‘FÀŽLS†£Í’aÖdÎÍRÈ„ Uìíü&(4abÈÂbIÑQ:3Ás^Êy
-}àóq¹åráz¹u³@>ïïH=hÐݘE­qI8‡¡ÁšÖ:JõÖŸ™`€jûýÀË`Ü•ì±nÃÆ vϯÆcw:NÝÔÛQZÍç\…ÍÐ…§ÕFü ºd‚„å¨ËEÔÙSJÕsŽ‹Pd0K93}
-^äÂv¢§Ü}ØâûqCç*•íåcTŸ$;qÏ{sý\ÕÓ‡D¼¨E
-hƒÍâ¦ý2öì)í¥w2³ÚzÏû'³±eóm2.ÕÜèÅ|ilέ羲
-3¸å.gª‘”ï LY·§TZt?É¿¦j]ïÇmÌà!—pÐ÷î‚?]äß AO¸Š«âO½Ïøšì #`ôHö©šèÆkJ7ÃñŸ+ ¯#4Ù/Jm't’˜ ó¸´¡5`b±×ßQ:5³?í‰Æ`Z§|½ý¸0D²!kf)bu„Z£þJ{Y'‰ŸÏ€a
-û2K#`OìV³ôRï•â~êUš;Ì1ÕÁ@¯÷^1ý¾¢/'mia¨¯µ2«§Tm`wzÆ[>ý|1&œ”Þ®õUáSŸÂ®÷­§ ž^ú âMe“à³DîÔ¼ ;&‰1 ”kÅVO©+6Äv²Þ“ÂCWÛd¹pžÍ­|njÛÝœQ1‹ ù¬_xO5ç
-Û¾,ʨ:x5F_ŒÁ£¹«®Ê/[ð·³ù—}çªÁ’d°¨E÷GK=ÒâÝ2 µØQ:ô¶fí¯\f½ð;c°Ó?“QSþMÚ!Nóù˜úXÄtm¢Äþz7OR½âwšmÍHcwÏÀ¡Æ:J{Á¢ÊAW­)æùÇiZÉã9óù¼ »ýzïäNN­ÇÜÍuŠ·‡SòXԢĀêîsMw¥½ A;»”/?þ^„oëx¿>24³°ƒ1µ¿œŽµeìUm‘}N¼®?a‰º,¦¼–Ð^Ð5zÇió.Yc—V[DþèŽålÈŠ´ˆ׎Z®gš¸…Ç/šé·”üa¾Ñ¾ÄñgPË­%F¡B…µvr¦£tÖZºæå¥v’•„š!r[DÝ¡vq+éCIZrH­Ý]í嚃½ÇZ.Ëôl{â1´°öB/é­ÉÞâ|©—½Ú–QsGhÍÇz÷ô–5R0öEl¸ªŸ¦ß•.çÇæ”f%̉½=czJç«ÍQÐŽŸÛôW(O˜2#­-¢äŽÐ^!û½‚é®üP~•îO­Ô±Óh µdÅÊÚ¦¿x²N=R=„?õTˆ–§áëûí/ò)ž´
-endstream
+2579 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 255.04 null ] >>
+endobj
+2580 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 244.081 null ] >>
endobj
2581 0 obj
-<< /Type /Page /Contents 2582 0 R /Resources 2580 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2550 0 R /XYZ 81.145 184.787 null ] >>
+endobj
+2582 0 obj
+<< /D [ 2550 0 R /XYZ 81.145 173.828 null ] >>
endobj
2583 0 obj
-<< /D [ 2581 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 162.869 null ] >>
endobj
2584 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 151.91 null ] >>
endobj
2585 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 140.952 null ] >>
endobj
2586 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2550 0 R /XYZ 81.145 129.993 null ] >>
endobj
2587 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2550 0 R /XYZ 93.716 89.795 null ] >>
endobj
-2588 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 724.994 null ] >>
+2549 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F22 367 0 R /F65 335 0 R /F81 377 0 R /F83 412 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2589 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 714.035 null ] >>
+2591 0 obj
+<< /Filter /FlateDecode /Length 2903 >>
+stream
+xÚµ\ÉŽ#9½×WøJ#Q;PH ]‘n ÏukÌuæ4ÿí[(AÛype¦C¢¸‰z$Eoÿ½ÑÛ_?î~üëp³Ä*Pâöç??˜{@oì¦-áú¦#T±ÛŸÿÝþùE©Jµu? ¥ê3ý¼üd”R÷X¹?ùÃ}àã'7Ü}#Ü7ì·û¹¹oïnÄÿö¿×Q’;²Ê=µq¾d~ÆÇ¿ÿüíØcrÁgD
+“ÙS,ÍÍÔUà
+"e·
++ŸB™î5ÙÅì4^zè0.01¦§ólˆq“Õßáñ|È”0ʦfæ¸ÓSz:ä˜Q¶! eZ]ÈÇýá6ÌXáàyuaµƒ1…ã5ò;qÌ5ðS
+àN>tå˜ÛÍ1MSÿ ~m=~_°·–(ΧöÂ¥Y#¥¦áŸ+Ì+ÙœØê‘;ÒIo'váMâSlÚ0OA?=‡uÄ›Æ'OÀy>%J!õÛC”ÓH‰K¶FJÛq©ûJâ¡›«-%q^ÍmöÜÒ·‡9³bø£îõËë4svi/­‰frf/dB5RÚr_jCÂ^|œ$Q)]QÛIÕÔQϺ{æð³$Õ'óKŠãŠ!%•€×ã¤RDËàÇ
+::)mýU°UÂZôq’ØŽiéRGiœçcôÉ56ç´PÓš~é>N»ÅM%é
+Ž”¶Š®óî8,Þ%oN'l‰ˆ3æï"Le1“§Œ¸GS×]BK‰‹öÓñ¨[h¡Åu6ïK´—xž,-¶„9UîêÙ@騸t.ËK%P†8WœÉƒ„Ý#¥¾“x¯f'mx)Aµ¹*ÖÍ 4'ÝÇV3hz¶O!±¶FOé!µ/5ajw
+ÄW<pÚ(m±ÙvP/yÒQ!…dŸÈ†OÒ7F¿
+ „&µ5‚òÊoƒÛž©ƒ­ê=ÏX;äFvËW­„wWM0õœ5 #f_m W> š·I×f­¼Z"_8R/žY«³äéªö?Z"F©©EpƒPÊ¿ÚܾÔA,>lóûÜÙÌ9.Ü_ËùÅgÅÃj{ã~^þo.ž(©n‚[Ó‹æ¿…úúóãÿ«€Ù
+endstream
endobj
2590 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 703.076 null ] >>
-endobj
-2591 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 692.117 null ] >>
+<< /Type /Page /Contents 2591 0 R /Resources 2589 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2592 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2590 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+273 0 obj
+<< /D [ 2590 0 R /XYZ 79.37 771.024 null ] >>
endobj
2593 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 713.623 null ] >>
endobj
2594 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 605.442 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 702.664 null ] >>
endobj
2595 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 594.483 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 691.705 null ] >>
endobj
2596 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 583.524 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 680.746 null ] >>
endobj
2597 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 572.565 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 669.787 null ] >>
endobj
2598 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 658.828 null ] >>
endobj
2599 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 550.648 null ] >>
-endobj
-273 0 obj
-<< /D [ 2581 0 R /XYZ 79.37 513.236 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 647.869 null ] >>
endobj
2600 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 453.539 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 604.662 null ] >>
endobj
2601 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 442.58 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 593.703 null ] >>
endobj
2602 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 431.621 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 582.744 null ] >>
endobj
2603 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 420.662 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 571.785 null ] >>
endobj
2604 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 409.704 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 560.826 null ] >>
endobj
2605 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 398.745 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 549.867 null ] >>
endobj
2606 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 387.786 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 538.909 null ] >>
endobj
2607 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 376.827 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 527.95 null ] >>
endobj
2608 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 365.868 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 516.991 null ] >>
endobj
2609 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 354.909 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 506.032 null ] >>
endobj
2610 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 343.95 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 495.073 null ] >>
endobj
2611 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 332.991 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 484.114 null ] >>
endobj
2612 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 322.032 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 473.155 null ] >>
endobj
2613 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 311.073 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 462.196 null ] >>
endobj
2614 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 300.115 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 451.237 null ] >>
endobj
2615 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 289.156 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 440.278 null ] >>
endobj
2616 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 278.197 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 429.32 null ] >>
endobj
2617 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 267.238 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 418.361 null ] >>
endobj
2618 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 256.279 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 407.402 null ] >>
endobj
2619 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 245.32 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 396.443 null ] >>
endobj
2620 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 234.361 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 385.484 null ] >>
endobj
2621 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 223.402 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 374.525 null ] >>
endobj
2622 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 212.443 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 363.566 null ] >>
endobj
2623 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 201.484 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 352.607 null ] >>
endobj
2624 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 190.525 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 341.648 null ] >>
endobj
2625 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 179.567 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 330.689 null ] >>
endobj
2626 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 168.608 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 319.73 null ] >>
endobj
2627 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 157.649 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 308.772 null ] >>
endobj
2628 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 146.69 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 297.813 null ] >>
endobj
2629 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 135.731 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 286.854 null ] >>
endobj
2630 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 124.772 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 275.895 null ] >>
endobj
2631 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 113.813 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 264.936 null ] >>
endobj
2632 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 102.854 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 253.977 null ] >>
endobj
2633 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 91.895 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 243.018 null ] >>
endobj
2634 0 obj
-<< /D [ 2581 0 R /XYZ 81.145 80.936 null ] >>
-endobj
-2580 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2590 0 R /XYZ 81.145 232.059 null ] >>
endobj
-2637 0 obj
-<< /Filter /FlateDecode /Length 3232 >>
-stream
-xÚÕ\Io#¹¾÷¯Ðh6ù¸†˶È1è[krÊ%ÿÿ0Ü—WT©X–É Ü–JäÇ·ñm¤Ì™¾üûÂÿü¸þþñë¦ýE1ï„„Ëïýþ̨‹5‚q#.¿ÿsùÇ ç8—’ss?¯ÿüý·<‚¨_7§.Žyc¤ëq&,l>’ (á·ñå7ÏÂ
-Vp.Þó{ž+È¿å5Î{ý©AG__ÅÏÞòÜ4òÜ„°µ(Øá·U/=¿ƒ¥Â8]ÆÇyñ1öæ¨HŸjcã1’ ;•<ЇæLp˜êãmMi‡‡3úHXá7Üš^"ê$bè2fYÎnÔçÒ|]æ™çëFz&”œéFú5Ý$B7ÈL/ê$Êå’l_q_E}îÚ»ÍxI¦ÍY’+î¿k{HÆ=Æ{æ)bD¬gëAð3ý¸5ý¤B{¢ÑûH¹&—~Ä×Ɇä}’ës,o6!m¦)Î³ß ca€žú'½&c‚y‘M†Éæ;?Ÿù³dë…_¸Îýͦ‹¿‰ò«²DZŽÚëϺ0þ!Öaõà c¦úQkú!H…§ÈÚ¸‚…½LdsçŒîŒhy@Ú“bô“3ÙÊ~­g‡bКžŒ×Lr;õUrIOi‡‡³²XšL“®ô½‡q$_3.ÓãâÒº.¯›bÝ}]ÔœSL*?Óœú\ÓAi/¾G6ÿQýb‰çèÿR Z‘Ë{Ó?”xŽùúYúüYøR4Ÿº„¿¨%+™Ü*)$1v-U#@¸{†”¢å¢çJ»²–Ñ“=s­oŠDÆ
-£„œêb­@‘
-o(gìªD~¾R½C§Û(Ì £Ì<ŒÄwup„Nqí¢%_¬Âõži­fzYìP¤~ûŠÅ|4¸Zu®®Wý®_[Gš¶ÐjöWð¾c Ç´×S]­u(Ò„§¾K?£™Û™NØ^Ç猾Sue¿ÿÛWÔ}Gõºh†[f¤™ú´µE"]š§ñ×W®²é"V0ªóýg}æ^<9ݹ[Ó‰ö†k§:YëP¤R…õ~í†øõ*²¯ò£~ ´J®_«üÕ[Ë‹Óž}Öž^Ô…ÓÌ
-7õWkŠÔùð´JGjÑvÍ*?V1;Ýî¥\&ÃdŽoÊékåFÆk`NÁlüÁ2Ã[æÁQ >“ÌUB•
-_)]Û«Ïñ$ÀBÓAÊ=?q$4Èa—ð-uƒöp>ÇWF´\9ÑûëùÙÎ9Îo›£ß¯§Oô^´Ì99Sö¦6ú⃲!Lëp¬gÒ^´ˆKÔ¬KŠ¥/Ù§n•Ï¹?î H#ÌK”L+n²ëœt'#ädRÜ¢g½à»ŠT3 ¾Âog
-¯`ãGÃKéìÚ²–‚5€{)fym%é‡$8›·ò¯›U3QIéN(»‰°@”YsKi‚Šè$¤7÷^37ä­-ò?µ/y´¬²‚—¦Æ+f¾èý©v±ÏÑç··^ml·FïjŠÕpÉ8Ô^,±9zŠì-2_úº3 Ë#úueuí÷„ržq7u˜kÄâ
-1TøÇB, ¼Ü ÜݪGÌÖI¦º& ³¼Z¶Õ¬$o“–f¼’Ÿäãp,–ú$åŠå]K´Úd;Énò¢®?{À§5AËcL³Æ¹
-‹?¸Û¥YF»EÕW*ÙâSªr"C×Z©
-lˆD¡²¥wî çÎ냪À²RÀâ2ë4ó]¥JåWïèòT]½ 8önûc<iG £­Rïgìlå³+ÅÓ¡È&HÁv~ZŸL]¼:xAfÝ …NÞ¶Fb1þÂÏBi#ȉ¥ª 1Ñú¸ut×Rï‘yLSrƒæ€¿Û/MCa$%¤øÔÝÔã• 3[èwë˜A?¬rz›´ƒ°]D«:18{³®YIi™ñ|©À›>cg*Ÿ‰¶na3ýjÊ%}tþlänl›=,øj›q(øÄBÁWÌ*dÛF›“åžàQ³Ž¢œ(÷XÑFF¤YÂGŸØ$”»®‡z,lmÊù4<
-ð• ñ ÔŽ
-endstream
+2635 0 obj
+<< /D [ 2590 0 R /XYZ 81.145 221.1 null ] >>
endobj
2636 0 obj
-<< /Type /Page /Contents 2637 0 R /Resources 2635 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2590 0 R /XYZ 81.145 210.141 null ] >>
+endobj
+2637 0 obj
+<< /D [ 2590 0 R /XYZ 81.145 199.183 null ] >>
endobj
2638 0 obj
-<< /D [ 2636 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 188.224 null ] >>
endobj
2639 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 177.265 null ] >>
endobj
2640 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 166.306 null ] >>
endobj
2641 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 155.347 null ] >>
endobj
2642 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 144.388 null ] >>
endobj
2643 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 133.429 null ] >>
endobj
2644 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 122.47 null ] >>
endobj
2645 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 111.511 null ] >>
endobj
2646 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 100.552 null ] >>
endobj
2647 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 89.593 null ] >>
endobj
2648 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2590 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2649 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 659.24 null ] >>
+2589 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2650 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 648.281 null ] >>
+2652 0 obj
+<< /Filter /FlateDecode /Length 2640 >>
+stream
+xÚÕZÉŽ½¾û)ô¦ÉbqÌXV€ƒ¹¹&§\òþ‡÷µ¥¦fl$ÿ±Ô-²XkùHÎÔå_NÿþåÛûÇ·7å.Èœ.ÿü&.œþ LãÅhÁ¸—_þþ¹Î¥ä\¿ûÏ×|üõ÷ĈԛŋeNki[:4&JWú»¢DMÓ³æôGÏHJÐ'½“"½çñ]ø¼¾~W <yhDz âLpXɃ¿­a¼tL œÆ¿qnÜj<X&H‹ñ
+NéËæÀŽ„ÐFñ½ªÄOÿ\TpKo *Ï+Ô+Í`íŸ}×®Ulž-1CU(Öo¿üûHÃæ T#ÀÍÿžGB5‰,ß’IGî:óåù<Óž?xÅøì?=•(Ï<ç¼¼uŽzkùT*ðµéLÂ0
+Si¾OjÉ4ÔŠO¡zöz½<+z÷*ä€bJ»bè–+yÈUøe2€œ [¿ôÛ
+ßëV+ʾ$#Û%²õ1óÇM¯ýÓF‘¼ßfšÉ4w½MkÒTbtMñWçM~w'€u”Þ&~–ioGH’ÔJ=IªKtŒ,8ÓµªÉµUæ"h(-ø™":gHúòÚóÃß|Œ7Kžñ"Œ×Z¸OŸ1¢ˆLÊ‘˜6…9MÿŸ¾ÈEdf²yY¥Iqb¤ï•áû,ÓN’
+&®³JO'\å4ÓƬ®t; w ô8áDçšl7±Ša—‚Øs­&7L"Œ”¾¬³¹®Œ}¦ŸyÔ¿l•#o ܆Úö–+ºšp¼ÕÆBãTM¡ gÆ`Û§„äzL{á ¥…PQT½Þ¯¤`
+Õ¸ÊÁö:âThA »xÍÉ(pæõ¸rùÍq5ôZÚ—yÂè¦e¡7*§êH»Ó{î”â{sÍzOýºÌ›«Z%š)QF&rr¼ÆΊR`mË06†Ð:µ2Åå£hy’0½xz•T×!*I ñì(ç B$O''
+‡[õŒÛ*ˬ¨‰OõU^iÛJU·I-3^‡%¿ [³4KmjÅôTË
+
+Qô±òïâC%†ö« tqL6]®‡Í0öþÈm@îÊ#¡³Pˆ¡ÒÁ¹•8³~îê92eÅH‰|ç»qÁÕÅ«…—,¬}É Bâ“×­‘”˜œ?ÉsÐ(MŠ\x*
+"ó8ãÌÎÚà]3h‡Io 8(ÃEcW'º q4ë=),bƵô(‰‹ÚFd*ôa ZX]¿¤š´@JE×&žõÒõ°ÙƯÀŒ]Ã'6¾äVTm;÷l»'¸·¬©<Ñî 0 ¼ô”VßøNÃTPÞ }œú1­'ÉWé© üøGZ¿a­;Áëqûû³¢6©ð½VÊH7Ïrž:¶a&"<âÈ´Ä#Nž¨fÐR+
+ì‹oU_Ác2ìËk©PËM“ø 5Oƒ6ƺ¯/áñó1¸f(ÕÄó~¢i¨†›¤¯R¥],n:×¼jJPA6/ˆZʶ0ñ(ËI,U[,•(ìÅÉÁ ysÖ•ÏxµÇbWu_d¼ôVê~ÀÎÒbªlKí:Zt±Ûµc´wŠU—÷#š°LSå>P=“/%04bâ§Ã»–MÎHí¢¤þLTë×úŠ¨ÖS ±¢É’Þºp=Šv› "gÅáÚÁ’BÇXÒƒšþY, ,Ï×'³¸…% ”¾KZ;ǧ®7 mBêØ—ÚÉë(5„îÂY›,zÅÚ%^™n`œe±'ôšö¸¸ú
+t­¹u º[öàPp»›Ž {Ú‡$'+]¹òrÒ@¡N ›,YE5¬[±tòVœYã&JêK`Ú'6†3·ÁãMÍjðÅJqÓ •Å¡b´þ@èy³U=–L)XªëmÏÏJn—L9¹âää©Nád ¤>sѪ¿4åëŽUø:AySþ°VâRvÏ{Jÿ7~¼
+ð›:$ÐF-}[¼É)(vΔÎI¡˜‘5~@ ‚0Œˆ|¨È¿ciÐÊ5,ÞÎ_u
+-íÚ %¼ðÚ_~
+G3¼Ä$g€àïö¹Ê21ʨÜëí8«\
+endstream
endobj
2651 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 637.322 null ] >>
-endobj
-2652 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 626.364 null ] >>
+<< /Type /Page /Contents 2652 0 R /Resources 2650 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2653 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 2651 0 R /XYZ 78.37 808.885 null ] >>
endobj
2654 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 768.829 null ] >>
endobj
2655 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 757.87 null ] >>
endobj
2656 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 746.912 null ] >>
endobj
2657 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 735.953 null ] >>
endobj
2658 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 724.994 null ] >>
endobj
2659 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 672.192 null ] >>
endobj
2660 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 496.849 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 604.446 null ] >>
endobj
2661 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 593.487 null ] >>
endobj
2662 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 448.032 null ] >>
endobj
2663 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 437.073 null ] >>
endobj
2664 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 426.115 null ] >>
endobj
2665 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 415.156 null ] >>
endobj
2666 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 404.197 null ] >>
endobj
2667 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 393.238 null ] >>
endobj
2668 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 382.279 null ] >>
endobj
2669 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 371.32 null ] >>
endobj
2670 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 195.978 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 360.361 null ] >>
endobj
2671 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 185.019 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 349.402 null ] >>
endobj
2672 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 174.06 null ] >>
+<< /D [ 2651 0 R /XYZ 81.145 338.443 null ] >>
endobj
2673 0 obj
-<< /D [ 2636 0 R /XYZ 81.145 163.101 null ] >>
-endobj
-2635 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F65 335 0 R /F75 338 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2651 0 R /XYZ 81.145 229.851 null ] >>
endobj
-2678 0 obj
-<< /Filter /FlateDecode /Length 3158 >>
-stream
-xÚµ[ÉŽ7½÷Wäˆ&ƒ;Ðh@ÝÕeÀ·ñèføäÁø2:Œ/þ}—àžY™-É@YÕ™d0vF<²øöçÆ·ŸŸ^¿<ýtzóÌ0jûòß'/ø&6ë™´›5‚q#¶/_·ßž9—‚s«8oœ«WÎ5~WŸçðöòû—_žp6Sø1Û_a úãןq%»\I€fºi-˹ḆkeÚ‰m¤¤–””ab¤cláËá˜ÌUøŠ<•™Z0)Ç©AÄ ªñÈνc¡L´À@ÃÁ¢•a-Sn¢§ *<($(ÆøSJî˜3zæ0›¦ü ¤ý¦˜wBBKÉCÒV‹/œI‰t£ŽœÚrd¤kéxË<¸‘Pð£ d¥+÷òIƒž`ZOÀX*ƒF««Iþ'WIyJ Á-“
-FJJOº~{ÏSÄXdÜB•îá=„[™s£!<+oÍUy3j%¯z?'¯0Ìj;RN<‘¬ìì)¡HUÆìjç­æ— %íægFúkÍ…° Z ïÕ-rx´ÿ ´øÇ5É=¿5iоÖ_ÓdOé;iò~¶N4 ûé°¿oc˜â®$›K÷ĽTò9Y0Ð ôU¶Ž| ÏÃõœV—–Æk™äH©8ÇÁ-s²ÞÁ„wÌx?ò"Í‹“Ï$ÝË'ðî¹Ò ‚÷8L#ÒS¢°æ0éWrÓ­‘¨Öµâ&Sž¸¼ûEoÄe톉²RñçB•4˜(–8pÕÊ
-*­hé:W'Ÿ)#î ?É·‹kÅ”.¹^ëxÔŽ«&Q+Zš—:Z^‘6‡[ª8H²4§h‡ÓœÑü_Ź1»Üin+Þ^À>™ÃS8´ˆ—0"¢]­xqa†,sIsQ×®¬sK³cµ¼B·^´§°nŸûhl‰Mñ’½%E…“«¨@1/Åh¯¸û*òªÃ¸RÖ0­Ìdñ(ƒ;¶ßÂo°
-P¾fŠkR6û¬‚j‹Î·úN[Š!Ž´ ´c ¾aõ ZN1-&
-e©‚ü]Øç1ªF¾StÓÓ³ñž(Hü7Ú
-ežJ¡±yjˆ^û\yˆqGÏ5ŸßS”¦(ˆv…V½^Âü¸ËÉl[Wó"ÆZ°Åû—§ÿ׺‹ÉÑ
-|Ñdí\!hž‹2gÎtïE}[¼¾u±Kkjý 7%~lÝ÷‚e±;¢b„>e»Z—>8Êúô™ù Ï¾v5†¦Ç¯zÄQ#¬5&=¬³ !åKJù<¶÷fáiëo)ÄÍCÐÓ’ìâ6Ò§3¥‹¡” qjª1tš²C‰©œKÉV1DÂ%¦ ƒusjŸM;£’Q)ï}µSY­+¦ý¸¨ö_²\Vì9ÎŽÕ™y˜w'­ÐM¸êÚð¦šé”ì•¢k*?òúVËš{ ·$L+`L8¯ÓZU¿þÜÒ—ˆ9ܵ1ñH§»¢4sÆ °ŽAéÇÍçÐ]Ì:D@[f„ÛÑVfÚá¡>¤Ñ
-91‡Ñ IÚúǯû˜H6® ]œo§˜¡2AR"h{Œmåk{1l3bBÉ\Ô?;˜É2f\Ì[2’a©9ŽNY£ã/q ÃÛøoäfýªåÌaŠMÒ°–.¥~€®²7ůí\… ôÓ\x`:ߣº¦ùð–šóþ¼–Ã> ½˜èÙ“ü@¨(ô8_€‰»Ô™€ÈþÅC‘é—Mð·;¿)d@æáT"R¦P·!Òð8ÚR#¿WV`9åý …¶‡eqÐàbšEPDÙW©J¨ ƒ¼o»¤è¯ªA5űžfACfX>†tfî^U§s§!û¥n©šuÔ1¶æÌíá¹w¼†4) 1ëÅ
-i¢0;º„öA×À>©Šr]ÐDý^}–ÜõÃ@¬r’¹YBš×K@ì@i 3b]ÄDÈñPÆ@»(§ì1äRÎÏçäð¶ž(ÉÊÓ¶”Éx3‚ù¼I·žR…+ÜRf¨àbEslÇïµnŠ­ákU¬ À¨¦pkÁËif(õÕS¥9ókèw*š詧´Ò“D¼õ!fzêÉHpôyù$&wo–>ª¯É×SZÉG0,ä‘}µoµüÇØ<ãÒ-åW×äï)íÆ[ÇÁÕÒ÷Ó—p ½lòš¾zJã!4™b²?ÆpOËMéìi ÖjxZi YÙtðkº|ìneSád/Ÿsy˜;Áe}é‘E3—êòAÖHÉV‹©N–{+lE ÓÀ ¡¸JO¨
-f(}ýyÈ?tÉ :Þ‡·—OÊùåB²üÉaßÁ€ÓµòÄ…,Æ&A‚±RPõr…þ7Ôg¨KÌGÍ1L·HºÎ>]Ußµ°VÓuõy6Ý0(Z}­r Aן¨ .]GW+t0]«/WéU{³Ðo$uôK_½¢—jT×5è0š¤TL+1®Ð£ ë™
- ¯¯ð6\à=äË ¦”›ø¢ sœ"´»\t>J‘‚3¡au§
-”«x|´ÝˆÇLJðxl„Æ_ä(wVO#G<-=Ž Ö)”a^«QЋ)®å'm­sϱ£Á0‡”>ÞYûA
-ô$|¼Plì]•Óìtdþ–R
-ýÍoOÑz#Q®ÈOwrv¢ êO[ö´¨ æT”g+–È"}ÌûÊÈ©)~`윰9gÆ•~ØIRî.?y¢•[5pœ-?KúÖ8Kd:l·üú‹žšvß*›m²£"é\¢üžJ¥}«Oã먓á\QëQ‰£N‚Ã$5SqÇGÆØc,±Äö¶þªâ–X¸þ«Ïù
-endstream
+2674 0 obj
+<< /D [ 2651 0 R /XYZ 81.145 218.892 null ] >>
endobj
-2677 0 obj
-<< /Type /Page /Contents 2678 0 R /Resources 2676 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R /Annots 2712 0 R >>
+2675 0 obj
+<< /D [ 2651 0 R /XYZ 81.145 207.933 null ] >>
endobj
-2712 0 obj
-[ 2674 0 R 2675 0 R ]
+2676 0 obj
+<< /D [ 2651 0 R /XYZ 81.145 196.974 null ] >>
endobj
-2674 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.87 541.675 255.296 553.846 ]/A << /S /GoTo /D (Hfootnote.40) >> >>
+2650 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R /F65 335 0 R /F75 338 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2675 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 106.14 342.303 116.567 354.594 ]/A << /S /GoTo /D (Hfootnote.41) >> >>
+2680 0 obj
+<< /Filter /FlateDecode /Length 3123 >>
+stream
+xÚµIn$¹ñ®WÔš&#‚ h©TÌÍvßs²á¹xöÅßwp_’••©–¨VU&Œ±òòÇE^~yzýñô—ÀÅ oÀÐåÇ¿ž¿u±^ ½X£„4êòãÏËoÏR'%Þø/ß0<þxþH)‰¿Ó•ß¾†çañ­ø‰-ã5JiMš …·t}ùýǯŒ‰Ò+L”wÂx?ã‚æÅa†oäË7ðî¹Á ‚÷0L#ÒÓa¡”À#Pšaµ­¥Þú'ÚŒáµ`ÆÁk딀O¢#a!W¨…ƒ "ä•ÉeÌ_Óß+Àèæj¦º·ù>Iœ¼PÒ.ÃkÏ<‚ÂãÆIæŠÆ‰ó¨£ä©pƒqà±–eiNåŽ,sÂ’ô*Î ü‹r¹•¹a¬z{ûhOaWþ¼6?Ôî囎rµêÅ…XçÎE^»ºÎ5Í´D­Ð½ÝãFX7âü:s¡Zˆ.ö’µ%Y…ÕUFáQÍò
+˜j*ZµkWdÐd64¸}ù-ô­Pºy
+(aHÊf³ödÍÊï0ÈRMv¼Ç¥°ˆóê'¸  ­6Š•E‰¹Iß•}ž­jÆ;YwyzÔÞäª âŽþFY*ž§Aè$W45X¯}n8D»‰£«æÎœÏï‹•&+ˆr…ž#_Âü€ `–­k~‘m-ÈâýÇÓª
+oŒÍ5¤ÒÏÜcÈã&7€›^t­O?ì²ãЛޭ„ô˜ŽÞÏ=÷˜ôç#2Ä;=æVU?XäBÃÖ¨`Ã×ý"Z-ÈÌ“òþ¾»œ³ÂµÅ¸¿œáüfÖé":#@.=ÃѺû?ð[HßÆ0Ô"Jm½‹Ð‡ Íæ½9K hé
+ŽV.
+u#¤!9‰“!Î-q:X%Ð^(ÀÒ—W´úìÑüœ\4
+¿Ôºƒ•öBL0AJr¡Ê ³áÆCŠ{®”
+pcðNh¤ÆCï‚ñ é,ï€ mÍ
+“£qqÁd‚´ÚêïyJŸ½?l.Óã7žÁÞyÿÀ¯Tû0Íï{—®€zÖnÀNÝì’ãGƒ+/¬tHŸQΣ…Ñn…ÝÉàh‚ÔùûïCAûýeH§²¼_by0\B)œõHþ@nÈü×­iøÖ÷x¿2¯*ùT;Ôrž–Ñ|~ÖUÎZ¶Ó8›sjkŒÕ ۹鱾S†T7zQè?’¹
+¨xˆüôŽ£N¨]R½ÇC2ìH5LdÅTH¥y_ 8U·:߈uÂÚÖ†7ä¯ëÕår)¸ž…}¹¸^ü³–À Úz‹»<5ýVU7Ž²1à
+endstream
endobj
2679 0 obj
-<< /D [ 2677 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Page /Contents 2680 0 R /Resources 2678 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R /Annots 2719 0 R >>
endobj
-2680 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 749.9 null ] >>
+2719 0 obj
+[ 2649 0 R 2677 0 R ]
+endobj
+2649 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 244.87 636.328 255.296 648.499 ]/A << /S /GoTo /D (Hfootnote.40) >> >>
+endobj
+2677 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 106.14 436.955 116.567 449.246 ]/A << /S /GoTo /D (Hfootnote.41) >> >>
endobj
2681 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 738.941 null ] >>
+<< /D [ 2679 0 R /XYZ 78.37 808.885 null ] >>
endobj
2682 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 727.983 null ] >>
+<< /D [ 2679 0 R /XYZ 79.37 773.016 null ] >>
endobj
2683 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 717.024 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 597.212 null ] >>
endobj
2684 0 obj
-<< /D [ 2677 0 R /XYZ 79.37 678.364 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 586.253 null ] >>
endobj
2685 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 502.559 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 575.294 null ] >>
endobj
2686 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 491.601 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 564.335 null ] >>
endobj
2687 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 480.642 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 553.376 null ] >>
endobj
2688 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 469.683 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 542.417 null ] >>
endobj
2689 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 458.724 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 531.459 null ] >>
endobj
2690 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 447.765 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 520.5 null ] >>
endobj
2691 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 436.806 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 509.541 null ] >>
endobj
2692 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 425.847 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 498.582 null ] >>
endobj
2693 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 414.888 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 433.825 null ] >>
endobj
2694 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 403.929 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 422.866 null ] >>
endobj
2695 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 339.172 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 393.974 null ] >>
endobj
2696 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 328.213 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 383.015 null ] >>
endobj
2697 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 299.322 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 372.056 null ] >>
endobj
2698 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 288.363 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 361.097 null ] >>
endobj
2699 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 277.404 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 350.138 null ] >>
endobj
2700 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 266.445 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 339.18 null ] >>
endobj
2701 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 255.486 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 328.221 null ] >>
endobj
2702 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 244.527 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 317.262 null ] >>
endobj
2703 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 233.568 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 306.303 null ] >>
endobj
2704 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 222.609 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 295.344 null ] >>
endobj
2705 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 211.65 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 284.385 null ] >>
endobj
2706 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 200.691 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 273.426 null ] >>
endobj
2707 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 189.733 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 262.467 null ] >>
endobj
2708 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 178.774 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 233.576 null ] >>
endobj
2709 0 obj
-<< /D [ 2677 0 R /XYZ 81.145 167.815 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 222.617 null ] >>
endobj
2710 0 obj
-<< /D [ 2677 0 R /XYZ 93.716 138.708 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 211.658 null ] >>
endobj
2711 0 obj
-<< /D [ 2677 0 R /XYZ 93.716 119.616 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 200.699 null ] >>
endobj
-2676 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F75 338 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F83 414 0 R /F16 336 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+2712 0 obj
+<< /D [ 2679 0 R /XYZ 81.145 189.74 null ] >>
endobj
-2715 0 obj
-<< /Filter /FlateDecode /Length 1531 >>
-stream
-xÚÅZÉŽã6½÷Wø¦†µp‚ì¶<@Î} rMNùÿkHk§J2éqϺMI¥§ZXÅÇ’Ìéß“9ýx»|¾}¿¡=EˆŽœœ>ÿyÃtÁœðä#°?y‡`ž>ÿ;ýõ‡1òaŒÅw
-iìɺ¾cæûQ–i<C·|d ¦{$Ìré(ý¹˜®ÞƳýÑòn7ÈÜï¾öhyìL—RùlFÍ’|ÉçG ‹éŒŸŽ8iàæçå«wôÉJîš%Æ3½þý³’í{ã{=ðcôÏc-Ó]òŽ³jáýïÏ?ß Ø›ôÿG
-'iš@båÅ"¡± ˜¹ÿs¶Ç¢üýäRˆ‡%ŠŠ[¤óû7K6ì4âi””·]þÎÄåµläÑu{Û\w­–³´¢Z.m–¯‘È(–kÞØñ Iÿ·k?#™žäpF˜F]s÷¥/|5Œ°Û¢¶{’,`´š'™ë<i# ñi²Ù݆„§>±¦tJ©g¥?¦Ë=‘uGb§é.]›îÒ/îKؽè\ú±\ûdœÇ£L¶ç^RšsÙ0¥-’æm¶HQ™Ç×iVµié"cÔ´´T™w¼ $eVv×k¶Ó!+ç.MEa ´¨ çƒØšy΃ªºç;V!Ÿâ+Bš<GM^H`U>hòìÁ’¨úÔ­&ÑC¤PåTÏ)‘Ógd½Ë¨ë¯ä¢WÝ,yO$œ×æœT÷•µtDbiu>9°ÎªÆV. ƧpH—ìfÖ;sŽÞ>e éöìˤ@÷‡Ò„š“-8£æImÉó¤@zHØËãuŸ°SešÓËHúñš•µ‹ÃhåiEÚt²‘Á…Uùì |s‘/ĶϪã嫘aKŠã~*.6ýxÖ\P»‚¸
-endstream
+2713 0 obj
+<< /D [ 2679 0 R /XYZ 81.145 178.781 null ] >>
endobj
2714 0 obj
-<< /Type /Page /Contents 2715 0 R /Resources 2713 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2679 0 R /XYZ 81.145 167.822 null ] >>
+endobj
+2715 0 obj
+<< /D [ 2679 0 R /XYZ 81.145 156.863 null ] >>
endobj
2716 0 obj
-<< /D [ 2714 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2679 0 R /XYZ 81.145 145.904 null ] >>
endobj
2717 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2679 0 R /XYZ 93.716 116.798 null ] >>
endobj
2718 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2679 0 R /XYZ 93.716 97.706 null ] >>
endobj
-2719 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 732.964 null ] >>
+2678 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F65 335 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2720 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 722.005 null ] >>
+2722 0 obj
+<< /Filter /FlateDecode /Length 1716 >>
+stream
+xÚÕZÉŽã6½÷Wø†MÖÂ0°Ûv€œûäšœòÿ×"µÑe™´Ý™ ž–-ê±êÕÂ*ŠZñîïŽÿÿövüz{¿pØ‘
+Þ ì¾þz3;ÿ™eiç¬QÚšÝ×?»?öZ3hX>þãϯßëñ¬•Ñ ·<Œ×iò8õûÅÓΫ`-úå¼Á©
+eÃú ·ºßb-÷\–° DöeÊ)ôJÂF‘Qß'ÉÉ^J¥
+\OUù'±œj¸aG8
+ˆûyï9]~¹Ã·Óˆâ[7R” Þš=5}Çâ-Ü»âQìè \Õ³éoce=&²5ÐÆëÙÉ}…@±1Âõ~ͨ@kA^^!THOk‡ôin‘ýÖBÚ€Ò\ãôîˆc슌(Ç¡«¿ª‘þû^&ü¤7û9² qØZ—ª¬B»¢—÷=­»!óÞëB®gz{Œ- kyk¬¹ÁD¾®‘z+WŒ½‰QÀ}QP!Iv;ÎÎËÝÛ…½Î‹(Ø3EÁƘ)
+¶ÆXqLwÄŽ=‹R_¬‘îDÁ¹Š‚[šnGÁùmQ°~º“·Ø/ÆòEŒìY j nF¶ÖI‚ôu6PªwReS¸¢ùýüXm¥÷€b…?Zjª‡†’t´
+ߤçJ2չݥ 8Œ¹î*oÛcoåXm«²6£ D¿Ù_2ß7ºGƒ3 *m¦Ê•\Ù2KÍÄ¡h¹hû§bnŸ;Ìn‚ÒÎHfo¬·G³¯ú„Ž÷ü=ªã˜ÐïäýÌoœW`œ´·‘ã~lÆƽœüëF7ÚçÆ’$—hìbŠKT@Û›aÒ†Ö`<³PåµÇÕ £BÑõ[»¤Òj®¾ã°ZÍÄÕ BÕnmlJ^#m¾äY7'©„ÅÕkáEáµj†rùU>·sÂ
+endstream
endobj
2721 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 711.046 null ] >>
-endobj
-2722 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 700.087 null ] >>
+<< /Type /Page /Contents 2722 0 R /Resources 2720 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2723 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 2721 0 R /XYZ 78.37 808.885 null ] >>
endobj
2724 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 768.829 null ] >>
endobj
2725 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 757.87 null ] >>
endobj
2726 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 746.912 null ] >>
endobj
2727 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 735.953 null ] >>
endobj
2728 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 724.994 null ] >>
endobj
2729 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 714.035 null ] >>
endobj
2730 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 703.076 null ] >>
endobj
2731 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 692.117 null ] >>
endobj
2732 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 681.158 null ] >>
endobj
2733 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 670.199 null ] >>
endobj
2734 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 659.24 null ] >>
endobj
2735 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 648.281 null ] >>
endobj
2736 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 637.322 null ] >>
endobj
2737 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 626.364 null ] >>
endobj
2738 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 615.405 null ] >>
endobj
2739 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 604.446 null ] >>
endobj
2740 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 502.827 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 593.487 null ] >>
endobj
2741 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 582.528 null ] >>
endobj
2742 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 480.909 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 571.569 null ] >>
endobj
2743 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 469.95 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 560.61 null ] >>
endobj
2744 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 549.651 null ] >>
endobj
2745 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 538.692 null ] >>
endobj
2746 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 527.733 null ] >>
endobj
2747 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 516.775 null ] >>
endobj
2748 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 505.816 null ] >>
endobj
2749 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 469.148 null ] >>
endobj
2750 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 437.066 null ] >>
endobj
2751 0 obj
-<< /D [ 2714 0 R /XYZ 79.37 356.57 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 426.107 null ] >>
endobj
2752 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 338.436 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 415.148 null ] >>
endobj
2753 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 327.477 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 404.189 null ] >>
endobj
2754 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 316.518 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 393.23 null ] >>
endobj
2755 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 305.559 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 382.271 null ] >>
endobj
2756 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 294.6 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 371.313 null ] >>
endobj
2757 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 283.641 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 360.354 null ] >>
endobj
2758 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 272.682 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 349.395 null ] >>
endobj
2759 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 261.723 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 338.436 null ] >>
endobj
2760 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 250.765 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 299.776 null ] >>
endobj
2761 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 239.806 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 281.641 null ] >>
endobj
2762 0 obj
-<< /D [ 2714 0 R /XYZ 79.37 203.138 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 244.974 null ] >>
endobj
2763 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 185.004 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 226.839 null ] >>
endobj
2764 0 obj
-<< /D [ 2714 0 R /XYZ 79.37 148.336 null ] >>
+<< /D [ 2721 0 R /XYZ 79.37 190.172 null ] >>
endobj
2765 0 obj
-<< /D [ 2714 0 R /XYZ 81.145 130.202 null ] >>
-endobj
-2713 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 2721 0 R /XYZ 81.145 172.037 null ] >>
endobj
-2768 0 obj
-<< /Filter /FlateDecode /Length 1719 >>
-stream
-xÚÕ[Érã6½û+ôîAoXª¦TeÏÈS•³o©\“Sþÿ€%lÉ€$;ÉA–DB¯÷F“v»¿vn÷ëéõýéÛÑ.Aòäe÷þçæn‡»€Ã.xçq÷þ÷î÷ïÎùè¿åíŸ9r>"ùˆb~ÿ™¾.G=åWÊ/—ÏÐr¶ßÿñþÛ“-òß_ùúšv)"Óùõ#A&$
-×bº…wð‹l gÕã§Ã%ùò¹¸Õ…–_ÒÏQ¹I“Zrsê“›Ä@:Ió²•ÐãñX‘!Ëþ|>ÊáŽçù|eÑÌñu\­~Tj ö¦Ô±Ojq@iƒtÆ[G99
-Ñô@í㤠¸E½ÁêwM^Kó•êu±ñ¸3û¿Ë.>0&SÒ§Aó¡éd—KÚøPâs­Ð¬1z›×šÚ8¡#\œíÿ”ýŸr$©×ý¹ýÅUﯟðÈ#¤ý3:u7!"\ˆ ³Á
-è,4Œ„°ó¢ 3迧ÎËgÅM¬µˆCKÍrSóécWÿ”À³ovºœ»$WÏFœ&åd¿)2‘Ùb²¹—Iƒd¹ýÕ,ÑSû.¯F9X`¹ñ‰Á¸õ8€’X:ël:k†­GÔ«ÉäeŒÉ‰s
-_‹4¬%çÁa°˜ð Ç­‘n.Á’rwk2ŠC%¸EzD –(àR2-×Yør«‚6H£YK
-šLdŒÉÉÜû™ûÖ݃xŒdx.MÍzE 2“bMÏÍúRKýv:¨ÝI´ŽA ËcP:Ìg|©XüecP¡ìÔ´7×Ö1hƒôƒ
-ÆÌÚ[r÷fö:m‘F»,)ú‹ÁdÒ™ÇYA£ß Ý7†­“õ~G—ËɃP´¤í­UÚéŽ>—£fK&“SgµPAß"}Î<æÒöÖ\ÊA@Ñô¿Îjä"c4DŽjðÿË lW\Z#+S•LsȘ9ÖH'{̉¡±Ç— a ÑÇ dY 4±ö<¦é5ÒÇžÿ_Ȳ x6[žîlÍ‚ ÒhÌìÀ‡mO";ØʤAž;Ø#Ös×}¼«ß1…`Ì»ô–æºwÎUs Ò° ]„ ÁbÒ½s®LÖH7ï )wä!E“QgŸ%y/èpƒôˆ=!EŸSI²Øuß–Ÿwb-Ò0“ M5uχç­zÅv`?¡MÍ[¶¼}CÓYtL k¤;ÚTRΗa““ …T‹tç8öcý_J¨¾à^ ç°Ó£yLo Òph1Aî ,&ƒ%¶EúªÑ,åM¯‹Û¡#—æiX—è
-ÌdÚMǘ¬‘. f¯äðAæ"ÀÆ}Lî¯Ru Ø" ë"›L:ó~á6@—g¸Ã³Ú‡>«éA³ä¢šoo¨—ŸRÎYIOOÜÜO!O)#~Ÿ¾øcO±œuóûél>3_"²u‰œ‹¡t}‘Ië2ËñGÌÛñ(¾à*¼w e4}bVêhP/gfe-gi:²žÄ¡×kO]—­üþYØŸ=Ã]|ŧ«¢SÊ-³ÄÛEçõê[Ý…:<+@Å[«8\E9Éï뤧IÛrtÍÐÚ5QÄÍÑÛ!J ïÝ]l}­¸öôã:º.Œ‹Ú's¤™kµÚ5=Ir,5ɦ9ãkõÚ·ÕÝ¡Ùýc˜Zû…RIι`zæþ™™Ïô>«l9ºr»ãº£»Åó3Z›ã#~¥uŠêãJ,JY¾å«ŸŠ¢®(©®ZduåÂz»² /(jÁ:ùUMgK7zI1WÝ ûfÙ:çpÝ̘ò^˜›«ŸÂsôÿÀ³ÙHu¶îËÿE¬p®ÿ[„•[–ÜNí=¿K: ”ùk¹;éôŒøÙNöðþô"£Sß
-endstream
+2766 0 obj
+<< /D [ 2721 0 R /XYZ 81.145 161.078 null ] >>
endobj
2767 0 obj
-<< /Type /Page /Contents 2768 0 R /Resources 2766 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2721 0 R /XYZ 81.145 150.12 null ] >>
+endobj
+2768 0 obj
+<< /D [ 2721 0 R /XYZ 81.145 139.161 null ] >>
endobj
2769 0 obj
-<< /D [ 2767 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 128.202 null ] >>
endobj
2770 0 obj
-<< /D [ 2767 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 117.243 null ] >>
endobj
2771 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 106.284 null ] >>
endobj
2772 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 95.325 null ] >>
endobj
2773 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 732.964 null ] >>
-endobj
-2774 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 2721 0 R /XYZ 81.145 84.366 null ] >>
endobj
-2775 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 711.046 null ] >>
+2720 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2776 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 700.087 null ] >>
+<< /Filter /FlateDecode /Length 1785 >>
+stream
+xÚÍYËnë6Ýç+ü@À¹± t]Ñm»êÿo;)ɢƲÆv‚âÂ7ŠÄŸ9ÎKèðÏÁðÿ¿¿||½¼ž)<ädѾþ~±Ãÿì!9þƒìáëßßoÆ3ÆŸŒ Çrýþ××/¦€1Ôë9ùC‚¦KK¬ÃÒñý7rT®H¸rã•7Ó=œ®>ùsºø|®W{¹ÚþĺÚy~j.ÿŠÂxeOküt°óB¶š‘kœ¤YøÐiÖ!e-d"“£ŽÉ -£±†>j¹–¿J`„y#Ÿ!š´Bö0ªõ²œ#‘]ÚÇ ¤˜WHj&&€ AÜ9Ú©“—×H›çnyj†Sr¾uR¼©§Å²Gð¯ÎÜ>¦ê#2š(ÊáUrtHlIË)y@ŸEgAÕáê‘~64Žá0~cH E©üI'ÕH{¬Bpàq•Î0ÏÁb/‘ ÅU%ÝG½öå1²·óõ¸†Xu*÷“ֲ࣓,P&äI­%Ÿ(²(1Q¦¹iéÍÕ/•Ü\"/rÓ%¾I­’M@™$&¨ô¸%ÒÝ)8˜ƒÈ(©RpôŒL9@ˆQܹ‰Ï°ì×=’6fQ"ˆ6‰L¼ŽÉé"ç·âvK¨zâÑC”÷·æ¥ny@HFŒ‰-8wëÉAòë”vÇÐ!»ÔùTCb Ÿö×›8îTŸ„’®°®llA”ïãGIl5È–
+©ìƒu²uHê£å='&6eŠí‘~j2‹ˆÂÚ½:5÷Hj-ƒhHb¢Lu=Òã“Y´¢7eòë‘Ô*1E‘ÉQÇd‰twv)CrIb´ûåhMÃ=Ò3Ò°‹ RÈ"»¤ õHÚ¨åB„lÅ#‘е¹ìF Wò¦
+z ÆŠLvÆý6Ã퀮ÏpÕ³Ú)).ÛÀûf¿”Ÿ4K.Ò¼ž-Ê8Ñ•=K3—¾îîÀÚ<Ïzß¾Õ™.G¬·:ñµ¿Þ]*OMý9?å'õ;Jßa]„²£Ý· ºûjÉ –v˜º‡›ýÁŒLÆéôÌ­¤Ò2£ŸT½Æ§n¸óþÛ`Pq€àäN¾Ü'v ¥ûi”¤¬Þ4Þebêéã‘>…•|±ÍÏ
+RqÙf6cfB¶á0lïVãݶŒñƳ»à.c¢ЀI++>üu›`ÎEúaKreÛvnK*Ÿ9©‰Jã†iãGsÞóâ-Q;œí\ÃŒ“ÉŠˆ,â…öU¶ñîÂù¦u“Ó¥Ë'Ôªä ¿ñš÷´ÒYÆßø¨µ«"Õ†LmÕhCl+GÖë•e&xE©kö­×Ʋôš0›žÀ¾dKZEǸ½Ó–‹Äþ¯) ÇT—Xl
+à¬XTí,ã[b逮'–kóÂ1лû_
+endstream
+endobj
+2775 0 obj
+<< /Type /Page /Contents 2776 0 R /Resources 2774 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2777 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 2775 0 R /XYZ 78.37 808.885 null ] >>
endobj
2778 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 768.829 null ] >>
endobj
2779 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 757.87 null ] >>
endobj
2780 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 746.912 null ] >>
endobj
2781 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 735.953 null ] >>
endobj
2782 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 724.994 null ] >>
endobj
2783 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 714.035 null ] >>
endobj
2784 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 703.076 null ] >>
endobj
2785 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 692.117 null ] >>
endobj
2786 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 681.158 null ] >>
endobj
2787 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 670.199 null ] >>
endobj
2788 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 659.24 null ] >>
endobj
2789 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 648.281 null ] >>
endobj
2790 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 637.322 null ] >>
endobj
2791 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 626.364 null ] >>
endobj
2792 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 615.405 null ] >>
endobj
2793 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 604.446 null ] >>
endobj
2794 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 502.827 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 593.487 null ] >>
endobj
2795 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 582.528 null ] >>
endobj
2796 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 480.909 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 571.569 null ] >>
endobj
2797 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 469.95 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 560.61 null ] >>
endobj
2798 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 549.651 null ] >>
endobj
2799 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 538.692 null ] >>
endobj
2800 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 527.733 null ] >>
endobj
2801 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 516.775 null ] >>
endobj
2802 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 505.816 null ] >>
endobj
2803 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 494.857 null ] >>
endobj
2804 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 483.898 null ] >>
endobj
2805 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 382.279 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 472.939 null ] >>
endobj
2806 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 371.32 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 461.98 null ] >>
endobj
2807 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 451.021 null ] >>
endobj
2808 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 440.062 null ] >>
endobj
2809 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 429.103 null ] >>
endobj
2810 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 327.484 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 418.144 null ] >>
endobj
2811 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 407.186 null ] >>
endobj
2812 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 396.227 null ] >>
endobj
2813 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 385.268 null ] >>
endobj
2814 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 374.309 null ] >>
endobj
2815 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 363.35 null ] >>
endobj
2816 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 352.391 null ] >>
endobj
2817 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 341.432 null ] >>
endobj
2818 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 330.473 null ] >>
endobj
2819 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 319.514 null ] >>
endobj
2820 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 308.555 null ] >>
endobj
2821 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 297.596 null ] >>
endobj
2822 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 195.978 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 286.638 null ] >>
endobj
2823 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 185.019 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 275.679 null ] >>
endobj
2824 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 174.06 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 264.72 null ] >>
endobj
2825 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 163.101 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 248.78 null ] >>
endobj
2826 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 152.142 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 193.985 null ] >>
endobj
2827 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 136.202 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 183.026 null ] >>
endobj
2828 0 obj
-<< /D [ 2767 0 R /XYZ 81.145 81.407 null ] >>
+<< /D [ 2775 0 R /XYZ 81.145 172.067 null ] >>
endobj
-2766 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2831 0 obj
-<< /Filter /FlateDecode /Length 2983 >>
-stream
-xÚÝ[Én#9½û+ôÅ"#¸†Û²èãÀ·Á\gN}™ÿ?Lp_’™JÊeTcº¡’œIFÆÁG&gêòŸ §ÿxzû|úySî"™³áòùï'qáô¿¸X`Z^ŒŒkqùüëòÏgÎp.?âǸ—}þùÄ=1"õófåÅ2§5Ú–ŽšeFJR½üP <Íú‹¨jAGNcüÓ®œãݳœÝWtüßy\Ë|,¿®‘‚*÷D/ýu(³y;äü»ÒQ:JÝ(ñŽg‚ÃLƒÄÅ) ‚fÂÀH©á¼hð[´ªZ}I>×ö}Íɦ{ ‘f7¶"û!¸âÝí*8ÛÊ‹dV‚Ž ‰3£è·sF‘Š§#¥Ê›&ÕŠwº‚S±ùË12ã÷õ¿¨˜²zCIÿ
-î„a
-×Ó-rÙ˜%£|ó
-6×YIíþaþÁpËW³º4ÏS»!Œñ,‡ä)§ #S]Öet©]ñ©}í"•‹™h”T˜£%R'Z|æK4k®P2ý ñŽ+¸t䓃Ƽ¸h²¸â}RT• ¤ºWT%ǤÂ}ŸEõ‡V!šbþ7çǦ'Îm½"«Üh?R&e’?§yÕ ùJ’eOÉ ‘šõQ¸ Ù¤ål]ùV´ØQÙãÞ!{ŠóÕ
-¾å6k3fû|µ8›ë,êÛk!3—£Ù{~ÔF‡ñŽ·üü—À‹,:Ü2QÍÍYpf^yOMæàÊ1°®ä†kc974„¡ñ.>g7!fÛ&¸´“oMçІXlÚUÒÀ5…riõ[ïJWuòÂ6^Ï.ꕪ¯ë™T5•46²åI¶ò\îÿÆâõã3³_ô¼Énlé¯Iî2¾Ï€6¯'rPN{i%©C9¦ÖÚŷ幤°·%VÒˆs©¾YAÍÃUXÃ,àÈUv²¼rÎ)Ç'Tö¹fy™BNß)+R3©äøœÌe /_üX(Dfç­µüXY „ö×'ëì£kÔácIuúÍ÷ù³´V(UØtׯŠ®›^íù•ÌÕþ¯å÷,Š‰œYãFJ(nûðk\ɯ¶PM
-J±´{;i(™48RÚ,“w´Í2ÙÏ©
-LåLÎ7†ßsKt‚«¶nyw3)¥'j¶Áª±¦ÔÌ:­ŽN3zœ¼R˜¤d ð@q~í¤ìHiScNé0aÄÙ®vU¨¤¢¶zÚçÞ&ñ:&|çà–úxÛÐY¦ÅF”m@ûÀËÔ†ÅƯw÷mŒ`VâFý«è.
-ÊÎÍ:Å“ÀWBwBûè<Šæ5iRNù]s{B߄債Œšš»g±¢´¶(c¹'—`jrBã:âçvgOYìž ^Ö¬1”ÑpªY»¦ÙžÒ µð§€Â®¤]
-Q›é¸|¤]¿‡\v ¯µ[ð„Üzž›ñVá5ŽJ|=3Ë<÷)Lýž{ÑjÔ)=_µtJf Ôé}‘'¥˜ÞÂ%§“øy? 7PÚ;H+Åv¥&ê[ó»Ù£žª½¦²2‰Õµ=µå“ö@í–žƒ0g4m™¢K¥]?~ßÉIDæ®]Þûe±?جóVjê’fv[ºçã{Y׈L[3Óõ"œ7P:ÈÊ‹Roh`?Åï%øi t
-~ÔÛÚz̾;_&~Ñù2!U_7>k¥ֆъt¤ÐŸ¶{ø¤€¡öp£‹yÜœÞ"#"
-9pÝyD^¡º3j¥”J>׳IåW8Ï–e*gžlï½ ŽñÐZ>+”¡ÁvNîïã¼xD'ƒpÛÃ.]tíx¯Fò›Q\lMH'W®‡ñ
-Íxn”ªÂkoIÛ×X[Óª"yñÊá‹Â
-J“rÜ=I—àkƒÇ|ÅëU¾¬ V7®¸t)LàêóShêþ€Òλwõ½»ãðͤ”#U ñ³Øð IKf3møNî7&i tðÑù>éQd‰LÅ4Ìd:{$,!K=¡ÝÕ†jû¬¶ÇÚ_íÕNêKïI  uªSQ×@´R¿.ûR „¤uþÔ¸vjs ôØ:ðØç☼®ïÏÀ×>ï7¬Gf$Nµh×´ØSúFŒÈÑÐÊ©s®½Ú×j¢×Ù!ôî{3ì¸Þ%÷ȉ*9ÔTd¹$rOèd8³ZOý
-—8î ݧ=@×ÿ#0è>D~ü‚™CiêÁ¨Å¨YÏùø|ú˜qk
-endstream
+2829 0 obj
+<< /D [ 2775 0 R /XYZ 81.145 161.108 null ] >>
endobj
2830 0 obj
-<< /Type /Page /Contents 2831 0 R /Resources 2829 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2775 0 R /XYZ 81.145 150.149 null ] >>
endobj
-2832 0 obj
-<< /D [ 2830 0 R /XYZ 78.37 808.885 null ] >>
+2831 0 obj
+<< /D [ 2775 0 R /XYZ 81.145 139.19 null ] >>
endobj
-2833 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 768.829 null ] >>
+2832 0 obj
+<< /D [ 2775 0 R /XYZ 79.37 102.523 null ] >>
endobj
-2834 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 757.87 null ] >>
+2774 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2835 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 746.912 null ] >>
+<< /Filter /FlateDecode /Length 3278 >>
+stream
+xÚÝ\ÍŽ#¹ ¾ÏSøZ#‰ú ´»ºäÌ-È59í%ïõ/±Tå’g»È.<¶Ë%Š¤HŠüÄjÎôí?7ŽÿþíÛýÇ·ï_ÚßóN€¼ýø÷7qãø¿¸9ÉŒºY#7âöãÛ?_9×’sõÉ9
+ÄP¶–Ö`ŽÂ Ÿ¦5ês¥Z „Ž«…‹»í³•ƒ‘ß4(¼¬_ª(%¨¹²²W1äÖ«€†gfüjy_àÌYO)èt¸ÏÊ·TלWMæpÈÑÃk×Õ3ýXI]Êô[ßñÕx^Ô1×ÌJ;Ó±¹_Ó±Æê*¸:¡ä©~"Oèt?vE¯eôÏé¶ãaM¿Ú+f›ê÷}I¿”Ò¨_3×­ùüñà®HÁ>#渟I~M:Bi.ä ?'6ÏHg%sÓpy-ªÂ„Æ•s?½rþÙŒ`΋©]ê5á%ÿ Îì7Z Nk´ä*^+·¹ç>ðáe­`ÍîANµ¢–vB Ì|ÇÚþÙ.Œ…¿·0µrX3Bé/áÂÒc•7õá‹9\•ŽPúK8±p õR³ë{0þòZ“n¤ô›œXÍ’«‡Î¼¨“P×{;ÓÉÕ¤“E«-¥$íi%’ª0Ìí™÷ QsPÊ8%g¨—*(J¨q]¼£Ü[êj»Õ²/ßß°’)(,0£af Þ3c!$
+§Õ2ð <ņ„‘ЮH>PìŠä0¦Á#åסèW
+‘*Í¢°Zì«%\0ÕG×r^ApeÎ"–a 3á÷Ut‚qeˆÚ~¨¨…dœ.GÆɉ! wÐjÖ‚µ
+Ü[yJÁLÖû±Ü‹kf4¦*bê½z©_†Pô¾È“V¸¯Ê)O‘/‹1Q¥¤ô¼kL‰}¥bfð°îsw>=t“õ>¨æžºvž–ë )`JÀÔù.BgÆ1—¥C;þ8ˆHOxæáº|ŒE±v©g)£æ,i¶ñ8÷º/ëd<èèzÈ#”Nbò"‡¡ÛÐkÊá¤^x<J—€'‰Å¢îôÓw™‰_Ôe&òå<k%66f„ÂØu÷tÇ”ÓÃ.æip×¹!DA"D„uL†™d²z+Ó˜Ò‚éö™Œ€9a¨(cÝ~˜âÊÐï¥èè¡cFìúp„¼¾Âx7ϘcóóB£bÕf®Å„%±Ö;-@.]ˆúµ‹ó‘N0ÝЪ¸*¼u=fÔK‰.þÚú’j÷Vìe+2Õ~'WîVî ÈZé*À`?¦ä÷i\jÏ)ܾÑeð®ë5¸h*n
+Šk¦ùŽïiP8ètÄ€pJáުЂæ&©¼vÏÚÞÒÞ’™Ö ÉKW<@ìËx ßÕBíV»ÝϼÜkfQEYÊð‚L6k°æPá˜Xí¨øØøì+Ñ'}ÛOÓ/C4ˆW.!²ñÎêó‰’,>Ö¢`­Z]?¦ï¯«Í–s# Í–Æít½`$h ¸ñR©CŒœ WÀòó%DIxAiž<²qjÅÜ0¼qGm;åA “j‡Ðøž¥Ëðµ…s¾,–ܬò…¾h1™§¦¸tiLÀêüÙ5u0›VÝŠYPMéC‚]ÎÝK¦B58hz-&|“vçý,á»xÒ˜Q$Bèäi¢ëyҳȒÄ`ìÕL¦«í`X VºÏ³úë¸Úk™©Ü%Å,šŠº†¡Jc]öSH‚aÎ4ãÖ:6 ¥çêÀs›K÷”º~ìoyÞŸP;âhÆÍÔ¨¯‚dE‹#¥ßˆ ‡Õ*ŸV“‹OùJFô>kÐÁ[ùxÛ)t}Hî™naÊL…VkB”~çBaI+œ¬ñ<Rz P˜¶ÿ#Hè1LþZ2Åk0†Ï†Êa¿ò>5Úä¯Ó=
+SÎÔÒÕÚlcò¡"™w_
+œç&‹?¬•\÷¤Æ s©0 þ8ûŽŸÎ‹KŠ/î)êHŠ!|Ë HÈB¿<Ü'˜ÐšÎ–ªÑòŒG;yL¥‡œéêpÈ©Œ%ý=*“G·ÏÓTc¶ð;cg¹H/ó9¯ÝÂõ¢Œð9îy<YnßL ÝnöÍDûŠT(Ž‰ªi…p^®úèÍ ¤'Si[’·´ŒWJ&AwX•ÒîÜ9Î㥾wj8N¿Š–4âåQ©fgݱ8ó1È݉D1‹>€Ú;õægƒ^L„£BËž¬ëþẠ4iko
+endstream
+endobj
+2834 0 obj
+<< /Type /Page /Contents 2835 0 R /Resources 2833 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2836 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 2834 0 R /XYZ 78.37 808.885 null ] >>
endobj
2837 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 768.829 null ] >>
endobj
2838 0 obj
-<< /D [ 2830 0 R /XYZ 79.37 691.303 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 757.87 null ] >>
endobj
2839 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 661.722 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 746.912 null ] >>
endobj
2840 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 650.763 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 735.953 null ] >>
endobj
2841 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 639.804 null ] >>
+<< /D [ 2834 0 R /XYZ 79.37 700.214 null ] >>
endobj
2842 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 628.845 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 646.372 null ] >>
endobj
2843 0 obj
-<< /D [ 2830 0 R /XYZ 79.37 595.155 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 635.413 null ] >>
endobj
2844 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 541.663 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 624.454 null ] >>
endobj
2845 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 530.704 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 613.495 null ] >>
endobj
2846 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 519.745 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 602.536 null ] >>
endobj
2847 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 508.786 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 591.577 null ] >>
endobj
2848 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 497.827 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 580.619 null ] >>
endobj
2849 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 486.868 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 569.66 null ] >>
endobj
2850 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 475.909 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 558.701 null ] >>
endobj
2851 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 464.95 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 547.742 null ] >>
endobj
2852 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 453.992 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 536.783 null ] >>
endobj
2853 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 443.033 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 525.824 null ] >>
endobj
2854 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 432.074 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 514.865 null ] >>
endobj
2855 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 421.115 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 416.935 null ] >>
endobj
2856 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 410.156 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 405.976 null ] >>
endobj
2857 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 318.168 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 395.017 null ] >>
endobj
2858 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 307.209 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 384.058 null ] >>
endobj
2859 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 296.25 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 373.099 null ] >>
endobj
2860 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 285.291 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 362.141 null ] >>
endobj
2861 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 274.332 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 351.182 null ] >>
endobj
2862 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 263.373 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 340.223 null ] >>
endobj
2863 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 252.414 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 329.264 null ] >>
endobj
2864 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 241.455 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 251.668 null ] >>
endobj
2865 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 230.496 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 240.709 null ] >>
endobj
2866 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 229.75 null ] >>
endobj
2867 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 218.791 null ] >>
endobj
2868 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 207.832 null ] >>
endobj
2869 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 196.873 null ] >>
endobj
2870 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 185.914 null ] >>
endobj
2871 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 174.955 null ] >>
endobj
2872 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 122.47 null ] >>
endobj
2873 0 obj
-<< /D [ 2830 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 2834 0 R /XYZ 81.145 111.511 null ] >>
endobj
-2829 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R >> /ProcSet [ /PDF /Text ] >>
+2874 0 obj
+<< /D [ 2834 0 R /XYZ 81.145 100.552 null ] >>
endobj
-2877 0 obj
-<< /Filter /FlateDecode /Length 2875 >>
-stream
-xÚÝ[I\¹ ¾÷¯¨?0²DQ`4Ðåî`nI|Ìi‚Ì%>d.ùû¡j{zÕ¥¶s™C¹Ëo¡>îÅ’—?.òòóÓõëÓ§›2— ‚‹—¯ÿzRtC^ÔÅ¡ÝÅY%¤U—¯ß.¿~–R¿Ñ¤´2ÿ…×矴ótÇÁ3¸øÐè¾ægÒs7¾ª¾<ÿöõZÕ.WUF œ×5Hô⺾«H»PYcWÎ míLÅ&
-Ïð èÞLÉáŠHà€GGN²láQ]éï5_XßÁÆ ‚1Sv‘Ú-S€kƪ«ôâÝDÛÇO”½¤« ŸÊ6á{A˪é‘Ey—ymA
-º†qZÇ…üß2­’Ï>Ý<^<¶Õ~HÒ 0SâÁ@R¼áo¦}{{4ÐGžšñÀ ý½Å÷™RL“êP×®(¬ªwK Vb£`ù›ªô]èînÊVQŒG<Èö%QÝ’íH©ÉÖ¼Ì\™×]”R ðf…ÒÀÊ‘R‡Ò4-´
-å`¦´B¯#Ú®\½W­#Y¦j!Gë>®Xzñf§wÞ?Zg ŸÍ²9©ËýÒòh¡Ì°ø˜…Þkæ$ÑÞá`ŸèýÑ°ÖëB:›:Œñݺ¥_öt8Rj:Œ’ÏAzéá›x­(ý
-¯{xGJÞî'Æ Ä°Äì÷0”FÌ}á zâ­Äîë½è:Út«/[ú,ÏkvÕbNÔƒMÂ-¸<KRTCyÁïÞoaŽøí¶¬Ñ
- jiÏæ1Y+K%§›)­òS”›»¥g.Ÿ¬VÂ`õ S¤ÛÊ£\âéET(›Ñ\–h£'=ñ.Rœ“Mö–w]|)åÜêŽ÷î~Q“ÄÌŒlÞ¼‚WËM™”´‚WˆT¹Âµá®¨‰;áà@·?»Š¯¥`æb¶^YhòÝ]´öBŒy\*ïl mýÕ¬ˆòÄ1uMCMÁ¹`ÕÍhò~"íhä¢Î·*Ó¹OhfˆQu¥/WåÃŽ`0ÍRyß µj¯²_Pºg= ŒÐ3zÒ¸QŸÇB·ß%iÃ:wÈΓßàTÍoT”ùk{ò¸Ó©AëÔN)À˜ZÃêõ[^Ø‹¼G¹¿¤¥ü¡KÚºk™Ì@"Ó愬\<(±k’±ÛÐÖöžÛ(2ptj^…C‘v÷›`†ò€÷Œì #ïYÒ63adÓÊõYr¼…¯ÛÏÒEB=¶'Ê®·2µ¼Ùg×.NÅNòÚí$»w™>NÍ”™Fuq`®JÀêê¡I~jœ¥«cã ±/DKbÕ7^°iëó±¹V½Ã61u*>ÕÑgõyj4ò6eV£_õ‰IòyÚôÎLza”'f…F€>PKm»×VÀG3Êý Ú&(WáNãÃÑ"õ¯|×k>‰šÑ”ú©<×áik°†Š¡¦ï©¤‚ž~Ê ù°È‰øp@À@rµ%ÒÇ^þŒeÿçï±þrë4ˆZHJã“"¦èЪ¸“dj¼pÊÔÙ"Þ§À³¤ˆé|3ª—Î9¥—HÂÞ­Çjk¯n5„×Ë~…ŇêÖàD
-Tõ)µ.Ü#ü4>õÛ ž¬ÊØOv_™§‘RÇÓ÷öŽÐ PÁ­0>Üc-GJÆÖŸÛÄF™´_b{ÙÃ6RjØ¢n9çòF¾ÙÅ{Ï5Îk—? \Xñ§7m~¤ôáÎõ&~Zý1|¿ Ô¡‡®r¼Ö‚t¥’B[µ´"³s¤Ôá|kç|ºXIý~;j¡í×>PÉéʥج䘟‰Rã]+ÇR1°ìþîâŽÍ,ÔKsÑ{¸GJ³lbuN _f£Gs*c)å”Ç›|Ñ®ƒ–?ðå·³ìDéè u’fÛNŒæxb1nf͉Ró9Gp'àQíøÛmöxbñnfЉңxãhÉØ8™+˜ñŒv]u«•
-·éN)ïiy™3ÏNTKøÑÓwªñéOXÊ|¯2˜(•oqliù1qbÇ`}3é„îêo!mÕœVKˆ{‰}¢ÔÙ†mC6)Z«Ö¸jßÅ-¥p–V±—é'JlomÏV[vï7$öø
-lˆðF ]Ãî[¦úç—ü%B+{¡ºÅé8;=þî“lÈŸ[¥±:=‰>Ø»ðíߤY¹¬uÜ3qô ÍÑ'ÞŽ>›¬€$]ú%+¸5ì>QŠ›Œ®ŒÊbyûúôŸÉÐ)¯/¿{úõ7ºüOúüBÈuð—ÿ¦¿]”CaU|íß—<ý-ÿЩK*Í
-endstream
+2875 0 obj
+<< /D [ 2834 0 R /XYZ 81.145 89.593 null ] >>
endobj
2876 0 obj
-<< /Type /Page /Contents 2877 0 R /Resources 2875 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R /Annots 2921 0 R >>
+<< /D [ 2834 0 R /XYZ 81.145 78.635 null ] >>
endobj
-2921 0 obj
-[ 2874 0 R ]
-endobj
-2874 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 142.077 246.868 154.681 ]/A << /S /GoTo /D (Hfootnote.42) >> >>
+2833 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R /F75 338 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2878 0 obj
-<< /D [ 2876 0 R /XYZ 78.37 808.885 null ] >>
+2880 0 obj
+<< /Filter /FlateDecode /Length 2533 >>
+stream
+xÚµ[Én$7½ë+òšM2‚ PµT|³­›á“ãËôa|ñï;¸/ÉL%ÕÝ0ʪÊåñE0Ùœ©í¯Óÿz¸½=|¾+·!sV€ÜÞþû 6Nÿ‰ÍJ¦q3Z0®Åööuûý‘s}ãܸøÜÓo??pFPŸï7ËœÖ`[!5FŽH’?}RRyLÁ9júHÎÆßþ¯øBOùqd§¡ýgÅ™àrÊÙ®qî‘zÎÚcòÈ_›ðå+qžw~R¼æoÆåoèߪX„w/gÄ#yós·¨£ó íý ¡{üx)hQDFþ>Úòî=s£'圿^Ö58&fºÖêš®…fF™Ié½½ÞTdøù.ÔæM‰Í8„%‘ ç
+VÒnÖgšð¡Ó¸Cßå‹¿c³fÆç¼þã•`­<b^u¯_‚&ÓS^ßJ<}’6M‚œ‰bœ‰!4îä(ˆ|N“{‹HS&Þ$l"i+f#!ÑzÁ£FúõTÕ$3r‡à9xÅ(L"{2QëE#ÐÜ“”ÆËR?Ò
+XËP©ëZ9åÄŸ´µCûòô ‘,Ì(@Xlõ×Kœàvº3›§`H^£´à=›ÁP…d±,WÍ£"I‚¾¼#
+÷<`KR—ç)µ]ÕÔLö«Žƒ¢¶´fQ•i´s>0!NorØ!¨–õÄ Œ
+“°CSªFž‚ß´Ù7aº*OüWö.ÙOx Ñ–˜{è/½)µ)Sz®áSÇÈ3” 5|É”lñCDˆ¿ä$âeW~Á@bžÅÒGoû„+ÿøÕg^f
++¶8
+³FÍ„ÊXW…ê‘úS5ä+ÒUï}è³$”DZ虄ú¶&á€ô­}B%È•2{^cÖ#5ÚN±DÂ*7®™«M‰–,{Ô»Ùœeå¦ÍÌ­ÏŸ«Ë::±EùÐiƧkùr‹6Š×5`½U¶Àžr]nÅÔrÔýéÝ@·ÈÓ RNyâÏé»ÚEy40¡aj6°&OÔzSðýM;ý«¼•drnîcnáÝ#]±÷U®(˜Ä]D·f¤Þ£|‡‚hQ.àLZ=“k1ÒH§Éí"GA9¤43Ž‹±r@j’t^=¸·éìÁSU´È—[ÚMù®EÐé*_OÌ
+—>o¹Pð¬É ”£˜‰½œ{ &oµª ¥ƒûNž¬f¨æÔ×ï€tZ.r¤
+œZÕZt¤S#{LQÛ…U竼520å½m¤F·÷ZJ•Féûm E90epj#kQv@Ú{Jß sÑÙË·pGú#¦Ñk1ÒHsî>:å~QÜÀZå ‚iµJv9ÚH½­È»“L;3ã¶1¤&Ûz·õ£=9ẁɸq¤½½äáoŽºÒYfŒ›r^‹ºR_}„5™²™¼&û–òœi ³RÌd\ ±Rc{¢ÝY¬2úuòƒ—4šY-§¼×âë€ÔðN›‹>^Åó@á©s¦6´c¤ÊsÈÌÞoJÅ™SÅáµ=zѶMëNrm›¦m¸zt%ßi÷§ã~¦çÜù¦§å¡o2°š´9Ï$“Ü0AYÒ(›Z/0Œ‹ézXÛµ€úmïØI4/âkTÔ~‹#Þ“n¿G0ïóvmÅ F 8¢˜½Oqㆦ!¤Æ¼ºÓ8±×œîv‡¹òÕÜH‘é<Üý|lJµ—vŒ,AYïlþÐ]=?ðÕBù[ ûÃ2õ¹ñ´A¼Ú6H€r<Ö%ó®¡•Ùo8Ç;•„~l›aYÓ¡!¶²9†Ôœä€NUâË(Vït´ÒâÄ ŠEB•Áï3J?úµz:ß“Éæ¯÷XöChÁâ0š_Î}v Q¾Ç1G’ÐÛ:æQÿþk‹_½ЛfŽòÕ¤òÐ/
+.(Nר2ëßøTÌšó´3Ýÿ‹Lòiα¶S9
+Ôº4‹ÓΣË[=qUÑi¨=UZRÅ
+<Ÿ»UØ´T8ž½Q¸;¹ß&>µ:*9e4=­”¿J'C—¼¿3µm…%y!ïð/ILûþ
+endstream
endobj
2879 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 730.971 null ] >>
+<< /Type /Page /Contents 2880 0 R /Resources 2878 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R /Annots 2926 0 R >>
endobj
-2880 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 720.012 null ] >>
+2926 0 obj
+[ 2877 0 R ]
+endobj
+2877 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 194.879 246.868 207.483 ]/A << /S /GoTo /D (Hfootnote.42) >> >>
endobj
2881 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 2879 0 R /XYZ 78.37 808.885 null ] >>
endobj
2882 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 698.095 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 768.829 null ] >>
endobj
2883 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 687.136 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 757.87 null ] >>
endobj
2884 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 676.177 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 746.912 null ] >>
endobj
2885 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 665.218 null ] >>
+<< /D [ 2879 0 R /XYZ 79.37 671.39 null ] >>
endobj
2886 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 654.259 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 653.255 null ] >>
endobj
2887 0 obj
-<< /D [ 2876 0 R /XYZ 79.37 578.737 null ] >>
+<< /D [ 2879 0 R /XYZ 79.37 616.588 null ] >>
endobj
2888 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 560.603 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 598.453 null ] >>
endobj
2889 0 obj
-<< /D [ 2876 0 R /XYZ 79.37 523.935 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 569.562 null ] >>
endobj
2890 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 505.801 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 558.603 null ] >>
endobj
2891 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 494.842 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 547.644 null ] >>
endobj
2892 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 483.883 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 536.685 null ] >>
endobj
2893 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 472.924 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 525.726 null ] >>
endobj
2894 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 461.965 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 514.767 null ] >>
endobj
2895 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 451.006 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 503.808 null ] >>
endobj
2896 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 440.047 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 492.849 null ] >>
endobj
2897 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 429.088 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 481.89 null ] >>
endobj
2898 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 418.129 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 470.931 null ] >>
endobj
2899 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 407.171 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 459.973 null ] >>
endobj
2900 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 396.212 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 449.014 null ] >>
endobj
2901 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 385.253 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 438.055 null ] >>
endobj
2902 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 374.294 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 427.096 null ] >>
endobj
2903 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 363.335 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 416.137 null ] >>
endobj
2904 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 352.376 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 405.178 null ] >>
endobj
2905 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 341.417 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 394.219 null ] >>
endobj
2906 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 330.458 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 383.26 null ] >>
endobj
2907 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 319.499 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 372.301 null ] >>
endobj
2908 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 308.54 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 361.342 null ] >>
endobj
2909 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 297.582 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 350.384 null ] >>
endobj
2910 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 286.623 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 339.425 null ] >>
endobj
2911 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 275.664 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 328.466 null ] >>
endobj
2912 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 264.705 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 317.507 null ] >>
endobj
2913 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 253.746 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 306.548 null ] >>
endobj
2914 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 242.787 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 295.589 null ] >>
endobj
2915 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 231.828 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 284.63 null ] >>
endobj
2916 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 220.869 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 273.671 null ] >>
endobj
2917 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 191.978 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 244.78 null ] >>
endobj
2918 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 139.176 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 191.978 null ] >>
endobj
2919 0 obj
-<< /D [ 2876 0 R /XYZ 81.145 128.217 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 181.019 null ] >>
endobj
2920 0 obj
-<< /D [ 2876 0 R /XYZ 93.716 98.405 null ] >>
+<< /D [ 2879 0 R /XYZ 81.145 170.06 null ] >>
endobj
-2875 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F65 335 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F83 414 0 R /F75 338 0 R /F22 367 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+2921 0 obj
+<< /D [ 2879 0 R /XYZ 81.145 159.101 null ] >>
endobj
-2924 0 obj
-<< /Filter /FlateDecode /Length 2165 >>
-stream
-xÚå[Énä6½û+úÂ!YÅ 0 Øîî
-%õŒ9ÞxÌ{¤•ÖÄ61Ç·tOlÊsˆÏ0^12•®N¦g ëü¬Œ¥{K2²¹B
-aÃͳ¸öHµ ‘ù-Yœd…[âO^@¿»ø’¾e]„t%¯ {â8sùi/T|¯øÅQ~=ÒÊÉYÙÞ’o.?*ýXz[ËÒsô¥‰ñ;apY*'´63–öDzGúÌŠ\9¥ÚÚ©œ¯<9{¤UN«ÆœåÍÑ¢ï}´,Þ×{×,ÿð8Ú`H7㼈z#{Pf€Wòäø©O¾GÜ)’–º¯™bñK60L¹x—©ár&C[¦bYëâÆtñ%ò«/‹ekµ@PSrxŒœV·H±>Òèw­/!ŽÒñ•f” ÜÅƱÆÕ¸"Ï¢o7ž"4_£^¢$ ç““QáÏIKQ»¦Tg¯éwxkß22g)è¹J’(”›Ù±æ$8´H|Š˜*œ¯»Ø»Ø¸z`õ“×zgÖ¼Ùu-q´6]×ºÏ Eéüs«F$CHv3Â2•i¼¦Yù`¿“•9
-|ý¤6ù;#KuY¦.÷éÈE¢v®gú¹ÊrrÝNHÐ8átí¿“É²Ùj™);úm-¥¡ª3’·ÆÕÎL)­pÖM#س"¸Úà¥an;ä*ºÕí2n^žsÍÌîÖGVk¸íLògÏrÚ„]…”.Î,õˆ´.iÛ¦jZîm&=Ü­Ô(<Î{Ud­šH æÅQW—jì|¾f»ª;o-©š1)+~Êøèfœû+ P_Ïù·ÜŒ=ÃMj¶ëÄDîè.e!×# +’þ_[.œ`A‰à6{°x;¾/™Ù H;Ìx¼–
-o¿w@û³–@/¸e`&®é§(:
-f¦N”zÁ›F[{ã í¸rH%@MÞŽï
-J8 S³i¶ ð ©‹ÉÖKáì´%8ÚnÅž_9½A²¶n<ÿ6kÛ?”ØútÕRÈ—lÇ><"¬ÆÓ—õxpñª÷ŠÓm©¤í”#Ò­GcO—eéÜ&Á&«°2ӀėÄxáÑÍ$a69ÒwF/:Ὗɜۗá}°±…éû¬}÷èAA»ÏvÀN2¥S¯¥ï†îÓþWÉ7Ζ¥RS:žG§GÒ’+‰D¿wê¼a@2†)I
-endstream
+2922 0 obj
+<< /D [ 2879 0 R /XYZ 81.145 148.142 null ] >>
endobj
2923 0 obj
-<< /Type /Page /Contents 2924 0 R /Resources 2922 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2879 0 R /XYZ 81.145 137.183 null ] >>
+endobj
+2924 0 obj
+<< /D [ 2879 0 R /XYZ 81.145 126.224 null ] >>
endobj
2925 0 obj
-<< /D [ 2923 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 2879 0 R /XYZ 93.716 95.166 null ] >>
endobj
-2926 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 768.829 null ] >>
+2878 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F83 412 0 R /F75 338 0 R /F22 367 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-2927 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 757.87 null ] >>
+2929 0 obj
+<< /Filter /FlateDecode /Length 2088 >>
+stream
+xÚåZKo#)¾çWø Šâ!E‘œØ^iϹ­öº{Úÿ]Þ tµÓô8£H£Q¦m _×»ŠÎðôï‰ûÿÿxzûxz¾¡;)æ¬
+¦ÖHÞ&Âêç›”'çWI?¥YesÒFûGõ|”éíè9Óçò|ýáÀqþ+Ü’!ƒ…—$‚hŽAžt}Ißá­Œ98@œùVM
+I£çÛ¬CZÌü!9Ãœ´#P ?ĪJœ­ÞXô]t\­Tµ“ó:† ÔOÁRüj‰áóÚ“ãïþ7éèßµ‘0 éÕ
+=+LÌÇJ˜Å7w
+³Ú&B²Œè<ÁJÜ>a"¸$Ó ÁóMàS—šq·8ZcËÒÊ—¤æ%©½Jó²$4“]ÜK߇õ²¢pª³õí¬ª3 ˜B¡Q…Â:fùŠÆ‚’H 8rvØüŒÞ•…ÔÈ,®^à—„8)é%qad ïó<úÑàÕâ½|jéD¯uyV¢`Ôpnc@ШÿÕÁKE7]äFƒ\uæKÞ
+5Û`gžÓ2ϵº,a.Tt¦<ê®Z`Áˆï ¬E(&ÀÕÀ(Â{}<ƒô¾×(-£ÏèéiJ Šì4Ò’]`špGT$;Æ4sI’JàQº“ÎÎÁ§<Ê×õÛ”¯w8wâæ1“]‡ƒ[ëú"ÐmZ—§ê·a§ÂØØû úV…ꀚ¸Tû,Aî!Õú!HMžg49
+²Ý[]æÍÛ€Ô\"™h·SÖõžÑYOJR“@
+ò<'Ȩ çç.(¾o¤†‡ó%$“ë;&±½õ\a¬G:f!{d¾®92}*\0Ï7)=;'½é 5îs+T¤)c׆ËóC7Î!9ªû5
+endstream
endobj
2928 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 746.912 null ] >>
-endobj
-2929 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 735.953 null ] >>
+<< /Type /Page /Contents 2929 0 R /Resources 2927 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2547 0 R >>
endobj
2930 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 2928 0 R /XYZ 78.37 808.885 null ] >>
endobj
2931 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 768.829 null ] >>
endobj
2932 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 757.87 null ] >>
endobj
2933 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 746.912 null ] >>
endobj
2934 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 735.953 null ] >>
endobj
2935 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 724.994 null ] >>
endobj
277 0 obj
-<< /D [ 2923 0 R /XYZ 79.37 632.787 null ] >>
+<< /D [ 2928 0 R /XYZ 79.37 687.582 null ] >>
endobj
2936 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 611.945 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 666.74 null ] >>
endobj
2937 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 596.005 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 650.799 null ] >>
endobj
2938 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 556.154 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 610.949 null ] >>
endobj
2939 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 542.207 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 597.001 null ] >>
endobj
2940 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 531.248 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 586.042 null ] >>
endobj
2941 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 503.352 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 558.147 null ] >>
endobj
2942 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 492.393 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 547.188 null ] >>
endobj
2943 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 454.535 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 509.33 null ] >>
endobj
2944 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 443.577 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 498.371 null ] >>
endobj
2945 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 432.618 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 487.412 null ] >>
endobj
2946 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 421.659 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 476.453 null ] >>
endobj
2947 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 410.7 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 465.494 null ] >>
endobj
2948 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 399.741 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 454.535 null ] >>
endobj
2949 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 388.782 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 443.577 null ] >>
endobj
2950 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 377.823 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 432.618 null ] >>
endobj
2951 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 366.864 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 421.659 null ] >>
endobj
2952 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 355.905 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 410.7 null ] >>
endobj
2953 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 344.946 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 399.741 null ] >>
endobj
2954 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 333.988 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 388.782 null ] >>
endobj
2955 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 323.029 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 377.823 null ] >>
endobj
2956 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 309.081 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 363.875 null ] >>
endobj
2957 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 298.122 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 352.917 null ] >>
endobj
2958 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 287.163 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 341.958 null ] >>
endobj
2959 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 276.204 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 330.999 null ] >>
endobj
2960 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 265.245 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 320.04 null ] >>
endobj
2961 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 254.286 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 309.081 null ] >>
endobj
2962 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 243.327 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 298.122 null ] >>
endobj
2963 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 232.369 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 287.163 null ] >>
endobj
2964 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 221.41 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 276.204 null ] >>
endobj
2965 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 210.451 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 265.245 null ] >>
endobj
2966 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 199.492 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 254.286 null ] >>
endobj
2967 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 188.533 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 243.327 null ] >>
endobj
2968 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 177.574 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 232.369 null ] >>
endobj
2969 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 166.615 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 221.41 null ] >>
endobj
2970 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 155.656 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 210.451 null ] >>
endobj
2971 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 144.697 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 199.492 null ] >>
endobj
2972 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 133.738 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 188.533 null ] >>
endobj
2973 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 122.78 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 177.574 null ] >>
endobj
2974 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 111.821 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 166.615 null ] >>
endobj
2975 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 100.862 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 155.656 null ] >>
endobj
2976 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 89.903 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 144.697 null ] >>
endobj
2977 0 obj
-<< /D [ 2923 0 R /XYZ 81.145 78.944 null ] >>
+<< /D [ 2928 0 R /XYZ 81.145 133.738 null ] >>
endobj
-2922 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-2980 0 obj
-<< /Filter /FlateDecode /Length 2294 >>
-stream
-xÚÝ[Ë®#'ÞŸ§ð U\¥Ñ‘ìi;RÖge›õ¿ÿ6@Csq5ÝØ)ŠFûøºîU˜3uùß…ûÿû¸}}|(w‘ÌYpùúëC\¸ÿ'.˜–£ãZ\¾þùãçúƹ‚õݸÏ?¿~ÿàÌC}Xy±Ìi¶ÆB3£L¤ôºº"æ€Å™à@Q¢à%Ü0”Ð#Ÿ¥)JômŽ’I]?¿)PáÓâé2á=â}uqüã+ãzÉ
-Î@m’•?ý:ñ Ö6ž.X>¿¡ƒø×'ÿŽà¿1.ðþq.üiý·V¤U2päüè#|Ëä¿Òê8O.áIëH@ïa]ø.ŒiÈkiD%?¿E2ã‚0eY ÓÊb¥V"Ñ ~&I 9xÕª'‘˜ôøD‚²Ý5i#q£rL£ëÑ•ˆ^uV‡gEæ7Ú¹§ùš|[Ÿº*$z‚ªo«ºŠhÆ¢ÝfA–SP‡^VÄÀ¬œ´†¢eàt¦Mz÷ˆ½Šã7fIR²«±èm$¬D³¿Ò e¥ä–ŸÒ#D™,‘ÖôÍŠdÄK†—¢ÌÀ¾WÅœ?kë½Ñ‹‡òçë)v†9°=P *p$luo¸í®îº¯éuÊY¦Œö*·S覂T‡¤Ô,%Z1IÆm´çÍ„Hª-X–O÷UžÙÛ’¯_“&:sQ÷M#›¤³¶”ôsï«.r˜ŒA-éSL‰fÇ7
-fÓšV’I:ÁjuN<¨˜==šš´ä‘ÒÊ•™¢“¯–sT¶H•›¥˜’¸Û4w­SOÊ"<GØù½¶“‘Š2:˜öÔ,ÝÌš¶¦èbqÎ}Z$åf)á5()Jä}Ž’餾'©õ9Zƒz¢öz¾pÍÛ"ýR¿RÎWZSTž-j•R¡r&N¢.ÏŸŠ‘ÿpLTÖ2à %•É»Cš§Äf¤%)¹ÎQÒ"Qq´§,û—>Ÿ>‰ ÕÌÆ¥‘Y.(Ÿ¬TRùÕí—_¡(é}e«”]mr˜.¹”f‰Jçz¾ÒÉÆÒ"í©|ÌG§êI^¤`Ö"iøj*ØwH
-k#Ç°µ“;i4j¡ü_öÇÃÚ£õáµ»~ãÇç˃õƒqøy0®Ö×Þ¸H¯f|R“ȽwHR“rN“-R OëõµË__{ã××H~ᵫ>ÖŸr} }^?‡ƒñÈûK‰_„þYžL–uR¡O‹žSñX%¨Žœ™Õ:³—Kñd‘ÓI“;æBñ–
-Åv¾t–qù”îÑ.ÕRè€^M
-i³½” v[¥{ÛfŸØ÷´÷ ÖdüÚúl‘»7±º ä“ŸYî^å;”:[ï0¦7úÆ×óͶmD…æs*J-rº+7ç3àßìN>‘3Žßí;>Š#¼
-4g5ÅÐÙ}rfë‘Ú¨÷R
-çò¶ñ‡ûja!M†ÏÍ^qÔïÅ+ô½”ïás>??*4¼­¯”J¸\^ïFÈôܺœËçðáÙ[THÛª¿É¾Õ¤Æ¤„æù~…š¸“4Ö"E¾®Ï[Ò(K󂌪»‘#þ½÷ž/ÛÑ^¯›,«»©Ã2¾ºŸ{ º`^ì,Þ—°¥÷ŽŽÐ1.¥£Ó7ƒ’ŽZ¤ÌOô(~SÃÀV¶˜ýl$Ÿoëóãþ”®²VwNrk ÓPoW³íä°éà~ªm‘+€AE €‰JþuE`1ÞýDø±~›}5ÛGݳÔÛŠ-OÛü9g!ÂÙØÑ',ää.+eÅhP_kv_΀ÂIÂçöRÒ^ œÝ7wSò•ÿP
-‡±Ü ÛŽ;¨xIG¬Ä•,E=¶}§Ëèmç*]4Ëõµ‡PQF=çØøJ&ù&W€êW"·/d
-àL*Mi}î<±ªëÕ\áh¨Œ³¿|KÐRùéý§RlR€Z0öRÆ3ÎØ ZÅ’«'•Â“Ž¬æ¶ÔÐz °‘%«Ö.8m9úëì*‹ªéÓM2æCšBK†˜¹]v ´ã óÆ6Äé.uÔ±8ÀìE¨ÿŒaúÀ® YýÌíøZœrf9û“?øE¹ ÎÓâÀ½:‘¶tåKmEù¤gÛª¼â~Éó^³Îƒð:nÒ€óZð!_úýaù%â¶_¹}ü +j6
-endstream
+2978 0 obj
+<< /D [ 2928 0 R /XYZ 81.145 122.78 null ] >>
endobj
2979 0 obj
-<< /Type /Page /Contents 2980 0 R /Resources 2978 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 2578 0 R >>
+<< /D [ 2928 0 R /XYZ 81.145 111.821 null ] >>
endobj
-2981 0 obj
-<< /D [ 2979 0 R /XYZ 78.37 808.885 null ] >>
+2980 0 obj
+<< /D [ 2928 0 R /XYZ 81.145 100.862 null ] >>
endobj
-2982 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 768.829 null ] >>
+2927 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
2983 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 757.87 null ] >>
+<< /Filter /FlateDecode /Length 2495 >>
+stream
+xÚÍIŽ#¹ñޯКCFp
+H-i
+äÿþéªÜE2gB-P ÌKØ eBb‹@z0ÃʦøÇÓÊ‹õŠ¡ÑÖpœal( ¨  S Ú"Ýd®û’N+P®† kGDiuŠ(Á C =$¥V1š¸!&ò& ™0ÐC’Š¸£Ê§Gâ(ÙB¶ök–E§0ê±Édã5ÉKI?÷‘¤AŽ2ºµ,!Ì^%*ß0ЫüáŠÁXûð{P1ï{:@P0ºnŸî‰꾈£v’¡#$åc ÉR…å&C)–øí6¹]ëГ£'›=¿¯íx¤"f=5K7³4}å<ðômMÒ*è¥þ·di$åV11À|ˆaâé[¤…tR7±õñ\¢a«okÚÝBú½6¨8“F±¼®aÙB*X®xTԅ㔌¼éßì=}>Æ”0#® [Šs¤uLÀ2¥ì»†I iä#‡úD¼ÿÿ’çÄó™e¿"üJûdV“SµÐ~ªø$²JŠÖ’åôLsdÎ •ålRDÊÒBÚùœŽNÔk´(‡ÌÛPñqÉÙwÖJŽ¡ ”;!7¤t¡T¸ï‡µGëó»þ>‡÷—ë'ãðë`\¥go\ä§_”¤ÿLJJy6Ë#A6€vZ§g—:žž½qé™q/<»Òásé)×»Ñ×õ³q8´¿ö•LÀKê­¯ËI]©à§EO©x&Ž¬#e&é&ÙXÐ3/ú¸2•æLhÑ–ÓÄn¾t 8ŽæŸLÔ²ûï
+¤·Ãíiû^ˆ
+Æo•v|BJ©yÔâA¿¿Mükû&}¦ÒÓWÿ²ÊStŠã†v®)ZÉì0';YËå‚´…3¹Ð‘/òªQNò hY-†j„KjÔAZ9ڧ댲ԗ˜ÎdŒ³ì”²È£y1‹=H†ô¸"ÑÓË_é
+JÃx‰7¶¿DE…´¤.å"Þ–èÞ¶Ù'Êžö¾TŠÅï­'…ܽ±Õy„ÀÚ³ÜÑ¢;d:[ç0F·ñÍ°×pÛˆ
+­çœ“>[ÈùNݢɠfÜ Mæd!MfßÚ·{GxßþA11¨+ír]ÙAjí_(Cà˜˜o5¦PH&e•=_V!gÖGRëtàQ2aÊn{x$ 12|nJÅY»C«Ð’½‡Ïtv~”e„y[[)gp”]ï:ȼoÍÑ|Ø{ó
+¹ª"÷=l[-JŒ#ƒAµdîÅd‰µ"]×׊4òÒ¼Á£ê%ÁˆßïÇ­'ÅK5ÚËuãeu‡ušÅW÷8c D˜†=‹w%liÇ}CFà€Á ² ·‚’Œ:HDO´(vS;Ã@VºHv6ãO okóãö”®¢V÷M¨3@8ÔÕ*éù€MS] J
+ÛªMd“÷¾D8z[$Ì„’yÎÞ.˜’ØcO…ñ-§=÷Ê:m²K鑆)u` ó›tÉü¦‡Þ*p¢0¿ÓP>É„Ëöœ#ã`Åø…›”-u_$E^¿täó{Ñ™Ä<’J¹mÞ-ÍéãwUáÌX#=Z!ëdPYrâñÜ®yK(G€n§N3­`–˜èîGuOoùçßu©ï –†ï¸•Ò‹¾OhÅöÚ‰zhâ´Ç^œwÉ~ÍR^]_vQê~è.N²½±ô
+gî([×7\½(.††ÒZj7µpÒaÛ†”¬ŽÅ¨³åX¼s¼Ä¨¦‡½J–”Œ¿^=‹!x­ÕAÚ ëÊ6…ÓÝxªÕ>Oßþ™+°®ßÕ(
+Yg“ýmèr)%½‰A·ÓÓõºø]æ ’Õ­õóRBd\k]P9·_EH„¸þzEî\B- xTç’ЦÐﵶÐyçV±¿ãÊ~Ë~“®‰ÄfŽ$r²õ’%Ò ¯Õ*L­¼f¦ÝJ)µ…Äœ­Ä¦v™àsëBZÃá ”Ý|З×Zé‹äÌ™ÍÇ#n"x|ýø \M¦Þ
+endstream
+endobj
+2982 0 obj
+<< /Type /Page /Contents 2983 0 R /Resources 2981 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
2984 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 2982 0 R /XYZ 78.37 808.885 null ] >>
endobj
2985 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 695.106 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 745.915 null ] >>
endobj
2986 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 684.147 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 734.956 null ] >>
endobj
2987 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 673.188 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 723.997 null ] >>
endobj
2988 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 662.229 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 713.039 null ] >>
endobj
2989 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 651.27 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 702.08 null ] >>
endobj
2990 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 640.311 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 691.121 null ] >>
endobj
2991 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 629.352 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 680.162 null ] >>
endobj
2992 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 618.393 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 669.203 null ] >>
endobj
2993 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 607.435 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 658.244 null ] >>
endobj
2994 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 596.476 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 647.285 null ] >>
endobj
2995 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 585.517 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 636.326 null ] >>
endobj
2996 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 622.725 null ] >>
endobj
2997 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 611.766 null ] >>
endobj
2998 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 600.807 null ] >>
endobj
2999 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 589.849 null ] >>
endobj
3000 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 578.89 null ] >>
endobj
3001 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 567.931 null ] >>
endobj
3002 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 556.972 null ] >>
endobj
3003 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 546.013 null ] >>
endobj
3004 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 535.054 null ] >>
endobj
3005 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 524.095 null ] >>
endobj
3006 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 513.136 null ] >>
endobj
3007 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 502.177 null ] >>
endobj
3008 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 491.218 null ] >>
endobj
3009 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 480.26 null ] >>
endobj
3010 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 469.301 null ] >>
endobj
3011 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 458.342 null ] >>
endobj
3012 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 447.383 null ] >>
endobj
3013 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 436.424 null ] >>
endobj
3014 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 425.465 null ] >>
endobj
3015 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 414.506 null ] >>
endobj
3016 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 403.547 null ] >>
endobj
3017 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 392.588 null ] >>
endobj
3018 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 381.629 null ] >>
endobj
3019 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 290.623 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 343.859 null ] >>
endobj
3020 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 279.664 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 332.901 null ] >>
endobj
3021 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 268.705 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 321.942 null ] >>
endobj
3022 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 257.746 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 310.983 null ] >>
endobj
3023 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 246.787 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 300.024 null ] >>
endobj
3024 0 obj
-<< /D [ 2979 0 R /XYZ 79.37 224.075 null ] >>
+<< /D [ 2982 0 R /XYZ 79.37 279.045 null ] >>
endobj
3025 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 261.258 null ] >>
endobj
3026 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 250.299 null ] >>
endobj
3027 0 obj
-<< /D [ 2979 0 R /XYZ 79.37 146.359 null ] >>
+<< /D [ 2982 0 R /XYZ 79.37 205.096 null ] >>
endobj
3028 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 128.224 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 173.707 null ] >>
endobj
3029 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 117.265 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 162.748 null ] >>
endobj
3030 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 106.306 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 151.789 null ] >>
endobj
3031 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 95.347 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 140.83 null ] >>
endobj
3032 0 obj
-<< /D [ 2979 0 R /XYZ 81.145 79.407 null ] >>
+<< /D [ 2982 0 R /XYZ 81.145 125.584 null ] >>
endobj
-2978 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+3033 0 obj
+<< /D [ 2982 0 R /XYZ 81.145 95.481 null ] >>
endobj
-3035 0 obj
-<< /Filter /FlateDecode /Length 2599 >>
+2981 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+3037 0 obj
+<< /Filter /FlateDecode /Length 2628 >>
stream
-xÚ½[Ko#7 ¾çWøD+‘zF€xè9·¢×öÔÿ-õ~Œf<r¶Å"{F¢(’"?’
-gêò÷…Óÿ¿½Ü¾^~Ü•»Hæ¬@¸|ýõ".œþ‰‹¦åÅhÁ¸—¯.\9×7ÎÐoŹü|ûóë÷w+/–9­Ñ¶tœaìHH"„œ£ Ÿw"øÉ9qié;- ~ÒçøYszGÏQ"Ž ïÓxÿÜÛ«E”QæOðÇûqJ¢§]¢ù¹ÊC¦ªTù´ËOáà£|¸?Î4¡PÒA”?î
-ÏåÝSz{•Öø'÷çבx¿Åuâ Oó7Å£Œ*ï‰ ¡f\
-×{\1ÚRÞ[^?X™KoyÕr…o¯`“ò”0²ø¼xâRyR^Üo‹”Æ4¤ÂŽKáš!7ÅRÊQˆ8Ù•L¶ß槞­øÄ3œO“¼[
-\„=—‘~šòmceô,Zo<ѱÒj³qC$oãVÜÐ@(0Ó-GrͬªóYܘLr;Û˜‚SÈ™5n¤¤ÞËNˆCñ·úXåÏp&¥›ñ§oçøâkK Z‡ºÈ“rl‡¥÷s,IÎÀm¥C4ü‘í>‹ê²¢ë^åW’[A1cÝÃ=%åV9AÔ)'v“žRcmjò©:Y´®EµÏ$eµV¾ê
-é“øÜRMásA ™85!µ&‡žÒºF„bZÉ)'r“ž’5ÞõJ³Ê—L;=µ\óH=¥™ͪ¼”#‚Ó@pf4PjüѯñœÊfÅæÔ#®†¬Ð~ÈòŽê04e¡‹>òçyFgì;Ǻsú>š',-šg ü\H-ØxŽÙ"âQÒ˯ÊÈc1±‰Ç9°kÄ¢nÑå+QiEJû¸šf˳¨§¼Q~\Z‹ç§~E#ëxp’.Ž01ñNpFŒû])zÎAE‡ Sx «@zÞŽ3ÇøØX²Ä´•.ˆnÐ
- "\\’Ž™BÞ9XuPuÂé;܃FÁk†70×vÞ™ãSkÔUã,?Û^Û7綨ùV³GOÙðvMy­¹b þ,i¨€Bè»NOyÞ¡§¡ ÌÇ1ÅVz‘wöˆ0dU·Fz0J½—ZÖCö‘êA&5è£ùYßyž«Ù LoË›¼ÿöÛþþÓ¹Ùœ¤mæ¢dJ–Úãݦ.ª+MÉŸaÁÖ!ôˆ°e©n{Ÿ¥&:§'Ò¯½Ã0?xob¸m•Ìþc4@{Êä‚ÄRb›f6æJݧúq¬¼ÕTnéÐxœÍ«äc2™ç¥Òñ¹©+1ÍγÝO^­ív×%Ÿnsû´Ý¤ŠH$/¥2DÉ'ñÆ×ßæKFŸ•+5X|í>Q'LÈêosý$­Ù®ïß5tZˆ™'èA)û(žÌ]Üu2jeÔ‘cs|zPq:¬$ `Fo‡Ç% íf¦w]ù'€‘ÌŠ‰ßsñ/÷xe×oÈ¿ÏÅ9Mÿ‰{U¬žÝht´qŒL4ƒ
-””œ`†`â¨ÂÕˆ´†Á Kž¬$,Ù‘ÙG’lÑcƒ ï-PöŒí’6×¾÷Hï8¡[N¤Ñ äbŸ,Nd±ô„Ž«BYóòc"œ¾šœ–·åèÖª}a7ù³Zs†ìZW!6ÙËG„uËù
-¹vjc'Ë*Y˜=¡}aæZ{‹ü¦U{=#Ì]!™g„¤È΄„KIÝ@hEH9ú>]s”)iÓMœ¬qÃPÂHÉ[¸~ðÕce÷'ÄGâYòyê,«I®¦6²„Š)ŠH%LT¦¨ÓCík+¨ž}9yæ‘Õ¶µ´•Di>4JN¨ ìfØ£ŒaÒp)Dh lqg#8›ë³ÇÉÓ ;‡‚òC€b  ÞgYý~*Ô=Ըؘt¦¦IJ:P}N0 L¼ŸKž@HÞGÍOþÉjcr_¡ƒ€ù¼žuo™æzêÞpɽ ”þ÷ºÙâ¾¢_f¶ïÓ¥QÍ„‘Òrƒ†BÓvÓÔ’Ÿ§KŸÙ­Ž”¾ÛŠA…Ì€›qvºÝ–8ë)-þɾÈgÍ9ÛWËŒt„~]#æ?mÀ 埓âxØþûÚö{Jëz
-!e­€ê5žOMWc³›hœ‹?æ–°jW4]ùZ+ÂíM“ˆnk?™DíLj>{ðHrËt2ˆ~¡!‘3š8ðæ0“K¬©5ÅdÞ2ÑŒé°ÍÃÃ8V7þ ÔÓ¶[ë¥åúMR”yɬY³=ÖGÛ5K-ríXƒö5Ù¹ÇW+Øk ô«°×Óx 0Óh¶…-€’ÍÒûyýø¹P÷8—~à"?Ng›$l5*‚ä·§èd¹”šúÈÓ‰éÙäòûˆJzÚ·ü!=ÇáAúztÃB7uÚ6‘ÜíßCÑÜ#wݸT)øà`"¥Y8¾‘¶i=¹µº:ávJKÇ}Èì*•Ú¹zpFW¨Úžbæ+÷Û£.£»~\x2¡xæ&¡Ê=ÐÔZ:Êÿ¥UÌ¢÷íáØÃÈjzœÙ´ðŽÖV#(¬ÊŠ@?„R–E1N Ý-£;ë5”²Hz’³7—ˆ6Bm[Pnú”ÖôÒBY7c*±Â¤ŠGP•Ä6~œ{JÝ…F@r¼ãš•ÛØÐû–­è’ר]¬0?ö¸û:/ÛÞ ˆO†Ì[@#ŒfR5öR»{½@¾Óª”á*.Ƴ
-nì•—»îœPÓ©æb¼#á {ÈÔ ‚ÎýSo q‰îŠ@`§uÇxÄŠiô ²½=ÞÂÈ2ÐDŠnŽÎû ;änwsÂM8Î:yÖQ;ÆY]ÓÈp{˜å#Ui{£8«,ò˜º*wU!å(._¹¯†”ÃvIO6ºš™'a2%u[×~tÝ¢ ¾3´-ÛméUEú 4ˆþWÒ£å¦ aºÌï<L˜¦—”!±ÃgŒwwŸÎã<šéiÉaíojz:=¤÷™œ†öîâ@1Ýÿ]ÿ1î|‰/AÕÒ³EÖý=~«¨*„d†ÃlŸg †é¾é@I•^ ¬¦ Âÿ!ŽÄOgk‡éÎð@)´ño]!pU^˜±rÊÚÚÝüž˜\cíïéF°÷DK×
-fAÍ8>[ÿSŽ ÀÐ,'Õý…‰ÛÜάÖSnOÖ ù…¡æªÆ·
-ȵtŒ¼»;½™5èlú>Bé¥2t¡ÓÒz¤ œ0M`Ž,Ï™R~h.×|~½ü y!®š
+xÚ½[K#¹ ¾Ï¯ðX­Dê 4h¯Û ä<· ×ä”ÿ]êY’ŠU.¹79xÆV•(Š¤¨–·ÿÜäíÏ÷_?~Ü‚¬¾ýú÷EäMÝ\ènÎ*!­ºýúïíŸRZ/%>é?ÓÞÅ O ”RÓwý §÷8^ßÀ4Zz>¥TÐ(½§ýÏýúq¡ ÇHŽ†&>œúéñ£ðñ[ZòžuTý¿é¸®Îk&^C~/ñü(ë;Í®”0 æõ¢Uîý.ˆÚב4NwˆÆ #Ín‡)$^ŸyEûˆ¿ëÞêúqgiÍG^7í¬Éðçoà‹ê”ô*TñEñä¥ê¤ºxÜ)¨¼Ó‘J;š,E¡¤m–Ò–Èú@DfWºØF~ZG#[y$2wžd|o¶”¸H{noƷе_;+£±liR˜hüônZ¯zxÑæÐ ÍÔE^"ï&~Ï´Ê1úýéõÍ“n-úžNp"€Ÿ %fz" 0ëfUf¡^ÝhÚ²û¼´1…RxfJæ³í„8ÿ7Uþ
+ðŽãÃ5þ@ ½§²ñgVy’ tÉñä¯ñ¤¥€°§TŽAÒñ£Z}W›Ó‚{;t×9¶äº¢5K „LXåÃK¡•bÑkŒŒ”:k3Ì7¨ßtÓºU›}ÖoÕJãÿñ|mOŒ­ßÔמ*=]”ƒ B`-×ä0RZ×]9: ljþZãd¤„*»^íV9ÒNÔ;ŽH'.,y¤‰§C·,/´Â8Ãqg`ÉM”:ô÷xNr"ÂAà8]»²&BÇWVtS§WSºoþ:ÏÙL9Â_Gôãmͬ ƒ:ÖT ï]©åpa¶ŒxL
+=°²ôK²  îÛÓ
+øXš#^æ¡ÜBÒ´GÈD³"¤‰ÐŠê­ûvªQ{
+x-{j®&¤¨a¦-<^zðÍke'$ÞÀ\Ìyé,«Óa%›D¸šþA# ÝG%,—¨.·Îö;´°?ûš‹ˆjë$Ö$ÑjrÒ ÔýaÛ(5Pþ\Š¾µÑ‡7 AnnÂkœ'³—,
+áLLÌ'̧/`ƒ¸çå/:ºf^lŽ5K­¤Äšgh¾Æ• >¯…>oà­%yöä_L2V÷5:¹0ß×ÁÛî ¢Òv‡ñzÞ²º·‘Òÿ=]¶¸oÂ0RZnß—3¢V(3¥åºŒ&@á8¹˜ñlnu¢ôÝú ’ýJXÎ>—8›(-çû)ˆ
+9F®–Ó*#¡¿¯þò?­» ]—Ê)vû~mû#¥u=X-(e-¬q2Rz»î‚Ö4®Â³rŽ'J×oŠø¼zÃ#‚йžD÷1¶1 ú‚6Ò·”a…Œ2•“ìOÉ´û’AO)¶ÖvU—\ïS7äÖüî6®Iw/XuȺ!oü±%‚ûWˆîs>•ÄV`r=Gð(ú@$L¢_HBhŠú΢9prɹ´.‡,{†3šq¶y™¸"2¨ÍõôU–Ó<iëº)Šò9.áj4ûÙs^´_³å µ´Â*Ǻ<\Á^¡¿ {½· PècØÛþjåZ Øi"Ä…÷|þeh!9¹ê^ÇÒ/\$È×ál„­ÞŠàµ°û4ŸþZF®¥.?òv`z5¸ü>⇞ŽeƒxH¯qx¾ž5V‚ÖB°•2·¾¡êZßÈ]w.U+99˜L‰+ ç'Úw%§°–S',{q¦}èê*9hÃKµ7 ³+4})±òUˈ}iѶ·‡:\a(^i 4µôYJJgñ¿öFx ó¾#< {z3¦Üƒgv¥»³u‹Õеªl×ÏöJyZÕ<1Uµœ o«¨¡Ö£@ÊH=ÌÑ\R Ú µ?nýõ€zWŸL´Ø^…¶nÅT±ŸÂ•ŒGR•Æƒê}ž{IÝFBznm-Cõòµ0ú–½èŠ×Ø*Xi~.möm]¶oÈ#SãòÐÓ"¬ßU¸[A÷¨(J´@èŒÏ*„¹FÞZ"Â5¡–S-ÕÜ zÈRˆM‚®uÓh y‰¡3 ±Ó»c|¾bÅuúÍ‹¦Ù÷>ÏÍUæ/Š€¨áÙ0Ë勦n)$ÁàiÖųŽ6éÜêšN ”»Yñ¦Ê"íaç&‹úÎ]µU(1J¨ö›!Õk»…';]1æ©‚¥ ¨>¯ýªÍ¢¿|9´­û
+íˆé͆ô+@éý7:ѳå–>0Û榼X¦·¡°#9Ƈ–§ë8OÅžYc8œw1SWB‰ÐIé““ÔTÞ]ÜDlx –ÛÄÕ$_«¥wÓ¬Ç{üVZUÅ¿Ù÷l§}~.5šN”L«¶Àj  bC­óOW³‡¥Yx¢”Êø÷!¸,/¤ðXÖÖzòGBŠé_t3Ü{£¨ËGÖ*VÃS€&|Ä™—Ú±eâþ¿J 'Y_M:ògJ]»Æ·ÒÈ[åÐ8½›5é}žõR2ºÑéi•«zAÎñïÜ4²¦Œkr)ur^ÿ›µëüÎkŽý«y™ÂþHhlêAÉ7ghó†—Žìg1úÇ,±Zàb9ƒmÁÉJ¿e]^ ¥ò{þ¸p=×S´3Ú´óvÂIá­å8»ZG´ñ¢ó¡“†¯Ã„Yž5± (ÂvIuuį_?þ+y
endstream
endobj
-3034 0 obj
-<< /Type /Page /Contents 3035 0 R /Resources 3033 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
-endobj
3036 0 obj
-<< /D [ 3034 0 R /XYZ 78.37 808.885 null ] >>
-endobj
-3037 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 768.829 null ] >>
+<< /Type /Page /Contents 3037 0 R /Resources 3035 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
3038 0 obj
-<< /D [ 3034 0 R /XYZ 79.37 730.218 null ] >>
+<< /D [ 3036 0 R /XYZ 78.37 808.885 null ] >>
endobj
3039 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 700.135 null ] >>
+<< /D [ 3036 0 R /XYZ 79.37 773.016 null ] >>
endobj
3040 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 689.176 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 742.974 null ] >>
endobj
3041 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 678.217 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 732.015 null ] >>
endobj
3042 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 667.258 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 721.056 null ] >>
endobj
3043 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 656.3 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 710.097 null ] >>
endobj
3044 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 645.341 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 699.138 null ] >>
endobj
3045 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 634.382 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 688.179 null ] >>
endobj
3046 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 623.423 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 677.22 null ] >>
endobj
3047 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 612.464 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 666.261 null ] >>
endobj
3048 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 601.505 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 655.302 null ] >>
endobj
3049 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 585.579 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 644.344 null ] >>
endobj
3050 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 494.968 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 628.498 null ] >>
endobj
3051 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 484.009 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 538.168 null ] >>
endobj
3052 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 473.051 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 527.209 null ] >>
endobj
3053 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 462.092 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 516.25 null ] >>
endobj
3054 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 451.133 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 505.291 null ] >>
endobj
3055 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 440.174 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 494.332 null ] >>
endobj
3056 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 405.333 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 483.373 null ] >>
endobj
3057 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 394.374 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 448.693 null ] >>
endobj
3058 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 383.415 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 437.734 null ] >>
endobj
3059 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 372.456 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 426.775 null ] >>
endobj
3060 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 361.497 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 415.816 null ] >>
endobj
3061 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 350.538 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 404.857 null ] >>
endobj
3062 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 339.579 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 393.898 null ] >>
endobj
3063 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 328.621 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 382.939 null ] >>
endobj
3064 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 317.662 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 371.98 null ] >>
endobj
3065 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 270.865 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 361.021 null ] >>
endobj
3066 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 259.907 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 314.386 null ] >>
endobj
3067 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 248.948 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 303.427 null ] >>
endobj
3068 0 obj
-<< /D [ 3034 0 R /XYZ 79.37 212.322 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 292.468 null ] >>
endobj
3069 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 3036 0 R /XYZ 79.37 256.077 null ] >>
endobj
3070 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 188.224 null ] >>
endobj
3071 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 122.47 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 177.265 null ] >>
endobj
3072 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 111.511 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 166.306 null ] >>
endobj
3073 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 100.552 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 155.347 null ] >>
endobj
3074 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 144.388 null ] >>
endobj
3075 0 obj
-<< /D [ 3034 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 3036 0 R /XYZ 81.145 133.429 null ] >>
endobj
-3033 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+3076 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 122.47 null ] >>
endobj
-3079 0 obj
-<< /Filter /FlateDecode /Length 1826 >>
-stream
-xÚå[Ënë6Ýç+ü™3ðã¸@×Ùݶ«þÿ¶¤HJ"EÛ¤ø(.|eÓòá¼y8T¨Ýß;áÿÿíåøõòvVnÇà¬$Ü}ýõ"wÂÿ“;‹ yg´¡åîëŸÝïBèc|ç¯jÿç×ï/"€y¨·³å§5Ù5Ž4œ¢I¹ý«BÞI!ÐcÊ!Ø_ÙzìOÿBÿ
-ó?æßóI:Æ9W*Ü_ ›òó˜ü%ÒJþ —×<‚"¿c5ßµ¼óºá!ê=éë_”ô ú*¯?¢=Âg:‡ßÌا"ÎóÍ3kYˇm¹È©t~'?·XË·‹>[]Y¬g%1êr ™Zþ!óO‰´ø‡¼UҌʆ¤Ÿ´!öɦ-(?T!µìnܨtÒ
-š°Á–ô±Ë
-Î:Ú(”Ë¢„Ú9m)¤kR#¨ˆçXd§B#VEh.Ä£J’xIM%}®È;©BR4k¥‹b$‹Â{Z’~¥Ã¶`žÂ§vÉÖç+øE!LÉG\9žæÖ·J±™q´tiDP¦érCÁV]6yLAtL9S¬j÷”” %7±cU"]Z™YÆäX¯ÈœjÂtÅ´Š6VdÆžß®\>h !@«fÅïåbÙ%Ò*t])êŸNµãç\HbÔLYÚ5Wˆ^–&5ej¤ÛLì©þ~‚%ã—ºV¾Ð˜%K¤‹¬àãY1¢ c[šõ²±¬Y‰Ô#Ëî$ø40ôÀŒŽ:Mcøx|~NÌ( VºÚ²‘ëŽY¶Dº3+ùv–ê2aSžÓ[;¯>™Ÿé¤9§âÄàˆÞ—½ŒœJßïÄoòÞ*Z=Iã'kH#­Ïåky¦Õ0ù?íLßΆ[è+¯ò’F‘qÞd›—¬…:îjô¤]ŽÁÅ*ËHÀÏ£W6=_Õ‡Hy^àZ™<Tìî³nhAV€Ÿ­‚ B7MÅö¸Gû> —DŽðû×8¼ÊŸä}õ›¾^HK|½˜cþÁqýƒsòˆÍy?šY¨À‘jeVçÎ'Ñ°
-çï¨{)™’þ+£[Jund2 ©.–_u
-åÖ$ùC¹ÄK‘Óí@¬¸÷ ƒ¦iÎ]ŽDª*küC5ù lKDr#"V@÷-–œÚ]›„j-š)¦§¥íóÇI5û‹lšil{Qà¨Ñf¿ÀpSŽAj_!}[NÑõìÊô%x¯¹'.~uùž™&ÊPÏ@ZlÚslCQ!}gŠ²DjÆÞU¯îËÑë«EÊc¹ä`ÞÍËþ’M1“…‰Gl­8¸-¨¾ÓÓèsSliÀa˜`WH+‚­FeòˆÄº%SwSÖS@«k¤’êß½=ì>L¹‡„è»íÔ¡€¬iY¶—eË–Hë
-9FÛ”ä0$I…t£Ù7(¥%`íZRöR€nƒTdÇq××Úü–C2J6MaÇLQ
-›1¤†Ž™j¤ïncòw9jJÊc’–H7Z_ƒRúÝ­&nº˜Æ¤,‘~®uý ¹d†e½¿~ª1\Y -hÓ\G{×zÏ”Œ°5RKÎp°­†cP0r³ª’ë_éQƒ4X#uo¢Ñ`u󀓫î@Ü“í_ 7Ž«]šp¦íÔµ¹Èò{œcZMí܆A³j2¥Ç9ÒÝî¦xÞF‡0ªÖ÷ÚØ㈣Hs¿'ÿ\Ÿb/+vVóqšüié÷Í@‰–šDrïkMô<G!3c_kée
-J¹<²i½Eý/‰\QyYûðºnòÝTbî—‘ÉÍNÙt°çÁn;OÀŒ•b¯äû¬çõP!pL5ÒlÈÛ7}O× }ùvʵ’p¬ëVõuÝÚ½Ž»»mÈ¢¥È`§m…ò­]¶ã…¾ÎéÖÆC+=¢±í–Lv{Ê BÂÑÇ—PZÛ>C„ÆvvÒ0O›¶Ý„I’^ê¨À;¥FúÎxYjÈSâD:¿–n{4ððbÚÿTH?xdøÜ
-pÛ™ Ç#_©†÷ªÒ0 7™S//ξ*‘þ³}êŸ?Ø ë/ZÛ²i/_Î6-‘†ë¤T„Û%ÙöóâT*¤á:)YÂöùˆ HoÛK1°'æ%Ð/zp&<ÉR¶ÔéeÞ³–deæ9ôÿ2¤Þö>&ëƬ["-Öq£Ÿý0xÛ+ šõò–¬Y‰t_Ü<eeüy«úmƒÚ¶v&£Ú!£–@ÃÕÖjPÛ6ɶ½³áË=«
-h¸ÖºÑ ±ýä"àè
-§jÂJ™‹OÔ8?³
--xpË£bDs]ýüzù´ïw¼
-endstream
+3077 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 111.511 null ] >>
endobj
3078 0 obj
-<< /Type /Page /Contents 3079 0 R /Resources 3077 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3036 0 R /XYZ 81.145 100.552 null ] >>
endobj
-3080 0 obj
-<< /D [ 3078 0 R /XYZ 78.37 808.885 null ] >>
+3079 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 89.593 null ] >>
endobj
-3081 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 768.829 null ] >>
+3080 0 obj
+<< /D [ 3036 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3082 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 757.87 null ] >>
+3035 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3083 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 746.912 null ] >>
+<< /Filter /FlateDecode /Length 1746 >>
+stream
+xÚåZËnë6Ýç+üaÈy‘vè:»¢ÛvÕÿß–õ"EÛ¤ã8·(G6%Í çq8”V¼û{§ÃÿßžŽŸO/'ö;RÞ„Ýç_Of§ÃŸÙ9PB;+Fi1»Ïv¼j-Çô±>÷~þþ¤#X€z99Ú9åEЭq {e
+>²÷¯
+ªST?ŠD¦pžMë4ƒxT¨mÍ è›Ìà­òàJ rI ( y‹¿§YœFÆã¨FT‚âÔeJçÂÄãñ ©WÉp@òU%]Û\‡IB‚‰qÖJÖ^‰fðÈéÜü ÍJ‡éz^ßÉœÝ9{½œ.àë AÖçØÏßfûÑ‚j6ÏÎïžµ2Ó7;#OïœEÚUcŽ»œ-:ïlæ8:ÑqŒ™ãÊ¡üíŬ¨îPB}•#WÜ"™‹ì)æcNŽôä­Ó´Ü»šòN[)òÕ”Øg‹i庇¦‰ùOÆ\Hé÷”HR‚éÕ Q1VK}´ifDY¶%Ò"ó/1ß°$€b‹¥%†tÒeÉé,-x{”£ÄPM3†>Ír¤y³Ý˜ÓØ%ö`%é4ŒUüãëø1>£µ’/ZY¶•JN–Í‘ÎùÌŠF¾œ ŸglìPY3WŸ‰ŸÉ¨y´@Œ¹Á!¾.#²Œ¼çsg'w”ÆaMãŒ2âJy†j8Î?GK5™×hsN£Ä8¯²ÍsÖ Õšqƒ>j7ùàb•e$âO£V6=]Ô‘Cvð5‹ 3´T³ØèŠè´
+O+ £Pqš†d{܃{„ENðûç4¼ŠŸqö]Òo8½–ô±²˜c¾á¸¾á4Έ›â¾3²X¼²ÖT#ëÐCÃ
+  œ¿Ý¡n¥dÌN95¥2 )Φ_N:ÅtkGùcºŒÓSK»ü~Ý îÝi²ÊqµÈ¶®r (Í%Pžã¿”ÓE9_­– €IÄè¶bI‡Ñ_Ë€ªÍѧ‡Òöñí¤:ܦ<Ö‹_ߣ@bß+‰ §¬T½ªÞHw‹+¼a…‰3X]gw¿f¦J§¯E©&¥­Ù³sQQ Ý1LÉc²Í:=-~ºd,n‹ÓËcŒe³Äá´8šI–û‘…1…ƒ©Ù°saáÜs–m T•°“`H+‚ͽ2‰VÆAU¦Ö®l €NJ¤œê#ݼ<ÜÜsO~=ߞwˆ¼Àše[ùÑdÙ©»¢:5pìŠ$®O’éJ³¯SJUKsÕ©
+i~ƒ”EÇü®­µy¦ƒÛi‹çHRµõÙ"GúJ¦Ð¬ÐÙªa×NS‰tïFzRÕjÚZñGI ¤+ͯN)Ãú–dÓÒ–C{ÍŸ¤Ì‘¾¯‘µB©ìmä¼0Ïø—÷5ºs+ZPlj¦k-õ!¥Zí
+ š”¤ÐvùÄ(f¨ ØZéA”±P"5mp†éSâmmƒ“Šî@Z“íŸ6Ž‹]#Aj¾ô,tôšž1TS7·aÀ®šL1{âqºšâÕ˜öÛðGy}­K=Ž4
+8÷{¦Ûå=õ²Rguº0=fúµôûf ‘’Ú‘L½¯5ùqíŒ}©Q$Ë#pÎO#›Ö[Òÿœ¨q*ŠYÖNY‚²ÉwU‰¹_†vjvšê‡Zï·Ï‰˜)OìÙ¼Îz^vTž°Dš y½ã&·tÝBùSvÛû‚°«ëV
+¤îµ*§ô¶¾Oó”#ý²}êïßØ6·ˆhÓVº<Ù4GêÎÆ/Ùv"°ãmÅ1+HÝùÑ8V°í6`ÇÛˆÖ†FJ¤zuÆXR°í`ûk…‘¥94%R’™æ’ÿcEÛ€sUëº>ëæH‹u“ßÈ£_§1
+ÁWã€û4Ë‘nó›‡ÔÆX•L\¢ÕŒJ}FÍ€úó-ê£LÕoY þJ\"õç[ãqµ®·2Œ$%Pш{TØ„¥,ùmIuí4ŃҖK¤ÿÀÆú÷[7¬»©fÜV¾27úñw(¶\Ó«•ýŒzå@¿ð2äûmjY‰‘ªM].º°söí»09²£°^¶s…Gœ%ùø|ú£w”Î
+endstream
+endobj
+3082 0 obj
+<< /Type /Page /Contents 3083 0 R /Resources 3081 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
3084 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3082 0 R /XYZ 78.37 808.885 null ] >>
endobj
3085 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 768.829 null ] >>
endobj
3086 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 757.87 null ] >>
endobj
3087 0 obj
-<< /D [ 3078 0 R /XYZ 79.37 675.375 null ] >>
+<< /D [ 3082 0 R /XYZ 79.37 719.21 null ] >>
endobj
3088 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 657.24 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 701.076 null ] >>
endobj
3089 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 646.281 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 690.117 null ] >>
endobj
3090 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 630.341 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 674.177 null ] >>
endobj
3091 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 619.382 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 663.218 null ] >>
endobj
3092 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 608.423 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 652.259 null ] >>
endobj
3093 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 597.464 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 641.3 null ] >>
endobj
3094 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 586.506 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 630.341 null ] >>
endobj
3095 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 575.547 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 619.382 null ] >>
endobj
3096 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 564.588 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 608.423 null ] >>
endobj
3097 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 533.704 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 577.539 null ] >>
endobj
3098 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 522.745 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 566.58 null ] >>
endobj
3099 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 511.786 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 555.621 null ] >>
endobj
3100 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 500.827 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 544.662 null ] >>
endobj
3101 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 489.868 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 533.704 null ] >>
endobj
3102 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 478.909 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 522.745 null ] >>
endobj
3103 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 467.95 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 511.786 null ] >>
endobj
3104 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 456.991 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 500.827 null ] >>
endobj
3105 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 446.032 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 489.868 null ] >>
endobj
3106 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 435.073 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 478.909 null ] >>
endobj
3107 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 424.115 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 467.95 null ] >>
endobj
3108 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 413.156 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 456.991 null ] >>
endobj
3109 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 402.197 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 446.032 null ] >>
endobj
3110 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 391.238 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 435.073 null ] >>
endobj
3111 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 380.279 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 424.115 null ] >>
endobj
3112 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 369.32 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 413.156 null ] >>
endobj
3113 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 358.361 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 402.197 null ] >>
endobj
3114 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 347.402 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 391.238 null ] >>
endobj
3115 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 336.443 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 380.279 null ] >>
endobj
3116 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 325.484 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 369.32 null ] >>
endobj
3117 0 obj
-<< /D [ 3078 0 R /XYZ 79.37 288.817 null ] >>
+<< /D [ 3082 0 R /XYZ 79.37 332.652 null ] >>
endobj
3118 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 258.727 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 302.563 null ] >>
endobj
3119 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 247.768 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 291.604 null ] >>
endobj
3120 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 236.809 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 280.645 null ] >>
endobj
3121 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 225.851 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 269.686 null ] >>
endobj
3122 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 214.892 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 258.727 null ] >>
endobj
3123 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 203.933 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 247.768 null ] >>
endobj
3124 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 192.974 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 236.809 null ] >>
endobj
3125 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 182.015 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 225.851 null ] >>
endobj
3126 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 171.056 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 214.892 null ] >>
endobj
3127 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 160.097 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 203.933 null ] >>
endobj
3128 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 149.138 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 192.974 null ] >>
endobj
3129 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 138.179 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 182.015 null ] >>
endobj
3130 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 127.22 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 171.056 null ] >>
endobj
3131 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 116.261 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 160.097 null ] >>
endobj
3132 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 105.303 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 149.138 null ] >>
endobj
3133 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 94.344 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 138.179 null ] >>
endobj
3134 0 obj
-<< /D [ 3078 0 R /XYZ 81.145 83.385 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 127.22 null ] >>
endobj
-3077 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+3135 0 obj
+<< /D [ 3082 0 R /XYZ 81.145 116.261 null ] >>
endobj
-3138 0 obj
-<< /Filter /FlateDecode /Length 1659 >>
-stream
-xÚíZMã6 ½Ï¯ÈXŽ$’ú
-ãè…}4뺭¦ksxÝTˆjGÞší”Å[-R[ÙºJv¨~ÿÙ:<ð|3æ”BÁD‡í,wÐÈÆm=×*‘ØÜV+ÑãKµ=ÅÄÞ–ôìõyñU¯Ö‰Mù´\Ó ÙðŠæ¥ŒVâÙôa‘Š%Ô(-ý¤4 .fªïÒz,ë“}O~‹„~$„Ÿy¦Ü‰ôY¤È±ïdçuÅmJWkò3néó ’o~¦VùqhŸXûÃ\긿æûHe!– ßκÕI˜î\ΦDX ØýL.XðÒþý²&aúŒ—&ìS <Wç“Ϧh™b’„ô܃Y­9²’Ik…x †CS·ˆ|ýbüK)žå+ó&Ì h0?ÆiÑœ³¦ºŸ5tnmÚ2BHÜ{ ãx8Ÿq)ð.̽ú^Õ jþ#Šòâ5+k:"Õ;c G{R"¥ ''µÉZ`3T,³j¸ØÔ"ílúÖÝ2[7äH2Ž-ÒŽc.+¥ÜˆÀ*?Œ ”qk‘*·´¶).öz¢ÆÅg×Õ^+–Ô>ÄøFöÍjëb_‹Ty›¬}šN)ÝÅ£‰ošô>/¼ ÍhÇò½íáÉËÛñmm7©†.íæR›Ô¢Å¯5¸ãÀ8™3«Œ‹9-RñB=$´A)pÇ©l²avúTlh‘ÚÊ’ø%Îe/ƒ—Á¾å¼
-ÖíšÍÞŸÖvÕ\øÁø
-»e‡TyÞŸ÷u~p‚ö·õçØCu¨`ó.æð]Þ±=:kÔ^éfÄÅ¿².Ü!Ívø,ý³ùÜ0Ý4<û\¨&:¤vï`Ë$Û×úFןÁ¿ì»VRü+SBRkaQÍi^ŽKl?ÜK4¥É½æ£LuHU|­ó»EeìzáCŠN£ô~È]¦–:¤]dè©ß
-„¼  [ŒP,µ@;Öo9g.i’ò(KM@n¨2„©Cª<»J,ä§X›Mµ×Ì8º|R€ä™m‹ÓNÐW<ãó0?ÊÍ?í¥ó& ~Òxzrmd{"UÿÇ»ôûÇÓWkzœ
-endstream
+3136 0 obj
+<< /D [ 3082 0 R /XYZ 81.145 105.303 null ] >>
endobj
3137 0 obj
-<< /Type /Page /Contents 3138 0 R /Resources 3136 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
-endobj
-3139 0 obj
-<< /D [ 3137 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3082 0 R /XYZ 81.145 94.344 null ] >>
endobj
-3140 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 768.829 null ] >>
+3138 0 obj
+<< /D [ 3082 0 R /XYZ 81.145 83.385 null ] >>
endobj
-3141 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 757.87 null ] >>
+3081 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3142 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 746.912 null ] >>
+<< /Filter /FlateDecode /Length 1545 >>
+stream
+xÚåYMã6 ½Ï¯ÈX$’ú
+‰ ê|5"i™¸h¼'qÕ`Bƒ.ÌH5¢¨EàQíJ;> ®¬e‰6ôåw¬ßùèÞÊ]ÌC½Æ6‚džuöŒH+g¤«eëÙ¹\«¼qá]®ñ;åXlò—£øSûíÉ~õÊ©>¿øá\}ÂÏñýXž ¹^ƒØŽå®¬8Kœ%ûsÝ2°qvo kcV¹wBZ9Cô€…„0K,»hìe9"ý‚১Xˆ`@tn8©ªÑ¤Ñ¼Ap"‘£ŽÈˆ¤Ñ@Î`ô“½º¸Â#ÍHc.ø÷GrË]DnIÇmDÒ¯—φÅõ"“éÿœ‹.Ê$úu90"Uöxmº¸5ì
+¿Ÿ&@cO×\LHw«Å#+å`BkÚÞ–¡5cÒk\)‘‰.Ý0ÄýU×)ÎH…¡’IDƒDdoa- è' ÒFqÔZ'Ù[„:‘é®–PÍïX",úª!åtÑI;¶q‰M18ÇYqXyº’¬mqñÂ6–›6tµÙܧ^5ò&¡½uÔykD•mR²õû×ê4{àùâý!Ë}qØÆò˜ ”¼q®8wÕfs©VB‚—ÕvŽ‰­-üîú¾òYïv̦[îÐB~ÿR£°\å/ ŒV:0'cQZùIŽ&û4áðj,«Ó<驳nëŸù¥? øYœè±ïäæ{Å“ÒjM{Ç…¿ q|øùUáe ߸ֆ]ñ‡˘O÷ãûJ,1½«—€ãíدrTýºìƒ‡÷SÍAþ§!êY«÷1iÃKGbeÛÙöøî(»›üÞõÛ ¼/pÙ†&VMêC¾½ÇŸ›0¥¶X§Û{˜#»£ð|°!àíý÷ôd¨|Úù¥.Û»,Ûi]ìEpÛ6ËóÅÑ7BÕ'ãóU* µ»U
+endstream
+endobj
+3141 0 obj
+<< /Type /Page /Contents 3142 0 R /Resources 3140 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
endobj
3143 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3141 0 R /XYZ 78.37 808.885 null ] >>
endobj
3144 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 768.829 null ] >>
endobj
3145 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 757.87 null ] >>
endobj
3146 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 746.912 null ] >>
endobj
3147 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 735.953 null ] >>
endobj
3148 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 724.994 null ] >>
endobj
3149 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 714.035 null ] >>
endobj
3150 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 703.076 null ] >>
endobj
3151 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 692.117 null ] >>
endobj
3152 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 681.158 null ] >>
endobj
3153 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 670.199 null ] >>
endobj
3154 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 659.24 null ] >>
endobj
3155 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 648.281 null ] >>
endobj
3156 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 637.322 null ] >>
endobj
3157 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 626.364 null ] >>
endobj
3158 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 615.405 null ] >>
endobj
3159 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 604.446 null ] >>
endobj
3160 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 593.487 null ] >>
endobj
3161 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 582.528 null ] >>
endobj
3162 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 571.569 null ] >>
endobj
3163 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 560.61 null ] >>
endobj
3164 0 obj
-<< /D [ 3137 0 R /XYZ 79.37 480.107 null ] >>
+<< /D [ 3141 0 R /XYZ 79.37 523.943 null ] >>
endobj
3165 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 461.973 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 505.808 null ] >>
endobj
3166 0 obj
-<< /D [ 3137 0 R /XYZ 79.37 425.305 null ] >>
+<< /D [ 3141 0 R /XYZ 79.37 469.141 null ] >>
endobj
3167 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 407.171 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 451.006 null ] >>
endobj
3168 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 396.212 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 422.115 null ] >>
endobj
3169 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 385.253 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 411.156 null ] >>
endobj
3170 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 374.294 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 400.197 null ] >>
endobj
3171 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 363.335 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 389.238 null ] >>
endobj
3172 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 352.376 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 378.279 null ] >>
endobj
3173 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 341.417 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 367.32 null ] >>
endobj
3174 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 330.458 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 356.361 null ] >>
endobj
3175 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 319.499 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 345.402 null ] >>
endobj
3176 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 308.54 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 334.443 null ] >>
endobj
3177 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 297.582 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 323.484 null ] >>
endobj
3178 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 286.623 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 312.525 null ] >>
endobj
3179 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 275.664 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 301.567 null ] >>
endobj
3180 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 264.705 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 290.608 null ] >>
endobj
3181 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 253.746 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 279.649 null ] >>
endobj
3182 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 242.787 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 268.69 null ] >>
endobj
3183 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 231.828 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 257.731 null ] >>
endobj
3184 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 220.869 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 246.772 null ] >>
endobj
3185 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 209.91 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 235.813 null ] >>
endobj
3186 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 198.951 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 224.854 null ] >>
endobj
3187 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 187.992 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 213.895 null ] >>
endobj
3188 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 177.034 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 202.936 null ] >>
endobj
3189 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 166.075 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 191.978 null ] >>
endobj
3190 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 155.116 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 181.019 null ] >>
endobj
3191 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 144.157 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 170.06 null ] >>
endobj
3192 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 133.198 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 159.101 null ] >>
endobj
3193 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 122.239 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 148.142 null ] >>
endobj
3194 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 111.28 null ] >>
-endobj
-3195 0 obj
-<< /D [ 3137 0 R /XYZ 81.145 100.321 null ] >>
+<< /D [ 3141 0 R /XYZ 81.145 137.183 null ] >>
endobj
-3136 0 obj
+3140 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3198 0 obj
-<< /Filter /FlateDecode /Length 2718 >>
+3197 0 obj
+<< /Filter /FlateDecode /Length 2737 >>
stream
-xÚµÉn+¹ñî¯Ð<†¬â
-Ü–5ÀÜ’ø6˜Ó™KÞ!¹ä÷íš‹(vSF²¬&Y¬}!«ùåÏ ¿üò²}½üå&ÔÅ1§AËË×?_„àq1Ž¡¹-×âòõóòÛ+çF¼Yôßo?4ÿŸæáç°q.>8—6|¨ £ÎÞÒˆv´&ÌO`{ƒøûF#qµ•WÚ#@IOö3Ì2öVâíÄÍP˜†ÒR%3*i õ<y›}À ´¢þHØÐ`K•Ô5Æ i2öÍBæ†Áeß2‡„ÝÛþ fˆ•h Thþöûׯ^´FND+\“hÁ¯‘>ú3‘÷ÛŠHÂóVD~ÞGÞk¬FÂ+²ÛMˆ)†B;&%ሠó n êþ¼¤þöKÀV_4s­ª÷4LÞ(`vµ×ïFX<[Î#zA*fÍæʦÕL…õþo€ ÜE2gB Áó *Öìl ¤»u˜Xy±¯5g˜Û
-Ú§‚h= ñ=Ï6õt´²ã-±3<¯ã
-TP@¹JH†‹ï§ÈÜ0 ªÐB‚÷d{ /¥VñÈP»^èÎá…Ü Úõ<&§à)È(WƒI#â“þ3;ÀwZ®Iу“R×ý©¾_-à X¥œ“bH¸]#¼Tð(^nÙ‘ñò¼v(A ÷WÊ츒†g´6:ø¹H©v‚I5$U«%R;H…Ö`MÞß“Œ>³‹zÚ•«TZΤƒ!•rÊR¡R‹^“=΢¸ÞZJ)Ò'º’$‡Z¿H£
-åPiqÆR+ÉÚ/Ø'üâ"Ê2eÔˆù¹FG ©¢ãŸ ¥aZè¯ðmÖ¼aiÕRŽú3‚šieFÔ§Ž¨oÿ÷¼ONI Àã4K9Í”ÚãVµ ù Í²ßo?<x@ΖäcªX¾¦ß¸Õ³à}‘)Êc'”1e-¿è
-ë Ê&˜¹f\ÎÇ¥KŸ‡ëóg¶~ºÿu>*}‹üQËüW>³ÚÐéÒA1eu¨`×&¡Ž·0îGBž´Ç$Ú#ˆ›3xõ Y PúìÚÝÕëá“]N7ßdFóOæõä&Z@O¬rž¢Ó‰1™Üžw ™18"âd¾»ˆÒ#ñ˜†ï¹Ì
-9¤ã}Í=´Z÷°_1ÐqÊ•2“‰Éåñ!Mç\‹³|hÞXr¸ˆ‹žÌÝÊÞ'æ¹|¼r›Ï¥ÌPÀîE©q`V©‘Ô΃’ÔZH„+eÉTGÌèêçÖAwúx­«ŽØ®|¿•2"ð4¬ VAt¶n¦#Täɡγ¾%Gt‚Y§‡r´Krì žA%‡Lx?¤ËT Ç£9T^Øå¹Ç+üèhRɹ®‘>¥R ØÞLVq͵TcT~Gf–3‡fè1ÕšÌZHªª3éȹ¶©™\êR·®û©|Â\‹®¯êÝ™®Ð>õ±1lëóÃaaí‰Î;=X”‘öe¨±CÉ5µjZ"ž×ÂãítO}&VСF¯êƒÕ6Ç9'¬10Ÿæ=ŸSûYòÃwv¾(+ånè×
-”’º–Óºr­1¡/˪>/{4·¾ø"›9’‡¡K2ÛÚÕû×A’c7w‘ËÒÖ !5—ÏÖ!B3£Li¹\@4Lð»ôÝùK‹œ9w
-מʡ-kµÙÌ~ªâº<{?å&hJnJ9Ê,î’îå2ÀüH×2ò ¾ÒÞtFD6~äùײŒƒEJÉXÁ $D¡˜°r4íV£4¹ÕȦdT%}º$D.€±Ö3ÑAz¨Îím}Tá‡t}«L‡ ´ѶXptŽËÄtQ1Qõ¦ƒ­ÈûLI†=ƒ¯ë.¹ëñܘž’›¾Ç}Õ”À!7CÎaÁ¯Cv¨…K‡° Ç¦î>K^ð´ù€æ ­"¾vèÚAZ1Ÿ––tlìÓšPo0×abž{PÎI÷w§çŦ›”{Ôëöãò£u¹&¯k´iímŠ&î‡ä“tÜÏç§nÇÌ0_9›9‘ [H=ŽˆÇüjh:)›zÍY¹4kT¶Â£5¶dOxP â­º¦uÇ•‚AUÇ.J SâÞíù¬“¤ØBº¯!äïymp4¶v/=hO|oì®ñ߸#Úd䈯ÃL¸bÊ©ÑüµL¯tÜ¿\G¸Òn8FoË¡K8É4ê!Qk™_© ­‹XYdÚ˜V¸Vhuf†«8`FØ!Žv ÇÒªâ?ÕšäÍ}3V”»Zþ…Tõß-$/síNsduà^
-w­‘a9ʳ¡,¦} œVGene‰¹ÿ·u³÷­ØQgq ãR%õÛøxA©=ôÍ›Ä(ÆKEýþ‚«Þÿ‘Uo3Ħ!>xÿ'¯©»­â<ª½¢iêÝ:|‘¸·U®z,=Õ3Ê@Þ»U¹‘-78áp%
+xÚµÉn,¹íî¯èxŠDj .·{€¹%ñm0§ 2—¼CrÉïGKK«U¥6rh·»$QÜER,~ùóÂ/¿¼l_/¹ uqÌiÐòòõÏáøE\Œch.F Ƶ¸|ý¼üöʹoý7ÂÛÆÿ§yøÅ9lœ‹Î¥ Ÿ0jèó£·4¢­ óÃØÞ þ¾ÑH\íGå•öPÒ“}Ç ³Œ‡½•xûñG3&‡¡´TÉŒŠGZC=Ï@Þ¦A0­è…„¿Ç64ØR%uqABšŒ„}³¹a°@Ù·ŒÀ!a÷¶?Æâƒp%Úš¿ýþõ«­‘ÑJÇ×$ZðëA¤þLäÄý¶"’𼑟÷‘÷«‘ð
+$¤ìvâcŠ¡ÐŽI G8bÆ#È|‚[‚úŸ?/響ý°ÕÍœA«ê} “7
+˜]íõ»‡‡Ï–óˆ^ŠYs‡¹²i5Sa½ÿ (w‘ÌYPC°À<HƒŠ5;[¸ðÝabåÅzL¼Ôpœal(hŸ
+¢õ,Ä÷<ÛÔgÐÑÊŽ·ÄÎð¼Ž+PAå* z,d ;E†à†aP…¼'ÛKx)µŠ—@†Ú ñ²çðBîízH“ŒSðd”«Á‡¤ñIÿ™à;-פèÁI©ëþT߯–a¬RÎI1Ô+µFx¨àP<¼Ü²#ãåyíP‚†o¯”Ùq%- Ïhmt<½UJµLª1©r‰ÔR¡5X“÷÷$£Ï좞v¥Æ*•–3é`¨É¸Fe ©P©E¯ÉgQ\o-¥tÒ'º’$‡Z¿H£?ÊòsÆReuKv«àÞn³5Ò ÷]?lC»0÷0å{9ìåÔG¬óZY¦Œêy­ À:ËëÒ§ñ’†i¡Gx¬³xµV­ù8èxÆŠQ3­Ìˆ:½£¼º‡äu"Z
+ÈzeÅ0³Dëݤ»ÛQÊ{JlN4|òŸæÚÂ4ßµ^c öð©ðlê
+uØJìäY½ëÐrò¨„Í¥z »ä-Z@½E´„.Œºeòwâí![Œvý¼r4Si)X”â>×ÚI#ìQÜŸvö伨/‡
+C‡|2¹È,î
endstream
endobj
-3197 0 obj
-<< /Type /Page /Contents 3198 0 R /Resources 3196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R /Annots 3248 0 R >>
+3196 0 obj
+<< /Type /Page /Contents 3197 0 R /Resources 3195 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R /Annots 3247 0 R >>
endobj
-3248 0 obj
-[ 3135 0 R ]
+3247 0 obj
+[ 3139 0 R ]
endobj
-3135 0 obj
+3139 0 obj
<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 745.828 246.868 758.348 ]/A << /S /GoTo /D (Hfootnote.43) >> >>
endobj
+3198 0 obj
+<< /D [ 3196 0 R /XYZ 78.37 808.885 null ] >>
+endobj
3199 0 obj
-<< /D [ 3197 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 743.055 null ] >>
endobj
3200 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 743.055 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 732.097 null ] >>
endobj
3201 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 732.097 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 721.138 null ] >>
endobj
3202 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 721.138 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 710.179 null ] >>
endobj
3203 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 710.179 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 699.22 null ] >>
endobj
3204 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 699.22 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 688.261 null ] >>
endobj
3205 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 688.261 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 677.302 null ] >>
endobj
3206 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 677.302 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 666.343 null ] >>
endobj
3207 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 666.343 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 655.384 null ] >>
endobj
3208 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 655.384 null ] >>
-endobj
-3209 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 644.425 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 644.425 null ] >>
endobj
281 0 obj
-<< /D [ 3197 0 R /XYZ 79.37 607.769 null ] >>
+<< /D [ 3196 0 R /XYZ 79.37 607.769 null ] >>
+endobj
+3209 0 obj
+<< /D [ 3196 0 R /XYZ 81.145 586.927 null ] >>
endobj
3210 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 586.927 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 571.245 null ] >>
endobj
3211 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 571.245 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 520.213 null ] >>
endobj
3212 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 520.213 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 509.254 null ] >>
endobj
3213 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 509.254 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 498.295 null ] >>
endobj
3214 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 498.295 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 487.336 null ] >>
endobj
3215 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 487.336 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 476.377 null ] >>
endobj
3216 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 476.377 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 465.418 null ] >>
endobj
3217 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 465.418 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 454.459 null ] >>
endobj
3218 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 454.459 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 443.5 null ] >>
endobj
3219 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 443.5 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 432.541 null ] >>
endobj
3220 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 432.541 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 421.582 null ] >>
endobj
3221 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 421.582 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 410.624 null ] >>
endobj
3222 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 410.624 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 399.665 null ] >>
endobj
3223 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 399.665 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 388.706 null ] >>
endobj
3224 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 388.706 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 377.747 null ] >>
endobj
3225 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 377.747 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 366.788 null ] >>
endobj
3226 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 366.788 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 355.829 null ] >>
endobj
3227 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 355.829 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 344.87 null ] >>
endobj
3228 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 344.87 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 333.911 null ] >>
endobj
3229 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 333.911 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 322.952 null ] >>
endobj
3230 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 322.952 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 311.993 null ] >>
endobj
3231 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 311.993 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 301.034 null ] >>
endobj
3232 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 301.034 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 290.076 null ] >>
endobj
3233 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 290.076 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 279.117 null ] >>
endobj
3234 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 279.117 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 268.158 null ] >>
endobj
3235 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 268.158 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 257.199 null ] >>
endobj
3236 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 257.199 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 246.24 null ] >>
endobj
3237 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 246.24 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 235.281 null ] >>
endobj
3238 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 235.281 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 224.322 null ] >>
endobj
3239 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 224.322 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 213.363 null ] >>
endobj
3240 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 213.363 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 202.404 null ] >>
endobj
3241 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 202.404 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 191.445 null ] >>
endobj
3242 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 191.445 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 180.487 null ] >>
endobj
3243 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 180.487 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 169.528 null ] >>
endobj
3244 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 169.528 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 158.569 null ] >>
endobj
3245 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 158.569 null ] >>
+<< /D [ 3196 0 R /XYZ 81.145 147.61 null ] >>
endobj
3246 0 obj
-<< /D [ 3197 0 R /XYZ 81.145 147.61 null ] >>
+<< /D [ 3196 0 R /XYZ 93.716 89.795 null ] >>
endobj
-3247 0 obj
-<< /D [ 3197 0 R /XYZ 93.716 89.795 null ] >>
-endobj
-3196 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R /F83 414 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+3195 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F16 336 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R /F83 412 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3251 0 obj
-<< /Filter /FlateDecode /Length 1917 >>
+3250 0 obj
+<< /Filter /FlateDecode /Length 2097 >>
stream
-xÚÍZÉŽã6½÷WøÂ!YÅ h°Ûö
-"Xmñôù盢ò¤N.p'g•V>ÿ>ýþ.¥õRƒ.}þ Ð8)’}¾Œ:kGãNÓs¼n4çzþãóWÚÉ·“B-€ˆèöJh÷j²Ö Dß#è{YM4êKFTÄ…ŽWAä¹×
-„—¡Gœ¸JÜVh8ÿ¢ý{+{ËÛÄíõc I@uÙ#¿£iÞ5Þ·s—¢®óÝ-‹ËÚø›Tp«3ã¸ú¤>ê]RFD˜1¯+±T ÃÑâ\¼¶£Ëýꪄ’˜;£Â ”´“¢[ª`“ªôf¥
-ššß61®åu­‚ŠÈ.ÌÇHPž*ýÅÝVÝÔþp&)§g} ù’Îη³ '®Üû}±I©øx
-CMÊéÕ&å6?Ô>ÒôãͬÂZ \#- Lkóµïx÷xÄËüW ñ ¬Z û­Š§5È£nÝ0©ó~=4¿Þ|¦
+xÚÍZÉŽ#7½÷Wèš&Á (Z%>u3æ:sòÅÿppg2#S™åjxP+Å$ccl,yùßE^~ývÿøöËS™KÁj‹—ÿ~SôB^ÔÅîâ¬ÒªËÇŸ—?Þ¤´^JxÒG_¿ƒ'¥QR¢Ï£®ÚѸÓô;~4ç~ýÏÇo´“n'…Z
+#*÷³D ¬¨®"&®§ÿ#‚ Á+²ÁkANƒÐ×Ñ‘
+'ù¦ôÌØÀñ Çr
+¥-e7zF2·E0ÅümNÓ§P µíHž?GÞ¨ä.uûh­¡<ÖOò AXÃ2aÍ1&Ð"`F2áUZ±kEª§ 5`E>kˆüVe}ÍrŒÇ8veȧOHɆܘˆ±šT Û{öt(Õï:óKŹ>É]×GY¤Dqç=êí÷ñÔï­‡çj½=+o¯„¶2
+çØÔßOÙú„4ÈìÆØz‚ÙïÔÙÒqóÀ(9 j–¶ÆhE€z_£— Â+;ËΚÃõòÁÞÎHñ8uè…7Ž£îhÑV\ñ„4œà¯‰œðÁs”L9”²Â…R+öR.¤lTú¶F—,t,î¨Û-n4íªüŒ4&o¡æþ²$lŽßK’8S÷$n·-%cY+úo%"”†#Æ{¬#2 =:¾nÜ:'TXí„÷’i?z’œù\F•õø„o=4Ãîj?Ï+¶Wf å8‹êu.¸¾k«Jk—Ò~#ß“åM®4Û¼{žSiÊ(L§“šE³î½
+H*¯ý€ZrÔ|P¯·šì“"«bÅTÍ ¼,˜fPËú¶²äVÐZ'Ï7’wSÞ°çûv¦¤˜€vú`¼‘÷b£ÎûÜaY±n¸TçUð:¶\`vÙZ}R]äîcÀQœj[N@µŠ/d­Úù¥‰¬ÿ­¢jÖšïfŠôÞšêÞÅYfêúÎ7÷^˜LSemþ•ŽÉ õ€Ú³YÇÁ«ªg T{ÇË«³Úe[
+¯ÞþTö©³õ%û}‘RNª€Ò @V Ī‚%Pê@¾Ø[Ó½_ê4¯\Û•~d›¾Ãy5œÛó'ˆ}?;Š~ÂvC¬ÆÏd«¥Ö®¼‚Â?× [Ä¿ü;Z}NW¿l”x®ZzxÜ~€â˜1šµ<c?Ðv@4Àñ”’Ÿ•Ålõ&¶1¶/eðù™€¸® Ó^/¢’)“ãîzú†ÑÐMLŽÜº´DÉ„/ Tyaƒã Ôh5d‚ՕЪŸm3±5=fAºÕwËÞô*ÑÛMæ
+%Wt;uMÆwCöO#òŽœ»uW4•1{€Z„ìÄƵ¹“ÄΕàڻ̙¥ùÏ
+;¼‚Ú%‘MŒëAAyݨ "²“¿ƒ¤Úgt[uŸÈ®uÐÂdó8ãL& ìúÆ ,€ŸlçkŸÿ‚aâhª´ó'¤Ï¶ó·yüGVM¦ëÝ:·Æã-#­®‘–­kógßõîñˆ·^Ç£²jÂí7õ^V9 :vÃ$ÏûQýy§
endstream
endobj
-3250 0 obj
-<< /Type /Page /Contents 3251 0 R /Resources 3249 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+3249 0 obj
+<< /Type /Page /Contents 3250 0 R /Resources 3248 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
+endobj
+3251 0 obj
+<< /D [ 3249 0 R /XYZ 78.37 808.885 null ] >>
endobj
3252 0 obj
-<< /D [ 3250 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 730.971 null ] >>
endobj
3253 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 720.012 null ] >>
endobj
3254 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 673.39 null ] >>
endobj
3255 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 673.39 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 655.255 null ] >>
endobj
3256 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 655.255 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 644.296 null ] >>
endobj
3257 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 644.296 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 633.337 null ] >>
endobj
3258 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 622.379 null ] >>
endobj
3259 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 611.42 null ] >>
endobj
3260 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 600.461 null ] >>
endobj
3261 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 589.502 null ] >>
endobj
3262 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 589.502 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 578.543 null ] >>
endobj
3263 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 578.543 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 567.584 null ] >>
endobj
3264 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 567.584 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 556.625 null ] >>
endobj
3265 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 556.625 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 545.666 null ] >>
endobj
3266 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 545.666 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 497.043 null ] >>
endobj
3267 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 497.043 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 466.954 null ] >>
endobj
3268 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 478.909 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 455.995 null ] >>
endobj
3269 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 467.95 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 440.055 null ] >>
endobj
3270 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 452.01 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 424.115 null ] >>
endobj
3271 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 436.07 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 385.454 null ] >>
endobj
3272 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 397.41 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 367.32 null ] >>
endobj
3273 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 379.275 null ] >>
+<< /D [ 3249 0 R /XYZ 79.37 330.652 null ] >>
endobj
3274 0 obj
-<< /D [ 3250 0 R /XYZ 79.37 342.608 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 300.563 null ] >>
endobj
3275 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 312.518 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 289.604 null ] >>
endobj
3276 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 301.559 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 278.645 null ] >>
endobj
3277 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 290.6 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 267.686 null ] >>
endobj
3278 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 279.641 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 256.727 null ] >>
endobj
3279 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 268.682 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 245.768 null ] >>
endobj
3280 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 257.724 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 234.809 null ] >>
endobj
3281 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 246.765 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 223.851 null ] >>
endobj
3282 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 235.806 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 212.892 null ] >>
endobj
3283 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 224.847 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 201.933 null ] >>
endobj
3284 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 213.888 null ] >>
-endobj
-3285 0 obj
-<< /D [ 3250 0 R /XYZ 81.145 202.929 null ] >>
+<< /D [ 3249 0 R /XYZ 81.145 190.974 null ] >>
endobj
-3249 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 414 0 R /F74 337 0 R /F65 335 0 R /F75 338 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+3248 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 412 0 R /F74 337 0 R /F65 335 0 R /F75 338 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3289 0 obj
-<< /Filter /FlateDecode /Length 2228 >>
+3288 0 obj
+<< /Filter /FlateDecode /Length 2243 >>
stream
-xÚÝ[ÉŽÜ6½ÏWèL“Å4Ð=ê1à[’¹>%ˆ/ñ!¹ä÷Ãâ".b÷¨ÚÈҶ4”TzU,¾Z(óåÛ—OO—·§¯
-\&´šW×CÀ…äÌY¿“hЄòœ'ŒâZÎô6|Ó‹Çq¢ ™ðzÔB]9·þ˜ ˜ÚKÒ¾à:¢õ{}påhŽ+‰ª“P ¤™éTìsT§^R£“ØéDÄÈ%ëfÍ…†±—Ô`Ì<’ˆÍx`Rø)¶3 Û ©bùE¿(«mYýâ½ûêNŒEÕÏ 6wIsù^PE çÄ=Èžê’¯ -Æ…ˆÜ¥qKžË™âb
-ßÑà÷’ü°E–ÌøCÄ"âÔž)S/Ò4œ½¤ç5cóéˆ^²¿îç¡DU¼f¨+Ö(Ç”“S}MŸ^RÕóŒÌ23&ž§FÅ*-Ó ¦>"iX{IG||¿ŠUÎzJFsçY¢ž`˜6Óèu4={I{Ã|"f 乚ÞÑôñÈvÔø ¯Ìˆ>S˜1gšD¼\…ƒá%FÏAR=bUPü‚ˆS{ÉŒó3œÄ:HÖãš9ãò€êp°r
-‘H{A{ïĺsûm²nZyTäV0kÅ :1H’æØ‘JÝë*;kriS¼´¨8Hêó)kÆ\¥æ«Zogçí çWçºÏys¾¾cËIn¹»gâ™»{&Ì5ͯrŽ½gퟡΈòÌé¹óÓâÿ ©A¨sfÅBá;Œï÷fçg±¯tÌy5µ/-$õy`´BÖ²0J­šfû‚e^ê)£Ðr¨ARƒP¤\´«2#*x0ïÖÂ0o§ù1'$5¸_òìa.'ÅÉ ãb—gh çEƒ¤ŠÓŠŽîõËR¯OyÁx³òZsªXSl0 §Øüj;eií’:kÛ•5£ØFbn_óݯVÍ0 Ç™÷~D5élÝírË„;Ý4q¾” rÀÌæë`^˜uƒ ¾QšªxM*Æ£oÚtwÛx]KéÀ„kÎ
-ÝM)ß/þ-}ÞzÆÉÂçUYh#
-1%-ª~¸ä‹~øŒ2sµÕqrð¼µ;²-šWFáñ%u]m/Ï·‹—Q7UYçÖ
-Ê“âÔ Âó ÒÏ\+ƒaeZ&ÇûÉÚZÛ·JÁ„RÃÛ„x¹¿ÆMêm¼ƒ±DˆØ¹¸-IýçÛ’N~ŵ(Ì‚4.îX!Ôõ
-m£s®²ðy%nðŠÒÌÙrí¨¼ŠIP3^9XÇ^鼂‚ïò
-¶L=…}°¶ Ä,qê{IX
-5陦90ŧ4}´pËÛƒ¤&Á{°¡¯eW•×Ú¤h·Š$š duJMS‹£Å`¶Á ©ê2o‘Öñ–Ldn}Y^7ßJ;ll“ _’åÜÔ5M×^R³±d#×—Yºfzz˜FQUË@“üTKEÓ²—TµÜ—-)A/´ÛÎRi°5í•[ùAG혞;­¤©Ø êçñ@¦ED­,3BÌ`·AI?¸±)¥aFïBx´4$Q×Åû¡û‘õ
+xÚµZËn,·Ýë+ú./Y|‚€dÀ»$Ú^9ˆ7¹‹xãßOÍGsF]J¼hM«§O‹õ"åöû&·Ÿž®Oß߶(¢g¶=)¼!7µù(´ß¼SB:µ}üØ~y–Ò)õ;ðòMWÌUJõŠ¿€Çm¿ê¥´ŸSx\êUMWñŠ“õŠ‹¼Pðnx±Ý-ÿOçí)¸¼üúñó“–Á¿?¡6nFÄ 4ôr(˜7^À.á^ð0ø·ŒTòý=˜- 6œ=Jô"Baˆ*‰Uáå›ûœÅ&
+RÄgV‹šþ‘d€uµ²ê ›åŽ—ǧBX×ɬ¥´(& ±÷G`(‰ø–EL¿ñØüZ70šû÷ñÌ€ E°›ŽW/¹óHaùçnèwe—&J¾[ZE9¬WkY‡EøçT>ãûÜ¥¸·þ»f»—ýìÚµœ`x(g£õ¿Ú9©®öùÄêS›   hÕ1e)š|4å«|ôŽqk­  ð¼—âEÝ'xúH›WûÇËãêu–Í4¯so•A¦ãöð}Pùpo̓QÝT‡®ƒµ7õî”r
+£µ™¾¦Ôëã9î"ÎJøŒc©®¾Ï-£þñû–OþNsQ¹’oìà´&éÆ
+š¾,¢Ä¿b¬þÀÜ®_Q½w\ù•“UFõ+#ÐìWø¡_aÒF·ª—ÑëlÝA
endstream
endobj
-3288 0 obj
-<< /Type /Page /Contents 3289 0 R /Resources 3287 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R /Annots 3339 0 R >>
+3287 0 obj
+<< /Type /Page /Contents 3288 0 R /Resources 3286 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R /Annots 3337 0 R >>
endobj
-3339 0 obj
-[ 3286 0 R ]
+3337 0 obj
+[ 3285 0 R ]
endobj
-3286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 434.994 246.868 447.514 ]/A << /S /GoTo /D (Hfootnote.44) >> >>
+3285 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 428.892 246.868 441.412 ]/A << /S /GoTo /D (Hfootnote.44) >> >>
+endobj
+3289 0 obj
+<< /D [ 3287 0 R /XYZ 78.37 808.885 null ] >>
endobj
3290 0 obj
-<< /D [ 3288 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3287 0 R /XYZ 79.37 773.016 null ] >>
endobj
3291 0 obj
-<< /D [ 3288 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 754.969 null ] >>
endobj
3292 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 726.252 null ] >>
endobj
3293 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 715.293 null ] >>
endobj
3294 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 704.334 null ] >>
endobj
3295 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 693.375 null ] >>
endobj
3296 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 682.416 null ] >>
endobj
3297 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 671.457 null ] >>
endobj
3298 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 660.498 null ] >>
endobj
3299 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 649.539 null ] >>
endobj
3300 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 638.58 null ] >>
endobj
3301 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 627.621 null ] >>
endobj
3302 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 616.663 null ] >>
endobj
3303 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 605.704 null ] >>
endobj
3304 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 594.745 null ] >>
endobj
3305 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 583.786 null ] >>
endobj
3306 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 572.827 null ] >>
endobj
3307 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 561.868 null ] >>
endobj
3308 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 550.909 null ] >>
endobj
3309 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 539.95 null ] >>
endobj
3310 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 528.991 null ] >>
endobj
3311 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 518.032 null ] >>
endobj
3312 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 507.073 null ] >>
endobj
3313 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 478.356 null ] >>
endobj
3314 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 426.077 null ] >>
endobj
3315 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 415.118 null ] >>
endobj
3316 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 432.092 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 404.16 null ] >>
endobj
3317 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 421.133 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 393.201 null ] >>
endobj
3318 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 410.174 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 382.242 null ] >>
endobj
3319 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 399.215 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 371.283 null ] >>
endobj
3320 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 388.256 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 360.324 null ] >>
endobj
3321 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 377.298 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 349.365 null ] >>
endobj
3322 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 366.339 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 338.406 null ] >>
endobj
3323 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 355.38 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 327.447 null ] >>
+endobj
+285 0 obj
+<< /D [ 3287 0 R /XYZ 79.37 290.547 null ] >>
endobj
3324 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 344.421 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 269.704 null ] >>
endobj
3325 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 333.462 null ] >>
-endobj
-285 0 obj
-<< /D [ 3288 0 R /XYZ 79.37 296.05 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 258.745 null ] >>
endobj
3326 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 275.208 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 247.786 null ] >>
endobj
3327 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 264.249 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 236.828 null ] >>
endobj
3328 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 253.29 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 225.869 null ] >>
endobj
3329 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 242.331 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 214.91 null ] >>
endobj
3330 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 231.372 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 203.951 null ] >>
endobj
3331 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 220.413 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 192.992 null ] >>
endobj
3332 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 209.455 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 182.033 null ] >>
endobj
3333 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 198.496 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 171.074 null ] >>
endobj
3334 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 187.537 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 131.747 null ] >>
endobj
3335 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 176.578 null ] >>
+<< /D [ 3287 0 R /XYZ 81.145 120.788 null ] >>
endobj
3336 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 136.727 null ] >>
+<< /D [ 3287 0 R /XYZ 93.716 89.795 null ] >>
endobj
-3337 0 obj
-<< /D [ 3288 0 R /XYZ 81.145 125.768 null ] >>
-endobj
-3338 0 obj
-<< /D [ 3288 0 R /XYZ 93.716 94.776 null ] >>
-endobj
-3287 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F59 346 0 R /F84 425 0 R /F74 337 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+3286 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3342 0 obj
-<< /Filter /FlateDecode /Length 2522 >>
+3340 0 obj
+<< /Filter /FlateDecode /Length 2518 >>
stream
-xÚÝ[Én$-¾û)Ꚇ`MɲTåªiξæ:sš÷¿[°%I‚ÛÒ/ýj¹Ë•Aì‘`Jäí¿7jÿÿÇÛãëí÷.·› ›an_ÿyc7jÿ±›¢ÄM+F¨b·¯ÿÝþõN©zPÊ7ûywŸÿþúçu`ê÷nÄÍM)nJF5áZ$¹}ü’ Ýo/ûótŸøh“ÇßØ'¥ÂØ'Âò°Çïv¾²?â‘辂@ëèÀñ8"è9R¥õò38ŽBÃË¥ó…Œ%%ŒBWÆÆc5ô|#Lð½’=z0„YåôèÅ”7M60-W B JI¢ Q=VôŠ†Qµj•ÆŪ ˜&
-%èp}Ó˜s^üñ‹KåW±(V­BÑƧ[ðxçÁá‰P ßƒ‚´åAØ÷¬ Øÿ#µW-ç£éºá0¬D¨€OðYüÝ=w¸OMóºÒ™=ãŽ?“#’¥d»*W×oó´rOå{à8 !]@ûpë˜jÔŽàÞMæÉóeÚ9)ˆG0a¤N;Ž;ñ4OÜ…pk²Õš:îÞc˜ƒì6÷{ÜÅ^ÅŸ iK@8¨ä¶¥­hhÁMÀAŒ*„™A‡a…¤¿gvꌌ™ÄÍòV¢BŽ£~ÄéÛÑyN
-Ëpü³Qrù‡{´‰€¦ÃÊù O<ç¾Þ…pØÜ<íÐîJŒ={:ÖÆ~ä:²õ¹½Š¥½êÖê„ß+Øðš\"&CŒ¢G'S[Z8˜@„A‚
-X—Ýû’C×@ߥD)è1ÛÖš^šhÊ»ôfe ÐŒWûªÌ‹Çœx°7öM]I›©µ]]ÉIÓ²@\¶H° ¥ÒDÕåd®/e •-kL˜ƒWøÉIÑ¥E®bÙîòà>¦u/
-.h¦ñ>¯ùóùùbîç4
-ð³í9ßE:1/ôy KíY\|€}¥Z÷81iË´5õèM”Õ€îGÕÍí={f¾lê®<{“^‚Þ!{Dç±äØ‹Ý=Šh„yÏ*¹Š7~ôï3Æ¢‹”âåò9?˜Ô¢j“Mö4;[ÆGÍV8%s®F¶ï¶OÐE¿ä1 Œ„Œ~„†Ó {ú!‰µdÜ-]ç[¿Þ "†çÓij¨\«›mc=íÎöQ»5g;²ëÔqe§vá5—S)¤rê3g»3z_ÚLˆº¤Ã?¢Å¸ÀC™¶(|['S]áß×*íi¹W#Tó'Ývȶ-„1Ñ¥_j‡ ùvȽcÂW¨nVùzõGÛ!¡6¤ê*i­j–Û!! a›îr²Ô5@©UØÇ¥ ÖÉè×£0XÖà>t½r8L5ùëãFòFô>Žìóq¤œƒþŽ{S¯ œEõ M€›®Ï,µ< VÄ%›Žu_ýÆ +fÄ1]S9LÍ&ªU3–Q£òɯÍÇ4—%`a2EX–aúÕÊÝ­|׋ìb…=¥gŽ^¤¦aB-¾/ü Å öˆr²ñÁ¹C|l¶øµ9i™;îH·¨(ä˜l•\x±ãxsíø,Û
-Ì~ä$bÒ1K˜kxo®Ý-aê0;Ýmq)ñ´è"€"Ä•'Ÿ9yº7ë-î‹Y¡rµµÈ‡“`%ÏO‚ãhuæ©äêɬŸÇX=DBgù·ó{9 ÷¦?Ðâý¡pFyŽ9}2«DuvŒóûî5éÆAç
+xÚÝ[Én$-¾û)Ꚇ`MɲTåªiξæ:sš÷¿[°%I‚ÛÒ/ýj¹Ë•Aì‘`Jäí¿7jÿÿÇÛãëí÷.·› ›an_ÿyc7jÿ±›¢ÄM+F¨b·¯ÿÝþõN©zPÊ7üüø÷×?ߨ³P¿w#n†lJqSâ0ª Ð"Éíã—é~{ÙŸ§ûÄ'@Ó˜<þÆ>)Æ>–‡=~·ó•ýDŸðZGŽoÀAÏy*­—ŸÁqz^.…˜/d,)aº26«¡ça‚÷è•ìу!Ì*§G/¦t¸i²i¼XjPJê±¢W4Œª-P«$0.VÅ4]Añ5c¬‘DÇ̼:‡û¨Lö™æñôÛÓíÑ}ÒÉñ¸°+ñç`þþóûbm7Ƭ job%8!8¨
+JyeüÞ™¼mV `uW(Ao„뛦@À¤x ˜óâ_\*¿ŠE¹Û':ˆ6>Ý‚Ç;O„ú
+’è¼ {AÎm(öc9¢m=®V·.›9lݪ@¯ÕÓ ÒùÞ1e®má…eK®cõêN8'’o½Ø:yi'5’ÓU](ªWY`å¡[çoXç‹"¶Ok%±Wl¥gGL˜ Iú,LcJ«¦œ±¯J€È®™¨Çšpk šwロì?[Ê"·Œ¬Ëî}É¡k ï‹R¢ôŠmkM/ÍF4å]z³²hÆ+ƒ} UæÅcN<Øû¦®¤ÍÔZÈ®®ä¤iY .[$X…Ri¢êr2×—2„ÊÈ5&Ì‚Á+üäƤèÒ" W±lwypÓº‚À4ÓxŸ×üùü|1÷s€À‹ãI³XÌ°°öhŽ–Íø¢j¥"tןø’jk ÏÞ=Ôª(B~â>ÛÎ=4ò^5ÎïÛ¿Õ9L/b3¿‡5œ:r‡,x\ùJ௨•5\1Ò_*ÿÖVùpsÜ÷?Q°Ä¨n‚š,áPÁ5²uøÙöœï"ˆ—
+ú¼ÀŒ†¥ö,.>À¾R-Ž{œ‹˜€´ŠeÚƒšzô&Êj@wˆ#‹êævˆŠ=÷3[¶Fu×@ž½I/AïÀ=¢óXrìE‰îE4¼g•\Å¿z÷cÑEJñrùLjQµÀÉ&{š-ã£f+œ’9 W#Û÷Û'è¢_ò˜FBF?BÃ醽ýÆÄÚ2¿®ó­_oÃóiâYT®ÕͶ±žvgûˆ¨ÝȳÙu긲S »ðšË©ÎR9õ™³Ý½/m&D]ÒaŽÑb\à¡L[¾­“)‡®ðïk•v´Ü«‹ªy“n;dÛ˜èÒ/µC Ð|;äÞ1á+T7«|½ú£íPaRu•´Ö5HË톰Mw9Yj‡ Ô*ìãRëdôëQ,kpº^9¦šüuq£ y#zGöù8RÎAǽ©×΢ú„&ÀM×g–Zž+â’MǺ¯~c†3⋇ή)‰¦fժΙ ˨Qùä×æcšË°0™",Ë0ý‡j劀îV¾kN„Å v±BŽ‹žÒ3G/ RÓ0¡ß~†b{D9ÙøàÜ!>6[üÚœ´Ìw¤[THÒI¶fáÅzŒãP̵ã³l+0û‘“ˆIÇ,a®á½¹v·„©Ãìt·Å¥ÄGDТ‹
+N¨.ßs "ãVrFµHAßß;$ ´xGÑúBŽ4A".µ–wú² ʃ]–iy¸‹A$ŽOוÎbÑóí gÕêÐ^[(îpŒK†(“"‹D{d>àvS`~¦ð9ˆßÒµ£–¦ºÂ3Þ¼ñ"ƒ¼Õ}Ëå}†ßúg×£L°Ã¦QК¦ "Yª †Bä6{ñ·ˆÚ"TµÅóO²ÓDC?èÊ5çjª›lÉ|†wò ßD:'áÇUõh¢©aá»s ̤nŽâ. MÑèo·kœÚp¨ºuö%ÊfÛ5-[¤,Ô/:…ß—ö[º¶ 8uU“xq¹«_u`•µ•Ó·5~@^°Ibh?ó%y5HÝèðSéx‘S#ˆºÇél#½¢A¾/ðå{žˆÆ¯'$-JGsbÌñ<Vη¿r#ÌÆŠ鯋Ÿu…ïý Îåþ£qØB|ëÉs²’&‰b¬Eú»ÆÉÈñݵ×dŸÄUý|ŒPƺŒÞ×ü¤FêG‘¿ÊOÜËal™ðÈÏú§ÄzBOŽ“KRxôwõ¶ºñ®¼Ìš¼j¤Ÿ÷jã¢ë!rÍCj¤o_æd›&LË.Gb)ó7HßçÈ(ßWô´É—ÚöéûiI@vóÿlu_i4Héo¹
endstream
endobj
+3339 0 obj
+<< /Type /Page /Contents 3340 0 R /Resources 3338 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
+endobj
3341 0 obj
-<< /Type /Page /Contents 3342 0 R /Resources 3340 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3339 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3342 0 obj
+<< /D [ 3339 0 R /XYZ 81.145 768.829 null ] >>
endobj
3343 0 obj
-<< /D [ 3341 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 757.87 null ] >>
endobj
3344 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 746.912 null ] >>
endobj
3345 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 735.953 null ] >>
endobj
3346 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 724.994 null ] >>
endobj
3347 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 663.225 null ] >>
endobj
3348 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 652.266 null ] >>
endobj
3349 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 663.225 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 641.308 null ] >>
endobj
3350 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 652.266 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 630.349 null ] >>
endobj
3351 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 641.308 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 619.39 null ] >>
endobj
3352 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 630.349 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 608.431 null ] >>
endobj
3353 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 619.39 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 597.472 null ] >>
endobj
3354 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 608.431 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 586.513 null ] >>
endobj
3355 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 597.472 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 575.554 null ] >>
endobj
3356 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 586.513 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 564.595 null ] >>
endobj
3357 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 575.554 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 553.636 null ] >>
endobj
3358 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 564.595 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 542.677 null ] >>
endobj
3359 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 553.636 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 531.719 null ] >>
endobj
3360 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 542.677 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 520.76 null ] >>
endobj
3361 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 531.719 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 509.801 null ] >>
endobj
3362 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 520.76 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 498.842 null ] >>
endobj
3363 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 509.801 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 487.883 null ] >>
endobj
3364 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 498.842 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 476.924 null ] >>
endobj
3365 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 487.883 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 465.965 null ] >>
endobj
3366 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 476.924 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 455.006 null ] >>
endobj
3367 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 465.965 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 444.047 null ] >>
endobj
3368 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 433.088 null ] >>
endobj
3369 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 444.047 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 395.23 null ] >>
endobj
3370 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 433.088 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 384.271 null ] >>
endobj
3371 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 373.313 null ] >>
endobj
3372 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 362.354 null ] >>
endobj
3373 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 351.395 null ] >>
endobj
3374 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 362.354 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 325.492 null ] >>
endobj
3375 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 351.395 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 314.533 null ] >>
endobj
3376 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 325.492 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 303.574 null ] >>
endobj
3377 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 314.533 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 292.615 null ] >>
endobj
3378 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 303.574 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 281.656 null ] >>
endobj
3379 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 292.615 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 270.697 null ] >>
endobj
3380 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 281.656 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 259.738 null ] >>
endobj
3381 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 270.697 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 248.78 null ] >>
endobj
3382 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 259.738 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 237.821 null ] >>
endobj
3383 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 248.78 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 226.862 null ] >>
endobj
3384 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 237.821 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 215.903 null ] >>
endobj
3385 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 226.862 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 204.944 null ] >>
endobj
3386 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 215.903 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 193.985 null ] >>
endobj
3387 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 204.944 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 183.026 null ] >>
endobj
3388 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 193.985 null ] >>
+<< /D [ 3339 0 R /XYZ 79.37 160.314 null ] >>
endobj
3389 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 183.026 null ] >>
+<< /D [ 3339 0 R /XYZ 81.145 142.179 null ] >>
endobj
-3390 0 obj
-<< /D [ 3341 0 R /XYZ 79.37 160.314 null ] >>
-endobj
-3391 0 obj
-<< /D [ 3341 0 R /XYZ 81.145 142.179 null ] >>
-endobj
-3340 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R /F74 337 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+3338 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3394 0 obj
-<< /Filter /FlateDecode /Length 1761 >>
+3392 0 obj
+<< /Filter /FlateDecode /Length 1940 >>
stream
-xÚÕZÉn9½û+ôaXEÀ0 ER€9û6˜ëÌiþÿ²É^È.É,EAâC[2›ýúÕÂZHéÃ}øþrzùzE<D:{xÿ÷Ò }€ƒÊøƒw ´ƒÃûÿ‡¿_µFÔÚ¤ ¾imOå»Óoÿ¼ÿõ¢eÐô÷{¤x°*0¸Å ¨ÒK¼õ
-À̘.ãÄt­ V¥÷õì!$n΄-Nô*bèÐd2…Îäðí !¥»ÆÎßð˜^E
-EhƲ³¨™ÈµŒÚó¢H¼÷Œ@áwqV…Ó%"}¦96äÿ—7¬œîÏ-ìªÁð*5j…À›é(2S „—J¶*&“_¾_[%ækRÖ¹Ü{ÈËŸò¾'Gh
-mzÖ&ŠLÑYŸÈd$¾9VuU±?=Ï~šîNü4åf‘½ûšá~^p)/Xô‹êÃÞ¾¯wë>5r¨ÑÄ-3m)bi–‘„BǬ™y$Ë5Å°ê¾kðp { Ž=’WmÏßÃ[0¯å­èýkqóÌÙŸg}oïä7úãêU:ô“•A0cAAØip²•-HætWãœ"·“af<yHhSRaîqýæºÈÃ[ªÊR,…Þm,UžÛZ
-}h-•ùwc£²·òÞ¶aÎIÂ`à )B>I0è€&Ã@QSQ-·”WÅM°.{¡h“i‰M.4$h¯ŒÅÉÃÖôkíâÝZøPr[Æ.´å£œv¬œvLNLοG¢ãÂ>/\].JN äópZê¬*¨"eû%VgÁ×Êiõît]Ö¢l\h?<ë¡F&t‹„L¸g8{,’Îq >»¸íF‰Ä|[\e£GتÝäœhKd¤ó¾ö‚Ëk½ËÍóq·µ¤‘v!A¹9kØ‹h©uHœ5r6']rX¯íÉA/‚Rñ®ü®™Êêc†ët•÷ÀÍ—5_Ðí09U4°F÷_6‰‚
-€œPƒ­ÓbËé ›”Þ@¬±{pAQêÚ°é\öâií
-ù¥Î3DËñ,È~-Òïpd¶ÊÚÉZZ£Û/Š…ñNáã¤ÐbH*b-dk‘6;ÞÐœ)¤[Þ±¾?X‘U\ôAF¹ßYo ²}ÐÔQ,­óÜå”Ѧ˛GM”¹¯+#M7Tž ›ðTúÇü¿9mgu•ø¸–­Ó
-<»‚ ³š: ÛéÁUrS:7¹ÆÕm+,cx}85ØÔv ð>Xt­‚=’%>ôÛoíFVÞ\ãdäs‹k·„2,Ž1ëcÓôKKk‚Bb—ÐhÉS ÐéÖbϲ‹zjiÆа 9´­ám”e‹´²”Ønï‹¿Çvà”1‘ÓJ­Ûºùš”a•(ÛLnqn/ã)7Ÿ¾|ML1•ã(ªì:$")“`’S!Çd´¶I&ôä{$¶É‹‡¶W}\§û¨êX;«Í¸'…Úò¨HV[A¦­‰¤Žq ÈZÖƒ놼!\ô €¡4+«‹Ñm—Ò:öHOM
-+ûµD‡$¹p¥kÍ´ÇG‚jem` m$ù£’Õsœ« EÒQÙÀæYJì€6" Õ5·T`k³1ýÜp¤Ämìη["1òO9ØŒùTrg’ãxIPÛ†gs€,-R‚Wä#4Z Ô^¸’¯`kª Ä¨ç4"3Z¶*ég¡ºoå˜4·9SÙê‚•Fï”ÖF+—ªýè§d E¦üã÷üôF®›?^Ir‡Ü­•óæ÷c—÷—“)
+xÚÕZKoÜ8 ¾÷W̨V"E=€ ÀLgR`Ϲ-öº{Úÿ]Ñ’’é‰4¢Í!­cËŸøù‘Ž>ý{Ò§ï_.ï_þx8E8{zÿç‹IôÉœ|TèOÞ¥9½ÿwúëEk
+Œ#®h€¬ç¤@8KŸ‹¹ŠZKœ^ײ AR?ÝãnÛû'ºá>cs6(AâYh¦øÎáS2š’MܲҖœ‚&¶µ0ßI(tfËÌwX/ kmjì]E^Q´­üÞ¼œÉ’÷…º°Ìþ:Û{û„wôç5YHŠ$ÊeÂ΂“¯lFú€î sŠÜN‡Yâ\†+FS$g¢6çþ‰¤e}dO]
+iónã©üÞÖSàCí©=‡r蔸Õ÷؇0—ª^D9„¡dPÝa8gÉp™„/Ç~P cTL½†T\¨K £½B -’7[×gWñµwsj‘SɱŽMjÔ35N:E·¤§íÓŒ²{$:o™Õù‡Y™!Ÿiß–úq¤M&(*±ƒý’«g–^Ö.Ñ~n+)ëVšR•IÙUŒPRºA’ˆî=ÇÙóÚjq(ï.a»1"õQhg¶fG®‰6gÆ^*½>•Öù¸Z{õ¨7RZÒÑKÞ°·¡£Ö IÞàjN:×°ÖÚS€>N‚ÈepÇG'«mópYŸ* —5‚5Îq–œY“ûOÈšd0’NÓâÊé7Ëš„¤À¨g_ëaR°PºÕ ÕYÓ9âéèÊV¡FI¾N>¾ÈW#ýúWÏØ:l¥5¹ý¤Tï$9MzÌ`Š{+z,Œy¬FÚxì|`¹AI5( $Æ~'3"«¬q-Òå~d(£­ØM ÅÒ9ÏMN¾[5yó]ôó¼r¾S5CáãÁàò^MÄû­lSK$ÆC'/+Õ¡:.¸ÁRé¹\îUæá-¼íûèIE»ía…cŽeÆÇû5ódé˜.]‡/öÍÀöûüลe ƒîEP$ÖÉN:{·Â9v®+Ñʇy€®Œ$‹Ñ+窓è0ÉúôR8Ô*øØ"Y’ëºýV;š§’ŽÒÐÅÂÚ¢/u
+ò©Ÿí± œQhMZwÜ€‡š‹é(“³îÃYcTnߤ³”ìs–²AZ¥ñÝ>‰ï0åö]ÿ¦ÉlÖ{¯ü¾{žÖ  ãƒ<e¿ëÓ0O²<yI‘^ÂXˆ{ƒD4* ‘ò1ˆ’t!“%hDªÉLJžð©Ê}D*×¾¹ùTå~èSU"z*`ƬU#Ñ(EDD·õΑR'DÁ5@Ÿ°
+<†”ØØ×®HbS=>^W?_SúõaÄib`DÔ»ßJóXш®°B <îCckh”Ð
+u1š#ØÒdLDÚCnëï°×ãVh¹K§|¯ö);'¹¤— ”†¡Ú|2¤û>š‚Ó‘;Y­âZ?6œnï_þ'ÒËä
endstream
endobj
+3391 0 obj
+<< /Type /Page /Contents 3392 0 R /Resources 3390 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R >>
+endobj
3393 0 obj
-<< /Type /Page /Contents 3394 0 R /Resources 3392 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3391 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+3394 0 obj
+<< /D [ 3391 0 R /XYZ 79.37 773.016 null ] >>
endobj
3395 0 obj
-<< /D [ 3393 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 741.13 null ] >>
endobj
3396 0 obj
-<< /D [ 3393 0 R /XYZ 79.37 773.016 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 730.171 null ] >>
endobj
3397 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 714.426 null ] >>
endobj
3398 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 698.682 null ] >>
endobj
3399 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 727.983 null ] >>
+<< /D [ 3391 0 R /XYZ 79.37 660.693 null ] >>
endobj
3400 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 712.042 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 630.701 null ] >>
endobj
3401 0 obj
-<< /D [ 3393 0 R /XYZ 79.37 673.382 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 619.742 null ] >>
endobj
3402 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 643.293 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 608.784 null ] >>
endobj
3403 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 632.334 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 597.825 null ] >>
endobj
3404 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 621.375 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 586.866 null ] >>
endobj
3405 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 610.416 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 575.907 null ] >>
endobj
3406 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 599.457 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 564.948 null ] >>
endobj
3407 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 588.498 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 553.989 null ] >>
endobj
3408 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 577.539 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 543.03 null ] >>
endobj
3409 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 566.58 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 532.071 null ] >>
endobj
3410 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 555.621 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 521.112 null ] >>
endobj
3411 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 544.662 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 510.153 null ] >>
endobj
3412 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 533.704 null ] >>
+<< /D [ 3391 0 R /XYZ 79.37 474.059 null ] >>
endobj
3413 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 522.745 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 456.023 null ] >>
endobj
3414 0 obj
-<< /D [ 3393 0 R /XYZ 79.37 486.077 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 440.278 null ] >>
endobj
3415 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 467.943 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 429.32 null ] >>
endobj
3416 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 456.984 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 418.361 null ] >>
endobj
3417 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 446.025 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 407.402 null ] >>
endobj
3418 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 435.066 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 396.443 null ] >>
endobj
3419 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 424.107 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 385.484 null ] >>
endobj
3420 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 413.148 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 374.525 null ] >>
endobj
3421 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 402.189 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 363.566 null ] >>
endobj
3422 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 391.23 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 352.607 null ] >>
endobj
3423 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 380.271 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 341.648 null ] >>
endobj
3424 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 369.313 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 330.689 null ] >>
endobj
3425 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 358.354 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 319.73 null ] >>
endobj
3426 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 347.395 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 308.772 null ] >>
endobj
3427 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 336.436 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 297.813 null ] >>
endobj
3428 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 325.477 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 286.854 null ] >>
endobj
3429 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 314.518 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 275.895 null ] >>
endobj
3430 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 303.559 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 264.936 null ] >>
endobj
3431 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 292.6 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 253.977 null ] >>
endobj
3432 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 281.641 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 243.018 null ] >>
endobj
3433 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 270.682 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 232.059 null ] >>
endobj
3434 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 259.724 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 221.1 null ] >>
endobj
3435 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 248.765 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 210.141 null ] >>
endobj
3436 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 237.806 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 199.183 null ] >>
endobj
3437 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 226.847 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 188.224 null ] >>
endobj
3438 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 215.888 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 177.265 null ] >>
endobj
3439 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 204.929 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 166.306 null ] >>
endobj
3440 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 193.97 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 155.347 null ] >>
endobj
3441 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 183.011 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 144.388 null ] >>
endobj
3442 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 172.052 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 133.429 null ] >>
endobj
3443 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 161.093 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 122.47 null ] >>
endobj
3444 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 150.134 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 111.511 null ] >>
endobj
3445 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 139.176 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 100.552 null ] >>
endobj
3446 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 128.217 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 89.593 null ] >>
endobj
3447 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 117.258 null ] >>
+<< /D [ 3391 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3448 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 106.299 null ] >>
+3390 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3449 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 95.34 null ] >>
+3451 0 obj
+<< /Filter /FlateDecode /Length 2212 >>
+stream
+xÚÅZÉn7½ë+úL‘Åâ4’&€oIt3rJ_âCrÉ笠/Í5G6cÜ­^_‹µ±9SÛ×Óÿ?ÝÞîîÏÊmÈœ¶·?ïÄÆéŸØ,0›Ñ‚q-¶·oÛ—Îõ‰siãQŸ{û|Ç=AÝŸ-n–9­¥mqh& ŒHhá…sñLçŠPs£éGG%èçΟ(zZÑ“(éHW‘î⳿Vîº|vjBÓ6¢Tíù_x¥·N]Š€tÖLÁ;úWœ Sý?­é¿Gút6Jß¾M2é˜@9“Lºc’ ÍŒ2#’Ò«LÀ2AC̘Ø5&=ð¢5•Ï´×Fmƒööôé-Ý”{:Ÿ5˜þ‰—8_aF<"ÙÚ€º¨ pª­éÀæÀŽ@žŒ7"/j00Û
+ééÃùˆÙI\Q _zÞ¤¾ÁíŸñKÓé¢?žMD}âûAªSš~yíâ1òIç$;<Ey=f-%½è‰lèTœÞû³P›£©
+˜ÎüZ¼®æ{‹Ñ1«¦S¿9¤ÊшäAš(¢üy–¾Ç¢´ó”«žEIˬÛE$é–#î€Ôè]íó‚*AÎ8óšlŠÈêoDô›],óï˜ún“UÏÊ ¥Òêø¿T)£¯2.Î3P,Õlž3©aøœ´pŠ3|SäVT$;£g<3Œ©_cMíø~¤80.‹G‘¯Õ2ÂZ-uÇPò´õQ¼âõë©rç%±(W¼Åé5ïÏgœ„åÌ97²šT4×$n˜Pb'›Zœ/´–q;µ«ƒ™VªÏ bȸ$dHI4/âkT¤:%‘éopûÀ¼Œ¯Å܉G-˜¨œŒx´2M/åß ¥ÇR’DlÊåè>ò;9¹2ð÷9ß)®á%áQ²iĦ÷ýإ؆îVôYùÕìõrm_ŸóÝ„‘>UoŸŠ9§Ñ³£~‰Ü«T~Á·R¡nWµy´ðPÊ‚R† à`»UUO‹çÌ5ˆÕç\Z?ij)C À@¯ƒˆ?ýZÝ—OnóŒøëý •nÆ%+Þ~ûÁ„x¾¾¾u¬ª¯3Ì¡0”—™Eоnñä¿ …Þ¼g”Þ°‡@%zÅ(`‹Ûœ&\
+*fÍH\ÙU"ƒ}À9XëdÒÅò(‹ô™„iBu´„!×,½ôH>%ÔmRµÈKH&õÜQ¬[$%ÖÆHMj—R«Îï—hߺßYÑû·›¶æ‚äâÏS
+\“¼GªÌ›õzëGrKÛðÚjÍÅôØ°YN祣ägß(Ö'—dª¬~AI^ý
+‚Ò<ý€Í.¬¾E©)%¢üa&õÑÂ,KÝ#U©÷eCÚ|Ù—&¹\@È3{1ÿX‘‚‚]kÄÿŽjYÆiZ$Xɵil£/RÜG=ÃÕ‚hšáͼƺ®•eÊÌT}´Vʪî€vzZd…†i!f´Ž–F™VtÛÚ>|hMKÍ´‚©´k-Ü)•Î÷g€Ëé!3ÍÖ†ÏR}››õ6DÍO¤
+žúe_Ìæ°ÜñõÎ/oËSó”8ËhÆYm±/PJ q^M>ÀÉ:L”¶–; @—·Ë.·>j-¦žfm˜.úûŸ÷š>^¨dk8d‹ª ƒœ¤‘¶äaÃó†¬ÔÔÞ–ö¶ Ëª{¿ã¾œ|‚¦ð¥õT\J>$ß3A¨ågîùú½øô)ÁnŠC"}e7J «Ÿ…
+endstream
endobj
3450 0 obj
-<< /D [ 3393 0 R /XYZ 81.145 84.381 null ] >>
+<< /Type /Page /Contents 3451 0 R /Resources 3449 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3034 0 R /Annots 3503 0 R >>
endobj
-3392 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+3503 0 obj
+[ 3448 0 R ]
endobj
-3454 0 obj
-<< /Filter /FlateDecode /Length 2169 >>
-stream
-xÚµZÉn#7½û+ô¦IWÀ`YV€¹%ñm0§™Kæ\òûaqi®²ºäza¿~EkmÎôáû‡ÿz8½?<]´?(æ
-h2õHLóþ&r´6lN½â¨Þh{¤†ãf-¨ÜŒaJ˜‘ø¸N$n=RoûP/ÊîĹ¼f#çqu'{E•Ok¦‚_ÈWöÏ^ùz¤Ê[¾$ëƒÖS2çsâ«læîÒuK^¥˜ònÅßœhü{¤†¿LÜ¢Ìü §ò`ü’ç gÔð|ËÜ|úE=ÙŽ/ó:DyÎéž!ïY)™^N;·E´GkæZÇblpúðY¢”B03ûã(¦£‰Ù#Í«†>:zá•#ç̹Ô,MãØ#UŽèyŠµÁX©XœcòNÐÎ3ËaÉ—æe¤Þ#!?äªdÑ *Oë˜Uz¹ö4Ï9 5óbWsλðt‡~jc™uKïDôœRå²dA/½üeƒ‡ß×ÁRR-‹Ö†99{$Gö¸R3ïzŽ ª%+(»R^G$»Ùù2|ÆÖg ÿ0—!åG7và<~Ö¬iÌÂòìÉËücW‰ë¬4sÆ­Ö™y H Ã×< §´Âwyn á÷+žÄc@ê÷XZɨm·óX-ðÖfQà­jFÜ«[njå1¦¥m›®à¼¤œw»sÎ,¶+¨q¦úͧ‹U+NÂqæ½Y-²Î$“܆Ü\L²iêzqøXÚ‘VΡ d@Ú€N4Šø–ÓºS9œKߤÒ¦Ú]Úw{áUøbSu+Žòò°Ï
-l“žÒý bSÒHæ£<S‚[T#ž_ÊÍ4œË;¥HßØ”IÒ}|÷V‘Ý­d³Ê£Åê•úKge~MG?do›:ç·C}NÜ«T¸á[©”iW59:ù¼¥!ÊöÊ.]·«¶—çáâµp-²©js®íŸ¼´Á ³E32</Eú3oÕ~a|[–¯÷K´•œ®©‘0‚ ¥†· ñúñ7ž)%oq,Þ0f×¹%Ô¿¿ÒÁ/¸Cbl˜·àtgÀ2Õž3kkÝn•}_±*èìÄ\;¢UQ˜zeUv&<Ùª @£UAà]V…H_I&µYÒß™Èó ¨=†…¦ ¬ˆ¼@0é—A
-ŽÆIŸçP®>}W±1ì °+Mò©J°.\Ôë­)œ>[^Kâ%¥‹6ä^ñ`á–‹¼7“*¢v@M¹×F;_äÆ }+qÂ÷MfðŽ©EéÀíOͲÐR•zNRbRLp»f%a@ Óº^@2º`žçÒƒÑûSµ"cÔ¯,!ê"ò·†é¹ü÷¦ …ôÉFÍ´R+^{SŽÂ«GºoÇìpëŸÚ)Z1íôRZZit@Ê)éÓEÊëaHÇLÓ2ÀèãÃÜ€ÐÉC>†©à¹^°õ]éþ•J*šÌ—ðNÍ(q”
-5ÇÑ/«òFçQñmîiuM –8<ø¿¹E§Â5g/]Xø¹åõMS¦n
-»Sâìa ¬•†ª¬-ë)³iC¯ÚËãßnáôÍÞë~+OãÛûÃ_Cš,kÐÚß~<|ý®þþ¾„yƸýŸ8îGPpÅŒÀ§þ<üúðsúÙŠCX'ku7.\a’ÂLH½(ª‡¥ƒC˜.Ë^;…ÀlX{‡ß–Ö ©TšJ@z:Ï“xPzáÊØE J×7‘rbI@XÁ¬ÜÙ†¸&¥É
-endstream
+3448 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 445.953 246.868 458.542 ]/A << /S /GoTo /D (Hfootnote.45) >> >>
endobj
-3453 0 obj
-<< /Type /Page /Contents 3454 0 R /Resources 3452 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R /Annots 3507 0 R >>
+3452 0 obj
+<< /D [ 3450 0 R /XYZ 78.37 808.885 null ] >>
endobj
-3507 0 obj
-[ 3451 0 R ]
+3453 0 obj
+<< /D [ 3450 0 R /XYZ 81.145 768.829 null ] >>
endobj
-3451 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 236.441 463.885 246.868 476.475 ]/A << /S /GoTo /D (Hfootnote.45) >> >>
+3454 0 obj
+<< /D [ 3450 0 R /XYZ 81.145 757.87 null ] >>
endobj
3455 0 obj
-<< /D [ 3453 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 746.912 null ] >>
endobj
3456 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 735.953 null ] >>
endobj
3457 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 720.012 null ] >>
endobj
3458 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 728.979 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 689.128 null ] >>
endobj
3459 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 718.02 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 678.169 null ] >>
endobj
3460 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 707.061 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 667.21 null ] >>
endobj
3461 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 696.102 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 656.252 null ] >>
endobj
3462 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 685.143 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 645.293 null ] >>
endobj
3463 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 674.184 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 634.334 null ] >>
endobj
3464 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 663.225 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 623.375 null ] >>
endobj
3465 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 652.266 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 612.416 null ] >>
endobj
3466 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 641.308 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 601.457 null ] >>
endobj
3467 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 630.349 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 590.498 null ] >>
endobj
3468 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 619.39 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 579.539 null ] >>
endobj
3469 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 608.431 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 568.58 null ] >>
endobj
3470 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 597.472 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 557.621 null ] >>
endobj
3471 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 586.513 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 546.662 null ] >>
endobj
3472 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 575.554 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 535.704 null ] >>
endobj
3473 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 564.595 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 524.745 null ] >>
endobj
3474 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 553.636 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 495.853 null ] >>
endobj
3475 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 542.677 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 443.051 null ] >>
endobj
3476 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 432.092 null ] >>
endobj
3477 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 460.984 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 421.133 null ] >>
endobj
3478 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 450.025 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 410.174 null ] >>
endobj
3479 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 439.066 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 399.215 null ] >>
endobj
3480 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 428.107 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 388.256 null ] >>
endobj
3481 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 417.148 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 377.298 null ] >>
endobj
3482 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 406.189 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 366.339 null ] >>
endobj
3483 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 395.23 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 355.38 null ] >>
endobj
3484 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 344.421 null ] >>
+endobj
+289 0 obj
+<< /D [ 3450 0 R /XYZ 79.37 321.953 null ] >>
endobj
3485 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 301.111 null ] >>
endobj
3486 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 362.354 null ] >>
-endobj
-289 0 obj
-<< /D [ 3453 0 R /XYZ 79.37 339.886 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 290.152 null ] >>
endobj
3487 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 319.044 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 279.193 null ] >>
endobj
3488 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 308.085 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 268.234 null ] >>
endobj
3489 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 297.126 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 257.275 null ] >>
endobj
3490 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 286.167 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 246.316 null ] >>
endobj
3491 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 275.208 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 235.357 null ] >>
endobj
3492 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 264.249 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 224.398 null ] >>
endobj
3493 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 253.29 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 213.44 null ] >>
endobj
3494 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 242.331 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 202.481 null ] >>
endobj
3495 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 231.372 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 191.522 null ] >>
endobj
3496 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 220.413 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 180.563 null ] >>
endobj
3497 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 209.455 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 169.604 null ] >>
endobj
3498 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 198.496 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 158.645 null ] >>
endobj
3499 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 187.537 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 147.686 null ] >>
endobj
3500 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 176.578 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 136.727 null ] >>
endobj
3501 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 165.619 null ] >>
+<< /D [ 3450 0 R /XYZ 81.145 125.768 null ] >>
endobj
3502 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 154.66 null ] >>
+<< /D [ 3450 0 R /XYZ 93.716 95.962 null ] >>
endobj
-3503 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 143.701 null ] >>
+3449 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3504 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 132.742 null ] >>
+3506 0 obj
+<< /Filter /FlateDecode /Length 2221 >>
+stream
+xÚÍ[Ën$©Ýû+êLC@ðZ–ª\®‘fíÝh¶sW÷ÿ· $Œ*åniÔrg:“ N¼ƒ
+'´pÉZHŒm‡,#4E2›Š®e7S`‘f‰mRʆ”LF§A¨ ÉÊžnæ^kÝL«üÖÑ.OŒÏ²Ø¿¼æßu1ôÙ%:û½@ ½Ë^&ïòæµl­ö=™à¢æýD'ÁL¬$IopýÛ+þ¼káå­6û¸ç<¥|¸ßéý.)Ôä+^÷yäÊ7õgüÃ~·ÏläêÌhëú8ÒépÝûš©h% ­éó`ºy¼ A@ÐÔx8–1JvŸ,¼°aò“ìSÅû}VoRéf<U½»Hš_l‘©Š }Ã0­‡t:3ùÈï«'o×ÝàÓû}Æëšù7“ÐP#SÍÖ{¡µ!Õæ)5;’f,5„à£0W›˜Ýïo£v¡•ûT<ø%óýfå2Ui­0Ê’ª1”*…AGª^³T92.³H$å¦s÷%‹a÷“k«À¯ˆ/Ž |5ó°ü7Õ‹<¥&óA©Uk:ÌãuDåxx$t?G›â35%ä°]®wkUÂX<3Ú.l“ÃxUZ®ºY±²¹.b
+ÏGÁ[5”h¶D>LBJÑ-þ¸o•lè¼pIQP¹­Î[RÔ¬\>z`Ççòd(Ä´á2ŠVxp$p³\Åå‡!(©¶¤Í¡›‹Ì ð– %‹9uG6Rjk[–t ¹ØâÊ?H21”D²Œm¤Ô°¥4k¡i~‹Øp\ÿÐãš}ä‚ËhÖo>–óÞÎÞ@¨¡žkÂ!º‚¼ä4ÇÖŽ‚¢àúV_À)uøé…
+§!5P8“ߎs¤Ôáü^mÎãÇ%¢¶H~Î,~&J+vÃÅê¥PÊPX5ÏÄ'JGÙwɉÑ¡Ð’=ãH©‹€Šj‹qq¢*8RïÈÃ9Rêº<ºÔ¨×jÃ\ŒÆ ОÄÈËs¥†q±²dâÖV€ ¤ ð²àD©ÃýÞºîµùÃÇ (èPÆLˆ#¡†Ò©Ö9f·fŒ2B;S2ÛÚ4^ja$Pã3H)ç&Bóá{kvºüÆòMÆhŠñ’’¦ñ>jÍrü™#¨‰Ð¡ÙpyRPLö]H±³š¤ÚÀL)å-º… Ö’¸3–ÂGïŸ(uK*8Ôë”9Ýí‘ok܇v#›÷¬sn¼°Ò“†<ÎGJº–kÏugoº4Ê]É—×åÙ\Dzë'­]¼’WÃãu¤ÔxM~û";y´ÅxÚiQù§îóÌüo@ßÉ#°÷BؼÉ5XaI¦W\ez Ôx>®Ds®®un¯³ºbJüe½þŠ ªP8MfŸÕäXY)Q;h+~Líuï<¬/Ÿ ÉS0y‰;Ò¤Ó3ø²–F8wÈÜ)Ñ®.]«¬GJIñpAÐ"¾¡p­®I ®‰Òs¾Ý6¹~‹OC¼x4·Ì•íD‰Ýȧ„H"¡z `¥ÚRãy=ЉºAº, .ÙÁŒ-!‡[°€ "8GÂõ,¸#¡îvxâZ¶c¦û¾«Ð¢fnÊö'}JTpó:ŽŠµ©ò«g‚ö9W4:©©yVKv"„l à…$-j1«WQCµöÈ}›ï”rBIEk's"Ôà>k€w û픶;ØŸà)ï/dË|Í$UvâH»O‘IøídP¯¦íÌ…Ío’ƒPg0¶‹a»ŠÝì
+ûî})ÀÍ|<[yÿX%å5÷}£*´ß·®35Ÿ}|P²­XrH¿×éùê¸åV—â¡rZ€EJ…¼#¡¦Bêìm­ìŽi\ëùÞC _7õúoºEØ{ï¯YH½"óöf= B*4ôY‘2¸µX1RïŒfÔ«áø‰S³Ê‚ÐÇrj»²:Ž!vY§P m„·R˜ý¦•‚2RhïI¸¬•ÂD(ÁM«ÊïÜ4ÚÂÖ¥‹õ²jÀnÓ„]â+“Wát Â;Çg%ê±G³!»cpdmÂ|Ê ã)/ÃênO”îŸR±Ô¦ÅÓ—Çû\Ò·?P8JûWI/òŽ
+HÒ<é”ÆcٽĩÕÐÌ ˜Á
+DÒIV›öDh<ÎÃäQ`8VQçõ&²Â¡› •j§ßÍ®'Jìy½3V+¨½šúï4Sf²ÍaÑjû.t*cû”›ê;­æùöoÝ·zpΫ‘’ñjñÈx"D–0}oÔH:ý׊Ö@oåÇÅø¾Ë;DÃcUúEœ~ø—[!Ší)¦²àöTÖúø|ù•µ=
+endstream
endobj
3505 0 obj
-<< /D [ 3453 0 R /XYZ 81.145 121.783 null ] >>
+<< /Type /Page /Contents 3506 0 R /Resources 3504 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
-3506 0 obj
-<< /D [ 3453 0 R /XYZ 93.716 90.677 null ] >>
-endobj
-3452 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F16 336 0 R /F22 367 0 R /F71 347 0 R /F53 345 0 R /F73 350 0 R >> /ProcSet [ /PDF /Text ] >>
+3507 0 obj
+<< /D [ 3505 0 R /XYZ 78.37 808.885 null ] >>
endobj
-3510 0 obj
-<< /Filter /FlateDecode /Length 2056 >>
-stream
-xÚÍ[KÛ6¾ï¯ðè„rø
-(a{ý~X«òúMiÛ:Ü®6aÛÆ«Ò²²íe[µ©ÂG¡ˆ]°`lœEfoÖ´Þ0ìrB‘„œO¬Ÿ0=°èCx¼uË”-¶vç¬ÑœlÝ…Si°Ùõ¢²cz¬Œš9òŠö‚§ó^ðNo÷rqkà£,¤ÜÒ'«ëó¢³i•6œ(ØTî0‘e׋Rùô‰Ÿ×;Cf¬”Q€"±:§C„k£ ø¸CÂdZäÞÂ}€²ªyþq.”gËűô«1™ì‰¶<y„÷üäl™ì2eO!O8ïY“2"ž&¤Ž'½ãIHc ð:p4Ì#RGcXé3RÚ¼?˜„£¬¢–ÓŽ’6
-é´B0,g#RGçkí“Ÿ­#ZŽ#t‹éˆÝHiÕ1½žXZƒŒÖi/û®
-Õ·,ãMHƃտnï@cäèfÁ ©£û½¶hm>'§Óè Š3âÔ¨ôºxþ2‰f4KP#GޚѦõÖ
-š$äN@#¹™Ä\…/»RÓuß¹·ÈT†ÓË”äÞçëÜoŒ½Ïr´X¢êÞ!#¢\dE#Úšœ€HLˆK8l„=˜9+Ψ¡šßËläƒ"‘Xje;P#÷Y£@z`Ôo+µMÒv`cûýÂn3IÝ!Ùc÷I< ?_›¡TÍjZŽž¸òKvî(ʲƒ3lÛ‰
-h bܵ”î|8©W%Ž@ägv{E4ÑW–Úºv x»ztؤ-'PºÊÈUØï7÷Š!ÝgÄiZûP‡¶)ÉVOaãÆÜ{þlJ@• ÚWqâ9
-í÷ï뛚ÏVO(ï(¦±‡yÓ:‡ôGÓ”ÏQÖº”ž¨QÐÚ±*íöO@M…9hTK]ÂA gª;­r]=ñº ”ƒàëÖYÿL7
-Ä9X>8E¼/Q÷ÇxŽEÈî4 [›ˆ#Ÿ¦
-endstream
+3508 0 obj
+<< /D [ 3505 0 R /XYZ 81.145 768.829 null ] >>
endobj
3509 0 obj
-<< /Type /Page /Contents 3510 0 R /Resources 3508 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3076 0 R >>
+<< /D [ 3505 0 R /XYZ 81.145 728.979 null ] >>
+endobj
+3510 0 obj
+<< /D [ 3505 0 R /XYZ 81.145 718.02 null ] >>
endobj
3511 0 obj
-<< /D [ 3509 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 707.061 null ] >>
endobj
3512 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 696.102 null ] >>
endobj
3513 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 685.143 null ] >>
endobj
3514 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 674.184 null ] >>
endobj
3515 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 663.225 null ] >>
endobj
3516 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 652.266 null ] >>
endobj
3517 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 641.308 null ] >>
endobj
3518 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 630.349 null ] >>
endobj
3519 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 619.39 null ] >>
endobj
3520 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 608.431 null ] >>
endobj
3521 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 597.472 null ] >>
endobj
3522 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 586.513 null ] >>
endobj
3523 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 575.554 null ] >>
endobj
3524 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 564.595 null ] >>
endobj
3525 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 553.636 null ] >>
endobj
3526 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 542.677 null ] >>
endobj
3527 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 531.719 null ] >>
endobj
3528 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 520.76 null ] >>
endobj
3529 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 509.801 null ] >>
endobj
3530 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 498.842 null ] >>
endobj
3531 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 487.883 null ] >>
endobj
3532 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 476.924 null ] >>
endobj
3533 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 465.965 null ] >>
endobj
3534 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 455.006 null ] >>
endobj
3535 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 516.775 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 444.047 null ] >>
endobj
3536 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 505.816 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 433.088 null ] >>
endobj
3537 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 422.129 null ] >>
endobj
3538 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 411.171 null ] >>
endobj
3539 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 400.212 null ] >>
endobj
3540 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 389.253 null ] >>
endobj
3541 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 378.294 null ] >>
endobj
3542 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 367.335 null ] >>
endobj
3543 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 356.376 null ] >>
endobj
3544 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 345.417 null ] >>
endobj
3545 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 334.458 null ] >>
endobj
3546 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 323.499 null ] >>
endobj
3547 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 312.54 null ] >>
endobj
3548 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 301.582 null ] >>
endobj
3549 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 290.623 null ] >>
endobj
3550 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 279.664 null ] >>
endobj
3551 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 268.705 null ] >>
endobj
3552 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 257.746 null ] >>
endobj
3553 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 246.787 null ] >>
endobj
3554 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 235.828 null ] >>
endobj
3555 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 224.869 null ] >>
endobj
3556 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 213.91 null ] >>
endobj
3557 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 275.679 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 202.951 null ] >>
endobj
3558 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 264.72 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 191.992 null ] >>
endobj
3559 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 253.761 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 181.034 null ] >>
endobj
3560 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 242.802 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 170.075 null ] >>
endobj
3561 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 231.843 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 159.116 null ] >>
endobj
3562 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 220.884 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 148.157 null ] >>
endobj
3563 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 209.925 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 137.198 null ] >>
endobj
3564 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 198.966 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 126.239 null ] >>
endobj
3565 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 188.007 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 115.28 null ] >>
endobj
3566 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 177.049 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 104.321 null ] >>
endobj
3567 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 166.09 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 93.362 null ] >>
endobj
3568 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 155.131 null ] >>
+<< /D [ 3505 0 R /XYZ 81.145 82.403 null ] >>
endobj
-3569 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 144.172 null ] >>
+3504 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-3570 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 133.213 null ] >>
+3572 0 obj
+<< /Filter /FlateDecode /Length 2384 >>
+stream
+xÚÅ[Ínë:Þ÷)òGG¢þ¢@s› 0ëî³YÍûo/iI¶$³®ä¤gpžÄ±?óç#ERŽöòß‹Ä¿ÿx¹~¾ü¾Ûx1"¥áòùŸu‘øO]g.Þ)!º|þïò¯W)Ý__ïôþíߟÿ|‘†P¿ïÁ\‚ˆÎéPã(é…6Ð#iÒ|H ÷„R õDV
+%•è}N¢É)­B‰QýEŸß~Y°ù’W{¼GÄ× _ÞÓ™t…qålmÊ;pøò³úé(”Ñœ~:Îé×"}­Š) é‡ßèûŸÐ‚P(<§c˜Ó±E"‘ŽN®ºÝVI?Ê;:ƒ¸G>%=MÖsáäuõúÂÐú“5Ùrlæ`E´ëýâzlµÜéž³6R^
+í/6¢@q‹­[Îvr¹þ—Ö:3Ô­Ÿž~”OÅ—ËÑkòebj9ƒ"ƒª&îê¾~LGA¿ý‚Á©(ÄX^ù½^O÷PݳÒÞpJÚû–NkªÄ¨
+#Ù‹OíÇ¡õ´ÒÂH½C
+‡·Ï6Rx½Ö àꊑc_…ç Ùio"ê*\6e²¾—›W?˜˜8§¿Áßø=†[aùî¹ |غH•˜à_K>M÷N÷(ß,k—*ŸÊ÷¥/KG;JTW¦ºšŽ„×VCõ½‰±é±y%¤Ø"[ ËÞ–³¦{MwP¥£^¾åû|!ýuë.s̲²úUÖ‚»­¥J¡è+ç„ÜO%‰¬=d¥ND­{|ïñCMÝCÜyj/-K†Ù4åsJZ×ÒYô­KkQÇ+ëD€¶/–ô²ÍÛùÈêq¯^7>Á5û–ÎsqÇ…ruÊiO½–ü™p­©²Ù¢úrQ¢g ‘>)Väá”È鳇+\öPÎéYŽ™ì—J¯.N/Hê$Š4´Ob¥+vj¢b9˜´2<‰ù*H|]¢"YÙ§ó1ŠŠM“®3nE†ƈ°ÕŒÛäfc/4'QHíi°
+;Š …µ9ØÐ#W,:”+(¡¬ë¯žè›dm þͲÆ
+æL… œn§lIïɶzcºÊ<ÔÄÂr¤ÔL¥««óì"öŠ¶Æˆ[Ù}d
+k´ŸŸ³r¬¯DTn’_ÓµÙ]ü$z)‹Í@Œ=zïÏ]¸V›•?Ó‘ÚŸ[EÊù3TþÌÕgåÏð½?!h¡í…Ÿ¯”Ž)Ý.ôÝMrŽ·É‘|\‹17ìž?ýºä}hŠ¢‰ÙÙÓä`¯Gja$Mj‹™R²ýúèä¯(Û•ØÖU V•
+iIÏC‹øèÐbt£á)3!
+öö0>›Ì&ë‘´Ùü|ÒnïÙÍ¡
+)| ”Ð:žø…¤²ý=¬Î39¹•Úmô7û?*‚ðÊô¨}+ž¤oZñtÈU•, >‰éÄå<æóbo
+ï-‚‡·
+¬‘¥áh—K÷ˆó×vÌnq3Ûu–™R)–{zNà© UòÔ:Ìe›‡¦d€UÚ‡Ót²Ïë‘ßT| ©BÜòäÞÛÞøs˜zdBK±BÙwjfºwìNwj ƒPÚpöŽE¢iŒaãëR_ªå, Û"»úQÇY‹(¬”·œE&$Ô!M5¯
+…½í®«· _û-Uš•‚«Ìãh•þj ÿ´ápíº(îɪ:ÕÛƒÛ¹eFUŠÅ~KwºèS^ \!Y»ÏýªCj™øu‘šØä]™£=ðZíî0kS·¿
+»Úç~zÑgŠƒ ñåè“~b`i“ »À­¡¿­Ü>_þ?NÃ
+endstream
endobj
3571 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 122.254 null ] >>
-endobj
-3572 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 111.295 null ] >>
+<< /Type /Page /Contents 3572 0 R /Resources 3570 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3573 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 100.336 null ] >>
+<< /D [ 3571 0 R /XYZ 78.37 808.885 null ] >>
endobj
3574 0 obj
-<< /D [ 3509 0 R /XYZ 81.145 89.377 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 768.829 null ] >>
endobj
-3508 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3577 0 obj
-<< /Filter /FlateDecode /Length 2474 >>
-stream
-xÚ½[Énã8½ç+üÍ&‹Å Äíx€9ç6˜ëÌiþÿ:,.U¢Rv ul‰|ªÅZh)Ìéß“Œÿÿñrþ|ùy5á„"x¥áôùÏ‹:ÉøO<‹'g•V>ÿ;ýõ*¥=ÇËH©ý}ûûóÏI`êçÕãÉ‹`­ö-Ž’NhŽ¤”FEùöÀ!ìú .õÀK ô<~¦¿!ÇsEwñÒ~3(¥úUÆËxÁ‚h–÷…åž]Þ|¥wf¾1}!##…’ЕŽÉHYáŒãHD½vc²ˆ´û8&~†…/t-óinĈ¤I$é_VIÄ'ׂt™å^¡P÷¸×zŒ{°B9àHc²jö È"çs–É‚¤k‹ti>ÄghŸe-à…Š‚èÈ ?Æä¥0ÞîŠ-¸Èµñ™’@ål§±y³—`äl’å€ÙñßîÂœî·HºÐ ×YŠ¤`m"sm‘~5Ž¬qâ žå»l0BKד—=OY#Gâ־ݭǸӄ./ïSºgH‡­Ñ:-t— =·<¶@¿ÇÑgÎémßî­ZuEåçì!ý~¯hè k‡fNí[¤ãvˆq”Ò]Šæ"†”(*RÕÙ¿þ¼*s
-â‹„ŽóA »jG_'ÓüZëb¡vù–ìôR¿U]¦»ç¬Ël©u­ Ššz³yü˜ï‚~û¾€S P #]å³^†;h€®…i‡=¦!Ê?ÆsŒkŠÄ(
-#Ú«NÍå®ô´Ò¥Þ!ù»¯/2WJX·ì­`Ûˆ°CÇ>
-'›C’Ó^DUg‹¨È#ô\µ
-ñ †lsú üÕ¾3î-¼à ؜ A¬‹U6ðÕXìµ¾¢>I–ªßêódN¾Þe–ÐÌÌát½Ó2f¡}7jþFF¼Øä%E"‚ßôîµbÂk~ƒú•ï:ùVì·>eÔŸ3~âZÊnÑZq×-¢†&´èê_Ò¨üNc‚²ž©ã¶žïj5
-Ë5 ­f+gÕ™¬ÜõÝGÞÂò(zjóÍLÉ;á¬Ùl.UzNn]t¹³hÙ©×Õ†à\ôIãlØé¿ÎÎî«â©×ê*3®ÁÆq%ÖÓ¤l’-Dþ¦º${¿?{¸j¿ênÙÑiý@H:òÕŽ’ºÚ¢«„D«+Ê'[¢­rÚ¬„4ŽÜÏbÕùN(³ ÛhZ YÊ.+§r° iò<´ËúëØ€3Â/˜l7;…Õàþ¦@Íz 4nÝ[*†>`<nLè.U^ e,›<‘ߣ ´60ì/6/@7>_LqÞrN«/ÏŠ¤%a¶‹ƒ> ‹¾ó ­5M\Tó¶Ö©&ª´eqØŬï AÅ8Œ«ø9›óÈVjµðÆLšVðÂánò“LK™ â>Àѹ:w‘ÞP6êÌwZu®AgO¾Qg 0uú¯Õ·¡ã~ˆ†îz Öý^4eݧÆ@ÄéU&K| éùÎÛáìCENƒJÝ-“Lí8ÒPzúp‰h’[-EpžsK×hY¯rËê²ÖMÔÕDy/%‰ðhIb´ð™R…žÌF Uf éA™Í¸'åöþ˜ÜdÒöÄ6Z¬®eÔ)LŒÓ„qÃRRu‰zŸÒ%Cz¾¿ƒwžÙ=ÍçaÌuBO
-£ÕËÁEÛ!-É [r–^'ç·btѽîÊÊÏÉj‹4æñV~‡Ç76µxךïÍÆhM¯ ”¯9îÒoÓø3¤`°×zJÎy-Òc¾ u¯Á“,SÏé†!lðŒµôçW ¡±³LFh épÑR5í÷N7GÒqŠ”ûN=4¢”.Àè0=:NõÝüËá†tœ"ï…QÐ¥hlçNðˆt?ÉÖ6æø)û5Eô%emÓzZ>uiݯòÄôC9Ãßãô\„“k¡íšAÑÛQ„SÈQyž©ßäàù–mâXªt"†<0£Ú_¸(¨ž—÷o¹*NIÓS÷ºæÌMáy¸^3rcÎeå$¨ê±–Šxù›¼_É×&„G~Ã^%Q`·]•´JgÀ˜Ya.¬‘Źm½eJIÒq)5Uæ´[–®EyÒVGÒwY[pQÉÛ³²2/ÈjØ¥7Ë#äo8áÄøÚ·^7xV@¿[Žt=
-Òá[i+ì.Õ!õO†Ž[ ãô€vŸ3{œòÒ[¤ã)NvE4Ù(`HÇ)’Z¸}.–(š‹²ÒÞóôkÜ_<ÅOPŸ®S£!LQüèVEJ¿—‚Þo±ŠsÝ-,>\­ráÞ¯¦¦=‹WÂï»àIzsU¢-ÐCí_—ºöÌÔÌý4y tã˜Z*ª.Q
-endstream
+3575 0 obj
+<< /D [ 3571 0 R /XYZ 81.145 757.87 null ] >>
endobj
3576 0 obj
-<< /Type /Page /Contents 3577 0 R /Resources 3575 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3571 0 R /XYZ 81.145 746.912 null ] >>
+endobj
+3577 0 obj
+<< /D [ 3571 0 R /XYZ 81.145 735.953 null ] >>
endobj
3578 0 obj
-<< /D [ 3576 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 724.994 null ] >>
endobj
3579 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 714.035 null ] >>
endobj
3580 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 703.076 null ] >>
endobj
3581 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 692.117 null ] >>
endobj
3582 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 681.158 null ] >>
endobj
3583 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 670.199 null ] >>
endobj
3584 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 659.24 null ] >>
endobj
3585 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 648.281 null ] >>
endobj
3586 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 637.322 null ] >>
endobj
3587 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 626.364 null ] >>
endobj
3588 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 615.405 null ] >>
endobj
3589 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 529.726 null ] >>
endobj
3590 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 518.767 null ] >>
endobj
3591 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 560.664 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 507.808 null ] >>
endobj
3592 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 549.705 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 496.849 null ] >>
endobj
3593 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 538.746 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 485.89 null ] >>
endobj
3594 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 527.788 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 474.931 null ] >>
endobj
3595 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 516.829 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 463.973 null ] >>
endobj
3596 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 505.87 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 453.014 null ] >>
endobj
3597 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 494.911 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 442.055 null ] >>
endobj
3598 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 483.952 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 431.096 null ] >>
endobj
3599 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 472.993 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 420.137 null ] >>
endobj
3600 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 462.034 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 409.178 null ] >>
endobj
3601 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 451.075 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 398.219 null ] >>
endobj
3602 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 440.116 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 387.26 null ] >>
endobj
3603 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 429.157 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 376.301 null ] >>
endobj
3604 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 418.198 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 365.342 null ] >>
endobj
3605 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 407.24 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 303.574 null ] >>
endobj
3606 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 396.281 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 292.615 null ] >>
endobj
3607 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 334.647 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 281.656 null ] >>
endobj
3608 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 323.688 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 270.697 null ] >>
endobj
3609 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 312.73 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 259.738 null ] >>
endobj
3610 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 301.771 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 248.78 null ] >>
endobj
3611 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 290.812 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 237.821 null ] >>
endobj
3612 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 279.853 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 226.862 null ] >>
endobj
3613 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 268.894 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 215.903 null ] >>
endobj
3614 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 257.935 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 204.944 null ] >>
endobj
3615 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 246.976 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 179.041 null ] >>
endobj
3616 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 236.017 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 168.082 null ] >>
endobj
3617 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 210.141 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 157.123 null ] >>
endobj
3618 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 199.183 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 146.164 null ] >>
endobj
3619 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 188.224 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 135.205 null ] >>
endobj
3620 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 177.265 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 124.247 null ] >>
endobj
3621 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 166.306 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 113.288 null ] >>
endobj
3622 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 155.347 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 102.329 null ] >>
endobj
3623 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 144.388 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 91.37 null ] >>
endobj
3624 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 133.429 null ] >>
+<< /D [ 3571 0 R /XYZ 81.145 80.411 null ] >>
endobj
-3625 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 122.47 null ] >>
-endobj
-3626 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 111.511 null ] >>
+3570 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3627 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 100.552 null ] >>
+<< /Filter /FlateDecode /Length 2514 >>
+stream
+xÚÝZËn#;Ýç+ü­–Hêâ8`ÖÙ]ÜíÌjþ;z¿J.—ÒžÜÛƒ†Û•²Dñ%ògòôïwÿÿãåòùòó&퉘5áôù¯qâîŸ8`ŠNZ Æ•8}þçôÇ+çêâ>’sD÷ývþóóŸ/Üs¤~Þ ³J¡i願–z¤$‰sGźgឯîÛ8ÊoñoÀø!ÿÎiŽiæ¹ßÅ»{æî~Üù‡é©ËüäÇû1ž>zî¯ñoÿ\ÇÃ5?i»}§*]enTø@’3Áa¦?´ÇôÇ5C‚‘’׉—-ɽÈZ&§\™5«” ZÉ[Ä[ÉkÝ[Štð—¬Yã?å/Š–öVžà¥úˆóÑÍo=oånF°¥"~ü³©„U¯õ9øÐǸRKÑóî=ÉÚgC;Úʾ+i”%pÇÓük7ÂúϪ½À0á 1Û…rÍ^=¥{»ð±³~e Í
+ùyTy$1x‰ËÜÆÖ(q­«7ÄÍ
+oBl½öØ.ÕÉ»í„ݦ¼CÑ›U+/sä½øMI°kMg6ƹ¢Û®å€$ÜÌ’f5Ø
+´…˜[ KÁ¶'ô(T%äso9*9p=Ä^[¬•}nv[Å]Š»„"a¦,uYË•=¥Ū'V$^¥EÚÊ os}4OXž<Š¹Åü(ôÕø{ýM–ÚO¶:KOâc[#Ö_ë¼+5û,dˆÛD¢çXJZdhqj©·%K”RÊ ‰ûš’úüy݇¡^î‹fÚÀ%D5Ú ª½´.¥S(ªiZçz%­‡Ñ»iëYZçf“ÖëMZ/Ó#ƒ)„±]þŠl§üeÆü~Mù+ÍnÑzeqTqΠ®ã’ø¸Ås¬%•
+I,µ&w4Quj R¼á;È|ï! r!Lrí@}µ:‹Yðþ:’rÄâÔKSÁR$¥æ¤,¹(%R‹P6¹"£¾Ÿá,÷¦ÊÝSÇžmwX= »ô&#»kT·jrʸ1SÊÝG„¼ƒûYÁ‘ÑãYJø§_3o»ø¶xVÞ
+!úP³åbÇ¢¬~'Å_sJ+òÊe °Ó9½.|Ç® Ú\ ¶"–ÊÖìû¤ ¬ 5:¥odVU•Ú;m üãNëçýˆ£€`T»cø Èþnd•ÄlÇŸJë¬T|C8K0w
+ Rç²Îƒ¤§Aº™2}€ÌõOŒªsõ™Pj ž!y+yQ ®¥¶Îr…"ݲÆLA÷Áæ|/=¡çW(ÊÔÿ©ʾ+“C¨PK@ȹȨ6–$û©MDæ"¡šŒÚIý`dSŒJŽœ›[ÑÍ÷”£ó#³á»éê>1lÏîú7*¦ | ³(³ÓMzÚ®[Ç$}Ûê`6¹&Œ¥tZ@…’¡î͚Õ-##\5Sª˜/6žÓrCìûb7€“Fš‘ƒå˜âÁ‹–jZÊ¥òp ô…ü·l”I{`òôk ‚E›I·=­žÚìà¡—$æʉ‘Ò_Ò  ‡uM»]VÃ5(ýŽ
+BbFO|B¥?Z:òA«˜¨ ŠÙ™3M>ó‘øµóo<ê©ð«¼¹Ìn“À¨]˜+}-Α\(yyé&Ô˜ßÆCËÜÅqoÑÎj{ï< Ì}¦é9S†¿ºLÞ<Ðç.^q>*Q:˜ì˜]páêçN£"S ªÉˆ²ŠJºöFQ(6 ’ÚÎà“‚âŽ.Ä ïzB^'§…ÒejÚ(PúRâF¬J:Eó¡ïµ•Ô=P e̬U(äñVa4ˆÁ)–!Á¤C¡ÃZ”î
+ÄÐ]“
+—ú¶ÜNpÒAà>wƒP´=ßPÈsª´]tsnƒjjàFœSJóëp2U:v<+¡(.6A•ÙR ßa¬/Š[.¯C7¨K«¹œÛ
+µŸ9ñtÐPÚév=Ï/àEn×ê¾¥˜Ö®$ „îÃE‘€9Qß»è+
+eY5ø(JMh ´ M…4L¢žqršÆô1PZç„4“ÚL9Yƒ”¥Iдß“*¦`&Ò"6í -ƒd’)%¦Œ¬ÃÒ@pTçß „ 'ËÔ,‡]ÒFOéÒ¸ý?
+endstream
+endobj
+3626 0 obj
+<< /Type /Page /Contents 3627 0 R /Resources 3625 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3628 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3626 0 R /XYZ 78.37 808.885 null ] >>
endobj
3629 0 obj
-<< /D [ 3576 0 R /XYZ 81.145 78.635 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 768.829 null ] >>
endobj
-3575 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+3630 0 obj
+<< /D [ 3626 0 R /XYZ 81.145 757.87 null ] >>
endobj
-3633 0 obj
-<< /Filter /FlateDecode /Length 2430 >>
-stream
-xÚÝ[ËŽ·ÝÏWôX–H=A3îé
-%a&?âšü%`D9£¢,QÚÑïË*—„Ò8ãR¿ã¬PFJàóEœ:Ù¸ŽÚ†¤múµ¼b´ú,IŽçÅ1ÉJ’-­ÇÄw€ü,y
-Oq,\Y¦(O”¯<ßÐ
-”çQáIŽ$Ãà"†Äq-F\ÚjÉq·Ò“Ys¤OÖæ¼xøf/áfGÞ êl”™y¯^S“ܵ%YMHéGôõ®á@¸›E¦[ µV[A)qjíëJ¨=ŠS÷F[D¥D­‡Èk´ŠoÂuƒÜVQ—ECXÑO•õ²”)JÚ'Æ4bDÔ{¹áe®îë]Ä0W¾Ì[¥oÇ÷í õ®×Y¾Suœ û·í~T+uû,¥‡ëD¢O²hBµaf)\Ã4#¥œïRÖ¾äŒþ^÷៨¬¢(oÔT~i“o íðÔ½œn¼Ð1Ñ'uéV’z}7©K7KêÒï’zz´Kêu:3˜³A»É_ÌvÎ_~Ì_émÎ_yvÕ+&ãqÐÄé8ƒN¸­¯™+¯Xb­¶MJÛç®<‡yá4uÝ,4¦ôhn*¡¬Š4gŸ¢ÓBEÐæ›VA‡©^r&HDÙ»0Ì‚„ÊœÈ?)ûSgJйFr lc^·nü$Ö¹‰ªgä“ÖÃn|¡Â†K3f&ÂÉ,U½V&ïh¢âéÜ?H¤dÇw!Pø¾-4Å0Cµýh½­VgQ ~<ÄŽÚuÀ‘ºÞÊÓðÓ²sZAS 2#­E4›ÝÎEnÕw4ȼ?-ï£dªÐïn@wùIAwÖx‘ªr]°c¡„Ph—]¼•|#¦Õm×,[ŸVç*»!E Ým;îYÔÕoD!~[¢P^Q6.kÎÙêÂèÙ–r°±–¶þ¾[*EFö£¡F·Œ ’Âj¢jsƒ›¢ã¸ióçÇG1Táûêl»˜àýÍðÎåÄl'ó«Ú=«EßPC#βÌ*CÛs]çÁ®Bâ¨ô(ÞL1J–*¨DÇ:Å~¡¬©dÞË^UèZù_ ´\¨´Bã{› 3úüBÅúVåj¡òÀ›A
-£ÕÜ%#yÛ‡“ì
-ë¦g/GOÈŠ”~Å>…&@èÔî܇^Vrü@hé܇R¡ð÷}t=ö1ø±#/<íiè«>)¾‹}T8
-_Y›
--æñS>¹,ÍzŠa–PÓØ[gJà(4O/™2ýk“)Ó“
-½‹WÈG šQ “-s]PíCµSe.rIÉ8«*eÓæ¨*Å®QÒÚrRTÜІºâMg(ë”ÄPÛM];jƒJ]õm`P´Öé¶DØ6Ýjò(ÄCÓž¡2Ç{†lS4£‰K¡ÃZ:2ÀÇ wmªh&žÛiÎ:HÜ—®ª£—Êœ&í&@¤9 ¹A³‡î
-j¤ÄúÑUö—س·±‡^rÿq½jd»Q¯ñ÷è7—”^=¥™gôý ¼²W4àx îE)ݺ) ßtø{î×axPv\k†{íw¶e4 \>àòªéÀÕÎhÎíØKvgì8ýšòÖwbÝþ,­÷ýWgw¯âR `'Ò÷ÏK¸t t§‘é;qàËqª¢Ú¦ûç(LÍûgKhš*/J5eäe) ”Ö9±!5'œ,BÊÒ$d†/‚ÉÊx§2­¡ÓÒ2LVÚ ½O„ü_Ö8ÙR:
-ŽjýË`Šg¨óôuÔeml)ýDÿ`YFº©¿¯ÁÑÒ§€e¥´0Úϸ;
- w[JËÿ½}!Q¿OÃ/Ça BŽ”~Õ}ñi€9Ðß8ÓëAxSÒý†Î'ƒeˆÄ=‘“‡ÖcJÿ'‘1ÉÛûÓ?„2ž9
-endstream
+3631 0 obj
+<< /D [ 3626 0 R /XYZ 81.145 746.912 null ] >>
endobj
3632 0 obj
-<< /Type /Page /Contents 3633 0 R /Resources 3631 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3626 0 R /XYZ 81.145 735.953 null ] >>
+endobj
+3633 0 obj
+<< /D [ 3626 0 R /XYZ 81.145 724.994 null ] >>
endobj
3634 0 obj
-<< /D [ 3632 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 714.035 null ] >>
endobj
3635 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 703.076 null ] >>
endobj
3636 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 692.117 null ] >>
+endobj
+293 0 obj
+<< /D [ 3626 0 R /XYZ 79.37 671.1 null ] >>
endobj
3637 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 623.079 null ] >>
endobj
3638 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 612.121 null ] >>
endobj
3639 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 724.994 null ] >>
-endobj
-293 0 obj
-<< /D [ 3632 0 R /XYZ 79.37 702.177 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 601.162 null ] >>
endobj
3640 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 653.796 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 590.203 null ] >>
endobj
3641 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 642.837 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 515.651 null ] >>
endobj
3642 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 631.878 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 475.524 null ] >>
endobj
3643 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 620.919 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 464.565 null ] >>
endobj
3644 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 544.207 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 453.606 null ] >>
endobj
3645 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 503.36 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 442.648 null ] >>
+endobj
+297 0 obj
+<< /D [ 3626 0 R /XYZ 79.37 407.986 null ] >>
endobj
3646 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 492.401 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 325.54 null ] >>
endobj
3647 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 481.442 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 314.581 null ] >>
endobj
3648 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 470.483 null ] >>
-endobj
-297 0 obj
-<< /D [ 3632 0 R /XYZ 79.37 433.711 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 303.622 null ] >>
endobj
3649 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 349.464 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 292.663 null ] >>
endobj
3650 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 338.506 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 281.704 null ] >>
endobj
3651 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 327.547 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 270.746 null ] >>
endobj
3652 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 316.588 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 259.787 null ] >>
endobj
3653 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 305.629 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 248.828 null ] >>
endobj
3654 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 294.67 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 237.869 null ] >>
endobj
3655 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 283.711 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 226.91 null ] >>
endobj
3656 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 272.752 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 188.224 null ] >>
endobj
3657 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 261.793 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 177.265 null ] >>
endobj
3658 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 250.834 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 166.306 null ] >>
endobj
3659 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 209.988 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 155.347 null ] >>
endobj
3660 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 199.029 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 144.388 null ] >>
endobj
3661 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 188.07 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 133.429 null ] >>
endobj
3662 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 177.111 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 122.47 null ] >>
endobj
3663 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 166.152 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 111.511 null ] >>
endobj
3664 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 155.193 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 100.552 null ] >>
endobj
3665 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 144.234 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 89.593 null ] >>
endobj
3666 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 133.275 null ] >>
+<< /D [ 3626 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3667 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 122.316 null ] >>
-endobj
-3668 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 111.357 null ] >>
+3625 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3669 0 obj
-<< /D [ 3632 0 R /XYZ 81.145 100.398 null ] >>
-endobj
-3631 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3672 0 obj
-<< /Filter /FlateDecode /Length 2406 >>
+<< /Filter /FlateDecode /Length 2561 >>
stream
-xÚí[;#7 îïW¸LŠS$Šz‹Öçu€ÔÛi“*ùÿe¨÷cäñÈë¼€¾›Ñ|¢øIqøé·?ýøåüñ凫P'Çœ§_¿zÀOâd“æd´`\‹ÓÇ履_8×–sy¥¼~•ÜÑi8W‚s´ñ§Ä+ºo€þö¿ 9¿þòñÍdål&‚!Â8W@C?Wƒ0§UhÄ´jy|[;ú]âßž]¨ßÚ¿àïøYÛwêjýݲ~Á=•—W°/q,žã5Èׯá"LÎóËžMÒ(ˆù ýÄalO˜Û™ÖfâÛqA™éô?\üxlz\ìæôcH|i,¾%aj?f³´,û›<Š23¸£_è˜à:K ’¼ý€0€ •L„º¤iþ™Ù×äÌÂ]©È€ˆNô:™$ØxIO“&‡E;|)³‹«Nì
-wóØ HQÐZQÅ·/‘‰ 1­†„¡EC"Ô- c÷%ápC‹LžÇëÓ$°ÂàëÄ|ç‚D4̉™$Afë­`J4i‹$;Wž;dãÍâ ‹–r£ûåF`åŽgNàûµ’ŠPÉÂÏoˆbõöb³½¬ á/lT;ªyr®Qþ2‰jûjeZ§!æ)ÏDÆ™ò¾œþý‘˜§Ü ™³BBË< Œ¸i@2à²8Gâ—öŽîÍ_G¬´+£Æ“%!hò© Ž#Aƒ¢×¯ðlQ <¹‰YÆkÚ[%ãÏ¿X`¢>ø±ò­¼‰«‹À
-µJ·Lû[ŠÖbÄh h?ÊWôŸÁiÍAÜß(÷’Ÿjpãò<‹N÷sL£)
-VÇBÂÑ$Ÿ¡EJÙí»?¾ß#
-’ô”vÐKV À–'æ9q£NtMwÞÅldDÚ& ,Ò,8£W§4ãã{¤OEeèã(§ê —89 Ó‡¾8ð)@kiC˜˜G£Þ`H-í¥äq®ñdج–ÊckYæ“ìa´Â ìñ
-çaªjMð=ÒÃy;ÍÎPÈ)E¸f=ÒÃIë*œêÔZ\0 -•¤AVÏ ÈÇh”'*ݤn¦OÝèiÌ/ó¸èªåäôÔ5å7·_°Š¡ ;ûîÖüá(WôÝ3Òf ×Ú5@Ùq>o,éwª„ñ™âñíò\×·üihdhéO(Ow™%-å”N+* ȧÇü¡ú *
-‚Iá·’ÐЮ²®¹Íµòy|ä•Ù6 l³©}‰§D…Ý‘»†šç·iîô
-ÔLj=Ó¾µ®›èØ»ÏÆnüÐ={£ë‹°¹±$§›ãx[¿´˜6²ýuÇõ~A>u.GƒÜä\¤[|ê?Å©Gð{Gûÿ‚¶È§.o±­a@ZáS¯'õyžómЫÅs
-Xù|Åk #Rª“µÍ€ÁÖL{D>P)í/ùûÏ¡ìųëñv ~•ñÓæÀ£Ñ‘™Š;ÝëuÛ.Rgjuê7ÊÍ%›·¡íGe¹*רãéýK7‡9«955)Ÿáñ¸7‰«º¥ŸÏðkŸ÷ËvL™¸š3i­)¤ÇÙ×èÅïNÓÛÓÅ`vk'A=P´§F/'ŸËù¯ÍtjÌ–¶~Ù ¦~k¸ÕÚë|¦]n¿¼oñ¼îp4QmíæQ‘#Á(}BÎœ©Åñ÷"Ü÷/ÌBµ
+xÚí[9+9Î߯p¸<­DÝ@£û¹=ÀÄ 6Ývþ8Ô}].¹=ÇØ.WIõ‘¢HŠÅOÿ9ñÓÏß.Ÿßþyúä™7`Ôéóßß>à'q²žI{²F0nÄéó¿§_ß87Žsyü—Üãi9ׂsåÒG‹w°xßþŸ+¶¹¼ÿëóÉIj$¡S
+æ±"5Æê(м
+c™nÃ-O½ÇÏ5ýü˜Ê½øÑÿƒKºFíû´Ù†»uþ‚.¯ïàÞR[uI× ß¿Ç‹88/LÒVR
+†cÛ‘1¿3¬+Ì÷í¢
+èø ×Ð^uFºj3´Añåeñ# Ó„6›©ÙßÅ(É̪ýRž nŠÄ Ë;L
+-éW–ËDhg¹Ø¼I\ÓÓÑæÔÉf³­²)·ÅŒtwØò³KÚifÑ›žk¶~ųÈNSÛ šá´šiC¢é–to$tMu©?íž·<¯nÛ‹h»^eÑðl—ûᥠ?îþ×!o3\Ë^¯A?RR¼•¯àÝvßg–¨–ø#É™©%£?S"‡Ê3)ŸdrÊ,A¾JÞpýÂëú¢ðÇ‘~‚”kú2RŠ2vÕ;[äJ
+fÜàÕÇš¬'J»²^”Ù✀3k¶FñÜ6÷£H”ZµÊ÷ÌqKq´æ#N„&†ö½|í$‹¶9âñF¹¬„ÈЀŸÇÊ;Ý1­aÀõ1J1àHÔ$§¨zZ»Ú?~ûi
+5s€V Z¾Û˜HØJµ$-dgæ‚T-Ï¡raïhÝGà×·)I»‹¸B·Œ;³‚¸ò(r½Už[ùñŒ~÷¤ØV0É›KÙÞ%„U0—&gÒb}͘\»€w
+M <jmÑHjጟòŸ}ÕÛ½³0·{ëu»_–d܆>«û¡Vhc‰¸ù|<lâ–I3%š¿æ¾ÚÓR3G„ÚçÃQÅc¤4ù“MTŠ}ï¨A1gɽw1 ™)íú“ y’yAîÎG=ù‚üHéKž™æÀ<n]Wj É‘Ò1}Ó_Ò åóÞ“:!—|̉RÏ{Mz\šG·«¥ÙZ¤ù¢•¯œ`\
+Ÿ£>x–ôDéKú‡
+b¬D Ï·ï%¿Bf<}V-ˆÆuÏé]i-=QúScMŒ¸0ê"÷ŠÅÜõLé‹5¥Lºínâ–sÓ%Âßz`¿‘N—%èí·LR*¥f.§Í²Lûb´pW½MÕ!íûnqš „˜¹X)NCóÅ™)l*²ò\Z²3q|owÊó)ëoxÌu'm¶A¬éjXrʱåçºâ§Ôãa‘ ˜jõúaäœÞ,•/¦rSr}rZc 2Ñ[æ~ É«y(±ä ©!7âZ7]\2°žZ@Gƒ¹²è'Jô¢_ã< ˜[Œ¦FB}ÅÇT ²ÈŸC£aÉàÁÀ*‡À¥×Wñ„ªB•+K»R
+K&JÏ–
+½(iÈ•6–ÔŸ5wz¢ôtŠ
endstream
endobj
+3668 0 obj
+<< /Type /Page /Contents 3669 0 R /Resources 3667 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
+endobj
+3670 0 obj
+<< /D [ 3668 0 R /XYZ 78.37 808.885 null ] >>
+endobj
3671 0 obj
-<< /Type /Page /Contents 3672 0 R /Resources 3670 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3668 0 R /XYZ 81.145 731.363 null ] >>
+endobj
+3672 0 obj
+<< /D [ 3668 0 R /XYZ 81.145 720.404 null ] >>
endobj
3673 0 obj
-<< /D [ 3671 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 709.445 null ] >>
endobj
3674 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 694.288 null ] >>
endobj
3675 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 720.012 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 683.329 null ] >>
endobj
3676 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 709.053 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 672.37 null ] >>
endobj
3677 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 693.113 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 661.411 null ] >>
endobj
3678 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 682.154 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 650.452 null ] >>
endobj
3679 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 639.493 null ] >>
endobj
3680 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 628.534 null ] >>
endobj
3681 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 649.278 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 617.575 null ] >>
endobj
3682 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 638.319 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 565.521 null ] >>
endobj
3683 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 627.36 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 554.562 null ] >>
endobj
3684 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 616.401 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 543.604 null ] >>
endobj
3685 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 561.606 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 532.645 null ] >>
endobj
3686 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 550.648 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 521.686 null ] >>
endobj
3687 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 539.689 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 510.727 null ] >>
endobj
3688 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 528.73 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 499.768 null ] >>
endobj
3689 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 517.771 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 488.809 null ] >>
endobj
3690 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 506.812 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 477.85 null ] >>
endobj
3691 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 466.891 null ] >>
endobj
3692 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 484.894 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 455.932 null ] >>
endobj
3693 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 473.935 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 444.973 null ] >>
endobj
3694 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 462.976 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 434.015 null ] >>
endobj
3695 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 452.017 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 423.056 null ] >>
endobj
3696 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 441.058 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 412.097 null ] >>
endobj
3697 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 430.1 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 401.138 null ] >>
endobj
3698 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 419.141 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 361.074 null ] >>
endobj
3699 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 408.182 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 350.115 null ] >>
endobj
3700 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 397.223 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 339.156 null ] >>
endobj
3701 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 356.376 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 311.047 null ] >>
endobj
3702 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 345.417 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 300.089 null ] >>
endobj
3703 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 334.458 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 289.13 null ] >>
endobj
3704 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 278.171 null ] >>
endobj
3705 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 267.212 null ] >>
endobj
3706 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 256.253 null ] >>
endobj
3707 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 245.294 null ] >>
endobj
3708 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 234.335 null ] >>
endobj
3709 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 223.376 null ] >>
endobj
3710 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 212.417 null ] >>
endobj
3711 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 228.854 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 163.53 null ] >>
endobj
3712 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 217.895 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 152.571 null ] >>
endobj
3713 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 206.936 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 141.612 null ] >>
endobj
3714 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 154.134 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 89.593 null ] >>
endobj
3715 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 143.176 null ] >>
-endobj
-3716 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 132.217 null ] >>
+<< /D [ 3668 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3717 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 116.276 null ] >>
+3667 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 412 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3718 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 105.318 null ] >>
+<< /Filter /FlateDecode /Length 3160 >>
+stream
+xÚ½\;o$9ÎçW8¼ F+‘z†÷´½ÀÅ“.½îÿ§G½ŸU]êñlÐÓíªÅ—¨køË_/üåÏo·ŸßþøêÅ1§AË—Ÿÿý&è/Æ14/F Ƶxùù¿—¿rnÄ›EúFxûŽè¾}.Ñçƹ¤oyÏ·Å·ÿüüMbäj‚iº5L’¦âœkǹô‘‰ÊšUA£…œ¨ ‰£5¯Ü´¼É{¼ï¿¥Ÿ üLôÛF)üìþãGÆë­àñŠ¤
+”—ÑúOùk6SsÇ+È;„§Ìpïžpþ³+=j&”\J/÷¤ï)³C•$¸†7.FóëäÞü‘¥ò/o×èX^Þ"ß½<y@;ÓÙÕ>¼Ågà³›KŸºZ© ,*``è–ýµŠïøÉñ³½RXsÕUµówõk5uYöÙ£áó|±;dÖ[±ãts­
+áÉÂhÁìŒa2'ñ’À
+3®•:ÚïT)ãFÿšA¤D¦Ì¨` H­XT´¦§q)&Î&ÕŽ)Šóàà‡·Æm¡*-˜˜”eâzÖw ”*±¥:Ï™
+fÄÃ8xwÿÍÐê‘ÊÙ:ûŽ
+—ÙßÂS~3ŠwæÝ&߉ÛY"[V
+þ;GUÿÛßÃÏ– ¥¢'D/,ª=ô1Zlq”éô;åQP º’ÐrÚCã
+OkÄRú L¨-ÒÌ°BEˆ[¨h¤ô+˜ª³t #wý M´=4íèƒ}ôWp£6d·DÍòcOC¥'5ä}*,¿FBTK[:ø•â½¿4òÑÇÁìAqÃl7ÏÅ>Æ™F=׸-ex½ÞQ‚…þÏñ¨V†Ié–™£rGë_óqO WG„ò¤ŠG¿‹q8ÜUvLÚ옴¶JÒÈ=#ÆÑËMxž%n™™¥NòAšã.Sö“º¤ðZ†`æ{‡K%˜Ñv4Ú.´‚).G*6×Å>(“Nö㛊ÂÆ6ñ\@E’Cš)\xm¸½p1Pz2\TI÷—¡ÐLóº!ýˆ˜Ï¦¬Ç§©èìk?ô—•ã´ªY®a#·ùªî욯–üVϵj9 ­Ã¸d¡Àô#ŸE`‘»QBU¿ÑËÎóI+™qz¤=>kcAóP‚õZ·Ê¢?šÐKäi:Þ [}ƾ&tŒOd:¥ÌU¨ÙÄrÞr±ü¸¤UPœÖÜsX{b))ÇÙr!)ØZHìªçõ••Ñ∋>MÃ[® õá?ù¯jÙ‚F74FF0R¬t¦o×tF®l”)åÔ!çr x‘sã*a•®T©º
+=rŽx½Ú()Ñçv¤|‘
+¢TYÑ¥‘’ž¥¼¸ŠËóFÎÉîÓG;íA54<ðx­ö´—Óóá0»¯÷fù`*`m¯o.:»²ÇÕ2“œ”’”ª«7e _æ2‰nÉÝûw#¥¯ö–M¹èKZ±’ëjAÄо¥p¢tÉ[ŒJaˆ·yz=JÌÅ$-ú¬…¤p4?dOÏêʦ
+ûÚ.ö>]¡¯2 s¸Ò›e›¾Ÿ•mTqXÉW¥‘®Ð1¹ÝV™džçwcžMd@ñðÊ ù±Q|J¡ª§¤ý!_¯ÿJ§j&œ´ÂïÒ{Oýz#H@Æ…ZiþjA,õF ”šnêR>j󑘦/6’5´›ûNÑùií€c4j¥‹å©Tßmu9
+Á6¿Ð仈žH}„†r ½/žq%ˆ3úûvPîŠ.C»Ä¾WÁhÿÖ¨FJ—^ùýÁ°©CÆõ˜‡7îòÑðìÐõˆx:ÞÔ:rFÞRëvOë=¥ÐïoÄÛÉðÞ"Íll•5è'¼õøèÇ K}´Ô7^ŽG’PZ }ÒZŠ.*>~~û?œ~ƒl
+endstream
+endobj
+3717 0 obj
+<< /Type /Page /Contents 3718 0 R /Resources 3716 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3719 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 94.359 null ] >>
+<< /D [ 3717 0 R /XYZ 78.37 808.885 null ] >>
endobj
3720 0 obj
-<< /D [ 3671 0 R /XYZ 81.145 83.4 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 754.882 null ] >>
endobj
-3670 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F83 414 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F30 341 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3723 0 obj
-<< /Filter /FlateDecode /Length 2452 >>
-stream
-xÚÕ[9+7Î߯Pè L“Åâ¤ÑÈÀÆ“N½Ñþÿty_]­iŽ5Þ@3R‹,ÖͯŠ?ýçÄO¿ÿ¸}üøí!ÔÉ1§Aãéã¯ÂÁOâd“æd´`\‹ÓÇOœ9Ç7Ε¸€õï p÷˯҅Oè?Iã?YôŸ´óŸþá‰
-£ï~Œ Omyªýfú—æåi˜Æi ÆÁ£>ݬ‚úæœÆ}ùóãß^>ƒ”| Yîf Mä$ÉéC¦Bk ,2ãôL%ÌôzÊÚ hîJ
-ZÍ:ØŒ]×8Ü×çúÿï)v¢äžžÒÝ»E É
-rO~Jʲ&v‚I
-­$ÃŽ ÛmfBfEG´Å(ycƒl¸{pÎ0òhF0cpÍ’JâV&°Ÿk3‰+Ì»mZ)¸†é]NÎO‡}8Î^!Ny5lÕ9"m‹Jìwrž¹¸¥qá{£Óó2'*(fܧæ@.}†ßp€áW”‰‹iBN[ÝÙEa¡è2ÍcÖRÌnGSV¦½ÅSÜõðªa}î$îxÃ[Y/}Á]¬ÙY¦<~Úb\°Ì‚<2´Ê¾ˆºPÓçNøD{#ÄhÒìﺮ¸5l¦¤TsY]¡Yz¥ùfôóD>øK}Vý:.7²g–uü<$«_NvÇ”ª^9ÚJñPãQ^)7qØ}€ß8šð‰î³kctW“'Û䪑5Yl²‹Üf—ø(
-¢Š9œ—Â)DBFÅ…é
-ÂK“þ‹’UÀÖ2nÉØ8¸ ¾š(I½ÅWpýi]?C.JðI4’ ¤O:<wœ[oæòmɃ1OM§#¦œŽ8l&}ê³.´ÂìÌSìbõÆ^­AÔÏŸ$!çUk ÃmŽâŽJþLV©43n#«¼Q2=å_zoB:i«TsîYå½7Φ±´hÜé‰M0›^*_nâÀç/ü_<T /_–¡/G(­ÕØú—©a@w’Ô¹žçóÚ}û¤€ŽØÅà Žj÷h'“•vhéÒŽ Ž=íÛ††!WõÅñSÇò…†Fœ)Ä>”®Ù )­ærÀ@‹ùÖ
-—2áHèëžÃÓŠdè`ÑR }Cj~ëú¾‚¸³÷óR·p–ig(¥-Þ¦Ÿ(ýäÔ-¬af쯥‹ÓÇOÀ‹#¥§Ü.òh|MlÅãQ0 "ÞÈœ(u^q¥ïÐÿ˜AIô´\Kf¥˜)¥í«”ú›;9ÝiÖ
-Em…Ÿ"i µuðìÚS@¡gJä=¢×ikQJ”ÌqIIy8)GJMÊxGzåû‡Ì!’|Ù¥nýD©»‘¤ûßõŒ÷?·ÿòï}B¦pV‘þ£ÖrÍH©ƒK¥ñ«ö+!˜ÇB¤\¸–ç'JÿHxx/âPüÿÏa¤_…qmÈP[Bm¡/ÃHñà€àg­¹;Òùõ}ºÆ³ýÉ]ßÏ`ìFáî•#gδ_K¶›Jï?þ[èJù
-endstream
+3721 0 obj
+<< /D [ 3717 0 R /XYZ 81.145 743.923 null ] >>
endobj
3722 0 obj
-<< /Type /Page /Contents 3723 0 R /Resources 3721 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3717 0 R /XYZ 81.145 691.121 null ] >>
+endobj
+3723 0 obj
+<< /D [ 3717 0 R /XYZ 81.145 680.162 null ] >>
endobj
3724 0 obj
-<< /D [ 3722 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 639.315 null ] >>
endobj
3725 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 742.926 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 598.468 null ] >>
endobj
3726 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 731.968 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 587.509 null ] >>
endobj
3727 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 721.009 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 576.55 null ] >>
endobj
3728 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 710.05 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 565.591 null ] >>
endobj
3729 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 554.633 null ] >>
endobj
3730 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 543.674 null ] >>
endobj
3731 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 466.961 null ] >>
endobj
3732 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 456.002 null ] >>
endobj
3733 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 445.044 null ] >>
endobj
3734 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 434.085 null ] >>
endobj
3735 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 423.126 null ] >>
endobj
3736 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 412.167 null ] >>
endobj
3737 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 401.208 null ] >>
endobj
3738 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 390.249 null ] >>
endobj
3739 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 379.29 null ] >>
endobj
3740 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 368.331 null ] >>
endobj
3741 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 495.853 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 339.44 null ] >>
endobj
3742 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 455.006 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 298.593 null ] >>
endobj
3743 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 269.701 null ] >>
endobj
3744 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 258.742 null ] >>
endobj
3745 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 247.783 null ] >>
endobj
3746 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 236.824 null ] >>
endobj
3747 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 160.112 null ] >>
endobj
3748 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 341.432 null ] >>
-endobj
-301 0 obj
-<< /D [ 3722 0 R /XYZ 79.37 304.66 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 149.153 null ] >>
endobj
3749 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 277.2 null ] >>
+<< /D [ 3717 0 R /XYZ 81.145 138.194 null ] >>
endobj
-3750 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 266.242 null ] >>
-endobj
-3751 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 255.283 null ] >>
+3716 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F81 377 0 R /F27 340 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3752 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 244.324 null ] >>
+<< /Filter /FlateDecode /Length 2400 >>
+stream
+xÚå[Ínã6¾ïSøÂ%g†@ÀŽãzέèµ=õý¯%ER¤F´,:Nš¢‡ÝÈ5œÿù†¢äᯃ<üúqzÿñó¢ôÁ oÀÐáýÏ*Üu°^ =X£„4êðþ÷á÷g)“/á¼<!R“”Z…;g)éü6ÎòqFø+_þxÿ-¬`©·‚B-Œ4|  ðt jÞµJÿâ5…µ â*™ú[ým|^©/ (ʬ¤±)DÊn–_žÀ=!õsÎ@Z.󨢗_E­ŒÌc3ñI5—–¶¦¼Ü4WÌzŽ¼¦Ù†¹ÉÄJ& ‹[n©×Ä¡5"6ì›ô
+ÝÉÝeápSÏhPÈõ¢©ò=‘ž”©^ÌÐÃÌÐ «z®E`›3C[+0±Ï%þÛ_“B[UŠúâ›Ù]˜{DÐHvoŽGãzF‹#Mî;…Ƽ4UJl è$Ù ®’»}irÜM­‚8SÔ$Ôm£ffoŠš™ 5Ýy‹@FúÓ¸¨6n…0ÕÆïJј¼Ý”8¹áÓJXí¸¡ õUÿAP·—ë'²ƒ„§üìÖ¥ìT°³î/p ¶±ðk¬4‘_!¾4OfžQe±¶Ÿ[*¢²XM2=ohO/Û‘fB
+4¶gs³£µ_­é>wÂǵgd/[ЗaR“Nª5:ñc³ú,-WŽ…§dÿÉ–ÑÃ3†QRËÇÕ´ÂÀl~m׎óøEÃtÞáæþäA Hº®ÁCuIhÕðl•t­´ÐÒ÷ZíGZí÷´‰f)XéGi”#„åÜÒäÑ-'ႬLæÏn 
+ zµjî L-@ÛdU^i
+ÒÝ­¦ )¥4õ×dÙþZ¢ÐºÖöíÆáÉX½ÃÔi7n}¶”…4rO{ °d>›‰íé*÷W.8t0Ö¬æµýAéöéÅù§5®õ™·Ûž¬I^ íýPwp®–Š¿'O:å²ÁŒyH …Å9Œ¶4ZEUÊ­${ÝIàŠKC<W¤ÇK7‘;5ÎLµCn¨4FM#ó^—lö,¡eq—§%bŃ*iîi•Ä6vâ{;…?¦BêÁvEI/ t•Œ
+çd¶ñ9)1úNÙ´¼±û¤¸EZ-ðm -Œï"[ô#E–ú„¶åµÎAµŽ¿/lkH“°Ø…¢è† (£ôÅm Q(½¶°ô˜KJ›Üòˆ œò]w¾–
+͈Î9A¶^Ì?_<׳Ç˯Ðn}÷u-Y¸y¶ØX®€9£Ëtty6à[}O_NÖPŽß†åM‡’^§Ø‚;CÀw4»ÅíÎäFqo$¤Ä%áñÏãP(ãzz¬‡]ÒyL »>¨~¯¾!͇ß>dÿX ÷Z%ͽps½¼zÈ hüKøúb½ù0ñíýÇ?iâ—'
+endstream
+endobj
+3751 0 obj
+<< /Type /Page /Contents 3752 0 R /Resources 3750 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3753 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 233.365 null ] >>
+<< /D [ 3751 0 R /XYZ 78.37 808.885 null ] >>
endobj
3754 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 217.425 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 719.016 null ] >>
endobj
3755 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 206.466 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 708.057 null ] >>
endobj
3756 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 195.507 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 697.098 null ] >>
+endobj
+301 0 obj
+<< /D [ 3751 0 R /XYZ 79.37 660.326 null ] >>
endobj
3757 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 184.548 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 594.012 null ] >>
endobj
3758 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 173.589 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 583.054 null ] >>
endobj
3759 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 162.63 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 572.095 null ] >>
endobj
3760 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 151.671 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 561.136 null ] >>
endobj
3761 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 140.712 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 550.177 null ] >>
endobj
3762 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 129.753 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 473.464 null ] >>
endobj
3763 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 118.794 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 462.506 null ] >>
endobj
3764 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 107.836 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 451.547 null ] >>
endobj
3765 0 obj
-<< /D [ 3722 0 R /XYZ 81.145 79.94 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 440.588 null ] >>
endobj
-3721 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F27 340 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3768 0 obj
-<< /Filter /FlateDecode /Length 2348 >>
-stream
-xÚíIŽã8òž¯ðšEFpÒåt}ÎÛ`®3§ùÿµ¹o
-9EÕÚÀ à²EQ¡Ø{r¦.ÿ½pÿÿŸ/·—/å.’9+.ÿyîÿ‰‹¦åÅhÁ¸—ÿ]þõʹ¾qŽ˜¾»þû㯀yP_V^,sZ£íánJ˜!I˹œƒ‡$¾†ëë
-ÔkZ wôݯúvåÊò«¼»#å:g‚E‡‚5:FHh2¶¼à(“pG¨«q¥¿
-O);ï÷ê3JÕý÷Ì¥[SéʳG€·ÂÁý=ªýªoÂŒ<VùŽŽ ‰ßõmï¤ÀAøÞ¸§ÿöòÐo[‚ Ÿz%ǧô{‚ùï¯!ðúk/±ø„M;A¤Oø¹‚ù÷F’yfC“\x[ãx8N¸Oœ‚¾wš±('°LxPrz;$'g˜;:¯8œ3‹ŠBÝB# p^ ?£ÎäÓؤ­²~„»éNâ9¼ÍIzRö Hg4j¦¿gtÒÈY+Pç5;œçÏÏûµuÌM2Ñ.¾ ÒO¶ÞÚxÔ„!µS­Ñ1BúÅÖ{‘ Úk´²$äFH£÷Ô éqr[ºº_XÝ·¿Ä{'ù¢'ã¼÷4OûZwd-‹–9Pý xLÊ­Ak¿|Ó´*Ej!â1þ£·EÆõP¾£¯^¤DjÆ%ÙÉ÷cÔ€`r é´Éר·Ûím9Öœ Ç$€F‹Qã éwŒ^îÍ…ëȵɗýã- -)yŒFsP1šìËC¨‹óCØÒ6Ž¡¹(+™®"a‹9ºþ`;§$mq´W0ÁxBÇø[¿ûY@ƒà²Â•`&(]qUé®l¦ðËÃH
-w
-Éi_‚ÇB¼­”s¾¿HŸ°Ì¿¤o­ö1AúÉ•,层<h¸FÆ
-*­U¯û¬w²°'A*¹å"¥Òi&IêÑúB&u‚ôsjv"׳gUZÅ„ÛÔ9Ð-×9&HÏêx«§õ›O¬4’"EåÑÚI®/ÍÆúIí^¯²6ë{J«ŽUá¾õm-øMø‘‘‡z™IñïhçL*æv‰äßYkNXÉE:0Š¤ómÎÒ骟”>}ÙÖyFGãÜ¢¹#$„Ážþšë>ÕÜe‰"gè,É?»&Ñ }òOz¸Âe}?ãÝ„c©µã-m™òK¤XÍ5èk–½ ·L’Ì?(æ€NŸ&ô9¸Aj.¦ ÒyŒ¬fJ“þw±ó1Aúe½4Ši¾õµv9¢˜ ç±–þKR-vN&H¿8ªA…L[Eѵ8Ï2C"mÛ±>Ѷ;4”â¡UJkÕô}üm ËNçÚÓØIjù/QýL7Þ«Ýät½o§ÁL½£E9I`4)§·59ŽøðUô]ó.DÁŒ¶åG£—Ü¥ž!ýã4´¯Šþ>š ž»Ü‘ò±kò!·Õܱ“¶V:ÆœeÖ ¡µZÏ éh×}_k˜C %z4ÂÑL˜!ý¨®ÿÉæìRWÍ3ÏþmL¤oíüÅ‹22š9CFH‡c¾,£Ò4Ëð£æ4ÖÛÑ?hc’ÂÙh͸ØNb¨ÃkníM€6J€ýI @ÇZv® ¼;gÚo¹Rè)ôláqNãêôkî[ÌLëSµÔ,w‹XL[±csPçrbi꺳Lz$—[V‡Nµ-ê8bz¿"䢑eGmïW $45"ºÛ "ðBP"<⎀¾­;ÛØ>žšét¥íßÖL G@ØMõJØÅrù\Á@
-1ê²28"õµN¨µ}J—û©39#:Ÿ´Ç@ã:ÐøÌ€Ý#ÅÕçüIÊC‘iH.\ÛËÒÿËÐΉcéA=ã}ÑFîãýdø }Ö¬7<—-HèOA»œ´¡¯ÂU'nÔÌ}S,ÈÞ Ë;
-/Lµx÷é^æo‡Ù­hBÚÓ…8ÏEC·fNX‡§ší”_”ó[⨤ͯ+&*hAÏ°¢4 oJ2òµšì´Êûgd?G˜ÄÂ;BŠêBzÎ Ï}.®ñbXfÁ'APjÜÛþ¢r⛈O<d™r,%«y
-²PRî„·å­Ã•5Üå=¨¨Oùº®¯õ £Ÿkà>œI*a±{/fTŸk‰?Äå!D‡,éI×f£&HÇâÜa;Mu>s–:SK’ÎX-mØź›|ö—D;5Èœö
-endstream
+3766 0 obj
+<< /D [ 3751 0 R /XYZ 81.145 429.629 null ] >>
endobj
3767 0 obj
-<< /Type /Page /Contents 3768 0 R /Resources 3766 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3751 0 R /XYZ 81.145 418.67 null ] >>
+endobj
+3768 0 obj
+<< /D [ 3751 0 R /XYZ 81.145 407.711 null ] >>
endobj
3769 0 obj
-<< /D [ 3767 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 396.752 null ] >>
endobj
3770 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 385.793 null ] >>
endobj
3771 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 374.834 null ] >>
endobj
3772 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 363.875 null ] >>
endobj
3773 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 352.917 null ] >>
endobj
3774 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 708.604 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 322.032 null ] >>
endobj
3775 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 697.645 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 311.073 null ] >>
endobj
3776 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 686.686 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 300.115 null ] >>
endobj
3777 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 675.727 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 289.156 null ] >>
endobj
3778 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 664.768 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 278.197 null ] >>
endobj
3779 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 653.809 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 267.238 null ] >>
endobj
3780 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 642.85 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 234.361 null ] >>
endobj
3781 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 631.891 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 223.402 null ] >>
endobj
3782 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 620.932 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 212.443 null ] >>
endobj
3783 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 569.673 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 201.484 null ] >>
endobj
3784 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 558.714 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 190.525 null ] >>
endobj
3785 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 547.755 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 179.567 null ] >>
endobj
3786 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 536.796 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 168.608 null ] >>
endobj
3787 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 525.837 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 157.649 null ] >>
endobj
3788 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 514.878 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 146.69 null ] >>
endobj
3789 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 503.92 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 135.731 null ] >>
endobj
3790 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 492.961 null ] >>
-endobj
-3791 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 482.002 null ] >>
+<< /D [ 3751 0 R /XYZ 81.145 80.936 null ] >>
endobj
-3792 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 471.043 null ] >>
+3750 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F59 346 0 R /F84 425 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3793 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 460.084 null ] >>
+<< /Filter /FlateDecode /Length 2739 >>
+stream
+xÚíÉn#»ñî¯Ð„CVq #K
+³oA®É)ÿ},îd³[MÙA^€` Q‹MkßHs¦.ÿºpÿÿ_ß®_o¿Ê]$sV \¾þù&.Üÿ LË‹Ñ‚q-._ÿ¾üýs}åÑÿ¦ÏÇ?¾þöÆ ˜õëaåÅ2§5ÚŽà†¡„’´œ+Á9xˆâ“~üE¢= ?¡ÌOJå'øÝΨãÍ–§»‡ûˆu/ðõø¾¾S®<Õ=Ê|Qæ·}[Ÿà3?ÉDv‘R|lñ-s¸öÿ!Ägí±Œ¿ÑÏ‘þ[ÞÒ'=ãµÙ=H£îÉ*·™dÑ­I¶‡t Y÷ÉfÉb’ <^— :&$N%h×$ØCÚ— š¨{
+ˆÔ5´¢èäÄ~%|_¤,ñ™ïQkôõöé£z£“Í4Ö¸U:„a
+ö¼¥q«sq¤ýE«”çÏ}MÖošæÜãüÀ“k»Ï²µj§r3㌼/qf€äçDK1šWíõÛ6«­ô8º‘JtÕnžQ ‚É $G>6ûÍ9µ…BÞFÈ(ýðŽ´'~zÊ ¸m#F£è¢'‘¤ç¡^æŸA†SöeQ<cŸTÌëëhʽW½ùÄK.R©I32õuÌRU1R^ë L1ú½¦·=$„Λþ9ôÖ=ÕÛe‰J?KàŒg³É,ÑÒÜî_Œo™ËúöBlÓà˜RrJãÉ|K[¦üÐ
+¯öÀ¤ñÜ7“ÇÉŒÕïþìhp:¿
+> ÿ¶–ù0A«8GŽùà?á˜TƧz¹÷6zÈsi‘­7<—5Ih­ÀcHЭCÁ ^¦(Aܨ‘û&{= K32/Lñx·á]âoƒÙ5kBœÓ¤8Gš x—4Ðð‚w8Ôl§ü w¡’ ñ\õßj×&’œ•¦aáµQ)R!#ß‹ËŽ£¼]#ß³q±ð†¬º×™nÝsq…ˆgÇ2
+>
+b¦6>‘‚RCŠn2>ñ Ì±é\Å_m'R’ßÐn¤¼J6¬Í”TЧ´ Œë²Âèc­ÔÒIèbá_Œ¨k‰²#DeW#)åQvš‘,^‘ Ës_ˆÛKU¯çcàst„iq¶E”LH}ã´bZpõbØmû´ÓŽL¥`å‹jÊäR|ó®ÄUßÏ^š,ñ:9R}µV“MϸµNXhS%e?`|]¯_ þ(Eeµþ.…‘möù·Öcw¤“ÛCj`ù9'0µ%\ã}ü2‹U›Í™ž'Çkw±z@ß·èý:ãg¬Y:f¶W.‚5¯~ÚšÏÔ[¼r[L^·C´Ìl/…ÏXHk–(À#èfuˆŒu­6C|Œ£mêGr.)7¶+KÌ6çb¶p’Y=jß ÙR1Ë7ç†\ˆTv¸ ¸KÌ“æOš•NÞ´ý°IÇ´Wè«…ÆG£¤qI¬ŠÝÓ<w/g”¥CG9cÂøDΘÖA-3S>(ÌG½v~TWÏuÆdèoŽ9gíxFúŒ2µ*sæA3qU˜&mLdÅ4;NH2+=p~œD:Áº /Ä¡Æ¡Ÿ-”W,äb2¬Ö÷ã=‘3)츊
+ó¬k‘þ*ÅÈ7=ä‘wmS2W<Á]».s7ÊR¼·gŸR¶ÞØæéKìÚpé åu¯›Â:ÆMµåá.-vŽi,"Jƒå±È¶Æl›:„”ïšïuÕ0\÷è ²wlì]é’J øû4H9h¥$Ei“eïÔòÒ6ýÔ&=jE%CI4ì¾ÐŠ–3«G
+®=l®ÓsA×ã‡ECå6Á¶fWº¯±š5Y.úÉ¦Ô Qp1}×âê5Xd^§`“ZœwÕJ_$gÎÔ{+÷Ò”¾½ýÀni
+endstream
+endobj
+3792 0 obj
+<< /Type /Page /Contents 3793 0 R /Resources 3791 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3794 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 449.125 null ] >>
+<< /D [ 3792 0 R /XYZ 78.37 808.885 null ] >>
endobj
3795 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 438.166 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 768.829 null ] >>
endobj
3796 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 427.207 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 757.87 null ] >>
endobj
3797 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 416.248 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 746.912 null ] >>
endobj
3798 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 405.289 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 735.953 null ] >>
endobj
3799 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 394.331 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 724.994 null ] >>
endobj
3800 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 383.372 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 714.035 null ] >>
endobj
3801 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 372.413 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 703.076 null ] >>
endobj
3802 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 361.454 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 692.117 null ] >>
endobj
3803 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 350.495 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 681.158 null ] >>
endobj
3804 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 339.536 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 670.199 null ] >>
endobj
3805 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 328.577 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 659.24 null ] >>
endobj
3806 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 317.618 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 648.281 null ] >>
endobj
3807 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 306.659 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 637.322 null ] >>
endobj
3808 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 295.7 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 626.364 null ] >>
endobj
3809 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 284.741 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 615.405 null ] >>
endobj
3810 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 273.783 null ] >>
-endobj
-305 0 obj
-<< /D [ 3767 0 R /XYZ 79.37 251.421 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 604.446 null ] >>
endobj
3811 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 229.939 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 593.487 null ] >>
endobj
3812 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 218.98 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 582.528 null ] >>
endobj
3813 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 191.631 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 571.569 null ] >>
endobj
3814 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 180.672 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 560.61 null ] >>
endobj
3815 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 117.458 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 549.651 null ] >>
endobj
3816 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 106.499 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 538.692 null ] >>
endobj
3817 0 obj
-<< /D [ 3767 0 R /XYZ 81.145 95.54 null ] >>
-endobj
-3766 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3792 0 R /XYZ 81.145 527.733 null ] >>
endobj
-3820 0 obj
-<< /Filter /FlateDecode /Length 2916 >>
-stream
-xÚÕ[Ën$+Ý÷WÔ˜†
-<›™CAòHUøý=?y饭ŽŽõP©èÊÍœDú~֮ΤcBÉIgŠsãö¼¥§4pôó]蛣Ù@‹6³cÒÜŒ
-\”±~œø1ü¯Á^8æI'.>w†8Ïôór‰œ{ Â9ë²¾ÈñãÊïI6žOJKÑž.­ÀyN^<¯’ßv: o¼N³5|Èŷŭʘ"W·ZÒª0Ï«F
-ªrš'$›e;ßY;$8Áœt“.Ä©ÇI.˜Ð8ÎÊ~SÂs½¦¤„”‡Ùøv¾¦äL ;ÎÒºúZ”¿Z1ê ½<2yfÝAòM™=9éÌë±ÎËÚ¶ÏQ¾Ÿ™RŽ^ÿ!?ë@öâ 'éÜd½ÆOfßDk™”5–S&_~’]bŠÿ¢JOÞR \äX ïl…)rtò˜’\»52ÏiÅ»lâ]YmWü²­•”è(5QßäìÔêÒ¦L¢ g¤ä#V.Ó«¦šÓêšJö¾Ÿz™°œY TsfSʲCÊMá—ͪYÃܧ‹8bL”ùíH3Ñ»p}ãc^3c¤óà# 9
-x{HuÝØqÖÕx'T@0­iÎ×´†â|2Eãq× jÇ”‚ Ñ°HJÑOcÌÄ<P
-å,C)‡úZp’‡:–.CÈÖmÆB]÷Ef\ÌÍj `>‚#`^Áõ¬#½]2´Ó ­X:º½æèX­q#¥=WH©ýîÓû¢€$¾]p}ªÌÐ÷¼'>ƒUŽ6á¨ÇÉ;¨
-¶w P¶/ƒ½JD•`áÜDmoÓ,^8'F*cìê¸}x*C„ºt~˜ÑršVp8}Ôyf3òòQü¶uõ´Îõ–ƒDÚ«Lïò¾þ…‘ß(=+[퓨2N£~Ú^á罆3—Td>e'—òôƒfïÁ|g’iA¨TN‚áb3£Ñ2c¡-ÒY´£\t-7>ðsÍ€
-ä°:žCu’Yã¬a·à·B-ì7\Íœl<¯ I§&\³¸6y^´ÁJFž5RûÔF@k´³nz/«÷”®ÀýhVû°²ÛÜÐÙ”‘´odÐʨ¶ Ú@éÓý`¸Ìñ%\Þ<=(mõƒ5wäGpjžÚo€Mª.X(§öÐ<]´k[¤3‡ãbËZyöÆðD8—IØ1Ê>ÁD¨ö gŒŒªÍÄ'¤þfPJ×/õƯ”û]e÷¯U°ŽZð“¨æŽ]­sê]¦ÑuQ㼦O•µÑVPU:ËѬf¡µRi*Õn|”iQ”3ŒÆöé´ÕP­‡µëS'XçJ*{R*ÀØÒ'ϵ?™í å—t€“œQ,­ì;­ôÓÀ½©Zži… ©#‡¡|GA9êQ”vDFUŽZ4EÕuÖÑeŠ §q”÷´0¿ð–»¾åÄÅå±M‡8ª—jP”öÁÁ¨ÛÙŸ“fÏ”©Œ¥MâL Ÿ²Æä¿…wZ͸«QÜœÎÔnmßÑíc—¨4‘›é^ßb4«tõÈ4¥ûÒq/èÙñIð×¥Ú–0vÏ®žn
-dF›‘R­ýµ5åQ€m»vñ€ÒÀ@¸¿W›ŸTuµÅ‘’ Œ£;ü‚çïà{'ßÁ¨@ÁtMŸÅÙ¾†ÚÂ<h¬&NZ8?‰·üD–̲¯pEYWú¾Ú
-ÍúîIü›¨{_Õ›ú%.¹X*øb÷FJN$R®å’©æǯþ¤*Ôg ã&Ë„Æb.Cf7ðÜ7‚rÎ=«‚ïDš¥)färÍ\ñLê=(XQ‚ ”¡˜*y©¹¦?Ë'ü)G¿7Á 5¸ÑͬÃrj˸s„aº³ËQ¢¹‚JG[eÚ“­ÐDͧé÷Ò_N'ªç$sZŽTÛ3çÒ5™íqº½'v5-:PN¶;¿z™˜fNÈ%nÊUBÚÞ§}½Ô«9ÚÀ:A7­¼»y—–3e—…Wî]+(ãŠ|›¢`‰k¬yzSB$ë²T_m:'h1Pú&h!5áX³LÄz«Òõ„VÀ^×Wû.Ö6=‚Ý:yÆ_÷uH+ëj¦ö”ØSZá…C-BmÇçûÇÒVÁëL+ï­B¿#^“˜hUÑhŽor³©g‰ 5,cëbÊHJ”Ž¼Lª/ûƒºþ̾ç
-&ó·:mê4C§Vº¾|i6"´ÒöI½Š™ù¤^½m_E(ÔŒ¦FäÓù`ƒrýg—_ª3P"¬ÅŠÁæï‹Óÿ-Ú/`bpŽ'VWmÁáEGfÿÕ…7—P(¿Š;ÁéwÆ7óº#îLü ¸³“á¬$%Õg¥FÍmö‘$Jªör¤’»¸Ic¿»{‰IÂrRy¤g“uÛŽüø o*DB}0òv!:ÎOí$'½­î ‚õ-Ký…‹MÇìA§U(`ÄÛ¸&–‹ÅGté}úu¾Ÿø¸Ö»÷7@”PãZkt\./Á#ܺ4›·.•"ð&ǵvîA’¨‘ÂhŸÈq×rŽ¯Æ–³BÓ^‚.î]Är™Gœmú2=,k–˼8P|cÈÔ-ªGyD9z8 Ðòw3õyèiN¶“AäÂJ; øßµ²‹aد
-Þl^l(´Ú]K03_L¬µh]ž4,WP÷¼9œ››OmÝV­ÐM{r¹2Çæ-ØžÐukœiük–kþBìõÌ&Û› ˆOÅy©´½Ë´¥ëZ t¥Ç_‡MgÁQì79±ûNìÖý|ßhn®26oî±o›SøûfËØìÒ ”ŽÍÙîÔ¯l;è-ÎLi{CΙ˜¯Óyözr¥Æ>é{‚ëðåVxóîÓ@é›7ÂXFÕiÉ·Ú㻧Ôð}œE7yEÿG+vé,rמÒwëX#“°ÄW6™ïžÒwèXºíuÛ9Û-Ò×Ì'Ðõ†ÌàXÿÕYä«0/堞ЀÆþÿ Ù¦Öm”{d‘Õvù$>yuO黣‘üS XòýºÇwOé8¿¥â8dZ/½ö*Hbô„¾YûV3Ý÷® ×{øÑú†Lhþ·]Üd¯ ÷„>¥ßÃÃ_G¬j¼QªuõªS:Þ>~üjÉæ
-endstream
+3818 0 obj
+<< /D [ 3792 0 R /XYZ 81.145 516.775 null ] >>
endobj
3819 0 obj
-<< /Type /Page /Contents 3820 0 R /Resources 3818 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3792 0 R /XYZ 81.145 505.816 null ] >>
+endobj
+3820 0 obj
+<< /D [ 3792 0 R /XYZ 81.145 494.857 null ] >>
endobj
3821 0 obj
-<< /D [ 3819 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 483.898 null ] >>
+endobj
+305 0 obj
+<< /D [ 3792 0 R /XYZ 79.37 448.434 null ] >>
endobj
3822 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 426.952 null ] >>
endobj
3823 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 415.993 null ] >>
endobj
3824 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 389.437 null ] >>
endobj
3825 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 378.478 null ] >>
endobj
3826 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 316.056 null ] >>
endobj
3827 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 642.304 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 305.097 null ] >>
endobj
3828 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 631.345 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 294.138 null ] >>
endobj
3829 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 603.45 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 268.459 null ] >>
endobj
3830 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 565.591 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 257.5 null ] >>
endobj
3831 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 554.633 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 246.541 null ] >>
endobj
3832 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 543.674 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 168.402 null ] >>
endobj
3833 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 481.905 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 157.443 null ] >>
endobj
3834 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 470.946 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 143.718 null ] >>
endobj
3835 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 459.987 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 132.76 null ] >>
endobj
3836 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 449.029 null ] >>
-endobj
-3837 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 438.07 null ] >>
+<< /D [ 3792 0 R /XYZ 81.145 105.311 null ] >>
endobj
-3838 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 388.256 null ] >>
+3791 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F22 367 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3839 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 377.298 null ] >>
+<< /Filter /FlateDecode /Length 2597 >>
+stream
+xÚÝ[Én$¹½ë+êšMF7@Ð5¥2à³n†¯3§ùÿ«¹&—df‘’jlêÚ2c#ã1‚É™¼üqáîÿ¼\?^~Þ¥½³F \>~îþ‰‹¦è¢•`\‰ËÇŸ—½r®®œ#ºWr¯æíßÿ|áÌAý¼ºf•BSãäÌhÛ#IáP¬C¹»?pïùÛ Òý‚”ß_#íö·w2¿ƒëöŠ2V*?ÐWr&8ŒôUrN_ŒöH^~º9Ùî«¡e‚p(ÍIÄ5C‚©“èç]È‹uwƒ´º[[†ú¢0 Ú¼ÇÝýúí
+öN¾ºy¹?ˆèpsWHþZ{1ep4– å¾ì#ãà)Bâ5hhdv^ /‚Ž
+>¿»÷¿¿ÅïC Á©IÀ‰É5ìäŒw&£ NFáþýGò£x}Âë­ŒèœP]5'¡Jgy i¬dÔÍô6cTæÎ÷]ã5-^á1ü½tË÷ùOÑ­z`5//^išë£NÁr]ðpÎÀØÚNk³û|÷g¹üvaþÚZ “þ3&ÛHw»4NBuÒQ$d;zdØ~‰öËÁ(†^vÜOôºXÍMïW.:
+ÍŒ›”¸µ ÌkôSÔ6øJL=r,Åo’­³¦-*Z4_å#-Ü¿ÉiÎ1ìã-^ë  U2ƒš¤f`¡7ƒŸÛ9ž“eÏŒIÚ0)÷(j“Ë|ØÙoʆXfqŠeÞ ¦eR£GÂÊÒõÜP·aeN¥kpq¹WÚ-ÖZ..-÷RXEE”4z0'ÉO¬Ž?ë:ÒªzJ1j¤½Ï©'ÓR÷H…€Ú²¿pá_·ßn«òJÉ\Øöòú?m'ùdÒ¨ Å€ïÈZrPä÷Q÷F¿ƒ«‚®«8Sò;*ø¢ÁH’tXjÿN¼çwÎ29@Ö NÄÈš‘Á%¬¼EBõbðuc/Z‘I´# «ë$ÅUL8þÓ!ž ’Š+/D^”~ó‹Ò[H‚:1F4ÐQÔ~éÕ» K»Î×å*/ºgi0žˆ™ Lü´3§<?¶G'!ÁÒ#S4ß’n”¢ÞJ!ÅæEú^‘Ý%áÊ6{Ò­$€t]E:ÅÐ%Õ 4Ú§Pi‰)³¥š /zÒ5ï6¢§7¶t@♕أf½wsøã,…WºA;ää»S™,g`w玺x2š¼ 1¦}}@¹N¹£‘nßlw#›Åi/ 2 j8í-‹é˜XÀ5±D&æ<X–éE 50­†¹í·èžÄ-¤Ìðaª›®­ÄT×!¸üŠ«fŸ&“›ì9Áj¢<â ý¯ëV”œ§3¹fÅiD­q-(4ùLÛb1øµÇÊÛ«Pò¸ûÏ{¬B#*ËñEi팖™±™'ËP쀎b é ƾÑÒŸÙøÌP2â‡- Îz(†ë.´)´I„fVÃH’ÙÝZÎ-ÒIΨr„÷ƒ÷GðÆ»Š¿«Yù¥<Ûüª¹bðù}P[^–j‚KŽŒC™Z¦°6°j’…Æ+3 Ÿjþ¿™b¡|–w‚•ïŒßìÇíyg’¯ãg…$tKˆ$ê-·XHBåxŒç™-J.ã&‹Ý*@Ö0sãC;ëlÛúš.ŽÏø&)åXô²MÌŽ3¥@&Píìfœž¬`\oÝ-r9,—ÂrÚöáÛâÓºdö Ô*˜“­3dž½#r+~ú¥y-3æŠ÷ÂF‚ú±Æ6p)KÍLç ª°mPGJ]2Ðó ·'Á~¬aÓãhWãØRÐû'JÜÔœãW}Í™Tî!8u²¢Þ Ôn·cºÌWœmú2žÚÆÌ(I`{Ãjçêš •ÞE¾bë= ŠãÉUs§<ŸzŽºõÎ!×RTz©‚{þ7?EÕÜ4ìF€Û©\)$ÕeØK•[qþûâ‡
+' ³œzôùik-<’iÜGz0I%s+í@ž´¨ ”4í7Ü© ´Fo¼§vFzŸ/î&zÓ!ÔÚm5—hfˆ ÷zF *—'õÊÕ=¯@VMôÛqõñÁÆmT ]ô‡Kë ÌȳµßìiÞg6ÿšïJ5xèŸÏoÈ‘|ävdµÙzn¶Z‹4o5•¤AìТ©=BÅ<)Œí7„±ô} :e²I•Ùy1Õº;1ÜŸ¸ î\«ÓuHÇîlRwªXÖ5ôši¦…{AÇ5i¢Æë³X•ëª0úd<®)‚íâEÖŽBuHO.Ü Œ J®ÉÝ"Ur¯¢‹²jwÈ¡¬´&k‹ôlK·!Uj¸&w‹ô 2CY‹:ÒטOðëѽ´­Èòæ™^Z„:¤Ž‘ý鱗E»`ºmQd»MwãS\·HÏž‚³öM{–e± ãÙø”ŒÖ2mÅP_KjtHO¶>à ÂHîÙ”Ÿån‘ž°‚Ön$ʺ–Õ;¤gÛX¹» al¬eõiÔù¾Ïmþ,··zl™µÓÒ÷æ·\Ê å¹T¾\Îk@œq1\èfyGÊkÒèŒÔ0‹µyŠ×yªmˆ©ëÀ·_Œ¿¦õ `™mdåYÆ”rR‘û¿ÎÀ×$ÅNG ˵°é›gÍy}sA_LH=Òw–Ùä™Ó"ýÍ¡°‚ kFv[¤VÒ“ç°0œA{êq“{KuH1'Ê2š‘Zµ@϶¾4Ìí
+endstream
+endobj
+3838 0 obj
+<< /Type /Page /Contents 3839 0 R /Resources 3837 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3840 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 366.339 null ] >>
+<< /D [ 3838 0 R /XYZ 78.37 808.885 null ] >>
endobj
3841 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 355.38 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 768.829 null ] >>
endobj
3842 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 344.421 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 757.87 null ] >>
endobj
3843 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 333.462 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 746.912 null ] >>
endobj
3844 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 322.503 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 685.143 null ] >>
endobj
3845 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 254.757 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 674.184 null ] >>
endobj
3846 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 243.798 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 663.225 null ] >>
endobj
3847 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 232.839 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 652.266 null ] >>
endobj
3848 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 218.892 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 641.308 null ] >>
endobj
3849 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 207.933 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 591.494 null ] >>
endobj
3850 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 196.974 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 580.535 null ] >>
endobj
3851 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 186.015 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 569.577 null ] >>
endobj
3852 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 175.056 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 558.618 null ] >>
endobj
3853 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 164.097 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 547.659 null ] >>
endobj
3854 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 148.157 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 536.7 null ] >>
endobj
3855 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 137.198 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 525.741 null ] >>
endobj
3856 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 126.239 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 457.995 null ] >>
endobj
3857 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 115.28 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 447.036 null ] >>
endobj
3858 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 104.321 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 436.077 null ] >>
endobj
3859 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 93.362 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 422.129 null ] >>
endobj
3860 0 obj
-<< /D [ 3819 0 R /XYZ 81.145 82.403 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 411.171 null ] >>
endobj
-3818 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3863 0 obj
-<< /Filter /FlateDecode /Length 2562 >>
-stream
-xÚÍ[ËŽë8Ý×WäFW¢¨P( ©$ ôºvƒÙάæÿ·­§õ0íX©ÔÅEãv9–}L’IIœ©ÓÿNÜÿÿ¯·Ë×Û¯»r'dÎ
- §¯ÿ¾‰÷ÿ‰“¦ñd´`\‹Ó×ÿOÿ~ç\_8ÇçÆùküøÏ×ßo<€y¨_w‹'ËœÖÒ¶8Brf‘€üKòWJ•+íQ%xtô×þ+ ý_ιøô×—Ô÷Ôî…6yYp\¹‚sx~WÿÏc ]Úts{Óó€TL
-Êa+2ExÂÀGìs¤AÀ{"E|¦~>¶.‹`PÅüÃ]ü%.u…ôDygà,ã‚Ìä;ª1Cy±ÓØ"L‰+Š5¦(Š+O/ÞE Áì{‘}Ts¨QÙQ´]_J
-ªíÍC9Ç´¦ÇœèÁJ4Ì0ÝMF™Ç}Q­±iÔ¥©\îtˆw6ÝÁî¿80¨÷GP>–vvìuß›Ä{øV`.9Èþh¹§RŒ¨pÝÙ¸w%?ý=mS
-'žÄ]y40Nw2zæ¾XVx±V†QØ|l~Ú&põílzǧ~e-óI9õãTj1 m§FÆüd ×Ëp\MΦOÊf o&‹Ò~ƒÌÁUúuÚ-Ì’(”çâTë?ø(Îü›xg’'í“&ë(žŽ,
-O=R;&eÙoëþ˜EÛ%(¨¿JÈm…§ÁzUyª¬“®{H'yRŠY¹*b…¿GK9=¢6Må#§¨afwÕ'Æ4ö±?µéh "Ç“=Gôa>P=?ZˆÈÅ–‰îyÀÝê9Q|ê,l« Ö$t¢ŸËWº((E@#>-mEûãR2'$ÅøÑRˆTLù”xDúí£0
-Éžœçl§G*…ÚÔ£Y©||휢¤:\zÈüöH½EoYc«Ú@d°H·ýÖo·ÛoÌÞë^.-ÐÅJzã‚q©I½Ù9kê‘ž–gÜÒ¾ÕÔ¬0 =/‘Ï<„°¤D8'QôÜ<õ8øß™§vm¶ÚýR®¾¦¼så}×T<iʾ׶ä3è{âœr#••¿<¯'m™PŽ´e9§§é5z¢£?WW‰Ü õ¥ #c Ée½ç5ºZúûŸ¯§µ¬¯Ôj¸ŽÑÏÓ1ú€ôdŒîj‰èE±8ú¸¬¤z8‹HF"Ž,Iß|ML4©@&)ÝÚ‹n¤Ãºi¢öÃïôTà!þÃ6stY*k\¥A[mLZÊ„Ù%)’I­HÏsþÛ#=?¢p`È5%ÑÑL!WG¤A¢ý¥+i ú?cý"–fC9VÿǪoBõN®3ø¬Å®`m*¹D—Þ/D
-41­Ž”¡—ŠsHå/éº[,H•ž¼ê,”çÒ¼,kñ#×ú¬ìX(±Z¡©–<(`K¯#ÇaìÖlÁZB,X(qá9Wf ¯Ë…E¾@¿Ñc/ãv ÌO¹ºâ3]ó•F3ÅÉ™ãhî”-y@Ú®‡;MjNõ¸~¾—8Ûísn¤Ç×¹\k@BjÃÇmKþÐÖÌm“}PÈ”¥G8œª< H}E”ÎZê’z]:ï7 ¨Í1xfKLFmz9"ëôƉ’yŸ$-ý`f…ŠyF¤fsÜ1¹§8>¨·I.üX¤µ¡¸8š·.z¤9.V[5&zàç*ÃWõ éŽÇôÅcz$r[­è*n¡W‚ÖVÿ¤ryKÊÆVKÊߦyÛBžäSp?RtM
-д=ÌI Î1ã%ödl= MÛ#XÅ,JR’óÔ<: =^W,ùÓ²áÖlosuøv=¤]CësÕém‡`Y‹“‘ñ€ô{Ö Ÿçí›ëˆ %s@:àÑ8,G1R_£6’j-ÇûNÕ‘â¦8›säW¯s‚Ð=Ò—Ft~LGé‡=ægðcd` ŸdÁÏÔ†ds®ò? ==ƒŒ#9wOîÁž—8ãŽhr³C´“íÖ¥û:×’€§{«õÀ&æP?l‰Ó³"wL¬wGH{<J @zÚZ µ—%Sßv–ÛmŸçí¶»Þl‚ï¼÷¹ýßþžP;ßSðÄ”,œ!¡„£±óŽïƒº©—í¬6å¹×æ¶9´;z9ÃŽ>w0ïjG/÷÷.;ï=sBCXÃ`½CÚãÁkÑK4ØÌN•Øn;ãŽÎöÚì3\ÁÀÐ\Ì…ÏÒþ©¦~hÍ¥ìT\ Å–÷I.4gR ÅÅd= íLGí9ÇkÝÄ‚n„íéiŸ“þÔÜc®¿QÜè˜TŠäl®Œ9 íp&žäl«¬xo(3>¥¿Cçb„d°9¸¹¸Ð-H¥õñÄÌFÍÿЉ™´I]´¥~bõàщ™„B˜‰K kÄÙ3R3€kß=1c%“#¦šÚÞì´ÃÆ9Á-SM‘Ͷ§°‘ SHbÚó ×´¤˜ÏJ˜´xŠgò\0rºÜ¬ô,«T‚\drÈTpù^¸&³Ý£JûwÇó-v9ß²2ŽxgëÀàrL">Õ­Q_·Ž¬ÈÕB—+VÍ•MùJødcåõüLä³;óŸ°Z+ˆcõòôræ*þ2ÍâYWGD€rÔ'Vžœa
-9ã«©»Ú¯—­•ƒüeŸAxr¹×U&§×¢¬fŠîÒ\¦ÝáÔtW‡Ã>›ÉƒäŠi:5;¼Â¸H
-¢’¨Žµþ©cÕäaêcõóÍQÄÞZé“gÀ™:ÝEß¾Þþ#
-ë{
-endstream
+3861 0 obj
+<< /D [ 3838 0 R /XYZ 81.145 400.212 null ] >>
endobj
3862 0 obj
-<< /Type /Page /Contents 3863 0 R /Resources 3861 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3838 0 R /XYZ 81.145 389.253 null ] >>
+endobj
+3863 0 obj
+<< /D [ 3838 0 R /XYZ 81.145 378.294 null ] >>
endobj
3864 0 obj
-<< /D [ 3862 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 367.335 null ] >>
endobj
3865 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 351.395 null ] >>
endobj
3866 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 752.889 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 340.436 null ] >>
endobj
3867 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 741.93 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 329.477 null ] >>
endobj
3868 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 730.971 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 318.518 null ] >>
endobj
3869 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 715.031 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 307.559 null ] >>
endobj
3870 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 704.072 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 296.6 null ] >>
endobj
3871 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 693.113 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 285.641 null ] >>
endobj
3872 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 682.154 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 274.682 null ] >>
endobj
3873 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 671.195 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 258.742 null ] >>
endobj
3874 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 660.237 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 247.783 null ] >>
endobj
3875 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 596.476 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 236.824 null ] >>
endobj
3876 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 585.517 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 220.884 null ] >>
endobj
3877 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 574.558 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 209.925 null ] >>
endobj
3878 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 563.599 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 198.966 null ] >>
endobj
3879 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 552.64 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 188.007 null ] >>
endobj
3880 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 541.681 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 177.049 null ] >>
endobj
3881 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 530.722 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 166.09 null ] >>
endobj
3882 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 519.763 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 102.329 null ] >>
endobj
3883 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 508.804 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 91.37 null ] >>
endobj
3884 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 497.846 null ] >>
+<< /D [ 3838 0 R /XYZ 81.145 80.411 null ] >>
endobj
-3885 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 486.887 null ] >>
-endobj
-3886 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 475.928 null ] >>
+3837 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3887 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 464.969 null ] >>
+<< /Filter /FlateDecode /Length 2444 >>
+stream
+xÚÍ\ËŽë6Ý÷Wø†—,¾AvÛuï³MVóÿÛaQ¤øPI&w?$Õ‹ä©*úr¦/^xøÿo·ï_Oí/Šy'$\¾ÿøþ̨‹5‚q#.ßÿ»üçßœ›çêÁ¹|ýüï÷ïÁÔ¯§SǼ1ÒÕ8Bfµí‘T@öó_tødçà\ðù[©ð/Ò÷ð|…ÏNïÅøåÕòåš¾çxE>óˆEÚJùšk·^s|µ~Ls0LXè‘hÍwOsÔG)·ÚB„|ý¤×w²±–Ç»Âß½·Œ6ù|­O ˆ¯eÜÐr[|ZÚ‚ö×,.=JR×0fq©™vfƒô2jŠÝkMŠíf5ÇD‘ÐÄÜæb§EŠZ¸¬Ñ¬TÂ2
+’˜}á{íêçÀúåC™ðÏ<’<by¿•u;_ÎûÉJ&i7©975@ïñ¾—É;Ñ'°ìÿTOÑò¾Ó[˜’‚œçrÎ]-Ò{üíPyäŸì«­¬ïô“LY’«N²ôé$K÷‹-ЖobãF…»Ä–^§Ùx”æ5Õ|zÔ:lýœïý>ν÷c\æ-°?¦Ø12^Åã#q!‘x)ýÌ÷°¢I߀gZ+Ê7£¼=û¦CöMÅۇǴ9Ú!þ)d Õ.-ÿ[\ï+±ím9iAá˜öš²àh¾ço‹t~Eá–iH‰s…€ ôHD¿žB_| á¡Õhë™´íƒ0¾¬F_èOp»°Ì0)e³¶$T')T"(¼Å%M¥)};K(Ë|X<:„21 Ò7aÉ‹‚ãÆ¢nË{Ü`⛼{Å-dùJ)ŒP¾¬¾
+äf)~ÑN<Jt&maB&¥i‹9
+Ý!lG©|¸çð™8¦×íéØ&%©³õ_(îH­Bö©)›M–1;¤›‰“6Û++áueÆSþKÛøqsA&c¼zÝ\°ð™Šôki*{Ý÷kþYb{/‡ø²äKc)߉ŸJ©Ÿè¸S‘æÜKÛ©Ü…+aÄNQ[Z [ÄÜÃïåÇ-$¢°±ZÖ0¶B¨;-'™ì1õÚ ꫘ϵ…‚͹ì­Ü(ÍxX] Él•:¸
+]¨JÔe™)Ÿ`S„Ú‰wGYìÒ<Ä♼fŒ”.WžµK%È&“§|+\•Ù™ IÛ±Ðtƒ“ÁžYÀƨñ›¸mª>X˱ÜÕô¨S¿ åÃÑH± Ó6º|¶añ\>¤±ÜýUE¹áµp[™Ö£2¶‹‚¸V¯w«?Ùªy¶ˆÕUI¼h_ &ê‰ÎvÕ,‘ºñ,?/Ù-ÒqÅ ýÃÊI¼sý®©MNw£À 戊¤›Î¶;¤’è€iªÑ¢;m3)¯ãÌ29îŠp~ƒ$QQlÎ ÁNÇc¦—žî%½î·¼yªŽ&,:4‘-%hÏÈ ^žgóJ£ymt¦¢£ù{Ö¦EªúWºižM”›—±‚¸ïte°ŽcfºâxbKDO¶³ÅZ¤ÿÛÿomSUÆáVŸÈ&çÐôú"- ‘IÙc4ÉÍëK‹$ ]Ð¥ŠÁ­m0µÙ¦Í»§{~Ó^œôÆ¥|7ù; ì@BÄy@‘φþÖäÓQäs½Û¤D-D'ëX—˜œìøu|žõ£Ã<eˆç»n—NI•öM9ïË,‘¿úaF‘`š²…1LEÄ\e¢CÚ§l¯Ü–&«©mÚÙ“8^gÛNüLä›i4½çpr#˜¬HôH¼Z˜_Ÿn± ë(rYž<4Õ!ib)Å-^ݺm~R^c8GFÞ ­6’9)z¤eéW«¼æL5åìæ(´a<©•šÓªE:ž5K%$ViRÕRÌW \:Ê^´—°²‚wãüÊs,Ö¬tß‹?ƒ×ÎÓ·üP
+endstream
+endobj
+3886 0 obj
+<< /Type /Page /Contents 3887 0 R /Resources 3885 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3888 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 454.01 null ] >>
+<< /D [ 3886 0 R /XYZ 78.37 808.885 null ] >>
endobj
3889 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 443.051 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 768.829 null ] >>
endobj
3890 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 432.092 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 757.87 null ] >>
endobj
3891 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 421.133 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 746.912 null ] >>
endobj
3892 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 410.174 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 735.953 null ] >>
endobj
3893 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 384.271 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 724.994 null ] >>
endobj
3894 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 373.313 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 714.035 null ] >>
endobj
3895 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 362.354 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 703.076 null ] >>
endobj
3896 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 351.395 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 692.117 null ] >>
endobj
3897 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 340.436 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 681.158 null ] >>
endobj
3898 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 329.477 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 670.199 null ] >>
endobj
3899 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 318.518 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 659.24 null ] >>
endobj
3900 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 307.559 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 648.281 null ] >>
endobj
3901 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 293.611 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 637.322 null ] >>
endobj
3902 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 282.653 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 626.364 null ] >>
endobj
3903 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 271.694 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 615.405 null ] >>
endobj
3904 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 260.735 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 589.502 null ] >>
endobj
3905 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 249.776 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 578.543 null ] >>
endobj
3906 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 238.817 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 567.584 null ] >>
endobj
3907 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 227.858 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 556.625 null ] >>
endobj
3908 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 216.899 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 545.666 null ] >>
endobj
3909 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 534.707 null ] >>
endobj
3910 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 523.748 null ] >>
endobj
3911 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 179.041 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 512.789 null ] >>
endobj
3912 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 168.082 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 498.842 null ] >>
endobj
3913 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 157.123 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 487.883 null ] >>
endobj
3914 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 105.318 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 476.924 null ] >>
endobj
3915 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 94.359 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 465.965 null ] >>
endobj
3916 0 obj
-<< /D [ 3862 0 R /XYZ 81.145 83.4 null ] >>
-endobj
-3861 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3886 0 R /XYZ 81.145 455.006 null ] >>
endobj
-3919 0 obj
-<< /Filter /FlateDecode /Length 2993 >>
-stream
-xÚÅ\Én$½ ¾ÏSô ŒF"© 0 ¸Ýî
-å—OT~%¾Êg9hz äLp¥Q’smפé)UiàÃѳ[ÙÔ½• ;Ù¦ºð¸ÍWÑšéIÛæÛE¡“—p¦±¬ý³ë)°¿>aÿ­nÀ}NnÕ§ûÔq‹p¤¸­ê NЉ>Ôõœ>ˆ3°JXäCzR–Æ·º%ã¯÷¾Âk¾½Öß˯õ÷Å{zﬡÜ]}«¾é÷ñ>3ÛUË.[qÑvB3
-;ßÑåmëQ‡(BóbQz"fô<žD±èvG£FJ½Oœ•w[Æÿ™™8•™Ödî)='ósY㹘•4õt\“»§ô¹s‹(\}VF!˜µr&ãYü ‚Ñ„Rã•Ëµ¢ä‚qÜÔ^n9E³æ{Jˆë0jþ8êr•ãÆÌ4p' ”ö5+"¯~¨R{? ?QZîóä*O‰‘Fì#¶ØD|QGÚÕ`g::‹Ë³ŽzJ¯Ù{òR¶@3Ëv)ï­_9…¢d«¿[ù’’®ZœïcÍx=¡Cm .ù[Ÿ:=<ò
-ò°jlZøïJK´4îà³$Ü
-µ©~ß&…ì>^B°ÛÎ
->‡F–|ìäë©“Ä©ÌšzJ}Z ½°]ä!ÌšfqpP’dÎ$#¥=nñ¶ïüÝÄóâ ¡K0¾!'OlRýºítòùDå
-Õ<E MÜ’ýŠY¦|m#ÿÅÙWµ%³+?×,–ÍêYøœ¢w ô²S"¼"o¡AFz³ûŸÓç4bãz ´ ÄgãŸ&+e“¹'7ÞaO–‹ºÓÀ¤03Ý÷ÙkzJ]ñ±È•LJ;ãê,œÎí)õ¾|<*.|·`‘ˆ)À餞°i&…epý[Û8gýV»b›Á| áßa>6 ¦ÌÇ´v² Ý.‰õ³¦½LðÛ…3î(lH™åx@Ê•^{·Ò"M"ä/Y2§‡L߯:¤ÔàÕg¼ƒ;ì1*b©w¨ ´šYçSâDª=xŸY®^ŠY;¼¬,º«˜–ª^Ǿ9»q‘Á?Sªä´ÜdŸºAeNq™dÕj‚×PÙÑ‚ê”ó°–®)nuE¥¯qøÙ¸X,‚òÅú–7ôö|B …~ÅYˆî¦ý N¥sÄ1âù‰†<‘„~+DÜU²_$ëßoõÝßĦ$‘@I…`°Ž{gº©ºLw•³râÇa•80JTëШmåâ™qÒ½ÞLÆ4)+èzŠ *oSbÔKŠB#¦)É3ôFÞ’8åF·Ò4'ÛÂ8ÂǹŒ»›wXà ·Lo«À°›}¬íf¥i­ô
-Ô2¢‘Ô¬øíp¬az[‚ »åJyRU¯<iõ|`43Û2Ó^ÓpOéé´bfßÛ¥ç9R’Ù9(^,³JÏsätnç€x±Ì(­œ_x¼V®öͦ±~º`ué›–
-ùþuç€|ôýùfÎÎúz ù\^iÖ÷\§†Qj-j‘qª3ñ_知)Ú@iðÝ㢄aÜ–H”<b ¼Q v+ðªqÛ×øíºžA©×Æíáåxmþ´§„k¥ qùDŒÒ<œjÓìÌШáóÄæF¹
-ˆj»×A %ä™;»§Së
-ÈÈ®ÑL  †¶*·,NX‰Œ;„ŠO ý4Ö6˜¦®ÝÃ4†m8m‰8U,ÓdG] Õä¡i4 ÐBõI Œ[ö¼…\þ
-fü¬¦B縡”¢mÿUûVwO¨íž¿Í¡•Î+O¼Íië#t+,o‚/¾{|`ìãàÚÍ#kO(¸uyJ]üý$° À(Un
-€ý)%.7þÍBjÖÀl¹’š=Ê
-endstream
+3917 0 obj
+<< /D [ 3886 0 R /XYZ 81.145 444.047 null ] >>
endobj
3918 0 obj
-<< /Type /Page /Contents 3919 0 R /Resources 3917 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3886 0 R /XYZ 81.145 433.088 null ] >>
+endobj
+3919 0 obj
+<< /D [ 3886 0 R /XYZ 81.145 422.129 null ] >>
endobj
3920 0 obj
-<< /D [ 3918 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 411.171 null ] >>
endobj
3921 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 400.212 null ] >>
endobj
3922 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 384.271 null ] >>
endobj
3923 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 373.313 null ] >>
endobj
3924 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 362.354 null ] >>
endobj
3925 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 310.548 null ] >>
endobj
3926 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 699.091 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 299.589 null ] >>
endobj
3927 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 688.132 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 288.63 null ] >>
endobj
3928 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 677.173 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 277.671 null ] >>
endobj
3929 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 666.214 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 266.712 null ] >>
endobj
3930 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 655.255 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 255.753 null ] >>
endobj
3931 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 644.296 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 244.794 null ] >>
endobj
3932 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 633.337 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 233.836 null ] >>
endobj
3933 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 622.379 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 207.933 null ] >>
endobj
3934 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 611.42 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 196.974 null ] >>
endobj
3935 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 600.461 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 186.015 null ] >>
endobj
3936 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 574.558 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 175.056 null ] >>
endobj
3937 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 563.599 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 164.097 null ] >>
endobj
3938 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 552.64 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 153.138 null ] >>
endobj
3939 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 541.681 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 142.179 null ] >>
endobj
3940 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 530.722 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 131.22 null ] >>
endobj
3941 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 519.763 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 120.261 null ] >>
endobj
3942 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 508.804 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 109.303 null ] >>
endobj
3943 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 494.857 null ] >>
+<< /D [ 3886 0 R /XYZ 81.145 83.4 null ] >>
endobj
-3944 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 483.898 null ] >>
-endobj
-3945 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 472.939 null ] >>
+3885 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F83 412 0 R /F74 337 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3946 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 461.98 null ] >>
+<< /Filter /FlateDecode /Length 2935 >>
+stream
+xÚÅ\ËŽ;Ýç+üQDê 4hwÛ¸ëì³YÍÿo¯Þ¯b•KŽ“AÐi»Jb‘‡‘”ª9S—ÿ^¸ÿÿ¯oןß~Ü•»Hæ,¼üüÏ7¸pÿ.™–£q —Ÿÿ»üës}å\Þüoɹpïÿþù÷7ˆyR?îV^,sZ ÛÓn˜8SÂ;ç
+Þ¿+Tþ›DOÏ”oÆSGëïû«èÊUž)Ë7õåg] Ï ÷wüX©Óoãl÷³tøþ•8î
+„Q‚:Øiü‘ìw.Q”ÞF5Ì4üØðYí£‹&Ø}´ýEŒ,0ë…‘Â5ŒFJ¯Y{âRÑÀè3Ëz©ßµƒ·ÇœbÅ#ëªð€‰6ÞWµg8sÂPÚÓ×5íM”ñ®øÛ<õ-A¤d»BvKn¡¹V>kØÈnæØÄ}Šp>$”OÃr@°¿¬rÌKû±ìHé x~mMr0¼ì(Jš²Ei_mëÁS:ÆÁQˆÅà9RƒÜsÜEn…õi0ÉìÉŒR*æ52ÚãUÔO
+_x^¼ F«;±HãB@ K ®Ï*4>QÒŸÖÒ߉Òó2Hr´–˜N”B3E£[ÕtErÔW_°5Û‰1Tæ8‘—––F^Æ]Û 17Ęz-^ÿM±·~Êåç¢&804‚t^±æ¼#¥×¤ ;%Â+¢–rœ Ô³)º’L‚ž)-'â[­÷Qé(šÐ–ÜY‡;Y,bgj“¸†Ÿ³É}¶š‰RÔd+>¹Ò– g(®Î¦ÓE£#¥Ñ–oyuÀæõ-ÙŒÏúquñé‡FÏZ÷Œ °¹(…LuÐK~ÿ.¤èšIhß²ég÷ÈÆŽ&;@ -é+$Â7ÏvbF“Ì€çF¹ ;E‘îÄJ˜ Éd5œ=QÑWÖìFØ2³h%]è}•¢¢ˆP<¼FÉ(œ™"ý86a(£Í'˜’ÝgV¤X~='7@,µãÁðöÄœ7ßé I"ÝYYâ>‹\£á¹ï¹ÞïóÈŠ]£>ź K06’0‘É>¥÷8Ss±¸
+’í:OIÛS\fY&ò5¡Ý¬ÁH•ä<Ž•×ì_m}Úd^üÁÄR T&RiAÏÉ^¨±¬±”J¤‹ñá¼}ŽâTQCÜ#=;Áy óV#ÜuÖ_"ÛÝoñârÈ ‡JƒG°Qç–Ò7Z¦æx”Ÿß8"¯:>W‰ÒªQšx·oåFïþjó
+ˆåJ -ã^® rÅ+2GS¯”U"þîBbÂ%{¡2$iÍŒÙÈ[§Ú`«Š£ÞL÷„?`Ü?|~‚]]ÍÀ0­‘ZÍζÊj6Q"k¥Wd-s6’[¿?á^©\P}¬A5RšÒ‘'¡:kåføœ"E !þC ŸtŠI&|gá‰ÒÓ%¤´’«IŽÖº¥ç92‚Y$ÓÏÅ2{¢ô<G™Õ–äh­Ìž(í7?ë8V­öÍ¥æ¸#u¶huÞÏíLI†N>áu±£ûÒóš:#V¾óµøҹΣÜ<ZDÖ§}Žtó³5qÞL M|\IÔLɶ¯ÌsZl±Krt—ÁÕ$ÃéyñŽs¢]s@×æ¦%¡)e\h¤«#%±VP °Ì˜¥y¸·Ý%¼ïXÉ ‡bnû R $Øîm»Fæü³äUXRÙ=l«D.KÃwqíj·4צÌ0Š+²Š"72o3†HŽH½ŸÃL. H ÌP§ØC¸¬apž|T¦¢±¤‚b[€–«ea°¾)}ílL ÅY—ÓçZ&ÕqºÕØÅãÓ\¬Õq]u²SpusUŠÉÿR*Ø®Tˆ×lå1K§²š«_»½?½)(x;TÉ}D5ÿý ýÎ;ˆ"£ØC„b*‘
+ñ§öú2¤óÚ#og™13…Çž…Ü0Ô0Ï*æߊ–XjŸÀŒÖ¤ÝIê{+Öbatm ÐÒ~¦çmäÖ6êë(¸‹ãˆw ôÿ$l©|¢‰Tfa“à+e'Jp¡MP¦âã…/Êìo4?¼T«‡fb³JÏ =0“`\’ËyV‰¦±fS[ÁNm…fB‡’SŒ^3”ßj$ÚçÊ|ˆ®Ðq'Ìç>T¼}¼ƒp{
+¡ý*×¥&]ÃÔ'ð;p›.JƒH£I¤UCO¢Û‡ÀæÚº>²a ™Wˆ+}dµÎu9M»—Ó(œ–á¼$
+X‰¾¶r3VSMy¨Ãct¢P6ÂÆ P7]ö¬Eúø )~VCŠÞĆRvˆ¾ ØôÛÌ=gm÷r·¸Và$‡„ÉÚ|µÊëŽÎJ€FÇ;ßKßúZ÷Ø÷Àf'Ξ€¹càíg 48ßw‰î ˜d*=@“cV!Æ6óÖ •)äq¼õÿÒÝ°p&zK½zÁÀEn­ÄEh„õYBäáÔž)|öË$Cߟ,ú.wÂ^Ü‹K󧤓0OïèܪfŸ]§8¯‡% ŒëIì«\ˆ‡’4Ž°Çæ&%C°›g}¯…J00ÏJÖ2÷û{kiWlM±jG·k¬ÇDÙð¡ZéwÒëþ€‰Í¿<–𺚻~WJ,wþíBT6È
+h_Þ´FßG؇/?K}›‰Ò“§8žjr¼ìd‡àŠå(4N«åÌ7SÚ??¸Ó¶Ùîš(⬱“ÒN¶INØþ">ÕF"ܶT¨6ã1½FŧŽ^t†iM¯è$#müôqÛ¤ÕN8óGÙb=
+¨œ)µ×èúô²ÙG__Üÿ8¾/ÜÖ»†ù˜l¨o‚Åóck–ÿŸåHÔ±¤ž>Öô4R¢õ°ƒã•~‰ñÙ×Âè$¥Œójóô{Ãà“Ep§+Ž Ü@hônÚÚá>{÷ _ÉTLk [ûÛ¥%ÏúXå¤O¯IuœMj‹:FJO€À3RÉ5ŽFJ/͈—êì]ÿVx<¥²s
+Öòr\rÈŒ•¤Š%ðFBg¼ëTþJË|.üá
+endstream
+endobj
+3945 0 obj
+<< /Type /Page /Contents 3946 0 R /Resources 3944 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3569 0 R >>
endobj
3947 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 3945 0 R /XYZ 78.37 808.885 null ] >>
endobj
3948 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 768.829 null ] >>
endobj
3949 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 757.87 null ] >>
endobj
3950 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 413.163 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 746.912 null ] >>
endobj
3951 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 402.204 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 735.953 null ] >>
endobj
3952 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 391.245 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 724.994 null ] >>
endobj
3953 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 380.286 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 714.035 null ] >>
endobj
3954 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 369.327 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 700.623 null ] >>
endobj
3955 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 317.522 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 689.664 null ] >>
endobj
3956 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 306.563 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 678.705 null ] >>
endobj
3957 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 295.604 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 667.746 null ] >>
endobj
3958 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 284.645 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 656.787 null ] >>
endobj
3959 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 273.686 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 645.828 null ] >>
endobj
3960 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 262.727 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 634.869 null ] >>
endobj
3961 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 251.768 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 620.001 null ] >>
endobj
3962 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 240.809 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 609.042 null ] >>
endobj
3963 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 112.291 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 598.083 null ] >>
endobj
3964 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 101.332 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 587.124 null ] >>
endobj
3965 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 90.374 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 576.165 null ] >>
endobj
3966 0 obj
-<< /D [ 3918 0 R /XYZ 81.145 79.415 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 525.431 null ] >>
endobj
-3917 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-3969 0 obj
-<< /Filter /FlateDecode /Length 2428 >>
-stream
-xÚÝ[Ën#»Ýû+ôÃ!«Š/ 0`¤ ܵwA¶É*ÿ¿ ŸÍg·š¶&7[êæéªb½YÍ™¼üëÂÝÿ¼]?ß~>¤½³F \>ÿù&.ÜýLÑE+Á¸—Ï_þþ7ÎÕçÚÆ4ïÿøüó{0õóaèb˜U
-M#@0‘8§çðˆ(QO(’œ 3Š”<G× z¤Ž¢Ÿ!/Ö­÷Ðjµ¶ õE2-e^K¿8—âŒû[;¸½ÿ@Äð)~‹¿Qþú•sñË?oûÖKôQßH“¾Eºâ]þ·õZÿ õ>™ü4÷­{²ºÅÏþïr—” ÛÄçJóþƒˆ¦ˆþ
-x¢Fý¨¯«ë“ëÇ×ÑŽÖÕ¬‡¨CEsãç^Ö¤R2 b‚‘¯y½*:
-¿6]¾kžá1êqÞwu­÷}Ýš‰˜ð‘y²OkûÔ"Í÷aGŽÛõÖþ=ᇼW+ITŽ9Bx¹RJ|@íEŽ˜õQ´—_á¢äp9“Ú5ɵH­}Ïõ]<zûIÏ‹l€é)g'Ë”LÕ#-ÙÖÇ*ÕB0#vÐd¹¶-Ò—‹Ç
-C°SŠh¢é¥Ù¦STâ®ýMÑ-o­|ãíJšcºì™¤ µÚL qIx-Ðë:å‰o1gx‘ÍIm‰iVu6ßL6×!ýî̲öÑÉ>ÕŠwKŽ%í ráE™+ÍHš¨z̓wHKÍ)1¢ÔG¹9@¦ÊÛ½L‚ú+r(‡Ã½!¸½J‹¸ˆR"
-é°Îš3Õ“ó„áyà801±‰„mD…¸­tâx‰Ý*ýxû#M©SÙ”´Þføò°pí–²[ßÝJtË¿’¦©¦ C<TÍ€ªš7žV_·E솵L¾¿­.'HH\òÂXRÄnÎüÞ²¹¶*[Âã!:¦œU{Û©¹U[ꬡZóÈ]ñkëYUikN]£âmw`¥^ž@·8¶Íximy–JÛ&µ·¢©©wñÖeø¹ÞÎÛŒïP$3\ô(yC‚=ÖûXëFÓbŠÞ¥Kø¶ÕGÜ àŒƒü&7ˆÄǽ-Ü´°Ù¸Pwô¹õጘ>È"“±Ù\ª’IB¶[½t‹ê‘'÷/759ÙËÛ‚É¢ƒwîÙ€š9ø³%xvð-ÒK“ˆG“J5Ðy§¸Q""œ)=“ÙÙÂ='"-ÒïNDvŒÿù$„»KÜLå½V€wH_.[ÈyKvFÑbaÛ!±š]Ý^äÁý²sÌ -PkY™J*ñÒ§!ç¢QkCû—Ò}©“å¬$ÛR¤FßÆû¼Ä¤ª½A{ͧ蕷Y-ÊHã8M™‹ì)ç6]sú¤dgþ [­º}«ÝMþäSã”ãµ"¾CZ*ˆÜôP‹wƒÍ¹äx&©¡DÓ¨1û'iG¾· ù5!·½¦SÑ-‡l#\¾š“úõ¼åHOŒøT/Ow âIw‡´ds*^-rái ©®m¸< 쀴cG‹Ô¹Ä–ÌÐ*Ž¿×¨k‘ x¨Óq}ÕŽÑZæ–Ψ?› &ê;¤Šúâ{¹,-çõÁ»‰¢7pmü’=’Á÷s'q£Ë,ïAO¡_©Ç»
-†^m–£1L*5“þÙ¬2K¿E:¯;C+òØã¢F¦±xkU+V͘9‘P7'‹Ë;ódÎBHgDý“¦ËcßÔ¶²Go*ú­Ò½•@¼Ç ¥¦RX÷Ø© Sá‰Ó“k¦pÎî–$=©‘]骆­š×ô#åªjŸêZš6³+eì—†KPZfìÔù,&ùÒÊÉ4]Z[9©W•?HŽÙ±Íï/ÒW§IÖÖÉeGˆšYm¦üš5GØ"ÁGìY ¡ã#¤duyÀ‹……ni9Ùá;«dSB¨ÙÙOPÚ9Ömªð ˆzJÂ-ÕêoÕ/šqa§†(×Äß"Uqèe¦!ãóIk¤6@­„Ï©Œÿ&»‹ÜýÎ.pÉS#À¥Ñ˜éË='&&f-Ž{uH_§È f¨ÐnÙWw¿«§hvÿÙü6sÐ" ­aÉDs†ª`t©^{J{:¥Ù2îÏpª¬úدj!¸z”œIìlNš%Ö"µ}®±ñŸ:?X²ÃœhT£oÓNÀÑš‰â‰·³Çã°Ô“Û¼ú×­ÀåÄ8:Á°G3+@—¼“™ÝkÉÜKÿ­œ‹å䱕8]‹ÔÚ¯…zÉó^¸“‹û†¡±Ó}0³}šÑÔÙ-¾Ð…dcU‹I²×ÒMÝ$’b4˜qÞìúî­=÷7íÖq}+¬`¼Ä—•w òYtŽ¥C8ž.OÞŒxZ`•“éÍk<}Ï¢>ÿR‰&´f@sO³6ÿß!ÄÏ™$RoáÞóõ_ôJ10zjÃ8±a!%C˜úÞŪCú? D ÕèÍù>jÊ~;¤× †Ïí3å/¯9cˆl|ƒ
-endstream
+3967 0 obj
+<< /D [ 3945 0 R /XYZ 81.145 514.472 null ] >>
endobj
3968 0 obj
-<< /Type /Page /Contents 3969 0 R /Resources 3967 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3945 0 R /XYZ 81.145 503.513 null ] >>
+endobj
+3969 0 obj
+<< /D [ 3945 0 R /XYZ 81.145 492.554 null ] >>
endobj
3970 0 obj
-<< /D [ 3968 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 481.595 null ] >>
endobj
3971 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 470.636 null ] >>
endobj
3972 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 459.677 null ] >>
endobj
3973 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 717.686 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 448.718 null ] >>
endobj
3974 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 706.727 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 324.486 null ] >>
endobj
3975 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 695.768 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 313.527 null ] >>
endobj
3976 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 684.81 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 302.568 null ] >>
endobj
3977 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 673.851 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 291.609 null ] >>
endobj
3978 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 662.892 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 280.651 null ] >>
endobj
3979 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 651.933 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 269.692 null ] >>
endobj
3980 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 640.974 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 232.059 null ] >>
endobj
3981 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 630.015 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 221.1 null ] >>
endobj
3982 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 619.056 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 210.141 null ] >>
endobj
3983 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 608.097 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 199.183 null ] >>
endobj
3984 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 597.138 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 188.224 null ] >>
endobj
3985 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 586.179 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 177.265 null ] >>
endobj
3986 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 575.22 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 166.306 null ] >>
endobj
3987 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 534.595 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 155.347 null ] >>
endobj
3988 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 523.636 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 144.388 null ] >>
endobj
3989 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 512.677 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 133.429 null ] >>
endobj
3990 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 501.718 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 122.47 null ] >>
endobj
3991 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 490.759 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 111.511 null ] >>
endobj
3992 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 479.8 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 100.552 null ] >>
endobj
3993 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 468.841 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 89.593 null ] >>
endobj
3994 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 440.17 null ] >>
-endobj
-3995 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 429.211 null ] >>
+<< /D [ 3945 0 R /XYZ 81.145 78.635 null ] >>
endobj
-3996 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 418.253 null ] >>
+3944 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F65 335 0 R /F74 337 0 R /F81 377 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
3997 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 407.294 null ] >>
+<< /Filter /FlateDecode /Length 2574 >>
+stream
+xÚÍ[ÉŽ#9½×WøJ#‘Z‚tÙn ÏykÌuæ4ÿ­¡rº>8ÓvHIQäIóË/üòÇÛç=…º8æ4hyùüÏáð‹¸ÇÐ\ŒŒkqùüßå¯_œKá_÷ëO”ÖBùøÍ9Ü8×ÎÿOþJŸðé_PÆjà\ÉëOˆ!M’þ¿¹§Ïš_ÿýù§gÇHŠa8Ó#;ðÌshDã$DXmclcJ‰ôÈË&Ë ¹ÙÌ`~ÁïëOi¤a HY´â
+yWÈ×Åâ³{Z'=/£{Æç<)(*jÓj¢ÌÅS·hȼBâUÚB»­°†±6".Œ*á™çÜ÷ÆÖÍ-ã±,þß6fÛ½LK:&¸.»b ™óô”1ˆ,~—wAE5áUl(ª2ÀƼƒ~rülx"]Dòìä)á4Ùˆ4iDÀÀ‘]%+»*Š#SPÌr1R)ì¢ÛoÄÖ6°=SáÄ5Bßò7°Í>’gÔ7¥A”LsÜÛÂÍ
+» F1Y¤·¡´äB™r0©Í¥Å¼Å±)øYÓì¡{2rxð–Ìc3ØTŸU£yÝ®8:ð`Ë+ò™
+¾ÕÿýÃó¥ÜE2gBË—æ5¨˜Pv“éÃËÖÜ%­ð쥽väÅzù4ÚοfÂÀH)Êb®?¨_Ù8xâ×ÓÍß'–ÞÉb@.›à³<Q÷ì îÛ7"ž#Ê(ë¥7~£Q½Çff :É„s”ÎôíœÎ¼®”Õ#¥røÂΖòSÖt@Š–ªWKdzȽɌÛ;EéJlÏ“ÝÑÛ;·íÞëÜ.ê[ IªûcÍD;B…÷¿øáÀÀ
+Š!tk õ”Îœ™]Ë^“A;Á€”Á.É0RêOVáSÖxàEÄ\r¶Ú`;a,fOl`¶äªÉÛ¹£½Íã‚Δn½Aÿ \çmôªf-g¨isUkší)l“#Ö¢f)PN­¾w—%ÖŽI®H‰åšÄ=¥á„_´’LV|:ƒ ^#g5Ñ}á¥ö0PÜ{n5®ÚãÇ&Š¨¤lôšW%òéŽ{ç68¿O ÿ ÖÔãÚJeLP@سüoÁ[Ä×$*|6hˆ¾¡ð1 ÆÅ@/ †/Ä@éƒ Ÿ(Å£¹
+c´ô£’î Oš ð\L”¢C Øzì±g¶4W¹U¹Á1¥Hg#çäöò‚›(í¸•Eî„õÀyv ñÿw=%à;pe‘?n˜FMñwüþzJ•¿ÆÙBu6鄼RM@M<Ê;³jUÊi¦¡ôràf½ ”è}Ë éؽ++˜Áz.GW–nÖð>·î}’b\mJ ¼Í•{
+Ž.µ8 3Í{=* £áY„\”ß:o9èËùÂÛrÇx“SW‹¿r²5úW:ËÖÃÏãT:úˆní¸’4§1ÓaÒÝù‹„œˆ“©Ì*Ta_7Y㊞[¼,7ƒ¬Ù»”‡[4 éãŠv*¸tw(-(r®æàúuXXÔŒ•Œ;Òa…¶E3=¥I:ñ¢VÄ[¡¼4È„œ²Jè–Áò@ >Òýsrª´Y^³/±H´¹Ïêh†YªËœtY•’WžîÇntò‘ ¢¿d!Ì1éõ´ÔÀ„Jý‹wRã£ßv4Tª¼.âóR¯ãsF¾)(±Ô¾³³9}e;‰d…fF™‘ÒËé^ ¡€«(ŽÎ¢R;D #¥¥ô–’aÍ’hÛ/7¯{¢R%¹Œìê;ÑY¦8Ž«†½¦SF)H¼‚PŃi%yËõ^BOá¾)°†¯D¹öÅw/^ûPø]12QJëjUÊ¿ßjÓ×èز?¥¨ÅõmÜíZßVÛ: c$xå¸iˆ"t×ÙP¢ô+enYÀ¨±ÍÕq鯧²/ÓÈ¡”½°lî÷j¨á3fcYÆOh-“3~Š‡Ó.ÎÒþÅwÇÈ'¼ðâa™\î iÄU§‹Æ09c­ètÕš{J}Ek.ðç
+&飞oc冮(ÍYØ…C:ý.TËݨßÏYE…1/‡!Ôš):.Êîèæá*”˜I8yöbQ¶´§Zf«í/µäÐ*¼”õ‹3z阼e½7näâ¶É߈}Èטa<"Óþ±ç¯eßzJñú‚)ÃY··Z6Ýt’C&ØÙ]ƒ[ß¿µuÿ¦ý:ÆVÈ=bÔŠÎ-·eC×
+=RRàÙHaÇìHßF6‡Ã¯S
+5³½¹}jDÜKI pÀ¬0” ž½ e(ÕJ4=F¹Î•·Kg(Q4_=Å`³Ì°Ûko8³D@µço1Eƒ=¥Ú›¹…ÇÇ|&j€ì‚¦ljPµ8NÜòž5Wá†Ëç«iÃœîçÏ­nA¯ÊJÒÙ½ZåË^O¨‡F&o¦ ÷`d#è;÷lòM­d mxD*`­ g ´ÒvZñîd½ð·Jô2Gz óˆ8ß?OsÚNã+NïÀR ¡-Aw±lÝ e|nžŠ§{­Åg Dë~G‡7º!2È_2ÅÝp—´¥Ñ5‡œÛ¡6©-
+ÎTjqcÛnýx%´fŒZÖî·m×$3BN+g„DfùÌ_éüµ•Â’Íê2(qÔVH°S+z|nîmãQw*C“¸PµÎ[øa;Ž &¡–RèlÓ£ïrBV…ä`6Þ‡F0Çù .æ‚/‘\W»=}RIµóƒL4hûTVä(–˜hW)wn­ð¼íÀz„ g¼‹P¤“Yëª(½³3[ÂA(<tZ½½½ä°ûZoÖwïÝÂj4^¬Ð ”ÞºömÄ[Šw($Ô=[wËÝí¥s¤¶84à¬ëXEH|/‡/þ !­ˆr9u… šº6€©8~¬E¶¬‚ ¡%¢þ©Î'œÇÆFJki î­K©Ð_s(!ÏÞ4‹±u„öÏVk_{^H>Gïq³Qv{O´êÉl¼Pc/MûÀ*»S‚ŸYÖ¯†ÄoÔòoUJß½°¿6¹ª.P0IüÎA¿ˆ‡öd¡GJߪª/Ê
+|羆¿±gÏY¦¤"mW-qߢ:öŽŽ£ü¨Ž¨ ‡{Ç?ÕÑ¢ÝhäÉí©ÃNæÀz˜{÷Š|q¬‰¾Ú¹ä=zBÿ€> £™Kž \’¬'DÙÑSéváÒa¯€ãLh}‘œ¹z i=SÛtŸ?þ^"•
+endstream
+endobj
+3996 0 obj
+<< /Type /Page /Contents 3997 0 R /Resources 3995 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
3998 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 396.335 null ] >>
+<< /D [ 3996 0 R /XYZ 78.37 808.885 null ] >>
endobj
3999 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 367.664 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 742.926 null ] >>
endobj
4000 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 356.705 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 731.968 null ] >>
endobj
4001 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 345.746 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 721.009 null ] >>
endobj
4002 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 334.787 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 710.05 null ] >>
endobj
4003 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 323.828 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 699.091 null ] >>
endobj
4004 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 312.869 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 688.132 null ] >>
endobj
4005 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 301.91 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 677.173 null ] >>
endobj
4006 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 290.952 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 648.281 null ] >>
endobj
4007 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 279.993 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 637.322 null ] >>
endobj
4008 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 269.034 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 626.364 null ] >>
endobj
4009 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 258.075 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 615.405 null ] >>
endobj
4010 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 247.116 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 604.446 null ] >>
endobj
4011 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 236.157 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 575.554 null ] >>
endobj
4012 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 225.198 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 564.595 null ] >>
endobj
4013 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 185.014 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 553.636 null ] >>
endobj
4014 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 174.055 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 542.677 null ] >>
endobj
4015 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 163.096 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 531.719 null ] >>
endobj
4016 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 152.137 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 502.827 null ] >>
endobj
4017 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 141.178 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 491.868 null ] >>
endobj
4018 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 130.219 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 480.909 null ] >>
endobj
4019 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 89.593 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 469.95 null ] >>
endobj
4020 0 obj
-<< /D [ 3968 0 R /XYZ 81.145 78.635 null ] >>
-endobj
-3967 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 3996 0 R /XYZ 81.145 458.991 null ] >>
endobj
-4023 0 obj
-<< /Filter /FlateDecode /Length 1999 >>
-stream
-xÚå[Ín#7 ¾ç)üe$ŠÔ°`¯í=çVôÚžúþ×J3#k¤¡Év¶Ù‹lì±çþ‰üD*
-x÷×NÅÿ}9¼¿¼ž9ì‚×wï¾èŠÿôÎ#XÚ9«AY½{ÿ{÷û7¥ì^)”2>ý¼ýñþÛ‹J`êõìiç!XküGö¶E¢ˆÀZ)<(¥¿§÷o¿0ò·ùUÿž—¯ʯ˜ó+›$Á(Åקˆeæ;BÂMŸáyþ¬ ^pB~…û-6á^^Ù‹´§üÊ<•_EÁÄ»â«Év+W|àV J~°Üç‡`Áyl‘ðûEÖÅɪ“õ΂ôbõólÝdÑÚºñ7Þ¯¥  ÉˆZÒX´ÕHe5î£[Gúå'^¥¨-&«„*òб;r3_î˜ïOQºŽR­OæïÿL~ˆßtÃF:šNZÏfÌÂ5îg©’Ät(šMÑtZÞûÙtØÚæ¾ûãÔ_;@dI:õéϤm‹”ä·a»bÒu<¬#€SN ¢aŒ†A”´¶ÕÁò”ƒºtp›©ä­Fj^ËvÁœò¸œ»òw »Íœ[»¡›ªûÆ,gƒQN²\ÌÒ#–k’Ü:z6 %91Œ‹ï Iühì!ñk¤bö:p¯-HÚ—T´*%ü¥‚*”Ñ’è¬^»:Öñ)ñ&›IaRŠî•âz£8× Ö¨Q8FvÁ~(Ô@uà÷%’t%Ó(‹³‡YŒ–T3aLµIŠ.£çDHn=Ò4¨k ‡¢”-èˆÐ å4ÛzT*ŠßÒF *¼ Ò(‘F‘®˜°*Ƀša
-…dÏà´—¬ßK!³õk¤Ynº°'û ’³’ð½2 _­dçQ‰ Ò¢H„*Ùh€¾
-ÌžP¸—&-×@°g©Y%W÷²N>‡{?È®™4xoDãú!ãÖ@Ÿ+â9(šQÄ@í$p‘ñ#q‹te»2(ñ,JGc+»FêOKU J¯B,Èb^ê¥0Yú©H_Š›ý±Û*
-b´IºõÒ•…ž5H«Þá DÞò›fL?ÈÕHÏ$Œ5­xˆ0’‹Û9 ’¾½%{!Œ ÒOBÉrÜÎJê÷ýe__=Ôñü¿ÐEŠ¦C¢ñ{ûE!Æœi‘P(þh×ÒëCeéáUC±Z±‘$ã9 Â'öLÉ ` Q>FJùÐ"I]-{0(/j0†Å€é£ˆ
-Œ-ÒgòËÊ?±ÓAké¨ëvC3Y«ö ;ηH×ØqfÆ™%óñ_`É&„˜ÅŒÞI—rŒ4H«ìB€Rºž<|šÉP*MIÂüÙ¨ìÞ±H>:éÐEö)ɮ٭·1Å1Ü9 °atêfL8Í£}‹´:) -ÅÓmŽª\½—M÷l½?nô2Ûù [ Ûr2p'E»¸Z%é§Ç'¬%‘;iÕ%k¤'ìU X4¢l}¬c: jƒô”½ª1&òÑÙÌ"—äiåíý§•ƒN±(½Â6H8ìe­Á‘½ÌCľAúÃȸTÁy'ê6v¨Aº{׌>€G/úÝ ¤û%r¼«RogA[pìZ¤F¢×³æ]j
-aZjån"cÚ¡5Ê9cß¼ÉC¯Gq‰Vû÷|…ìúåYÎN°ùYŽ¤gicc®Ü<-UÄ|*ŸökvÍ·4Ð~šÁ7 ©pÎB:ÌBæ+f:„5_uªýt>š•ßMÈó|¸«\™6À›‰àúV}\—üùYi1.\Žž-’—¹"®¿Ãq‡5Ý–W%-.ýÎô®¨;­ÙåÁy”\)vËCÄt°cª› ¸»uDí]KôÜ|žÓbÁß<ïãgÆåCjãvö£ë"x=ˆcœ×`o-¯¿©î£¥t:‰˜°1ȧùسžÖQKdKé iÞÛQ˹°Fê;Ì°ê&o÷ðøØaˆ+ŸG
-z¨ÛÛÙ\½¸¥˜Õ@ÅÿõQ‚y»f\‰‡ô¾'>,ÞwÄ!Ǩ=¬ct¸ê£v ëaàÅPû±¸ª‘®ÇUÚ?¥úcì’pb{jP¥¨g„YÞÞYÖ£Fêé°o3Ö{¹¥2cÔ8et=è»Xhìï
-¤¦•a—CŠˆº"JѽÝéæU45D–â[›gS,žYrjš—¹Cî Q˜:
-endstream
+4021 0 obj
+<< /D [ 3996 0 R /XYZ 81.145 448.032 null ] >>
endobj
4022 0 obj
-<< /Type /Page /Contents 4023 0 R /Resources 4021 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 3630 0 R >>
+<< /D [ 3996 0 R /XYZ 81.145 437.073 null ] >>
+endobj
+4023 0 obj
+<< /D [ 3996 0 R /XYZ 81.145 396.227 null ] >>
endobj
4024 0 obj
-<< /D [ 4022 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 385.268 null ] >>
endobj
4025 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 374.309 null ] >>
endobj
4026 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 363.35 null ] >>
endobj
4027 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 352.391 null ] >>
endobj
4028 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 341.432 null ] >>
endobj
4029 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 300.585 null ] >>
endobj
4030 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 289.626 null ] >>
endobj
4031 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 278.667 null ] >>
endobj
4032 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 267.709 null ] >>
endobj
4033 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 256.75 null ] >>
endobj
4034 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 245.791 null ] >>
endobj
4035 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 204.944 null ] >>
endobj
4036 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 193.985 null ] >>
endobj
4037 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 183.026 null ] >>
endobj
4038 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 172.067 null ] >>
endobj
4039 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 161.108 null ] >>
endobj
4040 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 150.149 null ] >>
endobj
4041 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 139.19 null ] >>
endobj
4042 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 128.232 null ] >>
endobj
4043 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 117.273 null ] >>
endobj
4044 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 106.314 null ] >>
endobj
4045 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 95.355 null ] >>
endobj
4046 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 3996 0 R /XYZ 81.145 84.396 null ] >>
endobj
-4047 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 527.733 null ] >>
+3995 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R /F59 346 0 R /F84 425 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4048 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 516.775 null ] >>
+4050 0 obj
+<< /Filter /FlateDecode /Length 1924 >>
+stream
+xÚå[ÍŽã8¾×SäV-R¤~€FI§2Àœë¶˜ëÌißÿ:’mŖ̤Ä$…íÁ Qı>‘ÿéXÇ¿6ÿÿÛÛéãíÛ…ÓLŠàððñçlþ‡ˆÆÓ!x0ÖÃáã‡ÿ~·Ö­ )¿²µôþãßßlËPß.‘Ñ$ï]Üâ
+V³¾»ú^ºj:»ý}rt_íd]íak#.¯Aš×JöµFQF u‹ì¬V¸ †‚˜%æn‹p[ U¸f÷EAKå»`—æ87žÀeEâImÐÉ0“DÝhV »EwK’)©‡h8±Dýh
+S©o‘Vê×àÖr ‰ãšTÏ©þsÃãy;ªÒ³©z4Ôz0NÞø$Šœ®é^™0¶iÅS #G6¢ÈoT%ŒÒ?$aä@&È
+8ó™ ï€V‹âO,ê_œ.rñKDáf7œ‹bt=
+Áý–z85’V[ £‰„¢Õ¨òœC2že¼L`bÃö`F6§1õH›Xûá
+èóˆ-¼¬£æ(oEÏ3ÚQ«¾°E{˜aÓM<ßïÝø~øaˆß«5Å…ü’DOͪhÖ!­Ð>L0l.¬Q>hˆÇÇr¨ZêO[-UÇ}—õÂË‚"b5@·õªÔO%þ8¿8ܳ؞RrlB;#¼Ú‡Ó±Ñ"tØ÷žÛZn‰ÌzŒç9bÉ„vÐW%4šEW‹h‘Fγ؅_f E#Úˆ(éö¾Ò­645D–à»®½Uͳ[%^³äÒ&tU/k‡<®‰ÂÔ¸QÙK”=œObr&¶Îr&󹨴¶Czœ¢üÛ©f¥h´
+¨µHwüAœét$Í~óFV©à#ç*1±Ä‡²vènûƒM ¸½î-ôÖ$çE~u3ÏiðtöüëZÐH9Å AâÕ)­¦EzêqÓÒ ³Dª¢îZ¤‡Oàë:2ˆÑXYÙXw
+"oGo-’¤› Óêý6Ó1~üg @Ö¸%>”yQ‡ôp\L†œH®iÕ½2*¿ðg
+endstream
endobj
4049 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 505.816 null ] >>
-endobj
-4050 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 494.857 null ] >>
+<< /Type /Page /Contents 4050 0 R /Resources 4048 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
4051 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 483.898 null ] >>
+<< /D [ 4049 0 R /XYZ 78.37 808.885 null ] >>
endobj
4052 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 472.939 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 768.829 null ] >>
endobj
4053 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 461.98 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 757.87 null ] >>
endobj
4054 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 451.021 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 746.912 null ] >>
endobj
4055 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 440.062 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 735.953 null ] >>
endobj
4056 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 429.103 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 724.994 null ] >>
endobj
4057 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 418.144 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 714.035 null ] >>
endobj
4058 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 407.186 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 703.076 null ] >>
endobj
4059 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 396.227 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 692.117 null ] >>
endobj
4060 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 385.268 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 681.158 null ] >>
endobj
4061 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 374.309 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 670.199 null ] >>
endobj
4062 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 363.35 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 659.24 null ] >>
endobj
4063 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 648.281 null ] >>
endobj
4064 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 637.322 null ] >>
endobj
4065 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 626.364 null ] >>
endobj
4066 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 615.405 null ] >>
endobj
4067 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 604.446 null ] >>
endobj
4068 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 593.487 null ] >>
endobj
4069 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 582.528 null ] >>
endobj
4070 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 257.746 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 571.569 null ] >>
endobj
4071 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 246.787 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 560.61 null ] >>
endobj
4072 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 235.828 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 549.651 null ] >>
endobj
4073 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 224.869 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 538.692 null ] >>
endobj
4074 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 213.91 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 527.733 null ] >>
endobj
4075 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 202.951 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 516.775 null ] >>
endobj
4076 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 191.992 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 505.816 null ] >>
endobj
4077 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 181.034 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 494.857 null ] >>
endobj
4078 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 170.075 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 483.898 null ] >>
endobj
4079 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 159.116 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 472.939 null ] >>
endobj
4080 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 148.157 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 461.98 null ] >>
endobj
4081 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 137.198 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 451.021 null ] >>
endobj
4082 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 126.239 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 440.062 null ] >>
endobj
4083 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 115.28 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 429.103 null ] >>
endobj
4084 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 104.321 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 418.144 null ] >>
endobj
4085 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 93.362 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 407.186 null ] >>
endobj
4086 0 obj
-<< /D [ 4022 0 R /XYZ 81.145 82.403 null ] >>
-endobj
-4021 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
+<< /D [ 4049 0 R /XYZ 81.145 396.227 null ] >>
endobj
-4089 0 obj
-<< /Filter /FlateDecode /Length 2095 >>
-stream
-xÚÍZËŽ¹Ý÷Wø¢H¤ž@£vÜ`Ö½Ìvîêþÿv¤Ò[EÛEwNœ²tê”ÄCIR˜ÓÿN2þýÇËùóåçÕ„“Á+„Óç?/ê$ãuò ¬>9«„´êôùÿÓ_¯RÚw) äÕoþù"X„úyõúäE°ýˆ£ŒZÙ äÛ&~3¦~ÓÝY)1~ì%þÿ²o3|ƒÖ¯caûûƒŽ82}oOmý¦>ö8ýWª ÙÞÁ}|g¤P(ß!ò|7#ußAÄ´aï›ôΓ/âíãw{$°ø…i¡4R¶éžm35.0r61ŽÚµßBýA¦à…Š;ì¹Çû‘`…r°"%ÿêä÷+—‘rÀPŒ¢,F3’NQoT¿òÜÀsÂnãæWóë¹´ i$Åv×q4Ùiô¤6x­6sí•V€µ”½‘×!{ÑãíŠTG;K´o|eñÆ9óNüíGŠU±Áçßõ™i‹ F t¤-ï,[¤ïŒþ¾ØY¯ê@Ù‹g6"’Ý!P]#4‘ å1ôO¯Ö¡@Ú\Ï ïT-Êë2—“¡Q‘cÎðb° }%ï¿/F 퀴Wó‚0#=½b[[)$‡òÍH)g§,Íçô© ·yýñ8
-Ïõ7\c!cÈÊÔ Òqu“ÔÑݾ¾ÍZièe&ud'5”2‡'WÛwº a2H}\þ|A‰Yå… {½ð~\ÁTïÏHw#¸e ïÌ•Ò ‹–â}TçTÞ3Òo¯,¯hûÞ_«FÂ%ü•Š VXç¨XÕ`% RÅoÓ\Æá”'¹¿ó¸ÏHÿ*Ë8-9EWœÌ@Og:cQx©HB²Â·"=ÏÈ€ðÈèT?qõÀˆ° =ÏH+á=’Œ²>YÚ£4éSäY0#Ý®ŽhJÁYµæ;Hï0idÇïá˹̨Í#sÙQ%Q}1#ÝöEtZÉù×>Ï9¾À¸¶CBH!"¢Éë}ú˜òïåk¾‘ZÈý¾
-?1?šé£.†°G‚¬úÇ­Î…{ùtÐ3²½ùçU™S*‰otA ;i—O蟯µòÛD$¤gõ×\ƒ·¶aí=¬1åIŠCªóoõh3öB¾KŽmSfÕ9Öئ5ã¦çÆ2ÖˆÊËû5RxV¤®qŽDÕ…}TmÄ´)Ö
-TŽ3ÒÀÑ~Èå«6”äÊtx[¤p›‘fÝ;Žã\ëÑúxß®¯dyFqí‹ujrý:ª1ª}3Rç}¯R×®p/U˜cÇ'­ûÞ‘ü5ÿŒ4ð/ZwËu”Lžk žGÈâ¹ <‹òÙÆÔŒß×Ã5›=—ü›åÎYŒõ„¶²ç¨š©öÌHÇÆ ¡òg¼Xâ ÓµSo>gª·€zÛ[~÷š5“…œß ç.]ž†ò§©÷(´Â¨Ý›Ò(ß,¹”UjD9d¼û¨ „2¸"Çõìø×¾…±g²-·ˆÆ1-¤7;8ž[A{a¬¿KªeçK¯!ê-0øÚÕWö¿ÁìÿZan>*ê­új‹D1F%‘qZßÉ¿YQ䣢ÈOöµzQmµ–…¥³·7‹6ûÇó‡Ä)+–©N*#ÓDG¶¥§OÌU,õÒ»‰*Þ«K/¹Õ†wÉF÷· ñk†(æ]Žúš¡ÓöÄÙûÏaâ‚2[Ìwq2ظªÌ l½‡Z Kh#¼ê¨kØŒ4œàŸù ÞˆÂzɯ9*ïiŸKžÞ¹B
- nÊöIÈ‚4œK=¹{þÌÍéá…áƒXÝq_ůzªf¤á¼žÜìÏñ<T–¥òt¥Úܬ.ÏÖ5ö`ºY€Äs¼*ª¶ÎHÃY–ï ¤y´}Ò٣ʟí–î-OÏ×ó¤t~¹ãr+¥1&GYzø&h±tFn¨ýY›V=A‘ª{ýj4¿á–L|(4qÓį‚ª3ÒM†¬dp%´ äH4<î3yªÊà¥R+Š•æ±q¸³£ŸÃ~ó¬ˆ*Ç—S û@c2öÁÖŸ*Ñ5ÁõR;)ô~äþñùò/ìàœ…
-endstream
+4087 0 obj
+<< /D [ 4049 0 R /XYZ 81.145 367.335 null ] >>
endobj
4088 0 obj
-<< /Type /Page /Contents 4089 0 R /Resources 4087 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R >>
+<< /D [ 4049 0 R /XYZ 81.145 356.376 null ] >>
+endobj
+4089 0 obj
+<< /D [ 4049 0 R /XYZ 81.145 345.417 null ] >>
endobj
4090 0 obj
-<< /D [ 4088 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 334.458 null ] >>
endobj
4091 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 768.829 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 323.499 null ] >>
endobj
4092 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 757.87 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 312.54 null ] >>
endobj
4093 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 746.912 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 301.582 null ] >>
endobj
4094 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 735.953 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 290.623 null ] >>
endobj
4095 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 724.994 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 279.664 null ] >>
endobj
4096 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 714.035 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 268.705 null ] >>
endobj
4097 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 703.076 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 257.746 null ] >>
endobj
4098 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 692.117 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 246.787 null ] >>
endobj
4099 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 681.158 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 235.828 null ] >>
endobj
4100 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 670.199 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 224.869 null ] >>
endobj
4101 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 659.24 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 213.91 null ] >>
endobj
4102 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 648.281 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 202.951 null ] >>
endobj
4103 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 637.322 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 191.992 null ] >>
endobj
4104 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 626.364 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 181.034 null ] >>
endobj
4105 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 615.405 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 170.075 null ] >>
endobj
4106 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 604.446 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 159.116 null ] >>
endobj
4107 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 593.487 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 148.157 null ] >>
endobj
4108 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 582.528 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 137.198 null ] >>
endobj
4109 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 571.569 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 126.239 null ] >>
endobj
4110 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 560.61 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 115.28 null ] >>
endobj
4111 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 549.651 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 104.321 null ] >>
endobj
4112 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 538.692 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 93.362 null ] >>
endobj
4113 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 527.733 null ] >>
+<< /D [ 4049 0 R /XYZ 81.145 82.403 null ] >>
endobj
-4114 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 511.793 null ] >>
-endobj
-4115 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 500.834 null ] >>
+4048 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4116 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 469.95 null ] >>
+<< /Filter /FlateDecode /Length 2284 >>
+stream
+xÚÍ[Ën;Ýç+ú¢H"õ é´}»În0Û™ÕüÿöêYz±ÛŶ ‚JÛÕ¥S‡)>$Ka.ÿ½Èøÿ_ß®¿¿ýx7á‚"xúòû?ßÔEÆêâµ°xqV iÕå÷ÿ.ÿz‘Òþ”Òèöùúïß“ ,Býx÷xñ"X ~ÄQ`„ñvE‚ˆ‚7)õ{AH}ÀÈH¡¤¦Ù+ÑŒ¤’Š¬®åj mˆß½Õß}¼Òçõõ»Ñ&Éí§çÆ›À•‚P¤ü?ÏÉoP ²+RâoÃÁËŒréÎ7Jdd¼°KhndzòÎ(3Ž×vc|ºÚoêWdñášå!Ÿ!0ì‡ ÒW®iSûÚ ÕJhOû3Rçl$i\±û–¼d³&oå„Ö†äíy¼g¤Î»Ï1FTçâeoÉF;è?éc\Ç‚ý¹Ñ2Àï3?ŒNsåiÊFÔÛþîþ­9|
+À@úœ“M[¡œ^‘žŽuÖ
+JÖ—8êœß2™™ „ –´7Ãb¶ õˆm}å\n^
+Žä†<n3ÒœM¤(Õf¾dÐtÖ±?×í#ÅrஓÆáœ'­xòÍH÷£ú]å^s[Çžã…Wâ66þ3ÒÀ¿fÙ++¹<Ñ ¿›¸? Í h`Y£I¶ÝVÑúóû> Yš[ùβ=¬RQ✮þ«83Ò9«!"gzçwe.!¾KGŠÃ»\ÑïŒJ_«–S¯^Š§iÀ—Œ¢ÝK‰CV—¤!=“<-ß õ=©÷¨(‹QÛ›’gInµzU5ï–mMO÷J âº¦ ¬Èq5û®ýK/ sÂ+%øÑhÑBz³Áñﻄ cýCRm­j:Í÷b Ó&éµE´¢ÿXÛeý·¬=ë¨FĦ«<aÄ(«Þ8ÇØI¿ÙÊëGÅxÜÙëŸòÙ=èx²²töà#b–(Ëß™NoÎ=«eJ/º tÇ|ý0ŠØË™ö óÕu”Óå©Œw+B÷· ówÜf±TŽí5à|ÇÙdžg0qA™%æÚ]
+òqU™AŒg®aPD¥PkØé~aY來1<ŸÁÛƒPHÞ?y¼g¤=–<Ý ˆ•—PˆGà…»©s̃ìK_âé°Ç;45£°ÉàûÒÈ®$ÑƵ×R^Þ¼ vrŸëÖ½ºirêSu´÷s½´ReÔ<ò½/<yI¸ý/n­ÅZ;ÒRyyý‚´XÁ\729BÚz’#/¿_ÆÙ%æ#zª!î´|x°æ’g¦g+¸­½à¼š„#'ݬåÜO=˧g[{2~«$¤A“¿óqžÌÄQÅú›tgfÁ0u–Nm«ÍãÌc=²þÈhÊXÔØà…óa|L¶’Ê;éªa£Á®®¸U*7¡j'5˜ÐwóIÁL‡Ç)k .hí†^3=¥ÚGŠUî¦&:~“{~Û
+˜œ¢—§ôPÖøÒ>ÑGÚÜ¥=O²-%Åüôñ–† 5°´ò/i·à|4ãN›U·{ïmãÓûÀÑhñŽz‡¾PÐå‘TÆ
+X é9ÖõQù߯
+Â3y¸Xõìùˆ5ìÞï‚Ä0Ä­WH÷̶½™Ç~ 1^¸~„GX³üÒç솰¨Ã^ŸôK+¬öúT!¬~Ùëä—å·{þX¿JöÈZ[³ÅŽb¢†q´#“æ½É+ƒj6¾Å¢V)ÊbÏv/šÅÎHŒ)z¶‹ §ÏhŠûÙª¥ný,HÛî“W4Zäu²*Á˜ã… ièõë­Ïü ÑÔžñéýßš[3u P¸=µH:8[õ4ÌHÃ(Ù‹ì÷á:T–µòtµÚÌR×{kGÝ y‘¢dõ<Yg¤á¼ƒ÷u“å+íç¨råkØ%O÷Úµ.@iO(ïq+´ðÊ‘–mX’.Hîü¶ƒRªƒ Ç™j~Ôm6¿àäöJxãI‘'ãŒDÕ­gü¸×«ƒ=Ü©wŸ]ˆSáqþð%§<´‹åC¤ç
+tj}C[+>ÚYÀX¦ùupkô<lÞj¨^A%‹å<bîŒË=y«ÏËy?`ÖÃœŒ¦D³Å¼«n½{_µ5=¯—ÆwŽ ·5™ ½må÷PXIª,¯Ëלä>Ò9ª ”±+;ÍÛ82hf;•Ô£S‡ƒmµ5xØpˆ–Á”CF}
+°Lö *O±?[‡Ôƒä RðŸ,@™òh%ÐìÛbp¾ìhòÌH_Z
+endstream
+endobj
+4115 0 obj
+<< /Type /Page /Contents 4116 0 R /Resources 4114 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
4117 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 4115 0 R /XYZ 78.37 808.885 null ] >>
endobj
4118 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 768.829 null ] >>
endobj
4119 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 757.87 null ] >>
endobj
4120 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 746.912 null ] >>
endobj
4121 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 735.953 null ] >>
endobj
4122 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 724.994 null ] >>
endobj
4123 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 714.035 null ] >>
endobj
4124 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 352.391 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 703.076 null ] >>
endobj
4125 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 341.432 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 692.117 null ] >>
endobj
4126 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 330.473 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 681.158 null ] >>
endobj
4127 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 319.514 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 670.199 null ] >>
endobj
4128 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 308.555 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 659.24 null ] >>
endobj
4129 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 297.596 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 648.281 null ] >>
endobj
4130 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 286.638 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 637.322 null ] >>
endobj
4131 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 275.679 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 621.382 null ] >>
endobj
4132 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 234.832 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 610.423 null ] >>
endobj
4133 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 205.94 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 599.464 null ] >>
endobj
4134 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 194.981 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 588.506 null ] >>
endobj
4135 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 184.022 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 577.547 null ] >>
endobj
4136 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 173.063 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 566.588 null ] >>
endobj
4137 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 162.105 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 555.629 null ] >>
endobj
4138 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 151.146 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 544.67 null ] >>
endobj
4139 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 140.187 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 501.831 null ] >>
endobj
4140 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 129.228 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 490.872 null ] >>
endobj
4141 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 118.269 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 479.913 null ] >>
endobj
4142 0 obj
-<< /D [ 4088 0 R /XYZ 81.145 107.31 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 468.954 null ] >>
endobj
-4087 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 414 0 R >> /ProcSet [ /PDF /Text ] >>
+4143 0 obj
+<< /D [ 4115 0 R /XYZ 81.145 457.995 null ] >>
endobj
-4146 0 obj
-<< /Filter /FlateDecode /Length 2218 >>
-stream
-xÚÅ[;#7 îïW¸LŠS$Šz›ì³÷€ å¦
-ÒæQäÿ·GÒèÅõŽ|\1wÞñè’¢È-Oäéë§Ë맟^”9,X<½þùIÅ/äI\ÚœUBZuzý÷ôû“”¨¤Ôîù³Ö:þeCüë%^Pî }ÿDw¤töù×_"¾C_
-tj|aª/á’GóÒ)Ôý8˜„¡Ávôóç]"ºðºK¥Ó]ˆþŒˆñ#[-áï¨ü¼lÆ\G; ´¯Ö.=· êøÆZÝóð’ž'|úF_HÚ"_‹ºI#™YH󚳘(¬dMFHoówmŽ*eìˆ`Ò() 9Uü÷kD0á„"x¥¡Eð "¤C'”ÒûŒŸ#éÍŽ·„•Ý3ê‚'%±Úw³/Ð#Òfµ8o ýåó¬»lÿ[ç]ù©j½Í75Ñ6Z'M0z8¦‰²Â7"‘ì4Ëä{$oœ™"¯5ÐX>Á™ô)ÓÞ‡ýysMn°hM÷ögå£L;l;Æø´z²„¬êlÞöý8×¾+qéêÆ-Î#¡‚áæÑÀ±ytZ
-Ж³Ž½¬Y§Gj43w?AÕd¿§çç(º–ÈYâÚžgçOoØpÑV2jê<k«ó1[€ì¬îæ6×´€)Pla’›àu~Þá¬tJH}‚ªc‘–•ŽOPÚ?“aâ›|rÜ-,]“±a7|ÙÇ^jêƒmBŽITB¼°“µ66€Ð*pÓ¡Ã’ëH÷ö’#.jä•à×¢ök
-u@}€=–DèNIT…}C¶N
-”Š]:f)™HxÎÞš=Ë©L½r(ÝÉ]èÒë¢ô&Œ”„“Io"!VvDªélLI›äÛVÌ¡«†Ê:£þK;®úH°5ëhzMŸÉ„}j(®úP4"ƒnU'í„–®%žE§©ÑIM:-ÊV;Q­SÊ"cÔȘ}ôªlÊÄÂr²¥IE¶©Ê¦s,)Ä7‘ÔÝ»ßy®®õ´¶Wõ“±DBÇéw”èýz¤*7ÅÌ-?_ÒU²Ý–»]–=ÓB·:?&ha}`å?/É? 5òC-j‹üv•PšøŸÓœ˜zÍÅ{ FÊ[e5*;*¥þ8 …ËÐwvuŧ„sŠUǯ©Ó#óš¢+eâ-íf.c¥ð
-X¯1kò÷Hó|<.#á ë2‹Ùu@ª2¢+Ì9ñ6›‹­ÂåÒýU¹µ> ëkYt@ªr?/,ž*’Õaõu4e;.^P66~½¨ 84›™³ç€ÔÌÁÛ²ÎÅ°øÍ”#ðåX)™6Xry©Ñ`«­.P…˜ÈKƒ›ò&Þ–sú€4xAW ®Ê(­Êq2.æö©]f>niS^†\ØxsÊ1ôìî×q e[©aÜÅ9þ-
-å`DšÎOåB%¬FÖ©ò ÂI?"5§SFææÈ•Xæªìzou=”´–Â:ÃÚ
- ngªTó‰ù7DDN¸0åwŠàG9HÖq@‚7³Üì°(»·ÂëÀÉ~”›Ù{¤oäªàŒð¬IÒ"V´º>j_¯‹X¿ˆ
-ŸãÊ‘dì[iuM·ìî Â÷š}iß´+]Ú ó®w‰ù¶i£uòÜSOíÚÐ[³@nÉÝ°MiwVS»³¢Faw-;Ðw[œ“*”¨°1ÉÖ‡éÛþÉ»æçXá&‚’:± i)éoë$V¹5z3C|O6ŒõÏJ÷¶N±˜Ð?µFß’§ìïd4ùlìSS„샻©ãnÝØj¡‹Mˆ¡nò
-ÈŠ^ï70G—Rž]|¡ªš[¬[? ìÁ;5ŹZEê»Ü:䲂l¼Ê¸‘ËIåÇ&íÍU0ï’ÒØ|åî=ÊûÆ׶cÚÖ>õyÏ Ks¥ÐÖsÏr¢„ù=ûN,´§- æ%ŸÞPŽ5¹·½ ã
-eiŸR×eÝfsîöúé?Á„“™
-endstream
+4144 0 obj
+<< /D [ 4115 0 R /XYZ 81.145 447.036 null ] >>
endobj
4145 0 obj
-<< /Type /Page /Contents 4146 0 R /Resources 4144 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R >>
+<< /D [ 4115 0 R /XYZ 81.145 436.077 null ] >>
+endobj
+4146 0 obj
+<< /D [ 4115 0 R /XYZ 81.145 425.118 null ] >>
endobj
4147 0 obj
-<< /D [ 4145 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 384.271 null ] >>
endobj
4148 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 754.882 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 355.38 null ] >>
endobj
4149 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 743.923 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 344.421 null ] >>
endobj
4150 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 732.964 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 333.462 null ] >>
endobj
4151 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 722.005 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 322.503 null ] >>
endobj
4152 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 711.046 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 311.544 null ] >>
endobj
4153 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 700.087 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 300.585 null ] >>
endobj
4154 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 689.128 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 289.626 null ] >>
endobj
4155 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 678.169 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 278.667 null ] >>
endobj
4156 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 667.21 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 267.709 null ] >>
endobj
4157 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 656.252 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 256.75 null ] >>
endobj
4158 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 645.293 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 227.858 null ] >>
endobj
4159 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 634.334 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 216.899 null ] >>
endobj
4160 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 623.375 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 205.94 null ] >>
endobj
4161 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 612.416 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 194.981 null ] >>
endobj
4162 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 601.457 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 184.022 null ] >>
endobj
4163 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 590.498 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 173.063 null ] >>
endobj
4164 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 579.539 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 162.105 null ] >>
endobj
4165 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 568.58 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 151.146 null ] >>
endobj
4166 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 557.621 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 140.187 null ] >>
endobj
4167 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 546.662 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 129.228 null ] >>
endobj
4168 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 535.704 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 118.269 null ] >>
endobj
4169 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 524.745 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 107.31 null ] >>
endobj
4170 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 513.786 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 96.351 null ] >>
endobj
4171 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 502.827 null ] >>
-endobj
-4172 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 491.868 null ] >>
+<< /D [ 4115 0 R /XYZ 81.145 85.392 null ] >>
endobj
-4173 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 480.909 null ] >>
+4114 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
4174 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 469.95 null ] >>
+<< /Filter /FlateDecode /Length 2414 >>
+stream
+xÚÍZ9#·ÎçW(´ƒ¡Ébñd#kdàá…ãÈpê#ðÿO]¼¦ZÍÙl,´«m‘«Šu|,6gêôljÓß?¿\?^~¸+wBæ¬púøýEœ8ý' LãÉhÁ¸§¿O¿ž9×oœ+à\JúØËoÿ{ጠ~¸[<Yæ´–¶Å
+
+=")wyU èx<úˆŸ8Çkü®yÄnD}"§âLp˜É©Õšœ=R#ç{’ÍÅáÚ|¿Óǯ)¢þô¹Åß4¬ê#(§úàš>=R£Ï ¯×ÃËëuʺ¢¥ÿ÷º*?X&H°™ßÈ5ù{¤í~|^Fa€šÉˆïk2öHUF4ÉÆdWéýEDûjždÏWåæšÖ£ÜHö0nMî©Ê­d”ÑÛWš(«Áêë¨âwCƒ Dýx¸/ê¢b’›™.
+–tš=x,kö$^ôVeäçí¾[ÇaA
+ÑOž©¼Õî5è[ðÔ<S7ß-g‘It3Ëéëšåz¤Á n)‹…l·*£‘LÎE|[±j÷v²"úi›Ó°ñåXcüØâ·‚ikžÏù]ó­¯ÛaQV0îó{­¡3CʵˆKþ”%'å'«°V‚¡©œkla@ªrñ-Ùi”S‡<È„fF™)äyo5’L¾ù½&élôì>ÿCÑCb±ü[“|Õkˆ™gÜ“¶É‡u“sÿZ´8¦N­kÖè‘BTˆ˜3b”tõ°±“H^gpk—¬+Èmöó5ÔB ÂÑqÕæÑÆÛy{ÜÈëæ¦<aäªÝ…eÊ©i”äF7jDzÊ©·z~§]²Û„¯mæ7þ½hSn˜–SNt”Ëe_î‘žEç§%VN3m:棯1s,²¸©‰ ˆ¢èÚFHÍ•»ÔÊ–¸Ï¢>V1#ìLŸE&7 5Þq@ŸZe«>> (ϸͪN™Ñ3•)VÔh$6-J¨%³\LE\£XÒp†™çìEY0‹0“u‘Å H c}›ðÁ]žÞøÆæ·çÕªò÷YD-ó<…‚Y+§²KYl@5ñ¹ñ«øÉ—r’9À©?¯1´i´€G}jEÙ…#qÔTöƒ|
+4Äz$_UµküyQ.îL½ê ß@Ç ·#R¬ÏffU¹g˜Ne·½øúTuBgùÀÌGùA²Á€Tu™s®úÜ{Wéù¤žI}  uz6ò¦åÞ!ZøÝTbóG™EÖµG‚.3B‰wGáC["~ô{=G¶šûç…ÞÓô^ãBì-jj(^ÀÍ4=Ê9²¦=RÕt[¡cw!³àv§ò‰!ïædDÔŠrÂLÅ£$«ØÁÃ*·S%§j ¦¢¿­‰Þ#}#SE” ”œÉ%ã£GZì;á4õ¥q!é†yò€0 -3Á¤TS8XÏé<&‰ë HÕv« Îä–Ô‰ŽUigˆXØèÓIçˆÔN#|[žíŽ@-Ðw~ïgÒ 37ª`Jˆ~ÊiŠ ¦s(E
+×Ïùÿ/oy!;g42œ¦»I¥)¤¼ð­gÝYÅ82뉶šÕˆOý•‡{[¿§²™hhnšèž¤‚:y´ÂYPÐÚZ4l¤±ž²ÐO‰ÌèÔòÎ)_§O¸á0ç<Îí“(G™Kº.Øþ‰4e%×®é–ÐIƒ3M
+“ø¥•­fzb0†±Î jä'°çÊYrõó÷(QÑ ´N2Œ¶ çÜ'‹y1›Ðž[£‡ÚÉû' _”>7gÒ,¦jŒëkîƸÉCåLkTŽ2ÜÆ+ )zÛ5’K ;}¡ª[pxìÁ;¹Os5u“å®}™È
+NÓUÄ«›”pnK÷aSµÑ:}\ _÷•­î0ukž:^¦;Â\ÅLº?,x¼Þ&aZ§ôa¡½k™`^Óݯ°¡¤Þû 0Nà6.˜/jJ÷3 ™GÏB)Ù\[†ÊL3”çBínææ¹Âö(÷‡À8³ä¹É#²ø V}cê¨iÊÁóT@‡g /4ØZe?¡m³”Ä”¸o­ Ê9´ú…P~¤_¾X·Ùb)9Aw±žG¿5-‹÷”ÝeAOŽªðò@”¨ÆêËKlóÄœ6^i¦ê;$Ï¢-ŸJGå³›w8_€rG=Œ5õ<ÒÝl^Ó‰R?ràK-º‚9¥|5ÞþBÁµ‡öjS–jH¶3Ꜭ(rzs—ðÝÀ¥<K“£×Ñ
+e:ø6v â“z÷0ŽQp$‰®¯±æ­
+=
+hZ~r«õ¹.”¶qËa…"G¯/•$9M~IªÕàìyÛvê7'* Î5µ>_âǧ-WHORš÷,Êœk«Î_〠On•³CAjŽ3»\ÉX:Æoµ¶=C­¬äyªä†œlô>†:"Ù¿¥WX:DO‘|æ)Q¹C>w$ûDµf9šévLëÊi‡š´š™ûO_ŸÎü‰‚Î5í¬ <êaiô‹#»Ciœ{k¹fa©càIWoXÞÖ£ByexâXÖP½°£ú‹$\
+endstream
+endobj
+4173 0 obj
+<< /Type /Page /Contents 4174 0 R /Resources 4172 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R >>
endobj
4175 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 458.991 null ] >>
+<< /D [ 4173 0 R /XYZ 78.37 808.885 null ] >>
endobj
4176 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 448.032 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 768.829 null ] >>
endobj
4177 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 437.073 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 757.87 null ] >>
endobj
4178 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 426.115 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 746.912 null ] >>
endobj
4179 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 415.156 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 735.953 null ] >>
endobj
4180 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 404.197 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 724.994 null ] >>
endobj
4181 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 393.238 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 714.035 null ] >>
endobj
4182 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 382.279 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 703.076 null ] >>
endobj
4183 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 371.32 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 692.117 null ] >>
endobj
4184 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 360.361 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 681.158 null ] >>
endobj
4185 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 349.402 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 670.199 null ] >>
endobj
4186 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 338.443 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 659.24 null ] >>
endobj
4187 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 327.484 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 648.281 null ] >>
endobj
4188 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 316.525 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 637.322 null ] >>
endobj
4189 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 305.567 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 626.364 null ] >>
endobj
4190 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 294.608 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 615.405 null ] >>
endobj
4191 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 283.649 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 604.446 null ] >>
endobj
4192 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 272.69 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 593.487 null ] >>
endobj
4193 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 261.731 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 582.528 null ] >>
endobj
4194 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 250.772 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 571.569 null ] >>
endobj
4195 0 obj
-<< /D [ 4145 0 R /XYZ 81.145 239.813 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 560.61 null ] >>
endobj
-309 0 obj
-<< /D [ 4145 0 R /XYZ 79.37 183.439 null ] >>
+4196 0 obj
+<< /D [ 4173 0 R /XYZ 81.145 549.651 null ] >>
endobj
-4144 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F74 337 0 R /F83 414 0 R /F59 346 0 R /F84 425 0 R /F88 635 0 R /F87 2313 0 R /F111 636 0 R /F64 333 0 R /F65 335 0 R >> /ProcSet [ /PDF /Text ] >>
+4197 0 obj
+<< /D [ 4173 0 R /XYZ 81.145 538.692 null ] >>
endobj
4198 0 obj
-<< /Filter /FlateDecode /Length 2168 >>
-stream
-xÚÍËn+'t¿Â?
-‡Ã¤(RÇ•ºÎ®ê¶]õÿ·=<˜ñ Îu¯¼9a˜ó~ƒ<ýs’§ßœ¿~üv%<)%¼1Êž¾þþ¡ø<©“õBÛ“%%$©Ó׿§?_¥„w)õUJõ!%^øï3? %ÁÛ‹¶&ìÐü—zÍËþ-þmá­®…/e»•Ë’¿åǨ„`LŒÊ8Þ©ËJ!®uÏ{ÚcýÛ__0oÊœ¼ðÌãš5Ad
-kø‘¨`Z_ÐÙÀÊ9ÓqNOƒ/A·¸])
-}ìöt“xï_“v‹fõµ¬™êº/0k)zC”KØ Ú W.iW€»X’#e‹ m‹°N®˜v™8X˜¬,훘––Ml€ 54V\9:{#ÚÈDp|¹e&‰µ)ƒHú(±ÈR}T¹4{Z;Îú‘½L;Š&£h\ûý²ºeLÊ kª§µúÕZßa_y÷„}¥ñ{ÙaÊÞå²w¥Õ(¿ðGÁfÆ‹Y¥íÁ¬Ü„Y9ËÉÂì$}8;°%/@­¡¸‚{/)1á <QR"ÜIJKâ:NJdA ¡jTneT”´cí'"e…aMÔ×]š'Éf0@Ø6·
-ÐôX¹ÒŒš8½Ãˆu2$kÆ»g
-Éæ8$sØžÉ
-H¸íA}H>öЂŽp)‡ÌîB… -ç*øh ­±z”Ë7¥ø¥£^A ’~¤`Ò:ûïì,ý%rÕ°+û
-¨+vmÌ8\Á=S/ê&lÌLؘ!.ª¤®š8gOgÌð±oMR ­F
-!:1ì7µ# Þ”8:’i‚fÌúˆÕtÇÖÍ^µm)¥D+ôåZ:ãÄs¥,̶ð¸SÙ³å¬Wg…$º§Ð%Õ õÜqX4aâJ#&C³±Øéé'Švb2af
-‚0ðÇ[ཱdV0Ç‘kÃ^û N8Û;ÍpÄЕò‰ê±‹Œ«å˜7ºý}£h0N8øIÞø¡¬Ý|è‹¡Ç«9(
-#ýHåÁ¡*Ü#x«½u~aÈ­h,OUGââ_i^âjW¢ÊÍ’XÎ؇ž*0Û<°ÅãOøG˜;="ìëÞ¹QJœ¦¿ bw·fßE ­p…ý—»ÿb*¨Š¨;êo¸ý»‘úm#a1ûís.p¦¹¯DM?‡çú¶ÜÇqåzOâkãÞI°\ð¸¾*µzÀ%ø‘ÌïŠîÛ7YÆá
-[¥¼â)†åJ'‰£=îŠWÒªY¦é‹îZXÜÓÞ,0r¹E¸ýœ0}ßÎûÀáë²ÇâxᩪëÜ4ÇM,(æ»i0ʇÛôðƒÑnq%ÝÀäâÅ̓ÄϯH ú†ýLvMãWe YÆß #ÞIN<ûsbÊQæ<Ýàinð©ëì
-"tßáÝ´"§|ïWrÝ6böª‡¦Ææ.Weª í!ËsÝ®ýˆåWåC+±?ÐI5—;Všì¥Òé-ü¤³¢tB»•vçš-e4“õ ÷c Ìß™ºG¯4
-òpÛƒÚÔ£{ïoÜ-9ïF<w^8UäZ¡|óæ,íÜ lÇÙ]õ‘ªî¾î¦]Á^âîs{´Ô).á~¯_™õýü¦» Y¨T6×ušý:gïÌiÂÑ*¤‚—œ$è⯭Æ,Îúz&ñùõã?ƒxUÏ
-endstream
-endobj
-4197 0 obj
-<< /Type /Page /Contents 4198 0 R /Resources 4196 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R >>
+<< /D [ 4173 0 R /XYZ 81.145 527.733 null ] >>
endobj
4199 0 obj
-<< /D [ 4197 0 R /XYZ 78.37 808.885 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 516.775 null ] >>
endobj
4200 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 775.009 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 505.816 null ] >>
endobj
4201 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 704.799 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 494.857 null ] >>
endobj
4202 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 646.545 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 483.898 null ] >>
endobj
4203 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 600.246 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 472.939 null ] >>
endobj
4204 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 553.948 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 461.98 null ] >>
endobj
4205 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 507.649 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 451.021 null ] >>
endobj
4206 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 425.484 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 440.062 null ] >>
endobj
4207 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 355.275 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 429.103 null ] >>
endobj
4208 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 273.111 null ] >>
+<< /D [ 4173 0 R /XYZ 81.145 418.144 null ] >>
endobj
4209 0 obj
-<< /D [ 4197 0 R /XYZ 79.37 167.036 null ] >>
-endobj
-4196 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
-endobj
-4228 0 obj
-<< /Filter /FlateDecode /Length 3835 >>
-stream
-xÚÍËŽ#¹E÷ýú¡ù~
-ó­ó¼]×ÃRØ»L36ýììYºõÑ ²!*ãl‘L¡¶žj¹[;еw²bm³ÙÞÙWõ•L®g7MûÀ]¨•©2 Â/¤åZ\Ô!&«|ˆ_ªs™<B÷Ú1S+õ:7ƒì¹RR¶¸¹tp½W!¸_hã;0‚A• ékGp*Ó®Nsi ¯±ºö¼[}¡=ZEcŽJïªubW±ÊîÛzæƒfIxÒ³EMµØ¹–CçWVÛó^¯¾èwïÕçòÏZ9Ú…'-Ô^Å2ޗбIÜ`MCàû²« ¹6iqô±­ E ÍàŽ?Ûï]‘{p÷pšD2eªqXÓ¦òÚÍbƒ½‹i7Äú-ÔeÑåf«X¶,›ã ’ÉÙe[{8
-É+çý¯äêî@*󸺂*>÷´ÃH(ÁöÅ9ZsÑ Áˆá@h±pa­]C”hùœï¬™b¾:³íRc:¬‘-jq$Ç£²:üÇZWeò÷aÖ¯@[’¢3·ßÆ“ 0=ìKç’Ê4§Ò6có '_pjd 
-~7~gNÍ‹÷Ü륭ÞBN.ÐÚ
-%µ¯åî<x§Jh>Ýàkô*ŸKF´Ì$~/6×·íÿk]T–ï!mXûTr*–h;ú¨m(íXß[^<ÄÇ>œnË#¯8x¹¡l
-»~ë \–
-§F¶§~›ìò0>G;kmdõ:+Z¶ý·ñ:½Eâ¾}ÉsbQ)ji{+g }š*<H烳Ššô¥ÔT¦ä©²†z¢ÿ¯ŠÊí£U¨ó²´ÐÁ|Ê°w¤²Ë«}Ž,•ÙÕéW£yI2Ú'oû­;ÍñýîTÌ_ˆ”¬´ÌóܬêTdrH¶áó…(S ¥Ì%M-áí…óöLÚ®yçÚžey™1³õãû}å ­çîµ›Žñ²̺ä·/VŸ¢
-Öí:ó5… Æ)ãâ\ÚñªÓYÛWˆ¡XÁ;ÙU’õçý !uÈôbžk²éfôÊÔI±ùAÝ>öÙͶêäÒ_ÚíT”…²~¾Žgûü¸,¤Džd÷5}G½úóV’L¨³’^ì7G²ß÷[ó[»9[$'?sÄ{£¼Ý¿,º±¶ÛW­ÝÜçÒfÖ8ñŸ‡ï ¥uÉŽÛͲ,
-ZË—Mäë}ŒjÙv·"·Ý„ÞÛ²ËFôf;[¯ÝgË}Ý•ìr)À¡ŠÖÝ!ŸÚ3hàE6ákÊC)㯓M dw@½/*'‡êý°}p¶SëT¤õ2•+qIÏ38f܊ú&¯y}´Î ™3”'”ÙTPƒV%§/µß=e¿ UÒw=x¨ž²˜bò—FkS™ËzçS‰4lVîW÷¾årõ¸6/FÏRí~¶b3Ë[Ëæᕈý`ï0¢Ò4@/wØci ð!êÝOKI^tg[>î$1ºã-v†ÇÁ@°”2—¹¶M3í!<Þ­xœ‹ëE3ú`¿$l×ûR4xéÍœNÊÚ°kòtx´ µÞ‡Äõµ«}ˆH/æ}§~\D%IÅâŽìê­ÍÍ_?a‹·^¥˜ž´…‚åÓ‘)}vyÒsfr„~7Q@‡Î+ÄxE•ÖùÁ‚§¬|*¸Lñ•¿P¨€S²`PÁŤ’îQPÌëŒVÒ±Äɼ‚ÖÝ©|<½ó®ž'å¿ž™8"7bš’ÆnüèO¢õÏ»Çzpb|ØÕü¢{´¨'ïæâÆ1l†‹¦ˆÞÕäKF[š{ÖÌÇ;—îÑ» èg×d¿·
-9Ÿ¬¢ß•vá~²¡°ÅÙ +™“&$a®~^´¥áhÕ#þåñ<®a,U9—|qFHÑewæluá"ëwyÚg«®Jf»â\+/¹ê¹D4’w^¹`ŽìyqH,µß™Ó7¨ìû¯K¨«Ý¾c^ܨòº(«w3-Ùé`é¤}OºIŸ(½¡4c¶ýE7ªñÆ J<ÚÿpÞ©TÖ`}Š/7ûõ1ÚƒÅn´Êë~v¿ÓôѤy•¿õ÷-ÿýóÖþñ?¨&kÏÝŠÍ™ÖÔ*…Ôé¦ØÀ—Æ$ÔŒk”Ð7¿2 j€æË «Ï#ÑJG›;™Gž’ªêyïæy³ÊÿzEq˜(O˜¶«2Í“ïÈ}>Ô‹&lÚzŒfpÞä„y—¶÷»žµþ­ÉýÝ­›l§ÆOfÜO§Á‰+Ö^ÙZŽ#m²ë´}_·Œ¶‹Q|_q1ôs“oŸ&»CÃø¤è²aÖêÞ0ÄëfO¢"J»Hº“PÚ{‰iJ^]*(]c9‹Ó”Ɇÿ‹Î tvÊe‹ÒÅPã`:“Ù(ít$»=JWç™Ñiâ¬]"/”¦|0£Ó¤ôG‡ŽŽ£õêà±t¡FŒè4q4©2g=:M\ŠÊtš¸ì)SišT¹ÀÓ„’õèÑiâu"»Ñiâ)4&ž&U.0í4Ù`:“Ýè4ñ>’ÝèÈ{šT0)I¦)~Õ0]é€ÎOsªht–øbÉnt–T1-vG_F]<I³Lr³x.áJOÙ¦YÂ;œeC{Æc½¹®cÇ«úŒ8®ÄV´bÛ€+­ÀhÑ
-f­€è®-ZÑ¢ ÍZÑ¢-ZÑ¢ÍZ¬-ZÑ¢-ZÒ¬ݵ£E+0Z´£E+@šµ£E+0ºiÆŠV€4kF‹V`´hF‹V@t׊ÉçÃZ±ì'ì­%lZ1î{o¯*öËaËêM–Õ6|äzàöËë™ætçqÿ¥¿Í-‡¹È¶W¹F‹¾`´è H³¾@t׌}ÁhÑf}ÁhÑŒ}ÁhÑŒf}aÖŒ}ÁhÑŒ}iÖˆîú‚Ñ¢/-ú‚Ñ¢/ Íú‚Ñ¢/ÝôcE_@šõ£E_0Zô£E_ ºëˤ¨¾˜’”»\¤~•ñ\_øêÕxBP3‡ä_ÉP¦ËBøÓ“Ö3Ï>5å³c´xvfÏÒìÙQºyvfÏÒìÙAš=;H7ÏŽÂͳƒ4{vfÏÒìÙQºyvŒÏÒìÙAš=;H³gGéæÙAš=;H/ždÙ³£tóì Íž¤Ù³ƒ4{vŒϾóÐ/Ü
-­i™K)‹oçOu¯)GcÝ/W/ÿüñؾ¢×N˜ê¡¿+k1»¦½.\ þZ=zþ[ͧ
-±iÝ•@`0ë‹<@°¨‹8@0kƲ4@°(‹0@°è³, pWQ€`ÑIÀ`VA€à¦*r€Á¬,b
-0Z¢Œæ°
-F‹¤`´H
-H³¤@t—ŒIÁh‘fIÁh‘ŒIÁh‘ŒfIa–ŒIÁh‘ŒIi–ˆî’‚Ñ")-’‚Ñ") Í’‚Ñ")Ý$cER@š%£ER0Z$£ER ºKÊ$ ƒ™º¬ô¿‰Pÿ
-endstream
-endobj
-4227 0 obj
-<< /Type /Page /Contents 4228 0 R /Resources 4226 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R /Annots 4237 0 R >>
+<< /D [ 4173 0 R /XYZ 81.145 407.186 null ] >>
endobj
-4237 0 obj
-[ 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R ]
+309 0 obj
+<< /D [ 4173 0 R /XYZ 79.37 350.812 null ] >>
endobj
4210 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 287.863 168.645 296.75 ]/A << /S /GoTo /D (section.0.1) >> >>
+<< /D [ 4173 0 R /XYZ 79.37 242.547 null ] >>
endobj
4211 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 265.945 162.18 274.912 ]/A << /S /GoTo /D (section.0.2) >> >>
+<< /D [ 4173 0 R /XYZ 79.37 196.248 null ] >>
endobj
4212 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 242.085 199.908 253.053 ]/A << /S /GoTo /D (section.0.3) >> >>
+<< /D [ 4173 0 R /XYZ 79.37 126.039 null ] >>
+endobj
+4172 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F59 346 0 R /F84 425 0 R /F88 643 0 R /F87 2310 0 R /F111 644 0 R /F64 333 0 R /F15 334 0 R /F74 337 0 R /F83 412 0 R /F65 335 0 R /F81 377 0 R >> /ProcSet [ /PDF /Text ] >>
+endobj
+4230 0 obj
+<< /Filter /FlateDecode /Length 3450 >>
+stream
+xÚ͹n$9†ý~
+½@sy€ @%sÐÞbÝk}cƒd3“yÔ/uí †4U_%ïø‚ÌT~úëI?ýþíöãÛ?>¢2F•Lzúñïo†ÞÑOæ)åÒSŠFéhž~üçéŸÏZÛW­Ý‡ÖæMkÿN¿ßèŸÕ:Ú—ï.…J8úÍ<óËå¥ýžìËx­þóï‚'½¼u½½Kÿ‚é,ŽTTÈô3È+R û±cüË¿~üAm3ᩨ-µqß4oUŒAšæßz-R-ѹúJ|±™ë–b«K¿jòGW5Ö©˜ý|ÝÚ¢àéj¹·,ú©—Öß[ŸÜ:W߯¥Õ×å3­«íªÇí²Î¨¨Ë\ƒU?]Õß­JNhý#e}¯–PG¯ý,ëä¯ç˜ñª”_hŠ¹ L±
+ŨŸutE*Ù¾]O&í”3óÚ8ðHõkeêØ´¾ç÷âoTÀ­3ö£6ý²²&¥iæÎÕçöÊÇ]]­ïcWërTïúúýz÷×ڜʗmp&©hÒQb[a²ªÛk믯î¤{ݤ¼ú3ddÞƘU1¿ÔÄ-÷'®ËÈÄ¥X¬CcãõT6E¥PækŽ¸Qz·Õ˜’¸¥2WƼ½kUöùWrÔ+0‡º¶‚±8÷¦µÙ CBÇ!+¯Í|ÍõÜo­áøíÿ­¾Ž!TáàwW¯}ä’ÔVƺ×ß>/«½Ú¯þƒ]å•Í»þ©1§Ø9FêÅ­ÓÈ]ÆTÞ—âe2õxï±$=óúh¯JJ´i‘嶚ñ–çDë…Í,i¯Ègļ•°·ùs4‘{¹ñ¼‡%wH½­ÛùŠU¾¤Ñ_ c=­ðÝÅjÓ,²ãñ™|×Inì®)§æf
+AÞ.>áì}p=íyù>¢\í›Z¥Ö'y|0oM|ïÿ݃ŽP2òž]=F±¾k>÷8w‚·«ÞÏô¾—ëHX‹Ë•ÝªŠ#lµ·Ú”ù8ÛÔ+ä±ÓCƒýtÍ!ó²tæ² zð?Ÿ|÷_U¬3p[*¦qZb¤qû+éã䟯€>™1˜øØ‘Ý^óÿ<²ÜCëvÙ…n4ØÚA}â*Ý“…j,¸ë¶¹¤¬ss9–ƒ/’Â
+¶~}¢õë~¥#Š`õ{æ=%*¸ðØ‘Ú^s›†ß%Gûô<_¡ººöŘÝ'凢l0󧜲YK+ÙÇ]+×þ/:r{MqÍ9ŸÎŠ±4©íØ‘Ö”‡e>ú‰ÒwòÕAr|^% ­í2÷VqÐü,}'—“¨œÞ%·‘wz,’´qIGVUÉýJ­à9s©™&_hS y“Š8ÎdhÙŒI]L½E÷ú´_-„BFøøX7SB?³æx¢Hž&õ㜚Ëô·Q3Û[³¾íX®¦2«‰*Æò™t7šÕù^¾ë$.q.)D44ºœiÅú_(4&à„" )Eê›|˜XÿÙqR1ì®9Ÿ¾¶Ù÷eþÔEˆîŽ³£ü\Â&Ÿïµžw“íÕ¶hEïŸ;•¶!«l²mô/òèFaÿГk_S]æZÚ÷˶Õul~DÛÆ›ßk×ÐÑÜQF?N±Ô~ã¢*ÚÏW·c3'Qå4©sžbDÎç)ò§R…Ds&Î×\{à¨?±>êrvsÛÌ;Ri'ëß½oËæ]nS\/‘•3~Wúß¾Dè§ïù”tõ¦ö'K'ÖñÏsí'‰ó*¹Ãc]›š—K¯ûx·HfŸ—cŠm’¢yžÒ̵Å?ï<~}'Á)cË\ͳÑKªÈ›ŸVw>`W› ¥~WÚ¨ù(‡óžÞìšéôîXßùªù¿–SÏþ‰uÎÒ™ô¾$^a\y„å¥s½ÝžöϯÏýlöÏ “x’ÅUÄÃu[mW±@¦ïñ„¡Í~Jùá÷H§ëÊRrëS0½, YæµÇïÞËŠÊû²+áÚ$¦ÔíBœ?%Ç’rñ…úXO‘Ͳ:íV¬M?×MenðþÎÑþÎD3—
+»X»0­ ?]׺w«™íTÚñ$¦ä"[ûX5n¯yÙ*9Û¶ë›-w&qQÆ•¹”¿Ë‡”NEëæÒ¸H¥;I‡¹t¦…¨tvGcð“‹Õë¬\Þîf³å™Öî7$6eªÕæn0?áÌ*@¯ÿ;®oÉü÷¯§þËŸ¿SITøéÖÇRûM^õ´‰âWs[¦B\vkÎr'Ïgh~HŠ©&t\Ý©zäS†Oëa6WÏ›e%Huüúñ…OTmWT5cͽñ©×Qµø6–Æw—ÝúÎeû¯Í}µìVö··Þ¿5í[d\V~ªÆítœ„Ê–m½Ž®ÆKk–ÓG£m«ÍÉ­ ‘nŽ_›v¹©]-(í²ÖP>¼jö0Å6Š L"ïZz“j#m18ФÂQ·Ä„Ih-RPÑÎŽ ÂÅB
+gª2;M çA¸ÆË N*sÚ £pi7ç1Ø%ª38(΂P8¸¦j ¦y”a¶€SÃ%ÚÂpj¸ì•ñ(Ló(tj”Bu§†×‰ê N oÕœ¾>TPØQ¶ã
+S‚PÀ©áiGn<8ÜžæŠF£b0(\ÚS?œ’2œž¦QÑàÌð´Áª \=Yì ßu¼hÑ䬼 ³["Ò½(á-Ñ°òdÍ0 ˜ÿÄëÛÙ›³‡þ°
+v÷èÊSîè
+w3€4«¤Ù Ír@énŒ=€4û¤Y ͆@é®fG€t“Ȳ%Pºk¤Ù Í¢
+ƲQ X„Áâ`0Û‡L X\Á¢“`0‹‚Å#Ü5¡b f‰@°8‚E!,Aà!­`D¯‚Ùí5ê✠„ï•Õgòêd6ù¯ì@¦çô…ðG¬^GïmSî…oˆñ£%€c´DpæŽÑÃ1Z‚8FKÇhã Ìq£%c´DrŒ–PÒË!zsŒ–hŽÑÎ1Zâ9Hs@Çh‰èÝC:ÆJLiê-Q£%¬c´Äuˆ}ŽÐ_ºçF3_…寋Z|ïwŽêYR\ÝÔq¹FùÏßØÚôµ{C¦MÍåæhÙݺw|³©yŒ>ÿœ÷©"¶Í»§fE`´(£E-ŠÀhV³"0ZÑ¢ŒE€4+¢‡"0ZÑ¢ŒE€4+£Eݱ¢fE`´(£E-Š€è¡ˆ9V¢É¿¡µ”ÓcW7Ž“ÿú÷yÿ÷GU4É«¼+é¤=&Së­Aé¢Él¦³2Ö´ÕªíQÚ8ªw@i~Ú
+ Í™FK¦€Ñ=SÀXÉ@š3Œ–L£%SÀhÉ zd
+[š¿gì"S0IÙj
+]ÉÙ}¦°Ú•™öŒn}Ä>˜Ý–ñxv˜K\Ks[‘{ÒÄh‘&F‹41Z¤‰Ñ"MîÒÄ`‘&F‹41Z¤ Ò,MˆÒÄh‘&F‹4Aš¥‰Ñ"MŒib´H£Yš ÌÒÄh‘&F‹41Z¤ Ò,MˆÒÄh‘&F‹41Z¤ Ò,MŒibt—&ÆŠ4Aš¥‰Ñ"MŒib´H¢‡4·4,ÍâUJñÌ™m—Ýé^å[ ú_©l¿¢ébǽú¦¤íiåÉw |q/6Ø6èŽ @¸»
+À`6
+endstream
+endobj
+4229 0 obj
+<< /Type /Page /Contents 4230 0 R /Resources 4228 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R /Annots 4240 0 R >>
+endobj
+4240 0 obj
+[ 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R ]
endobj
4213 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 230.08 217.99 241.039 ]/A << /S /GoTo /D (subsection.0.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 255.115 168.645 264.002 ]/A << /S /GoTo /D (section.0.1) >> >>
endobj
4214 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 218.124 271.838 229.193 ]/A << /S /GoTo /D (subsection.0.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 233.197 162.18 242.164 ]/A << /S /GoTo /D (section.0.2) >> >>
endobj
4215 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 206.289 260.909 217.128 ]/A << /S /GoTo /D (subsection.0.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 209.337 199.908 220.306 ]/A << /S /GoTo /D (section.0.3) >> >>
endobj
4216 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 193.776 282.11 205.731 ]/A << /S /GoTo /D (subsection.0.3.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 197.332 217.99 208.291 ]/A << /S /GoTo /D (subsection.0.3.1) >> >>
endobj
4217 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 174.239 177.731 183.285 ]/A << /S /GoTo /D (section.0.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 185.377 271.838 196.445 ]/A << /S /GoTo /D (subsection.0.3.2) >> >>
endobj
4218 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 159.903 307.764 171.858 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 173.541 260.909 184.38 ]/A << /S /GoTo /D (subsection.0.3.3) >> >>
endobj
4219 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 148.396 172.561 159.345 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 161.028 282.11 172.983 ]/A << /S /GoTo /D (subsection.0.3.4) >> >>
endobj
4220 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 136.441 214.364 147.499 ]/A << /S /GoTo /D (subsubsection.0.4.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 141.491 177.731 150.537 ]/A << /S /GoTo /D (section.0.4) >> >>
endobj
4221 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 124.486 276.302 135.544 ]/A << /S /GoTo /D (subsubsection.0.4.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 127.155 307.764 139.11 ]/A << /S /GoTo /D (subsection.0.4.1) >> >>
endobj
4222 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 112.53 251.943 123.479 ]/A << /S /GoTo /D (subsubsection.0.4.2.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 115.648 172.561 126.597 ]/A << /S /GoTo /D (subsection.0.4.2) >> >>
endobj
4223 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 102.398 258.917 111.634 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 103.693 214.364 114.752 ]/A << /S /GoTo /D (subsubsection.0.4.2.1) >> >>
endobj
4224 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 78.697 378.259 89.666 ]/A << /S /GoTo /D (section.0.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 91.738 276.302 102.796 ]/A << /S /GoTo /D (subsubsection.0.4.2.2) >> >>
endobj
-4229 0 obj
-<< /D [ 4227 0 R /XYZ 78.37 808.885 null ] >>
+4225 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 79.783 251.943 90.732 ]/A << /S /GoTo /D (subsubsection.0.4.2.3) >> >>
endobj
-4230 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 775.009 null ] >>
+4226 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 69.651 258.917 78.886 ]/A << /S /GoTo /D (subsection.0.4.3) >> >>
endobj
4231 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 704.799 null ] >>
+<< /D [ 4229 0 R /XYZ 78.37 808.885 null ] >>
endobj
4232 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 658.501 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 775.009 null ] >>
endobj
4233 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 588.291 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 728.938 null ] >>
endobj
4234 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 482.217 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 682.867 null ] >>
endobj
4235 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 400.052 null ] >>
-endobj
-313 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 343.689 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 636.796 null ] >>
endobj
4236 0 obj
-<< /D [ 4227 0 R /XYZ 79.37 328.77 null ] >>
+<< /D [ 4229 0 R /XYZ 79.37 554.86 null ] >>
endobj
-4226 0 obj
-<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F81 377 0 R /F65 335 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
+4237 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 484.878 null ] >>
endobj
-4295 0 obj
-<< /Filter /FlateDecode /Length 7667 >>
-stream
-xÚåÝÏŽãV~Gñ½Ÿ¢_Àñ¯$`Ð@•»{€,ï‚l3«lòþ‹¼ßs%R%òT ƒíö§»¥¶ô;÷RÙ|;Oÿû¯~k–¿ù×üöþçoûÕ¶ßn§ÛØŽý·?ÿã·òïšo—Û©»|»ŒÍé<6ßþüÏoÿö÷óy¾ÿÞÜÚaúÛæý{×NmÏ—ó÷±Ÿìó¹ÿ1ýØûùܵó¿ûþ{wí¦Ó]ÊÌb¼MÿŸÔx.?6¶ßÿýÏùíüíŸÓoüú
-Ó(…I”Â)”³ ”ÂôIaò¤0ur8q2¸¶IaÒ¤0eR˜09œ.)L–.UR”(9œ&)L’¦H
-$ƒkÖ¸]z"wƒçæÔ^‡ç=½4¥As‹ºƒO§F-oçDû÷ò÷m÷ý÷åojÔÚýÍ×ú‘m¾œ&fNS3©KΦgN4§)šÔIšÒµiN5§©šÔÉšÓtÍiÂæ4es:i“8msš¸9MÝœ&oR§oJ×À9Máœ&qNÓ8©9§©œÓ%sÎÒ9©:§)Ó¤ÎiZ§tÝF¦vãõvš&ã‹Ø=úü8vË?ÍÇZûû?Ë!Ðk ßû}ëÕßUïÒ¤õc;H’ÄK‘œMNNŽ$.5R˜9œ9œI\JäpBäp:äp2äp©´%B§A'A§@—
-Óœ VÉÉñ¾qz&óçTÛæ¼Õ~ÝÏÒšå,—_÷-Uùçl¤nÛ¬÷Ú# ®ÎéÛrk×>lÄòó/?Ž{DbÖü 1§©ŒÓdFêtFé§)Ó¤Fê´Æibã4µqšÜ8ÞHœà8Mqœ&9NÓ©¥kuœ&;NÓ§ Ô)Ó¤ÇéÒg‰Ô©ÓäÇiúã4Rºh£ç>Ül‚Æá4½ä7š~zýÈé-ßmÈ¡º¹Bœü¿ì‚ÚÒ˜ûWæž ÿÔÅ´Ùý }=Ô÷ñO˜Ï,Y¶I×ïW~K·ßŒÕ“8J†ÂÃáÃàÚ …É…ÂÔÂáÄBaZ¡0©P˜R(œP8›N(L&¦
- ‡Óƒk"¦
-…éƒÃɃÂÔAáEiƒÃIƒÂ”Aa 0]0¸faç*\í±°é³ûç,<}ò3^Kê4o~u/g8g ¾ß·&ýûófdÊEó«ß߀¬àÁÄabâ45qšœHž(]ƒâ4Eqš¤H¦8MTœ¦*N“§Ó‰§)‹Ó¤ÅiÚ"uâ¢t­‹ÓäÅiúâ4‘:…qšÄ8]ã,‘‘:•qšÌ8Mgœ&4J×Òlô§RÓ7§á|{•š‡Ï]žR³úå2®ô~ÿîõrÜìüײCÖö¨ NÓ©Ó¥kœ¦ NÓ©Ó§iƒÓ´ÁiÚàtÚ qÚà4mpš68M¤N”®mpš68Mœ¦ R§ NÓ§Kœ¥ R§ NÓ§iƒÓ´AéÚ†n—«jÈ6LCc^nC–ÏI>ß>ÿàû¹ õï_´â~¹‹ýN0Ë×üh–+]g¹ÓÌr§™åRg–;Í,wšYî4³ÜéÌr‰3Ëf–;Í,wšY.uf¹Òu–;Í,wšYî4³\êÌr§™åN—Yî,³\êÌr§™åN3Ëf–+]gùFj–On/×ùË'/gù»ù âqÆï|ê°sl©-Z?У£EN³#pšŠHŠ(]+â4qšŠHŠ8MEœ¦"NS§S‰S§©ˆÓTÄi*"u*¢t­ˆÓTÄi*â4‘:qšŠ8]*â,‘:qšŠ8MEœ¦"J׊lô§*2ýóëòUE®ÿkY¶ ›ÃL‡Û‚õ£?èJ×î4ÝiºÔèN3Ðf ;Í@w:]â t§èN3Ðf K®tèN3Ðf ;Í@—:ÝiºÓe ;Ë@—:ÝiºÓ t§èJ×¾ÑóÔìåùGí;×çmÁµž€Ôæ»îe\—Ñ}9ß¿ó^.­úx‚ëý[ðþ¸BÍ{9‰v™ÚíãiKü>KÞ9vo§°yì;©³S:a±º„ÅiÂ"uÂ"uÂbu ‹Ô ‹Ô ‹Ô ‹Ô%,—°H°H°H°X]Ââ4a‘:a‘:a‘:a±º„Eê„Eê%,Ò&,V—°H°H°H°8MX¶zžÐÜ) ×ætyþ>_w}:…©ç+ŠÞ¿Ó7ä"+íeuk½XJÛì¹8Ë|‰•%Js|Æ$éú!¾¸>ijhˆÛú»%WùwcÙxÔnïWBÍ…×^mB˜Fë?—£iä4ÓÈi¦‘ÓL#©3”®ÓÈi¦‘ÓL#§™FRg9Í4rºL#g™FRg9Í4ršiä4ÓHé:6úSÓhzî—ËõÕ4z8Ë¥}Ûûäñã 6½Xº>^ªÿZþ_gL{Ÿ1—ð_-žçâóM
-NS©S¥kœ¦
-NS§©‚Ô©‚ÓTÁéRg©‚Ô©‚ÓTÁiªà4UPºVa­—*¼Ù*Lÿ}»é¹o«pÿ
-ìø·|®7fn?ºÙЯ§7÷ »ß›lÿsªõ9úœJêl¾œfóå4›/§Ù|9ÍæKê²ùr˜Í—ÓdÖi2+u2«tͬÓdÖi2+u2ë4™ušÌ:MfNf%Nf&³N“Y§É¬ÔɬÒ5³N“Y§É¬ÓdVêdÖi2ëtɬ³dVêdÖi2ë4™ušÌ*]3»Ösf»¯ÀÓŸ§ÿ~×z*Pÿ³žæ²ºpÐõac´œ³Ù}òŸå6ko÷ÓMòÉÔò+/_0¾n?¿Z}¨}ü8»¸+Mì»wwJÎú`ù£¼~ñ”œî6žúözÿÃ|:%烫1í>üº¢éÊ9œ;_1a¥±y0+ ©³Ò:+ ©³Ò°zYiHœ•†ÔYiH•†Õe¥á4+ ©³Ò:+ «ËJCê¬4¤ÎJCê¬4¤.+ ‹ËJCê¬4¤ÎJCê¬4¬.+ §YiH•†ÔYiH•†Õe¥!uVR/+ i³Ò°º¬4¤ÎJCê¬4¤ÎJÃiV½›Ç§N¯¿tÛ>œóåžË8 Üïoº7ä(…N“B§I¡Ó¤Pê’B‡I¡Ó¤ÐiR(uR¨tM¡Ó¤ÐiR(uRè4)tš:M
-N
-%N
-&…N“B§I¡ÔI¡Ò5…N“B§I¡Ó¤Pê¤ÐiRètI¡³¤Pê¤ÐiRè4)tš*]S¸Ö˱íÁ¦ðÒž†æigøpâÐWSؾÕ(^Zc¾ŽÎ-ÿ÷ã´~Gq’ºÄÉaâä4qrš8I8)]ãä4qrš8I89Mœœ&NN'§'‰'§‰“ÓÄÉiâ$uâ¤t“ÓÄÉiâä4q’:qrš89]âä,q’:qrš89Mœœ&NJ×8­õ'{íáùÍ7ŒOû´‡Óq¾§qþÚæÛü=…Ý\7ààW«³÷sš½ŸÓìýœ&¯N“W©K^&¯N“W§É«ÔÉ«Ò5¯N“W§É«ÔÉ«ÓäÕiòê4yu:y•8yuš¼:M^&¯R'¯J×¼:M^&¯N“W©“W§É«Ó%¯Î’W©“W§É«ÓäÕiòªtÍëZ/‡A;›×~z?Ÿö~ç5}-¯õ¿œãºüõ½^ºñåmXˆÝúÅÎibç4±“ºÄÎabç4±sšØIØ)]cç4±sšØIØ9Mìœ&vN;§;‰;§‰ÓÄÎib'ub§tÓÄÎibç4±“:±sšØ9]bç,±“:±sšØ9Mìœ&vJ×Ø­õ;}!×njË8´O:‡/Çnuo.ôƒ«Ú¬uvœöûx]áù™ËÏi_\cø²›ÚÝY·~²G³ÎifÓ™ugÖ9ͬsšYç4³NêÌ:¥ë¬sšYç4³ÎifÔ™uN3ëœ.³ÎYfÔ™uN3ëœfÖ9ͬSºÎºµß¾|)´y)vé†ÇË__æ#hÝpþ{®d¾¹XØÃ59ræãG×IÝ={qó›ÎÿËëÎíér¹­ŸÀý Æ¡|¿½Ù\CäüpIîåÞ ?îw’?x\ºuûï_ºÕi®P&5"æ@¤Ô9é4{3§Ù›9ÍÞÌiöfR—½™ÃìÍœfoæ4{3©³7SºîÍœfoæ4{3©³7sšõŠÓ¬Wœf½âtÖ+g½â4ë§Y¯8ÍzEê¬W”®ë§Y¯8ÍzÅiÖ+Rg½â4ë§ËzÅYÖ+Rg½â4ë§Y¯8ÍzEéº^YëÝàoßN½½¶ýGŸÏÉ^mÏ.åD•û.¸ËÚý^p‡*kw—?u9!—?$aûŒö“`uI‚Ó$Aê$Aê$Áê’©“©“©“©K,.I:I:I:I°º$Ái’ u’ u’ u’`uI‚ÔI‚ÔK¤M¬.I:I:I:Ipš$lôœ„ã+±äÆcíevãíã$Ü÷~c¹%ßÏq{¼wôùá-³@LÚ\‡º½±wØ>òý½ƒÔ„Bê„Bé
-§ …Ó„Bê„ÂiBá4¡pšP8PHœP8M(œ&N
-©
-¥k(œ&N
-§ …Ô …Ó„Âé
-g …Ô …Ó„ÂiBá4¡Pº†b­?Šq<Ýš~/ó¢„bèÖwc^Ý`ò¶ºyÃË[BâHÃÎqhë9¯>ê[}»©:j7Ïð`ÔJQë4£ÖiF­ÓŒZ§3j%ΨušQë4£ÖiF­ÔµJ×Që4£ÖiF­ÓŒZ©3jfÔ:]F­³ŒZ©3jfÔ:ͨušQ«tµk=Úã¯Í2j‡éñ »kòùpLµ\ù«hÔµøÓÁ•×äÍÛë¯ï³¹cðûæÓž£Eúæ©,Òf‘.uéJ×EºÓ”ÃiÊ!uÊá4åpšr8M9œN9$N9œ¦NS§)‡Ô)‡ÒµNS§)‡Ó”Cê”ÃiÊát)‡³”Cê”ÃiÊá4åpšr(]˱Ös9ŽO¾¢}wšø^9æ/õ°H>j¾®Âr¥%·tæcóíï»ÿ±¹Õåcs©ó±¹ÔùØ\ê|l.u>6·zùØ\bªê4UušªJª*]«ê4UušªJª:MU¦ªNSU§SU‰SU§©ªÓTÕiª*uªªt­ªÓTÕiªê4U•:Uušª:]ªê,U•:Uušª:MU¦ªJת®uw3×%¦ª]sšvG»U½Þ÷cO}›ûmŽ­þ$}µM{æ„eóØÂâ4aqš°H°(]Ãâ4aqš°H°8MXœ&,N§‰§ ‹Ó„ÅiÂ"u¢t ‹Ó„ÅiÂâ4a‘:aqš°8]Ââ,a‘:aqš°8MXœ&,J×°¬õ–Þ†¥¹Î·n÷@ßð:,ÛÛ;~üÊ|¸î~­|îí\>]ylÎÞ­É–ƒŠ?–ëæóký¨w`Ùž›gx0<fx:Íðtšáét†§ÄžN3<fx:Íð”:ÃSé:<fx:Íðtšá)u†§Ó O§Ëðt–á)u†§Ó O§žN3<•®Ãs­?7<§WZÓí®Ê§_ëõªœ¹º+ã둺ÿaõã'-Fìùá;†ß}—ŸýxÕô#˜¶×{/WDoëÑwß¿›?¯ƒ÷¯Ó¼æýë4ï_©óþuš÷¯Óåýë,ï_©óþuš÷¯Ó¼æý«t}ÿ®õüþ=¾*FÞ¿Ímzí\w?Ó¯õòýûÉ›´ñå±íïºÿå1©s\ê·º—:GÁ¥ÎQp©s\ê·z9X!qVHƒRç`…Õå`…Ó¬:+¤ÎzÛê²Þ–:ëm©³Þ–:ëm©ËzÛâ²Þ–:ëm©³Þ–:ëm«K¯¦×R§×R§×R§×V—^K^K½ôZÚôÚêÒk©Ók©Ók©Ók§éõFw×O¬·§Ÿ·üu§×ó̓^®·Ûç37kÙOÞv•2n×A¦ŒNSF§)£Ô¥ŒSF§)£Ó”Qê”QéZF§)£Ó”Qê”ÑiÊè4etš2:2Jœ2:M¦ŒNSF©SF¥k¦ŒNSF§)£Ô)£Ó”ÑéRFg)£Ô)£Ó”ÑiÊè4eTº–q­»ë'κj.Í©½tûß¡ËÅ`–:v?Kÿ–o¹ýº¤[þù~„èùÖåc{?>µn+_€x<ÂÔç 2ï†`ó<B uB t Ó„ÀiB uBà4!pš8MœN$Nœ&N§ Ô Ò5N§ Ó„@ê„ÀiBàt ³„@ê„ÀiBà4!pš(]C°Öã°s=°§ ·S×\ŽB°Ü´l“šûª—CùõÓÙz!ýëfm¿ýëf9]}:Í¡O§9ô)u6xN³Ásš žÓlðœfƒ'uÙà9ÌÏiºî4]—:]WºvÝiºî4]—:]wš®;MצëN§ë§ëNÓu§éºÓt]êt]éÚu§éºÓtÝiº.uºî4]wºtÝYº.uºî4]wš®;Mו®]_ë¹ëú»ïM?½ÒÆö¨ëË}M_þ¬[°óö£þú½øüÿã ÿ\H¥åͳ;ÊN3”¥ÎPvš¡ì4CÙi†²ÓÊg(;ÍPvš¡ì4CYê e¥ëPvš¡ì4CÙi†²ÔÊN3”.CÙY†²ÔÊN3”f(;ÍPVºåµþÜPî†é¹n¶–;l.CùÒ”oʯ¿J1Öepþz¥Oß‹¼]® ¿¿]Ù<®ƒíŠÓlWœf»â4Û©ËvÅa¶+N³]qšíŠÔÙ®(]Ëè4etš2J2:M¦ŒNSF§SF‰SF§)£Ó”ÑiÊ(uʨt-£Ó”ÑiÊè4e”:etš2:]Êè,e”:etš2:M¦ŒJ×2®õ\ÆN†l»S?nWºúy×u¼_rëáïÉs£w»µyDÝršnI]ºå0Ýršn9M·¤N·”®Ýršn9M·¤N·œ¦[NÓ-§é–Óé–Äé–ÓtËiºå4Ý’:ÝRºvËiºå4ÝršnIn9M·œ.Ýr–nIn9M·œ¦[NÓ-¥k·ÖzéÖU^ž¾išSûxG÷vpyúW2û¿q‰zýæY z¥ë wšAï4ƒ^ê z§ôN3èfÐ;A/q½Ó z§ôN3è¥Î Wºz§ôN3èfÐKAï4ƒÞé2èeÐKAï4ƒÞi½Ó z¥ë _k7è³A™^–Cÿñþäm{Íù/Þy¹ºÙ|9s~oRgß±yXûÛ‰—]‡³Ùt8œ=‡Ã)‘Ä%D
-Ó!‡“!‡S!‰K„NƒN‚N.’¶ôÇáäÇáÔÇáÄGâÒ…IÃ)à ÃéŽÄ%;§:/Ñq4Í‘¸$ÇáÇáÇáôFar³Æcÿ‰Š®—Óp÷js¿pý—ks~¸(ýrw”Ýãa›‡´8ÌádIâ%KÎ&K'K'K—,)L–N–N–$.Yr8Yr8Yr8Yr¸dIÚ’%‡“%‡“%‡“%‰K–&K'K'K'K—,9œ,9¼dÉÑdIâ’%‡“%‡“%‡“%…ÉÒÏYÒßÊ\ÝËÒÛ_ÍRû¶{öæ!쟆ípNkp85t85t85”x©¡³Q§†§†—*L N N %.5t85t85t85t¸ÔPÚRC‡SC‡SC‡SC‰K ¦†§†§†§†—:œ:¼ÔÐÑÔPâRC‡SC‡SC‡SC…©áwÝ朅r‡Íf§—Òévyº”DŽþüó·ÿU"uJ
-endstream
+4238 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 402.942 null ] >>
endobj
-4294 0 obj
-<< /Type /Page /Contents 4295 0 R /Resources 4293 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R /Annots 4297 0 R >>
+313 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 308.541 null ] >>
endobj
-4297 0 obj
-[ 4225 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R ]
+4239 0 obj
+<< /D [ 4229 0 R /XYZ 79.37 296.022 null ] >>
endobj
-4225 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 759.955 197.477 769.031 ]/A << /S /GoTo /D (section.0.6) >> >>
+4228 0 obj
+<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F64 333 0 R /F15 334 0 R /F74 337 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4238 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 746.057 249.98 757.016 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
+4297 0 obj
+<< /Filter /FlateDecode /Length 7466 >>
+stream
+xÚåÝÍ®ÛXzFáy]…o Õâ¯$ `àœ²Ý@†AÍ‚LÓ£LrÿƒÜïÚ)‰\v!A€ Qhÿ<>¦Ž¥om’Ù|9Oÿû¯~i–üë?~ûüó·¿ÿhÛ/·ÓmlÇþËŸÿñ[ù½æËåvê._.cs:Í—?ÿóË¿ý~>wׯkní0ý°ý>ý´=Ÿ/ßÎç~þoúñx+ÿ?4ó¯}ý[wí~/?ë.ül¶ËŸkë¯\ÏçæüÎçôU¾•ŸÏ?žåX好ÿ=Ý~µül¶õWæ¯?.ÛеóW¼ôo¶éš¯ûðêÖ´_ÿýÏùíüåŸÓ·åõÛ3}SsyúõßÝ<}§7ßÖîvjúŽ?5õÛÚ|–Mn§t9ûßïßœ6߶>ôîR~eó†Ïߺéqóm{¹áçþÔ÷×í& ó?[ûfãÿþ£^=Gšékµó7¡½œšëõþp¦¯u]¾Þßšs;?œ¡ûÚ^üwB7?„¶»oòò@Çü‹/¿[ú~…«ò<:ø*¯¾íÐNÿ·íF××zœþ[¯/§ I|Nc×X}íNݵµúÖœš®Óú:m¶ÕÝyœ¶»·ºé§í¬nÛi»G­oÓv_¬î.ÓvÛ®¦íÖzè¦í¶O“nzR]=¾žÆÞ>MºËxênöiÒ]ûih==©®7ý4¹Ý¦í¶O“þ|™¶Û>Múf˜¶Û>MúéIu½iݧí¾h}¶Û>Mú~œ¶ÛþË÷Ó“JÛ©CãÐh};õg­/“쳤ŸžS·³}–ô·vÚnû,ÎÃéÖ?í½xÕX5—SÛNÿRÓs§íºçX=D«éû_‰ÖËÙ:mòõÒoÿÚw“¸éNc;XÝ6SʼžŠßŽVwã´Ý«û~Úî«Õ$Øi,uI°Ã$Øiì4 –: Vº&Øiì4 –: vš;M‚&ÁN'Á'ÁN“`§I°Ó$Xê$Xéš`§I°Ó$Øi,uì4 vº$ØY,uì4 vš;M‚•® ÞèŸJð¹›ö¯ï<~Ö÷—¿º·G~×åQ~&¿R'¿N“_§É¯Óä×iò+uɯÃä×iòë4ù•:ùUºæ×iòë4ù•:ùušü:M~&¿N'¿'¿N“_§É¯ÓäWêäWéš_§É¯Óä×iò+uòë4ùuºä×Yò+uòë4ùušü:M~•®ùÝh•ß®§gñ4f¶ù]²[×öMIî|@|9–|~qp¿[HÏáÚúë}ŽJ/òH/'®Kâ÷‚µÙðƒ`Y½KâKêKêËê,§ –Ô –Ô –Õ%XR'XR'XR'XR—`Y\‚%u‚%u‚%u‚eu –ÓKêKêKêËê,©,©—`I›`Y]‚%u‚%u‚%u‚å4ÁÚêv ŽÛ_糦ãå9XO‡l/Íæ ñÎ9Ã)bËáÝù¤iÿY~Üv_ÿ¶ü V¯ÝÝ=ÛlÙÁî™ÔÔÎij'u©ÃÔÎijç4µ“:µSºÖÎijç4µ“:µsšÚ9M휦vN§v§vNS;§©ÓÔNêÔNéZ;§©ÓÔÎij'ujç4µsºÔÎYj'ujç4µsšÚ9Mí”®µÛ蟪Ý4£û¦}W»‡££¯k·ül~TSÐr”ôZË÷yß9ëǯ*xDi½qGQ’ºDÉa¢ä4Qrš(I()]£ä4Qrš(I(9M”œ&JN%§%‰%§‰’ÓDÉi¢$u¢¤t’ÓDÉi¢ä4Q’:Qrš(9]¢ä,Q’:Qrš(9M”œ&JJ×(mô<ñ?ì1Ãa8õÃó.ØG=fØ}/1ZÞ)óã¾ÓU~ž]­Õ›kk°8ª¸zMß–wÁvíîZþüåÛq°HÐzÃä0 rš9M‚¤N‚”® rš9M‚¤N‚œ&AN“ §IÓIÄIÓ$Èiä4 ’: Rº&Èiä4 ršI9M‚œ. r–I9M‚œ&AN“ ¥k‚6zîÃÍ&¨ïNÃùi¿húóõ´ÕG> ‘£ys†øŸïè??_0ehøYÓfÿhèëÑÀ×`~{ʲ#uýzå \ºýh¬ÅQ4œ&R'J×h8M4œ&R'N §‰†ÓDÃéDCâDÃi¢á4ÑpšhHh(]£á4Ñpšh8M4¤N4œ&N—h8K4¤N4œ&N §‰†Ò5Ý.D”Óºæ4ô—çh<:¯#œ§{ó£{;áy#âç}Ï¥ÿ|ÞW™bÒüè÷÷OÖx°â0©qšÔ8Mj¤Nj”®©qšÔ8Mj¤Njœ&5N“§IÓIÄIÓ¤ÆiRã4©‘:©Qº¦ÆiRã4©qšÔHÔ8Mjœ.©q–ÔHÔ8Mjœ&5N“¥kj6ú§RÓÜNíy—š‡ó6O©Y…¹Œ«
+ëm?ÚSpš=§ ‹Ô ‹Ò5,N§ ‹Ô ‹Ó„ÅiÂâ4aq:a‘8aqš°8MXœ&,R',J×°8MXœ&,N©§ ‹Ó%,Ω§ ‹Ó„Åi¢t ËFϺ³{
+Ã44šç=…ëÓ[˜Úq¾héý3C.ãÒ^Vïp­—ciûמ˿ÌqY¢4ÇgL’®âS„ë7M q[¶°ä*¿7–úóö~±Õ\ÛíÝNÓhý}9šFN3œf9Í4’:ÓHé:œf9Í4rši$u¦‘ÓL#§Ë4r–i$u¦‘ÓL#§™FN3”®Óh£jõÓŠñí0zx“Kû±wâñõ¡Þ¬\op-ÿÕÓÞGÌÃMVkçã±ø|›¿0w_«ïÞÑ‹Ba^
+——„¢¼"Î Ba^
+órP˜WƒÁõÅ°Æ?õZè¦/qÞ¾îgõ»æþ-vùæÊÕ§ÕËwqý¿{‘äy¿þ¶=ñ.Ï|gyêKç¾Ó<ùæÙï4O¥ëó£[q›zÌ£¾«OÏÿåv6ùPðø5÷ÛÉñæå8Ç-Oæþv•±µÇ=_&õ¥4?A×OÞý«‡{tü@a8œ£
+sð@aŽ(Ì¡…³Vw6Ku…Y©+ÌB]aÖég™np]¥+Ì"]aÖè
+³q8CYaf²Âe$+ÊDv8Yaæ±ÂŒc…™Æ×a¼¨Ó(»ØÇMsº½Æ}Æ|†iùr õoGWWw}{U…æ:=¨¶ÙþeoUs;ŸºK«õõÔ´Ô\Ø]ê\Ø]ê\ØÝêraw©så@©så@©s‘&©ó 4«Ë™‡9Sà4g
+œæLÔ9S t ½Ó”ÞiR/uZï4±wšÚ;MîNï%Nð¦øN“|§i¾Ô‰¾ÒµúN“}§é¾Ó„_ê”ßiÒïti¿³Ä_êÔßiòï4ýwš€Òu°Éøçî}9÷îÝÚOõ=_î}în2šýöæñF¢ËîØùý]Uù´Áå\nQÚµe(;Ró{Šêoì\™‰;n·ïS\#1lšÍp«w¥íê#›³\úû±‘eïªnˆºù¢»›stCÔ~Oí¹¿oàÓ Q_ßØF]’øáZ{ £Í6,Œ¤ÎÂÈê²0’: #©³0’: #©³0²zYIœ…‘ÔYI…‘Õeaä4 #©³0’: #«ËÂHê,Œ¤ÎÂHê,Œ¤. #‹ËÂHê,Œ¤ÎÂHê,Œ¬. #§YI…‘ÔYI…‘Õea$uFR/ #i³0²º,Œ¤ÎÂHê,Œ¤ÎÂÈiF­– µÇS-Úþ¶íñÃoîªÙ‡÷C¿¾jåúHòóqê¿zå˜ý¿~@G3^é:ãfÆ;ÍŒ—:3Þif¼ÓÌx§™ñNgÆKœï43Þif¼ÓÌx©3ã•®3Þif¼ÓÌx§™ñRgÆ;ÍŒwºÌxg™ñRgÆ;ÍŒwšï43^é:ã×z™ñö
+Å}מÚÛÓ>×ÊçÝÞû™E.‘ÿ¼«ø~Â/ûeß~¥cyãÝý­oû;¥uå¿~PG+©S¥kœ¦
+NS©S§©‚ÓTÁiªàtª qªà4Upš*8M¤N”®Upš*8Mœ¦
+R§
+NS§Kœ¥
+R§
+NS§©‚ÓTAéZ…µž« /<MêS×=­ü.<þÁ}.ëÝ(ÛW·Uúõôæ¶*÷Û­ì`[oÈÑ6©s€Íi°9Í6§9Àæ4ؤ.Øæ
+¡ÂtPa2¨0t¸DPY¨0 T˜:œ
+S>…>gÓ=…ÉžÂTOa¢çpšgpMžÂOa‚§0½s8¹S˜Ú)\b§(­s8©S˜Ò)Lè¦s×Ì­ðR9{1©nlOÃ0<eîã/g®ý¨Á^~¦wþØþ-ÿûíYoäQ|¤.õq˜ü8Mœ&@R§@J×9Mƒœ&BR§BN“!§éÓ„Èé”Hâ¤ÈiZä41ršI)]{ä4Arš"9M’¤N“œ&JN—*9K–¤N—œ&LNS&§I“ÒµMk½ìílœ†éßw›¦Ç3ª¿˜¦qþ ÉÇüÎÉÝ3©«¿þà<ª³Ù£3–:cÙŸ3–¤KP•-95”˜KJ%¤Ê&£ÂÖˆKB% Ê&ŸÆOcI§±„ÓØdSÑDÓX’i,Á4–\*›X
+[Si,¡4–LK$•M"%Æ–<I•M%ŒÆ’Ec‰¢°5‰v¢¾ N×ͯ•§½µ‡Kÿþbë
+„ýù3훫^vK»;êVõhÒ)Ì S8sÎÙŒ9…™r
+3äfÆ9œgpp
+3àf¾)Ìxs8ÓMa†›Âe¶)Êhs8“Ma›ÂÌ5…kש¶ÂóPûÅ+§tÓ¨»\ÚÇKb^æÃ[ÓÂﹺéæÚ"áÍû _]Vmÿ=ƒë¿tÞü_¾þH;}û®Íeý
+Åi–(Rg"u)Rg•buY¦HuŠÔËBEÚ¬T¬.K©³V‘:‹©³ZqšåÊFïÿ)ð×éÅ7¶¯?¿rx·#v)ï!¹_ýšÛ­Üo
+sx]“vwùS—rùS“°yDI:IPº&Ái’à4I:Ipš$8Mœ& N' ' N“§I‚Ó$Aê$A隧I‚Ó$Ái’ u’à4Ipº$ÁY’ u’à4Ipš$8M”®IXë% òf$íôzºÇ×I¸ïûåæ<ß¹ƒðÃ%ÀÏ/‡¶Ì1ážÄýxx”­î;l¶ü`ßÁiB!uB¡t …Ó„ÂiB!uBá4¡pšP8M(œN($N(œ&N
+§ …Ô …Ò5N
+§ …Ó„Bê„ÂiBát …³„Bê„ÂiBá4¡pšP(]C±Ö?Ša<݆f/ó>D ÅЭo˸ºéÔmu­ç··‰Â=Þ®ž73´õÍ ïNq:GÜ¢ŽÚÍ#<µRgÔ:ͨušQë4£ÖéŒZ‰3jfÔ:ͨušQ+uF­ÒuÔ:ͨušQë4£VêŒZ§µN—Që,£VêŒZ§µN3jfÔ*]GíZ/£v°£¶Ÿ¶ï¶»&ŸÇ”QË…b¹vE]‹?\y½&oþx<ßþ|qùÍ]?7g{Ž雇r°HwšEºÔY¤+]éNS§)‡Ô)‡Ó”ÃiÊá4åp:å8åpšr8M9œ¦R§J×r8M9œ¦NS©S§)‡Ó¥ÎR©S§)‡Ó”ÃiÊ¡t-ÇZw7ó.+ÊÑu§s¿»HŸ?qÃ"ýù]Oóå –ë¹¥s=m¾ù{N›KÓæNsÚÜiN›;Íis§9m.u9mî0Uušª:MU¥NU•®Uušª:MU¥NU¦ªNSU§©ªÓ©ªÄ©ªÓTÕiªê4U•:UUºVÕiªê4UušªJª:MU.Uu–ªJª:MU¦ªNSU¥kU×z®j§«:uë|ÝÝ›?´ÃþØÓ©os{®±ÕgÒW»iïÓœ°l¶ý ,N§ ‹Ô ‹Ò5,N§ ‹Ô ‹Ó„ÅiÂâ4aq:a‘8aqš°8MXœ&,R',J×°8MXœ&,N©§ ‹Ó%,Ω§ ‹Ó„Åi¢t ËZ/aélXÎÓ.N·Nex–íÝ ^ŸC™×ݯPÏ­ ËÙ•ÇæÜOÚ?7g9¨øm¹Z=_ë[½ïÉîðÜ<ƒáé4ÃÓi†§Ó O§3<%Îðtšáé4ÃÓi†§ÔžJ×áé4ÃÓi†§Ó O©3<fx:]†§³ O©3<fx:Íðtšá©tžk=ÏãÏgx6·éÑ\†ÝáÙï¬Ê˜íãè{?R÷OV?ži¹0bÏŸ&|}³>þôãµÊߌ`Nl¯O{/×!oëuÈ÷^¿Ûï×þëWê¼~¥ÎëWê¼~­.¯_©óú•zyýJ›×¯Õåõ+u^¿Rçõ+u^¿NóúÝèŸ{ý^‡éÿwwª»÷/ߟ¼3ŸÛü¥ûs8‡ÀÎp‰Ëp‡süÛáþv8G¿ÎÁo‰—CÎæ…Ã9@ápŽOH\O(ÌÑ ‡spÂá,¯%.«k‡³¸v8kk‡³´v¸¬¬¥- k‡³®v8Ëj‡³ª–8Q6¸6Ya’¬0EV˜ ;œ+LŽ.5V”;œ+LŠ¦Ä
+bƒk‡W¸»þÄ1ˆæÒÚqw=߉çí2º}~¿åf‰ú“÷0¥z›í:ÈžÓtÏiÂç4哺¤ÏaÚç4ñsšúIü)]ûç4tšJ:M&‚NSA§“A‰ÓA§ ¡Ó”ÐiR(uZ¨t¡ÓÔÐirè4=”:Atš":]’è,M”:Qtš*:M¦‹J×0®õ8üÄ›©šé;µp¾^âe‰c÷½äoùìÚû‰ÚòóûqŸçÛ€íý¨Ó:­|¬áñ¸QŸ9<œ:ÞíÀúadÀáTÀà…i€Â$Àá@a 0ó_aƿ™þÎfø+ÌìW˜Ñ¯0“ßá ~ƒëÜW˜±¯0S_a†¾Ã™ù
+3ò._Q¾Ã™÷
+3îfÚ+Ì°7¸ÎúžGýÛ y=úþvê†áhÖ/wÏ,;BÍý“ÐË1øzZµ^kpï‚WÛ¿oÿ‚WN×£–NsØÒiŽ[J]8§Ù…sš]8§Ù…sš]8©Ë.œÃìÂ9Mº¦ÝR'ÞJ×z;M¾¦ßR'àNSp§I¸Ó4ÜéD\âTÜi2î4wšK’+]Sî4-wš˜;MÍ¥NΦçN— ;KÑ¥NÒ¦éNu§©ºÒ5ëk=wýø‚Wt}ýQÕ—»€¾9¼Y÷±ÎÛ3ôõãìùïõ•‰ÿ®RGòê± dcÇÊfË(6–Al,cØØ aE3‚e
+[ì£]Æ«½&HÓ§¾?° ØKS>¬¾þ4Ã<$—!øãq,>}4ñZt¹ûþŽÇf»v<œfÇÃiv<œfÇCê²ãá0;N³ãá4;RgÇCéZ9§éœÓ”Nê´Îijç4½sšâ9æIœê9M÷œ¦|NÓ>©S?¥kÿœ¦€NÓ@§© Ôé Ó”ÐéÒBg©¡Ôé¡ÓÑišè4UTºvq­ç2vW[Ʀ;õ×ÛQ»zòˆK+Þ¯zõðãòíÉ»ÝÚlÑA·œ¦[R—n9L·œ¦[NÓ-©Ó-¥k·œ¦[NÓ-©Ó-§é–ÓtËiºåtº%qºå4Ýršn9M·¤N·”®Ýršn9M·œ¦[R§[NÓ-§K·œ¥[R§[NÓ-§é–ÓtKéÚ­µvÝÊâ›ssº×{tWˆÿöx1±ÿW‰gÐoÕÁ Wºz§ôN3è¥Î wšAï4ƒÞi½ÓôgÐ;Í wšAï4ƒ^ê z¥ë wšAï4ƒÞi½ÔôN3è.ƒÞY½ÔôN3èfÐ;Í Wºúµ^ÝÙkL^o§áòzÿäc{Ù÷ùÍCÿpÁ’öóÕ½»D y°W÷kÌýˆ_¼#nþ¨zý˜úÇÌÌW-ëæŒ|ìÚÍãÛŸ³—1ëp¦¬Ã²gÆ:\F¬´eÂ:œëpæ«Ã¯—éª0ÃÕáÌV‡3ZÎd•¸ V‡3W^ƪ£™ª—¡êpfªÃ©g¢*Ì@]㟚§ÓÛ~ožÞ¯Žþ‹·u_Fßü ÖÍ{+ßÇÙlÖþa‰—£8Îæ ŽÃ9†ãpVö—…½Â¬ëNmNm$.µq8µq8µq8µq¸ÔFÚR‡S‡S‡S‰Km¦6§6§6§6—Ú8œÚ8¼ÔÆÑÔFâR‡S‡S‡S…©ÍýæÄû<·¦¹<ŽÓSét»\·mIš¾ÿùÛ(>f|
+endstream
endobj
-4239 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 734.102 202.349 745.061 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
+4296 0 obj
+<< /Type /Page /Contents 4297 0 R /Resources 4295 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R /Annots 4299 0 R >>
endobj
-4240 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 723.98 200.416 733.106 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
+4299 0 obj
+[ 4227 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4293 0 R ]
+endobj
+4227 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 758.062 378.259 769.031 ]/A << /S /GoTo /D (section.0.5) >> >>
endobj
4241 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 710.311 243.704 721.26 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 738.037 197.477 747.113 ]/A << /S /GoTo /D (section.0.6) >> >>
endobj
4242 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 700.07 231.559 709.195 ]/A << /S /GoTo /D (subsubsection.0.6.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 724.139 249.98 735.098 ]/A << /S /GoTo /D (subsection.0.6.1) >> >>
endobj
4243 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 688.114 244.312 697.24 ]/A << /S /GoTo /D (subsubsection.0.6.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 712.184 202.349 723.143 ]/A << /S /GoTo /D (subsubsection.0.6.1.1) >> >>
endobj
4244 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 674.326 252.591 685.395 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 702.062 200.416 711.188 ]/A << /S /GoTo /D (subsubsection.0.6.1.2) >> >>
endobj
4245 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 662.491 269.318 673.33 ]/A << /S /GoTo /D (subsection.0.6.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 688.393 243.704 699.342 ]/A << /S /GoTo /D (subsection.0.6.2) >> >>
endobj
4246 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 652.249 256.257 661.375 ]/A << /S /GoTo /D (subsubsection.0.6.4.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 678.152 231.559 687.278 ]/A << /S /GoTo /D (subsubsection.0.6.2.1) >> >>
endobj
4247 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 638.471 267.465 649.42 ]/A << /S /GoTo /D (subsubsection.0.6.4.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 666.197 244.312 675.322 ]/A << /S /GoTo /D (subsubsection.0.6.2.2) >> >>
endobj
4248 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 626.515 283.794 637.464 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 652.408 252.591 663.477 ]/A << /S /GoTo /D (subsection.0.6.3) >> >>
endobj
4249 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 614.67 259.216 625.509 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 640.573 269.318 651.412 ]/A << /S /GoTo /D (subsection.0.6.4) >> >>
endobj
4250 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 602.715 285.228 613.554 ]/A << /S /GoTo /D (subsubsection.0.6.4.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 630.331 256.257 639.457 ]/A << /S /GoTo /D (subsubsection.0.6.4.1) >> >>
endobj
4251 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 592.473 260.89 601.599 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 616.553 267.465 627.502 ]/A << /S /GoTo /D (subsubsection.0.6.4.2) >> >>
endobj
4252 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 578.246 356.78 590.202 ]/A << /S /GoTo /D (subsubsection.0.6.5.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 604.598 283.794 615.547 ]/A << /S /GoTo /D (subsubsection.0.6.4.3) >> >>
endobj
4253 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 566.291 423.071 578.246 ]/A << /S /GoTo /D (subsubsection.0.6.5.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 592.752 259.216 603.591 ]/A << /S /GoTo /D (subsubsection.0.6.4.4) >> >>
endobj
4254 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 554.336 434.598 566.291 ]/A << /S /GoTo /D (subsubsection.0.6.5.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 580.797 285.228 591.636 ]/A << /S /GoTo /D (subsubsection.0.6.4.5) >> >>
endobj
4255 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 542.939 298.12 553.888 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 570.555 260.89 579.681 ]/A << /S /GoTo /D (subsection.0.6.5) >> >>
endobj
4256 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 532.697 179.455 541.823 ]/A << /S /GoTo /D (subsection.0.6.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 556.329 356.78 568.284 ]/A << /S /GoTo /D (subsubsection.0.6.5.1) >> >>
endobj
4257 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 509.066 226.618 519.965 ]/A << /S /GoTo /D (section.0.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 544.373 423.071 556.329 ]/A << /S /GoTo /D (subsubsection.0.6.5.2) >> >>
endobj
4258 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 487.148 153.283 497.987 ]/A << /S /GoTo /D (section.0.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 532.418 434.598 544.373 ]/A << /S /GoTo /D (subsubsection.0.6.5.3) >> >>
endobj
4259 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 475.073 196.72 486.032 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 521.021 298.12 531.97 ]/A << /S /GoTo /D (subsection.0.6.6) >> >>
endobj
4260 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 463.118 285.168 474.187 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 510.779 179.455 519.905 ]/A << /S /GoTo /D (subsection.0.6.7) >> >>
endobj
4261 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 451.163 215.52 462.122 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 487.148 226.618 498.047 ]/A << /S /GoTo /D (section.0.7) >> >>
endobj
4262 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 439.208 278.842 450.386 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 465.23 153.283 476.07 ]/A << /S /GoTo /D (section.0.8) >> >>
endobj
4263 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 427.263 207.39 438.212 ]/A << /S /GoTo /D (subsection.0.8.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 453.156 196.72 464.114 ]/A << /S /GoTo /D (subsection.0.8.1) >> >>
endobj
4264 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 405.385 343.181 416.354 ]/A << /S /GoTo /D (section.0.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 441.2 285.168 452.269 ]/A << /S /GoTo /D (subsection.0.8.2) >> >>
endobj
4265 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 393.38 222.155 404.339 ]/A << /S /GoTo /D (subsection.0.9.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 429.245 278.842 440.423 ]/A << /S /GoTo /D (subsection.0.8.3) >> >>
endobj
4266 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 381.425 221.168 392.493 ]/A << /S /GoTo /D (subsection.0.9.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 417.3 207.39 428.249 ]/A << /S /GoTo /D (subsection.0.8.4) >> >>
endobj
4267 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 369.031 250.508 380.986 ]/A << /S /GoTo /D (subsection.0.9.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 395.422 343.181 406.391 ]/A << /S /GoTo /D (section.0.9) >> >>
endobj
4268 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 357.514 209.691 368.583 ]/A << /S /GoTo /D (subsection.0.9.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 383.417 222.155 394.376 ]/A << /S /GoTo /D (subsection.0.9.1) >> >>
endobj
4269 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 345.559 235.007 356.518 ]/A << /S /GoTo /D (subsection.0.9.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 371.462 221.168 382.53 ]/A << /S /GoTo /D (subsection.0.9.2) >> >>
endobj
4270 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 333.166 331.933 345.121 ]/A << /S /GoTo /D (subsection.0.9.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 359.068 250.508 371.024 ]/A << /S /GoTo /D (subsection.0.9.3) >> >>
endobj
4271 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 311.806 184.546 322.645 ]/A << /S /GoTo /D (section.0.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 347.552 209.691 358.62 ]/A << /S /GoTo /D (subsection.0.9.4) >> >>
endobj
4272 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 301.564 182.752 310.69 ]/A << /S /GoTo /D (subsection.0.10.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 335.596 235.007 346.555 ]/A << /S /GoTo /D (subsection.0.9.5) >> >>
endobj
4273 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 287.895 281.114 298.844 ]/A << /S /GoTo /D (subsection.0.10.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 323.203 331.933 335.158 ]/A << /S /GoTo /D (subsection.0.9.6) >> >>
endobj
4274 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 275.821 266.498 286.889 ]/A << /S /GoTo /D (subsubsection.0.10.2.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 301.843 184.546 312.682 ]/A << /S /GoTo /D (section.0.10) >> >>
endobj
4275 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 265.699 308.71 274.934 ]/A << /S /GoTo /D (subsubsection.0.10.2.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 291.601 182.752 300.727 ]/A << /S /GoTo /D (subsection.0.10.1) >> >>
endobj
4276 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 253.743 268.292 262.979 ]/A << /S /GoTo /D (subsubsection.0.10.2.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 277.933 281.114 288.882 ]/A << /S /GoTo /D (subsection.0.10.2) >> >>
endobj
4277 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 240.075 208.436 251.024 ]/A << /S /GoTo /D (subsubsection.0.10.2.4) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 265.858 266.498 276.926 ]/A << /S /GoTo /D (subsubsection.0.10.2.1) >> >>
endobj
4278 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 229.833 258.718 239.068 ]/A << /S /GoTo /D (subsubsection.0.10.2.5) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 255.736 308.71 264.971 ]/A << /S /GoTo /D (subsubsection.0.10.2.2) >> >>
endobj
4279 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 217.878 316.441 227.113 ]/A << /S /GoTo /D (subsubsection.0.10.2.6) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 243.781 268.292 253.016 ]/A << /S /GoTo /D (subsubsection.0.10.2.3) >> >>
endobj
4280 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 205.923 397.756 215.158 ]/A << /S /GoTo /D (subsubsection.0.10.2.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 230.112 208.436 241.061 ]/A << /S /GoTo /D (subsubsection.0.10.2.4) >> >>
endobj
4281 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 192.144 194.479 203.093 ]/A << /S /GoTo /D (subsubsection.0.10.2.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 219.87 258.718 229.106 ]/A << /S /GoTo /D (subsubsection.0.10.2.5) >> >>
endobj
4282 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 180.189 223.271 191.138 ]/A << /S /GoTo /D (subsubsection.0.10.2.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 207.915 316.441 217.151 ]/A << /S /GoTo /D (subsubsection.0.10.2.6) >> >>
endobj
4283 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 168.224 274.508 179.293 ]/A << /S /GoTo /D (subsubsection.0.10.2.10) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 195.96 397.756 205.195 ]/A << /S /GoTo /D (subsubsection.0.10.2.7) >> >>
endobj
4284 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 156.279 185.562 167.337 ]/A << /S /GoTo /D (subsubsection.0.10.2.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 182.182 194.479 193.131 ]/A << /S /GoTo /D (subsubsection.0.10.2.8) >> >>
endobj
4285 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 144.314 300.033 155.382 ]/A << /S /GoTo /D (subsubsection.0.10.2.12) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 170.227 223.271 181.175 ]/A << /S /GoTo /D (subsubsection.0.10.2.9) >> >>
endobj
4286 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 132.478 227.614 143.317 ]/A << /S /GoTo /D (subsubsection.0.10.2.13) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 158.261 274.508 169.33 ]/A << /S /GoTo /D (subsubsection.0.10.2.10) >> >>
endobj
4287 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 122.236 238.005 131.362 ]/A << /S /GoTo /D (subsubsection.0.10.2.14) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 146.316 185.562 157.375 ]/A << /S /GoTo /D (subsubsection.0.10.2.11) >> >>
endobj
4288 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 108.568 286.653 119.517 ]/A << /S /GoTo /D (subsection.0.10.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 134.351 300.033 145.42 ]/A << /S /GoTo /D (subsubsection.0.10.2.12) >> >>
endobj
4289 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 96.493 244.073 107.452 ]/A << /S /GoTo /D (subsubsection.0.10.3.1) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 122.515 227.614 133.355 ]/A << /S /GoTo /D (subsubsection.0.10.2.13) >> >>
endobj
4290 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 84.538 240.317 95.606 ]/A << /S /GoTo /D (subsubsection.0.10.3.2) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 112.274 238.005 121.4 ]/A << /S /GoTo /D (subsubsection.0.10.2.14) >> >>
endobj
4291 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 72.583 219.285 83.651 ]/A << /S /GoTo /D (subsubsection.0.10.3.3) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 103.28 98.605 286.653 109.554 ]/A << /S /GoTo /D (subsection.0.10.3) >> >>
endobj
-4296 0 obj
-<< /D [ 4294 0 R /XYZ 78.37 808.885 null ] >>
+4292 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 86.53 311.739 97.599 ]/A << /S /GoTo /D (subsubsection.0.10.3.1) >> >>
endobj
4293 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 74.575 244.073 85.534 ]/A << /S /GoTo /D (subsubsection.0.10.3.2) >> >>
+endobj
+4298 0 obj
+<< /D [ 4296 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4295 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F22 367 0 R /F15 334 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
-4306 0 obj
-<< /Filter /FlateDecode /Length 1098 >>
+4310 0 obj
+<< /Filter /FlateDecode /Length 1389 >>
stream
-xÚ½šËn#7E÷þŠþáU|ÑŒ=À,í‚l3«lòÿ‹E^Êzµo 0„nwŸ¦JyO—å°yûùëçÎ;¿~9ž^>¿…´5ײä¸þxçÂBq"u+98ŸÃvúsûí‹÷I¼/ͶÕûüËØj;|Ê1ÚÙÜ{³‡>©ª‰v$|µí7;z4âÛø½ï_¨l$-–Ãï§/~ûi5|_µˆfWK¹«¥>¦ctùAåOè$NKcéì]ž.®Ò…”ä²–®ê´
-K·à‚*MW+›¥Õg«;²tˆVwbi«;Ót³ºÙi¢Z¬nöÓј¬nšNju³ÓDmRU®.GvšhÉN;M´F"MÛ¤ªž&­YÝì4‰¾XÝì4‰!YÝì4‰6©j£iõVw¡éju³Ó$Ælu³Ÿ|´IE³Fåhº¹èiº;K¢Í©æÙY›XÝì,I>¹ïÆV5£¤óáNyw~‹ÍŸwýVÿ£ß›U»ßdçíq^Yí|Ü·ÍMû¶á`؆£aŽ†mHzÚ†¢—m8¶áh؆¤§m8¶áh؆£aŽž¶!áiŽ†m8¶áh؆¤§m(zÙ†£aŽ†m8¶!éiŽ†m8z؆ca’ž¶áh؆£aŽ†m(zÙæšî¶‰¯¬m´¿šÝnÊ̵ls¨Ý1ER;`â)þÈ~ødXhÙÆÌËQɺ+-«×j·Ó2¼ÕÍ$ÇAôûu6"FÑ16ž3Ëû1ŠŒkÆèËŽr]“Ê´¤ŸãÌc²®HqœíG±ß_÷y9Žy>z£”ýåqó¦°<8z,ŽÅò é¹<8˃£±<8˃¢×ò¸¦ã«}>GvyˆE«ñÞòˆXIÿÝTùWEc<ó:rGDÇ£ß?ªìkýæMÙ×: O­s4´ÎÑÐ:GCë$=µNÑKë ­s4´ÎÑÐ:IÏÜâhäGÜâXäIÏÜâhäG#·8¹EÑ+·®é–[AÄÝRo­~±¹ÌLi[>O¦Åtþ8öEgðCÏ?¹6hAG8îw{ׯêƒfƒg¯ÇÀ«Õ£`tzŒFƒgŸGÁhó(]Ã<eÀ±Ó P0L@ÁO0ðÒ
-ŽFrp4¢ƒ£‘$=ã‘=âƒc‘$=„£‘ áhdE¯¹¦Ï)RŸ¤Èç7‘G_º—æ´l¹oryŸ)ÉÖkÐäû ÞëõDg[ò“S]‘Gcöœšw¸Ïþ @šw!g[ ®•zwñøŽåõôò7Ã;?
+xÚ½šÍnã6F÷y
+¿@4ü)q' Ë"»¢ÛÎj6}ÿE/Íûɱ“(g  ;Ò}e_~G´Áþþùqˆç|¿;=ß}yŠóaÖšj9<ÿ}7öÅCŒmJi9´§Pãáùçáϯ!Ì)„¶ÚýB}Ðýñ¾–b{«ý—Ÿì–Ž÷9gÛRlKüÍî¿ÙÖ“ßÆÿýñ…šCéää©uüëù÷»pøaµ|ßjJ¥LõšÞ¡ç4å¶Rº†)&N·iÁ…´yª9RzÉS^¥×8Åœ1½XٔΡZÝ…Ò±XÝ3¥S²º+¦W«»Q:7«›¾;¹ÌV7¦çluÓ6ÉÖT ‡—©Ú&¹Õ)¯´MòR¦X0mMµ¬¸MÖÕê¦mRB³ºi›”8[Ý´MŠ5Õ²b:«»az±ºi›”R­núÎk*ÌUçˆéu*Ó­Mq¦]R¬§Ö@»¤¬Éê¦]2‡yZË«±sîö9_É앹Ê:ÅP÷Ì•×Ïš+=¼´)š{æW5¼Ëo1UJç:-­QZÎd´œÉh9ÒÙ –3-g2Z΄´;Ñ›3-g2Z΄´;“Ñr&£åLFË™ŒvgBØÉh9“Ñr&£åLH»3½9“Ñr&£åLFË™vg2ZÎdôp&cåLH»3-g2ZÎd´œ‰èÍ™×twf^¨3s?›ÝÕžõIgÖh#Ùh¥íûí¦–üÆhùÑò¤‡ß,¿1Z~c´üi÷¢7¿1Z~c´üi÷£å7FËoŒ–ßí~ƒ°ûÑò£å7FËov¿!zó£å7FËoŒ–ß í~c´üÆèá7ÆÊov¿1Z~c´üÆhù ћ߮éî·Z¨ß’õŽuÚÞ§™ó'ýŸ¬¢Òý–y¾×§›‹í/û¶¹©qß6 –m-Û0Z¶´ÛÑ›m-Û0Z¶´Û†Ñ² £eFË6ŒvÛ@ØmÃhنѲ £eH»m½Ù†Ñ² £eFË6vÛ0Z¶aô° ceH»m-Û0Z¶a´lƒèÍ6×tyü•O cžRÙ•M¹Èæ¸tÅ´tLK§£¤ÓÂq®_‡>j:dµ1ëå«4[\å¶-µÖ[…å6´ÕÅÔ¿rëD±g#j”<ÆÖsÖôrŒ–Æ1côMŽéº¦œ\’ÁÇñmi;b.coߪÇý¼ÏC¤ÓØQýÖ ¥ìÏŽë×üƒÉà17ª©Á`ŸÖÄ@°æ‚5-¼ÍŠ+¸OŠú@'EˆSZv/ÁrÖ¬˜óëÿq2ô1Æ3o[NcKÊãÖ¯sÚ—ùÍ‹²/s»Ì-™3Z2g´di—9¢7™3Z2g´dÎhÉÒWŒV^1zc•XöÈb´2‹Ñ
+-F+µ½ÅÖ5ýK¹U—u²eÎNl•Ç[™_$ž<FÚH’ï'ÓÆtþ4§ìÁw½ðvÈõ°ÑÂs„ãîïæ¬ö—x+<kÇ`_ß1Ø—w«;ûâŽÁ¾¶c°Û€ÁC.`°«€Án» <<€`i€Án»ì€ðP
endstream
endobj
-4305 0 obj
-<< /Type /Page /Contents 4306 0 R /Resources 4304 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4143 0 R /Annots 4308 0 R >>
-endobj
-4308 0 obj
-[ 4292 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R ]
-endobj
-4292 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 758.012 231.609 769.081 ]/A << /S /GoTo /D (subsubsection.0.10.3.4) >> >>
+4309 0 obj
+<< /Type /Page /Contents 4310 0 R /Resources 4308 0 R /MediaBox [ 0 0 595.276 841.89 ] /Parent 4047 0 R /Annots 4312 0 R >>
endobj
-4298 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 746.057 257.761 757.016 ]/A << /S /GoTo /D (subsubsection.0.10.3.5) >> >>
+4312 0 obj
+[ 4294 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R ]
endobj
-4299 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 734.102 432.127 745.17 ]/A << /S /GoTo /D (subsubsection.0.10.3.6) >> >>
+4294 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 758.012 240.317 769.081 ]/A << /S /GoTo /D (subsubsection.0.10.3.3) >> >>
endobj
4300 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 722.147 350.832 733.215 ]/A << /S /GoTo /D (subsubsection.0.10.3.7) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 746.057 219.285 757.126 ]/A << /S /GoTo /D (subsubsection.0.10.3.4) >> >>
endobj
4301 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 712.025 276.381 721.26 ]/A << /S /GoTo /D (subsubsection.0.10.3.8) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 734.102 231.609 745.17 ]/A << /S /GoTo /D (subsubsection.0.10.3.5) >> >>
endobj
4302 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 698.236 373.667 709.305 ]/A << /S /GoTo /D (subsubsection.0.10.3.9) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 722.147 257.761 733.106 ]/A << /S /GoTo /D (subsubsection.0.10.3.6) >> >>
endobj
4303 0 obj
-<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 676.378 142.892 687.198 ]/A << /S /GoTo /D (section.0.11) >> >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 710.192 432.127 721.26 ]/A << /S /GoTo /D (subsubsection.0.10.3.7) >> >>
+endobj
+4304 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 698.236 350.832 709.305 ]/A << /S /GoTo /D (subsubsection.0.10.3.8) >> >>
+endobj
+4305 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 688.114 276.381 697.35 ]/A << /S /GoTo /D (subsubsection.0.10.3.9) >> >>
+endobj
+4306 0 obj
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 116.232 674.326 373.667 685.395 ]/A << /S /GoTo /D (subsubsection.0.10.3.10) >> >>
endobj
4307 0 obj
-<< /D [ 4305 0 R /XYZ 78.37 808.885 null ] >>
+<< /Type /Annot /Subtype /Link /Border[0 0 0]/H/I/C[1 0 0] /Rect [ 78.374 652.468 142.892 663.288 ]/A << /S /GoTo /D (section.0.11) >> >>
endobj
-4304 0 obj
+4311 0 obj
+<< /D [ 4309 0 R /XYZ 78.37 808.885 null ] >>
+endobj
+4308 0 obj
<< /ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R /Font << /F15 334 0 R /F22 367 0 R >> /ProcSet [ /PDF /Text ] >>
endobj
1 0 obj
@@ -14026,28 +13989,28 @@ endobj
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
-4310 0 obj
+4314 0 obj
[513.9 ]
endobj
-4312 0 obj
+4316 0 obj
[686.7 0 0 0 0 0 0 0 0 0 0 560.2 0 0 0 0 0 0 571 702.2 706.8 0 0 0 686.7 ]
endobj
-4314 0 obj
+4318 0 obj
[513.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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 399.7 399.7 ]
endobj
-4315 0 obj
+4319 0 obj
[525 ]
endobj
-4316 0 obj
+4320 0 obj
[ 3 [ 602.1 ] 5 [ 602.1 ] 11 [ 602.1 602.1 ] 38 [ 602.1 ] 68 [ 602.1 602.1 602.1 ] 72 [ 602.1 602.1 ] 75 [ 602.1 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-4318 0 obj
+4322 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xÚ›"ÁÀÀÄÀÀÀwóû
endstream
endobj
-4319 0 obj
+4323 0 obj
<< /Filter /FlateDecode /Length 11571 >>
stream
xÚí| |UÖï­ºU½%étv¶î®î& ˜&Av"J  IL¡“î,’¤cºC@DÜ ""âÂ(.ƒ(ã‚{TÔ™qG™‡apFÒè'ƒ>Ÿ£Pýþ÷Vu6Pç›÷¾÷~ßï÷Òž>·nÝ{ösî©J„xr%¡¤ ¼*oܱÇ?ý3oÔµøÚFŽ{÷1B„‘„¤¤×­+¯8šEHê4̽PßÖÐrôÖÿ±Ÿ´ï°~cCóªú;ÞzêEBÒ¯%$éÚƀϯvTÜMÈ(îOjÄ„e†èÅu®G6¶„WÆ¿.Íŵ×Ï7ë| T%2Za×-¾•m’O2àú/¸VZ}-Zóòq}’W}[{ mJtÃZBæb¿tœÒûÂMD&D/ßA& †£Åô¤^U1Î`¦TŠ¥1D+ɪDPeRQ_ì'Q¢QCªš*l3¶Ÿ,#Â/ÿ‘h?  Ù‰DˆáÂìF’â1+ðyJ,|^2ü¶y “FË‘+„ׄCÂ'·Â?E§è Åbqž¸G|EüøøWñ3ñ¸ø5NgÒEÔG;èeô
@@ -14083,10 +14046,10 @@ R ¸kBXäæ±_"‘öPS°U—;~Â@Ž1~1ncÎÌ1c¼ÆüˆØõ|»$a= b‚Ö[á¬0\Hx …ù$¿Nchäbo
å ßÓëâi×ÂL¹ËOׯÛ+¯Wéºk—ÈëöÒuWJ×^“)_»„^[ ]“I¯VéU[é•Ø´V¥W
endstream
endobj
-4317 0 obj
-<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4319 0 R /CIDSet 4318 0 R >>
+4321 0 obj
+<< /Type /FontDescriptor /FontName /GMFTGJ+DejaVuSansMono-Oblique /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4323 0 R /CIDSet 4322 0 R >>
endobj
-4320 0 obj
+4324 0 obj
<< /Filter /FlateDecode /Length 477 >>
stream
xÚ“Ooâ0ÅïùÞ=¤8!h…"µ¡T¬D©
@@ -14098,21 +14061,21 @@ xÚ“Ooâ0ÅïùÞ=¤8!h…"µ¡T¬D©
endstream
endobj
580 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 4321 0 R ] /ToUnicode 4320 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /DescendantFonts [ 4325 0 R ] /ToUnicode 4324 0 R >>
endobj
-4321 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 4317 0 R /W 4316 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4325 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /GMFTGJ+DejaVuSansMono-Oblique /FontDescriptor 4321 0 R /W 4320 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4322 0 obj
+4326 0 obj
[ 3 [ 602.1 ] 6 [ 602.1 ] 11 [ 602.1 602.1 602.1 602.1 602.1 602.1 ] 18 [ 602.1 602.1 602.1 602.1 ] 29 [ 602.1 ] 31 [ 602.1 602.1 602.1 ] 68 [ 602.1 ] 70 [ 602.1 ] 72 [ 602.1 ] 74 [ 602.1 602.1 602.1 ] 78 [ 602.1 602.1 602.1 602.1 ] 83 [ 602.1 ] 85 [ 602.1 602.1 602.1 602.1 602.1 ] 91 [ 602.1 ] ]
endobj
-4324 0 obj
+4328 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xÚ›$¿‡õ
endstream
endobj
-4325 0 obj
+4329 0 obj
<< /Filter /FlateDecode /Length 12930 >>
stream
xÚí¼ |Eú7^ÕÕÝ3™I&3!!áÈLg†d8†$†KÍE€@Hb.•cÈLH„æ
@@ -14163,10 +14126,10 @@ WTÍÇ.¥šÏ¬/†ÞkúKK«+k0O¨/w)XU»…I܃À, ùëêªK+üØ,m¨ VÕûë¹<e a㜣X W—Õ/†ÍÝ
»MgËuv«#K¹µ˜Ý¢³e׳›oZªÜ¬³›–²¥Nv£Î–ØØ :[¬³E:k¨W"YC%ŸÈõá¬~¿\Åê2äZ]§³UW+ÕëYUå@¥ª˜Ud u¶ ]«³Š4Vþ#›¿‡•é,¨³€ÎJç9•RÍ#vež“ùu6Wgst6û*«2ÛÆfØ5o±«qqu4»ÊÊ€èÑlºÎ¦élj¿>ÊÔ4V¢³béìÊ¥¬PgÑ,_gSèPeŠÎòö°ÉÙ¤Ü8eÒ(–›¥äƱ‰9qÊDMÀÕ„
endstream
endobj
-4323 0 obj
-<< /Type /FontDescriptor /FontName /FGWDXK+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4325 0 R /CIDSet 4324 0 R >>
+4327 0 obj
+<< /Type /FontDescriptor /FontName /FGWDXK+DejaVuSansMono /Flags 4 /FontBBox [ 0 -208 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -208 /ItalicAngle 0 /StemV 86 /XHeight 547 /FontFile2 4329 0 R /CIDSet 4328 0 R >>
endobj
-4326 0 obj
+4330 0 obj
<< /Filter /FlateDecode /Length 507 >>
stream
xÚ}“Koâ0…÷ùž]¤8oZ¡H@`„F}¨ N·!¾09É‚?¶i¥
@@ -14179,21 +14142,21 @@ PZƒ0=Âô  ‚0/¼
endstream
endobj
579 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FGWDXK+DejaVuSansMono /DescendantFonts [ 4327 0 R ] /ToUnicode 4326 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FGWDXK+DejaVuSansMono /DescendantFonts [ 4331 0 R ] /ToUnicode 4330 0 R >>
endobj
-4327 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /FGWDXK+DejaVuSansMono /FontDescriptor 4323 0 R /W 4322 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4331 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /FGWDXK+DejaVuSansMono /FontDescriptor 4327 0 R /W 4326 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4328 0 obj
+4332 0 obj
[ 68 [ 602.1 ] 70 [ 602.1 602.1 602.1 602.1 ] 76 [ 602.1 ] 79 [ 602.1 602.1 602.1 602.1 602.1 ] 85 [ 602.1 602.1 602.1 602.1 ] ]
endobj
-4330 0 obj
+4334 0 obj
<< /Filter /FlateDecode /Length 15 >>
stream
xÚk`€
endstream
endobj
-4331 0 obj
+4335 0 obj
<< /Filter /FlateDecode /Length 10706 >>
stream
xÚí{ xTÕ¹öÚ{í=3™I& ¹.3³g†d ¡( $@$7“pS&™I2dâÌ„-
@@ -14249,10 +14212,10 @@ L‹/ª´ø"àhéˆB¸_él÷ë
_Q ‡UzEíÀÛŽÍ4”CÛÛŽÈí*mk]#·¡m[¤Ö`®Üº†¶K6ÐõxX„‹ã¹´kZü´M³Ÿ6AR“Ò¨_¥*mP©o3]§ÒËýô²K3åËTzi&½¤ˆ®ž6F^MWeÓ•dŒ¼R¥+Šèr•Ö×Yäú4Zg¡µg˵{èÅ5iòÅÙ´&V«´ªÒ/Wí¡•~Z¡Òe*½¨<C¾h-Ï KÏÐ%gèâÍ´¬4C.ÛLK3è¢Zb¥ Šè…éô‚ùVù•ÎÿšEžo¥_³ÐysÇÊóöйç[ä¹céÜ-Òùz~±4ç¼yÎz”;/‡Îž•#Ï^FgÍÌ”gåЙ™´hFŽ\ä§3ðzF^˜Sœ-O/¥…9´
endstream
endobj
-4329 0 obj
-<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 4331 0 R /CIDSet 4330 0 R >>
+4333 0 obj
+<< /Type /FontDescriptor /FontName /WYCBGG+DejaVuSansMono-Bold /Flags 4 /FontBBox [ 0 -207 1000 760 ] /Ascent 760 /CapHeight 729 /Descent -207 /ItalicAngle 0 /StemV 150 /XHeight 547 /FontFile2 4335 0 R /CIDSet 4334 0 R >>
endobj
-4332 0 obj
+4336 0 obj
<< /Filter /FlateDecode /Length 434 >>
stream
xÚ…’Mo›@†ïû+¦KΰØÆ4‘…Tã8â+mxwìnevÑÿûîî˜DŠš Äü3¼3;“/ÏUôMš=Fók/Ø™Á
@@ -14261,21 +14224,21 @@ wX´qû==mÙRl Á
endstream
endobj
578 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 4333 0 R ] /ToUnicode 4332 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /WYCBGG+DejaVuSansMono-Bold /DescendantFonts [ 4337 0 R ] /ToUnicode 4336 0 R >>
endobj
-4333 0 obj
-<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 4329 0 R /W 4328 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4337 0 obj
+<< /Type /Font /Subtype /CIDFontType2 /CIDToGIDMap /Identity /BaseFont /WYCBGG+DejaVuSansMono-Bold /FontDescriptor 4333 0 R /W 4332 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4334 0 obj
+4338 0 obj
[ 28 [ 603 ] 35 [ 544 ] 43 [ 544 ] ]
endobj
-4336 0 obj
+4340 0 obj
<< /Filter /FlateDecode /Length 14 >>
stream
xÚc``à
endstream
endobj
-4337 0 obj
+4341 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 852 >>
stream
xÚmS]LY¾Óãʈʦ;0sÅ°b[¢£Ñ!¨¨©Y‰ò0¥ÓvdèàÌÔ
@@ -14284,39 +14247,39 @@ xÚmS]LY¾Óãʈʦ;0sÅ°b[¢£Ñ!¨¨©Y‰ò0¥ÓvdèàÌÔ
Õ|M -¶#=Ú´øœÌÎìÇJ…À×jã 6eF½>'0ªTžCbddt Yãàlø2ž•ZöoV*99­éÕ‘!Ÿ93ŒD£§cƒ)|ù'ùa½
endstream
endobj
-4335 0 obj
-<< /Type /FontDescriptor /FontName /HSGBBJ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 4337 0 R /CIDSet 4336 0 R >>
+4339 0 obj
+<< /Type /FontDescriptor /FontName /HSGBBJ+LMRoman7-Italic /Flags 4 /FontBBox [ -528 -292 1571 1123 ] /Ascent 1123 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 123 /XHeight 431 /FontFile3 4341 0 R /CIDSet 4340 0 R >>
endobj
-4338 0 obj
+4342 0 obj
<< /Filter /FlateDecode /Length 370 >>
stream
xÚ}R]kƒ0}ϯ¸{(´ÖØÂE„µ]7ÇúA-c¯6¹vM$Ƈþû%±¶0º ŠÇsÎõÜ£ƒ‡]<suÄ`:¦°ÇFµša°Xç5 –ŠµJ³AäÈ{¶™ÁN+–¡á"]¦R˜‘§’•-Ç^u_4Ç“7‰{ ø¼e¯óù{ð±Þ«*—OAjòR°€:ÓA˜ÒŠÿÕ%á> ~È'êF(9ƒhL)µ^$_¨Ê­×ðÂ>t!$×—œpt©I4.˜¹ e•íÉ™³sc°Je¡HC¸·dcôÙg‘p«9j!O0¼ÑJ²¶®Ktq€’$Ž…lûÙäBèvO¹e…9ÿQÂÍr8×£..S›:g¨syBÛ
hñÊ AÉñ´s‹ZA;íök7'ZØ9”>F‰C“i‡&šwhšt#¼Ç½ÍÕvݵZÛÅ|·>¾ .$^ë¯Uí\þôß­ÿÚ®ÈP¦á|
endstream
endobj
-567 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGBBJ+LMRoman7-Italic /DescendantFonts [ 4339 0 R ] /ToUnicode 4338 0 R >>
+549 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /HSGBBJ+LMRoman7-Italic /DescendantFonts [ 4343 0 R ] /ToUnicode 4342 0 R >>
endobj
-4339 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGBBJ+LMRoman7-Italic /FontDescriptor 4335 0 R /W 4334 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4343 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /HSGBBJ+LMRoman7-Italic /FontDescriptor 4339 0 R /W 4338 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4340 0 obj
+4344 0 obj
[758.1 ]
endobj
-4341 0 obj
+4345 0 obj
[892.9 ]
endobj
-4342 0 obj
+4346 0 obj
[ 28 [ 525 ] 50 [ 525 ] 55 [ 525 ] 66 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 110 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-4344 0 obj
+4348 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``à``PdP˜âÀ°À©
Š
endstream
endobj
-4345 0 obj
+4349 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1970 >>
stream
xÚV PT×¾ËroWYöºŽíQÎ-UB£<JL|Ð:ˆÊ£aµ>ÒÊÂ.»+Ë^Ø]–·
@@ -14334,10 +14297,10 @@ n¦(£Ô»ø!©sös.Ðw’ûõ ˆÐ#rÔo>Ë^Gûðr´Ï!¼^DûèÛ|ã³…)—Š@/#ˆ"É T×ðsƒ`Í
endstream
endobj
-4343 0 obj
-<< /Type /FontDescriptor /FontName /OMFOSG+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 4345 0 R /CIDSet 4344 0 R >>
+4347 0 obj
+<< /Type /FontDescriptor /FontName /OMFOSG+LMMonoSlant10-Regular /Flags 4 /FontBBox [ -477 -316 786 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -10 /StemV 175 /XHeight 431 /FontFile3 4349 0 R /CIDSet 4348 0 R >>
endobj
-4346 0 obj
+4350 0 obj
<< /Filter /FlateDecode /Length 437 >>
stream
xÚ“Ájã0†ïz
@@ -14346,112 +14309,83 @@ u¢kš
|Q”‘4¥N.¿›Û[Yý4rá¢Ò^®ŽåÇx¸4@',kmSr0¥:Y¹q°”®¶îJ (ñ+ÎÐu<!:ÁðšÌ†ÿ,O”d.có$õ4 ÍHó@÷}l‰ô€”!=#­‘ÖH›@³ihÎ-&H˜s1EZ"Ý#mÍзè}X‹“z@š#-Sì5ôæÇâ÷ú{+xgŒÛ‡p Âœý„¥‚ï3ÓèÆ»ÂÛðxÚoÉ,x
endstream
endobj
-437 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OMFOSG+LMMonoSlant10-Regular /DescendantFonts [ 4347 0 R ] /ToUnicode 4346 0 R >>
+439 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OMFOSG+LMMonoSlant10-Regular /DescendantFonts [ 4351 0 R ] /ToUnicode 4350 0 R >>
endobj
-4347 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OMFOSG+LMMonoSlant10-Regular /FontDescriptor 4343 0 R /W 4342 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4351 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OMFOSG+LMMonoSlant10-Regular /FontDescriptor 4347 0 R /W 4346 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4348 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 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 138 [ 525 525 ] 162 [ 525 525 ] 201 [ 525 525 ] 245 [ 525 525 ] 251 [ 525 525 ] 265 [ 525 525 ] 271 [ 525 525 ] 337 [ 525 525 ] 341 [ 525 525 ] 420 [ 525 525 ] 564 [ 525 525 ] 568 [ 525 525 ] 602 [ 525 ] ]
+4352 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 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 138 [ 525 525 ] 162 [ 525 525 ] 201 [ 525 525 ] 245 [ 525 525 ] 251 [ 525 525 ] 265 [ 525 525 ] 271 [ 525 525 ] 337 [ 525 525 ] 341 [ 525 525 ] 420 [ 525 525 ] 564 [ 525 525 ] 568 [ 525 525 ] 602 [ 525 ] ]
endobj
-4350 0 obj
-<< /Filter /FlateDecode /Length 44 >>
+4354 0 obj
+<< /Filter /FlateDecode /Length 48 >>
stream
-xÚc``ÿ
+xÚc``ÿÿÿÿ÷ÿp€Á€„@›Cb¤1À
endstream
endobj
-4351 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9128 >>
+4355 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 9105 >>
stream
xÚÍ{`ÇÖî
-[+Æ€…ÀHɬI€Kè-¡†^ Æ@ÀSÝ»dËݲä>’«Ü›Ü+`SMÇ¡‚è“B 0nBê,wœ÷ÞJ2ع!÷’ÿ–ÿa£dµ»3gNýÎ7‹°¶&X,Ö%.›Ö»,³ÒÉI$š1n­§·<`§Ätk=Œ~Ú
-‘Äßù¯Ä3Às§ÔÓÃAäá)qùx:,]ÿÑ:‡%¢ ™ÃJ_wÏ ©§Ã¸qROO™L<s™Ü{¼Hâ=Á‹yF:!Àòt‚é½qKœW­·rùÂÅ«>Z<^*sðI<<e;}¤ãÿn‰]—«D’Àó=DnžË=<ƒd¾²0‚ù#d´ô6Šp †ïïÉÄHâ/Ä(â=b41†KŒ#ƈ‰Ä$b21…˜J¼O|@L#¦3ˆ™Ä,b6ñ!1‡˜KÌ#æ ˆ…Ä"b1±„XJ,#–ŽÄ
-b%áD¬"œ‰ÕÄb-ñ±ŽXO¸ˆÄ&b3áJl!¶ÛˆíÄb'áF¸„'áEx>„/áGøD Dˆ1LH)!#äD¡ B‰0"…€D9QA\ >!~&~!0ÑÉêÍêÃêÏÀZÃZËZÏraU²ªzMíõ~¯é½fôÚlÅ8ó'Œ3¹ˆ5CüÖǬ'½æöºeµÖê²õdë
-cIßXu@…ût³ÃÈH1ô÷«‚…b‘Õ°¡Q}(ý6OêDZ}äÐÏ¿¼¼Káyh$«§OÛËÕZY¶«&Žk›`p6 ±†ƒÝQ#’y[èÂF~ƒFD†ÀÌP€¼9Ÿ:Š¶Ž„ó‚ÊÂ*
-ë3Ž‚Ôšb¨~vØo…g%cû-ï xʹWžå¶Ã½­€7Ï·¢6
-k*`£ij‚/ƒ!î
-Àk ÷Þ…«Ý÷{¾ ÐP¶J2õ¼íNÐfEGÓïðÅ0L3¯RšW”LI—~ ÚUîÕ¦8½Ù^wâ¼àRðÍ¥k6¹Œ[—·²`ˆŠðòŽŽàŠýb=|³.ºuzßž†jà¹ko`‹ðJõõ–]Š’Åñ”r”"Tèã»·(šj<[Úššy½m_Gæטïòƒ"7­ÃÃ:Á©ŠÚòÝpq}øÁŠ ‘·ÐSùq㾬²–CTžøè´Ò ®-½œÞÇÇÓ>‹KUÁ¸¤¡xÚlŸðŠ »
-†¢14ÆqwdÅIŸ¢¡¶´#ºÏ/Š(
-Ž‹S©@Td4T›˜^NåÆ(ô¾B©8&DDmñJŽ„†åefêt ¿ ¶¢D˜–QDÅä–†ìVTçêk¨#MÚìl-²
-¡*Xˆw­îÚƒkVôäÏ/ÊŠO˜uîç3ìò\X˜!(‰,T¨’’
--㥅%ãV‡ ¨Œù`j»Çü ²¥e_òëalXŒŽ2©w¸»ð1?!ô—ï¾ýî`c°W>•¢“g¬˜‚­pŸ«3ÚsÍ»Q^„ßÆý±=^‚£~X€†=¼{¶ŽrFRþÌíëݶºŸ»õÅ¡Öý‡÷­ž˜hBbÚh°{`D2£‹‘×B‡ Ùüs^W'U‚öªºsÇÆUw°À!d¤ˆ ¤j&ª:åÁÝW(…äÉyîÑmj,ÚË÷/ þ‚6"[’wûNéª
-(kj‚å¥ °~oØ!!²zöÙQóOv\¶`‘Ç'Á5ιsÇÎ_=·t*°u
-yQ¬`¥ÇZÑ^ÛøY‰Y)Œ±¿x±”“ *–
-ÃB#eê4µ&‰BŸÿº„’«*—”S]o"ù-+tÊ—ÿb'6{yB¯ðë,Žz65æ\`f@!¦_æIã {´ï&~½H£X …{ªh*§û¨œn€GKL—•° Ñ‚\S"
-†a’eÉÁ›¨5ps¨
-TšæªJ>¼²”m[®eV ýjR²˜!“¡·Ø4d(Ü|:|ä]ÍsK '’ b,鲸ò²¶ê8u¶3Ë]¡¡Z]­©§l§^™yƒ£…nâ7ˆ`À£_ÑhS
-m4]SØ‘ôS©}©_—sü²T»
-sã¿Xn±1óø+#£Ñ¿
-ñè׎d£.k—)ÒÐ`·ÏˆŽ´Ï7òÓ¡èCþ.1ŒM„ÁÉ
-`µ?à=—ÇÇøFP%²mÕ«…x0Boáexê…ßFöˆýàÞS³{^6°®QÀcÆy‹¯ÔÉ££ \"ãÂw.~°äêýõ¿ ATQ~Jš°4Y“¢Qq}S«c …Õ¥¥Õ·FÀ-xþ*,œ‚mÿ:
-õGïÖ[@ÙBÄC‹…\Ï
-}F[ñ›ªý½Äþ^õ↦êú€ÏXÿî;[Ü'Q–÷FY¡ïªøg½nñúyU‹›235-H‡yn 窒Ââå‚È‚°’†N!kS”Órës#Êf,†Zùhêûh4
-°{wë;å=b¹“hÈ×hšÊ„æ®Á6`-D"ò$`+ÊR Ï™Øn—)€y‘t^ƒ¥m§5äïB%Käîå.Bl5f Hñâpÿ‡£Ñr°hϦÀ𠽫¶LEÓø¼ÆõÛfÎ[²úÊý†Ë7ÛŽoXoŠçÏ + Èë|ðWÃç
-»³W~4üp…wåc¡ùüó°}@[8ÍñûÂóݸñ juˆ  2BŸ·+óÐ'î÷ðÐlv?(Ž
-îLû Û`›i³g,¹¼õlà]w ¿n¦à½Ž)ÈÙu<x¦ fþ:ç‹ø³ØùàÇÇ[´··nÙDå3dùÊfÞÚ™+O_:¦íþקWQ¶hÝ­Û·XM´‹Aä7{˜2Ñ32Êzzí9¢Éœ=°‰Âc¬›¼¡`šTzC/Ͻ0ŸBÏÈü½°™ Èï ¡—3¹Þû{+t‰¾À?µ#M­Ú™è2q¾v;P£ Û'ܧ)Ú¥¡ÒÐ\¶ædZëIAgŽu¬\$’ÉD¢rYMMyy¹œz˜~YßÑ`ÆÈL^Ž¦•ü—†@Fˆ¸YÄCC§Ü¿û
-M"ók™Š ‚‘ÔF䓯õÁÌ­„`š¯Õ€l˜|êÈDörúÿ 9gæŽ `ÓŽyxSì=í#ɨ Æ+Ì“ÕvO6µ¢Þæ˜3.…{&ož×Ôqª>B/,©Êo0[w§™i’Áîž©¼ét
-ͦkˆðSìTu¢6N(‹
- “”¨ó(d·‘”‘•œ!Ô”•R¶7Cè4ë4=ÑŠöAç˜ujæÅÈŸÍô (SDÊyªì8
-íÆKña¼š˜¤ŽHÊ¢ ÒÓµÚ €LOçfåd–
-^[Ö]#ò`Ì™ÚÕ-Jiy…¥d®(lKFwJÞˆ=ÐÆßÞ}eùŠN¹´G;iÛý””¶X,í©ë.eâÜK”»šâUD
-òÛÍ-3¶l ÷óhÅk°®|{çý Ûy·£ùä_Ûw;–/] °ÔŸÓÚ£-^m‹ô·^êñ,¿Ù Æ
-oÇ:6ÒéÍ’›ÖMø#Èö=ùê™4ˆ‰D6z dz•A]÷ow{$S48ŒÝ FŠ´®  ñ´õEÖìÝ=Üb÷ø$‹ße£o-ZZÞíG;å®=¼bb·÷¸Þ"oßd >Ší/eVTkª»6¯ä0iâg#ŠfÌy€ßÁTº
-¦ÒICÁMË?î^3žÑm‘=rïî+Ú¦«9èáÊþ]Kƒ_âп³¨îq}¿KžžÙç!¿4Z› ðn´íBËØÙ™ùYzA¥</ÀhÁ@‰vìÁŽQ+ãE¾*+É<ØŸ™¤K‚âRSi‘èJÛ/mÏ=g2BIkÓrN]…¹IŠ¤Ö>±êÀXj5^íí04…Œ¯­W6:"WûÚX•Î[¸Æb€
-XGuÊ9Ò.ÄpÇblfDŠöÖpÒ¥º ]Ðìa“–\'¬ËªÊM£>AëÙ°üfzÐtz“÷n—#8ìN´!Òô;è-Þ1s~’C¦ûŽå”Ad=9ÖnriÉ¡‡× e~êà Š÷Em¢† ý,:,ƒ»)ÜÊyE¤=ìfÙÐ"ïØÝý‡÷•æE9ÎQuÅüõß<ôy©ÆGmHÂh1ÑýfÛ=ó²o
-éŠ0Ñìæ¨(.úìMôÈÚ´¯†<ŠŸ žùzX!¬.Öì§hM§G¨8›1ûj7òúäÍ»Z“RäöÛf§õän^í?ÉÞJƒ#ãª5Ø7¢’»ÌÌAè")1qk$f˜Æ
-`¶À4SCBj°v
-ãƒø€^ŒœÐʲjt
-o×Ǭϣr¶ÂE΂®ÖÿcFõÌè¾&ZjÀ¸o1³ÇÂð€§£‘5²~ú
-“Žx¢ÈWT&¦0Å醅ÌùŠÚD L4QOƒ %zš9æÆ÷þaÔé¡&dF•ÏUfåÁ|!ãöÅPŸ‘œ*>Iùo)-jÎjšÑ
-/Ì×ðñÈx'? ØvŸ—C„QdT( I„ɇ'QrLô®3**îˆéá3ðºî(8“[Qr_ø <dm¥s…ó7
-^:ðE«ÙˆŠÑöâµüéJ%-í³"
-»HÁfR@®ŠŒûÖ¯N•1kîì÷××zeÇPû·×ÅÝ
-ç&e_Hòj/*J6ú
-6ìøh¾›»®P ¶Ö$îO)ᦤ”ú½ LAa>'ŠÊtyu™Àÿ°AyBˆ¸7¾~h¢ú®eìnP¶ÉæÛ‘ÿX@½´
-©Iø!‚[•øYô&A@ϘUîús
-P—˜#²ˆ6Ñ,YA~fMð9~–
-ÑÌŠŽ½ÔK
-û%ýmÿôw:îàŸ7ïô‹|¤ùžÇ“ÊW*
-ŒäÆ%EÆ…š‰í²g­ˆ l³CèVëñ˜¹(Þ²€3|›,Œ ‡*“0¡Ô6Ž….ÓW”F®^î:Ïg&w¶Uã>[ÑлifW!HCrÄBK~|Î-)NÕLTPí¥h¼#Áî"åÝõFÞ:„­ç#öä‡ØzÝÆPo7€†<øò¡PW #
-©ø¸$¥JÀk”Éj«KKêûŸ…ÌO슕ÈjÞ€÷ b}÷%êÇTÄ+Ö.ãûËù3gNÜþü¤ãÂßnU½n.%RUhlÀŸþº€­Ž€)qYIdq…®ØTJ>eJIV!Ôd
-l» r• 4ýšN'ô ‡˜Ø8j.çmØŠvÊ7öÈy‹z°L÷?°'Ř`æ/ú+옴íFÞ3z=âówCe„"Ù?¸&»Ë}…óak…BÑ”<à”/ÌÉðnšÝbÖônFò.Ž$ß½ásý««mFЃ?~¼â1|Œú·y~fùŽÓé-zpódæ¥jÁí¹—Öùæ¥/ó¬.)'!T7`†ðZ‹—›(ÚÍCB‡‡¥lIâz$+le‚'€g<@þphñÆ•kW¿<7í¨¥MÍÐA­6ÛÂ<V*ôÁRY¤ï”'kÑ@4øþ£§f§dBþñVó^ÿm:à
-PßQŸâ€ç€{ÏšõÅàÞËLü˜)uzufB:u¨èPÕ áçÆ­ï/^ïìîGáX&?«ãââ"MBôu÷>—ÒÀºa4m’ÑúW|‡}7_\‹’ÃWnpqYyò€Ööè”óÔ|0ñùóÐ@€ž¼ä?Ì[7­&´wÍxÈÈ èÑ×Ü~ÍÆÉ;6mNŒïX[PÙï™*œFŽ»|{÷¾ôºƒ€7/0­ »¶rlñè[,Ú³ÿ •BŸ4°ŠéH+:•nç7Á(ðŽ%C—Ã]ÔbܽA>1Ái“Ëâã«ÆÑCìw•wuÑïX¨‡
-æI4¨3í‘]
-k„UepŽB|º½Ët¸Â¶0„æX´ØŠN²œ›`tÚ§›¶¨"‡cÃpd`Wõ¨}zÀkõÂ÷Ù^¹åP/,©„{˜ôB_³k»ºiË"ré$+Z÷²KíQf*ÈøzܺøI›M˸°¹Äår‹c0VÈ|„ÅRñÊmx}òŠ¤½ñ-ñ‡w ¯íË»ü, ×Uu”†¼Ö™ÃV¤¦†4 ue°"›JÍ<diûÓÜŽcYšš+Ë.g’ysjY±–ºFç²³ÍâY–_H+­ètú]Ó±&Söë^þqr+>ÀN!«#N«ë¸§" ½„Þ‰‘k"(¥Wô–D 7…Ü„°÷ÐN?K-¯€5ÔYüÛ3³ŒÉõS³ÛŠ¨ò/4¥š|®†L9eȹÎE©Ñû…Åe°9“:‹¾b›¼t%.3f2‡œÄo¡|D 1»¬»Ÿp°ÌR õÔ
-,XŒì¢ê.ÓëÖo‰¸XŒá|¶¼bübFåÔ=´ò^ÉwñP?÷dAX´ª«Ms'q4‰)ÃÙûzð`}_.µ’Z6~ÉcvEEW÷òŽek
-¼Êa)@Ï_1‡¦\ẍ”FÓ±Ñþùî<±Žƒ è;?2=¨e†–\»g¨b€&R’Ø€±£¢¡JÙ5É ’ÇíqzuÔˆ™UˆMÍÓªh¶Æì‘X€ñªïñdØÏ‘
+[+ƀłÑ&³&.¡·„–ЫÁÝT÷.Ù’,WY–ÜGî½Ë½6ÕtŠIaR%ôpBÊ,wœ÷ÞJ2ع!÷’ÿ–ÿÙB°mæÌ©ßùvà––Ç´z™Ó² +F-stˆ§Yåî)÷Ûd¼´˜¾­ûÁ¾ÍcA–±`í-µÖ<<ÒÚ₵eÇ:|åEÐß´ü· ‚—Ý—ûî¡íÏ~oý÷¯©Ë­‡OÄX#¬z<bññ-ñ7n\Ïš7àõÓN;~üäybIh·§—Ì~âøñ“F¿§ÙÏkï°ÝÕW¬úzÛop³wkï8Ö~¹XÁõ¶!°wq÷Úîça/ö°_í¾Þ^.u’Ú{‰åé{cíW{yKíâ _{îï w?÷íRw7{y€›{½ÌËÝ~ÑšWÛ/Èì—y»ºHÝíÇŒ±·—º»Û{Éd’éãÆÉäžcÅAžã<¸{¤ãüÌ7IÇŸ³Ðiùê1Ë–Ì[°üãce!2{q½›»l»·Ÿtìß-±óp¹8È»ß7±‹û7÷
+2ˆGTÆF9ôbtùh,©Ã÷’CßjXðò*ƒg£ÕîOV!A#›ºÛJK&˲µ1V6qz'=­¨·=l@rƒp[ØH5H`xD0ÌÈSð¹ÓçØ~óp8; ,´¢°>ý0H©)†Yô}–3xF"¶ÛôžH¨šuÉñin;ÜÝ
+„³½+Za#]SS” »*€°1Ìs Œ§W¸4î9òlê§elTz¤×#[=ïYÛÍ6ԯ͂U²ïP¦˜V)Í)Jd¤Kü?oˆ,÷hS²ºÖ^wì¬è|àµE+7¬³:oYÁ6îá© ·’øD»y‰><<ÿúÉ=»ªûŽÝþ-ôÅê+-;ü!'JbßÄHEíå½»HÉ4ž.mMÉ8ŽÞ¶«#ókŒŠ‚·¨€pÿ +Aø'ð`–èDEmùN8‚˜Ž^T "@ìI»«>iÜ“YÖr€É“žR`eÃ.a÷PxÊ1)j“0OùÐ+¬bÝŽ‚Áh”rØQqÜ«h° ë€îREáEaʘµDFHCèèø´Â0&7J¡ó¦¥’¨`1³É#1:ZVV”—‘‘•ò j+JèìÔ¸ð"&*·4x]Q««a5%gg‹lE0;OÁCÂËu—ï]¶`7!_ª4236`Þ™ŸOñËsaaº¨$¢P¡ŽKHˆ˜XÊO®Ôê«E™p§—ôÒH´ÉA`èY~†21YM+"ÂC¢Ò¢Š£™Ÿ?²Š/‹‚aq¢‚ðÒ¬´””4€ˆsüÄ $‰H½vî„;3«“ô‰•àáj~DE2祅% çVõ¨Œûâh»Íý°ae_Suþ0:4*#LêæJ¿3ê'dþòýwßïo ôÈg2•ÁYAô´¥“°îuiZûÑo÷£Ùç
+ÇóñÛ¸/¶Ã ñÔ‹Ðû·N×1NHJMߺÆe³ë™ë_hÝ{pÏŠÙ€‹&$Ñ£õzÛ{$3¬5[Ø`ô!uÆãÒ„JÐ^UwæˆÈ°ü&¶
+º¸ŠK¿›ær‘VÍM÷UçªJ<¸¬”mY’Ì­4úøÕ$erC&BO‰qȸñ¤?øØ:›æ‚îxP"ˆ2§ËâÊ ÉUG™ÓuðˆIî
+x
+M~ăvíŠc]‡¼[Œ#W ú A“¹ÐÂV+±µ=Çʈ<ŽEØ‚1WÃ3Æ
+û’È=æW:ZvëyMTÄ)4iŒÕ-`ë®6bù¡ÆkîbzÖ¬Ñ_Ð{7ž··tž™ÃD$'‡6þ¦ÎÈb#ÄJP"ó¨XMc롘ÆK°ãØõ>½§¾¨ˆ ÌVU›ìˆ¦
+t¦šŽCΡég—Ÿ;|­=g«78~êh ÞbÓÙTµ¼~­lkl€({çxÑcæÌä‘ç[,eÔáÑ¢í:qr"X´=Á!B4ég'®ÌØþÒö z/ƒ`>)<®Q sUŒ:+!/O”
+sÓ²@Du½ºž~l¸öMƒº&¬Š)Ë-HÎ×Z¦ë4ùtyIqWÍ1Z³mÛúõÛö·¶îßìØþmkÀϘ¥\lþÞܽû›öKmä}ăS›kÁlª‚w’oÁz¡3ÊÎÒ¤|ùò9䯅¢PE„L‘§ÎŽaÐN¼Ä+øñ šØQP™² --99 ãݹ™9¥¢W0•wË€Ü8ätö}RV^anê¸#Ûá._×c7´þ·W_Ù°¢C.íÖÚtÝ%å ª–H»Fê¼Ê…8ó¯®à„xUí‚üncË´M›Ã|ÜZúÔ*ßÚÍ ?èríhù×öGŽäKW
+Z°k9¹LNK°rDtÅ:Þß-rLt;Þoº1göÈë‡YáYv[ç`ï æ’Ž‡u |ÜÊ©µki­æQ„ãñpVGý>?rN¥ç]x„æprJÙëF†ìإ훣È?ŠUDoÕêÄ 5=%­@TZ&‡(ÄK.lyvçα'€W+(0i+ôl¥QÞÃ6?ºùÃlƒð
++p¡Ø¹°òƒnVØ1‚ ‡îžÀ;0
+S»Á¬$½¢5þÑÌ
+¼Xéªt‰õœDÆÖF׫³]m´:Ë“^i6@¬c:äigí¿i667"ÃzjiÒ¬€¬€‹ØÍ.*53°Ž®Ë¬ÊMe>Ckø°üZZÐvx’÷l§#8émµ!Òøð–ðˆ)?É!×GG Ê ²œí 7¸€Ôăkh™&0€~U¯€¡´Y‡ep'ƒ[¯(±û]|š/¹µ÷àžÒ¼HG€Ãê€Î˜¿ò››þÁ-/Õø  qZŒ7F¿É¶D÷¼ìD:#{L!–ß åôü?ÌÚD·¬ÍzkÉÃØQ
+ººX»—aµ‚n¡âdBß+Œ,Çë“·ðRMR‘ËoÛ–Ö»…µÿ${«ôhìÕó¨Vo{Ô€Jnq3 sRaâúpÌ6…ƒÄü{eˉ¼}G
+Õ&Ë9ð\V¬e^Ѷ\û4×°ÉP`p[ø„-yBíCu4—¥’@l¢gD<täLWW
+Æ¥ÿÔ¢¤ÂÎö~ ©½—«•þ1`Ïš)A4æÍúðý5µÙQÌÞ­u1×ì²/…§ÐÂÚsŠ’õÞ¢uÛ>žãâšU(›kâ÷&•X&%•zÑP¦`0%ˆ€’†²¬¼º à{P¯:F#««ßÜ7’võˆÑËô¶Wõ([Ïeó­È–:âW/-
+¬¶§/ÉiU5Ô<xâ-×qr5̤…ö&AõáW&"".*&”¸o„a4ž1^¼v4WÃ쮉{nUÿ…rƒÈ/ÀkÔrWÝ(‰Ï›Eo’¬ ?£&x= Ki4½âánæ%ý’ȶû"; ?¤ÎJš·{JÄ^Ò|÷£‰@í-ûGXÅ$DÄ„˜(겧­ˆl²ƒÙV=ï€áˆ©(^7ƒ3|ƒ,Œ ƒj£0!Ì™øÒU”J®Xâ<ÛkºÕ:l£Á½6‹”гi—vG!HErÄC |fURœ’\ 2’:µç¯¢±»…T·Ö„«9¶†Bü‰÷±åêõ!ž.
+[á ö‘Ï,X¿lÕŠ÷g¥öb’SÒ³`rr¶™C¬T襲ïIW¡þhàÝOL(NÅ…ü£Í¦·ö7X¿}Tm'«,1¯‘å½Êr«¦]W/|'B½G|Žû¡=î9cÆŒ°ŸkC47ñ#®Ôé4qiÌ¢UÇè/ ›ß_°ÆÉÕ‡ÁÑ\~ÖÄÄÄD…,è›®7V*=ïªÁøº‹Õ½â;캘ßZ|ŸºlÝڵˎ?è~m·Nù7w=&qÿ{ãŸ=»÷
+L™å=ÖÖTö{¦
+§’c.Þع'­n?ÎöO-…ÅtçK<ò:õÂü@Cå³Çõ¼b6‚MaÛ©†
+Dœ>B‡sò„䪳¸‡k¹L€ÞÆ?òµ‰©J(‚²@î 
+JÌ(±Û™”J‹CC$®õÛŽ_nýôN-ƒÞcWò‹j`r“™œŸQ&êÔM›UqRÊ÷Qßv½üœ‹‹¨ âgÀôlQ“ *
+p{G?:ÆF‹<Êa)@Ï^1‡Æ\xÄ€T_ãñ>êl× î8K€ôè??r=¨y†{朻f¨â€&R‘Xð#•P­êœä)´ê¶wØ€¹UHŒÍÓòah¶ÄüáX„ðòð d‰øÏ9€99æˆ{~ô‘#ê…†¢a¿½zõâH<¼ÜËf[Ãz úïîeCTFá^ûc“c`lâ`Ük›§²xÍ®œÁˆ×ˆx>»TÅ­^yƒÿ—w¼ ‰£ès
+[·«Ó£ :–“r¶OpýÆÆÒÁÏ?}îب¨?ì£üR‰‚Ñ “&…÷þ»ªÚ=B…Tidº2 àA'ø)šøäZT¢É‹cíz~Bzfb:­+(+eºtzÕ$±Y±ÿ[ñ{ÅZ—¡‹BäWo&* ^ÆÍ7wÿ…Í7?½vóͼ± 5ŒR
+å‰@hלX)¹„îž\
+ Î*}ŠìáÍÒ–9 U ìñUåéËíŸíÃÙGbCᣠŸþÅí:Œ°ÜøÑ@Ñ)ÍoeBÛWâ
+‘¢@®KÏä€3@¶Çøyi%™•¢W;DÌniÚ&"|ðoÝ'"´ E·Þ\ ÿÝ3B[¼øèr¤Yof• ú·j, í{ƒü÷JMëÞ6¬{˜hÔÔOÞÙšÿgëEàƒ/&PÆýRAÁŠÀ ]0×Õé*rø»s¯4vå!§3íÃãÚ…ÿ½ž6OE'_#ÎG¯çÿŸxübÊŸ*$ÿù€ A B"¼³åêÙ iŠ‹Þ îÌ`©¹ÉþG›–±o[¦õ|Xh(z(|ö/­J8Ǿ˜ñ†!bZÜm‘ÝÃ|ƒêáÿx#Æd¬buoæ*oz7èßþ&.óf¹”+å¦×uƒþüë:¡}2ºúOmjâdlMœÌ ÿ'ƒ£ao
+­ÿKÌ WËz¿·¿ÔLÀÃ_ú8ýÐŽÐ_Dƒß¸P8uÆÁcƒ§)< BÕ?WU½êÏèŠø­²(·¼qÐàÁ-¼-è» V6’B'E°X&‡!œÎáïСnÇ'~iqõ€%Èú´´zÆÆøßû±´õð· ‚˜aüï.¶ªv^ú(?EK‡Õ~ã¬{BëÞú^†ÞÍ…ÙZmrrª¶(9ÓÚº©<9%-5¹P›ÕŠôÖ}ز¿Pÿ ãhÜ
endstream
endobj
-4349 0 obj
-<< /Type /FontDescriptor /FontName /FVYUVB+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4351 0 R /CIDSet 4350 0 R >>
+4353 0 obj
+<< /Type /FontDescriptor /FontName /TLOLYP+LMMono9-Regular /Flags 4 /FontBBox [ -451 -318 734 1016 ] /Ascent 1016 /CapHeight 611 /Descent -318 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4355 0 R /CIDSet 4354 0 R >>
endobj
-4352 0 obj
-<< /Filter /FlateDecode /Length 855 >>
+4356 0 obj
+<< /Filter /FlateDecode /Length 852 >>
stream
-xÚ}–ÑNã8FïóÙ $æ¢Ó$Ž¡JmšH•–™ÑÀ ÝË’6Mª´½àí7Éù
-Ò,;H NíØßùíؽøãûÝlYw~f>GáèN}ågùív\\¬»ê´óíñ«÷µ¯Ï­‡/á÷¾«îü1¼Ì7ëMÛ? 7mõrªý¹×ÇVþ¹iß»Œó„—÷þ¯Yùð÷χÕìÏÛÛ®í®g?üóéeÛÏ¢ñ¡ûæø2tþm¿ph ?n §A|hºöKŽ¢hø hë¼Ûz‡`®ˆáüú©ië^9ÃÇ1u'aÝTGÑô·Ú u¾{=ýnÓ>uÁÍM8fnÇþuÊü)˜ëkß7ísxùqÄ¡ËÝi¿ñcœ0
-‹°öOÃÈC}¾nw>œî›zhmŽ¯ÿS„÷Gî_÷>L&Ž‰[uµ?ì·•ï·í³n†D‹ð¦~oë_Ú#žz|‡çãè­­úgÛ#Å«a¤(JãÅDùDN´ž(qP1‘- r¢ J"z.¡˜1#(È0ƒ(e̲Œ)rÐ
-Ê 5tÅsj»†Ô¶d>áçDø唟æÃ/M!üdä'’Ÿ…ðs"üÌ„Ÿ!™Á/¡º¿”êüœ?£1ñ3š]~$?‘ÖÊü kdä§dòƒRù‘3•ß5$?~)Lñs"üRV%ÅωðK©uŠŸÉO$?e‘Ÿ¿£?'ÂÏ('~ ënñ>œ?'ÂÏ°*?K-~™HëGÍ,~ óYüVÌâ—Ìâ—P ‹ŸÕ|øe"íO%Óþä]±ø%¬´ÅÏÒæðËDøYÜ~™Hû“,Nû“1~†=èäG'?*áôþ±#~™?£ùð3J†Ÿ¥J¿L¤óEóÉ,™üDò#u&?‘Ö5Ê´~"ü,+–é|ágÙÉ~™Hû÷+ürŒ®ð+ %Yrz.ÉR@9£äÙ‚#y:“ÿÈ9Ãè”DÎ Y¹1uNÈ’ÒÅ‘&[ASDió©(qLi H¯F^@è"e)!e–zBô,'Jt®WÚDzC¤.¡éEIÒñ~/ØxÝ÷öÛåZú~¸Y§Ë}º?Ç›³iýÛý¿ïöãSÓïôÅáü f¤oeð/ß“-«
+xÚ}–Ñjã8FïóÞ‹ÂÌE&¶eÉíP‰ã@ –if/S[í;8ÉEß~m/- Ý-´ôD²ô_²”‹¿î¦‹º{òSó-Ž~úCwê+?-n·ûÉÅŪ«N;ßx_ûúÜzøÝ÷]õàÑ—b³Ú´ÍñëÐyÓV¯§ÚŸ{}Þié_šö£Ë8OôåÑÿž>ÞÜÝü}?½¹½íÚîjúÓ¿œ^·ý4zlŽ¯Cçÿí ÑçQä—ïM×~’oq”m]t»Qï0™)b4;‡~nÚºWÎèiL=IÒ¨nª£(ü­vCƇÞG¿Û´ÏÝäú:š 37‡cÿ2ÌîúÚ÷Mû2ð§‡.§ýþÕq¢x2ŸGµFêóc»óÑltßÔCks|û"|<òø¶÷Q8!nÕÕþ°ßV¾ß¶/~r=” žG×ëág>ñmýG{ÌSOÏàÐáüo¿·Uÿlûq¤d9ŒÇY2Tr¢U ÔAe [Bë@9”Æô\@ cÆP
+¥aQƘdSä %”C+è’çÔv©mÁ|Âωð3Ê)?͇_–Aø9ÈÈO$? áçDø™K?C2ƒ_Ju ~Õ5ø9~Fcâg4»ürH~"Œ «bd¤,2‚2‘,“Ñ$#F5Ë0r"Œ2Ö!Ãȉ0ʨn†‘ÉH$#e‘‘ˆË0Êðs"üŒrâ—²Ò¿áÃ@ø9~†u°øYv«Å/iŨ™Å/e>‹_ÊYüR’YüR*añ³š¿\¤©dÚ‘¼¿”µµøYÚ~¹?‹»Ã/iG’ÅiG2¦ÃÏ°ëœüÈâäG%œÞ8ö Ã/ág4~FÉð³TÉá—‹t¢h>ù‘%—ŸH~¤Îå'Òú±F¹ÖO„ŸeÅr("ü,;9Ç/iâ~‰_Ñ%~%´ KAÏYJ¨`”‚œ£”ùœ#9œÀÉÕŸòšÈ!×D.EL]rMiË@I¬É–&QÚ"%I(m éÕ(JR¤,kHY …^e=×R{«%¤6…^©×PxQÒl|…?J4^pãMý~V§¾îÒp‡s¼+›Ö¿ßøûn?>~ÃW…ów–‘îÖ“¸++
endstream
endobj
425 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /FVYUVB+LMMono9-Regular /DescendantFonts [ 4353 0 R ] /ToUnicode 4352 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TLOLYP+LMMono9-Regular /DescendantFonts [ 4357 0 R ] /ToUnicode 4356 0 R >>
endobj
-4353 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /FVYUVB+LMMono9-Regular /FontDescriptor 4349 0 R /W 4348 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4357 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TLOLYP+LMMono9-Regular /FontDescriptor 4353 0 R /W 4352 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4354 0 obj
+4358 0 obj
[ 35 [ 580 ] 47 [ 624 ] 50 [ 558 ] 55 [ 536 ] 59 [ 641 ] 63 [ 613 ] 72 [ 513 ] 75 [ 747 ] 77 [ 613 ] 81 [ 636 ] 84 [ 558 ] 96 [ 602 ] 98 [ 458 ] 105 [ 591 ] 112 [ 613 ] 116 [ 613 ] ]
endobj
-4356 0 obj
+4360 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc````Td˜âÁ°À¡
Bˆ
endstream
endobj
-4357 0 obj
+4361 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2190 >>
stream
xÚ}V TSç¾!Ü܈•k\›+÷^©ó”"„Ñj몢ˆX]©“Hø‘Ÿ@È_$’Üü
@@ -14470,31 +14404,31 @@ $á·¹?óÍ¢LÇtWSõ0”º‚ˆç9t`Ä&æiJ¬Bîo=Ý–N£F¶ÇØh2’+-R´i?ãrÊtzÚx,´-WÚì¥<–
çsåí¤×í‘éY%rÉ,F2› ¹;Ûç°ÙlvÛ>»kÔ#‘°îÞC^‡Ãát:’ÐÿäOŒÖ
endstream
endobj
-4355 0 obj
-<< /Type /FontDescriptor /FontName /SJLYVB+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 4357 0 R /CIDSet 4356 0 R >>
+4359 0 obj
+<< /Type /FontDescriptor /FontName /SJLYVB+LMRomanCaps10-Regular /Flags 4 /FontBBox [ -496 -290 1501 1100 ] /Ascent 1100 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 106 /XHeight 514 /FontFile3 4361 0 R /CIDSet 4360 0 R >>
endobj
-4358 0 obj
+4362 0 obj
<< /Filter /FlateDecode /Length 441 >>
stream
xÚ“_k³0Æïó)²‹BwጶӾ£«]Á±Ô2Þ]Úä´o &õ¢ßþMrtƒ1ÊÅŸç9'Ï9‰“«·2¸zÁì†Ñ-´º7‚ü¹jÈd²Ö¼¯Au/
endstream
endobj
-414 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SJLYVB+LMRomanCaps10-Regular /DescendantFonts [ 4359 0 R ] /ToUnicode 4358 0 R >>
+412 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SJLYVB+LMRomanCaps10-Regular /DescendantFonts [ 4363 0 R ] /ToUnicode 4362 0 R >>
endobj
-4359 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SJLYVB+LMRomanCaps10-Regular /FontDescriptor 4355 0 R /W 4354 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4363 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SJLYVB+LMRomanCaps10-Regular /FontDescriptor 4359 0 R /W 4358 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4360 0 obj
+4364 0 obj
[ 28 [ 500 ] 50 [ 444 ] 52 [ 778 ] 70 [ 528 ] 72 [ 278 ] 109 [ 556 ] 112 [ 528 ] 118 [ 528 ] ]
endobj
-4362 0 obj
+4366 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``à``Ð``j````i
endstream
endobj
-4363 0 obj
+4367 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1359 >>
stream
xÚ}”LgÇï
@@ -14505,10 +14439,10 @@ KR·mÍÎ),ÎÑÐÕ4Yf±’:ŠÖŒ6Í¿¿ôÙl¡ÅjÒßÔYQ[u”™6Ð5ˆ´ d’‹ä#&¤9%uSZ‹E‘¾F#gÑxÔ*{Q
ÄåôìøUŸÁ¨BuœxBSøú/sÇEB×Tó!¨…šÑØoçS_<ŸŠßï…¿ÆõrÕl=±ðX^_ÍV1 Š ±§ á‘ütˆíå@…¸û‰¢ŽXx$ÇûêžjZBl!<–wIP ý,/`<<Â/Ǥixa —ùy¬ÌÎÞ0ƒ50Ïím x8µïÁŽ`âWcÞ>ŸgL ¬…(/ôzêÓr®uKÕ±ãMb¦¨ŠÿF 1ü¼¸Úá4b_¶6ím™ =Ø“6Ÿp¡Œƒ(#Qòì• è™ûúæí•CÅLºš©i©Ž(P;Îí:TgùyôI…K¦ñaø¤¼§Æ9á ¿ûŸ”hS 7a?ÎÃ±È x¾0±ç4µ^k·!Äða1åo»YÌÅ6Ôåm!^ó]ý8pÅ$|ø—æ¾›‘þ‘U\ƒmj¨K‡k‰Ékç>uë0|³ÔËö£Bû½P¿P-ÔãEÂ=!9Nb¹h“›&29§qØÝJ3ÕjW#Óâtˆ«Ä`|ÄZ:Y»|À?ž!ü¼(c°JÇkøC 9Å5ƒ`F„X½Ïãì$:mí~
endstream
endobj
-4361 0 obj
-<< /Type /FontDescriptor /FontName /ZUCODC+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 4363 0 R /CIDSet 4362 0 R >>
+4365 0 obj
+<< /Type /FontDescriptor /FontName /ZUCODC+LMRomanSlant10-Regular /Flags 4 /FontBBox [ -457 -290 1446 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle -10 /StemV 93 /XHeight 431 /FontFile3 4367 0 R /CIDSet 4366 0 R >>
endobj
-4364 0 obj
+4368 0 obj
<< /Filter /FlateDecode /Length 406 >>
stream
xÚ’_KÃ0Åßó)®ƒùP›nº©Œ‚¶
@@ -14517,22 +14451,22 @@ xÚ’_KÃ0Åßó)®ƒùP›nº©Œ‚¶
n«ÂN'óãÜZ„‰ç$4ÏÇ®­êJî‘,l 4…Å£½R‚’ÿªÓàÚîZÁðz=TØg¥Ý:Ifסt–¤Ž¦“@W.=MsO—³P»t(ó4Ë=̓oNÍßü& ø]Ïî(¾ƒb½Ö6%^>7¾ø}¤­jËßþ_þTG«GòH½üù
endstream
endobj
-392 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZUCODC+LMRomanSlant10-Regular /DescendantFonts [ 4365 0 R ] /ToUnicode 4364 0 R >>
+394 0 obj
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZUCODC+LMRomanSlant10-Regular /DescendantFonts [ 4369 0 R ] /ToUnicode 4368 0 R >>
endobj
-4365 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZUCODC+LMRomanSlant10-Regular /FontDescriptor 4361 0 R /W 4360 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4369 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZUCODC+LMRomanSlant10-Regular /FontDescriptor 4365 0 R /W 4364 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4366 0 obj
+4370 0 obj
[ 28 [ 511 ] 35 [ 460 ] 42 [ 716 460 ] 46 [ 755 511 ] 49 [ 678 460 ] 54 [ 653 307 ] 59 [ 460 ] 63 [ 511 358 ] 66 [ 307 ] 68 [ 307 ] 70 [ 460 627 256 ] 74 [ 897 818 ] 77 [ 562 ] 81 [ 511 ] 83 [ 678 511 ] 91 [ 460 ] 96 [ 422 562 409 ] 104 [ 716 332 ] 109 [ 537 ] 111 [ 743 460 ] 114 [ 664 743 464 ] 118 [ 486 ] 125 [ 562 ] 502 [ 307 ] ]
endobj
-4368 0 obj
+4372 0 obj
<< /Filter /FlateDecode /Length 28 >>
stream
xÚc``à0N\½%BàÁÑ], $&
endstream
endobj
-4369 0 obj
+4373 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4953 >>
stream
xÚ­Y \w¾Ÿ'¢²´j³-3:m×£VÔêS[ë®·õDÅk‘+@8’ !!×$ÿ$ä á>"w@nQÐÖz»EÛ­îÖ­G·}Û½wÛmÿ“Þ¾7­¶ŸvŸ»ï%Ÿ\“Ìüç÷÷ýþÃA&ND8Î á{÷nÚ²oáŽ{$é±â¥KmÍŠMž §gÓs@0AÏDèYš˜@“\Z0‘xÐÀëþïà ÌÜ`noðÄÑh¦&šòw?: A8ÞgÏô4Ïaß…Þ ~)pà/Á?B‚& ädòd”ƒr¦ržýÞå_ [²dù‰4W&JJμºdɲWϯ Ö‡ ¶ÅƧJr2SE‚Xq‚`[˜`g˜`—$‡=*Ì—ˆqÂäØ´D$Q)< ÈÎÊ2I2I¶4sA˜ 2Y”)È‘ÈRì«L˜&ŒÍ&²Å B™ +Y(زoo¤`³Dœ%Ø!ŠŠ3…‚E‹‚L¡Pœ•%}}ñâ¬ì¤0‰,iq"û›ÌÅiã?Ê\8oÑæð]‘‹vlÝ°i×ÞMaYŠ,A¢D&HfÅŠÒ2þíãןwIdé±ië$q­ Bq–(+ao3‘‘—‘…H²YŠ¼Š¬@V"«‘Ÿ k‘õÈFd3²yÙ†lGv"È^$9ŒÄ ±H’ŒˆtD‚H’‰d!r¤€ó— ={›Ì$a"bçÌæTpþ>AÎ]0qÒDº}—3iÚ¤­“Þ:0ù•Éǧ̞òùÔO‚K‚?ýAvÈÂÏìzv泎i»§]™.þÅŒäçògò¯ÿPöüæçõ£¡!j/½ÈËùã—öÂùn-КÍÙzbob‡Ï
@@ -14562,31 +14496,31 @@ múŸÎfü^FñÿH¨ÅaýV·¢b]|øîÿ[ŸŸòÕ—•ÌkÂuG⇠ºíÀbuZHŸ½´©«Szr‰öÂýÞ¨>ÑÛ_üççj
o3ãOaæ¡:Õþ$d
endstream
endobj
-4367 0 obj
-<< /Type /FontDescriptor /FontName /OSSEGU+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 4369 0 R /CIDSet 4368 0 R >>
+4371 0 obj
+<< /Type /FontDescriptor /FontName /OSSEGU+LMRoman10-Italic /Flags 4 /FontBBox [ -458 -290 1386 1125 ] /Ascent 1125 /CapHeight 683 /Descent -290 /ItalicAngle -15 /StemV 102 /XHeight 431 /FontFile3 4373 0 R /CIDSet 4372 0 R >>
endobj
-4370 0 obj
+4374 0 obj
<< /Filter /FlateDecode /Length 535 >>
stream
xÚ}”Koâ0…÷ùž]¤8Ä¥B‘xŽ"MKÕ0£Ù†Ø0‘ˆ%aÁ¿Û禕ªa‚ør®ïãèšÑ··Ì_Êú¨üé#g磌¯m¡üõKÞx£Ñ¦.®•Òý«RRÉAížÙ[[™êÙxnR]ö&8ÕÅå*Õõï •:—ú3ÄÖaãƒúíï³lûý§ÿãå½®rp?íóKYøÜž:”ýÅDÿ?•ÝQ™KóKµ]Yëg<rÎÍ‹­–뺲vÞ„ºd“¡ïS©eK­²£mÜ B&Ë¢'rßEe¬²‡³[׫*Õ§Ú[,Øä݈]ßÞ\×ÞdßJÕ–úÌÆwz41Ùµi.Êöø—$Lª“Im<zÍ+Å&vüTµìo÷|ø<s¸5Š…Ž4\ÔRuM^¨6×gå-Œ <a‹ù$žÒò‹Îqêxš€áçt>HÅŸ¼µ‰‚µIÄy$–Â)(-ͦ 4¢-´h 4  E Q - hDTA€(ç“£wn@”sš– TˆW T˜­AOЈh>ÊIÕ‰6 ­£Å;\Š8Õ²ø£k?cd‰à`Œ:‹à ÌiDèEÀÁ¾DðLP"Ê õ õI—4m<xì¬ò`ž`ܾØU³·æc³‹kÛšµvWËí®ÝÚR«Û×Ô=åwm‡¿Kû÷ë—Fa
endstream
endobj
377 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OSSEGU+LMRoman10-Italic /DescendantFonts [ 4371 0 R ] /ToUnicode 4370 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /OSSEGU+LMRoman10-Italic /DescendantFonts [ 4375 0 R ] /ToUnicode 4374 0 R >>
endobj
-4371 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OSSEGU+LMRoman10-Italic /FontDescriptor 4367 0 R /W 4366 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4375 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /OSSEGU+LMRoman10-Italic /FontDescriptor 4371 0 R /W 4370 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4372 0 obj
+4376 0 obj
[ 27 [ 869 559 ] 34 [ 818 639 575 ] 38 [ 575 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 ] 70 [ 607 692 319 ] 74 [ 1092 958 900 639 575 ] 80 [ 864 575 575 786 639 ] 88 [ 319 ] 90 [ 864 607 ] 95 [ 863 474 639 454 ] 100 [ 575 575 ] 104 [ 800 447 575 575 885 639 869 ] 112 [ 607 1189 831 869 607 ] 118 [ 607 ] 120 [ 511 575 671 ] 125 [ 639 ] 284 [ 575 ] 499 [ 571 571 ] ]
endobj
-4374 0 obj
+4378 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
xÚc``°6/þüxßoþýz€ 8p
endstream
endobj
-4375 0 obj
+4379 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6950 >>
stream
xÚ•zXWÛö¬°;¨4ײƒ3«Q±¡Æ£± 5öŠ¨ E¥w–²¸»gYz"(‚°RDQ#¶±%Ñ?&Ƙb, 1Éû ÞïÿÏ‚1É›|ß}\8àÌٙ繟vßgPææ”D"â¶Áù½ [&®X¹.d·wð›SCvùš®,•âHdɉö”8B"rýDÞLlŽÇZš]¶4ï‰Ç§ìeKìÍwKGP”Ùc?ûA¢ÖrùMùÄr´éÄ`Ë1Ý’PC(–zB‰ä¶2‰õ?>rÚä©Sg,
@@ -14621,10 +14555,10 @@ w¢µ„Uüª:Þ-kéX ÁѬ»¾—Ã.<Fáp‡y<ïÀÛA‰ß€ˆÆ€7‡÷Ë]öMó^Ì9os‰ÚÈ®q>ü™¿óJê­‡Š«†
Ä5y°­"¿@Æ-Û°kŠed9P
endstream
endobj
-4373 0 obj
-<< /Type /FontDescriptor /FontName /XTBITZ+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 4375 0 R /CIDSet 4374 0 R >>
+4377 0 obj
+<< /Type /FontDescriptor /FontName /XTBITZ+LMRoman10-Bold /Flags 4 /FontBBox [ -486 -295 1607 1133 ] /Ascent 1133 /CapHeight 686 /Descent -295 /ItalicAngle 0 /StemV 106 /XHeight 444 /FontFile3 4379 0 R /CIDSet 4378 0 R >>
endobj
-4376 0 obj
+4380 0 obj
<< /Filter /FlateDecode /Length 651 >>
stream
xÚ}”]‹â0†ïû+²‚sÑ1ýJœA?Fv>PY†½«Mt š–¶^øï7É{ª°È
@@ -14634,21 +14568,21 @@ xÚ}”]‹â0†ïû+²‚sÑ1ýJœA?Fv>PY†½«Mt š–¶^øï7É{ª°È
endstream
endobj
367 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XTBITZ+LMRoman10-Bold /DescendantFonts [ 4377 0 R ] /ToUnicode 4376 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XTBITZ+LMRoman10-Bold /DescendantFonts [ 4381 0 R ] /ToUnicode 4380 0 R >>
endobj
-4377 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XTBITZ+LMRoman10-Bold /FontDescriptor 4373 0 R /W 4372 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4381 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XTBITZ+LMRoman10-Bold /FontDescriptor 4377 0 R /W 4376 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4378 0 obj
+4382 0 obj
[ 89 [ 1161 ] ]
endobj
-4380 0 obj
+4384 0 obj
<< /Filter /FlateDecode /Length 12 >>
stream
xÚc`€
endstream
endobj
-4381 0 obj
+4385 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 514 >>
stream
xÚmQÏkQ~/YlžõÝ€š&£¨(šÝPõ x1%- i”4J=%ÛîKvɺ/ìnŒõ–ƒ nl¢%(µ("^=&±‚GÁ‹Ðƒˆx7Ϧw‚s˜™o憙#A@cq1_¼9[8››/°ÛŠy1™f†ê72ø1—Äy ñIÌãžò !M‚}"ìŽ>ÅÂc‚»g!|¿ï»¿ã~ò•œðÃr…#AßÐô qäû¦¤TêÂ4«¯XzUs`*•:Î÷— -AVY®±¦]ÓA1UÈJ0/Až5½ª§™ KTSŒ
@@ -14656,31 +14590,31 @@ xÚmQÏkQ~/YlžõÝ€š&£¨(šÝPõ x1%- i”4J=%ÛîKvɺ/ìnŒõ–ƒ nl¢%(µ("^=&±‚GÁ‹Ðƒˆx7Ϧ
é"4ljÙPµX£nŸ‘ ¨é64™U/ZÔ ŠMUh˜*µÀÑ(ÌÞX( 3ÈéËÔ´)$“
endstream
endobj
-4379 0 obj
-<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 4381 0 R /CIDSet 4380 0 R >>
+4383 0 obj
+<< /Type /FontDescriptor /FontName /XNTVGR+LMRoman5-Bold /Flags 4 /FontBBox [ -630 -325 2006 1163 ] /Ascent 1163 /CapHeight 686 /Descent -325 /ItalicAngle 0 /StemV 145 /XHeight 444 /FontFile3 4385 0 R /CIDSet 4384 0 R >>
endobj
-4382 0 obj
+4386 0 obj
<< /Filter /FlateDecode /Length 358 >>
stream
xÚ}’Qkƒ0Çßó)n…öÁ;ú°"ÂÚ®CXÛa¥ôÕ&gÐD¢>øí—ÄÚ /ÿÿ¿»dòò}òÞ¹º¢÷:§`­ZÍÐÛ쳊L&[ÅÚes@äȵ^Á·Vì„ L7ñ6–¢™s,YÑr\ã¦5Þ„|Zì`šâÅ»Òógâ}íUfré­UÁ=jSRÑÆú Œc¸gÔµPrÁœRj6>$ߨÒ6Vÿþ€› Éõ®–— à‚5÷ȽYi&d“O]Ý`Ë\‘0?1bÝèÎñΈÔµ7˜Žé­ª- PEÀ17uÍ\Y‰àÛ®cnTÑt£í?Ò®BX¸8èQ™âXWCÉ’дO#wæ‰JþG§}Ö5ïCc>ƒAa?™¶u–o¦¥‹uÔÛܾ­hÇò g­ÖÝÍÎ!Z8!ñ1ÞJU6Ë-w.ÃÕ°ÑqG~:TÙ
endstream
endobj
366 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 4383 0 R ] /ToUnicode 4382 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XNTVGR+LMRoman5-Bold /DescendantFonts [ 4387 0 R ] /ToUnicode 4386 0 R >>
endobj
-4383 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 4379 0 R /W 4378 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4387 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XNTVGR+LMRoman5-Bold /FontDescriptor 4383 0 R /W 4382 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4384 0 obj
+4388 0 obj
[ 27 [ 531 531 ] 31 [ 531 ] 33 [ 531 ] 35 [ 531 531 ] 38 [ 531 531 531 531 531 531 531 ] 47 [ 531 ] 50 [ 531 531 531 ] 54 [ 531 531 531 531 ] 59 [ 531 ] 61 [ 531 531 531 531 531 531 ] 68 [ 531 ] 70 [ 531 531 531 ] 74 [ 531 531 ] 77 [ 531 531 531 531 531 531 531 531 531 531 ] 88 [ 531 ] 93 [ 531 531 ] 96 [ 531 531 531 ] 100 [ 531 531 531 531 531 531 531 531 ] 109 [ 531 531 ] 112 [ 531 ] 114 [ 531 ] 116 [ 531 ] 118 [ 531 ] 121 [ 531 ] ]
endobj
-4386 0 obj
+4390 0 obj
<< /Filter /FlateDecode /Length 25 >>
stream
xÚc``Œþi}ýõömï¿­r
endstream
endobj
-4387 0 obj
+4391 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 5721 >>
stream
xÚY \×ÖŸ2¡J]ã’©wRµ¶êVÛº Ô¥*¸Tqi]XÂNIH ì ë Ȳ "ˆ‚à†µ­­Ö´Ö¢ÑÚÚV­mŸ¾j_ß{gìµß÷Mújßïø%Ü™¹çœ{Ï9ÿsþåà@‰D¢Ñž«6z­^ç²ÒÓS­RϺV棱>ZÆ?ÏÇNˆŽâljx4ˆçļÂÁä$"cÄ;9<z—ô>Œý-[2Ž¢DÅÄÏAŠ0Ôi¼ð׸—&ZoŒqzrD‰¨ÑÔsÔ]ê7A®Tä$ùtµ3¦¹ºÎòPGÄh‚ƒtŠ®®3§X?_S¸OS,÷ñ U´¡Á
@@ -14713,10 +14647,10 @@ dºW÷·ŽÛg`èµ+­­ŽE…¹ù¥r›K¬Âù¤µ6(¿ÛaeZZX/ñŒï =ËûÝ´^¬þû§WÙšªô”.=-=1QÎtjªtÍÍÕµ{
¸³ð¤n`ï*â3ú%M†ƒ+ˆa‚ä ýLçñJq ·ì•¥ßK*Ÿ˜àh/íB«C&ý¦«$`
endstream
endobj
-4385 0 obj
-<< /Type /FontDescriptor /FontName /MOXNPT+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 4387 0 R /CIDSet 4386 0 R >>
+4389 0 obj
+<< /Type /FontDescriptor /FontName /MOXNPT+LMMono8-Regular /Flags 4 /FontBBox [ -456 -320 743 1014 ] /Ascent 1014 /CapHeight 611 /Descent -320 /ItalicAngle 0 /StemV 177 /XHeight 431 /FontFile3 4391 0 R /CIDSet 4390 0 R >>
endobj
-4388 0 obj
+4392 0 obj
<< /Filter /FlateDecode /Length 645 >>
stream
xÚ}”Moâ0†ïùÞ=¤˜8¶i…øh%¤åC­z…Ä°‘À‰’pà߯íwÒJ+v+µôaÆžÇgz?¶»xš—G‹gÎ>LSÞêÌÄóÕ¡Šz½E™Ý®Æ¶kcr“wÑæ•më2Û™–õçËÅÒí“K^ÚìrËM—õ8ifÎ…ýNñuXo>ãÕæs½ÝÇ?W«Ò–£øÃœo—Cs¿h_´—üß<æ‚ìq…M~™º)JûʆϜs÷Å›ÍçåÕ¯‰¤Èô©°yMžìè­£aÂò"k‰ÂßìêúäïîMk®K{*£ñ˜ \å¢ië{p~Š›:7uaϬÿXÑ¥ìnUu1^‡ñh2a¹9¹]Ö‡«aöeî¢E{ÿG¾—ìï•aIà!t³27MuÈL}°g] ø„ßÝÏ$26ÿ+αêxº„î_%»PöûPû†3·çéphH½Òo’!29H 3¥ä¤°nÒ h„LŠ½€(6E‚™"‚™˜‚`¦Ò@"IÌÄ3
@@ -14728,21 +14662,21 @@ rµÆ Q°–¨ ÉÕ5yÂLS—ÐMoú¢éžñ ÞÓð^úWÚϦ¯’ÝêÚM0ÀÂŒðÓ¡°ækÆUeåW…ß0»)íióý)Œv
endstream
endobj
350 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MOXNPT+LMMono8-Regular /DescendantFonts [ 4389 0 R ] /ToUnicode 4388 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /MOXNPT+LMMono8-Regular /DescendantFonts [ 4393 0 R ] /ToUnicode 4392 0 R >>
endobj
-4389 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MOXNPT+LMMono8-Regular /FontDescriptor 4385 0 R /W 4384 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4393 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /MOXNPT+LMMono8-Regular /FontDescriptor 4389 0 R /W 4388 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4390 0 obj
+4394 0 obj
[ 28 [ 549 ] 47 [ 549 ] 50 [ 494 ] 59 [ 494 ] 66 [ 329 ] 75 [ 878 ] 77 [ 603 ] 81 [ 549 ] 84 [ 549 ] 91 [ 494 ] 96 [ 453 ] 98 [ 439 ] 105 [ 357 ] 109 [ 576 ] 116 [ 495 ] ]
endobj
-4392 0 obj
+4396 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``à``TPñXàÂ
endstream
endobj
-4393 0 obj
+4397 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2201 >>
stream
xÚ­V PéÞQ#EœÜ YÜ]ï§ÈÚS[[½ÃC
@@ -14755,10 +14689,10 @@ bEìe¬li“2vñ¿è½RÓ£÷%íIH=œ£Òªp©Àó •P"SÆ|…â³×TRQ$”½•OæIù„\%Qé öŠ€b¡-ÐN(JöC¡
«Å`F7fgidˆ¢Îë]ê{¿7á?uµ±ê¨¤Ê±íA# vvPv— Wã2I«‹Lõh> oÒ±1Ñ·S؇A Œ6k¨Z£ m¢ðÒßn
endstream
endobj
-4391 0 obj
-<< /Type /FontDescriptor /FontName /GAKDMK+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 4393 0 R /CIDSet 4392 0 R >>
+4395 0 obj
+<< /Type /FontDescriptor /FontName /GAKDMK+LMRoman8-Italic /Flags 4 /FontBBox [ -489 -292 1472 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle -15 /StemV 110 /XHeight 431 /FontFile3 4397 0 R /CIDSet 4396 0 R >>
endobj
-4394 0 obj
+4398 0 obj
<< /Filter /FlateDecode /Length 432 >>
stream
xÚ}’Ëjë0†÷z
@@ -14767,22 +14701,22 @@ uH®eçâ¶C7Ó¦-I(Ý:Ò$GKF–yûJ»…’sþüÏå×hFWïÛèAè=D“F7ÐêÎpˆ–ëª!£Q¡yWƒ²¯
endstream
endobj
349 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GAKDMK+LMRoman8-Italic /DescendantFonts [ 4395 0 R ] /ToUnicode 4394 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GAKDMK+LMRoman8-Italic /DescendantFonts [ 4399 0 R ] /ToUnicode 4398 0 R >>
endobj
-4395 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GAKDMK+LMRoman8-Italic /FontDescriptor 4391 0 R /W 4390 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4399 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GAKDMK+LMRoman8-Italic /FontDescriptor 4395 0 R /W 4394 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4396 0 obj
+4400 0 obj
[ 51 [ 611 ] 56 [ 611 611 ] 78 [ 611 ] 82 [ 611 ] 100 [ 611 611 ] 106 [ 611 611 ] 121 [ 611 ] ]
endobj
-4398 0 obj
+4402 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xÚc`
< 
endstream
endobj
-4399 0 obj
+4403 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1695 >>
stream
xÚuU}PSWù%+…4-}Oß{¥ ¶…ÄBkQ·ŠP`@E ØÁ²Z‚y„„‡I
@@ -14797,10 +14731,10 @@ E±0Ò÷‡ý—§HÇwâ/ø²Ól:ÝNÒhÖWçòä$ô
±{>Þ4Ä`ûß·YQ$¶Õ4dì­—6}¼Ôh³¾ðóб{þÁ—FÏ}ƒÃp$ºŽp¤xse\ÞɦŽ£¿ëé«õ|Dž;2uükâ—ñwW¿÷›äÔ j@FQCCs³çÒÅA*<OøÞä¼0'àNÃiÅu
endstream
endobj
-4397 0 obj
-<< /Type /FontDescriptor /FontName /XENFPT+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 4399 0 R /CIDSet 4398 0 R >>
+4401 0 obj
+<< /Type /FontDescriptor /FontName /XENFPT+LMRoman6-Regular /Flags 4 /FontBBox [ -515 -298 1647 1125 ] /Ascent 1125 /CapHeight 683 /Descent -298 /ItalicAngle 0 /StemV 117 /XHeight 431 /FontFile3 4403 0 R /CIDSet 4402 0 R >>
endobj
-4400 0 obj
+4404 0 obj
<< /Filter /FlateDecode /Length 404 >>
stream
xÚ}’K‹Â0…÷ùw‚.jSŸ£HÁ'fTT·5¹:›”´]øï'«0ŒSèãë=799Iãm»¦\0è¶)ì°P•fÌ?Óœ4 Ū e¹FäÈëj1†­Vl%4çÉ"‘¢lq"ÙµâX«þÍð"äSbçæÁq¹^mÁÇçNe©;¼T×TÔvDy5êÿ…`ªð¢
@@ -14808,22 +14742,22 @@ n˜/Ô…Pr Q›Rj~,%Ÿ«Ì®° áÝ%„µï³\ß­ÂÉ'Q¸`åÜ“e&*Û¼¿%f‰<+2™@hfE©oÎu‹„ÍQ yæ F³
endstream
endobj
347 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XENFPT+LMRoman6-Regular /DescendantFonts [ 4401 0 R ] /ToUnicode 4400 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XENFPT+LMRoman6-Regular /DescendantFonts [ 4405 0 R ] /ToUnicode 4404 0 R >>
endobj
-4401 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XENFPT+LMRoman6-Regular /FontDescriptor 4397 0 R /W 4396 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4405 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XENFPT+LMRoman6-Regular /FontDescriptor 4401 0 R /W 4400 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4402 0 obj
+4406 0 obj
[ 28 [ 510 ] 35 [ 549 ] 43 [ 472 ] 50 [ 472 531 ] 55 [ 325 531 531 ] 63 [ 549 ] 66 [ 253 ] 70 [ 519 ] 72 [ 253 ] 75 [ 844 ] 77 [ 549 531 ] 81 [ 531 531 ] 84 [ 549 ] 96 [ 363 ] 98 [ 407 ] 100 [ 531 531 ] 105 [ 384 531 531 ] 112 [ 490 ] 114 [ 726 ] 116 [ 490 ] 121 [ 531 ] ]
endobj
-4404 0 obj
+4408 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
xÚc``à0<¨4-ƒaMÁ

endstream
endobj
-4405 0 obj
+4409 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2548 >>
stream
xÚmV TWž!L&jL+1€œŒZ-*¸`Šh "¢€¢Q0$PÑ¢‹
@@ -14844,10 +14778,10 @@ b£`÷ÅÅðóÉæBŸ“½SK)ßiº$ƒíàmEÞ CbÅcTEŠßYz,ª»ûóÚ¿×Ñ¿+«8+æÔrÛÂZúncãí[ÒGL@ä
„+¤ïú_\D¿eéÕ·S?|Þf­“5tíº) ¬–ÈMáúXúmíê-9”2íT·Nfü¢ÒÚ#2¼ÀË„ä~´È¹S}•¥„³¸í&6ß¹õ|àVTÃ&”šc5|:&)ÏO8Î$œ`?0¡Ý¼—ór×öW …wÍûÞÝkÞ7Ö 'þ³&c
endstream
endobj
-4403 0 obj
-<< /Type /FontDescriptor /FontName /PTIWQK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 4405 0 R /CIDSet 4404 0 R >>
+4407 0 obj
+<< /Type /FontDescriptor /FontName /PTIWQK+LMSans8-Regular /Flags 4 /FontBBox [ -446 -314 1510 1154 ] /Ascent 1154 /CapHeight 694 /Descent -314 /ItalicAngle 0 /StemV 98 /XHeight 444 /FontFile3 4409 0 R /CIDSet 4408 0 R >>
endobj
-4406 0 obj
+4410 0 obj
<< /Filter /FlateDecode /Length 496 >>
stream
xÚ}“OÚ0Åïùî‰=dqH`…"-ÿ¤¨Ý]ºAm¯!h$p"'9ðíkû9»RE‹Êy3óÆžŒ¾ìsÿYÔGò£GÎÞ©­{U’¿~)o4ÚÔe%Ù½ C´}b{U—9ul¼Î6™¬º-Îdyé ªû¢+ù)1}Øø@¿üý!ûùý«ÿí%/d;÷ßéÜ_
@@ -14858,96 +14792,93 @@ A3”Ñ” ƒæˆ9å4í DÞÔÕ\€bÐ
endstream
endobj
346 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTIWQK+LMSans8-Regular /DescendantFonts [ 4407 0 R ] /ToUnicode 4406 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PTIWQK+LMSans8-Regular /DescendantFonts [ 4411 0 R ] /ToUnicode 4410 0 R >>
endobj
-4407 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTIWQK+LMSans8-Regular /FontDescriptor 4403 0 R /W 4402 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4411 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PTIWQK+LMSans8-Regular /FontDescriptor 4407 0 R /W 4406 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4408 0 obj
-[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 ] 54 [ 693 325 531 531 834 531 ] 62 [ 796 590 354 383 295 ] 70 [ 561 664 295 ] 74 [ 973 885 ] 77 [ 590 531 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 ] 104 [ 767 413 531 531 ] 109 [ 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 ] 121 [ 531 ] 123 [ 885 ] 125 [ 590 ] 284 [ 531 ] 499 [ 502 502 ] 502 [ 295 ] ]
+4412 0 obj
+[ 27 [ 796 531 ] 34 [ 752 590 ] 42 [ 767 472 295 295 ] 47 [ 590 ] 49 [ 723 472 531 ] 54 [ 693 325 ] 57 [ 531 834 531 ] 62 [ 796 590 354 383 295 ] 70 [ 561 664 295 ] 74 [ 973 885 ] 77 [ 590 ] 80 [ 826 531 531 723 590 413 413 ] 88 [ 295 826 ] 91 [ 561 ] 95 [ 782 414 590 419 ] 100 [ 531 531 531 354 767 413 531 531 ] 109 [ 590 ] 112 [ 561 1091 767 796 561 ] 118 [ 561 ] 121 [ 531 ] 123 [ 885 ] 125 [ 590 ] 284 [ 531 ] 499 [ 502 502 ] 502 [ 295 ] ]
endobj
-4410 0 obj
+4414 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
-xÚc``0°MþüxÛ¿‹ï¾ü
-aÀ 8
+xÚc``0°-.~¼åßÅ÷_~…0`œ@
+
endstream
endobj
-4411 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6724 >>
+4415 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6576 >>
stream
-xÚZ\׺ŸeÝT‚Êd-3:³öÀ-öÞbÅ"e© KY@@X:»œeYzïeaY ˆ`oQãÞˆ±ÅD½c¢¦h<ƒ‡ûî; Æx_rï}ï-üvö›™¯ÿÿ9+ úô!ÁÐÍËÖ,Ú°òƒµë6)ü\ügÙm’y†È]‚ÌŸ-çGò£€Ë'øžµà9!/íƒúZ ÷[õévD­ÃE·_w‰F„ w
-¾—ôÞmë¹ÖqÖ pwàô›–6èšÍÇ6ßQzªûýì÷¿,—äž9øðþC"‡Ú½1,…žC_b ·~yø7#ÖhÑMÖ]MÀ·›øía‚.0ØA®ÍªWq(šÿ/Q^’:+‚ WÇG%q(¸û( 6tÏlƇÔÕŸÅL}PãL¤³6°´–Î
-Ö‡„£t¢³Å@}žCe°@‚€„wEÖ¼!Ö <
-IJðôÜÇó8kþa¬-“ÊŽØ@alè¤öñ' \mÆ<GÖóvî `áç$š#ò!¯f&ì亿5’û/‰¨ƒÞ•m²« ¤ Å3ø>7M+Q‚¥žŽìnOÇhf—[ÕÁ@NU´%4ÜF–€Ô‚b¶©¶­¬•9yPîWÊä{-¦­»2CM]ãM‚ /øŒa×6-ÉY‘1ê¤ØÙÇ£KF23Ѧ“ÐËáÊO¿-W¢…Õ\¼V›ÏŒªÈB’Çn_$:è¹êØ rBóÐ |Ü ç¢Ð΃p´ÆvËcðÀ££Mc'ôêœö„âùuÐJ’ Ô I)±j64A1o<³nZ;œ
-„7rŠ¸d¥Š( 3°Ôáê²âºK+êìg‡„¨?¢^L€6pd#ì—ËYÃv
-§`GÆÉ­²)˜ 8˜t¬>Ÿu¸¢‘mªl5œ`ÚÛƒ·ÕqÖ]ž8ÁÏ™`ÉŽ} =ŒÐÞ¨1R¯q‚çIäb4)0t>ZÉ ‰o²±ð)ù<ßïCÎKåâ£ü&°“`Ì›$%¦Ã9eŸ º˜3Šýa˜¨ûáÛZ(x[ ?‰)‹ÞˆºUÃYA]'̸*ì‰gš:;:F“¨a'yÎP‡3»ÊŽúq~GÁgu4l—§ƒŠÎ¿¢‘hà¤1h ’@b<!uüU·Ò”.†Ò¬û•M 웆F*µØ¾Uؾ#&Øb˜ís6ÂqFa×p~‡¤G¿ëÔO íu¢¶ nåL¾¤Èoä`Òwä³\ùŒ^«gª|'²ö0õÕÃÄ𣒵hHN¢ÛÀÄ L0Á¤0ØÀ~àQú#êÿ^—•¤Å¥Öaá´­Rõ™ísu»U` nºƒg@%s!¨¯p¦0r±&g?¿€V&4
-wž~Åá~utÏªæ© rD÷ô«]pšÝo=¨¸pˆS7ød3”e.È)ààB’Zz(MÿWs°K-\y¥ùŠ-tªM¯µ©»taÃwJï4\ ì>—+)ŠnpŽØ•ìâĹ92/ÿرګ,Œ Š÷ ¦]Kåå,õEÀ¶(Ww'zÉ/›áP8Zœ¸sÚ·Ù§ˆ5nØ &2›År]PÍ~º2=+#‹ j>˜TÉ<ï¸vû@D}p5—Ÿk*;¦µLV'%EÒáyÑÅùEY,úD*ñH
-Ä­Câ›ÎPÚ2{ðCy“¾º ”«(2äÖ0ßB8(êK¶ÎwšÀR‹Ž_pôtYá…{Üâ8Ìåz¡Ã4öÜÇ®øÁ¦r¾‡/&›Rsn±å&1¯Fãu"Ÿr²§þPº#þÕ§¿OR1¯ƒãq"¼¹#Ì7PλŸbøð«zZ¼i«ðáM€Þ'©ù ¸±®QV†ßÈNšî´Ù7œMOÄ|wdæ½-Ж# †©mêî·KW‘/ï»x±`ÏZ…ÿ™ 5|×\äÂF!lÃHá
-j\MZónïñ‹þ0ØLÎSg0;å€.û[‰Í¶U#[lv%yG+3›-SÇÎcƒ±aø´yH™ðøïÀFý
-…6­AÐbfµæa«V'ër<ARîhœÙŽÏ²ñ¸(êUŠ1·š³ €Éû¨9ªß&þ¹ÄXáï¨ôñ¯¬7VV×â$=]wúH© *z<‡FAõœ?ˆàžÖæÉ¡±pÃý«9Ù¬¯ÒÃõ\™QÚTg·,II‹N¤CÃ"âY4YŠø
-Í{;‚âÉ@°kœùæ­m š©në™Aä8Ð^ÍñR«…ún$ŠNO‹Égòô¹¹zfv µ)¢îK¿
-ïÔÌ¿ì)Û7Z¿)X¬ó
-vÂî%Á*öÿ¡æ¨Xó,5>½gà‡WÛy²ò ùÁî u”€÷$0‘7Ç ~#'£!HòÔŠ¾hi=QɆ‘H,]6†nÓXêÑ‘4)›®S‡ûÇÈVœu} GÀÁp8ôa?x,™·Çvš“YSKY*›@û š|4×f÷WÕ—¶1Ÿ×®JÒqe;µ‡a”ý9FÙf”üBØ•K šŽÚ¦¢Ùxøì¡)pŸÂip7;S¨ 4fú($@#¿…i0Ž»û $à¨Ê<€büȼÕÚi»Þ8h $ÐP4t "0 ôj"|J~}±Ó²$Nš-
-Ö-`w¸3³Õ¥º1„ :¬>vœ>
-}½/LðË!üÅIÒR´Ñy,%Þp=œLÃð?dNeóó´Z=­OΈܱ=.žE4’*ÐJdE#å´ÿ€Í̹ïܪñ=/AäûH(^û±wNù*œ‰Åd*hrU”¢aõh ²§Ñ!L•†owb£14K¢“t Ù…ÇOde²†R\ ­è^òô†8ù#oÂÉ<+~s~&àé£ælÖI*B@‹Ú`»8”+• ¿kGídTP*ËA>‡‰U»8
-„TT€ò|¶Ã62¿T`+Î÷ƈnÀ»o:9H~ëÚ§¤Ç‡¢S>»Öšy’…™' úe<pý衺J-ý³`¡‰°S ÷²ë=öy3s×vâÚßøêÎWís¶à´¬5$˜ FÚm=i ‡¿¸úâÇ:ª¤«ä[I:È‹Œ1 )ìÚ$¯³5ñ(¤Â¹„s±×EƒåíÒÎ= Ÿ#Ü´&²èÎ;¹KÉ߶î±:8î¬І¼aòˆÏàj}ÁÞôZ°§Ùƒ¥Ú=ZÎ&Õ2_—Þ«3/ÈL‘ á\ÏQ,æ éâjmN¥ŽÕfÕƒRæ
-Ðxì®i=mõÍ4v.î ¤üû¼µ¤Ñ×à¼ÚyçæP6奘ê@£þ¬›þ=™@~i„Ä©¸%&ÇÆ+iyeTieY¡?< 5ñ>upfàÂeø첯ë$7uŽ­d[/ZSàxâ"ýùùËá¢
-4S¦gcRµ yLaÐÞÞ´ã5ê˜Ök³èÌŽ5[ÔúÔ± Z\Jörû=MñzV 6yYfÇTy珞;,¶Ãå,>¹D¶0dD1‘ ~/‡¶‘‘ 6/S›šÁ¦¥§eš-7_¾ý)f?ß<…ýòQ¬_%h< N y
-J$íþEýËÙÔøÍÙÉŒ<ñì]WÞü=죟­HeãµêŒ^MŸô(š¤‘‘lŠ&.NÍ
-Ú1Ôµ#Ðdr%ÉÚØ º»ˆôQ£YPM
-[–ÆRÒÔ¬ZPÂ@»Š ôq¾¹Õâaûž ®Åa³¸)7~z©_à¯pä¬|+¹\î![ ²Ð
-.`xà(Õ67~žÿbç íÏe/¨æø,|½êæØröŽáÂÕ»4eswê¹ÑÒ9xTEVKËk›|óC´ì™æ[ºb†²9U}3~Ì2—¨HÎO®Ô¬O¶Ü›ŸMGe"ö¸øÎñ£8ê4†K=¶,,=å…aJ…‰£Î,¬WVø("Ül^ÅpØw4ƒ pþøò™ÉæÔËuß;¿„ƒ¿§jø@¸suXüÕ^ËøÄ ’AËÅÖ…ͦÂüa—Î]8ó- û¿…±Ôd5oÊ´òËŒ8Êçä b;j?¯:Æ|×>ï£Ñ‹ ~è=Ù Á"*C4A4ωÍëh-·À¤#‚·Ð±8ö,¡Á—$²ý½·-&gl[»pFrËq~ýæ“›@=C“È%À~ødÿõ,=«ƒo{>'”·5 øF~”y-ÁKƒ¹Nœ#ÐÉ1×iÔd…Dбš¤ä8£'=ê+E‰y ÐUû± ±üG°— Ýt¾Xþ¢>Ñ»€ƒ“ÐsѾŒô„|&?#Ó áGÀ/*Ï6ä5i‡Y¿¾ B»¦›¯Ït±æçùz9#—ÝV|ýéÚÀ€$ IŠæÐônW4%åTm< jñÓ«É\€n7–=U¨‰Ìá²¢‹?t²
-Mì^Šå#Íòi€6žê•ç~—?_dyôè~%ŠÒ§Å2ùéYyi\Êg¥ݢ˜´4U!S˜–•väoå7×T]À
-weö:¨+ª×A>°‡ñ è5øˆ&'0œV©5 ¬-J«Í
-èÒèêzm¥Ù=î – q:?³{R“J¸ÉL€¹¢”´äœ4ºæ
-@j]iÔ–›Uܽ„¼-›“ùY§¡×¢‘»ý–-c‚"s—‘Z‘SKB B”ÑrçÓí¯²ÓX¸–ŸQu®)Û„cŽû¥¡«ŸAp¸V`¾¯K^Å\ñùŒý›óœrŒ+lœìQœçbÍ„mô*ݸö¹ì¢£7öžbÚ<?Î5]×u^¡§åJ6€©ªÍì¨ÐåQ>Œ÷ò—¡\Ì9ðä$} ü5ç ûsÙíì*¦áZÄ”R.w X¸‚îeßSîÓ¼§ÕtuÀÀa×£·Ë
- ‰‹IÁåœ2,E£Q  âçß5]ª«KØ[Å×xWÚ·:²<¿!ëð©mí3—Ç9­g«ÃÝkW1ÎîDbYü•äßW$~#øÑÿI`!Ùœ¡ráPÉŸ‰u/Ƹ&¸ÐÊܨÂ7Þ( ŸÛt¹®.>¼’í%íÿd,¶´gûâÿkéD4x§ysìcÝ¿U'
+xÚy \×¾ÿ„˜ *¢2ÆꌉûRÀ­Zê^W´*Š‹,a „%€€ì[ ! û¾…
+^ q®ðk)±Ô”µD’`ˆ ÄLj–cöJ8](>à5à ‘·¨K¼BœG.4g®8eàÇc~;H=èæà‘ƒk-œ,î±’9ä¦å&˯‡Nš6Ô0ô·aÃ' ϲ²³ê¦6ROFL1uD鈟%#tùå{I£¬G=EKé&eÌØ1sÇÔ¼oõþFh´ìiF¸ÝÈoô€‘Æ(Ò>!g‡bùÿ¤ªr¢˜HURL*‡B{ˆ‚ÂwÏgüHíþÓ ”Ù_T'8#éª .¯£³A†.ŸmƒÃE°F|Méâ@
+ ¶ëGÂqZÑÙR :Ï¡
+X$A@ ‡Á¯D–¼!Á <=jõ«Æ{0ðVWåÊç=’œ‘o!Ý÷F‡{ãy,ô$ŸYw̘·ÔM@E¤ÞPV^[½·$LÇÖ4w‚læìYÏùœœÜ¤Z­ú$Ð|¶,j“MÅÏù9øZWë‘Õ,µT¦ÓËŽ1¹ßf~Ç¡Õ'%Tí´ùÁÛ\›Úÿvé*œ¡c-{’q .`£Ñªýgð-Ìù9ø銟©=«á:É׋î¢á…,u
+ª.ÿí*Ý=ù+D³½Ãü*Å·3⽸ÞRÒK¿ˆ óã­Å”/dŸýÇ¢à7’UŸ.BbÍ„ÉâÆŒìã,äÄÔåç­‹6rzt_²`õ'Y$;«³9X]IJðôÜÇvœ%ÿ0Á
+îßl_>#ü0œM£ß1“sn]Ú.j r¤‘\•”}‚ã!©cïäy“}œÊ·1h8NC4ô§‰Ðê C“‘³'©% ÒöF°T­‡Â9Ô‰qö¨nå‚¥žh£Ïç©jb›«[ '™ööÐmõœe7.ðsFXo´‚C¯hÛ n ^ã/ÈÅhZpø"´šASßTcñSòyaÀ‡\,—‹?Œ ˜ÂNƒñoŠxœ˜:T|ŠèR®A#D½ßöBÑÛ^øYL™õgÔCçõÝ0ûª°/Ÿ™ªÜØxurŠšæ=Gɸ8WàŽƒÏëiØ&®ÌUÝ;CcÑ°iÐ0$ÄdœBªãU·
+Ò”%†Òœo«›80UjpåÂë{é­Ž ê€MAçvtPf|´“\öm‰.a£ŠÓ5s:Í©ígk¯vÜ¡˜Öi;vÎ2¯ßš@¶$<S}ÉÓœªAö-s ‘ÚCúüþoìBø³d“ËÎ,~SDÝ, ­k¢/_;üåÏ?a«z­$‹ìšÏRf-¾xïæÙ ×ös™'*N<åÿ)n£58ðÇŒð¨Q`
+¼kœÔ ìÃïôîúŸ'†¶ZQ[PµrFÒ6q0õ{òY¾|N:æÆùOemaÆ›tŒÃÊìÑ{%¸ºï
+°™Ù½
+ÃùÀ[˜ãßc¨=ÏÞ)þ¯}Î!ÁtgûÀhözäæòµÌ4ç•A±\úbêk4ñJQü¯:ñòî‰ËWò¶où'­ðNÏüë…}mûÆê7 ‹mþSÃNqYÇþÌü7Ûóf®SLÌ5í…°'>–@g4#»#Úf¢ùíwÃÐ ¸ºá,èŽDz$M˜= ÐØï`&L‚“¾úpÜG(΄ø üØ>ÓÚmšs¾8|$Ð(4j"0Iþj*%¿=ƒÃÙY9gõ…ëäéÊluÓ7…q!GT':èƒà³†£l“¾¥¼9u4ħŠ«uÓlõ ûF)¿ßø9ž¤qw…¼ÃH£i­ÊÇuwŠ¬Uk‚XwÇPk,¿j;Aíy®7ÏÓ8kÖÇO¬=ò
+9,VÚÅ1 ¬ª
+T²°¶‘…• 
+{q¾?Gü˜üêMkò§£äw˜ìT^ŠNûíj´7i3“öþëd8ôúñÃõÕZñWÉBSa·$¤ì f7x9îõeÚwãÞßøúî×í ¶à²¬
+7$a»¶õ•%óâꋟꩲž²ï$Y  :Ä'§³ö©>a
+fkÊqHErÉç®!³Fó;å?ž{@?G%¦²èî;µKÉßbåD-œôNÕhEÞ0z%esuþ`Ï*Úìnñb©v¯£gSë˜ûå÷êM9fHp¡÷8SÝ,±^“W­e59ûA9óŽh2׬>{3>…Ý˺()?‚·”4ù\׺îtgÓ_Š©.4î¯à믘õòf$~Ì`)ó”´„$%-¯Ž)¯®(6 ì‡áFÞ¯έ\¸ Ÿ]òµp½äáæî‰Õ,b÷‹Ö9¼HqþòC¸´
+Í•éØø MrSÜÇl·÷1Û$µ*>™õqÙ±®h ƒÏž9qñQ·²=Üoc$BD©Œ>æ¹ñ5¾;é•ŽËlp;‹OC.…-NÙ1L4HÚámd4H(اÉÈÍf3³2s -æ—oÄ~ÆÀáß<…ãòQ‚Ÿ\#hê„ÉBž‚I{àßÑàJ6#É!7‘g;U¦ë+[~€tól’&[•Ýoé“>CSU :šMW'&ª )™l^t`ž ƒ¤òÅ»v4jUÜဪ´/âÌÛoǬ¢=ƒ§O
+¼s:–-HK׎±sXŸYMY)«Óåètæî­mj=ÆŠc]3©BÎuo„ö$ð Äç÷Œ2‰¹&#„Û–™ž£*6—‹}‘·¨AœQ”w­pŸ¹.ï&&WÐG<±"ê"ÂT.Ͳ£€s[hÍgÛI8¡:q……ÓàNQNȨ¤û(ÐÃÿ6|ýø0Ö¡OlžBå“ÕO¨ËPW |oÊc$\¾Ûy§’½ŸÝuà"ÛQòÈe¦ü¸
+ušo<PU]Z—wð3—3‡åï($GÕÐjõS–ro?Up´•;|¨±å!m£‘l®Þ¬s°ž0Ž~͆½œ²U}õ ý¼óÆíŽú`Ÿ2¶Â ¸l7ö¹.ð3„¼¿¤ !76:-..•Eè¿ŠRûžÕÅæ&gb*ÂBôz¡H—²
+/Ç-KÊOû°jªŒufÉ~e•"ÊÃú—õP Gÿø§>!}þôò™ÑêôËõ?¸¾„# jù`¸
+“aUDÒŽ¸=æI)‹A4ƒVŠ!-‹‹ZŒÅ…£/»pæ;ž| g©ÈÂnƬ‡’ +Šr”ß© Žíªû¢æó}»ÝGã—-FƒÐY¡‘"*;.¨Chž›O½s ¦¼¥k}d­ïÉ|I"ë?àm9g›ý’9iG;XxÿÍ7·€j‡¦‘Ë-üðÉë9:V³
+Ôá»!V%’¹­ ^{ºXÇåÄ–~
+è´84µw^mZŸ è†Óýë¹?ÖŸ/²zõ¾Åè2‹™Â¬œ‚L®à÷Á½Ù¢øÌ̸b¦83§ìÄß.l©­¹€ îÙ× ž˜þ
+¥‰Ö9ÙpÓ^CÓ9PÁt
endstream
endobj
-4409 0 obj
-<< /Type /FontDescriptor /FontName /SEKAPH+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 4411 0 R /CIDSet 4410 0 R >>
+4413 0 obj
+<< /Type /FontDescriptor /FontName /SVSURZ+LMRoman8-Regular /Flags 4 /FontBBox [ -456 -292 1497 1125 ] /Ascent 1125 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 98 /XHeight 431 /FontFile3 4415 0 R /CIDSet 4414 0 R >>
endobj
-4412 0 obj
-<< /Filter /FlateDecode /Length 638 >>
+4416 0 obj
+<< /Filter /FlateDecode /Length 640 >>
stream
-xÚ}”MÚ0†ïùî‰=dɧ + ¨¨û
-9dý;i)/¥úJ1}Øø(¹‡õÅî»ûú¶¯«LMݽ¼Ü®YëzfÕ±ì¯:ûÿ‰LGÙƒ(³e~ʶ+kõÂügÏóôƒµ*VuevØ9²d“Áû\ª¢%Uv2⎰¢Ì{"û?¯ô¨ÌâýëeµUçÚ™ÏÙDw.»¾½[ë'gòѲ-Õ…8êœÃ­i®Òø0ÏIVȳ.­gôžU’MÌö·…Ž–ýýѾÖïdeÂy]È®ÉrÙfê"¹‚—°ùFÿ%ŽTÅ_q«Ng N¾òh忳Öò—ºçE~bie‰ƒ‚
-'B•pJ-釖6ÈŒ,…>ªÄ ôãD1ˆMÑ2g ªIfDfDkĦ rE<S™Í@dF3¾Á,Âþ"˜q"r¡šäB„¹ð5f!:Äp‰6 ¸p"¸„8£§¢XŠ, ¢;ÂþbXÔžºÇ˜`€ÅðÔSŠqîf‚f1ÎÃLÁ%Ää9\Bœ'ìˆÃ%Æùq¸"L0¤š0 ©;&(ð+d†‚ÌÐ]Í s43"˜ LIÐ/ ót~œ>”“~=µO|ûžoýMZ"P
-â Y‚·Ô¾•æ…6wÓçý‘ßÚV_ö³7„¹J%?︦nÌ*û±—ãpQúØ8
+xÚ}”]‹â0†ïû+²‚sѱŸÉ8HA­‚°óºÃ²wµnÁ¦¥þûMòžŽ°ì쀃OÏÉ9ONl&ßÞOÒ =¶—]=´¹t×/YãL&i•Tý«”…,Æh÷ÌÞÛ:?ÈžM×»t§ÊþA'ïT~
+9fý;i%/¥º§˜>lz”?ÝÃÇáÇþ—ûýe_W™zr÷ò2\³Öõ̪cÙ_uöÿ™Ž²/¢Ì–ùmWÖê™ùžçéU¬ëÊì°sfdÉf£÷¹TEKªìdÄ?`E™÷Dö^éQ™Å‡[×Ëj§Îµ³X°™î\v}{³ÖÎì­-d[ª ›~á¨sCÓ\¥ñaž“$¬g]ZÏè5«$›™íï
+-ûÛWs¸¯9ÞÉË>„óº]“å²ÍÔE: =/a‹­þK©Š¿âVÎ@0~åÑÊg­)ä¯t!Ï‹üÄÒÚb(DŒh‰XBN„*á”ZÒ-m‘Y
+}T‰AèljÐ/|qdr@&Ñ™T“̈̈6ˆQMrE<S™ÍAdF¾Á%Âþti#"ªI.D˜ ßXŠÑ=ڂС{ˆS‰1½ÀRdIÅØvÃ3€u ³€úaföÃLPÌ%ÆIs˜ "˜Å8i3A—³æp qFœ\°#Ž™°æ0‹q~f‚ ©<CrÁ~/‚<ÑO'\yÑ1%A$‚§ÀÌý²à)èü8}('½?µO|ûžoýmZƒ"P
+â y‚·Ô¾•æ…6wÓçý‘m«/{ÙÂÜ ¥’Ÿw\S7f•ýØËq¼¨ ½m?¦4Žn
endstream
endobj
345 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SEKAPH+LMRoman8-Regular /DescendantFonts [ 4413 0 R ] /ToUnicode 4412 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /SVSURZ+LMRoman8-Regular /DescendantFonts [ 4417 0 R ] /ToUnicode 4416 0 R >>
endobj
-4413 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SEKAPH+LMRoman8-Regular /FontDescriptor 4409 0 R /W 4408 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4417 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /SVSURZ+LMRoman8-Regular /FontDescriptor 4413 0 R /W 4412 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4414 0 obj
+4418 0 obj
[638.9 ]
endobj
-4415 0 obj
+4419 0 obj
[446.4 446.4 0 877 0 0 0 0 0 569.4 569.4 ]
endobj
-4416 0 obj
+4420 0 obj
[668 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 607.3 ]
endobj
-4417 0 obj
+4421 0 obj
[570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 277.8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 777.8 500 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 0 0 0 0 0 0 0 0 0 520.6 0 0 600.2 0 0 0 0 0 0 0 0 0 571.5 ]
endobj
-4418 0 obj
+4422 0 obj
[388.9 388.9 0 777.8 0 0 0 0 500 500 500 0 500 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 0 0 0 0 0 0 0 0 0 555.5 0 0 0 391.7 0 388.9 ]
endobj
-4419 0 obj
+4423 0 obj
[ 28 [ 525 ] 35 [ 525 525 ] 40 [ 525 525 525 525 ] 47 [ 525 ] 49 [ 525 525 ] 55 [ 525 ] 59 [ 525 ] 61 [ 525 ] 63 [ 525 ] 65 [ 525 525 ] 72 [ 525 525 ] 75 [ 525 ] 77 [ 525 ] 79 [ 525 ] 81 [ 525 525 ] 84 [ 525 525 525 ] 91 [ 525 ] 93 [ 525 525 ] 96 [ 525 525 525 ] 102 [ 525 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 116 [ 525 ] 118 [ 525 ] ]
endobj
-4421 0 obj
+4425 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àø˜(šp5Oì±K
endstream
endobj
-4422 0 obj
+4426 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4150 >>
stream
xÚ­XyT[U·¿nJ[ŠZ¾8Ü«ç¦vÔZZëÐ:tig±–KG(”!Ì%B ™Coæ2a
@@ -14969,10 +14900,10 @@ FÁRâ+æ“›ÝðÐíTÿ4Y¯hÚ”Æ5Äõ‡ÙLV°™\À…‰Œ‡Ón¶Ä‰ ¯|5*ÇÃãI1Ê?bT¨Œ`km^é~R.w¶:}]!ªï“Žs
¼‡½ÌžÍk¶:‰vYPœ«+`·/@»pKY¡vÊÚÛmž
endstream
endobj
-4420 0 obj
-<< /Type /FontDescriptor /FontName /YWBYKK+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 4422 0 R /CIDSet 4421 0 R >>
+4424 0 obj
+<< /Type /FontDescriptor /FontName /YWBYKK+LMMono10-Italic /Flags 4 /FontBBox [ -491 -316 834 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle -15 /StemV 175 /XHeight 431 /FontFile3 4426 0 R /CIDSet 4425 0 R >>
endobj
-4423 0 obj
+4427 0 obj
<< /Filter /FlateDecode /Length 538 >>
stream
xÚ}”[oÚ@…ßý+¶HäÁa}[‡Y
@@ -14983,21 +14914,21 @@ ZZŠV ×óÁRìzNA®§#¸˜!†ëÈ‘SÀ 1b(„˜!‚Xƒ ag ¶”rP‚:8K^襮z!v¬@˜Vpd"& žÀ‹€zê
endstream
endobj
339 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YWBYKK+LMMono10-Italic /DescendantFonts [ 4424 0 R ] /ToUnicode 4423 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YWBYKK+LMMono10-Italic /DescendantFonts [ 4428 0 R ] /ToUnicode 4427 0 R >>
endobj
-4424 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YWBYKK+LMMono10-Italic /FontDescriptor 4420 0 R /W 4419 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4428 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YWBYKK+LMMono10-Italic /FontDescriptor 4424 0 R /W 4423 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4425 0 obj
+4429 0 obj
[ 28 [ 525 ] 35 [ 525 ] 43 [ 525 ] 47 [ 525 ] 50 [ 525 ] 55 [ 525 ] 63 [ 525 ] 66 [ 525 ] 70 [ 525 ] 72 [ 525 ] 75 [ 525 ] 77 [ 525 ] 81 [ 525 ] 84 [ 525 ] 96 [ 525 ] 98 [ 525 ] 105 [ 525 ] 109 [ 525 ] 112 [ 525 ] 114 [ 525 ] 118 [ 525 ] ]
endobj
-4427 0 obj
+4431 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àTdTšâÁ°Àe
endstream
endobj
-4428 0 obj
+4432 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2337 >>
stream
xÚ•V{TWŸ
@@ -15016,10 +14947,10 @@ fTKw0V¸&Q¬«¥þ+<NnVš-ÅLWœÕNŸâê]ÌuIMa“&#?/¿
aA\PQRA‚• ºH¹¿CÀ¿à èq•pâ*­)9 —÷q\ÞÕâÉ_ê‚~Rüˆ¯$r
endstream
endobj
-4426 0 obj
-<< /Type /FontDescriptor /FontName /ESZHGF+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4428 0 R /CIDSet 4427 0 R >>
+4430 0 obj
+<< /Type /FontDescriptor /FontName /ESZHGF+LMMonoLt10-Bold /Flags 4 /FontBBox [ -454 -308 734 1039 ] /Ascent 1039 /CapHeight 611 /Descent -308 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4432 0 R /CIDSet 4431 0 R >>
endobj
-4429 0 obj
+4433 0 obj
<< /Filter /FlateDecode /Length 459 >>
stream
xÚ}“Án£0†ï~
@@ -15032,21 +14963,21 @@ xÚ}“Án£0†ï~
endstream
endobj
338 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ESZHGF+LMMonoLt10-Bold /DescendantFonts [ 4430 0 R ] /ToUnicode 4429 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ESZHGF+LMMonoLt10-Bold /DescendantFonts [ 4434 0 R ] /ToUnicode 4433 0 R >>
endobj
-4430 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ESZHGF+LMMonoLt10-Bold /FontDescriptor 4426 0 R /W 4425 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4434 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ESZHGF+LMMonoLt10-Bold /FontDescriptor 4430 0 R /W 4429 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4431 0 obj
+4435 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 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 101 [ 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] 118 [ 525 ] 120 [ 525 525 ] 139 [ 525 ] 163 [ 525 ] 202 [ 525 ] 294 [ 525 ] 602 [ 525 ] ]
endobj
-4433 0 obj
+4437 0 obj
<< /Filter /FlateDecode /Length 36 >>
stream
xÚc``ÿÿÿÿ÷ÿ`â×b`P`€&¢€
endstream
endobj
-4434 0 obj
+4438 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8560 >>
stream
xÚÍzy\××÷DÈ$*EeLÅŒ½ƒ»u¯[ÝwQP¬u ;B , KØ™°ï„}ßDÜ÷— ¶Vmmµ›Xí¦]Ÿ3í¥ïçú´ý=Ï?ïçóB˜pïÜ™{î=ç|Ï÷œaiIÛí[ìw­\?eƒ““<@þÖÌi›ež!~n
@@ -15077,10 +15008,10 @@ e"ëcšâ›Å|*›Ÿ›—ÆdV
Òbò54žI¦æ³ùùRþÀg£°þoìÉì¦ü&}ƒ¸µ¢¡å}¸E.Ëd4i1Åt©/,Ô3ߊ¨“晓Hm\RB"%,VøçøÑN;]·ù0J™Æ-nŸØ“ŒÑÆŦ0I‘BMR¾¦˜n&Scؘ)ÐÅ ù?}”Ìq-r¯: ÞÖrÁµƒnjÌ)®aò¢…ñ™9I¹tF÷ÜÖØö„àä øù„§œ,vQ)« e#">‹†³ýÚí"ÿÌÄFÄ 33yÇ6½÷;”£­&¼AÄBÓ{¼Smbò¹Uù°$?#ŸDŽ[ýfX d­ÖgéL?™åYVV­iÙº2]Þå–<«×¸Êáÿ%ù¿;TG³
endstream
endobj
-4432 0 obj
-<< /Type /FontDescriptor /FontName /VSFYBK+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4434 0 R /CIDSet 4433 0 R >>
+4436 0 obj
+<< /Type /FontDescriptor /FontName /VSFYBK+LMMono10-Regular /Flags 4 /FontBBox [ -451 -316 731 1016 ] /Ascent 1016 /CapHeight 611 /Descent -316 /ItalicAngle 0 /StemV 175 /XHeight 431 /FontFile3 4438 0 R /CIDSet 4437 0 R >>
endobj
-4435 0 obj
+4439 0 obj
<< /Filter /FlateDecode /Length 757 >>
stream
xÚ}•]Kã@†ïó+f/½¨MæS¥ú e·*Vd÷²&Ón MJš^ôßïdÞ·
@@ -15088,22 +15019,22 @@ xÚ}•]Kã@†ïó+f/½¨MæS¥ú e·*Vd÷²&Ón MJš^ôßïdÞ·
endstream
endobj
337 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VSFYBK+LMMono10-Regular /DescendantFonts [ 4436 0 R ] /ToUnicode 4435 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /VSFYBK+LMMono10-Regular /DescendantFonts [ 4440 0 R ] /ToUnicode 4439 0 R >>
endobj
-4436 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VSFYBK+LMMono10-Regular /FontDescriptor 4432 0 R /W 4431 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4440 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /VSFYBK+LMMono10-Regular /FontDescriptor 4436 0 R /W 4435 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4437 0 obj
+4441 0 obj
[ 51 [ 569 ] 56 [ 569 569 ] 78 [ 569 ] 82 [ 569 ] 100 [ 569 569 ] 106 [ 569 569 ] 121 [ 569 ] ]
endobj
-4439 0 obj
+4443 0 obj
<< /Filter /FlateDecode /Length 21 >>
stream
xÚc`
< 
endstream
endobj
-4440 0 obj
+4444 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1685 >>
stream
xÚuUkPTG¾óȆë(uGû^QWÂCÅøZ·`‰¸ òô±™Ë0Ì0çሠjÒ3GAŠG@^òX"")E0‚kŠZ]CP*–•X,PšÑ¾nócg´öÏVmwÕéîÓ§«¿ï;Ýu„XLÿÄÈÝá »¢câ¹Lµqs`<«µÔ&ïÞN~9¿*
@@ -15113,31 +15044,31 @@ GK›êtôËdžïýmšBó—áExáæÐà}½gËZªÝ5g:÷‚\þû¥~ÕóÛBc"õZŠOI
NÁbŽâC¤^ú®×r—`à)ê|*â+Ð%æM¤Ü× 1=ÛU8⦈ˆkQʨöR¡ ‡áyÑ Ä¶ËšªJ‰mž´Ñ¹ÃprŒú~_9&꾩ûR58WCW%Ù#B)_o-ZÈ««=%…Øä-/7ýlµ|D%2–]¨•‚¨DC°bTø¸ß™ðir8ö‡ÓálkQ(\ç-µ—:KÏ—:óÿàY
endstream
endobj
-4438 0 obj
-<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 4440 0 R /CIDSet 4439 0 R >>
+4442 0 obj
+<< /Type /FontDescriptor /FontName /TFIASI+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 1124 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 108 /XHeight 431 /FontFile3 4444 0 R /CIDSet 4443 0 R >>
endobj
-4441 0 obj
+4445 0 obj
<< /Filter /FlateDecode /Length 405 >>
stream
xÚ}’]KÃ0†ïó+ŽwQ›îSeætPp›¬C¼í’³X“’¶û÷ž$ëQ ýxzÞ“¼y“ÞÍ[Í¥Ùc4¼ã°ÅÚ´V`´XëõžhKÔÍQ¢ìªõ#¼Y#rlàv‘=gZ5}gZœZ‰êwÑ•þ–¸yàv‡Ñn™Íó,z]mMYèi´Åc{*lÄ]×N5'Rÿ/ªÂUðü£­•ÑÜqÎéÇ‹– SºÖ,¾¸„¸ó}PZÚ‹UØ;ã,€T¢¹Š’¢rÍù¹n°ÌôÁ°Ù bšYÕ={×}o¬D«ô‘øw¤ÉÛª:¡óœ¥)H<ÐДѺ(b·üLRU5ç¿røîÙ+„ç$Fb]m¡ÈfOa¶¤+e¨å:]ûC@tŸÉµ$> ëi zݧ,¼<=y½zð4J<MF¦Æ&憞 <M/3ð4¸ô®Ü‚ÜÞ\󭵞ß@ŸËFi¼îqe*×åo8ºƒêh³d_K}÷O
endstream
endobj
336 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 4442 0 R ] /ToUnicode 4441 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /TFIASI+LMRoman7-Regular /DescendantFonts [ 4446 0 R ] /ToUnicode 4445 0 R >>
endobj
-4442 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 4438 0 R /W 4437 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4446 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /TFIASI+LMRoman7-Regular /FontDescriptor 4442 0 R /W 4441 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4443 0 obj
+4447 0 obj
[ 28 [ 481 ] 35 [ 517 ] 43 [ 444 ] 47 [ 517 ] 50 [ 444 ] 55 [ 306 ] 59 [ 500 ] 63 [ 517 333 ] 66 [ 239 ] 72 [ 239 ] 75 [ 794 ] 77 [ 517 ] 81 [ 500 ] 84 [ 517 ] 96 [ 342 556 383 ] 105 [ 361 ] 109 [ 517 ] 116 [ 461 ] 118 [ 461 ] ]
endobj
-4445 0 obj
+4449 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àT\0Ńá 
endstream
endobj
-4446 0 obj
+4450 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2056 >>
stream
xÚuV Pgîf.Ô•qj»[ãm`
@@ -15152,92 +15083,101 @@ xÚuV Pgîf.Ô•qj»[ãm`
ƒL8Á.œÔ;Ñ1©mÏçì(¯`ç.¡°«¦¼¢Â)³¢pò
endstream
endobj
-4444 0 obj
-<< /Type /FontDescriptor /FontName /YSFAMU+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 4446 0 R /CIDSet 4445 0 R >>
+4448 0 obj
+<< /Type /FontDescriptor /FontName /YSFAMU+LMSans10-Regular /Flags 4 /FontBBox [ -420 -309 1431 1154 ] /Ascent 1154 /CapHeight 694 /Descent -309 /ItalicAngle 0 /StemV 93 /XHeight 444 /FontFile3 4450 0 R /CIDSet 4449 0 R >>
endobj
-4447 0 obj
+4451 0 obj
<< /Filter /FlateDecode /Length 464 >>
stream
xÚ}“Án£0†ï<…÷)=P I ©"¤– iÓV%»jÄžd-8äí×ö˜Vª6‰(óÏÌ?cgö㵸:@¸¸¥ä z5ja±kº`6Û*6¶ ‡g
endstream
endobj
335 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YSFAMU+LMSans10-Regular /DescendantFonts [ 4448 0 R ] /ToUnicode 4447 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /YSFAMU+LMSans10-Regular /DescendantFonts [ 4452 0 R ] /ToUnicode 4451 0 R >>
endobj
-4448 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YSFAMU+LMSans10-Regular /FontDescriptor 4444 0 R /W 4443 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4452 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /YSFAMU+LMSans10-Regular /FontDescriptor 4448 0 R /W 4447 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4449 0 obj
-[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 41 [ 278 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 778 528 472 ] 95 [ 736 392 556 394 278 500 500 ] 104 [ 722 389 500 500 750 556 ] 112 [ 528 1028 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 168 [ 500 ] 199 [ 778 ] 251 [ 444 ] 277 [ 444 ] 280 [ 670 ] 284 [ 500 ] 319 [ 556 556 ] 499 [ 472 472 ] 502 [ 278 ] 612 [ 500 ] ]
+4453 0 obj
+[ 27 [ 750 500 ] 34 [ 708 556 500 ] 38 [ 500 500 ] 41 [ 278 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 778 528 ] 95 [ 736 392 556 394 278 500 500 ] 104 [ 722 389 500 500 750 556 ] 112 [ 528 1028 722 750 528 ] 118 [ 528 ] 120 [ 444 500 583 833 ] 125 [ 556 556 ] 168 [ 500 ] 199 [ 778 ] 251 [ 444 ] 277 [ 444 ] 280 [ 670 ] 284 [ 500 ] 319 [ 556 556 ] 499 [ 472 472 ] 502 [ 278 ] 612 [ 500 ] ]
endobj
-4451 0 obj
+4455 0 obj
<< /Filter /FlateDecode /Length 49 >>
stream
-xÚc``°®¯ÿüß¿ŸþüúÆ
+xÚc``°®¯ÿüß¿þüúÆ
endstream
endobj
-4452 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8702 >>
+4456 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 8580 >>
stream
-xÚ½zx׶îYÆ€˜!{ ¡÷J ÔлéŽ÷&WlËEVÙ*î½É– ²±±é½7'@HB ˆ)'¡$$d³}ÏwG6î 'çœ÷î{’?Ùžͬõ¯½Öúÿ5# ¬¬@ÐÑâ-ööëF-_±6Ðß9`Âø1kÝ=e~Î!– ¹Ü h ¸÷¡€]8VÈÙYá¡ÖÂ=ÖVíóðÞ"õïXô!A
-zòŸ]6õæÚ¬ñY¶lXm=„t!Dψ¿ HA­€þg—8vüøÉóƒ¢B¼=½Âì&Ž?i´åsºÝ¼±vK]}#B}½íœÜì–Žµ[1Öne`¿ÕÛnx`€‹»—³Ÿ‡] ‡Ý:÷Mv²P÷P;Ï@YP舱vë¼¼Cí"C|íøß!î~îΡînv²
-Ð6²6z6€F·Í[™é ·-ñ/‰®¨**©ÈI©Ý®eë*g×0‡O»Md=ÈMªÏTËý%s¼C6:Ò”|ÆÓ‹-ö,Ô<WC¥óA¦ô|Þ·,þ䨔Ҏžïí°Å¥îÈÉæ»hz°iÛÄCÐbDf[ÄÞEgžÎ{AíocÑ2éƒé_caxZ|åÒWôƒqwp_ÐÞů\|C'÷dÛËIOµüSêÇ Sa¨ÿÃÖ¿±¸º']¶e*<iĵºôƒ
-õE4r!‹¡6»
-Z®”$'kÒ`–†Ý«ú.|·k ÷1à¿÷r’™ÉÉ€omJç2ÞØ„ô¯mrÒ\ú‚F[È3p×ÆPí´,Ó—IH€òΓÞJipÈô”èåPíE㑤?ܤK
-ÛÆ XiL“CE‚à’ì¦c³oÚ…Ž¢chã®óHÐ:-acuP•Ç@})‹ÈB˜.W*a|Ø<WTï±éÈ(¯ÂSð$ì„]ÑÇxZ‰¦>C,’ð ­–›Píã“`×]´ñ±›„ºK³ *Q­T¨ÁØ€¥ñ̆I{Ñ4õNóñÌ‹Ï:ÖE¥ð£ƒ‹"ª*J
-w~1»ñSÜ{&p/Üçùp$At ²Î¼³ð
-|%¸ÿJˆÖq6ÒêÐò€€ÐЀ€òÐêêòòj€oZýi›¢9áhý+Zb"G­ôRh“«WTPppaP}~^ZV6ÐÍ \é¸M¢Ph4J:9U™šsë"ùtN…æ6Y€ÀýÃ/PÜ aÛFÔ*Ek1ƒ&àÙïOà.b44­f‡õÅÂÈUž[@PÄÚ5C™¡yÊí&;Rù…øÂÙ‚£ìÞÕ™SfÑ+7Ÿ2£“|ΚýšmyüŠ[(w®¼¯™ü,)ý0ËýBRï¤+ö#ëœ*Ö3¸Û XŠ©gÑøÒþ]5&v IÍAR«(¨–Gªq«¿ƒÌ‰qð¬ØÊ7©N7Ñ ºsÕû¹twí ¦®y‡ƒ™ÍŽ†ê(Ú¦m_ÁΙï›ÑTÞï­h‹ 2éMÂ6;”- ã±!aóð÷]uJ’O³}?fM¨(D<Eî7L@ɯ‹•TŒÆT®Ãlk"™¨ýÜ[ÀJßö•¸sÑø—¢yFAÕ]”ØòzÕ$éRÕŠ$5ì5&0›]w6„±þ‡`K=jÄF=,}¾þ)î%ãóŸô¯#‰lö#a1»õ—â1‘vÏ´‹y™…7KþʪÚzšÍGJ Õ!·Í”ÖË÷»7ƒÈÒ˜¬e{$_6>ÖB?žxzü°sÇFéš·ìø†S´dMÀûáôÀŸÿŠD?Üý ,@?K׺m]åp¯Û¢í;•»
-é󗛯]¿´q>(m—JçÎÙ8}Êü wÏÔ\úŽ‡¢ç,QUäAÿ•<ÂŨÿ4vàTÛa›;z!-‰„± ýGql$Œˆ(†ù,÷7q~1,añ+~ßÐþ7ñŽÎ}y,÷£8ϲ¯#h]ÛimPQppP”hlß*Ú¡Õ&å0YúÔB-ÛˆÇÿ9IlÚò!>hFø&5 ÕµõVkˆ }d¢¸ß¸­ÒŽ8øsœÄ”V_w62M ªž5ûÔÚÑ0·ŽEšûäYoVÀÔŸQ`
-JS#:×€µ4ÙcPÀ[|š9‘M¾—a «–Ç„¨­­§´Á£vÃgo09Óï¾A:Èáb¾ã#±^´ç TíaÍáä\uv=‹¾Fb3îŠ$ä÷‡íÓçÃä|¯ŒŠ ¡Ã
-"*«óKÊAG˜Q—g£î¢ÍFôÁÝÏžV…õ¶Gž‡·~üI[©>½¸õh»uŸþ[b¼<ÚHR’REImr ƒz^}”›¦JMf©®TÁHŒØ±˜¡º®ÛÓK·±Iz%„4µ{xLŠaña2
-&å¥ëôiPÝpâ[æ˜i{T[à¡sÛL{ÁU¡ÎÀ-Ô#x;3oíñ³Ñ,5gŽF¯×d3µ…¦òòh“O¬Wòv–*í7åÊHž×H~þQ?ø0ÑfNÆw›ãׄœ/š.5㶒%0-&Qe)Çø\»·ÈO¶i.÷뛎Áf¦ù8T5½í¹À,Å*1Rq]E6m23Š5sC:ÚÂǭ¶P”"5“ØF%rýê=Y¿ò¡^îÁ.#±¦—â-u bsí¹ßMÀÃJÀ_ô‡ßõ'†3x%þOÄÎØMÆ“ÐÚë·+Îîbe¹{\³™L˜‘Ï¢yd£!õ²ÅMìR†ÖžÙ_VP†`Y|™-šô5äß}„rŠ”sQÜpia|[„£ÂÅPX^ë쬗1c.üÔÑèn
-gãvDùxÑ~¹îæ°*Ú×É•žÿ|²AÝ~9z³.öè¦*Pµa \É„8Am2ëk7×ÐXVX›TÅÌ“+Wn4Ä4„”±»êëS‹ê9L‡z +Säñttn|AVqzÀ 0! ÒøîñIa®Ìdø¢¬R[“ob©KòœŒ²ª=Ì8,ŒE]Ú»K×/Ø<bè£ÇìnاgÅ÷‘œÂvrä f´«³¸ãáwêk%?µŠ+'ëuÙ7@¹Y¬òš Ý÷9PïÅú•“¹ˆãð1÷—‡üчÄúº¯xº¼ûk¨ªcß\
-<ýõ…K
--it)izÚpí\V¸x´YWª•ðfÄÁ@Æs…NË›]¬É’Çѱñ³bFRuï_Ï=êòv=¿$/ÝØlEGF+#-û ½¨ºZ£®æ“\Ä'yD7ñuƒEõ&ê2w«ƒ? ‘Çò\e3]L賈;É]0ïPkSÃUžã¡ ã6ë5TÔõd—EâŽÅÌÈ’¥ÂªY¼î°‰û;I]y¿íB>Ï~ñ:°vU(¿
-%|+ü]øžÒƒg‰ƒ¡&*™Åíç°?wZdä›Mƒg½å*2nl9oW=êjÁd0<XÉrõZ)þ«‹(.551‹ÉÖgdxvÐÖC¤m¿&~î†/xÑø9T5ðH}ÕG¹ñuÅáú  ·ø‹²ãÍ>ˆ›íÀÌÛæ´"ý•¤¾Åÿ Å¥ÿ´
-ýXŠœð(^‰.Å‹ð<»ð¼c,¢¥hš„Àà<).ÂN7
-Óߣ<”ƒ†~q÷úhδp¹‰ß!>vÞµ0-)ê3ìî{Ä>_¥¿ŒB]QŸžñÄlZ†Ô®—9™cÀfÆɱô@²ž¯§á‰ò}à@åÁÒ=̾½2§
-¶Â ®q§;¸×`¾ÄS¹ ¯„ÜÔ¾f_r‚*»åÎåP–­˜}?²ä,¬8ƶó=Z?øZªã¸‡Ùó £uˆ³Ýè¢Ù¶î%¼¯‰ì_R¿µYq
-é³áßã~õgEúþ›ˆf‘Èß¾`÷Ýy±Í‡ÀTÖ©ÝZÅh¸Å ð3mäú›cM¶¯® ‚»T¯×ƒ¤‘ϱÕ,gGYh!ßЀké
-G¶ÝëíB²Ò#ÑËm&™IƤ6¯ÿæí|©/îñÙÔ¹®î%MA ¶jKhJR}ŽV®>Ê\?? ‹xú¿ž%=?#D÷p²TuÑ…
-g'f[È®K¡,ÕB nÇ¿C}Ð(úO¹ã€Fñœ}©¹.-³ŒÎÏ÷„¡>•ÿÌëÖ£ì@^÷ΊÇΧd¾GV3›üœ\‚r#µjv} ¶ºŽ¢i”‹ì¾} ¨Pâ)0g°x0n‘Fzû*e̦¤ùÕ¥µ'ŒÎk,#5ÓëÅ5²c^TpEÈ•ã Ò7 í´Œt/ªŠs¹ø ƒ%ƒF⾸÷Ó¡Hrµioµ‘Å‹ÞYd¼ º-õ
-”…‚Ø8ß m̼•­ˆDݯÞýêvóä ü¥üà«ŸÃÑÁG[}a´=õ¸ôÕ–Wk{Ý¥ÆÜ$îsé×x&V,Z
-¨s¼ËbË,óáýÎ|\Ž›Ïä73H
-3(ò€›¶ð4ăφ•áhƒYPoB­(ÃÔg@Û\n“4Ò2CCâH,ãÝESòòkÑ(¦¨ª³ØR%”‡Ñ|ÆzÃØAÀÕ2±ù`¼ì˜Ø¸’ƒ`Þ. /yE Ë®„Å •ïƒ§äYÚ•Ü„>‰@If´<Âö—+!&D›¨ßÑw¨—ôtÈ:r®¿»Çbø¨ 3úÈŒ?²°»É!bÍt»J‰Œ¤Ìßáj1îù$¾þZÕµK³²k¼Ò\†ºýtÁ$@cCþ݇äáœ-½³üæG¥àN噫·è;“N:{Õlcdµ¹ÄX}dÜ›[r뙦“² ñê5ÁŽ¬ÿVoUˆF¢I
-U'3IšdM-O‡…`ŸøNâxÀÂ
-rÕêüy±|Ñ ðËeÑ`ŒD±iº”\&×™Å+¼ÐÍ̲½-Úþ6¿çòùÿÌb®7ÛýJmú]Ñ¢ÚßOãÏtâø¹¦Ä'’V¨’Ô
-€G¶»àÉ\œHcP§¥Ò;ÏÀ
-þ¢*ÏE<”ØÆr45ít)ôÌaŸa¶}.žÂÉE½&]ÿÞcmHñÈaѶö6Q¢^ŸËäéÒsy§s©hF{ÚÿØÈg{îžètÑÞ¬F†Of'9ß,(j›+l³ïDJ ‘1c-ç®×£hT§Äñ8s8”2G£K¥+a oÇG*‘@'N ê¸,6U‘íŸ9§ôJD)|é2¼9–µãœGrT¾¼µ¶ø7Qlª>‰T—–—Êþ„êÆ "¹¡c“¾ã®èÛ¢#æÜ:ã7B´¼m­°Í§¯9’Üžjg±'ú}ˆ¶kvÕ´Z&4X¨¹n…z׎ùŒQF'¨ÕÉr€Åx–¢õ"µ>%Ã@ç ÷j-Hzͳ Ù—·¬˜<YœÈwÐåØŒ§áQD¬ÿö¡Lç ¡ádµ ·k£+‹èL½!= AÈMÄI"R¯TÑñ²h'MÇ´æú›iMÇ]%h¶Íá´”ŠËå×7µz}”®:ŒÅ4š»s÷îÃåýÍõMù-Su°¿&˜ñß ÓÆñÆSv¥êŒ¸:&!.EVÌšõ“(1 êÒèüüÌ- ry_ •(|›VÄ~U«Yu}Ž¥ÛVAõ¶µý×l]­ç×U˜µÌ1BÍ‘é“sóicuíù/Á7ÃDòܘ¸#H(Uç4§²Q£ÞÙÁQE÷ ‘s4Ûߣöÿ9Ìš‚è:A£N‰C±†çOF‘2Km0Ð °øÒèP1ôâùüÈvAÈjÑ:YàÂe u#% E²fC†±€®ˆ,‹Åù;4{¹Øtút9@ ¸Ù¢‹Gµ<˜«¡‰ëÃkU®«‚VYîÉuK wÄw#3g-Ê̶,¶Ü$ðu±Oá»ÐÏiÅ ¨ ƒÄb\ÓÞC”È×¾:6·Ý[ú€±­ŸQÐxeðØ ]—ÞN¹íõøqûôgfÕ¼à±.¬ï”YŸÐs šfƒ{¯GfN|SúÃ>¶æJêÍ[ô´é¸H¾ ŒÞ±Ößq[mú1Š•ŸƒÏÒ—` ßÈQ÷â¯3MLmKÔðb6ËÎ^ηòÛs¼T£
-h°O bFcÉFL°Xü?o õHø‡¸¼<þÅÍ#ÒŒ»! Ùzèàþ÷Þ<ÂñÕÒUD\ ­Ð†T&ULŒ§1‰½‘ˆ|z§ùòáªHÞŒ­õ¸Ö(xÕ‚<-?}lÚö¿Å I7Õ $‘F­†±|\Hüüþž ;ëÂJ€‹ZCûTÄ—•ì<»®y®;¢@]˜sÉff îº þ¥§ž±o"y =Î…ÅeïÎÿðþ6Fê¦N  e91E)€S>¼W/4ž-¯K ¬|;eBTk½…á£!|<¨“7 ßx…mE1µÒï¸Fµÿ•scqwÞ!ð¯z¯ÑoMRše&y¶POß1è蠟B¤ÔhuJ6Ï×Ê™AX`ÿўȇ›#µ`!¦z=ùæÀW€rˬ„‰Ul¢2&!˜ŽÊØQ¨
-À×+ „ê<]“þåÅ §sP˜bH‘O›»­*wØ[WTYІ¾ÿù—,×þî•
-Í\Ÿ!ç0RŠ“Y10Æ÷Úû {¯ÿ~L* Jàóà ¬åç^c=ôC‚ ¦XžZîo+3ró Q@všQ –®ógÝZw7w»ÒݨÕYŒH×éôç­­MMú4]š^¯OM3X÷øo¹?€š
+xÚ½zxWºöYÆ€˜!gLï½·PCコ÷Þ+¶å"«W¹ÙrA6¶16½÷æ,’PÚšÀ&”„„œ1ÇwŸ;²p7lv÷ÿïÿK~d{f4ó}ïùÊû~3ÂÊŠ}×Ì[¶lÞ†‘+V® ðsò?nô:70_§`ËÎE\n
+/7ÿ7»Ñ£íìBÜÜì<CCgŒæ1& Øc¬;LÈXߎƒBÆZ¾7zÑêUF¯XºàóUë?jçlçêêäå2æN¾ß°* ØÏÉwžk€³ÛRW7ÿP¯Ð(‚1D?b
+²vkíôŸÜÏ
+àåäh
+)ó÷ ñ÷/ ©ª*+«ø¶Õ¶Y šŽ6¾ ¥F!rÐH¯„4ºxFÖåå¦e€vVÀ*‡¹\­VÐÉ©ŠÔì;wɧs*4·
+Ì}‰â^
+[7£)Z‡4Ïùxw£Y ah ;´7F®öØ#Ö­ éÈSn/ÙžÊ/Å—®…-<Îî_“9y6Ýž±2ó3:Íç¬Ù·É–ǯ¨™rãÊz›ÉÏ“Ò²Ü/$•ÿAºb_²Îß±|#ƒ» Ž¥˜z> ‰¯ÜSmb—’Ô\$µŠ‚*Y4 ¶ûÙ‡92öå{CØ FåÙFº^{¡ê 0—ì­9ÅÔ6í²7³†h¨Š¢mZgóì‚ù¡Måýîׂ¶™ÐH“Î$lµCi° ç2¸ïÛªSü˜|fð™ÂšPa°x²Ìw’ß+©®Ø€Ù|Ö$@a¢¶ ï+yØW⎠ñ+Aó‚Ê{(±ùmÔ$iSUò$ä9&0[]vׇ²~G`sªÅF,y±ñî‰%cñŸô¯#‰l"a»õ•â1žvß´‡y•…WKþ†U¶v7 šŽ•CÊcBn'š%­“tk‘%1YË÷I¾¬?z¢™~2á측3æ‰ÒÚ7í
+ pa&Á—¥šê<K]‘eg”VîcÁ¡¡,êÔÖUºqáÖáC?yhoý8/~ˆ¬àd¶ƒ#_2£=Åõ¿cosù™e¡¸2²Nk¸ÊÌb¥ç<èƸͅ:OÖ·ŒlÏE‡O ¸?=ä÷>$ÖÕ~ÅÓå½_Ce-ûî(Ày=„ï?|rö}Û{P§kÈíu“«æ›Ïæ`¸[Í¢õäChö­±ÞÅk™©«=bX5úIL=ûB¼O^‘YY˜ý<È¢ä/7Î\¹lظàØŽÙ ‡hõ9
+QZ-=‡ ×’6è¿ÞvÞ~-Bô°·9ˆœ¥|‹Îp”[ÜŸÅ»ï:«ÝýròŽî­ûJÙ,dñíï[ÃvßøRi)<¾MHðÚöÁo3š)‚¼gK© ,'$©³ØÎâÂÕL9ßVïÍë¤ÕÖªÔ{XªÏî'iEh¹Ÿ/€Kƒvï)®4ñÁk3BdµY…¹p³m#²ZŽ¬~zHmåÜZí,Y%UŠœ&Bë[G>‡qžlÛrìÖõ›
+›©zdñºÝ&îï$uí㶠ù<{3üíÂÚU¢¼J”ð­ðð#¥ÏAuT2‹Ú.`?î¬ÈÈ7›PÏ~Ï ”d Ü1ÈrÞÎ:ÔÙ‚É x¸‚åê4$’ÿW'Q\jjbcÐeô<;hí&Ò´Ý¿_îú¿ð$¢á ¨¬ç‘úª}eÆ·‡ÿéÕ:ÚzêOÊŽ[4û(vžÁž™¿Ãqe
+xøè(ÎàDUýóÊü–kÿ&,UÿÌe “ª{r¿ô² >AãM{M¶MK£©—'yòü1ù— ¶EÙ;gûP§¹4îù×áÈêbcÓ¹RàCâ¸;×FoÔî 2ª
+Ì!ya1~‰®KN9?@R¾E÷C>ìØ'Òi^#&¾íÆì„—}Ù¨zxì(}
+.©Ç*öæÔ2‡j¼ì XJBdûèWì´0è°òÖi& qxe¡ÐO¤Èä•è2¼Æ“°3Ï;ÆàqhZ†F¢‰È Ê•âBüéÔ±#1ýW”‹²Ñ¿Ü{„.Ä™"3qãÚÅÇî{¦å-E½†¾ÆÝpÏXÀç«ô—‘¨3êöÓsž˜MËzÀaÀ>ÌÁ+ãèPr( >
+>Ô½Bë_Q¿µZqréóaÅŸüúŠôã6Í&‘5"¾}Éê½òb›_o Pi‡vk£‰°ÿ6 /À›Ìh”‘ëkŽ5Ù¾¾†òïQ=Þ’F¼ÀV³Â"@3ùŽÜH—;°mžïÉJ‡D¿‡Û,2“ŒImÚøÍûùRoÜíó©ó\ÜŠAl ÔÓ(„¤z¯:Zuœ¹yq"ñ6ô};KzqNˆîãd©j£
+™‡,DÙâR˜mÔmV,f#+̃Ôï]ñÝüú!eÇ\Oiµo•ã|%Ž±
+èKs¸„´®O&_QKèv2À (½÷ý> @ó<¦ÚxàÈ÷ ?báb÷-Û#@ÉG}ºãeMr/#Øåí}Ëvówg6\p82 ÷ –â \Œ$ Ÿ²Ôi$üáo¨;^#Ý·F{€Õ~;SB™~òälÔax·¾]ýòqþ!¸Ò
+Ýá–m|ówç³aU8ÚdÔ™PF Ê0õê×:Û"´L®8‡ñî¢É¹y5h$SXUYl‰ÊBi>c½`ì
+üDüú•Cà©—4¿‹m°hÞØ ëA]AmvcyT¹g’
+ª•àjé©úsÌ÷ûgLg©«3·ÎÚ°à Ø[$“AUÍ‘bj>Ï©ÃÌÜ%óáŽaÈô–Wæ÷¼º‹w}Ï«ñK1sÔÜÅ„Ö®çŸkËn$î$˜?)"?Eâ +†™ûht“¬Ûé´eÖ~ÄŒö0ìXÖN©Û'í‘Ô~<ô÷’ºˆœ´}ñü©ŠÃ'
+õW‡2“,>Õ« ¡‘t¢J¡Á8[¡j‘<ê!]Þ
+tÑhýx‰zY/÷ÍaÑ ŒD±iÚ”&GŸ™ÅëªOÐíÌÒ‚ýÍš¾6orøün6×™m ß„P[ÞÈÛATùùªý˜¿P{GÒre’Jðˆ6g<‰‹©õª´Tz÷9XÎ_T鱘‡ÛXŽ¦¦-Ù¬ñs̶ÍÓ9™H­S§ë>zìɯõ)îÙ,ÚÑÖ*JÔér˜\mzoât.ÍhKûù⼞»/:[¸?«á“™ÇI`Î3
+[ç [×w æ¯cÆXÎ]§6FùÓr¨J‰ãpæ0(E¶Z›JW4ÀbÞŽJ‘ŸNõùª¸,6UnðKœŒSúŒBÅ¢¾téß˃Ú~ÎcÙJÞZ[ü›(6U—ĪMËMeBu?ãz‘Lß¾I׎qgômá1sN-ñ;ùWÖºNØêÝÛInO5‡³Ø}‰>E;Õ{ª[,s,TŠ\¶CKûTÄJ'¨TÉ2€Åx6–¢"•.%COg ök,Hzη Ù›·¬ˆ<]”ÀwÐØŒ§áQD¬ßÎ!L‡|¯?ÝN-ÈšèŠB:S§O7
+òS1~›´š8ÞxÊ®D•CÇ$Ä¥ÈÁÊÙ³%fAm——Y¬Tï+¡…ïÐhùïkÔ«³/°tÇj¨Ú±®ïÚíkTá¼ñÚr³¦œùÁ"¨¹aºäœ<ÚXUsñKðÍPQ†,'FN'&î
+TJÙ1C©hP«v·3C'cá}hä̶E÷©ƒL#³:?:˜NP«RâÁ¬æù“Q¤ÈRéõty=,ú‡4:R=y=¢M¼F´!,`Ñr†º•
+ #Y³>ØO—Gæ‡F„ÅùÙ7y»Üxöl@ ¹9¢ËåÇ5ù<˜k ‰ëÅ+D®³ŒV[î„uI wÀw#3g-Ê4X‚-' F|S,Óù.ôsZQ=êÄ ±W·u%òµ/…ŽMç­C÷Ä–>`líc4ÜC¼ìtD7¥wSîz~~Ü9=߉Y=?hŒ3ë³(eöLz®~|ã0cÿ͈£Ì©oJ~8ÀV_K½}‡ž–- Ë–ƒQ»ÖùÙ3®kL?F±² ðÉyú
+læ9êZôu¦‰©iŽVÄf­‡sVð­ünÇô,Õ(@ºfÈ¿ù*ií.­óܳ~ƒ›"Ôû¯O dFaÉfL°Xü?oËuHø»¤»…ÜÿÅ-ÒŒ» ÙräðÁÞ²ÁñUÒeD\
+P®™0±’MTÄ$ÑQ»
+äàÃ|î…£5ïŸò ‘ýï>æC|ðœÏ\Ù?>è“DüÓ>”5¡@RlF‹Ò2Ã.&ŠÅgÈ2“Y4
+Ûˆx]þ5
+
+5
+¹Ý(FzgÙÕY³–-›5ëê²;w®^½>¸ëÝáZû­oêûÿ÷¾©>JnŒ´0ª0j—L&W
+½¨Ä
+…J¡fý&oŸ½|¹D¥R+U´R£ÔªÁ•eGfïž"QhôJ=£§éõi,šÙûñlï­äÖ¢©V¥ãõúò+Ûoû=”èÕ
+­‚Q‰-Ã)Bµš.œQýÙ… }fGÍ´o±Œ¥€V¬×ëôv÷ƒ#·¯\•h4ZŽÆ3{ÿ/žÍ†óåÀk´1Bð¥Í5ZDíziyt…GDl‚\øz¥†P•«§«Ó¿¼| dwŒçRô)²isp—Õeöûk +ÊÚÔû?ÿ’åÚ^ ЊŽ+;s¥B:¾SÎŹYii@£Õj ÔÆ*hŸä+V‚øø÷êùÞ7¨‹åÊÿù—x)ÏMêx¨hÅÿñ•ùà/hÊçzå 9ûRô„ÌŠ 4¾ßÖ Ýû÷R¡Wè7ˆ_¯gm,O÷àë!Ÿ1Ùòœ0´ 3r
+¿!Í(Ë6øŽµî ­»š»\ëjÔh-F¤kµº‹ÖÖ¦F]š6M§Ó¥¦é­»ý7)Å:‹
endstream
endobj
-4450 0 obj
-<< /Type /FontDescriptor /FontName /GHZSST+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 4452 0 R /CIDSet 4451 0 R >>
+4454 0 obj
+<< /Type /FontDescriptor /FontName /PAJJAT+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 1127 /CapHeight 683 /Descent -290 /ItalicAngle 0 /StemV 93 /XHeight 431 /FontFile3 4456 0 R /CIDSet 4455 0 R >>
endobj
-4453 0 obj
-<< /Filter /FlateDecode /Length 759 >>
+4457 0 obj
+<< /Filter /FlateDecode /Length 756 >>
stream
-xÚ…•_oÚ0Åßó)¼‡JÝ%‰›V lHë4M{£‰a‘ A!<ôÛÏö9À4­Z¥VýÙ×¾ç\ßØ7Ÿ^–½qÙ¼Ùž¼‹Å«=6§¶°½üq}ˆnn¦MqÚÛº{²¶´åyöø ^Ú¦XÚNÜæ‹é¢®ºÏ.xQ»SiÏQÿšØmU_C|q»²?z_¾þ\.W½o¯Í~]'qïÕnO»uÛ‹ý²UÕí\ø"…›M‹°ÑwÛ«¦~É]Çn`V—y³÷&QŸBEÿ,}SÕeKµâÍk’T”UÑ‘Âßbïªå/ßÝ/êM ‡¢ï2WÇ®}º?Gý綴mUoÅíG"]Ðòt8ì¬$âh4¥Ý¸½]žÖ{+ú¾‹ÒÍVÝû‡¥¸.Z½¬H'\4¥=Ö…m×õÖFCW†x$†s÷3Šl]þ5cÕÛèÎÿÞ_¦Š_ëÖo”LÜFq¬’Q <¥)æRÄIÊrd& š‚îIcO BvMBv9M¥Ì0Ã:šcH&˜Ë@P­IP- ¨–Ð"3d€[ JƒàA“XÇ=áH2;‘¨šÙ©¤bd‡E÷ z ÁƒB]<h<(T^Áƒ&ÁƒB<hU3;U“pjÂ9hI(ËàAÍAð Ið QÝ Ü‚@ð`H<Ô%ƒ‡” :Eö •Oá/ƒ‡ŒàÁØKÔ‚Êgè] Õ†ÕzPCµ!±{O³{p¶ª%:DCg†žÐÐiHÐ)¹'tJf‡Î ¥Qk2Ô‰ †:‘ÝP'‰ÕE «Kâ·‰zè4èÃNÆ9˜1{þÒ÷fòÇÈ¥Íô:Ê‘Ùuý5FžvÎ}'¦þBñ4Ç®³°6IPÇÙ
+xÚ…•Aoâ0…ïùÞC%zHIbdž
+!…$ªm‹
+Zí5M  ’( þýÚ~¬V[m¥Výì±ç½ñÄ~ø¶ÙúIÙ|jŸ?ìC÷͹+´Ÿ¾æ­÷ð°lŠóI×Û֥.¯³ý3ÛtM±Õ¥ë庮†G¼®‹ã¹Ôר-ô¡ªï!6íôO“¼¼$;ÿûëGsÊë0ð?ôá|Ì;?°ËvÕp4áÿ‰dfš}5ÍÜF?t×WMý̧ Ì@V—is²&{oLBÙø*}_ÕeGjÙ§Õî…+«b r‹“©–]¼½ôƒ>­ë}ãÍfll2WýÐ]œîGoüÞ•º«ê}%ÒmÏm{ÔV ¼ùœ•zoö6uzËOšmÖ¥™­†Ë—¥¸/Ú]ZÍ"Ç!$M©û6/t—×íÍL‚9›­ÌÏÜÓuù×|€UŸ{  ¸þ;™^§Š_yg7
+f£ áÜQêH‚¢sˆcŽH8ŠSt¤ Z‚¦ˆ$J°'!»$Bvž€–Ž"Êa
+:úEQï¢ò*¡.¿uºZü1rë@µ¼ÒHvAG%È“açÔö^d¯K+ìš¹µaˆ:fБ”:
+]åBúbw!}1 Њ#2 Ð$A._äN1æÃ]èî>{mÚ7àvMç®3w´{(Ü=loàªÖ··¤mZ»ÊýºGèú&Zz_y¿*@Ô}
endstream
endobj
334 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /GHZSST+LMRoman10-Regular /DescendantFonts [ 4454 0 R ] /ToUnicode 4453 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /PAJJAT+LMRoman10-Regular /DescendantFonts [ 4458 0 R ] /ToUnicode 4457 0 R >>
endobj
-4454 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /GHZSST+LMRoman10-Regular /FontDescriptor 4450 0 R /W 4449 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4458 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /PAJJAT+LMRoman10-Regular /FontDescriptor 4454 0 R /W 4453 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4455 0 obj
+4459 0 obj
[ 27 [ 850 547 ] 34 [ 800 625 575 ] 42 [ 813 500 ] 46 [ 862 625 ] 49 [ 738 513 563 ] 54 [ 707 344 563 563 ] 59 [ 563 ] 62 [ 880 625 ] 65 [ 419 313 ] 70 [ 594 676 313 ] 74 [ 1067 938 880 625 563 ] 80 [ 845 563 563 769 625 438 438 ] 88 [ 313 ] 90 [ 845 ] 96 [ 460 625 444 ] 100 [ 563 563 ] 104 [ 782 438 563 563 865 625 ] 112 [ 594 ] 114 [ 813 850 594 ] 118 [ 594 ] 120 [ 500 563 656 ] 125 [ 625 ] 499 [ 551 551 ] ]
endobj
-4457 0 obj
+4461 0 obj
<< /Filter /FlateDecode /Length 29 >>
stream
xÚc``°0.¾œ¼ïß‚7v=a H
endstream
endobj
-4458 0 obj
+4462 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 6187 >>
stream
xÚY XSWÚ¾’‹ˆÑr B®ÞÜw°:u+uÇ [«¸ÙÙÂNØINadY¢¸%(¶jµjÕZµZgZµÚÖŽu*ÕïâaæùOÀ™n3óÏÿIî¹ç|Ûy¿÷=QÖÖ”H$rð^¿xÉâ5“=V¯ó ŸþúÔE¡~–+Ë…àŒì8a%Œ Ü
@@ -15262,10 +15202,10 @@ Iq¯¾r0Ó«³Ð^hÆü‹4ãmtMìöfw7+ðè'o€ÓÙÎã~Í,xaÍ4½íãÀ⡘«èýºÃü¹Ö …õ챎„íF
ì ‡õ4ÈþmcG¥
endstream
endobj
-4456 0 obj
-<< /Type /FontDescriptor /FontName /XVCDCQ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 4458 0 R /CIDSet 4457 0 R >>
+4460 0 obj
+<< /Type /FontDescriptor /FontName /XVCDCQ+LMRoman12-Bold /Flags 4 /FontBBox [ -476 -289 1577 1137 ] /Ascent 1137 /CapHeight 686 /Descent -289 /ItalicAngle 0 /StemV 104 /XHeight 444 /FontFile3 4462 0 R /CIDSet 4461 0 R >>
endobj
-4459 0 obj
+4463 0 obj
<< /Filter /FlateDecode /Length 619 >>
stream
xÚ}”]‹â0†ïû+²‚sѱŸÉÌ mGv>Ve˜ÛÚD· iië…ÿ~“¼G…AVP|zNÎûž“&£_Ÿk&›­òãÇ€­TßœºJùù[Ùz£QÑT§£ÒûRRÉK´aŸ]S­ÕÀÆù²Xêzx0ÉK]NR]²î'ÍÕ¾Ö·«ÃÆõíåEþÇÿý¶jŽ¥#Þ¤Ø5›z8˜Üÿ¥1cwcÌ•øR]_7ú……A˜¯ZæÍÑöÖ{òÇ&Ç»ZËŽL²­µì…“u5¹ßêh†d¯Ïý ŽK½k¼é”MV&ØÝÙ9~ð&T]­÷l|סÉXŸÚö ¬xYƤڙÂf6ïåQ±‰m|)M´Î÷'p[±9·ŠEŽC˜­©ú¶¬TWê½ò¦f
@@ -15273,21 +15213,21 @@ xÚ}”]‹â0†ïû+²‚sѱŸÉÌ mGv>Ve˜ÛÚD· iië…ÿ~“¼G…AVP|zNÎûž“&£_Ÿk&›­òãÇ€­TßœºJùù[Ù
endstream
endobj
333 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVCDCQ+LMRoman12-Bold /DescendantFonts [ 4460 0 R ] /ToUnicode 4459 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /XVCDCQ+LMRoman12-Bold /DescendantFonts [ 4464 0 R ] /ToUnicode 4463 0 R >>
endobj
-4460 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVCDCQ+LMRoman12-Bold /FontDescriptor 4456 0 R /W 4455 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4464 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /XVCDCQ+LMRoman12-Bold /FontDescriptor 4460 0 R /W 4459 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4461 0 obj
+4465 0 obj
[ 66 [ 245 ] 77 [ 531 ] 81 [ 514 ] 84 [ 531 ] 105 [ 371 ] ]
endobj
-4463 0 obj
+4467 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xÚc`€
endstream
endobj
-4464 0 obj
+4468 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 764 >>
stream
xÚmRkHQ¾ã®NÑÌmµZ›½‰VfûÀ,ìaàc·²Õ6Ý !
@@ -15296,31 +15236,31 @@ J‘j¨íB.Ô¨+S- ¥%—§E…h/ºŠ€(Ð~¥UvFÀ˜ÈšLOéÁúlÙ¹iÖIê¬ä}¢¨ˆÌûUÐÒQâuöÅ5²;
­KŠóWV¸Wv^wï¥Þ4ºÚÅZ¨¹ÔüÑy‰ùƒbÑÎX4=ÓÝMQ#§»c±Îh´3z6F¥ÿçE:’
endstream
endobj
-4462 0 obj
-<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 4464 0 R /CIDSet 4463 0 R >>
+4466 0 obj
+<< /Type /FontDescriptor /FontName /BLRUUF+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 1155 /CapHeight 694 /Descent -313 /ItalicAngle 0 /StemV 95 /XHeight 444 /FontFile3 4468 0 R /CIDSet 4467 0 R >>
endobj
-4465 0 obj
+4469 0 obj
<< /Filter /FlateDecode /Length 382 >>
stream
xÚ}R]kÂ0}ϯ¸{ô¡6uº¡”Âü‚‚_X{­ÉÕÚ¤¤íƒÿ~Ij†[!¥'÷Ü“sOÚyÙ%ÞW'ô^ûöXªZ3ôfë´ Î\±:GYm9ò¶ZN`§K°‚î,žÇRT=CŽ%ËjŽ-ë9iŠ!{tøåMWûãqé­ÖI*˱·ÇK¥Ú£¶é ªÌÿå)Âó"8‘OÔ¥PrAŸRj6’ÏTnÇ+‰³~kú,$×7Ÿp²®I0
endstream
endobj
332 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 4466 0 R ] /ToUnicode 4465 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BLRUUF+LMSans9-Regular /DescendantFonts [ 4470 0 R ] /ToUnicode 4469 0 R >>
endobj
-4466 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 4462 0 R /W 4461 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4470 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BLRUUF+LMSans9-Regular /FontDescriptor 4466 0 R /W 4465 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4467 0 obj
+4471 0 obj
[ 28 [ 514 ] 35 [ 571 ] 43 [ 457 286 286 ] 47 [ 571 ] 49 [ 699 457 ] 55 [ 314 ] 58 [ 807 514 ] 63 [ 571 ] 65 [ 371 286 ] 70 [ 542 642 286 ] 75 [ 856 ] 77 [ 571 ] 80 [ 799 514 ] 83 [ 699 571 400 400 ] 88 [ 286 ] 91 [ 542 ] 96 [ 402 ] 98 [ 405 ] 104 [ 742 400 ] 109 [ 571 ] 112 [ 542 1056 742 771 542 ] 118 [ 542 ] 125 [ 571 ] 251 [ 457 ] 502 [ 286 ] ]
endobj
-4469 0 obj
+4473 0 obj
<< /Filter /FlateDecode /Length 32 >>
stream
xÚc``àM4Lžro‚#¿XP
endstream
endobj
-4470 0 obj
+4474 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 4535 >>
stream
xÚµXy\×¾Ÿ€ÉP¤ ŒQ;ÓΤ.TqÁ¥^·.*miq£ŠŠU‘
@@ -15337,31 +15277,31 @@ qn0[é–CÃAF"½x¶ŽÆÖG+ Ñ唢¿‰3 ,YUL•µ¬ÔÊ݇{ ½â,«U‡‡,¥x£ï wZëî–~/$óØå]ãùT
3B9Ôð»ê÷éáüË$¸.Ùsø„NÝúÿ8¢Sõ‚·´1¹zgj^Ž.›ÅGâµIptW”W9h]˜÷èËj›3Œ®IÏ%tÉ¿t©¨°–”±f³Ù€97›~'vÍ–`Ì[z}Þð ˜Òk†n¬»ãMìqóz ˆŽw«}ž‰ ‚ïWVØ aý•>nÏ
endstream
endobj
-4468 0 obj
-<< /Type /FontDescriptor /FontName /KLWBRP+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 4470 0 R /CIDSet 4469 0 R >>
+4472 0 obj
+<< /Type /FontDescriptor /FontName /KLWBRP+LMRoman9-Regular /Flags 4 /FontBBox [ -443 -292 1454 1128 ] /Ascent 1128 /CapHeight 683 /Descent -292 /ItalicAngle 0 /StemV 95 /XHeight 431 /FontFile3 4474 0 R /CIDSet 4473 0 R >>
endobj
-4471 0 obj
+4475 0 obj
<< /Filter /FlateDecode /Length 548 >>
stream
xÚ}”[¢0†ïùÝ 炱 ÐqbH<‘˜ƒQ³»·H«K"…¸ðßoÛ·8Éf]ßéýÞ´Œ¾íþ‚×'áOŸ)Ù‹¶îU!üÕ{Þx£Ñº.úJÈîC.øm_ÉNÕÅAtd¼Ú®·²ìžtòVמ‹!ëßIKq)åWŠ™CÆGñËÿþös¹ßùoïûºÊåÌß‹KÍ•OMÕ±ì®:ûÿ‰DGɃ(±m~Õ–µ|%Á3¥T?ØH¾ª+³aëMœJ2tŸKÉ•“JNF¸„„—EçÈþ•¶Ênm'ª­<×Þ|N&zrÙvêfU?y“OÅ…*å…ŒhÔ9‡¾i®Âè!ÔKSÂÅY·Ö}ä• ³þ–ëhÙÝùðUs¼5‚„–.j.Ú&/„ÊåExsmMÉ<ÓŸÔ’ÿ§¨::aøC¨ø+Ó(XéF”&Aj(œ‚BÐ4!sº
endstream
endobj
331 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KLWBRP+LMRoman9-Regular /DescendantFonts [ 4472 0 R ] /ToUnicode 4471 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /KLWBRP+LMRoman9-Regular /DescendantFonts [ 4476 0 R ] /ToUnicode 4475 0 R >>
endobj
-4472 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KLWBRP+LMRoman9-Regular /FontDescriptor 4468 0 R /W 4467 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4476 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /KLWBRP+LMRoman9-Regular /FontDescriptor 4472 0 R /W 4471 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4473 0 obj
+4477 0 obj
[ 27 [ 893 575 ] 35 [ 657 ] 43 [ 526 ] 96 [ 488 ] 98 [ 467 ] 105 [ 460 ] ]
endobj
-4475 0 obj
+4479 0 obj
<< /Filter /FlateDecode /Length 18 >>
stream
xÚc```
endstream
endobj
-4476 0 obj
+4480 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1258 >>
stream
xÚmTmLSW¾—~Ü"]•^‹Úâ½Gãd-DñƒeNNˆÀƒM)ôR*]‹m¡”XçøÓAQðcê`lR>TÔm€M ó‡[21 ?Ì–,fºèâ’é{õ¸emÌ–,Ùûã9ç=ç9çÉóüxiJ*¥hšÖäenÉ(HÎÊγd´mÐo±[M‘‹ ‰Ë°’ã)q)-rQ"/JÉ"¥dZ)}qLÆË÷ÆK«eK)Šn™ÁS±O” áô‘21Òw+“(&Š¢) ¥¥PO©¿h ó‚« ©©k·Ú«=‹¹Ò…V§¦®y-‚ÐÊ4–WÙÝÎ* 2ÚL(Ó€² (ÇîŸZÐJ» • •Fk²W ¡Õ8‡™öšjç«TPiq"·ÝQ…«C°
@@ -15369,32 +15309,32 @@ F§`B56“à@®Jm{7¿
‰»Ýjöг{q¡U 9þL*ð6bÎÓˆ«½<é|ñHÆnþ¤·;Ú¬÷`}]{½®¶XÎnö_ïñMéØ3ƒ¸í&bª-ø¨ÿËàœ|†,—é#¬ÀÈc|)̺ün»À“»Ð¬!ûä0†d*ñvó˜eXœ?¦þâ`=D³ãâ­~M_ÞϽãÃÝ}ZØÃü¼õ[bÈ# ¦ì®ì»ôeýɶ
endstream
endobj
-4474 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 4476 0 R /CIDSet 4475 0 R >>
+4478 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 4480 0 R /CIDSet 4479 0 R >>
endobj
-4477 0 obj
+4481 0 obj
<< /Filter /FlateDecode /Length 388 >>
stream
xÚ}RMkÂ@½ï¯˜=ÄlTEVT+Ú^ãîÄ.˜Ý°Iþûî‡Q(Ò@B^Þ›™÷fÓ{ÙƒW®NŒ‡X«V3 VÛ¼"½ÞZ±¶DÙì9òŽ­°×Š±þ*]§R4#N%»´;ÕsQ‚g!;ú~‡íW²É‚÷íA•¹œ‰ºð€Ú’L4#ýG†‚g¸Ÿ¨k¡ä¢!¥Ô|x“|¥J¬&áÍ„ÝBH®oádý’h\°æ†Ü“•fC¶øx­,SY(²\Bx0dÝè«ó; á‡æ¨…<Cÿ™A#8¶UuAk(‰càX˜¾f/»¼Dmê”V4קñÙµB9y«Lq¬«œ¡ÎåÉÒħ1,7æŠ Jþ‡§¾êTxhÝë¬cØO®mŸ(1}(D±C+‡¦Æ<òÊéØ¡)uhæ9#qèÆÍ=šÄ~´›e]ÚUß7ÂZ­Í:Üy¸Ø6°x?²JU¶ÊÝßÍ¢ ùÝèèÖ
endstream
endobj
330 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 4478 0 R ] /ToUnicode 4477 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RMWBFT+LMRoman9-Bold /DescendantFonts [ 4482 0 R ] /ToUnicode 4481 0 R >>
endobj
-4478 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 4474 0 R /W 4473 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4482 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RMWBFT+LMRoman9-Bold /FontDescriptor 4478 0 R /W 4477 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4479 0 obj
+4483 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
-4481 0 obj
+4485 0 obj
<< /Filter /FlateDecode /Length 23 >>
stream
xÚc``àp`dP`ñhhpP
D)
endstream
endobj
-4482 0 obj
+4486 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1845 >>
stream
xÚuV}TWŸ!É@5ÊšiZ©3£K- ˆ_EÛAE¥ž%1„L˜BD<u¡¼
@@ -15409,77 +15349,72 @@ oŒRWƒÉ§Ç<ï§|â Ơ‡ùP"‚{än£ËPÂq%e}åGÜ®þ©”Â(ï¼WÈ—N˜)QuoY—U–O&¿˜Pn^
g÷žÇ4úÊ8Ô‚û¼ÁE>*Ó`¨ÜzŠK@E%µ¡1«Î¬xŒºhàÒà@á,ý+ñ&p–³•Š_(½›ÈN(/è?=ûuÿ0Ý•ÂLïªDB½0O>`ôåRì ±ñ’F¢¾o§§n0Äkmè(V”Ô×®·Ò–ä× ÖF"ò’3Dg¿Ï·Ñïûñö^à¢?@·%ºÖî§âxSÛEÝþV÷ûÍý!6¶ËÎúMÈ:GÓž·`xý¼#qõNfª‚Ó4¼ áe'¯Ö_%#…ÚÁÀõl|ZQ“åñ»žúýuýJØæœeŠq?ôHÒR@8(«f©½u\Þoí!d¦­¹¹u8iwîì6sÕ;ÌÚÁí£YpoÊÛši¸PÐHú&N¥gúŸ ¿Òy¾«[â”Èj;„¤ørg³ RsJc¤Oét~šwú@û[“Ífk¶9ìR©ÛéúýMíÒÿ®ÌÞÀ
endstream
endobj
-4480 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 4482 0 R /CIDSet 4481 0 R >>
+4484 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 4486 0 R /CIDSet 4485 0 R >>
endobj
-4483 0 obj
+4487 0 obj
<< /Filter /FlateDecode /Length 428 >>
stream
xÚ}’]Oƒ0†ïû+êŽ`Dpf!qÌ%D§f,Æ[ÖžÍ&£%.öïm{†&F%ðpÞóõÒÉÅkÜ ½ƒàzÊè:=A±®[2™,5Pý3€
endstream
endobj
329 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 4484 0 R ] /ToUnicode 4483 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /CKBVSC+LMMono12-Regular /DescendantFonts [ 4488 0 R ] /ToUnicode 4487 0 R >>
endobj
-4484 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 4480 0 R /W 4479 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4488 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /CKBVSC+LMMono12-Regular /FontDescriptor 4484 0 R /W 4483 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4485 0 obj
-[ 28 [ 490 ] 45 [ 272 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 74 [ 897 ] 77 [ 544 ] 83 [ 666 ] 88 [ 272 ] 105 [ 381 490 490 ] 118 [ 517 ] 121 [ 490 ] ]
+4489 0 obj
+[ 27 [ 734 490 ] 45 [ 272 ] 54 [ 639 ] 57 [ 490 ] 59 [ 490 ] 66 [ 272 ] 77 [ 544 ] 82 [ 490 666 ] 88 [ 272 ] 98 [ 386 ] 105 [ 381 ] 107 [ 490 ] 109 [ 544 ] 118 [ 517 ] 121 [ 490 ] ]
endobj
-4487 0 obj
+4491 0 obj
<< /Filter /FlateDecode /Length 24 >>
stream
-xÚc``à``a
-PPh`(`r
+xÚc````a
+P`1hPar
+Ôù
endstream
endobj
-4488 0 obj
-<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2153 >>
+4492 0 obj
+<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 2279 >>
stream
-xÚuV Pgîa˜i¢81ÓŽ‰ÓØݦŒ«(‡'ñXQP‰ˆ¸rD%^Ã!Ðs®Dp`ø.„a†¡F£âŠQÜhPITp5R®„-´¬TjÿÆfFk©Tíî_ýÝõþ÷ê½÷½ïýõˆ³3"æDìù<<|Ïâ í!ÊäHzé2Eœ6)R5y¹…Ç~ \ Ö aç
-X‰%…,åÌù»
-Ï»:O¬áZÜDª7œh.‚N½?y~û”¸~Ìÿ¹¼p?)¸èú ââ„9¼Dþ)@3Rüÿ¹]æéí½Â_™’¡Jˆ‹×P˼½—/™<WS~žT`dt¢2M˜@EÒ1T 'µÝ“
-V¦ñÒj¡’¦¢ñ‘I±”2–
-S즴j…JMÅ©”Úõ"O*,>AM¥)U‰ÿU)’‘jE ¥¥c*J¯ ÂCè-JZC%D+hµ‚òð (µBAÅk4)k¼¼4Ú8O¥*Î+–×Q{%½SR{MÚylÙæ´ÕspèfOMº†ŠUª¨…&2!Iíù_IN ‚•ªäȤ1Ê(ÅÖ­IÐd ürC<UÈjd-â‡"Û‘Pd7’€B’!äÁä×Ldæ$¬ÎH!Ò'ð”;å8
-uÂqçxgƒó}ÑÑ+±pÿ’˜/u°ÈRÿäqšô«aTï€ «eéç²kÚP4D“©
-MV©£ëHôï]ú®¸.lÖVɺËj2ãwÅ$É$ê’ãO*𥟬i­È&±¿e=’AÇÈw¶ªÊ ľ/÷Åí’o ïÃ鯺ûësoì8M4ìÞVâÁ¹À’Aê+²-VyuIuE%‘t±Ç¾s÷¡#§=±™ìì¸Ìx±‹Ilå}žAŸ%Ϭ8zª¬Æl#¸õœ“,DN!èôd½_^×Õ€³Õ’±4UXqìVÖX !!21Möß½^‹ýº®—™:ÚˆJ[9ø„"°‚äËÖ…¡;!:&ó½…ÕÃc³40ÏÜA²Î(vsËÑè÷åÇ"H®ÝŸ 55^ ~¼¿"±BÙײ&µE­ÔiSRmÚ†&‹ÝNH`)`ÆE<H;»óAááøÈìÿ`Î6¢gŠ*îµ ç%Ö¤ç=q›£Ù;"KnÐàœ×[
-Ñ°wɤ׆îÉêucÉ KÀEÉž+Dá±LeåTàå&sU óÆ%¢Â‰~ñËêóá2oË.YÈó¦…¹Åç,…H/ŒîÅî³5|Ê{T ©€„AèhÔ4ôÞ’Ü]ñiZYð‹{Äݲ\û Wù˜«ïBÚv|CÂ`ô×¾k7oVî&¸£ÿKQRLJðµöòàÌ}taúŒYÈdcîCNp?O¥Þø›Fy§ÐôíSÌ…ø{¾÷÷G¯IÏÙ‘€s>GÂúw­2*†«
-Á™²ëÚ0ÔŸŽŒ
-ò‰»í£| ´ôY”žJ$“$䧸`}Öä|ÑႼ‚l¹Þ jˆ â§í›sÄG|±ºî6MbÒl`jÚäXw£«UªS3ËžûA!Qœ>4üš<~„oF¡ˆ‘v>£ÑƒX.×É´âüÃ9aú?ºd熀dœÛ.vÔ}÷}ƒÝ{—@êÚ•Wrˆz?ä\8—€…+wŸEÖ†ªæÆt‹2û]Ж«zñ§W6y­ŠØ²äös:‘š NÊmÓµ°;hFjéý°´“²vŒAt&HÄטx†1–k2äÙFCžžø„3‹°ùœÖ‹ŽU‚R ÇÂZA-Á¤F
-þìò•†lë7½ì‘ûž}|³xÆ;¥¥Çã‰5PNfý ü œºAÜ©þÓésx{f¥…<ÖÈ%“SÌLw]ÀÏ"ÈÚɹ„“ꬬTV”YÅD`X’—ë{Àu:3­wº¥Ðd.,,).4uV¹ºÚ•¦s‘ÉT\Rì:ƒýrÖø‡²©…`
+xÚu– PSW€ï%$7­˜¶IÓ­¹xîµc«åá»j×X)ˆ¸"V´¾@B@ äAÀŠ yp$ Ê+1áyÔ¶¾°ŠŠõA­mU:¶º¶Ö®´´Ûé:{®^f»7ºãîÌîž¹sÎÿü9ÿÿý3?Žc8ŽOx+öwb¦Ç¯LÔe§03f†%ª5&mŠ>p¹œ›Ä½C
+§ãR¶eé̆¬L:…I£ãÂé•át‚Î,H3é©:†NUg¤hÓi]:¤N¦MµÞ@kô:SŽáµp:)#Ó@›uú,Z8õj­:Å N£MLšZO3ÔtÌÚ5Iôrc¤ã3·©ƒš £iƒZMg9 ""Œ&M¸N¯‰Ht Ú'J†ˆ€]ØòU Iañ±Ño%¬y+ܘo¤Óuz:MmLÉÔÂÿë‘O :}vŠviš.U›¦fŒ™ÆLX$Š…as±ùØB,
+[‰%bk°d,ËIJ°l,+ –“RŒãR<?ô|Ðï¢ ¢[Á¯»ƒ‰×‹;$$fBN”ó¿Ë~€,ÚÊrÉfüaâK,W
+½¯Cå†NW8†&ˆ‘Kr†Ÿ!vA‡]• õ€!œÍ7aÙñ%t4S<D J~§IÑ·b™•Ý•‡*½­·¾6Ë|R‡†ýŠ}ó½ò¬i ‘h(-TÃÓ
+_pUCgC£tcÏ
endstream
endobj
-4486 0 obj
-<< /Type /FontDescriptor /FontName /ZYVUUY+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 4488 0 R /CIDSet 4487 0 R >>
+4490 0 obj
+<< /Type /FontDescriptor /FontName /EIVVGN+LMRoman12-Regular /Flags 4 /FontBBox [ -422 -280 1394 1127 ] /Ascent 1127 /CapHeight 683 /Descent -280 /ItalicAngle 0 /StemV 91 /XHeight 431 /FontFile3 4492 0 R /CIDSet 4491 0 R >>
endobj
-4489 0 obj
-<< /Filter /FlateDecode /Length 443 >>
+4493 0 obj
+<< /Filter /FlateDecode /Length 449 >>
stream
-xÚ…’Mkã0†ïþÓC =¸–íÄÞ–`h ý"IËvoŽ4I±ddû_I·°lØ€ƒÏ;3¯F3¹x]‡·Bo1L¯¬°Óƒá–OuL&K͇UÿŒ(PŒÑî^ækìaZVËJÉþÒŠ+ŃÀQõoÑî¥ú‘¸>0ÝàïðÏÇûÛÛGøø´ÒM­â$\á~8Ô&d.m#ûƒ•ÿG 6 çÂà ½£é¤V7_1Æì‡{%JݸCvAt2
-Ñh}'•0'·°uÞƒ8!y"ÿÏ;-—¼>v=6•Úé`±€Èv–]oŽÞ÷e½Fª=LÏ™´¢õжt†€Ew¶¶ÓsÝ Dn•°QÙÏŽâ'islÏ1YæZ`×ÖM­ö,ìX‹û+Tâ¯8£¬íŽÐ
-Æ×x>†øgm\¡¸´…ËâÂQ²ô””žÒÌÓ,#ºö”Έî(/÷4Kˆ®‰n)oID5³{OóÔÓœý¢~˨CN2ª’¦DÔ/M<åä,§~ùÉ+è¬þln,¯ÆØ;ð‹àçì&,~ïJ«[—å¿dãÎ;zy¾
+xÚ…“Aoâ0…ïùÞ=¤qHÚ
+EÚºŠ´¥ Ôk°Ö±#'9ðïמ!­T-Z$ófÞËØL~¼oßÒ Lï9Û@g+ ,_ë6˜L–F è~ AŽÕ[#¶Ð³iY-+­ú;'®´8FÕ¿EÏpRúKâ}ØtáªÚï­Ã߯ÓÔ:N œ†smCîÛvª?;ù”Ì•Ù­2ÃA{°2ú‰Å÷œs÷ÃJËÒ4þ!» ºeÑý¨´´×´ìà³q¤ý•ðS4n[¾y{ézh*}4ÁbÁ"笺Þ^0÷]½Y Vé›Þ
+éDÛ¡mÏà1“pt³ÝžÖu,ò¨¤«ªþrs_M»K ,AŽ)²0º¶`k}‚`áÖÀ ¶xq¯"
endstream
endobj
328 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /ZYVUUY+LMRoman12-Regular /DescendantFonts [ 4490 0 R ] /ToUnicode 4489 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /EIVVGN+LMRoman12-Regular /DescendantFonts [ 4494 0 R ] /ToUnicode 4493 0 R >>
endobj
-4490 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /ZYVUUY+LMRoman12-Regular /FontDescriptor 4486 0 R /W 4485 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4494 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /EIVVGN+LMRoman12-Regular /FontDescriptor 4490 0 R /W 4489 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4491 0 obj
+4495 0 obj
[777.8 0 0 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 1000 ]
endobj
-4492 0 obj
+4496 0 obj
[ 66 [ 223 ] 77 [ 484 ] 81 [ 470 ] 84 [ 484 ] 105 [ 340 ] ]
endobj
-4494 0 obj
+4498 0 obj
<< /Filter /FlateDecode /Length 17 >>
stream
xÚc`€
endstream
endobj
-4495 0 obj
+4499 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 759 >>
stream
xÚuR]HQ¾×uM'×´Ý$uö&JîìfšôâØZù³¦n¡c;îŽN;23»«E˜ýàƒÙöPaPQ½(ê*YØßFB>ô¢XD܉1h†è%è»ðÝû{¾{¸‡A
@@ -15488,10 +15423,10 @@ xÚuR]HQ¾×uM'×´Ý$uö&JîìfšôâØZù³¦n¡c;îŽN;23»«E˜ýàƒÙöPaPQ½(ê*YØßFB>ô¢
Û'5;¶îÕ¬{ßk—-MW<sÏžŒŒ>¢ÒyÎPsÈ-úT‚2LDf_Le†qgìF,™ªñ .rÍ
endstream
endobj
-4493 0 obj
-<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 4495 0 R /CIDSet 4494 0 R >>
+4497 0 obj
+<< /Type /FontDescriptor /FontName /BTPEXR+LMSans17-Regular /Flags 4 /FontBBox [ -395 -305 1355 1159 ] /Ascent 1159 /CapHeight 694 /Descent -305 /ItalicAngle 0 /StemV 87 /XHeight 431 /FontFile3 4499 0 R /CIDSet 4498 0 R >>
endobj
-4496 0 obj
+4500 0 obj
<< /Filter /FlateDecode /Length 383 >>
stream
xÚ}R]kÂ0}ϯ¸{ô¡6u:™”Âü‚ÂüÀ–ákMn]À&%mü÷KR«0æ
@@ -15500,21 +15435,21 @@ Oªàd¾PWBÉCJ©ÙXI¾P…°"þÍ%øï\H®oVád“`\°ú†Ü›&*Ûœ\«‹X抄!øædQÕúê\ˆ¿Óµgè?ñh
endstream
endobj
326 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 4497 0 R ] /ToUnicode 4496 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /BTPEXR+LMSans17-Regular /DescendantFonts [ 4501 0 R ] /ToUnicode 4500 0 R >>
endobj
-4497 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 4493 0 R /W 4492 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4501 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /BTPEXR+LMSans17-Regular /FontDescriptor 4497 0 R /W 4496 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4498 0 obj
+4502 0 obj
[ 28 [ 459 ] 43 [ 406 ] 50 [ 406 ] 59 [ 459 ] 63 [ 511 ] 70 [ 485 ] 84 [ 511 ] 104 [ 668 ] ]
endobj
-4500 0 obj
+4504 0 obj
<< /Filter /FlateDecode /Length 20 >>
stream
xÚc``à`PdR
endstream
endobj
-4501 0 obj
+4505 0 obj
<< /Subtype /CIDFontType0C /Filter /FlateDecode /Length 1482 >>
stream
xÚ}UkPWÞ@’Eh³Æ²¸{u¨¨HÀרԱ­Tä¡BЊm!%‰$,y`
@@ -15526,10 +15461,10 @@ xÚ}UkPWÞ@’Eh³Æ²¸{u¨¨HÀרԱ­Tä¡BЊm!%‰$,y`
‚6Ša¨†VŠ<4º¢âÀQ’B;˜·“À@U]ãÆaxs.ÕHú~ƒé,.™Ë?êÈ2ß-ÝÑ®i€t]S‹˜X§ÔGH&1’)žÉî)ÍUUU5UGmõÑz‰Äín¨vÔÖ8NgdêŸ{0¼¬
endstream
endobj
-4499 0 obj
-<< /Type /FontDescriptor /FontName /RKQUSG+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 4501 0 R /CIDSet 4500 0 R >>
+4503 0 obj
+<< /Type /FontDescriptor /FontName /RKQUSG+LMRoman17-Regular /Flags 4 /FontBBox [ -400 -286 1338 1125 ] /Ascent 1125 /CapHeight 683 /Descent -286 /ItalicAngle 0 /StemV 83 /XHeight 431 /FontFile3 4505 0 R /CIDSet 4504 0 R >>
endobj
-4502 0 obj
+4506 0 obj
<< /Filter /FlateDecode /Length 401 >>
stream
xÚ…’_OÂ0Åßû)®$ø0Ö
@@ -15538,12 +15473,12 @@ ag=’ë“[Ø[ï$¬9‘û²Ò¤e›ÓcÝ`™È\‘Ù B³²¨}t¾¯I¸Öµô/™4¢´­ªZC@IÇÜÌmrzÍJ„Ð&pS
endstream
endobj
325 0 obj
-<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKQUSG+LMRoman17-Regular /DescendantFonts [ 4503 0 R ] /ToUnicode 4502 0 R >>
+<< /Type /Font /Subtype /Type0 /Encoding /Identity-H /BaseFont /RKQUSG+LMRoman17-Regular /DescendantFonts [ 4507 0 R ] /ToUnicode 4506 0 R >>
endobj
-4503 0 obj
-<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKQUSG+LMRoman17-Regular /FontDescriptor 4499 0 R /W 4498 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
+4507 0 obj
+<< /Type /Font /Subtype /CIDFontType0 /BaseFont /RKQUSG+LMRoman17-Regular /FontDescriptor 4503 0 R /W 4502 0 R /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> >>
endobj
-4505 0 obj
+4509 0 obj
<< /Length1 1401 /Length2 5895 /Length3 0 /Filter /FlateDecode /Length 6849 >>
stream
xÚtTSí²6EAB“Ò‚tHèMzïB”^Ò€P¡¤H“"½£€"UDš¨t¤i‚ M:Š Â~~çœïüÿZ÷®¬µ³ß™gfÞgfžÍÏcf!¦ŽÀÀ:4N ,RjC `’$üüÎù·À ‰õAaЊÿÐÄ"¡8‚M Š#
@@ -15569,10 +15504,10 @@ l/©Ð:diA®xmÄ·iQØâìÓ³gw¢m*˜Î“C7Ë‹HÕ<KÈðå ŒÙ!ðÄO ^v1|kú?Ncpv¢ßt.:¼ï>jsMg€}fh
Aü>Egiû÷(¼  oJÔ*ùh!¨cÎVBÔ”L4·Ÿi§3$éñ?ªhA2
endstream
endobj
-4504 0 obj
-<< /Type /FontDescriptor /FontName /DGBCZV+CMTT10 /Flags 4 /FontBBox [ -4 -233 537 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /visiblespace) /FontFile 4505 0 R >>
+4508 0 obj
+<< /Type /FontDescriptor /FontName /DGBCZV+CMTT10 /Flags 4 /FontBBox [ -4 -233 537 696 ] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /visiblespace) /FontFile 4509 0 R >>
endobj
-4507 0 obj
+4511 0 obj
<< /Length1 1808 /Length2 2831 /Length3 0 /Filter /FlateDecode /Length 3963 >>
stream
xÚµUy<TëÿÚ-á\û6«5kdoHÆZ)c挙fœ3fÆ2ÙJQ‘JQ¡èÞ,7Š­…eÉRÙ¿ù’(ÚDüÎp»Ýz}׼Μy>ïÏö¼Ÿ÷çß܉(
@@ -15588,10 +15523,10 @@ Zç,?¡™œÌüc΄®ùj^Ïœï­8SØò²cË)Æ5FQÚÞ¦)Óí—áÚu ¯FUgÔ%óŠßwRî(^Mc[7WÕÎœ
]|pãÐàªVq­{9ÀË—/>Xç]#€ØX¡a> œkÏ2¬»ÕÃ8÷ÜÈÒPô°ÌCýཙ+# Þ¹û©õ~¹90Ç/Àt‘ðü*¾ðôÌ©CUGêßo ð®IÞÐX^
endstream
endobj
-4506 0 obj
-<< /Type /FontDescriptor /FontName /MOFIWY+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /slash /x) /FontFile 4507 0 R >>
+4510 0 obj
+<< /Type /FontDescriptor /FontName /MOFIWY+LMMathItalic10-Regular /Flags 4 /FontBBox [ -32 -250 1048 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 60 /XHeight 431 /CharSet( /arrowhookleft /greater /k /less /n /pi /slash /x) /FontFile 4511 0 R >>
endobj
-4509 0 obj
+4513 0 obj
<< /Length1 1670 /Length2 1620 /Length3 0 /Filter /FlateDecode /Length 2652 >>
stream
xÚµT{<Ti_6É´º#lÛ“VL™›;‰a afDÑî1óÌÌaæœiæLHˆÐz‰Òf+ÛE.‰¤>›[¯(]-ÕV[Q[ËæºP*¹Ôzϵ•wß?ßÏùÌ9óü®ßçû|ù¼
@@ -15615,10 +15550,10 @@ qßoœÃv&aÅ!æ)²¿î×þP~õ¥(pÙ$Á/Át
×Ñϸ>=Þ¢Û—µ<c†´2zR¤bÒèÛ)mÇì–ò¶ÞЭ…©;—$.h‰]xsÀð¹´²;ªúë¬
endstream
endobj
-4508 0 obj
-<< /Type /FontDescriptor /FontName /KDGSHG+LMMathItalic5-Regular /Flags 4 /FontBBox [ 0 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 84 /XHeight 431 /CharSet( /k) /FontFile 4509 0 R >>
+4512 0 obj
+<< /Type /FontDescriptor /FontName /KDGSHG+LMMathItalic5-Regular /Flags 4 /FontBBox [ 0 -250 1349 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 84 /XHeight 431 /CharSet( /k) /FontFile 4513 0 R >>
endobj
-4511 0 obj
+4515 0 obj
<< /Length1 1689 /Length2 1813 /Length3 0 /Filter /FlateDecode /Length 2856 >>
stream
xÚµTy\Lk×-uK%ÅÜõ(¥0[Ó¢B¦™iZGTʵÔiæÌÌÑtÎ4s¦¦º-¶ˆHDˆÄ I‘¥(âZ“¥å¢•("ÔåµDˆ{fâ¢÷¾¾Ÿó™sæù­ßçû|Í„À 2S€EÂ^Š“éšð€p±I¾ y.,RH  Sh4=– †pCÙ»º3.A°‡£#a B\õl
@@ -15634,10 +15569,10 @@ yÂwÜü¸m>†Ê9.¬!"Uèåª3CPµ-€Éóñâ“ý í¡ä
Ù[]õ¿/ Ù&@2¹ôöqf9>ºsÝõjÛ”Å+WÑõ„58P“2^7ºš±Ó*|KøÖŸÃ쟿µï^LãMßIáCiÑù…[›ÊΡmaWÚ²Ö%JüÖºçvKä= žÓ,\Ú&õÚÄ®ŸX¬9áí¡ôkÿHüTØá5.×~qϲ»nZõJ‡|§5'¹Ò‡i†‚Ñ­{?ÓS¶¡åWŠ¥ìtñ¯¶ pÞl_4ùã‘W¶/ŠË{fºŽSÌÃY9« 3¼s­œÂÀ3ÍœHŒTû½HöslôÝ_7zŸHŠÛË«¸UN²ô%ŸØ5Õä ŽvH×ÄL_eàÓÒdÐÐùS(O$­©#Ñu ÷4"Îå«Ëí–¯èR¾òæKu^Þ4Êyo©Wwà›s{æ´$Ùnð ïä- *ܽàëŽ>»ao|ÒpWAÕ£æì¥k{ò+ŽÕÍ|Yþväšç®cGŒ\¤écP’À•‘*׺oX¼Z÷¤Aà³XŠÃ²u;ÒˆÅáÃfÌ=3uø”øónžàéá`í¾ÚÌ‚àŠ¸¢w§Â†“uØ[:õû¬€¿°¨ÞðÎü
endstream
endobj
-4510 0 obj
-<< /Type /FontDescriptor /FontName /GFWWXD+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /k /pi) /FontFile 4511 0 R >>
+4514 0 obj
+<< /Type /FontDescriptor /FontName /GFWWXD+LMMathItalic7-Regular /Flags 4 /FontBBox [ -1 -250 1171 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet( /k /pi) /FontFile 4515 0 R >>
endobj
-4513 0 obj
+4517 0 obj
<< /Length1 1677 /Length2 1235 /Length3 0 /Filter /FlateDecode /Length 2254 >>
stream
xÚµTy\WW»`Í"^x!Ô'-9‘³®¤PHÑ$ŠUÁ!y!C’™830€‚ÖŠ*UðÂEQñ¨U©Êz ˆ¢(^»x`«µÔ…–¥o‚VaÝ?÷3ŸÌäýÎïû¾ïï¹NŠRð$2†’Ãñ… "2cta fÀÕþ¼™0ÞlÀ( â‹…BŽ«k01' )ÆÀ
@@ -15653,10 +15588,10 @@ VLÝfh¹3U²uv®âz•Ë©.á×Ù³LEÃl·L×á%yaÊ—z,ž« u߯!ö6^sn»]qÚ\¶ó=S[ÀXlʲí]ö¢X¹æICå
/>Êá–ë×(m¿-­Õçódæäú|!µq^kAÀÊ«±u„^ò•IO__Ðî¼Ï~¡g඄Õe#9‚ü²‚£–\¸ö±±gÝ’@ŸÖöH2·rMÏøó8ïµeCFyÁbmÉ–n÷ðs0Rg7H·ÄÕaSØOîÔgeüï6äxÿ;Í–
endstream
endobj
-4512 0 obj
-<< /Type /FontDescriptor /FontName /GLFSGS+LMMathItalic9-Regular /Flags 4 /FontBBox [ -29 -250 1075 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 28 /XHeight 431 /CharSet( /slash) /FontFile 4513 0 R >>
+4516 0 obj
+<< /Type /FontDescriptor /FontName /GLFSGS+LMMathItalic9-Regular /Flags 4 /FontBBox [ -29 -250 1075 750 ] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 28 /XHeight 431 /CharSet( /slash) /FontFile 4517 0 R >>
endobj
-4515 0 obj
+4519 0 obj
<< /Length1 1846 /Length2 22110 /Length3 0 /Filter /FlateDecode /Length 23294 >>
stream
xÚ´¸sxœíó>7j¬†Û¶mÛÙ8«±“ƶ­Æ¶7Nã¤ac7~Óçùøûû÷=öXÌ9¼ç:göÞ%'VR¥6³7J؃\虘x
@@ -15752,10 +15687,10 @@ cˆdw$ûÈÞwä(ßÍ<c‚|‹Ðõ Z§_rRIÅýo}[GÚe¿AûX¯PñýzëѠμË~ÜáÇm–ÏÑ™,¾E&‹kd&W
V—h‰˜Ô¸h7Sg5T%€ÂõdÔнxÙtP2{zïvòÞ5ìØè%Û| wÁÔµn.²;¿çòZƒ]Ä ²´Yõ´ß“%˜güŒ‰w;Åd›6Btšö‡K4¿¥B7Çn3Û³™Aèo-Në™3Kˆ=QÀÒç7–OëJø´tÚæ& ¦§@Gâ±,žúmÜ‚7i'‚£Ñ5)Ó>™·é`ט ]±îqp#é— E«zh!éEKÞm¦ÈI%Z“ þ9~`Gë5çéª[VÒŽ¿IÊè¹–ôãu}·ÛÏþœÿIbÜl/ÕYA±dK>@óuº¤¦T%sÊÎ ¼úš–ø+ßRøý¿‘+„u 5ÞkEM¹
endstream
endobj
-4514 0 obj
-<< /Type /FontDescriptor /FontName /DDAMXW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /a /c /equal /four /n /one /parenleft /parenright /plus /r /t /two /zero) /FontFile 4515 0 R >>
+4518 0 obj
+<< /Type /FontDescriptor /FontName /DDAMXW+LMRoman10-Regular /Flags 4 /FontBBox [ -430 -290 1417 1127 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet( /a /c /equal /four /n /one /parenleft /parenright /plus /r /t /two /zero) /FontFile 4519 0 R >>
endobj
-4517 0 obj
+4521 0 obj
<< /Length1 1715 /Length2 17571 /Length3 0 /Filter /FlateDecode /Length 18712 >>
stream
xÚ´÷stÝßö=ǶÛ¶ÕØvNl»I5vÛhÜØNÛ¶ó—¾ïG÷~ŸŸqÆÁžKs¯=ׯCA¢¤Ê bæ`”t°we`adæÈÉ«8ØÛs1¨
@@ -15823,10 +15758,10 @@ L ž©
ÜÁ¡^EuGí”|¼ØÊDgæ#ƒ‡-ŠŸpAꩇs‘þš&ežþyRqù}CIÝ@ͧ†“GG¸·ï²@>;ÑBáò¡Ïíø¾µˆ/úâͯ½Íôtj
endstream
endobj
-4516 0 obj
-<< /Type /FontDescriptor /FontName /LNPUMK+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 4517 0 R >>
+4520 0 obj
+<< /Type /FontDescriptor /FontName /LNPUMK+LMRoman7-Regular /Flags 4 /FontBBox [ -483 -292 1562 1124 ] /Ascent 689 /CapHeight 689 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet( /one /parenleft /parenright /plus /two) /FontFile 4521 0 R >>
endobj
-4519 0 obj
+4523 0 obj
<< /Length1 1699 /Length2 10474 /Length3 0 /Filter /FlateDecode /Length 11567 >>
stream
xÚµxeTÚ¶5Nqw îVÜݵH)N€à$¸/‡â®ÅÝÝ)VÜ)î^ Š=Úsï;÷žïýýFFdÙ^sÏ=×NFh)Õ5Y%ÌÁ¦ Y°„•“C ¬¢ tp`Õ
@@ -15868,10 +15803,10 @@ lŠ˜ÄÌÑPˆ9'󔦃âý&h–fL[mԓ莉y9ýa§\>ëç9èIÕ¥_§¸EóKŠÄËÏÃë1œE„¥ãÔ9©â
Ùj£Ì3zÝÕݳûQ&÷-¶?>kn£˜„~Yswź$m÷t¡ KÑFP Á)ÊûŽ*ãš5^*Š=¯Ö¢eD>Ï<¹­¶W¡NRí]ÚôI“åÉ:T¨Œú’¢Ë©W$2x |¶ÂÌ·e¼c¢®b‹­ð¿Ï‘¯Õ‘ ªäpõ$HLáž©D`Ô0àÉâÎtáp¦Ÿ ¦‹·1J^À"âF‰)ἦ–°wÓ©óЩ)³§¼›÷ÇürF»å
endstream
endobj
-4518 0 obj
-<< /Type /FontDescriptor /FontName /QNRZJS+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /A /L /S /T /U /Y) /FontFile 4519 0 R >>
+4522 0 obj
+<< /Type /FontDescriptor /FontName /QNRZJS+LMSans9-Regular /Flags 4 /FontBBox [ -433 -313 1466 1155 ] /Ascent 694 /CapHeight 694 /Descent -194 /ItalicAngle 0 /StemV 96 /XHeight 444 /CharSet( /A /L /S /T /U /Y) /FontFile 4523 0 R >>
endobj
-4521 0 obj
+4525 0 obj
<< /Length1 1740 /Length2 1925 /Length3 0 /Filter /FlateDecode /Length 2996 >>
stream
xÚµTy<Tk¿¥¨‰’J²õefŒµáuk¬Ù'3²Vsp˜9gÌå">nŠŠQ ­„V*Y)"K劫ŽJŠu½gFÝ–ÏÛŸïg>gÎy~ßßò}~Ï÷÷hk0Yd €í0'Ó(æÀÙÅÂCXQ¼
@@ -15886,10 +15821,10 @@ Zé¦8iØ+w–™7»©Ä‹§zquߺg«¶w9j.Tq
ÏNQPv-.ô;ëe>¢VŸ8ãZ‚÷Ô&/Õ2¥´Ñ–ƒ?h ¬fx6×"ÙP¸öØKK£°™ku¼—9]_ÎÖXý |³®¾wZß_$ÛE£y•ÐÆûë7$¬âÿ'¯8áÍXáÙ'«}bË}m"c‹ÿšÑZrÓŸ¡Ú°ä‚Ⱥ±ÆlQyûÀü0ú.jãFôÎCËGÃhq6仦{Z{ñRW™ø!†ç4”YT»¡Â ggÝf GùzCB[oQ¯O¨o»óÀíXÿ¢yV‡~·¶¯ô,±"(ÓY¡|ÒÓüçŽ%-‰ÙŠãúsá–õôg[:ÿ éèôù
endstream
endobj
-4520 0 obj
-<< /Type /FontDescriptor /FontName /TNOUBP+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /asteriskmath /minus) /FontFile 4521 0 R >>
+4524 0 obj
+<< /Type /FontDescriptor /FontName /TNOUBP+LMMathSymbols10-Regular /Flags 4 /FontBBox [ -29 -960 1116 775 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet( /arrowright /asteriskmath /minus) /FontFile 4525 0 R >>
endobj
-4523 0 obj
+4527 0 obj
<< /Length1 1689 /Length2 1347 /Length3 0 /Filter /FlateDecode /Length 2378 >>
stream
xÚµTyT×v5µîR
@@ -15906,10 +15841,10 @@ cÊÒk©¥G<<[$…[æn›t©à`ÎÁ1@Yó‡(èÐÑÎu¾µ/†=Êó˜_z°á;ëÖ+ª‘”q¸íÚP—î×.îͼ處‰­Ÿ
¶zÂÿòÔFåŸÆÛy¦«õ£rÝ®,º×БÝÒ9÷võBG/ý§ëNrþáÍÁ
endstream
endobj
-4522 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 4523 0 R >>
+4526 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 4527 0 R >>
endobj
-4525 0 obj
+4529 0 obj
<< /Length1 1684 /Length2 1529 /Length3 0 /Filter /FlateDecode /Length 2571 >>
stream
xÚµTiX×.\
@@ -15927,10 +15862,10 @@ f|ê÷Ìew”k¼Ç¥Ç«ÏKggåYòççfô(lWÏû$¢•¯n:4ÿ׌/æT‡~ù£ûõ±±ßüåó’÷V¹6y¯(÷ÛÇm¸ù]ó
2“]ló‘þQÚ1z]dìVþÑÌfgÁ‹¦Î?™ÈùÓ:ôùŽ=»î–ÞÐïõ\d{7ò§6mù·jÙãfåï…ƒi›o–L䆬 8m_¡Úµ)'³7ØÅ|Þ·ËndéóÝÕyk“æùõ¶Ö%\v9ÊÛ/yš¶`›Oý´~Î}kyžW+àöD(ÿÓ‚S^rΠрðjüý3¯¶vÊN<ûí
endstream
endobj
-4524 0 obj
-<< /Type /FontDescriptor /FontName /CIXFWA+LMMathSymbols7-Regular /Flags 4 /FontBBox [ -15 -951 1252 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 4525 0 R >>
+4528 0 obj
+<< /Type /FontDescriptor /FontName /CIXFWA+LMMathSymbols7-Regular /Flags 4 /FontBBox [ -15 -951 1252 782 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet( /minus) /FontFile 4529 0 R >>
endobj
-4527 0 obj
+4531 0 obj
<< /Length1 1748 /Length2 1585 /Length3 0 /Filter /FlateDecode /Length 2661 >>
stream
xÚµTiXWp”º *¸\@dѬ¬Ø
@@ -15950,212 +15885,212 @@ g]Ýqbã‰)@X÷ÀuêÌ‹,æåw£Ÿluˆ.9ѲgˆvßuÆQk•|LbÓ(ÛJ»¦+•&Ä»ÖÖ!gÙÍn×bóWÛÔUVŸõÍËI!%
§÷æÃù{'eFÉÿ1´ØŠùm\ȪëmÎ 3Z6Å\ÙmÊ<áI§¼¨ÄÜu®íž3úüƒ.QW}·ÞMò1)ëZfVÙ¹ü6{j”~YªÿF]¦w͆=”,ìÈÖÿµv,D8Uè87µŠ1íò4"ùPŸbh£niþ|Ü"³ÇÙMQ"ö&óTÂö{EÞ>‡~l“¼fÃŒöðÛ[ÊN³ïš7Úö ‹¹?´ÂÆ>µ-`™¿ö;W›´G½ž²!ÈåQõ‹“µ}Vû¯û¾®±’´966Œ9ùÉÄŸ4’ž«*àVž3mï±~PTQa’ùä7ŸŽU©öÁ©ïÔÌäÒ,ë/jÍJݾ‡õ}u5[3 %}Åôo¿Ì)ÆCÆ¢–2ýN'—ž®ÈÙ·*º‹7¿Æåÿ™µÉ5ûTNCIÚƒ`ï ùNs¾oÔýÜ»» -(4Å4Ëìzù¼Å±¥SÞŽÑý<*Xx3SVhzD2©!§-7gì+^ßïÛoR/6ü6˜éu4ÕsÜSVAÜ¢ÓMø Û²Z8
endstream
endobj
-4526 0 obj
-<< /Type /FontDescriptor /FontName /SRVGJC+LMMathSymbols9-Regular /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 43 /XHeight 431 /CharSet( /angbracketleft /angbracketright /asteriskmath) /FontFile 4527 0 R >>
+4530 0 obj
+<< /Type /FontDescriptor /FontName /SRVGJC+LMMathSymbols9-Regular /Flags 4 /FontBBox [ -30 -958 1146 777 ] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 43 /XHeight 431 /CharSet( /angbracketleft /angbracketright /asteriskmath) /FontFile 4531 0 R >>
endobj
-4309 0 obj
+4313 0 obj
<< /Type /Encoding /Differences [ 25 /pi 44 /arrowhookleft 60 /less /slash /greater 107 /k 110 /n 120 /x ] >>
endobj
-4313 0 obj
+4317 0 obj
<< /Type /Encoding /Differences [ 0 /minus 3 /asteriskmath 33 /arrowright 104 /angbracketleft /angbracketright ] >>
endobj
-4311 0 obj
+4315 0 obj
<< /Type /Encoding /Differences [ 40 /parenleft /parenright 43 /plus 48 /zero /one /two 52 /four 61 /equal 65 /A 76 /L 83 /S /T /U 89 /Y 97 /a 99 /c 110 /n 114 /r 116 /t ] >>
endobj
-633 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DGBCZV+CMTT10 /FontDescriptor 4504 0 R /FirstChar 32 /LastChar 32 /Widths 4315 0 R >>
+641 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /DGBCZV+CMTT10 /FontDescriptor 4508 0 R /FirstChar 32 /LastChar 32 /Widths 4319 0 R >>
endobj
341 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /MOFIWY+LMMathItalic10-Regular /FontDescriptor 4506 0 R /FirstChar 25 /LastChar 120 /Widths 4417 0 R /Encoding 4309 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /MOFIWY+LMMathItalic10-Regular /FontDescriptor 4510 0 R /FirstChar 25 /LastChar 120 /Widths 4421 0 R /Encoding 4313 0 R >>
endobj
-519 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /KDGSHG+LMMathItalic5-Regular /FontDescriptor 4508 0 R /FirstChar 107 /LastChar 107 /Widths 4340 0 R /Encoding 4309 0 R >>
+522 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /KDGSHG+LMMathItalic5-Regular /FontDescriptor 4512 0 R /FirstChar 107 /LastChar 107 /Widths 4344 0 R /Encoding 4313 0 R >>
endobj
342 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GFWWXD+LMMathItalic7-Regular /FontDescriptor 4510 0 R /FirstChar 25 /LastChar 107 /Widths 4416 0 R /Encoding 4309 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /GFWWXD+LMMathItalic7-Regular /FontDescriptor 4514 0 R /FirstChar 25 /LastChar 107 /Widths 4420 0 R /Encoding 4313 0 R >>
endobj
-2313 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /GLFSGS+LMMathItalic9-Regular /FontDescriptor 4512 0 R /FirstChar 61 /LastChar 61 /Widths 4310 0 R /Encoding 4309 0 R >>
+2310 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /GLFSGS+LMMathItalic9-Regular /FontDescriptor 4516 0 R /FirstChar 61 /LastChar 61 /Widths 4314 0 R /Encoding 4313 0 R >>
endobj
327 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /TNOUBP+LMMathSymbols10-Regular /FontDescriptor 4520 0 R /FirstChar 0 /LastChar 33 /Widths 4491 0 R /Encoding 4313 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /TNOUBP+LMMathSymbols10-Regular /FontDescriptor 4524 0 R /FirstChar 0 /LastChar 33 /Widths 4495 0 R /Encoding 4317 0 R >>
endobj
344 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 4522 0 R /FirstChar 3 /LastChar 3 /Widths 4414 0 R /Encoding 4313 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /DTFCKV+LMMathSymbols6-Regular /FontDescriptor 4526 0 R /FirstChar 3 /LastChar 3 /Widths 4418 0 R /Encoding 4317 0 R >>
endobj
-518 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /CIXFWA+LMMathSymbols7-Regular /FontDescriptor 4524 0 R /FirstChar 0 /LastChar 0 /Widths 4341 0 R /Encoding 4313 0 R >>
+521 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /CIXFWA+LMMathSymbols7-Regular /FontDescriptor 4528 0 R /FirstChar 0 /LastChar 0 /Widths 4345 0 R /Encoding 4317 0 R >>
endobj
-635 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /SRVGJC+LMMathSymbols9-Regular /FontDescriptor 4526 0 R /FirstChar 3 /LastChar 105 /Widths 4314 0 R /Encoding 4313 0 R >>
+643 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /SRVGJC+LMMathSymbols9-Regular /FontDescriptor 4530 0 R /FirstChar 3 /LastChar 105 /Widths 4318 0 R /Encoding 4317 0 R >>
endobj
340 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /DDAMXW+LMRoman10-Regular /FontDescriptor 4514 0 R /FirstChar 40 /LastChar 116 /Widths 4418 0 R /Encoding 4311 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /DDAMXW+LMRoman10-Regular /FontDescriptor 4518 0 R /FirstChar 40 /LastChar 116 /Widths 4422 0 R /Encoding 4315 0 R >>
endobj
343 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /LNPUMK+LMRoman7-Regular /FontDescriptor 4516 0 R /FirstChar 40 /LastChar 50 /Widths 4415 0 R /Encoding 4311 0 R >>
+<< /Type /Font /Subtype /Type1 /BaseFont /LNPUMK+LMRoman7-Regular /FontDescriptor 4520 0 R /FirstChar 40 /LastChar 50 /Widths 4419 0 R /Encoding 4315 0 R >>
endobj
-636 0 obj
-<< /Type /Font /Subtype /Type1 /BaseFont /QNRZJS+LMSans9-Regular /FontDescriptor 4518 0 R /FirstChar 65 /LastChar 89 /Widths 4312 0 R /Encoding 4311 0 R >>
+644 0 obj
+<< /Type /Font /Subtype /Type1 /BaseFont /QNRZJS+LMSans9-Regular /FontDescriptor 4522 0 R /FirstChar 65 /LastChar 89 /Widths 4316 0 R /Encoding 4315 0 R >>
endobj
353 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 317 0 R 363 0 R 374 0 R 389 0 R 411 0 R 422 0 R 434 0 R 445 0 R 455 0 R 460 0 R ] >>
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 317 0 R 363 0 R 374 0 R 391 0 R 409 0 R 422 0 R 436 0 R 448 0 R 457 0 R 462 0 R ] >>
endobj
-472 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 467 0 R 475 0 R 480 0 R 486 0 R 497 0 R 503 0 R 507 0 R 515 0 R 526 0 R 537 0 R ] >>
+475 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 470 0 R 478 0 R 482 0 R 489 0 R 500 0 R 505 0 R 511 0 R 518 0 R 528 0 R 537 0 R ] >>
endobj
-545 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 542 0 R 551 0 R 564 0 R 575 0 R 585 0 R 591 0 R 595 0 R 599 0 R 605 0 R 611 0 R ] >>
+554 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 546 0 R 562 0 R 571 0 R 575 0 R 586 0 R 593 0 R 599 0 R 603 0 R 607 0 R 613 0 R ] >>
endobj
-627 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 620 0 R 630 0 R 673 0 R 724 0 R 779 0 R 807 0 R 832 0 R 853 0 R 895 0 R 931 0 R ] >>
+622 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 619 0 R 629 0 R 638 0 R 678 0 R 729 0 R 784 0 R 810 0 R 836 0 R 864 0 R 901 0 R ] >>
endobj
-1026 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 991 0 R 1029 0 R 1085 0 R 1148 0 R 1207 0 R 1272 0 R 1339 0 R 1387 0 R 1432 0 R 1474 0 R ] >>
+1000 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 945 0 R 1004 0 R 1040 0 R 1087 0 R 1150 0 R 1209 0 R 1274 0 R 1341 0 R 1384 0 R 1434 0 R ] >>
endobj
-1590 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 1532 0 R 1593 0 R 1639 0 R 1687 0 R 1733 0 R 1785 0 R 1846 0 R 1890 0 R 1953 0 R 2008 0 R ] >>
+1522 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 1472 0 R 1524 0 R 1582 0 R 1628 0 R 1681 0 R 1725 0 R 1777 0 R 1837 0 R 1886 0 R 1952 0 R ] >>
endobj
-2099 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 2056 0 R 2101 0 R 2160 0 R 2225 0 R 2283 0 R 2335 0 R 2365 0 R 2403 0 R 2443 0 R 2489 0 R ] >>
+2041 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 2003 0 R 2043 0 R 2094 0 R 2156 0 R 2219 0 R 2273 0 R 2321 0 R 2355 0 R 2393 0 R 2437 0 R ] >>
endobj
-2578 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 2540 0 R 2581 0 R 2636 0 R 2677 0 R 2714 0 R 2767 0 R 2830 0 R 2876 0 R 2923 0 R 2979 0 R ] >>
+2547 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 2489 0 R 2550 0 R 2590 0 R 2651 0 R 2679 0 R 2721 0 R 2775 0 R 2834 0 R 2879 0 R 2928 0 R ] >>
endobj
-3076 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 3034 0 R 3078 0 R 3137 0 R 3197 0 R 3250 0 R 3288 0 R 3341 0 R 3393 0 R 3453 0 R 3509 0 R ] >>
+3034 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 2982 0 R 3036 0 R 3082 0 R 3141 0 R 3196 0 R 3249 0 R 3287 0 R 3339 0 R 3391 0 R 3450 0 R ] >>
endobj
-3630 0 obj
-<< /Type /Pages /Parent 4528 0 R /Count 10 /Kids [ 3576 0 R 3632 0 R 3671 0 R 3722 0 R 3767 0 R 3819 0 R 3862 0 R 3918 0 R 3968 0 R 4022 0 R ] >>
+3569 0 obj
+<< /Type /Pages /Parent 4532 0 R /Count 10 /Kids [ 3505 0 R 3571 0 R 3626 0 R 3668 0 R 3717 0 R 3751 0 R 3792 0 R 3838 0 R 3886 0 R 3945 0 R ] >>
endobj
-4143 0 obj
-<< /Type /Pages /Parent 4529 0 R /Count 6 /Kids [ 4088 0 R 4145 0 R 4197 0 R 4227 0 R 4294 0 R 4305 0 R ] >>
+4047 0 obj
+<< /Type /Pages /Parent 4533 0 R /Count 7 /Kids [ 3996 0 R 4049 0 R 4115 0 R 4173 0 R 4229 0 R 4296 0 R 4309 0 R ] >>
endobj
-4528 0 obj
-<< /Type /Pages /Parent 4530 0 R /Count 100 /Kids [ 353 0 R 472 0 R 545 0 R 627 0 R 1026 0 R 1590 0 R 2099 0 R 2578 0 R 3076 0 R 3630 0 R ] >>
+4532 0 obj
+<< /Type /Pages /Parent 4534 0 R /Count 100 /Kids [ 353 0 R 475 0 R 554 0 R 622 0 R 1000 0 R 1522 0 R 2041 0 R 2547 0 R 3034 0 R 3569 0 R ] >>
endobj
-4529 0 obj
-<< /Type /Pages /Parent 4530 0 R /Count 6 /Kids [ 4143 0 R ] >>
+4533 0 obj
+<< /Type /Pages /Parent 4534 0 R /Count 7 /Kids [ 4047 0 R ] >>
endobj
-4530 0 obj
-<< /Type /Pages /Count 106 /Kids [ 4528 0 R 4529 0 R ] >>
+4534 0 obj
+<< /Type /Pages /Count 107 /Kids [ 4532 0 R 4533 0 R ] >>
endobj
-4531 0 obj
+4535 0 obj
<< /Type /Outlines /First 6 0 R /Last 314 0 R /Count 12 >>
endobj
314 0 obj
-<< /Title 315 0 R /A 312 0 R /Parent 4531 0 R /Prev 310 0 R >>
+<< /Title 315 0 R /A 312 0 R /Parent 4535 0 R /Prev 310 0 R >>
endobj
310 0 obj
-<< /Title 311 0 R /A 308 0 R /Parent 4531 0 R /Prev 202 0 R /Next 314 0 R >>
+<< /Title 311 0 R /A 308 0 R /Parent 4535 0 R /Prev 198 0 R /Next 314 0 R >>
endobj
306 0 obj
-<< /Title 307 0 R /A 304 0 R /Parent 270 0 R /Prev 302 0 R >>
+<< /Title 307 0 R /A 304 0 R /Parent 266 0 R /Prev 302 0 R >>
endobj
302 0 obj
-<< /Title 303 0 R /A 300 0 R /Parent 270 0 R /Prev 298 0 R /Next 306 0 R >>
+<< /Title 303 0 R /A 300 0 R /Parent 266 0 R /Prev 298 0 R /Next 306 0 R >>
endobj
298 0 obj
-<< /Title 299 0 R /A 296 0 R /Parent 270 0 R /Prev 294 0 R /Next 302 0 R >>
+<< /Title 299 0 R /A 296 0 R /Parent 266 0 R /Prev 294 0 R /Next 302 0 R >>
endobj
294 0 obj
-<< /Title 295 0 R /A 292 0 R /Parent 270 0 R /Prev 290 0 R /Next 298 0 R >>
+<< /Title 295 0 R /A 292 0 R /Parent 266 0 R /Prev 290 0 R /Next 298 0 R >>
endobj
290 0 obj
-<< /Title 291 0 R /A 288 0 R /Parent 270 0 R /Prev 286 0 R /Next 294 0 R >>
+<< /Title 291 0 R /A 288 0 R /Parent 266 0 R /Prev 286 0 R /Next 294 0 R >>
endobj
286 0 obj
-<< /Title 287 0 R /A 284 0 R /Parent 270 0 R /Prev 282 0 R /Next 290 0 R >>
+<< /Title 287 0 R /A 284 0 R /Parent 266 0 R /Prev 282 0 R /Next 290 0 R >>
endobj
282 0 obj
-<< /Title 283 0 R /A 280 0 R /Parent 270 0 R /Prev 278 0 R /Next 286 0 R >>
+<< /Title 283 0 R /A 280 0 R /Parent 266 0 R /Prev 278 0 R /Next 286 0 R >>
endobj
278 0 obj
-<< /Title 279 0 R /A 276 0 R /Parent 270 0 R /Prev 274 0 R /Next 282 0 R >>
+<< /Title 279 0 R /A 276 0 R /Parent 266 0 R /Prev 274 0 R /Next 282 0 R >>
endobj
274 0 obj
-<< /Title 275 0 R /A 272 0 R /Parent 270 0 R /Next 278 0 R >>
+<< /Title 275 0 R /A 272 0 R /Parent 266 0 R /Prev 270 0 R /Next 278 0 R >>
endobj
270 0 obj
-<< /Title 271 0 R /A 268 0 R /Parent 202 0 R /Prev 210 0 R /First 274 0 R /Last 306 0 R /Count -9 >>
+<< /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 210 0 R /Prev 262 0 R >>
+<< /Title 267 0 R /A 264 0 R /Parent 198 0 R /Prev 206 0 R /First 270 0 R /Last 306 0 R /Count -10 >>
endobj
262 0 obj
-<< /Title 263 0 R /A 260 0 R /Parent 210 0 R /Prev 258 0 R /Next 266 0 R >>
+<< /Title 263 0 R /A 260 0 R /Parent 206 0 R /Prev 258 0 R >>
endobj
258 0 obj
-<< /Title 259 0 R /A 256 0 R /Parent 210 0 R /Prev 254 0 R /Next 262 0 R >>
+<< /Title 259 0 R /A 256 0 R /Parent 206 0 R /Prev 254 0 R /Next 262 0 R >>
endobj
254 0 obj
-<< /Title 255 0 R /A 252 0 R /Parent 210 0 R /Prev 250 0 R /Next 258 0 R >>
+<< /Title 255 0 R /A 252 0 R /Parent 206 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 206 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 206 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 206 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 206 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 206 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 206 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 206 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 206 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 206 0 R /Prev 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 206 0 R /Prev 210 0 R /Next 218 0 R >>
endobj
210 0 obj
-<< /Title 211 0 R /A 208 0 R /Parent 202 0 R /Prev 206 0 R /Next 270 0 R /First 214 0 R /Last 266 0 R /Count -14 >>
+<< /Title 211 0 R /A 208 0 R /Parent 206 0 R /Next 214 0 R >>
endobj
206 0 obj
-<< /Title 207 0 R /A 204 0 R /Parent 202 0 R /Next 210 0 R >>
+<< /Title 207 0 R /A 204 0 R /Parent 198 0 R /Prev 202 0 R /Next 266 0 R /First 210 0 R /Last 262 0 R /Count -14 >>
endobj
202 0 obj
-<< /Title 203 0 R /A 200 0 R /Parent 4531 0 R /Prev 174 0 R /Next 310 0 R /First 206 0 R /Last 270 0 R /Count -3 >>
+<< /Title 203 0 R /A 200 0 R /Parent 198 0 R /Next 206 0 R >>
endobj
198 0 obj
-<< /Title 199 0 R /A 196 0 R /Parent 174 0 R /Prev 194 0 R >>
+<< /Title 199 0 R /A 196 0 R /Parent 4535 0 R /Prev 170 0 R /Next 310 0 R /First 202 0 R /Last 266 0 R /Count -3 >>
endobj
194 0 obj
-<< /Title 195 0 R /A 192 0 R /Parent 174 0 R /Prev 190 0 R /Next 198 0 R >>
+<< /Title 195 0 R /A 192 0 R /Parent 170 0 R /Prev 190 0 R >>
endobj
190 0 obj
-<< /Title 191 0 R /A 188 0 R /Parent 174 0 R /Prev 186 0 R /Next 194 0 R >>
+<< /Title 191 0 R /A 188 0 R /Parent 170 0 R /Prev 186 0 R /Next 194 0 R >>
endobj
186 0 obj
-<< /Title 187 0 R /A 184 0 R /Parent 174 0 R /Prev 182 0 R /Next 190 0 R >>
+<< /Title 187 0 R /A 184 0 R /Parent 170 0 R /Prev 182 0 R /Next 190 0 R >>
endobj
182 0 obj
-<< /Title 183 0 R /A 180 0 R /Parent 174 0 R /Prev 178 0 R /Next 186 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 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 4531 0 R /Prev 150 0 R /Next 202 0 R /First 178 0 R /Last 198 0 R /Count -6 >>
+<< /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 150 0 R /Prev 166 0 R >>
+<< /Title 171 0 R /A 168 0 R /Parent 4535 0 R /Prev 150 0 R /Next 198 0 R /First 174 0 R /Last 194 0 R /Count -6 >>
endobj
166 0 obj
-<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R /Next 170 0 R >>
+<< /Title 167 0 R /A 164 0 R /Parent 150 0 R /Prev 162 0 R >>
endobj
162 0 obj
<< /Title 163 0 R /A 160 0 R /Parent 150 0 R /Prev 158 0 R /Next 166 0 R >>
@@ -16167,10 +16102,10 @@ endobj
<< /Title 155 0 R /A 152 0 R /Parent 150 0 R /Next 158 0 R >>
endobj
150 0 obj
-<< /Title 151 0 R /A 148 0 R /Parent 4531 0 R /Prev 146 0 R /Next 174 0 R /First 154 0 R /Last 170 0 R /Count -5 >>
+<< /Title 151 0 R /A 148 0 R /Parent 4535 0 R /Prev 146 0 R /Next 170 0 R /First 154 0 R /Last 166 0 R /Count -4 >>
endobj
146 0 obj
-<< /Title 147 0 R /A 144 0 R /Parent 4531 0 R /Prev 66 0 R /Next 150 0 R >>
+<< /Title 147 0 R /A 144 0 R /Parent 4535 0 R /Prev 66 0 R /Next 150 0 R >>
endobj
142 0 obj
<< /Title 143 0 R /A 140 0 R /Parent 66 0 R /Prev 138 0 R >>
@@ -16230,10 +16165,10 @@ endobj
<< /Title 71 0 R /A 68 0 R /Parent 66 0 R /Next 82 0 R /First 74 0 R /Last 78 0 R /Count -2 >>
endobj
66 0 obj
-<< /Title 67 0 R /A 64 0 R /Parent 4531 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
+<< /Title 67 0 R /A 64 0 R /Parent 4535 0 R /Prev 62 0 R /Next 146 0 R /First 70 0 R /Last 142 0 R /Count -7 >>
endobj
62 0 obj
-<< /Title 63 0 R /A 60 0 R /Parent 4531 0 R /Prev 34 0 R /Next 66 0 R >>
+<< /Title 63 0 R /A 60 0 R /Parent 4535 0 R /Prev 34 0 R /Next 66 0 R >>
endobj
58 0 obj
<< /Title 59 0 R /A 56 0 R /Parent 34 0 R /Prev 42 0 R >>
@@ -16254,7 +16189,7 @@ endobj
<< /Title 39 0 R /A 36 0 R /Parent 34 0 R /Next 42 0 R >>
endobj
34 0 obj
-<< /Title 35 0 R /A 32 0 R /Parent 4531 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
+<< /Title 35 0 R /A 32 0 R /Parent 4535 0 R /Prev 14 0 R /Next 62 0 R /First 38 0 R /Last 58 0 R /Count -3 >>
endobj
30 0 obj
<< /Title 31 0 R /A 28 0 R /Parent 14 0 R /Prev 26 0 R >>
@@ -16269,1907 +16204,1866 @@ endobj
<< /Title 19 0 R /A 16 0 R /Parent 14 0 R /Next 22 0 R >>
endobj
14 0 obj
-<< /Title 15 0 R /A 12 0 R /Parent 4531 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
+<< /Title 15 0 R /A 12 0 R /Parent 4535 0 R /Prev 10 0 R /Next 34 0 R /First 18 0 R /Last 30 0 R /Count -4 >>
endobj
10 0 obj
-<< /Title 11 0 R /A 8 0 R /Parent 4531 0 R /Prev 6 0 R /Next 14 0 R >>
+<< /Title 11 0 R /A 8 0 R /Parent 4535 0 R /Prev 6 0 R /Next 14 0 R >>
endobj
6 0 obj
-<< /Title 7 0 R /A 4 0 R /Parent 4531 0 R /Next 10 0 R >>
-endobj
-4532 0 obj
-<< /Names [ (Doc-Start) 324 0 R (HD.1) 634 0 R (HD.10) 645 0 R (HD.100) 743 0 R (HD.1000) 1731 0 R (HD.1001) 1736 0 R (HD.1002) 1737 0 R (HD.1003) 1738 0 R (HD.1004) 1739 0 R (HD.1005) 1740 0 R (HD.1006) 1741 0 R (HD.1007) 1742 0 R (HD.1008) 1743 0 R (HD.1009) 1744 0 R (HD.101) 744 0 R (HD.1010) 1745 0 R (HD.1011) 1746 0 R (HD.1012) 1747 0 R (HD.1013) 1748 0 R (HD.1014) 1749 0 R (HD.1015) 1750 0 R (HD.1016) 1751 0 R (HD.1017) 1752 0 R (HD.1018) 1753 0 R (HD.1019) 1754 0 R (HD.102) 745 0 R (HD.1020) 1755 0 R (HD.1021) 1756 0 R (HD.1022) 1757 0 R (HD.1023) 1758 0 R (HD.1024) 1759 0 R (HD.1025) 1760 0 R ] /Limits [ (Doc-Start) (HD.1025) ] >>
-endobj
-4533 0 obj
-<< /Names [ (HD.1026) 1761 0 R (HD.1027) 1762 0 R (HD.1028) 1763 0 R (HD.1029) 1764 0 R (HD.103) 746 0 R (HD.1030) 1765 0 R (HD.1031) 1766 0 R (HD.1032) 1767 0 R (HD.1033) 1768 0 R (HD.1034) 1769 0 R (HD.1035) 1770 0 R (HD.1036) 1771 0 R (HD.1037) 1772 0 R (HD.1038) 1773 0 R (HD.1039) 1774 0 R (HD.104) 747 0 R (HD.1040) 1775 0 R (HD.1041) 1776 0 R (HD.1042) 1777 0 R (HD.1043) 1778 0 R (HD.1044) 1779 0 R (HD.1045) 1780 0 R (HD.1046) 1781 0 R (HD.1047) 1782 0 R (HD.1048) 1783 0 R (HD.1049) 1788 0 R (HD.105) 748 0 R (HD.1050) 1789 0 R (HD.1051) 1790 0 R (HD.1052) 1791 0 R (HD.1053) 1792 0 R (HD.1054) 1793 0 R ] /Limits [ (HD.1026) (HD.1054) ] >>
-endobj
-4534 0 obj
-<< /Names [ (HD.1055) 1794 0 R (HD.1056) 1795 0 R (HD.1057) 1796 0 R (HD.1058) 1797 0 R (HD.1059) 1798 0 R (HD.106) 749 0 R (HD.1060) 1799 0 R (HD.1061) 1800 0 R (HD.1062) 1801 0 R (HD.1063) 1802 0 R (HD.1064) 1803 0 R (HD.1065) 1804 0 R (HD.1066) 1805 0 R (HD.1067) 1806 0 R (HD.1068) 1807 0 R (HD.1069) 1808 0 R (HD.107) 750 0 R (HD.1070) 1809 0 R (HD.1071) 1810 0 R (HD.1072) 1811 0 R (HD.1073) 1812 0 R (HD.1074) 1813 0 R (HD.1075) 1814 0 R (HD.1076) 1815 0 R (HD.1077) 1816 0 R (HD.1078) 1817 0 R (HD.1079) 1818 0 R (HD.108) 751 0 R (HD.1080) 1819 0 R (HD.1081) 1820 0 R (HD.1082) 1821 0 R (HD.1083) 1822 0 R ] /Limits [ (HD.1055) (HD.1083) ] >>
-endobj
-4535 0 obj
-<< /Names [ (HD.1084) 1823 0 R (HD.1085) 1824 0 R (HD.1086) 1825 0 R (HD.1087) 1826 0 R (HD.1088) 1827 0 R (HD.1089) 1828 0 R (HD.109) 752 0 R (HD.1090) 1829 0 R (HD.1091) 1830 0 R (HD.1092) 1831 0 R (HD.1093) 1832 0 R (HD.1094) 1833 0 R (HD.1095) 1834 0 R (HD.1096) 1835 0 R (HD.1097) 1836 0 R (HD.1098) 1837 0 R (HD.1099) 1838 0 R (HD.11) 646 0 R (HD.110) 753 0 R (HD.1100) 1839 0 R (HD.1101) 1840 0 R (HD.1102) 1841 0 R (HD.1103) 1842 0 R (HD.1104) 1843 0 R (HD.1105) 1844 0 R (HD.1106) 1849 0 R (HD.1107) 1850 0 R (HD.1108) 1851 0 R (HD.1109) 1852 0 R (HD.111) 754 0 R (HD.1110) 1853 0 R (HD.1111) 1854 0 R ] /Limits [ (HD.1084) (HD.1111) ] >>
+<< /Title 7 0 R /A 4 0 R /Parent 4535 0 R /Next 10 0 R >>
endobj
4536 0 obj
-<< /Names [ (HD.1112) 1855 0 R (HD.1113) 1856 0 R (HD.1114) 1857 0 R (HD.1115) 1858 0 R (HD.1116) 1859 0 R (HD.1117) 1860 0 R (HD.1118) 1861 0 R (HD.1119) 1862 0 R (HD.112) 755 0 R (HD.1120) 1863 0 R (HD.1121) 1864 0 R (HD.1122) 1865 0 R (HD.1123) 1866 0 R (HD.1124) 1867 0 R (HD.1125) 1868 0 R (HD.1126) 1869 0 R (HD.1127) 1870 0 R (HD.1128) 1871 0 R (HD.1129) 1872 0 R (HD.113) 756 0 R (HD.1130) 1873 0 R (HD.1131) 1874 0 R (HD.1132) 1875 0 R (HD.1133) 1876 0 R (HD.1134) 1877 0 R (HD.1135) 1878 0 R (HD.1136) 1879 0 R (HD.1137) 1880 0 R (HD.1138) 1881 0 R (HD.1139) 1882 0 R (HD.114) 757 0 R (HD.1140) 1883 0 R ] /Limits [ (HD.1112) (HD.1140) ] >>
+<< /Names [ (Doc-Start) 324 0 R (HD.1) 642 0 R (HD.10) 653 0 R (HD.100) 751 0 R (HD.1000) 1743 0 R (HD.1001) 1744 0 R (HD.1002) 1745 0 R (HD.1003) 1746 0 R (HD.1004) 1747 0 R (HD.1005) 1748 0 R (HD.1006) 1749 0 R (HD.1007) 1750 0 R (HD.1008) 1751 0 R (HD.1009) 1752 0 R (HD.101) 752 0 R (HD.1010) 1753 0 R (HD.1011) 1754 0 R (HD.1012) 1755 0 R (HD.1013) 1756 0 R (HD.1014) 1757 0 R (HD.1015) 1758 0 R (HD.1016) 1759 0 R (HD.1017) 1760 0 R (HD.1018) 1761 0 R (HD.1019) 1762 0 R (HD.102) 753 0 R (HD.1020) 1763 0 R (HD.1021) 1764 0 R (HD.1022) 1765 0 R (HD.1023) 1766 0 R (HD.1024) 1767 0 R (HD.1025) 1768 0 R ] /Limits [ (Doc-Start) (HD.1025) ] >>
endobj
4537 0 obj
-<< /Names [ (HD.1141) 1884 0 R (HD.1142) 1885 0 R (HD.1143) 1886 0 R (HD.1144) 1887 0 R (HD.1145) 1888 0 R (HD.1146) 1893 0 R (HD.1147) 1894 0 R (HD.1148) 1895 0 R (HD.1149) 1896 0 R (HD.115) 758 0 R (HD.1150) 1897 0 R (HD.1151) 1898 0 R (HD.1152) 1899 0 R (HD.1153) 1900 0 R (HD.1154) 1901 0 R (HD.1155) 1902 0 R (HD.1156) 1903 0 R (HD.1157) 1904 0 R (HD.1158) 1905 0 R (HD.1159) 1906 0 R (HD.116) 759 0 R (HD.1160) 1907 0 R (HD.1161) 1908 0 R (HD.1162) 1909 0 R (HD.1163) 1910 0 R (HD.1164) 1911 0 R (HD.1165) 1912 0 R (HD.1166) 1913 0 R (HD.1167) 1914 0 R (HD.1168) 1915 0 R (HD.1169) 1916 0 R (HD.117) 760 0 R ] /Limits [ (HD.1141) (HD.117) ] >>
+<< /Names [ (HD.1026) 1769 0 R (HD.1027) 1770 0 R (HD.1028) 1771 0 R (HD.1029) 1772 0 R (HD.103) 754 0 R (HD.1030) 1773 0 R (HD.1031) 1774 0 R (HD.1032) 1775 0 R (HD.1033) 1780 0 R (HD.1034) 1781 0 R (HD.1035) 1782 0 R (HD.1036) 1783 0 R (HD.1037) 1784 0 R (HD.1038) 1785 0 R (HD.1039) 1786 0 R (HD.104) 755 0 R (HD.1040) 1787 0 R (HD.1041) 1788 0 R (HD.1042) 1789 0 R (HD.1043) 1790 0 R (HD.1044) 1791 0 R (HD.1045) 1792 0 R (HD.1046) 1793 0 R (HD.1047) 1794 0 R (HD.1048) 1795 0 R (HD.1049) 1796 0 R (HD.105) 756 0 R (HD.1050) 1797 0 R (HD.1051) 1798 0 R (HD.1052) 1799 0 R (HD.1053) 1800 0 R (HD.1054) 1801 0 R ] /Limits [ (HD.1026) (HD.1054) ] >>
endobj
4538 0 obj
-<< /Names [ (HD.1170) 1917 0 R (HD.1171) 1918 0 R (HD.1172) 1919 0 R (HD.1173) 1920 0 R (HD.1174) 1921 0 R (HD.1175) 1922 0 R (HD.1176) 1923 0 R (HD.1177) 1924 0 R (HD.1178) 1925 0 R (HD.1179) 1926 0 R (HD.118) 761 0 R (HD.1180) 1927 0 R (HD.1181) 1928 0 R (HD.1182) 1929 0 R (HD.1183) 1930 0 R (HD.1184) 1931 0 R (HD.1185) 1932 0 R (HD.1186) 1933 0 R (HD.1187) 1934 0 R (HD.1188) 1935 0 R (HD.1189) 1936 0 R (HD.119) 762 0 R (HD.1190) 1937 0 R (HD.1191) 1938 0 R (HD.1192) 1939 0 R (HD.1193) 1940 0 R (HD.1194) 1941 0 R (HD.1195) 1942 0 R (HD.1196) 1943 0 R (HD.1197) 1944 0 R (HD.1198) 1945 0 R (HD.1199) 1946 0 R ] /Limits [ (HD.1170) (HD.1199) ] >>
+<< /Names [ (HD.1055) 1802 0 R (HD.1056) 1803 0 R (HD.1057) 1804 0 R (HD.1058) 1805 0 R (HD.1059) 1806 0 R (HD.106) 757 0 R (HD.1060) 1807 0 R (HD.1061) 1808 0 R (HD.1062) 1809 0 R (HD.1063) 1810 0 R (HD.1064) 1811 0 R (HD.1065) 1812 0 R (HD.1066) 1813 0 R (HD.1067) 1814 0 R (HD.1068) 1815 0 R (HD.1069) 1816 0 R (HD.107) 758 0 R (HD.1070) 1817 0 R (HD.1071) 1818 0 R (HD.1072) 1819 0 R (HD.1073) 1820 0 R (HD.1074) 1821 0 R (HD.1075) 1822 0 R (HD.1076) 1823 0 R (HD.1077) 1824 0 R (HD.1078) 1825 0 R (HD.1079) 1826 0 R (HD.108) 759 0 R (HD.1080) 1827 0 R (HD.1081) 1828 0 R (HD.1082) 1829 0 R (HD.1083) 1830 0 R ] /Limits [ (HD.1055) (HD.1083) ] >>
endobj
4539 0 obj
-<< /Names [ (HD.12) 647 0 R (HD.120) 763 0 R (HD.1200) 1947 0 R (HD.1201) 1948 0 R (HD.1202) 1949 0 R (HD.1203) 1950 0 R (HD.1204) 1951 0 R (HD.1205) 1956 0 R (HD.1206) 1957 0 R (HD.1207) 1958 0 R (HD.1208) 1959 0 R (HD.1209) 1960 0 R (HD.121) 764 0 R (HD.1210) 1961 0 R (HD.1211) 1962 0 R (HD.1212) 1963 0 R (HD.1213) 1964 0 R (HD.1214) 1965 0 R (HD.1215) 1966 0 R (HD.1216) 1967 0 R (HD.1217) 1968 0 R (HD.1218) 1969 0 R (HD.1219) 1970 0 R (HD.122) 765 0 R (HD.1220) 1971 0 R (HD.1221) 1972 0 R (HD.1222) 1973 0 R (HD.1223) 1974 0 R (HD.1224) 1975 0 R (HD.1225) 1976 0 R (HD.1226) 1977 0 R (HD.1227) 1978 0 R ] /Limits [ (HD.12) (HD.1227) ] >>
+<< /Names [ (HD.1084) 1831 0 R (HD.1085) 1832 0 R (HD.1086) 1833 0 R (HD.1087) 1834 0 R (HD.1088) 1835 0 R (HD.1089) 1840 0 R (HD.109) 760 0 R (HD.1090) 1841 0 R (HD.1091) 1842 0 R (HD.1092) 1843 0 R (HD.1093) 1844 0 R (HD.1094) 1845 0 R (HD.1095) 1846 0 R (HD.1096) 1847 0 R (HD.1097) 1848 0 R (HD.1098) 1849 0 R (HD.1099) 1850 0 R (HD.11) 654 0 R (HD.110) 761 0 R (HD.1100) 1851 0 R (HD.1101) 1852 0 R (HD.1102) 1853 0 R (HD.1103) 1854 0 R (HD.1104) 1855 0 R (HD.1105) 1856 0 R (HD.1106) 1857 0 R (HD.1107) 1858 0 R (HD.1108) 1859 0 R (HD.1109) 1860 0 R (HD.111) 762 0 R (HD.1110) 1861 0 R (HD.1111) 1862 0 R ] /Limits [ (HD.1084) (HD.1111) ] >>
endobj
4540 0 obj
-<< /Names [ (HD.1228) 1979 0 R (HD.1229) 1980 0 R (HD.123) 766 0 R (HD.1230) 1981 0 R (HD.1231) 1982 0 R (HD.1232) 1983 0 R (HD.1233) 1984 0 R (HD.1234) 1985 0 R (HD.1235) 1986 0 R (HD.1236) 1987 0 R (HD.1237) 1988 0 R (HD.1238) 1989 0 R (HD.1239) 1990 0 R (HD.124) 767 0 R (HD.1240) 1991 0 R (HD.1241) 1992 0 R (HD.1242) 1993 0 R (HD.1243) 1994 0 R (HD.1244) 1995 0 R (HD.1245) 1996 0 R (HD.1246) 1997 0 R (HD.1247) 1998 0 R (HD.1248) 1999 0 R (HD.1249) 2000 0 R (HD.125) 768 0 R (HD.1250) 2001 0 R (HD.1251) 2002 0 R (HD.1252) 2003 0 R (HD.1253) 2004 0 R (HD.1254) 2005 0 R (HD.1255) 2006 0 R (HD.1256) 2011 0 R ] /Limits [ (HD.1228) (HD.1256) ] >>
+<< /Names [ (HD.1112) 1863 0 R (HD.1113) 1864 0 R (HD.1114) 1865 0 R (HD.1115) 1866 0 R (HD.1116) 1867 0 R (HD.1117) 1868 0 R (HD.1118) 1869 0 R (HD.1119) 1870 0 R (HD.112) 763 0 R (HD.1120) 1871 0 R (HD.1121) 1872 0 R (HD.1122) 1873 0 R (HD.1123) 1874 0 R (HD.1124) 1875 0 R (HD.1125) 1876 0 R (HD.1126) 1877 0 R (HD.1127) 1878 0 R (HD.1128) 1879 0 R (HD.1129) 1880 0 R (HD.113) 764 0 R (HD.1130) 1881 0 R (HD.1131) 1882 0 R (HD.1132) 1883 0 R (HD.1133) 1884 0 R (HD.1134) 1889 0 R (HD.1135) 1890 0 R (HD.1136) 1891 0 R (HD.1137) 1892 0 R (HD.1138) 1893 0 R (HD.1139) 1894 0 R (HD.114) 765 0 R (HD.1140) 1895 0 R ] /Limits [ (HD.1112) (HD.1140) ] >>
endobj
4541 0 obj
-<< /Names [ (HD.1257) 2012 0 R (HD.1258) 2013 0 R (HD.1259) 2014 0 R (HD.126) 769 0 R (HD.1260) 2015 0 R (HD.1261) 2016 0 R (HD.1262) 2017 0 R (HD.1263) 2018 0 R (HD.1264) 2019 0 R (HD.1265) 2020 0 R (HD.1266) 2021 0 R (HD.1267) 2022 0 R (HD.1268) 2023 0 R (HD.1269) 2024 0 R (HD.127) 770 0 R (HD.1270) 2025 0 R (HD.1271) 2026 0 R (HD.1272) 2027 0 R (HD.1273) 2028 0 R (HD.1274) 2029 0 R (HD.1275) 2030 0 R (HD.1276) 2031 0 R (HD.1277) 2032 0 R (HD.1278) 2033 0 R (HD.1279) 2034 0 R (HD.128) 771 0 R (HD.1280) 2035 0 R (HD.1281) 2036 0 R (HD.1282) 2037 0 R (HD.1283) 2038 0 R (HD.1284) 2039 0 R (HD.1285) 2040 0 R ] /Limits [ (HD.1257) (HD.1285) ] >>
+<< /Names [ (HD.1141) 1896 0 R (HD.1142) 1897 0 R (HD.1143) 1898 0 R (HD.1144) 1899 0 R (HD.1145) 1900 0 R (HD.1146) 1901 0 R (HD.1147) 1902 0 R (HD.1148) 1903 0 R (HD.1149) 1904 0 R (HD.115) 766 0 R (HD.1150) 1905 0 R (HD.1151) 1906 0 R (HD.1152) 1907 0 R (HD.1153) 1908 0 R (HD.1154) 1909 0 R (HD.1155) 1910 0 R (HD.1156) 1911 0 R (HD.1157) 1912 0 R (HD.1158) 1913 0 R (HD.1159) 1914 0 R (HD.116) 767 0 R (HD.1160) 1915 0 R (HD.1161) 1916 0 R (HD.1162) 1917 0 R (HD.1163) 1918 0 R (HD.1164) 1919 0 R (HD.1165) 1920 0 R (HD.1166) 1921 0 R (HD.1167) 1922 0 R (HD.1168) 1923 0 R (HD.1169) 1924 0 R (HD.117) 768 0 R ] /Limits [ (HD.1141) (HD.117) ] >>
endobj
4542 0 obj
-<< /Names [ (HD.1286) 2041 0 R (HD.1287) 2042 0 R (HD.1288) 2043 0 R (HD.1289) 2044 0 R (HD.129) 772 0 R (HD.1290) 2045 0 R (HD.1291) 2046 0 R (HD.1292) 2047 0 R (HD.1293) 2048 0 R (HD.1294) 2049 0 R (HD.1295) 2050 0 R (HD.1296) 2051 0 R (HD.1297) 2052 0 R (HD.1298) 2053 0 R (HD.1299) 2054 0 R (HD.13) 648 0 R (HD.130) 773 0 R (HD.1300) 2059 0 R (HD.1301) 2060 0 R (HD.1302) 2061 0 R (HD.1303) 2062 0 R (HD.1304) 2063 0 R (HD.1305) 2064 0 R (HD.1306) 2065 0 R (HD.1307) 2066 0 R (HD.1308) 2067 0 R (HD.1309) 2068 0 R (HD.131) 774 0 R (HD.1310) 2069 0 R (HD.1311) 2070 0 R (HD.1312) 2071 0 R (HD.1313) 2072 0 R ] /Limits [ (HD.1286) (HD.1313) ] >>
+<< /Names [ (HD.1170) 1925 0 R (HD.1171) 1926 0 R (HD.1172) 1927 0 R (HD.1173) 1928 0 R (HD.1174) 1929 0 R (HD.1175) 1930 0 R (HD.1176) 1931 0 R (HD.1177) 1932 0 R (HD.1178) 1933 0 R (HD.1179) 1934 0 R (HD.118) 769 0 R (HD.1180) 1935 0 R (HD.1181) 1936 0 R (HD.1182) 1937 0 R (HD.1183) 1938 0 R (HD.1184) 1939 0 R (HD.1185) 1940 0 R (HD.1186) 1941 0 R (HD.1187) 1942 0 R (HD.1188) 1943 0 R (HD.1189) 1944 0 R (HD.119) 770 0 R (HD.1190) 1945 0 R (HD.1191) 1946 0 R (HD.1192) 1947 0 R (HD.1193) 1948 0 R (HD.1194) 1949 0 R (HD.1195) 1950 0 R (HD.1196) 1955 0 R (HD.1197) 1956 0 R (HD.1198) 1957 0 R (HD.1199) 1958 0 R ] /Limits [ (HD.1170) (HD.1199) ] >>
endobj
4543 0 obj
-<< /Names [ (HD.1314) 2073 0 R (HD.1315) 2074 0 R (HD.1316) 2075 0 R (HD.1317) 2076 0 R (HD.1318) 2077 0 R (HD.1319) 2078 0 R (HD.132) 775 0 R (HD.1320) 2079 0 R (HD.1321) 2080 0 R (HD.1322) 2081 0 R (HD.1323) 2082 0 R (HD.1324) 2083 0 R (HD.1325) 2084 0 R (HD.1326) 2085 0 R (HD.1327) 2086 0 R (HD.1328) 2087 0 R (HD.1329) 2088 0 R (HD.133) 776 0 R (HD.1330) 2089 0 R (HD.1331) 2090 0 R (HD.1332) 2091 0 R (HD.1333) 2092 0 R (HD.1334) 2093 0 R (HD.1335) 2094 0 R (HD.1336) 2095 0 R (HD.1337) 2096 0 R (HD.1338) 2097 0 R (HD.1339) 2098 0 R (HD.134) 777 0 R (HD.1340) 2104 0 R (HD.1341) 2105 0 R (HD.1342) 2106 0 R ] /Limits [ (HD.1314) (HD.1342) ] >>
+<< /Names [ (HD.12) 655 0 R (HD.120) 771 0 R (HD.1200) 1959 0 R (HD.1201) 1960 0 R (HD.1202) 1961 0 R (HD.1203) 1962 0 R (HD.1204) 1963 0 R (HD.1205) 1964 0 R (HD.1206) 1965 0 R (HD.1207) 1966 0 R (HD.1208) 1967 0 R (HD.1209) 1968 0 R (HD.121) 772 0 R (HD.1210) 1969 0 R (HD.1211) 1970 0 R (HD.1212) 1971 0 R (HD.1213) 1972 0 R (HD.1214) 1973 0 R (HD.1215) 1974 0 R (HD.1216) 1975 0 R (HD.1217) 1976 0 R (HD.1218) 1977 0 R (HD.1219) 1978 0 R (HD.122) 773 0 R (HD.1220) 1979 0 R (HD.1221) 1980 0 R (HD.1222) 1981 0 R (HD.1223) 1982 0 R (HD.1224) 1983 0 R (HD.1225) 1984 0 R (HD.1226) 1985 0 R (HD.1227) 1986 0 R ] /Limits [ (HD.12) (HD.1227) ] >>
endobj
4544 0 obj
-<< /Names [ (HD.1343) 2107 0 R (HD.1344) 2108 0 R (HD.1345) 2109 0 R (HD.1346) 2110 0 R (HD.1347) 2111 0 R (HD.1348) 2112 0 R (HD.1349) 2113 0 R (HD.135) 782 0 R (HD.1350) 2114 0 R (HD.1351) 2115 0 R (HD.1352) 2116 0 R (HD.1353) 2117 0 R (HD.1354) 2118 0 R (HD.1355) 2119 0 R (HD.1356) 2120 0 R (HD.1357) 2121 0 R (HD.1358) 2122 0 R (HD.1359) 2123 0 R (HD.136) 783 0 R (HD.1360) 2124 0 R (HD.1361) 2125 0 R (HD.1362) 2126 0 R (HD.1363) 2127 0 R (HD.1364) 2128 0 R (HD.1365) 2129 0 R (HD.1366) 2130 0 R (HD.1367) 2131 0 R (HD.1368) 2132 0 R (HD.1369) 2133 0 R (HD.137) 784 0 R (HD.1370) 2134 0 R (HD.1371) 2135 0 R ] /Limits [ (HD.1343) (HD.1371) ] >>
+<< /Names [ (HD.1228) 1987 0 R (HD.1229) 1988 0 R (HD.123) 774 0 R (HD.1230) 1989 0 R (HD.1231) 1990 0 R (HD.1232) 1991 0 R (HD.1233) 1992 0 R (HD.1234) 1993 0 R (HD.1235) 1994 0 R (HD.1236) 1995 0 R (HD.1237) 1996 0 R (HD.1238) 1997 0 R (HD.1239) 1998 0 R (HD.124) 775 0 R (HD.1240) 1999 0 R (HD.1241) 2000 0 R (HD.1242) 2001 0 R (HD.1243) 2006 0 R (HD.1244) 2007 0 R (HD.1245) 2008 0 R (HD.1246) 2009 0 R (HD.1247) 2010 0 R (HD.1248) 2011 0 R (HD.1249) 2012 0 R (HD.125) 776 0 R (HD.1250) 2013 0 R (HD.1251) 2014 0 R (HD.1252) 2015 0 R (HD.1253) 2016 0 R (HD.1254) 2017 0 R (HD.1255) 2018 0 R (HD.1256) 2019 0 R ] /Limits [ (HD.1228) (HD.1256) ] >>
endobj
4545 0 obj
-<< /Names [ (HD.1372) 2136 0 R (HD.1373) 2137 0 R (HD.1374) 2138 0 R (HD.1375) 2139 0 R (HD.1376) 2140 0 R (HD.1377) 2141 0 R (HD.1378) 2142 0 R (HD.1379) 2143 0 R (HD.138) 785 0 R (HD.1380) 2144 0 R (HD.1381) 2145 0 R (HD.1382) 2146 0 R (HD.1383) 2147 0 R (HD.1384) 2148 0 R (HD.1385) 2149 0 R (HD.1386) 2150 0 R (HD.1387) 2151 0 R (HD.1388) 2152 0 R (HD.1389) 2153 0 R (HD.139) 786 0 R (HD.1390) 2154 0 R (HD.1391) 2155 0 R (HD.1392) 2156 0 R (HD.1393) 2157 0 R (HD.1394) 2158 0 R (HD.1395) 2163 0 R (HD.1396) 2164 0 R (HD.1397) 2165 0 R (HD.1398) 2166 0 R (HD.1399) 2167 0 R (HD.14) 649 0 R (HD.140) 787 0 R ] /Limits [ (HD.1372) (HD.140) ] >>
+<< /Names [ (HD.1257) 2020 0 R (HD.1258) 2021 0 R (HD.1259) 2022 0 R (HD.126) 777 0 R (HD.1260) 2023 0 R (HD.1261) 2024 0 R (HD.1262) 2025 0 R (HD.1263) 2026 0 R (HD.1264) 2027 0 R (HD.1265) 2028 0 R (HD.1266) 2029 0 R (HD.1267) 2030 0 R (HD.1268) 2031 0 R (HD.1269) 2032 0 R (HD.127) 778 0 R (HD.1270) 2033 0 R (HD.1271) 2034 0 R (HD.1272) 2035 0 R (HD.1273) 2036 0 R (HD.1274) 2037 0 R (HD.1275) 2038 0 R (HD.1276) 2039 0 R (HD.1277) 2040 0 R (HD.1278) 2046 0 R (HD.1279) 2047 0 R (HD.128) 779 0 R (HD.1280) 2048 0 R (HD.1281) 2049 0 R (HD.1282) 2050 0 R (HD.1283) 2051 0 R (HD.1284) 2052 0 R (HD.1285) 2053 0 R ] /Limits [ (HD.1257) (HD.1285) ] >>
endobj
4546 0 obj
-<< /Names [ (HD.1400) 2168 0 R (HD.1401) 2169 0 R (HD.1402) 2170 0 R (HD.1403) 2171 0 R (HD.1404) 2172 0 R (HD.1405) 2173 0 R (HD.1406) 2174 0 R (HD.1407) 2175 0 R (HD.1408) 2176 0 R (HD.1409) 2177 0 R (HD.141) 788 0 R (HD.1410) 2178 0 R (HD.1411) 2179 0 R (HD.1412) 2180 0 R (HD.1413) 2181 0 R (HD.1414) 2182 0 R (HD.1415) 2183 0 R (HD.1416) 2184 0 R (HD.1417) 2185 0 R (HD.1418) 2186 0 R (HD.1419) 2187 0 R (HD.142) 789 0 R (HD.1420) 2188 0 R (HD.1421) 2189 0 R (HD.1422) 2190 0 R (HD.1423) 2191 0 R (HD.1424) 2192 0 R (HD.1425) 2193 0 R (HD.1426) 2194 0 R (HD.1427) 2195 0 R (HD.1428) 2196 0 R (HD.1429) 2197 0 R ] /Limits [ (HD.1400) (HD.1429) ] >>
+<< /Names [ (HD.1286) 2054 0 R (HD.1287) 2055 0 R (HD.1288) 2056 0 R (HD.1289) 2057 0 R (HD.129) 780 0 R (HD.1290) 2058 0 R (HD.1291) 2059 0 R (HD.1292) 2060 0 R (HD.1293) 2061 0 R (HD.1294) 2062 0 R (HD.1295) 2063 0 R (HD.1296) 2064 0 R (HD.1297) 2065 0 R (HD.1298) 2066 0 R (HD.1299) 2067 0 R (HD.13) 656 0 R (HD.130) 781 0 R (HD.1300) 2068 0 R (HD.1301) 2069 0 R (HD.1302) 2070 0 R (HD.1303) 2071 0 R (HD.1304) 2072 0 R (HD.1305) 2073 0 R (HD.1306) 2074 0 R (HD.1307) 2075 0 R (HD.1308) 2076 0 R (HD.1309) 2077 0 R (HD.131) 782 0 R (HD.1310) 2078 0 R (HD.1311) 2079 0 R (HD.1312) 2080 0 R (HD.1313) 2081 0 R ] /Limits [ (HD.1286) (HD.1313) ] >>
endobj
4547 0 obj
-<< /Names [ (HD.143) 790 0 R (HD.1430) 2198 0 R (HD.1431) 2199 0 R (HD.1432) 2200 0 R (HD.1433) 2201 0 R (HD.1434) 2202 0 R (HD.1435) 2203 0 R (HD.1436) 2204 0 R (HD.1437) 2205 0 R (HD.1438) 2206 0 R (HD.1439) 2207 0 R (HD.144) 791 0 R (HD.1440) 2208 0 R (HD.1441) 2209 0 R (HD.1442) 2210 0 R (HD.1443) 2211 0 R (HD.1444) 2212 0 R (HD.1445) 2213 0 R (HD.1446) 2214 0 R (HD.1447) 2215 0 R (HD.1448) 2216 0 R (HD.1449) 2217 0 R (HD.145) 792 0 R (HD.1450) 2218 0 R (HD.1451) 2219 0 R (HD.1452) 2220 0 R (HD.1453) 2221 0 R (HD.1454) 2222 0 R (HD.1455) 2223 0 R (HD.1456) 2228 0 R (HD.1457) 2229 0 R (HD.1458) 2230 0 R ] /Limits [ (HD.143) (HD.1458) ] >>
+<< /Names [ (HD.1314) 2082 0 R (HD.1315) 2083 0 R (HD.1316) 2084 0 R (HD.1317) 2085 0 R (HD.1318) 2086 0 R (HD.1319) 2087 0 R (HD.132) 787 0 R (HD.1320) 2088 0 R (HD.1321) 2089 0 R (HD.1322) 2090 0 R (HD.1323) 2091 0 R (HD.1324) 2092 0 R (HD.1325) 2097 0 R (HD.1326) 2098 0 R (HD.1327) 2099 0 R (HD.1328) 2100 0 R (HD.1329) 2101 0 R (HD.133) 788 0 R (HD.1330) 2102 0 R (HD.1331) 2103 0 R (HD.1332) 2104 0 R (HD.1333) 2105 0 R (HD.1334) 2106 0 R (HD.1335) 2107 0 R (HD.1336) 2108 0 R (HD.1337) 2109 0 R (HD.1338) 2110 0 R (HD.1339) 2111 0 R (HD.134) 789 0 R (HD.1340) 2112 0 R (HD.1341) 2113 0 R (HD.1342) 2114 0 R ] /Limits [ (HD.1314) (HD.1342) ] >>
endobj
4548 0 obj
-<< /Names [ (HD.1459) 2231 0 R (HD.146) 793 0 R (HD.1460) 2232 0 R (HD.1461) 2233 0 R (HD.1462) 2234 0 R (HD.1463) 2235 0 R (HD.1464) 2236 0 R (HD.1465) 2237 0 R (HD.1466) 2238 0 R (HD.1467) 2239 0 R (HD.1468) 2240 0 R (HD.1469) 2241 0 R (HD.147) 794 0 R (HD.1470) 2242 0 R (HD.1471) 2243 0 R (HD.1472) 2244 0 R (HD.1473) 2245 0 R (HD.1474) 2246 0 R (HD.1475) 2247 0 R (HD.1476) 2248 0 R (HD.1477) 2249 0 R (HD.1478) 2250 0 R (HD.1479) 2251 0 R (HD.148) 795 0 R (HD.1480) 2252 0 R (HD.1481) 2253 0 R (HD.1482) 2254 0 R (HD.1483) 2255 0 R (HD.1484) 2256 0 R (HD.1485) 2257 0 R (HD.1486) 2258 0 R (HD.1487) 2259 0 R ] /Limits [ (HD.1459) (HD.1487) ] >>
+<< /Names [ (HD.1343) 2115 0 R (HD.1344) 2116 0 R (HD.1345) 2117 0 R (HD.1346) 2118 0 R (HD.1347) 2119 0 R (HD.1348) 2120 0 R (HD.1349) 2121 0 R (HD.135) 790 0 R (HD.1350) 2122 0 R (HD.1351) 2123 0 R (HD.1352) 2124 0 R (HD.1353) 2125 0 R (HD.1354) 2126 0 R (HD.1355) 2127 0 R (HD.1356) 2128 0 R (HD.1357) 2129 0 R (HD.1358) 2130 0 R (HD.1359) 2131 0 R (HD.136) 791 0 R (HD.1360) 2132 0 R (HD.1361) 2133 0 R (HD.1362) 2134 0 R (HD.1363) 2135 0 R (HD.1364) 2136 0 R (HD.1365) 2137 0 R (HD.1366) 2138 0 R (HD.1367) 2139 0 R (HD.1368) 2140 0 R (HD.1369) 2141 0 R (HD.137) 792 0 R (HD.1370) 2142 0 R (HD.1371) 2143 0 R ] /Limits [ (HD.1343) (HD.1371) ] >>
endobj
4549 0 obj
-<< /Names [ (HD.1488) 2260 0 R (HD.1489) 2261 0 R (HD.149) 796 0 R (HD.1490) 2262 0 R (HD.1491) 2263 0 R (HD.1492) 2264 0 R (HD.1493) 2265 0 R (HD.1494) 2266 0 R (HD.1495) 2267 0 R (HD.1496) 2268 0 R (HD.1497) 2269 0 R (HD.1498) 2270 0 R (HD.1499) 2271 0 R (HD.15) 650 0 R (HD.150) 797 0 R (HD.1500) 2272 0 R (HD.1501) 2273 0 R (HD.1502) 2274 0 R (HD.1503) 2275 0 R (HD.1504) 2276 0 R (HD.1505) 2277 0 R (HD.1506) 2278 0 R (HD.1507) 2279 0 R (HD.1508) 2280 0 R (HD.1509) 2281 0 R (HD.151) 798 0 R (HD.1510) 2286 0 R (HD.1511) 2287 0 R (HD.1512) 2288 0 R (HD.1513) 2289 0 R (HD.1514) 2290 0 R (HD.1515) 2291 0 R ] /Limits [ (HD.1488) (HD.1515) ] >>
+<< /Names [ (HD.1372) 2144 0 R (HD.1373) 2145 0 R (HD.1374) 2146 0 R (HD.1375) 2147 0 R (HD.1376) 2148 0 R (HD.1377) 2149 0 R (HD.1378) 2150 0 R (HD.1379) 2151 0 R (HD.138) 793 0 R (HD.1380) 2152 0 R (HD.1381) 2153 0 R (HD.1382) 2154 0 R (HD.1383) 2159 0 R (HD.1384) 2160 0 R (HD.1385) 2161 0 R (HD.1386) 2162 0 R (HD.1387) 2163 0 R (HD.1388) 2164 0 R (HD.1389) 2165 0 R (HD.139) 794 0 R (HD.1390) 2166 0 R (HD.1391) 2167 0 R (HD.1392) 2168 0 R (HD.1393) 2169 0 R (HD.1394) 2170 0 R (HD.1395) 2171 0 R (HD.1396) 2172 0 R (HD.1397) 2173 0 R (HD.1398) 2174 0 R (HD.1399) 2175 0 R (HD.14) 657 0 R (HD.140) 795 0 R ] /Limits [ (HD.1372) (HD.140) ] >>
endobj
4550 0 obj
-<< /Names [ (HD.1516) 2292 0 R (HD.1517) 2293 0 R (HD.1518) 2294 0 R (HD.1519) 2295 0 R (HD.152) 799 0 R (HD.1520) 2296 0 R (HD.1521) 2297 0 R (HD.1522) 2298 0 R (HD.1523) 2299 0 R (HD.1524) 2300 0 R (HD.1525) 2301 0 R (HD.1526) 2302 0 R (HD.1527) 2303 0 R (HD.1528) 2304 0 R (HD.1529) 2305 0 R (HD.153) 800 0 R (HD.1530) 2306 0 R (HD.1531) 2307 0 R (HD.1532) 2308 0 R (HD.1533) 2309 0 R (HD.1534) 2310 0 R (HD.1535) 2311 0 R (HD.1536) 2312 0 R (HD.1537) 2314 0 R (HD.1538) 2315 0 R (HD.1539) 2316 0 R (HD.154) 801 0 R (HD.1540) 2317 0 R (HD.1541) 2318 0 R (HD.1542) 2319 0 R (HD.1543) 2320 0 R (HD.1544) 2321 0 R ] /Limits [ (HD.1516) (HD.1544) ] >>
+<< /Names [ (HD.1400) 2176 0 R (HD.1401) 2177 0 R (HD.1402) 2178 0 R (HD.1403) 2179 0 R (HD.1404) 2180 0 R (HD.1405) 2181 0 R (HD.1406) 2182 0 R (HD.1407) 2183 0 R (HD.1408) 2184 0 R (HD.1409) 2185 0 R (HD.141) 796 0 R (HD.1410) 2186 0 R (HD.1411) 2187 0 R (HD.1412) 2188 0 R (HD.1413) 2189 0 R (HD.1414) 2190 0 R (HD.1415) 2191 0 R (HD.1416) 2192 0 R (HD.1417) 2193 0 R (HD.1418) 2194 0 R (HD.1419) 2195 0 R (HD.142) 797 0 R (HD.1420) 2196 0 R (HD.1421) 2197 0 R (HD.1422) 2198 0 R (HD.1423) 2199 0 R (HD.1424) 2200 0 R (HD.1425) 2201 0 R (HD.1426) 2202 0 R (HD.1427) 2203 0 R (HD.1428) 2204 0 R (HD.1429) 2205 0 R ] /Limits [ (HD.1400) (HD.1429) ] >>
endobj
4551 0 obj
-<< /Names [ (HD.1545) 2322 0 R (HD.1546) 2323 0 R (HD.1547) 2324 0 R (HD.1548) 2325 0 R (HD.1549) 2326 0 R (HD.155) 802 0 R (HD.1550) 2327 0 R (HD.1551) 2328 0 R (HD.1552) 2329 0 R (HD.1553) 2330 0 R (HD.1554) 2331 0 R (HD.1555) 2332 0 R (HD.1556) 2333 0 R (HD.1557) 2338 0 R (HD.1558) 2339 0 R (HD.1559) 2340 0 R (HD.156) 803 0 R (HD.1560) 2341 0 R (HD.1561) 2342 0 R (HD.1562) 2343 0 R (HD.1563) 2344 0 R (HD.1564) 2345 0 R (HD.1565) 2346 0 R (HD.1566) 2347 0 R (HD.1567) 2348 0 R (HD.1568) 2349 0 R (HD.1569) 2350 0 R (HD.157) 804 0 R (HD.1570) 2351 0 R (HD.1571) 2352 0 R (HD.1572) 2353 0 R (HD.1573) 2354 0 R ] /Limits [ (HD.1545) (HD.1573) ] >>
+<< /Names [ (HD.143) 798 0 R (HD.1430) 2206 0 R (HD.1431) 2207 0 R (HD.1432) 2208 0 R (HD.1433) 2209 0 R (HD.1434) 2210 0 R (HD.1435) 2211 0 R (HD.1436) 2212 0 R (HD.1437) 2213 0 R (HD.1438) 2214 0 R (HD.1439) 2215 0 R (HD.144) 799 0 R (HD.1440) 2216 0 R (HD.1441) 2217 0 R (HD.1442) 2222 0 R (HD.1443) 2223 0 R (HD.1444) 2224 0 R (HD.1445) 2225 0 R (HD.1446) 2226 0 R (HD.1447) 2227 0 R (HD.1448) 2228 0 R (HD.1449) 2229 0 R (HD.145) 800 0 R (HD.1450) 2230 0 R (HD.1451) 2231 0 R (HD.1452) 2232 0 R (HD.1453) 2233 0 R (HD.1454) 2234 0 R (HD.1455) 2235 0 R (HD.1456) 2236 0 R (HD.1457) 2237 0 R (HD.1458) 2238 0 R ] /Limits [ (HD.143) (HD.1458) ] >>
endobj
4552 0 obj
-<< /Names [ (HD.1574) 2355 0 R (HD.1575) 2356 0 R (HD.1576) 2357 0 R (HD.1577) 2358 0 R (HD.1578) 2359 0 R (HD.1579) 2360 0 R (HD.158) 805 0 R (HD.1580) 2361 0 R (HD.1581) 2362 0 R (HD.1582) 2363 0 R (HD.1583) 2368 0 R (HD.1584) 2369 0 R (HD.1585) 2370 0 R (HD.1586) 2371 0 R (HD.1587) 2372 0 R (HD.1588) 2373 0 R (HD.1589) 2374 0 R (HD.159) 810 0 R (HD.1590) 2375 0 R (HD.1591) 2376 0 R (HD.1592) 2377 0 R (HD.1593) 2378 0 R (HD.1594) 2379 0 R (HD.1595) 2380 0 R (HD.1596) 2381 0 R (HD.1597) 2382 0 R (HD.1598) 2383 0 R (HD.1599) 2384 0 R (HD.16) 651 0 R (HD.160) 811 0 R (HD.1600) 2385 0 R (HD.1601) 2386 0 R ] /Limits [ (HD.1574) (HD.1601) ] >>
+<< /Names [ (HD.1459) 2239 0 R (HD.146) 801 0 R (HD.1460) 2240 0 R (HD.1461) 2241 0 R (HD.1462) 2242 0 R (HD.1463) 2243 0 R (HD.1464) 2244 0 R (HD.1465) 2245 0 R (HD.1466) 2246 0 R (HD.1467) 2247 0 R (HD.1468) 2248 0 R (HD.1469) 2249 0 R (HD.147) 802 0 R (HD.1470) 2250 0 R (HD.1471) 2251 0 R (HD.1472) 2252 0 R (HD.1473) 2253 0 R (HD.1474) 2254 0 R (HD.1475) 2255 0 R (HD.1476) 2256 0 R (HD.1477) 2257 0 R (HD.1478) 2258 0 R (HD.1479) 2259 0 R (HD.148) 803 0 R (HD.1480) 2260 0 R (HD.1481) 2261 0 R (HD.1482) 2262 0 R (HD.1483) 2263 0 R (HD.1484) 2264 0 R (HD.1485) 2265 0 R (HD.1486) 2266 0 R (HD.1487) 2267 0 R ] /Limits [ (HD.1459) (HD.1487) ] >>
endobj
4553 0 obj
-<< /Names [ (HD.1602) 2387 0 R (HD.1603) 2388 0 R (HD.1604) 2389 0 R (HD.1605) 2390 0 R (HD.1606) 2391 0 R (HD.1607) 2393 0 R (HD.1608) 2394 0 R (HD.1609) 2395 0 R (HD.161) 812 0 R (HD.1610) 2396 0 R (HD.1611) 2397 0 R (HD.1612) 2398 0 R (HD.1613) 2399 0 R (HD.1614) 2400 0 R (HD.1615) 2401 0 R (HD.1616) 2406 0 R (HD.1617) 2407 0 R (HD.1618) 2408 0 R (HD.1619) 2409 0 R (HD.162) 813 0 R (HD.1620) 2410 0 R (HD.1621) 2411 0 R (HD.1622) 2412 0 R (HD.1623) 2413 0 R (HD.1624) 2414 0 R (HD.1625) 2415 0 R (HD.1626) 2416 0 R (HD.1627) 2417 0 R (HD.1628) 2418 0 R (HD.1629) 2419 0 R (HD.163) 814 0 R (HD.1630) 2420 0 R ] /Limits [ (HD.1602) (HD.1630) ] >>
+<< /Names [ (HD.1488) 2268 0 R (HD.1489) 2269 0 R (HD.149) 804 0 R (HD.1490) 2270 0 R (HD.1491) 2271 0 R (HD.1492) 2276 0 R (HD.1493) 2277 0 R (HD.1494) 2278 0 R (HD.1495) 2279 0 R (HD.1496) 2280 0 R (HD.1497) 2281 0 R (HD.1498) 2282 0 R (HD.1499) 2283 0 R (HD.15) 658 0 R (HD.150) 805 0 R (HD.1500) 2284 0 R (HD.1501) 2285 0 R (HD.1502) 2286 0 R (HD.1503) 2287 0 R (HD.1504) 2288 0 R (HD.1505) 2289 0 R (HD.1506) 2290 0 R (HD.1507) 2291 0 R (HD.1508) 2292 0 R (HD.1509) 2293 0 R (HD.151) 806 0 R (HD.1510) 2294 0 R (HD.1511) 2295 0 R (HD.1512) 2296 0 R (HD.1513) 2297 0 R (HD.1514) 2298 0 R (HD.1515) 2299 0 R ] /Limits [ (HD.1488) (HD.1515) ] >>
endobj
4554 0 obj
-<< /Names [ (HD.1631) 2421 0 R (HD.1632) 2422 0 R (HD.1633) 2423 0 R (HD.1634) 2424 0 R (HD.1635) 2425 0 R (HD.1636) 2426 0 R (HD.1637) 2427 0 R (HD.1638) 2428 0 R (HD.1639) 2429 0 R (HD.164) 815 0 R (HD.1640) 2430 0 R (HD.1641) 2431 0 R (HD.1642) 2432 0 R (HD.1643) 2433 0 R (HD.1644) 2434 0 R (HD.1645) 2435 0 R (HD.1646) 2436 0 R (HD.1647) 2437 0 R (HD.1648) 2438 0 R (HD.1649) 2439 0 R (HD.165) 816 0 R (HD.1650) 2440 0 R (HD.1651) 2441 0 R (HD.1652) 2447 0 R (HD.1653) 2448 0 R (HD.1654) 2449 0 R (HD.1655) 2450 0 R (HD.1656) 2451 0 R (HD.1657) 2452 0 R (HD.1658) 2453 0 R (HD.1659) 2454 0 R (HD.166) 817 0 R ] /Limits [ (HD.1631) (HD.166) ] >>
+<< /Names [ (HD.1516) 2300 0 R (HD.1517) 2301 0 R (HD.1518) 2302 0 R (HD.1519) 2303 0 R (HD.152) 807 0 R (HD.1520) 2304 0 R (HD.1521) 2305 0 R (HD.1522) 2306 0 R (HD.1523) 2307 0 R (HD.1524) 2308 0 R (HD.1525) 2309 0 R (HD.1526) 2311 0 R (HD.1527) 2312 0 R (HD.1528) 2313 0 R (HD.1529) 2314 0 R (HD.153) 808 0 R (HD.1530) 2315 0 R (HD.1531) 2316 0 R (HD.1532) 2317 0 R (HD.1533) 2318 0 R (HD.1534) 2319 0 R (HD.1535) 2324 0 R (HD.1536) 2325 0 R (HD.1537) 2326 0 R (HD.1538) 2327 0 R (HD.1539) 2328 0 R (HD.154) 813 0 R (HD.1540) 2329 0 R (HD.1541) 2330 0 R (HD.1542) 2331 0 R (HD.1543) 2332 0 R (HD.1544) 2333 0 R ] /Limits [ (HD.1516) (HD.1544) ] >>
endobj
4555 0 obj
-<< /Names [ (HD.1660) 2455 0 R (HD.1661) 2456 0 R (HD.1662) 2457 0 R (HD.1663) 2458 0 R (HD.1664) 2459 0 R (HD.1665) 2460 0 R (HD.1666) 2461 0 R (HD.1667) 2462 0 R (HD.1668) 2463 0 R (HD.1669) 2464 0 R (HD.167) 818 0 R (HD.1670) 2465 0 R (HD.1671) 2466 0 R (HD.1672) 2467 0 R (HD.1673) 2468 0 R (HD.1674) 2469 0 R (HD.1675) 2470 0 R (HD.1676) 2471 0 R (HD.1677) 2472 0 R (HD.1678) 2473 0 R (HD.1679) 2474 0 R (HD.168) 819 0 R (HD.1680) 2475 0 R (HD.1681) 2476 0 R (HD.1682) 2477 0 R (HD.1683) 2478 0 R (HD.1684) 2479 0 R (HD.1685) 2480 0 R (HD.1686) 2482 0 R (HD.1687) 2483 0 R (HD.1688) 2484 0 R (HD.1689) 2485 0 R ] /Limits [ (HD.1660) (HD.1689) ] >>
+<< /Names [ (HD.1545) 2334 0 R (HD.1546) 2335 0 R (HD.1547) 2336 0 R (HD.1548) 2337 0 R (HD.1549) 2338 0 R (HD.155) 814 0 R (HD.1550) 2339 0 R (HD.1551) 2340 0 R (HD.1552) 2341 0 R (HD.1553) 2342 0 R (HD.1554) 2343 0 R (HD.1555) 2344 0 R (HD.1556) 2345 0 R (HD.1557) 2346 0 R (HD.1558) 2347 0 R (HD.1559) 2348 0 R (HD.156) 815 0 R (HD.1560) 2349 0 R (HD.1561) 2350 0 R (HD.1562) 2351 0 R (HD.1563) 2352 0 R (HD.1564) 2353 0 R (HD.1565) 2358 0 R (HD.1566) 2359 0 R (HD.1567) 2360 0 R (HD.1568) 2361 0 R (HD.1569) 2362 0 R (HD.157) 816 0 R (HD.1570) 2363 0 R (HD.1571) 2364 0 R (HD.1572) 2365 0 R (HD.1573) 2366 0 R ] /Limits [ (HD.1545) (HD.1573) ] >>
endobj
4556 0 obj
-<< /Names [ (HD.169) 820 0 R (HD.1690) 2486 0 R (HD.1691) 2487 0 R (HD.1692) 2492 0 R (HD.1693) 2493 0 R (HD.1694) 2494 0 R (HD.1695) 2495 0 R (HD.1696) 2496 0 R (HD.1697) 2497 0 R (HD.1698) 2498 0 R (HD.1699) 2499 0 R (HD.17) 652 0 R (HD.170) 821 0 R (HD.1700) 2500 0 R (HD.1701) 2501 0 R (HD.1702) 2502 0 R (HD.1703) 2503 0 R (HD.1704) 2504 0 R (HD.1705) 2505 0 R (HD.1706) 2506 0 R (HD.1707) 2507 0 R (HD.1708) 2508 0 R (HD.1709) 2509 0 R (HD.171) 822 0 R (HD.1710) 2510 0 R (HD.1711) 2511 0 R (HD.1712) 2512 0 R (HD.1713) 2513 0 R (HD.1714) 2514 0 R (HD.1715) 2515 0 R (HD.1716) 2516 0 R (HD.1717) 2517 0 R ] /Limits [ (HD.169) (HD.1717) ] >>
+<< /Names [ (HD.1574) 2367 0 R (HD.1575) 2368 0 R (HD.1576) 2369 0 R (HD.1577) 2370 0 R (HD.1578) 2371 0 R (HD.1579) 2372 0 R (HD.158) 817 0 R (HD.1580) 2373 0 R (HD.1581) 2375 0 R (HD.1582) 2376 0 R (HD.1583) 2377 0 R (HD.1584) 2378 0 R (HD.1585) 2379 0 R (HD.1586) 2380 0 R (HD.1587) 2381 0 R (HD.1588) 2382 0 R (HD.1589) 2383 0 R (HD.159) 818 0 R (HD.1590) 2384 0 R (HD.1591) 2385 0 R (HD.1592) 2386 0 R (HD.1593) 2387 0 R (HD.1594) 2388 0 R (HD.1595) 2389 0 R (HD.1596) 2390 0 R (HD.1597) 2391 0 R (HD.1598) 2396 0 R (HD.1599) 2397 0 R (HD.16) 659 0 R (HD.160) 819 0 R (HD.1600) 2398 0 R (HD.1601) 2399 0 R ] /Limits [ (HD.1574) (HD.1601) ] >>
endobj
4557 0 obj
-<< /Names [ (HD.1718) 2518 0 R (HD.1719) 2519 0 R (HD.172) 823 0 R (HD.1720) 2520 0 R (HD.1721) 2521 0 R (HD.1722) 2522 0 R (HD.1723) 2523 0 R (HD.1724) 2524 0 R (HD.1725) 2525 0 R (HD.1726) 2526 0 R (HD.1727) 2527 0 R (HD.1728) 2528 0 R (HD.1729) 2529 0 R (HD.173) 824 0 R (HD.1730) 2530 0 R (HD.1731) 2531 0 R (HD.1732) 2532 0 R (HD.1733) 2533 0 R (HD.1734) 2534 0 R (HD.1735) 2535 0 R (HD.1736) 2536 0 R (HD.1737) 2537 0 R (HD.1738) 2543 0 R (HD.1739) 2544 0 R (HD.174) 825 0 R (HD.1740) 2545 0 R (HD.1741) 2546 0 R (HD.1742) 2547 0 R (HD.1743) 2548 0 R (HD.1744) 2549 0 R (HD.1745) 2550 0 R (HD.1746) 2551 0 R ] /Limits [ (HD.1718) (HD.1746) ] >>
+<< /Names [ (HD.1602) 2400 0 R (HD.1603) 2401 0 R (HD.1604) 2402 0 R (HD.1605) 2403 0 R (HD.1606) 2404 0 R (HD.1607) 2405 0 R (HD.1608) 2406 0 R (HD.1609) 2407 0 R (HD.161) 820 0 R (HD.1610) 2408 0 R (HD.1611) 2409 0 R (HD.1612) 2410 0 R (HD.1613) 2411 0 R (HD.1614) 2412 0 R (HD.1615) 2413 0 R (HD.1616) 2414 0 R (HD.1617) 2415 0 R (HD.1618) 2416 0 R (HD.1619) 2417 0 R (HD.162) 821 0 R (HD.1620) 2418 0 R (HD.1621) 2419 0 R (HD.1622) 2420 0 R (HD.1623) 2421 0 R (HD.1624) 2422 0 R (HD.1625) 2423 0 R (HD.1626) 2425 0 R (HD.1627) 2426 0 R (HD.1628) 2427 0 R (HD.1629) 2428 0 R (HD.163) 822 0 R (HD.1630) 2429 0 R ] /Limits [ (HD.1602) (HD.1630) ] >>
endobj
4558 0 obj
-<< /Names [ (HD.1747) 2552 0 R (HD.1748) 2553 0 R (HD.1749) 2554 0 R (HD.175) 826 0 R (HD.1750) 2555 0 R (HD.1751) 2556 0 R (HD.1752) 2557 0 R (HD.1753) 2558 0 R (HD.1754) 2559 0 R (HD.1755) 2560 0 R (HD.1756) 2561 0 R (HD.1757) 2562 0 R (HD.1758) 2564 0 R (HD.1759) 2565 0 R (HD.176) 827 0 R (HD.1760) 2566 0 R (HD.1761) 2567 0 R (HD.1762) 2568 0 R (HD.1763) 2569 0 R (HD.1764) 2570 0 R (HD.1765) 2571 0 R (HD.1766) 2572 0 R (HD.1767) 2573 0 R (HD.1768) 2574 0 R (HD.1769) 2575 0 R (HD.177) 828 0 R (HD.1770) 2576 0 R (HD.1771) 2584 0 R (HD.1772) 2585 0 R (HD.1773) 2586 0 R (HD.1774) 2587 0 R (HD.1775) 2588 0 R ] /Limits [ (HD.1747) (HD.1775) ] >>
+<< /Names [ (HD.1631) 2430 0 R (HD.1632) 2431 0 R (HD.1633) 2432 0 R (HD.1634) 2433 0 R (HD.1635) 2434 0 R (HD.1636) 2435 0 R (HD.1637) 2440 0 R (HD.1638) 2441 0 R (HD.1639) 2442 0 R (HD.164) 823 0 R (HD.1640) 2443 0 R (HD.1641) 2444 0 R (HD.1642) 2445 0 R (HD.1643) 2446 0 R (HD.1644) 2447 0 R (HD.1645) 2448 0 R (HD.1646) 2449 0 R (HD.1647) 2450 0 R (HD.1648) 2451 0 R (HD.1649) 2452 0 R (HD.165) 824 0 R (HD.1650) 2453 0 R (HD.1651) 2454 0 R (HD.1652) 2455 0 R (HD.1653) 2456 0 R (HD.1654) 2457 0 R (HD.1655) 2458 0 R (HD.1656) 2459 0 R (HD.1657) 2460 0 R (HD.1658) 2461 0 R (HD.1659) 2462 0 R (HD.166) 825 0 R ] /Limits [ (HD.1631) (HD.166) ] >>
endobj
4559 0 obj
-<< /Names [ (HD.1776) 2589 0 R (HD.1777) 2590 0 R (HD.1778) 2591 0 R (HD.1779) 2592 0 R (HD.178) 829 0 R (HD.1780) 2593 0 R (HD.1781) 2594 0 R (HD.1782) 2595 0 R (HD.1783) 2596 0 R (HD.1784) 2597 0 R (HD.1785) 2598 0 R (HD.1786) 2599 0 R (HD.1787) 2600 0 R (HD.1788) 2601 0 R (HD.1789) 2602 0 R (HD.179) 830 0 R (HD.1790) 2603 0 R (HD.1791) 2604 0 R (HD.1792) 2605 0 R (HD.1793) 2606 0 R (HD.1794) 2607 0 R (HD.1795) 2608 0 R (HD.1796) 2609 0 R (HD.1797) 2610 0 R (HD.1798) 2611 0 R (HD.1799) 2612 0 R (HD.18) 653 0 R (HD.180) 835 0 R (HD.1800) 2613 0 R (HD.1801) 2614 0 R (HD.1802) 2615 0 R (HD.1803) 2616 0 R ] /Limits [ (HD.1776) (HD.1803) ] >>
+<< /Names [ (HD.1660) 2463 0 R (HD.1661) 2464 0 R (HD.1662) 2466 0 R (HD.1663) 2467 0 R (HD.1664) 2468 0 R (HD.1665) 2469 0 R (HD.1666) 2470 0 R (HD.1667) 2471 0 R (HD.1668) 2472 0 R (HD.1669) 2473 0 R (HD.167) 826 0 R (HD.1670) 2474 0 R (HD.1671) 2475 0 R (HD.1672) 2476 0 R (HD.1673) 2477 0 R (HD.1674) 2478 0 R (HD.1675) 2479 0 R (HD.1676) 2480 0 R (HD.1677) 2481 0 R (HD.1678) 2482 0 R (HD.1679) 2483 0 R (HD.168) 827 0 R (HD.1680) 2484 0 R (HD.1681) 2485 0 R (HD.1682) 2486 0 R (HD.1683) 2487 0 R (HD.1684) 2492 0 R (HD.1685) 2493 0 R (HD.1686) 2494 0 R (HD.1687) 2495 0 R (HD.1688) 2496 0 R (HD.1689) 2497 0 R ] /Limits [ (HD.1660) (HD.1689) ] >>
endobj
4560 0 obj
-<< /Names [ (HD.1804) 2617 0 R (HD.1805) 2618 0 R (HD.1806) 2619 0 R (HD.1807) 2620 0 R (HD.1808) 2621 0 R (HD.1809) 2622 0 R (HD.181) 836 0 R (HD.1810) 2623 0 R (HD.1811) 2624 0 R (HD.1812) 2625 0 R (HD.1813) 2626 0 R (HD.1814) 2627 0 R (HD.1815) 2628 0 R (HD.1816) 2629 0 R (HD.1817) 2630 0 R (HD.1818) 2631 0 R (HD.1819) 2632 0 R (HD.182) 837 0 R (HD.1820) 2633 0 R (HD.1821) 2634 0 R (HD.1822) 2639 0 R (HD.1823) 2640 0 R (HD.1824) 2641 0 R (HD.1825) 2642 0 R (HD.1826) 2643 0 R (HD.1827) 2644 0 R (HD.1828) 2645 0 R (HD.1829) 2646 0 R (HD.183) 838 0 R (HD.1830) 2647 0 R (HD.1831) 2648 0 R (HD.1832) 2649 0 R ] /Limits [ (HD.1804) (HD.1832) ] >>
+<< /Names [ (HD.169) 828 0 R (HD.1690) 2498 0 R (HD.1691) 2499 0 R (HD.1692) 2500 0 R (HD.1693) 2501 0 R (HD.1694) 2502 0 R (HD.1695) 2503 0 R (HD.1696) 2504 0 R (HD.1697) 2505 0 R (HD.1698) 2506 0 R (HD.1699) 2507 0 R (HD.17) 660 0 R (HD.170) 829 0 R (HD.1700) 2508 0 R (HD.1701) 2509 0 R (HD.1702) 2510 0 R (HD.1703) 2511 0 R (HD.1704) 2512 0 R (HD.1705) 2513 0 R (HD.1706) 2514 0 R (HD.1707) 2515 0 R (HD.1708) 2516 0 R (HD.1709) 2517 0 R (HD.171) 830 0 R (HD.1710) 2518 0 R (HD.1711) 2519 0 R (HD.1712) 2520 0 R (HD.1713) 2521 0 R (HD.1714) 2522 0 R (HD.1715) 2523 0 R (HD.1716) 2524 0 R (HD.1717) 2525 0 R ] /Limits [ (HD.169) (HD.1717) ] >>
endobj
4561 0 obj
-<< /Names [ (HD.1833) 2650 0 R (HD.1834) 2651 0 R (HD.1835) 2652 0 R (HD.1836) 2653 0 R (HD.1837) 2654 0 R (HD.1838) 2655 0 R (HD.1839) 2656 0 R (HD.184) 839 0 R (HD.1840) 2657 0 R (HD.1841) 2658 0 R (HD.1842) 2659 0 R (HD.1843) 2660 0 R (HD.1844) 2661 0 R (HD.1845) 2662 0 R (HD.1846) 2663 0 R (HD.1847) 2664 0 R (HD.1848) 2665 0 R (HD.1849) 2666 0 R (HD.185) 840 0 R (HD.1850) 2667 0 R (HD.1851) 2668 0 R (HD.1852) 2669 0 R (HD.1853) 2670 0 R (HD.1854) 2671 0 R (HD.1855) 2672 0 R (HD.1856) 2673 0 R (HD.1857) 2680 0 R (HD.1858) 2681 0 R (HD.1859) 2682 0 R (HD.186) 841 0 R (HD.1860) 2683 0 R (HD.1861) 2685 0 R ] /Limits [ (HD.1833) (HD.1861) ] >>
+<< /Names [ (HD.1718) 2526 0 R (HD.1719) 2527 0 R (HD.172) 831 0 R (HD.1720) 2528 0 R (HD.1721) 2529 0 R (HD.1722) 2530 0 R (HD.1723) 2531 0 R (HD.1724) 2532 0 R (HD.1725) 2533 0 R (HD.1726) 2534 0 R (HD.1727) 2535 0 R (HD.1728) 2536 0 R (HD.1729) 2537 0 R (HD.173) 832 0 R (HD.1730) 2538 0 R (HD.1731) 2539 0 R (HD.1732) 2540 0 R (HD.1733) 2541 0 R (HD.1734) 2542 0 R (HD.1735) 2543 0 R (HD.1736) 2544 0 R (HD.1737) 2545 0 R (HD.1738) 2546 0 R (HD.1739) 2553 0 R (HD.174) 833 0 R (HD.1740) 2554 0 R (HD.1741) 2555 0 R (HD.1742) 2556 0 R (HD.1743) 2558 0 R (HD.1744) 2559 0 R (HD.1745) 2560 0 R (HD.1746) 2561 0 R ] /Limits [ (HD.1718) (HD.1746) ] >>
endobj
4562 0 obj
-<< /Names [ (HD.1862) 2686 0 R (HD.1863) 2687 0 R (HD.1864) 2688 0 R (HD.1865) 2689 0 R (HD.1866) 2690 0 R (HD.1867) 2691 0 R (HD.1868) 2692 0 R (HD.1869) 2693 0 R (HD.187) 842 0 R (HD.1870) 2694 0 R (HD.1871) 2695 0 R (HD.1872) 2696 0 R (HD.1873) 2697 0 R (HD.1874) 2698 0 R (HD.1875) 2699 0 R (HD.1876) 2700 0 R (HD.1877) 2701 0 R (HD.1878) 2702 0 R (HD.1879) 2703 0 R (HD.188) 843 0 R (HD.1880) 2704 0 R (HD.1881) 2705 0 R (HD.1882) 2706 0 R (HD.1883) 2707 0 R (HD.1884) 2708 0 R (HD.1885) 2709 0 R (HD.1886) 2717 0 R (HD.1887) 2718 0 R (HD.1888) 2719 0 R (HD.1889) 2720 0 R (HD.189) 844 0 R (HD.1890) 2721 0 R ] /Limits [ (HD.1862) (HD.1890) ] >>
+<< /Names [ (HD.1747) 2562 0 R (HD.1748) 2563 0 R (HD.1749) 2564 0 R (HD.175) 834 0 R (HD.1750) 2565 0 R (HD.1751) 2566 0 R (HD.1752) 2567 0 R (HD.1753) 2568 0 R (HD.1754) 2569 0 R (HD.1755) 2570 0 R (HD.1756) 2571 0 R (HD.1757) 2572 0 R (HD.1758) 2573 0 R (HD.1759) 2574 0 R (HD.176) 839 0 R (HD.1760) 2575 0 R (HD.1761) 2576 0 R (HD.1762) 2577 0 R (HD.1763) 2578 0 R (HD.1764) 2579 0 R (HD.1765) 2580 0 R (HD.1766) 2581 0 R (HD.1767) 2582 0 R (HD.1768) 2583 0 R (HD.1769) 2584 0 R (HD.177) 840 0 R (HD.1770) 2585 0 R (HD.1771) 2586 0 R (HD.1772) 2593 0 R (HD.1773) 2594 0 R (HD.1774) 2595 0 R (HD.1775) 2596 0 R ] /Limits [ (HD.1747) (HD.1775) ] >>
endobj
4563 0 obj
-<< /Names [ (HD.1891) 2722 0 R (HD.1892) 2723 0 R (HD.1893) 2724 0 R (HD.1894) 2725 0 R (HD.1895) 2726 0 R (HD.1896) 2727 0 R (HD.1897) 2728 0 R (HD.1898) 2729 0 R (HD.1899) 2730 0 R (HD.19) 654 0 R (HD.190) 845 0 R (HD.1900) 2731 0 R (HD.1901) 2732 0 R (HD.1902) 2733 0 R (HD.1903) 2734 0 R (HD.1904) 2735 0 R (HD.1905) 2736 0 R (HD.1906) 2737 0 R (HD.1907) 2738 0 R (HD.1908) 2739 0 R (HD.1909) 2740 0 R (HD.191) 846 0 R (HD.1910) 2741 0 R (HD.1911) 2742 0 R (HD.1912) 2743 0 R (HD.1913) 2744 0 R (HD.1914) 2745 0 R (HD.1915) 2746 0 R (HD.1916) 2747 0 R (HD.1917) 2748 0 R (HD.1918) 2749 0 R (HD.1919) 2750 0 R ] /Limits [ (HD.1891) (HD.1919) ] >>
+<< /Names [ (HD.1776) 2597 0 R (HD.1777) 2598 0 R (HD.1778) 2599 0 R (HD.1779) 2600 0 R (HD.178) 841 0 R (HD.1780) 2601 0 R (HD.1781) 2602 0 R (HD.1782) 2603 0 R (HD.1783) 2604 0 R (HD.1784) 2605 0 R (HD.1785) 2606 0 R (HD.1786) 2607 0 R (HD.1787) 2608 0 R (HD.1788) 2609 0 R (HD.1789) 2610 0 R (HD.179) 842 0 R (HD.1790) 2611 0 R (HD.1791) 2612 0 R (HD.1792) 2613 0 R (HD.1793) 2614 0 R (HD.1794) 2615 0 R (HD.1795) 2616 0 R (HD.1796) 2617 0 R (HD.1797) 2618 0 R (HD.1798) 2619 0 R (HD.1799) 2620 0 R (HD.18) 661 0 R (HD.180) 843 0 R (HD.1800) 2621 0 R (HD.1801) 2622 0 R (HD.1802) 2623 0 R (HD.1803) 2624 0 R ] /Limits [ (HD.1776) (HD.1803) ] >>
endobj
4564 0 obj
-<< /Names [ (HD.192) 847 0 R (HD.1920) 2752 0 R (HD.1921) 2753 0 R (HD.1922) 2754 0 R (HD.1923) 2755 0 R (HD.1924) 2756 0 R (HD.1925) 2757 0 R (HD.1926) 2758 0 R (HD.1927) 2759 0 R (HD.1928) 2760 0 R (HD.1929) 2761 0 R (HD.193) 848 0 R (HD.1930) 2763 0 R (HD.1931) 2765 0 R (HD.1932) 2771 0 R (HD.1933) 2772 0 R (HD.1934) 2773 0 R (HD.1935) 2774 0 R (HD.1936) 2775 0 R (HD.1937) 2776 0 R (HD.1938) 2777 0 R (HD.1939) 2778 0 R (HD.194) 849 0 R (HD.1940) 2779 0 R (HD.1941) 2780 0 R (HD.1942) 2781 0 R (HD.1943) 2782 0 R (HD.1944) 2783 0 R (HD.1945) 2784 0 R (HD.1946) 2785 0 R (HD.1947) 2786 0 R (HD.1948) 2787 0 R ] /Limits [ (HD.192) (HD.1948) ] >>
+<< /Names [ (HD.1804) 2625 0 R (HD.1805) 2626 0 R (HD.1806) 2627 0 R (HD.1807) 2628 0 R (HD.1808) 2629 0 R (HD.1809) 2630 0 R (HD.181) 844 0 R (HD.1810) 2631 0 R (HD.1811) 2632 0 R (HD.1812) 2633 0 R (HD.1813) 2634 0 R (HD.1814) 2635 0 R (HD.1815) 2636 0 R (HD.1816) 2637 0 R (HD.1817) 2638 0 R (HD.1818) 2639 0 R (HD.1819) 2640 0 R (HD.182) 845 0 R (HD.1820) 2641 0 R (HD.1821) 2642 0 R (HD.1822) 2643 0 R (HD.1823) 2644 0 R (HD.1824) 2645 0 R (HD.1825) 2646 0 R (HD.1826) 2647 0 R (HD.1827) 2648 0 R (HD.1828) 2654 0 R (HD.1829) 2655 0 R (HD.183) 846 0 R (HD.1830) 2656 0 R (HD.1831) 2657 0 R (HD.1832) 2658 0 R ] /Limits [ (HD.1804) (HD.1832) ] >>
endobj
4565 0 obj
-<< /Names [ (HD.1949) 2788 0 R (HD.195) 850 0 R (HD.1950) 2789 0 R (HD.1951) 2790 0 R (HD.1952) 2791 0 R (HD.1953) 2792 0 R (HD.1954) 2793 0 R (HD.1955) 2794 0 R (HD.1956) 2795 0 R (HD.1957) 2796 0 R (HD.1958) 2797 0 R (HD.1959) 2798 0 R (HD.196) 851 0 R (HD.1960) 2799 0 R (HD.1961) 2800 0 R (HD.1962) 2801 0 R (HD.1963) 2802 0 R (HD.1964) 2803 0 R (HD.1965) 2804 0 R (HD.1966) 2805 0 R (HD.1967) 2806 0 R (HD.1968) 2807 0 R (HD.1969) 2808 0 R (HD.197) 856 0 R (HD.1970) 2809 0 R (HD.1971) 2810 0 R (HD.1972) 2811 0 R (HD.1973) 2812 0 R (HD.1974) 2813 0 R (HD.1975) 2814 0 R (HD.1976) 2815 0 R (HD.1977) 2816 0 R ] /Limits [ (HD.1949) (HD.1977) ] >>
+<< /Names [ (HD.1833) 2659 0 R (HD.1834) 2660 0 R (HD.1835) 2661 0 R (HD.1836) 2662 0 R (HD.1837) 2663 0 R (HD.1838) 2664 0 R (HD.1839) 2665 0 R (HD.184) 847 0 R (HD.1840) 2666 0 R (HD.1841) 2667 0 R (HD.1842) 2668 0 R (HD.1843) 2669 0 R (HD.1844) 2670 0 R (HD.1845) 2671 0 R (HD.1846) 2672 0 R (HD.1847) 2673 0 R (HD.1848) 2674 0 R (HD.1849) 2675 0 R (HD.185) 848 0 R (HD.1850) 2676 0 R (HD.1851) 2683 0 R (HD.1852) 2684 0 R (HD.1853) 2685 0 R (HD.1854) 2686 0 R (HD.1855) 2687 0 R (HD.1856) 2688 0 R (HD.1857) 2689 0 R (HD.1858) 2690 0 R (HD.1859) 2691 0 R (HD.186) 849 0 R (HD.1860) 2692 0 R (HD.1861) 2693 0 R ] /Limits [ (HD.1833) (HD.1861) ] >>
endobj
4566 0 obj
-<< /Names [ (HD.1978) 2817 0 R (HD.1979) 2818 0 R (HD.198) 857 0 R (HD.1980) 2819 0 R (HD.1981) 2820 0 R (HD.1982) 2821 0 R (HD.1983) 2822 0 R (HD.1984) 2823 0 R (HD.1985) 2824 0 R (HD.1986) 2825 0 R (HD.1987) 2826 0 R (HD.1988) 2827 0 R (HD.1989) 2828 0 R (HD.199) 858 0 R (HD.1990) 2833 0 R (HD.1991) 2834 0 R (HD.1992) 2835 0 R (HD.1993) 2836 0 R (HD.1994) 2837 0 R (HD.1995) 2839 0 R (HD.1996) 2840 0 R (HD.1997) 2841 0 R (HD.1998) 2842 0 R (HD.1999) 2844 0 R (HD.2) 637 0 R (HD.20) 655 0 R (HD.200) 859 0 R (HD.2000) 2845 0 R (HD.2001) 2846 0 R (HD.2002) 2847 0 R (HD.2003) 2848 0 R (HD.2004) 2849 0 R ] /Limits [ (HD.1978) (HD.2004) ] >>
+<< /Names [ (HD.1862) 2694 0 R (HD.1863) 2695 0 R (HD.1864) 2696 0 R (HD.1865) 2697 0 R (HD.1866) 2698 0 R (HD.1867) 2699 0 R (HD.1868) 2700 0 R (HD.1869) 2701 0 R (HD.187) 850 0 R (HD.1870) 2702 0 R (HD.1871) 2703 0 R (HD.1872) 2704 0 R (HD.1873) 2705 0 R (HD.1874) 2706 0 R (HD.1875) 2707 0 R (HD.1876) 2708 0 R (HD.1877) 2709 0 R (HD.1878) 2710 0 R (HD.1879) 2711 0 R (HD.188) 851 0 R (HD.1880) 2712 0 R (HD.1881) 2713 0 R (HD.1882) 2714 0 R (HD.1883) 2715 0 R (HD.1884) 2716 0 R (HD.1885) 2724 0 R (HD.1886) 2725 0 R (HD.1887) 2726 0 R (HD.1888) 2727 0 R (HD.1889) 2728 0 R (HD.189) 852 0 R (HD.1890) 2729 0 R ] /Limits [ (HD.1862) (HD.1890) ] >>
endobj
4567 0 obj
-<< /Names [ (HD.2005) 2850 0 R (HD.2006) 2851 0 R (HD.2007) 2852 0 R (HD.2008) 2853 0 R (HD.2009) 2854 0 R (HD.201) 860 0 R (HD.2010) 2855 0 R (HD.2011) 2856 0 R (HD.2012) 2857 0 R (HD.2013) 2858 0 R (HD.2014) 2859 0 R (HD.2015) 2860 0 R (HD.2016) 2861 0 R (HD.2017) 2862 0 R (HD.2018) 2863 0 R (HD.2019) 2864 0 R (HD.202) 861 0 R (HD.2020) 2865 0 R (HD.2021) 2866 0 R (HD.2022) 2867 0 R (HD.2023) 2868 0 R (HD.2024) 2869 0 R (HD.2025) 2870 0 R (HD.2026) 2871 0 R (HD.2027) 2872 0 R (HD.2028) 2873 0 R (HD.2029) 2879 0 R (HD.203) 862 0 R (HD.2030) 2880 0 R (HD.2031) 2881 0 R (HD.2032) 2882 0 R (HD.2033) 2883 0 R ] /Limits [ (HD.2005) (HD.2033) ] >>
+<< /Names [ (HD.1891) 2730 0 R (HD.1892) 2731 0 R (HD.1893) 2732 0 R (HD.1894) 2733 0 R (HD.1895) 2734 0 R (HD.1896) 2735 0 R (HD.1897) 2736 0 R (HD.1898) 2737 0 R (HD.1899) 2738 0 R (HD.19) 662 0 R (HD.190) 853 0 R (HD.1900) 2739 0 R (HD.1901) 2740 0 R (HD.1902) 2741 0 R (HD.1903) 2742 0 R (HD.1904) 2743 0 R (HD.1905) 2744 0 R (HD.1906) 2745 0 R (HD.1907) 2746 0 R (HD.1908) 2747 0 R (HD.1909) 2748 0 R (HD.191) 854 0 R (HD.1910) 2750 0 R (HD.1911) 2751 0 R (HD.1912) 2752 0 R (HD.1913) 2753 0 R (HD.1914) 2754 0 R (HD.1915) 2755 0 R (HD.1916) 2756 0 R (HD.1917) 2757 0 R (HD.1918) 2758 0 R (HD.1919) 2759 0 R ] /Limits [ (HD.1891) (HD.1919) ] >>
endobj
4568 0 obj
-<< /Names [ (HD.2034) 2884 0 R (HD.2035) 2885 0 R (HD.2036) 2886 0 R (HD.2037) 2888 0 R (HD.2038) 2890 0 R (HD.2039) 2891 0 R (HD.204) 863 0 R (HD.2040) 2892 0 R (HD.2041) 2893 0 R (HD.2042) 2894 0 R (HD.2043) 2895 0 R (HD.2044) 2896 0 R (HD.2045) 2897 0 R (HD.2046) 2898 0 R (HD.2047) 2899 0 R (HD.2048) 2900 0 R (HD.2049) 2901 0 R (HD.205) 864 0 R (HD.2050) 2902 0 R (HD.2051) 2903 0 R (HD.2052) 2904 0 R (HD.2053) 2905 0 R (HD.2054) 2906 0 R (HD.2055) 2907 0 R (HD.2056) 2908 0 R (HD.2057) 2909 0 R (HD.2058) 2910 0 R (HD.2059) 2911 0 R (HD.206) 865 0 R (HD.2060) 2912 0 R (HD.2061) 2913 0 R (HD.2062) 2914 0 R ] /Limits [ (HD.2034) (HD.2062) ] >>
+<< /Names [ (HD.192) 855 0 R (HD.1920) 2761 0 R (HD.1921) 2763 0 R (HD.1922) 2765 0 R (HD.1923) 2766 0 R (HD.1924) 2767 0 R (HD.1925) 2768 0 R (HD.1926) 2769 0 R (HD.1927) 2770 0 R (HD.1928) 2771 0 R (HD.1929) 2772 0 R (HD.193) 856 0 R (HD.1930) 2773 0 R (HD.1931) 2778 0 R (HD.1932) 2779 0 R (HD.1933) 2780 0 R (HD.1934) 2781 0 R (HD.1935) 2782 0 R (HD.1936) 2783 0 R (HD.1937) 2784 0 R (HD.1938) 2785 0 R (HD.1939) 2786 0 R (HD.194) 857 0 R (HD.1940) 2787 0 R (HD.1941) 2788 0 R (HD.1942) 2789 0 R (HD.1943) 2790 0 R (HD.1944) 2791 0 R (HD.1945) 2792 0 R (HD.1946) 2793 0 R (HD.1947) 2794 0 R (HD.1948) 2795 0 R ] /Limits [ (HD.192) (HD.1948) ] >>
endobj
4569 0 obj
-<< /Names [ (HD.2063) 2915 0 R (HD.2064) 2916 0 R (HD.2065) 2917 0 R (HD.2066) 2918 0 R (HD.2067) 2919 0 R (HD.2068) 2926 0 R (HD.2069) 2927 0 R (HD.207) 866 0 R (HD.2070) 2928 0 R (HD.2071) 2929 0 R (HD.2072) 2930 0 R (HD.2073) 2931 0 R (HD.2074) 2932 0 R (HD.2075) 2933 0 R (HD.2076) 2934 0 R (HD.2077) 2935 0 R (HD.2078) 2936 0 R (HD.2079) 2937 0 R (HD.208) 867 0 R (HD.2080) 2938 0 R (HD.2081) 2939 0 R (HD.2082) 2940 0 R (HD.2083) 2941 0 R (HD.2084) 2942 0 R (HD.2085) 2943 0 R (HD.2086) 2944 0 R (HD.2087) 2945 0 R (HD.2088) 2946 0 R (HD.2089) 2947 0 R (HD.209) 868 0 R (HD.2090) 2948 0 R (HD.2091) 2949 0 R ] /Limits [ (HD.2063) (HD.2091) ] >>
+<< /Names [ (HD.1949) 2796 0 R (HD.195) 858 0 R (HD.1950) 2797 0 R (HD.1951) 2798 0 R (HD.1952) 2799 0 R (HD.1953) 2800 0 R (HD.1954) 2801 0 R (HD.1955) 2802 0 R (HD.1956) 2803 0 R (HD.1957) 2804 0 R (HD.1958) 2805 0 R (HD.1959) 2806 0 R (HD.196) 859 0 R (HD.1960) 2807 0 R (HD.1961) 2808 0 R (HD.1962) 2809 0 R (HD.1963) 2810 0 R (HD.1964) 2811 0 R (HD.1965) 2812 0 R (HD.1966) 2813 0 R (HD.1967) 2814 0 R (HD.1968) 2815 0 R (HD.1969) 2816 0 R (HD.197) 860 0 R (HD.1970) 2817 0 R (HD.1971) 2818 0 R (HD.1972) 2819 0 R (HD.1973) 2820 0 R (HD.1974) 2821 0 R (HD.1975) 2822 0 R (HD.1976) 2823 0 R (HD.1977) 2824 0 R ] /Limits [ (HD.1949) (HD.1977) ] >>
endobj
4570 0 obj
-<< /Names [ (HD.2092) 2950 0 R (HD.2093) 2951 0 R (HD.2094) 2952 0 R (HD.2095) 2953 0 R (HD.2096) 2954 0 R (HD.2097) 2955 0 R (HD.2098) 2956 0 R (HD.2099) 2957 0 R (HD.21) 656 0 R (HD.210) 869 0 R (HD.2100) 2958 0 R (HD.2101) 2959 0 R (HD.2102) 2960 0 R (HD.2103) 2961 0 R (HD.2104) 2962 0 R (HD.2105) 2963 0 R (HD.2106) 2964 0 R (HD.2107) 2965 0 R (HD.2108) 2966 0 R (HD.2109) 2967 0 R (HD.211) 870 0 R (HD.2110) 2968 0 R (HD.2111) 2969 0 R (HD.2112) 2970 0 R (HD.2113) 2971 0 R (HD.2114) 2972 0 R (HD.2115) 2973 0 R (HD.2116) 2974 0 R (HD.2117) 2975 0 R (HD.2118) 2976 0 R (HD.2119) 2977 0 R (HD.212) 871 0 R ] /Limits [ (HD.2092) (HD.212) ] >>
+<< /Names [ (HD.1978) 2825 0 R (HD.1979) 2826 0 R (HD.198) 861 0 R (HD.1980) 2827 0 R (HD.1981) 2828 0 R (HD.1982) 2829 0 R (HD.1983) 2830 0 R (HD.1984) 2831 0 R (HD.1985) 2837 0 R (HD.1986) 2838 0 R (HD.1987) 2839 0 R (HD.1988) 2840 0 R (HD.1989) 2842 0 R (HD.199) 862 0 R (HD.1990) 2843 0 R (HD.1991) 2844 0 R (HD.1992) 2845 0 R (HD.1993) 2846 0 R (HD.1994) 2847 0 R (HD.1995) 2848 0 R (HD.1996) 2849 0 R (HD.1997) 2850 0 R (HD.1998) 2851 0 R (HD.1999) 2852 0 R (HD.2) 645 0 R (HD.20) 663 0 R (HD.200) 867 0 R (HD.2000) 2853 0 R (HD.2001) 2854 0 R (HD.2002) 2855 0 R (HD.2003) 2856 0 R (HD.2004) 2857 0 R ] /Limits [ (HD.1978) (HD.2004) ] >>
endobj
4571 0 obj
-<< /Names [ (HD.2120) 2982 0 R (HD.2121) 2983 0 R (HD.2122) 2984 0 R (HD.2123) 2985 0 R (HD.2124) 2986 0 R (HD.2125) 2987 0 R (HD.2126) 2988 0 R (HD.2127) 2989 0 R (HD.2128) 2990 0 R (HD.2129) 2991 0 R (HD.213) 872 0 R (HD.2130) 2992 0 R (HD.2131) 2993 0 R (HD.2132) 2994 0 R (HD.2133) 2995 0 R (HD.2134) 2996 0 R (HD.2135) 2997 0 R (HD.2136) 2998 0 R (HD.2137) 2999 0 R (HD.2138) 3000 0 R (HD.2139) 3001 0 R (HD.214) 873 0 R (HD.2140) 3002 0 R (HD.2141) 3003 0 R (HD.2142) 3004 0 R (HD.2143) 3005 0 R (HD.2144) 3006 0 R (HD.2145) 3007 0 R (HD.2146) 3008 0 R (HD.2147) 3009 0 R (HD.2148) 3010 0 R (HD.2149) 3011 0 R ] /Limits [ (HD.2120) (HD.2149) ] >>
+<< /Names [ (HD.2005) 2858 0 R (HD.2006) 2859 0 R (HD.2007) 2860 0 R (HD.2008) 2861 0 R (HD.2009) 2862 0 R (HD.201) 868 0 R (HD.2010) 2863 0 R (HD.2011) 2864 0 R (HD.2012) 2865 0 R (HD.2013) 2866 0 R (HD.2014) 2867 0 R (HD.2015) 2868 0 R (HD.2016) 2869 0 R (HD.2017) 2870 0 R (HD.2018) 2871 0 R (HD.2019) 2872 0 R (HD.202) 869 0 R (HD.2020) 2873 0 R (HD.2021) 2874 0 R (HD.2022) 2875 0 R (HD.2023) 2876 0 R (HD.2024) 2882 0 R (HD.2025) 2883 0 R (HD.2026) 2884 0 R (HD.2027) 2886 0 R (HD.2028) 2888 0 R (HD.2029) 2889 0 R (HD.203) 870 0 R (HD.2030) 2890 0 R (HD.2031) 2891 0 R (HD.2032) 2892 0 R (HD.2033) 2893 0 R ] /Limits [ (HD.2005) (HD.2033) ] >>
endobj
4572 0 obj
-<< /Names [ (HD.215) 874 0 R (HD.2150) 3012 0 R (HD.2151) 3013 0 R (HD.2152) 3014 0 R (HD.2153) 3015 0 R (HD.2154) 3016 0 R (HD.2155) 3017 0 R (HD.2156) 3018 0 R (HD.2157) 3019 0 R (HD.2158) 3020 0 R (HD.2159) 3021 0 R (HD.216) 875 0 R (HD.2160) 3022 0 R (HD.2161) 3023 0 R (HD.2162) 3025 0 R (HD.2163) 3026 0 R (HD.2164) 3028 0 R (HD.2165) 3029 0 R (HD.2166) 3030 0 R (HD.2167) 3031 0 R (HD.2168) 3032 0 R (HD.2169) 3037 0 R (HD.217) 876 0 R (HD.2170) 3039 0 R (HD.2171) 3040 0 R (HD.2172) 3041 0 R (HD.2173) 3042 0 R (HD.2174) 3043 0 R (HD.2175) 3044 0 R (HD.2176) 3045 0 R (HD.2177) 3046 0 R (HD.2178) 3047 0 R ] /Limits [ (HD.215) (HD.2178) ] >>
+<< /Names [ (HD.2034) 2894 0 R (HD.2035) 2895 0 R (HD.2036) 2896 0 R (HD.2037) 2897 0 R (HD.2038) 2898 0 R (HD.2039) 2899 0 R (HD.204) 871 0 R (HD.2040) 2900 0 R (HD.2041) 2901 0 R (HD.2042) 2902 0 R (HD.2043) 2903 0 R (HD.2044) 2904 0 R (HD.2045) 2905 0 R (HD.2046) 2906 0 R (HD.2047) 2907 0 R (HD.2048) 2908 0 R (HD.2049) 2909 0 R (HD.205) 872 0 R (HD.2050) 2910 0 R (HD.2051) 2911 0 R (HD.2052) 2912 0 R (HD.2053) 2913 0 R (HD.2054) 2914 0 R (HD.2055) 2915 0 R (HD.2056) 2916 0 R (HD.2057) 2917 0 R (HD.2058) 2918 0 R (HD.2059) 2919 0 R (HD.206) 873 0 R (HD.2060) 2920 0 R (HD.2061) 2921 0 R (HD.2062) 2922 0 R ] /Limits [ (HD.2034) (HD.2062) ] >>
endobj
4573 0 obj
-<< /Names [ (HD.2179) 3048 0 R (HD.218) 877 0 R (HD.2180) 3049 0 R (HD.2181) 3050 0 R (HD.2182) 3051 0 R (HD.2183) 3052 0 R (HD.2184) 3053 0 R (HD.2185) 3054 0 R (HD.2186) 3055 0 R (HD.2187) 3056 0 R (HD.2188) 3057 0 R (HD.2189) 3058 0 R (HD.219) 878 0 R (HD.2190) 3059 0 R (HD.2191) 3060 0 R (HD.2192) 3061 0 R (HD.2193) 3062 0 R (HD.2194) 3063 0 R (HD.2195) 3064 0 R (HD.2196) 3065 0 R (HD.2197) 3066 0 R (HD.2198) 3067 0 R (HD.2199) 3069 0 R (HD.22) 657 0 R (HD.220) 879 0 R (HD.2200) 3070 0 R (HD.2201) 3071 0 R (HD.2202) 3072 0 R (HD.2203) 3073 0 R (HD.2204) 3074 0 R (HD.2205) 3075 0 R (HD.2206) 3081 0 R ] /Limits [ (HD.2179) (HD.2206) ] >>
+<< /Names [ (HD.2063) 2923 0 R (HD.2064) 2924 0 R (HD.2065) 2931 0 R (HD.2066) 2932 0 R (HD.2067) 2933 0 R (HD.2068) 2934 0 R (HD.2069) 2935 0 R (HD.207) 874 0 R (HD.2070) 2936 0 R (HD.2071) 2937 0 R (HD.2072) 2938 0 R (HD.2073) 2939 0 R (HD.2074) 2940 0 R (HD.2075) 2941 0 R (HD.2076) 2942 0 R (HD.2077) 2943 0 R (HD.2078) 2944 0 R (HD.2079) 2945 0 R (HD.208) 875 0 R (HD.2080) 2946 0 R (HD.2081) 2947 0 R (HD.2082) 2948 0 R (HD.2083) 2949 0 R (HD.2084) 2950 0 R (HD.2085) 2951 0 R (HD.2086) 2952 0 R (HD.2087) 2953 0 R (HD.2088) 2954 0 R (HD.2089) 2955 0 R (HD.209) 876 0 R (HD.2090) 2956 0 R (HD.2091) 2957 0 R ] /Limits [ (HD.2063) (HD.2091) ] >>
endobj
4574 0 obj
-<< /Names [ (HD.2207) 3082 0 R (HD.2208) 3083 0 R (HD.2209) 3084 0 R (HD.221) 880 0 R (HD.2210) 3085 0 R (HD.2211) 3086 0 R (HD.2212) 3088 0 R (HD.2213) 3089 0 R (HD.2214) 3090 0 R (HD.2215) 3091 0 R (HD.2216) 3092 0 R (HD.2217) 3093 0 R (HD.2218) 3094 0 R (HD.2219) 3095 0 R (HD.222) 881 0 R (HD.2220) 3096 0 R (HD.2221) 3097 0 R (HD.2222) 3098 0 R (HD.2223) 3099 0 R (HD.2224) 3100 0 R (HD.2225) 3101 0 R (HD.2226) 3102 0 R (HD.2227) 3103 0 R (HD.2228) 3104 0 R (HD.2229) 3105 0 R (HD.223) 882 0 R (HD.2230) 3106 0 R (HD.2231) 3107 0 R (HD.2232) 3108 0 R (HD.2233) 3109 0 R (HD.2234) 3110 0 R (HD.2235) 3111 0 R ] /Limits [ (HD.2207) (HD.2235) ] >>
+<< /Names [ (HD.2092) 2958 0 R (HD.2093) 2959 0 R (HD.2094) 2960 0 R (HD.2095) 2961 0 R (HD.2096) 2962 0 R (HD.2097) 2963 0 R (HD.2098) 2964 0 R (HD.2099) 2965 0 R (HD.21) 664 0 R (HD.210) 877 0 R (HD.2100) 2966 0 R (HD.2101) 2967 0 R (HD.2102) 2968 0 R (HD.2103) 2969 0 R (HD.2104) 2970 0 R (HD.2105) 2971 0 R (HD.2106) 2972 0 R (HD.2107) 2973 0 R (HD.2108) 2974 0 R (HD.2109) 2975 0 R (HD.211) 878 0 R (HD.2110) 2976 0 R (HD.2111) 2977 0 R (HD.2112) 2978 0 R (HD.2113) 2979 0 R (HD.2114) 2980 0 R (HD.2115) 2985 0 R (HD.2116) 2986 0 R (HD.2117) 2987 0 R (HD.2118) 2988 0 R (HD.2119) 2989 0 R (HD.212) 879 0 R ] /Limits [ (HD.2092) (HD.212) ] >>
endobj
4575 0 obj
-<< /Names [ (HD.2236) 3112 0 R (HD.2237) 3113 0 R (HD.2238) 3114 0 R (HD.2239) 3115 0 R (HD.224) 883 0 R (HD.2240) 3116 0 R (HD.2241) 3118 0 R (HD.2242) 3119 0 R (HD.2243) 3120 0 R (HD.2244) 3121 0 R (HD.2245) 3122 0 R (HD.2246) 3123 0 R (HD.2247) 3124 0 R (HD.2248) 3125 0 R (HD.2249) 3126 0 R (HD.225) 884 0 R (HD.2250) 3127 0 R (HD.2251) 3128 0 R (HD.2252) 3129 0 R (HD.2253) 3130 0 R (HD.2254) 3131 0 R (HD.2255) 3132 0 R (HD.2256) 3133 0 R (HD.2257) 3134 0 R (HD.2258) 3140 0 R (HD.2259) 3141 0 R (HD.226) 885 0 R (HD.2260) 3142 0 R (HD.2261) 3143 0 R (HD.2262) 3144 0 R (HD.2263) 3145 0 R (HD.2264) 3146 0 R ] /Limits [ (HD.2236) (HD.2264) ] >>
+<< /Names [ (HD.2120) 2990 0 R (HD.2121) 2991 0 R (HD.2122) 2992 0 R (HD.2123) 2993 0 R (HD.2124) 2994 0 R (HD.2125) 2995 0 R (HD.2126) 2996 0 R (HD.2127) 2997 0 R (HD.2128) 2998 0 R (HD.2129) 2999 0 R (HD.213) 880 0 R (HD.2130) 3000 0 R (HD.2131) 3001 0 R (HD.2132) 3002 0 R (HD.2133) 3003 0 R (HD.2134) 3004 0 R (HD.2135) 3005 0 R (HD.2136) 3006 0 R (HD.2137) 3007 0 R (HD.2138) 3008 0 R (HD.2139) 3009 0 R (HD.214) 881 0 R (HD.2140) 3010 0 R (HD.2141) 3011 0 R (HD.2142) 3012 0 R (HD.2143) 3013 0 R (HD.2144) 3014 0 R (HD.2145) 3015 0 R (HD.2146) 3016 0 R (HD.2147) 3017 0 R (HD.2148) 3018 0 R (HD.2149) 3019 0 R ] /Limits [ (HD.2120) (HD.2149) ] >>
endobj
4576 0 obj
-<< /Names [ (HD.2265) 3147 0 R (HD.2266) 3148 0 R (HD.2267) 3149 0 R (HD.2268) 3150 0 R (HD.2269) 3151 0 R (HD.227) 886 0 R (HD.2270) 3152 0 R (HD.2271) 3153 0 R (HD.2272) 3154 0 R (HD.2273) 3155 0 R (HD.2274) 3156 0 R (HD.2275) 3157 0 R (HD.2276) 3158 0 R (HD.2277) 3159 0 R (HD.2278) 3160 0 R (HD.2279) 3161 0 R (HD.228) 887 0 R (HD.2280) 3162 0 R (HD.2281) 3163 0 R (HD.2282) 3165 0 R (HD.2283) 3167 0 R (HD.2284) 3168 0 R (HD.2285) 3169 0 R (HD.2286) 3170 0 R (HD.2287) 3171 0 R (HD.2288) 3172 0 R (HD.2289) 3173 0 R (HD.229) 888 0 R (HD.2290) 3174 0 R (HD.2291) 3175 0 R (HD.2292) 3176 0 R (HD.2293) 3177 0 R ] /Limits [ (HD.2265) (HD.2293) ] >>
+<< /Names [ (HD.215) 882 0 R (HD.2150) 3020 0 R (HD.2151) 3021 0 R (HD.2152) 3022 0 R (HD.2153) 3023 0 R (HD.2154) 3025 0 R (HD.2155) 3026 0 R (HD.2156) 3028 0 R (HD.2157) 3029 0 R (HD.2158) 3030 0 R (HD.2159) 3031 0 R (HD.216) 883 0 R (HD.2160) 3032 0 R (HD.2161) 3033 0 R (HD.2162) 3040 0 R (HD.2163) 3041 0 R (HD.2164) 3042 0 R (HD.2165) 3043 0 R (HD.2166) 3044 0 R (HD.2167) 3045 0 R (HD.2168) 3046 0 R (HD.2169) 3047 0 R (HD.217) 884 0 R (HD.2170) 3048 0 R (HD.2171) 3049 0 R (HD.2172) 3050 0 R (HD.2173) 3051 0 R (HD.2174) 3052 0 R (HD.2175) 3053 0 R (HD.2176) 3054 0 R (HD.2177) 3055 0 R (HD.2178) 3056 0 R ] /Limits [ (HD.215) (HD.2178) ] >>
endobj
4577 0 obj
-<< /Names [ (HD.2294) 3178 0 R (HD.2295) 3179 0 R (HD.2296) 3180 0 R (HD.2297) 3181 0 R (HD.2298) 3182 0 R (HD.2299) 3183 0 R (HD.23) 658 0 R (HD.230) 889 0 R (HD.2300) 3184 0 R (HD.2301) 3185 0 R (HD.2302) 3186 0 R (HD.2303) 3187 0 R (HD.2304) 3188 0 R (HD.2305) 3189 0 R (HD.2306) 3190 0 R (HD.2307) 3191 0 R (HD.2308) 3192 0 R (HD.2309) 3193 0 R (HD.231) 890 0 R (HD.2310) 3194 0 R (HD.2311) 3195 0 R (HD.2312) 3200 0 R (HD.2313) 3201 0 R (HD.2314) 3202 0 R (HD.2315) 3203 0 R (HD.2316) 3204 0 R (HD.2317) 3205 0 R (HD.2318) 3206 0 R (HD.2319) 3207 0 R (HD.232) 891 0 R (HD.2320) 3208 0 R (HD.2321) 3209 0 R ] /Limits [ (HD.2294) (HD.2321) ] >>
+<< /Names [ (HD.2179) 3057 0 R (HD.218) 885 0 R (HD.2180) 3058 0 R (HD.2181) 3059 0 R (HD.2182) 3060 0 R (HD.2183) 3061 0 R (HD.2184) 3062 0 R (HD.2185) 3063 0 R (HD.2186) 3064 0 R (HD.2187) 3065 0 R (HD.2188) 3066 0 R (HD.2189) 3067 0 R (HD.219) 886 0 R (HD.2190) 3068 0 R (HD.2191) 3070 0 R (HD.2192) 3071 0 R (HD.2193) 3072 0 R (HD.2194) 3073 0 R (HD.2195) 3074 0 R (HD.2196) 3075 0 R (HD.2197) 3076 0 R (HD.2198) 3077 0 R (HD.2199) 3078 0 R (HD.22) 665 0 R (HD.220) 887 0 R (HD.2200) 3079 0 R (HD.2201) 3080 0 R (HD.2202) 3085 0 R (HD.2203) 3086 0 R (HD.2204) 3088 0 R (HD.2205) 3089 0 R (HD.2206) 3090 0 R ] /Limits [ (HD.2179) (HD.2206) ] >>
endobj
4578 0 obj
-<< /Names [ (HD.2322) 3210 0 R (HD.2323) 3211 0 R (HD.2324) 3212 0 R (HD.2325) 3213 0 R (HD.2326) 3214 0 R (HD.2327) 3215 0 R (HD.2328) 3216 0 R (HD.2329) 3217 0 R (HD.233) 892 0 R (HD.2330) 3218 0 R (HD.2331) 3219 0 R (HD.2332) 3220 0 R (HD.2333) 3221 0 R (HD.2334) 3222 0 R (HD.2335) 3223 0 R (HD.2336) 3224 0 R (HD.2337) 3225 0 R (HD.2338) 3226 0 R (HD.2339) 3227 0 R (HD.234) 893 0 R (HD.2340) 3228 0 R (HD.2341) 3229 0 R (HD.2342) 3230 0 R (HD.2343) 3231 0 R (HD.2344) 3232 0 R (HD.2345) 3233 0 R (HD.2346) 3234 0 R (HD.2347) 3235 0 R (HD.2348) 3236 0 R (HD.2349) 3237 0 R (HD.235) 898 0 R (HD.2350) 3238 0 R ] /Limits [ (HD.2322) (HD.2350) ] >>
+<< /Names [ (HD.2207) 3091 0 R (HD.2208) 3092 0 R (HD.2209) 3093 0 R (HD.221) 888 0 R (HD.2210) 3094 0 R (HD.2211) 3095 0 R (HD.2212) 3096 0 R (HD.2213) 3097 0 R (HD.2214) 3098 0 R (HD.2215) 3099 0 R (HD.2216) 3100 0 R (HD.2217) 3101 0 R (HD.2218) 3102 0 R (HD.2219) 3103 0 R (HD.222) 889 0 R (HD.2220) 3104 0 R (HD.2221) 3105 0 R (HD.2222) 3106 0 R (HD.2223) 3107 0 R (HD.2224) 3108 0 R (HD.2225) 3109 0 R (HD.2226) 3110 0 R (HD.2227) 3111 0 R (HD.2228) 3112 0 R (HD.2229) 3113 0 R (HD.223) 890 0 R (HD.2230) 3114 0 R (HD.2231) 3115 0 R (HD.2232) 3116 0 R (HD.2233) 3118 0 R (HD.2234) 3119 0 R (HD.2235) 3120 0 R ] /Limits [ (HD.2207) (HD.2235) ] >>
endobj
4579 0 obj
-<< /Names [ (HD.2351) 3239 0 R (HD.2352) 3240 0 R (HD.2353) 3241 0 R (HD.2354) 3242 0 R (HD.2355) 3243 0 R (HD.2356) 3244 0 R (HD.2357) 3245 0 R (HD.2358) 3246 0 R (HD.2359) 3253 0 R (HD.236) 899 0 R (HD.2360) 3254 0 R (HD.2361) 3256 0 R (HD.2362) 3257 0 R (HD.2363) 3258 0 R (HD.2364) 3259 0 R (HD.2365) 3260 0 R (HD.2366) 3261 0 R (HD.2367) 3262 0 R (HD.2368) 3263 0 R (HD.2369) 3264 0 R (HD.237) 900 0 R (HD.2370) 3265 0 R (HD.2371) 3266 0 R (HD.2372) 3268 0 R (HD.2373) 3269 0 R (HD.2374) 3270 0 R (HD.2375) 3271 0 R (HD.2376) 3273 0 R (HD.2377) 3275 0 R (HD.2378) 3276 0 R (HD.2379) 3277 0 R (HD.238) 901 0 R ] /Limits [ (HD.2351) (HD.238) ] >>
+<< /Names [ (HD.2236) 3121 0 R (HD.2237) 3122 0 R (HD.2238) 3123 0 R (HD.2239) 3124 0 R (HD.224) 891 0 R (HD.2240) 3125 0 R (HD.2241) 3126 0 R (HD.2242) 3127 0 R (HD.2243) 3128 0 R (HD.2244) 3129 0 R (HD.2245) 3130 0 R (HD.2246) 3131 0 R (HD.2247) 3132 0 R (HD.2248) 3133 0 R (HD.2249) 3134 0 R (HD.225) 892 0 R (HD.2250) 3135 0 R (HD.2251) 3136 0 R (HD.2252) 3137 0 R (HD.2253) 3138 0 R (HD.2254) 3144 0 R (HD.2255) 3145 0 R (HD.2256) 3146 0 R (HD.2257) 3147 0 R (HD.2258) 3148 0 R (HD.2259) 3149 0 R (HD.226) 893 0 R (HD.2260) 3150 0 R (HD.2261) 3151 0 R (HD.2262) 3152 0 R (HD.2263) 3153 0 R (HD.2264) 3154 0 R ] /Limits [ (HD.2236) (HD.2264) ] >>
endobj
4580 0 obj
-<< /Names [ (HD.2380) 3278 0 R (HD.2381) 3279 0 R (HD.2382) 3280 0 R (HD.2383) 3281 0 R (HD.2384) 3282 0 R (HD.2385) 3283 0 R (HD.2386) 3284 0 R (HD.2387) 3285 0 R (HD.2388) 3292 0 R (HD.2389) 3293 0 R (HD.239) 902 0 R (HD.2390) 3294 0 R (HD.2391) 3295 0 R (HD.2392) 3296 0 R (HD.2393) 3297 0 R (HD.2394) 3298 0 R (HD.2395) 3299 0 R (HD.2396) 3300 0 R (HD.2397) 3301 0 R (HD.2398) 3302 0 R (HD.2399) 3303 0 R (HD.24) 659 0 R (HD.240) 903 0 R (HD.2400) 3304 0 R (HD.2401) 3305 0 R (HD.2402) 3306 0 R (HD.2403) 3307 0 R (HD.2404) 3308 0 R (HD.2405) 3309 0 R (HD.2406) 3310 0 R (HD.2407) 3311 0 R (HD.2408) 3312 0 R ] /Limits [ (HD.2380) (HD.2408) ] >>
+<< /Names [ (HD.2265) 3155 0 R (HD.2266) 3156 0 R (HD.2267) 3157 0 R (HD.2268) 3158 0 R (HD.2269) 3159 0 R (HD.227) 894 0 R (HD.2270) 3160 0 R (HD.2271) 3161 0 R (HD.2272) 3162 0 R (HD.2273) 3163 0 R (HD.2274) 3165 0 R (HD.2275) 3167 0 R (HD.2276) 3168 0 R (HD.2277) 3169 0 R (HD.2278) 3170 0 R (HD.2279) 3171 0 R (HD.228) 895 0 R (HD.2280) 3172 0 R (HD.2281) 3173 0 R (HD.2282) 3174 0 R (HD.2283) 3175 0 R (HD.2284) 3176 0 R (HD.2285) 3177 0 R (HD.2286) 3178 0 R (HD.2287) 3179 0 R (HD.2288) 3180 0 R (HD.2289) 3181 0 R (HD.229) 896 0 R (HD.2290) 3182 0 R (HD.2291) 3183 0 R (HD.2292) 3184 0 R (HD.2293) 3185 0 R ] /Limits [ (HD.2265) (HD.2293) ] >>
endobj
4581 0 obj
-<< /Names [ (HD.2409) 3313 0 R (HD.241) 904 0 R (HD.2410) 3314 0 R (HD.2411) 3315 0 R (HD.2412) 3316 0 R (HD.2413) 3317 0 R (HD.2414) 3318 0 R (HD.2415) 3319 0 R (HD.2416) 3320 0 R (HD.2417) 3321 0 R (HD.2418) 3322 0 R (HD.2419) 3323 0 R (HD.242) 905 0 R (HD.2420) 3324 0 R (HD.2421) 3325 0 R (HD.2422) 3326 0 R (HD.2423) 3327 0 R (HD.2424) 3328 0 R (HD.2425) 3329 0 R (HD.2426) 3330 0 R (HD.2427) 3331 0 R (HD.2428) 3332 0 R (HD.2429) 3333 0 R (HD.243) 906 0 R (HD.2430) 3334 0 R (HD.2431) 3335 0 R (HD.2432) 3336 0 R (HD.2433) 3337 0 R (HD.2434) 3344 0 R (HD.2435) 3345 0 R (HD.2436) 3346 0 R (HD.2437) 3347 0 R ] /Limits [ (HD.2409) (HD.2437) ] >>
+<< /Names [ (HD.2294) 3186 0 R (HD.2295) 3187 0 R (HD.2296) 3188 0 R (HD.2297) 3189 0 R (HD.2298) 3190 0 R (HD.2299) 3191 0 R (HD.23) 666 0 R (HD.230) 897 0 R (HD.2300) 3192 0 R (HD.2301) 3193 0 R (HD.2302) 3194 0 R (HD.2303) 3199 0 R (HD.2304) 3200 0 R (HD.2305) 3201 0 R (HD.2306) 3202 0 R (HD.2307) 3203 0 R (HD.2308) 3204 0 R (HD.2309) 3205 0 R (HD.231) 898 0 R (HD.2310) 3206 0 R (HD.2311) 3207 0 R (HD.2312) 3208 0 R (HD.2313) 3209 0 R (HD.2314) 3210 0 R (HD.2315) 3211 0 R (HD.2316) 3212 0 R (HD.2317) 3213 0 R (HD.2318) 3214 0 R (HD.2319) 3215 0 R (HD.232) 899 0 R (HD.2320) 3216 0 R (HD.2321) 3217 0 R ] /Limits [ (HD.2294) (HD.2321) ] >>
endobj
4582 0 obj
-<< /Names [ (HD.2438) 3348 0 R (HD.2439) 3349 0 R (HD.244) 907 0 R (HD.2440) 3350 0 R (HD.2441) 3351 0 R (HD.2442) 3352 0 R (HD.2443) 3353 0 R (HD.2444) 3354 0 R (HD.2445) 3355 0 R (HD.2446) 3356 0 R (HD.2447) 3357 0 R (HD.2448) 3358 0 R (HD.2449) 3359 0 R (HD.245) 908 0 R (HD.2450) 3360 0 R (HD.2451) 3361 0 R (HD.2452) 3362 0 R (HD.2453) 3363 0 R (HD.2454) 3364 0 R (HD.2455) 3365 0 R (HD.2456) 3366 0 R (HD.2457) 3367 0 R (HD.2458) 3368 0 R (HD.2459) 3369 0 R (HD.246) 909 0 R (HD.2460) 3370 0 R (HD.2461) 3371 0 R (HD.2462) 3372 0 R (HD.2463) 3373 0 R (HD.2464) 3374 0 R (HD.2465) 3375 0 R (HD.2466) 3376 0 R ] /Limits [ (HD.2438) (HD.2466) ] >>
+<< /Names [ (HD.2322) 3218 0 R (HD.2323) 3219 0 R (HD.2324) 3220 0 R (HD.2325) 3221 0 R (HD.2326) 3222 0 R (HD.2327) 3223 0 R (HD.2328) 3224 0 R (HD.2329) 3225 0 R (HD.233) 904 0 R (HD.2330) 3226 0 R (HD.2331) 3227 0 R (HD.2332) 3228 0 R (HD.2333) 3229 0 R (HD.2334) 3230 0 R (HD.2335) 3231 0 R (HD.2336) 3232 0 R (HD.2337) 3233 0 R (HD.2338) 3234 0 R (HD.2339) 3235 0 R (HD.234) 905 0 R (HD.2340) 3236 0 R (HD.2341) 3237 0 R (HD.2342) 3238 0 R (HD.2343) 3239 0 R (HD.2344) 3240 0 R (HD.2345) 3241 0 R (HD.2346) 3242 0 R (HD.2347) 3243 0 R (HD.2348) 3244 0 R (HD.2349) 3245 0 R (HD.235) 906 0 R (HD.2350) 3252 0 R ] /Limits [ (HD.2322) (HD.2350) ] >>
endobj
4583 0 obj
-<< /Names [ (HD.2467) 3377 0 R (HD.2468) 3378 0 R (HD.2469) 3379 0 R (HD.247) 910 0 R (HD.2470) 3380 0 R (HD.2471) 3381 0 R (HD.2472) 3382 0 R (HD.2473) 3383 0 R (HD.2474) 3384 0 R (HD.2475) 3385 0 R (HD.2476) 3386 0 R (HD.2477) 3387 0 R (HD.2478) 3388 0 R (HD.2479) 3389 0 R (HD.248) 911 0 R (HD.2480) 3391 0 R (HD.2481) 3397 0 R (HD.2482) 3398 0 R (HD.2483) 3399 0 R (HD.2484) 3400 0 R (HD.2485) 3402 0 R (HD.2486) 3403 0 R (HD.2487) 3404 0 R (HD.2488) 3405 0 R (HD.2489) 3406 0 R (HD.249) 912 0 R (HD.2490) 3407 0 R (HD.2491) 3408 0 R (HD.2492) 3409 0 R (HD.2493) 3410 0 R (HD.2494) 3411 0 R (HD.2495) 3412 0 R ] /Limits [ (HD.2467) (HD.2495) ] >>
+<< /Names [ (HD.2351) 3253 0 R (HD.2352) 3255 0 R (HD.2353) 3256 0 R (HD.2354) 3257 0 R (HD.2355) 3258 0 R (HD.2356) 3259 0 R (HD.2357) 3260 0 R (HD.2358) 3261 0 R (HD.2359) 3262 0 R (HD.236) 907 0 R (HD.2360) 3263 0 R (HD.2361) 3264 0 R (HD.2362) 3265 0 R (HD.2363) 3267 0 R (HD.2364) 3268 0 R (HD.2365) 3269 0 R (HD.2366) 3270 0 R (HD.2367) 3272 0 R (HD.2368) 3274 0 R (HD.2369) 3275 0 R (HD.237) 908 0 R (HD.2370) 3276 0 R (HD.2371) 3277 0 R (HD.2372) 3278 0 R (HD.2373) 3279 0 R (HD.2374) 3280 0 R (HD.2375) 3281 0 R (HD.2376) 3282 0 R (HD.2377) 3283 0 R (HD.2378) 3284 0 R (HD.2379) 3291 0 R (HD.238) 909 0 R ] /Limits [ (HD.2351) (HD.238) ] >>
endobj
4584 0 obj
-<< /Names [ (HD.2496) 3413 0 R (HD.2497) 3415 0 R (HD.2498) 3416 0 R (HD.2499) 3417 0 R (HD.25) 660 0 R (HD.250) 913 0 R (HD.2500) 3418 0 R (HD.2501) 3419 0 R (HD.2502) 3420 0 R (HD.2503) 3421 0 R (HD.2504) 3422 0 R (HD.2505) 3423 0 R (HD.2506) 3424 0 R (HD.2507) 3425 0 R (HD.2508) 3426 0 R (HD.2509) 3427 0 R (HD.251) 914 0 R (HD.2510) 3428 0 R (HD.2511) 3429 0 R (HD.2512) 3430 0 R (HD.2513) 3431 0 R (HD.2514) 3432 0 R (HD.2515) 3433 0 R (HD.2516) 3434 0 R (HD.2517) 3435 0 R (HD.2518) 3436 0 R (HD.2519) 3437 0 R (HD.252) 915 0 R (HD.2520) 3438 0 R (HD.2521) 3439 0 R (HD.2522) 3440 0 R (HD.2523) 3441 0 R ] /Limits [ (HD.2496) (HD.2523) ] >>
+<< /Names [ (HD.2380) 3292 0 R (HD.2381) 3293 0 R (HD.2382) 3294 0 R (HD.2383) 3295 0 R (HD.2384) 3296 0 R (HD.2385) 3297 0 R (HD.2386) 3298 0 R (HD.2387) 3299 0 R (HD.2388) 3300 0 R (HD.2389) 3301 0 R (HD.239) 910 0 R (HD.2390) 3302 0 R (HD.2391) 3303 0 R (HD.2392) 3304 0 R (HD.2393) 3305 0 R (HD.2394) 3306 0 R (HD.2395) 3307 0 R (HD.2396) 3308 0 R (HD.2397) 3309 0 R (HD.2398) 3310 0 R (HD.2399) 3311 0 R (HD.24) 667 0 R (HD.240) 911 0 R (HD.2400) 3312 0 R (HD.2401) 3313 0 R (HD.2402) 3314 0 R (HD.2403) 3315 0 R (HD.2404) 3316 0 R (HD.2405) 3317 0 R (HD.2406) 3318 0 R (HD.2407) 3319 0 R (HD.2408) 3320 0 R ] /Limits [ (HD.2380) (HD.2408) ] >>
endobj
4585 0 obj
-<< /Names [ (HD.2524) 3442 0 R (HD.2525) 3443 0 R (HD.2526) 3444 0 R (HD.2527) 3445 0 R (HD.2528) 3446 0 R (HD.2529) 3447 0 R (HD.253) 916 0 R (HD.2530) 3448 0 R (HD.2531) 3449 0 R (HD.2532) 3450 0 R (HD.2533) 3456 0 R (HD.2534) 3457 0 R (HD.2535) 3458 0 R (HD.2536) 3459 0 R (HD.2537) 3460 0 R (HD.2538) 3461 0 R (HD.2539) 3462 0 R (HD.254) 917 0 R (HD.2540) 3463 0 R (HD.2541) 3464 0 R (HD.2542) 3465 0 R (HD.2543) 3466 0 R (HD.2544) 3467 0 R (HD.2545) 3468 0 R (HD.2546) 3469 0 R (HD.2547) 3470 0 R (HD.2548) 3471 0 R (HD.2549) 3472 0 R (HD.255) 918 0 R (HD.2550) 3473 0 R (HD.2551) 3474 0 R (HD.2552) 3475 0 R ] /Limits [ (HD.2524) (HD.2552) ] >>
+<< /Names [ (HD.2409) 3321 0 R (HD.241) 912 0 R (HD.2410) 3322 0 R (HD.2411) 3323 0 R (HD.2412) 3324 0 R (HD.2413) 3325 0 R (HD.2414) 3326 0 R (HD.2415) 3327 0 R (HD.2416) 3328 0 R (HD.2417) 3329 0 R (HD.2418) 3330 0 R (HD.2419) 3331 0 R (HD.242) 913 0 R (HD.2420) 3332 0 R (HD.2421) 3333 0 R (HD.2422) 3334 0 R (HD.2423) 3335 0 R (HD.2424) 3342 0 R (HD.2425) 3343 0 R (HD.2426) 3344 0 R (HD.2427) 3345 0 R (HD.2428) 3346 0 R (HD.2429) 3347 0 R (HD.243) 914 0 R (HD.2430) 3348 0 R (HD.2431) 3349 0 R (HD.2432) 3350 0 R (HD.2433) 3351 0 R (HD.2434) 3352 0 R (HD.2435) 3353 0 R (HD.2436) 3354 0 R (HD.2437) 3355 0 R ] /Limits [ (HD.2409) (HD.2437) ] >>
endobj
4586 0 obj
-<< /Names [ (HD.2553) 3476 0 R (HD.2554) 3477 0 R (HD.2555) 3478 0 R (HD.2556) 3479 0 R (HD.2557) 3480 0 R (HD.2558) 3481 0 R (HD.2559) 3482 0 R (HD.256) 919 0 R (HD.2560) 3483 0 R (HD.2561) 3484 0 R (HD.2562) 3485 0 R (HD.2563) 3486 0 R (HD.2564) 3487 0 R (HD.2565) 3488 0 R (HD.2566) 3489 0 R (HD.2567) 3490 0 R (HD.2568) 3491 0 R (HD.2569) 3492 0 R (HD.257) 920 0 R (HD.2570) 3493 0 R (HD.2571) 3494 0 R (HD.2572) 3495 0 R (HD.2573) 3496 0 R (HD.2574) 3497 0 R (HD.2575) 3498 0 R (HD.2576) 3499 0 R (HD.2577) 3500 0 R (HD.2578) 3501 0 R (HD.2579) 3502 0 R (HD.258) 921 0 R (HD.2580) 3503 0 R (HD.2581) 3504 0 R ] /Limits [ (HD.2553) (HD.2581) ] >>
+<< /Names [ (HD.2438) 3356 0 R (HD.2439) 3357 0 R (HD.244) 915 0 R (HD.2440) 3358 0 R (HD.2441) 3359 0 R (HD.2442) 3360 0 R (HD.2443) 3361 0 R (HD.2444) 3362 0 R (HD.2445) 3363 0 R (HD.2446) 3364 0 R (HD.2447) 3365 0 R (HD.2448) 3366 0 R (HD.2449) 3367 0 R (HD.245) 916 0 R (HD.2450) 3368 0 R (HD.2451) 3369 0 R (HD.2452) 3370 0 R (HD.2453) 3371 0 R (HD.2454) 3372 0 R (HD.2455) 3373 0 R (HD.2456) 3374 0 R (HD.2457) 3375 0 R (HD.2458) 3376 0 R (HD.2459) 3377 0 R (HD.246) 917 0 R (HD.2460) 3378 0 R (HD.2461) 3379 0 R (HD.2462) 3380 0 R (HD.2463) 3381 0 R (HD.2464) 3382 0 R (HD.2465) 3383 0 R (HD.2466) 3384 0 R ] /Limits [ (HD.2438) (HD.2466) ] >>
endobj
4587 0 obj
-<< /Names [ (HD.2582) 3505 0 R (HD.2583) 3512 0 R (HD.2584) 3513 0 R (HD.2585) 3514 0 R (HD.2586) 3515 0 R (HD.2587) 3516 0 R (HD.2588) 3517 0 R (HD.2589) 3518 0 R (HD.259) 922 0 R (HD.2590) 3519 0 R (HD.2591) 3520 0 R (HD.2592) 3521 0 R (HD.2593) 3522 0 R (HD.2594) 3523 0 R (HD.2595) 3524 0 R (HD.2596) 3525 0 R (HD.2597) 3526 0 R (HD.2598) 3527 0 R (HD.2599) 3528 0 R (HD.26) 661 0 R (HD.260) 923 0 R (HD.2600) 3529 0 R (HD.2601) 3530 0 R (HD.2602) 3531 0 R (HD.2603) 3532 0 R (HD.2604) 3533 0 R (HD.2605) 3534 0 R (HD.2606) 3535 0 R (HD.2607) 3536 0 R (HD.2608) 3537 0 R (HD.2609) 3538 0 R (HD.261) 924 0 R ] /Limits [ (HD.2582) (HD.261) ] >>
+<< /Names [ (HD.2467) 3385 0 R (HD.2468) 3386 0 R (HD.2469) 3387 0 R (HD.247) 918 0 R (HD.2470) 3389 0 R (HD.2471) 3395 0 R (HD.2472) 3396 0 R (HD.2473) 3397 0 R (HD.2474) 3398 0 R (HD.2475) 3400 0 R (HD.2476) 3401 0 R (HD.2477) 3402 0 R (HD.2478) 3403 0 R (HD.2479) 3404 0 R (HD.248) 919 0 R (HD.2480) 3405 0 R (HD.2481) 3406 0 R (HD.2482) 3407 0 R (HD.2483) 3408 0 R (HD.2484) 3409 0 R (HD.2485) 3410 0 R (HD.2486) 3411 0 R (HD.2487) 3413 0 R (HD.2488) 3414 0 R (HD.2489) 3415 0 R (HD.249) 920 0 R (HD.2490) 3416 0 R (HD.2491) 3417 0 R (HD.2492) 3418 0 R (HD.2493) 3419 0 R (HD.2494) 3420 0 R (HD.2495) 3421 0 R ] /Limits [ (HD.2467) (HD.2495) ] >>
endobj
4588 0 obj
-<< /Names [ (HD.2610) 3539 0 R (HD.2611) 3540 0 R (HD.2612) 3541 0 R (HD.2613) 3542 0 R (HD.2614) 3543 0 R (HD.2615) 3544 0 R (HD.2616) 3545 0 R (HD.2617) 3546 0 R (HD.2618) 3547 0 R (HD.2619) 3548 0 R (HD.262) 925 0 R (HD.2620) 3549 0 R (HD.2621) 3550 0 R (HD.2622) 3551 0 R (HD.2623) 3552 0 R (HD.2624) 3553 0 R (HD.2625) 3554 0 R (HD.2626) 3555 0 R (HD.2627) 3556 0 R (HD.2628) 3557 0 R (HD.2629) 3558 0 R (HD.263) 926 0 R (HD.2630) 3559 0 R (HD.2631) 3560 0 R (HD.2632) 3561 0 R (HD.2633) 3562 0 R (HD.2634) 3563 0 R (HD.2635) 3564 0 R (HD.2636) 3565 0 R (HD.2637) 3566 0 R (HD.2638) 3567 0 R (HD.2639) 3568 0 R ] /Limits [ (HD.2610) (HD.2639) ] >>
+<< /Names [ (HD.2496) 3422 0 R (HD.2497) 3423 0 R (HD.2498) 3424 0 R (HD.2499) 3425 0 R (HD.25) 668 0 R (HD.250) 921 0 R (HD.2500) 3426 0 R (HD.2501) 3427 0 R (HD.2502) 3428 0 R (HD.2503) 3429 0 R (HD.2504) 3430 0 R (HD.2505) 3431 0 R (HD.2506) 3432 0 R (HD.2507) 3433 0 R (HD.2508) 3434 0 R (HD.2509) 3435 0 R (HD.251) 922 0 R (HD.2510) 3436 0 R (HD.2511) 3437 0 R (HD.2512) 3438 0 R (HD.2513) 3439 0 R (HD.2514) 3440 0 R (HD.2515) 3441 0 R (HD.2516) 3442 0 R (HD.2517) 3443 0 R (HD.2518) 3444 0 R (HD.2519) 3445 0 R (HD.252) 923 0 R (HD.2520) 3446 0 R (HD.2521) 3447 0 R (HD.2522) 3453 0 R (HD.2523) 3454 0 R ] /Limits [ (HD.2496) (HD.2523) ] >>
endobj
4589 0 obj
-<< /Names [ (HD.264) 927 0 R (HD.2640) 3569 0 R (HD.2641) 3570 0 R (HD.2642) 3571 0 R (HD.2643) 3572 0 R (HD.2644) 3573 0 R (HD.2645) 3574 0 R (HD.2646) 3579 0 R (HD.2647) 3580 0 R (HD.2648) 3581 0 R (HD.2649) 3582 0 R (HD.265) 928 0 R (HD.2650) 3583 0 R (HD.2651) 3584 0 R (HD.2652) 3585 0 R (HD.2653) 3586 0 R (HD.2654) 3587 0 R (HD.2655) 3588 0 R (HD.2656) 3589 0 R (HD.2657) 3590 0 R (HD.2658) 3591 0 R (HD.2659) 3592 0 R (HD.266) 929 0 R (HD.2660) 3593 0 R (HD.2661) 3594 0 R (HD.2662) 3595 0 R (HD.2663) 3596 0 R (HD.2664) 3597 0 R (HD.2665) 3598 0 R (HD.2666) 3599 0 R (HD.2667) 3600 0 R (HD.2668) 3601 0 R ] /Limits [ (HD.264) (HD.2668) ] >>
+<< /Names [ (HD.2524) 3455 0 R (HD.2525) 3456 0 R (HD.2526) 3457 0 R (HD.2527) 3458 0 R (HD.2528) 3459 0 R (HD.2529) 3460 0 R (HD.253) 924 0 R (HD.2530) 3461 0 R (HD.2531) 3462 0 R (HD.2532) 3463 0 R (HD.2533) 3464 0 R (HD.2534) 3465 0 R (HD.2535) 3466 0 R (HD.2536) 3467 0 R (HD.2537) 3468 0 R (HD.2538) 3469 0 R (HD.2539) 3470 0 R (HD.254) 925 0 R (HD.2540) 3471 0 R (HD.2541) 3472 0 R (HD.2542) 3473 0 R (HD.2543) 3474 0 R (HD.2544) 3475 0 R (HD.2545) 3476 0 R (HD.2546) 3477 0 R (HD.2547) 3478 0 R (HD.2548) 3479 0 R (HD.2549) 3480 0 R (HD.255) 926 0 R (HD.2550) 3481 0 R (HD.2551) 3482 0 R (HD.2552) 3483 0 R ] /Limits [ (HD.2524) (HD.2552) ] >>
endobj
4590 0 obj
-<< /Names [ (HD.2669) 3602 0 R (HD.267) 934 0 R (HD.2670) 3603 0 R (HD.2671) 3604 0 R (HD.2672) 3605 0 R (HD.2673) 3606 0 R (HD.2674) 3607 0 R (HD.2675) 3608 0 R (HD.2676) 3609 0 R (HD.2677) 3610 0 R (HD.2678) 3611 0 R (HD.2679) 3612 0 R (HD.268) 935 0 R (HD.2680) 3613 0 R (HD.2681) 3614 0 R (HD.2682) 3615 0 R (HD.2683) 3616 0 R (HD.2684) 3617 0 R (HD.2685) 3618 0 R (HD.2686) 3619 0 R (HD.2687) 3620 0 R (HD.2688) 3621 0 R (HD.2689) 3622 0 R (HD.269) 936 0 R (HD.2690) 3623 0 R (HD.2691) 3624 0 R (HD.2692) 3625 0 R (HD.2693) 3626 0 R (HD.2694) 3627 0 R (HD.2695) 3628 0 R (HD.2696) 3629 0 R (HD.2697) 3635 0 R ] /Limits [ (HD.2669) (HD.2697) ] >>
+<< /Names [ (HD.2553) 3484 0 R (HD.2554) 3485 0 R (HD.2555) 3486 0 R (HD.2556) 3487 0 R (HD.2557) 3488 0 R (HD.2558) 3489 0 R (HD.2559) 3490 0 R (HD.256) 927 0 R (HD.2560) 3491 0 R (HD.2561) 3492 0 R (HD.2562) 3493 0 R (HD.2563) 3494 0 R (HD.2564) 3495 0 R (HD.2565) 3496 0 R (HD.2566) 3497 0 R (HD.2567) 3498 0 R (HD.2568) 3499 0 R (HD.2569) 3500 0 R (HD.257) 928 0 R (HD.2570) 3501 0 R (HD.2571) 3508 0 R (HD.2572) 3509 0 R (HD.2573) 3510 0 R (HD.2574) 3511 0 R (HD.2575) 3512 0 R (HD.2576) 3513 0 R (HD.2577) 3514 0 R (HD.2578) 3515 0 R (HD.2579) 3516 0 R (HD.258) 929 0 R (HD.2580) 3517 0 R (HD.2581) 3518 0 R ] /Limits [ (HD.2553) (HD.2581) ] >>
endobj
4591 0 obj
-<< /Names [ (HD.2698) 3636 0 R (HD.2699) 3637 0 R (HD.27) 662 0 R (HD.270) 937 0 R (HD.2700) 3638 0 R (HD.2701) 3639 0 R (HD.2702) 3640 0 R (HD.2703) 3641 0 R (HD.2704) 3642 0 R (HD.2705) 3643 0 R (HD.2706) 3644 0 R (HD.2707) 3645 0 R (HD.2708) 3646 0 R (HD.2709) 3647 0 R (HD.271) 938 0 R (HD.2710) 3648 0 R (HD.2711) 3649 0 R (HD.2712) 3650 0 R (HD.2713) 3651 0 R (HD.2714) 3652 0 R (HD.2715) 3653 0 R (HD.2716) 3654 0 R (HD.2717) 3655 0 R (HD.2718) 3656 0 R (HD.2719) 3657 0 R (HD.272) 939 0 R (HD.2720) 3658 0 R (HD.2721) 3659 0 R (HD.2722) 3660 0 R (HD.2723) 3661 0 R (HD.2724) 3662 0 R (HD.2725) 3663 0 R ] /Limits [ (HD.2698) (HD.2725) ] >>
+<< /Names [ (HD.2582) 3519 0 R (HD.2583) 3520 0 R (HD.2584) 3521 0 R (HD.2585) 3522 0 R (HD.2586) 3523 0 R (HD.2587) 3524 0 R (HD.2588) 3525 0 R (HD.2589) 3526 0 R (HD.259) 930 0 R (HD.2590) 3527 0 R (HD.2591) 3528 0 R (HD.2592) 3529 0 R (HD.2593) 3530 0 R (HD.2594) 3531 0 R (HD.2595) 3532 0 R (HD.2596) 3533 0 R (HD.2597) 3534 0 R (HD.2598) 3535 0 R (HD.2599) 3536 0 R (HD.26) 669 0 R (HD.260) 931 0 R (HD.2600) 3537 0 R (HD.2601) 3538 0 R (HD.2602) 3539 0 R (HD.2603) 3540 0 R (HD.2604) 3541 0 R (HD.2605) 3542 0 R (HD.2606) 3543 0 R (HD.2607) 3544 0 R (HD.2608) 3545 0 R (HD.2609) 3546 0 R (HD.261) 932 0 R ] /Limits [ (HD.2582) (HD.261) ] >>
endobj
4592 0 obj
-<< /Names [ (HD.2726) 3664 0 R (HD.2727) 3665 0 R (HD.2728) 3666 0 R (HD.2729) 3667 0 R (HD.273) 940 0 R (HD.2730) 3668 0 R (HD.2731) 3669 0 R (HD.2732) 3674 0 R (HD.2733) 3675 0 R (HD.2734) 3676 0 R (HD.2735) 3677 0 R (HD.2736) 3678 0 R (HD.2737) 3679 0 R (HD.2738) 3680 0 R (HD.2739) 3681 0 R (HD.274) 941 0 R (HD.2740) 3682 0 R (HD.2741) 3683 0 R (HD.2742) 3684 0 R (HD.2743) 3685 0 R (HD.2744) 3686 0 R (HD.2745) 3687 0 R (HD.2746) 3688 0 R (HD.2747) 3689 0 R (HD.2748) 3690 0 R (HD.2749) 3691 0 R (HD.275) 942 0 R (HD.2750) 3692 0 R (HD.2751) 3693 0 R (HD.2752) 3694 0 R (HD.2753) 3695 0 R (HD.2754) 3696 0 R ] /Limits [ (HD.2726) (HD.2754) ] >>
+<< /Names [ (HD.2610) 3547 0 R (HD.2611) 3548 0 R (HD.2612) 3549 0 R (HD.2613) 3550 0 R (HD.2614) 3551 0 R (HD.2615) 3552 0 R (HD.2616) 3553 0 R (HD.2617) 3554 0 R (HD.2618) 3555 0 R (HD.2619) 3556 0 R (HD.262) 933 0 R (HD.2620) 3557 0 R (HD.2621) 3558 0 R (HD.2622) 3559 0 R (HD.2623) 3560 0 R (HD.2624) 3561 0 R (HD.2625) 3562 0 R (HD.2626) 3563 0 R (HD.2627) 3564 0 R (HD.2628) 3565 0 R (HD.2629) 3566 0 R (HD.263) 934 0 R (HD.2630) 3567 0 R (HD.2631) 3568 0 R (HD.2632) 3574 0 R (HD.2633) 3575 0 R (HD.2634) 3576 0 R (HD.2635) 3577 0 R (HD.2636) 3578 0 R (HD.2637) 3579 0 R (HD.2638) 3580 0 R (HD.2639) 3581 0 R ] /Limits [ (HD.2610) (HD.2639) ] >>
endobj
4593 0 obj
-<< /Names [ (HD.2755) 3697 0 R (HD.2756) 3698 0 R (HD.2757) 3699 0 R (HD.2758) 3700 0 R (HD.2759) 3701 0 R (HD.276) 943 0 R (HD.2760) 3702 0 R (HD.2761) 3703 0 R (HD.2762) 3704 0 R (HD.2763) 3705 0 R (HD.2764) 3706 0 R (HD.2765) 3707 0 R (HD.2766) 3708 0 R (HD.2767) 3709 0 R (HD.2768) 3710 0 R (HD.2769) 3711 0 R (HD.277) 944 0 R (HD.2770) 3712 0 R (HD.2771) 3713 0 R (HD.2772) 3714 0 R (HD.2773) 3715 0 R (HD.2774) 3716 0 R (HD.2775) 3717 0 R (HD.2776) 3718 0 R (HD.2777) 3719 0 R (HD.2778) 3720 0 R (HD.2779) 3725 0 R (HD.278) 945 0 R (HD.2780) 3726 0 R (HD.2781) 3727 0 R (HD.2782) 3728 0 R (HD.2783) 3729 0 R ] /Limits [ (HD.2755) (HD.2783) ] >>
+<< /Names [ (HD.264) 935 0 R (HD.2640) 3582 0 R (HD.2641) 3583 0 R (HD.2642) 3584 0 R (HD.2643) 3585 0 R (HD.2644) 3586 0 R (HD.2645) 3587 0 R (HD.2646) 3588 0 R (HD.2647) 3589 0 R (HD.2648) 3590 0 R (HD.2649) 3591 0 R (HD.265) 936 0 R (HD.2650) 3592 0 R (HD.2651) 3593 0 R (HD.2652) 3594 0 R (HD.2653) 3595 0 R (HD.2654) 3596 0 R (HD.2655) 3597 0 R (HD.2656) 3598 0 R (HD.2657) 3599 0 R (HD.2658) 3600 0 R (HD.2659) 3601 0 R (HD.266) 937 0 R (HD.2660) 3602 0 R (HD.2661) 3603 0 R (HD.2662) 3604 0 R (HD.2663) 3605 0 R (HD.2664) 3606 0 R (HD.2665) 3607 0 R (HD.2666) 3608 0 R (HD.2667) 3609 0 R (HD.2668) 3610 0 R ] /Limits [ (HD.264) (HD.2668) ] >>
endobj
4594 0 obj
-<< /Names [ (HD.2784) 3730 0 R (HD.2785) 3731 0 R (HD.2786) 3732 0 R (HD.2787) 3733 0 R (HD.2788) 3734 0 R (HD.2789) 3735 0 R (HD.279) 946 0 R (HD.2790) 3736 0 R (HD.2791) 3737 0 R (HD.2792) 3738 0 R (HD.2793) 3739 0 R (HD.2794) 3740 0 R (HD.2795) 3741 0 R (HD.2796) 3742 0 R (HD.2797) 3743 0 R (HD.2798) 3744 0 R (HD.2799) 3745 0 R (HD.28) 663 0 R (HD.280) 947 0 R (HD.2800) 3746 0 R (HD.2801) 3747 0 R (HD.2802) 3748 0 R (HD.2803) 3749 0 R (HD.2804) 3750 0 R (HD.2805) 3751 0 R (HD.2806) 3752 0 R (HD.2807) 3753 0 R (HD.2808) 3754 0 R (HD.2809) 3755 0 R (HD.281) 948 0 R (HD.2810) 3756 0 R (HD.2811) 3757 0 R ] /Limits [ (HD.2784) (HD.2811) ] >>
+<< /Names [ (HD.2669) 3611 0 R (HD.267) 938 0 R (HD.2670) 3612 0 R (HD.2671) 3613 0 R (HD.2672) 3614 0 R (HD.2673) 3615 0 R (HD.2674) 3616 0 R (HD.2675) 3617 0 R (HD.2676) 3618 0 R (HD.2677) 3619 0 R (HD.2678) 3620 0 R (HD.2679) 3621 0 R (HD.268) 939 0 R (HD.2680) 3622 0 R (HD.2681) 3623 0 R (HD.2682) 3624 0 R (HD.2683) 3629 0 R (HD.2684) 3630 0 R (HD.2685) 3631 0 R (HD.2686) 3632 0 R (HD.2687) 3633 0 R (HD.2688) 3634 0 R (HD.2689) 3635 0 R (HD.269) 940 0 R (HD.2690) 3636 0 R (HD.2691) 3637 0 R (HD.2692) 3638 0 R (HD.2693) 3639 0 R (HD.2694) 3640 0 R (HD.2695) 3641 0 R (HD.2696) 3642 0 R (HD.2697) 3643 0 R ] /Limits [ (HD.2669) (HD.2697) ] >>
endobj
4595 0 obj
-<< /Names [ (HD.2812) 3758 0 R (HD.2813) 3759 0 R (HD.2814) 3760 0 R (HD.2815) 3761 0 R (HD.2816) 3762 0 R (HD.2817) 3763 0 R (HD.2818) 3764 0 R (HD.2819) 3765 0 R (HD.282) 949 0 R (HD.2820) 3770 0 R (HD.2821) 3771 0 R (HD.2822) 3772 0 R (HD.2823) 3773 0 R (HD.2824) 3774 0 R (HD.2825) 3775 0 R (HD.2826) 3776 0 R (HD.2827) 3777 0 R (HD.2828) 3778 0 R (HD.2829) 3779 0 R (HD.283) 950 0 R (HD.2830) 3780 0 R (HD.2831) 3781 0 R (HD.2832) 3782 0 R (HD.2833) 3783 0 R (HD.2834) 3784 0 R (HD.2835) 3785 0 R (HD.2836) 3786 0 R (HD.2837) 3787 0 R (HD.2838) 3788 0 R (HD.2839) 3789 0 R (HD.284) 951 0 R (HD.2840) 3790 0 R ] /Limits [ (HD.2812) (HD.2840) ] >>
+<< /Names [ (HD.2698) 3644 0 R (HD.2699) 3645 0 R (HD.27) 670 0 R (HD.270) 941 0 R (HD.2700) 3646 0 R (HD.2701) 3647 0 R (HD.2702) 3648 0 R (HD.2703) 3649 0 R (HD.2704) 3650 0 R (HD.2705) 3651 0 R (HD.2706) 3652 0 R (HD.2707) 3653 0 R (HD.2708) 3654 0 R (HD.2709) 3655 0 R (HD.271) 942 0 R (HD.2710) 3656 0 R (HD.2711) 3657 0 R (HD.2712) 3658 0 R (HD.2713) 3659 0 R (HD.2714) 3660 0 R (HD.2715) 3661 0 R (HD.2716) 3662 0 R (HD.2717) 3663 0 R (HD.2718) 3664 0 R (HD.2719) 3665 0 R (HD.272) 943 0 R (HD.2720) 3666 0 R (HD.2721) 3671 0 R (HD.2722) 3672 0 R (HD.2723) 3673 0 R (HD.2724) 3674 0 R (HD.2725) 3675 0 R ] /Limits [ (HD.2698) (HD.2725) ] >>
endobj
4596 0 obj
-<< /Names [ (HD.2841) 3791 0 R (HD.2842) 3792 0 R (HD.2843) 3793 0 R (HD.2844) 3794 0 R (HD.2845) 3795 0 R (HD.2846) 3796 0 R (HD.2847) 3797 0 R (HD.2848) 3798 0 R (HD.2849) 3799 0 R (HD.285) 952 0 R (HD.2850) 3800 0 R (HD.2851) 3801 0 R (HD.2852) 3802 0 R (HD.2853) 3803 0 R (HD.2854) 3804 0 R (HD.2855) 3805 0 R (HD.2856) 3806 0 R (HD.2857) 3807 0 R (HD.2858) 3808 0 R (HD.2859) 3809 0 R (HD.286) 953 0 R (HD.2860) 3810 0 R (HD.2861) 3811 0 R (HD.2862) 3812 0 R (HD.2863) 3813 0 R (HD.2864) 3814 0 R (HD.2865) 3815 0 R (HD.2866) 3816 0 R (HD.2867) 3817 0 R (HD.2868) 3822 0 R (HD.2869) 3823 0 R (HD.287) 954 0 R ] /Limits [ (HD.2841) (HD.287) ] >>
+<< /Names [ (HD.2726) 3676 0 R (HD.2727) 3677 0 R (HD.2728) 3678 0 R (HD.2729) 3679 0 R (HD.273) 948 0 R (HD.2730) 3680 0 R (HD.2731) 3681 0 R (HD.2732) 3682 0 R (HD.2733) 3683 0 R (HD.2734) 3684 0 R (HD.2735) 3685 0 R (HD.2736) 3686 0 R (HD.2737) 3687 0 R (HD.2738) 3688 0 R (HD.2739) 3689 0 R (HD.274) 949 0 R (HD.2740) 3690 0 R (HD.2741) 3691 0 R (HD.2742) 3692 0 R (HD.2743) 3693 0 R (HD.2744) 3694 0 R (HD.2745) 3695 0 R (HD.2746) 3696 0 R (HD.2747) 3697 0 R (HD.2748) 3698 0 R (HD.2749) 3699 0 R (HD.275) 950 0 R (HD.2750) 3700 0 R (HD.2751) 3701 0 R (HD.2752) 3702 0 R (HD.2753) 3703 0 R (HD.2754) 3704 0 R ] /Limits [ (HD.2726) (HD.2754) ] >>
endobj
4597 0 obj
-<< /Names [ (HD.2870) 3824 0 R (HD.2871) 3825 0 R (HD.2872) 3826 0 R (HD.2873) 3827 0 R (HD.2874) 3828 0 R (HD.2875) 3829 0 R (HD.2876) 3830 0 R (HD.2877) 3831 0 R (HD.2878) 3832 0 R (HD.2879) 3833 0 R (HD.288) 955 0 R (HD.2880) 3834 0 R (HD.2881) 3835 0 R (HD.2882) 3836 0 R (HD.2883) 3837 0 R (HD.2884) 3838 0 R (HD.2885) 3839 0 R (HD.2886) 3840 0 R (HD.2887) 3841 0 R (HD.2888) 3842 0 R (HD.2889) 3843 0 R (HD.289) 956 0 R (HD.2890) 3844 0 R (HD.2891) 3845 0 R (HD.2892) 3846 0 R (HD.2893) 3847 0 R (HD.2894) 3848 0 R (HD.2895) 3849 0 R (HD.2896) 3850 0 R (HD.2897) 3851 0 R (HD.2898) 3852 0 R (HD.2899) 3853 0 R ] /Limits [ (HD.2870) (HD.2899) ] >>
+<< /Names [ (HD.2755) 3705 0 R (HD.2756) 3706 0 R (HD.2757) 3707 0 R (HD.2758) 3708 0 R (HD.2759) 3709 0 R (HD.276) 951 0 R (HD.2760) 3710 0 R (HD.2761) 3711 0 R (HD.2762) 3712 0 R (HD.2763) 3713 0 R (HD.2764) 3714 0 R (HD.2765) 3715 0 R (HD.2766) 3720 0 R (HD.2767) 3721 0 R (HD.2768) 3722 0 R (HD.2769) 3723 0 R (HD.277) 952 0 R (HD.2770) 3724 0 R (HD.2771) 3725 0 R (HD.2772) 3726 0 R (HD.2773) 3727 0 R (HD.2774) 3728 0 R (HD.2775) 3729 0 R (HD.2776) 3730 0 R (HD.2777) 3731 0 R (HD.2778) 3732 0 R (HD.2779) 3733 0 R (HD.278) 953 0 R (HD.2780) 3734 0 R (HD.2781) 3735 0 R (HD.2782) 3736 0 R (HD.2783) 3737 0 R ] /Limits [ (HD.2755) (HD.2783) ] >>
endobj
4598 0 obj
-<< /Names [ (HD.29) 664 0 R (HD.290) 957 0 R (HD.2900) 3854 0 R (HD.2901) 3855 0 R (HD.2902) 3856 0 R (HD.2903) 3857 0 R (HD.2904) 3858 0 R (HD.2905) 3859 0 R (HD.2906) 3860 0 R (HD.2907) 3865 0 R (HD.2908) 3866 0 R (HD.2909) 3867 0 R (HD.291) 958 0 R (HD.2910) 3868 0 R (HD.2911) 3869 0 R (HD.2912) 3870 0 R (HD.2913) 3871 0 R (HD.2914) 3872 0 R (HD.2915) 3873 0 R (HD.2916) 3874 0 R (HD.2917) 3875 0 R (HD.2918) 3876 0 R (HD.2919) 3877 0 R (HD.292) 959 0 R (HD.2920) 3878 0 R (HD.2921) 3879 0 R (HD.2922) 3880 0 R (HD.2923) 3881 0 R (HD.2924) 3882 0 R (HD.2925) 3883 0 R (HD.2926) 3884 0 R (HD.2927) 3885 0 R ] /Limits [ (HD.29) (HD.2927) ] >>
+<< /Names [ (HD.2784) 3738 0 R (HD.2785) 3739 0 R (HD.2786) 3740 0 R (HD.2787) 3741 0 R (HD.2788) 3742 0 R (HD.2789) 3743 0 R (HD.279) 954 0 R (HD.2790) 3744 0 R (HD.2791) 3745 0 R (HD.2792) 3746 0 R (HD.2793) 3747 0 R (HD.2794) 3748 0 R (HD.2795) 3749 0 R (HD.2796) 3754 0 R (HD.2797) 3755 0 R (HD.2798) 3756 0 R (HD.2799) 3757 0 R (HD.28) 671 0 R (HD.280) 955 0 R (HD.2800) 3758 0 R (HD.2801) 3759 0 R (HD.2802) 3760 0 R (HD.2803) 3761 0 R (HD.2804) 3762 0 R (HD.2805) 3763 0 R (HD.2806) 3764 0 R (HD.2807) 3765 0 R (HD.2808) 3766 0 R (HD.2809) 3767 0 R (HD.281) 956 0 R (HD.2810) 3768 0 R (HD.2811) 3769 0 R ] /Limits [ (HD.2784) (HD.2811) ] >>
endobj
4599 0 obj
-<< /Names [ (HD.2928) 3886 0 R (HD.2929) 3887 0 R (HD.293) 960 0 R (HD.2930) 3888 0 R (HD.2931) 3889 0 R (HD.2932) 3890 0 R (HD.2933) 3891 0 R (HD.2934) 3892 0 R (HD.2935) 3893 0 R (HD.2936) 3894 0 R (HD.2937) 3895 0 R (HD.2938) 3896 0 R (HD.2939) 3897 0 R (HD.294) 961 0 R (HD.2940) 3898 0 R (HD.2941) 3899 0 R (HD.2942) 3900 0 R (HD.2943) 3901 0 R (HD.2944) 3902 0 R (HD.2945) 3903 0 R (HD.2946) 3904 0 R (HD.2947) 3905 0 R (HD.2948) 3906 0 R (HD.2949) 3907 0 R (HD.295) 962 0 R (HD.2950) 3908 0 R (HD.2951) 3909 0 R (HD.2952) 3910 0 R (HD.2953) 3911 0 R (HD.2954) 3912 0 R (HD.2955) 3913 0 R (HD.2956) 3914 0 R ] /Limits [ (HD.2928) (HD.2956) ] >>
+<< /Names [ (HD.2812) 3770 0 R (HD.2813) 3771 0 R (HD.2814) 3772 0 R (HD.2815) 3773 0 R (HD.2816) 3774 0 R (HD.2817) 3775 0 R (HD.2818) 3776 0 R (HD.2819) 3777 0 R (HD.282) 957 0 R (HD.2820) 3778 0 R (HD.2821) 3779 0 R (HD.2822) 3780 0 R (HD.2823) 3781 0 R (HD.2824) 3782 0 R (HD.2825) 3783 0 R (HD.2826) 3784 0 R (HD.2827) 3785 0 R (HD.2828) 3786 0 R (HD.2829) 3787 0 R (HD.283) 958 0 R (HD.2830) 3788 0 R (HD.2831) 3789 0 R (HD.2832) 3790 0 R (HD.2833) 3795 0 R (HD.2834) 3796 0 R (HD.2835) 3797 0 R (HD.2836) 3798 0 R (HD.2837) 3799 0 R (HD.2838) 3800 0 R (HD.2839) 3801 0 R (HD.284) 959 0 R (HD.2840) 3802 0 R ] /Limits [ (HD.2812) (HD.2840) ] >>
endobj
4600 0 obj
-<< /Names [ (HD.2957) 3915 0 R (HD.2958) 3916 0 R (HD.2959) 3921 0 R (HD.296) 963 0 R (HD.2960) 3922 0 R (HD.2961) 3923 0 R (HD.2962) 3924 0 R (HD.2963) 3925 0 R (HD.2964) 3926 0 R (HD.2965) 3927 0 R (HD.2966) 3928 0 R (HD.2967) 3929 0 R (HD.2968) 3930 0 R (HD.2969) 3931 0 R (HD.297) 964 0 R (HD.2970) 3932 0 R (HD.2971) 3933 0 R (HD.2972) 3934 0 R (HD.2973) 3935 0 R (HD.2974) 3936 0 R (HD.2975) 3937 0 R (HD.2976) 3938 0 R (HD.2977) 3939 0 R (HD.2978) 3940 0 R (HD.2979) 3941 0 R (HD.298) 965 0 R (HD.2980) 3942 0 R (HD.2981) 3943 0 R (HD.2982) 3944 0 R (HD.2983) 3945 0 R (HD.2984) 3946 0 R (HD.2985) 3947 0 R ] /Limits [ (HD.2957) (HD.2985) ] >>
+<< /Names [ (HD.2841) 3803 0 R (HD.2842) 3804 0 R (HD.2843) 3805 0 R (HD.2844) 3806 0 R (HD.2845) 3807 0 R (HD.2846) 3808 0 R (HD.2847) 3809 0 R (HD.2848) 3810 0 R (HD.2849) 3811 0 R (HD.285) 960 0 R (HD.2850) 3812 0 R (HD.2851) 3813 0 R (HD.2852) 3814 0 R (HD.2853) 3815 0 R (HD.2854) 3816 0 R (HD.2855) 3817 0 R (HD.2856) 3818 0 R (HD.2857) 3819 0 R (HD.2858) 3820 0 R (HD.2859) 3821 0 R (HD.286) 961 0 R (HD.2860) 3822 0 R (HD.2861) 3823 0 R (HD.2862) 3824 0 R (HD.2863) 3825 0 R (HD.2864) 3826 0 R (HD.2865) 3827 0 R (HD.2866) 3828 0 R (HD.2867) 3829 0 R (HD.2868) 3830 0 R (HD.2869) 3831 0 R (HD.287) 962 0 R ] /Limits [ (HD.2841) (HD.287) ] >>
endobj
4601 0 obj
-<< /Names [ (HD.2986) 3948 0 R (HD.2987) 3949 0 R (HD.2988) 3950 0 R (HD.2989) 3951 0 R (HD.299) 966 0 R (HD.2990) 3952 0 R (HD.2991) 3953 0 R (HD.2992) 3954 0 R (HD.2993) 3955 0 R (HD.2994) 3956 0 R (HD.2995) 3957 0 R (HD.2996) 3958 0 R (HD.2997) 3959 0 R (HD.2998) 3960 0 R (HD.2999) 3961 0 R (HD.3) 638 0 R (HD.30) 665 0 R (HD.300) 967 0 R (HD.3000) 3962 0 R (HD.3001) 3963 0 R (HD.3002) 3964 0 R (HD.3003) 3965 0 R (HD.3004) 3966 0 R (HD.3005) 3971 0 R (HD.3006) 3972 0 R (HD.3007) 3973 0 R (HD.3008) 3974 0 R (HD.3009) 3975 0 R (HD.301) 968 0 R (HD.3010) 3976 0 R (HD.3011) 3977 0 R (HD.3012) 3978 0 R ] /Limits [ (HD.2986) (HD.3012) ] >>
+<< /Names [ (HD.2870) 3832 0 R (HD.2871) 3833 0 R (HD.2872) 3834 0 R (HD.2873) 3835 0 R (HD.2874) 3836 0 R (HD.2875) 3841 0 R (HD.2876) 3842 0 R (HD.2877) 3843 0 R (HD.2878) 3844 0 R (HD.2879) 3845 0 R (HD.288) 963 0 R (HD.2880) 3846 0 R (HD.2881) 3847 0 R (HD.2882) 3848 0 R (HD.2883) 3849 0 R (HD.2884) 3850 0 R (HD.2885) 3851 0 R (HD.2886) 3852 0 R (HD.2887) 3853 0 R (HD.2888) 3854 0 R (HD.2889) 3855 0 R (HD.289) 964 0 R (HD.2890) 3856 0 R (HD.2891) 3857 0 R (HD.2892) 3858 0 R (HD.2893) 3859 0 R (HD.2894) 3860 0 R (HD.2895) 3861 0 R (HD.2896) 3862 0 R (HD.2897) 3863 0 R (HD.2898) 3864 0 R (HD.2899) 3865 0 R ] /Limits [ (HD.2870) (HD.2899) ] >>
endobj
4602 0 obj
-<< /Names [ (HD.3013) 3979 0 R (HD.3014) 3980 0 R (HD.3015) 3981 0 R (HD.3016) 3982 0 R (HD.3017) 3983 0 R (HD.3018) 3984 0 R (HD.3019) 3985 0 R (HD.302) 969 0 R (HD.3020) 3986 0 R (HD.3021) 3987 0 R (HD.3022) 3988 0 R (HD.3023) 3989 0 R (HD.3024) 3990 0 R (HD.3025) 3991 0 R (HD.3026) 3992 0 R (HD.3027) 3993 0 R (HD.3028) 3994 0 R (HD.3029) 3995 0 R (HD.303) 970 0 R (HD.3030) 3996 0 R (HD.3031) 3997 0 R (HD.3032) 3998 0 R (HD.3033) 3999 0 R (HD.3034) 4000 0 R (HD.3035) 4001 0 R (HD.3036) 4002 0 R (HD.3037) 4003 0 R (HD.3038) 4004 0 R (HD.3039) 4005 0 R (HD.304) 971 0 R (HD.3040) 4006 0 R (HD.3041) 4007 0 R ] /Limits [ (HD.3013) (HD.3041) ] >>
+<< /Names [ (HD.29) 672 0 R (HD.290) 965 0 R (HD.2900) 3866 0 R (HD.2901) 3867 0 R (HD.2902) 3868 0 R (HD.2903) 3869 0 R (HD.2904) 3870 0 R (HD.2905) 3871 0 R (HD.2906) 3872 0 R (HD.2907) 3873 0 R (HD.2908) 3874 0 R (HD.2909) 3875 0 R (HD.291) 966 0 R (HD.2910) 3876 0 R (HD.2911) 3877 0 R (HD.2912) 3878 0 R (HD.2913) 3879 0 R (HD.2914) 3880 0 R (HD.2915) 3881 0 R (HD.2916) 3882 0 R (HD.2917) 3883 0 R (HD.2918) 3884 0 R (HD.2919) 3889 0 R (HD.292) 967 0 R (HD.2920) 3890 0 R (HD.2921) 3891 0 R (HD.2922) 3892 0 R (HD.2923) 3893 0 R (HD.2924) 3894 0 R (HD.2925) 3895 0 R (HD.2926) 3896 0 R (HD.2927) 3897 0 R ] /Limits [ (HD.29) (HD.2927) ] >>
endobj
4603 0 obj
-<< /Names [ (HD.3042) 4008 0 R (HD.3043) 4009 0 R (HD.3044) 4010 0 R (HD.3045) 4011 0 R (HD.3046) 4012 0 R (HD.3047) 4013 0 R (HD.3048) 4014 0 R (HD.3049) 4015 0 R (HD.305) 972 0 R (HD.3050) 4016 0 R (HD.3051) 4017 0 R (HD.3052) 4018 0 R (HD.3053) 4019 0 R (HD.3054) 4020 0 R (HD.3055) 4025 0 R (HD.3056) 4026 0 R (HD.3057) 4027 0 R (HD.3058) 4028 0 R (HD.3059) 4029 0 R (HD.306) 973 0 R (HD.3060) 4030 0 R (HD.3061) 4031 0 R (HD.3062) 4032 0 R (HD.3063) 4033 0 R (HD.3064) 4034 0 R (HD.3065) 4035 0 R (HD.3066) 4036 0 R (HD.3067) 4037 0 R (HD.3068) 4038 0 R (HD.3069) 4039 0 R (HD.307) 974 0 R (HD.3070) 4040 0 R ] /Limits [ (HD.3042) (HD.3070) ] >>
+<< /Names [ (HD.2928) 3898 0 R (HD.2929) 3899 0 R (HD.293) 968 0 R (HD.2930) 3900 0 R (HD.2931) 3901 0 R (HD.2932) 3902 0 R (HD.2933) 3903 0 R (HD.2934) 3904 0 R (HD.2935) 3905 0 R (HD.2936) 3906 0 R (HD.2937) 3907 0 R (HD.2938) 3908 0 R (HD.2939) 3909 0 R (HD.294) 969 0 R (HD.2940) 3910 0 R (HD.2941) 3911 0 R (HD.2942) 3912 0 R (HD.2943) 3913 0 R (HD.2944) 3914 0 R (HD.2945) 3915 0 R (HD.2946) 3916 0 R (HD.2947) 3917 0 R (HD.2948) 3918 0 R (HD.2949) 3919 0 R (HD.295) 970 0 R (HD.2950) 3920 0 R (HD.2951) 3921 0 R (HD.2952) 3922 0 R (HD.2953) 3923 0 R (HD.2954) 3924 0 R (HD.2955) 3925 0 R (HD.2956) 3926 0 R ] /Limits [ (HD.2928) (HD.2956) ] >>
endobj
4604 0 obj
-<< /Names [ (HD.3071) 4041 0 R (HD.3072) 4042 0 R (HD.3073) 4043 0 R (HD.3074) 4044 0 R (HD.3075) 4045 0 R (HD.3076) 4046 0 R (HD.3077) 4047 0 R (HD.3078) 4048 0 R (HD.3079) 4049 0 R (HD.308) 975 0 R (HD.3080) 4050 0 R (HD.3081) 4051 0 R (HD.3082) 4052 0 R (HD.3083) 4053 0 R (HD.3084) 4054 0 R (HD.3085) 4055 0 R (HD.3086) 4056 0 R (HD.3087) 4057 0 R (HD.3088) 4058 0 R (HD.3089) 4059 0 R (HD.309) 976 0 R (HD.3090) 4060 0 R (HD.3091) 4061 0 R (HD.3092) 4062 0 R (HD.3093) 4063 0 R (HD.3094) 4064 0 R (HD.3095) 4065 0 R (HD.3096) 4066 0 R (HD.3097) 4067 0 R (HD.3098) 4068 0 R (HD.3099) 4069 0 R (HD.31) 666 0 R ] /Limits [ (HD.3071) (HD.31) ] >>
+<< /Names [ (HD.2957) 3927 0 R (HD.2958) 3928 0 R (HD.2959) 3929 0 R (HD.296) 971 0 R (HD.2960) 3930 0 R (HD.2961) 3931 0 R (HD.2962) 3932 0 R (HD.2963) 3933 0 R (HD.2964) 3934 0 R (HD.2965) 3935 0 R (HD.2966) 3936 0 R (HD.2967) 3937 0 R (HD.2968) 3938 0 R (HD.2969) 3939 0 R (HD.297) 972 0 R (HD.2970) 3940 0 R (HD.2971) 3941 0 R (HD.2972) 3942 0 R (HD.2973) 3943 0 R (HD.2974) 3948 0 R (HD.2975) 3949 0 R (HD.2976) 3950 0 R (HD.2977) 3951 0 R (HD.2978) 3952 0 R (HD.2979) 3953 0 R (HD.298) 973 0 R (HD.2980) 3954 0 R (HD.2981) 3955 0 R (HD.2982) 3956 0 R (HD.2983) 3957 0 R (HD.2984) 3958 0 R (HD.2985) 3959 0 R ] /Limits [ (HD.2957) (HD.2985) ] >>
endobj
4605 0 obj
-<< /Names [ (HD.310) 977 0 R (HD.3100) 4070 0 R (HD.3101) 4071 0 R (HD.3102) 4072 0 R (HD.3103) 4073 0 R (HD.3104) 4074 0 R (HD.3105) 4075 0 R (HD.3106) 4076 0 R (HD.3107) 4077 0 R (HD.3108) 4078 0 R (HD.3109) 4079 0 R (HD.311) 978 0 R (HD.3110) 4080 0 R (HD.3111) 4081 0 R (HD.3112) 4082 0 R (HD.3113) 4083 0 R (HD.3114) 4084 0 R (HD.3115) 4085 0 R (HD.3116) 4086 0 R (HD.3117) 4091 0 R (HD.3118) 4092 0 R (HD.3119) 4093 0 R (HD.312) 979 0 R (HD.3120) 4094 0 R (HD.3121) 4095 0 R (HD.3122) 4096 0 R (HD.3123) 4097 0 R (HD.3124) 4098 0 R (HD.3125) 4099 0 R (HD.3126) 4100 0 R (HD.3127) 4101 0 R (HD.3128) 4102 0 R ] /Limits [ (HD.310) (HD.3128) ] >>
+<< /Names [ (HD.2986) 3960 0 R (HD.2987) 3961 0 R (HD.2988) 3962 0 R (HD.2989) 3963 0 R (HD.299) 974 0 R (HD.2990) 3964 0 R (HD.2991) 3965 0 R (HD.2992) 3966 0 R (HD.2993) 3967 0 R (HD.2994) 3968 0 R (HD.2995) 3969 0 R (HD.2996) 3970 0 R (HD.2997) 3971 0 R (HD.2998) 3972 0 R (HD.2999) 3973 0 R (HD.3) 646 0 R (HD.30) 673 0 R (HD.300) 975 0 R (HD.3000) 3974 0 R (HD.3001) 3975 0 R (HD.3002) 3976 0 R (HD.3003) 3977 0 R (HD.3004) 3978 0 R (HD.3005) 3979 0 R (HD.3006) 3980 0 R (HD.3007) 3981 0 R (HD.3008) 3982 0 R (HD.3009) 3983 0 R (HD.301) 976 0 R (HD.3010) 3984 0 R (HD.3011) 3985 0 R (HD.3012) 3986 0 R ] /Limits [ (HD.2986) (HD.3012) ] >>
endobj
4606 0 obj
-<< /Names [ (HD.3129) 4103 0 R (HD.313) 980 0 R (HD.3130) 4104 0 R (HD.3131) 4105 0 R (HD.3132) 4106 0 R (HD.3133) 4107 0 R (HD.3134) 4108 0 R (HD.3135) 4109 0 R (HD.3136) 4110 0 R (HD.3137) 4111 0 R (HD.3138) 4112 0 R (HD.3139) 4113 0 R (HD.314) 981 0 R (HD.3140) 4114 0 R (HD.3141) 4115 0 R (HD.3142) 4116 0 R (HD.3143) 4117 0 R (HD.3144) 4118 0 R (HD.3145) 4119 0 R (HD.3146) 4120 0 R (HD.3147) 4121 0 R (HD.3148) 4122 0 R (HD.3149) 4123 0 R (HD.315) 982 0 R (HD.3150) 4124 0 R (HD.3151) 4125 0 R (HD.3152) 4126 0 R (HD.3153) 4127 0 R (HD.3154) 4128 0 R (HD.3155) 4129 0 R (HD.3156) 4130 0 R (HD.3157) 4131 0 R ] /Limits [ (HD.3129) (HD.3157) ] >>
+<< /Names [ (HD.3013) 3987 0 R (HD.3014) 3988 0 R (HD.3015) 3989 0 R (HD.3016) 3990 0 R (HD.3017) 3991 0 R (HD.3018) 3992 0 R (HD.3019) 3993 0 R (HD.302) 977 0 R (HD.3020) 3994 0 R (HD.3021) 3999 0 R (HD.3022) 4000 0 R (HD.3023) 4001 0 R (HD.3024) 4002 0 R (HD.3025) 4003 0 R (HD.3026) 4004 0 R (HD.3027) 4005 0 R (HD.3028) 4006 0 R (HD.3029) 4007 0 R (HD.303) 978 0 R (HD.3030) 4008 0 R (HD.3031) 4009 0 R (HD.3032) 4010 0 R (HD.3033) 4011 0 R (HD.3034) 4012 0 R (HD.3035) 4013 0 R (HD.3036) 4014 0 R (HD.3037) 4015 0 R (HD.3038) 4016 0 R (HD.3039) 4017 0 R (HD.304) 979 0 R (HD.3040) 4018 0 R (HD.3041) 4019 0 R ] /Limits [ (HD.3013) (HD.3041) ] >>
endobj
4607 0 obj
-<< /Names [ (HD.3158) 4132 0 R (HD.3159) 4133 0 R (HD.316) 983 0 R (HD.3160) 4134 0 R (HD.3161) 4135 0 R (HD.3162) 4136 0 R (HD.3163) 4137 0 R (HD.3164) 4138 0 R (HD.3165) 4139 0 R (HD.3166) 4140 0 R (HD.3167) 4141 0 R (HD.3168) 4142 0 R (HD.3169) 4148 0 R (HD.317) 984 0 R (HD.3170) 4149 0 R (HD.3171) 4150 0 R (HD.3172) 4151 0 R (HD.3173) 4152 0 R (HD.3174) 4153 0 R (HD.3175) 4154 0 R (HD.3176) 4155 0 R (HD.3177) 4156 0 R (HD.3178) 4157 0 R (HD.3179) 4158 0 R (HD.318) 985 0 R (HD.3180) 4159 0 R (HD.3181) 4160 0 R (HD.3182) 4161 0 R (HD.3183) 4162 0 R (HD.3184) 4163 0 R (HD.3185) 4164 0 R (HD.3186) 4165 0 R ] /Limits [ (HD.3158) (HD.3186) ] >>
+<< /Names [ (HD.3042) 4020 0 R (HD.3043) 4021 0 R (HD.3044) 4022 0 R (HD.3045) 4023 0 R (HD.3046) 4024 0 R (HD.3047) 4025 0 R (HD.3048) 4026 0 R (HD.3049) 4027 0 R (HD.305) 980 0 R (HD.3050) 4028 0 R (HD.3051) 4029 0 R (HD.3052) 4030 0 R (HD.3053) 4031 0 R (HD.3054) 4032 0 R (HD.3055) 4033 0 R (HD.3056) 4034 0 R (HD.3057) 4035 0 R (HD.3058) 4036 0 R (HD.3059) 4037 0 R (HD.306) 981 0 R (HD.3060) 4038 0 R (HD.3061) 4039 0 R (HD.3062) 4040 0 R (HD.3063) 4041 0 R (HD.3064) 4042 0 R (HD.3065) 4043 0 R (HD.3066) 4044 0 R (HD.3067) 4045 0 R (HD.3068) 4046 0 R (HD.3069) 4052 0 R (HD.307) 982 0 R (HD.3070) 4053 0 R ] /Limits [ (HD.3042) (HD.3070) ] >>
endobj
4608 0 obj
-<< /Names [ (HD.3187) 4166 0 R (HD.3188) 4167 0 R (HD.3189) 4168 0 R (HD.319) 986 0 R (HD.3190) 4169 0 R (HD.3191) 4170 0 R (HD.3192) 4171 0 R (HD.3193) 4172 0 R (HD.3194) 4173 0 R (HD.3195) 4174 0 R (HD.3196) 4175 0 R (HD.3197) 4176 0 R (HD.3198) 4177 0 R (HD.3199) 4178 0 R (HD.32) 667 0 R (HD.320) 987 0 R (HD.3200) 4179 0 R (HD.3201) 4180 0 R (HD.3202) 4181 0 R (HD.3203) 4182 0 R (HD.3204) 4183 0 R (HD.3205) 4184 0 R (HD.3206) 4185 0 R (HD.3207) 4186 0 R (HD.3208) 4187 0 R (HD.3209) 4188 0 R (HD.321) 994 0 R (HD.3210) 4189 0 R (HD.3211) 4190 0 R (HD.3212) 4191 0 R (HD.3213) 4192 0 R (HD.3214) 4193 0 R ] /Limits [ (HD.3187) (HD.3214) ] >>
+<< /Names [ (HD.3071) 4054 0 R (HD.3072) 4055 0 R (HD.3073) 4056 0 R (HD.3074) 4057 0 R (HD.3075) 4058 0 R (HD.3076) 4059 0 R (HD.3077) 4060 0 R (HD.3078) 4061 0 R (HD.3079) 4062 0 R (HD.308) 983 0 R (HD.3080) 4063 0 R (HD.3081) 4064 0 R (HD.3082) 4065 0 R (HD.3083) 4066 0 R (HD.3084) 4067 0 R (HD.3085) 4068 0 R (HD.3086) 4069 0 R (HD.3087) 4070 0 R (HD.3088) 4071 0 R (HD.3089) 4072 0 R (HD.309) 984 0 R (HD.3090) 4073 0 R (HD.3091) 4074 0 R (HD.3092) 4075 0 R (HD.3093) 4076 0 R (HD.3094) 4077 0 R (HD.3095) 4078 0 R (HD.3096) 4079 0 R (HD.3097) 4080 0 R (HD.3098) 4081 0 R (HD.3099) 4082 0 R (HD.31) 674 0 R ] /Limits [ (HD.3071) (HD.31) ] >>
endobj
4609 0 obj
-<< /Names [ (HD.3215) 4194 0 R (HD.3216) 4195 0 R (HD.322) 995 0 R (HD.323) 996 0 R (HD.324) 997 0 R (HD.325) 998 0 R (HD.326) 999 0 R (HD.327) 1000 0 R (HD.328) 1001 0 R (HD.329) 1002 0 R (HD.33) 668 0 R (HD.330) 1003 0 R (HD.331) 1004 0 R (HD.332) 1005 0 R (HD.333) 1006 0 R (HD.334) 1007 0 R (HD.335) 1008 0 R (HD.336) 1009 0 R (HD.337) 1010 0 R (HD.338) 1011 0 R (HD.339) 1012 0 R (HD.34) 669 0 R (HD.340) 1013 0 R (HD.341) 1014 0 R (HD.342) 1015 0 R (HD.343) 1016 0 R (HD.344) 1017 0 R (HD.345) 1018 0 R (HD.346) 1019 0 R (HD.347) 1020 0 R (HD.348) 1021 0 R (HD.349) 1022 0 R ] /Limits [ (HD.3215) (HD.349) ] >>
+<< /Names [ (HD.310) 985 0 R (HD.3100) 4083 0 R (HD.3101) 4084 0 R (HD.3102) 4085 0 R (HD.3103) 4086 0 R (HD.3104) 4087 0 R (HD.3105) 4088 0 R (HD.3106) 4089 0 R (HD.3107) 4090 0 R (HD.3108) 4091 0 R (HD.3109) 4092 0 R (HD.311) 986 0 R (HD.3110) 4093 0 R (HD.3111) 4094 0 R (HD.3112) 4095 0 R (HD.3113) 4096 0 R (HD.3114) 4097 0 R (HD.3115) 4098 0 R (HD.3116) 4099 0 R (HD.3117) 4100 0 R (HD.3118) 4101 0 R (HD.3119) 4102 0 R (HD.312) 987 0 R (HD.3120) 4103 0 R (HD.3121) 4104 0 R (HD.3122) 4105 0 R (HD.3123) 4106 0 R (HD.3124) 4107 0 R (HD.3125) 4108 0 R (HD.3126) 4109 0 R (HD.3127) 4110 0 R (HD.3128) 4111 0 R ] /Limits [ (HD.310) (HD.3128) ] >>
endobj
4610 0 obj
-<< /Names [ (HD.35) 670 0 R (HD.350) 1023 0 R (HD.351) 1024 0 R (HD.352) 1025 0 R (HD.353) 1032 0 R (HD.354) 1033 0 R (HD.355) 1034 0 R (HD.356) 1035 0 R (HD.357) 1036 0 R (HD.358) 1037 0 R (HD.359) 1038 0 R (HD.36) 671 0 R (HD.360) 1039 0 R (HD.361) 1040 0 R (HD.362) 1041 0 R (HD.363) 1042 0 R (HD.364) 1043 0 R (HD.365) 1044 0 R (HD.366) 1045 0 R (HD.367) 1046 0 R (HD.368) 1047 0 R (HD.369) 1048 0 R (HD.37) 676 0 R (HD.370) 1049 0 R (HD.371) 1050 0 R (HD.372) 1051 0 R (HD.373) 1052 0 R (HD.374) 1053 0 R (HD.375) 1054 0 R (HD.376) 1055 0 R (HD.377) 1056 0 R (HD.378) 1057 0 R ] /Limits [ (HD.35) (HD.378) ] >>
+<< /Names [ (HD.3129) 4112 0 R (HD.313) 988 0 R (HD.3130) 4113 0 R (HD.3131) 4118 0 R (HD.3132) 4119 0 R (HD.3133) 4120 0 R (HD.3134) 4121 0 R (HD.3135) 4122 0 R (HD.3136) 4123 0 R (HD.3137) 4124 0 R (HD.3138) 4125 0 R (HD.3139) 4126 0 R (HD.314) 989 0 R (HD.3140) 4127 0 R (HD.3141) 4128 0 R (HD.3142) 4129 0 R (HD.3143) 4130 0 R (HD.3144) 4131 0 R (HD.3145) 4132 0 R (HD.3146) 4133 0 R (HD.3147) 4134 0 R (HD.3148) 4135 0 R (HD.3149) 4136 0 R (HD.315) 990 0 R (HD.3150) 4137 0 R (HD.3151) 4138 0 R (HD.3152) 4139 0 R (HD.3153) 4140 0 R (HD.3154) 4141 0 R (HD.3155) 4142 0 R (HD.3156) 4143 0 R (HD.3157) 4144 0 R ] /Limits [ (HD.3129) (HD.3157) ] >>
endobj
4611 0 obj
-<< /Names [ (HD.379) 1058 0 R (HD.38) 677 0 R (HD.380) 1059 0 R (HD.381) 1060 0 R (HD.382) 1061 0 R (HD.383) 1062 0 R (HD.384) 1063 0 R (HD.385) 1064 0 R (HD.386) 1065 0 R (HD.387) 1066 0 R (HD.388) 1067 0 R (HD.389) 1068 0 R (HD.39) 678 0 R (HD.390) 1069 0 R (HD.391) 1070 0 R (HD.392) 1071 0 R (HD.393) 1072 0 R (HD.394) 1073 0 R (HD.395) 1074 0 R (HD.396) 1075 0 R (HD.397) 1076 0 R (HD.398) 1077 0 R (HD.399) 1078 0 R (HD.4) 639 0 R (HD.40) 679 0 R (HD.400) 1079 0 R (HD.401) 1080 0 R (HD.402) 1081 0 R (HD.403) 1082 0 R (HD.404) 1083 0 R (HD.405) 1088 0 R (HD.406) 1089 0 R ] /Limits [ (HD.379) (HD.406) ] >>
+<< /Names [ (HD.3158) 4145 0 R (HD.3159) 4146 0 R (HD.316) 991 0 R (HD.3160) 4147 0 R (HD.3161) 4148 0 R (HD.3162) 4149 0 R (HD.3163) 4150 0 R (HD.3164) 4151 0 R (HD.3165) 4152 0 R (HD.3166) 4153 0 R (HD.3167) 4154 0 R (HD.3168) 4155 0 R (HD.3169) 4156 0 R (HD.317) 992 0 R (HD.3170) 4157 0 R (HD.3171) 4158 0 R (HD.3172) 4159 0 R (HD.3173) 4160 0 R (HD.3174) 4161 0 R (HD.3175) 4162 0 R (HD.3176) 4163 0 R (HD.3177) 4164 0 R (HD.3178) 4165 0 R (HD.3179) 4166 0 R (HD.318) 993 0 R (HD.3180) 4167 0 R (HD.3181) 4168 0 R (HD.3182) 4169 0 R (HD.3183) 4170 0 R (HD.3184) 4171 0 R (HD.3185) 4176 0 R (HD.3186) 4177 0 R ] /Limits [ (HD.3158) (HD.3186) ] >>
endobj
4612 0 obj
-<< /Names [ (HD.407) 1090 0 R (HD.408) 1091 0 R (HD.409) 1092 0 R (HD.41) 680 0 R (HD.410) 1093 0 R (HD.411) 1094 0 R (HD.412) 1095 0 R (HD.413) 1096 0 R (HD.414) 1097 0 R (HD.415) 1098 0 R (HD.416) 1099 0 R (HD.417) 1100 0 R (HD.418) 1101 0 R (HD.419) 1102 0 R (HD.42) 681 0 R (HD.420) 1103 0 R (HD.421) 1104 0 R (HD.422) 1105 0 R (HD.423) 1106 0 R (HD.424) 1107 0 R (HD.425) 1108 0 R (HD.426) 1109 0 R (HD.427) 1110 0 R (HD.428) 1111 0 R (HD.429) 1112 0 R (HD.43) 682 0 R (HD.430) 1113 0 R (HD.431) 1114 0 R (HD.432) 1115 0 R (HD.433) 1116 0 R (HD.434) 1117 0 R (HD.435) 1118 0 R ] /Limits [ (HD.407) (HD.435) ] >>
+<< /Names [ (HD.3187) 4178 0 R (HD.3188) 4179 0 R (HD.3189) 4180 0 R (HD.319) 994 0 R (HD.3190) 4181 0 R (HD.3191) 4182 0 R (HD.3192) 4183 0 R (HD.3193) 4184 0 R (HD.3194) 4185 0 R (HD.3195) 4186 0 R (HD.3196) 4187 0 R (HD.3197) 4188 0 R (HD.3198) 4189 0 R (HD.3199) 4190 0 R (HD.32) 675 0 R (HD.320) 995 0 R (HD.3200) 4191 0 R (HD.3201) 4192 0 R (HD.3202) 4193 0 R (HD.3203) 4194 0 R (HD.3204) 4195 0 R (HD.3205) 4196 0 R (HD.3206) 4197 0 R (HD.3207) 4198 0 R (HD.3208) 4199 0 R (HD.3209) 4200 0 R (HD.321) 996 0 R (HD.3210) 4201 0 R (HD.3211) 4202 0 R (HD.3212) 4203 0 R (HD.3213) 4204 0 R (HD.3214) 4205 0 R ] /Limits [ (HD.3187) (HD.3214) ] >>
endobj
4613 0 obj
-<< /Names [ (HD.436) 1119 0 R (HD.437) 1120 0 R (HD.438) 1121 0 R (HD.439) 1122 0 R (HD.44) 683 0 R (HD.440) 1123 0 R (HD.441) 1124 0 R (HD.442) 1125 0 R (HD.443) 1126 0 R (HD.444) 1127 0 R (HD.445) 1128 0 R (HD.446) 1129 0 R (HD.447) 1130 0 R (HD.448) 1131 0 R (HD.449) 1132 0 R (HD.45) 684 0 R (HD.450) 1133 0 R (HD.451) 1134 0 R (HD.452) 1135 0 R (HD.453) 1136 0 R (HD.454) 1137 0 R (HD.455) 1138 0 R (HD.456) 1139 0 R (HD.457) 1140 0 R (HD.458) 1141 0 R (HD.459) 1142 0 R (HD.46) 685 0 R (HD.460) 1143 0 R (HD.461) 1144 0 R (HD.462) 1145 0 R (HD.463) 1146 0 R (HD.464) 1151 0 R ] /Limits [ (HD.436) (HD.464) ] >>
+<< /Names [ (HD.3215) 4206 0 R (HD.3216) 4207 0 R (HD.3217) 4208 0 R (HD.3218) 4209 0 R (HD.322) 997 0 R (HD.323) 998 0 R (HD.324) 999 0 R (HD.325) 1007 0 R (HD.326) 1008 0 R (HD.327) 1009 0 R (HD.328) 1010 0 R (HD.329) 1011 0 R (HD.33) 676 0 R (HD.330) 1012 0 R (HD.331) 1013 0 R (HD.332) 1014 0 R (HD.333) 1015 0 R (HD.334) 1016 0 R (HD.335) 1017 0 R (HD.336) 1018 0 R (HD.337) 1019 0 R (HD.338) 1020 0 R (HD.339) 1021 0 R (HD.34) 681 0 R (HD.340) 1022 0 R (HD.341) 1023 0 R (HD.342) 1024 0 R (HD.343) 1025 0 R (HD.344) 1026 0 R (HD.345) 1027 0 R (HD.346) 1028 0 R (HD.347) 1029 0 R ] /Limits [ (HD.3215) (HD.347) ] >>
endobj
4614 0 obj
-<< /Names [ (HD.465) 1152 0 R (HD.466) 1153 0 R (HD.467) 1154 0 R (HD.468) 1155 0 R (HD.469) 1156 0 R (HD.47) 686 0 R (HD.470) 1157 0 R (HD.471) 1158 0 R (HD.472) 1159 0 R (HD.473) 1160 0 R (HD.474) 1161 0 R (HD.475) 1162 0 R (HD.476) 1163 0 R (HD.477) 1164 0 R (HD.478) 1165 0 R (HD.479) 1166 0 R (HD.48) 687 0 R (HD.480) 1167 0 R (HD.481) 1168 0 R (HD.482) 1169 0 R (HD.483) 1170 0 R (HD.484) 1171 0 R (HD.485) 1172 0 R (HD.486) 1173 0 R (HD.487) 1174 0 R (HD.488) 1175 0 R (HD.489) 1176 0 R (HD.49) 688 0 R (HD.490) 1177 0 R (HD.491) 1178 0 R (HD.492) 1179 0 R (HD.493) 1180 0 R ] /Limits [ (HD.465) (HD.493) ] >>
+<< /Names [ (HD.348) 1030 0 R (HD.349) 1031 0 R (HD.35) 682 0 R (HD.350) 1032 0 R (HD.351) 1033 0 R (HD.352) 1034 0 R (HD.353) 1035 0 R (HD.354) 1036 0 R (HD.355) 1037 0 R (HD.356) 1043 0 R (HD.357) 1044 0 R (HD.358) 1045 0 R (HD.359) 1046 0 R (HD.36) 683 0 R (HD.360) 1047 0 R (HD.361) 1048 0 R (HD.362) 1049 0 R (HD.363) 1050 0 R (HD.364) 1051 0 R (HD.365) 1052 0 R (HD.366) 1053 0 R (HD.367) 1054 0 R (HD.368) 1055 0 R (HD.369) 1056 0 R (HD.37) 684 0 R (HD.370) 1057 0 R (HD.371) 1058 0 R (HD.372) 1059 0 R (HD.373) 1060 0 R (HD.374) 1061 0 R (HD.375) 1062 0 R (HD.376) 1063 0 R ] /Limits [ (HD.348) (HD.376) ] >>
endobj
4615 0 obj
-<< /Names [ (HD.494) 1181 0 R (HD.495) 1182 0 R (HD.496) 1183 0 R (HD.497) 1184 0 R (HD.498) 1185 0 R (HD.499) 1186 0 R (HD.5) 640 0 R (HD.50) 689 0 R (HD.500) 1187 0 R (HD.501) 1188 0 R (HD.502) 1189 0 R (HD.503) 1190 0 R (HD.504) 1191 0 R (HD.505) 1192 0 R (HD.506) 1193 0 R (HD.507) 1194 0 R (HD.508) 1195 0 R (HD.509) 1196 0 R (HD.51) 690 0 R (HD.510) 1197 0 R (HD.511) 1198 0 R (HD.512) 1199 0 R (HD.513) 1200 0 R (HD.514) 1201 0 R (HD.515) 1202 0 R (HD.516) 1203 0 R (HD.517) 1204 0 R (HD.518) 1205 0 R (HD.519) 1210 0 R (HD.52) 691 0 R (HD.520) 1211 0 R (HD.521) 1212 0 R ] /Limits [ (HD.494) (HD.521) ] >>
+<< /Names [ (HD.377) 1064 0 R (HD.378) 1065 0 R (HD.379) 1066 0 R (HD.38) 685 0 R (HD.380) 1067 0 R (HD.381) 1068 0 R (HD.382) 1069 0 R (HD.383) 1070 0 R (HD.384) 1071 0 R (HD.385) 1072 0 R (HD.386) 1073 0 R (HD.387) 1074 0 R (HD.388) 1075 0 R (HD.389) 1076 0 R (HD.39) 686 0 R (HD.390) 1077 0 R (HD.391) 1078 0 R (HD.392) 1079 0 R (HD.393) 1080 0 R (HD.394) 1081 0 R (HD.395) 1082 0 R (HD.396) 1083 0 R (HD.397) 1084 0 R (HD.398) 1085 0 R (HD.399) 1090 0 R (HD.4) 647 0 R (HD.40) 687 0 R (HD.400) 1091 0 R (HD.401) 1092 0 R (HD.402) 1093 0 R (HD.403) 1094 0 R (HD.404) 1095 0 R ] /Limits [ (HD.377) (HD.404) ] >>
endobj
4616 0 obj
-<< /Names [ (HD.522) 1213 0 R (HD.523) 1214 0 R (HD.524) 1215 0 R (HD.525) 1216 0 R (HD.526) 1217 0 R (HD.527) 1218 0 R (HD.528) 1219 0 R (HD.529) 1220 0 R (HD.53) 692 0 R (HD.530) 1221 0 R (HD.531) 1222 0 R (HD.532) 1223 0 R (HD.533) 1224 0 R (HD.534) 1225 0 R (HD.535) 1226 0 R (HD.536) 1227 0 R (HD.537) 1228 0 R (HD.538) 1229 0 R (HD.539) 1230 0 R (HD.54) 693 0 R (HD.540) 1231 0 R (HD.541) 1232 0 R (HD.542) 1233 0 R (HD.543) 1234 0 R (HD.544) 1235 0 R (HD.545) 1236 0 R (HD.546) 1237 0 R (HD.547) 1238 0 R (HD.548) 1239 0 R (HD.549) 1240 0 R (HD.55) 694 0 R (HD.550) 1241 0 R ] /Limits [ (HD.522) (HD.550) ] >>
+<< /Names [ (HD.405) 1096 0 R (HD.406) 1097 0 R (HD.407) 1098 0 R (HD.408) 1099 0 R (HD.409) 1100 0 R (HD.41) 688 0 R (HD.410) 1101 0 R (HD.411) 1102 0 R (HD.412) 1103 0 R (HD.413) 1104 0 R (HD.414) 1105 0 R (HD.415) 1106 0 R (HD.416) 1107 0 R (HD.417) 1108 0 R (HD.418) 1109 0 R (HD.419) 1110 0 R (HD.42) 689 0 R (HD.420) 1111 0 R (HD.421) 1112 0 R (HD.422) 1113 0 R (HD.423) 1114 0 R (HD.424) 1115 0 R (HD.425) 1116 0 R (HD.426) 1117 0 R (HD.427) 1118 0 R (HD.428) 1119 0 R (HD.429) 1120 0 R (HD.43) 690 0 R (HD.430) 1121 0 R (HD.431) 1122 0 R (HD.432) 1123 0 R (HD.433) 1124 0 R ] /Limits [ (HD.405) (HD.433) ] >>
endobj
4617 0 obj
-<< /Names [ (HD.551) 1242 0 R (HD.552) 1243 0 R (HD.553) 1244 0 R (HD.554) 1245 0 R (HD.555) 1246 0 R (HD.556) 1247 0 R (HD.557) 1248 0 R (HD.558) 1249 0 R (HD.559) 1250 0 R (HD.56) 695 0 R (HD.560) 1251 0 R (HD.561) 1252 0 R (HD.562) 1253 0 R (HD.563) 1254 0 R (HD.564) 1255 0 R (HD.565) 1256 0 R (HD.566) 1257 0 R (HD.567) 1258 0 R (HD.568) 1259 0 R (HD.569) 1260 0 R (HD.57) 696 0 R (HD.570) 1261 0 R (HD.571) 1262 0 R (HD.572) 1263 0 R (HD.573) 1264 0 R (HD.574) 1265 0 R (HD.575) 1266 0 R (HD.576) 1267 0 R (HD.577) 1268 0 R (HD.578) 1269 0 R (HD.579) 1270 0 R (HD.58) 697 0 R ] /Limits [ (HD.551) (HD.58) ] >>
+<< /Names [ (HD.434) 1125 0 R (HD.435) 1126 0 R (HD.436) 1127 0 R (HD.437) 1128 0 R (HD.438) 1129 0 R (HD.439) 1130 0 R (HD.44) 691 0 R (HD.440) 1131 0 R (HD.441) 1132 0 R (HD.442) 1133 0 R (HD.443) 1134 0 R (HD.444) 1135 0 R (HD.445) 1136 0 R (HD.446) 1137 0 R (HD.447) 1138 0 R (HD.448) 1139 0 R (HD.449) 1140 0 R (HD.45) 692 0 R (HD.450) 1141 0 R (HD.451) 1142 0 R (HD.452) 1143 0 R (HD.453) 1144 0 R (HD.454) 1145 0 R (HD.455) 1146 0 R (HD.456) 1147 0 R (HD.457) 1148 0 R (HD.458) 1153 0 R (HD.459) 1154 0 R (HD.46) 693 0 R (HD.460) 1155 0 R (HD.461) 1156 0 R (HD.462) 1157 0 R ] /Limits [ (HD.434) (HD.462) ] >>
endobj
4618 0 obj
-<< /Names [ (HD.580) 1275 0 R (HD.581) 1276 0 R (HD.582) 1277 0 R (HD.583) 1278 0 R (HD.584) 1279 0 R (HD.585) 1280 0 R (HD.586) 1281 0 R (HD.587) 1282 0 R (HD.588) 1283 0 R (HD.589) 1284 0 R (HD.59) 698 0 R (HD.590) 1285 0 R (HD.591) 1286 0 R (HD.592) 1287 0 R (HD.593) 1288 0 R (HD.594) 1289 0 R (HD.595) 1290 0 R (HD.596) 1291 0 R (HD.597) 1292 0 R (HD.598) 1293 0 R (HD.599) 1294 0 R (HD.6) 641 0 R (HD.60) 699 0 R (HD.600) 1295 0 R (HD.601) 1296 0 R (HD.602) 1297 0 R (HD.603) 1298 0 R (HD.604) 1299 0 R (HD.605) 1300 0 R (HD.606) 1301 0 R (HD.607) 1302 0 R (HD.608) 1303 0 R ] /Limits [ (HD.580) (HD.608) ] >>
+<< /Names [ (HD.463) 1158 0 R (HD.464) 1159 0 R (HD.465) 1160 0 R (HD.466) 1161 0 R (HD.467) 1162 0 R (HD.468) 1163 0 R (HD.469) 1164 0 R (HD.47) 694 0 R (HD.470) 1165 0 R (HD.471) 1166 0 R (HD.472) 1167 0 R (HD.473) 1168 0 R (HD.474) 1169 0 R (HD.475) 1170 0 R (HD.476) 1171 0 R (HD.477) 1172 0 R (HD.478) 1173 0 R (HD.479) 1174 0 R (HD.48) 695 0 R (HD.480) 1175 0 R (HD.481) 1176 0 R (HD.482) 1177 0 R (HD.483) 1178 0 R (HD.484) 1179 0 R (HD.485) 1180 0 R (HD.486) 1181 0 R (HD.487) 1182 0 R (HD.488) 1183 0 R (HD.489) 1184 0 R (HD.49) 696 0 R (HD.490) 1185 0 R (HD.491) 1186 0 R ] /Limits [ (HD.463) (HD.491) ] >>
endobj
4619 0 obj
-<< /Names [ (HD.609) 1304 0 R (HD.61) 700 0 R (HD.610) 1305 0 R (HD.611) 1306 0 R (HD.612) 1307 0 R (HD.613) 1308 0 R (HD.614) 1309 0 R (HD.615) 1310 0 R (HD.616) 1311 0 R (HD.617) 1312 0 R (HD.618) 1313 0 R (HD.619) 1314 0 R (HD.62) 701 0 R (HD.620) 1315 0 R (HD.621) 1316 0 R (HD.622) 1317 0 R (HD.623) 1318 0 R (HD.624) 1319 0 R (HD.625) 1320 0 R (HD.626) 1321 0 R (HD.627) 1322 0 R (HD.628) 1323 0 R (HD.629) 1324 0 R (HD.63) 702 0 R (HD.630) 1325 0 R (HD.631) 1326 0 R (HD.632) 1327 0 R (HD.633) 1328 0 R (HD.634) 1329 0 R (HD.635) 1330 0 R (HD.636) 1331 0 R (HD.637) 1332 0 R ] /Limits [ (HD.609) (HD.637) ] >>
+<< /Names [ (HD.492) 1187 0 R (HD.493) 1188 0 R (HD.494) 1189 0 R (HD.495) 1190 0 R (HD.496) 1191 0 R (HD.497) 1192 0 R (HD.498) 1193 0 R (HD.499) 1194 0 R (HD.5) 648 0 R (HD.50) 697 0 R (HD.500) 1195 0 R (HD.501) 1196 0 R (HD.502) 1197 0 R (HD.503) 1198 0 R (HD.504) 1199 0 R (HD.505) 1200 0 R (HD.506) 1201 0 R (HD.507) 1202 0 R (HD.508) 1203 0 R (HD.509) 1204 0 R (HD.51) 698 0 R (HD.510) 1205 0 R (HD.511) 1206 0 R (HD.512) 1207 0 R (HD.513) 1212 0 R (HD.514) 1213 0 R (HD.515) 1214 0 R (HD.516) 1215 0 R (HD.517) 1216 0 R (HD.518) 1217 0 R (HD.519) 1218 0 R (HD.52) 699 0 R ] /Limits [ (HD.492) (HD.52) ] >>
endobj
4620 0 obj
-<< /Names [ (HD.638) 1333 0 R (HD.639) 1334 0 R (HD.64) 703 0 R (HD.640) 1335 0 R (HD.641) 1336 0 R (HD.642) 1337 0 R (HD.643) 1342 0 R (HD.644) 1343 0 R (HD.645) 1344 0 R (HD.646) 1345 0 R (HD.647) 1346 0 R (HD.648) 1347 0 R (HD.649) 1348 0 R (HD.65) 704 0 R (HD.650) 1349 0 R (HD.651) 1350 0 R (HD.652) 1351 0 R (HD.653) 1352 0 R (HD.654) 1353 0 R (HD.655) 1354 0 R (HD.656) 1355 0 R (HD.657) 1356 0 R (HD.658) 1357 0 R (HD.659) 1358 0 R (HD.66) 705 0 R (HD.660) 1359 0 R (HD.661) 1360 0 R (HD.662) 1361 0 R (HD.663) 1362 0 R (HD.664) 1363 0 R (HD.665) 1364 0 R (HD.666) 1365 0 R ] /Limits [ (HD.638) (HD.666) ] >>
+<< /Names [ (HD.520) 1219 0 R (HD.521) 1220 0 R (HD.522) 1221 0 R (HD.523) 1222 0 R (HD.524) 1223 0 R (HD.525) 1224 0 R (HD.526) 1225 0 R (HD.527) 1226 0 R (HD.528) 1227 0 R (HD.529) 1228 0 R (HD.53) 700 0 R (HD.530) 1229 0 R (HD.531) 1230 0 R (HD.532) 1231 0 R (HD.533) 1232 0 R (HD.534) 1233 0 R (HD.535) 1234 0 R (HD.536) 1235 0 R (HD.537) 1236 0 R (HD.538) 1237 0 R (HD.539) 1238 0 R (HD.54) 701 0 R (HD.540) 1239 0 R (HD.541) 1240 0 R (HD.542) 1241 0 R (HD.543) 1242 0 R (HD.544) 1243 0 R (HD.545) 1244 0 R (HD.546) 1245 0 R (HD.547) 1246 0 R (HD.548) 1247 0 R (HD.549) 1248 0 R ] /Limits [ (HD.520) (HD.549) ] >>
endobj
4621 0 obj
-<< /Names [ (HD.667) 1366 0 R (HD.668) 1367 0 R (HD.669) 1368 0 R (HD.67) 706 0 R (HD.670) 1369 0 R (HD.671) 1370 0 R (HD.672) 1371 0 R (HD.673) 1372 0 R (HD.674) 1373 0 R (HD.675) 1374 0 R (HD.676) 1375 0 R (HD.677) 1376 0 R (HD.678) 1377 0 R (HD.679) 1378 0 R (HD.68) 707 0 R (HD.680) 1379 0 R (HD.681) 1380 0 R (HD.682) 1381 0 R (HD.683) 1382 0 R (HD.684) 1383 0 R (HD.685) 1384 0 R (HD.686) 1385 0 R (HD.687) 1390 0 R (HD.688) 1391 0 R (HD.689) 1392 0 R (HD.69) 708 0 R (HD.690) 1393 0 R (HD.691) 1394 0 R (HD.692) 1395 0 R (HD.693) 1396 0 R (HD.694) 1397 0 R (HD.695) 1398 0 R ] /Limits [ (HD.667) (HD.695) ] >>
+<< /Names [ (HD.55) 702 0 R (HD.550) 1249 0 R (HD.551) 1250 0 R (HD.552) 1251 0 R (HD.553) 1252 0 R (HD.554) 1253 0 R (HD.555) 1254 0 R (HD.556) 1255 0 R (HD.557) 1256 0 R (HD.558) 1257 0 R (HD.559) 1258 0 R (HD.56) 703 0 R (HD.560) 1259 0 R (HD.561) 1260 0 R (HD.562) 1261 0 R (HD.563) 1262 0 R (HD.564) 1263 0 R (HD.565) 1264 0 R (HD.566) 1265 0 R (HD.567) 1266 0 R (HD.568) 1267 0 R (HD.569) 1268 0 R (HD.57) 704 0 R (HD.570) 1269 0 R (HD.571) 1270 0 R (HD.572) 1271 0 R (HD.573) 1272 0 R (HD.574) 1277 0 R (HD.575) 1278 0 R (HD.576) 1279 0 R (HD.577) 1280 0 R (HD.578) 1281 0 R ] /Limits [ (HD.55) (HD.578) ] >>
endobj
4622 0 obj
-<< /Names [ (HD.696) 1399 0 R (HD.697) 1400 0 R (HD.698) 1401 0 R (HD.699) 1402 0 R (HD.7) 642 0 R (HD.70) 709 0 R (HD.700) 1403 0 R (HD.701) 1404 0 R (HD.702) 1405 0 R (HD.703) 1406 0 R (HD.704) 1407 0 R (HD.705) 1408 0 R (HD.706) 1409 0 R (HD.707) 1410 0 R (HD.708) 1411 0 R (HD.709) 1412 0 R (HD.71) 710 0 R (HD.710) 1413 0 R (HD.711) 1414 0 R (HD.712) 1415 0 R (HD.713) 1416 0 R (HD.714) 1417 0 R (HD.715) 1418 0 R (HD.716) 1419 0 R (HD.717) 1420 0 R (HD.718) 1421 0 R (HD.719) 1422 0 R (HD.72) 711 0 R (HD.720) 1423 0 R (HD.721) 1424 0 R (HD.722) 1425 0 R (HD.723) 1426 0 R ] /Limits [ (HD.696) (HD.723) ] >>
+<< /Names [ (HD.579) 1282 0 R (HD.58) 705 0 R (HD.580) 1283 0 R (HD.581) 1284 0 R (HD.582) 1285 0 R (HD.583) 1286 0 R (HD.584) 1287 0 R (HD.585) 1288 0 R (HD.586) 1289 0 R (HD.587) 1290 0 R (HD.588) 1291 0 R (HD.589) 1292 0 R (HD.59) 706 0 R (HD.590) 1293 0 R (HD.591) 1294 0 R (HD.592) 1295 0 R (HD.593) 1296 0 R (HD.594) 1297 0 R (HD.595) 1298 0 R (HD.596) 1299 0 R (HD.597) 1300 0 R (HD.598) 1301 0 R (HD.599) 1302 0 R (HD.6) 649 0 R (HD.60) 707 0 R (HD.600) 1303 0 R (HD.601) 1304 0 R (HD.602) 1305 0 R (HD.603) 1306 0 R (HD.604) 1307 0 R (HD.605) 1308 0 R (HD.606) 1309 0 R ] /Limits [ (HD.579) (HD.606) ] >>
endobj
4623 0 obj
-<< /Names [ (HD.724) 1427 0 R (HD.725) 1428 0 R (HD.726) 1429 0 R (HD.727) 1430 0 R (HD.728) 1435 0 R (HD.729) 1436 0 R (HD.73) 712 0 R (HD.730) 1437 0 R (HD.731) 1438 0 R (HD.732) 1439 0 R (HD.733) 1440 0 R (HD.734) 1441 0 R (HD.735) 1442 0 R (HD.736) 1443 0 R (HD.737) 1444 0 R (HD.738) 1445 0 R (HD.739) 1446 0 R (HD.74) 713 0 R (HD.740) 1447 0 R (HD.741) 1448 0 R (HD.742) 1449 0 R (HD.743) 1450 0 R (HD.744) 1451 0 R (HD.745) 1452 0 R (HD.746) 1453 0 R (HD.747) 1454 0 R (HD.748) 1455 0 R (HD.749) 1456 0 R (HD.75) 714 0 R (HD.750) 1457 0 R (HD.751) 1458 0 R (HD.752) 1459 0 R ] /Limits [ (HD.724) (HD.752) ] >>
+<< /Names [ (HD.607) 1310 0 R (HD.608) 1311 0 R (HD.609) 1312 0 R (HD.61) 708 0 R (HD.610) 1313 0 R (HD.611) 1314 0 R (HD.612) 1315 0 R (HD.613) 1316 0 R (HD.614) 1317 0 R (HD.615) 1318 0 R (HD.616) 1319 0 R (HD.617) 1320 0 R (HD.618) 1321 0 R (HD.619) 1322 0 R (HD.62) 709 0 R (HD.620) 1323 0 R (HD.621) 1324 0 R (HD.622) 1325 0 R (HD.623) 1326 0 R (HD.624) 1327 0 R (HD.625) 1328 0 R (HD.626) 1329 0 R (HD.627) 1330 0 R (HD.628) 1331 0 R (HD.629) 1332 0 R (HD.63) 710 0 R (HD.630) 1333 0 R (HD.631) 1334 0 R (HD.632) 1335 0 R (HD.633) 1336 0 R (HD.634) 1337 0 R (HD.635) 1338 0 R ] /Limits [ (HD.607) (HD.635) ] >>
endobj
4624 0 obj
-<< /Names [ (HD.753) 1460 0 R (HD.754) 1461 0 R (HD.755) 1462 0 R (HD.756) 1463 0 R (HD.757) 1464 0 R (HD.758) 1465 0 R (HD.759) 1466 0 R (HD.76) 715 0 R (HD.760) 1467 0 R (HD.761) 1468 0 R (HD.762) 1469 0 R (HD.763) 1470 0 R (HD.764) 1471 0 R (HD.765) 1472 0 R (HD.766) 1477 0 R (HD.767) 1478 0 R (HD.768) 1479 0 R (HD.769) 1480 0 R (HD.77) 716 0 R (HD.770) 1481 0 R (HD.771) 1482 0 R (HD.772) 1483 0 R (HD.773) 1484 0 R (HD.774) 1485 0 R (HD.775) 1486 0 R (HD.776) 1487 0 R (HD.777) 1488 0 R (HD.778) 1489 0 R (HD.779) 1490 0 R (HD.78) 717 0 R (HD.780) 1491 0 R (HD.781) 1492 0 R ] /Limits [ (HD.753) (HD.781) ] >>
+<< /Names [ (HD.636) 1339 0 R (HD.637) 1344 0 R (HD.638) 1345 0 R (HD.639) 1346 0 R (HD.64) 711 0 R (HD.640) 1347 0 R (HD.641) 1348 0 R (HD.642) 1349 0 R (HD.643) 1350 0 R (HD.644) 1351 0 R (HD.645) 1352 0 R (HD.646) 1353 0 R (HD.647) 1354 0 R (HD.648) 1355 0 R (HD.649) 1356 0 R (HD.65) 712 0 R (HD.650) 1357 0 R (HD.651) 1358 0 R (HD.652) 1359 0 R (HD.653) 1360 0 R (HD.654) 1361 0 R (HD.655) 1362 0 R (HD.656) 1363 0 R (HD.657) 1364 0 R (HD.658) 1365 0 R (HD.659) 1366 0 R (HD.66) 713 0 R (HD.660) 1367 0 R (HD.661) 1368 0 R (HD.662) 1369 0 R (HD.663) 1370 0 R (HD.664) 1371 0 R ] /Limits [ (HD.636) (HD.664) ] >>
endobj
4625 0 obj
-<< /Names [ (HD.782) 1493 0 R (HD.783) 1494 0 R (HD.784) 1495 0 R (HD.785) 1496 0 R (HD.786) 1497 0 R (HD.787) 1498 0 R (HD.788) 1499 0 R (HD.789) 1500 0 R (HD.79) 718 0 R (HD.790) 1501 0 R (HD.791) 1502 0 R (HD.792) 1503 0 R (HD.793) 1504 0 R (HD.794) 1505 0 R (HD.795) 1506 0 R (HD.796) 1507 0 R (HD.797) 1508 0 R (HD.798) 1509 0 R (HD.799) 1510 0 R (HD.8) 643 0 R (HD.80) 719 0 R (HD.800) 1511 0 R (HD.801) 1512 0 R (HD.802) 1513 0 R (HD.803) 1514 0 R (HD.804) 1515 0 R (HD.805) 1516 0 R (HD.806) 1517 0 R (HD.807) 1518 0 R (HD.808) 1519 0 R (HD.809) 1520 0 R (HD.81) 720 0 R ] /Limits [ (HD.782) (HD.81) ] >>
+<< /Names [ (HD.665) 1372 0 R (HD.666) 1373 0 R (HD.667) 1374 0 R (HD.668) 1375 0 R (HD.669) 1376 0 R (HD.67) 714 0 R (HD.670) 1377 0 R (HD.671) 1378 0 R (HD.672) 1379 0 R (HD.673) 1380 0 R (HD.674) 1381 0 R (HD.675) 1382 0 R (HD.676) 1387 0 R (HD.677) 1388 0 R (HD.678) 1389 0 R (HD.679) 1390 0 R (HD.68) 715 0 R (HD.680) 1391 0 R (HD.681) 1392 0 R (HD.682) 1393 0 R (HD.683) 1394 0 R (HD.684) 1395 0 R (HD.685) 1396 0 R (HD.686) 1397 0 R (HD.687) 1398 0 R (HD.688) 1399 0 R (HD.689) 1400 0 R (HD.69) 716 0 R (HD.690) 1401 0 R (HD.691) 1402 0 R (HD.692) 1403 0 R (HD.693) 1404 0 R ] /Limits [ (HD.665) (HD.693) ] >>
endobj
4626 0 obj
-<< /Names [ (HD.810) 1521 0 R (HD.811) 1522 0 R (HD.812) 1523 0 R (HD.813) 1524 0 R (HD.814) 1525 0 R (HD.815) 1526 0 R (HD.816) 1527 0 R (HD.817) 1528 0 R (HD.818) 1529 0 R (HD.819) 1530 0 R (HD.82) 721 0 R (HD.820) 1535 0 R (HD.821) 1536 0 R (HD.822) 1537 0 R (HD.823) 1538 0 R (HD.824) 1539 0 R (HD.825) 1540 0 R (HD.826) 1541 0 R (HD.827) 1542 0 R (HD.828) 1543 0 R (HD.829) 1544 0 R (HD.83) 722 0 R (HD.830) 1545 0 R (HD.831) 1546 0 R (HD.832) 1547 0 R (HD.833) 1548 0 R (HD.834) 1549 0 R (HD.835) 1550 0 R (HD.836) 1551 0 R (HD.837) 1552 0 R (HD.838) 1553 0 R (HD.839) 1554 0 R ] /Limits [ (HD.810) (HD.839) ] >>
+<< /Names [ (HD.694) 1405 0 R (HD.695) 1406 0 R (HD.696) 1407 0 R (HD.697) 1408 0 R (HD.698) 1409 0 R (HD.699) 1410 0 R (HD.7) 650 0 R (HD.70) 717 0 R (HD.700) 1411 0 R (HD.701) 1412 0 R (HD.702) 1413 0 R (HD.703) 1414 0 R (HD.704) 1415 0 R (HD.705) 1416 0 R (HD.706) 1417 0 R (HD.707) 1418 0 R (HD.708) 1419 0 R (HD.709) 1420 0 R (HD.71) 718 0 R (HD.710) 1421 0 R (HD.711) 1422 0 R (HD.712) 1423 0 R (HD.713) 1424 0 R (HD.714) 1425 0 R (HD.715) 1426 0 R (HD.716) 1427 0 R (HD.717) 1428 0 R (HD.718) 1429 0 R (HD.719) 1430 0 R (HD.72) 719 0 R (HD.720) 1431 0 R (HD.721) 1432 0 R ] /Limits [ (HD.694) (HD.721) ] >>
endobj
4627 0 obj
-<< /Names [ (HD.84) 727 0 R (HD.840) 1555 0 R (HD.841) 1556 0 R (HD.842) 1557 0 R (HD.843) 1558 0 R (HD.844) 1559 0 R (HD.845) 1560 0 R (HD.846) 1561 0 R (HD.847) 1562 0 R (HD.848) 1563 0 R (HD.849) 1564 0 R (HD.85) 728 0 R (HD.850) 1565 0 R (HD.851) 1566 0 R (HD.852) 1567 0 R (HD.853) 1568 0 R (HD.854) 1569 0 R (HD.855) 1570 0 R (HD.856) 1571 0 R (HD.857) 1572 0 R (HD.858) 1573 0 R (HD.859) 1574 0 R (HD.86) 729 0 R (HD.860) 1575 0 R (HD.861) 1576 0 R (HD.862) 1577 0 R (HD.863) 1578 0 R (HD.864) 1579 0 R (HD.865) 1580 0 R (HD.866) 1581 0 R (HD.867) 1582 0 R (HD.868) 1583 0 R ] /Limits [ (HD.84) (HD.868) ] >>
+<< /Names [ (HD.722) 1437 0 R (HD.723) 1438 0 R (HD.724) 1439 0 R (HD.725) 1440 0 R (HD.726) 1441 0 R (HD.727) 1442 0 R (HD.728) 1443 0 R (HD.729) 1444 0 R (HD.73) 720 0 R (HD.730) 1445 0 R (HD.731) 1446 0 R (HD.732) 1447 0 R (HD.733) 1448 0 R (HD.734) 1449 0 R (HD.735) 1450 0 R (HD.736) 1451 0 R (HD.737) 1452 0 R (HD.738) 1453 0 R (HD.739) 1454 0 R (HD.74) 721 0 R (HD.740) 1455 0 R (HD.741) 1456 0 R (HD.742) 1457 0 R (HD.743) 1458 0 R (HD.744) 1459 0 R (HD.745) 1460 0 R (HD.746) 1461 0 R (HD.747) 1462 0 R (HD.748) 1463 0 R (HD.749) 1464 0 R (HD.75) 722 0 R (HD.750) 1465 0 R ] /Limits [ (HD.722) (HD.750) ] >>
endobj
4628 0 obj
-<< /Names [ (HD.869) 1584 0 R (HD.87) 730 0 R (HD.870) 1585 0 R (HD.871) 1586 0 R (HD.872) 1587 0 R (HD.873) 1588 0 R (HD.874) 1589 0 R (HD.875) 1596 0 R (HD.876) 1597 0 R (HD.877) 1598 0 R (HD.878) 1599 0 R (HD.879) 1600 0 R (HD.88) 731 0 R (HD.880) 1601 0 R (HD.881) 1602 0 R (HD.882) 1603 0 R (HD.883) 1604 0 R (HD.884) 1605 0 R (HD.885) 1606 0 R (HD.886) 1607 0 R (HD.887) 1608 0 R (HD.888) 1609 0 R (HD.889) 1610 0 R (HD.89) 732 0 R (HD.890) 1611 0 R (HD.891) 1612 0 R (HD.892) 1613 0 R (HD.893) 1614 0 R (HD.894) 1615 0 R (HD.895) 1616 0 R (HD.896) 1617 0 R (HD.897) 1618 0 R ] /Limits [ (HD.869) (HD.897) ] >>
+<< /Names [ (HD.751) 1466 0 R (HD.752) 1467 0 R (HD.753) 1468 0 R (HD.754) 1469 0 R (HD.755) 1470 0 R (HD.756) 1475 0 R (HD.757) 1476 0 R (HD.758) 1477 0 R (HD.759) 1478 0 R (HD.76) 723 0 R (HD.760) 1479 0 R (HD.761) 1480 0 R (HD.762) 1481 0 R (HD.763) 1482 0 R (HD.764) 1483 0 R (HD.765) 1484 0 R (HD.766) 1485 0 R (HD.767) 1486 0 R (HD.768) 1487 0 R (HD.769) 1488 0 R (HD.77) 724 0 R (HD.770) 1489 0 R (HD.771) 1490 0 R (HD.772) 1491 0 R (HD.773) 1492 0 R (HD.774) 1493 0 R (HD.775) 1494 0 R (HD.776) 1495 0 R (HD.777) 1496 0 R (HD.778) 1497 0 R (HD.779) 1498 0 R (HD.78) 725 0 R ] /Limits [ (HD.751) (HD.78) ] >>
endobj
4629 0 obj
-<< /Names [ (HD.898) 1619 0 R (HD.899) 1620 0 R (HD.9) 644 0 R (HD.90) 733 0 R (HD.900) 1621 0 R (HD.901) 1622 0 R (HD.902) 1623 0 R (HD.903) 1624 0 R (HD.904) 1625 0 R (HD.905) 1626 0 R (HD.906) 1627 0 R (HD.907) 1628 0 R (HD.908) 1629 0 R (HD.909) 1630 0 R (HD.91) 734 0 R (HD.910) 1631 0 R (HD.911) 1632 0 R (HD.912) 1633 0 R (HD.913) 1634 0 R (HD.914) 1635 0 R (HD.915) 1636 0 R (HD.916) 1637 0 R (HD.917) 1642 0 R (HD.918) 1643 0 R (HD.919) 1644 0 R (HD.92) 735 0 R (HD.920) 1645 0 R (HD.921) 1646 0 R (HD.922) 1647 0 R (HD.923) 1648 0 R (HD.924) 1649 0 R (HD.925) 1650 0 R ] /Limits [ (HD.898) (HD.925) ] >>
+<< /Names [ (HD.780) 1499 0 R (HD.781) 1500 0 R (HD.782) 1501 0 R (HD.783) 1502 0 R (HD.784) 1503 0 R (HD.785) 1504 0 R (HD.786) 1505 0 R (HD.787) 1506 0 R (HD.788) 1507 0 R (HD.789) 1508 0 R (HD.79) 726 0 R (HD.790) 1509 0 R (HD.791) 1510 0 R (HD.792) 1511 0 R (HD.793) 1512 0 R (HD.794) 1513 0 R (HD.795) 1514 0 R (HD.796) 1515 0 R (HD.797) 1516 0 R (HD.798) 1517 0 R (HD.799) 1518 0 R (HD.8) 651 0 R (HD.80) 727 0 R (HD.800) 1519 0 R (HD.801) 1520 0 R (HD.802) 1521 0 R (HD.803) 1527 0 R (HD.804) 1528 0 R (HD.805) 1529 0 R (HD.806) 1530 0 R (HD.807) 1531 0 R (HD.808) 1532 0 R ] /Limits [ (HD.780) (HD.808) ] >>
endobj
4630 0 obj
-<< /Names [ (HD.926) 1651 0 R (HD.927) 1652 0 R (HD.928) 1653 0 R (HD.929) 1654 0 R (HD.93) 736 0 R (HD.930) 1655 0 R (HD.931) 1656 0 R (HD.932) 1657 0 R (HD.933) 1658 0 R (HD.934) 1659 0 R (HD.935) 1660 0 R (HD.936) 1661 0 R (HD.937) 1662 0 R (HD.938) 1663 0 R (HD.939) 1664 0 R (HD.94) 737 0 R (HD.940) 1665 0 R (HD.941) 1666 0 R (HD.942) 1667 0 R (HD.943) 1668 0 R (HD.944) 1669 0 R (HD.945) 1670 0 R (HD.946) 1671 0 R (HD.947) 1672 0 R (HD.948) 1673 0 R (HD.949) 1674 0 R (HD.95) 738 0 R (HD.950) 1675 0 R (HD.951) 1676 0 R (HD.952) 1677 0 R (HD.953) 1678 0 R (HD.954) 1679 0 R ] /Limits [ (HD.926) (HD.954) ] >>
+<< /Names [ (HD.809) 1533 0 R (HD.81) 732 0 R (HD.810) 1534 0 R (HD.811) 1535 0 R (HD.812) 1536 0 R (HD.813) 1537 0 R (HD.814) 1538 0 R (HD.815) 1539 0 R (HD.816) 1540 0 R (HD.817) 1541 0 R (HD.818) 1542 0 R (HD.819) 1543 0 R (HD.82) 733 0 R (HD.820) 1544 0 R (HD.821) 1545 0 R (HD.822) 1546 0 R (HD.823) 1547 0 R (HD.824) 1548 0 R (HD.825) 1549 0 R (HD.826) 1550 0 R (HD.827) 1551 0 R (HD.828) 1552 0 R (HD.829) 1553 0 R (HD.83) 734 0 R (HD.830) 1554 0 R (HD.831) 1555 0 R (HD.832) 1556 0 R (HD.833) 1557 0 R (HD.834) 1558 0 R (HD.835) 1559 0 R (HD.836) 1560 0 R (HD.837) 1561 0 R ] /Limits [ (HD.809) (HD.837) ] >>
endobj
4631 0 obj
-<< /Names [ (HD.955) 1680 0 R (HD.956) 1681 0 R (HD.957) 1682 0 R (HD.958) 1683 0 R (HD.959) 1690 0 R (HD.96) 739 0 R (HD.960) 1691 0 R (HD.961) 1692 0 R (HD.962) 1693 0 R (HD.963) 1694 0 R (HD.964) 1695 0 R (HD.965) 1696 0 R (HD.966) 1697 0 R (HD.967) 1698 0 R (HD.968) 1699 0 R (HD.969) 1700 0 R (HD.97) 740 0 R (HD.970) 1701 0 R (HD.971) 1702 0 R (HD.972) 1703 0 R (HD.973) 1704 0 R (HD.974) 1705 0 R (HD.975) 1706 0 R (HD.976) 1707 0 R (HD.977) 1708 0 R (HD.978) 1709 0 R (HD.979) 1710 0 R (HD.98) 741 0 R (HD.980) 1711 0 R (HD.981) 1712 0 R (HD.982) 1713 0 R (HD.983) 1714 0 R ] /Limits [ (HD.955) (HD.983) ] >>
+<< /Names [ (HD.838) 1562 0 R (HD.839) 1563 0 R (HD.84) 735 0 R (HD.840) 1564 0 R (HD.841) 1565 0 R (HD.842) 1566 0 R (HD.843) 1567 0 R (HD.844) 1568 0 R (HD.845) 1569 0 R (HD.846) 1570 0 R (HD.847) 1571 0 R (HD.848) 1572 0 R (HD.849) 1573 0 R (HD.85) 736 0 R (HD.850) 1574 0 R (HD.851) 1575 0 R (HD.852) 1576 0 R (HD.853) 1577 0 R (HD.854) 1578 0 R (HD.855) 1579 0 R (HD.856) 1585 0 R (HD.857) 1586 0 R (HD.858) 1587 0 R (HD.859) 1588 0 R (HD.86) 737 0 R (HD.860) 1589 0 R (HD.861) 1590 0 R (HD.862) 1591 0 R (HD.863) 1592 0 R (HD.864) 1593 0 R (HD.865) 1594 0 R (HD.866) 1595 0 R ] /Limits [ (HD.838) (HD.866) ] >>
endobj
4632 0 obj
-<< /Names [ (HD.984) 1715 0 R (HD.985) 1716 0 R (HD.986) 1717 0 R (HD.987) 1718 0 R (HD.988) 1719 0 R (HD.989) 1720 0 R (HD.99) 742 0 R (HD.990) 1721 0 R (HD.991) 1722 0 R (HD.992) 1723 0 R (HD.993) 1724 0 R (HD.994) 1725 0 R (HD.995) 1726 0 R (HD.996) 1727 0 R (HD.997) 1728 0 R (HD.998) 1729 0 R (HD.999) 1730 0 R (Hfootnote.1) 348 0 R (Hfootnote.10) 415 0 R (Hfootnote.11) 416 0 R (Hfootnote.12) 417 0 R (Hfootnote.13) 426 0 R (Hfootnote.14) 427 0 R (Hfootnote.15) 438 0 R (Hfootnote.16) 439 0 R (Hfootnote.17) 450 0 R (Hfootnote.18) 451 0 R (Hfootnote.19) 463 0 R (Hfootnote.2) 352 0 R (Hfootnote.20) 470 0 R (Hfootnote.21) 471 0 R (Hfootnote.22) 489 0 R ] /Limits [ (HD.984) (Hfootnote.22) ] >>
+<< /Names [ (HD.867) 1596 0 R (HD.868) 1597 0 R (HD.869) 1598 0 R (HD.87) 738 0 R (HD.870) 1599 0 R (HD.871) 1600 0 R (HD.872) 1601 0 R (HD.873) 1602 0 R (HD.874) 1603 0 R (HD.875) 1604 0 R (HD.876) 1605 0 R (HD.877) 1606 0 R (HD.878) 1607 0 R (HD.879) 1608 0 R (HD.88) 739 0 R (HD.880) 1609 0 R (HD.881) 1610 0 R (HD.882) 1611 0 R (HD.883) 1612 0 R (HD.884) 1613 0 R (HD.885) 1614 0 R (HD.886) 1615 0 R (HD.887) 1616 0 R (HD.888) 1617 0 R (HD.889) 1618 0 R (HD.89) 740 0 R (HD.890) 1619 0 R (HD.891) 1620 0 R (HD.892) 1621 0 R (HD.893) 1622 0 R (HD.894) 1623 0 R (HD.895) 1624 0 R ] /Limits [ (HD.867) (HD.895) ] >>
endobj
4633 0 obj
-<< /Names [ (Hfootnote.23) 500 0 R (Hfootnote.24) 520 0 R (Hfootnote.25) 521 0 R (Hfootnote.26) 522 0 R (Hfootnote.27) 523 0 R (Hfootnote.28) 554 0 R (Hfootnote.29) 555 0 R (Hfootnote.3) 368 0 R (Hfootnote.30) 568 0 R (Hfootnote.31) 569 0 R (Hfootnote.32) 570 0 R (Hfootnote.33) 588 0 R (Hfootnote.34) 626 0 R (Hfootnote.35) 623 0 R (Hfootnote.36) 624 0 R (Hfootnote.37) 625 0 R (Hfootnote.38) 1684 0 R (Hfootnote.39) 2577 0 R (Hfootnote.4) 378 0 R (Hfootnote.40) 2710 0 R (Hfootnote.41) 2711 0 R (Hfootnote.42) 2920 0 R (Hfootnote.43) 3247 0 R (Hfootnote.44) 3338 0 R (Hfootnote.45) 3506 0 R (Hfootnote.5) 379 0 R (Hfootnote.6) 393 0 R (Hfootnote.7) 394 0 R (Hfootnote.8) 395 0 R (Hfootnote.9) 396 0 R (page.1) 323 0 R (page.10) 462 0 R ] /Limits [ (Hfootnote.23) (page.10) ] >>
+<< /Names [ (HD.896) 1631 0 R (HD.897) 1632 0 R (HD.898) 1633 0 R (HD.899) 1634 0 R (HD.9) 652 0 R (HD.90) 741 0 R (HD.900) 1635 0 R (HD.901) 1636 0 R (HD.902) 1637 0 R (HD.903) 1638 0 R (HD.904) 1639 0 R (HD.905) 1640 0 R (HD.906) 1641 0 R (HD.907) 1642 0 R (HD.908) 1643 0 R (HD.909) 1644 0 R (HD.91) 742 0 R (HD.910) 1645 0 R (HD.911) 1646 0 R (HD.912) 1647 0 R (HD.913) 1648 0 R (HD.914) 1649 0 R (HD.915) 1650 0 R (HD.916) 1651 0 R (HD.917) 1652 0 R (HD.918) 1653 0 R (HD.919) 1654 0 R (HD.92) 743 0 R (HD.920) 1655 0 R (HD.921) 1656 0 R (HD.922) 1657 0 R (HD.923) 1658 0 R ] /Limits [ (HD.896) (HD.923) ] >>
endobj
4634 0 obj
-<< /Names [ (page.100) 4024 0 R (page.101) 4090 0 R (page.102) 4147 0 R (page.103) 4199 0 R (page.104) 4229 0 R (page.105) 4296 0 R (page.106) 4307 0 R (page.11) 469 0 R (page.12) 477 0 R (page.13) 482 0 R (page.14) 488 0 R (page.15) 499 0 R (page.16) 505 0 R (page.17) 509 0 R (page.18) 517 0 R (page.19) 528 0 R (page.2) 365 0 R (page.20) 539 0 R (page.21) 544 0 R (page.22) 553 0 R (page.23) 566 0 R (page.24) 577 0 R (page.25) 587 0 R (page.26) 593 0 R (page.27) 597 0 R (page.28) 601 0 R (page.29) 607 0 R (page.3) 376 0 R (page.30) 613 0 R (page.31) 622 0 R (page.32) 632 0 R (page.33) 675 0 R ] /Limits [ (page.100) (page.33) ] >>
+<< /Names [ (HD.924) 1659 0 R (HD.925) 1660 0 R (HD.926) 1661 0 R (HD.927) 1662 0 R (HD.928) 1663 0 R (HD.929) 1664 0 R (HD.93) 744 0 R (HD.930) 1665 0 R (HD.931) 1666 0 R (HD.932) 1667 0 R (HD.933) 1668 0 R (HD.934) 1669 0 R (HD.935) 1670 0 R (HD.936) 1671 0 R (HD.937) 1672 0 R (HD.938) 1673 0 R (HD.939) 1674 0 R (HD.94) 745 0 R (HD.940) 1675 0 R (HD.941) 1676 0 R (HD.942) 1677 0 R (HD.943) 1678 0 R (HD.944) 1679 0 R (HD.945) 1684 0 R (HD.946) 1685 0 R (HD.947) 1686 0 R (HD.948) 1687 0 R (HD.949) 1688 0 R (HD.95) 746 0 R (HD.950) 1689 0 R (HD.951) 1690 0 R (HD.952) 1691 0 R ] /Limits [ (HD.924) (HD.952) ] >>
endobj
4635 0 obj
-<< /Names [ (page.34) 726 0 R (page.35) 781 0 R (page.36) 809 0 R (page.37) 834 0 R (page.38) 855 0 R (page.39) 897 0 R (page.4) 391 0 R (page.40) 933 0 R (page.41) 993 0 R (page.42) 1031 0 R (page.43) 1087 0 R (page.44) 1150 0 R (page.45) 1209 0 R (page.46) 1274 0 R (page.47) 1341 0 R (page.48) 1389 0 R (page.49) 1434 0 R (page.5) 413 0 R (page.50) 1476 0 R (page.51) 1534 0 R (page.52) 1595 0 R (page.53) 1641 0 R (page.54) 1689 0 R (page.55) 1735 0 R (page.56) 1787 0 R (page.57) 1848 0 R (page.58) 1892 0 R (page.59) 1955 0 R (page.6) 424 0 R (page.60) 2010 0 R (page.61) 2058 0 R (page.62) 2103 0 R ] /Limits [ (page.34) (page.62) ] >>
+<< /Names [ (HD.953) 1692 0 R (HD.954) 1693 0 R (HD.955) 1694 0 R (HD.956) 1695 0 R (HD.957) 1696 0 R (HD.958) 1697 0 R (HD.959) 1698 0 R (HD.96) 747 0 R (HD.960) 1699 0 R (HD.961) 1700 0 R (HD.962) 1701 0 R (HD.963) 1702 0 R (HD.964) 1703 0 R (HD.965) 1704 0 R (HD.966) 1705 0 R (HD.967) 1706 0 R (HD.968) 1707 0 R (HD.969) 1708 0 R (HD.97) 748 0 R (HD.970) 1709 0 R (HD.971) 1710 0 R (HD.972) 1711 0 R (HD.973) 1712 0 R (HD.974) 1713 0 R (HD.975) 1714 0 R (HD.976) 1715 0 R (HD.977) 1716 0 R (HD.978) 1717 0 R (HD.979) 1718 0 R (HD.98) 749 0 R (HD.980) 1719 0 R (HD.981) 1720 0 R ] /Limits [ (HD.953) (HD.981) ] >>
endobj
4636 0 obj
-<< /Names [ (page.63) 2162 0 R (page.64) 2227 0 R (page.65) 2285 0 R (page.66) 2337 0 R (page.67) 2367 0 R (page.68) 2405 0 R (page.69) 2445 0 R (page.7) 436 0 R (page.70) 2491 0 R (page.71) 2542 0 R (page.72) 2583 0 R (page.73) 2638 0 R (page.74) 2679 0 R (page.75) 2716 0 R (page.76) 2769 0 R (page.77) 2832 0 R (page.78) 2878 0 R (page.79) 2925 0 R (page.8) 447 0 R (page.80) 2981 0 R (page.81) 3036 0 R (page.82) 3080 0 R (page.83) 3139 0 R (page.84) 3199 0 R (page.85) 3252 0 R (page.86) 3290 0 R (page.87) 3343 0 R (page.88) 3395 0 R (page.89) 3455 0 R (page.9) 457 0 R (page.90) 3511 0 R (page.91) 3578 0 R ] /Limits [ (page.63) (page.91) ] >>
+<< /Names [ (HD.982) 1721 0 R (HD.983) 1722 0 R (HD.984) 1723 0 R (HD.985) 1728 0 R (HD.986) 1729 0 R (HD.987) 1730 0 R (HD.988) 1731 0 R (HD.989) 1732 0 R (HD.99) 750 0 R (HD.990) 1733 0 R (HD.991) 1734 0 R (HD.992) 1735 0 R (HD.993) 1736 0 R (HD.994) 1737 0 R (HD.995) 1738 0 R (HD.996) 1739 0 R (HD.997) 1740 0 R (HD.998) 1741 0 R (HD.999) 1742 0 R (Hfootnote.1) 348 0 R (Hfootnote.10) 426 0 R (Hfootnote.11) 427 0 R (Hfootnote.12) 428 0 R (Hfootnote.13) 429 0 R (Hfootnote.14) 440 0 R (Hfootnote.15) 441 0 R (Hfootnote.16) 442 0 R (Hfootnote.17) 453 0 R (Hfootnote.18) 454 0 R (Hfootnote.19) 465 0 R (Hfootnote.2) 352 0 R (Hfootnote.20) 473 0 R ] /Limits [ (HD.982) (Hfootnote.20) ] >>
endobj
4637 0 obj
-<< /Names [ (page.92) 3634 0 R (page.93) 3673 0 R (page.94) 3724 0 R (page.95) 3769 0 R (page.96) 3821 0 R (page.97) 3864 0 R (page.98) 3920 0 R (page.99) 3970 0 R (piton:passe) 449 0 R (piton:transpose) 448 0 R (section*.1) 2392 0 R (section*.10) 2838 0 R (section*.11) 2843 0 R (section*.12) 2887 0 R (section*.13) 2889 0 R (section*.14) 3024 0 R (section*.15) 3027 0 R (section*.16) 3038 0 R (section*.17) 3068 0 R (section*.18) 3087 0 R (section*.19) 3117 0 R (section*.2) 2446 0 R (section*.20) 3164 0 R (section*.21) 3166 0 R (section*.22) 3255 0 R (section*.23) 3267 0 R (section*.24) 3272 0 R (section*.25) 3274 0 R (section*.26) 3291 0 R (section*.27) 3390 0 R (section*.28) 3396 0 R (section*.29) 3401 0 R ] /Limits [ (page.92) (section*.29) ] >>
+<< /Names [ (Hfootnote.21) 474 0 R (Hfootnote.22) 492 0 R (Hfootnote.23) 508 0 R (Hfootnote.24) 523 0 R (Hfootnote.25) 524 0 R (Hfootnote.26) 531 0 R (Hfootnote.27) 532 0 R (Hfootnote.28) 552 0 R (Hfootnote.29) 553 0 R (Hfootnote.3) 368 0 R (Hfootnote.30) 550 0 R (Hfootnote.31) 551 0 R (Hfootnote.32) 581 0 R (Hfootnote.33) 596 0 R (Hfootnote.34) 635 0 R (Hfootnote.35) 632 0 R (Hfootnote.36) 633 0 R (Hfootnote.37) 634 0 R (Hfootnote.38) 1625 0 R (Hfootnote.39) 2587 0 R (Hfootnote.4) 378 0 R (Hfootnote.40) 2717 0 R (Hfootnote.41) 2718 0 R (Hfootnote.42) 2925 0 R (Hfootnote.43) 3246 0 R (Hfootnote.44) 3336 0 R (Hfootnote.45) 3502 0 R (Hfootnote.5) 379 0 R (Hfootnote.6) 395 0 R (Hfootnote.7) 396 0 R (Hfootnote.8) 397 0 R (Hfootnote.9) 398 0 R ] /Limits [ (Hfootnote.21) (Hfootnote.9) ] >>
endobj
4638 0 obj
-<< /Names [ (section*.3) 2481 0 R (section*.30) 3414 0 R (section*.31) 4200 0 R (section*.32) 4201 0 R (section*.33) 4202 0 R (section*.34) 4203 0 R (section*.35) 4204 0 R (section*.36) 4205 0 R (section*.37) 4206 0 R (section*.38) 4207 0 R (section*.39) 4208 0 R (section*.4) 2563 0 R (section*.40) 4209 0 R (section*.41) 4230 0 R (section*.42) 4231 0 R (section*.43) 4232 0 R (section*.44) 4233 0 R (section*.45) 4234 0 R (section*.46) 4235 0 R (section*.47) 4236 0 R (section*.5) 2684 0 R (section*.6) 2751 0 R (section*.7) 2762 0 R (section*.8) 2764 0 R (section*.9) 2770 0 R (section.0.1) 5 0 R (section.0.10) 201 0 R (section.0.11) 309 0 R (section.0.2) 9 0 R (section.0.3) 13 0 R (section.0.4) 33 0 R (section.0.5) 61 0 R ] /Limits [ (section*.3) (section.0.5) ] >>
+<< /Names [ (page.1) 323 0 R (page.10) 464 0 R (page.100) 3947 0 R (page.101) 3998 0 R (page.102) 4051 0 R (page.103) 4117 0 R (page.104) 4175 0 R (page.105) 4231 0 R (page.106) 4298 0 R (page.107) 4311 0 R (page.11) 472 0 R (page.12) 480 0 R (page.13) 484 0 R (page.14) 491 0 R (page.15) 502 0 R (page.16) 507 0 R (page.17) 513 0 R (page.18) 520 0 R (page.19) 530 0 R (page.2) 365 0 R (page.20) 539 0 R (page.21) 548 0 R (page.22) 564 0 R (page.23) 573 0 R (page.24) 577 0 R (page.25) 588 0 R (page.26) 595 0 R (page.27) 601 0 R (page.28) 605 0 R (page.29) 609 0 R (page.3) 376 0 R (page.30) 615 0 R ] /Limits [ (page.1) (page.30) ] >>
endobj
4639 0 obj
-<< /Names [ (section.0.6) 65 0 R (section.0.7) 145 0 R (section.0.8) 149 0 R (section.0.9) 173 0 R (subsection.0.10.1) 205 0 R (subsection.0.10.2) 209 0 R (subsection.0.10.3) 269 0 R (subsection.0.3.1) 17 0 R (subsection.0.3.2) 21 0 R (subsection.0.3.3) 25 0 R (subsection.0.3.4) 29 0 R (subsection.0.4.1) 37 0 R (subsection.0.4.2) 41 0 R (subsection.0.4.3) 57 0 R (subsection.0.6.1) 69 0 R (subsection.0.6.2) 81 0 R (subsection.0.6.3) 93 0 R (subsection.0.6.4) 97 0 R (subsection.0.6.5) 121 0 R (subsection.0.6.6) 137 0 R (subsection.0.6.7) 141 0 R (subsection.0.8.1) 153 0 R (subsection.0.8.2) 157 0 R (subsection.0.8.3) 161 0 R (subsection.0.8.4) 165 0 R (subsection.0.8.5) 169 0 R (subsection.0.9.1) 177 0 R (subsection.0.9.2) 181 0 R (subsection.0.9.3) 185 0 R (subsection.0.9.4) 189 0 R (subsection.0.9.5) 193 0 R (subsection.0.9.6) 197 0 R ] /Limits [ (section.0.6) (subsection.0.9.6) ] >>
+<< /Names [ (page.31) 621 0 R (page.32) 631 0 R (page.33) 640 0 R (page.34) 680 0 R (page.35) 731 0 R (page.36) 786 0 R (page.37) 812 0 R (page.38) 838 0 R (page.39) 866 0 R (page.4) 393 0 R (page.40) 903 0 R (page.41) 947 0 R (page.42) 1006 0 R (page.43) 1042 0 R (page.44) 1089 0 R (page.45) 1152 0 R (page.46) 1211 0 R (page.47) 1276 0 R (page.48) 1343 0 R (page.49) 1386 0 R (page.5) 411 0 R (page.50) 1436 0 R (page.51) 1474 0 R (page.52) 1526 0 R (page.53) 1584 0 R (page.54) 1630 0 R (page.55) 1683 0 R (page.56) 1727 0 R (page.57) 1779 0 R (page.58) 1839 0 R (page.59) 1888 0 R (page.6) 424 0 R ] /Limits [ (page.31) (page.6) ] >>
endobj
4640 0 obj
-<< /Names [ (subsubsection.0.10.2.1) 213 0 R (subsubsection.0.10.2.10) 249 0 R (subsubsection.0.10.2.11) 253 0 R (subsubsection.0.10.2.12) 257 0 R (subsubsection.0.10.2.13) 261 0 R (subsubsection.0.10.2.14) 265 0 R (subsubsection.0.10.2.2) 217 0 R (subsubsection.0.10.2.3) 221 0 R (subsubsection.0.10.2.4) 225 0 R (subsubsection.0.10.2.5) 229 0 R (subsubsection.0.10.2.6) 233 0 R (subsubsection.0.10.2.7) 237 0 R (subsubsection.0.10.2.8) 241 0 R (subsubsection.0.10.2.9) 245 0 R (subsubsection.0.10.3.1) 273 0 R (subsubsection.0.10.3.2) 277 0 R (subsubsection.0.10.3.3) 281 0 R (subsubsection.0.10.3.4) 285 0 R (subsubsection.0.10.3.5) 289 0 R (subsubsection.0.10.3.6) 293 0 R (subsubsection.0.10.3.7) 297 0 R (subsubsection.0.10.3.8) 301 0 R (subsubsection.0.10.3.9) 305 0 R (subsubsection.0.4.2.1) 45 0 R (subsubsection.0.4.2.2) 49 0 R (subsubsection.0.4.2.3) 53 0 R (subsubsection.0.6.1.1) 73 0 R (subsubsection.0.6.1.2) 77 0 R (subsubsection.0.6.2.1) 85 0 R (subsubsection.0.6.2.2) 89 0 R (subsubsection.0.6.4.1) 101 0 R (subsubsection.0.6.4.2) 105 0 R ] /Limits [ (subsubsection.0.10.2.1) (subsubsection.0.6.4.2) ] >>
+<< /Names [ (page.60) 1954 0 R (page.61) 2005 0 R (page.62) 2045 0 R (page.63) 2096 0 R (page.64) 2158 0 R (page.65) 2221 0 R (page.66) 2275 0 R (page.67) 2323 0 R (page.68) 2357 0 R (page.69) 2395 0 R (page.7) 438 0 R (page.70) 2439 0 R (page.71) 2491 0 R (page.72) 2552 0 R (page.73) 2592 0 R (page.74) 2653 0 R (page.75) 2681 0 R (page.76) 2723 0 R (page.77) 2777 0 R (page.78) 2836 0 R (page.79) 2881 0 R (page.8) 450 0 R (page.80) 2930 0 R (page.81) 2984 0 R (page.82) 3038 0 R (page.83) 3084 0 R (page.84) 3143 0 R (page.85) 3198 0 R (page.86) 3251 0 R (page.87) 3289 0 R (page.88) 3341 0 R (page.89) 3393 0 R ] /Limits [ (page.60) (page.89) ] >>
endobj
4641 0 obj
-<< /Names [ (subsubsection.0.6.4.3) 109 0 R (subsubsection.0.6.4.4) 113 0 R (subsubsection.0.6.4.5) 117 0 R (subsubsection.0.6.5.1) 125 0 R (subsubsection.0.6.5.2) 129 0 R (subsubsection.0.6.5.3) 133 0 R (toc1.1) 313 0 R ] /Limits [ (subsubsection.0.6.4.3) (toc1.1) ] >>
+<< /Names [ (page.9) 459 0 R (page.90) 3452 0 R (page.91) 3507 0 R (page.92) 3573 0 R (page.93) 3628 0 R (page.94) 3670 0 R (page.95) 3719 0 R (page.96) 3753 0 R (page.97) 3794 0 R (page.98) 3840 0 R (page.99) 3888 0 R (piton:passe) 452 0 R (piton:transpose) 451 0 R (section*.1) 2374 0 R (section*.10) 2832 0 R (section*.11) 2841 0 R (section*.12) 2885 0 R (section*.13) 2887 0 R (section*.14) 3024 0 R (section*.15) 3027 0 R (section*.16) 3039 0 R (section*.17) 3069 0 R (section*.18) 3087 0 R (section*.19) 3117 0 R (section*.2) 2424 0 R (section*.20) 3164 0 R (section*.21) 3166 0 R (section*.22) 3254 0 R (section*.23) 3266 0 R (section*.24) 3271 0 R (section*.25) 3273 0 R (section*.26) 3290 0 R ] /Limits [ (page.9) (section*.26) ] >>
endobj
4642 0 obj
-<< /Kids [ 4532 0 R 4533 0 R 4534 0 R 4535 0 R 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4562 0 R 4563 0 R ] /Limits [ (Doc-Start) (HD.1919) ] >>
+<< /Names [ (section*.27) 3388 0 R (section*.28) 3394 0 R (section*.29) 3399 0 R (section*.3) 2465 0 R (section*.30) 3412 0 R (section*.31) 4210 0 R (section*.32) 4211 0 R (section*.33) 4212 0 R (section*.34) 4232 0 R (section*.35) 4233 0 R (section*.36) 4234 0 R (section*.37) 4235 0 R (section*.38) 4236 0 R (section*.39) 4237 0 R (section*.4) 2557 0 R (section*.40) 4238 0 R (section*.41) 4239 0 R (section*.5) 2682 0 R (section*.6) 2749 0 R (section*.7) 2760 0 R (section*.8) 2762 0 R (section*.9) 2764 0 R (section.0.1) 5 0 R (section.0.10) 197 0 R (section.0.11) 309 0 R (section.0.2) 9 0 R (section.0.3) 13 0 R (section.0.4) 33 0 R (section.0.5) 61 0 R (section.0.6) 65 0 R (section.0.7) 145 0 R (section.0.8) 149 0 R ] /Limits [ (section*.27) (section.0.8) ] >>
endobj
4643 0 obj
-<< /Kids [ 4564 0 R 4565 0 R 4566 0 R 4567 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R ] /Limits [ (HD.192) (HD.2840) ] >>
+<< /Names [ (section.0.9) 169 0 R (subsection.0.10.1) 201 0 R (subsection.0.10.2) 205 0 R (subsection.0.10.3) 265 0 R (subsection.0.3.1) 17 0 R (subsection.0.3.2) 21 0 R (subsection.0.3.3) 25 0 R (subsection.0.3.4) 29 0 R (subsection.0.4.1) 37 0 R (subsection.0.4.2) 41 0 R (subsection.0.4.3) 57 0 R (subsection.0.6.1) 69 0 R (subsection.0.6.2) 81 0 R (subsection.0.6.3) 93 0 R (subsection.0.6.4) 97 0 R (subsection.0.6.5) 121 0 R (subsection.0.6.6) 137 0 R (subsection.0.6.7) 141 0 R (subsection.0.8.1) 153 0 R (subsection.0.8.2) 157 0 R (subsection.0.8.3) 161 0 R (subsection.0.8.4) 165 0 R (subsection.0.9.1) 173 0 R (subsection.0.9.2) 177 0 R (subsection.0.9.3) 181 0 R (subsection.0.9.4) 185 0 R (subsection.0.9.5) 189 0 R (subsection.0.9.6) 193 0 R (subsubsection.0.10.2.1) 209 0 R (subsubsection.0.10.2.10) 245 0 R (subsubsection.0.10.2.11) 249 0 R (subsubsection.0.10.2.12) 253 0 R ] /Limits [ (section.0.9) (subsubsection.0.10.2.12) ] >>
endobj
4644 0 obj
-<< /Kids [ 4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R ] /Limits [ (HD.2841) (HD.868) ] >>
+<< /Names [ (subsubsection.0.10.2.13) 257 0 R (subsubsection.0.10.2.14) 261 0 R (subsubsection.0.10.2.2) 213 0 R (subsubsection.0.10.2.3) 217 0 R (subsubsection.0.10.2.4) 221 0 R (subsubsection.0.10.2.5) 225 0 R (subsubsection.0.10.2.6) 229 0 R (subsubsection.0.10.2.7) 233 0 R (subsubsection.0.10.2.8) 237 0 R (subsubsection.0.10.2.9) 241 0 R (subsubsection.0.10.3.1) 269 0 R (subsubsection.0.10.3.10) 305 0 R (subsubsection.0.10.3.2) 273 0 R (subsubsection.0.10.3.3) 277 0 R (subsubsection.0.10.3.4) 281 0 R (subsubsection.0.10.3.5) 285 0 R (subsubsection.0.10.3.6) 289 0 R (subsubsection.0.10.3.7) 293 0 R (subsubsection.0.10.3.8) 297 0 R (subsubsection.0.10.3.9) 301 0 R (subsubsection.0.4.2.1) 45 0 R (subsubsection.0.4.2.2) 49 0 R (subsubsection.0.4.2.3) 53 0 R (subsubsection.0.6.1.1) 73 0 R (subsubsection.0.6.1.2) 77 0 R (subsubsection.0.6.2.1) 85 0 R (subsubsection.0.6.2.2) 89 0 R (subsubsection.0.6.4.1) 101 0 R (subsubsection.0.6.4.2) 105 0 R (subsubsection.0.6.4.3) 109 0 R (subsubsection.0.6.4.4) 113 0 R (subsubsection.0.6.4.5) 117 0 R ] /Limits [ (subsubsection.0.10.2.13) (subsubsection.0.6.4.5) ] >>
endobj
4645 0 obj
-<< /Kids [ 4628 0 R 4629 0 R 4630 0 R 4631 0 R 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R ] /Limits [ (HD.869) (toc1.1) ] >>
+<< /Names [ (subsubsection.0.6.5.1) 125 0 R (subsubsection.0.6.5.2) 129 0 R (subsubsection.0.6.5.3) 133 0 R (toc1.1) 313 0 R ] /Limits [ (subsubsection.0.6.5.1) (toc1.1) ] >>
endobj
4646 0 obj
-<< /Kids [ 4642 0 R 4643 0 R 4644 0 R 4645 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+<< /Kids [ 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4562 0 R 4563 0 R 4564 0 R 4565 0 R 4566 0 R 4567 0 R ] /Limits [ (Doc-Start) (HD.1919) ] >>
endobj
4647 0 obj
-<< /Dests 4646 0 R >>
+<< /Kids [ 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4599 0 R ] /Limits [ (HD.192) (HD.2840) ] >>
endobj
4648 0 obj
-<< /Type /Catalog /Pages 4530 0 R /Outlines 4531 0 R /Names 4647 0 R /PageMode/UseOutlines /OpenAction 316 0 R >>
+<< /Kids [ 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R ] /Limits [ (HD.2841) (HD.866) ] >>
endobj
4649 0 obj
-<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y\000\040\000,\000\040\000f\000p\000a\000n\000t\000i\000g\000n\000y\000@\000w\000a\000n\000a\000d\000o\000o\000.\000f\000r)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000p\000i\000t\000o\000n)/Subject()/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240523185009+02'00') /ModDate (D:20240523185009+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
+<< /Kids [ 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R 4642 0 R 4643 0 R 4644 0 R 4645 0 R ] /Limits [ (HD.867) (toc1.1) ] >>
+endobj
+4650 0 obj
+<< /Kids [ 4646 0 R 4647 0 R 4648 0 R 4649 0 R ] /Limits [ (Doc-Start) (toc1.1) ] >>
+endobj
+4651 0 obj
+<< /Dests 4650 0 R >>
+endobj
+4652 0 obj
+<< /Type /Catalog /Pages 4534 0 R /Outlines 4535 0 R /Names 4651 0 R /PageMode/UseOutlines /OpenAction 316 0 R >>
+endobj
+4653 0 obj
+<< /Author(\376\377\000F\000.\000\040\000P\000a\000n\000t\000i\000g\000n\000y\000\040\000,\000\040\000f\000p\000a\000n\000t\000i\000g\000n\000y\000@\000w\000a\000n\000a\000d\000o\000o\000.\000f\000r)/Title(\376\377\000T\000h\000e\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000p\000i\000t\000o\000n)/Subject()/Creator(LaTeX with hyperref)/Keywords() /Producer (LuaTeX-1.18.1) /CreationDate (D:20240812173627+02'00') /ModDate (D:20240812173627+02'00') /Trapped /False /PTEX.FullBanner (This is LuaHBTeX, Version 1.18.1 (MiKTeX 24.4)) >>
endobj
xref
-0 4650
+0 4654
0000000000 65535 f
-0000606561 00000 n
-0000606606 00000 n
-0000606626 00000 n
+0000613551 00000 n
+0000613596 00000 n
+0000613616 00000 n
0000000020 00000 n
-0000024062 00000 n
-0000885545 00000 n
+0000024153 00000 n
+0000892406 00000 n
0000000067 00000 n
0000000167 00000 n
-0000029704 00000 n
-0000885458 00000 n
+0000029796 00000 n
+0000892319 00000 n
0000000214 00000 n
0000000315 00000 n
-0000029764 00000 n
-0000885332 00000 n
+0000029856 00000 n
+0000892193 00000 n
0000000363 00000 n
0000000503 00000 n
-0000029825 00000 n
-0000885258 00000 n
+0000029917 00000 n
+0000892119 00000 n
0000000556 00000 n
0000000708 00000 n
-0000029886 00000 n
-0000885171 00000 n
+0000029978 00000 n
+0000892032 00000 n
0000000761 00000 n
0000000979 00000 n
-0000029947 00000 n
-0000885084 00000 n
+0000030039 00000 n
+0000891945 00000 n
0000001032 00000 n
0000001248 00000 n
-0000035326 00000 n
-0000885010 00000 n
+0000035418 00000 n
+0000891871 00000 n
0000001301 00000 n
0000001530 00000 n
-0000042425 00000 n
-0000884884 00000 n
+0000042902 00000 n
+0000891745 00000 n
0000001578 00000 n
0000001684 00000 n
-0000042486 00000 n
-0000884810 00000 n
+0000042963 00000 n
+0000891671 00000 n
0000001737 00000 n
0000001991 00000 n
-0000054349 00000 n
-0000884686 00000 n
+0000060536 00000 n
+0000891547 00000 n
0000002044 00000 n
0000002148 00000 n
-0000054410 00000 n
-0000884612 00000 n
+0000060597 00000 n
+0000891473 00000 n
0000002206 00000 n
0000002348 00000 n
-0000059557 00000 n
-0000884525 00000 n
+0000060658 00000 n
+0000891386 00000 n
0000002406 00000 n
0000002629 00000 n
-0000064722 00000 n
-0000884451 00000 n
+0000065944 00000 n
+0000891312 00000 n
0000002687 00000 n
0000002864 00000 n
-0000064911 00000 n
-0000884377 00000 n
+0000066132 00000 n
+0000891238 00000 n
0000002917 00000 n
0000003117 00000 n
-0000068900 00000 n
-0000884288 00000 n
+0000070157 00000 n
+0000891149 00000 n
0000003165 00000 n
0000003505 00000 n
-0000073253 00000 n
-0000884160 00000 n
+0000079217 00000 n
+0000891021 00000 n
0000003553 00000 n
0000003682 00000 n
-0000073314 00000 n
-0000884049 00000 n
+0000079278 00000 n
+0000890910 00000 n
0000003735 00000 n
0000003933 00000 n
-0000073374 00000 n
-0000883975 00000 n
+0000079339 00000 n
+0000890836 00000 n
0000003991 00000 n
0000004110 00000 n
-0000078664 00000 n
-0000883901 00000 n
+0000079400 00000 n
+0000890762 00000 n
0000004168 00000 n
0000004287 00000 n
-0000082649 00000 n
-0000883777 00000 n
+0000083649 00000 n
+0000890638 00000 n
0000004340 00000 n
0000004554 00000 n
-0000082710 00000 n
-0000883703 00000 n
+0000083710 00000 n
+0000890564 00000 n
0000004612 00000 n
0000004764 00000 n
-0000082771 00000 n
-0000883629 00000 n
+0000087224 00000 n
+0000890490 00000 n
0000004822 00000 n
0000004989 00000 n
-0000089940 00000 n
-0000883542 00000 n
+0000091370 00000 n
+0000890403 00000 n
0000005042 00000 n
0000005244 00000 n
-0000094927 00000 n
-0000883415 00000 n
+0000095513 00000 n
+0000890276 00000 n
0000005297 00000 n
0000005505 00000 n
-0000094988 00000 n
-0000883337 00000 n
+0000095574 00000 n
+0000890198 00000 n
0000005564 00000 n
0000005742 00000 n
-0000098856 00000 n
-0000883245 00000 n
+0000099796 00000 n
+0000890106 00000 n
0000005801 00000 n
0000005994 00000 n
-0000098918 00000 n
-0000883153 00000 n
+0000099858 00000 n
+0000890014 00000 n
0000006053 00000 n
0000006266 00000 n
-0000098980 00000 n
-0000883061 00000 n
+0000104044 00000 n
+0000889922 00000 n
0000006325 00000 n
0000006513 00000 n
-0000102574 00000 n
-0000882983 00000 n
+0000104106 00000 n
+0000889844 00000 n
0000006572 00000 n
0000006785 00000 n
-0000108035 00000 n
-0000882853 00000 n
+0000108501 00000 n
+0000889714 00000 n
0000006839 00000 n
0000007048 00000 n
-0000108097 00000 n
-0000882774 00000 n
+0000108563 00000 n
+0000889635 00000 n
0000007107 00000 n
0000007430 00000 n
-0000108159 00000 n
-0000882681 00000 n
+0000108625 00000 n
+0000889542 00000 n
0000007489 00000 n
0000007866 00000 n
-0000111687 00000 n
-0000882602 00000 n
+0000113035 00000 n
+0000889463 00000 n
0000007925 00000 n
0000008322 00000 n
-0000117723 00000 n
-0000882510 00000 n
+0000117889 00000 n
+0000889371 00000 n
0000008376 00000 n
0000008633 00000 n
-0000117784 00000 n
-0000882432 00000 n
+0000122585 00000 n
+0000889293 00000 n
0000008687 00000 n
0000008794 00000 n
-0000117846 00000 n
-0000882339 00000 n
+0000128117 00000 n
+0000889200 00000 n
0000008843 00000 n
0000009009 00000 n
-0000121909 00000 n
-0000882206 00000 n
+0000128179 00000 n
+0000889067 00000 n
0000009058 00000 n
0000009140 00000 n
-0000121971 00000 n
-0000882127 00000 n
+0000128241 00000 n
+0000888988 00000 n
0000009194 00000 n
0000009319 00000 n
-0000122033 00000 n
-0000882034 00000 n
+0000131710 00000 n
+0000888895 00000 n
0000009373 00000 n
0000009597 00000 n
-0000126540 00000 n
-0000881941 00000 n
+0000136014 00000 n
+0000888802 00000 n
0000009651 00000 n
-0000009817 00000 n
-0000131616 00000 n
-0000881848 00000 n
-0000009871 00000 n
-0000010111 00000 n
-0000134939 00000 n
-0000881769 00000 n
-0000010165 00000 n
-0000010308 00000 n
-0000139455 00000 n
-0000881636 00000 n
-0000010357 00000 n
-0000010652 00000 n
-0000139517 00000 n
-0000881557 00000 n
-0000010706 00000 n
-0000010859 00000 n
-0000143047 00000 n
-0000881464 00000 n
-0000010913 00000 n
-0000011061 00000 n
-0000146638 00000 n
-0000881371 00000 n
-0000011115 00000 n
-0000011305 00000 n
-0000150029 00000 n
-0000881278 00000 n
-0000011359 00000 n
-0000011497 00000 n
-0000152201 00000 n
-0000881185 00000 n
-0000011551 00000 n
-0000011729 00000 n
-0000154201 00000 n
-0000881106 00000 n
-0000011783 00000 n
-0000012060 00000 n
-0000158712 00000 n
-0000880973 00000 n
-0000012110 00000 n
-0000012227 00000 n
-0000158774 00000 n
-0000880894 00000 n
-0000012282 00000 n
-0000012399 00000 n
-0000162705 00000 n
-0000880761 00000 n
-0000012454 00000 n
-0000012691 00000 n
-0000162767 00000 n
-0000880682 00000 n
-0000012751 00000 n
-0000012957 00000 n
-0000180318 00000 n
-0000880589 00000 n
-0000013017 00000 n
-0000013273 00000 n
-0000199859 00000 n
-0000880496 00000 n
-0000013333 00000 n
-0000013550 00000 n
-0000220528 00000 n
-0000880403 00000 n
-0000013610 00000 n
-0000013737 00000 n
-0000247081 00000 n
-0000880310 00000 n
-0000013797 00000 n
-0000013996 00000 n
-0000248313 00000 n
-0000880217 00000 n
-0000014056 00000 n
-0000014324 00000 n
-0000252671 00000 n
-0000880124 00000 n
-0000014384 00000 n
-0000014740 00000 n
-0000308873 00000 n
-0000880031 00000 n
-0000014800 00000 n
-0000014920 00000 n
-0000320013 00000 n
-0000879938 00000 n
-0000014980 00000 n
-0000015143 00000 n
-0000325909 00000 n
-0000879845 00000 n
-0000015204 00000 n
-0000015427 00000 n
-0000335723 00000 n
-0000879752 00000 n
-0000015488 00000 n
-0000015600 00000 n
-0000336434 00000 n
-0000879659 00000 n
-0000015661 00000 n
-0000015913 00000 n
-0000350746 00000 n
-0000879566 00000 n
-0000015974 00000 n
-0000016137 00000 n
-0000354756 00000 n
-0000879487 00000 n
-0000016198 00000 n
-0000016358 00000 n
-0000356117 00000 n
-0000879369 00000 n
-0000016413 00000 n
-0000016655 00000 n
-0000393772 00000 n
-0000879290 00000 n
-0000016715 00000 n
-0000016883 00000 n
-0000435167 00000 n
-0000879197 00000 n
-0000016943 00000 n
-0000017106 00000 n
-0000465155 00000 n
-0000879104 00000 n
-0000017166 00000 n
-0000017309 00000 n
-0000477452 00000 n
-0000879011 00000 n
-0000017369 00000 n
-0000017522 00000 n
-0000495129 00000 n
-0000878918 00000 n
-0000017582 00000 n
-0000017775 00000 n
-0000512527 00000 n
-0000878825 00000 n
-0000017835 00000 n
-0000018246 00000 n
-0000513174 00000 n
-0000878732 00000 n
-0000018306 00000 n
-0000018621 00000 n
-0000524998 00000 n
-0000878639 00000 n
-0000018681 00000 n
-0000018903 00000 n
-0000531630 00000 n
-0000878560 00000 n
-0000018963 00000 n
-0000019309 00000 n
-0000575224 00000 n
-0000878466 00000 n
-0000019359 00000 n
-0000019441 00000 n
-0000585853 00000 n
-0000878386 00000 n
-0000019485 00000 n
-0000019554 00000 n
-0000023057 00000 n
-0000023247 00000 n
-0000023558 00000 n
-0000023402 00000 n
-0000024248 00000 n
-0000019618 00000 n
-0000023938 00000 n
-0000024000 00000 n
-0000785985 00000 n
-0000783093 00000 n
-0000875028 00000 n
-0000780879 00000 n
-0000777205 00000 n
-0000773859 00000 n
-0000771227 00000 n
-0000764868 00000 n
-0000762755 00000 n
-0000754610 00000 n
-0000743649 00000 n
-0000739982 00000 n
-0000736879 00000 n
-0000726167 00000 n
-0000722216 00000 n
-0000875744 00000 n
-0000874306 00000 n
-0000874668 00000 n
-0000875920 00000 n
-0000875208 00000 n
-0000715529 00000 n
-0000706795 00000 n
-0000702560 00000 n
-0000024122 00000 n
-0000699450 00000 n
-0000695727 00000 n
-0000023750 00000 n
-0000024185 00000 n
-0000876267 00000 n
-0000023194 00000 n
-0000028848 00000 n
-0000029482 00000 n
-0000029004 00000 n
-0000029160 00000 n
-0000029321 00000 n
-0000034630 00000 n
-0000034791 00000 n
-0000030071 00000 n
-0000028650 00000 n
-0000024684 00000 n
-0000029642 00000 n
-0000688009 00000 n
-0000686220 00000 n
-0000030008 00000 n
-0000028787 00000 n
-0000034952 00000 n
-0000035108 00000 n
-0000041109 00000 n
-0000035513 00000 n
-0000034440 00000 n
-0000030325 00000 n
-0000035264 00000 n
-0000677253 00000 n
-0000035387 00000 n
-0000035450 00000 n
-0000034577 00000 n
-0000041264 00000 n
-0000042053 00000 n
+0000009891 00000 n
+0000136076 00000 n
+0000888723 00000 n
+0000009945 00000 n
+0000010088 00000 n
+0000142267 00000 n
+0000888590 00000 n
+0000010137 00000 n
+0000010432 00000 n
+0000142329 00000 n
+0000888511 00000 n
+0000010486 00000 n
+0000010639 00000 n
+0000145859 00000 n
+0000888418 00000 n
+0000010693 00000 n
+0000010841 00000 n
+0000149450 00000 n
+0000888325 00000 n
+0000010895 00000 n
+0000011085 00000 n
+0000152842 00000 n
+0000888232 00000 n
+0000011139 00000 n
+0000011277 00000 n
+0000155014 00000 n
+0000888139 00000 n
+0000011331 00000 n
+0000011509 00000 n
+0000157013 00000 n
+0000888060 00000 n
+0000011563 00000 n
+0000011840 00000 n
+0000161521 00000 n
+0000887927 00000 n
+0000011890 00000 n
+0000012007 00000 n
+0000161583 00000 n
+0000887848 00000 n
+0000012062 00000 n
+0000012179 00000 n
+0000165606 00000 n
+0000887715 00000 n
+0000012234 00000 n
+0000012471 00000 n
+0000165668 00000 n
+0000887636 00000 n
+0000012531 00000 n
+0000012737 00000 n
+0000183307 00000 n
+0000887543 00000 n
+0000012797 00000 n
+0000013053 00000 n
+0000203232 00000 n
+0000887450 00000 n
+0000013113 00000 n
+0000013330 00000 n
+0000225152 00000 n
+0000887357 00000 n
+0000013390 00000 n
+0000013517 00000 n
+0000251974 00000 n
+0000887264 00000 n
+0000013577 00000 n
+0000013776 00000 n
+0000255710 00000 n
+0000887171 00000 n
+0000013836 00000 n
+0000014104 00000 n
+0000257201 00000 n
+0000887078 00000 n
+0000014164 00000 n
+0000014520 00000 n
+0000312322 00000 n
+0000886985 00000 n
+0000014580 00000 n
+0000014700 00000 n
+0000323293 00000 n
+0000886892 00000 n
+0000014760 00000 n
+0000014923 00000 n
+0000329459 00000 n
+0000886799 00000 n
+0000014984 00000 n
+0000015207 00000 n
+0000336280 00000 n
+0000886706 00000 n
+0000015268 00000 n
+0000015380 00000 n
+0000339407 00000 n
+0000886613 00000 n
+0000015441 00000 n
+0000015693 00000 n
+0000354079 00000 n
+0000886520 00000 n
+0000015754 00000 n
+0000015917 00000 n
+0000355051 00000 n
+0000886441 00000 n
+0000015978 00000 n
+0000016138 00000 n
+0000360385 00000 n
+0000886322 00000 n
+0000016193 00000 n
+0000016435 00000 n
+0000360837 00000 n
+0000886243 00000 n
+0000016495 00000 n
+0000016749 00000 n
+0000398712 00000 n
+0000886150 00000 n
+0000016809 00000 n
+0000016977 00000 n
+0000440053 00000 n
+0000886057 00000 n
+0000017037 00000 n
+0000017200 00000 n
+0000470042 00000 n
+0000885964 00000 n
+0000017260 00000 n
+0000017403 00000 n
+0000482487 00000 n
+0000885871 00000 n
+0000017463 00000 n
+0000017616 00000 n
+0000500408 00000 n
+0000885778 00000 n
+0000017676 00000 n
+0000017869 00000 n
+0000517927 00000 n
+0000885685 00000 n
+0000017929 00000 n
+0000018340 00000 n
+0000518573 00000 n
+0000885592 00000 n
+0000018400 00000 n
+0000018715 00000 n
+0000534577 00000 n
+0000885499 00000 n
+0000018775 00000 n
+0000018997 00000 n
+0000541787 00000 n
+0000885420 00000 n
+0000019058 00000 n
+0000019409 00000 n
+0000585524 00000 n
+0000885326 00000 n
+0000019459 00000 n
+0000019541 00000 n
+0000592612 00000 n
+0000885246 00000 n
+0000019585 00000 n
+0000019654 00000 n
+0000023149 00000 n
+0000023339 00000 n
+0000023649 00000 n
+0000023494 00000 n
+0000024339 00000 n
+0000019718 00000 n
+0000024029 00000 n
+0000024091 00000 n
+0000792836 00000 n
+0000789944 00000 n
+0000881879 00000 n
+0000787730 00000 n
+0000783900 00000 n
+0000780554 00000 n
+0000777922 00000 n
+0000771563 00000 n
+0000769450 00000 n
+0000761305 00000 n
+0000750473 00000 n
+0000746806 00000 n
+0000743703 00000 n
+0000732991 00000 n
+0000729040 00000 n
+0000882595 00000 n
+0000881157 00000 n
+0000881519 00000 n
+0000882771 00000 n
+0000882059 00000 n
+0000722353 00000 n
+0000713766 00000 n
+0000709531 00000 n
+0000024213 00000 n
+0000706421 00000 n
+0000702698 00000 n
+0000023841 00000 n
+0000024276 00000 n
+0000883118 00000 n
+0000023286 00000 n
+0000028940 00000 n
+0000029574 00000 n
+0000029096 00000 n
+0000029252 00000 n
+0000029413 00000 n
+0000034722 00000 n
+0000034883 00000 n
+0000030163 00000 n
+0000028742 00000 n
+0000024775 00000 n
+0000029734 00000 n
+0000694980 00000 n
+0000693191 00000 n
+0000030100 00000 n
+0000028879 00000 n
+0000035044 00000 n
+0000035200 00000 n
+0000041273 00000 n
+0000035605 00000 n
+0000034532 00000 n
+0000030417 00000 n
+0000035356 00000 n
+0000684224 00000 n
+0000035479 00000 n
+0000035542 00000 n
+0000034669 00000 n
+0000041428 00000 n
+0000041584 00000 n
+0000041740 00000 n
+0000042530 00000 n
+0000042685 00000 n
+0000041896 00000 n
+0000042052 00000 n
0000042208 00000 n
-0000041420 00000 n
-0000041575 00000 n
-0000041731 00000 n
-0000041892 00000 n
-0000042797 00000 n
-0000040887 00000 n
-0000035780 00000 n
-0000042363 00000 n
-0000670492 00000 n
-0000042547 00000 n
-0000042610 00000 n
-0000042673 00000 n
-0000042735 00000 n
-0000041024 00000 n
-0000047964 00000 n
-0000048124 00000 n
-0000048285 00000 n
-0000048450 00000 n
-0000048615 00000 n
-0000048772 00000 n
-0000048931 00000 n
-0000049090 00000 n
-0000049246 00000 n
-0000053482 00000 n
-0000053957 00000 n
-0000054122 00000 n
-0000049652 00000 n
-0000047734 00000 n
-0000043064 00000 n
-0000049402 00000 n
-0000667696 00000 n
-0000049464 00000 n
-0000049527 00000 n
-0000049590 00000 n
-0000047871 00000 n
-0000053639 00000 n
-0000053800 00000 n
-0000054597 00000 n
-0000053284 00000 n
-0000049919 00000 n
-0000054287 00000 n
-0000663960 00000 n
-0000054471 00000 n
-0000054534 00000 n
-0000053421 00000 n
-0000058873 00000 n
-0000059028 00000 n
-0000059184 00000 n
-0000059341 00000 n
-0000059742 00000 n
-0000058683 00000 n
-0000054864 00000 n
-0000059495 00000 n
-0000652434 00000 n
-0000059617 00000 n
-0000059680 00000 n
-0000058820 00000 n
-0000064187 00000 n
-0000064347 00000 n
-0000064504 00000 n
-0000065096 00000 n
-0000064005 00000 n
-0000060009 00000 n
-0000064660 00000 n
-0000064783 00000 n
-0000064847 00000 n
-0000064972 00000 n
-0000065034 00000 n
-0000064142 00000 n
-0000073034 00000 n
-0000068961 00000 n
-0000068717 00000 n
-0000065402 00000 n
-0000068838 00000 n
-0000078290 00000 n
-0000073496 00000 n
-0000072868 00000 n
-0000069202 00000 n
-0000073191 00000 n
-0000073433 00000 n
-0000073005 00000 n
-0000078446 00000 n
-0000078851 00000 n
-0000078116 00000 n
-0000073776 00000 n
-0000078602 00000 n
-0000078725 00000 n
-0000078788 00000 n
-0000876420 00000 n
-0000078253 00000 n
-0000082832 00000 n
-0000082466 00000 n
-0000079105 00000 n
-0000082587 00000 n
-0000089403 00000 n
-0000086172 00000 n
-0000085989 00000 n
-0000083086 00000 n
-0000086110 00000 n
-0000089560 00000 n
-0000089719 00000 n
-0000090064 00000 n
-0000089221 00000 n
-0000086374 00000 n
-0000089878 00000 n
-0000090001 00000 n
-0000089358 00000 n
-0000094065 00000 n
-0000094226 00000 n
-0000094387 00000 n
-0000094548 00000 n
-0000094709 00000 n
-0000095113 00000 n
-0000093867 00000 n
-0000090318 00000 n
-0000094865 00000 n
-0000095050 00000 n
-0000094004 00000 n
-0000099042 00000 n
-0000098673 00000 n
-0000095380 00000 n
-0000098794 00000 n
-0000102636 00000 n
-0000102391 00000 n
-0000099270 00000 n
-0000102512 00000 n
-0000107345 00000 n
-0000107502 00000 n
-0000107659 00000 n
-0000107816 00000 n
-0000108471 00000 n
-0000107155 00000 n
-0000102812 00000 n
-0000107973 00000 n
-0000875386 00000 n
-0000874487 00000 n
-0000108220 00000 n
-0000108283 00000 n
-0000108346 00000 n
-0000108409 00000 n
-0000107292 00000 n
-0000111749 00000 n
-0000111504 00000 n
-0000108829 00000 n
-0000111625 00000 n
-0000116529 00000 n
-0000116690 00000 n
-0000116851 00000 n
-0000117011 00000 n
-0000117177 00000 n
-0000117343 00000 n
-0000117502 00000 n
-0000117908 00000 n
-0000116315 00000 n
-0000111938 00000 n
-0000117661 00000 n
-0000116452 00000 n
-0000122095 00000 n
-0000121726 00000 n
-0000118110 00000 n
-0000121847 00000 n
-0000876573 00000 n
-0000125844 00000 n
-0000126005 00000 n
-0000126166 00000 n
-0000126321 00000 n
-0000126727 00000 n
-0000125654 00000 n
-0000122297 00000 n
-0000126478 00000 n
-0000126601 00000 n
-0000126664 00000 n
-0000125791 00000 n
-0000130458 00000 n
-0000130615 00000 n
-0000130772 00000 n
-0000130932 00000 n
-0000131092 00000 n
-0000131249 00000 n
-0000131739 00000 n
-0000130252 00000 n
-0000126968 00000 n
-0000131429 00000 n
-0000648876 00000 n
-0000131491 00000 n
-0000131553 00000 n
-0000131677 00000 n
-0000130389 00000 n
-0000134565 00000 n
-0000134721 00000 n
-0000135001 00000 n
-0000134391 00000 n
-0000132006 00000 n
-0000134877 00000 n
-0000646677 00000 n
-0000634504 00000 n
-0000619850 00000 n
-0000134528 00000 n
-0000139058 00000 n
-0000139215 00000 n
-0000139641 00000 n
-0000138884 00000 n
-0000135245 00000 n
-0000139393 00000 n
-0000139579 00000 n
-0000139021 00000 n
-0000143109 00000 n
-0000142864 00000 n
-0000139882 00000 n
-0000142985 00000 n
-0000146700 00000 n
-0000146455 00000 n
-0000143272 00000 n
-0000146576 00000 n
-0000150091 00000 n
-0000149846 00000 n
-0000146889 00000 n
-0000149967 00000 n
-0000151817 00000 n
-0000151978 00000 n
-0000152263 00000 n
-0000151643 00000 n
-0000150267 00000 n
-0000152139 00000 n
-0000151780 00000 n
-0000153983 00000 n
-0000154263 00000 n
-0000153817 00000 n
-0000152426 00000 n
-0000154139 00000 n
-0000153954 00000 n
-0000158025 00000 n
-0000158180 00000 n
-0000158336 00000 n
-0000158493 00000 n
-0000159087 00000 n
-0000157835 00000 n
-0000154426 00000 n
-0000158650 00000 n
-0000158835 00000 n
-0000158898 00000 n
-0000158961 00000 n
-0000159024 00000 n
-0000876726 00000 n
-0000157972 00000 n
-0000165091 00000 n
-0000162522 00000 n
-0000159380 00000 n
-0000162643 00000 n
-0000874161 00000 n
-0000162829 00000 n
-0000875564 00000 n
-0000876094 00000 n
-0000162892 00000 n
-0000162955 00000 n
-0000163018 00000 n
-0000163081 00000 n
-0000163143 00000 n
-0000163206 00000 n
-0000163269 00000 n
-0000163332 00000 n
-0000163395 00000 n
-0000163458 00000 n
-0000163520 00000 n
-0000163583 00000 n
-0000163646 00000 n
-0000163709 00000 n
-0000163772 00000 n
-0000163835 00000 n
-0000163898 00000 n
-0000163961 00000 n
-0000164024 00000 n
-0000164086 00000 n
-0000164149 00000 n
-0000164212 00000 n
-0000164275 00000 n
-0000164338 00000 n
-0000164401 00000 n
-0000164464 00000 n
-0000164527 00000 n
-0000164590 00000 n
-0000164653 00000 n
-0000164716 00000 n
-0000164779 00000 n
-0000164842 00000 n
-0000164905 00000 n
-0000164967 00000 n
-0000165029 00000 n
-0000170786 00000 n
-0000167648 00000 n
-0000165321 00000 n
-0000167769 00000 n
-0000167831 00000 n
-0000167894 00000 n
-0000167956 00000 n
-0000168019 00000 n
-0000168082 00000 n
-0000168145 00000 n
-0000168208 00000 n
-0000168271 00000 n
-0000168334 00000 n
-0000168397 00000 n
-0000168460 00000 n
-0000168523 00000 n
-0000168586 00000 n
-0000168649 00000 n
-0000168711 00000 n
-0000168774 00000 n
-0000168837 00000 n
-0000168900 00000 n
-0000168963 00000 n
-0000169026 00000 n
-0000169089 00000 n
-0000169152 00000 n
-0000169215 00000 n
-0000169278 00000 n
-0000169341 00000 n
-0000169404 00000 n
-0000169467 00000 n
-0000169530 00000 n
-0000169593 00000 n
-0000169656 00000 n
-0000169719 00000 n
-0000169782 00000 n
-0000169845 00000 n
-0000169908 00000 n
-0000169970 00000 n
-0000170033 00000 n
-0000170096 00000 n
-0000170159 00000 n
-0000170222 00000 n
-0000170285 00000 n
-0000170348 00000 n
-0000170411 00000 n
-0000170474 00000 n
-0000170536 00000 n
-0000170599 00000 n
-0000170662 00000 n
-0000170724 00000 n
-0000176419 00000 n
-0000173033 00000 n
-0000170949 00000 n
-0000173154 00000 n
-0000173216 00000 n
-0000173279 00000 n
-0000173341 00000 n
-0000173404 00000 n
-0000173467 00000 n
-0000173530 00000 n
-0000173593 00000 n
-0000173656 00000 n
-0000173719 00000 n
-0000173782 00000 n
-0000173845 00000 n
-0000173908 00000 n
-0000173971 00000 n
-0000174034 00000 n
-0000174097 00000 n
-0000174160 00000 n
-0000174223 00000 n
-0000174286 00000 n
-0000174349 00000 n
-0000174412 00000 n
-0000174475 00000 n
-0000174538 00000 n
-0000174601 00000 n
-0000174663 00000 n
-0000174726 00000 n
-0000174789 00000 n
-0000174852 00000 n
-0000174915 00000 n
-0000174978 00000 n
-0000175037 00000 n
-0000175100 00000 n
-0000175163 00000 n
-0000175226 00000 n
-0000175289 00000 n
-0000175352 00000 n
-0000175415 00000 n
-0000175478 00000 n
-0000175541 00000 n
-0000175603 00000 n
-0000175666 00000 n
-0000175729 00000 n
-0000175792 00000 n
-0000175855 00000 n
-0000175918 00000 n
-0000175980 00000 n
-0000176043 00000 n
-0000176106 00000 n
-0000176169 00000 n
-0000176232 00000 n
-0000176295 00000 n
-0000176357 00000 n
-0000181135 00000 n
-0000179380 00000 n
-0000176582 00000 n
-0000179501 00000 n
-0000179563 00000 n
-0000179626 00000 n
-0000179688 00000 n
-0000179751 00000 n
-0000179814 00000 n
-0000179877 00000 n
-0000179940 00000 n
-0000180003 00000 n
-0000180066 00000 n
-0000180129 00000 n
-0000180192 00000 n
-0000180255 00000 n
-0000180380 00000 n
-0000180443 00000 n
-0000180506 00000 n
-0000180569 00000 n
-0000180632 00000 n
-0000180695 00000 n
-0000180757 00000 n
-0000180820 00000 n
-0000180883 00000 n
-0000180946 00000 n
-0000181009 00000 n
-0000181072 00000 n
-0000185819 00000 n
-0000184317 00000 n
-0000181337 00000 n
-0000184438 00000 n
-0000184500 00000 n
-0000184563 00000 n
-0000184626 00000 n
-0000184689 00000 n
-0000184752 00000 n
-0000184815 00000 n
-0000184878 00000 n
-0000184941 00000 n
-0000185003 00000 n
-0000185064 00000 n
-0000185127 00000 n
-0000185190 00000 n
-0000185253 00000 n
-0000185316 00000 n
-0000185379 00000 n
-0000185441 00000 n
-0000185504 00000 n
-0000185567 00000 n
-0000185630 00000 n
-0000185693 00000 n
-0000185756 00000 n
-0000190528 00000 n
-0000189276 00000 n
-0000185995 00000 n
-0000189397 00000 n
-0000189459 00000 n
-0000189522 00000 n
-0000189585 00000 n
-0000189648 00000 n
-0000189711 00000 n
-0000189774 00000 n
-0000189837 00000 n
-0000189899 00000 n
-0000189962 00000 n
-0000190025 00000 n
-0000190088 00000 n
-0000190150 00000 n
-0000190213 00000 n
-0000190276 00000 n
-0000190339 00000 n
-0000190402 00000 n
-0000190465 00000 n
-0000195625 00000 n
-0000193053 00000 n
-0000190717 00000 n
-0000193174 00000 n
-0000193236 00000 n
-0000193299 00000 n
-0000193362 00000 n
-0000193425 00000 n
-0000193487 00000 n
-0000193550 00000 n
-0000193613 00000 n
-0000193676 00000 n
-0000193739 00000 n
-0000193802 00000 n
-0000193865 00000 n
-0000193928 00000 n
-0000193991 00000 n
-0000194054 00000 n
-0000194116 00000 n
-0000194179 00000 n
-0000194242 00000 n
-0000194305 00000 n
-0000194368 00000 n
-0000194431 00000 n
-0000194493 00000 n
-0000194556 00000 n
-0000194619 00000 n
-0000194682 00000 n
-0000194745 00000 n
-0000194808 00000 n
-0000194871 00000 n
-0000194933 00000 n
-0000194996 00000 n
-0000195059 00000 n
-0000195122 00000 n
-0000195185 00000 n
-0000195248 00000 n
-0000195311 00000 n
-0000195373 00000 n
-0000195436 00000 n
-0000195499 00000 n
-0000195562 00000 n
-0000201116 00000 n
-0000198858 00000 n
-0000195801 00000 n
-0000198979 00000 n
-0000199041 00000 n
-0000199104 00000 n
-0000199167 00000 n
-0000199230 00000 n
-0000199293 00000 n
-0000199356 00000 n
-0000199419 00000 n
-0000199482 00000 n
-0000199545 00000 n
-0000199608 00000 n
-0000199671 00000 n
-0000199734 00000 n
-0000199796 00000 n
-0000199921 00000 n
-0000199984 00000 n
-0000200047 00000 n
-0000200110 00000 n
-0000200172 00000 n
-0000200235 00000 n
-0000200298 00000 n
-0000200361 00000 n
-0000200424 00000 n
-0000200487 00000 n
-0000200550 00000 n
-0000200613 00000 n
-0000200676 00000 n
-0000200738 00000 n
-0000200801 00000 n
-0000200864 00000 n
-0000200927 00000 n
-0000200990 00000 n
-0000201053 00000 n
-0000207151 00000 n
-0000203577 00000 n
-0000201318 00000 n
-0000203698 00000 n
-0000203760 00000 n
-0000203823 00000 n
-0000203885 00000 n
-0000203948 00000 n
-0000204011 00000 n
-0000204074 00000 n
-0000204137 00000 n
-0000204200 00000 n
-0000204263 00000 n
-0000204326 00000 n
-0000204389 00000 n
-0000204452 00000 n
-0000204515 00000 n
-0000204578 00000 n
-0000204640 00000 n
-0000204703 00000 n
-0000204764 00000 n
-0000204827 00000 n
-0000204890 00000 n
-0000204953 00000 n
-0000205016 00000 n
-0000205079 00000 n
-0000205142 00000 n
-0000205205 00000 n
-0000205268 00000 n
-0000205330 00000 n
-0000205393 00000 n
-0000205456 00000 n
-0000205519 00000 n
-0000205582 00000 n
-0000205645 00000 n
-0000205708 00000 n
-0000205771 00000 n
-0000205834 00000 n
-0000205896 00000 n
-0000205959 00000 n
-0000206022 00000 n
-0000206084 00000 n
-0000206147 00000 n
-0000206209 00000 n
-0000206272 00000 n
-0000206335 00000 n
-0000206398 00000 n
-0000206461 00000 n
-0000206524 00000 n
-0000206587 00000 n
-0000206650 00000 n
-0000206713 00000 n
-0000206776 00000 n
-0000206838 00000 n
-0000206901 00000 n
-0000206964 00000 n
-0000207027 00000 n
-0000207089 00000 n
-0000210421 00000 n
-0000210581 00000 n
-0000212844 00000 n
-0000210244 00000 n
-0000207314 00000 n
-0000210742 00000 n
-0000210804 00000 n
-0000210867 00000 n
-0000210929 00000 n
-0000210992 00000 n
-0000211055 00000 n
-0000211118 00000 n
-0000211181 00000 n
-0000211245 00000 n
-0000211309 00000 n
-0000211373 00000 n
-0000211437 00000 n
-0000211501 00000 n
-0000211565 00000 n
-0000211629 00000 n
-0000211693 00000 n
-0000211756 00000 n
-0000211820 00000 n
-0000211884 00000 n
-0000211948 00000 n
-0000212012 00000 n
-0000212076 00000 n
-0000212140 00000 n
-0000212204 00000 n
-0000212268 00000 n
-0000212332 00000 n
-0000212396 00000 n
-0000212460 00000 n
-0000212524 00000 n
-0000212588 00000 n
-0000212652 00000 n
-0000212716 00000 n
-0000212780 00000 n
-0000876879 00000 n
-0000210383 00000 n
-0000218471 00000 n
-0000214906 00000 n
-0000213007 00000 n
-0000215031 00000 n
-0000215095 00000 n
-0000215160 00000 n
-0000215225 00000 n
-0000215290 00000 n
-0000215354 00000 n
-0000215419 00000 n
-0000215484 00000 n
-0000215549 00000 n
-0000215614 00000 n
-0000215679 00000 n
-0000215744 00000 n
-0000215809 00000 n
-0000215874 00000 n
-0000215939 00000 n
-0000216004 00000 n
-0000216069 00000 n
-0000216134 00000 n
+0000042369 00000 n
+0000043274 00000 n
+0000041035 00000 n
+0000035872 00000 n
+0000042840 00000 n
+0000677463 00000 n
+0000043024 00000 n
+0000043087 00000 n
+0000043150 00000 n
+0000043212 00000 n
+0000041172 00000 n
+0000047828 00000 n
+0000047988 00000 n
+0000048149 00000 n
+0000048315 00000 n
+0000048480 00000 n
+0000053242 00000 n
+0000053399 00000 n
+0000053560 00000 n
+0000048707 00000 n
+0000047630 00000 n
+0000043541 00000 n
+0000048645 00000 n
+0000674667 00000 n
+0000047767 00000 n
+0000053721 00000 n
+0000053878 00000 n
+0000054035 00000 n
+0000054353 00000 n
+0000054517 00000 n
+0000054192 00000 n
+0000059694 00000 n
+0000054994 00000 n
+0000053012 00000 n
+0000048896 00000 n
+0000054681 00000 n
+0000670931 00000 n
+0000054743 00000 n
+0000054806 00000 n
+0000054869 00000 n
+0000054932 00000 n
+0000053149 00000 n
+0000059850 00000 n
+0000060005 00000 n
+0000060161 00000 n
+0000060318 00000 n
+0000060905 00000 n
+0000059496 00000 n
+0000055261 00000 n
+0000060474 00000 n
+0000659424 00000 n
+0000060719 00000 n
+0000060781 00000 n
+0000060843 00000 n
+0000059633 00000 n
+0000065408 00000 n
+0000065568 00000 n
+0000065725 00000 n
+0000066318 00000 n
+0000065226 00000 n
+0000061198 00000 n
+0000065882 00000 n
+0000066004 00000 n
+0000066068 00000 n
+0000066193 00000 n
+0000066256 00000 n
+0000065363 00000 n
+0000070217 00000 n
+0000069974 00000 n
+0000066624 00000 n
+0000070095 00000 n
+0000073995 00000 n
+0000074277 00000 n
+0000073829 00000 n
+0000070458 00000 n
+0000074152 00000 n
+0000074214 00000 n
+0000073966 00000 n
+0000078843 00000 n
+0000078999 00000 n
+0000079587 00000 n
+0000078669 00000 n
+0000074531 00000 n
+0000079155 00000 n
+0000079461 00000 n
+0000079524 00000 n
+0000883271 00000 n
+0000078806 00000 n
+0000083771 00000 n
+0000083466 00000 n
+0000079867 00000 n
+0000083587 00000 n
+0000087285 00000 n
+0000087041 00000 n
+0000084025 00000 n
+0000087162 00000 n
+0000090829 00000 n
+0000090986 00000 n
+0000091147 00000 n
+0000091493 00000 n
+0000090647 00000 n
+0000087513 00000 n
+0000091308 00000 n
+0000091431 00000 n
+0000090784 00000 n
+0000095131 00000 n
+0000095291 00000 n
+0000099255 00000 n
+0000099416 00000 n
+0000099577 00000 n
+0000095636 00000 n
+0000094957 00000 n
+0000091760 00000 n
+0000095451 00000 n
+0000095094 00000 n
+0000099981 00000 n
+0000099073 00000 n
+0000095838 00000 n
+0000099734 00000 n
+0000099920 00000 n
+0000099210 00000 n
+0000104168 00000 n
+0000103861 00000 n
+0000100274 00000 n
+0000103982 00000 n
+0000108125 00000 n
+0000108282 00000 n
+0000112660 00000 n
+0000108813 00000 n
+0000107951 00000 n
+0000104357 00000 n
+0000108439 00000 n
+0000882237 00000 n
+0000881338 00000 n
+0000108687 00000 n
+0000108750 00000 n
+0000108088 00000 n
+0000112817 00000 n
+0000113222 00000 n
+0000112486 00000 n
+0000109171 00000 n
+0000112973 00000 n
+0000113097 00000 n
+0000113160 00000 n
+0000112623 00000 n
+0000117497 00000 n
+0000117662 00000 n
+0000117951 00000 n
+0000117323 00000 n
+0000113463 00000 n
+0000117827 00000 n
+0000117460 00000 n
+0000121771 00000 n
+0000121927 00000 n
+0000122084 00000 n
+0000122241 00000 n
+0000122772 00000 n
+0000121581 00000 n
+0000118153 00000 n
+0000122397 00000 n
+0000655866 00000 n
+0000122459 00000 n
+0000122522 00000 n
+0000122647 00000 n
+0000122710 00000 n
+0000883424 00000 n
+0000121718 00000 n
+0000127241 00000 n
+0000127401 00000 n
+0000127567 00000 n
+0000127733 00000 n
+0000127894 00000 n
+0000128303 00000 n
+0000127043 00000 n
+0000123039 00000 n
+0000128055 00000 n
+0000127180 00000 n
+0000135295 00000 n
+0000135456 00000 n
+0000135617 00000 n
+0000135774 00000 n
+0000131772 00000 n
+0000131527 00000 n
+0000128531 00000 n
+0000131648 00000 n
+0000136200 00000 n
+0000135105 00000 n
+0000131961 00000 n
+0000135952 00000 n
+0000653667 00000 n
+0000641494 00000 n
+0000626840 00000 n
+0000136138 00000 n
+0000135242 00000 n
+0000137529 00000 n
+0000137685 00000 n
+0000137903 00000 n
+0000137355 00000 n
+0000136496 00000 n
+0000137841 00000 n
+0000137492 00000 n
+0000141870 00000 n
+0000142027 00000 n
+0000142453 00000 n
+0000141696 00000 n
+0000138053 00000 n
+0000142205 00000 n
+0000142391 00000 n
+0000141833 00000 n
+0000145921 00000 n
+0000145676 00000 n
+0000142694 00000 n
+0000145797 00000 n
+0000149512 00000 n
+0000149267 00000 n
+0000146084 00000 n
+0000149388 00000 n
+0000152904 00000 n
+0000152659 00000 n
+0000149701 00000 n
+0000152780 00000 n
+0000154630 00000 n
+0000154791 00000 n
+0000155076 00000 n
+0000154456 00000 n
+0000153080 00000 n
+0000154952 00000 n
+0000154593 00000 n
+0000156795 00000 n
+0000157075 00000 n
+0000156629 00000 n
+0000155239 00000 n
+0000156951 00000 n
+0000883577 00000 n
+0000156766 00000 n
+0000160834 00000 n
+0000160989 00000 n
+0000161145 00000 n
+0000161302 00000 n
+0000161896 00000 n
+0000160644 00000 n
+0000157238 00000 n
+0000161459 00000 n
+0000161644 00000 n
+0000161707 00000 n
+0000161770 00000 n
+0000161833 00000 n
+0000160781 00000 n
+0000167805 00000 n
+0000165423 00000 n
+0000162189 00000 n
+0000165544 00000 n
+0000881012 00000 n
+0000165730 00000 n
+0000882415 00000 n
+0000882945 00000 n
+0000165793 00000 n
+0000165856 00000 n
+0000165919 00000 n
+0000165981 00000 n
+0000166044 00000 n
+0000166107 00000 n
+0000166170 00000 n
+0000166233 00000 n
+0000166296 00000 n
+0000166359 00000 n
+0000166422 00000 n
+0000166485 00000 n
+0000166548 00000 n
+0000166611 00000 n
+0000166673 00000 n
+0000166736 00000 n
+0000166799 00000 n
+0000166862 00000 n
+0000166925 00000 n
+0000166988 00000 n
+0000167051 00000 n
+0000167114 00000 n
+0000167177 00000 n
+0000167240 00000 n
+0000167303 00000 n
+0000167366 00000 n
+0000167429 00000 n
+0000167492 00000 n
+0000167555 00000 n
+0000167618 00000 n
+0000167681 00000 n
+0000167743 00000 n
+0000173494 00000 n
+0000170361 00000 n
+0000168048 00000 n
+0000170482 00000 n
+0000170544 00000 n
+0000170607 00000 n
+0000170669 00000 n
+0000170732 00000 n
+0000170795 00000 n
+0000170858 00000 n
+0000170921 00000 n
+0000170984 00000 n
+0000171047 00000 n
+0000171109 00000 n
+0000171172 00000 n
+0000171235 00000 n
+0000171298 00000 n
+0000171361 00000 n
+0000171424 00000 n
+0000171487 00000 n
+0000171549 00000 n
+0000171612 00000 n
+0000171675 00000 n
+0000171738 00000 n
+0000171801 00000 n
+0000171864 00000 n
+0000171927 00000 n
+0000171990 00000 n
+0000172053 00000 n
+0000172116 00000 n
+0000172179 00000 n
+0000172242 00000 n
+0000172305 00000 n
+0000172366 00000 n
+0000172429 00000 n
+0000172492 00000 n
+0000172553 00000 n
+0000172616 00000 n
+0000172679 00000 n
+0000172742 00000 n
+0000172803 00000 n
+0000172866 00000 n
+0000172929 00000 n
+0000172992 00000 n
+0000173055 00000 n
+0000173118 00000 n
+0000173181 00000 n
+0000173244 00000 n
+0000173307 00000 n
+0000173370 00000 n
+0000173432 00000 n
+0000179067 00000 n
+0000175684 00000 n
+0000173657 00000 n
+0000175805 00000 n
+0000175867 00000 n
+0000175930 00000 n
+0000175992 00000 n
+0000176055 00000 n
+0000176118 00000 n
+0000176181 00000 n
+0000176244 00000 n
+0000176306 00000 n
+0000176369 00000 n
+0000176432 00000 n
+0000176494 00000 n
+0000176557 00000 n
+0000176620 00000 n
+0000176683 00000 n
+0000176746 00000 n
+0000176809 00000 n
+0000176872 00000 n
+0000176934 00000 n
+0000176997 00000 n
+0000177060 00000 n
+0000177123 00000 n
+0000177186 00000 n
+0000177249 00000 n
+0000177311 00000 n
+0000177374 00000 n
+0000177437 00000 n
+0000177500 00000 n
+0000177563 00000 n
+0000177626 00000 n
+0000177689 00000 n
+0000177752 00000 n
+0000177815 00000 n
+0000177877 00000 n
+0000177940 00000 n
+0000178003 00000 n
+0000178066 00000 n
+0000178129 00000 n
+0000178192 00000 n
+0000178255 00000 n
+0000178314 00000 n
+0000178377 00000 n
+0000178440 00000 n
+0000178503 00000 n
+0000178566 00000 n
+0000178629 00000 n
+0000178692 00000 n
+0000178755 00000 n
+0000178817 00000 n
+0000178880 00000 n
+0000178943 00000 n
+0000179005 00000 n
+0000184124 00000 n
+0000182496 00000 n
+0000179230 00000 n
+0000182617 00000 n
+0000182679 00000 n
+0000182741 00000 n
+0000182804 00000 n
+0000182867 00000 n
+0000182930 00000 n
+0000182993 00000 n
+0000183056 00000 n
+0000183119 00000 n
+0000183182 00000 n
+0000183245 00000 n
+0000183369 00000 n
+0000183432 00000 n
+0000183495 00000 n
+0000183558 00000 n
+0000183621 00000 n
+0000183684 00000 n
+0000183747 00000 n
+0000183810 00000 n
+0000183872 00000 n
+0000183935 00000 n
+0000183998 00000 n
+0000184061 00000 n
+0000188858 00000 n
+0000187294 00000 n
+0000184339 00000 n
+0000187415 00000 n
+0000187477 00000 n
+0000187540 00000 n
+0000187603 00000 n
+0000187666 00000 n
+0000187729 00000 n
+0000187792 00000 n
+0000187854 00000 n
+0000187917 00000 n
+0000187980 00000 n
+0000188043 00000 n
+0000188106 00000 n
+0000188169 00000 n
+0000188231 00000 n
+0000188293 00000 n
+0000188356 00000 n
+0000188419 00000 n
+0000188482 00000 n
+0000188545 00000 n
+0000188607 00000 n
+0000188670 00000 n
+0000188733 00000 n
+0000188796 00000 n
+0000194289 00000 n
+0000192597 00000 n
+0000189047 00000 n
+0000192718 00000 n
+0000192780 00000 n
+0000192843 00000 n
+0000192906 00000 n
+0000192969 00000 n
+0000193032 00000 n
+0000193095 00000 n
+0000193158 00000 n
+0000193221 00000 n
+0000193284 00000 n
+0000193347 00000 n
+0000193410 00000 n
+0000193473 00000 n
+0000193536 00000 n
+0000193599 00000 n
+0000193662 00000 n
+0000193725 00000 n
+0000193788 00000 n
+0000193851 00000 n
+0000193914 00000 n
+0000193977 00000 n
+0000194039 00000 n
+0000194102 00000 n
+0000194165 00000 n
+0000194227 00000 n
+0000199654 00000 n
+0000197396 00000 n
+0000194478 00000 n
+0000197517 00000 n
+0000197579 00000 n
+0000197642 00000 n
+0000197705 00000 n
+0000197768 00000 n
+0000197831 00000 n
+0000197894 00000 n
+0000197957 00000 n
+0000198020 00000 n
+0000198083 00000 n
+0000198146 00000 n
+0000198209 00000 n
+0000198272 00000 n
+0000198335 00000 n
+0000198398 00000 n
+0000198461 00000 n
+0000198524 00000 n
+0000198587 00000 n
+0000198650 00000 n
+0000198712 00000 n
+0000198775 00000 n
+0000198838 00000 n
+0000198901 00000 n
+0000198964 00000 n
+0000199027 00000 n
+0000199090 00000 n
+0000199153 00000 n
+0000199215 00000 n
+0000199278 00000 n
+0000199341 00000 n
+0000199404 00000 n
+0000199466 00000 n
+0000199529 00000 n
+0000199592 00000 n
+0000205306 00000 n
+0000202545 00000 n
+0000199843 00000 n
+0000202666 00000 n
+0000202728 00000 n
+0000202791 00000 n
+0000202854 00000 n
+0000202917 00000 n
+0000202980 00000 n
+0000203043 00000 n
+0000203106 00000 n
+0000203169 00000 n
+0000203294 00000 n
+0000203357 00000 n
+0000203420 00000 n
+0000203483 00000 n
+0000203546 00000 n
+0000203609 00000 n
+0000203672 00000 n
+0000203735 00000 n
+0000203798 00000 n
+0000203860 00000 n
+0000203923 00000 n
+0000203986 00000 n
+0000204049 00000 n
+0000204112 00000 n
+0000204175 00000 n
+0000204238 00000 n
+0000204301 00000 n
+0000204363 00000 n
+0000204426 00000 n
+0000204489 00000 n
+0000204552 00000 n
+0000204615 00000 n
+0000204678 00000 n
+0000204741 00000 n
+0000204804 00000 n
+0000204867 00000 n
+0000204930 00000 n
+0000204993 00000 n
+0000205056 00000 n
+0000205119 00000 n
+0000205182 00000 n
+0000205244 00000 n
+0000211457 00000 n
+0000208005 00000 n
+0000205482 00000 n
+0000208127 00000 n
+0000208189 00000 n
+0000208252 00000 n
+0000208314 00000 n
+0000208377 00000 n
+0000208440 00000 n
+0000208503 00000 n
+0000208566 00000 n
+0000208629 00000 n
+0000208691 00000 n
+0000208754 00000 n
+0000208817 00000 n
+0000208880 00000 n
+0000208943 00000 n
+0000209006 00000 n
+0000209069 00000 n
+0000209132 00000 n
+0000209195 00000 n
+0000209257 00000 n
+0000209320 00000 n
+0000209383 00000 n
+0000209446 00000 n
+0000209509 00000 n
+0000209572 00000 n
+0000209634 00000 n
+0000209697 00000 n
+0000209760 00000 n
+0000209823 00000 n
+0000209886 00000 n
+0000209949 00000 n
+0000210011 00000 n
+0000210074 00000 n
+0000210137 00000 n
+0000210200 00000 n
+0000210263 00000 n
+0000210326 00000 n
+0000210389 00000 n
+0000210452 00000 n
+0000210515 00000 n
+0000210577 00000 n
+0000210640 00000 n
+0000210703 00000 n
+0000210766 00000 n
+0000210829 00000 n
+0000210892 00000 n
+0000210955 00000 n
+0000211018 00000 n
+0000211081 00000 n
+0000211143 00000 n
+0000211206 00000 n
+0000211269 00000 n
+0000211332 00000 n
+0000211395 00000 n
+0000883730 00000 n
+0000214904 00000 n
+0000215065 00000 n
+0000217302 00000 n
+0000214722 00000 n
+0000211620 00000 n
+0000215227 00000 n
+0000215291 00000 n
+0000215356 00000 n
+0000215421 00000 n
+0000215486 00000 n
+0000215551 00000 n
+0000215615 00000 n
+0000215680 00000 n
+0000215745 00000 n
+0000215810 00000 n
+0000215875 00000 n
+0000215940 00000 n
+0000216005 00000 n
+0000216070 00000 n
+0000216135 00000 n
0000216199 00000 n
-0000216262 00000 n
-0000216327 00000 n
-0000216392 00000 n
-0000216457 00000 n
-0000216522 00000 n
-0000216587 00000 n
-0000216652 00000 n
-0000216717 00000 n
-0000216782 00000 n
-0000216847 00000 n
-0000216912 00000 n
-0000216977 00000 n
-0000217042 00000 n
-0000217107 00000 n
+0000216264 00000 n
+0000216329 00000 n
+0000216394 00000 n
+0000216459 00000 n
+0000216524 00000 n
+0000216589 00000 n
+0000216653 00000 n
+0000216718 00000 n
+0000216783 00000 n
+0000216848 00000 n
+0000216913 00000 n
+0000216978 00000 n
+0000217043 00000 n
+0000217108 00000 n
0000217172 00000 n
0000217237 00000 n
-0000217301 00000 n
-0000217366 00000 n
-0000217431 00000 n
-0000217496 00000 n
-0000217561 00000 n
-0000217626 00000 n
-0000217691 00000 n
-0000217756 00000 n
-0000217821 00000 n
-0000217886 00000 n
-0000217951 00000 n
-0000218016 00000 n
-0000218081 00000 n
-0000218146 00000 n
-0000218211 00000 n
-0000218276 00000 n
-0000218341 00000 n
-0000218406 00000 n
-0000224416 00000 n
-0000220339 00000 n
-0000218635 00000 n
-0000220464 00000 n
-0000220591 00000 n
-0000220656 00000 n
-0000220721 00000 n
-0000220786 00000 n
-0000220851 00000 n
-0000220916 00000 n
-0000220981 00000 n
-0000221045 00000 n
-0000221110 00000 n
-0000221175 00000 n
-0000221240 00000 n
-0000221305 00000 n
-0000221370 00000 n
-0000221435 00000 n
-0000221500 00000 n
-0000221565 00000 n
-0000221630 00000 n
-0000221693 00000 n
-0000221758 00000 n
-0000221823 00000 n
-0000221888 00000 n
-0000221953 00000 n
-0000222018 00000 n
-0000222083 00000 n
-0000222148 00000 n
-0000222213 00000 n
-0000222278 00000 n
-0000222342 00000 n
-0000222407 00000 n
-0000222472 00000 n
-0000222537 00000 n
-0000222602 00000 n
-0000222667 00000 n
-0000222732 00000 n
-0000222797 00000 n
-0000222862 00000 n
-0000222927 00000 n
-0000222991 00000 n
-0000223056 00000 n
-0000223121 00000 n
-0000223186 00000 n
-0000223251 00000 n
-0000223316 00000 n
-0000223381 00000 n
-0000223446 00000 n
-0000223511 00000 n
-0000223574 00000 n
-0000223639 00000 n
-0000223704 00000 n
-0000223769 00000 n
-0000223834 00000 n
-0000223899 00000 n
-0000223964 00000 n
-0000224029 00000 n
-0000224094 00000 n
-0000224158 00000 n
-0000224223 00000 n
-0000224288 00000 n
-0000224352 00000 n
-0000230474 00000 n
-0000226720 00000 n
-0000224580 00000 n
-0000226845 00000 n
-0000226909 00000 n
-0000226974 00000 n
-0000227038 00000 n
-0000227103 00000 n
-0000227168 00000 n
-0000227233 00000 n
-0000227298 00000 n
-0000227363 00000 n
-0000227428 00000 n
-0000227493 00000 n
-0000227558 00000 n
-0000227622 00000 n
-0000227687 00000 n
-0000227752 00000 n
-0000227817 00000 n
-0000227882 00000 n
-0000227947 00000 n
-0000228011 00000 n
-0000228076 00000 n
-0000228141 00000 n
-0000228205 00000 n
-0000228270 00000 n
-0000228335 00000 n
-0000228400 00000 n
-0000228465 00000 n
-0000228530 00000 n
-0000228595 00000 n
-0000228659 00000 n
-0000228724 00000 n
-0000228789 00000 n
-0000228854 00000 n
-0000228919 00000 n
-0000228984 00000 n
-0000229049 00000 n
-0000229114 00000 n
-0000229179 00000 n
-0000229243 00000 n
-0000229308 00000 n
-0000229373 00000 n
-0000229438 00000 n
-0000229503 00000 n
-0000229568 00000 n
-0000229633 00000 n
-0000229698 00000 n
-0000229763 00000 n
-0000229827 00000 n
-0000229892 00000 n
-0000229957 00000 n
-0000230022 00000 n
-0000230087 00000 n
-0000230152 00000 n
-0000230216 00000 n
-0000230281 00000 n
-0000230346 00000 n
-0000230410 00000 n
-0000236951 00000 n
-0000232807 00000 n
-0000230651 00000 n
-0000232932 00000 n
-0000232996 00000 n
-0000233061 00000 n
-0000233125 00000 n
-0000233190 00000 n
-0000233255 00000 n
-0000233320 00000 n
-0000233385 00000 n
-0000233450 00000 n
-0000233515 00000 n
-0000233580 00000 n
-0000233643 00000 n
-0000233708 00000 n
-0000233773 00000 n
-0000233838 00000 n
-0000233903 00000 n
-0000233968 00000 n
-0000234033 00000 n
-0000234098 00000 n
-0000234163 00000 n
-0000234227 00000 n
-0000234292 00000 n
-0000234357 00000 n
-0000234422 00000 n
-0000234487 00000 n
-0000234552 00000 n
-0000234617 00000 n
-0000234682 00000 n
-0000234747 00000 n
-0000234811 00000 n
-0000234876 00000 n
-0000234941 00000 n
-0000235006 00000 n
-0000235071 00000 n
-0000235136 00000 n
-0000235201 00000 n
-0000235266 00000 n
-0000235331 00000 n
-0000235395 00000 n
-0000235460 00000 n
-0000235525 00000 n
-0000235590 00000 n
-0000235655 00000 n
-0000235720 00000 n
-0000235785 00000 n
-0000235850 00000 n
-0000235915 00000 n
-0000235979 00000 n
-0000236044 00000 n
-0000236109 00000 n
-0000236174 00000 n
-0000236239 00000 n
-0000236304 00000 n
-0000236369 00000 n
-0000236434 00000 n
-0000236499 00000 n
-0000236564 00000 n
-0000236628 00000 n
-0000236693 00000 n
-0000236758 00000 n
-0000236823 00000 n
-0000236887 00000 n
-0000243308 00000 n
-0000239032 00000 n
-0000237115 00000 n
-0000239157 00000 n
-0000239221 00000 n
-0000239286 00000 n
-0000239350 00000 n
-0000239415 00000 n
-0000239480 00000 n
-0000239545 00000 n
-0000239610 00000 n
-0000239675 00000 n
-0000239740 00000 n
-0000239805 00000 n
-0000239870 00000 n
-0000239934 00000 n
-0000239999 00000 n
-0000240064 00000 n
-0000240129 00000 n
-0000240194 00000 n
-0000240259 00000 n
-0000240324 00000 n
-0000240389 00000 n
-0000240454 00000 n
-0000240518 00000 n
-0000240583 00000 n
-0000240648 00000 n
-0000240713 00000 n
-0000240778 00000 n
-0000240843 00000 n
-0000240908 00000 n
-0000240973 00000 n
-0000241038 00000 n
-0000241102 00000 n
-0000241167 00000 n
-0000241232 00000 n
-0000241297 00000 n
-0000241362 00000 n
-0000241427 00000 n
-0000241492 00000 n
-0000241557 00000 n
-0000241622 00000 n
-0000241686 00000 n
-0000241751 00000 n
-0000241816 00000 n
-0000241881 00000 n
-0000241946 00000 n
-0000242011 00000 n
-0000242076 00000 n
-0000242141 00000 n
-0000242206 00000 n
-0000242270 00000 n
-0000242335 00000 n
-0000242400 00000 n
-0000242465 00000 n
-0000242530 00000 n
-0000242595 00000 n
-0000242660 00000 n
-0000242725 00000 n
-0000242790 00000 n
-0000242854 00000 n
-0000242919 00000 n
-0000242984 00000 n
-0000243049 00000 n
-0000243114 00000 n
-0000243179 00000 n
-0000243244 00000 n
-0000248827 00000 n
-0000245661 00000 n
-0000243459 00000 n
-0000245786 00000 n
-0000245850 00000 n
-0000245915 00000 n
-0000245979 00000 n
-0000246044 00000 n
-0000246109 00000 n
-0000246174 00000 n
-0000246239 00000 n
-0000246304 00000 n
-0000246368 00000 n
-0000246433 00000 n
-0000246498 00000 n
-0000246563 00000 n
-0000246628 00000 n
-0000246693 00000 n
-0000246758 00000 n
-0000246823 00000 n
-0000246888 00000 n
-0000246953 00000 n
-0000247018 00000 n
-0000247144 00000 n
-0000247209 00000 n
-0000247274 00000 n
-0000247339 00000 n
-0000247404 00000 n
-0000247469 00000 n
-0000247534 00000 n
-0000247599 00000 n
-0000247664 00000 n
-0000247729 00000 n
-0000247793 00000 n
-0000247858 00000 n
-0000247923 00000 n
-0000247988 00000 n
-0000248053 00000 n
-0000248118 00000 n
-0000248183 00000 n
-0000248248 00000 n
-0000248375 00000 n
-0000248440 00000 n
-0000248505 00000 n
-0000248569 00000 n
-0000248634 00000 n
-0000248699 00000 n
-0000248763 00000 n
-0000254420 00000 n
-0000251509 00000 n
-0000249004 00000 n
-0000251634 00000 n
-0000251698 00000 n
-0000251763 00000 n
-0000251827 00000 n
-0000251892 00000 n
-0000251957 00000 n
-0000252022 00000 n
-0000252087 00000 n
-0000252152 00000 n
-0000252217 00000 n
-0000252282 00000 n
-0000252347 00000 n
-0000252412 00000 n
-0000252477 00000 n
-0000252542 00000 n
-0000252607 00000 n
-0000252734 00000 n
-0000252799 00000 n
-0000252864 00000 n
-0000252929 00000 n
-0000252992 00000 n
-0000253057 00000 n
-0000253122 00000 n
-0000253187 00000 n
-0000253252 00000 n
-0000253317 00000 n
-0000253382 00000 n
-0000253447 00000 n
-0000253512 00000 n
-0000253576 00000 n
-0000253641 00000 n
-0000253706 00000 n
-0000253771 00000 n
-0000253836 00000 n
-0000253901 00000 n
-0000253966 00000 n
-0000254031 00000 n
-0000254096 00000 n
-0000254160 00000 n
-0000254225 00000 n
-0000254290 00000 n
-0000254355 00000 n
-0000260239 00000 n
-0000257586 00000 n
-0000254610 00000 n
-0000257711 00000 n
-0000257775 00000 n
-0000257840 00000 n
-0000257904 00000 n
-0000257969 00000 n
-0000258034 00000 n
-0000258099 00000 n
-0000258164 00000 n
-0000258229 00000 n
-0000258294 00000 n
-0000258359 00000 n
-0000258423 00000 n
-0000258488 00000 n
-0000258553 00000 n
-0000258618 00000 n
-0000258683 00000 n
-0000258748 00000 n
-0000258813 00000 n
-0000258878 00000 n
-0000258943 00000 n
-0000259008 00000 n
-0000259073 00000 n
-0000259138 00000 n
-0000259203 00000 n
-0000259268 00000 n
-0000259333 00000 n
-0000259398 00000 n
-0000259463 00000 n
-0000259528 00000 n
-0000259593 00000 n
-0000259658 00000 n
-0000259723 00000 n
-0000259786 00000 n
-0000259851 00000 n
-0000259916 00000 n
-0000259981 00000 n
-0000260046 00000 n
-0000260111 00000 n
-0000260175 00000 n
-0000266376 00000 n
-0000262684 00000 n
-0000260416 00000 n
-0000262809 00000 n
-0000262873 00000 n
-0000262938 00000 n
-0000263002 00000 n
-0000263067 00000 n
-0000263132 00000 n
-0000263197 00000 n
-0000263262 00000 n
-0000263327 00000 n
-0000263392 00000 n
-0000263457 00000 n
-0000263522 00000 n
-0000263586 00000 n
-0000263651 00000 n
-0000263716 00000 n
-0000263781 00000 n
-0000263845 00000 n
-0000263910 00000 n
-0000263975 00000 n
-0000264040 00000 n
-0000264105 00000 n
-0000264170 00000 n
-0000264235 00000 n
-0000264300 00000 n
-0000264364 00000 n
-0000264429 00000 n
-0000264494 00000 n
-0000264559 00000 n
-0000264624 00000 n
-0000264689 00000 n
-0000264754 00000 n
-0000264819 00000 n
-0000264884 00000 n
-0000264948 00000 n
-0000265013 00000 n
-0000265078 00000 n
-0000265143 00000 n
-0000265208 00000 n
-0000265273 00000 n
-0000265338 00000 n
-0000265403 00000 n
-0000265468 00000 n
-0000265533 00000 n
-0000265598 00000 n
-0000265663 00000 n
-0000265728 00000 n
-0000265793 00000 n
-0000265858 00000 n
-0000265923 00000 n
-0000265988 00000 n
-0000266053 00000 n
-0000266118 00000 n
-0000266183 00000 n
-0000266248 00000 n
-0000266312 00000 n
-0000272344 00000 n
-0000268587 00000 n
-0000266540 00000 n
-0000268712 00000 n
-0000268776 00000 n
-0000268841 00000 n
+0000214864 00000 n
+0000223039 00000 n
+0000220060 00000 n
+0000217479 00000 n
+0000220185 00000 n
+0000220249 00000 n
+0000220314 00000 n
+0000220378 00000 n
+0000220442 00000 n
+0000220507 00000 n
+0000220572 00000 n
+0000220637 00000 n
+0000220702 00000 n
+0000220767 00000 n
+0000220832 00000 n
+0000220897 00000 n
+0000220962 00000 n
+0000221027 00000 n
+0000221092 00000 n
+0000221157 00000 n
+0000221222 00000 n
+0000221287 00000 n
+0000221352 00000 n
+0000221416 00000 n
+0000221481 00000 n
+0000221546 00000 n
+0000221611 00000 n
+0000221676 00000 n
+0000221741 00000 n
+0000221806 00000 n
+0000221871 00000 n
+0000221936 00000 n
+0000222001 00000 n
+0000222066 00000 n
+0000222131 00000 n
+0000222196 00000 n
+0000222261 00000 n
+0000222326 00000 n
+0000222391 00000 n
+0000222456 00000 n
+0000222521 00000 n
+0000222586 00000 n
+0000222650 00000 n
+0000222715 00000 n
+0000222780 00000 n
+0000222845 00000 n
+0000222910 00000 n
+0000222975 00000 n
+0000229040 00000 n
+0000224963 00000 n
+0000223216 00000 n
+0000225088 00000 n
+0000225215 00000 n
+0000225280 00000 n
+0000225345 00000 n
+0000225410 00000 n
+0000225475 00000 n
+0000225540 00000 n
+0000225605 00000 n
+0000225669 00000 n
+0000225734 00000 n
+0000225799 00000 n
+0000225864 00000 n
+0000225929 00000 n
+0000225994 00000 n
+0000226059 00000 n
+0000226124 00000 n
+0000226189 00000 n
+0000226254 00000 n
+0000226317 00000 n
+0000226382 00000 n
+0000226447 00000 n
+0000226512 00000 n
+0000226577 00000 n
+0000226642 00000 n
+0000226707 00000 n
+0000226772 00000 n
+0000226837 00000 n
+0000226902 00000 n
+0000226966 00000 n
+0000227031 00000 n
+0000227096 00000 n
+0000227161 00000 n
+0000227226 00000 n
+0000227291 00000 n
+0000227356 00000 n
+0000227421 00000 n
+0000227486 00000 n
+0000227551 00000 n
+0000227615 00000 n
+0000227680 00000 n
+0000227745 00000 n
+0000227810 00000 n
+0000227875 00000 n
+0000227940 00000 n
+0000228005 00000 n
+0000228070 00000 n
+0000228135 00000 n
+0000228198 00000 n
+0000228263 00000 n
+0000228328 00000 n
+0000228393 00000 n
+0000228458 00000 n
+0000228523 00000 n
+0000228588 00000 n
+0000228653 00000 n
+0000228718 00000 n
+0000228782 00000 n
+0000228847 00000 n
+0000228912 00000 n
+0000228976 00000 n
+0000235033 00000 n
+0000231276 00000 n
+0000229204 00000 n
+0000231401 00000 n
+0000231465 00000 n
+0000231530 00000 n
+0000231594 00000 n
+0000231659 00000 n
+0000231724 00000 n
+0000231789 00000 n
+0000231854 00000 n
+0000231919 00000 n
+0000231984 00000 n
+0000232049 00000 n
+0000232114 00000 n
+0000232178 00000 n
+0000232243 00000 n
+0000232308 00000 n
+0000232373 00000 n
+0000232438 00000 n
+0000232503 00000 n
+0000232568 00000 n
+0000232633 00000 n
+0000232698 00000 n
+0000232762 00000 n
+0000232827 00000 n
+0000232892 00000 n
+0000232957 00000 n
+0000233022 00000 n
+0000233087 00000 n
+0000233152 00000 n
+0000233217 00000 n
+0000233282 00000 n
+0000233347 00000 n
+0000233412 00000 n
+0000233477 00000 n
+0000233542 00000 n
+0000233607 00000 n
+0000233672 00000 n
+0000233737 00000 n
+0000233801 00000 n
+0000233866 00000 n
+0000233931 00000 n
+0000233996 00000 n
+0000234061 00000 n
+0000234126 00000 n
+0000234191 00000 n
+0000234256 00000 n
+0000234321 00000 n
+0000234385 00000 n
+0000234450 00000 n
+0000234515 00000 n
+0000234580 00000 n
+0000234645 00000 n
+0000234710 00000 n
+0000234775 00000 n
+0000234840 00000 n
+0000234905 00000 n
+0000234969 00000 n
+0000241558 00000 n
+0000237412 00000 n
+0000235210 00000 n
+0000237537 00000 n
+0000237601 00000 n
+0000237666 00000 n
+0000237730 00000 n
+0000237795 00000 n
+0000237860 00000 n
+0000237925 00000 n
+0000237990 00000 n
+0000238055 00000 n
+0000238120 00000 n
+0000238185 00000 n
+0000238250 00000 n
+0000238315 00000 n
+0000238380 00000 n
+0000238445 00000 n
+0000238510 00000 n
+0000238575 00000 n
+0000238640 00000 n
+0000238705 00000 n
+0000238770 00000 n
+0000238834 00000 n
+0000238899 00000 n
+0000238964 00000 n
+0000239029 00000 n
+0000239094 00000 n
+0000239159 00000 n
+0000239224 00000 n
+0000239289 00000 n
+0000239354 00000 n
+0000239418 00000 n
+0000239483 00000 n
+0000239548 00000 n
+0000239613 00000 n
+0000239678 00000 n
+0000239743 00000 n
+0000239808 00000 n
+0000239873 00000 n
+0000239938 00000 n
+0000240002 00000 n
+0000240067 00000 n
+0000240132 00000 n
+0000240197 00000 n
+0000240262 00000 n
+0000240327 00000 n
+0000240392 00000 n
+0000240457 00000 n
+0000240522 00000 n
+0000240586 00000 n
+0000240651 00000 n
+0000240716 00000 n
+0000240781 00000 n
+0000240846 00000 n
+0000240911 00000 n
+0000240976 00000 n
+0000241041 00000 n
+0000241106 00000 n
+0000241171 00000 n
+0000241235 00000 n
+0000241300 00000 n
+0000241365 00000 n
+0000241430 00000 n
+0000241494 00000 n
+0000247915 00000 n
+0000243639 00000 n
+0000241722 00000 n
+0000243764 00000 n
+0000243828 00000 n
+0000243893 00000 n
+0000243957 00000 n
+0000244022 00000 n
+0000244087 00000 n
+0000244152 00000 n
+0000244217 00000 n
+0000244282 00000 n
+0000244347 00000 n
+0000244412 00000 n
+0000244477 00000 n
+0000244541 00000 n
+0000244606 00000 n
+0000244671 00000 n
+0000244736 00000 n
+0000244801 00000 n
+0000244866 00000 n
+0000244931 00000 n
+0000244996 00000 n
+0000245061 00000 n
+0000245125 00000 n
+0000245190 00000 n
+0000245255 00000 n
+0000245320 00000 n
+0000245385 00000 n
+0000245450 00000 n
+0000245515 00000 n
+0000245580 00000 n
+0000245645 00000 n
+0000245709 00000 n
+0000245774 00000 n
+0000245839 00000 n
+0000245904 00000 n
+0000245969 00000 n
+0000246034 00000 n
+0000246099 00000 n
+0000246164 00000 n
+0000246229 00000 n
+0000246293 00000 n
+0000246358 00000 n
+0000246423 00000 n
+0000246488 00000 n
+0000246553 00000 n
+0000246618 00000 n
+0000246683 00000 n
+0000246748 00000 n
+0000246813 00000 n
+0000246877 00000 n
+0000246942 00000 n
+0000247007 00000 n
+0000247072 00000 n
+0000247137 00000 n
+0000247202 00000 n
+0000247267 00000 n
+0000247332 00000 n
+0000247397 00000 n
+0000247461 00000 n
+0000247526 00000 n
+0000247591 00000 n
+0000247656 00000 n
+0000247721 00000 n
+0000247786 00000 n
+0000247851 00000 n
+0000253140 00000 n
+0000250358 00000 n
+0000248066 00000 n
+0000250483 00000 n
+0000250547 00000 n
+0000250612 00000 n
+0000250676 00000 n
+0000250741 00000 n
+0000250806 00000 n
+0000250871 00000 n
+0000250936 00000 n
+0000251001 00000 n
+0000251066 00000 n
+0000251131 00000 n
+0000251196 00000 n
+0000251261 00000 n
+0000251326 00000 n
+0000251391 00000 n
+0000251455 00000 n
+0000251520 00000 n
+0000251585 00000 n
+0000251650 00000 n
+0000251715 00000 n
+0000251780 00000 n
+0000251844 00000 n
+0000251909 00000 n
+0000252037 00000 n
+0000252102 00000 n
+0000252167 00000 n
+0000252232 00000 n
+0000252297 00000 n
+0000252362 00000 n
+0000252427 00000 n
+0000252492 00000 n
+0000252557 00000 n
+0000252622 00000 n
+0000252687 00000 n
+0000252751 00000 n
+0000252816 00000 n
+0000252881 00000 n
+0000252946 00000 n
+0000253011 00000 n
+0000253075 00000 n
+0000258822 00000 n
+0000255521 00000 n
+0000253330 00000 n
+0000255646 00000 n
+0000255773 00000 n
+0000255837 00000 n
+0000255902 00000 n
+0000255967 00000 n
+0000256032 00000 n
+0000256097 00000 n
+0000256162 00000 n
+0000256227 00000 n
+0000256292 00000 n
+0000256357 00000 n
+0000256422 00000 n
+0000256487 00000 n
+0000256552 00000 n
+0000256617 00000 n
+0000256682 00000 n
+0000256747 00000 n
+0000256812 00000 n
+0000256877 00000 n
+0000256942 00000 n
+0000257007 00000 n
+0000257072 00000 n
+0000257136 00000 n
+0000257264 00000 n
+0000257329 00000 n
+0000257394 00000 n
+0000257459 00000 n
+0000257524 00000 n
+0000257589 00000 n
+0000257654 00000 n
+0000257719 00000 n
+0000257784 00000 n
+0000257849 00000 n
+0000257914 00000 n
+0000257979 00000 n
+0000258044 00000 n
+0000258109 00000 n
+0000258174 00000 n
+0000258239 00000 n
+0000258304 00000 n
+0000258369 00000 n
+0000258434 00000 n
+0000258499 00000 n
+0000258564 00000 n
+0000258629 00000 n
+0000258694 00000 n
+0000258758 00000 n
+0000264460 00000 n
+0000262065 00000 n
+0000259012 00000 n
+0000262190 00000 n
+0000262254 00000 n
+0000262319 00000 n
+0000262384 00000 n
+0000262449 00000 n
+0000262514 00000 n
+0000262579 00000 n
+0000262644 00000 n
+0000262709 00000 n
+0000262774 00000 n
+0000262839 00000 n
+0000262904 00000 n
+0000262968 00000 n
+0000263033 00000 n
+0000263098 00000 n
+0000263163 00000 n
+0000263228 00000 n
+0000263293 00000 n
+0000263358 00000 n
+0000263423 00000 n
+0000263488 00000 n
+0000263553 00000 n
+0000263618 00000 n
+0000263683 00000 n
+0000263747 00000 n
+0000263812 00000 n
+0000263877 00000 n
+0000263942 00000 n
+0000264007 00000 n
+0000264072 00000 n
+0000264137 00000 n
+0000264202 00000 n
+0000264267 00000 n
+0000264332 00000 n
+0000264396 00000 n
+0000270592 00000 n
+0000267354 00000 n
+0000264650 00000 n
+0000267479 00000 n
+0000267543 00000 n
+0000267608 00000 n
+0000267672 00000 n
+0000267736 00000 n
+0000267801 00000 n
+0000267866 00000 n
+0000267931 00000 n
+0000267996 00000 n
+0000268061 00000 n
+0000268126 00000 n
+0000268191 00000 n
+0000268256 00000 n
+0000268321 00000 n
+0000268385 00000 n
+0000268450 00000 n
+0000268515 00000 n
+0000268580 00000 n
+0000268645 00000 n
+0000268710 00000 n
+0000268775 00000 n
+0000268840 00000 n
0000268905 00000 n
0000268970 00000 n
0000269035 00000 n
@@ -18177,8 +18071,8 @@ xref
0000269165 00000 n
0000269230 00000 n
0000269295 00000 n
-0000269360 00000 n
-0000269425 00000 n
+0000269359 00000 n
+0000269424 00000 n
0000269489 00000 n
0000269554 00000 n
0000269619 00000 n
@@ -18187,249 +18081,254 @@ xref
0000269814 00000 n
0000269879 00000 n
0000269944 00000 n
-0000270009 00000 n
-0000270074 00000 n
-0000270139 00000 n
-0000270204 00000 n
-0000270269 00000 n
+0000270008 00000 n
+0000270073 00000 n
+0000270138 00000 n
+0000270203 00000 n
+0000270268 00000 n
0000270333 00000 n
0000270398 00000 n
0000270463 00000 n
0000270528 00000 n
-0000270593 00000 n
-0000270658 00000 n
-0000270723 00000 n
-0000270788 00000 n
-0000270853 00000 n
-0000270917 00000 n
-0000270982 00000 n
-0000271047 00000 n
-0000271112 00000 n
-0000271177 00000 n
-0000271242 00000 n
-0000271307 00000 n
-0000271372 00000 n
-0000271437 00000 n
-0000271501 00000 n
-0000271566 00000 n
-0000271631 00000 n
-0000271696 00000 n
-0000271761 00000 n
-0000271826 00000 n
-0000271891 00000 n
-0000271956 00000 n
-0000272021 00000 n
-0000272086 00000 n
-0000272151 00000 n
-0000272216 00000 n
-0000272281 00000 n
-0000877042 00000 n
-0000282008 00000 n
-0000278345 00000 n
-0000275432 00000 n
-0000272508 00000 n
-0000275557 00000 n
-0000275621 00000 n
-0000275685 00000 n
-0000275750 00000 n
-0000275815 00000 n
-0000275880 00000 n
-0000275945 00000 n
-0000276010 00000 n
-0000276075 00000 n
-0000276140 00000 n
-0000276205 00000 n
-0000276270 00000 n
-0000276335 00000 n
-0000276400 00000 n
-0000276465 00000 n
-0000276529 00000 n
-0000276594 00000 n
-0000276659 00000 n
-0000276724 00000 n
-0000276789 00000 n
-0000276854 00000 n
-0000276919 00000 n
-0000276984 00000 n
-0000277049 00000 n
-0000277112 00000 n
-0000277177 00000 n
-0000277242 00000 n
-0000277307 00000 n
-0000277372 00000 n
-0000277437 00000 n
-0000277502 00000 n
-0000277567 00000 n
-0000277632 00000 n
-0000277697 00000 n
-0000277762 00000 n
-0000277827 00000 n
-0000277892 00000 n
-0000277957 00000 n
-0000278021 00000 n
-0000278086 00000 n
-0000278151 00000 n
-0000278215 00000 n
-0000278280 00000 n
-0000285019 00000 n
-0000281835 00000 n
-0000278509 00000 n
-0000282166 00000 n
-0000282230 00000 n
-0000282295 00000 n
-0000282360 00000 n
-0000282425 00000 n
-0000282490 00000 n
-0000282554 00000 n
-0000282619 00000 n
-0000282684 00000 n
-0000282749 00000 n
-0000282813 00000 n
-0000282878 00000 n
-0000282943 00000 n
-0000283008 00000 n
-0000283073 00000 n
-0000283138 00000 n
-0000283203 00000 n
-0000283268 00000 n
-0000283333 00000 n
-0000283398 00000 n
-0000283463 00000 n
-0000283528 00000 n
-0000283593 00000 n
-0000283658 00000 n
-0000283723 00000 n
-0000283788 00000 n
-0000283853 00000 n
-0000283918 00000 n
-0000283983 00000 n
-0000284047 00000 n
-0000284112 00000 n
-0000284177 00000 n
-0000284241 00000 n
-0000284306 00000 n
-0000284371 00000 n
-0000284436 00000 n
-0000284500 00000 n
-0000284565 00000 n
-0000284630 00000 n
-0000284695 00000 n
-0000284760 00000 n
-0000284825 00000 n
-0000284890 00000 n
-0000284955 00000 n
+0000883893 00000 n
+0000276957 00000 n
+0000273332 00000 n
+0000270782 00000 n
+0000273457 00000 n
+0000273521 00000 n
+0000273586 00000 n
+0000273650 00000 n
+0000273715 00000 n
+0000273780 00000 n
+0000273845 00000 n
+0000273910 00000 n
+0000273975 00000 n
+0000274040 00000 n
+0000274105 00000 n
+0000274170 00000 n
+0000274234 00000 n
+0000274299 00000 n
+0000274364 00000 n
+0000274429 00000 n
+0000274494 00000 n
+0000274559 00000 n
+0000274624 00000 n
+0000274689 00000 n
+0000274754 00000 n
+0000274818 00000 n
+0000274883 00000 n
+0000274948 00000 n
+0000275013 00000 n
+0000275078 00000 n
+0000275143 00000 n
+0000275208 00000 n
+0000275273 00000 n
+0000275338 00000 n
+0000275402 00000 n
+0000275467 00000 n
+0000275532 00000 n
+0000275597 00000 n
+0000275661 00000 n
+0000275726 00000 n
+0000275791 00000 n
+0000275856 00000 n
+0000275921 00000 n
+0000275986 00000 n
+0000276051 00000 n
+0000276116 00000 n
+0000276181 00000 n
+0000276246 00000 n
+0000276311 00000 n
+0000276376 00000 n
+0000276441 00000 n
+0000276505 00000 n
+0000276570 00000 n
+0000276635 00000 n
+0000276700 00000 n
+0000276764 00000 n
+0000276829 00000 n
+0000276893 00000 n
+0000280198 00000 n
+0000283081 00000 n
+0000280025 00000 n
+0000277121 00000 n
+0000280356 00000 n
+0000280420 00000 n
+0000280485 00000 n
+0000280550 00000 n
+0000280615 00000 n
+0000280680 00000 n
+0000280745 00000 n
+0000280809 00000 n
+0000280874 00000 n
+0000280939 00000 n
+0000281004 00000 n
+0000281069 00000 n
+0000281134 00000 n
+0000281199 00000 n
+0000281264 00000 n
+0000281329 00000 n
+0000281393 00000 n
+0000281458 00000 n
+0000281523 00000 n
+0000281588 00000 n
+0000281653 00000 n
+0000281718 00000 n
+0000281783 00000 n
+0000281848 00000 n
+0000281913 00000 n
0000281977 00000 n
-0000290955 00000 n
-0000288044 00000 n
-0000285248 00000 n
-0000288169 00000 n
-0000288233 00000 n
-0000288298 00000 n
-0000288362 00000 n
-0000288427 00000 n
-0000288492 00000 n
-0000288557 00000 n
-0000288622 00000 n
-0000288687 00000 n
-0000288752 00000 n
-0000288817 00000 n
-0000288880 00000 n
-0000288945 00000 n
-0000289010 00000 n
-0000289075 00000 n
-0000289140 00000 n
-0000289205 00000 n
-0000289270 00000 n
-0000289334 00000 n
-0000289399 00000 n
-0000289464 00000 n
-0000289529 00000 n
-0000289594 00000 n
-0000289659 00000 n
-0000289724 00000 n
-0000289789 00000 n
-0000289854 00000 n
-0000289918 00000 n
-0000289983 00000 n
-0000290048 00000 n
-0000290113 00000 n
-0000290178 00000 n
-0000290243 00000 n
-0000290308 00000 n
-0000290373 00000 n
-0000290438 00000 n
-0000290503 00000 n
-0000290568 00000 n
-0000290633 00000 n
-0000290698 00000 n
-0000290763 00000 n
-0000290828 00000 n
-0000290891 00000 n
-0000296929 00000 n
-0000293627 00000 n
-0000291119 00000 n
-0000293752 00000 n
-0000293816 00000 n
-0000293881 00000 n
-0000293945 00000 n
-0000294010 00000 n
-0000294075 00000 n
-0000294140 00000 n
-0000294205 00000 n
-0000294270 00000 n
-0000294335 00000 n
-0000294400 00000 n
-0000294465 00000 n
-0000294529 00000 n
-0000294594 00000 n
-0000294659 00000 n
-0000294724 00000 n
-0000294789 00000 n
-0000294853 00000 n
-0000294918 00000 n
-0000294983 00000 n
-0000295048 00000 n
-0000295113 00000 n
-0000295178 00000 n
-0000295243 00000 n
-0000295308 00000 n
-0000295373 00000 n
-0000295437 00000 n
-0000295502 00000 n
-0000295567 00000 n
-0000295632 00000 n
-0000295697 00000 n
-0000295762 00000 n
-0000295827 00000 n
-0000295892 00000 n
-0000295957 00000 n
-0000296022 00000 n
-0000296087 00000 n
-0000296152 00000 n
-0000296217 00000 n
-0000296282 00000 n
-0000296346 00000 n
-0000296411 00000 n
-0000296476 00000 n
-0000296541 00000 n
-0000296606 00000 n
-0000296671 00000 n
-0000296736 00000 n
-0000296801 00000 n
-0000296865 00000 n
-0000303419 00000 n
-0000299532 00000 n
-0000297106 00000 n
-0000299657 00000 n
-0000299721 00000 n
-0000299786 00000 n
-0000299851 00000 n
+0000282042 00000 n
+0000282107 00000 n
+0000282172 00000 n
+0000282236 00000 n
+0000282301 00000 n
+0000282366 00000 n
+0000282431 00000 n
+0000282496 00000 n
+0000282561 00000 n
+0000282626 00000 n
+0000282691 00000 n
+0000282756 00000 n
+0000282821 00000 n
+0000282886 00000 n
+0000282951 00000 n
+0000283016 00000 n
+0000280167 00000 n
+0000289431 00000 n
+0000286069 00000 n
+0000283297 00000 n
+0000286194 00000 n
+0000286258 00000 n
+0000286322 00000 n
+0000286387 00000 n
+0000286452 00000 n
+0000286517 00000 n
+0000286582 00000 n
+0000286647 00000 n
+0000286712 00000 n
+0000286777 00000 n
+0000286842 00000 n
+0000286906 00000 n
+0000286971 00000 n
+0000287036 00000 n
+0000287101 00000 n
+0000287165 00000 n
+0000287230 00000 n
+0000287295 00000 n
+0000287360 00000 n
+0000287425 00000 n
+0000287490 00000 n
+0000287554 00000 n
+0000287619 00000 n
+0000287684 00000 n
+0000287749 00000 n
+0000287814 00000 n
+0000287879 00000 n
+0000287944 00000 n
+0000288009 00000 n
+0000288073 00000 n
+0000288138 00000 n
+0000288203 00000 n
+0000288268 00000 n
+0000288331 00000 n
+0000288396 00000 n
+0000288461 00000 n
+0000288526 00000 n
+0000288591 00000 n
+0000288656 00000 n
+0000288721 00000 n
+0000288786 00000 n
+0000288851 00000 n
+0000288915 00000 n
+0000288980 00000 n
+0000289045 00000 n
+0000289110 00000 n
+0000289175 00000 n
+0000289240 00000 n
+0000289305 00000 n
+0000289369 00000 n
+0000295231 00000 n
+0000292447 00000 n
+0000289608 00000 n
+0000292572 00000 n
+0000292636 00000 n
+0000292701 00000 n
+0000292766 00000 n
+0000292831 00000 n
+0000292896 00000 n
+0000292961 00000 n
+0000293026 00000 n
+0000293091 00000 n
+0000293156 00000 n
+0000293221 00000 n
+0000293286 00000 n
+0000293351 00000 n
+0000293416 00000 n
+0000293480 00000 n
+0000293545 00000 n
+0000293610 00000 n
+0000293675 00000 n
+0000293740 00000 n
+0000293805 00000 n
+0000293870 00000 n
+0000293935 00000 n
+0000294000 00000 n
+0000294065 00000 n
+0000294130 00000 n
+0000294195 00000 n
+0000294260 00000 n
+0000294325 00000 n
+0000294390 00000 n
+0000294454 00000 n
+0000294519 00000 n
+0000294584 00000 n
+0000294649 00000 n
+0000294714 00000 n
+0000294779 00000 n
+0000294844 00000 n
+0000294909 00000 n
+0000294974 00000 n
+0000295038 00000 n
+0000295103 00000 n
+0000295167 00000 n
+0000301278 00000 n
+0000297974 00000 n
+0000295395 00000 n
+0000298099 00000 n
+0000298163 00000 n
+0000298228 00000 n
+0000298292 00000 n
+0000298357 00000 n
+0000298422 00000 n
+0000298487 00000 n
+0000298552 00000 n
+0000298617 00000 n
+0000298682 00000 n
+0000298747 00000 n
+0000298812 00000 n
+0000298877 00000 n
+0000298942 00000 n
+0000299007 00000 n
+0000299072 00000 n
+0000299136 00000 n
+0000299201 00000 n
+0000299266 00000 n
+0000299331 00000 n
+0000299396 00000 n
+0000299461 00000 n
+0000299526 00000 n
+0000299591 00000 n
+0000299655 00000 n
+0000299720 00000 n
+0000299785 00000 n
+0000299850 00000 n
0000299915 00000 n
0000299980 00000 n
0000300045 00000 n
0000300110 00000 n
0000300175 00000 n
-0000300240 00000 n
+0000300239 00000 n
0000300304 00000 n
0000300369 00000 n
0000300434 00000 n
@@ -18438,1724 +18337,1712 @@ xref
0000300629 00000 n
0000300694 00000 n
0000300759 00000 n
-0000300823 00000 n
-0000300888 00000 n
-0000300953 00000 n
-0000301018 00000 n
-0000301083 00000 n
-0000301148 00000 n
-0000301213 00000 n
-0000301278 00000 n
-0000301343 00000 n
-0000301407 00000 n
-0000301472 00000 n
-0000301537 00000 n
-0000301602 00000 n
-0000301667 00000 n
-0000301732 00000 n
-0000301797 00000 n
-0000301862 00000 n
-0000301927 00000 n
-0000301991 00000 n
-0000302056 00000 n
-0000302121 00000 n
-0000302186 00000 n
-0000302251 00000 n
-0000302316 00000 n
-0000302381 00000 n
-0000302446 00000 n
-0000302511 00000 n
-0000302575 00000 n
-0000302640 00000 n
-0000302705 00000 n
-0000302770 00000 n
-0000302835 00000 n
-0000302900 00000 n
-0000302965 00000 n
-0000303030 00000 n
-0000303095 00000 n
-0000303160 00000 n
-0000303224 00000 n
-0000303289 00000 n
-0000303354 00000 n
-0000309261 00000 n
-0000306413 00000 n
-0000303583 00000 n
-0000306538 00000 n
-0000306602 00000 n
-0000306667 00000 n
-0000306731 00000 n
-0000306796 00000 n
-0000306861 00000 n
-0000306926 00000 n
-0000306991 00000 n
-0000307056 00000 n
-0000307121 00000 n
-0000307185 00000 n
-0000307250 00000 n
-0000307315 00000 n
-0000307380 00000 n
-0000307445 00000 n
-0000307510 00000 n
-0000307575 00000 n
-0000307640 00000 n
-0000307705 00000 n
-0000307769 00000 n
-0000307834 00000 n
-0000307899 00000 n
-0000307964 00000 n
-0000308029 00000 n
-0000308094 00000 n
-0000308159 00000 n
-0000308224 00000 n
-0000308289 00000 n
-0000308354 00000 n
-0000308419 00000 n
-0000308484 00000 n
-0000308549 00000 n
-0000308614 00000 n
-0000308679 00000 n
-0000308743 00000 n
-0000308808 00000 n
-0000308936 00000 n
-0000309001 00000 n
-0000309066 00000 n
-0000309131 00000 n
-0000309196 00000 n
-0000315397 00000 n
-0000311381 00000 n
-0000309438 00000 n
-0000311506 00000 n
-0000311570 00000 n
-0000311635 00000 n
-0000311699 00000 n
-0000311764 00000 n
-0000311829 00000 n
-0000311894 00000 n
-0000311959 00000 n
-0000312024 00000 n
-0000312089 00000 n
-0000312154 00000 n
-0000312219 00000 n
-0000312283 00000 n
-0000312348 00000 n
-0000312413 00000 n
-0000312478 00000 n
-0000312543 00000 n
-0000312608 00000 n
-0000312673 00000 n
-0000312738 00000 n
-0000312803 00000 n
-0000312867 00000 n
-0000312932 00000 n
-0000312997 00000 n
-0000313062 00000 n
-0000313127 00000 n
-0000313192 00000 n
-0000313257 00000 n
-0000313322 00000 n
-0000313387 00000 n
-0000313450 00000 n
-0000313515 00000 n
-0000313580 00000 n
-0000313645 00000 n
-0000313710 00000 n
-0000313775 00000 n
-0000313840 00000 n
-0000313905 00000 n
-0000313970 00000 n
-0000314035 00000 n
-0000314100 00000 n
-0000314165 00000 n
-0000314230 00000 n
-0000314295 00000 n
-0000314360 00000 n
-0000314425 00000 n
-0000314490 00000 n
-0000314555 00000 n
-0000314620 00000 n
-0000314684 00000 n
-0000314749 00000 n
-0000314814 00000 n
-0000314879 00000 n
-0000314944 00000 n
-0000315009 00000 n
-0000315074 00000 n
-0000315139 00000 n
-0000315204 00000 n
-0000315269 00000 n
-0000315333 00000 n
-0000321306 00000 n
-0000317747 00000 n
-0000315574 00000 n
-0000317872 00000 n
-0000317936 00000 n
-0000318001 00000 n
-0000318065 00000 n
-0000318130 00000 n
-0000318195 00000 n
-0000318260 00000 n
-0000318325 00000 n
-0000318390 00000 n
-0000318455 00000 n
-0000318520 00000 n
-0000318585 00000 n
-0000318649 00000 n
-0000318714 00000 n
-0000318779 00000 n
-0000318844 00000 n
-0000318909 00000 n
-0000318974 00000 n
-0000319039 00000 n
-0000319104 00000 n
-0000319169 00000 n
-0000319233 00000 n
-0000319298 00000 n
-0000319363 00000 n
-0000319428 00000 n
-0000319493 00000 n
-0000319558 00000 n
-0000319623 00000 n
-0000319688 00000 n
-0000319753 00000 n
-0000319818 00000 n
-0000319883 00000 n
-0000319948 00000 n
-0000320076 00000 n
-0000320141 00000 n
-0000320206 00000 n
-0000320271 00000 n
-0000320336 00000 n
-0000320401 00000 n
-0000320464 00000 n
-0000320529 00000 n
-0000320594 00000 n
-0000320659 00000 n
-0000320724 00000 n
-0000320789 00000 n
-0000320854 00000 n
-0000320919 00000 n
-0000320984 00000 n
-0000321048 00000 n
-0000321113 00000 n
-0000321178 00000 n
-0000321242 00000 n
-0000327399 00000 n
-0000324293 00000 n
-0000321483 00000 n
-0000324418 00000 n
-0000324482 00000 n
-0000324547 00000 n
-0000324611 00000 n
-0000324676 00000 n
-0000324741 00000 n
-0000324806 00000 n
-0000324871 00000 n
-0000324936 00000 n
-0000325001 00000 n
-0000325066 00000 n
-0000325131 00000 n
-0000325195 00000 n
-0000325260 00000 n
-0000325325 00000 n
-0000325390 00000 n
-0000325455 00000 n
-0000325520 00000 n
-0000325585 00000 n
-0000325650 00000 n
-0000325714 00000 n
-0000325779 00000 n
-0000325844 00000 n
-0000325972 00000 n
-0000326037 00000 n
-0000326102 00000 n
-0000326166 00000 n
-0000326231 00000 n
-0000326296 00000 n
-0000326361 00000 n
-0000326426 00000 n
-0000326491 00000 n
-0000326556 00000 n
-0000326621 00000 n
-0000326686 00000 n
-0000326750 00000 n
-0000326815 00000 n
-0000326880 00000 n
-0000326945 00000 n
-0000327010 00000 n
-0000327074 00000 n
-0000327139 00000 n
-0000327204 00000 n
-0000327269 00000 n
-0000327334 00000 n
-0000332954 00000 n
-0000330170 00000 n
-0000327589 00000 n
-0000330295 00000 n
-0000330359 00000 n
-0000330424 00000 n
-0000330488 00000 n
-0000330553 00000 n
-0000330618 00000 n
-0000330683 00000 n
-0000330748 00000 n
-0000330813 00000 n
-0000330877 00000 n
-0000330940 00000 n
-0000331005 00000 n
-0000331070 00000 n
-0000331135 00000 n
-0000331200 00000 n
-0000331265 00000 n
-0000331330 00000 n
-0000331395 00000 n
-0000331460 00000 n
-0000331525 00000 n
-0000331590 00000 n
-0000331655 00000 n
-0000331720 00000 n
-0000331785 00000 n
-0000331850 00000 n
-0000331915 00000 n
-0000331980 00000 n
-0000332045 00000 n
-0000332110 00000 n
-0000332175 00000 n
-0000332240 00000 n
-0000332305 00000 n
-0000332370 00000 n
-0000332435 00000 n
-0000332500 00000 n
-0000332564 00000 n
-0000332629 00000 n
-0000332694 00000 n
-0000332759 00000 n
-0000332824 00000 n
-0000332889 00000 n
-0000877206 00000 n
-0000339091 00000 n
-0000335210 00000 n
-0000333131 00000 n
-0000335335 00000 n
-0000335399 00000 n
-0000335464 00000 n
-0000335528 00000 n
-0000335593 00000 n
-0000335658 00000 n
-0000335786 00000 n
-0000335851 00000 n
-0000335916 00000 n
-0000335981 00000 n
-0000336046 00000 n
-0000336111 00000 n
-0000336174 00000 n
-0000336239 00000 n
-0000336304 00000 n
-0000336369 00000 n
-0000336497 00000 n
-0000336562 00000 n
-0000336627 00000 n
-0000336692 00000 n
-0000336757 00000 n
-0000336822 00000 n
-0000336887 00000 n
-0000336951 00000 n
-0000337015 00000 n
-0000337080 00000 n
-0000337145 00000 n
-0000337210 00000 n
-0000337275 00000 n
-0000337340 00000 n
-0000337405 00000 n
-0000337470 00000 n
-0000337535 00000 n
-0000337600 00000 n
-0000337665 00000 n
-0000337729 00000 n
-0000337794 00000 n
-0000337859 00000 n
-0000337924 00000 n
-0000337989 00000 n
-0000338054 00000 n
-0000338119 00000 n
-0000338184 00000 n
-0000338249 00000 n
-0000338314 00000 n
-0000338379 00000 n
-0000338443 00000 n
-0000338508 00000 n
-0000338573 00000 n
-0000338638 00000 n
-0000338703 00000 n
-0000338768 00000 n
-0000338833 00000 n
-0000338898 00000 n
-0000338963 00000 n
-0000339027 00000 n
-0000345427 00000 n
-0000341283 00000 n
-0000339255 00000 n
-0000341408 00000 n
-0000341472 00000 n
-0000341537 00000 n
-0000341601 00000 n
-0000341666 00000 n
-0000341731 00000 n
-0000341796 00000 n
-0000341861 00000 n
-0000341925 00000 n
-0000341990 00000 n
-0000342055 00000 n
-0000342120 00000 n
-0000342185 00000 n
-0000342249 00000 n
-0000342314 00000 n
-0000342379 00000 n
-0000342444 00000 n
-0000342509 00000 n
-0000342574 00000 n
-0000342639 00000 n
-0000342704 00000 n
-0000342769 00000 n
-0000342834 00000 n
-0000342899 00000 n
-0000342964 00000 n
-0000343029 00000 n
-0000343094 00000 n
-0000343159 00000 n
-0000343224 00000 n
-0000343289 00000 n
-0000343354 00000 n
-0000343419 00000 n
-0000343484 00000 n
-0000343549 00000 n
-0000343614 00000 n
-0000343679 00000 n
-0000343744 00000 n
-0000343809 00000 n
-0000343873 00000 n
-0000343938 00000 n
-0000344003 00000 n
-0000344068 00000 n
-0000344133 00000 n
-0000344197 00000 n
-0000344262 00000 n
-0000344327 00000 n
-0000344392 00000 n
-0000344457 00000 n
-0000344522 00000 n
-0000344585 00000 n
-0000344650 00000 n
-0000344715 00000 n
-0000344780 00000 n
-0000344845 00000 n
-0000344910 00000 n
-0000344975 00000 n
-0000345040 00000 n
-0000345105 00000 n
-0000345169 00000 n
-0000345234 00000 n
-0000345299 00000 n
-0000345363 00000 n
-0000351261 00000 n
-0000347507 00000 n
-0000345578 00000 n
-0000347632 00000 n
-0000347696 00000 n
-0000347761 00000 n
-0000347825 00000 n
-0000347890 00000 n
-0000347955 00000 n
-0000348020 00000 n
-0000348085 00000 n
-0000348150 00000 n
-0000348215 00000 n
-0000348280 00000 n
-0000348345 00000 n
-0000348409 00000 n
-0000348474 00000 n
-0000348539 00000 n
-0000348604 00000 n
-0000348669 00000 n
-0000348734 00000 n
-0000348799 00000 n
-0000348864 00000 n
-0000348929 00000 n
-0000348993 00000 n
-0000349058 00000 n
-0000349123 00000 n
-0000349188 00000 n
-0000349253 00000 n
-0000349318 00000 n
-0000349383 00000 n
-0000349447 00000 n
-0000349512 00000 n
-0000349577 00000 n
-0000349642 00000 n
-0000349707 00000 n
-0000349772 00000 n
-0000349837 00000 n
-0000349901 00000 n
-0000349966 00000 n
-0000350031 00000 n
-0000350096 00000 n
-0000350161 00000 n
-0000350226 00000 n
-0000350291 00000 n
-0000350356 00000 n
-0000350421 00000 n
-0000350486 00000 n
-0000350551 00000 n
-0000350616 00000 n
-0000350681 00000 n
-0000350809 00000 n
-0000350874 00000 n
-0000350939 00000 n
-0000351004 00000 n
-0000351069 00000 n
-0000351133 00000 n
-0000351197 00000 n
-0000357475 00000 n
-0000354113 00000 n
-0000351425 00000 n
-0000354238 00000 n
-0000354302 00000 n
-0000354367 00000 n
-0000354431 00000 n
-0000354496 00000 n
-0000354561 00000 n
-0000354626 00000 n
-0000354691 00000 n
-0000354819 00000 n
-0000354884 00000 n
-0000354949 00000 n
-0000355014 00000 n
-0000355078 00000 n
-0000355143 00000 n
-0000355208 00000 n
-0000355273 00000 n
-0000355338 00000 n
-0000355403 00000 n
-0000355468 00000 n
-0000355533 00000 n
-0000355598 00000 n
-0000355662 00000 n
-0000355727 00000 n
-0000355792 00000 n
-0000355857 00000 n
-0000355922 00000 n
-0000355987 00000 n
-0000356052 00000 n
-0000874848 00000 n
-0000356180 00000 n
-0000356245 00000 n
-0000356310 00000 n
-0000356374 00000 n
-0000356439 00000 n
-0000356504 00000 n
-0000356569 00000 n
-0000356634 00000 n
-0000356699 00000 n
-0000356763 00000 n
-0000356828 00000 n
-0000356893 00000 n
-0000356958 00000 n
-0000357023 00000 n
-0000357088 00000 n
-0000357153 00000 n
-0000357217 00000 n
-0000357282 00000 n
-0000357347 00000 n
-0000357411 00000 n
-0000362848 00000 n
-0000360973 00000 n
-0000357706 00000 n
-0000361098 00000 n
-0000361162 00000 n
-0000361227 00000 n
-0000361291 00000 n
-0000361356 00000 n
-0000361421 00000 n
-0000361486 00000 n
-0000361551 00000 n
-0000361616 00000 n
-0000361681 00000 n
-0000361746 00000 n
-0000361809 00000 n
-0000361874 00000 n
-0000361939 00000 n
-0000362004 00000 n
-0000362069 00000 n
-0000362134 00000 n
-0000362199 00000 n
-0000362264 00000 n
-0000362329 00000 n
-0000362394 00000 n
-0000362459 00000 n
-0000362524 00000 n
-0000362589 00000 n
-0000362654 00000 n
-0000362719 00000 n
-0000362783 00000 n
-0000368124 00000 n
-0000365730 00000 n
-0000363064 00000 n
-0000365855 00000 n
-0000365919 00000 n
-0000365984 00000 n
-0000366049 00000 n
-0000366114 00000 n
-0000366178 00000 n
-0000366243 00000 n
-0000366308 00000 n
-0000366373 00000 n
-0000366438 00000 n
-0000366503 00000 n
-0000366568 00000 n
-0000366632 00000 n
-0000366697 00000 n
-0000366762 00000 n
-0000366827 00000 n
-0000366892 00000 n
-0000366957 00000 n
-0000367022 00000 n
-0000367087 00000 n
-0000367152 00000 n
-0000367217 00000 n
-0000367282 00000 n
-0000367346 00000 n
-0000367411 00000 n
-0000367476 00000 n
-0000367540 00000 n
-0000367605 00000 n
-0000367669 00000 n
-0000367734 00000 n
-0000367799 00000 n
-0000367864 00000 n
-0000367929 00000 n
-0000367994 00000 n
-0000368059 00000 n
-0000372967 00000 n
-0000370444 00000 n
-0000368340 00000 n
-0000370569 00000 n
-0000370633 00000 n
-0000370698 00000 n
-0000370763 00000 n
-0000370828 00000 n
-0000370892 00000 n
-0000370957 00000 n
-0000371022 00000 n
-0000371087 00000 n
-0000371152 00000 n
-0000371217 00000 n
-0000371282 00000 n
-0000371347 00000 n
-0000371412 00000 n
-0000371477 00000 n
-0000371542 00000 n
-0000371607 00000 n
-0000371670 00000 n
-0000371735 00000 n
-0000371800 00000 n
-0000371865 00000 n
-0000371930 00000 n
-0000371995 00000 n
-0000372060 00000 n
-0000372125 00000 n
-0000372190 00000 n
-0000372254 00000 n
-0000372319 00000 n
-0000372384 00000 n
-0000372449 00000 n
-0000372514 00000 n
-0000372578 00000 n
-0000372643 00000 n
-0000372708 00000 n
-0000372773 00000 n
-0000372838 00000 n
-0000372902 00000 n
-0000378325 00000 n
-0000375411 00000 n
-0000373157 00000 n
-0000375536 00000 n
-0000375600 00000 n
-0000375664 00000 n
-0000375729 00000 n
-0000375794 00000 n
-0000375859 00000 n
-0000375924 00000 n
-0000375989 00000 n
-0000376054 00000 n
-0000376118 00000 n
-0000376183 00000 n
-0000376248 00000 n
-0000376313 00000 n
-0000376378 00000 n
-0000376443 00000 n
-0000376508 00000 n
-0000376573 00000 n
-0000376638 00000 n
-0000376703 00000 n
-0000376768 00000 n
-0000376833 00000 n
-0000376898 00000 n
-0000376963 00000 n
-0000377028 00000 n
-0000377093 00000 n
-0000377158 00000 n
-0000377222 00000 n
-0000377287 00000 n
-0000377352 00000 n
-0000377417 00000 n
-0000377482 00000 n
-0000377547 00000 n
-0000377612 00000 n
-0000377677 00000 n
-0000377742 00000 n
-0000377807 00000 n
-0000377872 00000 n
-0000377936 00000 n
-0000378001 00000 n
-0000378066 00000 n
-0000378131 00000 n
-0000378196 00000 n
-0000378260 00000 n
-0000383613 00000 n
-0000380437 00000 n
-0000378541 00000 n
-0000380562 00000 n
-0000380626 00000 n
-0000380691 00000 n
-0000380755 00000 n
-0000380820 00000 n
-0000380885 00000 n
-0000380950 00000 n
-0000381015 00000 n
-0000381080 00000 n
-0000381145 00000 n
-0000381209 00000 n
-0000381274 00000 n
-0000381339 00000 n
-0000381404 00000 n
-0000381469 00000 n
-0000381534 00000 n
-0000381599 00000 n
-0000381663 00000 n
-0000381728 00000 n
-0000381793 00000 n
-0000381858 00000 n
-0000381923 00000 n
-0000381988 00000 n
-0000382053 00000 n
-0000382118 00000 n
-0000382183 00000 n
-0000382248 00000 n
-0000382313 00000 n
-0000382378 00000 n
-0000382443 00000 n
-0000382508 00000 n
-0000382573 00000 n
-0000382638 00000 n
-0000382703 00000 n
-0000382768 00000 n
-0000382833 00000 n
-0000382898 00000 n
-0000382963 00000 n
-0000383028 00000 n
-0000383093 00000 n
-0000383158 00000 n
-0000383223 00000 n
-0000383288 00000 n
-0000383353 00000 n
-0000383418 00000 n
-0000383483 00000 n
-0000383548 00000 n
-0000386910 00000 n
-0000389402 00000 n
-0000386737 00000 n
-0000383790 00000 n
-0000387068 00000 n
-0000387132 00000 n
-0000387197 00000 n
-0000387262 00000 n
-0000387327 00000 n
-0000387392 00000 n
-0000387457 00000 n
-0000387522 00000 n
-0000387587 00000 n
-0000387652 00000 n
-0000387716 00000 n
-0000387781 00000 n
-0000387846 00000 n
-0000387911 00000 n
-0000387976 00000 n
-0000388041 00000 n
-0000388106 00000 n
-0000388171 00000 n
-0000388236 00000 n
-0000388301 00000 n
-0000388366 00000 n
-0000388431 00000 n
-0000388495 00000 n
-0000388560 00000 n
-0000388624 00000 n
-0000388689 00000 n
-0000388754 00000 n
-0000388819 00000 n
-0000388884 00000 n
-0000388949 00000 n
-0000389014 00000 n
-0000389079 00000 n
-0000389144 00000 n
-0000389209 00000 n
-0000389274 00000 n
-0000389338 00000 n
-0000877370 00000 n
-0000386879 00000 n
-0000396104 00000 n
-0000392544 00000 n
-0000389670 00000 n
-0000392669 00000 n
-0000392733 00000 n
-0000392798 00000 n
-0000392862 00000 n
-0000392927 00000 n
-0000392992 00000 n
-0000393057 00000 n
-0000393122 00000 n
-0000393187 00000 n
-0000393252 00000 n
-0000393317 00000 n
-0000393382 00000 n
-0000393447 00000 n
-0000393512 00000 n
-0000393577 00000 n
-0000393642 00000 n
-0000393707 00000 n
-0000393835 00000 n
-0000393900 00000 n
-0000393964 00000 n
-0000394029 00000 n
-0000394094 00000 n
-0000394159 00000 n
-0000394224 00000 n
-0000394289 00000 n
-0000394354 00000 n
-0000394419 00000 n
-0000394484 00000 n
-0000394548 00000 n
-0000394613 00000 n
-0000394678 00000 n
-0000394743 00000 n
-0000394808 00000 n
-0000394873 00000 n
-0000394938 00000 n
-0000395003 00000 n
-0000395068 00000 n
-0000395132 00000 n
-0000395197 00000 n
-0000395262 00000 n
-0000395327 00000 n
-0000395392 00000 n
-0000395457 00000 n
-0000395522 00000 n
-0000395587 00000 n
-0000395652 00000 n
-0000395716 00000 n
-0000395781 00000 n
-0000395846 00000 n
-0000395911 00000 n
-0000395976 00000 n
-0000396040 00000 n
-0000402081 00000 n
-0000399622 00000 n
-0000396307 00000 n
-0000399747 00000 n
-0000399811 00000 n
-0000399876 00000 n
-0000399940 00000 n
-0000400005 00000 n
-0000400070 00000 n
-0000400135 00000 n
-0000400200 00000 n
-0000400265 00000 n
-0000400330 00000 n
-0000400395 00000 n
-0000400460 00000 n
-0000400524 00000 n
-0000400589 00000 n
-0000400654 00000 n
-0000400719 00000 n
-0000400784 00000 n
-0000400849 00000 n
-0000400914 00000 n
-0000400979 00000 n
-0000401044 00000 n
-0000401108 00000 n
-0000401173 00000 n
-0000401238 00000 n
-0000401303 00000 n
-0000401368 00000 n
-0000401432 00000 n
-0000401497 00000 n
-0000401562 00000 n
-0000401627 00000 n
-0000401692 00000 n
-0000401757 00000 n
-0000401822 00000 n
-0000401887 00000 n
-0000401952 00000 n
-0000402016 00000 n
-0000405720 00000 n
-0000405877 00000 n
-0000408174 00000 n
-0000405538 00000 n
-0000402297 00000 n
-0000406034 00000 n
-0000406098 00000 n
-0000406161 00000 n
-0000406226 00000 n
-0000406291 00000 n
-0000406356 00000 n
-0000406420 00000 n
-0000406485 00000 n
-0000406550 00000 n
-0000406615 00000 n
-0000406680 00000 n
-0000406745 00000 n
-0000406810 00000 n
-0000406875 00000 n
-0000406940 00000 n
-0000407005 00000 n
-0000407070 00000 n
-0000407135 00000 n
-0000407200 00000 n
-0000407265 00000 n
-0000407330 00000 n
-0000407395 00000 n
-0000407460 00000 n
-0000407525 00000 n
-0000407590 00000 n
-0000407655 00000 n
-0000407720 00000 n
-0000407784 00000 n
-0000407849 00000 n
-0000407914 00000 n
-0000407979 00000 n
-0000408044 00000 n
-0000408109 00000 n
-0000405680 00000 n
-0000413421 00000 n
-0000410056 00000 n
-0000408442 00000 n
-0000410181 00000 n
-0000410245 00000 n
-0000410310 00000 n
-0000410375 00000 n
-0000410440 00000 n
-0000410505 00000 n
-0000410570 00000 n
-0000410635 00000 n
-0000410700 00000 n
-0000410765 00000 n
-0000410829 00000 n
-0000410894 00000 n
-0000410959 00000 n
-0000411024 00000 n
-0000411089 00000 n
-0000411154 00000 n
-0000411219 00000 n
-0000411284 00000 n
-0000411349 00000 n
-0000411413 00000 n
-0000411478 00000 n
-0000411543 00000 n
-0000411608 00000 n
-0000411673 00000 n
-0000411738 00000 n
-0000411803 00000 n
-0000411868 00000 n
-0000411933 00000 n
-0000411997 00000 n
-0000412062 00000 n
-0000412127 00000 n
-0000412192 00000 n
-0000412257 00000 n
-0000412322 00000 n
-0000412387 00000 n
-0000412452 00000 n
-0000412515 00000 n
-0000412580 00000 n
-0000412645 00000 n
-0000412710 00000 n
-0000412775 00000 n
-0000412838 00000 n
-0000412903 00000 n
-0000412968 00000 n
-0000413033 00000 n
-0000413098 00000 n
-0000413163 00000 n
-0000413227 00000 n
-0000413292 00000 n
-0000413356 00000 n
-0000419403 00000 n
-0000415387 00000 n
-0000413585 00000 n
-0000415512 00000 n
-0000415576 00000 n
-0000415640 00000 n
-0000415705 00000 n
-0000415770 00000 n
-0000415835 00000 n
-0000415900 00000 n
-0000415965 00000 n
-0000416030 00000 n
-0000416095 00000 n
-0000416160 00000 n
-0000416224 00000 n
-0000416289 00000 n
-0000416354 00000 n
-0000416419 00000 n
-0000416484 00000 n
-0000416549 00000 n
-0000416614 00000 n
-0000416679 00000 n
-0000416744 00000 n
-0000416808 00000 n
-0000416873 00000 n
-0000416938 00000 n
-0000417003 00000 n
-0000417068 00000 n
-0000417133 00000 n
-0000417198 00000 n
-0000417263 00000 n
-0000417328 00000 n
-0000417392 00000 n
-0000417457 00000 n
-0000417522 00000 n
-0000417587 00000 n
-0000417652 00000 n
-0000417717 00000 n
-0000417782 00000 n
-0000417847 00000 n
-0000417912 00000 n
-0000417976 00000 n
-0000418041 00000 n
-0000418106 00000 n
-0000418171 00000 n
-0000418236 00000 n
-0000418301 00000 n
-0000418366 00000 n
-0000418431 00000 n
-0000418496 00000 n
-0000418560 00000 n
-0000418625 00000 n
-0000418690 00000 n
-0000418755 00000 n
-0000418820 00000 n
-0000418885 00000 n
-0000418950 00000 n
-0000419015 00000 n
-0000419080 00000 n
-0000419144 00000 n
-0000419209 00000 n
-0000419274 00000 n
-0000419339 00000 n
-0000425505 00000 n
-0000422659 00000 n
-0000419593 00000 n
-0000422784 00000 n
-0000422848 00000 n
-0000422913 00000 n
-0000422977 00000 n
-0000423042 00000 n
-0000423107 00000 n
-0000423172 00000 n
-0000423236 00000 n
-0000423301 00000 n
-0000423366 00000 n
-0000423431 00000 n
-0000423496 00000 n
-0000423560 00000 n
-0000423625 00000 n
-0000423690 00000 n
-0000423755 00000 n
-0000423820 00000 n
-0000423885 00000 n
-0000423950 00000 n
-0000424015 00000 n
-0000424079 00000 n
-0000424144 00000 n
-0000424209 00000 n
-0000424274 00000 n
-0000424339 00000 n
-0000424404 00000 n
-0000424469 00000 n
-0000424534 00000 n
-0000424598 00000 n
-0000424663 00000 n
-0000424728 00000 n
-0000424793 00000 n
-0000424858 00000 n
-0000424923 00000 n
-0000424988 00000 n
-0000425053 00000 n
-0000425118 00000 n
-0000425183 00000 n
-0000425247 00000 n
-0000425312 00000 n
-0000425377 00000 n
-0000425441 00000 n
-0000428852 00000 n
-0000431800 00000 n
-0000428679 00000 n
-0000425721 00000 n
-0000429010 00000 n
-0000429074 00000 n
-0000429139 00000 n
-0000429204 00000 n
-0000429269 00000 n
-0000429334 00000 n
-0000429399 00000 n
-0000429464 00000 n
-0000429529 00000 n
-0000429594 00000 n
-0000429658 00000 n
-0000429723 00000 n
-0000429787 00000 n
-0000429852 00000 n
-0000429917 00000 n
-0000429982 00000 n
-0000430047 00000 n
-0000430112 00000 n
-0000430177 00000 n
-0000430242 00000 n
-0000430307 00000 n
-0000430372 00000 n
-0000430437 00000 n
-0000430502 00000 n
-0000430567 00000 n
-0000430632 00000 n
-0000430697 00000 n
-0000430762 00000 n
-0000430827 00000 n
-0000430892 00000 n
-0000430957 00000 n
-0000431021 00000 n
-0000431086 00000 n
-0000431151 00000 n
-0000431216 00000 n
-0000431281 00000 n
-0000431346 00000 n
-0000431411 00000 n
-0000431476 00000 n
-0000431541 00000 n
-0000431606 00000 n
-0000431671 00000 n
-0000431736 00000 n
-0000428821 00000 n
-0000437954 00000 n
-0000434329 00000 n
-0000432081 00000 n
-0000434454 00000 n
-0000434518 00000 n
-0000434583 00000 n
-0000434647 00000 n
-0000434712 00000 n
-0000434777 00000 n
-0000434842 00000 n
-0000434907 00000 n
-0000434972 00000 n
-0000435037 00000 n
-0000435102 00000 n
-0000435230 00000 n
-0000435295 00000 n
-0000435360 00000 n
-0000435425 00000 n
-0000435490 00000 n
-0000435555 00000 n
-0000435620 00000 n
-0000435685 00000 n
-0000435750 00000 n
-0000435815 00000 n
-0000435880 00000 n
-0000435945 00000 n
-0000436008 00000 n
-0000436073 00000 n
-0000436138 00000 n
-0000436203 00000 n
-0000436268 00000 n
-0000436333 00000 n
-0000436398 00000 n
-0000436463 00000 n
-0000436528 00000 n
-0000436593 00000 n
-0000436658 00000 n
-0000436723 00000 n
-0000436788 00000 n
-0000436853 00000 n
-0000436918 00000 n
-0000436983 00000 n
-0000437048 00000 n
-0000437112 00000 n
-0000437177 00000 n
-0000437242 00000 n
-0000437307 00000 n
-0000437372 00000 n
-0000437437 00000 n
-0000437502 00000 n
-0000437567 00000 n
-0000437632 00000 n
-0000437696 00000 n
-0000437761 00000 n
-0000437826 00000 n
-0000437890 00000 n
-0000444002 00000 n
-0000440508 00000 n
-0000438131 00000 n
-0000440633 00000 n
-0000440697 00000 n
-0000440762 00000 n
-0000440826 00000 n
-0000440891 00000 n
-0000440956 00000 n
-0000441021 00000 n
-0000441086 00000 n
-0000441151 00000 n
-0000441215 00000 n
-0000441280 00000 n
-0000441345 00000 n
-0000441410 00000 n
-0000441475 00000 n
-0000441540 00000 n
-0000441605 00000 n
-0000441670 00000 n
-0000441734 00000 n
-0000441799 00000 n
-0000441864 00000 n
-0000441929 00000 n
-0000441994 00000 n
-0000442059 00000 n
-0000442124 00000 n
-0000442189 00000 n
-0000442254 00000 n
-0000442318 00000 n
-0000442383 00000 n
-0000442448 00000 n
-0000442513 00000 n
-0000442578 00000 n
-0000442643 00000 n
-0000442708 00000 n
-0000442773 00000 n
-0000442838 00000 n
-0000442902 00000 n
-0000442967 00000 n
-0000443032 00000 n
-0000443097 00000 n
-0000443162 00000 n
-0000443227 00000 n
-0000443292 00000 n
-0000443357 00000 n
-0000443422 00000 n
-0000443486 00000 n
-0000443550 00000 n
-0000443615 00000 n
-0000443679 00000 n
-0000443744 00000 n
-0000443809 00000 n
-0000443874 00000 n
-0000443938 00000 n
-0000449578 00000 n
-0000446861 00000 n
-0000444179 00000 n
-0000446986 00000 n
-0000447050 00000 n
-0000447115 00000 n
-0000447179 00000 n
-0000447244 00000 n
-0000447309 00000 n
-0000447374 00000 n
-0000447439 00000 n
-0000447502 00000 n
-0000447567 00000 n
-0000447632 00000 n
-0000447697 00000 n
-0000447762 00000 n
-0000447827 00000 n
-0000447892 00000 n
-0000447957 00000 n
-0000448022 00000 n
-0000448087 00000 n
-0000448152 00000 n
-0000448217 00000 n
-0000448282 00000 n
-0000448347 00000 n
-0000448412 00000 n
-0000448477 00000 n
-0000448542 00000 n
-0000448607 00000 n
-0000448672 00000 n
-0000448737 00000 n
-0000448802 00000 n
-0000448867 00000 n
-0000448932 00000 n
-0000448997 00000 n
-0000449062 00000 n
-0000449126 00000 n
-0000449191 00000 n
-0000449256 00000 n
-0000449320 00000 n
-0000449385 00000 n
-0000449450 00000 n
-0000449514 00000 n
-0000877534 00000 n
-0000455380 00000 n
-0000451690 00000 n
-0000449781 00000 n
-0000451815 00000 n
-0000451879 00000 n
-0000451944 00000 n
-0000452008 00000 n
-0000452073 00000 n
-0000452138 00000 n
-0000452203 00000 n
-0000452268 00000 n
-0000452332 00000 n
-0000452396 00000 n
-0000452461 00000 n
-0000452526 00000 n
-0000452591 00000 n
-0000452656 00000 n
-0000452721 00000 n
-0000452786 00000 n
-0000452851 00000 n
-0000452916 00000 n
-0000452981 00000 n
-0000453046 00000 n
-0000453111 00000 n
-0000453176 00000 n
-0000453241 00000 n
-0000453306 00000 n
-0000453370 00000 n
-0000453435 00000 n
-0000453500 00000 n
-0000453565 00000 n
-0000453630 00000 n
-0000453695 00000 n
-0000453760 00000 n
-0000453825 00000 n
-0000453890 00000 n
-0000453954 00000 n
-0000454019 00000 n
-0000454084 00000 n
-0000454149 00000 n
-0000454214 00000 n
-0000454278 00000 n
-0000454343 00000 n
-0000454408 00000 n
-0000454473 00000 n
-0000454538 00000 n
-0000454603 00000 n
-0000454668 00000 n
-0000454733 00000 n
-0000454798 00000 n
-0000454863 00000 n
-0000454928 00000 n
-0000454993 00000 n
-0000455058 00000 n
-0000455122 00000 n
-0000455187 00000 n
-0000455252 00000 n
-0000455316 00000 n
-0000464284 00000 n
-0000461146 00000 n
-0000457325 00000 n
-0000455583 00000 n
-0000457450 00000 n
-0000457514 00000 n
-0000457579 00000 n
-0000457643 00000 n
-0000457708 00000 n
-0000457773 00000 n
-0000457838 00000 n
-0000457903 00000 n
-0000457968 00000 n
-0000458033 00000 n
-0000458098 00000 n
-0000458163 00000 n
-0000458227 00000 n
-0000458292 00000 n
-0000458357 00000 n
-0000458422 00000 n
-0000458487 00000 n
-0000458552 00000 n
-0000458617 00000 n
-0000458682 00000 n
-0000458747 00000 n
-0000458811 00000 n
-0000458876 00000 n
-0000458941 00000 n
-0000459006 00000 n
-0000459071 00000 n
-0000459135 00000 n
-0000459200 00000 n
-0000459264 00000 n
-0000459329 00000 n
-0000459394 00000 n
-0000459459 00000 n
-0000459524 00000 n
-0000459589 00000 n
-0000459654 00000 n
-0000459719 00000 n
-0000459784 00000 n
-0000459849 00000 n
-0000459913 00000 n
-0000459978 00000 n
-0000460043 00000 n
-0000460108 00000 n
-0000460173 00000 n
-0000460238 00000 n
-0000460303 00000 n
-0000460368 00000 n
-0000460433 00000 n
-0000460497 00000 n
-0000460562 00000 n
-0000460627 00000 n
-0000460692 00000 n
-0000460757 00000 n
-0000460822 00000 n
-0000460887 00000 n
-0000460952 00000 n
-0000461017 00000 n
-0000461081 00000 n
-0000467682 00000 n
-0000464111 00000 n
-0000461310 00000 n
-0000464442 00000 n
-0000464506 00000 n
-0000464571 00000 n
-0000464636 00000 n
-0000464701 00000 n
-0000464766 00000 n
-0000464830 00000 n
-0000464895 00000 n
-0000464960 00000 n
-0000465025 00000 n
-0000465090 00000 n
-0000465218 00000 n
-0000465283 00000 n
-0000465348 00000 n
-0000465413 00000 n
-0000465478 00000 n
-0000465543 00000 n
-0000465608 00000 n
-0000465673 00000 n
-0000465738 00000 n
-0000465803 00000 n
-0000465866 00000 n
-0000465931 00000 n
-0000465996 00000 n
-0000466061 00000 n
-0000466126 00000 n
-0000466191 00000 n
-0000466256 00000 n
-0000466321 00000 n
-0000466386 00000 n
-0000466450 00000 n
-0000466515 00000 n
-0000466580 00000 n
-0000466645 00000 n
-0000466710 00000 n
-0000466775 00000 n
-0000466840 00000 n
-0000466905 00000 n
-0000466970 00000 n
-0000467034 00000 n
-0000467099 00000 n
-0000467164 00000 n
-0000467229 00000 n
-0000467294 00000 n
-0000467359 00000 n
-0000467424 00000 n
-0000467489 00000 n
-0000467554 00000 n
-0000467618 00000 n
-0000464253 00000 n
-0000472259 00000 n
-0000469937 00000 n
-0000467937 00000 n
-0000470062 00000 n
-0000470126 00000 n
-0000470191 00000 n
-0000470256 00000 n
-0000470319 00000 n
-0000470384 00000 n
-0000470449 00000 n
-0000470514 00000 n
-0000470579 00000 n
-0000470643 00000 n
-0000470708 00000 n
-0000470773 00000 n
-0000470838 00000 n
-0000470903 00000 n
-0000470968 00000 n
-0000471033 00000 n
-0000471097 00000 n
-0000471162 00000 n
-0000471226 00000 n
-0000471290 00000 n
-0000471354 00000 n
-0000471417 00000 n
-0000471482 00000 n
-0000471546 00000 n
-0000471611 00000 n
-0000471676 00000 n
-0000471739 00000 n
-0000471804 00000 n
-0000471869 00000 n
-0000471934 00000 n
-0000471999 00000 n
-0000472064 00000 n
-0000472129 00000 n
-0000472194 00000 n
-0000474959 00000 n
-0000478357 00000 n
-0000474786 00000 n
-0000472475 00000 n
-0000475117 00000 n
-0000475181 00000 n
-0000475245 00000 n
-0000475310 00000 n
-0000475375 00000 n
-0000475440 00000 n
-0000475505 00000 n
-0000475570 00000 n
-0000475635 00000 n
-0000475700 00000 n
-0000475765 00000 n
-0000475829 00000 n
-0000475894 00000 n
-0000475959 00000 n
-0000476024 00000 n
-0000476089 00000 n
-0000476154 00000 n
-0000476219 00000 n
-0000476284 00000 n
-0000476349 00000 n
-0000476413 00000 n
-0000476478 00000 n
-0000476543 00000 n
-0000476608 00000 n
-0000476673 00000 n
-0000476738 00000 n
-0000476803 00000 n
-0000476868 00000 n
-0000476933 00000 n
-0000476998 00000 n
-0000477063 00000 n
-0000477128 00000 n
-0000477193 00000 n
-0000477258 00000 n
-0000477322 00000 n
-0000477387 00000 n
-0000477514 00000 n
-0000477579 00000 n
-0000477644 00000 n
-0000477708 00000 n
-0000477773 00000 n
-0000477838 00000 n
-0000477903 00000 n
-0000477968 00000 n
-0000478033 00000 n
-0000478098 00000 n
-0000478163 00000 n
-0000478228 00000 n
-0000478293 00000 n
-0000474928 00000 n
-0000484494 00000 n
-0000481191 00000 n
-0000478586 00000 n
-0000481316 00000 n
-0000481380 00000 n
-0000481445 00000 n
-0000481509 00000 n
-0000481574 00000 n
-0000481639 00000 n
-0000481704 00000 n
-0000481769 00000 n
-0000481834 00000 n
-0000481899 00000 n
-0000481964 00000 n
-0000482028 00000 n
-0000482093 00000 n
-0000482158 00000 n
-0000482223 00000 n
-0000482288 00000 n
-0000482353 00000 n
-0000482418 00000 n
-0000482483 00000 n
-0000482548 00000 n
-0000482612 00000 n
-0000482677 00000 n
-0000482742 00000 n
-0000482807 00000 n
-0000482872 00000 n
-0000482937 00000 n
-0000483002 00000 n
-0000483067 00000 n
-0000483132 00000 n
-0000483196 00000 n
-0000483261 00000 n
-0000483326 00000 n
-0000483391 00000 n
-0000483456 00000 n
-0000483521 00000 n
-0000483586 00000 n
-0000483651 00000 n
-0000483716 00000 n
-0000483781 00000 n
-0000483846 00000 n
-0000483911 00000 n
-0000483975 00000 n
-0000484040 00000 n
-0000484105 00000 n
-0000484170 00000 n
-0000484235 00000 n
-0000484300 00000 n
-0000484365 00000 n
-0000484429 00000 n
-0000490294 00000 n
+0000300824 00000 n
+0000300889 00000 n
+0000300954 00000 n
+0000301019 00000 n
+0000301084 00000 n
+0000301149 00000 n
+0000301214 00000 n
+0000307678 00000 n
+0000303858 00000 n
+0000301455 00000 n
+0000303983 00000 n
+0000304047 00000 n
+0000304112 00000 n
+0000304176 00000 n
+0000304241 00000 n
+0000304306 00000 n
+0000304371 00000 n
+0000304436 00000 n
+0000304501 00000 n
+0000304566 00000 n
+0000304631 00000 n
+0000304696 00000 n
+0000304760 00000 n
+0000304825 00000 n
+0000304890 00000 n
+0000304955 00000 n
+0000305020 00000 n
+0000305085 00000 n
+0000305150 00000 n
+0000305215 00000 n
+0000305280 00000 n
+0000305344 00000 n
+0000305409 00000 n
+0000305474 00000 n
+0000305539 00000 n
+0000305604 00000 n
+0000305669 00000 n
+0000305734 00000 n
+0000305799 00000 n
+0000305864 00000 n
+0000305928 00000 n
+0000305993 00000 n
+0000306058 00000 n
+0000306123 00000 n
+0000306188 00000 n
+0000306253 00000 n
+0000306318 00000 n
+0000306383 00000 n
+0000306448 00000 n
+0000306512 00000 n
+0000306577 00000 n
+0000306642 00000 n
+0000306707 00000 n
+0000306772 00000 n
+0000306837 00000 n
+0000306902 00000 n
+0000306967 00000 n
+0000307032 00000 n
+0000307096 00000 n
+0000307161 00000 n
+0000307226 00000 n
+0000307291 00000 n
+0000307356 00000 n
+0000307421 00000 n
+0000307486 00000 n
+0000307550 00000 n
+0000307614 00000 n
+0000313680 00000 n
+0000310512 00000 n
+0000307842 00000 n
+0000310637 00000 n
+0000310701 00000 n
+0000310766 00000 n
+0000310830 00000 n
+0000310895 00000 n
+0000310960 00000 n
+0000311025 00000 n
+0000311090 00000 n
+0000311155 00000 n
+0000311220 00000 n
+0000311285 00000 n
+0000311348 00000 n
+0000311413 00000 n
+0000311478 00000 n
+0000311543 00000 n
+0000311607 00000 n
+0000311672 00000 n
+0000311737 00000 n
+0000311802 00000 n
+0000311867 00000 n
+0000311932 00000 n
+0000311997 00000 n
+0000312062 00000 n
+0000312127 00000 n
+0000312192 00000 n
+0000312257 00000 n
+0000312385 00000 n
+0000312450 00000 n
+0000312514 00000 n
+0000312579 00000 n
+0000312644 00000 n
+0000312709 00000 n
+0000312774 00000 n
+0000312839 00000 n
+0000312904 00000 n
+0000312968 00000 n
+0000313033 00000 n
+0000313098 00000 n
+0000313163 00000 n
+0000313228 00000 n
+0000313293 00000 n
+0000313358 00000 n
+0000313423 00000 n
+0000313488 00000 n
+0000313553 00000 n
+0000313616 00000 n
+0000319925 00000 n
+0000315719 00000 n
+0000313857 00000 n
+0000315844 00000 n
+0000315908 00000 n
+0000315973 00000 n
+0000316037 00000 n
+0000316102 00000 n
+0000316167 00000 n
+0000316232 00000 n
+0000316297 00000 n
+0000316362 00000 n
+0000316427 00000 n
+0000316492 00000 n
+0000316557 00000 n
+0000316621 00000 n
+0000316686 00000 n
+0000316751 00000 n
+0000316816 00000 n
+0000316881 00000 n
+0000316946 00000 n
+0000317011 00000 n
+0000317076 00000 n
+0000317141 00000 n
+0000317205 00000 n
+0000317270 00000 n
+0000317335 00000 n
+0000317400 00000 n
+0000317465 00000 n
+0000317530 00000 n
+0000317595 00000 n
+0000317660 00000 n
+0000317725 00000 n
+0000317789 00000 n
+0000317854 00000 n
+0000317919 00000 n
+0000317984 00000 n
+0000318049 00000 n
+0000318114 00000 n
+0000318179 00000 n
+0000318244 00000 n
+0000318309 00000 n
+0000318373 00000 n
+0000318438 00000 n
+0000318503 00000 n
+0000318568 00000 n
+0000318633 00000 n
+0000318697 00000 n
+0000318762 00000 n
+0000318827 00000 n
+0000318892 00000 n
+0000318957 00000 n
+0000319022 00000 n
+0000319087 00000 n
+0000319152 00000 n
+0000319217 00000 n
+0000319278 00000 n
+0000319343 00000 n
+0000319408 00000 n
+0000319473 00000 n
+0000319538 00000 n
+0000319603 00000 n
+0000319668 00000 n
+0000319733 00000 n
+0000319798 00000 n
+0000319861 00000 n
+0000325628 00000 n
+0000322326 00000 n
+0000320102 00000 n
+0000322451 00000 n
+0000322515 00000 n
+0000322580 00000 n
+0000322644 00000 n
+0000322709 00000 n
+0000322774 00000 n
+0000322839 00000 n
+0000322904 00000 n
+0000322968 00000 n
+0000323033 00000 n
+0000323098 00000 n
+0000323163 00000 n
+0000323228 00000 n
+0000323356 00000 n
+0000323421 00000 n
+0000323486 00000 n
+0000323551 00000 n
+0000323616 00000 n
+0000323681 00000 n
+0000323746 00000 n
+0000323811 00000 n
+0000323876 00000 n
+0000323941 00000 n
+0000324006 00000 n
+0000324071 00000 n
+0000324136 00000 n
+0000324200 00000 n
+0000324265 00000 n
+0000324330 00000 n
+0000324395 00000 n
+0000324460 00000 n
+0000324525 00000 n
+0000324590 00000 n
+0000324655 00000 n
+0000324720 00000 n
+0000324784 00000 n
+0000324849 00000 n
+0000324914 00000 n
+0000324979 00000 n
+0000325044 00000 n
+0000325109 00000 n
+0000325174 00000 n
+0000325239 00000 n
+0000325304 00000 n
+0000325368 00000 n
+0000325433 00000 n
+0000325498 00000 n
+0000325563 00000 n
+0000331467 00000 n
+0000328946 00000 n
+0000325805 00000 n
+0000329071 00000 n
+0000329135 00000 n
+0000329200 00000 n
+0000329265 00000 n
+0000329330 00000 n
+0000329395 00000 n
+0000329522 00000 n
+0000329587 00000 n
+0000329652 00000 n
+0000329717 00000 n
+0000329782 00000 n
+0000329846 00000 n
+0000329911 00000 n
+0000329976 00000 n
+0000330041 00000 n
+0000330106 00000 n
+0000330171 00000 n
+0000330236 00000 n
+0000330301 00000 n
+0000330366 00000 n
+0000330430 00000 n
+0000330495 00000 n
+0000330560 00000 n
+0000330624 00000 n
+0000330689 00000 n
+0000330754 00000 n
+0000330819 00000 n
+0000330884 00000 n
+0000330949 00000 n
+0000331014 00000 n
+0000331079 00000 n
+0000331143 00000 n
+0000331208 00000 n
+0000331273 00000 n
+0000331338 00000 n
+0000331403 00000 n
+0000884057 00000 n
+0000336990 00000 n
+0000333691 00000 n
+0000331657 00000 n
+0000333816 00000 n
+0000333880 00000 n
+0000333945 00000 n
+0000334009 00000 n
+0000334074 00000 n
+0000334139 00000 n
+0000334203 00000 n
+0000334268 00000 n
+0000334332 00000 n
+0000334397 00000 n
+0000334462 00000 n
+0000334526 00000 n
+0000334591 00000 n
+0000334656 00000 n
+0000334721 00000 n
+0000334786 00000 n
+0000334851 00000 n
+0000334916 00000 n
+0000334981 00000 n
+0000335046 00000 n
+0000335111 00000 n
+0000335176 00000 n
+0000335241 00000 n
+0000335306 00000 n
+0000335371 00000 n
+0000335436 00000 n
+0000335501 00000 n
+0000335566 00000 n
+0000335630 00000 n
+0000335695 00000 n
+0000335760 00000 n
+0000335825 00000 n
+0000335890 00000 n
+0000335955 00000 n
+0000336020 00000 n
+0000336085 00000 n
+0000336150 00000 n
+0000336215 00000 n
+0000336343 00000 n
+0000336408 00000 n
+0000336473 00000 n
+0000336538 00000 n
+0000336602 00000 n
+0000336667 00000 n
+0000336732 00000 n
+0000336797 00000 n
+0000336862 00000 n
+0000336926 00000 n
+0000343232 00000 n
+0000339218 00000 n
+0000337154 00000 n
+0000339343 00000 n
+0000339470 00000 n
+0000339534 00000 n
+0000339599 00000 n
+0000339664 00000 n
+0000339729 00000 n
+0000339794 00000 n
+0000339859 00000 n
+0000339924 00000 n
+0000339989 00000 n
+0000340054 00000 n
+0000340119 00000 n
+0000340184 00000 n
+0000340247 00000 n
+0000340312 00000 n
+0000340377 00000 n
+0000340442 00000 n
+0000340507 00000 n
+0000340572 00000 n
+0000340637 00000 n
+0000340702 00000 n
+0000340767 00000 n
+0000340832 00000 n
+0000340897 00000 n
+0000340961 00000 n
+0000341026 00000 n
+0000341091 00000 n
+0000341156 00000 n
+0000341221 00000 n
+0000341286 00000 n
+0000341351 00000 n
+0000341416 00000 n
+0000341481 00000 n
+0000341546 00000 n
+0000341611 00000 n
+0000341676 00000 n
+0000341740 00000 n
+0000341805 00000 n
+0000341870 00000 n
+0000341935 00000 n
+0000342000 00000 n
+0000342065 00000 n
+0000342130 00000 n
+0000342195 00000 n
+0000342260 00000 n
+0000342325 00000 n
+0000342389 00000 n
+0000342454 00000 n
+0000342519 00000 n
+0000342584 00000 n
+0000342649 00000 n
+0000342714 00000 n
+0000342779 00000 n
+0000342844 00000 n
+0000342909 00000 n
+0000342974 00000 n
+0000343038 00000 n
+0000343103 00000 n
+0000343168 00000 n
+0000349630 00000 n
+0000345619 00000 n
+0000343396 00000 n
+0000345744 00000 n
+0000345808 00000 n
+0000345872 00000 n
+0000345937 00000 n
+0000346002 00000 n
+0000346067 00000 n
+0000346132 00000 n
+0000346197 00000 n
+0000346262 00000 n
+0000346327 00000 n
+0000346390 00000 n
+0000346455 00000 n
+0000346520 00000 n
+0000346585 00000 n
+0000346650 00000 n
+0000346715 00000 n
+0000346780 00000 n
+0000346845 00000 n
+0000346910 00000 n
+0000346975 00000 n
+0000347039 00000 n
+0000347104 00000 n
+0000347169 00000 n
+0000347234 00000 n
+0000347299 00000 n
+0000347364 00000 n
+0000347429 00000 n
+0000347494 00000 n
+0000347559 00000 n
+0000347624 00000 n
+0000347689 00000 n
+0000347754 00000 n
+0000347818 00000 n
+0000347883 00000 n
+0000347948 00000 n
+0000348013 00000 n
+0000348078 00000 n
+0000348143 00000 n
+0000348208 00000 n
+0000348273 00000 n
+0000348338 00000 n
+0000348402 00000 n
+0000348467 00000 n
+0000348532 00000 n
+0000348597 00000 n
+0000348662 00000 n
+0000348727 00000 n
+0000348792 00000 n
+0000348857 00000 n
+0000348922 00000 n
+0000348983 00000 n
+0000349048 00000 n
+0000349113 00000 n
+0000349178 00000 n
+0000349243 00000 n
+0000349308 00000 n
+0000349373 00000 n
+0000349438 00000 n
+0000349503 00000 n
+0000349566 00000 n
+0000355307 00000 n
+0000351749 00000 n
+0000349794 00000 n
+0000351874 00000 n
+0000351938 00000 n
+0000352003 00000 n
+0000352067 00000 n
+0000352132 00000 n
+0000352197 00000 n
+0000352262 00000 n
+0000352327 00000 n
+0000352392 00000 n
+0000352457 00000 n
+0000352522 00000 n
+0000352587 00000 n
+0000352651 00000 n
+0000352716 00000 n
+0000352781 00000 n
+0000352846 00000 n
+0000352911 00000 n
+0000352976 00000 n
+0000353040 00000 n
+0000353105 00000 n
+0000353170 00000 n
+0000353235 00000 n
+0000353300 00000 n
+0000353365 00000 n
+0000353429 00000 n
+0000353494 00000 n
+0000353559 00000 n
+0000353624 00000 n
+0000353689 00000 n
+0000353754 00000 n
+0000353819 00000 n
+0000353884 00000 n
+0000353949 00000 n
+0000354014 00000 n
+0000354142 00000 n
+0000354207 00000 n
+0000354272 00000 n
+0000354337 00000 n
+0000354402 00000 n
+0000354467 00000 n
+0000354532 00000 n
+0000354597 00000 n
+0000354661 00000 n
+0000354726 00000 n
+0000354791 00000 n
+0000354856 00000 n
+0000354921 00000 n
+0000354986 00000 n
+0000355114 00000 n
+0000355179 00000 n
+0000355243 00000 n
+0000361093 00000 n
+0000357991 00000 n
+0000355471 00000 n
+0000358116 00000 n
+0000358180 00000 n
+0000358245 00000 n
+0000358309 00000 n
+0000358374 00000 n
+0000358439 00000 n
+0000358504 00000 n
+0000358569 00000 n
+0000358634 00000 n
+0000358699 00000 n
+0000358764 00000 n
+0000358829 00000 n
+0000358894 00000 n
+0000358958 00000 n
+0000359023 00000 n
+0000359088 00000 n
+0000359153 00000 n
+0000359218 00000 n
+0000359283 00000 n
+0000359348 00000 n
+0000359413 00000 n
+0000359477 00000 n
+0000359542 00000 n
+0000359607 00000 n
+0000359672 00000 n
+0000359737 00000 n
+0000359802 00000 n
+0000359867 00000 n
+0000359932 00000 n
+0000359997 00000 n
+0000360060 00000 n
+0000360125 00000 n
+0000360190 00000 n
+0000360255 00000 n
+0000360320 00000 n
+0000881699 00000 n
+0000360448 00000 n
+0000360513 00000 n
+0000360577 00000 n
+0000360642 00000 n
+0000360707 00000 n
+0000360772 00000 n
+0000360900 00000 n
+0000360964 00000 n
+0000361029 00000 n
+0000366913 00000 n
+0000364779 00000 n
+0000361337 00000 n
+0000364904 00000 n
+0000364968 00000 n
+0000365033 00000 n
+0000365098 00000 n
+0000365163 00000 n
+0000365228 00000 n
+0000365293 00000 n
+0000365358 00000 n
+0000365423 00000 n
+0000365488 00000 n
+0000365553 00000 n
+0000365618 00000 n
+0000365683 00000 n
+0000365748 00000 n
+0000365813 00000 n
+0000365878 00000 n
+0000365941 00000 n
+0000366006 00000 n
+0000366071 00000 n
+0000366136 00000 n
+0000366201 00000 n
+0000366266 00000 n
+0000366331 00000 n
+0000366396 00000 n
+0000366461 00000 n
+0000366526 00000 n
+0000366591 00000 n
+0000366655 00000 n
+0000366720 00000 n
+0000366785 00000 n
+0000366849 00000 n
+0000372287 00000 n
+0000369894 00000 n
+0000367129 00000 n
+0000370019 00000 n
+0000370083 00000 n
+0000370148 00000 n
+0000370213 00000 n
+0000370278 00000 n
+0000370342 00000 n
+0000370407 00000 n
+0000370472 00000 n
+0000370537 00000 n
+0000370602 00000 n
+0000370667 00000 n
+0000370732 00000 n
+0000370797 00000 n
+0000370862 00000 n
+0000370927 00000 n
+0000370992 00000 n
+0000371056 00000 n
+0000371120 00000 n
+0000371184 00000 n
+0000371249 00000 n
+0000371314 00000 n
+0000371379 00000 n
+0000371444 00000 n
+0000371509 00000 n
+0000371574 00000 n
+0000371639 00000 n
+0000371704 00000 n
+0000371769 00000 n
+0000371834 00000 n
+0000371899 00000 n
+0000371963 00000 n
+0000372028 00000 n
+0000372093 00000 n
+0000372158 00000 n
+0000372223 00000 n
+0000377845 00000 n
+0000375064 00000 n
+0000372503 00000 n
+0000375189 00000 n
+0000375253 00000 n
+0000375318 00000 n
+0000375383 00000 n
+0000375448 00000 n
+0000375513 00000 n
+0000375577 00000 n
+0000375642 00000 n
+0000375707 00000 n
+0000375772 00000 n
+0000375837 00000 n
+0000375902 00000 n
+0000375967 00000 n
+0000376032 00000 n
+0000376097 00000 n
+0000376162 00000 n
+0000376226 00000 n
+0000376291 00000 n
+0000376356 00000 n
+0000376421 00000 n
+0000376485 00000 n
+0000376550 00000 n
+0000376615 00000 n
+0000376680 00000 n
+0000376745 00000 n
+0000376810 00000 n
+0000376875 00000 n
+0000376940 00000 n
+0000377005 00000 n
+0000377070 00000 n
+0000377134 00000 n
+0000377198 00000 n
+0000377263 00000 n
+0000377328 00000 n
+0000377393 00000 n
+0000377458 00000 n
+0000377523 00000 n
+0000377587 00000 n
+0000377652 00000 n
+0000377717 00000 n
+0000377781 00000 n
+0000383339 00000 n
+0000380038 00000 n
+0000378048 00000 n
+0000380163 00000 n
+0000380227 00000 n
+0000380292 00000 n
+0000380356 00000 n
+0000380421 00000 n
+0000380486 00000 n
+0000380551 00000 n
+0000380616 00000 n
+0000380681 00000 n
+0000380746 00000 n
+0000380811 00000 n
+0000380876 00000 n
+0000380941 00000 n
+0000381006 00000 n
+0000381070 00000 n
+0000381135 00000 n
+0000381200 00000 n
+0000381265 00000 n
+0000381330 00000 n
+0000381394 00000 n
+0000381459 00000 n
+0000381524 00000 n
+0000381589 00000 n
+0000381654 00000 n
+0000381719 00000 n
+0000381784 00000 n
+0000381849 00000 n
+0000381913 00000 n
+0000381978 00000 n
+0000382043 00000 n
+0000382108 00000 n
+0000382173 00000 n
+0000382238 00000 n
+0000382303 00000 n
+0000382368 00000 n
+0000382433 00000 n
+0000382498 00000 n
+0000382563 00000 n
+0000382628 00000 n
+0000382693 00000 n
+0000382756 00000 n
+0000382821 00000 n
+0000382886 00000 n
+0000382951 00000 n
+0000383015 00000 n
+0000383080 00000 n
+0000383145 00000 n
+0000383210 00000 n
+0000383275 00000 n
+0000389158 00000 n
+0000385401 00000 n
+0000383542 00000 n
+0000385526 00000 n
+0000385590 00000 n
+0000385655 00000 n
+0000385720 00000 n
+0000385785 00000 n
+0000385850 00000 n
+0000385914 00000 n
+0000385979 00000 n
+0000386044 00000 n
+0000386109 00000 n
+0000386174 00000 n
+0000386239 00000 n
+0000386304 00000 n
+0000386369 00000 n
+0000386434 00000 n
+0000386499 00000 n
+0000386564 00000 n
+0000386629 00000 n
+0000386694 00000 n
+0000386759 00000 n
+0000386824 00000 n
+0000386889 00000 n
+0000386954 00000 n
+0000387019 00000 n
+0000387084 00000 n
+0000387149 00000 n
+0000387214 00000 n
+0000387279 00000 n
+0000387343 00000 n
+0000387408 00000 n
+0000387473 00000 n
+0000387538 00000 n
+0000387603 00000 n
+0000387668 00000 n
+0000387733 00000 n
+0000387798 00000 n
+0000387863 00000 n
+0000387928 00000 n
+0000387993 00000 n
+0000388058 00000 n
+0000388123 00000 n
+0000388188 00000 n
+0000388253 00000 n
+0000388316 00000 n
+0000388381 00000 n
+0000388446 00000 n
+0000388511 00000 n
+0000388576 00000 n
+0000388641 00000 n
+0000388706 00000 n
+0000388771 00000 n
+0000388836 00000 n
+0000388900 00000 n
+0000388965 00000 n
+0000389030 00000 n
+0000389094 00000 n
+0000884221 00000 n
+0000392778 00000 n
+0000395269 00000 n
+0000392605 00000 n
+0000389335 00000 n
+0000392936 00000 n
+0000393000 00000 n
+0000393065 00000 n
+0000393130 00000 n
+0000393195 00000 n
+0000393260 00000 n
+0000393324 00000 n
+0000393389 00000 n
+0000393454 00000 n
+0000393519 00000 n
+0000393584 00000 n
+0000393649 00000 n
+0000393713 00000 n
+0000393778 00000 n
+0000393843 00000 n
+0000393908 00000 n
+0000393973 00000 n
+0000394038 00000 n
+0000394103 00000 n
+0000394167 00000 n
+0000394232 00000 n
+0000394297 00000 n
+0000394362 00000 n
+0000394427 00000 n
+0000394492 00000 n
+0000394557 00000 n
+0000394622 00000 n
+0000394687 00000 n
+0000394751 00000 n
+0000394816 00000 n
+0000394881 00000 n
+0000394946 00000 n
+0000395011 00000 n
+0000395075 00000 n
+0000395140 00000 n
+0000395205 00000 n
+0000392747 00000 n
+0000402407 00000 n
+0000398523 00000 n
+0000395537 00000 n
+0000398648 00000 n
+0000398775 00000 n
+0000398840 00000 n
+0000398905 00000 n
+0000398970 00000 n
+0000399035 00000 n
+0000399100 00000 n
+0000399165 00000 n
+0000399230 00000 n
+0000399295 00000 n
+0000399360 00000 n
+0000399425 00000 n
+0000399490 00000 n
+0000399555 00000 n
+0000399620 00000 n
+0000399685 00000 n
+0000399749 00000 n
+0000399814 00000 n
+0000399879 00000 n
+0000399944 00000 n
+0000400009 00000 n
+0000400074 00000 n
+0000400139 00000 n
+0000400204 00000 n
+0000400269 00000 n
+0000400333 00000 n
+0000400398 00000 n
+0000400463 00000 n
+0000400528 00000 n
+0000400593 00000 n
+0000400658 00000 n
+0000400723 00000 n
+0000400788 00000 n
+0000400853 00000 n
+0000400918 00000 n
+0000400982 00000 n
+0000401047 00000 n
+0000401112 00000 n
+0000401177 00000 n
+0000401242 00000 n
+0000401307 00000 n
+0000401372 00000 n
+0000401437 00000 n
+0000401502 00000 n
+0000401565 00000 n
+0000401630 00000 n
+0000401695 00000 n
+0000401760 00000 n
+0000401825 00000 n
+0000401890 00000 n
+0000401955 00000 n
+0000402020 00000 n
+0000402085 00000 n
+0000402149 00000 n
+0000402214 00000 n
+0000402279 00000 n
+0000402343 00000 n
+0000410606 00000 n
+0000407002 00000 n
+0000405320 00000 n
+0000402597 00000 n
+0000405445 00000 n
+0000405509 00000 n
+0000405574 00000 n
+0000405638 00000 n
+0000405703 00000 n
+0000405768 00000 n
+0000405833 00000 n
+0000405898 00000 n
+0000405963 00000 n
+0000406028 00000 n
+0000406093 00000 n
+0000406158 00000 n
+0000406223 00000 n
+0000406288 00000 n
+0000406353 00000 n
+0000406418 00000 n
+0000406483 00000 n
+0000406547 00000 n
+0000406612 00000 n
+0000406677 00000 n
+0000406742 00000 n
+0000406807 00000 n
+0000406872 00000 n
+0000406937 00000 n
+0000410763 00000 n
+0000413383 00000 n
+0000410424 00000 n
+0000407218 00000 n
+0000410920 00000 n
+0000410984 00000 n
+0000411048 00000 n
+0000411113 00000 n
+0000411178 00000 n
+0000411243 00000 n
+0000411308 00000 n
+0000411373 00000 n
+0000411438 00000 n
+0000411503 00000 n
+0000411566 00000 n
+0000411631 00000 n
+0000411696 00000 n
+0000411761 00000 n
+0000411826 00000 n
+0000411891 00000 n
+0000411956 00000 n
+0000412021 00000 n
+0000412086 00000 n
+0000412151 00000 n
+0000412215 00000 n
+0000412280 00000 n
+0000412345 00000 n
+0000412410 00000 n
+0000412475 00000 n
+0000412540 00000 n
+0000412605 00000 n
+0000412670 00000 n
+0000412735 00000 n
+0000412800 00000 n
+0000412865 00000 n
+0000412930 00000 n
+0000412994 00000 n
+0000413059 00000 n
+0000413124 00000 n
+0000413189 00000 n
+0000413254 00000 n
+0000413319 00000 n
+0000410566 00000 n
+0000418865 00000 n
+0000415437 00000 n
+0000413638 00000 n
+0000415562 00000 n
+0000415626 00000 n
+0000415691 00000 n
+0000415755 00000 n
+0000415820 00000 n
+0000415885 00000 n
+0000415950 00000 n
+0000416015 00000 n
+0000416080 00000 n
+0000416145 00000 n
+0000416210 00000 n
+0000416275 00000 n
+0000416339 00000 n
+0000416404 00000 n
+0000416469 00000 n
+0000416534 00000 n
+0000416599 00000 n
+0000416664 00000 n
+0000416729 00000 n
+0000416794 00000 n
+0000416859 00000 n
+0000416923 00000 n
+0000416988 00000 n
+0000417053 00000 n
+0000417118 00000 n
+0000417183 00000 n
+0000417248 00000 n
+0000417312 00000 n
+0000417377 00000 n
+0000417442 00000 n
+0000417507 00000 n
+0000417572 00000 n
+0000417636 00000 n
+0000417701 00000 n
+0000417766 00000 n
+0000417831 00000 n
+0000417896 00000 n
+0000417961 00000 n
+0000418025 00000 n
+0000418090 00000 n
+0000418154 00000 n
+0000418219 00000 n
+0000418283 00000 n
+0000418348 00000 n
+0000418413 00000 n
+0000418477 00000 n
+0000418542 00000 n
+0000418607 00000 n
+0000418672 00000 n
+0000418737 00000 n
+0000418801 00000 n
+0000424678 00000 n
+0000420923 00000 n
+0000419055 00000 n
+0000421048 00000 n
+0000421112 00000 n
+0000421177 00000 n
+0000421241 00000 n
+0000421306 00000 n
+0000421371 00000 n
+0000421436 00000 n
+0000421501 00000 n
+0000421566 00000 n
+0000421631 00000 n
+0000421696 00000 n
+0000421761 00000 n
+0000421825 00000 n
+0000421890 00000 n
+0000421955 00000 n
+0000422020 00000 n
+0000422085 00000 n
+0000422150 00000 n
+0000422215 00000 n
+0000422280 00000 n
+0000422345 00000 n
+0000422409 00000 n
+0000422474 00000 n
+0000422539 00000 n
+0000422604 00000 n
+0000422669 00000 n
+0000422734 00000 n
+0000422799 00000 n
+0000422864 00000 n
+0000422929 00000 n
+0000422993 00000 n
+0000423058 00000 n
+0000423123 00000 n
+0000423188 00000 n
+0000423253 00000 n
+0000423318 00000 n
+0000423383 00000 n
+0000423448 00000 n
+0000423513 00000 n
+0000423577 00000 n
+0000423642 00000 n
+0000423707 00000 n
+0000423772 00000 n
+0000423837 00000 n
+0000423902 00000 n
+0000423967 00000 n
+0000424032 00000 n
+0000424097 00000 n
+0000424161 00000 n
+0000424225 00000 n
+0000424290 00000 n
+0000424355 00000 n
+0000424420 00000 n
+0000424485 00000 n
+0000424550 00000 n
+0000424614 00000 n
+0000431011 00000 n
+0000428229 00000 n
+0000424868 00000 n
+0000428354 00000 n
+0000428418 00000 n
+0000428483 00000 n
+0000428547 00000 n
+0000428612 00000 n
+0000428677 00000 n
+0000428741 00000 n
+0000428806 00000 n
+0000428871 00000 n
+0000428936 00000 n
+0000429001 00000 n
+0000429066 00000 n
+0000429131 00000 n
+0000429196 00000 n
+0000429260 00000 n
+0000429325 00000 n
+0000429390 00000 n
+0000429455 00000 n
+0000429520 00000 n
+0000429585 00000 n
+0000429650 00000 n
+0000429715 00000 n
+0000429780 00000 n
+0000429845 00000 n
+0000429910 00000 n
+0000429975 00000 n
+0000430040 00000 n
+0000430105 00000 n
+0000430170 00000 n
+0000430235 00000 n
+0000430300 00000 n
+0000430364 00000 n
+0000430429 00000 n
+0000430494 00000 n
+0000430559 00000 n
+0000430624 00000 n
+0000430689 00000 n
+0000430753 00000 n
+0000430818 00000 n
+0000430883 00000 n
+0000430947 00000 n
+0000434029 00000 n
+0000437101 00000 n
+0000433856 00000 n
+0000431240 00000 n
+0000434187 00000 n
+0000434251 00000 n
+0000434316 00000 n
+0000434380 00000 n
+0000434445 00000 n
+0000434508 00000 n
+0000434573 00000 n
+0000434637 00000 n
+0000434702 00000 n
+0000434767 00000 n
+0000434832 00000 n
+0000434897 00000 n
+0000434962 00000 n
+0000435027 00000 n
+0000435092 00000 n
+0000435157 00000 n
+0000435222 00000 n
+0000435286 00000 n
+0000435351 00000 n
+0000435416 00000 n
+0000435481 00000 n
+0000435546 00000 n
+0000435611 00000 n
+0000435676 00000 n
+0000435741 00000 n
+0000435806 00000 n
+0000435870 00000 n
+0000435935 00000 n
+0000436000 00000 n
+0000436065 00000 n
+0000436130 00000 n
+0000436195 00000 n
+0000436260 00000 n
+0000436325 00000 n
+0000436390 00000 n
+0000436454 00000 n
+0000436519 00000 n
+0000436583 00000 n
+0000436648 00000 n
+0000436713 00000 n
+0000436777 00000 n
+0000436842 00000 n
+0000436907 00000 n
+0000436972 00000 n
+0000437037 00000 n
+0000433998 00000 n
+0000443034 00000 n
+0000439540 00000 n
+0000437369 00000 n
+0000439665 00000 n
+0000439729 00000 n
+0000439794 00000 n
+0000439858 00000 n
+0000439923 00000 n
+0000439988 00000 n
+0000440116 00000 n
+0000440180 00000 n
+0000440245 00000 n
+0000440310 00000 n
+0000440375 00000 n
+0000440440 00000 n
+0000440505 00000 n
+0000440570 00000 n
+0000440634 00000 n
+0000440699 00000 n
+0000440764 00000 n
+0000440829 00000 n
+0000440894 00000 n
+0000440959 00000 n
+0000441024 00000 n
+0000441089 00000 n
+0000441154 00000 n
+0000441217 00000 n
+0000441282 00000 n
+0000441347 00000 n
+0000441412 00000 n
+0000441477 00000 n
+0000441542 00000 n
+0000441607 00000 n
+0000441672 00000 n
+0000441736 00000 n
+0000441801 00000 n
+0000441866 00000 n
+0000441931 00000 n
+0000441996 00000 n
+0000442061 00000 n
+0000442126 00000 n
+0000442191 00000 n
+0000442256 00000 n
+0000442320 00000 n
+0000442385 00000 n
+0000442450 00000 n
+0000442515 00000 n
+0000442580 00000 n
+0000442645 00000 n
+0000442710 00000 n
+0000442775 00000 n
+0000442840 00000 n
+0000442904 00000 n
+0000442969 00000 n
+0000449156 00000 n
+0000445789 00000 n
+0000443211 00000 n
+0000445914 00000 n
+0000445978 00000 n
+0000446043 00000 n
+0000446108 00000 n
+0000446173 00000 n
+0000446238 00000 n
+0000446302 00000 n
+0000446367 00000 n
+0000446432 00000 n
+0000446497 00000 n
+0000446562 00000 n
+0000446627 00000 n
+0000446692 00000 n
+0000446757 00000 n
+0000446822 00000 n
+0000446887 00000 n
+0000446952 00000 n
+0000447016 00000 n
+0000447081 00000 n
+0000447146 00000 n
+0000447211 00000 n
+0000447276 00000 n
+0000447341 00000 n
+0000447406 00000 n
+0000447471 00000 n
+0000447536 00000 n
+0000447600 00000 n
+0000447665 00000 n
+0000447730 00000 n
+0000447795 00000 n
+0000447860 00000 n
+0000447925 00000 n
+0000447990 00000 n
+0000448055 00000 n
+0000448120 00000 n
+0000448185 00000 n
+0000448250 00000 n
+0000448315 00000 n
+0000448380 00000 n
+0000448445 00000 n
+0000448510 00000 n
+0000448574 00000 n
+0000448639 00000 n
+0000448704 00000 n
+0000448768 00000 n
+0000448833 00000 n
+0000448898 00000 n
+0000448963 00000 n
+0000449027 00000 n
+0000449092 00000 n
+0000884385 00000 n
+0000454968 00000 n
+0000452057 00000 n
+0000449346 00000 n
+0000452182 00000 n
+0000452246 00000 n
+0000452310 00000 n
+0000452375 00000 n
+0000452440 00000 n
+0000452505 00000 n
+0000452570 00000 n
+0000452635 00000 n
+0000452700 00000 n
+0000452764 00000 n
+0000452829 00000 n
+0000452894 00000 n
+0000452959 00000 n
+0000453024 00000 n
+0000453089 00000 n
+0000453154 00000 n
+0000453218 00000 n
+0000453283 00000 n
+0000453348 00000 n
+0000453413 00000 n
+0000453478 00000 n
+0000453543 00000 n
+0000453608 00000 n
+0000453673 00000 n
+0000453738 00000 n
+0000453803 00000 n
+0000453868 00000 n
+0000453932 00000 n
+0000453997 00000 n
+0000454062 00000 n
+0000454127 00000 n
+0000454192 00000 n
+0000454256 00000 n
+0000454321 00000 n
+0000454386 00000 n
+0000454451 00000 n
+0000454516 00000 n
+0000454581 00000 n
+0000454646 00000 n
+0000454710 00000 n
+0000454775 00000 n
+0000454840 00000 n
+0000454904 00000 n
+0000460687 00000 n
+0000457000 00000 n
+0000455171 00000 n
+0000457125 00000 n
+0000457189 00000 n
+0000457254 00000 n
+0000457318 00000 n
+0000457381 00000 n
+0000457446 00000 n
+0000457511 00000 n
+0000457576 00000 n
+0000457641 00000 n
+0000457706 00000 n
+0000457769 00000 n
+0000457834 00000 n
+0000457899 00000 n
+0000457964 00000 n
+0000458029 00000 n
+0000458093 00000 n
+0000458158 00000 n
+0000458223 00000 n
+0000458288 00000 n
+0000458353 00000 n
+0000458418 00000 n
+0000458483 00000 n
+0000458548 00000 n
+0000458613 00000 n
+0000458677 00000 n
+0000458742 00000 n
+0000458807 00000 n
+0000458872 00000 n
+0000458937 00000 n
+0000459002 00000 n
+0000459067 00000 n
+0000459132 00000 n
+0000459197 00000 n
+0000459261 00000 n
+0000459325 00000 n
+0000459390 00000 n
+0000459455 00000 n
+0000459520 00000 n
+0000459585 00000 n
+0000459650 00000 n
+0000459715 00000 n
+0000459780 00000 n
+0000459845 00000 n
+0000459910 00000 n
+0000459975 00000 n
+0000460040 00000 n
+0000460105 00000 n
+0000460170 00000 n
+0000460235 00000 n
+0000460300 00000 n
+0000460365 00000 n
+0000460429 00000 n
+0000460494 00000 n
+0000460559 00000 n
+0000460623 00000 n
+0000469171 00000 n
+0000466014 00000 n
+0000462518 00000 n
+0000460890 00000 n
+0000462643 00000 n
+0000462707 00000 n
+0000462772 00000 n
+0000462836 00000 n
+0000462901 00000 n
+0000462966 00000 n
+0000463031 00000 n
+0000463096 00000 n
+0000463161 00000 n
+0000463226 00000 n
+0000463291 00000 n
+0000463356 00000 n
+0000463420 00000 n
+0000463485 00000 n
+0000463550 00000 n
+0000463615 00000 n
+0000463680 00000 n
+0000463745 00000 n
+0000463810 00000 n
+0000463875 00000 n
+0000463940 00000 n
+0000464004 00000 n
+0000464068 00000 n
+0000464133 00000 n
+0000464197 00000 n
+0000464262 00000 n
+0000464327 00000 n
+0000464392 00000 n
+0000464457 00000 n
+0000464522 00000 n
+0000464587 00000 n
+0000464651 00000 n
+0000464716 00000 n
+0000464781 00000 n
+0000464846 00000 n
+0000464911 00000 n
+0000464976 00000 n
+0000465041 00000 n
+0000465106 00000 n
+0000465171 00000 n
+0000465235 00000 n
+0000465300 00000 n
+0000465365 00000 n
+0000465430 00000 n
+0000465495 00000 n
+0000465560 00000 n
+0000465625 00000 n
+0000465690 00000 n
+0000465755 00000 n
+0000465819 00000 n
+0000465884 00000 n
+0000465949 00000 n
+0000472569 00000 n
+0000468998 00000 n
+0000466178 00000 n
+0000469329 00000 n
+0000469393 00000 n
+0000469458 00000 n
+0000469523 00000 n
+0000469588 00000 n
+0000469653 00000 n
+0000469717 00000 n
+0000469782 00000 n
+0000469847 00000 n
+0000469912 00000 n
+0000469977 00000 n
+0000470105 00000 n
+0000470170 00000 n
+0000470235 00000 n
+0000470300 00000 n
+0000470365 00000 n
+0000470430 00000 n
+0000470495 00000 n
+0000470560 00000 n
+0000470625 00000 n
+0000470690 00000 n
+0000470753 00000 n
+0000470818 00000 n
+0000470883 00000 n
+0000470948 00000 n
+0000471013 00000 n
+0000471078 00000 n
+0000471143 00000 n
+0000471208 00000 n
+0000471273 00000 n
+0000471337 00000 n
+0000471402 00000 n
+0000471467 00000 n
+0000471532 00000 n
+0000471597 00000 n
+0000471662 00000 n
+0000471727 00000 n
+0000471792 00000 n
+0000471857 00000 n
+0000471921 00000 n
+0000471986 00000 n
+0000472051 00000 n
+0000472116 00000 n
+0000472181 00000 n
+0000472246 00000 n
+0000472311 00000 n
+0000472376 00000 n
+0000472441 00000 n
+0000472505 00000 n
+0000469140 00000 n
+0000477331 00000 n
+0000475004 00000 n
+0000472824 00000 n
+0000475129 00000 n
+0000475193 00000 n
+0000475258 00000 n
+0000475323 00000 n
+0000475386 00000 n
+0000475451 00000 n
+0000475516 00000 n
+0000475581 00000 n
+0000475646 00000 n
+0000475710 00000 n
+0000475775 00000 n
+0000475840 00000 n
+0000475905 00000 n
+0000475970 00000 n
+0000476035 00000 n
+0000476100 00000 n
+0000476164 00000 n
+0000476229 00000 n
+0000476294 00000 n
+0000476359 00000 n
+0000476424 00000 n
+0000476488 00000 n
+0000476552 00000 n
+0000476616 00000 n
+0000476681 00000 n
+0000476746 00000 n
+0000476811 00000 n
+0000476876 00000 n
+0000476941 00000 n
+0000477006 00000 n
+0000477071 00000 n
+0000477136 00000 n
+0000477201 00000 n
+0000477266 00000 n
+0000480059 00000 n
+0000483393 00000 n
+0000479886 00000 n
+0000477560 00000 n
+0000480217 00000 n
+0000480281 00000 n
+0000480345 00000 n
+0000480410 00000 n
+0000480475 00000 n
+0000480540 00000 n
+0000480605 00000 n
+0000480670 00000 n
+0000480735 00000 n
+0000480800 00000 n
+0000480865 00000 n
+0000480930 00000 n
+0000480994 00000 n
+0000481059 00000 n
+0000481124 00000 n
+0000481189 00000 n
+0000481254 00000 n
+0000481319 00000 n
+0000481384 00000 n
+0000481449 00000 n
+0000481514 00000 n
+0000481578 00000 n
+0000481643 00000 n
+0000481708 00000 n
+0000481773 00000 n
+0000481838 00000 n
+0000481903 00000 n
+0000481968 00000 n
+0000482032 00000 n
+0000482097 00000 n
+0000482162 00000 n
+0000482227 00000 n
+0000482292 00000 n
+0000482357 00000 n
+0000482422 00000 n
+0000482550 00000 n
+0000482615 00000 n
+0000482680 00000 n
+0000482745 00000 n
+0000482810 00000 n
+0000482875 00000 n
+0000482939 00000 n
+0000483004 00000 n
+0000483069 00000 n
+0000483134 00000 n
+0000483199 00000 n
+0000483264 00000 n
+0000483329 00000 n
+0000480028 00000 n
+0000489526 00000 n
+0000486223 00000 n
+0000483622 00000 n
+0000486348 00000 n
+0000486412 00000 n
+0000486477 00000 n
0000486541 00000 n
-0000484697 00000 n
-0000486666 00000 n
-0000486730 00000 n
-0000486794 00000 n
-0000486859 00000 n
-0000486924 00000 n
-0000486989 00000 n
-0000487054 00000 n
-0000487118 00000 n
-0000487183 00000 n
-0000487248 00000 n
-0000487313 00000 n
-0000487378 00000 n
-0000487443 00000 n
-0000487508 00000 n
-0000487573 00000 n
-0000487637 00000 n
-0000487702 00000 n
-0000487767 00000 n
-0000487832 00000 n
-0000487897 00000 n
-0000487961 00000 n
-0000488026 00000 n
-0000488091 00000 n
-0000488156 00000 n
-0000488221 00000 n
-0000488286 00000 n
-0000488351 00000 n
-0000488416 00000 n
-0000488480 00000 n
-0000488545 00000 n
-0000488610 00000 n
-0000488675 00000 n
-0000488740 00000 n
-0000488805 00000 n
-0000488870 00000 n
-0000488935 00000 n
-0000489000 00000 n
-0000489063 00000 n
-0000489128 00000 n
-0000489193 00000 n
-0000489258 00000 n
-0000489323 00000 n
-0000489388 00000 n
-0000489453 00000 n
-0000489518 00000 n
-0000489583 00000 n
-0000489647 00000 n
-0000489712 00000 n
-0000489777 00000 n
-0000489842 00000 n
-0000489907 00000 n
-0000489972 00000 n
-0000490037 00000 n
-0000490102 00000 n
-0000490167 00000 n
-0000490230 00000 n
-0000492896 00000 n
-0000496489 00000 n
-0000492723 00000 n
-0000490471 00000 n
-0000493054 00000 n
-0000493118 00000 n
-0000493183 00000 n
-0000493247 00000 n
-0000493312 00000 n
-0000493376 00000 n
-0000493441 00000 n
-0000493506 00000 n
-0000493571 00000 n
-0000493636 00000 n
-0000493701 00000 n
-0000493766 00000 n
-0000493831 00000 n
-0000493896 00000 n
-0000493960 00000 n
-0000494025 00000 n
-0000494090 00000 n
-0000494155 00000 n
-0000494220 00000 n
-0000494285 00000 n
-0000494350 00000 n
-0000494415 00000 n
-0000494480 00000 n
-0000494545 00000 n
-0000494610 00000 n
-0000494675 00000 n
-0000494740 00000 n
-0000494805 00000 n
-0000494870 00000 n
-0000494934 00000 n
-0000494999 00000 n
-0000495064 00000 n
-0000495192 00000 n
-0000495257 00000 n
-0000495322 00000 n
-0000495387 00000 n
-0000495452 00000 n
-0000495517 00000 n
-0000495582 00000 n
-0000495646 00000 n
-0000495711 00000 n
-0000495776 00000 n
-0000495841 00000 n
-0000495906 00000 n
-0000495971 00000 n
-0000496036 00000 n
-0000496101 00000 n
-0000496166 00000 n
-0000496230 00000 n
-0000496295 00000 n
-0000496360 00000 n
-0000496425 00000 n
-0000492865 00000 n
-0000503133 00000 n
-0000498857 00000 n
-0000496718 00000 n
-0000498982 00000 n
-0000499046 00000 n
-0000499111 00000 n
+0000486606 00000 n
+0000486671 00000 n
+0000486736 00000 n
+0000486801 00000 n
+0000486866 00000 n
+0000486931 00000 n
+0000486996 00000 n
+0000487060 00000 n
+0000487125 00000 n
+0000487190 00000 n
+0000487255 00000 n
+0000487320 00000 n
+0000487385 00000 n
+0000487450 00000 n
+0000487515 00000 n
+0000487580 00000 n
+0000487644 00000 n
+0000487709 00000 n
+0000487774 00000 n
+0000487839 00000 n
+0000487904 00000 n
+0000487969 00000 n
+0000488034 00000 n
+0000488099 00000 n
+0000488164 00000 n
+0000488228 00000 n
+0000488293 00000 n
+0000488358 00000 n
+0000488423 00000 n
+0000488488 00000 n
+0000488553 00000 n
+0000488618 00000 n
+0000488683 00000 n
+0000488748 00000 n
+0000488813 00000 n
+0000488878 00000 n
+0000488943 00000 n
+0000489007 00000 n
+0000489072 00000 n
+0000489137 00000 n
+0000489202 00000 n
+0000489267 00000 n
+0000489332 00000 n
+0000489397 00000 n
+0000489461 00000 n
+0000495439 00000 n
+0000491752 00000 n
+0000489729 00000 n
+0000491877 00000 n
+0000491941 00000 n
+0000492005 00000 n
+0000492069 00000 n
+0000492134 00000 n
+0000492199 00000 n
+0000492264 00000 n
+0000492328 00000 n
+0000492393 00000 n
+0000492458 00000 n
+0000492523 00000 n
+0000492588 00000 n
+0000492653 00000 n
+0000492718 00000 n
+0000492783 00000 n
+0000492848 00000 n
+0000492912 00000 n
+0000492977 00000 n
+0000493042 00000 n
+0000493107 00000 n
+0000493171 00000 n
+0000493236 00000 n
+0000493301 00000 n
+0000493365 00000 n
+0000493430 00000 n
+0000493495 00000 n
+0000493560 00000 n
+0000493625 00000 n
+0000493690 00000 n
+0000493755 00000 n
+0000493820 00000 n
+0000493885 00000 n
+0000493950 00000 n
+0000494014 00000 n
+0000494079 00000 n
+0000494144 00000 n
+0000494209 00000 n
+0000494274 00000 n
+0000494339 00000 n
+0000494404 00000 n
+0000494469 00000 n
+0000494534 00000 n
+0000494597 00000 n
+0000494662 00000 n
+0000494727 00000 n
+0000494792 00000 n
+0000494857 00000 n
+0000494922 00000 n
+0000494987 00000 n
+0000495052 00000 n
+0000495117 00000 n
+0000495181 00000 n
+0000495246 00000 n
+0000495311 00000 n
+0000495375 00000 n
+0000498110 00000 n
+0000501639 00000 n
+0000497937 00000 n
+0000495642 00000 n
+0000498268 00000 n
+0000498332 00000 n
+0000498397 00000 n
+0000498461 00000 n
+0000498526 00000 n
+0000498591 00000 n
+0000498656 00000 n
+0000498721 00000 n
+0000498786 00000 n
+0000498850 00000 n
+0000498915 00000 n
+0000498980 00000 n
+0000499045 00000 n
+0000499110 00000 n
0000499175 00000 n
0000499240 00000 n
0000499305 00000 n
0000499370 00000 n
-0000499435 00000 n
-0000499500 00000 n
-0000499565 00000 n
-0000499630 00000 n
-0000499695 00000 n
+0000499434 00000 n
+0000499499 00000 n
+0000499564 00000 n
+0000499629 00000 n
+0000499694 00000 n
0000499759 00000 n
0000499824 00000 n
0000499889 00000 n
@@ -20166,1125 +20053,1177 @@ xref
0000500214 00000 n
0000500279 00000 n
0000500343 00000 n
-0000500408 00000 n
-0000500473 00000 n
-0000500538 00000 n
-0000500603 00000 n
-0000500668 00000 n
-0000500733 00000 n
-0000500798 00000 n
-0000500863 00000 n
-0000500927 00000 n
-0000500992 00000 n
-0000501057 00000 n
-0000501122 00000 n
-0000501187 00000 n
-0000501252 00000 n
-0000501317 00000 n
-0000501382 00000 n
-0000501447 00000 n
-0000501511 00000 n
-0000501576 00000 n
-0000501641 00000 n
-0000501706 00000 n
-0000501771 00000 n
-0000501836 00000 n
-0000501901 00000 n
-0000501966 00000 n
-0000502031 00000 n
-0000502095 00000 n
-0000502160 00000 n
-0000502225 00000 n
-0000502290 00000 n
-0000502355 00000 n
-0000502420 00000 n
-0000502485 00000 n
-0000502550 00000 n
-0000502615 00000 n
-0000502679 00000 n
-0000502744 00000 n
-0000502809 00000 n
-0000502874 00000 n
-0000502939 00000 n
-0000503004 00000 n
-0000503069 00000 n
-0000509337 00000 n
-0000505841 00000 n
-0000503284 00000 n
-0000505966 00000 n
-0000506030 00000 n
-0000506095 00000 n
-0000506159 00000 n
-0000506224 00000 n
-0000506289 00000 n
-0000506354 00000 n
-0000506419 00000 n
-0000506484 00000 n
-0000506549 00000 n
-0000506614 00000 n
-0000506679 00000 n
-0000506743 00000 n
-0000506808 00000 n
-0000506873 00000 n
-0000506938 00000 n
-0000507003 00000 n
-0000507068 00000 n
-0000507133 00000 n
-0000507197 00000 n
-0000507262 00000 n
-0000507327 00000 n
-0000507392 00000 n
-0000507457 00000 n
-0000507522 00000 n
-0000507587 00000 n
-0000507652 00000 n
-0000507717 00000 n
-0000507781 00000 n
-0000507846 00000 n
-0000507911 00000 n
-0000507976 00000 n
-0000508040 00000 n
-0000508105 00000 n
-0000508170 00000 n
-0000508235 00000 n
-0000508300 00000 n
-0000508365 00000 n
-0000508430 00000 n
+0000500471 00000 n
+0000500536 00000 n
+0000500601 00000 n
+0000500666 00000 n
+0000500731 00000 n
+0000500796 00000 n
+0000500861 00000 n
+0000500926 00000 n
+0000500991 00000 n
+0000501055 00000 n
+0000501120 00000 n
+0000501185 00000 n
+0000501250 00000 n
+0000501315 00000 n
+0000501380 00000 n
+0000501445 00000 n
+0000501510 00000 n
+0000501575 00000 n
+0000498079 00000 n
+0000508318 00000 n
+0000504172 00000 n
+0000501868 00000 n
+0000504297 00000 n
+0000504361 00000 n
+0000504426 00000 n
+0000504491 00000 n
+0000504555 00000 n
+0000504620 00000 n
+0000504685 00000 n
+0000504750 00000 n
+0000504815 00000 n
+0000504880 00000 n
+0000504945 00000 n
+0000505010 00000 n
+0000505075 00000 n
+0000505139 00000 n
+0000505204 00000 n
+0000505269 00000 n
+0000505334 00000 n
+0000505399 00000 n
+0000505464 00000 n
+0000505529 00000 n
+0000505594 00000 n
+0000505659 00000 n
+0000505723 00000 n
+0000505788 00000 n
+0000505853 00000 n
+0000505918 00000 n
+0000505983 00000 n
+0000506048 00000 n
+0000506113 00000 n
+0000506178 00000 n
+0000506243 00000 n
+0000506308 00000 n
+0000506373 00000 n
+0000506438 00000 n
+0000506503 00000 n
+0000506568 00000 n
+0000506633 00000 n
+0000506698 00000 n
+0000506763 00000 n
+0000506828 00000 n
+0000506893 00000 n
+0000506957 00000 n
+0000507022 00000 n
+0000507087 00000 n
+0000507152 00000 n
+0000507217 00000 n
+0000507282 00000 n
+0000507347 00000 n
+0000507412 00000 n
+0000507477 00000 n
+0000507541 00000 n
+0000507606 00000 n
+0000507671 00000 n
+0000507736 00000 n
+0000507801 00000 n
+0000507866 00000 n
+0000507931 00000 n
+0000507996 00000 n
+0000508061 00000 n
+0000508125 00000 n
+0000508190 00000 n
+0000508254 00000 n
+0000884549 00000 n
+0000514458 00000 n
+0000510962 00000 n
0000508495 00000 n
-0000508560 00000 n
-0000508625 00000 n
-0000508690 00000 n
-0000508755 00000 n
-0000508820 00000 n
-0000508885 00000 n
-0000508950 00000 n
-0000509015 00000 n
-0000509079 00000 n
-0000509144 00000 n
-0000509209 00000 n
-0000509273 00000 n
-0000877698 00000 n
-0000514600 00000 n
-0000512014 00000 n
-0000509501 00000 n
-0000512139 00000 n
-0000512203 00000 n
-0000512268 00000 n
-0000512332 00000 n
-0000512397 00000 n
-0000512462 00000 n
-0000512590 00000 n
-0000512655 00000 n
-0000512720 00000 n
-0000512785 00000 n
-0000512850 00000 n
-0000512915 00000 n
-0000512979 00000 n
-0000513044 00000 n
-0000513109 00000 n
-0000513237 00000 n
-0000513302 00000 n
-0000513367 00000 n
-0000513432 00000 n
-0000513497 00000 n
-0000513562 00000 n
-0000513626 00000 n
-0000513691 00000 n
-0000513756 00000 n
-0000513821 00000 n
-0000513886 00000 n
-0000513951 00000 n
-0000514016 00000 n
-0000514080 00000 n
-0000514145 00000 n
-0000514210 00000 n
-0000514275 00000 n
-0000514340 00000 n
-0000514405 00000 n
-0000514470 00000 n
-0000514535 00000 n
-0000520527 00000 n
-0000517292 00000 n
-0000514803 00000 n
-0000517417 00000 n
-0000517481 00000 n
-0000517546 00000 n
-0000517611 00000 n
-0000517676 00000 n
-0000517741 00000 n
-0000517806 00000 n
-0000517871 00000 n
-0000517936 00000 n
-0000518001 00000 n
-0000518066 00000 n
-0000518130 00000 n
-0000518195 00000 n
-0000518260 00000 n
-0000518325 00000 n
-0000518390 00000 n
-0000518454 00000 n
-0000518519 00000 n
-0000518584 00000 n
-0000518649 00000 n
-0000518714 00000 n
-0000518779 00000 n
-0000518844 00000 n
-0000518909 00000 n
-0000518974 00000 n
-0000519037 00000 n
-0000519102 00000 n
-0000519167 00000 n
-0000519232 00000 n
-0000519297 00000 n
-0000519362 00000 n
-0000519427 00000 n
-0000519492 00000 n
-0000519557 00000 n
-0000519622 00000 n
-0000519686 00000 n
-0000519751 00000 n
-0000519816 00000 n
-0000519881 00000 n
-0000519946 00000 n
-0000520011 00000 n
-0000520076 00000 n
-0000520141 00000 n
-0000520206 00000 n
-0000520271 00000 n
-0000520336 00000 n
-0000520401 00000 n
-0000520465 00000 n
-0000526160 00000 n
-0000523252 00000 n
-0000520717 00000 n
-0000523377 00000 n
-0000523441 00000 n
-0000523506 00000 n
-0000523571 00000 n
-0000523636 00000 n
-0000523700 00000 n
-0000523765 00000 n
-0000523830 00000 n
-0000523895 00000 n
-0000523960 00000 n
-0000524025 00000 n
-0000524090 00000 n
-0000524155 00000 n
-0000524219 00000 n
-0000524284 00000 n
-0000524349 00000 n
-0000524414 00000 n
-0000524479 00000 n
-0000524544 00000 n
-0000524609 00000 n
-0000524674 00000 n
-0000524739 00000 n
-0000524804 00000 n
-0000524868 00000 n
-0000524933 00000 n
-0000525060 00000 n
-0000525123 00000 n
-0000525188 00000 n
-0000525253 00000 n
-0000525318 00000 n
-0000525383 00000 n
-0000525448 00000 n
-0000525513 00000 n
-0000525578 00000 n
-0000525643 00000 n
-0000525708 00000 n
-0000525772 00000 n
-0000525837 00000 n
-0000525902 00000 n
-0000525967 00000 n
-0000526032 00000 n
-0000526097 00000 n
-0000532145 00000 n
-0000528781 00000 n
-0000526350 00000 n
-0000528906 00000 n
-0000528970 00000 n
-0000529035 00000 n
-0000529099 00000 n
-0000529164 00000 n
-0000529229 00000 n
-0000529294 00000 n
-0000529359 00000 n
-0000529424 00000 n
-0000529489 00000 n
-0000529554 00000 n
-0000529619 00000 n
-0000529683 00000 n
-0000529748 00000 n
-0000529813 00000 n
-0000529878 00000 n
-0000529943 00000 n
-0000530008 00000 n
-0000530073 00000 n
-0000530138 00000 n
-0000530203 00000 n
-0000530267 00000 n
-0000530332 00000 n
-0000530397 00000 n
-0000530462 00000 n
-0000530527 00000 n
-0000530592 00000 n
-0000530657 00000 n
-0000530722 00000 n
-0000530787 00000 n
-0000530852 00000 n
-0000530917 00000 n
-0000530982 00000 n
-0000531047 00000 n
-0000531112 00000 n
-0000531177 00000 n
-0000531242 00000 n
-0000531307 00000 n
-0000531372 00000 n
-0000531437 00000 n
-0000531500 00000 n
-0000531565 00000 n
-0000531693 00000 n
-0000531758 00000 n
-0000531822 00000 n
-0000531887 00000 n
-0000531952 00000 n
-0000532017 00000 n
-0000532082 00000 n
-0000538050 00000 n
-0000535334 00000 n
-0000532335 00000 n
-0000535459 00000 n
-0000535523 00000 n
-0000535588 00000 n
-0000535652 00000 n
-0000535717 00000 n
-0000535781 00000 n
-0000535846 00000 n
-0000535911 00000 n
-0000535976 00000 n
-0000536040 00000 n
-0000536105 00000 n
-0000536170 00000 n
-0000536235 00000 n
-0000536300 00000 n
-0000536365 00000 n
-0000536430 00000 n
-0000536495 00000 n
-0000536559 00000 n
-0000536624 00000 n
-0000536689 00000 n
-0000536754 00000 n
-0000536818 00000 n
-0000536883 00000 n
-0000536948 00000 n
-0000537013 00000 n
-0000537078 00000 n
-0000537143 00000 n
-0000537208 00000 n
-0000537273 00000 n
-0000537338 00000 n
-0000537403 00000 n
-0000537468 00000 n
-0000537533 00000 n
-0000537598 00000 n
-0000537663 00000 n
-0000537728 00000 n
-0000537793 00000 n
-0000537857 00000 n
-0000537922 00000 n
-0000537986 00000 n
-0000544459 00000 n
-0000540898 00000 n
-0000538253 00000 n
-0000541023 00000 n
-0000541087 00000 n
-0000541152 00000 n
-0000541217 00000 n
-0000541281 00000 n
-0000541346 00000 n
-0000541411 00000 n
-0000541476 00000 n
-0000541541 00000 n
-0000541606 00000 n
-0000541671 00000 n
-0000541736 00000 n
-0000541801 00000 n
-0000541866 00000 n
-0000541931 00000 n
-0000541996 00000 n
-0000542060 00000 n
-0000542125 00000 n
-0000542190 00000 n
-0000542255 00000 n
-0000542320 00000 n
-0000542385 00000 n
-0000542450 00000 n
-0000542515 00000 n
-0000542580 00000 n
-0000542644 00000 n
-0000542709 00000 n
-0000542774 00000 n
-0000542839 00000 n
-0000542904 00000 n
-0000542969 00000 n
-0000543034 00000 n
-0000543099 00000 n
-0000543164 00000 n
-0000543229 00000 n
-0000543294 00000 n
-0000543359 00000 n
-0000543424 00000 n
-0000543489 00000 n
-0000543554 00000 n
-0000543619 00000 n
-0000543684 00000 n
-0000543749 00000 n
-0000543814 00000 n
-0000543879 00000 n
-0000543944 00000 n
-0000544008 00000 n
-0000544073 00000 n
-0000544138 00000 n
-0000544203 00000 n
-0000544268 00000 n
-0000544333 00000 n
-0000544397 00000 n
-0000550898 00000 n
-0000547725 00000 n
-0000544649 00000 n
-0000547850 00000 n
-0000547914 00000 n
-0000547979 00000 n
-0000548043 00000 n
-0000548108 00000 n
-0000548173 00000 n
-0000548238 00000 n
-0000548303 00000 n
-0000548368 00000 n
-0000548433 00000 n
-0000548498 00000 n
-0000548563 00000 n
-0000548628 00000 n
-0000548693 00000 n
-0000548758 00000 n
-0000548822 00000 n
-0000548887 00000 n
-0000548952 00000 n
-0000549017 00000 n
-0000549081 00000 n
-0000549146 00000 n
-0000549211 00000 n
-0000549276 00000 n
-0000549341 00000 n
-0000549406 00000 n
-0000549471 00000 n
-0000549536 00000 n
-0000549600 00000 n
-0000549665 00000 n
-0000549730 00000 n
-0000549795 00000 n
-0000549860 00000 n
-0000549925 00000 n
-0000549990 00000 n
-0000550055 00000 n
-0000550120 00000 n
-0000550185 00000 n
-0000550250 00000 n
-0000550315 00000 n
-0000550380 00000 n
-0000550445 00000 n
-0000550510 00000 n
-0000550575 00000 n
-0000550640 00000 n
-0000550705 00000 n
-0000550770 00000 n
-0000550834 00000 n
-0000557042 00000 n
-0000553612 00000 n
-0000551101 00000 n
-0000553737 00000 n
-0000553801 00000 n
-0000553866 00000 n
-0000553930 00000 n
-0000553995 00000 n
-0000554060 00000 n
-0000554125 00000 n
-0000554189 00000 n
-0000554254 00000 n
-0000554319 00000 n
-0000554384 00000 n
-0000554449 00000 n
-0000554514 00000 n
-0000554579 00000 n
-0000554644 00000 n
-0000554709 00000 n
-0000554774 00000 n
-0000554838 00000 n
-0000554903 00000 n
-0000554968 00000 n
-0000555033 00000 n
-0000555098 00000 n
-0000555163 00000 n
-0000555226 00000 n
-0000555291 00000 n
-0000555355 00000 n
-0000555420 00000 n
-0000555485 00000 n
-0000555550 00000 n
-0000555615 00000 n
-0000555680 00000 n
-0000555745 00000 n
-0000555810 00000 n
-0000555875 00000 n
-0000555940 00000 n
-0000556005 00000 n
-0000556069 00000 n
-0000556134 00000 n
-0000556199 00000 n
-0000556264 00000 n
-0000556329 00000 n
-0000556394 00000 n
-0000556459 00000 n
-0000556524 00000 n
-0000556589 00000 n
-0000556654 00000 n
-0000556719 00000 n
-0000556784 00000 n
-0000556849 00000 n
-0000556914 00000 n
-0000556978 00000 n
-0000563537 00000 n
-0000559327 00000 n
-0000557245 00000 n
-0000559452 00000 n
-0000559516 00000 n
-0000559581 00000 n
-0000559645 00000 n
-0000559710 00000 n
-0000559775 00000 n
-0000559840 00000 n
-0000559905 00000 n
-0000559970 00000 n
-0000560035 00000 n
-0000560100 00000 n
-0000560165 00000 n
-0000560229 00000 n
-0000560294 00000 n
-0000560359 00000 n
-0000560424 00000 n
-0000560489 00000 n
-0000560554 00000 n
-0000560619 00000 n
-0000560684 00000 n
-0000560749 00000 n
-0000560813 00000 n
-0000560878 00000 n
-0000560943 00000 n
-0000561008 00000 n
-0000561073 00000 n
-0000561138 00000 n
-0000561203 00000 n
-0000561268 00000 n
-0000561333 00000 n
-0000561397 00000 n
-0000561462 00000 n
-0000561527 00000 n
-0000561592 00000 n
-0000561657 00000 n
-0000561722 00000 n
-0000561787 00000 n
-0000561852 00000 n
-0000561917 00000 n
-0000561981 00000 n
-0000562046 00000 n
-0000562111 00000 n
-0000562176 00000 n
-0000562241 00000 n
-0000562306 00000 n
-0000562371 00000 n
-0000562436 00000 n
-0000562501 00000 n
-0000562566 00000 n
-0000562631 00000 n
-0000562696 00000 n
-0000562760 00000 n
-0000562825 00000 n
-0000562890 00000 n
-0000562955 00000 n
-0000563020 00000 n
-0000563085 00000 n
-0000563150 00000 n
-0000563215 00000 n
-0000563280 00000 n
-0000563344 00000 n
-0000563409 00000 n
-0000563473 00000 n
-0000569442 00000 n
-0000565879 00000 n
-0000563701 00000 n
-0000566004 00000 n
-0000566068 00000 n
-0000566133 00000 n
-0000566197 00000 n
-0000566262 00000 n
-0000566327 00000 n
-0000566392 00000 n
-0000566457 00000 n
-0000566522 00000 n
-0000566587 00000 n
-0000566652 00000 n
-0000566717 00000 n
-0000566781 00000 n
-0000566846 00000 n
-0000566911 00000 n
-0000566976 00000 n
-0000567041 00000 n
-0000567106 00000 n
-0000567171 00000 n
-0000567236 00000 n
-0000567301 00000 n
-0000567365 00000 n
-0000567430 00000 n
-0000567495 00000 n
-0000567560 00000 n
-0000567625 00000 n
-0000567690 00000 n
-0000567754 00000 n
-0000567819 00000 n
-0000567884 00000 n
-0000567949 00000 n
-0000568014 00000 n
-0000568079 00000 n
-0000568144 00000 n
-0000568209 00000 n
-0000568274 00000 n
-0000568339 00000 n
-0000568404 00000 n
-0000568469 00000 n
-0000568534 00000 n
-0000568599 00000 n
-0000568664 00000 n
-0000568729 00000 n
-0000568794 00000 n
-0000568858 00000 n
-0000568923 00000 n
-0000568988 00000 n
-0000569053 00000 n
-0000569118 00000 n
-0000569183 00000 n
-0000569248 00000 n
-0000569313 00000 n
-0000569378 00000 n
-0000877862 00000 n
-0000575287 00000 n
-0000571920 00000 n
-0000569619 00000 n
-0000572045 00000 n
-0000572109 00000 n
-0000572174 00000 n
-0000572239 00000 n
-0000572304 00000 n
-0000572369 00000 n
-0000572434 00000 n
-0000572499 00000 n
-0000572564 00000 n
-0000572629 00000 n
-0000572693 00000 n
-0000572758 00000 n
-0000572823 00000 n
-0000572888 00000 n
-0000572953 00000 n
-0000573018 00000 n
-0000573083 00000 n
-0000573148 00000 n
-0000573213 00000 n
-0000573277 00000 n
-0000573342 00000 n
-0000573407 00000 n
-0000573472 00000 n
-0000573537 00000 n
-0000573602 00000 n
-0000573667 00000 n
-0000573732 00000 n
-0000573797 00000 n
-0000573861 00000 n
-0000573926 00000 n
-0000573991 00000 n
-0000574056 00000 n
-0000574121 00000 n
-0000574186 00000 n
-0000574251 00000 n
-0000574316 00000 n
-0000574381 00000 n
-0000574445 00000 n
-0000574510 00000 n
-0000574575 00000 n
-0000574640 00000 n
-0000574705 00000 n
-0000574770 00000 n
-0000574835 00000 n
-0000574900 00000 n
-0000574965 00000 n
-0000575029 00000 n
-0000575094 00000 n
-0000575159 00000 n
-0000578611 00000 n
-0000577782 00000 n
-0000575531 00000 n
-0000577907 00000 n
-0000577971 00000 n
-0000578035 00000 n
-0000578099 00000 n
-0000578163 00000 n
-0000578227 00000 n
-0000578291 00000 n
-0000578355 00000 n
-0000578419 00000 n
-0000578483 00000 n
-0000578547 00000 n
-0000583005 00000 n
-0000583160 00000 n
-0000583315 00000 n
-0000583471 00000 n
-0000583630 00000 n
-0000583791 00000 n
-0000583952 00000 n
-0000584112 00000 n
-0000584268 00000 n
-0000584429 00000 n
-0000584590 00000 n
-0000584757 00000 n
-0000584924 00000 n
-0000585090 00000 n
-0000585251 00000 n
-0000594578 00000 n
-0000585979 00000 n
-0000582706 00000 n
-0000578788 00000 n
-0000585405 00000 n
-0000585469 00000 n
-0000585533 00000 n
-0000585597 00000 n
-0000585661 00000 n
-0000585725 00000 n
-0000585789 00000 n
-0000585916 00000 n
-0000582848 00000 n
-0000594734 00000 n
-0000594894 00000 n
-0000595061 00000 n
-0000595227 00000 n
-0000595387 00000 n
-0000595553 00000 n
-0000595719 00000 n
-0000595880 00000 n
-0000596040 00000 n
-0000596207 00000 n
-0000596373 00000 n
-0000596540 00000 n
-0000596706 00000 n
-0000596873 00000 n
-0000597033 00000 n
-0000597199 00000 n
-0000597366 00000 n
-0000597533 00000 n
-0000597693 00000 n
-0000597854 00000 n
-0000598010 00000 n
-0000598166 00000 n
-0000598326 00000 n
-0000598487 00000 n
-0000598647 00000 n
-0000598808 00000 n
-0000598968 00000 n
-0000599124 00000 n
-0000599284 00000 n
-0000599445 00000 n
-0000599606 00000 n
-0000599767 00000 n
-0000599928 00000 n
-0000600089 00000 n
-0000600246 00000 n
-0000600407 00000 n
-0000600569 00000 n
-0000600737 00000 n
-0000600904 00000 n
-0000601072 00000 n
-0000601240 00000 n
-0000601408 00000 n
-0000601576 00000 n
-0000601744 00000 n
-0000601912 00000 n
-0000602080 00000 n
-0000602249 00000 n
-0000602418 00000 n
-0000602587 00000 n
-0000602756 00000 n
-0000602925 00000 n
-0000603087 00000 n
-0000603254 00000 n
-0000603420 00000 n
-0000605196 00000 n
-0000603650 00000 n
-0000593919 00000 n
-0000586169 00000 n
-0000603586 00000 n
-0000594061 00000 n
-0000605364 00000 n
-0000605532 00000 n
-0000605699 00000 n
-0000605867 00000 n
-0000606034 00000 n
-0000606202 00000 n
-0000606423 00000 n
-0000604969 00000 n
-0000603788 00000 n
-0000606359 00000 n
-0000605111 00000 n
-0000873706 00000 n
-0000606679 00000 n
-0000873968 00000 n
-0000606706 00000 n
-0000873834 00000 n
-0000606799 00000 n
-0000607038 00000 n
-0000607063 00000 n
-0000619048 00000 n
-0000607291 00000 n
-0000607394 00000 n
-0000619290 00000 n
-0000620014 00000 n
-0000620248 00000 n
-0000633680 00000 n
-0000620564 00000 n
-0000620667 00000 n
-0000633914 00000 n
-0000634660 00000 n
-0000634886 00000 n
-0000645920 00000 n
-0000635033 00000 n
-0000635131 00000 n
-0000646160 00000 n
-0000646838 00000 n
-0000647069 00000 n
-0000648180 00000 n
-0000647124 00000 n
-0000647221 00000 n
-0000648423 00000 n
-0000649033 00000 n
-0000649237 00000 n
-0000649264 00000 n
-0000649291 00000 n
-0000651666 00000 n
-0000649483 00000 n
-0000649589 00000 n
-0000651914 00000 n
-0000652597 00000 n
-0000652807 00000 n
-0000662782 00000 n
-0000653420 00000 n
-0000653547 00000 n
-0000663022 00000 n
-0000664117 00000 n
-0000664321 00000 n
-0000666925 00000 n
-0000664522 00000 n
-0000664628 00000 n
-0000667172 00000 n
-0000667859 00000 n
-0000668069 00000 n
-0000669754 00000 n
-0000668182 00000 n
-0000668288 00000 n
-0000670003 00000 n
-0000670656 00000 n
-0000670867 00000 n
-0000676391 00000 n
-0000671220 00000 n
-0000671331 00000 n
-0000676635 00000 n
-0000677411 00000 n
-0000677616 00000 n
-0000685246 00000 n
-0000678074 00000 n
-0000678189 00000 n
-0000685486 00000 n
-0000686376 00000 n
-0000686579 00000 n
-0000687329 00000 n
-0000686613 00000 n
-0000686708 00000 n
-0000687568 00000 n
-0000688164 00000 n
-0000688366 00000 n
-0000694759 00000 n
-0000688823 00000 n
-0000688931 00000 n
-0000694999 00000 n
-0000695884 00000 n
-0000696088 00000 n
-0000698692 00000 n
-0000696278 00000 n
-0000696384 00000 n
-0000698935 00000 n
-0000699607 00000 n
-0000699811 00000 n
-0000701831 00000 n
-0000699925 00000 n
-0000700029 00000 n
-0000702073 00000 n
-0000702718 00000 n
-0000702923 00000 n
-0000705976 00000 n
-0000703214 00000 n
-0000703321 00000 n
-0000706216 00000 n
-0000706952 00000 n
-0000707156 00000 n
-0000714567 00000 n
-0000707621 00000 n
-0000707736 00000 n
-0000714808 00000 n
-0000715687 00000 n
-0000715892 00000 n
-0000715919 00000 n
-0000715980 00000 n
-0000716173 00000 n
-0000716414 00000 n
-0000716631 00000 n
-0000721353 00000 n
-0000716990 00000 n
-0000717096 00000 n
-0000721595 00000 n
-0000722373 00000 n
-0000722577 00000 n
-0000725385 00000 n
-0000722835 00000 n
-0000722941 00000 n
-0000725625 00000 n
-0000726324 00000 n
-0000726528 00000 n
-0000735798 00000 n
-0000727012 00000 n
-0000727131 00000 n
-0000736039 00000 n
-0000737037 00000 n
-0000737242 00000 n
-0000739252 00000 n
-0000737356 00000 n
-0000737460 00000 n
-0000739494 00000 n
-0000740140 00000 n
-0000740345 00000 n
-0000742861 00000 n
-0000740592 00000 n
-0000740698 00000 n
-0000743102 00000 n
-0000743807 00000 n
-0000744012 00000 n
-0000753526 00000 n
-0000744585 00000 n
-0000744717 00000 n
-0000753768 00000 n
-0000754769 00000 n
-0000754975 00000 n
-0000761813 00000 n
-0000755407 00000 n
-0000755519 00000 n
-0000762053 00000 n
-0000762911 00000 n
-0000763114 00000 n
-0000764163 00000 n
-0000763192 00000 n
-0000763292 00000 n
-0000764403 00000 n
-0000765025 00000 n
-0000765229 00000 n
-0000770355 00000 n
-0000765598 00000 n
-0000765713 00000 n
-0000770596 00000 n
-0000771385 00000 n
-0000771590 00000 n
-0000773149 00000 n
-0000771683 00000 n
-0000771784 00000 n
-0000773388 00000 n
-0000774014 00000 n
-0000774216 00000 n
-0000776453 00000 n
-0000774395 00000 n
-0000774501 00000 n
-0000776694 00000 n
-0000777363 00000 n
-0000777568 00000 n
-0000780111 00000 n
-0000777744 00000 n
-0000777851 00000 n
-0000780353 00000 n
-0000781038 00000 n
-0000781244 00000 n
-0000781342 00000 n
-0000782386 00000 n
-0000781420 00000 n
-0000781520 00000 n
-0000782627 00000 n
-0000783251 00000 n
-0000783456 00000 n
-0000785259 00000 n
-0000783567 00000 n
-0000783670 00000 n
-0000785501 00000 n
-0000786144 00000 n
-0000793321 00000 n
-0000786350 00000 n
-0000797639 00000 n
-0000793554 00000 n
-0000800702 00000 n
-0000797928 00000 n
-0000803919 00000 n
-0000800941 00000 n
-0000806539 00000 n
-0000804163 00000 n
-0000830201 00000 n
-0000806784 00000 n
-0000849343 00000 n
-0000830508 00000 n
-0000861305 00000 n
-0000849615 00000 n
-0000864673 00000 n
-0000861555 00000 n
-0000867446 00000 n
-0000864946 00000 n
-0000870391 00000 n
-0000867698 00000 n
-0000873420 00000 n
-0000870637 00000 n
-0000877989 00000 n
-0000878150 00000 n
-0000878232 00000 n
-0000878309 00000 n
-0000885618 00000 n
-0000886283 00000 n
-0000886952 00000 n
-0000887621 00000 n
-0000888287 00000 n
-0000888956 00000 n
-0000889624 00000 n
-0000890295 00000 n
-0000890959 00000 n
-0000891628 00000 n
-0000892297 00000 n
-0000892963 00000 n
-0000893632 00000 n
-0000894301 00000 n
-0000894966 00000 n
-0000895637 00000 n
-0000896305 00000 n
-0000896974 00000 n
-0000897640 00000 n
-0000898309 00000 n
-0000898978 00000 n
-0000899644 00000 n
-0000900313 00000 n
-0000900981 00000 n
-0000901652 00000 n
-0000902317 00000 n
-0000902986 00000 n
-0000903655 00000 n
-0000904321 00000 n
-0000904990 00000 n
-0000905659 00000 n
-0000906328 00000 n
-0000906996 00000 n
-0000907664 00000 n
-0000908333 00000 n
-0000908995 00000 n
-0000909664 00000 n
-0000910333 00000 n
-0000911002 00000 n
-0000911667 00000 n
-0000912338 00000 n
-0000913006 00000 n
-0000913672 00000 n
-0000914341 00000 n
-0000915010 00000 n
-0000915679 00000 n
-0000916345 00000 n
-0000917014 00000 n
-0000917682 00000 n
-0000918350 00000 n
-0000919019 00000 n
-0000919688 00000 n
-0000920357 00000 n
-0000921023 00000 n
-0000921692 00000 n
-0000922361 00000 n
-0000923026 00000 n
-0000923697 00000 n
-0000924365 00000 n
-0000925034 00000 n
-0000925700 00000 n
-0000926369 00000 n
-0000927038 00000 n
-0000927704 00000 n
-0000928373 00000 n
-0000929041 00000 n
-0000929712 00000 n
-0000930376 00000 n
-0000931045 00000 n
-0000931714 00000 n
-0000932376 00000 n
-0000933045 00000 n
-0000933714 00000 n
-0000934380 00000 n
-0000935048 00000 n
-0000935717 00000 n
-0000936386 00000 n
-0000937052 00000 n
-0000937687 00000 n
-0000938321 00000 n
-0000938953 00000 n
-0000939588 00000 n
-0000940223 00000 n
-0000940858 00000 n
-0000941490 00000 n
-0000942125 00000 n
-0000942759 00000 n
-0000943393 00000 n
-0000944028 00000 n
-0000944663 00000 n
-0000945298 00000 n
-0000945930 00000 n
-0000946565 00000 n
-0000947200 00000 n
-0000947831 00000 n
-0000948468 00000 n
-0000949102 00000 n
-0000949737 00000 n
-0000950369 00000 n
-0000951004 00000 n
-0000951639 00000 n
-0000952357 00000 n
-0000953155 00000 n
-0000953811 00000 n
-0000954472 00000 n
-0000955141 00000 n
-0000955916 00000 n
-0000956707 00000 n
-0000957622 00000 n
-0000958763 00000 n
-0000959052 00000 n
-0000959408 00000 n
-0000959761 00000 n
-0000960114 00000 n
-0000960304 00000 n
-0000960407 00000 n
-0000960447 00000 n
-0000960579 00000 n
+0000511087 00000 n
+0000511151 00000 n
+0000511216 00000 n
+0000511280 00000 n
+0000511345 00000 n
+0000511410 00000 n
+0000511475 00000 n
+0000511540 00000 n
+0000511605 00000 n
+0000511670 00000 n
+0000511735 00000 n
+0000511800 00000 n
+0000511864 00000 n
+0000511929 00000 n
+0000511994 00000 n
+0000512059 00000 n
+0000512124 00000 n
+0000512189 00000 n
+0000512254 00000 n
+0000512319 00000 n
+0000512384 00000 n
+0000512448 00000 n
+0000512513 00000 n
+0000512578 00000 n
+0000512643 00000 n
+0000512708 00000 n
+0000512773 00000 n
+0000512838 00000 n
+0000512903 00000 n
+0000512968 00000 n
+0000513032 00000 n
+0000513097 00000 n
+0000513162 00000 n
+0000513227 00000 n
+0000513292 00000 n
+0000513357 00000 n
+0000513422 00000 n
+0000513487 00000 n
+0000513551 00000 n
+0000513616 00000 n
+0000513681 00000 n
+0000513746 00000 n
+0000513811 00000 n
+0000513876 00000 n
+0000513941 00000 n
+0000514006 00000 n
+0000514071 00000 n
+0000514136 00000 n
+0000514201 00000 n
+0000514266 00000 n
+0000514331 00000 n
+0000514394 00000 n
+0000519996 00000 n
+0000517219 00000 n
+0000514622 00000 n
+0000517344 00000 n
+0000517408 00000 n
+0000517473 00000 n
+0000517537 00000 n
+0000517602 00000 n
+0000517667 00000 n
+0000517732 00000 n
+0000517797 00000 n
+0000517862 00000 n
+0000517988 00000 n
+0000518053 00000 n
+0000518118 00000 n
+0000518183 00000 n
+0000518248 00000 n
+0000518313 00000 n
+0000518378 00000 n
+0000518443 00000 n
+0000518508 00000 n
+0000518636 00000 n
+0000518700 00000 n
+0000518765 00000 n
+0000518830 00000 n
+0000518895 00000 n
+0000518960 00000 n
+0000519025 00000 n
+0000519090 00000 n
+0000519155 00000 n
+0000519220 00000 n
+0000519284 00000 n
+0000519349 00000 n
+0000519414 00000 n
+0000519479 00000 n
+0000519544 00000 n
+0000519609 00000 n
+0000519674 00000 n
+0000519738 00000 n
+0000519803 00000 n
+0000519868 00000 n
+0000519932 00000 n
+0000525951 00000 n
+0000522843 00000 n
+0000520199 00000 n
+0000522968 00000 n
+0000523032 00000 n
+0000523097 00000 n
+0000523162 00000 n
+0000523227 00000 n
+0000523292 00000 n
+0000523357 00000 n
+0000523421 00000 n
+0000523486 00000 n
+0000523551 00000 n
+0000523616 00000 n
+0000523681 00000 n
+0000523746 00000 n
+0000523811 00000 n
+0000523876 00000 n
+0000523941 00000 n
+0000524006 00000 n
+0000524071 00000 n
+0000524136 00000 n
+0000524201 00000 n
+0000524266 00000 n
+0000524330 00000 n
+0000524395 00000 n
+0000524460 00000 n
+0000524525 00000 n
+0000524590 00000 n
+0000524655 00000 n
+0000524720 00000 n
+0000524785 00000 n
+0000524850 00000 n
+0000524915 00000 n
+0000524980 00000 n
+0000525045 00000 n
+0000525110 00000 n
+0000525174 00000 n
+0000525239 00000 n
+0000525304 00000 n
+0000525369 00000 n
+0000525434 00000 n
+0000525499 00000 n
+0000525564 00000 n
+0000525629 00000 n
+0000525693 00000 n
+0000525758 00000 n
+0000525823 00000 n
+0000525887 00000 n
+0000531520 00000 n
+0000529384 00000 n
+0000526141 00000 n
+0000529509 00000 n
+0000529573 00000 n
+0000529638 00000 n
+0000529703 00000 n
+0000529768 00000 n
+0000529833 00000 n
+0000529898 00000 n
+0000529963 00000 n
+0000530028 00000 n
+0000530092 00000 n
+0000530157 00000 n
+0000530222 00000 n
+0000530287 00000 n
+0000530352 00000 n
+0000530417 00000 n
+0000530482 00000 n
+0000530547 00000 n
+0000530612 00000 n
+0000530677 00000 n
+0000530742 00000 n
+0000530807 00000 n
+0000530871 00000 n
+0000530936 00000 n
+0000531000 00000 n
+0000531065 00000 n
+0000531130 00000 n
+0000531195 00000 n
+0000531260 00000 n
+0000531325 00000 n
+0000531390 00000 n
+0000531455 00000 n
+0000536847 00000 n
+0000534193 00000 n
+0000531710 00000 n
+0000534318 00000 n
+0000534382 00000 n
+0000534447 00000 n
+0000534512 00000 n
+0000534640 00000 n
+0000534705 00000 n
+0000534770 00000 n
+0000534835 00000 n
+0000534900 00000 n
+0000534965 00000 n
+0000535030 00000 n
+0000535095 00000 n
+0000535160 00000 n
+0000535225 00000 n
+0000535290 00000 n
+0000535354 00000 n
+0000535419 00000 n
+0000535484 00000 n
+0000535549 00000 n
+0000535614 00000 n
+0000535679 00000 n
+0000535744 00000 n
+0000535809 00000 n
+0000535874 00000 n
+0000535939 00000 n
+0000536004 00000 n
+0000536069 00000 n
+0000536134 00000 n
+0000536199 00000 n
+0000536264 00000 n
+0000536329 00000 n
+0000536394 00000 n
+0000536459 00000 n
+0000536524 00000 n
+0000536589 00000 n
+0000536654 00000 n
+0000536718 00000 n
+0000536783 00000 n
+0000542822 00000 n
+0000539846 00000 n
+0000537024 00000 n
+0000539971 00000 n
+0000540035 00000 n
+0000540100 00000 n
+0000540164 00000 n
+0000540229 00000 n
+0000540294 00000 n
+0000540359 00000 n
+0000540424 00000 n
+0000540489 00000 n
+0000540554 00000 n
+0000540619 00000 n
+0000540684 00000 n
+0000540748 00000 n
+0000540813 00000 n
+0000540878 00000 n
+0000540943 00000 n
+0000541008 00000 n
+0000541073 00000 n
+0000541138 00000 n
+0000541203 00000 n
+0000541268 00000 n
+0000541332 00000 n
+0000541397 00000 n
+0000541462 00000 n
+0000541527 00000 n
+0000541592 00000 n
+0000541657 00000 n
+0000541722 00000 n
+0000541850 00000 n
+0000541915 00000 n
+0000541980 00000 n
+0000542045 00000 n
+0000542110 00000 n
+0000542175 00000 n
+0000542240 00000 n
+0000542305 00000 n
+0000542370 00000 n
+0000542433 00000 n
+0000542498 00000 n
+0000542563 00000 n
+0000542628 00000 n
+0000542693 00000 n
+0000542757 00000 n
+0000548732 00000 n
+0000545692 00000 n
+0000543012 00000 n
+0000545817 00000 n
+0000545881 00000 n
+0000545946 00000 n
+0000546010 00000 n
+0000546075 00000 n
+0000546140 00000 n
+0000546205 00000 n
+0000546270 00000 n
+0000546335 00000 n
+0000546400 00000 n
+0000546465 00000 n
+0000546530 00000 n
+0000546595 00000 n
+0000546660 00000 n
+0000546725 00000 n
+0000546788 00000 n
+0000546853 00000 n
+0000546918 00000 n
+0000546983 00000 n
+0000547048 00000 n
+0000547113 00000 n
+0000547178 00000 n
+0000547243 00000 n
+0000547308 00000 n
+0000547373 00000 n
+0000547438 00000 n
+0000547503 00000 n
+0000547568 00000 n
+0000547633 00000 n
+0000547698 00000 n
+0000547763 00000 n
+0000547826 00000 n
+0000547891 00000 n
+0000547956 00000 n
+0000548021 00000 n
+0000548086 00000 n
+0000548151 00000 n
+0000548216 00000 n
+0000548281 00000 n
+0000548346 00000 n
+0000548411 00000 n
+0000548476 00000 n
+0000548540 00000 n
+0000548605 00000 n
+0000548668 00000 n
+0000555219 00000 n
+0000551462 00000 n
+0000548935 00000 n
+0000551587 00000 n
+0000551651 00000 n
+0000551716 00000 n
+0000551780 00000 n
+0000551845 00000 n
+0000551910 00000 n
+0000551975 00000 n
+0000552040 00000 n
+0000552105 00000 n
+0000552170 00000 n
+0000552235 00000 n
+0000552300 00000 n
+0000552364 00000 n
+0000552429 00000 n
+0000552494 00000 n
+0000552559 00000 n
+0000552624 00000 n
+0000552689 00000 n
+0000552754 00000 n
+0000552819 00000 n
+0000552884 00000 n
+0000552949 00000 n
+0000553014 00000 n
+0000553079 00000 n
+0000553144 00000 n
+0000553209 00000 n
+0000553274 00000 n
+0000553339 00000 n
+0000553404 00000 n
+0000553469 00000 n
+0000553534 00000 n
+0000553599 00000 n
+0000553664 00000 n
+0000553729 00000 n
+0000553794 00000 n
+0000553859 00000 n
+0000553924 00000 n
+0000553989 00000 n
+0000554054 00000 n
+0000554119 00000 n
+0000554183 00000 n
+0000554248 00000 n
+0000554313 00000 n
+0000554378 00000 n
+0000554443 00000 n
+0000554508 00000 n
+0000554573 00000 n
+0000554638 00000 n
+0000554703 00000 n
+0000554768 00000 n
+0000554833 00000 n
+0000554898 00000 n
+0000554963 00000 n
+0000555027 00000 n
+0000555092 00000 n
+0000555157 00000 n
+0000561665 00000 n
+0000558427 00000 n
+0000555409 00000 n
+0000558552 00000 n
+0000558616 00000 n
+0000558681 00000 n
+0000558745 00000 n
+0000558810 00000 n
+0000558875 00000 n
+0000558940 00000 n
+0000559005 00000 n
+0000559070 00000 n
+0000559135 00000 n
+0000559200 00000 n
+0000559265 00000 n
+0000559330 00000 n
+0000559395 00000 n
+0000559460 00000 n
+0000559525 00000 n
+0000559590 00000 n
+0000559655 00000 n
+0000559720 00000 n
+0000559785 00000 n
+0000559850 00000 n
+0000559915 00000 n
+0000559980 00000 n
+0000560045 00000 n
+0000560110 00000 n
+0000560175 00000 n
+0000560240 00000 n
+0000560305 00000 n
+0000560370 00000 n
+0000560435 00000 n
+0000560500 00000 n
+0000560565 00000 n
+0000560630 00000 n
+0000560695 00000 n
+0000560760 00000 n
+0000560823 00000 n
+0000560888 00000 n
+0000560953 00000 n
+0000561018 00000 n
+0000561083 00000 n
+0000561148 00000 n
+0000561213 00000 n
+0000561278 00000 n
+0000561343 00000 n
+0000561407 00000 n
+0000561472 00000 n
+0000561537 00000 n
+0000561601 00000 n
+0000567827 00000 n
+0000564525 00000 n
+0000561868 00000 n
+0000564650 00000 n
+0000564714 00000 n
+0000564779 00000 n
+0000564844 00000 n
+0000564909 00000 n
+0000564973 00000 n
+0000565038 00000 n
+0000565103 00000 n
+0000565168 00000 n
+0000565233 00000 n
+0000565298 00000 n
+0000565363 00000 n
+0000565428 00000 n
+0000565493 00000 n
+0000565558 00000 n
+0000565623 00000 n
+0000565688 00000 n
+0000565753 00000 n
+0000565818 00000 n
+0000565883 00000 n
+0000565948 00000 n
+0000566013 00000 n
+0000566077 00000 n
+0000566142 00000 n
+0000566207 00000 n
+0000566272 00000 n
+0000566337 00000 n
+0000566402 00000 n
+0000566467 00000 n
+0000566531 00000 n
+0000566596 00000 n
+0000566661 00000 n
+0000566726 00000 n
+0000566791 00000 n
+0000566856 00000 n
+0000566921 00000 n
+0000566985 00000 n
+0000567050 00000 n
+0000567115 00000 n
+0000567180 00000 n
+0000567245 00000 n
+0000567310 00000 n
+0000567375 00000 n
+0000567440 00000 n
+0000567504 00000 n
+0000567569 00000 n
+0000567634 00000 n
+0000567699 00000 n
+0000567763 00000 n
+0000884713 00000 n
+0000574234 00000 n
+0000570024 00000 n
+0000568017 00000 n
+0000570149 00000 n
+0000570213 00000 n
+0000570278 00000 n
+0000570342 00000 n
+0000570407 00000 n
+0000570472 00000 n
+0000570537 00000 n
+0000570602 00000 n
+0000570667 00000 n
+0000570732 00000 n
+0000570797 00000 n
+0000570862 00000 n
+0000570926 00000 n
+0000570991 00000 n
+0000571056 00000 n
+0000571121 00000 n
+0000571186 00000 n
+0000571251 00000 n
+0000571316 00000 n
+0000571381 00000 n
+0000571446 00000 n
+0000571510 00000 n
+0000571575 00000 n
+0000571640 00000 n
+0000571705 00000 n
+0000571770 00000 n
+0000571835 00000 n
+0000571900 00000 n
+0000571965 00000 n
+0000572030 00000 n
+0000572094 00000 n
+0000572159 00000 n
+0000572224 00000 n
+0000572289 00000 n
+0000572354 00000 n
+0000572419 00000 n
+0000572484 00000 n
+0000572549 00000 n
+0000572614 00000 n
+0000572679 00000 n
+0000572744 00000 n
+0000572809 00000 n
+0000572873 00000 n
+0000572938 00000 n
+0000573003 00000 n
+0000573068 00000 n
+0000573133 00000 n
+0000573198 00000 n
+0000573263 00000 n
+0000573328 00000 n
+0000573393 00000 n
+0000573457 00000 n
+0000573522 00000 n
+0000573587 00000 n
+0000573652 00000 n
+0000573717 00000 n
+0000573782 00000 n
+0000573847 00000 n
+0000573912 00000 n
+0000573977 00000 n
+0000574041 00000 n
+0000574106 00000 n
+0000574170 00000 n
+0000580455 00000 n
+0000576765 00000 n
+0000574398 00000 n
+0000576890 00000 n
+0000576954 00000 n
+0000577019 00000 n
+0000577083 00000 n
+0000577148 00000 n
+0000577213 00000 n
+0000577278 00000 n
+0000577343 00000 n
+0000577408 00000 n
+0000577473 00000 n
+0000577538 00000 n
+0000577603 00000 n
+0000577667 00000 n
+0000577732 00000 n
+0000577797 00000 n
+0000577862 00000 n
+0000577927 00000 n
+0000577992 00000 n
+0000578057 00000 n
+0000578122 00000 n
+0000578187 00000 n
+0000578252 00000 n
+0000578316 00000 n
+0000578381 00000 n
+0000578446 00000 n
+0000578511 00000 n
+0000578576 00000 n
+0000578641 00000 n
+0000578706 00000 n
+0000578771 00000 n
+0000578836 00000 n
+0000578901 00000 n
+0000578965 00000 n
+0000579030 00000 n
+0000579095 00000 n
+0000579160 00000 n
+0000579225 00000 n
+0000579290 00000 n
+0000579355 00000 n
+0000579420 00000 n
+0000579485 00000 n
+0000579549 00000 n
+0000579614 00000 n
+0000579679 00000 n
+0000579743 00000 n
+0000579808 00000 n
+0000579873 00000 n
+0000579938 00000 n
+0000580003 00000 n
+0000580068 00000 n
+0000580133 00000 n
+0000580198 00000 n
+0000580263 00000 n
+0000580327 00000 n
+0000580391 00000 n
+0000585779 00000 n
+0000583129 00000 n
+0000580632 00000 n
+0000583254 00000 n
+0000583318 00000 n
+0000583383 00000 n
+0000583447 00000 n
+0000583512 00000 n
+0000583577 00000 n
+0000583642 00000 n
+0000583707 00000 n
+0000583772 00000 n
+0000583837 00000 n
+0000583902 00000 n
+0000583967 00000 n
+0000584031 00000 n
+0000584096 00000 n
+0000584161 00000 n
+0000584226 00000 n
+0000584291 00000 n
+0000584356 00000 n
+0000584421 00000 n
+0000584486 00000 n
+0000584551 00000 n
+0000584615 00000 n
+0000584680 00000 n
+0000584745 00000 n
+0000584810 00000 n
+0000584875 00000 n
+0000584940 00000 n
+0000585005 00000 n
+0000585070 00000 n
+0000585135 00000 n
+0000585199 00000 n
+0000585264 00000 n
+0000585329 00000 n
+0000585394 00000 n
+0000585459 00000 n
+0000585587 00000 n
+0000585651 00000 n
+0000585715 00000 n
+0000589859 00000 n
+0000590015 00000 n
+0000590170 00000 n
+0000590326 00000 n
+0000590486 00000 n
+0000590647 00000 n
+0000590807 00000 n
+0000590967 00000 n
+0000591123 00000 n
+0000591283 00000 n
+0000591444 00000 n
+0000591611 00000 n
+0000591777 00000 n
+0000591942 00000 n
+0000601102 00000 n
+0000592739 00000 n
+0000589569 00000 n
+0000586036 00000 n
+0000592101 00000 n
+0000592165 00000 n
+0000592229 00000 n
+0000592293 00000 n
+0000592357 00000 n
+0000592421 00000 n
+0000592484 00000 n
+0000592548 00000 n
+0000592675 00000 n
+0000589711 00000 n
+0000601258 00000 n
+0000601414 00000 n
+0000601574 00000 n
+0000601741 00000 n
+0000601908 00000 n
+0000602069 00000 n
+0000602236 00000 n
+0000602403 00000 n
+0000602564 00000 n
+0000602725 00000 n
+0000602892 00000 n
+0000603059 00000 n
+0000603226 00000 n
+0000603393 00000 n
+0000603560 00000 n
+0000603720 00000 n
+0000603886 00000 n
+0000604053 00000 n
+0000604220 00000 n
+0000604379 00000 n
+0000604540 00000 n
+0000604696 00000 n
+0000604850 00000 n
+0000605010 00000 n
+0000605169 00000 n
+0000605330 00000 n
+0000605488 00000 n
+0000605644 00000 n
+0000605805 00000 n
+0000605965 00000 n
+0000606126 00000 n
+0000606286 00000 n
+0000606447 00000 n
+0000606608 00000 n
+0000606765 00000 n
+0000606927 00000 n
+0000607089 00000 n
+0000607257 00000 n
+0000607424 00000 n
+0000607592 00000 n
+0000607760 00000 n
+0000607927 00000 n
+0000608095 00000 n
+0000608262 00000 n
+0000608430 00000 n
+0000608598 00000 n
+0000608766 00000 n
+0000608935 00000 n
+0000609103 00000 n
+0000609272 00000 n
+0000609439 00000 n
+0000609600 00000 n
+0000609765 00000 n
+0000611850 00000 n
+0000609995 00000 n
+0000600452 00000 n
+0000592903 00000 n
+0000609931 00000 n
+0000600594 00000 n
+0000612018 00000 n
+0000612186 00000 n
+0000612353 00000 n
+0000612521 00000 n
+0000612688 00000 n
+0000612856 00000 n
+0000613023 00000 n
+0000613192 00000 n
+0000613413 00000 n
+0000611605 00000 n
+0000610133 00000 n
+0000613349 00000 n
+0000611747 00000 n
+0000880557 00000 n
+0000613669 00000 n
+0000880819 00000 n
+0000613696 00000 n
+0000880685 00000 n
+0000613789 00000 n
+0000614028 00000 n
+0000614053 00000 n
+0000626038 00000 n
+0000614281 00000 n
+0000614384 00000 n
+0000626280 00000 n
+0000627004 00000 n
+0000627238 00000 n
+0000640670 00000 n
+0000627554 00000 n
+0000627657 00000 n
+0000640904 00000 n
+0000641650 00000 n
+0000641876 00000 n
+0000652910 00000 n
+0000642023 00000 n
+0000642121 00000 n
+0000653150 00000 n
+0000653828 00000 n
+0000654059 00000 n
+0000655170 00000 n
+0000654114 00000 n
+0000654211 00000 n
+0000655413 00000 n
+0000656023 00000 n
+0000656227 00000 n
+0000656254 00000 n
+0000656281 00000 n
+0000658656 00000 n
+0000656473 00000 n
+0000656579 00000 n
+0000658904 00000 n
+0000659587 00000 n
+0000659797 00000 n
+0000669756 00000 n
+0000660413 00000 n
+0000660544 00000 n
+0000669996 00000 n
+0000671088 00000 n
+0000671292 00000 n
+0000673896 00000 n
+0000671493 00000 n
+0000671599 00000 n
+0000674143 00000 n
+0000674830 00000 n
+0000675040 00000 n
+0000676725 00000 n
+0000675153 00000 n
+0000675259 00000 n
+0000676974 00000 n
+0000677627 00000 n
+0000677838 00000 n
+0000683362 00000 n
+0000678191 00000 n
+0000678302 00000 n
+0000683606 00000 n
+0000684382 00000 n
+0000684587 00000 n
+0000692217 00000 n
+0000685045 00000 n
+0000685160 00000 n
+0000692457 00000 n
+0000693347 00000 n
+0000693550 00000 n
+0000694300 00000 n
+0000693584 00000 n
+0000693679 00000 n
+0000694539 00000 n
+0000695135 00000 n
+0000695337 00000 n
+0000701730 00000 n
+0000695794 00000 n
+0000695902 00000 n
+0000701970 00000 n
+0000702855 00000 n
+0000703059 00000 n
+0000705663 00000 n
+0000703249 00000 n
+0000703355 00000 n
+0000705906 00000 n
+0000706578 00000 n
+0000706782 00000 n
+0000708802 00000 n
+0000706896 00000 n
+0000707000 00000 n
+0000709044 00000 n
+0000709689 00000 n
+0000709894 00000 n
+0000712947 00000 n
+0000710185 00000 n
+0000710292 00000 n
+0000713187 00000 n
+0000713923 00000 n
+0000714127 00000 n
+0000721389 00000 n
+0000714591 00000 n
+0000714706 00000 n
+0000721630 00000 n
+0000722511 00000 n
+0000722716 00000 n
+0000722743 00000 n
+0000722804 00000 n
+0000722997 00000 n
+0000723238 00000 n
+0000723455 00000 n
+0000728177 00000 n
+0000723814 00000 n
+0000723920 00000 n
+0000728419 00000 n
+0000729197 00000 n
+0000729401 00000 n
+0000732209 00000 n
+0000729659 00000 n
+0000729765 00000 n
+0000732449 00000 n
+0000733148 00000 n
+0000733352 00000 n
+0000742622 00000 n
+0000733836 00000 n
+0000733955 00000 n
+0000742863 00000 n
+0000743861 00000 n
+0000744066 00000 n
+0000746076 00000 n
+0000744180 00000 n
+0000744284 00000 n
+0000746318 00000 n
+0000746964 00000 n
+0000747169 00000 n
+0000749685 00000 n
+0000747416 00000 n
+0000747522 00000 n
+0000749926 00000 n
+0000750631 00000 n
+0000750836 00000 n
+0000760224 00000 n
+0000751405 00000 n
+0000751537 00000 n
+0000760466 00000 n
+0000761464 00000 n
+0000761670 00000 n
+0000768508 00000 n
+0000762102 00000 n
+0000762214 00000 n
+0000768748 00000 n
+0000769606 00000 n
+0000769809 00000 n
+0000770858 00000 n
+0000769887 00000 n
+0000769987 00000 n
+0000771098 00000 n
+0000771720 00000 n
+0000771924 00000 n
+0000777050 00000 n
+0000772293 00000 n
+0000772408 00000 n
+0000777291 00000 n
+0000778080 00000 n
+0000778285 00000 n
+0000779844 00000 n
+0000778378 00000 n
+0000778479 00000 n
+0000780083 00000 n
+0000780709 00000 n
+0000780911 00000 n
+0000783148 00000 n
+0000781090 00000 n
+0000781196 00000 n
+0000783389 00000 n
+0000784058 00000 n
+0000784263 00000 n
+0000786956 00000 n
+0000784463 00000 n
+0000784570 00000 n
+0000787198 00000 n
+0000787889 00000 n
+0000788095 00000 n
+0000788193 00000 n
+0000789237 00000 n
+0000788271 00000 n
+0000788371 00000 n
+0000789478 00000 n
+0000790102 00000 n
+0000790307 00000 n
+0000792110 00000 n
+0000790418 00000 n
+0000790521 00000 n
+0000792352 00000 n
+0000792995 00000 n
+0000800172 00000 n
+0000793201 00000 n
+0000804490 00000 n
+0000800405 00000 n
+0000807553 00000 n
+0000804779 00000 n
+0000810770 00000 n
+0000807792 00000 n
+0000813390 00000 n
+0000811014 00000 n
+0000837052 00000 n
+0000813635 00000 n
+0000856194 00000 n
+0000837359 00000 n
+0000868156 00000 n
+0000856466 00000 n
+0000871524 00000 n
+0000868406 00000 n
+0000874297 00000 n
+0000871797 00000 n
+0000877242 00000 n
+0000874549 00000 n
+0000880271 00000 n
+0000877488 00000 n
+0000884849 00000 n
+0000885010 00000 n
+0000885092 00000 n
+0000885169 00000 n
+0000892479 00000 n
+0000893144 00000 n
+0000893813 00000 n
+0000894482 00000 n
+0000895148 00000 n
+0000895817 00000 n
+0000896485 00000 n
+0000897156 00000 n
+0000897820 00000 n
+0000898489 00000 n
+0000899158 00000 n
+0000899824 00000 n
+0000900493 00000 n
+0000901162 00000 n
+0000901827 00000 n
+0000902498 00000 n
+0000903166 00000 n
+0000903835 00000 n
+0000904501 00000 n
+0000905170 00000 n
+0000905839 00000 n
+0000906505 00000 n
+0000907174 00000 n
+0000907842 00000 n
+0000908513 00000 n
+0000909178 00000 n
+0000909847 00000 n
+0000910516 00000 n
+0000911182 00000 n
+0000911851 00000 n
+0000912520 00000 n
+0000913189 00000 n
+0000913857 00000 n
+0000914525 00000 n
+0000915194 00000 n
+0000915856 00000 n
+0000916525 00000 n
+0000917194 00000 n
+0000917863 00000 n
+0000918528 00000 n
+0000919199 00000 n
+0000919867 00000 n
+0000920533 00000 n
+0000921202 00000 n
+0000921871 00000 n
+0000922540 00000 n
+0000923206 00000 n
+0000923875 00000 n
+0000924543 00000 n
+0000925211 00000 n
+0000925880 00000 n
+0000926549 00000 n
+0000927218 00000 n
+0000927884 00000 n
+0000928553 00000 n
+0000929222 00000 n
+0000929887 00000 n
+0000930558 00000 n
+0000931226 00000 n
+0000931895 00000 n
+0000932561 00000 n
+0000933230 00000 n
+0000933899 00000 n
+0000934565 00000 n
+0000935234 00000 n
+0000935902 00000 n
+0000936573 00000 n
+0000937237 00000 n
+0000937906 00000 n
+0000938575 00000 n
+0000939237 00000 n
+0000939906 00000 n
+0000940575 00000 n
+0000941241 00000 n
+0000941909 00000 n
+0000942578 00000 n
+0000943247 00000 n
+0000943913 00000 n
+0000944552 00000 n
+0000945187 00000 n
+0000945819 00000 n
+0000946454 00000 n
+0000947089 00000 n
+0000947724 00000 n
+0000948355 00000 n
+0000948992 00000 n
+0000949626 00000 n
+0000950258 00000 n
+0000950893 00000 n
+0000951528 00000 n
+0000952163 00000 n
+0000952795 00000 n
+0000953430 00000 n
+0000954064 00000 n
+0000954698 00000 n
+0000955333 00000 n
+0000955968 00000 n
+0000956603 00000 n
+0000957235 00000 n
+0000957870 00000 n
+0000958505 00000 n
+0000959213 00000 n
+0000960026 00000 n
+0000960681 00000 n
+0000961338 00000 n
+0000962009 00000 n
+0000962769 00000 n
+0000963557 00000 n
+0000964522 00000 n
+0000965659 00000 n
+0000965852 00000 n
+0000966208 00000 n
+0000966561 00000 n
+0000966914 00000 n
+0000967104 00000 n
+0000967207 00000 n
+0000967247 00000 n
+0000967379 00000 n
trailer
-<< /Size 4650 /Root 4648 0 R /Info 4649 0 R /ID [ <D64F3A26FAAB7864F77EB030AC63CA56> <D64F3A26FAAB7864F77EB030AC63CA56> ] >>
+<< /Size 4654 /Root 4652 0 R /Info 4653 0 R /ID [ <C8B3E43F752B280EC22277DF5BEE0C11> <C8B3E43F752B280EC22277DF5BEE0C11> ] >>
startxref
-961140
+967940
%%EOF
diff --git a/macros/luatex/latex/yamlvars/yamlvars.lua b/macros/luatex/latex/yamlvars/yamlvars.lua
index 29393bd5a1..b63dabeccb 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.lua
+++ b/macros/luatex/latex/yamlvars/yamlvars.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2023-12-08
+--% 2024-08-17
--% Copyright (C) 2021-2023 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -55,6 +55,7 @@ YAMLvars.setts.decstr = 'xfm' -- if in declaration key the value is a string (in
YAMLvars.setts.undeclared = false
YAMLvars.setts.overwrite = false
YAMLvars.setts.lowercase = false
+YAMLvars.setts.stripvars = true -- todo add this as an option accessible in latex
YAMLvars.setts.tabmidrule = 'midrule'
YAMLvars.setts.prcstring = true
YAMLvars.setts.xfm = {}
@@ -86,7 +87,7 @@ end
function YAMLvars.debugtalk(s, ss)
if YAMLvars.debug then
- pl.tex.help_wrt(s, ss)
+ pl.tex.wrth(s, ss)
end
end
@@ -100,7 +101,7 @@ end
function YAMLvars.xfm.markdown(var, val)
--return '\\begin{markdown} '..val..'\n \\end{markdown}'
- pl.tex.help_wrt(val, md)
+ pl.tex.wrth(val, md)
return [[begin markdown ..val..
par end markdown]]
@@ -206,6 +207,7 @@ function YAMLvars.dec.toggle(var, dft)
end
function YAMLvars.dec.length(var, dft)
+ dft = dft or '0pt'
tex.print('\\global\\newlength{\\'..var..'}')
YAMLvars.prc.length(var, dft)
end
@@ -337,7 +339,10 @@ function YAMLvars.declareYAMLvarsStr(y)
var = var:lower()
YAMLvars.varslowcase:append(var)
end
- YAMLvars.varspecs[var] = default_stuff()
+ if YAMLvars.setts.stripvars then -- todo move to a func for easier use
+ var = var:gsub("%s+", "")
+ end
+ YAMLvars.varspecs[var] = default_stuff() -- assign default specs of a variable to the current var
if type(specs) == 'string' then
if YAMLvars.setts.decstr == 'xfm' then specs = {xfm={specs}} end
if YAMLvars.setts.decstr == 'dft' then specs = {dft=specs} end
@@ -437,6 +442,9 @@ function YAMLvars.parseYAMLvarsStr(y)
if YAMLvars.varslowcase:contains(var:lower()) then
var = var:lower()
end
+ if YAMLvars.setts.stripvars then -- todo move to a func for easier use
+ var = var:gsub("%s+", "")
+ end
if YAMLvars.varspecs[var] == nil and YAMLvars.setts.undeclared then
YAMLvars.debugtalk(YAMLvars.setts, 'XYZ')
YAMLvars.varspecs[var] = default_stuff() -- if undeclared and allowing, add to varspec set to default xfm, prc, dft
diff --git a/macros/luatex/latex/yamlvars/yamlvars.pdf b/macros/luatex/latex/yamlvars/yamlvars.pdf
index 3a820bb148..ae8bb01507 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.pdf
+++ b/macros/luatex/latex/yamlvars/yamlvars.pdf
Binary files differ
diff --git a/macros/luatex/latex/yamlvars/yamlvars.sty b/macros/luatex/latex/yamlvars/yamlvars.sty
index 524b290f34..8bc387a0f5 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.sty
+++ b/macros/luatex/latex/yamlvars/yamlvars.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2023-12-08
+% 2024-08-17
% Copyright (C) 2021-2023 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -25,7 +25,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{yamlvars}[2023-12-08]
+\ProvidesPackage{yamlvars}[2024-08-17]
\RequirePackage{luacode}
\RequirePackage{etoolbox}
diff --git a/macros/luatex/latex/yamlvars/yamlvars.tex b/macros/luatex/latex/yamlvars/yamlvars.tex
index 3b00000feb..3e08dc883d 100644
--- a/macros/luatex/latex/yamlvars/yamlvars.tex
+++ b/macros/luatex/latex/yamlvars/yamlvars.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2023-12-08
+% 2024-08-17
% Copyright (C) 2021-2023 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -229,6 +229,7 @@ Rhead: \today
\end{parseYAMLvars}
\end{verbatim}
+Note: all whitespace is stripped from the variable name when parsing.
\section{xfm -- Transform Functions}
These functions accept two arguments: \texttt{(var, val)} where \texttt{var} is the variable (or key) and val is the value.
diff --git a/macros/texinfo/latest/htmlxref.cnf b/macros/texinfo/latest/htmlxref.cnf
index 3ef8642eab..c803a070a5 100644
--- a/macros/texinfo/latest/htmlxref.cnf
+++ b/macros/texinfo/latest/htmlxref.cnf
@@ -1,6 +1,6 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
-htmlxrefversion=2024-06-28.08; # UTC
+htmlxrefversion=2024-07-20.12; # UTC
# Copyright 2010-2024 Free Software Foundation, Inc.
#
@@ -300,6 +300,9 @@ emacs node ${EMACS}/html_node/emacs/
url mono ${EMACS}/html_mono/url.html
url node ${EMACS}/html_node/url/
#
+ use-package mono ${EMACS}/html_mono/use-package.html
+ use-package node ${EMACS}/html_node/use-package/
+ #
vhdl-mode mono ${EMACS}/html_mono/vhdl-mode.html
vhdl-mode node ${EMACS}/html_node/vhdl-mode/
#
@@ -656,7 +659,7 @@ pspp node ${GS}/pspp/manual/html_node/
pyconfigure mono ${GS}/pyconfigure/manual/pyconfigure.html
pyconfigure node ${GS}/pyconfigure/manual/html_node/
-R = https://cran.r-project.org/doc/manuals
+R = https://CRAN.R-project.org/doc/manuals
R-intro mono ${R}/R-intro.html
R-lang mono ${R}/R-lang.html
R-exts mono ${R}/R-exts.html