From 8ceeeaadaed69d1eab66dc0a87c0f3c78e0722e9 Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Wed, 24 Jul 2024 08:10:07 +0200 Subject: [PATCH] The BasePlus package [ver. 2.0.1] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## The BasePlus package [ver. 2.0.1] This release is dedicated to all dyslexics in the world. ### Changes: New macros: - [`%expandDataSetsList()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#expanddatasetslist-macro) allowing to expand data set lists of the form: `a1-a3`, `b_:`, mixed, and `_all_`; - [`%unifyVarsCaseSize()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#unifyvarscasesize-macro) allowing to convert all variables in a list of datasets to all-low-case or all-upcase letters. Both macros are result of recent discussions at `SAS-L` and `communities.sas.com`. New format/informats: - [`bpklength.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bpklength-format) - [`bplength.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bplength-format) - Bug fix in spelling (`lenght` vs `length`). See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details. --- SHA256 digest for BasePlus: `F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609` --- ### Example 1. New macros. ~~~~sas data a1 a2 a3 b_x b_y b_z; set sashelp.class(obs=1); run; %put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#; proc print data=a1; proc print data=b_x; run; %unifyVarsCaseSize(work,a1-a3 b_:) proc print data=a1; proc print data=b_x; run; ~~~~ ### Example 2. New formats/informats: ~~~~sas data _null_; x = input('żółw', bpklength.); y = input('żółw', bplength.); put x= y=; run; ~~~~ ~~~~log x=4 y=7 ~~~~ --- README.md | 2 +- baseplus.md | 36 +- baseplus.zip | Bin 315042 -> 315046 bytes hist/2.0.1/baseplus.md | 7609 ++++++++++++++++++++ hist/2.0.1/baseplus.zip | Bin 0 -> 315046 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex0.png | Bin 0 -> 37349 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex1x.png | Bin 0 -> 33305 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex1y.png | Bin 0 -> 34527 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex2a.png | Bin 0 -> 46127 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex2b.png | Bin 0 -> 62152 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex3.png | Bin 0 -> 84018 bytes hist/2.0.1/baseplus_RainCloudPlot_Ex4.png | Bin 0 -> 55585 bytes 12 files changed, 7628 insertions(+), 19 deletions(-) create mode 100644 hist/2.0.1/baseplus.md create mode 100644 hist/2.0.1/baseplus.zip create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex0.png create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex1x.png create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex1y.png create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex2a.png create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex2b.png create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex3.png create mode 100644 hist/2.0.1/baseplus_RainCloudPlot_Ex4.png diff --git a/README.md b/README.md index e42d405..fac29d4 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ libname NEW "%workPath()/new"; ``` and more. -SHA256 digest for the latest version of `BasePlus`: F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD +SHA256 digest for the latest version of `BasePlus`: F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609 [**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus") diff --git a/baseplus.md b/baseplus.md index ba84be3..a4b0359 100644 --- a/baseplus.md +++ b/baseplus.md @@ -9,22 +9,22 @@ ### Version information: - Package: BasePlus -- Version: 2.0.0 -- Generated: 2024-07-23T21:51:33 +- Version: 2.0.1 +- Generated: 2024-07-24T07:58:59 - Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com) - Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) - License: MIT -- File SHA256: `F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD` for this version -- Content SHA256: `C*0352F7BB04B99D620BEFD33FF1B1FF1835E6F8F21CC6A764D05EEE51E77E57E0` for this version +- File SHA256: `F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609` for this version +- Content SHA256: `C*0444AC5B54150AE5424D335FF89A03D831F00F60898C99250CD59E0C5C5B0398` for this version --- -# The `BasePlus` package, version: `2.0.0`; +# The `BasePlus` package, version: `2.0.1`; --- -# The BasePlus package [ver. 2.0.0] ############################################### +# The BasePlus package [ver. 2.0.1] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -4521,9 +4521,9 @@ semicolonN(X) ## `$bpklenght.` format/informat ###### -## >>> `bpklenght` format/informat: <<< ####################### +## >>> `bpklength` format/informat: <<< ####################### -The **bpklenght** format and informats uses the `klength()` function +The **bpklength** format and informats uses the `klength()` function to count the number of letters in a word. For empty string returns 0. @@ -4533,9 +4533,9 @@ to count the number of letters in a word. For empty string returns 0. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas data work.count_letters; input x $ 32.; - n = input (x, bpklenght.); - c = input (x, $bpklenght.); - format x $bpklenght.; + n = input (x, bpklength.); + c = input (x, $bpklength.); + format x $bpklength.; cards; ż żó @@ -4570,7 +4570,7 @@ data _null_; length x $ 32767; do i = 32767/3 to 0 by -1111, 10 to 0 by -1; x=repeat("空",i); - put x $bpklenght.; + put x $bpklength.; end; run; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -4582,9 +4582,9 @@ run; ## `$bplenght.` format/informat ###### -## >>> `bplenght` format/informat: <<< ####################### +## >>> `bplength` format/informat: <<< ####################### -The **bplenght** format and informats use the `lengthn()` function +The **bplength** format and informats use the `lengthn()` function to count the number of bytes in a word. @@ -4594,9 +4594,9 @@ to count the number of bytes in a word. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas data work.count_bytes; input x $ 32.; - n = input (x, bplenght.); - c = input (x, $bplenght.); - format x $bplenght.; + n = input (x, bplength.); + c = input (x, $bplength.); + format x $bplength.; cards; ż żó @@ -4631,7 +4631,7 @@ data _null_; length x $ 32767; do i = 32767/3 to 0 by -1111, 10 to 0 by -1; x=repeat("空",i); - put x $bplenght.; + put x $bplength.; end; run; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/baseplus.zip b/baseplus.zip index bddaeb003613db125215ccc50712e412a0993bb9..2943a30ef46a0fe8901d73fb2769985b332b96f1 100644 GIT binary patch delta 20467 zcmZ7cV{m56_x}%Hv29N5WMbQy*yhBU*t}x<|K0s2DETAS5B9uv?9fmO|&3o;MlRN~)fR5tp$ zmYI_hUTL~@YIfu#srP6x^3KM}F1q7rKe;xtR z?j9FIu00DKa#N3**K{oszC-A}p>?$SzW8`YeLhUSZe-q_t=&~DO?O?auM_*egk4{l zGEBT6Iu3ez0KJDWxb`Obo?(K*WIJGpI1WSTq*j@FWOy(w ze3HY^%(mux{ew`DqAz7+AO1=-`uI|$@^iz}u2`xRK=vAk*=WlCKISC+Nr=g$Y{gTX z^+l{(C(Kc8xS0jZ;6yilu`HV{h9`A=X(%0VvcMJbDhJCR zZ_x}K)tcVgAeJ2`W>LLZ@#M9W9@b%jy@>#?cj|tp?^=r+*%U2eJ!H><#sz4KP;`zP zJqZf9K$EMotOFrsuy}XGHU`sP7k%_mRHj)Ys`ohUtv!%2uVGO{=v=TOmZIDcRB8fj zyz%Q^uo*KBD^_G53InV|im_C|3^RONy_kx?Rqx98?6I?`dO;V1r)~MKKT&m;-#+v& zbjyu8{WvWOZMPTBq#UqrBuSL+l9ZW@WO}h>fwrnG6dunfxc+IB9_;L^80ZN_A;wP3)_r{3K5i2svgZ!6 z8jqL&QV@u@N1Edzq+aUap3xOoDm&2jBAWba*$7d8CyEkSY;U663Wlr3cnq|2X6@_q z1L1G6V+ADN(OqNXbvM~yKCjX$gAP-F%FiCRkky(l`VK;;(HJ!B+E!3$<_FO!fFBFPH5BO_cwE*g+WzdjApD#2C-#>=WdVK-jcXEo( zTNfBMjO_r_yCha=9vpF(^=Rn$xn6lI%puY!Owt8mKR1`onj(xhEoB66Tw6J<{=K&L6Oz7H*ryolK6t zmK6eQV~;he6-7_7_W=DZ#HB9Es;@MYXy_j%6oWLegSeok;NqLf{**zpSqIaVOhG_8 z9(mA9lV^*)Aj;3gqDm6kG8V~tcmmLyR}sc!F*v#Nm`#&L(D5ZqH4JxIH&9mhVYr&J zV=p-k(F)QhEFSI<*RqOCaqvJ&YGQv3rs3R9$HiTA?G&@XBs2^4u;vn^IblLw8>f zjU$|#p!&ngAnNF}NHI}2DbObh+&;g4;;;Oa;|Me);gVm#w(nV)_C|5+fwRd*H5s(Q ze!CN-7ZukOTOSL&irbZhPbfH{Hl;bw^!iiI+!DgO^(CK&!BDEm+q5>7)Wz6lSN1xv z>Bh%-%2~!8DJr+=DAV{D0pl(G6>ObZPP9Ew4kDa|wmQWZ4xO!`3YaiIn*Q6u(F<;M zNf+EaWso9X`d-9Gb3k9D(BS@L!J1Z|#7!jFI^68@-)wc0DFf}HGcJV9@7|_dR$cAS#z;+Fg-cD}7 z4?A4Lb!V}r>qzDs&eA@ojVr=gk^hmlfa!u%J2qe=xa9e_UC+Acp7aQ}_Kfd3V~kQg zpCV3eUX5ayjTe(60SfM5Iqwg?v$g!@>4&(&i#M!zuPOV&)^1*?m6IvDQnLPuYi%{VFkc8%}&Q#4_p*+R&DQpM}NirJS(E_laR&@ zo&B;5TosEK8vyZvFv_gce_N7v3OecMWI$=*mIyjf@1NYn;cZN}dNk#TO ~+sBeF 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 delta 20491 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 LXIDZ#CKK})2o)Im diff --git a/hist/2.0.1/baseplus.md b/hist/2.0.1/baseplus.md new file mode 100644 index 0000000..a4b0359 --- /dev/null +++ b/hist/2.0.1/baseplus.md @@ -0,0 +1,7609 @@ +# Documentation for the `BasePlus` package. + +---------------------------------------------------------------- + + *The BASE SAS plus a bunch of functionalities I am missing in BASE SAS* + +---------------------------------------------------------------- + +### Version information: + +- Package: BasePlus +- Version: 2.0.1 +- Generated: 2024-07-24T07:58:59 +- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com) +- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) +- License: MIT +- File SHA256: `F*FB102C9B12E870666C15A651017D48E0141E47D64C11437350D0EC75A7E9E609` for this version +- Content SHA256: `C*0444AC5B54150AE5424D335FF89A03D831F00F60898C99250CD59E0C5C5B0398` for this version + +--- + +# The `BasePlus` package, version: `2.0.1`; + +--- + + +# The BasePlus package [ver. 2.0.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 StackOverflow +- 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*, +*Leonid Batkhan*, +*Louise Hadden*. + +--- + +### 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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 1x](./baseplus_RainCloudPlot_Ex0.png) + + +**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='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 20** Format and informat macro variables values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %fmt(12345, date9.) %fmt(12345, yymmdd10.); + + %put %infmt($111234, dollar10.2); + %put %infmt($111.234, dollar10.2); + + %let text = ##%fmt(ABC, $char9., -C)##; + %put &text.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 21** "Macro including" a text file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f "%workpath()/testFile1.txt"; + data _null_; + file f; + put "13 14 15"; + run; + + data testDataset; + set sashelp.class; + where age in ( %mInclude(f) ); + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 22** Repeating texts and lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; + +data work.A; + x=17; +data work.B; + x=42; +data work.C; + x=303; +run; + +data work.test5; + set + %repeatTxt(work.A work.B work.C, 5) + ; +run; + + +data Times2_A3B4C5; + set + %repList(work.A work.B work.C, times = 2, each = 3 4 5) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 23** Date and time one-liners: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put #%today()#%date()#%time()#%datetime()#; + +%put @%today(yymmdd10.)@%date(date11.)@%time(time8.)@%datetime(e8601dt.)@; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 24** Months shifting: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put + Past: %monthShift(2023, 1, -1) + Current: %monthShift(2023, 1 ) + Future: %monthShift(2023, 1, +1) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 25** Zipping and unzipping directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options dlCreateDir; +libname arch1 "%workPath()/testArch1"; +libname arch2 "%workPath()/testArch2"; + +filename arch1 "%workPath()/testArch1"; + +data _null_; + file arch1(test1.txt); + put "text for test file 1"; +data _null_; + file arch1(test2.txt); + put "text for test file 2"; +data _null_; + file arch1(test3.txt); + put "text for test file 3"; +run; + +data arch1.class(index=(name)); + set sashelp.class; +run; +data arch1.cars(index=(model)); + set sashelp.cars; +run; + +%zipArch( + archName2.zip +, pathRef = arch1 +, target = %workPath()/testArch2 +, list = 1 +, overwrite = 1 +) + +%unzipArch( + archName2.zip +, path = %workPath()/testArch2 +, target = %workPath()/testArch2 +, clean=1 +, list=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 26** Downloading data from the internet to a local directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 27** Conditional value assignment: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = A B C; +%let y = %iffunc((%scan(&x.,1)=A),Starts with "A"., Does not start with "A".); +%put &=y.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 28** Converting variables names to lowercases: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data a1 a2 a3 b_x b_y b_z; + set sashelp.class(obs=1); +run; + +%put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#; + +proc print data=a1; +proc print data=b_x; +run; + +%unifyVarsCaseSize(work,a1-a3 b_:) + +proc print data=a1; +proc print data=b_x; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +--- + + +--- + + +--- + +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 SAS Package Framework, version `20240711`* + +-------------------------------------------------------------------- + +# The `BasePlus` package content +The `BasePlus` package consists of the following content: + +1. [`%bppipe()` macro ](#bppipe-macro-1 ) +2. [`%deduplistc()` macro ](#deduplistc-macro-2 ) +3. [`%deduplistp()` macro ](#deduplistp-macro-3 ) +4. [`%deduplists()` macro ](#deduplists-macro-4 ) +5. [`%deduplistx()` macro ](#deduplistx-macro-5 ) +6. [`%dirsandfiles()` macro ](#dirsandfiles-macro-6 ) +7. [`%functionexists()` macro ](#functionexists-macro-7 ) +8. [`%getvars()` macro ](#getvars-macro-8 ) +9. [`%intslist()` macro ](#intslist-macro-9 ) +10. [`%ldsn()` macro ](#ldsn-macro-10 ) +11. [`%ldsnm()` macro ](#ldsnm-macro-11 ) +12. [`%lvarnm()` macro ](#lvarnm-macro-12 ) +13. [`%lvarnmlab()` macro ](#lvarnmlab-macro-13 ) +14. [`%qdeduplistx()` macro ](#qdeduplistx-macro-14 ) +15. [`%qgetvars()` macro ](#qgetvars-macro-15 ) +16. [`%qzipevalf()` macro ](#qzipevalf-macro-16 ) +17. [`%raincloudplot()` macro ](#raincloudplot-macro-17 ) +18. [`%repeattxt()` macro ](#repeattxt-macro-18 ) +19. [`%splitdsintoblocks()` macro ](#splitdsintoblocks-macro-19 ) +20. [`%splitdsintoparts()` macro ](#splitdsintoparts-macro-20 ) +21. [`%symdelglobal()` macro ](#symdelglobal-macro-21 ) +22. [`%unziparch()` macro ](#unziparch-macro-22 ) +23. [`%unziplibrary()` macro ](#unziplibrary-macro-23 ) +24. [`%ziparch()` macro ](#ziparch-macro-24 ) +25. [`%zipevalf()` macro ](#zipevalf-macro-25 ) +26. [`%ziplibrary()` macro ](#ziplibrary-macro-26 ) +27. [`$bool.` format/informat ](#bool-format-27 ) +28. [`$boolz.` format/informat ](#boolz-format-28 ) +29. [`$ceil.` format/informat ](#ceil-format-29 ) +30. [`$floor.` format/informat ](#floor-format-30 ) +31. [`$int.` format/informat ](#int-format-31 ) +32. [`arrfill()` function ](#arrfill-functions-32 ) +33. [`arrfillc()` function ](#arrfillc-functions-33 ) +34. [`arrmissfill()` function ](#arrmissfill-functions-34 ) +35. [`arrmissfillc()` function ](#arrmissfillc-functions-35 ) +36. [`arrmisstoleft()` function ](#arrmisstoleft-functions-36 ) +37. [`arrmisstoleftc()` function ](#arrmisstoleftc-functions-37 ) +38. [`arrmisstoright()` function ](#arrmisstoright-functions-38 ) +39. [`arrmisstorightc()` function ](#arrmisstorightc-functions-39 ) +40. [`bracketsc()` function ](#bracketsc-functions-40 ) +41. [`bracketsn()` function ](#bracketsn-functions-41 ) +42. [`catxfc()` function ](#catxfc-functions-42 ) +43. [`catxfi()` function ](#catxfi-functions-43 ) +44. [`catxfj()` function ](#catxfj-functions-44 ) +45. [`catxfn()` function ](#catxfn-functions-45 ) +46. [`deldataset()` function ](#deldataset-functions-46 ) +47. [`semicolonc()` function ](#semicolonc-functions-47 ) +48. [`semicolonn()` function ](#semicolonn-functions-48 ) +49. [`$bpklenght.` format/informat ](#bpklenght-formats-49 ) +50. [`$bplenght.` format/informat ](#bplenght-formats-50 ) +51. [`$brackets.` format/informat ](#brackets-formats-51 ) +52. [`$semicolon.` format/informat ](#semicolon-formats-52 ) +53. [`qsortincbyprocproto()` proto ](#qsortincbyprocproto-proto-53 ) +54. [`frommissingtonumberbs()` function ](#frommissingtonumberbs-functions-54 ) +55. [`fromnumbertomissing()` function ](#fromnumbertomissing-functions-55 ) +56. [`quicksort4notmiss()` function ](#quicksort4notmiss-functions-56 ) +57. [`quicksorthash()` function ](#quicksorthash-functions-57 ) +58. [`quicksorthashsddv()` function ](#quicksorthashsddv-functions-58 ) +59. [`quicksortlight()` function ](#quicksortlight-functions-59 ) +60. [`%date()` macro ](#date-macro-60 ) +61. [`%datetime()` macro ](#datetime-macro-61 ) +62. [`%downloadfilesto()` macro ](#downloadfilesto-macro-62 ) +63. [`%expanddatasetslist()` macro ](#expanddatasetslist-macro-63 ) +64. [`%filepath()` macro ](#filepath-macro-64 ) +65. [`%finddswithvarval()` macro ](#finddswithvarval-macro-65 ) +66. [`%fmt()` macro ](#fmt-macro-66 ) +67. [`%generateoneliners()` macro ](#generateoneliners-macro-67 ) +68. [`%gettitle()` macro ](#gettitle-macro-68 ) +69. [`%iffunc()` macro ](#iffunc-macro-69 ) +70. [`%infmt()` macro ](#infmt-macro-70 ) +71. [`%letters()` macro ](#letters-macro-71 ) +72. [`%libpath()` macro ](#libpath-macro-72 ) +73. [`%minclude()` macro ](#minclude-macro-73 ) +74. [`%monthshift()` macro ](#monthshift-macro-74 ) +75. [`%replist()` macro ](#replist-macro-75 ) +76. [`%time()` macro ](#time-macro-76 ) +77. [`%today()` macro ](#today-macro-77 ) +78. [`%translate()` macro ](#translate-macro-78 ) +79. [`%tranwrd()` macro ](#tranwrd-macro-79 ) +80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 ) +81. [`%workpath()` macro ](#workpath-macro-81 ) + + +82. [License note](#license) + +--- + +## `%bppipe()` macro ###### + +## >>> `%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 ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistc()` macro ###### + +## >>> `%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 macro variable. + +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 ###### + +## >>> `%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 macro variable. + +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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplists()` macro ###### + +## >>> `%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 macro variable. + +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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistx()` macro ###### + +## >>> `%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 macro variable. + +**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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%dirsandfiles()` macro ###### + +## >>> `%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 OS-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 + a list of space-separated file extensions + 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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `%functionexists()` macro ###### + +## >>> `%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); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%getvars()` macro ###### + +## >>> `%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=> + <,ignoreCases> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**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, by default 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). + +* `ignoreCases=` - *Optional*, default value is 1. + Indicates if search should be case insensitive. + + +### 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) comma-separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%getVars(sashelp.class,sep=%str(", "))"*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) comma-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) comma-separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=%str(,),quote=%str(%"))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) comma-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(.*)(? ###### + +## >>> `%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=+); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ldsn()` macro ###### + +## >>> `%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 ###### + +## >>> `%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()` works differently then the `%LDSN()`. + +The `%LDSN()` assumed that *both* libname and dataset options *could* +be passed as elements in macro argument, 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()`, in contrary, assumes that both libname and dataset options are +passed **outside** the macro, 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 reduces some limitations the LDSN has. + +The **additional** feature of the `%LDSNM()` is that when the macro is called +a global macro variable, which name is the same as hashed dataset name, is created. +The macro variable value is the text of 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 `DSN_BF1F8C4D6495B34A_` macro variable with value: `JOHN "X" 'Y' DOG`. + +The macro variable 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 macro variable 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 consider as *"only dataset name"*, i.e. macro does not +assume it contain 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 ###### + +## >>> `%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 one as 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 )`. + +- if the user want to add an extra suffix to the variable, + e.g. to get a numerical suffix, the `%LVarNm()` macro + **has** to be wrapped inside the `%unquote()` macro function. +~~~~~~~~~~~~~~~~~~~~~~~sas +data test4; + array X[*] %unquote(%LVarNm(some strange! name))_0 - %unquote(%LVarNm(some strange! name))_10; + + do i = lbound(X) to hbound(X); + X[i] = 2**(i-1); + put X[i]=; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + The reason for this is a "bug" like behaviour of SAS tokenizer/macroprocesor. + See the following SAS-L discussion thread: + `https://listserv.uga.edu/scripts/wa-UGA.exe?A2=SAS-L;4b2bcf80.2205A&S=` + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNm( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**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 ###### + +## >>> `%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) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%qdeduplistx()` macro ###### + +## >>> `%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 macro variable. + +**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.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%qgetvars()` macro ###### + +## >>> `%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=> + <,ignoreCases=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**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. + +* `ignoreCases=` - *Optional*, default value is 1. + Indicates if search should be case insensitive. + + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%getVars()` help for the details. + +--- + + +--- + +## `%qzipevalf()` macro ###### + +## >>> `%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. + +--- + + +--- + +## `%raincloudplot()` macro ###### + +## >>> `%RainCloudPlot()` macro: <<< ####################### + +The RainCloudPlot() macro allow to plot Rain Cloud plots, i.e. +plots 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=> + <,boxPlotLineSize=> + <,boxPlotFill=> + <,meanShiftLine=> + <,meanShiftStep=> + <,meanShiftColors=> + <,colorsList=> + <,monochrome=> + <,antialiasMax=> + <,title=> + <,footnote=> + <,catLabels=> + <,xLabels=> + <,xBothAxis=> + <,catLabelPos=> + <,xLabelPos=> + <,catLabelAttrs=> + <,xLabelAttrs=> + <,formated=> + <,y2axis=> + <,y2axisLevels=> + <,y2axisValueAttrs=> + <,y2axisFormat=> + <,y2axisLines=> + <,catAxisValueAttrs=> + <,xaxisValueAttrs=> + <,xaxisTickstyle=> + <,xaxisValues=> + <,xaxisValuesDisplay=> + <,xaxisValuesFormat=> + <,xaxisValuesRotate=> + <,xaxisOther=> + <,sganno=> + <,odsGraphicsOptions=> + <,sgPlotOptions=> + <,vertical=> + + <,VSCALE=> + <,KERNEL_K=> + <,KERNEL_C=> + <,VSCALEmax=> + <,minRange=> + <,maxRange=> + + <,cleanTempData=> + <,codePreview=> + <,reuseN=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**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. + If two values are provided, e.g., `16px 8px`, + the first is used for diamond size (the mean), + the second for "min/max" bars. + +* `boxPlotLineSize` - *Optional*, default value `1px`. + Thickness of lines of the box plot. + +* `boxPlotFill` - *Optional*, default value `1`. + Transparency of the box plot. + Ranges from 0.0 (opaque) to 1.0 (full translucent). + +* `meanShiftLine` - *Optional*, default value `0`. + Indicates if a line connecting mean symbol + on the Box Plot should be added. + +* `meanShiftStep` - *Optional*, default value `0.1`. + Sets how smooth gradient should be + on the "mean-shift" line. + +* `meanShiftColors` - *Optional*, default value is empty. + List of colours for plotting the "mean-shift" line. + Empty indicates that the `colorsList` value will be used. + +* `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 axis 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 axis labels (horizontal). + When empty a data variable name is used. + For details see notes below. + +* `xBothAxis` - *Optional*, default value is `1`. + Indicates if both (top and bottom) axis (horizontal) should be printed. + If not `1` then only bottom axis is displayed. + +* `catLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on group axis (vertical). + Allowed values are `BOTTOM`, `CENTER`, `DATACENTER`, and `TOP`. + +* `xLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on data axis (horizontal). + Allowed values are `LEFT`, `CENTER`, `DATACENTER`, and `RIGHT`. + +* `catLabelAttrs` - *Optional*, default value is empty. + List of attributes for group axis labels (vertical). + For details see notes below. + +* `xLabelAttrs` - *Optional*, default value is empty. + List of attributes for data variable axis labels (horizontal). + For details see notes below. + +* `formated` - *Optional*, default value `0`. + Indicates if values of the grouping variable should be formatted. + +* `y2axis` - *Optional*, default value `1`. + Indicates if the right vertical axis should be displayed. + +* `y2axisLevels` - *Optional*, default value `4`. + Sets the number of expected levels of values printed + on the right vertical axis. + +* `y2axisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify Y2 axis values attributes. + +* `y2axisFormat` - *Optional*, default value `12.2-L`. + Allows to modify Y2 axis values format. + +* `y2axisLines` - *Optional*, default value `0`. + If `1`, adds horizontal lines for Y2 axis values. + +* `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!* + +* `xaxisValues` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `Values` option. + +* `xaxisValuesDisplay` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesDisplay` option. + +* `xaxisValuesFormat` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesFormat` option. + Instead using `w.d` format, use its alias `Fw.d`. + +* `xaxisValuesRotate` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesRotate` option. + +* `xaxisOther` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement options not mentioned above. + You can use it to provide, e.g., `GRID`, 'MINOR', + `MINORGRID`, `GRIDATTRS=`, or `MINORGRIDATTRS=`. + +* `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 subpixel`. + 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. + +* `vertical` - *Optional*, default value is `0`. + Set value to `1` to plot "clouds & boxes" vertically. + **NOTE:** *Before setting the parameter to `1`, first + prepare the plot in the "horizontal" version since all + other parameters assume that orientation(!) and then are + converted accordingly.* + +***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`, + +* `VSCALEmax` - *Optional*, default value is empty. + Provides maximal value for Y2 axis scale. When used an information + note is displayed in the log. Recommended values are: + For `VSCALE=PERCENT` between 0 and 100, + for `VSCALE=PROPORTION` between 0 and 1, and + for `VSCALE=COUNT` between 0 and N (sample size). + +* `minRange` - *Optional*, default value is `.` (numerical missing). + Indicates minimum value for x-axis on the plot, by default calculated form data. + Is a global parameter used for all plots. + +* `maxRange` - *Optional*, default value is `.` (numerical missing). + Indicates maximum value for x-axis on the plot, by default calculated form data. + Is a global parameter used for all plots. + +***Other options***: + +* `cleanTempData` - *Optional*, default value `1`. + Indicates if temporary data sets should be deleted. + +* `codePreview` - *Optional*, default value `0`. + Indicates if source code should be MPRINTed to log. + +* `reuseN` - *Optional*, default value `6`. + Indicates how many times colours list should be repeated + so that colours could be reused in case the number of groups + is greater than the colours list length. + +--- + +### 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`, `SCATTER`, 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. + +* Before setting the `vertical=` parameter to `1`, first prepare the plot + in the "horizontal" version since all other parameters assume that orientation(!) + and then are converted accordingly. + +* 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); + y = ranuni(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; + y = ranuni(42)+1; + output; + end; + + g = "C"; + do _N_ = 1 to 60; + x = 3*rannor(42)+7; + y = ranuni(42)+2; + output; + end; + run; + + %RainCloudPlot(have, g, x y) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 1x](./baseplus_RainCloudPlot_Ex1x.png) +![Example 1y](./baseplus_RainCloudPlot_Ex1y.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 can be seen in the `md` file. +![Example 2a](./baseplus_RainCloudPlot_Ex2a.png) +![Example 2b](./baseplus_RainCloudPlot_Ex2b.png) + +**EXAMPLE 3.** Rain Cloud plot with formated 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 = 2*rannor(123)/system - 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=380 + , catAxisValueAttrs=Color=Green weight=bold + , VSCALE=percent + , cleanTempData=0 + , y2axisLevels=5 + , y2axisFormat=words20.-L + , VSCALEmax=60 + , codePreview=1 + , y2axisValueAttrs=Color=Grey size=10px + , y2axisLines=1 + , xLabels="variable X" + , title = %nrstr(title1; + title2 JUSTIFY=L "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + title3 JUSTIFY=C "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + title4 JUSTIFY=R "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + ) + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 3](./baseplus_RainCloudPlot_Ex3.png) + + +**EXAMPLE 4.** Rain Cloud plot for `sashelp.cars` dataset + with groups by Drive Train for Weight (LBS) + variable ploted "vertically": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + %RainCloudPlot( + sashelp.cars + , DriveTrain + , Weight + , HeightPX=400 + , colorslist=Red Green Blue + , y2axisLevels=5 + , catLabels=("DriveTrain") + , xLabels="Weight (LBS)" + , xLabelAttrs=size=12 color=Black weight=bold + , y2axisLines=1 + , vscale=percent + , vscalemax=50 + , vertical = 1 + , title = %nrstr(title1 J=C HEIGHT=3 "The VERTICAL plotting is cool, ...";) + , footnote = %nrstr(footnote1 J=L HEIGHT=2 "... isn't it?";) + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 4](./baseplus_RainCloudPlot_Ex4.png) + +--- + + +--- + +## `%repeattxt()` macro ###### + +## >>> `%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() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%splitdsintoblocks()` macro ###### + +## >>> `%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 ###### + +## >>> `%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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%symdelglobal()` macro ###### + +## >>> `%symdelGlobal()` macro: <<< ####################### + +The `%symdelGlobal()` macro deletes all global macro variables +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 macro variable `________________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 macro variables, 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 macro variables 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_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + + +--- + +## `%unziparch()` macro ###### + +## >>> `%unzipArch()` macro: <<< ####################### + +The unzipArch() macro allows to unzip content of a ZIP archive. +Macro is OS-independent, the `XCMD` option is not required. + +The `dlCreateDir` option is used under the hood. + +Content of unzipped archive can be listed in the log. + +Source files can be deleted after decompression. +Errors of decompression and are reported. If any occur +the deletion is suspended. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unzipArch( + archName + <,path=> + <,pathRef=> + <,target=> + <,targetRef=> + <,list=> + <,clean=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `archName` - *Required*, name of the ZIP archive to be extracted. + Name should be full, i.e., with the extension! + +* `path=` - *Optional*, a path pointing to zipped file location. + The path should be provided unquoted. + Default value is `WORK` location. + +* `pathRef=` - *Optional*, a fileref to path pointing to zipped file location. + The `path`, if not null, has precedense over the `pathRef`. + +* `target=` - *Optional*, a path pointing to target location where + files will be extracted. + The path should be provided unquoted. + Default value is `WORK` location. + +* `target=` - *Optional*, a fileref to path pointing to target location where + files will be extracted. + The `target`, if not null, has precedense over the `targetRef`. + +* `list = 0` - *Optional*, default value is `0`, + indicates if zip content should be listed in the log. + `1` means *yes*, `0` means *no*. + +* `clean = 0` - *Optional*, default value is `0`, + indicates if zip file should be deleted after unzipping. + `1` means *yes*, `0` means *no*. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Unzip compressed archive. Example requires the `basePlus` package. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +filename arch ZIP "%workPath()/testArch.zip"; + +data _null_; + file arch(abc/test1.txt); + put "text for test file 1"; +data _null_; + file arch(abc/subdir/test2.txt); + put "text for test file 2"; +data _null_; + file arch(abc/subdir/test3.txt); + put "text for test file 3"; +run; + +%unzipArch( + testArch.zip +, path = %workPath() +, target = %workPath() +, list=1 +); + + + +filename pR "%workPath()"; + +%unzipArch( + testArch.zip +, pathRef = pR +, targetRef = pR +, clean=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%unziplibrary()` macro ###### + +## >>> `%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. + The path should be unquoted, e.g. `%unzipLibrary(/some/dir, ...)`. + +* `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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `%ziparch()` macro ###### + +## >>> `%zipArch()` macro: <<< ####################### + +The zipArch() macro allows to ZIP content of a directory. +Macro is OS-independent, the `XCMD` option is not required. + +Content of zipped archive can be listed in the log. + +Errors of decompression and are reported. + +Macro **does not** include hidden files. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipArch( + archName + ,path = + <,pathRef=> + <,target=> + <,targetRef=> + <,list=> + <,overwrite=> + <,dropList=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `archName` - *Required*, name of the archive to be generated. + Name should be full, i.e., with the extension! + +2. `path=` - *Required/Optional*, location of a directory to ZIP. + The path should be provided unquoted. + Has priority over the `pathRef` parameter. + +* `pathRef=` - *Required/Optional*, fileref to location of a directory to ZIP. + The reference **has** to be pointing to single directory. + If provided with `path` - the `path` takes + priority over the `pathRef` parameter. + +* `target=` - *Optional*, a path pointing to target location where + the archive will be generated. + The path should be provided unquoted. + Default value is `WORK` location. + Has priority over the `targetRef` parameter. + +* `targetRef=` - *Optional*, fileref to a path pointing to target location + where the archive will be generated. + The reference **has** to be pointing to single directory. + If provided with `target` - the `target` takes + priority over the `targetRef` parameter. + +* `list = 0` - *Optional*, default value is `0`, + indicates if zip content should be listed in the log. + `1` means *yes*, `0` means *no*. + +* `overwrite = 0` - *Optional*, default value is `0`, + indicates if existing archive file should be overwritten. + `1` means *yes*, `0` means *no*. + +* `overwrite = 1` - *Technical*, default value is `1`, + indicates if the "to-be-zipped-files-list" + data set should be deleted. + `1` means *yes*, `0` means *no*. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Zip a directory . Example requires the `basePlus` package. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlCreateDir; +libname arch1 "%workPath()/testArch1"; +libname arch2 "%workPath()/testArch2"; + +filename arch1 "%workPath()/testArch1"; + +data _null_; + file arch1(test1.txt); + put "text for test file 1"; +data _null_; + file arch1(test2.txt); + put "text for test file 2"; +data _null_; + file arch1(test3.txt); + put "text for test file 3"; +run; + +data arch1.class(index=(name)); + set sashelp.class; +run; +data arch1.cars(index=(model)); + set sashelp.cars; +run; + + + +%zipArch( + archName1.zip +, path = %workPath()/testArch1 +, list = 1 +, overwrite = 1 + +) + +%zipArch( + archName2.zip +, pathRef = arch1 +, target = %workPath()/testArch2 +, list = 1 +, overwrite = 1 +) + + +%unzipArch( + archName2.zip +, path = %workPath()/testArch2 +, target = %workPath()/testArch2 +, clean=1 +, list=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%zipevalf()` macro ###### + +## >>> `%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 macro variables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ziplibrary()` macro ###### + +## >>> `%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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `$bool.` format/informat ###### + +## >>> `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/informat ###### + +## >>> `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/informat ###### + +## >>> `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/informat ###### + +## >>> `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/informat ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `bracketsc()` function ###### + +## >>> `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 ###### + +## >>> `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. + +--- + +--- + +## `catxfc()` function ###### + +## >>> `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 ###### + +## >>> `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 ###### + +## >>> `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 ###### + +## >>> `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 ###### + +## >>> `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))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `semicolonc()` function ###### + +## >>> `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 ###### + +## >>> `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. + +--- + + +--- + +## `$bpklenght.` format/informat ###### + +## >>> `bpklength` format/informat: <<< ####################### + +The **bpklength** format and informats uses the `klength()` function +to count the number of letters in a word. For empty string returns 0. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** Informats and format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.count_letters; + input x $ 32.; + n = input (x, bpklength.); + c = input (x, $bpklength.); + format x $bpklength.; +cards; +ż +żó +żół +żółć +a +ab +abc +abcd +空 +空手 +空手道 +1 +12 +123 +1234 +12345 +123456 +1234567 +12345678 +123456789 +1234567890 +; +run; +proc print data=work.count_letters; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 2.** Format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + length x $ 32767; + do i = 32767/3 to 0 by -1111, 10 to 0 by -1; + x=repeat("空",i); + put x $bpklength.; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$bplenght.` format/informat ###### + +## >>> `bplength` format/informat: <<< ####################### + +The **bplength** format and informats use the `lengthn()` function +to count the number of bytes in a word. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** Informats and format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.count_bytes; + input x $ 32.; + n = input (x, bplength.); + c = input (x, $bplength.); + format x $bplength.; +cards; +ż +żó +żół +żółć +a +ab +abc +abcd +空 +空手 +空手道 +1 +12 +123 +1234 +12345 +123456 +1234567 +12345678 +123456789 +1234567890 +; +run; +proc print data=work.count_bytes; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 2.** Format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + length x $ 32767; + do i = 32767/3 to 0 by -1111, 10 to 0 by -1; + x=repeat("空",i); + put x $bplength.; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$brackets.` format/informat ###### + +## >>> `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/informat ###### + +## >>> `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; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `qsortincbyprocproto()` proto ###### + +## >>> `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 ###### + +## >>> `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 ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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()` function ###### + +## >>> `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. + +--- + + +--- + +## `%date()` macro ###### + +## >>> `%date()` macro: <<< ####################### + +The date() macro function is a "lazy typer" wrapping up `%sysfunc(date())`. + +See examples below for the details. + +The `%date()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%date() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `date()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `date()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %date(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `date()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %date(date11.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%datetime()` macro ###### + +## >>> `%datetime()` macro: <<< ####################### + +The datetime() macro function is a "lazy typer" wrapping up `%sysfunc(datetime())`. + +See examples below for the details. + +The `%datetime()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%datetime() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `datetime()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `datetime()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %datetime(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Get value of `datetime()` as "long" and "short" ISO-8601: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %datetime(e8601dt.); + %put %datetime(b8601dt.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Get value of `datetime()` with user defined format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + proc format; + picture myCrazyDT (default=50) + other='%0Ssec. %0Mmin. %0Hhour %0dday %0mmonth %Yyear' (datatype=datetime) + ; + run; + + %put %datetime(myCrazyDT.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%downloadfilesto()` macro ###### + +## >>> `%downloadFilesTo()` macro: <<< ####################### + +The downloadFilesTo() macro copy files (in binary mode +using `filename()` function with options `lrecl=1 recfm=n`) +from list provided by user to a directory indicated +in the macro call. + +Macro can be executed in two possible ways: +1) by providing list of files to download in a `datalines4`(`cards4`) list + directly after macro call: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo() + datalines4; + + + ... + + ;;;; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2) by create a dataset with a list of links and use of `DS=`, `DSvar=`, + and `DSout=` parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo( + , DS= + , DSvar= + , DSout= + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%downloadFilesTo()` macro **does not** execute as a pure macro code. + +Temporary dataset `work.______locationInfoData` is generated during processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo( + target + <,DS=> + <,DSvar=link> + <,DSout=scan(link,-1,"/\")> + <,inDev=URL> + <,outDev=DISK> + <,inOptions=> + <,outOptions=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `target ` - *Required*, a path to target directory. + If empty the `WORK` location is used. + +*. `DS= ` - *Optional*, name of data set with list + of files to download. + +*. `DSvar= ` - *Optional*, name of variable in data set + with list of files to download. + +*. `DSout=` - *Optional*, name of variable in data set + with list of names for to downloaded files. + Default value is: `scan(link,-1,"/\")` it is + an expression to cut last part of the link. + +*. `inDev=` - *Optional*, type of device used by the + `filename()` function to access incoming files. + Default value is `URL`. + +*. `outDev=` - *Optional*, type of device used by the + `filename()` function to access outgoing files. + Default value is `DISK`. + +*. `inOptions=` - *Optional*, list of additional options for the + `filename()` function to access incoming files. + Default value is empty. + +*. `outOptions=` - *Optional*, list of additional options for the + `filename()` function to access outgoing files. + Default value is empty. + + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Download data from web with direct list and then copy between directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; + +%downloadFilesTo(~/directoryB,inDev=DISK) +datalines4; +~/directoryA/WUSS-2023-Paper-189.pdf +~/directoryA/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Download data from web using data set with list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +data listOfFiles; +infile cards; +input files :$1024.; +cards4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-201.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-109.pdf +;;;; +run; + +%downloadFilesTo(R:\directoryC, DS=listOfFiles, DSvar=files) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%expanddatasetslist()` macro ###### + +## >>> `%expandDataSetsList()` macro: <<< ####################### + +The `%expandDataSetsList()` macro is dedicated to "lazy typers". + +It allows to expand data set names provides in form of a SAS list for a given library. + +See examples below for the details. + +The `%expandDataSetsList()` macro works as pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%expandDataSetsList( + lib + ,datasets + <,quote=> + <,views=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, is a name of a library + where data sets are looked-up. + +2. `datasets` - *Required*, is a list of data sets or views + to be expanded. Can be named list (e.g. `x_:`), + can be enumerated list (e.g. `y_1-y_5`), or both. + Also the `_ALL_` value is accepted. + +*. `quote` - *Optional*, binary indicator (default `0` means "no"). + Tells if data set names should be quoted. + +*. `views` - *Optional*, binary indicator (default `1` means "yes"). + Tells if views names should be listed too. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 0.** Create data sets for tests: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data x_a x_b x_c x_d x_e x_f; + x=17; +run; +data y1 y2 y3 y4 y9 y10 y11 y12; + y=42; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Display names of listed datasets, handle not existing too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 y9)#; + +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 notExist_1-notExist_10)#; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Display one and all datasets from `WORK`, names quoted: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT %expandDataSetsList(lib=work,datasets=_ALL_, quote=1); + +%PUT %expandDataSetsList(lib=work,datasets=x_a, quote=1); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** In tandem with the `resolve()` function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + test=resolve('%expandDataSetsList(lib=work,datasets=x_:, quote=1)'); + put test / test hex72.; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Workaround for `proc delete` not working with colon operator, + observe a warning info for `x_:` list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +proc delete lib=work data=%expandDataSetsList(lib=work,datasets=x_:) +; +run; + +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 y9)#; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Including and excluding views: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT %expandDataSetsList(lib=sashelp,datasets=_ALL_); + +%PUT %expandDataSetsList(lib=sashelp,datasets=_ALL_,views=0); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%filepath()` macro ###### + +## >>> `%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); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%finddswithvarval()` macro ###### + +## >>> `%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) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%fmt()` macro ###### + +## >>> `%fmt()` macro: <<< ####################### + +The fmt() macro function returns a `value` formatted by a `format`, +it is a wrapper to `putN()` and `putC()` functions. + +See examples below for the details. + +The `%fmt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%fmt( + value + ,format + ,align + <,type=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `value` - *Required*, a value to be formatted. + +2. `format` - *Required*, a name of a format to be used, + character format should be preceded by the `$`. + +3. `align` - *Optional*, allows to use the `-L`, `-R` and `-C` modifiers. + +* `type=n` - *Optional*, defines type of the format. If the format + name is preceded by the `$` then C is set automatically. + If the character format name is without `$` then set + value to `C` yourself. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Formatting values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %fmt(111, 7.2); + + %put %fmt(111, dollar10.2); + + %put %fmt(abc, $upcase.); + + %put %fmt(12345, date9.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Align values (compare different results!): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%fmt(ABC, $char9., -L)*; + %put *%fmt(ABC, $char9., -R)*; + %put *%fmt(ABC, $char9., -C)*; + + %put %fmt(ABC, $char9., -L); + %put %fmt(ABC, $char9., -R); + %put %fmt(ABC, $char9., -C); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%generateoneliners()` macro ###### + +## >>> `%GenerateOneLiners()` macro: <<< ####################### + +The `%GenerateOneLiners()` macro is a "macro-generator" dedicated +to "lazy typers". + +It allows to generate macro wrappers for functions +that have the following form: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%macro FUNCTION()/parmbuff; +%sysfunc(FUNCTION&syspbuff) +%mend FUNCTION; + +%macro qFUNCTION()/parmbuff; +%qsysfunc(FUNCTION&syspbuff) +%mend qFUNCTION; +~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%GenerateOneLiners()` macro is not pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + <,listOfFunctions=> + <,prefix=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `listOfFunctions` - *Required*, is a space separated list of + valid SAS functions. Default value is: + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`. + +2. `prefix` - *Optional*, a prefix added to the name + of a created macro. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create list of macrofunctions for + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_) + +%let a = 1,2,3,4,5,6; +%put %_CATX(%str( ),&a.); +%put %_CATQ(2A,&a.); +%put %_QCATQ(1AMD,%str(,),&a.); + +%let x=a 1 b 2 c 3 d 4 e 5 f 6 g; +%put %_COMPRESS(&x.); +%put %_COMPRESS(&x.,,ka); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Create list of macrofunctions for + `SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + listOfFunctions=SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS +, prefix=_) + +%put +%_SUM(1,2,3,4,5,6) +%_MEAN(1,2,3,4,5,6) +%_MEDIAN(1,2,3,4,5,6) +%_VAR(1,2,3,4,5,6) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Some other lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_ +, listOfFunctions=CDF PDF RAND QUANTILE SQUANTILE SDF logCDF logPDF logSDF RMS +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YEAR QTR MONTH WEEK DAY HOUR MINUTE SECOND +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PCTL1 PCTL2 PCTL3 PCTL4 PCTL5 PCTL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YYQ MDY HMS INTCK INTNX SLEEP +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=WHICHC WHICHN +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=SYMEXIST SYMGLOBL SYMLOCAL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PRXCHANGE PRXMATCH PRXPAREN PRXPARSE +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=MD5 SHA256 HASHING +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%gettitle()` macro ###### + +## >>> `%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=[]) ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%iffunc()` macro ###### + +## >>> `%iffunc()` macro: <<< ####################### + +The iffunc() macro function is a "lazy typer" wrapping up conditional execution. + +Instead typing: +~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = 1; + +%if (1=&x.) %then + %do; + %let test = TRUE; + %end; +%else + %do; + %let test = FALSE; + %end; + +%put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~ + +you can make it: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = 1; + +%let test = %iffunc((1=&x.),TRUE,FALSE); + +%put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~ + +The `%iffunc()` macro ca be nested in open code +in contrary to standard `%IF-%THEN-%ELSE`. + +The `minoperator` option is used to handle `IN` operator, +but the `IN` operator in the condition *has* to be surrounded +by spaces, e.g. `&x. in (1 2 3)`. +Condition of the form `&x. in(1 2 3)` (no space after `in`) will +result with an error. + +See examples below for the details. + +The `%iffunc()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%iffunc( + cond + ,true + ,false + <,v=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `cond` - *Required*, is a condition to be evaluated. + It **has** to be provided in brackets, + e.g., `(1=&x.)` or `(%scan(&x.,1)=A)`. + +2. `true` - *Required*, value returned when condition is true. + +3. `false` - *Required*, value returned when condition is false. + +4 `v=` - *Optional*, v for verbose. If set to `1` extra notes + are printed. +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple test: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = 1; + %let test = %iffunc((&x.=1),True,False); + %put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Verbose with `v=` in the `%put` statement: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %iffunc((TRUE=true),TRUE,FALSE,v=1); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Condition can be with decimals or text: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put True: %iffunc((9.9<10),TRUE,FALSE); + + %put False: %iffunc((A>B),TRUE,FALSE); + + %put True: %iffunc((1=1.0),TRUE,FALSE); + + %put False: %iffunc((1/3 = 0.5),TRUE,FALSE); + + %put True: %iffunc((.1+.1+.1+.1+.1+.1+.1+.1+.1+.1 = 1),TRUE,FALSE); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Macro-Functions works too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = A B C; + %put %iffunc((%scan(&x.,1)=A),Starts with "A"., Does not start with "A".); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Simple nesting (in open code): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x=0; + %let y=0; + + %put + %iffunc((&x.) + ,It is X. + ,%iffunc((&y.) + ,It is Y. + ,It is Z. + ,v=1) + ,v=1) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Special characters have to be masked: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %iffunc(1,%str(,),%str(;)); + %put %iffunc(0,%str(,),%str(;)); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** If you want to call macros there is a price. + The `%nrstr()` and `%unquote()` are required: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %macro doX(a,b); + %put >>> &a. &b; + data do_X; + set sashelp.class; + run; + %mend; + %macro doY(a,b); + %put ### &a. &b; + data do_Y; + set sashelp.cars; + run; + %mend; + %macro doZ(a,b); + %put @@@ &a. &b; + data do_Z; + set sashelp.iris; + run; + %mend; + + %let x=0; + %let y=0; + + %unquote( + %iffunc((&x.) + ,%nrstr(%doX(1,2)) + ,%iffunc((&y.) + ,%nrstr(%doY(3,4)) + ,%nrstr(%doZ(5,6)) + ,v=1) + ,v=1) + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Traffic lights with `NOTE:` and `ERROR:`, + Remember to handle the `IN` operator with an extra care. + Spaces are required around the `IN` operator. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = A; + %put %iffunc((&x. IN (A B C)),NOTE:,ERROR:) x=%superq(x); + + %let x = 7; + %put %iffunc((&x. IN (1 3 5)),NOTE:,ERROR:) x=%superq(x); + + %let x = 1.1; + %put %iffunc((&x. IN (1.1 2.1 3.1)),NOTE:,ERROR:) x=%superq(x); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Mixing `IN` operator with non-integer evaluation + requires `%sysevalf()` function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = Y; + %let y = 9.9; + + %put THIS will be False: %iffunc((&x. in (y Y) AND &y.<10),TRUE,FALSE); + + %put THIS will be True: %iffunc((&x. in (y Y) AND %sysevalf(&y.<10)),TRUE,FALSE); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%infmt()` macro ###### + +## >>> `%infmt()` macro: <<< ####################### + +The infmt() macro function returns a `value` read in by an `informat`, +it is a wrapper to `inputN()` and `inputC()` functions. + +See examples below for the details. + +The `%infmt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%infmt( + value + ,informat + <,type=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `value` - *Required*, a value to be formatted. + +2. `informat` - *Required*, a name of a format to be used, + character format should be preceded by the `$`. + +* `type=n` - *Optional*, defines type of the informat. If the informat + name is preceded by the `$` then C is set automatically. + If the character format name is without `$` then set + value to `C` yourself. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Informatting values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %infmt(111, 7.2); + %put %infmt(111.234, 7.2); + + %put %infmt($111, dollar10.2); + %put %infmt($111.234, dollar10.2); + + %put %infmt(abc, $upcase.); + + %put %infmt(12mar45, date9.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%letters()` macro ###### + +## >>> `%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=''); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%libpath()` macro ###### + +## >>> `%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); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%minclude()` macro ###### + +## >>> `%mInclude()` macro: <<< ####################### + +The mInclude() macro is a macrolanguage version of the SAS `%include` statement. +But it allows for "embedding any code anywhere into SAS programs". + +Macro was inspired by *Leonid Batkhan* and his blog post: + +"Embedding any code anywhere into SAS programs" from May 30, 2023. + +Link: `https://blogs.sas.com/content/sgf/2023/05/30/embedding-any-code-anywhere-into-sas-programs/` + +The implementation presented, in contrary to inspiration source, is +based on the `doSubL()` function and a list of global +macro variables of the form `______` (six underscores and a number). + +See examples below for the details. + +The `%mInclude()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%mInclude( + < f> + <,source=> + <,lrecl=> + <,symdel=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `f` - *Required*, a SAS `fileref` or a **quoted** path + to the included file. + +*. `source=0` - *Optional*, default value is `0`. + Set to `1` if the source should be printed in the log. + +*. `lrecl=32767` - *Optional*, default value is `32767`. + Sets the `lrecl` value for the file width. + +*. `symdel=1` - *Optional*, default value is `1`. + Indicates if the global macro variables + `______1` to `______N` should be deleted + when the macro ends. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Embedding text in statements (the `%include` won't work here): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f "%workpath()/testFile1.txt"; + filename f list; + + data _null_; + file f; + put "13 14 15"; + run; + + resetline; + data testDataset; + set sashelp.class; + where age in ( %mInclude(f) ); + run; + + data testDataset2; + set sashelp.class; + where age in ( %mInclude(f,source=1) ); + run; + + filename f clear; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Embedding with direct path (mind those quotes!): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f "%workpath()/testFile2.txt"; + filename f list; + + %let someGlobalMacroVariable=17; + + data _null_; + file f; + put "options mprint;"; + do i=1 to 3; + put "data y; x = " i "; run;"; + put '%macro A' i +(-1) '(); %put ' i ' ** &someGlobalMacroVariable.; %mend; %A' i +(-1) '()'; + end; + put "options nomprint;"; + run; + + resetline; + %mInclude("%workpath()/testFile2.txt") + + %mInclude("%workpath()/testFile2.txt",source=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Embedding SQL code inside the pass through execution: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f2 "%workpath()/testSql.txt"; + + data _null_; + file f2; + input; + put _infile_; + cards4; + select + c2.make + , c2.model + , c2.type + , c2.invoice + , c2.date + + from + public.CARS_EU c2 + + where + c2.cylinders > 4 + and + c2.date > '2023-04-02' + ;;;; + run; + + + title 'the %include fails'; + proc sql; + connect to POSTGRES as PSGDB ( + server="127.0.0.1" + port=5432 + user="user" + password="password" + database="DB" + ); + + select * from connection to PSGDB + ( + %Include f2 / source2; + ) + ; + + disconnect from PSGDB; + quit; + + title 'the %mInclude works'; + proc sql; + connect to POSTGRES as PSGDB ( + server="127.0.0.1" + port=5432 + user="user" + password="password" + database="DB" + ); + + + select * from connection to PSGDB + ( + %mInclude(f2, source=1) + ) + ; + + disconnect from PSGDB; + quit; + + title; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** In a limited way and with help of the `resolve()` function, + it even works with IML's interface to R: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +resetline; +filename f3 TEMP; + +data _null_; + file f3; + infile cards4; + input; + put _infile_ ';'; %* a "semicolon" trick for R statements separation *; +cards4; +rModel <- lm(Weight ~ Height, data=Class, na.action="na.exclude") +print (rModel$call) +print (rModel) +;;;; +run; + + +proc iml; + codeText = resolve(' %mInclude(f3, source=1) '); + print codeText; + + call ExportDataSetToR("Sashelp.Class", "Class" ); + submit codeText / R; + &codeText + endsubmit; +quit; + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%monthshift()` macro ###### + +## >>> `%monthShift()` macro: <<< ####################### + +The monthShift() macro is a utility macro +which allows to shift "year-month" period by +a given number of "periods" (months). + +The result is in the `YYYYMM` format but can be altered. + +See examples below for the details. + +The `%monthShift()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%monthShift( + < Y> + <,M> + <,shift> + <,ofmt=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `Y` - *Optional*, a year from which counting starts. + If null the value is set to *system year*. + +2. `M` - *Optional*, a month from which counting starts. + If null the value is set to `1`. Can be a number + (`1` to `12`) or a name (`June`, `OCTOBER`) or + a three letters short (`JAN`, `apr`). + +3. `shift` - *Optional*, number of periods to shift. + If null the value is set to `0`. + Positive value shifts to the "future", + negative value shifts to the "past", + Can be an expression (e.g. `1+2*3`, see examples). + +* `ofmt=YYMMn6.` - *Optional*, it is a format name used to + display the result. Default value is `YYMMn6.` + See examples. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Shift one up and one down: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put + Past: %monthShift(2023, 1, -1) + Current: %monthShift(2023, 1 ) + Future: %monthShift(2023, 1, +1) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Shift by expression: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let n = 2; + %put + %monthShift(2023, 1, +1 + &n.*3) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Shift with default values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %monthShift(); + %put %monthShift(2023); + %put %monthShift(2023,Jan); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Shift with months names: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put + %monthShift(2023,Jan,-1) + %monthShift(2023,Feb,-2) + %monthShift(2023,Mar,-3) + %monthShift(2023,Apr,-4) + %monthShift(2023,May,-5) + %monthShift(2023,Jun,-6) + %monthShift(2023,Jul,-7) + %monthShift(2023,Aug,-8) + %monthShift(2023,Sep,-9) + %monthShift(2023,Oct,-10) + %monthShift(2023,Nov,-11) + %monthShift(2023,Dec,-12) + ; + + %put + %monthShift(2023,January,12) + %monthShift(2023,February,11) + %monthShift(2023,March,10) + %monthShift(2023,April,9) + %monthShift(2023,May,8) + %monthShift(2023,June,7) + %monthShift(2023,July,6) + %monthShift(2023,August,5) + %monthShift(2023,September,4) + %monthShift(2023,October,3) + %monthShift(2023,November,2) + %monthShift(2023,December,1) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Play with formatting: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put + %monthShift(2023, 1, +1 ) + %monthShift(2023, 1, +1, ofmt=yymm7. ) + %monthShift(2023, 1, +1, ofmt=yymmd7.) + %monthShift(2023, 1, +1, ofmt=yymms7.) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Read monthly data with `noDSNFERR` option: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data + A202210 A202211 A202212 + A202301 A202302 A202303 + A202304 A202305 A202306 + A202307 A202308 A202309 + ; + set sashelp.class; + run; + + + options noDSNFERR; + data ALL; + set + A%monthShift(2023, 9, -12) - A%monthShift(2023, 9) + ; + run; + options DSNFERR; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%replist()` macro ###### + +## >>> `%repList()` macro: <<< ####################### + +The repList() macro function allows to repeat `T` +times elements of a `L` list, possibly `E` times each element, +separated by string `S`. + +See examples below for the details. + +The `%repList()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%repList( + list + <,times=> + <,each=> + <,lenghtOut=> + <,sep=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - *Required*, a list of elements to be repeated. + List can be space or comma-separated. + Elements can be in quotes. + For comma-separated list add brackets + e.g., `%repList((A,B,C,D),times=5)`. + The list separators are: `<{[( ,;)]}>`. + +* `times=` - *Optional*, An integer indicating + the number of repetitions. + By default set to `1`. + + +* `each=` - *Optional*, A list of integers indicating + the number of repetitions of each element of the list + e.g., for a list `A B C` and the `each=2 4` the result + is `A A B B B B C C`. If the number of integers is less + then the length of the list values are recycled from + the beginning. + By default set to `1`. + +* `lenghtOut=` - *Optional*, An integer indicating + after what the number of repetitions process will stop. + By default set to `0` which means "do not stop". + +* `sep=` - *Optional*, it is a separator printed between + repeated elements. Mnemonics for *space* is `s`, + for *comma* is `c`, and for semicolon in `q`. + Default value is a single space. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple repetition of all elements: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList((A,B,C,D), times=3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Simple repetition of each element: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(("A",'B',"C",'D'), each=3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Simple repetition with a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(A10;B20;C30, times=3, each=2, sep=Q); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Recycle elements up to 8 with a comma as a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(1 2 3, lenghtOut=8, sep=c); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 5.** Separate number of repetitions for each element: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put [%repList([D][C][B][A], each = 2 3 5 7, sep=] [)]; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 6.** "ASCII art" butterflies: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put {>%repList(! $ |, times = 2, each =2 1, sep=<} ... {>)<}; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Data repeating: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data A; + x=17; +data B; + x=42; +data C; + x=303; +run; + +data Times2_A10B11C12; + set + %repList(A B C, times = 2, each =10 11 12) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + + +--- + +## `%time()` macro ###### + +## >>> `%time()` macro: <<< ####################### + +The time() macro function is a "lazy typer" wrapping up `%sysfunc(time())`. + +See examples below for the details. + +The `%time()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%time() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `time()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `time()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %time(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `time()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %time(time8.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%today()` macro ###### + +## >>> `%today()` macro: <<< ####################### + +The today() macro function is a "lazy typer" wrapping up `%sysfunc(today())`. + +See examples below for the details. + +The `%today()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%today() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `today()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `today()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %today(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `today()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %today(yymmdd10.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%translate()` macro ###### + +## >>> `%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 ###### + +## >>> `%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); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%unifyvarscasesize()` macro ###### + +## >>> `%unifyVarsCaseSize()` macro: <<< ####################### + +The `%unifyVarsCaseSize()` macro converts *all* variables names into low-case or +upcase letters for given library and list of datasets. Only necessary conversion is +done, i.e., variable `abc` will not be converted to low-case letters. + +See examples below for the details. + +The `%unifyVarsCaseSize()` macro works as pure macro code. + +[NOTE:] The macro internally uses the `%expandDataSetsList()` macro. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize( + lib + ,ds + <,case=> + <,debug=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, is a name of a library + where data sets are looked-up. + +2. `ds` - *Required*, is a list of data sets + to be expanded. Can be named list (e.g. `x_:`), + can be enumerated list (e.g. `y_1-y_5`), or both. + Also the `_ALL_` value is accepted. + +*. `case` - *Optional*, single letter indicator (default `L` means "low-case"). + Tells if variables names should low-cased (`l`,`L`) or upcased ("u", "U"). + +*. `debug` - *Optional*, binary indicator (default `0` means "no"). + Tells if processing notes should be printed. +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 0.** Create data sets for tests: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data aclass1 aclass2 aclass3 bclass4 bclass5 bclass6; + set sashelp.class(obs=6); + Nn=_N_; + if 1=_N_ then output aclass1; + if 2=_N_ then output aclass2; + if 3=_N_ then output aclass3; + if 4=_N_ then output bclass4; + if 5=_N_ then output bclass5; + if 6=_N_ then output bclass6; +run; +proc print data=aclass1; +run; +proc print data=bclass6; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Convert all variables names to low-case: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,aclass:) + +proc print data=aclass1; +proc print data=aclass2; +proc print data=aclass3; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Convert all variables names to upcase: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,bclass4-bclass6,case=U) + +proc print data=bclass4; +proc print data=bclass5; +proc print data=bclass6; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** No conversion done: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.abc; + abc=42; +run; + +%unifyVarsCaseSize(work,abc,debug=1) + +proc print data=abc; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Variables in all data sets in `WORK` converted to upcase: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,_ALL_,case=L) +%unifyVarsCaseSize(work,_ALL_,case=U) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%workpath()` macro ###### + +## >>> `%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"; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + + +--- + +# License ###### + +Copyright (c) 2020 - 2023 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/2.0.1/baseplus.zip b/hist/2.0.1/baseplus.zip new file mode 100644 index 0000000000000000000000000000000000000000..2943a30ef46a0fe8901d73fb2769985b332b96f1 GIT binary patch literal 315046 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

