From a3945c0627b8c520fe4566459ab6803c0386c62e Mon Sep 17 00:00:00 2001 From: Jesus Orosco Date: Tue, 23 Sep 2025 13:33:03 -0700 Subject: [PATCH 1/6] network parameter --- salesforce_data_customcode-0.1.12.tar.gz | Bin 0 -> 36101 bytes src/datacustomcode/cli.py | 16 ++++++-- src/datacustomcode/deploy.py | 45 ++++++++++++++++------- 3 files changed, 43 insertions(+), 18 deletions(-) create mode 100644 salesforce_data_customcode-0.1.12.tar.gz diff --git a/salesforce_data_customcode-0.1.12.tar.gz b/salesforce_data_customcode-0.1.12.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e9dec9b6763f29f6c02469630b0f954bbc37b9ee GIT binary patch literal 36101 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 None: +def prepare_dependency_archive(directory: str, docker_network: str) -> None: cmd = f"docker images -q {DOCKER_IMAGE_NAME}" image_exists = cmd_output(cmd) if not image_exists: - logger.info("Building docker image...") - cmd = ( - f"{PLATFORM_ENV_VAR} docker build -t {DOCKER_IMAGE_NAME} " - f"-f Dockerfile.dependencies ." - ) + logger.info(f"Building docker image with docker network: {docker_network}...") + cmd = docker_build_cmd(docker_network) cmd_output(cmd) with tempfile.TemporaryDirectory() as temp_dir: - logger.info("Building dependencies archive") + logger.info(f"Building dependencies archive with docker network: {docker_network}") shutil.copy("requirements.txt", temp_dir) shutil.copy("build_native_dependencies.sh", temp_dir) - cmd = ( - f"{PLATFORM_ENV_VAR} docker run --rm " - f"-v {temp_dir}:/workspace " - f"{DOCKER_IMAGE_NAME}" - ) + cmd = docker_run_cmd(docker_network, temp_dir) cmd_output(cmd) archives_temp_path = os.path.join(temp_dir, DEPENDENCIES_ARCHIVE_FULL_NAME) os.makedirs(os.path.dirname(DEPENDENCIES_ARCHIVE_PATH), exist_ok=True) @@ -191,6 +184,28 @@ def prepare_dependency_archive(directory: str) -> None: logger.info(f"Dependencies archived to {DEPENDENCIES_ARCHIVE_PATH}") +def docker_build_cmd(network: str) -> str: + cmd = ( + f"{PLATFORM_ENV_VAR} docker build -t {DOCKER_IMAGE_NAME} " + f"--file Dockerfile.dependencies . " + ) + + if network != "default": + cmd = cmd + f"--network {network}" + logger.debug(f"Docker build command: {cmd}") + return cmd + +def docker_run_cmd(network: str, temp_dir) -> str: + cmd = ( + f"{PLATFORM_ENV_VAR} docker run --rm " + f"-v {temp_dir}:/workspace " + f"{DOCKER_IMAGE_NAME} " + ) + + if network != "default": + cmd = cmd + f"--network {network} " + logger.debug(f"Docker run command: {cmd}") + return cmd class DeploymentsResponse(BaseModel): deploymentStatus: str @@ -366,13 +381,14 @@ def upload_zip(file_upload_url: str) -> None: def zip( directory: str, + docker_network: str, ): # Create a zip file excluding .DS_Store files import zipfile # prepare payload only if requirements.txt is non-empty if has_nonempty_requirements_file(directory): - prepare_dependency_archive(directory) + prepare_dependency_archive(directory, docker_network) else: logger.info( f"Skipping dependency archive: requirements.txt is missing or empty " @@ -396,6 +412,7 @@ def deploy_full( directory: str, metadata: TransformationJobMetadata, credentials: Credentials, + docker_network: str, callback=None, ) -> AccessTokenResponse: """Deploy a data transform in the DataCloud.""" @@ -406,7 +423,7 @@ def deploy_full( # create deployment and upload payload deployment = create_deployment(access_token, metadata) - zip(directory) + zip(directory, docker_network) upload_zip(deployment.fileUploadUrl) wait_for_deployment(access_token, metadata, callback) From 161bd0e04194eb95d57515334051b23844bb131a Mon Sep 17 00:00:00 2001 From: Jesus Orosco Date: Tue, 23 Sep 2025 13:43:08 -0700 Subject: [PATCH 2/6] test package --- ..._data_customcode-0.1.12.post1+a3945c0.tar.gz | Bin 0 -> 36189 bytes salesforce_data_customcode-0.1.12.tar.gz | Bin 36101 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 salesforce_data_customcode-0.1.12.post1+a3945c0.tar.gz delete mode 100644 salesforce_data_customcode-0.1.12.tar.gz diff --git a/salesforce_data_customcode-0.1.12.post1+a3945c0.tar.gz b/salesforce_data_customcode-0.1.12.post1+a3945c0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b6172158c801e082ff149cda2494fdea7d4e9782 GIT binary patch literal 36189 zcmV(-K-|9{iwFn+00002|8rq%Wpie4a${v*WMOn+Ut@K1bZ>2AZ)9aHFfK7JF)}W2 zZ*z1pD`7J^G&N%|E_7jX0PMZ#dgIu2D4O4V3IugeiY!x5sYY9gI!7(3x@Bv!r0RA@ zRv?H3C3JxR4UkgNitcy5`wBNd@6+W;?wa<5fl>{2;x_BETLiGjwbx#I&AW`!xE$rh zAP$GoGztf^a+;3^`7mC29;^jxFM>&4PS<`Fz5LCq*MsM)d%IgZ2PZqh^yBm&9{cY( z{Co5275#;OmA^0Eym<3cz2o<5Z{M!H{0Hy(Kl~N`!F;0vy8nm2&wrbfXmA~Sd&wZq z%GmoMF3Kd&ycfaqPG>8h%!}medg^rtJ@3Wy7q7h&jV^s}HyZ?<%{29>Oz9PI85cM4 zFz9r=hyJ1`%}=5M#IPu;c9((UkcKY7&&e8GV_WLb--KSF9yCt*B7|7@({)lS2U+U=o+yH2`#4T@)H|cTJ{5CH7 zuzUrq5)LBC_;=r%=H4KJMaOc|3V$L96y7+>qN^Ae5Bn`=gKHUB-@CnzY5K7G)Ne#> z+mN|U5SyTtZUQ5rhM2=$xSkxVOxb~`S|_y_D_oDUP2T12}_ zEpU$#bT~O2w zzyO6cd1FXH;e@~%O{aLa5QNldrHL*~ApRJQC(tug1kw&@&K0rb=428>&mUnkrTJ~o zKw&#Bk{f{HP3$2+O23K$*he!AWcJb$!$1xEGAeQLGTMqm>;thMu!m_Cc16pDd*Svv z8C+Y$02XTsX8`QXBECszDG`eSG_p^;7$BS%>Is^VWwv*dG=`@f@CezIpdUeJc}klC zswG!R2EEkRyiSi5ofSJgm8E$oQP^EXV_3J_}(`7zO^Z)NcD5*I#p!5oLvI#5aOZu4#F-P zISo&?0(C@myvA0jRi@)^;b~zrDoB;7d&Kw47=SqfP_#2Ik2~!>U(d;xw)ni)WEm>O zDQv(Z2V&gERk(~&!lT;)>t)1z%rb$#hr7TAdTaoNa3XG6HVeVO>@PfuH0`qcfd82> z0YywwtegT%39VU2mS%;@c{z>8rA@-&%$>z}gbe76loGuBc=9o~qIoSF=zWWfI9Omo z8{q~#E(o1;%2SVHqL;!({zw$h98K{@1q64l3LjxAvO+cN`TTkn|OXJ5nrH zTqai;(SAThTq6Q(BPJrT@(%#sk!SDKz^`xN3V*Gqt#;spERPL9q>tlDr`|OT<}wC+ z0+ul*N)Cgz`!SoajQ=zP{7JFfK@RZd;~E)WYx^-FdJ%ZvAzOvr8nI7tR^G{s4_Cp} zMq$R` zxB^^HafO0YK9ADrd}UO`@RR^!casm0kk?Lgk^itmC2c_s*kcpK;~J$i{1ZRJ z%12%r-IlXtic?MFD?S7OVruY)C#X=xMFft{1Ri)PqPA&gU>0YtrlrpK# ziHc=X!l>*NC1{vECP$v)s`zxkEsCqBa3v}g!#0GM3i&j2p*55fMYHxQ@Q!0!GZawQ z<7jRuTa^j{9ZVE&m~H-a^UxMie4|7}Ofa zF|YC{PeCT)^Ig%d^^TUSdOXt^VA>Uq7l+641}tj=Q$(U=v%Xq7#DBGkMsz+@C5eBg zV^sBdY4yp98^cPY9EI{bD|HG)ArK#u4Dp1e$I|K^Nt{M$Y!gNID*{H$?YKP;te%T_ z3LC7i_-0FlC+Pr2RGpmFvF^|yL?3sUIUW0g-F+mB!x;IdzQs%sicZaTlew`9qG3E$ zlIn79Og&W_G`L|-3@w~8I86j6@3>-W4lc#PS10NMZP-JirPp5sKU`}6;P7;JYsZJp z_i;+_#%(8kAj@s_WA84D1T^fF8f0m`tfrLc8NnJxLy|EK(#4HnMWPg;p4Vzdh#FA_ zo(N5${}{Mh%``)}5w3)6&_)_ZC5ltFmR_ou-3p8mbh@sF8L2TESQ`jASXC|@!#~@^ z+(9yXU%Lt@FBus+gGc6-IRWeK=S9B`$S;HKL-LcG8SR`6ko0ta{rL~d|WC$a?B8TD*NA?y`thu9`*T+UQ z9OCZ+px zNW8;igoakm;5aDbVa$dg+y>T?NJq?Fu!0nzs70bHkm(5V=dwdcB8xx91B=8H;ne^s z;;X1&yHZv55L>_-AccwnDUmE%eDp9U$~k40+p-8D;KiWE?29sEL}S#OX^sZ9UU6}Q zI(>PBF$oTHVTH76#C@Z65;3)i|1?X)dV~jh32TB!IxQ)=PM~=jM*~m>zGDCrl%>!@ z2Wo0-`dPJ`)Vj%O&~OAWq}~SJc2bh)ghtzu_apG10GGMm1bV2Ka~5Dp@Eo5#nS2dBF`C*I+)ZI(ZL=WQPRn$-ge|}yQ9D|inIuG4hL)Pt>>$#U zMv6|&LC7Ugkw8?`Nh|>KboX>`rw>p+SlK;zcf5P>-Om2b!D-*y-#Om;9!9zO?e5<0 z=}&}0?{-fQc23xRU{l&S+B}8@d%w4N>>a&7J~}+v;nS9_g(+GVVEhy4G$E@4S!P%& zbkPM?uE-}vg6ug>cm&vmMF{^4#kKUMtZghy;E8a$id-ipQT8$)Bw9>nqAqq;(#G0` z*19muxcBP-o)t*3(q0l>CMg-uck$%)fc?p)G!AY9UZte$gfW7oZK+z6B?}N}YO4&g z_$p0+`x?Z(zP5Jv9aXN@{5**7U1k(er=KR5#L&^;u23JL?G~!bDS9B3WF2qbA51-+ z;{%m4YRS@sIu?xpEp0T8u3Q~H)>bY7#yOyz#AsW$tk1BafU#v$0x~eH(?x@vG^!{x z>fB)5sID&9W{#)0KC97cTorT)nlnvfX8b0}WHBweYHJL-3vJ?RR5_l*!`#pz*x(6*Rscj^8y?(oTms@C9wLKY zRm4dfTA3aVZxS++j>LTfc7OmuIX6i2yaRp{c$)(}6A%iD@?y`M=AgDV#gEs>y1U!8 zYAjr6Zc|+7;5yG)3rddg2BH&2nJF1DeZ~#X`<-Aj(y$rEBM?`( z25`p12Gw~~jENE{=2}D1Z0A`~7;Bkmj)5kFRF1+bD^dG(z47H-m<=y4!j7RQn59dsH?4k3Em1brMrcU@rg@fW_D25b3}=wk_K%?v-*5^!%eX zgpyFt0{}V!71I(8R9ss0q>74DS;iZ{GUQlU>>@UEq7GwaTD^>o%L-XY)ksRL=)>Sh zag8+C$FstgpKL<}X;s4+^jIF{6(Uy`;g za#VH-k)x@0bbY|(RGg+)$g38LKZZkZ<2}UZtYd2_9eAnXp$mgmpp66nLiSrR-UPOj zICh4hket{Wz!{iYb~OWp1C{`eg{@?hp~6E{X4Jw?at|D zuhStt4A8X?xOKIdAHm6U6Q}uv&b1E-8Tq^cFe=26FeafvGpcx{lCQ&=>G!;g^s^KK zYA`YYGQEoRS9>5>PLcV~Z%ZQZXvGGS7@H%V`hl^bU7h@#@+%-X(9zL+dW|O)@!%=4 zqY+t_P5)0zviU}+9Ue?)qG6{7k-;iiV^_>FB3MlmLWk4IguK>C0VdkS+y*Yy(_Ns$ zz=v3%unz!F#Zp=tXk5qXqzaC56%N^Ckj6hG@$J7R!wqaU7`%M*JdAh;kFl|keRa#= zdOH3mbhh1i-J@A>hkFt9{dxVBBd50%T5>v5Bz_~#!uKbtZ(s)Y(bHU=1gK%{^U;j7 z23=IiqRXpm382%sWRGK5P^txd%?MkX%u3Q|IzWDkhw3<=#@0H-87wzCEF)r)-bK`G z*TC75c?d9f3ezAnuAnrG_k9^_ff?|Mtk}dXm>3v5V@uch=8RctI5gj%?3{OlReBB& z-vKa?Y{G7O^29qTVmkawK;g2}S@E7d6EuAptgVqm^6Z({C2@f~xI}t`b6h!iuAs<5 z*w0RR`U9Q&Vo?BwIkvb-)*PKp=5cmomi-DQHM^wMrZ4>89=m?CuX;@5>cK$IHvc?J zy?>jfGw*N`XTJq1vGz9j=x*T%%JAleotfs*uw4CD8Q#Xv(M`0n_I4$mmj5IqW#i}J zhbK^Fh8=9@z-Jd~!fKcB%k8-QFwG~Xvtd3cgCTw7{+~@Y* zA@MHT`-g0akj+jEH*$-BDLCnvl)FQ(n~-xMa+Kd~a@%JBnhe$*#kL8I=!v3xE76Mn zv;v=a!FNHf1MKCP0F)n)ybdCiQ#}PFbfqUf5Ue*Dz>eleyF9#$Niw-u?_6A5bl?|x z;*bJgPjCe%uwo8xD%v3@1Ly=`kG4OU1^V}(WD*zTctp)0QYEl~_I9}kY|6Bx@QPc6 zsr-JH3{ZUobfL48l?W%?v!wnf-xk~j6C1$+I?i)Xx!n<0N;o_QrWtlAY&#Ggui`1U zkNRAKYfL6tgbn)Xu#ZWCTCn8L_$iBT-7Sh^Q1kh7dEFU*fZDXk1ER(M^iSSkXr4P0 z+I+P4R&Xa}H(r4M?TDK!J*-|P*(wGn-Jn$W$aSay6Nl}M=b>Oe1C@?fRFHXdlxhiz z%0X;yJWMRG@InQh|N77W@4x=@|G@ub+hAGirDoQwcOrD)nO$NOXUnG*AcU3AlW2}; z3UB@&VA9QdCKAEVsGg{PgQkl4B!{ywn9QxVex3oy0STka0G8*!{_{WEMu+o!=3SWS zU3mXeP5`IN={$`${6U`P#X8XT`9F{HY`Q|P*Fk&$Y3iT-Z$O@BL2!bORlR>%#k${k z|Mh?VUmzxic~Kr0AlZy(X{6QZ4Ts51Qsf!O*1@=%K=#!}2y~)ki$8gW#TYgcXM;r4 ztNhYTqB=GQ#$Rnv-vg6?^qEu+G>$T!62N8?@3-7#4KxfEt}gU~Lm36irX*`TumEj{ zEEZcEpLEnIwJykbA%H@nou?=&QngFAG^31)1e%m2lQf^3aGk{~>v_6JH*fesC&e`oKg5yT4e?B64! z5YNFXU&>4{5Yg8aHseFrNXf)zh2UZ~{YK3g`IKbQXxJMcgX1 zPd8EhfPDq4vZAXl$shvxjd%8syZc9n$ETYIr|0m9a8MCe?sNo~P&&ET9FT`;_&uEY zVK_|F3q1J|11>2L5Th#s&)du-rfbN)!;C7dxL{a!Gt%}=<4Ld2;Wo4BWHzPNy6jC0 zV08OKjgfRJI>E*P_gLeHcuqt<{+N_(IV1fYj{-Gj2s7A)1M*sHm>RC~XsRNwv_DG~ zi=Z<0g(vH*)P^XVv=9S6)SAo-I{PkwMJUk!+ukRA2V2;0n*oL%LYgUG?{uC$gJXRY z8a;rMdfV#l*|YV|THx)YJfc{MqNy(gusVB(ofiSM=8PMFSEo6hmw|T-gS)Vg>y^T* z7ktHDSjd+}GqmHYJu28-(y{FHc#D342m+k`MFpw<3>;fW?TgAc-0-a!UnwitxUw>d zfL7>A@PZVnu-&+DD4<_i8BAs?B{D`^NAJTuvx81|kJR3|;8rh`z)Xucr9~hCIrYX# zh7QxPJ$6aVcsgWOoZ^K?fI&p%auvQkM23>odEB5u4Me4j6*wC&XIB@B`l3LBI8IGg zAt!}Db>=e5gTvDuoaVDlm<($^z-Ncmgb_qPWPnb*O|MMz?|j@lg^kfX?0`6N3JS=urhg!_Oz(msmXa?QwXEZYNc7BSl(!Xe==XG z4U6pWf_~2W2+u1hiGD~PvSrjj-wR;rwSmyU>c1_!%^Fs#2b;F zSjEk391+>A6eD0RRH6nx8g7edQaak~G@8c+LJTRs*s#e7g7M#R>}QDts1yh!Nbo}h zLx?AGmwr(=`~_@=;~16&ZFp>J#S$z9Mnm9F^R5&`Ddrg7@kWlksybSQ*qgfJ#dU4n zxm}se1K~8+ouhYERD2+{^{Aj1Tm}{9()y2NQ@{hHy>S-WBJTuS^K@%&pX1N(vjG@w zU3M^dUBn7j2@zzfIwy*M^cXohodNyzHsnRO*XfkQ5j^vUK(E+S;IQDBecJ0hVYO++ z=mD>TAdvO~2i{LvK$7Z&*uvX4g z?0;(&+-oQZ?cn;B@B?r!dVe z-HxZe5Po-u%-XJdzWnlg+yF3;1r?DNEQVBllAfZngmZh?P*8p1f{d>#i7vUNRT-O; ziR=n*ciSml#sGrp!Wt)3gli#X&Q@kc+AtdW=Dk1O>$I!@9vK&%-Kv7SMb)Qh!!#a~ zs}$-1iYtnTqBYpwJ>JiHkD5~bg5(w>Zc7_*j@*PAIu4)nF}78vS^YrH!g8I zRiU$UaC-dH(c$iaJzc9E3uMipTCumEYM>4#MU5;@PU=`5tPgwSx;hXs*^ZVE^OyqRUI`_`v>>rX=uRe|9S8{SW{!LeHx{) zZP(55;RaP(S|6r>dGy|+XJbTB61rWT^*Vkp@HTZGv0N63Rcl>R-hd>+MY}s6VL+b! z@&&wo@dxMCD|q!vy<#>*tlP5^mF8OOpcxNGZnRGU8I3rJBG;jOW5{bl^z?M1F!?cu z1}9ELmsO5LiN}{Haygz9Ew&NjN6;%+hRv?(n*D*HcRE`9cg(boiS}Z#W%Qzt8hqRA zhqf0{G&wT1go&A=>+DdmTcRiLjDR*P*d=H{R7^t;&;ub2eG4)CzDv=!LQ_o8%gh_VA1Xp4NwYt-6T&#!5$;Kv=E-V5?237uq66 zVyNr9h0uyT_S~?nuk55HE5y#(7(UDa`ha>Q{gDcql{4;mDY|jpQ_dl{1i?*G!pfG@ z*)Yk)C1p^q+T$!&&Ch`8`3cCf6Y|+8IKH(cC7sfv;Q}d$#UH0}Mnukc2jk;{juT9I zl8>g?b%5G9beds!DwT#n3BW9E_5lw|#x$M%qy@A|*^vT8p6fuKcL>CtkAQMTT%exr z+d}NKILB$h6m$t64Jw;NlZeFfN;5LE0S>FH{3>W*C}I-m=9U+h9Iv*e9;wX;TJ5mf zSnz`*^DXeN(;hkHG%KknK2RS|@Q+jimekHKputOZk!RBs6l?BqXloOP*JjI68{W`e z9W*nTW1Bx|5>5MvG~PU;hRs39K*+y{aI0`CEbcnjI94E_kJ~%mmdyy_fJiO8wZHu< zLW5r&T~O}Bi>+yqnpc1@Kf;cO?Yz2|WV4SwSw)2^%#?!A!_T`YDFaUi|Mgv`GFw$E zoUB#2!R}kx?^m2PCSecI>3G6?H7rd*1d8q1Pn915rT$uJBGg9c#gH+SkAQ_GTID~4 z=W-y5=fhrf`N>qX;-|sl51r4L8I$o<%Aiw5e3|DTlutz9sh;&G3N!53`Jw2HbB^}2 z-_LNCJCxn?3mi_P;V}FYGzDi5s(vDRn1^K8KwGu#e%dkar;0XxsjF)&?bzM)l?oat zGg=7HVgrqjW~sKTb-12{{192ka|NiU^6_P1Eh&@-Kp*p;Sbh;Iabk>dpqLnt@P&hD zC{f%1;~NNPpf7;W*b0+l;}yFfvbNpW-ipcrrxy1>EpFwE6TF~s6FQ@QH1v#)1jTcy zh%xun=`-6BtU5TzUS=2A+;%<#`hr>zw)XlFJ01kdWS(96l7psZgQNzCRbpwERQU=) zv0bDyCDD@@H#~bjFny)CI)bc4n^j$O*BAno1;m9z91bvEgpvb_hOzN)FkVBX`nH#x zCx+Z1lpz|Dx4|Kwkj)x@*yorzD(W=KPy%E=IU4>ek|&CmQ`D(t<${`%F-Dhz5F_l~ zmh#b$Tt6PdpuPNx1F~)ZS(UN{4o!;jCg}@c!U0@B!!txCjVAc{Dvsd5A5h%U(7VdX zph=w71u{a?NE!pTaZQW{B@--TG!N0@`KVlDdn_Cr7B4~!k@fL{9T2h@?UOT`pfelI0vVQfNSD?2(WxFd)X>7li*KVc8Nd{@?0KOw7It1^0tOYc zbg_A~>vcuBd$>76?{W5)D|@;M**x(=fh`++Wa_@mKO)!~8{n)T0LdejRmMZMpZqf3 zAMdemg#@ONu)AiT*Z&ekfCSK~r-~$_`EIke2^r6@W<()&v(nS%Efb+NpivJ9I2~1P>Jq0pAakM{Kampo@e|LBs zZXF)*bs2}pCscMBX!i?=|C`K(qX?i_`ZePJ)}Ft5{mPC1d-443+qcX3zrV)6Gm>sr zIELuF!%s-wFkWcG^Cx)>0&O^)16@i6p(uEf1V|yjqg`${yfZ1k0vtj7&Blx1dGOrt zt5#N|l@-&7ah7T!KejJrqOg(dh6@n zD{sa77O14;euJ66ONLC67RF*BY!;-e{B4|r$Uq0l_BaeW$@R_M;8p%o_|8w zHNSJ-u@&L49PNf`za!9Pc&R*H8^}gsL^=ka`yJBl!@Kr~6C;ZP!`b+5 z!pk@tT(4s6jpzM`_eb>bkzZHIRDNBnSL69)9u9DN@*>MW%CD*Zb)y;!3A^d%xOFD5}UObiff^Sk^6P)-ow+Jy?YToNF1f3r(qd zq&l#oa z+a#S`C7D7@!2coUP#aK}xbjRGLW>R%z3X5Kib1_O;L)=XV{tQV2R3nOh9Te3p)5o{ zSNruWLz7O({A_jle9oLJP|H~F$QX)LuZ|qbZK7O#_H6YToK-B+QE8+G{(b*}7Q~%! z9>LyjsE&|P-mEa3J2N!jZ3ru)e8au?_vh}U0-{pq9pz%NLL_QMu!9%ZtzcV*@Bl?& z2pa$QUjupmwckl|5C>-T=6UcocnOEYY&;=?^~{Gc!@88}LDrfIL*?Lw_aFb^{X3u8 z@Rgk0c*S1_YksHgjF`+3O4Q05tZAJ>AS$Z3S&%8XTbd!xs0_;i0p{P|!r0AGA``s= z;bejalFF1>am#Hf;=zM@%S^|wc>>8~{sGkoYGf~d6TJ32h}UZVZR`ttze7D^B+L(O z5&yjJS-XG%28b{L5{_G*C>4X1?6md+6u5C;;F;mR`G|-mujn4Fm81DjoBMmtD?G1b z-ctC|1(JpUa;w281=|3R~Cr8h~_P>5cgu=%gaK);3B2sJssUugt1p zRB)#9k*PKaY~v}cG%d?b_g|0x1x>8q1i$M2Ur49sDf340_y!GFHv@tmupOo+T7e+R z5}{`>+-Nw2-&7QxZf-W}G{U0~D}2yzpzUcz2r!@--ce(iTG~ozT@#*~w^kYJOs8=8 z`G(pOTTGP2KZTJ!Q+qFD7ixHo0}h|T$jv7S1++c`*1%sRa=b?PR2qCJW~0%0XOw(Y z7u9(1%Fc4VU44`R`-dfc|Kv!X)5&Ni{Cs~ot?y#M(^p-PrGJf+xY;G z_3Wxt{^OEk+rA{PoX##wRrQ5x4>kWlqLBH}w(~ML1){Z?CXqxo!;=@`V{96DBMq>R z0Gbv4!yBc!*vZfn?HV&=WV~whr7sS-#h7g6Y*FeOboNFZ z@F!+(#42ASd*hR@ki7B9*UR1b=EqpC&j zESpEWs2(Nl=rI*+Ylet^5l{+L)x;4#==v0tRdhOG2qy|^!r+wSq2cM)(j9(kY6ecg zUo!oN1#Bh#kFo!}e*XMrh5o--(*Gs>U()|y8vQ47%=9)*E*0e+gUn5CdGbtw+44It z)vt11a(xyaRb|YD&_|OVx<|-6Qgw1+QF6)$45>t_-ud5DgcXO~o_b`JPS=;POd#h; z8IIEEYU8w+#k~&NQlMm)zOH+hAb0fGd50SgFsal{+~tcmlM#n=uIuZjq?C5W=yKwK zqTD#U^UEar;IHE}gK`RxE8sApKu~z;Z|{8j{yYEvoLi35GX5H^?jF25q(&JafjEYA zd8Q)ybY+UZ?|(vYDU_yKbi{U*L5YVyE#_wQMo?2|5U7q987X_Z0baUzaGiHY3u>s2 z*0rAUUK$ayqPv&e69@V9T@E-*rm^*=?tDebtPJw3*i!LAegkN0xF#kZz&43J+OT4| zYNb`st4}v`jVDvV&3d!qLgW_gd)LV@27zrdYptmRWFPFq366cRv<`}`mZW{9(YGVF z`O-AkG2;VY!JsB&z2g4Eq~RTp$$C${htRv-B!gbw^t_dCyn{TGz17I8T5-^dVKuKf z9lZ6TtIM0TSp2(sZs(taRzd2s@%WKP;* z68VLsX5qTIrTK&~p_V=)nHeU>Ldt9O$KQYx!U@E*(h+Y zJpZncI<*-(>LNSqQJ-Y`jfEUGC7jGc1aB+B<4dp1X6y7moANzwlb$;9y1&gY_vO&- z%k;z1EKQsCF-KCnJDG|-@qUQXgl^5&flu>E{Kx@q9qu2!Kivt@qlGWNLAFf+jt+AS z_OVL^AL4nbm?Fawl*AHPH;Y2|KJyMBLEYdOP2lmZ>R4|L!^HkSJnGF$fI_#|0P&Fpa+0ys;9)R&@M;kh?*v?2>k=E- z&^hRyfhsw;{52me%-*nmTc;o|I@*sm9MGJpQJ%|zSLZ!#oZhg}IY7(_H5*qyA1%HS z&~FygLSv9b{3&>G7k}ZpF@_(gyP2&$B*)uW?=Nevk2v+rIj|-F1gB$h!U0vd# z1Dmp5%ElWG#Dgb9X)h#rQyz-8%F4u~8ld#5>Sd=>WzA8kK>@U?8VKUP_bat1XzDiu z?-SfFVI5(Tmw74&HiO>j$kY)W(9xcucnIZa+nQeUUbTAA>;n9BVnlt_4M76~HN@A` zX-Pdmi@0;Tm5zJHm!5f*kUl8jVE2J z3jizMF_%p@Ui4~fq$~R;7_?+ZePbv*a;N4pR8C@GD5blSl^L|Gr$q)Dhw+n@%(ktk zk>8Zc^{z62dw;b&~}$M{eh*GwB5=24?`G{S~K%)S=0~OzYvTjEha2X_F*J zeKs~3~6QnvwX#7a4NO>!up+jNG2**5Uz1Gog?Y{d|`|b!d*3X5fON}@&F?Y zVT7!Z!3zLGCta(pr}NAFxAASbg7LdH9U@a zjFDBoR>mPSr%*+M=hMjCCy_d<+bT*r4LUd_r$`I7Sx~WCXu=bXFW>3x^G=%mDxNgs zOKofq(Y43YB116SsnJSBRz*IiQ8G3@pH}I!^S;hV)v6;~Bo8C)0bJ=;4tiU_Vgz7N zk_!5a2oetTTuEkTaOZf)RMR_5ZLc!0_42ChyeP^A9eS3&~XE1$FGqcMe zxMlp`7utVgVr4(i{`&$Az*YaBS8rb~?Y~R=@6!JJ%d`K6;b?{#yu(nPX_S^%atd>q zIGZU$v9|-in=HS4Fgvkme5`JvPy7#&9MXppcZ7OYZbsr&g7QzPYKsyppRn_JiuVhz*!a65;+!@|bDFMx*JD70C%>e0x1j}*Eb3K&{$Qp~w+_4vjj(_l`a?YLdpD@CB>#N7u&9~?fa%y#Z`V8H z8eP*EcfjEay3|!XJuE2E3_3(~IDp&JtH=q?QEl7B4K5vGVkC_BNpprZW=O*4F+A6r z*rcRxdzj3AhmHp1>h&+W85dwaMl3ZxL30R`bb}iLvI6-|B zC}P)Mx|QlZL#6sl8x}Bj00q{jk-(!F$hgE{Fjo-u_mht?Uj_rGumkd{`9o{rC?$NM zv;9*gee17E0$-_1*Yuhyd(|qH{(82Y-Uf@L5orTx%N65s-oL6&T+fISwwR&0dE#+g zO|tmNziV06vz8&9-#0eHx1S)-gNkgGw%rD0br}q3TxX*%o$3D9nd$y#&XjLi*jq4N znVf$dQz|XetfiRAO2!kIibC+9hNeyIB5Wv+mGB#R!hyP+T2IPTS10rKqD;04-(e${ zc&IQmxx2$k0HJR@K&S@ZrfD5Mtl~>fs!&j(#+P7 z_ba7^%86%0w-mn9ixnR#Q(gV$h1lG?P}#h0iG6i5gViP;jtiT$?tN%&8230e_-`6@3UY;VUWrF&XV*_QpxLd zgeVHJq8Ly8S%w)22OQl7$9oJLHbFf#N>lbNnO1gk@7uZ3koE0R(j6FxKXg%(Z~@V9 zl~*I@+$$m-c;kHVp;TyGY2UiXq%W((RwyMn-Nx)nXwsNxWlmv$I(MUe?}wdO9oyL~ zt}Lx9#+;$#`i>KDn)_hi|_5#;af7qQ2;xdCXldl^c6}b+?mmY5}j+aQBNpp5tGuT;BtsEUaQCkUbzF3MlVnk zgYTC0g8gf(i%5EdZB>yp)T9l00XW}J{FrBmeU>J!sV>ZvS~S;LXTTcsp2lD+s;>5PPdl^ z;^@%rKu$`%@>FqAc>&~x-O-}*l2oYSAno=R)oav0+|{PrCQsv$+wJuqSAM^_{C&qk zp{`3!>gS4j+ml?cl_RvSuWQ^H{uT=tFd#*QOfQs@Rz$Lo;Ti zb}}Bp#0yjvv}UltjnS1EB=m~NROOB9{IT&l#=B@T>k1&bJ{?D6)t0Lt-3B(*uqF9Ijq{&d<8_r&Az#^xQx92m=(_$70yb5cl+W&+lT{#&zW|8)Uj>N!UloY^j|bxT zlYuy{0nxeV(ba}pj_T%;%Jmv#?K?2njT*o2J$v@yHUc2F={R9xd|77H02Za%aqpi0 zd>mIAg}|v|O$+Na4ufjC)$9plJ#HMIn}k7;aZyjTU{P8SHP3~|0#H~{};xSy+`B8_|x&EqM~2~(N_yw^ciDf zT$)THvGg}u_fQ)s*Zdx;*FxWq5NJ z=RNNm?|Bo8ve;HummORBZJS%w?N5WTerh)zxeXSq@DpquK{OmzPp5{X?rZnF@ASO% z|5_c4hhLKaUs=^U2{ z?-5oS zc{POsZiIralj{2AbeLcm5&p<$Q~4Dag>TJ-n+;5VU3l(WixeE~9_{FHP&1-F4x%r8^`-Hi%Wav`q{UPZZXsv}m9FDq#bJpW zM(Y**sC|Uq_#^zVAxiVI{g$j9t4nbZPY5`b!F;jlHuC8hvUMXjjrGupEzst7M{;HX84r=N-0SIN$F;z+idI(e(3st~(Y8r~2X zU#G%;c^#*ixW^6mLNZ2XWJ8`gm<|bm5%#Tcc_Ge~Sb3Xx@N$QjigJXPXw7V(^i9dI z8Y|=2C>U)9%mn+R);m_^D#Qp4X}BO_0M%5t5|-a^7_<;Xdu)PQf;fwTAlPFekHH%k zHwZJT;b``Ww+POa_N%K{p}pay#%}VVl$VaV1sBM8d1zLJNcS@S>X#t@vmNwv&=^`{J)g{m-7GLUHq3x{P`&{U&IpCgTE;FJsI$WiJ!nEU z@L+R)hcDJMw@h>vN5DN4^Cv?6JEVCCe_q$FUhSUNXrM={Fz2+`U0Z;pBm(d7Qkdo( zR{rjYS$d{x)96E7qFea@voirXqif?~V9_`xq`;hzOh$-O8vB=VA}JJQ6AxX#uQS4g zrzk-%vUmOPlyWw}zTEH|Fu*raTGm^(d}8_-VNf>}B9d6X!#ItzhGCNvaT7x8h9n1qwg5FPoV7xy*D3{%WA2r3 z42%b%pf)>%#7F;iSTO)aDJy$Rx8jWHT!n4@G?|PuQ~;$<+1p(_!sY&^zKT$=8`bwC zW!i4d%X1SI3DJlPYd>6wgffZ?!lY#C0kw|}I^chGLOEA$*NV#FD5CsT8$(UtYVcym z%PPYuz;k zt+#cDE1>z^@U+kEvk%_}{TF2)YD1vbGaJMTD6MV^*#|24^063aqZ<1P2v31U+(qPA z(0ay^c7o)3oY(s1{v=5C{qf#^7tYwr--19+oK*{rcD!vBm|93$qmRCUrxsfsm(NdX zQ#|+^+H_--xk)Fm+^M1W4rd9IjYHvC>kd4u@Bn_{cunlbn6#8glwF4T=qRK1Fmwy~ zK5{al6VJmGUgbh385zkYH{mu8>pP}?g)Lcrcz|R*~dGK zT0EY^h`pR!HO8t~OS_j3RlMvhYP72Iw>|DR1cdcZg4FKIiuu5G_jcNHKB=~xmzB1h zKo6%W`-^JH4WVdI{hE!6=^ka93P^Nb-^F`$FDGwPmC+5cUA&xdX(dY_?V^FTd6VhF z{pk$h^qM`UtkYU0kNfgniSv%N(|zL(tfgJ!++u#wm~u_ZNQPPD_JcAS#UTNB)U%SE zW5*WrX#qH3##Aw(U8~Jrv(uQ+S*KAtfts4{_RtjlU7BA;sZRb!X96rrLsakdI+{{W zN4sljZ8VgeohU^L#_WE9fbY&(Q5R|Q+ zmI=d_`roz-us`qqzvpW&Yxn=XU0dpZ{~G^XX1UWOGPhl>W<-NdC7X7rGaCSiKzF|i z+30j!2D-7I#v9l^sS}5z?$|=u_Le7CCE(o%-Vt9=ezN^L@06qEJ4UX;6rkzZv-4`- ztU($U$qn!U*RU(3DE_P$xJHCvtXbtia2>;$%^~;uWI1OIj$P(Y zX%K&m2Q!iaqoT-f1EtF1tF4FY-c!7i`DuLwq*?iGbQ2va32tTkXL!UksxyG@JQzn= zbQKpH5$5MulJzD1|2+C{CC+a&0zTyb`{G5F{=a&?_I64Cm-fG<{qOJ9{>O(n9A~9t zn__jjPS>tpSysbE_x|l1{19#(?`-b?tTy*fba1k-Z&h3O{F8UvTjBeYonw@PMDytD z+tgHnqs^0(9}kbWRRMiLmoBljw+sD*yVW9cTUw>q$qo$cR29{ib?IVzhu`fUgzt~> z4yF6f?!j*OZg+3Tx+Vga71jVJ()IuE)nEaQPO^kArZeCZt*R-sUcZH{ehFK{9c(RE zur=Jk#zOc1rk=+!uwz3L5{8<5yqByw&x)Nko3aB+%5GBv>V|d^1ui>(N_DPA(VzqU z8T$g3@Q>)B+pFHYsIJR7mV`ies`Go=Lo!(JPJZ0mR~MS>5M5QPDIna{GwQ44xcZqi ze12xI_}ukn)Hlr4YG|~s)UYm|t5z|H-dsoBN7qtMu)k8*TvJ!8XSTw5zv`3Ojy-X9 zL&q{y?gn{!T|+4pXcoL9(*%9(j@CC%fb>UZ(ncsqU^ zJdi}7!LN2RP4V2itM@_3ec7nM6=^xc*h#(a!iiPZ#Y?R6{~tSaeO57tr?xKfi}x7W7lu&SwFbs7}= zHQ=}2sA6Z;L3RF8DF54%|5=0e+5W#TU%q+yx~l(u{o?gf{$I-fOZorr^ZtkH=~(+| z&a${1M3Y#__;}xzCGV>+-s{;kN!1f3em;)O-$7#vZdeI ze1H0Vy;>g4rq?f4r}>9C^E*Fo?w*FwLAbqhw0HQ^J}OjBclUR2Z)|uk;Y>jnY;&)! zeN%8rsBY!oH5XBrxG@fL_zAKSqAVxlhW+l`G>g|Npj$UOYa%&ADj+$ksXV1vtV?h|Rlu!;9=sFQn zATIK`-DezRr#yJ74j2BaMA<^IfWvp;RnLxtm+VKK-<}*Ekn{-)&c0rnz_5>{uS@vn zeZD!)eMO}x^mCNv5k`R0^_S!K6d| z?p_6M@)-46OPMo&6KF?XB!4DcByncse;dQG43(+Qz2A5vHjEL^4j2K&?XP=x4842r z4uGmOdzDJxD|p^X|1IT?W#;7kkHr~w`i^aM$;|O&-q7blAV0c1j1B(N#}(dy|M%65 zH{@?Mn3JyDblT;gbO&iyU!195!>*pr%8+y#-)wlVo?AJmDzjm=*Rj-u**JYE5a^ak z8-qz0LheI4M`eG3IWrYS={h$K>-PGDTddrL?cl%HIqnVEI2RYEy>Ke`?tOa?JKri1 z5vPb8YEm`I#U5Ot>oiUpi8`0luwOQ4881ceVvV3;rre!PC{Jz5CTWeO3pl^+hy$j)oZJyWuS5F(em0VX|;=f1jA zEA*E(rGIpIf^NnLj}1O-Ec9zav}eyWt{M+`(jsnaUZoW)kqv%7K_|ZVE&{S1GBoT? zw*iYAhGTA(UvEFwJ4!p;I7p4OTUr+?;V?*A%!u&7qzs43DM+I*qhrL5OhVc~G>g7V77L&M)b?%0_Df{)V#>_Cuct>;}TT;T|U01g*$z?*z-vq7TIH zPfw4UEiQ15!E?}fmTll!_M1<)&TO~BlNH)!;2otg#yX-RBZ5O}MA2DOVshKGE0k&y9;vmvSc9Pm>PX}M&Ds+9PuXaIuu)~Iq+2P)dmQuirfa|>>1V8 zLp$Vg*1XoOTDR&o!K*&pmSOR6-GTwz4GT}Y*SprXNUp-|UBlqo?$uI0FO_=|070vg z=X-^2)TXyGZQ9%wyYa|hq3iCwZK_K9!9i#D-a@_Wd92<)T6W;|3Tokhe?=Xr(svr| zo7jbId+;V37&K$VHa4_diP>yWDkQc6X`%2JffU;IR#u8}9eg(++esJq>#NvtIf({w zt>EId;0b;u@Oq2ji!*r$y6VPLqmgW7^Uc|HLY$4w>0iZDi_I^;KA+z(KvynJ(-scj z3LASYlW$1fCvy9JmtnU;oF9_dzT0^OXX~t9(~`Mj9OcN5k|}9DK3xb?%DaaaNF_E& z)5{3c%CW*uSvAh+hBFZ2$|8yG^YcytwV{RF?Qgz&3BLT*< z%FYR?YKUeE`m1gySG-YcVx4!YVy&^Dx@&E5rEAU0Td}5$+1?jeJeuT~Q>X^qf?QT( z$t~F4(1TA};iDpe)v~#+8uGTw<99F6m1&}IBG*Xz>s2p5voMS0DYZ7k;E&l(8cirm zKr$u`UJF?6+pcsa86PCd561Zqn<&#bo^;o6FS=H$@ObCFiGF8vMJHt>fLJ zQxOe-C@H^%v!nb$eyC*dI{&l zoi(R>U+GJV!tR)6g65@dN=vz@Z%eo1c3SO9C0C%>ak5>tbgm5g!4Di|4p`Vc07B91 zDjZ<~6+9WvD0O#Hpqt&mKRWtIWd# z0`;`-J!M>UN8Yn&t_2d_S~qc#jOLHuT@I)5166L{Q9LWkkB*|b+C`7p&W*-5>JD?y zH*a59f;-&+Nsf*N-RY25p`sc3>P($BsMb~Kl_|8U&{-Kx@v)TlqRJXK!cnn5kAbmh zWy99{u)G(d!L?k7w7qwz^UEi6`7pa?!?}q)bsL8l zSjQ7Pn+8y^@2xqB^xYw!$q9dcHlkm5$-RGGyVKAw;*^#sl*1a^bxZIN@UVxoe+t+p z_y589O<5iM`&xzZ1c>91G}Ktkw@-EpK*Dht5Yg@EUk)Lm6f!ww-?JoAlzwZY#`iya3xDdou{^GapS6#KNjb@KbYN~&-eLY9nR zd{Ce|(n?8VzVTnb37*@l)UO+qMt;Rm;Mc863(IJxZ}W8Pd;0?xKS6fvKtSENz?x}O z=Ath!rd7PUdY@wZe7upU=Vr*(W_hH)*HKAn+{csYJhWA{V!~1M^9m%>%#d|T%>w=7!HOmxc0R!DOE91n)a#%WlO~y5@aD?IrkO5|jPvoB zmnfUku=t{RcU;_FEjJI%jD*)klhLED4bz|!Wv}FHN4H5S<5%E%;_c;m^S~6O&{zVE zn(2t+Z3Tjw4CqB`;(e>?W^=?KS6kK2%gN!e#8wDNQW9R&I<16|7$&+_l33}!N0%7@ z8?@oirlXZ#H!|0X`XX=tmd zFO@*V+iN)DXtVbkOX6K~h@W!J1mOnuL@&jEqZg2TT_Q-j{u95q-g>vWY*EBOnrg|xjTLdspc^Fq~ zTQ~6#IyeSHM1@OUdFYtqu9^(z+BU84d(hb7_9h-7sxjleb?0v}pSvRVf8Rar!!i-VEZIIf!1RBP>K4>KNip_B zSynx<-vaqe=Z(~h_JC{-rJH{&@wZU+F_zq_5x41*3ETKo5t&XtB$J6_i<~Qi)OzE* zln{p88}0q75LS^rsz#uSAoFjkdsQO{f~xGIky@4`fJ!Kc*YNumNS!VN-?n$&A(y_b zklrF`bRgvU6g~0K(U6uN$sW+&+bI3exE_oJ2(l{D@YV6ra46TDLT8;SVI{OnSdCKF z=~6P{5@@^8t^3XNOJ53FJ$`sfZfv9d4}qWp*HjzL3&T5Rs5cCdGzZ*9s$`vTIGQOp zo2Kpgc+G!{KjDI1ZYz2>EK|TD??YDIeuDIAvwO%aKIjeEYoQv-P5cqM2Hk{&;9BMY zPOL~&$ZppvvC-f#w@CAk)b#xtvACr40&ov69*zFxW7WSxakxY3}$um-(o zesT`mMFfG-{@bJz`I;6-qxz`qv(qBMXQF{FDpsYc-q)}(R)nC6i4h%=$iRjENIt;D zcZ`k%z;-d|uM!FS72-b;VOLcEMN=5)L;3&KURUEkU%h#|%>T5E|6Im@{<7jfm*Mum z#Q1-r|8y5aOA3I8=>N;tYgPLH{PpuC{a@1mCH?=qi~kp2j)oh3w6KZaOwxB z8Fd)tJmz_knuQxBp>s*<|DyCCH6Lw4z^C*7uiw0UxupL~`oENS z4tU`H-xq6d-&X1W>le%Wf0y)sN&o-u@Bc-*k|vj`=n*_NCGt|SCC#a_$b$LM1-SYO zSSZXloUm7|_F(9_0!XYq8?-f&FH=Ehfx?nJ?1o)u=So+mgJZPW55)?~Z4U@abVV>W z;IzEWboX774Y5fCQnz7>y*3F7FCC^B8SDrl&bA}Ew~9+q`YQCqgwf#Tv=r!8tt!D> zcs*%8E9r6+UQ}&yR+(^Vr<5^T#?j^&P2(#H-OPp_d4zb^@H2&WjrWmQvt+8KC0YT_ zhs+t2^kr5Q_OnkNAK0yEYX60Xuj0~I`-cu7JAn}~$XOI*hw z48d?JHlk94H`F3bYF}2FCPr~n*e=D+>T_^~FW#+9(T!;1ffMDi=#`u1-@c;sQ4rue zXtDby2sqcSesyp#>KODQd?VLt#A>~L?afsKk+gr*L<49qHDLz=pyJG~LV%Pn`}EdnI{dg*(Vlnl}v5RpwIfLDg3`;EBev}}XBwjVWeX?7ADIInX7(`L3x{QU;Aq7no!1#vid1h`sm zCGI0&gv;03_ zzFGQzF7^LQ{r}SbyZrYzK>rtce?CnA->%i~e}dvm`oEHm`c zFZuuFzyJCCztH~{G2j9E|6=X!n=1W(zP612TGIa|{a^C`(Iq+v4yJs$-DipdN&c|= z=ch>kSp8igHvgkJ@#y+pf3bi-nNZm8bAg-Y*ANKk+yAbBP&JN3I~=CDG+r^PSEjV? z1wrtb_Qs#m-tzqYMVTUg&}6)JNf-y`1|)e$3Iy&fDmqB1jxzG-pxrLGo-_59uj225(wKkVq}(Y!_m6h7#4uD8D9>xP9CN(1Ip=2 zT%18#l}lA!U~sO}jSup4HqQFq5SIa|pYAN6S7ne)_g7XF2{OY=Gim zBG9h2|GNr8rXvINo|7ETz`H9qE@)xm_sDB)9__XX6xKTv_oY9mke?YPAEmbFifAkF zOG?D!SqcCzoirQb4QE}^4u>G-ucLgOK=Q2?od7P0M^QI!woKyT(5fa;sBb5`3@1g- z0YI=)o^^j4heWw4fm@^}?K5eS%MF`S21t6s=q5^N?Yh$EM#DI)*a_wMpJC$57P{@m zZ#3S$-ES>YzaG0z+`_; z_qHT<9fAexX(#c-v1DdJA0IMBwqd+H3VeIGvwEyC+<&tyK*( zuM04P^83-pWIP*Jra>O7@pN$gkRx|p*vE;t%5{X9cf63C<@ix zCG}%F-~^&wjt0@Q>@}pz7Dre?zeQzoWJrOlk=3zK5 zs|J&)-7iL$Q>(q5Je-k@!x%6MY^#3jTA4-A!HSPazpD*)2E%iT3{m;_=zx?+% zp#K;8|9STRm(QQSs@eZvFa5uk^nXeJm-hcA`#;`esJ`#O@4soUfFF@|;zh+>lBsY$ zqOjXMI@&qdM&%VN5m`n){9)(#$K%~oQlQ~l5b>>i3y(IBPX!6=Vj!m!(}b_2pc?x- z$DAK&92Zxy^)7sWbh2}N8gB3G?VOqt;cQaI1zvzoSEo1oHqexcPf9^$sS^1xk=$9I z;0f_4o!&wZ1_lwxaCM!PB`JGa*jjH`V{T&%>$z^0wxV==*q6eLWc-&O$&w3N@_%22 z{~MGypK<@oi#KndSL1)*zIw6b|CapUlK=Zf@qeApXE9E#+#8dfc8>(+L;BX~*ExCr z?%nPmkevyDS{eRj>*R+v_QiT9>`TRpS+8p`E`Kea!b(kbi1%nlLr&6D&PJo;BPzL* z=~KB&Hbt`lr7J7qsu~=}6r}kr0H7BD)5&+gGT3?zmMhBULRnkxxR8~-MNdlZTL*}X zLLTR`VW!pV{M9+1zj1i|k39b;MUqYH9KZwT|C?7e|IgPipD*=4%kzJE{{JG+|Anc$ zzf`NT*m+TVsH?VHJdnO3#~}>H5z@xbW-*#-e?kK4CT}UrkQ}+mrdwdrkbwFT{#N}~ zhpX9y&P=1(!O`_x<&8L@ZFsJ|zs>p0D0~{7!D>lBrFqzGl#R^(ihhCey~(xdCQ6f` zx;>Z9?2z61$}qZ$@TS;Bj!%oY7gH$B!-{`K0~l@BnIB|OC2YG0`Ic0?F-w)0@hZ8A zGt)h1@6@+6?;VPl!9s^6Q@dLoytpu#4GZ*7LCSSGQj=TY`9yhUDW$1EwBoeHYu9bT z1!+@CS?RvTXG1QWj?!RpUTKr?nG#B49@h#?4LtB#YCN})z+(DK1J?$xk)S1=FeZpJ zE8%ss+~b>_e+Eia^8!IQ8h;s~a@y}sLD}+v*?8_&R+GUNrd@6>ke61;QMI6ERdrb> zC2}^j!DK*G0gnxu_~W#QtZuA6SL~tM9Jo{GfqdPy^uE4in+NV4&m+}Y%PRh{k`0@a zYU4^hy;E?$f4c77m2fJ=!>%*5-hI$i-#^71kRO@Jp_>o-!~hN8wCCe`y|J1H5ZNyB z2@VX^=rVFTw4i=r?ZC?zkUlmnNE}=R{gy`E-MwMSBSYw{dk6iL_r2B;9m42EjIstL zc_%HDc07jzU%6`48s&VYX}Qq|(OU6dQ?l~Est9iF07Z&57-SvbBpLu?h@macLHEe> zM1SRxTbs_TRe7D?cK>@NYTQ`2z=0>zQqh09#{msJfCqTbhwiRaAnIEUU`5=6S2=l< z=bpZBWPAS*U^$48oa1jLD{yvcyNxmzk_qr|33adlY)k$Br^^47XQ@5=+r#mn&tF#c z|1V#@TKfMj<^QGp|99&D;c5uBP=Nj+f-?$z&*6s(aYM&&5OTtDc1c2ZIE>2yrdi9T zWp|L4>mEgD;R%%jG|%u!QheLhVv1mc^5-2L#iqUyx}_yZsiri@s+MNgZAry@sW-j0 zaxo=@>n@&yZbgoB@%eU}0%(LkV1ye3r|XA5_4wYHcr10|FOb?WAw}2V|a3v

