From 65d99621f172f8b0f59eb268b253e77a8b33fff7 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Thu, 5 Dec 2024 20:54:50 -0800 Subject: [PATCH 01/13] take \tikzpicture out of karnaugh-map environment This allows the user to place their own tikzpicture environment around the karnaugh-map-inner environment, which makes the package compatible with tikz externalization. --- karnaugh-map.dtx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 7c19d13..1cadbcb 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -329,6 +329,17 @@ % ^^A ########################################################################## % ^^A ########################################################################## \NewDocumentEnvironment{karnaugh-map}{D(){} s O{4} O{4} O{1}} {% + \begin{tikzpicture} + \IfBooleanTF{#2}{% + \begin{karnaugh-map-inner}(#1)*[#3][#4][#5]% + }{% + \begin{karnaugh-map-inner}(#1)[#3][#4][#5]% + } +}{% + \end{karnaugh-map-inner} + \end{tikzpicture} +} +\NewDocumentEnvironment{karnaugh-map-inner}{D(){} s O{4} O{4} O{1}} {% \begingroup % parse environment options \setkeys{karnaugh-map}{#1}% @@ -366,7 +377,6 @@ % to parse remaining arguments and finish initialization. \@karnaughmap@func@karnaughstart@% }{ - \end{tikzpicture} \endgroup } \DeclareDocumentCommand{\@karnaughmap@func@karnaughstart@}{oooooo} {% @@ -564,14 +574,14 @@ Existing templates have the following dimensions: 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4. }% \fi - \begin{tikzpicture}[ + \tikzset{ LineStyleA/.style={semithick,solid}, LineStyleB/.style={semithick,dash dot dot}, LineStyleC/.style={thin,double distance=0.8pt}, LineStyleD/.style={ultra thick}, LineStyleE/.style={semithick,dashed}, LineStyleF/.style={semithick,densely dotted}, - ] + } % grid {[START] % for all dimensions \draw[color=black, ultra thin] (0,0) grid (\@karnaughmap@var@mapsizex@,\@karnaughmap@var@mapsizey@); From 30e367f57b6230501c575a113484834d7f8670c5 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Fri, 28 Feb 2025 10:34:22 -0800 Subject: [PATCH 02/13] Remove the now-unneeded group and add test Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 6 +- .../karnaugh-221-label-using-inner.pdf | Bin 0 -> 26836 bytes test/expected/karnaugh-terms-using-inner.pdf | Bin 0 -> 48157 bytes test/karnaugh-221-label-using-inner.tex | 17 +++ test/karnaugh-terms-using-inner.tex | 105 ++++++++++++++++++ 5 files changed, 124 insertions(+), 4 deletions(-) create mode 100644 test/expected/karnaugh-221-label-using-inner.pdf create mode 100644 test/expected/karnaugh-terms-using-inner.pdf create mode 100644 test/karnaugh-221-label-using-inner.tex create mode 100644 test/karnaugh-terms-using-inner.tex diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 1cadbcb..10aa2bf 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -340,7 +340,6 @@ \end{tikzpicture} } \NewDocumentEnvironment{karnaugh-map-inner}{D(){} s O{4} O{4} O{1}} {% - \begingroup % parse environment options \setkeys{karnaugh-map}{#1}% % @@ -376,9 +375,8 @@ % only 9 arguments are directly supported. jump to helper function % to parse remaining arguments and finish initialization. \@karnaughmap@func@karnaughstart@% -}{ - \endgroup -} +}{} + \DeclareDocumentCommand{\@karnaughmap@func@karnaughstart@}{oooooo} {% % parse label args {[START] % try to maintain backwards compatibility with v1 while enabling users to separatly diff --git a/test/expected/karnaugh-221-label-using-inner.pdf b/test/expected/karnaugh-221-label-using-inner.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e691e407ab35a6d88eb0948455ddf67f8de588ac GIT binary patch literal 26836 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 literal 0 HcmV?d00001 diff --git a/test/expected/karnaugh-terms-using-inner.pdf b/test/expected/karnaugh-terms-using-inner.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3d9db86a28b7a5c5994ad9669d1f1d176a33eed8 GIT binary patch literal 48157 zcmb4pV|--Iw{DV&ZB96`ZQI5qnRsH`wryi3NypA49ox2T+cz)%=lssOU+(P>y{n#H z>#6G6Ygg^{RFNr)iqkRCv%!*0&h{*(ZQY+w!RwtSW?RJF@#GjMT3wa(;8Igmgn z!+%O9SSx4~IZ7-T*Fz-akPZ{4((Y5lOr=>bs;;S4wb};e(%AauQ#I@xoW&|mfO zj@$8mJwo|f`uY*8cWjvh^=mXWCsb)d@8fEK;p1g5y~As*ORwKREBooWqslJ*_2-WT zu~5RN4xiwU_rZ6I6a!5Pg&^OL_BY8^gAA2vyvkKc-~>o0n|PYik;uNax2cnT*5_Z=rGT^1O)3SDEtANRf=u>z7eTNJA) z#*F7Dzh^lYmx3l9L-l;0UVJm=892&En0?=#_4M!p2dh4w?reP@s(hax^gfo1bl0l2 zTERyVBd7J6>@V@_l#KFxo(A-G7WQ&?J5H-wwL#gMNDrzY#+sHsuDN~9S-uxfgy)1v zg(_%4anKu&;eqvjOE?p!qUL(Z`@ux{hm1L4gjfpPTqS}WSc0b6?CaZypJQ6(2SUA04gs8>Un*6`O}3DY}aYPH$e*_xuBl;Ve?%d zgbGh~99V0G1o(*-~!>ZVku0d|bpm(1FN164wxOoF{c%qys|R#zW>RBc zaSg4NcLHG>D|Qee#HIfx*M7*NGm1q zwvHOEI~%YKHsp42Ga|iXI=`GfQ%T-|$+BKmj+ZoLd;|@86Xbv}`#$r!_KY)%=y6(z zs6yE*CMw!UXdb|^wUb}UwQ#Q0>BhJWt!whCbJ^5eG_kg@AzTsB9t(5@lO zLtZ{TFcSp-W}oAfyP&zCXGC^;8nDZzGcIZuwR%TfgQIcN|=t zYcslz7zGyIvD9@kPi)YI_ksm}QTs9qFdaTcDuxgrfx^(}W2o6Kq4Y5n*F{hDGKQ_d-rW-3zrjt@nNHSxl{7pBV&1sham`{9jZ*-E{bFk1$`F+_h8KPfnT=xX!G!~o@5uJ z98p@ibtK;+7pfX-4xif9GUF8Y1C97t7oh?HE_ij=brwL=dz;>~q?J;6nljrcj*#qL z5IK_sO0?12xu==TtQ6dP*=E}gLQc;s?0D(bJqbed<)ReDUR2h_awntBVpsE}qB)VT zr^>Re*6!B@#4SPT#h4@t4fLgR*@9Y{lp0%WlJwXR-2oQZ8-u%qn`awdSINK@5M@Yc~P0 zi-AI(f*3V9%ZqV4vWHL@R+31u@`pMPc3~#?n1S(85K#87ks}G%REH26;Wq17w>&0> zl2L061=;qb3=Jb{o_nA$6(`*8PKB=7k^%FkCcyI!!vIHSpbVAoGwNd01{WjT1}E-? zB~k1PbraH0lj95G@4ZJB^g`PEM0QD+=LB|EgS%_6>u5!p;mqs94R6fQ?yp6c4c#~j z0at5LhG0Mmda12zhbAHu6|Ksvgi#>0`5(z_$q{eUsMK|JuKpLrfGTV0%j~h^Y^Oam zFBA{{E>{m7Jc8}M-AY)P_WL@R_6wMCoHIiELNrwU_+d1!SQp7^nIQEs;4=YRf^eQg za3~R2A3cgb+q}S>1XVarDR1~wNt}M_VUICuU?v%j7`2AmDuF^Z#mi-j|L$+{oP}y6 zQMmMFNtpCybkF2WFV^F`afbI5mDe%QrowDT+d@Bs4U&Durc0ZxDo^8UT(|>W7?R$D zT{HlmJI8ey4%dS&GO^D$u>6*I*KZ&8x`;kKG@TqBU#*tb^@S@db%W0kB(GNRD4jh< z`lrc---%s-xBp6 z6D#(Gf8L-JIs72`UYE}s1oe4?0@vHGs63FhAz_Hx5tR|MeWup$F*!Vt%b4i2!e#=I%R&V)kUU;2?+=Bnpg?6LDY)R6>%IbW$gC%+8o{!f3;T8&$x#z2s59?DPx*?Ryfpd_dCdgdnp{lz?z;E^Gk zP@cies9T-jta<{q=H!p)nFoFR%e#zOV~ZxI~H2zopC^2`%lvSGt;+;wZj31 z-REsNqbg&$9MEYLMH7OWl^7qd#hEU@cdM2blwH?mDXxsQ zS$qcdmX`-B_H!b88c~EVtP6KE!JZZfXw4HRIHp4_eA(L!>xLC3*QiN#h{=i|l}{6; zG^DmpHEaKn<~a3yOrenaMHn2l{_rJ#fTZGq~2*zZ26C5<2|Es0RHNHN1Bkn4Pe zDZp((RfSGv0Ft*z#%!8>Q+BPG;imze#0a8zikec^to4I)@0bGya;Lh(TY zvr5$U26OjKHEnWyLNE0xnoJNh#d4pK7Z|9d_}C4_fJo|pPnb9(JRn?$Q>wtir#i7f!c(t&zmm6UC}Eb0mvPo zLH`ZjzgbSler>%rdLNg2F}~-+I26&2El12HKK%d*+jtksQ^3bCl6!L#8aVSGiXrlH|heMT@m`VR;9iq|0(~++F~uV4myK#X~GYLyW2b)>cFLSHD5_ zk4$QOei80Y460A_66$81A+RpRO!AFGjniE`BA@GQ5w>Df@-qEjatV{A-=#pV5*$kQ zm4KwIQ8UBP88~>g21A$fTsj~H~n0>8@pRF7Xn0N0i=oi z36(opu%z!4iv{ygQ#f#YU`HlKW(8hz?{{IDc_RGqY9Ukf_-|$f!{BY z!gz-#e=adpp%(3=DOPE``RM1 z4^1ul>av8z-LpjzPVt-uLP*%i8X&&B>vGqlhlI>xcwq z{@!>J9pp|e?Zt(zXxus*E84gA)B8uyIWal9hxupRzY^Un@RGafX8yQ`<1Ua(!eMnzKq&#vltX0KSQy1I!{z&86u$(+xr%cIswK zCB!}?SstE((jnU_3Z;8U^d5U>#KD!8CPYLhP-xyDMVuXV;BYejs#=P%SLXy zD;FK3KF-GVeGqA8Qw@(HHCGtzV1;Kcm-#&&kWvh%Xw7x8uRZZwwXkE!97y3A8;DC& zl}8ey`s=>ezg5&9^Fn@I|Gez0E~)+>Nwv%ItX9!@@($*k_nPqp$zJAoh}gVUG7D>} zJq@WD+6)@QKZAvTl+U3!i?6c-{R#No^fu}$BGXv070+=4{pT$?fBl$lR+?56td>!= zR9;@}Iu=WUPGdz?JSSN@Of4x)w#HyIC(T<$QcO7yK?`}v-YxAPQpoKd8uw5NWV1XQ zg27gvI|AK$7P9mHay^rY<%#ursvUO{xO%-VWD_wZZxi z4a|Lr-j%mMF!juxC?FxX>woy4C}i-D-ciUk-9>`Krxm=R7?$0m0g!Chnw~G`t=~u- zIV&A}iyo)n(Ep37V-R{E`63owuOrvcJLu$mPNLc7gb&-}O8>AesG}m~QbAj7UA0Fq zI+6erpB?X|gVWj~mbf#HS|gE5znJEUAsV3m!TCd72}3`DIsikulYT>SSg&*maioA$ zEer-gd0%SrE?w%JmV{yqN{&n z6-5=L{8STI;_dvGT{+;88Au&r&-Om|jqP2n&h)Bw(imJ5e24n2OoIB2L!hpEUg4z3 z6jM3C^o+k;>srsvq@h%J0#y~1yp-hoQk|R9OYO(l1g$QHVZbL(-^bdwzK_gY%>dd? z(odQg5Ib95F#U&7+*BbsEe{h=GQPU$&}<$!eREZeTumUg7d8w4TK&GfDHp2R)1(Hl z-4muER-=#&`&qlHy)+;lBv~97hg9^)3LP4qrp011NRg>Y*#X7XAoG|G#P3ssF-%|# zz&PnY9*~DNJ7YSqHcj?~XOzP3ikLGRbNz~%*L^>3-&nxdNooM@*~JA4SQ=P-vT-8t zX_sNTuLmJ}`kq;RXar<*A`rsvvf%HB6N$7&!}N~A3K{;{KM0e`nr_JqvP>|Cy1P2(#7V_`)s)EY4Jq?cad+v&EU}wH3;Q&>IO0*K1MOYRWm~b|5QnnihD38 z*|~E#KgOwNv@|rj_IwJ4Vi-&|L9F_ED->9c&21K++#Ob4j!n30tW^H>bkn$RQYf(; zTYT5pz)LYstlFVEFg3W{xY$5-tg5})v5usVAWN*Y*63I3-q$iYG;Yi)7)l`(`Q)~U z1@uVfCbJ0LJ`3T91<{gPnX8P+U(2ldpI1Lr);-mwTsOI+yQ$*?YR57W`%qJ{2tK|@ zW#iE0HTnakXu#wzH#I>RfCJ!EIRJ3`Tq36CM6HgY45SuL&X!h8UMFBH6>i#A10^dN zF0Ivu0Tk#(4>Q+xanSWAAMJi)-NH>i z$W1NiU*LaPh<(x8Z=jMK9Je&Ojm=$9E=TP|CU0cIog}4&gmE{(enSgF`NTGZf0+p; zR%4Uy1{>TeAd6Q^gNPtw7J|xk8^*<9g-i*21`9PPd>8uEKn8is)WBjmz4EJQsv-sy znn}x{zBOR7>)(I4tpfxc>U;vN{{gfDsGTa<)eg0Q)Op})TxwS|U0|R2Yf7n&6Ris% z5?x@9Otr73=#Pzu=4=t1PUHeaQXWk)btT#1avP1sbntlJ37GU`vI@pQg3~VzF}aq> zHa8tXm=*`Xwr&Ex_=iQtwfKi&F;MbKMOS$4RVMA`6PpQs|JRM}W80bRe*&mZV*e8; zXo)#6+fbnFOXSn@h;eZN-d~xNiJaDNgF}vW=k0cAuFVP?j(&(zkJ)MIJ(Bo3!kmKH_>b z*ZP>R+!3wI>KAy6sM?$bQx4rnv}LNeP^I4HSpjFevoz5M#g+J%`2?mi!9>Z)u%-8I zHOi6~R|lS}x)lWjbz;!-m#7l>7Ra3}Y<$X*GR2Ch4NO#a4hCVV^Kz1B2V1^hD|m_z zTg+Qmpj@(o%YS3a-Mpzq-NGVL`B)2;T+?t;8PoIf_XJG&KFx9){XxQ4PpbtX9o3wc zFn+6FJEL2(`IRf))@UAqhM|t8>?wCwDy@mOdL}eu08>(rZ}LG)@Unf;yKQTu{hI#r zydoVb(5qYfSV%Zu{g~O*w{i6AVw=#aEU-_{c@GX|c~m(Xm#FS8}xO%no_gdVqGmo zIgEI&KBkCJT~p#b2qRTR{6(Qg&xBz1D0|7|j*vO{hakt}owYRv!si%1Nt8DBIyNgD*+YdZv|~la@$*$VN#)0O6Nnv z_if`Zg%@SIvnM|Wp@`pE0a?dyYs(uKcMk0E!AW+!NL?POdMkZPY-q|$8KwN?SXgpx zBLc^J2Ob4X($3m#HxmF4)b4MZ&~joZSZF4W+vEJbwcdul=)XI-)TKn@kc1g63u$f1 zPH5)?g=81s#cQPL0~C+#;cgz)0D7eL^y-UGkbupGmF(~i%qhDJi&BvTjnUb+w*NyiXduW`9a*z%FRpKKy7-nk_%r}7nD{) zsM0r|tPMc6DxF3R1j5c4v(GHLf2>ch_-6dF#HMeVhcX!$QYGoWE<~SoM)l{4AqbP< z0GL)#RUs}O@U3I7LOA~|X~NZ#=`;TGj`Xm>oR8`F2ORN$B$MFPh9@ON#6!jf7UFmG zu07~6AMqW}aw>_z;0L1{(miNm7ZM4{HhQ4D*XGnq0ef4+B#WoqID66EmlpN1IGdo^ zn&J z8!x@?G`5u(Wp+g<t)^I)iaKCtuU&j_`9EEGdW z2aj%RmmoDXgVLduUsZz?>wR`y>YCh|`mUqTE1RUIzIG!j)AK7Y$xL>S@)nw%^`Duz zi#-UIm`5x_-f-Ap6f{a+DQOEQ7c}nU6*P7|4}E<##i3-SZqu!slcEg|W~#~to24X+ z{WwTQ^&`a=+ELzGs@+3Xw>c%j>zfP7&_lNWW{)=pSl3M8QFkSsj@z6MDr!FqyAF2g z!Ax-R0^1JLZ&{nNIQmoi4Ej~fCT$UvmKWk_D`q-F_x4MBX^B5Fy}E6&LBrO{%1*rw z@qkSSF4u7AasrVhzSam5(2&;LbrD<1)Q*ccrW7G@5o7j=Z7-)?_^^B2zsg5;7}GqVG-DHhZ~WM<#GKpmZ79cgYNA_`~Od85c;-5(PgW zI-wes6#?>%A2KWVNPN_`S|g-`5!ehTe)yINL3o%yyN)cZYfm}LZ%Bs0qBiCnI)?|k zU}`tr8rU`K2!1NLN+u);?Imuu8)S~-Za>Y#mXZ1`T61&VmRfVKe*qeWw(vydLE8sF zJ6U8R0<$d9cC7`_k+(k|;WHi*#XUX}2I%$C1{heR8Dk7^&|bLVykVK%Cfg#|*n~M) z+g;FYy}^UYbRE@)0+klA7!FT9*{*d?zIa0jC4efi3|xfnB|HBg))xbUS8 zdVi3yt`y=dc{7l^Y($2SJu`P{>M^6<+}{{=9f~)Jeu|1*7ua=;GTYn1tMX2Z7rYZg z%Ab9-}B`}A1u%G^V5wx0|Q7(BCE zi_R6axozmBmc|TIE8Hrlil1q+!J#Gdz>pgS9G5v&PZ#+Yr&4Lh6$b z?8_T=W?hc;t84QM@9e0`Tnz_o9>wfmS|jm4TH|5!(t~ox8ZOZhgLc+c&&TwlY+{WF zj*5*qYE+OQin#p#!`l30dmd;b86|Wo3ijprYjSE!IlC|J_b_``k(6S&)Tg;Te1jnSzLHZ*XW!qi4(%KfZJ&~3vgzCDlxGblYE(SxbtKjNNSsTX!tbWrq|#h9doCp^!mU#t3C?o} zc19~hcf`Azijy-VZNe1-f|Ye{&z(keqTUNiB2~immUVvM-PRed3Wp5?jPR>Es_@;` zr)`fm;W|H)=gXiwW9mn?G(|ZvhwalMKY2w~hrimYXh2%^R;VH2%0SVZMyclNKu{V{ zq~XCm6VAs>|2izg>v?c2xTc>}Ewp%@P7_|rJriA^+Ha*4+peXGg1L`4+8%=vwB*K~|>NyQ|g`ja0KaYa7D_Yr6dxwGf z>~5w4j?^?HOayaDJ%&*{xW79)I*ELHZ>XBTAsmVdU|YtD*pP7?Q*0{nyO`uv1hm=} zsk)Nq)5)#`kR%UWjLW&@^=|q%G%yUSUML_39^i(e_p*FwfUA?1)N0R{ZOe{S2=^^c z>rJ#J$F|WxQq84UIm!cd^@?uIfosnFD<%sE?9B$7B?askSyb_A5tnP1fq?3`NgVZc zx$b>?1Z@*igD{wGO7WmAe3|ao;;2H4Qzk4II=q?zkVKCteO2t$nx7HmRyvH(qVlk)|-S~t;@v{a?Hp|O`{ zy!DD%nos$oS4Aj7EiBt;C}V81`;1zh&}; zeu1UTuX6Yc`I~6no7p!TW4(4I)AnNSv_4c0xm4dOz)CvNJ6rMg z96nBmfW*umJ|5eiRSVEHz$`LYeWOx^8wTRSV>Wb%L$#7ZWcbB%;=;s*PO%fJ zf_0&?@cyYM`c7+4@Gyl+Sk{s>3`7w~%kY)PZe#N^(~L;5UN&7gXXa&uJHk!X+{F04 zGz&?{tQz&;wYRR9->Gm|4}Q{O@?3c~gNt82{fIg+IaaY>!> z0+c@$1zf-9smRN5I+`67b@r{&rbf4{{g>wNJhbJKAtgHFJcL`^b!hli%1vGqsiS|3 zLdlh`WUw}v*`rsxC|Vk|GT5vEyspn;7U5QOI_lQs%mXPfgrK4;_@2aL`w3zyId$4- zG$Z!0`$&9 z{4?KLD2)JK1G_$7RuUn<4C@qXCEbk}JH~R?kf8hnP*mhnaoMXvN#nvo-+#+$ez{E9 zxsl@yT}^!1GKj=2FKxdAhc8_Y6a1q=V6fl{@*(Qs33b~8m%Hrp8bNFm(WPJ$_65LB znD>Kl`x$v5w3)xR0V~G651AuGXE~C!7gS9fL9r6a-aG6>qN)cV0(+|*B z<5(VR>+N;2qfNNc?hET`v-p%rn|arUgmdra_xOlB4wd)Acl`E1_OGu|GGU0-ClKf> zDDYj?zqXa;p_=%cbqwG8F)@UtIf?!B|7Ci9bP2yY(`8c3XagmM5SlT)yQ=uN8KeMR z4ruBu_e)>MuX>dqNW8-YO94@=5h2)c|!Wr>`iWl}af%P#?bkOzbrHD4PV_ zB!Ue?uy{oCo^l}Sn1%tg5y>&oiW~N#el<4V#p&)b^_6W=%AdkOoR^#SiQ%h#q}jDK z?#e-kRj6iiL_WKH9Df5U567%+E+U1hpFkO4F9BX6@kvqKW`VzNp8S)Te6Rr9Roc&E zH_30NZLb>zCvj2RPpVCf@w^6U_j1-*uMrT$oH@8`^+@=;7M%a`#H;Z)S0e`&thjy8fi^XHp>GqnX8SGCA! zKb4}mc=PDtWE(1)CToJ$!DNr=0@S=BQ^!>LM+3FS8i^-p=U{j~M^m~^xrueDz2N;6u(bmcZBxZh&s2fMSRA$)c5Zk7jWo zYTzf;4c(tZ@;UTko42>#Ob-EHr*HAAt#V$py9OMh_#_4SoZ>!tPgrRm=J*-@)A){ZIL~<^Z-ibR5I3;xGAD7FnF>-VF3%atf?+?o++}r-$^L z>mDtF9x=hp9EmA8MuJikHMa)2-1!WSK2)6nwgxf!6pY%+cMZ#6bHhgC7k zImi$=Vwe#adTP+iMBgkB_1NU`SnWV^?=o-{lKx$yupC?9Q%N=ZFC{fUkX(~0XmB`U zN=O&8Z@3Fl7c&HL*@H$L?)vEuC;OKFu24 z!FTJ7$(nz2;!`ys`7MB4ZmR6Noa9vow3-W*E?SGKw!o+0`Ud`Yz}!>ls(3jTEp)|v zDy}u5X2gAj1!5(&B4;+KHznd~ho9o=-)f@^m5`d3=WG!*H%1vOl`cm9usm5w#6|4# zGwfQ#1x;R1`#+NFG@d4#Y=6TuhG!V2@++~{r=F_TqBCE${NGDy-{(?#RACkQKPA_; zRO@4!TblMNKh$UHVrrkhGU+M5-$x$ssMj;jQSUG_&H-v**xkMC;$Jd?`iO`b;0t{N z82`e6)#wOjC@BF!<<;14JHbkSX|q9n|CbKSD0W-ZIK=aeE#M9%od!Hm?du9kr|15j zN$te=uNLfvRYmQg@u>yt{Hp~wr{uxvl*wVVVE(mZt0u4ZDqY=q+gM@_78}#2u<4IV ze#xa~PitP8sf)>WB)qWg3`%zRnd(}?w76VEXgP@;7&;U8osg*Z{UOykQd3H#cVf`R zQVgif0yL-o44vv&Cci$^dle<1G$6@UVf#Sc2YzBs`My^zeyC2LZygT{3p4wFYAi&I|0xo2Fmtl}eJ1q(;ZSI_6NGBg#XUV8F%dL0G-nYJTT+mdtE41s z4`U}X3nNRCUpPFTp$_CZ1MM^gZyW6LJ%d0HQcWPT6f= zP;_KuWY`@Q@O(y2I!^e!^L=n+WH4ynBxK}d5HQdH!Mw)~Kf54sL6lv@22isr(Ah0U z=!7&K(DUtJzvZPu#(~!pj82$+FzB$z$m>^ms6j3fWJN}3$VssLQ{wS7v@RkFKmM=q z!Fj-Ur2v&_f?$XE&4Y)_%grxb-<~$1dCchv{GiZ{k=)>ggptpY@j9#gL6?b42XluW z!I_dtaOL9j#7(Bb`wnQ&|v@u0!{xW499{f3#e_wRi7WBUMc1M$6p zB?+yz|%2RjrR#QlaF|Dl01N=MUWg}ymHj*JZ}^;#w% zMhOPi|DzS_BX^9udy|0iq9cS3-Nfj{5*m*K%SQxzb`GK7_ajz-J<7*`DU=YXsGnhh zuwgey7!AlaOyj|a+Ir^*#5E7)@493h54fLjvyfNY zhwEl8W{n?6CnT&mXgRTqBKDOpz-SeDMS$Jp3A%)$6FzJ!2L$BtP&~0%f|@Fc*pT3*lS%H`&SWdXulf)S`MfPkgl}Q&JT_S-{RK|%J;J2 zkI21`wYb{M#F-1mgNw%x6i6W4W`40eT+9z#+)}#w10Y0AMa)QE)Bmg9i`- zW{^Y#Ro7FUt|6F)MEN>^Bt|X5N6g-$h`#uaWcvPy;A=hx0~>hQ9Y3i@h$V}O{HVti z)!7-7h6If&GAclfj9SP(d%^ZzON`C;R)<7}jcs!y;}$@I1WE)BwksB;$=8nx>ISEe zZt>;nRn8hjfDk^Wy9k7lADQSKWwcgh?}@3&s0BLJgcBU4 zfV0_5iYwocRu=cIxW-1=6)OLBTQShwb%NXF`Wf1jx9cU%-#7sXO7kF8s_`K~3PS3qGTnjkC{ zKcb8?iY1p8CYVmy9TvW6h;#qhGi3$=H%KD4eUK139%~xeO#I6PjoD(OhRLu?Jjv0; zWfmtjI1;a?N1*g_)ENQ&a`EZI@=>NEmBNeNEni!=JD{qsuP+e|g_ByW$Tth4h^AJN zy{7q>R8p{5Co)PI%|r6yL`!dqKJYRIHD$aDl>13&%VAA*ldGMv34!@^1xlO__mRnP zT;RI%WhXVcB3H1>EjI@slYb2xz#Y~U8y^CcEtW!3<XswmAxTf>ih!ua5gPpNSm)~>xO;MkBoAQ~8@1lJ0eT_+RmO>g zhe(9hkf_RUL!1|sWiER0yk>6nSgG{xxLY{E@?or%**DbiGn4}cu)Ynn8V;^9E_If% zwX>10@8;R;rBSr4Ddt8d7UXwpeL`^WCeusIzUA-V5Cs}|8i)5@$#+`JjkbTtgL@v~ zX)$Ly@gpb3K43lNVEIIk8iM*lA=xQEtN4)sDk)rV!P4 zec4?=tO2t@_5>8IhefMnrR#<{xjRBFt+--h`af@reU#*#_^R5#t;6G_?vB zhm0VakOVW&n~tE)6}|t+pFBagI3C%9*YC)BF)^a^l~_8Oe1vBjWAL1^*WHg8huL)t zi>R$}EDcG%bqxpJV(0&)8iC1K-Wq0m@T6Nn2g!2qMR2qr2)F77-fa_L*v($2uJL+{ z`QMEG##PBbo>=8RWrnJVFj3&Z$_~XiSEPi$thk8Erisl<(Rw5BfEJ)Ms2jIqz@AlN zkxHnRi9^g^I%&!0NYwpUw=Cbe#w@4$A?CGdJk+maG!G=q-)CZ$dUzg|o|&z|=7xF5 z#p7qxHXjc6xgPa$`xV!OOSe6L^qm_q%;J{3&2UNPtX2K_l(+a?X5OMd4OC^M=y-JP zM1bs2GfZL#vuRLi(8vkQGu zK;THnX8XWBDszeYoH29zSwaqS@5)T}D1;M9y++Rg)+>RnnWh@g_*KB}w1!l@Gm?0R zKYl1*E^04nKGeq2g;7@vhHX-{_x}ETcf2q;Ohn;crX*~~ZTagQu|QHza;E+|#V#Wce6%epN4OD;*=zkI^Z(}Zp` ze8=|y7n-B)ueB#ygsrsop6*Y`G0ln|c;>ZOa0IM#al#J66fF?wJ=6VNnmr|44hh5E z=K9q~7St?_B~$p(hw(_>h9DR#17Wd!OkQUG`3jNtz4a**UsLW_&NQE!X07Yui=SN# zZQ2lJ5nEku;G_d%BBwR~*worEPuVZ-qmWH(T5&4L7Nbh)F^+^F(!B`D4yXO{sWF4+|6RAGX zYu9bqss_bKt8x-(z@1Rkek#>^XS$WC*_{umInN7KF<+GyM>lP^8GBS{zL)poaRtMJ zZdIx59%cg;yVz0s+ za+_o{?2dF&t#>q9RZ$0*lI@r8kI|*RmVz#Ww*_ljYHUy6r|{bB%1yiD@YqcL@FGO^ z=iIpvSYyCXR7F8pl7n~L)cu+syh%vp-Jh!~28vzC`rtnx9Wg8XF>&gG#vLk@&!Pk2_`Ms~Z_ZR_eQaU|{;`#dDxlPpM9%Q)IqBkUf!}ki z-67AC?4)62SY<4d=*d17VQAxb1s@anO$rU4u5hDSTuh5s{PwKcx8o>S*(TFWd3DD) z@g^@Y`OQu9a{OPf5OZ>m_U^o)Q&!;8<2v80Y@zGPuV0G`4$ z-SO{OvT9_)d+3b065<3dFeS;bsYdllsD2%#m8zA&M%}3t<@-1f=5ZNm>606H>bjQ_ z%`3NeVr&oGk}O#^vr$fCI}q~r7B7Dna#U)X4gvMTkjp+F(C+vdN3XdN@0d|Gs(<}B zf7fq$U%*S~a@BWR_Bw1)APqzbY*IoT(oUYr9)*{pVF;S}9Su(VEjIl1lGrY_s)k)g z+WttJJ?QlUBeL8ZxKnzBd4QP{HZ|Kq75a^ETmu>b%>uQ&M(>IUsiax z0iNJHecjPbtW;#(*P3%R zsc>72w|nS=6bDa*YB}2$tx{@7&V15k^R8YF@uc6DMe|E{UkStn$*#Wq5%9l9nDG%u zHz|T0)-8Y?bllBoR%|Kx*#1zd;i{q6lN`S-y0os5%e}6guLH5is~vBxA|~@keK=ND z;O;zbD18iRl8c=*53jNY!rj`iTkrG@0gIPmfbhQrB_fd0r__D0C>e@gg?nCZk;fq{ zWiSf5(eN|Dt!JYc)urx~Z~0Mwro?%;No^!LZz=R%FUiYYjNF4mOC&8sNgvIpaxZlk z&#J##I+!6iHvkXbm=$yto0yYE%t=aokaOHAgdYsC3w8a+PfOLPZ}Oe|2?7UDfm6T9w>I2E427Udq`wj{3;wr1pZv->o9*XYy{NrHjv42AlDLb-exi5WQ=vM00=br|w$bw^CmlJdqqio|%xMM9B& zOs!cgrJr&a1>a>sjVV`P8EDF}fm@q?e~b%cOas@05oj;>bPg_}-JXQzuo_%EA;z!y z0`4TZ|r~Z8=`O>aL}juL&`g<%Hn>^2`72 zC|F1;izN{OM5x%?s6tK}e;r)^INDOnp#@qZkY`_S?KQS)u;`6Uxf_nVlx;Ct9wr~o zqLsmRtn|D%b-V9NqKB->j6O%ovTScsoUPte;AjA(s@usji6Gz%x zLq7{T#V8_#>}(>M2g7j%CoeYdLb2HS-KsOYmn-%TSgX*Ak$I`xQA;se4m1@Z0oUcc zY2j6rzPx2e&2Bqyp>_*Bti8g*oepsLZSg)}?ftxOZ{pb-Kq7{9i=8Gt9JkSvHShEwG1J6%A(uRaxf+v+&s z3LZ6HRoG*IMV_mwl&z(2nV|w4nSkD*Ua#$w6MAoM;)YysBmCvm(RQp-EA;DFEnnS| z(pQrwWDCkwsu~5!-|qIamE=;f%2cXl#OXQ8Kzb-PgzSj79Jh&o?8Bj4ttq~Yt4zj0+^wi zfZtGm`}v#pf?EiTgUrXlK7v0Zs`4Q~drV~*%ubCg=A{M-( zElS?5R^ZbrIAW87YL?h{UqitVES)oYi5n1`TuH#L1+LfEG(j_QWO)al`it)t# z<9r$q=c{Yfs5W|HM|C}e*)g0j(#%A`{uyjsY$1WfHkLHpd~>UPhLH5kdezm?{+cBz8FH0evDO0 z5u^@UC+;B`fdOIRJ+o!C9VZ0u#A6o6ITZVasK`|j&4_qXA(h9x8OssA*N#vwA$wSZ z!8rwvorcgiW&!oK!&%M>BwtGbLYsVEm%_#s8@|0)?wjqmB^IGJJdF3LEE9ftqdB{K zRLrK=@FgC%i@ko-4CZB(b+D4^R>H2;!Cbb@GhL2H-XP|NfZ*SZQbX#cmx~2k)^dNI zLuLNC^&#|KxoPS!kR?yG)CWEh6j(xCPIh{!}|0k^Cp^jxKjy?5k{P({xK zS~TCh958%OY_nl@LXDHriyj> zu#oo?tC#Pm=Rl<&{O+C}?n28u@pH!twSc^4uW&z6r?c&-sU*4gIW*XLwc;62SYrOZ zLaRM_KvFoAQA=Yuo>>_BgQg+J^dXzQ3=E4v(l<>KkTA7O?vcH?SdUDpDL`kV2g_@S zEQP$WkR`5xoHVAMpM;3qV3>Sp8$H|Tz>yqvQXO_w@hQvkG>j*CI=ezmkT8k;h zRj*j8BQu>oJ`~d+HMe=R8KKpgn1jZtr?;o)Zs;v*z-V)@fSgugrY7FIF%U!OKP9!e z?K4Q72S=8^@B_Bh<~&2DePMNV+{2gd5bCWIMTa}_o1QDEuU-a<9$raK?Yiml6xbqN zSmG9naaG5-cJvXy*g@!o7q;m57Ww=vY(#FdeDZY)sYDDxl4z*F>{tz=g7WO?o4xPP z^`}bBgwvRD$hSWOtGvlFZcEDABbjZeA)u`GUUJqiXKLqo8s~@fC9P@Le$@<`&vem{ zHJAq@G9GPxu3yk|bqD&xdgMAe`bIeI#aWC4;og}q!ChshdRocrSc;`)d;|n>Xvt!$~b^pqF z?Y8z#;TBhY71o-)k1-Jj()MI+#iKVAuklQv-trXoK#X4mnvC?Xky|v6k5Xx{KpBa_sv1I+BgUa5tXF_uSDGPP*^a<4WNf(7N~d zP37pOP`5nYFTKWn;0try?$ym|tiO&7O&%He<V!U&+&L7@E7V-)%jnckFuqFVkZe8m8_C)4cbAM&kzIGe2gZW7no~y zTP)7Bd?!3sEnKbqn!RuX)IDB3a4$TEF?!nF?)QBHaBg*1a}+?keDY+hSkX3vk^uA; z>FIX~J2p2L0QnA1<{x5CC6+%7T%Y7tyWjv=BBw-FgC=sVv|?HF%g)fld|dg)Z2ukH z&Yp z<*fQ1rK!BbzLsU2zT>C{K|EMLBAjZZ^;)}y@p-lwTbIAUuC z@hdkf{QHu)m!h@R>oCoTuXOtcLez_LCVNS~9;@}4o2P%}64!|bAt-HNU#5fm+&qP- z&aaT&Uob8DlaW0DUe)x-)R9-b-14hc?5#VC+Wy`{S z?$@F{_UE(i5iy5tjF-5GUwaADe5x4r^VJDw9$bDQuuu~vpYMaU*^U}dKa^*hFI}4GUw>cT zQbp`!7#Au3ppPq-oZ?TmqTbU%bxJO~Rz7a6$2Pv&eE7)fk2C@Y6hrc9u)VDZfn^9aO%x(>CrA`ZMBFao z2m&o6;^^T4MW7qJDKX3ay7SumYw+y%x5m8T#=leJ^`b)K+NgYWkBh!R7Jc!HAjlQeLf{6kN6Z7%{_U-N_`2`u=5(9o9VvNKW48bjg2?^%^lX+}d-+O}uDe<<* z@v9B8X1fk7h>UDB+qVVG!eHnTNe>0{4`={?fI)$GBRCh>n@I->>*mvdcx@Pe-%&$} zfWX1Q!9Fntl5=`nC^-*x4?c(&#C3qc(1Y<0{+_}BkX$0{+wEj~V}KlG z!@@w=Xh-ok0L%w!Y4%3}**(9W4?;0Ahf-7Qhj2Uv<`TdI$%IEVJ~c&4H;4$-1>7&t z8qXInc=_2G{L2FJTUkH@_2d!O0diFk4FoBCHK4#q7l4?Ei3Q~G3I_S{t1uKGqbW$# zk6;W7xfX~|q*(ha8lW6<{hMBpeT#4poOv(cgb20w{rKf$b}!1vi?y`=3b^b0m?|kL zDK9skzV{gUZJn4L^ac9S1?dK25D?M_x7I;eHqqf3cLo8ah{?d{q_3*{sE|bGiLk(!hfS40!ZI~d}E#RcwATuB}>Z4FvS?2^3Pl zrojBObANY~fvsViKUs}^gN1<-yLiVjFRLaLl8O2W-`HZ@4Ga1t;r8~!2lo^h0xKRs zfM1wAY619u#6WxVza<|sD98|Zfj{)nP#~UoetP%?41obvfeLnqPVa~ZQr?{#Kcsy? zcW*)4Mgi16vpm-;{dbQSGqqgH@o}}j`M&&8fKyO?FQq%XEtL7x*CSO8Tl1mue&yH(FE(6m5Z*pjuz+* zyshh@?7Y$&{K|hQAIoAOQnFMNx9b-of+$puvY)AXr9UFaCDulWd8E_*W z4@ocuUJ(qu(M35Sv{#j`*|}Chw#NT+>nzGHC^jT(8LCKIoh|;6R9QDg69;QN_JJ*4 zwX97sup3~tuJihp=3`?2K0sv-Gdpd;);m1*eP6ULt?tgay?>Y-su}40dg~Ow#9&qT75*PQ%hCr3-JY znp7RMJ`axem|MS&=s2D6zDz|y6E&Cr+=vEEQR!kWx9Tc}1M%6d6Jz33fUTCv(wi}} zL8PydaEQG{1$TiK7h|5<*{H4AT}hq7M(P39+|y5YAD?{l^`@fN(eow;V|(vP9kEW8 zJPWI|cXjE}76y_RNl=+?G*#FzQ!DTo~wgVU;-Mar%L+RvU4 zs;1bp-FL4j@`%?oU~uwU?5T?|yy1k!C@py#|EvX0SEpx`G=dZMso~QDWHXeLI*LeH z+6QGNh_1{M9S>o`rZK-%XSYIrGgYg3G~7g*lk-x#k1S?7HvzCF>*iXv;N8nGp{pl{ zYtmQ|W?K&^V46!&n_X*U(nh=IBn+x=Bs<$| zO{lyyEGOmJRU6owhQrLsN_DXh0*tdF|< zuIzG6rN6Cz3aPkNw90C4HCxzvVQt&zt!o>2-&#B=;Q;C|RhF#G+`B)W)D5T7WIF6N zYrd^s5n+OP#$3^{rAL-I71)eJDy#MCD=l6>Plq zLl>9hRXAR#9!%Oj#j05i=%bd>^L!1D9xC1&ML4>H#i~uew&(mX zc;#F=KAwX2z3O7lkTb$Z@gVQ`JePpj$3`)Z7n^qiygS3==i2R_ZycqL|X z8Ww+WwL^in(1@BkGpKk4d^?I;!db4on=bft4$4X+fdV zOHm0cY54ZMK~Hyy1HU0WP|R(>hw?ql2T3`kp?V_%?Sv7oTR6<Qgmet4)ziNj{$esapZs* zDX&sv@vfxVP0GdKHWtq?O$-0Hkm?XMuZV(Sq^uOd_lIn9nn&?Fln3^mM7-K~l-hbZ zKf1=q{>BOs-LfYoiTL)_I}fXc?#-hpe(L?h4HnDu! z0#BK8;^uoXVynU2)>S)>OMzn96Qvu5cUO+8Z%sMlsr3b7^i*bkWE#6+F`NtC__eY< zA$p25g3G~nwceI(F)tQrTmyi;CYaoGKtw{Nxw}=*=ah)?z&!TXyd{C5q!D|uq(?z+ zP>UW)Qu!0l^p$qn{?XHrk|j#%q}hm6{@vqZ7fVDJS@rbo5zg%Yb0TAxgq`HKsEL>) zDXMOm|J|*hVt~y?e!E<+pgfk^)a7Y@jHIr^n$$KhuBJ#(77~)$jlU!L~lX%wHYL zh1&+D%I^`^MiY5nkl5k(YXAB^R9o{BE&oAhC0kocR0aRsh%c=}jmza{)Wli5MvJ-2 zky2(#FaD5;?NN(;gb{UR0$lNv^E)0@-Q=}!B2AT`68#CZsoI-?ngc?oiA{aReYW2c zM_sIrBCapn_0{FPP(5Gp zz`+nk1u3a3X8N#b4D#URrdg%(9OmJ1i6Sa_%0J=JM3bj6t|g%RmW>0VCl^mI7LY{` z(WaDm-u6wpL9fs9UsgQMCNw0%JsKZ%HS=9;`OcIlrnCJL5pB?$&!X4@7`|bluXn9u z|K?KmzZffE>+n?P3SInlv08kkp$Wk9`RpJ--7sMe$5y)CeDatzj$k6HDDVv%T?K+! zdlV+=40+4#?MfF*yDujui)v-SAEQBuye?UVzBrT^5u%Ih{CEmbs^ zu5OPYgQhNMu2l4*u^|95Fp11f2HbTf?qM*3k!o2HbuSl*^=1|TJDay{r}wSOVUbD2 zD$)f)fmlJX24k%smD(x&0A0f|u~V?@eMdwn9^hj5sdpe!JQM|+!B(T|!<<@qG_OWT zB3&^>W=t$PjpBBApfiC`RTlYj@p-)DZ={M>vQtHCBUM5R>-^Jr`Zz*kF-oS=BCdF- zf<8I9vJY~v#Ktq}SVRrI2UVdaslS<8NXIv--pzCM0zLhN|j)+*Ln{pL+KQHp;`$WwpcKt1&k zOtGe85HQtUPtSK8g)XvMV(4eS?#R#yETL5Ap1ec;Lj8$S-alHi#K^HF*;IHK{#0K| zd0r-9GvtKPtC{}h!%1^?6>b5wrKN|EX}JZBgjf6(d5i&AJm=8IBKeEVdI6cbcxYKR zy9(jnT@3z8e0~pa^q5gaVKe<25#VUfn^kExSZD|KdT#sB-fj(34NZ!(9Z~|i#*1N| zAv8ZZfnHM%kE#Ze-v|)|=;UeR^~Wqh#swNZgG`naxVk0LT~r{cHk8e_#ZWL+sbs!g z!=O=JzFpiYml>ahuhvuqzbpb~1dg>pjRT8s4>9LySjLx;Yv&L#IPUkTL?)XL&uM8_6`7qaEfd`~<-JEZPV+6`y3<>MyHOCUrC##S&Lk z%%v~_MD66cM1g&TkoA$mOliWEa~g2fGafwhf@n<7{QPoO#S|#GBAac`AN}H$Qbg>; z*$B#azm6Iaj|`;bcX6pMv@8^9q$n!a%>S<5VTlx!vU0GrBX)OH*41#H*T(%FM##@K za>uzS(y-@_o>%rCKEw5vuyFgP7q_KsGJj*E@|XL&LyOr)F>IWK9AkyhgXR#VHmgJ< z%B04poA8xier~wuvKi%S4DLl?j#K$%!-VNnEt_cfbZIclL^|AnV_V^5c?0EEfQ4CW zAznoBBM-as1w1RM&z80lS4;EX{7I;0`6 zbG(l>V^SUKCBovWUW0wUTKCc(M(?P9zJxr5*KRVSW81R)0 z(Iikp*YhSY>`!*}W7fm)s{ircgK6WK0Lw{ynYiQK<-53-+kA_U-{DANwZoe7Xw|`p zuE)@4P2Z440qY6q}sHEQZkQ`KRiKp{Y zhCmW8%f>mP7m2YTfwQ{OoPG!|ZH;LhY-S0*!|x+Ug-df|FTpbM^}1xT4-e%`J8A##*S_2d$nhYI)3vvu&3eiZQ15l{+9;)<)nRy#|CL%b|KXA z(w!_`3@1pvTS1zoAG`6My<*4BDC#zza?I;)1J5%{PIoa9#ZiM3KiWp%fUP<{>F`=^ zE3yqaugpL7ycwKZ9Wpop1)BE(aCnv4J&|yLa0h?iv%|;s6A@F`4i)$Ame~&z7<(S8 zb53WWzvqp4|EGXOs@3;>5ICDA;}=`T`HS%`IirnY`29DtW1ENj*701TK%z>uWK~e5 zt?Yd}=M3B~?WHxOv|D#{1$!$l)=y$?4(`2_KhYwdXA<4|e<@0>i z#6)bQs_9(N)3ryZhW#M`Th-VuES|Za(f4Je=R_dz)+4SlcWaX{Q@ppCK|(XyhkErW z!!nwIv~aY6%n>ViBNh zF8PQpv8BC`5J835=PMfaYBIl}NJ-R)BPi>I9>5(1e~^AoNB|isKxivlKo-|zd|~9R z4?&x_f=gSf;O1_X;+LFEBY;t-_qveT>UA%C(j(&Oy&k0P>*Xk;e}&Cp43YsH_JN_6 zms#9ePD{)1G{)d^Ydcu7Nk|FI9zFB-en9K}_nrF{U zp+oz2yaoAvlluL`wel_e_` zZnghvIQgYlY04PAiTGxl2rjTN?ZB3J@A6T3CsmvEgG^Ns?md>tTcO=+8ED#98vGs(GW)!?@Gdv$zV`M9 zjw%Y>@UjkQYg`Lj*O*L0Y6G#<4?{Qd#~sP7_(H6FiP3FcI+yOQM_?y-=LJM+bV>y# zsz{PfX}W_-QU9L6{WOzdNqj*(`fpSE<>N+Uzl?{tfFqx7(2jgx!Q7VU?}hDPqnU4c zHfs>@B8ed;w#!A=Z*VhXaH!HJi*grtJsV=0v-$Kpw&Rqd{#i;)3q4%HrU7vkCrxUV zcHjUmuka@TMlK3^&%01Dc#bTF6$`nRsnE>^{GGZZ9FZfuGxC=mF1#9;<<0692;#Jg2Y*>(X$Q&d~y)dUpbs=fcZRL_GG8Rz@Q zVZ9r+fBpDDs88y3%D-tekC-`yaF{4rr~Z2fr`CywJz2J%2AwGv)8ZFOTGcSJGe9zt zX~yCy=Vk5Xx;p!{*5CNkLd|?JD5zst<24KBc^Rkf|940p<(tEae=u1yWv8cjXt+VK z`;Hwp>r;Xmn-`s%#wNcqQIL*-5~w(_;63oaeF1xZuHo50$B#uw>Ez!sN8E5)SM=?Od9{B^^?upgf4QmpBAj~1cI(HNedux_fSp0t%R-DI+bI#S-$cG4 zK*FBrX31LWRuCmcc9t$cv)!Kb++f(UC3VP)))a5#%M zmz08~$#VxnVd>r*j#lx}_}uHZ?0MZ`(Xpg@C~Ed*)a%%9S7ms$r@%7oc6rd_EM(b! zM6#5zB)(Z2D=9z3S`v6$Fe!!o%0YkIA-DW&-{?TQs$9riKM;EygFSWVXKUd$c$k?p z5jvsomlB3Z#B}C7=T!SEL7!Q6x2Z$6-`mby? zM5&W){-XYqk=2Sy37k+eLyYMZ`mJABe3;$?)MP#VmAHuGR)mU$8M9k%tRXf6A76<_ zo@&Q5$4@I(Pr=_Hr)Ywxz|%YX(@WO++&P9xr3xji4gyp;(usHD-ndV;L88Qkl1?+a z;zm7{vkB{S-o=ng^t-I1HeuxI+xpDR94j1w({2T`!c=Rpa@~03-4?oWZ70s)aeaktXN)PQ@J9aL;I7r*a#d_ZNXSWW84e-#4oIEL9{((7}Aj$=uj8ZO+<=LL6d$e8o4&4=`G&q4B4b=MI_Z99hncRf0g-@a%YY3P;7gxv5XE^} zHMTSmJ`X&E28BSH;5M8l0n0>(u7K!G_C}5uH_xOUw$1Lls4o$AtjH1BPCVAQ437FM zr(LT;iNU#akdstrJFOi)H|G=*t?i@gxRb^Z6jAy2k@`Q5=&l0TZ0mtgvue}^0I1Ll zoySFNHC9p|Kh zeIk_dxzI!W)1tcN`eSHLJIfDzd!+pgbOL6&yJ(CW;DnG2;qTYIA1wHE!VDxD;7@ z%P!NYG3KIEi$5|+usu2{Hz&>W`_-R|hKOi7{$Z_86#CGc?6l459e<`JSM9ap1%d`L zpD*f4(gjSrL2m*#r>5LjFzQMuML2$Uj1Q=XusLTI1G>>MRI;tw4O&C(sym&L!oOsZ zi^H%Ntq-lL$nw&W@LRx%ju#XbBAj~B@?C~71hA+$^)wUdGiwpob8~asc7&pf`M8{| zW}&t`ZkV*WNtt!KksFIzdvNI>(qh$j~@(Yf~Ajk90!j;2+e8J>3sjrZC*8C}RHZk#97xumuNp|eC zlZ|ZFk!D_KJ9{)1h9l?c(5fHO^$^n|9B<%+28xUHaGJ=aUeuC75Ub*TcQ96nN@!jq zgcn!cP|=Y9 znZh4ja!`Ja>*Aj$n!8-#UC_(=uveQ_9+g>4i(!5KbPv|mKEKEX<#$$?`J1mwkRQg6 zYWK>;Q#2~A^_2NHZ}t4`>|rzBWe{>9)+u-?GN;XBbE*-G=^^}IE&rK~ly5~*zs7A8 zg;B5Efv_YWzsg%!h~6xn)Lf^3o~C22J2l`_HIHPvMw5!;CIpWZ!nz?ta{%Vs=2YXs z%&$TWlR;B!j6%@h1+`z|7iK;qlhCqsnM;HIFUpbo~NT1ZEA+wI6A zg(?LU6v}dXL*`|-HqVy~zG$*-gT3dU2)6!%aFmU7g4cC`s1VFX)7^{;HM-^>3)v7? zx&k{;>6JRatWhM2a3^(pY&sJhxb9|BnNz)7>U1)qy zZ5C9$oUq`Gm{+UNLpv4w-5-{>3H0xB;{+PwbDmr#ksUJ_p6-}gq=-1y@<{n4R6n6I z4Ye}~T@M~?@mLTL28AKf_n5k!uTup(Jp;++r$*{A~2 zTJL;60ntl}LpBVEyKJP-pKW_G;YyvZ;$H6(U!o_P}*jk%Wf=p)ec*daZ}24|;AgcZwV zWwnxj7O}!{x5xsyTSSfG7$P-Ys-Z<@BK%WM3|Jbv43(vY{T*Fz-H|k3yshC+!>kPLC*+(ION`35jhyH?-V|H4%KTvcUJdO~ zv}$ML#S1b>kBT8@xL2&ev*YhyiKTb(-n_lsG^lLZ^5`C&^8W3rHa{`9<3e|3Wm;dQ zicE)E6&BZTie@d_YENA{*N=%?mJe1|>$RA#+*yitoMul>6Z5hIbIv8hi2LJu4YwyY z0BR-tKOO%GqM~Pmt(~;q?@tNQj<8A+LF0=K6um`%xkG3jw1jIj982no6hZK_?HyPw zmoqjt9VWPiArTFk`mjMN!KIJ0$T6YGh*NybINvv~<$^BT=_T%PAEDl73;;X+<{ruF zOGy^1qpt{KjqV*u9Vi3VlgCJrFCQtcXd*+45ja{q_d=AD8aY)GDL|y3r{30dQcpyp z5VWB`HhOatBw3^noI|@}xwRRHGfllGxHe!Nq>Ys)xRA|5Y%uE!)Uv9}LAIIQ4iOL$ zm;f2aD#Y(oOzBDaKKg)HR-z7>ujRi0MUt83QnY^5^T_`qCLOp_YuHz+Suuc6Lf1Tx z@*N&xjYP1Ko<+_N!|adI`89}h?WSyX2}%mrr65B0`dX5!68DPJZB!(acG4wK>xPlr zbhVM7GzE2}3NSG)Nt_qjYuJ|FrJLUNffEeofXg89Q29~s6{6op^g`;Yx%hI|#Wx^7 zw12a2v+zaE;{AbsuiMW;P^aci4}^Q{`$jXmEqH7;tN7VEX5UZ2>KX6tyk*$HXJ2HL z%O(9qOeDnp9ol<8dNfI-#rA|*kuI#k>a2S1PKw+JnENH4H{Wc_No9h9qnx_wD8+Cv zF?s(*sF`iY`NF$>u0f+sF`w4PD;e^qdn%Bdju#xL>cLpRLtHt;rd8AzCT++kSY{$nrq>)^Ve{ z9B-88`B`oGTQT>pihi#sfOd>#4qD~wqxG7#4e|T99{wVa>RE%-ZOsnHx46RqAgKUx z>M#kWY(I3XH#w7al}K)t@ct}oElko$c%@%WvATtpgH#br|F)pqMkDc;Kc~{%?Vflaqt{|5>2(fK)`? zTHxq`iF8GSlH&>8@k!Ycq85e%CP_4eLh_dIW(+36Pu(evLMxN`FZvCZ6d#B-;H$Lj zv-`R8TkzgHA?rN*cy+VB{dkoHO<7YE71#v2MNkYJK@1)W9>fBq#%}@*ghWLH1s0v? z=$tK_RG$c-g0A2O+XoICGW`kB5EB%Xge!*-HlBXkV+w4opcT|aBcdZFrK1J~0}%}r zJP*JgL}meEPsCgTE~JF|7d}KpK$ctW=s^g!G=Uw(eQY2D#F+_6L`P3Q@w70G}5>zH31l~*RTQ<3Lf^0f5Uid5LEbQcb13=>*fR@_+8LQ9!R2+7R<1) zh&ED`_#K!ibBIwSu?7W`T^0EOY z%s*^^O$+~|5XQqLq(6~>tnWc3goMaYcGWM`-=GE-?gswxv)Mg#5DzaPZEx?K!4x7y z;3d?u>f0@3kfPUH5o#X0F;R8PxHTqy>fw@#NE<6My!;8zyjVa{JltO zU=$#?P(y#oFFrwiBp{T1Xz067g@XcK6eFWRP_$UE|CWChG9~wwm>5PL7Vw{(ASe9bQDddmH>KS5?`s1Oxy^CK41B#e+h^ zNXGz|G{yk_jWvb}{z(JBb1Gh9CM_BS zbEuDC06!HFuo2N+AJ?>MkRDS)IHY(&A2pP@<&Re>4;-Aw8@nFK0SXWj2=D{(fG)E+ zCBhx*XlxNE*t5<65U~&zUX&BC;Up{&*B~-k-;Ihc8qpEdh$KeH53nc`&=%^wgP<%9 zQK(n@4+jzi6mcGM;;&#J)-di*TLhZmIA-u0=ohKZA4-s*tmR$n!PJL_@7oAq5Fw#{ zGT3IvKelfrA9pX0+Q*waAh;zDD!I5A3SMAe7)TC$j1$m{Ue?aS8pyk8i;%lJy4o72 z0%{-q&ev^=8C2Op4XdsQTC^FMg)mjdn~&Z$+JZLGzFO9oDr>vR5=%nwbR*u&B#RH znUS6j_{CJ^3VjOOlei+ymXwc4U{|9t>2F%~QDnN)ZwwmQ(Vni%j!c>hto!*pIQi|D z6-{YHa-65H#ir=Yx!fY3=0_zu*?%rE+HS*p@3{{y+af%;$4uL?&%zw5{{F{gH*dB993etQv}2dZk)7eC}{d1?M5^lb=1)RLW{|UY0ywtO##v?d93xVQgz?6Jyee z&Dfz2k2p;A5=?iH3o@`WOLytMEC+20-{d>_18m*)54BIEuIsuVxzeL}K>!7Nzn)T# zH}H2(#TkPO&z^y~c1jAQe!dMW_?oqMKhR#k5EB@`hkvg}GFRB5$E5xyEe)sHr>0wT zB#YS9K`?-1w@$4T$nK~te^{R6UI+j>!S7%i6utSp$vj5AF>i~Joxo#R%Oh)y|4PXurTP2cGG zY5pUQcq#0hKM9&!&PZcoe!6cNl<^>}pPMdL82Xn`I29bDp%VLD_Ike~136lo5Wfa0 z#n0(-ZN@%X)(+23u=h5nRFmac{x<#_>l)mM6Q*g-haK?I-MR(zK|=HJX}%m&>hqOk zAeii4fqkFTn(i#2D&HaTUo3!^l(Y?Jsz4Y@{qZ3<*!)45utEYF9EI9HNGbWbSL%KsCNObRHHm?oKHIbzHN~(+v|#x@v;>X9wD| z(B$F+b@kg?-b!d79QgXp3V6);LFTQvRH?Z9U4BEGy!Op}?~~69_p2dY%H1h7?6WGV zJBKSMxm3q?j`|@A1uz`Mc{b)RyDbF;6P-)Uxw zF_^MQhpxj96#ZWMg|u{A7I+bJ>lMJ*vW>yff)t6KjE>vy*dMG96U{DUj%al5t>1URBxxR*6Oz^QaN-ZNd8J+6EKYryuL?gKu#@3t-z^K3WR`1*Q}vwp(kp3b41858Pwm62B2pPP=8 z-bMNb^W**!*S~{N5pV)Cdqx3`i70h#iB)s~#PxIc!TM`di)GP+9mdV4>A!i|g`9lp zpnDyWGtMfGDhrves>v9QBk7hbUp+I(%El_~+KUmTUcjBu^W$%~Xd{+4jpc;G0?vqS<>djcWY8F?eEBt$}>yUVq7|W96q2Jza z=Qn}l#_nng$h|~{60r%RqAr9!?mJIKtu;v+RjvL2_6_~D*|zE%WQ;;)YLmvN$%PN| zB16Ez-f`Sl|J*l0o|bLHRol63tY1@8(+vs4QXprZTeFIatJ>neDSO8_fGd5F|5~$tL@pqMaH=OROchx|)kCXtdKI4=}c5=T!&)xt1MkiCo z;9xMmy2M*P@~tdfZrZa}0b+XnclHk`GCuJ@JCcXR-gbdOC!CFpYNv;jgzSnk9?--#(9a9#P6N*QKK`}FYM4Uoh!!g!= zEv^Sy5T9~$5!JQXMfmtXUwCb5Em$jYsC z(4W(DIZW%9)t%*eA(H_TWWkpAp9MUNJTo_rDn3+`V}-h)$RCglndO=u(5ekZa_|x$ z^G~Qa5ZZ3L>cfoQG2NSY54jz~`)qb+CeCRKCQKvp(BP|B%9bOGeBLXsvh}8E9acu| zqh3B0EgRmt<}z>69n}@s=1Csyp3fQE&(3p!mWw-;rk_ikKc|+I2mdb9)yv~LR$`Vf zByCc@{W$7Et%Kzl9}4*pje}Fi5Vu^QM&a!K9sF48280eoSY8?0GQHKnB%W~Tk8K4o z1W+np*@9QXcpv>#xsI7AN_RM1y4jy#K0GH~Yn%l`av6hksql8j;TqVp#V$SJ9SBMx zroXaJUw(0YDz>*R-`hE;9^Y-mUE*}JZt_!{D=ePZF5uyqKHMSFcq}q_Pf^eQ(M@4- zSG*{^5+fhGv#jeRZ6Pq|2f2OEpQZut2Q&BT7_CQ5jfU|;-+^-Tmbzg)Jsg2t=nz- zxK`fUw^V(MN@a%Ab$aQTznrlw%Kh^|bK&SqZZvfK{nvK&UdT9V_om-Z8A_ej4;`+S z6lhd-)RK1Aj5~ikLxMvHNNOVeTe^o!NAm7u00jy?bV2LbB8^L@$%}3-6#`#+Cw z<###wm(#C6oi7cuUC-WslY-chAN>)t=`8hm1~wET4&zp)GV+Je_fq()uG*Mat~szA zM`VL_dN-J;!hbd&chwH>w`neLjZ*Izl&pfQ-Meu4Nb9=9ikO%3suGl&u_sbY%6+CJ zzWPzP5^!dWan?qCjLopQaI@84xc_@m>D_;=^=b+8P>UYR9)bgU%!A1+3+gv>_Xe(% zClm0G@SED&m3E(lyZd2CS}?8{MQMW!+>yNT)QF7PvM}m$R-5k~G9WhbZ5iLBDhEy5 zAGy^$Hq;UHFNAW^5X5U0TY;oyjv# zRm8TX{BhV}SugeroE9rF=pel20$ttP%3Yz$sZ&|7Q7?#lla3JuH%BsRibre`ER$or zy4tf^8sQ6`ogJ6aG^hhO_#Lc!zkBgUR+fB>e^u!er%wdlWjD>G$FLVw&aJIfIye`- zMCM#uonlBJ9!jn1TE6me^l3tw!=qAgeS&YDZ!;GC3qTmse2$e@2#-%E2tNGKd&Kv_ zyIYUZuKJtjLNt$VRnjq|1!Wbxtk;T^r^V3Q_Pexn2){85JpAl-CZUN)&Yr^Wb+8Cd zR5U&Xh9)AXlJbsOQgpZDSfEhMV)&Uwzk^GMnv^TnV*yUOZ+Q?Qi7Zl zy<~IWSCAnI&&7M?~X7gw8Tyb z3c%I#qR>kQT63u6nu>Bno;3U?VS3q8_MAR$E}KXfw}T}!TnZL*MxF6W*+>gALZSfC zg+ihplznagPQs?AGAiXy0|1rZl>li9IokDMef?i*$4UjpmnSxhiI#eqMx~LAlg-@w zVM!bRB4oE7hmk4n9354H#^Z9{2uhW3>F|B6qhaK1kZ)Qb6RV!tJ^0<~xWheo0;TBE zE5DwX+fee?>U`8<`#!N87v%C(C}#z)CH=|zo>zmvWuTk`f zq7h-{qXD6{`Ge5z5}s4nMqpBr;I0tuiKfk{TcDq*b%LCPI<}!%LE{aBV1z5G1JQ!6&~KD2SSg~jS?tu&I%M9HIQeYyH8IlW*FF^knbtJ zX(*Knfk97Uo9(IEK6W?=IeY!27E98ey?uJ~=a$M~PU6sO(-Tn=JkWA7_-BH9V z{AuEn+c4kNsc_JY=ZH=q^Ze&mX>lwNQ~MEh5Y{OFrNTne(YUVkiF1FQnrpykv2^`X z^ZKV;wN+7Q$3k>#iajK0-2-=m(3~(K^dww)>>?vSJHc+5UVxE6g+P(mWxp%tQQa!h z#`eIfbZqm_c&nt&I>%t`r1?eWSjAQ=V}p*f*~OyFAMj^H z8R)OBa(K+G50D*qXfdyq+C~|g<}9`DLn|20zxmCg*IT3_{h)g!F|Usl-a8?o4BhcN zp_NgcnPml;AEBTH7X+(n4tX@dW&i3%3*;In zJUI{QVY)27-v3W~XB`_^ucrBMI!qnvaEH0V%*@Qp%*@QpOdV!s<_>d*nVFe3-<|np zXLPT$qt)&|tCdQnI<}9Fb)=u)di~gbU^@3S5J0+w4{Az;lMeTumc%&mS@x`!ImHH~ zgen}xknH7Odk1^W`ZBB_NJJ>4D&R*01(7+Fn9(w&wYK2q-fY+?-K1!7uBM^g<$kVL zBHZJFpC`Cz98ZxI9^R^Vy-YTck6oN~6c9cKX$dw7JGGVq?nJV_r8S>a4x|SfHjyWD zmkZ-HLZ1VBKOnv4HqRt)%N=yY1AX5=QOKIAn=(Kdn)BT7056u1FugXdMRKSic^v=N z+2TsPUeM&WAba882_dE;Yt{{q*lT|1#h1DrGP2gE0~m<&%Sj8!$K zd;I*4;;bGyb`lv1Hc|`JzO-Fbgj$M=n7cOw2O zl7uQ!@Gd`M`Nar<6R`-{+9Y)iWzUhntzh2nIbdXZhH8?II&|bNXIz#iOVJvGCEI&0 zaOn|A->8s}eJ=RZe2rjYvG4{}=@nIBoc(H46Fqv(Ps1pyqi*J9m#`Gb83t~)9c(_5 zc4~>#htX1Qb~k)50rLCHPbyT%V~FLL{?hL<|{s|405{*6Te#PWzw#Z zYGfqaZPpt% zjZlhD4PKDRd1jTnn81B^x=r+bUUM*5>S6e$&Yr$4@NrnJQ%%wJz80Up^apM)+^6Bm ztJe0@1aE^ONZ%#lG&kemtaLq_9@+-`eCYSGrIP)24WqKn``4@+9Ug(w^)I@>&K<}K z!4bTCaiMTeq=TJWhH(Rq=EL%GXi>$TpF}IcU6;Lh9USi1^S3qPoD;J+(~(;`@?v=& zPht=%-6~iyZROWyP(NI$N;%Q$)q_Q|$zf#C$MEiys#eqqnneX+eGVEjI-9qwmz@u2 zc#cva5!^|a_8)_?%HJA#6=LiudmF6JSKIHjIm=~>4XC?a;M+!D$i4UmfFD|1@Z00~ ze}o&3QZqkfx7KS1tP`LP#-u1DR0!@54csY8MwqSfO;~(;XHiz_30X$)(VLmE4C3s6$^!Q(mW9U2(AEE>uP|X198^o0bFjA3KL$Ad!N^ z3myHaii`*pAKm;t2UYdEY$m3p6Eyzx95NJB@FTS&z_25hU{w%zP4iKcQxw%(Yt$mm zo5+!=8|Qe{n8ZY8gYi*3f7^=&IQ>pzS~pdIQCl6@sC6wi+tkJ6SY$Ltv&UMv(&`2a z&!a$FK|UuQ)BytrT9TzHMCW^_n^E<5RGrj8TAeINmE!6+{`L!m!Xsn)~w`s(ay<{w;%s~` z&o4%=!5@_M4C04a!NoG;_A%97#=+Jce+ux5I%XY0-3G}DnIV2@hGytX9NgaqDHKO< z)rL82I~s>)OO8nkuaQc|s$a@}b1}20O;}v}=<|T5HfztK$23wAN6OD14|;cZcx|)8 zFkzu*1ZJejq4F_Oj3E{+H6v-)lsphBT9 z(d|@aWq))+@X=sr1l|<9@r7R&?5!~q1v@fcr>WvRF1dI4VCTZ|4OF`A zZf?hO#K4XOXe>}0Zp&F~Gk911RP&pA7hNW)(aHHFxgU2ozfSs0GQveQQYct0;MLe! zbK4A=)Qxg};gm2bvlDR!ZDC;1k$t`!?cV=-FQiHU3{77@VAc zE7*ToU$FgWJ)0gt_jlcY(X;88SpVC4w&Iudg++6+G%zr5Ap|0Zdoay$>_sw$t}lVH zF2)Z*{=ztAc_N{+7-lWUHom$mrVXz8^yg^bmh$Xd*!c5P_&DpwJS){D8i^F$TK7BZ-RnA`f60BTVl=mJn{q%IG@_1-9cM z9~=et2|h0(0X6J`_!1KhxcX#(?ycvFrs9CXPy6R)=31wQIwPw10{6i~2tB{|gUhZ! z1=**3N4&be-VSMTyCIB?rq}EM!owJa%0;*j{MniJ;H$F_(m-H6y%}_kQV$B7rJL=e z3mOPI3h5sR0`R3AhlhR~z;Nw7&l3eAVea9TLdo5Q5Bik*^OoNO^Hk0R1mJnvy!fd5 z*#8FcX$4zbFVNB|u;mSCA?yJ@fCfJ*F}=z6l9jSC1&VN++pZG}MZf=tF+CiP3o2KR3LlCm+at3z!a0{Y~#2fn0ie}X*c)T&pg zH{5a<>}^nlCkJQW-g6x9B;Ct>8eOmuH&?!e#E;n?-T@zjXxZ<)U|=9&V&6b=ae+#z zvl4n}4}-lgrZ@TjA!W<@a`fSB`H}-UBoGH{JbY^@-`qUu4x!8~EH5Le z9=L7a@`?EV9kI(7h?@WkC@1&ZHy{Y8FpvR2NUo3jOi<6qD9BxN<&QOB;Mk`Gsv?O` z@uk=5W6)1^SehOlFEc_wWDtn256T;XD41c$v+w67 zM2%W-`aTw&p~6E!@I{FRVlWu=$ECm!frcvbxaJ>O0)Ro@Y{8%nKzb6>>_8|iSj|<#CYGLDVAqf5S2K@}RIt&ujXTD@%0ffDuet1me$?BBg zT(5})W+}EfIJu6Q6>@eW;JM#@5OJ*Rfurm6VAn02l49~fs|Xn%LEp4{j`E@p?zGWg z30h}A)9V(OCT}gb6LlWk_Q0Hiz1ul5T%SRvKN>u9+%R=U3c`8@+hh5q;Q9>_(6CCW zo}Zjmb9M}jIO-^5z1)?&{JBe}g5`M+{j*wvxPaeEmbMka6z+y0&p4QEk-;Q293Hb{ zK(trHc}1MV{>&|w#^5|rk=-MJ-GD`@h^X5|f#Je@-mPd(cC>7FxPjxqE}V%nx@{K? z6f~jew36n#<3IRV-z7B*KF-GCHi!01_QV3tK%x6Ga}|6+ak<^fe08Wo?rSUk@~D`T zP`1G+t3jydWUa!eA)=617O0sUnPCMFEkV5*#etJKhjBnmVqOJ2r%xrO#8OY_C7dit z%pn?N?{Kr=)fK&WN!%ejmusiZ;nHGY&*xF@(w#ldTF!XCa~4O zsW4awqo)r>wHA61DH=+w*grC$R&7QVlOb9JVG)ic3-~ajZcVFZXct&erWW=V$o`%E zi;DId#$X-}^P6fA>62VMYd?%0+#6T}C=m&&z>So@??H(^9Z86I$Fw`M)NFZPm%^wh z3lz>yt#<*-6AXrx?2+ZqD^oyt66fUA2UHUI9j=q_%7qoW>9cB&K=>~XZ%jz!6SNn^ z{A7NU-3(zoQ-hp=r#etGkTHC2K7DPQ3T}E4ikF&NeGAKtA^8N9Jb8ZOhw`*Wr1>td6qHiwHqw;aHaiRMr~++`mLtOIhGMI zzeoO2Q{XkEdfDayWXGN-yS;v&;;I8aJ32H&Mqmi7TnbG?NXj?`(C`8V>$kl&>wU|L7*AvP@I4I=0!-hB zgl@a)8L6A^ER69EfD+rf(9z|S?FXkRjx?vKG1}>Q@8Jz5A5OH5!8T$)!|DJC2yUt{ z_v+jM5L5oFbi9q!SHsRjt|8V}+Q@f?6?YIk5@PW}O#9y?mR-&p4NXu!$0SU&XZP6p zA|a;{R0d``Kj#(kmCj7vE(XOP&d{=gXPq-?z<)Y*3|@@utPD;!aw$JZAEXnHJ4DD{q*TO;$RSx!!{*+<#itTO|~=CSyBZSr2r z!;Dv0#Q4gB=zYh^VAV#nKKi3Ldy<>pUp2?(SI>)u!+xULNL*YVN=R=>-*)Edq~Dn6 zqY=ye{?+fKS+F;)QO&4QUy{HqRvTB@z4-p)I&?H@zuubm&(UP|?0ZfAjA|X@W%(fY zpQtI)9C!9Zv-Gmy2!TKw3mf;ejKwkIIE$0^({nG25eIf^ggiXQWd6$~91VWI2q!|B zi`=oW$y##DlnYKjMwA;exD->ZNi{LM@%~QiD3yqm8)>@>j{{qky$J3Kc<;_AROPq{ zU!OhOt{eKseWl{n9*W8j0X!$0UvyrNmq{U}TlvL0z%=nhtw^=Pd#g>p!J{WK@neJ* zVXbCO7v-Z4oF4PJ8b+!&&JRT@s%kb2jHTEWOwmjyj}IoayYtVrng#{|5AAQNhwGyp zsujxz5uR40-YpTP8k%;euWm)eo2zjRs7vK>psAgSc=JzT5~y3UoXs~!L8{M0w+O!& z`k2xrt0q}`)GGAk+08q(fBlB1lp7*Z3aWLd5n>M+f2@kbiH>^Y*|S;?ZLK(lqM>#b zSv#B*E_^!~k=A@~e^LbFfOSrqH7A?oUD}@*n?%BAA1fOwJ0&*Q6K9wEHudc#y))^y z)TWcjCPR0~BExnLlh$R1Hsj4NNy*fC$YFW7qITy-X?o(FzXKKZHrG%A7YX(d~JONI%DuKl4Y4r_eddwB>nsc z7bx2oR|Vlo@xjSrc(e<3XBaoV?%Y%M&se}jd8eLK(=8ab=rZd4Kz$p9Bk+I?Yt33S z2}FD4s{0!?_s@lWm>UXO6y}CFx-@4Y4#J>Y=Skt2aC@*nHau!?Z)6@_2BP(zYo#XwejJ!9-kThAmGi#OX=J6}_y2(yK} zqPr`owcFh|j>mqhAd#Moh^?tSj*}g@JisaoD4Nvt17$-T##~Uyp(erv)|RqR4Vm7* z7~kC4SI{LcVR0W!N!gCN;~mCd`lL9H6c>jbqF$Rq)1`s=O=-oYTukH`f(SIirL#tE zYU+ry(2?t(-=L#)8;ft!ScxG(ZB(*E^XO1ex!k6a$-{xJUwki|VHqP@ckdzC#=w-m zQa`YS=Y%!*0VowcRZj5ALEF%n(;*Z6Y@polksP(5pGV?zU{<-SI_bb%WsCpuP&iYU zJHDq`-7z-RrgaxRM0w?5(YlHNV(BT+B|GqntAwn=KsKsVGHgb1grPK-QJ>?^LWMS51|0lAj3QvUZreNRa1vKzn53WW4&=0$)Gea zghh&lN*le*H=sHytpk=az&pcjM(bz2Mvul-T!x&{nDmgpg<6EM0mS_0Pv zoOD|(GLPpa3r#ZD?6o6dXaIvywaXn^B3VjcF5B7IpBgN?RW_LyjgQhk5pRmv#HGaQ z-l!jdpF|wXN*P0C5B>BD`SfR=ZGq&u5}8M)$6Q`AIxzBU=| zlc`k>)4}PI_nf0nvoup5($d^n`?HwcpdD>1rVguU3Y0kiq@S%-9w;&V$JSZPau2R0 z$*seDiyBrf)+`Gaj`!J%cUa^!+iO?i+`jbllvIMtz-c>W|2fnNn)TM*}((+Ajv~!K8IULc@3H6*`oh4kQ zD~BavA!ISjfG}FNJh>Fd^-Z18#-O;BCM8blGE-;wRg^T%5Dj^7>)Qy~my=jU$oQdY zvQ~pCMDec=470{P1(%|b9>Rh$yQCi%x>*U+qN;M>Y^;OqmeDkiiBHRpuZB-{-P#4k zl`af);oSNi?S+Tgk((dyI9)P+I={q|R?^V%$T~XRS;pr9MEKM9ZcsSkhpZP5*RU#o zazm8&B}20LTTy73m)kom8j#VA5*y9|&3EoaLTQn20hdN;8hj2et8>rfrztYm;fXi* z1RSso#gtbZS@~;ok21BjJW8(B1r^`4NiH6&s-#W-#s~24vwu8tSe~;1*`M&~0(&CgAH+ALeLS@h$-sXpdc7~ra=g^NuBe!G{XJi6G`Rfe$cWUIMe?qm zC!>^Hq@LNB%+!LxM3Coc&O5vy!!}cXwXA{+thVaCQzNE|R5=i5EJf=D-a+ncpOu$Y zHu4-E?ODU(i` zBd^KgqxM%nXv9b-OQ z0rpO8>g&_P#hbI*WBe9|#4EK<$IMvdPGUDGOs_jH;i!O8?|<-{PtJ1-3v!((vj0skbCwo`F0P(y3 zNd=!JXFj%H8*6>ktoHQHf5?Rou}*7^Y|16>6F0~)dys!!A!aQA;AR|L8CWG9=?aA8 zsI=~H2M5twt@GbQaEsxf?~7q8^R9s~(leDieY7WG^Q1p3Qo(E?xk7RnE~dHgNG@3p zj9?A0I9Bu#yU`9xWaBMs7Pos&WaIvTYP9n>99O#0R$iTP4VUeB`X|FJENFBA5PxVP z`3%dA9x(o?j0R(WPPsJSHTq}};aLi0&K z1baM9`K{4mUv_6U>9KHx1laBciUnvkpxd-!V6=}kgdVv54su)^eEtVNYo{mdhhk>9 zO!lSF70FT^po73;OSg!e=i_LW@N7&(eR>0=TfjXN|7`%i7fb7+g-G5HTi0XdiOZI9 ztrCQ&P7)B9&0B)k{>T~1rdVOc>k1xwMkjxubL<~r%8lH6#0qQE=GbM-W=j{+1dGt8 zCzo44EV3hmZ;jh)SYLH4MK!bMU)~6*0tMSCWQ>`3te7{E4aR4dG+N7;E{6c2K4 zr%%e^WOg0{#crPoSecF#YE3H-bNkyz<$MSa+{0qmrqI;(P)4cS`O8e2d-8~U8~`q$ z9+P7whI>HbpnNB3RmJnVhl2Z0SMi0a|07D(@iQB5Z@=aA?6b6ZR)11jAE!MjjXCYx z9#%z^^^s`7$~yknL~OCX)IBAF*p4hV6x7%BT36wRp>MZ7>SVo3oj3a>EccDgRmG3G zWz7}8`Oq~@Ti}u59Xm^bUy<}52ngIsZ zmSWrl6h?dXtu3et$Z46jtnoeavIFQ(2ZEcbFy!KfK9|W3XEDv(`_t`gm!tZRzGrXD zZ=2ogf=)z8tJ63SkRpaQ-qled0W;D-_AQ@JAc{O+HuqR><6m}Pb<)HS3u_AOIW%}U zwASZc3iK&hUCwf9wAE3!MeM}lc#dwND$wwIG3&_eo?I{ItCClaL)WK(55xdR&unjX zHu#%AC4nJayU93eO(c}9RMm|sFl&d_0&S0cVer?~Ro4<%2V(k0g{rgaF8)$N1$%n? zNW0W`^HsRu7w;WYEXd5IJa8sy^E12Cp^yOL7V;kx%%V(3c~wV?^;Dzz<0|50Hf-H8 z)o_gcGbqLvo3e>rR`56(>%~Hz!k>!nbTv?g`N9^cGqG~8n9!MsJ2O= zjx6q6xsT$R&Acx-#bUf+N9`!~L!pN$QJo%`)_EGd&gsF!M1$>>y^=-3zM<6#@0V@-7GspGpJ47q%#7DQ^g+~6WLweC+|(YHHK~ghFhab((k2TFdfxt{ zI%{X$Cg>c_qs?NFXqySqL$);yDHHK3>y)8^VIf$#(*D|?r`+=lmM?6f;?yrdmbKcV zksLEBhpSvYH7SOn6Ljmy=NyT0jlb?e;2uC2e|RM`HOxZ3T4Qy-15&BUfQ8ZS3r}}~ zz}a&6U<{c9$1FXMQ-9)Rvs%t!I0j{-v;?F=n|tYLeB@Dtsz<)HVqJRh_EadPMzLI+ z@+;+a-+tzM>?M>`6HV}tXo!{H&y-R4`Q$>4%((h#XB#IB35D31ZTx6w5vP`QwfTtB z@2RFAl{4mC;lk`e0aNp?!6PlKXCh*jR#nw|`cp?C-%;wS#-vyibu+WD(Pvj}!ZRkT zrXCMtL^tYct;<$p&=usaNKsZ`1{0IhzUSlc$Zh}Fp=>Ur?3UG?Zj>(~VFw7A4b|}! zi7irdcpv1Q`Y5X(yD_w=w?|sA)-owR@ADO&om@aH>jKKk*rYR?D6d z3$ub^CU&h+g@_Mzh5392yoa*S&d&0&=9rfryOLc*C;Yp>bqaj)b|MptbM&R7p~j32 ziq6&>39ztsa0_86MwXk(HW5u(v|XoYrU*5)Qdxf5)OKNw7Ml9vXKGYgbDm#MB55Ds zrtf!wWnig&pp(#!n*R&2k?EhrMto*ArhgL=@u6vj%`6>_?D1)ZE%h9Y1dR-A42__< zxuG2#?Tz%Tpj}t26s2r-0EnH3Dy|4gE1-jTfxJPnXMv*FO_kz}E0jb%rQ8udkP!ZNDlDZ)!NS)>-o2^jtC>d`_>t@x)m!dUGae zm0`mcvEFI%^b482UIB)<4hH(#%PA{0fSU@+8-7Jj0$Kx>3nj`1G>@1D`Q3MIP~H{a z&R4Ka6WLrINHirFs4Q<<*{`=11R&rpsr3Zgr(a{>7`Z#Hfu zh%re96amQOYopU+EuI8c!ZhvaNte&)O6#NkaOU~A2 ze|!zDuVZG0IOW;FcSb!uy%kSZ#J>1UmSQa@T9$^AZD7skX-)R9VH{d`DbaH0#h@AS z^)(;YWh32kc}n7Jw_~uATNDYWCZRn{{xq6Fkf(!**Kd{Nu0uY_nN7Iin)#$CBL9y0 z=n~XLcQ21zKinGQHx)(*b`|Ij1r7&w9}m3}Kki_w0=2M>c{R8oy_N34)nY>JucHpp z-2m-U{QKVU{|*L9e_`;w<8KU{ zMM0DT4G#r&YOIvX7PJZI)p*r*Yy+cci>&CC7rHu8Y*{ zcBUcQ-)rf;{h6y2zH=+#ymc8tier1Li=}_VzAMAHX~^1qoch`5MPaT{Mv~Kh((3Ct zp9+qie)3dp$C~33%f$vKAEf@KShQ~=Cq+MK2p_d@&h&JzUv3#w`^(my_|of+GqO10 z-isBU5G8e9R_>%;doOGfm(%W_UDvR_I8dcgvvO|AyZ`85!(e`&+)BFnaATBgtHoDR zQpuRJQ%Lik^G?Oz_Z*q6(}XCh{LGLr9du@qN0Hcf@C>3*hbV=mPNsui)7R)REGY#v z2h}vN{_-E>`vDVyvJZ_0Y34sdBtS?rEsz(YuIW@m>@Yo$Bkj)-OX0vx6$TjLfe1xcO!Ek35_FM4_mIyxdYAJzwmP_0Kp#Ow;0d&=v<1$v+ivUbG|u;{ zpP4L3z1{dag}VvG<95(HqPjQR4@v&kSTBVI7UO;>eOEa0GT_ppTmrWI?1XS!GsGaQ z38Ab=ta5zbc?1+A=m}Sy855yv>-DYnrvK^0Z3rx6W*l*ls zYo`*VJ+trD4#j9avm3q&Ru0Afs(N&r4Vp@z@ye#ZxJ`u0DVBWUG^#(%YSrm_E!?&0 z<8b%7FLT&jg`DAPy2$HCS!_6X!NqGQRBny&_&wYW7pXnEMSFc)BKt3pVfnv>%xalp zc_+VqTO2+g0rtz~;;xA8e?dm=Kag4YXJp>!i2zay;LeEdM@gfy38}Sd*fBC z8hI9t4ZUP$4?4}bz+Y=#S#C|_ab8^OxL98E%t*24n~j$=Mp^2|la~&W9bmjOKIR?I zQBYzs9W=;R*iYdBw$MfBNS5rQD@<1FI*B#Zj^O-tZKc6uzr9o-J&;v9K3L%nYRp}< zVv8(a%t>VgKDY0R+e&&IVpQIWOP@0k~8t70eu~Q!gKle<3rpo^<_S z_YY*G{sWn=jQ``vtpD#KgW|K7*vxblc#F@U8RQG;5f4>EL~{pq=y!@)bBoU~Y=>(I zU+G`Pw;e0Q?*z_S+!(#valK}D1P|?sG?@{)r4w5{dp)9XzzS|h1bDW673XV)dzYVO zI_QDYdx9@51|coTCSWDViVMy@LI%zh6U_XUS%Tj^jhM6t!(|}tX)0=87LbF;Ba##7 z*w(I?>A1t0bk!<1dng>l&0>DwkpD9W3-xuaWZ+PkJO@iiO>R1$W&?-k(M^8PDqGPl zgLJ~?wqS6P)9jf^hW*ZMmLZ1}=b7_(=}?T6TgLs1EOc%e^=D4A^V@>2s;pPe^1puI7_mmaT> zlHjr(HpwH9NB^NA=bu{2h zFRNlM-YuekFY;pH8-0#1G-`#F)c9mcnGQdz&1+|BTF+!QKB{3@K}GW9Ve?m5z|v z8X7AasZ!I?Fal`knaQDP1-|kTN1Lyjuj0Qi&1|d%zp@s5GC_8F06i0co}QHsz(7aG zMh##k1pr9D+DX|M{;!%S+Uwcc8X112Kzf!AM$ojfibAS1!cLZ!`g+#ZfAvMt)XV|@ z>+^4YqQX};vUm7;G(H0j9U~nR8$B}<12sJj^WUBQM;GxW&76(!zk0<;j&EVB=V92jFwy|X|4OrrtPTHK2uk;#PdHL^vo*q}mC-j>aI}J^mBy!I`zuSccX0e# zBMSI?Q7Aqu!+$@At5nvISrte0eymO%R>0Zr+$0JF%iG2mPl8yH7jm=hk5`4Zi?&jC z_kK^S1#JbkQpe@o$jTafJfB>$@C^vw;`LQTBNChgbnY&iBn`8m2M`j6MMZ0PIn*Yh8Cv%^2S8w~CY~ zgFg1bis-QyPVK{GIXeWA7G-lnW^Z`{JfcSuMl4pJvXF4uUla4@3o6j%d~7r zMpT z9j)Ay3sux8eZQh=_k)&NJtjz*#=vz&er<($Hv+k`1HM10uUMQTdZA?e&`GW->5;pA zFp2hZ)9dW<^CB}R2V!2Pp00_{!gju)2e)Y^+cK3yAhQ+}z8uNP7tVBfX15 z_JW=@H{cq7Xj1MV;e=do}#!_UDwRYG)U0+;)y zx%2zbOs|7f+?KFh?I5f)uKsh9Pqbw?Z$>Qr`+`WaZgh?Bg-by@ZkKy^SE*#&3SlR; z$VpzP;k5I5Z;vz?+-}zLTvE^h8(x(e|1TSl!D;78<fR; zZ5UA|Og%esl^$&_scNI)nLL-Y2m_2=09ami@WMAzfRzegBu=WCBWgxx7sk_|PGDhc zKectt{AAT}G_+=p=>F4o%rV%Yj;VpZjhjG<}8tPPD^@ihSW4D?#ivAuS3ZEPIz>HjhXmH(@`u?_w|#=yTW1o1UEnS=rS^Z)@mK1NmsHbEACJ~mbX zK1P5b3j-4aGk}hX8~=aZs!w_ znu?jWWi=F{c`SxnK~r!&Wws7$RP5k-tcLMy;t`e)NG+JC)0Miy2812i$Q Jkc=?&{{SBTdL94( literal 0 HcmV?d00001 diff --git a/test/karnaugh-221-label-using-inner.tex b/test/karnaugh-221-label-using-inner.tex new file mode 100644 index 0000000..989a67a --- /dev/null +++ b/test/karnaugh-221-label-using-inner.tex @@ -0,0 +1,17 @@ +\documentclass{standalone} +\usepackage{../karnaugh-map} +\begin{document} + % v1/v2 label + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][2][1] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][2][1][$a$] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][2][1][$a$][$b$] + \end{karnaugh-map-inner} + \end{tikzpicture} +\end{document} diff --git a/test/karnaugh-terms-using-inner.tex b/test/karnaugh-terms-using-inner.tex new file mode 100644 index 0000000..d19e9c2 --- /dev/null +++ b/test/karnaugh-terms-using-inner.tex @@ -0,0 +1,105 @@ +\documentclass{standalone} +\usepackage{../karnaugh-map} +\begin{document} + % fill all fields (autoterms) + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][2][1] + \autoterms[-] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][4][1] + \autoterms[-] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][2][1] + \autoterms[-] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][4][1] + \autoterms[-] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][4][2] + \autoterms[-] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][4][4] + \autoterms[-] + \end{karnaugh-map-inner} + \end{tikzpicture} + % fill remaining after '\indeterminants' '\manualterms' '\maxterms' and '\minterms' + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][2][1] + \manualterms{m} + \indeterminants{1} + \maxterms{2} + \minterms{3} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][2][1] + \manualterms{m} + \terms{1}{T} + \indeterminants{1} + \maxterms{2} + \minterms{3} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[2][4][1] + \manualterms{m} + \indeterminants{1} + \maxterms{2} + \minterms{3} + \terms{4}{T} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][2][1] + \manualterms{m} + \indeterminants{1} + \maxterms{2} + \minterms{3} + \terms{4}{T} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][4][1] + \manualterms{m,m} + \indeterminants{2,3} + \maxterms{4,5} + \minterms{6,7} + \terms{8,9}{T} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][4][2] + \manualterms{m,m,m,m} + \indeterminants{4,5,6,7} + \maxterms{8,9,10,11} + \minterms{12,13,14,15} + \terms{16,17,18,19}{T} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map-inner}[4][4][4] + \manualterms{m,m,m,m} + \indeterminants{4,5,6,7} + \maxterms{8,9,10,11} + \minterms{12,13,14,15} + \terms{16,17,18,19}{T} + \autoterms[a] + \end{karnaugh-map-inner} + \end{tikzpicture} +\end{document} From 1092faf89c8e9544dc474f06b35156855225998e Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Sat, 8 Mar 2025 22:59:56 -0800 Subject: [PATCH 03/13] Convert omittikzpicture to an option Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 28 ++++++---- ...> karnaugh-221-label-omit-tikzpicture.pdf} | Bin ...df => karnaugh-terms-omit-tikzpicture.pdf} | Bin ...> karnaugh-221-label-omit-tikzpicture.tex} | 12 ++-- ...ex => karnaugh-terms-omit-tikzpicture.tex} | 52 +++++++++--------- 5 files changed, 48 insertions(+), 44 deletions(-) rename test/expected/{karnaugh-221-label-using-inner.pdf => karnaugh-221-label-omit-tikzpicture.pdf} (100%) rename test/expected/{karnaugh-terms-using-inner.pdf => karnaugh-terms-omit-tikzpicture.pdf} (100%) rename test/{karnaugh-221-label-using-inner.tex => karnaugh-221-label-omit-tikzpicture.tex} (50%) rename test/{karnaugh-terms-using-inner.tex => karnaugh-terms-omit-tikzpicture.tex} (65%) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 10aa2bf..07685f5 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -244,10 +244,12 @@ \DeclareStringOption[middle]{label}[middle] \DeclareStringOption[]{implicantcolors}[] \DeclareBoolOption[false]{linestyles} +\DeclareBoolOption[false]{omittikzpicture} \ProcessKeyvalOptions* %% environment options \define@key{karnaugh-map}{label}[middle]{\renewcommand{\@karnaughmap@option@label}{#1}} \define@key{karnaugh-map}{implicantcolors}[]{\renewcommand{\@karnaughmap@option@implicantcolors}{#1}} +\define@key{karnaugh-map}{omittikzpicture}[false]{\@karnaughmap@option@omittikzpicturetrue} \define@key{karnaugh-map}{linestyles}[false]{\@karnaughmap@option@linestylestrue} %% render in black and white or color default to '0'(false/color) @@ -329,20 +331,16 @@ % ^^A ########################################################################## % ^^A ########################################################################## \NewDocumentEnvironment{karnaugh-map}{D(){} s O{4} O{4} O{1}} {% - \begin{tikzpicture} - \IfBooleanTF{#2}{% - \begin{karnaugh-map-inner}(#1)*[#3][#4][#5]% - }{% - \begin{karnaugh-map-inner}(#1)[#3][#4][#5]% - } -}{% - \end{karnaugh-map-inner} - \end{tikzpicture} -} -\NewDocumentEnvironment{karnaugh-map-inner}{D(){} s O{4} O{4} O{1}} {% + \begingroup % parse environment options \setkeys{karnaugh-map}{#1}% % + % check if the user wants us to omit begin/end{tikzpicture} + \if@karnaughmap@option@omittikzpicture\else + % wrap in tikzpicture for the user + \begin{tikzpicture} + \fi + % % check if implicant colors are specified \IfStrEq{\@karnaughmap@option@implicantcolors}{}{}{% % ensure no empty colors are specified @@ -375,7 +373,13 @@ % only 9 arguments are directly supported. jump to helper function % to parse remaining arguments and finish initialization. \@karnaughmap@func@karnaughstart@% -}{} +}{ + % end tikzpicture if the user did not want us to omit it + \if@karnaughmap@option@omittikzpicture\else + \end{tikzpicture} + \fi + \endgroup +} \DeclareDocumentCommand{\@karnaughmap@func@karnaughstart@}{oooooo} {% % parse label args {[START] diff --git a/test/expected/karnaugh-221-label-using-inner.pdf b/test/expected/karnaugh-221-label-omit-tikzpicture.pdf similarity index 100% rename from test/expected/karnaugh-221-label-using-inner.pdf rename to test/expected/karnaugh-221-label-omit-tikzpicture.pdf diff --git a/test/expected/karnaugh-terms-using-inner.pdf b/test/expected/karnaugh-terms-omit-tikzpicture.pdf similarity index 100% rename from test/expected/karnaugh-terms-using-inner.pdf rename to test/expected/karnaugh-terms-omit-tikzpicture.pdf diff --git a/test/karnaugh-221-label-using-inner.tex b/test/karnaugh-221-label-omit-tikzpicture.tex similarity index 50% rename from test/karnaugh-221-label-using-inner.tex rename to test/karnaugh-221-label-omit-tikzpicture.tex index 989a67a..4c1e604 100644 --- a/test/karnaugh-221-label-using-inner.tex +++ b/test/karnaugh-221-label-omit-tikzpicture.tex @@ -3,15 +3,15 @@ \begin{document} % v1/v2 label \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][2][1] - \end{karnaugh-map-inner} + \begin{karnaugh-map}(omittikzpicture)[2][2][1] + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][2][1][$a$] - \end{karnaugh-map-inner} + \begin{karnaugh-map}(omittikzpicture)[2][2][1][$a$] + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][2][1][$a$][$b$] - \end{karnaugh-map-inner} + \begin{karnaugh-map}(omittikzpicture)[2][2][1][$a$][$b$] + \end{karnaugh-map} \end{tikzpicture} \end{document} diff --git a/test/karnaugh-terms-using-inner.tex b/test/karnaugh-terms-omit-tikzpicture.tex similarity index 65% rename from test/karnaugh-terms-using-inner.tex rename to test/karnaugh-terms-omit-tikzpicture.tex index d19e9c2..ec2e4d5 100644 --- a/test/karnaugh-terms-using-inner.tex +++ b/test/karnaugh-terms-omit-tikzpicture.tex @@ -3,103 +3,103 @@ \begin{document} % fill all fields (autoterms) \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][2][1] + \begin{karnaugh-map}(omittikzpicture)[2][2][1] \autoterms[-] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][4][1] + \begin{karnaugh-map}(omittikzpicture)[2][4][1] \autoterms[-] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][2][1] + \begin{karnaugh-map}(omittikzpicture)[4][2][1] \autoterms[-] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][4][1] + \begin{karnaugh-map}(omittikzpicture)[4][4][1] \autoterms[-] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][4][2] + \begin{karnaugh-map}(omittikzpicture)[4][4][2] \autoterms[-] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][4][4] + \begin{karnaugh-map}(omittikzpicture)[4][4][4] \autoterms[-] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} % fill remaining after '\indeterminants' '\manualterms' '\maxterms' and '\minterms' \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][2][1] + \begin{karnaugh-map}(omittikzpicture)[2][2][1] \manualterms{m} \indeterminants{1} \maxterms{2} \minterms{3} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][2][1] + \begin{karnaugh-map}(omittikzpicture)[2][2][1] \manualterms{m} \terms{1}{T} \indeterminants{1} \maxterms{2} \minterms{3} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[2][4][1] + \begin{karnaugh-map}(omittikzpicture)[2][4][1] \manualterms{m} \indeterminants{1} \maxterms{2} \minterms{3} \terms{4}{T} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][2][1] + \begin{karnaugh-map}(omittikzpicture)[4][2][1] \manualterms{m} \indeterminants{1} \maxterms{2} \minterms{3} \terms{4}{T} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][4][1] + \begin{karnaugh-map}(omittikzpicture)[4][4][1] \manualterms{m,m} \indeterminants{2,3} \maxterms{4,5} \minterms{6,7} \terms{8,9}{T} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][4][2] + \begin{karnaugh-map}(omittikzpicture)[4][4][2] \manualterms{m,m,m,m} \indeterminants{4,5,6,7} \maxterms{8,9,10,11} \minterms{12,13,14,15} \terms{16,17,18,19}{T} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \begin{tikzpicture} - \begin{karnaugh-map-inner}[4][4][4] + \begin{karnaugh-map}(omittikzpicture)[4][4][4] \manualterms{m,m,m,m} \indeterminants{4,5,6,7} \maxterms{8,9,10,11} \minterms{12,13,14,15} \terms{16,17,18,19}{T} \autoterms[a] - \end{karnaugh-map-inner} + \end{karnaugh-map} \end{tikzpicture} \end{document} From 221712008aa31bffa27118b2d2ae0274a7e10988 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Sun, 9 Mar 2025 07:36:35 -0700 Subject: [PATCH 04/13] Add test for the global option Signed-off-by: Zhang Maiyun --- ...21-label-omit-tikzpicture-global-option.pdf | Bin 0 -> 26836 bytes ...21-label-omit-tikzpicture-global-option.tex | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 test/expected/karnaugh-221-label-omit-tikzpicture-global-option.pdf create mode 100644 test/karnaugh-221-label-omit-tikzpicture-global-option.tex diff --git a/test/expected/karnaugh-221-label-omit-tikzpicture-global-option.pdf b/test/expected/karnaugh-221-label-omit-tikzpicture-global-option.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e691e407ab35a6d88eb0948455ddf67f8de588ac GIT binary patch literal 26836 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 literal 0 HcmV?d00001 diff --git a/test/karnaugh-221-label-omit-tikzpicture-global-option.tex b/test/karnaugh-221-label-omit-tikzpicture-global-option.tex new file mode 100644 index 0000000..e3bd9f9 --- /dev/null +++ b/test/karnaugh-221-label-omit-tikzpicture-global-option.tex @@ -0,0 +1,17 @@ +\documentclass{standalone} +\usepackage[omittikzpicture]{../karnaugh-map} +\begin{document} + % v1/v2 label + \begin{tikzpicture} + \begin{karnaugh-map}[2][2][1] + \end{karnaugh-map} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map}[2][2][1][$a$] + \end{karnaugh-map} + \end{tikzpicture} + \begin{tikzpicture} + \begin{karnaugh-map}[2][2][1][$a$][$b$] + \end{karnaugh-map} + \end{tikzpicture} +\end{document} From b3afd81b6eea785ca829d5b06fd91a44c211f112 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Tue, 11 Mar 2025 09:57:06 -0700 Subject: [PATCH 05/13] Reorder options --- karnaugh-map.dtx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 07685f5..651af2a 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -249,8 +249,8 @@ %% environment options \define@key{karnaugh-map}{label}[middle]{\renewcommand{\@karnaughmap@option@label}{#1}} \define@key{karnaugh-map}{implicantcolors}[]{\renewcommand{\@karnaughmap@option@implicantcolors}{#1}} -\define@key{karnaugh-map}{omittikzpicture}[false]{\@karnaughmap@option@omittikzpicturetrue} \define@key{karnaugh-map}{linestyles}[false]{\@karnaughmap@option@linestylestrue} +\define@key{karnaugh-map}{omittikzpicture}[false]{\@karnaughmap@option@omittikzpicturetrue} %% render in black and white or color default to '0'(false/color) \newcommand{\@karnaughmap@var@bw@}{0} From fb83f34ef46c328685c39a6db5efaaf72393e5bd Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Tue, 11 Mar 2025 10:10:08 -0700 Subject: [PATCH 06/13] Add documentation for omittikzpicture --- karnaugh-map.dtx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 651af2a..976fe7c 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -1474,6 +1474,17 @@ % \end{karnaugh-map} % \end{figure} % +% \texttt{omittikzpicture}: By default, the |karnaugh-map| environment creates its own |tikzpicture|. This option disables this behavior, and it would be expected that the user wraps the |karnaugh-map| environment in a |tikzpicture| environment. This is useful to make the |tikzexternal| package work with |karnaugh-map|, or to integrate |karnaugh-map| into a larger |tikzpicture|. +% +% \begin{figure}[H] +% \centering +% \rotatebox{-30}{% +% \begin{tikzpicture} +% \begin{karnaugh-map}(omittikzpicture) +% \end{karnaugh-map} +% \end{tikzpicture}} +% \end{figure} +% % \newpage % \section{Examples} % \begin{multicols}{2} From a6107f89cc798b2f883bd0e781f56631aa5a23c0 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Sat, 22 Mar 2025 15:08:36 -0400 Subject: [PATCH 07/13] Update docs per suggestion Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 976fe7c..e356d15 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -1474,7 +1474,7 @@ % \end{karnaugh-map} % \end{figure} % -% \texttt{omittikzpicture}: By default, the |karnaugh-map| environment creates its own |tikzpicture|. This option disables this behavior, and it would be expected that the user wraps the |karnaugh-map| environment in a |tikzpicture| environment. This is useful to make the |tikzexternal| package work with |karnaugh-map|, or to integrate |karnaugh-map| into a larger |tikzpicture|. +% \texttt{omittikzpicture}: By default, the |karnaugh-map| environment creates its own |tikzpicture| environment. This option disables this behavior, and it would be expected that the user wraps the |karnaugh-map| environment in a |tikzpicture| environment. This option makes it possible to use the |tikzexternal| package with |karnaugh-map|, or to integrate |karnaugh-map| into a larger |tikzpicture|. % % \begin{figure}[H] % \centering From d47563bb4ad2abae68d401de0b6a2781d7df9dac Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Sat, 22 Mar 2025 15:09:26 -0400 Subject: [PATCH 08/13] Use scoping Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index e356d15..9d167f9 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -576,14 +576,14 @@ Existing templates have the following dimensions: 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4. }% \fi - \tikzset{ + \begin{scope}[ LineStyleA/.style={semithick,solid}, LineStyleB/.style={semithick,dash dot dot}, LineStyleC/.style={thin,double distance=0.8pt}, LineStyleD/.style={ultra thick}, LineStyleE/.style={semithick,dashed}, LineStyleF/.style={semithick,densely dotted}, - } + ] % grid {[START] % for all dimensions \draw[color=black, ultra thin] (0,0) grid (\@karnaughmap@var@mapsizex@,\@karnaughmap@var@mapsizey@); @@ -655,6 +655,7 @@ ] at (\@karnaughmap@var@mapsizex@*0.5+\@karnaughmap@local@maprealignmentx@,\@karnaughmap@var@mapsizey@*0.5+\@karnaughmap@local@maprealignmenty@) { \@karnaughmap@local@matrixtemplate@% }; + \end{scope} } % ^^A ########################################################################## % ^^A ########################################################################## From ce5ad0df302cb71c6e69da8dec36e74389f090d4 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Sat, 22 Mar 2025 15:19:02 -0400 Subject: [PATCH 09/13] Move scope to main environment Strangely end{scope} does not produce the same extra space Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 9d167f9..83bb218 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -336,7 +336,9 @@ \setkeys{karnaugh-map}{#1}% % % check if the user wants us to omit begin/end{tikzpicture} - \if@karnaughmap@option@omittikzpicture\else + \if@karnaughmap@option@omittikzpicture + \begin{scope} + \else % wrap in tikzpicture for the user \begin{tikzpicture} \fi @@ -375,7 +377,9 @@ \@karnaughmap@func@karnaughstart@% }{ % end tikzpicture if the user did not want us to omit it - \if@karnaughmap@option@omittikzpicture\else + \if@karnaughmap@option@omittikzpicture + \end{scope} + \else \end{tikzpicture} \fi \endgroup @@ -576,14 +580,14 @@ Existing templates have the following dimensions: 2x2x1, 2x4x1, 4x2x1, 4x4x1, 4x4x2, and 4x4x4. }% \fi - \begin{scope}[ + \tikzset{ LineStyleA/.style={semithick,solid}, LineStyleB/.style={semithick,dash dot dot}, LineStyleC/.style={thin,double distance=0.8pt}, LineStyleD/.style={ultra thick}, LineStyleE/.style={semithick,dashed}, LineStyleF/.style={semithick,densely dotted}, - ] + } % grid {[START] % for all dimensions \draw[color=black, ultra thin] (0,0) grid (\@karnaughmap@var@mapsizex@,\@karnaughmap@var@mapsizey@); @@ -655,7 +659,6 @@ ] at (\@karnaughmap@var@mapsizex@*0.5+\@karnaughmap@local@maprealignmentx@,\@karnaughmap@var@mapsizey@*0.5+\@karnaughmap@local@maprealignmenty@) { \@karnaughmap@local@matrixtemplate@% }; - \end{scope} } % ^^A ########################################################################## % ^^A ########################################################################## From 2fa9c6ac2e482335af4a660e3650c7848a3c75bb Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Wed, 26 Mar 2025 13:41:21 -0400 Subject: [PATCH 10/13] Code-only example for omittikzpicture Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index 83bb218..dcdfa1f 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -1480,14 +1480,14 @@ % % \texttt{omittikzpicture}: By default, the |karnaugh-map| environment creates its own |tikzpicture| environment. This option disables this behavior, and it would be expected that the user wraps the |karnaugh-map| environment in a |tikzpicture| environment. This option makes it possible to use the |tikzexternal| package with |karnaugh-map|, or to integrate |karnaugh-map| into a larger |tikzpicture|. % -% \begin{figure}[H] -% \centering -% \rotatebox{-30}{% -% \begin{tikzpicture} -% \begin{karnaugh-map}(omittikzpicture) -% \end{karnaugh-map} -% \end{tikzpicture}} -% \end{figure} +% \begin{verbatim} +% \begin{tikzpicture} +% \begin{karnaugh-map}(omittikzpicture) +% \minterms{0,1,2,3} +% \end{karnaugh-map} +% % Additional tikz code in the same picture +% \end{tikzpicture}} +% \end{verbatim} % % \newpage % \section{Examples} From a1ac41602214e016521e7b6e7082031ece35809e Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Wed, 26 Mar 2025 15:59:05 -0400 Subject: [PATCH 11/13] Implement option testing (hack) Signed-off-by: Zhang Maiyun --- ...rnaugh-option-omit-tikzpicture-default.pdf | Bin 0 -> 28340 bytes .../karnaugh-option-omit-tikzpicture.pdf | 1 + ...rnaugh-option-omit-tikzpicture-default.tex | 42 +++++++++++++++++ test/karnaugh-option-omit-tikzpicture.tex | 43 ++++++++++++++++++ 4 files changed, 86 insertions(+) create mode 100644 test/expected/karnaugh-option-omit-tikzpicture-default.pdf create mode 120000 test/expected/karnaugh-option-omit-tikzpicture.pdf create mode 100644 test/karnaugh-option-omit-tikzpicture-default.tex create mode 100644 test/karnaugh-option-omit-tikzpicture.tex diff --git a/test/expected/karnaugh-option-omit-tikzpicture-default.pdf b/test/expected/karnaugh-option-omit-tikzpicture-default.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e299c122947b8531eb4930d9c3be50a40deb1989 GIT binary patch literal 28340 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

