summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-01-14 03:01:17 +0000
committerNorbert Preining <norbert@preining.info>2023-01-14 03:01:17 +0000
commit1d1c448a4f84ba2f5329218a68e7fcadf62999e6 (patch)
tree728549f940a969183d39d82dbdfbf6bc50827200 /macros
parent68c4298fcb81029c78143b3d43802f9ec62d49a5 (diff)
CTAN sync 202301140301
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/ufrgscca/README.md7
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf1770
-rw-r--r--macros/latex/contrib/ufrgscca/doc/ufrgscca.tex9
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty11
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def29
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def6
-rw-r--r--macros/latex/contrib/ufrgscca/latex/ufrgscca.cls8
-rw-r--r--macros/luatex/generic/luakeys/documentation.tex123
-rw-r--r--macros/luatex/generic/luakeys/luakeys-debug.sty2
-rw-r--r--macros/luatex/generic/luakeys/luakeys.lua303
-rw-r--r--macros/luatex/generic/luakeys/luakeys.pdfbin427721 -> 425955 bytes
-rw-r--r--macros/luatex/generic/luakeys/luakeys.sty2
28 files changed, 1249 insertions, 1117 deletions
diff --git a/macros/latex/contrib/ufrgscca/README.md b/macros/latex/contrib/ufrgscca/README.md
index 64edb5206d..f3547a3c6c 100644
--- a/macros/latex/contrib/ufrgscca/README.md
+++ b/macros/latex/contrib/ufrgscca/README.md
@@ -118,9 +118,12 @@ The Current Maintainer of this work is Alceu Frigeri
-------------
## Changelog
+* Version 1.0.6 (this)
+ - added a package option: nonrequired (ref. internship, see documentation)
+ - documentation update
-* Version 1.0.5 (this)
- - added a package options yearsonly
+* Version 1.0.5
+ - added a package option: yearsonly
- added some forms (internship related, see documentation)
- added some coord related reports (see documentation)
- documentation update
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
index 6477e4130d..a0bce191fe 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf
@@ -263,25 +263,23 @@ endobj
endobj
236 0 obj
<<
-/Length 4399
+/Length 4398
/Filter /FlateDecode
>>
stream
-x]K6ϯQ]e>&؛lUgsIrhwk]釷~IQ=#R
-V,eI^TRj"D^&E+M_lWE>rdq7 UҔA03_unP#~ӏ;TJ|?Yjjm{ eRgm$"Iv›\qjgQI^QIݮ_Ii7zS]ׇhy6;5\_ԢnZ<:/k=u|lԢ~5mwV\;[UYA ćϏ;ꔔsR_1^?UOׁfߩuE^iۃidkqڬQj˸SCZn[DҶQVI4^MF?lT_tzx՚<]mnшuOۭ{
-ŗN桞/nH86)P( F !)ae6,lg~goI&Y"3٨vÊi" vM]RMtz6h{Gz-PR|g WeYgF-cVۍ%m;`3g
-m|rW#O0,/b?_iXlaיgۍkxe˥`-(3^Kfi,oY?.h)z,ZͲ,U<_:#Ϥy&ӓVe߰Ȫ, )Mո6+z Id%6*%jAAP;:U!aCIQ l(/h2~q98ʄ?s'a0yrTUg`st5i4*V<uVV~I}]TdܪLJDTz"L0j9-HRk#>]/qi"{F5q k1t</qaH ӳŹx|wnf@5HX*M%2ҌDzfU"jD,5R"J+XbW˯+1y{fV"Fˊh1GgA I(,G ?"7$/&'(.TX{<C\#+#w^m<- J}q*">ȧy!#1m1Y.q/u"euupW~ 'm}RϠ3MJ<bmݣ=~_77Yq| _ټ^Q~ݯs/t=OMNZAA',D%t|JJ9:Ys؇cUU tPB2S?Ukqc/ra(첼e>MSruz@*aavPs*l|j(<
-5ϒvEbf((sS\}M{=etW^sn<(̜Lq03]UT9)&&8¬p p 7,SIN`9wZILNq28>J. 
-7{I\o)]0vֆd6 V`- PÁ1Xa'rD3iLf:' q1N;\MX*b:urJ>*|ޮ[dC79ŇFg B
-vcB;} ]\ˣ)q{?ԁGaƃ0^CMyR nBnsvo?ˡԩ81, 
-
-pIE"e\-es*dY'{ NǎZ0HŒA
- # ̸*NKTg3܋W7d! V!uBAMjldY  A;Q”DN;,1jDj\+0Mi?HkҴE% !] R:=ESzsҙ#-٨ hHQ/5n)ZJƎiPa* c.^[DP]XSq5RODT8G8 U7Ӄ53@Lୂ0?CκKfwg</`7_y!0A(BnG{~= ,*Rؚ5jʿGYf=E: JSZeYTkAdml RjK(
-QY ,JN@`
- 83yWt
-'NS{8p5+0ActPE4~$˪Yo%pimAHMΑ6v 8ncw $o Aana BXp6f, BeA0fa0 {Tq@ >bZ
-FTMM଍`­BXD``Y``ٻޭKD3Y('|H~뀐<#*=dL'1Gi3'vE La0w !/2bD;XR^;ٌXgl41K(PYWv,2" "Ǧq !ܠ ci>d{Xv7vː +'K#\&'0nIfuԛeFjW$nNg2k  %$S`A6IX $bc B<6IY ,dD Brb6ήY,Og KC $i 8 IUP-5@]E`N BaqPEZ``ٻrB%E3d}N}LB4:(rgdvAPEu80QƄ C|[D uh1C<ĶhB2Sܮh/&#")ɉAHtv6liLKc̶Gad@usNEYrcAS4NQ6d#]7짣~{{3 瞯+Vfנ9]wa~Y%}Ǽ/g'_C70?7sX=9.$_UA_0"@UL`>,OYY]&rϚ*"ȳ1U!Hs
-4$ ;1I !H~ycCG,? $PdcLS1F /#!9 81!\L4,LbA`bNPr09\U c|,5.0XO{./X{ T43{9Y
+x]K6ϯQ]e>&؛lUgsIrhwk]釷~IQ=#R
+XbK#όjpa:0bY|uxnf@;7R  ,RiU"=3*e_lzV"sI)a_,q+B=3+ueEăNأQPHA A$c~S#~*,=|!.VEޑwb;F6UG%߸BWeS缍|֐בטQ,Ym:炲::+Nۈp~ᓶ>gPΦ%V16x֯~T,xRF/~l^OGW:C' ' RI^v:U>S{U9~ⱪ*sa~:Z(h!ȩӵ8Ճn_OZÂ0gQXvY^2?Bko~S9:= 00f;xQBMR6>
+jpgIQ;"|3)= \u͞pnj+\7P fN8DNFkTBtMqaVRF8`p
+)$'0ڜ`wR$l8Y l@c%QWLpYg
+Ok?_o-Cv#3Mу
+xzģ={{\a~
+cYg)lĚ_eriߣAZ"SSR%ΩfqLv Nd6]5%Wy`e(݊,F Xq %' 0Jw
+ S
+a&0vp]nen1,r)wi\˝lF}CrZ%nAb+J
+;AcQ|qLc8dfnO14Cf`2=_yW OWeHaGrrMADjv:irM}2#+dl73ٵAQr)Ap $B,R1Hr!y,}AH"!91g, AHC !mѴ@XrU@X`Mﮋ"FVs!B8("-KTw9A!쒍p^r['[&
+!y2 : (cB!-ɺLphb[i!?OnuCSwpb $I:َX;gl41Hfۍ#0B2 Ժ'",R_9ϱ )rl'~(
+ԮQ?=q=sW+kМ̮ûׂ0?ìc3/!Aޛ9WݜXmG*ʼn ¿sh N*&R0',.YgR*$9LcCt$<`1x!H| Ar#Cl A(1)F#d ٗcqƐ`R.b`Z`OWA0waAW Bh`(`؊``X*Y1FK }, =,RoaaCnapԙ=r,.dDevtTM8X
+e(Hޱ[la:v"A ǣ-"¶8Nl޿MB!=@g^=B"!4Vg&hâ a.hZ
endstream
endobj
177 0 obj
@@ -563,10 +561,16 @@ l@,t+¦01*3D?
T%&PO(kF~*N"2xF< UF?}&Di" 3C;Hc!
 9UgDۀfVĂc3{K7A6D hg,Aő#CViU8%,d=@V-!;Xp2O$(gs_[f8+6 : ̅QAG>
K7|5
- VKAEore좙@GŮ!kxm[bxC[kH)yƥRT,Pr˷fL4y]S[sΝ1ڇ=$a.A+8L"׵p߿6W5Txcoͳ>R6wr_;6;ý{.{2]ow'5z{;X!stq~ٵw,
-U~-xǞN @:D ;'*KvյO旣};`8޲R<<ؘkTے#lUoYCۂ*OaKw@ȼQuY=-*TaO?i&2ͱkSe+Q~6һ |\TiHdJ`_Od$+)quCKFOtȼd΃~>G&4:-?wNɗ4{
-/|`ܡG)puOOn ' on2cYOرJֹ)$ӽiIQU~jrA܂4oMa u
-BȹB$LUdV[Փ"@7** 9ǛuY/Rj~huuyt(hkS'ODF*bP\>/#}:G/4\udhh#+u(̸##mvfFiGgٱ.庌5D;/,, )H6bH3" jjbqI-5P",XBd Y2hs%zG'WetQFe(]]i^t[2lS&xߩ8Caܬ/2C)|FXڢǨv+*De5 ~mFgQ"tkk|^Dl'fNwFPy·<vA3^^d r8p*&\UAQ|^ L"Q'+,x]r-ٞ@6Fl_ca r5x? s3kj/qh7}%LWͲ1p8o5R2>-}ˇg۝fwpM=M/D׾^\ôF|QEu*ؖc_zxO;k?]Ƌ$*s%FUe.™6 c$(a+}NO& S3YkWLKgjK*>e>#&z:K~շu [Pqri 0/uV'7%d,-)mP!.ݣT>% VQ_V(3{p&^ԭ;U^-WVw>~}!O$)VC\i9{<EXz܎Vi#7~I\E%G9еʧ;;걅f5y}p5=]w mgĶ RU}j'؛ho};]qլW TE
+ VKAEore좙@GŮ!kxm[bxC[kH)yƥRT,Pr˷fL4y]S[sΝ1ڇ=$a.A+8L"׵p߿6W5Txcoͳ>R6wr_;6;ý{.{2]ow'5z{;X!stq~ٵw,
+'ؾ|0OOHoYXFvNlrԵl\?Cm}mM' \T0ӥOodި:tT Vןa HIص)ɲ̕(?JR
+*?F)ݖUm˪>{Nyc!s7(RN;4Tقlp,\.??Ds™k}z7oZ纸}ecLYy<m`\Fͳ]K+U^*`Jcr0vY;vv:}>Ƕo + *Qc<B(x>:\[ _
+Njۂ)OA!/\8/1xs;q5`-? +~$Z
+u lܧ̛A"_~9ɉuthg?:A^|sSGGh^Iý J_Px\||}
+50.̊(w#!ehgEaKKO`9Ɉ;~h;h+/C]McnTÖhܗ3Eÿ#2*&
+}!Y\x!eϪj2IA_b¿isiv:ҬJ)VX]?4::ҼXQ:V4
+"#
+P{Dw(wYHꗑbPthvE:2p4ё:BwdfEGݑ͌6B3#ݳXbqr]ƚUV
+Kp$1tQ5R$ʖel
endstream
endobj
276 0 obj
@@ -770,24 +774,30 @@ endobj
endobj
287 0 obj
<<
-/Length 4073
+/Length 4137
/Filter /FlateDecode
>>
stream
-x[KܸjY$4CX'dw
-AWPע?e,Z|q6p-z!p-8_]\ku_W
-QQ}`
-
-b\2-l«X%#"7G$07hPA"A=!R *_HhQf2 H󵈓4ZC3#@PR
-UFYc` TX  >l=rHi-jC:es0eTޙʮBSh8>@@ݚUnOU]+"
-P`!>ץgd5BomC/ytݑ+cUÞOjB iK-!>iy`嬨4T{w@2
-p4gsNgˑ噞iS2&PJ$ɺaʂ
-X9`ڡ+E
-Ҁeĸ<s0'G{cas̬i5<鍮I;\r Wޞy]E;W88Z]_,IQ+I
-"inw-{D7v *
-Q02~Ep4',">oxsä`9S룸[c|yڝ9,ܒG8F!mC>PY}/CR3 P 32s|48`mrUx:d<ғ:)(*㔨ϘeJNC}ɖ+1S!q:9n-K}C!/T%H3$>qẊF)GI1EDMAqbFRY(R1~.+g$UOV.'xnƼeXTE ,TI'\5]>\Kf,vHy^x~ ?\S, .D1X݃DQSmy} S08Y:mɩ65
-<|tp
-&ց8[zTn,0£}hdta"j3&; M)w. .ycj1up}Y4'~\rGYNr;FLZU-ThLWڧ*%2 W>QtI'8{x8vnĠHæ'g.\S5&-XmW^mŗɦ6~>#+I+f3ųlُ9dm>VlwMe\lgla<NS(۰w9<zf>zh0g'&URa&adAW`<EhI-bEV袍9{t|ÙPvFHPSAh~G{4 T0EPurf0'~ƻOS\$e6B}7bS̄HGUs+4-97lk^^E.\m"wSƂV_(?=,2Eu5}kՁMw̽"#KP~R PB>b1V3J1TY)?v8nǧNTꀧuJ|fFM;^]D(RD*JRHWZpトE&߬If]|)C:yw q@EYСlhjn'qI ?oW_
+x[o6_*@Zڢ{õ=C{Lۺ%W77ÛlЭ)"9p~af-Mt7E-8BhJ.8$[ܭ2WGuaՍI뾯Zd(35Bp2^*s/v0wSJîog.Mda弿-Wfog}f%EV_(lŖx^z N_5W2 +˫8rByՋ#iG_]^*oMg
+ABg B_%Je~*D/Rʢ7 2Xd=UYSzW<_a3PL)}}~xi"ԩ݃TB~O ^tT j^
+! -kC~,u֛("jsU!,rBUNrU=n<!Ay5 S+sFSYJbߓVfQF2~m uzҖea͕VTI47W|T:AxOK2T,mIʶ a7ywX&8(ꃡǹ{I.84Esh&zPn=KUɢP[4|5p%i
+\ f0Y/'싓k+k5|:O\\_#5؏\'\#+$*L pzp4
+nDoRH`nhѠ
+DzB!TtMd8k$C3#@JPR
+lscuh\mMW]<v< r$a&y;S7 ë9z҄kR~ے
+|z
+{M(Ӌݮ*k+:@E%]}'x۟+lfh ߃S(X`#ȃa[NGg4]wbu``RS5n;~h$+Jp4LB)"8uUh~WhVX(hagus 4$J%Α) !!~bi0LlAȚDiӣqy4b
+UؑorYK
+:JĹƸN<:cLuqADn~ls<zr)\ngn6ڷV+٘'00G*/w@WMc&æ3h<B
+99Óu
+#TJ0tnfMߖo!
+w?I5&`F9$%xS092zIph
+iedXsO+b.'I >bo&q <?a %s8 3 {9N.#K>!3bߝs
+g0kYǵ>9FǏBEU> Um}UP,P£}-[5Y>ADnȮlq,h
+<:߻yrI[<>h6+SW;/<|/䃛|:9NcǨqPWˮ@?k˦ý@(Z?lJhܔE]lmﶅ8nĠD]eOkG3\t&-Xw}mŷV~>#+I 'j&76^
+4tޏKf;d>V֬ly@ڬ'itf<sGr˾h¶x4D%c>wAPa992
+S %s(Gu$: ڭ Y3vej7PmI!B5VlQ=ZG`pVA ^ `Fϰɥ't v g ]9% :mݾдxֳ麢*nqjc+0]''I'&I1-Q4^)5v[h.Ȓ4j/OT$'kN%U 'bHtRj`{K]EK̟T};E=VQ&E
+&0S?WSP-kg**[O,'Q
endstream
endobj
286 0 obj
@@ -818,26 +828,26 @@ endobj
endobj
294 0 obj
<<
-/Length 3648
+/Length 3723
/Filter /FlateDecode
>>
stream
-xr]_PUY=HU*R@ D1
-8ߦLQ2 1Mǫ- `.z "T-Wy
-X<İP㑶]KF\)%Q zas6yh$Zw ЊM^geY{o\5"f6(7reNS~I R *7/08!qP_7h~HjaIcL8؛qFg${ycmjkm@*/Ys7N7e鞬4ٶf5ZE,{Q~˚=} #no{Oy ;aO !Ym~h*/mրs7S~qjaG7E+/,ylbź=m{6Eٞ{P),o^26.SqourfO%(!'TʲV^rҫEM M=lSFKknզZф[Ds;;M wcI)20qŎqsrnyl(O/3V)D]RVަo7Cwn &WX >I9;5FBju~Y W<E)ptx9l(',()i>^C gjq-Y뱺|n{yޒ";ᣕ~[o%1` M}ʻv'%L^1Τ-ʛr@q*pM!FEO#˝9X蝕Iusw!
-%ZTyS͐a{frȥ/~3֏Y(12V%C/c΀I҈@$3Ad'K7şܭo\sƀ
-@d<8 !bw ~yMӄ\jbstۏbcBxr}%w# >peGgɥqQkb )$L$^|)MVG# { M0s e򏋿 Lڂט:AӄS
-QāKMGSUC$%!,i9h@B[$75)x5q=ϵ&FIgJM91SU*U|=~W>=*&e&mRGnwE3U2Fs;XA1)Vٚ2_dLO%TQa|F9 ;Ow7) 0IR䶰L$H`$T\2Sy` |W2[ Q|<o_bxlF1\5h4.<a#i2T2ḋZ1L ̃%OqR{iFP1,͠}^imba2j5pkVd7f_k/+lWyyD¿|>2 I {a&zbT:9F`{4FVJ^Y<k#|x„}W}VO42EE؄9tV28+ 9+U4ȰpYW9+
-TLgHK?e-K0̼sx-a,.]+:W |HL<UX7پ7'K՛ƾd Ⱦ^bx~4;9,,ޢPwrvٙd{V #fy&'i4"FDpQә+q敻P˃Y~eIN߶&QEBa*2dMOja'LȧUIAQSѯyj|L&:,9ºކl [Up巪" ]¯ە2!a^+c;Mxo-wajn[7Ȫyfah eAn-aa!Srτog$)C"hmWlMfC6eU>$|"`\#imo4uWp3r IIaih:6gO&)AQ<޷Ɔ u]yw#@"\ۢqP´TaLJ
-j@B ˴F8 ;zיFNP%_<_S<0ؠK
-ZZ<d۝>5oQД'!S1*f4v {c>LPi״CZ}E#pڢE! .sHjPK!E:R%'w³
-rC<>[? ^N1H@G6_?ʆ6t
-ɄFJq3
-y&dkyI``!a-Ѐ1>t=Ю1D )ƑpbΓNY0Jg
-w:6 d+uss,gĜc1'Kcc2Uj@HK-_32v*X,p^vl+ 5 H_Zr`x0ڗ1;r7Lnކ2.c22>,c26-c#1$vน$5"b5KDG8]Ht$JYHRaLIq2ycg4I7nX.gcXlxϓyo@ףX*#H2b_
- u!Yrp&h I>"6NUBs/a6Ԕdui[,m97UPb̯f.F=5Lَ5]^ŤYgͪmUєM[CVPJͱKMڀÚք{
-梴DrKwJJ -PH@D1hwi"oם$f?v~Zm9LF=R`ƘX;wfmXspM1]?銭ou5W1zsm#?[' s
-ʝ'2޽S~46yͺ9M&utW!/#!HC@/O{ԣ @=]~#[$+Pp9^`fh JwH1DpD';9},=Y#4 M4,%)1Pŵաi+[Џ?~+|Slw;8o:s(s/F3
+xr}EC u]=8bf#h¢Ȏwg]4VSH;k?4Gwfee)Q}&u_]y-'({y(L#a$<CP.z_ݮH(M㡵W qioծr xwc}UU·m̫ \l:unLO?.Z(Ƒd B--w\wH49X0c"r"+{
+?7v|rP6)0X"ƥWqO tY x 8IO"
+ X369>].}[7o~~C,|!/$1Q{4,2ݙ8ຎS9
+% @רӝ?FNwag0c^hqQNtѢ&5])Q-tk]}jZ>,PyqFfJnI2C)Ma*cH
+دs%I
+#Iâa{W[$IƑH)O:],8uψB5t*i76"L6tk{R?tspΏ{JTxoZ-;w֡ vĒy艀)..3 2fJ7+S!
+o6?~(w`a9ó)Io|7؎pMV S57P]؅+8t@#vuR|۵N ѓ5wZ{H\] A}#on(Q
+JZ~up~U8Ĉ5<W;d
+2lvi87+<R;$iq"W>v
+^y*Dbf35gk9$3P!E[Tˋp;Ty\zGv3ӧ|8)y(?<\?ʦ5tb, `&1T*PH%2Z_Y-$Y}U3xW8MD@Re3cc~ux)R٦ 8N3 )Ɓ8V8jǩqf+ø
+][xkq[gɂYaw|X7lVjik,lj5M!bMOK†add୑Tj}ߢsz\!3'$IeHB+ U$PPsJ&湊b':s;rLYwo2 ICODpDgP1A Љ(QkDjFaϢ e"
+R~bkAd9(Q;
+pAޒZwpE
+ q&c$́3rktyBV|T6ɂw[1Or :y؇Gr9Q6b[~~34yΉt3.FS22cEdʈЮbo@s 5-z+u_ԃ YRZ5=T]3jS]H:{ Wi4z
+qØ!\ifv>eLN3ø}NŢ ԞݦjMMSCL4]- ME|1`b'aؒ {ѽwebF~yVɰaԲ T
+Dcxtך;XE$vQc(߻fS}|kٲDiYq[oAx%^TCsf[ {4̽!NB龲)wEl$nC(I?î~[\x62hM} ARC}1Hd6+ WUԇŸm·lh*T6 nu2ۢWϚ?=҃i>mܥ ]0,%)1z5ȵ bݑЏC`p>ϗxn|39d[sӇr|_r
endstream
endobj
293 0 obj
@@ -856,17 +866,17 @@ endobj
endobj
21 0 obj
<<
-/D [293 0 R /XYZ 141.732 571.439 null]
+/D [293 0 R /XYZ 141.732 542.885 null]
>>
endobj
25 0 obj
<<
-/D [293 0 R /XYZ 141.732 375.303 null]
+/D [293 0 R /XYZ 141.732 347.314 null]
>>
endobj
29 0 obj
<<
-/D [293 0 R /XYZ 141.732 211.19 null]
+/D [293 0 R /XYZ 141.732 183.764 null]
>>
endobj
292 0 obj
@@ -1736,24 +1746,26 @@ endobj
endobj
440 0 obj
<<
-/Length 2787
+/Length 2959
/Filter /FlateDecode
>>
stream
-xr8-TU bo;I*s{J@S %*$wk}e;-l6FGoOWF -)F#%42X 2݋DŽk:i埳b0n^G7BSx#k2+]`r=K8qѸ[%Zj}v08sy X=/1e覺84^eBumeݴ3ȓWoFkbᥠ~hʜbS7RZ%I摿3
-7ŗmtN1.-qTJ#2AH*l@
-"=I4=E
-ήMFŸhqF ,SYx
-&O0{LM6Zsqøh4Qm]Ѵewo% ks#]߂a*XeG G킰 ds޼{Sb'"IȻK< )xV4AHH*t2ѐGκ:cӁȹֈ*4}sz!#Cυ@3;D 1 CvdꐫA}̽SSD(q܋ P)=$g<}s_LȲI_f  ax8
--X(Wr
-i.wPT_c"n8߶]*cfku
-z[ٔ!w;?::Gֿ߼7^~T"Kl&=G%D$X"7l)]O
-2'4â
-Jg9&<Tu(sW}90Αb=IG9{ᶿ7Ye?Ee vlAdyƈ*ןN5,#i$S;Xm!UMW׾T):k_j1i^wBQ+} < BR&5Ƶ1}<SO}V]D>_!k?C)Wb[,[۶\:ֽ 4kΗ_$-N8%i˷hՙηR#
-ыUmi}*L-OGX^^ݯ˲j y<*Z99|c2
-|p[!y`8+sRF/n 6gxBn3v!;-eӊ@"b[nt}5~5Է<{7Hʹ.y{ۅTNVhA­m4SY8_ A?8{-PE6F)iO]H_yֵ_FϻW-i&u 5M?17uli껬
-;U৻,o {
-1Վl"2=#ޯyD|SEǘsGYlݯOatQ >5C?x=#[ۡ3Ğ6|wwjo9MޝC{ޞ!s-{k Y>L>EkJpk.;~7S=̴MXW%pcL}#̕vlߠ$O
+xMwH_-轨ӟ4$/s{J
+$.WX Ë%W8uA8?gbɨzێ`Wo`BSx#k2$$]n`rXryݍXՋ%âeko;&qfoUֺgpQ^o7v9ewS Ecsƛ ^H;P qMݴ15e3O^2")5B` Bh]tޥ$J!Ǜl{]F
+lΪ]\7Az
+Vk/)VpǯP 8Yu|84I<Ђ!RY
+~ U5O1g.b$eK#sѕ]U= }x}y7UB$JS囋h~h
+
+ 8<h*hw{
+!P*ijEP BpPlOvg+ȖUPvEm0 q"V{cn!nM!-BycGgМß067lUޖNbǡ*eQ0ĭ]t%邰Lsh8y
+R0%@!+ ?"iWywrʑ
+`tmٰm o,7-ʐ<)B,9^|U}Z }qfEwt\tZdCB5W77ۮDc3E6e(Β7uW_ rxb-l
+ɾNF;o" qN<a?M!Ȱ;vAf`䊸~\y-AuC
+dbX"c8 t8+-!KDfAxv8ѽ{+־-זu'e̚ӽW I{ARd2Һ7'ގ/&
+Q(GF/Vnz-PW[beNGX^7evgD^yT`}29|s2
+| 9+"V'ͳr!5UA~'$~aˮI'Qz
+NU+(4ԐW/?}N;~ȥwCڿBV>N[ywfL;MEu pJL!VIx͊#}u-[-y$|xՐ P[/fYu 6$_Yjݮo*T~25h4Z)VDu*Wd]<nMkce1ٓOom*>>1@G3bytAvq6٦HNU!VSsĩ#P݀؎<jއ,=ShH[
+c|F׼I~p:~7ew fh{9>{S;j#y66oPdnߝ:ɑg/~n:w
endstream
endobj
439 0 obj
@@ -1777,17 +1789,17 @@ endobj
endobj
73 0 obj
<<
-/D [439 0 R /XYZ 141.732 676.462 null]
+/D [439 0 R /XYZ 141.732 647.765 null]
>>
endobj
77 0 obj
<<
-/D [439 0 R /XYZ 141.732 396.312 null]
+/D [439 0 R /XYZ 141.732 367.81 null]
>>
endobj
81 0 obj
<<
-/D [439 0 R /XYZ 141.732 329.562 null]
+/D [439 0 R /XYZ 141.732 301.255 null]
>>
endobj
438 0 obj
@@ -3784,115 +3796,118 @@ endobj
endobj
658 0 obj
<<
-/Length1 2054
-/Length2 24346
+/Length1 2053
+/Length2 24334
/Length3 0
-/Length 25597
+/Length 25595
/Filter /FlateDecode
>>
stream
-xڴeT˺5ݝ܃{5= ]Bpwwwww ~Z;Gg=5{j̢`SޅM
-3geVZښ88Xظŝ&. P
-i}YJl%—ަ
-hO0MMc_6qc"cK&):ɢ_NA$S51r,q1yH_ܼ?ހd屈AF8zi-0c;"Ձa.Y`cfVIlG* 'rA<K8*.ቫ-,No8-cv,7D?&[Jd參h*XZƻdPn[,#=(ߩYjSS@4-2|CV2]P'[Z'ZyP\sH&,iIU1hj_\6*Tʊurk#Q
-7x+ZYik9~l/^>ZyB_0-{nE~抵1M/V{uԪV tPw@ NXFt諭< ^xf!+A ,⟞`M"6Ԅs,E@iNzhAWGd³~ލϦ!בſe#lK2叁S%0Dh$>~kėvt*FK;χL#}ª< .u
-#=u9.Tm/V>%Goќ?3ħt~r3:EwĻZ 5ZK|wp5$C&/٤-/
-=FEUC1=p fWr=u)>G}E=[ڀU8#=jT< Dvݠ)Ch!ۂJ i3;M5֨6 {gj8=Cً);꫱p!΅sΑ=ef{lX-zNs-s%r<çtQg +هs6w\&f04d9x'~LkC]CDLo,<!NLEZN+ݟS=R<<6U"[h$qq~:]ēoWPaD2Vy`D/qӘD.uk%lxc4DrZ^i'jj &#fZ5e}375W919OOZÔNYh
-a&?mY.&nS@N.:2&޹k*xRS=r4
-,jX$Dƽ/{_$ICdtܧ ˪庙
-[_%Za#&B #=ڊ 7.pg!=':n0Q惸l9yag/=X48s`QRg vھAZ D iBZA/4'J>c}촾OZ/>%ԍ Rý*eD2H?}̛ۙS(CΦ ׯø೺ /h}X$A|81P5"/IxRcY3Яj 飸EO{xA`K&,?
-& d}Xd37\ p, OT
-]Jp/M>YZ߉.|й8`]~~Y6m.)n x@؇ P[]n9ٝUkpx $8Bǃo"Y92p#ygz-o 5SP+Ui/_fSGSSQ,+bjOEWAEC8 ^&&؁.O-Oŵ0V*
-+g4;:Il59>9pWq
-tRP2)l[+~aUTrU/SjTK0Nv{a4VI)+{MB;HADR! G&J 7<_B3 y1Kl.'%^[\B7C֯p a``UdIGO.?L&D{: }OE&͑lOЧj Kaᬕ@tDe\|59VL*\#pc/7mgطVR6D.]<ZXCj&OgA%tV5_gȌ)Ksjy6RbFO {Xb'c^}?  Jժ-3~W]ʈ_b1%2RdU~>m9:O?[B^z[riwdٽSP|<mSY(7VHɥa0Ũ0Kx.g[6n3Av<(fۍ=\zvQK"e/bN)y!Ik`S:MAfFgruM2v=oU.\O!'*z38)QՕZThBfn/ p`2ƶnj2(0}vZ/֧nni<D{a
-Xk!T.<|Uj3j| :?=qe20Y]Hxށݵv12:kN1pݷN/rJv供Pt2LH6l62*znG,jGtc܀í h0/IF
->EoW1#L{>~/6?&,Mpo;@W#;tU'(kl֌xY+'1n+X,x6єC߲Nmztp.I!-zw1zr`cop|hb*lA#yM280.yzwWK&О&z$)I
-@ALE[Uh?nH">U)r4;-nT|27&Gx<ș&cDCЪ7RRy/y
-܆]AĘI}zQkpv{`L<+D
-JvhM7U!77^]mقʚ袈׬d7[`ӓX8J떐Ioɶԕl-CeQHQ/A3U`Y1&ߖQMX/1Um߇DP1q0HF!g>Oo# >F*
-_K(!ڻ=-1Cw ZݳnN")e᲍w'<7~O36I#mcYo,"J2C3
-jߜ#?B4/=|ݰ0SEpR–WH~5=sY0n_,LqmKՋh,"kdg&vGu̎|QT74 \ҾR+
-PYe۵ŊR1(c}Z4rxl~\3Jv1mEH},AfS3X
-<K5N=|I'ջwTzH$῀P& nOxnOa֍Z*
-8Xp4^LHѰW_A#Uвp\h=\ũeƄM!M)Kwz[&MpJŕEo"Ù!@74QA=O']K-<dUSNc6Y:.(D6(^?>"/pO/X F&'?3.!跇A`_O"eW#1
-,ǣ*ջZ4Pff?U~#˂Ƴ MFV%/Q_\g٬%F4'xw+qo?]~uBƵ]Ab$:zK#1pxUSRr>2wCjUE"E b15&W:eznX}"<͵%Q5O$Jrz8imǝ׈{/__QC!袓ĵf }X
-ؾD{7i527'su ~tTs3ܪzE}WJ)l7bq lYic
-g m*9X1fޒQ qM_匕9J0H;6YvdU+PumEߺw5]S
-wKq6(΀aQ@j1m%]FotÂObct411h+}2 /gKUt豹EkmZ9u)?Dל޷ÿ~O@Åx5N̷qSu\si# )PL\|I[|NyQ0l
-Leڷg܆:-Vk9L:xC/J&as\1qߍ궫"h1hZ4Hzb2]>w;I>Rj3 еnd 'QʙpDwd;Q>ŵGEB&o;V2sDvũ1k4TlomJ `mUQei_ǀLLG3}7=jse:㷲H`S}[Ib.alA/u
-3Z+UPbs/ #9V\Nf&ÆƷm|[_C쉍~i ^6ӃVvSNy5U>wasL+geTՏL8 ;p%_f9> 9 O}7YerQQz
-li)_Pq/k$]Nw%$;>bp]E!vw|THWk'CҶbmR<_XiIs-+)l65E벱L4];]pȻ$Ye")Cnqojz@/~y# I3G|^tV,?zyZf~wxEzЋ,d]#,Xh
-V#tTZC6%Z؅E$(xHӡ]KeOSٹ|Jvi'97WE˵e8$UO M7eQsr˓-BlMxT;ͲAIw -.3ѝ+
-$4Gs OaJK
-$TY E|q=WeSm=*z{;Wq|凪ym:z|ޗH;%DBj4t} J/8ጛ;jA\}xB%nQX7aB_/$CxAd||ƙU"u2V ۮ.x(m}3][xƓfoK=Vlc7mTܟ|C qq dzgg;TbÇQX_cWz'݁QKJ+9&q-3,XG>|ܝ 2~_8SbE.y)fkww_ a >JI6@dg"HfsbmM0ڸ*>4n ݷzo"_3VO=ZqX@\A k#TYL0*Su9]Pb>ʕv:BPZ`ĎPwΦ0Cs ;2_Y0m C k 2?`( )lL"<kWD!fB}}vꖼSMׅb- <>Z83<{Q۹$ڨοѭۭ LzMlP/|Hڡ"@M U4u_SWQN$9{{«E7lRX?$8"=p.eYcB|Rjh 5xUd9Z!A9gxD`]?~,2NG|KGǫmS"-xFG{'mkE`|k)6"g22(3+꠳;uH6 a0u*y
-#w^e$=Apj9f~H* Ѐ)g= f{"3nƎ P~8mn* ?Zг02
-F|bm#Fړ_ qT~" C Go Q'4κ =t&0j.GHvu*ҋ= hݱ==GϺӥALoQq
-CVkt:]вhQ*ͤCd 97enn~N-H d3^
-,Źz;^We֡n* >w7޵:
-oTqYhdfGOyC>ql'k;3l{,ƒ,cY$\t$ByA_`%,躚!skmaswg2 o8\*D`Fs},1aSP7E_YLS /iRݘ'مcp 7C58V8h#]䕪e#Y',i13REr<YĎO<\/I<NKOzfQ)pG/q/S8ٰx_2'>iOb@ӑ1&X1'cMANj]_Yi<'rY)4q"&B`<}~OhW&41+ф1<O$\% /]&A3;1
-+_^@I,iLo} x7X` `]
-J|<H.- ^߱Me-lBK;[*V.> `J~YK#"
-Q"5OfSt=B+alaÛNfΓIĩB;ult.:os=O?*8/Z;6
-~b&$Hn#]sYU]͠\ZKxQf C '>"O;$>+Ov)A3t5aQ\%>h׭-|$
-ܯwQ־ x"\[iQG'Ha+t<3O'dl0z9A+e#V)aeQ>7qH$ xB$DRXE9-v!~5}z^2alnbO6N6k }U " C?
-t1h&}s]4?5\]`.)(ؔK9ON
-v&`\ 0imcAF/(~S FοvT A^4ᬓW|3W9mPQu#]Lu
-tMd'l|ď q5`5ncZrR#zvLxxddV#?W6o+8[, r; 7
-p(EvDF+|\)ӫ-
-mnwNIOAR:| 0/Y;N.ruf "TWy\!7Йn#j>3L_k1?e\g7GR, 7RpUM̯]q{aC\K]qmѿk8F+` m
-yO#=b*DɀrG\3A祧5DWPO3iPZby;f}JQ#Q~Xvq< `zckO9&
-5wlZkÑR^]VQ\zY`.SsحŐZ+ȝF+
-#VK"Bō(bMq6cN]ǜa,Dֲ,[Nć܍`yMW5I3uĿr+fZ< ͚3] IK756/-zi9UU]i' 8eP3@3ٰe[Im>a`y"n%/Oʚž~,#WKl"<Ʀ=E3/O8''}(
-d:"ʯsc;ufҽ5+S#ߞFb.O<I*LG
-(%t3S_Vj۹EORs0/a$qz*LU3S0Ep#oC$. b.5mViv|8iT0V=qk{sNPXqņ,-pEU.JE , [QY.Y珊Xޏ.ϏkrV'N@/Xv
-Sq(ųd'q̽蕢Bjǐ6MFBU8ECKO s abz27X R(K 弪y<.F1PRؒ}.k͞/\^V6hqLR~ۓI8w \ٛ/"wP &C"wCFbLEɅ4r;{NpF)doNY7 $ )PB$gLAWBB~(aC;Aѡ8}7ed>DHxkC_V{++f5e2E`}eVZ*eI+Y ǟ*xO
-(nې`
--ToJ$3-l[vPFL̑V!Њ*7{
-;u cbj @-dA`9ZY7$0YZ!:X]1Į8a1 4}kȉ~j[6ɿ9n(KM^ԁ:0do/M{}fH#x=_%[jkO-̏I8quLN4&H
-FHOwmѦQ8V|m\_?dOiiNS- CNwJʯpTL;.U\ůDEi*No!19z3e-L:~ꓓ|X4?d(EHѓXT
-Sp[-S)!$Y/j G*{xv߰(Ƥ%ӕ2Vy[jq2>) m+I_TtyBvV @.$\
- FbMz25]C7~Lܻ8ټ&K{YqeLg'M)0҇ZR#Lu.du Ϥ^ȏn)oD$稝- Ne}DW>ޏҊbc*B$6ߧPE>6%k.z?H/!9G0XQЄJ@TS"x߃tst[TLyfdy/h\Y)3<C8a!X2QS!OJ V,@nЛzrOd&^yM(Tq<>$e QW7vl
-
-*Ip\22TEAFkmNS,`͞tD%ߒo9$ɟQA;{Ҙ#o`Jfe %MVjWo;Q~rzat)\n"K2G'_Nh4$Nfť1,/˅d4J btGtk<^43He" `$s$n5YVrɊ=, B*+񄉍.y{9=3ȶ?g, Q^<*~p3/uIVabv\~!b)&+Zt7^K Jɋخ*dm{Y4=\rHu~9kٗX66|X'2ŶHsN+@ZQ<Z}4,w9/`& 5/W.-247l9r Y%-4U[6DdupJll>3Xد~&a\A^'gCS`H8r sKp N8Ls=kuOnY9C"%@ R 3g\K\pSubzp}k #ZV]܋!Li$1̷o"eMuۍj
-#g-D
-xH1Gv0s4j_DnEfHTVY7X ,i!{@XR~u*GA6dWŴߍ3 %3 +S5#@]g.̗7b\hxxQ}C x2N#҃%U>SSY}/v߁Ä/#WCgUC4BajLV9 
-0xjvT"ĕ>UѪjk$2b\Ń;\`ROoqR{Eyl#;]j4Kۣҟx2[SSH~i[6ekYth E7r/T_U Bu#Ȗ>>ɑ[ڣ9>W\3 a<@. 2 o-N(J)8}3CA?:
-{~D+oq!쪆J 6ZV؎h=՚xAԙ= EV׬Ύ8vM:L>43^%k`I E)>AuhP"房됍E$RnCFa}N]gˁ"| P)aVЋ"<ʉS "PYrv79*?SWڼo0_346kZAA ̶_ RR
-W'
-\9w2bV
-PLܕxn bGw<37Bn֔a\;gݤVTXݳڂ>I2 <bY..Idu^f G\#&
-HNN6Y JrH[ϳt hG7 [NtY]!<üob}mGDL2z9=7"!Ft7[19hWDCu`
-N| z -Ej4tެJQӁe1llepdMpXLJHH3ow~)^$ɖ5xnp M:ӿ?׍p/P>g Оn&\H
-,gdZ,\|ԕmV]bh\Q>o y|8+~{ODN'm9UdqGC1)Cq`MtPdi2K0?d]?\aVV.hb3:n7eTq V'XUs<0]!%b{%OY3]6[y() qT"
-dvJǭq7?zؽP|l1ti@h)7_50sv-~4nT"3axt9d,p1Mx/hATtN7soe-$v%BZB-up*q%~%~f daH
-W#?J~ ЇY?xNA^5E$&o
-0 Olr5!p|J5;ּ2Zbm%{t1jϨ9rj:. &Xu:ptbLFRlH5ՎDzM_Myuhv)n՟>GTQF&#~p"E:R3 SiA[<ri{̝b-ȇ6Kr0pr$܁~2~mrK}īO^`sWJE|b/)5:@bmG,4j!䓢hP8zr`̀(z [{'
-i
-Fuv2 ͅw3p\x;SVBgmPx-+
-o&
->/h\HT?gd<чZGn>!vzj{@{!T" ՜0N N0LF|Q/$6r@R"=^{˕$4W?!`BD?gl|FH3$N@_56Uf8@lAzX. Zm/y#˽Aý|9@Nt~}teΉ%^[5?hC[Ru%H6[|u
-}ǩ`L@(wՌKU1 c6GD 3)v+3]K
-D~eZ`hI
-Ġmͳ#u" }{%u_~(n#Jj~vc!Yx(b;텼=݆dqlZ)TI7ENEv<mqR.g{əQ
-g(z_lj,]F]t's|Rĸc<&I3>{1bĶvvFFKg3}~Ƴ%<M8+Yu5=tRg<+<x
-̭@
-l1>`4m
-Hk2xZTu-b[ZiUÅ[1B.eէߎ;]԰VyG">/z.*bI,ēB%;5tޕ.9M<N޹0q@Sq(
-EA?x+1Z #] 89A$s u[лD؍L-D
-&4
- Ľ$/ xFzb_nD`gEDEC:?@_F3<4gʶGjvnl^ -ZK)47~}"sTk9pOuNnQyp 1aU`s |Iǒd+p@
-G)b&U(r `XŧZe'}G!b7q [S1)!MG|#!+m2"|-_r
-s
-dX
-|7Z|1\+?ةHK^0[e6t
-| لrIć6N},BM.YyEGrrc[]_N'ڽ|޽WN6G0/
+xڴcxۺ5V'c۶ӱ*m[ctlm}>{}޿ߕ+csT9
+P֙ +lgchA 4s6t032‘8 -lE
+)
+9U5
+ttQ|0G_
+@h$ncIv%1?58\YEEY3# `hB7A @OͿ }Lwe:Y89;]0ag,l K~ϖNc:E'$* dd0q?D*fk"bgc D->lmekfpZؚ= PJ?Lp
+xr2t]>^t'c
+
+ q7d `VN
+aaG6ǡe?h@v^tJ &Ώ%0GW_Ƈܟ
+2wyZ,z0X-:ǬFx!ӜK X3_0:Ѓ.٪wH,"ī@kBimߛ'6iQ'a}%iQ/J@E [@#ta !e jt6
+eVWb3NV )Dfޱ~cky+q$⊡ji }14.'Gm9*>_O":<XDo ֤=8T b v)̷NҠ1|r)/{jx>yGҘiFRnHIDGme?j|$O(J)BҠ"
+ALj;S9N:`/P .JX ~i=Bj6 .=jp .x^O5*ff~?5mY?^ĮavXςf)!zJ<7ǿ)':9ξ?7n:2/?D(K du#z¥ .#S5%\xsJ :&S1W͆]|6x|sq Io8=^d_@[gpL62?> LG u61~V_[rj49>}^,g~qӻKQ C@@e|Sj -ux4je/àr Y84> L$@RJaeAץ7 =Yh'X=YWyO.v_\t$Ƚ =_D `jq?6!J0M7\rcY$C8P-L׈ୄcM6
+zy!4[^thWZqbh%*} +I{y@Beҭ+5UG#wo c< d0 79;oN|x.0!Ch};=23w9 C3Ė; j9 !Νooi]UH(b=ARk
+0ḓ-)YP<\ Qo)`h# γ$>Jp%{؍'uR.d0i+yBĦ[~ȟ b6hdG N02eL >_6%dK!I
+$R<fLaˀ,FR7w8X_׭c@ w
+qn#gqa}Qi HnQ6ɷ 3%V)L4T{¼ޔ!]te<N T}/ owDiI#38sL2L^*
+. 3!,̏faF}pEE"$HaLbhC+F'|xf
+\3擬{`~ 6:GگzҰE$zaKCLDn/Ej`i$Xr#pl&3Hp*[`<DgS>p܆/;{P,9P@
+ #]L[ |PR>xe'Ŗ7@` vUtT X\dN~s`Avv/HD&Y)PDqxg֝qМz5 Nup\uc7#U;{-%I;]`GWCοȤ$n17iuR-~O8҂8=N$8Q..x3ՄE-Axp
+La9JRz~ׂ^ճe9$-a?I;{Nݦ~$u;tG74Y'3PXco(хg'Vy^^K( L\b I5hq^OA{yK'7c9 "B Btcn͉7¶l3AKgpIT:B8&5 rV3!aFk8y{رe;&)w_O)FK4%WfG_%+:fG  gi.d.Z ȫΡujXy5JqD=h !%n^C]E.5E%xВu6#2imw*ƫQ=vȺ߰n؆hkK@?' n_*J{6'uduXbMK`o#Rڡ>ӺݚH.~r,iaj[X ޓ{\]9r'&  U')wm
+f5
+2
+Ĕ#ߎO'n8ŀl0j2W 4Q;"U<q"ٖ|Z{/ӖANIj4P:v{e^BEyQSI[E-FEzW!< ESf_٘Wey[([ R W!dQtaJy!aL=5o]HKXu {8of).DPcמŠ'Vsk©* noA:>v<棵}q(K%xzE}WR^  :V&mliFDʛ6tp' mr'N,=Wl ևjFS\^|y?w$z6w־LNzg~R,VHnűU"Bvs
+;{1 s@x
+63o3jNᆰM念`9=QꙭFq j F
+ڸLamW8,hK߯ 4'/o߸9n7~ar{@53e=
+];w%rFS.3qغyxO.KUgj=K f<7ms O`L%ÆG2$MWw#s7nW]{,S^x~{ݡiU
+=]"_5{F[ ?v,æFz NwVz:Q) ."mlj@m s|ĺ 5[kܼcIN/b`@ D(nj_jjǤUY<kt!幉,J H5}}?+~C4_]"Ŝ~lD4HENn9Quz,D<L {lB=)/\A 4H~]jfA>1ߑR*RZIs5J=}2c)^SbHD8NL TφG0+R;=ǓjH{ 7w_sBYU)|Nġ!t)s13QPC)
+>yeE]&p6!}.ⲃXo@4@X:1̧9j v>=viYZ:*<m}NTel p9+eF;m9m")F[iGc
+h=G҈'Q<IjC
+*XC忞KxABYjC_*9һ5gE&y_r RdH%޿ÀQ%馘pg|+]?mߙC1E'ג=d8Pq2
+.~$.Dϗ'h{*rbM! pDͦORO 5AQ5P[YkT Ly7HozU[C#sS4^rӵ+A fɣ"t1`X2War=;t}Udѥ{mUUec 1Xg϶znQ`WYvm PϽMS˅t.G8JDi1,e1†qřڡv?_KR<
+S( 603N4:Aͭ~%[jqWsū;BZDžj-S(p~B`Ski4hAx 6C m\2˧;ze.8,li@1`]nMϛ~"zh k
+VX&;_"3.RNWmr!b"yN|D? ,aiyc ˮ"AҨFAf
+b:|v4Jarf,;_;Ƅw\'ˆ[pjN" ebkRWJ}վwdŎZT9`s~&hJ(VUbrc0G82'[ 6pљս Ț*0-s7pH3jg\k3yQp:>^nu8C>J),仨^$n爔N'RdRЭ5Z~m C]Ax
+)Zs]aֻ=۴9]g|qҨbOP
+}Zqu3d'MU)L@ Ći(x;~zH_Hr֘ h"DmEW؈TEߢ^AVh~H,]"I)6=O`p]7䥄r%?=.4bËLDzSzg*I_FL׵6Ddi)ĉ:MZVg4H"]ɩLs8ZV8Uީ_(VIw{&ҀfAf3a7?wCez: \NYxYۢ 2є% ŷaRvFAfB#Wr;^"}Iلu'GM73*#YM@}GvyR(f(`qN%. `Az@-xzkvnKGK2R燻9;9=ዴfDY`_Y-"wFX(ӏ˄{<lp"Mx2.C~ߙxN̞vV'jyDeXh/D@$\SڗOq "ګ~6R}o$oFA
+R{ u˱K%^3j-ՌϪ4rVN}^G)rYF?j<
+ tS%1o\= WHZՍ07R_锊6kQ̎~C,cJ
+LW1Dx)jeplѹt2QD"+TA'&(rhp]f;B#J6
+}:~A9 nƒ.3{h/x%@RJ_=ol5igÇF &.'ј7Lw9Fu,ЃiǬt\-&u45,3%/#P6F2"?x|4w[9>\l'f^Ӧ@,@^8
+q84Tc@
+>;?ܿB˓t|O*VhQxg-`s+Fnޮʝ5UUV#KIJZmnaB&&C1ϙi)\|E/SiYާN6/Ԭpz]N?LQu/6\hr1|ͼPX
+"<ۃJ,ҏKeh(e0CJY݅3&"%ۥ (Ȩ̡
+ib|=C}D{v@6k`,E/:EiJ^}ZO&<~9 v7"iEFA(#1\V-Ohp;Jym jdں߰||"6g}6|du_oEKVC'I}-@ ]6k3vk; =WTY
+[mqwq1ͯfp_ěK2@xt<zpO&]У]
+ `oNfU[`kU_n~<~O
+ƒVn[kZ2od6sILZ<CHkg%
++Ճ5aXɲbIic7:Yv@ɚ'<P]㳶7^O/ _).-%ӅVgr_ӳ?IB<]eru.ǘZ:znWIӏwY|b:]MN ߿(OEO-YV6ά VZQF|8fl- ET:BL !Sl\
+M~YT!2yt {Qb$sFH MaAy4xC93'8bw|uD^*-ɟAsͻe`eT1A—JZ4EȪFHܤ#ӼHC4fw->҈-@nIW;:~G5)\U2zR)3,ث{=o"oe JN#Bwc>$ئ.k kHp^& j:ȿ."qǵ4ؘFҳ<]+$,˼jxZb2k={`' `H'G
+èn`P.*QۂOj7_@9!Fsz&Rf镸m18n3~ݮqa3 PGeZ[w6Bld (Idks&EABβ2pT5 S/I4{rop& TB*{Ai?~^<;J}>~y\0{oF aPX,II8I=<<u<CDDjۜ@ӿ2^L]ɺ4vBL5V8YZN~27 ^rLZ<ڂe4?q p%ݐ?b~Nw-*4}D :[wRK&Pb/ɫ42mB:vM\΋!sҡzI(Z@-Q6j٠[(oQ"(utm Huҗ$&HSU_fw?{K6hg=Zï7J*s|~7lc6qD(' bo$hasoڄLWU"4Q|1?2`hEPPTc΢](Pե℄pO
+R y lmβӖQb- !
+3JXwxvSEDNoĂ+>Vm<텝&_FN="DR^74KTxJCCX\0nlql䰹~ɤ==$zo/Evl@+ݯKd4-9LnBLQV_+B+-!jUfƔF+"$fͬh0O{+:lP} C.1+&)PI_q~ǦM$1e%d"5
+#dC٥2rd=-at^Hj~oGob’OLOU rbKabwI\|n[(hiX|S8cUib'wȩINjm>aLS3^a]W ¸H/ߍpY־Pߑ6z򎝱^t֐SצixL jf
+_D*Q]mTӇii(p= r~&Ս _W< O|oaq}Ae[hF. /sAET4{J PUt 7͊zId%DaÍaځՋqR
+ĵV[w~eԅ#i~}0
+Yʸwk*GD,H\R8
+YëŹ;vR`n}!ǃ`rks*׍G`B+<SDOp9|_fpHasDN"(Oa\O :&
+Pԇ@3ͧf_xTDSΝ'먂m|P129v)4vٰ9
+|(]
+wsmvHc n3=CD0!ARfr')4ϳH]Sk趱OH;SLnxL򸐆
+ "O\𪒇dbIʮ|(Бi.Ŕ 8Aƴﱳ vEuRtpR#\
+~.Elx ZL_#:&^eѦg=2"iʈtyvpQb'z06¢7N.I%"#jXζ3[MG[~ķ7ޑɆrY#06WE䨱7^c41@KUZډGl4hʪyŨP)`Ewh,(2;Ph&긳7q1 7M&X ALjPb01ZĈlJW= @SF )'>WIQqYIT o/uK4hl֛VB_<<'FhHS{6آkot6*We͓,Q[ +K
+U%l~8q Vg dh̆ōrnww6|zcg]DϧjD7eEjZpU8.blD%c-4 ?o+;51xx aVvy{*=}Nup 3J {YSkR ̚\&oj `4!ihRX6I1X^Z|x'm{~`8m[[mɶnqq]lޓml߹spg|Y+zs<S `&46
+Ą]R+ӻAc<ܿ(Ic)Il)c5y\_i%QC<=$[JiW "O;'#A2x6!Zz FKB'.C찪qjrtJ }ӵzmy̑X Q &JHRo4u֊ @_'՟S\64ԯH)[}ЙW8ܑcIh vv\Zoz7Mtx).Պs BAT I_.lȨrl$R袶b* V%pLa8=p*H]A"We#hvŹӪq+њ04zkԥ FGx2 z8162EnU٦F"m=[^-O?B}[#5NOdKZdUލ`̄繻47ݬ<nώ> j*'3fKڂ~.8&lDQ= @H
+(xm aj6Wv[@>C1̌?J|@n o_4}e^^ΩuChtSl<,|yV0Rxpf:zL8@OĈP JW\UsRbIzqtLpv S}!޾C;όrš
+:CodDBjt꫅ b1D^)s{zqD4$r1O_?%eƒ-w 0@a&jZUUs
+a&L\;Әfn$WmPq+ 4#cUȾJXB ~fA!
+\ti?IA
+0 \
+K0Ռu<|4XI=(:AG / Q-FQOԜU8yg)f/!YF'IG欥}\>7J,C85H̨C&%j5x'3 $KSGU+-CIYU Wx*u1G"#_Xm8'1-@ǡ<zDׄi kYzo
+
+
+M)8Ͼt" +B g)Au9%d[> m_Iװ%Aa7LXQP 86Ѣ\@:\gI whAypnĵ8}$,pk~mÉٽu00KvQJ6#9_bZ fމ<I (8u.d,j^==LtUœVĵ+L?n)wP~5f\w]%Lx޸Ø݋+;{Ќ=sFY]_{8yTÀF)x\$CåFUμqC7&zܡ"ND jyN^)K%Hka$Y=vxolXcG>ynTaS̘${B+SpcԴUlFk`9HE1t17veoZH1dy{[/4b'8RV В#K֥IֈqqCiG/HatTu=ՋHWuXa4OD6qʆi*Vg(?7 pԯV{Pޏc~xٶo7_?
+J(Eݶ!lfJƨ4B)ȪѿR!i6_|:f%Gz'{0,:K/(wޑ= /JY}.4sYg'U?J%cba&BM!֍?WOGo}`ϊK%BTMB}UJNǕ_G> `|E&Wl d6Tm|B.9]S@^C/`Mc@i*k8 ܚNnL~J}1 @FXUJݮ\ (G;GSUOЩm)2k6[ 1~((z|,V t9swse̛LnO)"ֿ;lH˸
+rڒzCX8gv"rG6dW!^)Y'>NӐ}& D{ d"S_?Nv4H0;"</D s,uK!0!'tA:~aAfVެߢt|x{a3jMq%%^0:I9{&Lf֣sIClc7[x9
+Msie!c%KM2q63?*
+8.^ðf5Q{ex3 *2ڻEr?ߗ[>{yX
+P[#o&"ϸ=Tw]2[:L<<0ԥy yT.FXmP|ǰI
+`em9Jp@M~mAuK|ʐ׫sԡ2iݏ߹<2$9. e>'?q9*ǰ~GO#DPn갰B8Fg&
+ȟR) ~twT]bU(}y!4P?h}%ի*`=fa24Y%-!A<^ʿ}:L-y,EZ."5;7qQ+U%G֣pF͊n! bث9pIz(s{/VCC,{Ҡ@9'Nfg
+{vyew'EOOW~,f,t•ުFP'GnuX c@HpI]qɣO@d\T]j)sdeCdtp58=<DEJ=BRQ1IB}IiW)%o*[acBF=|ʤ w9e5eTO:㧥T{X"cR=5|*s5-Qhsnl jR\ ,]mlL_
+ϊj
+X.#זv}TJrd_'Jsւ ٢'VPP qc}`uS(9~[;J2?DT*)nsЙ+XsCȏaHߵ\c ,ln}'pG77wi8#6vs߻QE=BA8ԸQ?f0; )%ܵ<uc\%4ԩhPq
+ e-!7x뵑
+-oBfqu/d f9.igI s>xВ(%\g@Y
+܎/]!yi-1c=أ޿8鱍bwǚP9(Ϳ ~F[:AVHf; ,YA$Nbߓ,? `)'{SLW f^KEo$rD(,̈́x}f; (#qV
+Ow?G~.d\۟-gh?IA <2HR/:3tyI ZQZtPUڎ\e OBjyT"թ꣒7W (&|6Q>ƊIMPW<=EV SI5l!6l_^=4>8DRK\kIő,ś֠P#N&Ȏ<4 tpe!6x`iP 5cky3`bEyϫI K-A >ڞke˸د8bv̯'>W
+TLlZ#4[ (vo10fXWnMZn#.oq8
+W$`}Ώ ]¤i(U66 &
+ו!NrFGcJkpzX@oC4J2leo1_tp`'gՀ&c
+齣承9>.˓AfHPz ptt
+:k^l̡\54d8bݕ0njEȟ5^MyC8#
+T[̥Ct9?ؓ]k
+s]RV7,@X
+~M,i]v==i <"\$ep+*a碮uw$
+굮zc+piT$+WfUshm!GO4]>:4$"XN3G 4bTeN=r벵EC}wrdrFֻKKBσPid p'Mt7N $2!~[\Rou,|CB5JJ#ÉofE+B&0,jiߐz`ejt;JSaȍRL8xLxI:cMaexf;D_s
+yՓI΋q ңB8ZC8]Y c~Gk[wkIDPбUgkLXṁ~L!6^%Z
endstream
endobj
659 0 obj
<<
/Type /FontDescriptor
-/FontName /COHYWX+LMRoman17-Regular
+/FontName /ZSYAVJ+LMRoman17-Regular
/Flags 4
/FontBBox [-400 -286 1338 1125]
/Ascent 683
@@ -3901,7 +3916,7 @@ endobj
/ItalicAngle 0
/StemV 18
/XHeight 430
-/CharSet (/P/T/V/a/c/comma/d/e/f/five/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/t/u/x/zero)
+/CharSet (/P/T/V/a/c/comma/d/e/f/g/h/i/k/m/n/o/one/parenleft/parenright/period/r/s/six/t/u/x/zero)
/FontFile 658 0 R
>>
endobj
@@ -4933,137 +4948,124 @@ endobj
endobj
678 0 obj
<<
-/Length1 2307
-/Length2 28047
+/Length1 2322
+/Length2 28265
/Length3 0
-/Length 29362
+/Length 29588
/Filter /FlateDecode
>>
stream
-xڴeT۲k-kpwwoܝC sw7Y
-t&vF@1;[g:&zFn3#L
-GN.4t1tr8\p
-P, WWUPboo?\UT?DTD@
-ttQ|0M
-
-2
- ]uo<2ΎvV@u 05tvpf>_$ '+fN?zxuE~l?O
-)͟*$?אXN$MRNQ`'#o[AiޚP9yk(c#냇$*8F.WEB}$Y:FP=~fxGN")k[ͅt+cjpFs_B[u~Ĉ2\5 FѢMS8rU>L8
-[X-tWhFP aam2e T0YFHبD`L%rLǒsio(.URw/kpbvwf׏rvV@jO3L9Qt~5CT
-/srYOb-D^NM%06FhrHنGYW߈8 yG[F28$\,l2d cUdV39 'T]A"є:$Tp&#gj 1x΃EԔ6NI&!s/+Tp3ͳvTXՓ]Uߌ>a;cߋ_\tQw{ܨ2?\ZFִ-  ,0oy.V?qV_4 ]loQ ZE|[$s bϣs0NzQI uXD|"<m* ^'GjǼ:voC_H#+&$Tj8|E }:PX
-'ߊY/y I-^_4S#x"7܆$ t&kC껢sG >.߭Au ˌGJZWK$ pMozu}IveE~`=&=­`۽z$zɎ{y͕;留ŎH mZ<W4UY;bYKu[q(Y`/B!<dp
-9QMt|x^/r~)+uLb ^8As£)4WOA,Qn 6tw{CF\Z',<^q% g)&&#~*9(JMffәĶkr&[۵]~$Eq 1#&*1?K9MI ?¨FjIMX\HZ.}d'G~q
-3m4)z ⮆@ļ5OTW{j SÔeYpɄ3o׸+c.;,\*πIH4b祶GT0N>:ggy`~;S>cO4Vɺ2IP\n_
-OתfϙW[`[~<A(XeZ.>}mJޅ$]5҈] #&(.oOPK /:5w'kaet*J;}9|P@8@[zbN8<z7Vۺ!^%65ՒU%qdDSHέqBD <*Yb*zGKV>X5d 9 @T)/HZz.9
-%pu \^Aj^+FUeɻ
-s{L]jv3υ; ;eH <ULD$J烋?qdjApJԴ6V0nu;L3E&lexm,k6RZz]Y[x]MX>yWQԋ>/Đ'< 4ne~l4~V2IJe*@+^'&toDDܭߜ XZ]Q)Im,)VmUQ!! E7luTѴY!$Ug`))j
-E!0kU7No/
-%CЛ٬k]R{+Vl܈A$$bԸ_+1 46@qT8_wKd?hRFo+3k2?p\?R1ٕ}x !H=уcK!9:oH}QCc1Ȑ'0:8g>[TFF$XSM"?EkN?'/
-Ъ nC |`W~+z.D8zU0cORO~M֚.v) uFoٺn=fcs]TLM1$^NGA
-렷OL71`i_oER/ek{?I,f2Բz1-ɥyaFtEW+H5jUri1Gc3@1g/*t!MHVeL1X:cD+p4?{(i8ۅUHJ[# to\NY9}戼=tԞ4&;AOg?2;@VIO#bǗsaJ73-+u_Qt2z#
-GtX!wk&MZg 0ClϛYX‘o/Oo*繭 Rz]@Iҕ${:9 ֦ۇY˔Y9fEb&܏W JV٬kqCCP ^%)dbCά! !k[pٵSRE_0ti!nEa>UM$.ǝʗߑ/hj#Sm̲<I1*Y5QG 2)9Y8\#e)wı1L(FD.c0^ӌ"MQ 8_s5: ʤ zsDSldoP|!kT.>Q3PFwBV:)n՘H7V|4"1=^yg2/N.QDG3:3GM.(Ɖ-7K$4`z$|5ګnWv9oʼOlȽ>c=xژ5bF_1ƚCV $*seP1_%,r#GCQzx="]Op#jg##NKܿ
-G=g7z3xKDX*
-GZY(f&CyRr1X<^Ak M`=&CnR\>`]5 1}7dNгrm3n<7"<PJR;"PbsgB@p7`Q\^燗;&*dŷ1'N>̈́CXu/JS9 2bsx ~Dg9ϽՆZVruƅ0>Iv$QtAgN ]mL?1
-Z4Q ݨGeM{ҐԿ=ʄt5-'jlΉCS4?M
-bP/lvjTkSz~,_EznlA~ֹS3H4v8)Y<Lg~_J=e\hvo>Ko F;5eݛ
- o䝉=YE>m~RmM=m8𩖐!EH
- !j e"(?l84fL6@c 7{[kT$ RSS^@CȬ 8xr\W/vX:"٢φo׬B5w
-i Z{k[n;zE!HFWN™r9\W;V)ɝ]tƒ_q@rqo>#ຜbp~XJqמVD2JW+ƭ]c]]#б_nB!ԉD438 / @qW1-~.%nz,r:xMtLّey߬j$֑h-3{4l !7r@@[$Cm@w%&10E,'4\{sKxWQAw-FHoqdқ-X'׃ؐpN"ソ"tREk w pe sAS5[TO)L}X~~-1ϦG*MՐjɛ}Y,Lol{}Fv4)}i[Nf$,.nڗÂȺP5)|R<GYɾw2k[L*=^ܛւ{9O+#Vh5Ã*C/ ^X|Ak"5E 6*-Vm,V 4"BJ ?%0Gw
-@嬂Ios`).ߕ`gC)]2gH .ֆēc-3Oul|i0 &ne@ tCl4nAXE,Hl#Q}^gWe_yƼeLdQ Lpͫmt,sg<=,Sկcz;<i,ڰ]bsOMxCU?^icNtC.m{ 2M2(OQ^Ut`҅c1_V}rT91lY5yF--ֻKz\cĕ׽l[(;t18d˶M'H}ne!Qe_S;:eO E-:b?B JB풤}]7M|Ra2[T|ߔ Doz K}z, dŁMaw.-ݛ;9fKRbcc4a5tsO` -1JF@ Z׹KUiϠxrI
-Hgm?$}^fh[z-P[vWA40d ]O}B%h1w^
-yVe߽vF, 4Kc23 G೾!ϓVו@hkknQZnskKjv^o ifqPЯ{^f:Pm>dtWklo(F]XN߶
-qC;&\۴^6ypȍ4\N[-N'6II8H>9V\N * `mvf {PK+ ha _-S=p1PIa)c0}ʫmkhE)!&B@R_R!N5R d5M1-Nur-δR[h]$:#e:+ue
-%܌5<="<dǮu)h}=C@f i@Z\~yAom*詨XT?1<^;TMDxUfg0bp+=fo3cȹݩ,Ml!I(b$&!]$!. |esYEjŸݰ+ m5lТgP,t/'́[T1N4+y^lZkAAWMO()Sr&UQhO{oɯGc&v\dGqߡB~4
-}}AV8 wd9QID80z3ܿ*
-ӏi/1I,Jh{2Ċj#NKnM8|c~ >l!Ml0IS1o6){ݏ~rjteLv"s9}b^=hS4;a̶Y k rA%X5~N?-Ng~>σ|?HEn䇦cZsP =$#$ 2?] +~OsVjWYĨn+ʉf_۹8QW"A~q=ueXȹ=gqlRW#6cp+q=NTI[Ln,E]rskh2
-z5X'3N# aLw2֎,sUKptnb 
-@. ͽr"dɄ524=ecw= <Ju _ bӐ=g9{A<fPKYֺգ匥rݣ7T lءRcF\7m̡EaDt.LR^1q?+0,Fx/%~ ѽ QgFeMN`ٛe'W~][b:(A{,p(?i%!T)zkh=5X:~_*du{ĸ{$#ATG. ҶV'>_M~_Kw)R:"/+e_@:E#=B&.t)17k(Z[3@[|ʣ"Yi$c=b4!,{#`#&U/Re(gf48G%١3`Ng k0}GF-M^طUwH{ಏXFHw'n9PpWqQ|ј]()ewkݖle+K'nQAodz&<
-퍈tZX4nsJZiH,K~gz<bT`fXXY1 g@0o4E ēӾf򅧳dder<.^m"qJJej4wHHWƓ.&5]OrXf qM& 7ZBESV(:v~9b1";N u]4m __N1b9JZՍFٹiSn=rESO$PX-=蝢h4υNPi T"c^|L:r,P ޳IK\w^9tbO_Gڣ<02 dm}k$I]B'وZ3T=T Qlw4  Rv;P o͈[#eG4
-
-a6\+b) ΝxoY.RKfIr {Vvǝ(򧍘.tbMfDo
-#f20X}KWG(MH>oEU~%Kd.[JG[70n^8F#]pxU]cWY+=福E22nKTm-uKIw3VG:ݣ*ZӴ4&93h tjiu)!a1A*9J'j4P^1_SȲ H
-Z|NjY
-&Hȭ^2qb}FHwߧKWA3+{Jkֿ`{Ѹ'n~ vVfgOOh
-$D-g"E*%ZrZ+W@U}}-k;pߟwLem6T*4ݾ"qns&?fjDd/ըEh|Ry{Q3,F'ds2aO6 =,I[)I|lۂb w:Y`H;YwC/M3 ހ=>O*Ű;H0>bVIm:'<k>H`?gYo~'B#C"Kvf!Ƒ~[:%
-=L <kp& K>(#1)rGCPE{# ɐ4 >Y%#
-|z m  4S5ph9D{Ӂdm#Il˻~Y-,ˊMܤD7 S+)؜0
-K]m=I {ա2nLm,g 2O4sG)7LfЅ Y(/OJti5;@4b gP
-/! UH{gUF0X?Nԓy-ZD y•6mҌvs{ f# )yфv ̾zg30)bj-a9(}*zѪ*8MZT&T\B$V:jqZYC~uB
- l
-QкZjˍ#]V:OzVO-[%0@6L{8,=EENXȋ9[~C_PI&$oAOԏ75ֻ; 4K2jnfWQzqMFRd}ػ:Uv3ȈGY'd7t`}na<'?24{bohe|Yp<(;ж7^PEjOw)*$ƽHb\caCw3z\" ]:H3mg͒,V1mh +jy8h*q
-\E! fѿΧ]9UB ;!v^fxh4p\_(1jd?5Tu!VMf$ &VC9WuޖA8L(2
-O)@!e3ˌz|ȴ_+b_?0}< 84c}ϠgEI5;Q(ο:?2UIlL_]~A{DP%Sy[;BDcy{EU:K0I-O43dNY'3t"55hNz ~׸1֥^GX\58Ԃ\ĢzEO~c<*c ".1{.yKr 'pT!I\ԙ*b|֋R-YgSkajՍ&/
-J\WU [͖,:QΉ2iڹb2v6yv+ K an(:%~NT|BǀYw5W-z.߰ϣF rK0餛F*h#J(G4lzǰ8;]Y(o!ȿiD? AT`J `ġ*uetE)\^:tWTEXJp;&xb/VV`Yy
-5^_D iRuUxޮ\:IK$#peG
-wZ{ nXQ9f.Wu5hb;.GGT_d}x|=W40,Ķ:3>H-.:-([o
-L) 9XZ@OTY,tI;<utZ)}&1R8<4;_[v܏ԻƛDɁG3ۊXaCk F&5u 7f-P*Vl":ӧ]5l??Cy^ײ|]y<{
- RGXoʚֹU"^PUS43Jƚ-5Ir>4i3l[0)&%_X7]J=F3q]+hVMv!:l>p&G0;RnK3qvMKJecCp&?6`zA^akLmZ)4M fohx
-Zد˾*.޷uyp^DFI3!jЋsf?h/T]OqM!s1\ .԰BtH :~8vJ +u[ M(apOˬ.CYH2VD!Txno$T(П8+m׃Qz*gSU۰Ի[lJ2`Q"0C;Oo RVM^Z%Yѧ ,||GI.E?ìd4*Q$p<wFLYi&{ρE!Aߒ/L^ZЌX
-Ѽsȫdݽ'ڎ̛jT =‡Iү>5Sn /JgD{Z|I)!h`du>5[s( zS*3NAp (iǘvpr[G(Z4 6w_߬3ߨ  r8n D?> lFNaD5p$e^v-"bq-62š蓑HR7?߶_s'9ˆRmIYQ❡ VL
-lz4Wܮ鈷{<|nU~\hA"֡ks'95.d7+jKqԺ
-M έ:C7SO qRW}f {b
-}Wrl(#m+#F4< 2oc֘^}y8PWRu%C*`l(]sgL7WCLjapN5q~;뺑IܣU7m29ʣ1poT$OǑUqص.Zt7W>GP[=lrad1YHe0E7< xG Vcm`#6CE!À$gɶ|G*_O>*-P)h1##Sim*Y:O/GJlQ>[Vc #>' ǃlVa.^7amT#gMDm!u懒R. za_gpZ_vT6
-9jqL@`lqpD|n$D2w Mu%{4k:f\kWճR_'0}P8@,,'h^[sd1$rSn'6)W1&B_G4ȉ榞mЮG<_Aa1Ȕp>*R܅sxZ}ل:<Fr82u9,
->DHlӧ/a}1wrf4 {1c}ҵL9q-3IL0x%X;Yѓcj?Arbõ!I_Q-@?wD}ZVOžAt^xp 9J@glt
-W|WgȴIiEiA%M5»>L ̂ZeHq3^
-yE:kX k%5qŹtT٦7yX$_.ݬNT/ ]q/,=oQ]/ZGx.n[>Nᬗk׻5_H*Ql+ @"2=_1^#w[ BE]|ypύ#ˏ%R\5>N+G 6߆]D&!7|h ۚY![
-*LiP",c\_SIH`:8.:N+u幘)89Hbnhb?^`as?=a>W^DhOiΜ\Ń& TGtj nPzGJ[;z\]>۫:M Pki|^aWx
-K]/}kz}<N wڱmLVA|?<
-2H7pJ殮kń7 ʅcc1Jx@ԋ𳑖,i^aÓfqrĚH WR'ىg0**-[S>~‹$PECHPLhzlolY <ˈ:`R}gXCD/\"ܛ`eóݒElAk$6<Xd%Ɨc)жz!8N 6L|[$_crF&=#Eo%4.UHN 3YZ ^ᮿHlE4fi LqA+`ut˭`)$B
--
-9nQ,L]f€:~^C6^ק4TtZ)j1\P읙G x}
- y*tVTA"C+qZHʆx]ǗNbء۝bL8
-ŻwKaLu6 _¼1.H<XXDX\Lnk~YAw],xOGJxŗЕ%f/eT>rH4R\,
- }`6)γdQxټ~ N
- ;rU霼@Dzah.,
-kWHܸTuWpbi1IV5[DV"!zX΄IB-(0~ s,-,c
-թ/@#\Co$W͞Q
-hE<8 !RyPT~+.N=,,f8
-tmr'C*-pKHx&a$/f$(p9G[eKd0u~?YQKy rՇWy`Ó A
-lz N: Ā&ϱ9lӛL~3q|4>=DnAX]Gat!.P1ggrׅ]vEuue;_G66T6``QՆ-0'e2e[PV0$IkTշ jIβ
-4
-ܧGQOc"|Bfgi.U*&mYZ{K1 S(yv4@MR5A-ɮ I=*#RZ`c%g^0KgY^L+²̨!^D _gv* >m#j\"~ "z8Gb fP/`Meb,&ږhPʄ:_C=)Uk۶seѓJN!ީcm4T3,%6kӰ_o|qp@˼cӅ&ۛ3e'jX31#hvp[#kʹ*#iEjۖaӃmWW$f"d1m6Q2@# U5s=WcgMMmv{zke%n״%Z @={Fњ;yAviQ)H }/_-Ͱ(ʆ~\k#b7Z8<GG&/0T&")Ӝ^9|{YcKȓ!d~F:r ;(†mf,z~Ll)
-DmuqhXom8#h(C+%#bdaL.!Izd'*\˜:y`kggkoHӦ<uO[bv2XZpQگ2 ?R Hߟ0V[*b`Tu8vw|ǞR {g)tZ) H0KѻSRnI"(hVhO_ESakIIn+ v{oLܟ <qk"\g[9hoGjO %.<O!H][m^"Ac##abN?+詚'.c+Z̴zi(<)Rz{uj3Eb:ș´
- hփ@S@.]K:<_`n%Elrn@mn>CV 7uh a&G3 )>q1^
- rf-pQ׎XϼI{
-|y vӭ-cBpQkn6 *sֱ5{k
-nk3xɝ
-Xx /yW;btUp68nGu|ԁd~){*N _@uY_Y3
- $&>VpGOvq<C
-Xq ZM*xDNdoף=8 o73.h陋h)cQ3tэZݺbbV_x(ҞU_{w' Ll=xII@Twf3 |r2=J7Iuz)t,4>[B gFYx=䔕[6Cgh`$՗>WcC
-?:V̠1Z~tLXJ^H3S/J ,ND%Tեέ*_B3^.W1Cm}.-&
-<1vY5-MJ<z ʏoy`Fκ-[lFfcF{~tEYŁmZO&G%vCr/U|
->_D˧rQJ~Y*8pBFj`+"ڮn&bo"\F3F,+¥Cv_SԖ@HNAɡJZ( kV/0"K"Kl 2`#:<aQ=Hөtn^ &'N^|I*n5y}HVp6Y:oxS޽c;2Bݻȗ
--ד\).'w~ t lAK !]$Xj^5^C*+TaL/‹HY-aK|9dzTKXp棃ě
-A8M3=rTG_P!Nu$z&JRTaWIwG0@qQ8 2}
-t n3k R|$8Tu_QJ<8H\ah.ryf7g?OPJ(D`gM@ jvfWPvF _2?x
-yLR{s@*m 5I</7nnsjVMBΆj;
-)TOO|eY-
-NXvvβkn݃hW_.SF񠵠!,*b,7N :&ډ Ij="~ !*ZXvGo
-,58q^
-B嵴hx_g`bNUz!EXn[j/ 4=|n8Kq 6Fb ȴ%r4X"K/X"Q\YpD"<N:moIÄ+"D7L Zƨ̶) .Q31ϥ6ݽF2yr N(753Xu?S)mq?UhnN)sy;vfw{v+W 1qգ]=T:^]
-5^VvB
-/g{A$"A.1gϡd5+/am?2m4nT8|E F]%^ Zך2 gB Gs-<KQuv6zf&Tb5F.+2P2#*Fr%ޚ00M,WjmL _Q #wMȚ }mx#{fF3W}e J*TV6:Z>i<F̸ rMNKѸ\~rЃ0_O
-״ժɁ/cFJT[Bu_K<(uV9)yb``iۄI͘-wm%{r؉O!Q
-`NϠΑmAcs\vgO\$B~Ag[KN҆L
-—aXF7;}2ѥǧ F
-/V<epo"c}_, aB|3/UpѮVs{?jryK4_Ͼ._FBfyg)7 ԗ}}Ͷ91ǔIv'i#\vP!+_;f[c=/嶴RCg[eƍ@\OM!of
- 5g:C׏$=
-?Q8LTC N IkZٻtC͵1L2 D䣳-wbkyB?[s}9M\mN-TL1ig52[LF&6!5ӈ"SWq G pRܹ_P62v9eV:yKn1-jUFC%_X5zI mkv+5(.#"+C4G/
-w3i~يt7U}75sw݀D:FXV魠H+{U
-F^jI7_S0006Xuلb<IK9$myZS%gl5Mٸa|c=,L[o.V\'
-xw:x 5
-.;+Z49_7|_
-vʢKej$5ݙ6Hf[͏ [dVfi ±=EdW%xje5^ғS P`nMbffGL]cQaAhR1ݍ"DF>ǒ|x
-T},Zų́<1A]A^K=Z*-lEO/KMzx>ZPcMyT˩ Oa^>{~,O$7*UAQ\zM$L:ojbKye9q+HI{T:a\L17\G)Y!PB}!gS?բ=dĖ;9ڪͤ-`>3-޾p&<@&nxVÛhjK>c.\Ep1qTV5z$R~{R@-Œ*9)zxվ͠
-!LJ'ڴ؂MY-լy7'/tĻ4[:@"b7p%gMK 2}oڙ:@]gL'(fsW
-?$
+xڴePڲk l%A[p r{{)
+6_׽z
+JR%UFa;#3#+ @N^Nh¨2s:ؘXX8()EA@g ;[13lP4v~`aEHlAJ@ Th%;'gF#ӻdkfa }wp03wO?"L
+PiUUT*JLU]$@LXAM
+jrg(o[&gw翬{En
+z@r
+-/*e:ԒIZ2AA,o (?NNO7%D2u5jDYh+K".<)_EF{ []1ٖF P=~axCL%+o[͇v+cmrp_D$Xw~{ /vЧix\T @b(Q9%(6BU7*ܩ *}Pn
+*1gOp'z6 eVzSa45*)~_~)vgZzTpq taf$XNVzS zlh)#{:dpR#cls(
+HzʹVeHi~Lݯ_zI#cw46l=Cʪ8iښc|Yw@E& rO?Oܟ4a M-9K~^xKo>~'m="/v@_6r͌.S!Rca.O|) . !"Tbg%e";^uϱ;ҢFѻ6Ski2n] [U",Z.Kjre%+1OR= :^yIE/Ƴ0_Ny2ZgkVm34 CjAb9-}QC 1s^$[7[G$s ތ!09jmvʻ,Hb]M|k?qFjur٦[F1f
+*KL2ʣкgWJƮ݅)ة!JsZfP䖟@tXrڏ+7鬞5.H[k:L w
+ȋ?TG|iZV,7B&.[</lb61d#ԽQӜ͘]U:I6->EH7W5
+}"U Ǣ7܆7Oڤ(&%’ibGm]^ J;xSڢ!JQ*`m0[`pf`Rp.߻S <=!)~%Ν_sn"uB8©܄-nV2y" A GWeQh\9:3 fqn+"Lk#vcp v<?ܫz? I+#/߳ʿ5Jyω{d]<lFӹ2G,ӷ::hm_*Pxjb2GXAYf2?>$DhW;7(ܮ/ qNLs%Ij
+NMCHL"[#q-QatqQ?n/:"U(PcȜ˜OB^3ؕf*_dH!y9fjAK4-4ofc>.ۆqDijOI( RçŶ pҹΏs'$gEPa;cÔ Ko4N?ٺ*IpB~: gu` C&|ĦtJ#tUQk gS0gS4V\rSx=5QDiE{:_}&Ԅ-[,N%ǵ6bG:gHTlox[WxD#>r$SS-E^RfMyI|s
+-л6OӵRdT(r8AF|hɉx0B(mXMl$zhK1bǶCIe4jeʥkÃCqGGy|C) x0@w hbh
+ףKŇaˇ•NƉ ^(KՕ)*J@cZ湻}_qȾ܋
+5\JB'"ĹWϫUKn׌S3 TJ"]=0 8' \-}pIڼX qǔa<>=Obn喟{&)\)]!CX\ˁΠ-> tMK8mvom
+IX`&Ipp7:{یM0TBVC\dѻB2`W*!l}o=pXwi-6E- $a{pS!BJY
+w_%vᕙ? szMYX0P-:>6u"emxx.&ւ>rطbZH;s/!kCsOt H@ak TgW^tY.7j,s$G%%
+.Sk' *&LC. Vq|曶\.} mYW|*A=fZd0
+f=6LI/7"Q6hS^kKx+noOx H&Zhs<P| g} I$|Ro V
+x&_Nct3<h?YӐGf5ZB!ap1Ҡ kZ93
+z(6le E ykT -
+^8Q,ۨOmK-}q`k 9(
+{&#
+Ղdg}7ɸR#tX3]*mՃ
+a7[}NXu7BqQLT3栥2Äz*U:7^);S{rp8?Sl ~oM?o󭑒pFJ/nO .kս%%̧WZDGa3vc-ug(m(4+9gbj0II]BaiCv:^ ? afCj& o[tG %1K f)ȢQ S-o$f9kHf!PdiC?:/Dx6@uw,Q @0Qc"$9Wqxh~͘LYc`o 1|L> F贃Iv <ȇʃBg] aM|ƳP Gzp3&H(|7n\sEL+joj
+S+-~@~R)̉ivHiA7J)=A>5~f,j&dUlŹ\فeyY(~z"6r:bxJ@ `[4/s?}`bpRߢխI!\I#G .o9EX`Hʴ#J_-8I[GZCN[bgo}+#2X$uq N#0X3p eڵ[T)쏩Lc|9 xA2!7TghIW+LLn?/' ej{{Bź58lnT=0t”ScGXE0J?*Y~B#\Ϯ铰2kW J);\-c煷2RV`ϯv,i2 bPMiTo./BP_^cmTP[ -"ŏa83q:([zMҩTs&'3 D]UrgCݩ]Q$fT e $x׆ $W)%ANJz6谿Q
+suDBc%M`9зnpi#B+1(dQUauW`5S!=Ԛ{rb%|51ԑL]Q^%OD/}+yigl7=3zfw-LR3w? *:PfGJUG%9;g<S''mۭ=Cp^
+jXf]6,.|}ml֫Pѡg2ŠkL*2n]3fVגR [Df,^ڵ e94ȹǧߕze{sP/Ͱ;Ɗ;jp1?Sw32C6 zyz<T& Q'Pj=RK>5-آc'1p}hGGuGĴni^ mLY#ADp
+[|[46O1ί+A`GtxuF9MriL7pOPlt5Vg"S#\OQ8\>[J#=/FKd=ym^\ޗmpOd)/U~Q_MŦϞSFYo~JF>JE[fU>|21 Z0{o)*o 9s}p 6dlƵ( }Ĥ36$aјJ"nD*eȗZ7tT<
+7V ̵Nks
+Ҭ%34Yυ}$Ȼ" X,uvbh) qdDQn{J{bSWUc"U+#2]GJԚ/[!![hCpߗ@AB>0y(`bi+Y%eA#f-"G8F&uPﯣEw,)WHPvn pG!SVv4"kX&h^F;X37}ux&sgj^5I@z'ݥPm8 wGHwWXY5:jRjRv>Ǎ,šYNI\~"&ȩ-FU:ZI((Иʣޅ3 +EIB?Vei Z-O "P=':N0Q0<ͽi}[I"aL‡pq}16/v`!<9E3ߑsö^-^)Ṇ\~zdBM .K@XϟR˓w͵pV+7GSWm&{][WNxP0T<}Q*8:=;[|!$ؐɏb; 5kJt(i} OޢK¦RmEor:Cwn\3i6ډ<+ܦBEVaJ,@tHq{JDSUOZsasY,& Jw.T:dBK=(Q`sFlS:pm̒<gPG'11<'Ѽ*}L4ſ|OJL3]+L]F|LJKL&ֵ]yS
+GmG77ɀVM)
+9MZ;L&l
+]W=qJ[0gs MחǍ}}:_޵ɚdz-?S CjбpЛ-ZYẀ<O)hAUpmf]ˇ& an}J`D}apRȢImZߒ\ko?:, 5; {·WU]PP)^aQ}~IY[ӟ1'd7i YHr<RiV
+}h$Ч33`wKO_t6Z/BNK5OWn5#PLHFպ (ft{Q W}0O:LԸk*.\圦oIS܌1 j5y6=k% QS r=эj/tcͯ.s[+n)>,#_e}ߙBr!4kc8n%ij$Dγ-e$rnc>H6uoʷmp!EDj39/\.7`fUM7L
+=/߷^U ^dl1u~DD|d},|Òioma %1sKy @mg%x"@WpƁUd1oKIޟ|3BWIe fR~I7U"a_t.P?D{g4/6.8.=/ <\^j|,xFіFմ\zs,9U\^6R-t?#>r)9ҝHj`%rn'8c0w` ZpL|X]:f]G> W/Wggr #?xYQ:ʅQk`E5
+_]
+ˠ$:D4{CflsFݐL EH%QߕMU a53#GYɈ'eѵEIQDQ?0틕kDGSMJ.
+Ǖ)x'rV=JLL"˼"QЙsrFƵuR5Mݴw/@t@NF3=Q{ аsẓ~xBkvė- v<iot-rqB
+dxbн2›֮5TRu!idYسhH 7}(k˺<-cUMƣ
+PW.+({p)y1
+bUO?ve!/R$.{z I#jNϣ=AI=Gte^J-kL8 ٝD+2-Zwh7Tx~bYFjP?CO6ߑ2ѲA"<еOΕm֘ ~=:\ l(.R*Z^}ȉԜԶc4J| y+0hv(* 0pTOHk+Eh[ aþ^q˨I%b_E#IY
+cTht"4щiB\jw|n^Aku[ Ɵkq^yLx)4M˥'Ǐ}-f7K+%w2(1b_-~{< ~(~#n؀Gl3妩wJ$h "r"K^:/co> TQ0fD#?EƣMg B9Lu tr'0fy8(&.բ!1l/GQ;)ݙQͺ ~ѿ.C?DXi:>
+Tb)IJN~6yҽӘ(#xpYuxB+b6<iŃu'V0vm!Ək
+u>+ZLj˪XXH̀6m٬uqHQZ.S̯rcf_0!6fMmdfB)JZ2|$2?QH[m
+yB"Ӓb 0OCo${bUw$Uvm2`(
+buc%<6'|Yw_FO u!' ;tO~aPe& 1G
+X(+FT@ ~R]2UKB>M5;`zD U$):om60IGtr@"4VFêW4#ORjW)Y
+]s6cǟ
+c˜O$bpΗ7vֈt7jSP)qsqOOGLC:s[r)stbKF%|NAͼYb)[~nx`$m^Kc׋? E05|;1 6|0dLaH8jjK5{I4KAҹÞ}kG+d%Abdz W9+,wk,/j '\"_C "T4خ rG5>Jtt(.
+X1w48ϟ̠L!`1) ;~ZDV"w"DMKirDnk؇s@1OM@ee jws"{Sv:Imnm50o<.*AX.*ɪOyF`ǒlsڏ$=_Fi5<s
+tinIScWG Cpif$ťƓH9+3%c"#4B8IeV!0g;`U*eJH%2yZU\;0lۅ+ؤ9]xzc~@i {aA]H;BEh:kr1 ۇEL=Qde3AA^?Q'?Fž))sh躢6'AՀzíFkKCY-+D!j PT-pP #6ns(v9(?Cqq͕
+i CQ0|Lt~o5
+BV9Z@i ; "6翃Id}E Nt/oȖ]_w툕2{>{!!"$[69ZkTƪavsHKu/z33[/;}8V(<Q;5N
+e-4#,w3;l!zzNBŭq' 32&ʴJ.aq 3ZuܿS(<ZTAo!ݾif[ r'I7uJ8$),|/5zΒi+
+kY@d؇FGcGJ)?= t YE
+1U//vaϴ5/4=gU+.5{O*KQvfuwApwd]V)rT׊ȫGTr۔KEѺABlĺ?rӍWn7_"9^N+|v$;XѧӰK=@yuׇʢ {9Ԫ1xWiN?:uc7.6 @cyQua#8$NIp 'Sa
+f/oimvhdG$
+a*t@BmڶM8y-^ 2o*~=cmT͍EDN
+h9;Xz٭Ĺ"aH%η..1@j3ŝ?"+>kmߢ0DVՇ:q!P;Gt| Iajc0@*r/x&ΙPiC:r5{(PӃ'IxuH2֒EUR>>@*|l M؊'ʯuo! <$ UXUp$["Fa|ZbZx_SNDLN}i;0vX:OR HN:0/cqid~wXcXӪ/8{5<\x;%=g'~!0蘜$.?qcOpZ@xi !{z
+^nzONs~)$fu'\GUOIɹG92Q3͊mׯ"c%/྿гqW:jy6vELnG?jqA"Nd7.pp./з7/r<2\#%U.{cS~0DN?ʡ]&~y4,-dlI{ 5nmw8/־Jd|/SK\cr'i=P r?CZ<m'wT¬5ZLpaoe.rŘU- xՔKR#_oNYFCad'${W
+z4`; v(5x7yTVíR6{:4F>=4v`vŘZqk[rEVTѓ\-cCR1G4|`efA|BhBh.ζ-$""eqR:d2ӼRĘ+dz#U3? gN/Wc>◦XT0ŤJ\&ےUE"~ܖ]FiF6RR1CuM
+T-1aRb^UvJX`X⃾m"0qfs:<yYxs q qpl
+}apNoQ̮/(HPJa1{ēUjRI8y\;
+@>Op{; (0W!]Twi;F٬{'oBVsJ!Iv^Ot^5fҮ(-3HMJTNBB(ƉvN d*ʪB)7/η̩!l_<ͫr#mGfœu>,x`Sm1{@]EZ<&C'k <P1zR)yX8}!A%g(d2>@=D 'r R*xv6K* e?42DwGBK 6I T v j  4~3;KK.C>m% 'hI)JQx aV1PޤdG\i
+EvY~nGFTN#1@^jeGzFվTRH1?G=Bђ G퍅^<ҊGwX22
+Nǡ$0C;qLS"dIi\-,AiUfSP7z4[7a8~\
+yt9iMLBq.S9N!cc.ǃ Ԝ/ hʫ"Nwe` uwB+sD±+/E6盈@-A`{l=e_ 4~8TJOpbƲq^k'Z}8kXa`qws.7}@&I:7?!Ge*UIgZ{e|SCADBziR2ڝ]BKhN#x.ࣅY&Vux9#M*Sŧuk
+%J ¥/&d
+)^x4uŅJ!ի鿒X1)e?65^1rtaS }:
+i7{ah9T8{yO͞uVK)g:֦z)`{ҰF}o5cV.}bptެ$-ߨ4otz
+1LE6MhCJ 49z5Ja;"M%=$* "k \Ȇ]f0Z4ˊT]cc]nQ1XF薅)(!Z)2eHMQ/[@?D%/\{l}Znr3ϴ.&KB0Wvc^U푓˟Ӫļ/9ĩW{uj?-z wےZ[bBgݽ^H7Yb,ls7& _ r'"k_4:,JlJBFDgRϗxsOvR?gJKkpV5ʾgf%;?|TVCAtޒW*1#Ds< FiFKNM.mx$[AI]|\Y/ {rĝmfO'u,coѯ%q$%&aCh1
+gi]Y)yIm}WTNj' _8m(A8,]ZT;MDW]
+wgΧ7DjglFN|Z"Z}b:pAՆd&hY5||1V,=,!)^|Ȋk?hѵb qmY0v^<ѧ~
+InW$zcQ*e
+d/*Kv/*o;=2? BZoo}]Y'w
++~̄xdW_ IM1Zkj3t^ee!Jj~8{}IW0_sYh۴UNMWGe(lA
+;2'!~Af4k@}hY1\_E'W
+%Ԥv.rK?MU^f*7PtULYqы
+<
+T΄2>3Xިiq3\pϾ?Z5!FV%Pm#YO~ž?r&DU zL[
+UDrho+kv+jM"@b'#xpr|SsA~ʮ٘Oa?YoΈ|ajlk"#Q'X
+/ zo\/ n՝ŋW]<w@t1,|.<4?0z^ɳVLti! J'V
+YXq
+4\K3}&8Vf7~u]mGCէ=}lP pU+[|ʠ [-VGc/TM)bqc=8 ՠ/4e]*loul0[ʰPC>?<^جtRrBXv<PX$ɣ-5>,-Zιn~% sOOK}&%vJϼ܂8#'Mp4N,c&+R[=YEBM2@q$\z}wzl\ܧlDu fp{H%ۧUTnP~k^چTOѱ(%ZA4siCYf䎞w^QVsj $v0w2r_I)ntvK$kD2C`H=~FeӟЈ
+,=B8؝E0
+Ic&ND&Te4c4=M^ 3]Q.I N2Rx|y#5h69p0DzB5O& /̣w@?Z.) >)i]QN4irVn~ܙ&8Şk!e
+"H8rFQ[-fJPoo#V5#$Og9$6712.Prz7̄Q
+(Cb~Mr'uŖ@=<+E/ wJ%%cַ#)xZrex9K(x|ZS6%=cWhٰ yEEuoZ4mzZZz 6<m±C R~
+/kOn] MV6&A+XSrAgow5I7ܰO؆\=MJބ0Ua$5L@b7CEPO4}
+g$,^n+]3 
+Vw%έGQwlRQg~1dq6_i꜑_(+[5Z
+O0九{%4~ZJdKjƔZQkqSV5Q 5]04ߙ4EJ7v*m0[E0ǀ*jԲo';44]m
+7DZ Rf#@7#. 6M1\B־*fLUS)$E1_(:Xiͨ%#/+7뵌 d*"lѽk_$R ~c|M&<I"|@CN0$hˌ$xZVy[PlHq_޷}u kp7KsNKCFUqŌ܀\;|j-qHuDYK^vA[uP c,8Ew wJ|4;[sT=J(̈J9÷V&2+m|ˌ+MbS؊*tτ2=IQ]{ƶ-l:i#3RQ&N7R݈;A $s%L{t
+'bt1h`^e;7`hl΢TӨWuf$퀴oq2WZ,*ޛϖLӚX5 6554,E?nk_C6\vd4Wedio'kEE~
+1N.,DFUj2oF<{PV]gQxV%HVHf];\s>PyopT
+Sޅ=wb>&gO?坾m@ (t#Pӊӛ22Z^ؚRъa]|xKL0/
+ cԚMy40E{.{=wX] Ygw~߹Axu٤ H$b$6Unp5SvEg->"a1bS0t{8"xbAo+.NMpM鑖ʬ*7TjP{?}vTM999D5 u~BgRP6e=lze3'Sq+j-1tdrE9fހ)ʩh?iu<{zY.} [* JK 7$cEM!gY
+pXhJ_ ay. QQRiNz)9@5GX } kYxށURX&`UP9\.G,$c*
+ 1^oeogdA|0j5;#<o 9ƍH3 ՙE}љlUT2$v ԏ,}]'mAe N'P Fӊ!?^e+%t (Z%+Q\=k~O:I?6"8!tj=(.TWh|ph4 [
+Sԑѥ<".cse*tIЗ\VbLp\P-ę|?f!$KW(^;}};Vm?r MWNyzKJJF1R5fuA>1ú|Ӝ*FG)eq;-th!<f¸e_-*K}uaޗ]HtręeC^pn10ihGG7.ZԽ9IG|۾E{K;cє02uk6: /
+֕0#.LS'ElKШZe7Tyoq9|RcɦF_4ȦreGvː/+H:)Hit^֓~iq|BѤi(D=@r8IOV~F5ge<8492@d|@'H=P# @c~v7nfmB%\Um'F:d:Eۧ˺wL 4I0Eo͑>gvt%ɽt'\nsl×*(nzlO^8 Yqrc#ΆUdgwJ،lmF7 '{mڑK| n. HdWo;|1Ò / L(<,s)ٽ#2/t́cbN}J!B4o $5mڃ34e pqݹ%Y ,[7ӯ~IQ>2;-tҒn` [{rn| J>+3 N @Ug wNL]l!G]^L^)!sp:kV|bY$RQ*ܰ,T1v.6/ͩ\ ?D[;<_&sw;$=-}OԀF7RI6FfbOS$m$ձoW.ONai4B?.LA֭ 4-QުؑW(ϞJJNPo'٫8FG֓ 5L߰\)J'W*`Σ*H<ϣdG
+X)cMƶp*ɥ_0oW]P{95Asiӏ4M+7)=oR!' 7;hFNSԃr18m!Q>ĄPӴMX` Cf|5*]ɽ힣UCb߬Z'Fc4AW4o+6)b"R_ g -`IWȹ#;zҮGz%]tk>"*+":nu2M2(r&0Z:5<4Z*wJ)?Wļ&`tnoA?E,}L7!nTqJYʢD=6^=|5P7H/"LUĿ|T9nscџb?daBiD$; }%|5w냓Wܧl)tEi.}ތX5; eFU$h0n9Π**Pcor7EBpNbڳcF_Dae3 gVYQE-Id'm[ ղ!=qkhj=┅1d0cLz!=YhxU0!f4 Һ{!8PO%'wZ5SLU9Est rj rC
+&2g㪂$@Ib&IM??
endstream
endobj
679 0 obj
<<
/Type /FontDescriptor
-/FontName /WOYMVV+LMMonoSlant10-Regular
+/FontName /TRWRZP+LMMonoSlant10-Regular
/Flags 4
/FontBBox [-477 -316 786 1016]
/Ascent 599
@@ -5072,7 +5074,7 @@ endobj
/ItalicAngle -9
/StemV 69
/XHeight 431
-/CharSet (/A/B/C/J/L/P/R/T/Z/a/asterisk/b/braceleft/braceright/c/comma/d/e/f/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/r/s/t/u/v/w/x/y/z)
+/CharSet (/A/B/C/J/L/P/R/T/Z/a/asterisk/b/braceleft/braceright/c/comma/d/e/f/g/h/hyphen/i/k/l/m/n/o/p/parenleft/parenright/period/q/r/s/t/u/v/w/x/y/z)
/FontFile 678 0 R
>>
endobj
@@ -5221,7 +5223,7 @@ endobj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /COHYWX+LMRoman17-Regular
+/BaseFont /ZSYAVJ+LMRoman17-Regular
/FontDescriptor 659 0 R
/FirstChar 40
/LastChar 120
@@ -5448,7 +5450,7 @@ endobj
<<
/Type /Font
/Subtype /Type1
-/BaseFont /WOYMVV+LMMonoSlant10-Regular
+/BaseFont /TRWRZP+LMMonoSlant10-Regular
/FontDescriptor 679 0 R
/FirstChar 40
/LastChar 125
@@ -6410,8 +6412,8 @@ endobj
<<
/Producer (MiKTeX pdfTeX-1.40.24)
/Author()/Title()/Subject()/Creator(LaTeX with hyperref)/Keywords()
-/CreationDate (D:20221230130030-03'00')
-/ModDate (D:20221230130030-03'00')
+/CreationDate (D:20230113111724-03'00')
+/ModDate (D:20230113111724-03'00')
/Trapped /False
/PTEX.Fullbanner (This is MiKTeX-pdfTeX 4.13.0 (1.40.24))
>>
@@ -6419,457 +6421,452 @@ endobj
xref
0 765
0000000178 65535 f
-0000125255 00000 n
-0000125275 00000 n
-0000125295 00000 n
+0000125565 00000 n
+0000125585 00000 n
+0000125605 00000 n
0000000015 00000 n
-0000026552 00000 n
-0000524714 00000 n
+0000026551 00000 n
+0000525249 00000 n
0000000060 00000 n
0000000146 00000 n
-0000026612 00000 n
-0000524655 00000 n
+0000026611 00000 n
+0000525190 00000 n
0000000194 00000 n
0000000299 00000 n
-0000026672 00000 n
-0000524531 00000 n
+0000026671 00000 n
+0000525066 00000 n
0000000345 00000 n
0000000445 00000 n
-0000031273 00000 n
-0000524457 00000 n
+0000031336 00000 n
+0000524992 00000 n
0000000494 00000 n
0000000589 00000 n
-0000035461 00000 n
-0000524370 00000 n
+0000035599 00000 n
+0000524905 00000 n
0000000638 00000 n
0000000786 00000 n
-0000035522 00000 n
-0000524296 00000 n
+0000035660 00000 n
+0000524831 00000 n
0000000835 00000 n
0000000953 00000 n
-0000035583 00000 n
-0000524171 00000 n
+0000035721 00000 n
+0000524706 00000 n
0000000999 00000 n
0000001134 00000 n
-0000039923 00000 n
-0000524097 00000 n
+0000040062 00000 n
+0000524632 00000 n
0000001183 00000 n
0000001288 00000 n
-0000045065 00000 n
-0000524010 00000 n
+0000045204 00000 n
+0000524545 00000 n
0000001338 00000 n
0000001425 00000 n
-0000048358 00000 n
-0000523923 00000 n
+0000048497 00000 n
+0000524458 00000 n
0000001475 00000 n
0000001603 00000 n
-0000048419 00000 n
-0000523849 00000 n
+0000048558 00000 n
+0000524384 00000 n
0000001653 00000 n
0000001781 00000 n
-0000059728 00000 n
-0000523724 00000 n
+0000059867 00000 n
+0000524259 00000 n
0000001829 00000 n
0000001964 00000 n
-0000059789 00000 n
-0000523650 00000 n
+0000059928 00000 n
+0000524185 00000 n
0000002015 00000 n
0000002143 00000 n
-0000063573 00000 n
-0000523563 00000 n
+0000063712 00000 n
+0000524098 00000 n
0000002194 00000 n
0000002327 00000 n
-0000063634 00000 n
-0000523489 00000 n
+0000063773 00000 n
+0000524024 00000 n
0000002378 00000 n
0000002521 00000 n
-0000063695 00000 n
-0000523364 00000 n
+0000063834 00000 n
+0000523899 00000 n
0000002569 00000 n
0000002709 00000 n
-0000066969 00000 n
-0000523290 00000 n
+0000067280 00000 n
+0000523825 00000 n
0000002760 00000 n
0000002865 00000 n
-0000067030 00000 n
-0000523216 00000 n
+0000067341 00000 n
+0000523751 00000 n
0000002916 00000 n
0000003026 00000 n
-0000067091 00000 n
-0000523091 00000 n
+0000067402 00000 n
+0000523626 00000 n
0000003074 00000 n
0000003214 00000 n
-0000067152 00000 n
-0000523030 00000 n
+0000067462 00000 n
+0000523565 00000 n
0000003265 00000 n
0000003408 00000 n
-0000071147 00000 n
-0000522905 00000 n
+0000071457 00000 n
+0000523440 00000 n
0000003456 00000 n
0000003596 00000 n
-0000071208 00000 n
-0000522831 00000 n
+0000071518 00000 n
+0000523366 00000 n
0000003647 00000 n
0000003729 00000 n
-0000072075 00000 n
-0000522757 00000 n
+0000072385 00000 n
+0000523292 00000 n
0000003780 00000 n
0000003895 00000 n
-0000072630 00000 n
-0000522629 00000 n
+0000072940 00000 n
+0000523164 00000 n
0000003943 00000 n
0000004210 00000 n
-0000072691 00000 n
-0000522551 00000 n
+0000073001 00000 n
+0000523086 00000 n
0000004262 00000 n
0000004368 00000 n
-0000077361 00000 n
-0000522473 00000 n
+0000077671 00000 n
+0000523008 00000 n
0000004420 00000 n
0000004531 00000 n
-0000077919 00000 n
-0000522342 00000 n
+0000078229 00000 n
+0000522877 00000 n
0000004580 00000 n
0000004858 00000 n
-0000077981 00000 n
-0000522263 00000 n
+0000078291 00000 n
+0000522798 00000 n
0000004910 00000 n
0000005051 00000 n
-0000082853 00000 n
-0000522145 00000 n
+0000083163 00000 n
+0000522680 00000 n
0000005103 00000 n
0000005214 00000 n
-0000083225 00000 n
-0000522066 00000 n
+0000083535 00000 n
+0000522601 00000 n
0000005269 00000 n
0000005388 00000 n
-0000090108 00000 n
-0000521973 00000 n
+0000090418 00000 n
+0000522508 00000 n
0000005443 00000 n
0000005567 00000 n
-0000096926 00000 n
-0000521894 00000 n
+0000097236 00000 n
+0000522429 00000 n
0000005622 00000 n
0000005781 00000 n
-0000107725 00000 n
-0000521762 00000 n
+0000108035 00000 n
+0000522297 00000 n
0000005830 00000 n
0000006142 00000 n
-0000107787 00000 n
-0000521683 00000 n
+0000108097 00000 n
+0000522218 00000 n
0000006194 00000 n
0000006300 00000 n
-0000107849 00000 n
-0000521590 00000 n
+0000108159 00000 n
+0000522125 00000 n
0000006352 00000 n
0000006463 00000 n
-0000117337 00000 n
-0000521511 00000 n
+0000117647 00000 n
+0000522046 00000 n
0000006515 00000 n
0000006603 00000 n
-0000117399 00000 n
-0000521379 00000 n
+0000117709 00000 n
+0000521914 00000 n
0000006652 00000 n
0000006969 00000 n
-0000121616 00000 n
-0000521300 00000 n
+0000121926 00000 n
+0000521835 00000 n
0000007021 00000 n
0000007221 00000 n
-0000121678 00000 n
-0000521221 00000 n
+0000121988 00000 n
+0000521756 00000 n
0000007273 00000 n
0000007427 00000 n
-0000124817 00000 n
-0000521089 00000 n
+0000125127 00000 n
+0000521624 00000 n
0000007476 00000 n
0000007818 00000 n
-0000124879 00000 n
-0000521024 00000 n
+0000125189 00000 n
+0000521559 00000 n
0000007870 00000 n
0000008049 00000 n
-0000124941 00000 n
-0000520906 00000 n
+0000125251 00000 n
+0000521441 00000 n
0000008098 00000 n
0000008450 00000 n
-0000125003 00000 n
-0000520841 00000 n
+0000125313 00000 n
+0000521376 00000 n
0000008502 00000 n
0000008666 00000 n
-0000013196 00000 n
+0000013195 00000 n
0000000180 00000 f
-0000013535 00000 n
+0000013534 00000 n
0000000182 00000 f
-0000013687 00000 n
+0000013686 00000 n
0000000184 00000 f
-0000013841 00000 n
+0000013840 00000 n
0000000186 00000 f
-0000013992 00000 n
+0000013991 00000 n
0000000188 00000 f
-0000014147 00000 n
+0000014146 00000 n
0000000190 00000 f
-0000014302 00000 n
+0000014301 00000 n
0000000192 00000 f
-0000014457 00000 n
+0000014456 00000 n
0000000194 00000 f
-0000014607 00000 n
+0000014606 00000 n
0000000196 00000 f
-0000014762 00000 n
+0000014761 00000 n
0000000198 00000 f
-0000014918 00000 n
+0000014917 00000 n
0000000200 00000 f
-0000015074 00000 n
+0000015073 00000 n
0000000202 00000 f
-0000015230 00000 n
+0000015229 00000 n
0000000204 00000 f
-0000015384 00000 n
+0000015383 00000 n
0000000206 00000 f
-0000015540 00000 n
+0000015539 00000 n
0000000208 00000 f
-0000015696 00000 n
+0000015695 00000 n
0000000210 00000 f
-0000015853 00000 n
+0000015852 00000 n
0000000212 00000 f
-0000016007 00000 n
+0000016006 00000 n
0000000214 00000 f
-0000016163 00000 n
+0000016162 00000 n
0000000216 00000 f
-0000016320 00000 n
+0000016319 00000 n
0000000218 00000 f
-0000016474 00000 n
+0000016473 00000 n
0000000220 00000 f
-0000016631 00000 n
+0000016630 00000 n
0000000222 00000 f
-0000016785 00000 n
+0000016784 00000 n
0000000224 00000 f
-0000016942 00000 n
+0000016941 00000 n
0000000226 00000 f
-0000017098 00000 n
+0000017097 00000 n
0000000228 00000 f
-0000017248 00000 n
+0000017247 00000 n
0000000230 00000 f
-0000017403 00000 n
+0000017402 00000 n
0000000232 00000 f
-0000023680 00000 n
+0000023679 00000 n
0000000234 00000 f
-0000023833 00000 n
+0000023832 00000 n
0000000247 00000 f
-0000017681 00000 n
+0000017680 00000 n
0000008716 00000 n
-0000017557 00000 n
-0000017619 00000 n
-0000504859 00000 n
-0000503745 00000 n
-0000500406 00000 n
-0000502631 00000 n
-0000514906 00000 n
-0000501520 00000 n
-0000520227 00000 n
-0000023990 00000 n
+0000017556 00000 n
+0000017618 00000 n
+0000505394 00000 n
+0000504280 00000 n
+0000500941 00000 n
+0000503166 00000 n
+0000515441 00000 n
+0000502055 00000 n
+0000520762 00000 n
+0000023989 00000 n
0000000249 00000 f
-0000024147 00000 n
+0000024146 00000 n
0000000251 00000 f
-0000024307 00000 n
+0000024306 00000 n
0000000253 00000 f
-0000024466 00000 n
+0000024465 00000 n
0000000255 00000 f
-0000024626 00000 n
+0000024625 00000 n
0000000257 00000 f
-0000024780 00000 n
+0000024779 00000 n
0000000259 00000 f
-0000024936 00000 n
+0000024935 00000 n
0000000261 00000 f
-0000025093 00000 n
+0000025092 00000 n
0000000263 00000 f
-0000025248 00000 n
+0000025247 00000 n
0000000265 00000 f
-0000025402 00000 n
+0000025401 00000 n
0000000267 00000 f
-0000025559 00000 n
+0000025558 00000 n
0000000269 00000 f
-0000025716 00000 n
+0000025715 00000 n
0000000271 00000 f
-0000025870 00000 n
+0000025869 00000 n
0000000273 00000 f
-0000026026 00000 n
+0000026025 00000 n
0000000000 00000 f
-0000026333 00000 n
-0000026733 00000 n
-0000023405 00000 n
-0000017870 00000 n
-0000026490 00000 n
-0000026180 00000 n
-0000507087 00000 n
-0000505973 00000 n
-0000513789 00000 n
-0000510436 00000 n
-0000509319 00000 n
-0000031334 00000 n
-0000031092 00000 n
-0000026938 00000 n
-0000031211 00000 n
-0000518090 00000 n
-0000516850 00000 n
-0000515783 00000 n
-0000035643 00000 n
-0000035280 00000 n
-0000031551 00000 n
-0000035399 00000 n
-0000511552 00000 n
-0000040170 00000 n
-0000039742 00000 n
-0000035848 00000 n
-0000039861 00000 n
-0000039984 00000 n
-0000040046 00000 n
-0000040108 00000 n
-0000520037 00000 n
-0000045622 00000 n
-0000044574 00000 n
-0000040415 00000 n
-0000044693 00000 n
-0000044755 00000 n
-0000044817 00000 n
-0000044879 00000 n
-0000044941 00000 n
-0000045003 00000 n
-0000045126 00000 n
-0000045188 00000 n
-0000045250 00000 n
-0000045312 00000 n
-0000045374 00000 n
-0000045436 00000 n
-0000045498 00000 n
-0000045560 00000 n
-0000050152 00000 n
-0000048177 00000 n
-0000045853 00000 n
-0000048296 00000 n
-0000048480 00000 n
-0000048542 00000 n
-0000048603 00000 n
-0000048665 00000 n
-0000048727 00000 n
-0000048789 00000 n
-0000048851 00000 n
-0000048913 00000 n
-0000048975 00000 n
-0000049037 00000 n
-0000049099 00000 n
-0000049161 00000 n
-0000049223 00000 n
-0000049285 00000 n
-0000049347 00000 n
-0000049409 00000 n
-0000049471 00000 n
-0000049533 00000 n
-0000049595 00000 n
-0000049657 00000 n
-0000049718 00000 n
-0000049780 00000 n
-0000049842 00000 n
-0000049904 00000 n
-0000049966 00000 n
-0000050028 00000 n
-0000050090 00000 n
-0000520344 00000 n
-0000053488 00000 n
-0000052132 00000 n
-0000050370 00000 n
-0000052251 00000 n
-0000052313 00000 n
-0000052375 00000 n
-0000052437 00000 n
-0000052499 00000 n
-0000052561 00000 n
-0000052623 00000 n
-0000052685 00000 n
-0000052747 00000 n
-0000052808 00000 n
-0000052870 00000 n
-0000052931 00000 n
-0000052993 00000 n
-0000053054 00000 n
-0000053116 00000 n
-0000053178 00000 n
-0000053240 00000 n
-0000053302 00000 n
-0000053364 00000 n
-0000053426 00000 n
-0000059850 00000 n
-0000056330 00000 n
-0000053679 00000 n
-0000056449 00000 n
-0000056511 00000 n
-0000056572 00000 n
-0000056634 00000 n
-0000056696 00000 n
-0000056758 00000 n
-0000056820 00000 n
-0000056882 00000 n
-0000056944 00000 n
-0000057006 00000 n
-0000057068 00000 n
-0000057130 00000 n
-0000057192 00000 n
-0000057254 00000 n
-0000057315 00000 n
-0000057377 00000 n
-0000057437 00000 n
-0000057499 00000 n
-0000057560 00000 n
-0000057622 00000 n
-0000057684 00000 n
-0000057746 00000 n
-0000057808 00000 n
-0000057870 00000 n
-0000057932 00000 n
-0000057994 00000 n
-0000058056 00000 n
-0000058118 00000 n
-0000058180 00000 n
-0000058242 00000 n
-0000058304 00000 n
-0000058365 00000 n
-0000058427 00000 n
-0000058489 00000 n
-0000058551 00000 n
-0000058613 00000 n
-0000058674 00000 n
-0000058736 00000 n
-0000058798 00000 n
-0000058860 00000 n
-0000058922 00000 n
-0000058984 00000 n
-0000059046 00000 n
-0000059108 00000 n
-0000059170 00000 n
-0000059232 00000 n
-0000059294 00000 n
-0000059356 00000 n
-0000059418 00000 n
-0000059480 00000 n
-0000059542 00000 n
-0000059604 00000 n
-0000059666 00000 n
-0000519062 00000 n
-0000063756 00000 n
-0000063392 00000 n
-0000060069 00000 n
-0000063511 00000 n
-0000067213 00000 n
-0000066788 00000 n
-0000063920 00000 n
-0000066907 00000 n
-0000512668 00000 n
-0000072753 00000 n
-0000070966 00000 n
-0000067417 00000 n
-0000071085 00000 n
-0000071269 00000 n
-0000071331 00000 n
-0000071393 00000 n
-0000071455 00000 n
-0000071517 00000 n
+0000026332 00000 n
+0000026732 00000 n
+0000023404 00000 n
+0000017869 00000 n
+0000026489 00000 n
+0000026179 00000 n
+0000507622 00000 n
+0000506508 00000 n
+0000514324 00000 n
+0000510971 00000 n
+0000509854 00000 n
+0000031397 00000 n
+0000031155 00000 n
+0000026937 00000 n
+0000031274 00000 n
+0000518625 00000 n
+0000517385 00000 n
+0000516318 00000 n
+0000035782 00000 n
+0000035418 00000 n
+0000031614 00000 n
+0000035537 00000 n
+0000512087 00000 n
+0000040309 00000 n
+0000039881 00000 n
+0000035987 00000 n
+0000040000 00000 n
+0000040123 00000 n
+0000040185 00000 n
+0000040247 00000 n
+0000520572 00000 n
+0000045761 00000 n
+0000044713 00000 n
+0000040554 00000 n
+0000044832 00000 n
+0000044894 00000 n
+0000044956 00000 n
+0000045018 00000 n
+0000045080 00000 n
+0000045142 00000 n
+0000045265 00000 n
+0000045327 00000 n
+0000045389 00000 n
+0000045451 00000 n
+0000045513 00000 n
+0000045575 00000 n
+0000045637 00000 n
+0000045699 00000 n
+0000050291 00000 n
+0000048316 00000 n
+0000045992 00000 n
+0000048435 00000 n
+0000048619 00000 n
+0000048681 00000 n
+0000048742 00000 n
+0000048804 00000 n
+0000048866 00000 n
+0000048928 00000 n
+0000048990 00000 n
+0000049052 00000 n
+0000049114 00000 n
+0000049176 00000 n
+0000049238 00000 n
+0000049300 00000 n
+0000049362 00000 n
+0000049424 00000 n
+0000049486 00000 n
+0000049548 00000 n
+0000049610 00000 n
+0000049672 00000 n
+0000049734 00000 n
+0000049796 00000 n
+0000049857 00000 n
+0000049919 00000 n
+0000049981 00000 n
+0000050043 00000 n
+0000050105 00000 n
+0000050167 00000 n
+0000050229 00000 n
+0000520879 00000 n
+0000053627 00000 n
+0000052271 00000 n
+0000050509 00000 n
+0000052390 00000 n
+0000052452 00000 n
+0000052514 00000 n
+0000052576 00000 n
+0000052638 00000 n
+0000052700 00000 n
+0000052762 00000 n
+0000052824 00000 n
+0000052886 00000 n
+0000052947 00000 n
+0000053009 00000 n
+0000053070 00000 n
+0000053132 00000 n
+0000053193 00000 n
+0000053255 00000 n
+0000053317 00000 n
+0000053379 00000 n
+0000053441 00000 n
+0000053503 00000 n
+0000053565 00000 n
+0000059989 00000 n
+0000056469 00000 n
+0000053818 00000 n
+0000056588 00000 n
+0000056650 00000 n
+0000056711 00000 n
+0000056773 00000 n
+0000056835 00000 n
+0000056897 00000 n
+0000056959 00000 n
+0000057021 00000 n
+0000057083 00000 n
+0000057145 00000 n
+0000057207 00000 n
+0000057269 00000 n
+0000057331 00000 n
+0000057393 00000 n
+0000057454 00000 n
+0000057516 00000 n
+0000057576 00000 n
+0000057638 00000 n
+0000057699 00000 n
+0000057761 00000 n
+0000057823 00000 n
+0000057885 00000 n
+0000057947 00000 n
+0000058009 00000 n
+0000058071 00000 n
+0000058133 00000 n
+0000058195 00000 n
+0000058257 00000 n
+0000058319 00000 n
+0000058381 00000 n
+0000058443 00000 n
+0000058504 00000 n
+0000058566 00000 n
+0000058628 00000 n
+0000058690 00000 n
+0000058752 00000 n
+0000058813 00000 n
+0000058875 00000 n
+0000058937 00000 n
+0000058999 00000 n
+0000059061 00000 n
+0000059123 00000 n
+0000059185 00000 n
+0000059247 00000 n
+0000059309 00000 n
+0000059371 00000 n
+0000059433 00000 n
+0000059495 00000 n
+0000059557 00000 n
+0000059619 00000 n
+0000059681 00000 n
+0000059743 00000 n
+0000059805 00000 n
+0000519597 00000 n
+0000063895 00000 n
+0000063531 00000 n
+0000060208 00000 n
+0000063650 00000 n
+0000067523 00000 n
+0000067099 00000 n
+0000064059 00000 n
+0000067218 00000 n
+0000513203 00000 n
+0000073063 00000 n
+0000071276 00000 n
+0000067727 00000 n
+0000071395 00000 n
0000071579 00000 n
0000071641 00000 n
0000071703 00000 n
@@ -6878,46 +6875,46 @@ xref
0000071889 00000 n
0000071951 00000 n
0000072013 00000 n
-0000072136 00000 n
-0000072198 00000 n
-0000072260 00000 n
-0000072322 00000 n
-0000072384 00000 n
-0000072445 00000 n
-0000072507 00000 n
-0000072568 00000 n
-0000076986 00000 n
-0000077142 00000 n
-0000078042 00000 n
-0000076839 00000 n
-0000073011 00000 n
-0000077299 00000 n
-0000077423 00000 n
-0000077485 00000 n
-0000077547 00000 n
+0000072075 00000 n
+0000072137 00000 n
+0000072199 00000 n
+0000072261 00000 n
+0000072323 00000 n
+0000072446 00000 n
+0000072508 00000 n
+0000072570 00000 n
+0000072632 00000 n
+0000072694 00000 n
+0000072755 00000 n
+0000072817 00000 n
+0000072878 00000 n
+0000077296 00000 n
+0000077452 00000 n
+0000078352 00000 n
+0000077149 00000 n
+0000073321 00000 n
0000077609 00000 n
-0000077671 00000 n
0000077733 00000 n
0000077795 00000 n
0000077857 00000 n
-0000520461 00000 n
-0000082322 00000 n
-0000082478 00000 n
-0000084217 00000 n
-0000082167 00000 n
-0000078260 00000 n
-0000082791 00000 n
-0000082915 00000 n
-0000082977 00000 n
-0000083039 00000 n
+0000077919 00000 n
+0000077981 00000 n
+0000078043 00000 n
+0000078105 00000 n
+0000078167 00000 n
+0000520996 00000 n
+0000082632 00000 n
+0000082788 00000 n
+0000084527 00000 n
+0000082477 00000 n
+0000078570 00000 n
0000083101 00000 n
-0000083163 00000 n
-0000082634 00000 n
+0000083225 00000 n
0000083287 00000 n
0000083349 00000 n
0000083411 00000 n
0000083473 00000 n
-0000083535 00000 n
+0000082944 00000 n
0000083597 00000 n
0000083659 00000 n
0000083721 00000 n
@@ -6928,27 +6925,27 @@ xref
0000084031 00000 n
0000084093 00000 n
0000084155 00000 n
-0000508202 00000 n
-0000088415 00000 n
-0000088728 00000 n
-0000088884 00000 n
-0000089043 00000 n
-0000089359 00000 n
-0000089513 00000 n
-0000089668 00000 n
-0000089826 00000 n
-0000091407 00000 n
-0000088204 00000 n
-0000084450 00000 n
-0000089984 00000 n
-0000090046 00000 n
-0000088572 00000 n
-0000089202 00000 n
-0000090170 00000 n
-0000090232 00000 n
+0000084217 00000 n
+0000084279 00000 n
+0000084341 00000 n
+0000084403 00000 n
+0000084465 00000 n
+0000508737 00000 n
+0000088725 00000 n
+0000089038 00000 n
+0000089194 00000 n
+0000089353 00000 n
+0000089669 00000 n
+0000089823 00000 n
+0000089978 00000 n
+0000090136 00000 n
+0000091717 00000 n
+0000088514 00000 n
+0000084760 00000 n
0000090294 00000 n
0000090356 00000 n
-0000090418 00000 n
+0000088882 00000 n
+0000089512 00000 n
0000090480 00000 n
0000090542 00000 n
0000090604 00000 n
@@ -6956,238 +6953,243 @@ xref
0000090728 00000 n
0000090790 00000 n
0000090852 00000 n
-0000090913 00000 n
-0000090975 00000 n
-0000091036 00000 n
-0000091098 00000 n
-0000091159 00000 n
-0000091221 00000 n
-0000091283 00000 n
-0000091345 00000 n
-0000097049 00000 n
-0000095385 00000 n
-0000091638 00000 n
-0000095504 00000 n
-0000095566 00000 n
-0000095628 00000 n
-0000095690 00000 n
-0000095752 00000 n
+0000090914 00000 n
+0000090976 00000 n
+0000091038 00000 n
+0000091100 00000 n
+0000091162 00000 n
+0000091223 00000 n
+0000091285 00000 n
+0000091346 00000 n
+0000091408 00000 n
+0000091469 00000 n
+0000091531 00000 n
+0000091593 00000 n
+0000091655 00000 n
+0000097359 00000 n
+0000095695 00000 n
+0000091948 00000 n
0000095814 00000 n
0000095876 00000 n
0000095938 00000 n
0000096000 00000 n
-0000096061 00000 n
-0000096123 00000 n
-0000096183 00000 n
-0000096245 00000 n
-0000096306 00000 n
-0000096368 00000 n
-0000096430 00000 n
-0000096492 00000 n
-0000096554 00000 n
+0000096062 00000 n
+0000096124 00000 n
+0000096186 00000 n
+0000096248 00000 n
+0000096310 00000 n
+0000096371 00000 n
+0000096433 00000 n
+0000096493 00000 n
+0000096555 00000 n
0000096616 00000 n
0000096678 00000 n
0000096740 00000 n
0000096802 00000 n
0000096864 00000 n
-0000096987 00000 n
-0000101309 00000 n
-0000101468 00000 n
-0000101785 00000 n
-0000101942 00000 n
-0000107035 00000 n
-0000107192 00000 n
-0000103183 00000 n
-0000101130 00000 n
-0000097254 00000 n
-0000102256 00000 n
-0000102318 00000 n
-0000102379 00000 n
-0000102440 00000 n
-0000102502 00000 n
-0000102564 00000 n
-0000102626 00000 n
-0000102688 00000 n
+0000096926 00000 n
+0000096988 00000 n
+0000097050 00000 n
+0000097112 00000 n
+0000097174 00000 n
+0000097297 00000 n
+0000101619 00000 n
+0000101778 00000 n
+0000102095 00000 n
+0000102252 00000 n
+0000107345 00000 n
+0000107502 00000 n
+0000103493 00000 n
+0000101440 00000 n
+0000097564 00000 n
+0000102566 00000 n
+0000102628 00000 n
+0000102689 00000 n
0000102750 00000 n
0000102812 00000 n
0000102874 00000 n
0000102936 00000 n
0000102998 00000 n
0000103060 00000 n
-0000103121 00000 n
-0000101627 00000 n
-0000102099 00000 n
-0000107349 00000 n
-0000107506 00000 n
-0000107911 00000 n
-0000106872 00000 n
-0000103375 00000 n
-0000107663 00000 n
-0000112660 00000 n
-0000112479 00000 n
-0000108115 00000 n
-0000112598 00000 n
-0000520578 00000 n
-0000117461 00000 n
-0000117034 00000 n
-0000112863 00000 n
-0000117153 00000 n
-0000117215 00000 n
-0000117276 00000 n
-0000121740 00000 n
-0000121435 00000 n
-0000117665 00000 n
-0000121554 00000 n
+0000103122 00000 n
+0000103184 00000 n
+0000103246 00000 n
+0000103308 00000 n
+0000103370 00000 n
+0000103431 00000 n
+0000101937 00000 n
+0000102409 00000 n
+0000107659 00000 n
+0000107816 00000 n
+0000108221 00000 n
+0000107182 00000 n
+0000103685 00000 n
+0000107973 00000 n
+0000112970 00000 n
+0000112789 00000 n
+0000108425 00000 n
+0000112908 00000 n
+0000521113 00000 n
+0000117771 00000 n
+0000117344 00000 n
+0000113173 00000 n
+0000117463 00000 n
+0000117525 00000 n
+0000117586 00000 n
+0000122050 00000 n
+0000121745 00000 n
+0000117975 00000 n
+0000121864 00000 n
+0000125375 00000 n
+0000124946 00000 n
+0000122240 00000 n
0000125065 00000 n
-0000124636 00000 n
-0000121930 00000 n
-0000124755 00000 n
-0000498560 00000 n
-0000125348 00000 n
-0000125869 00000 n
-0000499382 00000 n
-0000126116 00000 n
-0000126261 00000 n
-0000126284 00000 n
-0000499138 00000 n
-0000126523 00000 n
-0000499213 00000 n
-0000126684 00000 n
-0000499319 00000 n
-0000127292 00000 n
-0000127317 00000 n
-0000127870 00000 n
-0000128415 00000 n
-0000129268 00000 n
-0000129293 00000 n
-0000129746 00000 n
-0000130191 00000 n
-0000130554 00000 n
-0000131090 00000 n
-0000131403 00000 n
-0000131977 00000 n
-0000132476 00000 n
-0000153982 00000 n
-0000154225 00000 n
-0000175760 00000 n
-0000176025 00000 n
-0000178610 00000 n
-0000178861 00000 n
-0000207820 00000 n
-0000208171 00000 n
-0000241900 00000 n
-0000242428 00000 n
-0000268146 00000 n
-0000268465 00000 n
-0000283014 00000 n
-0000283246 00000 n
-0000302221 00000 n
-0000302537 00000 n
-0000320074 00000 n
-0000320353 00000 n
-0000344649 00000 n
-0000344996 00000 n
-0000370978 00000 n
-0000371352 00000 n
-0000374023 00000 n
-0000374306 00000 n
-0000400204 00000 n
-0000400492 00000 n
-0000434206 00000 n
-0000434500 00000 n
-0000468058 00000 n
-0000468705 00000 n
-0000498188 00000 n
-0000499481 00000 n
-0000500595 00000 n
-0000501709 00000 n
-0000502823 00000 n
-0000503937 00000 n
-0000505051 00000 n
-0000506163 00000 n
-0000507278 00000 n
-0000508393 00000 n
-0000509510 00000 n
-0000510627 00000 n
-0000511742 00000 n
-0000512865 00000 n
-0000513980 00000 n
-0000515102 00000 n
-0000515979 00000 n
-0000517047 00000 n
-0000518281 00000 n
-0000519255 00000 n
-0000520679 00000 n
-0000520765 00000 n
-0000524823 00000 n
-0000525003 00000 n
-0000525181 00000 n
-0000525359 00000 n
-0000525533 00000 n
-0000525703 00000 n
-0000525887 00000 n
-0000526110 00000 n
-0000526333 00000 n
-0000526547 00000 n
-0000526765 00000 n
-0000526982 00000 n
-0000527200 00000 n
-0000527416 00000 n
-0000527634 00000 n
-0000527851 00000 n
-0000528069 00000 n
-0000528287 00000 n
-0000528504 00000 n
-0000528721 00000 n
-0000528939 00000 n
-0000529156 00000 n
-0000529372 00000 n
-0000529590 00000 n
-0000529808 00000 n
-0000530026 00000 n
-0000530242 00000 n
-0000530459 00000 n
-0000530672 00000 n
-0000530882 00000 n
-0000531092 00000 n
-0000531302 00000 n
-0000531512 00000 n
-0000531722 00000 n
-0000531932 00000 n
-0000532142 00000 n
-0000532352 00000 n
-0000532541 00000 n
-0000532711 00000 n
-0000532880 00000 n
-0000533042 00000 n
-0000533252 00000 n
-0000533443 00000 n
-0000533640 00000 n
-0000533850 00000 n
-0000534070 00000 n
-0000534292 00000 n
-0000534512 00000 n
-0000534733 00000 n
-0000534843 00000 n
-0000534961 00000 n
-0000535082 00000 n
-0000535203 00000 n
-0000535324 00000 n
-0000535444 00000 n
-0000535563 00000 n
-0000535681 00000 n
-0000535804 00000 n
-0000535893 00000 n
-0000536009 00000 n
-0000536109 00000 n
-0000536198 00000 n
-0000536236 00000 n
-0000536364 00000 n
+0000499095 00000 n
+0000125658 00000 n
+0000126179 00000 n
+0000499917 00000 n
+0000126426 00000 n
+0000126571 00000 n
+0000126594 00000 n
+0000499673 00000 n
+0000126833 00000 n
+0000499748 00000 n
+0000126994 00000 n
+0000499854 00000 n
+0000127602 00000 n
+0000127627 00000 n
+0000128180 00000 n
+0000128725 00000 n
+0000129578 00000 n
+0000129603 00000 n
+0000130056 00000 n
+0000130501 00000 n
+0000130864 00000 n
+0000131400 00000 n
+0000131713 00000 n
+0000132287 00000 n
+0000132786 00000 n
+0000154292 00000 n
+0000154535 00000 n
+0000176070 00000 n
+0000176335 00000 n
+0000178920 00000 n
+0000179171 00000 n
+0000208130 00000 n
+0000208481 00000 n
+0000242210 00000 n
+0000242738 00000 n
+0000268454 00000 n
+0000268772 00000 n
+0000283321 00000 n
+0000283553 00000 n
+0000302528 00000 n
+0000302844 00000 n
+0000320381 00000 n
+0000320660 00000 n
+0000344956 00000 n
+0000345303 00000 n
+0000371285 00000 n
+0000371659 00000 n
+0000374330 00000 n
+0000374613 00000 n
+0000400511 00000 n
+0000400799 00000 n
+0000434513 00000 n
+0000434807 00000 n
+0000468365 00000 n
+0000469012 00000 n
+0000498721 00000 n
+0000500016 00000 n
+0000501130 00000 n
+0000502244 00000 n
+0000503358 00000 n
+0000504472 00000 n
+0000505586 00000 n
+0000506698 00000 n
+0000507813 00000 n
+0000508928 00000 n
+0000510045 00000 n
+0000511162 00000 n
+0000512277 00000 n
+0000513400 00000 n
+0000514515 00000 n
+0000515637 00000 n
+0000516514 00000 n
+0000517582 00000 n
+0000518816 00000 n
+0000519790 00000 n
+0000521214 00000 n
+0000521300 00000 n
+0000525358 00000 n
+0000525538 00000 n
+0000525716 00000 n
+0000525894 00000 n
+0000526068 00000 n
+0000526238 00000 n
+0000526422 00000 n
+0000526645 00000 n
+0000526868 00000 n
+0000527082 00000 n
+0000527300 00000 n
+0000527517 00000 n
+0000527735 00000 n
+0000527951 00000 n
+0000528169 00000 n
+0000528386 00000 n
+0000528604 00000 n
+0000528822 00000 n
+0000529039 00000 n
+0000529256 00000 n
+0000529474 00000 n
+0000529691 00000 n
+0000529907 00000 n
+0000530125 00000 n
+0000530343 00000 n
+0000530561 00000 n
+0000530777 00000 n
+0000530994 00000 n
+0000531207 00000 n
+0000531417 00000 n
+0000531627 00000 n
+0000531837 00000 n
+0000532047 00000 n
+0000532257 00000 n
+0000532467 00000 n
+0000532677 00000 n
+0000532887 00000 n
+0000533076 00000 n
+0000533246 00000 n
+0000533415 00000 n
+0000533577 00000 n
+0000533787 00000 n
+0000533978 00000 n
+0000534175 00000 n
+0000534385 00000 n
+0000534605 00000 n
+0000534827 00000 n
+0000535047 00000 n
+0000535268 00000 n
+0000535378 00000 n
+0000535496 00000 n
+0000535617 00000 n
+0000535738 00000 n
+0000535859 00000 n
+0000535979 00000 n
+0000536098 00000 n
+0000536216 00000 n
+0000536339 00000 n
+0000536428 00000 n
+0000536544 00000 n
+0000536644 00000 n
+0000536733 00000 n
+0000536771 00000 n
+0000536899 00000 n
trailer
<< /Size 765
/Root 763 0 R
/Info 764 0 R
-/ID [<919655E37E655A08E5D2EDED61CA4288> <919655E37E655A08E5D2EDED61CA4288>] >>
+/ID [<C9538CA1CF21543D35D755BBB491BEDC> <C9538CA1CF21543D35D755BBB491BEDC>] >>
startxref
-536638
+537173
%%EOF
diff --git a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
index bc325351c2..61fce8c768 100644
--- a/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
+++ b/macros/latex/contrib/ufrgscca/doc/ufrgscca.tex
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -84,12 +84,13 @@ Being based on the report class, one can use all class options one would with a
\DescribeOption{strict-abnt} to assure asymmetric margins, as defined by ABNT: inner ones greater than outer ones, which matters if you are going to print the doc and make a book of it, but makes it odd to look at in a computer screen, reason by which the current default setting is for symmetric margins (same text width).
\DescribeOption{pretextontoc} “pre-text” elements, like “list of$\dots$” will be inserted in the “table of contents”.
\DescribeOption{yearsonly} Cover pages, at their bottom, will display the years only (instead of the default mouth year construct).
- \DescribeOption{timesroman} will set the default font to Roman (using the obsolete mathptmx package, based on a free replacement of the proprietary Times New Roman (by Microsoft) and Times Roman (By Adobe)) instead of the default Latin Modern Roman font. As a side effect, the package \Pack{microtype} isn't loaded (can't be used), resulting in a sub-optimal overall layout. NB. The alternative (newer and maintained) packages newtxtext/newtxmath can't be used due to some packages incompatibilities.
+ \DescribeOption{timesroman} will set the default font to Roman (using the obsolete mathptmx package, based on a free replacement of the proprietary Times New Roman (by Microsoft) and Times Roman (By Adobe)) instead of the default Latin Modern Roman font. As a side effect, the package \Pack{microtype} isn't loaded (can't be used), resulting in a sub-optimal overall layout. NB. The alternative (newer and maintained) packages \Pack{newtxtext}/\Pack{newtxmath} can't be used due to some packages incompatibilities.
\DescribeOption{repeatfields} in case of authors with multiple publications, their names will be repeated for each entry. In the default setting the author's name is written only in the first entry, and replaced by underscores in the other entries.
\DescribeOption{xlists} this will load the {\MetaFmt[Pack]\sffamily ufrgscca-lists} package, for the definition of new floats/lists.
\DescribeOption{xpacks} this will load a series of packages, which can be handy when writing Engineering reports: {\MetaFmt[Pack]\sffamily relsize, keyval, graphicx, mathtools, mathrsfs, amsfonts, amssymb, empheq, amsthm, ext\-arrows, mathfixs, bigdelim, circuitikz, steimenz} and tikz libraries: {\MetaFmt[Pack]\sffamily fit, math, calc, shapes.geometry, shapes.misc, shapes.multipart, graphs, 3d, positioning, shadows, babel}. One is advised to look after each package documentation (ctan.org) for further information.
\DescribeOption{report} in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).
\DescribeOption{internship} in case the doc is an internship report.
+ \DescribeOption{nonrequired} in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise.
\DescribeOption{forms} in the process of submitting a student final work/report, there is a series of forms to be submitted, this allows the customization of said forms in a simple way.
\DescribeOption{chapternopagenum} to suppress the page numbers at chapters begin.
\DescribeOption{nomicrotype} in some rare cases, \Pack{microtype} might hurt page layout, this allows the suppression of \Pack{microtype}.
@@ -520,7 +521,9 @@ This package is the one that sets the front pages, depending on the kind of 'rep
\subsection{Package Options}
\begin{Options}
\DescribeOption{report} in case the doc is just a class assignment with, possibly, many co-authors. It changes mainly the front matter, which is simplified (no referral page, for instance).
- \DescribeOption{internship} in case the report is a internship one.
+ \DescribeOption{internship} in case the doc is an internship report.
+ \DescribeOption{nonrequired} in case the internship report is related to a “non required” / “optional” internship. This option is ignored otherwise.
+
\end{Options}
\subsection{Defined Commands}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
index 792bb1d924..40b21d272f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-abnt}
\def\tc@tmp@altpackname{ufrgsccaabnt}
\def\tc@tmp@packdesc{UFRGS/CCA ABNT layout}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
index d99bdf760a..ed6cd3a304 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-coord.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-coord}
\def\tc@tmp@altpackname{ufrgsccacoord}
\def\tc@tmp@packdesc{UFRGS/CCA coord commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
index 6bb94cc898..fce9b66cd6 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-core.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-core}
\def\tc@tmp@altpackname{ufrgsccacore}
\def\tc@tmp@packdesc{UFRGS/CCA core commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
index 51b8007c58..0af3d8eab2 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-cover.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-cover}
\def\tc@tmp@altpackname{ufrgsccacover}
\def\tc@tmp@packdesc{UFRGS/CCA cover commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
@@ -37,6 +37,8 @@
report.if = tcif@report,
internship.usage = load,
internship.if = tcif@internship,
+ nonrequired.usage = load,
+ nonrequired.if = tcif@nonrequired,
}
\ProcessKeyOptions[ufrgscca-cover]\relax
@@ -312,12 +314,15 @@
}%
\vfill%
}%
+ \iftcif@nonrequired
+ \else
\@ifundefined{tcdef@core@coursecoord}{}{%
\hspace*{\fill}\parbox[b]{.70\textwidth}{%%
\tccover@approvalpageinternshipcoordinfo%
}%
\vfill%
}%
+ \fi
\vfill%
\hfill\tc@city, \tc@monthyeardate
\end{center}%
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
index cabc800728..62437c5456 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-graph.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr-graph}
\def\tc@tmp@altpackname{tccurrgraph}
\def\tc@tmp@packdesc{UFRGS/CCA graph curricula commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5alpha}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6alpha}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
index 4e96a632e5..d3f7d6d2de 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr-tab.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr-tab}
\def\tc@tmp@altpackname{ufrgsccacurrtab}
\def\tc@tmp@packdesc{UFRGS/CCA curricula tabular commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5alpha}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6alpha}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
index ca5cd67625..6a3cafa28d 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-curr.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-curr}
\def\tc@tmp@altpackname{ufrgsccacurr}
\def\tc@tmp@packdesc{UFRGS/CCA curricula commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5beta}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6beta}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
index f0f7af8cf3..cf98baa641 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-base.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-en-base}
\def\tc@tmp@altpackname{ufrgsccaenbase}
\def\tc@tmp@packdesc{UFRGS/CCA English base defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
index 3289bcb572..737571226a 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-coord.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-en-coord}
\def\tc@tmp@altpackname{ufrgsccaencoord}
\def\tc@tmp@packdesc{UFRGS/CCA English coord defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
index 80b2a048e7..1ee3b969ee 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-core.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-en-core}
\def\tc@tmp@altpackname{ufrgsccaencore}
\def\tc@tmp@packdesc{UFRGS/CCA English core defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
index b0f40f546e..e7530a66cf 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-en-forms.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-en-forms}
\def\tc@tmp@altpackname{ufrgsccaenforms}
\def\tc@tmp@packdesc{UFRGS/CCA English forms defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
index 84f683e3b6..ad8ab1604b 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-forms.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-forms}
\def\tc@tmp@altpackname{ufrgsccaforms}
\def\tc@tmp@packdesc{UFRGS/CCA forms commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
index d711b59a18..01374c129f 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-gen.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-gen}
\def\tc@tmp@altpackname{ufrgsccagen}
\def\tc@tmp@packdesc{UFRGS/CCA generic/miscellany commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
index 9a167dc08f..27c9cb9484 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-lists.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-lists}
\def\tc@tmp@altpackname{ufrgsccalists}
\def\tc@tmp@packdesc{UFRGS/CCA auxiliary lists commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
index 349284dd0f..d5e7e3bcbc 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca-ppc}
\def\tc@tmp@altpackname{ufrgsccappc}
\def\tc@tmp@packdesc{UFRGS/CCA PPC commands}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
index f8394d7fe7..c847f32159 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-base.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-base}
\def\tc@tmp@altpackname{ufrgsccaptbrbase}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese base defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
index 42d9d75ea1..1e9c8b669d 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-coord}
\def\tc@tmp@altpackname{ufrgsccaptbrcoord}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese coord defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
index 50df5ebcff..61f7327009 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-core.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-core}
\def\tc@tmp@altpackname{ufrgsccaptbrcore}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese core defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
@@ -50,15 +50,28 @@
\advisorname{Orientador\tccore@@ref{advisor}{narticle}}%
\coadvisorname{Co-orientador\tccore@@ref{coadvisor}{narticle}}%
+\iftcif@nonrequired
+ \internshiptitle{Relatório de Estágio Não Obrigatório}
+\else
+ \internshiptitle{Relatório de Estágio Supervisionado Obrigatório em \tcdef@cover@course}
+\fi
-\internshiptitle{Relatório de Estágio Supervisionado Obrigatório em \tcdef@cover@course}
\internshipcoord{Atual Coordenador(a) de Estágios}
\internshipcoordtitle{Coord\tccore@@ref{internshipcoord}{narticle}. da Atividade de Estágio Supervisionado Obrigatório}
-\internshipinfo{%
-Este Relatório foi julgado adequado para a obtenção do conceito final na \textsl{Atividade de Estágio Supervisionado Obrigatório}
-em \emph{\tcdef@cover@course\ } e aprovado em sua forma final pel\tccore@@ref{tutor}{article} Tutor\tccore@@ref{tutor}{narticle},
-Supervisor\tccore@@ref{supervisor}{narticle} e Coordenador\tccore@@ref{internshipcoord}{narticle} da Atividade.
+
+\iftcif@nonrequired
+ \internshipinfo{%
+ Este Relatório foi julgado adequado para a \textsl{Atividade de Estágio Não Obrigatório}
+ em \emph{\tcdef@cover@course\ } e aprovado em sua forma final pel\tccore@@ref{tutor}{article} Tutor\tccore@@ref{tutor}{narticle} e
+ Supervisor\tccore@@ref{supervisor}{narticle}.
}%
+\else
+ \internshipinfo{%
+ Este Relatório foi julgado adequado para a obtenção do conceito final na \textsl{Atividade de Estágio Supervisionado Obrigatório}
+ em \emph{\tcdef@cover@course\ } e aprovado em sua forma final pel\tccore@@ref{tutor}{article} Tutor\tccore@@ref{tutor}{narticle},
+ Supervisor\tccore@@ref{supervisor}{narticle} e Coordenador\tccore@@ref{internshipcoord}{narticle} da Atividade.
+ }%
+\fi
\examinername{Banca Examinadora}%
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
index f905006e8a..1c33570339 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -27,8 +27,8 @@
\def\tc@tmp@packname{ufrgscca-ptBR-forms}
\def\tc@tmp@altpackname{ufrgsccaptbrforms}
\def\tc@tmp@packdesc{UFRGS/CCA Portuguese forms defs}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
diff --git a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
index 489e9b2eb0..a0516ace52 100644
--- a/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
+++ b/macros/latex/contrib/ufrgscca/latex/ufrgscca.cls
@@ -12,7 +12,7 @@
%%
%% The Current Maintainer of this work is Alceu Frigeri
%%
-%% This is version 1.0.5 (2022/12/30)
+%% This is version 1.0.6 (2023/01/13)
%%
%% The list of files that compose this work can be found in the README.md file at
%% https://ctan.org/pkg/ufrgscca
@@ -26,8 +26,8 @@
\def\tc@tmp@packname{ufrgscca}
\def\tc@tmp@altpackname{ufrgscca}
\def\tc@tmp@packdesc{UFRGS/CCA class}
-\def\tc@tmp@packdate{2022/12/30}
-\def\tc@tmp@packversion{1.0.5}
+\def\tc@tmp@packdate{2023/01/13}
+\def\tc@tmp@packversion{1.0.6}
\let\@exp\expandafter
\@exp\edef\csname\tc@tmp@altpackname version\endcsname{\tc@tmp@packversion}
\@exp\@exp\@exp\ProvidesPackage\@exp\@exp\@exp{\@exp\tc@tmp@packname\@exp}\@exp[\tc@tmp@packdate\space v\tc@tmp@packversion\space\tc@tmp@packdesc]
@@ -94,6 +94,8 @@
report.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-cover}},
internship.usage = load,
internship.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-cover}},
+ nonrequired.usage = load,
+ nonrequired.code = {\PassOptionsToPackage{\CurrentOption}{ufrgscca-cover}},
texlive.usage = load,
texlive.if = tcif@texlive,
diff --git a/macros/luatex/generic/luakeys/documentation.tex b/macros/luatex/generic/luakeys/documentation.tex
index 42da7c1acc..2e57cbae19 100644
--- a/macros/luatex/generic/luakeys/documentation.tex
+++ b/macros/luatex/generic/luakeys/documentation.tex
@@ -64,7 +64,7 @@ The default value of the option “\texttt{#1}” is:
\href{https://github.com/Josef-Friedrich/luakeys}
{github.com/Josef-Friedrich/luakeys}%
}
-\date{v0.12.0 from 2023/01/05}
+\date{v0.13.0 from 2023/01/13}
\maketitle
@@ -273,11 +273,14 @@ and loads the Lua module \texttt{luakeys.lua} into the global variable
Luakeys exports only one function that must be called to access the
public API.
%
-% Das Lua-Modul exportiert diese Funktionen und Tabellen:
-The Lua module exports this functions and tables:
+% Diese Exportfunktion gibt eine Tabelle zurück, die die öffentlichen
+% Funktionen und weiteren Tabellen enthält:
+This export function returns a table containing the public functions and
+additional tables:
\InputLua[firstline=3,lastline=16]{export.lua}
+\noindent
% Das Projekt verwendet einige wenige Abkürzungen für Variablennamen,
% die hoffentlich für externe Leser eindeutig und bekannt sind.
The project uses a few abbreviations for variable names that are
@@ -316,6 +319,19 @@ The raw result of the Lpeg grammar parser. \\
\end{tabular}
\end{center}
+\noindent
+% Es wird empfohlen, beim Entwickeln im Texteditor luakeys zusammen mit
+% dem Lua-Language-Server zu verwenden.
+It is recommended to use luakeys together with the
+\href{https://github.com/sumneko/lua-language-server}{github.com/sumneko/lua-language-server}
+when developing in a text editor.
+%
+% Luakeys unterstützt nämlich das vom Server angeboten Annotationsformat
+luakeys supports the annotation format offered by the server.
+% Sie sollten dann Warnungen erhalten, wenn Sie die mittlerweile
+% ziemlich große API von luakeys falsch verwenden.
+You should then get warnings if you misuse luakeys’ now rather large API.
+
%%
%
%%
@@ -1524,7 +1540,7 @@ therefore accepts any data type.
% In der Tabelle \lua{utils} sind einige Hilfsfunktionen gebündelt.
The \lua{utils} table bundles some auxiliary functions.
-\InputLua[firstline=3,lastline=34]{utils/all.lua}
+\InputLua[firstline=3,lastline=37]{utils/all.lua}
%%
%
@@ -1621,6 +1637,18 @@ installed.
\InputLua[firstline=4,lastline=10]{version.lua}
+%%
+%
+%%
+
+\subsection{Table “error_messages”}
+
+\InputLua[firstline=4,lastline=17]{error-messages.lua}
+
+\begin{description}
+\directlua{luakeys.print_error_messages()}
+\end{description}
+
%-----------------------------------------------------------------------
%
%-----------------------------------------------------------------------
@@ -2069,93 +2097,6 @@ An example of how to use the command in \LaTeX:
\inputminted[linenos=true]{latex}{luakeys-debug.sty}
-\changes{v0.1.0}{2021/01/18}{Inital release}
-\changes{v0.2.0}{2021/09/19}{
-* Allow all recognized data types as keys.
-* Allow TeX macros in the values.
-* New public Lua functions: save(identifier, result), get(identifier).
-}
-\changes{v0.3.0}{2021/11/05}{
-* Add a LuaLaTeX wrapper “luakeys.sty”.
-* Add a plain LuaTeX wrapper “luakeys.tex”.
-* Rename the previous documentation file “luakeys.tex” to luakeys-doc.tex”.
-}
-\changes{v0.4.0}{2021/12/31}{
-* Parser: Add support for nested tables (for example {{'a', 'b'}}).
-* Parser: Allow only strings and numbers as keys.
-* Parser: Remove support from Lua numbers with exponents (for example '5e+20').
-* Switch the Lua testing framework to busted.
-}
-\changes{v0.5.0}{2022/04/04}{
-* Add possibility to change options globally.
-* New option: standalone_as_true.
-* Add a recursive converter callback / hook to process the parse tree.
-* New option: case_insensitive_keys.
-}
-\changes{v0.6.0}{2022/06/09}{
-* New feature: keys now can be defined using the function
- “define(defs, opts)” or “define(kv_string, { defs = { key = { ... } } })”
-* Rename the global options table from “default_options” to “opts”.
-* New option “format_keys”.
-* Remove option “case_insensitive_keys”. Use
- “format_keys = \{ lower \}” to achieve the same effect.
-* The default value of the option “convert_dimension” is now false.
-* The option “standalone_as_true” is renamed to “naked_as_value”.
- The boolean value of the option must be changed to the opposite to.
- produce the previous effect.
-* The function “print()” is now called “debug()”.
-}
-\changes{v0.7.0}{2022/07/06}{
-* The project now uses semantic versioning.
-* New definition attribute “pick” to pick standalone values and assign
- them to a key.
-* New function “utils.scan_oarg()” to search for an optional argument,
- that means scan for tokens that are enclosed in square brackets.
-* Extend and improve the documentation.
-}
-\changes{v0.8.0}{2022/11/17}{
-* Add 6 new options to change the delimiters: “assignment_operator”,
- “group_begin”, “group_end”, “list_separator”, “quotation_begin”,
- “quotation_end”.
-* Extend the documentation about the option “format_keys”.
-}
-\changes{v0.9.0}{2022/11/21}{
-* The definition attibute “pick” accepts a new data type: “any”.
-* The attribute value “true” for the attribute “pick” is deprecated.
-* The attribute “pick” accepts now multiple data types specified in
- a table.
-* Add a new function called “any(value)” in the “is” table that accepts
- any data type.
-}
-\changes{v0.10.0}{2022/12/16}{
-* Add support for an invert flat that flips the value of naked keys.
-* Add new options to specify which strings are recognized as Boolean
- values.
-}
-\changes{v0.11.0}{2022/12/23}{
-* Add a new function called “get_private_instance()” to load a private
- version of the luakeys module.
-}
-\changes{v0.12.0}{2023/01/05}{
-Added
-* Macros \cmd{\LuakeysGetPackageOptions}, \cmd{\LuakeysGetClassOptions}.
-* Option “accumulated_result”.
-* Data type “list” to the attribute “data_type”.
-* Attribute “description”.
-* Tables “utils.log” and “utils.ansi_color”.
-* Table “errors_message” to set custom messages.
-* Short form syntax for the definition attribute “opposite_keys”.
-Changed
-* Breaking change! luakeys exports now a function instead of a table.
- Use “require('luakeys')()” or “luakeys.new()” instead of
- “require('luakeys')”.
-* Breaking change! “luakeys.parse()”, “luakeys.define()”, “luakeys.save()”
- and “luakeys.get()” can’t be used anymore from the global variable luakeys.
-* New name for the function “new()” instead of “get_private_instance()".
-}
-
-\pagebreak
-\PrintChanges
\pagebreak
\PrintIndex
\end{document}
diff --git a/macros/luatex/generic/luakeys/luakeys-debug.sty b/macros/luatex/generic/luakeys/luakeys-debug.sty
index aa82ed78be..ef77fff632 100644
--- a/macros/luatex/generic/luakeys/luakeys-debug.sty
+++ b/macros/luatex/generic/luakeys/luakeys-debug.sty
@@ -17,6 +17,6 @@
% luakeys-debug.sty and luakeys-debug.tex.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luakeys-debug}[2023/01/05 v0.12.0 Debug package for luakeys.]
+\ProvidesPackage{luakeys-debug}[2023/01/13 v0.13.0 Debug package for luakeys.]
\input luakeys-debug.tex
diff --git a/macros/luatex/generic/luakeys/luakeys.lua b/macros/luatex/generic/luakeys/luakeys.lua
index c3da56e716..ede652cf64 100644
--- a/macros/luatex/generic/luakeys/luakeys.lua
+++ b/macros/luatex/generic/luakeys/luakeys.lua
@@ -17,7 +17,6 @@
---luakeys-debug.sty and luakeys-debug.tex.
----A key-value parser written with Lpeg.
---
----@module luakeys
local lpeg = require('lpeg')
if not tex then
@@ -34,6 +33,7 @@ if not tex then
}
end
+---
local utils = (function()
---
---Merge two tables into the first specified table.
@@ -88,10 +88,10 @@ local utils = (function()
---
---Remove an element from a table.
---
- ---@param source table
- ---@param value any
+ ---@param source table # The source table.
+ ---@param value any # The value to be removed from the table.
---
- ---@return any|nil
+ ---@return any|nil # If the value was found, then this value, otherwise nil.
local function remove_from_table(source, value)
for index, v in pairs(source) do
if value == v then
@@ -102,7 +102,9 @@ local utils = (function()
end
---
- ---@param source table
+ ---Return the keys of a table as a sorted list (array like table).
+ ---
+ ---@param source table # The source table.
---
---@return table # An array table with the sorted key names.
local function get_table_keys(source)
@@ -148,47 +150,32 @@ local utils = (function()
end
---
- ---Scan for an optional argument.
+ ---Print a formatted string.
---
- ---@param initial_delimiter? string # The character that marks the beginning of an optional argument (by default `[`).
- ---@param end_delimiter? string # The character that marks the end of an optional argument (by default `]`).
+ ---* `%d` or `%i`: Signed decimal integer
+ ---* `%u`: Unsigned decimal integer
+ ---* `%o`: Unsigned octal
+ ---* `%x`: Unsigned hexadecimal integer
+ ---* `%X`: Unsigned hexadecimal integer (uppercase)
+ ---* `%f`: Decimal floating point, lowercase
+ ---* `%e`: Scientific notation (mantissa/exponent), lowercase
+ ---* `%E`: Scientific notation (mantissa/exponent), uppercase
+ ---* `%g`: Use the shortest representation: %e or %f
+ ---* `%G`: Use the shortest representation: %E or %F
+ ---* `%a`: Hexadecimal floating point, lowercase
+ ---* `%A`: Hexadecimal floating point, uppercase
+ ---* `%c`: Character
+ ---* `%s`: String of characters
+ ---* `%p`: Pointer address b8000000
+ ---* `%%`: A `%` followed by another `%` character will write a single `%` to the stream.
+ ---* `%q`: formats `booleans`, `nil`, `numbers`, and `strings` in a way that the result is a valid constant in Lua source code.
---
- ---@return string|nil # The string that was enclosed by the delimiters. The delimiters themselves are not returned.
- local function scan_oarg(initial_delimiter,
- end_delimiter)
- if initial_delimiter == nil then
- initial_delimiter = '['
- end
-
- if end_delimiter == nil then
- end_delimiter = ']'
- end
-
- local function convert_token(t)
- if t.index ~= nil then
- return utf8.char(t.index)
- else
- return '\\' .. t.csname
- end
- end
-
- local function get_next_char()
- local t = token.get_next()
- return convert_token(t), t
- end
-
- local char, t = get_next_char()
- if char == initial_delimiter then
- local oarg = {}
- char = get_next_char()
- while char ~= end_delimiter do
- table.insert(oarg, char)
- char = get_next_char()
- end
- return table.concat(oarg, '')
- else
- token.put_next(t)
- end
+ ---http://www.lua.org/source/5.3/lstrlib.c.html#str_format
+ ---
+ ---@param format string # A string in the `printf` format
+ ---@param ... any # A sequence of additional arguments, each containing a value to be used to replace a format specifier in the format string.
+ local function tex_printf(format, ...)
+ tex.print(string.format(format, ...))
end
---
@@ -278,6 +265,54 @@ local utils = (function()
throw_error_message(message, help)
end
+ ---
+ ---Scan for an optional argument.
+ ---
+ ---@param initial_delimiter? string # The character that marks the beginning of an optional argument (by default `[`).
+ ---@param end_delimiter? string # The character that marks the end of an optional argument (by default `]`).
+ ---
+ ---@return string|nil # The string that was enclosed by the delimiters. The delimiters themselves are not returned.
+ local function scan_oarg(initial_delimiter,
+ end_delimiter)
+ if initial_delimiter == nil then
+ initial_delimiter = '['
+ end
+
+ if end_delimiter == nil then
+ end_delimiter = ']'
+ end
+
+ ---
+ ---@param t Token
+ ---
+ ---@return string
+ local function convert_token(t)
+ if t.index ~= nil then
+ return utf8.char(t.index)
+ else
+ return '\\' .. t.csname
+ end
+ end
+
+ local function get_next_char()
+ local t = token.get_next()
+ return convert_token(t), t
+ end
+
+ local char, t = get_next_char()
+ if char == initial_delimiter then
+ local oarg = {}
+ char = get_next_char()
+ while char ~= end_delimiter do
+ table.insert(oarg, char)
+ char = get_next_char()
+ end
+ return table.concat(oarg, '')
+ else
+ token.put_next(t)
+ end
+ end
+
local function visit_tree(tree, callback_func)
if type(tree) ~= 'table' then
throw_error_message(
@@ -504,19 +539,29 @@ local utils = (function()
---Log levels:
---
---* 0: silent
- ---* 1: error
- ---* 2: warn
- ---* 3: info
- ---* 4: verbose
- ---* 5: debug
+ ---* 1: error (red)
+ ---* 2: warn (yellow)
+ ---* 3: info (green)
+ ---* 4: verbose (blue)
+ ---* 5: debug (magenta)
---
local log = (function()
---@private
local opts = { level = 0 }
+ local function colorize_not(s)
+ return s
+ end
+
+ local colorize = colorize_not
+
---@private
local function print_message(message, ...)
- print(string.format(message, ...))
+ local args = {...}
+ for index, value in ipairs(args) do
+ args[index] = colorize(value)
+ end
+ print(string.format(message, table.unpack(args)))
end
---
@@ -548,7 +593,12 @@ local utils = (function()
end
opts.level = level
end
+ end
+ ---
+ ---@return integer
+ local function get_log_level()
+ return opts.level
end
---
@@ -560,7 +610,9 @@ local utils = (function()
---@param ... any
local function error(message, ...)
if opts.level >= 1 then
+ colorize = ansi_color.red
print_message(message, ...)
+ colorize = colorize_not
end
end
@@ -573,7 +625,9 @@ local utils = (function()
---@param ... any
local function warn(message, ...)
if opts.level >= 2 then
+ colorize = ansi_color.yellow
print_message(message, ...)
+ colorize = colorize_not
end
end
@@ -586,7 +640,9 @@ local utils = (function()
---@param ... any
local function info(message, ...)
if opts.level >= 3 then
+ colorize = ansi_color.green
print_message(message, ...)
+ colorize = colorize_not
end
end
@@ -599,7 +655,9 @@ local utils = (function()
---@param ... any
local function verbose(message, ...)
if opts.level >= 4 then
+ colorize = ansi_color.blue
print_message(message, ...)
+ colorize = colorize_not
end
end
@@ -612,12 +670,15 @@ local utils = (function()
---@param ... any
local function debug(message, ...)
if opts.level >= 5 then
+ colorize = ansi_color.magenta
print_message(message, ...)
+ colorize = colorize_not
end
end
return {
- set_log_level = set_log_level,
+ set = set_log_level,
+ get = get_log_level,
error = error,
warn = warn,
info = info,
@@ -634,11 +695,12 @@ local utils = (function()
get_table_size = get_table_size,
get_array_size = get_array_size,
visit_tree = visit_tree,
- scan_oarg = scan_oarg,
+ tex_printf = tex_printf,
throw_error_message = throw_error_message,
throw_error_code = throw_error_code,
- log = log,
+ scan_oarg = scan_oarg,
ansi_color = ansi_color,
+ log = log,
}
end)()
@@ -648,7 +710,7 @@ end)()
local visualizers = (function()
---
- ---The function `render(tbl)` reverses the function
+ ---Reverse the function
---`parse(kv_string)`. It takes a Lua table and converts this table
---into a key-value string. The resulting string usually has a
---different order as the input table. In Lua only tables with
@@ -783,6 +845,64 @@ local visualizers = (function()
return { render = render, stringify = stringify, debug = debug }
end)()
+---@class OptionCollection
+---@field accumulated_result? table
+---@field assignment_operator? string # default `=`
+---@field convert_dimensions? boolean # default `false`
+---@field debug? boolean # default `false`
+---@field default? boolean # default `true`
+---@field defaults? table
+---@field defs? DefinitionCollection
+---@field false_aliases? table default `{ 'false', 'FALSE', 'False' }`,
+---@field format_keys? boolean # default `false`,
+---@field group_begin? string default `{`,
+---@field group_end? string default `}`,
+---@field hooks? HookCollection
+---@field invert_flag? string default `!`
+---@field list_separator? string default `,`
+---@field naked_as_value? boolean # default `false`
+---@field no_error? boolean # default `false`
+---@field quotation_begin? string `"`
+---@field quotation_end? string `"`
+---@field true_aliases? table `{ 'true', 'TRUE', 'True' }`
+---@field unpack? boolean # default `true`
+
+---@alias KeysHook fun(key: string, value: any, depth: integer, current: table, result: table): string, any
+---@alias ResultHook fun(result: table): nil
+
+---@class HookCollection
+---@field kv_string? fun(kv_string: string): string
+---@field keys_before_opts? KeysHook
+---@field result_before_opts? ResultHook
+---@field keys_before_def? KeysHook
+---@field result_before_def? ResultHook
+---@field keys? KeysHook
+---@field result? ResultHook
+
+---@alias ProcessFunction fun(value: any, input: table, result: table, unknown: table): any
+
+---@alias PickDataType 'string'|'number'|'dimension'|'integer'|'boolean'|'any'
+
+---@class Definition
+---@field alias? string|table
+---@field always_present? boolean
+---@field choices? table
+---@field data_type? 'boolean'|'dimension'|'integer'|'number'|'string'|'list'
+---@field default? any
+---@field description? string
+---@field exclusive_group? string
+---@field l3_tl_set? string
+---@field macro? string
+---@field match? string
+---@field name? string
+---@field opposite_keys? table
+---@field pick? PickDataType|PickDataType[]|false
+---@field process? ProcessFunction
+---@field required? boolean
+---@field sub_keys? table<string, Definition>
+
+---@alias DefinitionCollection table<string|number, Definition>
+
local namespace = {
opts = {
accumulated_result = false,
@@ -883,10 +1003,13 @@ local namespace = {
}
---
----@return table # The public interface of the module.
+---Main entry point of the module.
+---
+---The return value is intentional not documented so the Lua language server can figure out the types.
local function main()
---The default options.
+ ---@type OptionCollection
local default_opts = utils.clone_table(namespace.opts)
local error_messages = utils.clone_table(namespace.error_messages)
@@ -901,9 +1024,9 @@ local function main()
---
---Normalize the parse options.
---
- ---@param opts? table # Options in a raw format. The table may be empty or some keys are not set.
+ ---@param opts? OptionCollection|unknown # Options in a raw format. The table may be empty or some keys are not set.
---
- ---@return table
+ ---@return OptionCollection
local function normalize_opts(opts)
if type(opts) ~= 'table' then
opts = {}
@@ -1461,10 +1584,10 @@ local function main()
throw_error('E010')
end
- ---@param value string
- local function remove_values(value)
+ ---@param v string
+ local function remove_values(v)
local count = 0
- while utils.remove_from_table(input, value) do
+ while utils.remove_from_table(input, v) do
count = count + 1
end
return count
@@ -1485,7 +1608,9 @@ local function main()
throw_error('E020',
{ ['true'] = true_key, ['false'] = false_key })
end
-
+ if true_count == 0 and false_count == 0 then
+ return
+ end
return true_count == 1 or false_count == 0
end
end,
@@ -1681,17 +1806,28 @@ local function main()
---Parse a LaTeX/TeX style key-value string into a Lua table.
---
---@param kv_string string # A string in the TeX/LaTeX style key-value format as described above.
- ---@param opts? table # A table containing options.
+ ---@param opts? OptionCollection # A table containing options.
---
---@return table result # The final result of all individual parsing and normalization steps.
---@return table unknown # A table with unknown, undefinied key-value pairs.
---@return table raw # The unprocessed, raw result of the LPeg parser.
local function parse(kv_string, opts)
+ opts = normalize_opts(opts)
+
+ local function log_result(caption, result)
+ utils.log
+ .debug('%s: \n%s', caption, visualizers.stringify(result))
+ end
+
if kv_string == nil then
return {}, {}, {}
end
- opts = normalize_opts(opts)
+ if opts.debug then
+ utils.log.set('debug')
+ end
+
+ utils.log.debug('kv_string: “%s”', kv_string)
if type(opts.hooks.kv_string) == 'function' then
kv_string = opts.hooks.kv_string(kv_string)
@@ -1700,6 +1836,8 @@ local function main()
local result = generate_parser('list', opts):match(kv_string)
local raw = utils.clone_table(result)
+ log_result('result after Lpeg Parsing', result)
+
local function apply_hook(name)
if type(opts.hooks[name]) == 'function' then
if name:match('^keys') then
@@ -1727,6 +1865,8 @@ local function main()
apply_hooks('before_opts')
+ log_result('after hooks before_opts', result)
+
---
---Normalize the result table of the LPeg parser. This normalization
---tasks are performed on the raw input table coming directly from
@@ -1803,6 +1943,8 @@ local function main()
end
result = apply_opts(result, opts)
+ log_result('after apply opts', result)
+
---All unknown keys are stored in this table
local unknown = nil
if type(opts.defs) == 'table' then
@@ -1811,15 +1953,15 @@ local function main()
{}, {}, utils.clone_table(result))
end
+ log_result('after apply_definitions', result)
+
apply_hooks()
if opts.defaults ~= nil and type(opts.defaults) == 'table' then
utils.merge_tables(result, opts.defaults, false)
end
- if opts.debug then
- visualizers.debug(result)
- end
+ log_result('End result', result)
if opts.accumulated_result ~= nil and type(opts.accumulated_result) ==
'table' then
@@ -1841,11 +1983,14 @@ local function main()
return {
new = main,
- version = { 0, 12, 0 },
+ version = { 0, 13, 0 },
---@see parse
parse = parse,
+ ---
+ ---@param defs DefinitionCollection
+ ---@param opts? OptionCollection
define = function(defs, opts)
return function(kv_string, inner_opts)
local options
@@ -1883,24 +2028,25 @@ local function main()
debug = visualizers.debug,
---
- ---The function `save(identifier, result): void` saves a result (a
+ ---Save a result (a
---table from a previous run of `parse`) under an identifier.
---Therefore, it is not necessary to pollute the global namespace to
---store results for the later usage.
---
---@param identifier string # The identifier under which the result is saved.
---
- ---@param result table # A result to be stored and that was created by the key-value parser.
+ ---@param result table|any # A result to be stored and that was created by the key-value parser.
save = function(identifier, result)
result_store[identifier] = result
end,
+ ---
---The function `get(identifier): table` retrieves a saved result
---from the result store.
---
---@param identifier string # The identifier under which the result was saved.
---
- ---@return table
+ ---@return table|any
get = function(identifier)
---if result_store[identifier] == nil then
--- throw_error('No stored result was found for the identifier \'' .. identifier .. '\'')
@@ -1931,6 +2077,23 @@ local function main()
tex.print(tostring(namespace[from][name]))
end,
+ print_error_messages = function()
+ local msgs = namespace.error_messages
+ local keys = utils.get_table_keys(namespace.error_messages)
+ for _, key in ipairs(keys) do
+ local msg = msgs[key]
+ ---@type string
+ local msg_text
+ if type(msg) == 'table' then
+ msg_text = msg[1]
+ else
+ msg_text = msg
+ end
+ utils.tex_printf('\\item[\\texttt{%s}]: \\texttt{%s}', key,
+ msg_text)
+ end
+ end,
+
---
---@param exported_table table
depublish_functions = function(exported_table)
diff --git a/macros/luatex/generic/luakeys/luakeys.pdf b/macros/luatex/generic/luakeys/luakeys.pdf
index 5d53f1a31a..7e7a25c620 100644
--- a/macros/luatex/generic/luakeys/luakeys.pdf
+++ b/macros/luatex/generic/luakeys/luakeys.pdf
Binary files differ
diff --git a/macros/luatex/generic/luakeys/luakeys.sty b/macros/luatex/generic/luakeys/luakeys.sty
index 4b5432faa3..6feef78b2a 100644
--- a/macros/luatex/generic/luakeys/luakeys.sty
+++ b/macros/luatex/generic/luakeys/luakeys.sty
@@ -17,7 +17,7 @@
% luakeys-debug.sty and luakeys-debug.tex.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luakeys}[2023/01/05 v0.12.0 Parsing key-value options using Lua.]
+\ProvidesPackage{luakeys}[2023/01/13 v0.13.0 Parsing key-value options using Lua.]
\directlua{
if luakeys == nil then
luakeys = require('luakeys')()