p_n 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

{|P@B8oFot>Q-ZONtQaUDxmsg9+R>@qq=x>H52 z7gnnZ^MJCha-*&1n-R`Y&0n1LiLUr{%$XAB#5LK&3Q=_#i{iXk@Uv5&xwxC3GJcVD zCjKF8XFlbF&Y+CuJ)$>NL7o`G*SlCR{xYo#I&XXr#F>L^dA9X`wO>VF>EW7<3-$qK zMb1B7nJzFtIYiP1BHL6V#bP3{#-o7~+m9x}ZYWa=~$;hUJV1FFnCRf#N!i`KC0 z4O9S`A5cy>X$=IY5fnAT8*_GOnq-^+nM?`1Tq+|@{a}lc`9fQ3=*HM0qo0V6g`v2q zqMy=3Y)St51EF8>kw?N>bJ7C{vSk`%nvo9-u;|{6k!fVz+5@3Il0ytX_Db5NamW!r z!$YG!q|nMlj^Sa&49wF)&1j-<)Bo|wCHEufYnY$Rh*CCLfW!!ka)OGYrc80n{2#Aa zX3|5fLk34KXix!Zz35I1vvK1y6qAJ)oF5>K^Ds0nkt?_CY?~dL zgmZBK-UC9r1cIj5{L|31 zBj;sYP}E^4yNF`uAhwAUySf7~(y^1qxG3zrKrl4NR_n z`U#MWYW6X`_^c!;Vyiz+!5A!)scd4O>LMo*Kq&Fa7#_zmg-g%33UiRqgOr4RbW=ow zgW@c$^mf#j@9=pjH>}~eVu%9pC%=l69cd_DJ_dsng_6#mo*|f>EBG+rGs;b%OEOngE`AqSSz*FhmWD_@0pAmv3CUyd_CX_%*B37N@60c zzeB4(9-nc9rlg1PR2u`|fS<+c)6ST)_?GlDsJHX4-<){(Q^-p4b{Sy-Q!MNmEKLm3 zrGFSMP8Sspk~uU7U90bj)b|(8*tW!vY3A}x(?yKo9Ni7o2BO0JO?;#HfEil=HmaE- zQt%~Ft*I~|9y)Ip4~(gihD7$H-*c!eks^sydlve#S|V?5J4fOT66mgyLgLKlCHamtxd$u*4zuZ;ZztAd6v!>bxtuhC0~L1E zS4F*Gp)HocH8%VEUB2YO-#l!!-qaLq3#uqkr2E#t%B zhHCD;PVJB5DAc^(>ARu)ZW45`gvf{s3F44KBZvxieS~5M55dW;iT7bIg10gOKh5I- z{T5iAFNf8=;t$>~44opmL-W%)JyY{oIlKIc?%g2bk1y|UnCBh-YV%u|q3`+3sS~uF z?ewQTIlH`3v*b*jkzoeo@vMOu%9C5X-rL;#nNKdif!Ai2hFjwfuP*b&gl=P~XT6bv z*G-2M-5oN;9i8iTpn&UK=QkxW_QqYg5Y-*=2Wu4dcS6SrcG=Lp$5(EDz{d%JzUR^- z-O@vKYj3f?m*&iK!LUbx-vh(r2P)q1Im zUiqG>ZlRx!Z{MHI@86%^UM`*i_ddJMm$iS2U720GEZXyTx|@@BIM>HI-I=QBw|KIL z9U?|fk+_IAgY@{YmeSY#;CJ4`V6a zZ{cfAmFrPc>^RNiD3w^MfbC$DL@f#1YQk%Bzz_)07haII(l0!0O_R;9Q@*SC3FN}w zYv@7cY+DRP#L1tq8IXt{aiY}0VshmOUprp1qh{@CB&;wx@8gzaG&=6%hD7$etXi@= z;7)3Ijt;mLSljL7dnQC z!_OLyv2qx2A7-+`7kz_5kM>ObZ?du+|96=V7YE>fwCv>ge|0fX_i{92mUOUp6*qG+ zakg@Fb#VTVs%T_q#w;cB@1WN-b2c@yH)51=HL|rbf%`XUYvDoy;D-B;rKqTbr!FH0 zD;EhPI}1ArD+hpugq4MbRgd|<>_zM?Y|Z|~;Fv{ROw85|_;G56&1J-3L#n)}#2jX!*=(_Qlq z!YRkF2pa!eC|?T)<430|v7bA6@4-ZWDUvH_LW2OO{G3-EXQXA7Zf2q#Imd1|uQr|q zgfJ3~ru5z{EPo_J9R4B}^UJ^`WtgD`aeiCN-j1~{6~rOevb9hF0gPbu`?d*PM%!fN zLv$kB&ficx}K|#RZ$}sv;QFfCu&(aySR#38ab2vbMo>= z|NYO#2FI*rW$J3_qWdp9NC2z=5&%0J2`3LH2|Fk2KU8G@XR?v}7s$g+0$>4<@NlvJ z$LQb5#>GLx&ci{%$;R?eO#J6d!VdTc|HuAcoeRK80$^h&(S!T{!~)5GVnr2>S=~Xy z-s)c_k^F~q|1%5!*T;%b+RjI zDOC^Kd>3SY-bS%~_v`JQd0%;d{kZC8zt81yF+ZNXv%R0(OxLK!Pr_{_L&9~*0MuCa z_y)$Kc%zg4&Fn0b;QFTZMKg5VPkp7wV(7l!3(_K?_(y!34T0;gQqz)Op^2Q>MK)st zBjH}e^?$a)XGg%sO1?!SJt>@0AXb|9cs=&!({1c$+E)4=p~mj#DJM<M3i+tyb<43rA0$eqX{YshIJnbANL;yMFkK7^!sq zR@zCP_cuGjO#7^cQb#6GcLDC|n2gOD4NAolxSgF&jQkXI-+X~ZpZlH>91uB##zx5( z_ZJNJg`w;Pd8R}}R{%1f`QatklR8NBu1JGPu5zZ`9em1(>_u2DZ_e0{5eH+MVQwQvKNLV6PI*C^55yv{z76+D_`Cf8~DT;qB|r{wqm^A?&i}!|)n+ z6LCnaLhQM3?<({Lu~Yh23@UXVjy51%vk3aPHxV^9ML-~)_}r2*G*O(y=nX1b#3ue6 z_G-k6(;!L4XtEu!B#|!kd`|QMgg27@mIe*eoNAORffPB_3GvWd$Xe=sZzIY-O0ds- z&-L#1(CScX*pj153HpsuaDej93bnPBm>4}~vGwm}f={^aV8va651Xc+EbwN*q(5_f z@jH}-I54f>DfnM`zOXw$d$^pL@5xidk}%hg6xY{JxlYvx`Y1j5^CjVc&UY;Ba6n~a zp_gefh1uf z?L(0}>Z|e(wU6skD9?-PSyfj)Z>Udrz8esJRD&q&eK$|^9`v1rggx{ZIkr%F(imX- zrl>vTvz$MTFZKP@$JBu29^iIj=wWDX=o;-?Hl32IIEsa6S?uy!5_vF(PbICfG-Ok}^AOHXty7WR!6edsFPF z!y(57l=i>>FxisWBBoY0cG=Gt_bDcSrF9k~hAPA)tAMiJ0ojq5-Ffbd+=$yAFt_Xk zVHyazJ(^`}z9H*EGXQ7o02K-hm_Gl4{{U;5_j%E+Xbubgk@ub~%a$4&ajo$ysfJ<$ zsP`+ROU{3nVtQzen@ejbZvVVPvMx+_Vr#I~$-$Y}DPVuv`D8EWP(yIQ;+|D-I$_`9 zw)!>VmHCA^G;08Vz@nIr36m>2Z-3|4*Sw)sFo#N2Mw`rgY5UO{3$KCb`|N%93BMq) z_C(V0eU|W7?sLjc^3H%~e%P^-32dx-6TAb}$^lX`{ZDcvvXC2Y*X#rl-ClY3#AZ_z zF06$9lsU3_=CqvC{etkq@Bmo1TjsvbPb}viNsa^jvG!uzRul26qRAb{Qr}!3aKApk zV9GDl2hw_D<|{HKXLLi1k7Qy7c`21E(g%2Z${wOia&i>a8KABaLBgOCxPE5v#Er*K zG$&Jn*kZb?nN#zY%nwkve*W#)tKs_>$WtWs_?05&S#%b9xG*#0q|=f5Br1P+r+p;x zm-5}qDkr962<-L1iw@`^2jIIUC+~FismYag#i!F9ygfsJPG%_f0K#t~J8}Ayi#Z)5 z-fy2S5GPN(@dG6=ciqvnTNM}wh#EF@$94bAEoe|=guM~bSY*lRBNnDIuy9Y1o@dbf zT_Xt2eu7@GhE)fZ2<|Y~V#r`j@MV$60CHB?DQUr=DgoJ^IRDcZrdpV2v3UrpJ9HCk9YAmXH$ z3k&4HtP}TVN9|soZ+cdWB-v=!1~{p*3klmq=y7IsszJXutr2o~%_3F!UXrs#z^kFv zH8fK*9_bm+Hp;p6)qf-sPfSb!I@2Lb6uBRPh988_QM- zvjvCWA_=-LS8oWq(PuKb33oRlP8QGX^bm+9b}tdyKnUUnz~5kY2KK!1^J^0<@jJ}- z(ovfu#N2)4&l_@$;;ajdTckKaEx{_La+-~ipO8inNVZYIpHV1u3svoca`(vBKX?YM z5Z8Zqp(5U|Q_1HF8hf(f)n2G=hDS_IWi5m|hqtZmGr;1FL|dUpw93@rbVv0d{!!Rb z^EI7VRz#f2BIKHx$Xa1>@y1_KmYQf7E!y0(+qO}9W%?<49B;J1_1J@d*cN-kdG_Eu zk*?sqF&(wwvlFMsA2bW;Z)d6tB&41~J-M&aYegkQfq3=ZgoSzNOPHxD?y9_UHZy-zySeYB8H% z@AemaHt;Q1x+R**w_X*{)Wu`b^#+d{YgT&5|qFjW?|6wghqH3+_-ITJgN42aw@_^5_M0bC;14k{?@r zi(~vc_+?Si|B0}PmC%lfIY&x{7$O+Pi)6l%<`=!L7WX@x1r3{0Ff<( zS4!xsTOM@WC!u>WbXI9YI0f5AUP7V2B5A(BC&lKmsdkpPJeik2YH`vhePzhd)Tt2v z_+gtp%459O2l)F+Y|mA8m5`OoZoVIT_7=(5ykN&?J}#kE`3~-VRayi%X*m0t_=^!!_cW31L~RuleKI1>W`aVsT+OKH<&cPhm~UZ^nWqs43d!95t* zuqJk4DVA)cR`z@)0H8d7>$4=uWc>|>*(01CvtIJVf5U>(eb4K0*hO0CB7Kse{CYto z%>(-j4qXw)h^ezmM-%F}I?Xu1E!7*cJ;^5_Wx3+o<+?g|HH+Wmg#nALRd{vW0X6@) zHytuc8E(Lv)1o@aX0z89|L4Mg+ zV8IJN9*cDPI$g@=`ki&w0d_7!vK`2@`WK4gmjS{KWOP4l_))i3D^ zkmxJ?++{TE8MKD%Wq;Kg6n`I>Sct!wpEGC68miRKD2sY{x1e?<@|G(A{+ntbzH9&;pqZDrh*Zc1nmCEl_Lt>vSCU=+}VQp$B1$FC31$ z4s=*rO+|}(*zt7{C2eSWF^Wzb+q951SZrAH8KA}h_jawb~wz6)- zUCOO@-pD2nq+Xj50FO$koeG(S&bdt>ja?sQO;IvN|!b^1i+x6^a+}v5~d3)nME}PqH!(7$x3j8!r z7X-3v5?RvyA)B>gD2kKlcVg`i zI-g9N0CGvbc?pN46!ol3A4!(En7~x{k7m+2Q{%=HKFa{o^?;hs#IfU)$>VwM(TbAp z^#lM(OS)!&IVOj;on1!vpY?p}R_kBgZ9wnOIseiMf6Tgwy|b&G-mXddVdo|Z8P^R5 zFIPvk%QP)SB3{>7jXD-$AJd~!@PbKV4L%=@=M9YJBdTx3=+O5h?9V+ARnWb|A-Yv* z95CT(VshKIicB#gg{TenIdJgBGP4p}Tc^V;C)H#r8gg?vdXNa)3{Q%)c|~C=sbA>H zG;UPAMs^^5xZ%#UtlvqG!s-1$G&e{5RREUZsG!DjU@E7~$LZ0bST0(o*y%tA`%^VPKN>w~ez8#_-U zNp*JbvU%j9xolTE9SYd>QT$CK0Kacl*gWXd(<$tC)<07khe2ftLEi5TK%d%67}P`a zFi7)QCFgEu?#W%sjwWZUGyycmYKE;1qE>({hD}?vdjYtU31&E-CXC@T7;H>TtYT$N z92zwWf;RFsZ1kxXClGi)`_zSHRKgYs@gzV5&B7*VC>Dy|!{acm7pqI8ppm8(FFPTR zefBs3%{1J_%QuEY!SwFsOJNqaP76`C13@RwMw;Z&Et5EY8n5s+r;dk$TU0mR2$8#I zwH3S=*3pw?7PKjuN^wux;jX1N=HyuP4+dyUYwab&PMjWo!!eA8g?R>TIpgBUW^YikM%Rv7h@Hj02mHcnfi(rA~cc+xU`L8BY%*_1l zYHY|q_?_oEo!@wzBw#p%Mu} zOwhubL>Ff~x|lz9dGUAOd7$3j!@{{opu$6`c+KCa!|({?z!8gVhHN%1fZ7G&{Hx}- z-qfDvKAN7~N@Hz$8yqR_wv80v(EqIg`k!h;`!I6IdJw^a2;XYyZ3k0D{x zFghFnGeFG0AO_9;4YLoj{wfkVkh)-~vN!j}n5cm70Upd!RD#=7n~vlpU3JtX>(X1{ za<^y^3gR42Qb1IVD~>cNK#$+H?qv{Dqvz!}ku?GFhM#pV)aozS#AfXlabnal=z_i8Ge-WgUk$hvOT^S~l3S;JAB7!1N75djgN87rKEtihM4XWA ziT-*5VJuT`xyh3+rVlpm0n6 zeTqqS(_}^-!v{`H1!M)^++h2O1gYt7u)rFmw!7nJoKg82q*u0{a_O3gEty1ONGu67 z?QuCSw3R=R__)j64Qyz8NnWJ5G9w=HOSoXlux0p2S^dayU6u+G^3=QW+n(`*nA!dM z_;HI6S3SBxGnZ_oqwi*x{+P1{Vk|_hmi!7NxBiZRz4*b+j8>hjlT9n9Nh?$B#Fbep zl|oUic?SD2+eXN$krOm)>G}92iKULPDxQqvce0625-G z%UL%MJ9Pbv)#!s)Mm_P^=oJx{&GbV^=d;I2N&#aQ=grk<=QZW!%1`#aAimC>^3*D< z-<1L^`m#LrPJ{)Q<3trd%MfPr(zi0Z6+6V%65m7bv-YuhV)hYVx=Kx=cOKzH*wRpH z5vqH#?&QtNco#Sp_!pX_^?xy_VrOAxVQcdm6TY^6{IK`8H~QYhwa&BBx78PsQ z#5+DB@CeP++<^)lA1nAZgXJAsk#88t^YQK1KPEiS++9BrKgR$9hI%)@qY4sU+Fzr- zGgz=T10is)SbuVKgd@sx_=2H_a>~;%tzX=!|8hjT0pdL8Wwlbon1*elDOHOQgYCKi zQfUmi&y@GY{1lQvkPhDv%j=6{1@%Rxx^^<|&N3f-PBR}a9%OnI3+`+lYCjOZU-*D& zm#X%t{C}9${fc3*=TuM8B~o)2Y;lAOKz1)aABu`W=;`2A9o^TG*i?0wbtK1Wh^8cZ z7WoZBbd_4!vc^GlK;dxwbzlWn%I4ae8qe2Uvk^Qmi4pSBt(xb-?98*{7~j!D&s@pJ zc9`QBF0|qmX2O{q@gS;4SbNeWYyV21o)PvHqAa`DLO_h0Yks6IPl07Jr1GxgdWF)O z96rOIz|`$$>bY1d#-TSedZW-ns-nRA^}%=UvRO~T7XKxP(PmN)`AuS=GR#dZj>;IL z*u^jI#NqVGHmM#5Y|)!7+OYhn=+= zM_p>$u7Vm><)caae@3<1+*!j)fLa|xDOg( zaVsqud7OTNHX>=KH(=?@1ig-?`f7%dukEgF^+&*9nsObwxmfiL)}3(-syprKG4pN4 z8{#+IcgS%BgOc`PU}@j{vC#g>r)w@I1R17wQyBY(D4l!C?+Ktw-}bemk=DG`%{D)g z(;?I3%X{}Hlsb!`5K*+ct<=0mCoO@7@4)OJ{0lJHz&NH1 zb8JkRR0%TcX!6LwKuFfKwB`EI+q6eZ4W1((dipA+F-Uu^qo56szm8D$`Yx}NyMawI zg9*eZM5}+CorcHg353+7rt_O0KYTOs27?C2p>u6S{JT7RH>51$*$0z0Xh7}E@AI}C zrK@)MWxLe#sg{B8LsZ&zvrxQH-gJKCEv)gZ`KUcv1M+6cn%5Q2@^_4w>2&ukrSYZt zUOm-~x~Py7X`2{E(cYzAuq!kiRdSP6Ttjm1BsX=Ng(4dqmMq)QI`a+eLBV^FGIFE& zSB9}DkT}@lpj0x-B#iO|thpUtn5Afv$x!of)Q|5FG`w-d3b;&xwH;%&rFp;?CsT7h z9OI!3Rvjz6iQkZiMxPeK>8YORi_F4KQSNPDU}Yd})nB%sVKC!L9!u_^C6L|C$=0-~ zzyVXUcowNWCxHd7p*$VT2P|0y^+VUvGS17+y@Z{&9OTB6KfRkzGQ}6d?`3h9J`QV( zin-k1@tjdgoe7^uR0JdGTsxlk9=%=%ZdDFLyr zta{Zm^F~F1DvFtl24uHf`XI@F`d2#FilItlGBdEPf#1H=aS3V&XkgH1FU1@QwFX>*3j% z-`U(zwd&rnr*p*MW`11cInQ;wqLNB!26k)yG|{%{U3RN|$C|);*BsS6sjYio)GNbo z5qk=$t6yUN`Q74bv(uSe)IeSe!p^U#Ml-e%z5!U}&gm_Gqtys3`IFyxB~mhO&Tiu# zAtsT#bL4u=qmKP^brR6YGxJMSty(c+&=wHI0gf>*`isJqTU<2nmwN%?`hcTbGHrO} zvJv+f!>AFolk0xbyB#-v98A>%mJOpAS4Q?|P6zDqudGbc;cYbh7R1U+nDYx^K*Y#} zKI|`!-3zdWiSj(2qZP%a`oC~5Elg0P#Fz`TtR>mPJSDKd=tLkKnt)aR+~A}}TePVY ztnL+ZSwB(OsC&iB4l_La0(q-;LwH<3I+BU6>#H=ItE*}QBc3{{FV|>?^$3^PRLltF zsVoHZcr+ejCi40+GO=yoAYi9bZGGT z^Ki}~F?QO%BF~@IEA_f!SOq?A&$EAk!lubvFtBbc*x+%`4en_l#CN$O>`4yaqDO#a{*6*TT9ktmMkgWmGJa_v6=Sc1D=EH|mcdcw4PwPu2)fBoSE_5%JG_I@k(t9;)E z?{o^$B}Vu-W+K`0)v`)ZX9elWtN_YXY4+n@_J<`fmwerBEx+dXt(^6Idp0o)Otww^ zr#`xm-hX#j4Mcm@QnU}~V!6GVV=^&QgcYIL)Vk%kMQ~bSy8rOd?QM0|WFMYbR?lJG zjomA&wJ_uFN&}v2+C<(5FShJ>w9{iGXG#+os+)-S=wR*3hau{Kqv5j7!~}mlYNc!2 zC(sFGJgPD+q0hySD?~}ktG|~R6%QXZ1v|4h`7lLtg>&u*voe;A%9?bVh;k+hm#xRT zQSEHa1p0GKHz?N?ze#hhX~$J({qcuUTReGfl5<9m8I?dowF&ZQX2UGZsszchmomK* zd>pPMGvN`ZGK%_ydQh$L$UBQJmq^tw_EqrsXr7_TaDszKwWmu=HJz`Qm!ZbJ4Fz60 z$y?y+WQ`7iCE}~%q`;!7$K?uTvak*uxOehz=i*SyYNC*-RifM&-?9mzktp$obxF<#&>dhmt`iGgC&SJ@yF|Y%)%bG-9LB28uswG za^mf$YWsZqT^p<9pqXDikKa|g9Mov3o@T}iVl;gLU$h>?2SP@ukSd{{RPoM*03Y^TaMVJ5NAAbwAjr%ruBC}U?Z z8OrXl>$r|&INrLH{k1I#yqE{KqC#AAiC_LF4!V34y%oxSA5H}#mT8ed{p?fwP%Yir zP#cnVI>aqX2O25G93?)LrKzsF4r>$M^4hZIg;jOmjT%$8nVrZvBF?p>C;wQxOrenA za-M(AGMb(TM`>EM0T9D>3xgZef-QepVF`|N-J+FqtALe~ue2nmPN+&dVMI+XhlFER z5rW9lfHWScK9yoEkkv-{v-^eLPGUWkhO_;`QQ#o+@No1Junu#!J8=@S6#W-gAMEDL z-GNhgUrk_X2$E^{OdGP6zJAD9v4!n?MD_cwqBD?xn_qx6KWF9h;>ZSjuXl48xUZ+> zVc?c`M{;?h8u}6v%lBug0fu7I1%efvwlsy~dP$9cJ_)OwY1yJR3`lQ=+TuSb~v1-8AF-o+kHW%rr8~CD$ zGeWM}Qn?nzlU8`wrPY$@G>5qQ&0r)L?wZl)LX)Fp@(7!~sIJFy3#aVOk$PM?!7dy@ zChN-@R@p@D0V)j|$eOWawC=U}R_bMQ)CmgLM?u~6s;7T(7~Asn>+2OS6$BGgGSh>4 zESh1V(Gke=<*G=jfDJ7D1-?CD6H|P(o>%J@yqlP|e~;ki6!`lN7W3UOZl5F^Fw_Xf z0N=I}Ah4Oe&T2gjx?oGsKwEF!_rk%)z}aYEstL@5aIz*3=sQq1Mc`+Op}apa_1Em% zI=Ml~@n^v^WH?V~5zOdcB7+5Di9B)alyNlv74HgB?_oaSg+@#VNlXk$%+!2Lk1!QT z?*Ji_w^1*e>?c*(U7kx)dVW3uyZm1f&nPPa2Ap5a6e3@!GB*!ouoSJPf4^9-rC~uN zzPm9#DoZ`1-#e{AJ0A=Ksx8y*YKnOx8JieO7NKL2Nz*EDr+cNNcAN&2ID2sx8oh5r zH-fsazTWj76NDB8V)&cR{s29G?)bs{o-HEr2|&E3i;ccJv~guXOMsExt@Og! zY2*Oy9Br7w{O0NAz}j%_F!5mk?kCmBhHvKz`5!)DetdAEn(@8(0x0a9_Iz}_@C2Bg zbRE}tsPb4@{1{S}MnWfl{m-fUS4GdpW6rMT?ppnxRTdFBY<7W^m4109oB}zgBrVes zY$Epr>jG6O?D!VoFc$*77cF@JZgaO~;~sx1AyB}U&;ETVz2z2Fx7Lnd-lWal0-oi_ z6`-cLa8w;Do9$E!2@Qn6PvPX0{r#w2C+O*tb zS1iv&gq0NCTFbp=`i7eK&i47Q*G>hqL7lptzs>uccEtJmPn{bEzn`K;kUhT6FWw7& z`)}2q)ODM$JoF89HF>dDt=kWB5^qJ^F2C!{Fuz^BaLzbN^zu2sOl9c%M@<8>fXpww zFb+kk`+&O>XO~y=y0DY`JNl0ESr+>iSFh#Bv761L*OU%kEAwSc$adaZ9*n_q?OTk* z3{YcS5+U%zhT*^J`~R&LOiv|Y&@~J>%P?gWtn6qevGY5K0}=dmrWd;?%Oui=mtX57 zcXSq7({1clY^q&y?g7ra^6ffptM)7Qz;2#vrU`*IpUu6N^HL>_W0(;zSp-W)(J)YG zgJtG$JflF}w;IH4Jc@q)giu@Z-uu+D?Igw)Kovt$e(rBJNfde2t-p|SQQN-N_%(ie zbQA**b*bC@=IJt_B}|K&@gezwCRv3jp&Vekn-lki%e>Cq;c`vIYD=lMjH?;kuAUau*Z8Y+M(f#pK zcd}+Utf%yI{P$PsC*1g1>rd4mKVYq%G&IgsO47@aBvhW-Y?D9L7TbUQ`t~H;csP2C zdu!*d|6YWKT{laS1Rp{y7O|BDim*XH4(ES%sc68`+-5jd9!wQCk zulX=uG&Z(WkGNY|{K@Vx-Gf)*Efcmow zKH#W5Wr!2wl`%x%wTuIVALVD|REmYXgE~Q=8*$H}k0#^B7}kd*>4i{M(6?iC*J+`d z-tTkC@m0aV=##6}+j);Fr+q*tR8tkcT$VPrs`L^mCwX3+Q9Iq5B<$@|=gWQw?hS9- z)n@FhVjw@@b9$VVs?j@3#cnlPJNH+tdB8h#r~ZEDVy3+EIl}C^Dc#u}X4d=uvG0)} zlERzt>dMZjkVOl+t^&Y~#aI<`2~)5+~{sf|)kZ&J9Tgt@9}3 z%&=au*!Z=`wXotDRJWf|6k}(*G>vbXX^S;$o^H5#6?z!nuw9$=^S;X7%U@6Kl6f_D z$mpKy5%3rH9=(k{tL)a^(5_V8$Ou&WIKTYH^3b{iZ%z6zTSvHLUodDw%LdvX@spY- zAH!-ZjGfO26d5aUF0NTuk6*-=&*8GFoek7QC9^JN^eAeBSEf3v+?A9ewBX#7CW)bD zt_SBG{n|{5m_G%12e~h%WNFTv|?b9po?AlC4<`; zjB7rGG~)V3UQ*@z5*#M0v%#r(A?R`rRs3la`dM8UW- z{YYk=LqzPkGB8DrRr_`L2Y2Ibz2Jw-6uVLz$F&RxZ0{zU)Bf_IUjpUymiuepmCNSA zXnfD@G=6=r6fF+t;~Uzc8fHLVIz(4+th)A4aWsSk77MDg6+0Z|Z9=>iF=2B?h8iY+ z?T?#R*WWjAE5@4*s}B;6mD~r=V4GPO8o9(u;MIW{+ft&Q>T_Qru?k zyt!A*9lL9RbNL&CxB4fgxBhxbPq=@Hf8e&tcl1|HzL>?Lu_xhD1iv+Cbfw0*r)fpB zAvZrJ7)ukT)j)aQ`>d9ft0N9z-HOiG7S0YHZa?!X3C?aq8D9E7LQ^WB=Qg*T@ks?gdQv*qrn{-hQO zqKC=bNE_svtnpB*{En>W#Q>Qi{kHK65k6f>TMSU%QbjJJ_(5R?9$Ai;P#xNSs7=Q( z$S7J`&E^W3RjlZ&fW%00A1Y~9XXAb}w%a z#W$4YdxUeeX6KddJ`m5@X;fh6(0Y#wI3Twj*}#3bzBV$rjP+}6UURURn4jDRj{nVL z`%B;I$`;P1R*ofgWpwuYAu2WXC3Z>scgB)7H{}%lSwWl8tO>zz|JQ;+Ek`Ro>tjgDi`fElV(?xp|vao5?_R zm!85#MrrKNOUm1qMw9i<(U$fDTa_e5xH8|k=h-2WU1@BleRvJ$tWVi@Lig#qW*%rZ zTl1`4(~;QQmLlAp5Wj5{j(c!5;}S`+w3@4tPfl=k&ZGtOY|1zQaGE&b90w0sR-lfUPm z!VY3zLeSWvT1L!|ZH#5jW+(`cEz-F{s+LCh67|v#`GM&crQ)M>PFS|n&8}2CoK=}r zNGy`5B@9@9oujLOL}~|5v>z01Wqwh9d44f^t=0Uy$m@ia@g1{^m6-F%FImYL)m3@L zI~a0Ey@h-G5J8d26f{+IIg{oZ%^P-kKvo~f!&$zRlDOBZsj6Pn3{$-(J_08ZXV_rV zF#qZ1A9`3Z8sSk`T4vb%@u5V2!(q}1x@?V+kxEyC7I_vY%{(W> zK4m@ID|)?X{ur#w?}FF;;W}>@(ph&J<>~urR2LE?-V}GWR!bl>hWqkRANYFvNzkc*YrewGquu{Mv#{zxOY8@Zi>UT zhkA*zBTN4?cco}E)1bBT!%Ryhw*&+ZqN6u0>Db;K4?mUD>8@I<@2eWLySjc;fJgDc ztXkMLsEX%J>Ze;%&3g}5eA4TQAj!p3o)A*zF-c*L!YR(aa{eCq;!q`(*=h^^E#Kak zV*VN+ueQG2)^j}dY`4*5l*Vi=^CLL{#B46GsRa+&xZidHlP(N3SQ+0cCQ+J#Pn`%4 zulPZf;Pltff%D8!kax#6+m_~a2VH}-zOlBY?y)u&H=5VZN6<6)cR_BzTG6!#3Fmgtn>n?yqXCmYRC}79zz~gd%{Zt_ui?|F2@#5^K7OpVsaWk>rTy#OGwo*KM-b{tHFYATVu$EB@g={pR27Vf!|oUK5=Rm zX6YsEMEc8d=&lJ;_ii$G!uD8QVvn0F_`?W5?$!m)C#h@CVo}`&rP9%_9Hi^JjY1t+ zJNaUiX|&XVFa6|cIWhO-CSRl%Ks783_Fdrzg?4xHh`lE_F0@?UXymufQMzuvLBYNqxNq*_$&ynqicQ^vb2?s=Uh;I{4o>%HiEJ{j zq3A?+Dq$@c%q&XV9%9tHkY9~M1-HYsPZZy+9kCw^%Pl5tU(~f!8WN*W28+ixmVstQ zML9SusTJZbD)HBBBxZ4D_blqYM#&cm@8ffvWXazW!T<_D^}iC|g*nWpvv_*nb-z15 zK=Rd~Ga~edlSi1c5fKvtSAvrgYFTEz>kRsF7Ivp@DAv83ea&*tm6VlBs-9B%$oKgD-_sSiz4MaSDkKF%H*WdyckyQSD)#ddzwC z(xqcdFhW~pz#cjfiEo!guepPmUCX@+t2Z#FJ!MRMOOM~;FFEXvS{>nanF2E#6~p(n zcuIVHb_s4pd&FqVTA=+}kbNtkI&q=8^)Xu+BQjYG4y%}}1Y~KAaSclIiY<&}c3o}N z3=9Jbx2m%oQW+F0j!^FJt28BNaB%g%pKs3xE~0*d0kn;OmG|R(ffuq}R0RA6KG$0T zz$3vcB#N)Mgbm)`1|KZR^*dEu@x0GC%0<9Up)rI#M$=-x{@5(OkIv6S-7{V4SMj$Y znRvO;yu$|9RT+1=&OFnImO+^|nT^~-s52;P9_j*@B+5H9>@3n5N7QCpchn5E^e*!p zSf{q@+Rf)7Ytq%9CL)|z@>4-_xf7-MrFJAg3{OC`;+Bl-K;6e~py+C<8##pQNO6`N zHvy*_y$(kymD9!l7iI4lo$1o;dncVv(jD8jZQHifvDLBDv2EM7ZQJ%8+sS>_TIW1_ zpXcm-#(Ccl^Qt-iRW)nY7}uO*)Tf_Y=2=%$!)-cBpk*0eg|tzJ48RmTbN@8<32W;! zNUchz4XH-P*PhqqL_v6!s)j;pPLILmQ;WX6zO~$cfPYHhV{Yfu%V;XFKW>}4rWK@* zCnM)WNCS*EDQJ70J%wgGpSqT^0kb)fGeU@qs$o);T0vTkdOfxYmzRKN;B)i0-+67P zA?F`ClTYFaTW907hWb{bx?Vk$dEx?^1s(O)l2>%7h=yv%&0{w|FcIAKAbj$Ui))Rn z(V%bX($F`7L<#6z0qpqE9lKVw7?MTGF}H4T5Dk@70o`%ZeauMwbOX4m&kX8)LVFMO=yw&M&M&`i?2y? zWY2`P8#K^uKpU&Nr*jkOo$G?kIs-RHuZs*B7d_ zFkBs5x^S*e68NAsJxpP=`AeNYlrf$%9Ilb&990D_qe9z+~b>cR|WSuam`mh`}B3z#zdxf{O?#R6kr1nm2dMau0W| zbI*R%8flu=#--=rgZ4t>!DYZ_?NkVqj^$^8T~P)!iMeN^a0 zg#tfR@EZ_;3*?a2I46m@#xM14WfguloLhQu&^ z@77|9pdn{R%ElpSqwsIJY@?m(W4`!J7S#$6YUM3DxKXpKFP2M_xWvs*{{t%HEkN3( z>g?=(WnNkCi-pZhEZ&?ekb+P8ay$P@wLj%~@yE_}%Xdo_eh+N=+UI$BO*+Txb}nu2 zBpX|a`FRvpoIj)Ig&f|-0nZnBep1Z;*?*9M{RV2Ao&Mq9G9ZyR|FP(_Quc>|zO^4M zLVe8IS2;C^w!q3|(AfG=GRlOlxr}p;ahbcUim30Qw1c7~@w968QUrk8uu~Z6LO8Lg z#u@AvJ6tSIHUaJK656g0t++v->d@mqeedV!*U%T6J`j;HYPw*$VWlP*C&S0o@80&# z1gzafIgxpm0T%8WTGUxoJBE4I`MTKCwrS}YwJ$eIcFMPldrm!rx~qGwJmk^NDsPzv zJy}xnY6>Zb*7F+LnUXQ6g)aT!CO7wdNm3~p?nuQonxVrSPpiE$`czjxSxoiEFfSKd z@wqdSi>fDcfo)erDxveSI!S*@&WqUgIJ|6f#dEXVYA?xdH`p?HJfxjGkj~C(VvqYE zh?D4i*z}$`$RWM@d}7fHMfYB4jGGUa_mkv=^e)NY3ZBM9^Bgk#6048eq`#lJ(-6!T z;1KOK_19O|yi|RYqp<06VKQn@*vwF zZj)ZpOZpTH6ozQyT&{JoIB=#&PiHwMoC=^DtH{V;-!?MZHt#4p?PVKgX7NjKy6MmP zfHqi55dIAhsvF@=(~09}Z1 zkJYzJhx*z8HKN}L>cq$dR2?x<4sN(P$Hd*2Lj(YrQ-Sxp^h;jhE!)*FZ_iG%(i}5QB+oRcYf66uX%>8q#+GuQ ztim5XV+gDrBgj}GUq)Heg>l9m=Cm@4rWg$J6qqUH$2gysSIdRfEoy6NWo za(4ls`XTnd2XM$?2}C;tOu?0`5lvTGKn&p1&2+88UgeMF;1KQ*NOEp+$P=y;2(u9F z0lSE64nFiACf~~iD9L8dt7@{O<2mC(cL)oj>kR&f&$as`;Qg+<;XvmQ>W?&%ic_dt zGUG?B2}Iq#27@WnRnrYE8?RK%+@Q1WAra3yjv;~@HGu6Otf*R6-ZBz*djf~3{#=BtYw zHs%iVt?Jg(?Xn&jua1u@Y@dd^xvSHL6&C(F&#AK!Bv}zW7P#l3`RTza`OVt_hO0KC z5j~HiOIQ6oVmoG`P1lD`+WBAKhZeC4IAk;P?Aa#x0~?4+jN#-t6Btb-K&2pdDgKyf zxKOz^N#W#Q88;u5JaZ{knBpREeMdu-r7f`W!-zWp*Q-<#yA{e_70;^Ho2pXd-~FPI zk`Lt&kCb%(-NYeK))d*YcO=Y|{h{Z=t%4fNDSs-d z8xDgWPIFQ;eX{SyNAGN!Qr;T`!yJ)yOp_raal~CWrSLr)GtOk)A${H|28q00 z4hD(Yp&(~^{5FuR+E3y}o5H9mQB6EIUNL@&P`3|JSg>tbzl8x97c3G$Q2elzBUMVu zqR#jp<;#tgs*q-uewB%#fK%Ifh!w>zFMujm)Bb*fN!wWH6%)dt*;HH zV_fvY7E2e7XRSg`xfbQFWLO=C?PwhEK;3778`Qhfe4lA%;#%@X8%1frHf1a35W7%u zR)ec#8V$o5&e{CjsAJaC=wSoK7@V`?JLPaIwj5;(_sEDKaUsnvjjasf zTHqQX92NYg!8~&TK7nXbK>GK|-T4{Zzv}Yk?4UbseEjio7=bp1RI(>#O27>cgMRtM zfqV0E2WR2?cI!PB{lueu3VsI?4kil_$6L+#v@VjU*|N6@pg|qauBvV|gz!Wab5LHd zQAwzG*k1BB2-qs_cIq)4|FS`%qlXzGF4eh4@AEbUNjm&yOxXP6?(XVGa|H;eiC=g< z6j3V;l%9jn&JU_7(3$Wl#0$jU1)1m{za@7cGuLO0pdjO08;EGV6#TREj{O8Uxfp;G zT^0DhKjAj7}UJbnn&oIr}qs-RQQ~{@7p^hoSA5ACWnqx9lPC-A_zk zvJ(L<>@7U@;`i`V`FEc^H@NV=5_X;bG0i-!O+nkO=9w&5$KRB45k;36ep5IVmU46K zT8(qh!d+2O4;28i+;^M{pU<)kQP!o7+fl;cKYHhG*I9MA*7Y5%-;?96FT;r7hge0L45Qh19VQlOPrI0noe!yah%%89h{}iAr9)?RYf@ z+J{NSs>e&oR$VQ5v~JWrih6eIzqZZWw%&_BO-hI}s(V8oKwzD^0wKH~FjTn$p`Dqb z-eWP#>l)~5~mn1b8JK`TqDMF^BXCE34TE-Hno_B2ip$&Y|JdVoW@A1`t{@9i>I85#+GV z(teBQc$J=HZa;WKDwhV_X=J8GNfbwQP12cI3n-PD)0vvYm5c8z9A^@hbS@RcD;}=| zozZDCSCmyvKBa~g8V>rElv&|;^xJri%B11-jcF}U%z8NJ9j-2S$b2+z_e)QzeO>tx zW_a;Qr}6gi$>26R4OxVB(R z(#w1qwLIe5_k_QQOCLl1YjzG8OoII{m_6rt>=T8UK+~k-|9mEf4La2KBj-yn%>a5c zjK#8NneV0EeUouH6#OvDRN^umyp?*O9*6)hm1w*g;WwoUFfYW8Zz;pm>Y0li{S31aJka~ zVfVP`WhiMs_v47y!;r;G(^;~&)xw#mhC>HQEaP5r?%j`}CsP0fV+N<8Wm}vsQsi}d z94A7oB{A!-bdLEuu3~{gjG!6LONs_Y*#eh8D;dTFK+bH!vg^fE;o~euL2X#4Y6~CV z4NW%-n|+js(D{|W4Ftl*rY}w`>T>|uml$tz9f*n8) zX@-^on@Jy76RgX!Xlo+h+t%lIxUwVnf~A9bmYEjIx5ckcuHvrZTpi@4@&i^YmzDnb zJ%||-3>5jpmP~$(R(H8@iGDm-SH5B4%fP$rL-hX1 zj!=Fa6`u*7_wWYOQePP|oh4|{=de9U8O`K@G`i6hiNA)ENFz+$(*tD|uI*K5DQ8Lk zX`Fnx@m{dByl>tFUfBGpy0lzR1#xu_R_D$1d$l}CCc2^~;3wkHqynMkOkIGzNe}$V zKD9LOmlO{)bO_Rd3wiMX%IkYpikw?4H~hk3lw;Dzm?M{jrVWE`Gb2=9?z!?neHMXv z=vJ^~HKM8sfj%+ZVCx}D6UgaTCtEA|;MMRhonXGDM}RT}6xa(E3&{Ljz{qL;A$GZ? z7Jkv4>Tr6lG&i_r=6v@bN=CKwFR#f%fG0Q}1&f3~C9s-uR^h4EZjm{p?o_8>}`XirKY8t1SUh=QrTkO(x zB!W+<9o_AId2Sa)o9f|yHyNRvqB}>=8{s;<}Mve+NxR5=BHbw|8sV+;;>bv6>}4c1McKz)D+;HkN#OISfU%(=U2 z>9#)V)YFeW)eQFTbnIODA%k8_t!}P-*^tTH+2FPCP5ryw{kA-dZ|VV#LBf7C0Lhe` zwq(ZYi_DSh9xw@*)Hj<}<4)kzzJ&Zmn<`b#3T?J#*l0GS7rKr=zM5GWDR;)Kv$h(c z=HfTvWJ$4Z1yol(Yh8o-Cc~8;!G7>%w;MO(MDm2sm(9_7uA2F{9m3K2RKe|=;TF>w zowA?PmHP6E&o6ng`An64TQS&!G~xgbcQsU;L&7J$mU*+qz)#B{yb-l8_HKxdSrFx* zTc!)xmpx`^>U(-qvYLrbot#!nZel5tt^rJd^7`$e-)MfxrxXISz#g7W6&FruYbyCO zOdFU#^j&2wO+qkZXOXcbS;m8vhFtv)A7&xkP;M)jgL%^ujkmGAN{curzCe&M#pZyY~i8JzS4 z@(U5_g3q=}o*zl`I=A$)rqG%ps$3xs&J81-C11h(84MjNN0H z?!Xc6Ctx3I5YawNKhd<&JYP3o+iz!mag3lkz0d$h{yY)X>sO#F zhJJ(S>?M=|(oFkP8%%b%?+D&;+$98w@hvL(S!&@-H9Q<~&8->4c~mUo7@eCi%FHMd zDI74*Fta&$;_H*+&0hIJ;}3$Bauyo2*GlPZhFz~Ocs@qrTG*3it05J_ap!X<$m?3JPoiPzBgY#uSNy4vb2HZCn8e!iiv zbauOab!Ie^cY8grNP0C~f63agS9uOTGPE7PwXxf*=3aZ62)=h}!au?S@1lvre0|`O z;6UK!K_JU!IT#CijN0AvUP14bk5?x9k2a5zbM7+1+&qoZI3*QiGXp1kwYsNo>7oxf zp@~eP=^a8w2}y|kU9qV4-6j0>)CG;Rft>`UVrqp#QuKB*fe$ zLY7f#QX4iTP5sB^0wTm*%r;zUb>>nQxubkmwpA|0$JVmP zc0bsPmLaX#v`wFbNM9W~0vtkv%R191u9T;4H8oi+bomQf=o$>l*;?dE*|6&@9bJC( zvk+^FoBgCSGkbJ&k+}kF3-~-Gr08EsfIPoA+5%rEe6rmFZw{}nh8{j5577&?+#=4t zm&v?1bWoGd0IJUbML@d0JUL}raW`$F?X3_N_z_?LDp%4X-Gf;#W!|&wP75qs$Xi84 zPVtiu9U;p0%D5NG8^{Zv{rbMYuwcO5y60wdp*j%uyNJV~Vlt}&BUaxk8F`l0b%!QL;vUiU{Ou{%@fmKtWBr7k z10X?Hf?Qw#N z5NNxiPhVX5mL}U%%xSY&s=q+v60)#nv~sN?tFaiWte7R&HB!El|I7v;mouHGPid{& zIEOto4aj2VJa^aKs>V~~#F)x@H;u#fa|LBmsT-IjGaq4<3lIq|C+?Z}G<15RYwi`j z>^S$%dF?psI0OAfw$0ys-!qz-k@m_g3|wSP>NU7v{t(IDFV`r zIum+RzUtWWz*p!>xoH49%t_DEmh65B@&?hI&()yI@9Yn%I(O&GKfF0RN-!>cK&5KKFDM;t*_TDnV|gCt)|&9WGoA7I7C(SWglEM z1!Co=+~|MCP0C2_X(VoF-~yCT1xDWyK1Uz-ylq`~_gwj$pLV>Yow(rPa>wk4Vs7eX z&KR$z?umU139|dKzkKe-{VP}0a9t!Bsj5+ELsApL)^W$E=%(->2PoqO)}~OAReJLs z>c9ds3z7F~tKUUDsM2!v5{|RnAU*3Unxt;S@6%#_NC)`E?u<@ z@X(&ULR7{|?y^6TQ+^g1<%{=hcs-(+0df~$+c4#3IYqQ9wu{Xcoe+mWL&r3j*Jqm* zT>4!p;{jK&Hk?`8t>>IoztJJoRy}G8|GVam$t(lk|`x8W(mQA1ICELw%o3_i-0{F(5 zn#b54-V6<9W``%&n$0yIriN!Xl7}8l`gMA0Fisx?nK$~U;^>a|{@QQ7?|lcQ;=l{T znwU9%evAN+UFcp%ke{&;i%8Tx2=plE>3nGJ;X0z4N+ODgoT9AC*zUTlZ7NG7zw`U+ zdW`bxGUaL`u9#ReL?#gfWwQqDD9WK;&`5Bt$Zs*jHPehstDJHux6L&CiWU&rEqK<3 z8P55H`#8K?Il1q{!?=zcGw(|p!!urz&?p*mXdhz94` zg;?|Z0?xiPIw92U{m2gD#G(0tjb>ff8fdRD3fDnniBZ5)W!9zy?aAsAjyh1Fw;Z(H z$d!sU_DL3ieg+tGMxlSuyciiE9pK&M*U8yS&8I&;mb^a{jdu5l=;U&W=wy7T{%9Vd ztD`-8P0Ips$}r?AsK}rHkaIaa=k!S2u3gZQs|9It1;5p9P=as@jxS?wN@B)Y)Q~eW z7aWiXsDrd~NY9F^v7uL^#QSkzIiP%=b)n6A;*vaCjxFy*&3=ftMJY z43jEi-`5%)CziYGtYHW=6Rz?pL)ewTZ?`oQul2OQCKbNg)YHE`9a;#M$r29ktj#TW zKSRdmlg)fvtJ3FtR&-r@;U2E?_?SDd_D;{S)>YwZcDiBr&E)33t=X{yw1dXC;pL@M@Z*}B>s^#+E2E3%4`bJ|PtJTArllBpS#R?lkY#xtAy7Yluu!H_2 z(CCK{WN+l(Zcbsg?N`gt2Lt^WJP zE8a7pQl8~vsHxS|&XDiZwE{2}6Xdmb95z*xlpM533B zo!VFM0CZ)NNQd_O#BEgSh>uk|M1!wf8K!6O6-~kNn3h(IC_IMD+(wc$e?usT;yB>i zUWL{Ey_u|i_@M=N*Y<6s>H~hpri*(|BJ=#?hVz5f=ZG-;)>J@uih*i?0^5c`su{u- zI^Ow@vmg`sECxx$6s#K40MC%rn|6pcAg=}~rqQbdR})H?Bl6TxK#ql53t5qvb#2W< zmIX^pJt(D2-5veNQXSx8t)G}s_rvf>0E@f1GviW$OM75;uWa$S)d{$du|YTbHCicd z)TU%9>%;Hb52$a~32D7MweSupal*Knc&@?XvYY!da{^<% zUiaxUQwQJeWB61+dq9`bMdEN>XJkkQit)lRuJJ3eC$TZYs9cV+_Agv{-;_fG#QGLnYN4vRKg^g=paG@W`H zf=Fi~kPQL~g+=xDaN{Dy;V2Q)Gk^cHpG>w%Efe-pe^wC-ay`)cHs%QP1{7QoocId*;t|N=dgl2Rb*}xj7kMjm{Mm%hu^> zn?D|+?x!jxqEc7FJk;PNvrnm~IGZ?W?KRFhFJO5`x!*&te6OC;O7e`b6aHnjY%?dz z*rS^9OLWtit4&4Qr_91XER|%2@HZt^@Nld!?f}GZ%fR2`V0C!^Yql4|bvN50DOQ`VbX4hMIbd%+o z&1cDGNHe(aTn?Yy*Sk3%$PsSS58g*Rq}g8^BVpReJFpo{*IFM|)?OiY+DkXbU;L4& zXZ0jJ?6R1(wns%7SdmE)kt4%8Z8z}euDk15>dXAATeVAQlRd`Ynyo#N%z*m?gZ?$Z zG`E+sX6$snR)-}sSK!?MGrj@#@{ZeO8#@xd@0*8WH@?2lx%U8DC!_B@uW&Ok`SXb9 z6Z%)Z&Aew$H`j#Py*wvHgKxg?!_2E_nr~4F5*;@24^xWi4^>{F`Q1T|Q!yvPuQ@n1>EtzbwmRQR~XgXweF)u8eeZ=yh){;I>LR$_W@GTezMFXvR?A<8@S4@ud zYCj+|RgnF+4qGu{!kn~zvry?BcmWP2H}J676+u6Cp)_HFZL+QC4-ola&-*@Jm>Y^Z zEZU$C7r}Ncd*wcFAz`;ChQO45#|+J`Y_an~8Yfm*!tCSQAA!#TYcbzG5IP6EW2>Wv zg|i(AzYMxLUnv*8e-7gB=7?4he6ra8dFY^iNjfZWLrxc*2(XIl45|L+MpLK@y0QRj z3&I{yoJ4HS`MG1O6P|ELHVwX$@L{mW3%~?Gzsi{;{a#05`kd-qy=#7S-(Y6o{4xgy z9sE4ubj=pO^XM!AbN^$|SHHVB>t7kQ_p6neiTTd;^VedQZX)qX<=EC=i=vO-?`y`c zX;!svBoz(j@;Jh0D67xzO?NKh0i?e4y1MOE4+}ocJ_X}c<8nzMRCrYv+MIR1J5)NX z&VG!$$7fdMzTEbU1Udl=#J`Zz<$wz5UmYy-3O~~!RICYez#YEtL&WP7jyufF5FI;S za3<+GTu@S5N)F((Lv1AnyGuAS!9oil_s9(p)f;lcN}m!u6&heB?IT-g2x?0d(?GkY zTLUmFl7vLDijm}$u^@hmYa|DAst{Gm4e%7Y^T0xnlJO)3i%RUI1(T}KaYj(n6wm@wOj{_4&!Ay^tIw=qcx#49qpX33Svkv=$ZLVIu3#%W zFdKaL*E7O~Vkady5B8|xZ&mQ`&(9JAbKxQmSYd3coWEUGWwge;_JlsFs*)onhz#>B zngtAN)7yJYYm*x)2&+chWNeI!@2duDHNXmUz0FAQ!WF)z$!x+ixDr0>}R z8Z^?CVWJscSOOe1-|k`P@@rL1?C~MqDQFtrw2fd)O*AJctmTH_O&Pq=jk{oYgPc@? zrS>-Pb1BUUEd%XoCTC1`wPv+qP0c46TD8C#9@_j&1 z1>|JS={9xYo>K~5V~q@II=?m&y!Sq907#5t910H6a=?Ok54j0oxp?Tg*FiIuSWVP{Xb=0OHD>`teDELlL_a-+MVrq^9)11r{EB%2h=;g1{In`>K-c4v%ksWsfKJhh}k zQdKMEXaQ_m!|P1WTfM)v`lR&7*LfDs95wLL@HFFnW=wdSBzWV>M#}Xp)N2{p;VpSm zlHx35Dm1$+B0f%BC3F`W9rGHODn*a$Fdq++bLD9a6hI5<17o9mIRPHPlg^Y+U$rXcIRx)xtC})kje}mIpTC6ozI`ChT#!@rM z#u_Dhbh_xZh^k26bMLCRv*7RgWxcSeI+2kwV@GLR=CO03?E)Kt%}tslsNArf+fr$n zy3*Qcuw>}{`T^8p@3KhS{`Oo;?>mMXi(MN-iB!T-HyTcwH~d@q>Znp%zX%{6*OsHz0%Tuw9UQ* zu|L?U4dpVZ2AZlT8H7%oqNSe^K46(2cb%#`cDKl+Kdk4 zN1jt;UgfZ(iR8*9=ya&Z;UY(ZYrV3R&zPcy!~4^X8cXY9JIRa_A<(jAxf9mVE=57) z#QFKw#O9-NG79JIyNVQA&25J3eKB*1E-oi=`5qemt$IV}2)-HzSQ}G`hFXWQ@CfZv z`rX|lYg_hOO|S+m?O%&@{toY`19xejlu*KEL|G2^t&pv}oAhl1yKwf9ZDv4v^&8(d zf8Ye_hko@g@HaTnvwD|k(-YM8m(el**84-glQcojwnp0C5itG)Nur_onHB%|{nqG3 z@q=_%U0y zD-N07KIoK$qaU?-q=5*s)r+peTVe3@@b?qfrb#oQH;3h#X1^Ei$I-4!05?puctb10 zpw;fqk80FSTl<1DsaxOY8Al|_Oq_zlk zJ*%GTafRuKeT6#ua3MzG`1_uf?L9i1X);{O&vBE5_QW zc|?+ zy&f;#8fRf*XViKxV(Hk1!rg`hBs=J)wLNuj7)TfNY)2{Tri(pyU(=reMTl+)Ir5qS zPvp&xQj|&geFJ$g%L3Xh_wKuFk1`xXC z^lah9XAzJ$#cv`Z@*oU;ZlaIYJRfrrjS;#CH8~*ONcS%JW5e5`wc6~8{7yA)nTg;a zNDw}C#uOZPc|e8E5r`Qd)j(l19QXxtwip51`JLd#<&@iSFm%h2Uq^}FWkeT5k-pi0 zT3|6kw*!yhY$&-BG}NQcJpv?O&w7}~uM{1dADrNZYiwZVmi8WjWVapo`DWKeFSa6U(VL1?@tv^yVv$t%zi8WB=-pY#Ja@IP2N;3B}cSM8H z=ieoKS{QH>-{K8+jksz+y^9>f)s*;6ap~pm!@6QKiuE``ZFYjWWo6e*A#ATCR_gKf2&5@ zq_JoBe@Dw4Ex)Jb@J}wOXw6WqB+&)jK7@CE-?4rXlUy8~7t+${NZdf{Z)U*5mkX9e zy;BIPAE4Xdt}_Al(CmCp_$LxVwFOuUYtABWEbKKuT{jSAy>vgV=8Yn-ccTZnV>q{B z4cX%bf+;X}RErR%1*1}kWdEtHTT*n*QX1r6zn53hWR3`Im zLpOhTa?tJU9%lK+qogI}pI>RY6ABp#*uujyc;O?BxM>l?lXDx>a?^mpvq4N7p=pK9 zV~l`d8O(Jy0={BpDLKoE@ED5(G96BD_+i&YL2K-_&9J#dKo*B&f$h&`&R|7sA?u!_ zCjwY#+qSN1xK|!4OYf%WzNfRe0bl?-_vJGa$)oOfv!*R()4PY}l7_SOaf;Ze9gyWaa1bB-6<&YH;B#IC-W!io@(AWK7JvIWJDmvv@vkTj#oY_qYOwRW4$P6F*c$+~zc%wF(V90wBto~Bq)0~?T-0b++NFf|+8 zmO`RSq9$AG%4$P_z}U6#>6+lQRw_%rt-7LiG5IE{bM@usngx-Hl{ACHFM$A0W0pqS z)k&4slvEXrnudV6_B=eBpjJc~L^d3Q^W7%Sj+aK+^DW%YR$%Z$Ej4Aad5%UhfE$okQRd88 z!R##rEX7skcd5Aora>9USbIFi0^1ZlYnS=)~bE6?otx9kv5gn z)mX>}#WoK}a9scjSpUmz3;YtRWFbyucwWcJ`JIf}#=zCAtK*XmR=QE@g5yeyax3g} z*-rqaPCFkZiA{%TwB3_+^<%2B^wq6H#=zrjPRJ6~SU3HS?frv94%?+YR8IWG`C@R{ zIXz$@=F-8Pe|zLsy*1cJ?%uddZo^*h%&U5Y{*l!<`O(WfWoGNcO;70y+>2*8HoOa6 z#3Gn&bGZGd@|M0({rJ6e`}*~YmyK69Uq3u;uUfR4a@VL!Wn_f#s9Z#zad|i>- z+)nHFX?z=+avB}&bC3t*=eSPLHiIkl=Wr^LhjdrSwxaeVx1)aE^JayHQyeqIIryuz zHo5OB9PTUo?BVk+{iwcw34!nHH{4fh^E=N7Lg27ve2>sI_$&1ddfd)gLQg%{A^HTV z@6VdRk8i$#AE+3CA9!uwe8!+(2o7C$5%0J!NJ)(<;a;oG^K6dAx9^iQBuMTWDuc(i>uc&<7chp`khvau=BJIX4i?ZGUw zaLPM9S6$^A?JTVrBk`bYa~4b(qA>;GK)kH*OG&-gFx z?>Owt|2hBn$j-#{uUJsb|0_Nx3-dqc|2_A&{p0_g2jhRn`j`DHkH7Z)-E#g}%fZ3< z&-kzS|8e$TKF9yM*FUlUx4Zq7`#<|xIhg+~_TTe=-;0rx;XmRq{|$cpd(GdpNVfmT z1?q2~k%5u*zo9?=)BpaB{`gNz`S&Kn@?V<_>;H@X$jHjX&h&5eM^8^Lm7&*XX2iY-w5JWFm2|A0u1Y{71$jda~&jOfQ*Fz zV6i(|Ty>J{fMkA041PwUW*t43GsRAr1V{QB;uhpk)oHDQ-xQ!2vbNheTWK}h+h7(d z7%tDRY#zx=s$@qVTp6;O*LtexW$+7A;f%B{Z|!XPAF?WiQ@>~hD)VYu_sCbl5I3294*M1P6PYS!e*5&AkOR!q;Cu8g^LHl1JlN)es284ZcKrmKKOsjY zPeX9+F>V76OB&&q^GVzC;J+ZDLJ{2It^z8;P#<>v$oDWcz#xgj`Uezes^EsD^G8iz|RV3$+UEcw}BR9x$* zNee^a=fe;a;*YCdAg@|nB#+&6(aSS-fIaMNdin` zHcc6|c)H)*uc=avnR?Rj3%*cXgwQ!kd$IOXF9kRCH|!2|t+HOacG1S7XGB?XHgN%Q z%yH^*%HZ|8NR^JfIuJfMOG);$I*=;|)?2|dF}nnt;LpMsVtXtfSbD+gd)_bPb#X$! zLCXkm3jh~D=)W_piATmL??Bv>dE_(7a<(ON5PABwtlw*Y7&f))T%hOV_=UM6dy)r} z`C!(G1{3qgbmC%)v!NdHfMHGriJ6ZiyAFW1qH1@d%L)9*S-A0h0sBBrW8No5Mt4YX zVhTBo_fnEdPJpOSwk8p*&+^LJ6nRR}9qT7z2jpFU{PjnQVuGf z!%3IEKUHdvyUKe9ct4>hT6B6s`AWk*raprr#Jg=%VLSLrTL zu0;8A(DV>RGx9gcL#lUc`t<#(A| z42PWm{(Zi{OdsMKoR#=B()I9i^ZrwF8jV0BBHKVr8FY4Whyz-4@67Iq2k}tCvy`e4dx?j7M%TR(;=g+xuCeA!K0M|I=2BN7Ki%CwO4E@x9HZNsQi%BR2NaG1J=5!7Xc3Qm>>UFIx{XWH73ICzcHSUC{1hA7!bC+1_VMyF2 zE7R-z%Bs@^YCH<_Z1}oiKf>`1LIkrF&rZlQYN%@}w4xKuwOV?Y>5i{D^*pvnDIQ$f z0?RrdnpE|=U)hcgC!#iK6U=e+da$6CKl6!J=cq!*-e3s)e&Qr42?ZT>ns#(%V(Qj( zX6%1ZY7ar0fNPe3D_!YI+qP}nwr$(C?flcWQEA(@ZD-DHMR!NviJpmXbK*OjcX5_a zW==-JwS<&PO7fwGLDiLAKIp5?i;44$Q{x8wra(xZ$8qDHlU-6+_;37J z^lUWw;qxOb!V7Rekju&>UZH-SVXa_9?s=wsU}>fc0kQGo>xSS27N%82lA=_lC`kd?(l)7uJLD5xKj7140i zm1@`~*Yr@HoZ(Sy#W2r;Q&MnW<|}Oq2?WGTS-}PtX6Z>uLtQ!K#oq>IK#NHoYS#9I zdi2alY~6KZfiT3k*>z1j?>W8ZG%6%iyai-D=E?Q}dgl8Mu(>5BglCr*>xk;C8;MuirG2$=!Ty>_(e zA4M&dO9=o31Y;c7)q{SW3vR_;ZG?WgJeI7G+Nk;xBl(P(qbhIFL_E*=ZkYeVHHMd0 z$zZL-BgTE$Uwo!m3Xp+M3G91Mp|!P1+9Jwq@yi3?T-vdzHO!LYTwaZ#-)BKbG3r$o zzPygPnd7EU!*%ei`h-oD1q_+0214`nulLudA<=n6#*(x!Dh)aKD z5Z!4t_unZ@Qq7x!2Vp)JoTO}_rNEg*XbCKB#BDXOVY8&m%k}Ez+3#_wh5!#kO}3%O zUS=h9=?S@WJQMl;IH*h(TNTYgK_wU-&22X@aLb;H>wT#Le(ViaL1HO9L4ZeE&lP<= znTf;bP@+;hX{e=Zn|=Z3#5eP5WK>v>(I;3TUdONT<`@7Y=krRfC3Z=$YBRN^<+uq1 zRTd%+uX~_)opE>~gaoc<3L*^_cn&(L2N@W>1WYzzy#DNkIxkp&at!(k5B5#Uj{<{k zz4CW{p>G#3CBj6WK7A`b3n>dJ2naBtcOjG+-`&}+k^E5ODyeq30O$M2D(Tou#x*J~ z+Bcy$dHAsXVbx9Ir^nDlbZ7Jo2G~%#9k)5R0k=^!`qL^-!f($AV1$M;Vh`bc!$j3g z5&k%}1nN2Aa)m@sVSx0lnR7T{B|R?HCJ8T@;+$CvS`-MlbB6FsCfJ>BZEK*r8+FRg zgYDhEZ_t8|3xub#J-n~#`3~bI_)tA}TszMY^ zNhWtnX#lc3W&5m`)S9bztrMX8jm0{JD1T;x++c4VM?2%y{8`2}tU!B4NlDxe%t11x z)ukn_kszEc0$hHV`zWj2>wHe)aG7Do>l&GX_Y=D{Uoodfj)t}y@lj*v(VZ-^Bu9HgWR5gwUhiJjASEim zPpVpZsr;DuhZLy?T{41qV!uVRPnf@De3;%te|4VR=&(^$Gs0TOw0m>i3Z)u;zVeP& zaO}*$jR-PnftL&pF}3f=9NB8W&t}OK=&H2+d-Ihex<&smh01ss6mDHh0|@fI{Z(>U zym7@!Nb%1Qkua$E4DJRXj?pr|eN=-uB^4E=kO?0W*UUn~p@a;UOXq8TZ!JsqqqdvF zVW!+}NLSnGAW8&lXmW1K#tVYB&GggKb0qXLQAF<3r$6A5SNiwl)#^5I&{_?*_`iqRYIEwO;MAbrXe#k>7&C_W=IKag0;#~tKUZo)cF4C__Q=?h&mu+zU)I;cQrbDlsuh?KFgfLYr?gN6|9Z0@3rbx7OOjba(yI^ZZz%^x<^^!MZp|3E`=F zv!y6#OKQ@~{=Q9zo9=#jio(ZbKLP)sRnt-Cvh^JV+sac}jb?xoI|GOJTEhsn!@O^*Xh2mwm(O;v|JO#`ZX{xu zXVlgXG*5;WoMmU-Q3C!p1WS6Ju=T!2KeoXWRLR%g#2?~8X(bx?e6V@u? zUmOeMUoXg;lKwXotZpQ)RSw)Ni5JIr_K|@5&)mSF?oCVA>>+wfhD)5v>`fK_T1-=d zDJ@bonMF=eZR*yOn%B9=c@wGo6P<72H%*3zp~{wN-puE$i24YY=vvAyk}JWUhOwa@ zXe%S}*co$5-t>q36Y1&3Ycd|cf_JU0R?pZG967FphkPwPBP}C!o6f~KgHBR0J7SAa zX03>VQB|wile#n-*4{>RcJMvO7V}K;GNHZ5UZt294AuyT) zrw&FWuRy(e;h-56h3p|OnRM=phK?%$Fh>%k?vZhfzjV$4yjkRp(PQb8X9tUPT? zeBbmn8nuu=9x3J8AQM5yd1bPJB>HrKF1+XbNS^T4F}QPhkDWB)>_ys2C49$3KsYv> zR@RE)xBbAC_R;u}=1W@Rd8RD-(RaMORS!#4-Rai(lJnl;q#!adXDatnu5}nP^z@>g zuuNi_yV_84(a^G-6VR?TtTq?6VvMY2&F;SP%I>A~rQNYldW|AWqA<>kLK(QWWgbW5U~tdZlkBaMr(vn4l&|po=ut+NxF6+!EEJhN zpG8>2E!?`-Oot@Y0@k&CS^Xo%G#{3{5=Ufcs>Q*&?QI)(^(m@0ts5v1J)jfoH+R*` zAyhjuRZ!H{)KtZsa|PS@7Rr{D#YU!rcj4&8m@^898E)VyYEq7;6BXK$duHCMn>VN@q07+9 z&|Tf8{&_t$Y4)l7ApLH3(%3T@I&|r@Zt|d`>NOrX8d>!`i|Z2Vt>%J?uv0wy}&1BxUWY+9w zwphhv<`Yh`Pm%y8qQ!IagtKLAaL7}j4?XKiDDohhB(Zw-wZ9H>x@U);VSt(=sf^x( z06m}-5-c<&QZl);w@-z<6rXhx9Mz(Lrn`JbA=d4r^UzysgdLy|Qfp^wptAjzm6lMA zF(bQLmvUBY5yI*KwlODImj^EDTT>7pdgvn`L8hVvcQBA<*%vTaG%Mah z_cIDa&$Cw`OxacLH-Z!_i8tzDbdW3jEsd6lC}1Ct?!{O%;XWe3CPzAf5N=$Yo}7-< zxZ}_nwC_ymakUIi#O<<@20&Rp=w&c^r6}uwNawj#z3i zsgS!f>AmRi$dnGmaN#jO!46qxG%U60>H9YsnQI;Z&A>7)MIo`YoL|SC%yD-u*UH;+ z2M4_4^E%Taw~c0JZo|uwAgh*e!3H)HPdnmbXXk7C;@~*f*XmdA9Flmug?EL|WvWrb zXV0}hpm-?7-{ZLZrF3k~#fTEyMITuIcT|%9R_DT|ytNooD+C9!HNDpgVd}C>g~1K< zK)FOEM!(hG=+occqx+J!dadYb;oG4zLQWKPXqfG@H2 zIDx!YtLq7mIWEsi6dhe?#AafZxX;|}#Bj5X7a)by!t7+~aXOfkRX?_D`ffeUwDVLX zJxonI&Hg;t@wmyWmPgs_D+DK+%!cyK=XJgGy{0b?fsIc0A=s45sjI6O3T+_puk zB$&!V#Y@m<LVEUTEe2JB^eUvI=t5i?%;P?oC z2<42>b+6$ZqdW3-$KtWsdEmo60zxdnb$9pa7b}(|%P+_~*w`N73B+#T&9r2(0__ZT zCdU|B^q|@H|6JFVlt`Y>F(g0 zdY}by<9@f@TKm0}`bb3Q4lH-G&C+pAS5MKsBvUX2!AkSKUeb`74hC(wubP&p(P(!$ zgplZTaWKLcyZNv%EwWN2o=?S=w#23_^Qfl#G7tsFJ@h=I=q#A@rsL4x+94vAdggkT zy8sDZczW*w;X>wY=8TXd3?|?-vT7qA-eC|p3nD7^Ncr1rS0lf3_N{Q2>ELaF!m-zC z>PSfzZ5tS5P742ZA1AXnB#mD`jX$?xigEy1_uF6RyA3*36E)^;9wI4?S3ixHRwlf| z=JI)T9|E;OI?m`=#{Qi0wLB}oRq$b@jSi2TP^2gsIXCmQ`1(<-c~lz9(~#A8SVGfB zN5G)cwo`_@m1T|7S*Jy(!M3G%avrsDscESzY+K(1?_Bz{W4wW7crV$c)Y_#)7^5+L zih>jpR->?CDU(nkjaZ>^Ot|s3g|NDrz4~4=)1+Cw;jeyk=$KfKa8$y4W%!(ROP%Ij z&1=2Fy+kK5WylztkJGJqV$SJD;M`f)xVe~K8t@_}3EFgwgy1p>TZ@`kp6SeIPZ;ae z_5RJ>#7ykF8U~8vVh+!Qjn=moQ=DGR`s3T4Gh%~PkEr)boi#z6X4XB zfmg#=pFtPrWi+WTK3BEclAENGRH{CBqmO>rKMCN0Cf=K5BUfxPO}I~x(Kv@;MI-|M z<1|q?*QXx5_cG>VGa`zIMEg;us{TCQ{gL}&%+`4#!yK*_ zm9ZOm^PyVd0A`vugw{Gz#H2Z?x``>hcI=_r-KXEQZjBhPo~;q&&!kGcW-n>2iseYA z4(pmVWz2XEODf>9FC)}~@Y$Gw8FR?|#X5*+@cSm=zWuY_do!~gWQZ>Mlvbp>WNZnq zo5?YPn%7eQ`!w}9ozdn9+Pcl$(VC8RhKfRJf+ClXxr>`O^z*y);DXh=x7o4qAU!+2 zqedy4={qe5B1DR>1|DqnCH$0+qK~FY$gRD5Uq~o0z^{ZI`E@Ph0gr|h^Re?bSEjGb zNA38i2nP|EH=>R&s_7701 zp?2VVaYvp|7J9W2ZqaHVPSEvYbH8i;nEP(T{fUGiTk4g4|#pbmqyP?7MkR+g$DWI{`I_(t)}P!jg3 z9v%m4f8cvMSS*8hQ;Su}xVb%wV@c-=7HR%cu6zS1&n+5E)cBwcX6itZm#$D3{gv(_ z1D;i9Bh1u%jhFgR*gv&)i**Q=k3N_!iA(QF>P!e=))S`m7V5#mLfj*qv~-K~NgwRX zOujHyEYaEMob0J>-ld@#-tk5tX*=Zxq6&UeY7`B zu(i@f)?6*sgEd;R*joxV^|?w65GF)FC?4MNR_H5#*s!_UKXG80-pH^!S68nbFo*Bf z0X|VC@6T_TqCOvnu?KD5L7^F4aR;EfGx?z!JgxTGgHLf*>1TX{4vZ^)0t3=Na@bVb z-wB}#u~F%J&Z=?Qg$7k((|hb$6ILvfhn4KpCQqY0n8PkaH~Oo8-}3sUe>`K~+77w? zQ4)mGD14PNPagIjrO!lt_Jlg<8j^2%M;GP=?igo5UE*Afa5b3pN?F_sxXGc zuu1DIRmvA79z7PoFfFewUys1F0@iXz#)}uyxH{gqldncKPuH+{`%?OOKeCZ>NJD|J3E1t7c<4F6XyWP z)=VL`&}p{s1M{#!7iOcaE3UQGCz1k%1ZcZ7e^>$jgfa8^A@kk+B8%fBsmgBGMS5Di zm32C|Tvu31`k9DcrZsNE2%0#tme!~jDCmB%;gH$!f|*EF=r~io!vaG z#@AeZOTnQe@4ar%dCw%`CzENnjuu6pE?x8z{yFSzVpXeFX%&Yi{KBPZ3|(VEm)Bx{ zV4$Llidm=T&c*`P=JraB>J#|8C&;(Hnw?y3M_s3u&Rlan(`s#v`HdaCwT<0`7W(PE zn;!O~n_IIiYUYedS%X9V2A(`1<6)%<;=LZVncU8{K2v393G?*o=IZx!1f^ICsf*-2 z6x2Ob>s^(0^}UM1P>t_WEjY+`%k$LtU()8*1L%)R*QYXpNv*8~6l*&rHSn)KSL)4$ z)Ez8&F9x#wmS?y}P!OG~FAqKCv1Dr$=n9Z;s!mVViV0564$X}vZ5NRnaBC9_H7hf_ z)?Pj_o$HZv&Cbtr$sc|>tXR<;E#BI?ayS01%bgmy$5x{_dr+Ki9s!os$`+TW7Z)RN zSIH}A=Yl#Er*($smr9?jfGHh;hLI?RB(M8!U6!hB@7}2%L;% z;9(t}>Mal(cDZw7GEc9L)=CW>r^V+fth#H9bsoKSPBl9t0DRL+qXMJnG}|8&t;!2v z-oh$cYm(KT3xg7bLSSfmnma% z_?IuBE9A|{3*+}ORwgqfxhwzrnbWDsHRkF?v*yD44!YS4QZ!pMT;yvc(O?Aw^Nwkl zw;w6p$)cA#J-Xvw-ATXh^dC=#pS14uT5nqEoe3|F9T2^yQn{nNoro6wiZAHr7IR$| zi@(bDq0>dw9qVKlxoab594B6zu~oj`>gv;K>}e&puGwrqCzc{ktL(Z(Cxa@yq6NYJHLQ}HW4duv=wCsdDl$kKP67XNaG<0*-+EeB8D`Nw27uCJ+UUlz8^ zN>+wakju?(W&cmg)j8Gu3*OR;ijAy4-4|>%rF%Rs2r#dwb6eLaT8Wt0;i@1iycD&^ zO!$z3`&2)=C#dYM7x<3b9ZJEk0h3qV*joRgIG7uwcd<~qley9P(0(22o}!-kQlBV5 z{TOCU%mctd0AYcPTd^^w7(NbpIrf^S#PK(|@H9b#pf|^0X}p3V z@$sJF5r2BRkI9f^u4XavzE+WL(V>3Tu9wQQAqm>f;-zJA^sf(HA#(J;SHovcgXrD{ zjyoVoUR4KPRr)YV<9nA<$swYQc(PGd?TX%h{Tj)xC4(o*-^JNV-{st8-euGZxsyF=7$VhpFjNL4)P>7eYX+XRGc}uKRez^* zlv*gZB;&>#JCqpiGg4Hkn^?W7=gUGhsH9Z3$3>u2oq836GM3g11h3V+$6+NEXz4UZ zBe!cORe&XP`?Dq@SlP(dTd7gEYA1(>=iRAT#w{!7EU7nsAS`|qEPfCyeq=3v1TB8R z=D!s!{34oq`PcL4u3jWRn2Nr}5+`=)N5QlD4Cygoz`F&Qnuvumnl8~LH%_47!iC85m(Ic5lu9OwDAONFnq z+;%$ZkyXD_JT3(1?_FYqf;Sg~=l^u`O6#i_r4!T7T@yd=?8og_kzRhQB1RE)_AV`g zI%rWHP~kuuj$2jok(tl+Tj-G;nE6&!Y4!LZo3%R#E7B&@w<9KfXgKmo4U>i0mTRq{ zbEa-0QySwZZYra7cocW^I3#0}y(}rmCFa$Yl{+Yp5{y`>(znMeZ7nK?DGfZ$UdAzX zA5aVO3_#0|J?78f0E4!0CYw``Cg|J$*Z^5TroW&O?0Kz*A97LL zrk7E|=DeE=wB)Uq8XVD%X^l0^yQwFJzgrP# zsC-Yr$|Xw26lkPG9bj4*s`L7Ge|_WklvH}2*Xn)1nmhbC7hI#d5KMu!!U`iUCq1+( zw-warE1I;fffSn-4e=na(iap+SIkbth{+^uaQJD!ZjdH0Sq&kz<8uYW%AD4(%L{Ac z|6x0rHVgP?{)gq?eF!@%Gsl1avi?8HI^qAqfoT5C%l#*?V`cxZ!j6T3?canQ0}~qu zJ_iT;e+PCnO#hF>j)Q~kp9{Nxr7r&+zp(ue{KCk=_`eCegbCXq`adEs-%xZ5B7;Q4 z7R15Hg7NB)1&O}D>LD!4(I?Wu{Pg0;Y>H{EbM7{+Vrl^m<(SplkEUdEfd}35^Znd3 zs=s>s@|mR+X;bW9C@&2!VWPTPb<7})03Q@H8jsgrjg3@0*+lebfaARAdaHiL^mLKN{1jhYNKNNpl=Dx z821$Rm_&IJjbgrpQ*iA?4@8b4+Jt(*W(K*LkEOR|ACIrxlRspvw5V1-#(PPEs_BXI zw;yq)jHgf+STJg_ng47??Eim^?Eki#f2zqCSpJ(P`wtQJA4=3Ib2MK)c znq_Q0@wUCd2p;i%8+`1u;9z=sUyA$35fIa;ueV&TC!;=i2PZoQ2V139x7k{ljRmwK zFy4rkjdyglTa0yL-8A7dcfy~eH)11RM{f}ed=d{brRr_e+e+`g{F-(MbTbvX*e^-H zW0Uu-LD;{jwb5K*&D@|7{Dcd)qROhVnQrg6a0%y&iFeY`x;Tde#StkZ2|8}AwzS3i zSRRZc&<%;dT8R(c6Z*;LrJiTsa~DW97GXh`F^yU>bz|4Djaxa9laRqem<>EDh@Pyv z%--y}9sN`Q3jst$5|J25j-G1-6{p`xI`zvN_gebmICr8SEzSc!G55_HUVQ;q7U5z${lu3dLZ`lm!cKFn)?yf=F~0yip z&Je!rJ*3}Ynf|_kxN*Jyc9Ay$pPh49r!bGZFWjQV=HSVBVVQGin`ULa-+vP4M2-0m z=BzJ8Wln`&y+M51(6+*K`}tz?0#tKONy}=nRSL&nC+-@_;kWwiP+}=(0A8~K)Wc{a zTC=~CV_B2zKL=h*$)T43c?G2fat7RgH0#mN`EGSMD^Ow~Nq2Zda`*@w@^FvkU_Jp-x6b#(cF}Ute$h4jU#B$abYC#H zYPX%iRE8*bVh6SOXr4fouOgof^2D1g&PJd0uZ@2bG|ZXhjlr85e{V(WirN8wMEyvx z_OWJ_nISZNaY_wf&47mZhqgc6$+tGz7PgaF25jwoe#-obug%n*hgf&L)}jRh{S+y4C-BLfhB$X0aWD-xa%K zKqS#iu=B|1&G^a1Lu@b{G29t38|)R(JrqkTxR?XaznYP!^Mv~%d;j%?@&%hStjdi_ zHxjo;&KufG2qi(rB!RUinoB%m&(!ACmiC6|i|7aYBlT^x$7&F@NIW$CkKJNY3%#K@nbM?UU1?i3S_UrYN zBYYGk-4#J;+K^QG%d#bSjrq*JciwUc@{;Do^Cj7_2S}X^+h1)OX(wMC#M=AqS9_!K zMdD4(9HQMiq-PNBAsWQiX}L?fi?CCqMoA5_-Z`C-o}s?+h2Dqy;tACs)tgtLxvPQ8 zcHolVDLt~^emT)Y-24*xLGtv5$qCfBJ;0w1^-bHe)D9{=n7B)6!`KOC+t1s*dNufD z_eB-`WrUCT$RkZThCMHwIYwhl)Sko*kq2^Ub5Fn_30`o5OFJ0SKDWti3*-jYia0#m zSAAj&G`>A>wYPn=eIRR}=M+S5h3gBtGp0AgH+r+5ci=~&O{xu@Hxe???|)0RS7onC zT&O3F0zFtcw6%{%tbj?hB$-w8QrtUc!;W$yFw+cO40hLti7oK_hpZO}UQiJ8H~~x) zH`F5?q;lV`EHJ9CE8T+kaZ1FyE66aC6A$bY&ihZw?#di^f<1o3n^76WPb~I<9tqMc zL>t1#tInq69uA_gTmbXBq%JYU9q}VJ1=+(G5q5vx-qtD8?u*MQuQ#l2Om2UWJ9ZCH z+CJ>5&;If8u9m#Vr$fIHnA`vv!sD;4Q91#&FE5JliP@W3wEDbz((e)cy!Tnw^tsZx z($|wyF6zNv;IrWXW=miSCy3jR>TtQTQ-Kk*KV@4VFw>c(en)!ioMNa_rEL1;NZ9WXl)RXd;>ihirQ&}jOn z=40`nZz07E<3;RX_tI`h`U17>>?OQ%ZNgF&!qbn>Y2CJC`2@HAJcF5esg)6Nn2Q`we2>2t}kG?Hke~ykm%QJRBxk`1{d~ z`mr0X8vkjNfEnXM0jp{aJN_Ukkw^o!c@uQe3v~H`Kpl%rKvp|KS5SOa=&-oK{m!%(y1;DIK`iX$V%*aZ_o7!X_ z#y>Jh(2dok29@c*QGkYuKJv$LFQbf@73=*L_xP3ko8@9CsEDH{K?_SOz&F4b&Z+Rh zinxybalGAgXb|$~U?e4mh9&|TErymFJ%x`kJ1r|ICnW^5$ zYsrum1Ga)ts_?H9C?G*ea4ANUxsqYrETlwss`O4CiI`a@einTRzx;ilQK32kWr3Eq zTxhKLM_y4bd2uFXP_-I6r zjAS`_Sx_vf#r#7Q&bkLM6N$D_tC%|Z5i)JIh-u*=N*sx&$507M#qA~i?*^vlp-9$b|89WRm%SOvTzux3&W?RaA zwSnUK(2J0|isi(j@DZ;vRno$(%oQZz=b`(b6z0X9z(bw1AIxP}?58;%hyU2$J6QvE zBgZvPzBQ_BN0N^Y3Rl1E8nTeySeyh|8c`Q5lvvqFEwq?k3e^eyF5A0^kzJ%~4iv=^ z2`R8Az)HIAwGA-KnMB{DU&$CtbP6Y&SO-(QY)6=c@{) zzKqehv2OxB2;%2;Dgj-M}Qg;nJx5w@95=^ZUpF*rhhKUVmMXfui(nnFL{Gl9*T zM~7FLcfhm4`(2)+;@7GtYS&zdfYxj(BrbTdpXvel^f~Z5uEpoCCa_MB!MuR(1hB^e zO&%rW_na@?YeXPABwpn3tyBxfEQLrGBu;aI1}?AK;NqTF{#wIu{?hB&t$?Qfrs1ZR zrW$5~Da$$jYBa%SA7d%I^HYv(`p41$SM!eMFXuL&cYNn)*C}1qzwe=#>kdNoG-V!} z`Ru|9h(ZK-6ttL3CB%s-IVc@?Kd4z|wL6Wc0T^n%U-t)IE7CodmJ+S@e{nvIZ-#qN zv#d_pKB?-56{0Au(z2Az-8Da*>U_xhbMt?Xfmf2Ea3%jBfKXAxNG?kFNttw9unt@VvCSNxKRaJp$i7Z$qO!I2g2tx9BUGdD&W!G z&?WwcABb8nPF;u3@i7Gw#ngq~P!6J_oq(fx-j?EWFEq|BobPe>?5BVz0aLKM2(__O8B*O^UR}gq(9~T$!bjcAX1yDfG+k1WK6VAsm?t{=36^R_1 zQjg)o?!ANmty`O5Z*1f< z@}hz^OVOGoo-f+-wC7!hZt(rO?Wti=F;81(%jqMK%Sw@{c~L`Yc*NI+?%p&lE>AC6 zC36mjcn49dkMGx}e#q9V(0f^ZY&o1^oV`g2qZn~ahc?sS0tlecJ1=UN#}{z zg_4|+6hqq*b4lc@eg)7WcI)?`5K9DZ}14*df^w-ilndN3fNh zk3~RtC+-dqPepJ_Jgkvhq4H;=uW?M?TqUdtJSBWai-sF?=VH*ffKr}bYK}W)yKt4N zS?sFKI^Fe4Z+VZ&r#z1(H<6DOW3i^94(DWt6x#+N>WaZiC+)OI`vPNOV2CMv@S*IM zIm3q4RE(+N^E!j^NR_- za*hiFpVJk|87)ldi=;0+id#^b`Uxq0W!XK?_(RgpR;0?cUzGZF@ZV+}5dbv4F9M2D%-g?5`KDxbL zbIKb|SL9>W&-2FRo@Jk9o+mK2Ve~@toXqYX-Zr}9intTs#n*Eec`O=oB%Nt&oYym( zwB}n%e9}po9By1Y2rULJn~F3NLVquLah6$+3%Rnv-4XI6xOjDY?qhdCd} zhUH_sbQ*kwB=G5TSn5c56K#8iBv`&v?CvdG9VHw7Hg^1Qm`%a2o(L%RSL%n2hFtL9 zvNmag=Rrk1HMPQ^)0zNX123qKzO!oMC1`UAO5B$spn#K}q01*6&wWb1WNAEyD?p~7 zR_ZGrii^SFYQY_J7XoPk8(Gb;Hw6|S$4&wg#93@4zAqfanlaVt?DeGJu4(VFZO8uD z3_D`u<#ZZ*++RJD+Efqs@xxQ~?X2Cu_fTWe`vNS^?7ZEt4RuFR$}O2Hc!6;DK$%L2 zkUo~{nl4J4M9!JPV4a}XGJN-u!)4ZucD_mTjxaAdhghVYfh}N>f+1mGh$Io0fhPq= zizb!B^HqLuY>zqAbu-_SP7AxENOV~Ibp|DbaDYqfOZK$o+xOt-_i4N4*t12c^hrN; zt!xtFq;^Q$Q50bPBj|k$^2*4a!f<)#N+pg^r&;D%^~=e!3@Ej{ds0_5RJ~3C9p%`r zuE(@qJyaswE?Ym__Otj73E+=72v!0I0+F_Bs8vs8Jiscw41Yz+_ig#}y*jq4o9&bN zv9?y(6XPQ+x@%_$t{*DdmCzJ#t6xCKqaN;}E?Qh?U7bCQ(vM#WI&K;ge|3Xw%B*_N76W!wu|DY?n49G7eaB(~xvZa8(3xyVn z#31k(=yF1Ql{>euZ;*coZ+2~EVbPvoQ^0!NpJs<+&3Vy|QPqB=Jnl#5{>;GQ#<)|X ziwPue;O*q&iUWy_)C?h5=lh_Vd{{rstmz$$tiE2yx)o2Whmlle^9`KiTYOp|NOxWffZyU{#}Rn3y^28kxn5+l8yj`T1GBs-d$9$mq6dA z8q$~AvK8giA8=DqP%XnB5Hgzz^i_@La3|*}(*hN{>=;DHM+jucF=%a4-loP=)l>W_ z_@%CLVjqLeAfa2V*`=*Z1oe?3_a^X7{S!kz8E-l&HH7ub^&0jj792JhRupE;@^@p1 z9uM_?kefn|mVW7$B@hZVw~(@dvJ8ss9y|c;tYla}o+L#{1!PC8X6Z{XKpWM6OSmxt zy}=%>ALz7hM*R*@)F&x+46=O}DA<~+bw=J-D%9*X&N^QA>*(HKBRQ&f2>?n&o~`bc zFQ*#dBWV#3g#InjBC`rH*?{lL*TeE$xyr@{4KbZNY-PxY+X3a*K=I5h{qp9KFuU$s z^ect(bdtOo>P)e4+}~07O%nlF63`%U777}GM6#ObfEw)L42lCX365S$?jNljksR{2 z_qOkI&o_l;4;7t&ROPHZ&?uJ1AUlaq&V|>D_fX%sqc?8m^TY7x1UG%kb9UdhN$5oq zF3u>ROZ)i49Xo+&nX-NSK1AhD`CPJT(j@7eIlcciDf>i>GYwG#+8+B7hc!^=0u!ND z_m=MbG0z!^o>#pZi!sJj{-BpMDG}57ui}kxxqjJ!6N%>@AC*^NlO9U%OcI!!yi9=( zKv07JeXKD<^Hl=_kFGXzVB72aYDBb#$pUA;a*~}#?Os6!5aa&YaeZ^^;~=p9BrluC z8x3FKyp^pr>dvUE1DJbgkGakIFtZ_B=DO&P={e?<6}zyYHUTZ^P#yOm>wXf89H$6}{GGdN%@-i+BKYYSJcXYADB zVH?J>o_B^?wWN27)pYR*GdhBvjLx7glo4s~RJ`9_MVrFw}t?k9Iho{|KaV+Ep8ZKurga(S;kIe{(`ccLRL(?^m$c^w8+ETWr5DwOj$4y z_J&{W?j37u$jBp ztp*vsQ`C1x0lA)Sia4*|c-*G{;($|=yx@3TOFiYBz6|f}K0p`^-@6@B9AN`-6Z`c9 zZ)Rt!?YeR`k!4pijeCKK;2a01^K`o~v-1VSs{h0ElGlAW1frJqvSUKZ_VYP6;`?s= z0^qOW|8#PUyCuIb&^vF(3>;H-qB)pM%e+iV8;J%?%9&fe@M{zUFJJK6T5woP?yc;O zb97oY|J1=!1|Gs=twUr07%MKWdCtvOhJ1@T1#rtA^ zhd2*<@EXY*s=RgDZPIPU3lD!|=;|J1nD+?eUTe>79AX%$AM(yA$tCR*`W|n;@*YdH zKxvzJo6w1MJhP%tDB|#t#4O{`PTB&ba~4~e*H7n&!z5?539g}-ds0L)%7x-mO{nZj1I`4XW>udCS3*YfT=r^PbzMILTC*S@7-5C-r2?*sehwd&h?qOxTKTBXv zuzqS`1R@W0f7f6{!=O>DJyaa1%J4$~Z0Z@f0y1bU5$M>tz(uN8;l#Q z0ZPJo>aycDEJeevf#Rr~YOLG4q7@To$|!StlaB3wP)JSLl1^>0-Hcv(6HX(&Ws@gf zi=vOBMBYLixgD(U;1jzD)cfJ={ZoP}`!Zd5voG_ljOx2`yQo?+=j%hk9 zXISTP9&oL2`5GVCaet+N9c+R(W{ptC=bdFh(f!p`RABP>(1mltK9!`m3n!icCx&hy z?U9m08$;#MVOz??l+n&ApAcqNDk#Ug^u&b;8GPISwPlt-(>*+wgO*F*FE7icT^9Ej z0HJBUG8ix_O$8X1i^~K1z;*^G!&|*|A(o&H+?ruc6R5D0xjLVU?ERfJP<+#2X?HLO zi7x+hJPk#~9M@F{AI{1^Z02R1JL~%4dIGZcazc^VxGr%CA@g<27L*q%7{| z;A}%Y_~xSFPa%IDFCj4xJq4#X|W@q zMfVek0z*`-X@&(#E~q8JpbNwWPbf(1_y#WC$&Y4$!PeRh6XQ-H=}f9`@g;3zB!#0z zE{8SFi~^VX+S|4pL0jErjZnOP-@un7VTX;0JAOhNoXF=Gl|32xH49asTl)Js*TZ&( zJ}3Jonwn+mLxF?oIvn?Le1i z%XHt4OI*iAQR?2g7_0p|2Eay@n~9#4mwPA`{ZqnKuQ|!KPwS27^jnKyIov~aelIjJ zKfQzqm+nyRJ{YdAT4?FoFb?j?)46OBkd`dU{kXXbFgp%}c+%tsauuHNI(~CeZ%5^; zc^dg5=6H4WM4$MM4YPPe=4p@-Mj8~iy+b;wxw>76-@T81-RLl^Q&V^R3&QE$yrXRD zj5$HRYD5hJ<RGu z>qtl(0X1V4c!~_Fpz7kcE}X(@a9b*}DBa&jD{?kKcW$ac2s~p%jAfwoo3TWK4V2zX zdNG7!Q;gA>B!5?MRS5Cu*BC!{vOM!D*E@`IjJyW3&!`)wX;r}%7c+=!h#w}Z=mLbz z9ivox`AyGO>|Bw+6V=Zp@h`*xQ zOT_1D{n$e$C>3ZBwzvIkpF{uNs+5kEg|gca7-v56b@s`;6|Tw$Wi1LifR@;EToNk)lvn^8K;*xI!n8B} z6LtvPetsa=&wgb==-}3Dd8mM^ok&iMt}uP7>rf}ZeJ5fdR$$FTV3wt+Z(9;$dB#hWagjESN{rd|}W zu_4iRWTyi%ygtTH$jXUO0ic{fB9L+Ohk|~{1M&oSLj6vKlixS2qsT?8?P0XIx*+mvv9J9iXR?!^O z%xqnp_403S9TPLJ%W*~m7NlrlzQ@o?^#eM@tmv!P_)yxROuv!g&YKK-jiMjA7%VpL zFDIBzEDF~}hXGhNSt@i6RI#0_E}~etk)CLua6XCdljjRlk&@z7v6wu+twx(#+OG?) zlIJ0kGn0hLz~U9$^@eY^6@6*9F=w10n?P;y@aa>w6pa!M+O!&0ZJVM}@2!HbV?ZS3 zc;R`%);YRUbNf1QY6b8Hcj=G?juEa=`{2Aq&-8n)rFv=AL$ySwPWzUdR%TgSPUM_n zuF*B~j$zNtCsU*Tvb1RFm~j)j4rv_Mf`QAvs99?gdyY8te5FCs+NEGaM&zuuaYJVK z*;n$VEdwQ7xR|i+<|=BxX4xOtD}j{|w!t$1S{@q6r6)cGNcvyn)Q|HIik25HhRd%tblwx(^{=Cp0wwr$(CZ5z|JZB65yXYKW@z2mI4<2~m@ zWc@R*%(}0t4_S3beaWABUh1ew)I!}9PYeNDM35ls#v8Vg+IqF`SKdW(DzZba#MpirzG6XQ9Vwnwl+o@Lt) zAHg=Ll{$Ryve`D7wZqNBZU2@?Tgn^98|%ugZ>N?+75C^R`#)7(T7zg5`6-jwJ&1QQ8+hBB*6BJB zu?tv1n#p8?f6T?z-C$$Y^|>vXh&&?k_V+!Kpizve?)DX}()C7s(zIcxOh+ z=P`Qg^ErS#7nCeq{mNx0dk^EpRh5A7DAfO5o{73j_s$+WwUO_#3Yw?W>7O0;tTT_G zPhRNmcr4mRB;hh(6Q2kfuV*R|285^+%Gd?><`w@+%R?8E9U;fIgoOpGm6<=u-vJ8@ zR)7fwJ48S=E{W`zAIb`n&dT7-R<5wZb$soQO)JZH?>{$c{ z7m?-eyiP9wYhV@AAfY~*tVwalGq&U*tq>&kD#&+P7&kb#zoVl_*38}VX7#;FyXJL# ztmD4rX6OAVW2rr;Ll8FIY?AN5Ra|F#w?h&aH8v8My1hiu>F^W*S4k#R1d(uI&LOpb z61Wp7JEh=pz^J5Z>>L4Djx@=*6niXlf|1mLL_Krh=|ZwmPZ7IB1ar1@JYGUhf{y?% zQEnpg!cI70=An41Rc=mlKr60g5geC6FXlS9i!ATU zw(Ig{q-kYYR8{DcC(sI=_s)GA?+xG{pnIo%XL@SAQ3_20+eW9Xx@GFh`bxXa0o!7ELIW`QtF}w;;*IkgsaTK1-H}ulmuGE6yoEALvQqh0A!^Cl zxGVjZc|nQ`V|0;vV<%#XEg#fc*3Nup$Jer>RH8Z$?9~aJCOuEHjh(RMnNs-vVSw~kk%FExSs(dju1S`7lX|sJE3dlpY2RU*-+MLb@?(b0@$$05-#HT$- zUH18Md)qzjWpw;}kF3Jic)y=`JfG>BGs`#I(M`C4MbCvYpXw8+eBCmWs)Pl@4$`Ay;9Nz(d@QbcBiN^zG`I zjCF*v<$k}c<{v(SO>*I}FA zfK};eKdGq%BTx45HQBL?^bb-N+N~2FTDynb&N3d3E4hMh3>-N9fzOB zXuxK2g744pG&7^Sx)(_`wh6qsJLlG5bc(pwm%f^48giZQT}Zbq+mKjP{SI=PNn#rD z?B@p^+zo^XLOM^QJkHENJA@S@tsD=C{qguJ&SqZ{>1pzjpOc(R`RxxI)+ZaoZ|vL; zCfsHQd@siX-*J6HHRB@?18c6uaP`@5Yk0Loc5Ne!|F|vQ)zRN)JgyEFb3!kEOsg${ zi>}aYe^6e-zLE*^M6M_%K>%uVIWj)$~%24cb3ZmPJ0g z#Nrc<9RSqil|c$gP{U0O5j$JR9ICA%Fv>)RV}Cv5qeiEq7E{m|p1TV_aZ^Ig zUD5nBEQs9nsPLx8X-WAW*0_FA4_yykpZwIJI<*w9!?P6&M?M((JQU&jIJDVj0B@6s z!QU{QJ6-Aa|0G?)glc8-4hanBlG@;TB~Ymk(v5;0;SK*}c=n8g)VY4Rsd&rm(Urr! zU1F(MH{v*DrK(t&=19@T;d$kcKwUc$V#h^e0K<>}?WFvcd8Z#ucL=#7*7CHT(-o5K z1`n5wRRk|XStY>`ETmpEbdI55JiR}!E;n3AX)de|Cc&XUl^U&7xTFAW;Y|qdjF{ORqyi#*R!QmFH zcjqaEiD%oPBXMeE&pO1q;I`NV-lbM6r{(<+Bx&!L^W_k+m&%oO>(sd0v<7SCabhE# z-Qwvhm*MBDgmkac&$})nY+>c|LE=Z0J49|Yb|=)C1jaI4{$co7uMuO*1Tm4(P`?ko zT=;q!8B8k+903=VcvuzwQ@G2?3oUt0TgrCa-`hQ3GpyCb&hy;s+j6He^y0{D=ktST zIDN*Cj7yx5at)t&-?&r>yJ(E!+1BkceQE4jtet_5NK-Z_3+#}GVT;8bh>T_G4Ffeu zC^)Kh_q8=haZHm}oUX~c1LWGPPqnp3GwO#c|zUXrp?ztdDCk<<_k`JWlYK-If9p%Ox8jJplrPuhaGFA6C539Cn8s zo-uy7KlMDKQ^GD;)rpXvgwG*u#EF{@0KeP92qL=1_0Xz8IE1$W86yXi`mw54*F#^< zT>^)H>dgpbRL(7*?w=B@x!b7(MQ`PB673h*icGL?T|~;a&xbZT2iIYo;$bx&Fcy`@ zgpM2qAwTY&lvWm8a;oOM|DjP*`4{M?_4#W_-#w?_5 zBzF?OK-#A^ExvZWb}?jllDw$ZU>>0zt_Y6oZOS|K^a{c%=yU#{6Q3{mdm)<1TxiHE}}l}nMQ{b39g2cuoADFP@JAf`rPr^d8#3dB)@ z4M2fPhX|<)W!0^&I;6PT+!x`$O4A{LZnFUKEU`%5xEBbN#e4b!m)sc25h!%oL5~9_ z#fF@!hduIPY>KNlEJGIRvUl112SHWlyZ z429%ISPh~P4mv}Oqlj0kgYt-!wsH?R>hO4u5%$Mr$qqp}4L$vGq9v_%Dr&eZYM{`OuVhyzCijbEaCa<%CaqT_uC$ihz%}%G@&PLk$;v)*eFq&NP`8l9|V!hOzrEkQZ&*>#c4YE@hEl znGmHdfK)gFHBePjIzXu@&0A&h`Vs(6E02^;8V!g?FWjh4=-kXn{o~~_fJ5ivCuE6TxHYp*1_lH1p{0A zo!#!47XbIZ*N`XJ8`~;;k6wh{xL!N2Jx*fI5zdhg+GgGJn&%a4&8P)-&+^Wt$!gRU z4OXaDb=EhR4cGSHSHHI+(z|8k!sl+?JDCh}3 zQqS90#I-*plR+q_rzfu9I0HU*ywCH83OFMG`|J^*Z~Q=)3{pe@XT8)A*TKpd`ZOk& z?UxPvZLnDG&W35Fmc3TD=w!<}9s)bf_ypJxdC4jjVI^`qYg4>J4a94*a_M-#6BHV~ z6w|EBlfGUbC^SmPYKV*6o&d2Iv4#k|S29(OmD=I7xCibcQ{m3ZT6t2;lZ`i+DB zLB_g2RoesBJ|rv73M99cnj{swa08Y#FNQrKsYEM5=<@y<7Zmiaf+Y2NS8^AVko3bV zx_pFz^oSQhqhcNg+umuJ5B-Y z-8()g2KW;tDo9(F!DH8Tcw_dJQtVH{l-2=^JhApt+`Js0` za((Zp>O8l=63L<)nf&^5hzNGf&jQZ zZWMYV*cJ%^Z=a=C(usSn2f)q1mYEy2kB6Fdjs=EM>F@qLnIy>(qa-v(^?GFZPYY7A z;L*3al^=Iet+s_cVIwAco&K)uPU$sEP-#2`#$r=H%)<*!GJ%Vzwre)%iIx;?hhOQd z6!5=Ged<%9wXR1PdTJ3+gne0LXlDx5a7!}sd+i9>{ z?}`X8Geb{@unb@YhVdsyfGMZw4RM>YlTP9!uvBUQ+#?r}f5q20X!vQ9ELt8~caM;h zlfUS}3OOCHLx?is`3#9w2f2V3v#CyfkW1OkmnkhBJnL_yGu783^A-mnK1vZU(rrA^ za4cwYuhBjo?Cil8C6WoGd~~T!0c!KA`mXYgBwP-HvriF)%J)UGIL38DiU7x62SH+ui(4*bxuk3V(Bi zJa-!@C8sWUz*}n}83#*$2a#^`awgy<U_-bBYFv0V1rw8F7 zErh2Rsif{lP|X}0Ebnd9AcL@>bkncSMWQaSoFa+}vq$38gh)ozGw7$FJI$k;^H$M4 znLX<#nS;?&?<3+Tp@Y;@CK30D@ATWG_o6$39V(okxokbdRE4ij`TWaK@DDFg@Rcvv zM@3hFXmJuoa%O?y7bu_rfpB<5ybGD^&>q6B^NIPS%q9pNL8Lj^U*%FhWBX@SbI@P zM^RaMSp2nN4J432vw=^E?DT>Sm{r+8n3LXZ@~SL%aeHw(eJ*an9SVgPXjQt4x7hG? zKA~8BAGr6wL$JCAXStC|`Bn}?pK`7ak#uqMLj@PA( z8S3Ea5o}_3VxW2ZMK{CleD}ImiR;-6dLzAwaM&#mdU&C&KDAl+o__Q0=7H;bcS+7l z-SKqjqSbHJRMcs(e{EiPiKzU+wA#M~{`9NPLg`7rl4B`+^-L~gak z1Tcy~UV^)3y%x9@I3je0clGnkRMI_;u`^Y+3E&JTu3RtwvA!L*Dj9hxhl)sh;kq-i$j{u!`R3*wKrTZ4?(w=ov@;i3<|EC^Q5UlKYLeXl|N7NA*w;{E0Ys%W5o?IF%SmdWuAaiW> z_HKYy6wF@kR@6gyF}P8<1VV@M)ac(PW|wi8zW9c8ck5TSjXi*pLy9+zPmh!4dq z_gDwj_cSA#Jgr3(1!B_mo|iv3T5xP*_)LSim+e6LRMqv`GQJUgyITi)ce-}oOU_^~ zY^%ttOlXytW(!b#@C+T zNb<~a?kvxO&q%gXx2g>yvE-qVU0b{RpSWl}82WVzv#_j8Z=R6o$YVmOz^osibUfR< zUhgD?fN24dli`a^;}XKUA3uNz=0#%RN0L(PP>sBWtVSPvBd**%^1f$u2YX80j4luQ zl(cKTp5G#2!O0VoY(wACtUNI3Ja3q~jP{ylw|{8c51#do^u&7e(Fj`4yuV%$6&C;& z=K(+!-j#{vB8pqf442~tnJ3e8SW%Fb0xa>-||Q zWb5a7aXpWTS$NaaNzY{X=t?d;_+qK!dsh5w$L*|`O?_dDI`iIw!YAN2=@=xJMxJTY zSf{j6O~X%fhGsQQt6!RI>ZHyUd!kZ3MSZ+LYb?^IpLN~S;n3Nu=C7Q22FoWHlH0(G zouALoi-V=RLZva}tDxZ4vf(_XvolWQE>=e5Gb;nWr{AYiQ9J=EZDw~?bBEEt(Vcld zTKOz5h?zD#(@>DdwtRhu?^gt+-q;%COnRN3UhyXYSU{)0XFmf7FLzA*n_uygloNWP z$BS~A8CZd3c)t(yzHbfHkwwIjjthUkEt_F|i#34`NYcVulNi^Pszpci8^`mQu>?I3 z`jQmwK;M#~eIafE+t40@6J*g$#lj1?mEMxAgBe2+3ZsO)(;4q&mOg`5+1 z!Q)h)DA>Wz`Gk4S@yPG6>~_hwATRg=Ij0vhH|6+Z(G*UmhT`oRHJg}g5h|$bSVXKO)?zG~%a(~8!i!=-{j69G^T~xk# zAG3DcIVgWRcGv7C_j-AS{;>Q2SDH{fF4|1JH>n_xj)DL^>`PqV&%?NsOHE{AKuli5 zcNciP?2mw&<32rbJwz2Rv@JZb(=8a1^CNO%dEf{sZNM01$8%1Qk6F?EIUBf5c+Y5Gn)i)B!QtOY9==TayO7c zGL;`c@FbBYR#C?U2|Y$6oLCnYHLyoQoe#E$E}VId`1>4HNa2hjudDt&NlIoNFUpE zPXtDl^mYFvfpJQQFE`MX(@UbC*XzXzDU>}CMFR7v8gc>nPNn^)Tx%sa!0+qqf&}(n z$wvC;BtizX_fA%m#V-;VL$>Y_Jz!MPk{xn=ylDDtqq_L#X)D=*IsC@Vev=9F<1Uh^ z!k>--aF3>Jm&b1s80QRhrgeb}b6%QAU|1P9dUc7wk0dZhG=>;if+tIie2{}#8d#WFqQ4E*6NB>kQt+AB`zCgh zgUsJRteH-;G;(AH=u1<8VP*;+>pwUlfxW52eU2MFz7m4Wc}yv&ncg+0B{1G?WsK>u zQ=O%eO3su~Sji@I|7`FM1=i?Zznv1~9#rL;pBw1?69i0~P@DvIT4YjzDQHoFN&~V6 zSUYrGZNez58Yt~uCT@E`GAbZTvI&S6D+AVi5}+5j+N9nDA~XLH>o&D+M^zh?G$Zel zq)!{r{Cjnx4SK@tL^4|FL7k^E(b}R6#DYq=5OBhuQ)A9x%sTi(r3vMH;%@Z)se2EJUF@%QVYDWAF1q4141?5k|4U}ldlxN+L^SH!JiG@fCixuWpNJ2 zFGG!b{$5g?Mvuj;>iWn^8Y`+7)mhL6{DOvt=iGNQ(U+F(1?T6mWR0=6HrQP{{Yr7v zH8Wf8v)wh(t?G$RHd3Mbm1P(E!SEY(nCSNR#JXFJ@%6oGgjf1 zGlB~vujCvB1GtpBE|;1H)vJ`62e#!+hhx$LfidcZl30Q$6($Yx9hr&}w&kaW=!1R* zoq;pV>{!GhyK2sb2#{eLekCo%#>lH32MFT zaa8&Jox8cRTuYJQV8f>N$;{@nYAQ{x8cWL+vep_4OYP;Q`GpRLB$al9VAf9KwfmUm z^~>Ys>B<#mI!xvEiemHOq7_uB5QUL?lxVW(%$+U^7Cj5nLMSmyjzvwhS_|#1jwa$4 zuXt#wC`ye{#(Q;VN914)6-yb7(TWn%>0hkX9io=n?{vRQo2!;M32e6~Qeuut*Rx_u zVodmT+Kcj>lUJZPDw~F@v#GdLnwe|yo@yyMQdv_ylq)kU~99sl=U<#b+(*wRy#T~Jwk}qH8~rH zuFO}^n5%EK05Rq%X>3%WiEF`dOe3&XudHXNYHutEboQKbvc{p#9ZPC}8qIO4)GxIt zS4(lCyUxwmXv5*Q=Yc|Ks?h4pw}TvuU|$PgOrZWU=b&lVcxaByyM~sm{b;Rj+?P5% zRb{CyDJ(kV*x?UYAMY4xL_BKZr^227rKnM3;jfa~RHNNq&}=?FENmtTgIjX2+12FY z(&X%7CYA9^o>3_MXqsxBwq%YXZg9HJ;LM{~<4{n>#aHWo{^&@8^hma=ZtctK72KZQ<~I z&9|3&k}Ab-gXeFJ58%1BmGSWc^tBnJq^K2{O`eEe+MNlWp zUP}b!r^*$$_7C^l&;2IXrI?p7AGo|x!W(J!uM{{3!_@5x^^g zQl|Z#?Me)@Z=0L?jtDsWRtF>p!E#!PBS@9S!FR}Nl#JXo zz3T98GRJxT;(_^G<0uE$evr*!tey2tmKF$Q6MK#_1ROvtTL3d)!}nk#z~7^Y@S z6ALCM3nn}KeO3XuPtaPRYmcRoY7x!;D}c0yoWWlsdDqaln9zcK|8*FF5S;q7yVmH-Me zWyc9=Q6U5%6Gx&??LiBY0mGC;;RvL+3B@Sl$2<>#Ikz5tkq!3f687j4_k76)UI91~ z)KCt8F>|Y=OY#=NON^77f%6C9kkkf9;1b{`@~%VQBc6$&BH#tTB0>Bnqz<{|m%FXz z$3MFW26+FniyfB%m(sa{L?`j*H$l2BA_45|EMrXU64VhbmmjtznDVMtEC&;vmOZ7O)v%5S2f7=j`8!c(FBzjZ z^Th@%jMrZR5~b1mO9sn8qcr;dk`M)GjAlQDNqVQgIY1$Bm~8!1zkJ{jI1J9gf38u0 zL<#l&l0gcPD8atJBt!uMBiK)2jGnn~4nPPPCR*RjFCQ=j3{p?}rV;KJF0Y?}@{^=WB@Lh}Uo%uO{D8vAcAcX$u^KkV4 z=_TO00}%rOHmbl|0kzQCBe($Cfc^dw7+1e~RdV(SY|tnQJz+rN3Hky*#DBz?q9}jG z#u!_E^RR!(G<^qPA@*OAsqe%zas?vB@O2{n#+QTTKwOh3@GF5fYjObglnSjzOibMk zcztvLzc8En1F<7K_*bDKT8)T0buNr2{GD04VF&wgAma)wiF zyWD`tL?oWOaG85Gwr&*8y>I#q5mq-w_Cv@{&h`G9MaFR7 zUuS3Il)50Pu(S}eg)#)K*f7GKGAqBsA#X0dw}MWwOL8u8`nXmTwIKv_<({P>bWX>0 zP|AMZ`XtFz6Mb+`Z7LyLUqRx8UYa8HFY@>YB3xcW3KN)}j^ly$qw=iv!u-s*nsN#CRBsY`RL47b5L&s0Rwgo>jir13pN1c=~eV}htQQN;d`wO+m-gM zM4^RwTK?1AeGdM2f__rSEVzq_4HP$w^WM~_KR9q9kn7RQc$^pcqbIUu0l8h`idfD9 zu73@`ejf3+o1XLT0>6@;OCBNef+vtFm`>4_@Kak1cQcc4ReC~r4vjm(k1fCegGmhvQtGAXFHZ6 zlNk~%WL&i<3pDfjMMptzwd`gB${@16vTm^DscaNn?3%O0{l>!Ly^OM-o+4YkQ8yK# zOBC(h@P+Np-t4l8HZu9&qszQeHr-6c`1+TfPc!cxht9R-w<@dT>k}1~K7E$b@8}=L zi7$fmG#%9@vf55^8s1G|KzB{=8K=>YzJ2H9Xa*UI%W_l9WwjS48)3#1Rv9y`%F9Ca z2UQq$jhGSnR#^ND?nnz}3~}U%W(;YC!tK=jp$-CA{2a?c4QlPw%R>`)X(=17KQk4Z zaK-T+lVp8Ek+6aX4W z3P4XHjmRRCvZxdX*7tAU82yDYO=s*dP2rLtzxlpc_Bs-c&p=;XzQ>d8>JLV@B6@Um?5&eaO*h118H9{Sv3PSQbbz@t-_}&`Gvo7RhB#; zm|wx{>SBp4J)u^g)2pszW{ZBO#%u>92t#ZrV?DnHiacIG75hmJP6?N7+yky=w6pkH zn!B2~`ndl1R2=-uj>A}$P&SwAmxXfWlG6dUfVByQ$AvVqURh10C3VzqNRN z#{MKO58Vj@o}Wc@ac)>yu6mEzgOn($l~n;^iZ|6(Gz|0n61 zf&PD)!})KdYu0}!T{E+D{NLtqCQjRI&?5xhctGJT3K86iDFR^t;c$U@iDNIF0goYF zL6wpEr@;ICwsT2CJMAAZBJ8u^@Ue*y^Z9AHN^jL?g*Z#EaZbXEQvl3 zwUMyBzofm&ISp9BQDW(}!dg+9nuPAJ$m?#Ke536BrLe-Yqs@D-rt-?N)Y(kWyS(p3_ zUl-t8Yz)?Er2RtoQRT*d-r=_`*Ui%{&&_vTs#UlM=m;V6jppUNyU82ZHK--?h4qo~ zc>$66S{F>**}Kg6fHR#xq#G9cQanF&RV43Cw2j|^B!A1kjoa~GjOzu7CF~tsgMHHm zmGL3RyXP`88?)`R9n%fZ{SbYR>qUZpv#i6sS6vAGQ2F@bt557p!=v=YUP#zG+)n)l z>!ES4IyRKhJLFFDMswfv!`Ew)%;&E3qu+d7cb~8Mhwmm}<~?|<%v&Vi5uMLHwvn;Y zmu36MS&AVHeW~t2afc>^eUnj|aS6T5;OY0wZ|><;(q6fd*mvUp^d$U$WK#d<&i{|2 zL|OkcnEG!BG!r|=e~%CS=V;Nt>;HmN{}(hG>aW~i^}qaI`~2nq21EZ1nf@CP{Wp;M zZ$R`P5A}~a1O2~#|JMjprhguc{{u|@7kK&~Q0V^&s%B?``up1d4VLC0U}pO-i1c5u z>%Xu6k9+vD-#_;GQ~UQ3sI33Sk!Jljjx_7PbEH}SuN-M67J7Q-|M^TWcf0DLj6SjR zZrsS0E@sQRmU@UBEfp_Hlx|ZA7Dy0~WFUx(1F`(17}0|n(W|o`?nY463Y4O}29PIJ#MIE`32am4s&~<0-O{!g zWTy#%=~+};TKPNSOdOXm6M66JgO@)@dWT}*4T@dv5*ugd-sG@co_z;$))Fk_mkUeJ z^Oi1RgE78VuUDPrtNlh&;gT0X(+G12( z1}1$uF);>Zp`#vd8na(;W%}KUgB}{dKj~rFATecT3bQ=*e-}I#a#E@L7*E+#^D_jT0b$48bpm|`xEv>&@Z|8K z6C0S|LJ9JNAcPKzXv)W#jR>W+j!6=1@_N!$xh49zBktAdW=67Es_rp;PxnrBAwacwJPc#khrVa|DqHQ3NOkoKU3bmS+`OgFYgofaiAyo1l{4 z4!LJY@)cyL`S4X3AE}6YP$7yM0B-@TgM;FN$_2?r3Zy~L8#NH;LvcaT$O9xml7vbU zq;Sk@5;_ZP0G;5aVEgkOeuR;vn%@O{giN8!pPy^rpS)|DRg0vLQpO&8=n+mj0PvVT zOwtKWbSYiKwv(C)3Q?aD?)hyRWwL`FI?}s{oBgCUX+1e=tLr|!VBJbz`nVk3cLwj2d{^}K-;IRbYG7a)9i-~a1GEVGf#3RFtnOa-H?s05VRhcB*2u9|xdAz|22%9m52DGo5QfHR{t z*yXi*O@6*%psTHs&p2j=?on|jCu78QeFM2vw5Yhhz>f`igWj))AZ0)5~NNwl~Cs0vr6 zK_-}ua(cQ*p+CAHsDlYuau|X)9iy20>H$v~T|=TMiY3HL+Qnt_t`P(iq73<|7~w(^ zw0$sv|NPxQg=hwZv9>G9nK?6o1&L`T+GFG(fn)!V2kDYs4Lv01Ax zIMvGuJ1~cPqgQL=5M)e4t0t)lr4_77XUmeCBahxRsJgP5_I$n8San7p__=+lJ0Hem zWu$~83u%7pfArae{o+UZNzXP>XgDq!2|SvWn*a-z9D=|KXf@CYz$!N` zq=rc{PYva*7SJ(QFc*&7!HsWGvd)a(WX_AA%KKRvx)6eHY@GqW&YWwZ6e-AOJn_3S z&c-cSr@-E<&^SH`Bw!3W;1r}DAR^SC8xX2bD&aIvlxk3h#TZffeOw+YkC|T`su+F3 zgu*j_6XXbxVwT?>bYerEH{@Q9BBGGelSA`#PCAG zJv2-dNda8peLU!UWBPr<*0@chv{?!S{c@bN_a*RPD|5&_5M6NTllGy^&S3oy&n@Ul zR^A=Wy>O29_8tSv_#F7~u^JxcQe)qPMJ~$~I+%Hghseho@vDSy9&T^Dt^77S>mHJ2 znW1QMk*Kcr(%<7*tMgi+iScl&LLgU<$uiE7`0F227s0^Gn6W^vG~5qAeobc+l~2i$ zNpO1=ffNdka^sEs!@$`7QeI{q+y^&|Kjx?$8oaj}0;(>{P2`pyJE+Hg#hzsrxY`d^ zU&$JV%iN0#whfoD1Lx2OcN~a21Wa;3B+~NSRQW4W<`6WCwQeCS=bQ7`EL%WRqXWCXbM9E)Lsl43_y249nqP>0|`D zI;3<2Q`G{50&IwR8At{R!On4-N+T3!f)PKsekMEeN+YqWa-bTnVw;>Wp0&36u!^QaIr@1Pknn6@5?SwZ|!*f_tm8i z?9i9)4di5k-+F7O1O72oq&G4^e32wc8QA#*u*?LQ%xjEQnSuuy3+d>mQ_$7VK-up8 zGhMg1I>|F#{H8jTnq9X)QMgf)X$BbpMk(xY`s|^oFW528A^6oAjYZsiyp@B(3J8QD zi6o62a|tickV)Y1#Pb+`0G`jdsj9FAE0t*+=FmWtQXW`s0in+!IMDCk%ok$ZSEpkC+=+~n{ z_NtLyQJW0;C&CCypJPkkwKN9$WumA{mB^WYYFYjq3P*2`lF01bA|`{ofQik9ZlvKO8B^YEt#V01Zdk)A(v{I!c|PM1%@0rtE$i9C1~)M`_JAfV8;2v z31N6~qW`uqrvIlsR)Y_v|I5UZ!~e7&HL|HHk^DH3WP=$AC+at#C8~szNjw{il^2 zgn%7{gpNdE#)43mWhDXA;|eB%PD!3#Nz4HPwV^bQ$Ayi%CLkm#N->}X+ z@Y8ZSY6*|qA3ZF_8(%KV3HUTDr|lZDQIa>f?a%Y~!JyyQI?Yw9-%Z~;bSG6lzd3cy zpC>ZcD^ycYht(1ruO>t?eK>Q{br{;dRD=w)?haIG)G;kx(hX0nbw47$aS8b7WrVBk zu;UET+J%boNt@8~a@CLh3mSpKAcTcM2o(|Hk%AzC9LNNWq4Ka4^opim>rdl~F@bBi z3&VgzEFhUFC)7`+9D6uY^Lapz0|3}>bvV$$x7d&g^tH4G0*q3Ly$*NEQ&kz@UxqW8 z&^L9ieSL-u8LcvXZ0Kc?4Wu;QcK2ybP#^~ATS0YdwcsL^>K@P?>yWS*K|X9VEP%n<1T2Jju?MdtVA;xh z%euxHIe|-v2Eo39;6#?p-4-zBK^pNVQUYi2gE9NVm;qtVf&59i<%Li9k)85lcb$N+ zW9$YfNFd>?Q9#~vBE~YXa~t?oD2LC|h_w4F(Act$j4@=;v8`22yu0CaxVckL-;RJX zZxV!#-A>~X&9jXTHiId5G4l^%`ITe;vD2OZ^&3E8X!1`(MW+5~sQqHVAt~Uoc;vjX zeF@-CFuJF!Wxw1i->wF-(q~JY#99kyV5xkZ9I{*BV>h z#d{$sP1_t*<}PaKL#POuaubD8^eOxJi<_`8OwW>910(B7QYYnXGH%A}nzK_JO>qja z9T0u86$676-U*mC>CMOLx1&ip8=Q}s|3k?;K-to4X}e`xyKLLGciFaW+qPY`%eHNs zyKLL8y8HW1pZ-t(efsvjW4w_$=Zwh6$XqKjbFP)+$)9XCa^yX0K4Hqebp_O}(eKUC zg$9v}24NsU7IBt?F|J~ucPzB9(~Jv`sKulhb`QfIhb?bQMK&@$09nQ0Se))Ht^Qz5 zc0p7Du3j4Er*6Zv&=IxN0Z0S&QwLMkET$i&8gM{Y30W^Tk`Zae*>M5Y0la|%y%M$I zKS#;rpwp~Qa_|Ri>-E#J0}31GPw>}?30zh^*#uWQ0;aqNOn&vN^x`k)#aG6QD~A_f z0xvuRR(J#~d-GHB{%2UW==smgEPnp;X*^s3dpwWP)*|^Jq6VVk=+djtX)8X+JJimE z@Mc^fPN-b2Y_K6uA6>6$GqtE6NN7&&o>~`0f+g-_1C2;@vQBF6cy&yaf}S07%q^*3 zpE`{UtHWMYPGHm3V-K8w6v$IkCKQVBTAxNgKOQr1#j_+VSDH6-KC&DSBzKPNx!R z|FU8Q7)Cd0!VEmYE|ZU@7@<(g))Q7$4~I|jBT)ky&jT5hfK&@0p+_Jo|Kq3VgBm+NUaz%Wf3o>9FOYX9kZ3;bsEw>hiNF~u6F#UVJdEL3cdWnuGraP zWpm!?j*qv{tMdl^EL0!pZjW?~TROz|^9XoRh#=}*X<=>-YlhF#{)+=@QGmy&J3kOe zQCg>f)177^gY%glZ|8`@y&7aUSdo3fIqCtR(?ud>Q|%q0R|txmkpypKhrM{Qi^=T^ zNIU$YCJHi{FrOJhJ|^rAUzmiDG7#Z1%nV+TT4=Bye-KKz5<<{QXs{W7&_&pa&vQ*E z=OC=4?v@xdfu_c32rS+@x5!T&(ijyj>jPlJBWTxcZjnto0A*C=4MtDo7LEIsARXGM zh;}z?RCVT{%;P)DJ+bkAGV|u*ihOQ4rR!}t=@+rk!`a20W))agA+RU^#d>^lo!G<> z{Iq%1EhjLt=Zfp3yH56R$iWE&7_g6t$2qTIk;gLej7MyV z_;A9QM7^#05WDj;PoMHTiCE+_+qydf@e>o2_gne#D zTynhrcc3Uk1AnDX@UAW-%vb~~w4BsF0$DYf7pf)vYaIA@FdkWT0YLT2;-}O4Ac}HgR6M`jlrzA4w>bv<2kcIP(p< zL|o{VFYAT$jkmK%5`}M9|34ziS9NZ{b!yPb8R?tl22}O4Zz%4xVi52<#r05s?HK%koLIH2&A5HDjZs?n7y3qQ#`5> z;||of(A4J+6lyTgujf^3ixiyeFYkCx%&ev4akPPHC`b`74^adh(Rv56dn?{##weqwKrZP| z9@+@-UsZ}d4}?80xSyuuRxHx2U2nXuI*m8LjmKS`6Tk8LyW>?L;r)C88=(#fk;-`A z74pG9+s6hmq=Dks0hYb6{NW7Xs2~AHTvRSgsG8ZpksPQ3D)4+OP@z4jRylyV79fr~ zAYm7fum@<^0~Eq3D*ikbf1#?Mcnv_jj)358;5N_>yxdJ-L*5pY23>g_Cq4ogNe-%G zJu!oNv!eC#1`s9%g1fT}eh)ybTN+~0Yd}UdP~i=xFXk18$NF013! z(o*vTEgTO1c?+6XZ62SlTb;U zXXLYUfjd87ZX6gm7$B9%Ce{pz$H^sexyu*$uzNuPevsSEB}ou%XB`|01c{M`%i#w> zNFdn*te(CDy(ZKj`ZW}UIm-N^BN_Oe14DGjJ1#Q$8t+Z-J}iJsJ-!Pks<5Er&^3M$ zNMSb3NKR1U?o&3Av#NY3P9rXJXdP3(_@OcK7JTo7D5nn=Xo15trjLBW0La1bR~V}b#rzGdTb%F@CeJ;L^^J= z5;7s3MSu}me;jdF6|p!lEwd;f#=ZZTvtmWdZ_ z98Mqo(b$m&3>&spw?2!+F0n^rC*-Bwk~h;dTusTUF{Ns&!)A_(Ed@1oN?R32x9w@9 zL&)Ud))?!pTLAYxRCr}CU)NEKfJ}VMm?%=i*G;mTc0rG6IHfW(13|)MwRiYb^|ft- z2%jY*zyq1=jA1p3G~HNszO0RLO&OgsvRDFK+E8jtWk7#!IFI@$Kr2hC5a&eZh~6Xd zLa_siXg7^PEe=n{6yuO8!5>y1hMN3+azorPYT$}|O!}sXgX!906h_v%)$P2vZ>!c! z(Lqo|zJA8ull=Mw?^mI`vG-HZjX)=)C zbXA<6u}eP$jZ~;k@lFaIPk1EFEJ2bb0@HU4wmuO-Wk0TMcqfXl(4ib!Qs75Qd3!BN zp#sH8zk(coQQqI7c{L9TmR|GjG=@0fGzdEy3p$HD7dv5@J^C){nLI<139tccPwwM@hE(4fo$Shh5E4Tc%>`*VHqtkE&!OCaeuBuQfNr zYe@4xp4)@j&|rt|Ykr&C^pGJf;!~g!h}?1@H3}f`D18gUk^lIo0$(JL%pyNUlJyOM z*$UN$v3?A6*-jC}QtwJeWPmS}6YxvS0na!`&mf)q=!$JV_YUi`$K&^RC|{?*y2H`+ z7h76j6abtEM7#*&@(2OAD!rb2!>s32^6pwK;Q7W$WUkuYx6z3I+RGd|1?Tej*G$6c zv-l35E)iOSvD5-XJ-22IFbx|Rq2zJmM=QGlZjnW@0i`g{&nvlKvt^Ml!=MqgRyS-~-IXH14g2y-nLi(xEW&uUH@%NyIv4h&lf-xODgh zKlt-fCD@>7ts7DI3>Z}T^%lm9!->1fnMw$R;r`?sxT#3k<)6QFs}f;49*z(ixadrW zypx&Rfnydk<~pOOU~WGpq1TRtPy2cl^0{OeQ$QY&sIp|~y092Ak!a7HLW)wgJ)FLa zL}QhIj5DyGI}Rl4M%8E@R7ye3WV7w&f;|%J#v9?<=e{;Hinc~fni7%LG(Mt&L1yve^wgCHocGRe4dluNT*#*&KNj&p4s z_WpoMchEo(RD_iR5G1?!esV}~KoCP!?7AA0#A&85>9Q0)K5^Hxg=*D^vpUGA_-P$x&7!( zhS7r)P>0oeX^W2gHYV17zB7&N3xW?eu9&yTtAJ4~2 ziAVGlZWQh}Vauk1<JDOgmdERJ^ipB7Zy?@4J0T|`jjubPdA z0&anX8XRycJ7WgQ5-wj;N`XI4o8^uiI)`s+Zb zEHt3vF-c7kB)!+zQ({Z=EvhiB2nS_VcEFXPd3 zieax>44@&$zjKr#-~VKuG*^F;cQjWRwG9R*Qhqt6b9>TW={NH=PT0K;0fr8N(KdmN zRsrRXpIk}2Nz*N1=u=>AR|3b-eC)hHi`J(+{aHc&!89E2b+_ZTs9UUG!hs-|6C! zHtQcBv)aC!}*qyr4 z`U31iePyEc!Xl%PH|K|BJRE|IsY6o`K3c|lOo5p;({!Uv3gmpFx+OrQQAMmGjAF3z zM{|wI6jcmkQ$k#{c)A#ttV30eZ5cH)6XRtu*i?0FEX8XHp*FPD+X`7oXxg*67#bLs zYKO0OkHZJzs-u9zuCG0tqGf6c5g73;=vJFw$3Ln(qRg{?e@KOYcby+~KYScUKm8_8 z+0t(wzJ7TQJO9P;y1rV^_GN3n3Z?$_TL3Oi;7XOD#bB#OSfaEm4fFzwEfEl#F<3MM z+g*`nfZ7m$qJ(%tm1Eb>nLg-&ad zn$iWmSR!LaUcR19XF6Ngzl`F1%;vTIGlvRZrwvlIfk{iieEG6M3|BM5=15(0tN1~jJOm9Klr~$>VFZXh>ji!qsVl%@UKynyipX1conlYRb@jRIYS-gXmo;obz&pw$*E}zvLum2{%#J@9Gz)77l9FM>&@tD9nphW_O}HLINJO~p z2|SSGVO@Bum@v8_qh=~9Szrm>9Vc^V4VJl~g63CWp>!38!`<=7_}f!a@+O1RT+Fp@ zU4u>R_k-y=?XFsmA$N7!T2&35kxforzsQu!ca4vI!}q=Fu%uh}NLJm=)Ay!x03?Um z^r}ylZ^5?`aPmOz{Y0x+ue`RH2_j}Wi)h_w;1Xtk+Du4_dzyok+@eapgVHPDF3Mq! zQXB=48!0wyXT=`yQmXW_MrljJjDl9wD8tu5ZAz~2Uee?yq1hxOY@N7 zfe_I;&yUiuQ=|wAFz}6iD`jSbSqEQ2^%0=2UM zZf5wsNb`S?;`<;Y^gxDfgACdR%+LegX8tprI4y(@vzfSA^#(a4FJ8i23F(<$5HJmfrU2nKm7 z7FB<_pj`~VOc4IRZ~d|I%y`2Cf3gv zla>a(zKy$K9{0KUHjL%UucgDE@qE%PYfNX*lI4_+wz%DNLy6i(VP<;RT+28y^YtRX z<{-yle@IhnxhL#HrPGfT8Ad`Oe_WfcK8SGll%5Vq&fMH#Mlf6fxR%(FY40WdGy=u@ z^^}3jCxMwj1evb!K*KGtchd(=Ku7&y(*e2P4&L&$?3CqzV)rj zQ3WEk#YlB)8Tm4b^KQR6Yjg*hQnnLcwi?L2KCI3_^#~b`dOgB6%328>*!}W#`2L#M z|GBj70-^#dWQV8f+uxai3eG?%=<<9rx;LpZK+P`<)E~h;ydHt9)`IvFTT|QS)t!() z5UDz+m{+2^J_=ILCd8U%v;_)s-u)*>Fg7;sT)?jcFp^dgArdL<#K#F1%k^kN%St^M z&?O?G_-C>^YQ8#?djr!};uI)Bo{_aIk>_PAUXyQr*@5iS8eyCo+ol(CXghQd82HswC;`cp)T_oqtm%%~5-G9%<8fg=Bz6K3 zRgg3eR#gF7101bUrYX<)=9bg#7o1W89JLuvDIU($56VzBt}?97-(g(Ov!-0Tt1^$P zGH%VtIhR3ydv48%8r!W6vfnUOR9rffck`vfnsD0@lPy3E_Z05!(XGY-24MHCdq`2T zxWxGI!({Mi)UjMB{-6_q|AQ(_Za`HCGy58-i zqsTVP~dTzj|dY!HktP0R<&h_gZJJo9)k*sa<2-^X>QjF00~x#p}JRY36T;J*i!h(ntf} zR5*Sv`CG+2)(+J^F8BaBOLHNPJ_Fb96XL38*Q+Q1@f ztV66S2c5!nMbf>+A$FC?WOCfG*CBSf1K5h8;^U5^I+7e>Arq;)U6WNcHi+W1_V}k% zfQMK>Kz!NZ1Glx3o3DDj%mL5EbA9m5=wQF|ZhZTz6-t4AlrJ?TLvT7_WAN9pgpd^2 zH$}m>v0_m1NmSGdN?lbMHW}wp{W-GXK!uJ+8SMZ9gSTM;vXd;ODz|qWj`ShOm^%BX zeVNd~%c7DFf_Cu5-6_PA?80+)a3tj~S;VCyuIWwq=7FAmy%cN5oZvE|JtOJg%p3Q}1Mf zJy2`mUolJchCNtjRXlsX-9OxJf49!6uA~Ji#(q}IP zN25+Z6TDz;Usqx+`a%2`lq++?U^>`A9!auecVglY5Q3<_z9+>;+kDH}EPiqLm3PBd zGV*e%u6lK^Le)4N#FQ?eEf_N)qdQeHLLwdodb7o13|Q~cJ4vpmgI!7~{=E!zDHh;b z$jdgLmD!m|K8pgKh8x#3D|1XGWQ`7727FU`XM#9HOI2)bMzSVBr z0jN$j&x!h>XZTg*=C@o$IPo-I z;9y?>Hbh~43`tk51b$f-0hanp$+Q$q3~0`s>K7`kW;fmLl|Tf-UeeV1rX)X~an1@7r|-7JntO_V^T3k5t-$xVOZGiVKGD=EOnl@_ z6(maVql;E|d31NoA!`%AjMu};Cue^d^7R~png~g)T4wsV<`KGVU36!RN=3E%=$ZQH znka!hs1BsV2Q%yv?3ws*LQ2RZ*Q(;^)o}JgIQey*0eCI}rX&e9{T&K;TFOX%MC`0l zIq|hV0U?ueGZxIiEWhPfyk+L=0Z=Uy`hR&zuF3Py<#PGzLITB-4YzXhC9kUqsX;9_ zKF^a}i@;9ZLlQeo`>#+9ji%Mt0ZN@oabx$;Yav)95>fU0ANo)qiU+63(H63Wv zNX8BGkQdaRx0x(oc;Ju~Q*;l`-~8#WefQ({5QNPN3DZ-c{U8^oE3eWU@cy}&X+o{P z1!at2vjxB6@9P&aI13OJH5kamvX@~lKB#NNhON9&?u^f5`i*B9jAyTn<$N)2EHP#U z)5mL!duxoHhPO(8hq@^_j@4d?F1oj7ve<|amul#S+ndcq+sipp08SPeaCTxZ@mDh1 zoBB6UCL5OTTv6sN{D<(L{ud=1($*rS8=9!*+ex9?NhNpE!_ zAsQo7RKPxSAkh@3vlL@bRVuTULq8whW`fmp80%?SLj7>6M9I!}N@sf=TA8QntfL!F zT~XELZebfEIWYI6SHwO3!4R8i_#)S}L_}X14hb0@u2rs2h^J#W zLfK+0BpyUnHr}3ZH?Py738=LEqu%C)*g4`hQeAjN7<94&xN=(lsL$r;aB=w3~==m%e z>7a|EtOH7j$RDLapItHmc;2AXaPEDMXUdvlNLrO{BOyZpv#dhR!G8a$1g!aUXEz!5 zD1Cx9URd5j?Mq{GeuWK@X7rlGgz(9~ywhvs6yIzJ87L6}x&OcrXqBRsS_TJ@b3x0@07jrBj3^F(tsgCxj- zeQ!g!gabwBA4y~`D)#qV>u&N#d*VBL;^RYUu-Wc5A-Kj8xL*oMOHpQ}Vd&m{R1z01zdLUx$NR_*hl{}tjyZ^Cpl!z(hlzranTd%=p^!I zz?N2A4vFl6#fBBF1w~{Qgp-&^8ku*8jHj`6KmHn0rK^ExA`_m}cAcv4TW_G`iEULh z1h){KSWBEY^u#=}tuSKqt4sDRH#;RsUg5c0ADFP!(5*9&p)2tI!2HHrk2rR@GKAw9 zR^$AWntp!wqx<9fnhLN(BxOP4JybPpb(`E0%7jBooNz9X+pf8}>|m1h(Nn<3p0UQe zX-fwPvFq4hFYvp!p$sVxk1|2+nmn)w(AKq5#F*8!F*qSN!X~N{OD$c#5`f9SpI_rJ zPjx)3j>SD3#gT`jKG7VuIzP7Q8??T+yAHR!*BIk2!@YfL^#`9wV>tepM7^*1#Mn1B z2(sg<*>+g;Ro=sjI$@bcwTvMSHkXzP4|zp?AIJGJcsOqbo;2*onGKEa+cNB>$Pa&K z0#q*>!$pZZg!`@0a3aiq5Xfg!z&Po0gg0Lkyv{!}St*`*Xg{?^XsLqlqk=hJ39_WF zvtB8jtiF$vH4@bj2*mO%R4n5+Mo8A2+lzN5_W{>vrLdbJ+vnyGgmAP`B-o5jx}Aj; z6WTBzs}_z-LhCOLr~hjvttHiWd+&;Gp7lC?V)B=V>L||lg@$rl{%tJ0F=;3nc4t%L z$5A`Ar?zd{@x1eZFc(wo!Ps+dR|e;L}$&Wql`+37)jrv5)r-|UP!MH4!DGP2{k-ZANdQ=%F1EwW8 zZbYy^X@^}uor*@jGcy~k14L)UI}4>f!tjtaoMJve8904?s=mvgMJkv=Mdr)+!Xlcb z@7f(@2O|)mN4=a%I5$1f>TUb9^{Z>I}dW!mp1#WocCY3&l2eo{Cd z6JPO(FfG!v34(MhaZh8vT>Yht2VM9gSli?tF7R%yP}=9iomK2{#Vl^1aC)HdGYI1T zKUyK{|J#_y!M5uLnQ^{zKz?l_bgLHku7=2=3OJ59(IrZPBS*Kam!p}QTPkz%^*njL zOZQPN7BugPWNK#{4^tfc@ZGghg3-p}X^4}`hqhYOZSkW*jcRwt)K;##nxQ624_^29 zzPacPwC+xre8N#bY)bWNwA??)uypZhw~-$k<{atK%zcFF0;) zIlj_VYc8X&;@8B?ZL=I3t!b(5tT8>0B>7b4N}Wz8-`r|&IcRxofvawHu(|hdZaY`W z(}sR{Xtg7u&=Wmy^G>o@5$y{TEhEAd`Bpe>{mcF%d5K;~5srkKnXjh~ul!mu9hwY` zcYacUt1`mbDStBmFn7)pd{dPVSDRaN*oXx6Xp8DFvJyWquqD6}$4LQuK}=n8xgS>H zNSkIs;OYye5b+zJsLvNVT^)xzDM{@bUC#QGBA(TlrE3YOIa)e8it{W_JCf(LYpoq$ zqTjmL<#?{tV-f479QAFlU){i=QFZMCySx6?-tHJzUp>nsCfxQv*MTJmFrOQ(z6PS_ z9Jt+4Au?uyvwMB4iEFFbuBh&L1AKeJ2on(FsflK<=en>uk>R3WGEa2{>Zx*yt%%d^ z6QEDP`hTMRJh<8a1^=XhbangLdD$+PIqhq4Sg|Z8kE}`vfd~!Ht=yVj)=7GP(v12@ zAu?v3!X2XCPu-P3und!32s-pYC0edgF|ea|ny&JF5K6aIDJPH48CZ?$mZDhqkwv7?Kq4h@YZqi+gs@y_ zB09(Y>Mt$W-@*^Xw0=ssuAbE6AQfiXUbq>_hmadU0ABn!W@A=wx-MgrMZR&fh$u*}~ zpsGuC+vl8PRdr7aVlT8owHp+znIY}Hcbi5_dOS^#8yJZljMxrFdUAah=9$B5yi>LhCcDCN7b)8R zM9`lRR-saukcyUg+dF0DhJ|;h5_0rsMhyb4uxslX#fIAx?M5pUd-fGykkY9<(*tE% z?*Xiu<7yO3ZAF<=j;@@d8S%Fm^8NaCSo7B7LpzCUODe1Cbd%Eo>!q~?cVoAsoaE2l zmwC7ElH*w*D*DHkN^@T;OQ%+S8{z#&9Bc5S!J6+b-Fp^C25e5gk0JVHc5k-ObSB6T zvTqykD^bF^ZRPZ2o-0t!n{ua};P*~`aGla#Xs4Z`v5C??s#{E)ONrMu3Abtm?`ou+ zilAf4-M_p)X5m93zvT5 zY<5Jd5^yi?WEhB6HdlAg(XDb@iznU>ls{KqwkNua$UpbG938LzWLpg>mKI$XS4A|> zQpGDqT>XTVKB>9+yHM<|uWuoj1Nv35-s;%h zCtHu7sw=l&JfP!mdGNitYf=&EhGcno`Q}$5IrX9YzV-JWP6$0&-#<_)_?>#GD&;oh z?tU!_nFrRxjgyk63bi4Qf6C>A+%clGPt9fmcnSMD2<9*pSHSNjfx6NzwL|E1MEK*b zzEOSDG<{*;6qQ})T!RzXRrZI44%0zx?1WEf=9V@Lj-9zQGB+rPPqgnqm0U>^{JG^m z8?y>IPuDk|XLQ(FcwfyQ-CdL`@le%Do$$zReLxEsID>!qYPE1nskJ(Oy*$6O^6Y+# zJW5zv@A23_lOEIf=q(tE?ODOT`J$0>*V+9Vs9ZRAZYx9N$WK|n{;p(qybRwJga6zT z^;JY0ubaz_pRS$vrI*KiTPS~S&s{6~nmkLNDb`K)p+O@Ir0fxp%teHk?vVicW;nR` zE*Igy#Y=SZK`kp<<+e>^{(=ZU- z3^I1q5)W!egDb&-!lNn7_^ZSUz&11iyhx#~TY?+t+Bfk)Xp_M%hL00jme=(DH@8hv zkBpnjhn$BnR)seUG1Y;RS@*8l?}=j6-OvGFTikF28f%s8M;=YrgUk4y*u8=VgFA!c z;c)w03ALk7URmacprf%F|O~-#c4H9og($58E{*58Yvw^ry;ZYTu`Ao)x#4 z!;8t+c~8qL_&c3@)MGr_*1DUm{FWrda?(@;Ub9Xo^yXbnz|do=R~Dvyc6vv6U=Y5% z-qt5OEq{C625YFv0iG7}T7Vl@6g7~BTLI9NUQu7s5DYZ4Q)JMiu=o#Ye;ncfd7sm? zpZI9Q`Mnf_!-W)!l=0NX5+QZCCTjj11}4qqwSmG+;3(|=t!eKN1&!T7?&=}8>M8Pi zF~8Na|6F6!ohj^q>}%aohPUgdOf-$rbCzm5P|&0BTzdZ026u`0BZnn=NA+{tXbp7J z4!r2dDCotcu^0TQOmzISY52i`?Vu4A-U`9M!)hQ@)XY|4FPyzC4>vFoe(|H|%10}Zi7sg~OT*^zF`6*_Hjz!Kb5 z&%W^o65VEy$ADmO0q^d&%70F?ir1gh4A4{7OYgGhNzQKX6U-cz zOI0g8U&IK-1<<2(rl@Du^8nNfD0|v@>@x$2uUU!BXwYUTOxj4%9TFqBVKYqurbl6g7YscTlvSl~2x~DWjN| zrYr+Qnqu#s@59;foQ@F@4vdizj9EIdWZUX2jEuAUl^D3#>FC!OQ+BLyRZ|Yr-J9oH zoz8_LtDM~Q3|oBM%*7jOEc82tY%v^Sp2HrZY>!T+G#8jBnAdoiHm9fA=qH%UvXWUG z-PE!zEhCyhw$l{j4=6?+4vQ6MERWm`#%{Hi;yjK|u^b&cuw9>qv!gjS$1i58t}}Wo zCt$}noTf}03^7#|7G_u1mzcSJ#l7ILaPSU`Xs>?#Wjn|$>2&^!wXId%5OgL1LRI^Fj9BdgwaMs64Q*q+ntQ5d~#E^Y>m zmJnOz-95g@db@Q^jrytsJTHWU6t*E}r?9hW(w_yhsXPLk3|AMYc>VM1z}|D~Od!v+ zmzb9r?WHBY*19tY-0U9RXs|2~l^C0RbE_{NVE26zf_vPq zIm3lsV683mJ0RU8iuOt!x(TdZ5H~RWYkT%kE7Y3_Q#fY!UAytU!-TV^qb z+cw`_*)DauJfFK~Y}lQ>_p4Qx?uBIWI-OT6J3@Cmcjpf~)?KbQy+5zo7Yax?L~Kk8hu4d5^t5euo!Kt6q6t zg-)w>dtD7BHI;3Pu7lce^`vyDUnWz*`+ltM#_GJDg7a~H%+2V&--w0Ec6}Y~W(IN| zj3;4CyiWEli01O|4?^*%nT=;9;Op7uKFDFnRp0O=m1>XHerPg|M&y^rBmgY@JhAl{Cxry2%31d78&F zrjhUF2>lW+4Mmytbu{7eymCC&nF(?=#B=UjZClB*8+>x5*q)V~Im{WnwgcjZQtjBa zifi@)-U%7wd}&cHGxRFHre{FpsjvCGMkhEu0BH(cbvgpsT*dJF0Z>X3Y)2EK*QlNN z1+ALi}_EVG|cRb_zZ0HtoRHJY|Q@?CX1bs@n11nY;6Aplf}Ts^zSiQ ze-m~7D`SW4zcF@L7#RLHOjgoFOaVQD$g@{)Do-TZ3!qaW1VwC2(hxWE=_>$`4464k zSe(e0kJouS*&H?hip%DnlDbIys_nBkTM1wBFOC=W?Dp>L59e0tXjL)at2be+C6_5| z)jJ#7$F#ye&sJSi-__?5{Whuj+}#UKS=YyUi_n7agu?BTWm#=s6}leQ&|2P&;oI1r z7atXM1?BR`lDK0_9-j(2UeuNIZrG7cFJIUcvEC8yhw)Jj-g5a+7R{SewGl8* z--uWil-arv7N<&qJ8ImnxynBAoJU36yC1f*2d@1;eL{WA@3`DxUtynMUvciR?ovsZ zuL;DWLq6b|(C9dvAt^#S`tD(Tabi&B0Xr{ zZG-*)w5j_>LVmr~7V`ne75nlF{uRF9f7|Ef8&hOqvw$M1-~+@Mnbu$Z{QZTzPv1{6 zqr2S*%J}bQ2>bs(c-H?kBmO-;i{-!KvltlhS(sVy8UM2BnekcJ|ADk(W@f@?;$XpN zX5+wTVr0cdmSVc-voktTt!OZhZoJD%`lN(2J1J%H62MoShTX{+b^7i|D z-%_`VKbZT$`?>GU%lGbB$z*CWz2Q0Y>@(BmdQcai{WC%22`Odr5G67NZ~L`?3sQds0`j$)6uIjo_Sq7W zg3k}yqPhPDOSuDcq{QxGos+)#+#0n7bL4v0P3T)rR?v6JUlOuREo48!f3SL&MGG=Z z^dXIxzhUIYfet>9fH>z(jnZ0`GwyIJ7rHD^mPWeHt z&p{$tqhM-ua{d%nG;uY-x+(rU)<;4dH9X#AUf?N_7W;><1B{_t1bMP9se6zVps@tD3G@Uxwm(_$^jUZL5d(e=0!PE%LdVnwL(^)U zUmiT)zOQ*c-$K7sg>MmQ{kjQ99`nvV{6MTXu!izgt$xH#Uq8)~Pt4AKycv+^%i1y3 zCF8bA!eGuZzAtswHiL z&%<5qPx)zb&A7X$Q#0}tRws5P(8Yyye|2p(AJtNGRzcR3q8J{u45#laLW%=u zt{%;IJX_3Ofv2P)f8Ove4eB2INX;2}42f+%zO`wreU!Z-0nyf%6*}lAjK+?5z zf|uHzeqBG3AE=D7oD~9JAy_>?J!U;9BU~Gj0~K)r^i&)8xDbNKk4Mg*f;T?`dZ11o zOTrh=vDePA^D`GHFf2-cg}?!e5I*Z{1p3b-aS;QA3u+Kp;(NzM5~vD13Bd{A`ey}o zLb+qz0S^8~b@iboYsWbmp_21~m%re*WI)qdBPV$UO=3bAf@_omCIMFfDGP2CSQcy+ zbP=cy!S=%rkrK=a`M|z|I}i$+?Vs5fZYjuT>uM95xvK&zh+%gCQ z75(A7-C0>2D*ukT*6H}H<16+Y@@Xttv+>{*O!8dBlT1am$vP82)hBr zAET+#Oj3ar)fUOd;&QdUfmsVA*5XzEXgF}bKG!=zT$ zmtg{-AQXogljtys$hI4Rn!F_rJDeY`Urx>H$s0&ehlW-PYFOBwrO#6-QB`lUK8PF@ zYP@V*761`I?!SHCj>31sn^dH%Syi4>_KY+0*g-8yN=0AvzLr5fjY;n;{kh_Gn^I$X>+ArE1%nM3M3K4(O^Pni8&P2a7p`D*`RBV6{*~ zv8{wliY7JWTo}9QjP0!)Z`Jt1t`1qHHES^24jLVr0tj21?;cf5{r7hx06XGUlztoH zC^PN-DwrF_9qJD1;5qJ@0H~5T78&q`PRJcPKM%a-m-MwDNUPki<$p66R{G=<^h;71*B5 zoAv*35k2f&V83am)w0nF?V1lPaAT%m5wd}eQXIov`d-#2YwsCV36A|6-)aX%hLjTy zd&s|l-3|pjX0KNsn>_+p%zlUbUxNHj*kLiibM}mL+O5dpC+zs4$YIm|q8P^cOa@j_ zjB^-$@}hQ0h}gy;V*lL?)ca!!IEf-;BMO@)g51;tk>Ze zL`YFNNOgX(8Zf2e<+{b_J2vrp$|^5yG|Fr%w{wCUt%E@srC3}#$}p2wX3uRhq3VU% z0?HM{=yO+W;@g22=HB(1EtY_#)u%A_W7Vfs1i=UwQuDX_6bQLHj~S5qY_aJ!xMu^; z?6EsmT<>9dT-<&1#NF^&aix2`1YU8`a&bCo9^lJq-v_y0YGciwPC_(HxoYinvE$Yo zgQvSwe;}F2mrtx1R#s5am6Uy6)ZuEhccfk^R_69GJG%wnN8NV29{&1qg=_1hcQ*LT z*Z5*PmRj54mFW87Yj`miuiD%<f#wq4bV}3d<2KY$=>DPx4RRjcOM3|PmupMmx z1!7-Pn4W|%JqckN5~5T%M6oc4A|as?N*nsK2-8BZu)M8ACK#GUZ6OA6z;{#@LS6`e z#;-KYhy@tvQhkApU(uLrgT(q^)s}Mip%Q376GAR$Q|gVS$%B%F~bZ{#o16O*j?aO zqcWtTtD1i+D>^r2lo>H=5=p*gtPS^Ud=F`M15 zMqi0Ekv8l{geC;SN<=GU9%_s)eqZUB=#z^hw<=U*^3~d{N&`Di#(q_wO=}eplq-C? zp0sRRP3&@B>vVh?c-w6jDDo(h)i`l6!A5|=Mz;hs%Jvl4QC<_I7e>^{CRk_$M4%E2 zbcSQw2Dlln0+a!hOnD64x_z`b`_=9#mZvb>AM<8GDN3}3WNTn9xK(KZe2 zLn-7*gyTYkQ!T#m<-5oh@dbqG!yv#A`|t_Tg+T(t^br0Z&fWo7kZ#Eq?(Wmawr$(C zZQFfp+qP}nwr$(C&w1V7z2CffbMO4~-XF1}DsxrtT@@J_RXd_qtb~QY^Zf(f;{J0; zzzGn6<^q9^G7bl@$CyRqm_=tt$CXa+2cnX&nC@o~*a3kx%*(ua+3#%kdn1j!)Po#T z#NL_0POB2UFY>M8nB%JBw&5uAL-9cI)6{rR;_c7=ub zhix*|Iw++xdj6rJ!YaTv+CFaUxPCi>doVl_BZGk>BT2B(gi+!5h(!ikJbv83VF?wm zQV5A|hNbm+xqN*|z_x~_M`m_giH!x98sjTWa(f`~QE+?@%AUqm@(rRoC1ZzrRI93M zHF|oA7@(n8z)Xs`6y`IoOP%xaNaQ9%W0hJ(9}MM8kGOk7yZH3jU*6!dYF57bYx0bce+s8(xyIi^*T8p_cf!2X`tBG&RtZ+IP$a8bxC|AyoB77 zvEeA!+Gm)#=ENz!XvJ8R+vSo4FIT{e(4g^qiUl3rn)f&pP95a%FM$7Qeov9bu_GPS zGi@n`mWx*#9jI6TM#}E=BuzJ76!>Bqh-79WN?)EA=ztf1YCQ-R$pVBH-=HU&*N&T5 zZL5ox-AAdwTr3+vKkLJG;jeHEBEYx8U+iG5RciG>;h>;js0A=j$@pt&>4w$PZ#CX< zIBfBZ9BScEwZbtXmkSmfLsKp*Ev^KVSR3o4cywZB<&cWb@HD)!7fS!csm!jzF{`k? zcGzsx_Po{O&Np|k;PqBYUMW!Rh{CL0SI4Icf9(F8Fpn8pk@fCeNZDqZTW4(8W{`WTva>0B+tYHW6Ootfi#N1m;QiAuoY9oG%4jys1&l1OqtQ9`flfEJahaWm zA+c=zg4X{}b9fw*&dzUqoi63iPHlW0hn`s_>{0j^nyXHJ8GFcLD6jbdT?L|FOlXhD zfKI-iE>>m0uYhx34M^5+tPnkTu;B_2YUDt_BNjsq)!M9y>vhQLB7)rK(2A1Tx5i2VoE@`hn zw(*#$8#G%1>$kGi7U$}ysy`(5mNvLtQa+?HFVUjgE=n^fEYzRFzmRfy1di!u5s42& zN5;Wj%S#N46Y^=vbrNSY0L2d)#1DGUqM%^|i0Si~LXbp!FQEMk_nuAeRv_$_#wZR? zf={I-7G>%Oy7`QPU~H53k^+=UB4{8`&(0AOg&#!@8|N(+%*9&?9wP(L&)UIKGQ!f0 zAf%PHH%bX`U=H7FJ#5wMpb}3~Z&p}Rw5t)fsyE6x9i~>SasEH5{gMRy&m} zGlMfkDjUnAWvDk!<2(?*#H65gU6m}%qW#R8YD!_LsAz2-;FivtSG}dEoW9HpJ@Zmk z*641M_^>#gEc_KmDx)^Po2I{r@OsA|HboOz=-!t1ycUIB?1mF&EA-954Ezl*6axB= zIA&Qhew(&%e|~&*RWK5CPANDXJjMo>j!IxKV7M6u6&Y`j&p_iZ5Hu!-(KN7{4PPim z^5zaj3OT7Pp+jXb&$gT5BT6w`V2vJ`vo7dc%zWY1F?J{+tHuMZfz8wEcst4x`)y zwy5eXdkscPU#_szryO}0-%YKjNhd~9>Z_N5Wm4} zy1&6~p1<5|R0hwwH;!MapK|KW&9x1+#jYAk%KSZ66O z`Xb`4>c8&sdCAe>OizJfs)A2^Z^86Yac{+-C<+Rr_%1$3Ld<5#yv;~TQ?P*d zIhyu)Tl&id8j}XBEdchylDU?QSHY2XRO{5ZmQfO$S7lIki0xs1bY{MIKJlfomLDur zWHfY|KXfr9F<6?fJjJs`yO?RY$-4;`o|YxOH*gXcwQrWoE+>{J&vIyEnsnGl?%r=a zp8L8>0`!qCjAkBLPSWB*lQ6FC$v0KEhDVqw(IQ$_%ovu1VyP&XbZD35*vv_EO>l*= zRYkNMmM<~Zp*+g^QBTk$p&b?i<|Lr033e)sxr>fSNivt600D4$ZH;gC!uE$+*#_S5D(h~ReL-@m1Xc3T+1qBd!8UlLb-$#E^ zlwJe~U9dnJK>lQ3T!|i-LY;rYI03&gok^Hv`k#joBjYYRQpb3*kUR^SY=J5GOm(?% z#l3p`5+97RfP#?SCzV~2>pC`!gj zN6Nt1+}ki{rw*-iJXkc8YjL(Nm`*Z)iYDT;HAbvRY1lfLlFDjUJWpbKd!KjT-C9f0 zMiD#QMKrDGT9ksIXad5(?Zhz`te)HVxjQzIT*d(pGfnmVR0P46R; z*18;xPNTxaySKRJ0mXZ^6nR!g_mVrrQWXS0Eq{11>+Ul7bftA~Np4>eT|2=)w}HNI z{QR_xefeV$>|YW2h#B_ZB6z+V<2p88f7y>JXH5v!0i9fg*DFMkmOsH=C#+D_=@wOze)eg6zb=D5ER;sI~KqI_@ZmF*Uc2Px=YjcvgKH8m`zT}C~+jgqD#BAkFkKC+T5`}#)v86Lc0C9 zf6Hp`=IZ8(!c`II^uTaY0rgFC#MvF5vtgAUiYeM-!4}Sp#Q)3ujqRVX+}dNfuu&;Q z4RnveeW$j?w94CQDBu-v4WctADGI!05KxfgF9-(7^vvMl5x|9+fe^q6n)Mh-fdp#B z02{B2RG?o2lZzpkly9{$g*CE_P+1DwkvC9mVS9JPHy>9(1qTqX8wyNBShZ!X@Ts#d z^Q^C7Jg25Chm7EwJJ`F(aW>K_z6wCh2!qQ3#O(A9{WLk#(HbPCHt28zuscFu!WtJ#lc`DkRCAX|FQL7KLDP$`v z#ixw&!X?>%JaI~iiYKO>w#PiC_!_bk)4-pkP^F;HgM)E0R}D}jq_#{ZmWYIhbZMcA zV$)a5s~PTR6=x!0*6iwy@mN6uNXsags2B87{q<#AS;?YsY_8)-|BA@nF@IvclCle- z?PK#nyp?7Pt#ZGJQLrd{Hc)!PU0p@4jrU-H>L<~G0l65en2B^eGkQGpgHz336#U-A z2a9q#574!qCkp8=FlV$3>5v9fQd7I=x6Ke;LOhIodyB1G%%Hygbpo zr*@j{I%VTKv2*)UvZp)TSMTTU??_DJTPk5SmPqV0@l8r$85V+BS3y$Eeo8X>7NYUW zM`V`>O)LDla$)`lJ45Snh}dowN;#ui4{3j)xf`UV$(y3d_>kw3FUzN9mo2Wjt#t{! z)@hrAYs*`-pgTIt9Tlv)9|#LARnH}4ECa%m+=+?iTIy1L3CKZg8RVIK4ECWv9e;lZ z(CoN4$SfsX$)pJ5VzwG_U%?6`WpaP2oxLPwr5qyv!evqkv6qIn_tKa39OUSfadh0b%(haD ziiBqEzOmQhW5Qxug2>oYm-nXq%$HU1?APmCpr;Ls?D6pYuSbZbXFJ=BilhyX``a)v zx+Sd~GTQ*HO|O}tmEBLtyZb9u?l(G6+AmiORke_S3!qnUa~yexUIsux6xF5mCP-U;+I*BN$w3IaYSK9J%(@R2Gh`g-u>I#RRaTPw3BBm-- z$WAlN(x5K*b}QsMx&bY45zC{E$@j~gA;soO-;5wJ@8};!=`Ydh!;}h>@-6dCW{+lB zQ!EJySr3()gYT2gYZoo{g>jM^Yd1F-r7VAZOKXb+8ZrLGiF z2r>vA1tas@LIh>0PPBHF#^LQ>KW=OV`Q~k^glzos>-w`(SK??+>4ofTPi`@j5sBy4to9ZkgfjB$f359BLLe-H-=cB2p^6u-Fcq`cB z6QL$#=}0CwL%SQnLX$&yS5#GbSs6t|8TidkXeb&N7sq#v1tZHmSK_hs!?19> zGs+%0z9C}AjsZ*Hk@8}Kl7Kil*;K1YrvOt@<^dVwDDicB=R8Sj`uV|-5M0NIPyeu^ zrwMo$igNf&V0isqM$k^ygkx0EhyvGV zKz@9Hyt}xLlFv`Oae7M8$jBRZ;5ZJfPJQFps}4_RlY3WpqN%lT)PO70Rn}OPe))r= zqCwpO3r@biPG9q5zhX&Ox^-~mY}&n&n9hukk@_8!y|@xyG7r&kL2X-@rApCo0$^&< zLf1wjV4J<+7d3|E)OC(pE90p}PuG?4XNbavP;KH?6#@w9Ty2vX$JJcfWZ{E3`iK{> zK|d(rsm1wdguIykWthuX1%TMyxP57e;qJ+vdG~uyh$yKYUR!XvUY_xA0E;6USAgkR z8hA%Y zT#4(M7#J2(=s!H!F;Qo@=Hfl@-EDtKTzbKE^lsp@13yOmlD<{9*;Zz6uCwErbEyB$0u4bqpDjQYOW?{d8i{vI(&vU?qt+&6O$4{w?+ z5jn1b^K(z=CqAw|928vLM0Q8kg}dCbyY04c{hfZvXGN55@D#V8(C!BSDO$C{)-M*J z*&UY9POI-iuLJ^6I-gUKAYFAyP$M`-y)Le-S℘{O{#bliY1_6DJuG*JW1ub(db} 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 U)p|EN3i(@3>Yilb9pfke3*nvhQvd(} literal 0 HcmV?d00001 diff --git a/hist/2.0.1/baseplus_RainCloudPlot_Ex3.png b/hist/2.0.1/baseplus_RainCloudPlot_Ex3.png new file mode 100644 index 0000000000000000000000000000000000000000..94e815e2d165b5a59931a82fb670ff90d1120611 GIT binary patch literal 84018 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

l>pMqvFTMrE74_rS@_O#)s90ObdlF;B(eHcVfGz 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