gcK;X1{MSnTiVn8M&PE?*N;G!H zrXUlI4-+PKW=2*nS^$&ihntdv?l|4&0e4hD91CdMBIP6po`O#n=aAaM;w3FmL$3=M2-{)z=;Zs7?0 z*#0vndZ3z#gX71gfozN{>?|BStehNd46KZte-HLQLIlcMxR?O{ii#F!WoO`I?r35F zbotwfoQ&*@EVO@_ME%{afcd}78z6T(6Cjgj_fbn;-ILS!LO>|;Tbr!dA(Mn-;7&IS;y6?1bH){rb@zabLRirUH@ zXMlv&xM||0u(JZAG;~1`eABZj_SDjO?tT`QQLfIJp4IzwU`4vBx5oL7f%KCb!&iJqRkwM+OH{-|-7@t>O!D6jyfZq*$6m=3y13Y^bqg4+%?vdKnza-k_8FR968;U?h_Pqhi{!ptwZv# zj_N+xN`Qy4K+RE&(4L-%WD3xAr3;_OVA0UAgHd@~p=Xutl!LR6OT5W>NdA;$@KX|F z&0}S6H`iO(C+;mYXbBT2)?aM}>pNAawIUO_YhKJIwS7ip5L;#3%V>@Rv1--BKf4&! zU^q%rH5{MuD88h0<%{$%4=K-A<=g(=U2byIGK7n4I=ig~RTW#faEQ?1({7{hcQ#FBTWCEi;=ve`J-du1R|vrpelorH!W!UW%e@ zs*vz=n+hRbN>jpvfrlLH_ubQmo@iVlu<1IR3Q=%r^fg8TpKs`j6cyoR!gDS%1Z#@NISsLc#y z<L_}PaQ(RaO_&*Q%xXRz0-ncpc_QCsaaEA4}9m$Uw zQ&fr13qx=*fXG}k2qFk7AfO{|!M{I1&)&%d@}ta`G*zqOXR(rKr|GK}>w9G>TC7(y zy|K+&5BX{iJNXUefMs(&2caITew45j_ Date: Wed, 26 Mar 2025 16:14:32 -0400 Subject: [PATCH 12/13] Swap misnamed test files Signed-off-by: Zhang Maiyun --- test/karnaugh-option-omit-tikzpicture-default.tex | 7 ++++--- test/karnaugh-option-omit-tikzpicture.tex | 7 +++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/karnaugh-option-omit-tikzpicture-default.tex b/test/karnaugh-option-omit-tikzpicture-default.tex index 0015848..0cf7963 100644 --- a/test/karnaugh-option-omit-tikzpicture-default.tex +++ b/test/karnaugh-option-omit-tikzpicture-default.tex @@ -1,8 +1,8 @@ \documentclass{standalone} -\usepackage{../karnaugh-map} +\usepackage[omittikzpicture]{../karnaugh-map} \begin{document} \begin{tikzpicture} - \begin{karnaugh-map}(omittikzpicture)[4][4][1] + \begin{karnaugh-map}[4][4][1] \implicant{0}{0} \implicant{1}{1} \implicant{2}{2} @@ -21,7 +21,8 @@ \implicant{15}{15} \end{karnaugh-map} \end{tikzpicture} - \begin{karnaugh-map}[4][4][1] + %\makeatletter\@karnaughmap@option@omittikzpicturefalse\makeatother + \begin{karnaugh-map}(omittikzpicture=false)[4][4][1] \implicant{0}{0} \implicant{1}{1} \implicant{2}{2} diff --git a/test/karnaugh-option-omit-tikzpicture.tex b/test/karnaugh-option-omit-tikzpicture.tex index 0cf7963..0015848 100644 --- a/test/karnaugh-option-omit-tikzpicture.tex +++ b/test/karnaugh-option-omit-tikzpicture.tex @@ -1,8 +1,8 @@ \documentclass{standalone} -\usepackage[omittikzpicture]{../karnaugh-map} +\usepackage{../karnaugh-map} \begin{document} \begin{tikzpicture} - \begin{karnaugh-map}[4][4][1] + \begin{karnaugh-map}(omittikzpicture)[4][4][1] \implicant{0}{0} \implicant{1}{1} \implicant{2}{2} @@ -21,8 +21,7 @@ \implicant{15}{15} \end{karnaugh-map} \end{tikzpicture} - %\makeatletter\@karnaughmap@option@omittikzpicturefalse\makeatother - \begin{karnaugh-map}(omittikzpicture=false)[4][4][1] + \begin{karnaugh-map}[4][4][1] \implicant{0}{0} \implicant{1}{1} \implicant{2}{2} From 8ba81d653bde3ba4c4804041f74e49cd07f1bf88 Mon Sep 17 00:00:00 2001 From: Zhang Maiyun Date: Wed, 26 Mar 2025 16:15:15 -0400 Subject: [PATCH 13/13] Allow local overrides to global bool options Signed-off-by: Zhang Maiyun --- karnaugh-map.dtx | 8 ++++++-- test/karnaugh-option-omit-tikzpicture-default.tex | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/karnaugh-map.dtx b/karnaugh-map.dtx index dcdfa1f..5137c22 100644 --- a/karnaugh-map.dtx +++ b/karnaugh-map.dtx @@ -249,8 +249,12 @@ %% environment options \define@key{karnaugh-map}{label}[middle]{\renewcommand{\@karnaughmap@option@label}{#1}} \define@key{karnaugh-map}{implicantcolors}[]{\renewcommand{\@karnaughmap@option@implicantcolors}{#1}} -\define@key{karnaugh-map}{linestyles}[false]{\@karnaughmap@option@linestylestrue} -\define@key{karnaugh-map}{omittikzpicture}[false]{\@karnaughmap@option@omittikzpicturetrue} +\define@key{karnaugh-map}{linestyles}[true]{% + \csname @karnaughmap@option@linestyles#1\endcsname +} +\define@key{karnaugh-map}{omittikzpicture}[true]{% + \csname @karnaughmap@option@omittikzpicture#1\endcsname +} %% render in black and white or color default to '0'(false/color) \newcommand{\@karnaughmap@var@bw@}{0} diff --git a/test/karnaugh-option-omit-tikzpicture-default.tex b/test/karnaugh-option-omit-tikzpicture-default.tex index 0cf7963..9e87f10 100644 --- a/test/karnaugh-option-omit-tikzpicture-default.tex +++ b/test/karnaugh-option-omit-tikzpicture-default.tex @@ -21,7 +21,6 @@ \implicant{15}{15} \end{karnaugh-map} \end{tikzpicture} - %\makeatletter\@karnaughmap@option@omittikzpicturefalse\makeatother \begin{karnaugh-map}(omittikzpicture=false)[4][4][1] \implicant{0}{0} \implicant{1}{1}