From 06f9a385d0074b251d8806e2502958be9bc83cec Mon Sep 17 00:00:00 2001 From: Artur Tynecki <77382963+ATmobica@users.noreply.github.com> Date: Fri, 29 Oct 2021 16:10:56 +0200 Subject: [PATCH] [Mbed] Mbed platform documentation (#11121) * Add Mbed OS guides Add README file to lighting-app and lock-app * Update the Mbed OS guides Add mbed os guides images * Update lock and lighting apps README files * Add all-clusters-app and pigweed-app README files Small fixes in lock and ligthing app docs * Add Mbed Unit Tests README file Docs files restyle * Add shell example README file Restyle docs * Restyle shell doc * Fix spelling * Fix spelling Include the missing words into the dictionary * Fix wordlist --- .github/.wordlist.txt | 29 +- .../matter_mbedos_overview_simplified.png | Bin 0 -> 271075 bytes docs/guides/mbedos_add_new_target.md | 115 ++++++ docs/guides/mbedos_commissioning.md | 276 ++++++++++++++ docs/guides/mbedos_platform_overview.md | 146 ++++++++ examples/all-clusters-app/mbed/README.md | 253 +++++++++++++ examples/lighting-app/mbed/README.md | 343 ++++++++++++++++++ examples/lock-app/mbed/README.md | 324 +++++++++++++++++ examples/pigweed-app/mbed/README.md | 255 +++++++++++++ examples/shell/mbed/README.md | 203 +++++++++++ src/test_driver/mbed/README.md | 191 ++++++++++ 11 files changed, 2134 insertions(+), 1 deletion(-) create mode 100644 docs/guides/images/matter_mbedos_overview_simplified.png create mode 100644 docs/guides/mbedos_add_new_target.md create mode 100644 docs/guides/mbedos_commissioning.md create mode 100644 docs/guides/mbedos_platform_overview.md create mode 100644 examples/all-clusters-app/mbed/README.md create mode 100644 examples/lighting-app/mbed/README.md create mode 100644 examples/lock-app/mbed/README.md create mode 100644 examples/pigweed-app/mbed/README.md create mode 100644 examples/shell/mbed/README.md create mode 100644 src/test_driver/mbed/README.md diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt index 535c153c9c0639..a77179ec77e6b8 100644 --- a/.github/.wordlist.txt +++ b/.github/.wordlist.txt @@ -47,6 +47,7 @@ argc args argv armeabi +ARMmbed armv asdk ASYNC @@ -69,6 +70,7 @@ autotools avL AwaitNextAction AXXXF +AYNJV babaf backend backticks @@ -118,6 +120,7 @@ CACACACA cacerts CAfile cancelled +capacitive CBB cbd CCMP @@ -148,6 +151,7 @@ ChipImResponder ChipLight ChipMessageLayer CHIPOBLE +CHIPProjectConfig CHIPTest CHIPTool chmod @@ -169,6 +173,7 @@ clusterListName ClusterRevision ClusterTestGeneration cmake +CMakeLists CMD CMSIS CMVH @@ -207,6 +212,7 @@ cp cpio cpp cppreference +CPROTO cpuapp cpython crypto @@ -304,6 +310,7 @@ eabi EB ECC ECD +EchoMessage EchoRequests EchoResponse EchoService @@ -394,6 +401,7 @@ GetDeviceInfo GetDns GetIP getstarted +githubusercontent gitignore glibc gn @@ -524,10 +532,12 @@ lifecycle lightbulb lightin LightingColor +LightingState LinkSoftwareAndDocumentationPack LocalConfigDisabled localhost localstatedir +LockingState loopback LowPower LPC @@ -558,6 +568,11 @@ matterUTestLib MaxInterval MaxIntervalCeilingSeconds MaxRtrAdvInterval +mbed +MbedCommissioning +MbedNewTarget +mbedos +mbedTarget mbedTLS mcu MCUboot @@ -582,6 +597,7 @@ MfrDeviceCert MfrDeviceId mgmt microcontroller +microcontrollers MicroSD middleware Minicom @@ -607,6 +623,8 @@ Multiband Multicast multilib Multiprotocol +multithreaded +mutexes MX mydir MyPASSWORD @@ -653,6 +671,7 @@ OnOff OnOffClusterTest OnPlatformEvent OO +OpenOCD OpenSSL OpenThread OpenThreadDemo @@ -690,6 +709,7 @@ peerAddrStr pem percentageLiftValue pexpect +pickString PID Pigweed PinCode @@ -714,15 +734,18 @@ productrev ProductRevision ProductURL proto +protobuf protos Prover PRs PSCAN PSK +PSoC PTR pts PumpConfigurationAndControl pwd +PWM PXXXF py pychip @@ -768,6 +791,7 @@ repo req Requestor responder +retargeting reusability rfid rfids @@ -802,8 +826,8 @@ SDC SDHC SDK sdkconfig -SDKs SDK's +SDKs SDKTARGETSYSROOT sdl segger @@ -837,6 +861,7 @@ softmmu SoftwareDiagnostics SoftwareVersion SoftwareVersionString +SPI spinel src SRP @@ -846,6 +871,7 @@ startoffset StartScan stderr stdout +sterm str strcpy su @@ -877,6 +903,7 @@ systemduserunitdir sysv TargetNavigator TBD +tcl TCP teardown Telink diff --git a/docs/guides/images/matter_mbedos_overview_simplified.png b/docs/guides/images/matter_mbedos_overview_simplified.png new file mode 100644 index 0000000000000000000000000000000000000000..065a5b7a44e122c10db9709004edfc54053d18fa GIT binary patch literal 271075 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¨l;Dv z_nit`P`AdtOyD%_FB|Vt+d$l5I1fL%d4DqiOS`{oF`99mcdiVwpYp2Lcz)LFLd2|X z#II4iEt>dLANcI#5<-AbP4%M7SrJ2>o`HUj#2!BX!~WM%ou0seJLIfg>-Ma6Tlwy5WX-83pR4+Yc#99CYNOIt=XL72sY~0HQ@|4vI>FakLoIG zt6n)s;?`upc7}U?^$8)Y)-FDl#99Ex^#k~+*dpj{9t6CA8ph0gtQpV_oc?)WHBO0F zQjl=5Wn2j4|6*9N(~maX6C71D=|*hIGshybeqZc`U(W!otEvlD!LCXAV`o5V1b-TO zccQ3Xs~KVEaSKe=wgnbj$kp)F0UN-Dbz03=xinT~Xur8b_jGCOQFCpj-0n8wqr{ch zk5JZL!iHqM@-#OO)=Mus4o0|mT(BX4_h%2yS;=*`NiD!Lrg2lE@#ly6`rngq$EmEv z#{aPZ?#M=CvE`_g_d93JKa#|@Re9?&rxpfz3XQKSb=OU#rv`Uqm>FhRYM`d2W88U* za@1zS#=kROC!`~b|Q>Be+CkRs*auXJmKTdE*ZO%AKXK8GodSFy}+Sw z(B8H3nM`x(_}J|AQ)%e)Q2;J-Br1&;Hva+j%`N?{2{F*%JerL}EELVw3=Q(tQS~4^ zpuXIPyWOBE6EC(j}t;3Ta|_h;JS(Xv3$i^KHBFiq9Xf8_`}vh)0;M5u{T&YVQ-qVbLWg< zKSE)_paUP*dri#z|HuPXaq&67tA3^G zx4dxxmrVUY%prV{AyI-_r(gDO^`f{qkKecr%Haf{Xu7!)G@cjF`Lkx08X=;FyOdw6 zsYWkla`^z2bRwQ3c2(F-%=^63$wfDC#);TJb-8=q=2Xvdwf={|tni3!sj#_~Nca*x zQAibg`2_3$b~t5Ciy^|q3qV_S-v{v~B#+=~fNBQ{Y2B0rGLO^YXW9g!WAJb~$&08$ zTdV0(Q|j(vd%G!DMkI_$5;hbIwdPdxh1S^ZJc+IA;EwVTB++LuyU#^X!DBWt^Cl0! z(lJPM<_R2Z_`I}fvI-Mu6-aDHxCkb;D{xP%R+DCfc)l)b%+DOEqw*H}ZYrtdQ&yPy z9+RTWJxe8-Q))W6wlcZ2B=NKZ7xgo+Z7Vu6lJ|&zVIVKx34;2C0Emf4ZGvI1?6~ed zB`+*v;iT+qv2t#nmUM26+GfUi%lD#FUsUr_RPxph)Q1xXcvg_qwFQ!?CoKUL6J^CV zN@CSO2BJX`z}8@{7Jku)qAE<$rrGLw$`pKso#Ct(c++1p8303GFHTw z=$Bbx#a#SeBFpXFUJZ)arrZAzJ9=AmT>*1%!9@ip+>@cTOO6yah1X)eaNhb!BPVdH zswfT!$+z}(u_Cr>xaVEn>2WXFa@}TPFdyT*)OcO%Dgf_x?T~L~M&;aT=zP=l+W+%B zJ#e-?qAQu0a5#Tp9pSnyD(Jg_UR7#M3i<<;}C?cD$Y3v1h z3(K?pk^`m2tZ4>qb(?dc#x>D(narzPX9l^=!0!)Vk4x@(5WxD?i>()5!5kLJ;+zHR zVZ#{`$rVg?&~=T|4!G79L6XTRPmTFHcry)MRRsbBr+t_6C_ys_(F6T|~eO4ZUw1XX4e?xUmcH0pyax$%Lu1 ze{c$^jk|$j($lMAgP?P{k&|Z?IOUtg_w#YSYJHDGm!um#ax5fLo)x?CGeSfGH-Oz1 zpQ^Jh1YZtLV+s-<-_RikML(~;gWcH>NNEsin_Z?CSZ&pp@{qHt2kXjqQ#7Z&W3kJcq~ zvBEm*tMgZW%`$)WQk_e`y-rMsUQ&4)!$s^+v)RaHN;cI^N=kWqyx5kR-GfUi=j(7a zX0A4NT=~~!heC8pne=WpdYp6&QCMHT@4q(5_jTY|`Q#nD^%kUEd#j=x^gB(Ur{ioK zno_K4H+c}BT-TO>R!Q#KD7Q_=aebHA<3_5lzqBX0atdb5y_-uoN>f;-RN7cM+SHBs znAd6A7wV|@rTF!%agnyPo9$p>){iy~XmMTD`k0B%-oe-|$kMeNET(W&obM>w3O@Q( z$b%lO-8upmPNhTByn!QlHt1VhtE`>gz(SE}3AeaaWW8uxPfwkVkQ`;t{pIg}W5sML zxcloFQTxW0yD@#q-R{mlzQl_GoT5n`UNeF)wP#wJc=Sw|D3Grg9Dus&4lxA2q2s6S^;+#Pf=?HHTfL(vdLb8qHTs0n-yK{ z_e=c}P{QwYHf$$27|RaIsaM-UW*60VN&R7BtNXv&QTCvtS+(V2oqcI`Gq{q;$7uFn znL+COeQ=VMnn;+W(9fWC1t88jHp6LKN_W+S#=pQ7Ekrk1L&}p32Q!aQMrAuuq=dPfk|8*;fe8 zXIInY&q;S|-@yf|Y|%KL;{5eE2!NQUuW3r!wMLtK$SK3f7 z;gr6=7gPXzq$a=WV?lEJ@*eg(rOm(KC0ngd*;i@QrWZHm7U*ut5zV)j$;bvRj>Y)1qJ+=J5M|682F zIrQ9dWy+ZkYZ@}=pzQV3Dp=jSN6++Cjjg~J;Z4#v)a#VR_7a9GF%Rc7${51hed%Gx zl

wB!L{N40?$+)PSioyKyHFU6){h>bNjn?@NQ!*puu%J6kwb&4_42A7L|kpu9Rm z1v()Mut>=`>`TB{Yq#qWLP2*0Sohc;o{+7|B|H!j0OhB;5vhJEciMY4}fAc{uBclvFCx_hS zwgcNeHU(X(lUk&~N$h~mc6G}&EFGQXqoRWbmes5SXA?uehL#`Eo9Lz6)}by`;IiGs zMMq4We;5OR`HM|`35Op(Q6s1F5X_KMB7A1iGv-z&ZyD|Rx)X_$%TEjZ%1YJ3%)nta zWr0lCS&^aM=OaYSZ87m6l<|`k)jWm2uxJ=3O6XLg9V>^jt zdm58(rOP-BSwj1twR9it`4yuPyn{L1LTYc={HO648loFd=Lhmh$`YX8RFB!_goVN? zD9xb_he@ecY_oQ-)Oq!vH>56@bet_}uCB0fUbpx<6NU>cm-{$J zR)6_h@Qx@kv=mHhJ9VRacw&~Cm zP+`7cYZti;ZlOxOXn!psoP+d z!3<8|*eSGy*LJZd$&+R1y#_N@X>K7Cbqx#b5wkAanRXt)O*j!y8xUt?Pft;EryzaV z5ND&m9!TmBl12fj_?Hq-kP;qv#}oI|?B&Z=!KH@(H@j1*C>u^57(`AM4;r=p3*1Dv zC`kn{Q02<@?wS$4s>jmRmm)gBCa7aS^M86k*o_-C&0C@tKlDRN+O|gw z*HZsC#zr&a|IOI&N)p0yAp7g}o*z@YixyWI=oSYE9qEm-O+Ow^UH@A<3-}zdT38#d@!q`3{XnnK3}*{6$=-URq{gSltKAL-%L( ze&}J?A8f1ZN35o++45O^eM=mfKbvgl;QQ3(Lo1EKyA8Dijw&UYYpCPmj5NRReQtb# z|4$Ujaer;~g<{iHeUW7UAu6${vZydE2eL|w8*OqDg9A-CUfG?nG#eo<|+dMvV|%$X&H3gmWuG$;87F**>qR#a@A z?nUzn$5`@WJrou>aq{KOWcqZHu9_a*!U#xQTKW+g=3y>QJHkZ?%J`(<8-LmW}|DinI(A-~F+@>pO9cB@a(dWG?0FO8^eyoDrClc09 z)OPm%*1r856ZR2j1IscjUnqxAc<3S99tUF+{0!PsL-FGd>)_mguv#2e>Mw>Q;+qA+ z@j?Q_hAFMUN7s1ed0(xg*BrCdWrxo=WxHCYggKI z&!z34>^0ZK!+dmserZ)lboI>`fj0+t21eahthJ4id!g$18;&!DR-p%s_#7JJ?oSgJ zQ|@f49rPz@V`>G|w?W}qIi^cN759arO;`Jl_}?35OXCWf=^b_48n}?LoBu1!i^3B{ ze9(GgFpvOZi09$L$%}sjBKapj@TMH52F(_I9}}>)o$0CMX&eo0pS^l{V$W9?)k&O; zM%U>t9M>bw!$5q~RYu0V6dvVMslc>OkB35YFJlZEfS13V;{+Jp+hDO*8n=48+}ak4 z7>-pn0ZP}W;+;uJT6?T^;h#b`W!GYJ0^y}>*~@Eb*hH36g=yK_7i8YtM&eg5q307R zm1*odW#-OKnaZx+#nxAHa$kzOWOxndgfr4$U9ndVs4UML2-%QykK_@*i}@x1qONyO z0on1`@gob)P&MueOF3J|{=IcB7XeEK=E=(+OOp#`!-qFhfth-f-|35bV<|)lF*v{oM*ly+sPo<0hI5A( z+)R6MIZZgQ&nWE;4~}2jY7tAf28UX55*a)g+V9U_f90`#gELe&8I2PC^KU{3xC8si z*Vc-&XdKQ7IS6-AX2Z^exomFU&Qd+?CGl#bU1_?*rw|cxEj8ndhs-KB;+#qgJ-5r* zVC=pog(aVp$07N}?y8{`{BZX7R&6hfp8F0cyrm+r-;@Dge`z2|Daz*)4mYbklFDc? z0qlA6w{LOb1Tdy2aCrdzLn;1Ip}&1c->mS6VxmEeckTH8u-`quuQh3rA#P4I?edZS zwF6@aJDRhf$oZQ6YfyJR#r5hvFgKHhMsRfveOtvQDc@!b;pN-D(SNhHm#4Yv59+8_6Q&c1* zP)*#0jfiM>C3)n`dAm)P6@}$yZWT3Tf2X%nyU#Gwa|cm{4OvenbGd3KcRk);wC1>A z@qRh76|RSa-yJUMxEuHiiqro@ri*fHQYa)OYvXc=yprwokrH;gC9PrN7iPn*yvwf7 z0zUg62<-9D+@l^40L|mmH}=*fLD2ZD?XNhf9>=+5FF9#uR2|V=GR%+|sS>EUF@c)6 zJ0znseJm-=!p2gV(Ov4<7UF~u*VY~cBI!shf&Az;#Pd(h>GSxe6RU#B9$w)t3rOiE zodNF2MSjvbR39?(Pb7)_q{-46KeF2?J_Y86=h`mNKHObV+hRH&4*(r!g2>QvBaPQj~?q`L+H+LO-}e zn03FYZ&N#JwyKSiI@w`4>77X!@|l}M0z*7KVds&B-VoU6)ecx(_{5*m&2_bHScqcb zdcv-WjdAhp{b@Mqw91f?Z!Gl<<04iC-qaywjFM(q3fs*J9`?J&6AMt0d zF|S{6mkCrIGPQVKT92=c|||nAcbqB8{Vhw^x4em#s7i@SSSn-CF1g<%tZHU5Y&7ub}neXAwWOfg2g~ z;Cv-j8+H=P)ut5{6ey4V%SZug#Pb+cEl#8T8hta! z$*|8@TG6ya!`T*no{`;-pr4+k{5NbZp1beC+{~|WYW=LC z?GrtKMu-!UEzSFI54GX&dZaQZK>c4FKhNAXLl*0JemUAXC+f#}MaW{=abG!~&((d4 z92an>s}(>V>)1r9(qVZ`4Fe*Oio51b*f%kf$vT%@!bhgdMB17zd|*0`R=y(9#c~g)s;h=X6qo*l@^DcOLe$v_rL;=>6PH8ROfp2;z|7{ zpMHa`UIK1-7G>`3F<;?@hX+KlWhs4u!3R3@ybk+8M#|_qaOjTlaP2P$OUl>P*@?xq zvL@5zPBvLYNcj3W9G3F?w26u$L9~|$YD6?PAA7cNh8h?&_wjMMycEn4_)*6lRUK9F z#1gEB*p*Q=!ymnUqL;F;dc5sf-*nEEX7&&y6=Sp2tczRbum3L%0;UpYLQe#XQrq3H zA|+HNM~e;NFqb(K3n+V%381u0l!Brtq=pv6W4tVBicOGq3 zh)cb;l?k0ly_gFMiKr}D)J1Y0J;%wFTK~4BR%a?XF5WOku`K=Bj}`X_BO#%~H6hC5 z+JwwQKAG_b1zu2!R)j^$JNLkGp7ir;SfQi*f7@KEjboPEHC?O&zqxJkE{J2p{Q_UW z=0kD3Qi2Cbu$^Y9+jleDs4kWO3hby=#tl)#&2iyA2Zw;P^o)oi$Td<#_21m2)(|xy zX}UDvLH7oy9!YT1RabuTH*$8P2JwQuh&z^JeVg)hT zk<}q`ayki^$RTfBnyjj}D{FmI7*|eBxc>@3e|ILST(q7kPmYF28F7x^F6fA+mknAH)2^um>@`kbc&nMp zE+@){35yUU^upPqx90y-*nI#JfVaDLcxg~ieO9J0EB~eUpKf8Jz}kghg5vcYG3)Ss z99rc(rCo#m-3JulU|0njJv*6SKj1g+m=DA|YrCW7DaOG#MDx#-Jzx-b?{x@i1q%Uj zIQzB-#eoko?EQza7Xs#OX7?qgX!QOa6iXy}(Jqx7WMIT8{};h}!nzH|VScJJ1(1Bd zrG97DC*92l9Q5>EkLlao+|7+VUH=2SHDK4l{5`UE_ z>r86y_Ri0ZGKdB@YaWePQsuS|)!S(K3c?hAxmfMbzl^3kcqanEVRSDAhn+bCR% zU>a*=&7H~LDC&gfVcL5zwPnOBdCRM`?N7s@JfdO_>aLwU-x@WB1DMN4^m6ZoNKFC9 zQLkx+^lX5_-u=7p_tZCb#0d|*cSjl4E-Ip>In}yig&#?FnfV1TY|uaDi~&gqZ!|hH zsyz#yX_fUnAcUV#&r#Y4;wDUl-TcS>j7QQ5?@!&Wd(Tz)_?tT{4j&Y;R^-dUK;u51 zzmq&4K>Di2J1;UDLJY6HYow48U;cTBgUjZjv!|G2ra4rYUC~PAQobsIE;c{m=+s<)YC6e~YftZ=oJSvPx)%%8E>7B9`RZkmNP+rl7!wr)lTBa(7;kkD`oZYP-iBa4fHApfU9IQ18H=u(4DQY8#>+VMm8U1go|csbFugSnbiyh4M(RfHR-m=A~WFzM@v)HO-Us_saCy=~Bcs`7;w@-i7Da;uiel^$?MNh(JPHfkjN~>AEH$R8wF`XF0 z&>vK%`u0X`pS)81oot_LJ)uYr^~fv>l~&W?)EWQnS~h7VX2@CnQ#!#^qj2^gbTZN| z^H0&`4@?Gs(L%6Av7vsE2`T9?33^$gdE%Q>0m z9*}ez-v5u^^xyS^z9$!MNjaUzWz;Vt}12-AJm45BLv~10duV*Wp7&lNXgm%TphSBBUNNO17UTn#f08FYjp3U0-X zcKW1x&gdc)zo2il-&Yg zR^{hZDq~W6@N9=)u)<(nm~3z5OiJ7dy+E*M>EliQHz%_FA%ZL~94jXb!f4BP zI%6uN@x`zkXDQKYx*76me=+VI0v9TP)%Fg|0!8XjQS9UPHvbRZ1=?)Prj}~)&)cpR zO|fyAR4KnRu-dgp-5x*swpg-en}Q(GA+tn;z3qKHY%!el=f|v!>J@Y|g`Y)CCyE3q zK2Q(0KYU2dgH^YsD3R(a=+H^(a7zxc`kSj*?g~JYkDRob?JxIF<(Fj_my#ROZHpEWSsy<{w$OJR{>d5S9iEp%79SU> zfe)?LRZkBDD_~ZRS5?=ie88v$;Ubuyc%!22p(kt!)>%?6XMEdsndT6F!{nJZN5;f*_n^E8+C|pnsgg;C zP$=o!0|iZH!iT754l{9DPm86?Q(Bkj^d&2e2i!R?*~Ix)0^ig+>h!sD3@nnrfy4{v z?|!ND9po^_sVkT3_&Z?v{3luAv4{2F{bge4VRVQq>CPgxrfa!ej{gnvdMp3nn}2`F z&ttdAdyAThE7=$@Do|aLkw7#3zR$De%{Yxaol_c&f~?t>&7X5OW=FACJk7GcfNRoj zc3*$91OdAVMFl3Bo3#w)O^qF+uIomdx-K`V{kO&o++-xipmdOjN1hxJVL4-NNzXn6 zWxYv7ff%l6vmEMu*G8EPp`JpHq2# zo%H3T1|wT_*&6LXEq2MQq)Wsf0Q%m7`;LI5`!>6YgRMXa8!LS+E9DS-defMdl+EaE z3=CB+(t9VR?4^P=n|Fd}|Es2u{)Oq(-atFSh3q zYX%KMfUS5FOG76cikW&{Wr^%R+~jDZjJ!>%I1LzBF?D;Ik^M&6}s}Gh@#e<=nG#_WGxJ zhvN}{w+HDPqkbQ*o3rla^*#Ml8STNGV+7WG>VPcHTkY63|MPE6Jj}UMy7iEn#r#ra z%^cqh;77r$eD&tQW18w_Ct^D(VV}bYm%non#HTCwU{#^`g$uiQd%tTP}t7FNI;TN8L)eHL4xe9LeEzLw% zR9aMYn%8jMnkB_cz%Ml1U9o)b3Yhv*_&_p;wv$uQ&qQl&eP(sBVLo^8o6PJakcG!f z0cvO$LEp&5M^sc5jwDZfj# z)&I~TFJKX8OKxJ2jR^9qjVAs%xphf+Rr+>`qiOMvPOz;rRgm`^xlGWwWC=OKib_;^5^IF3w>^FJsh%O5$w73plHm-q_)W+YoO*GE8Or%iMUXZ3 z*QL{a%yjbGKsO0j4a+6hU}jgUZ`1fi8T_!e>G~4bCaT7s0NRF95`$uQ;@&$Mtfb_x z-{K`Gs)4Y!%CYA|SgNg)6aytFNmBkFjhoV+=F=J3IIgon;>l+Kam4t3IlFVyeiRR^#u(GGif)6z^GzBdH$?Nk7r|V7`yt&vJPuYw-Yv69c20I1>HW@y2x)$a8WsbMzH{YtTXmqtY6iDxpa(Xp(W3e3T zfH>`V@39`_rp3e*XC1C;OK!M)#3NWU{nu z5|eF5uhUvV)-~D3JtW-~I~Qk2q_*vqvr^JEfRZiY8o*ZZJAKuTz$;-FPEvRL2E><1 zc=RE2cgI?8Ef^=Mu_Q&MAkCK7z*G zTAzF|8%f2R84+aFRVCSt?MlO#`eAMg2Oj|vf ziw%oq?TPvY{W4Ym3>S^nyqOtlXjyT4-GKdY$PXBHgOx4wF zNCG2mS=q~!W@or4t&E+VU6#nnmU*wJD2(MMsX&WV1#3>9xr$B7*I%T^{j~;a_&x?( zrIfEH=U)0vu+In^P-hZ@xJ1XigM)NhnP)}{eS%=jo?fVx=<=pNtbjf=!78v_;g~ak zhq88B4e&`GS*LbR5#kKo;^HDecL^$U>}qL-r?JDO4eaO?N$C*Q06*{66Pl*K5Q4C=_a zT8yMxiqAj7=DM}-=Nctg*To=rc@3G@b(zy+Hg26ZZHF>_b*duxs0& z;Fjp;sw248XU+*s$S%RA#9VKAoBvj7oF~wbaY~5qowF&ev~6#uZCW{_5Tr0IIBH^*mOz~N$4JxdJ(Xd#MPGGtkv90n0XH}xEB~s`??&OgiXm=qHP|LbAa6Ks*hPRZ>Fsm zk(c$#^Ef+cG!wH#+swe!iy$c3d!+d$c=0sJ<^3g{n;G0!c=KjAP16R;qmpkqB9gK= z02TWuL+R86pN^S8&C!*EClOaBrq!I8?;;8r;)uF(&SfeTfKSX%Di)Fk!Zm{!eDMuA zSAK`!h-)w>7@E|@*=CB&5}l->K%hrCIpzKuD(eiP1(oJ(V6kKdMSF~-@1{)#O?1$P zsl!*admgosGuZGA&aKCxecT^VMD~T{vTR8jH9)+CNuS%)G4yJ-9`$-aET}&>7SF{s zoNa_@qO^1x_-754!oJ!U)5&XGjQKPyDg!%7W+J#_h+fCMpXI1at~TKFj=u}${45!P zxL0l_-&X=v@`(@vBRR&5o@}$Kq{T3YC&PoIQ$A>^UMTsnz>^+MgW<|cRR8E^$LvcG zjyL}|(u+9RBFPc+F_fC4GH_SA$EBByC8FaS3T3=mX-@T${F{U0Gy#MXj>3~pV?Lad zKb_HK?1Dz*X{Bt2nn6O10ujlerEIWFnzO!r(I-Cjd`Zu5kDy<=h#zx=Tm#d-5{N@~ zLGprguRU@E!a?o!e_2DONP~Y;XWSme_cXRSmn|MK?H!lCaw&>0paN@WGH2S)&MFn< z5!jF%Vb*+Zt0Y3`SV57lV-dgj`y!xzy*b>4HZRe-ki(m(B;z#3tlehscNhpq6tO_< z3Ve&7oy7zh0`+Lj(PO34cJ;*YAu{XFv=V}I75aXJJ!CHGmP_E^2+j1nFD7fDH`?-9 zWMrINw!bC%J!Il7+IkK~LHY!G1qvVw>;4~n^7Zj>ijNI~%uwCLj~9mKzYqFG$bOok zXtvHRsGX@&r41pH)B(dyuf z=|4+#Xmx!Q$+b0nXk6w|!%H(BQD%{oR&AxbS`=Wq>d%Y=KTGV%8v@e5a2&rQ6OKrJ zF!ZqGLaWm>glFnXn6`Z9Q&tkKb$^YcqRl2b5ty7@>Tk5lwG!^Xn8Z+X3Vb>(U2C#L zJL^lKZ<)8^E>^S=oYzIk-qj*8f$yo@SR9`lPc!Ndl-srIOq6nd^swAMy3)KG`HZ65 zMp}g|nM;GKQ3>tO*9m2oG1d<~a>UcfA%9=zJmXRMH(E5^nQ_q+f8?n8!#T&}O?I>0 zgF~Am-yz)>dq;xyd*s6&WQ=bJUT3X=^u356Z4w&y&sXg{Ed}rAuRJ2X1$$D1%wZpF z%sQMxrAL{dz{dLFW}Id!pdxRF5b@AMMTc|Y3p{*4v@??mQo_$ ze7fD)bggk#`j? zPGVD${z(u}2I-T(hGW|seT}lF&j@8izN$09?P{y$j{|3zZ8mrvAYGVarMa1dUd&IacSA85Rx%Vh13yrz1-5D#r*ftdZKKbIe`8t}C#?zI9*_#XvM zczv0U;CB4<U|!FTy)R+R6yiN`sW?HPkKO3B0MANzIT%w^U{7sWE+cQNzdtO%yS6{CZ6_x} zfhKOuk=}R9Hxn_#oL|j2yY!_&2$1u#1!H&>v`w74ncwRoyvs!@_}Jf%8>^Bd4ibIzfqiLu) z#`+i!bIEbd(jzDZ)IgnTT@{G4$WA$_U=%SGZV~|SYG2#D146%ZbCdS(hapzZD}XYa zwC}TTW)=&-uFH^5!YC!@I%4f(;(b$P3cxso%TG^EW6uI7GVyDAF#S#FKMl453Hm;{ z40R_IrX*UMIM8lZjl*;uS&HRxi?SdSMtWiQkBhvtz+qLREx`nY8%&*mr7y~-f07>o zhJp&c%z<0%>vkGfuO)zT-KiCP8Xb_*-oxay%QguhV|dbDk6w?}y4|-R+xMl!0E+*B zER|7K?63PETO;J4X78T;iTYom8MTa2)Y1|A2(1?+OdwPprBwBWrC;^C+NT^dqsnlo zIftvmhm+GB4QvZElvvrB(Goy~_tPP~sl4VwuhBmapxm5D_mHyJW70~|$KenIdNi-2 zN2%6yqo=~nYPYszb$^xkJ{d$J9R4}hfC5|1w2JZ7sjk`>hW zHW(jJ(PYidm`ZDuh4;0RQ85WH@=bzk&NrZ;xBn)MKSYAZHRQfOI+%1{g3YlHXP=&@ zHKwhB%oza=3kvuRZkzz!X2P4hA#r><2sma@XfhYir}M$cI3jITIla>Rb)`vr_SKTv z(C{vX48}mk=EjxxSh)gCRn>rEaujugSwBKR`=sJMM7Ts$zB1LCeD81Sun7oJx3#jE zP+oUd!0hq|wZV*^%HqCK77-yF*xy$Qe+@8F5NSxNP)>_CeGyauxryqTv=j+)n zq-iibDV2nF+`dndh#rXTKkmpV;esZnvxF42o_#nO z#Z7OldPRk}_Yt}u8A*dWe^5hP^W%G*7FhKodIA#yekpo+^U}qkY2H9LH$p<aXX`{=SYFMQ`&JtW`x_2Ns5_w=!6IHJse-4J6xgzwW>K zFz+`;+0g>g=Q+DZ)wyz?u?&| z!l_P`B0<1ggr>hOx}^HXi0W)RVAfg?M>c5;hJ$1{ThsCBDdsshe9KHt1ug566Fv@o zb?P8zMx3A*-$M}8#pT_!B>UB|*v)JeW#7F2QCnPC(|YV*;kW1%Gg$g$1UFE{Bbq|t zCK#$LpFmC?{K{D;lUbjtV6+3g=Lk!$o#UNC-R-()_|UJXQ8Ooh2{5OV?DbwodW6fW z)e8_YMBJooN@2KELaG`Cet6DMkQ*$bl&0!4m;MOawU?axIm!D&REHw2nEE3LC4+bV zhNTrjzqd@yLj6-5G8FE`)<^``P4wh4(M|`JvKXX8N-{4EY?vFwmAX$~)h)-Hb(rGF zbeJO@GO1O-h>xk1HpnLYi}Hxm@95NcBg80Bx{G;&ntFnM^t5S2DoHW&n7EJ(tHyG( zK#AngC@6s1%V?h_aA-%6AIhObMX;M6q;xIp;;4j%NCOKsOP>jZ($#2Z2b|`^h?Xd% zJ+9r_T`m0blEnu(ZC$bBM`;EJE@N=T{+G0zp~6Mtol`N!IuqrW6jU=^S3dmDet^qk_M+}Xd`J&YndJn>L&^asm)Q*zhTm}SoQ77;Gzj} zpCx)mhZLp|wmD93$D?#yzOK`b?IjK!#Jg|v>?tv8$HvOp_@$KXlr!UVVY`8?asUyC%zsMp5HqW4G~gzc7hJdFyjm9x!=Q_V+q#n zybRGlLWX5Rh5ZY+JbI6jRh;rqE;6^NHGp-S$*>11*Ue$EW|AZCl<2d38qn1!;v|r>a zH*~+KUydyV9*%}Fl3k;An0My&*!d3leVHQGDMB4u{{DUcPe)@6hX5hJ&UH(VT|<@# zI7@m%fl@EsukqjWRC(mc-~ZzRw6N1D-1YSRU8gGgSCPKTNFx_b53HqrqZ?_$$U|8w zdFUYQY+G@3s%dI$s&3C4sjoJ1jT9BqN&x2lpj08L^Fz7f>nRg&#UR>TZQGh$^KV5P zdSQrQIH(eucFa_7Xt||Xx2Bd=QBn~KN-Tonlw>fo|DJJZ0wvha2}C&BF&J2vS4!1V z*%&Qr``XhM#ak!wKCK)S`dZTN7OpxWyS?o%l^!A0A=H+z@8L);CivJKZom z>B@?dIoCiw%|27rrikZM_IgKeMB{i5KOTZ)U|smQY0!6QPxujPpW6vbx!6q(hECdT zAc8@C=6AV~UJx$MOa=Wx&pASocCxw^#c*}=UBfe`XA8DH1WLJyslBd%IB;#QPlOn( zDO(RNdG$$Vh#H4^xd6?I(%pn{jn?Gv=ecM~D&~_fkpflN>3yAPKn{X5u(>l0c+z_2 z8;B`Ar~ulMSD&jN{Sf&Ohdno{0@igXdc3jgi&P*`xW&)Shu8@39lO$0u@A0B-+B~2 ztcj1!Tyv5(BvdMQ)+ApfH^-Ii)A9;{Dwo6eiu%LO$0!2jY&1kPR36Uk`Vw_;@RM%N zA8q?IxMUihaUe*RH5=Bsd~hKm37jU%(ea^PzrohZ3HI0HBZ8^UDSc%HgN2 z{B=1Omt6KDuFVoGpUpdG)qMj*w%&FA-in3=PkOg~a$tOXXvPijXpm?(7g|Gr1Xxj6 zz?E5|73qfzkLS5e%v{m+&Db^Tx;gH1IYIR-{m6$^(hT2g`62DWv0;$HN8cZ%6nM%Hx}!e8~{ zx3;a8AJ58_a&ob4fcto@?C zMZ<$Cjfm?l!cY;Z(5ue2m7V`^v0Wh(_p;hZZkEHPRY``B=zI;BS*Q_kJz->Xamc4{ zuoBjq!xZ3`*UPwOeTe}60&}DL2xR&$%kFC5ksAo3aBpYp5JfclcdWnfIV91iqFolJ z-Q_CLd%Q%N6rToOBo7UW#YF+zKwY)e=ob zM5V6wfO=kT)W5&%TSV@j_61QR65NLu#=bt8h|sS=FM@8iVvg{+f0*HApXCi3l+w^4 zBw|1H!}DlK!$Uc?y*8zEW5Y6YfLC$<%dOe>y3yixj;Xe0>T6@sR(Q#HgYMGjmRTGP zk$@UFqWR)DHWwA|@*b5@1><8U`|QIBr4k!ddeyPl)s?36#UT6K$hu~lwMXGKvT)F=j=?^t>W*WpQyio97d}$u<@J^96jdD^{yFDRp9|z zEk`ErJ&e*A3oY)HUfUn#Jv_6{B1W$rCN*|+aiKXW{>tBse^tbn;k)gYcvF0-ylPz{ z1S#&{H+H;QNmll3?`)#Dgz;tip1~Mg_0hWQ`XkPb4=K44R3P<=C=~7 zc=+pV+4AJ;_hujB*t2Y}`e#^KGC{ETt3Um`xdMwju#m967Rqd+nEP@*{l~>&1{S3{ zHb-|N#Lazw4}O!Aad`NY9G%9V>v-+M&eznIj9-E#>FvtAvyNCb3on+K`QG7j>eAy{ zr2BZqfSVcDZR)(ah-=F*=>+WLZ{b&Pv5+9;)r9e{>uEDduFvPah+xKbe{89GO0m@l zTE!~$Se|+;#I>Ba#<`w73mQoz74+S@VW^`lZU-i z!*!z4I5h1xzt3yMe-F;E-ZBX)%K4d8O#acx80X=4xsp+C?1JsGCk%SO)J&q11LkaW z=uk7QXsV{TOrJk$<6bs}neJ7Qf6QrL*&MD@8fTSpt4Q5h(H=`x=J7gn$$WtJooy0T z!9#uj*+ue^O6bKen!DZo^vtj`gKR<&tsRN{|5`CU|8-QoUl?@4Ri?dq7>jm9a(ZJe z*7)trTDfveN=Q3nQ$423)%pkKs6J~$28~TV85?TS^(%P{L}id|26e(TKWl$TH#tuo zS4N&8RNlbIQT@EnI=y-=CVky{%fw)VlsA)Z1n`~GG^K>a#P*jY^F9}kftf>HzckC) zuJ*xoV?yAhFkZ!&Fp1BB>ZFoW{G9&kJ0-+e zIX*hu=>Wk6R5fdUN0!o29aW%1ql378d|#XQxkIUz>#N88R!6b`)0=#t3tarKbOjy4=S1lYv)+hQQX_~C>*=O!T7uia`N9U zL1fG=LcH|++&j*NASBkn!;Ha+rh&hjb?>!!*df+EB`Kc#ygLbZ(Kn}Ji<^uwyDf80 z^8`dF+v$J6Iow9%bGE{IF87n0fKy#AL-%0_a=l5*-WB#8@vl942`LnH?Q2{W08SHl z!MtS&rJq5bP1G-6teY?@<&7gSPRO^*s^Wk{%eizX8djCzdOviDtllNLuDc?*hbX=i z(uc+eMbe^5t#6{pTuX+VwH@FuTqK)Ium$|<{(v5l5MI0dhS=xPq)V8Vx))WhdyhZ! zli*`dJL*WshS>0F(04q=dqjF@q=QO@hHPBHf3H#~Ch#)<%MyUO$)}Iei5`MJAP>rk z=-BC%ap@}s@t?a%sNiZD`d?KdV_d(a_n)_Gyz<1$j9YHA`eW8+y;qvurFPtpdeN0O zA=~{*ahyN=^0U{=rqG?Fa24Tez`NTE136)BMLqn64NU4BtY2Efwh)^yYTJ3&@dc2W zXjDLXb5qPKZk4Eq$6EGFyI-ZWCiMpw9fyF~+QIMU)E!o0J-rgtoi3?AOSubB(N(ZM zLPBM5?;rh)uP&-DBM6ZhSlBw9J`I{DMjS>cY{&yl+t!}Xz6WhvrmBzs9Hx~@%@xVo zHksXBBZv($q%5{&3)t^K?gb7zO?iPeuM_Z;Q6EuMt`>qXHU9t#MmzmJ#Il&QZEfi} z-PeQ%z8rGiZ@gOHTjB!V`QLcufGW}|$*X8|di-cbUY-i1sHt7Z+0)$%HxxuX_y=iw zsqdniiTtjqshL|J+tINBA7yd1qZ_rx6MZeFt+?ZaxQ}ivSoj~a2_d#I8^2Ij{A8}y z)M7h*jK2+*RbEOHpy|HA&4H3-z<78fzL2Wx!@oNcuU`ioY7OqP-R#sj3luJp>Jzu# z2iznB|A!o*f(}S(-OXJ%W-JP@TXH79suiGUn9wVd{FPU#;Zi0{>zNz zH%|iGJC`)9Vc!t-)IHnr3g?HQUX%hOzDK)?lZ(94KnV%v0#tLHA)lZETDH!7*A=Z} za+EUE&_UdLYZVSd4?B#!4YAo>a~b5!-YH)NdEhXLIrYn7IAE}Bzj&!*)TnZu>^|0_wwy2 zIKh^VWXs`6iz1>E4d~mq?mtikAwirLc2i@}6s=rY^ER+W1gKQ6;6ieyLU=Jch6o9E z)zEAoGK4%B1$gz)Mw~Vdy@H~KMkcHaymeX+lUekxg2Zf~6tE2cW3;KHu@i>#C3V?jIxROY+5 zl2Wq{u07D|-T_sUd@Y77Kg6vX1fm){<jD9K>qb`Tj# zWF@Kod5xDumk11ZA0JE%3eVbkR&OA!84yK`KnILV<(<#}x(x2v@EZ0iuzYf*;!oon zC>eWCSM+lW^Na;!#IH>qi^1>9*EB~zk6TvR?p5HI{?m{zSSG&-6d}SWWP$9jWrV-L zUbc8?e#w$~D&-CFb6MMGSyF`a%FC}#@5S1WzH#XQ&$~l>EVB8Vu+XH2b{e(-D*Bl>y)!fu^f`m3)FyUH7kM{`Z%%o?W7|58@8N& zRg4YLx^+PL7iDeqHWZl6tp(NTYT#kFD}K!95i$MpC-s>58{<7aHir!J zrv~EnCE0sUu;L_HRlCMAGm9yRiQ5V`i%7}d1h<9?uQ^)c62eQpM_4F1MF}5PCr6?Y zA)sxL2WsphFiZoU?%kuKW46Y1=DM)wZ7-SOST&HvB-m!Pa{gmA$G*_lgL6+6zAKxr zs`qvv!m)~e=NlnUBlw_gTK%zKJc?4bxSV>MB46?n3JbmgjmWNTdfEQ5L@;AV#K+Jz z(wHb&qt(rm1X?Ms8|eU)H;xBUPBO9>aWSu8^`AFVXRPF?Cj-&k^bf{^40s#Al+o-r zN2Ry~t9|F&o3jaJK(q_kd<&dFHFX5m8`G}GCn2ZGuMH-@orvG@Bc(yDQD>q*L03&& z>YLkbo6s%lvZhzbBEyU5f=#@FtQX-o89M%qs%`uHjT^IwGCPc4Yta*cU!NZ=owo6h zEeC9XXc@QtTuQ@G4jJi2Bb`4o&|5PrB;zn*&7hQMaW_z?B*IzdsI|Lh=BVt_(3%&i zYRycO9}f-@TW65%l3e@(9(0IOf=s0X-th`Hj4euIk+HVmkiN3#^+Vp~ar?CwboNaf z3DyRzw;5xQ(M>P;Sb3v;{K{)rOdY4qLHtB929bi%eb+?8VM>h-4*H(qkN^(c3{qfS zSD?s&s48ipqJJ!Yx2UUms{7|Uqs^hX{nL67{+_DQ1?mjUXbq1e#}?Lx8O{adi?aJN z8!XaXn;O`flA46Fev6X%((5ZEqoCY4@zuvOIwQ-%(9`;j1Zt@K_?HnQQG_Qws2-#d zd>4})_+M7YV)AB=ki<FH)AKYuMP)!=lkNV30@3lnTOXA1#l^D$EG9zg4^)R0sMXu?31u?l>TtM+ zefHj~!xhf%{LZL3N#!lBl#&en#~O6%(R1_hJY&58WzDZ+hF_s`sJq-dDJNKOEA7h> zmbq9A)$hx3#pq@~#iNMC#z2Vdnxc^gM%g;k_>erusej3T+ll9lC6sWuGYi3qdtQhK z{ItgidG&ZkdCPD22i5o@PmZu9Tma!JX)u}~5aK>@uD4*DNJI13Mbu*+B#R}? zrBG4^F>y#0hhp%Z+=k5St&K9&O_q4h!zS9z_a<|9B{D0TeEB&{1GiC8=7{`;g$qOw zg~SB*)}J#@-J9WZx&Nev7)Eh(ST5>c*#(F&wnCmhw+C4C?3*l_mTlpCwZpEhViw$c zycbANhQrljUzixlStuq&XL@4+xMAuu4b2teE=_w^$9E)TBMN0CE6^Rl8Xxh+#;-w( zW~<-)sxJ4*t=BvDA_}i}{Du)(($EoHLVDNBNETE?*>FE*--!<7mm1U+@=w}u#3;|| zcU*CJSe6krs%o!(ns+3F)-zDdDkj`3MS}u$bCp#N8e1=&L+O!~snRG>~JyX7!B|&~|Pj zR>nPrvDcY0MoQXDput$;GGLlm78Yu8%qkE=z!l3Y+O&RlQreETYq)kjo+|SR79m+=(&Nm$#LkkflnI&^OIBrLlB0l zd{20IGh>jQ>bnH7`LDNWj`xIwBBAoQguG)qHg#2h7iob5SGBD%Nyx(z<_uY0Ehiq` ztF~*KCB-Png9qvLc~y)*g#3>y0iJJ~cYGIbcwa6GIlVv-#t;tbhfZgq2^3oD{;oiK zpvqN;bF4Xi=w)r>d0IylDP5-v|AuvcQ5ILrZfg*_w9rTlBI*H)flS5KM7<^hTWRU% zk5Wupj;=Z+UWJy&z{!~~gt}?beGBKJ79F!WCxJqoR2*MFuS+M!;+|38Sf>~;uqb7-QsNg<;-X&_0o{|-q59njjh5is;$>Q#+!tx4N+~u3dP)?mk z6h-2LCsUXRh)W`Mm^~+ZX)W{%#>KM_UBHsyEIYG^EEVnu(n=AOoOhl_=t_w zVN$#0^wQ)QH9JkFCJ(G*@Q&$fMBD7*p*h5hfvn!~P!>oKr>a+A3eAX4aIP2mgeuj` zrcAIo(GyyR(&}Z#InYdMi{i~2NZU67$+n-IrZ!b)5nH%Xu_%FAT*go&v2i<2n4D!% z3!0m;i%lS3xLN?hTC_0ewzUv$(da$B9TjSLt&f0>D=%7(N&SgB?AWfDy}v6@PnGDD z?B%^IONawZmd#kaaXD^c8z2<+DFr|0?mL047>YM(!sOpu0b9^4CJldGb$28e_!F=A zbK>1Pe90qH2c!)#_4tk;PdrXyr~s%6)G_WoCyd3I`vaU_zKj5K9osku5mfQ@=MCYc zE9y*m99LwfkgI9>9W^Bi&3$Al+vRfXJA|vHD9S=m$#TpSOxPV8AGXi4_r48Nh&rzm zA&8^bly8ihntIavmHhunFsA(?x&S1~h=INKRz6JR=M-2>|oO=j>ZQN{dnn}QGu%th6Rs2^^VHwXWkn1!R->O1VZnUczqyFtg?zqGG>9FbEgq!;NmKNq`Ih0CLvn^Xi{qtn_msU44O1Vi&7GVj+2#B|W1|j;S6g20y|SNSO~dtg>l)dV z6cmJNVrEIW3Qk1yGAx7<+OsDf?9Pm^k;~RI?8{z}0BjjsGJ}3D!0VDBX*Rwx35`FZ z8`@EYv>2)~_bpN-4;-k=6RgCtP8!ZRcpkP8rb0&WaJQyRw@ak97G@^3$ae}9pOhnx z9vaeyk)js0cmgG+5{V4A+uto=6K(wt{0?N%7vv>Xvf#_zH%P>TQZp~r9LlV5ttI8X z8HGEDOe|xkQ^bP=6`7Z_A{Im5Q&J`NHWQ_}K$XIFqy>vM()AZzD~Ao6);KrYr7}g; zFcK#m+LO0he>84n-ty`*-07|H{d52&dFf~U`mEB+L1$=CcvGqp_vzCHfM4u+Kj4+; zU;J84X$$tDt~#(7N(+5UL5@M`H1}2#d}ybWtcoNo#a9Ga*F6!P%Iw94P)@lrU2MYo z=|cHe8C=jfD^fn7mv@X01Nf6Y401C&Cn>QYI%Y%41+rPQ2Ni;3D!f zI7tXbKV z_g|;ZFIY=GK1$5|z7k2*Zv2lpW>F-z(frB2@qR6Y=Zu`4ON~pX3q(2d^hv{~(o%4w z$|r4QnB~^NXMX+Gq$BzJDb!)0we$3n0HMMjfWEs=>(KUgi`M>Ihls{1)f4p&{Y8H- zN6kU_#agYMf$;d##iQ2lt?_))sa8iQu3>L$Bu-;Ndv=={o>2|<;ELJo}eRdAI^Sm{VSR_Fo_S=eBx# z+uh1;I8Nqyb(?JEa{h1GiOO)zJ;wp%{8Ue)ifyIHF4iRve)n8fdwgM}(IBH?Mhaj=cF$%cOd2jVfy7{}#%qYB!lUlU{o1CAC!*r<9N__QS0ijD} zpQoFrK`;mPeGEG4{Gl`n#(O6^2j%a@RR*eVH2eIk)~Meu$vg^Af__Yof9*zD=g9#t zX0=WS%1EupHv`b*N|B?46;t3$_ z!wz)KxSDeaLwGv}9~>_K3>qxN?m@t5|$d)vzvHTHyaR$VI{e%vv* zo9qjn-}xN{>}A|K$mG_&^SnBf_;H-Pj&tsC-g9&0S5jHp3QL}?F<#3o^<;nB`nyhl z(LJLTxaOC#{)c+QzVcsa^d0ML&1jvsCRRw_b|hy)6MB zEp#taVc#u1pAP(MP(wRt!L3#A4|v4X^rKW`dM_i5|E0Q9sVflS2>qt)@pN9duuW3J zalz5JY6&j$l5f`C7i>cej282W?xT{fHL*LIBfKmr-zd&1Vr;s!_v*F3={oTye5E*t zm6b+OjNkN==ageJ`oUfMm@1#UKR!XCm%cbuAu7p*yEpAxLEqqOd7>@6JMS&(I^9MN zHCz0hFo3zGxe6&?v!-@-t7n9F^aeM4nn*ZQf|edPHl>tU(I^$>ojF>*Jm%04K9gj& z;o|jcD8A-nQC8>v4?8gw3Pj=n;lvST2*g*I8y9t*Px9S6I}etC!OJx^m8JHPyTeOw zu2c72lGZ3M(DBUcw8pq!Co`xO&BcA3RZ=~dT{Hv~#rb@?Z^>kQueFC|q$3ahQcZ$H)ABUr z^8QZ+&R3C;?hicwx0e5ZS+y2l*j!ulIo|7dH~_NVp>zLS7WX9DL9UdS40x&)$&>ui za9;0e@MNGp!J|z;8L+wz!$~`O@zH^JV$~(KxKlcq8a5!T8t0nN{6)hIRnFF{r!Lu* ztHx@p2Okyzmm43*v9Dthy#1(St!rgy&%52*k#532r;|MWe5_RvX%jKx|F^$^YYZcZ zJgZ_0OzO|rooXg!nC+XFnn7o2>G);?yd8>@8H6nK^93^!j~n7QTC9X?uz$g>@BFmt z6KTsyTaf1bQ?fiqYLi|$qj=vni%U>Kl za~*hJ7N8CN`qqwBk?$Nx+yAXy{WlROtNDiRmdo*C&#ewI1eoQK8_#9@sw)-~yS?Vl zSF0|C-ra=(L;yR6mhJcR4(!KgmV(b`EWaB}82j9k85h`YjQ)8x?)ivsci+U4^v%z43@$*SD`icU#T5%YPB}YCQa(mWnKu z#Qz1!f`xVY{ACZQoJEd3Q=AMW?J>v)hUAG2JU5yV(q9F&Y;Q)O{Owjvc@$Mtr^rt8 z7W|-Pn~S&nax0_NPC37(e>#sh`1D_exZs9GnF!O4MN2h5)%d>j*0}e_1 zih=@+O$b7!@!0q=|6<~t5fK63B+`yIshTM7Z1`Km^PX+Z^~1Y245RQckFv>Ce8ts$ z=1J0&@D8ly&z+|Z(53UwE9cwJFi-KSPyh7qoX=+)SD()=Z|;t~+n$8izPg+m&+mjR z7a7kNwAYHA&Q92^cqYyh2SuE_G-d4HTc@|;{T}kcjcE^suz&r#43@z}7^6r^*12VZ zX#Ov6w1Yf(Y{bmiF35&`qI9sLbg+|_8cR{c9# zBYs`cYZ9SR|Bt4xifZ$Fy8hwr6nA$BPLblSp~XG8yGwDm6xZS|!6|ORp+Ir>;_kHl z@_*O*uCi7xo{Mv4&Ysybv!^++=kH~MOT$N`9aI)kFa+2iMDQV)SH1H|GO?&QxjFeP znmj)%-oeWx$N2btUa)2wds>+B0)g4td$MhPqr0bty1n~sdMQ!Q3Jek^bA z(zrT!x0iUW52=+*Yz?mz5-Ya75v3oA157Ru>%^x6JsCJ`hvGd-J z&ii!kU4(zUf8D7o2EGtkT~jED*d)-mhH3146b6gp_x^C1CmT%hv|9Cbf01yvM8rGj zcSAOhhrRMn#i7j0T`|1j{Ue8*5>H2B|Mq>jcrMW8#g%%`4i}!vI#!dRhJSuuL{b}R z_s$~MN6YsZcQu|BIlj4-`LjE%^tJMM1ktMg1YXbW!vA|wxI7e(mS;Ka7U%q;|1!>A z^FDIs@xJTeF>FA9Dy1HFNpS70cC$#~V{h?DF62*7>bae@&7}`h)xWMwGVjBLN2{%f ztETr0EFBJc7}ysR79VtF^^sw>VUn^Q`Fm8Q-|Oq2+F)#A!?#$PVe`oZ;A4&RPX`p! zzf z9mPQ4;rnhSOi`m8Xu=Ks~6*AYEPTow3Vy8dr=D*(yR zJniDH=w>fu}yLa{2!V>-!Paj&&tu(MxM!1uvBwQf<@W|z2~=9vVk}YVbNyd z%HrjWy?`i%J;(S!%6DeeuZ^3wF7XsWEp1r@APYV)wQ)#)wNUH z{|W;k@nDDv-RjIWaGLAmr$51tWgUh$_{9Rb#9kjmg&~OV53iS#fWI{9|~^G1t`% zZ1+Y|Cm0Oc9Vc%ZG%UaO;f?Oq4n1BvyY&8agH7(yUQE68!*#j0JKp07`1j{kdV-oM zX>Z^5@$X2=+oX|_n$~tyM-Y{0ffZRL}Ex2s)r$m=PSF1dI)rP69I09yiE z`W}%QTlQ5Ub?iNNC?@3b^y9Ju-oJs8NmXLrSd4jNrh*#^;RFkl-XF71vsc&o>|VD9 z`?lc)h$#hTVQ)mzUr{YgP7%erHg`YS<2?UDXr9u&bvf%5PVyle$yqWRHtqc}vu#r6 z(Kc5hz31&+Q`K*-KY?$C7RviQp)-41<--U2 z-N|DtKEU|zUm1+RqcQ%&yjius71YSij6Ug5SpZXl)JZN<<@jWwS=dto+PD|B8Arc^ z(~1+0uV4F6_R&|QW#uq1H64$$LHzbK!>cp%*1GYNlO@g0C^Eh|=n$ZPPt$(b3i{SO6)(BHap&6Pcyu9+=hIPF59b=M? z2drSU(|ztQf9PCX|eH* zHIB+e_i0+7>%#PM$WaChXrN#T%qm}O#^obz1sj5}yP<&^~XdbJ;@`C zF(B!#Ff08VZL3Wf+NFo8V*MMcGP(D9Q2i79qs24=X|zv{hp$0cmvI zWeocT?GO#LnFCvA{GQqgtY>5+NOq1XBMsM3ZrZwQw%Nt`#-b!S zdDnKyoaBsry5o@i16{VZJd}rLXHvE^twWKD4Z#+RK7Z`QFZ;81*U^T0RA0%P$E(EF zNl9;Og7D|%0TGYM7nz_>G{3Ra0qvc0PU~JOrdzi^a31UeO}}kjmj`dpm*>!Du~pw)zMG8WsUqx>79}ft~+Gw_}Gy0h%;1@M_ARB@<)XtbG0IAQ`^Bn@vQ0$s6x~- z02dG=U_wSO^b48QOyKOsatl<+uWNt+Ux$Z!{;OIcg@x^leX5|~V=8KjQXwLIq72sIbgeDB^m z&V8VASdep6q5Ab^F0Gi2YZ%?cuFlJ@&NJ{94|~-<4KR?-dcOWcj9xS(*l;1~)3?G` zkqAOra4Nw{oyW9DE)tvE7TFg%KL^&33)yiV|)XM1n)#Lt~AsiIFxJ%wXdQR z=;UUauWaWS6pik4hf;cIte09FWs4cQHwEyeV$A91#f&Gevlq#dIlkz-+&{MX68I}_nD|=DhC{g_+{%g4QSxrc! zDonemn4W3HC79u957n#S?le8#6Wz+93c?3r2vd{X9#{6auv*olG3!#>no=xM)@(0) zUU@qYN$7*;eAHNf82b$(X1X=^l4ay~Ta~5^F`8vM1jA5^QmnSGVT>#W__W}kpOt!k zE<{Bs*JpcygPo${G|~czJg7oLj|B|~IhD3jQI zdzb;VktKmV+g0vgYbu?IQ@MBY#A3g&(HlQS>90oI=fK=80(Mc`QmQNQ$!ORvKk?m0 zDbDYlb(gYaCo`*8owHulpp&CG?H$w!0^LX0>wkxahHb;=j;w`Z$4PQ_WTJS-k-3*% z+sJd<(-J}Q5NT3Aw`~}zC6i(|*e5COX+6@Zm3rF82CfjESr04Y$;K5a*MiTxTycPs zj%LhDX?$Fx_I^|bwLH4_BFn#<=g4@JdpLR9EXxk=o+k+J4k<|6hg6piBbRV7Sh@rU z32gfpk&6UUl{hLlWQY_qQfyhr*b)V!Rv4Cm^=W7WX$ER9%FN@S1X{t^$j>vaxV_=< zrEoYhP!jo%sl*;hk>3i4l?m*_tuQkX4fR-@@GaEP6L2f_@JPd5RO}1FOR(D1>&Xc` z@lx&_Z-HiT8S}DGv+Uu)Nj$I~^F&NFGXR+aQ>zv=ao3h}mf1Qk0kiw_)jnxB{kLZu zpP+xpgi(^D$mVG&1%08B{Vb7}52&U=>Ap7P`nk}Y0(om*lF@8EPc@i-{O{QN1~y`k zvUY-@u=S#D&)eg#B2sZfGP_%c)urEgg<8r9;LJgXD@0`HrA}};3hz!oTK^Lo(4>XY;gCaHKU24Ty?cY=Cpw|P z=$_upzAxvf#W)IL--fLlMBqE=@O`T_1Ph*=+%NR!t_Y1MIy{6F3lc^X#xwX^$$JDA z-}V7$JDFf8gC>6)gFidu54CGFTc^x#m^B_YJ^#4tzq!2MWt%fp1ex z%yAN?zGhM1n&m9Y^rrov>(x9+ZixGO2W@KfbsUg-pZhU4rM_P2am;4uS023V3$^`B zn$Ap~1sKo3=ECe{1deaEm(i8r8Q>N~lC_hj?VFSDpvbdMPr~|>cU=k&c`y`+!~>!y zaj9#G^-aSF1&;MSA8M1~R?dVa)RJt@!>oL^>plN(#Oj0i!{$!rWh?3wK>!gMu}2qyKK4 zbRR(VI$Ae2>;E)f=l1?XiF|7{CFsUbMIJ(geHm`w`>YdyD;wuw=#+q4o7Pt?KIezjD?oq15syLpkwKgs{j$h3it?I;Q19o?8 z9jw-pktyp9muyS2y7eQ`JWz$CJ5-Ud_obP4uD4)Q-KeO*gCw5))pI`6F;~ZGNq$s2&nW%?dT)RFf*ylo3kSvT{4?VEZktDCL1VZ; zI$qNA#V>jL%#F)QW*^W|*9$t>{s+V{v5d=zPZ1Dn2Ib~bN$|t48d^fQrUnBNJ@imk z8ga8|i(ERC<|lGKl%(;{CD^q1su9R^Qzx0);YbUXywoAfwRPmYc5Cy*OGww+iwgb6 z3CX>T*Hn)l?=sw=!batxov(EfN}{GRlYW+*T zy@!=>+!)SF{SEM}MUx(4=;}MwZ9LVy%|wv|@@ufVYJGoOC2~^$5(yARM=S}YrgqqFz%(0A~ zH`V!>B3708ZF!me{iM@)ZGKP1;fuXrvh>#e?ICi5OUrKu8SR1Kfx~-?$T*wk3@?3F zE0zvH;`V^|2kzynBThCy;zPaeE$rufZG9p(5w7zVKfC5>qb2LI-#0&R32Ts&wQ%Xb z{$)8p$vk_%9^~3p&Q3p}8{#=y)_r=ZXt>;2Bia@dnKodY950@|QBJa_9ctjdy4jP@ zHQ3s(8sSx06kE(w2*TZ63CoA36q>B<{|oYpr--vr=hm9;klp+`-Gj|1l35=W^5>MP zImry#e#7CWaaqylMuMPh?jNK|LGK8g|D>llw$6n9@4XT?mv&dXZo~b`h-6&0ifM5Q zVG`7AVo(T*&tnAGHNsj-Kc-p>0UhPhOU>pWdaevfxI&x~$c+nxLo#I|pW;qf!kNt% zn_+>5Zd~r(--P3TqMUF?I}I}RSMAP6m+lu?Qy4Af6`1v^7F54;*UW68apLKyI2m8* z>qipu5w{as%_}h>fM;GM1kT~2HcC3tO9c|J+jli^P(=eKsmhL0C?N%+b87_6yq)0B zZC(=K8NUZ;zZNGyoP1cSRsaH6k=|1bWmI}~a_;hP(;S>BqG@KPqc-x1@ zu#_+^R5Ud`ybxfQL7N@om}>bz7NUUyO1bw_bmMU$qyLF4&A(PUtBT$tSlJ@}bhg1i z&?6PYK#-kYZ#co=vE)L49fAN#2zO%#KfE}Dj3wzpQpNp!_`yOY+_ac`|SZRJK+pA)&97SAV`iN zpUPCIWI5fV=w@Fu+~?z%^RGKghNSXP9Ng-tnrBDWLwno>x30YZg59GP5h+F22%0Xr zW27>zPMLj!d1YD7{+>FD?qG1h@M+8LFfjJt(Nps6GlBrDT3B;I3!_uEn#XO#bZnI0 zlTD}1U zIQ94?++{(CCq$MId<*jIN#e-7DR?D(oWi8b?E&(%f3_vT=KefrMFy&Nk z4?E!tKqW2Z>*RCTA3}Mbb?9sjP)jK=Hjj|~yd?c&KMQwjA%n3tRxUI*BR{9oiEu}L z-&>m!AqwU73}a#32fqmeU5m4JX-5YYV}WrqG#0ocES%S6W*C>U(5SG7>1~i^pS!o1Y!Ei7DDs$V+bbe;KS8yqi_k{cyiBfwHy+9NRdJ5~v7Aqbij{nCA65eE{Zp#_|j zvj56S`TWLV0l@|(h<)C_b~RDJfcZ{M9^F1^SVbryI`&!=Z>Bw?)5~b{f|AlTlPOz; z4)l98>c@N(=W&>1q=f=I%;$;zPkTJfZxKzLGD0=l_ zi57n>%W@MZ(fm`)O<8|C5dRAMk5<1)Wg}v2lRbw5iCbe-pP?dfPt&ecSXR;lv>D%0 z^ua+IgdaAb%&{?=?YfUJ`4oYhyF-r*#}vc~2~AY=s9Lq@1n=(B^XUPb)=6ERE7Z&| z4H(b?X?tfFj1oOMB{{R#Lwva%8L&CI^b(K5@SiCA6xwa7z54TRr54i(>@PiK_!^Yi zOk{HJuN&CYnp&=oElVpv@Qq`?nPC{rQCa|EAw2^cLI%T-LHw{Smc6M5_McVHa_PgxsNWplYQ2<&2mrmby;9RiG(L}lp8 zAdzNf{PYL~|LHPRMUQ5D0pS6ZH1celHarta>}9ghJ4Mh0g$&aY&1rw1GSJV^H_K(P ziNL~M?s}mUIi=H=1kUUSN(qRO727dWhUuDXo#>u)$?Ty#HCpW#_o)v-T<6{$Ygnit zEPR6rGdO2u`wa~ejAQY#@lHWl$e1o2#j4vR5x4pqDdC3<|BgPqhGImoNX(0Gh=hb7 zHkogh5sBeI!sNzlfYGdZ^TW-zrTvc!lp|`#qvTX>B~zORj80~~Sw$&sa}bLXafX-= zy^Ju^1}>Qk9H&lp_)0P_oks)QK7HqlyXF`GZVla07=))h(hMt;u7&^YQzK{UAWa4M zCXKkyFrP6+bS4qzeb!};4=$~bRCaS}`O(JO*V?k$? z0^Ly_4}{9GsMYcp&5uX@)$HpS`or82!b3HQP#24Npv}8Q(%4d7hQ+l*-82>~S~l2| zL7Lf>>%QmgwUHE&lrUiHA-RTzAE`U=ZG|Z|z;Y`8iv4T1gL$@PK>iqq(s+bqSG4+O zkx5XcczdpftbcMIa#r>|1py6YxQYbBLVq{E8PZ`{|F;j}QQmTKFvG#{!E+H}hzJT#t z7BKI%f<^ZkS7uAa)hQn9|Mvo%rBu!Tq&a-1f~Q9`SH{+Droz!}wynbj@&Kvb`o2PV zRg@#H%(*#e#BlW47>SJ9f||3R{uk62@W4{C4t8mTF34`5IB+`BJG%; zpy@3|#+KgkcES4L;!%oAEzwIp3UTEJ-g7U7G(POe+EGn%6I;y6kMPN|V-5;A(bW>B z1~oUW3o7?RF?x0k*JIUkm+yjeRwFQ0y_k~#BT-Si6>%X+j_aXJ6Il|ZiqBVD#owEz zDiS+W^MUnL8IMHxNS_cmoub?-2U1K;(Ok?M($$!`*_kIKZd-5pArlN)r~j1$w(%$i zAF|_cfuEc{_RuCd-KB8~H?Qt#nErq+@$7}J;%mTCQ}d}slQBtB-u`qNCi?HzDr}GW zbm@P*rO{*f&*gHqO<8V6TFID+*oN0|N8|29oqF$Xz1C8TGoC7~#OqsLJ!Rzhw-QSK z7Rxh(EGcq11*Ao2aBz`JTzcD;>&l@S=1iLr6e(s^@`aGYEX7kw0b6hfLblR=;z2qHR-$M~#R=fecL?j80uq3i++rI|44 z_GCc#FC(q`6T+5GQrz=K=L$xo^3NnhPEvD_u@xfvGCRaMtoYwPO1)~=TW-$~Lu-y2 zR1Vs)E-?EAoXz7~;3OoLZX{d1fBWL;#eHieBbE`I7A93oIufT0JxuL{_t5r(@dgoT zu@3A)r%V4qDQfklnYfaB6!F;9SkK(;dleav`Alcr{raMnKajOCj&}$WMb+Be{WgMI zPwl?FMbDkgOzW8*p{@0n;`-c0i{&Tp3KGR2z+ zo4ZbB3razBkck799U`8b3ec57nPGi0jM10lY#tj_?*k8C=hp!?m$-s+ZQH6KA4bJ2 zU?c!WSVAtLIabSip5ql6Po$A}A_}n6p8D6mfMBIZ7}jkA+grBi;1%p{O;E=_E7mp$ zWSk{Vp1n;r-7GEQFJN>nh5aCuh-5sx{E|j1qqDe4MhN3W&Jwu_ocOe-+*@)EUwN2d0AA9GJB+r= zh{&kIduGtVyV_{))IrE*0D;2aW>`YgeWe@8*?55|Nsm?7u_j36dB|i*8t)HR$kE~r494>eBn(@EsA8q{Ma9#xUQ-`mcBg{$(mbbu8cU2{P5$40Q^+L~= zCWS5>=~W^`U7L6|Z*Ziv;H=Wi%1Uafwje%GQ-;T3Au2 zN0*a((g+ND(>JM{XkRAm(+M0FJdtUSebz9)d@~^gkxqC1;VNQ0NuY~s8&dFldCI8!?b?o zdV~%hrir9#Nfdp98iq`J-Se4s%URN!)BYV-LQPaAq6ox-$Mo*u`~e6oz{1Wc zyzm^W(9ty^Yp%>h_6n)Z+qD&l#t-`h6G$N!rF@lAUB_6ZisZK#Qgo0IPv2*+5zvW~ z&|jBE)pNq~3$7WN6s45Vz8CqZU8*y&M=G*Is#p)G676p!f)J{l?zP1kO^7No^$^KxsS&blpSH}vqBGPj8QCbcJjsFZ3@3X7~#n5b}h zE)1qV1ahQ`4fToiB~Nu(29cLxCUd6w29{0SyzpK~Nt)M8I|PW=d&`Rfz8(9DOiC{e z;fJyJ;4K>jJsQf~X6*d>oD{eOLaaRqiW*9Ru_gQU(*^*UX`h(Z-9U%_2kSzePyP5| zqt@s!4tmPQNZx>e>~|vFBbj*H8|`SE1bZvI18JrtIgF~Uzw}upFN?4}wP07=FoVZp zwvP90vuxm_ITp#QK3e&WDbl_^GL)hs10JvJ7u+XDp(0 z5tWD!TcI3d>L3UfI&D$8*Uwb|P{&o=Xol5NXdp(4u>E_a>PzTT#DPm^;=O+cKYA|} zrFfu5)4IK0WQgZB{JQNZ2-nP+qp@r+#NBICtbL|xI2^Y&a%3gJh9~=jYlT@6Pr9c! zhh+hK;Lr77gBGcPmRGn1ed1B&mJ@F%Z4!Sk;QUd(qdqc;aMCYXqh8f5ut=J7n;F$& z%^VSk?;ztsg3A_8kGRk~Z6T;497hrfF#l*m2f{^GKQdaHAZ@Cb!(~mHCaiMu`3_+C ziM$Lx*s#nFaVi;K{UZUZ@@fSZ*MnB!bKUV8Zj5N2J=x(beS2*qs~BvC27LBqP&mbR7n z)^X#B!%+b4^!o0+0W%Bp+7o#+ydeAXvDg!M*nT}D5-7^{MQ1*C?gd`zyz2T=XqjtM zRCcaKh{@I!9yIPRi}hlvSdWp_mXC1P;@&CEFdo{8AaEllT~^vRG4kvt&k0Sc5=&QR z`q;WDua?dwL=QNIE+k9c5t`WlJ9lqz?G{KjtCW6CQHodcuy zz^t(g9pIM&AVctddJ&m>8RfaHR0tC-u?UcWN@>c_aulF@#!`1OnqxP62;(jmADuj&%)lmbzC~<$rT155WrWwREK&zBm*sTca$uZcRS zc+*@b=yES@G+Mk(^)vB73NTUBfUZ|FLc4)H76z#Lc^JRHcr#Fn^{jCok)`LCE*^876R%j1o`PaM?0`ET%q1 z`1~jO*w?#4B>)#+fo+bX9R8tKkfPxzYqIkki@rC=F1Z``If((0%NzcGGL)=CpM-(? z1T_mSC0VfQjRozHE}LH|=tkb7Kh5UumwP(s?gQBc-13@?(ddz_z^IV=6wGsc2ung| z>(x?Q8SA9_)14(}@H;Xj?QBPKfLowWa2YIbdnpqqs_`o@s=4uH9J-__rK~tl57kqK zAB8r7(n5K3A|OzKofO1gYPmR&NG1yLMBrtpe*Jli9XVE#+G_I(PVwjdzhh?wTSQ^Q zdsQyqsaYLIp>B>*sP#h8W*A45@tyWbk?tAp(Ea;Bq%!_|ttoHZyEg@Uirk6)HKH|= z0{$r7w)H^n4Mr+CF+uGEg2_dOtS$$S)~ymtjHPOkIQ_ze;~o7l1?$_ur$MSuCU4Pe^o%rctf9^$JtQWSjbD;s@I3cBTERz_=5!>UVGE`&{+7%3SY<{QM9JGc zZ{p_f3>#{3z+)TogzgShi52Rx?RN=6c=`WVT3g#uwoydPt37(Yx5zF75+R2carT8o!^aBZ58S$p*R2gCq) z4i(FdlVSJ4p>s!QOwOJp(!5-ha~IokH1fbiY)Ic!FcQAVfy1ri`_~}cbEuDI|Hxy?rimmjo1Tap<{)N2laz?@3bd$V4?B1!IU)x#rocZeBludLmVNz)Qk@-x1!*DMup21r56mK z_m@gQ6dNs0^YUxS8_5WRc`|GoB*($czHOLZ?T z2nMHQQh6yLXPCawMyVMuM^6FMq6V!E^;lOTLi0X8D8_k3M8kU^JJ#19@I z4ijOf^%ar_Y#x2JTZf6^uaM0A3ebb+1vZ(f%q+ci|5zSka_} zy1!?GzkG1Q!>Ni813ZZ?%u>HXe$lE z!1Pr(GJ>yg@bkEoVTr+Gtw$-qoT=gxEWWlphIh9&yXExGS4RCvv-W6rDx_Ri1%> zq5rYroGGP%lv2r$_{(j!UJCbVgO(f?slzoq3>Xfj{PnqxYyXmU1z)I*qC=i{#Qq&- zQtz>gsucuz(AVde7ieu zM}E)ETz=Ua36l7vyF(rH7g1xHh?FaxG>MLa6)gs=Siii_=`THf>~?jIhdsRk8nrj~_E=SzA-5AB)4OL+ zM%e14#*$~8+&i}v5Tq)f4_^g)Xe_G0`wqzs?zMsz?Tg2gHD9ObuY|3X#3*(4hCTv*uE->$hmu0v3TrC>cdMcix|@x4I+FZN9p+L~&W9Nmn)EoLy}!%_bzZ*Ncum`JJME*rr9LTl@2s zApS%B1ANY(7!B(D-3j$*Aw#%C^UUnLNoE~;BTPcwnTwm~GECEtfZ0>k)IU0fLd&_I zgQ8*aV7SAASb%eM;?aMz%Dm+M84OnjE7Gok^|GrzfYiO03yEgG!U~;o-}5p4zOA#l zL?E#(t?dZea;u*wM0L)m!{F-X)c>1y{1>Vk>rTz<=Na$Ju`K>2ut;Mqgd_HN&DKfN zK<3nd$YBVETvLvr4WGIdg)!|OqAZPatGc7tF@EFF$1Qc?{16{dzzE~_3;l{Bp1a^- zl>m5upXb`{{bk8`obn|~w_Xr?1CN@;=7pQe)S}FQ=8S1|O}gx5E1MI>%xX}K1nxg` zs4P-QGwpY!+*JBRzaP94{X0GrrKo}#PnAfyihcs%ASl`bx<9WT|H&`to2ik@o_^RT zF~AV)?AZLMSrG#^X+QM948s`bDfU<7VD9-Oj!2XIC+#jg)MoJ_YpTFzGWmzFB02-H*SE zti)Bb<~R(GAV#^{j1Ys#P9g~JJNK-qRSos6?Baehl`$PAU2jOw_|qvu0Y^tHnF{#? zK2_z1Muu)ryWD*bE24M_l?9}~FaGg4xCe-`27DxP!*yTT$({b{^%E#qSNRc5ilBUO zNK-eG2Z5d^j8bPQVX6rybU5y%090;rnPLE3j%?uWG>`J*h*C zfohwI(fO5J26V{|ybzCpR1RT$D}0B^;fs5D4*gl8&)QbsX{$hMYP?KIn|{gu-uN!O zj9ZS`dV0tPcO}h+!wTiFBy|s`P%Mo8`xe>t(B1m`Czy$a?)QEhW)n}NG^gm5O2PFx z(%hzC)l+>Fl_u9rQ=lm$jkUBkpH~MJYBZ% zrbKVc9UG`$812rN95E5$tOLkyBt38 zWNH|R?P#3b@}A`k{n-jkU=bgg)^B!?xsKNK0vkqTT9xG--a2P$ku-0e-hDe$YYWe! zUl8;d!SvhSy=f(j?2hJSgmv-p#Ql{1K2JlMDtMoMwA(!z>z349wqPc_&Pl2^3nOvq1yqk zER$W7FdV&}4^Fnrwv6kh&Jd89&qOl3-FHxfwHewFO>lg<3;c7BAFqwn)KI7Gg0JsbyIAVkgKn2N9@EA`3 zr~F`88Pce;s|X0cSW*4ZM8W;s@`K(0Qf$2nBSxgRj*3>{Ne%I%0kF8=yJq%ggl%+^ zw4na^-Lpaim)&UDx-)CPFW?pKw#~9_=jJv&D7a@qN)A00x(2L@1oa46wq+f{I!asp zllxZfK^AJzEONXVW?@NugpnQe0j2HT^h6>N+UNH*{^Z)FtojeWUNs{g$8FhIAis3J*`<6<{o4IiE!hb)(+Q%}}%9`@Ma>L(kW5+WLZ`^lT#kXlUUQ zkpBD$+%SKgS|fT-m^ck?t)Ylsg^|YKY z3A(A!uctSH& zX~aiNsr?jmikMYrwVik+Y=X!t3 zsr*b3?4ga@f8njSnkZQNh*HrYo6Wr4m5p0+gpZto3wL-v>bKXavSc1A!r1QBQU6+P ze)dq&eH$^!Qn2I|0w#n+q;&T_J)v#aXSQ$cs%z|db9Sz4cP(dxq<~ILwoW%+T`pbU z)tCP+?Q14XK85{X#mG$YNZ(wNRR(v&Qara7R3bA?1H`0DAD(#rw;IsQtOS0Wx!S+P zOZBm~$~QI++V;S~h9e2ngEw+#y;LR~Nw2eH;*(HHexu7ik>XwWMs<(#n}<}*!C;|Y z@nU|sOwo+hT`J{2z<#p{?^^H6FQq}q&Sg6<$+_2it@@#3{(#0@;Ht! z?))ERYFkU8Kd}k6HZCCq4r@KM?YRg!=7YeU-L$5BkpYyR7*TdCIz~UYwkhJw@+>x_ z`&RQFJ_bNW95?{z#Ppi||9b)IW_b}c!HsKF^XLRRA89kK^Xd1Ai5*&U#JBVu=HmI+ z^gfyo>ZAdQ!?N8&6RneRe$cu+(v1aXii_)(gJ%JUN@8ZX6^{IG8^0rD*Ib+OKoFBX z$2v*I<5cT4w@|`^G)oeP+Q?Pqf(nhrDqW2Gl8Cy;|IU=qMW{7cOI=f6+$w^ z0af&Xfx4Tb)`MFK;^P{a46_O!;~;}oc}9i7lpB+Pn2`3Kf{%Yz0v0a3b&wLbvabXC zUfqMB(3;E<`V4g>QUrd>LRz1HNOY#U24DWu%W0%Yj*mg@#bay~ptCmd(_7EM{s@co zQ7!Z8rCeZ0*|>kHpMUR!_T2}QkK&2g1fIp&?1wA|LA8Ww$|7-*U-iiGorJaStB}x5 zm7E1$yIWVyh2|LCq=)pl4iMT`VY^?XRXSO+pnnpJ)#PH!SCd~x?7tm4N8mHUgl~Q- zapr0%mk`e1yin5&2}IF?jskk&eeq$M=-3b+8Kb0iqcFvY0u4YPJ)tr{X; zh25WX8R;fd$|V}=N<^ntM_p+7JW#Umr{{}4=4Vvbzm*)y%5eqm62B7|)ddQeZ_;QQ z7?gh~Ml#nR738ynS`HO_*4}+vrFK{gOl#fztH-iWn)s@|xN|q1JUKh^IdC2;!!cX4 zaUfF(9RA)7PP<-c6})os@%1knY__q<=6cSnI`Z=_nvkxOq*vC`D{cLJD}jMj$o@dr z+mOY5Xd8jH-PtKO{SEeaEZDIn+Q<-7WFcA4;qm#!pFGvJp#JDaJQf@loagS)HHmS2 zl*N6VHR)%R>oXXi`zPzEi&h66e*2}}->PKDn%hDdZOOaq-Mu+nSwQzpu0VosQhQPC zPB{9>Pvh2E$fA=Nvcpaore3X8aG-+mr5pp!Aw0r5t8o)YB%l~tWsqv)AYx*N8QaQ7 zpIcA(ycVfH$Z(kbO&eyw-JOe8eknAi8+;B;*%|p)tneB|wN@nryuZj?WQRliH_ts1 z-QXSWZyJ5vuG?=sGXg}SN`lEpVydm-ZX^m#FfOG;hyI9zxC`$ELLOKTfq{0;$6O!$YJ|DELD~9SBqtQxB6+f9CM4 z8g0Fh&`Ch@cwzZp>*hve4;&Zbgn=WtX@SbszkDzjSYXE*tF0mgNOPCq=2&9!1z!XY zD>GYuJO-373A2W!mf8DR@??;7{6 ztvV31V2zEWY18kx2-9F=s2k?F2p|lSv-l2hJqoAiY^-j$j->B-RZkSj^GKl21-;=ZBu@%*y1jz zZq}RDVn^KQUO4Evz+TH#ubCx*t(R2i4+XSD1E&9CU$vtQuYohe#z^29vpA7B)G}|x zN3sb7su$sb=;)yuJ+>V@hO{n1sggPNZRFy?zCq#Zb#O%h#|YMSw+TnaV}>6~sjYux z?<$1aV~QhO@^TM5`S^@PMMkLqx~EfbtU<}(=C?R$3(RovZGQNc@Ey2#zjE|64}`pw zHUB@NzA~t-Hrl$SI214L9-z3pd-3A#?oOb%yE_zj2=2vQin~joNN}gUdG9xOzF(Qi zoJ`J{{hTdpuf6u$NGV^y`#L3*nZEBc^X6M;Sfu}TpK;tV^Xf7W*CmyRaAmq=co!EA9gZu=#^Ece4gfQ2n_)U zcjg0{EauRZW>Y*4>NY`~->JFMd6oqtHPmOP1avF+?8m_h_mmt*g7dn)KHsieVis~U z8Fm4~_O-I5IOL%y0ZAp<$K;kx9OlJB?#FQ#i7G_Qe$4#2<)Nu0*RZMGVK68Q5eS8vGFe zw80tBv31n5^|2#Z*$uxqv``Zw z7}{+)m@ti#@24}mtDH^0f=K|*lvhz3<<&d)5SU_zU?kg)BU!G8M0#f46hCrzbj*oc zH%bdqVhrfK6d;8^h3vU+pX9{UqfEh$TG z9*vYUDEHt-JPq%dp{5nSyLgH$u%lRV+?w=q|K=`7?l{ntK!S*!o-$&^sXBZ#9v@^d0$a!O7rY!k&O+cnCD2 zj=YnR3LNJ;RlOGy+$%Bjp-_=0FQuLfub;trZW(598xDk$7V_wiLOqgZB}Y)>6nRCe zF@l+Ha(4AQ`o#HUc;wr+@Dp)SW8lbQ1XfYiL*QNWOVV!E;I&e>>l%O06wE_e<5J9AzIhtVCtB4F)Bbzt($AUhU7;!!(jv!Mr2vB4{*UslGwVzc2Zv`9zcD9IDrn@@V4meL09-BGhD^^S0(UQF zLE?cdm=l$QC0S%8(p5UAGSD_QlVS!&Q7lfdfPjIoNn?3sj;?|j;<1}>dD$d1T?1P& z912QprzmE)BJNfW1LPr>lr6VyE!|K!-q7fvWt#gbnsv^87!a`A;mOWil#6l20xj%% z*mm_4)PY9>#J_Ie0G7h5M=U!!UJ*-7Tjr|)e-pJQ$=MFm`Z6y2GIe8SyrakPvnxvr zF`hORg zshtt~(`-Pam6rIWl2Adk;~|K7^lwcECQ1RtI>hjSDnoeOY>WtML?88q9 z-H@c)CDLohCjUQ!rvJ5?(P3w1zZvowp^0pqvb}HP&K6X-TC`3@nFgj}&8BQ_+umkC zoZS4&Wpw0`M;bI(Tzd^ETYeTCBq;#t;JM0y(O&|zlL;Dc^_ z)8$pW(yZ!OB4uC9t}iG!*i_8waLum_p0%u=P0-AK>lQNa+yyPTg?=|@a?3ZzFMZq6 zjX8A|5koXurXEskIk>c5-Z1 z(LL}>j#C=T(=1qK^&}M3+_o4oYiLGbJG=N8$4c=*N$W=6pvI-qun2>Gd+X0tPZ}-U z*;xKzVZehG>Lu`ixEP$edy35kl|Pzc{Rj)ToV53pFf?>*U{~Z7h$R?8GU{ek9z@pE zlj!v~%lYxNNIA>0RQUxae8e@NbI6zHFrv-t)Cx`g)kQv)umv@=`1zUe*Xt&h6b(Itn26l- zrE3W9#9JLrINpR0uENJSv8jJuo5o#SqIQG6HGG)#wtU0$ieXk|D5+_MWM!!8-}FRF zhI*CDV=JQ72FaJHE6cFFffrMpJt^tI<=PBTZW|T1Z_)y5O7VC=VPbrb=kOEDQoI%zVI3?6&ZASz2e zoYF`-mCx79`TF-f?;CfgL=|6wbmmP$?e6I_yOEFqI8NZJS0bjPpthOHnhBi1O$+5i zGbtX-IFFTrzCi`16dPxxp77!5?^>2Wj3R)&Og)X;;~?N0Z|aSSdRne+O>mH^@ZHL+QODSOS?W> zI&)f;!&J!=#ld0injrn%H-BNh$tEJ&yTQyhO(MY`j_I~+g>x}aU5{;;sslBy@q;;0 zCUv{FrEBa>OO#GE-0jeM&J3fe^efBP<);Dhut~bJ+{(kun=e?h&BxMSV^BsK#}}&x z;pB+QSjETE!YXPyJGiPo&EnZw)4rA_x7?aTfM2p^mFngNCop&x{YFiV1z=hm6-U)3 zo$W8*XFp@rOAXTbkjyHNZ)=rqlo*^{uL7fn60&&CH;^&UrcZ_Nf-Q(>b{s7hm~Hd{ zfLY4ks3KaSs*$0Lhk(Q^<48dG9(jM6c(fcSmWxsDI}39_FBo~)XjZT{PSX)zY~y+L z{8;_ZrFoaMl{rBk-u1+deUffReKF=^Od3pil~mR62O~Li+E_pBBD?=Q89nL@i;G5|aG5YaBeBosJ#t}d~v&m7403!FJ@Z&}}Ndu9~5 z=WHjT=V9j?S1*CPT;zF{r_Wr*%epfqm_u)dD%98y<969H!l=f} znl^jm;$!`mjf+X^z>;s0Cd=XLv2B$vg_nra?`X0ZX-5yIZN~UYShWfX2qjt}Y?p%AfgC zx-aLCsR`Jo$^uku>8HW7OKZq{G;-;j&)v!#ir&v5B!(NO*i`M@>icg|3~8>SxrEU{ zGHV$?uxEOMaDu4jFE`IH!pm%Qs}-}tB$#Yv^01lA(7FvVTPu(K>gi0d`b5g z%*wQa$_V?m7%ih}CPMsYNAl+T9+1Z<7y>K3W%r-yF>NrxZ z3`^*vPsRn{3MsUEIhkx{qzXy#%x`Kt-Td*5xe!wng4~Mn9M9{At#udaBL3F=O*mxl zB@v6E2p3K7#!9x&jVevl$}i!GfY}QY)I)n(&U(rJ2ikHR(%UfbwGwWB$NOB20(p^d_Sxrl3UR@%(AQV6IEK2od z6CDQNyjNxhVt#e98~!ga~{BDs!b6GB?s zHsb16K8lB1&Z{@>cB_~af-%=3D=B7bv8&CF;%rKNl_+_{{OQ~T@L z(ytD-1RMb`-NggC*J$FnJZ7bS*x3w*K@D69Gol;d?3Yo%0%2F=iTB)|4 zz7!C94w*OAB=~Ok?<5TLb7PC|GLGA`jSl-pfse77r?o2a+zx^FKOb_j zlkI{f*eLCA8t}bq(9HrKF1a_H99c8e-5;l%cTuDYY>ei=as4~*fxnJ3xWS?mi{*;x zJyhJ5lQNLqeMif~3vMwS@(SogmA_2jt?kf9)JDWnHGMKN>+D(n|d6x5n&Xa6b14_oAs1+? zK2|YJK_x#wBYHDKAhlKn_dVsHnK?gOCY}w7vtQbK`ZS}ZzDe|4Z{}^Yt|F$(TB(Bl zaTm;9*`Inj^@<8gY96TgIjetfdcD=F(&nh#B6 z^HEElaGP$Mw`Zs195(PbX=55;Ht6_HBgtxJs&Ve*noh*%2tA-V_?O21uYdQ|ZECHaAgtkj(v*KZn1*zDu+JGs)S_(iqc?zrkq>nw6`tzNR8kBBhhLII|8w;LW z$R?}j^!6+M#{j}zr1KGCWIFeiT z?0lOn2!9KSX=2hqc|zpQ@fTjbkjSMhO8xOSMept9S%-NxT~+>SWStqp(+T_?({a5F z|IT|Q4~U3!9P<=`M}gjflBIBe zz}q(M56>!@Fh3w>e z54QxqZJ$Y<8+VZFQ}1wk207N$dwVqvLmiwJ?%7*(OS9Uvmsa*$VZjv?Hm(!}t)cjI zkTlZonHT=nhF{))CFP@Ohvpj*P_I^BeIuF*Q_6j(HU=_*5;v9Jjn8V{`ra_=dT@j_cVtvoTZsgCC(FwqQp?`+GE2 zLsAKo#trab6ZO|?nnJg$Tb_vT8QPBx{F|^M$xqOj`R`O~rnrQB3AZ-y*H(s;{S_U= z{_0{0_uufE4)e-Qck9v-x|W{)xDURG4vIP!lUtDKx_W{l_8~`%>JTpgGmJ71Knsg-LpJb#MwfvO=^zgl6VYX@Y-mDzOOTS)peERe(+~C7%z60&`m)A31s>Kjv#S&lBYH z8_*ezyR>Q^9(!g$y+#Ei{m~a_U|m^Whs8w}MLXjrJAbV^Ee$7ym!>s3f3yoTP9%JZ z+SaOUF>f{4zeM7%Ru*ZwQ!l?iKsq6seDw6y{`gTv9mdIgpSS-fe#?(J?Eh}M>6b+3 zrYN#l&F2ApCD`~_oIcCUE0JG4QK>V(bgDi}nOy}X(-Bxt{_1QA>D>~glx;3EW}*SG zBL1CrO@ZP7dwPh?o&ihF+4XJwm=G_ja*F7}LVb}R<=8jUJmR`Bbktn4Hwzb}BI_jN zVTJLfIo9cA(ZIcPCb=q~9O|LVyXbjSHW0t?`Ri-)cE!O+rJ`et4)R9tVLo@o|OzdN&U)_XhpJNp@S z4wkN@5)SR#NNXe`i~f9by>G<*J|XVnu`te6+2A|HtNE z$;?qIrh%@dlVrxP{$oei>FF3p(J_rrm0z5G1d$QVMO#U}mMv7>bm;9alC_fzUyjrq+guq>{ zunKk{zSG7MEhVdmn43a(b5FPcljGKExmaJhsd*P^6 zCfrN!S0!Lo(wXa3UxM8a2l{Vhb29iPcRvuckO# zvgef^cKK7^#pNDnYF#|vG)0xhx>V+^lM?$s(*?Ou}?1H!3_p8Ofo)IBpolI8e(%R zYI9jZk4z;j4b8Y;aW8mV^+zUe#2GKv)@`o3kFqE-YH_L z6(aBcuRn6lt@aO8_AIUer>5Unp9IDvy@QZ>K+UKP%gX{)z`w$QLW5!mwGsnZFDW-@d%N%KfV-PZ88Nk>-udo|xQc}k$Xe=7?o zD@^FbeGvZFY$}c~d%3&qpL099>S-(sK46F&PYGwa zYh-ZZQg%TWY!6W^S$e{}C7BR|gcHHjjuBbE7UDd3HR9l<5}f!KWIJ!!gLycyyu_plypo&_Mkl430K&>>@p zT85^Yv+ES~U~r7I73zl1;Pz#q4UAEE@x0+iY%IDYYZ{s8Se{h@}Wf=cD=U0*fs;t_uA zQ-BfWn#d}FUDWj7Oh(!9qoQ@90_2t1`I-VaHD`XvMbg3U_F$y9APIfRRbww$&HC)P zw>vq$uf_3_jd#DY0@i|}Y0TyFCAL0uHnbH4nj%MP-fM~D?%GP!^y{mkL-V*1K0-S5 z4$#?>J|dG!SBRrwfiAgqbXnCuSLn}m_0h?N-;>%2srfq~ZaSUhb`Gly&s6tMk#W2R ztT?c-jzo?7DeZZ|{q{1gTZWG7ykw?+IZO2N{#OzKlbIRDUa0VzjLdSp1F`h!V&RdABptD!7V8WsNE zqr=1b(C>`C!hVp`mVGt_HLf&;5cu(nGJpTL`DQ>JIfmr&@A+`6GpU*H&}HO%0`+xQ z8!Wk&KXI=1fmvSs6ur*kI1ZaH8D;6t70~E9paF5{lpZj$+j_a0Keg%g@FWZ}rjzIW z`MGN_v*7#=007Z#2B;G(_;2^W{LuFhnW^}D zHQU%uLFs~wPUbGL+$qsHnE9-G`tvpiN>?F9@%qMPmU1P=?g1Q&pC_@BjUB5kMg+Ok zh8!IGX!wwFq1kmQTVDSVY{j9X-PV>xQ}jHbS;TGT_FHJ;*lDIdK6xeHbA$LTjudrx zjU$Hc+83^p&~BcOo)b>S24*Lxa=3BXtu1gXLOA#Y9J0^(WT@Q^k0S~99CKEw{%|Oj z*x1dzT=56Ydkgx`MvO)-&h>e}#=W!}skZ=Df1EXVCGo(o<@>9MWv$`^N* zqv&tgf@}Eq2de+BONS<9Gv-za??KcYO^mGU<4tCl@c7@3U)^3$tU5$!;+uU&rwz@^ z((M{uwe1Y3Elc|*)zW6WDji-WKZ z&VQtN*ci0=iyUnRF`um+f-N9IG`40stAr9wqoB?3kUY{KcL!WbOOwE(eNH@F+dHRA zl`+mRAsRle@4G9^vp2&F>Tk!l<^8&Z)5569J@4@e7HnV_&$3XM-hU&=|G;quwm!r9 zbCa7eiimYoZ2YWpQS>-hECymTGgQcMiy9=?_|`6Q5=4WnbIpUH0k$f*W1jE{$^bfV zH4~RhVPDk=awQQB(*KYgr2G%DNPUo)(d*wYF6rQgZt7h*v8*Xh?psW{_|82EVesI- ziw~J{^siEc?+2`=XC^ni-WOs!39mVDz(U&GW_?Te`q61f#o4G&ZA97;(kU9YAhk5a z(0qN#ndiC5E6?Ac*6$^z=j>O{ofjrI!hGMB+i&k3vK5=oawiDL`Z2k&*q0bM^7H+@ zVF$eu!OX{3rT>~nSZO1Lb!Z6;W1tJMehFMPk+{Nmx9dGbkoDkN-UP;iqt7*9TFCJ z#X)JGiRP*}=+eIh*Lmh6Y6sshUwPM$R9i0w1i-)~;L_&g&0!UD}7bA4*D%@K&B`-;)8LdWZXxM1Ha_`+YkukfeR}odhA5 zt1x4JHztRgo>87%*ofW125)RZ461$b*x4h6TD-y^(#PHq*xy1c5OpQD-Pggyk;kvI zt6pa3+uLUW;SA^!N@NHTm;otu0gAxLsC$=!7`Q}jD=fd>6DY-~BpLm;#q_U#=SaBa z$T+}+M#!~(&lqD=SrY%&Ei0FOIG{~{;=PucXL$q4SR+^Q!xZ9zYM_wSaRI!O%dHsS zM$&waS3U(auOBXL2`|VeV?V}sjp7z82PVPn`Doi=Oi0K+ui95!&bzjqXI1W`9kT(> zV3mR;URr zGjl(VMV>)BHNwcT%9v`AR9qPGohu@Vqp)NoxK{j#=ra5P+pOEnqxs{Ps$AL4m(cHv zpWVz~{yyvK6nuzu*&2GKKDb^{OCFH&W`0cu|B=F-@JYo%1avt2u4lC(SHMQ&9W!>X zlQ!mCH@9@RbPoRN?HzAh=^7Kg)+o%CyB@2-f7FrhFW7N(b}Jth$*jNfGZLQVVV*Mi zlpxZ%u#XZJ7@X=CAV)^GDZo9tNJA!NBJ=843ksn)ohHguLO_OlQ^-iV=NBjGiTLNv zI$ue!lOd>d)Fpz}dpoN%PDXOchZf!S*DsX!B;v-=(ynOyo-YC?SeH*(7#xIQepxLB zY@Aygd6!qb8aMq_`!(NvV$h^2Yw{JUUvLxjgJ(R8Z{a?*B=1t z`zD8+FHRy8_B~oiM22eNKSg=oD{_ZMBvO`G#cx7Uns)SIfzY+K&e-PP-()a=;LA& zt-xV%)9W=0G_H*q(wKS8E%<8I)`_YZ%p#`eVpP6}EtqvxA}YsD_m9~Q zSI6i3e?0=0$@96YwOePf-f#%@!xr$u08XgGD@9!zQ;T)4uD|0tK}gHEsGdtp@V!$% zp(`U}nW?%O-5#s&j6pTdVGHP)Ud0f^%>drfwuOj-SxE4ZJUHoJu)VIg5w1y@G6H3z z4wo2N%W+_UyiY-kbU_=GgS0@Hxbl(lJycD}#lL50+&3vpG>JAF+SgV}Eo_+bPR_>h zBNXVxxeI6eOmiZGL<4BoWoguyY!Xl$M!g&G)xT(~}MrUWB5Rd-I33)XDtT)x( zSn+!Id6F&6Pn;qRNlk`GH3GqeE}F#x|IK>Z1lM2IqksMNt^b6;F7)q^9^K09$jo(? zwhO3CSP@_+pCJX~1h3g9Whf~@<(RL3?5vm85EHm2K*A-QQ;{O^^~NuPnq?}3NxeQm z$f}-yyS?^v{b|P@0j;zSvWqysH%R;yI^zB9T?`hPf(36w-`6cs>;Bp2ZfDzUMwIU` z%KX8mH5gO_MY*>fzKt_cOSl{FV^RtPS#6|15W=Ki!{_)p+6cpc4J=2b$Cn>xMXCf5 z&U}B}Y}Rv-P2C!IA{@D`-XoYS>Y$xjkNSw1{Q^)#w$L=EFO&u zZqWF8%=?|iLJoXMj~(n92{qGRzg9>k~F(KDTG5HKS$3_cpfgcic;8pbChu?#lPAqNhYB!ZW#VXebDE!+dBV_`9QM{b{dsj7CJz zHtRnNpSL7nU;ZwMD(9JnVKhJ07TIv56d6}8|DC!P;@eKK-ST0E^!O^;r@Wc1rHob&h-YAUyj`6;f? znN#J<{1--yyGxE!8GodDdsR$aI>l$y*DkLxzi^)^iv!F-kw2c1m#sq+XB6lB*y9h2 zPns&jR`IbO436o^>EL?Z&2CI)9YzN}o}~(z2*)G-x$=ajqSftA)XkC9umA!QTEE_Y z)ybIruW9!ccM)l~0TfhrooLU)-}h0wSaP?mo(a zZa6h9vJ~1CxKGP1QqazIy?wJ!F&@W-Ts(g=Y1?zW@3c%h7~dxzXifML)IxoZj+tY? zv&@e3`g(*Inc#gDSt#pr_#LUC@;H9^X}RO;?~!@XORoj+ceRkx3UJlt6Rcj8i7}IM z8ce{!8!?MPCLM&4F7?OneDHy!w2HP_gG=o8Y9A^>B)RDHtU!T&@4raoTOppAhL-n{`o*+fBffzVygGvYUKh4o6gw>%QJUZiMvxn^|9Cnbma=btqi7g*Y1urlTy5S zB~Ak9f_vcQa7bD6;5;eQTEz6NN&dUbo|wW4ooagVAD>^1n+op1Qj{uc&Sm&en(fpQ zHkZ=0#+8uA`8;AFhPQrZ{Y^r1nIZDiULJ0qN$ebaY#tOG0NUd_JYfMUkNkVJS#IuQ z-1PJ7RmTw`P`Fu!@)D3nCIPE1Gh@8UVu;tzPC6aydP$Iv&I z!`lWMvg6+332*%y@WIevvi|7wnTcE-(!;fhY+Z!C0!3c(k(kblw1%8qVCXVX&P1ZkVhdht|19JyDXGeVo`TZkcfCFfPhh@gir1!W;ZbP}U zd&D^WQ}W}^Ag3p0DHiO$4g+*jLz8oZv9E_%QkWAzjZ-il~-4$VOMKPwMLI zjsp_0Dz`9gsxb>zM~h>Sy?48iTyRnbGCg78w2Vv4T^`Ox#-6X~)i&&7g*(&J}^L!gu zXGs6aA;J69H z8DW|qE^h}v27Z?@w}De?dCpSjfU*Ivi15JBtxu8rI0Cp69`hNrPxSaA3&+rP+ea|v zmXoP4WXj`%pQwq`m8IRE>GvX~{98DJ6-3!o>6zW)YPO@a~fAn1~GQ$f$2yX(F z3CT*85^Vf{ho=58_rBJcGpdalGG$+zyezjDbgxnib+0-&jSfyr`7@LjuN#fOpwAy- zW`#E;C)-kt@)YRqpWA1(EfebRSaZaxsrg6ZzL`{gCJT=Zz{v8wdf|04C)A`h%kt_wSf!y;%hMqLU#v6pQsr@r6l=hol6t?^kh`ndMCmH&K{P4eKj z9rL|(H(=kd)+WWdTrHJRbIY`A$ z$>BO1d((!Y(@V_r8c!nNIc50T`)GFPNAD6U+h<*SD7#54vtKb#R``^{J3BI^izPr= zsLw|QQHpBodfL4z<3tHRKG-YGBXC&kO?i^{_1d zfhhyLUr$6y(Ul$-yp$clK8eCmnx;AjMHdpLU{UShD556|LEJLx6~5tL8fAuWiTBcM6tk&nr5J*ek_9K{)}aBTh+2~moh{F%Drn$Q zNYKb6jz)=npGih9hT*PE+N6sQW;SIiTsWYxPduIIMNYboOPD#dp@dqOm$GUfu)mpD z+R-$qE1A^d!+aN&O1(6~_ql`sMyv$(yHOHS5FHJv@qDgW*?3&Pd{AnzFTnUGAt=Wd zBY6yOD$O5w!CuM$Xc$RE3Kq+@TG9o8*+^>~8A?+uc0` zQhB)=5bAs^^@90`+QS#IlRZD=u);j^5*?+w>D9Ay3uAfLJhRB_)`^o4EsJrSS+f1g zdhp&8yDQ0;VaX$xrnD3W!I@zZ*Rv~B4?(oiHW}rnvyvCmmX^0>Pm!5?nY7nthwEkw z#dx?`Vf@%=6*clO>MPQ(nS4-dqbM^r`<|pxR7eXisj0Ms^_0}8b4{ZG+d$d9fjcCQYu8oesCbG0?4BLMvb<)Gj#OgYO6&?!Ejnjp!T^WA&m?lL zz~+}2qILNFHmff%4XTb~Fa1rmoDLP#jN!1boTLb%V_TjlF0p?!ZS}kU>1ep8s*wQ1 zt-@TfoN(M`fE`q9;*o7%AT(|^0pU2iv<9a-=4m_#VL7axj%sJ=iXHg=5bFRDhUPk~@EnjnDa?agU9#-+ zlL5dw(&)o#oN1$3MWKaf>kaLD%k5Ji1=xv7@eZ8Z7KgG>uj}&5jr2fS^(N9ncTdi} z!DPNOC=1$(bsg+_CLlsJWZ<#9@T80A*Q?CRP$&ihfUD#_zsI_4g-317^*wR3XcaFe z-UWzd6Og*Y+uvh{XYFmRA>XDYRz%|3j1UlQQRL)hQm;G>(7<}nWhU#ZD_)21F9{(l zQ${K^9b5302-}c&?*A)ykP@~-ou9N$u*%W-^{ieADD&p#WwC0@;fJcb<(lCT`ONq{ zKW{>2y4?9ayVH5y^}U=fCNpF5KZ_$?0S^^F<$TAO@bN_Q@N`&QAt@qvZU)^Y$L0kL zY&~G)ftk_;aVIIx;@Hnx60=l5>-28^WwA>mHrBq$)4z*_6jjBYEq+FibA?D^+fCkg zAag*c9MZ9kJD?Q}^IgLTWl5nHQU{*zs(AgxsYHj>dzkLf{WF8pbSi=QM1&;K|8W7< z?=dObwG$ea=SeN0t^9xn?ikh?fysULMJH+DWnJIba7GS`?SlG7m7AyqVhT8a5=x9s z2&zu4^xN?t)PdU*G<9x)Po2H|Y_}DCVJqorhib)Bk6Kn^u7j+T*Cph4Uz+kwtFhJZ zzby69AqrVi7Ici2llW>Ve1tyQiXEn0HdQHgD`u}6>VqFsDo|M0MkN}?S5De55v!bU zNfgr;N~&N8D#GtPzUB|5-4gH+IQ)ChiFrVKbsstz3)MxJ=v_M|~m&`@9R8ewR=;12Wjp{L+s_h|_N33I6Zs*jp$g~ZY8wqfV zEI`RM!WtpbY;P~q%yDAUPVU7b45YS;rSt9Yeua$UR0q z$X!$G3(I03%lxfQZKITaT*E_Yndy#Hh&`%(MsA`hP)c5q<8n!M`)Ax&p5t)oX+~HYXovEhd709;$wJePV(B+kygKF1 zpw^5+H8qU~4M0woV>)Cx(a7H8$+S&D$ob_vbOVC)dy}_QKfZ#BZ19IX z-crd=ZAeF{tALm1UH_MKZ{mN~#DspB_^Dh>%&Hz0efUNBc#q@Ro?|(=jIW2cxWF8B zp4hBxBA}j7ynWc4@2VmVM*ipI5K8^WIj;CTrkgXJ5H5I=JBmRUG?TA~%gF?+YFIC% zKf!EMpFcT7g_7UlgqTc_^PqCXUD6%mLf?=rlZgP4pM)>^dDR$SUg}>%QhCQaI<+N` za`7RW(VU?x~cav8n^Qp{rT}DR8X%d4KPfpW^kktn0UIq8iqrELyeT4%a^0p3pI_N{=k2Qj8~gwHutIdTScKF1e9o zatk>kab*h7qBuGYO=XawC98O%r)jpFbgsGN{HaS%>^tQD+o|8%YGS=OC&^Up^}Kl{ zf$^;bJq(-OTlVn>W!3;Mj+g1i`4}jn!VZX)@{n&nWm8a~mL&9dAK#863vr)11v#$S2xTysvGsVA)~r9TI^3^8P^~|! zxxNd^)r|_78D@x``K-FlOFT0j3BL&dVAFm_S+Y!NXy??j8+`^K*y_(SKAt3F5u{x$ zvryQ1l#hO|4gvqt?aKco{nM-1j_L!2m|R9~1?KbAcgmvQW=@$6e6mSl|3lMPhc)@W zZ+}FTPU%K+bazNdjF?QM1?d1L#KjF9f`j!`4uec$8w{SRzB_x)UP zUgve5H!}>AM|iI87y$qH1PgJDpkO0Is!T@F8Tkrr4k7tiF;S^KmV(qBCY*2)q0Nl@ z$0&wziWfmskNyobF>SCiY1}uL((l*Q*zQgwV=Jfhh|LH7V`1RJ%pA}S(M>6Zq)>w$ zR10#`ZA82&0RRJeNXqz#FwPa`SH)zW4I)2AqsL-R($6?lIH~nE0KS?t6_OJOqmpS( z;NOJXEI3*!wOSEgkaq1f{Ac+K-XcnCdwjvXzujvwZ}iXrKe5f!frP#HC=7Qxgd>^k zz!$chn?QX4b8fbJe@_Yd1tz|Y0Iu;F(=Rr8P1^E}F6TkNf>G?q3qWzCBk4dJdzxkQuL64BMU#} z@P_;do?>pX*Z>dWc_h2QS=mjN^u@ut2`w8I=>Ac);DSg5(IXL?d|!nZ%jA(AtS@t% zqWn2%vp>_#)EDekOtcVd;46D#EarcdFn5FLa;Hc=dN*Gn9D6sSuNu|AjKQ|f)sQvQ zNZ&gQdYV}tfz>~3KaxE^q<{9`eUb^dTz_A|Eqs>fYrnT)!Yjcs1zW5Ni zs6mxwQBG22fX5Dabz!f2YdOKiTi$L?+E(V>-`3sy>OluGFeYN)JFSK+58>$Wu>7&= z3kjbG1{22yIJWXd?I>r3m1&=?`Vd^uKoy}wKSiaqoiDIVoeQE)0XwBE72I3sxnn+p zmK9?|hhJmVeH1cj1%q?QC? zAuxrv*I()XjT@iHMlv+={R>U2OsNd!ngSMt^y@7qFfUZes_)wd;bxHQ8DQQ;1~LkM z53PQgEBpoLM;YozvHW}iw*8dYDV&sL--oFrY-6abhNs}Ik|qi^@Ic z(l!i>JH%tyN=}^* z$CY)M&Vq9eIIV_c5Ld)-K~j#~Sm?&oE4a;i+D@obgXBY`$#QYU+PyBhr*&bc{T99W ziBN(`vDUel`~K`?XmZ;_K<4?z;)dHEh?h9wrm8yWN^^L3kyZw_YLVLj$|2EBK8WSX z_mtV`^KyDj=M{yuOQlDh} zXP&mGb(K!w2=|u2BmJS*F*^z&JeCmP* zLBXbfa?jEZSWak~Rh1-1V5`x#Q)*oA=}yOz=8y2__i)dD%n$4y7jh_=Q&7Q`tW^YO znQcc=Ii1=%MgC^k0M0P^Z37oX4KBB3p)8jhGGf^P3-{>AVAB8 zC&tZBzn;)*@aFe%9`dj4R~OGAQK{h7(FeMMA@hg*xba7Plly8-kN-oA`lk4ITmBQ( zlREx3MvQYL;+HF9FTFD8e)cxmDI zV({_h(`aQmqWchTWK^b+9gF(C&w(MF@U(iR)M%@0Cl3iOZ3Q0gskr<^B!F+GW-%Js z+r}z;?@mtO=~OrxyJBF~uH(`Sx{#U(cB0GZ$G3nL(HHyrKYyoRo!{MzCi}sQJapnd z?*s<@(*f@>@E58kBL|&#T?nmv$f&ku694A^L1&#^ za>V=T+TBuX+4Uhes;59){<~0;afVCFd_JYM1&kG{Nq)$nc`m6LS(a^E;~%kmh2>XV zZCPg8L0`LEFSXZqgb!BF_=qD#HuS=hg@US^VfKgs>Wm zS!g{eQMq-Ogz51=#t1!Q&J>_omgrAs`-b|H1DVvHe-7zqB;$7f_Z}F9MB)g~>_UWwI>m60RNY07 zdpc|@knSzLvJc45GG7187|)PTceuLAc2jCE+DRtIts{zqLbMIjf`TRQrJs({@t{i^ zjTO9Sjk3)>y+{u5Kv-YLIGRGG=^@B%%e{z;cnKs(YZf5_OjqxS;gA}xE zJjFlu63#nLO%NANIkiMn1C|S3hgWaEl4lrj?RI3_VcVzsQTgtjBkrT(q^e6OOb+vm z=vyctyMU59lW}`MSyeR);_a*?I!HA0HhO2qIJSJ|KgJx=T@{BjE_?UTx=pCTU@_Gl z=9iSF0>Wi3wtcEDxxg2pu-sKOn_kKr$(O*~(=LjH3@cei;iP(l;4T3b!4qL0-}>d; zL_1>hxmdyLOJ1 z;(7Cr*k;G*+oBRL7lMN2iaIG=IGZL9YNsRjtwa4Q=0U! z{%fYrkQU91c#GEw+rII(;N##O`1|YVOk<$rDA7B%>8+BYO!2Ov8xkez2`)Cyx`EJz zID=cneVV~mjaU(^NLppTIBm(mzuoz78+#6!CnmtCg=ALn>v=M-WoriNUJ~Z_7UR%Q z)L~Riiedot9mOW5J6TP%hCwG0wbt$XcmN<$^iB5#)wk!t+<3?0}n` z-ogQMac%9F1p5GwBOK{efbr`HYwSLQ8g;~ZChPM-`sas#yR!a1;nat&TvKW)&et-E zazBsVUOzlICUiXSdNdgkAjbkWu}{l}1x&EmUtxm=0l)Zq1v~W`1(!fBPYXB1GA$ir zW2gnu#Q+4$^D#lCi+Q0OH?}6Tt+GCeF2{>p7x~H8Y#*fX#KPG1LqHT?p_D$VrgsEwBH#%)cKok(a+vZnD)@C5pj}c9y*%96Fpofv?uRoa)GD zG4n8ksCUvZ{1kX7BFoiqx(uKcw0jl0MR@6tQ2RL3V5aYA=0y3{%^}7``zSB90Yyw^ z%@<|qw)ie6N6%m1t+|IJG8_CIDYjm7qQ6!?!o{xP+%Nu*9daIx5D@5_P;|L(F@t%HZ`G>azS9j=~W ze}jzeD0EowT8tL-_l6`_isH{5vlyXfg(vo@^#&@^ml1P!qR&4hdl}2>w@@Km4K_=6 zmLs{9?OWZu!?4}RGvew1<4;0LM;57Ar(7iXU_2mr8&kNE4?Bfk{)ZP*@MsR8Oeg-n zEh*jeLrU1f8witZMTYV`LP&7E)*DMEdf6Iztk27w(e~M7CSonv+p08aI#nQgfJrBQ z8THqkvYpQQXD;%u#Pi;wTV8Cb|59ZK2Wlyf4;&t9P%axMCLB(#Ie$LUAKUa2o7QxH zti_e&#i<-Jy?sA@lXu^hkds4B_?@lrjdR0wPq1V@D60N46cB)1`+lDpyb5dYY2g$c zhN6bLdV(Cc$S9UE#9fD~c^@K_wAbJ_!%JUKwaCYHr?%Rz=chsG_W9$l9+lm_NUH6B z0Z3{Xkdc!#&|{^u!X)^w^2i8N;F*zqYt&9$ksf4A%uMk=>>q6Srzu*pw7^&B9(P{3 z5+1|l6wM;lx=w|hf?8XPmg=Nou@>bO)jtfY-<&lu`>?*nG{h;$kR1?jB50l~Zn;Ef z>eu&L%UJ|-aQF#9O=Xj5`Pb}5l0ZedxKw8t6Q|LADwASceG-?)tR{KC>bgD6d&2Ea z5vf*V7ww8y4qT~j*GM#}9)$^FUaF7rhfAIO9gobrGn(nL$V-{$igye*&B z&V}TU887r5=TGr(EjGVDpYxtfJX(bbO%BhZpuAYBkbq2`ch%Ic9+hy=$q^#5jqdr8 zzI8-=bdJfm8W4tWW$iW>N6r`|A+#8BqgY z?|^KRRlk+Oil^Z_m;?q>dsMCi&f z^#qSyzbpunS%R4ap>a^n-|y7tgwxu^z)FPb>h6kiId~}4(Q()~{+BhC12-usI=p_+ z_7@wCExE>=kg8?$ijB8hIaI*_Y|p;1GDn*#4WRt&peX@%h}gpUC$xr6BY7W z<-xY@yxtTVoS4kXbuUb1qiE2DjdcF1GD%i^LOK?2bv8(~!Zldyw^AD9m!?gzVaWDr03He9@F@X)g`_4d-B~9bQ#-|c(SO=|FWlNKCWh8->Jg=rV&GICC^&N z=dB0+MvJXo*EM8y4HV}3f0B_wjk--8iy_zFO_t|(yL=tWWIb;42j3r)6t5QqE1UBs zC$C+J{5h2J6p+HovhaHx3a%M@GrBM%Rz8?+$erXnc%dE=;!O#O3B6N4_wH8ZL+wwV zv8)CKG3kcUIQx>h_PZ48XUHWSmU8a4mqhn;%>-sGydxuNLU-rDy zmigcOfw))J-EZV!w^)HQc(bnlLa4u=h=pzW)Vl4N{#2NgP9i3dMq*@Yvp>smjEOax z4f?pJ@i$*qY%nyTV>9vUu%x3;yvNb{Z$CBnQ!Ivquetv9_P5XgI#WiHz{nr{x@{@h zj`c|I&F>GvaZ`ivj`5?5ZL7#=`96Sorw8HpE@>r6V2g8Cv#gbE^u=8PU&O<*yq2z5JN# zPn5QHBS|m)cNgAe~y<53XE#C3br3M>kga)!($8c!E95 z-u;cYtxj-+h9_y;2c`&q5w-D_mY#r%F^Z?n0QHN_XY$EY(|Ug_B`JW>m&F9)A5Ino z#EvH%&Xk#ctP1qBSv#$))~g_wCH;V#)&p6HzIDlADu1=0ZS12oR#BGGE^ePegQUX$ zLbp@OxfXX$5p%b18gg4o9;*|jU#;RQBJtAkq|WPkL#kagB8rEPjE=;&Wzw`*_)EF* zM$nab(gD#-)0~&Ms;0VXgey+uUy_8D0o{kMelg!t&IwLLV2!JmFgh)4{CbWUj}Ycb zdl8=kuhC)k)TwoQFBNN-R&Bc46d#v)4xPg!CCC2rsPUz@S zr?Z>uL@1c^YVPIjd*aVC1_GPtF$KP^brV@6Y}_RMrf;qFEa^j`bLaLZQd`Ypy@>CK zEde16fNNr$_aLu|yRofn_Lj3((rFg@?kVz^C++@xe-wEW(Wx#ik zE&L_bEq+v=O(l}TIp$xF-83KxN_~C2c{Did11cZ<>Ag7tdl}eMM43zo2L4 zuvZ+4{KI@{OtA4_8d!U~6jRrOeoYx(p(WDdI$Oxa&hiULL=ES2Ma{I~?r@iYHJ7{M}ZW=W~BAAisGJeQ6^v8%$yHo zrw&uUk6*TmjFs)^-7v~*S-vy>lntLERaC$4 zSC*h0GmSS)W8tgb=(sDle0&5MrC()qCslGMP{Qih6W>mMwr{U|e&2LG3z_wy1S+VvG~QPwFuQiwYguEI?-~gWvy3^GnQ;%h*2G9;>r{ld$#dd!pGk|i2Sl8p ze}_6U+LWc^$Z#LpIukLzkE4psZ(bQ_ciYIgVVN^-V#EP3Mw}%jFT2H0V2yQHQI7zz zfIpPEFT$ZTKIy9GO~%gcXWpL^5s~~bmUkqy!^sr{Nxp7&7K8bGEU-~Zr8iZ-iuy%U0mxmDdQ6zKd$CzcV9KG0e&KqUpj!T5TbWS(2p2H7a~2 zHC7+?b$?O$ShU7gg4frjRdd9$tZ+3}3%uc#byyoEAL-g`E5C-k&DyQF*@I)z1jNL~ z`~t^WP+}~n>Pal1e5NS)k{ zuiiEX!!3*=eP<3>W;huaX%*~oJJHXd)Aa7;&p(Ux>&Ap*l~jMJVh89~C~?gKr-17p zNhML|Os&~OT`amsvQ|X3Aof-rsNWROF5cEnCU^}PzcS1D-y}3u{PHykIO`87Q{Qt2 zfs`Y@|AP-iE`7->^5?DxFYJ9SPaPl1%9e84Lix?e1~F|Lm~9ncUI`tXt(*j&0QekZ zi{n`z9ZeP8zrB9xe^;7*)Y!r`I^%V7LFJWIJAK5b?h?<10nvK16!%J?Ty>MATv#5{ zcZ>;BzJQPdqKd%%kA>7&4z2&ae%3B*GfL8tPaV@YR!pq!)jT{_bOeFc=8b5^7-MY$YiZ-h#2hg|$f5e4ggi zhUPQl3ji~EXsb+Te$WeSPHr#9p9vJ^T);v8R5u^jWL`%nzK@j*g zge)wNrns0;?caf1!`O=kgCq^%$^kXHIzt48p?e1lJdt>k21PvVJFEDUQB(gDA zE{xPsl}odp)=*?8Vip~z>^yr@<#FOCUaRDGf2+rQ*b7eaKH zvAbuLux0YhsUE-f85WU|`d)`)6n;o*R+G-ok`nG)F|6(B)DDcdy}k>-uQ{{x6C0T( z`6xw;UHr9bP4#{GmaBRD&~_^JG`r^?fnrb#B6PpoB0{;-KTwK#6dwg4vY!CE;?@&!Tfrh_HAcx9Sv=|*#h>KX2xTB*&Pf)-4xKkP+OFVCHrHXQu>lB9po+2x1U z;~z1CNX8Mwc~_6YkC}WfpRt8JUh*&lq1}#38JvvWgkA*mqiNUjG3)b5WXr<{eQP)U zW1r9P$kgAi7F{7&gJ+gJAfzGclgT8Pb<6xtq|@od@#VQxY;UiAyT>u{m0dWqDy$wB zNfKB%FQMk@wxQ?>F;C{2H8L>%Qbaa>fZya6kPhl-?!K6y2@=cCEa1`zW{4?ElFuo( zY@A*%H6)mucUtG{UDW0MYHRt!PCRe^1hHLye{@8fgUIMD6klm>>O0ur%7QMZDZ_E@ORsWKsnE(#9zjGplpAHJWRwTJ#Zaz z;_yKK{F^?9Zsjamn>P+-Vo0_=&-||{zT`@HR~R*NtWa>c_o(vH zwnvh79IeKY?X#hp2j3Rx=>dmlcpBMuQ%UT}Qt)kK={}PudwGRH6V;ouud`QbLki-2 zPY+)CvZzjGh>bKgH>i-j9xYV_#&emM&Tpjqq@yMrZ$Z^kA9t5IA<%qG7M8vg(OAAL z37ibPndR}v&bS@9bew1b2m z$!Rv>mPsSr-(n+tA~ca} zgNK7fjE8gjr`OXi1AMB;TZ9uJA`oMK@SyuvQzlLu<;UHf6&8|S`Z@TISBmA^E3 zmbOpIo#A~8EL32RFMw7qf z_MC3W>^Pk#Or&i<0t7J$|C{_lCw|^#pf?pYW}Eg3fOV>iOQpFXv2fE-3|c8t^!HXp z>hcVkl2;r3%=gC+HE2?vI&N;?H2kd z>2zjI+09^v?7Wrkn&s*+(UrZHO$+$%VQ0yC-3|tyk=8R%FuPRvT{qOd64WBAh%Hx7 zBCz^<-G`^JF)M{nW5*|z*?{eSmO18-i+1xZ=pi%n$k&?vrr>lHU8+5{{lNIa{_AGK zdXDHCNal$uefME)LBh4x4cN(^kik@V;&_TU4Yh%ju$VkSD(!#$0Cz3YRbX<2=e)GTfSbcLZv^e58Y zH9JyGaB7H1iy|*Ncaplw<6n_zl>TR%4;)LaAtXzywl0VjR_YdwE^zRuK$`qN`aVTD zzL}5SAJ45&)&WuBeX8+M{s9BN^@?pY>t1yFMFheb!IN16y=Y3Eg&dPA|RrZyImrmmtpT%W6g)b%9*0`1%#|%TBJ=uF0$ZrvkG)<%H-m z=_5Rb_YS^=p1VWXnVoSf3`&4rR5lcx7IWwKJ=bGJXw;8{UP z%R-oihqY0@A=>&THXq8NO;uuW^>XzL%7z28}QY);Ois+M5#h!g@WoRi&M@gp=<2qH>blneOuVb(T=|Po7eSm>@P|s7mJOSg&6Oq@ zQY0M&HCZR*N>n%*OS0{y3>yAr)SunTMnu`q+vwR-T}fOSsO?SC&dHoiI2u`c1R&#J zM3MZ-tvQB2DWHL98Jn_tD*ngs``F#p)ENDfdKc}pugJxTM936>{-_;+gJfl_ce{Rn|b>XL-JvM*W;Gl z#Qq{o*2Z;nLI8;E3t}u}=9TJ-dIbXb7WUE38$^nvnW9MLUnOLQI0bT=vwj_9FpKiM zq$Wi2Y}rgDD`#0p+ocjzRE*R2_&R$;j`?4|axyX6=-VdUIrv1jbKpCEP}4S>N8Mkb z@4reOxAW$m zglL5^16;Tr{9q#cNGd9NqcTAQ0s!dfAV+$KxKj{Ba7ip`>v^~XHwJ6JK+VldhloAVJ zua#oGJJYY!)4JA8f$L{DkO;3L=QN+^OSbHs@6_bvspZhy+w}Y4*&!5M8+~}VG(WeF z%69PC^!wHT%S6-*Uyji-tS!&JqvO$V(^L;bNha3SKg{!Xyud*{5c3qsf^E#W_u?j&#og(r^iE-CzVqGqV%8T{zAN?|u( z@p0sAfwW?^pi~+g0G(yk+@Yw;S9oJVK3XpA*UoD}D{eaJ08bln6vf%R=~Ej?AZl?T z7bJcLc;)CXJ#U^>cdD*h0T>M)7ZbUtTTm5lNzFB}kqid%Z31S{dKpBIc0=2izH)0% zNr{t%(Q4!iLXZM86p++U@sU5w?QR6Rt^TM+48Id*X(D9j$jV7DY=-5&WpNwxqN#Ho zSr%dwjv+ZuTm$F)283@>FmdN(Q@aaTuVM-Uzw&DbgI#3D?X9TzUAifjwfcxvJ6kLD zVx>YCsuFG7!GbbHZ(pgkTg>S4L=7}|q^oL5ikh42_zmV&VkU~kC)!338RetOz0#JJ zhl9hGrB(5@StlcfT`GuBxp6jfo};Cl&SZHJMe1K^YaQCK58|3MKh9Oqrh86IV2{r$iHeQtCq z`R}B+F8T9I(rb~61fEs1tY;+TWY)<4UE(CB|I*rC$Ua|?Eso%mb=tS7H_8V0>MMyK zDXoXrgTw8_nKc9j9AGv7))o%l>hhNHedJyTyx-&W1!>_2RYx}d^^!VqdyVVb-COU4 z3KEJxKoy@Us=ya5)Jhk$LB%Bgg#Tz+&EHNPueDU^v%GSb>Vv8KJ11@WL>Lrq-6gm$ zs{J_q7@o0fUNn+I@#eiv3`cy1m;<+58bntUKvg;C2Lf}yQodW+`;@e6p|4p^OltZe zRA^c;S2=#SAhk$~bMrpSXD2OCP_Y6oY@o9(YutRW7aH1ExvgN(Ma0fT8O%l zQ;Nqkptc|iZTi6dW5)hS2-Z;xswb%tFi}QZusQ0HPJ<| z29`&prC9VKP9QGfVBW)%T$kdW$N+PCpxW-;f*|XMaoi zcYJN**1XizFnVhIxf4xyCi(WsN0$BIynlbp0W2f3oS4)b;ONbqJc zGcCFnNI$yjwAthwVJ<;O^mS_wHY9$Uk zMrlOKap7wk=j>*T^r5qL^?KcE=Hqb!JMT%U{XF|Mu_e7GI*+ zi*{VbL@^2aeDW6_D zI;$28jHfo-dnd=h@+|A)L}sq+UW|Mk6|Y|U*|M50>S4utvjO%gsryzsU4EidNf&E< z#Q(2hoj>Y@)OQnH3S+t>uZ#3`Hd$Qzmm+->QOWKg5QsNlsZoeZwea(w#4p6%U#cRea$VX1n zl=4qi+`V6E1ZXgVol)=nJB9%t@u64QZJMz=mj0B8nCPWUdX)3P%wR5J9&_D zNb<#y?A2JI7AI4PMWw8TYo#g$YR4oQ>758(f#bFZw2xh3dUUhv2)WH#%~Wdf+_w6- zCTt@m>TAy5G<*AC7y?JRMyuKBXM6M-N7R^euwr6(mb)6jIdiX1irAEp} zq#YejCJqV2VM6e)LPhiY=L_k&o>v>H6U^%q^==g_3wb(#4H!Nup&n++aLRonSH-c) zDS^KK0~RDCw7PHvSl0XR> z?Ad;|sl4pz_HP~FlFjG!1^0x_NIbjkw{Zgas4b>G=VRNqf!YwGMb@Y{X>E*~d_5N~ z!CH#Nvj3GkJK)UL5K;y5y^S!N5VGW>t6iogE(CzzjW*0-y}fRE`PTw+blGn&>_eg! zvVWyn1ZuD}HH;`<771b)I;b6-V-N1BAz3V^Ycq|bv@5P_ei<*;>3Ur9R&W%v>4=Cz zI9((dgq?Z-w8j>xIVwpF%Zi(8P#CRYC->9j9-|Dga*qk|PBk=D6pflcPTMtKBvbuE z`HIMEZ1AUG0_^roI^A0t~b)$lB*l~bnvJB$9}5`Lm= zn#v!o*_#jHmMhH-o#mM#A-*w*r~?Dj0npbO$J#L5l{@~!>wM$y6<{t__AdK3HzSTm zGRB~1a40gbe@H!KTPfOX#oVhwNfJlP{^s=_bJ51GUV3(}(b+Gwq}@ZKRa+)PRxXOB zwze?_%zgZR`?`B=1W(SOxXAliIUIIxp2R>o#R*S%yIUfWw%8#Kzd@z_QeAT_t{*}E$UCyklL_B}knUtK(^lEqA^XU-RU#h5bI z@~}MV3N?ys^zeD$m6X;bb8W5puu}{FbRkY%XH_bQvISe)Q3|VNiRIq!$w=jn_u%ScE}SR0g_lY${R~yqM|q^8Z!#BBvOR#yyWnb{$T+-Sn={?79%Hn& zEpM~6Nb^ix_?p6iuX->wb^ZLk%142{qJXpn=PkJVh#jLL;pRT}!dt z=RIal z0&Y4y7jk!^B`tl!q(;M*FCb}NX>FtY!^bJvRWSBKhlgixJS!}scR3`Q^ZvDKijLH%Er9;Q-~(sZzY85`Fu@= zs3*=``3X5}(Tw8}}x*I&)4sq}N zd6gwwd+}~N@^G%F1chOCZ}^8P;n6Ja^i+HK->x`RIGkt=`Ly2l?gGd!^t0_WIp~D= zC&QjvJ+ggn0-%Ev-Pf>HahWojXv$>iF2-ys3+$Y3>~{9S4b9$yHc_{EbOy}L-faUC zzvPU=|IlWus~vFgg0+HKULm6}Mdk^)TQedPOU7HeiF8kozWVuvX}>EoB~;YDa3oVI zIK^(kFnk&NTxQd zy~nW_j3n+k=Dn27;v;iXY-HH-bG}SE0jH14(OAv7?>|Am zIiIxz+s#;&3MMIHF7!ob;79DIahMm%ZKl7TM0YlQF3F++njbfIKB|*EDflW&QluN! z%K^mX!BY@fV2au1n%RVUt*+}P4f&oQy{%xf#U6}alL+`)(dCq#m9I63n2G+3oux7F zp^c^K*GqLgcX4EPrnH^JIYVncaPk@MRV~vCQuH?I+svy# z97D1Csoxum=`igsv^qP4d6)lPFiJ)AAK)6d09CQI`$*4G}(cj zNVAxZn+*<>nO^zI&um8z^$hR)0nXx`-#aAFTbbPM-Ozv=n5B-Lmv?tuddp`rYwY1< zDUM^JksZRZB)y;e5y;6HReC{HGhc7ZEI9T3L%^zEI(rQAp?5OFKtIQbFPC%MH)h@? zt2O_3qVJob#2(*6w&eNK%ajrluk&GN|BDm672jtv(OD0qPsf#4^CM&B=k`w7yUEk@ z)u)-rG9ixJtZw&7_Bx%NLv7%zr`vSdTuJORnslITBE8WaVDX-oCqu75?+m#f?SP`n zdF~H$z6^?E9--iQk>zl{G-xS<7^b>%`L#P% zRy|AW;^vo}>7JZ!c>nEA;owR@@|f;%J;j*9)hmBcrxZjJWqTF+u(O-BIW;6@Jj!_L z)mmMx+$)R?-T%%^&7NYPZxsg^&^fhii03U5b(__&D@T31d4ojWwj<{ay`akHHQM&O z<;KB#y63gkCt@{MVX1z`QTgI5cXdD3>?2sexjbPnRUwI5?Wd<86aOEw52K3@2_1Jt zyyc@rELd_BT7WIvDLC_j9uB&ee7(`u(FNCtRhaDEtn9{-SeJDy7~ZLK zzvP7e9hAoJq5ZMP+#+NghlwIK72s`Cu5XyJz0)V7Tj_MMyL!v$K5CgiUHqo+Cs!HK zFH0tkTm!DJX0|c(M$LWcr^cHLSCV>Qa48u|12!=MWm}{h*@}45aIAFt$m7}SW*$jC zT5&!xzZpjM3;#a$2QeDkM+MCctf{TVp{`(Vz(3mvmRJ2d|JwnA`T7OP-W{Hv4^MF2 z2NAiCt|Q1bYvz8txR-RE%+LiOk7rA^r0x5a=0pS&(WcGlR$Y;i^hU4C!}EhvQ?bFA z7Gz|A;4h{Pp$_`?r|x>`rC@F{_AS2+F?pc)GI@?Mrz`Rre-$}M8Ys5jYaQci<`sjQ zT6zP<+{&>+&8-eUNzG=4N(_Z*K)pesxvPD9~$=x58#-WQlPYXD3J2Cyxs1 z0@C7^2YuksNRTCYLiKJ}gO-|_=ks(xSj=0++@F_^Y;4-+bT*H5e$L9C0t|HFuD%p8 z{|i?n2~il5TJnQh4=(wCBjLg#=`W32+WSq6oZcGs0y`~7KP??Z!{Y3ew7R@~RK`8L za?^_ISBq&`qdsc1rED(Ar_R_!z2WHlHP}_B4c|0~Z>%^ymwhhf#ElTyj!@J19^IF0 zb^tl|U9qY^`T>5Z6`l2Zv`Uam;hP-D?`Jg4b50zV_pbR-EAn!2U2J2>D)#vtw91lt zetQ)e`OrVcbAF_r<+NmTp?rG$1#3|Dp$lttcnj7hyY_s0qS27|^G!6`^GYuZcEi@# z%JN1mk3+l#e@Z166iHwr(U%%Rwd?WPXqmpoh_`C`2yxXYf5W|#_o64E z#ky{VrKu{CaPYyR#y?vE`p8^6ST=yk55SX4x-p936=C<=x768n`uaF3vKoMp_P-J& zKeIkmu8$8o8x7CfoqYc-)u*Ol<7h!DU`_m}L1J$pj@?UExg2cP0AAa!}#ctvcm7gd=__H7hH_{j4 z$;rGKUmA?_CJ#RXNIg4ieu8bFh%LXdTMuA@wh~~_sBL)lX?hGbO(8^o5#vzJXIP9v zhxEug?hBLW9o#9RU%p9dX&x}kS84+@YYOpZ7&Ath{drGcNK(Nh?q;9Walbvrr(4PJ zD&w=Eg?rJEQMr0VUp2R}*R@bX;qOlo-`5gxiuKa6bLUSe3CdFi62VzY8F&aE3l4b8L+5+1bPv0qr-9V{8fQTyAV`ixSc0E5@#^jl40=Y;{f$N#v9h6 zVj#@KVvpcqd;j~cM60)Z^r>-sXSV+hv6fj^a6ofA{JyclYkf)pUi-;@@vWxtX#>Vl zhX>ALy*LboF8RBJtc$I64N1Ay3xt?uEw*q!9ke)AH3-2+GEwJw^Lkw@V?q8l=`F>p zBjFYyABA=|BrAd?8`TvDliYg6LehPNlo^p+@Kbe|ioba*eTQGj8#TO#422faJYxWu zlN{hFJ}D~W&^A)As)N11Tdh0$t~iG)`0!~damwSyRjHb;n2_y`C-IOd=ByS~y(JOP zCA1&%AFL4#x&?>Hf6<9s&;m-IUI6nI=WD%=@4llDVwIQQtKPpudp zzsM>VGahm--auH3rVroZ7Z1r?1@>z~-i>>Vh`q;D(vts^yCun`BfUb2v1Et0uTPvv zsR$C_joyIDS+sH|amqA$+#eC#qxvh$Q7thvdAw!5!kl2Ngkh>Pp=s7S{wM$|K!-I# z{i6nN)cg@fa7mGL4C*SDGi>x{GMc8jc(?Z;dpSm)etMwxt2`U~2jk&S3~!6kbsHC2 zJSAeuiK*MaWg}xBMs}OLImf7H zXKdZ?eDAMNt5&7EgY#s_4297Kz@0b^JWrH@s0dJKmeo5?1^)Z+{{SLE-M);XS}HJ( z6GmY~nkJNTHqS3NSZP$LmWo7i!f-fdW3Nqj7+_hFQ5azfG0l1>r6d@Q+1zW9b1WPQ zD;asUzP(R>I3h|C`s08o3n^G^R4Do$>d2GpiG)CtWIi{3&f%H0CBFIAHFj@oQ!9Er zyS6~1TBI`^XJ*nS|QO{z`iBb~)o#)&2hOn8;& zI;<|t(CqZsYqr^McZ~u0(ExUea5}L6uy`vTvi+05gN!Ub$~o_;EXrYNwn4pIVmKTl zmBe#hyqrsvC`zR=X{xc6B8VaHd7N0ZX;gfM;}F}jC>4A>$3bhOnDShg^J@$2bt~-j zBl?yHwqPjW{kA}<7_B{$;v8BO2y!ltV+`N-(v(&kR5$p*ZEB}VQgBJ#kVq<;_;kAx zL<*`*oOej9kXUP+e4d@eVy~H?bwZdH&`L8L3%0i-n# z)?g`%Gpmd2^+w#;ZE}5M7u!JkOtl@kDfkrq9M7FvVK^SK-|eGpoB3La#cGjqMi{Rw zHfRq6y2BB-w_2QDTVQRWK^Q~~M`Lbo?c+KYaTJsH+`F@<{^C}}j|Z*MQAFBmp_2sR z+3uWur-Z9O8Qx&y-xQD~XnxoBMs9TWiqBSrmol z$G7+R{Hb|<_1Q%#WtXqt+-I{pB8U>w2R!d17ziQIsm8GsbM*=fjVg2XGT(peD&Ktl z3eTN6Mv6wKsmU&tN$jH}F>0F3i%Vm&X-Q$yAPX|NycBr3ESpxAwBYqCH~H!29;px< zo3GOug%n-mSAh_?mc@F1#1AiD!?hH)R2-YF;^&;{btD>wK};B@*tW&|H#}wBy6eGGX!prE)0O2Mx_2 zB^f4Y5>t18Ak{2;35`4yTnn#SnZ}Hn?6U{GS(2pWJ(rPo7z7F5xHCeLVhKpnI5VIZ zIF=&kREWoEW}Y5Fwoj^cR--5C0z=L?wu7Z|Xsroa32_pkwMI#k<3^XT&!5sJcTXAv|s%+V-j*ZTd(k? z7tU~JXP=+0?-Ir-OLJ9L=jtrZ&fq#0L160inQDQ0t<2JFjrE--&mLc5b$*7W**a1R zPOmId%KNTrCuis(6KOzibYQBr_In;fN^5f0*(^+mc*HOYG_RqC*0W^F;^|HSSunDI9@L> zTXfm)j@asss8{mjEy)Sb;)h#ZGk6VSE*`7%@6Qx@X{XCyU0UalZ@1|t>7hndaBZ*0 zAN}|SUph6%+H8r{xiT+rwfVo_yu)A|aiW-`=vi1oaJv`sz3nbar#P14WUa{G|Lh6o zt9e@efUjL%=U;92@RF3g6kH1u`iVBHuPG2DU>j3`1hc{+0S6d{DRG(t5^2&O;aHM( zlJJk;+MpY!d~t1tFP&TDxz!o|&3jwCc4L>Ty@0YMQDh(U&-AT6`OsRMNjNEdBePZJ!=#!~9Q9Q+7R2n13{@~(rUEMp+;xjef(gOfxQ{Ty?(5{_*H zQ1l$^%%ELKMWa?`zdz#JZ(Zf>cW-cQr^V`GgU?<#LDA1~@$4!;x_pB_|IXW7zP^bR zAeE$1E%Ui&PjPI%&c)NKeDw#HxV7D+Uh)|yDXYHAv4VHsE1tH;N|MjHSW201AhQa~ zxejrv`SF!Iq(O}DSV*NfaeRqZr%$WXBN&a5%A!9G$on3@`T6Ill}eK$p4zr(5{@AR zyuTmuFYW}q){HsnN;Bxvho8;8POf*CbND$vXwrX}mbzD`rSG#{Fv+6#@!rs+JPpKJ z6K9J;VETC*VX`3ud$DFK)%@2dbNuSEOTm={K?>raEt|G!6V+9!>5U@Z+Y9(V*GH5D zRHRWZTO#xM(hvcP%m+)GZI%$+JCxPHIMs{^iL=w>g!xY)2(>2A;j|x>Ku!o8(`7T# zu?c+y9AT~_)DUP*J|i#_t&K`Z7@w|G!&pZMVN~Rf5QM3@?jXDFH2X6z1s0H!ZO;Uj z3b28a5^TiaSqaN3t*`+OKC*JTUA z`%%hqPtvdiaeDYG`}AY7Kvym0DHlCXuPzvMjgnYWW@^ewhEPo$M%0QvFP>T9#WO1? zDN#aBy|ipgu{2v_u3kiIft6W&q^UWZ5Q0jnz~`SmgVu&FPzq?xH+^oqGbYr_i5XOK; z2%|TT;)Hki`m}t{q%hD66E5xbxipTsSnu%4e2I&T zRo2@>cDrM$p2P7OlhH1}+v8Syh$|&Q6!X*F9{<}9Z}GRz&9hp{F<0`4084AM5JY-H zqhv!gA&63l5;IVq#0JNyCT9u8V;H6ysRUXI0T&9 zEZgP6$z`ggJQvsI>GTKu#dqK0%yNV48+&wmBR+fnIOTkfUVlKU$+8F;V%BpU)*2PU zalqAE+w?~vS2p(WEXA=og>Bm;8an+Eo4YNFo=a~qWVhMj;>lyoR7%X%D(trI@Z-zZ znJE{HdS*E0nUzHv6{F-y(vLeuJ;KL@5N05+lwzh*;)^eyWu{WV$_C-jo?2yju8wV4 znkg0e_0L>jai&7i_fbmnD=(iTN;Nu7h{j`boc*5K=PRsIfRxr9T|f?e+n%Y@14{$Wo(aV2`*i!;YU<0l&FH~X(GgpA0{UU_z$e zzeWirR02Q_%?wZwMv<V@sxq6eee!JnzXn5!rJ~w4TP zR;46XMvop`1K7&KQr5I?XwCHco=QxN=aq%5)^LC4cS(Z~Yi$kTy4iz&a-g$*B2F}M zq)AefoFlo1TYem}`hNT0@Av!lYmalTk8;kBgHO7=k8!aMqqrAUIE-UMg zQp`9+Dx)Y&KVs<95y^FgM}jMj5%}I9ZZ2q9qwe39oN;XYBgdg5%b7iZ`s2}j^+AQa1io6l0T<-axCLF&G6jszshVeGK1q z@N+IR)iTArpAFyyMK8x^&#iH1r%7)(#%lNQyc~_9Ppw=eiX((h@g195(fCzt@3*Oq?F?3p#z7G`L52ei8bqA)@#$v933!uU{V+0(W9{3JqPCd5iA$_1b2P8~DG?^2Q^ zusm01akgeAR!X5$DCIp~I=hBa%49eLE}S&S#Yw_wG{kWnT*s)r(j>)m9o7~bEY4II zjz(xqD3a&qGBbF=T&+U6kS7cSYAB-niCR0Nir3W8FWp^fDeQ5 zU(#4S{D1@#mS<=C93IdIS`%jf_A$gzmOsUW5M~qB$uu|3{7)=i zcg?3hc##uQVM2!4lfAM92=S0x6PUW~NI~5a z_CDOYK4_qwEwABDRAb^`=M)HmVMYX4m~*&y74-00aPNIt0!mVoS4IhAvX`2Z-gmx# z@SqXdeKr)7mB5x0B8fw1`CuU_=G#w&Fl1YnIdXEJ35H~JrFmu%=Gpr4gGxHG!=mi( z5^%E%kF|MTVYZV4_~IaYaGG7qC?km_;0f@=0qON9n2=>P1!Z|axIK+X@5`QNDj^L* zO7gzP*^|eplnQ8_`3oLeFqu5N^saIa{yrIhrT1m&4==jtL+|jQJ|7%6Ax7_Bta++o zS;%@F_ji5|k_6$p$ef3G!bq-3DBU`d5TZ%AhmDBV5+FX(DZkPY{@-{dYFV{VuFS$sds7#k8rC_rYaC?7% z)+t|keuZX#%vW#h^Dj5M{DbnW35iG`Ck2an$E+5|V>Y@W8+(0rx+7+1O5~No6=Irx zxZx=9Y-W9%$|&YeYs~9TpWZMq{$A}7|NEQkEaz=}OVW=un^D3j%Ve0Q8dA-r^%fUq z3jD^iHNMg)^35RP{a!#rngQ^1wNMB~NlJ4Rveg=}P|dSY%@c`TzTX~$)_lI;@#5+X zK@@YVH>R1Syj=CU-VeCmA91@Iac8g3T*1Xtf{GAWM_Kmnf)E+yr_Ipl+=*qD=PK;A zI`l_@No`*(Q7#s;>_0XaPp&Xi$rFSTe$K_U73WVLV`;X=ZmYw7x6gB@kI|@>DCYB| zsb;QLrBW=QbxJ;$BTY1Z&gJC`r&yY6(diGcl;ru-D|k7VBuUuX*~3l~o?V^icfRy8 zQouV`Zu0u&>wN$9_c*>Z%juPQ78_MIcANA^0hW@?Rtl7gr30nR(ffX)U@7AZXd;b` zFOH?ubg({A-YKP~@6a@hnw;aHwZ^d(#k@qCnf@79Zls{_G64*~P!vyjI%9c?- zO?u)%s##Cqr-?CIE(*cC6r6MpR7{TzVXoPpRD#DWB*m!Z6D<(w!TWd+%w$v$X&5A$ zzJ{t26x6|cX(yVohB@1)7Pk}FOf=_gK}lvIn;cAZV-1^eN|X^{^Ohjinw7#y(pF$W8^xmg- zKsrewDdasaoL)11!(;*DK5hKnzkS&D`&`QdHs5>P(YS}{!xBm%avpMV>0sLvMsQ6q z`TpwA4pRrCDqmsW}6g#I`} zr||qro!!om%bOj>0@CTg^R3(IJU|f(h0FVJxj6<= zLTh7}Z~x>nwvt@i*rhWLdF8n?l#2xf0@ra^U1*SGz7w`mAf^EwM|i@JrbcOSNIWqO z{Wv@{*IE-LcZZrz6jy0tB>m`#3Md=QW`8EBo*GkUg&q3fP4>>ia%}ww6F99Qn)vzL z^}9x=hQLC6a3GTCgLL4N-;W5c`{Pl^SkpnJHU|Hv@+Nz3Kho?*#_P$>b~52%nz9m{ zDk#P=v?EQBYDS46!Sf1!zhdEMUSNY!%B4X(LD zE6FJnem1FkR;B`Kg_@mFN}$d89!F90vxF3oq^8a)DfmjmW}%?)ZAm{!+3F>14-!VH zMrB@FhoLzj)+X<$pTdQb#f&Q$MVf2pxZxU--qm--NBqI>S z2f{#q7MO~^9syFoIMGxb$=R~Pvjx|C3H#%eoD{eco-HVfj^tK1!FMGWa{@mn+3du$ z15KD}tZXb7Wo*}%W^6o5(g{JGju zP)d*{&>JRP>!-A$lv1W7djhN9FE%u!hY~^@;R!(2@9Q`w9Sn$W-h?QNR*;VK zM3P+}_%`p;&VH=&9Z=jYv)eNy-NGkvf3U2yyOB9J4J>j)3UWF^-U z#;L;S?+6A_#2f2vs>N;IUT?C~ z8&P#6dxMbowmY;FjiaGE2nY%;v&9_6x=)g%ytUcpd$*em;)Ld4%%!b1o2>zR;|OfU zcpS0dJ18j#laz11zr_zW+U$=)s;-42&EVfxf>}qh-X4$>usMvVy9%W>8=Vn9y0K>% zKV&I|!&F#!k9Uy3vW)M8 zQR7UGlUPFHSoYKlV(Qs4@kZc4Mn5^Btt>>=GERsGB^9-Dk#i@OX?A)HMgdA10&cce z<(bt*d@o0;P1%-h-?gfd9*yFkc--5a-j{gJLd5Pz3h7K?b>9%I`!ERi-$y)NTkrsO zd|Iccr_G35ap<_|rlZE^<3fl7U#prDyx4F!UbbkCQ@*|)ust%WASsNprk0buGGlYD zYO~c(_`z<-Yn_y3M{uTOai(gq>`5FsQIiQ~+A){g5$$oxsfxvNUQw`3J2p{@1&O8` zri^2as|59&L`+m-7*aG$;r(_@CrBB^6HlcNZ=N2zmVC@=HEGYKfRZD5e%9f1Nl|r- zLQ<9#>%Qcjmf(l`5w13BsX?OA!l>6A0dBTXm1KQG*%G`kV{@iz(H^I4ULVsLCul9` zCh$^G@k+yHzM$xg5|n^Z3XAQSpX^0+0<-w?q&DXQ^FBju=F1D7lg{C3Fqb|S8i zQ+{p6=Ea5$O7NXl%oj?ES7&XO%N9S`3i_nZ~voyLKDJ$TFPUnZXR|`4?6aK*Zqm!%O_CI69cUc$+f>v@TdQRGzhTIK7*QR zpp|;!LKY`@%0JB`{0-yY`lTQ6`{Uw>0<3jrcd$b{K~VclrTaD^(-zrM1?QoTUYcSuvs#(tkm?Geo& zX5O*PD*Mm-1wX-l4F-98EQ*FS7;bYBtX=IP`*)8@-rrsOd!-Pnk#G@FZVYbaIzm%ip7$}I~xIG0W*2U7aEFjlrq}UC|hu0)}b>m_RY#JWuH5SBbptq3a;+B-X^lisR01Id{U~L( zHDZuz3QAB=5)EAIjHW6!FI!#FK+#e}TJ!DQK7Y8?#UxS^RFz=WmgJS$cbKHS(HZg8 z=8$1(Oo$tnxu?1i#C+A;tAyCXWIgk=jZ<`w_Z#R9L)+6;n(KfDoeE7Y7XEB=d<9yMR` z|J(`q!y99s&6(sc+p%Udh5vlb<<(h-olx^XywRs91qEpg!mX)!^pm5IFiJ^7SnY*y z+*f>Y(ZN%Ke|&YsU#|xgfx07EawRzl78+j(PM0h$)GTtAU}unUr5*EnH=!m39Sv>Z z{EUSyG<$=DoF#doq!^47-sz;c!Whl>gM{ntl>h17F%=7bZ`t7wE)=*}w%Hk^yxogg zatulH;EbC;A54_PRZDOqOnGlN;^ojB*$o!U~g$0-F@ zayqZr%}H*JQ${INJ;mv&MK9FGb1*i(T#gV#iRM-};h$d{^SwdBa}9_8=Dg3jy3PB8 zl$}5m#qi#4#Gl+8^ZjzfiW!-c9!>;vyGOmwu?t7WFhnzD>^+ER8CmE9n0^3F{Ea3lV{}3HU z$Z8eo`=IWZ^5FcwRXW8^A0lzLl0CCdyn37t{G z43uCJ5-F%z0$-VUGfNon2r!+OBLtQ-${Q&l2h1r+BK4GvvgL#OQh`b3ZHvj39fU*V zq&eSV1KXUOWNNy*M2$&%UR4>PmffQxCadEHQV4t{Srpo&LOpc;Cuve~ghzwO-dpxB zrf*Omky=MM!qbj}cHbyVyJJmjoY2TC77G%q3H!0;GX=#$UeO*Uq={x2rIZ!?WhG;7Ejq{c(yCP`3oXyy$YOV&N;} zOE%*>ESD|vn;~y^Vo2enCs?i6bc2-LLBvwgVx?s9MlYe+N~lUbHRBIc=msfPYRZ%1 zAhdH5Q1k>oK422AW|9!NspdQD0l8y2&eUv5IfVuMxE1kcC#GVV#mFdu<{&0PFzZWZ zi;BN!$2^}`tQ91coMgKbF`Kuh??_XHDSN}jBpW#z-Th23A;fFGqU1_!^@NAK9x|Sng(A+m z3+OaO*ft`UdtyTsk8p%vR2-39M|dn~CWI5XmYk*$pQN}`Pb6|oi zg}}|m0!c<{ITFf3PS10Ae@hsjC7qS)2*_EIj5jl(W;}Q`M{_t0yEyP?!uWQ%h%D{4 z+277qT{L%l>P-HYSArsPIxy2&Xv8#21coT{Cuy?|-OrQU4ze`uqI??avbGsudbCH7_KFBo=P>9IjC2t*{UYg(_=>;tl-rY|L9rF=B;3SP*IJhO)bR85f-iPT@=|$uDQ2Z@X<1?5LMUQvg~g`fJ4->J z{>8b7UhcU&aP-RHWez7Hi~D4tgf&&i2r2M~8znC+I9^_e`R-iIAKx1C>2?SmOso)D z!FeScD!mdqv2cFIa<2>|Y$RNrkH|f&_Z{WLdg(MuHy9&ih39_X@lS4M^m0#H(OgGm!92sGA(Egu zR{%2>e(iF~n{iBPWz^=+;(NIVs;G0QcVG>tjo#Yd#-}=r^bF4}&Pc8^JQ5s)LE1AS zx@!39JJ{=Kygxiob-bvljml2Lag%z=2bEF(J?Ry76xrbF6WLpi-}l+%Jx1%7!$mI zK3*?)hD z`9%1`wSxcV!vXh(p1=2k=kLAL;GGKz#b+5w46n}^Vu71I&-)vW6nJeV;iZ=4wWi_! z+jb0mFrJ-j8~**5m8F(pp<%hPS@P3u$9nFWkEEK{pG^p1{SuqdC*IGM8w1B6_gtBc zxZQPZ4?T$y3LiAt1SlMQzEyC2G3Me-MB510XCszU!}h>)ujjb77>_b}hOC!xv2FP4 zR}&hsFq>MO3O`xR+2}czWSIOu++ zowxs3RYeh60^15blj#s)?iqC!J~8M6zXUw1bL&?TXC&A2hA-*mI*e30EL`xopB*R${Se0~aj z8TI%OiBM?Jib9p930`djlr%C7owDm7ieM%+baT%z^Q^?ed}K&f*&aAzlW@%nal>$J zE@q)+_>Id6Z_QcGH4W$6mVV*6+A-{II`ZoJUPCzD7dwtWzhCfgR!i20o}|i%{45XQ z!D}5dA3R?E@{Hx(*@!d}?sZGvSc>?h@A%g&L`WBpKdvF57%tB?#Cmq!j;Zf%wgagmpudgf*-pj+VyZg?2V2w1L4?nzInewZS z$M3_=*|YwesDvjN(;&zX)dss~X>L3txt=#n^sa;Y?HQh5j5jkU`_xav`eB5pUDs(7 z?lgAxDd1@vIfW1!eDM7r)-d}U@+7wHd+m;+Y;#AnlK>cb>>4}{Np?_c)PAFf-Gi9v zsxkY^n`V`Ln0tOSlB?PXoYIL)s};Rd==ngBbQU6BS&Uh3TOxrkb{%&z4Wi`&rC06` z!{436FrOO!d{AObC{`LiE)+x01tTn4n27~dCANmr2zQ*KE=U(7mDbcOFxN0FcPzV=j#oPtN)>v! z(vA&R=OX;g0tK?tvo(bO^NXB*u2`?!8~7k?AkThSUA+$2c1mA_zi~d{Qq%C+PRWlp zN`C!v!q*leKHe_*e66JPA*9d?eAxB8&~?1M5b-x&XmDvJ;uo9Yyp=d?V4Xrvb&gk7 z`<_3zQ*bNu>=ug4JOfv4atVat7uzL&vR3e;ZO07CcBVKVp7Wkf@F|55Nau!x9|-Mv z>Tm2Bg9@WestMuearFMbRMeVW#vttu(Ko&wJh@)HjzrNZTWABSBa$RCLR?!3Rgp@& z#noBQr=36X;r_M4VfuVB<&XXA2MGOQwBFn|S02Z3cNCXYOP3fC+EE~1ox*NWufiU@ z?<32c_-=Ce*iUdxtN*det)E$S|p2Q^=jiRlCFo7c!4hqm#M|ttM^YfJIsTPGn9Q6n;;* z^-0%e8VQ`JOZ17tKKHe%> zXrKm2 zJN%THXSrkPG%R22l(Y<-Zy6e~@ZSBLFZ!PCLh(3q;7Z5x!fedNcu3Pg;R12 z3(x1fjzO+`=SqX^f#>GH^P`=Tzq%X|8$rE>EY)E@%U0(3;cCGrna7B5DTb)_oT%oW z)vn{u*GhhGv*fLoVb%)ivn~|=5Kx7ZFupn%dAptAe-|xFOsj=7nus|?UR;$iRm-^J6=B-f#rsw z9ScJT-J+a0D)dj8QqKp=9FO0lK0WQciJ!yDoh%yy!3AM%MZlw!Ua%AQTT2^^iN@+a zrOL*vl^3rDUFuF^f*0@5vs>04&|`1sx}5!}-{sMLJfSto8OilLL4t+eMh1xty~>@i z-o%`Ob?q4*5d~o*(~Jy_C<@jK7+F;w2KC@$tKmR~KShaR@mZEkde=gpojSeY#cf;aW~s zjx(+uy3n51N2k3DhxL;~j;-Iz!of@`T$_t{=X{EtIMi#fw)Qf|&sK9j-3cBXkvV3l z&|&>{5{D7K)9z=YZIrMn|Mta{rKTk|Lh1DZOZ~Hmda+g$rAaJYNQ576J60AvznL21 z$naTj$c>$n>#@+bLTZG<2tVk1etEOxddKqHFE=^gGOYGIX(YV45_4@n;g4=-{NP@} zcH!CaFpxl8CzZOlW89pM;B8}#kXRx1vUdUdbeieda0;^)*19D>xFh_n`H27Mfxajs+O7Ro1ECI9+%&gF%eU%!y>YSYjidM?dcRN!|$9x|T@S7t0-r~IQ&hP>Z( z+;>Xf!N0Rz^0!}U^5R^?Z_ODlM8Qbdj15Z-gK^42EcBcndwP1RsEE@$nR2~j_^pcx zFV08&?q@^(@Ls{sGv%kNIlplwtqL18$2U4B4Ifdj2N7bGmQF5`^{QtB!=aN@KVEYE)GeE3jgf)!-v7-=5zA1 zGn^bI$&FLjd1@~wYms(`dJX%TqS}bWA|x_Cw>Iv$stgF8lUDX> zRxF5tfrrhZr&VQR_5wp6o{I%q69av0gr(FlER~%i%$*k#;f0Q&5eYwcO4kLibW|Dm za8IF}>e`3YFBTcK%}Ku3XC&A21XZjNmS-BQ%(d7p)}ayD*HYkYx_$m&L}*xHV^DHA ziMYDhrV-nbm(F4P&nNY2Bpq355hmBf{3@dITZmpFP966`qT9Y%5;M5-Nio#PN? zM_uEv^N%7pj#JK2=QFl4ISoS9Z+Q5Qf6Tt|keEy&u|D+t!JV9cwptJ?%-b-jJ`L1_ zge5E}MBt^_h=0(IXhepHiu{>)4k95d>&>p`pWi9?AX63$v_%-|H1gmu#^=%N9ZC$p zdBOt0pxi8!cRPmP65;KYQ2EJCmk10C<;GUY|8zU2aLRln4E%J9>Rud|<$AELM;{$l zJq2*NV|isUW}#t%htgBt%p7Oq>Iv@ z+%8Fh?V;zDRCsT#paFb$IcBkGnQK^_S9S-Ud$#0!)9`m*Yx3v!bIOepEtD^I96OoP zA9^}w?A4HnFlUsFq2tr-g56R>m}=E0YD@V+yyN6OPiupRX}`(ek7E<57xE1w^d0G&5*3U-Epak;r$(k+yMQ<_z1N3qW(=Q!=Kr_1hd>qqF%NAdop4Z~`;b)b)i4;dwtC;%?stS0e2;(fJEV9EYqW&oJr?@gl-}!|>9q z<+X)~!YOOH(sv>Jd%k6vNkjJekGD(uh0-wK38Ymifdq*ipkeGVgxhb3(6FE?hzIdO zTdO9XM1n!bSIdLQkCTv1hRQ(*mvl~XUNJgJ_6UVQDT4Ki^;NQts3OaJt&>@W$5sV< z31yUkx-nUk+Tekn`*Ay26O344wN6<803ZNKL_t(Z6&YZ>;$8UO3M3O{x~d%OgRDR} z7mP9r1+0ykQFU%%1fztydmV+-OP&2!!jIF?hKAtz{PJu>D-|{irMq5``mhf6B1925 z5kw*Oka?wHg$pgiyNeO)L*>(5$IWiIdG+9&j$|67GV<9-aMfgU^=&+)anRR+$ZWmx>4RKI!3dyX?qAXjBA^R#2jON(t@ zxiC)}nG>@Lg#|ur7am(pLSGg+a)!spB*~Qny|VH~_%a{h#G)f}%G%KL$*v>uuoOXG zpWb*Pgh@AKYZKa$p{SHJ50cPSVCa;sOxYNC)WFaPnLZuOBPDERjlf#&*^Y!kF~J;8 z+=dXyjbW**4LpTYd}J6@b$=4ZI>ofewP#Ak^K z*3j)j`SC`HHNwzC+rUQO@vpwf5P|!BN5h7N{Cn#KMnkyQ<-{<|m7lH`^m5Nq%T}6F z%Er*M*eJO+6D;QWe8k6n&;6n2gUyo2!p6We7geDL1dDK@!kwO{Ul!yZ8n)U<$kF3? z{cc3U$ddlB&%jjY##LDl3qv5Fd%5!dTEY6jGv72sRv2cU&4FjFV#z<*D%j0Ei!F;0 z=ng&i`Y!bKp{H~uUcsQuMZq%es?F6$+a-7Uj;@0nUB~Udr&MSPXr&nyJw^wtH)mmk z_Gs-88yRU43FFYoX%Jw>3Z+v%-gSK1b=)0zQVAMn+nMJl>jj-SWShL*cdTV0{CdFx zD%|Wke&_QcyO~myo|Q=0%soF|FDMjdBiJdFpKq5K5sGRP1(nxp_3v)(`J+2IyLlCU zYsUTPVcWEB$I5Z>3}-lFdK)^NKcSv0LTjE{?OAeb&pqiFy;iJ3k`K{$A(TU#8%L1k}FFk zFFl2Z>)Xm0cy|zF9a1Y?Xc~+JPgZNfys(`q+nEm=_FwmC{@*=ENh7J-77aAsv;YNt8;81q5aG%}c zWId+ONUrA!;niN6Y4VLr3;f&H&+(6LY_KsbXeH*vQeHo};W(qczD!g`2CTrqD>rh- zZ(o?k+5017>8Y6ZAmx@O!FpsS|q`=Yw!0ucoKDcl5b93wh_U5 z#S5H^WY0Z)*{}j_3s(}s`mj;TpEAiM)kGYLa4rfKt-~5efQEr{vGAr7(rR&29(>9Z zhpk@BM1_?I(nA;pkzjSak_1uixhPm4Px9SQ+%RQ1c71INd`@Yzfxd;0caOo^5t>?16#XsT`IkV86;c21HuIL=Py-o2u{~Vu{=rAY!{$GS<^C?&G zaMWI!P8Dl~#irqW%W`+7i3M>C0p zJAKcMuH#PMgVs9Op-u}8;f0Rng^msDLsd3%&(Do;tM8ag4X@8dv{Qp2gdJKdYzzZg zl^9q`Eq&+ttn27`WvfsY8ivRxjXV%iZ!N|cGY$bX20q^v)`uQz zg17u~%dnIi27S-%ZdiNGHw>5B;r8kK%qEP>>^-FJMv1G|MgBe~8n9U+8m=k!R5%cd| zo8_;)eTA=IU8I#nhi=3k1&)x4+|+eCp%Lg=p+=8WkAsM?FXP&e1p!mJahE#Q8+e)= zf+u(f`l?RlQ`BXt^|)QN@jS{9P=`o(LcKE|{NuemU40o_u|xwOGVdKKcwCW5eIM?j zsX8VapYjIKSKeGB@z)c=qm)&6SS^%KGo@pKmA5!%z3OB7Bd@@*=gqnwTPo|%dMLis z(fDp8xc3jL16x+eRr!}|CI5J>1S>3{bd*upss;g&eKi?hA7IxV?*Z4xCjy&Jx$l)- zH(@0|U_jJ~uRO5p;Dg+=D6nY9mJ(iR;jerlU40Fs=@&ss;-AuSTB_yXP(#8(2%3Y zsk&$wuNekazuQk3^>ZD0_Cd(VSf3|A?m~!-pD0WB9XEO2w3=9i9*Vlj+8zI`tdC9w zJ}Q*VDF2r8_(z#RpM`<$3|~!D+FKIG*b5hE{wMz_KF_f$=P}LZGasrriNp%6I1tyX z1IKFSDLkByL+IQfSGt*Ur6DXNh8ZhdosF1p8gBPI8$(Z9;POmFYJ`Xo;`Y*9#C&X6 z@0G+>IM=kyriQ#!(nvVpiFkQ2;>K18D^D!E02V>%zA_)NQ!494!R;*QSVHiAU2Iq` z%|_U+BP*1ZmgU-9j2HNP$5AL;Xh*yl!R@Z2R|KuCs~yX>Q#O5xwZh8_5g6g#z;VAH zyrwVDM6@Hpx&kX<`c(;DSl4GFuFqQ9R#@#hnz3-PZHZIMa21wP!`0b{cEfPHThcF; zbE)v=xtMOItPdQUh37)sVyv)TD!s1fa>w%Oe1vmBNWT#WZ@Nr`54KBMiSX(|#K48; zvQ;S8I+mB_g;v*bzvmbhO0R^?Qu!heo@I#%I%6A|(u`oXDyMMDPOfa`O75Uv!d9tl zmY#MbEVm7_iEww|ut|8vS7$9>bR9(%y86m`Ds`qM=ygEL{n?`+#W9sCl^17az$!>Mvj0xd%b+vV(+{wx7$iA_EqN_d=0(shV(Dll>Dojur?bQw~Dlx+O zrs4Yw5lyJHn5G3278{#zI(3whTq>_2Q2~)>YE3& zWdvMuK@VlFWr)o9x`#r8N7mJ*ZIrOmvdpK3ySt8|gER^f59eEkI|HFnwey{U=ffSx>d@1& z!cxO96A5=pWpn6p2JU6b2iuO+E3=V+Q8KU0Ds&QICKl32*dBOx`ktN4bAJ%RQa|c> zzBU&m6@I`AOf;)O~>n%_L&3m9R9^#8z&*U&ab!w8=Qb>BCcgaL)pvGKsN6MM(90hUX9U zcvWxI_xtfog~Iuc;aATmygFlPMl#-{?;im7{e1xMb?Bya+L-!4ITM5eOpt<7k=cjb z&XF79DHW)RpHda);re_;BM#ak_4OZkWvVjNE3H^~bw1|rXz;|cG9^syu*Q1WfucI+ zMCYd?p7pWLA+%-bLukjfjwOvI+HqPL)rQe&&`^16AtKV0*vKdg*#pn~xHmrSo(`V)+r*$?+WmqcS zhjL>=X4|!)=aWi{@oSxsDL6KQdg$dIiG;1(^F`lr&I+98KP;tXdv z!&eff%H%U}e&nU1da$@@O(0yGi?}uy9Z81m9~h_Y`w!y+CP}Nw4`t%uqhy>O#lh&I zQJq{)x?>$sVCjP;_|4^*H*O|Kx>xhMePAa^$9P_p1 zc+b~|-sj^?*i)@)&m!v0=Mn8#!D}#N)Y-;HUXD*-%_P+Zzb2w4yIZ|ke^ia!+H0;R z4J^ka>SUtBoHX%N8vsfTV$`+A-${F$)kLRE{C%o0kzLVsyA&V&0xb&c+&uA1FF~3< zu{HcjpzgnlQaYuq!phP(WKqn#vg-gNn8=XChQ5bQ7ZO)_4I%tHPU(3K^RNcJ#@L2= zuGYLtO;FuiA9(tO@TwbT^Xo|L`u(1Sl(KQC>44hOs%mf;G~Maka2r@7)OUl@YqXiAjf)6+4j&> z@IH`mGfDM)Wc*p*L57ku4u`iB*Ek8BkzCI)M8+btXFkNwGX&(3WmwN}hBKVuxy3@K zK@`V)ywT_OW|zfQ%xp8+lZ9z2WY0g-agyx+LFB@-VqtiMO}R{(&yP|5NswH}K9|Qh z|8ejrVW_${4ETUDd`0Z(lyU7K;(Zz(xRh35VHR3O z=(~_4BC9s;A$&?k=S~t|)2?$^Thw8?&oB>kIBM_BvcTWI&G5hcukhXx{pzn^|NcL~ zM$xIzl+}U9TESXjP$+BtV3cyez{6UubW--btEEDzbxM=kaJ7FgBqMrjl4O?Z53T++ zBBRW;VcMGPv%#xrv1Pc}v8)x!`L-d6Lk8u|Oz9-y6!jq^azFRoiB})}QTMJx{r8(Mh&=WhC$S7N|5|S6~6iPdS z^G(BxZHsZrLNk=R8J-4C$)4a0XZT8? zwusNS8(djzbH0=C`ybzDP&(eeFi#pshmr@+3b%AB@ia-K=Lu(>@Ms*-*L32T?S96G z_qO=G&(`?b@(kCPXNVpl+v7pksY7gLW8qrEvYUl$Z*}(C#0c{dv=YPCP{~}_Jl5U| zV^5i}w^sdmy#e2J%C)B9TH7*{7=E}`u#+pX*&E)Y1VXGP_iBxsdP6<=-G0LBu*4;k zM1T@VyOxDZEz9eR5r2BWpqnd~6GJOC-0wSfGTn3SNz!VhnaB8xY3)!aiK#P-tAOgs zJi9LqBX&+8j**KOFs{VR&LZ;clUq=EDJpoUYz#cNdyeIf@Zb~z zDV>!;6y5uA6Nm4D=W*tgqVhb;y%M|N{Urp_C-X3LAuNAXrc?6jy{WyQ7E{A(GnNE6 z-!h28y`ksMz;ne~A{XkBRpF3LBP13UQla#L{EdA`1XcKOY*B|}R-a`qBr!rmI~N`X zrG`woSs(+KW1*c0bES~EkkBQ{l|hvZX;4=8r-9@te5g}ad7*6=%ACSdBD^&hk!T2W z1ZYLVtWz2i!bS_HL0`>o`8E$QITAi8iwy*PWjPl!7p}7c1n*GVKIhRW+Pr-i1_{68Mk^NoG6tl zW3Pq`XYm8xC;?7ktyJDl4PQSOb73apgKfw9u*8Z`N*zKK!WaPx!Ulb*VNj>^%OG~0 zR2T3HUdBD|ILc6Y)oDZ^Q{|iq8Qy;Fg$AGOI3hf6%tyR1AMppbbGC*>(B#vQyhEuo zddleCnH-8;^8_9xEPy2o=OPoyU}-ix?M7GItpQJ8sTcgFbA|_VKei5y6d>H z>*yp(8VeU&hLuhTyX%z-Lr*e*tPC1fsv#uas-jL=8+f)VLMEPgaY|Koi$KQhn< zg{8!x1oCk=_Y|d4mheT_vD~yQC5Ed_OSe=uGmmr1R-tqY#T!^o4R3ZrUnmteGUeuO z$>zWlTVcH)g!a9IrU+RXw7v`z1m6ku*E5pq3}-mQbA^Z9^wo>I+S2Ita7*SS>KJls z!ldgs^PGGdsGlDkZHYd^R|oaGePO=MZ@hhtnKb6lKHuPf`_WDM2&Pi+exSQlgUF

$5D-I!6Ll4_txl<}Vtv2HZ&c}wE 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≪<&>GW1^dV_5Q+KMTR1n8#NP1lLkV3q zFA%#hM#g%0Zxt!Qdhvf^a+g^8by^SyKwx6wF`5aSX&X`hjPFtvH(JT5<+gg%ef-w? z^2mDNNYHX-@u@L2T&vqb>5G}>{ZF2v#QuhovLeZb#9lpQk68lsnd|m+T|-ApQLpEB zrzJE?3s;V8uuc1h$9G=1-!hp&s~8Wveau7f)aFtzeJ1 zYW}g@p*WsBBAUGX_uM~t7E4E>lAkEHXKq) z$=5^w**OaQ%^*V}Vq@UZya%hBrrK;Ewu0F$-p_=VaA(Z*~C z%qq&?+>{%%E^6O1`N*?QZCEq7;aP6jHC~&b-&Ewh{5H9dDhc=_b< zxDS;2J%ZS@%eUFBgxR`Ym(X4*?mCENp9S7SYo6y@7Ji|$7H-P%U%Krk?fP_8 zsrgZl;T?EpE$t?B>M>C_%YSJfv?f?^JUOd)o_dg^^txU@?z9#lhq_J9c6>}U$+j~( z*U@`$8kT?z4^yd5eUoR5*8iq!6wBCj^Husc2?r-%?Ujol*h}%4 zJh_Ed1kUUCppUE&D`i&d)_83fXDlCU8lgrMgoUx`#epCTl|8E@a7PpDGveXre9)5f zBV>HmB! z;P6BC-1oupnm})|ef_vO*Y9S>u(sj!YJ*Nmr~=EY$+6?J0L~1eQpgN2arIWSI+`l_ z_ds#eX{pCZ{PCOLT*68Ni+>uQRr{ijW2|bvl(aS2g$pLjtOdv*~zWF^;L(xY8E{Npc_^ZV3Ba8-GVVc9FK^|TWV z5wBL*_vE(V7v%N&^LYW0-*VJ-Nlskg(9$kRufbI-f=`%b5)7Ny#&hM1|GqgWvf@yyi}@uK*n_cCIaJe5_H z(#{v?`02!;pW&_Eh@TA&{P;*~n=aI|0u~=%*25oamYB{x1tIHB0=6ROT8C>BqWUgn ze(kGEm&%8$OnK+vH|0stvI{BBf^<#|Pegl;J@2U!|IkN?7#WRC?8+dl9>Q8y+xOrb zCaZ1Ki;A=YwJ@sZ5=_|h+uF55s;sk?`CvbxgEsT0q4hc!ez2XSm-+yoko9pVW!Y;Z z>)YCfMs(HPk%B5j7DHI_%RMImD3dPKkFB8`%n8B+Pdprlnko!3-jvb<$6iF)mD*UXx zqgt~U<%yK|4idLvnNd(@A4-`oApj|HAm3-ndj!}c;5I-{h<%ON$?*0 zdtvb}mk1i09E<@6c*V4Sr2HJ99e{HXk-mPgLpMgYSQVW3WQUxsv}J<=9`L}ldbkja z!i~9oy~3b66$GzuNcHfSVC-Qr(I3TL>9NDPPD?EWuci_-G=&H34BvP{PK+^VzCk&$ z%lpk^mwv$v=(=YEt9|vK*7bN0Hj;wZAhe6c4!1FM_b}5xD9icjNGlP12BCV|BWk!2 ztSo{{85e+A*||6&fm)$PlSODIs~(irfOj5Z7~zenNWLj?>z%2Shzb zp6q^zA}pATQ1blyjRF-P_eX)?0n2*o!TPR7)%#QHCSQA9Lp3kYB)>B>9z2#$HPLw+ zm7_b$1pg$dX!&DQ@Is=tDr%BHQlBn=(Jr%bf;Gl;FlhH@NT@-HC7%=NEy*Vd(MbF! ziRLg1eMF2-^LEzE3rlyxLfzuT{bR6i+qPNhk2`8ZG;D3^p;l{?@ebwI1JQ$x#t7D1 z6TvS%lDCBFhoKIE*3mPtGB6*gAB=z_6$*_91-;wV-$K!)wW;e8sZ3T&biUl!)na^t zOFWl#2zRd1s}IIBG+v&g(*AP(7ks5dHKj^ugI_Qe2Eg!t1=HkTiIX>maO|+?!w~KK z5glUw2km6n$5ZSuOd*|D<}CjOb_Z+@HXPM;!6FoL3gWnE6VKLR96wJnW2f*(7nIL8 zo7#Wc5;}4(P1qU5;xWsVBv1p1*8e`7Kkzh6eA1xHPhH#0LB_42bVloAyzAGQ0%a{V ziH+x5tZspkZx2zV^`sGubIHaPfx(t{ck#^c)=m|{maO=?L64Cs3-A1z_xb~wlrySFhWau#KU zj;(c%4e%Awd1e-wO|O)*5BS1)71-45JrnEb95 z=YlJ>Oz9)fhJgdnJNA;=ry6ty`XDzP9}kmL9K~3in6+mtrIhXW#j~qSeVcG1F-a9& z5Q=SD3ct=#dfHGb7&~wwX)$c)6HJ;rdK4W_=gHxV=X3+j1wG=HE>Ich(fc3Sy3-&3 zvUxs=fkKKuP)KoWQ;WPU1C6=j_JuCwQzPs|JUu+0cXEyj_VGMWEng-(bdI1hhvJzQ zI?5x3J%xL<_nn0m(yAhlG?CXr%8>Q!KjS6}^q={b*r-4KSnW?yXYP?A=~*EBhHG1@ z`2k=o9dH&qG=ppBoe&EJyxyJ!?5;jgzzYS7!u7>gAM^I|$DrRp25y?yS_c1p+J86w1IzzD&QK1IVxaP^!toQSe&VMB5^F4>k8tk# z@BfQ{{_naqsp_UB#vVmwlQ;)166VWA!!ImK#Nk z4;?L{Jm@f=>vu-`40_%J<=k3T1%OvE8@32;C&3l2(F^6S8Gkbl>Y14#8x%tpziv|h z3udo^XASJUrFtFWo|sXk+h3x@N~h)xGWA1HXH$&L>W3MKCOq+Q(nQVQec$hW znK6f&teJEE)V+P_nIqA0O-MoV|Igo$juSnuIwhaZn)g+;XnsMtHf9G?K55Fus zmRGQBb(e2U&lO5K#{fh zLR%0oaQP}|S_2c&k4f%UNwW6eC2I6>Rgrs;j`xnRa)_6P?yjtvIOfRoXvHn&7@+X4 zcEUAFWyScE#v8VxS4P3prC~K=V6yaqbU?unWmO-qE-&0ZZ~&Iq<16TF!za)5c&QkZ zURHxp+MLtGP8^xZeSOw~L``5SCo3mBM=T+S0yJHHVp=TFqR{V=qU*Ql@U04{zD4$1 zcF6)E>G!;GVYjsX`Ipc2M79Ehh|*jc*rE4>l_r?^Irrt1 zjk6HVR=?07!;t)*-u}DdxWt{+X-Slym?HWGEMKl-);1=xpn;%6PtNGDQ_G?A9hv@V zbMLLw&AQ53yU!+8;Ovt&HC1hGG{ZaWb;LHun%9*S`=;HrCfk=XT~@!Wlr$thiW$V? zrTIWZkaOBC9**|HjMTz>R}~?c)p4TDIz_p7g_x9GoC~88zAY4DAoy^6yiCvMa++)N zGIbj&oa+}&)GCa{NAF2)lH);M{xQPl{WfAbda`4rs~A&#dcQ6(xhcYk*YGKm+Xxnb zU01B7FG$evPG4?sHSv`enBJ>J#Hj$n);26+&t$DB3+C1Cv0}*Y-!}1R?;p2d2A@t8 z@uVZ#NZg2`(*Isa%NN~2q!{n^bW0U>kkb%Kr#k(yru1jU_*1)!p!`wT`DZ1+D{Dwc3A&LSuXt)fb(wcYvVd#*{M=v#e09xW) zH!8f0b`bAo(D#-$n%QW0!>K5PfY#HEyFu(7C0ZqY!9VIS7Ov&$LSR!WWp(OZDS|;}Q^H*jT}CbnLskccDUUw*L zExI;!E{x@RLvfh7{qNcqu-0Yup0h$g;Y?d$;AqnUQy4y0i+PdY+<`=Y?JtFhCJ8^Z zD!k9D4&40anqJ(bcjsp0ENhps z>F->UtNg9_Tn|Lvfaow}*9lY*v61iZ-iKG}(R;5v>Sc~;PXNJ9W;ZuKK3ep~4UJ(Q z#j24>W47jtm)}2#-njR3m=nLbO$xY%PaY3l@DhO&?I|qnRn`Ce=1w7tArevPj@$9zTt98L!s$HW(Cv68J>zgcdpeAojG`7ch@9}k zmOPAY?2YGlX1(;7P1+J&d|=B7=UnP>qvB>l$NDz%IC(tN5G^z~;15JVw%1BDNcsag zH%qGo@NfKP$(Fk8wTDy83f@f`VXO?mvN{v=ynvNPbHX;?ZnCezTh3f;9sTXLQ~gJZ zANXrgr+6ur2~$cH5p+^bFD(?CULF%ii2Ye=<<7L~d-~yQwH|Hl&xT*k!dye{^5$huEUpTIBu8&k%+ic&x4pl7qBa)Tq_NrpY8T+j=BPDYfX z_CFuT^PIZ}!wcl+Vrr3ygU%XiS<2y2@PUZ-a2$tjYA|zEiRaQDloEmw^*h#_%@bjb zn0B5_myL7ARguk@nVC*IE4pw92*r-yOm>Nfn?9!>q9u;Chd9sTnl>qKq^HI$E(2JZ ze)ClV)1@%7-;tXfuzgp|mi*~>*kHfVnx)Z3`YMXP2VS0-Pn4uoCkZh~!$WiE-AiL@ zTR(D3Z;b`=CF}}PuOir#8~tW89^fnO-W4ZGazOa-qrM5nq2ma#2axFKwHZC2;oNo{ z1#1Va4Q?bCZxcm==DM;6CvtlD210~u75pL}t9+Qjd%dz%1>^9q#+X5J*efIIl&`R)DJ!AxQl0`(Iq-&{A+gGsZ44X*{(;sp(`B^UhCb%#EYzB6r2 z00SDp{wBjgE6Bm2j3WF_$k8pCpm;9QVr9*c)o_qr%{O+XiB|_11hge~*nX^=m*;m$ zRmLp;M5$$6&>3D6-yY}zGPWn7;$+&4ZKRYKky_fbJ$d#ynX#oJAhwN(#d>f1WLbpF z9T1yB`OFH|qZ58*+zJUR=a6pP?{1>M_6}_Q=i~kqz}k$3RpOC7BW`USsOG>em183B zFYp#}iVaO2}i~)ULa5cIik#D*d4R*@W)`7jz_)zvQ1^>BhEMW;W2&+}_oG$;oU4m50siTHDhAW_Oa!cIE^D z`L@GWI|R}iN11d>1HTkNs5v*$7Y&-8vY;?$3H0ubqVT~Wa?L}l@fvY)r1Vz#?cve% zVP=bX5f#@P@}s)IbUitq^-Vjc`U>uf`geSKu=Y8AMMHYlI@W7VMKTTsGF*lgq%rcW z?xAxrINC;8se*#XeHNr)HUP%@{o31iUMHD^&ZQBK2DJXqdAKJp!j&CF$?*EdG_5}I zkPb>g9MMd~90?Cmx(A}^V~W_uzF`oeH%y06e55J3ge0HKC*cl9?u02Xt5ZM8j^>&^pYtla#IHu_c% zI5h<)D)Sn=Ld8ci&BPdqX}z4pKHK#OW)+E98Y+(tX#*eb1|iYSSP1rN`XHO34A(lO zU~s78uhNkiO7uQG2lHZ1zvGpj&RYIhwXP+ELrLn$O3LmflV`0-MhGpxKG-lr=I8q! zxvo%)t3FEqg!>{&+Sb}RE`FDTq$$H*Y5N&(+obTc zNZRN6(xx@t^qj+SS5Uq>-&O+=vMgo+)9I2dTym7fHci}}QIEmBsCor9*(2_4T1>t^CVFH>gQ*Hrtd@^EnO!A;XuC>-5<|wemw>itYAqs zhU3Rrbly*@?y*5dspR$YEf$zLC{LjO67~09jQZm07v~`3LoqYhNd*do^dX2Q!nNike41Gyq!xX@puOR*sqWUJ+27&*XTSpBaSgzeQ- zC&3&|BNY=S4HGNWEG4OA7(?z2fxJKGP^pdj2GD>`#0r@D3QBj{N^_)BE#KnYeP2+Q zh`BwIAnt_RJ}BD)(yUVExI=AjS%Q46duBE|-F$=+T){l0AG3F?7sJD}Y@j>=c)CY4Zv4S@**L6FeT%*Z|uHjdPfvDsNK7GYO77K>A6k&hRq`o!fR5 zkWcD*B~OYh-}e?TKIgYAMtIcjWxG>8aos!A4cThO@}d%zsr=fnv=SaY;w40I)hI{nO$!Bw!N81wvIG& z+RQ6a!D>`)5R~E>CHFJKu@bka86Y@nms!~&1wFrkc`-YfkfDN)8ap*nF$?rjCnMB` zZru7i30jNbaETX!e)}0qD?L#|2`&US`GaJlOOFArsXd5ID{Z1A)$%>yv+IoxPgq=) zlPWo!1m-Zlfgt6_#Zs-c4tbpcHvXtOBS3~B075EzcPquF;{J&5=|jQo2d9PWzDQBL zB*WzvyW4{V*?NI=zF2T0*zKH4PDR)q(-JR5?ylA|&jR>G`!{6A4{{lN#L+3zXr6V2t_(w7_k+ zb0OZ&kC&mWzwn2ntt_q`=T3c9R{%=`jHZ$M?3(=Jq=#M^S84C7k7kZl^!s zfu&izcgs&W-5573s*b&o&Hx}imB2N+=PTLpwg)2<5LZK=ax0_^MHbVPkWk(!Thak~ zC=XSuk;W!YXg3_N0#4sp8Y=+DZ3k-9$Ue9iU_J9~4I9g)JVw_U_9_}mF`Xt3Qn`CZ^(|u85$U|IxP%#M7_f;0oRiwNY^FXv1 zwS2@VIRmA9lBzY(p*pFDN*w|N3eUJlu9jGdP(6iP>dyjj6E$3YpU{&E<>fvoj@adb z-0qZ56fN!f0Oo*+9z7ALNoHccCJ9*{3zo${k+=g1vWUmF$w~zi+~W(|km@nwGTLEW z;D-07!UpT((5)=rAH5IF4FIk(La>E`NVwh5+JC`=GIPV-6X6vI}WSF_U2ujHki@w>RtQxQFI z+J%vZQ7i4)ZNebv7J_PfOJ6w@|HlQO7@L8&x4c!DfNPYV!904m6QAwoz;8*)q0`nVcVZImw-|+J&Zhfy zFqR*m$+| z4z@)0I3_#!wTKA{X^P6h#H;0IX+#aoqf{9DjN@4OXgP^B;s(9dW9Df@pN|==Ps;@5 z68#ZSKqh929s?=uEg@&iDqsHCYG{is?3?)Fx|Z<9c9t^hCg-oTCHlAHnWUJc64f)K zP3gc7)AqAz)c)z?gn|A?Dp5Wdei+pzjtM<~j4bm!x|kwSGS9Fki@@W7Ns*62NF)%5eEO6iN8MlEp#We#VG$8Lm#Q;LQh_D<)(^^ z`wZG(T_Cv8k5B-NyE6r?F43)Q5eu0hES1*i^9@8Fu-ZBYP6WnI2u?1A zE&S9@Pl3w6ZHj+l>E|Hf_Pj7qGt!KhIOXbRc=v=U9Df~bHE zctk{O2}c63!?;$a*%o$WOaj+`)Ox}apt%aqOMH23lR}bYdpXS&)zep!PYCOILuA z&_)n>jv_T+RVs0Dke?wDrB%Ak09z%N*8E(4j+tJ3Z8WO$IEdH}L0bo%Lx~Yp&2_kCu zPx;&MhB@Dgq*)GCNZVge+zvG{cE{Aj8)!Po(ab!e-Wj{kc@nrErzaM~)?M8x&7eq~ zaMDclS4hC+2M1?LPt)YxwY!E3-nl78yElGhOi`KVY24uynd{fO!br^g7y@ae^4h?$ z6ZDHd3=W*`DaOjV2;J~C~kzK~x|lk$B+)W(y*wBKg8!4qe< zTTm2*54vV`{)%rDTWCIzyzd>{ZlM>v#z-dZLENHK!ooihXUEx<3q}61*WVRxo!WIjNCX6}X)20-8er z!zaaPRzf}m!vxerg;*kC8P7PLmSjD!-3628y}}n`9}8#a$EE8cT3rVS3GFco3A(q+ zri5~G+PbqlJt>rcIjCMw!bcj(lbEV?6f6DJq&N3 zL$}P!U4?X_M18X$FV3ceo7Da%2%!z;<+p6bOA$;~QO-s#-F;bFc%?9WlF-~kDBNUz zdnC?u-wsi<@*Ca7VVC$da`y&19+@xZdKb|&%wPE&jgCky7{d&)$9@KL4T*>1N8|`ma`G9;xrpcYUYTJ)m7c+kXcZ6Zpa)^Q zJIRYvd@z?`$?f-74P-O`KijnTc_hI4jTM@MLc4RxleVeNwcjsm zV2&*ZvuSLi>^@qK-JBO;KGSNP<6-|3G-ZSaY>oHrt|*#Nmrnu6$o(zr0r<|abcKwe z2|p`NAd7+}7Lk!l<9ih;E%wM?E+=bhN0K#0{r>Cj;2JCrV2$wj*0h&cv1Y$|v-fwj zfhZxg_*3otmpZBY9XQL^zQL}qs!WMR^yB9E z#trllaH%{qZFLXUyER8m+$;Z<~hKqdRh42&cckoyO+h)nr{2<4_d zGH(vb;&lHF4BZN2b5174QR47^N1FOCCVG9i;{Yw9+)*-+Eh)HOz%G3B%J~w6HLVhZ zO(BjE_(@KhM41 zPBxUva(EK2i%FjDb-75I&-~6LF8&eo{i00E|ID6?PJ=GII}4~LMJ&k|cCBI3isbqN ztiW664sV^tR13y$Lyo|dD3X1tNlWVS>1pV-NDz_t-$9LQ4h&_|M5YYL9lIbZhXTZ$ zJgU2AvEOsFBOMerBD5 z8Q#T6jz&{8lteX*QddpLuTT4O;%1Tej4|dK2U$Z(ln#GNph^hDE0%P94H$x^x(P^} zU)EUbIU6HSl889?ouO%ToNp8icVmlDWu+W$pMmrW^=}_9?ll20C?giRua3p$Si?85 zbCaFQ_j9rEPr0x>ab2&Q)BP||v_vZb^xvVey2SOg#Ni6CtE`ihhy7qUtH;kM3St_eYrdaHXv2^Xj#iUhO?o5@$aW{hdaIeoo9Fp$0 zZI8t6&3hPv;MSWXPt1+Y9@e`gf09FTJAlOML3_^i(Gpna3~u+FV=3SB1(7kkq9{Zq zU0;MR`tPX6k^@c@!XpC_^qZlYElUs!AMgZaddzsALpS3Jn#n$=M!xLR76bV1JS~;T z+px`j>1vsb1|3sY@|WE!_}<8&z^&%; zfV&`C(LAXe^6+wrof_>Zwty&n#3A7a8jBU1Y~P&wnjnSyKFa*agrtB=`)bA9UY51+ zmegB<+28kf1c+m(HeVh40L`V;#*!Xb1wvSfzn%lGK~HL@BI#d!PA<9Hgd&0D`t9Mn z%;oVgfGk?U7sApuAjhw?zrWSoCwBn;;k&Nol1cYH@2kfOWqH&O-+h)%CZLjESEl^C zl%<~(qXRZ#$jCN%Xy5Fvt;YU#M)$_dPSa0=3vYCC>FtRErFKwo=ouKoTf3w%W1omf z-}VOuldL4*uST&2iMyWBU57AG0hJ=)VspAAU3cJ$pODp$q*DA6IbzR_81(E+_DeYw zu9o!TcK6?JU$KYOn(nKZ5y~|%GXtEn>AatPG|q{wtTK0>nfuZhKWRaF1m4^Vn~i%G%r(xi z)ZmKX{qkr8Zn%?UolVmSC76KJp&>X2Mmi)CKXV|taQSeB&2O2zBM9yX6g?u5*)npq zNb`4qZb;D*Fp6}C%`=dO&1r7PrSJ8@>EiRLKAG}H z*?~c@Ovh_EH7zYk!4|HNGo#&x!Kw9^rGDFOP@QR-bLgploYHrLK%`+P*oWG-*X&pf zV!6XR*!O#8zvffLX^J%@Zz#k)FbhU<5_zH~Jn*{2q75@5T#?|D^rZ*%0BKTp8;sktNjNW*l*x!GzF^N4qMwH}=RB4Z;P9}X97fLX8@-5a8b?E_R+pP{aFAyb^ zta43?qwHC`>)wSw_yWqn?gn^txWI|U*&T}~#J4Kn^yzM68Fzo{+6PwtQ2xnETCVx71IXzWfTwrXV-9Ga;l9_H)&s<<(2pgy6L_smfv%{@A5#0oK0zav@}6v_(Fe@4to;7xM(sS z9*yQY0A`Rv9Fh7XZ$1~)Ud#xl={r(&PPI~8(*6`CG&DAR#Y(&dzC?`kTc z$|3QRV2XL)ZF9+0=G|7+S|8 z*3TD(w`GB>0s3t1pt9!Gi*9*@3ymw4ROdef#3SL9)3_D}ZZ#&fuomeC3I~`KOv<#j zqKd=UAKCAYWNB1HqcjE7vihKobR<5a94&;>`&xy91$!|yL7i?hfldwXnQ}Z&;goAK zhpP1k@v;>VBIbF8aFZ?jkE~N_QM7kb$z&CYO@o(BXY$XJEcov*ENu+q67P@n4BD=T z`+ln~Bu13WORJHaGs=UH1?0@8`_<5r#N2Er+Id=ASDIGw3Rvpof5)e=bKWRNWC6y{ zad@K7?nInb(@{qO=vrqUA>9Tj+%7c0(|Lj8m_KO#_GM`QDNpCEAF}PRTuyoQhRCM} z|4(*$>vB51N=PrX9*nw?j7iEv_Qv~`wW-zORa=PN^IqYm74m3Z3rnqxX-kRGM%2WD zd$bAB;?bcrueB{f%@{S@&A7$7Rry%SYH&VmW87O<61+Xs!OVm;^C(-k=XuXz|B!OR zMu{(%yN75-=Xn=e2GG%s`$Ml3aP4s6P=h=0ifOBGj09rRJHNVIQ(2l2f`tR!K8g2Y z+PNn@tRN(2oST&|vLS4r)z8H-+~lu#%Q^VUaokc`UXg`UrgsG1oJhOhv=87!4>FBo z8$AS?zmT2G5NNXfjL}{b)+uIBvQpbMljG@oofoUpcByhup^{>xi=@J4p3cl{P_uUr zwb0O~>T=HB8D(5rX3VvbBAUV`_r~XLA!SW(abyhJBCBb>K$$CiFO%gF$4DbqO_Q?AHoD~war7A|DO3l6lof2X zWy(m{{JYkN5DJl6JtB-D;x`+_PYHM>>*7SN=lS=@u_8%&kRae(N%r z+?tDB+le)85`APte;BBtP~AtIxL2)L4(p!^vPXkP^hswj!ozPN!Gquo;N|Yv_`ni-+lKJdhJKEzBtpP5$cOOB z>03{<3-7G1crq4)R6kWG%ZxR(JXVD1NeYO)d7Yt!+ad`21_c{T-TBCy7J84;ePx6z zbj$EI0-@q}PI$O|M`>>g{4I2f-1@3O96sTj5KaAke3WX$$1(op@Ll2b{8b}3wOi?8 zRJ6bAnsSB<8IhYG&Kcv-=R2#|7A;q{6EB(#;Lsz%5P)edJ6sL!Wm@m8sM^Z%#GNY2 z^*cGL)2CPY+O{32oI7!40Ss0$l_E{UnM)JHrlburM(5_)rAjB(0>#!@f2Fn_dbBBx zX&+;f63^^S7SDl4D zp_rlzROHcSQ+OWgKN!7y#*VUQ`9pggt}fSWYT5jYaN*kBOe^alq9PD}r@yv4S$-Px9*st?B zc<)p1NHOns-Lwy@5Gvo>_Oxby7_v+n*UMP4@2Cx)d3m|_~sEKDy8V#stCHGR$hX7$DKY3Yuk><)bnE9A%UldP&B z{0PiprMPLG5*C79ei8nk;@ky_*PY^r;;HQ{0m+La)<1*AHGr-N-ImDTLg`=!YcS3n z$wupAEQLcA(RWai$L~Lbf&IF)ZI`s}Hu%bI`e(@}-Oh4$mS4^j{9jnsdqN)eS=65e z-{JkBapql78ozt2%N(C&-Pt18+Cjl5_@@oE4mhOJ&Kr)zB8N{X$DTvkVqUXy^&$Nz zHd`>iM+V&78@MzK-164kTYC zvrqIob9F+c(KQmSWDwrwir&VQuwQbsbtLgBw=%vF+RANX+-p2cg&K@6?27n4CoKzK z$()}Yb|sX233KY}?45r5^W5r}Au8_LwJ!`;LI&5q?5qn?1H%}E-p&!`&!uvvG+9d^ zs?}w-H^%#g^@$DXM}Gju7Z$Qp+ThXazmbAAp2w&?=}{#$vAXGWop+dZ9;E3a2TZHc zl$|$(9-F97JDh>yTmBxkabYte-vEaUH$n9!5gPG`Qr+*>8;-9mZyH9uf^Re^lm)L9 z@!Zd|3D{Yo$RuWCt)8YhNBRPqAAKlh-4eYe!IfRw)i*A>%<=s2-b+-| zNq)DW5^sp*{${OX6ePW+l^C~9>-$D<(@$e*A8|kj4LBYj^o1!TeU~jE3a}K|Qc~U| z6AG=$`8#POt}_0I6mLlx&vl>UtycG@2kk%-(r?iD19bOkJz`(YFkIIYi9q@9b$7Uk zK$JHKS64Vt;EBn5?~|uMdxRr`=2q-ac?@sVBR*3x+js%oLOJ|xGX4mZ*mw_{c#q2> z%s;+Z_3IKj-U#PAuG3M(FU9Xfi7cCpMneHl(#ZgdSC#^t^&33;cVvYeu|<__fM5vO zO#;1)o|2r#$raTl);sF8PC#fITg>k}oK=Z&26{L>YF)rF;T8|;;1JsGoAiD=FR8%p zO-<}?o4>6eihK~NZ(-L<>HZNJ2I+xuB(uZH;;1hf_MVL5*S!-qwo?CvVVV7M5Da#` z@o37}OB*TO_26OyY@o>-=35p7jN` zC$%d`Q#rCq7#EX%WWwAb6|b^(%`qb0=;y;I9n?hZoKtx=VHe6m z$G+|04tQ&{Li+_ITaeq-O&uTvRdTK${^&0aJU375pa`r&Dx;pe3tD*yf9wd%;4Yu3O2p=_ACfKAV5QmQ#JS;Fn zH?lkt{f-c3K#-w;Jv7gu91q#&GXn|Spo_oxwicOW33$7MPP-^~qoipX^$#lDVyC-C zl)#qQ*2Zuqn&pmZuyUDlM3Nu;3xO)aj{MvX&FErUh9gx-wyP4GufdyhuzKv0O?0bh<2s)JFi#>>Sn@wS)2+Jo z={Fsm-0%1`2~D_NfD2rU%ieKfzZ~x7cni{SZWJo)&8F^65S&C*n(_5|U zgO#Dv8$iShz}`X~eF$SiINK&K@Q$+?ntGArjp6q|WwXUr#xCx?t2Dl*uc{Fq5%0MX z>uoOBV2Z&*-V)K2b|OdxLZ7C=x8$(S1piKZ=6BlpQKn*=>S#(>wPEBLvGM3=k_3Og z9&uT4YhA^x|2Na~iJT@!AQ$44F%t8P$~vv*mJkDS{3OTSq>6D(EHHyAt2;6~ zZBXzIUXSizS!2mO(9My8%y~CsaMDd!%^@-1MOV|0#5N!pRf6V-@^pT@AbSXObuC7( z`;i_yiL6|S+Dg5U<7${j8KRWP4~)$c#ly3*?f=^BBCNJ>Xu=UVC;7+yWaZQ0{5>V| zMQrAeyN`1xU!<(Vb=XV!UgfE2ls3-k;;bp!V*r^7XbZNr^tfdOVUGhC%v7-{9Y7jl}0|(+cC%Hff;tR9fY0yn#1b z{R<8QF{rSPo?aBpyz#C)vH%h72A>`h`nWEHK{`hr;8>XXYN2)buvVL=`VW zje3*;J%X3`1t@z9NNLBS{n^4%ywCVOirq0)uNdox#TS-Si7b;QL{(zbf0+!1GWesR zPqC&azWWvb+#HUbD<W7)*#Pyf>i)GgB96y9Z zEHMGk`u&7;hQoOf(Ahhv{i;hOs4TQZuTQu0fu#LP#KSJo`-DrDvWE-c|Nq~s88vd)gpX~Am2fkV#)+CB%T&V)7LBYyVdHG?c3)Pym7u(Se z{k_!)R?U+xyT56XEec?~c$RCajBDVFa6X=j>`ta78ZP35-tLigGipS^A!fI=_km}m z!X7_-fN5%5lsyEr1^X7&{S#K^mUfcQrW{!xh(6fUz>X$L-T6X&bGeV4{Y+ct zf&J1}|82lnN84bL_%@5$+m;LmQ|_L`;}UOYJoQ2)oBC-PtJap6QdinS+r#^c?X5L6 z_g(*i$S71V=H>}WZcf(wcB-{X;(dpCjR^<@ZGGBg^(AWegcEir zo+lpi&}MUWq~MY8N*}4hyW*rzn<6wtpE*r5cqE>I7xsgBuW&7vFtPa0U?EBWUkB{f zsg>Hr((l6ycEo}zXHdI>0SDkiP*}gc-7${>R{UJzdTV6ctw>K2>z{ya5O$LBqN8aB zBeqBG0&V9N^-H?sLvc1D*WMlM%sC(3iZ#I9pe96-=KMXBv}3Y6+`H^&0m|W(QXkbl9%njEbAvTNRH-#0^;0AE;QDT0sjR zd^Euoe^P>OeKDVwKrmiB&$XF6M{@_z3^t{*jq!qm85(k_PgaEbF~WV89Fh(yMQMEx zQ!k-}#h3l=VD;Z_hqTt`n1fGgdsL$~1 zwr2@eNVv04yw|=^$^08|WYK|Ey+JquH;xpb^z@b!1o>N)IS_C)HrI81PjU9=n6jxE z6W4^uKd^R@ZOS+6BE^yVA50=tQuJvR-9Z6EGUIy6S!jG(vBT|yy-Xun8Tz`TFX%1iONw`ng^rMw5#TY)-@f4nj$ zDO(`wcL}vT-s*2UVB1+ZUG;}974Kb)n}qF2tC=HQ_%FCXs1X5R+rUqC{tP%`%4`c< zEjTnIWQ9I(XtjQz6C-t+(_pKAVR5*Io+DZG(cT5k>qBb~lpe1F!$OCZ`zYBju(-Fi zVA{hMq_h;j`uh-LF$(jENbk;Q?oZ3=LwxDR@469zmfh6*9EeU_X=Z z5Bqg-|F@j!q$E$-sf`?ORMoUy{+Y3AGm$s5xp8QOg8N%5;=kYZbEtIKLWwH=(b*zD zKs#KUsR5}ENbiWV`jg>ob@@|qftZ$EYPIAu=Qy2@vhb{*;Z?f6p3XZ`FHnWB?A?7n zU^U6$r9`f&^lHY*_mvf}VPkY%nn&P!g10>5XlmYj0+6+=TG~fv3rM}{yfcc)IT}%V z@2e!pAmM?jI^THKH~Su@-bkppp|s7Mhy7|ik!S9gYomUjt&gg~t?m&!o!wF^=lL%o zxmKCkqBg_fp1Y4rw-(d9@oyZ_UrwHc4(S~8kAB~*sKmQrx__-X_4+m^HzzSgF6GUb z_IO|G>L}?A*8#V5hl?BV)%(~2K4u1GB;%dv@&>(!C?I8H#A@S48au?Ag$gZ|@-!d& zuWP|ger~%@#EZuO4JA;o;C(3I$Eo`ztH{7Z0`Ga9d+we6U7!~B@;{Au5b z)%dXhAi0KE9V2psTIP%{Z#JIQoP{91;fui+RnX6T1m)5_|85WcqSv?P1-G@tzjQ%b z5`p;5nGjWeh>WZ}CV!ANfzJaikV`yfiZ7V{lsb!B^@EKaF2P*Z7ymi8UkCy)pBtPBO`9Tc$3J~^!iO>KQ47rK%X0pcX^_}|4kXcP^hn8FpEAij~ z4l&l0JEbUqH*?l=&y9@tob9{ zG#u!77Y?YF&Fnpc%*_sG0_ImgtK!q`z$S?1XDk!PI&21#Ue@!>7$OEhqf48ygV07B zNJ6abOyc~&k6b~7He2*hf9p$1ixb{RnjTqZvcveqlmO1ZaO8JBu`_P3jO;kijn86p z*G`NLuOMwGr5^dE4%7YcC$k0)`W&UA_@8zU3BG?)Sd>`|3K#VLC9{;mza{#RnwB9N z>;^tvQv97@@3Rcqo!rA%B0k?)?8*7-K^Q-O|MyNciSFM}K#wj@RaYFBsKh+%4IV@S z@S0dYTN2m$>UWaGTic2MnM6x8`nN#LZ;{>M-Nv!-)2*x*M21Z9r?E6a$J`FYqrYAq z`9@Cg2Tugy+7xLX5b{aB?k_>o^O%2%l=I>;ht|B2eD*O49&t*jH--*E_Ae%11#Ij{ zbd7q~9=~|Ju?EVoxnJU}Um8gRo}r!sHo8E8&Kq+RKbAENhgb|ia>^g){bmumBtg*> zMTpkRHmm6`7V644?D}xt>(4i()p?je7~9&#caruO${Br_2vwx6KoKagiLk0I=Z&9) zm0~u>Hq!|}#?8kH`1n5JNcpE`!ghF6zhnhZt~dhdkJXFsw?*nXWGJl!kVf=7xf)s$ zbTrd}3<$ot&ppW7`QYgK4RNbEGLhPn!}bU3z^zIO0CJ~ZG2e9F*?V*Xgxg1)%I`DJ zDOdGqJ8x)50B@WJ(yBQKvr{X*uSbornYVO}U#!^ozt|P;vWO1HGL(&c5tHN+Lp%mG0(pM{o&?HxLfxuOQv-ry;IKol(91BN4tV2fq!+4#);zjaUXl*_y2qD5 z{uyp(W{Fr37j4KT?o8HD6(o34==S`@^`-a?^RSY!0MMDO`$9in*^P*j#r=o4Atx78 zI4-*_yuk0IH!l9ng$IjRmivfa#mvVK^oZfmhuR*Q?M2S*j0oK=77*JHJS)$k$pCm# z&UjL9$ofoGu45b-@rK<}SMRTi<6+hLw6PWiQx3eJnM|K1jrRMQ zo`xBX@d_SMJWkE}1GC3{V`))lY+Kt1LV*6M8--90=gM&dASix+|Bf{NvPwTCJLMnq z)Eq#x+M#qcD;j2u7;#2%suI7Tb%6AxHKM>!yMqa3;bA48bp@P}II6|~%^l1sRQL(Y;2XvG%pf?JdsU4#Hw&EeNWM-)RiZ_r<)bD}rW z;OaME$F_>ZZ+&R8qFdgwqayiw;SM00wtpMva2<0U_Hgy6t33X-g*(X~*_P~>>BzoY zMSxfK9P&bHR~!>?3A^3>sDDsuZ8f2lU_iidg2JF!h5C%0n1Dr*Wl31H7W{#SNxH+^ zV~5ovHZ}$6hg|hOVTVFyKnYinCs@hN4Y}y2ZfnF0+6Ly*-`s6q3^B{nO)FVSjq%fF zN_{&;AtyA)(~y|>+wph&l|l@;HQ7JeNxEMyxMmy$h9+uosv$B@$L9ArR@aF8OL|`* z{F}gYGel9Cf0LR(^^28d)4!$}iuiAuZe-Zz@r4pS08*&36|wTB&chv~h+vyYNNJ|Npn z9!-DFc--qH3kt82I4;sBO(zB|dIk!zHs@3mu|7&&ON`I>R84&uK17@`g2Eq0j#)fp z+642!bRWF-8ywGV2WLQ~7;c{Cgf3g!hnW}nh3YnhE=*N#-1ZkW@uPC%Pt$T%*$v%k zWUWy^(eE15+#uh!+lXVjWF)lnys8-fKb+P<z!sFPcy7Vb6fH6{uYOht86K2J!4QvIoYe= zWX65-jSAP0FLu{v-@#6AhmoYl05yQ{eawmKA05{n_n9f>&0l2aqy?Q@avuuo+6Y1D zjmu+Cp0dCAVVSDw)_Psysb2B_5rVdDJm3=qIOGy`2t9;-SP$DSC6OowCRmhN?E>8d z(|YtLNrvwzYbSMbCkZdI$Z7rYDpJWNc;sdz=IPeXX+5+JCsvmVbMkui_TogGesn9L zrNUXB`Oz4HqTV!HJ^l#c6GoudJ>YoU(uRB3BR~>Tc*NU6>@X8q->%<}m-b*Qn(L^d zJl&p$Uc|~}O8>U9e`ltA1+<7z9#YGw`h)EYZmu7b8D+n2MYmeUieV?R7z|YbUHa`k z=Th>WheYgcaSl5$zNuRCG+%&yKP$7LrSdYdr@%@S%=X?uLU*w!$jxQ7>ucp*9s$yF z?0a&>yTQpWsWcJd-Z*a5s<#zJv$5Zp!U?ei<(yqbd1YB<#Hdf*RfX>zzPbKzZVo{g z`I&MY+rXVb?H5IwMm}HXE4D+Vi0}cLkC+QMOpWK0nEE8eOF~N2s|gPUaz4S4J7qOf zwcywUk|*FAl{yn{B`nUUt=Oqk(}s(`=|vo$sEjo!8-0MU)J(P@`JM{JCDoGFv{}i@ zhkFC{W@PMc8X1v`xFu_yM+~t?Y7mcYeePYyhH zx-Qz8)t~LzAM4&OEH;u8{gMRU8%G8f0yU3W70kN@x=#2NK@Fi~Oo6-+SA%3Y!8Pd> z<8hfA!y#wEvp4}HHnIx-yX0ZsAUt4%Hko)8=ghZ7uta6R>cG{}Mw}!Y%0Jj9KQz-_ z2Xxy{QlXqI%GAlEg4$+o|soi-Tj#RRms0yJvs@)Z3W;}v9)B_1~) zXk;UX%#9bto0Ek#ptli{at}4k8OEe|B^U8NRYJ%lax*dlu9G<#tR=PEv6_qyTX@73 zri(0s$F;@+$MwI!AWsaCYbE#a6ElrN2(IQfJ^XTSO4~K(VrM85cb+9>n$rS;!Wyr) z!)y;rKw$k|NuJG6e8G0OLG_1q%J9^hEPkEIt`awX8v2udwAEmF++| zd1A1<#Iv*dkl0i|sC=v{*up;P&CM%At5hI*UQrlQ8tpdXD-^>di}6Oe$Xi4vg_|ro zm|yN#=zTY60A42k$OK2S8)xw<>tPObdX@Y)+23f(zSPKnGRh6AxAxeK?LS@`C|{Z+ zp{kuta3Ud44k8D=COW`uPeMu$t)6%=O|*@Qwqpar>XiZ06wdN*vShoDPF=O6=H}VS z{x9n8%S_5VR`hEqI|VvC4su7n;Dw^Bfy6`VS7}~4WK46?_RB$`J7+2X_CM$OSf6t5 zj>>nmcNvfwT*{%rYMK9HKalCi9p~h@V&7thdhJ@CdSlg+!92ST70v+aWhFOcxf6$U z4Q^hsWpiq>VcPFJq~pwG9?2Nx#a9$LyJ#6m{)Kf}mhCu(KXxGr7|{$qpodqX*qM^S zk*~^d>WNwfZ1SwW{1)fsRPP-nb=1^}V;Li?gN5aO-^c%4A=FRA`6TR8lAc>=yD|vD zxPy}aDY0!&?0(zq$yGobR%**R&ayjMaF}7vT;H*$(h2rWWnUz~Yn696r6_YY&nH)W zYAsdTIh}CK?Y$=TPLzo=>Ws>@u}B;>hgS$J15B(KuG4bO#pVrWFHy8Boe*~G2JFfm zOfzSHcHgz(oRPEeO6w=6<&8zfG2B88q3S6OO49;`E|%M>~U? zvIww}(kF3b`e7H1N^3x>^D)oii4@Jp>3qSeE?-6dPAQlq!;MfNQ2-5-?C(y*I0Ld3 z83jt{=M?B#=0yCdYp zE&Z&NWwXNizTs!0!pyf{dBTxsQjtw6+WxxBf9h&`?8vR~Gloh&S#I16m*)r1vM6O( zdb0)Fjfd-N3Bn&aEg)WDkPkmo&!>Tj0rr5Gkif7CL#nq;+yXe7vs_F=rbCTLn@`l8 z&Jk|@m?>^~|HQbD&PZo_28+a%JrHImM+E9N*VYLZ4!mIaI&XY0Y+3j-gtlnJ@3I~< z<-K$t>;FM^wQu-+~7*&Q`NRRFH-nu{uTU ze)G2TR))G|(ozH7C6Z%#k%pzNA9JZiBrqatNJW0#oct8jUWdCj_onQCPX znxY}KPGJtWvsP341*SbaP$BPL8CcP`D}9!{)j0S!-QIVOb!>CkG-&#-`wO_zZA{FD zcV*E`_xy1yRsGUDs%A#1eBe(my;UDA1iU66@FL4o?m4}S+CP9SpWfC8Q)q`K{B z20@!d=I^6X__ktC$*>AQ{dLxYGs|8jb2_`D9J?*wo}DY?s(0`WS?M#61}&UIU6gYM zj`Lxs377~@zWauWvEC)eAikl{WzwCCHQ<&$3Ed~$)b5iS`2gZbiSuWyRGjS<>{=~< z(Q`*TkJ&;~>X^#mL0_{{IS{>rGBJ_v?jwJ%qCh7`Yb3jnqU1B%H@JnfCU5Xu@vh5$ z!Bx$;`qMbhb-3>=Qz}R_cZ~>Rs?nwQwW>AdSfju-DY}xi*Wd--8nS}FxXUgyXzn*j z>vc8Jdi72FDBvEAr*X_BM`-R0`p&!;va!y%7rG3Q7L;GB1%9SJ+F+MH^Aw3?V`M}( zd{;Eb-pmq`e?6|wBf*gM*V@&}>&?#nFSGA@;-v0L6qJ1a)scI8C+Q|{WLDd`+0C?b zKoF!v-z4v&A5AfI#`x~D%l$R-B-bF48fD)2&8a5C8xqlFkH_=X&@MHgitgFG(*v?p z22@baP92;1g>2pQos(K_LJjS?Lv*DKoI=E#QRdFqWryufowIM9!XzQPo33B+YnJ#k zv`(Itxxnr|_09-NhdmK?p<^3kj)LR)Aj?o;``|LT!-zIi=9X9gvwK{NepBCConW*1 z$6s(f4k5Q3wiTy4%gSf=$u?uo?xM!c7V1`s?)f1d z)%@nl0gVQw;O}{1%F5 zmMi`FN4QMct6xq`F_(;g0D_sGTLZvaz{u;I)OY{XjIb5(WeWWxLrSM{I0q&>AtYUoPjpkw-fLj0m^{%QUvEC&fn1#1*I zI$$#I;!Qc%+0lk#wdnt_8mDGP3iR-$`x4r8g1e7pwe8TupHbqT*zB1-*q}s4N@(|V zx{Fw{^6>xWiWoXqo863m(Wf?$k(`{nceN3?EgP&cu?8Oekp#N+8 zK?I5>_S&{fGIS6p_yi-3Qx{^dTNj_{AJ=3o7GZ6bxDTKvDR?Gua%IG?DXzmWkN2%w z8&go$A1_B8YfvSH?5iUcLRnkMg|+FNz0+DZN$jV-a_5)Y5Zry5?lqlt9f5T6FJf+m z3J7(;jTfHDKhft_%BoM&ho`0@*{Ul_Ns(7zzmKU=d=P4%18P5!YHaan@it%qSf&lg z_ESYZ5|x0QRFh^=q}S=*69Tm8TB;AksX?^c@;?icCM7g~(7xNOIqen2u%kQg8$UO+ zr~#%YTU60z-Nylsvk-Ur6a9ESb{q!|NBXMwCOz#O<1}FY4Y=S}OFvZOzWeEvT<}BF@TYk6h0`m2f8;7Zb1(Os@%mYG;b_t5J$c2Kr;Hu< zZ*ny$Uf2KbaDYzCs3YCx>aUb!!rdGspjhKP}cV+nKkK z29#%C$J@$fTe_LtC}29Cze@59mSx@GttJ%s1d$z&2_M<3lyR~WVQG>zu5xHQ3@2Q5 z_=p;_ib!I-C)mTRIqISIBiGhS4XUFFb&N}>c}!2N8+Ea05x{$fVXD2SIJWVJ?eojt z2)t+esh>mjco3?ney~%EbH^Vd)GK6BPR0B4N)dy>kC$g0?Yoa9>`?ZLi7()MofNsB z+6$n0Fc0H7(wFkAK|rCR{^2Xz=u~5HLDX*{RL-GV&*g;7&2aMt_ANp`Go)#wN0y^f z9cqeK}E#Hnp{)Gtn?PEG)gl?kS4)KPQAVt5)biiAUR1dW152;8D;H_U=7 z1?X|)5MB_E9%dgPkLU6IfjY$(M!ZKEvMI~T$Jd4hJ3P0w+iuNN-@|h3dFeh9fcSi6 z+n|Eoi~UwEp4;t3S5u~d)~Ew&C+1`}oF(b?;Y6mN85=5}6h8Ea9O`ydzhFKcF8)Q6 zzX@gC zRCz(O>O53x<7p>dv#lDRzBUmW_H|+e1C$-htybsVgQvHf3toP8wcqTg`u01^X zO&Pa`Y#vlc9@nv(kTI82E->>VujFC$@A`A|vzmE>cf%=Auo7COI;=kPg*o3g&Q)>} ziJ|A&o}dQ@fB`ptA^?**)o0ceB$wv$eNpG=eZk(C#!^|xgfDx7l<+{|L5pa)j2Wc0r*sZxRM~5D0=j? zN~*s=&I&_*OTu!5kV?>cakW_FX1&J2(nLSyu*tes8ldCdlJxd{uDow*K7P_pkqu1O zG{3KIq%jC&nf*y9nV)SxkK_=+Ocm{|Ijt zIfE{dAdNdbqUlpNuZ2$8Y~@0?B)^@4SxY6>5UK84{toe^4_fESQC54ILQ1b}hvwU! znl-rm)UH%^)%RSxWiit@8NJVJx-$<()`MX;KX?VRkb1V5PjFJ0W(c`;Y;*TPFdcvq zhE+_LKlqBXTcc&De|ySN;HaN6-ns9(^&;dQl!12wLq+&CI1N6fum$Y4VQ6nW#y=JB zk}`DL{`6|UGFVdMLf-eP7_@oSDJv?}Hbn@(%e3D){n{-_GdO)B^O7Uls@yKP(b|{v z0@j)2(8W?szc@09|N3|u`6_bw@(CR99AMTC3`Qd&e)oY$t0?EeiZTv|#Rr6<#(ji_ zqy2vTUF>k$Lw00!^SmFW3V51y?|K}V%@pL27j~Mo1TEMzAWIrs!MQ?_+ZhsS1D5|h zMu3NEE?gS_lP;QiUN5=0{mc0yw&ts1sBrMzUq{~s^%Jx27dB$2^@Qd|67aaTx^`F( zmvm7toAVZ3zArFF0Y}8!p#+PPR4pza>V#?tSIE9M=dF%axGsBk9WysVjUsw}-Oh?E zHcm9MPU=d>q zs{;YwPVL%H*I(D0&WCnv$~jt7b!GWuvWA_i>!yyaiXkqEmH zd>lhlIiRuLlM0*e%VMfPhcIMk%CY+TScPmigUHhBatA%={KeCs1W^;pmpM;ZZ$Yt+ z{GIk!)ESoG=Q2jrf6x@ow~QurSkio$5vD2{DZ<2|aty1ArGDYWWCnjqgJz`+qF44Wp5tCu!@j~?Egd>ewEA5|Ko4oh^kE|Hg zziX0XX=G;=@N(F53kZqEHREyAN`#v1SoO#>MJXhZqf-m~c%Uj^7xwel$b z!4bk~VEtn~q+VOWlKilE?1=N}(f*8d9@6B>8|vnHAlD!!H8`#h#{ZlcCfa zLVi~i8Zp=qkVu&5{B3??`t>9Cz9V}@UU6~O?4u2tKGgrq6R2vzqD)WHEyOoPV3e?7 ze(jH6d0EzG4TucZE~&{;)7A9#uUVxofr6Cm+N5p4lq#Jil%LFzxieXvgRgoc+Dl|j zU#u$eZ~szHlc+E@sPiq}VhvrG(p;?)L`vr19cOPE8BZ%6}av; zl{mz0r9kwNy=gX-6+OP%7onh*HMUZ_IpS`GRJR+4cT$g#h z6h34K-fofH!zGIe=sE^-xTp`NCzd5#O2Ok$Mp6-`{?aut z+fH%TAa9!CA;wTXXC_t9a}Q8GJgfb1=HN^$M9JO8Vv z{oK`Fi$(B*;bTl>JC47OLDO_4&TU&pi~iwX8Itx0L4niu?J^uXl)K0`5|;MU8E~0U zQ)D|{q!a6wL+ao@C5zzKZ9})ik_(k%!KPk^E-zkd(XUX*GUzbs+Rn8kE|7!3+(iV@ z*}Rl46eS?nFt>Rx)psIzY&X!t-kO4vXR+RK!b2&XWC<8^{!1c$xqE3b#UHpq`nMCAFwj@a;P@s&pqI zhjuj_su>fEf-QcFTb)+hLR-y}f<}lssY!@<&K$AORK8j@(T|kIruaoYMf`y|8*X0+ zBh$zX*T5{fnOTf5|EloJZ@VZr5MC7s2gG}LrrcDCnEKCIR&=>6S{C@;{@jw^D~jbT zYgWz}2hyX{-)&YTTdLCrFrEE^T>f>I9fByWJ@*}4LAK$!N-1liN$NLxw zjb#_lM>aFGgBv1V3t5*ju5DZ&hFf&wNlHocZ%o_y%~AC7gR%WKV0OH0fjIw7JNsSo z4y=NI3v`e1j|sTw@S3&-b8D~AM$7sGV@$Hl%?J&;(oo8=a@&fEibN90cCe+3OCsKo z6^d_8M)RJoZBxm-L?WMM<+6lr4ExVxUWeddyrH;%C5yU1pqYg|2F~VO1RfWOdmEU1 z(Q(~$?=P2G3}U&h((g)l#D6fA+_SS9nF9WqmzV5_As?Xa7jOpHsebiPZ1q06avizr z9Urghexs4s2&OQ0@r_QRQ(7uS<97X1+d}+^Y*-pcu>kcYW z99bqF5)7#ye6bOKO5%BuVWs*NxEU>l-B|;KhQfXXO>?q-*l09IZ8T2 zRVKIhykfi?GMK?(p_QX%yriU9{W?T84v_vwbdnsp)yOHIxugQ*K?X~VbE-i*cC!6puGJWyN6%|CMTkGi6Y zTh|u4CB_@MrlU>)UphL5o7k2sEvLJ0NT-?~VC4KYUoBtFv8JY`f9=J7B@5Gp7^=>H zz^7Z!B33FnTSvE~Tp7%?gG1lBNX921do#N#-@fVX93)V~i~l`ZAprp2(quZ7iGMOx zSFnX6N`35UsA=h+o1@t_GrK{8Tle0#g8tHi@Tc*s^4ICp+ZHd|Sbv!oDYgFIEnK|q z?YSdT_-T(U$kUTRmU0-4JoInA*;+TRuC=+Be`{E<;ojo2bhb{=u8)}c?JWa)>n*&u zzb~H%KXqL)Z$oVMO;^{%!U7>9fgyVzM;hn)`ugVCFIhc0CdQ<)aM`Y|p+PgAK^!}t z1_ccb%}szz>c{1!v(yid_KB@6DyW82pd;H-QuX%s!d7ZWaVdQS0Ay{InpZ8Hof8bJ zb>fX+7#SJ4GL)cp#>~tt)GjJ23Mxbue@CZ$-qhVa#i3a-{~x`%zOHWGyp2hvg`FLG zAwF~*jg8#DCunag3@aNeDl2Q7nq(4bpx2bwShRQy{Wf@XWFw9V+n~q1u&{7&|2zPa zQj>y8^zv$@xNlgH_CNK=kjYoW);vBwW@2Tfrb3XPpSaf7XGG?+Wd=K>7VcJ@ND}cz z{`sTq60Gn=x_Z&f%PajY*9corKCz~&YqGaj0@`mYd&rp0*uo-IxmXe#9$q|<{ikwq zUzQ*!5aWt5)=XPR$GTB3LoV09dunUTR9rpOL@tpAI#}p64Udo%YN`cTz;dxh8DP0C z&v02-TbEK8*fx?ZphCx2Sok@b9RbA(3aH#uJlcWrsZ_nW5Rd@rkf$D=xjWd7Ti3BN ziAG*reb9OQ>dHm@&z^O|s=Zz%A=ECG%+knz0|E;dk4-9>hr!S}>=S z2?^;=hm>wmx@%|zloTmx7)rVu9LWKOMkI#Lv;BSFIoCOV!8J3_j)8e< zp`sbv3C9NY!Nd+Fwz)k4AfjWR*1Q`QMXBaR?m-4T>Dph%S2qj+#>Kz%flf`Z*qPxM z8j07&ORB7N(Zv3nU%3Knm#e*{Q_FvKf}Gx%{rbn8z!r| z+T*O;yjV1~{glaAwNo%_BnWS`y>e=MT;GI8LF_}fYt1ZE9ExFq47Fofz8x2t*5A>h znxgTLZE62Z@84?Gx)|)8_&CxHuga-+&&}z-HeSDQ7omnPI({Ac511RZ+{+sYFsm#D13RwWy%TdZ9bT7I{mF@dGu5*_weGrXpqcjeYd%QF zhUn^ktG_2cz(D0apVJE5^AMf?{p0+$H%z8sz7V-jdXju*a1+o@cWWdr>(*@K(`tN3 z-Q;-U(;5_^Gw3i1J_2J=KmGTSIIvXej^5rL&5J7Cwohe2o0m7YEY&a5gkO%rMG)nN zar}{_J$#Gy*CUZLey;z-;*37}gBVgGlx$%c9a$azHz{ z>w;(UgKJ5$YO$t0eC=Z0N{c0D5>hz7=QtR(ULclG)uxh&DI zxjdDPJs!oyjn_H7ro7LO87im5+J)i-*Gc>MZUO=|X9+gb&V&_{c**dhB z)UcmS8RCjVN%0&tnF%|32Lp5Ss~i%Ym1e+gU@W(;5;WZyoBw>52b`7;WK3_X8za0$ zhXnb|f^|pS#Z;!G;#>l(#A|;M_Yf(5w(owZtj)SU66H7gc~{n$q$zGQOKCl}N+>RR z|3MUFkW!Gr@x^n**XpIstdw=g(LTp!+OCbTV-x35qY}qcRY@2Vn}B9?^>c^G)T=N* z#@YqJHNe|0tgUDSdGf{lbnC?&n{MTLMg$Q@Bke8=*TsLTnd1#AcKy0sb?Xh|jy&xL z)f@<=yuG~hpCg3^t%lY)`bN6K&>Xuf-x}9drpk{viWAce^mt&dsqLv+@0@zi#As3~^K<-PxhC8ylO7 zQ^`6ex5T8Qxr{H_B>hnG$}#cig&H+<=w_~a^xz3euWpX-DKs@zXUnbGYYz4E6SM-^ zIDnPLUDMbC=$#EtS3=>s75F|~+$T9-{_&GAdeTu*VU}K2ug%4?^xL~xUl@yg66e@{ zasAI9`;U?0zZPn$;onKOGiY3XcO|Zbl4@A?Gs-?kKl3UY4n=G@wA^^aJr7w^cH|D&Q=NhHsJ1}65$fRY&rO@H_ea;o@3tVfCl z8Qy-|Y?4$<>~}PQb$wl&yCTG0d3q`=B(@rVcW`#G+}g(kQ)~-3dPex43=@Sk{e2API2z-oZCll_>c#091+K-Qq_dZ&~8L-qKnmqBzUR*R99UJ?n$HX|Y zE)w2HGDKUcRulFD@9tn@RDCO;8&=ESMJ1hLsQB+PZ*5&j1?%?M&{uO}J+pasxWN3R(t}mdhvFcB7br0E#UZc>CG9 z2Im!6181s2gQWhny|bhBH{7EiUVOBip5KP{YV&uM!N##6Oxo<%^G2! zJta6578kXGP^dqD3RX%ke_&#QzPPw}N7T}rm6a7(`9h>d19*TJPnw(-G$Sk_Q8e*B zVQ8HfFBq`D?QJ%&EdLGuR@cE}m4f>|Ke_wD6sN0-v#U_VQ9Fo$0LRB#y+$pNIg6VBF&Oi3PI0&C$MpbfmGq z0_WDz(P{BHQA!NfAW&0N6BZSfM!2o_EI2mI&d+Oxn22Os3sL<8!ifo@^MoJwrF?kF zel#@57f-#Of)t(sbpR^$E+_fo;NUIM6u6e6V-xShE89+J$*ouSN*n(OI# zc;Z9d=d3jcxb^xvGbt(Q_Zusdl-_4hjNKETo#w)`RzfNA;59N}eBm^t*lTjvv!>NrbkHOe2{+}v75{US-dFK2&Y1GmKR zGnNB8n}aufl?0$nNf^%4`L`4W^84>Yd_4x2@2({ej9aCcIEjJJ z{C>caFpcB*Jc@|1H)|y>p5yYpRKiGsw^v}emWXU8gdAVqt1X_~hx{WQOm(Wo*4f7+ z4%JAN{n=dfai|mx##W{rcb1hyom^Ey_=kl1&!6FH4KhRMbxleq-Wxm5*wPawzmW~g zCpwXXX_v+pJ?taUEMcm*2sb7XS1L4r^=L~Z>}ySP;Li_2tKVlHapomj;Bw47%Gxb0 zo3Z`G`nFxIc)oB7n3r|#K2{rWQz4$bKz?F5CpI>p>zAYlUlt69J_#k%{lud6dsU+K z2>UUeS*AUBnK@bV42zcIFpap63=51tYvg_hU2Ao9UO#42f)WdCp*@h+2=Q#C07|j$ zLjKWBq?|?h1?L!A?C7E;NicV;rlv-kA(1XykrBI$rnIy)Dj^Xj1Gc1{-5ZA=mNY3! zvRtEUM3t8OC4(F!(StqBZ=XNkRn)3aNqGhsN|T|go(g{k-oFP!5}sI=XldYDuoLZx2Mw3?A6N6D7SNI77K5b7#M&&*I<_!)D--Hcds$58MJhUtP~Fef5x zjRr968QXUQEV;mR)s-Zq)@ZR8P7e0uSM09gUc5qf3Otia_`#{P&Y$6yDWjXiG-)XK zJ7znxqODRFdrm5qb)G40s6;j`nJa5#RVYp$;{h;M)w7&!`=uU9{6n#MAyA5f7bUOS zpI9&R@!WS|&KgjqGMmQF))FZkOh~{8i#cKCYD>~hcIQMVP)@$5#`1^I@rSZZyAD42dH45t)b0-)6*SmE2xQqqp!rCCE`#HU%IeRL zw5a=iVBY@|7yE1wDl7n7tnNrceQrIe#9%Q-i86_#uq zD@xxM;Gibx*8JG}_=Qj^f%l10c%f&Z8JSjBbOh5Z%e)rF1FYbCCq72y@<5&1_NQ#? z8sTt;6s4+qc##;4G8VIIB|(c_wn|GzzIc95qY`ls1e~JEn&7sRj#xQG>n?iU0l#+L zF>mgrD1`#05vT@sV7|VxupF`bG`b^`_^t82i!rQQwPqF%PiZAn#V0j4JNw>S?zAe- zH{OvnG&J9vL=&-NsDZ`6yL=E;n8%+EVibTim6ZR|y26*22JEWD1k>T!iGYNN2t(Qs z8_!Lmc-{n_f{8Fvsd{g1O@JtJzMc;sW-m~xPyyJ}F9ZVg zwJrZDqE64mM2G)PrxAsU9Za8|JhXxSg6mI=~_Of~>F0@&xx%}sj;heV}^yCA+a0{GC)>)d!4ZRxEW;0P-# zU-i3`f+qo2h?NT_ki34I7!3Xa90{Ni0j-2q?*t6?k<0OzzB%Q@VdUPlC* z7W=ah60fPin-N5^60?Ay04rV)-~;wfPQV?GveE-2D@WW{jv>+1!h%tG_k%~kKW_wt zaX|d9MB)f^;)k?xcYik^_Qa(XreJFCm;?&E9|c`H`Z?R^zaQEL9rX^EH}_f{NI+l znBLdViTNH9bBO)2BEu~DDsL!9pHiz(Jjv8G(uNW`&xwb!D1`J41C)%XSt`~p$HZ0X z#2*gYNrF-FzV-vN=Xg`OaQ&|IomEc~Ws{r8$i~Koj6J*JAIq-TvIQ#r)SkJyOa^Al z3;@g2rLZylt}oi9D)u|{bRKIzxp5w-OnuX0e^TX3_oJ~A2udI+0r&NVkw(tU%sclO z`BYXMf(xqqr7%t&qSy*B}eQQkqk-?47JcyS)ZK&V{ z`Q%qw0sR~?Vs=4Pk2w(sG_f`*eWi-FX*`zrQ_|bn-@kuCR8IU;t<+1j6pE*!sFHpi z)g^q);#T9vWQNk=@QtAritl&IlK~HDxot zarK+xDfaT|P!LOe)~-TKo}>)JRhiwW(^sjJ*4l5Vum1t|UaI3(nU>CU7^l*g!G|M| zujF1%Wa&j;`#Zo>C&pU)_)~9b$f~)48JnI^$j~P4S2q&C3sx%3bAx<8Xx^o1DEZ%bFb!lCM1#Z}?&XIYe4wysPk zZCdOlu|Z~JTVJ`~R4SDiOzx`qoG}yQgcOJeiVU`ztZ?rWLr@Rv*~y8<`DtHl3%l>?aJ_ zsx|t!5soEinIv8@MM;Xo3CDmQ_I=RHndXuuQHw1(YHYd|&sNkd*G>@(PA=Ddo>ZIk z8MM$}@WS>wHno`YvO8U$Jyjtcrx3`4J!P=Fg>haV`!x{8Ub0f5R$!Wo0zc5T zM8$Xn{^SFlxcmuc8J{O=l#l;~x2^jMYN^t!0yG+ct+unXv&CoJeK+blar&lE!?ueu z+s?`)_LOLdf>LfRow4;HbzepT7kz84bhb=PEFL%#7|b$=8|pDXoI6ieW_k9B&&S*c0@O^N1gPRe70^D3Z_N=;cP*^@7e0of(>J>}2Iuw7A4mP?hVzJN4>?$ER zL2Bte#XnRZPr+>EeR1uj3cD0$5qhE|FdNRC!7v0f4yjhjUmy7Kc;cwQaR(kp#~WhP zdH5UK3Wj7ApDDD@#O_6zE~dYQuD2v9v+%iDFc1h!KHNR88irSJ%vxskzoq@&^48j0 zMn|e*CSRTE`&+0LTSV?B+Lb6=IcC--{5ob%P^+w7aI-{cCJ;gpQ*KX zxsKjRIWFRVvLVwpaTHXa1u2llH&u!|XbKr-^qJ=UZlaEY@tew8z4{V4{_z>#N7;5} zCFKFJA}iQfkCt~elIM*GPS>lUbw$5Z%>%!2_YkYtvur-|?#3tBfgWx{g+%_XNZNzw zyK}n=eXiSM$&0>%F2!>2(b}vlH#ZL($s@m0nA$nI{n8*Tn7*`*eP2AFUr;S)>b=0g zriiKe67VbmH-$gc&lDftXg|Jv%8Q>pCUKMQ#@^F$h!c1r7}!U9b6s3kIkQE8 zdA)9OhZS%MQ}aGwrpehylLp>2*jH4dVeyhoDN2V&Gu&e)doFrTNAY)C1PaBPwjY7E z>P8OS6X}h|mAD=Lm|w%v0gWDZ^E5p5h9KwH=yPRB367BJ-uX}@1i8IAVRLk&=b|i` zl}6HAaL5l$p*lZbIyZ2H^{GJfX*eeK<9;ocZ4PY^#eSlnQsu$kEKJE^K~Jhm#`oql zvhC%aW~J;i%oYu08OQjx#qW<0xJhRBxp_-P7!=0($jXw!(Ux(&{!MHSwKr?d(c2zL z-ZJ9#y@z3bVq@?4-`vFbD9WPnRffVM3h)Jy)h%=aR?oBeyzd3Y6fzCDQelnJntY@a z4=Nx{DuTX;$FX$F_@!RT`;rK9 z-&)0ewXw4g)H>ekgDNS*U1$Dvvq{whUV{AlTUIm^VtHxa{hR!%F_7m2`=<-bskW~Y zi8L_vjF0c*l4G$c@eX)N^CR`v70p$PQnIwXW0Z_HfScYO8l%Ew1(V|-&r-ntD$w4x zuhxARW&DE?6)PL-Hl8v5b)CT1BsQkm{fV%Krz)~HFv{__RoQdz zGD-HVn7fz$D;ug*h{)EM&mKvwDdMhpqKFv-4-(;G+tCo%0;EPNnBv@7j?%@_(7kxLYx- zVx+hCcu@NT?rjhV2sV|Z+b8`<&GD+{W}>I0YQkOJSImzVt9TyIuB66I-oQ(tB;%7i zfJ*5xSNFCV`0aUNn4={^hcGCotIscj?mUe+)}qG4w5-vSH68jLSFy_;3@h{XF4HA0 zJBmPl5Gv4OSE0K5<0cYiFQB4X7g#(+p8J+airOKDV!rUPk&zJyUp?($xA-(TMKf8d z(u+tzn(1kiHS~uKQVtgueNqVTz9p8Kb-=D8;|myWe4)mT%oWq;rHIw~=!QHa z!wZk;3=Q7*hIGvnMfcEE44DdjncquPEeu*t=l^2b*e{^M_}NbdAce4)67ZBqN*Dd( zR8?n!*kP(L)k0^ZcoY9y(SXxg)&=CO+>@a8yOT`-11)C+wQxIk>+oWIeEFl3Uok*z3U45q}ged2q3DPBDbfzu>-$5~ixpmv!~NO`ZS!5<1f6#g2SY_DMi;NWxg9KZ43A=fqGVE3MB>FZw7W zrO!Yy`mOx*UwDgNbk6*m@4T3!!4iZmPzOr7-K%mjxH*L+X70=LhDu@lz155$))Y+f z%&JZLs4G`LUzDxW2Y}+tPUQ*q*HQ@aRG)Ibx5=B*?ZGE3m(3NsUtS#gX}A6C7984C zzt1nSFVpH^GeF|c9hq-6sWdwr(GWf?JxH3OlEgR#T|ab9sT`je-n~$z`f63Z2k<7v z1J2D<(9l~~8}`}-Bt#H$ygK;M;&w{4 zPZIk)Dm_RtA|2M9{*JV|Qf~7#d4q>`mQuB0gekRfsaT2AWR{11d$AR4sdl2ay5+t8 zHk7?pB7a>me)&DkWHZm@NEp#pC=;&L+!oG9XWEGw=gIfpMbK(E+^77n4a0)YMLv;Z z>*#V?`%hZDaUGqifIEV5jgmrhPzciA6G3DVBg)tmf*pTvy$gi{|3qkkShQ!M?j2J6 zx-Akg5q5lgd6Z{*`)YSLM#_{bFF5u%yMC1&Il@SKyR~Y;)x#=; z^9{h;EocX@uhj_`X73wn&aq4aP2 zmR&StknE8<9Br9(=3kj5aOs!f^JH}-M#Ghe!rE`F$FAYWT^DlIT{NB6Um4t>+fl8x zP(j9L-Xgq|zLu12L_?`-P_EAYR6(C4lluWDrPkm&-MQ7I6aw;h-#$?xeVVdkBx1%k zG}%hMf0GX{TZ7E*Tf&%`oVoWxdqZr6-87|&*qBA3hFM*G5IKAsmky?gUIy>caf_N8 zjH(tA4>N(ZfJ<`b@#5)q9)k!nYNN@h<}7 zv41GAZfwt~_%w3noqU^nXOOMtJ+SPLEyNP7X6|1@3hTG zpv~bx2wM~D6gPOih#|7~>NdF+71b)xJ3?XMnB?g*oUZz!{K;)yeNHBUHRn6)(PuCd zcmLtc{D_*~oh_%DFW=dZmgmGyGT{)T(UyB=QnW>D+3&`NFB~q<=KBRoV6eUCMU$i7 z&mym_2YiB6d%;5Xo?+&YQt7qWt~S#!B)%HkBnl()b?J$44sUc#vZE<7a${bBq{_tL z@H*15)$G`i_ zYUik4#`(Clncr|x_gC5P>dK3y>V0m_TZm$Sg+yYziJ-YMIeu!gv-+GJ)8*3%2~q2P zbH>s6PSI8ZwEuy>9|9*u9s>i>%;_3KhLrXLH~T@XNkqHmTBe&_%co!T^H{53Mst-% zI}TAsA9PWCUK@FLc*F|^BdM+MV6erDk+@B=&7Gg-g~f0uKb#5Q(O7wSSiTWTA{Fg* zi9Ap;%oQ{*@d?3kf|Kzr$+qlX@gdz0eZ@cDfUaK;Sx*QGPT;*bU5g?@J$APFw3)BV z(%YdzV<6b-JLNk8v1qb3V6`r6EvJ%XBH$i7+djDjsWWo*u_Q~URa;v)iO7u`(J1fs z)`7!FSuUYnq2DcTg3wMo>g~otvFII}%hs&8*#+$yCm)+xxF4(*{Q)NHqVMUL|Hesk zpG4nqv&A#ZquD{cUA2|dfEDfLk>PAcfws(Mz2mRuE)18#5WKpd;TGm5(m3mB9Uu`S z$Ed&em~sBGz{=dJu+^+cI-+7I0G(I0&N57ClDh3%vy>G+ztvTCwlQ!B_wmefem~Lt zec^3d2w}k#8~=7KywHK79tA>nTW)YfC(khZnfuAI`^IcD1s2J=yQWDRK?vc~BjF@P zJI8SwggbexJ!Y5LE6&luU3omc_MCl-OiY{?e4a7EKM$aykJ~m~Jp*(AQoQtY7u^#j zrPYJi&3b%jUd_GpZFxG=of|`hYVJ0mZ~D9X3*PMIBr=jGNV49r zgNAU!M(cMUOn-C8kp!@${$ zqgNC_vM!k&KX#4Z)e^hha%MfSJmTGE-#Yf@3ZCwWp5L0BpKQ*W^UOFaLbmS}c^GFl z@C7Yu+mI&eME7SSQvCV&*a#_v;(|B3!uQ2jC%SygLJ&zNl5s2QPLPW|QWNI@^**#X zUKh5x@X`T(v}Fduy5VL6!R)lTUW51P9F7_hx5ZaeGJiszexhr1n5=iu{{Bqh7ed#> zAUoq1S_~XplBT)a&p$rfQD?Xl&?oih4s7OlGPRr8?#Ldfewj6xlhWsQ*-*FIqO!PD z|2UNmRbi8xb%fI!?#KNGqzYuz8V@C|mcJH}ZR9qtiM+YHHfV7qxShydz8lDW#g6|~ z^R+U7i^B~s4kn$LeYVb@6*>R%e!yCppDjnY(8r_Tu)Y^vcUOsbNRNz~tuxsRuIhfI z$Akn2a(<(RGnJm1WM;xa9M9T+Y&QVyfSuyK?Z}Q2NIjK>T9HQ|Thc6rtR?L)7WVy| zH@uXeKX%`-71`fvZkRz>VV7^)pqC6n^iaRbknTn{yi_ZV+;z60*%Q5;e&Jn2o1|%C zzD?nqO}eR}yKux>?g_r2gHs+q^5sBXL=0T9!W*?;=8{T{GO;N=gTtGL8|#J}MtyXC z<+ixPCCL~dvHEpE4x+FNnT>aS&W-jEugmLasVQ%Bu-R`}5m$REGOM*M(U&tuBjwS9 zhRMhl{=6~qu?H%st}_~x$X`o%#B%WM$D6Jvw~Hn>Ny;LTUw2;{@o1dRD@P3RyESxV zx!ivo|S$$bP|Z00vn!hKXt6t=-pRQ5-?JFbvtq!SLJv6S&(%dZL`L= zD@q#c*FcW!wNkpkn0hVWU6>9ip~63E+b-+PE&W0@Rp4S*On(F|Ziqm!(gyxi z3q0aWO-W}&dxk9gz3hZcAhZ>4JnzJB`{hiKuin_)58_~H06~@)-C*5!5Bv@LtazzF zDvhEZ4iy47Za)OIpBH(?EqH-usS%uw;qeJH_D260#k;+2pHsxD3AM_@3~?8s;@VqO1W*8Hr%N$s2RZ4{jK^a<7W` zoH*vl2>4rzgE52O04rUS&&|EeBCMrPD}2A7_ckc`{;rpH;{Azk{kV42XK;~qIqYz` z%Fl$%+WEO_o@flu!IILvv8R~C={zw6Vf3_EmV9-Jsqq;uq@>UJmu-riP3KwriER&O zd*1*Tq>T`Tvrj5j~xI#M1Kyqk>U3!r>;{`2aZ^J$B@AGJXDg?6`#eVN$w>Nfc zQ>_~d*;99FB41~~cQzvwE684~Tu4;xf*igI%Iiejy?OncNr?3E*}+O#Jsd}Hd%eZen%N|MGiDQgxv28?LU}r#_V(Rya^!m- zy`!MjUaKF5bK9eoiO|m9w>l{#&9$9jDLvP>i%|%9()) zab5Lc=U%kC?ybZGw;6fOLrTO{U7JMd>L#AZ{exoco-LMD0ptG=QE!iw>v~SEwrwoy zuYU_V9zAsDKl$6@%-`>{GjQxj+?4&>*(m5oYR8Lt%2ndsR?HA_%Yk+P`JdquuX4lo&z5P3?xBIn_PV`RAgsk(8|p@|@7;eqzI9(%I?NGcWS zN!3!y5oQwbNs{7g+7Oe(H8xj9jK%*@(|=3lO5dd;Lw#*SLy&%UtFmoL*vpKLZhNsm zp~5utN9AG9CALD;><^O!*HET0; z?NNT<9o4BZ;@4d5bT~3}-Dcn3j1#?N;AnwTyLM{gcTDt9D%z@<7f?U;T}$`mP&vE# z(1M4=!@+;X=__(kcb3Ktz3@p-buy!gp0^Eh)6nCVBwa|hma5c=3cfB9>B#a=W|Uo^Yr$)l2&}?5S*F;S1lKwzvj&(V{Y~8TdZ#V zr>>%N+W#7!h@g+_kd{W@F7>!kriK>Ezq!?m`ON+7-pZVcmcc+kR;V$JH0Ji~4&TYr z;(CeJRKhDFS0N^z6VQBAED^wj4e6LW{vk7le?&bXoiI_d^33D-4#dQ~s2w6++K_}0 z(m6H|5}8THVQR)7iX?>W{l+8Yd1TS@B7J;lUpJMR&W~1v>x0+_`!-UkzKBC{>3^pG z|91uf@wZ@G*!X4#JUm+DgRWN!wRVvh=9@GbcZY$Uo`y2)p{WDC&P~8%So|{?z<>Nd zj%0Vlp}AS<$*#5W`<)j1H=KlcY|2+!e z4$XgTq5tLlVN8|$X6z34@0T~Lxi@UT)B?jCnfr9od;bmGDJFd_>TpyVo9|4Hi6{em zY3&yik({~_OSp4JfL{|~;^jf5$%3Ee6(_vTHRET!ly&u&n9zNBN5Y#5r$ryihQLLE zv3;e6{JnFdhORSmb6Yb%QuhlHp9`Z!OHUni2f@RsOFBLyLBaT`=#Axv7G4W9eCCE- zdAG;E2ASHPFN=l~(qVM+j+b)i-t7ejOH$-X2E?Q)2Nm_KX~&RxM*JI|sx)_!jmr2$ zY%(Fb61yGR_3YXYO>Fur$f(U%Cu_jTV#U?fpR?h0wyfjG_xLaVBrvl|T-pO80?B0g z2}OQ-&0XZO9^*0ZAgkOY>`kO8xjOfvHZagoUS$M?K) ziY?CtR=hi29wB9C_Zf;#%&ZNfw*2bf(`2hzs}#drKki?gbLQl>6Qq~FaY7Ov7$wk4 zY7N_VZQt_U;PrZ*UQD>T;`t2Krl|2sM3M7zy-{jsYa8=F^u?cTDT=JuV7}nFvm%6X zn9*yLEPKdCM1q*fUu?dCXQ)M4x6iryX7Q}shnRZUpNgRDv3?}}Hf;|Lsu|I&{`5h6 z4ZD|(IpKu&jSzn=I}RKi?x$7~-1Vx&8vbc&i{JEqpGmSn{Di(KsQ&Qd@)d+WsOPIb z(`a$QH6;e2)H0mAes9^ErpU~cOhjrb^}94ZMh-#6E(6AUco++W`K%$-Su{qmqIvuw z5{+%^U2QU)eDBky@9#L=^DTJX*IgvV_D-YYs~GH0T0R^M7y|A$rh$Wg!<_i7Fj}aI;x>g;{2A{I98BHe#obdM%6h!wXH;9jg7b3G^J=W(g?uV2XbPI_XO+hNXT)@e*Jgj}a=Rj

~?SakMztWAwsMzHv!<&G-W-!aMqgcYIVo4^Qf~*nC`A2WATuEHURIdvnL*>I9 z=ILLP+TX8Zn;b%Sig*Ua=9R_k9UWtJ9fnQvg660Y?@l;(wGp7bmCz&Ba+%-O5^=j< z>?kq;ZApwxrzMO$YS1H#lLK9b8m5M%e3{ywq{VZ#XQgXSSILED{;a14L!#V?-t@)` zWBjiyB+_ilD<{z5ljs!1FcU3h0kzY)qisW?gIYnA0~Wo^^KfSe*Y&I0VSd)3vl(mm z4JS?HiVt@YRD=5&(W_!aF@n~V!Zo5of#&wJ7;{n6;QMS0|7rT%5p!l`F=YPi&bRAz zA4%h|vGAP+)mOH*Qp?^FtsR6$Q;O;LE_N>hgf{-ulsPWQ$-m5F!RVY0I?jpT^nKAv zP!J~)_eKE5lC6|SDUz0kzmV`>?yvm!O@b#doa{t6-z^d1WZXUWU($be(fq$uC)N$T zi@))hZM3JB3QHz5}a z5)=0cz86*z>RP23$lK{5_g>0WFEUc)v>8uj>W4%4R|nMZxJ-oD7-NRADOm@V$gk3G ziSO$-$K6b#;~bw@*y^^!3g(1zw>`~=flqdfB@l-SLz#XFkNkkY7HY>hcE*QiVeVH& zEgzemS;R*bcb_qVsEqkRmyN0YRITYq!7dDy%@iBT(qE*xX8Ue#kGpF{fgD>L*;hp^ zcZ!X`7c+A=VudnmrBu3#w4_Pi`VT0|VqY#*$3ce#AI1 zTVeSoL#^(aewvBDZcqUOyfA5qibc6LbJ_?1i_Oin<8W!&|IUqh%hRH~fj4eA2EyoH z+-KyrP$Q)0AfHo_L(!p7snC!G%KX7F4OCZHwJKI3bwbqKG%Ija^v3!wJ{36l1%<|x zfYghXP#P{<6p`a`VIe^Uk7KH^$o7>)k=c*BsxXjsbmc$F!|hD1vyKYGcvq)Ur1gB9 z^0=u?aO>nU%03aSiMfP)mF^cUPE!hzu9b*Vk8pJK8#g1y+##To6Ed&f?+L_~ zlC*6mDzcW$*w*U*s{+kW#6SO+$(RA@k;(y&z!w7=y%Dbn9k+~r*>aRsXtAY5k%g&N zN-kelk9MpO)$e^5AvfR+z7vfDiKJf)xz)>)L5$|SO|249y!3u@+hZo^WfT7lrl{keq2qGNiP8#Y^=VS|miG9&=!g=ULK>^(XCvZI`-iKJ}{jo2HDYFPmR=R%h zlj2XrZXtN(&aEM)=p}%*I-5|>jl;33Pw0F=vp6Gu(djG|P+_05U+R2l6f*sCzFv`uI9W+H>O!mt z3KV(KI36@33VCZN*sV+oSYf47t6mv|z z9n0MAoGKr{8wON@JSvn5RR83|Ubq?A6zca@fhYidy#tnU`N_ua;vcch4@ahn#*(f@*s|a42(hzT$5`zan|N0ZzdlR~ZpV z2Pf_(sIts1Ei9h}o|1!tQp9Q z@tpm?6Skh??kajC823#K&y4?@#&ob0wVYH`3Ki3yT>W#M*VxZJRF>Wi;Arc z)T9|sXQ5PtYY5(r8eqibzR_bx7Z>lFQrCI#g6SU#>&~yjqmJ)1!8o zxFpUy`#cOa*kS?Jh5E%MI-qUu{*yEd;)yK!;#~KGD?FcQ);=t@?%iYtr2Trv=|Sb& zuc5h$6z$%l#D?lmpy^e`PoSaQ{?q`i4ZHYUraAqf=mKb8dWxPjy)LfZM7xJZE zV;$5f+8kf{x1BFO0gBOj`%%Ac7-$5rTow8bAVdc074%Dww&iKxaz7h~7W7>PW1bVf#q^|e1i zHPLS>D(1GrOx+8WSh82Q)?yqR`aVFUrrg=ri8HjKKt+peYe%r}yqm9hoa$(h#{@>9 zUtD?YJFw$6)9?W#!l9~V4>3JV8(SM{26`_kasy9f$mNX27@^F1CECB|baiq}Ta9y3 zHMrcn_;UG)m-RSfr4P4GvC4jZ7Yp#p_2VY3u*0AYJV=+T8Tflk)EYoL1-Xy57`_V307A`iU0F-asPR`o|yMLUoZ9Xx&eIlsIS*8No{Iq z9eBraaR10KO^aQzNh?p6^I&(Zy#V=7#^+nXXP{2WIPmAv3SW=ZCjg3EhRd|nxgf$B z!n<{R`N!Vj;GpC2yaA=5QCdFLP0Y1!rY0jE=HU{>JZe0A$QM60pn zyH*s{=g+1H>M&`_F@m_+dw6n;)!R>Ty1KE#^6BgM{!0L-%2{0e87hB~^VWqLD|a{O z_Lb@h^KxyRIO)gojd5@Ip?p-agkP=Hu{%CMI?w$0x1YArdS%VlON&^QFs8Xo;F;>- z*w(Rw7X*MDRG<8T?H=Z~|3)C&XW?a);Kax z*Ds<73exMMKw5C221AOn2K&?hUYCIU0;Qu9K{b$cuYJC4lWQs}fE4rpwBL0(N0FB1 zZbgrPd;;|&u6p1t1`0(?hBi&aQSH|}x8!G@0w8U# zXM2`8Zr3zZLW9fNoUN;3j7DulFNOmnR9wSqooRI2U!OU@9ylfOq zbFTdHO~-%IPh#wIRV&B9TQF$nPl8eTIh!RGjupET+b7U^5z8qyF`jS11y=MQZ+Yp| zYk4M)uwyu#CUHzI~OMHwaUErB( zm9c|ei4yv1Wnvm{pVPX)2+c68o72T%BzxjOIfm}C=zV?luxjtV$ZuTKXssxClfX}d z4iBoN)KDm<{DAMxr=x4WSW__p{NRFTwTJzWdtV?<6qts`4TcLPsQ~Mg<`GC+d9IKj zx8e0k;_`fjXzk|Bx`)Q{Lr+tq}0G1OeFkVb@hb8Q$3A zc&I1*^Jk;+zaIbcFablXsL;ROX)rkg8-&u%?&*;?Ajt1M;Y{TirFGBn7EQ-#T>_j3 z26RZ@XR3Zp$k%5x+Y(u>(cnV!fXq4oA9vw^q64|AB=@^4ksmdPM*1O$(` zh@8+ABS)+r_1tNWZXqZfC1jg3U_JQ>%SvMGa*mxg@SG;_G%c|2b_FNYP(T+8PyX2F z!L!w$npi}XutUE zgHnohci9WwNBPnenkV{6jP+P$`+z+ps;iwj`YvluDWi{IAHB^=tI=-%@xLzK3%uO+ ztMy8+re?JUgggRr*+t)_zAT%r$UJlYeBRjSW47V+?9$v9T}}++lgzN9-Q+jSR0vtb z17dyf;~V;$6<%zDBwj`RUkxN_X!!@*Uo#ZGIPE7~fIG5~^%IXC9xJn8i~TR2-a0C( zFWetiRHUT4TR@~lK)SnoZ~$qLLAq1v?sniyOG}6}I>gW^4k0Do-Suwoy}y^mKf2by z;heLd{XC!Abjfc4X-r|B^rEK)9GmnK-O$uHFJS=S0{?z-so{T6PA4a~7>B3WPZ!QN z-F*EHCw1=bHeV>GV%>MHp--!ZxpB}WC`pfQJf|DTZ~0fRNUHKQ|rd%#}_`#L-u8?92Bi8hiShZxd$`aK4~p&L3+aHEco9#8=jnovtcd>i5I;un{i1REQBxKU-)gRR&X>gprE z2+AS6IRUyDZA*SV3VC891#=&cPwNa?r{>mIc9H_`a&L)Trg2ua6ZK0vuj6UI*0d}0 zWm;O!f|v(aHy8P~X-gaXU~PtYyNs3NH$H6vPHrgYUaLB{W`F3&dhj{zyAAX(vxFgQ zK;_lXIGo|eU0iKqyC=$kekeZRjskO{OBw9p20ME+Z1Jd}Q@!6PeRk3#Tj}MpN%Q-I zjN<{}X}2s;6@XHm-}rg@kdw1k$>gRc7b!cj3$rTGY{Q$53eeG|$H+Heec=*wu%G11 zrm_cvX2__JNXO#FN=kV-Y2@g{-|&37T8RxGC%2n}m6*9s3;l8ufjPFqQ+anhf5*HbPcN%vQPeo=^j=aM<3F5ZLx1SyO$NPyRLD%MY zdLpODh8_s!wn>-BaFKsQ-QCsx-A5a4Q!Pg*K+sGjeC7IU61uIg!*5@)g6@>g%1UQ5|NQd{&*P$~hF=zrSmTIFen2(NEoG}v?V zy4raH|KJp3JmKb(CwQvQ8f!;+;^PlGetD+rr#AQ(>J0H;w}g#YgD>x%UbKggJ`0IK zk|>b@3P$iB>*HmE-x?sB5;C^xjYdg zUqC-4ie`*4v#XB(_sgkm5_V^#9fa z@)Z^jB5pgG%8Jm!s+M1)Ro7XLo4Z=1YKZ&cz2I$FoSU8Q;>XDm50q<}T^%ha_2D`b(s1l;d-|$?hzzH~v2@z*hgDw((1>S922+ugIMq z+h9=bd<}YLQ0T0}6l*RO@L)VE7q9>N z!*jEX=BRjTpj8#sV6k^vK4T5_%ekD!0&D2DbNL|05-U{HejvK$d=oT_0JAZZHXE$+%J^Ok{3}$-s6I=M!J(nitrPR*x)7e; z@-oEGwn6Fe5aR$}@KS^}gGR|j!S!pCdf>1YuHnS#WKLJI2%Aq|uEAfSi;or3!ouiO zQ0p|He2@{j}R`Z^m)v~4p_*~&5G(*xyhG!238 z(ljhJ3}5ScM!I--SkXZXb~+I|J96oZ2ib_t`+bv=2$v1mqew4n!Wo4g=OAFm-^mIa>duBvfm_v5<=m1b| z2>nu9t7~Q9kO^b$Tyl<;FAv@p0wO&2eOrkWqul6q1Ci_SyuCu6D0%Y>Dg1X?tk>ZR z)RSAPtgKS>0@dT}yd@A5qj#l7EV(0C+;ew91r_Fmw6sShzWDKzXYV8d!yc5*T-n78Glj@L>(Cc0#9MVETeuJH~c z9Vd;4F}}&XCB(4wEO~`f&Fh5_uY3gN%=lllT25yt-Q|gq{be7nROQG_Wy}F*IooXJ zKi3_n^E7u89T!Y@TN;6i!tmnX0Hi;YjmW67m=*veP-n*1`bJ5PR5MZDruG_nhV*V8 zR)7&K);p_&;Ilbr{IC_Z7Nvb9p;N5etHZIzzVb>aZa}rEE4G~KPh&u;eoJTD)A*@B z^Lg4FhkLtkIXQJHVxEEMMnhu=W3uw$$~5U)k!xxcCF5sXe)Ijsh_+xR)q%A(k?-I} z70zuQ2?kzUygx-ht|Mtby#uiV1Uc(9hHwBf?j8JW`3}K+J~MYG8S=)5Hq0(^P}3|- z$#?>QvjE0oRwATSjq2}mX>`A(jLHZ00}32;L@!|kT#+4T3D985r9sS6-%-d~SXx%-aeCLh9#G{i~{kdFXo7E#CSY1=w+WSt_tXSLH!9CMF z?? zcT__Ur{2NHD>%8GmuE=AmU+Rb>e|q7&bH#}ckt?ymZiXGZD<{bDt44xjh{@81hk>fsVKEt@7yD{FkA}!|O zo>rMK;i3Lo!=Ly+JhqYGd`I+io9O>ix`6 zo%%Dgij=rbk+17kEgDRXeGQc$L?aN^nucY?ej{14v6-HmU7znnQd84m^O{1`W1!sh z`fgfm8#l1fw+5(-;qZNJwiWU?oSv{g3Ggr7b(=R;uP;#dd*CCquXMPaw|ibQGlRjv z)%Dfj$dC)P{1|2*uK#@ife?+xKK_z5+*|)8WuT&pD^a<`>*9hUJ_m+IC|GT3Ilktnd!v277c#8Fn+upaK!UgLCl6U)ZtSVu z4FsN%-K^%`Jba;|M_DOwt?-%?$&fm(Wf=)?^B10@1#}(WLYtaEa-7UyFg=K62s1nQ zw|tsZ!@vu6*s^d<8hCKKe|Y$P-p0y~VXt#RUM8JcDerqF;*V-3NY4lq0)bds@RzUN zvV#h&RN~H>7Ft}&$^G(R>Dsez-4!R?BC8U28k!cXSqVhQ#`P&f0enpQui(N52>a71eG}=30tVgWe%{bWv z0i6VRG5c0s*lMGS%TkWs01J{W|7=Q>cfd)@!s<+qaNP0{C^S{e^aEz(fm1zgJiZN6 zjcQ|bxNpi{OD1*6+bu?`X*d_K)e`zHq(wc!khT48H49|$A52>Mw~h$^7Y|XOYe(+B z6%3(oUv@se(rdr2JU4s`vG%r0oJ_SMEkDMOz)4zliFEWopauPbl%AYNH=W-Njkwo7 zmr68(=?-))7iZ!7wKWY61Fe`y-lAcoKybjL>&EVOdxapt3h{vt2 zw^);x!2H$8!@5I98)}qRJEeyw!&-LinxZ1D>*MYnIRqEuoXv-FelEj~sOKq4)=XA> zAc)~4Mn{s!t1}iCCBK57{qtg zNQEp-HGn!4*XphXO)$A^?zvhXK8 zZpTPWW)aokjCvFjHUo<1)*sH!r3{UL!#7VAkSneffC2Y(Tp(Q14i&BC1Q3V!2`oGC zj{82W{Dt0cgY+*cD%7a0!I2c_KhiKE4pM9|e!ym>r6W74_b+v=Z7w!CJt5GFS{{i3 zThX=Y-?;3?7Oed|Mvh-=b&H@JXqu%dzY;bG?qeCn1 zKI@U8%Bd^2)PE&>d-o`g@)^THMX9s!8Bm&;{^i-8o`wV*h%8v~W%5Xf$W+cRg87X8 zATu|+vz`;{QgnZzO-?+QB~_iFkI%IZk?kx*J!ac*nN4>ev-Ga3Uz=p)G-O_LBNHEg z6xQHQrmnW{EzHFBdw0fQkL^1M;=t!a5^RAQB zc?CseYBVKLau}9HP{L>#RDp@(QM87{df!=GFDy-I;=N}ExSQ!wHP)ue6Xp(0Y$_Sc zO(0qaw9ud>26=$E@mpT)&qayahp*)F@e&5jB=BAt)A4lI3w=zJ=mIgz!na2NMxzXx#=Q0Dn2=&Nv++mq>fezax7Qk8%}q?T zJwD)62hVhuQpM5?P>(;lamba-f*Fct-hZ97;4q_eS@{0QF+f#W=W^p#iiB5Fwbd4S>fXlC={p{KpQ)_aJQnPE4S8pzJE}#A2`^5#0YkoA@y`9 zSMa{?f*}(MbBTN#ySg;?n^nNc?SB3?BWAo^CTwqq@nKdO*jl~s+eFC2B6p|QY84CL zK?G`<6O~HHNRWP|1 zV&SqeMvfnz(I2G>FpBelb>F4p&|xsq-xZYnqEvGMBJ+(sF`HD25NEl{-`mNUEHg!hwM1-9aH@E)mpmwr#Oz&9FrAydCCsOe@L z!pSP%9TFlaZN8%H^&-KFVxXb(r%#%;?P8OM6&xy{QUqnpR(d5N7+h7V=#r5+#NTwj zhzSO=)S@R~8f9B^1%LLqZ+O);(ZtI1Z!T0d>}zvlkc9}at^#D!)?L`PjM9eVamc8* z(8uo%A_6}mYdQJYX-1A~9H=_^we%Q-#VM&Wh+h4c1fdU)e-buV<=Jz5+_z9w#p#Tg zLzdj1LGdubJZsjI{lFMy2+hE2`zjA+)OBC!hz?YVVXwt3SFx3rV?&qa%Ul}|`3zZ#oh4gpc^JF2V9%Q`|jX;zpE$2Bx$a{8n0 z&ywAL`nEGXk(3fb=#XW4N0(s6ajV!_J zIv;p0U?^nv5*Ne3xaHCPb7wKK5nxt(Cc3~xvehMri36Mc=?Z12pevR^ z@h@RAy4m=-G(kV>Rp>j8zjt?nl0g!eo3m9_AFOd$0W4K!$!_U2@yjSHrJR6cAld@W z7M~p)Y!>@}n&sOw))&9X3l8F*#^NF0JQ_2A#2_tzhzj&NyL0}4L0>gbOsTR6oqwKM z%VXl!3<$EkQEr@&!+DHkqQ`kZZG}GzjjLs6hGP`Ey>xuz5_y{rUQ= zY3a3_F`sx$zvl=FP4t@RHCuLE52U z1SQqe;~l~Tjp$k2R;%wdI_Q@Vdy*w47dq5ruac!UP8mg$asB-Rj{`ndEppx_2TgO(X%-m%wDxzHWX=yIk{eS*XyR zMor7vn49h<0a&xiPsD&M@Ph|Bm`r1PK-~k{HLw)}K}lW$_ByS({CacM!Pelq zR8rSr8&C|_csg~>^kX&gKxE4&y7AEJtL+0Xvl(Z4Q%MS?AMQR~c>eX}ui5X3{4d8= zloh=?ndPfO7C6QVwbQH!&J5V=00P7~(3_-Mq?@nJ(bH3wshoK^?Lz(D%t!#VJr)qs z?~W$x{XHC1_AkKSw^bQOon)4qIRN}B&*9f*u_X}9_W$)vNG1{tyvf)`~k1lX$c5n=1d;3l5Jp7lSw2Y zmSau+t+d^27;*8iYTZ1Gw5?rnj5bn5q(LSxK|xP1rjPkowsxdENn5km^QY2$iCXJ&l#SSx<#FSBk^f_IMQ%_u^NojwRr*j$*WhXz$}?JvCT&rE8{4NsTB4D^DF1m z&WwbSRkqY9+h$s-U}8CjRIIirG=}l4p~AjG9T3eWoXnssu_s5%6ja8h8}-Ib&8?(; zf4P}f#)1(ii-=dr;hV^XS?`=1eJJw)c`_zwE&ZJDc|X|tWo104bx#cc^-joKC~4yi zJx1OFM7>R3HZ>Y=HY;-__jo{8Y@d7gQ>mv}x`~mzPqVY++f3eH@jl#hRYvvNOcZLD z^1$@SU*3*B8g>^&4<-Q0aaB%+<`(dp(Rb|y(?`fK@T;xyvKl`OuT4Q6y-rqG*T|wY~hT;9MZFTX* z9Q-0;ZhBTAX}->dG8wZ{J^ipN2%OU3_`^#yvd$k3bdnfE2D0+gcDiybaOK1iEIgzT zQ~qifx}8#z;wEKgin{Uy;+kYXjf(4!+Jrd|HIot#b?oM|uoItK&5XBEuU(jx@}XSL z0F9%u0vf%j+6E4T+izj_x0bXC^GY6)A#=HE`p?lSaOiBiXfj&ZV>tsaWC$WD5`@D1Gig-gf>oSVc9DgkX67 z7qjACVzVrIp!2CRYKXNEVOzSk&ms+#<`TtPf^S@JWT^|kBpi*2#jJhY?T2f@DIn~o z#*{j)vFE&HLS#augr+7_%9U_g-ofZ(yrPQEo-Bp+Ei~EbU!x@h8m)^;CQ`~pFWOLP zhTnNtH+M`Rz_1C1&g^x+=RitU_NU!hZG+mY9iu55zO;FUd#%7Ib_MXuy1MWkn#qR@ z!ds2Brws>;MyAH*1-1QqcjDpS(1|P%vG!EY^I#DbqFEL1E^&j$GJFcU0rdW-$vqf6 zM(_YY|CEuv3To5u&@l%yvmB5+UNHI7*&ob@c^v;*O()CGA=e-A4bMdLsGiuCkrp?3 zg02jRgS=n|ZuaScr~49l!f&mMq0I1cUe#p0g^qzCdxNRzY0!t&@kk&6{+DpSzHsBa zClL^JBTJg|Iw>Tdt)hyPu@B)s&(n=4UZ8UVBk==KuZs+Qg%ARHqD$K!r)`oU;#s7z z9@&72+Uh5aTh=W9{uP!DYBuPR@TNKFaIR>ywjrJvaTMvWlPI$D-7hTM&;;Jm-9B8n z-gpE8YpxZ-$-}?2BLi4-HIa&A#HwHdg5I z{u3K1Ke%{jsQuCOEt1nqD3b?T-{l>{Ma$@h@ySJ#t6=otz@Cfsz}%y z6+<1C*jz=m)&G&PPf@Y43cq8>`c*}B)j_hUUtF;rr~bO)CVLoD@K2|ZVh%*m$~Evn z`r2WPDCLehh3K(QY{y>+2Hs;zJqU${0l7jKh|kqVNYcEwfi%Q2_dy|V!M=1iw{V|y zzk7ePeuH;EDPdI%#Sp8#8KqL-+^gNh$>ONbQS--z{_sG}ieW?NycB#0E>l(YQoA>jvkv$(Eckxbt2UhDUK-r*NqiNO=u|C=;CL|= zN4347R2#A$^`vc7oiG1fW@$el z{H#cqp^(D^zd z;v_JkOMVE-KJt`mfS*cDcurif%6Mt*^aVBTq!aWhguoxZeimWq;l~9AI1ydlG(w1tr%3?yg_IUZ3J?73{dQX|4nY@l}qmdTr&SE zrhZsd@JOE|=k)n$K&`X=v_Ph6761Y`2e4KJdx)_w$ppli9wpgj0bUCDgTQXp3Tix+ zJ!q{%9Yk6^*9F4A3FrC;X2RF=DrQgZ-r+O1-rO^K@Ml z#RMl@K67Gjb#;UqE8vN>JhNczx-LpqoyDwHTInldQ=H~Jnz`y*pE%9>?Xt;VBu#6qGyP}Y3Q#8MB_Lbd%u*E)V<}Nj($dLF1+xqr4(JmLALtP* zv1h*(so;Fcr^BU%^_;M3`N6~H;!)cMTTfqbUgWRP}4i~ z%k{;hD`4XrP>H@7ix2qmjz<>tnqRF*-_gZMx3eDBze*@^aWU)XbWWqI$C5s9Xz7|= zU=#~uCD90K8}$Otsx&Jwkxv<#uG0CP%dA=V15HhBQ(Nb_bSgNbM1gZ~1oVi9{-6hz z3>2~q@Ide6zii39`3%@YKxWo88d|;PC-lk5=#@j1Fh1^#ZS&xqEuOc<9C;&WX0!ib z*jh&Cm}|LKbn|YR{#*=rY8DA>CEc}MrEww>~0aeaDRsc zbDbpwc(BH(PNrw(E%<5-zYHH&;w`N9r@Esp*w~rn+;&>v;>M5ilc1byWZ>DlMwY)| zV36J0t!u6w%)K4MqloDNWHIYn$n7Hn4w6tMg5Sa0KKPGq%an^!o~Mp$cEU7+$H4q% z!Iw$AaC;UG=v|`64>MDSff6kGsRqx>D;?E_|EC3bI^upPDmZUN0$~%QMiGqY5?l$^ za=sFLyY%m1no-?Qz>g{*k<`DpK!&LXQI^Su1r0qn$J*@Re|5`a*y( zs;;J?|GfQFJbKc*mSX88#IZr>eZ7-0LC#h)t)kWfbqIyM+^nYFlaccT%go7Cmb;z! z08`6D)lGm0)U^dFvhKKY&Z6N9bD8zD)8i{K#ZfuTH#rZcp1!u`AOX4!z!H0ubpBl8 zP3BR7=d*d`XozR`@ZeC!3QS&d1YY3*=gJi4p#FgvH>@u2<4@8B2Keu$>tVGICLM9b zrGxtYZq3GEw2xa(7!UQFp0&31c2%tDNm&*$Ond2;g%O)cxU`0Y0oNhp`U$tw1&iC=6u~an|-Wbxlos|6c^P#Le9P*xni7csVAwKKK42pZ{LQCe2iZvf<&o5W=`PXcGY; zMe+r_`}0j8G;-;Se#zWscXp1}?}HE&^Pd$QX!<+8pJKvBKl-arKiQqT0EM6AlA^}xt#FX zO_@l#DGFbgYt2@PlHv<=a$AMUiS2a zTsA?p+0A}!oQK!X7#jgI<5&hvpcB?4%fKzlmh)lvYg606J09jDJ8Eib3nNkhf|PMc zw{+DCiB|Ex(ve4d}|BeZRC8Z3o-dDlV*wDnTX-6s|Vh5pmFfg@zQ3GLgZT& z*l~b>8AU|Inm29L`qC8ctcWjQj#MWY;p1M&G*w)}q_vvl9aW>qAXq5U;+uCO{}%P^OFDvN>cOZ4%gP3j-3!PwU==ZZC0` z@$=qr@Q}xNHGB(pnC0Z=>Oz7!IBN)Z_X8eg84BpE5ipO}GI zZhB7SKMC^xdX+aOSUd{q zjnBaT7t*`JqQb}?wCzKU$^xiO&4K!+*)4XnZ}q*`XH+e z7%H-7eSv=my?__+3}EB0t8JAP&$g=4W~KiTd&PlVTHFx&EjegCt}2c9R4kP-d)$d6 z(xXHnkSBj)HB`Y(7hOg4tVUH3kMC98kekPOQ22Opr7 zn9ZNvN6w^3;e#XoF8(fo3#}Q&Q{8sHFbU)V+!MLPpwUeOMI$4ctf63Smsumb8APDl zJO?HmOBZAZG28I};!hH^-E=sjOx^>2Jb;Ym-$@4Ybk)POvnZ*^X^>{cP)U@V>V&zy zO}a@(yd4A_OAbgfwiTDb6y;w!YBdC_*A>-Vb?vnwj05CE$#ZRww$#kN=~{o99n~ zAgGdsULIbzG2L^kAI+ zR$B?YN$-t10lz;GtUVtJ|G=Tdd6iq) z|MXl0ChBp)Rd#ujwVlqDKc_M@d#w(oD{IuNHA+x6`-=%pnOF_0JmgqpXE0WoIu-*STX<;~`7A6d*Ew+lReN$^GY z(x;oCX&`4IMCp1zMkE;`WuJwCe3Y0Zj)BJT&QN$?%NIX@q;NBr7)2DGLh zxnri4m66Uc0Z)%H-NX~dY-O-zwao|Zw)xXa%oS>L@RG-Fo;@W#eggu+IuFSqNg*}b z6Mzg4aNo~UtXlH6)TTVA6#H1>Yp^wxteC9(D@+1u!Rwv4o)wKLo#&hS1% zG&i-49nrZzQquJWiUyUFdmvnKjQ=%`#j}g)k`9E&pT@S!_K}GphX&6O!Q_JtVoY`* ziHX}*iwYG@)yCA*qQH5IBX6Oqf>EcC&Em+^PWKzm$;+!oEAHI`8d>{t70YqN)C|n? zi{OmqI6I&j6p*i>v+~%d7*ZQ-GY!GKykIf}J8Ge3ylR@2d;!5z$`}P&!1@C; z2z`)#$pE+b_2mSgPvuoku$8iXUdfKk9Uoka?R4DP-vnR>oLoN+JhDmX`;^a| z1I5I2jOgl3J5cv}78DHEZ&+&%;1pOlomIU@~%Cb>% zTPI~%{(oW81AU^`a*Vq#CJ5zUQfv--3c%Hut{>k1)bx6xoWx@tn#UHm3{p=bkGqdO zsmT_|@`9qu!j_^4i>>N>HEm!S8_ld;TZspvd7W~Sf7bjZ@G}L9lG}ySfx?sZDe_;I z3SBKVm85Lra-XMGXTWehrw3k~`N;6*=mHxglz6M^@6GOfYLfB6&%E z7e}Ja_N?l!xKBYm52MMyO9UQ-&<`q>vN2i?9{V-7Nx?WH39A56US$fg@wSs1#Eg3% zgGApH6nQ7YC2_gxuL~(o8R_vCP8v;udHVjMbdc58PSsULx^9nzhJIKh*X3Fjhi^M>`XeYDb&1nzURkq<5Adl;*N&lXKQgXWzGn%W~m|zA1 zuz!6Q!wGqG5+8e%DsL`0#o%~z9q-~K`l;f>!!Vm)f#4t^?hY@>lo-a;am1A!CQ~Wn zm6}|dx&Kh1S{nnx^X)i)$|_0i{cWJayUgB64i|7f6LicO40NVh|FfL&xo_UQRbV{( zlVDY7`ySpuFXni7+Q5Rg8i!TKp%pCcIxmJ`V1s2AcHU;Ov@@Ua?}0h{(`;r*4FvB!Hm*Xao(7d}T6r!=V9rXo00 zLrW4@Mx>xZ>o78JY4wwKNS=Bcrfk}trqF2@`AO|DBKL1|;@^E{j-yK#^GZSr%aum5 zlw2YkQg?2o1LJs2WE+A}YkjkJ*@vK+>@G$AH)PicYumQDe^^+a&@@d`*|UsB*4?A_ zLF_(L>lA6SF%m#AL9=W^+Iq2u|4C61>nG{T2r$yUYpL5)0R^`{3s{TV;gZF)i|XfVp1YAj;22cd|3a^Y(^~MtzYZbJUk+*;+FHJj0azA zc7_4N4;)J#>L*X0mGOa&dtT-y)2%r^orQuJ6GDjn+OF(AD?qRqJIRtlkKlG2ay#cH z(3{+C?liu4u||Q$j9IwYG|WM3gAo2)MyQnbcc@6`d5G)?MD&&?TTx`C&Y zzJQTa(nCWtWjs2H>RGzj&7S$8iD>UY?H>anCtMv5bqs_?K|w|ZeN#Le9=?`3KBDOv z0&Ed)!ea6tAJ#?8)5xV^u9RN(q|93(q92=WG;roFj64aT$N45D6pwMuDWUAeq{KD? zr@9dTNkR27i8*noc=Plcw(E6RyyAUa*Go?G_#yC_ryS1Xb-72ZKX^`irIj5qOtKGo z&^{FrbtS4qn4La$dh4{TqJ?Ox-~=+SIx3AnTKt~3#iywq`iL50JvpvaMgM&Zv;~=Q z_d>TT<`#45|ATT{^<*K_!&oel=x)WNvxKexNf3C$csN6US;io?dOEj-8NInpLgVTg<{w#A-Nsl;- zf&!iE3Rl_dcJnB=8ab6AblNsj7JYH8jw$psZ>=mX(r5~n6K0V^r)bjbTIP<6KLv9B7v7cgg>!r6(*o?qGI*UrB^}@-1|{5C z#PKfQ%w*hr<(JPF7o`HUZP8^u<_GZkp&WszZWDs2PgS{hRhTwRKT|$#z~H65+v;f= z9rhEuZ1t+2%eH%MiM@G0?C%iZFE-H@NsI3Y2J759)n7U_?GchSTl~t>GCEAKMeR)=>_+5ipo_YEUQAE z(h-EXCc{|O3Z{#vx88}wd7Y7w$1+yCvX5g$S8)$Wm%PHL3$Ul0ab1^lC6d5-Z9wuw zOq3(1<3g%+vsg9t>GSy@tz1fqw;iRotJT@Iaj{i0i%g|sSquyeOKM5vO@#9tj7-Dc z9llFbui~<4Ge%xfiryc}q5SWJJo`tT^=%78+;8g;Bf~PP=C?ZQ@NYt1?Spm}zXreo z$LLKLt(*Jw;;oJUmD)E~DOTUMD)d^B@{jeTHF}=^x+HscIfmH!l`mA5zD|n0p6a@H zsUr*F8M(S0i18e&^P7LQ6>7n)r9t*B_&6qOVni?L9eEg54i+5ehRh?6o5SX+Zlg(K zVZa-ykn20Yc`%W@K#+cVb1vq%F18dh&{{{<{;Kr?M_pWEuKFaLDToKA(sO#N(ne+D zzxMRu=ULX_1(?&^#O;dr`sb~9mQ95C>h_@A{t9+(q$#xd&w8Yorg`VxK&$tHN&fX& za1i~kMv=?8zOW>WCt~0LVf4-#{B69D26Im3YBv5EIFGEs8zp`O6ibvbt$j{e%PWfVfV(3?!4X%Y|Ys9_Mn7(UGu-KM;A zb^X2Rt%0DD-RZ(_%zj^%1g*(AdPrI*i@5ye~qI1 z%!NbYqv8$mhqix4y;vUjJtVh&FPyWQzBG_h%Fg$ZG1te$bnhCTa{PYX`0n%frn$h> zOTN=Gj(+ywv1~8-Y9smauy#s6_|_f5`EOG$ljC2Z&jB+Ts)eT{sn)tH)aP^<(%1Ms!*U^r4ZpQ9ok2;lEUNjd z%C*V43E&5PV5b>VPkLi8c(C8#5t?m;u$$zu%U)6^t+@(RXYEU`^!R#vw1o^L{xV0* zDzI(bk=VgMZvXv0YZ!QodfZ71l+vXVx2`K}mb_pM#wLI@X!418K?@Pc0LKC$>NZTQX7FPo9$TB-F*mtl@`y?%-Pb`$plk^Rq`rSk)OyO+zw1ESTR z2mTCTD-Cd8wivVxdn2K`XL7;E+v4fz{`b*dZ~>obo6Fh}ZdVOcYcqGPCNgIeD(}?w z!&>`}t!vjzdy|vTCTBU$kro=_1c6+E@lyDUPunk+uP>zNPXxJ)r4gveFRQ?ZxcKxU z>E6XL{{foBk7HRXv`qSgz`5^NsfhDim05jeOk#+1qNOFI{lB|{00W;rn?}DtKdr!H z0RsHTgi)MK4{JHG3$_MGCzC=rBaew8@@Xue==-QM4rZUvU>^iOV9}hPA1XQ!OXjDs z@(vvgyk5YM31=HnQOvC9Z6>El|9|h44dLU5K$3Ntb0LC(;TQP+j`SrCxBZG2QCM1? zcp%B6zU-_R__wd^y+TeD!E@W>Xd^8>>AWs&G3)!wdNEMPD{-!Ya>^#IYtDuG#BDXs zqyQrMs^hpf)j8bPmsVAmWmd*#Cb<%7h*N*jd&02D3*wpt^n}hQW(dLbjm?3i80G=R zqs?v6v@C)#(9{|Ng6d?ueBwI_T$)3bpT93x(ng-^a;aTHVc*u z*JmB)AL;&M<7?jsR9w|I!3Ej(8u|ku;hm_haS-8O%RPJCvcu*zFR+mPrAbilx8t&% ziAVYFK+0{i)t&JE?xlU}hZc-a4^XF0#{0V`JTX^+dUB;HO1B#dk8{FPl$mV!o==ky z0qY4yWa5jZkltvOBycpQZod`KK-MJSi4hfhrf?fU11OkKa$&ism*?(c3MNH^>CaTT zuer$PX062hP0m^bf0k2@nsg_e3!ghtjFcF>e$XCQf_kBW92UB>vTEJ(Y>N;)j59f* z85Z8lx8U|28i1a+9_OszY`>`eWF-QKIEGvqJ#JbK9dy41!?FU4#y^lKiBun;Hwfq|R%z6=CC@ zzC$w8yI;JKiQ6ZyndbjJZHL_3=B*W#Z`kbg2alMQq_yVF9l7wcX*Y3>wAa4-zW^1* zzHpJMLoNfKm&Syb8kZs-n4P7xh|$zNcDPz#t+2(3v^tH?LX6wQK}%9UuRHt9-ss^Yeq$ zd&@KLeQ79&oP1;b?^(~|Uw^sWd7iiZSdyZ@-gMQeUUQ>?mlg0FPtG~5=HRns^3)P0 zhM+6cKzreC=19d_-(K**LT_^C$rBQvckK#}FK2S$DA*VPT#~bJj`Ee9Sz?DTcI0hu zSMd%8t}i_OS3jE#cu9I$*SzNwPp4~&a*1%Y2Dh^`zBnCoed%@i55Spp;D$@!3T~y- z3pbxRDtq_zwyAMu@s+~Gr@Ad(OMUotedn8+7mJeT+5aD=$TpRcc+sQ7WyoO9~1rLh}u}?>#rpo^gqk(?d1G& z`rPiGiLdt*&8ue@adixwVj=QT=MQlHWYL8ADIUHSy&2w0Jb{5vip67qh22lPeb4`< z<$uuj_~JJ&eEPok?F+s6PCoir!^8yC96F`gHVoLxE|USSVeWe^#GR~uy1iw4)8s&F z2H?>qzymMe&Nc&HaT!{w6Q#rZ6xty!3Q& z3|R-Pj!?mR8{mc%6%0`03L5lB2l18IT?g!01M6B8@L{StaK#F`xiwGW_4@yM>oNx> zpu-ei{C{1>V&%-hkl + ARM Mbed-OS logo +

+ +

Mbed-OS add new hardware target

+ +# Overview + +This document shows how to add the new Mbed OS hardware target to Matter +project. + +Please check the list of supported +[development boards](https://os.mbed.com/platforms/) which are compatible with +Mbed OS. + +In order to adapt the new hardware target to the Matter project, you need to +remember about the following requirements: + +- Bluetooth Low Energy support. +- Wireless communication module with WiFi or Thread network support (IPv6 + protocol is required). +- Serial port support +- On-chip debug with OpenOCD support + +Additional target component requirements are different for each of example +application. Check the **Device UI** paragraph in example description. + +# Example Application + +The first step to add the new target to each of example application is to modify +the `examples/example_name/mbed/mbed_app.json` file. It contains the common +project settings and override the default values for supported boards. You +should add the necessary components and parameters for the target there. + +If the new target uses the external libraries, it will be required to link it in +the CMakeLists.txt file. + +# Building + +To add the new hardware target to the build system the +`scripts/examples/mbed_example.sh` script should be modify. Extend +**SUPPORTED_TARGET_BOARD** variable with a new target name. + +Example: + + SUPPORTED_TARGET_BOARD=(CY8CPROTO_062_4343W NEW_TARGET_NAME) + +The next step is add the target name to build task in `.vscode/task.json` file. +Extend the **options** variable in **mbedTarget** input setting. + +Example: + + { + "type": "pickString", + "id": "mbedTarget", + "description": "What mbed target do you want to use?", + "options": ["CY8CPROTO_062_4343W", "NEW_TARGET_NAME"], + "default": "CY8CPROTO_062_4343W" + } + +# Flashing + +Mbed OS example application flashing process uses the +[Open On-Chip Debugger](http://openocd.org/). The first step is to create the +target configuration file inside `config/mbed/scripts` directory. The file name +should be the same as target and the extension should be **.tcl**. The target +CPU and programming interface definitions are essential parts of the +configuration file. + +The next steps are the same as for building process. Adding the name of the +target to `scripts/examples/mbed_example.sh` and `.vscode/task.json` files +allows the use of available flashing processes. + +Additional flashing option is based on VSCode launch task. Adding the new target +to it required `.vscode/launch.json` modification. Extend the **options** +variable in **mbedTarget** input setting. + +Example: + + { + "type": "pickString", + "id": "mbedTarget", + "description": "What mbed target do you want to use?", + "options": ["CY8CPROTO_062_4343W", "NEW_TARGET_NAME"], + "default": "CY8CPROTO_062_4343W" + } + +# Debugging + +Debugging process of Mbed OS applications is also based on VSCode launch task. +Adding the new target to it required `.vscode/launch.json` modification. Extend +the **options** variable in **mbedTarget** input setting. + +Example: + + { + "type": "pickString", + "id": "mbedTarget", + "description": "What mbed target do you want to use?", + "options": ["CY8CPROTO_062_4343W", "NEW_TARGET_NAME"], + "default": "CY8CPROTO_062_4343W" + } + +# CI + +The Matter project continue integration process is based on Github Actions tool. +It uses workflow configuration files to execute actions on CI server. + +To add the new target to the validation process of building Mbed OS applications +you need to modify the `.github/workflows/examples-mbed.yaml` file. Extend the +job's environment variable **APP_TARGET** with the target name. + +Example: + + APP_TARGET: [CY8CPROTO_062_4343W, NEW_TARGET_NAME] diff --git a/docs/guides/mbedos_commissioning.md b/docs/guides/mbedos_commissioning.md new file mode 100644 index 00000000000000..f0c950948f62f2 --- /dev/null +++ b/docs/guides/mbedos_commissioning.md @@ -0,0 +1,276 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS provisioning guide

+ +- [Overview](#overview) +- [Prerequisites](#prerequisites) +- [CHIPTool for Android](#chiptool-for-android) + - [Building and installing](#building-and-installing) + - [Accessory Matter device setup](#accessory-matter-device-setup) + - [Device commissioning for Android](#device-commissioning-for-android) + - [Sending ZCL commands](#sending-zcl-commands) +- [POSIX CLI CHIPTool](#posix-cli-chiptool) + - [Building](#building) + - [Device commissioning for CLI](#device-commissioning-for-cli) + - [Sending ZCL commands](#sending-zcl-commands-1) +- [Python Device Controller](#python-device-controller) + - [Building and installing](#building-and-installing-1) + - [Device commissioning for Python Device Controller](#device-commissioning-for-python-device-controller) + - [Sending ZCL commands](#sending-zcl-commands-2) + - [ZCL commands details](#zcl-commands-details) + +
+ +# Overview + +This document provides a step-by-step guide how to commission any Matter +application. For demonstration purposes the Lighting app is used. + +The provisioning process is composed of the following stages: + +- CHIPTool discovers a Matter accessory device over Bluetooth Low Energy + (BLE). + +- CHIPTool establishes a secure channel to the device over BLE, and sends + network credentials data. + +BLE is only used during first phase. Afterwards, only the IP connectivity +between the smartphone and the accessory device is needed to send messages. + +# Prerequisites + +To complete all the steps in the tutorial, you need: + +- A smartphone with Android 8+ or PC with Ubuntu 20.04 and Bluetooth + connectivity + +- A WiFi Access Point (smartphone router, standalone AP, wireless router or + PC) + +- Any currently supported target device (for example, a Cypress PSoC6 + CY8CPROTO-062-4343W board) + +# CHIPTool for Android + +## Building and installing + +To make provisioning possible and to control the Matter device from your Android +based smartphone, you must first build and install the CHIPTool application. + +To build the CHIPTool application for your smartphone, read +[Android building guide](android_building.md). + +After building, install the application by completing the following steps: + +1. Install the Android Debug Bridge (adb) package by running the following + command: + + $ sudo apt install android-tools-adb + +2. Enable **USB debugging** on your smartphone. See the + [Configure on-device developer options](https://developer.android.com/studio/debug/dev-options) + guide on the Android Studio hub for detailed information. +3. If the **Install via USB** option is supported for your Android version, + turn it on. +4. Plug your smartphone into a USB port on your PC. +5. Run the following command to install the application, with _matter-dir_ + replaced with the path to the Matter source directory: + + $ adb install out/android-$TARGET_CPU-chip-tool/outputs/apk/debug/app-debug.apk + +6. Navigate to settings on your smartphone and grant **Camera** and + **Location** permissions to CHIPTool. + +Android CHIPTool is now ready to be used for commissioning. + +## Accessory Matter device setup + +To prepare the accessory Matter device for commissioning (called rendezvous), +complete the following steps: + +- Open a serial terminal session to connect to the UART console of the + accessory device. You can use **mbed-tools** for this purpose + ([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +To start the rendezvous, CHIPTool must get the commissioning information from +the Matter device. The data payload is encoded within a QR code and is printed +to the UART console. + +- Reset the device. + +- Find a message similar to the following one in the application logs: + + [INFO][CHIP]: [SVR]Copy/paste the below URL in a browser to see the QR Code: + [INFO][CHIP]: [SVR]https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3AYNJV7VSC00CMVH7SR00 + +- Open URL from the console to display the QR in a web browser. + +## Device commissioning for Android + +To commission Matter device onto the network created complete the following +steps: + +- Enable Bluetooth and Location services on your smartphone. + +- Connect the smartphone to the WiFi Network + +- Open the CHIPTool application on your smartphone. + +- Tap the 'PROVISION CHIP DEVICE WITH WI-FI' button and scan the commissioning + QR code. + +- Go through the the paring and connecting Bluetooth on your smartphone (you + will see a few pop-up messages appear as the commissioning progresses. + Finally, the network settings screen appears. + +- In the network settings screen enter the Wi-Fi credentials and tap the Save + Network button to send a WiFi provisioning message to the accessory device. + +- After successful completion of the process, the application returns to the + main screen. + +## Sending ZCL commands + +After the accessory device has been successfully commissioned to the network, it +is possible to communicate with it using IP. Matter uses Zigbee Cluster Library +(ZCL) protocol which defines common means for applications to communicate. + +Communication with the device via ZCL commands is possible by using buttons of +the main screen. + +For example, selecting the 'LIGHT ON/OFF & LEVEL CLUSTER' button opens the +screen which allows controlling the light dimming. Tap either the ON or the OFF +button to toggle between min and max brightness. Use the slider to modify the +brightness between 0-255. + +If **Lighting LED** is available then brightness change can be observed. + +> For more details about Android CHIPTool please visit +> [CHIPTool](../../src/android/CHIPTool/README.md) + +# POSIX CLI CHIPTool + +## Building + +To make provisioning possible and to control the Matter device from Linux-based +device, you can build and run the Matter Client example application on it. + +To build the POSIX CLI CHIPTool application check the guide +[POSIX CLI guide](../../examples/chip-tool/README.md). + +## Device commissioning for CLI + +In order to send commands to a device, it must be paired with the client and +connected to the network. + +To run the commissioning process via BLE, run the built executable and pass it +the network ssid and password, fabric id, discriminator and pairing code of the +remote device. + +Example: + + $ chip-tool pairing ble-wifi network_ssid network_password 0 20202021 3840 + +## Sending ZCL commands + +If the commissioning process was successful, it is possible to send a ZCL +command to the device which initiate a certain action. + +To send a ZCL commands, run the executable and pass it the target cluster name, +the target command name as well as an endpoint id. + +The endpoint id must be between 1 and 240. + +For example: + + $ chip-tool onoff on 1 + +The client will send a single command packet and then exit. + +> For more details about POSIX CLI CHIPTool please visit +> [POSIX CLI CHIPTool](../../examples/chip-tool/README.md) + +# Python Device Controller + +## Building and installing + +To make provisioning possible and to control the Matter device with Python +application, you can build and run the Python CHIP controller. + +To build and install the Python Device Controller application check the guide +[Python Device Controller guide](python_chip_controller_building.md). + +## Device commissioning for Python Device Controller + +In order to send commands to a device, it must be paired with the client and +connected to the network. + +To run the commissioning process via BLE: + +- Run Device Controller: + + chip-device-ctrl + +- Scan BLE devices: + + chip-device-ctrl > ble-scan + +- Connect the device via BLE (provide the accessory device discriminator, + setup pin code and node ID): + + chip-device-ctrl > connect -ble 3840 20202021 1234 + +- Pass the Wi-Fi credentials to the device: + + chip-device-ctrl > zcl NetworkCommissioning AddWiFiNetwork 1234 0 0 ssid=str:TESTSSID credentials=str:P455W4RD breadcrumb=0 timeoutMs=1000 + +- Enable the Wi-Fi interface: + + chip-device-ctrl > zcl NetworkCommissioning EnableNetwork 1234 0 0 networkID=str:TESTSSID breadcrumb=0 timeoutMs=1000 + +- Close BLE connection: + + chip-device-ctrl > zcl NetworkCommissioning EnableNetwork 1234 0 0 networkID=str:TESTSSID breadcrumb=0 timeoutMs=1000 + +- Discover IP address of the device (address is cached in the controller for + later usage). You should provide the fabric and node ID: + + chip-device-ctrl > resolve 5544332211 1234 + +## Sending ZCL commands + +If the commissioning process was successful, it is possible to send a ZCL +command to the device which initiates a certain action. + +`zcl [arguments]` + +Example: + + chip-device-ctrl > zcl LevelControl MoveWithOnOff 12344321 1 0 moveMode=1 rate=2 + +### ZCL commands details + +To get the list of supported clusters run: + + chip-device-ctrl > zcl ? + +To get the list of available commands in cluster run: + + chip-device-ctrl > zcl ? + +**Format of arguments** + +For any integer and char string (null terminated) types, just use `key=value`, +for example: `rate=2`, `string=123`, `string_2="123 456"` + +For byte string type, use `key=encoding:value`, currently, we support `str` and +`hex` encoding, the `str` encoding will encode a NULL terminated string. For +example, `networkId=hex:0123456789abcdef` (for +`[0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef]`), `ssid=str:Test` (for +`['T', 'e', 's', 't', 0x00]`). + +For boolean type, use `key=True` or `key=False` diff --git a/docs/guides/mbedos_platform_overview.md b/docs/guides/mbedos_platform_overview.md new file mode 100644 index 00000000000000..7252f992369422 --- /dev/null +++ b/docs/guides/mbedos_platform_overview.md @@ -0,0 +1,146 @@ +

+ARM Mbed-OS logo +

+ +# Mbed-OS platform overview + +The Mbed-OS platform is a +[Matter](https://github.com/project-chip/connectedhomeip) platform that uses Arm +Mbed-OS 6. + +The following diagram shows a simplified structure of a Matter application which +runs on the top of the Mbed-OS. + +

+ matter_mbedos_overview_simplified +

+ +# ARM Mbed-OS + +Arm Mbed OS is an open source embedded operating system designed specifically +for the "things" in the Internet of Things. It includes all the features you +need to develop a connected product based on an Arm Cortex-M microcontroller, +including security, connectivity, an RTOS and drivers for sensors and I/O +devices. + +Mbed OS provides an abstraction layer for the microcontrollers it runs on, so +that developers can focus on writing C/C++ applications that call functionality +available on a range of hardware. That means Mbed OS applications can be reused +on any Mbed-compatible platform. + +Mbed OS uses a hardware abstraction layer (HAL) to support the most common parts +of a microcontroller, such as timers. This foundation facilitates writing +applications against a common set of application programming interfaces (APIs); +device automatically includes necessary libraries and driver support for +standard MCU peripherals, such as I2C, serial and SPI. + +Mbed OS has an RTOS core, so it supports deterministic, multithreaded, real-time +software execution. The RTOS primitives are always available, allowing drivers +and applications to rely on threads, semaphores, mutexes and other RTOS +features. + +The structure of Mbed OS enables matching applications and storage systems. In +other words, where the block level storage options vary and are application +dependent, The file system that best fits the IoT device can be chosen. The FAT +file system - backed by an SD card - provides compatibility with other operating +systems, such as Windows, Mac OS or Linux. When high reliability and recovery +from power failure are important, it makes sense to use our embedded file +system, backed with a (Q)SPI NOR flash chip. + +Finally, Mbed OS implements the retargeting layer and boot process integration +of each supported toolchain, so application development feels similar to C or +C++ development for any other operating system. + +# Bluetooth and IP stacks + +In the Mbed-oS platform applications, the Bluetooth LE interface is used to +perform pairing and Wi-Fi network provisioning operations between the Matter +device and the Matter controller. Afterwards, the fully provisioned device is +able to communicate with other devices inside the Wi-Fi network. + +For the Bluetooth LE communication purposes, the Mbed-OS platform application is +using +[ARM Mbed BLE](https://os.mbed.com/docs/mbed-os/latest/apis/bluetooth-apis.html) +(also called BLE_API) - Bluetooth Low Energy software solution which interfaces +with the BLE controller on the hardware target. Arm Mbed BLE hides the BLE +stack’s complexity behind C++ abstractions and is compatible with all +BLE-enabled Mbed board. The Mbed OS BLE_API automatically configuring the +clocks, timers and other hardware peripherals to work at their lowest power +consumption. + +For Wi-FI communication purposes, the Mbed-OS application is using the internal +Mbed LWIP stack and Mbed Socket API together. To integrate it with Matter +network layer, special glue socket layer has been introduced to take care of +adapting the Mbed socket to BSD interface which is used inside the Matter +endpoints implementation. + +## Matter integration + +The Bluetooth LE and Wi-Fi used stacks provided by the Mbed-OS have been +integrated with the Matter stack using a special intermediate layer. + +This layer contains platform-specific implementations of abstract manager +interfaces defined in the Matter stack. The application is able to use Matter's +platform agnostic interfaces and no additional platform-related actions are +needed to perform communication through the Matter stack. + +# Matter example applications + +Sample Matter applications are provided for the Mbed OS platform. They can be +used to speed up development: + +- [shell](../../examples/shell/mbed) +- [all-clusters-app](../../examples/all-clusters-app/mbed) +- [lock-app](../../examples/lock-app/mbed/README.md) +- [lighting-app](../../examples/lighting-app/mbed/README.md) +- [pigweed-app](../../examples/pigweed-app/mbed/README.md) + +## Example configuration + +Each of the supporting examples contains the `config.in` file which allows you +to configure the application in a proper way. You can define/disable/enable +application settings. Then they are propagated through Mbed-OS and Matter stack +build systems. + +## Matter stack configuration + +In each of supported examples, the Matter stack can be configured by modifying +`CHIPProjectConfig.h` file which is placed inside the project directory. + +## Mbed-OS configuration + +Mbed-OS gives possibility to tweak its parameters by using the +[Mbed-OS configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html). +The same configuration system can be used to change default hardware target +setup used in application. Additionally, it is the first place for adding +support of the new hardware target support into the application. Mbed-OS +configuration system can be accessed by modifying the `mbed_app.json` file which +exists in each sample project directory. + +## Build system + +The Mbed-OS platform makes use of the following build systems to generate ninja +build scripts: + +- GN - Used by the Matter project in majority of cases. +- CMake (+ mbed-tools) - Used by the Mbed-OS user application and other + components within Mbed ecosystem. + +Matter's stack and platform modules are built with GN and output a library file. +The application, Mbed-OS and target specific libraries are built with CMake and +the Matter library file is imported during the compilation process. + +## Build profiles + +Arm Mbed OS defines three collections of toolchain flags used during the build: + +- develop +- release +- debug + +Build profiles can be easy selected when building example application using +either vscode task or its associated build script directly +([mbed_examples.sh](../../scripts/examples/mbed_example.sh)). + +For more details about each of this profiles, please visit official +[ARM Mbed documentation](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). diff --git a/examples/all-clusters-app/mbed/README.md b/examples/all-clusters-app/mbed/README.md new file mode 100644 index 00000000000000..45224ea31ecd8b --- /dev/null +++ b/examples/all-clusters-app/mbed/README.md @@ -0,0 +1,253 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS All Clusters Example Application

+ +The Arm Mbed OS All Clusters Example demonstrates device commissioning process +and all available clusters control. + +You can use this example as a reference for creating your own application. + +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Arm Mbed OS, and +supports remote access and control of device over a WiFi network. + +The example behaves as a Matter accessory, in other words a device that can be +paired into an existing Matter network and can be controlled by this network. + +
+ +- [Overview](#overview) + - [Bluetooth Low Energy advertising](#bluetooth-low-energy-advertising) + - [Bluetooth Low Energy rendezvous](#bluetooth-low-energy-rendezvous) + - [WiFi provisioning](#wifi-provisioning) +- [Run application](#run-application) + - [Environment setup](#environment-setup) + - [Building](#building) + - [Flashing](#flashing) + - [Debugging](#debugging) + - [Testing](#testing) + - [Serial port terminal](#serial-port-terminal) + - [CHIP Tools](#chip-tools) + - [Supported devices](#supported-devices) + - [Notes](#notes) +- [Device UI](#device-ui) + - [Notes](#notes-1) + +
+ +# Overview + +The Matter device that runs the All Clusters application is controlled by the +Matter controller device over WiFi. By default, the Matter device is +disconnected, and it should be paired with Matter controller and get +configuration from it. Actions required before establishing full communication +are described below. + +## Bluetooth Low Energy advertising + +To commission the device onto a Matter network, the device must be discoverable +over BLE. The BLE advertising starts automatically after device boot-up. + +## Bluetooth Low Energy rendezvous + +In Matter, the commissioning procedure (called rendezvous) is done over BLE +between a Matter device and the Matter controller, where the controller has the +commissioner role. + +To start the rendezvous, the controller must get the commissioning information +from the Matter device. The data payload is encoded within a QR code, printed to +the UART console. + +## WiFi provisioning + +The last part of the rendezvous procedure, provisioning involves sending the +network credentials from the Matter controller to the Matter device. As a +result, device is able to join the network and communicate with other devices in +the network. + +# Run application + +## Environment setup + +Before building the example, check out the Matter repository and sync submodules +using the following command: + + $ git submodule update --init + +Building the example application requires the use of **ARM Mbed-OS** sources and +the **arm-none-gnu-eabi** toolchain. The OpenOCD package is used for flashing +purpose.
Some additional packages may be needed, depending on selected +build target and its requirements. + +> **The VSCode devcontainer has these components pre-installed. Using the VSCode +> devcontainer is the recommended way to interact with Arm Mbed-OS port of the +> Matter Project.** +> +> **Please read this [README.md](../../..//docs/VSCODE_DEVELOPMENT.md) for more +> information about using VSCode in container.** + +To initialize the development environment, download all registered sub-modules +and activate the environment: + +``` +$ source ./scripts/bootstrap.sh +$ source ./scripts/activate.sh +``` + +If packages are already installed then you just need to activate the development +environment: + +``` +$ source ./scripts/activate.sh +``` + +## Building + +The All Clusters application can be built in the same way as any other Matter +example ported to the mbed-os platform. + +- **by using generic vscode task**: + +``` +Command Palette (F1) => Run Task... => Run Mbed Application => build => all-clusters-app => (board name) => (build profile)` +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=build -a=all-clusters-app -b= -p= +``` + +Both approaches are limited to supported evaluation boards which are listed in +[Supported devices](#supported_devices) paragraph. + +Mbed OS defines three building profiles: _develop, debug_ and _release_. For +more details please visit +[ARM Mbed OS build profiles](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). + +When using the building script, it is possible expand the list of acceptable +targets; this may be useful for rapid testing of a new mbed-targets. + +## Flashing + +The All Clusters application can be flashed in the same way as any other Matter +example ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to upload a binary +image and reset the device. + +- **by using VSCode task**: + +``` +Command Palette (F1) => Run Task... -> Run Mbed Application => flash => all-clusters-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=flash -a=all-clusters-app -b= -p= +``` + +- **by using VSCode launch task**: + +``` +Run and Debug (Ctrl+Shift+D) => Flash Mbed examples => Start Debugging (F5) => (board name) => all-clusters-app => (build profile) +``` + +The last option uses the Open On-Chip Debugger to open and manage the gdb-server +session. Then gdb-client (arm-none-eabi-gdb) upload binary image and reset +device. + +It is possible to connect to an external gdb-server session by using a specific +**'Flash Mbed examples [remote]'** task. + +## Debugging + +Debugging can be performed in the same was as with any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to to open and manage +the gdb-server session. Then gdb-client (arm-none-eabi-gdb) connect the server +to upload binary image and control debugging. + +``` +Run and Debug (Ctrl+Shift+D) => Debug Mbed examples => Start Debugging (F5) => (board name) => all-clusters-app => (build profile) +``` + +It is possible to connect to an external gdb-server session by using specific +**'Debug Mbed examples [remote]'** task. + +## Testing + +### Serial port terminal + +The application traces are streaming to serial output. To start communication +open a terminal session and connect to the serial port of the device. You can +use **mbed-tools** for this purpose +([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +After device reset these lines should be visible: + + [INFO][CHIP]: [-]Mbed all-clusters-app example application start + ... + [INFO][CHIP]: [-]Mbed all-clusters-app example application run + +The all-clusters-app application launched correctly and you can follow traces in +the terminal. + +### CHIP Tools + +Read the [MbedCommissioning](../../../docs/guides/mbedos_commissioning.md) to +see how to use different CHIP tools to commission and control the application +within a WiFi network. + +## Supported devices + +| Manufacturer | Hardware platform | Build target | Platform image | Status | Platform components | +| ----------------------------------------------------- | ------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Cypress
Semiconductor](https://www.cypress.com/) | [CY8CPROTO-062-4343W](https://os.mbed.com/platforms/CY8CPROTO-062-4343W/) | `CY8CPROTO_062_4343W` |
CY8CPROTO-062-4343WCY8CPROTO-062-4343W
| :heavy_check_mark: |
LEDs
  • Board has only one usable LED (LED4) which corresponds to USER LED from UI.
Buttons
  • Unused
Slider
  • Unused
| + +#### Notes + +- More details and guidelines about porting new hardware into the Matter + project with Mbed OS can be found in + [MbedNewTarget](../../../docs/guides/mbedos_add_new_target.md) +- Some useful information about HW platform specific settings can be found in + `all-clusters-app/mbed/mbed_app.json`. + Information about this file syntax and its meaning in mbed-os project can be + found here: + [Mbed-Os configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html)) + +# Device UI + +This section lists the User Interface elements that you can use to control and +monitor the state of the device. These correspond to PCB components on the +platform image. + +**USER LED** shows the overall state of the device and its connectivity. The +following states are possible: + +- _Short Flash On (50 ms on/950 ms off)_ — The device is in the + unprovisioned (unpaired) state and is waiting for a commissioning + application to connect. + +- _Rapid Even Flashing (100 ms on/100 ms off)_ — The device is in the + unprovisioned state and a commissioning application is connected through + Bluetooth LE. + +- _Short Flash Off (950ms on/50ms off)_ — The device is fully + provisioned, but does not yet have full network or service connectivity. + +- _Solid On_ — The device is fully provisioned and has full network and + service connectivity. + +### Notes + +Some of the supported boards may not have sufficient number PCB components to +follow above description. In that case please refer to +[Supported devices](#Supported-devices) section and check board's 'Platform +components' column for additional information about the limitation. diff --git a/examples/lighting-app/mbed/README.md b/examples/lighting-app/mbed/README.md new file mode 100644 index 00000000000000..768e62aa9f3aec --- /dev/null +++ b/examples/lighting-app/mbed/README.md @@ -0,0 +1,343 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS Lighting Example Application

+ +The Arm Mbed OS Lighting Example demonstrates how to remotely control a dimmable +white light source. The example takes advantage of the IO available on board: + +- A button press turns the light on or off. +- Intensity can be displayed and changed depending on the target IO (PWM + output, slider). + +You can use this example as a reference for creating your own application. + +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Arm Mbed OS, and +supports remote access and control of lighting over a WiFi network. + +The example behaves as a Matter accessory, in other words a device that can be +paired into an existing Matter network and can be controlled by this network. + +Pigweed functionalities are also integrated into this application. The Remote +Procedure Call (RPC) server is created. It allows sending commands through the +serial port to the device. The following RPC protocols services are available: + +- **Device** - perform basic operations on device: reboot, factory reset, + software update or get basic device information +- **Button** - trigger specific button event (push/release) +- **Lighting** - set/get lighting state (on/off/brightness level) + +
+ +- [Overview](#overview) + - [Bluetooth Low Energy advertising](#bluetooth-low-energy-advertising) + - [Bluetooth Low Energy rendezvous](#bluetooth-low-energy-rendezvous) + - [WiFi provisioning](#wifi-provisioning) +- [Run application](#run-application) + - [Environment setup](#environment-setup) + - [Building](#building) + - [Flashing](#flashing) + - [Debugging](#debugging) + - [Testing](#testing) + - [Serial port terminal](#serial-port-terminal) + - [CHIP Tools](#chip-tools) + - [RPC console](#rpc-console) + - [Supported devices](#supported-devices) + - [Notes](#notes) +- [Device UI](#device-ui) + - [Notes](#notes-1) + +
+ +# Overview + +The Matter device that runs the lighting application is controlled by the Matter +controller device over WiFi. By default, the Matter device is disconnected , and +it should be paired with Matter controller and get configuration from it. +Actions required before establishing full communication are described below. + +## Bluetooth Low Energy advertising + +To commission the device onto a Matter network, the device must be discoverable +over BLE. The BLE advertising starts automatically after device boot-up. + +## Bluetooth Low Energy rendezvous + +In Matter, the commissioning procedure (called rendezvous) is done over BLE +between a Matter device and the Matter controller, where the controller has the +commissioner role. + +To start the rendezvous, the controller must get the commissioning information +from the Matter device. The data payload is encoded within a QR code, printed to +the UART console. + +## WiFi provisioning + +The last part of the rendezvous procedure, provisioning involves sending the +network credentials from the Matter controller to the Matter device. As a +result, device is able to join the network and communicate with other devices in +the network. + +# Run application + +## Environment setup + +Before building the example, check out the Matter repository and sync submodules +using the following command: + + $ git submodule update --init + +Building the example application requires the use of **ARM Mbed-OS** sources and +the **arm-none-gnu-eabi** toolchain. The OpenOCD package is used for flashing +purpose.
Some additional packages may be needed, depending on selected +build target and its requirements. + +> **The VSCode devcontainer has these components pre-installed. Using the VSCode +> devcontainer is the recommended way to interact with Arm Mbed-OS port of the +> Matter Project.** +> +> **Please read this [README.md](../../..//docs/VSCODE_DEVELOPMENT.md) for more +> information about using VSCode in container.** + +To initialize the development environment, download all registered sub-modules +and activate the environment: + +``` +$ source ./scripts/bootstrap.sh +$ source ./scripts/activate.sh +``` + +If packages are already installed then you just need to activate the development +environment: + +``` +$ source ./scripts/activate.sh +``` + +## Building + +The Lighting application can be built in the same way as any other Matter +example ported to the mbed-os platform. + +- **by using generic vscode task**: + +``` +Command Palette (F1) => Run Task... => Run Mbed Application => build => lighting-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=build -a=lighting-app -b= -p= +``` + +Both approaches are limited to supported evaluation boards which are listed in +[Supported devices](#supported_devices) paragraph. + +Mbed OS defines three building profiles: _develop, debug_ and _release_. For +more details please visit +[ARM Mbed OS build profiles](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). + +When using the building script, it is possible expand the list of acceptable +targets; this may be useful for rapid testing of a new mbed-targets. + +## Flashing + +The Lighting application can be flashed in the same way as any other Matter +example ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to upload a binary +image and reset the device. + +- **by using VSCode task**: + +``` +Command Palette (F1) => Run Task... -> Run Mbed Application => flash => lighting-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=flash -a=lighting-app -b= -p= +``` + +- **by using VSCode launch task**: + +``` +Run and Debug (Ctrl+Shift+D) => Flash Mbed examples => Start Debugging (F5) => (board name) => lighting-app => (build profile) +``` + +The last option uses the Open On-Chip Debugger to open and manage the gdb-server +session. Then gdb-client (arm-none-eabi-gdb) upload binary image and reset +device. + +It is possible to connect to an external gdb-server session by using specific +**'Flash Mbed examples [remote]'** task. + +## Debugging + +Debugging can be performed in the same was as with any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to to open and manage +the gdb-server session. Then gdb-client (arm-none-eabi-gdb) connect the server +to upload binary image and control debugging. + +``` +Run and Debug (Ctrl+Shift+D) => Debug Mbed examples => Start Debugging (F5) => (board name) => lighting-app => (build profile) +``` + +It is possible to connect to an external gdb-server session by using specific +**'Debug Mbed examples [remote]'** task. + +## Testing + +### Serial port terminal + +The application traces are streaming to serial output. To start communication +open a terminal session and connect to the serial port of the device. You can +use **mbed-tools** for this purpose +([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +After device reset these lines should be visible: + + [INFO][CHIP]: [-]Mbed lighting-app example application start + ... + [INFO][CHIP]: [-]Mbed lighting-app example application run + +The lighting-app application launched correctly and you can follow traces in the +terminal. + +### CHIP Tools + +Read the [MbedCommissioning](../../../docs/guides/mbedos_commissioning.md) to +see how to use different CHIP tools to commission and control the application +within a WiFi network. + +### RPC console + +The RPC console is an interactive Python shell console, where the different RPC +command can be invoked. It is a complete solution for interacting with hardware +devices using pw_rpc over a pw_hdlc transport. For more details about Pigweed +modules visit [Pigweed modules](https://pigweed.dev/module_guides.html). + +**

Building and installing

** + +To build and install the RPC console check the guide +[CHIP RPC console](../../common/pigweed/rpc_console/README.md). + +**

Run

** + +To start the RPC console run the following command and provide device connection +parameters as arguments: + +- --device/-d the serial port to use. +- --baudrate/-b the baud rate to use. +- --output/-o the file to which to write device output (HDLC channel 1), + provide - or omit for stdout. +- --socket-addr/-s alternatively use socket to connect to server, type default + for localhost:33000, or manually input the server address:port. + +Example: + + python -m chip_rpc.console -d /dev/ttyUSB0 -b 115200 -o /tmp/pw_rpc.out + +To control the lighting type the following command, where you define if 'on' +state is true or false: + + In [1]: rpcs.chip.rpc.Lighting.Set(on=True) + +The response from the device should be: + + Out[1]: (Status.OK, pw.protobuf.Empty()) + +To check the lighting state type the following command: + + In [1]: rpcs.chip.rpc.Lighting.Get() + +The response from the device should contain the current lighting state: + + Out[1]: Status.OK, chip.rpc.LightingState(on=True)) + +For more details about RPC console and supported services visit +[CHIP RPC console](../../common/pigweed/rpc_console/README.md). + +## Supported devices + +The example supports building and running on the following mbed-enabled devices: + +| Manufacturer | Hardware platform | Build target | Platform image | Status | Platform components | +| ----------------------------------------------------- | ------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Cypress
Semiconductor](https://www.cypress.com/) | [CY8CPROTO-062-4343W](https://os.mbed.com/platforms/CY8CPROTO-062-4343W/) | `CY8CPROTO_062_4343W` |
CY8CPROTO-062-4343WCY8CPROTO-062-4343W
| :heavy_check_mark: |
LEDs
  • Board has only one usable LED (LED4) which corresponds to USER LED from UI.
  • Lighting LED should be an external component connected to PB9_6 pin (active high).
Buttons
  • SW2 push-button is not used in this example due to its interaction with WIFI module interrupt line.
  • Button 0 corresponds to BTN0 capacitive button.
  • Button 1 corresponds to BTN1 capacitive button.
Slider
  • The board's touch slider corresponds to UI slider
| + +#### Notes + +- More details and guidelines about porting new hardware into the Matter + project with Mbed OS can be found in + [MbedNewTarget](../../../docs/guides/mbedos_add_new_target.md) +- Some useful information about HW platform specific settings can be found in + `lighting-app/mbed/mbed_app.json`. + Information about this file syntax and its meaning in mbed-os project can be + found here: + [Mbed-Os configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html)) + +# Device UI + +This section lists the User Interface elements that you can use to control and +monitor the state of the device. These correspond to PCB components on the +platform image. + +**USER LED** shows the overall state of the device and its connectivity. The +following states are possible: + +- _Short Flash On (50 ms on/950 ms off)_ — The device is in the + unprovisioned (unpaired) state and is waiting for a commissioning + application to connect. + +- _Rapid Even Flashing (100 ms on/100 ms off)_ — The device is in the + unprovisioned state and a commissioning application is connected through + Bluetooth LE. + +- _Short Flash Off (950ms on/50ms off)_ — The device is fully + provisioned, but does not yet have full network or service connectivity. + +- _Solid On_ — The device is fully provisioned and has full network and + service connectivity. + +**Lighting LED** simulates the light bulb and shows the state of the lighting. +The following states are possible: + +- _Solid On_ — The light bulb is on. + +- _Off_ — The light bulb is off. + +- _PWM_ — The light bulb is dimmed according to PWM. + +**Button 0** can be used for the following purposes: + +- _Pressed for 6 s_ — Initiates the factory reset of the device. + Releasing the button within the 6-second window cancels the factory reset + procedure. **LEDs 1-4** blink in unison when the factory reset procedure is + initiated. + +- _Pressed for less than 3 s_ — Initiates the OTA software update + process. This feature is not currently supported. + +**Button 1** — Pressing the button once changes the lighting state to the +opposite one. + +**Slider** — This touch control allows you to change PWM and therefore the +dimming lighting state from the OFF state to maximum brightness corresponding to +ON state. Currently the dimming resolution is set from 0-255 to satisfy ZCL 8 +bit commands argument for lighting cluster. + +### Notes + +Some of the supported boards may not have sufficient number PCB components to +follow above description. In that case please refer to +[Supported devices](#Supported-devices) section and check board's 'Platform +components' column for additional information about the limitation. diff --git a/examples/lock-app/mbed/README.md b/examples/lock-app/mbed/README.md new file mode 100644 index 00000000000000..ca1b085a0815b2 --- /dev/null +++ b/examples/lock-app/mbed/README.md @@ -0,0 +1,324 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS Lock Example Application

+ +The Arm Mbed OS Lock Example demonstrates how to remotely control a door lock +device with one basic bolt. The example takes advantage of the IO available on +board: + +- A button press close or open the lock. +- A LED shows the lock state. + +You can use this example as a reference for creating your own application. + +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Arm Mbed OS, and +supports remote access and control of lock over a WiFi network. + +The example behaves as a Matter accessory, in other words a device that can be +paired into an existing Matter network and can be controlled by this network. + +
+ +- [Overview](#overview) + - [Bluetooth Low Energy advertising](#bluetooth-low-energy-advertising) + - [Bluetooth Low Energy rendezvous](#bluetooth-low-energy-rendezvous) + - [WiFi provisioning](#wifi-provisioning) +- [Run application](#run-application) + - [Environment setup](#environment-setup) + - [Building](#building) + - [Flashing](#flashing) + - [Debugging](#debugging) + - [Testing](#testing) + - [Serial port terminal](#serial-port-terminal) + - [CHIP Tools](#chip-tools) + - [RPC console](#rpc-console) + - [Supported devices](#supported-devices) + - [Notes](#notes) + - [Device UI](#device-ui) + +
+ +# Overview + +The Matter device that runs the lock application is controlled by the Matter +controller device over WiFi. By default, the Matter device is disconnected , and +it should be paired with Matter controller and get configuration from it. +Actions required before establishing full communication are described below. + +## Bluetooth Low Energy advertising + +To commission the device onto a Matter network, the device must be discoverable +over BLE. The BLE advertising starts automatically after device boot-up. + +## Bluetooth Low Energy rendezvous + +In Matter, the commissioning procedure (called rendezvous) is done over BLE +between a Matter device and the Matter controller, where the controller has the +commissioner role. + +To start the rendezvous, the controller must get the commissioning information +from the Matter device. The data payload is encoded within a QR code, printed to +the UART console. + +## WiFi provisioning + +The last part of the rendezvous procedure, provisioning involves sending the +network credentials from the Matter controller to the Matter device. As a +result, device is able to join the network and communicate with other devices in +the network. + +# Run application + +## Environment setup + +Before building the example, check out the Matter repository and sync submodules +using the following command: + + $ git submodule update --init + +Building the example application requires the use of **ARM Mbed-OS** sources and +the **arm-none-gnu-eabi** toolchain. The OpenOCD package is used for flashing +purpose.
Some additional packages may be needed, depending on selected +build target and its requirements. + +> **The VSCode devcontainer has these components pre-installed. Using the VSCode +> devcontainer is the recommended way to interact with Arm Mbed-OS port of the +> Matter Project.** +> +> **Please read this [README.md](../../..//docs/VSCODE_DEVELOPMENT.md) for more +> information about using VSCode in container.** + +To initialize the development environment, download all registered sub-modules +and activate the environment: + +``` +$ source ./scripts/bootstrap.sh +$ source ./scripts/activate.sh +``` + +If packages are already installed then you just need to activate the development +environment: + +``` +$ source ./scripts/activate.sh +``` + +## Building + +The Lock application can be built in the same way as any other Matter example +ported to the mbed-os platform. + +- **by using generic vscode task**: + +``` +Command Palette (F1) => Run Task... => Run Mbed Application => build => lock-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=build -a=lock-app -b= -p= +``` + +Both approaches are limited to supported evaluation boards which are listed in +[Supported devices](#supported_devices) paragraph. + +Mbed OS defines three building profiles: _develop, debug_ and _release_. For +more details please visit +[ARM Mbed OS build profiles](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). + +When using the building script, it is possible expand the list of acceptable +targets; this may be useful for rapid testing of a new mbed-targets. + +## Flashing + +The Lock application can be flashed in the same way as any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to upload a binary +image and reset the device. + +- **by using VSCode task**: + +``` +Command Palette (F1) => Run Task... -> Run Mbed Application => flash => lock-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=flash -a=lock-app -b= -p= +``` + +- **by using VSCode launch task**: + +``` +Run and Debug (Ctrl+Shift+D) => Flash Mbed examples => Start Debugging (F5) => (board name) => lock-app => (build profile) +``` + +The last option uses the Open On-Chip Debugger to open and manage the gdb-server +session. Then gdb-client (arm-none-eabi-gdb) upload binary image and reset +device. + +It is possible to connect to an external gdb-server session by using specific +**'Flash Mbed examples [remote]'** task. + +## Debugging + +Debugging can be performed in the same was as with any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to to open and manage +the gdb-server session. Then gdb-client (arm-none-eabi-gdb) connect the server +to upload binary image and control debugging. + +``` +Run and Debug (Ctrl+Shift+D) => Debug Mbed examples => Start Debugging (F5) => (board name) => lock-app => (build profile) +``` + +It is possible to connect to an external gdb-server session by using specific +**'Debug Mbed examples [remote]'** task. + +## Testing + +### Serial port terminal + +The application traces are streaming to serial output. To start communication +open a terminal session and connect to the serial port of the device. You can +use **mbed-tools** for this purpose +([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +After device reset these lines should be visible: + + [INFO][CHIP]: [-]Mbed lock-app example application start + ... + [INFO][CHIP]: [-]Mbed lock-app example application run + +The lock-app application launched correctly and you can follow traces in the +terminal. + +### CHIP Tools + +Read the [MbedCommissioning](../../../docs/guides/mbedos_commissioning.md) to +see how to use different CHIP tools to commission and control the application +within a WiFi network. + +### RPC console + +The RPC console is an interactive Python shell console, where the different RPC +command can be invoked. It is a complete solution for interacting with hardware +devices using pw_rpc over a pw_hdlc transport. For more details about Pigweed +modules visit [Pigweed modules](https://pigweed.dev/module_guides.html). + +**

Building and installing

** + +To build and install the RPC console check the guide +[CHIP RPC console](../../common/pigweed/rpc_console/README.md). + +**

Run

** + +To start the RPC console run the following command and provide device connection +parameters as arguments: + +- --device/-d the serial port to use. +- --baudrate/-b the baud rate to use. +- --output/-o the file to which to write device output (HDLC channel 1), + provide - or omit for stdout. +- --socket-addr/-s alternatively use socket to connect to server, type default + for localhost:33000, or manually input the server address:port. + +Example: + + python -m chip_rpc.console -d /dev/ttyUSB0 -b 115200 -o /tmp/pw_rpc.out + +To control the lock type the following command, where you define if 'on' state +is true or false: + + In [1]: rpcs.chip.rpc.Locking.Set(locked=True) + +The response from the device should be: + + Out[1]: (Status.OK, pw.protobuf.Empty()) + +To check the lock state type the following command: + + In [1]: rpcs.chip.rpc.Locking.Get() + +The response from the device should contain the current lock state: + + Out[1]: Status.OK, chip.rpc.LockingState(locked=True)) + +For more details about RPC console and supported services visit +[CHIP RPC console](../../common/pigweed/rpc_console/README.md). + +## Supported devices + +The example supports building and running on the following mbed-enabled devices: + +| Manufacturer | Hardware platform | Build target | Platform image | Status | Platform components | +| ----------------------------------------------------- | ------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Cypress
Semiconductor](https://www.cypress.com/) | [CY8CPROTO-062-4343W](https://os.mbed.com/platforms/CY8CPROTO-062-4343W/) | `CY8CPROTO_062_4343W` |
CY8CPROTO-062-4343WCY8CPROTO-062-4343W
| :heavy_check_mark: |
LEDs
  • Board has only one usable LED (LED4) which corresponds to USER LED from UI.
  • Lock state LED should be an external component connected to PB9_6 pin (active high).
Buttons
  • SW2 push-button is not used in this example due to its interaction with WIFI module interrupt line.
  • Button 0 corresponds to BTN0 capacitive button.
  • Button 1 corresponds to BTN1 capacitive button.
Slider
  • Unused
| + +#### Notes + +- More details and guidelines about porting new hardware into the Matter + project with Mbed OS can be found in + [MbedNewTarget](../../../docs/guides/mbedos_add_new_target.md) +- Some useful information about HW platform specific settings can be found in + `lock-app/mbed/mbed_app.json`. + Information about this file syntax and its meaning in mbed-os project can be + found here: + [Mbed-Os configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html)) + +## Device UI + +This section lists the User Interface elements that you can use to control and +monitor the state of the device. These correspond to PCB components on the +platform image. + +**USER LED** shows the overall state of the device and its connectivity. The +following states are possible: + +- _Short Flash On (50 ms on/950 ms off)_ — The device is in the + unprovisioned (unpaired) state and is waiting for a commissioning + application to connect. + +- _Rapid Even Flashing (100 ms on/100 ms off)_ — The device is in the + unprovisioned state and a commissioning application is connected through + Bluetooth LE. + +- _Short Flash Off (950ms on/50ms off)_ — The device is fully + provisioned, but does not yet have full network or service connectivity. + +- _Solid On_ — The device is fully provisioned and has full network and + service connectivity. + +**Lock state LED** shows the state of the lock. The following states are +possible: + +- _Solid On_ — The lock is closed. + +- _Off_ — The lock is open. + +**Button 0** can be used for the following purposes: + +- _Pressed for 6 s_ — Initiates the factory reset of the device. + Releasing the button within the 6-second window cancels the factory reset + procedure. **LEDs 1-4** blink in unison when the factory reset procedure is + initiated. + +- _Pressed for less than 3 s_ — Initiates the OTA software update + process. This feature is not currently supported. + +**Button 1** — Pressing the button once changes the lock state to the +opposite one. + +Some of the supported boards may not have sufficient number PCB components to +follow above description. In that case please refer to +[Supported devices](#Supported-devices) section and check board's 'Platform +components' column for additional information about the limitation. diff --git a/examples/pigweed-app/mbed/README.md b/examples/pigweed-app/mbed/README.md new file mode 100644 index 00000000000000..bb72edd0258ac0 --- /dev/null +++ b/examples/pigweed-app/mbed/README.md @@ -0,0 +1,255 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS Pigweed Example Application

+ +The Arm Mbed OS Pigweed Example demonstrates the usage of Pigweed module +functionalities in an application. + +You can use this example as a reference for creating your own application. + +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Arm Mbed OS, and +supports remote access and control of device over a serial port. + +Pigweed functionalities are integrated into this application. The Remote +Procedure Call (RPC) server is created. It allows sending commands through the +serial port to the device. The following RPC protocols services are available: + +- **Echo** - receive message and send the same payload back + +
+ +- [Overview](#overview) +- [Run application](#run-application) + - [Environment setup](#environment-setup) + - [Building](#building) + - [Flashing](#flashing) + - [Debugging](#debugging) + - [Testing](#testing) + - [Serial port terminal](#serial-port-terminal) + - [RPC console](#rpc-console) + - [Supported devices](#supported-devices) + - [Notes](#notes) +- [Device UI](#device-ui) + - [Notes](#notes-1) + +
+ +# Overview + +Pigweed libraries are built and organized in a way that enables faster and more +reliable development. In the Matter project, the Pigweed module is planned to be +used to create system infrastructures, for example for performing on-device +tests, but considering its general functionalities, it can be useful also in +other cases. + +# Run application + +## Environment setup + +Before building the example, check out the Matter repository and sync submodules +using the following command: + + $ git submodule update --init + +Building the example application requires the use of **ARM Mbed-OS** sources and +the **arm-none-gnu-eabi** toolchain. The OpenOCD package is used for flashing +purpose.
Some additional packages may be needed, depending on selected +build target and its requirements. + +> **The VSCode devcontainer has these components pre-installed. Using the VSCode +> devcontainer is the recommended way to interact with Arm Mbed-OS port of the +> Matter Project.** +> +> **Please read this [README.md](../../..//docs/VSCODE_DEVELOPMENT.md) for more +> information about using VSCode in container.** + +To initialize the development environment, download all registered sub-modules +and activate the environment: + +``` +$ source ./scripts/bootstrap.sh +$ source ./scripts/activate.sh +``` + +If packages are already installed then you just need to activate the development +environment: + +``` +$ source ./scripts/activate.sh +``` + +## Building + +The Pigweed application can be built in the same way as any other Matter example +ported to the mbed-os platform. + +- **by using generic vscode task**: + +``` +Command Palette (F1) => Run Task... => Run Mbed Application => build => pigweed-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=build -a=pigweed-app -b= -p= +``` + +Both approaches are limited to supported evaluation boards which are listed in +[Supported devices](#supported_devices) paragraph. + +Mbed OS defines three building profiles: _develop, debug_ and _release_. For +more details please visit +[ARM Mbed OS build profiles](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). + +When using the building script, it is possible expand the list of acceptable +targets; this may be useful for rapid testing of a new mbed-targets. + +## Flashing + +The Pigweed application can be flashed in the same way as any other Matter +example ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to upload a binary +image and reset the device. + +- **by using VSCode task**: + +``` +Command Palette (F1) => Run Task... -> Run Mbed Application => flash => pigweed-app => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=flash -a=pigweed-app -b= -p= +``` + +- **by using VSCode launch task**: + +``` +Run and Debug (Ctrl+Shift+D) => Flash Mbed examples => Start Debugging (F5) => (board name) => pigweed-app => (build profile) +``` + +The last option uses the Open On-Chip Debugger to open and manage the gdb-server +session. Then gdb-client (arm-none-eabi-gdb) upload binary image and reset +device. + +It is possible to connect to an external gdb-server session by using specific +**'Flash Mbed examples [remote]'** task. + +## Debugging + +Debugging can be performed in the same was as with any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to to open and manage +the gdb-server session. Then gdb-client (arm-none-eabi-gdb) connect the server +to upload binary image and control debugging. + +``` +Run and Debug (Ctrl+Shift+D) => Debug Mbed examples => Start Debugging (F5) => (board name) => pigweed-app => (build profile) +``` + +It is possible to connect to an external gdb-server session by using specific +**'Debug Mbed examples [remote]'** task. + +## Testing + +### Serial port terminal + +The application traces are streaming to serial output. To start communication +open a terminal session and connect to the serial port of the device. You can +use **mbed-tools** for this purpose +([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +After device reset these lines should be visible: + + [INFO][CHIP]: [-]Mbed pigweed-app example application start + ... + [INFO][CHIP]: [-]Mbed pigweed-app example application run + +The pigweed-app application launched correctly and you can follow traces in the +terminal. + +### RPC console + +The RPC console is an interactive Python shell console, where the different RPC +command can be invoked. It is a complete solution for interacting with hardware +devices using pw_rpc over a pw_hdlc transport. For more details about Pigweed +modules visit [Pigweed modules](https://pigweed.dev/module_guides.html). + +**

Building and installing

** + +To build and install the RPC console check the guide +[CHIP RPC console](../../common/pigweed/rpc_console/README.md). + +**

Run

** + +To start the RPC console run the following command and provide device connection +parameters as arguments: + +- --device/-d the serial port to use. +- --baudrate/-b the baud rate to use. +- --output/-o the file to which to write device output (HDLC channel 1), + provide - or omit for stdout. +- --socket-addr/-s alternatively use socket to connect to server, type default + for localhost:33000, or manually input the server address:port. + +Example: + + python -m chip_rpc.console -d /dev/ttyUSB0 -b 115200 -o /tmp/pw_rpc.out + +To send the echo message type the following command, where you define the +message content: + + In [1]: rpcs.pw.rpc.EchoService.Echo(msg="Hello device") + +The response from the device should be: + + Out[1]: (Status.OK, pw.rpc.EchoMessage(msg="Hello device")) + +For more details about RPC console and supported services visit +[CHIP RPC console](../../common/pigweed/rpc_console/README.md). + +## Supported devices + +The example supports building and running on the following mbed-enabled devices: + +| Manufacturer | Hardware platform | Build target | Platform image | Status | Platform components | +| ----------------------------------------------------- | ------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Cypress
Semiconductor](https://www.cypress.com/) | [CY8CPROTO-062-4343W](https://os.mbed.com/platforms/CY8CPROTO-062-4343W/) | `CY8CPROTO_062_4343W` |
CY8CPROTO-062-4343WCY8CPROTO-062-4343W
| :heavy_check_mark: |
LEDs
  • Board has only one usable LED (LED4) which corresponds to USER LED from UI.
Buttons
  • Unused
Slider
  • Unused
| + +#### Notes + +- More details and guidelines about porting new hardware into the Matter + project with Mbed OS can be found in + [MbedNewTarget](../../../docs/guides/mbedos_add_new_target.md) +- Some useful information about HW platform specific settings can be found in + `pigweed-app/mbed/mbed_app.json`. + Information about this file syntax and its meaning in mbed-os project can be + found here: + [Mbed-Os configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html)) + +# Device UI + +This section lists the User Interface elements that you can use to control and +monitor the state of the device. These correspond to PCB components on the +platform image. + +**USER LED** shows the overall state of the device. The following states are +possible: + +- _Solid On_ — The application was flashed and run successfully. + +### Notes + +Some of the supported boards may not have sufficient number PCB components to +follow above description. In that case please refer to +[Supported devices](#Supported-devices) section and check board's 'Platform +components' column for additional information about the limitation. diff --git a/examples/shell/mbed/README.md b/examples/shell/mbed/README.md new file mode 100644 index 00000000000000..2bec23d6abb52f --- /dev/null +++ b/examples/shell/mbed/README.md @@ -0,0 +1,203 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS Shell Example Application

+ +The Arm Mbed OS Shell Example exposes configuration and management APIs via a +command line interface (CLI). Use the shell CLI to experiment with Matter +interactively, which can also be used with additional application code. + +You can use this example as a reference for creating your own application. + +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Arm Mbed OS, and +supports remote access and control of device over serial port. + +
+ +- [Overview](#overview) +- [Run application](#run-application) + - [Environment setup](#environment-setup) + - [Building](#building) + - [Flashing](#flashing) + - [Debugging](#debugging) + - [Testing](#testing) + - [Serial port terminal](#serial-port-terminal) + - [Supported devices](#supported-devices) + - [Notes](#notes) +- [Shell commands](#shell-commands) + +
+ +# Overview + +The Matter device that runs the shell application can be controlled over serial +port. The shell is used to parse a command line and call the corresponding +service execution. There is a set of common shell commands which performs basic +device operations. Mbed OS application also supports some custom services and +corresponding shell commands allow them execution. + +# Run application + +## Environment setup + +Before building the example, check out the Matter repository and sync submodules +using the following command: + + $ git submodule update --init + +Building the example application requires the use of **ARM Mbed-OS** sources and +the **arm-none-gnu-eabi** toolchain. The OpenOCD package is used for flashing +purpose.
Some additional packages may be needed, depending on selected +build target and its requirements. + +> **The VSCode devcontainer has these components pre-installed. Using the VSCode +> devcontainer is the recommended way to interact with Arm Mbed-OS port of the +> Matter Project.** +> +> **Please read this [README.md](../../..//docs/VSCODE_DEVELOPMENT.md) for more +> information about using VSCode in container.** + +To initialize the development environment, download all registered sub-modules +and activate the environment: + +``` +$ source ./scripts/bootstrap.sh +$ source ./scripts/activate.sh +``` + +If packages are already installed then you just need to activate the development +environment: + +``` +$ source ./scripts/activate.sh +``` + +## Building + +The shell application can be built in the same way as any other Matter example +ported to the mbed-os platform. + +- **by using generic vscode task**: + +``` +Command Palette (F1) => Run Task... => Run Mbed Application => build => shell => (board name) => (build profile)` +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=build -a=shell -b= -p= +``` + +Both approaches are limited to supported evaluation boards which are listed in +[Supported devices](#supported_devices) paragraph. + +Mbed OS defines three building profiles: _develop, debug_ and _release_. For +more details please visit +[ARM Mbed OS build profiles](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). + +When using the building script, it is possible expand the list of acceptable +targets; this may be useful for rapid testing of a new mbed-targets. + +## Flashing + +The shell application can be flashed in the same way as any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to upload a binary +image and reset the device. + +- **by using VSCode task**: + +``` +Command Palette (F1) => Run Task... -> Run Mbed Application => flash => shell => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/examples/mbed_example.sh -c=flash -a=shell -b= -p= +``` + +- **by using VSCode launch task**: + +``` +Run and Debug (Ctrl+Shift+D) => Flash Mbed examples => Start Debugging (F5) => (board name) => shell => (build profile) +``` + +The last option uses the Open On-Chip Debugger to open and manage the gdb-server +session. Then gdb-client (arm-none-eabi-gdb) upload binary image and reset +device. + +It is possible to connect to an external gdb-server session by using specific +**'Flash Mbed examples [remote]'** task. + +## Debugging + +Debugging can be performed in the same was as with any other Matter example +ported to mbed-os platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to to open and manage +the gdb-server session. Then gdb-client (arm-none-eabi-gdb) connect the server +to upload binary image and control debugging. + +``` +Run and Debug (Ctrl+Shift+D) => Debug Mbed examples => Start Debugging (F5) => (board name) => shell => (build profile) +``` + +It is possible to connect to an external gdb-server session by using specific +**'Debug Mbed examples [remote]'** task. + +## Testing + +### Serial port terminal + +To start communication open a serial terminal session and connect to the serial +port of the device. You can use **mbed-tools** for this purpose +([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +After device reset these lines should be visible: + + [INFO][CHIP]: [-]Mbed shell example application start + ... + [INFO][CHIP]: [-]Mbed shell example application run + +The shell application launched correctly. Send commands and wait for the +response [Shell commands](#shell-commands). + +Example: + + > echo Hello + Hello + Done + +## Supported devices + +The example supports building and running on the following mbed-enabled devices: + +| Manufacturer | Hardware platform | Build target | Platform image | Status | Platform components | +| ----------------------------------------------------- | ------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Cypress
Semiconductor](https://www.cypress.com/) | [CY8CPROTO-062-4343W](https://os.mbed.com/platforms/CY8CPROTO-062-4343W/) | `CY8CPROTO_062_4343W` |
CY8CPROTO-062-4343WCY8CPROTO-062-4343W
| :heavy_check_mark: |
LEDs
  • Unused
Buttons
  • Unused
Slider
  • Unused
| + +#### Notes + +- More details and guidelines about porting new hardware into the Matter + project with Mbed OS can be found in + [MbedNewTarget](../../../docs/guides/mbedos_add_new_target.md) +- Some useful information about HW platform specific settings can be found in + `shell/mbed/mbed_app.json`. + Information about this file syntax and its meaning in mbed-os project can be + found here: + [Mbed-Os configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html)) + +# Shell commands + +The application supports common Matter shell commands. They are used to control +the basic functionalities of the device. + +For more details visit: +[Common shell commands](../README.md#chip-shell-command-details) diff --git a/src/test_driver/mbed/README.md b/src/test_driver/mbed/README.md new file mode 100644 index 00000000000000..d3487dd9482d9b --- /dev/null +++ b/src/test_driver/mbed/README.md @@ -0,0 +1,191 @@ +

+ ARM Mbed-OS logo +

+ +

Matter Arm Mbed OS Unit Tests Application

+ +The Arm Mbed OS Unit Tests application executes all supported unit tests on the +device. + +The application is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Arm Mbed OS, and +validates Matter solution components directly on the device. + +
+ +- [Overview](#overview) +- [Run application](#run-application) + - [Environment setup](#environment-setup) + - [Building](#building) + - [Flashing](#flashing) + - [Debugging](#debugging) + - [Testing](#testing) + - [Serial port terminal](#serial-port-terminal) + - [Supported devices](#supported-devices) + - [Notes](#notes) + +
+ +# Overview + +The Matter unit tests are included in a monolithic library and allow to validate +most of the components used by Matter examples applications. The main goal of +this application is to run registered tests on the device and check the results. +The final result is the number of tests that failed. + +# Run application + +## Environment setup + +Before building the application, check out the Matter repository and sync +submodules using the following command: + + $ git submodule update --init + +Building the application requires the use of **ARM Mbed-OS** sources and the +**arm-none-gnu-eabi** toolchain. The OpenOCD package is used for flashing +purpose.
Some additional packages may be needed, depending on selected +build target and its requirements. + +> **The VSCode devcontainer has these components pre-installed. Using the VSCode +> devcontainer is the recommended way to interact with Arm Mbed-OS port of the +> Matter Project.** +> +> **Please read this [README.md](../../..//docs/VSCODE_DEVELOPMENT.md) for more +> information about using VSCode in container.** + +To initialize the development environment, download all registered sub-modules +and activate the environment: + +``` +$ source ./scripts/bootstrap.sh +$ source ./scripts/activate.sh +``` + +If packages are already installed then you just need to activate the development +environment: + +``` +$ source ./scripts/activate.sh +``` + +## Building + +The Unit Test application can be built analogously to Matter examples ported to +the mbed-os platform. It uses a custom script therefore it is a separate defined +target. + +- **by using generic vscode task**: + +``` +Command Palette (F1) => Run Task... => Run Mbed Unit Tests => build => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/tests/mbed/mbed_unit_tests.sh -c=build -b= -p= +``` + +Both approaches are limited to supported evaluation boards which are listed in +[Supported devices](#supported_devices) paragraph. + +Mbed OS defines three building profiles: _develop, debug_ and _release_. For +more details please visit +[ARM Mbed OS build profiles](https://os.mbed.com/docs/mbed-os/latest/program-setup/build-profiles-and-rules.html). + +When using the building script, it is possible expand the list of acceptable +targets; this may be useful for rapid testing of a new mbed-targets. + +## Flashing + +The Unit Test application can be flashed analogously to Matter examples ported +to the mbed-os platform. It uses a custom script therefore it is a separate +defined target. + +The [Open On-Chip Debugger](http://openocd.org/) is used to upload a binary +image and reset the device. + +- **by using VSCode task**: + +``` +Command Palette (F1) => Run Task... -> Run Mbed Unit Tests => flash => (board name) => (build profile) +``` + +- **by calling explicitly building script:** + +``` +${MATTER_ROOT}/scripts/tests/mbed/mbed_unit_tests.sh -c=flash -b= -p= +``` + +- **by using VSCode launch task**: + +``` +Run and Debug (Ctrl+Shift+D) => Flash Mbed unit tests => Start Debugging (F5) => (board name) => (build profile) +``` + +The last option uses the Open On-Chip Debugger to open and manage the gdb-server +session. Then gdb-client (arm-none-eabi-gdb) upload binary image and reset +device. + +It is possible to connect to an external gdb-server session by using specific +**'Flash Mbed unit tests [remote]'** task. + +## Debugging + +Debugging can be performed analogously to Matter examples ported to the mbed-os +platform. + +The [Open On-Chip Debugger](http://openocd.org/) is used to to open and manage +the gdb-server session. Then gdb-client (arm-none-eabi-gdb) connect the server +to upload binary image and control debugging. + +``` +Run and Debug (Ctrl+Shift+D) => Debug Mbed unit tests => Start Debugging (F5) => (board name) => (build profile) +``` + +It is possible to connect to an external gdb-server session by using specific +**'Debug Mbed unit tests [remote]'** task. + +## Testing + +### Serial port terminal + +The test results are streaming to serial output. To start communication open a +terminal session and connect to the serial port of the device. You can use +**mbed-tools** for this purpose +([mbed-tools](https://github.com/ARMmbed/mbed-tools)): + + mbed-tools sterm -p /dev/ttyACM0 -b 115200 -e off + +After device reset these lines should be visible: + + [INFO][CHIP]: [-]Mbed unit-tests application start + ... + [INFO][CHIP]: [-]Mbed unit-tests application run + +The unit tests application launched correctly and registered tests are executed. + +The final result is the number of tests that failed: + + [INFO][CHIP]: [-]CHIP test status: 0 + +## Supported devices + +The application supports building and running on the following mbed-enabled +devices: + +| Manufacturer | Hardware platform | Build target | Platform image | Status | Platform components | +| ----------------------------------------------------- | ------------------------------------------------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Cypress
Semiconductor](https://www.cypress.com/) | [CY8CPROTO-062-4343W](https://os.mbed.com/platforms/CY8CPROTO-062-4343W/) | `CY8CPROTO_062_4343W` |
CY8CPROTO-062-4343WCY8CPROTO-062-4343W
| :heavy_check_mark: |
LEDs
  • Board has only one usable LED (LED4) which corresponds to USER LED from UI.
Buttons
  • Unused
Slider
  • Unused
| + +#### Notes + +- More details and guidelines about porting new hardware into the Matter + project with Mbed OS can be found in + [MbedNewTarget](../../../docs/guides/mbedos_add_new_target.md) +- Some useful information about HW platform specific settings can be found in + `test_driver/mbed/mbed_app.json`. + Information about this file syntax and its meaning in mbed-os project can be + found here: + [Mbed-Os configuration system](https://os.mbed.com/docs/mbed-os/latest/program-setup/advanced-configuration.html))