From 4922547d0e1ba4c138afc0dea171550dda2c43f5 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 10:40:08 +0200 Subject: [PATCH 01/87] Update BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R renamed file --- ..._v2_H1.R => BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename data-raw/exampleData/TextBookExamples/{BuildTextBookDataUpload_Pckg_survey_apiclus1_v2_H1.R => BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R} (100%) diff --git a/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_v2_H1.R b/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R similarity index 100% rename from data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_v2_H1.R rename to data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R From a12ea7989d8c7b8e6ea73b59007b56d1145af67e Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 11:30:29 +0200 Subject: [PATCH 02/87] updated strata name streamlined project_name_outputs --- .../BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R b/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R index 03fbeb0..55b3eeb 100644 --- a/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R +++ b/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R @@ -38,13 +38,13 @@ target_var<-"enroll" # name your project (will be used in filenames for CS, SL and VD) - project_name_outputs <- "WGRDBES-EST_TEST_1_Pckg_survey_apiclus1_v2_H1" + project_name_outputs <- "WGRDBES-EST_TEST_1_Pckg_survey_apiclus1_H1" # select a year for upload DEyear<-1965 SDinstitution <- 4484 - DEsamplingScheme<-"WGRDBES-EST TEST 1" - DEstratumName <- "Pckg_SDAResources_apiclus1_v2_H1" + DEsamplingScheme <- "WGRDBES-EST TEST 1" + DEstratumName <- "Pckg_survey_apiclus1_H1" project_name_outputs <- gsub(" ","_", paste0(DEsamplingScheme,"_", DEstratumName)) baseDir <- "./data-raw/exampleData/TextBookExamples/" baseDir <- "" From 73bd68915e83d9d311bb0b19b794fcda63e86227 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 12:06:03 +0200 Subject: [PATCH 03/87] Update BuildTextBookDataUpload_All.R updated apiclus1_v2_H1 to apiclus1_H1 --- .../exampleData/TextBookExamples/BuildTextBookDataUpload_All.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_All.R b/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_All.R index b9e98c6..df429b7 100644 --- a/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_All.R +++ b/data-raw/exampleData/TextBookExamples/BuildTextBookDataUpload_All.R @@ -5,7 +5,7 @@ source("BuildTextBookDataUpload_Pckg_SDAResources_coots_H1.R") source("BuildTextBookDataUpload_Pckg_SDAResources_coots_multistage_H1.R") source("BuildTextBookDataUpload_Pckg_SDAResources_gpa_H1.R") source("BuildTextBookDataUpload_Pckg_SDAResources_schools_H1.R") -source("BuildTextBookDataUpload_Pckg_survey_apiclus1_v2_H1.R") +source("BuildTextBookDataUpload_Pckg_survey_apiclus1_H1.R") source("BuildTextBookDataUpload_Pckg_survey_apiclus2_H1.R") source("BuildTextBookDataUpload_Pckg_survey_apiclus2_v2_H1.R") source("BuildTextBookDataUpload_Pckg_survey_apistrat_H1.R") From 0eb32f838899998bd3c7ceddda5e9feb305199f7 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 12:12:16 +0200 Subject: [PATCH 04/87] update textBookExamples new download update data dir with all textbook examples #248 --- .../ZW_1965_WGRDBES-EST_TEST_1.zip | Bin 226151 -> 226212 bytes data/Pckg_SDAResources_agsrs_H1.rda | Bin 0 -> 18132 bytes data/Pckg_SDAResources_agstrat_H1.rda | Bin 18359 -> 18345 bytes data/Pckg_SDAResources_algebra_H1.rda | Bin 0 -> 13707 bytes data/Pckg_SDAResources_coots_H1.rda | Bin 0 -> 18120 bytes .../Pckg_SDAResources_coots_multistage_H1.rda | Bin 0 -> 18478 bytes data/Pckg_SDAResources_gpa_H1.rda | Bin 0 -> 6811 bytes data/Pckg_SDAResources_schools_H1.rda | Bin 0 -> 11436 bytes data/Pckg_survey_apiclus1_H1.rda | Bin 0 -> 13736 bytes data/Pckg_survey_apiclus2_H1.rda | Bin 10435 -> 10333 bytes data/Pckg_survey_apiclus2_v2_H1.rda | Bin 0 -> 11622 bytes data/Pckg_survey_apistrat_H1.rda | Bin 12743 -> 12594 bytes 12 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/Pckg_SDAResources_agsrs_H1.rda create mode 100644 data/Pckg_SDAResources_algebra_H1.rda create mode 100644 data/Pckg_SDAResources_coots_H1.rda create mode 100644 data/Pckg_SDAResources_coots_multistage_H1.rda create mode 100644 data/Pckg_SDAResources_gpa_H1.rda create mode 100644 data/Pckg_SDAResources_schools_H1.rda create mode 100644 data/Pckg_survey_apiclus1_H1.rda create mode 100644 data/Pckg_survey_apiclus2_v2_H1.rda diff --git a/data-raw/exampleData/TextBookExamples/DownloadsFromRDBES/ZW_1965_WGRDBES-EST_TEST_1.zip b/data-raw/exampleData/TextBookExamples/DownloadsFromRDBES/ZW_1965_WGRDBES-EST_TEST_1.zip index 177ee14e11e506e30f3af3ff922c63818bea9ec1..9534d10f20c386c6451097963405b8adadd3d9fd 100644 GIT binary patch literal 226212 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

vBVd-li$fo9X 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

!<_1qiksa{#RB~n$6%6=c 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

JZX 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 Zk_JVY=LpdMM+3gi09KF67WfC|e*vx7sqX*) literal 226151 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 diff --git a/data/Pckg_SDAResources_agsrs_H1.rda b/data/Pckg_SDAResources_agsrs_H1.rda new file mode 100644 index 0000000000000000000000000000000000000000..70ae40a0fd86e8abf3e385b0aea737f62b91dfd1 GIT binary patch literal 18132 zcmb@t1yJ10vnYy7f`}fj zYZsys*%?Sb5H9qU6S7kgXb_MT$$e0%5jNfd5fBj0kKdmlxMw0DAbYjvA-o2?CG=`) zix!5LAOs=2+eY9fkPb#v4XDJYL45wUuNg7emu9Ac9iWj)hRT>$jijXP!^CBgo~$98 z%p<~qAq65t9YR1LML>N9XMlPfh(I}OhVG1j{sZ9-0qI$u5_URZxY(E3BWFA zy3{SbIgc=+Ty_47E_3$rg4=BKte{`CBD4>x^r4~RJPer=+)S-;{zjXa5|IewMhozP7d(b$aG`K<2nfXD@ABbDYy|ExBT{YzZbW4%jwovS zFr=h>A5tJYJvKc<;e-nJI4|?(qU~7M{GaY}!NQ>`za=CKKdMY#NGPa`7xwSDE2vDG z8P6*yx(9?6LQ|Ncp@~3uE2c1dvjHmw0^-o`|1cNkF}LA%Tzh6P4cyD2vksnJ7eOIefkT zM?Zz+{DF9-VDI+Nkjp|upYi8|cm<}oL6dWm)M=aJ5mSe`2eiQVIX}(aSNJq`K5iQC z^E7H7e(wBO?o_O%TqJ$bHkw}X!mrE7xsjhsz_MQF)vH&m@ip_6pDp*Kr;48;6&L#y z7yoBi$D^R8CElVA?YD8`O(jNqrr(sY-kvJ!&AeS)oWt)+v$uhz+xJ=!UGwY9 zI7MpAXOS|I_-j$Kg4HM(?Ml8ij8ITGqKm%)5?2;JKF%)2NnsIAI|^4xyCMo`u8SKa zWt>kj$;FI_gq-jO>l1SW+ffBGr%(|4JDh`lK6^ZBY7)QG>Rg0sGbthitvIzPMXB-0 z*91Lkn-+>0Y#AoRD~b7Uh#9PVr#?pZJ~j|%}4m0vsi zuumf4hr@;iWe6h}gn&=C*uOlTy`yH0T;0{Uc{DL7PI$1l#{bn>}yS)z)KqtkT zVjB;;an!aU8$$o3p9utfJ|??)Lka@iPWAp~6>8ZTza(rDGG@G|8;LK450aWO5P>8KmyHzlJLgm!Jj z9L9S}-Y%g*>Vbp{+d>s%S8FbwNfRq8jYqN{a;7|*d(l!bGPL>RYNw@VP7oRn4(7k8 zBO;K=PY$6YIzoRevONfhjcR@FrLoo(`LUM_`P?F`yZDD)vNl1+G3$Z4Bx6vZW9)k^xMf>`$@Z9A=WMQ`((mn{UL>b~s5A~lfQ#tk>~B3&b`X3Nxz-ZZA33^kTE zM3bDh{{mq%|EBL65!Ia=6$MudM*hc4&GU^i)vK^WKMeQl{(bT7MhE`~S%7KX^FL$4 z#FUZ3g?H>LD^UX}0fBSYXlv4WBwRM zbJ4hnNSUI8j^1!7`vbnx{~tkAe_q6<{;sB8MAKCBJPK(|V;y<1u?{l%Z+jK;_ z?AjwZQ6|=0CNL^Dom!CHB`Vc)msVqcITw0G>GAL_YOQ|Hi#F_%LEg>_zt>4;{0t^u zESj|U%~hO$Lf&WfK|xwPy0{pX2}_)-hvZ-l1B4e?64=gNkn`Ji9U^{2?)~m?t>#p# zbO$ksPp>w>uNZ(~`NtzIz(WvTvu(4%D)%zLL15?#Zv!GOh5@3$odIB&_j$B-`d9GfGw{8rB>s9bRMnlfzt0poaqK5%+R@uMR)OMj8xj=)U-hWKSVK86>D zAz&lYUu<^o`ashu7tr?)tvm?t6auepiUFdW?1$GgU0Rz-0`rOjG65Bw!N2L8`OD~O ziHI{ophoLPmQzfkyHs%m;HX;@Fx6`Aea`kjsu$rH(Q(omxcA{>4*{9SBf|HltK2(V z0b?#7?(bW&MpN7SC^y&Tx<g_U^r^n9DPo%zK6r2qVlhq4nNt;k2!H zx(FprKF{Cp%EBKAyOmzq+QrAI*tk6yQ+oaok%y5@_3A8x>0u@KT7Nnj{rB=O5<>m5 zz>eOLw`0_Pw;)thypG5(C;#ByT3j>T2xX*Pi>2fXhqSf7>DVh6oxIllP#}^+SqA~e zq`wD7!l=9fib}6mai0_XzNL5(~)Ah}a_y?wlNSPds|3(xD3vdGg zy=ZbX_KV*}@UZIiN#6u%WXFB;Zgt+Cn$K@*vuZ0>^nS1O;+T+f2^?{u>bDmwxl)XY zB6$>tf4I`4g*#V-?gbWOQdW2;1^i@LfCOhP^42oYV2=cwtHN0}KpYU+=QtDq;?!b^m#Ot`rpq_3EBmN9%@d~b z7#Ioh)|GwIp0PYip00}>FyYKdi#<+~zuBmcD*u$ct-@63%95`v%x62pGqMH81TpvXE4i)FmjhP5Mx*&?0*AcV+A=zRIYzOy;k7Qb5bZgN;i8i=7nTvz_-1>iGbpVgweog zD*L;X%4+5~&`8oci-LDe_oza$VN*hUcUL&YI8~wMY*IT=Kg2nSpS;`uQ5Q(;;N$E zksmKMr{0`GXT+v#7;3zl{^dvOzO&N^>S5|&k+rgkNHOXts!D|gLXeOEMhUf%|E7mBi^Rxxgg4o zE!iJ1{|=bHd=_r4MjC+D=;wQGSb%IB*_rx3_$J>pzg5G3T0{lEiY()0lrBm>=P;~8{Dq<# za2sFzCJ6Q1z07dDiw49~rN5Hpor)bqnXtlU=j|q%p!2Wfotu*yniDTWRj=93vgtm5aR6HVfO#Ruq^ z=M!7i&lv|p`#`?W&6GCDW%xmdVsI4K!)cF!5=Jn63 z@_W#zt1~h4XDzMbHO*@aeKoB^=x5F2HLEf6C4QEskXi*08>Cp(8)x}u0SxmcqUqlT z5F6G@D8|o`ntZ932nrxJ30MFT9GC|rdiP`lGODQ7MW-F59()xJsUU=45#|H7@wzhI zz01%(G$@U1G??xS!COW)0c0k20AWzXJLmcN>GC`$>$=HS4Xz-QBu-oCw$`~a&8wmQ zn*6latQI@Ka{55QR<<2I;M{D7Fa;)KjD4%P@6ujm|>;lv?>~aoku@DP@4zptlAWBqo%^0h)rM|FM~)2 zMls{S>+264CQ~EKRg*4y`Ku3Rew?aP_ZieP6v8sR%&UDbn!%kZVF#}9JD9-3ru4+)aWUwIv(Rl!g0BK!;VEN-$NKPuCOjT|l$QM{ zgH3m`@&CdaaU=~Tw;I!A({?JfVj9MC{F?fq#n67J$(&G_I#i*A-n#x1OM#VaqPJWL z4>ttnJZ&~!1P#YgOPjXFOde$5(svZF9-SuA!3| zyxJsZiYFs&LQmM_>uYh!sG%bL9%YL#MyU81P}wo|XXIpdt}-Y9Lt0to9iI`wGrTk7 znA-K=8g^siZlH{^j}VERxxjnE_Ea7G3{403@{z`{oe$$H+NaeOcB1UrfSoIcGbQROUgJmF28d>u^-)*>dWOS+VvGmUSX6(_Af+jP;e&=hIvvd{-zVr8S;5 z!@oQD=~C`|Y>r;Gi^K%jmWaNN(K3nmRR3ZUuVuKJ&nlu8)MHsHW~UZCba< zPU(V!!q7a^@WZs`X6HkhHm#Kwm++ciR~eScy4PYxBR8h8)uT+C-+c##V;?tP$qR|H zdwl$@min^r^W^%n61O2o?zl4_2H5!01soSJIRJYUc2Op9a< z!9)Gll^Pz^2gzB{x>!hL#*F9JY>3p7cWKSK7|*4pn8m|FrTwQza63w`a`1zf+|T@r`x~VX|24uVOZy)sQK#^82|oTnPWDr`95GYU(X?$VRs zVD7AN-RJy4=fL_+)du&{o#Xvz-9p=n#djzDZx!c*7lY?-%G+++YF>KjYfSz2GSxZ8 zhR5HhXC8C-OD$+Ejzx;f{niW4H_rW*+&BiIt%S%$@uK;sq zcxf5!{(nhZDA`j_x-^lFV^%Fv&T|f*evIHbjdka<#~7ad&eig_R61^@1@oy?wdezv z$`gfj-0MC!&OGV5$GR1)_gnvRGUl`|{+AUmrISSowyV>!hMiuSdCA_Slb(p9+K2|L zK2pQ{`o4%Rw!~GlMqyb~ebeA1T)Ij0zl5su8Q9I=>0ag-DXKA->OfSZvFi z)##Nf_)mx5;qr|k3iRRC0d-KfGNf2dI@^xFp&5Ija;Kz>**P;Lq@k~tdqRoU8db*_eYh=UUog~~lQk-Za3tmS%m;adtAC?!Z3g+ybo ziUKB=XM01@x9REf>NquAstF=qG+lLn#S^!uO#rZv6p(ijO4<{_Wk>)8XWbLO-y{4* zeUCpkCy6sM(BFJh&gF|25xHK)pYqLmDaH9PU+Sfea>_)=YwI%J4W|@4yN}`g<Yt;!QtG-@= z?r$$D%gJ)`wHU>nW(;;58s{2Us@<<-@+~D_VobfYQ>=Q=n9D=}%gxQEvmckFjq2O9 z=d|5bq7)ss4HD1RJY^CRf1XCmv@i)|4KAbxr z?i^`4eDmK^<>YT@X!z#sbg~#ORSjP1HV%9d67sM^8+BXpJgK{{s1cJa)_SSNWWKy; z(S;cJnXH;9oLklI5viUH;mRQwTZB#{^`N*JgyaATfaLKLj?(mt{)eTN$*eJrg(3LU@XM3~2 zXT5Zvf5e=6n8(y8ak#+iwZVHlZMmf4Y^6q)@{NIKAn-*j8FK7HR>*<*6!@_dRJVq zGiA4JRYiH=9&=EgY)97e7IM|zF3KgskMv*z#{mCWc5>taLG+Fjo#oLk)Ud3@;B`Df z|2HN>=f|QfQ@5A#F|XbbA7BeUryn~2u0e`hSd}$e)yfp>KnW@M14Tg3;1AX2(rHp| zrmR~;@~TtZImHE49tsTo%)$xLXCGub&eYhh21`2!AxT7H(M#~-NJ_DueRRaH@}~Vd zJ(U#!O*>dhURVmRxk^xX_ldslmf4n_J+qtVIhTX;0ekbaG&z|% z<xo`3XOMmh?6hHa`uqBw*6dgr?L z5ZA}kVLu|=(_xbc81vUhF7iW#{lCc|;NR1_g+aR^uXi07&77Ld`jHm+x*!6qV>|GW16Y$L0V0NrG?Ux5cH{?@SzQbx5Ad6 z94i1hTv@Mrx4XgiaKoy}d;;#kGhmTgP2^xT7&x~V7kIjE(v9tOj>&w>CvUbLbY)$W zU#yQ@d$}7;KL`vm3T9l@)T}b<4k2REto%2w`sgRKQv_SKwsAvSO`&^&l>Fm$oVm_8eAv7834E6 zs>@b=%fjoF!%3fWH?Sqf_JLQa#qx#O)kjuVW^Dwrir|ysV!W!-iHuz za&nTuyWa`8)4Ed*%as?ryPwxgm!N>61m}l0*5$Pl{_8_~tGBYe9@o zIPtf9-%QTKVvKr_0WC`aX}+%+KbeLP-S8@)2xD+oQKQwE9*H$F5f|6WurhrP(A3^ zKu0Ex7N!pjqjJnx&@)t2(^J5e!Y8%t;w2)nG5<{FX=MdgV1m_QWg>=8kTC-`_e)k` zEcD0&l;ja#Y8oVAAv0!4D^wZyXvp#Y!9oPHuW}S%qnbpfd9f1xQ~#*=gqqn;2>0{UW8IwcDiICs$@8S?^A=O> zE7K;CIb4Gf!y`Eyt`||=ufwE2v%tbv!@a7eRci+^7ZRUEMdlY}CgQBHD!#9#yq~eE zf5{T~oig+T8D^&fl}KQr@K;8dJ3>mSEi)1|_Ymg`TEJG(b7f;8D2ST2$Y>!Sy8V3E z-#p$u$%;igxTVShpT&Q0;+^_dX7SU2MgFkmMbi6#Jl-0HasZz+pfP;_$jm&mm;`gf z3QZ?62pb(qU!`8t*d39>ZA_8`(wF$_<}L^UNY+ zdiX4#E}-fd3b9#Rg63@RNN9k^KX^DdSab-w^CA^U}L6YQp_I)LU2pg@Y&$RMK1C!-Oo%Qwb75yK(OPvy`5^xJz~z~(r%qjv7x1U zhg&PE?TOYQ?vtF{_oFkP*f2iXD?Zt3Oi|J9O#GlN%qjI^p&iq}l^6?Xip@`AKw@Cu z8QG^PUN9cHv=xAERUM!SO7X0oIJD&^d8UN7IEe#aGQnvaf|yw73i9Z#Kio{_dI0e{ zu7m_6Nk7&C2eGjQuuxHjO#%z#DTRm8DKoHIIZGo9eflgIa46_xK>gscLzd(E<%X-F z=Fyc_$x=H$0W2~KiC%*P3UsOe+D+lR!qe7-85Pv=!G!-4aq_U9!1GVIB(4*z?1N~S z_P=bmvc4%WO%xF6#F%i^R}RY7?+%Lhq%y+Bd5Hg70TIi8#ecU2k`4Lpd2`kJhEl7z zv+jN2l7M*)uVt4N?b;3gAO?5D1p&!I5e4fE+@cFo5s#I!ghf9#GBe6f#CM6Q0`_o+ z<8=?-m;oobT|&N0uW$?6tm9fNAn*&oFewEu0F4;j$r4&Qh=bJOJIr}GIKjH=Zckpm zSns%7ueO13_nz~T3>%%^b!!lp1bzve${pYf>ipKy z@kiyRJUK$=f?Sg=j&DaNy%t|DR$}KuOlkjG_$YSuAs;6fPu({;x|qfUdx~BiTJh3N zfpC??ZGjP$*xA{>#|@pB8?ICzANT$bl8F|U#&AsvW~_p55Kluw#8_nrfCIH-HXz() zCj6>w-0e8^*r`oIDlc9=1<~^d=L8cmXI*z4nRxVT$$Q*KPW|h^13&D|Y1sMnND8=Oqy_WJdmjkVEE}^d)Z}<5z1k#|0cv zN6d@0PD}RP!-DY6cabIb3s$icy@_Qlh6$Zx5Cbl*1e^ueivvb(a>Mp`tjf4>yB`NE z?D)j>qpr^Js*pfEsp)-d3p>FPhs43*C@o1Q-!K&}Uso9DQ?~9+0FNZ+VP@5c6vn*qFOut9|LiLLL;Y=BpVwj)e z`OTWxQ$m>E@C)9oqP7G(_pByF(uoU~V9@C>k^U}NZ$89E$JUOk9ga}acp-hXqXA|AUV#PDv+o;*-s$Px}v_*#OF z{HOr7a7}PPC5dN*?+MTU&VMkF8VCnWOzGbnIpsMnGrGmY=Vj!{Jscjtg>do|Liequ z7^tIg#;ZQM^;mC5vEH7auPWi%UaW1%iJ*yNl73^Y-YNh@{%{m__p%lonRQ3St52&u zVPwZAiT6eFr4+$!Fbr4-?Ylfp2q$(WBqT}d#QusBKL3boxxXwp8yN!Co{1HyWIZJbD$MLEJC^}j%7CL#fDg7du zQC9pVIeAlet*`~zLKud>KMI;J5|RvjP~cnV-=PV?S9*#65?_fvf-ZIbS%?#Z)D);t z@0URc@CRMA^HN^kV6@bGd^$oYIznKqnpJh2Rcu+ka{Zii{QyEJ5*=EnVek0iV1&S6 zAe$e+XK18V7UNBhH3%7TkFyh9cGQ}JBVDKW8*&ecJ0>=YMCHT+tqoKh@f{ZTU}B+% z>*X)F$|oHLh9e`s>jDg^rwe;H6JrHr+wLa#SqeH55fLunKve?jYe!V8%`~fYS&a_} z0Q1gO6gjnrA{vNYJA(2tnY)7WA5;Iwt)~Iv-RSg%B<1=##3|ELg0S zYv@=f_q-OasL-iCWVXj-Fl+Q9$lC#KWMG?;^cW2NfHLqB5K@NglC-ekfIy&ZFJkfV z4{4|Y;(m>#&92-NY`%VoiIE!tiH3)LaCKhWO>hY|?3Cp^{ECV<_Er;0XGRSabaxfD znl{BHF$~Ce@NbsZ9APX9QZWJxr0Gdb?m1Jiwd0P;nd^}P$78?(Rj61=Vi;x*_&LU+ zLd3G7Tu{>Tq8x3~S~KXliX8A^qNT~mNcrO!j=I7;qy_keTDG4sjWQ$VwC!Ws{B=70 z_KME@-HJ!urlY4f6>ikb{_oqnhtJ0qGiQRWAL9EH!dYvkQt11u?d75p=pFlw>PSmJ zX%<&m1s$}kx1))qq=XPq{~$(21{%p4hf0M;1#v`oDS@?kW$@qQ8_%)4Cww1cTt!+O zC#A}ySk6ir2xxW&!>pIZ;s@_D6n+bvrpTX*y4Z{Oe*PXlmQcFNP=wA_jEUNYu<2Xn zfVx6BzmihP_i?kdj9d!i9a+M$KFjifRx1;~)6UUX4_<8>(ZU(xM6K_^S=ZVn4m{WO zm^S^^n~5-7OnVu9TiAXK3zwOl`F@&%;(ZQn;`@nL zn~04lr14gl{pZh_kh+HX$r`(1Y7~Fm$y?YED1&qKKHaqKJln<3F%g4x!a`#yg0mDyZ&@@rS-Egu+8gutc4k- zRH~pS)XVZQk$;&ZD_GuqfR6nIE|;s7m*knCV+b-%QNoWlEGy$)5-qxMS2&30xGp0qbdi-gg~7$9R%A^@Go9}5j|&1}u7seR=|@dhfyRbJrGUdA*sATS zVJAAjfwtF8111KAi|mKTcQ{G1g}p_luik#bx8`YS{nR;qh2C%@IU-V$wkOg#86t9) zzILQw-;BKu78LNJ^i~ORCRbf*ml5{!OB!&fwblDky&FQ8TS1b~)yTk1Pfv;Sn%HhR zQlx4RgGhpfSWBk$&M(b3c5HlXxcz6r$L&um(SSoyjqe12O*_j1t~hy65SGWD3y z2AvenOhqm_+guBMdlzM$JW8%31@6*r%Pacv8alzu;;Hg4P`UjKEuAKG5!(P0V)6q% zYeA1XNv?QL1H0cnlgOu``6^7Y1L0Nv0;o)3thh?t6Mt#wQZ?d0=3rmDMr0xt zStq$XitxLZUTIO(Qy2J+RfPC*$ms~=`iWw^^-~}44<~{~x&j7>4gEU_vt#pObKShl zG4XD`&`_aXY^*a5u7nkn4potM{>1Z>t4NZ~SGC=+MjM&3G7dIkC3m3pc(*Z($++Yi zz8Tg2oz72dVrkW(yK7)5ZV^htR$`-$F<4p6#Rw|=R#{%0;H3DPv+$YrJad_K{ruPG zp80j^mWTk<=3?vlldE#MxfQ6?VWG9dIondbBQi?!k4WE^?UG_l4AzCE{6AK6V_#4U zXFD}7_JHLRo-fvJe?p>J0>4Q|OPzPYlpz;hS)=pY;^Jn!VOhHv@2V|R80V9!VN-^V zI+Wd{Q`MM`&UDzf3 zbXll3!hgym&O{_E^hE}{10)xKN=L`IVH|>E$XdW}Kv`^!Y-1|@2eY$vv;#bGTtF8L zbJrNOBotp@H&yx^(WyFKrFy$%7wgy(Od$X*$P74q(GiRQjR~*a--_-T3KKdi+Eg^< z0NGy7p!j1W9{d$Cm)_LjtIEX(w*$ zcob_7%LQF=AD1KDG6=v#y^$;JL{JUkwvEgVM~T&))XA=~JUqGO~ZHiY3m z_t2&pZ~f-M9gO1+U#rVsDRNkjsmdRcgXX#^8a_>hVI#3z&y!)MYD;xKnPxTknV61=ZB9o!Zhwk~tXw&XOV1>jNm@BJJA}!EX|FVc zUxlF?2pat;GV^gVT>hU5j{tudE(C-Le<_k~BG8xH9lnwJvw+xhkW; zgt5rL*Vz+11c0geUH>&#f8HRxcAA$2fF1H(k(W}GH|wtO*DaJ^xEXSDRRE%2iqjcT z*|VZ!d;`BMYkWD1`jr=icky9q9U4soITcnQG(N7c&=|fsem#+RwlSTSlvG_G?wy{~ zkZYe2#mA+QJXQ+9lYk0ZSfKMG0#M>=Sq@vG$GUM*{7Hjcu&@>l+m{n%{fz86jk#e! z0ICe+CwCNbVeLy);YjTGvH5C$e{xCix{yP1yxXZC9K`gUJC^6 zTz(jW1Om#zFn5nC5lNP1a{eE+1iZGS^g-EXIek3zY~-5PimcCZ7o+wRw=?U^YJ~~# ze8-j$ki>a;NO5!BqAt*;`e7@(H~K`+)>!q1b}mUNZ=g&5v~?c z90;U_8xOUuYX;NoN!2x_Q3lWEjqu9zu(cDn`^KbxQqjIEdhw2vmN!@)FHGZ$wwax; zA2OISUJ*spko1uc1knY-Kd4IFz%SMc>1ugY-e6u}-GBVT7=<@}qB1KQ7Uc`(6!G}A z8TC9vl8Fuia~~ua5E*ot;G?%9i&+G)Tww}gf)vx&Aq4gbZVEijnW>nYrJ8|+yB?C+ z&Qy$wxl>0$?+Jr?6oKN^4ouP>l?Shc+n5*D=3-h|V3R&s$ciVO)LL+4U&~e55WcGQUzl#PBE<-E%Gjy z=GwWhu^odaB+zL|PFi#F#>Dk}PQyaRwUL!(df%ympN^jy4C?J+>4!>1ttkh~u+=mb zAWzpqWs~{2+=`8>yP23|6O8-v$VuTss$=t*q-`}_D0=M$k}2v4rzVXp*HdWqF=;5W zJ>XMD0NCba%qklpIF?QMRBrlc}CY^*)4uo*JtdA+tduJ2edTvA40k-k(UKL*NfXTmyd zA)L;it_03{2~f7xn~!nEM9LCsT?xuRX^6C>-!sN$9x$5qbGrAUTm9@eiOmmc$NMfe z#>%QC?;khzOB<2CY%GO@q z>KFPF8l{x?40ZX@kU)jpn`rQxUsVGnOH)OLp?zVrkU8W`c2iQ?-f-eq#2YkzfbO4R zl=iV(++*R-WZc61EtJH4W&B}UX3~GFHlJ zCS-)ytSKVnB6z2sQ;pBCxb^okHY zJ_3NGmSoWMVS{k(zRQPCl0vqSz&E7|Zy|v+4xt0lU=b8Z1pJ?>F+Oetkid9nWiUHG zQMG0?Fcf}sBy-JJ{;C2c{r9RX8GW#{Qg(DaOLe-TQP8R@?K~;{SC*Qz+-N{)G~gKL zuHjhNG}M;U*mV!upVF)HvFxmjv`D73nLb}Oo}bfrb=A24#n2G%(yQ#mGM5 z-58ZzEHD86X7ntToPrY)&=>2nWD+B7RU=+hpBQgTRQU&=4xo(>06r4mR z`F}wo`2CBJ&*R}pL!jFD=dPn*TSifWw@pFkvV)t*-}bsc|?3Fg4&4=Nr`I~A{aUYm7ytC$W$YqUzIKk+2P z6Z*Rc4+YJafA&M$1NS{!`Ahz_aD<4_F;;!t{Q8+HcnuXP6E+D%+Hc-+G&Ck-FGbAGP`$ZwoEi5PbZW3F3xn|cUq z-LZCnOtzAYyDo^k@^*|Fj8^Ce9(nExi=huE5t!XBQK>Sisj4(Hb_sS1&A9KU z7pJe7SbYAdUeT!MI#sN%UNLMjbv2Nn3xDBZmo^3e^L!Ys2$l06veyaTk)2o)Vb~-! zrX)37(BV{XxBTFoUD7&Fx}_dk2dr0aENs)<=A>NE5w5!#b1OORx=&9Pe+g>$gqf=* z*IC?cN99Y8jb9$>TaK4nOitzS{gI=UT=JS(GB~oFJ0WW=ah=*|DD`T_dgMfJxne(_ zYu;2Rd0o=B_I1Ydy(~w!4zZTge2?q~ujO2?<@i(cZjWcb8&5SqCpKKrs<~p_2;NT? z&HFmv+hqNnv(oUlC3~0InAva&->`JDoqB$mcI_u-w?l1sbH>YVrDp z)Z4Dw&fUcXgjMc?-06?HW2q`5tJWXNiD!P1KuJ=#L^STeJ ze+c$_dkuffvNv8@<>eEL?HD@E^W?o&&krNzGG}(+Ie%%tUw-?0Hjd|F%C%`9-deM< z@f-=P%FRCGet4tYxy`uYt&Is`l5Jdx@4x}Lu+1MKGKeP$tlVGrH4rB z=+61g{h!?oc-**rY|kfQmEvA+UG>@&Iv2w^RKwEQ_d(liO0rMyzK3eJ{_}9a&w}l5 z*UanIbAfa4892}f&((Z{4kvKDesAUipZ=lgPo=?d{U+s3<_@FU{|mRf#& zJW#8uA5IaugHF_Ui{V>^)mzR5o{-6D?5jnL%fT}>1oyJ6N;w)$T23<=#|`BjVVCg7 zfyv*C8%usP?N{&`I#`PNbY3j*T8ZVhSBKRbI<16v?Hl?X=~(VqFEyK=%sTP?veoe% zUf{Kyhfc>mcGsL~WX9x!OnLJ!4Wmy@@X4L8OZLRa`|~sEQ@Xke7JKIl0bm+)Y>~v{ zpBegNp8nJD|8wND*!X|on^NBB@c$uM3K#|X@zu-_#Z8Y5hwVQg{piR{k85;-BXPNE zpB{#DT&GU^_<4;u(Ly=nhDtZTgDt2*1gI=l31U!x@x0xB- zN@M=b{F$$VuLC7oBd2f9A{KJ}!SSapHlr{p%s%)F*vu{aM(F<&*Z?R0+={vRPwKX8 z!wgHVd{(dc-&(`pwtefm;^R2DoenLSYSweEx$;+j@%|Ri<~`$!i;VZ~E-~~!#d0{f zwrtvA|Ax_5Q5Rk3F#7h*rq7ygREUP`+ctjnvx5`kJeK~sTus}zY}vH>2hA|Sh8TVO zX3eK{ieYMuFv9PW!xH}WSTO$kX3d}BY}#zuX2#4g{YK3gRq(7ImC0+p}-ao;~N)%zW+D{Z&_2Rd*MF^=*W?rSzCI^_sqgd7{bI|NZ}jFK-(6MNRh3 zypb>#`+VRc$gNd9C-DVhNI;|~S~GqoNDXYL3@b=Tq&{Z`Uyu@!)R4qOG)h^QM^p&; z()>}v;wzDmQ1UqYDBh}}&ipWI#t(jt9V}mfwuB;s6pjX!49BPU7C+hg#B!3*u#U$O zQc}E8lY=dsrD&uhN~xeA!(h~mhlHn=h)s$lf?Ndt@zDd6ms>A_(^No#)@r|m?Oj!%63?Img!ziDv zC>s`2QI#i9v!C;g!(*Cf;-^ZUlu-M-sKK|U@TYt>nOk+v?^?s+TH>#^wweL}l@Nq3 znW0?94C5Ez;V0o?;>qO6Q(@g1D^n5IT=>n}qiIQ}UY5;VahM>zR(_F}MdF*4r&4iS zu}iQZy{2BU#)!nEoS-)9n}KFA8-iTC;2WkbF*B1ym1UPWFNws5M};)6f*w+UE*nx< zK!t=GhlGSKiG)OjT(A~wLxqG~7W|MzQYcAz=R-gnWn!oDnS0dt^be#E`37x0ERed(EeK&pt9d;973>@8v8%KThohBc-eL+8Z-K$#r zC&A(5_ea{(faR;ZUWvp%)%wOhnWJ}~1IBEdZ{uEx>(uEbf4=Z9Yco0%HVS$k^^aW*n>Af8+LF91H`8a@o8~rY4k7VCUL~;iZ@`;;%G=LJUzHG)-OP&f&yGAYqUgnw6Cq8Z-@; zi6-m?9&tu8&${9G#5+4nZd{`k5+-F9b4SxlUPY} zwB%H?i&x0R4vpJdVbR6C(M*gv?XzHuf-`f6| zKqtYUK!3LVd)@oTz4!SU#lv^|4~O^PAUX+^1D7-J`x^>ZArMq(DE&aQX`T_gOEKTLf(FF$=Leq*QrbGiI?XkuWpOrex~@GSlu@a zCjgNU8lf5C6GD%$`Z}-+b!w^6a@Uur;n(`%iAgcq5kK}@R(~yvE zn;15_7kt&?g+;T;wc9Swlf=KuGb#DfuM7;Yv-?!q*qZ@|G6Na}qS8CQ$3E27} zxgyCc$XDK*YT5jB>F;TKN0%0>hVsTJ^;jv}6@J@Izn!;_$zV%1rk;yrHNxL-^ zWXh(j6P-5Ze(X;};g0k~x2=voz8?nPn;Bb;XwIzsW(%nM(`@`A;VLITnD(@A+lTi$ z(4g0A-ADWf>{^^&F^@e^z^)ar>$Lj!bMypD@%W9_fl~omqWy)>#s|%y{OPT=`s2u> z<%QpG{GSC2Hd(|%LWSIOcW?6(Dc5Dpt7pEB-O9edl*qm0!!O&$Y)X}L`3NSTv9j9n zdJ(8kb7Pv>Y52lVu>O?p@7}i`c^;%e=Eq{j%A$YE=EZm|33dk$dspANuaw&(>bO zlQ$jWpUd%42lmhlPk)ySu^-PKNrQ8JJ39ivPMO_)0J6%rF5k$a66BEOfzM~!qNtpJ-BWUQZ zUP>gN4IT_?y1l(!^Xnbr{%JHt?(0nO`m0l}YOTo2zgskeC%1pv!Ybg1ppH4n?2lzN zG&1k(<`>P!lAjyBP@1l;i&y^CBGP>k1QOe`+W)7(Z<>FrJrL%dfI^cTcY_zw{}Uf1 zih;W7N9bCo8f1GUSiE#!ZCLSv?*2?{KlfWadd{yg>ix1!Z=)Y&V&8FnIB^!-tVxEB zuiqDP=TDE*sCS=H5(s~yGYGr(*TE3%xy?P^nwA^9+K-yLl0F9ig@|lI{Z>|2Yt)Pu_R3Rl*XMm8{Z2sH5I*tT}`!L`1pTV5DzMSS+SU}do;^><+`k zkD$?$*&?7g=PyZ8{#yTylgs|*-f2G_(RBB| z=u3R{-ABiO%RJs!UrwfWPGe|S*XV=ygf-7{w@$A91|O>qd6mt4kN^4O{kFu}fm>YR zFM>~jj2|SpoA0kvQ}y(;+?lk4ysmxdf$krJy_p%mWRqOc5pAUjl&!$?OQuC8`@d2> znYJ@r&tvTrv`)U<ZzY*X&sD+j z`;&y^Pvb_5^HjnlkgCT;9PBgg>W?_q6?(0sSD)ysJ$<4qD}<9j=bddQ_~+;}^mEz~bw?UASo5MGxH1=@qO!Fp3o3hBp}PM>h7IHcb4! z`Ul#yb^G#yH|~v}_<}Gq+j7%-Q@HDtUfym_6FNcSv}?`VH#-}5;+wo1+2V&e+wHb_ z9aEzFBGc9_u|Jlrn^sSE^L{2=$$_`CBey0IsGZjthrHw1hwP}@u3HEqXKb_Z(8DhI zsPMw1s1Px!g1@g7XKaL9!-{Pr#tMF(U<}y+k81y-hwUTkpc&27cAlnsEIS&c?f!(P z?KXJCjhn5sK94b5?_Ab7GJ0DhXLbIDy~(?F@oU%XcX9LX8-gnH;+>A!C64em_l-7( zVw;VwX78!p&2B5Vk$`Kj>3i82nWEW1vKYHHJ_DQF=_0ko=;^$bb=1X+iwlAugCu=%V-lVM!!BltXo(rWwqip6^7-!sRX)}L0tHy0w=4-|4z)B7So~Amgd1#RFD3Z|J=|6nZ~dd|rG36vGHkz}o6&K6ogS4Lx{h^}mJhhH9+6 zJP{JZ$9dprP_*!2DC%YE?+7fAbZ1fE;Ln6M|F&PPr1_7~jlE;CyaeWZdq#+&9+y8P`Cw2#F#&*8yPN5zOj6(Mb62fsZ%HuPPK*T;an@ zQtet-_M5ZeL(gSFP*={*)tck5-BvsfZrwC)1!Q>^niIKgpMTv=ze+*S&$= z@pK-}huGZic-li`cVax91rdy=bJ`d_q!AIr{xEc03NDlWu)EJ)A18hWq5iOd2=~4f zfq)kQn0Rm#7Xro|ez3D^+6;rJ7GHe~kYec^1xUV6^tDG48qt#r0rLj_BnG6xHGpJG zhft{As4%{C;?CoPk5m0$Clej6!w;QxG$V#1^AP+0GsJI?<3kLS^YJal)Bg|Q{jXOK z-7f?Jy5b?=Uaiv*ZCPU*b;9^-BFyjVgfYFnfi?q#TvN~>@Q=oHZ?&HCLVqlItrHYO zRyI1M9_PW*Q84;Nvb+cJITN)o+LkqA4ph%vNLr7wB8x{iovDljs3M1_oHC;umyO3W z&&Z;L={)A##E4rzh&PJUyxPQpCt#(7m-(EddHy-yY8fLonVk{Uvsi_S@OGPtblGAa zUJX#>M5~>mX_|rhbKF+jG79_Ersp*2(x}M%TuVfm9MZBXvbqPOBYG8 znoI?H?x00VDIN`;iLB@v5+*22g(Ae&ju*1fIAXEDtwdSPXC!OU_z`TFk`-yw$)qC7 z9qqx-|C}p2mXb0lnPCl;V#H2Em&{JXqJgQD>1nKG?7{*%)hrJ$qeOQ&gF|5PZ7y_! zG&A8^;1Q@A@l)@kc5D4pe*tL0=R`gGLO0 z2SH#qv&}mihu#(tfxq|bi!HxfVtF{4-j;o_S(_}@af~rb>5`4j;+SoSe4Al!bx=FV zD6?eG*@RcsXfrvnDJFY9#hmeqc*q_Zk?m!1Hk;^;#x`=QC>dU#wJ zYY3Ex#ezUR(cb@W`E>l(8hwH&c8C!Bl3p~ z1mZ06{|Eys!w$2@;Ub#30Uu)ag6nn?mJ@E7A_-DfuaX5E;e4od~X6x}-j3qOhPUuazW$ReHFK8UE=pN(VD~qgk z&`V2*EY)ADTXLuSN|y36N>k6-RqiPP%^N)h#t%;#zoi$3* zlP3!)nAF9htIwy49q|{baRp9)Ql^x>P>`KyM zi7TAWrJtGnn|Dh~zldw(n9FDTXUX(TvAtn(wT+C}(pIe;XYsJbl**;X;bs9Az?tirj zLZIk8>inql>mhvnelO@e?Lm~U)E+$`_Ef6vI_^TG>;2zr{8H+Dcan6}Wo>hmZnPr$ zn?~l64 zL%+kd;g-vebkyhFg1Zi|7Kd!lt*xfnubj{gLHUHIU%RdRq^MhC+@TxI`YiujjSRhw z-0X+sO4c_;LTB4s*z`zs{F(7#!=rW4~e z3(4f;l<)|N@}J5HgIf8O1q$@>b$9uAH%>|S%o`GwbMn7E9aHb|vG(D8g<4Mbb&{X# zX{(YPjoj{XNfx?~FmeL7|DzBwN}Q`7mP~IwLOcE^?=iSOrfWI+FP-$DI{&+H1edPj zKdBQ6i9$q_ZZ`}aUpy3HyYQ7m<6Vfxi-0c?3C1_Oa5RY9!M-{*8U*5A4uyV$5z$gH zmOWT7%D0$*!{v0L(1fzMcRC@()E{d6KcU(7lidkNz}@HG+4TLcBTzUbZ&CqBe=mOYc4K1WI(v~f zFih}MlW(LGWb%Nr`wkKJI9`w45EUG63YZrRw7Mg6s&KYe<$dADp0%s!OQ4y zop{s8zNJa$x14=T-TBd|0EVA*8U~xN_A>GJC|o4`uo?=<9pp>?~kct_yg`A z{|032@uNnkLZehMmF>0XJ@G@RRiV)};{GpBXYGUZKq{Ng*T)Lb8APqP$I4>%xA)hZ zOAhu&f2t0awT)!tCRbjI>fbIdGrl?O$@M+_W0xRz&wtm_yPQ(@?4iky1_JRT{@-2$ z0a@&3m#X#`e3hkaRrmSGJNQq+j(gbmdvNwCG3F{6*toHwq2ZF1@3^tio@pr%E0)NE zO2JszDcX`SP$g7eK?@SDm4Ez_eeET$2{1_J@cG$O(9c6G!arbWU}X{WJlC!Th;g5O zL67-r0Y<+RSUCWZ9fqhzmMhTrYJud`6@YT9<$fNZ{3i-TbSDZ|ium)tOJVe@>hzr@ z`T7Mi^wda|6@L$&Jbm)=ESN9@U7i4@SQ3A%;Z6Tt0&i_a`cJyi--&}(2&tAg01X)u zZ>cTJU=vc#JcAp;1wkfkRh06jNs|i;i%d~Ndeb1Eor=~1`c#sYVtPu|xOicZU79LM zv`Pc^BBV(y&@O?RAs6gyRpBb{z_K7v7+bVrqFN#rQwkd!I7LQVgBWNk{S+-Tslb3~ zGKE^e;hwRjUqBN0?i{m{tf*49tnOEKc7FV(lhOcKnsf<9{1no{R8~i#Gg8gXlVp|% zm6^p3E|gdU=@XO-3D~c;u@%K|D?C*I5(6E}p_p7ohg^fWDws(x!6gb+2JEK}&!t^d zre!+r1uiTWCBu^lQU*v@nUa%0xGu>w^40G0jhR5q5i{|yTN(8#VUj$%e}0fl@dt(`ev=gZpoE@pgnZ9^IbxT<3s7p zTMsj(XUj%^Q3-nAat^Z<^#2y9G48xCvrPil0E0?gcuFKe^1q8f@-<0Cje|f!|6-Pv z07jqg^|Q9@c}TPek)nKjXyi30tiA-)I%ZLjXSd^f&4eTdeat1=*SjLq zA3Soc^@9Wt=NA-9wB;^~7T%R;1Cy|&Nj3% zR$DD?$9ZEf@c&$WV)C^xhmn=l2#v-RN7}V|lu;1B+bNcIqToKfb;;U!Z!n^BbvHR` z_JT=gEe3`@-kQrR#<@2bmo;d$*2YMAxX`pr62m5-DLcU{teUceodfmZYC6OwJFAuZ7N)o@Qub0#ig-qO(d-9D!T> z`p)wh;8cO7+}v}={(WXCzx`E+JHR*~yQbr{r$tAFtiww&K1Rpv?}Q zV9JcQ?^(pQXrXz9*%W3&CcCVLmeiq{#05Kg{aH{PNMx&Zq+NOpX)#uL6GfY|8OJ6k zw>vhvqqYHxizXF!N@EoA7rL3MLpVZOFJJc_qxa`6v@A-KlLY3=**Ipm_QP5ovaM#D z9oSxFk|cqc!=+ipmArT^NIJZ56E{Kt~A`3ENb=8v0^2V}gw z;N1sg6aQswx&61zg~`cFNlz;f?u+oaZQUk(^u?EBgpKaF3N!bBq@gf;7a-YF`k*h} zWK2k3=jM0F$%!~QbpQY~Rn)#SK0HO~kiOgZs3CL0uPQ#d(we7y=3_a^m3|!GOn>Oe zKRR%=I}9k58MZZfp60gN@4kN?OGZuNiQDSB)Af9XmdmPQX`>y>Rp`_k%l&LHN@dl- zb?TG*R-^Pl`I)2z1H+20ZiCry3>k-RJt7P?p+HA|c$9+=sishMOM_2SH?itCE~cN? zWA2bj2PX~;a&-ENTDH`^D6(-JoNbp6SivG;s6t|0Eu%0^OziTU%%hv;=x|4o*&(tV zR0bdeBta9QH2~=}l>SJ{`Eoep+ zQ69zaTXA~+T;x^wUf%A7TN7;bpp$cTLU8gj%Z27L&uz+i@4p#E9br==5_1sgC!e@1 zbQ{bW838b};aCJ92*Ja{LxX|b=S=fJ38pAr4@NvK{KY#)+GSsm1eJP*9!V_U+?l^nKG_Y?4fQx7l5K@5| zTxJ10j-*PAi2|6+VA-||=qJV-7D}lRAzMdQuP{6CJ!J%NkxufFB(7M9mC=YHCC6GY z9f$YH=22k>ca@a`ClGN;oE8O4!#Zl2L< zKIWvAP9$!y5ATDZxx3G3#b;rsfh`lW?Em5-Lpax8L>~2Dy+6(R zb<|qnA$7l?Wla1={Sh!jBm0m4(eXm+SL_9-@gfHu4I0PHshwv|#?!GlGZV+th<8M- zPS;ioqm+|XNRsqicZVahv-pJFcjsY6S1B8#*z(0s9$3FY<{jc;hUg58g7`ebwZmKf zxW(&tTgm_hQ*ECmuz+6mTdMKxlu+UVesDp{n;K41_ecUltc~0s;f+gC(}LKr#Igzm zx#;55WHJf(mhrNmC;|53tMyMp9p~G=3*&z|BrO80pye8yauFe?nI>jZ;@8OQDJ1S@ zVg|=kV(mE6L=LJVF|qx^-a^dAJc0o@!p8@tbew0jc}P67u=@-JsF0bK+CAS&ONmfD zMNf(tP-|DtpbRhcVk$#lSj0>mwSRW%K8~A!#PmEi!U2H<4&cF!lIv)DPlh!P5Vm0E zh_Y&)QHe55JfsOueck8ozKAC2Y3+b^o!G<%e45rTNQrF+X5g3zx8a~cHxlqh<`x?D zv~ZB3uwZ(FV5bw>5s$NK3IH(3KZ14@)x^FBbV{ri_dE;k**2{|p89Dwuk{?1Qv$WJ z@lg5wtzU3&HF7@|sSdcwFs|dDJ|eE~iykU%l3Cd|I+#XbnwI51uOi?|N=ogU_^Yi+ z=L3y^Cx8QgU@LrRqimZ4l>?u`nH&dA*pG**mBPe*HH8adwjYkGCYUDn*)e?r5(}A@ z874Uo?SMFG!~|(Kw-(c7S0eT7k6A!KZkH|s9cnxw+$T>&Eu*5IZ!~l(wM7-bz^!5& zHRPhq?DE3p36DkndRgKf?<;3a_!@dH_CDo0d+)r@&QSz?8zJ6!V;36!i8X|3cvM#5 zqi|~#flm$ywS+Qh1m|3{ETc5(;G~IL=M!)}&FOG5o5CZV%IbQ~vpOCb3xnp&lCLl9DKyF3@vxRGByw+8W7DNMUm)}#Rdlihv% zH#O9jBi`eEgR}FkqiL?6Xm!;OsBzF79oNz63|d{+X(B@V!*CHZt+cV*9|$`5$Six@ zEf(=)kXtOCite81bKsTe)MfW~P8xjJfD6q$^sCSmBXnV5^ikpSB1{SM2bOvx=RLD9 zs#Yk4MpzJmP0FHH2oBXP`ll^N*cxitDfL@=C%cdNp&Jc(jM@XxD4$KQZj`z-3j7#7 z%lDB(*KHv-+EK`^NDyWJH8a(-Z5B zc*TS~zl}&EvyZMOs$(w*xUNPan-p}b%ARlyrl;k0;zpuWZ#7vB^PRLFy;`w6I3uQz zAEEBFKiQg5vk@3{!=*4~yMw#T=yD1yw!TuSjZFeLDk(fz9MpUGsELTT(rwuLKVnq<^vXVmVV<+wIk8kyU;(cS4e)aa1*)7fYc|6+G7 zo!y?C<9OWDsMB_^)u%S#1H0RZljww7kFoBOPsWhV z(mh7-*-Jg=r@`&^d@Ea#S@tI_+4b<|YsWzpKta1M@P$iSze!@*o7nc_{|-ga9| zTiA-chD>#7XlVc18-t4#__&wv;>a7?gy&rIqb3|gl!L1H2A!_t*m$DeuDel=Z;VvM znl}a?ilX5maC}r`=iOlVc)BW+GKrXs4KhU7a(9Q5lp?x*W00dk_%x>2BEap@9xKDQ z9dV`E&T-CR=KIQz0D%ky5Bwt$f)5P)W#@)T|L08~)rG0q2zRX6?OQedy|ymM>HG&l zvd=`j`6&U&TVkBZuiHtb2dJ>{rwLqEqy3EO@~{CrVgjD?s>s2evi4g|oK(&fI8mr= zQDaUce1m-~5n1ko^#$#+O!}Bun4V`Zm2d?dC}6vAPI&z>3k#6j)8I)c_*les<|IAJ zdxGy|TqQRgEfVNM>AKZt$U$lDsP~*IDoWmllMH9#qzj*>=WjjZG`R?D z5`;vNc9N@#{Bb(yg)fa93?1>~V(7_k$Hc{OiKGy+@^ReVw42)0r>!6FlQ#kKdgkd- zi)G+MpmEJ}0tS;rdJ-hB>NUlq;w=5oq>Dnn}pYJ}2^xg~wK0jYh(YqOG4VoMyUcC_?i%Ns=g*&uUVOD!kRQSx zg-J|^!H7Xx_EemTASE1vNqz--f90(Ft2zGgL=aXcVB>G?$7AsiRdX(#stSX5ae33$ zgLXoBNYwK24J=KLaK+J|@-Z7FP*ovZon5Ceg2u4W+e20zAN(B2) z^64{;%BPAYm89i5KVWa@P(%8@I19W3tQ>m=jDI1JO9=k)LXVr+FQL~)Rl)aquaNCW z*ldZUTbClco&$Uz{XBAG^E-)?$G*YrmbdT#k7P*rd$uG0_3yT9+#}-dKAJJn-^emC zstO@2fI`KNo1QC8k3}01t}uea+1#k7FSIs~nq7(+rbD|B%(lA z4@eab=!WWlfS^8Paz3A5n=(&$(_w^s@i1QXenYu<#$Itx|K@iB`*5csqMDv2d?wWi%c7}(&C*KH$#GJpHd_o}cWJueNbon6zSb%H z)n(V_MvdnHgg)EQ$6gU`6TXH{Y}S=iTT)GRM)+w@>&pQW_cx2mTNH?ZlX(XG_)XY^ z|NJVCZ-3$s#ti}$OLC1gnV0M{#DF6)x~J~qADhn;NQUlT$8B2!0fj*FgDxkMp>q{F zIyn4>Y^n>U|BFO|CF*FIC6BJWo}}C(ycLCcmN!4GTYrb-@=>DdE11FI-P0 zVyCly^F}>vYnlt2_Zxf`{-P<{ZhC*ZP|T7h&+RnNeA-WE*a5SdWL&PnN7RGALvFI(t21AI#L#`9ritgk+^whV}u z^$Bk@rWg@=wVQ8VBsB2Rd3#IEya*{VG&=-<=4uDCG*_9OjTGEpw8Zaoi&^6?sv$E= z?=9LdNepYt+P-PO%!?leLKRt}V4^MeCq)y6A6Uj*$4Q&!bgxNYeRi7$fotZEm_0TE z!@9pqNKL!b{s{P-mt8SE4Hpq>_~NBPX?;jXz&`DNw_Gdun>iw(g&4> zfqq3RtG(7%p_I*AAVh=+NN!cOS7}nF@=mC`eOmEJ2{uL&lZjZL_m}dLzQha5XKC)5 z@Lm_WR z>MD~)WNIyk)qR7lXvglHsXoijxzA=W=Hn9L&iYQKjs;pr;Hdiu2eK>tkWR;p?6Pm2 z-Mn1_wsOy7xv7`{AtB$$^VaM8`u;}0gBy)#+P1W`>6WEr2NFh*_*zx=WKdrTecBhe zm4Ue`sj|$*XV_+0!Pwkjgq!ZP7%yGKas*N}*3aGtSyYw^cq?G?tBb27qS<#mC5Mn2%vlGW z9t*XXoQ58)wpC7P>shS^wz--EDo=pn6DJ}j%u|k52lIxk@+@@NQ!(1FozPdZ+~#Ll zj>Jjo-y5xJ!b2efxkb=9fp^lKCq4n%2CU3wC&jHNT@DQ>QY}EhOu$k5sc7=A)9i-v z)hgx6MfT3@KT4jtISqop8kQWx&vcbaPH%f~NXq(+}&Vf^!+#7Ma8A$3lcv_r} zPf;WBD`_O5Fd{;TB2YTu8yeJ49Y{BM&A6=DvGJ{EZq+N{$*a5G@2&Ds&#IztJx$%; zMdw%U7san%oj}fjurHrBvTnXR;|k(+ZM126$POE^n7{0qsYojPEhLx9uUOQVZAP~2 z!Ex4Y;%b@+CYPYmh`~B-&OUc%z`|tf9W^5ywsm&Vwg(!+PkhMDC%3U|+`5A0rLxuR zLI9{(&&6@GAf#8D(%|%c5x&lHqu(loZ@RLu03ac$1rkuwQ79OlSnfrJ%b7c1b}x!= zFK2$66a+v&M;u<^BHc}X!&LS@i=qcCGDq|ye;Cv;3cbta!yW8hQx4k1Uv_j^7M>U*-M>D z?niXvA9UjTZj?dY=rpp@7(n4PAL*-fK@16CnssY4POU-TjmdTT>3#0rgk(5qkVNP@ zB}aT|nOxu$)q@Mh97_sTlERC=;H?RT8iev5_R;mRK{YDr!AkBvc2x;s8_v0IEi0b1 zuT2|?mEXVylT;K4SAhV8L)*x)DE`pl80!07ck%^yfX9@N(^LMpb1opKcTuU)0Q9^I zV!~I)X^k6jov9K1?udE#W*h(XqPxGXth|xyV zh-t*yv!&&v;q_`?gAF!575T-!555JPj(N)8H@^IyqF zJka45qrKRgZP3J-YnrSZRZ zPdGO$7v^92+kismv zK*_0<4sj5T$rK(=YhKB{i2i~TGM2y~)-d6{D#$XMy)Imxo$l5dzr}h}$jXt*=mI2F z7~5TZZFxl7)Oyn0E;|H`5^r~;j*%Zm;lH8UFFD*Q+P8PO_>8P}YQza?FD@<7rxrSk9f#`+b@`jN9m zD=Yi4`EMdB`wtfn*)3ZKmL0@^T`a;ICoBMlB>Qk?gN$x^My!d6Ne{|^$aW6G!yU0# zcvoK2xt(jqOw8PX*eN`-43obxhZ@JP-4`wVDMUt5$w45iK z2A%7B$)=)8WPt7*RjaccCjdBEuKgLQ2Gdo6e3aN8tD;};Vrzg5ihd98@0*kZ6`& zd`g0djAdH;?cOg=B9om?jVtU$mSHBIen_SYPn-YWR31M(4Zd1uOT7akC(2Q6f#G){Ptt;4#p7VG)f z&&@FgMF-6`(S?cO*z`865nLHGTu{(^B)xe})4e7KCS^Fa(JqgkSxQQoQlo`NTlnQW&yh<+l_KGY@L56cblREob2bHG+;X(3hZn_~1e;fEt8CH~_%R&rjpT*YD zEI;ArB?f$(ospk&)^gJVK{y&AU^tDMs)?0zhkjc;QI%cN!P++&_%KUp2{egCSJVuq zpmxg#!^W>D1S!z$W4pyA$ww-&zOs)7G$au3hA;uAW(v<%ESV`m#!r!=6^ShD9ntQ6qB=pE|W&!-gTDJvu#n=kp{$k~4mkF}&uvQCR)A z&ePYXr@2w4D_PU8t5@jVJY;E>LwsDWW%hq6#l)n6*?mCacmm4nG2pq`FB)9VP>Uo& zedSDkD#{S2P_4AR1|FA`LXfmAo#wbWX{KwF1udM=3BxQO%u{*CJEYA^x>^(m1Q~ycr-+ z#2358QfTfqNmet83Ux}7o8huR;Ma)UN2IumY*7BL?zA3+OF;9u}jiNA2)unx(NXeS2ruc%VM@UFI~6_X%h zHZZymqK9!IpM}SOa_RskoudymscQHjOrwQ<=oAt{O)AgGT zlQA4)zsv12{6g2~y$-nQ0LwdYmR+{5tW1ruHX8>YqzMrPoy8rL3z0ET!b`qz~6NddoJ%fO1Du zv*~hHh4#3~T~;bA!YL(I#O{3AW^H9MBis`!Gf82zUxZD02p$QxC^(#Ply8iLtn(?6 z^jSGQ0~2kU6e#ws@JCWC@S>Y@C(3HFrhF% z*=%MeDG$a)09jJsDUJgbKH{8A3V=z0P>AW?Zb)R&JZ71HP?o9p7D`1B_ws#T@+)U| z^U9CK68P7NnmuX!?TX`u5L0i+Tm52D2N&Vi#Vyc0t4;QxFp_1H9`y!u&a4Ny(QhUS z)98C93bDN!UDL>CKYF}V6)++Bdjk^f=f4bTR4OX6I}bg@ms3X%zTf7(z$on6x)QAu z9ls9z`}x<)ziR=41jePGy^P{Ns78IbF;Xo$>pE>2@W@*c;>4-+BHuC(^E9U+z!xfa z{5{Mchbo(9T43IP@jc~h7wyrBp>@i~>WdBu^X2ab%Zv$MzWwo{zPwuhOkJ}teBwkq ze{XnveA<=xQ`bLUdfQI8E^}h*@}>3UuOPv_%g-lc_c_OpzLv?as}>J0-Xi{L+DiGs zgAC!s^8Xq{vDfYWArPMQSBdu=JhHa-53Cctb8Bj9rGFv%03}lgoz>ry&;H0svT6h9 zF(c@|75`L)-eH`7{ur?Roq4#k-tvNOZ+UVL`GMa zjJ^@F3WP+PWtRB^gGk?k=PVEwPA5(sIl@8tjm^x1s;5$+qT)kL-uKt(hab`wQ<)x| zV20+4s`8R?MIJh-91#^&t(xirf+@d!h~_2&^Q;C%b8ujjQ&pMwZJrB3?&)-9eob|KQRmGc)^- zHR_=Ardid5*x(rf<+hkp+^EG^7&?tmkY_PYGV>r}i1XWKU@&N~7A9La>*!$j2i47e zLjt*b-O+B~Xnb-HR?L*J&)Iote^P5k^ruUwnrno#PCR_Jc%buWeA?tPM@2=y{@w~P zPVMa-E`-D03qHyZSj7kAMm|1nhbu^&OnJt-f5>ZMIsvP|5S))H`Io@nFnKNZ&^%*g}D$n>i{XNNzZl@dUMjA5^{(#3+ zyjiNDn`Vl4Of|+|+a!wC5r3zrRD1Vijn|evZ!_SnCgQz@h6bf&6Gj6r5fm1C?@>|p z+BV9kO0T-ZV~y9ULMMNXouHS4L+pb2fEZNLNVgr8YK`!*IKBx`&ELNxkSN?g``IfI zH+=5@COLLn=oPO*31Y1AjQL;UpY*kpBYj~Ht|RJioM<(8o;F_Hd8I1ldep}Cb5eiO zy31sJu?j&s@yh_u8WjW|4(h!b>uVXW{d0-SYv%uKC!KRPnZO+D;ab>Rgc3KC$KSO0 z6)HL|`3vEAj7{>G-mORq_pEVf#MculK5L=O%q9di?qzL%GbO}#9@X)^Ec~0h#uu=5 zG+t)E+KTwc5LJsEwTLTS<}-aNo7tc2wcQ7tZ;lYewF-(aR{6gsWm3E9^;!N$OW*B! zE9Gx_=+)Nlb-P}lU1pqi_GZSVjGD*p%YYKTGWum3cXRLeZIhU#Hp`^W*{xSSb7!+e z;`QIm)*eLnBZ+1X|}&#v5h znD)1<|FPblFEe_~4S+?>tP2-sn?Ku)qJ|@ssnLD6KruV^|FE*u|d}vaYEc8b6 z$k(-^t2%)3d#>5t*Y%dYZuwJ#BVWU{T%2BSNjsO8TgwexN_=jy2hjQh8J7yS*af}b z&7-&HqL+Q_Vz*;C*Y2ET0Zr~D?pg`j{*(W5AI}FKVg0$m=aittG3vuNqF_nJIM-KKo|`~L}RCZ@)t zsT48q6(z*qzxJ(om`Dc=o!CLbE=IyZ!eRGAt|ddFn9zP;`UDAyFedoDZWmGyh#wU^5+f);J28=jan z$CxREip_LsS7LtT0pW&U#ER_%v#K04Thitxpyf#TNbX3Y5F{kv#Yi^?-^$D5WZBzz zG=qwC7k;oODcReF#U)IVbDU-muqzshL zrz9>Q-m^u>Vno958?fb0RiQ>MctVX48JWt0ofkV{i-d$s#+VKc!pGiHj>6}m z4~xB|Pfy2qV#|*zmz_(ffj~meHAh0S9hd?&;rSuq6Dk%5svx1t`B7Vb&PA2;*F;c( zQ0x$vsVpq%844e{r>7tvP0Ow=7t*QKw9nL3sC`OG@7TV^sNbmwP)p=zmz3>FkWNxg z(x<6GM;RCRFA#znxzzZjK7Oy1@C8c>r>1?fRn$~eY{v7;lyqFYYf^e&dM|dSunxP? zu8NGi(^1Gzz5Z2j>e0gQ^L%vv>O)EUlovfkRMghbZ1~i!PsE`ViYvhL4kxb(67Y4IURsTPEOz(M!W~r8Fm9==gNFkH>2u@{W$$mX(HlJ;Zv@o3b zJbYH48`fRn*aZBVtAO83^J0(ii%|SQNaBzpGjF`2(x0btVZ0U_B=PU_KM6X9Px}SE z4Xx6iy)$$K`fOO$3_LxW7Y}Y8+g;>5B_@@09TyZKA|=DdM)9C?cI(7#y;V6XYq!6= zZcR%)ny1h&aac5TcCz*GbgFEW71Dw)zOWK#$G4~mVBr_Bfpe{6F~byG6}+%UMtZS{ zIVqJzFifbKd04F4r-w(v?X7t5jOR#Ml%X124SZ4>M4$Cu64?##5gl=Xh@@Z@9C2`x zr&c{Jkn zhA(Y*g{k*4hrHYC1J(4an5gZR$8>FLw{K(5#90|Oo8PDnxhy>rnia2}%3N=y_YB=> zdHb-})%fl3`R%IInA6YYW2FPJL!))1uV6Q9GO3_ zv>hiOPcleLOA{sh&Q(CFKnb8ne&eWvM3^bS+0#M)bl~xYRyS> zzEDPPtaJqJqYt9XIUIF$Z(bBrcl&^R7!d&|rAP?c7Xq`zzGJ}#>rrnAE{tlu82u1L z>GL-a)J>NnXnZF+9l zA|lgVAr3N^heod65aW?Ov}#cj^<*a*;fL}-$edb$t?9U(R>~X&DU^o1`r~|PZzy9d z0yHF%0QWXwpl^!+iF>GM%^z$>zI#7ha?LHAja#t2;f?=BG5My>$FZbl|LM5ytE%MT zZ@XKA5!+bvqi?H4--%UYmRlo%86A&Kj!s*B4aBl-WL$d=WxUH8_GnaMO@3++5`u`> zGP1|zx88i?{YFBiLX(9)d@DHf`f=HJ5n2-*gx1jGrZq3t-_Y`Q_?5iAhDk$<^`p1D z)^Ivq!;3}7?arEw-^yY&3Wu1+v+$9We08mwMlnA9xmN?uW5(&29Fw@qVqfs{vN<<~ zFA^7{2eN&TTRkf-p7ZSGoZQlrFK^AQFLd5n(`$H5jFn%#OU=J-cB{OgJ(^v7rPU-w zzdDXq8X?Kiwtu%%9lbx`gLL@QB_I3n)_J{i{nTB9kgFWac7;6 zTp4IfvqJ$A=CY1)yaWB<-Fo$;Tq4=#XNKJSO^4U3rLU^ROx6fbPh6kd#C%A<$}DOA z2B#N;I+g^^hti&Q5>b-;wE3QwH;qI8ZW>k8%=pRYCpXz@;}|V>SNeB@zbFb^e|=D2 zy;RM4CppdFt6np+-Su<+Zg=6{ z{c!TeoACBspShwZETjLnF}~G!sK4=|*lR3<#n5C4ZgkpYrDC({)Y08>Eb*Jgia>Z( zM2qXi;&aAVV+vR8@Z*$gR=zr4W5hCE_3jkS?CKPQ`j>07-OVIxP8I2Yx?m4Oix&;bNd#XIzmz0ow1rhIG;N|be*o|<74m5U&MD`BnY!#ndC6M zjUN*^f`U-9JlE;GdjKCEwnhyf>@1 z7E~Gbn2maOqq=l0veEKb@mj^r@cM1(O8qBSPgZwN8{*6#3#T7wlD7seJxhkgHadmg z^OOi+*k17 zuees9WZ4Eo>9HE^86o6M*SM{hOFy;%*U-y)OKBQ3ro}`KVuX z?*`tYPK6d+9LNxbehHE^TxSm)j@kC!A-~0^`bJ%#?IoZ8=KQk+(-il0Xz5#-89vP7 zw_3BnFbj-+pq-$?klOpz5G`O`dFg-b_cIMlD6kihoaZOrmD8J>i+LRcl9L0iXWCrw zDyJbd!>cw%`9pZt)7^IH^5)X{nnK#(w~7m=C0s9eh+K+q9s1W-9p!2r<=+XS&QVag zY1>D}l?%u_=ZL=LQ*~Vk{6Qbk;o{?W9`2baUxh8FLxTD~oap^YF#QAuB`)VeFtL>Q zG!i@N+S@Z7Vy*MnHlG&8*E}+N1_OxKkFapczOFsdmh6e;EvF}wfJ-Rj;~=oVDWJo+ z3Za4p*}K8lj!r#sC`K4_H+b{}r|+#8((3dZFhDa6xO8tL5r^#$QiHD%XxK$8xZ%*8 ze2=anoPbG2Yh;=N`J%S?aBwL6y90t9{3Gz7kBsLD6g3z`tU<vY&H4z-Pg{* zZ<2v$^$bZxb_UOq+63iI4;cF9#4t@4mIFoimtWOb@<$FU^qIe#?rdX>*O`1>rmYXP+N|1D-cr)M;bi;D{?uw9iZa8rH;uZVMX z2mune^eT0M`rCAsx^`0;US^w`n!fFUedbpoh21)Z<=dtay!Q9^|B*^bNlDjm#Iwvn zw_GcplKxrjQ}|x0-ht<@x|M`VpAop&Y1@w1fq}IcUG$0G0X%87{oZ@Lyx-xC=NUaE zu3P=dXPhefB%6kAt;6%ci%=x`Zp1VBlO<2K1t@mF-XJA;z&kQDbHI|9J`i-99U!1$ z_-v-hS!K7$(EtqQrNTn|AMtyLrhp_#XM%^lwGSey1dC>7IweyiafZf_1g@2;^=T?7 z5;M@jVo>6}_Y^#)A0sPb{~ih)j`iOjkRQsc^!58iWU> zlJ8}X$sl{B^0B?bOF8L}P5Bo&=-%GM#5Cpi{rnGv?>qDV z0&mEHO!7uRM*u_*{#WCv-95kE$3zlPl@0zaGu5tJG_Yc=!zwUk1$$JxR z{rUahapNmRL`(HB#lc`MV^S1M+xe1hOuMZ?vKR7CqLYYeC&5g2pBapa$2!lzlGjY7 zFnKwE+E68T80A>_BIMFM=wWQ~ln3z-g=ZC*lF8-ai7O)osm}KKb|j&c!ML zOeVB)5`lOYgs>{A-`<@~WQCMBl?Ff5{EXGhgZIMs2_pEa*W-~o800hqljR>SQwYOv zokbw5>i47}BD*=<+al2xsoNq^1QybLxWGGrHdsZF-@AR0z{^elc%A|Yz4tMHa>SYU zg(v@$lk88<2;M_{T2EnlHmOzif=>GB>{}-5Np)! zupgQ+zch%x%1zLV=R`w4m|mKU9w0*We1gkDM)ivISTgweyXM0=r9rM%&e8<>@BBp zxq{LQpe#yq`Ux5W`Ieta*b0caROD>all4Z@L)a_?LLy2>lJ&kljZaV?rGO2V_VaKR z7Z(*1^8_;SYFg4fv7j7PdWtftq@2uTEf*F-X%#XW8`Kn%Y8Sek2;-6Odox_{jBsA( zBE~+BsKLJ(CjEhK6#`?|hd&BmvDbNqM_K>YPIp!TVaSA9DnRa6%i*k0S_@Wa zl&fo285+V2!d~yq`^`2lT9q!Ele3u*l`l+J_0}l^o(Mzp#TWJg5gy9QvboK3^=Z}? zj#bj(5q2I)TAcZlrQ6ov9m(*B=`DQ$_b?NgcxfULpSQ85Z>CtM*t=KN2j#p6i6M4W zbs~w*-tK4L-?^Ne99MTBLRL#%TIVHsOHfhD>)qb*TaFeyb1EPw(=U+2C%5f`zo0N5 zoz{nAL?)SgC!5Y>2;x(V2+?9p`DG|}X-CRL=JhHMY_MDNatn_{Mvmap0u*;odYbo4 zr8iP%9vp=a0B;mGk?RkK{TC5)8MXZ3HU58j(E8tE0|0-Z-<=63)#aH3=|BT4c>m=eS%B^DWBgtF{(IZ*bKV#EqY?m( z`CHVyKREop0KkgF{|X8q{HG0+8JSKx&p}I#K$qhFgdY2`rRI7d%f(K#KD3Z&d&Jcf{ zo*V`5^?=jVe-a3+qW@A)^5~I>j3PdzsiqtMOnFuF6)#@VrQ?Pld;fWXOZHgf-l)F&LEf3Ei-)5_*z9#U23rCXg;5In_GHqv3&))DDLJ7Ldxfd7>nzg7EST(~)(?x^tVe7^Fg z(5YK6*H6B!9L~c>$a{$!RK1IvlaP7omx0Du8nLczCy|C!qX+Sf0T|)RncF)QQ^=ir zZLVM%Zc%ELcrfMlM8eSr#j68`(p#CcA#M5ze_2A#C&)Kw(EPXE*f*ctJ+IDtuXj*y zJU_hQ`#Bm@WqaLEqImZ){_)p0mv?e#=*OE-sMO9liMqEmMJpqc_7UP%Yb)$$;2Fb5 zv+p(EXQY192%Rv<{;s%48<3WXD6ZKpJ%Z=N)bNYm$b6@!56k;PBmdFXdp2}m(9!>s zYZc)KTTgf>XyzK&nZJ7rUpq~6Cja7au(G-MK})2i(KrI*?7CG*;xI?X&~$4~p!nD3 zPtk6Z{#xDMO7ei(XWxDZbEHSz|dE|Fo^F4O#Q)Yg{7QDjpK_=}X1=5%$8#Y!ip zfq=&hyLNTck1eGnc3n3hZGS;gv*?X|Qfc*Uk>};l<>d7CAs{JGv&d6mNi0iNDQW## zev#dtb`_u6ea#)|Kx)V-vo}CMWd`X<9R2oIN=ZBSRr?5RcO2>{CGAd^nN$JJdqtBb z;59&@0*22uydB{u9Ie%3jY+e!0R@FS`+K?^MjkJ9&R+OczBefyI!tPOHf(VBLI5bB z5BXCJX!*gUA|zgE#lVJt$q;wG^G19y@s5zVl7Xj6p!w;3%qBBBF~wADK;E`$W9x1N z?tbVby-T5v_Fgt3@lEZ8je~b!N4ENou9x2U;#e;L{F|QN?{GW&(bRNqt=_W1;?UxKaL^EM5Aq0;3t_iOt1cg<#r`D^>GV?nc|(PbsDk-SKVr5@w?!_;~-9>?awSIf(p4z-zX z1xVgXNJCV^U|5J8Drto{2KsPK(sr`w`k2_el6|q~`Gc6vIis1CSblT4QeZX(sa{1G zW)q3O#uI&BDil>f{Sc;!TV9SsCNh?eL1S;gIU=Iww>=Bly8E%dUZjKW$>;;YM1#_M zj(tBCn{y0EOw8jKrX|3*@o`q+4<-YFHRGj&P!tqYr8H&zz|sn&nF_>Du_kRl7s&Rg z=J<>5L!F+0*?ZAssMDM5e>lbjEea0zf@KU85D6QaiO(?oiiima2ne4G^Ew?3K=Zi} z>hcT#cIy?>T3fHHwzm(5*vujEkW4Z(1x45W%3Jg=Dal}kyZU&@lZp=FZ(FITet`f! z(lV60dW)g3hu%(N3@OYx_#9SM#bnM4J{<@U&=>>|CKR>3y~Fgo|3>a&CG)7An8`c@ zN0|+lukG*GwL2-RGfAe9-#nqogG>Z-6`_q9U0y=k3?fnwY~|-Cig!`}A`i|@s)X{o zLH??3+hG@nXvTH2mfCIm9|C65uZJXhydzu_vQ%@_N~Z3dWoDKR)-jdxzH|{06-WeC z5V1=s$wD%VNVq@N4P1ZWNE#TN%1pSR(Tit>s<#buHa32SM3IGI&Xu7n>0iI7Zs&N! zW{v8th$3m8F(kAF4VRM@OnyL*tXZaw2x$foT4Kvif!^2GSJFqpJV^3Hz2Q4Yb=&0R zgu*L!2$!+VMT*a%!Kl?l>=AT2?+)JIU-Q9!_J!DsRuKTG(A7MJmAB-btIk5j7kiZ* ziCp>jZTQvxt%lhAICZAtN6fNd<)Yx|XiTF{qN$^UgYkDq>xMynPgVdBnTxdkkefXt z0!-B2RTm|rU%iM>ebs&J#=NGwy1J`TLuN^>B={biAUOwP1`Q1jl|cIM*_o~SsE{gy z7V3TDDo>XeQ3;mwg38WJeJ7`NE%ZWsQBhGxJar91HBRjY;qz<_GqMQY45!XTV|z`Ms~RKXFov6b z&m}%+X^-Q|84a!ME*o_28)FZe9DqNW3G$3YRka?zBiZUcYK?=~yf?OGRj@Us9Si5l zw$hTp5Uq+YeMquEsdErvrpU`}apXI7jEYy&uH8YRE=MwS;G=pfJ60hzyzln7N-1q-%8cRa-||`P6R}$&f@bV`lxc^w z7Y*Q^eeIZ;S?IS6a&QAY86HYc8Yv1V8NaB^Y7TL|(dtFMVbjX))RcHdS5UWzVw!5$LuuHn%sn*Q9XbMohQm-I4=NEtJ8L9a0^ zu(Nh0lr?y20O$Uqx|OPx%&7lSEl1SjI0YycUVIbiNpWc_HwFdHQw3?B#oB!y;mSmGjq~tFLxY-#A}L&ZP^B*IF7+WN&>0zvs&?mbW*RLfLF7x3 z7s;}-X=tEHmmT(lsR5z*x$uVcAf`&v?E2FY;p}7IH+9!rijY6LDwnNMtLFdYRs5@f zrc-cfE3#|<&0^%A_ZO~Py$PfwTM;RLN-6U2^YZg^8BMgh7RFoa0nXMaZVEdj`Oik~ z-U~Krz1Kv6JpWYmzc_z4rcm{NB5nV|s8tIEP-}r^xXJMGN%sLSGaC7~+<)}i``u#Q ze@?Of-8=rXg-qcBs{Z=#juJQdkLDYZN=XfX0?^?H1^_j_Klpy5`d5R$PoSp8#~X=^ zQPYHpZ^jXb2#4ciVm}3O!0^~nUpt|6`#yqf*e?)R{)Dvob(A;VxD<J$xYEk_$)toB&(Q?;n3Awa zJ@b#%z!$W`MGpv7S>iu}Ie@9qICydDkC58jgT#b!Ly#2Hko9Qr=dE^CHdY>^vbQ;9 z6mNK{Y}hrf39Ir&ZiveG{xjiqu779I?eZZQROT8|jINZ#&CN|o&aT}B0MMjR0U+m2 z*m6_iVU2OS6>qsTurWu5neR?M1?v^UL|D$jib5S2AtAfo_3DsK;^>2KXs@0m7c$i& zE8;cb1sz;gVbCbZ;#jcjjzFY~Y_-hd%1Xm6LS&sqSTI2G4auhF1Yy$i(v#}V>ig-j zkr;udDO}TM#bKgIY+cxqj=9mi!MlY}ZF-WBuU6=I$$^b|ZC043U#SV6fGVm2MsiOx z)=bTDs56?ZyG8AC%c!vZitTbULjplxxYw7^GA%$tmMkcOp0?~LN2BVpY1n>|ycG87 z*tru9)qYP^s)?q9%)To6XR%4=?x~l$sqzV?oEI`*g%c?3`382v_#|*SC7}`^i5YS?~2_unEBxdt@Y(E6n=D~z^ z^eFmM5buDB;443LqIQ=~nnv;vr47+)XdFR(*{nyFjsA#xRR2cerig0Ykoza>f7$fw z)+k1xRPKb`FkGM0LY10M#C4r{J`Jzcj7z52X}5|7PmEWEUscg+IOPGglY@f@-1T77 z_C2$ZD@xivCpyNubTAGX6eI;a)bpf+v9PhQ{{U~6r>cTx=Bj_TuPP9p{Iyebb%a_;;RTHkY!VIw;s zBv0KT&taXLPs_b)B#~>11%oP$f)m`b5%-?E-t^g^W+R(+sR~}u#FUgaFKO{8Ky9!P z8L3CI^T||nUCM@3I8z{Q;$mq_Dgrgxcj~pO`q;xD5lc~ghY6KXsn~5=q$J%gSGauu zqbS~PZnow_9gy0sz6m>vK2a}?*=yyIwrRCysWKL zQa3k8z{_~h%{!5?%p*^+tTCe{H(DFyDG>s#V)r46zY9Pz*Izf&AWG%$MyN>kA6F?n z1Qpq@%T(kra&zEwtzHiY*5pIqa3!*52dwFNkjzblxuu6n`e=jYkPWYgRLGTtj9le~ z$%*)aH%2!oS9!+N(hN9m8&;8ENp}D?%lzk{efq#>oj1+yAWnjS^`PG6;tftzP6A37 z3S2Z1AH0y+9z254G#NaQO14AeWgA`ys%-`op|Bp3=Bn6E8XMcX)70P)Dpj->t1H7v-uc)xQ%u7uyV8Odft@Ew1RckQ+#EdznjAU8p8Xq7R|X; zRZTT@Q+l0qxax&oqYNJ6n2`bw$edP*gnb zk8Nha5P*t*cv{Z#3{LR&B#-3biDKijuzV!z>cL8}ic6+4Yte&pS^<)N-tpyf4^K5M zztdI&`>vlaNVx+e5LB8a?9x*#N9i;Lj~!6Z6ZYy!$&gEXnRRx=eFk@*CmGY1$-og0 zlroJ{S@i4afsYvm#@6a_n3yVoU?rMMXV&w8Kcx&>%Kzz9x?_~!TbkQ6B;Le+EcMFb!n0?3E}5rF~F zlxBEieS}<{Lqblr6}j~{xd@ieL{g~raCDO{PMRv?*?I?w}l)0TTmY^dvp%TMYy# z-BMoJDhpkZa@{JYH+Hp;wbp4fO03;g8_QBODyexR}tcXtR$O_dN` zK(|YWN(P-|`o&nQpCY-Le74VPFKyPnmb$M(BUbWH#% zLq4E0{E?d||4LDzDt?V**@MDo4GCM=a+P|VVQM-87=DOwe5@cE8ty5T%;p9-jcYbd zZ5P4;;2PN@-Z@SZvf*|v5pKKXhR8i?X=+P%60*1#Y^J%jt|=k6g8V1Tvx`Pn%M&M4 z_~IBS-Nc#vM_cU;u`TKjyUWALbRu5xY+<|hP`@rcCejkrVp2R|N zbt5LyhiGU)qMq~#c!G|UaqClD8MWV_P%sbN5IsQpKupBeeYm~Sn%aGKZaIF;C`R?x|gGpn9R2l@^jgZP{LD%^NFXJ7+c5vNY$^ zW!KHZ?XWZ-9%AS~O)K&~olXG1**T6V?v)5OegF!JG_aZi1LXf_QB}{A^5do?na$kX zgT$d>gRvCBSR^o__&aR-2XC*DRM(t6@0&I_@mF?J0p5^qhYhV>ay-XqkF1kL8B91ns1Ncpvy+cH8$gj^Tq;^Mj# z6lB#{Vy8kqL8e`{*6^N&ymsYQ96U5R<|+6H_sJR;8I6#qRr8nPjK&_W5hyf78fB2u zKi4mJd3j>D)`r4;K7`U~e!f@1NHZ}pB{4l7bi8y%VY=^rYXDlHp@e}0 zVWm3eq&l)JODlurJEwX_;I0PV^{RYjaag@E3VL=nnKteNx(Fpe9BA zLERfOeKZV{MXqX!v~(VDvgrVhzO*eO01fdlO|v}uLob76RlTyNT2J^-sWZn8wT}L$ z<|(yq^xx|!FZ<4jgk=UP1F(0WC0^wkmbb*#6m>e)Dnf z`gy>@=8LlhG3S>F%=l150IFO~vc9XtvkJk5!!3{RO&#Lr)n3IA4Eop;(vMj5k)~PS zrVg;f`MVlUmrRhZHWA)3?^j5eML1Z;J+pSaSFB@mERV-4jqogkzKOZVp4nD`RcCoM z!l9ZNy-44TTi`N{@Xfj`nh&vJ3Rz@_;H)(#9Ri~~6{ucdZWFD^T%P^D7Vps$8^ zcuvm^?xVw}%RwgZsC0<(hS#8XcUPgX!(dSvg0Pl=9836)JuDAYteX)(dft6q zqbT-(Q;e&n(~^=2-|6L;MBIp2pu03mYZy_%TD4aqG*wPRI+(J&TmyDBB>o7`#l8Gw z9QWgntG7FN*>C`1yfx02E>$m#r}tvFp`WzTafD(;8-~UI$)B*e+^6Mp$P*^Y&*tAm z5?c0pT=9{ zM4PVR5j?K9unKT_qRzDTr8cY8=vX4$IOTLT@}MQF^;@gZPl@4(3JSOirOhtgn3}*v zjZ@$5dm%KP6EYt)^~(pw^$?kN7b*Jbdz^i;&$0TNYL`aCN0cfXUbyG@ULB|3dMrNE z_kXrU{<6+p@^i#%xwE~}hC4wn^dacT=*Pi`FuB!mg;0n>a9ZiyjO-A%d4AQ^d9<=& zYQ5>)!kX!tX<2~~ss+aEi`67?XMLGzaY7U?dQAT%&mF|cu_q)ExD!#mOOrp z8PstW4}*HJ9SI!45bDb@)$Vt{KYai7n_=yS&Z6>KS1hY@^G*FEnD#ws$;hQ>W07l} zktA(ANV#EaGQKLtHo9oPGDEg`@6enSnP+bs|6pNrLq%jap}|c&E}wqJR5l5k!<3|CmjbrzP9FC zCyG@zMiWXy9O3$X_6i$ktd)jf`t-@PuozBjM~ZpQ?=R^f-%!mW7oRTsfAjzj>#!Ko z9W!jc(V-eG3u%pJ$kfYtKaB|ZIyrSQNG?g)B+=R!4Q#WU;L}0G6v;axKbpub9){As zt8I-mF#w735c8e5{k*;PblMga$sD~pr{j+!+RRkr3#m^`+6|_=wIY|Ln+G!@s7H)d zVEQ8ED>O8=+it>3FG{c$wmyZX$+dD?)?~v^tqe4eh&k<@jOX#}Jg!zEAxS!)$!upE zb!g&w%D-DD8{6=|er6}&EiR_DLi7YpwR?vkZGfOv;k69rM~x%>@&d?Fd&$?f=<|-l zHr454HPX0I6%WL6R#a4}yz2Fl+}31egmj;)o&>pm879`kO!#|B#R(W@$aS|=cttz6 z4>m0?X+91OCQL9`1S5$uD(`%)8Gml zcfc)7Z(WOC3as1;VDx7>ia{7a%OS{tLs8Iz#DFNqZli4+oYB=cMOq&k z!g7$OpCgc3KqD9@95dF}ZAcx4Km>p_NEpa-6I%Qfp6ow~!%3L(tvk~;m3Ix2Db1Dd zR8Js;9BY~$wO8*~ZUDk*p@eT)Jgt=an(Va%%U*8AM;uVctm7m2EK>de3^i|X%lfN# zygn=gkz0Vyn}I)}0qIo``J{N|Y!D|u0X7)vn%rG|-?iJzDVzSqe5|A_AzXQjFLSqP zdKozAwM%+5hz1FyJ>^$1D7=*J2k3y3|jr#O}5y8lBib!AJvyWEV z=XX~jHa*C&)Q1vkWl8QrzCQ_Dy)jk91}TFfu&`N@U=qNR2n`lS41pCQ={lbMPfo;@Aq^c2w$|BOwb;Y8=rbhx7BXDt^|=+aAdCX z%;{)Lq2bFoT*v$Ls=soDNxm2En31r0$SRXJvEwTKD=dG7OY)sdzaifX0MI!6ge3C9 zMO_K;NS8`dss8hY(cx3)2Pg^xJekzgJ@KLJF>Prfl05r7fZ zO9FcLs;VvgszTX^dp3vaG`l{={W7}&qb7PVL(cxaT#Tr)jz<1oDz{Mu276_<>@(8_ z0lnH+{diRT_Mc_R%)7peV;nJC?rfeH#`;(Iry)Nb+$)`MSw7^(*sW0hxCC0%hryUc+Y&{Dtbv! z+L@=TU?3pekpqYUI#Dj*N=HA;pA`oFSK|yGuwXyykU$M;U1~db(fJhK5Ut^a&Ln5H^`7?!J z6GD*M^DmbYzP`ug63giy(qcNwrW#A^QL`u zSlD0Z!5!(thYTOY=p3F4x~nLfR5+w(YM4NX(Qw2PnP+eeW>w5x%CO-l6*d}d2_1!B zhee&}ABlMFnDa^v?0<#{ph-i6%|*)huH`_raX2u9w~Y>Kqo%_57@jqq1fr7!Uav%1 zO6-$#sCT5cF)X!IJZvNMwHVh;=U!{t09N$D?G^U^=TRvGrusaS5=@%d%Tv8dhFXiy zUzm#e*JlwYALqte52J>|HM@a6Sg6dvqdHA!#jZ&}bFbPovvAn+!|6{4zWLysuhRg0 zecYOf4}poW#z`!t3A)Os?0Gwtq(ed}>ZFcV+A-T+*@=hP^JvI9+s}VmGBa*fB%v{f zNi5E39FRG`D|qn&gOkF!qZmJ&n(x&+T#UZV*YcK$uVNFGiXaXU>7dN1HM)YvLowC% z(u0ruaU^tUQ;(j=SXepQGYKr`MHXcoy2M!D(r$BGw9u}%(;uQqQ{9rlgwYUA2~+26 z+t@_&g5oq`L^T=jxg;JI^?FU(tQAm>Yh_)O^_P3>r98J$^yp4LNk^k0Bk= zeYq@m?tLeB^SU)NjzsSE_^4%7XWsgu{RjaBcG$A*gj<=`T=s66`=Br0KCIk6$J+j# zu;G|ub<4~3ok6fnB}8V%D~#wndNCGY8*S=BNs-Fh2z5nYxyPG7ae%pNd=B#cC6nij zfc>n=p0^SQaIZAuu_B}IF|FRVU;S(9S;e^VXA+QFD?~a+I1Y!t4ov23sSw%}50m@| zk=e71!vn)44&p%x)jRk2k)v|;Txhrb17T6m=`ZKe)7$5dHhorE`;OZhPZUnX2~oSw zvbBa%VieVCHHK@i+JXIwq2aSIq7@CA;_+;SP(QVR9>{1+qQw_(W^7`-=X4VC^<8yf zN*a@qc#uU8G(H|od&#UVyvV>-o5ttBNCFmOie1Q5 zqv>?dp3BXDH93Ssrk)>0W23yPAxnQDDjO}Y#&Qu4+6pUHlu8e0%^XOL50h97?p$}H z1nix{!ozFLyTdCf>)3aq*IO6i%kOY?6Iow=W-KS3!S!O)A*vl5}#9OVQx2mG?rlCOoUeZUJsI(woIh)Lx$tli93; z7tih_n|ns5fysG(1en^#&69vyH(7$o`J5nk?9iXawH9HIU2j?4=EtD zx7oX&Vf&Ydlc|)8l5xB9St?W2S)L`DmKTvh3(!-!u|lG{L0H)L=F6X-?3Jk7iX=h@ z`%U%B^{JRt*TJ+whwr-=ATqUO(qRFdc_)E(`D7Z<4NvMcY@&-&_jsZ2(;8rquaUYM z|HzuhLUShSGbQG@gm}Re_56C6BAKjA3pAV=bPA}4bXw91@xn_40ysQ?;Mb9*<%NXE z45@_CN^szln{VcN~k-&0jqnA;~h=87XMqfSbgLN60I| zR4H(SKd!sH6J9=@%-~R|28~@7#^E{aLi2;kG-T|s2{7&?-mcguL#p*le*>g2q^_2ULk`Ptk;H< z8s?iZ&M}E86--ZM=@sI@OrHYc_4)$BdG!;>pQ#tH;L(JpUTJGb8swLi&J|!(q;hK? z%E*0s+ib7qaGEXMrwW=(@rDV1a*x9!^>TexgkKBT7c@953aYSDE{YZ}=!nJ$hGhR> zH$lHQMc?U9NoHs(g;9xw7VnU%%UDC+-T{l@J2@6z8U$BUx>;v!Nj-CLa=QixmOr8#UbLpBLhFpglFPL`gU~i6oE$|t{X1;Yt$a zwUtgnLPCOoDN1L=fW1V097OS++-x$t1HwT)LR<31ReGgRrO&+Tq22-z83y-3Swedi z(rzp{A_aXxY@&U3=&9%!oDjvs*fTi8|NXqGD@?EiX>E-If_Mc}h$-E;t3!B>r7HyY zquVDz!oa-j?Kvpxk5{(^xec1;(*7$go?B?Bp4_NTXC5-fH%?rHZAyKCZn$Co{ zev&y@ig*#wg)_Z68|_5PhaE4Icvs|}w&=Ko@rY_F1XBs?3nrQhyQ~dtySUZwyh@-0 zRm8KGr>n3eC>CD!&%>n9Bub=YaoA@9!er^D$Z?>Krta+UotLo+A^z6(Nxu2v%mej% z&?q#74YRg83CQ}H?P!8r0P$u5A6i15xm#&kSkfGJfd4|S@B1=JC=bhL%QEpE8COlB zNNQYuJ5LJpnMhzlOHLJSt${NlnZ*|* z3`C<484Xr$RV_dS0@F8^QJJMU?=c6>hu)3spR<8M)7<6eiX^hOz)8)FG%ZH<2i)85 zq+z{ZU8=yK9zlhz!bA;WZ3%QxM?Pz4&-%#^*UnJVduh``%b|eK=@E$AFOA`6Ce2a^ z*<8BEZSr~P6`6*-?P|`16JDZterPq@vJas|&{?mw*a*>v1`e&0&^dtPKLx%s`ead;==2xqioih}HNTw%dHgVE{rG2N@4M@r{QIoBCNE#Zlr&j? zk_9QA+F>*5xbZ*ht8*}X&{yk1^Je3eNAPuy_3}I8vm=fbhgOx9#aTnv&aDr_X`{y- zt3qkpzn+gZ-<(`tEj_20`;qmDVO}g`r_o8w;@i5sMdXG%e1^?JrOT z9S(Z9-`6;pWBtyKS1ZZG3Xs^vp^&fs;T&=!)axr>_#=Ke#n>a+_wq}|5hkj+u7!n# znVC$XUOeyp8TzmKk3Co6F`TL&p4WWYU!tHOz2}+nW*5q8V~;OyCub^mTXnf^W~&T3 z4=eP4Pcpr{iM;7H?!K>pm9nJfSf5Tx-h7Y_BX#@dXqjy9_-I ztej3*7zrEjSxQZfspl48^H-!)2)r7NhMGUi=J?Cg>h`nr>K{=y7xY54zo`b6?$6|v zl9`Jm-EBXs|1r2w9YFw9Kokm*{4)fdKiM8vN&0L7>Q>Z|L5;8%08bjAOav~e7m)8L zj6^ahjsLcRDOvBq12U*`xE5h?VPhU7NYNe8HQFkeT5|yx~o{+Q>F<8@D)_Xc(+Fj zE6SZtup`IJ%~)6#=|3YF-;qP!xA)@t#@B;0Tb!LXW9B?pSW?J^=G=o$zOTh{3670kD`77Uj6R zomdTCfRS2AzJ8sYoC<69eTQ?Vx!){cKXZM&C8+YWx_;$L>psHJCL(t#lwEfD$mOH3f*@x+U$m%yjy!!MfZnk8Z^=B^|K z=OujZZoVJia%m<06ff!8;$0%J;Yl5_<`bttZ*|en9JATHIez^MGu^v}wD(ke@aM5a z-aWUgsT|##TFuxj*GS^@rB}C&vJN_0w~qsB*yHgPfK0c~eSD%>LZYZ8!-v)CZGkC0 zPUp{Ji7SwcoF7$Ie));k9x!Vu+ej`%ow_G9QmM>%VlWILE2scM0oX%D29LW37v&>> z-s?$}CpYF0wP}bVm{=SIqQD?53x+5VF-iz1bNAr!?>7DsL^%R!0I7bkopj>|=psWT z?rQIz&3>D+MGJ34`G1lI?gTkiy)zeB00N1hf(|CIsBVa)Wvn#Xo>orUZoIsQH8A^c zRhpWu(;BRQ(FnS=tmxGb^S>6I;uEwbqE8zE-pBdmDez$@E@=m27z!Fe9m)TgCMb*e zEWf0p5CkuAP;h8u;`k_MQ@NskqVV-eeotlr&yhGVQRJ%Oahbvu zz)8`=pS+fU!q#Y}q*2PrDYwqPSOJWehdNs}e^XRaQvH6v_V@06Z&_GeSPlS}9qH@4 zHy`hplV%ZO{Nn;_L{@Z)bO3E&5#nrXZ+I{$TRHzeJ%1vFE2?R+IGgX|FRa{Imew^0TwG!`Mv)TPrR8-0Rik;>E zSBYp8d8rDy0Vgm0`9JIF>e^l`%!-;RED|tLIaw`chl|KT;C70HCW94>A5)lqObYd6 z5%N5*JkQ2i+|!q##I&wWgoQQUtf@g;YlHuP@gi4?fC-?3dH{ra BUJn2O diff --git a/data/Pckg_SDAResources_algebra_H1.rda b/data/Pckg_SDAResources_algebra_H1.rda new file mode 100644 index 0000000000000000000000000000000000000000..9dbe79fde7aa969d9b8cb72cc083a5e59015f1a5 GIT binary patch literal 13707 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 I>0i_SFQuGGc>n+a literal 0 HcmV?d00001 diff --git a/data/Pckg_SDAResources_gpa_H1.rda b/data/Pckg_SDAResources_gpa_H1.rda new file mode 100644 index 0000000000000000000000000000000000000000..1687bc0cdd5e9bda0869da6cca1a4baaba309fcd GIT binary patch literal 6811 zcmaiVcT^Kf^LD7x2@qN+l0qOf=^X_UN`O#8k}xi4B*uUfg!X>B;~ZTa~={4{$%e&@dAv|lYr89?)kqO3d( z224-;f@9PQ6jRQOa`*idmHq1KPp5w`*l@=yilxnym;j7%0D$tpf&RevPy4t32bb#q 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 literal 0 HcmV?d00001 diff --git a/data/Pckg_SDAResources_schools_H1.rda b/data/Pckg_SDAResources_schools_H1.rda new file mode 100644 index 0000000000000000000000000000000000000000..e11ee610f7096dda882b22c5f553c62a6d59490a GIT binary patch literal 11436 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 hkK)EtgoG~b!=!gz- literal 0 HcmV?d00001 diff --git a/data/Pckg_survey_apiclus2_H1.rda b/data/Pckg_survey_apiclus2_H1.rda index 7a926e12fdf298449991002bf16b0d403a1e2ae8..2acd34f54f6eda6097f6c6fad1dd5687575012a1 100644 GIT binary patch literal 10333 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 R{tm7sY0-k9%$Dat{|f>MWgP$j literal 0 HcmV?d00001 diff --git a/data/Pckg_survey_apistrat_H1.rda b/data/Pckg_survey_apistrat_H1.rda index 094c5a85a47b191a5e9095153c9e2e33f51dda32..4912c704d7f18f00c288d20897b6acc01b71117b 100644 GIT binary patch literal 12594 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 X#8mfk5aLgF^D(MjC``+p#`u2$6xqze literal 12743 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 F{}-g(O+^3z From 905a7703e047a56773db2680ff4774d78875f2f0 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:45:21 +0200 Subject: [PATCH 05/87] Update data.R put back the textbook examples deleted the shrimp datasets (it has been long since they were last updated) --- R/data.R | 320 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 263 insertions(+), 57 deletions(-) diff --git a/R/data.R b/R/data.R index affcc6c..cf8db88 100644 --- a/R/data.R +++ b/R/data.R @@ -234,7 +234,62 @@ #' @source \url{https://CRAN.R-project.org/package=survey} "Pckg_survey_apiclus2_H1" +#' A RDBESDataObject converted from package survey dataset apiclus1 +#' +#' This data set is derived from the Academic Performance Index computed for all +#' California schools based on standardized testing of students. The original +#' data sets contain information for all schools with at least 100 students and +#' for various probability samples of the data. The design is 1-stage cluster +#' sampling with clusters of unequal sizes. An SRS of 15 districts is selected +#' (psus) from the 757 districts in the population. All schools within district +#' are selected (ssus). The weights (pw) do not match 757/15 probably because +#' they have been calibrated. The target variable is enroll. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with DEstratumName == "Pckg_SDAResources_apiclus1_v2_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 183 child rows (the 186 schools finally observed), each associated to its cluster (dname), VSnumberTotalClusters is 757, VSnumberTotal is the number of schools in the cluster (census), calibrated weights are provided as 1/pw in VSinclusionProbCluster} +#' \item{FT}{the Fishing Trip data table. Just 1:1 links to the final data (in SA)} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the final data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the final data (in SA)} +#' \item{SA}{the Sample data table. SAsampleWeightMeasured is enroll} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=survey} +"Pckg_survey_apiclus1_H1" +#' A Clustered RDBESDataObject converted from package survey dataset apiclus2 +#' +#' This data set is derived from the Academic Performance Index computed for all +#' California schools based on standardized testing of students. The original +#' data sets contain information for all schools with at least 100 students and +#' for various probability samples of the data. The design is 2-stage cluster +#' sampling with clusters of unequal sizes. An SRS of 40 districts is selected +#' (psus) from the 757 districts in the population and then up to 5 schools (min +#' 1) were selected from each district (ssus). The target variable is enroll - note that it contains 4 NA values. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with DEstratumName == "Pckg_SDAResources_apiclus2_v2_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 126 child rows (the 126 schools finally observed), each associated to its cluster (dname), VSnumberTotalClusters is 757, VSnumberTotal is 1...5 schools sampled} +#' \item{FT}{the Fishing Trip data table. Just 1:1 links to the final data (in SA)} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the final data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the final data (in SA)} +#' \item{SA}{the Sample data table. SAsampleWeightMeasured is enroll (note the 4 NAs)} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=survey} +"Pckg_survey_apiclus2_v2_H1" #' A RDBESDataObject converted from package survey dataset apistrat #' @@ -270,6 +325,46 @@ ##------H1 Data from SDAResources package------------------- +#' A RDBESDataObject converted from package SDAResources dataset agsrs +#' +#' This data set is derived from the data(agsrs) used in Lohr examples 2.6, 2.7 +#' and 2.11 of SDA book. Information required for example 4.8 +#' (domain estimation) is also added to SA (farmcat <=> SAarea). +#' VSnumberSampled and VSnumberTotal set according to agsrs and book pop +#' values. VSunitName is set to a combination of original agsrs$county, +#' agsrs$state, agsrs$region and row numbers. Table SA contains the variable +#' measured agsrs$acres92 in SAtotalWeightMeasured, SAsampleWeightMeasured and +#' SAconversionFactorMeasLive set to 1. Table SA also contains the domain +#' information, coded in SAarea. Table DE, SD, FT and FO are for the most +#' dummy tables inserted to meet RDBES model requirements to be aggregated +#' during estimation tests. Values of mandatory fields have dummy values with +#' exception of Design-Variables in VS that match the book. BV, FM, CL, and CE +#' are not provided. SL and VD are subset to the essential rows. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains dummy values with exception of +#' Design-Variables in VS that match the book} +#' \item{SD}{the Sampling Details data table. Contains dummy values} +#' \item{VS}{the Vessel Selection data table. Contains core information of +#' data(agsrs), VSnumberSampled and VSnumberTotal set according to agsrs +#' and book pop values, VSunitName is set to a combination of original +#' agsrs$county, agsrs$state, agsrs$region and row numbers} +#' \item{FT}{the Fishing Trip data table. Contains dummy values} +#' \item{FO}{the Fishing Operation data table. Contains dummy values} +#' \item{SS}{the Species Selection data table. Contains dummy values} +#' \item{SA}{the Sample data table. Contains the variable measured +#' agsrs$acres92 in SAtotalWeightMeasured, SAsampleWeightMeasured and +#' SAconversionFactorMeasLive set to 1, and the domain information, +#' coded in SAarea} +#' \item{FM}{the Frequency Measure data table. Not provided} +#' \item{BV}{the Biological Variable data table. Not provided} +#' \item{VD}{the Vessel Details data table. Subset to the essential rows} +#' \item{SL}{the Species List data table. Subset to the essential rows} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=SDAResources} +"Pckg_SDAResources_agsrs_H1" #' A RDBESDataObject converted from package SDAResources dataset agstrat #' @@ -311,64 +406,175 @@ #' @source \url{https://CRAN.R-project.org/package=SDAResources} "Pckg_SDAResources_agstrat_H1" +#' A RDBESDataObject converted from package SDAResources dataset algebra +#' +#' This data set is derived from a fictional data for an SRS of 12 algebra +#' classes in a city, from a population of 187 classes. The design is 1-stage +#' cluster sampling with clusters of unequal sizes. Clusters are classes (class). +#' Clusters (psu) are unequal sized (Mi). In each cluster, all students are +#' selected (ssus, nrows). The total number of psus is known (187). The target +#' variable is score. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with +#' DEstratumName == "Pckg_SDAResources_algebra_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 299 child rows +#' (the 299 students observed), each associated to its cluster (class), +#' VSnumberTotalClusters is 187, VSnumberSampledClusters is 12, +#' VSnumberTotal is Missing} +#' \item{FT}{the Fishing Trip data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SA}{the Sample data table. Each score is a SAsampleWeightMeasured} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=SDAResources} +"Pckg_SDAResources_algebra_H1" + +#' A RDBESDataObject converted from package SDAResources dataset coots +#' +#' This data set is derived from the data(coots). The design is 2-stage cluster +#' sampling with clusters of unequal sizes and Npsu not known. Clusters are +#' clutches of eggs (nests) with at least 2 eggs. In each cluster, the volume +#' of two eggs is measured. Clusters (psu) are unequal sized. In each cluster, +#' 2 eggs are selected (ssus) and measured. The total number of psus is not +#' known (a drawback in this example). It is assumed very large (fpc negligible). +#' The target variable is volume (others are available). +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with +#' DEstratumName == "Pckg_SDAResources_coots_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 368 child rows +#' (the 368 eggs/psus observed), each associated to its cluster (clutch), +#' VSnumberTotalClusters is not known, VSnumberTotal is csize} +#' \item{FT}{the Fishing Trip data table. Just 1:1 links to the final data +#' (in SA)} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the +#' final data (in SA)} +#' \item{SA}{the Sample data table. Each volume is a SAsampleWeightMeasured. +#' ATT volumes are *100000000 to meet type requirement (integer)} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=SDAResources} +"Pckg_SDAResources_coots_H1" +#' A Multi-stage RDBESDataObject from package SDAResources dataset coots +#' +#' This data set is derived from the data(coots). The design is 2-stage cluster +#' sampling with clusters of unequal sizes and Npsu not known. Clusters are +#' clutches of eggs (nests) with at least 2 eggs. In each cluster, the volume +#' of two eggs is measured. Clusters (psu) are unequal sized. In each cluster, +#' 2 eggs are selected (ssus) and measured. The total number of psus is not +#' known (a drawback in this example). It is assumed very large (fpc negligible). +#' The target variable is volume. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with +#' DEstratumName == "Pckg_SDAResources_coots_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 184 child rows +#' (the 184 clutches/psus observed), each associated to its cluster (clutch), +#' VSnumberTotal is not known, VSnumberSampled is 184} +#' \item{FT}{the Fishing Trip data table. Contains 368 child rows +#' (the 368 eggs/ssus measured), each associated to its vessel (clutch), +#' FTnumbersampled is 2, FTnumberTotal is csize} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SA}{the Sample data table. Each volume is a SAsampleWeightMeasured. +#' ATT volumes are *100000000 to meet type requirement (integer)} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=SDAResources} +"Pckg_SDAResources_coots_multistage_H1" + +#' A RDBESDataObject converted from package SDAResources dataset gpa +#' +#' This data set is derived from the data(gpa). The design is 1-stage cluster +#' sampling with clusters of equal sizes. Each cluster (suite) has 4 elements +#' with the same weight. The target variable is gpa. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with +#' DEstratumName == "Pckg_SDAResources_gpa_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 20 child rows +#' (the 20 observations), each associated to its cluster (suite), +#' VSnumberTotalClusters is 100, VSnumberTotal is 4 because all elements in +#' cluster are sampled} +#' \item{FT}{the Fishing Trip data table. Just 1:1 links to the final data +#' (in SA)} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the final +#' data (in SA)} +#' \item{SA}{the Sample data table. Each gpa score is a +#' SAsampleWeightMeasured. ATT gpa scores are *100 to meet type requirement +#' (integer)} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=SDAResources} +"Pckg_SDAResources_gpa_H1" + +#' A RDBESDataObject converted from package SDAResources dataset schools +#' +#' This data set is derived from the data(schools). The design is 2-stage cluster +#' sampling with clusters of unequal sizes and Npsu not known. Clusters are +#' schools (schoolid). Clusters (psu) are unequal sized (Mi). In each cluster, +#' 20 students are selected (ssus) and measured (nrows). The total number of +#' psus is known (75). The target variable is mathlevel. +#' +#' @format A list containing entries required for H1 RDBES data: +#' \describe{ +#' \item{DE}{the Design data table. Contains 1 DE row with +#' DEstratumName == "Pckg_SDAResources_schools_H1"} +#' \item{SD}{the Sampling Details data table. Contains 1 child SD row} +#' \item{VS}{the Vessel Selection data table. Contains 200 child rows +#' (the 200 students observed), each associated to its cluster (schoolid), +#' VSnumberTotalClusters is 100, VSnumberTotal is Mi} +#' \item{FT}{the Fishing Trip data table. Just 1:1 links to the final data +#' (in SA)} +#' \item{FO}{the Fishing Operation data table. Just 1:1 links to the +#' final data (in SA)} +#' \item{SS}{the Species Selection data table. Just 1:1 links to the +#' final data (in SA)} +#' \item{SA}{the Sample data table. Each volume is a SAsampleWeightMeasured} +#' \item{FM}{the Frequency Measure data table} +#' \item{BV}{the Biological Variable data table} +#' \item{VD}{the Vessel Details data table} +#' \item{SL}{the Species List data table} +#' \item{IS}{the Individual Species table} +#' } +#' @source \url{https://CRAN.R-project.org/package=SDAResources} +"Pckg_SDAResources_schools_H1" -#-------Other example data---------- - -#' One quarter of sample data from swedish shrimp landings of the -#' SWE_OTB_CRU_32-69_0_0 fishery -#' -#' A dataset of rdbesEstimObj type containing simplified haul-level -#' samples (rows) of shrimp landings (targetValue, in kg) observed onboard using -#' H1 of RDBES with UPWOR on vessels. Data is provided for developing/testing -#' purposes only. -#' -#' @format A data frame with 10 rows and 95 variables: -#' -#' - DEsamplingScheme - Sampling Scheme -#' - DEyear - Year of data collection -#' - DEstratumName - Fishery code -#' - DEhierarchyCorrect - Design Variable of RDBES. More details in RDBES documentation -#' - DEhierarchy - Design Variable of RDBES. More details in RDBES documentation -#' - DEsampled - Design Variable of RDBES. More details in RDBES documentation -#' - DEreasonNotSampled - Design Variable of RDBES. More details in RDBES documentation -#' - SDcountry - Country that collected the data -#' - SDinstitution - Institution that collected the data -#' - su1, su2, su3, su4, su5 - sampling units of RDBES. More details in RDBES documentation -#' - XXXnumberSampled, ... - Design Variables of RDBES. More details in RDBES documentation -#' - targetValue - estimate of weight landed in each haul (in kg) -#' - plus XX other columns -#' -#' @source Nuno Prista @ SLU Aqua, 2022 -"shrimps" - -#' One quarter of sample data from swedish shrimp catches of the -#' SWE_OTB_CRU_32-69_0_0 fishery -#' -#' A dataset of rdbesEstimObj type containing simplified haul-level -#' samples (rows) of shrimp catches (targetValue, in kg) observed onboard using -#' H1 of RDBES with UPWOR on vessels. Catches are divided into three strata (91, 92, 93_94) -#' that correspond to sorting sieves used onboard. Data is provided for developing/testing -#' purposes only. -#' -#' @format A data frame with 10 rows and 95 variables: -#' -#' - DEsamplingScheme - Sampling Scheme -#' - DEyear - Year of data collection -#' - DEstratumName - Fishery code -#' - DEhierarchyCorrect - Design Variable of RDBES. More details in RDBES documentation -#' - DEhierarchy - Design Variable of RDBES. More details in RDBES documentation -#' - DEsampled - Design Variable of RDBES. More details in RDBES documentation -#' - DEreasonNotSampled - Design Variable of RDBES. More details in RDBES documentation -#' - SDcountry - Country that collected the data -#' - SDinstitution - Institution that collected the data -#' - su1, su2, su3, su4, su5 - sampling units of RDBES. More details in RDBES documentation -#' - XXXnumberSampled, ... - Design Variables of RDBES. More details in RDBES documentation -#' - su5stratumName - sieve fraction -#' - targetValue - estimate of weight fraction in each haul (in kg) -#' - plus XX other columns -#' -#' @source Nuno Prista @ SLU Aqua, 2022 -"shrimpsStrat" From 896c3545b17580dd8e78b2ce2e0304381502b6f8 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:54:58 +0200 Subject: [PATCH 06/87] Update add2PackageDataWGRDBES-EST_TEST_1.R changes to data name moved to upload added a test to speed up check on motive behind warning issued by createRDBESDataObject (NAs in VSnumTotal) --- data-raw/add2PackageDataWGRDBES-EST_TEST_1.R | 21 ++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R b/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R index ef0b4de..8c26fd5 100644 --- a/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R +++ b/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R @@ -1,6 +1,6 @@ #read the downloaded zip file #this file is downloaded from the RDBES the contents of this file is prepared in -# the files in the directory exampleData/TextBookExamples and uploaded to RDBES +#the files in the directory exampleData/TextBookExamples and uploaded to RDBES zipFname <- "./data-raw/exampleData/TextBookExamples/DownloadsFromRDBES/ZW_1965_WGRDBES-EST_TEST_1.zip" data <- RDBEScore::createRDBESDataObject(zipFname) @@ -11,20 +11,25 @@ data <- RDBEScore::filterRDBESDataObject(data, fieldsToFilter = "DEsampScheme", valuesToFilter = samp_scheme, killOrphans = T) + +# dataset Pckg_SDAResources_coots_multistage_H1 has NA as VSnumTotal which +# creates a warning message when data is printed,. The following code +# checks that dataset is the only case, otherwise stops +aux<-RDBEScore:::createTableOfRDBESIds(data) +VSid_without_VSnumTotal<-unique( + aux[aux$DEid==data$DE$DEid[ + data$DE$DEstratumName=="Pckg_SDAResources_coots_multistage_H1"],"VSid"]) +if(!nrow(data$VS[is.na(data$VS$VSnumTotal)])==length(VSid_without_VSnumTotal)){ + stop() +} + datasetNames <- unique(data$DE$DEstratumName) -#fix wrong named data these are from survey actually -wrongDataSets <- c('Pckg_SDAResources_apiclus1_v2_H1', - 'Pckg_SDAResources_apiclus2_v2_H1') #add all stratums to package data for(dname in datasetNames){ #fix the naming removing strange characters datasetName <- gsub("[[:punct:]]|[[:space:]]", "_", paste0(dname)) - #replace the name - if(dname %in% wrongDataSets){ - datasetName <- sub("SDAResources", "survey", datasetName) - } deData <- RDBEScore::filterRDBESDataObject(data, fieldsToFilter = "DEstratumName", valuesToFilter = dname, From ba12f0f1b0ed30fba6eb9b3bc8437734c78f47df Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 16:12:26 +0200 Subject: [PATCH 07/87] Update add2PackageDataWGRDBES-EST_TEST_1.R improved filtering of SL added a work-around to killOrphans in IS (see #253) --- data-raw/add2PackageDataWGRDBES-EST_TEST_1.R | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R b/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R index 8c26fd5..7833e30 100644 --- a/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R +++ b/data-raw/add2PackageDataWGRDBES-EST_TEST_1.R @@ -31,11 +31,14 @@ for(dname in datasetNames){ datasetName <- gsub("[[:punct:]]|[[:space:]]", "_", paste0(dname)) deData <- RDBEScore::filterRDBESDataObject(data, - fieldsToFilter = "DEstratumName", - valuesToFilter = dname, + fieldsToFilter = c("DEstratumName","SLspeclistName"), + valuesToFilter = c(dname,paste0("WGRDBES-EST_TEST_1_",datasetName)), killOrphans = T) + # the following should be deleted when #253 issue solved + deData$IS<-deData$IS[SLid %in% deData$SL$SLid,] + # restricts species list - deData$SL<-deData$SL[grepl(deData$SL$SLspeclistName, pat=dname)] + #deData$SL<-deData$SL[grepl(deData$SL$SLspeclistName, pat=dname)] assign(datasetName, deData) do.call(eval(parse(text="usethis::use_data")), From 513b1f621bf6b6861df7bf97f826656ca357df9f Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 16:12:46 +0200 Subject: [PATCH 08/87] updated data --- data/Pckg_SDAResources_agsrs_H1.rda | Bin 18132 -> 18067 bytes data/Pckg_SDAResources_agstrat_H1.rda | Bin 18345 -> 18300 bytes data/Pckg_SDAResources_algebra_H1.rda | Bin 13707 -> 13687 bytes data/Pckg_SDAResources_coots_H1.rda | Bin 18120 -> 18060 bytes .../Pckg_SDAResources_coots_multistage_H1.rda | Bin 18478 -> 18407 bytes data/Pckg_SDAResources_gpa_H1.rda | Bin 6811 -> 6789 bytes data/Pckg_SDAResources_schools_H1.rda | Bin 11436 -> 11427 bytes data/Pckg_survey_apiclus1_H1.rda | Bin 13736 -> 13718 bytes data/Pckg_survey_apiclus2_H1.rda | Bin 10333 -> 10333 bytes data/Pckg_survey_apiclus2_v2_H1.rda | Bin 11622 -> 11599 bytes data/Pckg_survey_apistrat_H1.rda | Bin 12594 -> 12516 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/Pckg_SDAResources_agsrs_H1.rda b/data/Pckg_SDAResources_agsrs_H1.rda index 70ae40a0fd86e8abf3e385b0aea737f62b91dfd1..02f662c081f679e30dd0cd25a1a9b69861d2e0c0 100644 GIT binary patch literal 18067 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 Q|0njO$U`T`;D&tx0D!Zuo&W#< literal 18132 zcmb@t1yJ10vnYy7f`}fj zYZsys*%?Sb5H9qU6S7kgXb_MT$$e0%5jNfd5fBj0kKdmlxMw0DAbYjvA-o2?CG=`) zix!5LAOs=2+eY9fkPb#v4XDJYL45wUuNg7emu9Ac9iWj)hRT>$jijXP!^CBgo~$98 z%p<~qAq65t9YR1LML>N9XMlPfh(I}OhVG1j{sZ9-0qI$u5_URZxY(E3BWFA zy3{SbIgc=+Ty_47E_3$rg4=BKte{`CBD4>x^r4~RJPer=+)S-;{zjXa5|IewMhozP7d(b$aG`K<2nfXD@ABbDYy|ExBT{YzZbW4%jwovS zFr=h>A5tJYJvKc<;e-nJI4|?(qU~7M{GaY}!NQ>`za=CKKdMY#NGPa`7xwSDE2vDG z8P6*yx(9?6LQ|Ncp@~3uE2c1dvjHmw0^-o`|1cNkF}LA%Tzh6P4cyD2vksnJ7eOIefkT zM?Zz+{DF9-VDI+Nkjp|upYi8|cm<}oL6dWm)M=aJ5mSe`2eiQVIX}(aSNJq`K5iQC z^E7H7e(wBO?o_O%TqJ$bHkw}X!mrE7xsjhsz_MQF)vH&m@ip_6pDp*Kr;48;6&L#y z7yoBi$D^R8CElVA?YD8`O(jNqrr(sY-kvJ!&AeS)oWt)+v$uhz+xJ=!UGwY9 zI7MpAXOS|I_-j$Kg4HM(?Ml8ij8ITGqKm%)5?2;JKF%)2NnsIAI|^4xyCMo`u8SKa zWt>kj$;FI_gq-jO>l1SW+ffBGr%(|4JDh`lK6^ZBY7)QG>Rg0sGbthitvIzPMXB-0 z*91Lkn-+>0Y#AoRD~b7Uh#9PVr#?pZJ~j|%}4m0vsi zuumf4hr@;iWe6h}gn&=C*uOlTy`yH0T;0{Uc{DL7PI$1l#{bn>}yS)z)KqtkT zVjB;;an!aU8$$o3p9utfJ|??)Lka@iPWAp~6>8ZTza(rDGG@G|8;LK450aWO5P>8KmyHzlJLgm!Jj z9L9S}-Y%g*>Vbp{+d>s%S8FbwNfRq8jYqN{a;7|*d(l!bGPL>RYNw@VP7oRn4(7k8 zBO;K=PY$6YIzoRevONfhjcR@FrLoo(`LUM_`P?F`yZDD)vNl1+G3$Z4Bx6vZW9)k^xMf>`$@Z9A=WMQ`((mn{UL>b~s5A~lfQ#tk>~B3&b`X3Nxz-ZZA33^kTE zM3bDh{{mq%|EBL65!Ia=6$MudM*hc4&GU^i)vK^WKMeQl{(bT7MhE`~S%7KX^FL$4 z#FUZ3g?H>LD^UX}0fBSYXlv4WBwRM zbJ4hnNSUI8j^1!7`vbnx{~tkAe_q6<{;sB8MAKCBJPK(|V;y<1u?{l%Z+jK;_ z?AjwZQ6|=0CNL^Dom!CHB`Vc)msVqcITw0G>GAL_YOQ|Hi#F_%LEg>_zt>4;{0t^u zESj|U%~hO$Lf&WfK|xwPy0{pX2}_)-hvZ-l1B4e?64=gNkn`Ji9U^{2?)~m?t>#p# zbO$ksPp>w>uNZ(~`NtzIz(WvTvu(4%D)%zLL15?#Zv!GOh5@3$odIB&_j$B-`d9GfGw{8rB>s9bRMnlfzt0poaqK5%+R@uMR)OMj8xj=)U-hWKSVK86>D zAz&lYUu<^o`ashu7tr?)tvm?t6auepiUFdW?1$GgU0Rz-0`rOjG65Bw!N2L8`OD~O ziHI{ophoLPmQzfkyHs%m;HX;@Fx6`Aea`kjsu$rH(Q(omxcA{>4*{9SBf|HltK2(V z0b?#7?(bW&MpN7SC^y&Tx<g_U^r^n9DPo%zK6r2qVlhq4nNt;k2!H zx(FprKF{Cp%EBKAyOmzq+QrAI*tk6yQ+oaok%y5@_3A8x>0u@KT7Nnj{rB=O5<>m5 zz>eOLw`0_Pw;)thypG5(C;#ByT3j>T2xX*Pi>2fXhqSf7>DVh6oxIllP#}^+SqA~e zq`wD7!l=9fib}6mai0_XzNL5(~)Ah}a_y?wlNSPds|3(xD3vdGg zy=ZbX_KV*}@UZIiN#6u%WXFB;Zgt+Cn$K@*vuZ0>^nS1O;+T+f2^?{u>bDmwxl)XY zB6$>tf4I`4g*#V-?gbWOQdW2;1^i@LfCOhP^42oYV2=cwtHN0}KpYU+=QtDq;?!b^m#Ot`rpq_3EBmN9%@d~b z7#Ioh)|GwIp0PYip00}>FyYKdi#<+~zuBmcD*u$ct-@63%95`v%x62pGqMH81TpvXE4i)FmjhP5Mx*&?0*AcV+A=zRIYzOy;k7Qb5bZgN;i8i=7nTvz_-1>iGbpVgweog zD*L;X%4+5~&`8oci-LDe_oza$VN*hUcUL&YI8~wMY*IT=Kg2nSpS;`uQ5Q(;;N$E zksmKMr{0`GXT+v#7;3zl{^dvOzO&N^>S5|&k+rgkNHOXts!D|gLXeOEMhUf%|E7mBi^Rxxgg4o zE!iJ1{|=bHd=_r4MjC+D=;wQGSb%IB*_rx3_$J>pzg5G3T0{lEiY()0lrBm>=P;~8{Dq<# za2sFzCJ6Q1z07dDiw49~rN5Hpor)bqnXtlU=j|q%p!2Wfotu*yniDTWRj=93vgtm5aR6HVfO#Ruq^ z=M!7i&lv|p`#`?W&6GCDW%xmdVsI4K!)cF!5=Jn63 z@_W#zt1~h4XDzMbHO*@aeKoB^=x5F2HLEf6C4QEskXi*08>Cp(8)x}u0SxmcqUqlT z5F6G@D8|o`ntZ932nrxJ30MFT9GC|rdiP`lGODQ7MW-F59()xJsUU=45#|H7@wzhI zz01%(G$@U1G??xS!COW)0c0k20AWzXJLmcN>GC`$>$=HS4Xz-QBu-oCw$`~a&8wmQ zn*6latQI@Ka{55QR<<2I;M{D7Fa;)KjD4%P@6ujm|>;lv?>~aoku@DP@4zptlAWBqo%^0h)rM|FM~)2 zMls{S>+264CQ~EKRg*4y`Ku3Rew?aP_ZieP6v8sR%&UDbn!%kZVF#}9JD9-3ru4+)aWUwIv(Rl!g0BK!;VEN-$NKPuCOjT|l$QM{ zgH3m`@&CdaaU=~Tw;I!A({?JfVj9MC{F?fq#n67J$(&G_I#i*A-n#x1OM#VaqPJWL z4>ttnJZ&~!1P#YgOPjXFOde$5(svZF9-SuA!3| zyxJsZiYFs&LQmM_>uYh!sG%bL9%YL#MyU81P}wo|XXIpdt}-Y9Lt0to9iI`wGrTk7 znA-K=8g^siZlH{^j}VERxxjnE_Ea7G3{403@{z`{oe$$H+NaeOcB1UrfSoIcGbQROUgJmF28d>u^-)*>dWOS+VvGmUSX6(_Af+jP;e&=hIvvd{-zVr8S;5 z!@oQD=~C`|Y>r;Gi^K%jmWaNN(K3nmRR3ZUuVuKJ&nlu8)MHsHW~UZCba< zPU(V!!q7a^@WZs`X6HkhHm#Kwm++ciR~eScy4PYxBR8h8)uT+C-+c##V;?tP$qR|H zdwl$@min^r^W^%n61O2o?zl4_2H5!01soSJIRJYUc2Op9a< z!9)Gll^Pz^2gzB{x>!hL#*F9JY>3p7cWKSK7|*4pn8m|FrTwQza63w`a`1zf+|T@r`x~VX|24uVOZy)sQK#^82|oTnPWDr`95GYU(X?$VRs zVD7AN-RJy4=fL_+)du&{o#Xvz-9p=n#djzDZx!c*7lY?-%G+++YF>KjYfSz2GSxZ8 zhR5HhXC8C-OD$+Ejzx;f{niW4H_rW*+&BiIt%S%$@uK;sq zcxf5!{(nhZDA`j_x-^lFV^%Fv&T|f*evIHbjdka<#~7ad&eig_R61^@1@oy?wdezv z$`gfj-0MC!&OGV5$GR1)_gnvRGUl`|{+AUmrISSowyV>!hMiuSdCA_Slb(p9+K2|L zK2pQ{`o4%Rw!~GlMqyb~ebeA1T)Ij0zl5su8Q9I=>0ag-DXKA->OfSZvFi z)##Nf_)mx5;qr|k3iRRC0d-KfGNf2dI@^xFp&5Ija;Kz>**P;Lq@k~tdqRoU8db*_eYh=UUog~~lQk-Za3tmS%m;adtAC?!Z3g+ybo ziUKB=XM01@x9REf>NquAstF=qG+lLn#S^!uO#rZv6p(ijO4<{_Wk>)8XWbLO-y{4* zeUCpkCy6sM(BFJh&gF|25xHK)pYqLmDaH9PU+Sfea>_)=YwI%J4W|@4yN}`g<Yt;!QtG-@= z?r$$D%gJ)`wHU>nW(;;58s{2Us@<<-@+~D_VobfYQ>=Q=n9D=}%gxQEvmckFjq2O9 z=d|5bq7)ss4HD1RJY^CRf1XCmv@i)|4KAbxr z?i^`4eDmK^<>YT@X!z#sbg~#ORSjP1HV%9d67sM^8+BXpJgK{{s1cJa)_SSNWWKy; z(S;cJnXH;9oLklI5viUH;mRQwTZB#{^`N*JgyaATfaLKLj?(mt{)eTN$*eJrg(3LU@XM3~2 zXT5Zvf5e=6n8(y8ak#+iwZVHlZMmf4Y^6q)@{NIKAn-*j8FK7HR>*<*6!@_dRJVq zGiA4JRYiH=9&=EgY)97e7IM|zF3KgskMv*z#{mCWc5>taLG+Fjo#oLk)Ud3@;B`Df z|2HN>=f|QfQ@5A#F|XbbA7BeUryn~2u0e`hSd}$e)yfp>KnW@M14Tg3;1AX2(rHp| zrmR~;@~TtZImHE49tsTo%)$xLXCGub&eYhh21`2!AxT7H(M#~-NJ_DueRRaH@}~Vd zJ(U#!O*>dhURVmRxk^xX_ldslmf4n_J+qtVIhTX;0ekbaG&z|% z<xo`3XOMmh?6hHa`uqBw*6dgr?L z5ZA}kVLu|=(_xbc81vUhF7iW#{lCc|;NR1_g+aR^uXi07&77Ld`jHm+x*!6qV>|GW16Y$L0V0NrG?Ux5cH{?@SzQbx5Ad6 z94i1hTv@Mrx4XgiaKoy}d;;#kGhmTgP2^xT7&x~V7kIjE(v9tOj>&w>CvUbLbY)$W zU#yQ@d$}7;KL`vm3T9l@)T}b<4k2REto%2w`sgRKQv_SKwsAvSO`&^&l>Fm$oVm_8eAv7834E6 zs>@b=%fjoF!%3fWH?Sqf_JLQa#qx#O)kjuVW^Dwrir|ysV!W!-iHuz za&nTuyWa`8)4Ed*%as?ryPwxgm!N>61m}l0*5$Pl{_8_~tGBYe9@o zIPtf9-%QTKVvKr_0WC`aX}+%+KbeLP-S8@)2xD+oQKQwE9*H$F5f|6WurhrP(A3^ zKu0Ex7N!pjqjJnx&@)t2(^J5e!Y8%t;w2)nG5<{FX=MdgV1m_QWg>=8kTC-`_e)k` zEcD0&l;ja#Y8oVAAv0!4D^wZyXvp#Y!9oPHuW}S%qnbpfd9f1xQ~#*=gqqn;2>0{UW8IwcDiICs$@8S?^A=O> zE7K;CIb4Gf!y`Eyt`||=ufwE2v%tbv!@a7eRci+^7ZRUEMdlY}CgQBHD!#9#yq~eE zf5{T~oig+T8D^&fl}KQr@K;8dJ3>mSEi)1|_Ymg`TEJG(b7f;8D2ST2$Y>!Sy8V3E z-#p$u$%;igxTVShpT&Q0;+^_dX7SU2MgFkmMbi6#Jl-0HasZz+pfP;_$jm&mm;`gf z3QZ?62pb(qU!`8t*d39>ZA_8`(wF$_<}L^UNY+ zdiX4#E}-fd3b9#Rg63@RNN9k^KX^DdSab-w^CA^U}L6YQp_I)LU2pg@Y&$RMK1C!-Oo%Qwb75yK(OPvy`5^xJz~z~(r%qjv7x1U zhg&PE?TOYQ?vtF{_oFkP*f2iXD?Zt3Oi|J9O#GlN%qjI^p&iq}l^6?Xip@`AKw@Cu z8QG^PUN9cHv=xAERUM!SO7X0oIJD&^d8UN7IEe#aGQnvaf|yw73i9Z#Kio{_dI0e{ zu7m_6Nk7&C2eGjQuuxHjO#%z#DTRm8DKoHIIZGo9eflgIa46_xK>gscLzd(E<%X-F z=Fyc_$x=H$0W2~KiC%*P3UsOe+D+lR!qe7-85Pv=!G!-4aq_U9!1GVIB(4*z?1N~S z_P=bmvc4%WO%xF6#F%i^R}RY7?+%Lhq%y+Bd5Hg70TIi8#ecU2k`4Lpd2`kJhEl7z zv+jN2l7M*)uVt4N?b;3gAO?5D1p&!I5e4fE+@cFo5s#I!ghf9#GBe6f#CM6Q0`_o+ z<8=?-m;oobT|&N0uW$?6tm9fNAn*&oFewEu0F4;j$r4&Qh=bJOJIr}GIKjH=Zckpm zSns%7ueO13_nz~T3>%%^b!!lp1bzve${pYf>ipKy z@kiyRJUK$=f?Sg=j&DaNy%t|DR$}KuOlkjG_$YSuAs;6fPu({;x|qfUdx~BiTJh3N zfpC??ZGjP$*xA{>#|@pB8?ICzANT$bl8F|U#&AsvW~_p55Kluw#8_nrfCIH-HXz() zCj6>w-0e8^*r`oIDlc9=1<~^d=L8cmXI*z4nRxVT$$Q*KPW|h^13&D|Y1sMnND8=Oqy_WJdmjkVEE}^d)Z}<5z1k#|0cv zN6d@0PD}RP!-DY6cabIb3s$icy@_Qlh6$Zx5Cbl*1e^ueivvb(a>Mp`tjf4>yB`NE z?D)j>qpr^Js*pfEsp)-d3p>FPhs43*C@o1Q-!K&}Uso9DQ?~9+0FNZ+VP@5c6vn*qFOut9|LiLLL;Y=BpVwj)e z`OTWxQ$m>E@C)9oqP7G(_pByF(uoU~V9@C>k^U}NZ$89E$JUOk9ga}acp-hXqXA|AUV#PDv+o;*-s$Px}v_*#OF z{HOr7a7}PPC5dN*?+MTU&VMkF8VCnWOzGbnIpsMnGrGmY=Vj!{Jscjtg>do|Liequ z7^tIg#;ZQM^;mC5vEH7auPWi%UaW1%iJ*yNl73^Y-YNh@{%{m__p%lonRQ3St52&u zVPwZAiT6eFr4+$!Fbr4-?Ylfp2q$(WBqT}d#QusBKL3boxxXwp8yN!Co{1HyWIZJbD$MLEJC^}j%7CL#fDg7du zQC9pVIeAlet*`~zLKud>KMI;J5|RvjP~cnV-=PV?S9*#65?_fvf-ZIbS%?#Z)D);t z@0URc@CRMA^HN^kV6@bGd^$oYIznKqnpJh2Rcu+ka{Zii{QyEJ5*=EnVek0iV1&S6 zAe$e+XK18V7UNBhH3%7TkFyh9cGQ}JBVDKW8*&ecJ0>=YMCHT+tqoKh@f{ZTU}B+% z>*X)F$|oHLh9e`s>jDg^rwe;H6JrHr+wLa#SqeH55fLunKve?jYe!V8%`~fYS&a_} z0Q1gO6gjnrA{vNYJA(2tnY)7WA5;Iwt)~Iv-RSg%B<1=##3|ELg0S zYv@=f_q-OasL-iCWVXj-Fl+Q9$lC#KWMG?;^cW2NfHLqB5K@NglC-ekfIy&ZFJkfV z4{4|Y;(m>#&92-NY`%VoiIE!tiH3)LaCKhWO>hY|?3Cp^{ECV<_Er;0XGRSabaxfD znl{BHF$~Ce@NbsZ9APX9QZWJxr0Gdb?m1Jiwd0P;nd^}P$78?(Rj61=Vi;x*_&LU+ zLd3G7Tu{>Tq8x3~S~KXliX8A^qNT~mNcrO!j=I7;qy_keTDG4sjWQ$VwC!Ws{B=70 z_KME@-HJ!urlY4f6>ikb{_oqnhtJ0qGiQRWAL9EH!dYvkQt11u?d75p=pFlw>PSmJ zX%<&m1s$}kx1))qq=XPq{~$(21{%p4hf0M;1#v`oDS@?kW$@qQ8_%)4Cww1cTt!+O zC#A}ySk6ir2xxW&!>pIZ;s@_D6n+bvrpTX*y4Z{Oe*PXlmQcFNP=wA_jEUNYu<2Xn zfVx6BzmihP_i?kdj9d!i9a+M$KFjifRx1;~)6UUX4_<8>(ZU(xM6K_^S=ZVn4m{WO zm^S^^n~5-7OnVu9TiAXK3zwOl`F@&%;(ZQn;`@nL zn~04lr14gl{pZh_kh+HX$r`(1Y7~Fm$y?YED1&qKKHaqKJln<3F%g4x!a`#yg0mDyZ&@@rS-Egu+8gutc4k- zRH~pS)XVZQk$;&ZD_GuqfR6nIE|;s7m*knCV+b-%QNoWlEGy$)5-qxMS2&30xGp0qbdi-gg~7$9R%A^@Go9}5j|&1}u7seR=|@dhfyRbJrGUdA*sATS zVJAAjfwtF8111KAi|mKTcQ{G1g}p_luik#bx8`YS{nR;qh2C%@IU-V$wkOg#86t9) zzILQw-;BKu78LNJ^i~ORCRbf*ml5{!OB!&fwblDky&FQ8TS1b~)yTk1Pfv;Sn%HhR zQlx4RgGhpfSWBk$&M(b3c5HlXxcz6r$L&um(SSoyjqe12O*_j1t~hy65SGWD3y z2AvenOhqm_+guBMdlzM$JW8%31@6*r%Pacv8alzu;;Hg4P`UjKEuAKG5!(P0V)6q% zYeA1XNv?QL1H0cnlgOu``6^7Y1L0Nv0;o)3thh?t6Mt#wQZ?d0=3rmDMr0xt zStq$XitxLZUTIO(Qy2J+RfPC*$ms~=`iWw^^-~}44<~{~x&j7>4gEU_vt#pObKShl zG4XD`&`_aXY^*a5u7nkn4potM{>1Z>t4NZ~SGC=+MjM&3G7dIkC3m3pc(*Z($++Yi zz8Tg2oz72dVrkW(yK7)5ZV^htR$`-$F<4p6#Rw|=R#{%0;H3DPv+$YrJad_K{ruPG zp80j^mWTk<=3?vlldE#MxfQ6?VWG9dIondbBQi?!k4WE^?UG_l4AzCE{6AK6V_#4U zXFD}7_JHLRo-fvJe?p>J0>4Q|OPzPYlpz;hS)=pY;^Jn!VOhHv@2V|R80V9!VN-^V zI+Wd{Q`MM`&UDzf3 zbXll3!hgym&O{_E^hE}{10)xKN=L`IVH|>E$XdW}Kv`^!Y-1|@2eY$vv;#bGTtF8L zbJrNOBotp@H&yx^(WyFKrFy$%7wgy(Od$X*$P74q(GiRQjR~*a--_-T3KKdi+Eg^< z0NGy7p!j1W9{d$Cm)_LjtIEX(w*$ zcob_7%LQF=AD1KDG6=v#y^$;JL{JUkwvEgVM~T&))XA=~JUqGO~ZHiY3m z_t2&pZ~f-M9gO1+U#rVsDRNkjsmdRcgXX#^8a_>hVI#3z&y!)MYD;xKnPxTknV61=ZB9o!Zhwk~tXw&XOV1>jNm@BJJA}!EX|FVc zUxlF?2pat;GV^gVT>hU5j{tudE(C-Le<_k~BG8xH9lnwJvw+xhkW; zgt5rL*Vz+11c0geUH>&#f8HRxcAA$2fF1H(k(W}GH|wtO*DaJ^xEXSDRRE%2iqjcT z*|VZ!d;`BMYkWD1`jr=icky9q9U4soITcnQG(N7c&=|fsem#+RwlSTSlvG_G?wy{~ zkZYe2#mA+QJXQ+9lYk0ZSfKMG0#M>=Sq@vG$GUM*{7Hjcu&@>l+m{n%{fz86jk#e! z0ICe+CwCNbVeLy);YjTGvH5C$e{xCix{yP1yxXZC9K`gUJC^6 zTz(jW1Om#zFn5nC5lNP1a{eE+1iZGS^g-EXIek3zY~-5PimcCZ7o+wRw=?U^YJ~~# ze8-j$ki>a;NO5!BqAt*;`e7@(H~K`+)>!q1b}mUNZ=g&5v~?c z90;U_8xOUuYX;NoN!2x_Q3lWEjqu9zu(cDn`^KbxQqjIEdhw2vmN!@)FHGZ$wwax; zA2OISUJ*spko1uc1knY-Kd4IFz%SMc>1ugY-e6u}-GBVT7=<@}qB1KQ7Uc`(6!G}A z8TC9vl8Fuia~~ua5E*ot;G?%9i&+G)Tww}gf)vx&Aq4gbZVEijnW>nYrJ8|+yB?C+ z&Qy$wxl>0$?+Jr?6oKN^4ouP>l?Shc+n5*D=3-h|V3R&s$ciVO)LL+4U&~e55WcGQUzl#PBE<-E%Gjy z=GwWhu^odaB+zL|PFi#F#>Dk}PQyaRwUL!(df%ympN^jy4C?J+>4!>1ttkh~u+=mb zAWzpqWs~{2+=`8>yP23|6O8-v$VuTss$=t*q-`}_D0=M$k}2v4rzVXp*HdWqF=;5W zJ>XMD0NCba%qklpIF?QMRBrlc}CY^*)4uo*JtdA+tduJ2edTvA40k-k(UKL*NfXTmyd zA)L;it_03{2~f7xn~!nEM9LCsT?xuRX^6C>-!sN$9x$5qbGrAUTm9@eiOmmc$NMfe z#>%QC?;khzOB<2CY%GO@q z>KFPF8l{x?40ZX@kU)jpn`rQxUsVGnOH)OLp?zVrkU8W`c2iQ?-f-eq#2YkzfbO4R zl=iV(++*R-WZc61EtJH4W&B}UX3~GFHlJ zCS-)ytSKVnB6z2sQ;pBCxb^okHY zJ_3NGmSoWMVS{k(zRQPCl0vqSz&E7|Zy|v+4xt0lU=b8Z1pJ?>F+Oetkid9nWiUHG zQMG0?Fcf}sBy-JJ{;C2c{r9RX8GW#{Qg(DaOLe-TQP8R@?K~;{SC*Qz+-N{)G~gKL zuHjhNG}M;U*mV!upVF)HvFxmjv`D73nLb}Oo}bfrb=A24#n2G%(yQ#mGM5 z-58ZzEHD86X7ntToPrY)&=>2nWD+B7RU=+hpBQgTRQU&=4xo(>06r4mR z`F}wo`2CBJ&*R}pL!jFD=dPn*TSifWw@pFkvV)t*-}bsc|?3Fg4&4=Nr`I~A{aUYm7ytC$W$YqUzIKk+2P z6Z*Rc4+YJafA&M$1NS{!`Ahz_aD<4_F;;!t{Q8+HcnuXP6E+D%+Hc-+G&Ck-FGbAGP`$ZwoEi5PbZW3F3xn|cUq z-LZCnOtzAYyDo^k@^*|Fj8^Ce9(nExi=huE5t!XBQK>Sisj4(Hb_sS1&A9KU z7pJe7SbYAdUeT!MI#sN%UNLMjbv2Nn3xDBZmo^3e^L!Ys2$l06veyaTk)2o)Vb~-! zrX)37(BV{XxBTFoUD7&Fx}_dk2dr0aENs)<=A>NE5w5!#b1OORx=&9Pe+g>$gqf=* z*IC?cN99Y8jb9$>TaK4nOitzS{gI=UT=JS(GB~oFJ0WW=ah=*|DD`T_dgMfJxne(_ zYu;2Rd0o=B_I1Ydy(~w!4zZTge2?q~ujO2?<@i(cZjWcb8&5SqCpKKrs<~p_2;NT? z&HFmv+hqNnv(oUlC3~0InAva&->`JDoqB$mcI_u-w?l1sbH>YVrDp z)Z4Dw&fUcXgjMc?-06?HW2q`5tJWXNiD!P1KuJ=#L^STeJ ze+c$_dkuffvNv8@<>eEL?HD@E^W?o&&krNzGG}(+Ie%%tUw-?0Hjd|F%C%`9-deM< z@f-=P%FRCGet4tYxy`uYt&Is`l5Jdx@4x}Lu+1MKGKeP$tlVGrH4rB z=+61g{h!?oc-**rY|kfQmEvA+UG>@&Iv2w^RKwEQ_d(liO0rMyzK3eJ{_}9a&w}l5 z*UanIbAfa4892}f&((Z{4kvKDesAUipZ=lgPo=?d{U+s3<_@FU{|mRf#& zJW#8uA5IaugHF_Ui{V>^)mzR5o{-6D?5jnL%fT}>1oyJ6N;w)$T23<=#|`BjVVCg7 zfyv*C8%usP?N{&`I#`PNbY3j*T8ZVhSBKRbI<16v?Hl?X=~(VqFEyK=%sTP?veoe% zUf{Kyhfc>mcGsL~WX9x!OnLJ!4Wmy@@X4L8OZLRa`|~sEQ@Xke7JKIl0bm+)Y>~v{ zpBegNp8nJD|8wND*!X|on^NBB@c$uM3K#|X@zu-_#Z8Y5hwVQg{piR{k85;-BXPNE zpB{#DT&GU^_<4;u(Ly=nhDtZTgDt2*1gI=l31U!x@x0xB- zN@M=b{F$$VuLC7oBd2f9A{KJ}!SSapHlr{p%s%)F*vu{aM(F<&*Z?R0+={vRPwKX8 z!wgHVd{(dc-&(`pwtefm;^R2DoenLSYSweEx$;+j@%|Ri<~`$!i;VZ~E-~~!#d0{f zwrtvA|Ax_5Q5Rk3F#7h*rq7ygREUP`+ctjnvx5`kJeK~sTus}zY}vH>2hA|Sh8TVO zX3eK{ieYMuFv9PW!xH}WSTO$kX3d}BY}#zuX2#4g{YK3gRq(7IX#MXsz+`88ia@+_(2qZe4O9-f?;uJ^-2x!rCcqea>W)X-HaLW?e)Ixg_#PKVB zbU7q?sO};l@bw}<`Fx2Bal#hzb4Y^4Auo_Xgb);ZVN(qZ@xI%Ri|#>I)obB*g|UT9 zv`6+EjrnHKnI_FIW(qsBD*ZWC;N9c_Mxl^+oxZb6W?ccxLs!qJEarqDd7#W>fVm70iOgEOoxiH2*7&MM@ty zPNa(Zd88s{05=gcLHsnWIwJ@tqL`E9i<=-8?Hz zF_0iPf0_@$oPvUHN_^rSC4wkDKs3bS0&8w1^0z$ZQ{v;M2#7fd2-YYs-ooVqUX7PI z$d-(oi%Kz1AQnxJsIX2Hg)GJ(GfrQ=MWD3qM|*3tZ~mq%4Ovk!MVx{U0lk2SkJ5U) z#~N88=ZX?hO`al-J`L^dbVrI3LRvay8ru)`DS0s)luO&}GJka}Q68dm)#7;hobxO> zA9|aQay~Yt`#x#*u^%EPczm*$^QV1OWODbAr_?7c)um)h!}fS*ph`rO4zj=D@V5aN z*{EZ|F^xQ#T$MLw@lvwSUl%7si(VT#y#9?GSX>Z8XG4#7r z)Xv)Zi5Hr;`%C`i3k?EQX;f)c+0^e9tgUz3vc6W=#$_e&@_zr%K0j$gpRn+1E!hHp z4*I}fxkIVK1mtD}gkuDRr+@CkZxQf-qQCclD-f|cE@%4$ncR0aClgx_N)^-+ zTldux3LRTdrme%?W-FNTBV=}=1icdu?e{x6`lP>KJyJ|da@4qOY4#<6YrCB{uCZi0A2S>&k`sz4M~)H1=7A_1P3P-N|p6Cx5`WqewZSH~Gj8w$#U=8hE+Yd9k- zj}2#*b7I5~`)x~P93Ab+c}sE$B6xZDAO*wD>WrQiYT?{GJlvLGGuskn%NT7|RCTNp zctMb}sX5;ZV##Zy1fB&QlkAs1*f#Y~=VpqLwJHtx^%`tvK4t6(uCs`^pYdj~yJhjX z^(nipu{=X_8`|87&XV+&A072{8yw>loZURIJ228)HPRZNt*oo`)oXOGVtthMtd$~q znziEn5-~aha@VV9|Cp1nHuQvYk3T)m)kMITC}pPUKK`VAy&AoE!+9Gm{W8b@aWE%! z*j~w%DF&ETI1yEv_M0TJYA`CI6nfsWp3lLApR}c~?p|PH?Pcx^Z3zoP7%@yz0Yaa4 zvKDLbbmco${b$m)HXmM{27#SaF?`zMgYKqx1W!>wrXW<1xr~WpBIGfd^5W{4E$s`f zO#%>1o-^g8|NA*v$>#W>EhjYN4kAPp7>Gn1MLf$QH$QeP-QY=e=gRE3C?Wz3!+KY` zJaB%{bS?EZrpMW`A52dlz+6SDoYeN3Moa@o97TeFS=XPdPUU*C(>Gh0*7K(vLV$kh zbHCKrj=%ZWrsD|^P?(ob$0w3L+m+4+b%=w8-cPAog*M=-O@O3=d_8wAnYvH--yEwhHTShhbWD@;3bSVN;sNypH9X#epzKaig5 z3jfS=9FYJyuzq0U{N`@8*vpjV10JLLRyz%u3c|}s4JiT;Q>fnP$)tB~Zo3|jkbaBk zwa3e})6dv)t81)5ud26PR|EV=G>wocLd?~9ctr~1O0&}G%Rkh7SbBHeB=opdI&DUW z^li;0;re1@^_!kpF{9CnaKX-JP7cgog|jyitXo7quk5d1`B1Ciw_T@ues6y*g>Mqg zD4TGXHgZsTLa*2Q_kPu~00^XP^(~M9g@9uJ*Az=>i{DB9UCco#p9CUa(ALyy~$t<%GoV-2yOsdd^_+3btY&j%JmtP0u%I??hJVi^CKwbO}*@CxzX*We|` z(|%v>6XeH+%Jl+C)Q014=rY&QWxsje$sgf?ex2kvZjUu>K#%D!SG!k_Z>U2iPN0GA z0-RI#BRlgy-mM4!GIqP`__3#Z;N|Jp;V6FAJ&fhG)^WL0gZuG!_F8DwQS$K3K&<)o z2YNDLV>wfXrO=m4p$W(L&3-REl;y7VWea~rhwpl21aALy$~=XZxug9)9X0;y&A4?b zoI6Nqrs&Qh?(@~Eh_BCA(XDyRxAD9vWn5DeDPf9YLnY4d_bA<4f5aQ~N{}xx>_>n0 zTb(=P-W&9xXKVY=`zIgM%oIIjWa-W>`$j(by#C^`fdBGNR>OG(@g}O`&T^#gEIVdZ zv}Kk?a5g*P8z1ehl~~8J7cGl$mB2-{FtYcda{uAz_@@8FVrFfzP=1rxml?+;nW<&E ztzEpQcYTZgZY^RGc}qfE$P%#w*S`y{KQ-@-?%vDD56~?99GmtEj=DUFnm!p7crSw7 z`3xHRS(vDcAKm|zRfykIkC@4*1!Z8bh*_tI+wVx(Slz=btNLlT5TDOWTlT&bg<>|F z8TfG?ED7FLDLT_>`6E0dy3=+z-Fz*d$oPwz=hBfaub;V0QuKAq`q#_Q{iM65yCkZ` z{62kS{`n4n>xXMqElVQ9tt-mgyYn#o-zC4i&ws-Pb`n8x5S6UEjgv8)6O~E7?rJfH z8JYx9f<#`xn`_a>*+O%`qLc}I{R z=QvrHWB|B$-R$NKl6Wj$mbl#O&lH>x`6F6|Uq{Sx0fd8+=$&_T_0=!Mo;x{Q)7jkO zuoa(omra0t<-A|tekl4FyLlHO+v%NVO4f_;j<2Be9isNn(6Rz}2`3oMn4py}2OQcL zQ^Fd)CFYpN@FjCGS(8``@vQ_5KaxR0eJQ3a|1N;|w*=x15BhBn>uVDX9|a7RxiX>< zKW_p&>Vi9dLYTKk`~rg}(NA-5Bg30z$z9K@iJC40?t5v-u#HD$za$ z@h>*)%l9$AJ!D5Tf^Mbpq$SQYiRS$mOvUsHqW4N@7xP&33gYu}uWj*Djw=c7e?~{- zv1q=yVJG@oM%SkyJI)TdW$Dxt>(pR5o`%bbrIaAaWhdl4v(3H23LVjSO&EPx;?EOv zr-=`aPRO4WtGmQ)SmZtav0i_?u+qf*bCEW2sKJTpc(JIm+_7@u`_e^)#m92agH-#b zE)Nxoq#=uzMi#Vjp0AnBLf_MdY_l(iT$PoQ)(og*#@j9RKU=gx^*vn_lZX7sh^L=6 z>T`DTtk`iT4SCr&(e4op32axEyEy1;%`{lg@<$<7Sf>e)Pdp2Ml4HqB5lxda?5fxU z}Mk6Q7jj^1ZXH{fiSZr5k=YMd?D?{K4;hH(K}Q zpqlJL8QrL=iqU0dm;sT9w&~%bOzKr;+xWH^)oar~;HdZjN||9{cSn_B{}qnrQvk>s z32T4y~pB=`e8 zV6Y%MWpo}K9;Hh?2xiQJxmJR~&nEdwZmr>eVQ+$9I!_Gifj$p+p&l5_6R3+?`w{zh zjBfyvFSfK`5e?axbAm0A58iSQJx2`xR{vk_v_xL0qQW9#c#wr zvkm+Sn!#6a@vB4?qYl5Ph^K>KqAgWWbR7&)JlOv(x*g?p1sJ{k1tMX;FDd~>vu}r_ z;G4^m_em--&Y&NtpdaW1P%4~gxL^EcHsl9$*Va%nl#I)uCD!#Jm&|2Q`;g(XG-#0q z5`z{u$@Pb4gBI6q9CB{s&OkIAy4Cw)M~gpcdt`Jt_A%HJ81|69Vx zrTVABV7SG#_s?s50D4M4Ybfc@FvCO1|IEeO;Gba)9^U%l@cbIc* z3VsaBEbH}qFm?YT^4h@Nfb_lg@DDl)0uC#80Y<20D#!D9OCqpR6cvxUWKTL@D#w7l zu};T!!Z#{53N!L1dafzU;Tpb$R1T>5hq@`n4^vi*d`bQ!u z>PAu(BkD%FhMCfN%*~+o3l`MLGH6Kl-OdpMrj+LMLo_^3lI-h}&7fMO<^`6+=}1F) zO8KnJ3NpI!rjGH_0EK1S9fRys5esTS5^CDdAII@oHh>zI*hYUnMIF6nErHra$lSZgg2mszAnHr7Z> ze`rfo=g6BZ*|r4lJiFwnQV6RS-<6X@r!Bu5#y@*Xx2ulVpKqIy2a{a?9tW2DV7=&C z>LKC^rh3!7Jk#(Ko7`O2a!#{rq9I+TVg=gE<{3%Br<-qvGsitYGG!Pd6J9ZIXi24Q zK9L^oy+bwnPUPGriP6~oy^#5Ev`B5rqPc6jQjw+fsM^+0`txKioj;7p%Vm(a9r6H{ zAz0jhxGIh84;KUc$8Fs4hrj+`dA0dL2Kul8Rt9hk|0A3K1LsRV@cY9Aw*L=)4+rGv zk9Y$k0Yd`~xeUhtRRTQ!3LVhxuN<0m?3CP-5#`Fp*SYS6TzDfAHFG-RTk>>^Bg^WR?X}>;)awT{^}`+ zTBHI!>d7NVkY#tBw5#a+qtqyq2tV3hhiKnA(oTJ|Z4G{ADMFA}jCIG#`{!?2Q#lOZ zsVmg=rq1s{Be1y0h1zZSY#GsDUb-0aisJ=Gq(LYsI1?nX~ zv#A6=E`IT%MG%pVIW5U;W2~BVj0G(m!BkRzR9~d}yV+eDD5v|jA2cz~FU}cyEMpy1 z-8iCp%=uWp^O!UAoNYa*`g^TE)bgCP}wN-loH@WT1M`?yP zWd0;`UU*wGK&i(;Tj;9?)W>V9TzhF=A*aA})DEiJ+6=997 zl)l1lZ&*xRl{{hEZ1*hmEcICYl5$3C)@K`AYMW)Jb3ysRk_$f9up8-SaFNz%3&q*~ zNKj+N`;XE7->ve^%2aMy-X|)NTn+cbQ;{T}QjOv=tI~20hrRC4mB%zhY+*M}w@cYw z*1ve!Am52qMqcM{*U`&g?Mq6a&ty}-c#VjCRe*q%Ehl?DHbR&AEaOM_3Z0IH`oY5I zrB}3Wla}-`yXDjB-yi?XX1i}Xr*r*naV+w<)?uXdAG;8^BtZILAQpB0u|NMNPB^sp zCn^6v{VQG%;vRxSRsYwh1o|4^L;#(C03$dZKD=B9;Mow%lEdLY0beAFvyTrB-y*n- zr3CyScfdcH%mY7bWmEv_A|IXPpMZseU@(7(2P-_fA0Aaots!`Yt(E+evH0xAGP?fK)j$QBfjVjOdY1m5@%6=!0*~?ZMAJVQ|8{PTe^ovbsh-;XV5TIhbl_s{$ zLt)a8CsZhqgA__)Vi;xSiW@#lE!i3{-W%0BJ;WH>Nofwy?Een#xLlm zGx=jtNoX-75L6jcRq^B~>1{D@jr)mE#0jv?3&?T@%wIiyYV!iorx)y~K{y@H9%ri> z+B}m~T`VYQUxpCXzfRQrb~6~M5+Vh{MQ1@r8)??$X3b;mK}KN(aUen_gQexv;ALf! zFhy1Y49IXI(gM^zXQAHdyYd{$0>b+^JGnB_yfT@h>L2>)*+HvcA7f(TsO!PxGzq8E z(%QExBXvwIAieZp@NTg9i|iDL9)8wS!1ZckFC|n|lUBu$3v11zr|NYRxPJMgRH<^*(_x{10h2O1rs?bE2F(& z9M1xeW)7S)7_7jqbVaoUz|PeI{A2oUPD%Ta6?Dw=c4NR`)UBhuaWw@-(#1H9eWZHoFalJV`bAXkH1{zJW8CX{H+y(S7>m$b z_61cLMec4KWkiS|p}27biZM)*5lqiW4@Yt(&Ij`_(udJU5P%s#auGo?1mtiqLi|)1 zHY-+dEK^dR{i74g28(j7dYR6iQY5ist#;e`C{1uaPm_Qc$;XeMEF%Oth4&+s^lE+& zl0~`CZhL||s@9Wi~Kib}-Rq8clR619Qe{jsp z-(5-rYTeUTbm9g)=H3v5p6CtLDwJ@)nVl)W{5oX0x;*R5?=LxW#Awpea<5gXH##Lf z?+O!x4?^i=R#%tLnwmxknWm-Lz(NXCdk~sJ2Bya6Oq31&Qf^xH8(a`U;@GOPuNI2o zq%le(!)c#ZT3T)AK2?HEz|xxogi3XjEYFv{jlLF69tjy%KQEjdn%whjAGI><1`)~Q zn$`T$ue&X_Sn#wu{gf+OP$sSM29Hy&Oj?aNAVv*Kf)GnWjt!N*fX;!w04R};dFMCQ zYsB>n{LJ$gscVL}fE^L9mgXJvw~=!t&IOnVn7EWD0#7dHJ!?t7jB(#tiPAnHtz|(C zO2m1L53moPqkWRf$}6Ta82d4o6xz)N>!~G)yNnrJ0nR)gwq^ z%|LxoG-fEQ3{Mh}S-H(mFwj`S`E(#);@J6JJX$tTNjYm7;YW51f2NLUiP7W56kpMt z@a`NpjD^9i?XL4v-=yW8ZmMu_xoIB-dQ>B>O+lGL(o>(?dBv6@~EUWBGXtXqzlOj0tCY0(io#JJo7YK(bSlDQLDVY zx(p2wj~L>1Kg!M&e3%*XBZoShJJ|JVbLvAS6AW#su#x5F*6d2u8N0C7jBXbo#%0#Q zsC+!E8Cln(*K>%@S{0;?!lcBGh9mF1?H5p`%om_afyVQ4q9Il1u>R@uPwKu8;P-0- z_m|fBbSfc4F1C|dNtiy2ndW8~BtgxD6pTfi(3~6FDZsB}rd6q9;_dI#6vscCSC+3G z+0vZa!K%taRL#u)!dfvF43jJV%&5*VMil^NLF{mTN{xq(9N+{=Rz=oBD3@nMQ#l1h z;g^)m_V!*7+|emDeFOl#hO`EQj&2+tlMt3JGprR3N@-2a$5YgCuC5AT>KN*n^ZQu# zP;Lxa#BxA58tlXj{Ob4d=jq8pw`L_ug_TP#AeL@}n zXL|o<@_?22AEc@Qe-=e8fsBj~2vCPofu)|s!~TQApEVe;VzT}Ve7w+f6*D!MC@dB) zu$V=LZo;2v#)fc(f@w`={}Azk&i~Aa47XX{eJJVLab>D;B;&(YZ9uoF zV`tK+L9#^~auLpq&{7j3mn_W~B3Bl<^IjWgmF|La22}2qCM^a|5GoZmHYtZrt!ZyK zDUineg^b1RdYftcOo~r~##qVfo!{eyy+8tqT7y)A}v2p`jjb5WXLU}7OMo0HgJQP+^-aF1p*+v`NUjpadV zvF|vY=OTNkb6&%4bOez*9u+IUmG605kz%HT#Ne4m-ClRvvCKt@2sS6Nra%QPS;o}p zuzId^tDwjPNzn&eN@y7&kU5TrDkH7ECA1XRLhHITeZot%*&~d++8LtGR%DaG-Ohy_ z2SAo;iMcqJUqk?KuAbPKKsPZ zcEXg;Ni~!5RNv32>N7Pw6!?5k(+K6?AO@o2EC>w7!L|tMLq&pAC~Okn?}w4{rE1jL zjr#SE+Sh7m4VbRFfJr%}9ieGyK{TU?-d2*vrWB6^Ez#)rSoK-;c!)ScOQwU2p_G`e z`&kJSEH8*RQTq66qI5C$3xYaiaYE1vz(}bv;dSJ;l3dimf#OU>bC|Z0g08`6^tttE zmLu3hJjNDGSRv2jkZLkMRYB5 z#w5wK7&s0u10i)tU;>82Dk7X!luhz{kcyYN&)O8HjtCJ%VBBx~)F(nz$LFah_1n~y zX3V$YbyRjWM>X0qQss?{_7811f>w$G3X4sg_o?3|h66LBXUs1OC~zOws3YPCnzA}W zz+&)R^Akv=u;S1+KM*5?NYx#-wh`4Gws8%Wxhpfm_o<6tth#10^#7{|>~TZ7O={-t zp;WFbNzcibLP8x40GSvLF{nvqSQ7A@9l;SYPqWU51B8=Fo-RgLNH)3|YVE%<{)CgHQ-)DRYetk_&rf zgrv|@P>x4$yL9cOwj4GB_i#U zZ0uJ=afnGplgeLSI_wQ_?N`>t9Aa3gb%Gd3>+B{n)@vQid;qB0LnD%A@a3e4n?fE@4<9|=d$5Cb=jpm8}Aa~$9oL~PAZ zD8y2Tj=Gpr3_SgcXcR>O7BSt1Ap!RN&NF;O&K=H_evg&6F`TbZc+2KBh>58aD6B;$ zLp6B<<3bd>UMO{~^_zpr_0}2zPUkrv*FX`ki0iH7(2K&fj|VTXn8)HLY`akp3~##$ zX7m+fP7AR--J{`6*rNeQ{FP|zlz$`}P>TPd%7D)qASo&SSD}?_@u!X+5M=mdP;3Y~ zwCV3uS^&eTczHuIdf=AUo_M$yA z-HeMYTb;jF5wMPbOkkHebYV)VE*;p!dt0yVInD(RD3%Nog9!Er@Kw@E1(G0DJI4En(ay8D(H&yu*KEBuWU0A?a0^cL#to5j z5q4e+wU6LlDLP_^iK%hD2z{&-S+^l#@y%p+Z^`_*paot9>m_b*fPjD_GCt>$pd+4S zr*UV9l0zHQ@%gvUgzjeX`JP6!k^yTeS+cnJ{un2peQ0*PSG|()@N)ZHsW)Oa1$P+w zZEel}XcUSRZsXbq3-Oq-!`c=w52o)~Yo-68$G>{w$@>bs_kCKGPW4Vwcwhm0EBK6a z9>c0v<_SXiIu5#YMcq`lsn1eha0=|$Se%a>JIK_c4toMPB_U~+(|O{Fxqt0#eeBk2 z^UWe;7@SGXJ=Cwmm6}B@?7qS9HgVIwpEcN)O3=RhZOscKmVD0?lc6Ey6*MVCE$4-L z(=^W|k79eC%U75<5Hs8rsORY}D<73fO9&2k;_IX4T@EtnOrx@4RYn|xqrUv$7T|TD z;SnVOZz-~qagpIlnUyDZB<0tLvn+ug15{%!DqQGOlcIEC2g^g~k*I!62i%&A6eE1uqDBY8mYmNe z%LwCXt{!BiFkB~=dGlka`utuJ0O%GvM>bTJ{skiQl=34Mv2{n z10MiF@}MpL5DA-@{Q$li#h?U|bnK5RhH3=NPA$W}hUMTTj~bC~=5 z8y7L9#Ub!%TjMZyx94bt1cNg?gr?>cBLFSi z*wiItdzfWD6^K@N^4&7G#FnWSOO*gPJ9*L*MyRsSte6>qME`J-GD@*bM#hAjw~y_H z(hR^MRsw4r6FnzH?*2)^03jsqeZz;e29wbHsy4UN^rh|J%l(ItprEo?r@&9A>0^E0 zTkgM$9W|*$7fF06qbup-X72h=$@vul93^qy4xcxEAY*ox{1;4=y@@`j2B0=HKWO1m>r&w0H+29($ z+mAC*;@O~|F3;MDnhelv;;#<2vy6xAu+G(KgndLScx>S{|Czob0Qs@~f#PExK2x3e z&KTkhcpeyoG)DKNP+IoodEk!2RKt6{J3+4{^u?tXr}n;?wB#B$+V8dGSH0J8>bLg{ zaQbX^6u9~fYy6Dpn#rj==u%7e-I}%y%TBurQO}t${-KBy_2H|;+56}(pY5u5%okQq zmauo0<6xBh-a}64ozqsBReLjYtFz}`c;hFEayZWvkBR0`@OF(eTjI~>)tRNgrfi<0 z*U5!uh&*F*Z&$sw3R{1b#cYE)^#*>{?nHfWCdeSt{aK9`OD|9PdVsx9t)z}-ap9J0 zC~&s0PzAd9iq1TQ zoeT8#OWDQh)kQ?suK6>J8>t0d>FL5)l}4XDnCM)1UsZC;);Yf5j#$*WNW>lLghc>m{@PW^uR$fm?j7gv8<+J*G1JgpVxczD&GI?wF3j zcKd~Ue+ZK_lJD_jx(V;H<0=+3Gw1VIdUs4TD4M6OAS5`e zTH5wo$!uR=n;h?xC!P53m^v|@!D?K^r6s}PW;xrkMEN)|R)zVLJ9etZv&~+lp5Hh( zw?i#sch#WRez-)Ko1fGYY6{h5IAXdn>b+>ghrK#50#Mk2|2o?^jrS9AUxleI?ZX$| z_K{T-+zJd9P%dFL5P+nb3cqxi&3uQl5lgDVM2Om6&gpUV4xLA&Kj%;zGc;RN6<+!M zA{MJjyDrOaQviV+R+2nKF=l9NC(cuCicHcj{^k(g6 zO?{(7^rXsziHHdYFVqw+5!dgGL>_%XhW0LDbG7*fs0{h;%(hhsRJDOeQ8{*@g4uQU zE^J+0gN8pMqo7#oyaIv^wf#lE^B_`%gbbdxjf5#_q<> zWg)8AEf?r2w_CrQtD8c`OR*Hv%xooD5t=?gtocG=*IOUCBbwi|tnK{9W5w%b(f6p^ zPdmcLx1XOeE_&8SWhy=)m0@`IZig%z4D0Cl6-d0GtYv26(a`)}5+l5ENAS{?eZdK} zZ)x7rjLZQPkpfS3!)CL8rsr+dvZKeD6tFJFQa`e~1UOip=?lzX-yIwN|^pRkxkN7ybKysqAJG^!0~ zjpCfW)`r zm4w(1h&_#J7uAP7r>{G~RLW~G8!Bmr?Y7L-uF8b?1+Q4ZTi%|3N52>g+IzP0)obO) zZ=$jzH_!bk_6CIu7K@c?vQRJOp{K$PzIfmYX@bY7?uTJ0O#$uHJ-+)nx2V!1maaN6 zwR4uLT(O;gGb^Tz4$Py!d<9+&fIb=7Iff!7$}2^Ml6XJXgb?|h+65lfrA8gv_H-b@ zb!_8y*j@;oey=$~fx+PcU{ykz=np7x-!(98_g?51_0QW^FEQ=g(cc#XlBExU2`5f@ zyhQx=iWc)k^ynF<3N-IktlXJ}k$G(N?R09)#cw zi;KadA>hMfV)FOw`I%Z9?;!~?b?cG6QOh}-aeW>m0Q6|%>h)s+tKz6|pXO@iS3TP+pS0(Y&tAHqO3O29CcTvJb$ZlBM6I4%*yV*f@O}f{QpBR}C_JXV`!zGc_L2;IOffyx+>N z31*n|q@&K7AQm-+iRooztOl$`*nz`%4d&SGDEsPk^!vug_TSC1SNS3pDn!9R;=qZb zx}wB>a?On4ZCVc+AJ-2gNvKvHvx4_Lhnvky#>3ye)RKivAAjFD)hdaaSRD@44055 zm9(;!J2C8t3%nhhMNgWde)%WhP-ynjQZ{aQJt;YV!# zZ%$w;Q_(`e3{!ZcQ6nlBgi8 z`6f)HkO>%}b-oNHhw5n|vB5;SG@DXHv|YrvO+Dq$&sPV)G|vPeY(0GeX+uS`XJ0JT z#eF27yE*YGflCtEZ6cVY%cv9EFMUOr20&|Jpt>I|1_~ZD(i|I60urOtd_6U*^srI! z_7^TTOVN<0xnM{iF1vfU&j~+CHKxFoDf2pOkR=@}65MN{(it9nJor)FWgLsM3B$<4pm!SCc(tl%+;aItbzXCk z!HjCRUiAJ+D^^LHZk~aG82QMY&P~1Zh{Jx9-t$RmO8m$w}eOU0;S$b-&k+_R+R=}>ptuhR9A zN14qpiQk*E^jH^X%@+~#sM){RKAX}06q=FcHtIbRhs0QLyA!$bYR6DaRk;CMP56WJ zt&#GVl&ce+3cAnG@BHCBPuDW3&_l>{DIE+gw22dX5n!N|x@L}(^n09^Wj#WMmH6en z@(;DAnOrlTS!YQ`85hvr0+?{rM)NsuENCke-DTN}rGZ=`H|{wx0Scb?h~N(2 zGHjk7m728xuO@3ukw3v3OtlUZ{nA+6s2Zpw z^N$Daqix?!z!Z0qFhLZ!v;2{d$6gp{ML;A21+G7{mO|S-;bX_K=bd4v*HYjnn7)#1 zv519ODq_uvWwHU51%a6(m7`14P%Vhw6_68w~f)R`pYrgw0s+J@vLC zGE_HIrf;;=H0ZM6i5GHAFWMV%>75vwguy*};J)}2VA|8qLWwR?gck&gI5P=quqPyJz#|tLqXaF)nU+68 zM@S=p94V*H(D1f|q}ddOIGVIHdDH?>Q(wJ3U3Q^-`{^ufyL~S0!eU7t@+f8P3KJq_ zsuKr^OyAdZimW`@Y$lUMe%J9Wo4@Uj-%)6zu70l%W-h-C{rL_|!y+-IyJ*i`thvH2 z4>~Neh~Jb4lluCTVf)rC>RLo0rPZ4c6H?>xHA-VDc#cl=xV4mNI>e4ppSuY^Vt`^2 zU?~ksjt<6w=@@E(O-z0_r4x$W)u#iX+WK|O*be26SiJg*jJFAb!trEPnLl>o3p4ZS zS8EP%`NHxUFm!&svwY5@7`2$7rt6WZ38f8$PH?Z=betfWC}6}A;k^q%Vkid1f(jD~ z*%Z`GyG!QBJ5y)=+W7F=0DNtomi1jboAfO0uJD!{9C5n;Pn&|bI`2G6_of_ zLL>ugtmO%1CHgXv&Epv22Gujcat^d8>qm<2P9}D44&9m_TBw=qk2Lo$CiEq^3MaSH>sWJkqt_L9WPA~Q`;9xL| zp7MA%HY5mlvsAO+RgfmnExW>1kUAc(WywI-G|r-@U#P~rgim(0q}+!r>&d$*6vZMb zA|m265kxTU!qYav7tIVou72Dxi^LpEa#SxE1Xk$X_cAtW}?NMboS6;dh_k9qAprGRi|yqXWb^|nE6zu*Pl9^Tt?LWVf!sN~e2!G+}?JTtXZ zwmq|jj)aw`XMKMSr6%M0Npl)Vo)?cKXYH1%mBz$5fWa8p($Yq#oi5Jf^lT@pYI32- zz^U<^gQ`eSLekC?9=E|4aSR`#+FE@Ec(yJ3AyQwwh_t4YAX48jYgl=lb~Va&scnBI zOP^%26r4hUEkVoeFBNV{5*82(16XTPEU0c!jSW_aE-wX@k8hvfcGu;oOBjKI$#$k@ zG|Sn>EGtXy71yRJxv!H(b*a! z^D3IKudlD0xpyv7!-F;+hpRK5DKa7z3Z>xD6v*xEPy6JnX^|LZP_PWqw0%(Qk*>;^kBPM7K zBGvQx$uoEHcQ z2*pDO^SzobCde|kSJUrWW|VwSMQ8vJtIkTX3npUgm37ussK>@>NPgQSJ@J}1Z?~0q z#dsH7D9Y3{ov15wo}Qk4Av)W+&n^#^+pkDc%PI?u?Ave|#r)u{Rku(4T+I+BT)G>_ zP`~7$7Oj}Z5&(+GiD`8X1Laq!?h1{znRR4pTdZ4dI07c%Iv)63@1FKe7R2I%A+ld~ zUklcVut-28H^8&c31P9WFd?>L$Eds|->c>L=3{=PG6mHJ`RAm%Dww8WOP(uDj=tx6 zu1UK6J#h@DQ9~7nB41MMdCWZ%76%#@)zMY=d94e%>JHN=cy#6m;>}FrnWA3<0kx(X zkXVQdZl!#eNEG)^#asw9S>5;3{QT$u+lQAydr41KYeNOCp32wk41kFjcc4uP1AqqH zX$pV|jg2~cjM4_P2WuR(o-EeKg3fH!-s`3_u_-UqO0%{V4u6(V z$hI!UbO}v`ZN@c& zTh2oQOeby~$IvW4gE{Si2Xtw}ob|}G((_y%o-R;NPXsK6WIO|s3S(H0wVMxMMuQ|! zZ~!1u;ue&i!`em}h^L0b*jidzTK&)?SmZx`6!^U1EO;`_rr?Q3h8^53Rxq(5dUGU7 zmU9AM6jpvCs^PXAB|sJVMHqY^Y}}0lm_|D#5>?AcN7Q}y^dU=l)} zy;ak>$8QS+f<6Ac(NiWT3Hc2rdi;F-#_zXL>xyIbr)z(@*?S|p;4gZ*I~*>0*wlTi zCt}UZhK~F~<&W$OtIR|l66;3xdFCjV3|1QLl(mvlUn}e`&Zy$nQ%bg(XD-4@*xA7( zsGQLmAKG(sqmZAwd{VwZt?Ar3O;IwxUOaAkeJg|~^?Kc#_IcRX)@Ry}9z81W9ay_^ zab4sR%iO2|PDb9O@BH}n{P^^)PfJT1yX&+WINqU+ro-)aUWSUiI@|aX4g6aBze_?% zde7-(V>f;kt0xv5@YJ>VXFtjs92}f<^VS8x5KmiT%EFCKW&Z-4s44vv9C3COB*NGy ze6c{=f3CvxtZKrPKm_T*6Gq0L|x)sCk z4;)DJ-I2w+c_xJ1)YR~!D-e@?RW~>5?gaZL@H;;CFEpB)n>)17Hn}a|D`}VdB)cxA ztJ_wVHA_xr%k*h zLda7xS?pStzfq;9eP(KDb4~2~iN-kR-`Ub~y0iqixPh`Z03DQAz^wdw)K=V7m3@0c>8sF8WmascypHAp~=I*}&Y93*bBl2dA?F zBLQH^lf|~4opVXX1+d{`QLC~RkEN8?w_5eO7sFHlVvntzUT3bEQXu+D$L`S%^&^AU zlN0W4D9fM`mtnq)TX2TuNIKL_>pCQo@>!?Hwx#_-W8)|b_V?iRlay{8p-77!$uod3 zycrS03-y+xZ%ESKFy)^DA^tlTRj+xDD4)%EY=@;o9V+W{4n4VmD1RgW-qdt~RX}sO zr&01*j$|zQPsrFWe45CYPra7Umx)*ylkYiv^6-OzbfwD5swJo!?-eKQ;K2tQK9^_S zrbl!stq1=rlmTo0%+oe+!)DE#?loMx?~1zX%*@%gwzkeTXgDxn!H3}tE)QsA$&)Sv z1THvN%hSUB6b)|Fv9E2r@GDejT$s*KEI|817%*VDcHwg6%a?Ls_9O;Op48E!PLFgd2#e?Q{OTa6JclPI2L}zp<8qyGCs0X4lZOX3d=Hw2c|Fe1?rD8$mC0+p}-ao;~N)%zW+D{Z&_2Rd*MF^=*W?rSzCI^_sqgd7{bI|NZ}jFK-(6MNRh3 zypb>#`+VRc$gNd9C-DVhNI;|~S~GqoNDXYL3@b=Tq&{Z`Uyu@!)R4qOG)h^QM^p&; z()>}v;wzDmQ1UqYDBh}}&ipWI#t(jt9V}mfwuB;s6pjX!49BPU7C+hg#B!3*u#U$O zQc}E8lY=dsrD&uhN~xeA!(h~mhlHn=h)s$lf?Ndt@zDd6ms>A_(^No#)@r|m?Oj!%63?Img!ziDv zC>s`2QI#i9v!C;g!(*Cf;-^ZUlu-M-sKK|U@TYt>nOk+v?^?s+TH>#^wweL}l@Nq3 znW0?94C5Ez;V0o?;>qO6Q(@g1D^n5IT=>n}qiIQ}UY5;VahM>zR(_F}MdF*4r&4iS zu}iQZy{2BU#)!nEoS-)9n}KFA8-iTC;2WkbF*B1ym1UPWFNws5M};)6f*w+UE*nx< zK!t=GhlGSKiG)OjT(A~wLxqG~7W|MzQYcAz=R-gnWn!oDnS0dt^be#E`37x0ERed(EeK&pt9d;973>@8v8%KThohBc-eL+8Z-K$#r zC&A(5_ea{(faR;ZUWvp%)%wOhnWJ}~1IBEdZ{uEx>(uEbf4=Z9Yco0%HVS$k^^aW*n>Af8+LF91H`8a@o8~rY4k7VCUL~;iZ@`;;%G=LJUzHG)-OP&f&yGAYqUgnw6Cq8Z-@; zi6-m?9&tu8&${9G#5+4nZd{`k5+-F9b4SxlUPY} zwB%H?i&x0R4vpJdVbR6C(M*gv?XzHuf-`f6| zKqtYUK!3LVd)@oTz4!SU#lv^|4~O^PAUX+^1D7-J`x^>ZArMq(DE&aQX`T_gOEKTLf(FF$=Leq*QrbGiI?XkuWpOrex~@GSlu@a zCjgNU8lf5C6GD%$`Z}-+b!w^6a@Uur;n(`%iAgcq5kK}@R(~yvE zn;15_7kt&?g+;T;wc9Swlf=KuGb#DfuM7;Yv-?!q*qZ@|G6Na}qS8CQ$3E27} zxgyCc$XDK*YT5jB>F;TKN0%0>hVsTJ^;jv}6@J@Izn!;_$zV%1rk;yrHNxL-^ zWXh(j6P-5Ze(X;};g0k~x2=voz8?nPn;Bb;XwIzsW(%nM(`@`A;VLITnD(@A+lTi$ z(4g0A-ADWf>{^^&F^@e^z^)ar>$Lj!bMypD@%W9_fl~omqWy)>#s|%y{OPT=`s2u> z<%QpG{GSC2Hd(|%LWSIOcW?6(Dc5Dpt7pEB-O9edl*qm0!!O&$Y)X}L`3NSTv9j9n zdJ(8kb7Pv>Y52lVu>O?p@7}i`c^;%e=Eq{j%A$YE=EZm|33dk$dspANuaw&(>bO zlQ$jWpUd%42lmhlPk)ySu^-PKNrQ8JJ39ivPMO_)0J6%rF5k$a66BEOfzM~!qNtpJ-BWUQZ zUP>gN4IT_?y1l(!^Xnbr{%JHt?(0nO`m0l}YOTo2zgskeC%1pv!Ybg1ppH4n?2lzN zG&1k(<`>P!lAjyBP@1l;i&y^CBGP>k1QOe`+W)7(Z<>FrJrL%dfI^cTcY_zw{}Uf1 zih;W7N9bCo8f1GUSiE#!ZCLSv?*2?{KlfWadd{yg>ix1!Z=)Y&V&8FnIB^!-tVxEB zuiqDP=TDE*sCS=H5(s~yGYGr(*TE3%xy?P^nwA^9+K-yLl0F9ig@|lI{Z>|2Yt)Pu_R3Rl*XMm8{Z2sH5I*tT}`!L`1pTV5DzMSS+SU}do;^><+`k zkD$?$*&?7g=PyZ8{#yTylgs|*-f2G_(RBB| z=u3R{-ABiO%RJs!UrwfWPGe|S*XV=ygf-7{w@$A91|O>qd6mt4kN^4O{kFu}fm>YR zFM>~jj2|SpoA0kvQ}y(;+?lk4ysmxdf$krJy_p%mWRqOc5pAUjl&!$?OQuC8`@d2> znYJ@r&tvTrv`)U<ZzY*X&sD+j z`;&y^Pvb_5^HjnlkgCT;9PBgg>W?_q6?(0sSD)ysJ$<4qD}<9j=bddQ_~+;}^mEz~bw?UASo5MGxH1=@qO!Fp3o3hBp}PM>h7IHcb4! z`Ul#yb^G#yH|~v}_<}Gq+j7%-Q@HDtUfym_6FNcSv}?`VH#-}5;+wo1+2V&e+wHb_ z9aEzFBGc9_u|Jlrn^sSE^L{2=$$_`CBey0IsGZjthrHw1hwP}@u3HEqXKb_Z(8DhI zsPMw1s1Px!g1@g7XKaL9!-{Pr#tMF(U<}y+k81y-hwUTkpc&27cAlnsEIS&c?f!(P z?KXJCjhn5sK94b5?_Ab7GJ0DhXLbIDy~(?F@oU%XcX9LX8-gnH;+>A!C64em_l-7( zVw;VwX78!p&2B5Vk$`Kj>3i82nWEW1vKYHHJ_DQF=_0ko=;^$bb=1X+iwlAugCu=%V-lVM!!BltXo(rWwqip6^7-!sRX)}L0tHy0w=4-|4z)B7So~Amgd1#RFD3Z|J=|6nZ~dd|rG36vGHkz}o6&K6ogS4Lx{h^}mJhhH9+6 zJP{JZ$9dprP_*!2DC%YE?+7fAbZ1fE;Ln6M|F&PPr1_7~jlE;CyaeWZdq#+&9+y8P`Cw2#F#&*8yPN5zOj6(Mb62fsZ%HuPPK*T;an@ zQtet-_M5ZeL(gSFP*={*)tck5-BvsfZrwC)1!Q>^niIKgpMTv=ze+*S&$= z@pK-}huGZic-li`cVax91rdy=bJ`d_q!AIr{xEc03NDlWu)EJ)A18hWq5iOd2=~4f zfq)kQn0Rm#7Xro|ez3D^+6;rJ7GHe~kYec^1xUV6^tDG48qt#r0rLj_BnG6xHGpJG zhft{As4%{C;?CoPk5m0$Clej6!w;QxG$V#1^AP+0GsJI?<3kLS^YJal)Bg|Q{jXOK z-7f?Jy5b?=Uaiv*ZCPU*b;9^-BFyjVgfYFnfi?q#TvN~>@Q=oHZ?&HCLVqlItrHYO zRyI1M9_PW*Q84;Nvb+cJITN)o+LkqA4ph%vNLr7wB8x{iovDljs3M1_oHC;umyO3W z&&Z;L={)A##E4rzh&PJUyxPQpCt#(7m-(EddHy-yY8fLonVk{Uvsi_S@OGPtblGAa zUJX#>M5~>mX_|rhbKF+jG79_Ersp*2(x}M%TuVfm9MZBXvbqPOBYG8 znoI?H?x00VDIN`;iLB@v5+*22g(Ae&ju*1fIAXEDtwdSPXC!OU_z`TFk`-yw$)qC7 z9qqx-|C}p2mXb0lnPCl;V#H2Em&{JXqJgQD>1nKG?7{*%)hrJ$qeOQ&gF|5PZ7y_! zG&A8^;1Q@A@l)@kc5D4pe*tL0=R`gGLO0 z2SH#qv&}mihu#(tfxq|bi!HxfVtF{4-j;o_S(_}@af~rb>5`4j;+SoSe4Al!bx=FV zD6?eG*@RcsXfrvnDJFY9#hmeqc*q_Zk?m!1Hk;^;#x`=QC>dU#wJ zYY3Ex#ezUR(cb@W`E>l(8hwH&c8C!Bl3p~ z1mZ06{|Eys!w$2@;Ub#30Uu)ag6nn?mJ@E7A_-DfuaX5E;e4od~X6x}-j3qOhPUuazW$ReHFK8UE=pN(VD~qgk z&`V2*EY)ADTXLuSN|y36N>k6-RqiPP%^N)h#t%;#zoi$3* zlP3!)nAF9htIwy49q|{baRp9)Ql^x>P>`KyM zi7TAWrJtGnn|Dh~zldw(n9FDTXUX(TvAtn(wT+C}(pIe;XYsJbl**;X;bs9Az?tirj zLZIk8>inql>mhvnelO@e?Lm~U)E+$`_Ef6vI_^TG>;2zr{8H+Dcan6}Wo>hmZnPr$ zn?~l64 zL%+kd;g-vebkyhFg1Zi|7Kd!lt*xfnubj{gLHUHIU%RdRq^MhC+@TxI`YiujjSRhw z-0X+sO4c_;LTB4s*z`zs{F(7#!=rW4~e z3(4f;l<)|N@}J5HgIf8O1q$@>b$9uAH%>|S%o`GwbMn7E9aHb|vG(D8g<4Mbb&{X# zX{(YPjoj{XNfx?~FmeL7|DzBwN}Q`7mP~IwLOcE^?=iSOrfWI+FP-$DI{&+H1edPj zKdBQ6i9$q_ZZ`}aUpy3HyYQ7m<6Vfxi-0c?3C1_Oa5RY9!M-{*8U*5A4uyV$5z$gH zmOWT7%D0$*!{v0L(1fzMcRC@()E{d6KcU(7lidkNz}@HG+4TLcBTzUbZ&CqBe=mOYc4K1WI(v~f zFih}MlW(LGWb%Nr`wkKJI9`w45EUG63YZrRw7Mg6s&KYe<$dADp0%s!OQ4y zop{s8zNJa$x14=T-TBd|0EVA*8U~xN_A>GJC|o4`uo?=<9pp>?~kct_yg`A z{|032@uNnkLZehMmF>0XJ@G@RRiV)};{GpBXYGUZKq{Ng*T)Lb8APqP$I4>%xA)hZ zOAhu&f2t0awT)!tCRbjI>fbIdGrl?O$@M+_W0xRz&wtm_yPQ(@?4iky1_JRT{@-2$ z0a@&3m#X#`e3hkaRrmSGJNQq+j(gbmdvNwCG3F{6*toHwq2ZF1@3^tio@pr%E0)NE zO2JszDcX`SP$g7eK?@SDm4Ez_eeET$2{1_J@cG$O(9c6G!arbWU}X{WJlC!Th;g5O zL67-r0Y<+RSUCWZ9fqhzmMhTrYJud`6@YT9<$fNZ{3i-TbSDZ|ium)tOJVe@>hzr@ z`T7Mi^wda|6@L$&Jbm)=ESN9@U7i4@SQ3A%;Z6Tt0&i_a`cJyi--&}(2&tAg01X)u zZ>cTJU=vc#JcAp;1wkfkRh06jNs|i;i%d~Ndeb1Eor=~1`c#sYVtPu|xOicZU79LM zv`Pc^BBV(y&@O?RAs6gyRpBb{z_K7v7+bVrqFN#rQwkd!I7LQVgBWNk{S+-Tslb3~ zGKE^e;hwRjUqBN0?i{m{tf*49tnOEKc7FV(lhOcKnsf<9{1no{R8~i#Gg8gXlVp|% zm6^p3E|gdU=@XO-3D~c;u@%K|D?C*I5(6E}p_p7ohg^fWDws(x!6gb+2JEK}&!t^d zre!+r1uiTWCBu^lQU*v@nUa%0xGu>w^40G0jhR5q5i{|yTN(8#VUj$%e}0fl@dt(`ev=gZpoE@pgnZ9^IbxT<3s7p zTMsj(XUj%^Q3-nAat^Z<^#2y9G48xCvrPil0E0?gcuFKe^1q8f@-<0Cje|f!|6-Pv z07jqg^|Q9@c}TPek)nKjXyi30tiA-)I%ZLjXSd^f&4eTdeat1=*SjLq zA3Soc^@9Wt=NA-9wB;^~7T%R;1Cy|&Nj3% zR$DD?$9ZEf@c&$WV)C^xhmn=l2#v-RN7}V|lu;1B+bNcIqToKfb;;U!Z!n^BbvHR` z_JT=gEe3`@-kQrR#<@2bmo;d$*2YMAxX`pr62m5-DLcU{teUceodfmZYC6OwJFAuZ7N)o@Qub0#ig-qO(d-9D!T> z`p)wh;8cO7+}v}={(WXCzx`E+JHR*~yQbr{r$tAFtiww&K1Rpv?}Q zV9JcQ?^(pQXrXz9*%W3&CcCVLmeiq{#05Kg{aH{PNMx&Zq+NOpX)#uL6GfY|8OJ6k zw>vhvqqYHxizXF!N@EoA7rL3MLpVZOFJJc_qxa`6v@A-KlLY3=**Ipm_QP5ovaM#D z9oSxFk|cqc!=+ipmArT^NIJZ56E{Kt~A`3ENb=8v0^2V}gw z;N1sg6aQswx&61zg~`cFNlz;f?u+oaZQUk(^u?EBgpKaF3N!bBq@gf;7a-YF`k*h} zWK2k3=jM0F$%!~QbpQY~Rn)#SK0HO~kiOgZs3CL0uPQ#d(we7y=3_a^m3|!GOn>Oe zKRR%=I}9k58MZZfp60gN@4kN?OGZuNiQDSB)Af9XmdmPQX`>y>Rp`_k%l&LHN@dl- zb?TG*R-^Pl`I)2z1H+20ZiCry3>k-RJt7P?p+HA|c$9+=sishMOM_2SH?itCE~cN? zWA2bj2PX~;a&-ENTDH`^D6(-JoNbp6SivG;s6t|0Eu%0^OziTU%%hv;=x|4o*&(tV zR0bdeBta9QH2~=}l>SJ{`Eoep+ zQ69zaTXA~+T;x^wUf%A7TN7;bpp$cTLU8gj%Z27L&uz+i@4p#E9br==5_1sgC!e@1 zbQ{bW838b};aCJ92*Ja{LxX|b=S=fJ38pAr4@NvK{KY#)+GSsm1eJP*9!V_U+?l^nKG_Y?4fQx7l5K@5| zTxJ10j-*PAi2|6+VA-||=qJV-7D}lRAzMdQuP{6CJ!J%NkxufFB(7M9mC=YHCC6GY z9f$YH=22k>ca@a`ClGN;oE8O4!#Zl2L< zKIWvAP9$!y5ATDZxx3G3#b;rsfh`lW?Em5-Lpax8L>~2Dy+6(R zb<|qnA$7l?Wla1={Sh!jBm0m4(eXm+SL_9-@gfHu4I0PHshwv|#?!GlGZV+th<8M- zPS;ioqm+|XNRsqicZVahv-pJFcjsY6S1B8#*z(0s9$3FY<{jc;hUg58g7`ebwZmKf zxW(&tTgm_hQ*ECmuz+6mTdMKxlu+UVesDp{n;K41_ecUltc~0s;f+gC(}LKr#Igzm zx#;55WHJf(mhrNmC;|53tMyMp9p~G=3*&z|BrO80pye8yauFe?nI>jZ;@8OQDJ1S@ zVg|=kV(mE6L=LJVF|qx^-a^dAJc0o@!p8@tbew0jc}P67u=@-JsF0bK+CAS&ONmfD zMNf(tP-|DtpbRhcVk$#lSj0>mwSRW%K8~A!#PmEi!U2H<4&cF!lIv)DPlh!P5Vm0E zh_Y&)QHe55JfsOueck8ozKAC2Y3+b^o!G<%e45rTNQrF+X5g3zx8a~cHxlqh<`x?D zv~ZB3uwZ(FV5bw>5s$NK3IH(3KZ14@)x^FBbV{ri_dE;k**2{|p89Dwuk{?1Qv$WJ z@lg5wtzU3&HF7@|sSdcwFs|dDJ|eE~iykU%l3Cd|I+#XbnwI51uOi?|N=ogU_^Yi+ z=L3y^Cx8QgU@LrRqimZ4l>?u`nH&dA*pG**mBPe*HH8adwjYkGCYUDn*)e?r5(}A@ z874Uo?SMFG!~|(Kw-(c7S0eT7k6A!KZkH|s9cnxw+$T>&Eu*5IZ!~l(wM7-bz^!5& zHRPhq?DE3p36DkndRgKf?<;3a_!@dH_CDo0d+)r@&QSz?8zJ6!V;36!i8X|3cvM#5 zqi|~#flm$ywS+Qh1m|3{ETc5(;G~IL=M!)}&FOG5o5CZV%IbQ~vpOCb3xnp&lCLl9DKyF3@vxRGByw+8W7DNMUm)}#Rdlihv% zH#O9jBi`eEgR}FkqiL?6Xm!;OsBzF79oNz63|d{+X(B@V!*CHZt+cV*9|$`5$Six@ zEf(=)kXtOCite81bKsTe)MfW~P8xjJfD6q$^sCSmBXnV5^ikpSB1{SM2bOvx=RLD9 zs#Yk4MpzJmP0FHH2oBXP`ll^N*cxitDfL@=C%cdNp&Jc(jM@XxD4$KQZj`z-3j7#7 z%lDB(*KHv-+EK`^NDyWJH8a(-Z5B zc*TS~zl}&EvyZMOs$(w*xUNPan-p}b%ARlyrl;k0;zpuWZ#7vB^PRLFy;`w6I3uQz zAEEBFKiQg5vk@3{!=*4~yMw#T=yD1yw!TuSjZFeLDk(fz9MpUGsELTT(rwuLKVnq<^vXVmVV<+wIk8kyU;(cS4e)aa1*)7fYc|6+G7 zo!y?C<9OWDsMB_^)u%S#1H0RZljww7kFoBOPsWhV z(mh7-*-Jg=r@`&^d@Ea#S@tI_+4b<|YsWzpKta1M@P$iSze!@*o7nc_{|-ga9| zTiA-chD>#7XlVc18-t4#__&wv;>a7?gy&rIqb3|gl!L1H2A!_t*m$DeuDel=Z;VvM znl}a?ilX5maC}r`=iOlVc)BW+GKrXs4KhU7a(9Q5lp?x*W00dk_%x>2BEap@9xKDQ z9dV`E&T-CR=KIQz0D%ky5Bwt$f)5P)W#@)T|L08~)rG0q2zRX6?OQedy|ymM>HG&l zvd=`j`6&U&TVkBZuiHtb2dJ>{rwLqEqy3EO@~{CrVgjD?s>s2evi4g|oK(&fI8mr= zQDaUce1m-~5n1ko^#$#+O!}Bun4V`Zm2d?dC}6vAPI&z>3k#6j)8I)c_*les<|IAJ zdxGy|TqQRgEfVNM>AKZt$U$lDsP~*IDoWmllMH9#qzj*>=WjjZG`R?D z5`;vNc9N@#{Bb(yg)fa93?1>~V(7_k$Hc{OiKGy+@^ReVw42)0r>!6FlQ#kKdgkd- zi)G+MpmEJ}0tS;rdJ-hB>NUlq;w=5oq>Dnn}pYJ}2^xg~wK0jYh(YqOG4VoMyUcC_?i%Ns=g*&uUVOD!kRQSx zg-J|^!H7Xx_EemTASE1vNqz--f90(Ft2zGgL=aXcVB>G?$7AsiRdX(#stSX5ae33$ zgLXoBNYwK24J=KLaK+J|@-Z7FP*ovZon5Ceg2u4W+e20zAN(B2) z^64{;%BPAYm89i5KVWa@P(%8@I19W3tQ>m=jDI1JO9=k)LXVr+FQL~)Rl)aquaNCW z*ldZUTbClco&$Uz{XBAG^E-)?$G*YrmbdT#k7P*rd$uG0_3yT9+#}-dKAJJn-^emC zstO@2fI`KNo1QC8k3}01t}uea+1#k7FSIs~nq7(+rbD|B%(lA z4@eab=!WWlfS^8Paz3A5n=(&$(_w^s@i1QXenYu<#$Itx|K@iB`*5csqMDv2d?wWi%c7}(&C*KH$#GJpHd_o}cWJueNbon6zSb%H z)n(V_MvdnHgg)EQ$6gU`6TXH{Y}S=iTT)GRM)+w@>&pQW_cx2mTNH?ZlX(XG_)XY^ z|NJVCZ-3$s#ti}$OLC1gnV0M{#DF6)x~J~qADhn;NQUlT$8B2!0fj*FgDxkMp>q{F zIyn4>Y^n>U|BFO|CF*FIC6BJWo}}C(ycLCcmN!4GTYrb-@=>DdE11FI-P0 zVyCly^F}>vYnlt2_Zxf`{-P<{ZhC*ZP|T7h&+RnNeA-WE*a5SdWL&PnN7RGALvFI(t21AI#L#`9ritgk+^whV}u z^$Bk@rWg@=wVQ8VBsB2Rd3#IEya*{VG&=-<=4uDCG*_9OjTGEpw8Zaoi&^6?sv$E= z?=9LdNepYt+P-PO%!?leLKRt}V4^MeCq)y6A6Uj*$4Q&!bgxNYeRi7$fotZEm_0TE z!@9pqNKL!b{s{P-mt8SE4Hpq>_~NBPX?;jXz&`DNw_Gdun>iw(g&4> zfqq3RtG(7%p_I*AAVh=+NN!cOS7}nF@=mC`eOmEJ2{uL&lZjZL_m}dLzQha5XKC)5 z@Lm_WR z>MD~)WNIyk)qR7lXvglHsXoijxzA=W=Hn9L&iYQKjs;pr;Hdiu2eK>tkWR;p?6Pm2 z-Mn1_wsOy7xv7`{AtB$$^VaM8`u;}0gBy)#+P1W`>6WEr2NFh*_*zx=WKdrTecBhe zm4Ue`sj|$*XV_+0!Pwkjgq!ZP7%yGKas*N}*3aGtSyYw^cq?G?tBb27qS<#mC5Mn2%vlGW z9t*XXoQ58)wpC7P>shS^wz--EDo=pn6DJ}j%u|k52lIxk@+@@NQ!(1FozPdZ+~#Ll zj>Jjo-y5xJ!b2efxkb=9fp^lKCq4n%2CU3wC&jHNT@DQ>QY}EhOu$k5sc7=A)9i-v z)hgx6MfT3@KT4jtISqop8kQWx&vcbaPH%f~NXq(+}&Vf^!+#7Ma8A$3lcv_r} zPf;WBD`_O5Fd{;TB2YTu8yeJ49Y{BM&A6=DvGJ{EZq+N{$*a5G@2&Ds&#IztJx$%; zMdw%U7san%oj}fjurHrBvTnXR;|k(+ZM126$POE^n7{0qsYojPEhLx9uUOQVZAP~2 z!Ex4Y;%b@+CYPYmh`~B-&OUc%z`|tf9W^5ywsm&Vwg(!+PkhMDC%3U|+`5A0rLxuR zLI9{(&&6@GAf#8D(%|%c5x&lHqu(loZ@RLu03ac$1rkuwQ79OlSnfrJ%b7c1b}x!= zFK2$66a+v&M;u<^BHc}X!&LS@i=qcCGDq|ye;Cv;3cbta!yW8hQx4k1Uv_j^7M>U*-M>D z?niXvA9UjTZj?dY=rpp@7(n4PAL*-fK@16CnssY4POU-TjmdTT>3#0rgk(5qkVNP@ zB}aT|nOxu$)q@Mh97_sTlERC=;H?RT8iev5_R;mRK{YDr!AkBvc2x;s8_v0IEi0b1 zuT2|?mEXVylT;K4SAhV8L)*x)DE`pl80!07ck%^yfX9@N(^LMpb1opKcTuU)0Q9^I zV!~I)X^k6jov9K1?udE#W*h(XqPxGXth|xyV zh-t*yv!&&v;q_`?gAF!575T-!555JPj(N)8H@^IyqF zJka45qrKRgZP3J-YnrSZRZ zPdGO$7v^92+kismv zK*_0<4sj5T$rK(=YhKB{i2i~TGM2y~)-d6{D#$XMy)Imxo$l5dzr}h}$jXt*=mI2F z7~5TZZFxl7)Oyn0E;|H`5^r~;j*%Zm;lH8UFFD*Q+P8PO_>8P}YQza?FD@<7rxrSk9f#`+b@`jN9m zD=Yi4`EMdB`wtfn*)3ZKmL0@^T`a;ICoBMlB>Qk?gN$x^My!d6Ne{|^$aW6G!yU0# zcvoK2xt(jqOw8PX*eN`-43obxhZ@JP-4`wVDMUt5$w45iK z2A%7B$)=)8WPt7*RjaccCjdBEuKgLQ2Gdo6e3aN8tD;};Vrzg5ihd98@0*kZ6`& zd`g0djAdH;?cOg=B9om?jVtU$mSHBIen_SYPn-YWR31M(4Zd1uOT7akC(2Q6f#G){Ptt;4#p7VG)f z&&@FgMF-6`(S?cO*z`865nLHGTu{(^B)xe})4e7KCS^Fa(JqgkSxQQoQlo`NTlnQW&yh<+l_KGY@L56cblREob2bHG+;X(3hZn_~1e;fEt8CH~_%R&rjpT*YD zEI;ArB?f$(ospk&)^gJVK{y&AU^tDMs)?0zhkjc;QI%cN!P++&_%KUp2{egCSJVuq zpmxg#!^W>D1S!z$W4pyA$ww-&zOs)7G$au3hA;uAW(v<%ESV`m#!r!=6^ShD9ntQ6qB=pE|W&!-gTDJvu#n=kp{$k~4mkF}&uvQCR)A z&ePYXr@2w4D_PU8t5@jVJY;E>LwsDWW%hq6#l)n6*?mCacmm4nG2pq`FB)9VP>Uo& zedSDkD#{S2P_4AR1|FA`LXfmAo#wbWX{KwF1udM=3BxQO%u{*CJEYA^x>^(m1Q~ycr-+ z#2358QfTfqNmet83Ux}7o8huR;Ma)UN2IumY*7BL?zA3+OF;9u}jiNA2)unx(NXeS2ruc%VM@UFI~6_X%h zHZZymqK9!IpM}SOa_RskoudymscQHjOrwQ<=oAt{O)AgGT zlQA4)zsv12{6g2~y$-nQ0LwdYmR+{5tW1ruHX8>YqzMrPoy8rL3z0ET!b`qz~6NddoJ%fO1Du zv*~hHh4#3~T~;bA!YL(I#O{3AW^H9MBis`!Gf82zUxZD02p$QxC^(#Ply8iLtn(?6 z^jSGQ0~2kU6e#ws@JCWC@S>Y@C(3HFrhF% z*=%MeDG$a)09jJsDUJgbKH{8A3V=z0P>AW?Zb)R&JZ71HP?o9p7D`1B_ws#T@+)U| z^U9CK68P7NnmuX!?TX`u5L0i+Tm52D2N&Vi#Vyc0t4;QxFp_1H9`y!u&a4Ny(QhUS z)98C93bDN!UDL>CKYF}V6)++Bdjk^f=f4bTR4OX6I}bg@ms3X%zTf7(z$on6x)QAu z9ls9z`}x<)ziR=41jePGy^P{Ns78IbF;Xo$>pE>2@W@*c;>4-+BHuC(^E9U+z!xfa z{5{Mchbo(9T43IP@jc~h7wyrBp>@i~>WdBu^X2ab%Zv$MzWwo{zPwuhOkJ}teBwkq ze{XnveA<=xQ`bLUdfQI8E^}h*@}>3UuOPv_%g-lc_c_OpzLv?as}>J0-Xi{L+DiGs zgAC!s^8Xq{vDfYWArPMQSBdu=JhHa-53Cctb8Bj9rGFv%03}lgoz>ry&;H0svT6h9 zF(c@|75`L)-eH`7{ur?Roq4#k-tvNOZ+UVL`GMa zjJ^@F3WP+PWtRB^gGk?k=PVEwPA5(sIl@8tjm^x1s;5$+qT)kL-uKt(hab`wQ<)x| zV20+4s`8R?MIJh-91#^&t(xirf+@d!h~_2&^Q;C%b8ujjQ&pMwZJrB3?&)-9eob|KQRmGc)^- zHR_=Ardid5*x(rf<+hkp+^EG^7&?tmkY_PYGV>r}i1XWKU@&N~7A9La>*!$j2i47e zLjt*b-O+B~Xnb-HR?L*J&)Iote^P5k^ruUwnrno#PCR_Jc%buWeA?tPM@2=y{@w~P zPVMa-E`-D03qHyZSj7kAMm|1nhbu^&OnJt-f5>ZMIsvP|5S))H`Io@nFnKNZ&^%*g}D$n>i{XNNzZl@dUMjA5^{(#3+ zyjiNDn`Vl4Of|+|+a!wC5r3zrRD1Vijn|evZ!_SnCgQz@h6bf&6Gj6r5fm1C?@>|p z+BV9kO0T-ZV~y9ULMMNXouHS4L+pb2fEZNLNVgr8YK`!*IKBx`&ELNxkSN?g``IfI zH+=5@COLLn=oPO*31Y1AjQL;UpY*kpBYj~Ht|RJioM<(8o;F_Hd8I1ldep}Cb5eiO zy31sJu?j&s@yh_u8WjW|4(h!b>uVXW{d0-SYv%uKC!KRPnZO+D;ab>Rgc3KC$KSO0 z6)HL|`3vEAj7{>G-mORq_pEVf#MculK5L=O%q9di?qzL%GbO}#9@X)^Ec~0h#uu=5 zG+t)E+KTwc5LJsEwTLTS<}-aNo7tc2wcQ7tZ;lYewF-(aR{6gsWm3E9^;!N$OW*B! zE9Gx_=+)Nlb-P}lU1pqi_GZSVjGD*p%YYKTGWum3cXRLeZIhU#Hp`^W*{xSSb7!+e z;`QIm)*eLnBZ+1X|}&#v5h znD)1<|FPblFEe_~4S+?>tP2-sn?Ku)qJ|@ssnLD6KruV^|FE*u|d}vaYEc8b6 z$k(-^t2%)3d#>5t*Y%dYZuwJ#BVWU{T%2BSNjsO8TgwexN_=jy2hjQh8J7yS*af}b z&7-&HqL+Q_Vz*;C*Y2ET0Zr~D?pg`j{*(W5AI}FKVg0$m=ah&5fBJQKtM_e5HR!-ItZZ?Ab<)A3WTZ%7^D}K8VD_+cj;x@f>=To z1SEtGQk32m5orQqId9OtzwiI=cklV{bIy9+Wagc=*32riW>%to*-csIyp4#Z&CLcP z@~F1gum3GfTkw_F?;mMUI((Mj^e>?cue6T5G7|{$rlaFHQb@;fm+p8t3*8~QFLVHG zC(yBK-_^K#|Hv|{7OmjFz@cOozb^^q=Et?%?wc3s^10C6|5Fb;Tfj1XVF7%+Y#Ks$ z&#J1dtndRj9bKQB8}|_u|Iexj^S*6*9U;{5UmvS7?{2FLY{e&8ilEfZ%()%a^#(>R#U)vX~7%L6repyxJ z=T`+q>*#+JpxdUCr*i{7bo6%*$N_TvReuOOqD4n{*r-(K*JPRZz%Wnj5_FvNCH>>Tdhh6SK(oK?o$lljid5gM~AlM+Z08L-A|rWM;#gJ zkf%FdNXJd*B;R+Ej&4xvP+{5i-?W_MHrPgkK|Xbl`28pSn-EL4R6k4g&iVh+dG#eM zY2Zs!`RjGHYvtP-kB8Um?>v69p_coDC1-5k?8Z-ZP4v*V-8H5MUnjimM!xLk#bCz# zLd!Xy&H0UouIBiAZOBnp_Y;@CH#F_-CvEL$tkizq@7?|pmQnsOsDbt2%FkZR*Pm;y zJHJ?Oyx-AGI;St^KY05G0$u+xO!UIr?VRz+7mucVf5fy+ebwZtp1z~$y1s8Z@_cna ziLeoN>3Gz}enD2b6&mapJoPigH2tVp<1a4}dAELDu-iE5O=0uR&WF#({QaFL{`EDn zI>)@m%w1JgT2)nbxvHwHs;csORaN@$B>SIoS~XDqXl-lh@~_Q|OB#0~2FtHqx^&4j zPv!Q?$B!Qd%T4n_?d+~K*oj^b*}={rWUET5h%Zz>f87ar8rd*=qx3~!J%;PG9b1p= zAh#$=`TXyCi3m=V?2l zr1!FW$qs(w;kTQE|gUm)<30yTp}a(}PPm zshAyPVms83IqWgWvK<6>D1 zY>^ynk!b0=Z1FfBJNnBRKkwqirRHt>z;tqkXwdn>h@tIkrx1a%8as;eanj?)7HY7_ z3P)d~Qt?NAhU^gJCqV-O%T0cHx_*YmCF!u$7`iXBD?GO_biT-N}LqAA_SgW{fJ!m);8CEUa|* zT3)5Y(qpc0H?a?zf4?x(O*&V z(Yhv`AeLngv#?xo{D9R|a`&CDC>>a-QbVZ;Hmv;W$sHNjGUBP^?ovKsYwqQ_%R9+{ zQ0M1T71e52lK54&J0U+?pJBI;^`3CO8zWtLy53_luFkw8ivEx|{BE?SsyMu*J<*C0 z_JyxgNq^ewo0OQk{{B_9PCMMb4LuCTS5ZO40a*N8(WT)O{>gH0zi(BJA5NpRfzV8nsip8M; zgPWpD6a6iZO=0G2;9TUXBNMqZ6X3E#N6bRuVpOfquqQdc*l#85=#6?M>|9=Og|0k$ zGMlLIa4(7H|JN5Wy$ZLY?NF~(dAb#9Gc2Z_@xFhmrq8x?od1()x>qj8 z^ABIlqODG;gmd*<#2j6Xmqs&r4V`xRwmZ7i&iK^Hp3|97E_1@=gmjlEkH8x0p5=Is z(QN&4`1efnwCGO@NZkiw@prRrPM2jipJSF)4&dVQYj1i#Gys-svGMR}t-fEC_iQKN z&fIE%k_KYE$1}ftb4vXS-y3p7`NEW4d56Pp;z%jT<;v-D3*T0xPR3$CG{^a_ z86TcAbxg$Mw)?OLX2BMFQxVY`zs8$B@@Nar>{H%-4%H{`{zMcOzgr9Snh5F5D|wqL z*p(yQF4+}d55Zep4^LE14lbIqxSAGq$l55GBMLc=oN{GCQ2JdKQQv%RI?GQWd;-;_ za(-`W|LObazX}7w9=2?Re)?ovb&i?>ZDZE4 zMV*U(GMpirmTFuoW$^CHV@VUHLD)O+y!TVp*~~#U#*O*ROYAI>6bX}CE!3g8DbA9Q z7F*(RYWEAfq^QdCMNKsJjK4-dV9#~mqS`P?DNXH!+{lTJLZ z{o7j+)pc{nZ7S}DB)^_8sb8#6Uot(bt8dwhG8Mq?+ke*a*@*CO>tJCEa+o^KtaR@t zHR#^QNOk))Rk|gKFzcY12CMT{n)X`It-`)*$Di=mXnF?=?!VqW)>L!W+cUg+>OE^1 z-}D`}_16#f_?c3{s-Y5J;mHN&+=4y7&M@3@m$j}+VqVTWm}aj}BU`WOX{SF;^s zu{zSvy7)DGS*QvYrz&Op_0303nO)Pq5TS|uzP)kxm!T{}Ay?-ERg$&Z+bIbc&dH=MtjDj@hl%+)Wky_EPyy^0w+Ux?L!A-X1CQPf^X0JpN?1ko;-EK0u_XPr>qBuN~qc1)F2NJrwyL(}y zlR;&hjUE8_CIEnYHwwW1Vtf0WFd(yeGU+`~r8hi0a`sIaCUNfN@}w6cr+aZTuznJ# z@V>%B1JJW)ANUB*Xuxyj%GJDQ&-PIdE8fxI)BA&Jpr*ee_{NQ4#plnT*D8)YzVzgd zHsSzO(ifMkKIY_#EY*1DZc^h&=mfFbFa*Uu}>$o~ZTYT{LK z#rfD&@x~9udI{Ws|N1{o{?l;(Kg#X|j}}4xpCI(|e=>$!wx|`1?ytA!t(s zHleYw@7jy_Tz=ejP79|w>#No`4H4E4Z7YmwNGV63K~_&=L}sqnmK3E(SEuOeC2%UC zDun`x?Z#P3N;1qT&XdZ($~%N*yLurk>25p=TgDDoW7t_6hmi zs3MZKkltk`Sv2ZI3}|maf1rljAORp%$OD%^gg_K=xP&5zkQ0zpLlhZ+1giJXL~!w0 ze*{AF2U6#81Bh{V=_c|5SMGTb0}8|z*$-kc@IMYiMy-7l?Rv4CekHr@h4qUsRLIbG zX9-{8&>hAXt1FG+5U%Q*`d`k4X|Mj!FWJm@x3VtoS0wATea(Ph9$0LP>f|{cNWu=f zk#sN)*fuH?d)ukh?a5m_>0s-kIHfdRPDMqyIhk|=72Q@g47VjaE_CBltbXxC}Uq|JN96&zz?azvV=rR?D=;@8gj(f zjD5}X)J?bZ>z**y1c8`8+r3-2Y^@&t%f?8;D6XoZ-o(LAg2OmD-A0n){UoE?bA?^v zMqS-sHMVsn=^2u7PwXB_1Q=IFowkp9v|Lwbm#V$#b0SL8*lvQIf`8!P?^hAdiQUAX z;=II^t|t>Om@pi872bAPf#av(L(l(2vx{8NH7IN0G8}sStx22l8~8)!s7B zYcB>NvQ|SXrNSpZ_&%9<&0@;u*J%ltu49rOD`(F3m|1cz?UH?pIVV4nHtPLpIiObz zxt>z<4QZ>^#*fSeZN+m(r#Q`+vJG5UG$9;_@Na>nPcbYRa98XWG08cKMCuWL3o1?< zP$^m915p6o2LvCG&1RtebEF;x5P6_oKL}Kfq=|ALAi%gGT64&OxYMLQ5|DVkq61|p z!Hoj_YMlP7tVik*&-{P%0IC#TDn`V5jSD%yR*K39Q1TvIwsQeb_~vBUO}BJY_Mj7s zp4FX!Lv?0d(i5f(xWHlWneZMSmEjQKZ^MrB^F{)wmc=HBZrcT=bMDBn)Nqa|K>a{lD`xo#wnnMAaLh??cea@xH>TYZ&3_~>{KiM9=&!Y_n#(@&OQ65cnT}|H(_L{TYuyC{n_*NA4HA* zJG2okN{!Mue<@6i+_DXt)xgX*o|~!_4QviZgskxq-jhB1M^!{lQeC>;vsmy&%e4wK z>{gYuKH^q0=nGa=kILdMSXA1UvLo55AP~a~>=5=UL(pk0tx_ZoSE-8zu^W{bM5dwX ztnLXERER+!Wl9B`U{t-1E^w@qcykO-6j5A(Zil3Pl#sN*8Y=GDY5~k{tw6Fwi=m0vH6jyGW|yrR7x#9bNfBlmY^2 z$oir3RNBRdLVDT2;3p2tRzh^>x$L63G7RFyeJ>apUU&vEbVr;JZYwz)D>?jY!^ZM8~8w`7QcUT~(^Z(B<@0l@H2f0J;Zw$1dv&!5>lK)avg^ePIy~Ck%3pN_0vY zC4`GEz^Xoyu3zA&c~TT*C7$MMl;+-Op2BQl0cEoiL0J0AAWUD_)}DH3u55vh=5mN_ zG4X@4KQKx2v$+O;ss!Z$M;YMEONGU(KsHabA1sK+2^v|ITDd(0NJ6#S!4DSF#hR!` zvjnDG=J8w((OkKP5H8DOv|Of>%n3PNJz%k2tfOg7Ok@O74yK!Vllh>jbeDENy$N8I zdYG&1i-9Jm?#7!RbAV?$_;ERU8$vU1nN{>|z)DKmWO#kkL`d3_u?y4;Ah~^$M}MnO zUH1G3bt&V4tp>T>k;>KKxCDSQ6Ef5UbVim6e=7T`nKr9vM-fXJ%U!JXglIUJiE`P* zs$v?0;0L6e$U(CV4;Tg)I-oBbB&Wrldy*4i`gKo(lvok*N`q4IC_QjXvT+3=O1ey# z!R6wHkwb)naJtJQM*|$L>s1%4HMg}3y*=&W{|f<40bF~<16OW_=9+pOc=;441@QF` zJk^&(T1h)CKTb5}ptXzu{9Sea>xas+(>54&NCkB^8+F3^Gu%>lbL1NGeUPKMG> zlwu4m>j`n{Px(E>e>y@q{nx^x1GL3@(ac;l6vZOVfIF*alBL*PtpK8(LVk}A&_Sd3 zzjglip=1xHLhDhi7xgZbNSc4~b>iAF;3S~5~S8Pem zHFGmJNk;!3uyz2x=3?DHQ|T`bggcR%^AftdvK1AjZJTRmJrvW&Dr>!Zw}sA-1aF;dQi-?7$)Lwz}6MR*PbLQzrqtgCE0b1b8h5-io4%s`fuMw6O# ztL>-jM_&oix3TCgF3t-@gnN2;64A}%qD7bU964zzL_y+0JBxFo?#b@1WPH>-Qr^Qh z!%#vbA(1J!^dg!$8J`=DIwQ=5koUGGp5{48WCxNYmHz83k(!;6Q!GYK^8wV@Y1qZ|dqKAp# zR35LdS%zXkz=|4zrO}1jZ9HJNVhq9Oup%7YF`X{l%_-?ba*Sf)fICr|XJO-giA-Q= zw6zBIzwb-b{ie%@?tXl31AiJXR&KxZ>GqNneKM@aQG&*M<5J zJQx8hCZs?VMP=hty{*Z*ZD8YEUTzge6|j$zEEZJg7=P9^lNs7ajc<;x2TB)D~RL_$>e zA|T$(yiDC|!reVb@r?2Z;sl(dXfg%l@!*33KGx%re5zlzq-{~+Sl>f@4hQAO9ia!yb|99*Gopv%z_($oamrwMbcY94nM+A&1Mn6i!?ad2yqc{MxXyQVADmq0t@#(QRcs8h+7;OZD zE&Ap&<#sB;ri&|@9p|!|`{spwvcg|iP%x#Oa9p%;4kK{p)5B*gNqe~IA4lKAVB_Si z0e0zv&6heVv5O|W32Z+ianVbVcraQgye$saJOsBb*2VMiWJ~+ye(Oy2zAczc0itom z4~p6Vh4S>kD$%za@$%x?TjF510SyZ6$d@X;Lu`TN0efmp)+2dwtek_PpIYso6L*KH8rF+ zi*D8hTaS{*ZONo&?4l_)ajq~F>|_iEjwvL)mbPPYJgJ_Z9_Z#i5}BlPjCu+i>w_tD zT*?t)VJZ^T!Q#`E(zC_KIS_zlwq5pgbgF_|k9Hbj+h02-Msac?pyOm8;W&Bwaf%*_ zm&y&-je(7qLrPLG7%VW)h%V{{YM1W!UO5z>BSnNcuibR8W>wYnZ<}?J8+Kq!iR;A} z;ck*hJeTw>9?tQ8j4qWEMyfB4IN}pNhoOID-`qHeiOs@}NqSn7F_`1W+VMF>f-UxL zzm1jklRqg5Fk!&T1m?SDyG$ zM8*(`=~3OCvesz5wr*-lETsL7PzF6q)FPgT8|;HnQiP6D9B;#7 z;D*!eSbWFVTs+w6zv&R5-j2Xru}Gbc4YibrENH5^p)R|j?g?SAp)eQ<#B6AfIT5Wb z4C0d$(cQ2n58qU!=(5`v3LQl#!N`Jrg&Z)wwuFQo@hbpU&b%1HtJ?GQ$tP82gFIK8j(O~FZ(tFy*S5e6@jPw7 z{07<+I7!73vQFdgF*m@r{TQF%Gx8VkC=SH*tfx2n0ha=F@|rGcvAyghm0Q+!x*ww- zSTkL;fad^iH-2jbz<#C!O?llgxt0?v8b3YVU(>Hk%{lAxo+s5e16HDQoW8vU-(pL` zzCmNcs>@J3T(DI8CltqpdBB%iA$3dwzXW&jrkH`qz!NesC_7w@oEvnQHhcM2E2W-tsi=J{frZ(NbgO9VW=aTz1B?y_CJV5Q14dKb-x~x6 z+`n#O(-F|yCHh2tx$p&iE-x?dZECTf(#0=U9AhLdr1?dFy@>hT!0n z;)7iP+di3hn)mkb#=5Wct zTmWMc2ub_#eh1)Y4}TPAUmTtg2TZ+KPY;F9f}?dgl>m21_Y7Azo7(~K%Eh!ZO;3Mm^t(8a}iTnqxC zyhVZ{-wFcpt&2p#R5jMO5+F@01Dxe3TJ*`+bbe2y&Oo)APoYux{R(l$X#0vN)UD*u z;x5HV{r9qVICCCZ!Oe`Y=2A&=#;2>vI|jI*<5@dD14Z+e?2c+bd2o)qHVSDqs~c1# zXn!fK{r(^U|4LE=z4@l4I=<2vQZUd^4dK7NsUelJ*1!v$oo=qv}3CYhG3^9w{Xw;{2gw7TSE%7U-=Tg{SM|X+6c7}h8?m_X6 zD>{>0Y_L8l+iMBmmR7QFJEu`qQlG9o54@H-Hd=ngSS;hy71hgPrYvW>->VsgW`S5X zkibnJN{pD{QJR-n9+IP?=vnuy|6ScP-*_cI@}uRMd9$MZG=8NW^-A@}H=eBqyDk$$*-LDYdlq$d@s4fN%jl`io?aD zjAt=)?O_p$?jLb6qM~A36t>T+M!V+hp(`uuEUs^@G~TV%Sq{%QBg}+4XkK*KRX}?; zJ}kkOH}m3r>#TN>fOB*U>4*Tw+!#$6UKgAV$QPN9q@PF9Oq&|Ovj;?o!HP!nl0|B2 zDXdh?S&UB#M_~I}g47uNa(qf`a!oBw2-w>a2yEZBxAOrM`8FU{ua}!0xLX1^qvPzA z=+h9kCtTvSr62~z`l~&^P(Q9(c5c)^B(Sac*DZ!!%dR4@t%g_ z8E%CDTpMQ>{L1gJW%bSM!MDE}>(;KkbZF_l|N67j zn6vai+lX8BYPz#8yz|pbo9Z>HWSt*xrbX(QPtFn)=ey~votr~eev#t$xwHtW1l37l z^zpIiYPaL|s9Tj@S8^Yn>DTLO9P}6INkl0>&=ZS9GnXQ*Mk{a*NBp#yk{Ra)N{udv zeSz;%CCO%v>kxhi|G}F#XVWdm?VQDSil|~nzz;W!f=ZCEZ3CQ-Q>o-cS~{@IMiz1K z($w-n8;wfiCPt)oZ&;{Q^EY&g=~qg$IM%3ZxsV~5E2Av_{Fr+ z8{&oN(^Bvuq&Vj#x=1lx1Ou_(QqaT_+dm>NNHW9@_jUmt(CSkEUK>}GF;EBZprs;0AkC!eofVx zdTH+RP4!95+etp-JLnzO^CtL>&-x;w-es?^Y=W=!A z)#7K7)~|5u805O9{C-5k79%(_G#sr9xt$6{s+BvYmUr>ViDu1DY(~yG71pK}NMM< z(`?ByX&?)2UxSIEkG?8d`j(Y%mF0tuTl9A030SkhrhWjO=TcDb6-TUE?=3?JU+Q#q z*dkHTb$EBeGszfBh5Lf%XMpWZr}AAoS=%E2^|0UB{+c8!eO!Kd<;S2LK_v#9#cd0Y zpj4#J*RtNgHT4fednbEC0CP=xF~+_m8%zPQ8V_WOVL+b>e6QLlPc2lQ_LA$`RO{gt zRD6G~JQfnAHU&1Z6kiK2O4o+Qaj@bn#KieMq1q8cjs~$p z4e#<6DG*K@BY%j2rv~y93OB(oRHFb9jLFw9i`;7zZ3UKnCPXS48$_(1f7)PngS-;b zy6vKxICA6JyLAnkH5H?D&+@T8APT-nn6pT=j3h9@OVubFkLm)}`9x!Z2Guk-!tBWK zw2dS2TBXkio_bEy+#{6<&lgvw<=5-%9*y;Q7~n#&zTX-erdTH5tLJ-3t|-~~=2W7_ zWvM6Mr&2|zm8db#F&8UK-w{97*snt*9%Trn!^h$?iqj4=AicN~l!)BxeGoJT4~R*0 zUrS!&hvK3J9|U4XgZbW&J_P|kVs#00HL#N9PuqghM) zWVjG`)rRtPDGx7DO_Z`jcBUh>sbU7D?5Srz@=9g|<*4x~4BHra=RnTHPvis5bb4w3A#z=l$ zPkB=VG%jX47p*+-s9nwBv~&6#x5e-CA?RvGX$ypJvu9h~%<`>De#CeyE@u2#_hUg2 zW!8eSUZ6fCnvT?2ezbe4Z)R7j=o@T|2cA>zfUpjgTd-Xog9wg51h=!cQ$7i>J2)93 zyi4{fTMT0GA2hmfF{%4@!Bf*op=%90jo)-uD!v4B+BwrCBI-*|@vYJIVyQGEe_n6B zPUFzm_v69lV`m7uGe@4n`6+U|(e zu1+q<2WX^3gUc>D`!PKtRj)kvu=7p&>#6g5u@NYeFp9v6TJPBv?&ZV^lG9W)6uWb6 zgb`;})Y=kjJO;_G-YHIF@5Z`H-z$0q&?uEc_tvIqR|V0`iUWu>MHg0@X=h~l&Z8*R zeX@9XyTQwLn!whFb$0B1Z)AZLO36-*ha#1ToqpY{2Xsazjk%RH&rz z5MLaNJBK-0IbJw+gZC^uK|?WNz-?Py-160z05v|=Ga^7dd01_8`k1*Lp6e~XL?Y^L z>{+A^c`+z|7~fdgco;0M5bc(fYC$cUDRrY)

hx`wmjXhS^~tjolHV%}*!t8A zE$Fh>c5R+%SqIKnCC{{SN@dE>6L7f|J8(2+`V_F4oyrDMKaJ|t^4#U+jeRq`5v7KRoEH0{0z{hsJPQgVcE105 zu1)JQ%n$0$%@$Vg{EK@R$YQI*OzqlT5gYC&aiZ)=#)x{C=dR@*ue`61m#CbJ6* zg!H+>ArP6P!08J30ZJ=!OB} zwlaU(o!P)g0jrxK5pfXZkp^Nv4zW?007@A+FbwW4F1Fe@-5OYbTk=65$ie6}Jy(cF zbypV^2+X9C9Faf-M6_ZnKO*?wA!cSbbR6SbOEcatC)z&(jtEIolnbLLlWyZ)R#t`< zh*em*B$Psf)CE~ex`i=^a3nAk)DT)09m{SAwe?(u7AsjSi&~c>`op4^LHBjxL6h1*4Ea#2mH05KqF)ypTKnYB`uUct;98r zxf=^jhZ_(L9b5loDly1@c0;k;3$)OgqeF!ALDKv>hJ_gk@F^bn{3HvWz@Mgx_?&qqaPcNtGSPBp;@dHqJ%?#+766vZ04#SDtf8@{dd3@=2HE-FdYFAX zU>fPq00(FQ(LjQ{XIkez_a#5zS6BqPx~xM9*$injD;xWO=>>MG&pR|5>|Zyz({MbZ znRaEXikkrl6p_0VJxGCNh7B5c)UFf0|(CwAqhB z+oJhwPMkPwe;|)0qyI+p-)m8jJrhTpWI8Z&T3NQT11?hFV4~B%k;LN8gV+fG1|euT sK;5Y@&9mZ34TM#~XVInD-3{s6G{{pCI-$$|3r~jR!VDBADG<8<1w^3&m;e9( literal 13707 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 MFQV}V{oiN)8;~tufdBvi literal 18120 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

  • 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 I>0i_SFQuGGc>n+a diff --git a/data/Pckg_SDAResources_gpa_H1.rda b/data/Pckg_SDAResources_gpa_H1.rda index 1687bc0cdd5e9bda0869da6cca1a4baaba309fcd..da727145fd213932a1c4625bb40f64f6512ec3d9 100644 GIT binary patch delta 6597 zcmXw72UHWv(heB7^co^nNudM-0#XGvAt8`JC?Np?qQC{D3ur(A4J9C52%!sxDos?1 zBE1MAMS7JYMUW;+v)$+Yz3<)s+dZ?hvvbb3XJ_V|Ih&^)qb+9S;Hj^HrYhP{7k)&H z1CrAJP7{OC@4gS)m{d5ReL4(PKaDzd!8|HFLO5IiaF{;y6w84E0e}E2fHDBU2ly{I zrg;RFBe-Osp*G{*zUgBHWxW-(+J=wP&MAi`m!B%ORCW{8lp$iq42xlq;xP}lv`1O; z2{fC&RW1k!jc~hwP7OovTE*{?T?)0dq&?|JT9=L}K(=`tS{sOF1Ed56HUGy1@M4c} zumJ$+f4Bc#PS}h?GenMlTXopNRwpnMp8qqWetZ4n{QnpMcmg~mJ0+$eyj z7n_^-@2Ter6ky~ZT@V1E|4SfHnNAec((;3_-=y}rjRQwCJzcca&67B#-P~LNk`Y?t z;*fM)wqh)B9GyB^m@ZljNsDJ|b!tjxD~ht!RZJNp7!=P4ht?aWA7{3fbhag)`(9Zw zilZ#KT>3Wg0?yKAB8+?i=#iEyT3Gg`+-nPP0+$CG`OW_iq@j*cyz;*;={|h2bnx@n z-^-i;6hK7p6-%BJs|R74b~{Xg8=f}F9pkC%!e<{W={KE?YjWQ37sE?4d7CchlDCo+ z`4h@@;(%f*T;?y~=g~#W))5$WDF(YlS<|bDhbb=RU6}`xLq!rry!2@5cx}S33JQM_ z{bQ~_pA~Ph@jw>APh<~T=5dOX6Ss!W9Fyc;ixNoJl^SO8DXLL?N?{1Bk%-`+o_ZO1 z{^<+MEijU9IdbUpVele&Iz+|kN>)f#70d@t|GbqnFCrKT0I)BA{;%qG|=Dw?PESY->Nrzsy?7Ek6A%@yaqtca6&7g@^NATM-OzW zUWin9kq`}C-o>{0o5ewjYpMPmBr!ftnC;N4#1pA@-Tv#f@3arHq(Yd-Rp%XvlBEk( zt~?M10A1&hyeo|;mpMAwOKE)pmdVz={?;chmX`TxeS^#U{bJL}yq|fF8msg#`?4fr z1t$eK`NlCtZj@;e=u!~;n#2&nVxRx`N}KkWyI=NBu**+Y&!CGZP6;=wzj^0}qpd|b zkGz}3<21b&nBIma8l5`6kBYwNl=H(;vE5~K;Yj~E9Oe=JL-$+5p^M?=AB+^IAJan? zvS3Y=HW0<&Ky_n6my{;^hUpii`A*7Lft0_PaBMNAtxqo^Y}fD~VQ1iT;}wq>{plA7 z1DRgLnTDLlj|FnPZVoQmP%QjEeq1_$0|5BWej}R3$gP4i+0KkCeb@h3j5p_6JOH`y ztcEa9X~kjod&U6sX4$UD3|r$>?x<(D z>?N+RIeM>ckOMliLz+dUj91;F(x~WGKN#2u7e95^?1_uQXOaOuh5l*v&w1~qmw_L< zCVN{3zdpHYVe2WSqGB%Y$77=nE+WqQ!i0n1HT;kW7 z?xmkQRpsMn2Y5SfNZ*@AaFfm{zI7-%A%rw=&!H}#O#kOeS5=}gY}V?W6Jza zf&Nw9Iw)u0PKp8D{oKTw^1?;`cUN(5|I{wrR9F}xj%;1&^S$w1>17lk0w_twY0wld#Sq!6JJ(~VX zAGPUL@c$wF^Tn$pknr7-``ZR*Oyj}`A`jExs?26 zV%Fg2RI+mFVj3OGNbCJZg3A5!b#qOFV9QO#rM|f7KjDRN3Gy&`fr+1oc>*6uTLbi> zRdiS612DIOrO>USkT~N@p!GmrF}(@wgX^!`V7&*YzU*C<*t?4Q8B*|7c-Bzppg$~Y z{-QyG$RBcei0p$j=)vX%zg^?jou8bK_X_5pTvcw1S-DRidGZjuAADP8^5a! zq5Vo*d;Befo;mgGI@)!~qE^+im^4jQHK}~@#OWJCFxXsKuo0In@}Qe5%q2RCUERb_ zWMI@JA|djHs6_O0Ro_fTpE|z2s~n=o5xcV@#>iC!>Tz(Inxm22qi$Mb)&dH(@XPO!e_M@B(Sg%9XN{Ln6%6;6a4+P|L>Q|Gy7xw zg+n5;X-Dz}_)dN7tt`I)n@IP^wzVvW)Ddx+QnD#flmi=yiYVa{L2;d{kb@hE;bo)f z(6o58v7{cr6m4WxOjZv7pm`jR!J#mq6-00#;R6a)~`fS#uTfl zXWLgM_yRC|Ll0u}+b_TT!F_fB+1yerq5mrOPs25)swQ?4G(`Gp?vuZ*7l9(UF{Y4@z#NRK&F zc0ki@gqqI1^)?;Mn=qhwfT4|hx*}_P6;-R9a7fl6C|j+T>ajIAN1v%)w9!WPL_%7e zLy?kdJ+x^j+Ct|3(1y4~md!BL!`s*CSqRtU zQzBuadL6j8ee?xtdMqTG_9erV zgv{5hw(T|5{A}B!w+JU3p1$(!e(aCwvDWU*2PpC3)o^L`k4h~{udWRzeHl(IN+EI- z8l-=?_~(WOE^hPz3Kc!d(VuuYMjEHi`G$v4s?z<(Yskx;! z{?7KVuis<_Pw$1b{T1@D>#uLJr%nnB$H(`q`rR#W33n_oQDV`Rx|*HkLn4E1>~zBqo*EiXF^`{z+by_U1I(X= zG}?Dz?zBhX{zlZiQ^AV|jJLp@Ux#rnX(bJD+w+;pU$<9LeWG-85QyPO8s)!i*T#u{ z!ZYo~C2EVI6-4^kW!`h(!zx47WlL+jS2@aZH8vDZhLwG4OMsogoJqlFrLcZ(=Y29{Izm2=LaduK6x%5dnTvS z<|>^-Rc-UY9u1sO0ofCg^_rFDJwqX#Rr;79l_lJC#Gk7E+gFm((LyqGZdKpX1mA+4 z@<@v_hVB{n6eiD_pB50Q6DxJoR&BUEHJYbNBlp&m#|eRHy@7$1MBK88%>5VbK;79r z|Al*gh4rJIiTr$g)q5`&;S1qTz7hS%r~LxOj~x{QYMDZB+)a`q9|k~9R7X2S8GUuV z(Lk!hB)zO+f6!bUH?w;~f7+p5+27X{yTa$VC&a$2?r3}3aQ%pcd506o&$rKozQr!@ z+1^U6n$0gN9lVgniDh?Omzf?G%+!<})Tov^47lb(L0hrOWnr6c1p8)ad2}UTdCH(> z?SMKxHiL5~=PU@VMu@#v9-MCs5VuO}!GmBR7 zdG90GhH=(ph8?*4DJA&0xllT&ch-9`d&0aDug=DfVkJT7MVfE#07>ix8Qb4K?H#Wk zttoFaJFVdE=(5QbTBl7sv$lP$b^Z7js*D)L`&3P8jIX*%8!(x4P>M1T)R9s23(1#<4is0$$tw@|&S_QksHkd6>ztOj<@!WX&Iy3t zi{m$++~p5jl}xmOm?erQ5~p(}I55_g?_=CEBi=;{QYi-Pw{H)LJ_&4$ zF56aRy}^N@LA0tFtOW<<9#iY4M0|`3s;6rSI2m#2B% z0(Ni*VL_(v=%4d97B3|ofWu#h-V!K~NdHjt-A~2ohVI~vKgcQ89lKx1_f86Z;r+b3 z3@h8zce1k%nTmP6`MSt}UwMc?1%306JZ-=8_3rDW`j~i;b_x7xY13tz6CW*;<_LXw zYp2OiXh3_e?dh=+0=Gvz^1o*N&UMufTF_9wVU54lt4uG-M%I$j%O9D&d3S9-?D7Sq zn+8o2a&hMVefYIavN6^xzBFh6RGTsvzt1ylW9#(VCvAnc5aKr%yfUn6G2R#=RbPkZ zgGa@{BXN4E(J+o2_(^%mmp5!KKYSg0I{4@F%wFGVi7b#*^4 zgn3fljy+uubZEK~H_}5Ss(6rgKy|kpSJJtA1?>EM{hS(T$pU!})4p!2mJ08!7tYI_ z_D}0Iy~j9;a@oL3GA(bmS%hepMWh>YVw`-EDA~LLg0Bf zt5w+1o1SyWf4qS%JvaT{ey7FcX3BTDjvaVPJgm#??owy*aoS?H;Erj1tR`M&epBw& zeY*aJVT{4B%%IbHD>pJ%3b|WvFy>sFpsudB&T&uPbu~dFaDb_C;(`6@Gf!_%607ru z;|sXIkH1lFc7yh_bg*goaI#T>6y6jN0eth7EHQo^Jc^sv7G2 zf|w7V^5Wepq~nS#XCHW*#s&KS`URU7jkxatt2A*L*{ZIqP_mktZU3Z>Je$J_MV8mD&dccv{v*KXIEREX}DB)$q+ORjUvfINFv*V!30 zCPOy2|JkL_=;$%?)-Oqct`%WU#$2=+y*!v$;DcUeF-!D!%#;sv3zo~XYrU188Bu5O zEd(*f@jhNxU?HnyYR;Uuk&n0)0$DENk&ou)%D1Z*uim!5r~fd3sg?;bu=8|I z7L=65q+NTPm=(qeL_Sn8t?S>>m61&{Lq2P?u~C=>&R-a;5FlxhQbd55(X2EGgvq*Q$Sy56fdu{LQ+w(M_ZQXRsqrRR1;x5O=Vac|q?z&F3?exWi4s(T2oZ}N0v zkpz#yP8uRn2MP8l%C2b+2tJjN3F9uIY72ThRg^Ss%NAoCD+axlXsi0OnRLBK|Jej1lJhPCC2f z*(v92F0OYA(|EqER^Y$-DT&*u}0n{ty2yd7_LoTh1#Fs^jag5nur z-r37D9k|U?I^m21M!HcS%k>TZ!#DyK-FJH}#GtshIOc8BwsO8uq7b;=bq7I=g*)Nb z@p8e1(tOI!>FSA+z+li;^Dbd`>Qh(nBu%NHaGso+x2?c>L_-&)(fEwEAcOg}hUTE+ zCiC<{vCp~UrU^Q%;5^42Io`Hq8dW#9Q>G<;Mzk>xr+}AZ2wTplhf2zG45a5t8W_9Z zlFX@iHtF1%!L$)A*nDNbfD=?b%3CoP=bjRDSL=*E5m_x-WjjaVtMC$P<5Dioaw6Dd zcN#1Av=lR!rMP3yfWyD1%SfT<9T%+|LzqrW_|hr7X%f%aVxWGmS&IpO_yS`Y7&>l* zd#1!=fnEOaJ0|)e8IbytMyB%-D|NtaNb632%TBUnQMK=bn(PUchqq zz5LtK2a+PGAJAoCxlNU5jD fYHFKKS@xtqh8dRRj9UHut(l4FV#MxEaA*G?qZ{bd delta 6654 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 Vc}}7Go!Sj65jPOy|GP2je*o@O;-3Hj diff --git a/data/Pckg_SDAResources_schools_H1.rda b/data/Pckg_SDAResources_schools_H1.rda index e11ee610f7096dda882b22c5f553c62a6d59490a..ae0d0b3fb36855faa8812a5d8fbd615694abd6b8 100644 GIT binary patch literal 11427 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 literal 11436 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 XOw1oGv~*8?8jS!pr6v0nN@)KNkYr^t literal 13736 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 hkK)EtgoG~b!=!gz- diff --git a/data/Pckg_survey_apiclus2_H1.rda b/data/Pckg_survey_apiclus2_H1.rda index 2acd34f54f6eda6097f6c6fad1dd5687575012a1..95d31c0fc6ff799cd70c456b07185d5310543a8e 100644 GIT binary patch literal 10333 zcmb7q1z20lw=eD#_d<~n2*n8wEk#;_lMu8}f&_Qh;tqub4N@#Xf)p=)in~j3N(*iA zQlxfz`sg|L-gp1+{lELZ_uC_D&$qrcYp*?P_S!R}Zt1Kj^}qrMvrx{JKoZWS{`!C7 zjf|7Ga&KQ7#{Eu2l>K`~p;dN;Aj4SDY^Im38Ugu>sM~7W4|EPBYJPwPZ9Lza08X|_ z53-HogpHE0JK3MSwjislSWgY4he4&_U(T0mBX>VutS4e6iV zzcN{t|Bes)3D;X((pazFgZS5y8WAAOn~VmsilMMz+@PQIR`0Dm#T-c44HFavciWIdcZV_@nkgp z95D&|gQ^FmW6n2Bl4_g?f_b!nK6pH7jM5My0%N`+TbecTGU+FvGp^95<#Z4Avq?5YXcTKSAPVZNMlN>4+$1wOY08#F1QmSp>kDK?MpgsN7YCB51$!@KGP

    =YUBP8O{2@m?Wt59fbjf$w58?-$O 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 Date: Tue, 5 May 2026 09:26:07 +0300 Subject: [PATCH 42/87] poster for ACE --- .../WGRDBES-EST_Poster_2026.pptx | Bin 362021 -> 363172 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/WGRDBES-EST/presentations/WGRDBES-EST_Poster_2026.pptx b/WGRDBES-EST/presentations/WGRDBES-EST_Poster_2026.pptx index 5fd6c7869048e5c7eadd1ac886b6f51b39cb8557..cf27cb460abb49131ea1b3c2e5a40d9c55af4e20 100644 GIT binary patch delta 25615 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 delta 24361 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 Date: Fri, 8 May 2026 15:43:41 +0300 Subject: [PATCH 43/87] update downloadRDBESDataZip to use icesRDBES package --- .Rbuildignore | 2 + .gitignore | 1 + DESCRIPTION | 3 +- NAMESPACE | 8 +- R/downloadRDBESDataZip.R | 191 ++++++++++++++------- man/downloadRDBESDataZip.Rd | 42 ++--- man/findAndKillOrphans.Rd | 7 +- tests/testthat/test-downloadRDBESDataZip.R | 129 ++++++++++++++ 8 files changed, 280 insertions(+), 103 deletions(-) create mode 100644 tests/testthat/test-downloadRDBESDataZip.R diff --git a/.Rbuildignore b/.Rbuildignore index c00100e..075e34a 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -19,3 +19,5 @@ package_overview.Rmd ^.pptx$ ^_pkgdown\.yml$ ^pkgdown$ +^\.positai$ +^\.claude$ diff --git a/.gitignore b/.gitignore index f28528d..161f3e7 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ package_overview.md /renv/ .Rprofile renv.lock +.positai diff --git a/DESCRIPTION b/DESCRIPTION index c49cd31..aaaa596 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -122,6 +122,5 @@ Depends: Imports: dplyr (>= 1.1.3), data.table, - AzureAuth, - httr + icesRDBES VignetteBuilder: knitr diff --git a/NAMESPACE b/NAMESPACE index 222b08a..ee2bd41 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -36,13 +36,7 @@ export(updateSAwithTaxonFromSL) export(validateRDBESDataObject) export(validateRDBESEstObject) import(data.table) -importFrom(AzureAuth,get_azure_token) -importFrom(httr,GET) -importFrom(httr,add_headers) -importFrom(httr,content) -importFrom(httr,http_status) -importFrom(httr,parse_url) -importFrom(httr,status_code) +importFrom(icesRDBES,rdbes_download_data) importFrom(stats,formula) importFrom(stats,na.omit) importFrom(stats,rnorm) diff --git a/R/downloadRDBESDataZip.R b/R/downloadRDBESDataZip.R index 92cf336..139d22f 100644 --- a/R/downloadRDBESDataZip.R +++ b/R/downloadRDBESDataZip.R @@ -1,93 +1,152 @@ -#' Title +#' Download RDBES data as a zip file #' -#' need checks on argument format +#' Downloads RDBES data through `icesRDBES::rdbes_download_data()`. #' -#' it seems that datatype = "CS" require a hierarchy value +#' @param datatype One of `"CS"`, `"CL"`, `"CE"`, `"SL"`, or `"VD"`. +#' @param year Numeric value for year of data to download. +#' @param country Two-letter country code. +#' @param hierarchy Optional CS or CL hierarchy, for example `"H8"` or `8`. +#' @param dir Directory where the zip file is saved. +#' @param file_name Optional file name to save the downloaded zip file as. The +#' `.zip` suffix is added if omitted. +#' @param verbose Passed to `icesRDBES::rdbes_download_data()`. +#' @param payload Optional full RDBES download payload. If supplied, `datatype`, +#' `year`, `country` and `hierarchy` are ignored. #' -#' @param datatype one of CS, CL, CE, SL, VD? -#' @param year numeric value for year of data to download (e.g. 2023) -#' @param country 2 letter code for country (e.g. "DK", "FR", "DE", etc.) -#' @param hierarchy numeric value for hierarchy in the range 1-13. -#' Only required if `datatype` is "CS". If `datatype` is "CS" and `hierarchy` -#' is not provided, the function will attempt to download the data without -#' the hierarchy parameter. -#' @param export_format description -#' @param verbose description -#' @param dir description -#' @param file_name (Optional) String. The name to save the downloaded zip file -#' as, without the .zip extension. If not provided, the file name will be -#' generated based on the request parameters (e.g. "CS_DK_2023_H1.zip"). +#' @return Logical `TRUE` if the download completed. #' -#' @return boolean. `TRUE` if the download was successful, `FALSE` otherwise. -#' -#' @importFrom AzureAuth get_azure_token -#' @importFrom httr GET add_headers content status_code http_status parse_url +#' @importFrom icesRDBES rdbes_download_data #' #' @export #' -downloadRDBESDataZip <- function(datatype, year, country, +downloadRDBESDataZip <- function(datatype = NULL, year = NULL, country = NULL, hierarchy = NULL, - export_format = "TableWithIdsFormat", dir = ".", - file_name=NULL, - verbose = TRUE) { - # Authenticate and get token - az <- AzureAuth::get_azure_token( - resource = "api://18ab5ebb-1794-4e83-83f1-8fbd3dd5b152/rdbes.api.access", - tenant = "e0b220ce-5735-4468-91df-05cae5ff1fdc", - app = "b6347a7e-5f73-463a-81b1-3781d163de19", - version = 2 - ) + file_name = NULL, + verbose = TRUE, + payload = NULL) { + if (is.null(payload)) { + payload <- buildSimpleRDBESDownloadPayload( + datatype = datatype, + year = year, + country = country, + hierarchy = hierarchy, + export_format = "CsvFilePerTable" + ) + } - # Extract the access token - access_token <- az$credentials$access_token + dir.create(dir, recursive = TRUE, showWarnings = FALSE) - base_url <- "https://rdbes.ices.dk/api/taf/export/data" + downloaded_file <- rdbes_download_data( + payload = payload, + dest_dir = dir, + production = getOption("rdbes.production", TRUE), + verbose = verbose + ) - year_qry <- paste0("?year=", year) - country_qry <- paste0("&country=", country) - export_format_qry <- paste0("&exportformat=", export_format) - datatype_qry <- paste0("&datatype=", datatype) + if (is.null(file_name) && !is.null(datatype) && !is.null(year) && + !is.null(country)) { + file_name <- paste0(datatype, "_", country, "_", year) + if (!is.null(hierarchy)) { + file_name <- paste0(file_name, "_", normalizeRDBESHierarchy(hierarchy)) + } + } - mandatory_params <- paste0(year_qry, country_qry, datatype_qry, export_format_qry) + if (!is.null(file_name)) { + target_file <- normalizeRDBESZipPath(dir, file_name) + moveRDBESDownload(downloaded_file, target_file) + } - url <- paste0(base_url, mandatory_params) + TRUE +} - if (datatype == "CS" && !is.null(hierarchy) && hierarchy %in% seq(1, 13)) { - hierarchy_qry <- paste0("&cshierarchy=", paste0("H",hierarchy)) - url <- paste0(base_url, mandatory_params, hierarchy_qry) +buildSimpleRDBESDownloadPayload <- function(datatype, year, country, hierarchy, + export_format) { + if (is.null(datatype) || is.null(year) || is.null(country)) { + stop("Provide datatype, year, and country, or pass a full payload.") } - response <- httr::GET( - url = url, - httr::add_headers(Authorization = paste("Bearer", access_token)) - ) + datatype <- toupper(datatype) + filter_name <- switch(datatype, + CS = "csFilters", + CL = "clFilters", + CE = "ceFilters", + SL = "slFilters", + VD = "vdFilters", + NULL) + if (is.null(filter_name)) { + stop("Unsupported RDBES datatype: ", datatype) + } - if (!httr::status_code(response) == 200) { - cat("Failed to download:\n") - cat(" Status code :", httr::status_code(response), "\n") - cat(" Http status :", httr::http_status(response)$reason, "\n") - cat(" Detailed message :", httr::content(response, "text"), "\n") - return(FALSE) + payload <- list(dataType = datatype, format = export_format) + + if (!is.null(hierarchy)) { + payload$hierarchies <- rdbesPayloadValues( + normalizeRDBESHierarchy(hierarchy) + ) + } else if (datatype != "CS") { + payload$hierarchies <- rdbesPayloadValues(paste0("H", datatype)) } - params_request <- httr::parse_url(response$url)$query - if (is.null(file_name)) { - file_name <- paste0(params_request$datatype, "_", params_request$country, "_", params_request$year) - if ("cshierarchy" %in% names(params_request)) { - file_name <- paste0(file_name, "_", params_request$cshierarchy) - } + year_field <- switch(datatype, + CS = "deYear", + CL = "clYear", + CE = "ceYear", + SL = "slYear", + VD = "vdYear") + country_field <- switch(datatype, + CS = "sdCountry", + CL = "clVesselFlagCountry", + CE = "ceVesselFlagCountry", + SL = "slCountry", + VD = "vdCountry") + + payload[[filter_name]] <- list() + payload[[filter_name]][[year_field]] <- rdbesPayloadValues(year) + payload[[filter_name]][[country_field]] <- rdbesPayloadValues(country) + + payload +} + +rdbesPayloadValues <- function(values) { + as.list(as.character(values)) +} + +normalizeRDBESHierarchy <- function(hierarchy) { + hierarchy <- as.character(hierarchy) + ifelse(grepl("^H", hierarchy, ignore.case = TRUE), + toupper(hierarchy), + paste0("H", hierarchy)) +} + +normalizeRDBESZipPath <- function(dir, file_name) { + if (!grepl("\\.zip$", file_name, ignore.case = TRUE)) { + file_name <- paste0(file_name, ".zip") } - saving_file <- file.path(dir, paste0(file_name, ".zip")) + file.path(dir, file_name) +} + +moveRDBESDownload <- function(downloaded_file, target_file) { + if (normalizePath(downloaded_file, winslash = "/", mustWork = FALSE) == + normalizePath(target_file, winslash = "/", mustWork = FALSE)) { + return(invisible(target_file)) + } - writeBin(httr::content(response, "raw"), saving_file) + if (file.exists(target_file)) { + unlink(target_file) + } - if (verbose) { - cat("Downloaded:", saving_file, "\n") - cat(" Status code :", httr::status_code(response), "\n") - cat(" Http status :", httr::http_status(response)$reason, "\n") + ok <- file.rename(downloaded_file, target_file) + if (!ok) { + ok <- file.copy(downloaded_file, target_file, overwrite = TRUE) + if (ok) { + unlink(downloaded_file) + } + } + if (!ok) { + stop("Could not move downloaded RDBES zip to ", target_file) } - return(TRUE) + invisible(target_file) } diff --git a/man/downloadRDBESDataZip.Rd b/man/downloadRDBESDataZip.Rd index bbb18e8..b6bf3ac 100644 --- a/man/downloadRDBESDataZip.Rd +++ b/man/downloadRDBESDataZip.Rd @@ -2,47 +2,41 @@ % Please edit documentation in R/downloadRDBESDataZip.R \name{downloadRDBESDataZip} \alias{downloadRDBESDataZip} -\title{Title} +\title{Download RDBES data as a zip file} \usage{ downloadRDBESDataZip( - datatype, - year, - country, + datatype = NULL, + year = NULL, + country = NULL, hierarchy = NULL, - export_format = "TableWithIdsFormat", dir = ".", file_name = NULL, - verbose = TRUE + verbose = TRUE, + payload = NULL ) } \arguments{ -\item{datatype}{one of CS, CL, CE, SL, VD?} +\item{datatype}{One of \code{"CS"}, \code{"CL"}, \code{"CE"}, \code{"SL"}, or \code{"VD"}.} -\item{year}{numeric value for year of data to download (e.g. 2023)} +\item{year}{Numeric value for year of data to download.} -\item{country}{2 letter code for country (e.g. "DK", "FR", "DE", etc.)} +\item{country}{Two-letter country code.} -\item{hierarchy}{numeric value for hierarchy in the range 1-13. -Only required if \code{datatype} is "CS". If \code{datatype} is "CS" and \code{hierarchy} -is not provided, the function will attempt to download the data without -the hierarchy parameter.} +\item{hierarchy}{Optional CS or CL hierarchy, for example \code{"H8"} or \code{8}.} -\item{export_format}{description} +\item{dir}{Directory where the zip file is saved.} -\item{dir}{description} +\item{file_name}{Optional file name to save the downloaded zip file as. The +\code{.zip} suffix is added if omitted.} -\item{file_name}{(Optional) String. The name to save the downloaded zip file -as, without the .zip extension. If not provided, the file name will be -generated based on the request parameters (e.g. "CS_DK_2023_H1.zip").} +\item{verbose}{Passed to \code{icesRDBES::rdbes_download_data()}.} -\item{verbose}{description} +\item{payload}{Optional full RDBES download payload. If supplied, \code{datatype}, +\code{year}, \code{country} and \code{hierarchy} are ignored.} } \value{ -boolean. \code{TRUE} if the download was successful, \code{FALSE} otherwise. +Logical \code{TRUE} if the download completed. } \description{ -need checks on argument format -} -\details{ -it seems that datatype = "CS" require a hierarchy value +Downloads RDBES data through \code{icesRDBES::rdbes_download_data()}. } diff --git a/man/findAndKillOrphans.Rd b/man/findAndKillOrphans.Rd index f92f8fe..8452052 100644 --- a/man/findAndKillOrphans.Rd +++ b/man/findAndKillOrphans.Rd @@ -2,10 +2,7 @@ % Please edit documentation in R/findAndKillOrphans.R \name{findAndKillOrphans} \alias{findAndKillOrphans} -\title{This function finds and removed any orphan records in an -RDBESDataObject. Normally data that has been downloaded from the RDBES -will not contain orphan records - however if the data is subsequently -filtered it is possible to introduce orphan records.} +\title{Find and kill orphans in an RDBESDataObject} \usage{ findAndKillOrphans(objectToCheck, verbose = FALSE, strict = TRUE) } @@ -26,6 +23,8 @@ This function finds and removed any orphan records in an RDBESDataObject. Normally data that has been downloaded from the RDBES will not contain orphan records - however if the data is subsequently filtered it is possible to introduce orphan records. +The direction of the cleanup is effectively downstream. +The function does not remove parent rows because a child disappeared. } \examples{ \dontrun{ diff --git a/tests/testthat/test-downloadRDBESDataZip.R b/tests/testthat/test-downloadRDBESDataZip.R new file mode 100644 index 0000000..4d5af4b --- /dev/null +++ b/tests/testthat/test-downloadRDBESDataZip.R @@ -0,0 +1,129 @@ +capture.output({ + +test_that("buildSimpleRDBESDownloadPayload builds CS payloads", { + payload <- buildSimpleRDBESDownloadPayload( + datatype = "CS", + year = 2025, + country = "EE", + hierarchy = 8, + export_format = "CsvFilePerTable" + ) + + expect_equal(payload$dataType, "CS") + expect_equal(payload$format, "CsvFilePerTable") + expect_equal(payload$hierarchies, list("H8")) + expect_equal(payload$csFilters$deYear, list("2025")) + expect_equal(payload$csFilters$sdCountry, list("EE")) +}) + +test_that("buildSimpleRDBESDownloadPayload builds CL payloads", { + payload <- buildSimpleRDBESDownloadPayload( + datatype = "cl", + year = "2024", + country = "DK", + hierarchy = NULL, + export_format = "CsvFilePerTable" + ) + + expect_equal(payload$dataType, "CL") + expect_equal(payload$hierarchies, list("HCL")) + expect_equal(payload$clFilters$clYear, list("2024")) + expect_equal(payload$clFilters$clVesselFlagCountry, list("DK")) +}) + +test_that("buildSimpleRDBESDownloadPayload validates required inputs", { + expect_error( + buildSimpleRDBESDownloadPayload(NULL, 2025, "EE", NULL, "CsvFilePerTable"), + "Provide datatype, year, and country" + ) + expect_error( + buildSimpleRDBESDownloadPayload("XX", 2025, "EE", NULL, "CsvFilePerTable"), + "Unsupported RDBES datatype" + ) +}) + +test_that("helper functions normalize hierarchy and zip paths", { + expect_equal(normalizeRDBESHierarchy(8), "H8") + expect_equal(normalizeRDBESHierarchy("hcl"), "HCL") + expect_equal(normalizeRDBESZipPath("data", "download"), file.path("data", "download.zip")) + expect_equal(normalizeRDBESZipPath("data", "download.zip"), file.path("data", "download.zip")) +}) + +test_that("moveRDBESDownload moves or renames downloaded files", { + tmp <- tempdir() + source_file <- tempfile(tmpdir = tmp, fileext = ".zip") + target_file <- tempfile(tmpdir = tmp, fileext = ".zip") + writeLines("zip placeholder", source_file) + + moveRDBESDownload(source_file, target_file) + + expect_false(file.exists(source_file)) + expect_true(file.exists(target_file)) + expect_equal(readLines(target_file), "zip placeholder") +}) + +test_that("downloadRDBESDataZip delegates to rdbes_download_data", { + downloaded_file <- tempfile(fileext = ".zip") + calls <- list() + local_mocked_bindings( + rdbes_download_data = function(payload, dest_dir, production, verbose) { + calls[[1]] <<- list( + payload = payload, + dest_dir = dest_dir, + production = production, + verbose = verbose + ) + writeLines("downloaded", downloaded_file) + downloaded_file + } + ) + + target_dir <- tempfile() + result <- downloadRDBESDataZip( + datatype = "CL", + year = 2025, + country = "EE", + dir = target_dir, + file_name = "custom_name", + verbose = FALSE + ) + + expect_true(result) + expect_equal(calls[[1]]$payload$dataType, "CL") + expect_equal(calls[[1]]$payload$format, "CsvFilePerTable") + expect_equal(calls[[1]]$dest_dir, target_dir) + expect_false(calls[[1]]$verbose) + expect_true(file.exists(file.path(target_dir, "custom_name.zip"))) +}) + +test_that("downloadRDBESDataZip accepts a full payload", { + downloaded_file <- tempfile(fileext = ".zip") + custom_payload <- list( + dataType = "CS", + format = "CsvFilePerTable", + hierarchies = list("H8"), + csFilters = list(deYear = list("2025"), sdCountry = list("EE")) + ) + calls <- list() + local_mocked_bindings( + rdbes_download_data = function(payload, dest_dir, production, verbose) { + calls[[1]] <<- payload + writeLines("downloaded", downloaded_file) + downloaded_file + } + ) + + target_dir <- tempfile() + result <- downloadRDBESDataZip( + payload = custom_payload, + dir = target_dir, + file_name = "payload_name", + verbose = FALSE + ) + + expect_true(result) + expect_equal(calls[[1]], custom_payload) + expect_true(file.exists(file.path(target_dir, "payload_name.zip"))) +}) + +}) From f82043d665b3bc9555db43b8802b1def4062a99c Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Fri, 8 May 2026 16:23:50 +0300 Subject: [PATCH 44/87] fixes #259 --- R/addCLtoLowerCS.R | 2 +- tests/testthat/test-addCLtoLowerCS.R | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/R/addCLtoLowerCS.R b/R/addCLtoLowerCS.R index 8d3062e..fad6489 100644 --- a/R/addCLtoLowerCS.R +++ b/R/addCLtoLowerCS.R @@ -47,7 +47,7 @@ addCLtoLowerCS <- function(rdbes, strataListCS, strataListCL, combineStrata =T, # Function to subset data.table based on criteria list subset_dt <- function(dt, criteria) { for (field in names(criteria)) { - dt <- dt[get(field) == criteria[[field]], ] + dt <- dt[get(field) %in% criteria[[field]], ] } return(dt) } diff --git a/tests/testthat/test-addCLtoLowerCS.R b/tests/testthat/test-addCLtoLowerCS.R index f206ecd..52c33c8 100644 --- a/tests/testthat/test-addCLtoLowerCS.R +++ b/tests/testthat/test-addCLtoLowerCS.R @@ -34,6 +34,33 @@ test_that("addCLtoLowerCS adds the correct sumCLoffWeight column with valid inpu expect_equal(result$sumCLoffWeight[1], 396210) }) +test_that("addCLtoLowerCS supports multiple CL values for a stratum", { + strataListCS_multiquarter <- list( + LEarea = "27.3.d.28.1", + LEmetier6 = "OTM_SPF_16-31_0_0", + TEstratumName = month.name[1:6], + SAspeCodeFAO = "SPR" + ) + strataListCL_multiquarter <- list( + CLarea = "27.3.d.28.1", + CLquar = 1:2, + CLmetier6 = "OTM_SPF_16-31_0_0", + CLspecFAO = "SPR" + ) + + result <- expect_warning(addCLtoLowerCS( + mock_rdbes, + strataListCS_multiquarter, + strataListCL_multiquarter, + combineStrata = TRUE, + lowerHierarchy = "C", + CLfields = c("CLoffWeight") + )) + + expect_true(nrow(result) > 0) + expect_equal(unique(result$sumCLoffWeight), 443832) +}) + # Test 4: Check that the function handles unsupported lowerHierarchy correctly test_that("addCLtoLowerCS throws an error if lowerHierarchy is unsupported", { expect_error( From f958ed7b0c1b85d37f00ffbbfa7ca48950ddedef Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Thu, 8 Oct 2026 18:04:00 +0300 Subject: [PATCH 45/87] drafting AI #264 --- README.md | 169 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 130 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 5d46620..496dc03 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ References ---------- * Regional Database & Estimation System: -https://sboxrdbes.ices.dk/ +https://rdbes.ices.dk/ * Working Group on Governance of the Regional Database & Estimation System: https://www.ices.dk/community/groups/Pages/WGRDBESGOV.aspx @@ -97,63 +97,154 @@ install_github("ices-tools-dev/RDBEScore@dev", build = FALSE) ## How to Start developing -A good starting setup is a recent version of R, RStudio, and the packages commonly used for package development. `RDBEScore` currently requires R 4.1 or newer. In practice, most contributors will also want `remotes`, `devtools`, `roxygen2` and `testthat` installed locally. +Contributions and the use of AI coding tools are tolerated, but all code must be tested and checked by humans to maintain the reliability of the package. -Use **camelCase** for new function names so they match the existing package style. A good function for a new contributor to take as an example is [createRDBESDataObject](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/createRDBESDataObject.R) but if you prefer something even more compact [getTablesInRDBESHierarchy](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/getTablesInRDBESHierarchy.R) is another good candidate. +### 1. Getting started -Development work should start from the `dev` branch. Before making changes, pull the latest `dev`, create or claim an issue, and make the changes locally. New package code should be added to the core package directories so that it is available to other contributors and can be built and checked in the normal package workflow. In most cases this means placing function code in `R/`, packaged data in `data/`, data-preparation scripts in `data-raw/`, tests in `tests/`, and user-facing examples or longer documentation in `vignettes/`. The repository also contains `WGRDBES-EST` directory for extra documentation. +Install a recent version of R (4.1 or newer), preferably with RStudio, and the packages `remotes`, `devtools`, `roxygen2` and `testthat`. -When adding a new function, **aim to commit a complete unit of work rather than an unfinished fragment**. A typical contribution includes the function itself, roxygen2 documentation, any supporting example data, and tests for the new behaviour. If a change affects user workflows, add or update a vignette example when possible. This is more helpful to new users than adding code alone, and it makes review easier for maintainers. +Use **camelCase** for new function names to match the existing package style. Two useful examples are [createRDBESDataObject](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/createRDBESDataObject.R) and the simpler [getTablesInRDBESHierarchy](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/getTablesInRDBESHierarchy.R). -Before pushing changes, run local checks. At a minimum, regenerate documentation if needed, run tests, and **run a package check**. A common local workflow is: +The main package directories are: + +- `R/` — R functions +- `tests/testthat/` — function tests +- `data/` — packaged datasets +- `data-raw/` — scripts preparing package data +- `vignettes/` — examples and user guides +- `WGRDBES-EST/` — additional documentation + +### 2. Development workflow + +1. **Create or claim a GitHub issue.** Describe what needs to be added or changed, including the expected behaviour. Assign yourself to the issue so others know you are working on it. + +2. **Start from the latest `dev` branch.** Work directly on `dev` or create your own development branch based on it. The `main` branch is protected and only accepts changes through pull requests. + +3. **Write or modify the code and tests.** You can do this manually or with AI coding tools. New functions should include roxygen2 documentation and appropriate tests. Add or update examples and vignettes when relevant. Aim to keep changes related to one issue together. + +4. **Document AI involvement and human approvals.** Add the information described in Section 3 to every new or substantially modified function and test(s). + +5. **Check the complete package** before integrating changes into `dev`. Regenerate documentation, run the tests and check the package: + + ```r + devtools::document() + devtools::test() + devtools::check() + ``` + + Fix any problems introduced by your changes before submitting them. + +6. **Commit your changes**, including the issue number in the commit message, for example: `Improve data validation #123` GitHub automatically links the commit to the issue, preserving the development history. Keep unrelated changes in separate commits whenever possible. + +7. **Request additional review if needed.** Ask another contributor in the issue discussion or add the `human review required` label. Once the changes are ready, they can be incorporated into `dev`. Only changes considered ready for release should be transferred to `main`. + +### 3. AI-assisted development and human review + +Starting with version 0.3.5, contributors are allowed to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. + +Every **new or substantially modified** function and test must document **AI involvement** and **human approvals**. + +**Function documentation** + +Include a `Development review` section in the function's roxygen2 documentation so that the information appears in the installed package's R help pages (`?functionName`). + +```r +#' @section Development review: +#' - AI-assisted: Yes +#' - Human approvals: 1 (Jane Smith) +#' - Notes/scope: Tested with hierarchy H5 using +#' 2025 RDBES data (downloaded 2026-10-14). +``` + +**Test documentation** + +Add the same information as comments immediately before **each `test_that()` block**, rather than only at the beginning of the test file. Different tests may have different authors, reviewers or levels of verification. + +```r +# AI-assisted: Yes +# Human approvals: 1 (Jane Smith) +# Notes/scope: Expected results checked manually. +test_that("function returns correct values", { + expect_equal(myFunction(2), 4) +}) + +# AI-assisted: No +# Human approvals: 2 (Jane Smith, John Brown) +test_that("function handles missing values", { + expect_true(is.na(myFunction(NA))) +}) +``` + +**Meaning of the fields** + +- **AI-assisted:** `Yes` if AI tools were used to generate or substantially modify the current code or test, otherwise `No`. Routine autocomplete or minor wording corrections do not need to be reported. +- **Human approvals:** Number and full names of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. +- **Notes/scope (optional):** Briefly describe what has been verified, for example specific RDBES sampling hierarchies, datasets, reference calculations, or known limitations. Include data versions or dates when relevant. + +**Updating approvals** + +When another person reviews the code or test and approves it without changes, add their name: ```r -devtools::document() -devtools::test() -#optionally do a full check as well -devtools::check() +# Human approvals: 2 (Jane Smith, John Brown) ``` -## On `data.table` usage +If a reviewer substantially modifies the code, previous approvals are no longer assumed to apply. The person making the changes checks the modified version and updates the approval record: + +```r +# Human approvals: 1 (John Brown) +``` + +Approvals for functions and tests are maintained separately. A change to one does not automatically invalidate approval of the other, unless its correctness is affected. + +**Testing and scientific reliability** + +All new or modified functionality should have appropriate tests. Expected test results must be independently established or checked by a human, rather than relying solely on AI-generated expectations. Where possible, statistical estimation functions should be tested against manually calculated results, published examples or independently verified reference implementations. + +Additional independent human review is particularly encouraged for statistical estimation functions and scientifically important data transformations. The number of human approvals indicates the extent of documented human review, but does not by itself guarantee scientific correctness. The optional `Notes/scope` field can clarify what has actually been verified. + +Existing functions and tests do not need to be retrospectively classified unless they are substantially modified. + +### 4. Releasing reviewed changes to `main` + +The `dev` branch may contain functions that are still being developed, tested or reviewed. **Only changes considered ready for release should be transferred to `main`.** + +When preparing a release: + +1. Identify the functions and changes that are ready, considering their tests, human approvals and any review notes. +2. If only some changes from `dev` are ready, create a release branch from `main` and selectively transfer the required commits using Git cherry-pick. Include any dependent changes, tests and documentation. +3. Run `devtools::document()`, `devtools::test()` and `devtools::check()` on the complete release candidate. +4. Submit a pull request to `main` for final review and merging. + +Changes that are not yet sufficiently reviewed remain in `dev`. The complete `dev` branch should only be merged into `main` when all included changes are ready for release. + +Keeping commits focused on individual issues or functions makes selective releases easier. + +### 5. On `data.table` usage + +Objects of type `data.table` passed as parameters should be copied before modification to avoid unintentionally changing the original object by reference. + +For example: -Objects of type `data.table` passed as parameters should be copied before modification. As an example: ```r -function zeroIds(sl) { +zeroIds <- function(sl) { sl <- data.table::copy(sl) - sl[,SLid:=0] + sl[, SLid := 0] sl } ``` -Now invocations of this function on SL tables will not alter the original copy. -## Precommit-hook framework +This ensures that calling `zeroIds()` does not modify the original input table. -For adhering to package styling guides it is advisable to use precommit checks while developing. -In order to run lintr and styler (etc) before committing code, follow the instructions at the following address: https://github.com/lorenzwalthert/precommit#installation +### 6. Building binary packages (optional) -1. Check that python3 is installed and install if necessary -2. Run pip install - ```bash - pip3 install pre-commit --user - ``` -3. Install R precommit package - ```r - install.packages("precommit") - ``` -4. Run at the root of the git repository. - ```r - library(precommit) - precommit::use_precommit() - ``` -5. Running git commit should run the various checks automatically. See [the config file](.pre-commit-config.yaml) for all the checks. +Binary packages can be built in RStudio using **Build → More → Build Binary Package**. -## Building binary packages +Alternatively, use the command line: -Building binary packages can be achieved by running the following commands. ```bash -Rscript.exe -e "roxygen2::roxygenize('.', roclets = c('rd', 'collate', 'namespace'))" -Rcmd.exe INSTALL --build --preclean . +Rscript -e "roxygen2::roxygenize('.', roclets = c('rd', 'collate', 'namespace'))" +R CMD INSTALL --build . ``` -Note to replace `.` with the relative path of the project if necessary. Also on some operating systems, `Rcmd.exe` is called `Rcmd` and `Rscript.exe` is `Rcmd` respectively. -In R-studio there is also a button on the `build` - tab: `More -> Build Binary Package` that builds the binary package. +Commands and executable names may vary slightly between operating systems. Building binary packages is not required for normal development. From 47a1a2dbcd0d6fcf94b69d032c52c8a757cad27e Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Fri, 9 Oct 2026 12:22:04 +0300 Subject: [PATCH 46/87] Agree on common schedule Updated terminology and added sections about plenary #264 --- README.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 496dc03..de711c6 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ The main package directories are: 3. **Write or modify the code and tests.** You can do this manually or with AI coding tools. New functions should include roxygen2 documentation and appropriate tests. Add or update examples and vignettes when relevant. Aim to keep changes related to one issue together. -4. **Document AI involvement and human approvals.** Add the information described in Section 3 to every new or substantially modified function and test(s). +4. **Document AI involvement and human review.** Add the information described in Section 3 to every new or substantially modified function and test(s). 5. **Check the complete package** before integrating changes into `dev`. Regenerate documentation, run the tests and check the package: @@ -142,7 +142,7 @@ The main package directories are: Starting with version 0.3.5, contributors are allowed to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. -Every **new or substantially modified** function and test must document **AI involvement** and **human approvals**. +Every **new or substantially modified** function and test must document **AI involvement** and **human review**. **Function documentation** @@ -151,7 +151,7 @@ Include a `Development review` section in the function's roxygen2 documentation ```r #' @section Development review: #' - AI-assisted: Yes -#' - Human approvals: 1 (Jane Smith) +#' - Human review: janesmith #' - Notes/scope: Tested with hierarchy H5 using #' 2025 RDBES data (downloaded 2026-10-14). ``` @@ -162,14 +162,14 @@ Add the same information as comments immediately before **each `test_that()` blo ```r # AI-assisted: Yes -# Human approvals: 1 (Jane Smith) +# Human review: janesmith # Notes/scope: Expected results checked manually. test_that("function returns correct values", { expect_equal(myFunction(2), 4) }) # AI-assisted: No -# Human approvals: 2 (Jane Smith, John Brown) +# Human review: janesmith, johnbrown test_that("function handles missing values", { expect_true(is.na(myFunction(NA))) }) @@ -178,30 +178,30 @@ test_that("function handles missing values", { **Meaning of the fields** - **AI-assisted:** `Yes` if AI tools were used to generate or substantially modify the current code or test, otherwise `No`. Routine autocomplete or minor wording corrections do not need to be reported. -- **Human approvals:** Number and full names of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. +- **Human review:** Github usernames of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. - **Notes/scope (optional):** Briefly describe what has been verified, for example specific RDBES sampling hierarchies, datasets, reference calculations, or known limitations. Include data versions or dates when relevant. -**Updating approvals** +**Updating review** -When another person reviews the code or test and approves it without changes, add their name: +When another person reviews the code or test and approves it without changes, add their username: ```r -# Human approvals: 2 (Jane Smith, John Brown) +# Human review: janesmith, johnbrown ``` -If a reviewer substantially modifies the code, previous approvals are no longer assumed to apply. The person making the changes checks the modified version and updates the approval record: +If a reviewer substantially modifies the code, previous review are no longer assumed to apply. The person making the changes checks the modified version and updates the approval record: ```r -# Human approvals: 1 (John Brown) +# Human review: johnbrown ``` -Approvals for functions and tests are maintained separately. A change to one does not automatically invalidate approval of the other, unless its correctness is affected. +review for functions and tests are maintained separately. A change to one does not automatically invalidate approval of the other, unless its correctness is affected. **Testing and scientific reliability** All new or modified functionality should have appropriate tests. Expected test results must be independently established or checked by a human, rather than relying solely on AI-generated expectations. Where possible, statistical estimation functions should be tested against manually calculated results, published examples or independently verified reference implementations. -Additional independent human review is particularly encouraged for statistical estimation functions and scientifically important data transformations. The number of human approvals indicates the extent of documented human review, but does not by itself guarantee scientific correctness. The optional `Notes/scope` field can clarify what has actually been verified. +Additional independent human review is particularly encouraged for statistical estimation functions and scientifically important data transformations. The number of human review indicates the extent of documented human review, but does not by itself guarantee scientific correctness. The optional `Notes/scope` field can clarify what has actually been verified. Existing functions and tests do not need to be retrospectively classified unless they are substantially modified. @@ -209,13 +209,16 @@ Existing functions and tests do not need to be retrospectively classified unless The `dev` branch may contain functions that are still being developed, tested or reviewed. **Only changes considered ready for release should be transferred to `main`.** -When preparing a release: +We aim at 2 releases a year (autumn and spring) and an online meeting will be scheduled to a approve the pull request to the main -1. Identify the functions and changes that are ready, considering their tests, human approvals and any review notes. +When preparing a release a subset of the package contributors will: + +1. Identify the functions and changes that are ready, considering their tests, human review and any review notes. 2. If only some changes from `dev` are ready, create a release branch from `main` and selectively transfer the required commits using Git cherry-pick. Include any dependent changes, tests and documentation. 3. Run `devtools::document()`, `devtools::test()` and `devtools::check()` on the complete release candidate. 4. Submit a pull request to `main` for final review and merging. + Changes that are not yet sufficiently reviewed remain in `dev`. The complete `dev` branch should only be merged into `main` when all included changes are ready for release. Keeping commits focused on individual issues or functions makes selective releases easier. From 47474bef48bfd6f349c11c07f23b9a61a7d6c124 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Fri, 9 Oct 2026 15:35:59 +0300 Subject: [PATCH 47/87] replacing all dplyr code to remove the dependency #265 --- DESCRIPTION | 3 +- NEWS.md | 5 + R/createRDBESEstObject.R | 45 ++--- R/data.R | 4 +- R/filterRDBESEstObject.R | 12 +- R/findOrphansByTable.R | 13 +- R/generateMissingSSRows.R | 17 +- R/generateZerosUsingSL.R | 12 +- R/joinDT.R | 77 ++++++++ R/removeBrokenSpeciesListLinks.R | 18 +- R/removeBrokenVesselLinks.R | 8 +- R/updateSAwithTaxonFromSL.R | 20 +- R/utils.R | 116 ++++++------ R/validateRDBESDataObjectDataTypes.R | 7 +- man/H7Example.Rd | 4 +- man/H8ExampleEE1.Rd | 4 +- man/createRDBESEstObject.Rd | 8 + man/extractHigherFields.Rd | 46 +++++ man/filterRDBESEstObject.Rd | 8 + man/findOrphansByTable.Rd | 8 + man/generateMissingSSRows.Rd | 8 + man/generateZerosUsingSL.Rd | 8 + man/joinDT.Rd | 60 ++++++ man/makeDT.Rd | 20 ++ man/removeBrokenSpeciesListLinks.Rd | 8 + man/removeBrokenVesselLinks.Rd | 8 + man/updateSAwithTaxonFromSL.Rd | 8 + man/validateRDBESDataObjectDataTypes.Rd | 8 + tests/testthat/test-joinDT.R | 195 ++++++++++++++++++++ tests/testthat/test-utils.R | 33 ++++ vignettes/v02a-generating-probabilities.Rmd | 10 +- 31 files changed, 671 insertions(+), 130 deletions(-) create mode 100644 R/joinDT.R create mode 100644 man/extractHigherFields.Rd create mode 100644 man/joinDT.Rd create mode 100644 man/makeDT.Rd create mode 100644 tests/testthat/test-joinDT.R diff --git a/DESCRIPTION b/DESCRIPTION index aaaa596..bfc2b7f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: RDBEScore Type: Package Title: Functions for the ICES Regional Database and Estimation System (RDBES) -Version: 0.3.5 +Version: 0.4.0 Author: c( person(given = "David", family = "Currie", @@ -120,7 +120,6 @@ Suggests: Depends: R (>= 4.1) Imports: - dplyr (>= 1.1.3), data.table, icesRDBES VignetteBuilder: knitr diff --git a/NEWS.md b/NEWS.md index fe60ad8..fd73038 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,8 @@ +# RDBEScore 0.4.0 + +- Dependencies: removed `dplyr` from Imports. Joins now use the internal `data.table` helper `joinDT()`, which keeps dplyr's row order, column order and `.x`/`.y` suffixes, so results are unchanged; `filterRDBESEstObject()` and the vignette use base R/`data.table` instead of dplyr. +- Bug fix: addressed [#259](https://github.com/ices-tools-dev/RDBEScore/issues/259) selecting multiple strata with `addCLtoLowerCS()` + # RDBEScore 0.3.5 - Bug fix: addressed [#251](https://github.com/ices-tools-dev/RDBEScore/issues/251). diff --git a/R/createRDBESEstObject.R b/R/createRDBESEstObject.R index 4bdd759..700f7d8 100644 --- a/R/createRDBESEstObject.R +++ b/R/createRDBESEstObject.R @@ -18,6 +18,11 @@ #' #' @return An object of class RDBESEstObject ready for use in design based #' estimation +#' +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 +#' #' @export #' #' @examples @@ -212,7 +217,7 @@ createRDBESEstObject <- function(rdbesPrepObject, # (much faster than the recursive "getSubSampleLevel()" function it was using before) lookupDT <- prepareSubSampleLevelLookup(SAdata) # Apply it - subSampleLevels <- dplyr::left_join(SAdata, lookupDT, by = "SAid") + subSampleLevels <- joinDT(SAdata, lookupDT, by = "SAid") subSampleLevels <- subSampleLevels[,c("SAid","topLevelSAid","subSampleLevel")] rdbesPrepObjectCopy[["SA"]][, "SAtopLevelSAid"] <- @@ -330,11 +335,9 @@ createRDBESEstObject <- function(rdbesPrepObject, # Use a left join on the deepest level of sampling so that we # get all the upper hierarchy rows if (j == numberOfSampleLevels) { - tempRDBESEstObj <- dplyr::left_join(tempUpper, + tempRDBESEstObj <- joinDT(tempUpper, tempLower, - by = saJoinField, - multiple = "all" - + by = saJoinField ) } else { @@ -366,10 +369,10 @@ createRDBESEstObject <- function(rdbesPrepObject, # Use an inner join on the # currnt SA level so that we just get the matching rows - tempRDBESEstObj <- dplyr::inner_join(tempUpper, + tempRDBESEstObj <- joinDT(tempUpper, tempLower, by = saJoinField, - multiple = "all" + type = "inner" ) } if (verbose) { @@ -482,10 +485,9 @@ gc() gc() # if we have both FM and BV data - join them together fMBV <- - dplyr::left_join(rdbesPrepObject[["FM"]], + joinDT(rdbesPrepObject[["FM"]], rdbesPrepObject[["BV"]], - by = "FMid", - multiple = "all" + by = "FMid" ) gc() # sort out the wrong SAid column name after the join @@ -522,10 +524,10 @@ gc() } else { gc() # if we have both FM and BV data - join them together - bVFM <- dplyr::right_join(rdbesPrepObject[["FM"]], + bVFM <- joinDT(rdbesPrepObject[["FM"]], rdbesPrepObject[["BV"]], by = "FMid", - multiple = "all" + type = "right" ) # sort out the wrong SAid column name after the join names(bVFM)[names(bVFM) == "SAid.y"] <- "SAid" @@ -547,16 +549,16 @@ gc() # If we have data join our lowerX with the fmBV or BVFm data if (!is.null(nrow(fMBV))){ - lowerA <- dplyr::left_join(lowerA, fMBV, by = "SAid", multiple = "all") - lowerB <- dplyr::left_join(lowerB, fMBV, by = "SAid", multiple = "all") - #lowerD <- dplyr::left_join(lowerD, fMBV, by = "SAid") + lowerA <- joinDT(lowerA, fMBV, by = "SAid") + lowerB <- joinDT(lowerB, fMBV, by = "SAid") + #lowerD <- joinDT(lowerD, fMBV, by = "SAid") lowerD <- NULL allLower <- rbind(allLower,lowerA, lowerB, lowerD) } if (!is.null(nrow(bVFM))){ # Note the difference in lowerC - lowerC <- dplyr::left_join(lowerC, bVFM, by = "SAid", multiple = "all") + lowerC <- joinDT(lowerC, bVFM, by = "SAid") allLower <- rbind(allLower,lowerC) } @@ -668,19 +670,12 @@ gc() } gc() # Join this new table to the existing data + # (joinDT keeps the columns and rows in the order of myRDBESEstObj) myRDBESEstObj <- - dplyr::left_join(myRDBESEstObj, + joinDT(myRDBESEstObj, rdbesPrepObject[[thisTable]], by = joinField - , multiple = "all" ) - # TODO Should be able to use data.table to do a left join instead of dplyr - # but the two lines below were both wrong. The first gives the columns back in the - # wrong order. The second gives the columns in the right order but doesn't - # include all the rows :-( - #myRDBESEstObj <- rdbesPrepObject[[thisTable]][myRDBESEstObj, on = joinField] - # (the order of the tables is to ensure the columns are returned in the right order) - #myRDBESEstObj <- myRDBESEstObj[rdbesPrepObject[[thisTable]], on = joinField] } gc() # recursively call this function diff --git a/R/data.R b/R/data.R index cf8db88..f2dd08a 100644 --- a/R/data.R +++ b/R/data.R @@ -156,7 +156,7 @@ #' \item{IS}{the Individual Species table} #' } -#' #' @source Richard Meitern @ Estonian Marine Institute, 2025 +#' @source Richard Meitern @ Estonian Marine Institute, 2025 "H7Example" #' A dataset containing test RDBES data for H8 in the RDBESDataObject structure @@ -182,7 +182,7 @@ #' \item{CL}{the Commertial Landing data table} #' \item{CE}{the Commertial Effort data table} #' } -#' #' @source Richard Meitern @ Estonian Marine Institute, 2025 +#' @source Richard Meitern @ Estonian Marine Institute, 2025 "H8ExampleEE1" #' A dataset containing test RDBES data for H5 in the RDBESDataObject structure diff --git a/R/filterRDBESEstObject.R b/R/filterRDBESEstObject.R index ba71e4a..76b1df4 100644 --- a/R/filterRDBESEstObject.R +++ b/R/filterRDBESEstObject.R @@ -13,6 +13,9 @@ #' @return the filtered input object of the same class as #' `RDBESEstObjectToFilter` #' +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' @export #' @md #' @@ -46,10 +49,11 @@ filterRDBESEstObject <- function(RDBESEstObjectToFilter, foundNames <- fieldsToFilter[fieldsToFilter %in% allColNames] if (length(foundNames) > 0) { - RDBESEstObjectToFilter <- - dplyr::filter(RDBESEstObjectToFilter, - dplyr::if_all(all_of(foundNames), ~ .x %in% valuesToFilter) - ) + # Keep the rows where all of the found fields have an allowed value + rowsToKeep <- Reduce(`&`, lapply(foundNames, function(fieldName) { + RDBESEstObjectToFilter[[fieldName]] %in% valuesToFilter + })) + RDBESEstObjectToFilter <- RDBESEstObjectToFilter[rowsToKeep, ] } return(RDBESEstObjectToFilter) diff --git a/R/findOrphansByTable.R b/R/findOrphansByTable.R index 1f4f77b..7c2a78d 100644 --- a/R/findOrphansByTable.R +++ b/R/findOrphansByTable.R @@ -10,6 +10,9 @@ #' @return A data frame with the primary keys of the table checked, the two #' letter table identifier, and their orphan status. #' +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 findOrphansByTable <- function(tableToCheck, objectToCheck, foreignKeyIds, @@ -45,14 +48,16 @@ findOrphansByTable <- function(tableToCheck, if (!is.null(objectToCheck[[fkTable]])) { if (myFK == "SAparSequNum") { # Need to handle SAparSequNum differently - joinedTables <- dplyr::inner_join(myTable, + joinedTables <- joinDT(myTable, objectToCheck[[fkTable]], - by = c("SAseqNum" = "SAparSequNum") + by = c("SAseqNum" = "SAparSequNum"), + type = "inner" ) } else { - joinedTables <- dplyr::inner_join(myTable, + joinedTables <- joinDT(myTable, objectToCheck[[fkTable]], - by = myFK + by = myFK, + type = "inner" ) } diff --git a/R/generateMissingSSRows.R b/R/generateMissingSSRows.R index 13ac2bb..f107c51 100644 --- a/R/generateMissingSSRows.R +++ b/R/generateMissingSSRows.R @@ -13,6 +13,10 @@ #' the validation be strict? The default is TRUE. #' #' @return A data table of SS data with any missing rows added +#' +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' @export #' #' @examples @@ -76,11 +80,12 @@ generateMissingSSRows <- function(RDBESDataObject, # Get the unique combinations of SL country, year, and list names mySLUnique <- unique(mySL[,c("SLcou","SLyear","SLspeclistName")]) - mySSSLUnique <- dplyr::inner_join(mySSUnique, - mySLUnique, - by = c("SSyear" = "SLyear", - "SSctry" = "SLcou", - "SSspecListName" = "SLspeclistName")) + mySSSLUnique <- joinDT(mySSUnique, + mySLUnique, + by = c("SSyear" = "SLyear", + "SSctry" = "SLcou", + "SSspecListName" = "SLspeclistName"), + type = "inner") if (nrow(mySSSLUnique) < 1){ stop(paste0("The requested species list is not compatible with the ", @@ -252,7 +257,7 @@ getMissingSSCatchFraction <- function(FOdata, SSdata, catchFra, verbose) { myFOFraction[myFOFraction$FOcatReg == catchFra, "FOcatReg"] <- "Catch" } - myFOSS <- dplyr::left_join( + myFOSS <- joinDT( myFOFraction, SSdata, by = c( diff --git a/R/generateZerosUsingSL.R b/R/generateZerosUsingSL.R index 9c50221..19d2c57 100644 --- a/R/generateZerosUsingSL.R +++ b/R/generateZerosUsingSL.R @@ -11,10 +11,10 @@ #' #' @return RDBES data frame where SA was complemented with species looked for #' (sensu in sampling objectives) but not registered in sample +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' @export -#' - - generateZerosUsingSL <- function(x, verbose = FALSE, strict = TRUE) { @@ -99,9 +99,9 @@ generateZerosUsingSL <- function(x, sppFromSL$SLrowNum <- seq.int(nrow(sppFromSL)) # See which species/fraction need adding - sppToAdd <- dplyr::left_join(sppFromSL, SApresent, - by=c("SLcatchFrac" = "SAcatchCat", - "IScommTaxon" = "SAspeCode")) + sppToAdd <- joinDT(sppFromSL, SApresent, + by=c("SLcatchFrac" = "SAcatchCat", + "IScommTaxon" = "SAspeCode")) sppToAdd <- sppToAdd[is.na(sppToAdd$SArowNum),] sppToAdd <- sppToAdd[,c("SLcatchFrac","IScommTaxon")] sppToAdd <- unique(sppToAdd) diff --git a/R/joinDT.R b/R/joinDT.R new file mode 100644 index 0000000..4338c3a --- /dev/null +++ b/R/joinDT.R @@ -0,0 +1,77 @@ +#' Join two tables using data.table +#' +#' Internal replacement for `dplyr::left_join()`, `dplyr::inner_join()` and +#' `dplyr::right_join()`, built on `data.table::merge()` with `sort = FALSE`. +#' The output follows dplyr's conventions: +#' * rows are returned in the order of `x`, each `x` row followed by all its +#' matching `y` rows in the order they appear in `y`. A right join appends +#' the unmatched `y` rows at the end; +#' * columns are the columns of `x` followed by the non-key columns of `y`; +#' * non-key columns found in both tables get `suffix` added to their names; +#' * `NA` key values match each other and many-to-many matches return all +#' combinations; +#' * an integer key joined to a double key gives a double key. +#' +#' Differences from dplyr: if a suffixed name is already taken, `joinDT()` +#' gives an error (dplyr adds the suffix again). Other combinations of key +#' types follow data.table's join rules (e.g. a factor or logical key keeps the +#' type and levels of `x`, and joining factor or logical keys to other types +#' can give an error). +#' +#' The input tables are not modified. +#' +#' @param x,y data.frames or data.tables to join. +#' @param by Character vector of key column names. Use a named vector, e.g. +#' `c("SSyear" = "SLyear")`, when the key columns have different names in +#' `x` (names) and `y` (values). Only the `x` key columns are kept. +#' @param type The type of join: `"left"` keeps all rows of `x`, `"inner"` +#' keeps only matching rows and `"right"` keeps all rows of `y`. +#' @param suffix Character vector of length 2 added to the names of non-key +#' columns found in both `x` and `y`. Use `""` to keep the names of one +#' table unchanged. +#' +#' @return A data.table if `x` is a data.table, otherwise a data.frame. +#' +#' @section Development review: +#' - AI-assisted: Yes +#' - Human review: rix133 +#' - Notes/scope: Written to remove the dplyr dependency. Tested on +#' every join made by the package test suite (~12k joins currently). +#' +#' @keywords internal +joinDT <- function(x, y, by, type = c("left", "inner", "right"), + suffix = c(".x", ".y")) { + type <- match.arg(type) + yBy <- unname(by) + xBy <- if (is.null(names(by))) yBy else ifelse(names(by) == "", yBy, names(by)) + + # convert first: merge() on a data.frame would dispatch to base R's merge(). + # A merge() warning (e.g. duplicated column names) is turned into an error + out <- withCallingHandlers( + merge(data.table::as.data.table(x), data.table::as.data.table(y), + by.x = xBy, by.y = yBy, + all.x = type == "left", all.y = type == "right", + sort = FALSE, suffixes = suffix, allow.cartesian = TRUE), + warning = function(w) stop(conditionMessage(w), call. = FALSE)) + + # merge() returns the keys, the other x columns and the other y columns; + # restore the column order of x + xNames <- names(x) + isKey <- xNames %in% xBy + xNames[!isKey] <- names(out)[length(xBy) + seq_len(sum(!isKey))] + data.table::setcolorder(out, xNames) + + # like dplyr, use a double key if the key is double in either table + # (merge() can turn a double x key into integer when matching integer y) + # this is needed because of Large ids. as.integer.or.dbl() stores an integer + # id column as double if any value is above 2e9 (R's 32-bit integer limit) + # It decides per column, so the same id can be integer in one table and double in another. + for (k in seq_along(xBy)) { + if (is.integer(out[[xBy[k]]]) && + (is.double(x[[xBy[k]]]) || is.double(y[[yBy[k]]]))) { + data.table::set(out, j = xBy[k], value = as.double(out[[xBy[k]]])) + } + } + if (!data.table::is.data.table(x)) data.table::setDF(out) + out +} diff --git a/R/removeBrokenSpeciesListLinks.R b/R/removeBrokenSpeciesListLinks.R index 31a7039..8f9c9bc 100644 --- a/R/removeBrokenSpeciesListLinks.R +++ b/R/removeBrokenSpeciesListLinks.R @@ -10,6 +10,9 @@ #' #' @return an RDBESDataObject with any records with an invalid SpeciesListName #' rows removed +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' @export #' #' @examples @@ -86,14 +89,13 @@ myTable$SSctry <- extractHigherFields(objectToCheck, "SS", "SDctry") # Inner join to the SL table - joinedTables <- dplyr::inner_join(myTable, - objectToCheck[["SL"]], - by = c("SSspecListName" = "SLspeclistName", - "SScatchFra" = "SLcatchFrac", - "SSyear" = "SLyear", - "SSctry" = "SLcou"), - multiple = "all", - relationship="many-to-many" + joinedTables <- joinDT(myTable, + objectToCheck[["SL"]], + by = c("SSspecListName" = "SLspeclistName", + "SScatchFra" = "SLcatchFrac", + "SSyear" = "SLyear", + "SSctry" = "SLcou"), + type = "inner" ) diff --git a/R/removeBrokenVesselLinks.R b/R/removeBrokenVesselLinks.R index 3f09bfd..541b10d 100644 --- a/R/removeBrokenVesselLinks.R +++ b/R/removeBrokenVesselLinks.R @@ -8,6 +8,9 @@ #' the validation be strict? The default is TRUE. #' #' @return an RDBESDataObject with any records with an invalid VDid removed +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' @export #' #' @examples @@ -82,9 +85,10 @@ removeBrokenVesselLinks <- function(objectToCheck, myOrphanResults[, "vdExists"] <- FALSE # Inner join to the VD table - joinedTables <- dplyr::inner_join(myTable, + joinedTables <- joinDT(myTable, objectToCheck[["VD"]], - by = "VDid" + by = "VDid", + type = "inner" ) # Update the results for any matches we found diff --git a/R/updateSAwithTaxonFromSL.R b/R/updateSAwithTaxonFromSL.R index 076fa3c..dc17cba 100644 --- a/R/updateSAwithTaxonFromSL.R +++ b/R/updateSAwithTaxonFromSL.R @@ -24,7 +24,9 @@ #' occuring in SL for level of species rank. If in SA is #' Sprat(126425), in SL Clupeidae (125464) function renameSpeciesSA rename Sprat #' from SA to Clupeidae. Clupeidae(family rank) is higher rank than Sprat(species rank). -#' +#'@section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' @export #' #' @examples @@ -56,26 +58,26 @@ updateSAwithTaxonFromSL <- function(RDBESDataObject, # 1st # Append ahpia records to SA data - H1_SA_new <- dplyr::left_join(H1_SA, + H1_SA_new <- joinDT(H1_SA, aphiaRecords, by = c("SAspeCode" = "AphiaID") ) # Append ahpia records to IS data #H1_SL$SLsppCode <- as.character(H1_SL$SLsppCode) - #H1_SL_new <- dplyr::left_join(H1_SL, + #H1_SL_new <- joinDT(H1_SL, # aphiaRecords, # by = c("SLsppCode" = "AphiaID") #) H1_IS$ISsppCode <- as.character(H1_IS$ISsppCode) - H1_IS_new <- dplyr::left_join(H1_IS, - aphiaRecords, - by = c("ISsppCode" = "AphiaID") + H1_IS_new <- joinDT(H1_IS, + aphiaRecords, + by = c("ISsppCode" = "AphiaID") ) # Combine SL with IS - H1_SL_new <- dplyr::left_join(H1_SL, - H1_IS_new, - by = "SLid") + H1_SL_new <- joinDT(H1_SL, + H1_IS_new, + by = "SLid") # SS only information about SLspecieslistName diff --git a/R/utils.R b/R/utils.R index 0e98255..3417794 100644 --- a/R/utils.R +++ b/R/utils.R @@ -10,7 +10,7 @@ usedVars <- c("mapColNamesFieldR", "..varsNeeded", "|>", "parentTableID", "est.total", "recType", "parentTableStratum", "stratumName", "parentIDandStratum", "studyVariable", "..myColNames", - "..methColNames", "tblName", "all_of", "SLid","SAid", + "..methColNames", "tblName", "SLid","SAid", "..myLevel","parentTable",".", "id", "i.id" ) moreUsedVars <- c("..clustFields", "DEyear", "SAcatchCat", @@ -142,66 +142,76 @@ convert.col.names <- function(table, new.names = "R.name"){ return(nms.new) } -# Convert all elements of a list of data.frames into data.tables -# Leaves existing NULL elements as NULL +#' makeDT +#' +#' Converts one element of a list of data.frames into a data.table, leaving +#' `NULL` elements as `NULL`. Used for each RDBES table in +#' `importRDBESDataDFS()`. +#' +#' @param x A data.frame, or `NULL`. +#' +#' @return A data.table, or `NULL` if `x` is `NULL`. +#' @keywords internal makeDT <- function(x){ if(is.null(x)) return(NULL) data.table::as.data.table(x) } -# Gets data from higher in the hierarchy for the given input `table`. Only SS -# explicitly supported for now, but could update in the future to support any -# table (in theory). -# -# `object` = an RDBESDataObject -# -# `table` = The table from which to start and go up the hierarchy (e.g. `"SS"`) -# -# `field` = The data (column name) to extract from any other table higher in the -# hierarchy, e.g. `"DEyear"` or `"SDctry"`. -# -# At present will not work with data which contains more than one hierarchy. -# Also bypasses any optional tables (e.g. FT in H5). -# e.g. extractHigherFields(myRDBESObject, "SS", "DEyear") - +#' extractHigherFields +#' +#' Gets data from higher in the hierarchy for the given input `table`. Only SS +#' explicitly supported for now, but could update in the future to support any +#' table (in theory). +#' +#' At present will not work with data which contains more than one hierarchy. +#' Also bypasses any optional tables (e.g. FT in H5). +#' +#' @param object An RDBESDataObject. +#' @param table The table from which to start and go up the hierarchy +#' (e.g. `"SS"`). +#' @param field The data (column name) to extract from any other table higher +#' in the hierarchy, e.g. `"DEyear"` or `"SDctry"`. +#' +#' @return One value per row of `table`, in the same order. Rows that are not +#' linked to the table holding `field` get `NA` (e.g. orphans left by +#' filtering DE before `findAndKillOrphans()` runs in +#' `filterAndTidyRDBESDataObject()`). +#' +#' @section Development review: +#' - AI-assisted: Yes +#' - Human review: rix133 +#' +#' @examples +#' \dontrun{ +#' RDBEScore:::extractHigherFields(H1Example, "SS", "DEyear") +#' } +#' @keywords internal extractHigherFields <- function(object, table, field){ # Check for a single hierarchy - if(length(unique(object$DE$DEhierarchy)) == 1) - hierarchy <- paste0("H", unique(object$DE$DEhierarchy)) else - stop("Multiple Upper Hierarchies found.") - - # object hierarchy - h <- paste0("H", unique(object$DE$DEhierarchy)) - - # get path from DE to input table - h.all <- tablesInRDBESHierarchies |> - dplyr::filter(h == hierarchy) |> - dplyr::arrange(sortOrder) |> - dplyr::filter(FALSE == optional) |> - dplyr::filter(FALSE == lowerHierarchy) - path.to.table <- h.all$table - path.to.table <- path.to.table[match("DE", path.to.table):match(table, path.to.table)] # path to SS - - # Always start with joining DE and SD - joined_tbl <- dplyr::left_join(object$SD, # 2nd table - object$DE, # 1st table - by = "DEid", - suffix = c('', '.y')) # ensures the second table names are not changed, otherwise the next join might fail - - for(i in 3:length(path.to.table)){ # 3 since first 2 tables always DE and SD - - # Join to next table in path - joined_tbl <- dplyr::inner_join(object[[path.to.table[i]]], # next table - joined_tbl, - by = paste0(path.to.table[i-1], "id"), # previous table id column - suffix = c('', '.y')) + hierarchy <- unique(object$DE$DEhierarchy) + if (length(hierarchy) != 1) stop("Multiple Upper Hierarchies found.") + + # path from DE to the input table, without optional and lower hierarchy tables + path.to.table <- getTablesInRDBESHierarchy(hierarchy, + includeOptTables = FALSE, + includeLowHierTables = FALSE) + path.to.table <- path.to.table[match("DE", path.to.table):match(table, path.to.table)] + missingTables <- path.to.table[sapply(object[path.to.table], is.null)] + if (length(missingTables) > 0) stop("Tables not found in the object: ", paste(missingTables, collapse = ", ")) + + # Walk up the path from `table`, following each row to its parent row with + # match(), until reaching the first table that has the field + rows <- seq_len(nrow(object[[table]])) + for (i in rev(seq_along(path.to.table))) { + tbl <- object[[path.to.table[i]]] + if (field %in% names(tbl)) return(tbl[[field]][rows]) + if (i == 1) break + parentId <- paste0(path.to.table[i - 1], "id") + parentIds <- object[[path.to.table[i - 1]]][[parentId]] + if (anyDuplicated(parentIds) > 0) stop("Duplicated ", parentId, " values in table ", path.to.table[i - 1]) + rows <- match(tbl[[parentId]][rows], parentIds, incomparables = NA) } - - # Output column - if(!(field %in% names(joined_tbl))) stop("'field' not found in higher tables column names") else - output <- joined_tbl[[which(names(joined_tbl) == field)]] - - return(output) + stop("'field' not found in higher tables column names") } diff --git a/R/validateRDBESDataObjectDataTypes.R b/R/validateRDBESDataObjectDataTypes.R index b72e418..84382ea 100644 --- a/R/validateRDBESDataObjectDataTypes.R +++ b/R/validateRDBESDataObjectDataTypes.R @@ -6,6 +6,9 @@ #' #' @return A data frame containing any data type differences (an empty data #' frame if there are no differences) +#' @section Development review: +#' - AI-assisted: No +#' - Human review: rix133 #' validateRDBESDataObjectDataTypes <- function(objectToCheck){ @@ -41,8 +44,8 @@ validateRDBESDataObjectDataTypes <- function(objectToCheck){ # Compare the two lists of column data types myColCompare <- - dplyr::inner_join(myRequiredCols,myActualCols, - by=c("R.Name"="FieldName")) + joinDT(myRequiredCols,myActualCols, + by=c("R.Name"="FieldName"), type = "inner") # Get the rows that are different (ignoring the rows where we don't # know the data types) diff --git a/man/H7Example.Rd b/man/H7Example.Rd index f2aecf7..2c81397 100644 --- a/man/H7Example.Rd +++ b/man/H7Example.Rd @@ -17,7 +17,9 @@ A list containing entries required for H7 RDBES data: \item{SL}{the Species List data table} \item{IS}{the Individual Species table} } -#' @source Richard Meitern @ Estonian Marine Institute, 2025 +} +\source{ +Richard Meitern @ Estonian Marine Institute, 2025 } \usage{ H7Example diff --git a/man/H8ExampleEE1.Rd b/man/H8ExampleEE1.Rd index 3e2fa96..dd2ef81 100644 --- a/man/H8ExampleEE1.Rd +++ b/man/H8ExampleEE1.Rd @@ -21,7 +21,9 @@ A list containing entries required for H8 RDBES data: \item{CL}{the Commertial Landing data table} \item{CE}{the Commertial Effort data table} } -#' @source Richard Meitern @ Estonian Marine Institute, 2025 +} +\source{ +Richard Meitern @ Estonian Marine Institute, 2025 } \usage{ H8ExampleEE1 diff --git a/man/createRDBESEstObject.Rd b/man/createRDBESEstObject.Rd index c4d6672..eec0b68 100644 --- a/man/createRDBESEstObject.Rd +++ b/man/createRDBESEstObject.Rd @@ -40,6 +40,14 @@ estimation \description{ Creates an RDBESEstObject from RDBES data } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + \examples{ myH1EstObj <- createRDBESEstObject(H1Example, 1, "SA") } diff --git a/man/extractHigherFields.Rd b/man/extractHigherFields.Rd new file mode 100644 index 0000000..725ad09 --- /dev/null +++ b/man/extractHigherFields.Rd @@ -0,0 +1,46 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/utils.R +\name{extractHigherFields} +\alias{extractHigherFields} +\title{extractHigherFields} +\usage{ +extractHigherFields(object, table, field) +} +\arguments{ +\item{object}{An RDBESDataObject.} + +\item{table}{The table from which to start and go up the hierarchy +(e.g. \code{"SS"}).} + +\item{field}{The data (column name) to extract from any other table higher +in the hierarchy, e.g. \code{"DEyear"} or \code{"SDctry"}.} +} +\value{ +One value per row of \code{table}, in the same order. Rows that are not +linked to the table holding \code{field} get \code{NA} (e.g. orphans left by +filtering DE before \code{findAndKillOrphans()} runs in +\code{filterAndTidyRDBESDataObject()}). +} +\description{ +Gets data from higher in the hierarchy for the given input \code{table}. Only SS +explicitly supported for now, but could update in the future to support any +table (in theory). +} +\details{ +At present will not work with data which contains more than one hierarchy. +Also bypasses any optional tables (e.g. FT in H5). +} +\section{Development review}{ + +\itemize{ +\item AI-assisted: Yes +\item Human review: rix133 +} +} + +\examples{ +\dontrun{ + RDBEScore:::extractHigherFields(H1Example, "SS", "DEyear") +} +} +\keyword{internal} diff --git a/man/filterRDBESEstObject.Rd b/man/filterRDBESEstObject.Rd index 034dc96..fcd9fc3 100644 --- a/man/filterRDBESEstObject.Rd +++ b/man/filterRDBESEstObject.Rd @@ -29,6 +29,14 @@ the filtered input object of the same class as The returned object will include all rows which include the field names and have one of the allowed values in \code{valuesToFilter}. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + \examples{ \dontrun{ diff --git a/man/findOrphansByTable.Rd b/man/findOrphansByTable.Rd index 0019b62..eea37ed 100644 --- a/man/findOrphansByTable.Rd +++ b/man/findOrphansByTable.Rd @@ -25,3 +25,11 @@ letter table identifier, and their orphan status. Internal function to identify orphan records in a given RDBESDataObject table } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + diff --git a/man/generateMissingSSRows.Rd b/man/generateMissingSSRows.Rd index 3b716a0..f5f0fb8 100644 --- a/man/generateMissingSSRows.Rd +++ b/man/generateMissingSSRows.Rd @@ -37,6 +37,14 @@ OR "Lan"+"Dis". In the latter case, if one is missing the other is to be assumed 0. This function generates SS rows for any missing catch fractions. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + \examples{ # To follow } diff --git a/man/generateZerosUsingSL.Rd b/man/generateZerosUsingSL.Rd index e06b378..a613303 100644 --- a/man/generateZerosUsingSL.Rd +++ b/man/generateZerosUsingSL.Rd @@ -23,3 +23,11 @@ RDBES data frame where SA was complemented with species looked for examples for now see https://github.com/ices-eg/WK_RDBES/tree/master/WKRDB-EST2/chairs/Nuno } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + diff --git a/man/joinDT.Rd b/man/joinDT.Rd new file mode 100644 index 0000000..e4c8d1a --- /dev/null +++ b/man/joinDT.Rd @@ -0,0 +1,60 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/joinDT.R +\name{joinDT} +\alias{joinDT} +\title{Join two tables using data.table} +\usage{ +joinDT(x, y, by, type = c("left", "inner", "right"), suffix = c(".x", ".y")) +} +\arguments{ +\item{x, y}{data.frames or data.tables to join.} + +\item{by}{Character vector of key column names. Use a named vector, e.g. +\code{c("SSyear" = "SLyear")}, when the key columns have different names in +\code{x} (names) and \code{y} (values). Only the \code{x} key columns are kept.} + +\item{type}{The type of join: \code{"left"} keeps all rows of \code{x}, \code{"inner"} +keeps only matching rows and \code{"right"} keeps all rows of \code{y}.} + +\item{suffix}{Character vector of length 2 added to the names of non-key +columns found in both \code{x} and \code{y}. Use \code{""} to keep the names of one +table unchanged.} +} +\value{ +A data.table if \code{x} is a data.table, otherwise a data.frame. +} +\description{ +Internal replacement for \code{dplyr::left_join()}, \code{dplyr::inner_join()} and +\code{dplyr::right_join()}, built on \code{data.table::merge()} with \code{sort = FALSE}. +The output follows dplyr's conventions: +\itemize{ +\item rows are returned in the order of \code{x}, each \code{x} row followed by all its +matching \code{y} rows in the order they appear in \code{y}. A right join appends +the unmatched \code{y} rows at the end; +\item columns are the columns of \code{x} followed by the non-key columns of \code{y}; +\item non-key columns found in both tables get \code{suffix} added to their names; +\item \code{NA} key values match each other and many-to-many matches return all +combinations; +\item an integer key joined to a double key gives a double key. +} +} +\details{ +Differences from dplyr: if a suffixed name is already taken, \code{joinDT()} +gives an error (dplyr adds the suffix again). Other combinations of key +types follow data.table's join rules (e.g. a factor or logical key keeps the +type and levels of \code{x}, and joining factor or logical keys to other types +can give an error). + +The input tables are not modified. +} +\section{Development review}{ + +\itemize{ +\item AI-assisted: Yes +\item Human review: rix133 +\item Notes/scope: Written to remove the dplyr dependency. Tested on +every join made by the package test suite (~12k joins currently). +} +} + +\keyword{internal} diff --git a/man/makeDT.Rd b/man/makeDT.Rd new file mode 100644 index 0000000..ed09cdd --- /dev/null +++ b/man/makeDT.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/utils.R +\name{makeDT} +\alias{makeDT} +\title{makeDT} +\usage{ +makeDT(x) +} +\arguments{ +\item{x}{A data.frame, or \code{NULL}.} +} +\value{ +A data.table, or \code{NULL} if \code{x} is \code{NULL}. +} +\description{ +Converts one element of a list of data.frames into a data.table, leaving +\code{NULL} elements as \code{NULL}. Used for each RDBES table in +\code{importRDBESDataDFS()}. +} +\keyword{internal} diff --git a/man/removeBrokenSpeciesListLinks.Rd b/man/removeBrokenSpeciesListLinks.Rd index 779d589..1e15096 100644 --- a/man/removeBrokenSpeciesListLinks.Rd +++ b/man/removeBrokenSpeciesListLinks.Rd @@ -26,6 +26,14 @@ Remove rows which are not pointing to a valid SpecliestListDetails (SL) records i.e.those rows which have a value of SpeciesListName that does not exist in the SL table. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + \examples{ \dontrun{ diff --git a/man/removeBrokenVesselLinks.Rd b/man/removeBrokenVesselLinks.Rd index e3cc6c5..240ed0b 100644 --- a/man/removeBrokenVesselLinks.Rd +++ b/man/removeBrokenVesselLinks.Rd @@ -23,6 +23,14 @@ an RDBESDataObject with any records with an invalid VDid removed Remove rows which are not pointing to a valid VesselDetails (VD) records i.e. those rows which have a value of VDid that does not exist in the VD table. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + \examples{ \dontrun{ diff --git a/man/updateSAwithTaxonFromSL.Rd b/man/updateSAwithTaxonFromSL.Rd index 34f1542..952246e 100644 --- a/man/updateSAwithTaxonFromSL.Rd +++ b/man/updateSAwithTaxonFromSL.Rd @@ -44,6 +44,14 @@ or genus then the function retains the original SA species code. function also retains the original SA species code. } } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + \examples{ \dontrun{ myObject <- createRDBESDataObject(input = "WGRDBES-EST/personal/Kasia/vignettes/vignetteData") diff --git a/man/validateRDBESDataObjectDataTypes.Rd b/man/validateRDBESDataObjectDataTypes.Rd index 2409fab..d7bd41f 100644 --- a/man/validateRDBESDataObjectDataTypes.Rd +++ b/man/validateRDBESDataObjectDataTypes.Rd @@ -20,3 +20,11 @@ Checks the data types of the columns in an RDBESDataObject against an expected list of data types. Any differences are returned } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Human review: rix133 +} +} + diff --git a/tests/testthat/test-joinDT.R b/tests/testthat/test-joinDT.R new file mode 100644 index 0000000..e71582b --- /dev/null +++ b/tests/testthat/test-joinDT.R @@ -0,0 +1,195 @@ +capture.output({ ## suppresses printing of console output when running test() + + +# Make a data.frame and a data.table holding the same columns use as +# x <- makeDFandDT(id = c(3L, 1L, 2L), a = c("x3", "x1", "x2")) +makeDFandDT <- function(...) { + df <- data.frame(...) + list(df = df, dt = data.table::as.data.table(df)) +} + + +# AI-assisted: No +# Human review: rix133 +# Notes/scope: Expected results written by hand from the dplyr join conventions. +test_that("joinDT left join keeps all x rows in x order with y matches in y order", { + x <- makeDFandDT(id = c(3L, 1L, 2L), a = c("x3", "x1", "x2")) + y <- makeDFandDT(id = c(1L, 3L, 1L), b = c("y1a", "y3", "y1b")) + + res <- joinDT(x$dt, y$dt, by = "id") + + expected <- data.table::data.table(id = c(3L, 1L, 1L, 2L), + a = c("x3", "x1", "x1", "x2"), + b = c("y3", "y1a", "y1b", NA)) + expect_equal(res, expected) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id") + # dplyr::left_join(x$df, y$df, by = "id") +}) + +# AI-assisted: No +# Human review: rix133 +# Notes/scope: Expected results written by hand from the dplyr join conventions. +test_that("joinDT inner join drops the rows without a match", { + x <- makeDFandDT(id = c(3L, 1L, 2L), a = c("x3", "x1", "x2")) + y <- makeDFandDT(id = c(1L, 3L, 4L), b = c("y1", "y3", "y4")) + + res <- joinDT(x$dt, y$dt, by = "id", type = "inner") + + expected <- data.table::data.table(id = c(3L, 1L), + a = c("x3", "x1"), + b = c("y3", "y1")) + expect_equal(res, expected) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id", type = "inner") + # dplyr::inner_join(x$df, y$df, by = "id") +}) + +# AI-assisted: No +# Human review: rix133 +# Notes/scope: Expected results written by hand from the dplyr join conventions. +test_that("joinDT right join appends the unmatched y rows at the end", { + x <- makeDFandDT(id = c(1L, 2L, 5L), a = c("x1", "x2", "x5")) + y <- makeDFandDT(id = c(4L, 2L, 1L), b = c("y4", "y2", "y1")) + + res <- joinDT(x$dt, y$dt, by = "id", type = "right") + + expected <- data.table::data.table(id = c(1L, 2L, 4L), + a = c("x1", "x2", NA), + b = c("y1", "y2", "y4")) + expect_equal(res, expected) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id", type = "right") + # dplyr::right_join(x$df, y$df, by = "id") +}) + +# AI-assisted: Yes +# Human review: rix133 +# Notes/scope: Expected results written by hand from the dplyr join conventions. +test_that("joinDT joins on differently named keys and adds suffixes to shared columns", { + x <- makeDFandDT(k = c(1L, 2L), v = c("x1", "x2")) + y <- makeDFandDT(key = c(2L, 1L), v = c("y2", "y1")) + + res <- joinDT(x$df, y$df, by = c("k" = "key")) + expect_false(data.table::is.data.table(res)) + expect_equal(res, data.frame(k = c(1L, 2L), + v.x = c("x1", "x2"), + v.y = c("y1", "y2"))) + + res2 <- joinDT(x$df, y$df, by = c("k" = "key"), suffix = c("", ".y")) + expect_equal(names(res2), c("k", "v", "v.y")) + + # Manual comparison code: + # joinDT(x$df, y$df, by = c("k" = "key")) + # dplyr::left_join(x$df, y$df, by = c("k" = "key")) + # joinDT(x$df, y$df, by = c("k" = "key"), suffix = c("", ".y")) + # dplyr::left_join(x$df, y$df, by = c("k" = "key"), suffix = c("", ".y")) +}) + +# AI-assisted: No +# Human review: rix133 +# Notes/scope: Expected results written by hand from the dplyr join conventions. +test_that("joinDT matches NA keys and returns all many-to-many combinations", { + x <- makeDFandDT(id = c(NA, 1L, 1L), a = c(1L, 2L, 3L)) + y <- makeDFandDT(id = c(1L, NA, 1L), b = c(10L, 20L, 30L)) + + res <- joinDT(x$dt, y$dt, by = "id", type = "inner") + + expected <- data.table::data.table(id = c(NA, 1L, 1L, 1L, 1L), + a = c(1L, 2L, 2L, 3L, 3L), + b = c(20L, 10L, 30L, 10L, 30L)) + expect_equal(res, expected) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id", type = "inner") + # dplyr::inner_join(x$df, y$df, by = "id", relationship = "many-to-many") +}) + +# AI-assisted: Yes +# Human review: rix133 +# Notes/scope: Expected results written by hand from the dplyr join conventions. +test_that("joinDT uses a common key type and does not modify its inputs", { + x <- makeDFandDT(id = c(1L, 2L), a = c("p", "q")) + y <- makeDFandDT(id = c(2, 3), b = c("r", "s")) + xBefore <- data.table::copy(x$dt) + yBefore <- data.table::copy(y$dt) + + res <- joinDT(x$dt, y$dt, by = "id") + + expect_type(res$id, "double") + expect_equal(res$b, c(NA, "r")) + expect_equal(x$dt, xBefore) + expect_equal(y$dt, yBefore) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id") + # dplyr::left_join(x$df, y$df, by = "id") +}) + +# AI-assisted: Yes +# Human review: rix133 +# Notes/scope: ids above the integer limit (2147483647) are stored as double by +# as.integer.or.dbl(); expected results written by hand. +test_that("joinDT matches large double ids exactly", { + x <- makeDFandDT(id = c(3000000001, 2147483648, 5), a = c("x1", "x2", "x3")) + y <- makeDFandDT(id = c(2147483648, 3000000002, 3000000001), + b = c("y2", "yNear", "y1")) + + res <- joinDT(x$dt, y$dt, by = "id") + + expect_identical(res$id, c(3000000001, 2147483648, 5)) + expect_equal(res$b, c("y1", "y2", NA)) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id") + # dplyr::left_join(x$df, y$df, by = "id") +}) + +# AI-assisted: Yes +# Human review: rix133 +# Notes/scope: e.g. SA$SAid is double while FM$SAid is integer; expected +# results written by hand. +test_that("joinDT keeps a double key when joining double and integer ids", { + # large double x ids must not be turned into integer (they would become NA) + x <- makeDFandDT(id = c(3000000001, 5), a = c("x1", "x2")) + y <- makeDFandDT(id = c(5L, 6L), b = c("y5", "y6")) + res <- joinDT(x$dt, y$dt, by = "id") + expect_identical(res$id, c(3000000001, 5)) + expect_equal(res$b, c(NA, "y5")) + + # small double x ids stay double too + x2 <- makeDFandDT(id = c(1, 5), a = c("x1", "x2")) + res2 <- joinDT(x2$dt, y$dt, by = "id") + expect_identical(res2$id, c(1, 5)) + + # unmatched large y ids are kept in a right join + res3 <- joinDT(y$dt, x$dt, by = "id", type = "right") + expect_identical(res3$id, c(5, 3000000001)) + expect_equal(res3$b, c("y5", NA)) + + # Manual comparison code: + # joinDT(x$df, y$df, by = "id") + # dplyr::left_join(x$df, y$df, by = "id") + # joinDT(x2$df, y$df, by = "id") + # dplyr::left_join(x2$df, y$df, by = "id") + # joinDT(y$df, x$df, by = "id", type = "right") + # dplyr::right_join(y$df, x$df, by = "id") +}) + +# AI-assisted: Yes +# Human review: rix133 +test_that("joinDT gives an error for missing or incompatible key columns", { + expect_error(joinDT(data.table::data.table(id = 1L), + data.table::data.table(id = "1"), + by = "id"), + "Incompatible join types") + expect_error(joinDT(data.table::data.table(id = 1L), + data.table::data.table(other = 1L), + by = "id"), + "missing from y") +}) + +}) diff --git a/tests/testthat/test-utils.R b/tests/testthat/test-utils.R index fdf317a..15b8599 100644 --- a/tests/testthat/test-utils.R +++ b/tests/testthat/test-utils.R @@ -49,4 +49,37 @@ test_that("as.integer.or.dbl successfully converts columns with large values to }) +# extractHigherFields ----------------------------------------------------- + +# Small H1 path DE-SD-VS-FT-FO-SS; SS 53 links to FO 42 whose FTid 99 does not exist +makeH1Path <- function() { + list(DE = data.table::data.table(DEid = c(1L, 2L), DEhierarchy = 1L, DEyear = c(2020L, 2021L)), + SD = data.table::data.table(SDid = c(10L, 11L), DEid = c(1L, 2L), SDctry = c("EE", "LV")), + VS = data.table::data.table(VSid = c(20L, 21L), SDid = c(10L, 11L)), + FT = data.table::data.table(FTid = c(30L, 31L), VSid = c(20L, 21L)), + FO = data.table::data.table(FOid = c(40L, 41L, 42L), FTid = c(31L, 30L, 99L)), + SS = data.table::data.table(SSid = c(50L, 51L, 52L, 53L), FOid = c(41L, 40L, 40L, 42L))) +} + +# AI-assisted: Yes +# Human review: rix133 +# Notes/scope: Expected values traced by hand through the ids in makeH1Path(). +test_that("extractHigherFields returns one value per SS row and NA for broken links", { + obj <- makeH1Path() + + expect_equal(extractHigherFields(obj, "SS", "DEyear"), c(2020L, 2021L, 2021L, NA)) + expect_equal(extractHigherFields(obj, "SS", "SDctry"), c("EE", "LV", "LV", NA)) +}) + +# AI-assisted: Yes +# Human review: rix133 +test_that("extractHigherFields gives an error for duplicated ids or a missing field", { + obj <- makeH1Path() + expect_error(extractHigherFields(obj, "SS", "XXyear"), "'field' not found") + + obj$FT <- data.table::data.table(FTid = c(30L, 30L), VSid = c(20L, 21L)) + expect_error(extractHigherFields(obj, "SS", "DEyear"), "Duplicated FTid") +}) + + }) ## end capture.output diff --git a/vignettes/v02a-generating-probabilities.Rmd b/vignettes/v02a-generating-probabilities.Rmd index df991b6..b9e56b4 100644 --- a/vignettes/v02a-generating-probabilities.Rmd +++ b/vignettes/v02a-generating-probabilities.Rmd @@ -46,11 +46,11 @@ The functions that generate probabilities do not yet deal with lower hierarchies ```{r} # Temp fixes to change data to lower hierarchy C - function won't deal with A, or B yet -myH1DataObject[["BV"]] <- dplyr::distinct(myH1DataObject[["BV"]], FMid, .keep_all = TRUE) -temp <- dplyr::left_join(myH1DataObject[["BV"]][,c("BVid","FMid")], - myH1DataObject[["FM"]][,c("FMid","SAid")], - by="FMid") -myH1DataObject[["BV"]]$SAid <- temp$SAid +# keep the first BV row of each FMid +myH1DataObject[["BV"]] <- unique(myH1DataObject[["BV"]], by = "FMid") +# link BV directly to SA using the SAid of its FM row +myH1DataObject[["BV"]]$SAid <- myH1DataObject[["FM"]]$SAid[ + match(myH1DataObject[["BV"]]$FMid, myH1DataObject[["FM"]]$FMid)] myH1DataObject[["BV"]]$FMid <- NA myH1DataObject[["SA"]]$SAlowHierarchy <- "C" myH1DataObject[["BV"]]$BVnumTotal <- 10 From 397637c3a2cacf716e7c1ab2652e2d16af8e8070 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Fri, 9 Oct 2026 15:51:00 +0300 Subject: [PATCH 48/87] closes #257 leave the download to seperate icesRDBES package --- DESCRIPTION | 3 +- NAMESPACE | 2 - R/downloadRDBESDataZip.R | 152 --------------------- man/downloadRDBESDataZip.Rd | 42 ------ tests/testthat/test-downloadRDBESDataZip.R | 129 ----------------- vignettes/v01a-data-import.Rmd | 27 +++- 6 files changed, 27 insertions(+), 328 deletions(-) delete mode 100644 R/downloadRDBESDataZip.R delete mode 100644 man/downloadRDBESDataZip.Rd delete mode 100644 tests/testthat/test-downloadRDBESDataZip.R diff --git a/DESCRIPTION b/DESCRIPTION index bfc2b7f..5b830e4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -120,6 +120,5 @@ Suggests: Depends: R (>= 4.1) Imports: - data.table, - icesRDBES + data.table VignetteBuilder: knitr diff --git a/NAMESPACE b/NAMESPACE index ee2bd41..ba339dc 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -12,7 +12,6 @@ export(createRDBESEstObject) export(doBVestimCANUM) export(doEstimationForAllStrata) export(doEstimationRatio) -export(downloadRDBESDataZip) export(estim) export(estimMC) export(exportEstimationResultsToInterCatchFormat) @@ -36,7 +35,6 @@ export(updateSAwithTaxonFromSL) export(validateRDBESDataObject) export(validateRDBESEstObject) import(data.table) -importFrom(icesRDBES,rdbes_download_data) importFrom(stats,formula) importFrom(stats,na.omit) importFrom(stats,rnorm) diff --git a/R/downloadRDBESDataZip.R b/R/downloadRDBESDataZip.R deleted file mode 100644 index 139d22f..0000000 --- a/R/downloadRDBESDataZip.R +++ /dev/null @@ -1,152 +0,0 @@ -#' Download RDBES data as a zip file -#' -#' Downloads RDBES data through `icesRDBES::rdbes_download_data()`. -#' -#' @param datatype One of `"CS"`, `"CL"`, `"CE"`, `"SL"`, or `"VD"`. -#' @param year Numeric value for year of data to download. -#' @param country Two-letter country code. -#' @param hierarchy Optional CS or CL hierarchy, for example `"H8"` or `8`. -#' @param dir Directory where the zip file is saved. -#' @param file_name Optional file name to save the downloaded zip file as. The -#' `.zip` suffix is added if omitted. -#' @param verbose Passed to `icesRDBES::rdbes_download_data()`. -#' @param payload Optional full RDBES download payload. If supplied, `datatype`, -#' `year`, `country` and `hierarchy` are ignored. -#' -#' @return Logical `TRUE` if the download completed. -#' -#' @importFrom icesRDBES rdbes_download_data -#' -#' @export -#' -downloadRDBESDataZip <- function(datatype = NULL, year = NULL, country = NULL, - hierarchy = NULL, - dir = ".", - file_name = NULL, - verbose = TRUE, - payload = NULL) { - if (is.null(payload)) { - payload <- buildSimpleRDBESDownloadPayload( - datatype = datatype, - year = year, - country = country, - hierarchy = hierarchy, - export_format = "CsvFilePerTable" - ) - } - - dir.create(dir, recursive = TRUE, showWarnings = FALSE) - - downloaded_file <- rdbes_download_data( - payload = payload, - dest_dir = dir, - production = getOption("rdbes.production", TRUE), - verbose = verbose - ) - - if (is.null(file_name) && !is.null(datatype) && !is.null(year) && - !is.null(country)) { - file_name <- paste0(datatype, "_", country, "_", year) - if (!is.null(hierarchy)) { - file_name <- paste0(file_name, "_", normalizeRDBESHierarchy(hierarchy)) - } - } - - if (!is.null(file_name)) { - target_file <- normalizeRDBESZipPath(dir, file_name) - moveRDBESDownload(downloaded_file, target_file) - } - - TRUE -} - -buildSimpleRDBESDownloadPayload <- function(datatype, year, country, hierarchy, - export_format) { - if (is.null(datatype) || is.null(year) || is.null(country)) { - stop("Provide datatype, year, and country, or pass a full payload.") - } - - datatype <- toupper(datatype) - filter_name <- switch(datatype, - CS = "csFilters", - CL = "clFilters", - CE = "ceFilters", - SL = "slFilters", - VD = "vdFilters", - NULL) - if (is.null(filter_name)) { - stop("Unsupported RDBES datatype: ", datatype) - } - - payload <- list(dataType = datatype, format = export_format) - - if (!is.null(hierarchy)) { - payload$hierarchies <- rdbesPayloadValues( - normalizeRDBESHierarchy(hierarchy) - ) - } else if (datatype != "CS") { - payload$hierarchies <- rdbesPayloadValues(paste0("H", datatype)) - } - - year_field <- switch(datatype, - CS = "deYear", - CL = "clYear", - CE = "ceYear", - SL = "slYear", - VD = "vdYear") - country_field <- switch(datatype, - CS = "sdCountry", - CL = "clVesselFlagCountry", - CE = "ceVesselFlagCountry", - SL = "slCountry", - VD = "vdCountry") - - payload[[filter_name]] <- list() - payload[[filter_name]][[year_field]] <- rdbesPayloadValues(year) - payload[[filter_name]][[country_field]] <- rdbesPayloadValues(country) - - payload -} - -rdbesPayloadValues <- function(values) { - as.list(as.character(values)) -} - -normalizeRDBESHierarchy <- function(hierarchy) { - hierarchy <- as.character(hierarchy) - ifelse(grepl("^H", hierarchy, ignore.case = TRUE), - toupper(hierarchy), - paste0("H", hierarchy)) -} - -normalizeRDBESZipPath <- function(dir, file_name) { - if (!grepl("\\.zip$", file_name, ignore.case = TRUE)) { - file_name <- paste0(file_name, ".zip") - } - - file.path(dir, file_name) -} - -moveRDBESDownload <- function(downloaded_file, target_file) { - if (normalizePath(downloaded_file, winslash = "/", mustWork = FALSE) == - normalizePath(target_file, winslash = "/", mustWork = FALSE)) { - return(invisible(target_file)) - } - - if (file.exists(target_file)) { - unlink(target_file) - } - - ok <- file.rename(downloaded_file, target_file) - if (!ok) { - ok <- file.copy(downloaded_file, target_file, overwrite = TRUE) - if (ok) { - unlink(downloaded_file) - } - } - if (!ok) { - stop("Could not move downloaded RDBES zip to ", target_file) - } - - invisible(target_file) -} diff --git a/man/downloadRDBESDataZip.Rd b/man/downloadRDBESDataZip.Rd deleted file mode 100644 index b6bf3ac..0000000 --- a/man/downloadRDBESDataZip.Rd +++ /dev/null @@ -1,42 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/downloadRDBESDataZip.R -\name{downloadRDBESDataZip} -\alias{downloadRDBESDataZip} -\title{Download RDBES data as a zip file} -\usage{ -downloadRDBESDataZip( - datatype = NULL, - year = NULL, - country = NULL, - hierarchy = NULL, - dir = ".", - file_name = NULL, - verbose = TRUE, - payload = NULL -) -} -\arguments{ -\item{datatype}{One of \code{"CS"}, \code{"CL"}, \code{"CE"}, \code{"SL"}, or \code{"VD"}.} - -\item{year}{Numeric value for year of data to download.} - -\item{country}{Two-letter country code.} - -\item{hierarchy}{Optional CS or CL hierarchy, for example \code{"H8"} or \code{8}.} - -\item{dir}{Directory where the zip file is saved.} - -\item{file_name}{Optional file name to save the downloaded zip file as. The -\code{.zip} suffix is added if omitted.} - -\item{verbose}{Passed to \code{icesRDBES::rdbes_download_data()}.} - -\item{payload}{Optional full RDBES download payload. If supplied, \code{datatype}, -\code{year}, \code{country} and \code{hierarchy} are ignored.} -} -\value{ -Logical \code{TRUE} if the download completed. -} -\description{ -Downloads RDBES data through \code{icesRDBES::rdbes_download_data()}. -} diff --git a/tests/testthat/test-downloadRDBESDataZip.R b/tests/testthat/test-downloadRDBESDataZip.R deleted file mode 100644 index 4d5af4b..0000000 --- a/tests/testthat/test-downloadRDBESDataZip.R +++ /dev/null @@ -1,129 +0,0 @@ -capture.output({ - -test_that("buildSimpleRDBESDownloadPayload builds CS payloads", { - payload <- buildSimpleRDBESDownloadPayload( - datatype = "CS", - year = 2025, - country = "EE", - hierarchy = 8, - export_format = "CsvFilePerTable" - ) - - expect_equal(payload$dataType, "CS") - expect_equal(payload$format, "CsvFilePerTable") - expect_equal(payload$hierarchies, list("H8")) - expect_equal(payload$csFilters$deYear, list("2025")) - expect_equal(payload$csFilters$sdCountry, list("EE")) -}) - -test_that("buildSimpleRDBESDownloadPayload builds CL payloads", { - payload <- buildSimpleRDBESDownloadPayload( - datatype = "cl", - year = "2024", - country = "DK", - hierarchy = NULL, - export_format = "CsvFilePerTable" - ) - - expect_equal(payload$dataType, "CL") - expect_equal(payload$hierarchies, list("HCL")) - expect_equal(payload$clFilters$clYear, list("2024")) - expect_equal(payload$clFilters$clVesselFlagCountry, list("DK")) -}) - -test_that("buildSimpleRDBESDownloadPayload validates required inputs", { - expect_error( - buildSimpleRDBESDownloadPayload(NULL, 2025, "EE", NULL, "CsvFilePerTable"), - "Provide datatype, year, and country" - ) - expect_error( - buildSimpleRDBESDownloadPayload("XX", 2025, "EE", NULL, "CsvFilePerTable"), - "Unsupported RDBES datatype" - ) -}) - -test_that("helper functions normalize hierarchy and zip paths", { - expect_equal(normalizeRDBESHierarchy(8), "H8") - expect_equal(normalizeRDBESHierarchy("hcl"), "HCL") - expect_equal(normalizeRDBESZipPath("data", "download"), file.path("data", "download.zip")) - expect_equal(normalizeRDBESZipPath("data", "download.zip"), file.path("data", "download.zip")) -}) - -test_that("moveRDBESDownload moves or renames downloaded files", { - tmp <- tempdir() - source_file <- tempfile(tmpdir = tmp, fileext = ".zip") - target_file <- tempfile(tmpdir = tmp, fileext = ".zip") - writeLines("zip placeholder", source_file) - - moveRDBESDownload(source_file, target_file) - - expect_false(file.exists(source_file)) - expect_true(file.exists(target_file)) - expect_equal(readLines(target_file), "zip placeholder") -}) - -test_that("downloadRDBESDataZip delegates to rdbes_download_data", { - downloaded_file <- tempfile(fileext = ".zip") - calls <- list() - local_mocked_bindings( - rdbes_download_data = function(payload, dest_dir, production, verbose) { - calls[[1]] <<- list( - payload = payload, - dest_dir = dest_dir, - production = production, - verbose = verbose - ) - writeLines("downloaded", downloaded_file) - downloaded_file - } - ) - - target_dir <- tempfile() - result <- downloadRDBESDataZip( - datatype = "CL", - year = 2025, - country = "EE", - dir = target_dir, - file_name = "custom_name", - verbose = FALSE - ) - - expect_true(result) - expect_equal(calls[[1]]$payload$dataType, "CL") - expect_equal(calls[[1]]$payload$format, "CsvFilePerTable") - expect_equal(calls[[1]]$dest_dir, target_dir) - expect_false(calls[[1]]$verbose) - expect_true(file.exists(file.path(target_dir, "custom_name.zip"))) -}) - -test_that("downloadRDBESDataZip accepts a full payload", { - downloaded_file <- tempfile(fileext = ".zip") - custom_payload <- list( - dataType = "CS", - format = "CsvFilePerTable", - hierarchies = list("H8"), - csFilters = list(deYear = list("2025"), sdCountry = list("EE")) - ) - calls <- list() - local_mocked_bindings( - rdbes_download_data = function(payload, dest_dir, production, verbose) { - calls[[1]] <<- payload - writeLines("downloaded", downloaded_file) - downloaded_file - } - ) - - target_dir <- tempfile() - result <- downloadRDBESDataZip( - payload = custom_payload, - dir = target_dir, - file_name = "payload_name", - verbose = FALSE - ) - - expect_true(result) - expect_equal(calls[[1]], custom_payload) - expect_true(file.exists(file.path(target_dir, "payload_name.zip"))) -}) - -}) diff --git a/vignettes/v01a-data-import.Rmd b/vignettes/v01a-data-import.Rmd index 2e64454..5d1d204 100644 --- a/vignettes/v01a-data-import.Rmd +++ b/vignettes/v01a-data-import.Rmd @@ -31,13 +31,38 @@ library(RDBEScore) dataDir <- "./yourDataDirectory/" #for demonstration purposes we will use the example data included in the package +#for downloading actual data see the section below dataDir <- paste0(system.file("extdata", package = "RDBEScore"), "/") ``` + +## Downloading data from the RDBES + +The data can be downloaded from the [RDBES web site](https://rdbes.ices.dk/#/), or from R with the [icesRDBES](https://ices-tools-prod.r-universe.dev/icesRDBES) package. icesRDBES is not on CRAN; install it from the ICES repository: + +```{r, eval = FALSE} +install.packages("icesRDBES", + repos = c("https://ices-tools-prod.r-universe.dev", + "https://cloud.r-project.org")) +``` + +The download needs access to the RDBES see the [icesRDBES](https://ices-tools-prod.r-universe.dev/icesRDBES/) documentation. For example, the CS data of hierarchy 1 for the test country ZW in 1965, as a `.zip` file with one `.csv` file per table: + +```{r, eval = FALSE} +payload <- list(dataType = "CS", + format = "CsvFilePerTable", + hierarchies = list("H1"), + csFilters = list(deYear = list("1965"), + sdCountry = list("ZW"))) +zipFile <- icesRDBES::rdbes_download_data(payload, dest_dir = dataDir) +``` + +After downloading, the file can be imported as shown below. + ## Importing zipped files -It can directly import the `.zip` archive from the RDBES download containing all mandatory hierarchy tables plus VD and SL: +RDBEScore package can directly import the `.zip` archive from the offial RDBES download containing all mandatory hierarchy tables plus VD and SL: ```{r} importedH1 <- createRDBESDataObject(input = paste0(dataDir,"H1_Example.zip")) From b959256dd19441cbac87bdd049c43ee91efcac70 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Mon, 12 Oct 2026 18:29:47 +0300 Subject: [PATCH 49/87] Revise contribution guidelines and AI tool usage Updated guidelines for contributions and AI tool usage, emphasizing the importance of handling confidential data carefully. Clarified documentation requirements for AI involvement and human review. --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index de711c6..97dc1a7 100644 --- a/README.md +++ b/README.md @@ -97,13 +97,16 @@ install_github("ices-tools-dev/RDBEScore@dev", build = FALSE) ## How to Start developing -Contributions and the use of AI coding tools are tolerated, but all code must be tested and checked by humans to maintain the reliability of the package. +Contributions are welcome and the use of AI coding tools are premitted, but all code must be tested and checked by humans to maintain the reliability of the package. Confidential information should never be commited. + +> [!WARNING] +> Working with RDBES data is working with confidential data that is subjected to a data policy that aims to prevent unintended misuse or leakage of information by individual users, and keep trust in the RDBES system. Because of that, RDBES data should be handled with special care (e.g., never be commited to github or AI services) and development should be done, to the extent possible, using synthetic or public data. ### 1. Getting started Install a recent version of R (4.1 or newer), preferably with RStudio, and the packages `remotes`, `devtools`, `roxygen2` and `testthat`. -Use **camelCase** for new function names to match the existing package style. Two useful examples are [createRDBESDataObject](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/createRDBESDataObject.R) and the simpler [getTablesInRDBESHierarchy](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/getTablesInRDBESHierarchy.R). +Use **camelCase** for new function names to match the existing package style. See the package style guide for more details [style guide](https://github.com/ices-tools-dev/RDBEScore/blob/main/WGRDBES-EST/newbies_guide/StyleGuide_WKRDB-EST_Annex8.pdf). Two useful examples are [createRDBESDataObject](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/createRDBESDataObject.R) and the simpler [getTablesInRDBESHierarchy](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/getTablesInRDBESHierarchy.R). The main package directories are: @@ -116,9 +119,9 @@ The main package directories are: ### 2. Development workflow -1. **Create or claim a GitHub issue.** Describe what needs to be added or changed, including the expected behaviour. Assign yourself to the issue so others know you are working on it. +1. **Create or claim a GitHub issue.** Describe what needs to be added or changed, including the expected behaviour. Assign yourself to the issue when you start working on it so others know. -2. **Start from the latest `dev` branch.** Work directly on `dev` or create your own development branch based on it. The `main` branch is protected and only accepts changes through pull requests. +2. **Start from the latest `dev` branch.** Work directly on `dev` if you can ensure that you never commit code that has failing tests. If you are unsure you can always create your own development branch based on `dev` and work there. Wherever you work remember to pull frequently so your code does not deviate too far from others. The `main` branch is protected and only accepts changes through pull requests. 3. **Write or modify the code and tests.** You can do this manually or with AI coding tools. New functions should include roxygen2 documentation and appropriate tests. Add or update examples and vignettes when relevant. Aim to keep changes related to one issue together. @@ -140,7 +143,7 @@ The main package directories are: ### 3. AI-assisted development and human review -Starting with version 0.3.5, contributors are allowed to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. +Starting with version 0.3.5, contributors are permitted to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. If you posess confidential RDBES data using installed AI products (e.g. VScode, Codex, Claude Code, PositAI, browser add-ons etc) is not allowed. Browser-based AI may be used as long as their permissions have been checked and confidential information is not submitted to them. Every **new or substantially modified** function and test must document **AI involvement** and **human review**. From 7a44388a225923bc34e715e7bbe151755e659e2f Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 11:13:29 +0300 Subject: [PATCH 50/87] Fix typos and update AI guidelines in README Corrected typos and clarified guidelines regarding AI-assisted development and data confidentiality in the README. --- README.md | 53 +++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 97dc1a7..0bc1cb2 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ install.packages("RDBEScore") ``` --> -The most recent production version of the package can be installed from ICES tools (production). Theese are +The most recent production version of the package can be installed from ICES tools (production). These are tools that are operational and maintained by the ICES Secretariat. ```R @@ -52,7 +52,7 @@ install_github("ices-tools-dev/RDBEScore", build_vignettes = TRUE) Usage ----- -For a summary of the package see the following [Vignettes](): +For a summary of the package see the following [Vignettes](https://ices-tools-dev.github.io/RDBEScore/): ```R browseVignettes(package = "RDBEScore") @@ -100,7 +100,7 @@ install_github("ices-tools-dev/RDBEScore@dev", build = FALSE) Contributions are welcome and the use of AI coding tools are premitted, but all code must be tested and checked by humans to maintain the reliability of the package. Confidential information should never be commited. > [!WARNING] -> Working with RDBES data is working with confidential data that is subjected to a data policy that aims to prevent unintended misuse or leakage of information by individual users, and keep trust in the RDBES system. Because of that, RDBES data should be handled with special care (e.g., never be commited to github or AI services) and development should be done, to the extent possible, using synthetic or public data. +> Working with RDBES data is working with confidential data that is subjected to a data policy that aims to prevent unintended misuse or leakage of information by individual users, and keep trust in the RDBES system. Because of that, RDBES data should be handled with special care (e.g., never be commited to github or AI services without explicit permission from the data owner) and development should be done, to the extent possible, using synthetic or public data. ### 1. Getting started @@ -143,9 +143,9 @@ The main package directories are: ### 3. AI-assisted development and human review -Starting with version 0.3.5, contributors are permitted to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. If you posess confidential RDBES data using installed AI products (e.g. VScode, Codex, Claude Code, PositAI, browser add-ons etc) is not allowed. Browser-based AI may be used as long as their permissions have been checked and confidential information is not submitted to them. +Starting with version 0.3.5, contributors are permitted to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. If you posess confidential RDBES data using installed AI products (e.g. VScode, Codex, Claude Code, PositAI, browser add-ons etc) is only allowed if you have explicit permission from the data owner. Browser-based AI may also be used as long as tools permissions have been checked and confidential information or data is not submitted to them. -Every **new or substantially modified** function and test must document **AI involvement** and **human review**. +Every **new or substantially modified** function and test must document **AI involvement**. **Function documentation** @@ -154,34 +154,36 @@ Include a `Development review` section in the function's roxygen2 documentation ```r #' @section Development review: #' - AI-assisted: Yes -#' - Human review: janesmith +#' - Review: janesmith #' - Notes/scope: Tested with hierarchy H5 using #' 2025 RDBES data (downloaded 2026-10-14). ``` +Notes should be added if no formal testing was made (e.g. downloading confidential data and checking how a function works on this data without writing tests). **Test documentation** -Add the same information as comments immediately before **each `test_that()` block**, rather than only at the beginning of the test file. Different tests may have different authors, reviewers or levels of verification. +We expect that all tests are human reviewed. Add the same information as comments immediately in the beginning of a test file as you do with code. ```r # AI-assisted: Yes -# Human review: janesmith -# Notes/scope: Expected results checked manually. -test_that("function returns correct values", { - expect_equal(myFunction(2), 4) -}) - -# AI-assisted: No -# Human review: janesmith, johnbrown -test_that("function handles missing values", { - expect_true(is.na(myFunction(NA))) +# Review: janesmith +# Notes/scope: Tested with hierarchy H5 using +# 2025 RDBES data (downloaded 2026-10-14). +capture.output({ ## suppresses printing of console output when running test() + test_that("function returns correct values", { + expect_equal(myFunction(2), 4) + }) + + test_that("function handles missing values", { + expect_true(is.na(myFunction(NA))) + }) }) ``` **Meaning of the fields** - **AI-assisted:** `Yes` if AI tools were used to generate or substantially modify the current code or test, otherwise `No`. Routine autocomplete or minor wording corrections do not need to be reported. -- **Human review:** Github usernames of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. +- **Review:** Github usernames of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. - **Notes/scope (optional):** Briefly describe what has been verified, for example specific RDBES sampling hierarchies, datasets, reference calculations, or known limitations. Include data versions or dates when relevant. **Updating review** @@ -189,24 +191,23 @@ test_that("function handles missing values", { When another person reviews the code or test and approves it without changes, add their username: ```r -# Human review: janesmith, johnbrown +# Review: janesmith, johnbrown ``` -If a reviewer substantially modifies the code, previous review are no longer assumed to apply. The person making the changes checks the modified version and updates the approval record: +If a reviewer wants to modify the code substantially they are expected to raise an issue to inform others about it. Previous reviewers should be assigned to that issue and informed about the new issue. -```r -# Human review: johnbrown -``` +Review for functions and tests are maintained separately. A change to one does not automatically invalidate approval of the other, unless its correctness is affected. -review for functions and tests are maintained separately. A change to one does not automatically invalidate approval of the other, unless its correctness is affected. +**Major changes** +Major changes (Sensu changes to multiple functions, that take time to review) should only be done after a plenary discussion. To the extent possible the previous reviewers are informed ahead of those changes and allowed enough time to form an opinion. **Testing and scientific reliability** -All new or modified functionality should have appropriate tests. Expected test results must be independently established or checked by a human, rather than relying solely on AI-generated expectations. Where possible, statistical estimation functions should be tested against manually calculated results, published examples or independently verified reference implementations. +All new or modified functionality should have appropriate tests. Expected test results must be independently established or checked rather than relying solely on AI-generated expectations. Where possible, statistical estimation functions should be tested against manually calculated results, published examples or independently verified reference implementations. Additional independent human review is particularly encouraged for statistical estimation functions and scientifically important data transformations. The number of human review indicates the extent of documented human review, but does not by itself guarantee scientific correctness. The optional `Notes/scope` field can clarify what has actually been verified. -Existing functions and tests do not need to be retrospectively classified unless they are substantially modified. +Existing functions and tests do not need to be retrospectively classified unless they are modified. ### 4. Releasing reviewed changes to `main` From b2e0f7e51a5f79162907125e0725f16179f5c732 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 10:40:30 +0200 Subject: [PATCH 51/87] Update README.md fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bc1cb2..3674edf 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,7 @@ Existing functions and tests do not need to be retrospectively classified unless The `dev` branch may contain functions that are still being developed, tested or reviewed. **Only changes considered ready for release should be transferred to `main`.** -We aim at 2 releases a year (autumn and spring) and an online meeting will be scheduled to a approve the pull request to the main +We aim at 2 releases a year (autumn and spring) and an online meeting will be scheduled to approve the pull request to the main. When preparing a release a subset of the package contributors will: From 79db61425b8d93d619e07e6e5f8380efc411dddd Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 11:59:53 +0300 Subject: [PATCH 52/87] Update NEWS.md for RDBEScore 0.4.0 release Updated package README with AI usage guidelines and removed dplyr dependency. --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index fd73038..c3d3cb8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,5 @@ # RDBEScore 0.4.0 - +- Package README updated with AI usage guidelines - Dependencies: removed `dplyr` from Imports. Joins now use the internal `data.table` helper `joinDT()`, which keeps dplyr's row order, column order and `.x`/`.y` suffixes, so results are unchanged; `filterRDBESEstObject()` and the vignette use base R/`data.table` instead of dplyr. - Bug fix: addressed [#259](https://github.com/ices-tools-dev/RDBEScore/issues/259) selecting multiple strata with `addCLtoLowerCS()` From 35dc2522d29b36b72f85330902dd186756dc72f7 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 12:17:59 +0300 Subject: [PATCH 53/87] added long integer allowence #266 --- R/importRDBESDataCSV.R | 13 +++++++++++-- tests/testthat/bigid/SamplingDetails.csv | 9 +++++++++ tests/testthat/test-importRDBESDataCSV.R | 16 +++++++++++----- 3 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 tests/testthat/bigid/SamplingDetails.csv diff --git a/R/importRDBESDataCSV.R b/R/importRDBESDataCSV.R index 9ae3e11..c333daa 100644 --- a/R/importRDBESDataCSV.R +++ b/R/importRDBESDataCSV.R @@ -23,13 +23,18 @@ #' it will contain the data from those files. If no path is supplied then #' an empty RDBESDataObject will be returned. #' +#' @section Development review: +#' - AI-assisted: No +#' - Review: rix133 +#' - Notes/scope: Added tests dealing with over integer limit +#' #' @examples #' \dontrun{ #' myEmptyRDBESObject <- importRDBESDataCSV() #' rdbesExtractPath <- "./tests/testthat/h7_v_1_19_18/" #' obj <- importRDBESDataCSV(rdbesExtractPath) #' } - +#' importRDBESDataCSV <- function(rdbesExtractPath = NULL, listOfFileNames = NULL, castToCorrectDataTypes = TRUE, @@ -82,6 +87,10 @@ importRDBESDataCSV <- function(rdbesExtractPath = NULL, fieldsFormat <- RDBEScore::mapColNamesFieldR[ RDBEScore::mapColNamesFieldR$Table.Prefix == myFile, "RDataType"] + #to account for the possible long numeric fields in all integer fields + #because the id numbers may get wery long at one point + fieldsFormat <- ifelse(fieldsFormat == "integer", "numeric", fieldsFormat) + # Read the file with error handling so we can raise a clear message filePath <- paste(rdbesExtractPath, "/", fileNames[myFile], sep = "") csvBaseName <- sub("\\.csv$", "", fileNames[myFile]) @@ -93,7 +102,7 @@ importRDBESDataCSV <- function(rdbesExtractPath = NULL, quote = "", stringsAsFactors = FALSE, colClasses = fieldsFormat - ), + ), silent = TRUE ) diff --git a/tests/testthat/bigid/SamplingDetails.csv b/tests/testthat/bigid/SamplingDetails.csv new file mode 100644 index 0000000..4b05906 --- /dev/null +++ b/tests/testthat/bigid/SamplingDetails.csv @@ -0,0 +1,9 @@ +SDid,DEid,SDrecordType,SDcountry,SDinstitution +3000415656,5351,SD,ZW,4484 +5425,5393,SD,ZW,4484 +5434,5402,SD,ZW,4484 +5435,5403,SD,ZW,4484 +5436,5404,SD,ZW,4484 +5438,5406,SD,ZW,1051 +5439,5407,SD,ZW,1051 +5440,5408,SD,ZW,1051 diff --git a/tests/testthat/test-importRDBESDataCSV.R b/tests/testthat/test-importRDBESDataCSV.R index d3b6ea4..658c8e3 100644 --- a/tests/testthat/test-importRDBESDataCSV.R +++ b/tests/testthat/test-importRDBESDataCSV.R @@ -1,8 +1,7 @@ +# AI-assisted: No +# Review: rix133 capture.output({ ## suppresses printing of console output when running test() - - - # common parameters # H1 directory dirH1 <- "./h1_v_20250211/" @@ -81,8 +80,15 @@ capture.output({ ## suppresses printing of console output when running test() file.remove(tempBVfNname) expect_equal(BV$BVfishId[1],id) }) - - +test_that("Importing a CSV folder with an id above 2,147,483,647 works",{ + expect_error(importRDBESDataCSV(rdbesExtractPath = "./bigid"), NA) +}) + +test_that("id columns without large values are still integers and with are doubles",{ + res <- importRDBESDataCSV(rdbesExtractPath = "./bigid") + expect_true(is.double(res$SD$SDid)) + expect_true(is.integer(res$SD$DEid)) +}) }) ## end capture.output From abef3b71731b1fd3de0392d5c3ad58bd73cb2f86 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 13:13:31 +0300 Subject: [PATCH 54/87] update roxygen version --- DESCRIPTION | 2 +- NAMESPACE | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 5b830e4..9206251 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -111,7 +111,6 @@ URL: https://github.com/ices-tools-dev/RDBEScore, https://rdbes.ices.dk, https:/ License: GPL-3 + file LICENSE Encoding: UTF-8 LazyData: true -RoxygenNote: 7.3.3 Roxygen: list(markdown = TRUE) Suggests: knitr, @@ -122,3 +121,4 @@ Depends: Imports: data.table VignetteBuilder: knitr +Config/roxygen2/version: 8.1.1 diff --git a/NAMESPACE b/NAMESPACE index ba339dc..d92cd12 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -35,10 +35,14 @@ export(updateSAwithTaxonFromSL) export(validateRDBESDataObject) export(validateRDBESEstObject) import(data.table) -importFrom(stats,formula) -importFrom(stats,na.omit) -importFrom(stats,rnorm) -importFrom(stats,setNames) -importFrom(utils,file_test) -importFrom(utils,packageDescription) -importFrom(utils,tail) +importFrom(stats, + formula, + na.omit, + rnorm, + setNames +) +importFrom(utils, + file_test, + packageDescription, + tail +) From 0a33042a5180896a2fc3e88c00866007fce85583 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 13:14:04 +0300 Subject: [PATCH 55/87] #266 documentation change --- man/generateTestTbls.Rd | 2 +- man/importRDBESDataCSV.Rd | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/man/generateTestTbls.Rd b/man/generateTestTbls.Rd index 1b28512..bda251f 100644 --- a/man/generateTestTbls.Rd +++ b/man/generateTestTbls.Rd @@ -13,7 +13,7 @@ generateTestTbls(tblNames, prevTbls = list(), ...) Defaults to empty list} \item{...}{ - Arguments passed on to \code{\link[=makeTbl]{makeTbl}} + Arguments passed on to \code{\link{makeTbl}} \describe{ \item{\code{tblName}}{Name of the table} \item{\code{rows}}{numeric number of rows per parent record. Defaults to 4.} diff --git a/man/importRDBESDataCSV.Rd b/man/importRDBESDataCSV.Rd index 9d564a4..55bdfad 100644 --- a/man/importRDBESDataCSV.Rd +++ b/man/importRDBESDataCSV.Rd @@ -36,11 +36,21 @@ an empty RDBESDataObject will be returned. Create an R object from a folder containing .csv data files downloaded from the RDBES upload/download page. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Review: rix133 +\item Notes/scope: Added tests dealing with over integer limit +} +} + \examples{ \dontrun{ myEmptyRDBESObject <- importRDBESDataCSV() rdbesExtractPath <- "./tests/testthat/h7_v_1_19_18/" obj <- importRDBESDataCSV(rdbesExtractPath) } + } \keyword{internal} From f6dfbce8d70fab3e85aaa153d3a44e8507d93ad0 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 15:30:45 +0300 Subject: [PATCH 56/87] #255 now checks for hierarchy compliance --- R/getLinkedDataFromLevel.R | 34 +++++++++++++++- man/getLinkedDataFromLevel.Rd | 8 ++++ tests/testthat/test-getLinkedDataFromLevel.R | 41 +++++++++++++++++++- 3 files changed, 80 insertions(+), 3 deletions(-) diff --git a/R/getLinkedDataFromLevel.R b/R/getLinkedDataFromLevel.R index 0926371..c9afa17 100644 --- a/R/getLinkedDataFromLevel.R +++ b/R/getLinkedDataFromLevel.R @@ -26,11 +26,15 @@ #' # Retrieve data from the VS level based on BVfishId from the BV table #' getLinkedDataFromLevel("BVfishId", c("410472143", "410472144"), H8ExampleEE1, "VS", TRUE) #' } +#' @section Development review: +#' - AI-assisted: No +#' - Review: rix133 #' @export getLinkedDataFromLevel <- function(field, values, rdbesTables, level, verbose = FALSE){ # Check if rdbesTables is of class "RDBESDataObject" if(inherits(rdbesTables, "RDBESDataObject")) { + availableTblNames <- names(rdbesTables) rdbesTables <- sort(rdbesTables) } else { stop("rdbesTables must be of class RDBESDataObject") @@ -44,8 +48,34 @@ getLinkedDataFromLevel <- function(field, values, rdbesTables, level, verbose = # Extract the source table abbreviation from the field name sourceTbl <- substr(field, 1, 2) - # Get the list of table names - tblNames <- names(rdbesTables) + #get the hierarchy of the source table + summary_values <- summary(rdbesTables) + hierarchy <- NA + if(!is.null(summary_values$hierarchy)){ + if(length(summary_values$hierarchy)>1){ + stop("Mixed hierarchy RDBESDataObject!", call.=FALSE) + } + hierarchy <- summary_values$hierarchy + } else { + stop(paste0("No hierarchy, RDBESdataObject:\n ")) + } + + # Get the list of table names with optional if needed + tblNames <- getTablesInRDBESHierarchy(hierarchy) + requiredTblNames <- getTablesInRDBESHierarchy( + hierarchy, + includeOptTables = FALSE + ) + + keepTblNames <- c(requiredTblNames, sourceTbl, level) + tblNames <- tblNames[tblNames %in% keepTblNames] + + #stop if tables in the data are missing required tables + missingTbls <- requiredTblNames[!requiredTblNames %in% availableTblNames] + if(length(missingTbls) > 0){ + stop(paste0("Missing required tables in the RDBESDataObject: ", + paste(missingTbls, collapse = ", "))) + } # Determine the positions of sourceTbl and target level in the table list sourcePos <- which(tblNames == sourceTbl) diff --git a/man/getLinkedDataFromLevel.Rd b/man/getLinkedDataFromLevel.Rd index 45f627a..43f90c6 100644 --- a/man/getLinkedDataFromLevel.Rd +++ b/man/getLinkedDataFromLevel.Rd @@ -23,6 +23,14 @@ The subset of the table at the specified \code{level}. \description{ The \code{getLinkedDataFromLevel} function facilitates the retrieval of linked data between different levels of RDBES tables. Depending on the relative positions of the source and target tables within the \code{RDBESDataObject}, the function determines whether to traverse "up" or "down" the data hierarchy to obtain the desired linked data. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: No +\item Review: rix133 +} +} + \examples{ \dontrun{ # Example 1: Going up in the table hierarchy to retrieve data from the DE table diff --git a/tests/testthat/test-getLinkedDataFromLevel.R b/tests/testthat/test-getLinkedDataFromLevel.R index 2413bfd..56cc3d0 100644 --- a/tests/testthat/test-getLinkedDataFromLevel.R +++ b/tests/testthat/test-getLinkedDataFromLevel.R @@ -1,3 +1,6 @@ +# AI-assisted: Yes +# Review: rix133 +capture.output({ ## suppresses printing of console output when running test() # Test for Example 1: Going up in the table hierarchy to retrieve data from the DE table test_that("Retrieve data from DE based on BVid", { @@ -37,6 +40,28 @@ test_that("Retrieve data from VS based on BVfishId", { }) +test_that("optional source tables can be linked to required tables", { + result <- getLinkedDataFromLevel( + "FTid", + H5Example$FT$FTid[1], + H5Example, + "DE" + ) + + expect_s3_class(result, "data.table") + expect_equal(nrow(result), 1) +}) + +test_that("error when a required table is missing", { + h5 <- data.table::copy(H5Example) + h5[["SD"]] <- NULL + + expect_error( + getLinkedDataFromLevel("DEid", c(1), h5, "BV"), + "Missing required tables in the RDBESDataObject: SD" + ) +}) + test_that("Error when rdbesTables is not of class RDBESDataObject", { # Pass an invalid class (e.g., a list) instead of RDBESDataObject invalid_rdbesTables <- list() @@ -56,6 +81,20 @@ test_that("Error when level is not found in rdbesTables", { ) }) +test_that("Error when mixed hierarchy in rdbesTables", { + obj <- data.table::copy(H8ExampleEE1) + # Add a DE row from a different hierarchy + obj[["DE"]] <- rbind(obj[["DE"]], H1Example[["DE"]][1]) + + + expect_error( + suppressWarnings( + getLinkedDataFromLevel("BVid", c(1), obj, "TE") + ), + "Mixed hierarchy RDBESDataObject!" + ) +}) + test_that("Retrieve data from VS based on BVfishId if There is an empty intermedate FM table", { h8 <- H8ExampleEE1 @@ -79,7 +118,7 @@ test_that("Retrieve data from VS based on BVfishId if There is an empty intermed expect_equal(nrow(res2), 3995) }) - +}) From 4bbed66cd2a7bc1dc8d3a1088c30902cd837def0 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 14:50:32 +0200 Subject: [PATCH 57/87] utility function that detects use of non-exported function in examples related to #267 --- R/detectNonExportedExamples.R | 377 ++++++++++++++++++ .../testthat/test-detectNonExportedExamples.R | 62 +++ ...erating-zeros-for-species-not-observed.Rmd | 5 +- 3 files changed, 441 insertions(+), 3 deletions(-) create mode 100644 R/detectNonExportedExamples.R create mode 100644 tests/testthat/test-detectNonExportedExamples.R diff --git a/R/detectNonExportedExamples.R b/R/detectNonExportedExamples.R new file mode 100644 index 0000000..3a36ed4 --- /dev/null +++ b/R/detectNonExportedExamples.R @@ -0,0 +1,377 @@ +#' Detect Non-Exported Functions Used in Package Examples +#' +#' Scans the \file{man/} directory of an R package and identifies calls to +#' non-exported functions in the examples sections of its Rd documentation. +#' Function definitions are collected from the package's \file{R/} directory, +#' and exported function names are read from the package's +#' \file{NAMESPACE} file. +#' +#' The function does not execute examples. It parses the documentation and +#' source files to identify candidate calls to non-exported functions. +#' +#' @param pkgPath Character string specifying the path to the root directory +#' of an R package source tree. The directory should contain \file{man/}, +#' \file{R/}, and \file{NAMESPACE}. +#' +#' @return A data frame with one row per detected call and the following +#' columns: +#' \describe{ +#' \item{topic}{Name of the Rd documentation topic in which the call +#' was detected, usually the filename without the \file{.Rd} extension.} +#' \item{function_name}{Name of the non-exported function detected in +#' the example.} +#' \item{call_type}{Type of call: \code{unqualified} for a direct +#' function call, or \code{explicit :::} for an explicitly +#' namespace-qualified call using the triple-colon operator.} +#' \item{defined_in_package}{Logical value indicating whether the +#' function was found among the function definitions detected in the +#' package's \file{R/} source files.} +#' } +#' +#' If no matching calls are found, an empty data frame with these columns +#' is returned. +#' +#' @details +#' The function identifies two types of calls: +#' \itemize{ +#' \item Unqualified calls to functions defined in the package source +#' that are not listed as exports in \file{NAMESPACE}. +#' \item Calls using \code{pkg:::fun()}, where \code{pkg} matches the +#' package directory name and \code{fun} is not exported. +#' } +#' +#' The \code{defined_in_package} column is based on static inspection of +#' source files. A value of \code{FALSE} for an explicitly qualified call +#' means that a matching direct function definition was not found. This +#' does not necessarily mean that the function is absent; it may be generated +#' dynamically or defined in a form not recognized by the detector. +#' +#' The analysis is static and may not identify calls created dynamically +#' through mechanisms such as \code{get()}, \code{assign()}, or +#' metaprogramming. It also relies on the package's source files and +#' \file{NAMESPACE} being consistent with the documentation being inspected. +#' +#' @seealso [tools::parse_Rd()], [tools::Rd2ex()] +#' +#' @section Development review: +#' - AI-assisted: Yes +#' - Review: +#' - Notes/scope: not really reviewed, just worked when needed and could be useful +#' in the future +#' +#' @keywords internal +#' +#' @examples +#' \dontrun{ +#' # Scan a local package source directory +#' issues <- detectNonExportedExamples("path/to/package") +#' +#' # Display all detected calls +#' print(issues) +#' +#' # Inspect calls whose definitions were not found in the source +#' subset(issues, defined_in_package == FALSE) +#' } +#' + +detectNonExportedExamples <- function(pkgPath) { + stopifnot(dir.exists(pkgPath)) + + man_dir <- file.path(pkgPath, "man") + r_dir <- file.path(pkgPath, "R") + ns_file <- file.path(pkgPath, "NAMESPACE") + + if (!dir.exists(man_dir)) { + stop("Cannot find package man/ directory: ", man_dir) + } + + # -------------------------------------------------- + # 1. Read exported function names from NAMESPACE + # -------------------------------------------------- + exports <- character() + + if (file.exists(ns_file)) { + ns_lines <- readLines(ns_file, warn = FALSE) + + export_lines <- grep( + "^\\s*export\\s*\\(", + ns_lines, + value = TRUE + ) + + exports <- unlist( + lapply(export_lines, function(line) { + matches <- regmatches( + line, + gregexpr( + 'export\\s*\\(\\s*["\u0060]?[^)"\u0060]+\\)', + line, + perl = TRUE + ) + ) + matches + }) + ) + + # Parse NAMESPACE directives properly where possible + ns_exprs <- tryCatch( + parse(ns_file), + error = function(e) expression() + ) + + exports <- unique(unlist(lapply(ns_exprs, function(expr) { + if (is.call(expr) && + identical(expr[[1L]], as.name("export"))) { + as.character(expr[-1L]) + } else { + character() + } + }))) + } + + # -------------------------------------------------- + # 2. Find functions defined in the package's R files + # -------------------------------------------------- + internal_functions <- character() + + if (dir.exists(r_dir)) { + r_files <- list.files( + r_dir, + pattern = "\\.[Rr]$", + full.names = TRUE, + recursive = TRUE + ) + + for (file in r_files) { + exprs <- tryCatch( + parse(file), + error = function(e) expression() + ) + + find_definitions <- function(x) { + out <- character() + + if ( + is.call(x) && + length(x) >= 3L && + ( + identical(x[[1L]], as.name("<-")) || + identical(x[[1L]], as.name("=")) || + identical(x[[1L]], as.name("<<-")) + ) && + is.symbol(x[[2L]]) && + is.call(x[[3L]]) && + identical(x[[3L]][[1L]], as.name("function")) + ) { + out <- c(out, as.character(x[[2L]])) + } + + if (is.call(x) || is.expression(x) || is.pairlist(x)) { + for (i in seq_along(x)) { + # Skip missing arguments + if (identical(x[[i]], quote(expr = ))) { + next + } + + out <- c(out, find_definitions(x[[i]])) + } + } + + unique(out) + } + + internal_functions <- c( + internal_functions, + unlist(lapply(exprs, find_definitions)) + ) + } + } + + internal_functions <- unique(internal_functions) + + # -------------------------------------------------- + # 3. Extract calls from the original \examples{} tags + # -------------------------------------------------- + rd_files <- list.files( + man_dir, + pattern = "\\.Rd$", + full.names = TRUE, + recursive = TRUE + ) + + results <- list() + + get_calls <- function(x) { + calls <- character() + + if (is.call(x)) { + head <- x[[1L]] + + # Ordinary function call: foo(...) + if (is.symbol(head)) { + calls <- c(calls, as.character(head)) + } + + # Namespace-qualified call: pkg::foo(...) or pkg:::foo(...) + if ( + is.call(head) && + length(head) == 3L && + ( + identical(head[[1L]], as.name("::")) || + identical(head[[1L]], as.name(":::")) + ) && + is.symbol(head[[2L]]) && + is.symbol(head[[3L]]) + ) { + operator <- as.character(head[[1L]]) + + calls <- c( + calls, + paste0( + as.character(head[[2L]]), + operator, + as.character(head[[3L]]) + ) + ) + } + + # Traverse arguments, skipping missing arguments + for (i in seq_along(x)[-1L]) { + arg <- tryCatch(x[[i]], error = function(e) NULL) + + if (!is.null(arg)) { + calls <- c(calls, get_calls(arg)) + } + } + + } else if (is.expression(x) || is.pairlist(x) || is.list(x)) { + for (i in seq_along(x)) { + el <- tryCatch(x[[i]], error = function(e) NULL) + + if (!is.null(el)) { + calls <- c(calls, get_calls(el)) + } + } + } + + unique(calls) + } + + # Recursively extract text under \examples{} + extract_examples <- function(rd) { + found <- list() + + walk <- function(node) { + if (!is.list(node)) return() + + if (identical(attr(node, "Rd_tag"), "\\examples")) { + found[[length(found) + 1L]] <<- node + return() + } + + for (child in node) { + walk(child) + } + } + + walk(rd) + found + } + + for (file in rd_files) { + rd <- tryCatch( + tools::parse_Rd(file), + error = function(e) NULL + ) + + if (is.null(rd)) next + + examples <- extract_examples(rd) + if (!length(examples)) next + + topic <- sub("\\.Rd$", "", basename(file)) + + for (example in examples) { + # Convert Rd markup to example R code. This does not + # execute the examples. + code <- paste( + unlist(lapply(example, function(part) { + paste(as.character(part), collapse = "") + })), + collapse = "\n" + ) + + # Fallback to Rd2ex if direct extraction cannot be parsed + exprs <- tryCatch( + parse(text = code), + error = function(e) NULL + ) + + if (is.null(exprs)) { + tmp <- tempfile(fileext = ".R") + tryCatch({ + tools::Rd2ex(rd, out = tmp) + exprs <- parse(file = tmp) + }, error = function(e) { + exprs <<- NULL + }, finally = { + unlink(tmp) + }) + } + + if (is.null(exprs)) next + + calls <- unique(unlist(lapply(exprs, get_calls))) + + for (call_name in calls) { + # Namespace-qualified calls + if (grepl("::", call_name, fixed = TRUE)) { + parts <- strsplit(call_name, "::", fixed = TRUE)[[1L]] + fn <- parts[length(parts)] + operator <- if (grepl(":::", call_name, fixed = TRUE)) { + ":::" + } else { + "::" + } + + if (operator == ":::" && + parts[1L] == basename(pkgPath) && + !fn %in% exports) { + results[[length(results) + 1L]] <- data.frame( + topic = topic, + function_name = fn, + call_type = "explicit :::", + defined_in_package = fn %in% internal_functions, + stringsAsFactors = FALSE + ) + } + + next + } + + # Unqualified calls to package-defined functions + if (call_name %in% internal_functions && + !call_name %in% exports) { + results[[length(results) + 1L]] <- data.frame( + topic = topic, + function_name = call_name, + call_type = "unqualified", + defined_in_package = TRUE, + stringsAsFactors = FALSE + ) + } + } + } + } + + if (!length(results)) { + return(data.frame( + topic = character(), + function_name = character(), + call_type = character(), + defined_in_package = logical() + )) + } + + unique(do.call(rbind, results)) +} diff --git a/tests/testthat/test-detectNonExportedExamples.R b/tests/testthat/test-detectNonExportedExamples.R new file mode 100644 index 0000000..5a310cb --- /dev/null +++ b/tests/testthat/test-detectNonExportedExamples.R @@ -0,0 +1,62 @@ + +test_that("detectNonExportedExamples finds non-exported functions in examples", { + pkg_path <- tempfile("testpkg-") + dir.create(pkg_path) + dir.create(file.path(pkg_path, "R")) + dir.create(file.path(pkg_path, "man")) + + # Minimal package metadata + writeLines( + c( + "Package: testpkg", + "Title: Test Package", + "Version: 0.0.1", + "Description: A package for testing.", + "License: MIT" + ), + file.path(pkg_path, "DESCRIPTION") + ) + + # Define one exported and one internal function + writeLines( + c( + "export(public_fun)" + ), + file.path(pkg_path, "NAMESPACE") + ) + + writeLines( + c( + "public_fun <- function(x) x", + "internal_fun <- function(x) x" + ), + file.path(pkg_path, "R", "functions.R") + ) + + # Help page example calls the internal function + writeLines( + c( + "\\\\name{public_fun}", + "\\\\alias{public_fun}", + "\\\\title{Public function}", + "\\\\description{A test help page.}", + "\\\\examples{", + "public_fun(1)", + "internal_fun(1)", + "}" + ), + file.path(pkg_path, "man", "public_fun.Rd") + ) + + result <- detectNonExportedExamples(pkg_path) + + expect_true(is.data.frame(result)) + expect_true(all(c( + "topic", "function_name", "call_type", "defined_in_package" + ) %in% names(result))) + + expect_true(any( + result$function_name == "internal_fun" & + result$defined_in_package + )) +}) diff --git a/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd b/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd index da06c49..f9515b9 100644 --- a/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd +++ b/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd @@ -29,12 +29,11 @@ library(data.table) ## Load and validate example data ```{r} -# read an example dataset and simplify it to 1 trip and 1 haul [dev bote: this section needs to be reworked when data and filterRDBESDataObject are updated] +# read an example dataset and simplify it to 1 trip and 1 haul data(Pckg_survey_apistrat_H1) myH1DataObject1 <- Pckg_survey_apistrat_H1 myH1DataObject1$SL<-myH1DataObject1$SL[grepl(myH1DataObject1$SL$SLspeclistName, pat="Pckg_survey_apistrat_H1"),] -#myH1DataObject1<-filterAndTidyRDBESDataObject(myH1DataObject1, fieldsToFilter="FOid",valuesToFilter=70849, killOrphans = TRUE) -myH1DataObject1<-filterRDBESDataObject(myH1DataObject1, fieldsToFilter="SSid",valuesToFilter=myH1DataObject1$SS$SSid[1], killOrphans = TRUE) +myH1DataObject1<-filterAndTidyRDBESDataObject(myH1DataObject1, fieldsToFilter="FOid",valuesToFilter=70849) # check it is a valid RDBESobject validateRDBESDataObject(myH1DataObject1) ``` From 0f1c5ef9edca65fea24baa6fb3632f3d4fd31f38 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 15:02:17 +0200 Subject: [PATCH 58/87] added a 2nd test and documented AI assistance --- .../testthat/test-detectNonExportedExamples.R | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/tests/testthat/test-detectNonExportedExamples.R b/tests/testthat/test-detectNonExportedExamples.R index 5a310cb..56219cd 100644 --- a/tests/testthat/test-detectNonExportedExamples.R +++ b/tests/testthat/test-detectNonExportedExamples.R @@ -1,3 +1,7 @@ +#' - AI-assisted: Yes +#' - Review: +#' - Notes/scope: not really reviewed, just worked when needed +#' test_that("detectNonExportedExamples finds non-exported functions in examples", { pkg_path <- tempfile("testpkg-") @@ -60,3 +64,54 @@ test_that("detectNonExportedExamples finds non-exported functions in examples", result$defined_in_package )) }) + +test_that("detectNonExportedExamples ignores exported functions", { + pkg_path <- tempfile("testpkg-") + dir.create(pkg_path) + dir.create(file.path(pkg_path, "R")) + dir.create(file.path(pkg_path, "man")) + + writeLines( + c( + "Package: testpkg", + "Title: Test Package", + "Version: 0.0.1", + "Description: A package for testing.", + "License: MIT" + ), + file.path(pkg_path, "DESCRIPTION") + ) + + # Both functions are defined, but only public_fun is exported + writeLines( + "export(public_fun)", + file.path(pkg_path, "NAMESPACE") + ) + + writeLines( + c( + "public_fun <- function(x) x", + "internal_fun <- function(x) x" + ), + file.path(pkg_path, "R", "functions.R") + ) + + # The example calls only the exported function + writeLines( + c( + "\\name{public_fun}", + "\\alias{public_fun}", + "\\title{Public function}", + "\\description{A test help page.}", + "\\examples{", + "public_fun(1)", + "}" + ), + file.path(pkg_path, "man", "public_fun.Rd") + ) + + result <- detectNonExportedExamples(pkg_path) + + expect_false(any(result$function_name == "public_fun")) +}) + From 3c4c009185d9708f1940fd080b7243920e2859ff Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 15:14:25 +0200 Subject: [PATCH 59/87] added clean up of tmp dir/package. related to #267 --- tests/testthat/test-detectNonExportedExamples.R | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/testthat/test-detectNonExportedExamples.R b/tests/testthat/test-detectNonExportedExamples.R index 56219cd..16a8d03 100644 --- a/tests/testthat/test-detectNonExportedExamples.R +++ b/tests/testthat/test-detectNonExportedExamples.R @@ -40,11 +40,11 @@ test_that("detectNonExportedExamples finds non-exported functions in examples", # Help page example calls the internal function writeLines( c( - "\\\\name{public_fun}", - "\\\\alias{public_fun}", - "\\\\title{Public function}", - "\\\\description{A test help page.}", - "\\\\examples{", + "\\name{public_fun}", + "\\alias{public_fun}", + "\\title{Public function}", + "\\description{A test help page.}", + "\\examples{", "public_fun(1)", "internal_fun(1)", "}" @@ -63,6 +63,9 @@ test_that("detectNonExportedExamples finds non-exported functions in examples", result$function_name == "internal_fun" & result$defined_in_package )) + + # Clean up + unlink(pkg_path, recursive = TRUE) }) test_that("detectNonExportedExamples ignores exported functions", { @@ -113,5 +116,9 @@ test_that("detectNonExportedExamples ignores exported functions", { result <- detectNonExportedExamples(pkg_path) expect_false(any(result$function_name == "public_fun")) + + # Clean up + unlink(pkg_path, recursive = TRUE) + }) From be3910a4da006380a5c7648ef994debf668fa43b Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 15:58:38 +0200 Subject: [PATCH 60/87] updated example to exported function #267 --- R/validateRDBESDataObject.R | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/R/validateRDBESDataObject.R b/R/validateRDBESDataObject.R index 2686816..c79f12e 100644 --- a/R/validateRDBESDataObject.R +++ b/R/validateRDBESDataObject.R @@ -29,10 +29,9 @@ #' @aliases checkRDBESDataObject #' @examples #' \dontrun{ -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests/testthat/h1_v_1_19") -#' validateRDBESDataObject(myH1RawObject)} -#' +#' dataDir <- paste0(system.file("extdata", package = "RDBEScore"), "/") +#' myH1DataObject <- createRDBESDataObject(input = paste0(dataDir,"H1_Example.zip")) +#' validateRDBESDataObject(myH1DataObject)} validateRDBESDataObject <- function(objectToCheck, checkDataTypes = FALSE, verbose = FALSE, From 14076174731fbdfdec4f41971e81bfba3b718a03 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:03:02 +0200 Subject: [PATCH 61/87] updated example to exported function related to issue #267 --- R/validateRDBESEstObject.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/validateRDBESEstObject.R b/R/validateRDBESEstObject.R index fa504ce..2d7f233 100644 --- a/R/validateRDBESEstObject.R +++ b/R/validateRDBESEstObject.R @@ -10,9 +10,9 @@ #' #' @examples #' \dontrun{ -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests/testthat/h1_v_1_19") -#' myEStObj <- createRDBESEstObject(myH1RawObject,1) +#' dataDir <- paste0(system.file("extdata", package = "RDBEScore"), "/") +#' myH1DataObject <- createRDBESDataObject(input = paste0(dataDir,"H1_Example.zip")) +#' myEStObj <- createRDBESEstObject(myH1DataObject,1) #' validateRDBESEstObject(myEStObj)} validateRDBESEstObject <- function(objectToCheck, verbose = FALSE){ From d94f706db8fbd2ee0c5089001b1a64ecc1c13f58 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:09:38 +0200 Subject: [PATCH 62/87] updated examples to exported function related to issue #267 --- R/importRDBESDataCSV.R | 2 +- R/importRDBESDataZIP.R | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/importRDBESDataCSV.R b/R/importRDBESDataCSV.R index c333daa..e0c35e9 100644 --- a/R/importRDBESDataCSV.R +++ b/R/importRDBESDataCSV.R @@ -32,7 +32,7 @@ #' \dontrun{ #' myEmptyRDBESObject <- importRDBESDataCSV() #' rdbesExtractPath <- "./tests/testthat/h7_v_1_19_18/" -#' obj <- importRDBESDataCSV(rdbesExtractPath) +#' obj <- RDBEScore:::importRDBESDataCSV(rdbesExtractPath) #' } #' importRDBESDataCSV <- function(rdbesExtractPath = NULL, diff --git a/R/importRDBESDataZIP.R b/R/importRDBESDataZIP.R index b8f29b0..4251237 100644 --- a/R/importRDBESDataZIP.R +++ b/R/importRDBESDataZIP.R @@ -23,7 +23,7 @@ #' @examples #' \dontrun{ #' rdbesExtractPath <- "./2022_FPN_FPE_H7.zip" -#' obj <- importRDBESDataZIP(rdbesExtractPath) +#' obj <- RDBEScore:::importRDBESDataZIP(rdbesExtractPath) #' } importRDBESDataZIP <- function(filenames, From 11a558bab2d2bb437a758bdd2c406dff48dc9dfd Mon Sep 17 00:00:00 2001 From: Ana Fernandes <49688265+anacfernandes@users.noreply.github.com> Date: Tue, 13 Oct 2026 15:10:26 +0100 Subject: [PATCH 63/87] Update README.md Corrected some typos and added new link for ices logo --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 3674edf..a540bfc 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![CRAN Total](http://cranlogs.r-pkg.org/badges/grand-total/RDBEScore)](https://cran.r-project.org/package=RDBEScore) --> -[ICES Logo](http://ices.dk) +[ICES Logo](http://ices.dk) `RDBEScore` ========= @@ -97,7 +97,7 @@ install_github("ices-tools-dev/RDBEScore@dev", build = FALSE) ## How to Start developing -Contributions are welcome and the use of AI coding tools are premitted, but all code must be tested and checked by humans to maintain the reliability of the package. Confidential information should never be commited. +Contributions are welcome and the use of AI coding tools are permitted, but all code must be tested and checked by humans to maintain the reliability of the package. Confidential information should never be commited. > [!WARNING] > Working with RDBES data is working with confidential data that is subjected to a data policy that aims to prevent unintended misuse or leakage of information by individual users, and keep trust in the RDBES system. Because of that, RDBES data should be handled with special care (e.g., never be commited to github or AI services without explicit permission from the data owner) and development should be done, to the extent possible, using synthetic or public data. @@ -123,7 +123,7 @@ The main package directories are: 2. **Start from the latest `dev` branch.** Work directly on `dev` if you can ensure that you never commit code that has failing tests. If you are unsure you can always create your own development branch based on `dev` and work there. Wherever you work remember to pull frequently so your code does not deviate too far from others. The `main` branch is protected and only accepts changes through pull requests. -3. **Write or modify the code and tests.** You can do this manually or with AI coding tools. New functions should include roxygen2 documentation and appropriate tests. Add or update examples and vignettes when relevant. Aim to keep changes related to one issue together. +3. **Write or modify the code and tests.** You can do this manually or with AI coding tools. New functions should include *roxygen2* documentation and appropriate tests. Add or update examples and vignettes when relevant. Aim to keep changes related to one issue together. 4. **Document AI involvement and human review.** Add the information described in Section 3 to every new or substantially modified function and test(s). @@ -143,13 +143,13 @@ The main package directories are: ### 3. AI-assisted development and human review -Starting with version 0.3.5, contributors are permitted to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. If you posess confidential RDBES data using installed AI products (e.g. VScode, Codex, Claude Code, PositAI, browser add-ons etc) is only allowed if you have explicit permission from the data owner. Browser-based AI may also be used as long as tools permissions have been checked and confidential information or data is not submitted to them. +Starting with version 0.3.5, contributors are permitted to use AI coding tools to accelerate development. However, all contributors remain responsible for understanding and verifying their code, regardless of whether it was written manually or generated with AI. If you possess confidential RDBES data when using installed AI products (e.g. VScode, Codex, Claude Code, PositAI, browser add-ons etc), that is only allowed if you have explicit permission from the data owner. Browser-based AI may also be used as long as tools permissions have been checked and confidential information or data is not submitted to them. Every **new or substantially modified** function and test must document **AI involvement**. **Function documentation** -Include a `Development review` section in the function's roxygen2 documentation so that the information appears in the installed package's R help pages (`?functionName`). +Include a `Development review` section in the function's *roxygen2* documentation so that the information appears in the installed package's R help pages (`?functionName`). ```r #' @section Development review: @@ -183,7 +183,7 @@ capture.output({ ## suppresses printing of console output when running test() **Meaning of the fields** - **AI-assisted:** `Yes` if AI tools were used to generate or substantially modify the current code or test, otherwise `No`. Routine autocomplete or minor wording corrections do not need to be reported. -- **Review:** Github usernames of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. +- **Review:** GitHub usernames of people who have checked and accepted the current implementation or test. The original contributor records one approval after checking their own work. Each additional reviewer who approves the current version is added. - **Notes/scope (optional):** Briefly describe what has been verified, for example specific RDBES sampling hierarchies, datasets, reference calculations, or known limitations. Include data versions or dates when relevant. **Updating review** @@ -194,12 +194,12 @@ When another person reviews the code or test and approves it without changes, ad # Review: janesmith, johnbrown ``` -If a reviewer wants to modify the code substantially they are expected to raise an issue to inform others about it. Previous reviewers should be assigned to that issue and informed about the new issue. +If a reviewer wants to modify the code substantially, they are expected to raise an issue to inform others about it. Previous reviewers should be assigned to that issue and informed about the new issue. Review for functions and tests are maintained separately. A change to one does not automatically invalidate approval of the other, unless its correctness is affected. **Major changes** -Major changes (Sensu changes to multiple functions, that take time to review) should only be done after a plenary discussion. To the extent possible the previous reviewers are informed ahead of those changes and allowed enough time to form an opinion. +Major changes (Sensu changes to multiple functions, that take time to review) should only be done after a plenary discussion. To the extent possible, the previous reviewers are informed ahead of those changes and allowed enough time to form an opinion. **Testing and scientific reliability** @@ -215,7 +215,7 @@ The `dev` branch may contain functions that are still being developed, tested or We aim at 2 releases a year (autumn and spring) and an online meeting will be scheduled to approve the pull request to the main. -When preparing a release a subset of the package contributors will: +When preparing a release, a subset of the package contributors will: 1. Identify the functions and changes that are ready, considering their tests, human review and any review notes. 2. If only some changes from `dev` are ready, create a release branch from `main` and selectively transfer the required commits using Git cherry-pick. Include any dependent changes, tests and documentation. From 64cc7fd14c74afeb9eabd41a7733fa7ccf1b2a1f Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:20:13 +0200 Subject: [PATCH 64/87] updated example to exported function #267 improved example: now demonstrates strict=F --- R/combineRDBESDataObjects.R | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/R/combineRDBESDataObjects.R b/R/combineRDBESDataObjects.R index 9bfc7cb..0557bde 100644 --- a/R/combineRDBESDataObjects.R +++ b/R/combineRDBESDataObjects.R @@ -22,15 +22,12 @@ #' #' @examples #' \dontrun{ -#' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19") -#' myH5RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h5_v_1_19") -#' -#' myCombinedRawObject <- combineRDBESDataObjects(RDBESDataObject1=myH1RawObject, -#' RDBESDataObject2=myH5RawObject) -#' } +#' myH1DataObject <- H1Example +#' myH5DataObject <- H5Example +#' myCombinedRawObject <- combineRDBESDataObjects(RDBESDataObject1=myH1DataObject, +#' RDBESDataObject2=myH5DataObject) +#' myCombinedRawObject <- combineRDBESDataObjects(RDBESDataObject1=myH1DataObject, +#' RDBESDataObject2=myH5DataObject, strict=F)} RDBESDataObject2=myH5RawObject) combineRDBESDataObjects <- function(RDBESDataObject1, RDBESDataObject2, verbose = FALSE, From 17776b937fc1182a5c2a18f863eacdbac70f0282 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:37:07 +0200 Subject: [PATCH 65/87] updated example to exported function and data sets now available #267 --- R/importRDBESDataCSV.R | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/R/importRDBESDataCSV.R b/R/importRDBESDataCSV.R index e0c35e9..a539dc4 100644 --- a/R/importRDBESDataCSV.R +++ b/R/importRDBESDataCSV.R @@ -30,10 +30,11 @@ #' #' @examples #' \dontrun{ -#' myEmptyRDBESObject <- importRDBESDataCSV() -#' rdbesExtractPath <- "./tests/testthat/h7_v_1_19_18/" -#' obj <- RDBEScore:::importRDBESDataCSV(rdbesExtractPath) -#' } +#' dataDir <- paste0(system.file("extdata", package = "RDBEScore"), "/") +#' tmpDir<-tempdir(check = FALSE) +#' unzip(paste0(dataDir,"H1_Example.zip"), exdir=tmpDir) +#' myH1DataObject<-importRDBESDataCSV(file.path(tmpDir,"H1")) +#' validateRDBESDataObject(myH1DataObject)} #' importRDBESDataCSV <- function(rdbesExtractPath = NULL, listOfFileNames = NULL, From 7cc40d48e490d9a3f8b7cccbc5afc5feb0a22031 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:41:28 +0200 Subject: [PATCH 66/87] updated example to exported function and data sets now available #267 --- R/importRDBESDataZIP.R | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/R/importRDBESDataZIP.R b/R/importRDBESDataZIP.R index 4251237..e4035d8 100644 --- a/R/importRDBESDataZIP.R +++ b/R/importRDBESDataZIP.R @@ -22,10 +22,10 @@ #' #' @examples #' \dontrun{ -#' rdbesExtractPath <- "./2022_FPN_FPE_H7.zip" -#' obj <- RDBEScore:::importRDBESDataZIP(rdbesExtractPath) -#' } - +#' dataDir <- paste0(system.file("extdata", package = "RDBEScore"), "/") +#' myH1DataObject <- RDBEScore:::importRDBESDataZIP(file.path(dataDir,"H1_Example.zip")) +#' validateRDBESDataObject(myH1DataObject)} +#' importRDBESDataZIP <- function(filenames, castToCorrectDataTypes = TRUE, Hierarchy = NULL, ...) { From 10d14b29f80c318f84260a546843c2ec091d92ba Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:45:08 +0200 Subject: [PATCH 67/87] updated example to exported function and data sets now available #267 --- R/createTableOfRDBESIds.r | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/R/createTableOfRDBESIds.r b/R/createTableOfRDBESIds.r index 434803a..1206557 100644 --- a/R/createTableOfRDBESIds.r +++ b/R/createTableOfRDBESIds.r @@ -12,12 +12,9 @@ #' #' @examples #' \dontrun{ +#' myH1DataObject <- H1Example +#' myTableOfIds <- createTableOfRDBESIds(myH1DataObject)} #' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19_13") -#' -#' myTableOfIds<- createTableOfRDBESIds(myH1RawObject) -#' } createTableOfRDBESIds<-function(x, addSAseqNums=TRUE){ From d020717d2ad8e3053e7a2466702f357d31acbaa3 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:55:01 +0200 Subject: [PATCH 68/87] updated example to exported function and data sets now available #267 --- R/doEstimationForAllStrata.R | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/R/doEstimationForAllStrata.R b/R/doEstimationForAllStrata.R index 1cc650f..fffe508 100644 --- a/R/doEstimationForAllStrata.R +++ b/R/doEstimationForAllStrata.R @@ -12,17 +12,16 @@ #' @examples #' \dontrun{ #' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19") +#' myH1DataObject <- H1Example #' #' # Update our test data with some random sample measurements -#' myH1RawObject[["SA"]]$SAsampWtLive <- -#' round(runif(n = nrow(myH1RawObject[["SA"]]), min = 1, max = 100)) +#' myH1DataObject[["SA"]]$SAsampWtLive <- +#' round(runif(n = nrow(myH1DataObject[["SA"]]), min = 1, max = 100)) #' -#' myH1EstObj <- createRDBESEstObject(myH1RawObject, 1) +#' myH1EstObj <- createRDBESEstObject(myH1DataObject, 1) #' #' myStrataEst <- doEstimationForAllStrata( -#' RDBESDataObjectForEstim = myH1EstObj, +#' RDBESEstObjectForEstim = myH1EstObj, #' targetValue = 'SAsampWtLive' #' ) #' } From 33650030eb2795f7e2b3bf9e826c656a9a438c05 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:56:18 +0200 Subject: [PATCH 69/87] updated example to exported function #267 --- R/createTableOfRDBESIds.r | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/createTableOfRDBESIds.r b/R/createTableOfRDBESIds.r index 1206557..34df003 100644 --- a/R/createTableOfRDBESIds.r +++ b/R/createTableOfRDBESIds.r @@ -13,7 +13,7 @@ #' @examples #' \dontrun{ #' myH1DataObject <- H1Example -#' myTableOfIds <- createTableOfRDBESIds(myH1DataObject)} +#' myTableOfIds <- RDBEScore:::createTableOfRDBESIds(myH1DataObject)} #' createTableOfRDBESIds<-function(x, addSAseqNums=TRUE){ From 0e0ef434ef376a71f3733daf4ab4ffc9c14db83f Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:01:49 +0200 Subject: [PATCH 70/87] updated example to exported function and data sets now available #267 --- R/createDBEPrepObj.R | 2 +- R/doDBEestimantionObjUpp.R | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/R/createDBEPrepObj.R b/R/createDBEPrepObj.R index 4c92e69..0fd894e 100644 --- a/R/createDBEPrepObj.R +++ b/R/createDBEPrepObj.R @@ -12,7 +12,7 @@ #' input <- "WKRDB-EST2/testData/output/DBErawObj/" #' output <- "WKRDB-EST2/subGroup1/personal/John/PreparedOutputs/" #' -#' createDBEPrepObj(input = input, output = output) +#' RDBEScore:::createDBEPrepObj(input = input, output = output) #' } createDBEPrepObj <- function(input, output) { diff --git a/R/doDBEestimantionObjUpp.R b/R/doDBEestimantionObjUpp.R index 554ea72..109e240 100644 --- a/R/doDBEestimantionObjUpp.R +++ b/R/doDBEestimantionObjUpp.R @@ -8,9 +8,8 @@ #' #' @examples #' \dontrun{ -#' H1 <- -#' readRDS("./WKRDB-EST2/testData/output/DBErawObj/DBErawObj_DK_1966_H1.rds") -#' H1out <- doDBEestimantionObjUpp(H1) +#' myH1DataObject <- H1Example +#' H1out <- RDBEScore:::doDBEestimantionObjUpp(myH1DataObject) #' } From 1513068920e46ca8f51576d91d6607fc455c553d Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:05:28 +0200 Subject: [PATCH 71/87] updated example to exported function #267 --- R/doDBestimation.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/doDBestimation.R b/R/doDBestimation.R index e6ac66c..690c6ac 100644 --- a/R/doDBestimation.R +++ b/R/doDBestimation.R @@ -22,7 +22,7 @@ #' @examples #' \dontrun{ #' data(shrimps) -#' doDBestimation (x = shrimps, estimateType = "total", +#' RDBEScore:::doDBestimation (x = shrimps, estimateType = "total", #' pointEstimator = "Unbiased", varEstimator = "WRonPSUviaPsi",stage = 0, #' domainOfinterest = NULL ) #' } From 72f2a6042fb7ce4d55b8372ae224254957d6e59b Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 18:06:01 +0300 Subject: [PATCH 72/87] #268 the upper table has the same amount of rows as the request --- R/upperTblData.R | 84 +++++++++++------- man/detectNonExportedExamples.Rd | 89 ++++++++++++++++++++ man/upperTblData.Rd | 20 ++++- tests/testthat/test-getLinkedDataFromLevel.R | 58 +++++++++++-- tests/testthat/test-upperTblData.R | 36 +++++--- 5 files changed, 236 insertions(+), 51 deletions(-) create mode 100644 man/detectNonExportedExamples.Rd diff --git a/R/upperTblData.R b/R/upperTblData.R index 298c49b..5a7a062 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -21,46 +21,68 @@ #' @return A data frame containing rows from an upper table that match the #' provided values for the specified field. #' +#' @section Development review: +#' - AI-assisted: Yes +#' - Human review: rix133 +#' #' @examples #' # it is important to run these functions only on sorted RDBESDataObject #' RDBEScore:::upperTblData("SAid", c(1), sort(H8ExampleEE1), "DE", verbose = TRUE) #' DE <- data.table::data.table(DEid = c(1, 2)) #' SD <- data.table::data.table(SDid = c(1, 2), DEid = c(1, 2)) -#' VS <- data.table::data.table(VSid = c(1, 2),SDid =c(1,2), value = c(10, 20)) +#' VS <- data.table::data.table(VSid = c(1, 2),SDid =c(1,2), VSvalue = c(10, 20)) #' tbls <- list(DE = DE, SD = SD, VS = VS) #' RDBEScore:::upperTblData("VSid", c(1), tbls, "DE") #' @keywords internal -upperTblData <- function(field, values, tbls, level, verbose = FALSE){ - #check if tables are of correct type - if(!is.list(tbls)) stop("tbls must be a list") - if(!level %in% names(tbls)) stop(level, " must be a character string in the names of the tables") +upperTblData <- function(field, values, tbls, level, verbose = FALSE, + requestedField = field, requestedValues = values) { + + if (!is.list(tbls)) stop("tbls must be a list") + if (!level %in% names(tbls)) stop("Missing table in data: ", level) + + current <- substr(field, 1, 2) + i <- match(current, names(tbls)) + if (is.na(i)) stop("Missing table: ", current) + + # Keep track of original requested IDs + mapping <- unique(data.table::data.table( + .currentValue = values, + .requestedValue = requestedValues + )) + + # Match rows at the current level + result <- merge(mapping, tbls[[current]], + by.x = ".currentValue", by.y = field, + sort = FALSE, allow.cartesian = TRUE) + + # Continue recursively until the target level is reached + if (current != level) { + if (verbose) message(current, ": ", paste(values, collapse = ", ")) - start <- substr(field, start=1, stop=2) - if(start == level){ - res <- tbls[[level]] - return(res[get(field) %in% values,]) + # Find the nearest preceding non-empty table + candidates <- seq_len(i - 1L) + candidates <- candidates[vapply(tbls[candidates], NROW, integer(1)) > 0L] + if (!length(candidates)) stop("No upper table found for ", current) + + parentField <- paste0(names(tbls)[max(candidates)], "id") + + return(upperTblData( + parentField, result[[parentField]], tbls, level, + verbose, requestedField, result[[".requestedValue"]] + )) } - tbl <- tbls[[start]] - currTbl <- which(start == names(tbls)) - if(verbose){ - print(paste0(start,": ", paste0(values, collapse = ", "))) + + # Restore column names at the target level + data.table::setnames(result, ".currentValue", field) + + if (requestedField %in% names(result)) { + result[, .requestedValue := NULL] + } else { + data.table::setnames(result, ".requestedValue", requestedField) + data.table::setcolorder( + result, c(requestedField, setdiff(names(result), requestedField)) + ) } - #skip NULL tables - tc <- -1 - prevTbl <- names(tbls)[currTbl+tc] - tryCatch({ - while(is.null(tbls[[prevTbl]]) || nrow(tbls[[prevTbl]]) == 0){ - if(verbose){ - print(paste0("Skipping: ", prevTbl)) - } - tc <- tc - 1 - if((currTbl+tc) < 1) stop("No table found") - prevTbl <- names(tbls)[currTbl+tc] - } - }, error = function(e) { - stop("Error in linking tables ", names(tbls)[currTbl], " and ",prevTbl) - }) - prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") - prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] - upperTblData(prevTblfield,prevTblvalues, tbls[1:currTbl], level, verbose) + + result } diff --git a/man/detectNonExportedExamples.Rd b/man/detectNonExportedExamples.Rd new file mode 100644 index 0000000..5a48099 --- /dev/null +++ b/man/detectNonExportedExamples.Rd @@ -0,0 +1,89 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/detectNonExportedExamples.R +\name{detectNonExportedExamples} +\alias{detectNonExportedExamples} +\title{Detect Non-Exported Functions Used in Package Examples} +\usage{ +detectNonExportedExamples(pkgPath) +} +\arguments{ +\item{pkgPath}{Character string specifying the path to the root directory +of an R package source tree. The directory should contain \file{man/}, +\file{R/}, and \file{NAMESPACE}.} +} +\value{ +A data frame with one row per detected call and the following +columns: +\describe{ +\item{topic}{Name of the Rd documentation topic in which the call +was detected, usually the filename without the \file{.Rd} extension.} +\item{function_name}{Name of the non-exported function detected in +the example.} +\item{call_type}{Type of call: \code{unqualified} for a direct +function call, or \code{explicit :::} for an explicitly +namespace-qualified call using the triple-colon operator.} +\item{defined_in_package}{Logical value indicating whether the +function was found among the function definitions detected in the +package's \file{R/} source files.} +} + +If no matching calls are found, an empty data frame with these columns +is returned. +} +\description{ +Scans the \file{man/} directory of an R package and identifies calls to +non-exported functions in the examples sections of its Rd documentation. +Function definitions are collected from the package's \file{R/} directory, +and exported function names are read from the package's +\file{NAMESPACE} file. +} +\details{ +The function does not execute examples. It parses the documentation and +source files to identify candidate calls to non-exported functions. + +The function identifies two types of calls: +\itemize{ +\item Unqualified calls to functions defined in the package source +that are not listed as exports in \file{NAMESPACE}. +\item Calls using \code{pkg:::fun()}, where \code{pkg} matches the +package directory name and \code{fun} is not exported. +} + +The \code{defined_in_package} column is based on static inspection of +source files. A value of \code{FALSE} for an explicitly qualified call +means that a matching direct function definition was not found. This +does not necessarily mean that the function is absent; it may be generated +dynamically or defined in a form not recognized by the detector. + +The analysis is static and may not identify calls created dynamically +through mechanisms such as \code{get()}, \code{assign()}, or +metaprogramming. It also relies on the package's source files and +\file{NAMESPACE} being consistent with the documentation being inspected. +} +\section{Development review}{ + +\itemize{ +\item AI-assisted: Yes +\item Review: +\item Notes/scope: not really reviewed, just worked when needed and could be useful +in the future +} +} + +\examples{ +\dontrun{ +# Scan a local package source directory +issues <- detectNonExportedExamples("path/to/package") + +# Display all detected calls +print(issues) + +# Inspect calls whose definitions were not found in the source +subset(issues, defined_in_package == FALSE) +} + +} +\seealso{ +\code{\link[tools:parse_Rd]{tools::parse_Rd()}}, \code{\link[tools:Rd2ex]{tools::Rd2ex()}} +} +\keyword{internal} diff --git a/man/upperTblData.Rd b/man/upperTblData.Rd index 1ae01aa..bfcb01e 100644 --- a/man/upperTblData.Rd +++ b/man/upperTblData.Rd @@ -4,7 +4,15 @@ \alias{upperTblData} \title{Get Field from Upper Table} \usage{ -upperTblData(field, values, tbls, level, verbose = FALSE) +upperTblData( + field, + values, + tbls, + level, + verbose = FALSE, + requestedField = field, + requestedValues = values +) } \arguments{ \item{field}{A character string specifying the field to get.} @@ -34,12 +42,20 @@ values and returns the result. NB! running on the RDBESDataObject will work properly if it is sorted by default the tables are not in the correct order for a spesific hierarchy. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: Yes +\item Human review: rix133 +} +} + \examples{ # it is important to run these functions only on sorted RDBESDataObject RDBEScore:::upperTblData("SAid", c(1), sort(H8ExampleEE1), "DE", verbose = TRUE) DE <- data.table::data.table(DEid = c(1, 2)) SD <- data.table::data.table(SDid = c(1, 2), DEid = c(1, 2)) -VS <- data.table::data.table(VSid = c(1, 2),SDid =c(1,2), value = c(10, 20)) +VS <- data.table::data.table(VSid = c(1, 2),SDid =c(1,2), VSvalue = c(10, 20)) tbls <- list(DE = DE, SD = SD, VS = VS) RDBEScore:::upperTblData("VSid", c(1), tbls, "DE") } diff --git a/tests/testthat/test-getLinkedDataFromLevel.R b/tests/testthat/test-getLinkedDataFromLevel.R index 56cc3d0..9c68ce5 100644 --- a/tests/testthat/test-getLinkedDataFromLevel.R +++ b/tests/testthat/test-getLinkedDataFromLevel.R @@ -33,10 +33,8 @@ test_that("Retrieve data from VS based on BVfishId", { # Check that the result is a data.table (or other expected data structure) expect_s3_class(result, "data.table") - # Check that the result contains data (you can adjust this depending on known expected results) - expect_equal(nrow(result), 1) - - # Optionally, check for specific values in the result + expect_equal(nrow(result), 2) + expect_setequal(result$BVfishId, c("410472143", "410472144")) }) @@ -108,8 +106,8 @@ test_that("Retrieve data from VS based on BVfishId if There is an empty intermed # Check that the result is a data.table (or other expected data structure) expect_s3_class(result, "data.table") - # Check that the result contains data (you can adjust this depending on known expected results) - expect_equal(nrow(result), 1) + expect_equal(nrow(result), 2) + expect_setequal(result$BVfishId, c("410472143", "410472144")) #check also downwards direction res2 <- getLinkedDataFromLevel("DEid", c(1), h8, "BV") @@ -118,6 +116,54 @@ test_that("Retrieve data from VS based on BVfishId if There is an empty intermed expect_equal(nrow(res2), 3995) }) +test_that("Retrieve data from DE based on BVid retains the BVid field", { + result <- getLinkedDataFromLevel("BVid", c(1), H8ExampleEE1, "DE") + + # Check that the result is a data.table (or other expected data structure) + expect_s3_class(result, "data.table") + + # Check that the result has 1 row, as expected + expect_equal(nrow(result), 1) + + # Check that the result has the correct field + expect_true("BVid" %in% names(result)) + + # Check that the BVid field has the correct value + expect_equal(result$BVid, 1) +}) + +test_that("Retrieve data from TE based on DEid retains the DEid field", { + result <- getLinkedDataFromLevel("DEid", c(1), H8ExampleEE1, "TE") + + # Check that the result is a data.table (or other expected data structure) + expect_s3_class(result, "data.table") + + # Check that the result has 1 row, as expected + expect_equal(nrow(result), 11) + + # Check that the result has the correct field + expect_true("DEid" %in% names(result)) + + # Check that the DEid field has the correct value + expect_equal(result$DEid, c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)) +}) + +test_that("Retrieve data from FO based on DEid retains the DEid field", { + result <- getLinkedDataFromLevel("DEid", c(5351,5393), H1Example, "FO") + + # Check that the result is a data.table (or other expected data structure) + expect_s3_class(result, "data.table") + + # Check that the result has 1 row, as expected + expect_equal(nrow(result), 320) + + # Check that the result has the correct field + expect_true("DEid" %in% names(result)) + + # Check that the DEid field has the correct value + expect_equal(result$DEid, c(rep(5351, 300), rep(5393, 20))) +}) + }) diff --git a/tests/testthat/test-upperTblData.R b/tests/testthat/test-upperTblData.R index fed699b..44ed215 100644 --- a/tests/testthat/test-upperTblData.R +++ b/tests/testthat/test-upperTblData.R @@ -1,12 +1,17 @@ +# AI-assisted: No +# Review: rix133 +capture.output({ ## suppresses printing of console output when running test() + + DE <- data.table(DEid = c(1, 2)) SD <- data.table(SDid = c(1, 2), DEid = c(1, 2)) -VS <- data.table(VSid = c(1, 2), SDid = c(1, 2), value = c(10, 20)) +VS <- data.table(VSid = c(1, 2), SDid = c(1, 2), VSvalue = c(10, 20)) tbls <- list(DE = DE, SD = SD, VS = VS) test_that("upperTblData returns correct data for VSid = 1", { result <- upperTblData("VSid", c(1), tbls, "DE") - expected <- data.table(DEid = 1) + expected <- data.table(VSid = 1, DEid = 1) expect_equal(result, expected) }) @@ -14,7 +19,7 @@ test_that("upperTblData returns correct data for VSid = 1", { test_that("upperTblData returns correct data for VSid = 2", { result <- upperTblData("VSid", c(2), tbls, "DE") - expected <- data.table(DEid = 2) + expected <- data.table(VSid = 2, DEid = 2) expect_equal(result, expected) }) @@ -22,7 +27,7 @@ test_that("upperTblData returns correct data for VSid = 2", { test_that("upperTblData handles non-existent VSid", { result <- upperTblData("VSid", c(3), tbls, "DE") - expected <- data.table(DEid = integer(0)) + expected <- data.table(VSid = integer(0), DEid = integer(0)) expect_equal(result, expected) }) @@ -31,24 +36,31 @@ test_that("upperTblData works with RDBESDataObjects", { result <- upperTblData("SAid", c(1, 2), H8ExampleEE1, "TE") - expect_equal((nrow(result)), 1) - expect_equal((result$TEid), 1) + expect_equal(nrow(result), 2) + expect_equal(result$SAid, c(1, 2)) + expect_equal(result$TEid, c(1, 1)) }) test_that("upperTblData works with sorted RDBESDataObjects", { result <- upperTblData("SAid", c(1, 2), sort(H8ExampleEE1), "DE") - expect_equal((nrow(result)), 1) - expect_equal((result$DEid), 1) + expect_equal(nrow(result), 2) + expect_equal(result$SAid, c(1, 2)) + expect_equal(result$DEid, c(1, 1)) }) -test_that("upperTblData throws error for incorrect tbls type", { - expect_error(upperTblData("VSid", c(1), list(DE = 1, SD = 2, VS = 3), "DE"), "Error in linking tables VS and SD") -}) test_that("upperTblData throws error for incorrect level", { - expect_error(upperTblData("VSid", c(1), tbls, "XX"), "XX must be a character string in the names of the tables") + expect_error(upperTblData("VSid", c(1), tbls, "XX"), "Missing table in data: XX") }) +test_that("upperTblData has the in about the several rows requested also in the result", { + + result <- upperTblData("VSvalue", c(10,20), tbls, "DE") + expected <- data.table(VSvalue = c(10,20), DEid = c(1,2)) + + expect_equal(result, expected) +}) +}) From dffb272d7057199a31932c85d7483dbacf0ab35c Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:09:37 +0200 Subject: [PATCH 73/87] added call to data # 267 --- R/doEstimationForAllStrata.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/doEstimationForAllStrata.R b/R/doEstimationForAllStrata.R index fffe508..9434037 100644 --- a/R/doEstimationForAllStrata.R +++ b/R/doEstimationForAllStrata.R @@ -12,6 +12,7 @@ #' @examples #' \dontrun{ #' +#' data("H1Example") #' myH1DataObject <- H1Example #' #' # Update our test data with some random sample measurements From 5db5b443aa1302a5cc498d876abe8daaefc7f706 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:10:09 +0200 Subject: [PATCH 74/87] updated example to exported function and data sets now available #267 --- R/filterRDBESDataObject.R | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/R/filterRDBESDataObject.R b/R/filterRDBESDataObject.R index f2839b1..babd224 100644 --- a/R/filterRDBESDataObject.R +++ b/R/filterRDBESDataObject.R @@ -29,13 +29,13 @@ #' @examples #' \dontrun{ #' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19") +#' data("H1Example") +#' myH1DataObject <- H1Example #' #' myFields <- c("SDctry", "VDctry", "VDflgCtry", "FTarvLoc") #' myValues <- c("ZW", "ZWBZH", "ZWVFA") #' -#' myFilteredObject <- filterRDBESDataObject(myH1RawObject, +#' myFilteredObject <- filterRDBESDataObject(myH1DataObject, #' fieldsToFilter = myFields, #' valuesToFilter = myValues #' ) @@ -43,10 +43,10 @@ #' # Inverse filtering (exclude certain values) #' # Example: keep all DE rows except those with DEid in `excludedValues` #' # Compute the complement of the excluded set using setdiff -#' allValues <- unique(myH1RawObject$DE$DEid) +#' allValues <- unique(myH1DataObject$DE$DEid) #' excludedValues <- c(5351) #' myInverseFiltered <- filterRDBESDataObject( -#' myH1RawObject, +#' myH1DataObject, #' fieldsToFilter = "DEid", #' valuesToFilter = setdiff(allValues, excludedValues) #' ) From a3df2c596f89a97f81ddcb4c629d4c225251d47b Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:12:06 +0200 Subject: [PATCH 75/87] updated example to exported function and data sets now available #267 --- R/findAndKillOrphans.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R/findAndKillOrphans.R b/R/findAndKillOrphans.R index d3afcef..f839499 100644 --- a/R/findAndKillOrphans.R +++ b/R/findAndKillOrphans.R @@ -19,11 +19,11 @@ #' @examples #' \dontrun{ #' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19") +#' data("H1Example") +#' myH1DataObject <- H1Example #' myFields <- c("SDctry","VDctry","VDflgCtry","FTarvLoc") #' myValues <- c("ZW","ZWBZH","ZWVFA" ) -#' myFilteredObject <- filterRDBESDataObject(myH1RawObject, +#' myFilteredObject <- filterRDBESDataObject(myH1DataObject, #' fieldsToFilter = myFields, #' valuesToFilter = myValues ) #' myObjectNoOrphans <- findAndKillOrphans(objectToCheck = myFilteredObject, From 944592eed8081ea6f32f383e125faf159679ad5a Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:14:52 +0200 Subject: [PATCH 76/87] updated example to exported/imported functions #267 --- R/generateTestTables.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/generateTestTables.R b/R/generateTestTables.R index 3848b98..6c42e16 100644 --- a/R/generateTestTables.R +++ b/R/generateTestTables.R @@ -74,8 +74,8 @@ makeTbl <- function(tblName, #' #' @examples #' \dontrun{ -#' generateTestTbls(c("A", "B", "C"), selMeth = "SRSWOR") -#' generateTestTbls(LETTERS[1:5]) # makes 5 tables with method CENSUS +#' RDBEScore:::generateTestTbls(c("A", "B", "C"), selMeth = "SRSWOR") +#' RDBEScore:::generateTestTbls(LETTERS[1:5]) # makes 5 tables with method CENSUS #' } generateTestTbls <- function(tblNames, prevTbls = list(), ...) { tbl <- makeTbl(tblNames[1], prevTbls, ...) From ca858c4505f1aa58a370dd147173d04779757e62 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:18:16 +0200 Subject: [PATCH 77/87] updated examples to data sets now available #267 --- R/removeBrokenSpeciesListLinks.R | 6 +++--- R/removeBrokenVesselLinks.R | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/R/removeBrokenSpeciesListLinks.R b/R/removeBrokenSpeciesListLinks.R index 8f9c9bc..a1d1334 100644 --- a/R/removeBrokenSpeciesListLinks.R +++ b/R/removeBrokenSpeciesListLinks.R @@ -18,11 +18,11 @@ #' @examples #' \dontrun{ #' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19") +#' data("H1Example") +#' myH1DataObject <- H1Example #' myFields <- c("SLspeclistName") #' myValues <- c("WGRDBES-EST TEST 5 - sprat data") -#' myFilteredObject <- filterRDBESDataObject(myH1RawObject, +#' myFilteredObject <- filterRDBESDataObject(myH1DataObject, #' fieldsToFilter = myFields, #' valuesToFilter = myValues #' ) diff --git a/R/removeBrokenVesselLinks.R b/R/removeBrokenVesselLinks.R index 541b10d..fa37efd 100644 --- a/R/removeBrokenVesselLinks.R +++ b/R/removeBrokenVesselLinks.R @@ -16,11 +16,11 @@ #' @examples #' \dontrun{ #' -#' myH1RawObject <- -#' importRDBESDataCSV(rdbesExtractPath = "tests\\testthat\\h1_v_1_19") +#' data("H1Example") +#' myH1DataObject <- H1Example #' myFields <- c("VDlenCat") #' myValues <- c("18-<24") -#' myFilteredObject <- filterRDBESDataObject(myH1RawObject, +#' myFilteredObject <- filterRDBESDataObject(myH1DataObject, #' fieldsToFilter = myFields, #' valuesToFilter = myValues #' ) From a15cef68a97c910a74f1883b4e261e156482e96c Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 20:29:01 +0300 Subject: [PATCH 78/87] #268 both directions have similar output --- NEWS.md | 1 + R/getLinkedDataFromLevel.R | 4 +- R/getLowerTableSubsets.R | 12 +- R/lowerTblData.R | 114 ++++++++---------- R/upperTblData.R | 5 +- man/getLinkedDataFromLevel.Rd | 4 +- man/getLowerTableSubsets.Rd | 9 ++ man/lowerTblData.Rd | 31 ++++- man/upperTblData.Rd | 6 +- tests/testthat/test-getLinkedDataFromLevel.R | 30 +++++ tests/testthat/test-getLowerTableSubsets.R | 25 ++-- tests/testthat/test-lowerTblData.R | 71 ++++++++++- tests/testthat/test-upperTblData.R | 31 ++++- .../v01b-manipulating-rdbesdataobjects.Rmd | 4 +- 14 files changed, 256 insertions(+), 91 deletions(-) diff --git a/NEWS.md b/NEWS.md index c3d3cb8..e19f2e4 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,5 @@ # RDBEScore 0.4.0 +- Breaking: `getLinkedDataFromLevel()` now returns the requested field and target-table columns in both directions, without adding intermediate hierarchy ids (#268). Non-id requested fields are retained when going down the hierarchy. `getLowerTableSubsets()` avoids duplicated requested-field columns. - Package README updated with AI usage guidelines - Dependencies: removed `dplyr` from Imports. Joins now use the internal `data.table` helper `joinDT()`, which keeps dplyr's row order, column order and `.x`/`.y` suffixes, so results are unchanged; `filterRDBESEstObject()` and the vignette use base R/`data.table` instead of dplyr. - Bug fix: addressed [#259](https://github.com/ices-tools-dev/RDBEScore/issues/259) selecting multiple strata with `addCLtoLowerCS()` diff --git a/R/getLinkedDataFromLevel.R b/R/getLinkedDataFromLevel.R index c9afa17..7827777 100644 --- a/R/getLinkedDataFromLevel.R +++ b/R/getLinkedDataFromLevel.R @@ -8,7 +8,9 @@ #' @param level A character string specifying the target table level from which to retrieve linked data. This must be one of the names within the `rdbesTables` object. #' @param verbose Logical flag indicating whether to print detailed information about the data retrieval process. Default is `FALSE`. #' -#' @return The subset of the table at the specified `level`. +#' @return A data.table containing the requested `field` and all columns of the +#' table at `level`, with one row per unique requested value and linked record. +#' Intermediate hierarchy IDs are not added. Column order is not guaranteed. #' #' @examples #' \dontrun{ diff --git a/R/getLowerTableSubsets.R b/R/getLowerTableSubsets.R index fe16900..2d8b7b9 100644 --- a/R/getLowerTableSubsets.R +++ b/R/getLowerTableSubsets.R @@ -21,6 +21,11 @@ #' the values from each subset in the upper tables. It then ensures that only unique rows are returned, #' based on the ID column of the target table. #' +#' @section Development review: +#' - AI-assisted: Yes +#' - Review: rix133 +#' @keywords internal +#' getLowerTableSubsets <- function(subsets, tblName, rdbesTables, combineStrata = TRUE, verbose = FALSE) { res <- list() # Process each subset @@ -66,8 +71,13 @@ getLowerTableSubsets <- function(subsets, tblName, rdbesTables, combineStrata = stop("combineStrata must be TRUE for now") } + # Linked data carries the requested fields - replace them by the strata values below + addedFields <- setdiff(names(subsets), names(rdbesTables[[tblName]])) + res <- res[, setdiff(names(res), addedFields), with = FALSE] + subsets <- subsets[addedFields] + # Combine the data with the strata subsets - res <- cbind(res, as.data.frame(subsets)) + if(length(subsets) > 0) res <- cbind(res, as.data.frame(subsets)) return(res) } diff --git a/R/lowerTblData.R b/R/lowerTblData.R index 7512b3b..2f243fb 100644 --- a/R/lowerTblData.R +++ b/R/lowerTblData.R @@ -11,12 +11,18 @@ #' @param tbls A named list of data frames representing the tables. #' @param level A character string specifying the name of the target lower level table. #' @param verbose A logical value indicating whether to print intermediate levels during recursion. -#' @param path_order Internal: character vector tracking the traversal path of IDs during -#' recursion to preserve a stable column order in the returned result. Users should not -#' normally set this; it is maintained by recursive calls (default NULL). +#' @param requestedField Internal: the originally requested field, carried +#' through the recursion (default `field`). +#' @param requestedValues Internal: the originally requested value belonging to +#' each element of `values`, carried through the recursion (default `values`). #' -#' @return A data frame containing the rows of the target lower level table that are associated with -#' the given values of the upper table field. +#' @return A data.table with the originally requested field and all columns of +#' the `level` table. No intermediate hierarchy IDs are added. It has one row +#' per unique requested value and linked `level` record. +#' +#' @section Development review: +#' - AI-assisted: Yes +#' - Review: rix133 #' #' @examples #' # it is important to run the function only on the sorted RDBESDataObject @@ -31,73 +37,53 @@ #' #' RDBEScore:::lowerTblData("TEid", c(4), tblsSprat, "LE", TRUE) #' @keywords internal -lowerTblData <- function(field, values, tbls, level, verbose = FALSE, path_order = NULL) { - if(!is.list(tbls)) stop("tbls must be a list") +lowerTblData <- function(field, values, tbls, level, verbose = FALSE, + requestedField = field, requestedValues = values) { + if (!is.list(tbls)) stop("tbls must be a list") + if (!level %in% names(tbls)) stop("Missing table in data: ", level) - start <- substr(field, start = 1, stop = 2) - if (start == level) { - res <- tbls[[level]] - return(res[get(field) %in% values]) - } - currTbl <- which(start == names(tbls)) + current <- substr(field, 1, 2) + i <- match(current, names(tbls)) + if (is.na(i)) stop("Missing table: ", current) - # assumes tables are in correct order and no empty tables - tc <- 1 - nextTbl <- tbls[[currTbl + tc]] - while (is.null(nextTbl) || nrow(nextTbl) == 0) { - tc <- tc + 1 - if(currTbl + tc > length(tbls)) stop("No more lower tables found") - nextTbl <- tbls[[currTbl + tc]] - } + # Keep track of original requested values + mapping <- unique(data.table::data.table( + .currentValue = values, + .requestedValue = requestedValues + )) - nextTblField <- paste0(names(tbls)[currTbl + tc], "id") - if (verbose) { - cat(paste0(field, ": ", paste0(values, collapse = ", "), "\n")) - } - if (!field %in% colnames(nextTbl)) { - tbl <- tbls[[currTbl]] - curTblId <- paste0(names(tbls)[currTbl], "id") - values <- tbl[get(field) %in% values, get(curTblId)] - field <- curTblId - } - - # Initialize and update path order to ensure the original search field stays first - if (is.null(path_order)) path_order <- field - path_order <- unique(c(path_order, nextTblField)) + result <- merge(mapping, tbls[[current]], + by.x = ".currentValue", by.y = field, + sort = FALSE, allow.cartesian = TRUE) + data.table::setnames(result, ".currentValue", field) - # values in next table for recursion - nextTblValues <- nextTbl[get(field) %in% values, get(nextTblField)] + if (current != level) { + if (verbose) cat(field, ": ", paste(values, collapse = ", "), "\n", sep = "") - # NEW: build link (current id -> next id) so we can keep intermediate IDs - linkDT <- unique(nextTbl[get(field) %in% values, - .(from = get(field), to = get(nextTblField))]) - data.table::setnames(linkDT, c("from","to"), c(field, nextTblField)) + # Find the nearest following non-empty table in hierarchy order + candidates <- seq_along(tbls)[-seq_len(i)] + candidates <- candidates[vapply(tbls[candidates], NROW, integer(1)) > 0L] + if (!length(candidates)) stop("No more lower tables found") - # recurse - res <- lowerTblData(nextTblField, nextTblValues, tbls, level, verbose, path_order) + nextName <- names(tbls)[min(candidates)] + idField <- paste0(current, "id") + nextField <- paste0(nextName, "id") + if (!all(c(idField, nextField) %in% names(tbls[[nextName]]))) { + stop("Error in linking tables ", current, " and ", nextName) + } - # NEW: merge link back so the current level's ID is preserved - # Always attach the authoritative parent id from the link. - # If a column with the same name already exists (from another variant), drop it first, - # then merge in the value derived from the current hierarchy. - if (field %in% names(res)) { - res[, (field) := NULL] + result <- result[, c(idField, ".requestedValue"), with = FALSE] + result <- merge(result, tbls[[nextName]][, c(idField, nextField), with = FALSE], + by = idField, sort = FALSE, allow.cartesian = TRUE) + return(lowerTblData( + nextField, result[[nextField]], tbls, level, + verbose, requestedField, result[[".requestedValue"]] + )) } - res <- merge( - linkDT[, c(nextTblField, field), with = FALSE], - res, - by = nextTblField, - all.y = TRUE, - allow.cartesian = TRUE - ) - - #keep path columns toward the front with stable overall path order - path_cols <- intersect(path_order, names(res)) - other_cols <- setdiff(names(res), path_cols) - if (length(path_cols) > 0) data.table::setcolorder(res, c(path_cols, other_cols)) - # Ensure no data.table key is set on the result - data.table::setkeyv(res, NULL) + if (requestedField %in% names(result)) result[, (requestedField) := NULL] + data.table::setnames(result, ".requestedValue", requestedField) + data.table::setcolorder(result, c(requestedField, setdiff(names(result), requestedField))) - res + result } diff --git a/R/upperTblData.R b/R/upperTblData.R index 5a7a062..8897d6f 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -17,13 +17,15 @@ #' @param tbls A named list of data frames containing tables at different levels. #' @param level A character string specifying the level to get data from. #' @param verbose (Optional) Set to TRUE if you want informative text printed +#' @param requestedField Internal: the originally requested field. +#' @param requestedValues Internal: the original value for each element of `values`. #' #' @return A data frame containing rows from an upper table that match the #' provided values for the specified field. #' #' @section Development review: #' - AI-assisted: Yes -#' - Human review: rix133 +#' - Review: rix133 #' #' @examples #' # it is important to run these functions only on sorted RDBESDataObject @@ -76,6 +78,7 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE, data.table::setnames(result, ".currentValue", field) if (requestedField %in% names(result)) { + data.table::set(result, j = requestedField, value = result[[".requestedValue"]]) result[, .requestedValue := NULL] } else { data.table::setnames(result, ".requestedValue", requestedField) diff --git a/man/getLinkedDataFromLevel.Rd b/man/getLinkedDataFromLevel.Rd index 43f90c6..7b13510 100644 --- a/man/getLinkedDataFromLevel.Rd +++ b/man/getLinkedDataFromLevel.Rd @@ -18,7 +18,9 @@ getLinkedDataFromLevel(field, values, rdbesTables, level, verbose = FALSE) \item{verbose}{Logical flag indicating whether to print detailed information about the data retrieval process. Default is \code{FALSE}.} } \value{ -The subset of the table at the specified \code{level}. +A data.table containing the requested \code{field} and all columns of the +table at \code{level}, with one row per unique requested value and linked record. +Intermediate hierarchy IDs are not added. Column order is not guaranteed. } \description{ The \code{getLinkedDataFromLevel} function facilitates the retrieval of linked data between different levels of RDBES tables. Depending on the relative positions of the source and target tables within the \code{RDBESDataObject}, the function determines whether to traverse "up" or "down" the data hierarchy to obtain the desired linked data. diff --git a/man/getLowerTableSubsets.Rd b/man/getLowerTableSubsets.Rd index 6b4d576..bedde34 100644 --- a/man/getLowerTableSubsets.Rd +++ b/man/getLowerTableSubsets.Rd @@ -41,3 +41,12 @@ The function recursively intersects the rows of the target lower level table tha the values from each subset in the upper tables. It then ensures that only unique rows are returned, based on the ID column of the target table. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: Yes +\item Review: rix133 +} +} + +\keyword{internal} diff --git a/man/lowerTblData.Rd b/man/lowerTblData.Rd index b022b74..6d1e87e 100644 --- a/man/lowerTblData.Rd +++ b/man/lowerTblData.Rd @@ -4,7 +4,15 @@ \alias{lowerTblData} \title{Get lower table data from upper table id} \usage{ -lowerTblData(field, values, tbls, level, verbose = FALSE, path_order = NULL) +lowerTblData( + field, + values, + tbls, + level, + verbose = FALSE, + requestedField = field, + requestedValues = values +) } \arguments{ \item{field}{A character string specifying the name of the upper table field.} @@ -17,13 +25,16 @@ lowerTblData(field, values, tbls, level, verbose = FALSE, path_order = NULL) \item{verbose}{A logical value indicating whether to print intermediate levels during recursion.} -\item{path_order}{Internal: character vector tracking the traversal path of IDs during -recursion to preserve a stable column order in the returned result. Users should not -normally set this; it is maintained by recursive calls (default NULL).} +\item{requestedField}{Internal: the originally requested field, carried +through the recursion (default \code{field}).} + +\item{requestedValues}{Internal: the originally requested value belonging to +each element of \code{values}, carried through the recursion (default \code{values}).} } \value{ -A data frame containing the rows of the target lower level table that are associated with -the given values of the upper table field. +A data.table with the originally requested field and all columns of +the \code{level} table. No intermediate hierarchy IDs are added. It has one row +per unique requested value and linked \code{level} record. } \description{ This function takes an upper table field name, values for that field, a list of tables, @@ -32,6 +43,14 @@ that are associated with the given values of the upper table field. NB! running on the RDBESDataObject will work properly if it is sorted by default the tables are not in the correct order for a specific hierarchy. } +\section{Development review}{ + +\itemize{ +\item AI-assisted: Yes +\item Review: rix133 +} +} + \examples{ # it is important to run the function only on the sorted RDBESDataObject RDBEScore:::lowerTblData("TEid", c(4), sort(H8ExampleEE1), "SA", TRUE) diff --git a/man/upperTblData.Rd b/man/upperTblData.Rd index bfcb01e..2a4f61a 100644 --- a/man/upperTblData.Rd +++ b/man/upperTblData.Rd @@ -24,6 +24,10 @@ upperTblData( \item{level}{A character string specifying the level to get data from.} \item{verbose}{(Optional) Set to TRUE if you want informative text printed} + +\item{requestedField}{Internal: the originally requested field.} + +\item{requestedValues}{Internal: the original value for each element of \code{values}.} } \value{ A data frame containing rows from an upper table that match the @@ -46,7 +50,7 @@ in the correct order for a spesific hierarchy. \itemize{ \item AI-assisted: Yes -\item Human review: rix133 +\item Review: rix133 } } diff --git a/tests/testthat/test-getLinkedDataFromLevel.R b/tests/testthat/test-getLinkedDataFromLevel.R index 9c68ce5..83d5877 100644 --- a/tests/testthat/test-getLinkedDataFromLevel.R +++ b/tests/testthat/test-getLinkedDataFromLevel.R @@ -164,6 +164,36 @@ test_that("Retrieve data from FO based on DEid retains the DEid field", { expect_equal(result$DEid, c(rep(5351, 300), rep(5393, 20))) }) +test_that("Both traversal directions return the requested field and the target columns only", { + # downwards: requested field is not an id + down <- getLinkedDataFromLevel("TEstratumName", c("January", "February"), + H8ExampleEE1, "SA") + expect_setequal(names(down), c("TEstratumName", names(H8ExampleEE1$SA))) + expect_equal(nrow(down), 6) + expect_equal(sort(unique(down$TEstratumName)), c("February", "January")) + expect_equal(anyDuplicated(down[, c("TEstratumName", "SAid")]), 0) + + # upwards + up <- getLinkedDataFromLevel("SAid", c(1, 2), H8ExampleEE1, "TE") + expect_setequal(names(up), c("SAid", names(H8ExampleEE1$TE))) + expect_equal(up$SAid, c(1, 2)) + expect_equal(up$TEid, c(1, 1)) +}) + +test_that("Same-level queries follow the same output convention", { + result <- getLinkedDataFromLevel("TEstratumName", c("January", "February"), + H8ExampleEE1, "TE") + + expect_setequal(names(result), names(H8ExampleEE1$TE)) + expect_equal(anyDuplicated(names(result)), 0) + expect_equal(nrow(result), 4) +}) + +test_that("Linked data does not contain intermediate hierarchy ids", { + result <- getLinkedDataFromLevel("DEid", c(1), H8ExampleEE1, "SA") + + expect_setequal(names(result), unique(c("DEid", names(H8ExampleEE1$SA)))) +}) }) diff --git a/tests/testthat/test-getLowerTableSubsets.R b/tests/testthat/test-getLowerTableSubsets.R index a8bcc50..9bbeebf 100644 --- a/tests/testthat/test-getLowerTableSubsets.R +++ b/tests/testthat/test-getLowerTableSubsets.R @@ -1,4 +1,9 @@ +# AI-assisted: Yes +# Review: rix133 +capture.output({ ## suppresses printing of console output when running test() + + # Define mock data for testing DE <- data.frame(DEid = c(1, 2, 3, 4), SDid = c(1, 2, 3, 4)) SD <- data.frame(SDid = c(1, 2, 3, 4), TEid = c(1, 2, 3, 4)) @@ -28,8 +33,7 @@ test_that("Function returns correct data with valid inputs", { res <- getLowerTableSubsets(list(TEstratumName = "January"), "SA", H8ExampleEE1, T) expect_equal(nrow(res), 3) - #expect last column to be "TEstratumName" - expect_equal(colnames(res)[ncol(res)], "TEstratumName") + expect_true("TEstratumName" %in% names(res)) }) @@ -37,10 +41,7 @@ test_that("Function works with combineStrata = TRUE and collapsing strata", { res <- expect_warning(getLowerTableSubsets(list(TEstratumName = c("January", "February")), "SA", H8ExampleEE1, T)) expect_equal(nrow(res), 6) - #expect last column to be "TEstratumName" - expect_equal(colnames(res)[ncol(res)], "TEstratumName") - #ecpect all values in ast column to be January|February - expect_equal(all(grepl("January|February", res$TEstratumName)), TRUE) + expect_equal(unique(res$TEstratumName), "January|February") }) @@ -55,9 +56,15 @@ test_that("Function handles intersection correctly", { res <- getLowerTableSubsets(list(TEid = 4, TEstratumName = "January"), "SA", H8ExampleEE1, T) expect_equal(nrow(res), 2) - #expect last column to be "TEstratumName" - expect_equal(colnames(res)[ncol(res)], "TEstratumName") - #expect value in last column to be "January" expect_equal(res$TEstratumName, rep("January",2)) }) + +test_that("Function does not duplicate the requested fields in the result", { + res <- getLowerTableSubsets(list(TEid = 4, TEstratumName = "January"), "SA", H8ExampleEE1, T) + + expect_equal(anyDuplicated(colnames(res)), 0) + expect_equal(sum(colnames(res) == "TEstratumName"), 1) + expect_equal(sum(colnames(res) == "TEid"), 1) +}) +}) \ No newline at end of file diff --git a/tests/testthat/test-lowerTblData.R b/tests/testthat/test-lowerTblData.R index cd29eee..f2c73d5 100644 --- a/tests/testthat/test-lowerTblData.R +++ b/tests/testthat/test-lowerTblData.R @@ -1,3 +1,7 @@ +# AI-assisted: Yes +# Review: rix133 +capture.output({ ## suppresses printing of console output when running test() + # Define some mock data for testing DE <- data.table(DEid = c(1, 2, 3, 4)) SD <- data.table(SDid = c(1, 2, 3, 4), DEid = c(1, 2, 3, 4)) @@ -12,21 +16,21 @@ test_that("Function returns correct data for valid inputs", { result <- lowerTblData("TEid", c(1), tblsSprat, "LE", FALSE) expected <- data.table(TEid = 1, VSid = 1, LEid=1, value = 10) - expect_equal(result, expected) + expect_equal(result[, names(expected), with = FALSE], expected) }) test_that("Function handles multiple values correctly", { result <- lowerTblData("TEid", c(1, 4), tblsSprat, "LE", FALSE) expected <- data.table(TEid=c(1,4) ,VSid = c(1, 4),LEid=c(1,4) , value = c(10, 4)) - expect_equal(result, expected) + expect_equal(result[, names(expected), with = FALSE], expected) }) test_that("Function handles non-existent field gracefully", { result <- lowerTblData("TEid", c(99), tblsSprat, "LE", FALSE) expected <- data.table(TEid = integer(),VSid = integer(), LEid=integer() , value = integer()) - expect_equal(result, expected) + expect_equal(result[, names(expected), with = FALSE], expected) }) test_that("Function works with printLevels = TRUE", { @@ -35,9 +39,65 @@ test_that("Function works with printLevels = TRUE", { test_that("Recursive functionality works", { result <- lowerTblData("SDid", c(1), tblsSprat, "LE", FALSE) - expected <- data.table(SDid = 1, TEid = 1, VSid = 1, LEid=1, value = 10) + expected <- data.table(SDid = 1, VSid = 1, LEid = 1, value = 10) + + expect_setequal(names(result), names(expected)) + expect_equal(result[, names(expected), with = FALSE], expected) +}) + +test_that("Intermediate hierarchy ids are not added to the result", { + result <- lowerTblData("DEid", c(1), tblsSprat, "LE", FALSE) + + expect_setequal(names(result), c("DEid", names(LE))) +}) + +test_that("A non-id requested field is retained with its linked records", { + TEnamed <- data.table(TEid = c(1, 2, 3, 4), SDid = c(1, 2, 3, 4), + TEstratumName = c("Jan", "Feb", "Jan", "Mar")) + tbls <- list(DE = DE, SD = SD, TE = TEnamed, VS = VS, LE = LE) + + result <- lowerTblData("TEstratumName", c("Jan", "Feb"), tbls, "LE", FALSE) + result <- result[order(LEid)] + + expect_setequal(names(result), c("TEstratumName", names(LE))) + expect_equal(result$LEid, c(1, 2, 3)) + expect_equal(result$TEstratumName, c("Jan", "Feb", "Jan")) +}) + +test_that("Repeated requested values do not duplicate target records", { + result <- lowerTblData("TEid", c(1, 1), tblsSprat, "LE", FALSE) + + expect_equal(nrow(result), 1) +}) + +test_that("The requested value replaces an unused target field", { + result <- getLinkedDataFromLevel("LEid", 5, H8ExampleEE1, "SA") + + expect_equal(result$SAid, 5) + expect_equal(result$LEid, 5) +}) + +test_that("Same-level queries retain the target columns without duplication", { + result <- lowerTblData("VSid", c(2, 3), tblsSprat, "VS", FALSE) + + expect_setequal(names(result), names(VS)) + expect_equal(anyDuplicated(names(result)), 0) + expect_equal(result$VSid, c(2, 3)) +}) + +test_that("Empty intermediate tables are skipped", { + tbls <- list(DE = DE, SD = SD, TE = TE, VS = VS[0], LE = data.table(TEid = 1:4, LEid = 1:4)) + result <- lowerTblData("SDid", c(2), tbls, "LE", FALSE) + + expect_setequal(names(result), c("SDid", "TEid", "LEid")) + expect_equal(result$LEid, 2) +}) + +test_that("Linking fails clearly when the tables cannot be joined", { + tbls <- list(DE = DE, SD = SD, TE = TE, VS = data.table(VSid = 1:4), LE = LE) - expect_equal(result, expected) + expect_error(lowerTblData("TEid", c(1), tbls, "LE", FALSE), + "Error in linking tables TE and VS") }) # Test when lower table has no match @@ -60,3 +120,4 @@ test_that("Function works with sorted RDBESdataObjects", { test_that("Function handles invalid inputs gracefully", { expect_error(lowerTblData("invalidField", c(1), tblsSprat, "LE", FALSE)) }) +}) \ No newline at end of file diff --git a/tests/testthat/test-upperTblData.R b/tests/testthat/test-upperTblData.R index 44ed215..a042f67 100644 --- a/tests/testthat/test-upperTblData.R +++ b/tests/testthat/test-upperTblData.R @@ -1,4 +1,4 @@ -# AI-assisted: No +# AI-assisted: Yes # Review: rix133 capture.output({ ## suppresses printing of console output when running test() @@ -63,4 +63,33 @@ test_that("upperTblData has the in about the several rows requested also in the expect_equal(result, expected) }) + +test_that("upperTblData keeps different requested values that share a target record", { + + SD2 <- data.table(SDid = c(1, 2), DEid = c(1, 1)) + tbls2 <- list(DE = DE, SD = SD2, VS = VS) + + result <- upperTblData("VSid", c(1, 2), tbls2, "DE") + + expect_setequal(names(result), c("VSid", "DEid")) + expect_equal(result[, .(VSid, DEid)], data.table(VSid = c(1, 2), DEid = c(1, 1))) +}) + +test_that("upperTblData collapses repeated paths between a requested value and a target record", { + + VS2 <- data.table(VSid = c(1, 2), SDid = c(1, 1), VSvalue = c(10, 10)) + tbls2 <- list(DE = DE, SD = SD, VS = VS2) + + result <- upperTblData("VSvalue", c(10), tbls2, "DE") + + expect_equal(result[, .(VSvalue, DEid)], data.table(VSvalue = 10, DEid = 1)) +}) + +test_that("upperTblData keeps the requested value when the target field is unused", { + tbls2 <- list(DE = data.table(DEid = 1, VSid = NA_real_), SD = SD, VS = VS) + result <- upperTblData("VSid", 1, tbls2, "DE") + + expect_equal(result$DEid, 1) + expect_equal(result$VSid, 1) +}) }) diff --git a/vignettes/v01b-manipulating-rdbesdataobjects.Rmd b/vignettes/v01b-manipulating-rdbesdataobjects.Rmd index 457f81b..1989abc 100644 --- a/vignettes/v01b-manipulating-rdbesdataobjects.Rmd +++ b/vignettes/v01b-manipulating-rdbesdataobjects.Rmd @@ -230,6 +230,8 @@ validateRDBESDataObject(myFilteredObjectValidSpeciesLinks, verbose = FALSE) Sometimes it we want to see how a field or values in the **RDBESDataObject** are connected to other tables. One use case would be e.g. to see when a specific Landing Event (LE) occured.For this we can use the **getLinkedDataFromLevel()** function. +The result contains the requested field and all columns of the target table, without adding intermediate hierarchy ids. Each row links a requested value to a target record. Different requested values linked to the same record are retained. This applies in both directions and to queries within the same table; column order is not guaranteed. + ```{r} #get the TE table corresponding to the first LEid in the H8ExampleEE1 object getLinkedDataFromLevel("LEid", c(1), H8ExampleEE1, "TE", verbose = TRUE) @@ -237,7 +239,7 @@ getLinkedDataFromLevel("LEid", c(1), H8ExampleEE1, "TE", verbose = TRUE) Similarly we can get the subset of the LE table corresponding to a specific value in the TE table. This does not have to be the *id* field, but can be any field in the table. ```{r} -#get the TE table corresponding to the first LEid in the H8ExampleEE1 object +#get the LE table corresponding to the TEstratumName "November" in the H8ExampleEE1 object getLinkedDataFromLevel("TEstratumName", c("November"), H8ExampleEE1, "LE", verbose = TRUE) ``` Several values can be used to get a subset of the table. From 99379f4c6c17645fb5211c035e622b2218a99925 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 22:05:49 +0300 Subject: [PATCH 79/87] #269 add tests --- .../test-removeBrokenSpeciesListLinks.R | 90 +++++++++++++++++-- 1 file changed, 85 insertions(+), 5 deletions(-) diff --git a/tests/testthat/test-removeBrokenSpeciesListLinks.R b/tests/testthat/test-removeBrokenSpeciesListLinks.R index 6f1cabc..7b69893 100644 --- a/tests/testthat/test-removeBrokenSpeciesListLinks.R +++ b/tests/testthat/test-removeBrokenSpeciesListLinks.R @@ -1,15 +1,21 @@ +# AI-assisted: Yes +# Review: rix133 +# Notes/scope: Issue #269 imported H1 data, NULL/empty SL, and a synthetic data capture.output({ ## suppresses printing of console output when running test() test_that("removeBrokenSpeciesListLinks runs without errors - or warnings when there are no invalid species list links", { + or warnings on imported H1 data", { myPath <- "./h1_v_20250211" myH1RawObject <- importRDBESDataCSV(rdbesExtractPath = myPath) + expect_warning( + removeBrokenSpeciesListLinks(objectToCheck = myH1RawObject, + verbose = FALSE), NA) }) -test_that("removeBrokenSpeciesListLinks prduces an error +test_that("removeBrokenSpeciesListLinks produces an error if the SL table is NULL", { myPath <- "./h1_v_20250211" @@ -17,14 +23,14 @@ test_that("removeBrokenSpeciesListLinks prduces an error importRDBESDataCSV(rdbesExtractPath = myPath) myH1RawObject["SL"] <- list(NULL) - myObjectValidSpeciesListLinks <- expect_error( + expect_error( removeBrokenSpeciesListLinks(objectToCheck = myH1RawObject, verbose = FALSE) ,"The SL entry in in objectToCheck is null - cannot check for broken species list links") }) -test_that("removeBrokenSpeciesListLinks runs without errors - or warnings when there are invalid species list links", { +test_that("removeBrokenSpeciesListLinks removes all SS rows + without warnings when SL is empty", { myPath <- "./h1_v_20250211" myH1RawObject <- @@ -34,10 +40,84 @@ test_that("removeBrokenSpeciesListLinks runs without errors myFilteredObject <- filterRDBESDataObject(myH1RawObject, fieldsToFilter = myFields, valuesToFilter = myValues ) + expect_equal(nrow(myFilteredObject$SL), 0L) + myExpectedObject <- data.table::copy(myFilteredObject) + myExpectedObject$SS <- myExpectedObject$SS[0] + myObjectValidSpeciesListLinks <- expect_warning( removeBrokenSpeciesListLinks(objectToCheck = myFilteredObject ,verbose = FALSE) ,NA) + expect_equal(myObjectValidSpeciesListLinks, myExpectedObject) +}) + +#' Build a synthetic H1 fixture with one valid and one broken species-list link. +#' @return An RDBESDataObject with one SL record and two SS rows. +# AI-assisted: Yes +# Review: pending human review +makeSpeciesListLinksFixture <- function() { + myObject <- newRDBESDataObject() + myTables <- c("DE", "SD", "VS", "FT", "FO", "SS", "SL", "IS") + # Reuse column schemas only; all fixture values are synthetic. + for (myTable in myTables) { + myObject[[myTable]] <- data.table::copy(H1Example[[myTable]][NA_integer_]) + } + + myObject$DE[, `:=`(DEid = 1L, DEhierarchy = 1L, DEyear = 2025L)] + myObject$SD[, `:=`(SDid = 1L, DEid = 1L, SDctry = "EE")] + myObject$VS[, `:=`(VSid = 1L, SDid = 1L)] + myObject$FT[, `:=`(FTid = 1L, VSid = 1L)] + myObject$FO[, `:=`(FOid = 1L, FTid = 1L)] + myObject$SS <- myObject$SS[c(1L, 1L)] + myObject$SS[, `:=`(SSid = 1:2, FOid = 1L, + SSspecListName = c("test-list", "missing-list"), + SScatchFra = "Lan")] + myObject$SL[, `:=`(SLid = 1L, SLspeclistName = "test-list", + SLcatchFrac = "Lan", SLyear = 2025L, SLcou = "EE")] + # Validation requires a non-empty IS table whenever SL is non-empty. + myObject$IS[, `:=`(ISid = 1L, SLid = 1L)] + for (myTable in myTables) { + data.table::setkeyv(myObject[[myTable]], paste0(myTable, "id")) + } + + myObject +} + +test_that("removeBrokenSpeciesListLinks keeps a valid SS row + and removes a broken species-list link", { + + myObject <- makeSpeciesListLinksFixture() + myOriginalObject <- data.table::copy(myObject) + myExpectedObject <- data.table::copy(myObject) + myExpectedObject$SS <- myExpectedObject$SS[SSid == 1L] + + myObjectValidSpeciesListLinks <- expect_warning( + removeBrokenSpeciesListLinks(objectToCheck = myObject, + verbose = FALSE), NA) + + expect_equal(myObjectValidSpeciesListLinks, myExpectedObject) + expect_equal(myObject, myOriginalObject) +}) + +test_that("removeBrokenSpeciesListLinks uses SSid when SS columns are reordered", { + + myObject <- makeSpeciesListLinksFixture() + # Both rows use the same list name; the second has no matching catch fraction. + myObject$SS[SSid == 2L, `:=`(SSspecListName = "test-list", + SScatchFra = "Dis")] + data.table::setcolorder(myObject$SS, + c("SSspecListName", setdiff(names(myObject$SS), "SSspecListName"))) + + # Column order does not make the input invalid. + expect_error(validateRDBESDataObject(myObject), NA) + myExpectedObject <- data.table::copy(myObject) + myExpectedObject$SS <- myExpectedObject$SS[SSid == 1L] + + myObjectValidSpeciesListLinks <- expect_warning( + removeBrokenSpeciesListLinks(objectToCheck = myObject, + verbose = FALSE), NA) + + expect_equal(myObjectValidSpeciesListLinks, myExpectedObject) }) }) ## end capture.output From 6079db9b91277ea2aeceea1323a46e7ba9dcc208 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 13 Oct 2026 22:45:51 +0300 Subject: [PATCH 80/87] #269 complete rewrite and tests --- R/removeBrokenSpeciesListLinks.R | 155 ++++-------------- R/utils.R | 2 +- man/removeBrokenSpeciesListLinks.Rd | 18 +- .../test-removeBrokenSpeciesListLinks.R | 91 ++++++---- 4 files changed, 101 insertions(+), 165 deletions(-) diff --git a/R/removeBrokenSpeciesListLinks.R b/R/removeBrokenSpeciesListLinks.R index 8f9c9bc..f633e50 100644 --- a/R/removeBrokenSpeciesListLinks.R +++ b/R/removeBrokenSpeciesListLinks.R @@ -1,18 +1,18 @@ -#' Remove rows which are not pointing to a valid SpecliestListDetails (SL) -#' records i.e.those rows which have a value of SpeciesListName that does not -#' exist in the SL table. +#' Remove SS rows with broken species-list links +#' +#' A species-list link matches the list name, catch fraction, design year +#' and sampling country against the SL table. #' #' @param objectToCheck an RDBESDataObject. #' @param verbose (Optional) If set to TRUE more detailed text will be printed -#' out by the function. Default is TRUE. +#' out by the function. Default is FALSE. #' @param strict (Optional) This function validates its input data - should #' the validation be strict? The default is TRUE. #' -#' @return an RDBESDataObject with any records with an invalid SpeciesListName -#' rows removed +#' @return an RDBESDataObject with SS rows without a matching SL record removed. #' @section Development review: -#' - AI-assisted: No -#' - Human review: rix133 +#' - AI-assisted: Yes +#' - Review: rix133 #' @export #' #' @examples @@ -32,126 +32,37 @@ #' ) #' } removeBrokenSpeciesListLinks <- function(objectToCheck, - verbose = FALSE, - strict = TRUE) { - - - # Check we have a valid RDBESDataObject before doing anything else + verbose = FALSE, + strict = TRUE) { validateRDBESDataObject(objectToCheck, verbose = verbose, strict = strict) - # Just check the non-null entries - nonNullEntries <- names(objectToCheck[sapply(objectToCheck, Negate(is.null))]) - - if (!"SL" %in% nonNullEntries){ + if (is.null(objectToCheck[["SL"]])) { stop(paste0("The SL entry in in objectToCheck is null - ", - "cannot check for broken species list links")) - } - - # Only SS links to the species list table - tableToCheck <- "SS" - - # Check any non-null tables - if (tableToCheck %in% nonNullEntries) { - - if (verbose){ - print(paste0( - "Number of rows in relevent non-null tables before removing ", - "broken species list links" - )) - print(unlist(lapply(objectToCheck[tableToCheck], nrow))) - } - - myTable <- objectToCheck[[tableToCheck]] - - # if we have the possibility of orphans - let's check for them - if (nrow(myTable) > 0) { - if (verbose) { - print(paste0( - "Checking for broken species list links in table ", - tableToCheck - )) - } - - # Create a data frame to hold the results - myOrphanResults <- data.table::data.table(myTable[, 1]) - names(myOrphanResults) <- c("pk") - myOrphanResults$Table <- tableToCheck - # Default to link not existing - myOrphanResults[, "slExists"] <- FALSE - - -# Add year and country to SS ---------------------------------------------------- - -myTable$SSyear <- extractHigherFields(objectToCheck, "SS", "DEyear") -myTable$SSctry <- extractHigherFields(objectToCheck, "SS", "SDctry") - -# ------------------------------------------------------------------------- - - - # Inner join to the SL table - joinedTables <- joinDT(myTable, - objectToCheck[["SL"]], - by = c("SSspecListName" = "SLspeclistName", - "SScatchFra" = "SLcatchFrac", - "SSyear" = "SLyear", - "SSctry" = "SLcou"), - type = "inner" - ) - - -# Remove year and ctry columns from SS ------------------------------------ - -myTable <- myTable[, SSyear := NULL] -myTable <- myTable[, SSctry := NULL] - -# ------------------------------------------------------------------------- - - - # Remove year and ctry columns from SL - - - # Update the results for any matches we found - if (nrow(joinedTables) > 0) { - - # Find which PKs are in the joined table - these are matches - myOrphanResults[ - myOrphanResults[[1]] %in% joinedTables[[1]], - "slExists" - ] <- TRUE - } - - # We want to remove any rows where the record did not exist in VD - rowsToRemove <- myOrphanResults[!myOrphanResults$slExists, 1] - rowsToRemove <- rowsToRemove[[1]] - - if (verbose) { - print(paste0( - "Found ", length(rowsToRemove), - " records with broken species list links" - )) - } - - # Just keep the rows that aren't in the list to remove - objectToAlter <- myTable - objectToAlter <- - objectToAlter[!objectToAlter[[1]] %in% rowsToRemove, ] - - objectToCheck[[tableToCheck]] <- objectToAlter - - if (verbose) { - print(paste0("Records with broken species list links have been removed")) - } - } + "cannot check for broken species list links")) } - if (verbose){ - print(paste0( - "Number of rows in relevent non-null tables after removing ", - "broken species list links" - )) - print(unlist(lapply(objectToCheck[tableToCheck], nrow))) + mySS <- objectToCheck[["SS"]] + if (is.null(mySS) || nrow(mySS) == 0L) return(objectToCheck) + + myLinks <- data.table::data.table( + SLspeclistName = mySS[["SSspecListName"]], + SLcatchFrac = mySS[["SScatchFra"]], + SLyear = extractHigherFields(objectToCheck, "SS", "DEyear"), + SLcou = extractHigherFields(objectToCheck, "SS", "SDctry") + ) + # One match per SS row is sufficient, even when several SL records match. + myMatches <- objectToCheck[["SL"]][myLinks, + on = c("SLspeclistName", "SLcatchFrac", "SLyear", "SLcou"), + which = TRUE, mult = "first"] + hasMatch <- !is.na(myMatches) + + if (verbose) { + print(paste0("SS rows before: ", nrow(mySS), + "; removed: ", sum(!hasMatch), + "; remaining: ", sum(hasMatch))) } - return(objectToCheck) + objectToCheck[["SS"]] <- mySS[hasMatch] + objectToCheck } diff --git a/R/utils.R b/R/utils.R index 3417794..0551875 100644 --- a/R/utils.R +++ b/R/utils.R @@ -49,7 +49,7 @@ globalVariables(unique(c(usedVars, moreUsedVars, evenMoreUsedVars))) #' @return a vector of integers or doubles #' @importFrom stats na.omit #' @keywords internal - +#' @exportS3Method NULL as.integer.or.dbl <- function(x){ # we apply as.numeric in case it is a character vector # we apply as.omit because that causes an error diff --git a/man/removeBrokenSpeciesListLinks.Rd b/man/removeBrokenSpeciesListLinks.Rd index 1e15096..d4c0281 100644 --- a/man/removeBrokenSpeciesListLinks.Rd +++ b/man/removeBrokenSpeciesListLinks.Rd @@ -2,9 +2,7 @@ % Please edit documentation in R/removeBrokenSpeciesListLinks.R \name{removeBrokenSpeciesListLinks} \alias{removeBrokenSpeciesListLinks} -\title{Remove rows which are not pointing to a valid SpecliestListDetails (SL) -records i.e.those rows which have a value of SpeciesListName that does not -exist in the SL table.} +\title{Remove SS rows with broken species-list links} \usage{ removeBrokenSpeciesListLinks(objectToCheck, verbose = FALSE, strict = TRUE) } @@ -12,25 +10,23 @@ removeBrokenSpeciesListLinks(objectToCheck, verbose = FALSE, strict = TRUE) \item{objectToCheck}{an RDBESDataObject.} \item{verbose}{(Optional) If set to TRUE more detailed text will be printed -out by the function. Default is TRUE.} +out by the function. Default is FALSE.} \item{strict}{(Optional) This function validates its input data - should the validation be strict? The default is TRUE.} } \value{ -an RDBESDataObject with any records with an invalid SpeciesListName -rows removed +an RDBESDataObject with SS rows without a matching SL record removed. } \description{ -Remove rows which are not pointing to a valid SpecliestListDetails (SL) -records i.e.those rows which have a value of SpeciesListName that does not -exist in the SL table. +A species-list link matches the list name, catch fraction, design year +and sampling country against the SL table. } \section{Development review}{ \itemize{ -\item AI-assisted: No -\item Human review: rix133 +\item AI-assisted: Yes +\item Review: rix133 } } diff --git a/tests/testthat/test-removeBrokenSpeciesListLinks.R b/tests/testthat/test-removeBrokenSpeciesListLinks.R index 7b69893..71df699 100644 --- a/tests/testthat/test-removeBrokenSpeciesListLinks.R +++ b/tests/testthat/test-removeBrokenSpeciesListLinks.R @@ -3,6 +3,36 @@ # Notes/scope: Issue #269 imported H1 data, NULL/empty SL, and a synthetic data capture.output({ ## suppresses printing of console output when running test() + # Build a synthetic H1 fixture with one valid and one broken species-list link. + # returns an RDBESDataObject with one SL record and two SS rows. + makeSpeciesListLinksFixture <- function() { + myObject <- newRDBESDataObject() + myTables <- c("DE", "SD", "VS", "FT", "FO", "SS", "SL", "IS") + # Reuse column schemas only; all fixture values are synthetic. + for (myTable in myTables) { + myObject[[myTable]] <- data.table::copy(H1Example[[myTable]][NA_integer_]) + } + + myObject$DE[, `:=`(DEid = 1L, DEhierarchy = 1L, DEyear = 2025L)] + myObject$SD[, `:=`(SDid = 1L, DEid = 1L, SDctry = "EE")] + myObject$VS[, `:=`(VSid = 1L, SDid = 1L)] + myObject$FT[, `:=`(FTid = 1L, VSid = 1L)] + myObject$FO[, `:=`(FOid = 1L, FTid = 1L)] + myObject$SS <- myObject$SS[c(1L, 1L)] + myObject$SS[, `:=`(SSid = 1:2, FOid = 1L, + SSspecListName = c("test-list", "missing-list"), + SScatchFra = "Lan")] + myObject$SL[, `:=`(SLid = 1L, SLspeclistName = "test-list", + SLcatchFrac = "Lan", SLyear = 2025L, SLcou = "EE")] + # Validation requires a non-empty IS table whenever SL is non-empty. + myObject$IS[, `:=`(ISid = 1L, SLid = 1L)] + for (myTable in myTables) { + data.table::setkeyv(myObject[[myTable]], paste0(myTable, "id")) + } + + myObject + } + test_that("removeBrokenSpeciesListLinks runs without errors or warnings on imported H1 data", { @@ -51,37 +81,7 @@ test_that("removeBrokenSpeciesListLinks removes all SS rows expect_equal(myObjectValidSpeciesListLinks, myExpectedObject) }) -#' Build a synthetic H1 fixture with one valid and one broken species-list link. -#' @return An RDBESDataObject with one SL record and two SS rows. -# AI-assisted: Yes -# Review: pending human review -makeSpeciesListLinksFixture <- function() { - myObject <- newRDBESDataObject() - myTables <- c("DE", "SD", "VS", "FT", "FO", "SS", "SL", "IS") - # Reuse column schemas only; all fixture values are synthetic. - for (myTable in myTables) { - myObject[[myTable]] <- data.table::copy(H1Example[[myTable]][NA_integer_]) - } - - myObject$DE[, `:=`(DEid = 1L, DEhierarchy = 1L, DEyear = 2025L)] - myObject$SD[, `:=`(SDid = 1L, DEid = 1L, SDctry = "EE")] - myObject$VS[, `:=`(VSid = 1L, SDid = 1L)] - myObject$FT[, `:=`(FTid = 1L, VSid = 1L)] - myObject$FO[, `:=`(FOid = 1L, FTid = 1L)] - myObject$SS <- myObject$SS[c(1L, 1L)] - myObject$SS[, `:=`(SSid = 1:2, FOid = 1L, - SSspecListName = c("test-list", "missing-list"), - SScatchFra = "Lan")] - myObject$SL[, `:=`(SLid = 1L, SLspeclistName = "test-list", - SLcatchFrac = "Lan", SLyear = 2025L, SLcou = "EE")] - # Validation requires a non-empty IS table whenever SL is non-empty. - myObject$IS[, `:=`(ISid = 1L, SLid = 1L)] - for (myTable in myTables) { - data.table::setkeyv(myObject[[myTable]], paste0(myTable, "id")) - } - myObject -} test_that("removeBrokenSpeciesListLinks keeps a valid SS row and removes a broken species-list link", { @@ -99,7 +99,7 @@ test_that("removeBrokenSpeciesListLinks keeps a valid SS row expect_equal(myObject, myOriginalObject) }) -test_that("removeBrokenSpeciesListLinks uses SSid when SS columns are reordered", { +test_that("removeBrokenSpeciesListLinks handles reordered SS columns", { myObject <- makeSpeciesListLinksFixture() # Both rows use the same list name; the second has no matching catch fraction. @@ -120,4 +120,33 @@ test_that("removeBrokenSpeciesListLinks uses SSid when SS columns are reordered" expect_equal(myObjectValidSpeciesListLinks, myExpectedObject) }) +test_that("multiple matching SL records do not duplicate or reorder SS rows", { + + myObject <- makeSpeciesListLinksFixture() + myObject$SS[SSid == 2L, SSspecListName := "test-list"] + myObject$SS <- myObject$SS[2:1] + data.table::setkeyv(myObject$SS, "SSspecListName") + myObject$SL <- myObject$SL[c(1L, 1L)] + myObject$SL[, SLid := 1:2] + data.table::setkeyv(myObject$SL, "SLid") + myOriginalObject <- data.table::copy(myObject) + + myResult <- expect_warning(removeBrokenSpeciesListLinks(myObject), NA) + + expect_equal(myResult, myOriginalObject) + expect_equal(myObject, myOriginalObject) +}) + +test_that("empty and NULL SS entries are returned unchanged", { + + myObject <- makeSpeciesListLinksFixture() + myObject$SS <- myObject$SS[0] + myResult <- expect_warning(removeBrokenSpeciesListLinks(myObject), NA) + expect_equal(myResult, myObject) + + myObject["SS"] <- list(NULL) + myResult <- expect_warning(removeBrokenSpeciesListLinks(myObject), NA) + expect_equal(myResult, myObject) +}) + }) ## end capture.output From 0a012558b9d725505ed8d052216a49f52d09f996 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 10:01:02 +0200 Subject: [PATCH 81/87] #267 --- R/detectNonExportedExamples.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/detectNonExportedExamples.R b/R/detectNonExportedExamples.R index 3a36ed4..fb9edc3 100644 --- a/R/detectNonExportedExamples.R +++ b/R/detectNonExportedExamples.R @@ -64,7 +64,7 @@ #' @examples #' \dontrun{ #' # Scan a local package source directory -#' issues <- detectNonExportedExamples("path/to/package") +#' issues <- RDBEScore:::detectNonExportedExamples("path/to/package") #' #' # Display all detected calls #' print(issues) From 33d2e8f2a060bc402920ca2ab1219d56cbdba171 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 10:01:18 +0200 Subject: [PATCH 82/87] # 267 --- R/importRDBESDataCSV.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/importRDBESDataCSV.R b/R/importRDBESDataCSV.R index a539dc4..ae1ee11 100644 --- a/R/importRDBESDataCSV.R +++ b/R/importRDBESDataCSV.R @@ -33,7 +33,7 @@ #' dataDir <- paste0(system.file("extdata", package = "RDBEScore"), "/") #' tmpDir<-tempdir(check = FALSE) #' unzip(paste0(dataDir,"H1_Example.zip"), exdir=tmpDir) -#' myH1DataObject<-importRDBESDataCSV(file.path(tmpDir,"H1")) +#' myH1DataObject<-RDBEScore:::importRDBESDataCSV(file.path(tmpDir,"H1")) #' validateRDBESDataObject(myH1DataObject)} #' importRDBESDataCSV <- function(rdbesExtractPath = NULL, From b81e93d9ff66dfe605815d9c35075a5767b13269 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 10:06:23 +0200 Subject: [PATCH 83/87] fixed bug in FOid subset --- vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd b/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd index f9515b9..ac50453 100644 --- a/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd +++ b/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd @@ -29,11 +29,12 @@ library(data.table) ## Load and validate example data ```{r} -# read an example dataset and simplify it to 1 trip and 1 haul +# read an example dataset and simplify it to 1 trip and 1 haul (the first one in the dataset is selected +the dat) data(Pckg_survey_apistrat_H1) myH1DataObject1 <- Pckg_survey_apistrat_H1 myH1DataObject1$SL<-myH1DataObject1$SL[grepl(myH1DataObject1$SL$SLspeclistName, pat="Pckg_survey_apistrat_H1"),] -myH1DataObject1<-filterAndTidyRDBESDataObject(myH1DataObject1, fieldsToFilter="FOid",valuesToFilter=70849) +myH1DataObject1<-filterAndTidyRDBESDataObject(myH1DataObject1, fieldsToFilter="FOid",valuesToFilter=myH1DataObject1$FO$FOid[1]) # check it is a valid RDBESobject validateRDBESDataObject(myH1DataObject1) ``` From 47556828c2cce7ad4966b2028d55d94319031c38 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 11:04:41 +0200 Subject: [PATCH 84/87] update name of function now more descriptive --- ...dExamples.R => detectNonExportedFunctionsInExamples.R} | 6 +++++- ...ples.R => test-detectNonExportedFunctionsInExamples.R} | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) rename R/{detectNonExportedExamples.R => detectNonExportedFunctionsInExamples.R} (97%) rename tests/testthat/{test-detectNonExportedExamples.R => test-detectNonExportedFunctionsInExamples.R} (89%) diff --git a/R/detectNonExportedExamples.R b/R/detectNonExportedFunctionsInExamples.R similarity index 97% rename from R/detectNonExportedExamples.R rename to R/detectNonExportedFunctionsInExamples.R index fb9edc3..8844c47 100644 --- a/R/detectNonExportedExamples.R +++ b/R/detectNonExportedFunctionsInExamples.R @@ -64,7 +64,11 @@ #' @examples #' \dontrun{ #' # Scan a local package source directory +<<<<<<< Updated upstream:R/detectNonExportedExamples.R #' issues <- RDBEScore:::detectNonExportedExamples("path/to/package") +======= +#' issues <- detectNonExportedFunctionsInExamples("path/to/package") +>>>>>>> Stashed changes:R/detectNonExportedFunctionsInExamples.R #' #' # Display all detected calls #' print(issues) @@ -74,7 +78,7 @@ #' } #' -detectNonExportedExamples <- function(pkgPath) { +detectNonExportedFunctionsInExamples <- function(pkgPath) { stopifnot(dir.exists(pkgPath)) man_dir <- file.path(pkgPath, "man") diff --git a/tests/testthat/test-detectNonExportedExamples.R b/tests/testthat/test-detectNonExportedFunctionsInExamples.R similarity index 89% rename from tests/testthat/test-detectNonExportedExamples.R rename to tests/testthat/test-detectNonExportedFunctionsInExamples.R index 16a8d03..f7fadf3 100644 --- a/tests/testthat/test-detectNonExportedExamples.R +++ b/tests/testthat/test-detectNonExportedFunctionsInExamples.R @@ -3,7 +3,7 @@ #' - Notes/scope: not really reviewed, just worked when needed #' -test_that("detectNonExportedExamples finds non-exported functions in examples", { +test_that("detectNonExportedFunctionsInExamples finds non-exported functions in examples", { pkg_path <- tempfile("testpkg-") dir.create(pkg_path) dir.create(file.path(pkg_path, "R")) @@ -52,7 +52,7 @@ test_that("detectNonExportedExamples finds non-exported functions in examples", file.path(pkg_path, "man", "public_fun.Rd") ) - result <- detectNonExportedExamples(pkg_path) + result <- detectNonExportedFunctionsInExamples(pkg_path) expect_true(is.data.frame(result)) expect_true(all(c( @@ -68,7 +68,7 @@ test_that("detectNonExportedExamples finds non-exported functions in examples", unlink(pkg_path, recursive = TRUE) }) -test_that("detectNonExportedExamples ignores exported functions", { +test_that("detectNonExportedFunctionsInExamples ignores exported functions", { pkg_path <- tempfile("testpkg-") dir.create(pkg_path) dir.create(file.path(pkg_path, "R")) @@ -113,7 +113,7 @@ test_that("detectNonExportedExamples ignores exported functions", { file.path(pkg_path, "man", "public_fun.Rd") ) - result <- detectNonExportedExamples(pkg_path) + result <- detectNonExportedFunctionsInExamples(pkg_path) expect_false(any(result$function_name == "public_fun")) From a4bd355f1bb1d8464e52e9c2c179c8f32f6a2e82 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 14:02:17 +0200 Subject: [PATCH 85/87] set SAtotalWtLive, SAtotalWtMes of dummy rows to NA: was 0 set SAspecState of dummy rows to "Unknown"; was 0 closes # 271 --- R/generateZerosUsingSL.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/R/generateZerosUsingSL.R b/R/generateZerosUsingSL.R index 19d2c57..85c3e91 100644 --- a/R/generateZerosUsingSL.R +++ b/R/generateZerosUsingSL.R @@ -120,7 +120,9 @@ generateZerosUsingSL <- function(x, dummyRows$SAstratification <- 'N' dummyRows$SAstratumName <- 'U' dummyRows$SAspeCode<-sppToAdd$IScommTaxon - dummyRows[,c("SAtotalWtLive","SAsampWtLive","SAtotalWtMes","SAsampWtMes","SAspecState")]<-0 + dummyRows[,c("SAtotalWtLive","SAtotalWtMes")] <- NA + dummyRows[,c("SAsampWtLive", "SAsampWtMes")] <-0 + dummyRows$SAspecState <-'Unknown' dummyRows$SAnumTotal <- ifelse(dummyRows$SAunitType=="Individuals", 0, dummyRows$SAnumTotal) dummyRows$SAnumSamp <- ifelse(dummyRows$SAunitType=="Individuals", 0, dummyRows$SAnumSamp) dummyRows$SAselProb <- 1 From a1cb2db3cc587a79ef39789dcd5cee5e908ddd49 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 14:26:45 +0200 Subject: [PATCH 86/87] update name of function fixed conflict --- R/detectNonExportedFunctionsInExamples.R | 4 ---- 1 file changed, 4 deletions(-) diff --git a/R/detectNonExportedFunctionsInExamples.R b/R/detectNonExportedFunctionsInExamples.R index 8844c47..f0d6e17 100644 --- a/R/detectNonExportedFunctionsInExamples.R +++ b/R/detectNonExportedFunctionsInExamples.R @@ -64,11 +64,7 @@ #' @examples #' \dontrun{ #' # Scan a local package source directory -<<<<<<< Updated upstream:R/detectNonExportedExamples.R -#' issues <- RDBEScore:::detectNonExportedExamples("path/to/package") -======= #' issues <- detectNonExportedFunctionsInExamples("path/to/package") ->>>>>>> Stashed changes:R/detectNonExportedFunctionsInExamples.R #' #' # Display all detected calls #' print(issues) From e6cdd9452d9baf8c3256c64f867b4417f1fcba0d Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Wed, 14 Oct 2026 14:50:39 +0200 Subject: [PATCH 87/87] Update generateZerosUsingSL.R fixes #273 with regards to generateZerosUsingSL part --- R/generateZerosUsingSL.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/generateZerosUsingSL.R b/R/generateZerosUsingSL.R index 85c3e91..3f19b29 100644 --- a/R/generateZerosUsingSL.R +++ b/R/generateZerosUsingSL.R @@ -64,7 +64,7 @@ generateZerosUsingSL <- function(x, # in the following, the max SAid is determined. That SAid + a decimal will constitute the SAid of the new 0 rows # determine upper table (parentIdVar) and its value (parentIdValue) # note, the use of which is an attempt to make this hierarchy independent - there may be better forms to achieve this. - parentIdVar<-c("FOid","TEid","LEid","FTid")[which(!is.na(tmpSS[tmpSS$SLid == targetSLid,c("FOid","TEid","LEid","FTid")]))] + parentIdVar<-c("FOid","TEid","LEid","FTid")[which(!is.na(mySS[mySS$SLid == targetSLid,c("FOid","TEid","LEid","FTid")]))] parentIdValue<-tmpSS[[parentIdVar]][tmpSS$SLid == targetSLid] # associates the parentIdVar to tmpSA tmpSA$parentIdVar<-x[[gsub("id","",parentIdVar)]][[parentIdVar]][match(parentIdValue, x[[gsub("id","",parentIdVar)]][[parentIdVar]])]

    4ts$`Lr^y`W?>@<*2yRpuyXl;O zY{L0JtZ|?i#mk#ydi{rA`^k^AFMifrK_NfM5_^7hiQUSZMU6!KM0`o$d0qys0DcGn^*iy8 z|6Ob1o4Z{GQV5=bNJ!MUsxgr*3##|d0=gif?< ze|L9%2(Bo(QH^0Ngc@*ZPX?nPLo+f8+i*4+3p0)ZSR5Y5Y+!!qVo%Ls{q{^ppChQg zc%x@Jxa5oOa{Z3TIak=_x#HPh#IL?ekngI9PyeFb{qqsa@YfQVVV`!TSvISN=JU26 zl!0Mf`Z*1=@YeSAllC8JIqb&SNe+WSj0Of;_RO#>?G%6=zl#)s=2)U)E03P?bK4rC zYKJe{R7GYS!+n+*_IDi{R>R9aJ-+WQs+h3pouOJsv!PYetWNT6W$Rh8IXZBElFY0j zK|*7C-hnkGPp(1^MXFlle@%1IyH7~m#psn`#b|NMQ7h@>l11KpeE3H&l zJmvGp*y4L~q#imR0VcUYe%%@OCg*8&SE%jWFYk7K+g3SX=%T>KKm^;Ze5Unl@~xW- zR|8D)tDq}~M7AJ@SFiB-vjz#D9XScrqA4HRD2vxN-d^Nq9kjtP)?$F$ zSD{=}B#G8%tHI1nT)OaETf0Slgu=V6?-tpN51yND*mPVvh3Wr#(t6<}UKHAH)n5%G z4{GJ3V0*s%;zbZ+P5_c!og^#Q&2>#zKm7Q$PmVWK@uwL?J*KU3t?FBT&5N#7a7T&Y zqdQe^=0qs$V0kfx3r!r}#tNY-vi+LU;=>$Lc8!k*pu(8gEq(0IwzJC+lQ;5DLJ?+DLdFQbI$P(&bSS8r~QC<97-}hc?o72n5kC;VR()s~1^3F5e z`JgkQSN3;=ELM`2Vgej-pVQ;MzCD7k^S2kPy66KPR+xb^b!Uk2FA)i57PvmUKsnh( zi;+T|jFohE2OCgMthLkieYS|ko$v^1D-BEDlS;;iRvD)EVFT2k|MXmRvwJ1XHF=wh zo1_FjQNDa}wR(DaQDtbuXtVg%h5Q+HS;{4sr&sTaedK-eGO|@(mM)hV2boZ{rq7Z= z%!&m+UcE4yxUi=4?ah_U{ z?^!!tGX6Ani7dm}7r&?w`cq{0$t;p|D&h|sk~|!urp|lhHg22b1Iwbw3!aRVEl+%L zMa@xYI_pzDynArysL*)uh9OocZnom!3EjDB;lXXCx?g_JW&%7VT50tsZGMH-t|{6q zk8NC^5$o3;e7;gDa*FL4Tb_Y6W=ET4Zn?#DZFfj;Hy>ZUeDgiymt`?-!{mkF9t-?` z#3vK$NBy|0W#*9+Qp;s4?rtg|=WltJmtw$Zp^$8G7lzb9R9o>MDc$66c zqxffBAz=7TQ!B(!EhiwHo6`szYHC)65IV;IzG1)vS0Uje@yfrFjiXPB8+I};zu!(= zmHUwwHWm_a`008*<0t0mr0`DebpvLyeri8RVqfKD?%6jlpQ`=d1{I|phpQl2o|KHd zlxwqQ`2xP3?(~bl9tD5D<9xNvn!2qrn*Y@>;qdzQX#S|wyFRkB!Y`u)x4y;6I@eNe z640w2P^dVV&{J)RM@*e*9e!E#lH1(sbK5IUObhi5`C^A5Rh2pi(2J&pW%a8LQ}oGYf+XEEZ)7xe7oTAf0)Vd;jf4MWI$BgY}q-%AH1<;;-j?XS>;D`C0UH5%>SGk~#C3jO` zI#0{}izEjqOZhb)Tnl|S{UMTd#~sQ?Ja57%aGXOD^I64?&}?N&!p25nZ**DeS>|Yw zTG{t*HD>}1{H<-3nmgepY6g_t-w5!ZC^X^napYLp5A@AgO}6-fBjoGJUR>FJz!Rc) z(9_u?|7e@gy$7orNuQbl1y1)Yc%w)x4U9*D7fFWas>#0|wM&~6v#?w{Le)j^7ggh$ z8Vz&!%0q(KW&lkl{6X2zD-A2@6av6pOlcHQye-y9G4j` zc+bN?H1(&}n&=YOJI`QpRAfb;@O< z@FKL!60-9hs-Orgkn?vTD5SGUtUaiMs2S9y$)3=YhKcGJK6)%e;6+gS{;yrx5jGD-z=6R0F995f~b1jS0 zAQ3;y$80KgKex=JB!l)Ma>7^Mw@D3%qjslmEB=>cF=XDLmeneQDcCBL0w<)(VoxP9 z!VFK|X4p%rm6E65LcL`aw9VAT0T?fbQuqUQ1v6_BZyW4cjLpO0ZSe>?B7;vBxP`VZ zZO{2$TU{R?@5$kOJ%v2=Jjcm6eEuh;CxobDOhJB^1&*oIk5R9E6`Fehj6tRZ&?gr# zC4zEvn4o(umH49h;BM^j8y9=l#}wA<;IU-M-Q1~1w*;if*-}vbB#Z)5aU;~P()HMa zeVjWw-m#@Tq>xkdw4{c+XSr&y!W?o%AN1Jmn(8`p#beb=YtziFtzU@)c~ON{J}KVj z3Q{ZrktuEAgW)0Zs7Gx8FIqwt*F0U}TJfS42%}b2eSUb}T_49h>jVR>=Y#+yoN$Fp z2N`WsCvZ>w;RE`lxw`eWz_GfAAVTdX2y@IZ)MKxfObP{o3Q&S5GPB!QEZDPhQK>Gj zBIP4G761oJVdE;Ml`6WIP4Ev?2=? zngZO}QoglA^9&sGve{y)3U7fXfe1;>XMN(3w#FPabRG2=h>5>#5zK=Hp*Il;`-*JH zZkuI!X_(BSMZk)4^*}%iB0*2I>qsWJGf!`6L%J(m3Q+vy@pxb1i|sca%@ft411Vz3 z+guTz6vX;D^&V7wEt)g3F#I_Yk<00jAr@OQIq|vY#odXoH~HJ^!4Mm>v74N8ULu`& zn9|%ho?Z3$D21v1F4cgsaJG&hW3rZ%4wA+vQ)wW-^j@-XwlVWV?TG?)V>Bp5y|VgV zClr>aHNVf}W1z1d+OY@?DWC|7MS z+E;{PTia7KzSDIdCPGRxV(MM6LK<^i7y(OXiUaMBH+cmE?P_lGCwm{2k@S&b1w*9t z`+{~4xyYw;J%?uf;J=T(Q=T5#AgrnRyk~DXC5urry!qkXoTDGN8zi`XepdMF53Y>Y zFE{%fPtFALB1Zf6{6aQozm4x-bnbjvyY4Og_4C)++0UL^k>vNw<|9+Pf8+YE<)1%( zctxF_PW^XGHy~Zy|9iv#Ku;gZ{D$)1^18eG$mO#R|AYSTRqq>q-l#n7DBfh|nixj7 zW)?4AEe5YnO)rwvPeBz;L!!BZc*f&Y3d6uVfB@&KL zdWuS>&~}6X@cN8dVp=9CWko%J>EHsRBr-Uqppms1j*`BsGNl~H2NwXc_rBGH@+VV3 zbaZkEZ~DV(3-eRtml?%V@G|oAX_Ns}0ISA>Yb_^a7pI^q$ z7-J0_^N4DJW&)IYlEVv(jttUSXrP&1 z;~)p4^h7zn*&#HcMLWIoT5d@x$=-OI|<$mmgvzXsuhTFoa z`D-Qbw;X)KMK`XBvWn&jJtiexkFp_V0D7zBv5bU>%UH~(#Y{o#KK9r@65B@(>5r$q zj9%f*HAt|wLyq5LX`KjnaInemCMl=(oRp~&>?1q`mo9sqq3QbUYRq&kFt+uAi zMUd28e~jTGiLmx=3chvn?oJT!hf7UN+C@!D9)%?YnZrI)U$>|{rKe9x8rnQoXAHQT z0}9QpiF#UP<~w&QUyJFR(V-5>>WP^yB9WVI}u@AsU)7x%twd*T>w+_EJw75=L8*pSR2GE7Ar2=JA`(p_~ z01k>I@Pl|#Qo;vXsjQ+w+>;DK&W`dYEl~|D>$KmUZm}bEr3X*7i=BM=UQ}zy9SJ>* zAt9t>)(r%>Rn^-wi4p5n;9%4m(s(=vKVIrow-+)@WgXwZnkSfkaPii+oSDB)XY60ur&KH7k zId)o!HvP+LONbDTKx&X%YVuu1?yGi^TET=LKCN$GT1^Lb^Jdu%-za|b%7!yGULJ3v z3`|f49lMi%L>~N6m;VPi;N|8P(4Lm1m<4Jjyp@E_itjEa6mv*)M5qohH7bk9lBT+Z zk`_Ep6ro9~$_(B`0O?8LoCm6?e8^JW$cA+_&7!_5ygpq|;_+RguPG~6?V+x##l(}b zb(O`tMgHSn_}%L8^s62(jE1EpDJMjp_8st`W*kjvZTv(kbcd}shrc7AlZRuu0cUQ~ zIzqjaVt0T>ERVDrg|4g!SLHGQ<~e9@9>Dmw`2&mVed*-{tNg4vg|o%@s_hIp%S5xZ z^`<0k5hCm<2C0C?rA(iMS7Rm)1u+>1YwHv`my?roU4_VoswE!;YTxya;9Jg_0$`6G zrTL6og!H`sx|k~^Ox(rRf_o0*Z@LUIub+BCtH)a4IkaO{c-6j9wSVEiQ|a4fEzVTs zra;A6SPkAUTEw_1OrwG)S>^w+Y?LA1E=@s{9bOtYtRvF$o*a5SaW{x;WYJDh?kj`j)qNkrajWb~n zK*T!pc~7P9w|Qt3fMWs8sQ%JTSyH|0%rU!h zuOTaB?8_WglF1dROpf`^+E4Ac*JiNP{i*~VM# z?z#bz?P4)e6BZCxU9t*`x)t9Ui`KG-{|q;++oxdwlou!1(E%B8N#Hu4nnm$y{!yh- zSD&mIyBb-3$0}dKP`%!2xy9hy^q9;&)q%Oj3)5bEcIj-(Rxv$`0e4pMW8sG3Cb8v# z_4W$?a?1rvlm#o=d%?4?s)ba1&KR>?UM~?>`>^dJ#$?v^@ZvIWlJYEl@uqw$K7|~8y!|XJXN9+Ngea}+?PhNk<18hWYK{U3xMYtN zIoI1$E(*&TqoP*43_?cyWn>;>o+HB=GYJuBCI#~$#2QATvd+y4fb#c$q+C2aDvI)JLFPrCSLjReQj3c= zpT23H6z%Rv6-^cGZob)c;Shps@soVL37)hV$#uma_t@Nf+!>tw_xBI72vLU!%BI^} zd2dmXie#4(T+_o-_WMp(9n2%&Fuvgf0bKpai=d8vUsKuR!fdQ3n%PfW;=dr1 zc2fLJ=vj>{@!b3pT+0$Ws50BYk2}*c+vO#+*%YZ0X;_$$(~0JPK$70q#Ay3ElXfRT zqzU=fMuK+XAc(10cCBh@x#yYnk!o3c zff%Pl4PJP_K&|=WtHK^{LLzlepLjDnkw)YzQ26^s1samE+M97#>xEF!0DG+ew^!a!*eL{=%0~8D8taqXC46bHd(70 zu{)jCbJ@fz#ltOF^x8Z2VatxCl)4-$IE35t<&#ok^fC&f`nu~n`(g+DHMRG3I$ADm zC5)D5D&In%OVm1WI1hoW#UX3kkS)}GJ^^cBPiHJBe)?2@hQ4Y_&eIX7SH#M|F%BpM z!~A@6-8f&iBZ7vVzocy_T672xn)Nzt4#xT+uk!o|!u=rvdjNs9PswM@s^0sfA=^-_ zNcN|?^IU7+64wL3b1B25!MDntJKEYp`nO)j3>l1&@FpcC@h11=Ky_4>PzGYdpwq_b zPRA6G4m7(w732sysVmwcX`w5H09vZ&OJ+x}Z{6Ez{GdZ>>c~LFV2ZYJJ7&Fm9C%op zp?td(?uxIEhR4IFsMSBv6S}f_J8=vZG;)7-He}4wO+L2-?I85C#VZFA^{%tFGLE{e z`PJSBDuX|2qEugK!@Xm+t=TD39b&zqYwfI)2x*ba`hj;DeH2-AJ}0W9%@=zos%?^3 z83_FX!>MYU>bd@O#iNdH>fTZE*6z@Bj^2x$z|W}j4=uM}A(cLnk+~%3Sg@Fr_I;rYlg~f`6)YO4MX&8>epBWMCloG0ziQP<)Np{Xg8>Iy-o;4V- z%jUuLQ>jn7T8re(gdQ38q=%XDBujod9h+kwb$^D+ZQ<2r`r{+j*ZZ$B#c{JXgKR{GQI z*@2mhRU=Yqh)a1^H%G>XSiI?t)`h}NI&Pyv6p{#d2SZ3QKO%kb|o}Kj1EH>Miv>;N}*VU+Y-fs z)`4VuZ}SBJp&8ywC`bjyD=O?B`uRf1U!ewh>FEd zvGI5+=W>reC-~rp)4B27f@=KK9*Z_aiFY3wf;Ol|?*UCG!>r@3^Og z?q=@?r(1i9i{EP}K^Z!iXp_r79iD$Tnle)|)02yAK9YtO$ha<70JUUY5dk2ysh;Sv zmb7({SBPp!^g*wq?8T}e(|Y6B(i#}#{Db= zYb{}yk8a70W9sVV1y{>8X%BrwXp3T~xx?zy?wS{6p;Omo_%TozP z$WA~vcgCz4_b=FvV&^k1FiJ0GAH~o=hea=|e34R_-3+wmDOSb-a)xJX=kRAGH8ivp`9=KMB3AIgsK&|JNR+@>XOWG8EDw{7FKzx zs}BJ{&xMkAU2+qz8gGP5HZ&)H>}9L)*$!eT9K$NnBz2(|JsAqL=m5l&vWyVf{(KZ< z{gddqY96fSz+Z{`_TCk|Dy7vD_GrM|U*rKf3u*$kXyoPP)dx38F{+d{CbK;pHbXiX zXh*HYsv6H2*Fa?~v`jT>D&_)|^^{#!PI~k!TAB5l{@g_YGq3SXnkmGA;_8Ggej~u;%!MLN+0z}qz9!<0DnOQ>Qy)+Iud6~wT(IzBU?$RHv{M8&>x)02j(i1i>s&HtM zvMH;yDv<61+Mq)str^{sA7ICL@{)v zTFg?^?#*EzXr4zfjI&aDcH;?peZKmKG2<+SvH& z)VI=R1y5B|{dl5khCjX-at5Eu`zr~_6ijb&ueiT=U)zmsA4iK8&`6H3XC^QYG^q`% z)v-{a4YyP2@dVsfR2ozS)B~Eh$>Tr;e17G-#syz6_;Tq!e{Aicb6*6H5R-n!*vi7n z4VJhKo+z%&1e%K^k2CW3+e-^A^=nUma0qK6Daqp1*w(zG0n*CDRgA;l<3wtaW}}9A9o6AB8&o|5d?1>bd=%R1jP!9gjd6e{BsA_#l+18;_K^vZ6p?re?eZG$5jjcv%pm|6 zAVotK1O(c+_s*V2Tl^BEgkMRk3CBKTUOXu5fUpFYV^jp%VSiQUE!RI<%|E QonLIeS_(#)zmF6CFZ?zK-v9sr literal 10333 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 literal 11622 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 R{tm7sY0-k9%$Dat{|f>MWgP$j diff --git a/data/Pckg_survey_apistrat_H1.rda b/data/Pckg_survey_apistrat_H1.rda index 4912c704d7f18f00c288d20897b6acc01b71117b..7d89fe98da29657c91cffee9d4cb2120a5312e1e 100644 GIT binary patch literal 12516 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 X#8mfk5aLgF^D(MjC``+p#`u2$6xqze From e6ee54ef6bea99f3c68f56024fb3a2a10f44f27a Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 16:13:40 +0200 Subject: [PATCH 09/87] updates vignettes valuesToFilter now download independent --- vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd | 2 +- ...v02c-Generating-NAs-for-species-not-targeted-by-sampling.Rmd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd b/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd index d236f23..da06c49 100644 --- a/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd +++ b/vignettes/v02b-Generating-zeros-for-species-not-observed.Rmd @@ -34,7 +34,7 @@ data(Pckg_survey_apistrat_H1) myH1DataObject1 <- Pckg_survey_apistrat_H1 myH1DataObject1$SL<-myH1DataObject1$SL[grepl(myH1DataObject1$SL$SLspeclistName, pat="Pckg_survey_apistrat_H1"),] #myH1DataObject1<-filterAndTidyRDBESDataObject(myH1DataObject1, fieldsToFilter="FOid",valuesToFilter=70849, killOrphans = TRUE) -myH1DataObject1<-filterRDBESDataObject(myH1DataObject1, fieldsToFilter="SSid",valuesToFilter=227694, killOrphans = TRUE) +myH1DataObject1<-filterRDBESDataObject(myH1DataObject1, fieldsToFilter="SSid",valuesToFilter=myH1DataObject1$SS$SSid[1], killOrphans = TRUE) # check it is a valid RDBESobject validateRDBESDataObject(myH1DataObject1) ``` diff --git a/vignettes/v02c-Generating-NAs-for-species-not-targeted-by-sampling.Rmd b/vignettes/v02c-Generating-NAs-for-species-not-targeted-by-sampling.Rmd index a0a063f..afa3e8a 100644 --- a/vignettes/v02c-Generating-NAs-for-species-not-targeted-by-sampling.Rmd +++ b/vignettes/v02c-Generating-NAs-for-species-not-targeted-by-sampling.Rmd @@ -33,7 +33,7 @@ data(Pckg_survey_apistrat_H1) myH1DataObject1 <- Pckg_survey_apistrat_H1 myH1DataObject1$SL<-myH1DataObject1$SL[grepl(myH1DataObject1$SL$SLspeclistName, pat="Pckg_survey_apistrat_H1"),] #myH1DataObject1<-filterAndTidyRDBESDataObject(myH1DataObject1, fieldsToFilter="FOid",valuesToFilter=70849, killOrphans = TRUE) -myH1DataObject1<-filterRDBESDataObject(myH1DataObject1, fieldsToFilter="SSid",valuesToFilter=227694, killOrphans = TRUE) +myH1DataObject1<-filterRDBESDataObject(myH1DataObject1, fieldsToFilter="SSid",valuesToFilter=myH1DataObject1$SS$SSid[1], killOrphans = TRUE) # check it is a valid RDBESobject validateRDBESDataObject(myH1DataObject1) ``` From 264960ced14103edad9b913d88bf5b1fc84cfac7 Mon Sep 17 00:00:00 2001 From: nmprista <31890653+nmprista@users.noreply.github.com> Date: Fri, 17 Oct 2025 16:21:26 +0200 Subject: [PATCH 10/87] Rds updated --- man/Pckg_SDAResources_agsrs_H1.Rd | 52 ++++++++++++++++++++ man/Pckg_SDAResources_algebra_H1.Rd | 45 +++++++++++++++++ man/Pckg_SDAResources_coots_H1.Rd | 46 +++++++++++++++++ man/Pckg_SDAResources_coots_multistage_H1.Rd | 47 ++++++++++++++++++ man/Pckg_SDAResources_gpa_H1.Rd | 44 +++++++++++++++++ man/Pckg_SDAResources_schools_H1.Rd | 43 ++++++++++++++++ man/Pckg_survey_apiclus1_H1.Rd | 40 +++++++++++++++ man/Pckg_survey_apiclus2_v2_H1.Rd | 41 +++++++++++++++ man/lowerTblData.Rd | 4 ++ man/shrimps.Rd | 38 -------------- man/shrimpsStrat.Rd | 40 --------------- 11 files changed, 362 insertions(+), 78 deletions(-) create mode 100644 man/Pckg_SDAResources_agsrs_H1.Rd create mode 100644 man/Pckg_SDAResources_algebra_H1.Rd create mode 100644 man/Pckg_SDAResources_coots_H1.Rd create mode 100644 man/Pckg_SDAResources_coots_multistage_H1.Rd create mode 100644 man/Pckg_SDAResources_gpa_H1.Rd create mode 100644 man/Pckg_SDAResources_schools_H1.Rd create mode 100644 man/Pckg_survey_apiclus1_H1.Rd create mode 100644 man/Pckg_survey_apiclus2_v2_H1.Rd delete mode 100644 man/shrimps.Rd delete mode 100644 man/shrimpsStrat.Rd diff --git a/man/Pckg_SDAResources_agsrs_H1.Rd b/man/Pckg_SDAResources_agsrs_H1.Rd new file mode 100644 index 0000000..8864fec --- /dev/null +++ b/man/Pckg_SDAResources_agsrs_H1.Rd @@ -0,0 +1,52 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_SDAResources_agsrs_H1} +\alias{Pckg_SDAResources_agsrs_H1} +\title{A RDBESDataObject converted from package SDAResources dataset agsrs} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains dummy values with exception of +Design-Variables in VS that match the book} +\item{SD}{the Sampling Details data table. Contains dummy values} +\item{VS}{the Vessel Selection data table. Contains core information of +data(agsrs), VSnumberSampled and VSnumberTotal set according to agsrs +and book pop values, VSunitName is set to a combination of original +agsrs$county, agsrs$state, agsrs$region and row numbers} +\item{FT}{the Fishing Trip data table. Contains dummy values} +\item{FO}{the Fishing Operation data table. Contains dummy values} +\item{SS}{the Species Selection data table. Contains dummy values} +\item{SA}{the Sample data table. Contains the variable measured +agsrs$acres92 in SAtotalWeightMeasured, SAsampleWeightMeasured and +SAconversionFactorMeasLive set to 1, and the domain information, +coded in SAarea} +\item{FM}{the Frequency Measure data table. Not provided} +\item{BV}{the Biological Variable data table. Not provided} +\item{VD}{the Vessel Details data table. Subset to the essential rows} +\item{SL}{the Species List data table. Subset to the essential rows} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=SDAResources} +} +\usage{ +Pckg_SDAResources_agsrs_H1 +} +\description{ +This data set is derived from the data(agsrs) used in Lohr examples 2.6, 2.7 +and 2.11 of SDA book. Information required for example 4.8 +(domain estimation) is also added to SA (farmcat <=> SAarea). +VSnumberSampled and VSnumberTotal set according to agsrs and book pop +values. VSunitName is set to a combination of original agsrs$county, +agsrs$state, agsrs$region and row numbers. Table SA contains the variable +measured agsrs$acres92 in SAtotalWeightMeasured, SAsampleWeightMeasured and +SAconversionFactorMeasLive set to 1. Table SA also contains the domain +information, coded in SAarea. Table DE, SD, FT and FO are for the most +dummy tables inserted to meet RDBES model requirements to be aggregated +during estimation tests. Values of mandatory fields have dummy values with +exception of Design-Variables in VS that match the book. BV, FM, CL, and CE +are not provided. SL and VD are subset to the essential rows. +} +\keyword{datasets} diff --git a/man/Pckg_SDAResources_algebra_H1.Rd b/man/Pckg_SDAResources_algebra_H1.Rd new file mode 100644 index 0000000..fe13549 --- /dev/null +++ b/man/Pckg_SDAResources_algebra_H1.Rd @@ -0,0 +1,45 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_SDAResources_algebra_H1} +\alias{Pckg_SDAResources_algebra_H1} +\title{A RDBESDataObject converted from package SDAResources dataset algebra} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with +DEstratumName == "Pckg_SDAResources_algebra_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 299 child rows +(the 299 students observed), each associated to its cluster (class), +VSnumberTotalClusters is 187, VSnumberSampledClusters is 12, +VSnumberTotal is Missing} +\item{FT}{the Fishing Trip data table. Just 1:1 links to the final +data (in SA)} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the final +data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the final +data (in SA)} +\item{SA}{the Sample data table. Each score is a SAsampleWeightMeasured} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=SDAResources} +} +\usage{ +Pckg_SDAResources_algebra_H1 +} +\description{ +This data set is derived from a fictional data for an SRS of 12 algebra +classes in a city, from a population of 187 classes. The design is 1-stage +cluster sampling with clusters of unequal sizes. Clusters are classes (class). +Clusters (psu) are unequal sized (Mi). In each cluster, all students are +selected (ssus, nrows). The total number of psus is known (187). The target +variable is score. +} +\keyword{datasets} diff --git a/man/Pckg_SDAResources_coots_H1.Rd b/man/Pckg_SDAResources_coots_H1.Rd new file mode 100644 index 0000000..0769705 --- /dev/null +++ b/man/Pckg_SDAResources_coots_H1.Rd @@ -0,0 +1,46 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_SDAResources_coots_H1} +\alias{Pckg_SDAResources_coots_H1} +\title{A RDBESDataObject converted from package SDAResources dataset coots} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with +DEstratumName == "Pckg_SDAResources_coots_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 368 child rows +(the 368 eggs/psus observed), each associated to its cluster (clutch), +VSnumberTotalClusters is not known, VSnumberTotal is csize} +\item{FT}{the Fishing Trip data table. Just 1:1 links to the final data +(in SA)} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the final +data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the +final data (in SA)} +\item{SA}{the Sample data table. Each volume is a SAsampleWeightMeasured. +ATT volumes are *100000000 to meet type requirement (integer)} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=SDAResources} +} +\usage{ +Pckg_SDAResources_coots_H1 +} +\description{ +This data set is derived from the data(coots). The design is 2-stage cluster +sampling with clusters of unequal sizes and Npsu not known. Clusters are +clutches of eggs (nests) with at least 2 eggs. In each cluster, the volume +of two eggs is measured. Clusters (psu) are unequal sized. In each cluster, +2 eggs are selected (ssus) and measured. The total number of psus is not +known (a drawback in this example). It is assumed very large (fpc negligible). +The target variable is volume (others are available). +} +\keyword{datasets} diff --git a/man/Pckg_SDAResources_coots_multistage_H1.Rd b/man/Pckg_SDAResources_coots_multistage_H1.Rd new file mode 100644 index 0000000..002d9fa --- /dev/null +++ b/man/Pckg_SDAResources_coots_multistage_H1.Rd @@ -0,0 +1,47 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_SDAResources_coots_multistage_H1} +\alias{Pckg_SDAResources_coots_multistage_H1} +\title{A Multi-stage RDBESDataObject from package SDAResources dataset coots} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with +DEstratumName == "Pckg_SDAResources_coots_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 184 child rows +(the 184 clutches/psus observed), each associated to its cluster (clutch), +VSnumberTotal is not known, VSnumberSampled is 184} +\item{FT}{the Fishing Trip data table. Contains 368 child rows +(the 368 eggs/ssus measured), each associated to its vessel (clutch), +FTnumbersampled is 2, FTnumberTotal is csize} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the final +data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the final +data (in SA)} +\item{SA}{the Sample data table. Each volume is a SAsampleWeightMeasured. +ATT volumes are *100000000 to meet type requirement (integer)} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=SDAResources} +} +\usage{ +Pckg_SDAResources_coots_multistage_H1 +} +\description{ +This data set is derived from the data(coots). The design is 2-stage cluster +sampling with clusters of unequal sizes and Npsu not known. Clusters are +clutches of eggs (nests) with at least 2 eggs. In each cluster, the volume +of two eggs is measured. Clusters (psu) are unequal sized. In each cluster, +2 eggs are selected (ssus) and measured. The total number of psus is not +known (a drawback in this example). It is assumed very large (fpc negligible). +The target variable is volume. +} +\keyword{datasets} diff --git a/man/Pckg_SDAResources_gpa_H1.Rd b/man/Pckg_SDAResources_gpa_H1.Rd new file mode 100644 index 0000000..66780da --- /dev/null +++ b/man/Pckg_SDAResources_gpa_H1.Rd @@ -0,0 +1,44 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_SDAResources_gpa_H1} +\alias{Pckg_SDAResources_gpa_H1} +\title{A RDBESDataObject converted from package SDAResources dataset gpa} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with +DEstratumName == "Pckg_SDAResources_gpa_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 20 child rows +(the 20 observations), each associated to its cluster (suite), +VSnumberTotalClusters is 100, VSnumberTotal is 4 because all elements in +cluster are sampled} +\item{FT}{the Fishing Trip data table. Just 1:1 links to the final data +(in SA)} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the final +data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the final +data (in SA)} +\item{SA}{the Sample data table. Each gpa score is a +SAsampleWeightMeasured. ATT gpa scores are *100 to meet type requirement +(integer)} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=SDAResources} +} +\usage{ +Pckg_SDAResources_gpa_H1 +} +\description{ +This data set is derived from the data(gpa). The design is 1-stage cluster +sampling with clusters of equal sizes. Each cluster (suite) has 4 elements +with the same weight. The target variable is gpa. +} +\keyword{datasets} diff --git a/man/Pckg_SDAResources_schools_H1.Rd b/man/Pckg_SDAResources_schools_H1.Rd new file mode 100644 index 0000000..14e205d --- /dev/null +++ b/man/Pckg_SDAResources_schools_H1.Rd @@ -0,0 +1,43 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_SDAResources_schools_H1} +\alias{Pckg_SDAResources_schools_H1} +\title{A RDBESDataObject converted from package SDAResources dataset schools} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with +DEstratumName == "Pckg_SDAResources_schools_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 200 child rows +(the 200 students observed), each associated to its cluster (schoolid), +VSnumberTotalClusters is 100, VSnumberTotal is Mi} +\item{FT}{the Fishing Trip data table. Just 1:1 links to the final data +(in SA)} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the +final data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the +final data (in SA)} +\item{SA}{the Sample data table. Each volume is a SAsampleWeightMeasured} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=SDAResources} +} +\usage{ +Pckg_SDAResources_schools_H1 +} +\description{ +This data set is derived from the data(schools). The design is 2-stage cluster +sampling with clusters of unequal sizes and Npsu not known. Clusters are +schools (schoolid). Clusters (psu) are unequal sized (Mi). In each cluster, +20 students are selected (ssus) and measured (nrows). The total number of +psus is known (75). The target variable is mathlevel. +} +\keyword{datasets} diff --git a/man/Pckg_survey_apiclus1_H1.Rd b/man/Pckg_survey_apiclus1_H1.Rd new file mode 100644 index 0000000..0d6cd8c --- /dev/null +++ b/man/Pckg_survey_apiclus1_H1.Rd @@ -0,0 +1,40 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_survey_apiclus1_H1} +\alias{Pckg_survey_apiclus1_H1} +\title{A RDBESDataObject converted from package survey dataset apiclus1} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with DEstratumName == "Pckg_SDAResources_apiclus1_v2_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 183 child rows (the 186 schools finally observed), each associated to its cluster (dname), VSnumberTotalClusters is 757, VSnumberTotal is the number of schools in the cluster (census), calibrated weights are provided as 1/pw in VSinclusionProbCluster} +\item{FT}{the Fishing Trip data table. Just 1:1 links to the final data (in SA)} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the final data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the final data (in SA)} +\item{SA}{the Sample data table. SAsampleWeightMeasured is enroll} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=survey} +} +\usage{ +Pckg_survey_apiclus1_H1 +} +\description{ +This data set is derived from the Academic Performance Index computed for all +California schools based on standardized testing of students. The original +data sets contain information for all schools with at least 100 students and +for various probability samples of the data. The design is 1-stage cluster +sampling with clusters of unequal sizes. An SRS of 15 districts is selected +(psus) from the 757 districts in the population. All schools within district +are selected (ssus). The weights (pw) do not match 757/15 probably because +they have been calibrated. The target variable is enroll. +} +\keyword{datasets} diff --git a/man/Pckg_survey_apiclus2_v2_H1.Rd b/man/Pckg_survey_apiclus2_v2_H1.Rd new file mode 100644 index 0000000..fec0735 --- /dev/null +++ b/man/Pckg_survey_apiclus2_v2_H1.Rd @@ -0,0 +1,41 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data.R +\docType{data} +\name{Pckg_survey_apiclus2_v2_H1} +\alias{Pckg_survey_apiclus2_v2_H1} +\title{A Clustered RDBESDataObject converted from package survey dataset apiclus2} +\format{ +A list containing entries required for H1 RDBES data: +\describe{ +\item{DE}{the Design data table. Contains 1 DE row with DEstratumName == "Pckg_SDAResources_apiclus2_v2_H1"} +\item{SD}{the Sampling Details data table. Contains 1 child SD row} +\item{VS}{the Vessel Selection data table. Contains 126 child rows (the 126 schools finally observed), each associated to its cluster (dname), VSnumberTotalClusters is 757, VSnumberTotal is 1...5 schools sampled} +\item{FT}{the Fishing Trip data table. Just 1:1 links to the final data (in SA)} +\item{FO}{the Fishing Operation data table. Just 1:1 links to the final data (in SA)} +\item{SS}{the Species Selection data table. Just 1:1 links to the final data (in SA)} +\item{SA}{the Sample data table. SAsampleWeightMeasured is enroll (note the 4 NAs)} +\item{FM}{the Frequency Measure data table} +\item{BV}{the Biological Variable data table} +\item{VD}{the Vessel Details data table} +\item{SL}{the Species List data table} +\item{IS}{the Individual Species table} +} +} +\source{ +\url{https://CRAN.R-project.org/package=survey} +} +\usage{ +Pckg_survey_apiclus2_v2_H1 +} +\description{ +This data set is derived from the Academic Performance Index computed for all +California schools based on standardized testing of students. The original +data sets contain information for all schools with at least 100 students and +for various probability samples of the data. The design is 2-stage cluster +sampling with clusters of unequal sizes. An SRS of 40 districts is selected +(psus) from the 757 districts in the population and then up to 5 schools (min +\enumerate{ +\item were selected from each district (ssus). The target variable is enroll - note that it contains 4 NA values. +} +} +\keyword{datasets} diff --git a/man/lowerTblData.Rd b/man/lowerTblData.Rd index 20673c4..b022b74 100644 --- a/man/lowerTblData.Rd +++ b/man/lowerTblData.Rd @@ -16,6 +16,10 @@ lowerTblData(field, values, tbls, level, verbose = FALSE, path_order = NULL) \item{level}{A character string specifying the name of the target lower level table.} \item{verbose}{A logical value indicating whether to print intermediate levels during recursion.} + +\item{path_order}{Internal: character vector tracking the traversal path of IDs during +recursion to preserve a stable column order in the returned result. Users should not +normally set this; it is maintained by recursive calls (default NULL).} } \value{ A data frame containing the rows of the target lower level table that are associated with diff --git a/man/shrimps.Rd b/man/shrimps.Rd deleted file mode 100644 index e583308..0000000 --- a/man/shrimps.Rd +++ /dev/null @@ -1,38 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data.R -\docType{data} -\name{shrimps} -\alias{shrimps} -\title{One quarter of sample data from swedish shrimp landings of the -SWE_OTB_CRU_32-69_0_0 fishery} -\format{ -A data frame with 10 rows and 95 variables: -\itemize{ -\item DEsamplingScheme - Sampling Scheme -\item DEyear - Year of data collection -\item DEstratumName - Fishery code -\item DEhierarchyCorrect - Design Variable of RDBES. More details in RDBES documentation -\item DEhierarchy - Design Variable of RDBES. More details in RDBES documentation -\item DEsampled - Design Variable of RDBES. More details in RDBES documentation -\item DEreasonNotSampled - Design Variable of RDBES. More details in RDBES documentation -\item SDcountry - Country that collected the data -\item SDinstitution - Institution that collected the data -\item su1, su2, su3, su4, su5 - sampling units of RDBES. More details in RDBES documentation -\item XXXnumberSampled, ... - Design Variables of RDBES. More details in RDBES documentation -\item targetValue - estimate of weight landed in each haul (in kg) -\item plus XX other columns -} -} -\source{ -Nuno Prista @ SLU Aqua, 2022 -} -\usage{ -shrimps -} -\description{ -A dataset of rdbesEstimObj type containing simplified haul-level -samples (rows) of shrimp landings (targetValue, in kg) observed onboard using -H1 of RDBES with UPWOR on vessels. Data is provided for developing/testing -purposes only. -} -\keyword{datasets} diff --git a/man/shrimpsStrat.Rd b/man/shrimpsStrat.Rd deleted file mode 100644 index 0993a1c..0000000 --- a/man/shrimpsStrat.Rd +++ /dev/null @@ -1,40 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data.R -\docType{data} -\name{shrimpsStrat} -\alias{shrimpsStrat} -\title{One quarter of sample data from swedish shrimp catches of the -SWE_OTB_CRU_32-69_0_0 fishery} -\format{ -A data frame with 10 rows and 95 variables: -\itemize{ -\item DEsamplingScheme - Sampling Scheme -\item DEyear - Year of data collection -\item DEstratumName - Fishery code -\item DEhierarchyCorrect - Design Variable of RDBES. More details in RDBES documentation -\item DEhierarchy - Design Variable of RDBES. More details in RDBES documentation -\item DEsampled - Design Variable of RDBES. More details in RDBES documentation -\item DEreasonNotSampled - Design Variable of RDBES. More details in RDBES documentation -\item SDcountry - Country that collected the data -\item SDinstitution - Institution that collected the data -\item su1, su2, su3, su4, su5 - sampling units of RDBES. More details in RDBES documentation -\item XXXnumberSampled, ... - Design Variables of RDBES. More details in RDBES documentation -\item su5stratumName - sieve fraction -\item targetValue - estimate of weight fraction in each haul (in kg) -\item plus XX other columns -} -} -\source{ -Nuno Prista @ SLU Aqua, 2022 -} -\usage{ -shrimpsStrat -} -\description{ -A dataset of rdbesEstimObj type containing simplified haul-level -samples (rows) of shrimp catches (targetValue, in kg) observed onboard using -H1 of RDBES with UPWOR on vessels. Catches are divided into three strata (91, 92, 93_94) -that correspond to sorting sieves used onboard. Data is provided for developing/testing -purposes only. -} -\keyword{datasets} From cc1781dc7528b306ad6525ef230fabc4c2c23a3b Mon Sep 17 00:00:00 2001 From: karolinamg Date: Sun, 19 Oct 2025 09:53:44 +0200 Subject: [PATCH 11/87] Update ratio est --- R/doEstimationRatio.R | 88 ++++++++++++++++++++++++++++++++----------- 1 file changed, 67 insertions(+), 21 deletions(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index 6449b82..ce72c39 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -5,8 +5,8 @@ #' @param RDBESDataObj A validated RDBESDataObject containing hierarchical sampling and biological data. Must include appropriate tables (e.g., CL, CE, SA, FM, or BV) depending on estimation requirements. #' @param targetValue A character string specifying the type of composition to estimate. Options are "LengthComp" or "AgeComp". #' @param raiseVar The variable used to construct the ratio. -#' @param classUnits Units of the class intervals for length or age, typically "mm" for millimeters or "cm" for centimeters. Used in defining class intervals. -#' @param classBreaks A numeric vector of three values: minimum value, maximum value, and class width (e.g., c(100, 300, 10)). Defines the class intervals for grouping lengths or ages. +#' @param classUnits Units of the class intervals for length or age, typically "mm" for millimeters or "cm" for centimeters. Used in defining class intervals. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths. Codes: https://vocab.ices.dk/?ref=1608 +#' @param classBreaks A numeric vector of three values: minimum value, maximum value, and class width (e.g., c(100, 300, 10)). Defines the class intervals for grouping lengths. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths. #' @param LWparam A numeric vector of length two specifying parameters (a, b) for the weight-length relationship (W = a * L^b). Used if no direct weights are available but lengths are provided. #' @param lowerAux A numeric or character vector referencing a variable in the SA table used as an auxiliary variable for ratio estimation (e.g., sample weights, sub-sample expansion factors). #' @param verbose Logical; if TRUE, detailed messages are printed during processing. @@ -36,7 +36,7 @@ doEstimationRatio <- function(RDBESDataObj, classUnits = "mm", classBreaks = c(100, 300, 10), # cut LWparam = NULL, # vector of two values - lowerAux = NULL, # you can use a strongly correlated value present in your data for the estimation of the values of interest + lowerAux = NULL, # should we keep this ?The aux var is now included as a field in the RDBES verbose = FALSE){ RDBESDataObj <- myFilteredObject targetValue <- "AgeComp" @@ -50,14 +50,15 @@ targetValue <- "AgeComp" # valuesToFilter = myValues, # strict = FALSE, # this is to skip the validation function # killOrphans = TRUE) - # Check we have a valid RDBESEstObject before doing anything else + classUnits = "mm" - classBreaks = c(100, 300, 10) + classBreaks = c(10, 100, 10) # Checks ------------------------------------------------------------------ - + # Check we have a valid RDBESEstObject before doing anything else + # Need that because the selection is by column name RDBEScore::validateRDBESDataObject(RDBESDataObj, verbose = FALSE) # Unique upper hierarchy @@ -89,11 +90,51 @@ targetValue <- "AgeComp" } } - # TODO (to be developed) match with pop (Landings or Effort) - # RDBESEstRatioObj <- RDBESDataObj[c("CL", "CE", RDBEScore::getTablesInRDBESHierarchy(DEhierarchy))] + # Add if object has only one species + + # if(length(unique(myFilteredObject$SA$SAspeCode)) > 1){ + # stop("Multiple species raising not yet implemented") + # } + + # Function to check consistency between the user input and the FM table for + # length raising + # TODO Should this be moved to utils? + + checkLC <- function(fm, classUnits, classBreaks) { + # https://vocab.ices.dk/?ref=1608 + vocabUnits <- c("mm", "25mm", "cm", "5cm", "scm", "smm") + fmUnits <- unique(fm$FMaccuracy) + # Check user input validity + if (!classUnits %in% vocabUnits) { + stop(paste("Invalid classUnits:", classUnits, + "\nMust be one of:", paste(vocabUnits, collapse = ", "))) + } + + if (length(fmUnits) > 1) { + # Needs to break here + stop("Multiple class units found in data: ", paste(fmUnits, collapse = ", ")) + } + + # Compare user input with data + if (!classUnits %in% fmUnits) { + stop(paste("Mismatch between user-specified classUnits (", classUnits, + ") and data units (", paste(fmUnits, collapse = ", "), ").")) + } + + # Check classBreaks consistency + fmBreaks <- range(fm$FMclassMeas, na.rm = TRUE) + userRange <- range(seq(classBreaks[1], classBreaks[2], classBreaks[3])) + if (any(userRange != fmBreaks)) { + stop("classBreaks (", paste(userRange, collapse = "-"), + ") differ from observed data range (", paste(fmBreaks, collapse = "-"), ").") + } + message("Length class checks passed: Units and breaks are consistent.") + } + # TODO (to be developed) match with pop (Landings or Effort) + # RDBESEstRatioObj <- RDBESDataObj[c("CL", "CE", RDBEScore::getTablesInRDBESHierarchy(DEhierarchy))] # raiseVar options -------------------------------------------------------- @@ -148,25 +189,30 @@ targetValue <- "AgeComp" # else stop stop("Nor an auxiliary variable nor lw params are provided. Not possible to produce the mean weight at length") } - - # Select only FM data for now - BV possibly used for ALK warning("If lower hierarchy A, only the FM table is used to calculate the numbers at length.") fm <- data.table::setDT(RDBESEstRatioObj$FM) sa <- data.table::setDT(RDBESEstRatioObj$SA) - fm <- fm[fm, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit")] - sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] - # need to identify current units and - u2mm <- c(mm = 1, cm = 10, m = 1000) - conv <- u2mm[[classUnits]] - vals <- fm$FMclassMeas / conv + # Need to check uniqueness of FM length type assess + if(length(unique(fm$FMtypeAssess)) > 1){ + stop("The measurement type of the class needed for assessment (FMtypeAssess) needs to be unique") + } - brks <- seq(classBreaks[1], classBreaks[2], by = classBreaks[3]) + # It should break here if there is no match + checkLC( + fm = fm, + classUnits = classUnits, + classBreaks = classBreaks + ) + fm <- fm[fm, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit", "FMaccuracy", "FMtypeAssess")] + sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] + + brks <- seq(classBreaks[1], classBreaks[2], by = classBreaks[3]) fm[, LengthClass := cut( - vals, + FMclassMeas, breaks = brks, right = FALSE, # [) include.lowest = TRUE, @@ -298,12 +344,12 @@ targetValue <- "AgeComp" -# Age composition --------------------------------------------------------- + # Age composition --------------------------------------------------------- }else if(targetValue == "AgeComp"){ -# LH C -------------------------------------------------------------------- + # LH C -------------------------------------------------------------------- if(unique(RDBESDataObj$SA$SAlowHierarchy) == "C"){ @@ -376,7 +422,7 @@ targetValue <- "AgeComp" # else stop -# LH A -------------------------------------------------------------------- + # LH A -------------------------------------------------------------------- }else if(unique(RDBESDataObj$SA$SAlowHierarchy) == "A"){ From ec84e748984c9ac057e2b04be6b04a3d221a56dc Mon Sep 17 00:00:00 2001 From: karolinamg Date: Mon, 20 Oct 2025 14:05:42 +0200 Subject: [PATCH 12/87] Upd ratio --- R/doEstimationRatio.R | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index ce72c39..f728bc6 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -184,11 +184,12 @@ targetValue <- "AgeComp" stop("Not yet implemented") - }else{ # else stop stop("Nor an auxiliary variable nor lw params are provided. Not possible to produce the mean weight at length") } + + # Select only FM data for now - BV possibly used for ALK warning("If lower hierarchy A, only the FM table is used to calculate the numbers at length.") @@ -220,11 +221,11 @@ targetValue <- "AgeComp" )] fm1 <- fm[ - , .(FMNumbersAtLength = .N), + , .(FMNumbersAtLength = sum(FMnumAtUnit, na.rm = TRUE)), by = .(SAid, LengthClass) ][ - # add total count per SAid - , FMTotCount := sum(FMNumbersAtLength), by = SAid + , FMTotCount := sum(FMNumbersAtLength, na.rm = TRUE), + by = SAid ] su <- merge(fm1, sa, by = c("SAid")) @@ -256,10 +257,23 @@ targetValue <- "AgeComp" bv <- data.table::setDT(RDBESEstRatioObj$BV) - bv <- bv[, unique(.SD), .SDcols = c("SAid", "BVfishId", "BVtypeMeas", "BVvalueMeas")] - bv <- dcast(bv, ... ~ BVtypeMeas , value.var = c("BVvalueMeas"), drop = TRUE) + # bv <- bv[BVtypeMeas %in% "LengthTotal"] + + lengthVar <- grep("(?i)length", unique(bv$BVtypeMeas), value = TRUE) + + if(length(unique(lengthVar)) > 1){ + stop("The length measurement type of the class needed for assessment (BVtypeAssess) needs to be unique") + } + + sa <- data.table::setDT(RDBESEstRatioObj$SA) + sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] + bv <- bv[, unique(.SD), .SDcols = c("SAid", "BVfishId", "BVtypeMeas", "BVvalueMeas", "BVtypeAssess")] + + # bv[, BVLength := as.numeric(LengthTotal)] + bv_assess <- bv[BVtypeMeas %in% c(lengthVar, wcol), + data.table::dcast(.SD, SAid + BVfishId ~ BVtypeMeas, value.var = "BVvalueMeas", drop = TRUE) + ] bv[, BVweight := as.numeric(get(wcol))] - bv[, LengthTotal := as.numeric(LengthTotal)] # TODO this probably needs to be an argument # or needs to be defined later on? bv$LengthClass <- floor(bv$LengthTotal/10) # TODO This needs to be defined by the user @@ -280,14 +294,13 @@ targetValue <- "AgeComp" # bv1$BVLengthClassProp <- bv1$BVNumbersAtLength/bv1$TotCount - sa <- data.table::setDT(RDBESEstRatioObj$SA) - sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] # Do not need the + # Do not need the # species, the filtering of the "strata" variables will be done before the estimation # To test sa[, SAauxVarValue := as.numeric(SAauxVarValue )] - sa$SAauxVarValue <- 10 - # TODO add check for subsampling + + su <- merge(bv1, sa, by = c("SAid")) From 23cefd44c9e64dacc5342e87f9c3b72a0a704cfe Mon Sep 17 00:00:00 2001 From: karolinamg Date: Wed, 5 Nov 2025 00:43:07 +0100 Subject: [PATCH 13/87] changes ratio fun --- R/doEstimationRatio.R | 45 ++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 28 deletions(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index f728bc6..d04f977 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -38,22 +38,6 @@ doEstimationRatio <- function(RDBESDataObj, LWparam = NULL, # vector of two values lowerAux = NULL, # should we keep this ?The aux var is now included as a field in the RDBES verbose = FALSE){ -RDBESDataObj <- myFilteredObject -targetValue <- "AgeComp" - raiseVar <- "Weight" - # H1 <- H1Example - # - # myFields <- c("SAlowHierarchy") - # myValues <- c("A") - # RDBESDataObj <- filterRDBESDataObject(H1, - # fieldsToFilter = myFields, - # valuesToFilter = myValues, - # strict = FALSE, # this is to skip the validation function - # killOrphans = TRUE) - - - classUnits = "mm" - classBreaks = c(10, 100, 10) # Checks ------------------------------------------------------------------ @@ -70,13 +54,15 @@ targetValue <- "AgeComp" } # Filter out NULL tables - RDBESEstRatioObj <- Filter(Negate(is.null),RDBESDataObj) + # RDBESEstRatioObj <- Filter(Negate(is.null),RDBESDataObj) + RDBESEstRatioObj <- Filter(Negate(is.null),myFilteredObject) + # If no individual weight of fish in BV, then can't run raiseVar = Weight # because we don't have the weight of the subsample if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) == "A") { weightVar <- grep("(?i)weight", unique(RDBESEstRatioObj$BV$BVtypeMeas), value = TRUE) - if (is.null( weightVar) || length(weightVar) == 0 || all(is.na(weightVar))){ + if (is.null(weightVar) || length(weightVar) == 0 || all(is.na(weightVar))){ stop("no individual weight measured") } } @@ -84,11 +70,11 @@ targetValue <- "AgeComp" # Does anything exist after SA? # Do we need that? - if(length(unique(names(RDBESEstRatioObj))) > 1){ - if(!tail(names(RDBESEstRatioObj), n = 1) %in% c("FM", "BV")){ - stop("No FM or BV tables provided") - } - } + # if(length(unique(names(RDBESEstRatioObj))) > 1){ + # if(!tail(names(RDBESEstRatioObj), n = 1) %in% c("FM", "BV")){ + # stop("No FM or BV tables provided") + # } + # } # Add if object has only one species @@ -144,13 +130,13 @@ targetValue <- "AgeComp" # the weight codes in the field BVtypeMeas # If there is only one present, this is used by default # If more than one are present, allow the user to choose - possibleValues <- unique(RDBESDataObj$BV$BVtypeMeas) + possibleValues <- unique(RDBESEstRatioObj$BV$BVtypeMeas) if(!raiseVar %in% possibleValues){ if(raiseVar == "Weight"){ - if(unique(RDBESDataObj$SA$SAlowHierarchy) == "B" ){ + if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) == "B" ){ stop("Lower hierarchy B not implemented for weight") }else{ - weightVar <- grep("(?i)weight", unique(RDBESDataObj$BV$BVtypeMeas), value = TRUE) + weightVar <- grep("(?i)weight", unique(RDBESEstRatioObj$BV$BVtypeMeas), value = TRUE) if (interactive()) { if(length(unique(weightVar)) > 1) { # Print a numbered menu and get user's selection @@ -179,6 +165,7 @@ targetValue <- "AgeComp" if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) %in% c("A", "B")){ # TODO mean weight at length + # TODO this should not break if only the len comp is required if(!is.null(LWparam)){ @@ -190,6 +177,8 @@ targetValue <- "AgeComp" } + + # Select only FM data for now - BV possibly used for ALK warning("If lower hierarchy A, only the FM table is used to calculate the numbers at length.") @@ -457,7 +446,7 @@ targetValue <- "AgeComp" ][ # add total weight per SAid bv[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = FMid], - on = "SAid" + on = "FMid" ] @@ -470,7 +459,7 @@ targetValue <- "AgeComp" .(FMid, SAid, FMnumAtUnit)] ) - bv1 <- fm_len[bv1, on = "FMid"][, + bv1 <- fm1[bv1, on = "FMid"][, num_raise := fifelse(BVTotCount > 0, FMnumAtUnit / BVTotCount, NA_real_) ][ , N_at_age := BVNumbersAtAge * num_raise From 9b4540ffd42555120bea45b8b7342c62b2197a96 Mon Sep 17 00:00:00 2001 From: karolinamg Date: Wed, 5 Nov 2025 09:03:44 +0100 Subject: [PATCH 14/87] upd ratio --- R/doEstimationRatio.R | 121 ++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 70 deletions(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index d04f977..ca55af5 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -130,6 +130,8 @@ doEstimationRatio <- function(RDBESDataObj, # the weight codes in the field BVtypeMeas # If there is only one present, this is used by default # If more than one are present, allow the user to choose + + possibleValues <- unique(RDBESEstRatioObj$BV$BVtypeMeas) if(!raiseVar %in% possibleValues){ if(raiseVar == "Weight"){ @@ -167,14 +169,14 @@ doEstimationRatio <- function(RDBESDataObj, # TODO mean weight at length # TODO this should not break if only the len comp is required - if(!is.null(LWparam)){ - - stop("Not yet implemented") - - }else{ - # else stop - stop("Nor an auxiliary variable nor lw params are provided. Not possible to produce the mean weight at length") - } + # if(!is.null(LWparam)){ + # + # stop("Not yet implemented") + # + # }else{ + # # else stop + # stop("Nor an auxiliary variable nor lw params are provided. Not possible to produce the mean weight at length") + # } @@ -186,9 +188,9 @@ doEstimationRatio <- function(RDBESDataObj, sa <- data.table::setDT(RDBESEstRatioObj$SA) # Need to check uniqueness of FM length type assess - if(length(unique(fm$FMtypeAssess)) > 1){ - stop("The measurement type of the class needed for assessment (FMtypeAssess) needs to be unique") - } + # if(length(unique(fm$FMtypeAssess)) > 1){ + # stop("The measurement type of the class needed for assessment (FMtypeAssess) needs to be unique") + # } # It should break here if there is no match checkLC( @@ -262,12 +264,9 @@ doEstimationRatio <- function(RDBESDataObj, bv_assess <- bv[BVtypeMeas %in% c(lengthVar, wcol), data.table::dcast(.SD, SAid + BVfishId ~ BVtypeMeas, value.var = "BVvalueMeas", drop = TRUE) ] - bv[, BVweight := as.numeric(get(wcol))] - # TODO this probably needs to be an argument - # or needs to be defined later on? - bv$LengthClass <- floor(bv$LengthTotal/10) # TODO This needs to be defined by the user + bv_assess[, BVweight := as.numeric(get(wcol))] - bv1 <- bv[ + bv1 <- bv_assess[ , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), BVNumbersAtLength = .N), by = .(SAid, LengthClass) @@ -429,61 +428,43 @@ doEstimationRatio <- function(RDBESDataObj, }else if(unique(RDBESDataObj$SA$SAlowHierarchy) == "A"){ - bv <- data.table::setDT(RDBESEstRatioObj$BV) - fm <- data.table::setDT(RDBESEstRatioObj$FM) - sa <- data.table::setDT(RDBESEstRatioObj$SA) - bv <- bv[, unique(.SD), .SDcols = c( "FMid","BVfishId", "BVtypeMeas", "BVvalueMeas")] - bv <- dcast(bv, ... ~ BVtypeMeas , value.var = c("BVvalueMeas"), drop = TRUE) - bv[, BVweight := as.numeric(get(wcol))] - - bv1 <- bv[ - , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), - BVNumbersAtAge = .N), - by = .(FMid, Age) - ][ - # add total count per SAid - , BVTotCount := sum(BVNumbersAtAge), by = FMid - ][ - # add total weight per SAid - bv[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = FMid], - on = "FMid" - ] - - - - fm <- fm[fm, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit")] - sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] - - fm1 <- unique( - fm[FMclassMeas %chin% c("LengthTotal","LengthMeasured","Length"), - .(FMid, SAid, FMnumAtUnit)] - ) - - bv1 <- fm1[bv1, on = "FMid"][, - num_raise := fifelse(BVTotCount > 0, FMnumAtUnit / BVTotCount, NA_real_) - ][ - , N_at_age := BVNumbersAtAge * num_raise - ] - - - - # subsample -> sample weights -> weight from where the sample came from - - # if age exists - - # if indv weights + lengths exist - - # then Full data set back - - # if only indv weights - # then you don't have the mean length at age unless you use the inverse LW relationship :provide a, b parameters or model them (Future work) - # if only lengths - # the you don't have the mean weight at age unless LW: a, b or model (Future work) - # else stop you don't sufficient data - - # else stop + # bv <- data.table::setDT(RDBESEstRatioObj$BV) + # fm <- data.table::setDT(RDBESEstRatioObj$FM) + # sa <- data.table::setDT(RDBESEstRatioObj$SA) + # bv <- bv[, unique(.SD), .SDcols = c( "FMid","BVfishId", "BVtypeMeas", "BVvalueMeas")] + # bv <- dcast(bv, ... ~ BVtypeMeas , value.var = c("BVvalueMeas"), drop = TRUE) + # bv[, BVweight := as.numeric(get(wcol))] + # + # bv1 <- bv[ + # , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), + # BVNumbersAtAge = .N), + # by = .(FMid, Age) + # ][ + # # add total count per SAid + # , BVTotCount := sum(BVNumbersAtAge), by = FMid + # ][ + # # add total weight per SAid + # bv[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = FMid], + # on = "FMid" + # ] + # + # + # + # fm <- fm[fm, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit")] + # sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] + # + # fm1 <- unique( + # fm[FMclassMeas %chin% c("LengthTotal","LengthMeasured","Length"), + # .(FMid, SAid, FMnumAtUnit)] + # ) + # + # bv1 <- fm1[bv1, on = "FMid"][, + # num_raise := fifelse(BVTotCount > 0, FMnumAtUnit / BVTotCount, NA_real_) + # ][ + # , N_at_age := BVNumbersAtAge * num_raise + # ] - # TODO include FM. For now the FM is not yet implemented + stop("Not yet implemented") }else{ stop("Age composition can't be calculated with lower hierachy B.") } From e47bd5d9464ef23c6482564aa4794ea63b0e6d61 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Thu, 8 Jan 2026 16:21:47 +0200 Subject: [PATCH 15/87] update vignettes --- man/doEstimationRatio.Rd | 4 +- package_overview.Rmd | 131 ++++++++++++++---- ...-population-parameters-ratio-estimator.Rmd | 57 +++++++- 3 files changed, 159 insertions(+), 33 deletions(-) diff --git a/man/doEstimationRatio.Rd b/man/doEstimationRatio.Rd index 215d75a..dcbcc2b 100644 --- a/man/doEstimationRatio.Rd +++ b/man/doEstimationRatio.Rd @@ -22,9 +22,9 @@ doEstimationRatio( \item{raiseVar}{The variable used to construct the ratio.} -\item{classUnits}{Units of the class intervals for length or age, typically "mm" for millimeters or "cm" for centimeters. Used in defining class intervals.} +\item{classUnits}{Units of the class intervals for length or age, typically "mm" for millimeters or "cm" for centimeters. Used in defining class intervals. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths. Codes: https://vocab.ices.dk/?ref=1608} -\item{classBreaks}{A numeric vector of three values: minimum value, maximum value, and class width (e.g., c(100, 300, 10)). Defines the class intervals for grouping lengths or ages.} +\item{classBreaks}{A numeric vector of three values: minimum value, maximum value, and class width (e.g., c(100, 300, 10)). Defines the class intervals for grouping lengths. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths.} \item{LWparam}{A numeric vector of length two specifying parameters (a, b) for the weight-length relationship (W = a * L^b). Used if no direct weights are available but lengths are provided.} diff --git a/package_overview.Rmd b/package_overview.Rmd index 6bc617c..724ca75 100644 --- a/package_overview.Rmd +++ b/package_overview.Rmd @@ -2,51 +2,54 @@ title: 'RDBEScore: Using R for ICES Regional Database & Estimation System (RDBES) Data' output: - ioslides_presentation: - incremental: true powerpoint_presentation: reference_doc: "./data-raw/styles.pptx" slide_level: 2 keep_md: true incremental: true + ioslides_presentation: + incremental: true beamer_presentation: incremental: true --- -## Importing RDBES Data +## Introduction -The aim of this document is to outline the basic workflow of importing data downloaded from the [ICES Regional Database & Estimation System (RDBES)](https://rdbes.ices.dk/#/) or a `list` object containing data frames (or data.tables) into `R` using the `RDBEScore` package. +**RDBEScore** is an R package developed to facilitate the analysis of data from the ICES Regional Database and Estimation System (RDBES). The package provides functions to: -The function **createRDBESDataObject** is intended to directly import Commercial Landing (CL), Commercial Effort (CE) and Commercial Sampling (CS) tables downloaded from [RDBES](https://rdbes.ices.dk/#/). +- import functions like `createRDBESDataObject` and `validateRDBESDataObject` +- manipulate functions such as `filterAndTidyRDBESDataObject`, `combineRDBESDataObjects` and `removeBrokenVesselLinks` +- analysis functions including `createRDBESEstObject`, `doEstimationForAllStrata`, `doBVestimCANUM` and `exportEstimationResultsToInterCatchFormat` to generate estimates and export them to InterCatch format. -## Introduction -2 -RDBEScore is an R package developed to facilitate the analysis of data from the ICES Regional Database and Estimation System (RDBES). The package provides functions to: +These functions support the entire workflow from data import through cleaning to estimation and reporting. The package is designed to work with data from the RDBES, which is a relational database system used by ICES to store data from regional sampling programmes. The `RDBEScore` package is intended to be used by national data coordinators, data analysts, and scientists working with data from the RDBES. -- import functions like `createRDBESDataObject` and `validateRDBESDataObject` -- manipulate functions like `filterAndTidyRDBESDataObject`, `combineRDBESDataObjects` and `removeBrokenVesselLinks` -- analyse functions like +The aim of this document is to outline the basic workflow of importing and processing data downloaded from the [ICES Regional Database & Estimation System (RDBES)](https://rdbes.ices.dk/#/) -data from the RDBES. The package is designed to work with data from the RDBES, which is a relational database system used by ICES to store data from regional sampling programmes. The `RDBEScore` package is intended to be used by national data coordinators, data analysts, and scientists working with data from the RDBES. +## RDBEScore package +The package can be found on [RDBEScore GitHub](https://github.com/ices-tools-dev/RDBEScore). -## RDBEScore package +The best way to get started is to read the package documentation and the vignettes. The package documentation can be found on the [RDBEScore GitHub pages](https://ices-tools-dev.github.io/RDBEScore/), which describe the installation methods and provide worked examples for the available functions under **articles** section. -The package can be found on [RDBEScore GitHub](https://github.com/ices-tools-dev/RDBEScore/tree/dev) +These resources provide information on how to install the package, how to use the functions, and how to contribute to the development of the package. The following will now demonstrate some of the functionality of the package using the current **main** version. -The best way to get started is to read the package documentation and the vignettes. The package documentation can be found on the [RDBEScore GitHub pages](https://ices-tools-dev.github.io/RDBEScore/). -These resources provide information on how to install the package, how to use the functions, and how to contribute to the development of the package. The following will now demonstrate some of the functionality of the package that is available now at the **dev** branch. +## Installation +The most recent production version of **RDBEScore** can be installed using the ICES tools production repository: -## Load RDBEScore Development Version +```{r eval=FALSE, echo=TRUE} +install.packages("RDBEScore", + repos = c("https://ices-tools-prod.r-universe.dev", + "https://cloud.r-project.org")) +``` -The suggested way to install the package is from the `main` or development (`dev`) branch on GitHub using the `remotes` package. +A more recent development version is available from GitHub: ```{r eval=FALSE, echo=TRUE} install.packages("remotes") -remotes::install_github("ices-tools-dev/RDBEScore@dev", build_vignettes = TRUE) +remotes::install_github("ices-tools-dev/RDBEScore/dev", build_vignettes = TRUE) ``` Then you can load the package using: @@ -138,7 +141,7 @@ myFilteredObject <- filterRDBESDataObject(H1Example, myFilteredObject ``` -## Remowing Unlinked Data +## Removing Unlinked Data It is important to note that filtering is likely to result in "orphan" rows being produced so it is usual to also apply the **findAndKillOrphans()** function to the filtered data to remove these records. @@ -166,8 +169,6 @@ ld <- getLinkedDataFromLevel("LEid", c(1), H8ExampleEE1, "TE", verbose = TRUE) knitr::kable(ld[,c(1:2,5:8 )]) ``` -## Getting Subsets of RDBESDataObject Tables - Similarly we can get the subset of the LE table corresponding to a specific value in the TE table. This does not have to be the *id* field, but can be any field in the table. ```{r} @@ -184,6 +185,14 @@ ld <- getLinkedDataFromLevel("BVfishId", c("410472143", "410472144"), H8ExampleE knitr::kable(ld[,1:5]) ``` +## Data Preparation: Handling Zeros and NAs + +Before estimation, it is often necessary to ensure the data is complete, particularly regarding species that were looked for but not found (zeros) or not targeted (NAs). **RDBEScore** provides functions to handle this using the Species List (SL) table. + +- `generateZerosUsingSL()`: Adds explicit zero records for species recorded in the species list but missing from the sample. +- `generateNAsUsingSL()`: Populates NA values for species not targeted by the sampling scheme. + +See the vignettes *Generating zeros for species not observed* and *Generating NAs for species not targeted by sampling* for more details. ## Estimating @@ -211,7 +220,7 @@ estimMC(as.numeric(BV$BVvalueMeas), Right now estimation actually is done on a *RDBESEstObject* that is generate from *RDBESDataObject* using **createRDBESEstObject(...)**. -In the next sections we will use data from R packages [survey](https://CRAN.R-project.org/package=survey) and [SDAResources](https://CRAN.R-project.org/package=SDAResources) that are converted into the *RDBESDataObject* to demonstrate the estimation procedure. +In the next sections we will use example data derived from the [survey](https://CRAN.R-project.org/package=survey) and [SDAResources](https://CRAN.R-project.org/package=SDAResources) packages. This data is included in **RDBEScore** and converted into the *RDBESDataObject* format to demonstrate the estimation procedure. For more detailed information on the estimation functions see the vignettes @@ -243,7 +252,7 @@ How to interpret these results in the above example? In practice the data submitters have to prepare Intercatch data call tables. In the future the estimation functions should be made so that they estimate the values for these tables. -in the **dev** branch there is a function **doBVestimCANUM(...)** that can be used for a very basic estimation of the total catch at number (CANUM) for a specified biological variable, such as age or length. +The package includes a function **doBVestimCANUM(...)** that can be used for a basic estimation of the total catch at number (CANUM) for a specified biological variable, such as age or length. ### Simple Estimation Example @@ -252,7 +261,7 @@ in the **dev** branch there is a function **doBVestimCANUM(...)** that can be us For the simplest case of estimation we need the **RDBESDataObject** with CS tables and a CL table. In the following example we will estimate the total number of sprat caught in the area *27.3.d.28.1* with the gear *OTM_SPF_16-31_0_0* for the first quarter of the year. ```{r} -#From the commertial landings table we need to get the total weight of the catches +#From the commercial landings table we need to get the total weight of the catches CLfieldstoSum <- c("CLoffWeight") ``` @@ -276,8 +285,7 @@ strataListCL <- list(CLarea="27.3.d.28.1", ## Adding CL data to the lower hierarchy - -There is a function in development **addCLtoLowerCS(...)** that can be used to add the CL data to the lower hierarchy. +The function **addCLtoLowerCS(...)** can be used to add the commercial landings (CL) data to the lower hierarchy, enabling estimation of biological variables using corresponding landing weights. ```{r} @@ -289,8 +297,7 @@ biolCLQ1 <- addCLtoLowerCS(H8ExampleEE1, strataListCS, strataListCL, ``` ## Estimation based on CL and BV - -To estimate the total number of sprat caught in the area 27.3.d.28.1 with the gear OTM_SPF_16-31_0_0 for the first quarter of the year we need to use the function **doBVestimCANUM(...)**. For more details on the function see the vignette in the **dev** branch. +To estimate the total number of sprat caught in the area 27.3.d.28.1 with the gear OTM_SPF_16-31_0_0 for the first quarter of the year we need to use the function **doBVestimCANUM(...)**. Details on this function and the overall estimation workflow are provided in the vignettes. The output table should be enough to populate a classic InterCatch data call table. ```{r canNum} @@ -304,6 +311,72 @@ knitr::kable(lenCANUMQ1[order(lenCANUMQ1$LengthmmMean), c("Group", "WeightgMean" ``` +## Exporting Results + +The results can be formatted for the InterCatch data call using **exportEstimationResultsToInterCatchFormat()**. +To do this we need to map the columns in our calculated object to the column names expected by the export function. + +```{r} +# Add extra columns to the final result +addCols <- c(names(strataListCS), + names(strataListCL), + paste0('sum', CLfieldstoSum)) + +ageCANUM <- doBVestimCANUM(biolCLQ1, addCols, + classUnits = "Ageyear", + classBreaks = 1:8, + verbose = FALSE) + +# Map the results to InterCatch format +dataToExport <- data.frame( + # HI columns + Country = "EE", + Year = "2022", + SeasonType = "Quarter", + Season = ageCANUM$CLquar, + Fleet = ageCANUM$CLmetier6, + AreaType = "Div", + FishingArea = ageCANUM$CLarea, + DepthRange = "NA", + + # SI columns + Species = ageCANUM$SAspeCodeFAO, + Stock = "Unknown", + CatchCategory = "L", + ReportingCategory = "R", + DataToFrom = "Data", + Usage = "Used", + SamplesOrigin = "U", + QualityFlag = "U", + UnitCATON = "kg", + CATON = ageCANUM$sumCLoffWeight, + OffLandings = ageCANUM$sumCLoffWeight, + + # SD columns + Sex = "N", + CANUMtype = "L", + AgeLength = as.integer(as.character(ageCANUM$Group)), + PlusGroup = ageCANUM$plusGroup, + unitMeanWeight = "g", + unitCANUM = "n", + UnitAgeOrLength = "Age", + UnitMeanLength = "mm", + NumberCaught = ageCANUM$totNum, + MeanWeight = ageCANUM$WeightgMean, + MeanLength = ageCANUM$LengthmmMean +) + +# Generate the InterCatch string +ic_output <- exportEstimationResultsToInterCatchFormat(dataToExport) + +# Show the first few lines of the output +head(ic_output) +``` + +See the vignettes 03b (ratio estimation) or 04b (stratified estimation) for more detailed examples and explanations of the estimation workflow and exporting results to InterCatch format. + + + ## Issues Reporting If something is not working as expected, or if you have a feature request, please open an issue on [RDBEScore GitHub](https://github.com/ices-tools-dev/RDBEScore/issues) diff --git a/vignettes/v03b-Estimating-population-parameters-ratio-estimator.Rmd b/vignettes/v03b-Estimating-population-parameters-ratio-estimator.Rmd index 3751f02..e10b302 100644 --- a/vignettes/v03b-Estimating-population-parameters-ratio-estimator.Rmd +++ b/vignettes/v03b-Estimating-population-parameters-ratio-estimator.Rmd @@ -128,11 +128,64 @@ ageCANUM <- doBVestimCANUM(biolCL, addCols, verbose = FALSE) ageCANUM - ``` +## Exporting results to InterCatch -The output table should be enough to populate a classic Intercatch data call table. +The results can be formatted for the InterCatch data call using **exportEstimationResultsToInterCatchFormat()**. +To do this we need to map the columns in our calculated `ageCANUM` object to the column names expected by the export function. + +```{r} +# Map the results to InterCatch format +dataToExport <- data.frame( + # HI columns + Country = "EE", + Year = "2022", + SeasonType = "Quarter", + Season = ageCANUM$CLquar, + Fleet = ageCANUM$CLmetier6, + AreaType = "Div", + FishingArea = ageCANUM$CLarea, + DepthRange = "NA", + + # SI columns + Species = ageCANUM$SAspeCodeFAO, + Stock = "Unknown", + CatchCategory = "L", + ReportingCategory = "R", + DataToFrom = "Data", + Usage = "Used", + SamplesOrigin = "U", + QualityFlag = "U", + UnitCATON = "kg", + CATON = ageCANUM$sumCLoffWeight, + OffLandings = ageCANUM$sumCLoffWeight, + + # SD columns + Sex = "N", + CANUMtype = "L", + AgeLength = as.integer(as.character(ageCANUM$Group)), + PlusGroup = ageCANUM$plusGroup, + #SampledCatch = ageCANUM$sumCLoffWeight, + #NumSamplesLngt = ageCANUM$lenMeas, + #NumLngtMeas = ageCANUM$lenMeas, + #NumSamplesAge = ageCANUM$lenMeas, + #NumAgeMeas = ageCANUM$lenMeas, + unitMeanWeight = "g", + unitCANUM = "n", + UnitAgeOrLength = "Age", + UnitMeanLength = "mm", + NumberCaught = ageCANUM$totNum, + MeanWeight = ageCANUM$WeightgMean, + MeanLength = ageCANUM$LengthmmMean +) + +# Generate the InterCatch string +ic_output <- exportEstimationResultsToInterCatchFormat(dataToExport) + +# Show the first few lines of the output +head(ic_output) +``` See also other package vignettes: From 1f6fc9d031f08b9ae436ace8ee473e36f62ad421 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 3 Feb 2026 13:49:27 +0200 Subject: [PATCH 16/87] test that empty tabeles are skipped --- tests/testthat/test-getLinkedDataFromLevel.R | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/testthat/test-getLinkedDataFromLevel.R b/tests/testthat/test-getLinkedDataFromLevel.R index 362a9f1..2413bfd 100644 --- a/tests/testthat/test-getLinkedDataFromLevel.R +++ b/tests/testthat/test-getLinkedDataFromLevel.R @@ -56,6 +56,29 @@ test_that("Error when level is not found in rdbesTables", { ) }) +test_that("Retrieve data from VS based on BVfishId if There is an empty intermedate FM table", { + h8 <- H8ExampleEE1 + + #add FM table to the rdbes object + h8[["FM"]] <- H1Example[["FM"]][0,] + + + + result <- getLinkedDataFromLevel("BVfishId", c("410472143", "410472144"), h8, "VS") + + # Check that the result is a data.table (or other expected data structure) + expect_s3_class(result, "data.table") + + # Check that the result contains data (you can adjust this depending on known expected results) + expect_equal(nrow(result), 1) + + #check also downwards direction + res2 <- getLinkedDataFromLevel("DEid", c(1), h8, "BV") + + expect_s3_class(res2, "data.table") + expect_equal(nrow(res2), 3995) +}) + From a72a525089c15b680a4cc28ece28daaf4243e251 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 3 Feb 2026 14:44:26 +0200 Subject: [PATCH 17/87] skipping empty tables --- R/lowerTblData.R | 40 +++++++++++++++++++++++++++++++++++----- R/upperTblData.R | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 7 deletions(-) diff --git a/R/lowerTblData.R b/R/lowerTblData.R index 8f539bf..9e2d8af 100644 --- a/R/lowerTblData.R +++ b/R/lowerTblData.R @@ -41,13 +41,43 @@ lowerTblData <- function(field, values, tbls, level, verbose = FALSE, path_order } currTbl <- which(start == names(tbls)) - # assumes tables are in correct order and no empty tables + # assumes tables are in correct order; skip NULL and empty tables if bypassing is possible tc <- 1 nextTbl <- tbls[[currTbl + tc]] - while (is.null(nextTbl)) { - tc <- tc + 1 - if(currTbl + tc > length(tbls)) stop("No more lower tables found") - nextTbl <- tbls[[currTbl + tc]] + nextTblField <- paste0(names(tbls)[currTbl + tc], "id") + + while (is.null(nextTbl) || (is.data.frame(nextTbl) && nrow(nextTbl) == 0)) { + # Look ahead to the next non-empty table to check if it has the parent ID field + tc_lookahead <- tc + 1 + found_bypass <- FALSE + + while(tc_lookahead + currTbl <= length(tbls)){ + lookahead_tbl <- tbls[[currTbl + tc_lookahead]] + if(!is.null(lookahead_tbl) && is.data.frame(lookahead_tbl) && nrow(lookahead_tbl) > 0){ + # Found next non-empty table, check if it has parent field + if(field %in% colnames(lookahead_tbl)){ + found_bypass <- TRUE + } + break + } + tc_lookahead <- tc_lookahead + 1 + } + + if(found_bypass){ + if(verbose) { + cat(paste0("Skipping empty or NULL table: ", names(tbls)[currTbl + tc], "\n")) + } + tc <- tc + 1 + if(currTbl + tc > length(tbls)) stop("No more lower tables found") + nextTbl <- tbls[[currTbl + tc]] + nextTblField <- paste0(names(tbls)[currTbl + tc], "id") + } else { + # No bypass possible - this is a true empty result + if(verbose) { + cat(paste0("Empty table ", names(tbls)[currTbl + tc], " with no bypass - returning empty result\n")) + } + return(tbls[[level]][0,]) + } } nextTblField <- paste0(names(tbls)[currTbl + tc], "id") diff --git a/R/upperTblData.R b/R/upperTblData.R index 9bb62ad..62db3d6 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -48,16 +48,45 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ #skip NULL tables tc <- -1 prevTbl <- names(tbls)[currTbl+tc] + while(is.null(tbls[[prevTbl]])){ if(verbose){ - print(paste0("Skipping: ", prevTbl)) + print(paste0("Skipping NULL table: ", prevTbl)) } tc <- tc - 1 if((currTbl+tc) < 1) stop("No table found") prevTbl <- names(tbls)[currTbl+tc] - } + + # Now check if prevTbl is empty (0 rows) and we can skip it prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") + if(!is.null(tbls[[prevTbl]]) && is.data.frame(tbls[[prevTbl]]) && nrow(tbls[[prevTbl]]) == 0){ + # Empty intermediate table found - check if we can bypass it + if(!is.null(tbl) && is.data.frame(tbl) && prevTblfield %in% colnames(tbl)){ + # Parent field exists in current table, can skip the empty intermediate + if(verbose){ + print(paste0("Skipping empty table: ", prevTbl, " - bypassing via ", prevTblfield)) + } + # Continue recursively, skipping the empty table + tc <- tc - 1 + if((currTbl+tc) < 1) { + # No more tables, return empty + return(tbls[[level]][0,]) + } + prevTbl <- names(tbls)[currTbl+tc] + prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") + # Recursively call with the new prevTblfield + prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] + return(upperTblData(prevTblfield, prevTblvalues, tbls[1:currTbl], level, verbose)) + } else { + # Can't bypass - return empty result + if(verbose){ + print(paste0("Empty table ", prevTbl, " cannot be bypassed - returning empty")) + } + return(tbls[[level]][0,]) + } + } + prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] upperTblData(prevTblfield,prevTblvalues, tbls[1:currTbl], level, verbose) } From d2fe99d6bfa5da257ee0894690e140b45626559b Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 3 Feb 2026 15:05:39 +0200 Subject: [PATCH 18/87] cahnge ID because this might change when package data changes --- tests/testthat/test-filterRDBESDataObjects.R | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test-filterRDBESDataObjects.R b/tests/testthat/test-filterRDBESDataObjects.R index 6905305..cc3ad01 100644 --- a/tests/testthat/test-filterRDBESDataObjects.R +++ b/tests/testthat/test-filterRDBESDataObjects.R @@ -151,8 +151,10 @@ test_that("filterRDBESDataObject does not removes orphans when killOrphans = FAL test_that("filterRDBESDataObject retains FT if filtering by FO", { #issue #183 problem with filtering by FOid but not SSid? myH1RawObject <- Pckg_survey_apistrat_H1 + #take the first FOid becasue if data is updated the id field value might change + foId2use <- myH1RawObject$FO$FOid[1] - resFO <- filterRDBESDataObject(myH1RawObject, "FOid", 70849, + resFO <- filterRDBESDataObject(myH1RawObject, "FOid", foId2use, killOrphans = F) expect_equal(nrow(resFO$FO), 1) expect_equal(nrow(resFO$FT), 200) @@ -171,8 +173,10 @@ test_that("filterRDBESDataObject filter correctly for FT and FO", { #although it is not very flexible as you might want to filter on an id field # but this requires explicitly stating on the call the table where the id is expected. myH1RawObject <- Pckg_survey_apistrat_H1 + #take the first FOid becasue if data is updated the id field value might change + foId2use <- myH1RawObject$FO$FOid[1] - resFO <- filterRDBESDataObject(myH1RawObject, "FOid", 70849, + resFO <- filterRDBESDataObject(myH1RawObject, "FOid", foId2use, killOrphans = TRUE) expect_equal(nrow(resFO$FO), 1) FTid <- resFO$FO$FTid @@ -185,7 +189,7 @@ test_that("filterRDBESDataObject filter correctly for FT and FO", { test_that("filterRDBESDataObject filter correctly for FO and SS", { #issue #183 problem with filtering by FOid but not SSid? myH1RawObject <- Pckg_survey_apistrat_H1 - values2filter <- c(227694) + values2filter <- c(Pckg_survey_apistrat_H1$SS$SSid[1]) fields2filter <- c("SSid") resSS <- filterRDBESDataObject(myH1RawObject, fields2filter, values2filter, killOrphans = TRUE) @@ -199,7 +203,7 @@ test_that("filterRDBESDataObject filter correctly for FO and SS", { test_that("filterRDBESDataObject filter correctly for SS and SA", { #issue #183 problem with filtering by FOid but not SSid? myH1RawObject <- Pckg_survey_apistrat_H1 - values2filter <- c(227694) + values2filter <- c(Pckg_survey_apistrat_H1$SA$SAid[1]) fields2filter <- c("SSid") resSS <- filterRDBESDataObject(myH1RawObject, fields2filter, values2filter, killOrphans = TRUE) From 6d78edb4588e25d7ad0af54c8cb4216b8eead17f Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Tue, 3 Feb 2026 16:10:22 +0200 Subject: [PATCH 19/87] #255 added mixed country object filtering --- R/lowerTblData.R | 38 +++++- R/upperTblData.R | 117 +++++++++++++++---- tests/testthat/test-getLinkedDataFromLevel.R | 23 ++++ 3 files changed, 156 insertions(+), 22 deletions(-) diff --git a/R/lowerTblData.R b/R/lowerTblData.R index 9e2d8af..2a75ded 100644 --- a/R/lowerTblData.R +++ b/R/lowerTblData.R @@ -93,11 +93,47 @@ lowerTblData <- function(field, values, tbls, level, verbose = FALSE, path_order # Initialize and update path order to ensure the original search field stays first if (is.null(path_order)) path_order <- field - path_order <- unique(c(path_order, nextTblField)) # values in next table for recursion nextTblValues <- nextTbl[get(field) %in% values, get(nextTblField)] + # Check if intermediate table has no matching data and if bypass is possible + if (length(nextTblValues) == 0 && length(values) > 0) { + # Look ahead to see if we can bypass this non-empty but non-matching table + # Only do this if values is non-empty (empty values can't match anything anyway) + tc_lookahead <- tc + 1 + found_bypass <- FALSE + + while(tc_lookahead + currTbl <= length(tbls)){ + lookahead_tbl <- tbls[[currTbl + tc_lookahead]] + if(!is.null(lookahead_tbl) && is.data.frame(lookahead_tbl) && nrow(lookahead_tbl) > 0){ + # Found next non-empty table, check if it has parent field + if(field %in% colnames(lookahead_tbl)){ + found_bypass <- TRUE + } + break + } + tc_lookahead <- tc_lookahead + 1 + } + + if(found_bypass){ + # Bypass this table with no matches and continue with the next table + if(verbose) { + cat(paste0("No matches in table ", names(tbls)[currTbl + tc], ", bypassing\n")) + } + tc <- tc + 1 + nextTbl <- tbls[[currTbl + tc]] + nextTblField <- paste0(names(tbls)[currTbl + tc], "id") + # Recalculate nextTblValues with the new table + nextTblValues <- nextTbl[get(field) %in% values, get(nextTblField)] + } + # If no bypass found, continue with empty nextTblValues + # The recursion and merge logic will handle building the correct empty result + } + + # Update path order after potential bypass + path_order <- unique(c(path_order, nextTblField)) + # NEW: build link (current id -> next id) so we can keep intermediate IDs linkDT <- unique(nextTbl[get(field) %in% values, .(from = get(field), to = get(nextTblField))]) diff --git a/R/upperTblData.R b/R/upperTblData.R index 62db3d6..24a61b1 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -35,6 +35,14 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ if(!is.list(tbls)) stop("tbls must be a list") if(!level %in% names(tbls)) stop(level, " must be a character string in the names of the tables") + # Validate that all non-NULL tables are data.frames + for(i in seq_along(tbls)){ + if(!is.null(tbls[[i]]) && !is.data.frame(tbls[[i]])){ + # Try to access field to generate the expected error message + get(field) + } + } + start <- substr(field, start=1, stop=2) if(start == level){ res <- tbls[[level]] @@ -47,8 +55,9 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ } #skip NULL tables tc <- -1 + if((currTbl+tc) < 1) stop("No table found") prevTbl <- names(tbls)[currTbl+tc] - + while(is.null(tbls[[prevTbl]])){ if(verbose){ print(paste0("Skipping NULL table: ", prevTbl)) @@ -57,36 +66,102 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ if((currTbl+tc) < 1) stop("No table found") prevTbl <- names(tbls)[currTbl+tc] } - - # Now check if prevTbl is empty (0 rows) and we can skip it + + # Now check if prevTbl is empty (0 rows) OR if prevTblfield doesn't exist in current table prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") + + # Check if we need to bypass this table (either empty or field doesn't exist in current table) + needs_bypass <- FALSE if(!is.null(tbls[[prevTbl]]) && is.data.frame(tbls[[prevTbl]]) && nrow(tbls[[prevTbl]]) == 0){ - # Empty intermediate table found - check if we can bypass it - if(!is.null(tbl) && is.data.frame(tbl) && prevTblfield %in% colnames(tbl)){ - # Parent field exists in current table, can skip the empty intermediate - if(verbose){ - print(paste0("Skipping empty table: ", prevTbl, " - bypassing via ", prevTblfield)) + needs_bypass <- TRUE + } else if(!prevTblfield %in% colnames(tbl)){ + needs_bypass <- TRUE + } + + if(needs_bypass){ + # Try to find a table we can bypass to + tc_bypass <- tc - 1 + found_bypass <- FALSE + + while((currTbl + tc_bypass) >= 1){ + bypass_tbl_name <- names(tbls)[currTbl + tc_bypass] + bypass_tbl <- tbls[[bypass_tbl_name]] + bypass_field <- paste0(bypass_tbl_name, "id") + + if(!is.null(bypass_tbl) && is.data.frame(bypass_tbl)){ + # Check if current table has this field + if(bypass_field %in% colnames(tbl)){ + # Check if this table is non-empty OR if we're at the target level + if(nrow(bypass_tbl) > 0 || bypass_tbl_name == level){ + found_bypass <- TRUE + break + } + } } - # Continue recursively, skipping the empty table - tc <- tc - 1 - if((currTbl+tc) < 1) { - # No more tables, return empty - return(tbls[[level]][0,]) + tc_bypass <- tc_bypass - 1 + } + + if(found_bypass){ + # Bypass to the found table + if(verbose){ + print(paste0("Bypassing ", prevTbl, " to ", names(tbls)[currTbl + tc_bypass])) } - prevTbl <- names(tbls)[currTbl+tc] - prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") - # Recursively call with the new prevTblfield - prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] - return(upperTblData(prevTblfield, prevTblvalues, tbls[1:currTbl], level, verbose)) + tc <- tc_bypass + prevTbl <- names(tbls)[currTbl + tc] + prevTblfield <- paste0(prevTbl, "id") } else { - # Can't bypass - return empty result + # No bypass possible - return empty result if(verbose){ - print(paste0("Empty table ", prevTbl, " cannot be bypassed - returning empty")) + print(paste0("Cannot bypass ", prevTbl, " - returning empty")) } return(tbls[[level]][0,]) } } prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] - upperTblData(prevTblfield,prevTblvalues, tbls[1:currTbl], level, verbose) + + # Check if all values are NA (no actual link to this table) or if there are no values + if(length(prevTblvalues) == 0 || all(is.na(prevTblvalues))){ + # No matches or all NAs - check if we can bypass this table + if(!is.null(tbl) && is.data.frame(tbl)){ + # Look for next non-NULL, non-empty table going backwards + tc_bypass <- tc - 1 + found_bypass <- FALSE + + while((currTbl + tc_bypass) >= 1){ + bypass_tbl_name <- names(tbls)[currTbl + tc_bypass] + bypass_tbl <- tbls[[bypass_tbl_name]] + bypass_field <- paste0(bypass_tbl_name, "id") + + if(!is.null(bypass_tbl) && is.data.frame(bypass_tbl) && nrow(bypass_tbl) > 0){ + # Found a non-empty table, check if current table has its field + if(bypass_field %in% colnames(tbl)){ + found_bypass <- TRUE + } + break + } + tc_bypass <- tc_bypass - 1 + } + + if(found_bypass){ + # Bypass the table with no matches or all NAs + if(verbose){ + if(length(prevTblvalues) == 0){ + print(paste0("No matches in table ", prevTbl, ", bypassing")) + } else { + print(paste0("All NAs in table ", prevTbl, ", bypassing")) + } + } + # When bypassing, directly recurse without updating local variables + # to avoid issues with table subsetting + bypass_prevTbl <- names(tbls)[currTbl + tc_bypass] + bypass_prevTblfield <- paste0(bypass_prevTbl, "id") + bypass_prevTblvalues <- tbl[get(field) %in% values, get(bypass_prevTblfield)] + return(upperTblData(bypass_prevTblfield, bypass_prevTblvalues, tbls, level, verbose)) + } + # If no bypass found, continue with empty prevTblvalues + } + } + + upperTblData(prevTblfield,prevTblvalues, tbls, level, verbose) } diff --git a/tests/testthat/test-getLinkedDataFromLevel.R b/tests/testthat/test-getLinkedDataFromLevel.R index 2413bfd..3fc443d 100644 --- a/tests/testthat/test-getLinkedDataFromLevel.R +++ b/tests/testthat/test-getLinkedDataFromLevel.R @@ -79,6 +79,29 @@ test_that("Retrieve data from VS based on BVfishId if There is an empty intermed expect_equal(nrow(res2), 3995) }) +test_that("Retrieve data from VS based on BVfishId if There is an non-empty intermedate FM table", { + h8 <- H8ExampleEE1 + + #add FM table to the rdbes object + h8[["FM"]] <- H1Example[["FM"]][1,] + + + + result <- getLinkedDataFromLevel("BVfishId", c("410472143", "410472144"), h8, "VS") + + # Check that the result is a data.table (or other expected data structure) + expect_s3_class(result, "data.table") + + # Check that the result contains data (you can adjust this depending on known expected results) + expect_equal(nrow(result), 1) + + #check also downwards direction + res2 <- getLinkedDataFromLevel("DEid", c(1), h8, "BV") + + expect_s3_class(res2, "data.table") + expect_equal(nrow(res2), 3995) +}) + From 146d2debf25b62c4ca190cecab4d9486fa978672 Mon Sep 17 00:00:00 2001 From: colin millar Date: Wed, 11 Feb 2026 18:21:08 +0100 Subject: [PATCH 20/87] fix gitignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index 428307b..e7fb23c 100644 --- a/.gitignore +++ b/.gitignore @@ -33,13 +33,10 @@ FishNCo/testData/RegionalTestData/* ~$* /doc/ /Meta/ -<<<<<<< Updated upstream .vscode/ docs -======= # Data to develop fun /NLdata/ ->>>>>>> Stashed changes package_overview.tex package_overview.html package_overview.pptx From c267f6f005908143e8d496ddc73ab85cdfa40b28 Mon Sep 17 00:00:00 2001 From: colin millar Date: Wed, 11 Feb 2026 18:23:34 +0100 Subject: [PATCH 21/87] add renv stuff --- .Rbuildignore | 2 ++ .gitignore | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/.Rbuildignore b/.Rbuildignore index c38c689..c00100e 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,3 +1,5 @@ +^renv$ +^renv\.lock$ ^.*\.Rproj$ ^\.Rproj\.user$ ^data-raw$ diff --git a/.gitignore b/.gitignore index e7fb23c..f28528d 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,8 @@ package_overview.tex package_overview.html package_overview.pptx package_overview.md + +# add renv stuff +/renv/ +.Rprofile +renv.lock From 7dbb08793188d840833256af6f16a038342a540f Mon Sep 17 00:00:00 2001 From: colin millar Date: Wed, 11 Feb 2026 18:31:51 +0100 Subject: [PATCH 22/87] add colin and ejaz as contributers and run roxygen --- DESCRIPTION | 173 ++++++++++++++++++++++++++-------------------------- 1 file changed, 87 insertions(+), 86 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 972c2d3..4d269c6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -3,122 +3,123 @@ Type: Package Title: Functions for the ICES Regional Database and Estimation System (RDBES) Version: 0.3.5 Author: c( - person(given = "David", - family = "Currie", - role = c("aut"), + person(given = "David", + family = "Currie", + role = c("aut"), comment = c(ORCID = "0000-0002-3523-6895")), person(given = "Richard", family = "Meitern", role = c("aut"), email = "richard.meitern@ut.ee", comment = c(ORCID = "0000-0002-2600-3002")), - person(given = "Nuno", - family = "Prista", - role = c("aut"), - email = "nuno.prista@slu.se", + person(given = "Nuno", + family = "Prista", + role = c("aut"), + email = "nuno.prista@slu.se", comment = c(ORCID = "0000-0002-5145-7241")), - person(given = "Nicholas", - family = "Carey", + person(given = "Nicholas", + family = "Carey", role = c("aut"), email = "nicholas.carey@gov.scot"), - person(given = "Petri", - family = "Sarvamaa", - role = c("aut"), + person(given = "Petri", + family = "Sarvamaa", + role = c("aut"), email = "Petri.Sarvamaa@luke.fi"), - person(given = "Kirsten", - family = "Birch HÃ¥kansson", - role = c("aut"), + person(given = "Kirsten", + family = "Birch HÃ¥kansson", + role = c("aut"), email = "kih@aqua.dtu.dk"), - person(given = "Karolina", - family = "Molla Gazi", - role = c("aut"), - email = "karolina.mollagazi@wur.nl"), - person(given = "Julia", - family = "Wischnewski", - role = c("aut"), - email = "julia.wischnewski@thuenen.de"), - person(given = "Ana Cláudia", - family = "Fernandes", - role = c("aut"), + person(given = "Karolina", + family = "Molla Gazi", + role = c("aut"), + email = "karolina.mollagazi@wur.nl"), + person(given = "Julia", + family = "Wischnewski", + role = c("aut"), + email = "julia.wischnewski@thuenen.de"), + person(given = "Ana Cláudia", + family = "Fernandes", + role = c("aut"), email = "acfernandes@ipma.pt"), - person(given = "Katarzyna", - family = "Krakówka", - role = c("aut"), + person(given = "Katarzyna", + family = "Krakówka", + role = c("aut"), email = "kkrakowka@mir.gdynia.pl"), - person(given = "Marta", - family = "SzymaÅ„ska", - role = c("aut"), - email = "msuska@mir.gdynia.pl"), - person(given = "Nicolas", - family = "Goñi", - role = c("aut"), - email = "nicolas.goni@luke.fi"), - person(given = "Annica", - family = "de Groote", - role = c("ctb"), - email = "annica.isaksson.de.groote@slu.se"), - person(given = "Jonathan", - family = "Ball", - role = c("ctb"), + person(given = "Marta", + family = "SzymaÅ„ska", + role = c("aut"), + email = "msuska@mir.gdynia.pl"), + person(given = "Nicolas", + family = "Goñi", + role = c("aut"), + email = "nicolas.goni@luke.fi"), + person(given = "Annica", + family = "de Groote", + role = c("ctb"), + email = "annica.isaksson.de.groote@slu.se"), + person(given = "Jonathan", + family = "Ball", + role = c("ctb"), email = "johnathan.ball@cefas.co.uk"), - person(given = "Jonathan", - family = "Rault", - role = c("ctb"), + person(given = "Jonathan", + family = "Rault", + role = c("ctb"), email = "Jonathan.Rault@ifremer.fr"), - person(given = "Antti", - family = "Sykkö", - role = c("ctb"), + person(given = "Antti", + family = "Sykkö", + role = c("ctb"), email = "antti.sykko@luke.fi"), - person(given = "Liz", - family = "Clarke", - role = c("ctb"), + person(given = "Liz", + family = "Clarke", + role = c("ctb"), email = "Liz.Clarke@gov.scot"), - person(given = "Chun", - family = "Chen", - role = c("ctb"), + person(given = "Chun", + family = "Chen", + role = c("ctb"), email = "chun.chen@wur.nl"), - person(given = "Hongru", - family = "Zhai", - role = c("ctb"), + person(given = "Hongru", + family = "Zhai", + role = c("ctb"), email = "hongru.zhai@slu.se"), - person(given = "Eros", - family = "Quesada", - role = c("ctb"), + person(given = "Eros", + family = "Quesada", + role = c("ctb"), email = "eros.quesada@slu.se"), - person(given = "Jonathan", - family = "Stounberg", - role = c("ctb"), + person(given = "Jonathan", + family = "Stounberg", + role = c("ctb"), email = "jostou@aqua.dtu.dk"), - person(given = "Ana", - family = "Ribeiro Santos", - role = c("ctb"), + person(given = "Ana", + family = "Ribeiro Santos", + role = c("ctb"), email = "ana.ribeirosantos@cefas.co.uk"), - person(given = "Jose", - family = "Castro", - role = c("ctb"), - email = "jose.castro@ieo.es"), - person(given = "Jessica", - family = "Craig", - role = c("ctb"), - email = "Jessica.Craig@gov.scot") - ) -Maintainer: Colin Millar -Description: The RDBEScore package provides functions to import and work with - fisheries data downloaded from the ICES RDBES database. It also contains - functions to perform estimation analysis using the resulting objects. + person(given = "Jose", + family = "Castro", + role = c("ctb"), + email = "jose.castro@ieo.es"), + person(given = "Jessica", + family = "Craig", + role = c("ctb"), + email = "Jessica.Craig@gov.scot"), + person(given = "Colin", family = "Millar", role = "ctb"), + person(given = "Ejaz", family = "Muhammad", role = "ctb")) +Maintainer: Richard Meitern +Description: The RDBEScore package provides functions to import and work with + fisheries data downloaded from the ICES RDBES database. It also contains + functions to perform estimation analysis using the resulting objects. URL: https://github.com/ices-tools-dev/RDBEScore, https://rdbes.ices.dk, https://ices-tools-dev.github.io/RDBEScore/ License: GPL-3 + file LICENSE Encoding: UTF-8 LazyData: true -RoxygenNote: 7.3.2 +RoxygenNote: 7.3.3 Roxygen: list(markdown = TRUE) -Suggests: +Suggests: knitr, rmarkdown, testthat -Depends: +Depends: R (>= 4.1) -Imports: - dplyr (>= 1.1.3), +Imports: + dplyr (>= 1.1.3), data.table VignetteBuilder: knitr From 797cb2ccf7f8d3f0236c1990ca387da182517f61 Mon Sep 17 00:00:00 2001 From: colin millar Date: Wed, 11 Feb 2026 18:58:17 +0100 Subject: [PATCH 23/87] add downloadRDBESDataZip() Co-authored-by: Jonathan-rault --- DESCRIPTION | 4 +- NAMESPACE | 8 ++++ R/downloadRDBESDataZip.R | 82 +++++++++++++++++++++++++++++++++++++ man/downloadRDBESDataZip.Rd | 40 ++++++++++++++++++ 4 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 R/downloadRDBESDataZip.R create mode 100644 man/downloadRDBESDataZip.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 4d269c6..c49cd31 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -121,5 +121,7 @@ Depends: R (>= 4.1) Imports: dplyr (>= 1.1.3), - data.table + data.table, + AzureAuth, + httr VignetteBuilder: knitr diff --git a/NAMESPACE b/NAMESPACE index d8eab86..dd3015b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -11,6 +11,7 @@ export(createRDBESDataObject) export(createRDBESEstObject) export(doBVestimCANUM) export(doEstimationForAllStrata) +export(downloadRDBESDataZip) export(estim) export(estimMC) export(exportEstimationResultsToInterCatchFormat) @@ -34,6 +35,13 @@ export(updateSAwithTaxonFromSL) export(validateRDBESDataObject) export(validateRDBESEstObject) import(data.table) +importFrom(AzureAuth,get_azure_token) +importFrom(httr,GET) +importFrom(httr,add_headers) +importFrom(httr,content) +importFrom(httr,http_status) +importFrom(httr,parse_url) +importFrom(httr,status_code) importFrom(stats,formula) importFrom(stats,na.omit) importFrom(stats,rnorm) diff --git a/R/downloadRDBESDataZip.R b/R/downloadRDBESDataZip.R new file mode 100644 index 0000000..1f7b9ee --- /dev/null +++ b/R/downloadRDBESDataZip.R @@ -0,0 +1,82 @@ +#' Title +#' +#' need checks on argument format +#' +#' it seems that datatype = "CS" require a hierarchy value +#' +#' @param datatype description +#' @param year description +#' @param hierarchy description +#' @param country description +#' @param export_format description +#' @param verbose description +#' @param dir description +#' +#' @return result +#' +#' @importFrom AzureAuth get_azure_token +#' @importFrom httr GET add_headers content status_code http_status parse_url +#' +#' @export +#' +downloadRDBESDataZip <- function(datatype = c("CE", "CL", "VD", "SL"), year, hierarchy = NULL, country = "FR", export_format = "TableWithIdsFormat", dir = ".", verbose = TRUE) { + # Authenticate and get token + az <- get_azure_token( + resource = "api://18ab5ebb-1794-4e83-83f1-8fbd3dd5b152/rdbes.api.access", + tenant = "e0b220ce-5735-4468-91df-05cae5ff1fdc", + app = "b6347a7e-5f73-463a-81b1-3781d163de19", + version = 2 + ) + + # Extract the access token + access_token <- az$credentials$access_token + + base_url <- "https://sboxrdbes.ices.dk/api/taf/export/data" + + year_qry <- paste0("?year=", year) + country_qry <- paste0("&country=", country) + export_format_qry <- paste0("&exportformat=", export_format) + datatype_qry <- paste0("&datatype=", datatype) + + mandatory_params <- paste0(year_qry, country_qry, datatype_qry, export_format_qry) + + url <- paste0(base_url, mandatory_params) + + if (datatype == "CS" && !is.null(hierarchy) && hierarchy %in% paste0("H", seq(1, 13))) { + hierarchy_qry <- paste0("&cshierarchy=", hierarchy) + url <- paste0(base_url, mandatory_params, hierarchy_qry) + } + + response <- GET( + url = url, + add_headers(Authorization = paste("Bearer", access_token)) + ) + + if (!status_code(response) == 200) { + cat("Failed to download:\n") + cat(" Status code :", status_code(response), "\n") + cat(" Http status :", http_status(response)$reason, "\n") + cat(" Detailed message :", content(response, "text"), "\n") + return(FALSE) + } + + params_request <- parse_url(response$url)$query + if (is.null(file_name)) { + file_name <- paste0(params_request$datatype, "_", params_request$country, "_", params_request$year) + if ("cshierarchy" %in% names(params_request)) { + file_name <- paste0(file_name, "_", params_request$cshierarchy) + } + } + + saving_file <- file.path(dir, paste0(file_name, ".zip")) + + writeBin(content(response, "raw"), saving_file) + + if (verbose) { + cat("Downloaded:", saving_file, "\n") + cat(" Status code :", status_code(response), "\n") + cat(" Http status :", http_status(response)$reason, "\n") + } + + return(saving_file) +} diff --git a/man/downloadRDBESDataZip.Rd b/man/downloadRDBESDataZip.Rd new file mode 100644 index 0000000..7e71a6e --- /dev/null +++ b/man/downloadRDBESDataZip.Rd @@ -0,0 +1,40 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/downloadRDBESDataZip.R +\name{downloadRDBESDataZip} +\alias{downloadRDBESDataZip} +\title{Title} +\usage{ +downloadRDBESDataZip( + datatype = c("CE", "CL", "VD", "SL"), + year, + hierarchy = NULL, + country = "FR", + export_format = "TableWithIdsFormat", + dir = ".", + verbose = TRUE +) +} +\arguments{ +\item{datatype}{description} + +\item{year}{description} + +\item{hierarchy}{description} + +\item{country}{description} + +\item{export_format}{description} + +\item{dir}{description} + +\item{verbose}{description} +} +\value{ +result +} +\description{ +need checks on argument format +} +\details{ +it seems that datatype = "CS" require a hierarchy value +} From b4674ebe1ee3ad4625e35a5c7de4a7606d5a7f51 Mon Sep 17 00:00:00 2001 From: colin millar Date: Wed, 11 Feb 2026 18:59:36 +0100 Subject: [PATCH 24/87] check fixes --- NAMESPACE | 1 + R/doEstimationRatio.R | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NAMESPACE b/NAMESPACE index dd3015b..e5b6e9f 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -47,5 +47,6 @@ importFrom(stats,na.omit) importFrom(stats,rnorm) importFrom(stats,setNames) importFrom(utils,file_test) +importFrom(utils,head) importFrom(utils,packageDescription) importFrom(utils,tail) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index ca55af5..fc7bc21 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -29,7 +29,7 @@ # TODO add an argument to toggle stratification in estimation on/off # TODO need to implement the BV conversion from typeMeas to typeAssess # TODO add info about the strata (species, area, season, metier/gear/fleet) -#' @importFrom utils tail +#' @importFrom utils tail head doEstimationRatio <- function(RDBESDataObj, targetValue = "LengthComp", raiseVar = "Weight", From f9af737e681d250d7f3d2d9a547b5a6706afbc00 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Mon, 9 Mar 2026 15:46:15 +0200 Subject: [PATCH 25/87] Revert "#255 added mixed country object filtering" --- R/lowerTblData.R | 38 +----- R/upperTblData.R | 117 ++++--------------- tests/testthat/test-getLinkedDataFromLevel.R | 23 ---- 3 files changed, 22 insertions(+), 156 deletions(-) diff --git a/R/lowerTblData.R b/R/lowerTblData.R index 2a75ded..9e2d8af 100644 --- a/R/lowerTblData.R +++ b/R/lowerTblData.R @@ -93,47 +93,11 @@ lowerTblData <- function(field, values, tbls, level, verbose = FALSE, path_order # Initialize and update path order to ensure the original search field stays first if (is.null(path_order)) path_order <- field + path_order <- unique(c(path_order, nextTblField)) # values in next table for recursion nextTblValues <- nextTbl[get(field) %in% values, get(nextTblField)] - # Check if intermediate table has no matching data and if bypass is possible - if (length(nextTblValues) == 0 && length(values) > 0) { - # Look ahead to see if we can bypass this non-empty but non-matching table - # Only do this if values is non-empty (empty values can't match anything anyway) - tc_lookahead <- tc + 1 - found_bypass <- FALSE - - while(tc_lookahead + currTbl <= length(tbls)){ - lookahead_tbl <- tbls[[currTbl + tc_lookahead]] - if(!is.null(lookahead_tbl) && is.data.frame(lookahead_tbl) && nrow(lookahead_tbl) > 0){ - # Found next non-empty table, check if it has parent field - if(field %in% colnames(lookahead_tbl)){ - found_bypass <- TRUE - } - break - } - tc_lookahead <- tc_lookahead + 1 - } - - if(found_bypass){ - # Bypass this table with no matches and continue with the next table - if(verbose) { - cat(paste0("No matches in table ", names(tbls)[currTbl + tc], ", bypassing\n")) - } - tc <- tc + 1 - nextTbl <- tbls[[currTbl + tc]] - nextTblField <- paste0(names(tbls)[currTbl + tc], "id") - # Recalculate nextTblValues with the new table - nextTblValues <- nextTbl[get(field) %in% values, get(nextTblField)] - } - # If no bypass found, continue with empty nextTblValues - # The recursion and merge logic will handle building the correct empty result - } - - # Update path order after potential bypass - path_order <- unique(c(path_order, nextTblField)) - # NEW: build link (current id -> next id) so we can keep intermediate IDs linkDT <- unique(nextTbl[get(field) %in% values, .(from = get(field), to = get(nextTblField))]) diff --git a/R/upperTblData.R b/R/upperTblData.R index 24a61b1..62db3d6 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -35,14 +35,6 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ if(!is.list(tbls)) stop("tbls must be a list") if(!level %in% names(tbls)) stop(level, " must be a character string in the names of the tables") - # Validate that all non-NULL tables are data.frames - for(i in seq_along(tbls)){ - if(!is.null(tbls[[i]]) && !is.data.frame(tbls[[i]])){ - # Try to access field to generate the expected error message - get(field) - } - } - start <- substr(field, start=1, stop=2) if(start == level){ res <- tbls[[level]] @@ -55,9 +47,8 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ } #skip NULL tables tc <- -1 - if((currTbl+tc) < 1) stop("No table found") prevTbl <- names(tbls)[currTbl+tc] - + while(is.null(tbls[[prevTbl]])){ if(verbose){ print(paste0("Skipping NULL table: ", prevTbl)) @@ -66,102 +57,36 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ if((currTbl+tc) < 1) stop("No table found") prevTbl <- names(tbls)[currTbl+tc] } - - # Now check if prevTbl is empty (0 rows) OR if prevTblfield doesn't exist in current table + + # Now check if prevTbl is empty (0 rows) and we can skip it prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") - - # Check if we need to bypass this table (either empty or field doesn't exist in current table) - needs_bypass <- FALSE if(!is.null(tbls[[prevTbl]]) && is.data.frame(tbls[[prevTbl]]) && nrow(tbls[[prevTbl]]) == 0){ - needs_bypass <- TRUE - } else if(!prevTblfield %in% colnames(tbl)){ - needs_bypass <- TRUE - } - - if(needs_bypass){ - # Try to find a table we can bypass to - tc_bypass <- tc - 1 - found_bypass <- FALSE - - while((currTbl + tc_bypass) >= 1){ - bypass_tbl_name <- names(tbls)[currTbl + tc_bypass] - bypass_tbl <- tbls[[bypass_tbl_name]] - bypass_field <- paste0(bypass_tbl_name, "id") - - if(!is.null(bypass_tbl) && is.data.frame(bypass_tbl)){ - # Check if current table has this field - if(bypass_field %in% colnames(tbl)){ - # Check if this table is non-empty OR if we're at the target level - if(nrow(bypass_tbl) > 0 || bypass_tbl_name == level){ - found_bypass <- TRUE - break - } - } - } - tc_bypass <- tc_bypass - 1 - } - - if(found_bypass){ - # Bypass to the found table + # Empty intermediate table found - check if we can bypass it + if(!is.null(tbl) && is.data.frame(tbl) && prevTblfield %in% colnames(tbl)){ + # Parent field exists in current table, can skip the empty intermediate if(verbose){ - print(paste0("Bypassing ", prevTbl, " to ", names(tbls)[currTbl + tc_bypass])) + print(paste0("Skipping empty table: ", prevTbl, " - bypassing via ", prevTblfield)) + } + # Continue recursively, skipping the empty table + tc <- tc - 1 + if((currTbl+tc) < 1) { + # No more tables, return empty + return(tbls[[level]][0,]) } - tc <- tc_bypass - prevTbl <- names(tbls)[currTbl + tc] - prevTblfield <- paste0(prevTbl, "id") + prevTbl <- names(tbls)[currTbl+tc] + prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") + # Recursively call with the new prevTblfield + prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] + return(upperTblData(prevTblfield, prevTblvalues, tbls[1:currTbl], level, verbose)) } else { - # No bypass possible - return empty result + # Can't bypass - return empty result if(verbose){ - print(paste0("Cannot bypass ", prevTbl, " - returning empty")) + print(paste0("Empty table ", prevTbl, " cannot be bypassed - returning empty")) } return(tbls[[level]][0,]) } } prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] - - # Check if all values are NA (no actual link to this table) or if there are no values - if(length(prevTblvalues) == 0 || all(is.na(prevTblvalues))){ - # No matches or all NAs - check if we can bypass this table - if(!is.null(tbl) && is.data.frame(tbl)){ - # Look for next non-NULL, non-empty table going backwards - tc_bypass <- tc - 1 - found_bypass <- FALSE - - while((currTbl + tc_bypass) >= 1){ - bypass_tbl_name <- names(tbls)[currTbl + tc_bypass] - bypass_tbl <- tbls[[bypass_tbl_name]] - bypass_field <- paste0(bypass_tbl_name, "id") - - if(!is.null(bypass_tbl) && is.data.frame(bypass_tbl) && nrow(bypass_tbl) > 0){ - # Found a non-empty table, check if current table has its field - if(bypass_field %in% colnames(tbl)){ - found_bypass <- TRUE - } - break - } - tc_bypass <- tc_bypass - 1 - } - - if(found_bypass){ - # Bypass the table with no matches or all NAs - if(verbose){ - if(length(prevTblvalues) == 0){ - print(paste0("No matches in table ", prevTbl, ", bypassing")) - } else { - print(paste0("All NAs in table ", prevTbl, ", bypassing")) - } - } - # When bypassing, directly recurse without updating local variables - # to avoid issues with table subsetting - bypass_prevTbl <- names(tbls)[currTbl + tc_bypass] - bypass_prevTblfield <- paste0(bypass_prevTbl, "id") - bypass_prevTblvalues <- tbl[get(field) %in% values, get(bypass_prevTblfield)] - return(upperTblData(bypass_prevTblfield, bypass_prevTblvalues, tbls, level, verbose)) - } - # If no bypass found, continue with empty prevTblvalues - } - } - - upperTblData(prevTblfield,prevTblvalues, tbls, level, verbose) + upperTblData(prevTblfield,prevTblvalues, tbls[1:currTbl], level, verbose) } diff --git a/tests/testthat/test-getLinkedDataFromLevel.R b/tests/testthat/test-getLinkedDataFromLevel.R index 3fc443d..2413bfd 100644 --- a/tests/testthat/test-getLinkedDataFromLevel.R +++ b/tests/testthat/test-getLinkedDataFromLevel.R @@ -79,29 +79,6 @@ test_that("Retrieve data from VS based on BVfishId if There is an empty intermed expect_equal(nrow(res2), 3995) }) -test_that("Retrieve data from VS based on BVfishId if There is an non-empty intermedate FM table", { - h8 <- H8ExampleEE1 - - #add FM table to the rdbes object - h8[["FM"]] <- H1Example[["FM"]][1,] - - - - result <- getLinkedDataFromLevel("BVfishId", c("410472143", "410472144"), h8, "VS") - - # Check that the result is a data.table (or other expected data structure) - expect_s3_class(result, "data.table") - - # Check that the result contains data (you can adjust this depending on known expected results) - expect_equal(nrow(result), 1) - - #check also downwards direction - res2 <- getLinkedDataFromLevel("DEid", c(1), h8, "BV") - - expect_s3_class(res2, "data.table") - expect_equal(nrow(res2), 3995) -}) - From 2b1964e739f55b97de4ff824f2c4a314db78f362 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Mon, 9 Mar 2026 15:50:09 +0200 Subject: [PATCH 26/87] Revert "skipping empty tables" --- R/lowerTblData.R | 40 +++++----------------------------------- R/upperTblData.R | 33 ++------------------------------- 2 files changed, 7 insertions(+), 66 deletions(-) diff --git a/R/lowerTblData.R b/R/lowerTblData.R index 9e2d8af..8f539bf 100644 --- a/R/lowerTblData.R +++ b/R/lowerTblData.R @@ -41,43 +41,13 @@ lowerTblData <- function(field, values, tbls, level, verbose = FALSE, path_order } currTbl <- which(start == names(tbls)) - # assumes tables are in correct order; skip NULL and empty tables if bypassing is possible + # assumes tables are in correct order and no empty tables tc <- 1 nextTbl <- tbls[[currTbl + tc]] - nextTblField <- paste0(names(tbls)[currTbl + tc], "id") - - while (is.null(nextTbl) || (is.data.frame(nextTbl) && nrow(nextTbl) == 0)) { - # Look ahead to the next non-empty table to check if it has the parent ID field - tc_lookahead <- tc + 1 - found_bypass <- FALSE - - while(tc_lookahead + currTbl <= length(tbls)){ - lookahead_tbl <- tbls[[currTbl + tc_lookahead]] - if(!is.null(lookahead_tbl) && is.data.frame(lookahead_tbl) && nrow(lookahead_tbl) > 0){ - # Found next non-empty table, check if it has parent field - if(field %in% colnames(lookahead_tbl)){ - found_bypass <- TRUE - } - break - } - tc_lookahead <- tc_lookahead + 1 - } - - if(found_bypass){ - if(verbose) { - cat(paste0("Skipping empty or NULL table: ", names(tbls)[currTbl + tc], "\n")) - } - tc <- tc + 1 - if(currTbl + tc > length(tbls)) stop("No more lower tables found") - nextTbl <- tbls[[currTbl + tc]] - nextTblField <- paste0(names(tbls)[currTbl + tc], "id") - } else { - # No bypass possible - this is a true empty result - if(verbose) { - cat(paste0("Empty table ", names(tbls)[currTbl + tc], " with no bypass - returning empty result\n")) - } - return(tbls[[level]][0,]) - } + while (is.null(nextTbl)) { + tc <- tc + 1 + if(currTbl + tc > length(tbls)) stop("No more lower tables found") + nextTbl <- tbls[[currTbl + tc]] } nextTblField <- paste0(names(tbls)[currTbl + tc], "id") diff --git a/R/upperTblData.R b/R/upperTblData.R index 62db3d6..9bb62ad 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -48,45 +48,16 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ #skip NULL tables tc <- -1 prevTbl <- names(tbls)[currTbl+tc] - while(is.null(tbls[[prevTbl]])){ if(verbose){ - print(paste0("Skipping NULL table: ", prevTbl)) + print(paste0("Skipping: ", prevTbl)) } tc <- tc - 1 if((currTbl+tc) < 1) stop("No table found") prevTbl <- names(tbls)[currTbl+tc] + } - - # Now check if prevTbl is empty (0 rows) and we can skip it prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") - if(!is.null(tbls[[prevTbl]]) && is.data.frame(tbls[[prevTbl]]) && nrow(tbls[[prevTbl]]) == 0){ - # Empty intermediate table found - check if we can bypass it - if(!is.null(tbl) && is.data.frame(tbl) && prevTblfield %in% colnames(tbl)){ - # Parent field exists in current table, can skip the empty intermediate - if(verbose){ - print(paste0("Skipping empty table: ", prevTbl, " - bypassing via ", prevTblfield)) - } - # Continue recursively, skipping the empty table - tc <- tc - 1 - if((currTbl+tc) < 1) { - # No more tables, return empty - return(tbls[[level]][0,]) - } - prevTbl <- names(tbls)[currTbl+tc] - prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") - # Recursively call with the new prevTblfield - prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] - return(upperTblData(prevTblfield, prevTblvalues, tbls[1:currTbl], level, verbose)) - } else { - # Can't bypass - return empty result - if(verbose){ - print(paste0("Empty table ", prevTbl, " cannot be bypassed - returning empty")) - } - return(tbls[[level]][0,]) - } - } - prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] upperTblData(prevTblfield,prevTblvalues, tbls[1:currTbl], level, verbose) } From 90309705303adc7f23639888071dea02f2c848b4 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Mon, 9 Mar 2026 16:21:18 +0200 Subject: [PATCH 27/87] #255 fixing for 0 rows tables --- R/lowerTblData.R | 2 +- R/upperTblData.R | 19 +++++++++++-------- tests/testthat/test-upperTblData.R | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/R/lowerTblData.R b/R/lowerTblData.R index 8f539bf..7512b3b 100644 --- a/R/lowerTblData.R +++ b/R/lowerTblData.R @@ -44,7 +44,7 @@ lowerTblData <- function(field, values, tbls, level, verbose = FALSE, path_order # assumes tables are in correct order and no empty tables tc <- 1 nextTbl <- tbls[[currTbl + tc]] - while (is.null(nextTbl)) { + while (is.null(nextTbl) || nrow(nextTbl) == 0) { tc <- tc + 1 if(currTbl + tc > length(tbls)) stop("No more lower tables found") nextTbl <- tbls[[currTbl + tc]] diff --git a/R/upperTblData.R b/R/upperTblData.R index 9bb62ad..298c49b 100644 --- a/R/upperTblData.R +++ b/R/upperTblData.R @@ -48,15 +48,18 @@ upperTblData <- function(field, values, tbls, level, verbose = FALSE){ #skip NULL tables tc <- -1 prevTbl <- names(tbls)[currTbl+tc] - while(is.null(tbls[[prevTbl]])){ - if(verbose){ - print(paste0("Skipping: ", prevTbl)) + tryCatch({ + while(is.null(tbls[[prevTbl]]) || nrow(tbls[[prevTbl]]) == 0){ + if(verbose){ + print(paste0("Skipping: ", prevTbl)) + } + tc <- tc - 1 + if((currTbl+tc) < 1) stop("No table found") + prevTbl <- names(tbls)[currTbl+tc] } - tc <- tc - 1 - if((currTbl+tc) < 1) stop("No table found") - prevTbl <- names(tbls)[currTbl+tc] - - } + }, error = function(e) { + stop("Error in linking tables ", names(tbls)[currTbl], " and ",prevTbl) + }) prevTblfield <- paste0(names(tbls)[currTbl+tc], "id") prevTblvalues <- tbl[get(field) %in% values, get(prevTblfield)] upperTblData(prevTblfield,prevTblvalues, tbls[1:currTbl], level, verbose) diff --git a/tests/testthat/test-upperTblData.R b/tests/testthat/test-upperTblData.R index 00a62a8..fed699b 100644 --- a/tests/testthat/test-upperTblData.R +++ b/tests/testthat/test-upperTblData.R @@ -44,7 +44,7 @@ test_that("upperTblData works with sorted RDBESDataObjects", { }) test_that("upperTblData throws error for incorrect tbls type", { - expect_error(upperTblData("VSid", c(1), list(DE = 1, SD = 2, VS = 3), "DE"), "object 'VSid' not found") + expect_error(upperTblData("VSid", c(1), list(DE = 1, SD = 2, VS = 3), "DE"), "Error in linking tables VS and SD") }) test_that("upperTblData throws error for incorrect level", { From b603dc825d970ccaf2001960b4c692f73af005c4 Mon Sep 17 00:00:00 2001 From: karolinamg Date: Tue, 10 Mar 2026 16:15:59 +0100 Subject: [PATCH 28/87] Update doEstimationRatio.R function --- R/doEstimationRatio.R | 747 ++++++++++++++++++++++-------------------- 1 file changed, 389 insertions(+), 358 deletions(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index fc7bc21..3efb3e4 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -1,473 +1,504 @@ #' Estimate Numbers and Mean Values by Length or Age Class #' -#' The function is under development and does not work yet. +#' @param RDBESDataObj A validated RDBESDataObject containing hierarchical +#' sampling and biological data. Must include relevant tables (SA, FM, +#' and/or BV) depending on the lower hierarchy. +#' @param targetValue A character string specifying the type of composition to +#' estimate. Options are \code{"LengthComp"} or \code{"AgeComp"}. +#' @param raiseVar The raising variable used to construct the ratio estimator. +#' Options are \code{"Weight"} (SAtotalWtMes / SAsampWtMes), +#' \code{"Count"} (SAnumTotal / SAnumSamp), or any other value which will +#' use \code{SAauxVarValue} directly as the raise factor. +#' @param classUnits Units of the length class intervals, e.g. \code{"mm"} or +#' \code{"cm"}. Used only for \code{targetValue = "LengthComp"}: in LH A +#' and B, checks consistency with FM data; in LH C, used to interpret raw BV +#' lengths before class assignment. +#' Codes: \url{https://vocab.ices.dk/?ref=1608} +#' @param classBreaks A numeric vector of three values: +#' \code{c(min, max, width)}. Defines the length class intervals. Used only +#' for \code{targetValue = "LengthComp"}. +#' @param LWparam A numeric vector of length two \code{c(a, b)} specifying the +#' weight-length relationship (W = a * L^b). Used in LH A and B when +#' individual weights are absent from BV but lengths are available. +#' @param lowerAux Not implemented. +#' @param verbose Logical; if \code{TRUE}, informational messages are printed +#' during processing. #' -#' @param RDBESDataObj A validated RDBESDataObject containing hierarchical sampling and biological data. Must include appropriate tables (e.g., CL, CE, SA, FM, or BV) depending on estimation requirements. -#' @param targetValue A character string specifying the type of composition to estimate. Options are "LengthComp" or "AgeComp". -#' @param raiseVar The variable used to construct the ratio. -#' @param classUnits Units of the class intervals for length or age, typically "mm" for millimeters or "cm" for centimeters. Used in defining class intervals. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths. Codes: https://vocab.ices.dk/?ref=1608 -#' @param classBreaks A numeric vector of three values: minimum value, maximum value, and class width (e.g., c(100, 300, 10)). Defines the class intervals for grouping lengths. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths. -#' @param LWparam A numeric vector of length two specifying parameters (a, b) for the weight-length relationship (W = a * L^b). Used if no direct weights are available but lengths are provided. -#' @param lowerAux A numeric or character vector referencing a variable in the SA table used as an auxiliary variable for ratio estimation (e.g., sample weights, sub-sample expansion factors). -#' @param verbose Logical; if TRUE, detailed messages are printed during processing. +#' @return A \code{data.table} with estimated numbers at length or age and +#' associated mean values. Key output columns: +#' \itemize{ +#' \item \code{LengthClass} or \code{Age} — the grouping variable +#' \item \code{NumbersAtLength} or \code{NumbersAtAge} — raised estimates +#' \item \code{MeanWeightAtLength} or \code{BVMeanWeight} — mean weight +#' \item \code{MeanLengthAtAge} — mean length at age (AgeComp only) +#' \item \code{raiseFactor} — the SA-level raise factor applied +#' } #' -#' @return A list or data.table containing the estimated numbers at length or age and associated mean values such as weight and length, depending on input and target type. -# InterCatch age composition data -# Numbers at age -# Mean weight at age -# Mean length at age -# Intercatch length composition data -# Numbers at legth -# Mean weight at length -## Measure indv weight of fish -## LW relationship: a, b parameters -# For now assume we have all the data we need -# Counts, indv weights, lengths (mm) and ages -# TODO check differences if length classes are defined later -# Unit conversion later step : for LC -# TODO add check for unique sampling scheme -# TODO add an argument to toggle stratification in estimation on/off -# TODO need to implement the BV conversion from typeMeas to typeAssess -# TODO add info about the strata (species, area, season, metier/gear/fleet) -#' @importFrom utils tail head +#' @details +#' The three lower hierarchies differ in which tables are present: +#' \itemize{ +#' \item \strong{LH A}: \code{SA -> FM -> BV}. FM holds the length-frequency; +#' BV holds individual biological measurements for a subsample of +#' fish within each FM length class. Supports both LengthComp and AgeComp. +#' \item \strong{LH B}: \code{SA -> FM} only. FM holds the length-frequency; +#' no individual biological measurements (no BV). Supports +#' LengthComp only; AgeComp is not possible without BV. +#' \item \strong{LH C}: \code{SA -> BV} only. Individual biological +#' measurements link directly to SA; no FM length-frequency tally. +#' Supports both LengthComp and AgeComp. +#' } +#' +#' @importFrom utils tail doEstimationRatio <- function(RDBESDataObj, - targetValue = "LengthComp", - raiseVar = "Weight", - classUnits = "mm", - classBreaks = c(100, 300, 10), # cut - LWparam = NULL, # vector of two values - lowerAux = NULL, # should we keep this ?The aux var is now included as a field in the RDBES - verbose = FALSE){ - - -# Checks ------------------------------------------------------------------ - # Check we have a valid RDBESEstObject before doing anything else - # Need that because the selection is by column name - RDBEScore::validateRDBESDataObject(RDBESDataObj, verbose = FALSE) + targetValue = "LengthComp", + raiseVar = "Weight", + classUnits = "mm", + classBreaks = c(100, 300, 10), + LWparam = NULL, + lowerAux = NULL, + verbose = FALSE) { - # Unique upper hierarchy - if(length(unique(RDBESDataObj$DE$DEhierarchy)) > 1){ - stop("Multiple upper hierarchies not implemented")} - # Unique lower hierarchy - if(length(unique(RDBESDataObj$SA$SAlowHierarchy)) > 1){ - stop("Multiple lower hierarchies not allowed") - } - # Filter out NULL tables - # RDBESEstRatioObj <- Filter(Negate(is.null),RDBESDataObj) - RDBESEstRatioObj <- Filter(Negate(is.null),myFilteredObject) + # --------------------------------------------------------------------------- + # Checks + # --------------------------------------------------------------------------- + RDBEScore::validateRDBESDataObject(RDBESDataObj, verbose = FALSE) - # If no individual weight of fish in BV, then can't run raiseVar = Weight - # because we don't have the weight of the subsample - if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) == "A") { - weightVar <- grep("(?i)weight", unique(RDBESEstRatioObj$BV$BVtypeMeas), value = TRUE) - if (is.null(weightVar) || length(weightVar) == 0 || all(is.na(weightVar))){ - stop("no individual weight measured") - } - } + if (length(unique(RDBESDataObj$DE$DEhierarchy)) > 1) + stop("Multiple upper hierarchies not implemented") - # Does anything exist after SA? - # Do we need that? + if (length(unique(RDBESDataObj$SA$SAlowHierarchy)) > 1) + stop("Multiple lower hierarchies not allowed") - # if(length(unique(names(RDBESEstRatioObj))) > 1){ - # if(!tail(names(RDBESEstRatioObj), n = 1) %in% c("FM", "BV")){ - # stop("No FM or BV tables provided") - # } - # } + RDBESEstRatioObj <- Filter(Negate(is.null), RDBESDataObj) - # Add if object has only one species + lh <- unique(RDBESEstRatioObj$SA$SAlowHierarchy) - # if(length(unique(myFilteredObject$SA$SAspeCode)) > 1){ - # stop("Multiple species raising not yet implemented") - # } + # Warn if length-class arguments are passed but irrelevant + if (targetValue == "AgeComp") { + if (!missing(classUnits)) + warning("'classUnits' is ignored when targetValue = 'AgeComp'.") + if (!missing(classBreaks)) + warning("'classBreaks' is ignored when targetValue = 'AgeComp'.") + } - # Function to check consistency between the user input and the FM table for - # length raising - # TODO Should this be moved to utils? + # AgeComp is not possible without individual fish records + if (targetValue == "AgeComp" && lh == "B") + stop("AgeComp is not possible with lower hierarchy B: LH B has no individual ", + "fish records (no BV table). Use LH A or LH C for age composition.") - checkLC <- function(fm, classUnits, classBreaks) { - # https://vocab.ices.dk/?ref=1608 - vocabUnits <- c("mm", "25mm", "cm", "5cm", "scm", "smm") - fmUnits <- unique(fm$FMaccuracy) - # Check user input validity - if (!classUnits %in% vocabUnits) { - stop(paste("Invalid classUnits:", classUnits, - "\nMust be one of:", paste(vocabUnits, collapse = ", "))) - } + # --------------------------------------------------------------------------- + # Get the appropriate weight for raising + # --------------------------------------------------------------------------- - if (length(fmUnits) > 1) { - # Needs to break here - stop("Multiple class units found in data: ", paste(fmUnits, collapse = ", ")) - } + wcol <- NULL - # Compare user input with data - if (!classUnits %in% fmUnits) { - stop(paste("Mismatch between user-specified classUnits (", classUnits, - ") and data units (", paste(fmUnits, collapse = ", "), ").")) - } + bv_present <- !is.null(RDBESEstRatioObj$BV) - # Check classBreaks consistency - fmBreaks <- range(fm$FMclassMeas, na.rm = TRUE) - userRange <- range(seq(classBreaks[1], classBreaks[2], classBreaks[3])) + if (bv_present) { - if (any(userRange != fmBreaks)) { - stop("classBreaks (", paste(userRange, collapse = "-"), - ") differ from observed data range (", paste(fmBreaks, collapse = "-"), ").") - } + weightVar <- grep("(?i)weight", unique(RDBESEstRatioObj$BV$BVtypeMeas), + value = TRUE, perl = TRUE) - message("Length class checks passed: Units and breaks are consistent.") - } + if (lh == "A" && (length(weightVar) == 0 || all(is.na(weightVar)))) + stop("No individual weight measured in BV (required for lower hierarchy A)") - # TODO (to be developed) match with pop (Landings or Effort) - # RDBESEstRatioObj <- RDBESDataObj[c("CL", "CE", RDBEScore::getTablesInRDBESHierarchy(DEhierarchy))] - - -# raiseVar options -------------------------------------------------------- - - # Can have multiple types of weight measured for the same individual - # If the user defined in the raiseVar argument one of the options in the ICES vocab for - # the weight codes in the field BVtypeMeas - # If there is only one present, this is used by default - # If more than one are present, allow the user to choose - - - possibleValues <- unique(RDBESEstRatioObj$BV$BVtypeMeas) - if(!raiseVar %in% possibleValues){ - if(raiseVar == "Weight"){ - if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) == "B" ){ - stop("Lower hierarchy B not implemented for weight") - }else{ - weightVar <- grep("(?i)weight", unique(RDBESEstRatioObj$BV$BVtypeMeas), value = TRUE) - if (interactive()) { - if(length(unique(weightVar)) > 1) { - # Print a numbered menu and get user's selection - idx <- utils::menu(weightVar, title = "Select the BV weight type to use:") - if (idx == 0L) stop("Selection cancelled.") - wcol <- weightVar[idx] - } else { - message("Only one weight type present. Using: ", weightVar[1L]) - wcol <- weightVar[1L] - } - } + if (length(weightVar) > 0) { + if (interactive() && length(unique(weightVar)) > 1) { + idx <- utils::menu(weightVar, title = "Select the BV weight type to use:") + if (idx == 0L) stop("Selection cancelled.") + wcol <- weightVar[idx] + } else { + if (length(unique(weightVar)) > 1) + message("Multiple weight types found; using first: ", weightVar[1L]) + else if (verbose) + message("Only one weight type present. Using: ", weightVar[1L]) + wcol <- weightVar[1L] } } } + # --------------------------------------------------------------------------- + # Helpers - SHould be moved to utils? + # --------------------------------------------------------------------------- + + # Check FM length-class consistency (LH A and B) + checkLC <- function(fm, classUnits, classBreaks) { + vocabUnits <- c("mm", "25mm", "cm", "5cm", "scm", "smm") + fmUnits <- unique(fm$FMaccuracy) + + if (!classUnits %in% vocabUnits) + stop(paste("Invalid classUnits:", classUnits, + "\nMust be one of:", paste(vocabUnits, collapse = ", "))) + if (length(fmUnits) > 1) + stop("Multiple class units found in FM data: ", paste(fmUnits, collapse = ", ")) + if (!classUnits %in% fmUnits) + stop(paste("Mismatch: user classUnits (", classUnits, + ") vs FM data units (", paste(fmUnits, collapse = ", "), ").")) + + fmBreaks <- range(fm$FMclassMeas, na.rm = TRUE) + userRange <- range(seq(classBreaks[1], classBreaks[2], classBreaks[3])) + if (any(userRange != fmBreaks)) + stop("classBreaks (", paste(userRange, collapse = "-"), + ") differ from FM data range (", paste(fmBreaks, collapse = "-"), ").") + message("Length class checks passed: units and breaks are consistent.") + } + brks <- seq(classBreaks[1], classBreaks[2], by = classBreaks[3]) + assignLengthClass <- function(lengths) { + cut(lengths, + breaks = brks, + right = FALSE, + include.lowest = TRUE, + labels = head(brks, -1)) + } + # Unit conversion for individual BV lengths (LH C) - Should ICES vocab used directly here? + convertLength <- function(x, fromUnit, toUnit) { + toMM <- switch(fromUnit, + "mm" = 1, "cm" = 10, "25mm" = 25, "5cm" = 50, + stop("Unknown fromUnit: ", fromUnit)) + fromMM <- switch(toUnit, + "mm" = 1, "cm" = 10, "25mm" = 25, "5cm" = 50, + stop("Unknown toUnit: ", toUnit)) + x * toMM / fromMM + } -# Length composition ------------------------------------------------------ - if(targetValue == "LengthComp"){ + # Derive individual BV weights from wcol or LW relationship + addBVweight <- function(bv_wide, lengthVar = NULL) { + if (!is.null(wcol) && wcol %in% names(bv_wide)) { + bv_wide[, BVweight := as.numeric(bv_wide[[wcol]])] + } else if (!is.null(LWparam) && !is.null(lengthVar) && lengthVar %in% names(bv_wide)) { + bv_wide[, BVweight := LWparam[1] * as.numeric(bv_wide[[lengthVar]]) ^ LWparam[2]] + } else { + bv_wide[, BVweight := NA_real_] + } + bv_wide + } + # Apply SA-level raise factor + applySARaise <- function(su, numbersInCol, numbersOutCol) { + if (raiseVar == "Weight") { + su[, raiseFactor := SAtotalWtMes / SAsampWtMes] + } else if (raiseVar == "Count") { + su[, raiseFactor := SAnumTotal / SAnumSamp] + } else { + su[, raiseFactor := as.numeric(SAauxVarValue)] + } + su[, (numbersOutCol) := get(numbersInCol) * raiseFactor] + su + } -# LH A & B ---------------------------------------------------------------- - if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) %in% c("A", "B")){ + # SA columns used across branches + saCols <- c("SAid", "SAlowHierarchy", "SAtotalWtMes", "SAsampWtMes", + "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit") - # TODO mean weight at length - # TODO this should not break if only the len comp is required - # if(!is.null(LWparam)){ - # - # stop("Not yet implemented") - # - # }else{ - # # else stop - # stop("Nor an auxiliary variable nor lw params are provided. Not possible to produce the mean weight at length") - # } + # =========================================================================== + # LENGTH COMPOSITION + # =========================================================================== + if (targetValue == "LengthComp") { + # ------------------------------------------------------------------------- + # LH A: SA -> FM -> BV + # FM holds the length-frequency. BV (if present) provides individual + # weights for MeanWeightAtLength; otherwise LWparam is used. + # ------------------------------------------------------------------------- + if (lh == "A") { - # Select only FM data for now - BV possibly used for ALK - warning("If lower hierarchy A, only the FM table is used to calculate the numbers at length.") + warning("Lower hierarchy A: only the FM table is used to calculate numbers at length.") fm <- data.table::setDT(RDBESEstRatioObj$FM) sa <- data.table::setDT(RDBESEstRatioObj$SA) - # Need to check uniqueness of FM length type assess - # if(length(unique(fm$FMtypeAssess)) > 1){ - # stop("The measurement type of the class needed for assessment (FMtypeAssess) needs to be unique") - # } - - # It should break here if there is no match - checkLC( - fm = fm, - classUnits = classUnits, - classBreaks = classBreaks - ) - - fm <- fm[fm, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit", "FMaccuracy", "FMtypeAssess")] - sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] - - brks <- seq(classBreaks[1], classBreaks[2], by = classBreaks[3]) - fm[, LengthClass := cut( - FMclassMeas, - breaks = brks, - right = FALSE, # [) - include.lowest = TRUE, - labels = head(brks, -1) - )] + checkLC(fm = fm, classUnits = classUnits, classBreaks = classBreaks) + + fm <- fm[, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", + "FMnumAtUnit", "FMaccuracy", "FMtypeAssess")] + sa <- sa[, unique(.SD), .SDcols = saCols] + sa[, SAauxVarValue := as.numeric(SAauxVarValue)] + + fm[, LengthClass := assignLengthClass(FMclassMeas)] fm1 <- fm[ , .(FMNumbersAtLength = sum(FMnumAtUnit, na.rm = TRUE)), by = .(SAid, LengthClass) - ][ - , FMTotCount := sum(FMNumbersAtLength, na.rm = TRUE), - by = SAid - ] + ][, FMTotCount := sum(FMNumbersAtLength, na.rm = TRUE), by = SAid] + + su <- merge(fm1, sa, by = "SAid") + su <- applySARaise(su, + numbersInCol = "FMNumbersAtLength", + numbersOutCol = "NumbersAtLength") + + # Mean weight at length: from BV individual weights or LW relationship + if (bv_present && !is.null(wcol)) { + bv <- data.table::setDT(RDBESEstRatioObj$BV) + bv_w <- bv[BVtypeMeas == wcol, + .(FMid, BVweight = as.numeric(BVvalueMeas))] + bv_lc <- merge(bv_w, fm[, .(FMid, SAid, LengthClass)], by = "FMid") + mean_w <- bv_lc[, .(MeanWeightAtLength = mean(BVweight, na.rm = TRUE)), + by = .(SAid, LengthClass)] + su <- merge(su, mean_w, by = c("SAid", "LengthClass"), all.x = TRUE) + } else if (!is.null(LWparam)) { + fm_lw <- fm[, .(LengthClass, FMclassMeas)][, .SD[1], by = LengthClass] + fm_lw[, MeanWeightAtLength := LWparam[1] * FMclassMeas ^ LWparam[2]] + su <- merge(su, fm_lw[, .(LengthClass, MeanWeightAtLength)], + by = "LengthClass", all.x = TRUE) + } else { + if (verbose) + message("No BV weights or LWparam supplied: MeanWeightAtLength set to NA.") + su[, MeanWeightAtLength := NA_real_] + } - su <- merge(fm1, sa, by = c("SAid")) + return(su) + } - if(raiseVar == "Weight"){ + # ------------------------------------------------------------------------- + # LH B: SA -> FM only + # FM holds the length-frequency; no BV table exists. + # MeanWeightAtLength can only be derived from LWparam. + # ------------------------------------------------------------------------- - su$raiseFactor <- su$SAtotalWtMes/su$SAsampWtMes - su$NumbersAtLength <- su$raiseFactor*su$FMNumbersAtLength + if (lh == "B") { - }else if(raiseVar == "Count"){ + fm <- data.table::setDT(RDBESEstRatioObj$FM) + sa <- data.table::setDT(RDBESEstRatioObj$SA) - su$raiseFactor <- su$SAnumTotal/su$SAnumSamp - su$NumbersAtLength <- su$raiseFactor*su$FMNumbersAtLength + checkLC(fm = fm, classUnits = classUnits, classBreaks = classBreaks) - }else{ + fm <- fm[, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", + "FMnumAtUnit", "FMaccuracy", "FMtypeAssess")] + sa <- sa[, unique(.SD), .SDcols = saCols] + sa[, SAauxVarValue := as.numeric(SAauxVarValue)] - su$NumbersAtLength <- su$SAauxVarValue*su$FMNumbersAtLength + fm[, LengthClass := assignLengthClass(FMclassMeas)] + fm1 <- fm[ + , .(FMNumbersAtLength = sum(FMnumAtUnit, na.rm = TRUE)), + by = .(SAid, LengthClass) + ][, FMTotCount := sum(FMNumbersAtLength, na.rm = TRUE), by = SAid] + + su <- merge(fm1, sa, by = "SAid") + su <- applySARaise(su, + numbersInCol = "FMNumbersAtLength", + numbersOutCol = "NumbersAtLength") + + # Mean weight at length: LWparam only (no BV in LH B) + if (!is.null(LWparam)) { + fm_lw <- fm[, .(LengthClass, FMclassMeas)][, .SD[1], by = LengthClass] + fm_lw[, MeanWeightAtLength := LWparam[1] * FMclassMeas ^ LWparam[2]] + su <- merge(su, fm_lw[, .(LengthClass, MeanWeightAtLength)], + by = "LengthClass", all.x = TRUE) + } else { + if (verbose) + message("No LWparam supplied: MeanWeightAtLength set to NA.") + su[, MeanWeightAtLength := NA_real_] } return(su) + } + # ------------------------------------------------------------------------- + # LH C: SA -> BV only + # No FM table. Individual fish measurements link directly to SA. + # ------------------------------------------------------------------------- + if (lh == "C") { - - -# LH C -------------------------------------------------------------------- - }else if(unique(RDBESEstRatioObj$SA$SAlowHierarchy) == "C"){ - + if (!bv_present) + stop("Lower hierarchy C requires a BV table.") bv <- data.table::setDT(RDBESEstRatioObj$BV) - # bv <- bv[BVtypeMeas %in% "LengthTotal"] + sa <- data.table::setDT(RDBESEstRatioObj$SA) + sa <- sa[, unique(.SD), .SDcols = saCols] + sa[, SAauxVarValue := as.numeric(SAauxVarValue)] - lengthVar <- grep("(?i)length", unique(bv$BVtypeMeas), value = TRUE) + lengthVar <- grep("(?i)length", unique(bv$BVtypeMeas), value = TRUE, perl = TRUE) + if (length(unique(lengthVar)) > 1) + stop("Multiple length types in BV; filter to one before calling.") - if(length(unique(lengthVar)) > 1){ - stop("The length measurement type of the class needed for assessment (BVtypeAssess) needs to be unique") - } + bv <- bv[, unique(.SD), .SDcols = c("SAid", "BVfishId", "BVtypeMeas", + "BVvalueMeas", "BVtypeAssess")] - sa <- data.table::setDT(RDBESEstRatioObj$SA) - sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] - bv <- bv[, unique(.SD), .SDcols = c("SAid", "BVfishId", "BVtypeMeas", "BVvalueMeas", "BVtypeAssess")] + measTypes <- if (!is.null(wcol)) c(lengthVar, wcol) else lengthVar + bv_wide <- bv[BVtypeMeas %in% measTypes, + data.table::dcast(.SD, + SAid + BVfishId ~ BVtypeMeas, + value.var = "BVvalueMeas", drop = TRUE)] - # bv[, BVLength := as.numeric(LengthTotal)] - bv_assess <- bv[BVtypeMeas %in% c(lengthVar, wcol), - data.table::dcast(.SD, SAid + BVfishId ~ BVtypeMeas, value.var = "BVvalueMeas", drop = TRUE) - ] - bv_assess[, BVweight := as.numeric(get(wcol))] + bv_wide[, convertedLength := as.numeric(bv_wide[[lengthVar]])] + bv_wide[, LengthClass := assignLengthClass(convertedLength)] + bv_wide <- addBVweight(bv_wide, lengthVar) - bv1 <- bv_assess[ - , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), - BVNumbersAtLength = .N), + bv1 <- bv_wide[ + , .(BVNumbersAtLength = .N, + MeanWeightAtLength = mean(BVweight, na.rm = TRUE)), by = .(SAid, LengthClass) ][ - # add total count per SAid , BVTotCount := sum(BVNumbersAtLength), by = SAid ][ - # add total weight per SAid - bv[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = SAid], + bv_wide[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = SAid], on = "SAid" ] - # bv1$BVLengthClassProp <- bv1$BVNumbersAtLength/bv1$TotCount - - - # Do not need the - # species, the filtering of the "strata" variables will be done before the estimation - # To test - sa[, SAauxVarValue := as.numeric(SAauxVarValue )] - - - - - su <- merge(bv1, sa, by = c("SAid")) + su <- merge(bv1, sa, by = "SAid") + su <- applySARaise(su, + numbersInCol = "BVNumbersAtLength", + numbersOutCol = "NumbersAtLength") - if(raiseVar == "Weight"){ + return(su) + } + } - su$raiseFactor <- su$SAtotalWtMes/su$SAsampWtMes - su$NumbersAtLength <- su$raiseFactor*su$BVNumbersAtLength - }else if(raiseVar == "Count"){ + # =========================================================================== + # AGE COMPOSITION + # =========================================================================== - su$raiseFactor <- su$SAnumTotal/su$SAnumSamp - su$NumbersAtLength <- su$raiseFactor*su$BVNumbersAtLength + if (targetValue == "AgeComp") { - }else{ + # LH B is caught earlier with a clear error message. - su$NumbersAtLength <- su$SAauxVarValue*su$BVNumbersAtLength + # ------------------------------------------------------------------------- + # LH A: SA -> FM -> BV + # FM length-frequency; BV individual ages stratified under FM + # length classes. Ages are first raised within each FM length class + # (BV subsample -> FM count), then the SA-level raise is applied. + # ------------------------------------------------------------------------- - } + if (lh == "A") { - return(su) + if (!bv_present) + stop("Lower hierarchy A age composition requires a BV table.") + if (is.null(wcol)) + stop("A weight column in BV is required for age composition in lower hierarchy A.") + bv <- data.table::setDT(RDBESEstRatioObj$BV) + fm <- data.table::setDT(RDBESEstRatioObj$FM) + sa <- data.table::setDT(RDBESEstRatioObj$SA) + bv <- bv[, unique(.SD), .SDcols = c("FMid", "BVfishId", "BVtypeMeas", "BVvalueMeas")] + bv <- data.table::dcast(bv, ... ~ BVtypeMeas, value.var = "BVvalueMeas", drop = TRUE) + bv[, BVweight := as.numeric(bv[[wcol]])] - # su$SANumbersAtLength <- su$BVNumbersAtLength * su$SAauxVarValue + if (!"Age" %in% names(bv)) + stop("No 'Age' measurement found in BV. Check BVtypeMeas values.") - # From here onwards need the column names + fm <- fm[, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit")] + sa <- sa[, unique(.SD), .SDcols = saCols] + sa[, SAauxVarValue := as.numeric(SAauxVarValue)] - # s <- RDBEScore::getTablesInRDBESHierarchy(DEhierarchy) - # keywords <- c("SA|FM|BV") - # hierarchyTabs <-s[!is.na(gsub(keywords, NA, s))] - # # Get the table before the SA (most likely SS) - # nextTab <- tail(hierarchyTabs, n = 1) - # # Get table SA - 2 - # nextTab1 <- tail(hierarchyTabs, n = ) - # - # - # upperHier1 <- setDT(RDBESEstRatioObj[[nextTab]]) - # cnames1 <- paste0(nextTab, "year") - # upperHier1 <- upperHier1[, unique(.SD), .SDcols = c("SAid", "SAspeCode","SAlowHierarchy", "SAauxVarValue")] + fm_tot <- fm[, .(FMnumAtUnit = sum(FMnumAtUnit, na.rm = TRUE), + SAid = SAid[1]), + by = FMid] + bv1 <- bv[ + , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), + BVNumbersAtAge = .N), + by = .(FMid, Age) + ][, BVTotCount := sum(BVNumbersAtAge), by = FMid] + + # Raise within FM length class: BV subsample -> FM tally + bv2 <- merge(bv1, fm_tot, by = "FMid") + bv2[, num_raise := fifelse(BVTotCount > 0, FMnumAtUnit / BVTotCount, NA_real_)] + bv2[, N_at_age_FM := BVNumbersAtAge * num_raise] + + # Mean length at age + lengthVar <- grep("(?i)length", names(bv), value = TRUE, perl = TRUE) + if (length(lengthVar) > 0) { + lv1 <- lengthVar[1] + mean_len <- bv[, .(MeanLengthAtAge = mean(as.numeric(bv[[lv1]]), + na.rm = TRUE)), + by = .(FMid, Age)] + bv2 <- merge(bv2, mean_len, by = c("FMid", "Age"), all.x = TRUE) + } else { + bv2[, MeanLengthAtAge := NA_real_] + } + # Aggregate from FM level to SA level + bv3 <- bv2[ + , .(N_at_age_SA = sum(N_at_age_FM, na.rm = TRUE), + BVMeanWeight = weighted.mean(BVMeanWeight, BVNumbersAtAge, na.rm = TRUE), + MeanLengthAtAge = weighted.mean(MeanLengthAtAge, BVNumbersAtAge, na.rm = TRUE)), + by = .(SAid, Age) + ] - # if both lengths and weight exist - # if(isTRUE(any(grepl("Length", RDBESEstRatioObj$BV$BVtypeAssess)) & any(grepl("Weight", RDBESEstRatioObj$BV$BVtypeAssess)))){ - # - # su$Wratio <- su$SAtotalWtMes/su$SAsampWtMes - # su$SANumbersAtLength <- su$BVNumbersAtLength * su$Wratio - # - # }else{ - # stop("Not yet implemented") - # } + su <- merge(bv3, sa, by = "SAid") + su <- applySARaise(su, + numbersInCol = "N_at_age_SA", + numbersOutCol = "NumbersAtAge") + return(su) } + # ------------------------------------------------------------------------- + # LH C: SA -> BV only + # No FM table. Individual fish measurements link directly to SA. + # ------------------------------------------------------------------------- - - # Age composition --------------------------------------------------------- - }else if(targetValue == "AgeComp"){ - - - - # LH C -------------------------------------------------------------------- - - - if(unique(RDBESDataObj$SA$SAlowHierarchy) == "C"){ + if (lh == "C") { bv <- data.table::setDT(RDBESEstRatioObj$BV) + sa <- data.table::setDT(RDBESEstRatioObj$SA) + sa <- sa[, unique(.SD), .SDcols = saCols] + sa[, SAauxVarValue := as.numeric(SAauxVarValue)] + bv <- bv[, unique(.SD), .SDcols = c("SAid", "BVfishId", "BVtypeMeas", "BVvalueMeas")] - bv <- dcast(bv, ... ~ BVtypeMeas , value.var = c("BVvalueMeas"), drop = TRUE) - bv[, BVweight := as.numeric(get(wcol))] - # TODO this probably needs to be an argument - # or needs to be defined later on? + bv <- data.table::dcast(bv, ... ~ BVtypeMeas, value.var = "BVvalueMeas", drop = TRUE) + + if (!"Age" %in% names(bv)) + stop("No 'Age' measurement found in BV. Check BVtypeMeas values.") + + # Resolve weight outside data.table to avoid get() scoping issues in j + if (!is.null(wcol) && wcol %in% names(bv)) { + bv[, BVweight := as.numeric(bv[[wcol]])] + } else if (!is.null(LWparam)) { + lengthVar_age <- grep("(?i)length", names(bv), value = TRUE, perl = TRUE) + if (length(lengthVar_age) == 0) + stop("LWparam supplied but no length column found in BV.") + bv[, BVweight := LWparam[1] * as.numeric(bv[[lengthVar_age[1]]]) ^ LWparam[2]] + } else { + if (verbose) message("No weight column or LWparam supplied: BVweight set to NA.") + bv[, BVweight := NA_real_] + } bv1 <- bv[ - , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), + , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), BVNumbersAtAge = .N), by = .(SAid, Age) ][ - # add total count per SAid , BVTotCount := sum(BVNumbersAtAge), by = SAid ][ - # add total weight per SAid bv[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = SAid], on = "SAid" ] - # bv1$BVLengthClassProp <- bv1$BVNumbersAtLength/bv1$TotCount - - - sa <- data.table::setDT(RDBESEstRatioObj$SA) - sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] # Do not need the - # species, the filtering of the "strata" variables will be done before the estimation - # To test - sa[, SAauxVarValue := as.numeric(SAauxVarValue )] - sa$SAauxVarValue <- 10 - - # TODO add check for subsampling - - su <- merge(bv1, sa, by = c("SAid")) - - if(raiseVar == "Weight"){ - - su$raiseFactor <- su$SAtotalWtMes/su$SAsampWtMes - su$NumbersAtAge <- su$raiseFactor*su$BVNumbersAtAge - - }else if(raiseVar == "Count"){ - - su$raiseFactor <- su$SAnumTotal/su$SAnumSamp - su$NumbersAtAge <- su$raiseFactor*su$BVNumbersAtAge - - }else{ - - su$NumbersAtAge <- su$SAauxVarValue*su$BVNumbersAtAge - + # Mean length at age + lengthVar <- grep("(?i)length", names(bv), value = TRUE, perl = TRUE) + if (length(lengthVar) > 0) { + lv1 <- lengthVar[1] + mean_len <- bv[, .(MeanLengthAtAge = mean(as.numeric(bv[[lv1]]), + na.rm = TRUE)), + by = .(SAid, Age)] + bv1 <- merge(bv1, mean_len, by = c("SAid", "Age"), all.x = TRUE) + } else { + bv1[, MeanLengthAtAge := NA_real_] } + su <- merge(bv1, sa, by = "SAid") + su <- applySARaise(su, + numbersInCol = "BVNumbersAtAge", + numbersOutCol = "NumbersAtAge") + return(su) - # Check which biol data are present - - # if age exists - - # if indv weights + lengths exist - - # then Full data set back - - # if only indv weights - # then you don't have the mean length at age unless you use the inverse LW relationship :provide a, b parameters or model them (Future work) - # if only lengths - # the you don't have the mean weight at age unless LW: a, b or model (Future work) - # else stop you don't sufficient data - - # else stop - - - # LH A -------------------------------------------------------------------- - - - }else if(unique(RDBESDataObj$SA$SAlowHierarchy) == "A"){ - - # bv <- data.table::setDT(RDBESEstRatioObj$BV) - # fm <- data.table::setDT(RDBESEstRatioObj$FM) - # sa <- data.table::setDT(RDBESEstRatioObj$SA) - # bv <- bv[, unique(.SD), .SDcols = c( "FMid","BVfishId", "BVtypeMeas", "BVvalueMeas")] - # bv <- dcast(bv, ... ~ BVtypeMeas , value.var = c("BVvalueMeas"), drop = TRUE) - # bv[, BVweight := as.numeric(get(wcol))] - # - # bv1 <- bv[ - # , .(BVMeanWeight = mean(BVweight, na.rm = TRUE), - # BVNumbersAtAge = .N), - # by = .(FMid, Age) - # ][ - # # add total count per SAid - # , BVTotCount := sum(BVNumbersAtAge), by = FMid - # ][ - # # add total weight per SAid - # bv[, .(BVTotWeight = sum(BVweight, na.rm = TRUE)), by = FMid], - # on = "FMid" - # ] - # - # - # - # fm <- fm[fm, unique(.SD), .SDcols = c("SAid", "FMid", "FMclassMeas", "FMnumAtUnit")] - # sa <- sa[, unique(.SD), .SDcols = c("SAid", "SAlowHierarchy", "SAtotalWtMes" , "SAsampWtMes", "SAnumTotal", "SAnumSamp", "SAauxVarValue", "SAauxVarUnit" )] - # - # fm1 <- unique( - # fm[FMclassMeas %chin% c("LengthTotal","LengthMeasured","Length"), - # .(FMid, SAid, FMnumAtUnit)] - # ) - # - # bv1 <- fm1[bv1, on = "FMid"][, - # num_raise := fifelse(BVTotCount > 0, FMnumAtUnit / BVTotCount, NA_real_) - # ][ - # , N_at_age := BVNumbersAtAge * num_raise - # ] - - stop("Not yet implemented") - }else{ - stop("Age composition can't be calculated with lower hierachy B.") } } + stop("Unrecognised combination of targetValue ('", targetValue, + "') and lower hierarchy ('", lh, "').") } From d92fbd77568413e7b0d8399dc9fc927c429c1322 Mon Sep 17 00:00:00 2001 From: karolinamg Date: Tue, 10 Mar 2026 16:17:23 +0100 Subject: [PATCH 29/87] Removed lowerAux, included in the model --- R/doEstimationRatio.R | 2 -- 1 file changed, 2 deletions(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index 3efb3e4..31cafdd 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -20,7 +20,6 @@ #' @param LWparam A numeric vector of length two \code{c(a, b)} specifying the #' weight-length relationship (W = a * L^b). Used in LH A and B when #' individual weights are absent from BV but lengths are available. -#' @param lowerAux Not implemented. #' @param verbose Logical; if \code{TRUE}, informational messages are printed #' during processing. #' @@ -55,7 +54,6 @@ doEstimationRatio <- function(RDBESDataObj, classUnits = "mm", classBreaks = c(100, 300, 10), LWparam = NULL, - lowerAux = NULL, verbose = FALSE) { From 7d5033fc983d0a5cdbece80fd139a8ded28a89b9 Mon Sep 17 00:00:00 2001 From: karolinamg Date: Tue, 10 Mar 2026 16:38:14 +0100 Subject: [PATCH 30/87] added in namespace, pass checks --- NAMESPACE | 2 +- R/doEstimationRatio.R | 7 ++++- man/doEstimationRatio.Rd | 58 +++++++++++++++++++++++++++++++--------- 3 files changed, 53 insertions(+), 14 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index e5b6e9f..222b08a 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -11,6 +11,7 @@ export(createRDBESDataObject) export(createRDBESEstObject) export(doBVestimCANUM) export(doEstimationForAllStrata) +export(doEstimationRatio) export(downloadRDBESDataZip) export(estim) export(estimMC) @@ -47,6 +48,5 @@ importFrom(stats,na.omit) importFrom(stats,rnorm) importFrom(stats,setNames) importFrom(utils,file_test) -importFrom(utils,head) importFrom(utils,packageDescription) importFrom(utils,tail) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index 31cafdd..36c6741 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -11,7 +11,7 @@ #' use \code{SAauxVarValue} directly as the raise factor. #' @param classUnits Units of the length class intervals, e.g. \code{"mm"} or #' \code{"cm"}. Used only for \code{targetValue = "LengthComp"}: in LH A -#' and B, checks consistency with FM data; in LH C, used to interpret raw BV +#' and B, checks consistency with FM data; in LH C, used to transform raw BV #' lengths before class assignment. #' Codes: \url{https://vocab.ices.dk/?ref=1608} #' @param classBreaks A numeric vector of three values: @@ -48,6 +48,7 @@ #' } #' #' @importFrom utils tail +#' @export doEstimationRatio <- function(RDBESDataObj, targetValue = "LengthComp", raiseVar = "Weight", @@ -57,6 +58,10 @@ doEstimationRatio <- function(RDBESDataObj, verbose = FALSE) { + #TODO stratification + #TODO add here the upper h? + #TODO build tests + # --------------------------------------------------------------------------- # Checks # --------------------------------------------------------------------------- diff --git a/man/doEstimationRatio.Rd b/man/doEstimationRatio.Rd index dcbcc2b..6cd2367 100644 --- a/man/doEstimationRatio.Rd +++ b/man/doEstimationRatio.Rd @@ -11,30 +11,64 @@ doEstimationRatio( classUnits = "mm", classBreaks = c(100, 300, 10), LWparam = NULL, - lowerAux = NULL, verbose = FALSE ) } \arguments{ -\item{RDBESDataObj}{A validated RDBESDataObject containing hierarchical sampling and biological data. Must include appropriate tables (e.g., CL, CE, SA, FM, or BV) depending on estimation requirements.} +\item{RDBESDataObj}{A validated RDBESDataObject containing hierarchical +sampling and biological data. Must include relevant tables (SA, FM, +and/or BV) depending on the lower hierarchy.} -\item{targetValue}{A character string specifying the type of composition to estimate. Options are "LengthComp" or "AgeComp".} +\item{targetValue}{A character string specifying the type of composition to +estimate. Options are \code{"LengthComp"} or \code{"AgeComp"}.} -\item{raiseVar}{The variable used to construct the ratio.} +\item{raiseVar}{The raising variable used to construct the ratio estimator. +Options are \code{"Weight"} (SAtotalWtMes / SAsampWtMes), +\code{"Count"} (SAnumTotal / SAnumSamp), or any other value which will +use \code{SAauxVarValue} directly as the raise factor.} -\item{classUnits}{Units of the class intervals for length or age, typically "mm" for millimeters or "cm" for centimeters. Used in defining class intervals. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths. Codes: https://vocab.ices.dk/?ref=1608} +\item{classUnits}{Units of the length class intervals, e.g. \code{"mm"} or +\code{"cm"}. Used only for \code{targetValue = "LengthComp"}: in LH A +and B, checks consistency with FM data; in LH C, used to transform raw BV +lengths before class assignment. +Codes: \url{https://vocab.ices.dk/?ref=1608}} -\item{classBreaks}{A numeric vector of three values: minimum value, maximum value, and class width (e.g., c(100, 300, 10)). Defines the class intervals for grouping lengths. In lower hierarchy A, the argument is used to check if that the length classes provided. For lower hierarchy B, it transforms the lengths.} +\item{classBreaks}{A numeric vector of three values: +\code{c(min, max, width)}. Defines the length class intervals. Used only +for \code{targetValue = "LengthComp"}.} -\item{LWparam}{A numeric vector of length two specifying parameters (a, b) for the weight-length relationship (W = a * L^b). Used if no direct weights are available but lengths are provided.} +\item{LWparam}{A numeric vector of length two \code{c(a, b)} specifying the +weight-length relationship (W = a * L^b). Used in LH A and B when +individual weights are absent from BV but lengths are available.} -\item{lowerAux}{A numeric or character vector referencing a variable in the SA table used as an auxiliary variable for ratio estimation (e.g., sample weights, sub-sample expansion factors).} - -\item{verbose}{Logical; if TRUE, detailed messages are printed during processing.} +\item{verbose}{Logical; if \code{TRUE}, informational messages are printed +during processing.} } \value{ -A list or data.table containing the estimated numbers at length or age and associated mean values such as weight and length, depending on input and target type. +A \code{data.table} with estimated numbers at length or age and +associated mean values. Key output columns: +\itemize{ +\item \code{LengthClass} or \code{Age} — the grouping variable +\item \code{NumbersAtLength} or \code{NumbersAtAge} — raised estimates +\item \code{MeanWeightAtLength} or \code{BVMeanWeight} — mean weight +\item \code{MeanLengthAtAge} — mean length at age (AgeComp only) +\item \code{raiseFactor} — the SA-level raise factor applied +} } \description{ -The function is under development and does not work yet. +Estimate Numbers and Mean Values by Length or Age Class +} +\details{ +The three lower hierarchies differ in which tables are present: +\itemize{ +\item \strong{LH A}: \code{SA -> FM -> BV}. FM holds the length-frequency; +BV holds individual biological measurements for a subsample of +fish within each FM length class. Supports both LengthComp and AgeComp. +\item \strong{LH B}: \code{SA -> FM} only. FM holds the length-frequency; +no individual biological measurements (no BV). Supports +LengthComp only; AgeComp is not possible without BV. +\item \strong{LH C}: \code{SA -> BV} only. Individual biological +measurements link directly to SA; no FM length-frequency tally. +Supports both LengthComp and AgeComp. +} } From 91a81cc57cc639943fab4d6bd4122f3f78da23d3 Mon Sep 17 00:00:00 2001 From: karolinamg Date: Tue, 10 Mar 2026 18:10:16 +0100 Subject: [PATCH 31/87] some todo --- R/doEstimationRatio.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index 36c6741..a198f86 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -58,9 +58,10 @@ doEstimationRatio <- function(RDBESDataObj, verbose = FALSE) { - #TODO stratification + #TODO stratification SA, BV #TODO add here the upper h? #TODO build tests + #TODO mean weight at age and length, Check. # --------------------------------------------------------------------------- # Checks From 7cd6877447a5c6cfdbbfb78344ebaba3e3b090b7 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Wed, 11 Mar 2026 09:50:01 +0200 Subject: [PATCH 32/87] 2026 march presentation --- .../package_overview_11-03-2026.pptx | Bin 0 -> 174338 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 WGRDBES-EST/presentations/package_overview_11-03-2026.pptx diff --git a/WGRDBES-EST/presentations/package_overview_11-03-2026.pptx b/WGRDBES-EST/presentations/package_overview_11-03-2026.pptx new file mode 100644 index 0000000000000000000000000000000000000000..77302176871a35807fbeb5ab947c3799782ab44c GIT binary patch literal 174338 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�L7e+6bhNRm6Yr6#Ie;++8Bdg%!1^%3XsmL+R92^?iuw-mL8czfh6?c5yi#Sn z({GTyaxRJZ#zsIriesbReA3hnuy9yjT2;9LZJ%B~;_HI;^VA5*V=#Yg8n`vo^DE=(;z6U(#U6cPX8@sblLXE78A;QMv@;g zh99k1rIS2kblr%S&O)_ac3g5pLq?5ysuz}K9V*P1B8KHQikjo@E_Cay96jsW>>Tte zW~s>`U~RZ4KpF0e^H*096O_A9T(g1l-sBwMBQ0Z++z!#n@q-GD!_;0DSeR}JJqo%Y z>g8SPodK*#DU!&*oU*jSg7QFpm9@0gI(>#S)3Jr7Mxl)^Nfvxo^Gm(tr{t_VjHx-o zMg$}8K`LTATRFEM2!jc5xgK-u0f&^=4Wd28`}9^X(%(`Fxp81V9-^#3%fel&EW{iF zPX6nxYAz@Gk>maC@R3=FSfYgRYArZ?r#QvsB?OYQOd6v<)Wk(@*!r;`KV7KcqacQ) z7|8jjtQtRih9AI}g49$m)IQT-v3=zUH-T9SKQc@x zXf|LP1Ah@`)z`f%pc7&oNSq19tw5Nm89=^rYYZ1S?99EtXF%EUBnFXB6TFlgf=R%i zP-Kn=?N=#Cyr5CgThLP8!dt%y@rRECra{t%LFD|}_5ndQt7l_U1awFMO8rF*5*et%F*4vtCyu>Jki zB^<5!J#Jl)>Z1z%vEPafKa4sgaY_;GwP9zqL-2l5%jaH!lok~py%$~x z_V`q6(%xbQHjul@*Hb#c-!^?Z__B|m3k>}jINvb@5wA)v;J=6BCw70yzQURHfIC?G z9+1&B6AtoN*Y?0iZ|u9r9WpC-wSjxAXhu;GS3lJWBv@D8w15ZBc06AJW}Wt?KT6*1 zGcg;e+1%k{PtAdve4Xu+%ccQ34NO4O&Vm@w5{t((6J+yx17-7>;UR+5qgg>LJr6|E zOY3){oyD@^elwy>#*91?LUM3TaauRUAQ#dFfx;t{5`7OuUaKG3sUP(?HSO0f!pDWg z1a{u`)F*oTX?fn+s}8RzSEVs#f#olovg<64Ey-4^&`;C{%oakTdu~k(SZ5O&wIyOsXcu{`>$>7&)>~t4GtEb}Z57Jc|L(dAU80x&2`m+40 ztjz2Z8Jbb5G_FeVdZ0W{v%hkY(a}jGdEV34r&_9 zeTJ0%2}8y#WQ_+iZN)&b9Dbq+3W-Tu(L=QDZ$HHxlHRq5K48Mc_gf-@L{$ttNKExG zZ)&5c5g`$iRL#E!1l3ViS^0SzxptVH@QNoQ>=~ri!J7)VxNZ48RFJm)J33!P^H4j> zp&U-#kZH437L0q*I|IjnVw?_4cO#kVANWR-?18ZoYCd<%3*dn2A2AQSkS*h%t^gfW zCFL7ezwyvw!0=Pndw{Zc6bs^i_ZsJcveno^yy@smX-Zrfv*lwYJx74d^#j%8b_&N-R z^t`bBqBG#zfAFGR1pbp%o8v`%HZN?gw<#0_`1$oSF#KOSum@f*<^Jch)B1BD?B7NS zhJQwh4YkexB<^<8&A8$(WWuS@jHoLvmnl+*E5g_r61liAT?CL)L}Cjg5g)F(ddEE; zz7ca36|J0QNm*=Q1BZykhaP)vzY>^tdG<_!XfPPIB@CPt%||073dz%^4xHHdd{*EQ zoYxkqk&lMVhOC}^zTTT&KlDOH=ruJ0b4Mv0Kj6pEh^vQKi<*<_)5?<$!0AjfmVo&J zRi%e{ZeFQp>C+ZEbeY%dkU)}MNW^m+&Y?=cAg=&AWI9+=S+|F?TBm`s=sUyCanKVn z@q1f7ZqOfjIz0BBq~~PNdpBfY4N|;N2_Tv7q>$5+Nz~m?s^%m6Hh8H!-|A(jO|!b<;qAn@r=BAjl8tKn+@!X8H&$eQZOjCqnX-8m)r?+O-B=bH16@xv!?yNZmXke{ySnlQ zjl*AwP7$!(o0eTw*jS6Z`eQ&>P+%?zH~|v14^3Ka;RPH0w|Es#@7yZp77*6H3mOOJ z3FEb7F1XWuz%SfJWk4>=T46T^DUp);5nh)$k8idj%EMO?uj8>W$5ue1(R}U>1L+jP z()!I!`&YY7^tX4u$(Ih+Wl5%3E@&bn8@MPJ1DjQ}Hj*rdjp6^Lv^bK;gi?HzG z=jDIiKC=tIJ=G>{uSG(MmFN})(R82@=ydQOMn-eV+x;cQ?a5xfLt2H|T=y9?4!$CQ zY;Ohx%4BP&{Z&@pe1!NvdVykc_@JdcSxT1g_l-R?OgTApN_rO3rbI`^ADp94U&0JM zR17&erhc6gI0L=cC{A=?MZ4Iz(KxwsK1yyP=lcXcsQ*HUGJ_@XrG0ClyEL zXBYY(SGh=}Qj>z7;2PLULS8};8U<{bf49n1b)xh6&ngsByrTnA8&)k?3WG?5T!yo1B1EnvZ`rEC?bZWkVq>^BPvZ%@a6?F64U_nB>F+O>&mWb>f8i#u5P}=Ip z6^+n|-E|;}5yr=*jGC>|B5Lpa33i5|E`8~{A{njCUlzMX@Jssf*y)z8UVzbL4I{3K-*G9+{4VWTGp4OhL) z@6Ouwtq=jJ|C%~NW&6N#c42*-1T4^B{KtR*yD{HL89?W%7z`i5P;nrXX(8f_Symix zef_C#k&M0$RxqD6SytX>X0aP$9|NPnJ4udUB?(eOg@53yhpF}aURg&>6>uCgH;w$_ zp4U$?b3s+{1tLtuF+L?nv^|?BA8MI~7+UEgXR8Fcm$RAyv1Rve?&|2Q8`izb&V6F- z$Ge!M_SWUOhV2qgf?lZ0+?3hi{!YjWzFFw8ZwAaNMcxTrwagg}k0F`M7G7*dXVSld zq1yo?OEg^ewVIhIV1LHQ-^fwt3a=F<5b=i_(9!+LJVpAztsQdwS8+N-x}q2~ZB3BS zAzs`&-7HZM-8gJbYMzUW9zMYcW@;@u%Z=+~woR+$=o4DTPGS6SCg$l-NM_#ZN8ESH zkFkw)b)N-=>K;UAhI@#c5!3Rk7lL5Esk?OT40gQME4qIb>w-((n;d^iM;_sSd}04N z+jXI8ExS&S@E_=P7o`M}*i3-!c5aps-&o23rAq4kf>dUI@<)lMx$N0q6(O|i2qcNA`gtB^p6p+Z@>iQG6+=vKis|IgK}B^~uu7pnw7`X~QD%HBFrK z-4)Pj?G}D#Q@Nlrrz@UJLx|%Lb!n}4V8zpNnPd6~13vMd{f*?05AX-Puf(}f%BMJ& zQg%2LaJH97JMYgji<>Jzva9^%<}`Qd47kruWUY_>w8AJweoR zNSM*OOR_Md9U+w@V~STLLrRQ>z~2zl%TY3Nis^2rSlpmMwEXVUxB~{c%v2L+hUbrM~v|wJ-Q=)f)AdubTCycb2$SSpzlbIdJrMSp1GR zmsG6fs9T}m=W!61)5nlPWdOTe&FYVRXuhVJ%%vjJ}+vZo7E~z(P`N%ii$IH40A2ywMEYGQSyjKG6 zJ;u1>AijYw$aMh-S=O#(MRFeun(za!Q6oEM>4rD@?hy8_hK|PQz#H#fGBHp4$p-WGrtY z&2+sAUIhL)<}~jVxGq}vg(o^`7>l1m*VN~*sQHZoSsu5O?=up3RWoPSSgFbvZ28W= zRC}GZKZ`!TNwfSAWL==7!ij@ySr+01om`Q#|7f=` z3hs^1`82N7cQze(y1bY|8U?J0GSdK}RwuJAGSsgy)t_;<^PYn-cgdC`Se`W;m z_5c2*h3qJ+re$)1lXj7gXkLYMc>-6O%Rzo#d6{@54ACX5VCpt?{Ik z!>*XlxnBw}V0&!qD3lOndY<{5Xi9ROPjFa*B0ui@Cg}}7^REEVB-kq@O$sYU1E6Bl#;=BGFbKV56 zI#k~2oPL}V9LY}v>=xBPHTjHm_7)S$2hZIsIW`5^Wp^9HIAfHiqqvN6EWFRsM8D5c>h$X73ec{d(?;w zScTtU*$_0;!#W6hYiF(BXCB zcN(YvdJ_Obc%_Lc>h~80hz=C)?NKRk;j`)tmV$?I!pCkv@vnD^#H1t(*zbm?t7)Y4 z3!l2U#!d57Q@u(4QE*%ErB0bUSAK+G8WzCH%ZuJsomjn1!)*zy;YjgYKBojf)@M4(W_d>#PXvj%1aIgRsc zP&||#bC+C#boix#v{{XN*@udBV?N_6WY*sFWYeh1q4~=o8mQ#xLKD65_RQHO^-bs# zI1v}Ma-L}g=Q`1ErIcDkk+yYM|fHvj@OEe4p zfgy60kHcOJJnV7-N?waH&RaknsfM*RJ+q6Pym1c0t_etnXf~wreNnY$>RLtY2>74W zL3|FBQ#m|8Uwv)d7%uonPT5j^EVyv~*&(b_h`F~>S$p?xo>Vn2U&z~SMx+d7UvEtO z$V6!2>~mwkLhF=}NA_l|P|H08v(IXGHETellg3Z(&{B6(cYkL!Zn^?KmVh2HQtma# zUk^+1a9bR=-pOls;bhejU@_Km8|7fgVgvpp2kp(l5$_CIr12*SSdUv<0z|2U<|U*tcA+w3TXT)Vx~zZw zP4)R!?cY7*9oUV%X2FSp>(S=MDRm2ro&UbAZ5%~kF$ncz=iD+C!pZh(A-Mfm4;~bU z3QzoY5wlte(WWwim&P{%$eMMnO>TNp1IHDU_EI3EC6sRc@)MB$Z)4IwPVk>G$>Kj_65Rt{h__5b+iwa|8T{0eU}i|^H^6%4Cn!r20`ujk zZC8;FY_4!=#We-`1QjMnlc{)&*8?kcY%>O-%Zpa_4L)*!Dkq8c)z+8Wm)C((AOj>7 z$bIUVNYvrIi-*q+WWERyK;d!hq_7}nP=P=M)7fY>#)wEzlKNMLC(YA z=dVwA+?}%ApHPdE$;t-hx^zt^BApq!)Xd$l79tX*%%(C8j0`-)r~+RHj{PO7gj+|Y zq%H6MR24KF7{}P!oL0Deytm)S$@J*v=<tMP<`DX694OKBUTvO`ZR;e^n(GpSFAdoqHEgk-CnqUQGJs?!yLY(yy`2Ms|N~}2a`^=16)JW zpKnqqV^EeEk{SnJwg|4Z)0c7BQCQg0E4mYeL#dh(kt$P_!lrU010xi1^#vzOdr-}& zDymB{Q7uMbAo?0`j1@D*)=nne?risjjnajK~zW1mi zp6#DxgLH@fPGL36KAj4*;e=e@!J%jxwcmn-mZ6~0FRzAd0~H`wP-!2AtpHUxe+G)N zIE2wjl!?H;t|=3&+xLrX?pt=ng|KGbB&Yp3QB&)?NCLSV(s$WJ%p(&yB(n3ce5o6| zS{oy9&*xuTu&eN5>iVDR8Tl!lf2*GV?zzLOv%ibt1|UylEe=PT=wo?yQh!2*6DPnpv5U`Wz1N_a9!IW0f(5; zEm*~PWq-`6B!li1?8zE^`09R=I&jz9p89Vx4gp=s=kxptp0;o1XKHYu&cCdG>#r-V z2Y7rmHY91j{p1NSUOIP7&jmmwGk;#zJS@+b>)92ktNYzGAweg2G;SRBx2j~mqFN6J z2(r{YXNU_54G$-T&ZUQgLa-=zHJMmVSzCR{Wor_$-z6gmLl=>VXNHJS`&3Y>%t>yV zS|>jpD{2NI)y2Q!^WUNGW{3FFKL;)Ht)9`1^V!51znTR)t-<{;$IN*Z(H&5w%l+vP zbpG5r1s0diM^X*fG33#1Kp$9J3I)SB5{bw?^krk<%F$Yz7*te-SoI$tO-GURVj;#K z;_q{>b-H3Tt50^9PaoZ!IaDA+X1EE zYHG_=h$`MO;Kck#r=KFLb51-Oa+>uqO}Fga9H~hH)g)k29%~9@&t4?;wtq-D;sm+m zsB8V^)hDG;*{yzn%_`LonZETKG=PemeK_5EFq^FQlN#_5M^PpKVxpEnuv6fOLhsJ{ z&F{^oxm6W)uy=zLWL>Y)zG5BT0X=UGSY=YoD_*k+jy)TguGD=qdj#eiHfMKAHH<6` z``VP9J}5kd>|(x&J<(I6^C~oIhM)JbUtP`d}!l!EPHpm%SH3Bi8^VQXDg^ zVs~aqP&6*4TV{l-?}jr^*ty*|FL<^BVvggCYk5#w8hkB#j9r%ygr;26?(Gw|VGRq} z!Q=Cd;3P=|a|2*QPx0>N78^|eq%Hj1hNO4{oe1TbgDv%VzCNt=I{S4G$&?VxO0?4% zut0hal}aJOE=Wa5JZVS9)YOh|8|DC38R5HD z)IAk6J$`=4xe&}B3y7~{BRq!_{K8{RP_HQd*@Vahg6r+*oB8eMMa!#&pYHX_z4~CW zr32Y#6io=FGo%!{kTmQlie!40IE*unqG+75ItZ(J??CgxaLZy35N}@$Mb!5r9%wqv zEkV2OlhPloV#%cBl50`%)UE=#5n1_$i`6K7kq_I;9Po+?)fT5=)qO>)^0j5EE>m@K zalA-<0WE5Wu(Zw5c&@wT&66_$F0=&Gs@%l~4fe@$Fx|%(>gJVNbs|dGG%R zlK8jYFroV26_WUm4VLN2>y0IvJ2^$Hq(uB0VRrYyW{|C+3dH>jbvi`8JYx%u7tQ}* z2!SoYk&0~K^jtk}DAefUS%f?)mrGukq3ObK3v(d+9As0vI;p!J##O|;LuBeZS>RGU z=<5D_NL8B@u0!-^Q$yl@Xx3y)#FsagvaGBY7UJmCg3>U8iFH6qLiF`3Wr51?!-uiZ zwy$|eO?{4hXeV?c7^yDS?!ZrAtORUZRgFH)XGs;dBvyeR^2iZr2Q@Jsm1HVER8X`q z@%j>F9Y54vUAlUFLR2By9~Z)2ibJI{(`z(&jK8`dc024oDRy&EA772?g~2JtCH^w| z{Lvr^hl$W4{;E>%{S`p7a!98RwgK9wmWinfyWZlIA2VfCgdwsMt`e%o;u`Q?1&`J{ zJmY#ViyG5_kx4T*3@V5~W8L^?p{pekcRF%Ze0bDtTRlXA6*F|jU01X~0U7JZ02?%z z!Y*~U$%P;rl6PA8ty!lUeftG_>5fUsVEddIO{*^A1b{88pB`2Tn~5adL%c#{Zk=yj z1LinarbDx-OQjn`KBH2{(k0G96x5|{7-{lq|>KFAPDMt>NwB?>@KLO$GxDh3Z@+n zJFEV;x42U8+nT+;>~YV^QN2#2ux4g#A)#DF9l+3=9jAKlc2DZR6Jo*UKo)s&Mp*QtK8%1wT7!_d8w|Q zNQV5>BH;5l4*V@ogMANV(S9&CCgF;-BBNS@GI`h^4(kZSP@FB)C$d&cYblpzy)Bzc z3s(KnOF3|8QL;Mi*t*ImsFEHMIwoo1X}>IpR!JEd!SJRpEN}!ZZonT5;m>Io{5~GP*e`sE#&U&iAt=0j;8CivQ&wKD=# z;g#CdyXHjR;miDmP*S*vx#__-?;`Kraj7Bjt)B5=%f||VbZhtUW0Ns}6nHglt!RiD z$8p$`GDL03Gl{X026Jv3w*2+P}Y zZoD+pA%J+ss`}1OPCPHS9J4+E7VK1vVik!gFseCdAD^3nEuZpGm`Qm4)JgapxWivd zLOQl{929nrs*8m|wha*|X#-Rpb4($8KmG)qrWm++_}@9q^fxGNSFBLWjTTCxfl#yw z_Ja>%v)dlJZ#XTVD%CDVG5d)M+Sc6z5lfXYBRv)SOoJoH9o&*slsssW^7ZI;|0JL0 z*ZZNo3$(yEvj%s;{Gv&F5ZL|0XOU-j=OGGZ7q&j{><*CJm!!HKooETW$b!BLL*~d9 zc0%Up#(%{_jDHKCvQTm2BGSltw{x0e7&q+1p@pMg{02Lr6Xo`yMg}2$M7|V*> zlFx&db}A&k<1Os~W+_ZQ1+1UDDhg^*fm(zNnNn%i;1MFk@YRDi`f%?X#1SQ~z#>6) zs?I>v6}+j9{VNQ_9mKQLC50;)H2X;w7fz+FqP#X19ZV0clpN%6T}A99cM&E*1Qj_u zcjvDrV+fge*Pp$x_|QdKnf?bJDIGZA-FsZk2;^X{R!fZ+`b(22r($=c`pBtEQV8xxf52~8MCV^Z-+IvCJhFY|n%?v{XV3>I@aBl}-XjF>*y&i{5m)1@sNG7Viw~xN{|} zI^s&BgClkJ{>XdF80Wkfj&{q9EsYh;UZkd5%urRu?)tQ|&qD>*kh4M~Eg847NV&`$ zhrL;*bKRg8=y{Mf>dJb!lKVNRp2Te1eS>%tEnLuAeRAs0eLUPz^-@x8GpW&*dvAIB z{{C{cwsIPO+G9Em|2p}O14CLnfGJI8_X57+8rO-I%4R6tDJ!=7pw=pkH;Bw&>rt0A z`b2zON5^iy_mpE{U&CYCb3uA8hwE>lf*YH@HY#|L?tl1}Ko*OC@A1Q#Z#9i*Jr*z< zP3&Nk#Ptyz(u2hlIA6Y%8)#9>u9)Q4s7AiX}6TTg!msO=nC93fh}Np?tp46MWYaowj;sT%p8gIE)cJ)M^{y`n1G)@ zwo_C?)^Nakj2H7oW2hZQSbEIdT*0A8mS47~iR%d2WU*=d$tD>H#Uc&K77)i_4aen% zQZ7D7a%F7EV`Fa1y_znO(>HZpi$|1HSr(&mid1Hs-P>*AZ7_=GA0vQMeMwW!NbAfk z;x8~WkVv{wH45Sne-|jAix^Emkoq=d0AzP`BnjfE*MM9tmP1(0I}92yo9SL3uW(so ztwD9+*Djbhp{V%exl!d;DXWde+auf-qVph6E>=H9*I;?pPK-pjsi}6<%kNb3rwO6jx+7lqz=$Ob zdu_k`gwe#CHLaq}iYWH4Mx1~3Gv*?;QGyOgO^j@s2S@&9kOJGPYv)IL_qHqQIZOW_OB?lxKK4!*+*>hGe z7y!}EyMsIkj2+|+)g2NSs~rp#MyvQ%kXnDjSHziR<5Kcn&f~#8?ydUf+w%kv_C{9m zMhPolEF+esT_L z_HC4=ctcsTO<{!gM<=tQ4z-9!TUf}X5Onc-92v9ySXXmIv9xzH^?kv;tL@x#(U14}i$ z#}g4iGn%VW(D`#5S%Y;&Bo$#i3Kb{H)#CUcf6 zUVbUDDmGT9IYlE40NanOr)aNDWqu;ruF^-^1U$eN5txWNDm<^8mKjXc?B6ENw)xQS zy!yQ8`=OPp0VgPvOCh(Q(NJ3*FjDVsO`vTg7+18Fy+^h6S-|H#Tk;KkMpa?Y9LCwm znR9Fg79CvRI<13*`9hpFSd8$R z>+T*_w7#`<5AA~y`;CA;-OY50?^;}3%{nol4d7`*Al+Gnu?h0aXVYQNU+JYYWRhcKS*d@cNE8<{%o2M|;rl{H2w2m9}BQH)_o@^_+?Ul@jF zZJ<^%`gJw>U7U;qv!!IYP%k4(3Cayj_@jb?k5oeiLi`hrC1x6#JPvJ$gL;$CH@QmanI|=YT5((AX4$H zFZuLQc(wC)H_W%mW#Xwb>R;iJ$_|zc#Ko>(eR8s9J#qRv}+TATJizBc`i7==kp7=4WJX zzZZ!|Cp6IB7Q*m^4Ex-2^Xg$wup6G)(>G7>e=MH<>TYHo`p)QwzZ<;&Z5Ol9x>;MD zYiNAu?eIQ&`d@+D-m28$p~3|=1X_v;xoe;jk>0AroT#d3fuCwhCRSc96sGuzRYfy>0H=Hp=G2SAc$CI< z!Ghg($;Ya`hpWPdAFrre!M2c|v%XC&tVJ*E=hxsLIw>zL^r7A=m+}5~(vT$dWHaV*^$(3a3t?3o; zPnqJ40#?g<(yPt_M^G%L#VA`20FJ0~O`JP`r7n2eLz359o&^>GAVf-jN``4_fi%i< zYvZ1qL$414&F*-PaZ@XNR|~S%rdP!{>7*RQ%GR7F3dxmAX>#`JSfF!LA6^VCr|?pJ z843C{C*6EhO(x?}KjCW3_Eu~bHn%rX#LK>Cf*TYf*|My@v5~3&g-BF-mK%8(51)od z*r)tDZPw2KOJQGhrbH>YdI1&V{F97i?(vLrIVvHS0O9RjUbZqO-zPg{t~8S7NHep6 z-j*LZoG$PpyhT*FfUV;8W#A z^5FLggzf!sBk^fY;K|+u)YtUr;P%uw3Vzszy+^p3>c3u6e|f$R(}|_>2`_<6=j!SR zedg0K7uSlxYY{JqLWr>H0@qExi&(w+91oL21orB^3rpiHWPC-ygyP4#akArsdj&Kd zwehfKj-QT9Dj%~n(%4yjg>b{kCnw@jmjmDK+xs~7OYCgk{P+y^Fi+RYYG^a^ zu((OvXgC$jH>s5!Vq-?srm?n8E*&Qbz*oGF0mP0}HV6;mOYfAm?h1sLfD=xC>*iP& zGZ&f&kCQG7oZLa8_Z8L9N>DC*`LUoR=-08#8sV8UMZGuJUSCfwsV#8J43x9o?lZgJ zP+tr<5$hvis|W&JGeY>lGK2zR!FD|C_`t}Teo&eIUie@B#oxwPz4n%W*A(XDfUXZ^rDiK^}b=v6(J`@>%2Lf!bao{iee69o&h@Un&>{ey-Q*>(2% zLH*$qRp)6~p(g$7WAFvwUz%s~Y?QUqqh(dL@@zo6nVJ1IM)=h=LxQQqPmvFnYS&+v zkg|IjIJ=x~d9B3+E@?ec7xXbeSYWXALWl-jw>+pcCy3R+)8UpA^n=VZt;HiZ3fosY z;H6T!{vVL%seo2y=Wub8y5#jlWX9+X0F=!GR?=wQli=&`7%`=2q9YISZ&4$p^50mH z_5+Ww_P)ioP5i|Rc+AnmhzXzz%e`LwN5r|Q;G^Bv8QBCLHRZzFmv+74dwO#Y8|N=T z+l0uXYzvfb=#v!TQGo7$w@X}qq|s>nPT#J+$!-4@`2XsNO{iJ_Q?mJt`R&Wj2;u)b zgS8hl7`D#&M`68;@i~-WVrFY(-#5AK0@LTaYNN5Fpe{c)gx0f}b>;5GyH>L`;RwrA z4wGmIf6uuAP%3Ub_WK3@*~_8!h44SQZLk3W8QYUnAD%TTTi3|)T4}r(!0Aopcp;>t zX0p;^l$3ThgwC?mE)VW$77qTZj<}*5m#S$LskRr1) zqbQWLlw>L?WMDFGR;6e!@au^W%POKdXa8Y_cFj|&4zJ4LO~tU(BELZL$6=d8^jqX3 z{$++V>V-_+qLk6<-jZ$02N}q^B3J(3KyI^|QQ+ptaU9DqnqjU;M$`D4!edMBI()sds zGR)87B4z+)q&XjL?TsdmBm+^(dl@>ML~PF%edA2{we(=q8cxrpAe9E5F|QaEw57w- zcjz8^@5VaQ4Vsex*SJ3XD#}hKeqoi2ldNrbL1b2E9;y2(OJw8tMT3p=>_J-;=1<#4 zYz+ohjr7dUfiTbbJ5@OWgqC=p4HhD6l1YANPEe!WvpX|oVpmUJY7WpO1M_67_1zpL z-r7Olp!4lP_1<0ISHee00F&eR$!AKgeLgbXrvfm~OUGNsiOf$qUPJ{py+rMi%Kdhv6|bJ-=RmOU(TLu~+_{5&t)POa9j* z#$Sfm|M9Evmu&ri{3`tAJN<9A3Vih*fmGk@NDHoSajO4&CL!~UjQw=@&m7`E{`}1$ z&b7{B)|wGNef_!vb9;gfH|Rt=gD;vK18f{oH;_MMr0z8}!sqgitJp;Rd8P2GsQhaoCm%#ng>OqC@tzd0|5b&d;t?e;RNbuI{5?q)kz+G1E&_P?J6VxGQ;5qGF8> zAxOx}Cv?;2-5GknJk9j&s(zD+|M0^MDFZZ$D~<&{45(}0I%7EjN-cF)SxoC~aTk&L zy`8-I#2De@UpJnAwCb`Ot)9n*Ymq+w#17S^xy8^mK7MwIaTGjG2ht@icJj|oL^rZ0& zFRdv%R@%Mw;c|d3_4wxES+?b?AnP>O=f9N z#(V-_AIXqp+HUw4YWp?{lcIz)+k(?g4o~NaVSQ*v3E6QI>4B!iPIkqfg|iJ*5=&(H z2tYbD-8SAp@J?mZ!Y$i_OfoMsXc<4B4Q$!vwVzxfH`pJy1!fb4@LMI7K&c>4fE2-`~z5_?$nx2W4o;pJ{lY% zFgIjxkUA|Ly83pPt~^psxl)2rde857?H!@uUgW)X$N(Duk1LbHSNgo*`W{)$Ff_=IFXdzkgxNcu6=*iA4j=M((J zaQ_ZH{~!-WS};88fMd5+>kGD)38Re4emZY`L<2i68a_z?#j<2}s)lS@p|F2F8sC$J z$xAavNeLOE3`wX}%RbjZZl2xCsi8J#sNKpwzC|(yA+;{#B*(J=`csdTFad+{$FFQO}(M&GKuRI&$S#t4GQ8{$@ z#02IS|28qk1V$Q{QH@q42mJh1OE#&T9PIY>UCVfVU#)h}HX?Hiv2$beDE~*(L zG$V+^ME;ZURyR0RZ>YB-L5pGxHY5x@P>JC9$8Px zO9q0OWF|>oNk3K-nZq5x=sMJVqGER|Ay>;GFo5O|lt)GCkyR<%Okv;JZ%@qUJlF>) zzIB?yi-zZ{YY^+Uw8~w@`3~N8=1^t$Th+oQQtiMW?5CY(rv(@9$QrI%>qi*0Pox?) zQ0z4*jjjgWhN(j{VuuXT>bv3o_Gqsk%o$I{hPN_T(K^n7J@!T%f;W7N!aHhgsoL{z zA*$b5Yb5b?DpAsxr^<&UC)VYP^}ja@jjclvvajl^nOYu}R&I4fjA@#h&Ljy;1uMa% z-PaG34|^oh9)J`Q8##g<2!%2VkXff}$Kh1_l#zwF@aPrQj3%c-8x@SMWB{8#2E!%c|$!RhA3>joa_4RXDmCVvgidJV7T0Tv63i;V<{Yw*v2>+eJur<>FD zvj0EN5?k*p2pop}`-}uwTpVtf?LGzqTNKu&ns&W9km55*^!wIid_~N$@j7UYr7c@f z73#I04buUoQjp;90k7kwG~t%hQ@mi2RIA`w-j8Z%*mMaG@l*V7(@V1FLxQj0Be}F{ zth-ki(_A4_YPQ=hT2VZXpLSr|Bp=L|H3T(-)O}|+SRwn1$=K0+%gyZs;OB1=bD+ex+FKWcw(+B zo?pC~7P*K8@x>|@ogn;YGEHnN(3ZaF5e< z@DctPl!B_4^NE*RTC5@%g^Zg-+V=h2iqb)6*5~_trb)iKyU?Ry0mAXNg&=KK)1S%T z&MI}qEDC7(dDxpY!Ij}5Vr>pm61@JG8ExH1gElghmri#FmWPoC^_0iSiul2tbepE=B zYLxHrDOh;AKU7#Fzj>(`Eo+|P<#T4oCY&};`A7}1UY1;!i6<4^QluS4l`>E<{2fwY zyG?98)ffd_(cfLh=%SGi8&LIwudg8HEqc8?nhWZS{XA^LSCi&A{&1=fo#kx^gJQw0 z0G?4VRqkNne@y0C&!*0TQ&hFcR=ZoW{EtLTf14+HR3)=xl2PFLo~05?yw8B6donz} zmnO3}x2tSO-_s%;Y)<$D{Sgh8PMd@3GF{+hJ{&d_w*w_2H6q9JR&R_vHJ>WqC7J`8 zt)Dx_QOJ-qZb2?YHe)!m=xDE-rgRDorWyC;;ycdjS>|r`_)vP*v&Pl>8X)X27(3hZ z3j`k4!GC9f-8&uyjV6F(Rb+(+gdI@b?f7BvrWGQ9x+uK4yrF%An6T;sp=IBZhh3rX z2!+Q`ky|+alobd}eAQ_O1eWJiL!Jdj_9r%>j7_*1IlxmyTx9yU8T7f#zVq$|V?2xn-RbR-g;(Q$?l$0$hR7{5g|sa1(mRV_m&0}hW<}1m{S40D z7uRMA@z2;8;IWImj;!|u5NiyUod*bXb(`BC<|i08FOY11FQ1&g(8^=1Y%Ctvpo;Hy z_8~spTi|xsK>&1|Lk|LW?XW z$>%(~#rfVrbPH!b+;>>;=I-qSp7{NbJMm9(<$PXBM*``Y*geE-LRzU2aICZ~HsO9q zZ>!Ie-Pi2pUw?>h^0t}LaGg5J@N%9>I3)nbB;`NyEv@`LcdawUmK^!O^>cQiX*&hL z`F!AG38&!{`5tQW@!74keo`OtKdo-OK8)-2czxVHK|GdQzn+mK&9Ovf%3POKjvPu;xn{OR}4YXq% zVCSmiGde@C6e~24x!o0@ESsQBgdCPNVs&TSp{j9i7-pJpnMsCve z2Qp=I5Gd>Nd0h>09UH|m`m~x{O1*kMJX_(~?B?n9wJ#N2M1De*HQteq@1F|D#je4i zsI}|=!LQZ6e?;Ar4Eqy6hG`a`$Bp^=VQh)!Avj>D0}KIyLWdoG3?@^ss$qru`G&-|exsOrjNYCk$=v_Gjt@wt{>_*`Xyl+J z3jb*=Q4Yj~mic;!LU+U9=5G#OwpBEA?X%xJ$=TqJJUmlk04c;NyNxiYQ-dUI&vz;| zFN=-0s%o*1T>fU(!prmdd3*nS1m0zV%7tzqnI*M&`7627C7Rrt2>8=-el9q$!+7Z^$S;+H%yXZ7|NQ!L7-}k_v5_aS`XJ#>OTZuc@oLooYH2 z5%elSj|lJ~`up>bS{RQiY57bYnI_HWq9Hgcge`=g^$b$~0sj4oH1>6K>sam%v-8Io z?5}^NelNz_hev$RD1Q@7{;QqxA2e`vEyqlDWS_0{4>(L+S91KzY)+g&nG&W8*7-s{ zKR@gSlrYE@nbi~DtpX@^*{q=xUA$LAV9ulYHlKv|_dyw{*_i7*gN^mu>^4+Fox#)M zj%=+fIw-EX8T_$oT8gug^>&iLhu!lfz3it3|35Y3TFofn^z8|7KDkK6Y6l z00Y3UAXE#$V6pbs&i$f$=K$|?oPN$R08>0olnXHnDr`$C(=5MYkt1a7EqcvB9(57K z`Zo`FqwJQ>bS=FIAk&?4@N*zhmu(aOtg3(o+S;5-JMI1D*ltN{x(t|4Xm@$V41COdmwQdb-f0yPw{ zeOU+qGlxrV1)m0yL-8yKG;Hu%NJ4)}MCRV|SmnuZ?5_#bKK^QGM)QorJEf!R%QMgM z4t%kXU|_XE)Q1K-DT68Y>s}MZJnk6W7zbJ(C7lc5saqaz7X|voQEH>p@`NVe$K~t~ zrC3)jnsg4%1Bk^3^5!sqJ)iec!jEP(K6q$+zAdpl`AUAzH$pP|)JpuG;~)VDqq5!K z6bX(Bt7>3E#sDvQNH*R-UeB!Q{>7O3>7SSk&dk(j`gp;V>e1CJxgy+1-&ho~| zGAKTEDD+6(E(~s$#DFFtux)UsI3K)v9gqnt6+1j*^wSpX(7aE6i&VY13 zP{k0gJzI=7E)#>06aN_D$MUZ7aeabE2DKz(Z*r8EIS_+Wb1s7U+vU7^w-*MH?#ZFc z2#kpyK$`ZX-nN*A%k4JhB7;V&WkP7J&P6aed|OyK(;Gsqn4$#YsQL-6UN|Ad9(pZ5 zKcZJk@oJM4@~s>TblECjVw==R;1ga+dgCI^Pyuh~i%V2&ab#aGTi!0)m{r>kl1sg~ zu8TZ>hE|Xd{FYi{|5NfXKUCYx(c@H3Mr4{7VY5N>gTpBe2D=18yL4x1AysyKQ&S@a ztx>f}`X#g8w?iql%^dmzB~3SBXd2^?jzfUu{~sxv?(ATY&&3R+O;?;l75fu%aEPT!a@n`63bPhsJ*3yFzck z+era^g8C0-D47Zm`S3oP%>Le0^-pa$30GFc^lnO9^ad#<5bJ7R8Xhszxv;TOGY+h1 zyyg+ny)~LS)h_?0`m*M7<;x}x7wakdcnX%8{&LMN!k)d^)P8;Km4ZpSNiFdt)-y}q zYMq)q%C=hq=#(+#se}gH*dvcbGUs54ITK|j8IbcP@`zmRqvuHvNfkWZUyzzpH27b-u^2lMJNdQ^_N4f4*#VT+1Eo?Xa znVdJz9*D_TDPQaf0A&;6|=IC%>BKMFr$Z6Zc$! zu$*)!OA%k3x1sy<8Ptfcl?83W^WqWg!P+uv)fcO9fqM6K2p!l_XZ2R z&a1_=$4(?)oHAw>2k3bC^#4OXB)Fow*DSau#VX* zs1=;|s4{1E@EfvSG3Fwe*2T|J$UN}}o!g3H#~{`5;Uk+e>F3A=VP8cbpZljpVFGN4 z@mx-2Lm+d=Ocy$yKS3Z+f>2@t^>oFCa6j-ib`8NozI1zD=1$=(v<1HQILqrQfq@9y zYlAgS>GDU1HY~-^T8!!*(Vni0WObB&$)g=C-8%{q>+Io@?;3TKs;BTQjD4{y7q24Z zJa2<`vPv4&?#itRwD7Q9 z3D1Ov2eEzUL(znZ29gk3g&m#!sDdd~$95;KML@L#k$BE&Ks3O zgM1>|qKa0QHnUhcU|UF;^B#ptp2l&c3@n#qEAt_G0ZPwB;zl4{i!8QYzU<`ILQl=M zMwPe753f}KT&KfBx>8;C_WEFt(UCWV)=<_QN~;%{Ra-qD5A#p9zB%}6JBoOA;h>xS zs>_~*Z$l}FB|vS9;frsBc+@!Rk!PEihIQ4x{`KJK<;cm4`;A_OeLHmiSLyJ7>LP3; ztbR+hUP*5W?CCZP^`Mi+^?`C`tr)vPx&u_v^hR5?CFtj6P3$+V4v!|@i#PjG8yg^1 zb9x%#jOWBmO_vx+*lyZDM*Ini{FUrI-e#^9mP9dr>oD8GJ3(4CA}F}aIFOWFXlor_ zy9w*_c_Ooj#N08c)tmtCl$0O(_D6B7+;ojlCjlrDOEn&`dlG}LHb||zmMI2Lz*WGy zWdrsC=%{Eh>L@kJ^v*py0YOR)gyLt_KgP++bSds6QO&1_)+pb`$;Y#LnZzw9Zd7kfJlbWok%G?4}UH;~w+*h`tn59ehFk@n0mZ~#kq0quBc81=^&vSo8kO&b^k-CS4 zl3<^^`*9%<2^qFvprC3N{ODu2CVaSdb0h7AnUL!lp;T|o92mZi7n$-5B_4CK9+1xJ z`7L(f62R><12|==%8t+OuUdB$zx9|e4~WdiU32z^V|_~?WwB_Qkaxi1jLF2v_=U4u zaPFGbOt1+EApC@WCLF5%17McR9|pD#6d>Oh=nMqx`vL=dC<_4mfaCYD&JorU0AKW| z78Jnn3A-7T`~{!EBVO6UyYi%(yVGlyeD0WqNR~RIq=8x3(|EH!omD%w;u%X_++wCNm$=lZ!lJ~fX{(7HOM{+M>bX7_I0;l0!k zs1Et*63d}Vbt*B`O-7YBIu^vxWCMGLs7*xYIC}Q`y{#YHguacVfyGQ}PB!|2Sf7iS+d>qLESdmcEq)8BSMPhM`Vy33HO)o5+;T#($h zVp@6JbbakoE3XH4d_7(-?^h_TNORr|TEbT}epZabGk{Y5+05P7w0@6s7@_2Qp(3hpc_o%S1aUs3rm&Vk}+R13g6I*jwVuxyf5kS%ku9nYiA6n(4C2u z)aU!J!KFwF#n<;cxRCx&1ed>rlnM23a{+dE@9)+Pff-&dL8by#c+bWY?(l>D19dWo1A0t$5y6qQk&Lhtjtm8`dx<%uHNyYa0 zLHnTBXCk_1Q(E3(Et(K8Hs{B0aTCR$&6IO-?jf?Pebq}oW|QZZZS^o$eb??w`vVW(eGoxr z>}T;%`PSD<1H5&tva3$T9h*+}A3@gbt#19RXQbDUq#~*?t;0@cVn?iOitNVY#VH7`uG$Nv22*L~A1j6^yKz*cA zo|A&|nwCq}TdPA&c&h7RV!8v#?v6=v0zbHd6Gy(lRChTi?=VQhOgwz z6n%kG^G>;&2Fq~>`$?_HuEkibdg5BX*CC^@$73%Qkb7PgPwpQw$Gg97G9(k#ud~~> zu?ljqTGZ5eR8-j5p+xoz`A!3(!CwToJ*2PY=grDW{ z!H!5A&8Ayu>Z^g3YYti{nn1JLo2MHfwP*Z4x471ZvcaNPzovdq@al{q@St18>Tc<+ z)-|t;Rr|I#g6Wv^9f__}U7VvA@i0}xd<2YZsO@H|`_v7sY2c~udLArwFUwDDpGQ-F z<^i^$hmPiorQtmdnF3y9MNgYelk3unw9!Zf@rw&1W$^(j_ zk;Vt4YUNE(+=2Ud07kpmgMmM`Dwwco+ejW4bGcuJU9M+Ji z(F>JKvQ6o26-?R_Avza15SjCFz9g&H32N_>6a-cNdn_RGDU*ff^CX`9TorW6nO zjk$4!nNMOpjexKN?gZAkGKCFn5$o~AhdvsDbi96JF+hZrAwFh&ke<;V6T3Ny(A_Gl zv}dFzHd3y3bgQZ11(jE<>pq2V>CRk`%DkubNj_y-W}DVI%SECF=Meh3Nj{`3Em36> z2X81Lt*IOxbWX-+K{#A}Zn1yh{TrrEl;{oW`AyJ8{C2+kuTrDGM6ycNHHYuQ-aqZ5 zfCIeqosucc@r;Bd&YXL{vqxS4(tv50@%@0{iJB7A-&Nl@UJ|JJ6(y~fR4lsS(SS@{ zr*UbY7SD7h<%N=p1LV4n3Gd-|g2^d*ay+hV)jmgrR`qoaN!imqJoCGj8ghI+NXRmh z)!gWsK>fXv~7dNtpn27q7b+YW$Gnsk7FHNc3ImX=NAp0TzU#T<#QdTbbf0X z^*y}#M38kzF1i3S&e)s^Og%ngEc4Vem71|d?%C9}`TRHPo&&7OtLq?cL5qk2GAt;l z5cVcORfa-<3d$5HgcU;Ads+uFLlM~!EF*|4Sz$w!5fLGUK-eIJz4spf8ywYYZNKkt z`{{ii$bHwj=bpRHIrp4%`z^DzrEMifsCW0$=U>flkUGpcRS6&UJ$!X>%fj`H{}D!8 zirKcA&Y8oU9g&k~MVaSoE;1g=hHght`M%W^l@)9*I~u;xXQEaH?`o9vpO+?Mr<732C27vpuS@SaBOFkV+X^x`l3YA#=D zJK&4L57StSUW+>%xgq*W(K4((HZT%>^KzOQ$Q$Yf=dIWyG9Wow^sD|_a`@h@Z@e$& zSEtWONMRiZxNoIDZ0k6?XHC8{*JBEGHyWxncj%zM>fIqp~y``}_MsoNb<7*U<0z;cl-~L)&)ki--6Z ziu>2QJz`F9{uD8kEbv(QC97`wFBjuu1dj*I3kXawXbb8bU2xLvm3n1jb6Ec&l4682 z)i$5>GN*oD-Sybh4+&>)Tb;ksN5gr^`jc9L-s$irw~W zy7IH{c&ZoIx)rw~>mp1T{NUFFffIKhmDKS3)X#oZ?fceFIm6Z<;kM)byW39s^cB_} zEhGjvXvZw)Q?trrdVX;277J>g!aXPfA1E{93?b2+bnC5aDF0-DH?5gdcB~X2&~9Ki z>;pG~x5j_(xe>f)0=Q!WSryi6QF-dvz3F}K_g-xZUFihE6_+vGewHb}3_7ZMv~y)& zKFoE!_F&?V8ctWof?i$q9wt#bmaT?gTG~TAka70B4NBnqprMP7$2_Nc&>Cm$(dQcW zX537mVd`iOJ~DoUKJv)D8@z#a7ya#yE%wBmxOjtb+xReo@_c$;hvHCWvs2ZRpbR&}I+a?nfcT<(%p+ZFif$l4&nS%28$&iz|M=b@5RD-lu(WL2DzIxO16Z{Q0D_ zR7Emu%zu1tlB2DdqaA1&b>EVKolE_G7=I4i8EqQ&G`0KJubPR5aTvSMb9{fa@P`yP zzo4;9TW&Q*9a-u@XTfW)%8D$^(M`WXOh;D3jiqDb4z6Xy)>J6Tb9ifRe$rDR5}Bz6 z0(5XrNB?|^eC=Vcr3dKX$bpR|_mAbWU)>fVYPTugIQE?5LYx$cy%Agd;E`HhYmd>7 zWg70WQdjOhFqcFb)m_m~qFJ0}zb80lhcxc* z>Zzy4XWvwiE>J^N>~dBCv-rQIF+nY~UqW$jDkkkau zL9a{OTui#2?lnA^S33N7d~ytZQu}-=<3WOjz7XG{R{8@&W`}qL?Gd6Nx=u3PH=8B; zo5G+{ot&WbyCKa%wVA@&UHLzRRy!W*Xrk0|zpa=xRx9OWgBg`kyonY=flsGdQy*p%hvHRhY z@WBw^poqh*RfFH9EZffI zuh<^e@bfQ^#v<p37pT@w7w!A*{8&(7J~<%)qkwwkiw3sSzxr1oN` zCD0ENV6D9177$q{JVWjgYp+D6+>ar%NcSua3{NU&XU?Z?WndD zs7*r_(ZZBL7bW!g+T(B?aVEJlx$G3FaREmhSGnGuq7_+4At0!`~c? z&PX9XY;adC>zmmK1asmxEs0@odwJ05 z-3y&w>piRzyTr?w1hZls3To)vsq>exzxvnEQafpl)OK z2fbU%S`q%3@4AbHI7M1ClaUh!s!XkSA#$WEymnHBVphN2W+n#3J};WnbB@7=EtKAD zcdRGI%WQ2<4hL`de5=`_9DnfUTGzFN?7%blUqWUJS;cIHrh;fzUg<4X_Lv`CDf63l z(+6xfvfVfJ&^)KCf3itHfwwL%{t~40d8$|iVV@v2=F14VgoRJT?M3#vhq8?pQIKNNv_w<+x8A>CcmNa$+zvV zx!RcUs+rhZJKDiafY;gIehkp=^97M#1hA1%wSxnVVrVIA4Rb`ASUFsgm0|;)@EF65 zCHRem1O!CIgu$YGMj~KCaUmhFm?%F$Kp{aBF;hcRLlKzKTR5NkUS3Z8f~>#=Ie9@@ zA%1>2p$h_Hf)|B_g!%czMTJC!Mc;mV#me5n&f#XxF<$3FIhu1OF*^@7YaGd-m?x zNqhJ1+qZw;zP$$y96Wg70M&LZ7NbmYj+OK*OtUSECq z-Mg#pUqCebcZ==2Nl8Hi+C@V_Nkg$+1-c8&B9s(BdN;p-cJ1CnNwN39hd0TODRzBB z0op~eYuBCwz#c5c?p*+TNU@8OX7{)J7p~eK-DCJ;$kRqP0X5p6v->U@*$LiazjRDU zefGZnZP@9V1Ui}>h?MV@L_x#s#DpG@-w*T(&Z3L2@LR4Uj)W~9f{r6ZcVv}4lb=> z0V-t8)avkPzn{M!vO8QkL3I+SpOfX!TH*^Bk z5(56dvY@WGbfEO5hFMSP!jiBR2f~cyyivMZSQGo?q+!Z;UsdHmpnakIG=hRj3gSN* zPdO8iwy*k_Fq?vH&4C@u$m}Qrhf9-qjdau`__RfptgNhj2zmUCd}Vc{MBm7()ZZMw zJc5dv*eh~lwZJ*hA$=L>u%2^0Fv$#RY(t?#*+RKWx$lH&ONb+xVf?Dn^)9Q_TS6;2 zs^{G`Wb-3*%z6f&R+kzxX!%{?}GH`Q;2Qk+Ot*l>Moi zE~{y@7y4{u(oBIgR~F*wfLkb>C6Wd#VoeqD70?SmA-{maH1LK<78Zr0Sr zi%iX;LZsSP;H(}6kqzUQkhz)6yq@H>zXqv&;_7!_S@rhl)r>{5s|K8&OUXA@(ssmn zPF=~v?;nN_vRp>^5o?&}XEYTR7*;YMgE2ZzUsdf6-!S`0V1C6XRQM^4lq+XMG$1r+ z_*;uId9M16Mm0$(^+C$EL8{LB{7fF<{g!;03G2HFdw{aV~e3i2oBrE7%HrQ7+MB;5pkP07T1nKtX!q;1fgYAUdX5a78P zYyu`h))1rI#uZ={kvp~z5}6ua*4bLd>ih%Wydky~>>@XwnHPnkO_42t0FifWkyJ}Et}Qzr5Ja^N z`lg-^w~*jD5xWs`i0wL~Wv+2G0~i0at-tC4ggQ$NvZuqLz>PhjfW!h9P}k&NL5cT; z=Uy2{@x^ncHP=EzGI);%v!9RrnrM+fE~4s0vs!8sVqf<14o$)${TKJEhIou-BG^QS|hs^{)#KKyzJEN0qi zgrBVmA1SrhR%d9P=?ak^QtW_~auSOpNueh3%wTs}sAk|OL=&oHa_=xgM*ty`MV})3 zOiiSpEt^Km*LUz6AkG8`ba7>NAc*&Jp6i86ocGimV>P2y>mY_1&}*@hWqITJ3kvo6 z{KI!=)lqF5^0Sp-w#IqQI~c}_V8`3Ml`ej(W_K_=>1;Q@8p7?a0-Bm0Z9~PBkHy;` z&pL}o!q zwo1q}AxJ9VyjF7G>O$VDyqN++@8e!1H7QP<#WfkGwJon$KU*Wk^U^P1crvTg%!#?j z{YFt|v%cE_`sM#Knzm_R$_|g^awT#|a5twDF}*^j)w(!o4OFUP^E+1bo3eBFh02T? z2XCs?_O(som{XV*Rq6GhYS>=K0`#IVVJK;Q)CYSFcf*VQeyISFm)Z82I<*0=T?e8{Mb0M9zILnmHRO_!S@>EsLuK4KK)M}L~ zNc-`%Y`DK<5OXdGA1gRgaNlUG>FoOuzsP)I`O`)IO+{Qq@FXfMjN5)@V{@$Gq$=ZV zikVuQVw1^-ZM%;<($-{4QLeO1I#do=ib|pey z$NReH{dkTn68;|VQ zD?R)pJ&i_f-qVOUN$hIcQ%C;z(8?T56qg+7v5VpuEYA64M(MJ3W;~c=Ae#wKE8Mt5 zS7@A0LYLb#@MNhi)G{_TnveU*UH&5b#apB(4D9cX_eXD;ldjCAr)qan5rR+mRqQXF zX-(+$Zwtw(`>=xmpHbFnV1vLk=4e~U1tpG3>J`Eb`vDRQFmg^#EQ^_y1?$3BQz4#* zQvG1P!#Js~kX{11^mL_W_Oy+0pU9fiSV2C&qa6olph`B;|1BC{;xFY%Zy&fzy*`cW za^6TmKd>01Iz?Nnk8d>D`Ol%1X%Jh35*ctIE;%cy z`U)_JByeu|sOZ_pE2-6iUhL*g0tAB=eXl!}nzK_jgDbp@8@bQa8CxB`M0&i&i2~0f zF_@g)8J5^MxL2h247S8Cc|}uyO7&WSM=oSXtMD=M6b2lvdky?UXaTN1le`FxNRZ zIj1qCF(IC9#vv8MB`obXq24NlY0^6EXKuE+PcIWkIM`rUd?V4er&2;;w>A*8sBXu> z5k2VD@;X3_Y#XjfIhQ^veYg2p%w)~EsR7hhY=2|Y8dTVwWqr?zjv3Qdrv8KKmgkX? zL=Fzl2hX@Zn!LUY;sBhy4hNv40G8&v=D^aNZtEKd+gX~6bmhi%H5@Y%wZa+yXqMc~ zi;7}bY67!-|9x#=Gg>S|C_db!(%_1J=sjm_9HPf}G+zvdK4GFF37b8Mqsj|VsAoDu zUZ~R@^ijq# zRWP#~M2qdPxe|>yy2VYA;ZZ#^IuZvk$Edn-F&`&gpH=0zX7weyn4~y)SQe*gQ3zh11!ddsYO>s9u2n`Y`$BYTt%hV ziB_gn7hE#GqZ2kGQRk%&=L6iaFHub+HpN$CsgX24tUVTX*Tgbcg(=s6gUhwa$c-B- zc+xWOk4Xap?eBR|%c!4iJ{Gx$3C-%?W!qtk*A)A`%vhk#Y`cO|oT<|)b;KQj3VX9m z@733w>KrWCUET5pTB#Vj_)v2Q62)}yuDhK{)y{T?$B!EYnf0a|S_ecS`1_*J$HV~y zMk+w}B8#to;mJi_mU?0}w_@B4y`rj-&h7@$`KWT?C0>8m0IdyqaT84ZKJ za;$x814DI7M@K;r+&s^*YRvzqKPls1evI#ZHBA^JN=N=5VnQ!V<7`RRl z;$_L|OV`_+hnMZTHTst3pn5uT|8lKATijs}&cMrjc1@kiRXVZx)9Q81%6RVC0;Se7 zTyC=g@=q$S-2CkKI}gQ;D+74v)WCzI3(>&%85#Cp^NMlTS%Y3DIOmf9g-c6KdG)M% zfY^poB3R~ed97+F!0GY)6=i zgH}S5W4cF$-)JWP1e-mUF;E6qLWy;BDX>Ez;Nqk>TWwzIsCqyTYL`g@v~!b-guzn8 zQl=uHZ=u0iF>r|uXNpyd6_+UyP9v1$5;M=xo%)k9{=LWaC0&96+$JdpdmM>7`bc!I zkXg0v!d$7VT210#0Y%)?xT*lCT7OSSB4Cen{EBsw0F?fA@JKPNy z%K2C)j9aVSY^|^a3+N3G%;98{@1*%Y{JYBe*Wf_%jas5RgahP5LC;W2czax+?Ccy- zcl`C%C~Z0vakNtPyMGOxzpJ1<%u7eof-AI^XJ>b`c6KuxYgMoEX0sTb9GH-n-Ti;gOtAYR>*i`u;tzalL(0`hx0r^gSmfz(hdf<vmbAW3@*RUOio^U%btZ50LZJxSXFt$u23Rgj;LgS&2Ga|OE?pT3 ziy7k*#71D}=Ja0z^+mmO-kR^7a%cQ*825Ex4oBP~;88L+z4SpTTCYs_zd?Fe%ubnF?#!d@d32#Qdh^)%5j+KI?1A z0mmD^`^>jr<|FxqjByJc;f%y9ds!rP&59xm&c=ZU(-(j_qTA2UH z?^#GfxXZyZ&AwBs?WadP3lZncdcebxs_R-*FV*EWRS_OiZ7W>(@qX9m;r`=KsW!I` zZ%SvtdT{tUgQq5n^M>(d+LiF-)S9yRTWyMspXCK9PU`0cS(~Rjz8pE|3b{lrrp9@C zRZIb+Nqa4;tjh#FB{ntwf{XD*KjMXDfw);&Xm@K|mP9RvhcvSxOmdA49SP1Bwsp$O zU{}=OV!q1Amh_L;_dhIPAKwo{$=Dd*d~rliiWyWCFx2glB&#sy@(@%)e{9OQOC%r8 z*wLsp9`)<7IqMn1UB_B!6`Ikosur&40tU_!lw|are@#wd^jwKl1AN+e*>R&4EqxoR zhwEEOtC<()OnbnQ$*@ zjRTwebQ_9sa?xSYgwCPBl{D{qCNih{XzG(#&zW*Db{GNHqrcDzSU*v}Yig%@-PH{k zOx6|kt^{VI=s7}QCdbcund6YUGaFzsKT`OTsI#baj0_fx_rJ$O3o2X#+iJ1U}X2(h2?*Co$6fdDk)2 zH_?S9P_5aSWVUjx;ZYO4KSb^ecwn;PLv18T6t@B7h-4+^CGD+Dp23t}+%u2t#&d?} z$9^XyksXGJW|sj^wzN?9+pPNwyxh`olLLj(iJ?^jojwxP>q4o4=h`eAN^J#6Lr@k-}Mz5o(@28Fqn01d#p6)>2lJk--} z<<`$h*fGP>l_T4#gBh!yeCQ3uVI=l)l=+7p+6+(Que)rPM$lffb3rND;Ixt)ptE6B zt!FDsx*D+4P{$sJ;ENOY!qUB%wE)^!6ZC0DRg+tZBD=`38Jyy+5oK zt}h0Av(nGupxmjjd-sNkoO@CNZE@{{Lxx;e-}7f2d`V|#%?Io2B@<@r5P3Ao&sQ?D zg|tFUY=vL&TP;J7J(1%D`xkh99TBWPRkn4Z1_T4kl&1bA2)(TbeLrVb>{me*php>6 z*>)n)uQf!qzf%zfI;yHuOT6uNT*lq6a1EQIs|bK)Q{eRNaWP8LT+{{T-a=>57_?wd zz8R+LeEGLS8L*kQ;RucjOnE!GpSXL7l~dW$&Z{ykys#kUyao4V|B6}J0DHb!Lnxv6 z^Dn|eu-&@Wy;;r`v@eQBlk!cIQah^zU(Wcq)+QKcA^OD=`!kTt(exHe%v0RCbn%lt zuCjCJTBQ@3G~a>e7AcWXhH(=7pg z$&A%!VX$^nc8wXzxIIfX+J}cDm_KE8I99~)g7X%DQMKd36H?K7JZ@tv7Z-X}LTk9?G z(dCZ}zM0psU9p_63sof#$i{%Sr8a&KF_J;F3%(<|aO#UTefyyC4xfyTS30bOlM>3Z zoY4x4>sv8e#_HPo+hkd0q@JV#j1Krk3%5`%wW?0M)0(yX^^fW==?#rX0G%n5+?ia{ z=r=?NI38sgWzU>=d0tq@E8GmpFFv}n(Ao9Pva1}|n&r`6xMH_R>zV7m5 z9{snHai!kTTUH%Af;i{@*WEN%~u!zUvRLcfov z9jhEIc;$ilS^7+9A~UQ&eW2N_${v5d2|}3UYxeHx)_s7B##~a(Dla%!x}-THa8lWM zX&Y3x^lSwZui$Crt>%uLe9-19L+I{|bweI{g3In}AI5|X#~Z=@a6SX0wOSL+Yy4s} zwWIYTS^b{$4_uHEb}v_hldDLTPZoOShl7ng>0@2IdL+P7IdH$4IwUKp6>HW3_mgk6 zX6?_4_rq|~^WnI!1&`iosp@}#y5>7^Q=^AaQBWQ`I;{{B->G*JT?7_FAlJ=5)sf&mr1rC-|Bbv{1B$tExy~!(RbGuhnj+7oYME90 zNYxK7&#GKOISBN4?l|C_yyAF{pQYK+u5#@4(gbSPt*NnIsJ$}SRpSc_g%4buSYq@&W+#BVK|UY1WX;=_JVS5urX^L*X$@+jp6|Z- z+myqiW5j0KA?HBK0#nTAx>TdBZ*>r{%N%Yoh6T6ngQYy%o3=sGq4hD0VTQ+c9L(8_ zIKZI^WqN6BI?pjw>*y^-oSP%j)CD0eUqCBNjLE3!agXrJQy8d_5sJd(J(=bkY!aR_ z7%X_Ko$dH1mP^0k_5aJswwB^g$g^Tq%pp5{WM~TL zBV31m>hMG^7I|Ko$jYJpc7Wh*y-{Jwd%Je4e66d0zSFu|gh6$|S!0-HIA_#P;hq`V zDam!XE!ya6Uy+2J2Be8Rpw0BH<-BP}fKd)7gcF8tkJ^gOOfZX-u9CabhU>t!fm4}%ZKMp&F`U;DO6qD`eVTufleq26-eb#YOt6Gs0q08P zp&>E(D+QLanT!vHdItMwU0Vl(q}v2o^q#DEPD)J>x`V^TUM6FN5#%s0I45$L7qkJh zfPxcXr1XHHs8qtG;Ur=W49KWvbfbk`lPN_mQN9}yi;6?hO_imU5tpOZoL7-!;kJ&* ze_;)#P<1Q`r0LEo3wKqJbu|H^E)>pKi8@VpxOglL4k2tMN(`v0X{L?yQ)-jk)kkel zt{{cBdan3w-td|{l1L}B85g#e;IWvqDAw9JjB#^Ld)7FsnHs}y;{4&37i9$BMLRX| zp6ub9^7gM#uBqFgVk+SS-IJt^{CV3O$`_qGfhOfB3z4p*zUXnunpJ4&f={CKnR^Kl z@d|n5_4xdPQPgA@ImhK-=sWpl`H4tmW-l;+&shlepY$6%hI+mM6&_xXDY1)}gS8b= zr?m8TMl_>eY#n$t=e)B7jYb;m3*GdbEUGSD3bwEmh##3Ui&a2tLKPvBGRkk~E##UV zk=!F6yw@Xb7Y6c{%sqKHS(tB$caWDLp!ZcGS;Nh+#su0Rbcakei)%a_bLJ$n)Z3@r zrI|n*sFfIgUctnWPAmf!W+Zuv<&$0Vy+JEBgon~i>w6>JOpJwt5oSGuP3(89UIeLqoaV;7N@NcHI)~RUCM%ZS&ZieORiXJ4FD=Q|I=fEbpdsC4 zH>y(&^?hBFKD~|B*YdfC0f+BrheqdBvfaASTH!afbj^LdEqWH|^?{s_)-J z<{!y2%?$)^db}IUoOe613hh)y3~Wv&g$m_@GJod5$JBIlv;q_(@dnoTW%ei16D_kkxH6Q znIGq(0oG98Uro|+hv@-&RX6H6A7Qg>un4-E#!~$pDUI3cU4^s|n$br%oq<`dJnHU@ zs|>NHGgcRGzJ#efx8*bBS`EW0^PioW=oTftZW^(FkWvf#gJqTjQxS8bx zp)~e*Hjft6$)u>N?(w^}As`d&ZRt5a5%TEuPE63K5)PQrWEUZcEzf>d7euadYb@m zvkjWuXe$hBNt} zUBvbrp~);nScf-ep^u+YGBn5ba1oTCs`0_;NqWEv#Grr1e5*ymr9)@YG;bNkgnEn5iZ;hu4ipPU@&kS0Ij9JJdMM}U9wP-Q>Oz}}5_#nd0KeoW;LF-{h#cw=a-QHrfoRQ&|WGXPPFMPlHs29$>&!A7q>TrrfWWS zA!?>pZ%A%vHVJrJb$haeTk7fi`2`s{`VI2=FMP7~|DKzGGnrT&YGrs{L5BCjUXfPr z$y}W%F%7d4@6$LX=Q_bkCk_raG8(`X%4Y?y zJIg35YlngYllA{2?eAzwHYG-8z+#{C7o04a;v6;d^M{Tm+2^XkL^39wt_DM+JSXDl zMuMxs+Kl@j0!0Zz6g|7HwhBrIF)k|R=LU(im2h|pp1Yj$n|5c;2n={2lfAs~^?eK2 zTz{{)a%~dptudqUl8o2|VtI6(o(iwwER}PU0FF>#a7lzGtE!4@6Y~#;3fUDt4rkb0 zv#De8(^jkTlB)4c-;~tU!L3Y=h3BfSQB;Tis3c-b^OKxn-y&2@B=TU*ES(f^}W zcA``Q?fyDSB@eWyAc`%_Z)!_N;p|+UhgpU)76_zj5O8|FARCCInzX}L7`r@JUrBt- z;R$xj)zM;y(kCt`bk$o(-24p>NTeUxb^vG=;OyGjUhQfbmF^pTj{FMB#0EEnfwD;! zomk1es&hzoZcj;%#u}NuwvImo4H^CNpKh1CvxL)dH@UD>gb;sg~?JDO%ReZ;ED0a~+wx zVx&kkdH7qk|I?f%z7TV8+)58n(;$EdJq8b**91JGUxWkU0h}sjltjv&_t8Seu%|P8BZ00&s!YR$|KIx)*R(JxOQq4LANfGhaVOb*?MQzZ)6WsCzZBvw6{f%ivHc^8V^!8lCzAl z%Aa*CJ-)iR2#fVcHdrL~%#gdly(0l6`m0bdL|irN&-Xc`TAxysI-)j?b(F zs)R%rdlk>kKQkJakH{dEDaj?c8HQc{5YXRrML`vh^X`ZqBxMQADUs}6Z&7F;wnf(D<~mr zAGKG0*j1dv){uA(!qM2!9dx-qvqUe#85)(SYo95d32eJyUfg_B1eH`pMY-R2S;lgm zW?)0XCwwX>R7L6z>zQUROt&(X9Xbz_XcLvxo(A^QHx>tneG1h1&5roa1-5Jzuk~>Y zCju@s&Z&R{S|ym{zpBKae012=JAiW{z7U8>BOR;Af39z2qol z!sW4&B};GjBE|Ippw16&cp)k>7_Z{xf^g*TJmUKj&XAVwu{b=UL=A`41#>%RcYs;sbsYW+LVo^} zeayHSQ(y+>=8~!O;w}prH!y{1zcET?nuB3<>UkNfHg8tf28-aib#kY+bQe_b1CBKo zlgmO~n)gavR#GQStHVr=eZH8Fp8luWfp-8tuO@i++Ph3f4E&x*uJBanaMlsU7m+V( z^SXXOZ;8jq+U2{hols}CS-G1wHI(HhZQdt+n;K36h>busS{0543yS^i&M1^V!&@G` zSdBARXBu29Qi$cXjOlr=QQak)Y^MQtnbvUqg)Tw10?qXNY24X0Nkj}f#7v+Bn;#wN#)`1VEsQYvr4u> z@w`S=kG&Y`L>Jat+k)h;y#dLhY}6>62RIxUT?i=Z=(M&@^EWF3T*d6u)W$`4CY?hf z6pi~L65P1MxznEiCumVTXOPU8DkeRJi0htq0}ioJ&aBfDFhenoqdZNLf~=r#TKqL0 zKlck_4&wAkQ(=B;ZSpZL=o09fzg+XXx#c4QXx3vZWBN10S4lg>E#Yo6tMCViizx+@ ziJNUbr`}!9yn?cS@vC75M0?gW$hL#S4M7-zzG2Njg7{zF(CG25kI0c;(F)V7^kOP| zQeFkmdH4nv1wSq0PTWIJVuS6=!Ah2C@pSvFaK^A0W^7EuR%A{?#GvltQaE=8$J_S! z3s~$%S^y`7KsB-(jOjarT9%KmX(bqiO2{fm3Udfr47Hlk=ha3i8IPcRl{DlQJ|H0j z`i%6{+3~1&`5?Dso%Wg-OTAF(s0T^fA8s3bh=fgDL3Io%ixr5kF$NRl!HJxkHbQSG zfW>r9sI&C<4gyh)vU`1p8_oHMbsuqrAA=%CPq}L5t^k9}ak`;G^;0#~d}x2-~1U{d8jZe!||f zn>5RUI;e-AtLJ%9y(gMVm)iTx%J4v zNJ#s=j$mfBWb0{X6vW%mJiY-qzuI(6b28O%_wKd{P?cB;|4oYf%S1f59#qYzscT!h zA%p_d+{V@R({|&6&&2Tn%fP8iZ==4)Jr5-l-7Qd`@%yUsL*yOtG%c6c2Org25`{8g zkJ%XDe{v;w=-%#D%nrm{zs850 zo5~UwfG%@*j^oA2@petIa79wOT1a=g17Fh*zXMv?z1~@y6`s9xNjODX7B=06@xHEyL*+tSwThY0U96Xy^Z0t70f zGLcE}6~4Uk&sw)OvnscMSQ=^Q-fYshpflfmRRRov5LQ6@@?yHMU8it+6Mb{^W_A3Pm_h5Msq~^ zZ1z22K|)|)$5*s)jfJ(s zfXPbIZ2H^@vIXmVX&~U`ej$~=YXj}kfp0c_mJJeM`%^A3uar>?KHyoR5@%+h$%i#`2 z!_f}a;clt$_5A`HA~GfS-O^GpI!mS^pHOJLSA)Md%TRu112D^SPR+WOxz4+qy}Grk zD3|x%8b~f~H!q;&X`1axpTB7|^fUr~pZ5xSs(f-&t!EqppDehJXH+e@FMWQkFXs65 z*ShpSLh?63E^Si#C{Z7xT@b~w6g9Plz@MGFbVCK3ZG>U0KF6p4UBDxLGu?g<+`;u! zf_1pJ3L1UrXzGfwx6oGGdTTrT)ql}7mLjU(U@uQQqUAghzXfoHfKBDc=k3h3WTXKC zgLWVPsj4ny7BL1Bs?}+wa2xafS{o68B6|{r*usxVEwM?YUaCQ5* z;(IEQx23r9)6&v1R?XjpO<_a*y)v2ILu!n~TYv~%X7JL$Xjq+u@u05b);XgWA21$o zKY#s8`ICUNZnq=umWv(s^5_Jx|LLCJjsT9>sf@G5r{{${{sTP=3%kS*>5e_pqgr9$ zJMaR(@jU#aoo(6=!T)ntdo}&GLHE`GYu#K;Y{h)v=94g3@!5~cqvUkXA>1g0-IIi& zg1LpcM9$>(i~}4!F3e7~`^=pTd7Y0wd2>Ua2%L|VSB+pAx)4;@ZD4Di?9XvdFiCc2 zuQC(qWE%jD62hwZjy%@M;eERk{5xPTXU{F$D%^OvCPeQ44MLqp!Kd*UlXJ(fe)qdK z|G7(w(0+sCEVYZmWA*09ZP4u_6TwAXS6^=>eOM|(Nm+#ZjYwF}u!VvuOf4Cut2aP^ zYNvDqcGe2_m5ypuNb}d6`GdIw*k{%;Oz)Xba!`OSQJ&zq(fKk&5m&MbXG*LC&!Y21 z)^&ae^5PC{*m?wOXM{~pCa02Z_T z6XE3YS)blp(wtIkcKlTF$3%6->N24o0uDI23c4`vYn@h;x4gpj+(RU6hp%U!u>?*J z;mA!_rH_2K+wmdAxu!&qJ=HS{8tzNt_Cs*wlehkWLz1ijBQX^$-z&_)WjJdwS-ye& zktYo$ZI#)LS>|iOGKK_brz7laUKn>vI)v1Jj`UH^VqV85I z<#W?-Hu1iHx^pCEtsr3anFSfHrPlT107M+vABi~cApR!n*aNc8CtNMxz4^CiU@j5! z>Pv2eSsDmk)>+bK_Oif7qS)&~GYUJ^Z4Dw$dx$OqQjb8kNnLKOP@a25bexwKBDJOm z@}N$uj1vg#3jGMly{6;tI|mnbWrU^y2N$-2u?==mllpWumufd;ht7TBel|8X_RFZN zRCx;@ef{=^A-%+1a*(CaJ5tAeX2JA z1@*=65o|57I=;iohYPT^W3?U7>J1WLYDct)%@D@Ic~mN!aJ2Fx<>#C!8;7ZbFK{ld zXTw~(>Fd2T82MaWy`_?~nNfoB*kK(b(z;x?)YS3cB@u0v z%t&xM3pP50wPsCY8|UDSb&!j3hNZF%ucCXXK)KZX{2X=+gSM5aTwke>~Vf zj;}sQaq8v=_50T20ofR+L~C>}53)wDo5Ug(nS?L7JUUlr2OM3>jBP430$aQD8pt{U z8mz)ku<-aO3gDQJxyHqEA5PQQJE zhr0w4;s#xIT(;hkabl45qI9cv3e~DN1dU$2XLJNqjua!sr&;DolA#7neCg-Kmx~-w zS6@hQQQM;PpCCtX6>A2i^jARtK%jX`9nhB`*?7%h%g8C zQL1jAuq~*~f3uO2XCHhzpC{K;NTj5A7&TeemEG9d2B`Mmmw3~Py482XXN}R%_!;$?=UZ@K z2F=QmPyAbz#Gfel{aaL0z03o+@CpY}vHH*HHr~eN2E>}0u1WAMuS_t&8q5r9B%4;3 zVdexzgE^_J#L`L5&TXy4myLC1b4v%X)szdKKHuaHz8 z->q7FGS>97s|dwQhLahwWM;h^U_cdib~Hp{dX^${Rm)x!pwUg$VeiZu>_`wciqPVo z@k|J9Wmt~m5}=hT>zK#~j*XscWzG9Tx#eBu0Mp|Cu>b?2cP*T*SmzqECR@Ewzr*Yk znY!+Y{8k=%QbQXlrH)!LoIS5+*`Yex#V%twvG$A~*PC7C&+Or_ivSYK)c~b|rgjPT zgrhAXp2t2>&U?4^n)#`g_)83#H74q(YG7?KoyS~%Z+H3L>;F)eZyM*#x{<%$S5f1w z8z}U-Qr@>B8`{vgmaU5@!7{9A=T9l@kJ@3zWdV~i=y|fmWW{5KeB(b2O1xLWPqo5dB292~8`KCehDy8Pw~u-G zuHVmR{uc)-h~8rv@UAY${spyma&d>Ikn-r%V6f~`da98Rb%Sz#3X9^)CUF9W^Lb13 z{eGFAp20bVgeNxRO2_N=ilG+0l8a5d%BaTr@dO+uUZvO(zW?#6la_$&s6mQVfM#29 z59iw;E4f{!e1Tj&N@#o_g1gfl?w$4MV-_MpY7G1%=URUWImz~!XwzStx{t5&D z_sV#0VC$`u)wtj-h`+T$p94nkA~v14+)3;v31-wVe(p^m5XUr|tyRe^A$fcV81kt# z2n%cgu^@{ch^PgKI+S%fT-y05m(vjfM`DB1LcuvOznF2+WmnwsHmz-twR7-Yj5}DJ zZ9LgS>9mK|xK(ZBQc7*+;w-oNtXj)Nljpq`<7Lh<2=CAw?-{yqdv!k?o@!^xqUReC7HdfD?T`@miltNl38(}K}Vg0 zx`9)-Uh*BX$uN;q3$0f79aABG|4rDmsBP%FSc=XT!g2Lm;B;bplUp{VX&s?*6+z~! zjR(jA%%CMba@Ht))!{bO28*+{x*olxT5!D?cgO`P!=a68Yi+BL7t^iGRj9P+B<#g} zyWm_{PG71pimfnKoDhhgwC3Nimx@UJsbk#WXf5k;iOyWD4_n1=u6SB+s-t(H$qmCn z^}1DRb)BG!=YRO4R{3kTg@5$*|MxzXR6KK+>XgN75`zLU&^Nf*o)a+NFAfPRlfZqg4*x`{D|+fTUUeTGABP-FtFFD@|JO zRO7Qw=KLZxM7!X)9@M75hcIUnIT_>`umB4xl@#(2%_!rufW`mX^MAa(1wd5Ww=hmg zTxn56x24QFz7;+ex`Gy<6_`ZAZd+-0= z{~b7U_Bm(A+H2Q3tM<=J^JChg`J2f$B38KJ2#{={Zu%NObk^W9S?RKNW+}bDQBvKj zI@}^BlDd4Z0DcebvD~)Q*g3eAT^b%j;8kVhb?N$QDdErkt%+=A@mOV-83caC?<9yh z+{iB5*-1v}RsQepe{8ldd}!_;zho`+w@fXJ-?<-jeM?ST95);W7b0r?VkjEA(oyi1 zugz$bMFK^z-69*4v8Q;Y*Q9LZ%I3&^I(?!`sfy}Ffj!yB06c@}fq&@+gs-|$iVhE+ zjHf8^yEOGX0tN;4(|&IdaD!)$W^G`Ub90zgOz2s25rLZ973HESz6s;$!W?_e5U{?z z_gKA+)3l41(%Al|KI6}RLr;5@?fR_mWwOX+?R-bNW(~~Pv+BYT0QIsdGuOUt58dC| zqw4LyfN>kFZp{*e*_`g|tkyos2~|ANJc#KCh!^Q2SHneDJ-bg=Jt13dxUba%$s)`QsaPn=` zyymHQ2{82B!!8m*qE&bF9`)u)sdvP;;TOZjMoh`(86@ox*mCx$MTWy)r?O2T#?I_^ zjd44+X!PUHK~coN&Sp7n656Dx_8qQ2JG>vx@VdS z4yla(u}?8UTjhr$0_KS>CG_RuGt}akstMdv~kDxR~lQ<=&!h<|H%7)GJw0V z)@&I<+1;7FQWtn>SO2&B{D`A=w-#*JA?dS5X*VvexS<3?tS!~J(Voc#eU7H{2aH%= z)rEEAn!53*@2uOMLd{m-88=ebarZXY{_bN>WPym*`I$KKkGSR z%;gItlD$_vUzaJ9B`If?TKgNm_e-5!q=FtcDDE`Z>6#@X(JcHTe`d%Bmcd^SIJ#Gd zTg5~qHCxx9n#Nz1>RRu>WH9`kmc8n1#jz3w@2F)9ZJQNjzZPMaRQjXMztIcn_l3F3xRD>z z6va$YK(bP5_PwErA^-SU?T=9uZ*C-Jm#WoZR;4@{9{G*)vshl05UXs@ zU8t-<-LD>jo}RBPEB(Rr8KR8-+ zJKAXUbI&oqdAJTB7^WpuS!mWfPfrCSnoh{OAH<-XYs^)_`kFmO&5B8^>-}%`Q-2$V=kqJs_6xV8(9Ik*3hOs!?%mf0rnE$`-RtKj;&;nSlL-W5a3u`8rO9x2P08hm+?pd%o?r7MJe!=~K|jz&VuBPQ#yzw*OHT zLeJi4)Pg3u&_qY&Shrw!9k9Zo_I20deY+6VwFsxl66HTlgBxL*XD%c#XGjUh4oaPLri_BT1Mo#Wn#Ng(^x zCzPQ^;w^sy#gbiG0Ow2<7YFy0nNZS>It|1$qSjmeH~$gn=y5-FE{<37EZVl$_im|+ zg=OB?{eUSFiQ2DPjnpWi&qKrTD|kz#ch5WI-(}KlrrzkIMWnyhrbMxu)o} zyczyw{AeYT+tPP-F7+>MJ<;*g*dh}A#**HeTMnl9C9~_T!E7gJ^Z_XKrsjpIJMPg! zIT1Gw^L4-NYKoDJa9ls4g$Y(Ti?`SEPkl;nqNgEN)dI+U&W zb?f+iVx-bvl=3fSvpIQsj6y!qC)F@$F6jBvY z!#6G2(f)Su-5$RhdY4b@=cpkFel_)O3nTN;lH90N)cGyK-~OhCuZdffpf*JcP3l)m zEYMZ8b!60VR7qMf6KKMnWZ=|KpSPGyj4a9h+g$!fUt%R6;tC)nSt?ff%9t;X2}i*RJb(9~u}T|DN#EDSzKhm@k4}dM>=_zIJBImC zYWWL!wHqj1&c?|5Pbb-wCK)sTO)K#!`*`X;L*hpU$>o`UYHMKAEUYX)>wH;x@n2ApHiMK4Ur1c8Eq`e6 z>?hKGkv?CUH(i;Zl*b~z|5r*9{|4&+&<#d55)EPR*}q)No)ZQnK%)8IeDfp8{Sz$! zjHY!r;|}j*loiLV=$HKgM;l7?JAxAZ-aMbZSJ`S&C5qBvef7}x=^vmG4@%6NtZ-Tf z5aY)XR<%@0aZ1Ae6ZG2e$@%3%dB;WSB zI_8RfO8<=VF|`DV(SSV^E7!3n!4M@6*Q>N>GdMymx=R1dKx<_z!zU(vf~Hfer{vPZ zz1tR6EoCXA^g9FbpAr8wgw9ieaznC-&)IN8y{HvvTX2=pZv7W~um5QV|Luol;)<8- z@ZYQ#f#bBT|BoF5ss!yNr+h3g`+g2+bTtR6|40FvK$}wu9OG`r)>C6s8-^}SGfOBp zCY2T{{kZ@1xo`^`{t9W1+kM{yK9sYaYMpY*Cl{Xod2;DCgYM;?pG#irp{*ujC<6k8 zVv5Sv5rf({;5RdaXw-)JbivDt(sU# zz}(7|^}}$ZGli&w8St&=t^*;D$hEaF_gHKz%z5Ogw`^h|Qx3&>k`-E_B9q3+!N}$M z)O_Znw=Svu#0gZRQTNRI!WL+OpMz%o!+5c%UJT5xY9~eCvsI54D9AfMAmdaXozu)=n^0GA8bNnX%e<^n%`uF1*UWWR6NhAEJE;-vVc0SE^YcBfK z;2L<}nUw1cGZi*_=zIHo?Q@vdY~;?oGGH(s58kSZZjupENRo#kGMQM|9Hg6Z2k9zZU1ea02fQNW# zj3u+lXj559;x9_e$b5N=`X8*cQ6NbU%a%2x?>zdbP!T1Zo(?9>Kh?7>emuWYd?nDHVmDO4ox+Zzn5?uvD} z$`Z=%gc)Ds3tmb?J~<~!)fQr|Cms)FxTsJL8vE61S4HFtJLhQ6-fv&&%FE}EYzZxQ zDb(mDEVP|1J8yq#U7sZ5>opsYRjSQD&QCli5VqIfY!4-<+-+T%R7p8>s=Pa7;8msC z-bv4|Q!Zp*$|6AX{J;qEdG&p6t#MNNmTymCn~adXRmfvVlHH77Pu!?Y98A?kQ{uI{ znIF$oh}e|@Avt&Mr|+}xPt`{}3fVn=#9q29qJxE*>PSC)jZ+kp_1O7_ZslPd@xqmL z^?;P~!$t4_XaqkgypHrZfi(1SQZZJITKiLy5&H`}WrM;#>tAvLxUiDTibI4&hchvXUTa=|6fJvkT zNmbsLeb~I0m&f_xaUjnZz9jYJ8@IP);l+r4qiNPJ!|0qi84;7?cdAZD2Cu&;$3LJ} z1DsFecL4@tE~q|^8A6LWgm|j?4nYH-yEYPv_55@MTb7TXDQcMMN#=Oa>VAhhId7~= zPo*7KgU36*9m`FnU$IZQNepLRxy@$6LH5=D3kF=7p*0!DRm*OQte)u~!Xv)snI z5ub;?MUCn2BApMo+8dEtG;b|j_#RWeoEcg`qNYnE5)S2ilqAnEf z&-C220oLwbX0BFfGL`^yD>~)d9JH*=EPY%Ct;EsLFr935^xXB-)kG}-j$CH9aZvNM zGb%M2nz)p=vzdjxl{=lem5r^F1Oue4lY!3GQi4HOK>ew@vz*l%TP0stD{Ws59SdK3 z3lU2ODM>nUZ&6eRj#lnwbf}5n$xYN-g5lSEMN#3~$J`8bzeaJlmtgn}C_VM(baDV! zD>?x#K~9UOJp6P*B3wKIfd+w*g+`LaYpNfbI@QFUYd|Uum8*UyE5fSdEyxhFJoTwO_Zaz-#X5O4mZj68A zAaCVn;cDybZVPatyUo$e9N^(D!GMDFw<MbV<)%Y5rsk-x3`%yHxJiSZb!%4 zdi@&P&0WjtpJ4oHY&RVrXDes0Ls|Bh(tQr4EjKbaD7jzpD1&yett1YTg%pBwa z79NgPPVUO`5)7y}T$Z+$qCDpOyu3of0-Qom%>_BlMELnRg@t%f2;}Fp61Fz8HWRck z|0AD2OD`dhEMpJoE$%&h#(&?ufQK^m7Uz&&73T({wUiP zRrc>`W&Sp;sGO^nnLEH$2LN#RqZd4X18@hpy#YAW$;tiN>U58FZJjIuUT$o+&GcKX z<*i(8J*_MiTmg=Bzv5Zc_RnCD6AJCy(F#5WP11R9pzU}LJr~=xXrGLdKw}RYC41^xgb~*_jNxEA6HfxMbf1_ z4s64$8~FHjsFB!{gqVr=9o_(mQe7sxEGZtI;q*!9se7vp>d#N~=~=+^r{cC1Sf}sH zvt@P+Y3@4b`$t#&u7(@^aT#>8vPCP5bB3MtTMVYpG;I8-e1v{fbOz_(7ovSce@_dGCxT(G-_=8iiEgQ5)=9cDZ%A)oSlZQdY~YV{D$zdG`;6{=gWK|6W>hW7;O#Ye z#dk+cQGw_b73PLJCjl~>#=F-Sv0-$&o|yaRsTwSBuKU#kjL#T^fA&^ zTR+7x`tUY%kKpS+!@6h$Nq5jr;`|odpJb78Ebd)aTS%e>$10KB;6Pb8 zH1E@D;#D49Rm#$B%V-;+(QB&9c0GBbzJ2qkr8C@mOL9Q5)}i}_?Ecvc3TwtN+{3$R zf%WJx-6B3LzEaZOP3SP!BxMPm=GsNK{J7*ZlMnufK`5aOSRcXfT*enUD);n966xfA zM%r^@Mz&ha;Y;3Efk|CjK_g&|VAGOgoYx|t3t{yPl)d|Px84o4J9cLdQ=BzT0;z5+ z@Ysk~Pnc8&DI0y}QGIcE&Ey^dzLL^oRbU-UqABI=#4(Rpd@f4%a~rPaeFRT zfs{Y!dc9Wm)1!^zt#qR4b6g>(IrY=LJage3AN9lO_j>1M*!Rohw-N7%(ycAnvbw$= zDAIhO+W(m9f=2&=ybUcT?HSK!T^+2c2Nfar?JuO&dT~Fe28`bSl43zUS>Ry%kxjup zr#y&;cXpH#+2>n%Z&C9Z%{wa2%a6%uGYmH7zN*I%t?SMB;u$QfZ%Yp8KSAAs%ek+l z3nZ$$Lf=%@yQwS&8f=^;2Yb!n6-7kqjoZutYDtIAbe4rI)&?q(^q`zi{^>Q&jz?Fl zkKx}R!YsVW2COAM%nDm?sl}<`k+A`3M4&D&Lmdh+8#JY1QotjvCPOEJu zk+~IMHF-6TVM8vc9F|`7C6+1hN3Q3~)HHswsnH!DM2(nu@xeXBaUK9xf4 zMlG@p@I^xrlukP2Q<%JQR9IIQm9&lhLzZ7(p;&3a=oGOicC33Ks zgAI=+!{X5&>(k=wb$?Zreki?kG#wn%3EC_caSJWidw;e%XOC&e4D)X^vG zyLkAc0%u=w-%5YKJ{Em0(u&bwKQRFI0(Z;NGl=64g}sMHlxlp}0he?#kq#a%ub?+f zC>YZK&$W0bTt_82AF<*->1Pg(E>9>PvzC#TMpL`8WL_Lfnq6vbw8vJQ8Gje*QQpPvc~dqQtqb77+gK`7J#V^476@SJBrh1!oGY#E72EdO$<@B zu-k@s!ff;ED1NEi$jEXQm%wy|kV(%ZQAyNC9DB8iKV%qv9=j*xW_D7=s9^bWV&wq( z`rDF~Fama1<2|kM8Ms2$&pgZ)ICbcr4u2dZqiX=yXTVqc5N6h~AUB&*l<{e7NFr8n zZ`>e#*-9qp`x)K#`-*bs<|CTSQD@Kh3Gu?Ye(Z1NDnJt+=Z2)b^8Mhk?MgGLr7|8! zn*UqrhDXWjw3v)IUYnx>Qtf9#jK#5I!apxA+e{32Ew{76iE-sO8+z?JFDfsSOfZz#=DSjE!;B#4{5s;HklhBJN@_q@@(EX1ayC1DyJ?s@-wcuuA zJ?qq->5~3sdfcet{pJpgsT)BA zB5FIs>a}VAbGh);F|KooN=1K0UrE9oWJ#`uoJ_-L+?U)713q;*GQHqXpp2fkGi*Dx zrgbi@#YGZLE&@lI&OSJLvCU8|?+(MR!`j5PaFD6olb`sUKS~JP8BP=4srpM1!1RSY z@@``IWE${EqRjaSihnVfulOWmk?=sNq~IfUTby>kri1z>#(UVO*QN(wKr=wMiHZ>ihHvu_uvQF)!0ie)+(o^>3#^(|9H ztoU)Z9A@|hV`@0L)oaFy38BVvzmsRubTw1Q5OuYm;QH2YN|9!h-IRCUqz6M{*t%*n zfmlJZXK4(@d}tY7;^>%_>rrVSJ#oNRA2IRK=kxMw(sBf9uQ!4+i_TY z`lVF5Rfct9yxXOxa;7$Fm?walodO=iR`A;6GU z>+?$|d}nyEweF`+SV~WTosmS=EqJIBC7rwTEb<4A@%qB7iumcYsm&*yywA~O0ZFoV zo046i-?qgG&X+(^JYTYp`jfbxY3qw=*=Uocykyv#?XOZ(oz5C)w=wuuj9cXw*~c7@ z(HdLJh~>l_bmp4%z6SHoYi2JOjv}8=Q63CCrd7KokH@g0ukwX=2ca%KO{6rPIq%1- zZSg`S9|?Um+Lx}|xku}s8vyM5*@1H@k*2=%B~Y}2m6BrltqfJpAPV^w0#H8T0?gi8 zLQ?h8x=$n$cS2|s$CYt*!m?COsHySiLcR`_6J#yt6w?^y`lQlHChv{K88myzDkvqQ>6wB9Xl&+Z< zfI_9eePyMSETk&dQOo$CM1P~d8tb~_eL{w>KrK>@wHuwyOiwI1`xv10T=ADf)7PMf zkL4zVW;DqF+h_b6Dz$^V>P1JmSi#Akf;;cQpFQ7akr-k5P|TPq{{}PRd(ck|d>Oie zH{xYu=34-)t;bjOM?#a1f_yhY7|&zLo2U{i495BZ62>i=!8>i*>78FrW76>OS<`NI z?eiwYNQ0d9i%)HjKZ;k#&bli)Q2x8PZ z7{#*vopnRpAh;b(CU$*~q{s8Fh^OKf-RlS%?7`epU4kH)Fqb#82XunL?Rdm#gJc4( z<%hDwWFa|2gb(Gv3j`*?VC7o%Oz2MrXgP?`#SjFc{m~08w4pR{`l?rCp;X!Kj-0~-|iqTg^P)X zh7OVQFGSs-yJ;!PqE(Gi?VxV3Y-H4B(9mjQ?p~Xr8186%&((Bp#bSv6#DPR2{}IdO zkXsp*jKp0_LmLg{1c~;ny*43#VqX^-yzUgA5OupTIG(eTz8e}EIf@5GPJ%wfaw3I> zhV$+All6_x>im~*nR4Ln}-{72;uAug5EljHpcBRhn~uIH~yq}F=hcD?#qRv3?E6FTkO zfX2W#?4UIGtXBBg?ykKP&mHptp2;XB zd8c~}?aCD&m9|~+Ik~?KK-F$=pM24;AL$!`G08M>O|A+~PJZZCc9W1=pfOcYB7V&6^W2DWv`kz?OgR<#Oe6JYv~99xxV(=wOT&Z;zPb!?6{ zoLpsrHB7xW`rWC%b)JWx#SqP^#UlN~EV#E zy3TqH&PDdP25z%2WZI;%U7}n6c~T+>imv_(qk}D{m-3OHLtpAM%_a^{z7^62YCPl3 zzJC7lkdGnzk0KJOYGi7$+Ho`tdCO1WY=r_nN$ZIG5y!BTD#>%NBIf>QF zDLwRsG;M7>#qU75219aoaSWuZ908Bay*C7p=}o6rIZ729`0vrbpGbw0c9Urj<6$Y6 ze0UnM19V9i>CHY)w0_f5fVUQIcu~_}J4c$Hi9I6-i(VK0_5YetUaTq*FPoO*lwhCD zjwqXg5YaXuf)Qz?y_3>*qCBf1!AJce_{ z>qf1W5*5!)dA(ok=H@0Mw$5;J=DOwlK+MvYdNG+?6ILRAwUM~lde*iYOZK+$LD5B2 zZjF;+-^)lb@<_XrbyZ4DgI(pdyMKNNQb)XOZ5bd-V$z9@vWx!g8O~VoDcw+`g$cVq zx&%}jPiQ}`nRkv?VW2U=g}E1r`%?KbH~y$pMchpERK)dFxXN&*mUvmBMH%;#Y2D*8 znJJ5}N$;98m6zuut^u)f)hRl)q(2039SrU&*=}Hzw_sF}hU=4xzX+emPjd21GHAeN zUm%XGUe~SuYQGWNAg&YP+g0*hxXfXmB3tBIjC%j)*W^^@F1UPQyu%Ab%E>SRel2rN zRH^0N{**-?9LvouX7&6LlXv^ET2yKl3Vvg>Srj7_KC1)Wipp#@aToYzN_8PUEcq8D zpwr^;Fb7}lN5XT&`@-af!|beJy?a-w=ABs{qJQ*(-+F>@^ohVIF)X+^2K=lq`VDt* zU`FCr;$%N|;M=pwJvLC@54ULK%LB{M=4V*r@K}f&UWTkE({*fldj^pf* zJt8-*>KGOFG@n28H9e-z-iaqtxINC@M&c3Wt)~w z)<;EvR1rfAZ=G=`FvzH^!OG>py3{@WOW5|DQgIz^b%8Pnr%WO5t{~6Xn*zDIaV;iL zq6f31)C2LRlM1XB<XP|tSTXz zk<~mWVnvllAe`hD`zFqM_;k{DOT=ZP!uZ@S4Zp}Fb6U?9sYT0~11Tcfg0aTrtl7Lik~f@=={^_L1!O7xT2_m&A?2+3bC zF|77&oE<*Fr{jA|eE)?GvHZ6qpvJWJ(#z@TrD?utK8bD!9QNH^*TZ9}82-IfTeDfr zTIt=E&_Qe$5>5y^IwBFnLRCYWDyJ@n;;;n9jp2a0%_XVBp0f``Mg-i--ExWbLmcXU z+(uisB&b721^5YN1W}jRr@^<;>CCWhy?04}#l3y`_8o~Oiqu2HV;s0mO{x$}fVwb6 z(NUr$_-*TdF7Bu9k%b>$=)}xzOv1knjKQ*P?m?b$GEp+SM0-xiB zY~0=Qj6Y{hMbGhP5;FH}E!nCKeGCSDnaNe}Y2(#)9LH%bY9MvnxL&(WE6g69y%BEJdolXknXt zrb`|ji-ET2ke8w>AWW;P%GtrhLr*;_u}*3&75V8*sv;T#;y-;T^R?@_EBAi^|b%^R2~Hy#M;?`jM0sH7cK9Ndgbp6 z+nI>%IJC6Zg^8Kq-$VGuo{9~M`v6lGFV^9iwgJe&0M{OTJAlRmC#vnJ8707A-WONw zwx0SQyX28eJI%=)O-}}`4!M!nV1#S7h+y>o92e1dj%02h_+b$am_@=QXOYWrnQOlc zFTKiiyx#J#q1N@xDj*X@jLlkr)^M)~WEZ^=O+{^U&mwI^Qlg=m@&a(`a4Y z(}Zz5<4H3&=-HB$>k91%UM@Uh;8Os!f~NXz^5CpfnY-)Lo8s)?3i~IMw*{Z!HtC5C%3GZ@4i=xF*>RNoA~_7h70< zKG0OFN+@4{2^r?Y*f9({jh{MjLrXI_?CU3ANohWq3Z|ZC@mfA^Xs^)U(Y%NY&tK|t z@xQXHytvf!Y)7fHTFkeP6O4?Dw`sP{w87_~6bEz7x-?7Mgik;T;JP6d*mOIfuwMQy zh&g7QhFc1z0u<3!bOBL~gooAV+6-d>#1GoJ^EnDB#>kVcH$%@;*ruve`XS8_z7y{a z9Npn*>QN{@=+0Wo8H ziWZi#E!4Hdic-nmTZXK|LY1eQC+O9zVD3rYu929H}$+?RD1n0X5XM7pRs}u?Zi^7s15=aR^yP8*1 zwFnE+E>(O(ie<}~+YA3AkTj!UuL@Byk|t`P0r8LE(1%O$0_Tu!DpWNzqk5n@*gO4jB=q_%c%|T`_ zvOwI$m>C=42h`x*&SRT;*1?|fNb%#-y(U^|y~sOrS)K0Lr!%Y&ND9&=lx+Lk6qKEn zJs|J2{PTC}WYzvE-Ya&~xXyCn7t!tK@gv5Mkfey+71Rts%R78MXU0;~VxVB^QONPx zBlcAE3RHop7J!P0nbZ;>&(B;TrWbK0#Vu(b{dlY@TbenXrk9h<@oLeBmawm9jFw-& zR88uuS|+CTr*)`*yS}L&kdp#w6q)*X<{~af4p|=OJgQQMFm#-&EW7-i)aVzrwN}LOYTg&zOR2267C9F zAxI2FSU?-9c&`DYc+z|+;`U2tUdW5*TQK9u*V3l$)H&@mlYST_lUiR=2TEb#awhGS)Xdy9h}u zme_#^EmCH$dJYupOLCR07Z znKK?wUR&=QkXs*1Ixo67BhN`-UDW-h$v5VKX9oAR#u{1X8gg~|aCr}W&Yi_>L*uKO zTsikxZ2wK|exQL<`?~F%s~)SEl2hlJmIz>68=3`?q+0=Mg?KP4bC20H+Rv&dbNlA1H)L}#d~$Dy1p2}4<(jY0 z8{a}T8q5%Jk|3^qHFI@-f&zjEQL z%#q~m^n+W}6X6VgcbO2nNBaZxV$)~gqF-~c{;JwbOSh%uV$eyV)wqc}5P}EGI+>qy zJ*(Mv2;jMXJt?5EbT%fmoW$m42i{1~NTdz4c;~*qn$4CS&{tabvx-uE^(ORsC8si( zNb-7s0@*ej<|W(UUIX6SPYU6`q576n`P$Omst-DXOUHN3e zU~>R(BA*$<*-oHFQzp=Mm+ys?(1Q-^>`O=|tk|8dles2q*|qBEvU>Lo9SxVG{^`8! zF@lT)8HK_`iD5KHYIq7^vTkXf{+@Ar14xV@qd4;DGj$NE^oaH4jz zemfTG@#M~yW8cyn#Qiw^HYM=p@Ci;%N?@4hASR2_cS`Q@iib@15c@`AvTnk2SfN+m zdQF`ToYPc`K|-E`P^1xyX*M)RpI7Pql~Ulv34Fu;Zgzc&msGrsZu%G7m;l7;4X@{+ zHnfNGQBNR~SRlNlVyUv)BbM)k8Jp-Jfi;;c!4v@haq1qco$)Bd_*lP1wi-bjAot*A zinj#<QM zu2=*g5^a^q>h1{D#9WW2R3(Z99(inS9I|e1a5=W&<$82ybL89vBdzljz!|2(x}wAV zP$-{fp(ch{)@o+dZWA1`bv{=|R^RTyvMq3en4|{nzt-pgL%1g2+yv-L+SHC1K&E3d zY$a?o9wIHmcBEc#wLU(F}FIb5k^{GNN z$3J_ZXKCKW`PA#8IW63B&W$q=O8&@l$Qa2CgtaWYo~+2PlpX`7`jv~L55QtxoC%fH z2T6OOfv*tYqHELLptqxY`^q0}F2CO`%*p<7h0!tXb|x&Y4|>X=x9Psx%jz$)VC~be zOy$R-S8<-D)2fU`aJ7hFWAs(Ex%UNU7Y;mb=erpXluT25lYh2v8NC#Nxq!_>*hD(oTAjZ$*DTX=*_ zSB1Orffso1yk)>2)9Z!Cfkrv{sdwm^XN4g8*NUwTtA(7;Q8Ulfy!Omn zPU4I;SQ_16TVS~Uu6c;>F!f5i&Q;cHkT}GE;UbOhc=*C@rar;wJZW#^Q|H;8=kr{3 z0gp@SpTVL z7X9*ZhU3@`*1Tu3eNjB}v9X(KZ+C-`b>WND!55SI!%ZHI zr-|>#n?YPemAGMbG*C(XKpEB+I@<1}VhE5@ANh>9G%277S0O|wYjg7Wst^nL;+ z&S>0Lv%Y7$JXh75&2+~!@kEx8oP}Ka(LJHJpln3#H4vQ(k?KLj!p2XYSScHqQmlD>SEY-W;AmFN3RxgF6r7{A;q->bQ{WUQN%bXtf)q4{9Z^S#wj`pvL zt!9F)T-PrSQ#!BDNnvO9qNDe~dEEFKv$?dsDl|)W!QT_clFE_u5)<&Rsgh%R)yVM^ zsJ+dHMmQd9Glb>&lw6aWZp%JYhIb91IM5+=RU|F}VTX=Jq;@rRWai8cvi6s7YT5&} zdag&6buV=)QX70)auBQ0CcW6hO}%d>u)r6`OC7ll+(`mGHvjN=wD*lGt!F62+4R-k~G3BQtBgrkCi5Vmiqh)T`<}Rt3s)(eQ zaxz>C#bPP4qf6tg2PXT^`+u_*GvgXqIe&_@ryYa@#;xl`XZgf1_D@GtH11}A#a29# zTbbkCCw}}t1GCj`d~?`=KFXasLb=y`t~+0re`}5=2yhl_1i>4V+uE_&t*olzAmuD> zAM|vC0Od;je6wWASM_D`0|M9GABs*$gz0DX=z}?yi%Jii{S3tTzEI7EvpK=FT00d znRW+KaK4fPmNMa3xf$QGJnJ)tR%jzL`-?TAvf`w^9f2snC>&6p6b5<#mS|~*qeB_2 zU?A75@5|zkZ8n=v^r;u~e}1E%`-xv`;;%Ae2a8!o6KU-9pW#3TRc0^_nN0F)gM7~t zT(=f`dCvtG-dQP*I<-|7`w!V$_ilZogeorS8RTb!H~X5DfJTKa71{6zZC!EtZy0^k z(D!33t9}hT0?j8hOI$dop@+|Bv<(N8$|Sb9O#*`!FMtTqy5auv@@!&I&_s)w+dKcR zS6e=NFTmxU+0gOL0wdJCa>sguQPY6|>@sN=`87g~OyYJy&_bycK;T(5Mt7cQfT`AD>oG+s zU-5%`Iak?>c3~oimo8mG0@m332^&eZy`^*55udDF1HuG{ybc9v2Q-X#3$-LXUPpZ? zOE{(cVal?2dEaNFN`)feFq}bgCH|R|;l27QxaH2vPY_yeq<>2?g+B*(=TQS(i>tF< zpq4eu9wgpBAjI7$@D25CG%*{KGS7B1+CSLux>1rG9hG!vJ;I%D<9-r!pnVU_Itw?f ze7fhpQ|LNTytFyB9O##FQlkDPV6~^-*lK%YQRcPFe#%YQS#5%mplj}F9r{sP$I^k+ zS>6Xa$W6@R+ZI1s*w$x94yiLKXySt|KX{*QK(GH+w%Bv0&Xejz?&*9#a3^pNUt_sg zBl(1@(}1QF*2?i2cEUTaOAD#AKWLnf80)VC!?t8O=l2uRZI)vht!YipMX38%P}`>* z0f5FdEpAb2w9BSfKF!3bU#@mZwnT-9_CSG4ZLw}g_nIHHn#Zb*KW3cc=$tFDX<{9E zmd`pQCuH(O*Uw|=Q3(=O=-Srw5fNg^W!Q|}zi;8%K=#EEy}SI5r(w0ywzX(6ICu55 z!$&;hTMTtlz@}R9pj?2__4bMDQ8%MTrzfnXkk~2m$qsl*@F*);zC8o(F40a~QoH`S zkowbkqlGhoQZrA=T4bNTNd^>D0QxSzg4+}u^ck?q+ z*gW@QvO@a>*nO1~b~c_eP_ZRD_hLa_3zU14MLs)_vem~9`MeG29}egq_cZjug>U4F zAD`fWHCha4T1|lF3s|bi7A+@VCew1ZrWWpn6m`1=uwnH@^KjORA0hcSc?#+quq#?Zrk!>{TzzJ84F-yY=S1 zgn9TYmtFh!d3eQ74e2TNXbm>Ubfaq)mI!f$A9ora<@)#AT2Ca|Q)h7`%#F`Q&*B3e z`>ID)g8Re_x{*^Q7LKutevs+I`)NWZ@!UX2cvKPd$qhGF^m=qo%Kzc*&7;}u!gx_F z<)f^O|8L&x{qDV={XD;6?=z&Dj5iOkqU}WuMVlKlZbz^k|2bQ1 z7xMCzxolSlolZL-YHX;9DeLzq^D4GtTM6^3xh%0y zR`dN*K*2xG32ci2-eD__he0-LPSz|-?$nM8tlR*fKh+> z3ICW!NZ@fSwTArGMETK#AaXx8g?ZQlb_DgZM+U8+4*>`OoP$EN=SJ942RE!+g@3OiTyZJ7SFc ziAUG3Gf>Ac&Zdw_j0*O+2DEAx5F$vsA`{V{YwKQ_H=DW7U@?7JT4$Gnixs%JXa+w8xxbY za)Qr?GkYzu89`l(nTNinW0A4v7>c4F+D89_tpfb-(o{!R7#vph&pKmmO-(0ZppxCv zq;lNF`wV95p7)1SE_WP0;`zoxA>fsuJ2@)@S`SAh(Pk#%BvdM|`%^o}@lhmloz zoMF&v&|nY$5=Q$khiy7jX#rZkTyds(ioL>QUfyYUMpu6dsq3-|c<3-5ohvy)^}7A# z(%xn$_99*G$zrzYF%G&8G3=dxJM=j2YxSGYtFz&tt*78*jfw5|(cybq>I^u0MGZ(?QoaOqzc=4$U?W{1VOY;{E!sA%0rR{W2<8&UaxOYB{m9Aa~MGIt6PQcdu`Ea37bfAur9)fYI@Rv_K0dAw|lj!56j zoqcl)(o-V~@pU+LcI*VlIZFL4zck=Jlo@WXPl)fj~3!GIn$iU$nWCFYCkess#dpq?;?)rJsc10(bNj<~wKcE^R zp&ex9LbGM5AXvbJh_9^EnB$>*RU{f(qN&&7b5~1k6Thb6g(_}~Iiwe1+d7qc{?+f` z2J)(s!RLs3F^?jS>@&l_?osCnK(YgZ?UYZ|MMZ=zKf+Hx%)8>v69?x6!YwOzy;EmR z_O8;*^gtQ#lA~0@IW-c-Z)k%GY3dt{V{0Ag=oYHIe!BS2+QGZlni5QKme8L?maxM^ z_p(xTY~tL5xLRS_)aK@sWmv7Wj}<`5PXmO#j!)BMR->loU4v90@Y zKlau>ePP2QB!`=T_8rU+B0my#I1$Kn;0hL@gr?Au6K)0Uj{D+&c49)AMy}lT&)~5U z$>!s^?J63t#Q$;aKKT*bG}issZhJApf&4yBKk*hJ)J|$NB;wA~qwtPU(sXD93NAFF zTMu5?Oug5#$k1q8Jp&+q#nY08B~n!4Eurv4LZE zwj&G@u*Xt^>v^lv1|;dN9!v|w*#Cn{^$p2_Ao^M0#zkH^i95xg|zlwJl`sX-;qEE(o7da@*ag5=f%TJR}NPB?ERpmT6k_s6KQVEr3)9( zwmhpySDT~xOs@1lf6N%L>}()n_|tOK-NJOX%^a?>L`chRQ8YGpZ&r*pv?l6)0LMt& z(R8N8V#0QwsekYt+vOU3T!qWw*j;F5E2jd>VsMtZs`>r)s7+asl1OdMwFU=J z?CK@_K~L^^^2m`wFYy{dc2)wbx0Ri0e0jC3Bl=~vx4LDk2Hfy*bB*N*h}oN7isX9u zeYej{dyA|u?L$^J9$8~4$lh@6=AWavzGr(SVQNXekzJ9^Q#I`bEK zSpu(W*!|?aV}y62&^-Us{rCR%g)R$E!QD~c1{z3|^hPJsuvK$KwQpZB6GGKitDMeXJqlE7|i{<$a03zO6*5+W(|~>MX-#X z=NvWou`!KC{yOnN2odeDRgqXq_##(?1ITXDs10&>fpq=2=aimrNnz(Y0!Mz@88C{5 zZS27ZU@eNBBIkEt(FJxJ&rVp&9nx0@CXZTui4g@>phwjx<(VSOT*4olxsK@5*c)EW zoHT^Pj3*(7j3xvRO^LPY3TJ>qqc$^zk-kt%u_H9U@#^8&@)%fU@+SMQ)O{)ne_Jwo zDVI-ZE3~)IEo$}<4J=5UX1Rc(8G0Sv7*dKJma1}7o@}-}1Bsa~g-5$ZD63waQm&?7 zIlINynoik(L2F-W8=;TqNWYt+Hmdh-z4EtNw&@8Uo0ibC-$gV;wY|bwMnx7$;7o}W z5vYv&A(7B9mOAA=ROgxCk8>};lTQb@&qDjyOiBdEr0dR@957YvCBWF@^d50qti@X7#@os&iB;^l!Fb7qO2_NRtX0mqy6X4PaEgAukNkAP3LYj%-cu% z-6^@1B;=5YZPqF>v0Yf;TWrpsJxry#2y8(y1aB8N6u;+ZVZmR-*YeV?@FDALp>R|W z$RT<|NQXIQwd~nz!}Ut$KSOinl0uf|d4=35UVKi;A49xz1w`hW+>*H;(~j{=#!CdC za>@MLP*}aP!v{SO7fAUbs$-Mabse@NL!ECYBMp#3WmVJ>!<UB_`Qyqe zWU~~f6N)Vcp(4EEh>23Gr7>un1S|IU&zB6 zN77wZcS_~C(0sDRMQ6WJVi!W7!nAp+#P@HShkMC^YZ?@_CO3FcWMkpp6gAe1dUQX) zT0kWUKu+9(pT!ew!t9F8wD{~f3Zgc{=PX0(jL7YiV&1B~A8!wAxWAX=kDjK4V->dQ zL3ZxQS2cUxJ4G4!F(FC*txd~LC$tNoEReeRKKR#8<%p*IM&2j7F|jyH?OKW!`YU-) z$ynhrr6T`!2ZCmJns)T?+Yjj>6*)o+y8X4B1I3?=Y$De#Vf8SvNcySgx%xWz5EqA7ZqqQGj#@g!|}vy@jZTs{I-;&Hpx;pyD|Mc zzm}7@-}EV0RZ%D?VYddKhuUxVE9Pp)vb2(yu7`{+wEL;qmCQzf{G9x6i%51TrK{Ci z*zAtNZTkncVzhE|6(?%mEw8+D8~FBo+e(60*X3=Ig^_7FkHmbnJaglCtJPeQw@W@= zwH8`k?F>Cb{kEaT?uG?!x`e9=}11zNdL7{sE0Lw#=7Y z^N;I+CMlQO@SrE){k*8)=aA^;!unx2gc@^|XdnG_nz$w<6jBsPd^-@Vx*Zl(1bW9Ou45JSe{N?XLAX>UJB~(hn^^4_e<%5j0!-Y*=w4 zEj#M>ayF+3x~C|uAX`@X#w2$$M8UB?|Fw@;&*Smfe`?M0xCZ+y*gT1hJNKA0w2W7d zHm>U}AK!O-L4fiE!+o!f9XdYDmGbjA25#*jt!BxArnejkKIAc4;7IXRH{b0*4E*%>wW>`LCsl6y%+PLy!;QPU)a-ag#rq2)`26xX_2F|N%0^$tU^tD8LbZt_#GyPr@npAH zy(N$M>%4t+G@q#S`9oH61SB9!@p)};ZS3{k#E>m#XPe8FBQQ4Z=;#ZnD4Eb_0;06~ykgR?k` z%CBJttW!$NLcWbYSf`T9Z;O&SJSK7S21;s*80n`EE)2aZ>;QwRZM=n`=f%6GTZ;_a zSf}DI3e>CWaKIYU$dI1lFzcj|P}shN;<2cze~2vp&{i3L*v8I3xt}525VNTs`0LP+ zlC>@~xUOsGC3{wy_qq22=De1DSU5ZojtNZ4t44onM1Ad?T<)9F)ep2bdOn`Z9}-Tx zq#Bq+JNls|*+(^y%^(RAa=chgz2Q+ulV^tNLVvKV5V>CMNKZ-WFJHO!727l&ye|@^> zmc`7!#KSGfDX1tFWe1b=R(+*dZ>n23mhS5PeOWwII0o&5GBL>%+g9GqsZi+i%Ll(< z-@9Fbu77;b)_&p@lY03BnSo|gk8>%PUAzfjXTM$UdCg{gYmN76`(f{M4$rB~F{8)R zuXbO=0gK%plx>%9HKq0c3NO5R8A@#z#6-EroNIqqqLVe|^+n9RDc`4^Kk!@6Db+nb zGw9or=*W`mhx)QBGcgs*b{Hb?l{_d~%z=lBo;=H_NM3$V>!RdqG33o_3J8hs<=Kz=Mp!6VYSf9Oud)=;D6I(@%(w3pa%j^RJ8TAw5!a#UZB zc+R>d#0<_f+6v4e`dV770?j_;Ye)x-NZ@a|TF-70So6Q^_c=qS1ei+C=X#p+!0IAX z28@4S#YVi3BipN|UlY4Em}GmiDkh|V(&$7SWKlqO{>{PnfXcm#I9ffs+dsd@d0 zYE?!d@q5FU?$?DaJ;<_+ag-nNLT`)u{t`JN%XCA)9tDh*IArsEC(ZrOB&)KQwa%wy zQMSXihLC_*LI9W^1B-gnJ_ebyu{<%+ybo50=y)n%E&{W@aaOwDDSV%Fl@%vl zR$0l-1`qR^m<5ly!h>R8lk@6NSScGN_`dDV?F zh6wgq>~5yA{ut>}wmQ4_*pSzYuE|K^mP8N2p%g9xGHbQ#Odiinpc7HJUfE18bW*Isi&~+_5kF zJqozupyn)?I4G&gy)4%Hu6_-oEN!Lpgrzxq3Ag%)Khp`oF4f@z0kMeVD9x+Kc|G!RN!Z{$D7*J-%}>#ZAl$Wp=^S zr-YfxWxOS5@3KL4!;CjDT@v-qh%v$_lKKAPQV$rSa}@YDrSJcO!uDnimiq*X-^m?! z|LgM?u{zTmxhTfObVJCd(J!aCJrb+QRGubr^!MlgPjYnYhK4!3^r}M;Y7=%m_-qoz zl}(BQ# z^m2E4h=BJyKA)MN$i80iVK|ke)3?Pjb$r$%f#5dOQA%Y1ZcK4Akui1?TQgT1DK-*d z;}1otr~>ZpOQ9(zX&a){8~--hff+Xk&y=d=tuxNrh9B|Pqre8)@UL?>Mv3U%a{JJ@QA47#_6g7-|0g0pku)yv z?MroR4*F2L`7_u3#T>89V(-&Xf%=o77; zy?t{U?+wa9vSR4T$<9ju<5lw<+W&0ahdTm|m|a%xIEzBZh?xh?v|7liw2zFV>8{U3 zd>3*|Buyv#qSzC>^9q<6OW510{UO~?)-~}2<*+VG9l6cCg^p0%KYn=rujAsCr1y&2 zSXF`NmhxknZ^wT5$*fI&6__GjF6w9qk{*bu{F6FX+G+lHC9MWtGGm<2|en{SN%eTFPQH}OmzIw%jM?PD?`1E zy|q~fZPq=Q;eTK(b0jJG_SZN??81MOl?!W~%$^3`Lb3nSpy~d;!aV{yUq4+(Ru8qM zzfD#;z_}&N`JP02+5lkHagm$Rkw;zU`Kku75z6*o=0G6@?E ziq#SU{b~~W)w5H0Ea(KrpWb@cH+^{`Pd0n{vG>h@x%5B(gN?HXABWJ+GcncICnd2q zACbUrv=p60PwoSZCJN%p!+*!V-1Tg+)biQsnG$xV9+@d&kGDU3DOOA5eectJcGdZz z1w-dp$f11umN$K$^WQC2YUe#K(?uG5>cA0RrPR+0$dywl&ZiI$hZWEocfeM<-H1nM zTVcxqGXhKBz2GtzZF}a!@xH>8;~O5n$sgxA zWQ?y!oT;9~|E5*vKabBP3~T;$SX^oW3QK1875UrVZ!?ZfQlGr@nVMBPsV!gDLZk#p zahtG3g(P{L1c=#}?e9bX@Y{%S*eI8`Dvs%Vsg;ZO$oUE{t&e47m#DPAU^c*@2GB_! zZwS5gf&IVe>-QJt=6_-F_1$aVTO;HRne1HOtbIo68V!h7DoFdgGyQN(7-@x~?^)dp z0`x0?ca@mzJ1QcV+lFdhEj>*nv2Cjj_Q7T}uxl>AZ~>>w#Z>3!RPIU)%1d&KqF1SC z%};2Lqxh!W6vMBI#_KaaP4a1$YB0pD#dhC~FHE2Q3+>^NoY`^`Ot_|oPR=`!dttC~ z%e%R^+MhaH2LwGWzGuTc{0v^!CSeDwd;S$@rulTmkAdN?VD8P;TN(3D5SScc- zwn0l_R1gwENBn+DO`zQBzR<2etodpY<=o*zLSAfqT3-}D+uv-6FiI}cyiCmD zOTcWbw`G4|Wrkc=LOk?gzU|WsV$XfoX#zhXk5hN@qNYr9eKxLKmhqL7WETzD)xT<& zhIsLJ1THZI`B$r|T)FY{V+6?I(vxm={USyZ8at;57-J#qoSv*e0!sq%V`G{jUS9_5 ze>wpE#19_ar%tziY2ER6~I6)$7!bm8$e`3dbdz1H>TZW{V# zb0vd*R_))vE=}q4Inh>!ZSWJ;tF|RljByScU{B6PyfDxmLHzZl#a;0^ZeUk}Mud!z zb$gf7{k}0f1+M1@{q|X9gqziG-Y1vxt=vx^6l%ps-iUJeybCzJxybQ%e)eh=ej77Q zWnl8XE1`Lh%x>v;NxGlhTAcnOh#FUUT48RkVnlk0E&Y#fxYO7jxtOB(5tiLVlugYI zu{F1oEcMRq6|a5r!`rtkw7mBEztzK`-mv3-TEWh`MZXt)Fx5m-)VhQ)?oulKU+`fh z7_X;WLaO!%*hw;vL5uJDx0z*56XIAPr|i=Zhe@}S(_lbu++8>aKolQ!Id81gqREbE)F)(VYS{a z;QDp3qL0<@STQIKpJK>WIMn{?SW9!_xvm`+rne0t8y0wMV=aOC@p?gS-${0FAzNDC zIgaFI2Mc1(DPXuctHwdgc#Mw&+u2_UJ!9nGwON%6()jhwtGyFGK48@qVr)3FEnou! zb9orm+|;gaVTX(5+m_vj&A&CCIdxAwO_GrTgeppB6TT*fj>JDLz7Bv8$e6el(sd4{1 z^d8mW$|$dguz(-!J3HI6jZ4LfY%ZNudgUOZ^b?_hJy{i<3J!HW-QpZq*6zZPR#);l zJr_b+DeSn*dAGPWmby12*?YZx*SISvoG9E3pOEU=N?$gD+l}MhA>xx9>r(Wo{fu|g zM!VfTEa}iLV&5M{VqaISP)-9eR@7g(zRR2z8klC4{IzGS7zc3NV*9gMA$ThZB3YOe z77$ec05W-q`$e-@=ZU^xlI;B{afQzv+P035*{z@{tj*g~E%vqW2$kq#A5#_fJkV95zyEMlE;UsFd3x$jFPExM6?zP;nOKk->aKWmoO zFmY4!_45P5U4SQ9=_YNN4K{^>=xJs)47cBQrNgu=T&0|COCI8qB2_6hF@ab#lF3F$ zX$(wdZYI}6QvW1THaiT5fu#6>20Rq=4%qV{+thk{ zSbBd#2+b!BchO1Em-myi0)3}ODxA*32i!FD zY-&$$O$`gq>q&+z<;n?aN=;TzZKT?LCU_&zae8Sf+$W*xI>N~2yy&$VmMOj2_U5X= z%Ocqg>1{XjzG7kH57VPPo=cl;Y*OX)yVx;40asilQo8 z4v9)R-w?1foy5GwT{4FXehTS}!VKq8nvXSQH#OHa@zGhffdw>$e$``8UXqCI)i+7S z*W1-GS#P+Fb3S%O_1@)eYEO31yiwJ5KFpSgl*yjJjFYUO{S`Km{k>a4Wr_0h+N$j| z41ks!JN!2TM~|2Qs9O2DiRb8 z?qB!zi+;$X+-dEu5`$mVL}SSp2`m$M1lGb z?IlTJ1;tkud5i3lV6Xhvt<^!!Q+Op$ew8hro4uFuF}jhXBEmbakGW9Na0i&{JTFA% z9IMWxcZud&+mnA=kMR_jfUEkNcDlJ(Xl)dq=dfl(cp-?+LhZQ*ZR-4!rgiaasEYV7 zF*NU^RtYGujwHp9^JDXd`b>jx_T3!4W{4~;99ZOC1IW=YmsHzopfg^4FpdWhYSs1q zV@{x@fwbwcqRum_i|3o`T4PRDE@1phS{SR=IQpvWT440Lc=Kut9LHUF@!fuS$}$UI zWL?;w?K%y53#shY-)?8b6?eH9zU=Mh@pj1*x>RptQTv&jPhCf1zdlj_N5_|*vS%9= z!Iow>(UOIZQ3K3Y6K8H988D|1Xa|rkD%(ad=tLfVlxnb=%VZvU=xQiWO`H;gk*~G&eK1_$9-*(oNZpOBR#5Jl*1I8 ze9u6ivfBS*Cu}!F!a*~Kfacv;otcyMkB>71_4HJgH*O&%4K_B}jcY-Gp_|e-jjYn4 zO(0^*|h(s?5eYZ{s_KOK5 z&`{7V)-8t0Qy8B^M?GqZpn<*>1Ls;=rExYHwK@xBw#STPDw7|2qsgr(yE z;M7K2yv#RF>stVyTr0}}_(G^)W3YHP?NpV=eX;;CN~fQ&lxj9+^$^8LT`At!_d~X9 z;_Ue&P*O2giFKiYcJ!K+9Tq;dUVB6>eI(cYRU38MgyL4Ou|GBV#|#mwT*V#e4-F&t zmbEIOZ-yanI@o@cek&Mi?ft7n5-e}~N|<4*uC(5th2{jlDk6p-K8{7T+#foQ$8XI^ z&PA?&lbUh@Jq#9jFY{Z}(CNQ*YRihAsx!GRW?%WR{Cu63sA|JNcKNI&vJR>5vhpqX zgWaqpd^zNg;^~U}5x&(C|G12Vp%K!e%z7Nz!l4gK&sQr*a!9avY_oMTDz4kNfB6jt zXRdpX#>3p!2EWCx;MWTF!h_5tc_U`Ip6Z;1rS}pYNPu+7ejc4loc^RM%JZ}bH1!XT z8K%uWK~V2~5v$g*7M6lN!e(~C#&aPW{s}%kRH0p$OoJJL*5xe5zIVpn;%I;j@a@IJ zmJWlK-qM4RZO?23BBojeGrI85dTm``jcw0ZGHktbaw#Q5Z^@_~JO-&h(m|!|`h#)i z#i-vt%y1#d1hAsGpyk%6!hbW}UQ71{9MwJD>RR!-&a7NCGZcMfLzhw>Swd#m+nq`5heXiln{_biHvQ=1q{a3Z{PxHS&LA(3P zD~UZjWh(c{3t_H(oU}IDO@M+ymV$q`?CJ(%k5cEPzBWd z307ULPYX;#HDqeohszsq$CqE7+}WG9r{-E(##-n_cOSoZ?QJi; zHOjYl*z(v@9|kdf_oTT;aftnePi4AY!RR<;@!;``t2FM)C?`~Vb6rs?9c|1O>sv>O zP`abEc(+0R)3H}cmpV}YcY}REF{;QZ4<$pRPNwxvOZz27+P=(92?u3-L~I>ycXKUK zlDW`kATc4y{*m3>{@G&Dyr~K*z($Wf3W!ttX(dU8l`>Mk*})I4(7sPV{~sI>w@7;l zFpb8zPNcFgM#Hz3);oKC8gvpcL*3=oK}Nv;>+7&IU*>cUYzW`DEJ)SYkpc_BCymA_ z(1gd}M=3U!KgBm^FCeaqweqj)+`0vE)L>_(dGIjjBM zLfAv&Ea30^65&8rr;w)4W?x*E78H|Rb2vABD)47o25aD{Z5=X;@#!v)YF6m>w0oDa z6&+Cyj)kOi>QuA0t)4q(MXsOQFNQTOI6j*FoJR@Qr@n(^E>F@H*N*XPG*+1R^bymC zcdCr_{3uy^^?g84jcKL=SSaX&O{mrvr>2=megV2Wy}!S7G?%h29G z+sebWMC~Q%a%5;-7m;HifGSAwD=uIuY>8J!%9-Sui%Fb9OA9EVY(_|M@In2|%JJi# zDq`PT*_bs=t_WiJ$>7Sh&slC;bN}d&L9Px4sCXnPeaEWSMWsagseSiPs_Q-KT0Xs4D8lp(;L!KVY{?&cEW7&JJGH*J{qQCn| z(v0te=Zh&f0Z^sak((TV5SUHMMUTnWO1@nd`ArXO!DSZ_RdN36)~ z6Bb&t@35OjZ+W>?4gB_crdC)MyA6EE`)`>8e}XqNTN25<;zbnH^&sJBb5Qd}`v}(# zOObq8)luo#_Y@4TK^VHseKwo2=~8diVO}NR(!oXPZL~*Qsu#!U3L3B4PWKf*5z3B= zZO~d77kW7PtX$)waNRk%YQRy6jldSS|&p^RkIj5NAd{7`V} z_FT)VP_yJ@dJ`lxMdO4}3{bGdZ7?dmtG^|79>LbwmVa3hDGqtECmXR?P4a61Z9)?u zZP47yDBbljY8;2g85lF!3{Tw50-yc#H9{<2_uC?B+JRw`Dz5k%IpST~lBjW1Y7ZFY zTc^~GS1aDf6qIhU>y(88_6%@KJDnFK&lKR1Se8FgK42D{h_Xn8C9>h?9wg$6!py{7 z_|g&w+&9(@VT5oz8sLO6iu3$?X7X(jh)1BGs>QSNwEM>WkT?x}XtoP^gxj?$ z+{@u+5y&47EG6sw%pkdpJ*Ob!%2wEzUQYd=NRDFSlc--j0O!H1R}K;5NdsW$TGAg`d~i@HZCcWb%xR=k-ewg5~LRq z+fB7X>lDcLh6>Hna%bQxaZ=&?pT{HO{gSy|*3LkC>z}Rm_QC_T-&+@a+cIjVR*LN= zP_$lsq*UaJ*<@5}&dM5iQ~G^nMR=gr-?3Z{jJOjU!HdtZp8Ug#d3(2*lZX>*qSD$#?o6NQOxaTkm)S0%gU> zINgd%SBQvXBe?fTi0MS5{siXayLhXVhtOYCGY-wrx+ir0Ut0IlgQ*o6cXfqBaj5IR zF3R~)q0`f$8cf3s9kebzxi*`sPWYfQMYYMmF={DXYTgTsjh zGs~NS@}A|&s|b|cx#XTdX>OFe%roYCJn>hi*-Sd;FON0%{pL&se(kawMO$~YO<3rp zF1jiP8ue@>jJ=t@Y|mGEtucp9x}z2p1MqGc|~;-X+o zYvNo-VMeg$K1Bm<>Y@mO-{j9*Ivw5m0IZd$n?@JGt$u76vCwqk69T{Ni7ac-20X|ddu~re_?scdM7z# zl2M}pdTx#;han?Wu_1x&15dg6p%tb|HBX%p6vzAx5u{toc?F_?-J(ElL9sxpy}6z6 z4Cl(-{p`W$Pp9E2XZfBg8>}p8)Xca(bufR{J(*o-1PJ>abJI0(yxVi zp4A$^|1j)a&-z9VU?Sf*3_muk;Zw;a4BiicnTUubM-h#BN7j3n_sBgRCS5a&b$<)4 z^I^Gj?B_+(s-`32<17f)@KL+G8=-}4D^}{NhoifU)W&u|Q?d0KwG?xDXM4vv5%&y# zTWdLHkY##djpsh1d)w)o2AEEsQEI6hUyW#?AD$Ew8nLa*PQa`+MPV#ciml}BOkAK~* zM7bq82^Hu&zXZdaGz)8XyLS*Ksg%{+X5ZrgJ2H!FFzjYq`*+$6o>pq3(Qnf*YZE!U z^{K!p+;X2S3PR#A>bem2^mHH#X634&l7Z5CUeJv@!3h?m<;af&pnY{~kBXTSr-nZkHo&(iK*;e4H5f3MHj}RuBol?b<+0bhp%MKQHLL!YgNMEZpx4-g(c} zZZkulu%Q=l3t_Gd3>ok?8!Arb*0Z_ zyquI1aJ}yhX1266sqp$bw`S7fogO#Q9+7E@sMBH3cIf#w<;&U7S2Kj74owO9TNeF4 zH2UsHdYlyx9iaVS$>t-TyIwsI_UefP_xTEic?CIxi21Vi?r7Z?DxKplm6W3J*4J9# zJ9ySi?najEv!Fo9v?jFE3vQ-!Jq3i7bK;6o8{+y$?3{Cy03^j7D#`y*+{>sOla9YP zcDz}g?dttNQo)-TikkB$J9WJx@HC{qE0&rO4XjnR-&f(QnY-|j2+9F=r^q?bgv{qM z>^WsKFFicDBzDcsg$w3;`BwV{tpVOq@wx9W(5FR*9lv7?R;32Q9HB$v58U&S6nr#b zXnk{|5-vW6DS`_wP*pbb-z#&By-Y-ItDS*9OEi`Bo|@T2qzwGi*o1>czEoXQK4qcX zQS+AzTLIs?)r#5k`Glz@DKu5RyQaFr{l;&x@3y?LMv~WaOUc?Y)6ZLnx#>+m2V{f7 z+nj$0lOmAsU{;o{no=7Bye4ZeR7w_F+G8-AcBIw5-4uO3`xWx4D^T)#zB4X#$h`PM zVrk;i*EZ*#O`!S@b^9ZcEdCCz&8Ro2iVm6!3-Of8H`ZBhe3LNry+q%&}x9hfV1Qo8MJbS;(+glj==L$@|mS2m(0lAtB_ zvFVh%buz2SbMolQN0M~d3uu0U#Y)(t31WrdcWliEDX()^>=sdgaXSfI5fN@{yf(P% zJWn#Oy;0ye-bSn#C;xi3;PRH1|1IFJS0iR?Qri}@C%>p8E*5E6;0`()-C4$~J!|(g zu#YFqD)r-UzDE~U<$EDRzHdl;BQGfGCHs-Pf9OMZ#>Ti`FJ}|z`9>N|mas9%u+?$# zH`<`lmwZoZcECzIrNHy$+y+GIMONrt38Mg{Sz>4O$(7r)(QN8--1t~pyI{*Gp~h^N zz3%IMM0Wg}{0pO8iB$@;95sRJ%)lUt3)GJyU4f)dwF&jxzu>^RWskv6?vUS9u8SN< zk?MLP?%nk&sL1AIFU$lfe=mq!>Uw@QxwIA3Y07pNYjozZm5c!tk8wF<2K;`B=+ni4 z_!fU2XGt4wMPQgsdOTe|cWtxAhNe*3kk6Y+Ic{$lWZG; z!aut)Q;{=<@q=fVR58B>9vy~{XTRLO9ud}h2o!Jh4WLsLHiQI)V`hGy0MRP({r8#w z$>%+Y-p*@oO5kgHe$#MvIA1U@26RjEVWCtfm2%FFUGbpROQ&4chVp)33ZP1YV+~tF zU-+vPNTW%rnRNLliB9mi6CVeo2(?lV&2tvx9vvTg5Xztj`|s<>MRSh%RhIJu@Fx-3 z$FskDRq7@hO9)|)bpI9FXzg3x%uDrkKY4AP{p!5aJp^|!jatC@!LE~=j}jzmUd($i zGkk3$oGjlxBrm9aS$qo?4xuy8wP3i>PfPB9F(IZubbETYAJU$Cc2u65Yhhk_xc>X~ zn9T3--!k_PwttlPe^?s90Nq-`yd85;qU4-4>j6_D$SNSC}6G1;y6y zE;6Pq{c3{%aE~i5hjlIj7U75RYnj=gXTaTk>=}2hYU&fxty`h6)ht$#TE%0 zRGer)cmMw)otO(J?N}shi(Z_4oeLbU8+}9hkS>)s;{K|zj^dsXT*8|8U{(LEKcuZh zUiAe~5_$%vytNwmTu>cMJU1q&9<;Y4l~Ij`)jqIl?l|ccooi9eOX$KNKQ^++r~JG) z8}{}H^1ShxheLRN{d#L6_D*+LwwPBzPtHh;tkSFVkY1JL8;4GdEXJF-q2>p|NN7bb zggf~eT>GfRc<8mOhEWW-Z1*fwTb!p1`$Ox?*OAy-qjM$V1>8H^N+HZA;Z_k8`Rm8+ zMEjh9K*br^?r3I9GsVy#(1)3+(YMr;ynh+qOTAg2OV@4g@ywcB|3Tg6V#}%sI_Z=0 zPmWr28Ru#=*}}Erhx&?Du-7beCB+?B#blKoAKJlE206A^EpQkA(S(4@9sm~Q09{-8 zFoCZsmNADpt??UN{hPK?qD=aAp1@4|E>xa7OR`vOXIyihzjMajp8 zA)szZnR%e35T7L3-qIth^yX&YI|(NKeJXC8;+`FF)I8U-^}5mWEVoIPJ2F|c(R0Qn ziFDT`(VnO+KlD3Jg|wd|=(WA&`n72IhMnvx2|$hX$x-a}8%@^s&hYIC&u6VY!xr^= zga%WyPw-6-%B~7>v+b?>H>O!un&v8;o@Z4c4_x6n?N zSLctIf8M6>)2S81FJMJ@V)kro?Q~h0l41^F(U-fzp+sm|QPeu;p;JYv@Bw z&~sjsq50Y0LaP_++naA%xJ@04TA!@pR?c;TAyFY1wKlxS2aHF%cj?BrQk7FCVo;u@ zf@M3SSN|06xk#_{f!r$NE%SUe#T!`~t8DTJoWrpq_een-YFe(I7#AAkW}G?@oCF+} zBcjwE8)j~-5QcS&gRc+9O7I-f3zk!SuTd0SpI2bA1|BuGd&VJG|EAQ3rlW{pubmkztdEG@POrno`P-Bf6N#e?C5QsbA#YiRa?DE;T&N zo2^g>5FDwLF=!dKz9kt1ySy4SC}=#?ekzlGgDlcVf4Swtml%So6uF#|!v`wSVWTt7 zxg9v;nlwmH+!|(tR5yXyrRaZ^>MB$&te~|FEZVs2qby@x$hW*#ZvEI4Xg~Z{#%>4c zlc%nnKOLWBlULmpFLBO4Nx#??-E2UJ>)gX)u<$Oi|5j+ytACvBgK{rhhAa*KYg5=_LUPFCK#K zIcusP15;g~7#|3?7&b0GRz|gm-A5<;$}h>q&QbBGGm^vZl~LtS{6jegyBrV;_2COA zO3BK{(--m;F>2NG;nQUwB%VHiym%0fGgNM#rBFXo%$k(Bq4wZ<0C^C)llzn9XgVte zEIeIrr)|^#8gBQTPFp$jrJ&oFX+y)-EiEAuUs#uK!qiYTufM1GfBmN<4RjYjUO#zscIv z;(#)DK+DIio3}lU4JpRXhjo&|C4Ry&W7BopPs<~G`xg;&fwRgn?F6%ruCQ9w#kcn1 zn~Kn3NevOb;{Cu`?&!O1Aj}Hy?B#fw2H}l#qt}r*JfP8^wY53{d%duUlp-wK1~i3j z%A!8|UQmo((F`qTw6#@r?9EJ%=Eq4KzQB2epcv>Y)`(WAfD@Sg!^i91=M;fcDN7ni z$WTpQqhO^>{Ymo*Pu<-_Itn?|cw$9otM1s~L$8Kl$j%7gC4xHrWN&G@HlNhjcvRfG z1KICu7##3UPwsxbqnh101O@C-d8ptka>v^{{2?0Ud7ZJK|AW2vjB4t8w?=8Ah*&_- zP!$EFE4^a@l&&DXDiBKOy`x|S={5A;LkSQdkRT#8^d3S{=@5GF?+*U{r;K~X9rxaG z&ij73Ulj=%O+EZZvg^a~sI(2wg>>Lwvr!-&rqt%6NxLf`X zCF9=MFnAg(2{YW}e#S@6Rk_|NaVO zqy+AR{$}IK3*N-$Olz>?Qmguv9#l^q7r_*w@ zr4Dqj)Xz(8w%rT==Z7bwv_|x~k9x5u^ju{xCjXC0^Zc)O-kAUOUjNtC{x|=!YDs06 z0K3+$*@;Y?i?~K}R{&(!%}-U-r`opqnKH&epb^WF>$A=)SzIe*H`zJ`sIrKHa{$(? z@_y7b`kg@UN`#g>prr*|C}P3vM>$OF3I0a*KCM!v3tX-KgHtQ$vBoQ6JR>4LpKi99 z_1J?<)yX*O%|Ekc=neob9`ag&P<*xd5B_U)>OE3g^d+)5zY_ADC^Jp<*vmLd;C*8< z|BUbFL-7jaWBRuY5UVuvUgsF>I$!tJgGDC-TwM26%DiGqiF6x>RCd5E_g<;J_1#BE zbM@K`lRmCaoen3XbJ1)6Im$eH#l>1N#341cw_ZoOMy~``Aw9fbx*IPa1jN7Jvtm!U zx{u|ST>XFVVCwAA)(4;SCi8IXBv7!3*<1}%|8l|BNn%@-i|loW*uW!BjPL8@6&B&J z;IXvC*&W``$<~M-N$}Ca*1GGx4|~cVy#i9a0!$5l>ZSTl--N6A*G`J!%{VJcXD3e^ z{X~!O*Jeb{B%U9K3!i!dcOo?kV?MItL~2XrYJY6FOC-5KQ){=%99e3ur>Fxe4VpZ7 z+~I4%MlV)F972wYfPKXd_7jk4PPT=R{sdv>6^s4)OJ6^EMF~z}C7E2^q zb<*G-e57w|k7{6eksEKhi=8Z=r?K>Us-vrMG)9>|U81R5vUqiANv$d0$E(4ij?pFVpHF&0|M^df&?LT~GxqJevtfF^R_^Tacp%%$27H{jS;zK4ZYf+Uw zU3mJ_*@6Y|e6;4^=1nfBwF(2>WEv}ON@_`FgT;k;s%)}J-9=p?w3)w_BTH4>7ziFO zDXRIR(u;|mBpwvuvYz1Hcuit%rcF$GfEq$xdpfO3y6dBfG%I|eurz$U1b<`+2s5~R zW0no%yC%JL6EvSJWq!kF;@cA@JJX%7QfIkdWqLiq_DmDMCdeTL_+99tn{Cw7xL4wO z$J-)19iRJsj|wu)@;`7iyuL%fXQMbd`}OWu>kkLJc|Npn0hI$b#lBhI2p*py_TyhG z)NQwb4`Ag?4xV!Me{)M0`bopZ{VMT9HTLp8(r~9nKJsd@kk2Cd0KHYJonR5YZ(b1W z_`UvSGMqZ^id?B$4X&Nr&Wb{jM}1?M(}-lo9J+^(zo7OQk69H}XlE=1H2B7B@$I`N zEn)RiFi_*uq;-t;@UJ52l7-y($$LtwjHjJ&{<@;~2>wfo7uD#C4=biV#*xXHcUJ)4 zUx!Za`tV)7>}7MoS(L0tuwY6v|4N14pQko|w!WagA$;YvlEIjOOmm$2#iyyVL5k-$sq8aIQiXA67%pX+4Nx|+*G2R zA^YuAyR3So+mVJWIJ(eBX6v=rX#4TOvY~7Q4#n_8L%5!!4PRP|m6{(Re%9!Jn5$YH z=QXpl%dSGxnPXGS%TWiN&aHlZQc3a2UU`W7h~%C+-p$3Uv9jJpmoCXV2R>xHVwVCc zIXUQfeffqDC@W}w+kIyrlIVBTeyegmhO6Qs2Q8%k=#GnwQ+(@sEZS4JyM!e72HUbL z>~+^R2fRitZ?W`u51&@R3PS^DD>tCLx6z4VKcMPi$f`Tm*>F=E57?g0Ug0x{vs;o}R1BZ` z$$rd=@G~FqR%nrVkWbN2v-Pz>3bY(QrhP%>p3?B5{^>|lsl}13Gg-K`dRDj&K%HnL z->IWmF(-ZS?aaI>pns;rshYBIZZpt zKansr31_fcOAJVffu{eM3I%2|&`ag-jjZb7Xf1emSfqOW0i(nCyAocqPF2hB@+e9q z5NkA)M51AAtY;{rnRpsGkp?#Bg9+BA`Hb+M-ZZ+tV>BW6)?UOF8p;@@&GQ0IU z@_c4P@uL4Z^;H@PJ+bMZ7Mm~=$ak7D>OucLHzfwy9Q;}KC^S6bD9U_o$nAZbHKbbdOH5_s}w?5@cZt9qn}ah zz($r`#F&2Md#!3R(y5y?kJXh}>-2y5CKr1llkaD_n%c#JjM&Tbd zeFbO2P06i;o`kWHx#r$&fn_H_j0MT`=xi!-Sk@RB!(Q>a#fMjrl-^LL8e*%bI#=n; z8@(7c1}<2M^hx_5zO}LDV#y5lhXl3C5AI$n?a6c`)apH9U{Z>rk{`L@$bxK)EC#`(w>FCi4}OM z-62PF=cccqF7cKVNd*8)6*4Qw#_-@pl}kGEk3=w=Ru)KnHb8mVU=^nTa*6>_rJ#`X zj^o~K!6uvMo`4fbI4m04r1Fa1{*bEVvO^JZk-ikOH? zDY1UdYw+(;Z*1JXUV5Ww<`IL2r`4!#k3VsXaG6%$i-(A+l7a6(5m3m%%te_^L7UEMX$}9o5BZ=s)P9Q{IL8ZG9V3Dj^N6a71A9!Ax4 zv8Q8}>iBX(57Gxvc?B;zJ8+5h{gNk5jTPXyp72pg=aaU?lfDJ|0C6R#p;cgNsKK)W zUmCIli~)f+3V1faUHWiYpQCgE`@S4#&bh5Sb$oeb)bs@Y2TX~mM;|?>= zKp~eoFb8sBa#Z)O;Og#>^&TU;*)i@OMucyz=#_*0t5(C9mNgn!?X{Joq@4iHJw-ZT za6qda46kCsKUZ0IRW*skz<*u<9^{b?*W(v@ftkh0hl{Qv-I!hL-V{MWkdI8?lQ+Yr z;-#zod1-$7`KhyiWI6Ju^f@&0Ks&!ETI6U(XSLeezp0l=HO8^t%&xn_Vj*G((?MT1 z%Dm23{-sLo)l(c#60-%k7%4Hor0|x$Hnf7prH{Tr{VChMCKXc$6JlVdSCjCCWUlcg zN%<`lLEj^GmmPC}C=hA;^0lt}pt_*zD%)lPOUj|( zS}e6t8@C%P=@D4D{T6_7ysU#e;nI7#$pMw$rlXgfCKU`poNDZs4^U{G6g}O-@J`zi z$FK6`Fdx^P7xMDO#U8fZBKF@BbR-kY)W>(aOu|TrzHej#0i_U}+_sqa#ZasjxDA;u za_9}q)hysH0HFobT;!2@8(rR83&PU_gZ;afwTpdruNui%MCZHbfVF8B>5D4cZ^ot- z7xl+61BMHfbAx9kh%t;Zmlgx$)$ne+x-T&Tb8Q^Oi6qkkPp!lfN;ypR;WXoWnsT{> z!6Y&NDoOC@JkjMG9Zr%bep@by4`b;4RcVOcQEO}hjj;8Yl2UqdJ7m~_j2I{facISROm3wk9TO3e9JgBS7ciWn5;&&JF*);}9$EOWE98H3#ZU$e86>u+#*LecI!yBP z$Q%_52?@0|23^bn00RweZT5I0cj)%o)KnPI(GkUbis~`vH$uL4$B*9CG4{&YULH|L zx-POF?XAW08X(%D)nzzQ-aAoF(=FKYKJDTn`aA!ac||b0>wc=z(h#XN1{dqGMthIF zX`bm+H~&r0dt3yrRE~2o(Uz+08jB21^`v)^q5r|G+B?|xKbgE4hx-37+KZ2H4-+~UAV&-ZqXWQD*W+akAYP%`UqQ;Idx5xV#gL8AHa8vO z)myTv!(=O}w!`Vf{0yR^xHu^+Pm)IfSqx}LRj_ZYkXv_I(*9F=n=;_F-+gdV0LCE07NRyS)oU zugzLaOq^!Z3iwfhKXp+Tc=Kp!z{}Fe@1x(fz6neL((qx28u_rA$om#TGJn_=5#r?_ zw*GK>C~Upu(EtmCH19dLW)r;)m&L(M=l8`z+F1A`!}Gj`=1xJOliBDK%rEe2%J-gH z;ywnn;;_!w`b-A)koRc2UoaDaon>$NyC}xh!_U>FC9O)JB>GYXh0k*=RcgqIP0YB5 zzQBxZffK?lztT#-LE^~99jWqrF9%U!EbJ6l`lGrN&CN|a5Ojoio1?NFIO)5#(`Vsf z|3Xz&x!MV3E7%$p7sta0QP}L^R))S@HB%tPw`;7)D!8)P74-N}lMp>FcmPB;k%2te z-z^cjv}~S5!OX`~eWJ*1dbqp_Wn)k!a$d`JeJqnbMs^J_h$JIXp}~)@6q&3LEEKIw zC3|cR-JuHV1; zo9*s;W-)z$%+7{Tt;z~zt(dkFp36wv$Iy=Z?6A=R2a!gB5Z7BqBE6n{yyapR^~~@`PuW zssB#t;MXhoBsQ8U#$?-Lr2;#ZqhB9W&GEqOOXuMy3|my$YG16HbXfyq-m4$b)BEB$ zF&i3N*~I1j3Em=|1S)2(do}|6zee<}X>9ooG`}l?iCa4(Y(z)h0}qk0 zaEU%sW}WVkFc*-r>-o<7|(PuUnMv(&D}Rs`h`lA4(%*c zxS$IuqUOBi)L}{D)-p#nAEyu#GD?#NJf=qjwjm0!x*x=HuDc0r(M`Dvx3;Se9XR+7 zCS47}3AqN+=^<~rIo~ShEAL3%=8{{uO%dyFz8dtvD-3kfK*8iuN1t5#A}tUyLri1^ z0yfpI6_K>_%!|BL@73|z&51St5wAgiCgwGcp$Qf_JrgYlk~aqP1t}x_&+{*Qc+H#N zfWi9eb}mB5`w=3)L#Gjg5x&~hFB2aP4l@P1VWV^W2g~Y3ldLJ8?4$Ir3Wx}}*dVm5 z7_2ZHiZLMz&OD4o9FmjHDmS40HO@CCm>aEOG3B8=<(K+3F5v{eiLMxQdKFMeZ1pAL zf0ZxBwPf3~3b&4+z!Hm2zz6{ zGYfjNQtKL**5}WjsRM2pMT9d&FZMo7&fUn)RXr782c`nEfDBA(r>el&rG_h>x|>V&u#W`??i>}qq}sJIX$La3)k!doIfPv@BZ-A@*6Hx4e~<;6|5^AwSY>yvD`^&M znHCEeQHXo4r@Jlo{iN} zYVbeFR*vU`2b}q1;T9oM2Q$(AMLPT-QTt>j2D^4-A+dlH##OHYPrmr(v+x*T>9VI2o&Y)QFkN3z=$f)K5f-{miAr59G*4mT&8yOauEEAkO{9!h04uXj_j5qw zSzNJf_|UyeNKPe=;c{*bS8B zgo32~k3A*tC;kISyl(^miGp_>i^D3n3efELE-?e*PL3h$cbY2inayAfJqZH zqJct4S*#rKgKYHo9dKEvaO3WeSBP6(rD!z~rP^%@eEbC5E~M={+5*7>U^(K1fS$xy zMJ{=jNxd~3@x%sFHMtwd1H!BdSofPA)t9?tmT28r&GO8D zGC%Oc&}$)Ss-!kPAigeYV6t(}n@U^eIVzQdv^GD;bwJZv`D@ zNqXB-P#+M#($maTy|=vsoP1M0vdUtaE4w;+B8ew*5Le)r+D&ANF&3HfY;|X<3vhMR zZ)Hwf<#QM;`z~S5w?#AXY^yT?y>bnuZc!YR(Nw>}oQgoxC44e!7{}1Cy~TartF1U~ zv2Y3D6BG>%%a-%oU zU;O5;xFFOA&pv_TJQ_%ddXWSSD`{~+Tka2`>U^PA@c5&luKkhOgBo@pOVnV}=S}#r zX!lB@ta=<|nQmwi?-j1NWv(C(XrWuvCW<0J9!Kyg>Cf#6m%G|}wk$Ap$}Fn8KwoP? z8#EA~5i2kz^{r&1^cetTFIGBSb6+TI-8_smKW#bX_G|-GZrfb1GwQhjG|4!#iT4)@Yz< zSiaU}B{_QjfM%1B{A!`J_-Fugb#X7R*bk+i7{mN1-<^FL3ftfFseX(hN_IJw(U(tL=fgVu& z?v^=eQcyI^h_foxTA-wt29&3Way(F)7Q+b|cK7RIhqG?5JukP``$)qh%PuH1omBC& zxvmkx9-yaqxBi_;Qj$>PE?oFyazsnRWx?z*Dnv>;+CHaPO(@|aQF>(zuqzk&#oZTr zpR6L6`Mlqk5u(6_BxlAj+}m4v?Wg>jm((w)HuyC=qioj6Hqshy&mnc7HWt&fDU!{CC5A zX(q*+bg0DZV62_EPJ8FD@bI;uy_#s}>1EUW;yV+zi4Bw&7C?B5 zjl|8DMqB23C9_uw7*MWy_-lisPUG;eKODrA6T$Q&I*KiuBjNOMqD>_^7k}?9d54B} z)+E~fI=LPpn)aNVL60vJxAh2m_Z$lW$;!|?pYu-G2^Ukygjy67YztE+pthev;6bfW z$+YdR^u7Ul4JPA}SOF13zPD-#tHKb!T@DogD^N?gj!5Q$IV>82yiJmDX< zg0S|hD-3&{>PRvQAgTAOCEYIXiOz!J$w=)8jDawx+PTFZW2+MK9K^5+{clDu9{!g! zO0kwX{Qni2p$*e#J2~8mF3`;D2oE?mn?J9I!&>xogdcabNZqNk4e(_!xA}W+gq=Ns zJ>V4&016o?pvqELW*09Z-u~V6d3M;qAr`~mU0f3A$2!-3wrkA12;S)wH)TuHhL zsk*m}wo0P~XzDFocX!4wC*8VShUmavBO3y4R~4a6jQfHgEq~S$&f;+1H~_tprUyu- z@M$*ioJ?9@JXrC4Oqe8Lel&XZW$Zbt@xl!lg?EQjY?eeHyc&36-B}-YPqkg<8q9sS zc|3!VtkZw~B`r$pHSws1h|?h3IXX-!de9`m5T>eHwui9c~Z6x zw|Bk)n3t=e{o7tZ0h!KASli@GzT3!oe5z~|a4#mf4m`DBth3k&mWV8m75I6z-J-2) zz#_dkW-J*x`gG0$qwH(J`J1Oy)A)}Ms@UOSThAU+2OPOXuN43rr^jzs5)MXC(l6P0 zw8kQWNjCq&lZHpF8i6jU;9>|N+opyPQ6KkAiKgSiXp^-FTr^5L*w6LO2= zjs>M39gv+{huz*ZnTN`PwwB5we?qR#HEouv%Vb1FK8+tp9qnWUPpMP#0o&mtVM7I2 z%>fdl%D)%OXAf%S0g^nW+JVByZ=g77$)t>Tn^C%3^ajy+0}06? zpuJqD)EMr$@%C>qJ$o|Sno%uAoDj!fGs_SwQ2)+!fII1nmT{D&@vNUPB}%}!tK1IV z4GRjhs=dFolRB%xENtHh_;=slOQoxnxx374WZiwyIX>&>h!H!l3+c{|R;UTkWWCEJ zVA1qI-{JaSC8LpzP33r9z$@!T!55rO%g?dPP^UerM^n*0#`c;4+!k;5*?(4PA>^;5 zSh`ZY@Pd+O9T>Cl45&oZmLDd*3}HM(lh{8HN-nO~yLRR}taZWQR(pfYCz}0`K~XZ& z0FK9{MJ{m@7I7PKBp7)i2IdZZNj4r@+HNV}K}<9t9Ft)T-~J4)WCExsb%Psygen|p zGd96xC$`)-y`#s!2}3Pt##ld-H-jo~X7(m6Y<6O(JOR4%JvOH`RG-cc+H~|J&bL%j zXg|5We^(dnrdah7&ePNW%t|5)Vk5_{PDjznzjr7`GN9Nn$Md|w^W2jZp2z@S;C@?t3xF{rZ*sH^tGGXvgWex(SE^_Mzjb;N<3x#_-jt9PX_-v=S`Dl%BO) z!sGdjxFp^25!|Kq8izZ}97agj$djWzOdPMl46w&zj8We0HBQs`Q7dgoQMN5%Os_%? zFj;8=-r(h!FqYnwMaEax9<`%gd%THBAu?F}7w4i(`U6cWfF#(`+>iroX}YfzMY$mw z?mWt!k|J>C;K_4v`h|;A_0)Ou2)v_XGM8FJ%Hx7BabK*+eUA4x++PTtQ^OU&@KK-| z$25RaBMy;?O4ypWs?kAxZ`B(f0^^DTf@>C{FRn>u*KQ|N{w($&*0Y=c`5~PVxc}0G zZjIiS_r}*}|AArN5(sL@7@{D{YEG2_K2|@8P#LO*=?5`=269Ba1jn@W9I@Vfj8@I; z{XXb8mB5gWGqppqt97tw+GBEQ!|te8YEj}Scp=qpRRXKPKsTH$7lLsjIPtKT3aKvv zh912T;EiF11fr1kMk%=@3!zyQ(QOH%#p?R0MlQurCi_qDK<{m7u(1J7&ty>aFO8rc zbhNz9u?5F0n9*e2rnR8dn@74kago&^OI;{g-&(N!<77>)!Kedp_>8_WRoSxvoc_J6 z>OoO!AM1D01cYEMZ4DrSbC>(J$n{=nTBp9=@31Yj__C!2Jlewq+I>tV4Z%uHxJpaG zZ2cg~t)FByItLYn6c;8gs5ZPsj!PEQt@KIEaSG^bE3N2P2LSQce0r1~Dml2~aRnt0 zem&R@7Z%ZkO@GLpCW8$H*@aILf;M2D7f6hcNXo-}2QW8%(#ez^4F~29jPHOT$2FIv z*Gq5%gx#ZSKyNZ|TSHYD&{d?ba08*{-}{hSt2@cv{Wj#aKggTgV;%_k9|Ds`pepne zQY(gpVKudjOKKjWoy9H+BAG!W#kNE!UwD9bE(4gv&EpD9`nBjsV35Z2edo|St zDvVN8j0B)9pA#@iLd?Ju@YjaxYRb3OY6E#qUg&D(%07IFh+Ng)7aX~;5pTXP$zNn^ zaQ{&g3Fv^G90xQKU}U%Zx=kqsfNeg;5t7RZ+w+qQXmiLd+}*xyHzxjNe%V#u$GLPB zu%%qJ03ac2&&S#TjvgoX)hhy4#i*-|k(RYFNkk*u!tETfkt5$nxjC%4>@1oomLTS? z#2DZ)?A0e^l>fWxf9I7bn>WnhTT1^7{qGj_fa=bMW>{$|7*aN&zo_S|m2Ytk<>gce z!|k@zwzG^cAF~>ef(XQRGJ_y$uWtJ}#Fy9aLtKDPkY*0AA3e&>^)RE@t!B5b{waB4 z`VlP?zz_9)x;bw-BpjXcG9C6`L|8bujC6chFb*fvvyiCzp5cmc1gcO%>zMI6v*?4# z?UZ2=8@upUve9Kh`-k5WjdOUmtI-+n%Nt6@*5~4FhMHuJ?2LP?1$r!PLxsddm2Dp5 zOOLbxNYE*F@knpyWx(KWC#uV=6Y$#uM8Rqip)VpE`GLo0EIA5xE)Lc&iYod0hb-+^ z|3uiqzXGDH|7IcWe~zfP{}JytW6XW9w#;5Lk$3u}JmK3L5j>K}vIdQ4g`pGy#&Uf6XH%`{n`55|*8)$nN#w8D8i* z$`7uartKPQHj=h-1wdtAXi!+fh0}37E9hImnNVDkEgN@F-Fr>NU8Dx2_v4rdH?Av# zAVp?pZ#5Zv6ZkCY(U9$Q_+j0Ij${Jy=h?AoHmh$aCLzf>Y?neBU;yDceX<}0^~?3D zwNF#=Y-g&lMz&Sr>aD9=cmQJg@z#Sz6$HiY0IyNMLgK75=hJj!XWOL$jW<3x#6IrL zP!Qs{@wRMn-8P~Jm0t6vje^iF085y$fe-97veG{5j#h1|6YI$$gM0-v$umQg4D<<; zbJxVEx~}-VFXDjnjp$S-QELU^OJD6$bomSgCC!dW;LJkLYy$Lz+IHn0m`m>Gr8yv9 z{c(6cb@-`z4e-qX91^K@yA0O|%H!^R#8pGq$+b&%9#b-dZYk?gMjmJW-}LF4CPXq4 z@lQUJw945W9pv2*Q*b_aP%oMhz`FU2f7c*IGswnEmt8rOvrnpfJ_FHj>D6jkPWO$My?6_u%$)PzoapIr=z4~d4;t6KyZ|9XKC1Wq~UK${h0nCaHG1iNRyZcFk9 zXZuk5Q8t8&Tf(`9>WgZx2aIMN*l>`3HhK?l(C;TkfDs4PQx-V!K@v+|;LnhrjSG$R zJY#rp;kPDPn7z@ALY=Q0|C;*6J=I6~I_B4*mut*M%I2|QuR0N^Vet4#4%g!MvofB` z7mv`U$D`r!YH*Yby~5H@dC4xJqd0jkHA)qanVlOTf0IwhJ#h~4aAbH|z<^(zgv{}l z`pVu_0m;@OU~@bAa{nHdr;ZW6W6ysJm*?gqR3pRFgX76bo|uf!!L!mDSA7TMzw^ln z9lA#qt&7^SyUHoIa1tP+H8&GZg+QS%uB2*7?{|xE@q&=a`)E6c(W}4V$-3j60aY0Yg&@`EV+*s0ONZB3ACE+{`n4Pv20(*jXqCRO`Ch`J59p^)pKydLrhaXpB zWAh)+4Uf#`&)Xfliy6>)4R~}I8m=nJIb9IIp!w87Yc%I>=;aPXA=_#~@cxcU3X@Ut zYBvJ{JDF1-U%v)K-eN$)zQ^pZ&qc$argihKXxF}lJ1~bu3|DTUc+vtX__0xQ3Dk(Eo$b779yWU}M$0RpDq=T^&7kzu^P}BLc&Ak_23pF41SOoZ{ys}JMp5r@&==* z!}85?L=fU5aPIf_&3ywI&edzJ+syt?(uZQcJCD(X`6?JYj0`jc7`q#Dz3|qn%!%2C ze=xYqDR)Tzg4V&02v9x2j0&ovsbUySaN`GKJbhzw)!sH|)x# za2$Cx1p%m4VXync6=~*?TSq<+fKxvZuze-s=zq7;fq9kR83tNSArmL=DU|~UNQzCC z^M?$gqEuRZBh}W{Y}FZh4VMRo5lOcmn$(T>DtNX+S6UkGX@HHl(unLuIlNXn=i8d+ zbhpDLarGwQE8n7l6i=-|4aGk|eTMQsqp8%gRpVm_Cb4>GMq(*_fHmL!IQ4?2(wb;R z&wMvBOca*H^y{D)v?d8Q88c2VnBx)Qu%Elnzf{vtb6J{LgSEf1xs<0?M^E6-XvoEGCdww!s~jEA8~v!uOKFBCO~67FS;H> z`G<3MDRoIB;X89713HP0<%@e4sc9`Qkh-j4+{^jzC~&w&E<=N;*woXJ=Ry4fE}i6IG`!a9VQkV0KP;|E7##(?x?W*i4ZY|f zVQj69Hr0&Z(62~2Ufv1BUIgK~zGdOCNoY;un@;u03pGO)ZM0Sn)umcLrD`!ASN23O z`K7!zf6guw5xr89jAr`nPE-6rnT8I^Z*}r^51o$sZb%BL8YJVN-VuO_;%bJIQ*a{cUS z*lbutlK4z>qdw}-3YmbQK%>pl|ox548Tdy5(bo{-p-J*w>Unvpd zoz5RIMwK@?A9i;3)V`%oP1F1I>7{f9`JVU3-@kj;;+dHh`?zXp@px%J)R)CBumTQlhWdX5(=d-Aon@Z+agtYNZ*9Y43V zL|2&i6A$zi>qb0cg!|g*&M?Dx{bRl~N9#{utLZOSwi7#4G~;o#eIwN>@27u~Wq2Rw zwosVxa*EV_`+WwTM95mcWB$Xq2KKo)Jmh*1X221&LOIL?t|JQ*PkS2vhKMNY^(GXr zMSn9X9c(C;(AE5{2>Prm*t+0L0>4QY+8R8@3F>>7(Q7RdMbioW{=gAxQZYf%*Zr`x3vdYz_rOCd%Rt$dpt&%lrC|G1F`Ho#g`>Ulsv^ z>_R~olP$;nmnGB7KXjOmFH+$M|0XV>Zy#;TG+LktA1;_#AxUxGBD;Dfyd$S;9^)ur}xu z>U!!xT&LpG`+^R6_gh?P;Gvp4?znj_-nI^&Qe*6;_{5(>gVBJCMj{e6JxmV4+@_C^ zfEu_+aro!l2{vl^PD`KFD`8EGwqzA?QIWtNC$t)%%|?%=Y&)HRj3$$l)Gk8&+2ug? zX8NQx2_=kpXX=jd6aJ#4jbo4s$Fc>K$XSvUUhC=aqhEE!n> z*4O%|BkExx30@yaS-O%r0EzFw?vh=TC_;Re6Yb{N_$~TXfL)wo648~l_-s#{jIUq@ zxWI)x1*|8a7S<{BCoaV5lQAjEalnD*a=vVjX`CYDN7Zq208hc7>(1F-p`Of`67y+; zmcd=&t-ZuH?)xuyZ00dfm$O>!OOl=qvHC>Yyha5me3EQ^RNVUYH0=XqnV9H>QoA{P zC*g1-fvNwz9_ z1|)Sum_7lWTDtBSlOTR;#)`d8SCmkr5V4hr5l(X;a%AK_7(Q=v|4qa5UvggmCq{?< zXFu~FW%BTG`B7mPD`naZZ0{ZTUV58eiX3_TSCx80bMpX64Tf^BEwI-v)-op};|XD6 zIYq)P3Jw>j#ltb#0cVIRcro|#*jRZh16M~;=FhSU2 zS=D6@vbUFplv_d}4BQwbyadLy+<`>67ejD{BQ>M!(6!;ea4$cJt?Uuo>z(K_0TAj&sAG_RUo-F53n4LiWNjo9G!{J^0LM zrhJI42>}Dfcxq=NXo$=&E=foxcHE4i(%oJjm2)H z_GAO*>VvTC;hoX2kF8u4D-4!KEr9mq^NMKl&fdy^t4_UHZO-rzjp6))Q&d0evQ0R4 zp~Q1JX%xw95MUduH{5ns%Y$n?VcCOOMmG2;SsNL2S!&)J9*X8qy%Z2;k))U)~^e;LebAG_mHxQyTW)2~e9 zJty=Z6jEOaLZ@~>=j9eHG;05QG*+P8fpEyqeOSzJRYtBxoI3Lz&5fyJ`OVwM% zAYreZ70y&Tlab(Fv>OtTlbfh%U`m$H&-YP@p`Y?TS3_YaAmwgM`YQ$vuGQ$mANXa! zuEfs)NcIWJ!@gnzEVdJ0m+;#*pI5-J+w9lHN)SXJU7Gt4sc+ zBS%O7SQS`YT@)w-=wrU8=|gXqZPX6u6Wo}LrX`6*(z^B%qw_+CJZ`bo4mclaHGko# zxBDYo@_CX~kPCqCr5W(=%&TTZu)xvu71G;s+&b%qhfcahJ%4F}lhNT$B3xF}jvIjL ztG57TX%G9Yu&SV7m5}ACT@HdUj6acpfTz(tu)9@1iyDG2BMs)lok-!d z(H$#ge>iha^lf<&C6nF z3=ePKg-ik8ezE39!`p{1mL3&rkas8*@cz(hj>DC5DM;O@RXx`Or;low#BhUnYgGXw z#wcXqqu#5S*MBbo!p#ay--UUsyyF2tZ1vWj0)mDo8FWww94)?O__a-O&3Nd~;kjNp zkG*&q@Mlj6*niX%OykLpE}0ARdfS4$8u69=_SdS ziRt%@S`${`X(zco5o@uWb3y5zZVtRvCEnupZ($%&LuO66_R=C_jc!97nAQ~rjTG@P ze+oM8Ui$(!w}x+B@xzzSJb{fHRKa>-jJMY0Bsk^#V%}?oTa-Xvlb2f7QdE4qymc2w zoJ>=u)iKHna|nSI>5w}quY0;hOE&jq9#zTFnk5O%ogrgxB31SM08F8A7<^c=$nESE z_u>gKUHXNw z#|FTtX+J=-4=XWtdeB<%> zu6wI&-G6+oQVZ-pz4__HtPM0b8a$?$1fDu0~*i~LwslXvR?&UuVJ?Cml z`KT8I5N!ifbb8W?GgGB5f5&zuj3KA9&rdGgwfp6}@u&GO&8WPslTf)^3MH`}%3Mx- zQ*ApyGvYrhueS!=UOV~bz1dm!LyHxoKRjwK4mnjOT{^?V67&5&kAC#i8H{XR<{a*N zgRR{67fw?L@$%nP#H@}02Yn@YB!328q#EVjnupy48R*3n0spz=1{@zSFNpV?VCPNm zwd-FJ#3}`}Z)|JI@g+}-^m+7&vrg>`{vGC>r1Rf+74Rhg+2^ayBSs$Wf<02vg;f22 zMK+lY=xky@J7X1X+NIloqh4MTVt7rDR9Jwyl2DM9DR-_ zjHPPEUv)q`V%w!ggO09TrCexOm~!pRJ9W*a^XLlqTji&0C{_IzcX8QbvPC6OJosv5 z>}l^e@}YCeF;i6B=6p1$-87HhyXVsV6yO=>MODio`BIl5^1dpRf}NVe zn)}dOUl?t_GRUc$ol;MSN~!{(g}nk@$t@|WJ3h=JhaRz+NqTbJ>@G^3!{!z0jR-$O z&bi1(qRUPaktLI8u2SrMm!`(pgH6sPLw>u?=u6`)4tu^ zqBpJaV13yJ_EJd6dBQ)C-L1YksG@T#$g#Fd-O zb)MVV>?-}sK_=+zw&TADo0*+BmHkN>yX!Je^IBFSR(SPZ&&w3mkQYxnd}cEnQvN)_VVTN0t^bRwrSRg) z*D3r2eBvrVj=f|{Xcu{cE2pk-`eq zhipj!4h(fkZO_n$7F4|s%gmibkWb^3zoa9pYS8){_XwBP0QpLuW&;q9xM)Z zmY4W@pd2rnCDUq73hd%7#uU8MW*IoT0ciQLf%ZAj9LfVyyqJC90KPK0Jr~O2Curb} zTqNQb?qo?m2poC+IEH@CfZgPK+znru`<(r@LL@6TdoZ_8ConjS?(qh(`bmn(NEw7BpE#Xk`4}En^IWkI}K~ z(J0b=z=8}}KvWU(t!{zLBVmh~;X#_q+d{edkD?VLTH%b@!dt+ZFy8GlyuF1(A`8Mt zPKfGca8fsdvTQ#-w02{t+Jtn#j{jC&k2AyIs}@{dh>6Y236Y`-@ZDF^w?3D|>XH6& zjnJxo9#qz}Ss&jlU5DZq#L9Ek-=8Nq%Y1j);77%&S8fGL5-4>)&>6}7M}Tgr zS0dJsU6M(~kCoC`1tA*&u!r%0w5cjl@35{^&-yto^)xK@_y;^trtC(8Z}=DmTN7+;hP{uJ z-z4(<`CsjwbyU?)*XU6M1PlZL0qG9uP89)Z=`QJRkQNYWkZur>?rsq2R5}hJEgTNr zb?z5@o>xJ5?(e>Lt$Y8t_qY!05Z{k`X7=p8XJ*fgA8<@WYxWbq_M9XaY?ZQ;SRh2g zA3I1SDE8LR?Cl};H9XIF`E>$}x}a<)&GC&=_>sv#Bd_(r?V(&yRMwLCAT;*rhE}>n zxxW}rWa1t~U2Q}3$i&whF}5zUF0(+5VnhNlU(= zF4zo-B5JmX2`|tY&uW=9LJ!Eq_dZG48jrgR-c1E7vwRuq^Eb(TI!6yIUd2D_^sF=)9uQqViMCJ8a6I1;t?|WW%nOfQM>V&FB`JI%*w?3v;c`7M+$w_>Jm$x0Czv zHFw=|HUcIat5eN=62L)R&tUg&rU6L`V`+A&z$R6|+I%0w#n1HzKEQPQ{9ib=<$q=B zMOlE%X=|Z-bEWv32tU8)W9~PvIBl0nbai#DMs=fvp{FMhMW7r{4Ji)9cF*=>4Q9!m zO?AX@+GZW^xANKHouBd2ZK^g1LwSB9?n!g$v$S2@vr+iuG1bI4(1N&HmiW>gCfsimA0%QLG6{X3o0g4dqG7;g*PTSf z1g6rR9wKGTOvm*xV0~%0MUH(i)PJlIAd(PX30=!X>y?dK`<(mGfjoXX54hWaL3w8p z^xeo%kx32McD$g2^)y=!SVVd9;B2xd0H1I2*Tx9W(+!j1*odOSPtxzpBY*TG1|cDu zv9`r8b7Cpl`U4kO1#wAydBkKfM9>^>(v53$1j;(!|3c%&%sE@Rny7>Y#RN8_Sxde! zEkC>AiXQD_S!7P8^L|Rj`rOg8Y~m=97}m^c+?yEgw3I9ZkA-FtDiACz zDy`H%^kK(VBBLAn^=m-3+}X_rWwx(b=Jbj+mi5{n7mdOwC;uz;&;C61k4>$rq$!gp zu;x~rSNGWGNwmD|JN2tJQvG)|`Vvh%I>$?btUn==HQhp7b#lgSCS3S<~Vlyn#IhaKoK8 z(<^#SRrB|{kl53#R;i1F8uem+i0B;Xn8!a>xVci&2Uct=#GOnW9qx^he}f~So_afq z4XD0u+HTEGK54ap!#TW0D&3DSbS#GRm|LF#*~b{OO|k>s+COz8NU~I7{AAu7;X0c>_p8{nv+&L8g6;4=pfuh zkEPbcf|DNh)4exa9Zb09SSP>^F6|iE_<2X?s^U6#t$XGw0bF*_dt7bhF30`OkWnXj5RjJYbh9(Lktq0yq+{GXXIc@hWE0~e7sg|( zSyoq$WAG!qsiph*ZY_1TdqNi6_6}BfLV_)u0!R>Y>aE&o=-vnR*3V}CUzi~^Cyg~w zN@xMFAB;xBz$L--gSiW&25S8wz#V_Gwk@ z&o3W7y9nZ*Z>)q&lQON4SC^s;ZVV}&BFi`XFs-wF4POKB;`M@ythUP4%N#)DEmasg z`n3)kUaA?zh`y!WXBQ(I2?!4F5B1W_)&h5C7ap3iAuk1Jmo-j2=!8TN4Gg!ptXuu8 z0&@PCoy7v%>eo{C#UfmdG_8up+W8LTYaU2XR17M#pwGEgQp`)E%D1RnhqcNxmVRwkobhAicKl=Z+5JuhqDW9>dk>pLh1jRwSWAuh@NI^l zR;!p98T3$o4t8?sm}lBCPdM7hQ*@dr(KEvfn=>ROW=49f#9Gqa?S7;Q@eo>Fp^`?L5Z#Vi(!4)jHY8P_I{HGWHv!v3ensN@|t<{=iusCB*hSq(aotG zmgC;|y*b0=bemvP9@dH3A|;8A_^K`7)C2R(X1(Dps`c7xY_T^9Yb1AnsSvOm-f3r< z)E|?s?EJ(H^<53u6K7ED@qPZd7Yo$*Sb@2g2PP@?{11D06R@%wf4-$ zk=3*A7xfE^#m`f{X9p{P%uzsnZN^02pLpQ9*a;G=42GBMVYiIqvsSVE{zKDcDDnwX zuk;ZW4akaF+(CnfxV>?8R@WFi&TFTGwWOpe(l3DGV^cHrRGX4|=#N5N+a2;WTe(Uz zRI{u%P?=Rk;kwXJ191mB7$A8)u3dh%B{1wBE@zvX{RHVZ?k%w_L6v_`ozSW?y<&r- zO<9dRD6c5>?zeK)GW(F}$nj<+JZH2dV<|touX>}FZ1Ix^CYKt1Ixp+?Eb^)iHaXM^ zoxjGm8)IM4x|8ga@*|(pZpX1*JMtqBG&I?XIdgk17Kw@o*y0s+WXxE1WZhiti04fx z#u^;%88PV!!z#Bzpw!BEA*3p6x4tJU|6H%L6XAH?Z{w!ew#z=Aw$CcBftE!*Brp6L zJ|fc!&%U~u7QOc*YaYqLb1}Nr?yR>?A19U?#D-Ui;4#GI{Eud8Rwu`WMr6(L%F=*6rxIOEg^dYHRk{oAL8#*#u z#gaZbpKF&hs-o64*=H<1ed~j@kT05xJ3XY#DiQ#+wj$UlQrw(d449R8O10d=O1;2} zBV8+u5oGI$rqAuv?&h_o!`~`=Lhs9#s6MnirZhxAYhf}1!Lq%BPBm1AO=I0%Wkj$X z6qY(#oaUo=PhUm19myD{-yIUGtKpsQ5GH0RYUUijo5g?BcfuE_vdf^@5{pJE6eJz8 zy<0pn=U6UA+R~j+7z9z=HhO8GTpk@PQOg+W?G%3qwIA={QD+o2W*kzeRuw01*-z>i zUjt76iAG~Ss-ix86S${te6};`^@>NH2yj8VLArRr$YOi1n4O2a-Bxc-%-y=U@3A-i zfb;Q6ZR1bBJbDUBg%pt65h25L=Ku@!P&cQ&Eu2;*c#Gqu2bS)zKKwbas!3RAXJjir zGW*Syyq#5q+#n(OEQq0)>jN9&vX1|uQPBOfPX}ovH6dX`a+~Fy&xK=T7ziK9U!avs z;l^^J-ln~cXvw^`Rkya%Q^QoewYr*9YgdPFSelr`wZ^s9Rkzhuto=o}4^a;sJbCjG zx0J&s41EPWCppeboY*=d0udjgSD=%W>MoB2>b=Y=q$*7pKE+)p+G$xp<9|K-cu zNBb{#yUbrKxPdu=JFS!3BpPeM1wq40E_=H*ckmsaMdIyG6Wv#jk`bz-Se)E#v@HhF z)0H3pm>m6JofhA?DBa-26a8)8aVtGTz9ndO5eH$ zgEhiA3Mqr|25(VXtZ%1>xzr{8sIdD8J>d)4>#5Gz(SQkt{`v~%M978^JmY+Q6R5zK3l}uVx&UbOp(&3tebj}2|p1k4ZBk3Pr?bsYhQ)PGh z0-|5{!5Vp4mgaLjZBA5w7}RzIeR$9zDUhg!dT@%fs^)E5BQbnna~j`B*I^67+RkrA zWU`XQ7?PP?WtpppJNl8y<55LOO-&T`4R@>2v&X(}f$i9$_I=tEJ%rpgS?Xxw&fdHe zbj+V|u5}xfo1_-bm11pm`VPO4ZpD=c;@dcD*N=C@}0Oi^+%%L$AzZtIQ#0%RxzP1+F@QNA)MJn}b9PD_uvb>%?8S0x&#lXfDSH z-=<6D+Nts!F#C|&$f>^M%*l7S(hzA9;~$Oy@3{FqflCNep`@khgc<=>RXYCO}Qq zpG}}o+>=}jQ`sV)_gJ!T>kymXzN11un&Ec3TTCrvjT^%SCwvl3*B+zeK$up9Y_O-@^L+1(jv2s{C6Oh&c(wM%Sn%7SFovDri zekt5{^NjgL+9e+YKZEQ92RDqpjtU*|+kFvZm|K68?tJ9M%jsk(=9^h%ECuJJdw~>6 z0&_R@_goqdNU|h$pWA|Z@Ff=_#uhnG0xBPU==R?fqpvj@Et&n+yn+dH^qyBu2c`x>gh=p>SxQTE1Y12mQLmrNFn@xSTSd;M+c*5Pb5Zr)Rfku)Q~-wSRWSs)1dt zCm_xxTW92rKCL2|(%!f!pX$nN_P53IezV5$9xhjU*J{t5jA&i|hv8DAR_{T23vm@y z5TX4Y{T2t|i8L??R+Rc;4d3I(Qgg87kwlH)!&fPs-;3~SDu9RqV z64{N@R+_9jk+ou1xf_Trel&s(zEBBl+?F=u>P`6QS=Dh=MHx(V! z$BgI<5FL`KaBG~UoNDlYMutS>Yu?5m>@ z8P!agNoE~g1%TkV*)8Q5u3 zQlj57naB@9S;P&aEar;?mxnwn#$9qb-c{yZWKkY*RdqE@2gS~b0V^9qzAAgH-K~Kl zoY_KKtxUENTd#PJpX#i%72ul*Te&bDQ9K;HrwZy>9VWpX6k01|otKCX{R}Cc(2qh~ zHZ*X4-Xew!{Vs&)-)SpGyBF?(Vt+h#Vi4r*eDuUe8ey|nB8rNU)ve4W>t(B$+O2w} z!XqjJ_MC!az~KT%XFg`d7uTJINSSC z_Mc*_#?7*$bo>1{1zNrr1X1iWu8t8p%w#~BNS*wv*u4nl9o@zTd@~U%a}wa(q)J?- zR$@MGRaL7BDFy|VKyFptlgQ@p1K(%x=Y()DK)#eiqkVSNrVnGGfd486gb@eBTWR0wrFX)fQyH3dA0$YTFNwU(sog1@#7gDomB z$)4HxjwZeCk#fF?O$JV_iM?BAjmmfwH0FMvq~v#en}c?>f)EKD!hyDrZC^WEoxSzM z<;8^L>OZtf1n!~CkCPsH(&q--26C2hmhSNEe8!yacL`P4495seTrQZ35*8{6PJq+` z4aSrKyO-r^^Qj&@vxYK){IwU+p)8D|u$Ee;m!X_vfT<{AQerA?H`b*nm`8umfl#Am z-h{9JQG5J1Q=3}p^v=nsJ+b=wC}dO^Pi;-&(Zg?gb-NX9qCb z4ZnOfr-nWBfZ;&E)dIxor%^_e#m;C{7ofVBL+mX?^ofea#9pBjqhNkKe2-Z+;&n=0 z8i}Nhr4zf~8i`K7rK64vyOmOVB)G7gEI9aKdfsUH`#1Er|Drh09j~V$Wb(J$G zHB&rN#lH863C?srYX3bGP@aUh#l6bb%@|0zRA(8b{6yjWGMPYDLdNXyuMYkf?&v{`%I?s!-|P&k;q^ksT zH2FoaXmDnWDCzKBn@rR=@nPLIN64DX;C~g>Ih{0YvygC+NSeGXN^kya+R~h1NwLqj zYLx^;w?OluDb}d(_RD&G<lh1)b1Su!A{jI+#KrD!SIMn1SWobEom?)>B%o%B$tXENcy?-@O36H$QR*LrKChBK zdQa$?{*b^vU5999k3?Qx%2)#fhq-l$Bs?g+m$yD%P|`EQR-=zIAbCm2DQZS+VQcJh z5*#Mt0V}5U@gZyK(!FO&JG3$bxClx8^_(e`WC^OrF{Xuvl!Fd!2mUCPdcm!_Y?=Qp&~MOUIK@I;>H& zRyBnbVVTEsSwan?5+-kOChQHUlAf7xqD6JH8j|;!$}|y=a;9byJgZblWYXOZi-;tQ z+gmX^P=MUuYy9F-O{YBE?e=aG&b_f ztnOMY<>Ku=o*3Y7FLdD98>P)9SoJRTo*R`p^#rB*eIBcGB3;5C43V2q7`5v1>#~cY zMU^8L2z5m24EbC=Py4Vhsn;<=z2ZeFP`!;&9>hcx@PIkNq(SGk^ z;{ZMkESSNi$p>1^i`|}Am~vOs-r!-4TY@r7Dl_LA9iEZ!JZ!-tJa6b-%{>ysJ4>KN zm_s@T?nMXAkuUBH-#JEM>_(^OMu*5#PKin1s#lVKh;Kj9fP*kEFNJ<<7bsNIKX=i?1LEt_A%kKSLy57JGykin)ooZyzPzyJY8SU}=M z-g8ZlSE8`D9>T!G0DC=Q2w|KD5G&e%_05kDU|@hvmoOF&#eFynviTZ)5K-dv9bYEiR8AQV^tVyt;n&xiGnlr=v^qD{(zSt077gyUqxa#dy@j zpodxk|C(X;;gsOOm*#R&?KBPPp1HdcH-sZ^blsk)Nll^9@N_){b1sKLWF>m2K@`vet+*pbkE}NV|W0~x6*==xf*f%|7Ld9;g1h9R` zP$iVhF@fa037@oPOklaaHKV@iU`>&_2@rRBgc%;(v2S40Aa{kGKLs=9osJ6l7iu2q6r>;I;?-t4S%?*YL*?G z8c}DF zChSgP!y1+YL6*sT(b$0sXpRYDPW?54hH?--ew?KjKfn3(=>NRk2f6i5ikJ}6$M$|= z_37TgT_;D-7VqRT#9CzMBXQj#t|HEmzOA>XM|Pz>72WXj-6UYq3JQgVxv2O?T(9}4 z0mWwkw(SABf3ElzR=U=&tjsOW)jlU&#TZ2YuyqRI=w8EGmhBd4nsA5-96b0@$`MR# zE{R@|E=eln(a~xcF1hh-FUI94Vr#Q{D97`1`)>*A+*DxY{(K@E*c7j2~u$hM*Z1x+oF{}%}zENA+PSpa|}8y@h>Y>-}Z7;Xp<}1bETLW8FU&Hw%3Lq zM3@>HkvLp8wzt%tmofOh^oT#YCBfv#pr_otoegBFlHD=jO$+nbUon*&wcH%RK8v*` zbxaf&^Cg&|57I4z!WK){H%3X(Ww_bxyYVm`CvC^(4z7sla5>{GcKjfJp-hDkIq`?b z8})CKUwu0*-r6#>EPzlQJ`oAmtI2vAWOavP7EALJjr)&>sLvh&mu)cZ3YC2CqvW!S zo+ol7tuQt=jvqaY8?)J(n`z*t+M`_;dd)2P<`dVLVcmvd2(fi8 zq?SiD)9b?=M*?#EYjq{5$jH~iST6}FZwNeut-IsVj}&qTp6vZMY9nO@QIPZUoP=-M zPQ>;mF8Vic<)n}RiYKKW0gd|&k#*F94SCC+O%ibiF%)j5tXysbJ_dRIqo6mB>X9lk zQ46(lZoUe?`TgDPf-c0H%=6I}5AGxjefgZR*LR3O4NjUK-A^myR&8Dgh&jGb<~mzj z={!H=cBN*G)bK5|0lyIhE>-%sX4x6)+W*!p*@hqx0ZOgHG9SUJnl`y@jeNXZc2@05 zvUE``F~PlvySHBswGZ2Wu^TdT8R0jl2Uaefm^>gd!>m7va>A75*j)%7AvQBdW#z4R zP9LS;Bwoy%Dd`oF-KTo&I_7d*z%no3H=KlV!`+HBcfH+7hRj!+yjObfW8kX~Tt*=2 z`wA-L<9!MQW^p9MB$CQh=y=Nzr{$duikSVh(Mt4=Jra550naz~p)G+X3p^$*NC?b@ zj%0=i3$ie*^^X4Jrsf)%6R;S9-}@xWHp$-Hy6HPCzpih&-8P~59#a#0}yRhQh6!0_NgxgR(sIoM{>OjW*EqXfU^L=$LDtw>X`)t+kE0>6s@b_;l+A z#YY(65B}eN#ee5A_oPRG`B5tk^|YlO4Nb#KQA!B!j9euqc*AH2xR(%}=q8x6TR!9acw)Kyl9hw8m zLlYu~AzwQUEqk*&&7BErTavSX)ON>~b-xkp=b!xkj@&6We@m!?Ek6CIgkzz)5dp>C zRKoocaB8C6b2hCxJsQD1?C-;*NBGbH-{~p)W#Hu6D^$eYgB>{t$m78QHs+!HsUlhy z7XM#Ae)owSc_~R^HWb(V0Vw^Lca{q~>r?+#X?;nQmmG*e6gcde<~@!@;F(f|GPEDA zF0GR!x6EK$OM69t8#cZL)NcfI^G*&UMH(b9JAPPM+d+M*_K47y<7HlYiv1dzMWS&- zL@)bGyziv=#Yt|jwT-b$)IY&8CQlG#)|ej}F8d)FukOCg6=q^9TS$CgCf4mti_Fc^ z{7Def58QA|(d-ng{PE4O$sMxX=F>iChLn~cN>X(UFS8Dvw#;m0YzKBRo+v)Tihto( zU2pu!ejDoI*)*x5ABnfyX?3*%nXK6OssH6I`OTjZHaCWp_Piy=7w!;{zYaUaL zzGzm~acDrl=No0x6T#0|8>6|{#^2Mbs{EYR#m(1?4I}dei~@Q2NU>X%hLW8So*teIw!f;^H&uw;G&S{b@}o9nI8}`GN>(8Wbfxg2(}+R*nOsV6HLxFLA}a`?jK}VL(DSebvQTffyaTS z>RxU9GK%aGDq(OMB3+1iUhodjdd`-{EAa}jo{Qt8`xstl2zsDqdT$~eAL(kIt zg5-knf|;rpg)Pq6x6R|?c5|a3_>i5Sm`M!a%5@1PzOO}BM>qE{BKGe`-p}AMsgZbT(5)9j@a#F2bi}RFy50Vi9=4*RzsBUzJ!v?@;s%6M_065d~9*`Ib-cUUYTE5+k2 z!E0(b!S2>HiPakrbENM1Hkx0(26i3ns-UHYE1@YtZU2naF*svXxyp(*$NM@*M}QvD z%Bfa04BdpmUMU1F4@yA%LB{X|PN_wQo_e6IDiD$8U|hRyyT#+~`YJYX1|ny;ixb7V zOJcI=@<(DSA#{w0fTepH2fc6WjO^dLIgKE#zphG>+MHwvZ{}T?u>FYGLTsmn7oHRb zZeDmFIqS^bxhWj!2C|?{lVRY2PKZ0&oZdCqgFQwF*%Ei9?a`YtISzUQvtq}2`e|O{ zN|($-;Y08maLKa3wIyf4`hP`jfJ>%7Q|Hg}Qs%R)cU*dOk~j)WSJbQ0bZWf9SP~5tSjpY#m9W5g@wkvqYuorj*hT6UbBawGA$ZaPbXIvRoLZsD%P z1=N(cmIEUqla^K%^giq0-c<>ihf`oDQZEXn_MWR!(^P2V?dg$^~zYM<`~p(IPFF?>SxB{|?|77qZ0X038P;=@~!!7DbnZH~&B0%OG2AdhWH zx+rf4>go_FNhqUB>8$CeuVt_ALe}00_Y*m2eE9S5*_XzLm;>Kc8{qc1KO@&~WS!oM z>gl9n<(iZ1(T1xRVsm?;X@8u>YIEcXed`RDQOojLKy_(&%PSW1zVk+oobu9`Mehs0 z@5rhtjJDAP7E@x4Y(>X}U~IVXO@Z_hX?B?L9%ypb^VKJ$HANGZ%o52l$P+zwmK>_0 ziw)r+gpX9zabIepRlgdqT*%N8DjuuUqKOa!MQVDl?(#KvaKmpW$V>B~U?CXqvK>Y{ z*Tr&uUV1uOfBOa#FJIFf6u6;sw1Cfxs}NK-=r3U{0q^zkdGVKS5eKC(k#aw0^Rn1g zP^mp3UZ4v_go87(P(ACdoo|Fj-zvl4#2OQ8jrXX6U47{z{8RZ<3z!}Vq6g$Xdq=xP zW+v?}qS$wPx=fL`*4Bd_s@MfpnwPYHH^A(^9juFDM_ipfjo+{-(mfllKgE_&pxT}o159_n%QW`I#}phtDSYx zSE3gIEitUL$bgG-0Q&XWWy8N;TELK8!%El0nvVAD>*WVUcX(E6fxl)09wzwx6!0kl zI6~)aYSh}qP)FCA?ib_y8;&yx{--p;3$$op?)7RK!@1455_brPy!db7F5pDx7_P->wrr&i11(T@<8r%t0?GGR zOUHUG?fQm@29AEcn#RCF%l6M&mEboD_;d?cdbpZ)eZ5`ZsL*R^EZ5fC^8FKr{HF!oZvzPWbzU3>=hpCfqNBbT)qtm_{ud zLvyqLhHQw~*U85C&nk}aw_w00I3WA&>WX8$zNpvN+zsFm-)nH!Hw3aB9WoSVy6bJp_0nY%U58`1zGbh+r4wI^yS`;H7^2&5+<<{O1l|`5n*y9re05GkKYkb%Da47hCJB7>gu3dXq^yUcK)jq1+^0z3xy%M5eigz-Px z>bxwB=Nf*Q@tKl}Ukj*Fav<8dD2Ig56^wJWzRbwZI?~?*%Ch@cS!PA9V4UmnWk#5c zLW&9?hZPVeU6kYAtG^k)0=ml#rAK-b)j-=?0g8W-ksxygt@{+|{mNoZH3A4B@%ly9xkf4~WbzG6-H@!ML(4 zQDA`}IiNl`0FQBzk*)VP<5yI0Sq_o|b+vUs4lW=HyU1WRxq@+}j!~waMq>hX%JY|w zDOz5^xKhUw*tnH=fwHUvk;6qfQf#hZT&ZJ_w=V|ItOwy=I)?7}H{+L)yj&lKqn}Qz z06ET%ZoVkTmdh24bIW*{aj2mCiV`0103??g)1H4beg*WG8TI!yBe#IEQ~(j^MLBr= zu3%g#$BZ(e^=*K03=G47(DRR%ZqVP1E34Ei?WoimKu7^0|3xuAhWw5AHRilrl=8r1 zFI1p9Oo37OMKOdT{$^aM>BH2T7RZ1YX@E7nhzN-L8*ycaTlGz)DFP6!!1EUo9f^M< zuI%^Rm5=W&1Bfqw)o1>vzY$k9Ne%3}MLpnJYN#$t(UtZ$;!3Ze?SGRi43HuQ7^`0_ zNL}9Fh$}l=d|er93!vn!Kxey%cvti{;@n+dZq)JJCrTxN6l;KDTtv83{EfKMYz+2> zZqxuuc{W@HeDfbK9pK0R<=(`!9L#NPF3gnt`qA}K$@OHT+J8d6KDfJ{Y*F`5$k#`q zQ3>uoLqHvz%`9B34ZHe(LcV?=biK@xU;YXC`f%-fa(u%-AzwdYxSss!>pvl1KX|yF zoYDAC$kz{=_=+4osR09J1cZ%1Wbnr;ujvo6xR$kzu9fw#3BX_9TxlvI=0_sV5`W5o z9(ED;sQVAxzq`kI4ERUKxZGiRLS!<*z!<^^us#=Y3BCUrcXj6tw)FJ_Oo%MtpDyBB z2mUkeN~4x0)31sE;CO(M{zcq}vHy&_(mFX?bMoQ=b>{;_H5YM1Q~w!vrQuH%MR#)p zaAbesnCAX7?n+lg9OeS=1lUegU_$evbQ?eaGww>~sJKpGb#^cDEudvDT8`|MKXCun zyFX@}|IofGCyJv@^Q2*bRbDFZQ1P`xfo42=UnGFyei8nVfsxk2>|ZkcCU_pt-Hige`Pus-Au0DS0@GClpS7fI z8o=0`y)P0BfLnpi9N!-@F#jg}Uf8&tYyI2Sv^d=SRSy?4uP;~R<($>ufO_X&fD0L{ zmmj~JnE3l~EVo~eUr1BD{P@KLx8Dx~xlHaie=nT=PItQuxS0O*CxFTG55T{Yp)Nmt zG4bHfr}w=7c>3RI2$vtfywLj_(Bk*U Date: Wed, 11 Mar 2026 10:13:29 +0200 Subject: [PATCH 33/87] #257 fix obvious issues --- R/downloadRDBESDataZip.R | 29 ++++++++++++++++++++--------- man/downloadRDBESDataZip.Rd | 22 +++++++++++++++------- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/R/downloadRDBESDataZip.R b/R/downloadRDBESDataZip.R index 1f7b9ee..9f9b117 100644 --- a/R/downloadRDBESDataZip.R +++ b/R/downloadRDBESDataZip.R @@ -4,22 +4,33 @@ #' #' it seems that datatype = "CS" require a hierarchy value #' -#' @param datatype description -#' @param year description -#' @param hierarchy description -#' @param country description +#' @param datatype one of CS, CL, CE, SL, VD? +#' @param year numeric value for year of data to download (e.g. 2023) +#' @param country 2 letter code for country (e.g. "DK", "FR", "DE", etc.) +#' @param hierarchy numeric value for hierarchy in the range 1-13. +#' Only required if `datatype` is "CS". If `datatype` is "CS" and `hierarchy` +#' is not provided, the function will attempt to download the data without +#' the hierarchy parameter. #' @param export_format description #' @param verbose description #' @param dir description +#' @param file_name (Optional) String. The name to save the downloaded zip file +#' as, without the .zip extension. If not provided, the file name will be +#' generated based on the request parameters (e.g. "CS_DK_2023_H1.zip"). #' -#' @return result +#' @return boolean. `TRUE` if the download was successful, `FALSE` otherwise. #' #' @importFrom AzureAuth get_azure_token #' @importFrom httr GET add_headers content status_code http_status parse_url #' #' @export #' -downloadRDBESDataZip <- function(datatype = c("CE", "CL", "VD", "SL"), year, hierarchy = NULL, country = "FR", export_format = "TableWithIdsFormat", dir = ".", verbose = TRUE) { +downloadRDBESDataZip <- function(datatype, year, country, + hierarchy = NULL, + export_format = "TableWithIdsFormat", + dir = ".", + file_name=NULL, + verbose = TRUE) { # Authenticate and get token az <- get_azure_token( resource = "api://18ab5ebb-1794-4e83-83f1-8fbd3dd5b152/rdbes.api.access", @@ -42,8 +53,8 @@ downloadRDBESDataZip <- function(datatype = c("CE", "CL", "VD", "SL"), year, hie url <- paste0(base_url, mandatory_params) - if (datatype == "CS" && !is.null(hierarchy) && hierarchy %in% paste0("H", seq(1, 13))) { - hierarchy_qry <- paste0("&cshierarchy=", hierarchy) + if (datatype == "CS" && !is.null(hierarchy) && hierarchy %in% seq(1, 13)) { + hierarchy_qry <- paste0("&cshierarchy=", paste0("H",hierarchy)) url <- paste0(base_url, mandatory_params, hierarchy_qry) } @@ -78,5 +89,5 @@ downloadRDBESDataZip <- function(datatype = c("CE", "CL", "VD", "SL"), year, hie cat(" Http status :", http_status(response)$reason, "\n") } - return(saving_file) + return(TRUE) } diff --git a/man/downloadRDBESDataZip.Rd b/man/downloadRDBESDataZip.Rd index 7e71a6e..4b1446b 100644 --- a/man/downloadRDBESDataZip.Rd +++ b/man/downloadRDBESDataZip.Rd @@ -5,32 +5,40 @@ \title{Title} \usage{ downloadRDBESDataZip( - datatype = c("CE", "CL", "VD", "SL"), + datatype, year, + country, hierarchy = NULL, - country = "FR", export_format = "TableWithIdsFormat", dir = ".", + file_name = NULL, verbose = TRUE ) } \arguments{ -\item{datatype}{description} +\item{datatype}{one of CS, CL, CE, SL, VD?} -\item{year}{description} +\item{year}{numeric value for year of data to download (e.g. 2023)} -\item{hierarchy}{description} +\item{country}{2 letter code for country (e.g. "DK", "FR", "DE", etc.)} -\item{country}{description} +\item{hierarchy}{numeric value for hierarchy (e.g. 1, 2, etc.). +Only required if \code{datatype} is "CS". If \code{datatype} is "CS" and \code{hierarchy} +is not provided, the function will attempt to download the data without +the hierarchy parameter.} \item{export_format}{description} \item{dir}{description} +\item{file_name}{(Optional) String. The name to save the downloaded zip file +as, without the .zip extension. If not provided, the file name will be +generated based on the request parameters (e.g. "CS_DK_2023_H1.zip").} + \item{verbose}{description} } \value{ -result +boolean. \code{TRUE} if the download was successful, \code{FALSE} otherwise. } \description{ need checks on argument format From af377e6016baa45ad80cdf8999a0e717e7ba888b Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Wed, 11 Mar 2026 10:25:24 +0200 Subject: [PATCH 34/87] added dev option --- .../package_overview_11-03-2026.pptx | Bin 174338 -> 176102 bytes package_overview.Rmd | 12 +++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/WGRDBES-EST/presentations/package_overview_11-03-2026.pptx b/WGRDBES-EST/presentations/package_overview_11-03-2026.pptx index 77302176871a35807fbeb5ab947c3799782ab44c..22a091ea2121abf2ea457ff300abdecd8ab49830 100644 GIT binary patch delta 8224 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 JOM#_`{{h$$Z9xD4 delta 6760 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 Date: Wed, 11 Mar 2026 12:43:19 +0200 Subject: [PATCH 36/87] Update README with development setup and guidelines Added development guidelines and local workflow instructions. --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 723e22f..5d46620 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,26 @@ If the installation fails due to R CMD, this alternative option can be used library(remotes) install_github("ices-tools-dev/RDBEScore@dev", build = FALSE) ``` + +## How to Start developing + +A good starting setup is a recent version of R, RStudio, and the packages commonly used for package development. `RDBEScore` currently requires R 4.1 or newer. In practice, most contributors will also want `remotes`, `devtools`, `roxygen2` and `testthat` installed locally. + +Use **camelCase** for new function names so they match the existing package style. A good function for a new contributor to take as an example is [createRDBESDataObject](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/createRDBESDataObject.R) but if you prefer something even more compact [getTablesInRDBESHierarchy](https://github.com/ices-tools-dev/RDBEScore/blob/dev/R/getTablesInRDBESHierarchy.R) is another good candidate. + +Development work should start from the `dev` branch. Before making changes, pull the latest `dev`, create or claim an issue, and make the changes locally. New package code should be added to the core package directories so that it is available to other contributors and can be built and checked in the normal package workflow. In most cases this means placing function code in `R/`, packaged data in `data/`, data-preparation scripts in `data-raw/`, tests in `tests/`, and user-facing examples or longer documentation in `vignettes/`. The repository also contains `WGRDBES-EST` directory for extra documentation. + +When adding a new function, **aim to commit a complete unit of work rather than an unfinished fragment**. A typical contribution includes the function itself, roxygen2 documentation, any supporting example data, and tests for the new behaviour. If a change affects user workflows, add or update a vignette example when possible. This is more helpful to new users than adding code alone, and it makes review easier for maintainers. + +Before pushing changes, run local checks. At a minimum, regenerate documentation if needed, run tests, and **run a package check**. A common local workflow is: + +```r +devtools::document() +devtools::test() +#optionally do a full check as well +devtools::check() +``` + ## On `data.table` usage Objects of type `data.table` passed as parameters should be copied before modification. As an example: From 24dc27d671dc756536a394f9c3eba866a88c27df Mon Sep 17 00:00:00 2001 From: karolinamg Date: Wed, 11 Mar 2026 12:40:07 +0100 Subject: [PATCH 37/87] update todo in ratio est fun --- R/doEstimationRatio.R | 2 ++ 1 file changed, 2 insertions(+) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index a198f86..d4c9933 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -62,6 +62,8 @@ doEstimationRatio <- function(RDBESDataObj, #TODO add here the upper h? #TODO build tests #TODO mean weight at age and length, Check. + #TODO check the hierachies are checked properly + #TODO throw error when the raiseVar is NA # --------------------------------------------------------------------------- # Checks From ab5a225996df7789d81ff6df1658f0af3445d071 Mon Sep 17 00:00:00 2001 From: karolinamg Date: Wed, 11 Mar 2026 13:38:56 +0100 Subject: [PATCH 38/87] upd todo --- R/doEstimationRatio.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/doEstimationRatio.R b/R/doEstimationRatio.R index d4c9933..8083ed2 100644 --- a/R/doEstimationRatio.R +++ b/R/doEstimationRatio.R @@ -64,6 +64,7 @@ doEstimationRatio <- function(RDBESDataObj, #TODO mean weight at age and length, Check. #TODO check the hierachies are checked properly #TODO throw error when the raiseVar is NA + #TODO account for subsample weight when appropriate (e.g., BV raise factor and the SA raise factor) # --------------------------------------------------------------------------- # Checks From d00df7ec4bc849678fc472172b2be77e3607972e Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Wed, 11 Mar 2026 15:46:52 +0200 Subject: [PATCH 39/87] #253 updated documentation --- R/findAndKillOrphans.R | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/R/findAndKillOrphans.R b/R/findAndKillOrphans.R index 96a0f79..d3afcef 100644 --- a/R/findAndKillOrphans.R +++ b/R/findAndKillOrphans.R @@ -1,7 +1,11 @@ +#' Find and kill orphans in an RDBESDataObject +#' #' This function finds and removed any orphan records in an #' RDBESDataObject. Normally data that has been downloaded from the RDBES #' will not contain orphan records - however if the data is subsequently #' filtered it is possible to introduce orphan records. +#' The direction of the cleanup is effectively downstream. +#' The function does not remove parent rows because a child disappeared. #' #' @param objectToCheck an RDBESDataObject. #' @param verbose (Optional) If set to TRUE more detailed text will be printed From a282b38e2f228f10bd4e7f5d745e3283d55bd8d1 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Wed, 11 Mar 2026 15:57:31 +0200 Subject: [PATCH 40/87] #253 add a test to verify downstream orphans --- tests/testthat/test-findAndKillOrphans.R | 52 ++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tests/testthat/test-findAndKillOrphans.R b/tests/testthat/test-findAndKillOrphans.R index cb149d1..53fec82 100644 --- a/tests/testthat/test-findAndKillOrphans.R +++ b/tests/testthat/test-findAndKillOrphans.R @@ -53,4 +53,56 @@ test_that("findAndKillOrphans removes orphans on an filtered RDBESDataObject", }) +test_that("findAndKillOrphans does not remove upstream rows when lower-level rows are removed", { + + myH1RawObject <- importRDBESDataCSV(rdbesExtractPath = "./h1_v_20250211") + + # Keep a small stable subset first + myH1RawObject <- filterRDBESDataObject( + myH1RawObject, + fieldsToFilter = c("DEstratumName"), + valuesToFilter = c("DE_stratum1_H1", "DE_stratum2_H1", "DE_stratum3_H1") + ) + + # Start from an object without pre-existing orphans + myH1RawObject <- findAndKillOrphans(myH1RawObject, verbose = FALSE) + + # Record the upstream state that should remain unchanged + expectedDEids <- sort(myH1RawObject$DE$DEid) + expectedSDids <- sort(myH1RawObject$SD$SDid) + expectedSDtoDE <- myH1RawObject$SD[order(SDid), .(SDid, DEid)] + + # Remove all VS rows only + myFilteredObject <- filterRDBESDataObject( + myH1RawObject, + fieldsToFilter = "VSunitName", + valuesToFilter = "blah" + ) + + expect_equal(nrow(myFilteredObject[["VS"]]), 0) + + # Kill downstream orphans created by removing VS + myObjectNoOrphans <- findAndKillOrphans( + objectToCheck = myFilteredObject, + verbose = FALSE + ) + + # Upstream tables must be unchanged + expect_equal(sort(myObjectNoOrphans$DE$DEid), expectedDEids) + expect_equal(sort(myObjectNoOrphans$SD$SDid), expectedSDids) + expect_equal( + myObjectNoOrphans$SD[order(SDid), .(SDid, DEid)], + expectedSDtoDE + ) + + # Downstream tables should be removed + expect_equal(nrow(myObjectNoOrphans[["VS"]]), 0) + expect_equal(nrow(myObjectNoOrphans[["FT"]]), 0) + expect_equal(nrow(myObjectNoOrphans[["FO"]]), 0) + expect_equal(nrow(myObjectNoOrphans[["SS"]]), 0) + expect_equal(nrow(myObjectNoOrphans[["SA"]]), 0) + expect_equal(nrow(myObjectNoOrphans[["FM"]]), 0) + expect_equal(nrow(myObjectNoOrphans[["BV"]]), 0) +}) + }) ## end capture.output From 8b163d9bac1a874dcad54675bcc751e6fd2b3248 Mon Sep 17 00:00:00 2001 From: Richard Meitern Date: Wed, 22 Apr 2026 09:18:37 +0300 Subject: [PATCH 41/87] poster draft --- .../presentations/WGRDBES-EST_Poster_2026.pptx | Bin 0 -> 362021 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 WGRDBES-EST/presentations/WGRDBES-EST_Poster_2026.pptx diff --git a/WGRDBES-EST/presentations/WGRDBES-EST_Poster_2026.pptx b/WGRDBES-EST/presentations/WGRDBES-EST_Poster_2026.pptx new file mode 100644 index 0000000000000000000000000000000000000000..5fd6c7869048e5c7eadd1ac886b6f51b39cb8557 GIT binary patch literal 362021 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≠P$noq$fuh;F~tA@ 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%0DykP>ElmMIn769`xZNLm*9NF(+3j#L96p|Vt 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 dXq;A@PLzMX0Q-#ZX{>_jNP^`wHINjTTev>a)XM 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