From 779aa6d8e2e3710977c1ee6190ae236bc6ee0b6f Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Fri, 2 Jun 2023 11:42:29 +0200 Subject: [PATCH] The BasePlus package [ver. 1.26.1] The BasePlus package [ver. 1.26.1] Updates: - the `%RainCloudPlot()` has new parameter: `catAxisValueAttrs`, - documentation was updated (refreshed example with plot). The SHA256 hash digest for package BasePlus: `F*D6DC5AD1B60A92AD300B639B3C361C1F7846EB01E5AB35BF4FDDA6E783408172` --- README.md | 2 +- baseplus.md | 9 +- baseplus.zip | Bin 275492 -> 275530 bytes baseplus_RainCloudPlot_Ex3.png | Bin 66986 -> 67290 bytes hist/1.26.1/baseplus.md | 5148 ++++++++++++++++++++++++++++++++ hist/1.26.1/baseplus.zip | Bin 0 -> 275530 bytes 6 files changed, 5156 insertions(+), 3 deletions(-) create mode 100644 hist/1.26.1/baseplus.md create mode 100644 hist/1.26.1/baseplus.zip diff --git a/README.md b/README.md index 918b76f..d8809e6 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ libname NEW "%workPath()/new"; ``` and more. -SHA256 digest for the latest version of `BasePlus`: F*B3CACDA32A5E70940E667DCA859483BD76DB082D19BAF326F28A580226DDD962 +SHA256 digest for the latest version of `BasePlus`: F*D6DC5AD1B60A92AD300B639B3C361C1F7846EB01E5AB35BF4FDDA6E783408172 [**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus") diff --git a/baseplus.md b/baseplus.md index 42279b2..0d2ed2b 100644 --- a/baseplus.md +++ b/baseplus.md @@ -70,7 +70,7 @@ --- -# The BasePlus package [ver. 1.26.0] ############################################### +# The BasePlus package [ver. 1.26.1] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -356,7 +356,7 @@ localization (only if additional content was deployed during the installation pr * SAS package generated by generatePackage, version 20230520 * The SHA256 hash digest for package BasePlus: -`F*B3CACDA32A5E70940E667DCA859483BD76DB082D19BAF326F28A580226DDD962` +`F*D6DC5AD1B60A92AD300B639B3C361C1F7846EB01E5AB35BF4FDDA6E783408172` --- # Content description ############################################################################################ @@ -3135,6 +3135,7 @@ The basic syntax is the following, the `<...>` means optional parameters: <,y2axis=> <,y2axisLevels=> <,y2axisValueAttrs=> + <,catAxisValueAttrs=> <,xaxisValueAttrs=> <,xaxisTickstyle=> <,sganno=> @@ -3245,6 +3246,9 @@ The basic syntax is the following, the `<...>` means optional parameters: * `y2axisValueAttrs` - *Optional*, default value `Color=Grey`. Allows to modify Y2 axis values attributes. +* `catAxisValueAttrs` - *Optional*, default value `Color=Black`. + Allows to modify category (Y) axis values attributes. + * `xaxisValueAttrs` - *Optional*, default value `Color=Grey`. Allows to modify X axis values attributes. @@ -3447,6 +3451,7 @@ The output: , sgPlotOptions=noborder , WidthPX=1000 , HeightPX=320 + , catAxisValueAttrs=Color=Green weight=bold ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/baseplus.zip b/baseplus.zip index 1f7746364743cd2e2e2adfdded0df2000d62d117..47bd791ae3881043ac40afc2ac96073c5ceb337f 100644 GIT binary patch delta 20406 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 udPW8KuV6WpS!15cXh2=tEy4m z6Q?M}rzqIUa^MgcARr(xAc3I+8pgY*dZjQRARLL9odoBDGZB^EMpiNcV z1#6LF|2KrTSmhf{Y*c8di^_rXYe=QcY_VCB1t}3L4;P7*1hwcLN|}6D18`9!(@ztmWykJhGa$J@KZKJxTD7Dnu?k%ZR#&-ADuGp_qm|>bEs2Q=DKRkeP zOXX@g2v>~p^$p3iBGk%_2L@LMFrR-O)-)VAuVC*52U zJyR`v5sanM5yMX;RKOZ5w<#*Rd!?MN_dq<;Ftj6^@}$G zii!ch5e0C?ds?FKH<;DltyjcMbo=YqaHh{45BKvHp}s2Fg9F40%IGC}{OUx+R?m=9 zGq;kC0xfaU<;@^-oOM;U@sU322&7dM&p}@jk-`M2n#*cM+RXwrg9`AZ(N>jz)EGXJ z#-d9&5eFdT##4U-jj5&}BvkNwkDwvf%v# zgoxL&@IEtsDSnmzb}d{zxefA&7McgbZ&Dv|)W&FPo<&xLZ-Q%w;^AY#6u9Q3rpCA$ zetUD@$}%Op-&S?Z5eg=wM*zg?`$%B2RWl*1KvTO zvG<$|7Us-ujcG5fA%E?~9EZ4xc#9`v=>rhN2lb%o-~PTq z5OUjgO96fS4KafTO*r(cP-p%VDKJn+6Yk0Yk@BBRlQ&2mlf;p7@zMK4@xeJy%Sp*B zHftXDiB0zah8UIpPc^=^ro1tZaW)O*Vs@<}o@gB4iMKt5p=w`wB%_wJIA;)ZAT@~rhJ zl^M1Z5C!pCn36)y@~gvdiory!_);*UI2Mk8$JVGrdGo<=VU_-~@~Y#s?!aM<+bL~Y zrD*d#JnLi@>YeMwFWzod^t0Nzk5JffePh-Dv7ck;`yRlMWDNuRyqOiMMEYy;0#3Uo z3DyFut%RlbIkI0M{)VFUAuFnO=TEZ_{6%4Oy)*)Cf&&(0bB^MuC1{{r4D;{BbQw3@ zQt<22JG}MUTw69$=!c7tD3CF+UrD2g){*C!*W)eQtMTG2%zev|ox zBx`epa~ojsT%Q{xBorEUB1Vy2z5*=J@-|dzp8vueC)q!-bR+2iP2bMXM2mWRr#%?} zR$;Pg5ONk(Q6E)l>ht@k>ORxV(SgEkIPG}lmA@uO)L&) z;0f<@;~vNbEe;U<&B1}Tq?Is;)fg?Ia{qRD%7qXW+-GRe_i^%V!>3l5;YQ93 zC1n|LuHH^PG~;c57{<)J?kEoYU*A>`s4z(d!HXr^%_IOCzVNBBpF?T|0y3#F&iL+% zMh-MdcxDyfX7lNEQ2rT74N)PJ(iJEH0|jvj`o!bwSgpf2Gg6-9X@bMc^fO2YnZwK; z9+8^Zf_+?R31eVjEUca@uo9=7rK!VwK6LehG1LAM`>um|D5hdBKj)@kXx#l1DiZD6UmkR$3&>r*b z$;Y}2xu=#p&}79Ef-u)_F>B|hq=D$5jnz}HmvDbv$wersydjugB^v1MJ)pbg7;C}XJ}wzlrTja{LwQS#m)*vMQW^EovYzo%zq)}2BJ~&Ng{gLSI5{|t?IVjKj4!O2QjY@e(pV9vQfFz zrT5!0eVB=Fx-vo!gD!deHKryV4rM|r<|8XZwK9u6g3Z{a!w8O?*k>A@ll0rH_*;mt z{%_UOgpAk(4)Z^6=7l!s3Ygpd53zZT4>~s|XmH{_JZHz+wcu`-EskYMaJfo-8sT@ zzyImZ(!{(lzXv**p00s0Ke?Rbmt5tn?+w;qObpqA*?Ug6SsY&g!?_{c z1$7HTK&Lg9fJ>M>#x8=xuJ?d-unz>`>ui?by~u$lOyC!*>^{$mQxJGg;|c|@)h*~; zB!KS$v6~oeVk0h5r)=TMW{Vq46)jK<}i*t7Dt6DQ@D)fS7Fz=dDWk`%DXYdRZjTPs{B!s)RZbPL z)jNN`m0YXY)$n~;c)g0Wjj?e=+NYvZO75x4_$JZFtx$t@zVfyl&&bcZ1I(GkUEJl) zfMWaX6Ccz{)H6b;I>yKsBDWOkWos5Zu_hP>dBfC^8)klJ`S5|`^enIp5?hH^c!uUP zeA!p3yv|nH2Hkb{f9N08tNnAY<-SN-AIZ+f)yE!bx? znop$y8Ni1pQ`{5_)m&#_0SVT}!s{lwr26R{Qf{2f z(Q@O5g<0`CFj!>Yp!l)Dklrk(rCUhWIXJ&eYPDuhS0*JAvBX~OsWRq*gkpwMZbo7^ zr!p*j=2~|F&{w^*0j^+sIbESzi{sF3>JS{AKccMhH<>;Y{^I}A3TubRH#s(vpa62Q zXoj_vzqxb!jCXhWt_biF_h;*JAK{@pF2cTC;m>*?ijyYr!RM#$-g9&>$MjXtdyRiq ze|)FYHRdQs%%CN{Sw&PkprH0`Q{+!0OyC8AZeWB%c9Ysw0-y+mbKQ=u+g(N&{J3!* znc})oEfNoz^YY0jTK^RLr)*atE!WX{?vXyC-f*Ltp+42aw@Ii*uGmZY9|rI~jn+>+(K!Cyl9><*gny+=4WU6CnzC;!Prr&RNMo z{Z6PnYpTqjMH9(;!aMzFgM0tR6xr#k3lv<(Wnrfa>aBFmi?n|qCmd*mA6s&g!Fv$K zRF%0MX4BhrGgG3h*h^A74m1EyX@qvS(ZWd4#oL{)0qAj-W0hPpNOBq~T6Cq@F%AcVZnK#b{cHjF|4J;qsx(tk_oOA{1x|~EAQ*fbY!6QCfbbBp_`9C8I zy}aw23+p0jO%~a$1lRAz@69#k*cW%(-Pp?N34x$W%{HeQQ@5d6kUoC4iF;n)59@wV z*>!-}1Kf65uiy{jdYTvjj$Y9*JSsNvF{BhSmOfeKYTEClDM$YxYky_M)C+B_n6+5F zGhYrtfwtsTKwz2p?>OiSv50Piagj9!)u&$s2ISKSSJxlr&g^<*{s{6q2zOCrn9lgi zgu&k#fcL%dcGN}b+UR1`v98$eC8r;YrF5%)0LVIG|3~W%$rtT)P?+A**4FfTPs!u9 zv>41-61<<~C_y#3f1=_>W`VYUD6=;5wFe)77kch=gp_ExIMs^(p?xb~I!%qf? zKDrJ-H@SW3i|kIMmKw!Jwb3FUZ&EO8$i^dus*^m773WZOgeXUS?G&>UNXV!|%PPT; zQRY@q%{#0}dXPzAitnY>#;n)ULGPzg3-Kn`jQ@)dYBM(*PeEO?W=1Puf})r(OzIV7 zMu_$_qV3O2@jw%sRWx+*opu1!0WSb(fG@wdAodbR-|KsSjE>F_-eMUS{p1tB0KOl8 zbsIxHI{tD+sN%2+0=ErPpOEvl_RtT0{E-!)5IE)?)JVB>yV;%}kA=vujqDNps%gc* z!K2xLe&YV?P94rkWJG zF2%hy*+U*%I{|8Q4w?&)lZ@zb3=w~>xHN9jt`7OTbcHq~QV=YLsV}{L*ydCb%6Lpx zg%{o%oi(`z${lUW0)t;d+ndNjEX)%JWZ$QsD%wF#mzb&=Q})S%Ji;qIR-}=|Z8Ow2 zBq-8DY_jPhuCen8uMR;_p_Y{wp3>nYr3W(b5o}TADp0E?6F>#nngPs0DHLDUtKNup zpKSblv+z=&RFt1%+pcoc8wun87c@R=2KHrcSn9s^%fWl@ zz2Gl|&TMkAu8&)AcIo8tEaLvnaJZGaV8LW5C@cWJMNR*(G~D4o$2z4hTkS8cusgJ) z&xW51PZP-Q#*T8TGlE)9VJ)H%mQ)0V-y+1Qk*$f~ql;k;{81_Lctdhi#^GSK>?m>U zy#0b6ECW2h0f1iwzd+-Gtb{c1vx{ca`rCL;&R;J;GeSMk6W{=$KB#IFF%bnQ?EjSS zH>`#OB0za!M!>AnAPYt>@K&fBC9N7hn9XUJkq9N?4g^hqKaqVim@(C%H3#b3dzEyc z;BLPl{MqN`;>8r`jA0jEpJ|}vc$^G2n~bzs;|^b4xK!^ObIcU7QwKVgZc#r@iNWA+ zt{cKv>NFy^9O{uwHwlU0ox4-C6~!c3fP#gr0;7O625|0IH4nU>{w9lJn@+?j=D8dc zfJ>G)MGKJXDUkC^Ln;g;j*$c<)K^rJ%{gAsplJWxi%6IZg`5njMf&diBMD##o4$yi zVh^G$URY>lNFrm_kV5;wK&vQPq!kUKOVuu@>K_!cR#2OrKcwZASahH)4Q`>~G0fVl z9Ia6dRBIaQbvS_w+g>9MKS|TweUs9&u3z?Vld$(tR1Qyw5>1s9|2_1>=g5MG|8P{z zY0Uqaqm$dP@LL`<3L?8#L=g1n5dk9AxNf9oJQlwFdTmsrS6adU2GjCIJ0+o_9Q^gBpV zQ8D2F4_#C52rnu5Jz@*>H6S6+B;Itmhj!q!OWSroEwy^kA+ zK_&or^W?|LDu0&ZOQ-7>NsUOqJ^K4@@#A8LNYJ**t=&ky-tNrSN}aLDy?&5urWuWCVYH7^^gYtg#Ne^hjS?eeGCtJBGniNPDfls({a0WzX=a;j*J-83wTRL#yDNigaBFBRiY`ffE1saeOk(sV>)y$^) zIcQCDb4Bl&Q|_^2;?vN!PNH_#t?c@m$osPcbIFN_-$Kw=6UP%$7k1tq8h(13y$bQ+jJL4a6KEjF~Q>@^=;HE?PI z9Hd|b{2{aq(K{JJpqVfsLd)@t@tEkX83c{%?q*$c#Z zBhtbbG7&n^TD@<|yx$f73~h+CE+{H6^cRUKGcMFb*^i_0y*Q}VAQec{@IPquKT#2Ax+;m6L|q<16*WTuA8m-PONuw<71y~#klvt-Imic2r5 z9zQ`_**vU@s30DiUZ6dU`>YB;ihV3%=$)idW>jpPz$GfJCKo04Md|g0ik=jW>P1O1ho(MLly7-McujTb=e7g8V639l~Gh6O>Q-^&D${ zTCI1kyJc-l9zzd0tw#KM3f3$f9`z|LtcP&_iLxI+u09xrNafrcwRbJgE{niby|kp2 zI;nJJdS37B_a;P5_*-d~_Yf64_q$>Pg6m+&;BYrrvD6JmXnfYq=Cw%?${=QKG*!E- zqP8cTpIa5z^=Xyywx^I;l(+Q-=0K_F-m8QwSGw+5qI2n3Z8Y2XSWPf->XW^)$FmAg zOA$!^A(N;<-MR_|)MAuM?0Ym{`uNP&8>NMEigSe+S$A(jjEgbeb z@YxTf%qJrB&dmYoZr{rnm;Ii}r60xY;6FgKhCxSx43lBG{ zd1q5)u!4(Gj^tJykP_B6@>;WvvAyfW_&s%_mW%Twf1C-jLG9W!lsGW~D!mqOobR`m zyjh@<_@dK6^j|yso2HfyUF}lhreZ2wv|-GTX)l1m7x3;>uA)|9!LFDMOMq|p3T#Ij!F@mQ_z^s?H3;+Q3 zD|(J>#l%ZFyBqLv-1mQD{me3DjTAHp2o^C2@RWuVlpRP+>kbMHOr@m*W1FvDE2Ty$>)cbce!?hpv=--fpZ-B;oFJ8NT_c6R;Tei_7x4Bu1q z6F}Nc4B6C=-dHSQfMa*UARP8{WQ0D$mw4-2MvyBuvk1aElU& z$P9mhxYarc>OylD?Cy%NhmWTs{~MZu3>QaP&UZcx#P1hm3L>ci#Nju*Mr3DK#vw;$ z1qBO*zhnFh4wRy!__6mKnX zO}dqjDJEivkcrq8RcHnY4}ag7hJ!-5vMawyqxpNHHS5;b3*AD}9rAdG&M0Of2bwhe zOM!`TI6wgjl#s+AEFn%$navGCK6S96y0y;}$wc)Lo{D zoG8^1T?=wm=~LW^DK0dKE!KiZ$Om2V@n(!(g{53B`qbuhV1!Rj0@$cz^P<8N)OJs? z3tQYPUZOv-QT)Y&R%JYooHNWQssL+OOYUd&RlBGdkWS%vXpAz;`RCg$hHX8q$Zp$awk(MOkYD9h!C`-AG1fcI5V0V)Leb}oR(k6#)buTrO<#TK^dnx2k#wwN2f4{#@nE2zD zybGWEr!xqTJ4Wf@{PBn|>aYCL`$$5T2er1F3fr(r$7i5H!Jg3{Uu#-(g)=4;{!{I- zbUXod`wLt@6k}9w7KWtd(0cOjK?ktK0Z(gQycJL2ay1cLI^guhQGabIxG`jeArC2i zvmIexjujV4A+&}F?|dWi1jR=yo|M&6}u_{Sxw z$s$^=b3@udYtE=B%;-NQgQSb79>!{f=+MI6uC3esx+ZlUEuA13I)%6V?EL7n#r3Bp!7YFs3wmn}Dg-dE6j%9of zUCif&m9b!k@dG|Ds-Z-Bh<_4R0LCGHL5ZjtP^lR#V|5%VTRhp(ylvb zg|0FHi+3Kv&Lp{dvcp{Gz|4X`O4ir+zHmjJ-^0Q?>o4eG(cRkkDTA$8g&k`>zS345x+66MbZ8Myy_KAC$ zVP!+20;<_K#!Z_jJjL=l*>)-dXOqi;6fD-Km}~fIk!cpAd%SNQvul-6J-i7?nO}7B zc#wZIY~Do#lx3EUIq2>jZ)7{SSH)A33AK&qShw=n%_;kxDTVViUar19avq&a7jHJV zW=s6^H?Dn|zQod6KXT;K&h1~gk81Y82CsLt(WV+QmR3MYm~}7!W3}kpOsPyoUe}wJ7bc;+JhzK z6FKx${hoT58EP&eW3pd!mVmfH7qZ7X1?+XeBG2aW%Y*X~vq1_Y1dMB!9_v|=)+d!R zO)bi;@w;eOM4>+Vidsq-Xi@P5{v47(T1yz$5BIFuY>fvGML^RPQ9ebqNjp)H^00Hb z1qq|1bSZ2J$10XBCS>IybqIFNh$^(vp^2AHGLX|}hv%_KFA3p1%gh9Y05)}v z<`nFnU$L&12Vij%<~SRV+aZwUeLMJxW9y_sZ-=XbQCj?&E>gtC*vqXM=00+~Gj3?{SLn>?rc!4d z=UIte3BJA^xCP)Z67exuXAfONfM*TiJrO@CIKtd+((sR`tOVt3VU8flvR2rDe!0SS z7=Sx^KNRo|B3O11ZKTpy3*U)<8b(k*j#&pdc~>^cTr}>GXoB6!WnH9TM70`OkRnR_ z$AZ~g-;lzE9k{{($DbL%`I*IJIzbHniQEiAffiuCvotR zLkQA@F#h;@LI3`|7OA9GB?}8fFOYxEw$@Q1fx%hk#k1MfU1|*R-r2#Go}OQ zPH6^XwHp&j2Lbu6#>}+@EV$ANwoN{OZ#Q!MWg~ENEQ%RnY&l_1o)} zv}|YA`4Qy$@k{w?LMafgBoI~Kh*~BKBdALO2~TZ%C>Ji=RpuG4YR2qB(>x@gFX?Yl z)d&ZM6HX>~D_b5)xDSfTt0rK=C6p($Bw>K3WEX3JP>lTNq7UwXf%TMLrn43Hx>JG7 z2v3OJcyG2yRyo!-vBFi~p$FTNJhnS(+8;A$qkQ0`DcG>rHr;elj!Ekf#@}c(dJx}g z3mTMB0&Ia?vn>Av!RsR)+{r_djB5^aQJo63ORRYZD36O>_2l0w<@}Z^87C+m=2V(R zmHM=(sEkRGNihllvplJj+WQX5K})rSa1}R612v<=H%qooDA~3tZT)EmJNmHjiKk5M zMox)xl@J~YEg4eLE|cLqvpQP;3(_xwGr3|zy_Mt@8}TD=@v+7x)ql0jKW zdJ%i$QWsjB3O%(vJn}VO##9U%)(?JOgorv-6YEH<==0yu>jc%P^ z<~3v)c;rTN)`M0U4C7>J2>z-dM!nV7O~X~s2mn3w!)-TA1((c8pBcejItEk%Ia@SV z!73%!c+#a&1;S(%(BITj(Sy(4*Ld%(UcotaIIzVCxLDzB?|7GK%r7(2!dmU;{B^(R zwrmk9^s1u{VFDgr0^~pSb5F&!I&z-)PLb zYH<47cUhP@iGM$cAa&H2&^iK}?j$M%0V!$TZswhW*$EcN$bp72Qitc0r@wN+Z#WRc zO$^ON4rFwEW1l}?tWr9u7~G61n$PPR^K5LYtyb&nyyP^QzSJw{H>y(G1mk=4j!vF6 zzc|Y6vU=3PLp*ZYJQl z>ODW;+kL9ge^1zRp#BR2MPblL|8cAFP>C%0_&? zY3CuHaM_C>z&p14>=Gpv33hy~T!Xt?x%lIN6qAMTaR&znFGLY{rmS8tpheR;vBuEsLjqbrIT5PZN-3qiJNbc|5D+oC3 zL`1K_>mytJk_&SKA+E;@`e(|5Z&W&(24abz5x^}3GULozciWrcYRMMa18W0l2CFo? zb;Jav(?U$a!vimj$L}qsVy_;xGp=%(0;>WyCJj_y?Q%L6nGgVN%BqnZV#?W6Ne;5^ zk?22e~CXqM_1E{Y|*rx{9U`Jh<_^6Ga zXK$3CiIu|a1~AS_cO`Jnd|&_zOytGbo!>ZHtPecMjzy3~9r8>?Ub}^Ge6{codQ?b~ z#ny_FiJG!HLw37m*@M4BqTmIEZ4o6Qm$akcv&xL3${s2Lw85n1(MCj@v3>&)IjH(( z(36F7a92VZP*TuS>vXk1wYTNpyaasmYEhICarm>ATI(E!-sSS1&cr}Z3`sT`y0N|78F-#^kO1 z!{HD1P+89lvE=hP#qVdko$33YGK0MfCcojpdA2XFK1Y_pOP(+w+JTM4$3{ zajU7)7=3sJ3d|%rgOCQ-d}6k)NZP$5*#Yw^iEV#2_-w!t9Z$EsnWNZD(?=q>*JlTI zQGPe%;ohkyZGkjNpWyP+mqmPY6(GNtTfBNEXi6xgPEaD z1ec1Wn02d;^hL-gj;x@gSOnePy2q@2ozNwrdtW3>dIG(qr|gwT;s~KH0qRC48Axvn zUs>>;G9KWc!H>PiW5woG+A4#M6=v8Ksa3Mafs|`;)2L0$&XncYtnDqLt+#Y%9!0$# zpb}Q(uCX*H_^D@nFy&+#O??ZE6>1qng2&LP#Vps!!$8Ov;KGgr>N>yXdeSiA=JKTB zLw|q8;&N<_;faoXh%b4fa_Q}SHbwvYy0e$&JsLokPLyF^=-i`aC!|%XtC$!|n>lPB z92ev@DC&%R*d`~Thyj(H-DAdyxzDhqXt2^)>|JT*dd|Sm)l9N~=XL-OFCRKWnxLkt zbr|Z(2VMRLSM2&%w27~-K@p0ZO7FDTdeaj7)?li}Thz+K_}Q+R6Yn|VJ54312deXOdY}6@x2B&bkE@>k&D@F-+Y0Yxi*9r$Mm(Vl9a?v$=_J}4S?f_k*ao;a- z(Uqz7#rI?@+}hj(e$0Ojl=J!4U!CIdO(im~gfjq~y#lg4Bl*|)jI)cKQw%uQg#dy` zQav7q)ksyvH^WZ)o$qy6yT4Qb*7h*YR*DM{}ZspDi-`IymS zy|WZ9!@R*o0~MJ0KVW6;X2hN8Qve+W4N&XD=i?D$7&_sF-bkP)H7JDoFH7Ge`R<7y z0oHk~8UiUf8O#zkM5;9=ru~Yd)^EK^4AFmq;W99!4ldc?_L@Yw@51|5*c3xX>hy$v z)xVUv!$B!%{Ix2YWXB@cVGyiFK*YjeZPJL(|CW^VxJWeSCo<@;HKHeUw*iy>v$ik> zg~oqBXQu)w(5m=(8?|+>e9RB`4^0-ZV|4s#jpc6xQHYZdeX(mb-;BmNj=JR??sxg} zZ5J#->}LKJ0^Dz=0zBJ8PCY~F*f{RRp6H!uz(3UrNht2ByE}xIW5EV}70#zK+L0Y$ zztfSJx(vu6s^ed6$!+F4Cuo{(-&CF&h#|EPTjAD=dV{s%Hjk?N;MTjy3|zLcL;~JX zGRpp5S~vdzvl|Q-+1>FBZ*Yx6zIh8-CoaS|NtD%S5Kr_hgOrtuFO3Ok>AD)Dhie!RfC7Xx_=Nu2Y9jZae9bQuIXe$D99o}A`qv;2UrlnjE z9z}2hE_=R3A_k2!e$wnR-5%g4aB(GbjxOCKk;@EfgdQOndHaPK4EfGNa?&DAL`+ zY8JZ^ZOuhx%%;b0o4_uDtA+Sp+}@ER=+OXO*M>7H060=vpg0)h%+fRs*MV;c&N}AK znt3^6@rCUK3{*{t2GBq;O0bTUnL88V4*y-nc-vd?LjIDqE8+!Q38Ii|r<-)4X?O1G z;KYhw{vq~#qbXS7OBwu=VPk@~+Bp`sEvMQA#N`UCgrD&6LLR6R-kf+ zi0ga~{4^%@OJgG#XC=BXzlSMH$bUXQWoTI&klF*QbzW@vdpDA%XOH=z>^t+%DY8L8 zLxcqmfw=HLdL3Vp5J|e6nVG-%eS=hgwi*Mq?Wnb>aNIPg4JL*T=z7>!j%wq);l{PnUCf3lsT2x0rso@1R=t5sZg}UdXnTfgMvQm;IlzU?Pw` zSCI(~Fuwy~eyhL?IR!?(21o7&rw|n`kfWs{OQmB)vtUNB5QVZ}230>$^d3^v^@$@u z)i%n1vY<5wsC(3&G_h)-*BkPHlm>=o0xHYZe)aC-)T#VZ&*qHbPjVAq3W^GEI8eg) zIYDjk4c*WqjQ-uw`01+OoUuYVls1VQB7^ClbbL1Pq4TQ3DPQXN`Za{!9TTs@B>-i1 zNON$^rIXrjfJ#u;S6xF3$Ixsz_Lk7lP^I;BY*%=3lTNf0G9En;h0~qla*&gMS?Dh{ z_Gd`-#2PHD9pT?+1*EJ}N*}rU-LHN6o-_fBCk@UBE|wbFixKx)*xW|Jg#ugxj~taz z{Tlqa+i(?-KbV7L_{hyQ@rDiVV1OMe-8NBsa}N^@+0?_FdMw=H5ju)njKZZ-Q938* zeAz%QMdQ1$a+~&x08G`5Fa?RwWwc67O7&ps2n`UywU7u-B3d_G4Ma(pu|OcjT6iu9 z%5%vLicBf0S;Ftu*?tr!DT|s@{<6FJ-9MCo-#v})Z*5KVz}V%XHFgbX7(iW@5BY4% zk>Sni`&iEqP^3->k4$qND1(>v@d({a4|F^R3&XY1=^_hbcLOiYsxX4}r z{2P*HdmZcPg>=aJns2Vnx@_OP)_o=R<-45s_#FD?uCGO2bN*<8bnb9bWccswuy2 zgECB&6%=~aRcKnClhc7fXr*EX%HGZ26*0K19(bAxr>p4i6$ES z5MbXRg4rwFFl*5_$-*~!SI#TD91O=88h)!{ormsiQR8Y}6iuqM=NXgakOP4XG_RYd zIno*Srm=(*s_*VEbn81ml1v+jYyD_F2vCv9TzKLfd;sp+jL~SAD$nzo+L0aB zpAQ@SMM;C;eZuQa^J{uAqs;XM@c>=1=^P%-aUu54sG#~K|$5pNCD zF*XPmCWc+NJ)dWY?{TJseI`tE?l;5{{ttwUo(f{op<4dmhJC+jy4k=`(}b!9he;Qo z^jSSnyez^lnE;8-!m>`1R5mDRIqt`^;y+tdnXC>ZEN@cRDjQbNAxf_v^53nl)w2nl zau-dm%+7O`3RG20Xbht68i|z+nXK*Lh`NG&MVzLK~2b_`CHB@!@LX0XF(8-1A509C#mo+PRUyBe}K$~gl0SVqLC+%=QwW7nk9~S z+HL7U%$Y6`%u`|3L1F^x28MI%`J9-C^>_bT%tS_nt<=-a`5}6= zUrainH}!2Rq!&Q~IxK^prua-}9M-k7K`}JYPub z-&i0x`v8%`0yZ}Gb#QsZ+Xlb6VnO!vD=dey##%JST9(?w7g>IIp%7-gRC@&1x*RMz zk*`hv5aXx8=U>+%+ZN5v(|eg5Uct;Ya>Hc{|3fjS>V$p z7u_>dtsoGg_bwTygmiRhQ!bP@!E7h@?g~}2Rs@rNbXSX5e)m^L22KBr;)nzt;SlUWqR|vr=sX-o;4>H$X*k6gMo2aMe^MXdqL-cZ!*o+CxQ{0eg!Ey2 z<$i7U8((Bc>(A7=*}d;sLf47dlAkMN>1-ujhA{5sa~{G`;4Cb6Ug6 zH||FF?cKOG-GN4)Qs*Q>5`>U={1p>eD?!BI4XLjFR3kc26rhrQt^I_Q&_A^ve}?-I z1>@qp`xya)byxEdz>)aKSZr*hZ&TXxCCres$mI}7R@d9MSW)^&u$^UV?S;^UA;9+S zVfh#2KnQA%dZ6{F0)0BNRlh92ekVa|)3Hmcy*AnEs5dC%!i5b-r)%T7C;Ku;0e*wK z&-Nfb0If?SEJ@NLBfqtT)APk)jgau=UD#&Gj$OMJ7Xgif_;y8TQ;N8YViXD;U-6%; znFZLS5?gU8!*AbJP%D?}dbmwY4nV9P^#G_4r7+*vyKnXJ#ph*UK~0%F&F9wf_;1z3 zUmEM65(m1azC(lTbPTK3_A~c&uFVIWZ3B%0hlpT16!(s3off@b7vHu121D#I{I{PW zG>m&39C?0zBaZ@3|JmCkF)3?Bx14MRQldYGncwwELyS?YQ`+~YDaVn0SQ!CqvD%xVj)P#+&lY%5|{0DDw9b?^(M>_ff zLgZ;;f&^y1b-vR<3>t3ETi*=#E0%ub58uz`&f#u>G&36`U-&YZ+f*AP`UFi8Q9e0N zI8VHN$Wn$*Le58KVxXivG5}@`NW^EKCr`9V4d$0B)ps6S6ZO!oG|>@-L4qL+%&!`R zCVTD`ZrRcQ?BwKuqAAMewuhJS^W4<^-#s;Ecp6xGa-)@-VXWMiIiiJ$-`?HHq(VhJdvVNcBw0kBi`Yu8jH&%NHXL+ zbf5A2j8(}!3N$2TKX=?jsmPenz@$BUxbLoX&(xQiAwcr9_kxu>o)T6-6fynZdk6gz z)ip^KQj!+C+?XQH^1O;YruDz$ zc*7W&tV@ChU5!6m&Px;|{pAc&B=3DjRISZ)Dv6~>ejR(VcmP^NN33bzuKwj|zqo$9 z9>Rd_x&I{i5&XY8t^_KoBa8lmLO_%y>`UT6f<{b$ z(P@lfLV|)3wGv!{3TQykfZ72yq9AAxP#~yL#3drbqT+^t$keajB!12Ob3Er&)qVH9 zdiCmkj`gcQa~Zs?h-|*A&{gy3bOH}A9T;2id-@~&^qDte=2Rv%MP0h_GVVyYyf-9n zdt#1P*1HjD=7-xpGdK13e7dgFeSfG~>>u~1msfstyFqSp?&qPy1#4!1d}`0)%)$Usuw0q$vhVq&YdHZmzX+&t*oc{9B1><4k)eBNHb;=Wt&i}3KdB->!J^al0 zKfH|Ms$bL>G?t{S*C^3C;T95c%;vuR4wrN06I;5`c21XQtor@pNs(gd_M8V!R|{98NV(Lp@#*zq&-^Pg ztD5Z#TP)8wZH*eQJCT<*n6iGtj6ZyK=XvgjrvsKh4!vLRg!JkXPUwmD(!w6E>lddTKMEhusR;5rwdRY9J<|n{G%rCdj%)w{}Aku-Q5(h!>?~~x_^7=y2oD5HH*C? ziV}iycMnC|%+xtFwch`UkB{Ao_@1pj)AwaMRh>8g+3DBsB}>&xPPR8ypGxeny?UQY zcRlEjhAcehF+Q|EQr_pkf+^Fv*) z2AyBDCBGW&-yr4pSq0_0=cvd_R#(oIBfrR~v!C}>MyN`z-)jyj8!9Zhle_baOQVz` zR`cq=H@nvRe$nS$B|I(E)Lg<5%72n)exMQ-Il^1v4x76Fd9s5t@*X3SPaK zV|wH6O^wQ!&}_}3s8d?UH}wp3f&-PlQH@)CTlm^%xzQIkX1FXFitT&1AVbsnT+7_} z<|iFmt4?q;>yNm#3B4n?q(A0gpu}Xf*%Yc9 zr03dT3nP842eKGR&j4Iwq(LLl%ScyEfte~{er^tCGm{jI1?v-7l+&|!I$a3!}h1KwA{E@D<&fyo#8=)5ZVH{EP+3u^>Cu7 zsVwX%9!0JF23rZtx+8+)$@K??bQn(8w%QN>LvrB(HkYT{^T90S?~; z@)tl$F1-|+=Tcrg$}DkIbWx)v6p;1+-L^v-LTEwS_CoBcB8SRv%`wt>Jp<^FuEv8P8EqCqYhp2R zM{m+|Y;goz`p(C5#iak{Fp;K`Wy4WaXLP+;M7Dn$U%gd6?vzjiRlT%zvFI zQVbobNb! z$-_8d-cCb#c5lo**x@~o_lu`cR2trT_^A6ejZSpg8j6UqSJ)Uhk2p3^#G`Y>#cD6#Q8l1c3?lXmY_a_mbletNl6Du}HbWz} z${d*~f@Ugp+Gv>=8lWX2Xh0l@4|({33#MLzso4Pu)?=WD^nfNR6e%~sVVdQpK0RcD zq;?RZUJ=wK2FK{38lyjl42gl<1u6$GVgs2t>O9sAi%n@L-e7i0U;20*FYaMz4Tkbr z&^mJl%AEl;#c!@@h3wUx2CTOBEwwQ&t;Uu7O<@UMuYQ@|jkPMUmVjl<04)_m2NL*8 zbylUWxLC$xAUlD5QK1;xk$Ja>@x0rt(Oxk$MR1m~up}+I)Zc>D5awqWmM~j@h9tlc z`C}|$h?<47`%^K~EnE3_?n>RINfVgP4evQNU4?|`anQ|K$~79K>0Zc`R(SSMk4&bx zCU1`dFLNW_=j=)a&{BISCa%csan`7#os;cfaa(1ZE81m`SL%@~Px><9qS8NYf+7Ukto-~1oVCT7#G?t zc(dEEKqry56grb^8`5mMP=uYa#Lif;KpM-CjuaZAsAWJOZI&uSwM&Zqf`I_(CIeFx z9SEi&d=HSR_Ydf?+EC?~c^J?@vmBIT^BwTmra0wTZyeT>Pmbl%W6eoqOn_P@ySs2V z*o#ISlohmL<@24v(f0aTj>Ox}u{ziH7rJ^bpo#JS0S zp=6;;GAJZPvTOP9nsFQwj^>-7n>zsFBVdeXIZjT?5&LL?LLHR_+yeg>DE+q0$9}R6 z#GpNnN&`NY9fz-B1FF~)_8V*Net_2P2PWtxHt^S9Qo2si2!tbRCpcru02k9!{{wdn Bxn%$V diff --git a/baseplus_RainCloudPlot_Ex3.png b/baseplus_RainCloudPlot_Ex3.png index fb26e05b378af5f337e47e832cdd85907e347aaf..d20b0542a4b27cc9bed752383c4bdd8a568e0612 100644 GIT binary patch literal 67290 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 C#1qZ{ diff --git a/hist/1.26.1/baseplus.md b/hist/1.26.1/baseplus.md new file mode 100644 index 0000000..0d2ed2b --- /dev/null +++ b/hist/1.26.1/baseplus.md @@ -0,0 +1,5148 @@ +- [The BasePlus package](#baseplus-package) +- [Content description](#content-description) + * [`%getVars()` macro](#getvars-macro) + * [`%QgetVars()` macro](#qgetvars-macro) + * [`%symdelGlobal()` macro](#symdelglobal-macro) + * [`bool.` format](#bool-format) + * [`boolz.` format](#boolz-format) + * [`ceil.` format](#ceil-format) + * [`floor.` format](#floor-format) + * [`int.` format](#int-format) + * [`arrFill()` subroutine](#arrfill-subroutine) + * [`arrFillC()` subroutine](#arrfillc-subroutine) + * [`arrMissFill()` subroutine](#arrmissfill-subroutine) + * [`arrMissFillC()` subroutine](#arrmissfillc-subroutine) + * [`arrMissToLeft()` subroutine](#arrmisstoleft-subroutine) + * [`arrMissToLeftC()` subroutine](#arrmisstoleftc-subroutine) + * [`arrMissToRight()` subroutine](#arrmisstoright-subroutine) + * [`arrMissToRightC()` subroutine](#arrmisstorightc-subroutine) + * [`catXFc()` function](#catxfc-function) + * [`catXFi()` function](#catxfi-function) + * [`catXFj()` function](#catxfj-function) + * [`catXFn()` function](#catxfn-function) + * [`delDataset()` function](#deldataset-function) + * [`qsortInCbyProcProto()` proto function](#qsortincbyprocproto-proto-function) + * [`fromMissingToNumberBS()` function](#frommissingtonumberbs-function) + * [`fromNumberToMissing()` function](#fromnumbertomissing-function) + * [`quickSort4NotMiss()` subroutine](#quicksort4notmiss-subroutine) + * [`quickSortHash()` subroutine](#quicksorthash-subroutine) + * [`quickSortHashSDDV()` subroutine](#quicksorthashsddv-subroutine) + * [`quickSortLight()` subroutine](#quicksortlight-subroutine) + * [`%dedupListS()` macro](#deduplists-macro) + * [`%dedupListC()` macro](#deduplistc-macro) + * [`%dedupListP()` macro](#deduplistp-macro) + * [`%dedupListX()` macro](#deduplistx-macro) + * [`%QdedupListX()` macro](#qdeduplistx-macro) + * [`brackets.` format](#brackets-format) + * [`semicolon.` format](#semicolon-format) + * [`bracketsC()` function](#bracketsc-function) + * [`bracketsN()` function](#bracketsn-function) + * [`semicolonC()` function](#semicolonc-function) + * [`semicolonN()` function](#semicolonn-function) + * [`%zipEvalf()` macro](#zipevalf-macro) + * [`%QzipEvalf()` macro](#qzipevalf-macro) + * [`%functionExists()` macro](#functionexists-macro) + * [`%RainCloudPlot()` macro](#raincloudplot-macro) + * [`%zipLibrary()` macro](#ziplibrary-macro) + * [`%unzipLibrary()` macro](#unziplibrary-macro) + * [`%LDSN()` macro](#ldsn-macro) + * [`%LDsNm()` macro](#ldsnm-macro) + * [`%LVarNm()` macro](#lvarnm-macro) + * [`%LVarNmLab()` macro](#lvarnmlab-macro) + * [`%bpPIPE()` macro](#bppipe-macro) + * [`%dirsAndFiles()` macro](#dirsandfiles-macro) + * [`%repeatTxt()` macro](#repeattxt-macro) + * [`%intsList()` macro](#intslist-macro) + * [`%letters()` macro](#letters-macro) + * [`%splitDSIntoBlocks()` macro](#splitdsintoblocks-macro) + * [`%splitDSIntoParts()` macro](#splitdsintoparts-macro) + * [`%filePath()` macro](#filepath-macro) + * [`%libPath()` macro](#libpath-macro) + * [`%workPath()` macro](#workpath-macro) + * [`%translate()` macro](#translate-macro) + * [`%tranwrd()` macro](#tranwrd-macro) + * [`%findDSwithVarVal()` macro](#finddswithvarval-macro) + * [`%getTitle()` macro](#gettitle-macro) + + + + * [License](#license) + +--- + +# The BasePlus package [ver. 1.26.1] ############################################### + +The **BasePlus** package implements useful +functions and functionalities I miss in the BASE SAS. + +It is inspired by various people, e.g. +- at the SAS-L discussion list +- at the communities.sas.com (SASware Ballot Ideas) +- at the Office... +- etc. + +Kudos to all who inspired me to generate this package: +*Mark Keintz*, +*Paul Dorfman*, +*Richard DeVenezia*, +*Christian Graffeuille*, +*Allan Bowe*, +*Anamaria Calai*, +*Michal Ludwicki*, +*Quentin McMullen*, +*Kurt Bremser*. + +Recording from the SAS Explore 2022 conference: [A BasePlus Package for SAS](https://communities.sas.com/t5/SAS-Explore-Presentations/A-BasePlus-Package-for-SAS/ta-p/838246 "A BasePlus Package for SAS") (September 27th-29th, 2022). + +--- + +### BASIC EXAMPLES AND USECASES: #################################################### + +**Example 1**: One-dimensional array functions. + Array parameters to subroutine + calls must be 1-based. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + array X[4] _temporary_ (. 1 . 2); + + call arrMissToRight(X); + do i = 1 to 4; + put X[i]= @; + end; + put; + + call arrFillMiss(17, X); + do i = 1 to 4; + put X[i]= @; + end; + put; + + call arrFill(42, X); + do i = 1 to 4; + put X[i]= @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2**: Delete dataset by name. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data toDrop; + x = 17; + run; + data _null_; + p = delDataset("toDrop"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3**: Strings concatenation with format. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data test; + x = 1 ; y = . ; z = 3 ; + t = "t"; u = " "; v = "v"; + + array a[*] x y z; + array b[*] t u v; + + length s1 s2 s3 s4 $ 17; + s1 = catXFn("z5.", "#", A); + s2 = catXFi("z5.", "#", A); + s3 = catXFc("upcase.", "*", B); + s4 = catXFj("upcase.", "*", B); + + put (_all_) (=); + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 4**: Useful formats. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + input x @@; + put @1 x= @11 x= bool. @21 x= int. @31 x= ceil. @41 x= floor.; + cards; + . ._ .A -10 -3.14 0 3.14 10 + ; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 5**: Getting variables names from datasets. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class + ,pattern = ght$ + ,sep = + + ,varRange = _numeric_)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 6**: Quick sort as an alternative to call sortn() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + array test[25000000] _temporary_ ; + + t = time(); + call streaminit(123); + do _N_ = 25000000 to 1 by -1; + test[_N_] = rand("uniform"); + end; + t = time() - t; + put "Array population time: " t; + + t = time(); + call quickSortLight (test); + t = time()-t; + put "Sorting time: " / t=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 7**: De-duplicate values from a space separated list. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4 5 6 1 2 3 1 2 3 4 5 6; + %put *%dedupListS(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 8**: Zip elements of two space separated list. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, 2018 2019 2020, argMd=5, function=MDY, format=date11.); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 9**: Simple Rain Cloud plot. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%rainCloudPlot(sashelp.cars,DriveTrain,Invoice) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 10**: Zip SAS library. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(sashelp, libOut=work) + +%unzipLibrary(%sysfunc(pathname(work)), zip=sashelp, mode=S, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 11**: Long dataset names. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; + +proc print data = %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); +run; + +data MyNextDataset; + set %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); + where age > 12; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 12**: List, to the log, content of `home` directory. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%bpPIPE(ls -la ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 13** Get list of all files and directories from `C:\SAS_WORK\`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 14** Text repetition: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 15** Integer list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %intsList(42); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 16** Split dataset into blocks of 5 observations: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoBlocks(5, sashelp.class, classBlock) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 17** Split dataset into 7 parts: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoParts(7, sashelp.cars, carsPart) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 18** Return path to temporary file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f temp; + %put %filePath(f); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 19** Get titles: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + title1 j=c "Hi Roger" ; + title2 j=l "Good Morning" ; + title3 "How are you?" ; + title4 ; + title5 "Bye bye!" ; + + %put %GetTitle(1 2 3 5, dlm=s, qt='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +Package contains: +1. macro bppipe +2. macro deduplistc +3. macro deduplistp +4. macro deduplists +5. macro deduplistx +6. macro dirsandfiles +7. macro functionexists +8. macro getvars +9. macro intslist +10. macro ldsn +11. macro ldsnm +12. macro lvarnm +13. macro lvarnmlab +14. macro qdeduplistx +15. macro qgetvars +16. macro qzipevalf +17. macro raincloudplot +18. macro repeattxt +19. macro splitdsintoblocks +20. macro splitdsintoparts +21. macro symdelglobal +22. macro unziplibrary +23. macro zipevalf +24. macro ziplibrary +25. format bool +26. format boolz +27. format ceil +28. format floor +29. format int +30. functions arrfill +31. functions arrfillc +32. functions arrmissfill +33. functions arrmissfillc +34. functions arrmisstoleft +35. functions arrmisstoleftc +36. functions arrmisstoright +37. functions arrmisstorightc +38. functions bracketsc +39. functions bracketsn +40. functions catxfc +41. functions catxfi +42. functions catxfj +43. functions catxfn +44. functions deldataset +45. functions semicolonc +46. functions semicolonn +47. format brackets +48. format semicolon +49. proto qsortincbyprocproto +50. functions frommissingtonumberbs +51. functions fromnumbertomissing +52. functions quicksort4notmiss +53. functions quicksorthash +54. functions quicksorthashsddv +55. functions quicksortlight +56. macro filepath +57. macro finddswithvarval +58. macro gettitle +59. macro letters +60. macro libpath +61. macro translate +62. macro tranwrd +63. macro workpath + + +Package contains additional content, run: %loadPackageAddCnt(BasePlus) to load it +or look for the baseplus_AdditionalContent directory in the Packages fileref +localization (only if additional content was deployed during the installation process). + +* SAS package generated by generatePackage, version 20230520 * + +The SHA256 hash digest for package BasePlus: +`F*D6DC5AD1B60A92AD300B639B3C361C1F7846EB01E5AB35BF4FDDA6E783408172` + +--- +# Content description ############################################################################################ + +## >>> `%getVars()` macro: <<< ####################### + +The getVars() and QgetVars() macro functions +allow to extract variables names form a dataset +according to a given pattern into a list. + +The getVars() returns unquoted value [by %unquote()]. +The QgetVars() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%getVars()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%getVars( + ds + <,sep=> + <,pattern=> + <,varRange=> + <,quote=> + <,mcArray=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `ds` - *Required*, the name of the dataset from + which variables are to be taken. + +* `sep = %str( )` - *Optional*, default value `%str( )`, + a variables separator on the created list. + +* `pattern = .*` - *Optional*, default value `.*` (i.e. any text), + a variable name regexp pattern, case INSENSITIVE! + +* `varRange = _all_` - *Optional*, default value `_all_`, + a named range list of variables. + +* `quote =` - *Optional*, default value is blank, a quotation + symbol to be used around values. + +* `mcArray=` - *Optional*, default value is blank. + 1) When *null* - the macro behaves like a macro function + and returns a text string with variables list. + 2) When *not null* - behaviour of the macro is altered. + In such case a macro array of selected variables, named + with `mcArray` value as a prefix, is created. + Furthermore a macro named as `mcArray` value is generated. + (see the macroArray package for the details). + When `mcArray=` parameter is active the `getVars` macro + cannot be called within the `%put` statement. Execution like: + `%put %getVars(..., mcArray=XXX);` will result with + an Explicit & Radical Refuse Of Run (aka ERROR). + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** A list of all variables from the + sashelp.class dataset: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** A list of all variables from the + sashelp.class dataset separated + by backslash: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = %getVars(sashelp.class, sep=\); + %put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use of regular expressions: + a) A list of variables which name contains "i" or "a" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=i|a)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) A list of variables which name starts with "w" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=^w)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) A list of variables which name ends with "ght" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=ght$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** A list of numeric variables which name + starts with "w" or "h" or ends with "x" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, sep=+, pattern=^(w|h)|x$, varRange=_numeric_)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data test; + array x[30]; + array y[30] $ ; + array z[30]; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + a) A list of variables separated by a comma: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) A list of variables separated by a comma + with suffix 5 or 7: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,), pattern=(5|7)$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) A list of variables separated by a comma + with suffix 5 or 7 from a given variables range: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,), varRange=x10-numeric-z22 y6-y26, pattern=(5|7)$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Case of quotes and special characters + when the quote= parameter is _not_ used: + + a) one single or double qiote: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%bquote(%getVars(sashelp.class, sep=%str(%")))*; + %put *%bquote(%getVars(sashelp.class, sep=%str(%')))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) two single or double qiotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%bquote(%getVars(sashelp.class,sep=""))"*; + %put *%str(%')%bquote(%getVars(sashelp.class,sep=''))%str(%')*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) coma separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%getVars(sashelp.class,sep=%str(", "))"*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) coma separated single quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%str(%')%getVars(sashelp.class,sep=', ')%str(%')*; + %let x = %str(%')%getVars(sashelp.class,sep=', ')%str(%'); + + %put *%str(%')%QgetVars(sashelp.class,sep=', ')%str(%')*; + %let y = %str(%')%QgetVars(sashelp.class,sep=', ')%str(%'); + %let z = %unquote(&y.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + e) ampersand (&) as a separator [compare behaviour]: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=&)*; + %let x = %getVars(sashelp.class,sep=&); + + %put *%getVars(sashelp.class,sep=%str( & ))*; + %let x = %getVars(sashelp.class,sep=%str( & )); + + %put *%QgetVars(sashelp.class,sep=&)*; + %let y = %QgetVars(sashelp.class,sep=&); + %let z = %unquote(&y.); + + %put *%QgetVars(sashelp.class,sep=%str( & ))*; + %let y = %QgetVars(sashelp.class,sep=%str( & )); + %let z = %unquote(&y.); + + %put *%getVars(sashelp.class,sep=&)*; + %let x = %getVars(sashelp.class,sep=&); + + %put *%getVars(sashelp.class,sep=%str( & ))*; + %let x = %getVars(sashelp.class,sep=%str( & )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + f) percent (%) as a separator [compare behaviour]: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QgetVars(sashelp.class,sep=%)*; + %let y = %QgetVars(sashelp.class,sep=%); + %let z = %unquote(&y.); + + %put *%QgetVars(sashelp.class,sep=%str( % ))*; + %let y = %QgetVars(sashelp.class,sep=%str( % )); + %let z = %unquote(&y.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Case of quotes and special characters + when the quote= parameter is used: + +a) one single or double qiote: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, quote=%str(%"))*; + %put *%getVars(sashelp.class, quote=%str(%'))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) two single or double quotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %* this gives an error: ; + %* %put *%getVars(sashelp.class,quote="")*; + %* %put *%getVars(sashelp.class,quote='')*; + + %* this does not give an error: ; + %put *%QgetVars(sashelp.class,quote="")*; + %put *%QgetVars(sashelp.class,quote='')*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) coma separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=%str(,),quote=%str(%"))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) coma separated single quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = %getVars(sashelp.class,sep=%str(,),quote=%str(%')); + %put &=x.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Variables that start with `A` and do not end with `GHT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data class; + set sashelp.class; + Aeight = height; +run; + +%put *%getVars(class, pattern = ^A(.*)(?>> `%QgetVars()` macro: <<< ####################### + +The getVars() and QgetVars() macro functions +allow to extract variables names form a dataset +according to a given pattern into a list. + +The getVars() returns unquoted value [by %unquote()]. +The QgetVars() returns quoted value [by %superq()]. + +The `%QgetVars()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QgetVars( + ds + <,sep=> + <,pattern=> + <,varRange=> + <,quote=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `ds` - *Required*, the name of the dataset from + which variables are to be taken. + +* `sep = %str( )` - *Optional*, default value `%str( )`, + a variables separator on the created list. + +* `pattern = .*` - *Optional*, default value `.*` (i.e. any text), + a variable name regexp pattern, case INSENSITIVE! + +* `varRange = _all_` - *Optional*, default value `_all_`, + a named range list of variables. + +* `quote =` - *Optional*, default value is blank, a quotation + symbol to be used around values. + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%getVars()` help for the details. + +--- + +## >>> `%symdelGlobal()` macro: <<< ####################### + +The `%symdelGlobal()` macro deletes all global macrovariables +created by the user. The only exceptions are read only variables +and variables the one which starts with SYS, AF, or FSP. +In that case a warning is printed in the log. + +One temporary global macrovariable `________________98_76_54_32_10_` +and a dataset, in `work` library, named `_%sysfunc(datetime(),hex7.)` +are created and deleted during the process. + +The `%symdelGlobal()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%symdelGlobal( + info +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `info` - *Optional*, default value should be empty, + if set to `NOINFO` or `QUIET` then infos and + warnings about variables deletion are suspended. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete global macrovariables, info notes + and warnings are printed in the log. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let a = 1; + %let b = 2; + %let c = 3; + %let sys_my_var = 11; + %let af_my_var = 22; + %let fsp_my_var = 33; + %global / readonly read_only_x = 1234567890; + + %put _user_; + + %symdelGlobal(); + + %put _user_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Basic use-case two. + Delete global macrovariables in quite mode + No info notes and warnings are printed in the log. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let a = 1; + %let b = 2; + %let c = 3; + %let sys_my_var = 11; + %let af_my_var = 22; + %let fsp_my_var = 33; + %global / readonly read_only_x = 1234567890; + + %put _user_; + %put *%symdelGlobal(NOINFO)*; + %put _user_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + +## >>> `bool.` format: <<< ####################### + +The **bool** format returns: +*zero* for 0 or missing, +*one* for other values. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 & 4.2, boolean)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), bool.)`] + +--- + +## >>> `boolz.` format: <<< ####################### + +The **boolz** format returns: +*zero* for 0 or missing, +*one* for other values. + +*Fuzz* value is 0. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 & 4.2, boolean)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), boolz.)`] + +--- + +## >>> `ceil.` format: <<< ####################### + +The **ceil** format is a "wrapper" for the `ceil()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, ceil)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), ceil.)`] + +--- + +## >>> `floor.` format: <<< ####################### + +The **floor** format is a "wrapper" for the `floor()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, floor)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), floor.)`] + +--- + +## >>> `int.` format: <<< ####################### + +The **int** format is a "wrapper" for the `int()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, integer)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), int.)`] + +--- + +## >>> `arrFill()` subroutine: <<< ####################### + +The **arrFill()** subroutine is a wrapper +for the Call Fillmatrix() [a special FCMP subroutine]. + +A numeric array is filled with selected numeric value, e.g. + +for array `A = [. . . .]` the subroutine +`call arrFill(42, A)` returns `A = [42 42 42 42]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrFill(N ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `N` - Numeric value. + +2. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrFill(42, X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrFillC()` subroutine: <<< ####################### + +The **arrFillC()** subroutine fills +a character array with selected character value, e.g. + +for array `A = [" ", " ", " "]` the subroutine +`call arrFillC("B", A)` returns `A = ["B", "B", "B"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrFillC(C ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `C` - Character value. + +2. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrFillC("ABC", X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrMissFill()` subroutine: <<< ####################### + +The **arrMissFill()** subroutine fills +all missing values (i.e. less or equal than `.Z`) +of a numeric array with selected numeric value, e.g. + +for array `A = [1 . . 4]` the subroutine +`call arrMissFill(42, A)` returns `A = [1 42 42 4]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissFill(N ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `N` - Numeric value. + +2. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissFill(42, X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrMissFillC()` subroutine: <<< ####################### + +The **arrMissFillC()** subroutine fills +all missing values of a character array +with selected character value, e.g. + +for array `A = ["A", " ", "C"]` the subroutine +`call arrMissFillC("B", A)` returns `A = ["A", "B", "C"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissFillC(C, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `C` - Character value. + +2. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissFillC("X", X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrMissToLeft()` subroutine: <<< ####################### + +The **arrMissToLeft()** subroutine shifts +all non-missing (i.e. greater than `.Z`) +numeric elements to the right side of an array +and missing values to the left, e.g. + +for array `A = [1 . 2 . 3]` the subroutine +`call arrMissToLeft(A)` returns `A = [. . 1 2 3]` + +All missing values are replaced with the dot (`.`) + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToLeft(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissToLeft(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrMissToLeftC()` subroutine: <<< ####################### + +The **arrMissToLeftC()** subroutine shifts +all non-missing (i.e. different than empty string) +character elements to the right side of an array +and all missing values to the left, e.g. + +for array `A = ["A", " ", "B", " ", "C"]` the subroutine +`call arrMissToLeftC(A)` returns `A = [" ", " ", "A", "B", "C"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToLeftC(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissToLeftC(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrMissToRight()` subroutine: <<< ####################### + +The **arrMissToRight()** subroutine shifts +all non-missing (i.e. greater than `.Z`) +numeric elements to the left side of an array +and missing values to the right, e.g. + +for array `A = [1 . 2 . 3]` the subroutine +`call arrMissToRight(A)` returns `A = [1 2 3 . .]` + +All missing values are replaced with the dot (`.`) + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToRight(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissToRight(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `arrMissToRightC()` subroutine: <<< ####################### + +The **arrMissToRightC()** subroutine shifts +all non-missing (i.e. different than empty string) +character elements to the left side of an array +and missing values to the right, e.g. + +for array `A = ["A", " ", "B", " ", "C"]` the subroutine +`call arrMissToRightC(A)` returns `A = ["A", "B", "C", " ", " "]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToRightC(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissToRightC(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `catXFc()` function: <<< ####################### + +The **catXFc()** function is a wrapper +of the `catX()` function but with ability +to format character values. + +For array `A = ["a", " ", "c"]` the +`catXFc("upcase.", "*", A)` returns `"A*C"`. + +If format does not handle nulls they are ignored. + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFc(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *character* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Character array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + t = "t"; + u = " "; + v = "v"; + + array b[*] t u v; + + length s $ 17; + s = catXFc("upcase.", "*", B); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `catXFi()` function: <<< ####################### + +The **catXFi()** function is a wrapper +of the `catX()` function but with ability +to format numeric values but +IGNORES missing values (i.e. `._`, `.`, `.a`, ..., `.z`). + +For array `A = [0, ., 2]` the +`catXFi("date9.", "#", A)` returns +`"01JAN1960#03JAN1960"` + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFi(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *numeric* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Numeric array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = .; + z = 3; + + array a[*] x y z; + + length s $ 17; + s = catXFi("z5.", "#", A); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `catXFj()` function: <<< ####################### + +The **catXFj()** function is a wrapper +of the catX() function but with ability +to format character values. + +For array `A = ["a", " ", "c"]` the +`catXFj("upcase.", "*", A)` returns `"A**C"` + +If format does not handle nulls they are +printed as an empty string. + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFj(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *character* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Character array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + t = "t"; + u = " "; + v = "v"; + + array b[*] t u v; + + length s $ 17; + s = catXFj("upcase.", "*", B); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `catXFn()` function: <<< ####################### + +The **catXFn()** function is a wrapper +of the `catX()` function but with ability +to format numeric values. + +For array `A = [0, 1, 2]` the +`catXFn("date9.", "#", A)` returns +`"01JAN1960#02JAN1960#03JAN1960"` + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFn(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *numeric* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Numeric array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = .; + z = 3; + + array a[*] x y z; + + length s $ 17; + s = catXFn("z5.", "#", A); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `delDataset()` function: <<< ####################### + +The **delDataset()** function is a "wrapper" +for the `Fdelete()` function. +`delDataset()` function uses a text string with +a dataset name as an argument. + +Function checks for `*.sas7bdat`, `*.sas7bndx`, +and `*.sas7bvew` files and delete them. +Return code of 0 means dataset was deleted. + +For compound library files are +deleted from _ALL_ locations! + + +*Note:* +Currently only the BASE SAS engine datasets/views are deleted. + +Tested on Windows and Linux. Not tested on Z/OS. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +delDataset(lbds_) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lbds_` - *Required*, character argument containing + name of the dataset/view to be deleted. + The `_last_` special name is honored. + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST1 TEST2(index=(x)); + x = 17; + run; + + data TEST3 / view=TEST3; + set test1; + run; + + data _null_; + p = delDataset("WORK.TEST1"); + put p=; + + p = delDataset("TEST2"); + put p=; + + p = delDataset("WORK.TEST3"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST4; + x=42; + run; + data _null_; + p = delDataset("_LAST_"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname user "%sysfunc(pathname(work))/user"; + + data TEST5; + x=42; + run; + + data _null_; + p = delDataset("test5"); + put p=; + run; + + libname user clear; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 4.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST6; + x=42; + run; + + %put *%sysfunc(delDataset(test6))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 5.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname L1 "%sysfunc(pathname(work))/L)1"; + libname L2 "%sysfunc(pathname(work))/L(2"; + libname L3 "%sysfunc(pathname(work))/L'3"; + + data L1.TEST7 L2.TEST7 L3.TEST7; + x=42; + run; + + libname L12 ("%sysfunc(pathname(work))/L(1" "%sysfunc(pathname(work))/L)2"); + libname L1L2 (L2 L3); + + %put *%sysfunc(delDataset(L12.test7))*; + %put *%sysfunc(delDataset(L1L2.test7))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `qsortInCbyProcProto()` proto function: <<< ####################### + +The **qsortInCbyProcProto()** is external *C* function, +this is the implementation of the *Quick Sort* algorithm. + +The function is used **internally** by +functions in the *BasePlus* package. + +Asumptions: +- smaller subarray is sorted first, +- subarrays of *size < 11* are sorted by *insertion sort*, +- pivot is selected as median of low index value, + high index value, and (low+high)/2 index value. + +`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`
+`!CAUTION! Sorted array CANNOT contains SAS missing values !`
+`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`
+ +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +qsortInCbyProcProto(arr, low, high) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `arr` - An array of double type to be sorted. + +2. `low` - An integer low index of starting position (from which the sorting is done). + +3. `high` - An integer high index of ending position (up to which the sorting is done). + + +### REFERENCES: #################################################### + +*Reference 1.* + +Insertion sort for arrays smaller then 11 elements: + +Based on the code from the following WikiBooks page [2020.08.14]: + +[https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Sortowanie_przez_wstawianie](https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Sortowanie_przez_wstawianie) + + +*Reference 2.* + +Iterative Quick Sort: + +Based on the code from the following pages [2020.08.14]: + +[https://www.geeksforgeeks.org/iterative-quick-sort/](https://www.geeksforgeeks.org/iterative-quick-sort/) + +[https://www.geeksforgeeks.org/c-program-for-iterative-quick-sort/](https://www.geeksforgeeks.org/c-program-for-iterative-quick-sort/) + +--- + +## >>> `fromMissingToNumberBS()` function: <<< ####################### + +The **fromMissingToNumberBS()** function +gets numeric missing value or a number +as an argument and returns an integer +from 1 to 29. + +For a numeric missing argument +the returned values are: +- 1 for `._` +- 2 for `.` +- 3 for `.a` +- ... +- 28 for `.z` and +- 29 for *all other*. + +The function is used **internally** by +functions in the *BasePlus* package. + +For *missing value arguments* the function +is an inverse of the `fromNumberToMissing()` function. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +fromMissingToNumberBS(x) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `x` - A numeric missing value or a number. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + do x = ._, ., .a, .b, .c, 42; + y = fromMissingToNumberBS(x); + put x= y=; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `fromNumberToMissing()` function: <<< ####################### + +The **fromNumberToMissing()** function +gets a number as an argument and returns +a numeric missing value or zero. + +For a numeric argument +the returned values are: +- `._` for 1 +- `.` for 2 +- `.a` for 3 +- ... +- `.z` for 28 and +- `0` for *all other*. + +The function is used **internally** by +functions in the *BasePlus* package. + +For arguments 1,2,3, ..., and 28 the function +is an inverse of the `fromMissingToNumberBS()` function. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +fromNumberToMissing(x) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `x` - A numeric value. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + do x = 1 to 29; + y = fromNumberToMissing(x); + put x= y=; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `quickSort4NotMiss()` subroutine: <<< ####################### + +The **quickSort4NotMiss()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + + +**Caution 1!** Array _CANNOT_ contains missing values! + +**Caution 2!** Array parameters to subroutine calls must be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSort4NotMiss(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of NOT missing numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM, + array of size 250'000'000 with values in range + from 0 to 99'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + test[_N_] = int(100000000*rand("uniform")); + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSort4NotMiss (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** Resources comparison for + session with 8GB of RAM. + + Array of size 250'000'000 with random values + from 0 to 999'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 8.82s + memory 1'953'470.62k + OS Memory 1'977'436.00k + + Call quickSort4NotMiss: + Sorting time 66.92s + Memory 1'954'683.06k + OS Memory 1'977'436.00k + + Call quickSortLight: + Sorting time 70.98s + Memory 1'955'479.71k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `quickSortHash()` subroutine: <<< ####################### + +The **quickSortHash()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +The number of "sparse distinct data values" is set to `100'000` to +use the hash sort instead of the quick sort. + E.g. when number of unique values for sorting is less then + 100'000 then an ordered hash table is used to store the data + and their count and sort them. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +*Note!* Due to improper memory reporting/releasing for hash + tables in FCMP procedure the reported memory used after running + the function may not be in line with the RAM memory required + for processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortHash(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHash (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 9'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(10000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHash (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3.** Resources comparison for + session with 8GB of RAM + + A) Array of size 10'000'000 with + random values from 0 to 9'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.61s + Memory 78'468.50k + OS Memory 101'668.00k + + Call sortn: + Sorting time 0.87s + Memory 1'120'261.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.76s + Memory 1'222'242.75k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 23.45s + Memory 80'527.75k + OS Memory 101'924.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + B) Array of size 10'000'000 with + random values from 0 to 99'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.6s + Memory 78'463.65k + OS Memory 101'924.00k + + Call sortn: + Sorting time 1.51s + Memory 1'120'253.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.28s + Memory 1'222'241.93k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 0.78s + Memory 80'669.28k + OS Memory 102'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + C) Array of size 250'000'000 with + random values from 0 to 999'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 15.34s + memory 1'953'471.81k + OS Memory 1'977'436.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 124.68s + Memory 7'573'720.34k(*) + OS Memory 8'388'448.00k(*) + + Call quickSortLight: + Sorting time 72.41s + Memory 1'955'520.78k + OS Memory 1'977'180.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + D) Array of size 250'000'000 with + random values from 0 to 99'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 16.07 + Memory 1'953'469.78k + OS Memory 1'977'180.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 123.5s + Memory 7'573'722.03k + OS Memory 8'388'448.00k + + Call quickSortLight: + Sorting time 1'338.25s + Memory 1'955'529.90k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(*) When using hash tables in `Proc FCMP` the RAM + usage is not indicated properly. The memory + allocation is reported up to the session limit + and then reused if needed. The really required + memory is in fact much less then reported. + +--- + +## >>> `quickSortHashSDDV()` subroutine: <<< ####################### + +The **quickSortHashSDDV()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +The number of "sparse distinct data values" (argument `SDDV`) may +be adjusted to use the hash sort instead of the quick sort. + E.g. when number of unique values for sorting is less then + some *N* then an ordered hash table is used to store the data + and their count and sort them. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +*Note!* Due to improper memory reporting/releasing for hash + tables in FCMP procedure the report memory used after running + the function may not be in line with the RAM memory required + for processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortHashSDDV(A, SDDV) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + +2. `SDDV` - A number of distinct data values, e.g. 100'000. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHashSDDV (test, 2e4); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 9'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(10000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHashSDDV (test, 2e4); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `quickSortLight()` subroutine: <<< ####################### + +The **quickSortLight()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortLight(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortLight (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** Resources comparison for + session with 8GB of RAM. + + Array of size 250'000'000 with random values + from 0 to 999'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 8.82s + memory 1'953'470.62k + OS Memory 1'977'436.00k + + Call quickSort4NotMiss: + Sorting time 66.92s + Memory 1'954'683.06k + OS Memory 1'977'436.00k + + Call quickSortLight: + Sorting time 70.98s + Memory 1'955'479.71k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 3.** Resources comparison for + session with 8GB of RAM + + A) Array of size 10'000'000 with + random values from 0 to 9'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.61s + Memory 78'468.50k + OS Memory 101'668.00k + + Call sortn: + Sorting time 0.87s + Memory 1'120'261.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.76s + Memory 1'222'242.75k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 23.45s + Memory 80'527.75k + OS Memory 101'924.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + B) Array of size 10'000'000 with + random values from 0 to 99'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.6s + Memory 78'463.65k + OS Memory 101'924.00k + + Call sortn: + Sorting time 1.51s + Memory 1'120'253.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.28s + Memory 1'222'241.93k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 0.78s + Memory 80'669.28k + OS Memory 102'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + C) Array of size 250'000'000 with + random values from 0 to 999'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 15.34s + memory 1'953'471.81k + OS Memory 1'977'436.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 124.68s + Memory 7'573'720.34k(*) + OS Memory 8'388'448.00k(*) + + Call quickSortLight: + Sorting time 72.41s + Memory 1'955'520.78k + OS Memory 1'977'180.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + D) Array of size 250'000'000 with + random values from 0 to 99'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 16.07 + Memory 1'953'469.78k + OS Memory 1'977'180.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 123.5s + Memory 7'573'722.03k + OS Memory 8'388'448.00k + + Call quickSortLight: + Sorting time 1'338.25s + Memory 1'955'529.90k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(*) When using hash tables in `Proc FCMP` the RAM + usage is not indicated properly. The memory + allocation is reported up to the session limit + and then reused if needed. The really required + memory is in fact much less then reported. + +--- + +## >>> `%dedupListS()` macro: <<< ####################### + +The `%dedupListS()` macro deletes duplicated values from +a *SPACE separated* list of values. List, including separators, +can be no longer than a value carried by a single macrovariable. + +Returned value is *unquoted*. + +The `%dedupListS()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListS( + list of space separated values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *space separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListS(a b c b c)*; + + %put *%dedupListS(a b,c b,c)*; + + %put *%dedupListS(%str(a b c b c))*; + + %put *%dedupListS(%str(a) %str(b) %str(c) b c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4 5 6 1 2 3 1 2 3 4 5 6; + %put *%dedupListS(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%dedupListC()` macro: <<< ####################### + +The `%dedupListC()` macro deletes duplicated values from +a *COMMA separated* list of values. List, including separators, +can be no longer than a value carried by a single macrovariable. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListC()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListC( + list,of,comma,separated,values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *comma separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListC(a,b,c,b,c)*; + + %put *%dedupListC(a,b c,b c)*; + + %put *%dedupListC(%str(a,b,c,b,c))*; + + %put *%dedupListC(%str(a),%str(b),%str(c),b,c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListC( a , b b , c , b b, c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6; + %put *%dedupListC(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%dedupListP()` macro: <<< ####################### + +The `%dedupListP()` macro deletes duplicated values from +a *PIPE(`|`) separated* list of values. List, including separators, +can be no longer than a value carried by a single macrovariable. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListP()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListP( + list|of|pipe|separated|values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *pipe separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListP(a|b|c|b|c)*; + + %put *%dedupListP(a|b c|b c)*; + + %put *%dedupListP(%str(a|b|c|b|c))*; + + %put *%dedupListP(%str(a)|%str(b)|%str(c)|b|c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListP( a | b b | c | b b| c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4|5|6|1|2|3|1|2|3|4|5|6; + %put *%dedupListP(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%dedupListX()` macro: <<< ####################### + +The `%dedupListX()` macro deletes duplicated values from +a *X separated* list of values, where the `X` represents +a *single character* separator. List, including separators, +can be no longer than a value carried by a single macrovariable. + +**Caution.** The value of `X` *has to be* in **the first** byte of the list, + just after the opening bracket, i.e. `(X...)`. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListX()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListX( +XlistXofXxXseparatedXvalues +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *X separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListX(|a|b|c|b|c)*; + + %put *%dedupListX( a b c b c)*; + + %put *%dedupListX(,a,b,c,b,c)*; + + %put *%dedupListX(XaXbXcXbXc)*; + + %put *%dedupListX(/a/b/c/b/c)*; + + data _null_; + x = "%dedupListX(%str(;a;b;c;b;c))"; + put x=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListX(| a | b.b | c | b.b| c )*; + + %put *%dedupListX(. a . b b . c . b b. c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4$5.5$6$1$2$3$1$2$3$4$5.5$6; + %put *%dedupListX($&list.)*; + + %let list = 4$ 5.5$ 6$ 1$ 2$ 3$ 1$ 2$ 3$ 4$ 5.5$ 6$; + %put *%dedupListX( &list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%QdedupListX()` macro: <<< ####################### + +The `%QdedupListX()` macro deletes duplicated values from +a *X separated* list of values, where the `X` represents +a *single character* separator. List, including separators, +can be no longer than a value carried by a single macrovariable. + +**Caution.** The value of `X` *has to be* in **the first** byte of the list, + just after the opening bracket, i.e. `(X...)`. + +Returned value is **quoted** with `%superq()`. Leading and trailing spaces are ignored. + +The `%QdedupListX()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QdedupListX( +XlistXofXxXseparatedXvalues +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *X separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QdedupListX(|a|b|c|b|c)*; + + %put *%QdedupListX( a b c b c)*; + + %put *%QdedupListX(,a,b,c,b,c)*; + + %put *%QdedupListX(XaXbXcXbXc)*; + + %put *%QdedupListX(/a/b/c/b/c)*; + + %put *%QdedupListX(%str(;a;b;c;b;c))*; + + %put *%QdedupListX(%nrstr(&a&b&c&b&c))*; + + %put *%QdedupListX(%nrstr(%a%b%c%b%c))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QdedupListX(| a | b.b | c | b.b| c )*; + + %put *%QdedupListX(. a . b b . c . b b. c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4$5.5$6$1$2$3$1$2$3$4$5.5$6; + %put *%QdedupListX($&list.)*; + + %let list = 4$ 5.5$ 6$ 1$ 2$ 3$ 1$ 2$ 3$ 4$ 5.5$ 6$; + %put *%QdedupListX( &list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `brackets.` format: <<< ####################### + +The **brackets** format adds brackets around a text or a number. +Leading and trailing spaces are dropped before adding brackets. + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + input x; + if x < 0 then put x= brackets.; + else put x= best32.; +cards; +2 +1 +0 +-1 +-2 +; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `semicolon.` format: <<< ####################### + +The **semicolon** format adds semicolon after text or number. +Leading and trailing spaces are dropped before adding semicolon. + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = "A"; + put x= semicolon. y= $semicolon.; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `bracketsC()` function: <<< ####################### + +The **bracketsC()** function is internal function used by the *brackets* format. +Returns character value of length 32767. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +bracketsC(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Character value. + +--- + +## >>> `bracketsN()` function: <<< ####################### + +The **bracketsN()** function is internal function used by the *brackets* format. +Returns character value of length 34. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +bracketsN(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Numeric value. + +--- + +## >>> `semicolonC()` function: <<< ####################### + +The **semicolonC()** function is internal function used by the *semicolon* format. +Returns character value of length 32767. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +semicolonC(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Character value. + +--- + +## >>> `semicolonN()` function: <<< ####################### + +The **semicolonN()** function is internal function used by the *semicolon* format. +Returns character value of length 33. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +semicolonN(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Numeric value. + +--- + +## >>> `%QzipEvalf()` macro: <<< ####################### + +The zipEvalf() and QzipEvalf() macro functions +allow to use a function on elements of pair of +space separated lists. + +For two space separated lists of text strings the corresponding +elements are taken and the macro applies a function, provided by user, +to calculate result of the function on taken elements. + +When one of the lists is shorter then elements are "reused" starting +from the beginning. + +The zipEvalf() returns unquoted value [by %unquote()]. +The QzipEvalf() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%QzipEvalf()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QzipEvalf( + first + ,second + <,function=> + <,operator=> + <,argBf=> + <,argMd=> + <,argAf=> + <,format=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `first` - *Required*, a space separated list of texts. + +2. `second` - *Required*, a space separated list of texts. + +* `function = cat` - *Optional*, default value is `cat`, + a function which will be applied + to corresponding pairs of elements of + the first and the second list. + +* `operator =` - *Optional*, default value is empty, + arithmetic infix operator used with elements + the first and the second list. The first + list is used on the left side of the operator + the second list is used on the right side + of the operator. + +* `argBf =` - *Optional*, default value is empty, + arguments of the function inserted + *before* elements the first list. + If multiple should be comma separated. + +* `argMd =` - *Optional*, default value is empty, + arguments of the function inserted + *between* elements the first list and + the second list. + If multiple should be comma separated. + +* `argAf =` - *Optional*, default value is empty, + arguments of the function inserted + *after* elements the second list. + If multiple should be comma separated. + +* `format=` - *Optional*, default value is empty, + indicates a format which should be used + to format the result, does not work when + the `operator=` is used. + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%zipEvalf()` help for the details. + +--- + +## >>> `%zipEvalf()` macro: <<< ####################### + +The zipEvalf() and QzipEvalf() macro functions +allow to use a function on elements of pair of +space separated lists. + +For two space separated lists of text strings the corresponding +elements are taken and the macro applies a function, provided by user, +to calculate result of the function on taken elements. + +When one of the lists is shorter then elements are "reused" starting +from the beginning. + +The zipEvalf() returns unquoted value [by %unquote()]. +The QzipEvalf() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%zipEvalf()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipEvalf( + first + ,second + <,function=> + <,operator=> + <,argBf=> + <,argMd=> + <,argAf=> + <,format=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `first` - *Required*, a space separated list of texts. + +2. `second` - *Required*, a space separated list of texts. + +* `function = cat` - *Optional*, default value is `cat`, + a function which will be applied + to corresponding pairs of elements of + the first and the second list. + +* `operator =` - *Optional*, default value is empty, + arithmetic infix operator used with elements + the first and the second list. The first + list is used on the left side of the operator + the second list is used on the right side + of the operator. + +* `argBf =` - *Optional*, default value is empty, + arguments of the function inserted + *before* elements the first list. + If multiple should be comma separated. + +* `argMd =` - *Optional*, default value is empty, + arguments of the function inserted + *between* elements the first list and + the second list. + If multiple should be comma separated. + +* `argAf =` - *Optional*, default value is empty, + arguments of the function inserted + *after* elements the second list. + If multiple should be comma separated. + +* `format=` - *Optional*, default value is empty, + indicates a format which should be used + to format the result, does not work when + the `operator=` is used. + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple concatenation of elements: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, q w e r t y); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, a b c); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use of the `operator=`, shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let y = %zipEvalf(1 2 3 4 5 6, 100 200, operator = +); +%put &=y; + +%let z = %zipEvalf(1 2 3 4 5 6 8 9 10, 1 2 3 4 5 6 8 9 10, operator = **); +%put &=z; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Format result: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, q w e r t y, format=$upcase.); +%put &=x; + +%put * +%zipEvalf( + ą ż ś ź ę ć ń ó ł +,Ą Ż Ś Ź Ę Ć Ń Ó Ł +,format = $brackets. +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Use with macrovariables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let abc = 10 100 1000; +%put * +%zipEvalf( +%str(1 2 3 4 5 6 7 8 9) +,&abc. +,function = sum +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** If one of elements is empty: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put * +%zipEvalf( + abc efg +, +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Use of the `function=`, shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put * +%zipEvalf( + a b c +,efg +,function = catx +,argBf = %str(,) +,format = $brackets. +) +*; + +%put * +%zipEvalf( + a b c +,efg +,function = catx +,argBf = %str( ) +,format = $upcase. +) +*; + +%put * +%zipEvalf( + %str(! @ # $ [ ] % ^ & * ) +,1 2 3 4 5 6 7 8 9 +,function = catx +,argBf = %str( ) +,format = $quote. +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Use inside resolve: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; +z = resolve(' +%zipEvalf( + %nrstr(! @ # $ [ ] % ^ & *) +,1 2 3 4 5 6 7 8 9 +,function = catx +,argBf = %str(.) +,format = $quote. +)'); +put z=; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Use in data step: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test; + %zipEvalf( + a b c d e f g + ,1 2 3 4 5 6 7 + ,function = catx + ,argBf = = + ,format = $semicolon. + ) +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 10.** With 9.4M6 hashing() function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %zipEvalf(MD5 SHA1 SHA256 SHA384 SHA512 CRC32, abcd, function = HASHING); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 11.** Use middle argument: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, 2020, argMd=5, function=MDY, format=date11.); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%functionExists()` macro: <<< ####################### + +The functionExists() macro function tests +if given funcion exists in the SAS session. +The `sashelp.vfunc` view is used. + +See examples below for the details. + +The `%functionExists()` macro executes like a pure macro code. + +The function is a result of cooperation with [Allan Bowe](https://www.linkedin.com/in/allanbowe/) + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%functionExists( + funName +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `funName` - *Required*, the name of the function + existence of which you are testing. + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Test if function exists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %functionExists(HASHING); + + %put %functionExists(COSsinLOG); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%RainCloudPlot()` macro: <<< ####################### + +The RainCloudPlot() macro allow to plot Rain Cloud plots, i.e. pots of +kernel density estimates, jitter data values, and box-and-whiskers plot. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%RainCloudPlot( + DS + ,gr + ,vars + + <,WidthPX=> + <,HeightPX=> + <,boxPlot=> + <,roundFactor=> + <,rainDropSize=> + <,boxPlotSymbolSize=> + <,colorsList=> + <,monochrome=> + <,antialiasMax=> + <,title=> + <,footnote=> + <,catLabels=> + <,xLabels=> + <,catLabelPos=> + <,xLabelPos=> + <,catLabelAttrs=> + <,xLabelAttrs=> + <,formated=> + <,y2axis=> + <,y2axisLevels=> + <,y2axisValueAttrs=> + <,catAxisValueAttrs=> + <,xaxisValueAttrs=> + <,xaxisTickstyle=> + <,sganno=> + <,odsGraphicsOptions=> + <,sgPlotOptions=> + + <,VSCALE=> + <,KERNEL_K=> + <,KERNEL_C=> + + <,cleanTempData=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `DS` - *Required*, name of the dataset from + which variables are to be taken. + +2. `gr` - *Required*, name of the grouping variable. + When more than one variable is specified + separate plots are rendered. + Can be numeric or character. + +3. `vars` - *Required*, name of the aggregated numeric variable. + When more than one variable is specified + separate plots are rendered. + +***Plot related options***: + +* `WidthPX` - *Optional*, default value `1200`. + Total width of the plot in pixels. + +* `HeightPX` - *Optional*, default value `220`. + Partial height of the plot in pixels. + Total height is calculated as `#GROUPS x HeightPX`. + +* `boxPlot` - *Optional*, default value `1`. + Indicates if the Box Plot should be added. + +* `roundFactor` - *Optional*, default value `0.000001`. + Rounding level when calculating maximum value + of the cloud chart. Should be adjusted to data + granularity level, e.g. for data with value + around `1e-8` should be decreased. + +* `rainDropSize` - *Optional*, default value `5px`. + Size of data points in the "rain" plot. + +* `boxPlotSymbolSize` - *Optional*, default value `8px`. + Size of symbols on the box plot. + +* `colorsList` - *Optional*, default value is empty. + List of colours for plotting. + Empty indicates that the default list will be used. + +* `monochrome` - *Optional*, default value `0`. + Indicates if the default list of colours should be gray-scale. + +* `antialiasMax` - *Optional*, default value is empty. + Sets a value to the ODS graphics `ANTIALIASMAX` option. + When empty the value is calculated from data. + +* `title` - *Optional*, default value - see notes below. + Provides a list of titles printed on the plot. + For details see notes below. + +* `footnote` - *Optional*, default value - see notes below. + Provides a list of titles printed on the plot. + For details see notes below. + +* `catLabels` - *Optional*, default value is empty. + List of values for group axix labels (vertical). + When empty a grouping variable name is used. + For details see notes below. + +* `xLabels` - *Optional*, default value is empty. + List of values for data variable axix labels (horizontal). + When empty a data variable name is used. + For details see notes below. + +* `catLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on group axix (vertical). + Allowed values are `BOTTOM`, `CENTER`, `DATACENTER`, and `TOP`. + +* `xLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on data axix (horizontal). + Allowed values are `LEFT`, `CENTER`, `DATACENTER`, and `RIGHT`. + +* `catLabelAttrs` - *Optional*, default value is empty. + List of attributes for group axix labels (vertical). + For details see notes below. + +* `xLabelAttrs` - *Optional*, default value is empty. + List of attributes for data variable axix labels (horizontal). + For details see notes below. + +* `formated` - *Optional*, default value `0`. + Indicates if values of the grouping variable should be formated. + +* `y2axis` - *Optional*, default value `1`. + Indicates if the right vertical axix should be displayed. + +* `y2axisLevels` - *Optional*, default value `4`. + Indicates if the number of expected levels of values printed + on the right vertical axix. + +* `y2axisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify Y2 axis values attributes. + +* `catAxisValueAttrs` - *Optional*, default value `Color=Black`. + Allows to modify category (Y) axis values attributes. + +* `xaxisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify X axis values attributes. + +* `xaxisTickstyle` - *Optional*, default value `INSIDE`. + Allows to modify X axis tick style. + Allowed values are `OUTSIDE`, `INSIDE`, `ACROSS`, and `INBETWEEN`. + *For SAS previous to* **9.4M5** *set to missing!* + +* `sganno` - *Optional*, default value is empty. + keeps name of a data set for the `sganno=` option + of the SGPLOT procedure. + +* `sgPlotOptions` - *Optional*, default value is `noautolegend noborder`. + List of additional options values for SGPLOT procedure. + +* `odsGraphicsOptions` - *Optional*, default value is empty. + List of additional options values for `ODS Graphics` statement. + By default only the: `width=`, `height=`, and `antialiasmax=` + are modified. + + +***Stat related options***: + +* `VSCALE` - *Optional*, default value `Proportion`. + Specifies the scale of the vertical axis. + Allowed values are `PROPORTION`, `PERCENT`, and `COUNT`. + `PROPORTION` scales the data in units of proportion of observations per data unit. + `PERCENT` scales the data in units of percent of observations per data unit. + `COUNT` scales the data in units of the number of observations per data unit. + +* `KERNEL_K` - *Optional*, default value `NORMAL`. + Specifies type of kernel function to compute kernel density estimates. + Allowed values are `NORMAL`, `QUADRATIC`, and `TRIANGULAR`. + + +* `KERNEL_C` - *Optional*, default value `1`. + Specifies standardized bandwidth parameter *C* to compute kernel density estimates. + Allowed values are between `0` and `1`, + +***Other options***: + +* `cleanTempData` - *Optional*, default value `1`. + Indicates if temporary data sets should be deleted. + +--- + +### NOTES: ################################################################### + +* Default value of the `title` option is: + `%nrstr(title1 JUSTIFY=C "Rain Cloud plot for &list_g. by " %unquote(&xLabel.);)` + Use the `%str()` or `%nrstr()` macro-function to handle special characters. + The `%unquote()` is used when resolving the parameter. + +* Default value of the `footnote` option is: + `%nrstr(footnote1 JUSTIFY=L COLOR=lightGray HEIGHT=1 "by RainCloudPlot macro from the BasePlus package";)` + Use the `%str()` or `%nrstr()` macro-function to handle special characters. + The `%unquote()` is used when resolving the parameter. + +* The `catLabels` and `xLabels` should be quoted comma separated lists enclosed with brackets, + e.g. `catLabels=("Continent of Origin", "Car Type")`, see Example below. + +* The `catLabelAttrs` and `xLabelAttrs` should be space separated lists of `key=value` pairs, + e.g. `xLabelAttrs=size=12 color=Pink weight=bold`, see Example below. + +* Kernel density estimates and basic statistics are calculated with `PROC UNIVARIATE`. + +* Plot is generated by `PROC SGPLOT` with `BAND`, `SCATTE`, and `POLYGON` plots. + +* After execution the ODS graphics dimension parameters are set to `800px` by `600px`. + +* SAS notes (`NOTE:`) are disabled for the execution time. + +* List of predefined colours is: + `BlueViolet`, `RoyalBlue`, `OliveDrab`, `Gold`, `HotPink`, `Crimson`, + `MediumPurple`, `CornflowerBlue`, `YellowGreen`, `Goldenrod`, `Orchid`, `IndianRed`. + +### BOX-AND-WHISKERS PLOT: ################################################################### + +The box-and-whiskers plot has the following interpretation: +- left vertical bar indicates the minimum, +- left whisker line starts at `max(Q1 - 1.5IQR, minimum)` and ends at lower quartile (Q1), +- diamond indicates mean, +- vertical bar inside of the box indicates median, +- right whisker line starts at upper quartile (Q3) and ends at `min(Q3 + 1.5IQR, maximum)`, +- right vertical bar indicates the maximum. + +With above setup it may happen that +there is a gap between the minimum marker and the beginning of the left whisker +or +there is a gap between the end of the right whisker and the maximum marker. +See examples below. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple Rain Cloud Plot for a `have` dataset: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + data have; + g = "Aaa"; + do _N_ = 1 to 50; + x = rannor(42); + output; + end; + + g = "Bb"; + do _N_ = 1 to 120; + select (mod(_N_,9)); + when(1,2,3,4,5) x = 0.5*rannor(42)+1; + when(6,7,8) x = 0.5*rannor(42)+3; + otherwise x = 0.5*rannor(42)+5; + end; + output; + end; + + g = "C"; + do _N_ = 1 to 60; + x = 3*rannor(42)+7; + output; + end; + run; + + %RainCloudPlot(have, g, x) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output: +![Example 1](./baseplus_RainCloudPlot_Ex1.png) + + + +**EXAMPLE 2.** Rain Cloud plot for `sashelp.cars` dataset + with groups by Origin or Type + for Invoice variables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + %RainCloudPlot( + sashelp.cars(where=(Type ne "Hybrid")) + , Origin Type + , Invoice + , HeightPX=300 + , y2axisLevels=3 + , catLabels=("Continent of Origin", "Car Type") + , xLabels="Invoice, [$]" + , xLabelAttrs=size=12 color=Pink weight=bold + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output: +![Example 2a](./baseplus_RainCloudPlot_Ex2a.png) +![Example 2b](./baseplus_RainCloudPlot_Ex2b.png) + + + +**EXAMPLE 3.** Rain Cloud plot with formatted groups + and annotations. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + data annotation; + function="text"; + label="This graph is full(*ESC*){sup '2'} of annotations!"; + drawspace="graphpercent"; + rotate=30; + anchor="center"; + textsize=32; + x1=50; + y1=50; + textcolor="red"; + justify="center"; + textweight="bold"; + width=100; + widthunit="percent"; + run; + + proc format; + value system + 1="Windows" + 2="MacOS" + 3="Linux" + ; + run; + + data test; + do system = 1 to 3; + do i = 1 to 50; + x = rannor(123)/system; + output; + end; + end; + format system system.; + run; + + + %RainCloudPlot(test, system, x + , colorslist=CX88CCEE CX44AA99 CX117733 + , formated=1 + , sganno=annotation + , sgPlotOptions=noborder + , WidthPX=1000 + , HeightPX=320 + , catAxisValueAttrs=Color=Green weight=bold + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output: +![Example 3](./baseplus_RainCloudPlot_Ex3.png) + +--- + +## >>> `%zipLibrary()` macro: <<< ####################### + +The zipLibrary() macro allows to zip content of a SAS library. + +Files can be zipped into a single file (named as the input library) +or into multiple files (named as "dataset.sas7bdat.zip"). +If a file is indexed also the index file is zipped. + +Source files can be deleted after compression. + +Status of compression and processing time is reported. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary( + lib + <,mode=> + <,clean=> + <,libOut=> + <,compression=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, a name of the library to be zipped. + Must be a valid SAS V7, V8, or V9 library. + + +* `mode = S` - *Optional*, default value is `S`, + indicates mode of compression + generates single zip file (`SINGLE/S`) + or multiple files (`MULTI/M`) + +* `clean = 0` - *Optional*, default value is `0`, + should datasets be deleted after zipping? + `1` means *yes*, `0` means *no*. + +* `libOut =` - *Optional*, default value is empty, + output library for a single zip file. + +* `compression =` - *Optional*, default value is `6`, + specifies the compression level + `0` to `9`, where `0` is no compression + and `9` is maximum compression. + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Generate data: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlcreatedir; + libname test1 "%sysfunc(pathname(work))/test1"; + libname test2 "%sysfunc(pathname(work))/test2"; + libname test3 (test1 test2); + libname test4 "%sysfunc(pathname(work))/test4"; +options nodlcreatedir; + +%put %sysfunc(pathname(test3)); +%put %sysfunc(pathname(test4)); + +data + test1.A(index=(model)) + test1.B + test2.C + test2.D(index=(model make io=(invoice origin))) +; + set sashelp.cars; +run; + +data test1.B2 / view=test1.B2; + set test1.B; + output; + output; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Zip content of test3 library + into the same location in one zip file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Zip content of test3 library + into the same location in multiple zip files: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, mode=MULTI) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Zip content of test3 library + with maximum compression level + into different location in one zip file + and delete source files: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, clean=1, libOut=test4, compression=9) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%unzipLibrary()` macro: <<< ####################### + +The unzipLibrary() macro allows to unzip content of a SAS library. +It is a *counterpart* to the `%zipLibrary()` macro and is *not* intended to work +with zip files generated by other software (though it may in some cases). + +Files can be unzipped from a single file +or from multiple files (named e.g. "dataset.sas7bdat.zip"). +If a file is indexed also the index file is unzipped. + +Source files can be deleted after decompression. + +Status of decompression and processing time is reported. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unzipLibrary( + path + <,zip=> + <,mode=> + <,clean=> + <,libOut=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `path` - *Required*, a path pointing to zipped file(s) location. + +* `zip =` - *Optional*, When `mode=S` a name of the + zip file containing SAS files to be unzipped. + +* `mode = S` - *Optional*, default value is `S`, + indicates mode of decompression + read from a single zip file (`SINGLE/S`) + or from multiple files (`MULTI/M`) + +* `clean = 0` - *Optional*, default value is `0`, + should zip files be deleted after unzipping? + `1` means *yes*, `0` means *no*. + +* `libOut =` - *Optional*, default value is empty, + output library for a single zip file + decompression. + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Generate data: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlcreatedir; + libname test1 "%sysfunc(pathname(work))/test1"; + libname test2 "%sysfunc(pathname(work))/test2"; + libname test3 (test1 test2); + libname test4 "%sysfunc(pathname(work))/test4"; +options nodlcreatedir; + +%put %sysfunc(pathname(test3)); +%put %sysfunc(pathname(test4)); + +data + test1.A(index=(model)) + test1.B + test2.C + test2.D(index=(model make io=(invoice origin))) +; + set sashelp.cars; +run; + +data test1.B2 / view=test1.B2; + set test1.B; + output; + output; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Use data from Example 1. + First zip content of the `test3` library + to `test4` location into one zip file + and delete source files. + Next unzip `test3.zip` library into the + `test4` location and delete the zip file. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, clean=1, libOut=test4) + + +%unzipLibrary(%sysfunc(pathname(test4)), zip=test3, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use data from Example 1. + First zip content of the `test1` library + into multiple zip files and delete source files. + Next unzip `*.zip` files in `test1` + location and delete zipped files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test1, mode=M, clean=1) + + +%unzipLibrary(%sysfunc(pathname(test1)), mode=M, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** First zip content of the `sashelp` library + into `work` library. + Next unzip `sashelp.zip` file in `work` + location and delete zip file. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(sashelp, mode=S, clean=0, libOut=work) + + +%unzipLibrary(%sysfunc(pathname(work)), zip=sashelp, mode=S, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%LDSN()` macro: <<< ####################### + +The LDSN (Long DataSet Names) macro function +allows to use an "arbitrary" text string to name a dataset. + +The LDSN macro has some limitation described below, to overcome them +another macro, with different name: LDSNM (Long DataSet Names Modified) +was created. See its description to learn how to use it. + +--- + +The idea for the macro came from the following story: + +Good friend of mine, who didn't use SAS for quite some time, +told me that he lost a few hours for debugging because +he forgot that the SAS dataset name limitation is 32 bytes. + +I replied that it shouldn't be a problem to do a workaround +for this inconvenience with a macro and the `MD5()` hashing function. + +I said: *The macro should take an "arbitrary string" for a dataset +name, convert it, with help of `MD5()`, to a hash digest, and +create a dataset with an "artificial" `hex16.` formated name.* + +Starting with something like this: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN(work. peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +the macro would do: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%sysfunc(MD5(peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s), hex16.) +~~~~~~~~~~~~~~~~~~~~~~~ + +and (under the hood) return and execute the following code: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data work.DSN_41D599EF51FBA58_(drop = sex rename=(name=first_name) where = (age in (12,13,14))) ; + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +Also in the next data step user should be able to do: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data my_next_data_step; + set %DSN(work. peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s); +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +and work without the "dataset-name-length-limitation" issue. + +--- + +See examples below for the details. + +The `%LDSN()` macro executes like a pure macro code. + +**Known "Limitations":** + +- dataset name _cannot_ contain dots (`.`) since they are used as separators! + +- dataset name _cannot_ contain round brackets(`(` and `)`) since they are used as separators + (but `[]` and `{}` are allowed)! + +- dataset name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- dataset name text is *converted to upcase* + +- dataset name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%ldsn(work.test)`, `%ldsn( work.test)`, `%ldsn(work.test )`, + `%ldsn(work .test)`, `%ldsn(work. test)`, `%ldsn(work . test)`. + +- macro calls of the form: + `data %LDSN(); run;`, `data %LDSN( ); run;`, `data %LDSN( . ); run;` or even + `data %LDSN( . (keep=x)); run;` are resolved to empty string, so the result is + equivalent to `data; run;` + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LDSN( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +The text string is concider as *"fully qualified dataset name"*, i.e. macro +assumes it may contain library as prefix and data set options as sufix. +See the `%LDsNm()` macro for comparison. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options nomprint source nomlogic nosymbolgen ls = max ps = max; + +data %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; + +proc print data = %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); +run; + +data MyNextDataset; + set %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); + where age > 12; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%LDSNM()` macro: <<< ####################### + +The LDSNM (Long DataSet Names Modified) macro function +allows to use an "arbitrary" text string to name a dataset. + +The LDSN macro had some limitation (see its documentation), to overcome them +another `%LDSNM()` (Long DataSet Names Modified) macro was created. + +The main idea behind the `%LDSNM()` is the same as for `%LDSN()` - see the description there. + +--- + +The `%LDSNM()` macro works differently than the `%LDSN()` macro. + +The `%LDSN()` macro assumes that *both* libname and dataset options *are* +be passed as elements **inside** the macro argument, together with the data set name. E.g. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN( WORK.peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s (drop = sex) ); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `%LDSNM()` macro, in contrary, assumes that both libname and dataset options are +passed **outside** the macro parameter, i.e. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data WORK.%LDSNM( peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s ) (drop = sex); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This approach overcomes some limitations the LDSN has. + +The **additional** feature of the `%LDSNM()` is that when the macro is called, +a global macrovariable is created. +The macro variable name is the text of the hashed data set name. +The macro variable value is the text of the unhashed data set name (i.e. the argument of the macro). +For example the following macro call: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSNM(John "x" 'y' dog); + set sashelp.class; + where name = 'John'; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +creates macro variable with name `DSN_BF1F8C4D6495B34A_` and with value: `JOHN "X" 'Y' DOG`. + +The macrovariable is useful when combined with `symget()` function and +the `indsname=` option to get the original text string value back, +like in this example: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test; + set %LDSNM(John "x" 'y' dog) indsname = i; + + indsname = symget(scan(i,-1,".")); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +--- + +The `%LDSN()` macro executes like a pure macro code. + +**Known "Limitations":** + +- dataset name _cannot_ contain _unpaired_ round brackets(`(` and `)`) + (but unmatched `[]` and `{}` are allowed)! + +- dataset name _cannot_ contain _unpaired_ quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- dataset name text is *converted to upcase* + +- dataset name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%ldsn(test)`, `%ldsn( test)`, `%ldsn(test )`. + +- macro calls of the form: + `data %LDSN(); run;` or `data %LDSN( ); run;` are resolved + to empty string, so the result is equivalent to `data; run;` + +- created macrovariable is _global_ in scope. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LDSNM( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +The text string is considered as *"only dataset name"*, i.e. the macro does not +assume it contains library as prefix or data set options as suffix. +See the `%LDSN()` macro for comparison. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSNM(John "x" 'y' & dog); + set sashelp.class; + where name = 'John'; +run; + +data %LDSNM(John "x"[ 'y' & dog); + set sashelp.class; + where name = 'John'; +run; + +data %LDSNM(John "x" 'y'} & dog); + set sashelp.class; + where name = 'John'; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.%LDsNm( peanut butter & jelly, a hot-dog in [a box], and s(*)t(*)a(*)r(*)s!! ) (drop = sex rename=(name=first_name) where = (age in (12,13,14))) +; + set sashelp.class; +run; + +data test; + set work.%LDsNm( peanut butter & jelly, a hot-dog in [a box], and s(*)t(*)a(*)r(*)s!! ) indsname=i; + + indsname=symget(scan(i,-1,".")); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.%LDsNm( . ); + set sashelp.class; +run; + +data %LDsNm( ); + set sashelp.class; +run; + + +data %LDsNm(); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%LVarNm()` macro: <<< ####################### + +The LVarNm() macro function works like the LDSN() macro function, but for variables. +Supported by LVarNmLab() macro function which allows to remember "user names" in labels. + +The motivation for the macro was similar to that for the LDSN() macro. + +--- + +See examples below for the details. + +The `%LVarNm()` macro executes like a pure macro code. + +**Known "Limitations":** + +- variable name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- variable name text is *converted to upcase* + +- variable name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%LVarNm(test)`, `%LVarNm( test)`, `%LVarNm(test )`. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNm( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +### EXAMPLES AND USE CASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options ls=max; +data test; + %LVarNmLab( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) + + do %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) = 1 to 10; + + y = 5 + %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) * 17; + output; + end; +run; + +data test2; + set test; + where %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) < 5; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test3; + %LVarNmLab() = 17; + + %LVarNm() = 17; + + %LVarNm( ) = 42; + + %LVarNm( ) = 303; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test3; + %LVarNm(test) = 1; + + %LVarNm( test) = 2; + + %LVarNm(test ) = 3; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test4; + array X[*] %LVarNm(some strange! name)_0 - %LVarNm(some strange! name)_10; + + do i = lbound(X) to hbound(X); + X[i] = 2**(i-1); + put X[i]=; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +## >>> `%LVarNmLab()` macro: <<< ####################### + +The LVarNmLab() macro function supports LVarNm() and allows to remember "user names" in labels. + +The motivation for the macro was similar one as for the LDSN() macro. + +--- + +See examples in LVarNm() documentation for the details. + +The `%LVarNmLab()` macro executes like a pure macro code. + +**Known "Limitations":** + +- variable name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- variable name text is *converted to upcase* + +- variable name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%LVarNmLab(test)`, `%LVarNmLab( test)`, `%LVarNmLab(test )`. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNmLab( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%bpPIPE()` macro: <<< ####################### + +The bpPIPE() [Base Plus PIPE] macro executes OS command +and print to the log output of the execution. + +Under the hood it uses `_` filename reference to PIPE device. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%bpPIPE( ) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +* **NO Arguments** - Everything inside brackets is treated as an OS command. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** List, to the log, content of D and C drives: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %bpPIPE(D: & dir & dir "C:\") +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** List, to the log, content of `home` directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %bpPIPE(ls -halt ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%dirsAndFiles()` macro: <<< ####################### + +The `%dirsAndFiles()` macro allows to extract info about all files +and subdirectories of a given `root` directory. + +The extracted info may be just a list of files and subdirectories or, if +the `details=` parameter is set to 1, additional operating system information +is extracted (information is OSS dependent and gives different results for Linux +and for Windows) + +The extracted info can be narrowed down to files (`keepFiles=1`) or to +directories (`keepDirs=1`) if need be. + +The extracted info can be presented in wide or long format (`longFormat=1`). + +The extracted info for files can be narrowed down to only files with particular +extension, for example: `fileExt=sas7bdat`. + +The extracted info can be narrowed down maximal path depth +by setting up the `maxDepth=` parameter. + +See examples below for the details. + +### REFERENCES: ################################################################### + +The macro is based on Kurt Bremser's "*Talking to Your Host*" article +presented at WUSS 2022 conference. + +The article is available [here](https://communities.sas.com/t5/SAS-User-Groups-Library/WUSS-Presentation-Talking-to-Your-Host/ta-p/838344) +and also as an additional content of this package. +The paper was awarded the "Best Paper Award - Programming". + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles( + root + <,ODS=> + <,details=> + <,keepDirs=> + <,keepFiles=> + <,longFormat=> + <,fileExt=> + <,maxDepth=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `root` - *Required*, path to be searched + for information. + +* `ODS=work.dirsAndFilesInfo` - *Optional*, output data set, + name of a dataset to store information. + +* `details=0` - *Optional*, indicates if detailed info + will be collected, `1` = yes, `0` = no. + +* `keepDirs=1` - *Optional*, indicates if directories info + will be collected, `1` = yes, `0` = no. + +* `keepFiles=1` - *Optional*, indicates if files info + will be collected, `1` = yes, `0` = no. + +* `longFormat=0` - *Optional*, indicates if output be + in long format, `1` = yes, `0` = no. + +* `fileExt=` - *Optional*, if not missing then indicates + file extension to filter out results. + +* `maxDepth=0` - *Optional*, if not zero then indicates + maximum depth of search in the root path. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get list of files and directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Get detailed info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result2,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Get only files info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result3,keepDirs=0) + +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result5,keepDirs=0,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Get only directories info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result4,keepFiles=0) + +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result6,keepFiles=0,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Filter out by `sas` extension: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(~/,ODS=work.result7,fileExt=sas) + +%dirsAndFiles(~/,ODS=work.result8,fileExt=sas,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Keep result in the long format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(~/,ODS=work.result9,details=1,longFormat=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Get info for maximum depth of 2: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result10,details=1,maxDepth=2) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** How locked/unavailable files are handled: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(%sysfunc(pathname(WORK)),ODS=work.result11,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Not existing directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(%sysfunc(pathname(WORK))/noSuchDir,ODS=work.result12,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%repeatTxt()` macro: <<< ####################### + +The repeatTxt() macro function allows to repeat `n` +times a `text` string separated by string `s=`. + +The repeatTxt() returns unquoted value [by %unquote()]. + +See examples below for the details. + +The `%repeatTxt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%repeatTxt( + text + <,n> + <,s=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `text` - *Required*, a text to be repeated. + +2. `n` - *Required/Optional*, the number of repetitions. + If missing then set to `1`; + +* `s = %str( )` - *Optional*, it is a separator between + repeated elements. Default value is space. +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple repetition of dataset name: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +data work.test5; + set + %repeatTxt(sashelp.cars, 5) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Simple repetition of data step: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +%repeatTxt(data _null_; set sashelp.cars; run;, 3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** "Nice" output: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Macroquote a text with commas: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%repeatTxt( + %str(proc sql; create table wh as select weight,height from sashelp.class; quit;) + ,3 +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 5.** Empty `n` repeats `text` one time: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +data work.test1; + set + %repeatTxt(sashelp.cars) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 6.** Dynamic "formatting": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%macro printWork(); + %let work=%sysfunc(pathname(work)); + %put +%repeatTxt(~,%length(&work.)+5,s=)+; + %put {&=work.}; + %put +%repeatTxt(~,%length(&work.)+5,s=)+; +%mend printWork; + +%printWork() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%intsList()` macro: <<< ####################### + +The intsList() macro function allows to print a list of +integers starting from `start` up to `end` incremented by `by` +and separated by `sep=`. + +If `start`, `end` or `by` are non-integers the are converted to integers. + +See examples below for the details. + +The `%intsList()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%intsList( + start + <,end> + <,by> + <,sep=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `start` - *Required*, the first value of the list. + If `end` is missing then the list is generated + from 1 to `start` by 1. + +2. `end` - *Required/Optional*, the last value of the list. + +3. `by` - *Required/Optional*, the increment of the list. + If missing then set to `1`. + *Cannot* be equal to `0`. + +* `s = %str( )` - *Optional*, it is a separator between + elements of the list. Default value is space. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple list of integers from 1 to 10 by 1: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(10); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Ten copies of `sashelp.class` in `test11` to `test20`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data + %zipEvalf(test, %intsList(11,20)) + ; + set sashelp.class; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Non-integers are converted to integers, the list is `1 3 5`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(1.1,5.2,2.3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** A list with a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(1,5,2,sep=+); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%letters()` macro: <<< ####################### + +The letters() macro function allows to print a list of Roman +letters starting from `start` up to `end` incremented by `by`. +The letters list can be uppercases or lowercase (parameter `c=U` or `c=L`), +can be quoted (e.g. `q=""` or `q=[]`), and can be separated by `s=`. + +Values of `start`, `end`, and `by` have to be integers in range between 1 ad 26. + +See examples below for the details. + +The `%letters()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%letters( + range + <,c=> + <,q=> + <,s=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `range` - *Required*, letters selector in form `start:end:by`. + Lists letters from `start` to `end` by `by`. + Values of `start`, `end`, and `by` are separated by + colon and must be between 1 ad 26. + If value is outside range it is set to + `start=1`, `en=26`, and `by=1`. If `end` is missing + then is set to value of `start`. + If `end` is smaller than `start` list is reversed + +* `c = U` - *Optional*, it is a lowercase letters indicator. + Select `L` or `l`. Default value is `U` for upcase. + +* `q = ` - *Optional*, it is a quite around elements of the list. + Default value is empty. Use `%str()` for one quote symbol. + If there are multiple symbols, only the first and the + second are selected as a preceding and trailing one, + e.g. `q=[]` gives `[A] [B] ... [Z]`. + +* `s = %str( )` - *Optional*, it is a separator between + elements of the list. Default value is space. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Space separated list of capital letters from A to Z: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:1); + + %put %letters(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** First, thirteenth, and last letter: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1) %letters(13) %letters(26); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Every third lowercase letter, i.e. `a d g j m p s v y`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:3,c=L); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Lists with separators: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:2,s=#); + %put %letters(1:26:3,s=%str(;)); + %put %letters(1:26:4,s=%str(,)); + %put %letters(1:26,s=); + %put %letters(1:26,s==); + %put %letters(1:26,s=/); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Every second letter with quotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:2,q=%str(%')); + %put %letters(2:26:2,q=%str(%")); + + %put %letters(1:26:2,q=''); + %put %letters(2:26:2,q=""); + + %put %letters(1:26:2,q=<>); + %put %letters(2:26:2,q=\/); + + %put %letters(1:26:2,q=()); + %put %letters(2:26:2,q=][); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Mix of examples 4, 5, and 6: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26,c=L,q='',s=%str(, )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** If `end` is smaller than `start` list is reversed: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(26:1:2,q=''); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%splitDSIntoBlocks()` macro: <<< ####################### + +The splitDSIntoBlocks() macro allows to split the `set` dataset into blocks +of size `blockSize` in datasets: `prefix1` to `prefixN`. + +The last dataset may have less observations then the `blockSize`. + +Macro covers `BASE` engine (`v9`, `v8`, `v7`, `v6`) and `SPDE` engine datasets. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoBlocks( + blockSize + <,set> + <,prefix> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `blockSize` - *Required*, the size of the block of data, + in other words number of observations in + one block of split data. + Block size must be positive integer. + +2. `set` - *Required/Optional*, the name of the dataset to split. + If empty then `&syslast.` is used. + +3. `prefix` - *Required/Optional*, the name-prefix for new datasets. + If missing then set to `part`. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Split `sashelp.class` into 5 elements datasets ABC1 to ABC4: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %splitDSIntoBlocks(5,sashelp.class,ABC) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** By default splits the `_last_` dataset into `part1` to `partN` datasets: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data lastData; + set sashelp.cars; + run; + + %splitDSIntoBlocks(123) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Works with `SPDE` engine too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname test "%sysfunc(pathname(work))/testSPDE"; + libname test; + libname test SPDE "%sysfunc(pathname(work))/testSPDE"; + + data test.test; + set sashelp.cars; + run; + + %splitDSIntoBlocks(100,test.test,work.spde) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%splitDSIntoParts()` macro: <<< ####################### + +The splitDSIntoParts() macro allows to split the `set` dataset into `parts` parts +of approximately `NOBS/parts` size in datasets: `prefix1` to `prefixN`. + +The splitDSIntoParts() macro internally runs the splitDSIntoBlocks() macro. + +Macro covers `BASE` engine (`v9`, `v8`, `v7`, `v6`) and `SPDE` engine datasets. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoParts( + parts + <,set> + <,prefix> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `parts` - *Required*, the number of parts to split data into. + Number of parts must be positive integer. + +2. `set` - *Required/Optional*, the name of the dataset to split. + If empty then `&syslast.` is used. + +3. `prefix` - *Required/Optional*, the name-prefix for new datasets. + If missing then set to `part`. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Split `sashelp.cars` into 7 parts: datasets carsInParts1 to carsInParts7: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %splitDSIntoParts(7,sashelp.cars, carsInParts) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** By default splits the `_last_` dataset into `part1` to `part3` datasets: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data lastData; + set sashelp.cars; + run; + + %splitDSIntoBlocks(3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Works with `SPDE` engine too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname test "%sysfunc(pathname(work))/testSPDE"; + libname test; + libname test SPDE "%sysfunc(pathname(work))/testSPDE"; + + data test.test; + set sashelp.cars; + run; + + %splitDSIntoParts(3,test.test,work.spde) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%filePath()` macro: <<< ####################### + +The filePath() macro function returns path to a file, +it is a wrapper to `pathname()` function for files. + +See examples below for the details. + +The `%filePath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%filePath( + fileref +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `fileref` - *Required*, a fileref from the `filename` statement. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Return path to temporary file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f temp; + %put %filePath(f); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%libPath()` macro: <<< ####################### + +The libPath() macro function returns path to a library, +it is a wrapper to `pathname()` function for libraries. + +See examples below for the details. + +The `%libPath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%libPath( + libref +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `libref` - *Required*, a libref from the `libname` statement. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Return path to `WORK` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %libPath(WORK); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Return path to `SASHELP` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %libPath(SASHELP); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%workPath()` macro: <<< ####################### + +The workPath() macro function returns path to the `WORK` library, +it is a wrapper to `pathname("work", "L")` function. + +See examples below for the details. + +The `%workPath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%workPath() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +*) No arguments. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create new library inside `WORK` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlCreateDir; + libname NEW "%workPath()/new"; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%translate()` macro: <<< ####################### + +The translate() macro function allows to replace bytes with bytes in text string. + +See examples below for the details. + +The `%translate()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%translate( + string + ,from + ,to +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `string` - *Required*, string to modify. + +2. `from` - *Required*, list of bytes to be replaced with + corresponding bytes from `to`. + +3. `to` - *Required*, list of bytes replacing + corresponding bytes from `from`. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Replace quotes and commas with apostrophes and spaces: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str("A", "B", "C"),%str(%",),%str(%' )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Unify all brackets; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str([A] {B} (C) ),{[(<>)]},(((())))); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Replace all digits with `*`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(QAZ1WSSX2EDC3RFV4TGB5YHN6UJM7IK8OL9P0,1234567890,**********); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Letters change: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str(A=B),AB,BA); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%tranwrd()` macro: <<< ####################### + +The tranwrd() macro function allows to replace substrings +with other substrings in text string. + +Returned string is unquoted by `%unquote()`. + +See examples below for the details. + +The `%tranwrd()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%tranwrd( + string + ,from + ,to + <,repeat> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `string` - *Required*, string to modify. + +2. `from` - *Required*, substring replaced with + corresponding string from `to`. + +3. `to` - *Required*, substring replacing + corresponding substring from `from`. + +4. `repeat` - *Optional*, number of times the replacing + should be repeated, default is 1. + Useful while removing multiple adjacent + characters, e.g. compress all multiple + spaces (see example 2). +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple text replacement: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(Miss Joan Smith,Miss,Ms.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Delete multiple spaces; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(%str(A B C),%str( ),%str( ),5); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Remove substring: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(ABCxyzABCABCxyzABC,ABC); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +## >>> `%findDSwithVarVal()` macro: <<< ####################### + +The findDSwithVarVal() macro searches for all +datasets (available for a given session) containing +a variable of a given value. + +The value search is case sensitive - but can be altered with `IC=` parameter. +The value search keeps leading blanks - but can be altered with `TB=` parameter. +The value search compares full value - but can be altered with `CTS=` parameter. + +The default variable type is `char`, the `type=` parameter allows +to change it (possible values are `char` and `num`), the parameter is case sensitive. + +Only datasets are searched, views are not included. + +During the process two temporary datasets named: +`WORK._` (single underscore) and `WORK.__` (double underscore) +are generated. The datasets are deleted at the end of the process. + +By default search results are stored in the `WORK.RESULT` dataset. +Name of the dataset can be altered with `result=` parameter. +The dataset with result contains two variables: +`datasetName` - names of datasets, +`firstObservation` - the firs occurrence of the value. + +See examples below for the details. + +The `%findDSwithVarVal()` macro does not execute as a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%findDSwithVarVal( + variable + ,value + <,type=> + <,ic=> + <,tb=> + <,cts=> + <,lib=> + <,result=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `variable` - *Required*, name of variable to be searched. + +2. `value` - *Required*, the value to be searched. + +*. `type` - *Optional*, default value is `char`. + Indicates which type is the searched value. + Possible values are `char` and `num`, + the parameter is case sensitive. + +*. `ic` - *Optional*, "Ignore Cases", default value is `0`. + Indicates should the search ignore cases of the text values. + Possible values are `0` and `1`. + +*. `tb` - *Optional*, "Trim Blanks", default value is `0`. + Indicates should the search trim leading and trailing + blanks of the text values. + Possible values are `0` and `1`. + +*. `cts` - *Optional*, "Compare To Shorter", default value is `0`. + IF set to `1` execute value comparison as `=:` for the text value. + Possible values are `0` and `1`. + See examples. + +*. `lib` - *Optional*, default value is missing. + If not empty narrows the search to a particular library. + +*. `result` - *Optional*, default value is `WORK.RESULT`. + Is the name of the dataset with results. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Search variable `NAME` containing value `John`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %findDSwithVarVal(name, John) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Search numeric variable `AGE` containing value `14`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %findDSwithVarVal(age, 14, type=num) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Search numeric variable `SCORE` with missing value: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST; + score=17; output; + score=42; output; + score=. ; output; + run; + + %findDSwithVarVal(score, ., type=num, result=WORK.MissingScore) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Search library `WORK` for variable `NAME` starting with value `Jo` + ignoring cases and trimming blanks from value: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data A; + name="Joanna"; + data B; + name="john"; + data C; + name=" Joseph"; + data D; + name=" joe"; + run; + + %findDSwithVarVal(name, Jo, ic=1, tb=1, cts=1, lib=WORK) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +## >>> `%getTitle()` macro: <<< ####################### + +The getTitle() macro extract text of titles or footnotes +into a delimited list. + +Titles/footnotes numbers can be selected with the `number` argument. +Only the text of a title or footnote is extracted. + +Author of the original code is: Quentin McMullen (`qmcmullen.sas@gmail.com`). + +See examples below for the details. + +The `%getTitle()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%getTitle( + < number> + <,type=> + <,dlm=> + <,qt=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `number` - *Optional*, default value is empty, + indicates numbers of titles to be extracted. + Space separated list is expected. + If empty or `_ALL_` extract all non-missing. + +*. `type` - *Optional*, default value is `T`. + Indicates which type is the searched. + `T` fro title, `F` for footnote. + +*. `dlm` - *Optional*, "DeLiMiter", default value is `|` (pipe). + Possible values are: `| \ / , . ~ * # @ ! + - _ : ?` + or `s` for space, `c` for comma, `d` for semicolon. + +*. `qt` - *Optional*, "QuoTes", default value is empty. + Use `%str()` for single quote symbol (e.g. `%str(%")`). + If there are multiple symbols, only the first and the + second are selected as a leading and trailing one, + e.g. `qt=""` gives `"title1 text" "title2 text" ... `. + +--- + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get titles in different forms: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + title1 j=c "Hi Roger" ; + title2 j=l "Good Morning" ; + title3 "How are you?" ; + title4 ; + title5 "Bye bye!" ; + + %put %GetTitle() ; + + %put %GetTitle(1 3,dlm=c, qt=[]) ; + + %put %GetTitle(2:4,dlm=s, qt='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Get footnotes in different forms: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + footnote1 "First little footnote"; + footnote2 "Second little footnote"; + footnote3 "Third little footnote"; + + %put %GetTitle(1 2,type=f,dlm=s, qt="") ; + %put %GetTitle(2 3,type=f,dlm=c, qt='') ; + %put %GetTitle(1 3,type=f,dlm=d, qt=[]) ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + + +--- + +--- + +--- + +## License #################################################################### + +Copyright (c) since 2020 Bartosz Jablonski + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- diff --git a/hist/1.26.1/baseplus.zip b/hist/1.26.1/baseplus.zip new file mode 100644 index 0000000000000000000000000000000000000000..47bd791ae3881043ac40afc2ac96073c5ceb337f GIT binary patch literal 275530 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

!>v!%XX)uQkPP%=U!{6$sx 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

{|P@B8oFot>Q-ZONtQaUDxmsg9+R>@qq=x>H52 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℘{O{#bliY1_6DJuG*JW1ub(db} z`SU~hFxxp(VAgb;-5#bpl93>qsTY#B=g&|cU|kP>&hL&sKdq!AE)Iv_O!$16blt?< z52c<}LCw9q%n%|jvS_JbsnDeJ8zUhJn;xMeGLk;1!VifaB`H#u8E9=D+L*cRywwdk`_9BRAP^ zm$R@uk9Y8&tXhv;TA~9S)dt$JgxLr@%pgFJiN0Ox59d`rrs_qn6 zUpwHdZn&SLh&w;~tB9}I?` zKty#*S`p3BGS`7i2ppa(2nu?QK@w?7x~(AVSuRlq#YjLiHo3j?GMec@sqaS}=|o&b zQtThGU7+`z2`f>N-YdE>KYW`I>Urs06NgwPANTAQ_lm9K`-we1Sw0_kM-2&l&ft8r zc%99HgeXa$S>G_eO6q8HJYb)Ty^Cnx0|3!4xGk7JvU-cJn{Kh4+1AEZl#@J9&2F~F zx%Z4?qj6Y?=G#JX>>vmWeaWJDRRs>WSpoaSmf(AaWNfs2iOb=b-iiY_0@t*Np<~WO zimn4QwDP?lh#*$V0|=kQ67fcQW2!t?XJ~h}+UI#0gx;f!`986=zv;*R8>STV-wiie zX=wg;zfI=<+kTs(|Ajd94|3q&TtX(6|AS0OON&Fvz{H9}%S_LLLrcr@U&w@%^#9j% zLYDuIPWUffH<|yn>n1%N^Z!IAjGeOdqk$N_;t-77$noU?FY}Kkp@a+im|4d1CMx7d z!v(wVUZZYolU(&VK3dMY8zCxBmDdj>ba#j|(}n%esrPefWd+>*vDEXE4#`z!j5Ak0 zA_J1I%3{gIr-t?;{)qSa(C%(msfP5y-X{ph-3D!4r&8}uwt>siYSFU?#0XYa27!W#zUu>~EMV4-n_i<9DPQT!8ZQyCnuP^A`;(KOkjsN3NXj2BBVVEC*Rr2E*bg~e#3 zKshVpu3$DvXoicFW2m1!BpoKncpuXS1NW+hOGqkY4!~9@T{cU&lN%4a`3S0I{|){& z#wALFc21r65bZ@GJ${(+smB%dMm=iyoLg`z_QUvCzV@r0&*+QPHTs;J|LgXWJBN3J z*cZPq`ps&2B=`3#GkPww<=++C|6@1RM#>pMf&$-RiJU(! zfDeHIk-r2)PAr0`NCBAw8E!ESTnelj0yU%wFt1=eB5+}+-dyPKk=y9n(9zi`WwF+@ z(AYpsy19Ck4neYU)p_OS)uB*&+VrIAcExznu(*i`2IU5txhx{%-)Y`W?|iVI_XPjb zCKxBWW~j+>A>)eclVcnHC#>S^*@M0DyMAFTPHxxFR9~&*=iO6I3f}&F9`+h19ER7# z7awf?HlWov4*V2|C~45xzFYL$oZDqLylo*k_2fVR{J1|* zaD(fMZtR@#op-nyd61e!Lyc6VddL;cB9w}lQ6!DR7LZ_35i#M>jgfcZF+xQ9zoxth zlt2KeWe|j6ZUUY8;oNb2i8|qn@3sZtJ$7Bhc3~ z&a-e^nebR>qG)}J{>tQ!AtZa$ftAm|F~C%rmYGW4R8zw1FA=gbGozGzFf^7$5T79^ z$c`W-$98$2KFk)Z$Yn8!6B9!1Az+#%m@qikYPcLwMI|49Hy&%b6rfa-m{S72J+~5V z8k`GoqSSPh_m_%k#(lRL;vAwH8fPG30IN+fR5y*BRf|27#Y1z|_s9<&pyEe>|Jeb* zZ$%i)p@XGG#oyWQRtsL1hjOrLdjVqLAkvY$T?1k+hQJtA#|pOZ>4yppTV!)ogB0no zeVKN|qN>I#OD2TM`Q8RNuom?}Hd9q^L)5<%gHbUZ@8D2Rxinc-dqGM=Yi0{8$&BBz z+Sz?XT8ISbUZjhc*D_N|ipu&v^cd`$+&qsMwU~31i=_o$VlaOW2P6wIVdk0NW~2Nz{WlPuf_edCWyAw+Kd-5Nn}_C}yz};sPsq!XaE@L9v4QIYgx< znTEF(>F55i#H9ZZg>hdK%{8U5^b%ZF2X}>eb)j(nppFv+1dkg`viYnq$bjg2(&H&0r@OW5C{`*c&hSOB@*M zv>K>SGcW85&MUDv9q(Rn+0F16C+Pt&-$rX&nbRqLU5;tnY_}+uQBx^+GvDQ$-@mLS zO_+}}mBF))ov-c$pmTyR4Se_OnId}&Q;LsJKyE_rXM>c@U`Gd$k)T>VMf|=aU_U^!D5d9oHo9EZSgOwyToeQ7DH-@%4UQo9u7$6Y| z%wvf3ffSaaH&-Xs%40APR`fIngHFG!F?VQ32q94$D?=An&UvFo+9Wfn=hzq(zi692Q~PD|vG-Y9`}3|+A6(h^L?PT4e?={|Qjyjyu8gwKx%^@g4nSa4%}t~I z^;!!uYh!i?a&;jvGYI_`0-T|S>xDf!be`1YVn+_Ls2-B@tKb8+RC4TBKba z`~^5O=RGP-WgP?y7IQ{ZXr&uAY(zpQ#p}KbvZy7bq>Pom@5QKU;-bPkok{q64h_D^ z!XXFUN2sTOdO$n9ZQ%o(;V$t2A@M|lRWq@sA_#qwh$5gru2{@CI%*2+ZI-$osKx9B zKo0dMZzCzAl%iu??(j>yB4(%LIXv8UMq8VX%g<9=+udCsBNqWOT3`dm1E)V9Ycj=p z&Y72ivD*lV#B%0w5(%!@F;l{sKJxROwN|2BMzlk5CWQUE#?!Bpymn#JQHJhpEilUX z_2P|fkor1#H*1ZKdV)NUzZ;a`bCcOP%3+Adl*BaV->-<{z~gIKFD%lHM^Ji}P;?B# z zC4db&wMtOQxV9~nU-#273zD*OdEUAEsjZyk9Iw#B8-cv`-#_oS@R`tKUJ!jH$`&tJ zm1s~F5A)ewP4A6X5TJVA@<=3t)2@g2hyV05vp_F>4KvsZG|!Sz?(S^qUmw{xM5;LV zzb3eJ8%bu1=g_q=6%T2HG0njRQaT-#QJ3eOBF-F6rnRnXbKdlrigtM^n~Q~PoPYVX zka(P5>%%^Zhx;~T=J6ay=!6j8N|z|4s7xPjHr}Y%Vq-6B6=_je-B>I#aNORyW?P0( zx_dZjrfcrD6DNgV#^V;@vJgOc@Iu<{w7Ecivet80XT2yzmpot+-QS$=n~#Eet;GlL z2&@c~=L6|R{)>WidZ(EKHCFT-@)%Ix-`3;#<$5bgZJsSQhcqBI>}0daD<)!=wKd_; zKzZ?W_8{-Xvduy#MKxH`rl8Ttz!6yiC^R4?lkX{2fU2E+ZZMifb&1?0jOyUAX{HQ) z5>6WO2jOt>)aPUnT3>K0Rt&Xq4i;=wS);W83(RFE@AsX72k#!UU zUqOJZS+Y`b^#ul}(n}^&bl{x71qI(vk!BC*F9c)aFuH}=sn``OJrp%>xc69lm^C1nEA{WdD6YiuyPc?KxZ64!w!$-P{44V}4{JqL5x`4{dP~TBhOZg@JQR9B{ z272-RK<56FC9qZU`58BD0)#15ikHw50W?TiS?O zy(D60b9el&kPUk`g~WgYSOc8YBE?3@CM;G51Ic``k-k_H;mc1(`up~k`s7fB?B(Sa z^oXw;9#i8?GNB5cWs&$Nrd0U{iTcz9S{7bfG^SVPq41rmM}O`J{fKg=%0l|UmU&${ z83=y;4FX@wMcOVL3>KzTZ}YNK~E?1qYjmc zwZd9uq&t1uC`ObS=xWQUrb_f?oMJd5`SmMz$WY@O8`_Ig{mMe|)1%eKoAeu|y=l@f zo{FQ~Wx--%Rdm@H_cUy5$^B)Omn9t!&veTEGH)tdIeCIAO_n-~Q|%)8(u2aJ&gey> z?;#)~wtCMov*ah*T^4IMP<2wmJpgF^vce~&RxNHFf;~8~g{Yx>74H0ge6r9DO;XrF zp_W35PnKj$JiO4x$z&0nsvalL+Lf?QN?eK+`zVn_HJk2Bo5pK7MzuSm6Y*B@zPI(Z zq%i_U_>p8nF8Z;Z-3Jc9(pjx*U)JVArjIKzZ`yAb&+Dl1T{i_5=v0*{=p4;9SL9mfwBlsx0PF%rkhxw^oybZywyzCO^2Wv zJW7NIv)W;LF$#B5W?=~AMn&log{20?@z&NpUk2ux=wKw62y=xju?-t5O~q`p5AScQ z1Yt@gI;f$1W>kdM_wyf3kAo%l90PU)Lnif$-yCOU@*@?`lrc6sa0(G;w1$qx(kxlO zemM@gy?L}yQZi&HzjwjpW#sJR;H7xJ>2-(}6sW5-2JD#X&#t!}<#;Nfs+cpE6!!Qbfg6M74FUf*0ZAAqF}w-n^OcM2cZI03RDq6&izLtco7Q|AUxF zC4I~KGg>NWR`&;XIhk-dP$<5BqlFPe`wT{xk>)Q+$4Lp!6u6`;I&xgT94u3+MVk1{ zv`I8|l*Af=>a^Y{ge8*t(q(s+rhI%RRO;j~C)Tx^E!#CWI$ zJ{wyJd;9W7n2 z$758+VsZwjKCR2=tFb(Zbg{dqDx0%va&wuh?!wYaad(c=YWIT;l5MYz`-J^2wh2OE z1J?a$X5!)^X)bS}kjP2u}(&cwiRSTjb zr&s8Vh@l2CE7jVaEo@DbHBinBbH@WiXA%@_5&#zF>^Wyi9|nsnc50SnJR9MlT+`<( z^z@Z1O(2v5m$($=%M#ytn;(@Op^t5`cxjS(M_n|BrC`7VOccUzqebmwPkJy)!Qe0e z7$i+&pmNwvD|)B*X9-VLA`EW=u{Sy@wsK`F-F{7`E0VO1nJKOUza}+oDfF0FtTOPI zidRiavj9s#w7<^gu&>V&%#$z(g4)TRb{$nTT-W=S7ZtlQ8q*L4fzJd=I%#0?O#)7w ztb#!LWlaY&2?o$DZY1rXY`w++0A_wZof_xALflU8!OWQ#mf~s%O3jDXKCQ+O&h)fc zt2E2PM09jYh4SC;JsGTemCnnFCm~RVZL6}-->|t^JcGY!ubs1rz=MJ1mXVFhcn(#V zSAe|=xHx=F9Mmuj(1Jc>yB#1pP1voyhH4bjRalzutiZjW}%xJYV3&NMlUbCRn>$Z=seKhk>q*dOab60ha4Bongz;UK2S z$rZZ_Cg9Zvh;XhMiw~&+AxD;a6B%uX;<5Ws-Avg3iyDgP^l=u z&WnJ5BN9nW(r5*8!OMtdcV?;+ht^fOO2t-j9vXfFn z3tQE>+D)9V>SFW6>Kj9kGXG=cAPeew~oeqh{yV!CgW;jVSsTAU`grR~xyu3;-u71z1V9^YPPp;b4;=sqEwAct+0 za1Yqg%@X)lb&knBakid|(J#*~DAYo2)!iAp82c>JMUvaN&`1S(NMXF-jCxXsgBf{Y zrhE1W2JIJ6v1Dm76PCj_CJa^w``B>f!WdH9u2+Oefq4Q=a?npSW^34v7d{-zTOx1f zDOCs0V8bA&LMx_X#%DZlMAD1Sq}~%`ApHi{0ftd>jF4mUpjjq#MYNaMZ#!fuuF$(O zKF&jmI-`7Y&xbfwJ&}M568lG{DH|z*dRs#@dA&?~bCNAHvac#4Ca*UcsFa(t`#CSE zjCFcxY-v{%cB#Jx6w%4%ex2Bvwc*hnw!xi)pOW}t8n(|d;16c&mhQn}_DM5Na!AQK z)SHcnTx|v2ftsnbDkx zvY6`yZ7OW8oy#Y3A*%e^-bRWO``%Dn@^s4@DL7JNjudZIQBeR>BAyLrmfSC~5H3uxG>S0;1af(jF^|f zkyf|W%}N>Uaj&g8uVOKGY0d*zB9a{1El1U;dM-jGU1Ua|^wv6-GZG`n+&lwIm!8L5 zv|Ux{BNl8@dMx2F`p9Gzpd<-y-TJEuCsx1=5nCN)<#BpyRl??ki4s+nz3Ep;(gM07e?U6XAIxqBq`5m%luxmUAD~#es%Xs z6+_9kTxtH@9+^jndG^#C8Cf^?h#QFbjD0;c-iOQsvrnLnkB!)I3PNc-Gujeg)LgWn zM;S6IyZe@jHuRI=!v)6*Iy%V#~ICH^3KP)$x+JqzfEkN7!d-Uee}xi>MSFLauW5+p0!fBj@F*g9K$RmLR?L%0v&@x2|2Dg(^~yhz#g@sF7R$yVnBuAt#i#ZeXtwGv7 zFZ1PoxBd}c;(v3&0}uM~W7?qC?c3_Zbfve8oNlMov7HSK_nd^mHy}4yrClroLG|gZ zVfS0hTkaB|Q<4WtP5v#&D(aMkaoIymrlgHtt;73utxMSerI}*q)TkY&8!tJa1TV#f zl2%3J`Hj;%G~UE@QHT(3MNe($`eiLCC#lCbB2$1I$U%SWRa8o{hjCfjr z`yqpIzAsQzJDI)oI2ybjA+LB^!Q+sw;bp00SYmx(UEUcwDcoNq>W@DnhXoMf2Jf`m zXt1>y3N%drDv=h;tt$M&KhsrW(D}R$&xm$vUL9^w-&AOjCUJ3eS*m}|5tThyrB$FG zV-c}Kqjz`tau=)tvfsVD4Xu&_e2=$@DA2n5VtTn5vikJyFDE1MM4h;~H3c*`eRsi`{DnJ|kg}0+Hjx2oeuQ9T&_-WtSBam3lYBhhY#G~$+XHZRe-HV+ zY||1K;oja2n4`xNw_2?Ddnn9dO?_@*)et-yP#{makGFQR*^{epCKU=qcwf;Le5?sa z?>m>Yay9k*5@9^BF95&c<|S9w74Sw}x^oa;Z}k>=_pW(h2jA0WPxrLt^W$c8geZ)=N8C)Z#7j+4JVHua<9kjC{2gRxAE|MK(|1TP192l&`mCG&nIVIWKJ#a z=|*Q?tuM*V&PuH+Y#<=3{+O=bHPm(5^@X!OgSgil={+%%q{3pPg}s{)j0gS5z-%{@ z-5UaWHy&&iOwA6D?<+#Q(j?#VD)qa`D;RDd!B9~ipAvlTaaCHOky5v_r4{<~v1qdV za3ER87x}l@I6<_c8-~cK&mMr<0<@yK*3Qt;u6>=to!^<~`7q13eLy|9qqo4pRKV}< zoxg4G;97MpaWi;GSIh!@V{?9Z{&+#4t z^d2HBF5rq1M9#VN zS@d)Qn1~wW@ST)v(d2IW0iZ-rG3P3hcBgGs3islvr8hg7n}{Zn>UrkrAjrifdc(+V zdnb$^E6P4m_rqAM-`>2$@O!P9l|rx`dm-~F`sAdBWnMXP$2zI^-%t2l{SP~wmpn!OtYi>O#n7&vF3_7Ny^LRUUp#3+u#Uki;Q6q0di+$6ui_Rl z0$ozGmyXWRe;9ehWi;T;1Q%5?BV0c^0`oD4dwx0TTK*bRc~~B;sj=wldYjb*XYOE_ z*>o~{@{y#D0?gL5S(~jntf|m$*SXFalLpLEe;zmI=6u-)NA~jg+_^d;}A4J?b;Z`6(5Ysey;C1?VlN+mDm(-R^z!{M`hyPlS5hmlPS!GdFBFKI=2f zXez)Fei|b5jxrFI%chZw$CD*PlUtvZyw!U zt%&~L{XhO&_=uT-hUtH!|F^nFV*llLGN08igMTY~#P|=U0zD2bEA8(CE$jbZ*(28f zhNr;%FS19>|0;V#&%*RS@)RU3{b*o>p3-~A>|uQ{X(Ifi;ou06K4j;xyti=$$$(I6 zw;vzIr1ID1 zaV+fFZSad|u8lrlSZXzP9#CI*hT|Yq5SB6c`IwfYTQ_v@MhnVP)z*#!R3C0_QXM3k zuemQy3Kv8P$>!Qlg|bLRJB_2U8gbzhkFy(0bo7%hJq<_or{22l#?t{;&b%%on?miKrl;&>YpHh5Gf-e17Z(yZ+g z@*4Rh-DrC)8a}VWj#<&(s~cX(qC3ad7pn0R8~+5`O3?d4*osp7m=Uh=@--%Vl*W5) zK2z?W3b%Wv=gMtiKN1cKOfUi}DyX|=pW36*L;mRet{T#_{_jfk|5179zp2T8OK_lP z{yzu~f5;7g>F+T9Qvm3n{vV>k-vUH`6BqtNK4wYtC=~ZxNwC_TMCl zzt{dd?w>x`e~1YE##sK`kLe$4{Tp(`zvuul|BDU~^S|lcE3k_a5v$r8w55e7yC=Q|)iFPtrGctCRYB_1Tj2!ZPIIn~NfkP<>7IRe-Lxfnb$ zwSM%7F~Q(r$|$vZ-&{OrWrcq5f<<+gUpO99O>ro4Yua3&CzteB?OSgdcNte2hv_M& zrD%S5#hD7D6eadAdjUA_P_QA(v4RV)VCvMs&p`rWLMdJCw;xS`Ts#J-Khs7z8w|HN z9Ii<5$bYpq^jarea@ghpx#6GRAi`j=IAzsu`E%Ci*1C$e7lZq4K(Vjyk=tnU$@BD4 zd^0aF5Ah161pBN8S#DiYG$p_uA@R+CctY)>mXQ>RCy{F`024s$zj`Z!__~l4wd$MX zX|~D+-Myc|hf`|&n({I}rjg7?td~oXV3t8goHMP7SPV82gC*a|5TUG(fZ9#vA!SHn zDzliEs*)$KTp1NFmK8E(kTK0WVSq1Siq3^lGRv+)v_L44P-+Z*Gxe*L_?559;2)^I zdaQ0c4b>1kIFlzvJJCd;OhUl}ougC_g5yUzYA;w*k#|K2Pa>Tr=|&=wRwBn)fDm*r ztt!ipc#oBlJ!a}l7o{}AVMut9w=^JSqv1{gmY{sBIzt5&R+9Rjr0ek@EWKKv5uZ(w zpKX9anf*0${`H}c(E80VOA^X09BlLK*yYIg|aU}?+mOT z%q%W`Z&c4L|0+SqBIwy$$ux}?t47anv3MLlhc-njK#iW`1_hPkI~*ido&rErS4$}|awea5rCKDGMlhS8Iz@X5tAg|%>9~Y>)&c7v;xpGu zc4Csl-fBXA6jR`{gz}@Dl6F4fTzRY6w88|Y6BpNjGK7#DOsKpORv=O&*7fcbC^wq9 zlxac8qC2tv6Usdm7O6OR*uyl~L%W|pS%UarM_ycIFqO8OCt=H{L_v%WS>VqdIhmca zyJ0z^<8++ZWJ{%$3!Asjv2+eGLek&De};ew_MjLL{Tx}DN2rCn=y@$H^e4LSt5-ka zf##Kw#+^e@3&AfHZK=rZ^wxX`dHhLAunK=MJVy%5sut-%Mc2SCUp0k&$D}(4 znfIB(1gl?yj3lzaz~2ydQ4pVc{1NTHW-DzR%O-BcoVBjN$DV-^?WzmN;wMM zK&gIus;0)r&QkdTX=OYaGWsml?|;|%xV^J>>a~6_PGKWrfAQRGjy`E|+=%$d0gf=H zOD6w^_z)0@tIF52lH>o5Aen;TH+MvzPMH%&$j`cnXzZ>m;o~@zhT(>3n5SF11Su8hOZfO<7aX9&K;Z&^)ym$8R2IJDe%E(!&DS6yNCK zNZh;9#~L!s)W@1~h@!h1dgng`XsMVR2d?|{+uuniru!LnOz0rqukWhn>S`wD+M0Rr zO->VeMe1 zPSew=VXUw7@?C99Z$J403}wk}gRoPMpPErDx|Q17mCLGe?94Cn+eUvndn;}oBFbFr`m0>tsD3=UR?<>Gbf5@ zQxnJ59@x+I!5{qEzfcqpDg`q*MN4`F%AuVNQInXrZK#hI0r7PjRdzdv!nmG}fyzv7 zGc6@w-!nflW}?M(d^~x1=r>D^w!8x4cEd}}v`ef+m4P)Dd;l$@hOU2xS9)`Gd1+a= zu&zFjtVAEkOq)B;-2af__HV=1eo^du45UVTbYyCEb+h{{MJ#Lj<>n%Ps5MjwP*HWs zT6?zL$jrpfmUqcjTV!}9+?F-d)Ofj)adEe#)G|h1I>G2VAYHkgS>Rf^pG7S8zbJXf z7+-+CS#WU1w*SL3wr$(CZQHhO+nzJFZQHi?x!LUQ&A#u=-Tm4hI-S(7(^ZwKHVf>E zz5YHsmvg)J{&_zfJwbS?)$vO()^f6i&Vzg*mi!~l-)U-%}7rVS7>(t-3q6=Xz zLU>z#MiJ_ai-v5k4i$`X{=P(EdJ{?)Id^Nr2eVl&`65Np;unP7&E#28IzajuWVqv| z6aA89X_2rt-qkt?tV z(OL6i8?EZ}ce(OeeeG!wbU{MKUWF&|^fCByeKRGUXasn|)y% zB1D^E{f@u!9J)pCGWrg_u^jSY_8NY19b%32GUS?mC6b-Poa8Nzc@zBur@JYnQn}>CfmdAu|~F^m;vl?ZmpcL z`92lp>NQ<=oyGe*aW$UquKQN=&@!IN`lQSi> zhv==2wE~{VG?wjB*Am@|w1IzFEXGqcryv)KKum(k$nn1%Y9BEVi=yM~r>33%-Wi-^ zssEz1{UA~yWZnaY!m^usCz>v^-aM+0?oe{3y`hcJ zjYwZj86T@K$rw!OWsSQN8Sq+EsyW8V=ygZfV;!iCu$fa7GvW+zr_%@0rIiAT(&LPA z``szv#BlyIOxQD2&X|uRBL%2n(#3!F{;JPPqyzF$ZN-i7C9% zNYOo5UJM(UgII%Sj`?U^Rg&JKNO=myjFey26u27pKTh+X9rBk*J}k8{?Sbv^d(eYq z2Q8Co5q;%)M`FFwOnj$y^xrtTPS;oejo4!Uzsd_t^vsO^&+7lz@`C99slAjuYz*zJ z|63z~;eY&p%*eq`z(CLOAA!Wk{=f18*ytJlXCHur{eSiW*csXW7dF6usVlJm*SZ2D zBjf+h28i#s9V9>$zV#jkBnbuQNYSO1kf@O0XR5k90AsGuD)!{F@V?!`EJ+mO@?)C< zrikRGy@XiD=v+I8fqMQ9vUg;#2!;jyRk-O_$5TylJRb zV}&^6+=6}|2VY+R%G#`m>CEZ*9Y&(yC%nLheYwv?IHt1{&Zy8aDzq7Fj2dII*Wn)E zy?p46bOk4?V{R-27EwWEQ9gB|iJyvUL)NMDLmf5FNF2VWFS`kEs#l|%EFh>S zfP|^erV8tGq^7j|ljOc15XnZG=sxVF!H*%Y5Tv%GPo!WZ&EM-TtW!tFa6-lP$g9HC zMP2Uk=(XFs^ZK}5P?gKs+1YtfaaviHdDC*ql>lrbh^vTRqh0T*J;aGk_(UnFuIa4X z#_gN&0p}k_P~35ny)30FoBnYH0coK|P^{TtJRItTTPGdtxVQ;Plik(q)PKNbmn02Y zQxVE4N*xky1By^d2=}bud_HjlprN9}RM={J zRQ?exo7~vZsQWLaIC{m!0rjv z1J!;lmN~Cx9BnATTCi8RZr^o5{N=PRkas$e*IHOEU(G&K?8}>^z(W4>^o+F`f+q&P zux%a!(}+p-K;{k3TRa3D{s{g^ZkBG!t)Ri2(NZWYe<{wWJ!I;{)G5y14(?0sMw}PO zMo#Rs0A^0a9HtY%6TBnnC+gRaJD+fF4E_rFP$+nc;|c_a0v z^Tp(ge1b?wkZcT6~y9uGLZP zsqV@4mrcibM@q-0BiG~dyM(_Mt|B2@W#}$>Uny2O-o_6_^vU*_Kzc@wKaXAEYy%90 zJqIsdUWnQLyF10rK-E3AH_|^$(P!XpnA<_SgWkPaD7mE}_`_tvI+8dV}Bi$n=Zw|hQyjiZ_Z#oA(P;p}_IffJYO+`}1e#*U=fT6Xxzv;Ox-rjQELS>V1_S9e2eL z;fa0hqz3JS2g;KdrR~sZuML$h?0z>Gf1u}0;tSRny*FB~-*4#lfDSTrC#}B@pxO`X z2;V)3cSN`#^aI=L7w_lbKs%`7sG^O+hQD(HeIx0fr`6%sf#5!{`40Uf?MwVy7^y^~ zx?Q+Y%9-ye@f@M4JWH_>YMX=KDp>Jw4mv zU{jp3L>%}EoLVQ$I?d`Ljz`2wVtKO2I(A*0oHahm0eTVo96Dz0$dM6uGbmShJ7(c; zaq3W)aBU1|i|I|U8?Y;gxsw)-e#2P`)U-#L+Qu=5o06w^#r*Z!D3sibtx`oc`hor- zM%({^bgoBIAHKb_-iq4{2NkW#)ea+yM|a>GDjS6UV$%NsaHA~Wi?v&g{dvF`(+X%k zFx$s_EkHBI|6!Su!mA!_X@}b#SIL*U!^VtBFz4ui3K_RV2KUYl_`&%_-84A%g>XXo zdrFYYlqhnBXc4C2hbL7Gs|VuViL4XDRs;*^o6T1nhco|kbCk<_0}w~{?#92}lNI8+ zbNib7nhXw0%?+8ShPWsI3f+QZHUzJpLd1Zmt`MS31pc}Of_4XQjQ87%8i#I%-5vSH z+m+IsLtPrLAwImL>F~Rw(MF42)6FNXxkvy}WGVmhW|?{uD~GCgfD*hY`7&6RqnPUH z$D3?B73%PyRJze|CXAl3;NPwdZE?o-gy6bccc;uFLwWc9p?*U2i1uT<9RkM{^cx$5 zp1dA`W6w;x&+G=sfx+@=efRZUe=UERe0lyD?#b)|FL&c^hu`qe0<(2Mys3hW+{0o{ zckp|q0>_byrIds3)I!C8S2}Yhw-hw_=gvS-dcbRjtNe5k!_E0?&H0=m90@pLU=XP#o{oDMV|haK4EBssyiq%c_eSo9&j>3p zqiOArx6n%owBKfa;oLQ&K7c&eg{nZi=lwGOn*OkXLKO6T=HIeaiWSK%*N{h)?%BB` zs8Y}@rks?HgnlRxUs_sKR#8$-G?|oSI7?7wgpU>`*o(u1fAQ9hUORGLu~r!)O_LT0 z)Gb0|w?v*oie@wMAwdTd_iOkZ=T>d!0;h^;2zah z=a?N3vuUF*(Oh=tCk>CI{7zg?oh#y2Wwp#fu4hj`7r++|qN=xjGo({M2e@385CVZn zoXdw1(O8>@vC#!QXZwam7}PfwS)5i^n0Dk#x|!$wHBm$`Uh>AyaU9c?`KmAJ02iyc zP##fT(OqyIn%gn%ruR%BGJG)jk4QZl%z&gvkxF=e^0j z1V$f}57m&@%joD5j>oh~o{h1yv4!c$)4?To*4KOs9KjwyTqBv^ACHlVtg_k2V9(5+ zgcmR)Z!T-|$7VRL?Z_+Mj$-B}p=MNY*RXNzKd>YF{HO9*LFz8hGTE%mjp;Asj+_L- zaoysfxl@sST+8$MP4G6l$`H$Yb$Ek1JW&Rssn6zGr*`OK^WL6*ag?N@N7KLj{=f-8 zv$8W9@>2?^6C^{)u{1~H}WQ#=_Y6UMt5@4@tzKOqCnNg9O{5o;u*dg#MVo}g5SH+e_v@& zwCFkQHEYwk3g=0S&txTX7r6#Z5O^nt#s^R9S!|cGlsFKm=8q>1NFG}!?^zg6$80pw zV}{0$07U+SEVZ~CKK3G?_Z~GbuMwR^c)AAEI1uZ<=1;MZ{~Ryi!Sp;%t~9)a zR`|nkgwL#;n$`$j@I(AYsTal)4)}|h87~J8_+s(+$&m3z;gyr+t{k#C8pxng+80U0 z1$A_|GS`gAO|OBcFPn7NQ`fS7(T5-LucILq-0(iF#PHS>RiLOP@gkPWiTB;ROFf6e zD<#Xo^nt3Xm+!^ZZQ3|0DaG!LUFHsNB&tbXea2Ju&VykMm2d_PaLc6>imvvyDT zK5R=CDLZcbECv%E>DayZrQYx`NaA{%zqj4mcAr;!2i9~EjJ(j>pxDnLyX7-J@=tR2 zf=slvQD9acw^tr{PCeMxX&<-DyVf7$O}nlEvqkIMnPf6t)?M6QAa&`nDr+tT3(5L7 z@RKqCM}_s1MjI1^OaP_VzXLfmd}YXS`WzHFYMjX7fdYHQ2d$h6BtmAQkPgZqR;EG( zdJ6`FU&jed}@#=D*Bz&T3~3 zb3b$Y@rVyg9Bs*AOU>OdWjoQW!dHiPYKih(R1Fl(A})pNx|^W-b1>+m8Gz zj~`=s!60fWG*;8516B14Je)cXsmTHG1b!FJyVAPeyj6Pt7=z%Fk^(sNb6&D<@TaXc z6gg|^N3ev0(&NddLvZ4iO$lFu4&p>UmP&>Ahi4M(d3!VsfyS zv&Lk`JnUgtQcC;d-44@%ap&^a+J0wZ(JgI67fzD@I!&*LwastY(2idmpf8{?-Gwb; zsE&)a4O_#?Y;@-uTb#5t|L3~2`D4$3e<;W3Di}r<$h1g2GYyuYZNl}0>YSf0ge`EE z>91hxA`jQMcEYOcMe+{t#mcuwL-LcO4F?7IiX<7JUW$i&K}s}sRWFsSKzGv1lZdc^ zB%`f6#Uqtxp&6~zuBmP6wLQAJO@HvbsSKT2juso?S!443sodC_@bdZlPa3hLr-FbsniQOqnLT+}fXm}48(tMtmfq2rZso5=cPRWM zKL(thM|Nl&pZE5=n)131Yrp5^g39S(l{u*yE~cCU^2nOR%iR7}`+Cjml|r^jQ%H9Tk^Xt;!7Fu1T!4#}}T{^$p zd61YpZ^BkbGZkkO|(fu2;Bl5CaPzP^|r^-QNf;UM}%F^-Xor13I!Rl z7-W=bGsx8t|Fm^e=cYb+VnN!+)YgMEi3XvJ`U9kl*O2 zL0e6NDTd{c($bQWY9Qs=#Znz077y#ac!6-Asmw?L%rSpqJZr$_`kK&%=70)4j<%X+ zM@M#ilW>Ruiz6QzMPJy*01Oug9P_PU`(9L`6y;hjap}C5%l+}rPu<6>)IPMzRhBV8`?#D;p|Mr#{oI0Sh6Gd?*6TTVzkBP`_eZ-C_4ji@5 zyB%s3$6R%r0Kpl-+#JvYpVC+2KMkWrDS60%K~o3Tb#wie44dW=U=a}hGNy2QvOmF0 z5IFYO@rT8|uGT^c^pzE&Dk4$ zQ@7G)e;(|@{2Wdb2Kl8f9{%DUpc4^07HC8sV=Z2mwha@P_D1Pt{`|GfUg7=Pn{i}f zeKm+HMDt8|?;SS7>x0FMRM4~eC|VD|yKPVKJOv1xfuI%m1FtmUQ#y8@>wVMb8+8OlMR z>aSg+W!;Z@{C|T|_MS=|J*}2F;2ZdY>^Qw?K%sNdav`-U-q7i?;kz*v_A}`_ zg#XtV6S_4Z#5R5Qq#nR0!rcUzP+2UwPNtT9Ako^OC$4WK8ySc68VM& zqTASw`Q~sSaVL4QxJn8pwUlEY8A~!uLS{OOUAr1`d~|$mTvM@~GkegZx~y(>z0`Pd zGCC#scVE5)XfuB;9!f@iv_@}>Xlu89*|O@zxDY)^9KLGxU^w`bw0X*mgJd>eL`74O zEZUo-_UU^KEAmw8S>WS^sE6-ODjt{{O@pd7wQ+LoU>yr_xEi!`CX3&G6D$sw_*7iz z>kJDiz=u}!8MlDdMBfn;X-6O?1Tx|)Bc_9wGP7Wzo!oPEfl_3{r=g0YowxOvtY%n- zCMx^ACi9u=_1GU$C*2fK)C&G8}w`r>M*#~{g&#H#7ii2<0V92vitDM`P}Z?1?RT@vI)Ndzv-UErTlP5 zkD9%-D~D8{M***#1G=DKEEY83S~pmFGwIhcX$1ogNuNl_0yo$jf2jP|Af5@e97xae zi!Bxb!2bD4qndPvJo)QzzS%Lj_O)=^U|aerr_}~{*wfqkHdIPkw`mAZVQP3iCadRs z-A&W|J{w$BoUjVZ*g+^_i%lknJJEE?u_*RP?&#k#SDmUkY0#vw#WYwuzMj5=;s!~= z`WKQJ^3PVLO^!uS=^UpD>oTiAAqA!-Mmm&>8#)eqmDy6+NU43rwp0UHW58zNaslaF zDncxgoWg(LP&(0=HRQTMUtkI*$^aRF0T~t)U~et#LD(c&O{8+zsG@Sbei!ZlJ$=Q! z6{$7K($-2jy}wY+iAYB!^WkGzO;Mq8G0*NI5&jt5tSPI+WhhK-x{4*!xLEMVY633{ zcgTVJ24O6MU1pSRSmMhaWnyAlMwvoP<}(YP)j{UwUU{3U{7{6DVVfQm4mt`h8jkr% zD{_OK-2XSB*lF5&xRNAX z2OJ@VLf``lXCa>~z<7P0LAu>~o>1qacNCS?8cR z#AGiiWL{jGXxuI9e=Bt6G}>NsI2>8YWAM^vD*-!FHThVZ31GwY7P^%7vveS2kd_}V zCU(pAf<4Q?XrYKmE)XW6EE}&(!nJIXbmpvnA+54ZRJGc+jU*xgQE>S5ZNsSIAF{_- zxi1bda$bpJ98P)gDQ#gyR;7^;noL@=NpzCGBym`nztbPkPu$8>G0W?bJWQ1iU9&^| zdgheAYYyKrnaA=?yX-pM(cYZ|&l#>kIE3Pe-*P_kz0vrI6X!=~_6w6(7Nb>jRxeu~ z_zx#4*_OHy@O)@CjHmgefuISa(NkAW?O6+e^zbb6-vu#v&)q&2OydtG8^0D8)Z1qr zipEs-{46cXV-&KaLyc1)!aacYzWD<*i(QtwZL1NJMn89)pz?+9lNm>+q* zMfd=r9ok$j>A(~A6CRsShZF}mz4uEpo5!EdB!Em7BBcHWUTJ(;7W3;Tyj7O(NIcR{GK_*NpOc!n)ek100Uv3uc z2iU>e!8W%l5UsJAJQOpL%Fbo;)^x;mFKE5)wDWS8wKX;t5A)NCn2gElf{QFd z8b#gt37Gk~&(Iq1abH=aI`4DP>wC5j8zy|zJD3$ZN=V?pe;+=Vv5|6{skEKt3sPx6 z&y6sf8^I%wmGtzFSjZ*NGJ}3YR~5tzE5iY&C~~jJ9mh$~UjZ>S1~m3z04L;=OF6|p zV;mu!inrF|jL5x~88$>X{66Ie3fdrMBk}0;A1WdKnR%jc=S(aMEg;`wH4*eq3@l1u zBF#y~Ez4Jis&XQ6(TFf z7c&R|RZixFaYdcGeG4=ZQ6ev|h#<2DYv?t1bzsa@QJTJym@ARJsL*FHRRwj`s3x!t zhu76%tFfA1Nrl$dTV*YI_0{wpWsDhwbSzh4w2b(urK8NC8i+ z3X*7>M0u0wGjcOKB=+?^$;hzpA#?1HZi!R>k+AwwV&gJm@dA1M(=BRKUwZlQ@^P*k z#kDgx*K;5csdNg`dwF0N%;7D|Al~c9ow<) z_T|fQ^lD70fj)6yT}hc$Q~h9uExJfOzlCc}I(@!!ax!1@15PuVsaO`FIgQl2Vq;<< zCh5ptowzHbf@VINJv7d|sQPvOft|S=d10^9*;!j#x}k>;1)(2ev7K@+O-eJ$)8Ni| z-7vyqyCAPu2RdC!iC6~+`}0Mr6Qdk>Ri+N*DA^f6bV?9(iGkI)FsGQT@iTi(_{%}YeatF~ zhlw+BlBdv|&&-7i+1MAHORqr)EFho+|DE1r6b=^hFU@HJZ)+BOM<2X@t7{5UQD**3 z4^>-8QccO^T#vcTb4MS~&7K7-0S5K~^Cn54gToDchXoSf4K@{&Ndp@BLh%PF{$~5F zJ<)Idt2;{^pOe@5Tk0##dCFm`#&`bS?0$A3E4EGB5962Cg1b;G@cHyWFZpNmD<bm8X{iW-rGem4EF7j2fw{^#+cl18}QlO1~k#l)|zf-Dv zy>r>2?9#Q3euZ;|cZH$fCDg0cqm^9-S+Q2(1ZhR{Q+(C<@sC3_$=Nbzf7J^#h0{Q0 zz15N{+X-0J`WSHx(})!f1D;u=f-hx}V>4dG+yn0fL9|Wc;kR@{5K^PG7{w$OAmDHw{M+WvteD~SIrU~X zoXCc#%68GH7N{%&`e2IWpB=sVJ|P)NRzWa#7|6C1cnKvLB7=BL0>XQ#y03#uHOIQW zOtspNuS%>uzLrC->Wqn*vz%?7Bf`|9hCSA2K4xXGTc8?uhJJ9Wufez1c) zU{6&sv;0-h8>d;Q>QuUDT=CfYK`wu0%8?{ytV-E+{m!OhIYPmlOahx4VJ>j zM$=%vDz%1Y`C*vA$k)rB7eOOhYgaIxp%g<>?A|tNjr_dxR%VGZq00#32s*;LxbCvG zZvk$EB$_vZaFg`ccXvT|Km7H4_G(55Pka5y=ltjTXBa9wmpJd*s`fPC3PD*%sB_|vWfvM2iv!3X01_@yBIYk;#2<>wnZfOtCr_OVrk)K(UE7~{kb!ZfXs7Ii z-a|nn;p?-8Q5_-t#Vb46jO3J`F(MhN88}PSr*8u=+pv80s+^oc>xWiMsI9n9`zxss zp)M%7aNpj`ycVWL4hIN4{19ipsSvnV2O{hVI}5Sjx*F7bd*D5=+CLDF+HBrzsk4eR z?_H{FX1RCAqC}IDu)w!f#BESV-S>CRWTEl_zMv-S5R*Q`W_Ed6^q{e(4DVA7C{f&G zivHzyIH}l)3m9#@t|81fhcy^?_N><@?=8%>Z3~NJ%s5_pht`NBQa=;UF@(<*pfwZf z@xNyrIcRsWM!p#=sU5iM5|^PJbA@v1lATh#p`Z4kVRLvp0h(F}d(YS+t4!gaQ==?u z)`W1i>fmHnK7_p5Tb zXi?t{)7zLn&zi%v!M_0;HjTYgP95CRO6Bdg8%>g?#RBSRFDC=S=o5+*oQIyk!%DXT zZjcqbS=p3EZ=?L+YcjNL>aYEXSv+FBEU1Hc4C}ycgNo_bqX0)hxW7=_$n>ER<^*ji zGBE&X3lNR`%l2oYz=}RZ4JinzwLW$?VLl zh1u2an61n<&(vzEwsrpubV^;+Rd!YW=xWu;xaoY~5M)pmD6manGjErf|dzo59{o%L82^GUJkN!v3J0xJ@0Fw>Uj&32Vbx-iH4T`IRWbg(e7ia zHS{dzH9??29mMnBm-JGDF55EFV#(&Lg*l(4_4Jiji!;?;QyR9gOfGYskpKnt=iyi2 zB)|mPP;$n?WK^b~JQc6Vw^~|`O*Ph=!ggX^4=Uf`Vhp!3fh?YncV_Mi96PtP#67ly zG^{K8S3t{76mCs}ZmP{*Uc*ghPiwkfljSK<|QEKz(w5Vw%z1&(YzI0yeZS~(SC?{nK*+re$gZkTRNx8}R{vr~;J@KMC(0B+@wVwH$xO!$5{ zW@T;VP{GASIC%tPZL@*4#x|uyB5q}Ch~RQDU^VM<*fXa^w-RA_@;Nv1W8%Zyr}&?- zvyYXJjE{>?&%(xrw%RIg1j)n%^7M7(1+R9ilx+{_5Qn$$y+@=8wjtkF4sv-dxfGLi%0utw zd2O-ac|p#MA~s+5Vk$Lcg<|l??V^u#`0vW4jX5O|smXoc{&}jQFfQ2Af$pvLRpBEvmHO_p@L~P)CE#>dO!jz}!R3ON9 z`AZ)Y5FqrN!FA(#jpEXkRR5)Di#bi01?Ex#s~WXGkb$aMn_JNqhzsw>rIt*8QdryC zB#JNV6KT1_OANO*()j9?niUA&{SE&REC30FgY!}TSsad_!Xtx17a|fPH2PzV>OB#v z%o;7Xu)l=Vh^L3$mLah6mMMv=cKUMkqBH2ei~$_Cjy;-o0*KZu_zKG3#M6%MS?f)Q z{)<1iK<>-i7J`LMJ~~M3M2BvSR3sF%y0`d8Rgg{iUtj9LNq9eDA2iK09vMy)>ris4 zxd57*m%F9dlB8vska9&$r37bAPlP7YG&y8s-l*TKF1N*8r1<$`LlK0Tv84s@VEm;=KNNzR2+%=TMhVvEVgZe`y5x5lH{HCF_mns@mR zKUsSRtXskf_KoX}f$a5N!?l{*%B}0?mw{M+V_ljq=Xmrk@(eo7+gkcW=H>N2&vbJo z*5cI?L3gS;f&PzlP5>i}`kk^#yaarDlvKuR7u77F)j>?=7S6hleA&vJcSG;4({Lpm z|IzX*7s=oaU1~x8ADbU+%1PX{Bu+GAsn-wMd+&|7u&g~XDQ?-~aF1#q^B?a6F+9pp zo2kRZ2!y)cx4273P`Mtr=_*)+u23kQUiZV+O$5Bo?-ik~fz8vYYuplN5U4a(|Q1qtwIPW6DvQ8$at|y2_(say!FW^Kl6F=<7alK1$q-)v9b z8njAbzaE3*rn6zBjvpa-xlDpkii#i|@E>;@$4bTmvyWaQ z;b|Jw?~q9h?f_HqnA&cdrQ~AYLF%X@vBI zROvCB1=qCgn^wHYFt)2v2s3F#6map##EJ+xvisnhWZ;*Jf@jVv5x_xA1+?fgms=6b z(oBN0;Um{JlFbuBg0QO#%yYQWYH%?Bn*Ad{t%K1$AX_Z+v%;m(r-$@{9@cv&IZCPS z)4DXL+e7q5;0mC!y;oc z^1}R+6c~iiZG#ALik{<56t1}tpj@%+ltIB${Wl#u4WN>#1GczuRQMVZAUVd{i;atdo2um>|$V#!L>Ol9MUqSv$Gyhpxr<%-oHwHfoQB5@HWpBE-agm>)FS z_cq{KUd5jDX+YWrl2$?J<0T(?^N5|Lv@~GIRIi=^5_p7s>7(kHkDazAX=qZBcwsy} zX6{tYu&mv))yiGSHyTO2f~1<*DkJgD@p5`GYnZ3vhw)jfiHU}z(!<@^eL}b?gyhmp ziYy?kU!|C`T&Wz$D!rC`TZjTEMgV(`9f^db+@VJ$uQ4Q-*X6D4?C!4Q)YjBdvd37? zY826%2a!~V!QAikf&9zpkjclJl8GZ#a?oH;iXJ0UR%L{?jxJAc zW>u;1pq`b8_&}p=i)&J9xTb~{e4ndLoNA3r+*+7l04v&Dghv=ND!i?HeV#3bEBzAX zRWE8cEO{h@p%<8*GH-Rh^B?T;_m4SQJsU!BlL1X-QS&VrN)d&<5w&t41{smb!pq%! z!xyimi_uFEmJeN*7zt~0OykLwuY{aj^Ol(PBbsH^iCjWjPx`%mG8v-(&^{YMYr7vS z<(ywranwt7(3V2^sv7mn%^U`|7H)I4{8&v3YmViT{E3Giks!JKRZPD3FR1e?kF5;T z$zgGK;hPTryCIOsJdda{&2WQdXpmj zVQe=GQ~jR2Su|_)vMj6av*g^r$ zAyVi$jF7gaeJhdi)ly+|EA67?WR}$<61}kLl_*%gj;7bB*WA}e8$p^WD@sb}lRQAYk{+WQVT4CevfZ@R>OoQJ7abw9gyb-b>rj!L-Jgl{u=Ih|aQ zO-Djz*?WqQ-vH5WwyYN4YM_sLKaC*v6zC|U^x*<5DP7$ z_-IUPPfI8!U!rHOA2DqEI|&2%Mz7b1Lj5vNXnYaP;!#m~h107AOBZlC{GV0Ymn$E4 z_yuA?9o(HJ<`K>4Vwe;nvLldx#5@`ijBns44Sh%0`TV=`jLLT@e>`rDR4XYytG6;T77`vKxUv5}7=I*|+4EkP$1Uge~ko5GgRwSpIg zD_m#Wl`90(KpoLCeT32fbeVYG&P1vJ&Q&eo^9S0kX8m+KakCtBuP;02gq#7FbU$~G zwIxc4R5xA4gC+AE!w+6FzGjc*V3(avw?C1&-=E~aysrt7zTW{C{c7Y!#h-({LU~2A zaNS|An~Nn(i#ft2Z1=Qv<0l(eolv`kTLrtB?NmNy=b&#lL$-~2ZL9Tc-5>)SF{&!93O3PC`+QV}l*fpNFm*&=UEuv=~>^se!;u}y!e z?jT&DsXzDg*$nuy5+4?z?dA+mL;Ojo#>^hc+oh8fJbAMJckbFxmi^>mmVF9xO|5NvhVSTAm=TDLpA z_g88-WL9}zt2IBfcIAInw+6Mw4f-PCCW6xuS4%;(yZk!bv)aifU~H>Vz62D8Ilgp* z@>js%3i5aP#K_j1If1_!n8m)!pW{L~c4* zd*pZ9%=S9U+zo2ZoTcda6MeD|r=?N`@+^ikE=vS(1g{lmo=;B;9ZaGtU0=E4MZ1Mf z>^wzjs>K_bTvXbJn_sMsWm3^!m6bNa>di3-=h^5C%rzVgje~x&Q$V+#O!g_8{DyTy za)Eo%+KE)ztfAQ~?IVoCf>=o<<;}l- z#ERc#1Hbx;+%2u5h&aLErHH|I1SMYzO=lE|vf9frdD;OjPX0Tw0*rQB`xLCQ|6zyzp0&lw~sBW=eot%` zEVSr|7p39lq?+)yp5?IR4!;{;w@Z59l+R->ww*Wlp0_yg9e2XlxKsF}f8P5$21Msl zZr{&!Zu3nGm^}%z4t4`qYxAXenz514mfU(21{aTunnCmJL$TJbT#Z&ptnAOOpa;Uz zsb?1(aK}PQ1S>^g?2&^$;bU_gcT|C zD9oXys6zbZ1Wnir7(Wp{SjXR%Xw(8xb!(#0cVN{r--85t zg?l~jRYC;|(TNc>MkKa9kpBLp-$_7fe znIY(*T9bAzEE$&w!e85$z{noFE-W2e@^4rTZxJy)aW=1v@@g1@hm>nGtfDNzzB!cQ zx=p`pV*FKaLdlQdqk)M=!dujm+8R$dtlQqnbp0!q>pJcFkhbci_x*72kvSI=V^-sZ z7ljJHyJo*K@~CGO-A>#=JbT6Q`x;~5h8mVz@L6%2Ky##|4h14fQF!4n=9#<|4%j9- z%FucuiO+Cye}Kw6I{DeJox4?NJB^>DsWO=Vc9S4i4nz!Je2??M`NiY84qqroZ#kHs z7)skx#~V3?4v~8;mQvg(K!CAK0$wfFKeGSxl!Q&oE#cgILu$*Wrl*x;S24X|)zRId zYE{lMI592Na>4tRKokqbT#+Q>(sBYjbChLC^*QFp#~>Qj=t-#uL~F=D9uWIeL|{P= z6mYXFN7vag9y}O}^5g7Zx+ta9&{WV#5g{5=E@fDPn?G*?6cLy#OqxR&VZ+T24}t0P9| zJ#ud+jol+sl*pbVF$av;?egBJRj^PK6O__!r?%y~8Hv`m(|Is;bHlXn>EoXU%bBC8 z6YX>msb$BNrkeS$_H)YOvMYe~xZDg%u2*?A@SlRHPIZU6*ZtV;zM6@O&$!016p>UT zhK28rv&tlBrXJgOs|3b$X>#Tjc?mJEQ8K5dt^yL)dLYumf=nuJNnxoe&ZbF4byc`9 zC1s&F%tcY_-^fW18)Fi+LIB9L_IkE3(M}jo7YNoc?sixk0b(e7%0abI=Lu{XUB!KK z=n1APv+>f+ydDo!H4|qs*W7JJ{)xmB7c#)Dm+JDIZzS7`A{TZ3IFg8vPXxRp&=lY= z&OJwOo+%A0aT}x;Nls~xEpy+Vy~tVUDo?9ml`S&<=M5;ULDROA@v{>K&}%;Y=a*)3 zz-YiCXV|8(?T^-gQQFi`I|C!l9>XT`u?%sB0_Q5H&%B9QEw9h~Y~DZ1cbm$n5S?frn*rZo-3oa;iYoK+n`njDCS+eb`uf&ZhsH-U$8 zedC8qkr2rmVcIFo%rm>4L8&Z}on#qH_AN`cNJeXsj|?lTX=57mu>&kRiTVqC&qQVwZZ z-R(`%Npd*+?CZ~qgIZCYtU(UL{p)tOGX>~gW<(#oED3lsGeb}sCX1-~!qKD0;rmbgUHQ$+Boe|bx z3sx!rpbvX|PX7J9(;M_3UuO-t{&n3Rmy)giqj7e<$d?n& z0^+rQWwG4m)Qon!P?>_>n#cv=Z7VFyiR{klkeSDnvD@XOYzZ?+9F%t7`5k)oaOL6Y zzmh9#@Bifh-M%h=GR#t~n=x=WYkD_Mc#ymn$!>=MXw&diy!{%XA3zdL;g- zHqx;AubW!@m%Mi#wVK{SU)AU&Yv{B2&%3ujD4l8>%c#om>j^J<>e6f+ zYnpB7GGLc4AQb#_bUHTNcsx6#_F=GgGaFxV-<>Fl`j1?(7X;6j2dW&1qq_wUNe(r2-D`k2iP6-OJp@}P4t)%y%=Div)p>vXS3SlVrqvluGI1hW+$*=GIq zUe##Qg`WIePEYpf+L(p`#)j%}g?_eBcISh8&O}rSP2k#mr%TI!{7e?GENs{iSY!c6 z+ehK!cc0B>e-WvnF6Qelmkc^6Ar#7e>vh zBD~m(Jx%3r>7%~yQo9Gdwvgx!|Kh2mq*Ye;HX~7)<)Gxd>VU2(#dSylR_z&le85Mc z?{sHguD#vVJMNXqqyO%kp6KRqWfh_PQRfV?;qRM;0zz2_-6dEwE!J@MT>7LWocQu& z^-YnRUN_ULuUB_nlIRxM3AumT#yu5T+d^nJ`|-9iChfz3xPbfcW`m6Qj*1;~XZ1Jq zSAPl#+N&F4h~WK;XTJGF0)4TSUG_9&^RsG$a@efw{QZ(5=}Nq+v8@98e7AVtb*)o& zo>^v{z4r9FF6h@s*!-d%p13Vuyz|B&ZbYiXGs|(tL&&+7&Hi4oonv5g9DTNc!v3og z7dwvOV_)Mt~Efc=(s3&&WB`+d+v!0m6L2 zYMyp%Gd66J4GtUi{i+QMD?AqzD{p*~xt(S|>AQD+t@#txasf}kx2mmq?`^R__l3ir zx5qnu=L3oucDuz6@B4A>t#)IoUDJmr>z`D_;G6cKlOJE@olv=ThgH&dW@qT+PG)H!_ zCMe1QonnH!D5@Y1g59zQv=>IgF+T7{>-sM7#1Hk`=A-khGwL4Q$ zbnD?V&s^;+6-9y2YyAlXy~hVCovLq%mzs*`>2P}9H!x~5TT{c$kA8kE?e68GXpZyT z54OP*&UsI2O4>5c-Bi55ChGst?oegXWR{Zb8`Pt9<#}c^ajYJ0ZWGZd`9bfP@v^B7 z9b+n01<)VflhzVKF}J1X9={G7vcLJxbeHHvk5u)6jr&T&_kUsM?%djO?}+^u&o6GZ zTW>li*=xp_$5|b}mp0M5#g*^cRf|g4_N3s%bFAIm-Nwo;AI^uRe7cFh$f*MN<_Ool z_Od%=i~rqST3A(U&D7M;@{KAsU2^fSyRfOA2^v{veUXDX5GDtv<3c^h**=}9_10vw*ZhBnR{sY~pKK_L|qx zoQ5iGhc~%Y1itCGGj)FIFqAD&qxYN3mM2$VB|XdAs2{*@;5IRbt`**a>d=Q}9m(`D zeQoH;+|YhgpwO(s`P^(%{ib_#SdEFhCmayXtgiyks2z0-P4NAGx`Wg9=QE}63$Hp3 zjWn(iO3>|M1Uv?MMM*)JDbcMhS7%$Qy?Bkf8CKQwRjk$s*ROei||<^5!u z(1wqtx;@7wgJq;KFC)?+7a9EIZ5p_X;~9$M84J`z;I^Ak3H?pyd`s9TikaDup?JBI z-w*Mw&8ZTIJi&cIXLG-P2q z0lzk!Ic0}T4{OD1Pli`^HER0T0pIDC*l(})al9-{Qg*-VtSE%uCvkdb-*{M$RAScY zO!k?IB=!FGovFtLD=|6q{XTlHaQ6#m9@r+p zQ^R!29_(a7#S3E%ICSsVe?I$@VT-qfaZ~0!*7s>!TLdJP{4d`A&@I>|Esztz*&CXD z%49nHIhRn>&DaF%*2#*nTBzsKbvG`|<)92l@;rOPw$>*+$+L9G>rU6@`77js2lVOp z#Qe_*y9%lYPvH)!)Q?G3e2 zl-*G#b6<|jB+{3io^AVwI~ko2elfqi5r$s3qfQP3_h6PU;2V2;v!0$79_TX34)&b9 z!&%3$-;P6iMD@Ydm?S=_eaCoGY_wUlwrN!w4BX@E#Yt4&YZQY$ba}YXP-ChpYjALw zZA!&A{`tW3#;Chd3Q+B$hFSFN!`X|yKO6lMGDdaHZb%S*7O&lSN_d9`ma~NQ@Oq|@ z-3Paom*wHovtK273X7LZCw8ZO8}L+p`h3Untxs;&x#8iLI6u!VVohB0 zskoxk)iT?x>{^eXXdPB5H~R4jKJ_|zC(~Z;=A(=T6=Q9CYn1Y4B|pqCWiIqju^!NP zpc?!-;C@}=rpmhdbB{Q!xm72Q1-(AO-?mZk6mOtlGS;oqITT;k%_%f;Hb$RsIN5pR zwQ5}ud-Wb|sUM@)%;>|a%@|Y~6SCgPR{1yl@qGP}CH@l`FYa-HfG%)6BoPA`>^#^hLIyj66# z(ksxa8}2#L%xQM|6mSy#4M za^2?lnVyIw@tuLz-#ywKRR8R#`z^i;JGL?&5of$~PmYkgokcz=ao?4S42wZ!~NQOuDwUunNZBW>1=v)&N9_=XJt~v z*je}jE;(1g#(J$E98FG`+@=&|--9*2UvGM8r0l50t|^fM>%?ZQZZGwBH@rgU8MJT1 z+RvANs4r0YQ7$7#AAT{hY~W_9tzHn0jbJ8S7E1dF`6*=bMIIROJZATzV9!FLC+pi2 zZ?5#X?YjLT@QbYXF)8n>-Vt1G8zxoJPZ@YH7J1u+*oQ5Ae0Heaf^FQToFykJ$?@gY zy)AsB7}o0R(t}}sZeiEk@IUn=oAQsvu=+-v)b?51Ag}3N- z>}c-)@X53KTTb_*oqd}hUlDYPaH4~LFn(GUw@XCEMjbmiEiq>^Z!>vw{z$9noaofU z9^AB%UyAPq*9)gr#&-Oqo3p=ccxx&$WcuTWCz2jle0^>|E1x+#ccG{1GEc0(^EQ{C z?amE18zrA!Myg1@t=ZqEyG!WQSJ$U^yh|q2yUph_#|_6~yA6|*9@#o>33)tZKdBLD zNzgd}53M}9yV6%BeyF}Fv2CFLo-li&{n0I99dVbGIbJ&nUtl@ujXxQ8D)AJvy8z3{ zWb1rr&NO_;Z^$(IOm0i7wn3T!7y7$S*`8}XYA+a^Xrq|*0^S= zmW^k%Tdr#tyAbi!rPW9rQzF-65yf$0Zx>^)Md7-W*a|>C{Oq(3rZ}{EEUVdC~ZH({9Uq^Hcuj$dz`LCgS zvVkr;sl_;>TK!XxjE}6fr{MgeL(A80+c$=r!gGqv@@|*a@rH4|?s}*rG8rBAKx|)NKn%xwt!dw@ ze7&cCsvan>ld)Ym`ouG*bSG=w%YZ@r6Kq|V^LHMmaNmQ>k*WEnb-_3CGXuW5AG2sZ zdsUtJ*fY(wa{_c~{f1vAiafRq_v>Z%&Ut;Twa}^M_-ND~%h^T;jl)h}Y&wVB7S*ZN zbzR5y+I#Oqf*zmWO8XubQmy|y#lETLnOEPZ=VDb~BA>H~q#iN*#E%UPnJKu9w_A5R zQu5qf;m5NE)2{NNxp%6rjrx5TVlm;z#_I4Zar4uue%PVGyY3-g4^yrn8y)`1FNy zPyPx!pV+`GjgL5>)HWZnpdaboj7L5FKK;X@o1TX=4?ZRGab2_}y|;nQ)}5UuH~eh2 zE59=?uvZq34^#5v^QwLs#Y7kCWG~gbJG_~Fu%=(2_03jS2tQB2OoqIHT@6Beh;j&lw=6-2iBcF5b4hF zG^_s8#fyF-Yqg&WYSl%&EDFC${^ zOaFk{CwVNmP0W5dcD5kfZmeg{q&ecWyZ61!d2EHGRR_rudM~rVEqtsugMyk64rIkGhE)94Z>T zD5JRHo9%s$s02;qy0N}H-ria3eyks!VI0oiI`&acsB>yfP5e4Ng&+N@$6o#1E5+Or z=*O&XTbg0I|0idAz`%)XU(0mzinxbopf2?JfvH`7Z$^$8Kkz>M%ow5N8r3WGLRBJc z*v>d(*f*#IThn0gci5*c@UH&b-H)%@U-@BoAi0~PuQZ)sDp4x?*)^FO$4L`zPps$B zQ76XWLobrp-7P#O*fOs<8`JH*zI(r>)jihhZBf05D2q6;c4JF%{-fz)Cfa@krLFwi zXBSFRK1^@kl^`lD@VY%I`hw@doybtBFs22uT?$pq3txEo^*0=L{wmIqOOLpL&#re@ zx)CBF#AC|ERNT*b0ySo8!rpj?=fphoqkzh9Cj`XCBC~eb?ed7&hF`$ca+z`gsoY$qC?KVg+jNt`-Iil#<Il1)~F2YVTtP_&AU9=WUJ3n8Dqu z8J1IN79+qknz{K|kfQ{5$9I%4n(Nc7V{3h&_qx%>lZRvvFV;>tVjx!xBraHVgUe&RY2 zV5EQi_+E9B77_IUgZJ;BnYt&pwd9_1Z)%}$uPV^F_F8PePQ|T}Os!o|i@X@e5U zlBkC@`lS!9Y9H4SJrnpCu~$_{NB#I?wc`+v4C6<6uAc*Q`znq5=B=YX6HU;E=%~TK5x5qk-KPYQX&voIs`tTZ$dz#7nO{y9D=Q5Sm1||GUTFS;=)(j7G#oD$O zHdgKDv5RQR7(9C~et(}^+Q4<5hgWnx(v9;U#>iN9F-+EFB5JJ9yv-HO^tNyM^!;Li zO-PMNfnEJu(UHR0Xk(804A- z-7>oVm!z)vU5{96+xI7iguZS`eeT)(VE0%{jr(Zh#s0ZXr=|GQ%?!Uk-0+$(dUd$w znj5T9JSbUwSi=8(XgYnV5L4`NjsAU?`s#{LrHvea_T2Dzn^#AcQfyAm+ZwJ^b+4VB z490eE#80HI)!C1xLyK?lnU_q=4kFOEsOs`2rnCvPu?~wk$Qqr_d)8LEP!+onCAk3g z_-QgczhE`&vn5Sx?Yo97A<@$#cfC0aL$vDYCKsGy_TQ;F*JUG9tUJmv^UY`H*`4a% zFZNkal^fh->GHDUWKMMv87?WJL*1$w3ja7>I(nzQ^T5Jn!j~DVJS%UjVOWZe$3%&_*GKYuY4V)R=ns+?p zV(-`BThAi0d0ZwH)DTS}u&MP^o{mVy@Q&Pf0%`LJWu-%kUU`fj>pW0Q@~u`p-Ckv$ z%rAFuHZi%B@i~1sjV;7RdqU=2ryL}{N0@d=ajThjDeDwOmKd`Pn>itZVlKiqWtYBy zFuy_e+;g^i;l0U4D}SS?L-(r$-j`Ys)$Z4AUqs_xhFN{v8Zi>+xuf93=JOq6jiS@#HyZEKl$YF^2VM80vX}!f5(!l>-0rd|OJ0he}JA!F3!M03BH^)vn8#)_>BxZTTDcm5f-e79u~ZzX}>-93rmKZ+gV(?jwhg|N~S*@ z?Y(ZmJ0;>IzdfH@dE9{aiLJ=F%?0PPHQpLM%%o2*@6eMd}n)R}idefuJPfj*jPe#&@#;Eu1 zm*{a?qjFU=Fj;ArRP@D5)BbwXjLc108m94D->Ol9v9>-o>E9;vU&ZwCS-nB2#o2Dd zG~I}`{aVV*Wz{krmGf;j=i9>^XT=u1D`=ghu#}w4vcT4FM=TW8vz?I4`}KJ(@J4R1I{p+XdcEaUfYd6?;JjoWML)tOUp!S~}VWdudp#5P(o;l3$wZjvs; zGg~wG@!B{UytY2xSp7~oIx-qiP1%#8V!b2!&Z|8K1BGv_54yv#US4dJjy*!I$TsnA zN?6l9ZkxNkHWdiHUC3S4>n|~KGe!q^KWtM3zE#(In$;pM*1ZgNsl`|+&pvV(_$sJv zfgFz9lW^hPfkN+-?>Od=Gd9xhUoJ?uJjP|8I^kn1dDpw*nlG>F?e`($$Uy-5Bjd{y zefXx@G@5-YXYbEA!##1h z)INFt)9SnF$9_&;fVoWgXMMyERGiN=pNufz%dKrmY*ie1rIt8TplaTt-hc;s!kdE> zkY?W_jtp*}x$3=E^YCDq^|AXrC%)6|ecxKo%O`1hKp3f)9QocxD!=BhD}$n@?$jc}jD1q71)BXMxnTg+DWX48jj_)*= z?27*A`rYfWv2+Y~<(ObY=*PQCE^Iuvi#AXAoab?y?85AfHTO2yY2G8iAwKWtRU4e+ zsbEpf>elt)OZF+F`)-%N#NIgq7NM|vzJ1g5yTfly5Xow`=-SD zwgUH|_Ta?K!N#2}2AEB1NSXC%A=keZTwztuko+E=zc&5_{hKty@SD1PYm{>IL*h3_ z%jaAv)7d;*wB|aeIR8pNoW1n;GynmI;eLz%>GRW+NI#^FcXW5LA-Jd!JT$aakFET> z=>QxehQ{C^XaIn~VE}y9=cgekpPz<+!InKg4FlPgw<Vaa{zj>%5^!&)3~wesA2Kkc$Fw7jf4*={rle|d0XL|cRPJsa!N&f4rOI%@!v}?x~nexxcu|1r%<^`7vC)I&6Nj-TAhwJ&KQN8 z4A@rKHIBy{J9vzDd)*w%=7x z2VWEd9{rG*_^~y5f_b*Hf2#l5MZeT|lX}DWkKOtTMF(VePYONTGOG(?{E>9vo=K)j zyh-Nsx)D>3S!pQ+f1B?UscHD47b5kJ-4hp^`+2gJWM5tLE6Y<}V7Te0RD10wonY9H z@{xqh1s#sL@HpWg`}vbi>Rppe>Nt}8gMXZyXm#zL3nIQpj~*Vj6PT5r)KiqTQ}Xd2 zW#z1|4dPH|yu7()`gY-Nf-C4i<^)#=j`YwwRf2_$DKU={zoOxA zaU2GYMj=p01OkSEU~tO?#?S*Uj_yw21++jHHFa=xBA(sc3yRkQGwUfEbAsjp1*i(d z4Rl`_87Lma4qn_9viRr%3Z%&YEK(E|Qp|rADV7Q;9QL1u3Wrl;rGBi&e+Vm*8Y^|l z@*l#Ap~i~)&te5&R9FGvzl#+?jTQBO0js=&gQJ_PAroS8R3S(>>1{E05~=I|p)P1@ zU8oC>|1Whx!v06}I4bmr{~ILtYa|wPEChl3-;_X5(;wo$%YO)J0>n`m94tPG0AZx6 z6M|dRYq9EtzyX@N2?tR3g#YS^py&w$$TgUan;k()SxH$L21A178VUuzD}gU?s)j;> z?>O+KOp>8M82}@-Bg#+!#dl&mJorKp+sQ1>`P>W_qY0{~ZvepnpbAKFaBPj2Y>p!x zRRb$35D#_q;}Fz}z-YiyUUU&O9DFH~z5`eo3=OuyfC$kj(q{l{ivaU=NR>Ov*z($>aap-@KZ6$B|g%3|2RTSBC$W|piPnQ`G=99^jnV=@#4tdP7HHp(svBm%ZWPt#*L)Jje-A-&CwLNscT~# z_8;IzkRw=`lwMY}^~$)=Xq-4=HCz}9T-0oa!~H{COa6dcIeLgTM8L_mUFjIGI(9f# z9K9NLEM;1xF5pO#KcPpG<9;b2BmX8R5_1)v^o}OytY62;d2KPL0i>L{ibg0DS{${S zMmS21Xr?7F8nRoi5s_wA&G1y&d)b(*bPOOJ0{~hE0ahO`6b!YTx+t_GkI|BP)MW=r z@^=G9OdHtWP!|abPfjO@72zNO^h#twhC^#$8Y)GRO9D6yNm&zMSFQ;blbjNTJ5bTu zqU)f4yUAir@CR2~JjXH(G0Or3gBC~9)(Rwd0x0cG9o;0A{?6XWe@l+bkpatHfn2#P z!J#HalH?!4S&#-cj!N^C-Xu0OH~)j3zo^vm>H(c~x$ zN*um|$;tkXq_jUZ@slKfvj5-Od}T}s^y-LEl!$1S3t)fZb0kI1gOk3mHkzxTL*mdY zIw=_+ni3!FlGdMi`yVB&<#7JQXi%s%|PR2{vXm|+zC!(jshWTB( z5HTTXF#S$10P5fN{iP4$?<(CTeMp9fQ_?(~hUVdaqIo#UEtlMG5e%HdJ(nieOSu&w zyA7P0Fv)}qCl3_z_auC=4cWC8-H(FKmU2CsA~dL6aG5bcm#0c0%Zx!gxHLt^?~tV| zGT`VHLROKS=@8`1r-hvfIMn<1$G>BXnkM^pC(YO^%Zx0cg`}a7A|%pm%rKjoq2=aU zLMtgnX(LNiqJAi8QHi48{ZZ3x(Lzbls?}}tKa;x8{Wf3yzaEcep7WabIiGXR=X^eo z=keKn^}5&IM%j1N!s3hQu8D@xMs%BTh3tU2xvRR8ttVKI=Xc!FG$$+-H($>-8<@;2 zwcCA}dOCe`+1`|)qP<~>NxI&J_O~?a9SG)xdY)Tt`kHC?wwaGPKwdmJ!6$LCv^6($ z+gBC!jPQ`2g}D7rSN3rdCRXbvKYkZ=uEdXOWcv71DarIfM30VG^drnsSN!h*;N?w({JK9F=&CKggE@bN_K5FvF9iM+}#)h8V^8y;mT~@EuqFs(T)Tcs2 z+HN@I^`#fd)|Z8>9imSUl{JV~bZFP6POtyGk zYHIkd&G`x3?37>E(b_HEKVNbn)BJDu&cIK7`}AkiduFG9n*L$&Gn&ccs6Xb{{3d26 zAvV=lwe1#9Xl)wZuBq~B)O)ME`W+U(+Z}aMrD{{{n{78;y@yoW3=~(l-8g7HfZL`* zXxE(jYMlCNql)vsM+2^?w)NAdW$ddApH#JJf{jB{Xys?5^_{q&fo*=dRRtfYO{rGG z=?vKG8MS>j_WDcNYm0LJYvo7gqQ&IYu(}uP)nbH)HfubJFexN6yXLbteU3CQn)v3g zg&if;tIpM&@HrcN*6i{}Tic!soI_oU-gzz1vhvv3f-~N$^mTSuvf;+kU1N7dUA)(N zBG7u-E#rsUcE`FWYV7Gvw184SmooTU%Fx072!iqYM!PDv{554xmSg+Ol3l0go$vDv zrSJDI>`6a%+d)4wB0lKp37f7hlb@!gn1xt<(tGe>{^tN{)J2jtBj>iT`|Oubp~Obt z_GEwSOD^ZWX3fOyc;xNm8j&BdF0(UrX1sgGjCsA0SL5Q3?wq^N`$lS&RKjPU5;;bz z*07!iEwoR|T%|RXzG}$gZE5g-I0BXR&R>ZW&jx?$T;dSiy5Kb>EzzKTUv&3SNWI?Y z4O@>VS037Gb-L}N-L9G=hiyh@g?GI4X}yX!5tl{=9Px8J{(k2l_dD0-2w&*De5~U_ zB-R}jIi=?;PqX=I!6%R_5f7h7_UXY!o<57lrO#$*F3e0rdZyz`Bsp)%dv~s;nH1j1 z^EiErA3vd~YI+5YN8}Za&bHH6$-g*Vy>PsvMz0{#aH@|R6855zY^^fd?=50%mF=9_ zI^>pBzbmU)Ie5&$%8FU5HI_8gyVlS3DC*6A|NaHRS>UV^8Xp=I8vn{&Hdgie)*IT_ zMDaCZYVGmk@zrUu?l)I#&~jlmY}mQWt-iiNv+2&^NaEef!xz{2+xp%0i_{PV{!X>B zHugAQEh<+p*DGbnmMs0cld){8LDVTvwNz$DVIl{y&Hj?Rv@qPn#N@1uJaxy3hFQNnXj-o_PT$c8d zP`0tTY*t3ey+won3+zTrt<4EF6O^Q4%84fG&>Gr_2JMK#13Yz;0K4qGLbIt_AKElC z7|!~EBBgA#a(a+Z=cCIJd`n6Ieyz^q79>Sy?U3-uGhFXzs%ntCJI#fvHzuuOa`473 z%jnpb=4GW-rRxp;BaN>y2nuoCUt(Ex(7dc@f00V<(P~_hQN}qkVqVLTHS~VXV$5cf zmMv6`RNa(21oA*X}9Sn;5tCxHr}F`W|(Hd3DM3u{jreo^=UgXdji8 zCA&^G?Anv1Og+0buF|ZG5OQ8+6qRqg<!~p)17ko;$m&V$}Jhq_6y7} zX|6CxtLUt993U^QA8HT%RE^Gqw1`g_P5jn@hDukDVT=p65r&vC8qQjv8uQskEbZmL3P|j{T+-~51*r2?# zeT*$6sErLrEPw9pv)Qh^nlZ>&ZAA4gA8s~n=(4P=#1J;ym!(Jq*2N7 zhBvwVOU6xtubJ0Fkzv7^nm>?boFwhW{gmM6U4}XFiYo2Qw#(vTo=q^vvPR%r{;E!uvHzZWwj!#YPxI}TBL8wa$+BYss#oll7g@v8E zeh!BHVIIX4QLGKekw~+>K#Et7wJF4VXQ{49yVitP%Sa1qQBuqB3}iMJY02uWTFc+y zti9weaVQTP7dzHYNO=+{V`{Wk%a{Zjoe~yn6vkW7f}h%1TsI}mmr?QDZ(BF0^|-)c z;1J~0HGCIS}!`LaHW>?`Y*PG*i7hmKtpI z?x<0|HpTx>oNHEQjEA-CWNPgUk2V^`uwYK+?7%1kqI18YiiD7Pd*6BoqJNYwftI`P zoGc*sg2(=%?L{1kdqJj`r%|?Bw8!!AJ9|AWltqrKQf359F23wP+og0MQq=6XYaHTAqN4-eHn}n0k(pjpY3pI6SohWeI;3uhOAX0u zAciCrk`@aS#3Ub~L~18uMF-APRg=GtgO54zwFL+WiX8~-CwteeCdrF0fuO2-1!8_#_rRz?syXx2snl*S?myfIHmXMN{j z+0U^)=tUzSNYEO2kcXdPw@+w-axliSG98n7*8^nl0NHqymFonsqOV#xlHLgsHwNyE zLJ$u}1R0I8JWhfz2u6Cx+3xp#r-7Y5@X-`Mz{ir%y)5IE0Gj50cz<;IAKQo~KqLg1h=J5UA{-&%j={?O=+(m_Vzy!+ zcytDqkm$T8aql6Ze?vfxhduexSo2Vn_oXy)$G{)7OO#?XWEJ#;L^>}T%cTb)<1&08>4lJ0M3hVQ2T>F;ohxASgb6GWPl%Z) z76zMpM}bon;1pWV{AM(XEn?H9(iNDL1UB;s|8pFuC~qd@RiGhA?!A*PF0Vu9TC{5~cD$Zyimd8GFg1^QJ6 zP;W=11;CcH5Y(WXXy?11A-~YF-KmEX2OIDu2sgUSr8t~?kD3}4Efn+VQagrFh#8h8 z&x!05AoK$PUFH@liiA~I0U>D=(3ya!RS@w^4UJ&3xtJm@7tHiy1EE1d#C8odA(|%? zim^l-+>-yNTtqb>&>hngk48Z9VgZUA+mvYlhy(z-&GZqz0bHYgY#yYR5vDJ! z(3e5(z?lymbi%II8i|9s>yND-;%ov?AAn3yWu&5u1>$ohl95C`#h*?q0G0_<61pV2 z^nb;|6qfC&RDK0uDF7p(gtZxs1d|GR>}brm_mgCUkAQX(Xk-+vkN9gErnn;xUmr9B zEg30bq){E@`+z$FI8&55H?#i-ryx(xYrkN5a5@e_SinSge!isw z4_Xj2jxCj7l8&}kd~gL)xB_X=YDAL4tRUAE=hy!9PoU(3kLX^MJW+wfq)S&sV+yJY zSS1+%OsfKBhYdD{`*R)2)lgbD2V(P=Fcg z@F}CtPX$z@0_r3r7qtC<_o{zTm<~<~*0kITnB5R3^Z?;GQ;woi{@FpkXCqd$k2|l$ zEeDEFA==|-p(+2U!NQcU-(XP%>wX)Qn4+rf{_JlUYLrMUlnU+QB|@29%M}r)gMBs?{?HQg#9{7FZIsB`qM~j7gc@KsA1F2Auz-O?<42Ahd zP94y=dbtFgH3w%cQB=DHnABmIRQR2a<#|G(_+~VW%2VJ(WR7A^3RYmoCvai(f(SSY zgi<*ai`cL`xO^3iDKc=Jgd+BajZEawB^)eT2d(+kQ&^ccC`q)wW6WREBrH}U7V)xq z=)+Vv;zWTsGD_c@xRHsxks5Vf_dAzouqYHjqNn>7={MYz@27S7IZ{NIVtU!keZMON z?o6`nf8HiPFaHT5V6i02xl#@seqhSSaKg?<~9X7Ak26 z?rZh<$-3JV=o zjAASoisMFd$G4Q8xM-ykVg{d3Bi|qSO