From 9a630ac86e8780d27f4fbcc5e31fa37ea0a498d3 Mon Sep 17 00:00:00 2001 From: Alex Zorkin Date: Thu, 19 Dec 2024 11:31:04 -0800 Subject: [PATCH] chore: etl launch changes --- backend/lcfs/web/application.py | 1 + etl/data-transfer.sh | 27 +++++++++++++------- etl/database/nifi-registry-primary.mv.db | Bin 94208 -> 94208 bytes etl/nifi/conf/flow.json.gz | Bin 9970 -> 9966 bytes etl/nifi/conf/flow.xml.gz | Bin 15493 -> 15496 bytes etl/nifi_scripts/adminAdjTrxn.groovy | 6 ++++- etl/nifi_scripts/compliance_report.groovy | 2 ++ etl/nifi_scripts/initiativeAgrmtTrxn.groovy | 6 ++++- etl/nifi_scripts/organization.groovy | 4 +++ etl/nifi_scripts/transfer.groovy | 3 +++ etl/nifi_scripts/user.groovy | 4 +++ 11 files changed, 42 insertions(+), 11 deletions(-) diff --git a/backend/lcfs/web/application.py b/backend/lcfs/web/application.py index 8aef6126c..f107d499f 100644 --- a/backend/lcfs/web/application.py +++ b/backend/lcfs/web/application.py @@ -31,6 +31,7 @@ "http://localhost:3000", "https://lcfs-dev.apps.silver.devops.gov.bc.ca", "https://lcfs-test.apps.silver.devops.gov.bc.ca", + "https://lcfs-prod.apps.silver.devops.gov.bc.ca", "https://lcfs.apps.silver.devops.gov.bc.ca", ] diff --git a/etl/data-transfer.sh b/etl/data-transfer.sh index 8a9acf33a..9d3e97357 100755 --- a/etl/data-transfer.sh +++ b/etl/data-transfer.sh @@ -122,6 +122,9 @@ if [ "$direction" = "import" ]; then oc exec $pod_name -- bash -c "rm /tmp/$db_name.tar" echo + echo "** Cleaning up local dump file" + rm $db_name.tar + elif [ "$direction" = "export" ]; then echo "** Starting pg_dump on local container" docker exec $local_container bash -c "pg_dump -U $db_name -F t --no-privileges --no-owner -c -d $db_name > /tmp/$db_name.tar" @@ -131,24 +134,30 @@ elif [ "$direction" = "export" ]; then docker cp $local_container:/tmp/$db_name.tar ./ echo + echo "** Preparing .tar file for OpenShift pod" + mkdir -p tmp_transfer + mv $db_name.tar tmp_transfer/ + echo + echo "** Uploading .tar file to OpenShift pod" - oc rsync ./$db_name.tar $pod_name:/tmp/ + oc rsync ./tmp_transfer $pod_name:/tmp/ echo echo "** Restoring database on OpenShift pod" - oc exec $pod_name -- bash -c "pg_restore -U postgres --dbname=$db_name --no-owner --clean --if-exists --verbose /tmp/$db_name.tar" || true + oc exec $pod_name -- bash -c "pg_restore -U postgres --dbname=$db_name --no-owner --clean --if-exists --verbose /tmp/tmp_transfer/$db_name.tar" || true + echo + + echo "** Cleaning up temporary files on OpenShift pod" + oc exec $pod_name -- bash -c "rm -rf /tmp/tmp_transfer" echo echo "** Cleaning up dump file from local container" - docker exec $local_container bash -c "rm /tmp/$db_name.tar" + docker exec $local_container bash -c "rm /tmp/tmp_transfer" || true echo -fi -echo "** Cleaning up dump file from local container" -docker exec $local_container bash -c "rm /tmp/$db_name.tar" || true -echo + echo "** Cleaning up local temporary directory" + rm -rf tmp_transfer +fi -echo "** Cleaning up local dump file" -rm $db_name.tar echo "** Finished data transfer and cleanup" diff --git a/etl/database/nifi-registry-primary.mv.db b/etl/database/nifi-registry-primary.mv.db index c2cf74344ec06a42cc84bbee5514c547bc900cba..f5b1bf947c3f448e892103b5cff8f494e380d00b 100644 GIT binary patch delta 3102 zcmeH}U1%It6vyw(eq^&r4JAoGQWM9f_>s(RXXehghHQK?V%h|0P}_hrvv+LFW_L+8 zF$rQKS_@W6?S=YMkVf!95E}-BqR?d#@l7fsZNU;>d=M0U72A5}Yj;A@Ce$ZE*yYY0 z816a$`#b-0R@M_M>xtfHb%8YtC2LC8{Pl&&C8YBl$FbJQx#EK#4c~6twf_OXd?ZcDIK@0XU~%kBsZ`OSrjm0x0r9-ZRwk!O9EOHe z!4wcXk7i~kOGO>YY!NL~bcL;yEFGadHki>T+W{4)0FZNlIl9MNAARKl0NM%wLoa&! zgFk-n?(t2Ai=Uw=2EPTr=|stCqntJEgu7VY#^Rj8uUe8c67lo39tzgR%R7(tWfRv|KHm?N_2!;>Rho4SRZ)2AIgj&UmnZ8b* zoi-M90g}WElk;eVY*Y?k$vi`e`0otUZhlM!;!DBhK>S`tp0fSijZiMpl}lDENp8rc zh)|W;x#HX`$`4h>L)oN;f|4g4j|7P=S=LfPayWN>jMhZ_X7;7D z=A8qflE*)1v-sjW!^hfwk8iDb4#a-F9#K3OBqFl~RMh!K6mo+oXem%K6b-K(K7z|k z65l7|x^t0K?=@#|R)=4uFAiZ>2ul2Y^}y)FnUM z_{`0&E_{8INnTBSPSIWX&gd6SvT3MDweZ<%{mxHgr(;g;*mG1#P@l!TsNRFn z6U9S)?$yS~Pa!oA2$4UW_E(oovL{ND6@cU$<7>tN>O9kQNb>L$8WBhlJWYj@v<9Be z-J?y+38Vy{l#N%>tS))-@{;W8T-Gfi1lMwF6w0<%uTg`yI8BV4rT98&eqHj2cfm~& zaOqiE1y27&neK~SqP8x$Dgd`gy2Sc?i>u-h$kDfG!ceUvYHYmkZvyeR-xB!!nu6I{ z4~=Bk=Tb-}awVFNJ68!*(Bf%JAXN1>FU3LU{hTedIJtq_j#ybXS3_3n7Pmo9)pN#C zPg}UzE>WPf`GA(l`K=`49ieGNh_lr?&@us9UnaE^G@otzRUP;6wl_Jl+<=Xs;Wx9$ z;Q{U*KAfdkN-M;3xg&um)0%~up#kc`n(_KB7vPY_dPYhF;JhkIrea3@^<^S3F=T=D z@fCf1g%DpD;A^<_dL226FG4bGM6ddym|haLrnw#YiSDgCvQEk_+L3j9gW=<+{DxdT zuobU9ws0$KU3$IVtPpzlww(8Sv+UtZTaXak*|r$l8Ntebj9_(V1lP+<2_^{zub`x$`U4;_}BqLv7T^{7x_71j*X{AAhKcMl%%_30q$n|i8OZixB7&CmN_u)UY-OGFG iVgK(AWa9nT?hqDx-5nzHJVYvzh{1&JK&4kNSN{R)bi4Ne delta 1718 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 literal 9970 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 diff --git a/etl/nifi/conf/flow.xml.gz b/etl/nifi/conf/flow.xml.gz index 14109c7fcfb4eb61e69d420b148d0da2e9ab316a..203856fcb19b4a5f437543457cf6ef9be1ec44e8 100644 GIT binary patch delta 14932 zcmZ{LWmFtZ)F$rk?k>SKxDyzh;O_1&gF_%laEGA5-QC?~V6Y&A1}C^|-rYUl{@Oo% zy8GO|x4P?8bv;s%eldPYBn+Lh>PMz~h!m9T>mZ8&Csi1cI79@F^~rG!d5yU>0yZz7Y<$X)OG8P0fZQ{Kz?m;k{KKj|aF}s`zkBOH>k6Ryq zKCT8Z_b;Q}Qt91@ZY($9l_j`$&OZw6C@-#uyjFli_f|uEWC*liySFWDG_G+ z(t{F5j;hOCwp(`P*ZFqaB(v$ERUrj?;lq!OkB_>*KpaZg)B9>LhbbF#}FD4gm2=*JSLj@Aj%cu*(?4G0% zH1Y#cnF@Zcp;cps>(xGSW?ENcO6MX$5vyVVQTtB{P5T6AgZ=d{!xjo{c!n8?W*X5k zVv2dTEYeS0Z-#B*M{Nca3l%Xkhi`{CRbVHyz(a|bo*fpHaUbc*_o1T?4`Ke{$g>aO zNvLQiOp3$CL7N}$_t&pe>kHTFTqElR<)8BtxoP+bx?+YTUVXiS`~t6@4l{t{1zTjm z*TAcjyWjgK*SNV^tKz8!17pRUDVjpqP6?Dzl3@_CdoOl~c{rayCd?J~QXL_(>XQ24 z+(ccjwfla#kK6b?B>B`rAx@t^Ok|L_7bW-zSE8jrY;`c#MPCAa-#{p|>c=G_CO$Hp zf%?LE`2@M{4O|Pl45RNL;m5(pV7i%_9vO+|VELx4p+e`&&qtTkARIMMOX(@belAgz zBt-HMF6t1T6pey_@0xj1TY=~CetE0Dd(jXs9yd;<#!WV6$I;U;)LJVV6%hg~8hq1P z{ytYF?IE>^eL~|CTLjNUq>*VZ;0%9)5T@FJcr%Pn8-W086lPli)xb@Rhd=J}8@SpGxPzf;=HwvIFO&aHbQY zP#(^YTRpFg2m{fB8=LfGPSkeiQeimEiIdGBCAc|lpBZ3S1TfFT@b^V5EzT@79JPOk z2K|=e)S$NI5)kVD6w!K?m5}&kKA`(;^!9*2e&AB*K5lsbdk8ODF;3Ea{U1f-EX{i^ z;K9j3hF-Tj5lDp1?w><{08m8--=!A@eY!P^oflPCa6iqK$}DH8@iCWkNLtm7T1ZEk@-DC_r)X;qL0kVDtIuyuyj7{KSjxm5D8vkTSZ$ zbh5(5BL(t@Wr&!Np!nEUi)oUFY~-Z3@Nu(Eaf{|HtASGR`e>L01)lH)_->Xto8g>E>!YUOK2Yhf35P9@U)5EYt zanK1SF^vA%rVQW+_sxVXwqs4u9~}ZW@!pmsMW{6<0V4b0Wg!70H9D?^naEY28miK!fX62^;C&pW2n&E2g+QKN_S@Sk@UL(}co3s8KH` zF<*9>hrfE{d<~h@wu5CFbJGX$*@-)Al1i4q4s*dLNx;?5YlnD{pN_k-#cc9}F;OV{ zttk*0s9}gK`KijNwK~rPqnz9EzU0)z-@njwL+-Nd=k8L$n)a#{J&jMm*{Yr&N%UW~ z_|Us&PCpG>+J7j?&$*+UJf?XiI16*Ic}47%`j4aj(V{PdyyLQ((cV$7$k0>m=NY&|Y+ zm%J_BdmFifM%V50GEXK3RFHph`{ICR4V|j&mv&7ZSO<8j7BtsSdgEJxi=N2*G3v`O z⁢@KDu|QPGnK`q!?IdRA6XqCq9mGLu#W>;7}gTsM7&0QIEI8gZ;=n$v;nw^F3Zz zn06;wE^H}kc9ZXCq9L6GQXK`g9F&_8T9VCL=af?fwgG$|0AwTsJj!jv&%@?5{xLfm zaQ>?(AFoE}XQbAi{uQ1J^YOE^%35qpa-|;!m%qUCDtwdDR2m6EQ7xk3F9RqN3_lc` zmsIX4hMLx6@_s6j61wc+&LQwFYUckUypTgzeTc$BoBVdIr554^do ztp&c(lUs{*{k{c9U`?WLYio9lx9FOfIaps)%fJC2wCW%0=pZ`W+EQ`sy#%dnBw|1+ z-wfE2OiwE6cN4+PjEWAmc|qcwhEx=t=nm&4+B)EJoqsdprfgp&h^%FN%OlZ|4|u!s z%31M6F&P@YYFT9nF}fTk9GqtuXBgy%i=ZN;%AuBs2!ojhwsnLm6S_sKpbp8o*`id9 znvqGIV*fm2L*g9eFPx?l8$u%9){yVTi7D+e6q@v~J}=R2#sW{ZK}&V+6B&P^A_p;v z>8IOJVS+CaZnN3*-uXGCHhdr9`_5-f{|y0<@B{hgix6Vp!Od~&`iRT^0jT3?&i(Gp z@J*vp;PW%^Z*4FATmMLYFrrCcPTS7J4lru$L!+QC1+=q%>2mbcxAp)md)WD%^_8Z0 z%@6G6Nh-tF`>{s$RIJcaCMRQ=b z`Y9yRM~y;t?%pFJJYvwyTqFC`xm2&0#Wfkf@Z&Lqw$!u}(La*)gA=9ouOy zw~WGo8AL&d8e2z^$qI?ss4!v=}(tcF3+GLJF|(1Dcx(>Lsg8clhhmcH#`?}UU% zfAaik70~aMgwZ}E%0#BQ6ba8Qp5CC zdIw@Xu7i&XX1!#fuo_ZdP0YvI7{-Lnw#yKSAIjwgYwr&n5%ol1N-GB}=0{7V*ciT$ zl~kCPHc;Z-{rW}FY4S+jPPujTUY72m#$mk0til6m_YO19wYw?OnQ4rj0k0_*4`Q!_Hc~z%imr_dE&M-k3!T-hqFv&Z;>msm^PqQ1MRYA(Y8zR zZsiOGu0%~RQDS{p*R_C!WMO#!tV)dpHj%X>Ny95n!t(-1>q;6= zjVz4J3TyNlw1B0?TyZm;2#*{6{3jA*LqpvY{3MP#TGWByh?3+A1F=GOJkJ-Bf zzP!Bb9pAbDgYZ5=<_e%K1U{Y#+xrmho5 zT80ocUVE!-h}yt1=!ZpDu#)zf9=|zJc7L0d_c!|PV474iQw*u`MfPL0x-+*^ph^L5 zN7Q`K-|@e6qm$=#jb)mUr#fJo@s@d{K4b@(KRzOb6*44CHs!Tkdm4+AnunSdi?&45 zxxZ>e#Hbr1#T18h_mg9BM~Vth^wDW}gF^n(Qp<-BJ}DKR$0|ukLb;z;pnsrm&71V+ z4v~-Q_(a!$T)kXtQI&I^;Q8PI$<^QciAQN0S8l_L!PbK@m^2lcLnA;r8D@%S5{<(w z6xu_60lUVr-9aiqq6O-VPF8+ly*$D90PkS$&7IV#JDCnzTQ!##l}yLC#GKet<9};y zvn9noQK+kW=OU96fRAT zG7+zWJoEH21? z8y?@iNnml1{yw#f9A<#3jNxIPv^Ui{r+Sx-pUk^etiik##mB}`bcDQA7-en2=e%$g`j1G9$d1B?0VdSE8yqpms*4YnuF^!@%t1(0rVcK zZ)}|L;R?o70ANm)^VSfjU}{?DrMwvdn)G`Kr!g~J_Wu^{dp#!cLrIdpQ{a1oZ4 zO9Cok5ew>tpNKwPmA@EDB?>mQAHRldkcq|pNKppKvDe%4No2+tK@A3$sf!Jv_5hxl zA6~fzH*mU_w{yqsnlR$RqpL5GY~7i@s1u$mu;3{b8&y!(2a21VvR(LRh+qOhl>B7e z!S8Ij8NEbW$#`*qUxL3aG();*ZDi9tm-v?x*1kOv!g}8lSYdndccfKE9eGz~zs?Ao z*0j_Jn=zL)bz9z@0paM!*xnn*$J^M)-(urgI3Oc_gYT~B)Q^$FaYCPkzl$$s_rE3( zzZ7k3UyP2QNpOpwq{_E>UA*{uN`u6Jfo~~iBZYf(?f3;l8MXq#Dy!MrE(sS{vlZ}c zD9Bj)QpdDPZJ{nyOAly6qrV`sS|HPD5Hn&DF@;30WGE};U7=X`rX1OG?S@7Vz=3$s z3b<8IHEFG-VZ2(y6pA=SP@g3inlmk4zXzdGf8335WfI?F}d_I#pqtotr97)}Va6jhn;)Qyapt9Cly{ zDdBeY0+7R$0FwD6{9B}`aly!CGmAgic>m^2-OkM1&h5V6# z%@IhT{0LEAfD%&$a~319)H%;Zkp6Fp6YT)%I=>i%oHyRx&5yR zZ(NO1l`u9e)=n1*&3Z)Fz+bQt-&|jRz(eymI@81^CFXjYM;h=Sm2tSFcbGfi0Jq@t zqdDs%`Oft*?%7-Ku)nwAu%5erUp1(1uF@(T{vypt|MeMyMzsLk#Pyttt|1 zf~N$L2i9oqQGYryyqGt0aTzMx)TopMwLB7$Bg`Bj0rrhkUXGH|r@k~@JDqH|o{=wI zn^^Q;Nragj7RzjG}=YFpkO;YY0~Z zhG)*+sYU{KV;qN~N7~A91WMOYXJBJFEWtrj)5YN6Y~^2L+K2t)(!8T3fM2S4JvGcr zRU6D*mkPy3`w0z99GOT_#PBqtuyHl!9y(MEV)2Iq$-!c<{11_>c*gMkQr6I*`=95} z>H8_IrEsaZcW4cZpTwH8%&h`piiRg~3%v+fhkaryP(^1VgP^gRe|1~z!c6@}Xfw=n zTWpm2w$HP7906T6^}Ei37Pt$?h548%HMYCVdtf)|ADiaw_U$hL>p7Xw|9q_<*SKT* z2v?kkgQN9^4H=GzzqKgF1B4=lb?163#OrE%3P>Dms<(&D`O*~d($ zEf{!xa~NNhL5s|U{HVMTrPWl_sZB0V)8|ZI0-wUT^lVPmbsZ4$QASI~@M-?h*$t9g z5JFk^Vwb?@t5b@!+S=%w_xGk}rin0j;v&H07 z1*7ORzyd}q^GBtEG4|-%?WllV*1otpr8K=jAYRS=!6ooM0;pIJJkR(I3-O!+(HMnw zAJYrJuBx_9V&Lq+D?FL$qObG0sQ5_V*6vHK9JWf(11! z->xEJMoN{I(&_T&6&ZrB7iLBzXVT^qkebJV4~CiN>u&9^etC+Y*-Cu3TB>C;7=#nN z=p3dCmbYpCAStf;ona>bE_yL@aP4TU1MN;V2h4Z~erg~t)Urvf9W?i19f&R|egYL%aP+~Y8Ogw)PK!obfRl}YL-CK;smPG=P6Bb1o=WWZFi1KgFQxb2>hV8wdlX-GZgx$k{Kg{z9@*{xjR*)pyi%!`;5RCfIzcIA zZJi`BLAs#X)w};?gyh1q^d96D+^YY(<&satt$B&hd5cn7(NRncHE?2yn;4nsQBVfzYy=R+DFcN?ADJ$B1e$9@ z()jvSNicb{NvA`SKm{Ch^6@yqD!~xmu3lW=_6T*=tc8BFAyl*Qw=Affg4Jew{ek~z zx%mH0%Z2O73A3fB6A(aWrq~j2BcvFv!H=$|6cVrj_hjv~8fH`S6|Hg%ysSIfwBuZ! z>oODhd+N+aBgujDpmJ(MAM9{y!WSjyrSWN}AAw2T?v2r3p5 z>W(OwvY8{CyGjk4(LFRi+4Dh^PXkvY}%Kw$R@63RQqORnF`*SI)^HKOS{(ro7jDLhLmz*Hy#N4#iYa$eT5qv zJYYzH5a~e!QpAY~5Jztge)D(Cr5FAjdmL?0N z^Qa7>?nH-D6T67|m#mo4B*~tn&^*nml1XZ#+2w=~5LT?TIZvVYBv4HWxtCg;wo+x& zGnhUO?LYINmY7i3#EC^F5OLQ=!6&;D!>YipV3NxMu;7^nhPIVTeDuW5 z7v+!lAxs;$(H)1eAIcG{v52fqV>FsP3c%Z+f=f|Sm5lDTKSM3iiP>>oo26(jW*jpc zI~QsAc>$<2Y-?lpSU;|r(duWAT`kuctv_!TwQColP%j^e!EY8LB;}C$Vw8t9P|J4$ zvRpEI8h$#T;*;v%3pee0Rs$ML*->d?oesDO)yPqzLf7DjeJr8b>=kulxW0qy3xO_J zsAgXxyzU^*Y7PXRqm0F)hOZvU@S*`>@Hr~#I^$to<2Efm z8QB~OsH;U%Yt$-cd3=L#u>K4J878LgnNG+lQBZ@HR_=LjA%H1_vN{XvF0rGML%G7}{bX?MjHU3s@SxHD+~XCH7D~*7Hc>8-EVoMe*&Jx^XAezK#=0 z$nA0f@mk*gy}Xb}H+pq$CtV9Fq$lkCZ1`{?=KUsndEt6m>)Y1xdn>3!-`*2Z)2E{A zb86?=rqd@6A0oS_(lz(~rrV}c^yK1&YL!A;>Uy6myYdAEEhMxrA!+_uEEqG0u zjDDrt+o$`cU*Vx2`?g+a?0D|Fw+tH&@ikl_2gMeuDRsgd>apOPIZ`R0{d`Clp$0b^ zD}LBlSe4?GrkAZXRDAlTq4w^_? zPN~Te9E=1?3Od*;2phZg$AK)$McFLWb7W<$VhT!bFUl#UMuxzw37851(b%He?qEu5 zA*^9IF%*xIR0F`W`KH9`m-z}m3aw|m&)xOao~xnLi_}_N6_@&fX`15AD8Ym}KD2*! z+dafx%%%Q!qY3=sKe;S>3+3>Y{hvm(`Az&@SGn)TQdNO7Uq&#{g%o)bBR0I4aQq3T zu9yys2ZTXS+}vc{!=iWbd-F{kWTp_!E7CgbdGtfW=l(g=C%gQB-wU3 zC=PWY40~#Mq45ZyibL$FCt%vydrQJNhVHT4pG@?^nlAxgk+Z4 zyow}crYGDjRA}LZ)yZT>`p4IzuT~Zq3roe>n~I=p;##ry+!j8 z7u;jO6RJnECn^rz+` zv7}|akuRSzsVWyOjd`s}UVwUIp&7HcS*rwm-=e9k{vHt!fxovfcSngn_5VcmWGN8i zRVMXaE9y7nZ=kw1WEfJOs;T);7_r)vv37`GToQa2CNW-N$=F73;G|Suvk1@`c;h@s zdn}MN$G6twx;r(OEzMb4<+Uh5b58XI=*P!XPtQIH=H1WmN{!U&0kO_v7@?qtdWfyx!^r;1^gV;`KWO-ctW^|BLq~Te+!++ zI}X2Av)_Xd-;4QZcdYY@=3Vp14`pJ9%-+a)*^m<)QVFv%(Na5Ua@3sff>Ty(D?)^W zYf!mUUp^(whA5#S0$r_5<#nTb9X=abRR;ztDeBUjnS3(i8BnZaG8tKWN^+qygUr{l zn*2=*JSnys=4}ULhSV1YG74IX%hWHCx(Eh)0jL zOsKM3o4*oC$ts&eJM?h$D2v-6+u&!5X}DNRS9Nkm$ztj^GfUT3mc<_1cXYs82r6YV z7nkJ6{}KpMGv6ZZi@Jm^@z}Z-`b&QJNnl9C(O_*<%1Ip)+7iV#vx~r#Vt;VtXJ*n@ z>$ReXAe~I>Rp4XeC5C0DmvWJP;Fu0Xr3Imht3%Ui`{*2|c5A9zX&Vys9&-Er=DXz( zfy;HP@3*#M=;kZ*ZFr6=ZUETGlpyUVM`lWD3gHE^!){b}x*`sRaw2;jl>EHdw2(V)d3z)B{g#)_l^7vReX zH&l6LJrU&3Ga$pN3!IpHB0kxK!rvsRzwDKXB*Q{L3uto;IcW-0*?**^*dCYp2S_LO zLcb_7S<`MN{6XMh!1d8-c3d%qFbTMMGhP{-%j@!vQ|O39U^K2crcK}n&4S>$wqmx6 zkr)UuMcNNoT^S6K!%QgLIGzileAsw*;H}En20s|O%Os0oWqZ94YDCxwGU_G4^8OoT z1yOtHu-~43dF2;R=8EB8QyzXFIdo{BFESBfJZVKvS0F^*)z1Do%$ec+garzM%}xhI za7J}vokRe-3pL((;(T%2snfMlfGmWQRGDkFR#1qzehRw*UPYecL6ls_QU=;OZt;UN((IcU3&QLa(LJ<@>rk*(9O}M!~1= z7nFHBxp^i#Wck3}cDyqnbzIA8>luF-TX=fLtnhe5o`M`PrDufNCc~PzsJLL~ldr44 ztGBNqjlcKJNjXPGquQUq+ggiMS@S8`OfpA=XGgwu>qiaq)@;W~=?3+3r7vZw@N8#5 zXIKFWdQWKSxn^K#{CD>8hOtr&shdb=nH^7B4&#!EvYEfT_TVERzjV`Tz&Cf^b~`mn zi{H|IR%6&=aT*C-HDn-1Rc6SVGh8WIhCnqac)w`cpp48Z%#r2*j|vWX-I=E()q)Wc z<5_aH<`!~+-4Jr~#9m6~V<3b>DE&trfl9LRu(MP|zLcy@Psq9I=vQj-JvYRbguq+G z84A+^1FJFBebWmFX}1pe!aU|p%LHlfHVbzri;`^hs$6);QYCJHbKJtNCpW1WRjFK9 zARiQJ36Z77u2jDylGLnpJJX{5xfYQ`3x#g-hZ)iPdlM*ByHdSk^sjcj!KpxJr;C3l zs|W?@3ruT`3fX5C`LSidl6gO`p&#p-`@hO=kY9^#sqR3nNjK8e;-5L=CAu+QOx1=% zD{1b3O31!lVrddO!^rpkBUMt5+RrB4X6{op63*q+Cf)pow!Vz%H7$qEXeMkf0QR04 z>OG&>YL(Fby}hAO?Yes8{|me!1N{lKL{HtnBVTA0#?h!ei_#T!1iO=i#97PFNB#mw zB+BZ_Iqd30%M<>(XP#dSb3`{C489CrG_~y#^0CJumDCKYd#wnnkmxlye=;Np)ZP49 zmUH}=Cce62oL*1>?R5IZ`{+WyOMiY#jih}rtu*1G_`)C(dIzVml0G@hQJVSwncM%>MYQT+x~<+5l?J;RsI z_w#6HK_@79l5HMe4?x3ReB>uvCn$1)KFgc02T1N(uOa2p9$wMbaUt3~YcD{^2btK6 z3RHfZQ|>(0K=zfSKni%H~|gFVpLi=^1lgpbnA;$Onj2|yU4MwP&Ov+OXYiOKu;}t z^_*|+5kBT%mJiFs}~Q*5~Ft{!sz@xI;2AF6yNwAh%jLrq|?E}(Q4 zh zgnx(pKTY)4DH%ADKzh=;lYuSg{PhaU{dMCFtc5da&0m%l|AHx0(;Talz zbOYEu0bMaj`_dF#6bq#kfvC2)SB(Yq)^>a|Og^jDz&~c)8WCb&Td}%%84g$7f3p$s0KW~c`~4$}4+FZ_^tvXKsXA9w{5*4dsOJ(r#;vc`Pyg24 zkGc{eG%usXdP}B9}1=f%8*xOfAcTYCaY926_j21qFI~+?+h#9pe*-rK~!5qP~ViJND=VYm9-W zwrW-dZ*rxQ&VqmC4Nr*9ZtL#O6*sL^ncNs*JsGw)q{6anwVrGLeUeFgEkInRk9J_O zulLD{#;LujpqP}aOP*O7Za3&LNQC>Sj?T;-w5$RJPAczwZTPjv@i&A)76@p5Ycn97 zITT3ai`R7$U}s5u;>Y6ox{#4CA9Q{khZ5!((tc?PceGU5dSvY7-Ks-0n6dBlf+Ba7 z@_o(un_vxM>jsVHbt8j>7ykgpnl(3P3q|h^9)m&8A)xZiX=WFp#5)wniemgeHV6^} zg3Ug7<-+{~Gd8skuCaMo0Tw8_!0r%M*RLo8v7)Yh&g-Wq11w}e$4&d!y#5=X1s<4J zJ9cD7jJYQ6)9KpEnSZ()1Yllf*?BzAZ^r;@+Eq%Yox)iyu9`uEM4jyk$dpkHuskcW4$XE(M|Jxa8*aJi`k!B51g8xG)apo^kml$3xu=AFH1 zYNt!w<;N?FV?>Xhv{}%_yRSK=hm`VfcUlJ{eafS6?4`_*L*A-Uq!kD;LE- zB3JoY<3?9K?^kWq?LWUAX+HZQZXRCJnMdt7xlAU&^SAjh^bK3(EdCL=%46iY?9{M9 z)(7I~O{SK|+RJ%#^rhN>La+p^mkSxRW50=WxCYz%BS8a&l!y6$oKmMw+67q6pI;8R z{vEV&mwdZ1-tI)nC)so1Ysv__kDs!4vh^xA`gKxrx&wGn$8Tv3n&H67w@L)d;>cv( zUsl~VwFRFzQ54h|e+YZ*I(a17V}b2a@J_W}=#hu>`}7mT9}sd|voTI=GkGXt(W{>!-l9MEP~s)KHNaLYX#~?mLe)$G_kzk+WX%EA;sHbBX+x$!Bf7zMh2I#^4MX z4ZXfIHf(M34tB-#lW*rf+)MfjGi+sU?QhJWt|~547!rqHoQ!SzA~qL;!JE%czcv^A zB~A~A_?x;qpXT9g&s@aDizKZspyu4kyHRzhzNP`~TRXpK-iofWw4pi=mb{3~Z!6e8 zxF?g1EXXMb;v=>%$Zh$a+#c}agwa6bj{`D;`^GZpd2{I=-Egh@rU>7@YDwNDpsI8C zN;V0Zo6_$#$E!V`&hG35$DMtf?Lg=;dB<%^HE1rK!>JG2@m=_YX4;^>5d3HW^6!?zVrLPQ>g+oG;=Jjbl1@ znaXj#k-YrprE|qAd3Yf-moEr@-r3JdS-Le*5zC{9ySCZz4E@+d{pHo4zFk;-iMOCm z)28;wG~>aK!iD_Ar_x6;TFjK9Z)KN*u@7wN?a*85h`XpbH$E*i)NNiB10)H{;ga@i zg%;qH-|tp4G=onDz}q#Bq0jj}^N`m7Ixn#PLg}zw`H6d`tKZa~M^f1hep0an(WW^p zVs{VX23)U+IlGi+IkWFT$_o{yU=8U+8Rv!_Nzf?fz}vC$XJn~bh`-m2f_C(86`6hV*KLZM+vl7VXmAek?$P!9eH{Ws# z?LzXM;v;`K!{C>bH}Q|Hc)dNsmOuTOGar4xR8bu{)+`Y2N7?7?Ns!Jr-PKAT^V8fB z?(ZDKq(q%F%p{VWzW-Ufg}6AG34AGqU8YWS%@n1GPks&b-$~|#P`}(AeZn%JXan7C z5xs~h$vMq2Izacd=$;xlq1`|kx&^mPoZX=83GWVJErEXL6T3Zj^JYfG{g~{}dN<>| zwjrb{{*_Eu5YCCV7=&zpVSyN9huwnP)rAwKKY0>8u=!v!P_57ld^@?l#)Hf(K*|de z=NLj0Nj;%Hm`n`FP*Zw2=z#KBo_XLS4|qR-`kDv9_?jBJ9{+P zaC`$(Z|mdKNL78@rTpf^hDp3lx#cu5R%e<5xsrHxE`#AZO#JzNw=a3Ve5Y(SaZReR zK)FS8{tPIm%{2?t%nGEG%{@H%O6bPcqw4h9JKw2RrzB(`ckFt3yuT~kS4YQ3t0PL@ z6e#4Ay<6gp%ixRC#Zg)c+;9}o^Xv;~%yi73=*enGg))k}ke74$U9_wfNPjgk zQ^C&zRMAh?sebw~zvk@8u9N1|xw+qFh!;J+?7YAC3jTcFFrgd~|9xxIzc$nN4u5ee znf?Cv5*TY;tls}VO?kHI2n=0q!*;`SP|vlq!w_VLa=Cc!PKSxEOQz?dRRo>t4%BNY z{+bcjdQ6V)9i6?iCWzE%xFKk`ar5Na%AtMUh@5VK7rJkUCz67rB6PB;q1^~H_VO`^ zoZc8zr}n_-c3IMkoYo%ihANagobvDE^U@j*^t)^;`+<_>LMW;|4h(dr!sphZzO@Ph zEmJW+DvV5OR|k@W#HN9~H5=UVS?j{9%^@sb-wzwy_snBNC!y%ZVaJ=szm858;4=Fd z`54hcPOU;9nH5M+{Bq-vH(NQ0AGNTqM58+cZ%or+X5*5dR&Kov3qoM_2YoC>isHXo zoR7Knu_X$YyqGL50zW6+Zls_{=crLN)tCs*TlIE>;b$+5;ktM;Dd$RzI02p4hBuYi z78{+mV7IL^o#6VwlP>7*hc*o%&;rylTA-#3r)))P*pdcdB1ph-BL|R(rFL%%vvj658K0JE!3}ZgRxwnw39{^ZLmz^i+F}mc}BQWZ=-eSas?I`BYF6UO%bx8=~R-!gLIS4zsMxxQ7g zUZHPgMaBTUz8HMxwS^(J#n{Gu+2lHe+Vk7tICX6;GLD%?@yu&JaH^5i3bQKA(}i-d zx>a3$7RT*Vu4(qj&3Zm4(P*yvOvNKNkjhQ;mNyoK)#Lb_w?+3UmtJA&VgDen#dyc! z50L$_5orlfxVt=8=`O+g%isy^_H4U#{gF{zC*W+?tF{~Tce8sM6mL@sno0dUAo*+L z$9*Y@{O9Sh_2Y*+6OKH)B}#W=zvQHUc(hR&&hcUm%4}%67I9Fg0HFz=W3lejlI7IF z+ZP;Ru{`{8hmA&ss_~4+|F$*(jEjPofY_h*c)I|xjGO{K0OJ!p=P66I%OeAW>%zyX ze43!ncuVzm#;RADgvJGie%9QT{u*uu9XG5!A_V&RCFmgv=$PkK@2veQO#Hs|>Vjv# z85FG3%J<)gAj)ncD|v`Bb3!(M6O3830W@F0zBUWieY2r#^@&wg+MH(13b$z`u+?hC zUC(K%l4935UeIp{oQ{`+-67A zq1q_RZDY-UOIAJ6UfQ-M@W5SkKJ~w!&}GTGptM+1faX4A2Z7Y$eF^kL&f+!vUnmW|GR<2qKx{(nZp1_MKgpco(yk=&|pOrpC z7S6$2>NNu{xaQ3NP2!-eHS7`61u#7&g9yHwM@^5lr$NY(%F^XOls3_|3ce0EO!ItW z(uvz;n0FjS)VZD_`1ivP?qJEYJ_a8p=CB2Rtr2;A;|y3{3_KC=%lpb$@^P~Rd@Vqc zuXH^qi>9puMwul|I2B3#VE1?S4ztgNYb&y;ieBLl?0EjRIoZ=N8`mP|wt*~k6P9_7 zsU6OX5+yBGT3ESr;N-{k=grmR0U?Tq({pIq^QC9EJ39Ry@~mdc>3lOJV{&b@#%I17CtL)6AP)9#Ok0zYL%r!M)mwr_9*sjadaN?Ku2QSJmitdfyzBB z!0wur`r^98uX+@#q=dA+`sb?W7M3s(E{T1AV24QF7P!>zp{oD&t-gIO_nn}Z676D` zGJp+OX5!aKC_}9JkKlL78vnP4t)R#9Nh_{H)L34T%DR^P3%9KeAHJ^AG97Y0=LT!1 zDDd_ATp%45#!ML%ns+GXoH`btM&z3&Cr)Y|@aa%!-gfXdRg_xu1y&eu8y!8W>G?{p z5N@k?F7HSz8n?IPc0G*#n!e6Ts#dgMo3I6FE9Mu3{T4196`pl2EX>X3=sV2c;1EEt zDa(2V6l^|wI@eTya^qJHocqnnS2eW>+7KGbHkaaCx6yA?HVQFhcZ zza-Q`{)={O{v+_+(bDtxKj9MWHQ#Q=W`v+qVsq2zR=bZDjk{-YA=pOd(n=!}Z59Fi zOj#fJf^TJ(Kcm#~8=nCaDdHg2<&@w2bB^b-AJ%JqU=ktQgfA8{Wkl#)leGry<6tPA zqlE8$-Yt?VwS~Jr5@DO2H3x+{4m0JiYA1&G7Spg_vADgq)4cah39uY_HWzcN#EMGs zj6-cy`JDOr7=uAy*cBeTuRVj@{Yue*rGI%-xy2Pr%`71wF_WD7d1iDOcTDTd7p4iEWZESS+dEa~Mewmt?nwsvJ z4^!R${!N5;sCNPZ^?KnSSJqp|`1p&9^ZM=j-;nZ&zp-Y!ltKQ=3c}eYuroxb>Yj_7t#AoKPu>2 z+Buop8Sl<~5n4f%eTVox--eXr2Bdh?mjt4E87azo3o-M+LM^%gJ0pF{0x-ShM$GCe z?sVA>#y8jwTnBN=L*!0~48um=YTn+K174_vVJ^V%WjxD+f1wCLiW;u`GWw8jCECxV z`KV(d(DJ8v??a6<`!~;SlJu&+pzN!(5o9!DmZrBei zZt387`aD9+Y%owXiHJ4wI9x0nCb7I}lyv9RWmFjZiz(v*GM1DC>hXz|cL!CRnYDP3 z3f=edba(P~G@9jjly-C&%LyjskfLdYoPw-#gwg{&aT<0QkP#@0B$U z##_;v@p4oHzO@F$hnvupxzMj?3!(%;P4W?)=uHg6*gCL6?^2c;vtZ_y4u%*f81qdZ zj3{4&5{SpBm!uPLn(d&xV>tYX-)Cq8e~S25h4Sq*1rm&Sx-TC%Lm47l8mZ}_R=7U9s$`58H z4rWDDBK(Y3=F}uz)~N*FtgPUN)Ib{>*>0m7RJ3?JK82HEE_{-1ISwejisMTngTw-) z|CS^Eq`LzhnEXsNBmVnPUY(kK!Wt$XCax)GbWi>)n1=_pkqQnq_#?33hsTzypp^TN z;DP+KDtBI}6LWhVV$8iwH^r-XpgU8r@7ze=lMoHr37QvwNg&3R%Nbs&yiLEPI`0@N zU*FS*?TAQCJsizqIaitNaJ&r;?MoaWZ@4L6xzTcS7W-8u93-YvBiXTIx#dy}{NTo{ znp1d&o@j)NOFmU2sXQ>vR+!?!jb`RyJXmth3RW!6Qp<<73xF>x$tp6Nb;gIR=@0!; zEIw!I;1XyEXTQQhOnN^YRF4shJ5C%IwBve#8##&(Zi6R9O;%vCmW07xcA*X!1CFya zsx{6V5iuEb&`x!{Yyd&qf49 zWFXCXct0{zOFu7GA~msi8%@4-#mnbH)$fvQU{GOyO75eh$opt*$-Nri1KW1g z`y{jiLchO_D<>f`5fw2;%)9`2NJ!pYyxf_s1YYeoxnqD2G&liRI5W}lgBq-di>>YB zE*?31F^Je+&fauO$5YQ8OYJyBS+|{K!CA_A$~6x0wZb2MF2e0HMKGXk!DG65v|~09 zY`B#b=~J1A;KjtBqoZ-=9-ssM#;BrpTc|(f)uhjx zG}_~EtGv(WgQtg!{WPGm+Qw{i#(qisa4mMf+a-C#LUvv$Amc|2-%bGrIQAee29XS= zna6c}SK5bH!r?+2+Bo&`5nvPN1Nh-3UYwleHPT$}>d=udWBSBNo0|(eKPvWZ3MnB~ zaDmqqA1#6N)RsQI-T;tky4NAA%iXu;U&*&;g0piYiDp1HRpXV;;^sq>9=MGN2w& zeZ*Z2mQuL@qY?*dsMF_oJW^?3jP?_nr<~yL}TWmT=&-Ac}%G z6ziCssDi{Fw-slkEhoBUZhgYb=kH#VryNVUr*zF_i@9pP7WaT0ZC?p;`Q#2;0Gr&c?3uj^$ltmktEQq*|Z4rJ=q*9(eRkruiVo5ZJV(!=L% z4$HeG*xq>P)m^5X&rk09tZY%=cD!cxEriCfWjT!!CmI6Mb9zw61%hN-s91}jcmO`L@ zvx&vtD%fe?dJb@DIg2Y@XK#v(q1+K#=}GgiKsU-yrV!v1*1#J4(FY?y!4Gfrm&>q7 z(mH7Ihs2yWNbll?7;8cn<)s13T4gubqM|YC$#E_4=07Nq3Y{=Atvy@fi#ncC>l)$p z4`9?k=K*9^KcderYhljUz-~w@=-Wp9w5{G>*Hiv&Umd>M!i~M+pRR^6}*OK-)G!lSr zxa^ROZS5geAC>&bk?e!)DC{Ie;atEQ@F67eC;)-4+&l@V6jyULCad326bl}SM!<_n z(79uw!ADkMlJSSE@W==C&&ISN>fO>9q`haVa16MP)pR1}CA5K?K9nlXpl5 zVsBfYU19QNz0=Wi+#~`0j=mgtvu#h!Gybs80W(+P%pa z(}1{u?n*~l5vTgHo&J^Uqf5`b=e)h!-o@kVgGbM&w+-)4mZy)r(+?i6(v-1p9=RSE zThOYp*COolfC|sEbK+$Wv)pAVLjGYwzk&^i5(irZ{w}EAcrNmAtNu44`O@XMV99i~ zTRR$E%sB!U-``RcSXpQ;d(?zIkO`3FH>L>;?-qleLUHLfr$z#?LxKwav!$Xub+8E* zYy}%|7=Kqo#5Xz;+S{t7FcOtHr)qd(F`tNHLlXF^f6tw1sO7?E)OF(*Yu6-CIHxG7 z@yni4k&`9*fxt8F1pqiHJPgHMNo*8YfXUz-AuiPc*u4W5Dl%@NSug^A+MZJ5k@sU0pvE7 zlg#0|-Q(;z+^1(pT?F@T=gmZwa?!DKntvklqXBc9j(^V`;I9b7+R*FR9Kb>g(N~0C;RYa)grT%2{f6Q6!UOvMuW5lib0Ktr-O8(BXaG1c-f~niEHI6EXx_O;5I4q7BpB zvestt9;Ed2J(E;waC}SoYV;Gl`(?OA_ZPV%xEeIY=Ob3*W)t=)SSU&?!1Ai7cWJQU z3B5%@)rdG-m0!GFeZc^RwQ7~6uQ_EezzuL_a4=5I4ioQ~Nz zvA&TYIh9Y=#efmnz{mva^)i_VDaPKA!GH%Y>~}P1tZ*`E{1E4NcU~|Jxe7sW^Zua% zVc)&S3>lePX&5qiV zPiib)7|o4+hM_5ZZ5|voYU$hWDp! ziFT__ftGh_kRs*Yf!wPT{-_Ia^La-hl*O@lDaBw@#8sO+?g%_iA=(55g#StOLn|8G zchmsFyOz=4lWv!QnIRas;p}FZ{308pyzCsJE$gp2rCMfT+ak(M5-XfC-FWr47}92A zrv$E-mm=>&Za<=WKvP}@>wd5d{gG2Wx@uH-PgwHn&_G1{q+;fUO&zNY5VR_OuUSg_ z?cz5yDAzbU?}6u#T}br`j$m=42a`ts3sh=aj?1nkBH_}`6JiZ1`|gjfI%z()9mY72 z5x5((&C(e0MznHVE0`Z625!?29qr{wskB=M&G*y>jVBHTAj4JNb)E&MvFeEzn&ebm zm?3+n6Q5#3&KFQgf9e52#wZe|&*cx0@DT0rXyd$9C^~a$p4jHZxMBa*lfX0#?a?@~ zJtfP+_)FjLeTC`hy8%+YG=3nIH@kKO*abRV9lWCHYc8bjBm-1UFk?I`X}S!FviBW* z=$=mCTgM(b00kLVk2ukQp7!ZgHY=#@iLkhHilT<%2fec^vitcHz2@l=8-&zr*5v{( z@nAlb5C0FH?ZCnwXu&~T3f1F|OV=}jsmsaJ8A<{~r}h}&1v4GQiGK`lH${6;nz#c# zLEcR5zhKCR6Z#;3Jr+-cA*9GdSKW74ceiBjlKA8S(7+}K^T=gbhJ%bhK=){`fh%0X zT*iGrNB>7|7$Ky-OKn*lVGaohr~4474K0*3Vgh+HKk-CVlrs_tCGIcG6#shoSfTw( zGyt0?`Kp1XS-S_XHYtNUc9hj8ft-CtP7tnlbSKE`_sP2(uI%WZ{F1srijXgYD36IW z$msw}OZ6MN)ER9YvG~-{b*b7H4<@`p z?Rk)ODoAW>6akbHbORiF=Z@hJyC&;xW5yx#mS;o|dpv4$BClxJ{WUuHy`kc`D8B*? zJ;91nbMcwW(wNbw{Fl*6ZJv>rx83|182FP1z(W;V0XAjo6Cnb$x(NIo*Ol6;q_`o<-*iAtYzJxXO6bK$ z6=gWZG?MXa9fqw2)+FIWpgQ(|3E4;|^=-XA8s1NHN_?16V`?AU498_dw%6U{9YD1W z_`2Hxyc>(09U3^Pp-1CxHxlXE#rZko8nXD~nJZ`dUpmBep-|l?&3L(KANRyd z@wi>ykFJQc8zIpv1qs~p`9*pZ6`5D-J|3N*>}Biq6()ccP=^RNxDmdkou5ZnR``FqH?V}pO*-GCyMbEjjGUJe)td6kVjb+*@yIIL!k5iPad-JA{5n$>rha>>J?h>g(a`<@a`bb8+*2B6+s_ z8m6wMyv~i$m0(|_zWq^JA2+gQwd5p?o5xZMMOPY@X~#pZc}6t`QD685!wKyRHX6<^ znhrNgs*A=tctleO_c~@ntJMauaCP{5XPLp!LNjl;>kS8~uLG<({IO#yPulOrP`|)D zYTZ37*C_`rSHI2s4(7T-1y{}jTyD+3$C25WNRgJPGVx@(rk{RLZC#iIm&MZcq#y}{!9NOsJ<8?|Y{Fwj z*3O;Kk2@eob=vDo4-191dc7Qq^1}fBLV;u+9k^n110OGfdufRzhA>3sAL)on@mK;| z*01_z`#mzH8J%HsUUB~~O`V%D9Ap|^Uo#v844WW1HS2xV@-hNveJtbNynx1t7E<7_ z2X>bt(@7gQ*JI1~9wS3QRa3NlRjZDTCtUH6oCGbk)?X|J7#`#^GbF$I$KkMsf?Wx6 z3p_URN58!DrV<^osg;6DjvubZ*7AFrV2tKCPWGhhHI973Hu`d+d}6a`443;7S#(-b zv}AHsG2qpWI^;bP3Wg^(%om7(`QHzT5pi{3c-junVvmy9qfeRFFkDTf~M)9>W2w=eoCeKk5dMh269 zB&X|aS<3ka{LGYQH_1xT)~M(m>0P1uiS3>g1t4zZ+!Xurgu5M^K}9Ll_>m?uZ%&CvMz+ug{3t@dQNYoE&r>R`qpT^skUUS zJs8njYZKq=l#{((q_Fc2Wkzkgs{?KS@qOQ`M|^P-rpB!NxEhrNE>uolw$6_KdwWw7 z2(U3Zn8{E;jBfq=x}9~S5#$tp$Dib(A#>Yds~gR%=tgv|vz#tc-Ti$PJ+bP3nUt#k zJ8JOqu8W0n?O>YCbLO#=fhmV*`OG(-ax34HDg#72 z%nMz4WgGcB#QD3-Od(v0q+t5$ZQ06uSe*fU5Ykwv#=4=+^C>#6A((;NM~ya}_Wcmf zZ6qRGXwNututaZ8vILT91e%lk7M9u!Hd+BSYN6o~$CgJyC#MnnlSvc=+=}2^$x~z< zwg9_p(RIgW=S(*zWyBpGrMTablS*^e=bOBr6B9;ZpGvkKQcY!&SC&lKg zr-#?L8jyqn>urZ7DK5+TruJKf82%5zGpNrHnE$O)wE4d6G}ScEl}R4vc;Z{{`6{c< z8VW6ZF5s=b(j8a`_9$Z_$&$N&;8dXT%z|+l3!`b6|1$VqHUMa0_s>z^7-RTWP#BbG z^fAe5f6?i7me9G~Kruu~VgV6llhv?a3my??SD=U1kZvQI!*WYHc}ahM_fnXVs(sS$ z4dxeiTZZ_#KDP~wrtb}7{&X~Vm|im`t!Pz~<^i4p`_t~@agAr<55He@ zBa*Ce*kRHPR-s2;lk#vF0Y~3$H0o!Pa%C;D^xZ8x7&W7>Uvv$ISWvGT?QQ}9BE#X+MbUe3nt%szy;wZQe>Vts`TUB{%Ko5*qNt2qTV?Dze5Zr%-k)M?lwu|`Nmic zy*H`9pbZ0w$>+X3Dx9f7x=1^MT==ueCoTC|6a2EqFssg8^kK7g07HeF&HkRJ9D%?> z)uit~o078HVWTV&{-u9(xb}nD$d`bMq?lyFo1?3<|<@hB?Ns&W<(eYHXoMRJF zi&bx<6dC}PZ`FkDF(- z=VA)S$KiCEq~xNpEG2F*4!21qtzcgHWM-GUygu{@T=)wCxP&EN#wn5_m#twz-O0JEb|lk?0m+oXAy3frhMLcN9Fpi5*U+2-eZQC$!(cz>(^v;hoI8i7f>-3)?iqz{nSm zg`qc#U=k`31jE(A@DF5K>F$wT%kLa(S~#k2+|^mIdu-Pl5ky{cY@Y?&I%kJwy*sbL zC$F+xVawVmzKUfnUvG0rrF8=gZ??cWVFB^%T=zC|NmsKF-!jg4KS{um2ng`!yqr4n zfNnp_W7(MxRWz3ut<&Fgh90g(-knIS-n%_8#;L5Uy{g!K=^HqMIZ2~9?8&HnC;;I& z>(a~d^X%Z#48?ofQCCv3gdb=#(h&s}8}hA`>wW-lmk@MSZgq#Ph|Zwa z?j9C66kg*}zy%GpKG1z+gu|c>R{<413Fju!s^sj*6_XGVi;zRVaQc|dOKmqg=+4KV zhpgfpv4eaeRynUq>kiZqTM#H=fxACQ$@jF~Z=CD~~`Jb1`OtpdaCvq>@@qn#`!7C8^ z3wxgLGRVjexogDZ(h0h2GsL?+y5eP+NP1?g*_NQ;^{=NV*(7rS&nEJP@LVF|4sngI zCu!$rp{FOWyLQ)x!OfMh8WUGXaCztA7O~ux`xSRuyFg6SyP6%}?(6WYU3WF}Ag30N zO%1~WxL~~Xlotd{{i+J06hLewku9@!jafsUi%VWmK3y5cO;F#n+_A%{UC*>;FH;9k zPWZdZAL=cL8pf0;R&F$^usL7(Tr_*#+G0TSVuMVj1oc0KO}c8&U~E&g;D!%OMkTW>kE{LLGiM1I+b*)gW59Xv$FDV9F64z^ejgPP zJn-Cy*Va#jq zh$btE!9W!==J6Xqx`T+8!EpzCLc?azC?2xSC!42+0S5l3(qx%SEqhTwCK{e%y z%Q|g2(@?;3nGadMSkH^X_=&AOVl!JX>{<}D{@Fp>`Fzh6fdpf z4P0c$18sH`C^arJq3Z#0UO_1i!0fcYgdYq5j5}5$VNUOq;lS%1T-C^96#ckVPh&x& zX*vu63?O$4hG5H01_9J%XsMlp~Z(q`0|KxDJ z&GnTDkJu9x{|O0bITb+Jo8+owy~AHn#AP+MQfo9V$TNh%qfDo;xdBmQ_l=}QN15+e z`qXc9dN2XF6{ruM>D^nk!^eLnJG>@NZJe#VHzf3Z4`V0^?q3Vx{JCz$61^ka`k)1) z&+y$)V1#skPyip(|Jle_Tj$&LCtdIO^4-Qk#^6huh6>r2F6$HtVCYUX|Ai}0i$375 zqwpf>VIZZKdjD!Z9;2fQ#qEwK`_jXfNVBI{a`zjccYgLTShX(Im(pd!lSP-hW7XxO&U?6QYEIoBWdaRQ`gZ@;y!lvPTgJy6_(dNincb{Xk z**uw~uih=1_=7)Up&xpvjN#*tdOT{uDE!_JA-u7#8Xs_rt$cG$+lWR+C5q1nek5Lk zOD!0xKPEs5lls11e;DTnqF{fZ8vba(H zEhY56rBLLyXC~DK3bz9AGn=>NlZ*Nlga6_|l1?xP#NFs7yKLGYwpseh(T#dgemiXI zGUQq z$dDSU)nj{R{U#!)f1Jk!UcSh2d8oz4U7^jCLo*^os>J$?!ey$(>X#9~57UGYfm^?r zD)ZHuWp|@gsm021)ztpnRO_8z@&^J9_ik5LaqH~e_g7W<_)8r!aUe_gCiMGLi;_Wc z4ALoaMae|~wYZIZBIGSenql!O36n#Dnwn%Y+Cv$?@bnHROx`=>!2A-yQA6!G+m^Cq z7dxIHwYW*bD=q$+%n}s4T$h752aFY-UnP@P&W5J{ZVEKvJRL{>{}-knw^<%j+U66L zT}QMm{Z3FbgS-Vk@E-l(-gL& zh{WQeNN*mjYp&+((CdD}_^P!@6zJcAlCrsFUfGDAWxft`7jwou0lu>y zZ7h^*1?Oz3Y(V)e3W>fv37Fp|MHnWmgAo|ijPmIN1xgKBb%%d`v97fMhJT%yzwKxI z0al(5CuLr+Cmi?Kq)r^9%**QnNjF64CX`{P>7ZQwm#;USS}Hs`W$kWM4M7sEmq+zX z;THBJgAP2smwZ(f0JfH`?3P_?)2G)x58!H;_0?u{_a#jOHh7oua8wVee9-gT+nr*^ zb82MON2WAzW7@THz=jYoLM#+g9d-(H8iXwc!5w_}@#a}M52Y^k=>qa@@cy)0=^uaH z8|BCVIk0Pj0<*`6qb zH5=;xnK@~G4WIA!77=h=%}#)Xh$lS#becA94KcpB?qxuP=~_xA55!7v03Kk8*^vV=>qf+#bT{sd0$0 zx)lF#X8j^wC`LPKj`kE;D|oNVR9FTuN%29+r_XuDdh+gaDdO0D1pXcKMN6>GXz$M} z35&;aO(RvrRTBrvmWAWkeGyRuzF&*aM`bq~UI;i-^MG}*UF8FMOE}9X?L;6RrDb-t zBusb9lr0_$C?5ZhCY@5#pwSV(`i8G(rHU?pd4GmbePkas_&tNB; zXeT#-pHCnlG<3H3kzfm4WS3n3Iwf!M_R+<&k}FQI4DG-N&$`U{F0heD>*fB$?(rw4L&U*w#e zri^v%j4O{F*s94`@ggsjFRKc`wEwzXmTG)ev{0nf+E9$1FzZ1aiqU*1IaW0m_*)o6 zMo4xgfZzYxRB_p^os)Bk9d@&1z0nhdE|`kG!GvD+*yo{dPH(gf^=F1=6?{VhrgVAm zIcvbYa-~bwy}O!kGjNevrEm&z&8WVX=+;LxDOY*ALoJwx1DLlk^c4$qU+kDYdlup0l* zHu%n;?y`m}v{tmz3(DPsT^(!rB`4$_H)$dWI=&dod4z1wDU#2%%*+lBvn+AS+@|na zdvl7%Sawqs4?lE24^iI%Op%i+CsG%`jF4m0p6zcx@{B`c>v(LxRn2aZDqol>MZg<4 zPz18NFK*?vKV^2jsc&d(eb~$!hIa9z{JHw9`ek3!=3mtA536*4XQ!C})7$F~-6Jd6 z;xnu%oH9{%=I)lF+>DhlQML{i`KN*K$fx`wY+3^&i=I}~W01QM&^h5?4bgP9hAg7c z;y;7`w%1CvopJwYD6D@uofrPvKk!%Ci+Y3-K$b0QEJwmnfw{Eg^qH*UJJ>kvSC|Ch z;y;7k9t_tQiDD4LE1LU#seRwT*S$t(MP-5}b15;9yvAimLn zxB7d4Gn0|NA}To<05)=!MolP0jnBRospCxuugd5}f%%W|_N2aczq-VGwdIrAT#vJE zHFEV;6CziR#z*I=a7E#AOYN)0K;wmMr$W#-;HSU8^XD>4_cW++>D<_gxyv3!4Ov`Y z@t1hc&t9rutM@DC&NthEKrJ9SF^bCw}}A=Rcu-S zN>;UzZ;I7cD`Zc>d@u1>qn2(j{dw!kyyo(?nkfCbXAX5?1!XJsIJ;2&hmxfpVtK|e zCrYcxp^qn*rG%&%GWOAdNA~fQ;cC2oFLH{29;(ci->RjDHV=tx6ZyO-E;;dA^nW z=ShHRs!MdsgD!+eerMb-Mr$zOF^;G(m2JSOBU+glpydW;LjiUE`1T*;l)SP-(&^^Q z@3i^8U|>t4AGBc(O4}B|V#H_5t~2Z~#e3~H#GQgGH8$J%nmQGV3wqewRl7K8RQ~dH z@%8bzojfgT#AN%l%VNIC^9654SzRDZe$1iZS2(~y$Sd}q2_vT=@9jTbDe}UzP^)CL z2by#NmU(z=`90@_nz!VMlM$nr*URA5My*XD)9G*2_ZNk;mqN4zgmgAKQkY~5vn@Myr2^JNX4+^A#t!}~IdtY>aw5+)R@b8~Ddz7tnJpi+b<~go4mk5Z zyr*9J_trA-{Lj>3bxg8Ld7Q^E8M7zucpcC5VRcYnZq4>G5HTqu*1#8=!$tM*T>-sr zf&9DZD2-(xlf*n_QXPy^LG!%NO=#0e&{Jj)q1lerc-`fzIa7Wsj=XKiVmg~E6&*tPF6o}t z*vRDD2H|pg{5`EhN=U}?j%7+Fh!hZa2Seu)-j>th8D(pkQo*AmF zA%`*>_m4adro)08rDk^xllzlP&gSArY}rG!nw_4^etXOl&d0_HWm{->hI^ovGgz@> zN51ZoEaK)#itezkRIUt;bd`PVp`Nv4H*2jYzzd9S$sJNWP;mo%tbVftD`DDj9D7)g zr(0$~E;!Th=i7?7Uigyk_g$wV&xMIX;bYum+N>^C2ILw$&dDkouljlUhC;ml$MLoC z`Pe7a%ZIc5M(&P*`f-M4gs=BzPGAg2*OoRwx&Iyr%BUjV2@nYIN+gOmY8(zJTEc8R>X(i4a>Xg+n)?)9@Wi16 zQC^^asZMnv_a7GKPI>I&#`7x^coaKCM5W~L zbtjDl_}bXn!KKvzyqzb#!1{e6;dOqj^!5!x$^d&mKa}U~c#&4~Ud?i{m;iHsxhdkz zn4&nCroqdgcc%^WR@8QHG#jWasZRBX8Sql+;r|7?2*!7FD`OekQ-vz@TH6#_!ch*T zzOIsh&IG;|vQd&&Fo_7TgTl)yck`^-$}5M;1aEy_dh;6bBYXbJgm#1sTriC>Ki%ur z(l~?+mg|pYPBrrT%fd2*48SaMvG@_ac~8}KCIJ;RX}L~&REjdBO8wos1HD#_>7jdq zW|hJ4#Ezhr(*J{_z`SwRCUjn1DGqDSYix@Rx{>OLIIzigM&R1JNT=bxEx3cB4890> z;f3k4!tsrj`1Hh`W2*cxc!`UVZkqpD^}&0Vc8DJSuq&_U1Aui2@KrOh#zZi0c|?Tm zm`Ky^99sK`{*eZA4{UEjES2TSlsDosHP^>g6sYn2n7C#!{_6l%^s3AFqfZeIed+PS zBFj>349w<2WcLwygWI$n*p#(aHhfmK=e-Oei2WgTzAt}`2ggA+C`PsEkno99gG!#_ zv1xg!Gwb`)6%dDW(rS|J41*xV=>tx!OL^ZMRxvGe&1q3v$yB)|bIUL?DP5zq5$9tFyZ zZ@hZxjQy$v6CoD^F-h``+hMYhBT=PA*rv%yq7@_nl#4(E3U~JvG&H5DY)$pU*?I1xrn}9zUJM7!t--EMKtAx>T9@_4pDa3(_Kr8q< zW^ryn`+PE3rV#I1ohym^K+)3Z=-qv7bG)NcVfi0z%wZPOP(qIf*660f3+vwpmA`D? z1aD0>u(74(IsT$r`o(fvq^Y=1B#HJ2BpGY0G1whd`U#h%Th{xv96y?^aGZAliD*e> z3}yvm3kN2Md;}Dkw1lnT7w$fIy{)QOp7DGEh&_x0ZkX1*kBt>Xa|mZz!h`P}t@hlX z?1|8=ue)^9f){ZKi{xyJ6@n-~(Od^~)*-om&*e@ET3nGNBYl=f%G4G=QP zJAIY74?i_+n54}gy1|aW`1ZQ2CHU>LqD&_5ib5C5!7e3lLX~?R$}6;ypiOh+fF4Dh z=zn3pRZ1|`opokczsG|8mBdGNky>4Fal<9j&G)~-X@eJSn@q#1KuayM3nzwrOUEub z=z-kS$_TD*yXHIZie^0+g(W~sl^%1Yz3vj_W+ghUqs~U6DW-TF7^fdB8LYVG2K)8B z+mF6xe`vX-7K6Bq3j6lhW+r*iD)apG@ z8?rTOr%6GfK@njRBmLKckZ123I^_U2m-EsXu{m?yl|wHj(hgnt0~8Of~(9KQr2 zShG(0h9f4ez<%aUZ5ik`BOsrsPVkY_IJMJdiz?(?>NTz;T-PS^aZw6r;&pQ=U`rXp z@U;?$48JNmEfR*#y+ycQDM1+uc{f!VUz_Y@T;6(+o9tK#TMR*~uf#YY-fY_Z{Sb(y^j^^u@J_BwtRX%8$+iiVIsLLrAFu{-rZvK%T>?Zh ze0z6J3Z1P;fd%{{@$@oTK4@xzXCV*9pKtMB>U%QSahnfL2afb5yK&T(2gDwJ*#UnRNz~^_$KHL)!Nur*q6k=I@WxyWHZL40bGmGi{N*>zQ-@7Z#hwrS3Sjck>xD-kM} zl(wYS5x}Nb+2q@{;kxhlx2(Ya(Nwni43#RPDteT8tT;m)>Kx<{gh~~dQyn^#%H9g& zN{TT|NY0w)w93Y{YQs#AUWBO~)Tp-V80Ha34#z8Wi)S?a}Q`$0FR11}gC zyb=|j`s?+uJu^~1W)1@xKgo0y!yQ*cQ_P`^Q!{DWT-&H#yPcc-*W-ID$|A_#T{56U z&?`=e) z%&Vw{J;!bBe}&8Jo9||&^?B|@UZ;YtfR-5f diff --git a/etl/nifi_scripts/adminAdjTrxn.groovy b/etl/nifi_scripts/adminAdjTrxn.groovy index 5492bbf86..27806df95 100644 --- a/etl/nifi_scripts/adminAdjTrxn.groovy +++ b/etl/nifi_scripts/adminAdjTrxn.groovy @@ -5,6 +5,8 @@ import java.sql.ResultSet import java.time.OffsetDateTime import java.sql.Timestamp +log.warn("**** STARTED ADMIN ADJUSTMENT ETL ****") + def SOURCE_QUERY = """ WITH internal_comment AS ( @@ -433,4 +435,6 @@ def insertadminAdjustment(ResultSet rs, PreparedStatement adminAdjustmentStmt, adminAdjustmentStmt.setInt(11, rs.getInt('admin_adjustment_id')) def result = adminAdjustmentStmt.executeQuery() return result.next() ? result.getInt('admin_adjustment_id') : null -} \ No newline at end of file +} + +log.warn("**** COMPLETED ADMIN ADJUSTMENT ETL ****") diff --git a/etl/nifi_scripts/compliance_report.groovy b/etl/nifi_scripts/compliance_report.groovy index f9345daa3..18ea947a5 100644 --- a/etl/nifi_scripts/compliance_report.groovy +++ b/etl/nifi_scripts/compliance_report.groovy @@ -1014,3 +1014,5 @@ def updateComplianceReportWithTransaction(Connection conn, int lcfsReportId, int // ========================================= // Script Termination // ========================================= + +log.warn("**** COMPLETED COMPLIANCE REPORT ETL ****") diff --git a/etl/nifi_scripts/initiativeAgrmtTrxn.groovy b/etl/nifi_scripts/initiativeAgrmtTrxn.groovy index 8e3f9f121..cb615d037 100644 --- a/etl/nifi_scripts/initiativeAgrmtTrxn.groovy +++ b/etl/nifi_scripts/initiativeAgrmtTrxn.groovy @@ -5,6 +5,8 @@ import java.sql.ResultSet import java.time.OffsetDateTime import java.sql.Timestamp +log.warn("**** STARTING INITIATIVE AGREEMENT ETL ****") + def SOURCE_QUERY = """ WITH internal_comment AS ( @@ -433,4 +435,6 @@ def insertInitiativeAgreement(ResultSet rs, PreparedStatement initiativeAgreemen initiativeAgreementStmt.setInt(11, rs.getInt('initiative_agreement_id')) def result = initiativeAgreementStmt.executeQuery() return result.next() ? result.getInt('initiative_agreement_id') : null -} \ No newline at end of file +} + +log.warn("**** COMPLETED INITIATIVE AGREEMENT ETL ****") diff --git a/etl/nifi_scripts/organization.groovy b/etl/nifi_scripts/organization.groovy index e89e0a21d..d9b826e14 100644 --- a/etl/nifi_scripts/organization.groovy +++ b/etl/nifi_scripts/organization.groovy @@ -3,6 +3,8 @@ import java.sql.PreparedStatement import java.sql.ResultSet import java.util.Random +log.warn("**** STARTING ORGANIZATION ETL ****") + // SQL query to fetch data from the source def sourceQuery = """ SELECT @@ -227,3 +229,5 @@ try { if (sourceConn != null) sourceConn.close() if (destinationConn != null) destinationConn.close() } + +log.warn("**** COMPLETED ORGANIZATION ETL ****") diff --git a/etl/nifi_scripts/transfer.groovy b/etl/nifi_scripts/transfer.groovy index 219a63c78..88cdf9cd9 100644 --- a/etl/nifi_scripts/transfer.groovy +++ b/etl/nifi_scripts/transfer.groovy @@ -5,6 +5,8 @@ import java.sql.ResultSet import java.time.OffsetDateTime import java.sql.Timestamp +log.warn("**** STARTING TRANSFER ETL ****") + def SOURCE_QUERY = """ WITH internal_comment AS ( @@ -515,3 +517,4 @@ def insertTransfer(ResultSet rs, PreparedStatement transferStmt, Long fromTransa return result.next() ? result.getInt('transfer_id') : null } +log.warn("**** COMPLETED TRANSFER ETL ****") diff --git a/etl/nifi_scripts/user.groovy b/etl/nifi_scripts/user.groovy index 67b4fee35..77fb9bdf7 100644 --- a/etl/nifi_scripts/user.groovy +++ b/etl/nifi_scripts/user.groovy @@ -2,6 +2,8 @@ import java.sql.Connection import java.sql.PreparedStatement import java.sql.ResultSet +log.warn("**** STARTING USER ETL ****") + // SQL query to extract user profiles def userProfileQuery = """ SELECT id as user_profile_id, @@ -154,3 +156,5 @@ try { if (sourceConn != null) sourceConn.close() if (destinationConn != null) destinationConn.close() } + +log.warn("**** COMPLETED USER ETL ****")