#K%<(s;!z!-z#{_Hu6L+UE(wtm46p6aBZv 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 R=ATdV`9Is6UWfpw0sthP70>_x literal 0 HcmV?d00001 diff --git a/salesforce_data_customcode-0.1.12.tar.gz b/salesforce_data_customcode-0.1.12.tar.gz deleted file mode 100644 index e9dec9b6763f29f6c02469630b0f954bbc37b9ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36101 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 Date: Tue, 23 Sep 2025 14:08:33 -0700 Subject: [PATCH 3/6] README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index aa2a313..e30665d 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ Zip a transformation job in preparation to upload to Data Cloud. Options: - `--path TEXT`: Path to the code directory (default: ".") +- `--network TEXT`: docker network (default: "default") #### `datacustomcode deploy` @@ -228,6 +229,7 @@ Options: - `--name TEXT`: Name of the transformation job [required] - `--version TEXT`: Version of the transformation job (default: "0.0.1") - `--description TEXT`: Description of the transformation job (default: "") +- `--network TEXT`: docker network (default: "default") - `--cpu-size TEXT`: CPU size for the deployment (default: "CPU_XL"). Available options: CPU_L(Large), CPU_XL(Extra Large), CPU_2XL(2X Large), CPU_4XL(4X Large) From d840c63feae2a92980bdaedd3ec4948c843b0819 Mon Sep 17 00:00:00 2001 From: Jesus Orosco Date: Wed, 8 Oct 2025 09:23:53 -0700 Subject: [PATCH 4/6] lint failures --- src/datacustomcode/cli.py | 2 +- src/datacustomcode/deploy.py | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/datacustomcode/cli.py b/src/datacustomcode/cli.py index f7d7bba..0876ce3 100644 --- a/src/datacustomcode/cli.py +++ b/src/datacustomcode/cli.py @@ -106,7 +106,7 @@ def deploy( description: str, cpu_size: str, profile: str, - network: str + network: str, ): from datacustomcode.credentials import Credentials from datacustomcode.deploy import TransformationJobMetadata, deploy_full diff --git a/src/datacustomcode/deploy.py b/src/datacustomcode/deploy.py index b365178..869803e 100644 --- a/src/datacustomcode/deploy.py +++ b/src/datacustomcode/deploy.py @@ -173,7 +173,9 @@ def prepare_dependency_archive(directory: str, docker_network: str) -> None: cmd_output(cmd) with tempfile.TemporaryDirectory() as temp_dir: - logger.info(f"Building dependencies archive with docker network: {docker_network}") + logger.info( + f"Building dependencies archive with docker network: {docker_network}" + ) shutil.copy("requirements.txt", temp_dir) shutil.copy("build_native_dependencies.sh", temp_dir) cmd = docker_run_cmd(docker_network, temp_dir) @@ -184,29 +186,32 @@ def prepare_dependency_archive(directory: str, docker_network: str) -> None: logger.info(f"Dependencies archived to {DEPENDENCIES_ARCHIVE_PATH}") + def docker_build_cmd(network: str) -> str: cmd = ( - f"{PLATFORM_ENV_VAR} docker build -t {DOCKER_IMAGE_NAME} " - f"--file Dockerfile.dependencies . " - ) + f"{PLATFORM_ENV_VAR} docker build -t {DOCKER_IMAGE_NAME} " + f"--file Dockerfile.dependencies . " + ) if network != "default": cmd = cmd + f"--network {network}" logger.debug(f"Docker build command: {cmd}") return cmd - + + def docker_run_cmd(network: str, temp_dir) -> str: cmd = ( - f"{PLATFORM_ENV_VAR} docker run --rm " - f"-v {temp_dir}:/workspace " - f"{DOCKER_IMAGE_NAME} " - ) - + f"{PLATFORM_ENV_VAR} docker run --rm " + f"-v {temp_dir}:/workspace " + f"{DOCKER_IMAGE_NAME} " + ) + if network != "default": cmd = cmd + f"--network {network} " logger.debug(f"Docker run command: {cmd}") return cmd + class DeploymentsResponse(BaseModel): deploymentStatus: str From e27dcd1d2284dfd57021fa0a75b459f64ec261ba Mon Sep 17 00:00:00 2001 From: Jesus Orosco Date: Wed, 8 Oct 2025 09:35:27 -0700 Subject: [PATCH 5/6] fix test --- tests/test_deploy.py | 107 ++++++++++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 26 deletions(-) diff --git a/tests/test_deploy.py b/tests/test_deploy.py index e4d524d..8fe3219 100644 --- a/tests/test_deploy.py +++ b/tests/test_deploy.py @@ -2,7 +2,6 @@ from unittest.mock import ( MagicMock, - call, mock_open, patch, ) @@ -46,12 +45,12 @@ class TestPrepareDependencyArchive: ) EXPECTED_BUILD_CMD = ( "DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build " - "-t datacloud-custom-code-dependency-builder -f Dockerfile.dependencies ." + "-t datacloud-custom-code-dependency-builder -f Dockerfile.dependencies . " ) EXPECTED_DOCKER_RUN_CMD = ( "DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run --rm " "-v /tmp/test_dir:/workspace " - "datacloud-custom-code-dependency-builder" + "datacloud-custom-code-dependency-builder " ) @patch("datacustomcode.deploy.cmd_output") @@ -59,8 +58,17 @@ class TestPrepareDependencyArchive: @patch("datacustomcode.deploy.tempfile.TemporaryDirectory") @patch("datacustomcode.deploy.os.path.join") @patch("datacustomcode.deploy.os.makedirs") + @patch("datacustomcode.deploy.docker_build_cmd") + @patch("datacustomcode.deploy.docker_run_cmd") def test_prepare_dependency_archive_image_exists( - self, mock_makedirs, mock_join, mock_temp_dir, mock_copy, mock_cmd_output + self, + mock_docker_run_cmd, + mock_docker_build_cmd, + mock_makedirs, + mock_join, + mock_temp_dir, + mock_copy, + mock_cmd_output, ): """Test prepare_dependency_archive when Docker image already exists.""" # Mock the temporary directory context manager @@ -75,20 +83,25 @@ def test_prepare_dependency_archive_image_exists( # Mock os.path.join for archive path mock_join.return_value = "/tmp/test_dir/native_dependencies.tar.gz" - prepare_dependency_archive("/test/dir") + # Mock the docker command functions + mock_docker_build_cmd.return_value = "mock build command" + mock_docker_run_cmd.return_value = "mock run command" + + prepare_dependency_archive("/test/dir", "default") # Verify docker images command was called mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_IMAGES_CMD) # Verify docker build command was not called (since image already exists) - assert call(self.EXPECTED_BUILD_CMD) not in mock_cmd_output.call_args_list + mock_docker_build_cmd.assert_not_called() # Verify files were copied to temp directory mock_copy.assert_any_call("requirements.txt", "/tmp/test_dir") mock_copy.assert_any_call("build_native_dependencies.sh", "/tmp/test_dir") # Verify docker run command was called - mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_RUN_CMD) + mock_docker_run_cmd.assert_called_once_with("default", "/tmp/test_dir") + mock_cmd_output.assert_any_call("mock run command") # Verify archives directory was created mock_makedirs.assert_called_once_with("payload/archives", exist_ok=True) @@ -104,8 +117,17 @@ def test_prepare_dependency_archive_image_exists( @patch("datacustomcode.deploy.tempfile.TemporaryDirectory") @patch("datacustomcode.deploy.os.path.join") @patch("datacustomcode.deploy.os.makedirs") + @patch("datacustomcode.deploy.docker_build_cmd") + @patch("datacustomcode.deploy.docker_run_cmd") def test_prepare_dependency_archive_build_image( - self, mock_makedirs, mock_join, mock_temp_dir, mock_copy, mock_cmd_output + self, + mock_docker_run_cmd, + mock_docker_build_cmd, + mock_makedirs, + mock_join, + mock_temp_dir, + mock_copy, + mock_cmd_output, ): """Test prepare_dependency_archive when Docker image needs to be built.""" # Mock the temporary directory context manager @@ -121,20 +143,26 @@ def test_prepare_dependency_archive_build_image( # Mock os.path.join for archive path mock_join.return_value = "/tmp/test_dir/native_dependencies.tar.gz" - prepare_dependency_archive("/test/dir") + # Mock the docker command functions + mock_docker_build_cmd.return_value = "mock build command" + mock_docker_run_cmd.return_value = "mock run command" + + prepare_dependency_archive("/test/dir", "default") # Verify docker images command was called mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_IMAGES_CMD) # Verify docker build command was called - mock_cmd_output.assert_any_call(self.EXPECTED_BUILD_CMD) + mock_docker_build_cmd.assert_called_once_with("default") + mock_cmd_output.assert_any_call("mock build command") # Verify files were copied to temp directory mock_copy.assert_any_call("requirements.txt", "/tmp/test_dir") mock_copy.assert_any_call("build_native_dependencies.sh", "/tmp/test_dir") # Verify docker run command was called - mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_RUN_CMD) + mock_docker_run_cmd.assert_called_once_with("default", "/tmp/test_dir") + mock_cmd_output.assert_any_call("mock run command") # Verify archives directory was created mock_makedirs.assert_called_once_with("payload/archives", exist_ok=True) @@ -150,8 +178,17 @@ def test_prepare_dependency_archive_build_image( @patch("datacustomcode.deploy.tempfile.TemporaryDirectory") @patch("datacustomcode.deploy.os.path.join") @patch("datacustomcode.deploy.os.makedirs") + @patch("datacustomcode.deploy.docker_build_cmd") + @patch("datacustomcode.deploy.docker_run_cmd") def test_prepare_dependency_archive_docker_build_failure( - self, mock_makedirs, mock_join, mock_temp_dir, mock_copy, mock_cmd_output + self, + mock_docker_run_cmd, + mock_docker_build_cmd, + mock_makedirs, + mock_join, + mock_temp_dir, + mock_copy, + mock_cmd_output, ): """Test prepare_dependency_archive when Docker build fails.""" # Mock the temporary directory context manager @@ -171,21 +208,30 @@ def test_prepare_dependency_archive_docker_build_failure( ] with pytest.raises(CalledProcessError, match="Build failed"): - prepare_dependency_archive("/test/dir") + prepare_dependency_archive("/test/dir", "default") # Verify docker images command was called mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_IMAGES_CMD) # Verify docker build command was called - mock_cmd_output.assert_any_call(self.EXPECTED_BUILD_CMD) + mock_docker_build_cmd.assert_called_once_with("default") @patch("datacustomcode.deploy.cmd_output") @patch("datacustomcode.deploy.shutil.copy") @patch("datacustomcode.deploy.tempfile.TemporaryDirectory") @patch("datacustomcode.deploy.os.path.join") @patch("datacustomcode.deploy.os.makedirs") + @patch("datacustomcode.deploy.docker_build_cmd") + @patch("datacustomcode.deploy.docker_run_cmd") def test_prepare_dependency_archive_docker_run_failure( - self, mock_makedirs, mock_join, mock_temp_dir, mock_copy, mock_cmd_output + self, + mock_docker_run_cmd, + mock_docker_build_cmd, + mock_makedirs, + mock_join, + mock_temp_dir, + mock_copy, + mock_cmd_output, ): """Test prepare_dependency_archive when Docker run fails.""" # Mock the temporary directory context manager @@ -205,7 +251,7 @@ def test_prepare_dependency_archive_docker_run_failure( ] with pytest.raises(CalledProcessError, match="Run failed"): - prepare_dependency_archive("/test/dir") + prepare_dependency_archive("/test/dir", "default") # Verify docker images command was called mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_IMAGES_CMD) @@ -215,15 +261,24 @@ def test_prepare_dependency_archive_docker_run_failure( mock_copy.assert_any_call("build_native_dependencies.sh", "/tmp/test_dir") # Verify docker run command was called - mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_RUN_CMD) + mock_docker_run_cmd.assert_called_once_with("default", "/tmp/test_dir") @patch("datacustomcode.deploy.cmd_output") @patch("datacustomcode.deploy.shutil.copy") @patch("datacustomcode.deploy.tempfile.TemporaryDirectory") @patch("datacustomcode.deploy.os.path.join") @patch("datacustomcode.deploy.os.makedirs") + @patch("datacustomcode.deploy.docker_build_cmd") + @patch("datacustomcode.deploy.docker_run_cmd") def test_prepare_dependency_archive_file_copy_failure( - self, mock_makedirs, mock_join, mock_temp_dir, mock_copy, mock_cmd_output + self, + mock_docker_run_cmd, + mock_docker_build_cmd, + mock_makedirs, + mock_join, + mock_temp_dir, + mock_copy, + mock_cmd_output, ): """Test prepare_dependency_archive when file copy fails.""" # Mock the temporary directory context manager @@ -239,7 +294,7 @@ def test_prepare_dependency_archive_file_copy_failure( mock_copy.side_effect = FileNotFoundError("File not found") with pytest.raises(FileNotFoundError, match="File not found"): - prepare_dependency_archive("/test/dir") + prepare_dependency_archive("/test/dir", "default") # Verify docker images command was called mock_cmd_output.assert_any_call(self.EXPECTED_DOCKER_IMAGES_CMD) @@ -494,10 +549,10 @@ def test_zip_with_requirements( ("/test/dir/subdir", [], ["file3.py"]), ] - zip("/test/dir") + zip("/test/dir", "default") mock_has_requirements.assert_called_once_with("/test/dir") - mock_prepare.assert_called_once_with("/test/dir") + mock_prepare.assert_called_once_with("/test/dir", "default") mock_zipfile.assert_called_once_with( "deployment.zip", "w", zipfile.ZIP_DEFLATED ) @@ -522,7 +577,7 @@ def test_zip_without_requirements( ("/test/dir/subdir", [], ["file3.py"]), ] - zip("/test/dir") + zip("/test/dir", "default") mock_has_requirements.assert_called_once_with("/test/dir") mock_prepare.assert_not_called() @@ -797,13 +852,13 @@ def test_deploy_full( ) # Call function - result = deploy_full("/test/dir", metadata, credentials, callback) + result = deploy_full("/test/dir", metadata, credentials, "default", callback) # Assertions mock_retrieve_token.assert_called_once_with(credentials) mock_verify_config.assert_called_once_with("/test/dir") mock_create_deployment.assert_called_once_with(access_token, metadata) - mock_zip.assert_called_once_with("/test/dir") + mock_zip.assert_called_once_with("/test/dir", "default") mock_upload_zip.assert_called_once_with("https://upload.example.com") mock_wait.assert_called_once_with(access_token, metadata, callback) mock_create_transform.assert_called_once_with( @@ -883,13 +938,13 @@ def test_deploy_full_happy_path( mock_has_requirements.return_value = True # Call function - result = deploy_full("/test/dir", metadata, credentials, callback) + result = deploy_full("/test/dir", metadata, credentials, "default", callback) # Assertions mock_retrieve_token.assert_called_once_with(credentials) mock_verify_config.assert_called_once_with("/test/dir") mock_create_deployment.assert_called_once_with(access_token, metadata) - mock_zip.assert_called_once_with("/test/dir") + mock_zip.assert_called_once_with("/test/dir", "default") mock_upload_zip.assert_called_once_with("https://upload.example.com") mock_wait.assert_called_once_with(access_token, metadata, callback) mock_create_transform.assert_called_once_with( From 93708d632685b816fb51bc03198d24e960b5070d Mon Sep 17 00:00:00 2001 From: Jesus Orosco Date: Wed, 8 Oct 2025 10:25:29 -0700 Subject: [PATCH 6/6] remove unecessary file --- ..._data_customcode-0.1.12.post1+a3945c0.tar.gz | Bin 36189 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 salesforce_data_customcode-0.1.12.post1+a3945c0.tar.gz diff --git a/salesforce_data_customcode-0.1.12.post1+a3945c0.tar.gz b/salesforce_data_customcode-0.1.12.post1+a3945c0.tar.gz deleted file mode 100644 index b6172158c801e082ff149cda2494fdea7d4e9782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36189 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

#K%<(s;!z!-z#{_Hu6L+UE(wtm46p6aBZv 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 R=ATdV`9Is6UWfpw0sthP70>_x