From 7b2b25c2e32a64d4d6369bc1e50b8a5f403f3662 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 11:29:00 +0000 Subject: [PATCH 01/14] add test-runtime crate to dynamically obtain metadata/node_runtime for tests --- Cargo.toml | 3 +- macro/src/lib.rs | 1 - test-runtime/Cargo.toml | 14 ++ test-runtime/build.rs | 121 ++++++++++++++++++ .../runtime.rs => test-runtime/src/lib.rs | 13 +- tests/integration/client.rs | 2 +- tests/integration/frame/balances.rs | 12 +- tests/integration/main.rs | 4 +- tests/integration/node_runtime.scale | Bin 302446 -> 0 bytes tests/integration/utils/node_proc.rs | 4 +- tests/node_runtime.scale | Bin 301517 -> 0 bytes 11 files changed, 153 insertions(+), 21 deletions(-) create mode 100644 test-runtime/Cargo.toml create mode 100644 test-runtime/build.rs rename tests/integration/runtime.rs => test-runtime/src/lib.rs (74%) delete mode 100644 tests/integration/node_runtime.scale delete mode 100644 tests/node_runtime.scale diff --git a/Cargo.toml b/Cargo.toml index b9a9d96017..f4a08fe755 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = [".", "cli", "codegen", "macro"] +members = [".", "cli", "codegen", "macro", "test-runtime"] [package] name = "subxt" @@ -51,6 +51,7 @@ env_logger = "0.8.3" tempdir = "0.3.7" wabt = "0.10.0" which = "4.0.2" +test-runtime = { path = "test-runtime" } sp-keyring = { package = "sp-keyring", git = "https://github.com/paritytech/substrate/", branch = "master" } diff --git a/macro/src/lib.rs b/macro/src/lib.rs index 41706634cf..17fcf49c48 100644 --- a/macro/src/lib.rs +++ b/macro/src/lib.rs @@ -39,7 +39,6 @@ struct GeneratedTypeDerives(Punctuated); pub fn subxt(args: TokenStream, input: TokenStream) -> TokenStream { let attr_args = parse_macro_input!(args as syn::AttributeArgs); let item_mod = parse_macro_input!(input as syn::ItemMod); - let args = match RuntimeMetadataArgs::from_list(&attr_args) { Ok(v) => v, Err(e) => return TokenStream::from(e.write_errors()), diff --git a/test-runtime/Cargo.toml b/test-runtime/Cargo.toml new file mode 100644 index 0000000000..7eaf1bf925 --- /dev/null +++ b/test-runtime/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "test-runtime" +version = "0.1.0" +edition = "2021" + +[dependencies] +subxt = { path = ".." } +sp-runtime = { package = "sp-runtime", git = "https://github.com/paritytech/substrate/", branch = "master" } +codec = { package = "parity-scale-codec", version = "2", default-features = false, features = ["derive", "full", "bit-vec"] } + +[build-dependencies] +hex = "0.4.3" +reqwest = { version = "0.11.6", features = ["blocking", "json"] } +serde_json = "1.0.72" diff --git a/test-runtime/build.rs b/test-runtime/build.rs new file mode 100644 index 0000000000..147cb297a7 --- /dev/null +++ b/test-runtime/build.rs @@ -0,0 +1,121 @@ +use std::env; +use std::fs; +use std::path::Path; +use std::process::Command; +use std::sync::atomic::{ AtomicU16, Ordering }; +use std::net::TcpListener; +use std::time; +use std::thread; +use serde_json::json; + +static SUBSTRATE_BIN_ENV_VAR: &'static str = "SUBSTRATE_NODE_PATH"; + +fn main() { + // Select substrate binary to run based on env var. + let substrate_bin = env::var(SUBSTRATE_BIN_ENV_VAR).unwrap_or("substrate".to_owned()); + + // Run binary, waiting for RPC to start. + let port = next_open_port() + .expect("Cannot spawn substrate: no available ports in the given port range"); + let cmd = Command::new(&substrate_bin) + .arg("--dev") + .arg("--tmp") + .arg(format!("--rpc-port={}", port)) + .spawn(); + let mut cmd = match cmd { + Ok(cmd) => cmd, + Err(e) => panic!("Cannot spawn substrate command '{}': {}", SUBSTRATE_BIN_ENV_VAR, e) + }; + + // Download metadata from binary; retry until successful, or a limit is hit. + let res: serde_json::Value = { + const MAX_RETRIES: usize = 20; + let mut retries = 0; + let mut wait_secs = 1; + loop { + if retries >= MAX_RETRIES { + panic!("Cannot connect to substrate node after {} retries", retries); + } + let res = reqwest::blocking::Client::new() + .post(format!("http://localhost:{}", port)) + .json(&json!({ + "id": 1, + "jsonrpc": "2.0", + "method": "state_getMetadata", + })) + .send(); + match res { + Ok(res) if res.status().is_success() => { + println!("RESPONSE: {:?}", res); + let _ = cmd.kill(); + break res.json().expect("valid JSON response from substrate node expected") + }, + _ => { + thread::sleep(time::Duration::from_secs(wait_secs)); + retries += 1; + wait_secs += 1; + } + }; + } + }; + let metadata_hex = res["result"].as_str() + .expect("Metadata should be returned as a string of hex encoded SCALE bytes"); + let metadata_bytes = hex::decode(&metadata_hex.trim_start_matches("0x")).unwrap(); + + // Save metadata to a file: + let out_dir = env::var_os("OUT_DIR").unwrap(); + let metadata_path = Path::new(&out_dir).join("metadata.scale"); + fs::write(&metadata_path, metadata_bytes).expect("Couldn't write metadata output"); + + // Write out our expression to generate the runtime API to a file. Ideally, we'd just write this code + // in lib.rs, but we must pass a string literal (and not `concat!(..)`) as an arg to runtime_metadata_path, + // and so we need to split it out here and include it verbatim instead. + let runtime_api_contents = format!(" + #[subxt::subxt( + runtime_metadata_path = \"{}\", + generated_type_derives = \"Debug, Eq, PartialEq\" + )] + pub mod node_runtime {{ + #[subxt(substitute_type = \"sp_arithmetic::per_things::Perbill\")] + use sp_runtime::Perbill; + }} + ", metadata_path.to_str().expect("Path to metadata should be stringifiable")); + + let runtime_path = Path::new(&out_dir).join("runtime.rs"); + fs::write(&runtime_path, runtime_api_contents).expect("Couldn't write runtime rust output"); + + // Re-build if we point to a different substrate binary: + println!("cargo:rerun-if-env-changed={}", SUBSTRATE_BIN_ENV_VAR); + // Re-build if this file changes: + println!("cargo:rerun-if-changed=build.rs"); +} + +/// Returns the next open port, or None if no port found in range. +fn next_open_port() -> Option { + /// The start of the port range to scan. + const START_PORT: u16 = 9900; + /// The end of the port range to scan. + const END_PORT: u16 = 10000; + /// The maximum number of ports to scan before giving up. + const MAX_PORTS: u16 = 1000; + + let next_port: AtomicU16 = AtomicU16::new(START_PORT); + let mut ports_scanned = 0u16; + loop { + // Loop back from the beginning if needed + let _ = next_port.compare_exchange( + END_PORT, + START_PORT, + Ordering::SeqCst, + Ordering::SeqCst, + ); + let next = next_port.fetch_add(1, Ordering::SeqCst); + if TcpListener::bind(("0.0.0.0", next)).is_ok() { + return Some(next) + } + ports_scanned += 1; + if ports_scanned == MAX_PORTS { + return None + } + } +} \ No newline at end of file diff --git a/tests/integration/runtime.rs b/test-runtime/src/lib.rs similarity index 74% rename from tests/integration/runtime.rs rename to test-runtime/src/lib.rs index 8cb0651e06..aec9fd8e1b 100644 --- a/tests/integration/runtime.rs +++ b/test-runtime/src/lib.rs @@ -16,11 +16,8 @@ #![allow(clippy::too_many_arguments)] -#[subxt::subxt( - runtime_metadata_path = "tests/integration/node_runtime.scale", - generated_type_derives = "Debug, Eq, PartialEq" -)] -pub mod node_runtime { - #[subxt(substitute_type = "sp_arithmetic::per_things::Perbill")] - use sp_runtime::Perbill; -} +/// The SCALE encoded metadata obtained from a local run of a substrate node. +pub static METADATA: &'static [u8] = include_bytes!(concat!(env!("OUT_DIR"), "/metadata.scale")); + +include!(concat!(env!("OUT_DIR"), "/runtime.rs")); + diff --git a/tests/integration/client.rs b/tests/integration/client.rs index c6aa506d6c..2733d39ebf 100644 --- a/tests/integration/client.rs +++ b/tests/integration/client.rs @@ -15,7 +15,7 @@ // along with subxt. If not, see . use crate::{ - runtime::node_runtime::system, + utils::node_runtime::system, test_node_process, test_node_process_with, }; diff --git a/tests/integration/frame/balances.rs b/tests/integration/frame/balances.rs index 765414d7be..b18b46a0f0 100644 --- a/tests/integration/frame/balances.rs +++ b/tests/integration/frame/balances.rs @@ -77,11 +77,11 @@ async fn tx_basic_transfer() { .expect("Failed to decode ExtrinisicSuccess") .expect("Failed to find ExtrinisicSuccess"); - let expected_event = balances::events::Transfer( - alice.account_id().clone(), - bob.account_id().clone(), - 10_000, - ); + let expected_event = balances::events::Transfer{ + from: alice.account_id().clone(), + to: bob.account_id().clone(), + amount: 10_000, + }; assert_eq!(event, expected_event); let alice_post = api @@ -215,7 +215,7 @@ async fn transfer_subscription() { let event = balances::events::Transfer::decode(&mut &raw.data[..]).unwrap(); assert_eq!( event, - balances::events::Transfer(alice.account_id().clone(), bob.clone(), 10_000,) + balances::events::Transfer { from: alice.account_id().clone(), to: bob.clone(), amount: 10_000 } ); } diff --git a/tests/integration/main.rs b/tests/integration/main.rs index 40ee6f31b7..532c925716 100644 --- a/tests/integration/main.rs +++ b/tests/integration/main.rs @@ -15,7 +15,6 @@ // along with subxt. If not, see . mod codegen; -mod runtime; mod utils; #[cfg(test)] @@ -23,5 +22,6 @@ mod client; #[cfg(test)] mod frame; -pub use runtime::node_runtime; +pub use test_runtime::node_runtime; +pub use test_runtime::METADATA; pub use utils::*; diff --git a/tests/integration/node_runtime.scale b/tests/integration/node_runtime.scale deleted file mode 100644 index cff019d32c4e1906b0c9afa4de90c857b29cd5a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302446 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

%O~0Z)F6Hetmz z+7rOQs(?em(7N5-MqT|3af@|;PMkTk3IjV{JLiM-2luhds0%ofv2%#TB?`QLhcBqT zqvgGW<6Ag!KQce!iF-RVZ;xC+DF%&r>+Y>P(2f8W<16AOL_70iJ0H~^d*X?cPtMKx zr$3HU^e5cA)CWPje#cMZqynG(o7p*kq!WuBeZl<(y5J@5oVSG0ec^xi;Va=P65(p# zvB+ey^C<~!I$VY?GI-K{fxHL;6PkhbfyVO#vg3LSf8tjc5dsVWdu04H@`eyq!qGN* zHMo7&K?lGeFbKkm7Bq~BL0kQ^9Wa5MjczD-SYwnmaz$pQc<2Tfk5_h;@SAYZX&`Jf zVnLEhdk+NvigWKVg5VHSk$}V)mX4Tc{OD(O#g0~Kym21bh`R8h$YW>W7C~<5fE5S9 zcPIjo#q-vkj2-HTF@qCR8yWZ-?e4_+qI^)Ge%$iJyg>9-{dO&~`3zS#xu@N*x`FJc)| z5GBq5B<2hfw8##X)N~oa&923H zPdXyeWFqZng4Q5?F%k8td`;%B3Q6l$qrXF`LDSP(6g^?v(v?DEJ=Rh%O|^ zo&cLIZ`dsRH57H&g8wAGrE$H95SMwY1L-D$poy7Ze&3WC=cuu#Ag${Gv4#9@N{14@SZ6~%ykw(r=;chK2E8%T_gQSVWp9Hym8WD@bx0hferPS-3o@kpx@W}bXCu=-;u&=~@^olq4D~wdP$R#Y3;i&`SKvs% zSK)8cR?$TkHly;Y5(-2SiJ=}T`IV|@Hg?zs?-7@v3!xWLgQTYpVjjho?~8J1q%+kv z$hyQ@k42>-X4hKiEJ9};G{vFAO!1z<`kk2Y$8}5w0DSR$gwVnbXon~yA_Oro?@G`} zEEuzxRbZh-;^>FlzPS?$91#`Ou$=m&3^*q;a=k`rsL}Xbt3?_4?FD596t0|p;bQn` zz``Rbts*1f5Gsi%O;c1r)fKJM@(bIbJx;5uK+ch4y4Hj97%3ji@p#f6FbJ3typcd7 zS|8%LQ5kSkQXp{3L9tOVLC1r2?w;-2yQ4nbFW$F_PFrN_X$alx?)Q`|{c}6-9wx%~ z&lBN0|3OCh{spA{Uz%T1+Bd&4zbc&eC)5QwFWrXuuh)(WlMB8CAL>du>Di96_*EA{ z(~b91#py;+G$8%=xI{{IthL{fU4s;kc$i+L;X9v?`;JYgtlajVF~`S^g>!%Cm^H_2 z|K!fYIp5dQe$y=25oq(qCaXYs1~Go7CW=}U zwcbu&-mM_gc@5?2R#6BBkqMHc1^XrlNCkmg4yQFZAAH2&y;>y72u!Y(9WBR8CoDk* zkjPe5U?dd#30q{_8OPeIQz0wlLE2_QZZ-m*F6UVI6p^Hc^C4NEPCD~0yL+nEM)N(YhmK5kxvq0l}aGk)SV=aqPDrdc0l^dR_o zdT{r#Oaie7)D~1R5*X*kJspqxIo91c)OwF0BPcy2(aeFEq0R9aT&;#`GP;5BU;u$% zZ~{cJAJX2CJW{wG55DCC$?&0qmDWV|o9pk)YH!2ijr2GmZZmgO`Z4&vfW~|z0?yQ3 z{jg+I%B3JP@e3*$L@q}Fkb|IM|M+?u`JXHT6zihrQid~qL4pBu)AQ&qBEmsa zloA`I=P94vX^uCMT|6lC^^PDs!F;Ja2=^fd9(W+yKDR&4bbHhiiYb6AbL2h{?inyR z#gmvZXl?gQw0H<6P|w}9qFjc4dpp~iiDxJTsXHetLmSnkJNh+wo5)KbCQjkeljhNo zE7k_^I*gpH529ED>_WD{_~4W^djqMiBCLCt8F`(joL;TRWC;1#mx8$Bvix!X(VwXz3TRWQ!rq*IU+nXa;NDNS~pu50Sf1lma=S9Ya#f# zV!xI({O)^|q$AN@*aEs=TL{yD#ZDLfHwcx71m8lw8db3VvqUGuAjeq^agxk(Dmq^o zj(BvNDen|<&=X8=k{lOmG3Ke#*ggXU!4D4XUoi|D>6pk=3FY!+?)k|o6G&~Yb9%*- zMQ5HDVVdAR3ORB`$RmK+4vH&)(D%ro2JoGM=`0#awgpG>E*BpIn_4=o%3^zgv?YD& zwr{XxlLWvcm>va_-HvKS50Oq;7$ACE+7XcS$oW=&-)ZTV&! z3lh4TOhzmdwe)gPjtAYM;voOIc71jc`8(K~HU~RkLq?D$GPrNzX$4H2-Oz5O5W$d{ zaZbT0a*VQh{N_N?;mwQMt{L_&hK_8ocbPl@cX; zzF~&y`?@d#ZRQ^fekl$BwV6veNTRXCrC>a_NwHBm8uzfw$-{~2<7=yCSf^Uik+Y%2 zSha%Q0Q7^EoI<0vqJu>UWg6bBF(zBv#NN0SLn&MIT`xD`yA)%2jzZ@iSeNXu-*E7d zXkRiSVqOu@;KUfAkDY3dDUdF|3DM7NBC)`H0WHi=>N)bV!%1ZQr)Y@D$a#7TS;cIi9^}DzW0vk2sR8*Te=PXv064^h$HG2|Qx=1>W`&O@ zqNpoAoIg*6)2>#r^G^)er+yX5nO(e_k6mN!@$|g^K`kXx_aF{p12NUG24%BSE8r%| zKT2Hy8rzdHWlqRd>C1T()ph|g*oZc}poMN|sSeTIMll}d;4wQ4RUh1mVltgJyLSDI zTPmyTNDlFDZ!dY)v0 zSG_|D)hxIuB<|lJGoeq3rFvn`0IPzqfh1I(lKuO#!7IMm0bSwR2Td;}>3Y;!BnfwJ zKs~3!k_8-7d6Q2YGiB|(tA#`(CN6fs!@Q$nDEL;=ZFX?32kU^E;T;y)L-8nVZ9!pl z6ho!!#}sq*V~Qa41_ic9W*zjwNpA1uAwNoA|Lr}Wtue@HVS;xh`Qi4S7!!Qb2s}lo zIax)TnXBPMHA3;8<_&eXl+G-mHsT(Fy&w&ur=i3>}=q|32_D}zKH&(O~sr^rt0S`wKFAq z==PpmNizL>whM0!np{BPUkPwLj955nPo0A-c^)oTUvTQ8#mQy$V0I$)_h^-JLLw{% zQjiPuhvrVFEp7IYPU@Unm4=%o1^h-s{JwB@2?WKO^!~t}KR(03uhPg+@%Aj2fy{#0 zKBYOz0FI9<2sF88ri_y|dxHjR58U1pbh4u(3(Y-PtWjFIxyFb-=>0e^#m_O+qe<$4 z#6o|`1PV9-|4_7vCFo=0zb`>Q;7CnVqK3B-Rg1R{gARcO#Zq*@>8AOK*y{&KGP)h2 zyP5&;^e|_*xdm&T8!WT=XZ#cvq#-Ud$w_|*O0YFLBz9X6rStSGcQDg4wS~7}fpH_} zCaJM-aV-K8Yk1O1-^1Zb=1rG^41K31c=9wLOYws&VIXa0H0(jk^7M~v=Llf=L0Ejh&hrLh$qdh6%)V(1MG?B)WO61>T;>KEXyvy@&aNG zpvPzT?fLVksBU>B6iN13`oC`iJ(SU4$Y;RO@)Ld_b~C)1gpi2*(NY}zEpmPjl6 zE4^g92hEV~i9xC8w;ZzMQa^_1iySb#*kzq|o?3_(52XSZEOr?7ig#IN)-_D~-+ujO zyqsv1f|1MbIN~Y-@#pS0T*`gy2SbH!Vy(z-Ab)lE`0p9XU$!HsoQlF~M<@)ef9X{* z-r;n9!l@4=2`mo3z_yG#>L)+ONi! zJDr{qqJu{bGbQVh0+Ni0;Sl!-WMxm;;baup?-?DlEu+P&t z|2|gVj}ANwG|ZqR3Q7@)V%5a}K0hV1`LaXU`$`QF!&w{h9&dnrD z89`NYPf+Yh8iABgK@|7=XmoOHx#a4cTR@hY-8@D$!MwegKr z1dU*;_tSF`Q~h9kAb8uiNSRzTNNV4aVYgKMGpc#A_C8K^mZp6anY%?;HQ<`yow8H8 zv=CLxAoUR*p4zDln!d-tyDeTzbAS%=OsW8tw_+r;a8Vb6`x(8scXVd-vBEEiicTX} zsQGj4N7VBYD{B;8%Ys4W(lw|X3_&10N~U=2`UMYLkaQ339ESCi#yqFYwaCJKbmSzh zRAprjI!zB<3{1Ne@1j8*9;)I%O9Eo;_^A{6-_*H!Hc}}(~T8FvP#XTIjss%CcYS52^Q_4aLP>5b` z?JA9PBKJ@jx|sMp++BegX-IsCqo*(EHG;1GBvjMJ0(=K@-C%MsQK*##VIRSbUC3c_ z{t*PHX6rH2SeTAI01Jgc7*;B3S|yEPVUOJrhNr72|rLfNL0IO^DYp4%maqv-R2va|;H= znB|mIZ;B|~hRTOPC5dZIJK@yMTWVZ;k%1^N{# z?}{sKL?D!mK4FvqsA9w`)0nxAcEK=d3B|V$)xPKpqwTI-B$eFUtKa!b^2#M zggm`u#`)>^xELv)0l^N&el1Mi1_8m<$|%1mxq7NqmtF!;MJLClYocd6t<8DmU?t}Q zR0zp0AV(7WXPeU@hYK%(=*Uo*3gMSvw3A!jPNpQ=t<(l8fX;~$sAq2OQFsrD& zauel%gL7zE{D`y@#}!cg#?xWlr{T)7|_Q>@!K88fFm`c7~tPC=7_Df2 z;$>Doq{N{^C2FLfwtt^MX^;kagwb7RAnkxsb3qZ9jf)IT?LG*CJAQ_5k|{lPZ|DaU@Lup_Sf zQ#i;Fuy4P)fpQN%qPczh+X4I>23rBJ(tQ<~cvg2l*tuzqAPWeXokBB&g;wIT<~A`F zu3~8!N&%&3rx;`v9lWbdr^IRKH}T@K=OWP|u)e&0<2AJpvcLxz>WuYdR354VPS}sV z_@EG;mgv&_8J26Iav*^WRm@C9fn$#e*wu?oGVxpkqAghxb{_>kO>1yhH#2`Cz*$rm%6 zQ&s@XZ6!0eK3jmF-)QiTpM4_TxEzU$Eueoy43IX190J3R0*MC;ZywG#5;KU>Kvc;? zrQbMmXCnV=@Z=v7Mjq4C8{?l5U{{b=E_QhhX`;=|Z-l8>d!87Qktm)vzaA`qkkOO- z)e+&Mth9rf%r1D%891BUy9lOM7yi^Y8&gN#tIJz zmdDEbA#7lZeas*9t0=whk0Fzs_BNt;ebY?lc2}Zesb}J)x+9P~q90(n4`D5F{{z;s z|4GWM1<@3`!hP1F3zSG`tmvNU(bw&0_R7ZzmXm<_eHt1)cX<6~R4pdE4UNJUf>jtY zUfdaH?RPz44V zT}li(Be>XAYIZ;|&^yY5ujrFd>Q4}4xM(mgiz3P_%R@n0Qpd7;;_3>ouVJXDkBxA_lZ zN&i>hAkSYw$%892pX@|ecTvcz21Cwf%fJgUO9aHhmFh2FMQAw-g;c?a5RMECpYJ{X z7%F5@D6nHF$5L;7-P(zjsJ(#~ARV-FAvP0fm`D(Zp5ls`^D_}A2L%@V;j`E)ru!d)A@q*y0 zaws5`WioR;X$4s4!v7wwqE;+oxM74WpDQCkzPW`<;{b*-yOy#BVR^NTE*SfM8#hJh z%L>SiQV-zu}rZMsPP99Yu15@WlJ;DTOL8fqP2;1^l@a#h`7e!;e z(b_7{g;!Y?stny7L22c1VPzRE*r$OTV_t9wYj*$EegzNArenyBeW7ic9ZPv`e6E>weL2$eyUf~U>#aGM|!iY!e? z65LlAsJtqewwz$va)!dlx8>Vtgy$K8*$InE%cn}aeaoFKJ@M(&;U~j7mt0F$s8?ul zCem$sRkJt9!Qy3&Lfh#4fwiGq)zjv_u*-rW=@p4!GH6Y|(lvd4zeTZgM>ap7UM;H` z;TF;?AVa`fWt$>Mun*f{inF0>uqDH7BwZrXRGj zWMZEOz3wH665LN{3{nPqChkl`Qt@#@SG4yM;_^TF$xFQA^^>0@9fTtY3__{sl@^>s z>R=&)OUyhkCNC$ga*mnG;D6iNmm%c(d@(Wm%)3tUT>gf#{B5ko z3D78Lh%0v|6camV`agy^ZU4w(I^#_gkgqiU$l74d*y;G*!1xhn)`SAuYVT;L(KE^ZiXSPrTwmSvxwCmzI)#r?v$f|Cq+2_5_v5{%`-D`zT}HydWy(*u1-EaTSX0C1|kt z>_NLmCc(@I3KwdE(Mp1lcp)1x@?b|)&W)&hixt30!@wMHSpn|OQssArRFThNu<_4I z+Z@J${}Kv^cGg$Mim z3DDyEuwrQB=h}cgk7pK5WFc;0aphN$Q~FnkQh7@tt)R@5F3CB|=V0gZIKm(+&b%eH zDazTQ%W|Ot>`oVup@%{k737)G(!k*K2+>0Ct@cp48ho5xgSN*tWnE04I3`}#QwHGZRCoND#dQ>CS?Maz7shB zJL-oM0BHOSZbM<=`=BA0dZ=d(EuFNhX!lpC5DS!*hCZ9Kc#MomMHk4wTw>?1tu0eh z)Z1lLTX-7Q7rX=czwqT%Na&E4v1KJ5?uv`3+6yEqC24rja=pm zW3Y@0J0F-P6!ePEsE5fOFxS?xiF~SrnJ%LkxD3pr0JEjwB<~Q$u)N6JPd8RhMYH9W zxzAt}LZOvXSX`r)TyItzJwy?_wXwGgjw^_oHb&9LMQsk*-Z-4+Fv>IXJ#?qEd}9GY zqNv&@=Ab2=!_AF?Qs=y=lZBB7uLDFzJx2_hOwN@$RzCPrvCe9}UG42S&kQ1> zNCdPLvPjN5_D@uKzP>oquT5pHhW zXPq+OAgL8eC&|=8otf?kCSATTVBx1Kopp%&^_#FK-i!(^b1+UeALUSggOhi*b$js1 zv!{OQPM%;N(v##eCdip$r3WN;I}u6(BL&`Xg_am8VS^Qo^hi0(B>EBwxdjB7#=1%0 zf(bam9=p**l_Zo7)zctms~@10vuwE>P{ni_f`|pKoq!YjBY-qZRx~H#z+S5d9)*rc z?wc&>iq9ZNlTbKHH$%Y=WI#>;j|%!BH`;DNoWzS_y%d!ymg$6?2z#WB3VZ{44Dzqb z>^rG-g*Lokw=Nz!nWL-~cwN0ANXQOQ(V0Ws0@-+06fgXD zzza$sx*2z-98z#TWo)=)mL^xyuAeM_+1XiriY~T*H-KReVWFthO6Hdeq7|7ahVZQT zlP4cz=YRo^2&aYRa15blplz5(xnzE{2H^XB^SdCi=~8hUpDDS-?yj%aw~%nNUYeAn zw~lv*VgW;^e||6v5NJZ0-$8j-nh{+ZGhx0{dc<;u@O8)~Q^^fCN_}t%!iL`uoV6f2sP>-&Dk6e^UdNdZolpr0 z$xK{TK`StSW$ho|&B5J3snM+&JzLp8Mfkt9_7Cso&>ST-?vRn}c~H}x-M~CBWdG!D z4$ee<87eh{VN=wS?;YI26_|&H?4RDvDI{a1<`9?(M5EVHM=dZPAG*7H?*>YZe$4or z9x?nQL-zZ3bNy$vHZ}6PV$45owwK&3gK+($raEq0XVDIECkJL`$o}))oYDScr{-9Q zYpn$4;o-ZxL#tY}J~jFYjILGG1M|e)9$g1YjefsDxcN@23f+1yFbl(X_l(9vrDpIE zGeI4=T5kmA*}J@cH&ANy5p#Yms%|$amOxmSs~kWnUl_K3eK+wkKW1u9512`hw>Y%d z@A96+L#1Z$QF9@lp{vX(1T-49e{)a3k_?)f)yK@l=a4&&3vvTfzss2721<=SYT!78 zeXQ5ULHWJmyGu#^NU8B3G?Op{h!G4}@%wifE8?M2Gx#+#%KK#k^9RFsSB~H)sd0bZ zgv&dZn|iOxAKqoi`;k)Pk70aQ&pt4Jez(VWBc;ZF7#u?DnFj{(E_YRWbOWVE|BnX2 zZd#x-(GNc`Qs`~g|%LT+10TG z^>H%>$>}zT&Tj|y+jo=t$}p*s|Fa3bNg^;`y~{iAM@o(VUm&~E>Mb{+e*G?w??+0F zADYoMR3ZYk5AH6#<0z?dA2H*Mx9gJ32X|Lf)p1f||5r2N^1B1`hj;n3xq(unPnuC? z!v^NtcNyXwB{lA&(9fH7UK$-U028Z;T0KMU@%44NA=HK$Kd zZ`|te&SCgB@AlbqBc;Yi0olJz(%?5>SjfAmF6doV>$vZyev_Bo!jE6D=hJ_#!|L1G z{5wQ3(1yO0Y6xQ2+GN@a?w5m7ic-0D9>Fh~|EHh*v$bc?;PcVmWmde9FA!aD!d^j? zS{ruh_yXnhke@e-*=>xX1#XuBwi8}Wv?7wo67gi)biVZ}Pi&IMa6ic)=fJc$j znT5^Q-}qI6bCK)Hz;nHa@Kc(E?>b;@_-_`l55T?+G>F4aVskrf*Vr--W7+*WFFJQ# z3%nB#2=8ru$Z8C^VjY9D=!ZiGi1iDL9%rNsN*OVVf4ykI;?4z&ZBxn(?y&jh?kYK5Vr*bDtwl9$gW(% zvY}1jFXXjX+x1=0H)Pgaw1k6!kj|c)^LH>T|1&G#-JLpK8=Z zZ~&gQn(CvGo00`O@RyY3?Yi{mrdW2aEty!nVDv#}ob-dMTV-OEO*(5|up*$qz3Lo= z=vF*0>9Y-(uqX#6Mh6E-CvEWr4}q9jpl&OYIM?V}lKOsr1$z;$ZT%4A%>K?6&cn)$ z;o+be2k#TkDA~D2$YHSh4;BK@|2mPe&Yd#+z#m?Xc#-+34U@n5M?12Zfjrq*-@WvMuEzYQ zfjg!kN3@a4+c5vEAyw`QMt3m{`GaFrBZzlZd*7&?btXm_h*9pw78%LC-bD5QV}NHF z*}?xw#dtgKXh{n(fE2$GPUq-Jt4#wM?vAuW16DSnFzXCH@ir(tcd}rE>aihPEF$p) zmkWIQ)D%z!B#eLIWbho1GKOC2vW@Ct|9&0n6CSK zp^3B*oPrvzF#_qSH+}z&0S%tJ@{GR5&<_m7cL*?-NPG-AVI&xVz>c83X6x32Lv|8k z!$suk5LRc_7$;7O>*KQ63mx#n6of`~kO6_~d_i*SxG)L{Zy+C_MG{5~da{ckCKvX< z?5Oi@1tv>>4JW8{oOt!)U1aOS3nNq>)KdD#qvj_Zo$(_`3O`ddWHuV{6|XN$X0!#P z7bqYpmWG!x2C0sU`Vs-_3IVtPViz%n`ETrHWhqJC(oPQ~1VUwh&O(TiMH*lLiLJa?uW5a&xj7j3kuFqko(WM4pt8ppH@;zKVF0($TngHE*Zhsx3(#{7r=-ol+0 zUl)jY7rNMTvmYBn9CICJD_@nH(_PS-cS;P+`PZNYL&l{n;&B@%uh&E%jEKG(Oj9yH zU8(HxOe1(~5wZbd0kPMVM>HZh6`aN*%E`S%?<)Yq`~neiSXFcz5pkp*^1F+OlQpqG zrm7b%)=lXLatlCRUggF0NS={3>iQ6bM5>TPD`k$>q{PSLWR+f<2`?kI-Jgs74gnGZ z*vzdyslZ>F)fa;8r3*9p|Gb*c(Lwgl6`Z_JNs>-jbX$X{nN)&PT$uxRBm@5-cceBE zQpvu1YgbVHBi>wvV5Py6uIf}=cu%9EG<-*rZ+*a#iixf~tXr(mgf}RpS+P5!F11kAiDJ#v~u?XCc$Uh;GOR!^t4U z2tCHd8DZ{0ScIZc->u`oPrV}_`aH6ue3?e$QC=W>03{ka|Fvh(f)}iT6e+e2+DgQr z#*}CQs)i?8KBUs$+oB;}o^k+Rd$=3f(JB{m=I}noQVJ!9<i3W+BjkMrO21y8D2v;C+o^3 zh=T(PB=Q@pz-7(=IF-XZJ+wp z5lLm==V^NBko*9O8Ju6Rqyt|{A--;fY*VFitAcb!x#Pz(`W!|l`KJIj~}Xx zx0}W*xw+vey!Xg*-iN8pic6-jKY<@o53eT6#0g;whZ8F42> z$QH6Q^>5_7tV)G$2%RvK^rH7N7cZFIAFnx*u6fiAIF(Rwm-GTj5Lz-;D05cGG{-FH zi}C{0e~>h6XEZ1izt8HYQi?9cY3VG0kP<-xZI?c7y=@@Q$6`~-WCXqL^jO4`3Ym1E z$?r~kFZ)S96Gi3HgLc_95;X>8K0FSCFKk3G)<_p(;Dm5g$IqBySRE}4gpaMa2gqs|iEG7%X8))Kf|(zXI>_lxPG7M1oE&Uh1yiWMzL zs9}x9&hqj)^|HVPLsLt?J%Msmy$L&`v*CU%40%;wrxdPYTaoQ87Gp0oI~bK{tH6$c zv}nF?C3I2wsjP2mA^;h-QSv2SnhT6MP$>Ac*~0gd({nnM-<(0BWX@mdA9l`MM6MI4 zho(*-uc;}i)U|fymguRD8qy#Ho-GMAIugMF3lX-?70B{~A~CEqC7pT%Vf{ak$eQ+` zsx&DlY)LiXIsq%V0bBv(Tv-q?m;4C4AuQu?U2a~AZY}7ib91niKpk0kxFIPTkN|a_ z&|6ey-;vAakQX8uF1$JlLH{hAlt?*xaA4X*VJ6sDFwP=0<0}Yn#8H)DdQEo-VUE&{ z<72meBZ?3U-oRPH32e1*C^L{W7H|;~g19ZjfEZ>V;c>NOEm!qZu2R4u=g-pvL3sj) z6$%7#T|SIkHwwJm=|7ZBm;~nQTZEr^y!7c)%(I7F(rUwYROQ=F6}|-6+>p)Yiu=3T z#&80;2U1M{m%XAGK%yQwRa`Ldq*l!!*CbVRW$*p>4`L#hHS5Rsn8=JkEqFY4khm@7 zI)K9%BF^u|uHiTVGCLXbmK5D^n*(VWxgduo#MHBKi$v5%i|s6*dxa-Ur|tPyR~>zI zV~W*~^~RB2=~r1YAGcy)al!W6I12Vn@nIl0$8rt*`~0u0|tNC; zJN!kQ|5aw-Vx)w@lP0E!A(@+WF1!tWsmXl6P{0=u#xIBHj$*hdl$f2fQSee!+})ZX z7n+@q+~^e9{xAf%;pvMuUKn8VVnXw;3rAAQ@5;kSVlR#my(nnxA)$OIP3q_SNWFRE z$tNH6vKXBJlBviH!|aH02H>0NiOhk#FgK~RLRQ`_ZFhGXzoCBUlAl9rv)%#r!@Ww$ zMtwM*Bl#Wi=RZ+j$)d31D9n~&H&38s8xP3C*#1MYjS#*AF@Vfx_#1JJ zx>-MQrW_u1CyNR1_7;&~@t9rn3+3ieQe{G^dnQ#{9PL**f{jGxNEz;5aLK8{1-yU< zzZbX=A2wYJN+6#v#q?y^;=eIz*G z$-(rJWiITF)Gzc&x(pbCQ(lnYBN2ua;X-s@EV8eH0SbOVD$o$OGfr*5lc-xQl}hH# zHEcq^hfov=Op}`vN6x4YP%__uz)JxIwios-r?F@yG)MQZ+9{?nzcZUu3Nh z92j)YLAtmJ86m=Uw%RYCQ$Icv+S_~BC`jIpl7rsxsu86+1N1Opgp?2zyufYaSVP zlObc54DZv@BONOpe0$~c<+TshY5C|-I%H&ahgopomXP2&vl3ghpnnu5oy3J895d^G zrz6mg+A&1o1c<*#+91wkjAGSoglHp_Bi-Jh&eE02EtWM#2)%@N;9l`bH_qda1*kF< zzSukc+3@kluH%|<|K_pTz)TIfSC7qJHyCjWF4tk)e~nr;GeaY2S zn$bGU)K6KV=dv1j7ZD&p@}#ATfl6``HXD2J=R^M`)1&bNP2xDecvg5wZgSN^LzRd< zS4&0##XvN&7tC-Mq$=T4pZp|>dsP}JH^&&BQn-{jBHd6s7oUT9h6CFRN7}SD|}sdK^o8sU@K*HI}LFlb3-b1 z3uTB-`T^v=8`$_;LJdUN<1b{Tv zkb%jclsPyT=dkO6F&msQ!wppS;<< z#sCmhk&z>IA6Hcb4-nnnU0E$)Ybp+$ZV-JPhN7tbmAM+D4wC%A!g< zzWaq>v>16nT9DultUKLpATh0U&An%B`YYWu zIN(swKn^wFwhKcYoYxYq%EBWAl;0M-Y{Bs@lB?9yDAs^g-4?14(rDujBn_8PGb&I) zrb^>_+)#%5$n^SoL}spQ91Y8nAUK``)0f~JKK1(QzNFek-#9}3HlcY)LhZ%_slJ}u zgk8jqiPaiHyr35Rn_5-IQEnGp12Y<}m)sKvFyNij^dS4KcuTq-D>q4mo5TbII~kj2 z*b9iE#w~N}xgj1kN}^>EspK(m8%AGZe5%buRz+_d0i{B$gXHeg7QJDMR00Ar(F%tE z=?QLvo_?{0O2$C`-Di2Q!VXwwELJ-{j)h7UP%>JrSeEw7eVA^VlS73=2@}&Pp&$rW z?Gr<&Xc$BAi6I-Tf>z3w*8~fhKlumzeL}~Y z{iD<$C;ue%$76q<`s4AxO#N}{uTy_K@pq{|KK+mQ!*KpXPYoITAcFR*c45fi#~gpc z8ZKvOdC1_$1S4Oy7l-iXqO@BWdUnX*#~i;pWUdbFU#4^%p`BMx0$`|IU{Ot;zY;V< z*M|&#q~8krt>BMg{Eq_=UPJXEgCA+I!v;HSFsuy-#G&4h!H+c9V}m_5fE>ymev1u$ zd&uBN8vHLd_+M;rOdEWa4Sr|H;71z#E*tzV8ywdLUuT2g8#4Hj2EWe+zt0BuX@fst zgFhTH_>l(RW`l3D0qZ$p4u8Z3e>`OHBMrXK2H$6c6WZWU*x*lx41T1+pRvK8vBCY? z;Lq9M{|p)YNQ1v%gTG*dk7$FxWP|@ZWbh*m{)!F$iVbk-1n2PAZ16Wj20zl^Z`t5) z+28?f@ONzR_d^Ch(%>K1;2+rFquSsf+2Egs41T1+KeNFKz*ez4t86`9CVkgdGXAnr1HgCUu z2Tuj`I>h%v`cFGbC!C!G!HR3!^!G#bY*%O}g}8xqi%tm++Dohw9wJ4=b7voA>-@jP z@~V`jBD!Ew)1muYHoH6}seEvjLZw`X;0qlusy$_UO@wCCun1`C{<3~4tD>nZ2=$JU zi=GrVqtCo zpN5HB;o&j`1W_~`2Ic)>M3lreES&C8a+?C9;9~3dB zMLOpM5*+7_T@~pWxTP8>B|`o$@%gIN4>C9GqcS0$CFf?9Rnl&HtB$ACU;w+)ReKf1 zEN~!SEc5U3^C4UamI5VybKqQwCmVPuDy6~*^r4K?# zuTXYqgzyr!kS78U_QfVi6p)2RM={~WwnotjC0S2S0^#=_jJ8NU!2ztn1}{-9*hn0k zn+Wv+{c)g?tUtzZ^BeT-PE(}`YJ=i#j{5Mr7S-n+4i?2`0e3Mxs>BahJ~=ko$jv7@ z#0SIA1R)b7l~Y2!^)h|7L|X+7bA`BMObBH^p+pe-xa~q3%hdiE5CWToF1Adp1OO1z z4FHf3{D7S)Qd7&uCZsMc&4Zn{AHYhI5cNTEE;=__T&ml>CPFLV7Xq=mxbXb?)k_yH zpZomsrO&OOJAd`k=U2;9Pg5{W@y8FrGa1CJT)Fpbl44wIjo%dhRa zloS1xq7DIo&6SKrE?UW+k|u{~esVbKI8ac_8?c3AeZU-NHimtJ8E_C{1m;|bHbm@9^`e9h*kk0M=2)ZxTZP>a%wP_-!)ryKDcv=f4 zKL83G8K1yXVuC>>bJB{b1sp3@!?{RUN4ZMusweTf zZLnS>sSGNpc;X7%TUCq zHDhYneuHBDA;LRx1=92bb}%e_$A|}0^#$kFS#D?|S;aI=W497XtPNOz6?e;so1P9`|_>{$uFQe{2^7xmIKD@uL(+G5dw8BwaUrB=X z5u#h({C6T`5Uz?t$QTEMNsdGOA;h_t*FZG-O+Mb3#Kf`8o@K!DyhHEjV&||Fut?9d z?De+%WQ&QG@8^8~#J85I=V=}Rso94&^VfXf;fv1bGXR1RGt-k_>p*?Ll{S8PTCfA< zcQ(OyTkV-)xuO=~;9c{PiMLnT*eMeS%$xSI3Jge^QE@crzmGMXg7Adc*=B1U(qPAo z%zx(@$z%j@DTa#L4^B@1Hyc1ZlCng&hzAiChe3|X-w3}@X;bzz4_o3=&JhY~0OvHE zUf&s1t{(0YccsdCL=FDJNCW_=RHbfm-u3A@uMhoVt%6EXF5Wz`NA0 zq!Gz)0wU(IKJ&ntWt-mx4MMjH}2*0JNoMS`S$~hrqeJu&K)$V4vQp@HZLr=I|g{KAN~J6L%X;9;Ju{ zP}p7(6Q@gBacG70!|sYBrr{As*~Bw$6T?A!xJY_|$d_IN#p)P&hjJaKGJn5r7hS;) zA0~#ti;sqHfeZ_h#dHKZ+%{5=;&fK$XvXy_a`gs`B8S+b6mE{wHvZhy^Dz!Cr>8jp z5fLfHS}JhW2&c|feAwSw@v-6whq@3d-9>29mzYx!@=Q~-Dmik2rW*--vc7}RbH?-> zlCGrI_wG?ud~xH8+5LMI%21BLbL&-Sf(ch?f|>T^3Ba#mTj?xW;b{A|mmOLSpAKhX zoK!(?+6i}I%mmTvB~^|Q1~&aohYM~5cUx|_RH<&y$s}Y(xX^Poy-zE0Y$b0C$c7kM zX4;z3)Ak5-!;y=B86^E*!s$N}$zH?ptVRu7AcZst_)kzj3*s~)Xt5ut+_u!NNLVOq zvGD~cgVejISiSSN_xNK^n+H#Q?VR)i6FK<3sAVFW`%cw5g`^)eqy1eOnD?kLHcGHV zJGm?wVK9OviGs(q{zDVOZaJmo!LOyHiM4RvS##`uFbF)*b*TQLBcTH7;w=^+tY) ziBpY&WCNikCf)+k_%WbbGRq8pj~j48ooz`WplBg~#V#u+<;0DdyFk;kGnSBIhzQww z6fx>VfQyyeF*Q+FbW}rJNK9>f%>=PZyKH508}zA>OdUy;En}i6(}l$X&1h#PI`|7E z%P%@oPU!^MTo5cE-tGbSce~r4^>m&uuLJ$AT1*)x^g2wAifvBxio=|I=@LjP7|EME zu=9f8m>oXwZZ<@YGAFRU*;PLegZOAqae#8$k-^yaU|3^PkFuHD2<@Ar$h6afFmbtf zCxA^IJriy^Q441twwJt-`I1yo>yT?_1(os2t4<`lznRBc_r5cLb^DHWI-9E zL(oDF=`I&9Kn{Qk0vKN4@?#f`bHu%h3@?VpVMdH~9q5oN!J@FL89Vrj^<6>KLGb}E zuRDW=wAz&|IO8NRHcoRz07#l3iiDauy9K)l#SYhRrOq>S?G*P~#Gzi7OWASSk?j`M zye>ZW{ES2lm(T0hizEhRVsH;WLUA(rGYnn;>Z#w$4!Z%d0I(n2pbK~NmqkkJ?R zYwbZnDVgaMQeV2LF9w_qD0!F7wlghQB-B4P^; zqwibtrR6?)$9o-1PmDI0mIlBJlF?)%Zs)iI*djrLwF|WYmCTAt6EVqVs%i$`e>xK) zlqMl@8HmSGEfDK*BV>4THk^4n{7m>%_;^OhTFTl_E7lS~wU2<2*b&Nb?EnaHC~%s0g&M<&b8bfl!4 zq?yuY{Z@Zpf!zVcXgL6Gbw(1o3^Ofr4&^Bxw7cnwu<1jJI!l#Z6%pQt`t{J6>()Dq zdE_cx+Ig9+%IiEqx~lNokVK357h=(;I^xuo)bmuV8Hp9JlPt-FU7%otoN2sB`;Mh3 zHSAh+C@?cSAK>7U=D@wl;4?xjh&@>OFDV^zB<=JO)x4CX&#vl8(Uyvsf& z$OXZr%*H=fX%}b@>_D(mtQGF3n2J8iL~wr!1~+^k8tL<4{~TnjT|d;Fbkorr_391S znqk8@lFRo$O#jTGE|Eb?K{&CODGN#Z6}2GZa4anSzj0zDfn>Yk=$a3eQNBXnB^BMvLMb`ygrB!_3HMUFe_`xPbeONjWL z3olA^EY27@CGb>C*ntR%tSQv1k*r%rDro?WSP9d@DE!d=B6P5=)@`w*2_xU^Au$H? z@RPtkmCn-;h9xo-MX$o`jM?)bBQP@K|8Wa#d!1t3cz?8_w22ozxXlGdJSP2UIFPl| z8n!$yYPFR{Nk@YlP2##{=#pTvCx`94`yQGT&Gk>4|L@crT2)vm(@oZMfyLRaN*##g z-~gzGAeT@q^pg@zo0=V0>EsDVMX~8DSSpc35*-!GqA+iI=#=8Fk~JKytN1%e<(yR> zW`0_g+bOpXf_)HKig`6XzSVy5P9zC9r zx=0Q?di>e@8r^)WPl%!DLpCL6KsL`ys3l}js7AEpFAj*eLt`Q0sQ^HfW~qk~LXy^~ z^1Jld+vVLMsN#ijNC*)T*rHQ|Qa&v$^d;PK2!!}ziJDlKkRgO#$92fn&{LXDz0UZ6 z`z^BLYYW!LT~xAh;+O}dd)!(Ap#za}h}{tWk6qG`j7o~mBvBcx=JkHVG8XI_mg$9J zZwXLClczvlxALX{&1KJWaXP|8LMS1>Rl-M|1x%7m2}%h{gj0&YC*&CW!X>IW;amhw zBB-ZUlCmdC?@v6cYF=RmC(sS0kB)jFM03#Xf{o*Pem=E2P=PhmF&hXvcb*dDbjH=tKs!3$=2B5pa(ukg}7{Y19}Xy)^{dGeUN% z4Fo0=<2f5p0qW=}yvBB?(c0yqK>)>tAkOQeB!T+^+J~$*K}b#+g4;|5hXB+ciiylK zZCMdVZ&{{S#`EXAi_|^$tK<^m&?SjA#AIu4 z2)yD59}cNB%BH<%e2h;p4-FzKonj)rnH3t4uPG9UEU2 zOBPa$#_(Hb+gMXP7n_VwFJZz-!bm<#mt7b(nwo^ikK{&8F3ixlO5_|Neg?P8O7iQY z>Xt{+Zv)wXBFjWIU%19RI*i1-uUj*Pe}^6&GBd;bC*VyuaRFIS7^2WSZOq9`3Kb#% z`ctT8&@Zx}o*0g6=Q}@4E^Dd41C9bqdoW#(@}DO$aaepmk6)R91eJUsaj_O(iZ4%C zNkT+QZwe~=LdV=%m-r9M8GmpLp* zR6R&5=qb!VOhN$BlEat;xT)%DKo_E(!GdFJ%ceF#7o)dfhTFc!JyRf^v z(%Wd%tEfz@zu=NC-ZO<8yM8!-7QY@ERX3wr^#;q5f=D!~erS%%YlQJ0K7M;iP0w6WmgtgQ%@ zM%7!4diQFqba`_4!1Wv!{rn(_!p;p2=PS~{J}x)ofUNlZBnK8=0d?9r6?wza?o@eP zuZb&I3{KEh8gTARvi&l&Ra{htC{j?mT4xawvJJm-SivP#5|atl z7~B++vgn#UWU|CPGc4gCo^TkjKWJs$cYr%Q#{P~JG83gxU;**Ayp`G(2V%JLquaSH z!LBL*N-X_b9smq{4v|Tq194rlf1K*)oEM3x;l5TGq~4)x!9yJtq~F?KrHER!hUSwxD+G=kO6|os?JCLSbfT@}%WsaxO;NiDrx* zU}8t+3P&l`JL`yghm56_R``sI2h1fHCUZDG`$n8p#ehaM1Ha`5Xq{BlLw*))bYJYj zT>sXQQ4RM?VTxL#-O@t0>13)U^Q%L{8`+}CplY83VS0P!D4^GQBZE2xRm%Kl zAZo+E1)ibUjpVa^*+?)6_qB@$$Sj;|1l#U1gp=^bsukrL(H5u(-uf^C9(_Mz1{&`k z9vV3KGUFH$`|%9V9*7G$=0Tp8g2i*hFjC^@QkZo!>b7X!#fjt=Zs4la8{ReHi9zX& z5FXZQOK8r`s7j=8D$;W$l(A*P9mo=5wJWz-TMZN<3-I-w%5Q?;cJ~f|{ITh)X~_F8 zW~!Ao>olaOMRqGB#`&QAxR%J6rbPM>P8?tP#YL$UoykkTb9QAsy?Q1}S8IOG^eV*%CH2W-@$GOP0W6)wnO2h4Y zJdUH{Z0dM4f%}xFW>}RD;czn>b<8@U0EgSDm;Bt*CnwcQ$@HC^19xgs7x8asqfmmj z(`6Ck>Wz{8DVIG3rU1lQhe(E61Gpa+qVZYgerq%aY(of8sqE!n+&7=%1SA43tPiCJ zJSsKzW*qIT0r&JQ-|1vlY&v#Z3q4T&0GlRWI}(xZIfXd!6r_xr*jwGVurR;Nn&wJ< zX~wJ^JSF(0*qBB2khj!lSQ>~*&j8+Q1b2)?$iOOlYABkA!uv9ES9BUi&j}6 z*&X+}ZWRbG1a?XgZ<1=iU#_EEQxrp~M2CeQ@VVIiBouvi-0<@?KXlQMc$2 zzEygb!^_^gVH3H+xojmd#EnS01FIPNr;xUbfgxQA-4RhUws3C96YJOjz$jXy;(RC_k#2xcp-0s~*346+e zQV2>TYiPmL0sepX-Ur0a^S<+aU(Yy^+es_8N>|=hc283IcE+7Kkz_e5D{|0ZSK3I{ zSQ$U+vf;DQS&xR3=eWS3m%LKad;As4cc zLN4?|F8D$&_<|Si=llCT&+|U-`7@f4OVKF$cX0!gYkF=n5EJOR7Y1?{aOZEW<$_Thya~X-hB1DW z7R5N4LgsC#Tr4D-K)brd&5kykG(92u1De6PQTgbG;`@;I!>Vont`UD4(}6-RiFd~h zELIjEYB3xt7^{3NmTj!gv{>Um9v(oPW)Og=~82GHs zGB~Y|fM;uyCgl8$3FnN+(uTr_bZx`AC_n=%S6Ga|)^b-jE>Bm;0bcmk58qbg-ey8F z7_vJ2Fm&|=tAak3!3h8r*9U`Bw1eX}j!M1gX0kYJ zhCTWbD+k8;H95h-qj2Ohg|`CkMF1?T`cE{|RGW<$3i;tA&5g`mtWGrWEi)b=N4$j# z7GHO*4qi1_`n~(%fOltrgx+(a9Vu&f=#)v8xxE8do z0Q>O@$i>)!?_NnDH-Og=05wi5E zwR25V!)F)vhhfGHuZ#e>J53Kq2w{W{ZpItM@LNH}uW-UIlXYG`tnoWLe_|HiI zLgL*yZ|^mr9Oia(n9(iKqvdfG+(JT3i^%-Vzc#K=;~PQ(k86srIa82T6ra0Y=wNE> z5g%h4Twz0$dYxo`yd20%t?Qdr-HWd($HeU2>f#a$rpsaz1=f2q1WH8c-FTotX^&uJ zC7d*is{xs&1L$7RU4~9v$mztHXqGtxs#5itG5Y6ej01}eyo}HSs{|1Cx)8TI(OjsV z(roID(#8_F)rtN3=wqq7QmZxw%^X#0&Y3FrtaTA0Y-YjsQruFMm9N^HXnZ)SR;Wj_ zEo9k!;KaQlOW3^|L+e=b++ZweDi1$8O4y6yW2CwSP8F#L|8_U$RfwHv8&6YsrgT(v z><@MsMft(vHrJL`$%0at4^j-gnBW@{SKy6|qnzdlkc7&U$B-DVQ?87e*4m5Ew!hsm zX`_qt&p9r>HW(YWkCcy(VuuaA%p55rBok`w1UnC#EESP*D>q`L?qT5^^WA8*2 zN_O5geE(L9-W+8db3hY|AyZ9ZdTj`QDmT+T9QSuQ?ug~N`60~~?GPF9F{49z$<4L- zejr`_KB^S>Vr!0X*Bw#FB)5|8vQ1ai1^71zZ-Sn8X`q)UQLg{ZICg@6!yp;PD zI2seltr}kwM~LDOO`SoXfg|jVSF?jM!lVk(dh9=QlUy8GapWrAY+7iA%O8tf{wBbhzCi?@Lr@BHaI`#5=$fs>ZZ?b6TS2w^ zF*4y?EW{X8EEtu(PMX|Z5K-Tl-7|}&xzK; zRxIh<>_lD3$=w7UM){K4$bhRe*>bg%A>wOQ8PK;AYK|32-YP4rjE7shKH zk-(OjM!tcF^}kd|f5f!qq~mWTG!NzHzcqTHG|4Gbi#=nr9#rx?_iu&F6cQJ#xR;U; z4NF|o6lut=XLEmY`)swUV^HQf`UyoZMW-yk5EA+>C4u6c;+aV7J9ef-vZEw6+AEIF z;95^=8x%e;gEV!pTOfl|iG*-?alQ4`W$O&ef}!ZgT)Y#NzCqlviYjyW#DD#JAgkgj!KCNI3UzP1Qo=nq>-|0-zVoo4~ zg|dG6uFM*4dJ!A%(Vimf4orVM+uDho@emA2^HtLCFvmmK><}D`Hz{X?OMLOwMeNxX ze`R1KHS3oxe2_@lo))QSlOiNh%0u-gn#X*~bh}976ZlhjT^4S+ci-7dQ6`Q@w4<=e z5L-1J>}}~Fz84N+xDPK*r_=BSH;W%vL%kq5d2Kd5w-L} z;US{$L56Fe84x#Y0f>_)s_4VfeJ9;1R_-l#DSO?-NYZ9R#?OtEyI&20=)1fKSyc;Em+R5Xrca6>zqvvR~ zG^y+&dJfLvU>++cRZS&)8d#@L2}ektS4PU|Kw6192}f{_I)>$bGS57_cXv5?!N#>@ zzoJ<9B8f>x)~hAqq6)L!TwDu|u51ax+^SSrf6TJz>C}fGE{j97EDw{6L11;j)m`k; zzXXHdj|}Nqax&dYa1Ns-7n+5TOHMl@-l1vgWVVl2-Qr zcJ%d619K{DO(Vv?5GlsdA4$t?UBI`wv@jJ`Gi5pX4erH4XUY!nhUC5#x&5askeZsL z{^AQQWlZnrMUuIgak`ZlUAH!09DfgKR40!r&2y@8FrF7WQ0Vhui<`F%u@@*i<_30W z8zaQAGZ9oGZ@(?|>=s|k4h4881?I5XpVTMNNWOC$e0qY$QbH+xAKtDOe#Ta(y##zp z>!XW{pcfbDV_0%%97MzqwL!v$GI}G8SAC*z^L~G?qXZt$0JM)_gCQtMJL+SmckIjh1p0Wt(W9L4j%$dNjpdtr?{j#2FF!|2u z=n7D4`lzeh>%q$kMwf=r87_dE-uuc3>q$2Sk{3MGB%~GOytTuB?zpMWD(V&GGQgSmcJ!yBOCpX3ZL)M` z4mH^}Gi>bx9A;8~`%vxe!Q{0D_s={hz&phy{vxM8hVL!XL44;3;x)SV&Y-8KqlkO` z=uu=VYwVy5*ZgJCu{ZQ`x;j9AD144SX1tNAX6I(kp1G9BtzSCcR6j2(pcY}qT)l`z zsH7&mc&QN|VnT|ln9;cQw1ER7mA^26`?TT~yZN4`LAHq>Z|Aj8XrY3o!13MwH=X*Y z*~nSW;D3^L-X8i6LN!>IKQCGZ=Nm|qOctkUaD>c$OJ+aoDSc)%ghCyTyEbhdiQVH; zJ25?f+ zyVZtCV9a&nog=KSos$sBPD-mDkp4!`a8|1&g$`&EMx#mB?DdRNIi#Bn`f_)X3{_7= zBvg?=D*fo5H4h7Fw0E<(ymMwHi9M$1DL7W7O(uZtkh=J7eRI(LyAXxW3cqyr;D3Iz zlPDEDf4!(On0f87swKO(2!P)+3|(g8Nzb~N>KTiVKT_`foH;Uw$QPquyilI9QYkU5 zEW~LC6KFs}sRi>UfOvhyfa)z{FT^B$evRsLo76yn=8<94xVHeolh~Y4;X6}!w;<9?ecdk*{+7eK@E)&fR%a|)Hs+R z)q9=m2VU-qh$GO#{)9a?M=oV=q2c;taX)d0ns$5YX2;x9uP(NqDO*8FIeJt~9i3&> zk&E0}0-k19;nr57ZG58f+;fe?=&W)Yi!O3>0tBThaE@6~jv?~cMvpuuk^BRcz=)Bk zq$xYfny}xBFq1AC^1Hv`uhd1Tff|Gp;E$9{aVQBSf-F*GP;$DQUM?=7qE4HVmVGVG zPayMD7*o2h-K zR|QcV;SD^{MufP=s(ur~NB2^;gS6%1wF{v_S4Gry?p9kaDx7((;*Y5UUtD<}(*wcn zOXSo|$csx=nAP9Q(X&rAE(w+BJ{G{* z{n}Hhn&?X=+tIut{#N~Y@p^tf57O3qrB*zt=&PNCb(PXdFF!PKJ~VNH;uQ}JD)U1V zC(42emq*X}4aW&wf ziBppPLlbB2kb7w29L&ZZnm8YtI3JogRmCvW>5J}|hbGRbGn!$2Kp4(L6X!z{r`Z%A znmCnMrpR8ZmSAcTF~LAfM-ALLR*+i8Tf%1*_flDh`Ao1k9o@Q%^UZ4`W7HNV+-PH# z=qmSm&92=i`@&v#S>+LXI^Vo zB&TKS>BTuKpvA0Oab*;@H5LPOw?v^UPHC)$=I6Z=xOcErTPgnu?`#tz3Bpe5I&!G-m5px>+na66}~-*W(tAvc9=Oz4z`E?h*M+ zt%ob+msb@$Dg?VDZ0kKytCMJ_srmzWiX(s}8>gZt5y%^AQ5Qj-au8BNTJ-%XtBv7k#KO}1OQqj2%F$j53F#1s9Zu%Jw+VsQ%}V- z4JGc{Bebtg=n)b&-ms)P`OK{(tYzhk%g3%S$pZ{3X0DVM$peUy{8~|Tu?EK~R%RTj zI;E!pHU;yK8p6+7Qq`pYZBW(3LKb4+yWLvf%>!9h);iVsmO_+&%iTr9Q{oc0cX0uK z%kroF4R__FZFz|c|1xEnzb7n>RER)=;azwAEDY&E*Er$v?&jR`;>K)1qQ;e9~_Tmt^w095*?!RBO^8q0qnk zANc~D$(G{{u*_zY!8%!k0jzO);}ezE?gKBWEv^ z;Um#pD;V$EZ*$6j3lJ>8nS*0e8G@ zkg@!vbZ;%dUa(_(gyVQ?3>6aysh7I=9uHC>5OIl{E0OPH^=C9*xQ5K+7ukT8P1>~L zR`msig5e37x1N3I++S`Co4p#@Z2bdg_ZzkCsg0PV&59M)_UohJd56M#EE^olxu@TX zAxG2)4rWXEXtlT`;6Nru1wXc0YzW*kXqadVh1TZnvQbRbgg zsHTfho4jRZjpvqb&A< zZp;X7z?uJg9c02RYsaEnrK@i}u~x7DvHs?k->|wLVLV<=L>(E!>Y1AWCHaXT+p)|+ zI71tcESG>AdMd_eIW)MoOdB?4eD}ScIkWgL4o!(FjVR1l#8~ShEm=uPV(;5z*GdOc z@OvdHT2`XfztSD@&VvS&g^uvX^4q=6Yemqt#~Qh;p^l}glE~=gMdD6%gqGikw8y5p z%i>fn4pAUxNu&_wLzS(RCh56L#?gS-_Y8_R5EvzyMR?>HlayRS<}|@Z5*i7?H7+u3 zg)LO28lJdeY540j!5U{<;lpm1NJv}btMFX-?$Plx1andt!-O_TWE4yTo9(8DN2%PX zw$uRUPHK@R{lO?dF=)u_{0)qkmL^R0cr()da2F$fgyBU*VgWMG*yPNGaVrj)l)4W* z;AvK&(1J0wd)ut&q0TA<8SNBJGI>^gnmHO1>nl8n3$<%xO#!8=YTXeeJL2;XGU}&2 zvTL|XoJ$Mk*xm~kcT5~m^}w4nOZwqBw4j6I#ryI6NoOUhPjFzQz7?_ zQ~xKh6YpExTa>35yX|={fzp`rBxYns2K6ewrbu5qQqI@Z7jpiTB(9E2ynE3E^H#G? zX9v$#juECFYU9)x=BC%d<(FzRDb(895|cavnmE-dtZ`N*EPFY~Tw zt=T@}dVGkMiDaP-WTVCV6a@MDR_oGWaaF}fN{dyDDK8w4F3nR=HxxdStC7YWhH*9^ zZj%^yhr?op5k#>_gw1tF%YDAY?m%nF$nGoUDT}1HqYIB}Vup75&0rSi?SX*tUM5>c z^-7hE3i{pDdg-(qfujWC1ncCcVcoy65}pI2`xD zd`O4SYo}p)uhlP6Ten7wQ8<)$hOXhVwbYBra*`nsRD&?;!>Yl|po7YfNQ+r@##I=epvf;R3cHO5hJ~Z|fzaxeS z`DBtDQE~0Wk+ily{(~fni&cNf(2p#qTxJ{`JC9^SuCq)Li?6QETZH+p@@)Q5A+xL3 zmq*ICPp;lRb|!leC;IAjNq1*e1ERqnC&iCnuqx!AArtc$*fYDTeuF;9|0>JlJoVYo zgwWnEirtSP;b|3azfi52w3biOaMOC|(lIi~ceF#jxk{oeQS=lyUtjc|q(9ByQn0F! z5Ke_*(8#(Sk^8xY(zYlObAR+*tGR&~CmfWemBbw=$13f3Dfz+7NP<>VN!-qcbXCqC znD3mfWIpW!A&tA+2iMt6j8r!$zhJv3je1Zsj&f-Z-D8$HSlb^_W7p=Nb&;*V zcgG|9o~Wq;NEv}hr+$3V%CDvU-lY>SoSv3FPQznaz0qEfEeTES$ug`h+)2ZK{1Z2n ziJ>xbYTe$bkLr9WTIc4d3bwKW-}zV>Hg)NNl^S%Oe&#ZJFEEz^6J=$B~H^OH)l)8fN&ZD-Pz zkjdc3t5!;TywkkVqz3r2J%QFPq+GXD!vP4wI_csFS92k`a^K`_R04 zQ8oI6+2$l73CvWx2gxm#M|Pd3Gh;mL*}yVR_YwSEqi4(gqc4=Z=~qnmzYW^lHp)G) z+;furax(mfBjwrr^21BkY6{BdU{!Sy85ZZMM)oDStvK|e6QpUTmhC0 z`e!5M-tm_v82XZ$(3>&^)9`SSsL8Vu3DxEF~2yMBmfUlo5bVD<`;b`H~jXB+zq zZS3EVj2#R9-3>Cex|{2Fa=|UCoMWN!7JNdTspa8SXUF%-ypQ5!;~a9>lXU z``^7}iL5}|AA}JZoSo14Q~)W$JIbBOW_cHdUP-c1mAMPNC?nkuFWYcDp14FfzNaC# zC=xaRYJu?1sdBXZm$;=pm3rb>`A~RG)B;|>BX+8d&OtkP*={x`# zA;Bbq>YltI?LprS1$sowX7T1w%~+NjU)~_FpYKQ0=9h=U-3P*f-@2OMOlPF(>l~5~ zQZ)DvRXH*h%8+u@%_)+rlDj3I>@Ig>N#58lkx4Y`z{#xlD}}&r;0;*9VY87Z-tU&L zFl!%C?0b~#_*d}J$uEY`&MC@f>)1#*$(mClL?_F^rYR?zM4a(h+){Xp$s|U+- z)$BS!*{s}UOLJhq8jLW9%^sEzMop*zCI2<@Aj!Nk&d2aApt-b)r_$yH zLjr+8t59jS1HavvZm-j_K%NC+8A$I}o?B{H+`7oAXqlYkrsI8GyVxa~$4LpY?^k;`Lr{ z-|`Yg&7bm)&M8c~xT0c7`a(-KLuZ6YykHEQW;`f}=u~I^-J`|J6g-*X%5;0s zLWgZ@6V|F?yl+^4**$RRcwV*!kLMsMNy_HFhJnhe0tQNB@C0Nn$Y%*NHxUK|%nY&hR>WmB!Uz~(YO&L7Ym#nnIf!u%$bHv) zXkc2v(GB^?lL3KCFcpCx$YFCbqeJ&VefB5#>@O!z0V~-$DOXzDoeVv)=e-K=oJmDo zHwq+q#j8JZcOy!v_WyE&dhdwp&ElETNKFm|SO1{u0^jFb9=MS0v7)uDYu1uSv{$Yd zAa<_QZo*tbW_*R6HHB*MuWAztsyS+!5f!m}%CT|KB2P!BU%WNV2Pt~|$C0tgpbK?3 z7gqbEj@`TU^=N6r2h{;vvQg*N0SPfU1!X|bAAhEl{x5DPna`=W-ZmeHkUxgN*;yr+ z8w0hEbE3pda+8`QR*wg-f$B9^7%FI0-TGWr`=TEYZJc{>6mH3hitB3%TUJPc}7t z6z;v-t|a{ktiKTD2t-fY1JTJ0w*`HuQ^1EgmE> z|4)@3xwt%w{{`PjA4MPCe-jVu#vFRauCn_3FGtFSv+)P{98YGhMij6d*VxQGLu5!LwxHDB? zF)h1^wk4nA>N+}XXNCI&Z#lzD)N0ILtDax!5E{S!iu^rP2STE;rq)S-ea(tJv5E<# zVJng@Q4rb{25Wt`Wd-(FD2uEf`J^=sj`fEIX06A}CA9icT(;j%lm+$5ZYt zvbu`0eA&h)uaeqysWabERl{^b-PRYAje>CZK@a3K??GbOUt*aJD^FOqKP_x@GD94E z7<k@A2qZ<;UU95~yHOr7rEjFi(a zb>@%xgBR%Mv?z%k0qL(tc15dveHbkHnRZ?L%}7x^@}EbF|2$xYy~D~2kiYw1Mt1id z&c5!txd%I+FVl{`bnT9-SzC*NFuR6udW#rZ^npxze*ypYfc5W-&0W!gazZ5JdS<5nh+#oXJx724&&G>|ATH z|QP3Rv#P@4pNzCiQVBM zOEFS=HdWp1u?R*T9YuNIu&z3V_f5~mF3DQdx0Aq@we}sUTho5}E?T9@?n#fpOx)78 zKnzKngSJYYxquWAhCpa5j5uuwaTR8F^>_F`&g^4Ew@=ADMA%E~YAb7UICWj1k604+ z5;3A5MShfx1DgH8CXob!NGki>gLrYI3D}5qplA(?CzlejnjZ&^^~4b5o02LeJday) zi^u#_C|b-9zSS+zQ$Z24$Z>bQ3J z)lNMwCq;+HUU2&(#x@H)b3R`kmASy&Fng28zP5V$@Rz8{-OEp-sgkOK$LnOD_=f7;F@TDujhrSV1FEMMRIYm zw`|ZvjcOn9Sjc#gWMVyQQSMd!tf@H0Z*ulA5wr43-)+=|Q|H?+MZwB>(SCtBal5O8}u_+F9r;}43S zH|eUH(dDU>#)c0i6e@21E&DuF;k?Mhmg>~<)a*! zSek^eG}B(Qy0~fg0g_f?m?CLS!hnLVIfDeIC@ZLoU7rZ4{1!4+(mEx?1fb($uynt; zd#BTUT3p^-wvyHsQnyU{0$jx!l_Qk!ehA33E`9uh8nimKwz?MjXtr^=9B8##E32YT z6!`sC%)$#YXm@;~Nx&hwpW&P*nwu-P*4t}*&&iJQZt;z9|Nc#sD8k`xeFYDvE6DY0 z)@2MN24jmECe!fvvbSPN%~f1-o}_b%NxO(gNs<_j#Yae1obN25UKj$7W++Uw=A|fm zI|e^``X)&!JPw{F{vY0K7VlQbnSRBMkVs^pp?-=)x~YFG)H3J-KO^)D?f1gz?HK)V zYA=yFkNLJj#Ny4~1HVEBt%37_9(kZ|eNv^)-KlnS(n+AHGr2Lt47lJY5m}46YQ*{U zo^3fcfHHmP@DrxPNOt09+cZsXyy0w4t8o07^cHqKkaj&Fxs7?WoFK%0Js8ZL)}S5- zqG8(7IT; zn?IhS;TygV+?cN%ZT#!z(+8j7_%1b`Y8+@jedyW7fBPH6OnLz|x_`I{<0e*s(6u|= z#qLCYq(>xn2OwZ*+45vrZm+H2!-wBKRb>o?aTJamgGkK1)Wdy#p-*s)^8paq3C3NY zJAH2l`J>uF9%&vq^mKNR+dRi{oug^4coK%+&b|J~%cJFyC=0u#q1bi!jmtr~vu8l; z%CsQu{+HevGIc#( znQfl-X)HUcH&F?VG&4)W#2~U9`gCvC=~nJf;!=CG{6dmJ@(5gvQ;(hh)^zACnUirt zmqD76WY72I_J4B-0j}tGf(|rXmX%iZg4oB$>dBVsQ_Ag%u!1m+NOZFU>e)M>|utE^9*i+P|dCK?Q=y?G*&bX#YhB zU#OE5lyUnYNeVPuN@&r7u45Z`* zFxBg4eR+~U;aotC&w?jg3)rV!B!f-|v&P-^DoF`Fwty(VZD9-8Cl3v$Pb>iczinD= zVWWRfBWKxZi(lRMCT;}7JP(72@<|9v^YA!OS!kwmQ%T=C8A{3}RZA_ok`C5up*7p8 zt}^3fhF1#ynag3}NNv9N(`a>7D~Pv5^qFnwMf>n)+uaSVI|bY@__39-tQ*gquNm21Mw~SVn@eKC9=px0%%GV zKnY&i|1na&eo}R-I_@SD!42-Q$wu`SUfX?gEs?vM$TF1;X`Z!IeIC2jnX5kSUSC|@ zs6OuLEVmc4hmWn@unbmAMtF2rHZF{o$3v%i%O*T@;2M+ep>g_+PBqHD4HOk9SNf*- zA0xXDUsrfORB=rSZTo^9XfpKuo_)15KVEH-l)UoqNHSEk!@1FNubhK~2p4}h!Z*AA ze&p{*ioYKQRA)!!S9iYvmmtS+_oeo&1EabLwW4! z(c=Hq4EEvhXmO+{9<{%p87=-Ve)y1m_|$0efAitP_TgWT7XJ?)cG-s`qs8Bmn);Z1 zcy_e-fBEHCiam^ckQMxYeEL=Y#1j4&pT_(XYbZyH;v@cvMLf!GHX4(Ke1z#9_fM?kaen&^|HM*0%BSD-Ppst$KJBqjhgi$RBSrC1|HN88#&5sn zpIFPs`Sj2H6Ki>rPka3nYnkBF6aI;{O!4WT`zO}IK*hiCPppNXi+%oywXlHVWB!Rh zpX1ZNv`pI8eYK3)((g!6yq*6N{Wn1-)DQS7~ZvmHPEcCr7n zo%#9pEAfl{#Uww^++6Q;;#W@=h5*1^XQksG0do9lhYv9LQ%66dCwAFkk34FB>ZnIP zWPj?QM?P$S>SRYAvp;pLBfnyQ>P$y|)&A6hj*Qu#I?a)f*q=Jekzcbvb&eyyZhz|7 zMjp36b!H>KVSnntMt;-&)cK5j)c(}rjQp1UsgoJ`XZEL#Wn{1YsWTaQ!v55OjQn%^ zQ>QWVFYHep#mGMUQ|B=9G5b@8F!C?$Po2QXzp_8i@#iC4x(lPDd;Q*%npRFc($@t} z_yj;-)bm$H3;xSJ<&G9FkEYz)NXMP_HBK&WJipYw(bb68bgYf?aHNMu(~9ESu$Oxt zEF1eyJKbXud(MmCalOYr*O{}s42k1R_nZ-JH^ef|HaLXi`Sv+9acPke)ZOi=s-BHp+Ec2tgl1KU_#KJqBA;nB!&@U z?Cfj|Ol3YWHplEC8E|iZ0(0@&4^Ma;H`;iYgNXvA45*9=qg;Xcy@KFL>VzB2(P%w` zA_?x)Newl=PH!0r!9ddFY^dH8oc^^nq1ud5kbH)jaJ5W$7Ox(hY(!94;HZ=+Uc<@!+6mYICKjJ!f#B zH9#sFM*ibtb+f$%H?UR@^Ot3;yJ?Bf=tR-5D$zT8dK_*`8%I$=v6KZ#A? z6#rXVz0tTpJP#2PSUS>aTY?7Ct3=}%XNN+qxH<4IBI&mUg>emWG9QAhj}8wCog*AV z&9sfF#+eXGO|qp)xff$>Ligxb15kS~H8aF9+trDWX$KW#;?o1d9RifPL%_73)nF;y z=pJ1NGn?Pg%mZQJ&39{aRlgG~yn016Wb2bCzCB|V8+8I6OQgQ87XW;A0Qv|J_083q zi))WjDO6&RCBz_?=f8hKm_>?_QCPzVa|o(*dQNAt>v5d%sNOrNl9-}0-Bk;WRA+4B zcPt2ulj7}kQKHQ)ncC3WzQ{A-mCcn`S1GWh^W`o3n{=7X`#lp#apvz%hhy;KO=lgl zL z^cMNi=Jzz%*XZz@gUN74Thlft9%K58E6{U~QLrm*hEWdz<76rthdng3SO^OVWbOoG zoblS|vR0+RW2_aXXxo-91xIAO$Bx5}IZcddrM=`dp=NU~ZVtlD0a$2bj#-vZuNQT= zd{B;UP?ob_Zg}La6Xgk6A|iWsWHR;w$C?0zh<7p}o3ow)t636pb`?J^#BP&S`b>|$TxvB!477ccq}4tmmL<@)m8da* zG1_4(k{=tg3SFfN9dmb{D|OEPj-_~H9uTXw=#k3~pk$z&Ytu9$RL-;|8a!@T?)nu6 zY5F?C_Ri|2?F&P~;<9alQk;(O)oq8&V`%NHk?a`UI-HzMd!d~3*ddIEydBEOL_u%8 zV?}7Rmwc&Fw9$zUlx*(fqWe7ci>{D1E-v>R9B{Itd#tV3Wv+Ct%?qLpQD)OyURF15 z$U-?3GQ|mR-0C2qX)r`ABNQ3n43aV#N#txLObV&ck@Q-`4IpKOFH>2Y0&gij+UE^R zk;o{|RuX5knUw9mK<2-kX^{2D9fMrb=Fk?`$bM>52hEb(i52$ECEV$%uoieILW6I` zC#uo5_Xg9pZHt(F(&Wy?tVer=s=5FgaI8lti74;%?VpGU+b@tl)(gADW`Zyl;RHhh z7mUGG7uSLJ3oO*WE&0s^(E+k-Fn^281wz$)C&?f{N(tNNY@V+2z)`Z}Z z(-T7&UX)FPp}?&C#?+O}se18*v<8tCT8Ns0iT-taAWD&qaS?jcdn$<-AH|dRE}o{l zH;8>r+@qXY`MtxQ;of=qu<1br{n0^EsTA=_^AlB2;;w;)8`Hb^f2_;3mEwDMdG>XG zHH}!w#zRHas{=*UnvxWHsqIhPa=Xq$(g?i_Sn6wW{!2ZQDfwrxOI5N8_7(2}aF1%r zpyQXG&`QGxAtrrB;0TVU!2RkHjf7BQaZJDndtn6h!&SP8V15JL(bKx^JBSaxQeTBX z;Z4;Vpt?|}C0$}hEnifb4v}HJb)5odd|$(_ZyA1VTRwPVFy=w7b=`*2?r4Wdl$$VA zsZ}vDz=Lq0=XIHMosW>`+^jbI!veobjQOQ$X75!^U+QEss zO7*2d_!{(k{d1~@x`(MeVa{o5f1$kAIzm2r{I!7ysXH29ec%}R4hVVA$n^C=$aFVU zT9|4WGW8oS9~9Qy*O_i?b*8oRBy(93eDR@~6Xi@S5T?Vjdazi-Ro-?X%K1`|jM^Fs z*gXi=912~h=mpimUB~dLmNAv*njCWPJc)&^LrXGn5>-vMZN^`g+KIWzG*FrIKy%yv5|o&s&lgbxkVeT+AAHgcy#dE-ZmTpT2J^D4_dTWG>gaYor$J3 zZQMNTlUNrn)L-=A8fALI&E@^rG})LYebFl6ONWi4=p5X(xj1iS{(P#5-YnKYRPIKy za^~qHHHnkXNlF-K+PE&sG-l-$eJdo$? zQW;k{O+H<+dhS`@q(ov?wcx|&&pxkl{00R@xcG?)d`S8Wt6~z8_=#qq{1{|A7|T%3 z)vnOW4{=>q$z$+)_|Y=NUHDz16VlSA`r?@xl@M|o)5zjtMIY?4!ZP5#9x`I{DcrhQ zJh1~DPq%#5Hq%)rkllj}XX{1|vt|Z>wHjW{C|o>iO=1h8dWrfY7)Y>Rvoe2!aL)js z$0coK;EhAYp0E6rbqx$>5CN1%5r?qzh_BlRpBdPP$;fZD@N)qzj6`pT+D-i-8=(Pd zWVJ3!8o?r%w9%qK2uYig4_W~{1c^#oWdZ$|%dv??>q^uh!}oFf_HvzJ4-_yD)~Grv zh{2IWgV#>1tZXj%9Kt^BEdV^uLB+xumax72Y?Zr-B@4B1(GHCn#hVyktv(l5%;u9I zVQ|qq4yItaTg1( z33!2t{vQ;?6((M>W@lXinfOviHVOmMxzlNlqxqz3kMt?QJil_|Z&fTdAc>`O>wqKt zl-wViHY4f#0E$vOr+z)XYt&MrSgzKT-b@N6oyB(6MxKOviHtGjd*BM(I#BOPL!UT; zisH(p1GPh?5cc5f34Dc}%16{Jp4$OlS9I;N9j&a~Ddb@wf%_&jMONHE+xm9yMA^=8 z!E+bFndps5XvDqpUsXrd0y;%++J z$r^W9us1UjmNZGPi`PfRs{Euyl8w`?D1PPZ2W!+!vPW7KGK+P9zAG_Hvo~Qx5Ruy6 zL_b1p@(#tqZXpy!BF4axZ=2W@(8EqkW0+p&C3)7MAy%kVf>ZSHB=%>$C;Ml;WYz?q zH1vD6d=Oh;bl3$d$+6QfWbswqVR)G6>qpcyS);~9#x4vN-or-lj@j>yL!m5lvNTyM zsi6?L)L}+nnkph|ngm9_Ai<-rQ9p|{8+3en}!<;IQG*Eep`7KHXTdet2@ayJt? ztRhd;kufLT`%6II9!5Z`tpGxlM8m0t=C^r1p_hngh8V4MTAVN+1fCkDduO|pt`>RZ z68OYVdhe$9vEG9Er7ft;YA*Q&!W7wS#Wkuoj=>(>szP(^8;kRg_j*bq^^N*eJGPVM zs5xO(##SPcwHsCPqzOX3flJ9slxa-0f&8@}2NQcF+P!lR)a7i#Z*K7>YD|={HO+;I zukmn2Gpo3Pqz?K?G~Z0mQS8uSb>hNoKPHJsb?;m~>ZbN!BgBfV*_OvNG(Ai5DFV6I6&p(2?v9u^$4qv4>nrL|9W?2o= zH|xhR=*Ba!-}4VHlP8 zuP91^DzXhh8-yY@VnmQN-CjBjsr*~q!UFMM^BYUl%Kpyw>Bt}w@)n1rk;5TVs7+>L+#~ zyl~UEU})CvJ{r_Kn!srZM=zx~LHC3ncg z8iRe>Setyh<+TmmmY3;0K`z2v=Z%Kj!hwf08n(WHrh@sZv9O69Q7sv~TT<8hq_h%( z1e~ted|ZUt9gUS&D@e2)vCY@O)S!il3|GoV#044R8?7={;hOS!0#`hYPy*9He3Ki}smI_*%WS5-vf z;iaEPuKwe>6-+}yS?w}143VGkwyt_QU6TMJNy2ASQJYIa>IsyE2DhQOz`zo%VTpl^ ze7uY+jSJ|ZAT~yO>6St=4ArBK16sL(BdqByGNo)#)7itQ3eZ(&rPe%LqJqkUATNqF zZ-u$T1<5&)A$?6M2}=t5ix`=Cqp_xjXAIWki%l>q)tnu~E9wCzTN+7wuR%7Gqpw1I z>z0Dt$`CGt(etp9h%i)>UilrlWOeT-FG7_M3yc=0-R7M@-54}=G%yTT@^98(G!-LU zrn*KkFmk{D0v$0ToNf>OWOSz67R^RmPX^Jf-S~u)jZcW<47@~jt|R#j?*|!N;biVC zL;&kX=Erv*p>$c0-HF~7R6{<~43tw&8P zQgxkXAXAK)C|)MiC3X9o$JYKq(>N^?}u|DJUO>{*X(tDyhd8N%R8h9 zzLYqTtxLowvZR4wIMAzz(eaGyqMu_fX^M#rsPySpH=_q-(pHR_RRg^=5rPo=tS`2i z^<@*NV*sOXLW{vX_54KK%iZ2pRr#E`8c;-lZJd`PEf~P~@`d&=zON68me9S`()i~k z|MR7qhk=^TWN)NfJe&tUI{l7oQt}+d{sLS;*OE9d4+G+Q;0O$7Cebel=EZ~|;r47T zwaVhzJq)vb;)zm87y@Fo6kLg5IDtuuD%2&7cPHUbpb+Tp5#&y_aq==FT?xL^y3O27Y0h@$tt(RTamL3niD|ALDsEV zT205z1L{b;lvd~xA`(YzV&_R-0devPJ!^*_lp+38tuoz@sEFc|aj_){sb+UZr}GwO zVdM7^8=9{4PX@0L4|6|2BEdGrQ$0I!hHI58!@};)J1fyF2Tko#ebJcO7HsR;0qo|J z!PlH|uWfT3Tx{ZAQ6JE$O6nQls1TR9+7lW)5Q|0d>)~C7^@L&W5IuclPTZkr&NEIq#jA7A?ERUy<(wL7c^MM&f>2Qze0n5-Pd-V+qinp;O z;yqd^J<-Mx75ssS-{=rcF2}AZL)WROA^9gMV8iZ<-Pgg$$WoG%>ni}MVsE|HsBnRr z?~LEORcYehQr83a z^*1^iZ*42y0T&c(blS+uYd@gm*BQwD2zq%qVRjIoB#{_#rM2!eu#%@z2tlHS`jQ*-79JT=igpgTTlXTJq}|(>ZlA8Ed^$tp7Rd0 zM;nJ=0fcN$^2g`ax#rz>sVmZuYg=_*sIzLYi=OSt#!0tub@6)7zrt&umrIVto^aq? zd(U6@vF_ph+*>rR^O+@{wL>Gf9hSB&k8O3T?Nk#u;^;k=_jys8L8|U5v zc8my(F2rbooPf>I@*4r4RROV9<$JP0VnNngl0IOk7m~j!oMK$VJ>trDhoK6D82R0$ z{yNGu-{GCO{vZi!F?u$BEl){XTNK?Dg{hYLh0tsx?ArGuy6|3>A7rAHBP6CwS~~@B zN$aUX)oPZ=nruCUu=F9+v$$_|LRornqL0!%7slH*skz&LIoi#@%jY}PiPZH?$TwE* z?c$%D?`%77bf;7+L4Rk+I&zj^f7XRG*oUh-@@5mRLqH5RvzBkPNBeT37C2UP4JL#m zVXbLtBO68xdfqidZbbqkmMY6lSR2-DWB&r9{ozPQ4+lDW@IKN0vLRd~tk2vp($|N} zQU2I+2NFJ;uK%v`Sp557Yh8$3&YntKyU;EQET=BrbyYlPq59}~cWvxv|M)6pt9>SjBP$chFXfCR;4cB%nh zX)qpB8aA3>VwlodSWwJ?jahkCEtjBKEE&pGFcLdlU!2=Slszhyv}H)b@@5S`AWAJN z;EgAUHS51mCcrHm>iy|#BWAkzSjf^A+Qr7U7(f5D8vRf+|DKV|U*z(?)>y62zng7u zj0c#7$uS4ThYmG|J#?@BUgH4aFalDss#^CD&zy@(hiMQ6p+ z4mi|lK1dC4vrhv&5C{!a>-y^COHQC93hs(!Q_H=RnGi^SaX7w%HZQHZpCBhcg#6nh zbwt`-=0g?5ozb!5v6O1q_j;d7x;MdOcez{PLj8eM~V8g!OxbGYG{db9EW|>g4m}fs>MDuk2E}pBhO=o6 zT%JCVHW${JbIZMMLc&iz?4+6PE&1Vn%>w&0$kD&V*T>%R#++FSo{~oE+@8W|d z{iA!{*n;$@ph$DD*BHUfWiE*1+RwM*skg4xno&>3@0|?H8U*@?!OtsT9^Lc$Kx(iB zNWRk#65o33+PL@8twW^VyZb@PNq*yMAP6w{6L0sYdW`R} z@5jpBC^AdEp7ip#n^f$XSv4g2)6sG|NG>4yw8os_YowIj5)1yJEL$g6Zy!50Bg{Ev zf!&`udh`@O(VOGgh4M5-_^s)dv@vh!)6$DLV%AqFVJauQCk&ZBsi%VRU0TrQ#!X}% zDSC3-1XI_67Fn*dwnQZ7H{6%X!(_cvS_h9bB{8j%0|iz|MVjv@xplmYukF5z!v~*t zJLY!ut=(4TijlcpQ+@~@RF$^HTY(0K@ZAe%1oz8po%zMq{WhP0wdQSZ5Q=Nc$h96FGws#~e&46O`$i^GiD9u3tFmiFUx#4)k=8~wtw<>j^ZE#L>2CWXw*esNQgpx&UDHyMqT zs|!5F45hc=)-@1WWt#T_eIeh*1BDcB7El5Tl;gN@`j(f+Xa!jS1L7qoSh^c6ud*a> zx@u^sT70~5`86@N8OWO>Un0Xn!idKcX#+dq^2wAfyYq!o#@(>%kQQNYw3n7GB{5}v zNNBOIB9$ggzBL`$SgSIHZ>-)n;%$43SP@@ z4=3`lr`(4$ehap~LpjV)GLnaKFA;fI=+xZ1SNYvfAxrl+@vAwa9-V&clCdIZYn@j^ z??hh+H!d35oE$WZa}`nF32|+lK>qhbxY;2al2eZ%iF2L9HKI)=o#Euf=#}FDCQC>` zqKhqvaa^h^Bvsl+vrs})E1bq4LBWZeiC+Pa^TEM0XK9YwkxJR1 zk$%iTmIhIfKsRk@Y{TM~%@*1A*mcW|p&@@zu2FlJRl)gT}Y@RV#_=(~>z;^hS9g;nhHLFR_W zB$^w<3l$pod=l_BA$1fp5>metvB#bA`HpNwqFKXnV#?tx*Kp*nrg|C;CRcS+6?4_< zdB)^5#Z^@TTbHgIS-DDg74th9owyy4uc`MgHE=di7SBWOEIe5{g_gnz9nR|LCDQJQ zyUy=ohh0@HVT4+l5?6MJrp9gRb7QAyU1;B)c7LFXSXQQmBzJoEBNa1Hkw%uR1~bKD zzE=Z>N}3_T#IS#fK2)GgMv4&qACup~jawZ_m)$4ILC<;We2pdHqIG}uny<9J(ECWu z%cV8p43?Jx$pH6f7_sozgnE%u1O&@3F(|W5gGOtJLE|WiD<_T`QdMS+-a}pJG`~L8 znC^W{2-Iu+s98SF2W2Q9?;ft&hmWs0=LBOyE9?wcRQ>EiP2WMciKi5)4n)+~!Y|=w zQVB96SaFHs!wWpCVh9HW>Lk6~w^ihU*vx*3P($^xW+U8Xn%uR8d29-o<#;Q8pxc0WTHGJH zq4k*yrEfa7J9JATZ+xagF;QPfJjKi0H@cB#UM*&T8Ezo*3xc{IO;UndJD@-{d&&nw zYmON^OZY@lmvkmS0tq)E9@0-d01Hsw{=^Fdf znrjRv!miZj{W1b2O~~Cf_GeWgG&7Y@o4YTxXZJM8LiX!y%2J*^xT`#ELe;Fwc`L&T z?*Fy&v~{3Adh~=-%ySFd^NAg&pz1P_2&!y?86_pC&=Ey#9;SQ_W$PKkb_)y%;3)Mt zFuWZH#d1gF>_|B?|dI|yp6h3h~?%d%$| z-js2H$U$lh>OssUI0R)pG3hI92s$R^PMr>n0*6Hy5D;S!`2zERNqp;4rwg#eIb;^3 zIi4&qJS93FAqoY-cFAKkBK<^pas2m*KA?jP`X-D2eT|~`7~=-kpI|Yxc_kB_G9Qu8 zE%TX2CpG_gYU}@;&O@OZFTgm@B1$gNsqGX87Gk9GSS6%<$Gp9R3U_T60gqtaz+-aoVEoBp0w9qe<@W{DoDKv$(7nT<`+*ZkecI@|%(rvUvSn zM-UFv#M=$)zAL>c-B0qM4q^-DtA0do7T-LVTkJaMS~qUGl|NfolPWkDHpB`Yek zV3gMzGp!5E3CQDdmJyjJsan0+eXdsOz^$^ax{5~}v|(|Se-N<94=`(Gg4#_+?cnxX zT|dlZ9=?Nn;~sDP6`5iZ?7}5;sAh^#IKb$pVcxWyppIi(p)`WzO z1?uJiSc)@}eubJN@*x^P#j`sehTDVbY{ib6RqmNhBs;RD_p<|Au;H?MW*uVX2yH$3*ny4MlvLu7kM>pN_U648xsHFSiyBHb8a;L z2x6iUO|z`-fHceRmSLl#6aZkF)m~ReF0?e@)EzA_|sls3Fv)`jxuq{N&9);i+6T zn{|Rv0%K#X%Vr1@7}7mHLmo;dvNRjvp?OghBdD@zU9N%kRx=$OIasa=ci&*HHo}a zH>iwBhmRnK*EA%H_z1$fWPex8EBpR;+<=Tiv`S!>hfqZ}mIe1!ip4)=mHL|51>)I7 zyFmQhuhixzfxtUlsim=Pd!-v<&(et`<^GStouDbESiOo(wE3mM z`j0e|pyI4$6x6?}6c>yTcl}R|gncwq9=1i3D8!(ct*A@{T|$bFaz{g==-p}ITA+-~BE=1+faU3&QXXFHuW zH@l9G&XoU97Q2c+PC2EVlIs{PlRStN!*JKtKFNG2N( zC5!f7V)0T4%!_5~bbF&6#vwNA6^|FP_f(QGNK5+E4R(4|G} zX;|My3j`-5DPs)#AcIs=s|DuBSuQM}4Zs}RYWw@bL)$JRG{({N-nd8hy?%nUof`_J zk0*%biMaY;1u}p?*j*mqT)~3KoN=35o$|=pKfV$kPYVprnSjXDzMTpB4fn#`6%WiiQ+)3g45s-`BgXMCYz9tGO zmQ__zzN%mfcFH{M_Fx;rFtTb;8Aq@y4@Pvoerns-7x6MW62j9qkVWv>78K=T8x$rJ zdWA0$z=td|9G-kjkjx*f&I$hs!M8XVtSEBi-m!Qc%#fs7VNA95EopVw3#p7^lx>A} z=IZKcO_3R4Sqg6`3F#9&Q^u>KJ0(GYJ4Dtb1CTGK<{#tCATxJVbyIscK<_4T{%Fss zoKACs$js+~B1vCilvn3!36(ZIaRngM& zRl=#k2ZGlpBu!L{4ezv3jl5wA1!A< z&!}z$N@T#dOKgZ2oq8F3diiFdu!O`a;j_*u8|O~zMjEWVNm#bjz>TwS;;u5u!OIGY zxXJP32Y44QcEI}w_-eMI?H}6zlT%By8psBB)+tx3pbu&GQ9=&9F91v=c6w*A!dia5 z(Yo}~+!}ngpSxqEH_5sCwm&@nY;I66jxQb*gpYXV8YiGRTDLA!mEK2i3%3>WEje-% zClfdByE$e=dK(cjlPw{J6*KwUi}IFAN~v>2qqd%l>{ghH3>0793d{WIyTWOjJP3ln z!_}Sb++JH;M- z`tKmcp@7_5tl0ab*1f$$tquXj5Wt||YMFyXG~Jqq>#jPmYA|wn1~7e^y6G{o-FQH_ z$X97x*SIqC{M3;tcS%R`yg#+`Ku_;zX+z<1As7899&!@-odcfwYB;!U=3PvAbtu#)R$7;<}Dzt;IC99?5^0XASI92Ixg(uP|nh;58@pe+T^wwIoWtBx(U%> zcHM<)j)#8z&7>fmg)V(ds3R1vo{{3le?=NQC?TM@$3|)VIN%1Uv=&jI&AY%4cv(?J zZM0tfnzQ(L70#V*7GDmCJ|lCFA%d!%4@dXuK6Iz%`45E9r#s4Ak_pl#tb#JdNQG?* zcu}8K?P~Ehn}i`$D9!>5zk}Wq*4V=RSrDRp*2-~zUpO184Em+I8{x*6 z!f6gPz&&#Ho!?UvH9s&NU`5(F{!fDxHBz1IAr=OrO!xc1>t6JXVsCpbG*Ax+CgOly zva9TS)QMjpf@|ro3HXs@SN1eeIvEjS4FJ=6l<`;8F319*bm z!xREgIvr2GkbLF+OMSlUgA$c&&*vIfT%ck%dO-^I}(=znyYDb)F{wORP{&zHSG|`{L>R7d3 z#C-jiT7TR_2MmP)Qsisf=XPV9FZp_+kvW$eeyvAZ-#qO!H{5I|#k$`Tmc6Di<$RrR ze=yhhgJml@zu7j6ISjiBtQ02m^K`k}WySDLQQd``W$aG(zY4??Jq?tC{lh#te=t`i zDNXv((o9!iPa~J9$vh#pwL!B~V zKuf|zOWH~6A{P;QLnmNaN!9xqD(WLT*+Xy%MP95WIGt{DQZq9}XmU-kX0S+Y__Nz0 zTrm?j?5kX&*zcB%jX|>X=XDGYEUK^7# z700SNTWGA5oq}UxjlCgn9K>7;3F!icOO# z;e@t@ma9a!o+297U0`t`=q&VsY6%MCzTxcU9r!kRVqum3qkzwMtuMwGlgb>AAV<{Cgzg>?%QoCN|`FD48z1Hb%MTu5G6R*Wv zJGo)a;v1rP{;pplx<|U}eMMS`X7s4MA%`q{N7_ZJcS8rXSe5f2nZH!P)5ahGl;Ld$H>-4p-nN_;Tliym9lv&-YP=W8~|6;uvF4pt9C_B7e`*3^E zu(tjK+kDT`BKIh*QkDUE-_y(Sn4z!2gG>a?cb}<=r-wwY(J>fiC z8A1i-X1E3DWY`ew+BAtiLB|5*?-f9+K4}cCk--3pniK!DCG2DYX zdTU^|Zm=h+ipP<{CgLhC#)7!vX;CsSp?(oeVMH2V_PJ7lBUtudWr@<|6~jh@4?hq% zl?a5Jf`tDH-In)NcPKD^l()sTO>T+?M=jpyd=oa+CYVJgcU)kaz{)2xGj=O$$+;TA zgcU9$%<~x4*7#pL8rF_}8}c$w^ONzgqGm8Rbg`VpuPUHW3asR-X7Owva)VS` z$U2U@4Pzxq4)MbmVWvsp))d+w1%XV*l(D-J;u{4M(AcU&Wp0HijzkxVVLg1py=%bT z%g*`RVYAKe2=r#=jjvZWUnpr>1iJ~-7GDYX!gjW8#(t%|K*lS%jMG`3LXt0lc`M(_ zr(;;NFx%4_6tpBMtM*)T_Z(%n1|onKJZT<2mihf>h!yJBe9)xpDqDd%?ZgOH6)7#d;>xw+`DJW#>>Rc3I;*?lmR%P z-$`4A(klaE2jh7h(-)a48^{gh2LCA2+DcuP?L1q8-6lUnSM9J3^Miz|1E>uvU=m4; zXd6m^T5Kb9lrdfW?GbAqOW2QTzXzWM!%yp4kPZ$GZ8Uy=mCD7PDbZ{NXM*y2r0IDh z$S?!ZeW#r`2V?xBXTNs=smpw85ph$5dDP1)0zJ5J;Lvm$VGvTgKvI~ zK?e8StkF2H0bN71cxn;BbdtV}49i6DU1RRUH>tmEijjE3&+MIa`a!{Ss_7_*CYi0? zB1j>hT>>v}O3RG(G8b1Yv=u&V6{+FKT3viI^f@s2T4nGMJ{#Acs8M@P2PUjDqpYcC zZ)>E8(E;B>FJ@K}7l0J76414>$_F_aun)ajafv#b0r$&0tH$-QM;%hQXK7J)xn|iE zJHBf#rn}b1I>I?}+xo7dW5sa3vp*t1^L$*~>?`D-%o0WYYUh2tk{>!twaT5}$;pOR zC)uyUdC8F$gJWxccxwZ7czA0?6}=B{AQr!TxAq7W2g6dly8}&2JMDhGTRP=^%9tNM z|JLB!t#pBSUm>B1)lS`u_;{kSQAVNOh0zDYpeYI5as-N6L?t7@a27fy4K}~RV*=U0 zhoYtu46Flmk|ZXIqQ&_#o_rTR{&MM)XKy?ZE`C7?Dm&)las81`l1GyB@$dJu%!hnD zsepz=gSdEv>To{3&yk?H*DW#wEnz!R9e0iY=rp}XEY0Zp<~pdL5>-TUMx$_~IME-Y z5OCwdD!DOGY?jcObL~nh6{0^d3dH5^)-`O^nI9oh@p zQQGvdgFhRoL*>F~CR!2IQr%|?tqo@Ox<$c_Ez+Zb?T(Bj>1Ggy#Ylz)7EyYSknYkr?!*KLpg zkpth!&ciLjlMSarqV*X`f4|OX=alUmI#mN>c4EHvEhG)vY-XJKx*Avpl!Dlz)YMI=@IZ zbeF5Qd8GKY0nwi57f%W>X)O+q0ql*FHTVy=4qyg^foTM zOre`=oJ+?e7BqJ_b#wGyrxf_g0_HIN(1TEo^NY)7KE`1cqO2AFad~5%W!i7STkE?B z!**`ZJJIuRLq1W$sO=0oC39uOhKQq^%X7$d(9ie-#}G%A!_9&o$WsxNRDA-yP1)HM z3daKhtNL00k@+P`aV8`l#QcAK@{6bR(9aGfzj1=o55Zuvzv)VYp(aS7CTczN#Y^1N7PUg;O0W0Y;eccg0cFPPeN*+P{? zCj;T&-s+Q48S&ac9Js9Xj8?^qr8~`O$F;lP#K*UB6SqVRdQsIbR;*tBzTYFev$Mga zG${IGXA)+)_vcH(szpooxcAE;Az=Mf;5V**^~92u^SNwY~@1f*+??K27@M)!sv+w)HJA9uT6HltJLsN z4zoF<6)qc{%&O{4eJk^mfjMxIE4UNaH&p?j#jW%$Ew#k6deAD*(Dk}(j_)Y+R}Ov;)~eEZji&Y4Qc^|hs9F#7&2iwwYyyyN z>xhFL=D#^TRh9ZezfRFJwm6qTgG<%IMbf;o@GY({OexR^NjsVZhdI(OlxH}6xE8O0 zaxE|4)n1C>(721SJ?a{^PFXzj{2j}1tVDN}!s*Fly;4SWUfWzJ^uXlso2&GX2yVj| zh~?<35TtaIdUk5L(m`K1SNeMr83)WNlxs!s$7?|B1emk2N;Z(n^9WzF>L44dGs~Tz zlMxDgbHnpWn?;Pgn*rr}Hb?0rprsh^mC$G#i8aNc7)^Jle{j58(-*!zO-!8cp9QJN z4P}A0A>(>DR@zpreTQ}&f64BGzK%#5)L!e(>YxpTwg=9B{EC6auM%Iz5pTKnaSm1R zGqDG;XtDdFsK!Zwjs0aH6KhLtm4PxUJKemkq#xa@&6c!wfq zI@#^w%tzlJoH^HvGaVw(IQ{3f@gNt1haog{)ypHKD7Anp-XKILYnHN`k?n%mcHD;7 zZeIPTh()L4-3=Jjp*!P%ko6s6kZQOR4sBu6+eM-wF~h%g_CguSVNQyo+-HnW6dd<-BidG6 z-%N~gKh5H6(KcQkixcU)(B=o35BVQ^^C9kX9l~K6uV!9jKeELvPPF5;b z_2vG^E7DiRe;OS-5^^q=R_Rl|ey6W~^X~Dv%{ye%&c7nZsWs!H`g7~#>g{94W)P}K z{8whsXO12{h1~F&qL_T`I*v-TFc-H$wH zO%uDLXliZEJM;xsBOh@ISNw)*Qzg>#~?0~gNltD zeQXR4iz@EL#+$|W?g~C(ZAuOB1mDAG?$pc+8{A#)Ar@u6v$waN`Chk=?k%Te%z&c`({qz53m5K3npjZ<8m_5?g`=-s558 z@dspH-*iki&`J3VI$=l+mYrw*mF5|ZXTZsa^Qx&C`GBBcwm~1Il<*RNQMMi=L@Wj> zToN0e>$-x*(EJf2I#d}l@Z{dL8PG*TRuI&`7g|6 zmllKysm&s5Af4VeT=wUhZ_iZZ&q;}lLW?UTne(*3!#`nmEH?Lgjt`On{bf}>^2XxQ zMn7lRZwl`0+~NX-Bb~eU))=SbxAN-P(Qao=#o^bdr4|EB-ZSbZ%P$Rc**}!Ttlq?R z4AC3CG+&hOjM`cDR=@ZGsghGI+6k3jHe3b}a%^cz=7mjiL=?HA&Tk7}q=jn5 zCGfIh?RwQLl;n;nm^AFf_Lgh_J%i^cFxPoEPJ{@z0r$|N3^G>Zw9~Ef3##2-SX^=U zeyeHSQzNv)#jQ$jp@~w#2S+1{Qzb;zH>x`b(|{PKsTaF1m*GfK&jMeLm)MSXQ$*Ni zP+2Tspm9?Mr=xrW!+{haTt_d-0aZyS7G(g zsl%zx5X~lzD&WC>?tVV*{F+?u<2bFx|3DL1QU}>k6x)w=B6ozZ<-RZGsw2ro z*MLIXsSwN1=gBdBJTV^2qxV4q(heN4bN#w|6XU&d)HPde0ITE>Rg$&YyT`dC(xDVB zpe7Jai=ss4v4%iM%9AGy&fZXBWS^QIE-OG7l#3^TSHO{773OHx-MHjMZJ}FM5ulpR zoTBc;7Xn8WN7tvlAVlOgKo;ng>?!nt{rNER0mvTPy@@dVik@30^imb<>}0Yw;uVy? z2$UwYQv>b2y68 zdyqWouSSdFLw`M5{58r^m((E2X5K_chT!ckj%OU}QhpD|?iTnkPI8vt;%%D`xR%wa7cWGh)Z=KXztU zB1oC{X5QPK$Ii?f=DpGGxT2O@NJNbrkwPL8xsel`$PI2Gu~TTEH7T@^Km!T1b_+Gs z(Bj6VIDy2pIO+HI`<*}c{h8ISEU)c;tdBr*&%5`W-#O=Ze*b^Jb6Yy!ud31Ya4|;N zo0*j`3f+pX4N|V(r?}DYPw5qv; zsa(>Z?)l;+AL&!P00xfQK5ojS# zS~bGQ2NZfO;vhl_;ilZIL5$0d*FUKhg0dvIblnGK9jO7|MxnAt0H-3EC+mHF36YSk z$||pPlm!V9IleAPe_UXWHffmS6xNM-_o)2wrbyM^iC;p65lPKXSLj*KTc08!b3I7J zigsG=`(Q}_A|W0{L^>{_h@nCUIvHNr4(Gqc`+fyH3v(+F%P|Y88V+=P`z5|D*5Pn< z)Cp&8P?xv^ksUs1CwXudDha>gq9Cq%$IWl!1eIV{u2|B<$FlSTXZ2n_Y=lRSoN6|& z5I}&Qhjj|k%bqa+FKCAAgGn~^SNy{u;;=G`xD zIOjLKiLSWD7p}93eYW0xWwJ|L8ledoju&v1;{y^4lEB$@r>ok6)jwHzcnbsBSs_;y zl$AB9PR9pNNbP%6E_543foR!uv9Q17{1G=+lA}9+>Xzxd2eGd(Ay41!cZPp{Y?Z2yaZ|j3PA?4(IOnTxl>_$ zX6rIRXB+L-k3En?vN{r(fYy;dPFPc{2rz@2`GRf+WSjF@{UW)mTtxvmoB){ zXU?pTQ^@(rmf5(2m;mGw9#l#7lX1BqCJ#qTf?#6yJ}FW$W`!LaL-Jd$^LT7Ol z-S1$p3ISefu`+E=?=~~L1$e@(TxP?4EZp_yQ@*XF_2mr=c~miZec@gkZ)a$n9xA1rylwXIMrm8LXl9nTylgQ{e+sx$`Z2)h*H4ZzXFTGHE>nE1nO^6 zM+Wb%Ph6uET%%2IE=%q%hCfX~O3X*S}MMx(txh$In5id;MY?%itA(#558Tr2P8_a7}fvZ~z z%afTG!>7$8y_-aS!<^cktDEH1?yHa)`q1^Ws&9HlhsHm5zJ3r~-7S^+58+BWOWaMa zr28tY)*~3=Xbwj-n*ed-!$vK zh>+e~NZHHB-(_*?oibVwAQj>lsZLyv`G2izWsIlV`WQnpRvEHrmXzMyw>z5NM#7mpEXGllmH3!|b?vHu%O**@k} zln~?mVzfF$sGG~)xP9W@)P=~2kmMy8PfMbja6?HNcU(v6@cNyIe0Byq)b*%<<;gu_ zy(@0Lo!^f4jmQVJPQ0vs?lHifNEg8cCzHDE@{fiKo>kpge|JlNejJaNQTO$~?3T+A z6bV8+Uy2lh7lR__2yec%EKq|}c4a+YOIo`Rw4xJv*+Q2W|Lq8Vd@uu=XQTM;= z25=R`HG&mZ$g7N&4M50We&~iV^+tMAdsn}W24|z;OQGoYZJW#3+Y}&vdSJyH-~3?N z#h|Dv#0~crH4wI$mpwwE0sC^uMqa9GhA%IaCgIZCm43Rk+|mA`=}k%`f9NuE`+NI( zlW)I&_9aTbeYT6Lx*G3|E+5PdSEPBr(AGb&LMWOMCXCoSOhN6K*y>FQg1;0vwkSrQ z!B=E-%2Wc2FFWz>k5F3Yl*IgmoNU5cm05PFap|-X15d;11adpqK$qn%9llcEX{70z zUcXqciE(dxdZNs0Z>aBRjgbclg;fLhdYZO-U%QCaukKzf&Hjo68;PvweN<+5@)irn z*~KtpuBkp@SuTyJBb6MEu#5XBO7=pyiiCXHgfhnp)K+A69^)=znKI7c;{ME927)*{ zkXYh;XoT9@`j($Luv__=S+l7Ui*%m*%6N^>W=I7w$0f)V!4_1)c}Xsb-sb;4hPHG7=MKf^1!2JR*OTL5w~ zj|!P`qJT%SAl8iU22|^{W*@cc72&(xWTuz)gxvARh~H?tx=Vjl5dYqOB3Mt1lbt1h ze*RFRd{_0a{v08k+P=;~%7#6brq_C@d!g18e4tla`GMJIh2jhC4Rk>CfnYB1EB8m9 z(0{vfx^J1W9(0!)Y(m@dG~Z-Bv6q^(zl0dB8ivfwQS8g+C<3e4ZFd1rhisMKNS(36 zdIbBH((AG2WkU8$WyAl~3EC--hLZLn^LwN;3y3$TbNUzBQ3 z%7fc=9f>UuDa=u-^_~8nwTd);25Mc?;>5 zX7~7p|wX#MQx1(%Eygar8$T;K&vG_Q# zBsz!AwEG-;QO{c}RNY0yxUd>3(Ms5m4Wkp02fcwYZ(|2uBl)k~lDf8+>ios3JGk<~ zz3LMOr8a?BgW4TS=|Wq{rD|S+1nPf3nWc{w0F&WKk3J`_Bzwwtr6nD{@WBXIk1AQ3w?| zjFsZ_M8Z1N*pRZdSM#mhRHc~ksT&}l$K{qQ)%+lj^OFHD)8L(2bA7xlGg~HLH-C0f zDk@;qQFP=QHWT*b8s%b-`R7hbp%iklVL${i^145kEYP9JN$s!;ijK{ADGBB$v!P9r z!U{9?WNAs4b=MtEL{wiTXsbY<9Af-jnof%8(#)3+Qs3g!+3+z(0GF$mTT4=>p@-~c zoL7F$((ziO1!I_&H-BCa0WkYKwb_LiyAZf@QYteOBn7y<}1fiCntFkTtZKCN{m?vjQ>Qa)1 zFSN<%1S@Ufd~%<*9WOM$^>W2z+{#OutN7Uh|0ZL$(e}kv_RmQOA#65Dv&qF~lUfWr zCs?Icl4Ota%o$?!WND?$Wg8DGNtC~szU;Q!ZaYCLDe%6T<=m8CEE=)(*!XI@z1ceQ z>Q~pAE3Le>y-WfNIF~n?uYUYBuco|!q`v2${7+VLVPp@4YQs>h2`K&Z` zN$Npxv-hUt^^P*EP{d(whu>@eiLw)A*?g{w-cSE6-i2-)F_S+>ATl3ycrSdPsi zhvtjqZDvE?Nz1e*$sQiRyxR~Hh2F;%JpM z-Pir#I1Oi2ZYf51ky`kYgSIs)YLYgGs&4zoy>BX?o zlMchQSL8fsFo*9cI6BfTunP(aiI-SpAI7W#_c8sVHM1uCeg_j5^yx`!L#owAaqRey zRD8&%909ZU*z#k6g6U|jd{Sb+TaA{!k?hSDBP3v}*!%b~7eaWF%A@vHmOat&RvW6g z%C9oEX$R-@MF*>{F$W|W$gXvK=fNf@eQlc;^77fWnhi0Sk;>|q#6r;}>w$%-Zz!LI zBO-W(FK;ac{#|e|8%{=^O45N)qYIgiN<%(vy+Bp=Pn>DCX9%RAN@k4@-z771A~-Zd zcG|B5f||aSm-$5L0=xYF_`a}B_lo$F0|@w^Je_ysvqKUie5>6KrY~@ zIE^&Hj(7+JmAq{rxpTLfUx$(3TQT3KQ!we;sn#rhl#NYS_YR@ z=zXu>LL_$!_;(E?_w){1K2Pu?Ia@8r_sGRVOOs2JQ0bA2_vv3y;(G^%yZ5Gp4kHC6 z*?f|gr!SJEgFfZu@+M`wuA0~0kAHIRnwFmv z>D~FEILF_(C?OfeFXV=9Vi3HZQnPYas?IW+q_jGx!PpzPEO$n3^5s0g%hQHelRqS> zZ!SmYil_swuSXRE*3K>1f{4M}YjsHcr)J8J+q#xpt~HQ19ojNCsEJuvnp?VL zFnj7aTt}9qiZ#XquYskkpWPmQ6n=CXIox4gE7_NQz_`3fUvk?;O;*0X1t=)%E8-8q z3gutFwcO&sKvy}GiA#-ZNU2(OY3w2S`@*67roq2tBrR?0p9cqq`Wf>4jug(o*u_IL z8;U+0gQ1JmmrRmFa(oUCB!?NfQ&TW?v-ODOGc7iu9w(aQsTl$m=~gM7T9IFtBypZ% zbVWKfZokm=%6rpv6mGCAMTb(9J&MYMMxm_5NUcr@sk&V)mE1ot^t2-*2i|7SzTH_}pC8b)rFBW__k%&&Zbs+7V^v*dLHr~u2&=GsL0_{IS! z-`E^i1R%Do>?C^=er8pNo+>3XH#qVXWEbhGxwb8$f0oU#n$+-gidO6Pz3Ie)DP66j zGZG@zqF_Kh-J4F$xd|;u1EgHa#c_Sc+tZ`|7b%WKOOnjpFfgLZEo@M)Yqi-nU?}GH zIGX!bYknZz6a{X4W}Qds zB&`G^0-MlDj(9Dv6??#N5Ql;zJsqFIz+!H|wj~IE@M@z~&yU)6XwkQawxI}nv-woS zLlQS(J_7J1nq%!Xzqgk#fVi{s;ulD6 z%RX0GsIOf*as-!0onoqSE^_yZq}sBsY>=~Mm@bn~%Un<`oXsV9S@w*qhgizQ@FBa) zpJJb}`l6yNG+{1zc6+KeH^13-CfG4?axe_aLl_ke6MWs2WMJ7@zd;~HV_<07@fN%a zQfG9E3K;U=Q}r7BYbYM~B4tSSL&MwH1v=@$el6Pey&%GhlnTFkyk2Y?!ykoE&k*Ya zX-x?41#LJX*6O29n!_rc5}jDZ#8;zYsal80r=OD7*>qiU2<5s^=C=+cZ|#}JM4{6n zgT^eb0hC3EhU;5ZoQ!4PaguEJ_IIX97L=N{T3K;XV04jXARNO-yg8gXOez)#S|SmY z3PYsh!X4Qaib{IEpX~GuJ2j*0r;uH0iUH3%#Uix26giV2@Vu_-IYFkb88L`%BvzfmOG!%ghZAnzMU-q+JNMlVuM@VeC&2sK#U9nr_so>#?K+==YN7#a)Q zD;;S5NAUtk=Bsg#aMvk|FuoHrp&$T;l|Y&@y$lueTxudoEuamVjc z5E^TF?+N_*-N71{anILbbhXYCII8{Ei@ZOD-85=TU9;%ijX-Gk0MrGM?^ufzHm3dF_N>R$u=^`rXNAb(BkU;C)CI8f>$ zl1?>t|0xI}k4}N77~SP=tThZp$R0G5tLk^QHm{tiwF+V@L^L~RZz)X;FHAX8;PIxo zCJ-m^A@jPrft>AfS%1p?o9C+B%uqvsD8NvBokf7RSJ5JwFtjv9|`Zx9gdL>B#2Wi)C@4A(*Iu+{%x2sPN1J zKK>bG6El4Atm?k2Jr#>$K!Y_xVoPlAI+Zic(@0XvJX&z_r+ptmjn=Ze#&fWH9|;pR#eH4sp)4g6}V6`oLzIj76jCd$foj> zAk~6Uo7&6<7GkLnn%tf}DK>tyP0C)k^aZs$S_#p7+M(SEW53DwWw)gUXTb;|U|N}K zkBM@pk>l7d%Mn>6(9V1jgSJ(PJBb;FkP+n1_GnkFAazR;R z0}U|vaYO=hJt>y4^hWne*$2Zfg%wd^Bl{yXQ6zVBJmrw(8s`bs@{a8ObY3oW!1F9S zhxG?d8VL$*RE)gq^;L{XGUoOsi>YfRl5wnw<<1RWI51(mo=-bVi$7vNfQ;>(pmB#B zy2#xO#)u3Kwc z`-t$>j}0XJE27u^dy|jrU!NQpPd+&?JgN@mtvY3ccQ)Hi?3_D`+|wfQ9a%D+j=p(& z`hoJ)W5kUVm_L#%mV{o8xPQ_SsdLUF?0vZ1j@tauGfn(G?pDmOK~jJ*d-e=lAAXA{ zU7nw{oH-M@^Qpj{Y5)z#tevl47OO9;g0lV2qbqLWeB?}%R}d1j_tQBoMiL97xFl+* zm@}v5V?byl!8Gqm`CgodO8ng`US|`lFiO5F$i!_QO_m2YlH#zRh>n_PZPVj8Q-=Pw zk_bc`wRZkl*{jbFB>ao|aITa75Z6%30z)0iW;m;Q2HNZWR6 z7t2o3TZ^%9Xw<33eLT5iGu{QZzbD`ksm-WqmuTG2F0>!jd!^pxC{9PT82Ju4m#3WW zQt&+^FDJ>D2SRL8n4}9DJ#ROf*0$HBh-rVfb+l$N%d;C=nJY`aI*@)aer-#2v@r5S zS)ATMaz~Xx>$?wS-Z21N~U{;4cI`3U|LTrdWSatGc!X z!&>#u_H>N6D$0g&Dd%&j%$PYB{d2sjrHBHww!yZYuVaf`ls|$Ro+Mx2brSpa)uL!W zoR+FPICBdI0Ipi!>1Y@gOGuZT|C@crD2cmGd&!*Lgjs&{b;g2f}Vh=eO`av9{? z);HN?(Z|Q*Vyk>g(H1+zvNB<&qMdQqo0bTHkhQ)uke-{3kKsMmN_C;{4x~?<6QxKz zl%2TaZ5Uw9xbI@)^8R#m*%ZOz`na12k`B8no`Q|X%|Uj0Z#s@X;htW45IJGr6bkd( z0}20%mNmCG`A(nxurr6#DXdU&=f$idYhIk%=t_070bUi_lJEBES$BFYtmRPWw#Kbb zFcNgdnH0PJT?K#axg;Ibc|4m84EEB;g1(pyT|C4VCASUs9@AbvwpoTHk-Xi!O7Bzp zw+b=X=8nSJ^b|TO3d4HTH^m!e)slGB%hn>+AW6ZZ-eXdkNLg}IsY*Z+2JDY^xqX!g ziP^x}e9v&MMgMp36|Prn^;5p}IJeSV(L1+l@GDH@2BnJ^T#moailU%bQk|~81w(Lq z2fOa`XAtTNf}Q_bl?Hv8pgwzh!m)TEnpku_#}|om6~m1m7!?max3^2LyI>Izod-S$R9=U|ep1I1b zsZIm*urZO-)i+QMuMcP8Z?@V-@>_j-cG5SgynRV5&9g;{qk<$#)Z2yJxX3Z#^$pYP z(DXDu6)qM!cgu-#gqp11Gjki4d2G}l=6Wc|Vp7ue^ov4RthGxRj10DgX2Wf2eo!x> zV8~Wb<-kg6f?!+(B4=qNP{lk$$q!hh3uatEWYq%+6}KkJM&qG<(^mo z>JM79mWM%vDyKNs97Q2S8(Tv3>x-t{LPPnU?1%f_0J$@JPL{;K3m_Yyf(r+hsNM+9xGZ98PQnJz5=>L_-^CAPQDiBZQM*kr zIg%#0O0=%&Pkq!xcSRr81xy3q0CIFS(TQ9>$3)p>!1?It%Jzl~;4>7en@jqr%O$A* zOmN101j!F)zbdoC1tC8aw$=N0m~R9fM*!SjoC{)%!aKmf$w>Adzg&VGP4yn(*x)Q) zVUp~>zLy_W56lHF-`-LeXL46|&SNY3EDEKXdh(-$5a>eUB$m}l{zUd9O=`x8vHiA! zgkH!ixdhxvq=Kg$t>jN;PxpQlG2ef9YxStx2X~2(x=x(Xn7Mu5md3cKI|f5grVHXm zd)TjQ)?t?JWQ^j2X_$p~%CD2z-wN^{4D)n-eYw8nJen$>^)WrGnAWGgkIe5AhQC1r!8N+_{OqX#>VqL7AbOdeQirSNlC2^Tg+SHul=*Ssb zf&>Z4EB8dkGMJGi#KBxylfu91-4nBouxphfl;ccba)M;h!kZE|<@~su4XAyeL$MFy zs1_9{9>-LyF;EhEwbRAtl11i`qb11~dJk7PH~A@DAOD8)$qrd`q6Imd*VWFlv+EUP z6PZLC`V0~2>g!Z}<1+R=+@dmX>uXKhZlteUdyemVY0mN8e|#|h_+U60`~M#Y;~rG0 zJ@*bK_YMx#oTUlzNQJx>L1(1T5b8L-K)~clj19Yo3k>%O9+CipE8H>b6}-OTM9G2c zjjTL!*BAwF2k67rZfxv>gTuSex`W|q;?wLTE@f|zuL;7WIh?2Bb5y?q4N8( z&%97)vQ>0a?8p0!Nrh%`jq><@6=zsj-{O@PlwXUsV^$W>Rf(Tfu#~%dp2J+h3AvG1 z;;>PYzlVlSmWimQbbcAXs$dr=;@@$%y4r&A1D9sv2?Sgn>=vh89Ewte0VKI>9n{8) z*F)ZLVu*=|?G^91`vt^EyAb2n%2wxDGjaqP zzrxKjX*%ZIAZPG7ylywK^hQ!vKVy34r=prUGZ?b2+zxbLmGZDrE=_02AJQmL!p#O! z7vLa<0149MT)h7L%$eD9GaNhKG``k`nE3gsPmIGOY0TmVd;hpIXXyLtqV}dAa=rB^ z>MsZKN!v9ycsg{)bq0qbNOHb%)!jz70iW~Z3ozm!?;hQ{I*?DWxm!k- z#i$5N?&>oi#elKUY;M3=KMF|~e&JTnb{bE*;FWj?TfF87kOW~}C&x8=iE~`NCw8tU zZ+AdO>dMB2S)fn`mVx4T<9WMLt?taG9sHx2O*=Oj64?mzuW|wMPTA|w9Tpoe+Y-M= zI2~(;n*cGU!`Wl;s6{z=qHvpD=es2li3+bK^ShCV>sX*%;sL>YBjO&DT=vt0UCB0u zyN4xFWnB_gaQ^!n@838$)R`hf@fGn_TZjM|YZfCgO^m>W!H`(y*Q$f;cxE=dSrmh8 zHHjth!e){=J4Str5+2?T42$;G2k&%nCa~;jJPo$skStEU7$b2gAV{mdSj|7dq~hyv ziwylFM;8+cVf5zatx~eUMW$##ex6%9X z^27Ye^>wf_A-TzDx+dn@Eo|rrC`)Ef9Jg;>K zs(mKyD=Zu(1q2_au7r5%Gm6;M>f$U)$25GJ+CfW=+ITv$$X^ohF{VI>`)Di;FVno+ ze3H5-s*S;jbu z6tL;p&F#UI__xq(cD9xrz4Rzofwh+|g^k}COpl$U>7k9nTgh9m2b3Q=nMfx!RdT7_ z+-$70eC4D`v@$NfT-9WK-#B`Ct;sP8FO3H&Iy6lpe-fy-v`IKgXdG{g0=Fc!t9(~e z%iL4m(>j56^cHLd1zbwU#qznNQGNd72^7AyX0=v)jaa)*9NfO%^a-f!URm9p&!wa8 z5c#pnjn|T%$J@SPlm;2xKg$aec^IZPf(FSP{O_f$A8B0j4@1ja{?GlaK>VTX*TesO z(l;#O7Fj|m+1l|xm1ITy!;~%$q)Fo#eCwkft=fg|mH&N=bPCSx<$3_qwGf-s^-jAU zW;Sm7U;NBB6~3ExDB#QGxJqmjuKDs-^Qs?WL>71LCpsS6;c<*#H=CO)8v!JFzy8+n z!jwD`MTpa{@tXU5FR^vI&^pfFSGR~Rc#~ zyW>~FkBcv_)jNJIoDJ#ua_6trT0k!Ol`~Q7itJ7QD5ywwMHtCFhoR&d&9vipp2P3b zJ8G5hPS&Ft@Kb)g*7?|4?HIbXy4BG&&!KA_y4mh{f2-N{y(c@@JDpP<#7qz72h$Nj zX*`7Kh!Ht#e=HQts#RzzU#?P$s(z_mX!9X7g{E0__3e7N8b~7jVz)<~0gAFXnk8QN z>6mBELXVm)9JcYZNsXsy;In&lQ^cO$suCKdjG(6VSLm&F2cu{ra==ZbVrW zU{JbScs3%7h_cb*MUwZn(9j6xFT8R}>9A06+r6$;I2V2iT^`0c9K>(}Zlq`lWHaR?Ox7r`n97ip6EbwXfN_RP=mDd={bf*AEJF*~e7 zThU|8;cR$90;~L5NF0!8Do+5*Gw0?pP?M$Ny;gY1*Vgjd@j8B8OxYAOf-$cY!btZH z-<_ftV$6X0NLf9JUO_!l`1~nyB`|aymbK8IMG1v*m!<#tRKA8W`cdc&P9V{%5|t7U zFUlTJX(}wns2abJCX$ygV1%l)>PSF=7FHH{!S8c5W-ya5c*5x+n8?M#j_)HII-D*7 z0UL+|-Ku{SmYq=*Or2w2D4p@fc8t}yJJkY%G7vglb4zF8=j?+8!aUUT6NXUr)X#o; z(UBu(5gQo3=LQ!2l4WqK*N8=s(m2kJPWCE$WxDLabVcqUCS_-P3xoU04$*L%Yicpq zBv&7M;1egxr_o77p{52L%OqRoS!$#8lvBb*&z9U?o1~i8vG+;A#rzb0rxR@7tYq|@ zcacDYLmd+WBRvvQ@rTSzmSshaj53`3Ch)_K$O&R%8pa{N=s9=~#;L24{LF^6s59EQ zBpvva5~sE0$BO%pML^QdJ_?fg?a>pUF??nz05L;fPD05iMSJC-of7_#3=O?b(MMF4 zj`LM1(qeIrsb)>dS9Q8!xbTn{hA?nvJ!SCp#D)}oc<97#=Ip$3~IM6iyWr!IPd z-$@M?W zY*l-hyeBFEisl9rPQGvGuGIf1P9>JEusR^1*n2&#;+h`G`w$Fvv`0|X8H~Te*B-eg zqiN+zUdCQ5JBnrEG8y=QN{UrCfy<|Li63fiNtz(b^8FNDv6tkWR3uWzexZAY^Fxa% z3ucj*=am#=F_L&Ag_x6zMH=(C&-cjBod+M9>o5S(<7G8@1Am%^7(xoAwSXWtJPX7( zeb79V)mv2K1hJ`ir;DsgbzLlTN^kUso*p~oPlA|w4p4qHxN=?JKad^NzEzejBC)~P z-J`5dmE$VsC%V~dK3^z5cBYAMps_J0`l(puk{=wN(*Y0?L8MT}75XR+Rlx@RK^0p0 zKz7y0m+p4wj}WsKWqewvQ$7FehL$oFzJXlt!dq$GZf(=aPTAGF6$i_z900j6OvvI| zb4QMWR$~quKFNn$b=fLVdR9$f!1G2aEuzIn_U}*A^UmYhiO2467HM!zENFu9Y6%s* zktD!8L1f`?T*e+C^~-pQ-GjWE2w3RDk_tg{>z_FU@HL87Gi>c3RLfch%43ai0ZV?& z?@1T8bpF-Lx+g{xsvJc^77qU4IYjN?7DzCKiM?L+k*XB3q$}DiyNciF54;Olq01S53 zel@D=gd_h!o)94Dkf)pKag0EC*`*#7dURHF&eNuHy0GI5iw{i`zHIzhby7H)>7VNyAXNgiz<(!3P5l1F}VY6Qq4bkG?1K=4jxI ztW}}pETJ%ljf2#IGCp#P0}Fm?a2R8&xF}F>Yt3E_C!^elrqwU-GiuEf3s~bgJ6c6f z_6DqwpM3CqR_ktU{j9+0u6pk~8#9Qk;@^52oU4d3VeRYOF6o21FE4p{QQ7&(74_SDRZ` z79=QP_|&<2eQUlpNAQaXIBMZf9yu)~*JdzRb+%7S6X;fN*?ZJ#8QtW2JR9#FOrPy6 zDy{cM_URpmz)4{ml8V0M1kQTveS_)2w5x-zN4bZxKVT2aCFMoPUWUW(z1<7xeKj|- zKSQ=Z_-p+3yzlqY-FpYEzn?Aa_s`0HzjrYCxu}|l4eLeRp>an6$jAk6E95dDC8*Mh zfU>J$jtrJgNUT{+960 zhX&K{xnt%sGOgn+_0~?5LvJC?@&M>u9EF3?FRQpDcdC7QZ~AthF(&>+$vEi-h#7xq zHzd7|ul$!CZhoYIo4>3pSE^>oM+8fG{Ft_ke0(tZ_=^}LG4yu@2gM!#$rsVfryZo9 zFF;CL;R2k`4)*wNKMUZH$ItGD0Tgx&8+EBU6vG+Df?&YsRKRj+QJ`G-AxVcZiWhg>4p5sE~7R;^iII3v|hv6^+gphZ#h@j0o6W03`WGpnA1j6ijzd|YaQYAlcBSRUm` zmfS9Sva6X7~*P33TU^6BvN>j`1nz+`bO zv{+_^l+)2X!O%{CD}GUJEA-SEBypS7E!T+%)K2Qjr`(63%FQE-aDG?Yrud%Q2DgbX z&(>&gp%Z}~Ag{}&hsqlPqgtr)-{7Qbd~j3(3D8uULp=~@<57)RHR>8N6mc06*xXa4 z=JssU?=3|kfYJ-BwuO{?XoD`~VQxC9hF7#xF+F-@QB;r$;-XML#rysThc9xsfa>E| z&LFn8m`D7Y9Fi{&CSQ&*i&8G5-rgBL-l**sc+@ZUz66u0eO00o8?`s^XR(Caar2Zx zaC;(?lCSoRJnDMbWps)z%$j#i%Jh2rfj~y+J~bVOAU_3)QG5lu@^vGtUmZ+-vuE6C z{T@~+lG-+A^C9ZF(jzVOK60FxJ2sI{zA20L+k*-JN_P85@*Vwym%iK6X-R^bpX*R-~u%syoxu=!{i;kV4_V8$&7G4s=i{AJcS_^5(U3;#-7)GW@%UsSAuZ zB>QqK{43P$1@b03vR@+E&G_>7WtHM? z7GE5P?%I@F5V{!gwyqc@oIsU5hugx&%=FCUN_HKE=)Ms(MKkmhB#EW1%XSC+fcD-u zW$A7)=}h;9h)w4g+L=CYj=&wP7u=E4Re{Bms&pjMC#VUr-`J?C#6;=+XI=Fu`iiKd zm#`2J)zT*oDb{H@EO#6pdTo*n^Z|4RL;K^HpVe=U-|E1-=(CdyaFEIh@lH=~vbUGu~QkkZ@gHO8A6pD?5 zMre|~sCzHPF|6c*(l$NDQp$q&h2JR6kMr@1>z78E1xxet?4t_Pwy&7ymsP(nu88kp zETFFlyedftd@gLGa@696%W}(fmoXP&$83`>gPq)H0gS+9eoNg5?&IJ<5hEZ84t`jC z8CscAtk1YL^g=nNi5X9G&}-cCg?wF;5)0RM5Q}dHUt;OR@6WEuRjM!yvsuZu;$QC=u$7a;6cZzaJd$NJlp1?jua~IYizD*{q&I!A%#oxWsa~Vor@w1;7wY%ud z-kW_+#cG;Wl13mE$|~{xa-*b`!gmWA0hfBDsvY}&&q)%Y6vMqeHAlA0D8SPZ-QzuC zdbwo?o7Ta-3f*1Q&yVj?1nw66x@TW<&%UC8=H7ih2AX?$5#+jeU#Mi|mws!)LteXh zU#WBgo|=BOqdZnxnmQ*^TDx@?S8`(`J+QAsmf4@8tM4pJ=>35-J?hc}#6Gt@E%nzS z{FFDt8aR}m^rId*qIJ5YLKHa!^#0W})v=Rw+B!3e+E{s8mcGYzS@>AVZLwOK3^Zc7 z2M6}0od74vfqg@h8^i@HxiFMTn~6+T(r8K}Rx3114(?0a?#>pi9(v@6y?K=MTe&9^ zqgpa5>8dM@wJbTbFHKY13W74|OG#(C&r7R~8fIF85cU4I7T`JW zn_s0PM>=0Qazwh4a_9$H&*CzTk(pr&)lt(v9WI@3qML>5W3o;?JxxkdhDtQyL;L#F zu8G}tm<8nisNqqkcW5y;`&;&f!MbYIFu48PGkAH4n{K$>bzJ~B{09xd{riS|!BpKc zIj^tlb6&CCOKd@1$hTFVbN3F->I0)tPdRZ$#YuDFKVh5DEC8|O$xgmS-MEsoyyr%}4y!SED7ce`0d@R&4dbKAw6ajfJ=gvzHd&k~4dYWrsOPZ8kK&ZzP$25mLnI zeVIBf-&l|$PIKBE2|tkJWoty#X zAh+rx>X@jzPqYXamqJiF6mgW>u!_?g6Asf^+H}NcF%`d0lB!JXv3*H>-*Cs0_nxD& zq~?nAfZZl!q_-foEUDbZZiZ+Lz(Uy)A;ppc3-cnf2+bamro+e3)@^X#oAXQsc{Pye zoB9H$>oeV^Xc;?P-{Yk_liCd|>S0{i(6>}c+{+YP90Flxgu>{dluNYm*`Y(hY9tEsvCZMu);?(HaU*|rJz95&?P)j22{*4jf83Z| zhaw3Q?DM)bePj_DsdoW&$W#6Oq+>4Rt@{#_G2+LtJd+35Yo1EpDqs)48_RvN9j!nf z@ZO^}O?@>j_YyT;f=I$cFu~j>##v{F31(eqUB_mheL(T4hm5Zu|5J*ypb-ldM;Xj~je2Vz>U`lKGJUtN&82K2_Mhh<@N;LwL6^_L{B zKfd63p4gP~;D?OAb9T_AiybJ{*sX`f!q}?RoE2pXNBWe}m-&stC>$-n>reDVf z{03~vQ<4tYL#GlAVOe%CKGDaAtt8*NbG=#)8#|9NisFb8-5IdV=Yx=~5WG$j9LXuW z-Rh`P$x81l!LB3`j;7Ijj$tjgSdQC?G*)Z?Qh#McVo&grM%kixnORYiKoS|b@j?yV z0S-qA+!sRPGYShH&$PRALpma+vhCK}_N7l7cnkX6;fj@H3cLCR1@>*d6Pql4*`aH7 zPKvu6&sp(_8cJO`(%NLiWx?!8j-D{!{fi{WyXkZYW!#%&Hb}zT`u(1cZ*NL@vn4Lh z?Q%V2p*)W{6U9eiV|I*??q2`G-5sY@fQmCrsQvv@kwt}lH|e`@KhxMBM3o8Rs3Z%A z<9EDq8TO=hKcrpB%n4>cyVnFMbGbpO&qxRiE8t5{E<*NnW{`SC6`_6Gfnrd6%%V5l zKEjC}buIogx7xW61Gy-f4=@{V3-j+G4{(W%52_=k1*UPz*~|Pp#P;OA+LH4P?;Bbp zt3;2Q^9&1wUPS(##XzBj9@={lvF5f32HP8?i@-?LFsYaJDBbihqukUXPup9h++=fU zSPT)>odHvA+j?c-tIfs@pR)X+MjNTu%;b*4sdQT-p2N8SZZVO1$G#ySi`#B&wnopg zN{fxn(v46kr$A9SggaCPiNd`Py*IQHa-}Zm4z;RZAl-#is-r=-m_=7pJb;)~h)v;-|{T zFKk?qw^?HjV8wrc!CZAFZUvKHHTdEoTd}=9J;faC-dIA?cwc{ToB&c?D}d6qhU_DkcDt~^8(Q?_XZsH}rAXv2 z`yJ{TXX-c{3zcetgu9K)>0>E{)gy)MdL5sG#1lToMVK9*fnTki_2uSTpI@-utu#oe zZrOeAY455gKi3U<2c7icWRv4=2Sticq;#62P0OyhMc)_)bZz7UieNcKgssvV2QGyw zCq`{e6ekJ0fS9hi$AUU3Nh=a$(PjCeK%P(>;n||rd2^Ndt%a?+J0xUa&DJL3fmT&9 z@=-^S5p1qWFD3`+;g?IjRI)LeJo1pDIHa>JFPc6WM&m_00{Q;=4Z=>4X0*RzPhK67 zdczwzi&%5DP!Vg^yjVkqF1KWpM<)u6LX%IQZfq16XJ7U%T8i~-`z;baUPNfo(ot)N z=0x>$`jmuhsG_*y?&cQXC+0P@E3Ec@l|x=Nu1jkb(-pO5{ka>_xyioOJXWLQKI$hz zs6e$a2{@nGc+lBirisJ$2trsY7fg%zfU9adFj(3wv&WLW{IL8o+o%)za9CMPt4VQ; zsHNMN!l5Xd@wkK_6u(z#4%>mmALw-9$W&I7T8y_?!V%epFwA`WFp@mQmOe@@XH}BVAlkQfew@ngIJQ+=XL9K+PU)-1QZ?fl& zY4V{MQ{X`EpbHv$H7eD9Z3f83sCU^@GoJu8}t6 zi$W1LJh=I}85fhn(l%BaV#Fq#H_N{DCX@t;bnye>bdN81qm`eum#4`xn1U9gHSvYU2T+0kX&{B{MH(he_0UYBm0t% zM5+2RwtR;bqp#<0;z}b|?F?QF47F&N=+POHkM-^Rm}&hoL~F6hwO+;Rze?nGD3vbu zEY2y(R>Gq6p)8#^SKlJJ5PJ+*5pFJ-uwLguoNMq<&J>Qw?zfYV_l1Znwk6_8Ad0eK z$Bc`I6U$CX{bjp>eZSUpXi-#!y0WxQ97>EjENS`*z2-d>};EecKV@DDAPTx8`lP2-w!>oB+$7>`T(0 z6SsDQM7mmc43MLv_XdrDZ*(IP$=;zE;*XqPneO5Jsfozq(6)sf~ zyq0#E?=;GJ?%F1`_r(9SseK9Y6dN%d(r&60`JmJIE&c*0zQ`;rq!0E9a$?^B4C%vs zf47!cd^&OuyV==mRb1@cYWbAHs3WCGm#~WrKK}cmOHH+fencZ_*RV-Sj7q(}B)Ri! zvgeP;%`WyPs6;1y3$@2g=m|fKqpxo@mMNhWn)=AypH)pIDV37X@3L5uub=@xH@04- zzUvh(485>7opnJ`PIjNK5dhT-*>yCK#F3&>doy zSHH$duYig9oAHvDMEyx$Nd56O{^um0S?UviO)0e)Mxb=IsG>0yZ&XmOWaVY?DMEQMqZT|`O{=OTo*?g=>QJGG74Vuz9~J6Gl`^m74Q9{u znI5c!o8?i?gnOu*k(2CCF&bjNxzB;9n0<~Ry65su&*)4u^fjbgg0!i$J4D`uLoCL` zpi)^arkhi#ZY>-5O_3SDxi9(VzM)lTV^ihM7?dxkcyv+B0@fxu)Dn(2zOo7nU83%L zdn|1eWq|&?c(o~Y|GTxqL9@k)j1Sa>>%7qGrD6eLS8h{>^W-}D?R~@7 zfw$v?svzr?8cJI8 z5(?0J^bfUfi!|YXHqD1&H83x@b?hr-9sBB%71^TxV5nNd-8OQ+Cl_q!0BASvSz(e= zGn?{5E*Iv>YYP(9KPxxK?909Y_B)5WcBx@Lh>YTEX>E%en0L*L0%S@p36PqYZBmDU zRO$N46}@~%A8i=YrD?UvAjFE(GnZJo<|Wo!zd$0pE&G6Yo&#)QG4x~cJ6q_2eSWI2 z@FJdyUV-_eR%n*(Qh8H;%TMu^M1>VzXkqbq7tN+D7B(mZKH6AfPy&hCAOgPiFStDh zBDPp`M2gplXPoOhW2H6yl6{mSkBEu4*c9@e7;(B>y-bl^SW8L&?+l8qoF-2H5Fx|q zBqh>| zmLzL%_r6O~AY<2`liw90SSIqeBvm$CH2LUdPBn&|Q^cGJ26DYjILs$6__jHJzDuJN zl@OCjdhec+SQCi1A6wASAB-yLz>u@1-!Vj_*ErVifuW(oXww=b6W*6l=(*Z`hYugR zKTCdUFJ)is;mDEr3Nh;oTke&Q^GeGeimza;o|CesS#sM@dQ2;v7Jnu{`nI8AAD_Hm ze~&OjACucD9`fex=?BWMJET_V#nnpHy(Cv=_g;=!FYRl-k7?~=k(?GSpXz$J zd-ooutOwa!DvD0(=dZU1_whZue|*$FCQu9wg)9df{j`774zlFlp>%j|t4dx*Uwj(I z$gRJpX(l&E>({L5sP%IwV|9rVcaQh!;~xL`8hzaBAE)#&^N)x1alk*mRv!obg)8X0RI}@G_zO(*$+Tc4Eo(;Y?hG&ECe0Vna z7Q(Z^w-}xcz6;^m;JX-}4ZerNv%&XBcsBUn%0 z{#e#1_N?6HW-wR z*kEA3B{mqGS7L(!x)vJ@()G}A$ROQ_4F+j5HW;LvvB4mHYiuw`w_<}q+KLSZX*)I; zq}#EAxQv4ALiJgF*VX*kF+U2eH8*{mIy1 zkUkk34AP$p4UWD1hq1vR{f}aULHhRCV358eHW;LTJ~kMne<3y)q)){LgY=!T!65yQ zV}n8Z)1kpJns>zpgY;)&gF*VA#0G=(FUAIg^y%1OkiI)M7^HtGHW;M;X>2e^-xC`Q z()Wf2$8!F1Y%oawN^CGlpNS0y>HA`XLHbu?gF*V&VuL~YY-}({e>OH4r2koLFi8J; zXmHHux!7Qk{#EDVC2I=394F>7+vB4nyh0x&G z(0?8q4AQ?78w}D9#0G=(7h{7#`d`EbgY>_Q4F>54V}n8Zq1a%M{@vJMkp8{U;26>` z#Rh})mt%uL`uAglLHb|C27~m&vB4nyNNg}j|LfRbkp6?%V32+^HW;KI3k{An{Wr0} zApLJ+gF*T$vB4nycx*68|6yz}NdLRoV32+yHW;Lzj130qe;*qR(*MCX+&5{I|5LHS zApLY~Fi8JVY%oawacnS1KNA}a($B^QgY5yi46wn=VF6F`uWh{c+@|Q4F>5y ziwy?p7h;1!`o-8_kp54x!65ygV}n8ZtFgf#{k7O&kp3^R!65x#LxbZ{Uy2O|>6c@J zLHfVN27~n1V}n8ZmDpgAel<22r2l(tFi3wRHW;K|iwy?p*F%HjQU6D5Fi8K;*kF); zBQ_YMzZn}0(*G+q7^MF^HW;M86&noFZ^j0L^k2jVgY^Fn4UR{BD>fLUza1M4(tjBn z4AOrU8w}EK#|DG+JF&qa{nxR7=VuL~Y zyRpF_{kO5fApLh#RM_42F=4h3;?P#=<7ze`$$!Pnff;3#(=z5hi_}OC?%vI$bz^Bo z6WWj2`JDCT&`@7L1f}GpoNR?+n%H9tW>}I7 zZLdO~))&?1)&fYaQv|P5`z_&`2?vsex|PSVyK7PU1Nyz#yRiwHM}*`Lbtzu11M1d9 z7{HHf1C1RQi@&&&*p`9P*ps_K?c1|ws13ZSMPB4f7v7@Lh1#R|LRZNso(kZL>q0vp zX9llJ%i#wX@9Be8IshYIw7MyEa^i%DWU=THO#70)EN=1x`G}=xQ58dCo|Ei0mZ*Dc zd<>3Nz`?sBCAA2aD=*;3UFL!hcj42L&Y+TyQ;!C$*HuZzo|JyC_fNK|{x~1cB4+wV zbK5(HMrIpiShv$;g6V&&Y)}5(jyX>dV#l4-f}#F*x1?C#DLpwdM*-S)D@{&v8Sryu zd%{JkA^6VU+>4gUo6_=`vx{>_SQor5;ttX43@A_~UKre2ROoJyz)i@GZy&>Ge>zd{6+&|8=Psv^ZR8Laa7Y-BK5`&@WmAQDw zQN<<$QK@LfxO_qz>_!nG7-K(`V%NVn73A9#7v3_p;-xs3BtUZCYI&R>CHw<)3Xtq6 z4Cq#-li^r^rU6@;*512fFH!n zlhbx&H1SMB85CN%Mx!#$GAf0zQ#N5pr+nx@MZJzhI!Jwht95QjVda~WM=a@dbSmB0 z#_9(ZX^F(kLWrgL9H7?Q0PoAP)isMojHZN~+u#)5*;8u1aCBg<*p?zB^x>72NMAjr3 z2zV3azAGjpGaxvkU3REXc|h%xWt6*NpfQVX6aw`wyym|1^-JzpJjIZ*@LSt{{S>R* z_Z&gVTqg3ZqW78j?<#U4E8DNRuacJ^f?Cwe;fy3SK@$+TMe!i^WUZk zV-7ub17mupBg|9pCgD~NSrsXpD9~tOuZr*1Lvpeg6u7GMu~IXL^nheX7TVZfaKDx} z<+l!km#6Pe)5VcV#XMuEt)EZdktY9g;8iL%lz;peKF=S=-qgaih&$(3HvaP8%4tZG zXa3EDkLe$dV8>Vf^*2g?Q-5(EvmEE&B4w8REBu*#uB>C0|8!(KEpS^YV;BdtS+&Pxp3g8|zCBArepf);$YF*1lNBRs7{jAK9-a*DlmI%i~1yam?}dldcNQZfv#M z2lDdlvMub#(qqT2y^V$8pRayrK>p)-sFO^9)?>G@TwR2aOJb+R|4#B7=Uc8~$w!^f z@Z;&g-jb9No0h`x(5`mFx3BWo_R{#HzwuYT_r$xu^ELVH z*uOpUh4gpc`&R|5fBMm9{>s1j++Vy?-uX8_{mP&I`j5?>!o!+;^L?NEz~B9I-~5iW z|Kopj?{EC|{Xg;-q?imBL+R(EKl{$7&%XID{h0i{`uDH=+$%o)V}D!z z{?SkUgC9Ki3xDHz`TN~p{PmF!{?mW*i2VI`jt*=c_*4JtS^@s{`+99ot z4MY*oxuMp2$JF@3!r^JsWVs>fa60s=WWVh^ORr99R(@e&`Y^j7Zy2_7l(n}!xnC$S zj}~a_NYE=@El-hOrP&{?P?sD)yMtP7K96K%8!vb);()RR{x8df4tzlf}RfxvPtOZRJ( zcFRsJS7AFi^fgGI00&Mu8IjErGg+o0HsU8n@BP)6ZsU>3DUyZvTI5d~UP3 zvZ|aUP0D3~b)|Z#3i8c9RXAd>W~W#nGLxPwcF+ zws8$7+zfg~FHBA$uoIt;pNIN1*Ck~tO|mCFth@bp++;6<#72`Hk~|~ zDE~-#0m?1)2a^GZo2M@Wan)daC5*juooH28fPGGkpeu?B-A~ zd$cScIY=T7=0~Nu_pDZmuNM#MpV^6b9qe`4D^=~*qb;)IZjFNx@ADB zphUswcJn>u%7rttbLW>%oISI!c>cnP#rd;mmKNq-e|qlB;?k+PGp}DfS;>>%DxVd_ zi;O7i05q1HR)xueUj_~3w}{i@qK<-aENLnzz5ppI5R?j;IKUv1io4bvnV>R>G;6e9 zJJIw}sF5CuQAYu0FUSl*s<4Erz<*iDD932=;j@n%G@Y_i+z*vbRRoaQtrEM)VzenR zX6I8U!91E*sOCeW8pIj0@Ds!rCSRxLA(nZOfK2pL?msncWL$3}2PFa72qzi-@{uZ8 z2OK@7PwqTGF26e!DHuk1&|XG6voS2o2LUN$u~}9g3q|K*fp9d?M#)bZN?zQ$6cH;` zC`&Sb*$ur~#pj?_*Qih=mlbn^!lt`8khB|F0fWRD9i(Ac3AsZT5`^>1 zX~aXxpks~`f}>JriS#ja#mbq3hg84X&!3fi-Ww~xWmR+y^;vHgD2OOpSxzEd1?nOw z28qidW-pr5y1#@01d4$GWw+|u9hT#boKzyHx&+s2va?9cCQUV$DKIYd898}DO(8lB z+nacYE&b}2aU!+;pA^^w16o(4NuCRBu)8I~={HzHrS)y&JMn3^$n zqi_3vwR{q(O$+zQjQ!%;%vl>PIw(RRQ_#wOAkhYzy~kCVK9@|xRswbkk8y@3>n18> zvVYPk6;nlH*xtN@E6y-9s*+JWe|hI#bx0KPAGN9 zXGd-;Qg(;^NAM2{L?C#Q{HBlx7@A-n_#1=6gAC)BL^q0EvvO=^yJAl&SkqD4nY6L^ zctAvu9wXsR0~U=P^$vaTdP7GhIpN1~whaT-OcWA2ZanuJ<#DOIBf8Qh=+83N9ND)@ zVOR($q!$~TV7-$kTJ-~Y`t>v!p3)b6QewIMDR(x9e@oY=kVi<-H3Sz&SOg!TqQX!d z8+MB?r#^=q89_f`!Zat-R!ZPTG-+u?OFJPZH$bIS-VWJ?)k_F*_n6to&XLgDAQE?m z-&2zSiOmELqJXbNGFfvxdv?xMV>>Q*Cned+c; zrS;=8$LBnvfeKny96AhA>)YH>W@lXAlQW|CtfSDVVK1%%7N*BxSh81^$}Kb)K=k5s zIhNOh#;rBui~cNjG9?dk?qS?<4LN$!6|6y}Z#knFoLJa$Wu+qgK!nc9q4L2pkHO^G zdQQIzkfSHU(h(zsteDkXGaU|4R)OpJqT*93Nlh|LGBkThR=$jHn4z*>OTUQ`R(636 zUEfUOpF_iEnpZnCvZsThr5hpKwTEiuW3!Fg1ua&lcB$-_u#DT>P?ONa8|OE*e?pp2@**a3XqHRd8CU~qj9u+AwOHt0vHtcpL({yY{4~eXEw2rTo=jzu#sh@@^U@DY`V$}dCID&IC=g# zDt}1c2dgh=ZNP(g&SD6XwI#>Dl_z`04JTTwjm@<1_wWdj_(&^h^4lW%jh5|k#NHOn zp$vA}o&@7O6;|-_Np=(ui|;}#o*ykgysG{vq#)@SS(YvEl?9vxqu^Q>>7DE|1=)C4 zG<3_uZk0;1)5D+9U3OM5M%Pck5Fx0@$ey>@T~;<;{x!Z~G1g&iB2|k@FNJ!Mmupl& zww2dc53-Z+G4~RGiwNHZNBPf`kzJg8RY5_k_Y!u~$iWRNY|B;oQMO6wu>?!@O ztfg5&*P6{Ma-)nmQq*uEJMR3Fd3yJrw4M1o+(wQi$9|&pul}szxcqMdC16&=V)n;00_-p@^`Z(uXTyKu*ktPh&^$#9DIZc{3%(jVq zq2-+1nPj2W&zpDnce&WStDBpC9A49LUAmYOG~7Mrv(1wk&#-hq*;4g9sAjG_6GAW6 zTHRv9f06Z7P}Y}NXH)20|E+xgDfmoFoK4BV0P@C%%QMuiU29M{f%{eYOMVu@tyfPt zKzzZNR(`Js$jKfG5A>cF)!S&IsXKEMCJWdOi6gD9mvdBg5HaMb0BXS82{76F%V*@0 zOt-TfoL%9VUO-R9!*|gPlWB4f-w!{b&JA(=iCinm@f;W-aF&&rC(qfzU?JrcvO167 zmrv%CDqzV492<5wGj_Rq_N3Q_Pijgm2Lz5diy**ldVLV|3%Y}z4m-(Y%PJ+Ru&Nen zaMZ7+R3yoT8R=e>O80>^L*KSudaU5KA-covtZPvnS(?~o{w1kEz+NL|h?BD}5dj#c z(2FpE21Ay!b;Ee57Ns_W383)%V1Q7&cNa+Xn#;I13X;fo{oqOO9T+^hh`qoie7X>e zv`^d6tXM}V0jb$bVw>4YlLG_ClBD*x|K8vK%I)Du_3ZgU_MCr)i=7_l_Imnao4)q) zMX_r8fBd{C9ViKK=~DqH@3vSD%JO1p#V1VZMj*89(WyB zvs4ZQER+etK%g_!sn<}F2!&X$SHuFq8EfT8BJ*5-7P(DTR0K->t^q(?Qd0&V_&qpN!+#puq{VVU6R78=E>1= zrBd0#Z99Rt0&Bss@~dC1_D>J(yRbfq56Ld2DZeiKDMtR4aT)x9WHEeIz=aBewtVZx zTaq<=okXs1gNhI$*$o(}^iY0Px$t2J5m;wVjRTx~f0!ba-Piry$s6Fd9k?GTBj!4N=c&p6pwl z(|dlJQu#`&vnfSWuW)*u-^TZ!mxvSzA`$pTK2V;=p16etkYk8rg{|`1MHB<6Sws4H zo?H-W%`xU*wwtgpeYaLW=EyOt$^9Y^91S{_y3g}zEHT^EQEaYhPIHpX$Xl;V!)wdp18%vWahGt;p)1IW+Yns& zd!nqhgLLAs0J9kL$~M%_0|jbReF0{R-+WHQip|hqN#|}kbPMu?Q{s2PF7r}5uB>W@ z=~)^aJQfR}21Kk+V$ss!WgxwWAr6K++0UDT3Qlo}`j%V)~2wV=paO)F(5x~vXe z*dYhv^H|(PD$oKSCZfH$;wM>oOpwQg73If#voE7UlJQ=~HSriF-75dNC3tg1QP+P{ zc`Uh!p=t}dCES6nDg4b1kpnti9;wM9YJ3WsgNU12$C-r_h9%y3_?0Z3TVTa+UJ<9r zHnDg}gLtG=MdF+It4us}RTZ%x?4UPP3E}_3Amwj)O@qdaO42Mw#fC6Iva*Z)`Ewdf z9d4a;TLc_70(YF)g~7L?mC+2Tg^7|_tg@DhsgrrqP|pYQ7DjTd zDB}mzENN2p4>9GDvEC-^w3wDF-#4w9Y2xDO9n5Y;2lrU+~iqphwUaFPdqt?oG7&QmS!@*q5 z_DUyEWGREC^qZ(}IOftf@ru_=P0W*saYuBEuW;dtZ2%q>t^X}3w%u+X4BS?RQe+kY zuy{ifsM`%LiCo48i`^LRhjh>NAuAksBr8)QS39E))I6tl*}BCzZ{>@p&BAyA z_X@Hz>{pH!{&(0yNts_XLh7lL!{AKtuS9&Yk6szrven|Jc$#8DBmahVZ(`}zD2akeV zS}zz_fL=afn_K+mTF*Bv6Dv$6+4R!L{JNM!RSF6h61_JqJ@@C+WJo2ZxJ=P|0gd$^ z8FOKSocO|Bb>h*~#WZ)EAY=Ho+NzabfwdPh{0a?`Cx*l(f&KgJrAz9ZIIs0z&5~I9 zCDrROr&AJ^ZZV%p{X36i#0r={LyWV;VJFqJD>g&}r6Avj<$%ydQQ?y)0%0bHy?s)x zjog>Ki4Njz((Jhy=v!}>sVWy%1y{|%^)1+wpIm+voU3mwUOVS?hw{JuclysyW>}yW zMPl{8bnjzP0kJV8RvJ7LvgvpGpzfViU#@Rq0WmG1T>h0Oo_^vWWTo`s5RT|fCOTp1 z0jz`HIZKS7>ozpqq;UVEO`Tu-?#Xv%SaiL0!|dm+lwOsp`n46}YS#V`e@Hp>N zd2_`8mMU7@*{Q-j$H36C@|Y*nOe_*N%*hgrIQq3Pv#3ireAbRsYJz&n1_!1jLbpy5 zHD6>Qk+MbddYnr?u^fmvBBV%xMf8!sIj~;N@nKV@!Vxo0NjRqlNT{VqP#VL+df`c! zrzmicuCRRAfs7MzR9b`R1s2En5vSr>(aR;d_T$?K)(jzs$S--u>&2z4^~gYO02~ z#!W)tSMsB_7=18y_&s4?BaR8zQ3c53SDt*&bQOoc(4J*tFwCKE#u(YxH&;%m`}xR` z&I1B!9Ww~di&v?39E9v+4}A)|JEwk2-%(wp2as9o#@SSN>E~(d$6NkIw(jXD@9GI# z9T1g%{tMqIh#uK<1c?zXBZj=|_jalSE<0uP*Yytpp3vNR9{`&~BB>WxZ7H zP_L0$S5!Y&xzWWB`EzQYBNMBuPn0XU^G&Il)U}uRot63{)^U(K%^j5|ha`ohWhNmx zZ>%(DTO;X@$Z3=oH!A@$ICU9Dq6ID7UuLSQ0QaNP%N3I=?FDx%R4Rix;vewus>P#L zR%bC->rSo`1e*%<#60I(XJ0A(DXX4N7S(H$()Yrdv7oc^xJxtZp!SlbVD^R=P4->) zH%j&=3-l^a>jOih3v2)znfgDTnLLT(9ublg)Ls?K5e3zf(RY>4gg9gLttf=Du24Yv zK*O+warm3qAYoVNM9-;yBYW^>=i^+W1uwk&R_f`tS0C^WQ2FsOlp~PsG_+In7o=L1 zSd8074x=4wiF(^_;t$O|?tc^fpo`_P00#eD&%iFy2JrcvQzA8t>B63=8AD z^Vjc)rDH>wH|8`9a4TFyNX#73ZO9jTreU49)@%6`g;2NG#6^t98;A9?SZ2iQfanLO zvDrB0tx;GK?+kWdC%!MnawzCu6>U1GXd!vF<%g;-#_lVgwC3Hw8&L)|3W zDn#0;jwojt1E1oMe6VWaBZx+F2?@q}A0;9d`-l=$sNVVjeHCV4iEErwbzBL_!3@n4 zez;c7oqA~Ra$VAkNf_#TrmbvguAIGkMObpa2H24q*)VI2)dwHO(Wp){F5F4S-%=y(A)e&5Cm zJD-o7lGthP6~epQ5Yy;f*OHABmI?c**AA3l5!a`8?FemeLZdIk}wM2pr<~te2f&rm^`@@x0} z7a2}eUbU`|UqziILE=EfaDjy+AW@J7UwB&*JOBb@bjE6=*SIVR@sRS&rw<5rm{9M20kO&G6&4??4wU(QmElEkO`Ci|O6akaZ zx<-D=Oe%#jWD)X{NPDqO2Q^DD9M=}g@}|OcL3~tVPf|qVCnqzSCY)3nXhpO97VKbo z@;O_gf~3q6i5&r5TO2(u56ngG3KfBPa1)KgbqV?yNVdgXjzHhBgW){%?wcs|aK*5n zx_ffA!))|8yB<)qUaFmpaChuvY<>xLGIj<7ayuE@cHhYjzoxfzC!PCcZmX*3ReDr6 z(Z@OoM^;Nyp6K?18~iH>EB<4cKf>XL_*!^zLWJy?6-@GqzPR9czQtmgAI7=}oBgCA z8|)*Gj*tP`Z~4NM%dHI@OddCJs4VV#XJb3#hh5%rHz- zaJ2ZL!6JQFETNk^oYFKI;g#Va3ZQn9SqAyWU5xdCcoP;L7Mrnp^DZGfA2||c+CrCF zWE!mnfhW8OlyZ(rczR0ie0x#JO#$zyn)+nvWn7()bNIN}_R7img~hYy-?TJ4caDS$ zc@4{FHB}d}OORL6WHZ(tgedxvENI+6*|?a`QRu^XwnDag2fh`CmyuX&gMbYZ{7e)Z) zxx_QGkMoM#bcinm1sq)7Ub_Nj;-wegi{Jul=mJ!gpSbXx93R#^{gUpCmG*IZ)|lUN z-({U4^g-#Dz%Le4F|2CVg(Aq7W}54>?@R}^irhq9+60+{_eAC=3kz~$O@r)<>oW07 z*|omF`Y49m`nWg?;X`k(6uQUrC+_yhi2~)(iU}fd%JO23-IgRbxhDgPI0J!G6;x@N7Twqa6smLzi+Me|9dAz;5^Tn^PJ~Y zOVYjne_g-zUEc4qAe1~SQ!pT#fpP242Lc9}sSd^f^5WWrM<6k6xd*p3uOuy~m`ywf zDkLfALfLL*uxe1Uc+rZ6m1m}h43yG&0q&MjX{IIL%gtggH+lsV5T@g2M9&E#nG4*t zj&5kX{69f9e)-#=54qzcYE{)lB>qPTPXQHJe}{5Pu40ik<bf{ui8WM#1nw$pliV5iVdmI>a_{IEugQl5tf6DplN(((jOJWl475qdHocjke3q z-yW}_8<}XG9%a3@0;Pa3st#U~BfM9}G#cotcwVHWE~Rx^$a&UmGSbSvM~eeb+=qR< zlfg>+1!JWfqKh&=FxS$k=}0Z(|4Z4`k_HLxWzyZT`u6$J{ z0;9DHh6$B^i^aHGps~x~DH&iSdZmx>6@XN9FN1j*MpV{2Rs-xX@T;XN9COK_!uUv)GF&AOHjO=1Q<%KOlY$+0Pkkc^9h{ zAkFJ}!uHZ3PbEX>IuW@9lNbKRuG~P^P!CpE45eC$sb5c^u$P}q=cV8_;7JAxgn`P) z^<4D(q(aP)``#i7_J9!4vvD<~VhJh46)s}Flh6WlNdS!o^xH&DSW4T7aRujGCfZYjPK9})4k8Qh#Qy_|Injs}0YQt^L0TMxG{#>@q=00|wpu-hk=1DF#Z*w=pDN1DSQ1>kDQhCTK>Z0|3*!l(TzIa7+-=Sm zljB~1TJ7{Upw@;6N7+HZ@HW1bMF^my%BMoCazAoFHo9+sRmqcP#1{O>QeczhVRH@q@_=cyKUTvFuu3= zPsND=m?E5?qPR!f8r5^?v4FYE)t&|EmSLjMKkd=rrf^_&_oP5so3dCP{G>h7GX!sW z#7LEkOFS@jgw;zBl!}rHNa~0m2eFG1^q@fXwof<~|oWa@4V2BmLY3=k{ES?{@wE%rXwK;KMU|7tf1r{QNhrC(0+^#4B zm=`f0nPGvj0dC=2k7*U7mc>q+WL2jg4H7XhMfeiQKQMV52x{ZGbqE_ukFh5{_&}m7 zHMbt7E2$Qxz1V`q)CKm}04lgRbguvx(d!FMCxZoXyW&!f{S+wBsU}JZI1riNT?9L0 zylYk5GBm#ALj4&mT1+I&1S1|4j>>|uFTueJIQJ#FrSB|oY z8Pcz)T)u>qa8%NSz8SuY9FX^qodbfKIUt?rkm-qe?4xh2QSRe8 zyV%Z}J`#9Zc%=LqCx}_F)*>#gn-xW9V0Mhh$FXq4%HzXifyi|8Ta!=CiZwMIR+j>p z&3ywi(kT96EndlH8r3Yssb+mU@A{t9t9iVnh`YO<8G&X_HbP@(ZnDIOg#$YNYDI-#g1nDEhak&tcH%g(*`ZYyO|t5kCGl{s2Ba^NGBfZdvGyEh z-C^t9kz7E>S){m-Vps_S*e-Z*hWpE^P4viV9D(r7EVLJ#ak6Uf&f6+X&%z(>{90|> zKSew;tkuz+njMB<{svW4Xi^<$%svf^Ju)*T)Y#3#VgI%mj{O*75CvGEG-5yq=-}&5 zX*>XAuG_#UbGKmFjONm(wt!%r*#CYdl*BXQlqi(Ef57+-c4??`&Rh3v}Z z(V*|>ZA&bvIb!FuMin6@r_-QDD4vRFOIFeThEn2(J0kv(e z#PBhK+~8^J1P0oJ)+;Z^G6TW{A@t!PDCO$;#G1i9!G}Ww??F`Lr@eC>g03NkB)k^- zGfpg-F;rpQ9}15=9tvv!uffv|coV&q)jZCV)~TLW>6J7l8g~`2_B+r3 zpm$oj?rk{K!Q$YI@ex2=XQ-U0%gfhe4~D5F=SfCnA28>lsX(`NDtS(DFlKLzYG6V1 z7DHYvb^HgZV+XhnB%!9kLID8&F(6f<7)GmrOEl!r@ZiNrrKx#|QVM2b)e71c!s|I1 zMmN*-`^?A<)ZHWy0p25&bnRV#+B#ao=6B;B<1)STKa9C~f0!!cEmiq!n$xzdc`<-eNE@?y92rS(mkbclBNqjF{kkDAbHpid){s96>v6pb4xc}7{D$2DWaE|Ym;+>Y zVNapi6`%QOr>346xjq$}xR_&HV*0s+m36ej_U{mbcU5P82`)cmCZMVo^y$P@3qc7Y zDovqmDbWEk0SyY~Aq4^`Ep$UpXfa)!9Lp*|IKt~|Jwpxam*WN3t1)ljtR&ej<{Ixw z5~y8&Fy|!Dh^_VwA*37|FY;TMAP2=W;RX`*wUX_EmuVScTVM+@uMsn%T`jB>E!y6= z$jqXkCbmf`_r?RIkf7GM6)wm0n5!rjaT@iA^4atWP`x(r$(US{@5MJ4qGUWyFw5fz zj}OYg<3S=#7#$A>yC?HLKRejRC5PN&Mn5uBJ;Ud2asjZ&uCkCM;6e2(AShHyLc9j5 zXNnPtHI&FLa1+cKROM1NHB>6rCj{8sMFRD9>(K*SDXU@q5g2`npK+ALJKUH?323x_ zE^|aM%vkJMtkGh_9NBAQq7)MC*+8ps6(Yblv$Z*saAAsa?S|!dI)hBX;gCNN$ zFpUQp;q!D4Fwnt;!vyPUVi$1~_uP%A$hS?%79cn3rT!iGnKOLzFz>Vlgk_;#>w$!mmL zxbQiR%pbK<^qO_Phz&*Tad1hTokSk45aPMIGlmk<$Xc`8}EphEPY@w2b!C9~l z1CVk(u53JcsdN!`G*jpiIt5Y1=xOA1l>U9*N6}(OcnB>?xtUR`fgcbp%vAK%(fm*k zI3zOLflhh?<*~tp_1`2S4PduNkqc?%rQeA{emv7NWQ!ds7g9M8wmQpzWk@1YNfzZJ zfI)YFB}A@1r=SV-*-)ZLk>`YgR^jx3(48FtRs{79IvPL`ELs+D2&G z&4-|b3IOY#v*%e22eyddGpboIP%Y#XPFB(ubz&mB-$8=_9EQK zp*1n`Y9-km?n}{#rz8G%0BOviG|V8YZ6g;C3`JYUB4Q^tWV@jX6+%OI8I=hh)B4sPG!5E(vZ10r+zr8}u|Mzb1 znWe#Y6C6=Cp=OCKhma4VU#lV-o{Fuk94w$=Seq=-Z7B`_;XROx=XVa|AjKNN(4lx`yMfFks%XH;DW2})Cd}lxm?3H)=ak@qhF7<0xeH$O4uc79m;wcQ4!jn(HS?9&($v)L~!^soP3+G=i0NM?9 z3MC2hTh|jQDDDa+l*~ZZtEd#vZID6k`V0-cZ$!DFiFZpTG#emWbzs&z-Kqvh9a3im zQ&!Ah?g&G(3PeO0mGBlRdJ;EvoW22%>Sokq@+l2N{g8K5C}2-I_AJ=U^s>vnUbnAb zD(|uEo6AJK8w;W)glzFBM8@0~M*`X{f;0*Wh+!aMa87BkqdL_FMJGGhl6g2lemBbP zfcSBRON;mr>&RCGVUXU8%mx@#0EYN3q!33)bCJZ+HB5&bRM?RpY`y3crGAEq zaeM>U3;{&)sjFBz$~f0BvZ_Q!V+S^^bMK;_U!5EHPLkIZrgegt z`nu>8gB8spU)Vy5J73r+8V8GtO6C%yXE+4sPr)2n^3Epi!iJMcb5I23NTLeI(dBoY zFO4fgcRg4J95RIzln)m~vuK7!&^JJR|Dg|k?#q4}CNXi85=Xih@#ji}pliE$+#+?l zQTo*$J4f_6l-_nleyq$+CMTea0(YvD*qku;K3rfc0C_H!O!9&t_^OtB*QaG&Yp`i} zj|B+B`VQPa5xGl84k{IAw$$9_of0xUxa=hojEW^P7aJt z&Y*HHXLYo|IjW9QUiBa;CGG{a%LGG$Hfe9T;<;j2+@N;kt0{2|7+M)EIDCs;^TI64p6P&zb-l+Q_7rme! z4;+1S?VT6ucQodBzImU&2}6B_jj39ue|HiR>|~a(4s|_Bw=CvS$}q zr8@%;YT_&Tf%Dn`CUj?93I+S|cO&8Hp19OV%diBcjNA>d-Q*$=COd{ft~9tWF?Rjy zvuP^YI>zdJ#**Ugps6egTp7upLj%KLYWBCveOMeQ(&~4}*(-5rE8#hk@D~|eT*BlM zQt5|d_KKPcbj`)yX|gB|WPJ-?c-6nab!BlY<+0+akoOe#0hLQK133OL*i0v54M1+e z4W+?jlk1(4M7gxAEZO!wIH&-pxIkf5%iL@r&=mfc0Y(Cdkss(LE(Jv^lTCLohmZ?R zqHcnP;%WD}hCqQlpc}GyGgY&JEYa8aLsCZ(drKrija3=3W)VXO6&FVa)U`~%jG+nZ zBzC4~@Txy@@P#0hFMjFt;0e9vb9z~-e|Xm5Kz?92F-65L z%LtNQu~$~y=THVra15R;C@H9852?mN&Us=ODAE`i0k{m8;De_%3qAnX=)n0M4L&$% z(b66?3qWRoyRe!(@G@%lCV>`Vu(E7o%_4gJpgX{<@xNAq4xyE!gv=sHEF-RQse%sO zmX6&gnQYW3I)QhoN5;e}PC7FhwB+x+2pg<-PEZO~@=c|j&Xnko)dheCArH|&1PXB{LBD~S#-@i^A*IGYsZS|dJ3>DO^r+uX%aKnOQT+)QAy=r#EO z$_1i`GG+=pMt9H>s_Zyp`Jk6@0xp+KvQildHd6p_>r{bIhzNwyFXlGHw_y;<{H#E(Yd}hNb zCI2|d827gyzq>y(@cUMb;iLGQK^sTn@Ad&KN8Ed9ks0qH<&l zALv1J__&v7R_$`<6(YfbJ@`h^W>j#8-36DaG>D_Z|M#Y5%s_yG)Y+IZ!?9N%7w>B3 zH#VvT-q^T=NOQI~ss@j+`0-X|SSjp~dw;Q_z+<9v$TL&VZ{bFB$Ky(6aEp6%Ni}T$S-07OFKm+FTtuk^J;bNu97mw zt-QxFl`^~ka7~B}PAn@Fi4n6>fM0jS&Iz+sV2F}jtwb&ZcoA@Ua!dnr^ue_-a+?_V>)@oiBXpL9maT*aJ0%@E*e5p_0fk`AA=`{l5xKZEbZVT2AM!r2 zCVJDT-NGT~ub|`AM9vIgbq3nRw6j6068(p;lep@}+mq%6G^p2aP>#+fdvX~hn>j1d zH5Y{>bD7{jmV^N`tm#xDz_24wq1c9mXsGdnN1*;O%@SL@S5>U#A*qZBsuZP7oTL7xC}@aSnssoza#@f(fMHQT zrG}^$)J%Y31Gp;_|4IQgMQ9z)w>aC=v})V+sTIgRq<}~DD0HAsVfQrjLcKo=m#+pI z4FI+wwQjjQDxB?bvA?$9JvsqNrwi#Q9VS7+VD%rNb_HDos~atxqzsD1D*MXt4!K$c zbMkZ)E=9yf7V31yw~XLIu@GuDau3e z7iTx8h3TewgN^<7VBhvsdKE4j#fqNR-w9@f7=7B(8U5FCy$3^}h?CM#>I8nsW)>38 za*4$X#WHX4oek{_7XjRokt%-JVXXH9F~eUd5M12$O2rmWSRa{(Lc-v-(%@NMoI{)g z`RA@AWJ+sAzWHWyZwmPLsH@cI69Dztvh-LjS3410%3lBhw*qD+2pA5hr0RopI_d|H zv`i17`OZBNG|B*Wi}2s-?Q#NC`mHbQi6cVd07g zrzGD8hbr*DRaUQ%G*t;OuDOi_*rMEwcoeffeRV}FB7JjG5d&NW+ygmTIPw4|fN;4w z3RrB-GmYJboDWwoLWrc^nr8bGQj*dHx0hW=_-8uJ7m0ZK%T8Ul_piS>n$Xm%0{ zvSstqGJYAhK@dO&%uWfTbg$A5bv`2{H+csWvCAZC{&K>%G6A*<^G*U(5o@ii7?k1; zA%0B*FPuNraFVMijE`JBY~d?hn_PfUbnFAKVY2tmb0lP-$Z3=OW4}gP?~gQS(X|Xc z!?Jt`*5F701wlEn7l(!>7!Rp>NbOSS6EGUV!i0(rO|O7er#CAv^8Vju)S3wP`Awoh z-&uwwXBUCtmREM7ssQyE*=3a*U}-SEV}VZ+@YOKe1zO1B(Jm%OCVYnYCS=)0f@HbD~J?xR^rBKalgjp{3eDKhw6aD*7`+!-NI#t~^Qn^m}>C7~Zb4)JjI zYPovcvC^AOhm+f(-`Wu9d&?FJLB{`6g$t?nHEc^~qAhvL->Pn^;ly(Utj!=}0EJ;L z>duU@C_Te6C$Rf>9I9KpLPGa(lP^U7_dy%(PCn{%!T}lC&##dNf&&d9qHv$pX?(B@ zsGHKnDMa=zo(-b&r8>6}UxJGa3|m9HH zH8B9V+h8LrWm#f-_K2xZ_XwP=_IP@y|<92p2GR+bzB1PVjR(bho#9LbpNp>P+9 z)jNNr+?*LLmW?TM_v4HxqHCC@@SxnCAkH;cwTfN??jS}MmyxuANJ z!m1VUo8|$vxzKfqNC!cY7zX$qsY|#iUGQj}y0XiIiJYOKl;3yENq8HzM$lo0Wm!tE zsP74GGEf+z@;DXJ`g%e%Y$(ZDe+cpf7D%A+158^4Hkx#H2L}~ywcPiJO}GIX)hdk z9aSpuVe$s9sd&f5^NoXz8P&qSpM*V^(Jj(=c5w$f)!avi$DD*@>@KF=O}Nl&eVy!e z(Q4X95u(co4d}NE{30#0@qk<*<_Bz+_eU*|>nyo2mw`Z&ozpS9t}rJg_}HW8oZ^;S zDXX#6g$J4L1h)h>P(T&;z3q#%v? z1KR>H)ns7U|5frQNT1WIELI}Q(&f9))`p0;@522dtyU4stb<5$CxHxe zD*6^wJDeHs$y?wTCMK_of|XvE*NejKDK6<^VSZ=C`Biv>C`CNb!H2k!rK@li;rez6 zg2gOwM+J%@QH5Foox~iar5j7$L%l*Vwt$QflN7iBn?Xb1H4Z!@&>&xD5!wW?h}=m= z*5tZ&;T8m~6-N3Y?K2^b%f^3uRB;oB2$$QiY>FjLy~%;Hh$D*xCKsG$k|hZWN@*ND zr+h=HTJ%Nb9lHb)QG|j=LsL*XZ*n7?4yKEBE{7%qUG9x-bK_qTvg>I zr@$&+65AEdU*wLO8yzF7EC{&I!NrDzC>K4dd8zg5DZd3i+>Ke?Y~(=1#}hT{Cuv0| zfdS|^sOOGV)hMhmc%$sF6yQa{ku)`omPcis{fr5E!lQ$7FsboMR^Eh>*EEOEI-<+_9$Q3M;Xu6w|N-zha(Ku{WY@CjGYzL+p2Sb znm6Ns*aZm9t55?i3-{eHH4ob%>kl0h{0BYqTiYwxg6lKrNd!}ZF#s50%c70QMT8U&w7tgMA`@_*u}t{C7;VBM zF?z3|7g#C?R*LKiF(h*NZK?De)ED5t`qtGhBs9ESB7^D>;fd;2s3?cBAV^!uhpo*3 ziF%#6=R+z}Ctfi;(@)h@6&iiu8pYEjQO8Co+be04V@!B{5mEY^a|>pS>0+7Eb`njx z!z~#%a`g)chC~lUcBaJh@fB;wRa;}3LQ^N1pBGe&H^nwnv~}xbDGE%5eeM!6_;vRp zF<3+&)y{QAQ4@7iyl_JN5q%&Sk7!k#K0*Ui(oux!r;H%*v?0kHg2181f37Rn2eZ-B zmOH_EAXTvf6d^HM&Z#B0+96Drjx3xD${#3vJQM&YZQ^j(2HbkA=qE<(f~#_Qv}J|5 zRFjet?RXD|9KJ1B9dV+F8`xu!Ep&Xh-DA-#D7phz^p2tgq|}Si-66PSL|b5x^W+sr$K2`uC!h(#I+DG1~Y>p^1no{IA$EZ442cxmS zpN=~_fC;*h&Kgaq zKoI>}Ik^dA&2%!1KY0Wf8g@d96xau;Kz3-P5=Dn#WMIlxYmXZYN}iZFoF~pl=--5L zi;EWe`Zf;rQ)<>q=qtFXex!Q6Ll>L~C}^BAO948oPNH<-#^OZlz?}HDcJ}QiS`R0J zsX+xn4Qe#%>rbW3NbkpB2}>=@j+nv|ckVmD#fJ}*3G0MZW(>2KPJibh6d4=_0Toy= zYis0U!)Zq#k_!Q8Y+Ty3Vlk?dH!W^$S-u1X_%SNCnT$J>W2raxRao}cGYTGZtGK%UHuF1cC(|i{LKswJafgB-AMWBQ9vp#!j3EQ1SgRXevKK zb%a2FR8&)AfKnr=B1_6gW7w<=%GIwvq>={6666|t zBtMna_;|-7y+dl_#h(QWDnRt*RYfw2AlYzk6Vf688!NaZlUO;%BocSX9GFAl9~Q&O z9T?S#YT?*MX}C)g!OURt0_A4qVWBj*r$>v1rSW-t?I!)DO;tOhnOE)91@-t+v5e-q z(nZBA=%9=VFOy?iiiQnn8>r)bdlc)7`asq7-tZydz9Z zTaFlKBbiKL!4i9ArQDg1v>L7sp7JQG@E>=~ort6+W|1M=oIQ@C+oQ!i6UPWQ+CYUU zpmbGG2t-Et^AI02cd;tr+3`d4)&vjPOJ?wH2_7^Z8<;quot7prADsHZFMs?uznSY>b63XCIeRHGO)R8Dmv&wOky*N4U4wz7U1o=EJH*ls`}f$`a?{EfZXs2#yab>x!tN zdcR-%AzD0_w)t+UA{vPgy(Wk>*mt?Yv)Fbgltn&@L`0n!UhMk6&pJWU>A8{VH>T}Z z7gM3VHAU5D6k{E+3}at57!gd7D4r6FQt? z&=ymi0{>gGPCgr6#BV%&yDOHnL-!b5J>aES)O{4~3w?W3ag)P54V(REsvbuPI0~m~ zzsODO8pr|SL@cPh%LIoJnP(>Yio9R2KOGD!#BxwgQSMJ?fcKu)E*Z!E_A`HI4?=nd z*C&Fepn9nMriJ zMf0d7NJn(weAuRMEn<{o-+(<#!Ft&d9 zYY_G#+N-RxOi&l9#x>vud1ZKuc&M zSyWsFYEFz96z?XLEGea85opeFkif9So8d=i9zm>_u=WXs+|#odq_mz^$V2`r(FM?0 zuJ8_Qs3Cw~1u(UZ>FuA;k;_v_z}fjg{#zmcUGWmE|ZB;37DD4Q0T9 zE%#=gj9iund4BSZN-1023w2o6FmxHI05ttoDz|;dMI_+?)tnf~tDiK1(cP zV3Jxb9jZ4fKSVmCCZ`JTbs0tlQ}_Gc>V{ZIj>U0tr>h)#C*7zmrwS%2S;{)_h``$j zzlRXr>Y~ouyc{e#4&HN(=BSM^Ob(h6cLLD+m@_05L=>w=I=Z$N1+)l`qZa;U9a%Wv zQEIf*MT2l9p5NXoEA{|6U{!L~8dTct>_%2Hpu67nlAom5VB)C)^*Op^8`dy_S;eV7 z+_Sb1VbP#k9Gkx0nZPJ<*=cY~`LxPqJp%#%Q<+-P*EhHnmS$jTMj|2``!|qYE5ptQ zQ_GgEkT*qMg$-(&p0=(P`JPb7<9V;!eGz$qk}PZE`?b+>qo5kzLw&8~NO%>&nL^-J zawNr(DXJ>_!*3z?!Ir9dxL02Dw% z8~_`u<%zW2?-YEoANdP{h;Yr&id{e3D{>HI8B>cFGDXZBRo&V*2+I<&Y4(@N_4bz* z$OT_a-?*=hxs6;^0Y;2auAIQ8W6;8(K!$3-(Zwz;hxKhz;aKn87R>VYa!pWVLikE> zD3*`4g}(cTaP0{EVZd}CZ%~;B5zMuAL~y%cNOjP)_<26n=ANAnc_|+iT26?Sk{isT zjnWpGRSs83wS7rU9r%xv9jPTu@Y08%%m~j54RjR*^?+31paoaSWh7c3WJyg()HUcu za+`{sGK@M@j)E^N9UoSj+<+zZRD=SC%U>fq24@&r#8yG$W0;Ff1(u~G1m(jzVicG; z%O?cpPOQFMQ^18Lcu}yypduTGqne#yf~5mtqSTD!hI16C zffAg%(1GfobgR^RO*JfGwP(o#2K)v)I>7=8%%DKd)?7c8e6EoKPRB8?6e9K+zQ@|xtyx$eP0{+q0m ztaqVq&;(=Zsz9Y3Xhy1PiLxS@=-7F$a^RH3B6q~u0!4zH3rmC*=TbTcEKLQ+szyL) zAZC7xG%1)903cW)J)Mkto&mSYsSsVKhbKuLXg+KEdnjn&d#q9t7sz@@vMHIfb7hv?!i`f`VWw zFEIelS9*8+6U(e;Hk_>up(Wb(OEaVy|63Fxw?7_(3cSDi>B%P}y4ru+b8z#$SA z*7ZdVzJv+#s?j!NsZnsDDNk*FoZ#%>)xzFo*#ttuVUm)XovG%Q=F>uRlip+q8ydU> z39Vo^^I~xojU1QN;Y_Q5lH)OX}Z=kkv+o4yxDmf%>6?@&1w$2G!RZ~gD`mV797l1E{ zbYPPd5nb-6=rhnF@*pDI;ZRiO4u>mm6S<%)Ng_e9HY;K8dT>V9wZ^ESTR~rB1zi{Y zf>Lg-T%F8{*&Ns)5C8x)7P*5UvdRJYWe=m_!7ZVU4JbdGxeloxLQV2TSg*l?jzU-g zq6!9M2i7AZb;SU&e}kK{SPh77LN*eU>Ed_D#WXireLh-NP5R=%T3Eo$P32Xe5hXEFus zcBOB$&b|iw>V=ZEYsu5l*)Ie$wxZpUo;~i-h6%%#({4#w@52RYxS3}x2aQIhL-%h(t)VJx@TF64bd&DMAG4zP7Qc&2d3`oRA- zQa$HnDM$Dbcmh>QY^I%a@cr_mt5^2sz?t%a`(<*~BBWZ?L zyHJSX$K~6iR6?;cZBXD?0L2O9)r^*x)5zdtN?uu0`zm!_k=sre>&8LtBEkvz_$;WLu&!!_M7V;G52Y9e`Ocbqih3z>Oq7oN`LlhBW9BT1l;T?tio1wI7 zs!^0V7^ZGl%4Qc#>!tGBJvuzma-KeMld8?MaKyZM3gq=_`rHfB#GE7W# zRFf8fizC4t{jW~hL5n*LVoh98xaSIm#)kbz?xJG99A5JUOL~uCa)X41|I9ab&ZXSmozu6Z0%Un-f`NBrjwVfX+5nDI}`cb%ejH!_n3@bwRty{DqOCwZnSHh0s!X**2(vx0#0zrnciMb&I z{6O&CL~veUf^Q}k~fcxG4R@o|4ksWC68{jtr=D7t(3~G60V*Zr&4CT|@ zQAyaV@h=cfGB0D8l_StS?Cue)g9)VOw_IPfwi9)d$HB-F7>~;YuUgJhA?sg?z+|yW z_ZoBv$=YE0q9}f70tNy*<_y?x>NWP8LBIIU9epf;-G$Ih(OndaAE8C-)A(utX;02P zlW|agU~D&x9g1hDwNPmY(t%~FJ24D?mqbygZTG%ZXH_nAryUk<1cd#z08=>)6TiJ{VHP) zs#%h)y3Ux*70F=j&G@|JmHA7)h&s7p-^KUeWz5Sr9rc43cA|jYZ_oY8!w(p9=EpOa z_w6xe(&xUq=&@&v`M|WN@0k2&V~*W=dFx5wQ_uYR@GDm(19SeZyS5_|)2zR8NBQTE z4b1RKk3ITIb6_?fboeEgoE4bL>K8wL28d(v`~Ud0k6#g(&)(frHTRal9QzNSJNVph z;l1zOf7_Br12bpxiwmBH1^MLuM@=}hs>I}On)vdA^GeK}ZMWWc#+fDN#%HTfKJwxc zv%6;b`Xyg1F|S>I=jkszTw?C{?H512?9CE$%j7v{T{^4Oyt(!Mo^P)$HLLf3<0Er! zC^ff#EXR%%ph@Css9*YD$G5n?*II)uT_{IKJn!XUcYj@xpwH7ZR?NP&t(4m z84>DKXcELe^ zJ@8<2_%Z3--&}i$nQ+AWcYp7}Lrr()uV-&;nPT2M?f#}Co;u7V&iY2p+1FH?qfWf+ zm47|!Nb|s^>fy4*DN}#Y8&AG+$~5z(t9mcLWT3`ey6aQ-eRb!1%^{!v>+ipQ%ye_< zr&gTu^mmUjUpQ`CcIzdf+5OBTZJ+I#ZEo7{#`k^din-?5zkcPb7w>t$`OR;Z9e2^H z6U+gp{;cP>6F*?Cxa-2NH&-k&+b{gnK>DPU&Dcy{SK) zb;U|^&)(+E!E+zPeZ3$5<3XQIn}$z*vOUz7}eNoA-UmiX5Z!dhIWXr{m4_$fV z!zEkRo10tr{;eeS#PnO{yk}Nv>dh4!_glHPbmWQ$KY!W3e!BFjGcNnjvp@6G(gjC6 zdd~HSfUsv@bo`dy(-XV4pEv2|r$3b#*>Ux?pS-KvANu)8=C!UDzx=bG9Ax(FO`L!3goDjfH*6{?Ngra8 zC$2l;m-ioPo;+!0)9U6a=J{XT`PIjsILs`$-<1FA>S}Y(y-&S9arKern`h6Mdf0-L zS#aUAJwIxmW}dw5tkQ#eYs{Da{Nn4cfBn6tYFb~{*WNqbWIj1^(m(Ay#$5i8@8dtdV8wiC?48HdfEzuyN;UCq>4 zDYMAj@y`n%`P#gb%|pG9ZZ%&y)!esx+NP8G+e|9B@XD7jTxnkI`q)oieBy)V>eh=d z>iA^Zq}G z*X*mz(jWfIBbmMbY|O>K`}Dmh+-#EL{^`(9R)b^z@+%iN-*lIGuJVfge|Fzav-;j2 zUHHTn5cb2Lc>k6Y_L%xTXYH-Nd~&a=`*p`|Q7gM`7M~AVfcBgP{A}@3 zDA&9+go#WLb%3B@-nUq>Y@ZY950QmZU3wc19~5IYj)~g4!ff(@12kE)1%*jOqsX!V z2+$9$y;U>_>6|sAa~b$Q@Gpne3Fttx03T6PQcR0DfIO+W3it470U-o4#AB#;!9WWU zw1BgyX8O(rpIXK0c1{5S07?%B5+PXjf-0#@k${x_M%)xAluOXwhNCGiqXQRoQLqr; zy#fR1i$p~+v^Du`Pj03z-(~X*QA{q&lSnL;YC{ zliyoq2$^}}9UQ`f$zoBlvKt1?1@5?io^ZD`A>#Y4O#g$^Udl{pXuan%vRlBzDikJ#h*L?>S6`gW~T;PCI}>_H))94%DD6Ohz_A4$lI}S zW2UDCxgiE_6u9x|3&9@fieei_^{(zKEi%K0-2i+BuBMO61DkU2v3<79*p&0?Cu|iluw`^eSLfV~-w9A{*1Ke+l(p}WjJKU)Ajg3H2 zk&BVbuaT=xYo{a99;VHlp{x0g&`c&1Bpt0zD-TTdlxufD{s<)&k=Q}x`D;y30*4@Xa;x9nh7 zXzD?H%W}9ALyj<|sk&f!4<*rJadlw*MJ~&2F9_2>jS`$tmNM&yA6LC-h^*ic?2}Qf z5<^)48G}Ksf*GtWrfIx3HugxrNO-acGx-XIn#xS!J2+}MgnApRtT3{i$*T2L5OZj1 zgNj7;0zm~(*`n(V98P?Ga7D5~KI=d}s(dn~B3Un=Ft7mSnvbZc(I=KcO+e_w;PBLn s8URN?7f|*NiSQNM>f~R_(Pvg{OE20$&qxe(LF_ooJb*RsaA1 diff --git a/tests/integration/utils/node_proc.rs b/tests/integration/utils/node_proc.rs index a63f023055..78d0336976 100644 --- a/tests/integration/utils/node_proc.rs +++ b/tests/integration/utils/node_proc.rs @@ -64,10 +64,10 @@ where /// Attempt to kill the running substrate process. pub fn kill(&mut self) -> Result<(), String> { - log::info!("Killing contracts node process {}", self.proc.id()); + log::info!("Killing node process {}", self.proc.id()); if let Err(err) = self.proc.kill() { let err = format!( - "Error killing contracts node process {}: {}", + "Error killing node process {}: {}", self.proc.id(), err ); diff --git a/tests/node_runtime.scale b/tests/node_runtime.scale deleted file mode 100644 index 80692153a8cb67479eeb2a05a7e42334dc3bea02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301517 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 AbpQYW From b35d4f002fbd06524789cac8d9e34d15a998a811 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 11:37:39 +0000 Subject: [PATCH 02/14] cargo fmt --- test-runtime/build.rs | 75 ++++++++++++++++++++-------- test-runtime/src/lib.rs | 4 +- tests/integration/client.rs | 2 +- tests/integration/main.rs | 6 ++- tests/integration/utils/node_proc.rs | 6 +-- 5 files changed, 63 insertions(+), 30 deletions(-) diff --git a/test-runtime/build.rs b/test-runtime/build.rs index 147cb297a7..9ad2832584 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -1,12 +1,33 @@ -use std::env; -use std::fs; -use std::path::Path; -use std::process::Command; -use std::sync::atomic::{ AtomicU16, Ordering }; -use std::net::TcpListener; -use std::time; -use std::thread; +// Copyright 2019-2021 Parity Technologies (UK) Ltd. +// This file is part of subxt. +// +// subxt is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// subxt is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with subxt. If not, see . + use serde_json::json; +use std::{ + env, + fs, + net::TcpListener, + path::Path, + process::Command, + sync::atomic::{ + AtomicU16, + Ordering, + }, + thread, + time, +}; static SUBSTRATE_BIN_ENV_VAR: &'static str = "SUBSTRATE_NODE_PATH"; @@ -24,7 +45,12 @@ fn main() { .spawn(); let mut cmd = match cmd { Ok(cmd) => cmd, - Err(e) => panic!("Cannot spawn substrate command '{}': {}", SUBSTRATE_BIN_ENV_VAR, e) + Err(e) => { + panic!( + "Cannot spawn substrate command '{}': {}", + SUBSTRATE_BIN_ENV_VAR, e + ) + } }; // Download metadata from binary; retry until successful, or a limit is hit. @@ -39,17 +65,19 @@ fn main() { let res = reqwest::blocking::Client::new() .post(format!("http://localhost:{}", port)) .json(&json!({ - "id": 1, - "jsonrpc": "2.0", - "method": "state_getMetadata", - })) + "id": 1, + "jsonrpc": "2.0", + "method": "state_getMetadata", + })) .send(); match res { Ok(res) if res.status().is_success() => { println!("RESPONSE: {:?}", res); let _ = cmd.kill(); - break res.json().expect("valid JSON response from substrate node expected") - }, + break res + .json() + .expect("valid JSON response from substrate node expected") + } _ => { thread::sleep(time::Duration::from_secs(wait_secs)); retries += 1; @@ -58,7 +86,8 @@ fn main() { }; } }; - let metadata_hex = res["result"].as_str() + let metadata_hex = res["result"] + .as_str() .expect("Metadata should be returned as a string of hex encoded SCALE bytes"); let metadata_bytes = hex::decode(&metadata_hex.trim_start_matches("0x")).unwrap(); @@ -70,7 +99,8 @@ fn main() { // Write out our expression to generate the runtime API to a file. Ideally, we'd just write this code // in lib.rs, but we must pass a string literal (and not `concat!(..)`) as an arg to runtime_metadata_path, // and so we need to split it out here and include it verbatim instead. - let runtime_api_contents = format!(" + let runtime_api_contents = format!( + " #[subxt::subxt( runtime_metadata_path = \"{}\", generated_type_derives = \"Debug, Eq, PartialEq\" @@ -79,10 +109,15 @@ fn main() { #[subxt(substitute_type = \"sp_arithmetic::per_things::Perbill\")] use sp_runtime::Perbill; }} - ", metadata_path.to_str().expect("Path to metadata should be stringifiable")); + ", + metadata_path + .to_str() + .expect("Path to metadata should be stringifiable") + ); let runtime_path = Path::new(&out_dir).join("runtime.rs"); - fs::write(&runtime_path, runtime_api_contents).expect("Couldn't write runtime rust output"); + fs::write(&runtime_path, runtime_api_contents) + .expect("Couldn't write runtime rust output"); // Re-build if we point to a different substrate binary: println!("cargo:rerun-if-env-changed={}", SUBSTRATE_BIN_ENV_VAR); @@ -118,4 +153,4 @@ fn next_open_port() -> Option { return None } } -} \ No newline at end of file +} diff --git a/test-runtime/src/lib.rs b/test-runtime/src/lib.rs index aec9fd8e1b..67117c522f 100644 --- a/test-runtime/src/lib.rs +++ b/test-runtime/src/lib.rs @@ -17,7 +17,7 @@ #![allow(clippy::too_many_arguments)] /// The SCALE encoded metadata obtained from a local run of a substrate node. -pub static METADATA: &'static [u8] = include_bytes!(concat!(env!("OUT_DIR"), "/metadata.scale")); +pub static METADATA: &'static [u8] = + include_bytes!(concat!(env!("OUT_DIR"), "/metadata.scale")); include!(concat!(env!("OUT_DIR"), "/runtime.rs")); - diff --git a/tests/integration/client.rs b/tests/integration/client.rs index 2733d39ebf..a583d3586b 100644 --- a/tests/integration/client.rs +++ b/tests/integration/client.rs @@ -15,9 +15,9 @@ // along with subxt. If not, see . use crate::{ - utils::node_runtime::system, test_node_process, test_node_process_with, + utils::node_runtime::system, }; use sp_core::storage::{ diff --git a/tests/integration/main.rs b/tests/integration/main.rs index 532c925716..630ec7014e 100644 --- a/tests/integration/main.rs +++ b/tests/integration/main.rs @@ -22,6 +22,8 @@ mod client; #[cfg(test)] mod frame; -pub use test_runtime::node_runtime; -pub use test_runtime::METADATA; +pub use test_runtime::{ + node_runtime, + METADATA, +}; pub use utils::*; diff --git a/tests/integration/utils/node_proc.rs b/tests/integration/utils/node_proc.rs index 78d0336976..caeb74e9da 100644 --- a/tests/integration/utils/node_proc.rs +++ b/tests/integration/utils/node_proc.rs @@ -66,11 +66,7 @@ where pub fn kill(&mut self) -> Result<(), String> { log::info!("Killing node process {}", self.proc.id()); if let Err(err) = self.proc.kill() { - let err = format!( - "Error killing node process {}: {}", - self.proc.id(), - err - ); + let err = format!("Error killing node process {}: {}", self.proc.id(), err); log::error!("{}", err); return Err(err) } From 8322f753df693ef682f2858fd43726f6d9f31c0f Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 11:48:33 +0000 Subject: [PATCH 03/14] Download substrate prior to cargo calls (hopefully) --- .github/workflows/rust.yml | 23 ++++++++++++++++------- test-runtime/build.rs | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index dd587f9a1b..c5a9287a1f 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -16,8 +16,20 @@ env: CARGO_TERM_COLOR: always jobs: + download-substrate: + name: Download Substrate Binary + runs-on: ubuntu-latest + steps: + - name: Download Substrate + run: | + curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location + chmod +x ./substrate + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + build: name: Cargo check + needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources @@ -41,6 +53,7 @@ jobs: fmt: name: Cargo fmt + needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources @@ -65,6 +78,7 @@ jobs: docs: name: Check documentation + needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources @@ -85,18 +99,12 @@ jobs: tests: name: Cargo test + needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - - name: Download Substrate - run: | - curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location - chmod +x ./substrate - mkdir -p ~/.local/bin - mv substrate ~/.local/bin - - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: @@ -115,6 +123,7 @@ jobs: clippy: name: Cargo clippy + needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources diff --git a/test-runtime/build.rs b/test-runtime/build.rs index 9ad2832584..8886cd9224 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -48,7 +48,7 @@ fn main() { Err(e) => { panic!( "Cannot spawn substrate command '{}': {}", - SUBSTRATE_BIN_ENV_VAR, e + substrate_bin, e ) } }; From 389fb8a36293f38d995eba8fa21df213c3cdfc0c Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 11:56:43 +0000 Subject: [PATCH 04/14] add README explaining test-runtime --- test-runtime/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 test-runtime/README.md diff --git a/test-runtime/README.md b/test-runtime/README.md new file mode 100644 index 0000000000..e0145ba6ed --- /dev/null +++ b/test-runtime/README.md @@ -0,0 +1,10 @@ +# test-runtime + +The logic for this crate exists mainly in the `build.rs` file. + +At compile time, this crate will: +- Spin up a local `substrate` binary (set the `SUBSTRATE_NODE_PATH` env var to point to a custom binary, otehrwise it'll look for `substrate` on your PATH). +- Obtain metadata from this node. +- Export the metadata and a `node_runtime` module which has been annotated using the `subxt` proc macro and is based off the above metadata. + +The reason for doing this is that then integration tests (which also spin up a Substrate node) can run tests using generated `subxt` types from the exact node being tested against, so that we don't have to worry about metadata getting out of sync with the binary under test. \ No newline at end of file From 9fd95f29eef52adee52d0e9cde98f0c8d5fe6ee6 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 12:02:51 +0000 Subject: [PATCH 05/14] Fix CI, fmt and clippy --- .github/workflows/rust.yml | 42 ++++++++++++++++++++++++-------------- test-runtime/build.rs | 10 ++++----- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index c5a9287a1f..865afb6468 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -16,25 +16,20 @@ env: CARGO_TERM_COLOR: always jobs: - download-substrate: - name: Download Substrate Binary + build: + name: Cargo check runs-on: ubuntu-latest steps: + - name: Checkout sources + uses: actions/checkout@v2 + - name: Download Substrate run: | curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location - chmod +x ./substrate + chmod +x substrate mkdir -p ~/.local/bin mv substrate ~/.local/bin - build: - name: Cargo check - needs: download-substrate - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: @@ -53,7 +48,6 @@ jobs: fmt: name: Cargo fmt - needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources @@ -78,12 +72,18 @@ jobs: docs: name: Check documentation - needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 + - name: Download Substrate + run: | + curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location + chmod +x substrate + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: @@ -99,12 +99,18 @@ jobs: tests: name: Cargo test - needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 + - name: Download Substrate + run: | + curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location + chmod +x substrate + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: @@ -123,12 +129,18 @@ jobs: clippy: name: Cargo clippy - needs: download-substrate runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 + - name: Download Substrate + run: | + curl "https://releases.parity.io/substrate/x86_64-debian:stretch/latest/substrate/substrate" --output substrate --location + chmod +x substrate + mkdir -p ~/.local/bin + mv substrate ~/.local/bin + - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: diff --git a/test-runtime/build.rs b/test-runtime/build.rs index 8886cd9224..100ca5e216 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -29,11 +29,12 @@ use std::{ time, }; -static SUBSTRATE_BIN_ENV_VAR: &'static str = "SUBSTRATE_NODE_PATH"; +static SUBSTRATE_BIN_ENV_VAR: &str = "SUBSTRATE_NODE_PATH"; fn main() { // Select substrate binary to run based on env var. - let substrate_bin = env::var(SUBSTRATE_BIN_ENV_VAR).unwrap_or("substrate".to_owned()); + let substrate_bin = + env::var(SUBSTRATE_BIN_ENV_VAR).unwrap_or_else(|_| "substrate".to_owned()); // Run binary, waiting for RPC to start. let port = next_open_port() @@ -46,10 +47,7 @@ fn main() { let mut cmd = match cmd { Ok(cmd) => cmd, Err(e) => { - panic!( - "Cannot spawn substrate command '{}': {}", - substrate_bin, e - ) + panic!("Cannot spawn substrate command '{}': {}", substrate_bin, e) } }; From dd2c9a39f9010a25f950001c77b5b6ab578c1cbe Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 14:35:21 +0000 Subject: [PATCH 06/14] more clippy --- test-runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-runtime/src/lib.rs b/test-runtime/src/lib.rs index 67117c522f..4ff8d81933 100644 --- a/test-runtime/src/lib.rs +++ b/test-runtime/src/lib.rs @@ -17,7 +17,7 @@ #![allow(clippy::too_many_arguments)] /// The SCALE encoded metadata obtained from a local run of a substrate node. -pub static METADATA: &'static [u8] = +pub static METADATA: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/metadata.scale")); include!(concat!(env!("OUT_DIR"), "/runtime.rs")); From 5851a7a02d05c7b6102224745b9dac80199ea58b Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 14:36:23 +0000 Subject: [PATCH 07/14] tweak test-node readme --- test-runtime/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-runtime/README.md b/test-runtime/README.md index e0145ba6ed..9763412df2 100644 --- a/test-runtime/README.md +++ b/test-runtime/README.md @@ -7,4 +7,4 @@ At compile time, this crate will: - Obtain metadata from this node. - Export the metadata and a `node_runtime` module which has been annotated using the `subxt` proc macro and is based off the above metadata. -The reason for doing this is that then integration tests (which also spin up a Substrate node) can run tests using generated `subxt` types from the exact node being tested against, so that we don't have to worry about metadata getting out of sync with the binary under test. \ No newline at end of file +The reason for doing this is that our integration tests (which also spin up a Substrate node) can then use the generated `subxt` types from the exact node being tested against, so that we don't have to worry about metadata getting out of sync with the binary under test. \ No newline at end of file From 69856f049ad4bf713591eb2da421093fd99f5b07 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 14:43:52 +0000 Subject: [PATCH 08/14] fmt the clippied --- test-runtime/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test-runtime/src/lib.rs b/test-runtime/src/lib.rs index 4ff8d81933..68b389dc2e 100644 --- a/test-runtime/src/lib.rs +++ b/test-runtime/src/lib.rs @@ -17,7 +17,6 @@ #![allow(clippy::too_many_arguments)] /// The SCALE encoded metadata obtained from a local run of a substrate node. -pub static METADATA: &[u8] = - include_bytes!(concat!(env!("OUT_DIR"), "/metadata.scale")); +pub static METADATA: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/metadata.scale")); include!(concat!(env!("OUT_DIR"), "/runtime.rs")); From b912bb7558fcbf637aa98bc20a7d3000dc50c2a3 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 15:12:59 +0000 Subject: [PATCH 09/14] A little tidy up in build.rs --- test-runtime/build.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test-runtime/build.rs b/test-runtime/build.rs index 100ca5e216..b7e3ab6c6f 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -36,7 +36,7 @@ fn main() { let substrate_bin = env::var(SUBSTRATE_BIN_ENV_VAR).unwrap_or_else(|_| "substrate".to_owned()); - // Run binary, waiting for RPC to start. + // Run binary. let port = next_open_port() .expect("Cannot spawn substrate: no available ports in the given port range"); let cmd = Command::new(&substrate_bin) @@ -70,7 +70,6 @@ fn main() { .send(); match res { Ok(res) if res.status().is_success() => { - println!("RESPONSE: {:?}", res); let _ = cmd.kill(); break res .json() @@ -96,7 +95,7 @@ fn main() { // Write out our expression to generate the runtime API to a file. Ideally, we'd just write this code // in lib.rs, but we must pass a string literal (and not `concat!(..)`) as an arg to runtime_metadata_path, - // and so we need to split it out here and include it verbatim instead. + // and so we need to spit it out here and include it verbatim instead. let runtime_api_contents = format!( " #[subxt::subxt( @@ -112,7 +111,6 @@ fn main() { .to_str() .expect("Path to metadata should be stringifiable") ); - let runtime_path = Path::new(&out_dir).join("runtime.rs"); fs::write(&runtime_path, runtime_api_contents) .expect("Couldn't write runtime rust output"); From 128c40ef107b902c162e9cecb25834214d482c41 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 16:13:39 +0000 Subject: [PATCH 10/14] use ureq and raw string --- test-runtime/Cargo.toml | 4 ++-- test-runtime/build.rs | 27 +++++++++++++-------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/test-runtime/Cargo.toml b/test-runtime/Cargo.toml index 7eaf1bf925..7e888b01d9 100644 --- a/test-runtime/Cargo.toml +++ b/test-runtime/Cargo.toml @@ -10,5 +10,5 @@ codec = { package = "parity-scale-codec", version = "2", default-features = fals [build-dependencies] hex = "0.4.3" -reqwest = { version = "0.11.6", features = ["blocking", "json"] } -serde_json = "1.0.72" +subxt = { path = ".." } +ureq = { version = "2", features = ["json"] } \ No newline at end of file diff --git a/test-runtime/build.rs b/test-runtime/build.rs index b7e3ab6c6f..af921b1d74 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -14,7 +14,6 @@ // You should have received a copy of the GNU General Public License // along with subxt. If not, see . -use serde_json::json; use std::{ env, fs, @@ -52,7 +51,7 @@ fn main() { }; // Download metadata from binary; retry until successful, or a limit is hit. - let res: serde_json::Value = { + let res: ureq::SerdeValue = { const MAX_RETRIES: usize = 20; let mut retries = 0; let mut wait_secs = 1; @@ -60,19 +59,19 @@ fn main() { if retries >= MAX_RETRIES { panic!("Cannot connect to substrate node after {} retries", retries); } - let res = reqwest::blocking::Client::new() - .post(format!("http://localhost:{}", port)) - .json(&json!({ + let res = ureq::post(&format!("http://localhost:{}", port)).send_json( + ureq::json!({ "id": 1, "jsonrpc": "2.0", "method": "state_getMetadata", - })) - .send(); + }), + ); match res { - Ok(res) if res.status().is_success() => { + // ureq "Ok" responses assume a non 4xx/5xx status code. + Ok(res) => { let _ = cmd.kill(); break res - .json() + .into_json() .expect("valid JSON response from substrate node expected") } _ => { @@ -97,16 +96,16 @@ fn main() { // in lib.rs, but we must pass a string literal (and not `concat!(..)`) as an arg to runtime_metadata_path, // and so we need to spit it out here and include it verbatim instead. let runtime_api_contents = format!( - " + r#" #[subxt::subxt( - runtime_metadata_path = \"{}\", - generated_type_derives = \"Debug, Eq, PartialEq\" + runtime_metadata_path = "{}", + generated_type_derives = "Debug, Eq, PartialEq" )] pub mod node_runtime {{ - #[subxt(substitute_type = \"sp_arithmetic::per_things::Perbill\")] + #[subxt(substitute_type = "sp_arithmetic::per_things::Perbill")] use sp_runtime::Perbill; }} - ", + "#, metadata_path .to_str() .expect("Path to metadata should be stringifiable") From f1cf775095702e59e165177158f6a7700992592c Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 16:21:54 +0000 Subject: [PATCH 11/14] Don't export unnecessary metadata --- tests/integration/main.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/integration/main.rs b/tests/integration/main.rs index 630ec7014e..afe6e603f2 100644 --- a/tests/integration/main.rs +++ b/tests/integration/main.rs @@ -22,8 +22,5 @@ mod client; #[cfg(test)] mod frame; -pub use test_runtime::{ - node_runtime, - METADATA, -}; +pub use test_runtime::node_runtime; pub use utils::*; From 07af1ce1f068818e407e7a64fa3955a44d716fce Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 17:15:56 +0000 Subject: [PATCH 12/14] async_std/RpcClient/bytes instead of ureq/Value/hex --- test-runtime/Cargo.toml | 4 ++-- test-runtime/build.rs | 27 ++++++++++----------------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/test-runtime/Cargo.toml b/test-runtime/Cargo.toml index 7e888b01d9..e6acd21ff0 100644 --- a/test-runtime/Cargo.toml +++ b/test-runtime/Cargo.toml @@ -9,6 +9,6 @@ sp-runtime = { package = "sp-runtime", git = "https://github.com/paritytech/subs codec = { package = "parity-scale-codec", version = "2", default-features = false, features = ["derive", "full", "bit-vec"] } [build-dependencies] -hex = "0.4.3" subxt = { path = ".." } -ureq = { version = "2", features = ["json"] } \ No newline at end of file +async-std = { version = "1.9.0", features = ["attributes"] } +sp-core = { package = "sp-core", git = "https://github.com/paritytech/substrate/", branch = "master" } \ No newline at end of file diff --git a/test-runtime/build.rs b/test-runtime/build.rs index af921b1d74..4085941df5 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -30,7 +30,8 @@ use std::{ static SUBSTRATE_BIN_ENV_VAR: &str = "SUBSTRATE_NODE_PATH"; -fn main() { +#[async_std::main] +async fn main() { // Select substrate binary to run based on env var. let substrate_bin = env::var(SUBSTRATE_BIN_ENV_VAR).unwrap_or_else(|_| "substrate".to_owned()); @@ -51,7 +52,7 @@ fn main() { }; // Download metadata from binary; retry until successful, or a limit is hit. - let res: ureq::SerdeValue = { + let metadata_bytes: sp_core::Bytes = { const MAX_RETRIES: usize = 20; let mut retries = 0; let mut wait_secs = 1; @@ -59,20 +60,16 @@ fn main() { if retries >= MAX_RETRIES { panic!("Cannot connect to substrate node after {} retries", retries); } - let res = ureq::post(&format!("http://localhost:{}", port)).send_json( - ureq::json!({ - "id": 1, - "jsonrpc": "2.0", - "method": "state_getMetadata", - }), - ); + let res = + subxt::RpcClient::try_from_url(&format!("http://localhost:{}", port)) + .await + .unwrap() + .request("state_getMetadata", &[]) + .await; match res { - // ureq "Ok" responses assume a non 4xx/5xx status code. Ok(res) => { let _ = cmd.kill(); break res - .into_json() - .expect("valid JSON response from substrate node expected") } _ => { thread::sleep(time::Duration::from_secs(wait_secs)); @@ -82,15 +79,11 @@ fn main() { }; } }; - let metadata_hex = res["result"] - .as_str() - .expect("Metadata should be returned as a string of hex encoded SCALE bytes"); - let metadata_bytes = hex::decode(&metadata_hex.trim_start_matches("0x")).unwrap(); // Save metadata to a file: let out_dir = env::var_os("OUT_DIR").unwrap(); let metadata_path = Path::new(&out_dir).join("metadata.scale"); - fs::write(&metadata_path, metadata_bytes).expect("Couldn't write metadata output"); + fs::write(&metadata_path, &metadata_bytes.0).expect("Couldn't write metadata output"); // Write out our expression to generate the runtime API to a file. Ideally, we'd just write this code // in lib.rs, but we must pass a string literal (and not `concat!(..)`) as an arg to runtime_metadata_path, From 30b59020991ef99afd414df257a395739c9b9ec2 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 17:17:30 +0000 Subject: [PATCH 13/14] newline --- test-runtime/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-runtime/Cargo.toml b/test-runtime/Cargo.toml index e6acd21ff0..14707745ae 100644 --- a/test-runtime/Cargo.toml +++ b/test-runtime/Cargo.toml @@ -11,4 +11,4 @@ codec = { package = "parity-scale-codec", version = "2", default-features = fals [build-dependencies] subxt = { path = ".." } async-std = { version = "1.9.0", features = ["attributes"] } -sp-core = { package = "sp-core", git = "https://github.com/paritytech/substrate/", branch = "master" } \ No newline at end of file +sp-core = { package = "sp-core", git = "https://github.com/paritytech/substrate/", branch = "master" } From 61d20441d4afb6446a35cf007992cccb7dce2510 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Fri, 26 Nov 2021 22:10:30 +0000 Subject: [PATCH 14/14] document try_from_url error unwrap --- test-runtime/build.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-runtime/build.rs b/test-runtime/build.rs index 4085941df5..0251219bc6 100644 --- a/test-runtime/build.rs +++ b/test-runtime/build.rs @@ -63,7 +63,7 @@ async fn main() { let res = subxt::RpcClient::try_from_url(&format!("http://localhost:{}", port)) .await - .unwrap() + .expect("should only error if malformed URL for an HTTP connection") .request("state_getMetadata", &[]) .await; match res {