From 8ad074a6a2ec4fc46159974d8e4eb00dc33be8d2 Mon Sep 17 00:00:00 2001 From: Steve Peters Date: Tue, 27 Aug 2024 20:55:23 -0700 Subject: [PATCH 01/13] README: update references from main to gz-physics8 (#679) Signed-off-by: Steve Peters --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6961d74cd..10b90e9ba 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,10 @@ Build | Status -- | -- -Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-physics/branch/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-physics/branch/main) -Ubuntu Noble | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-main-noble-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-main-noble-amd64) -Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-main-homebrew-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-main-homebrew-amd64) -Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-main-win)](https://build.osrfoundation.org/job/gz_physics-main-win) +Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-physics/tree/gz-physics8/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-physics/tree/gz-physics8) +Ubuntu Noble | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-gz-physics8-noble-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-gz-physics8-noble-amd64) +Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-gz-physics8-homebrew-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-gz-physics8-homebrew-amd64) +Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-8-win)](https://build.osrfoundation.org/job/gz_physics-8-win) Gazebo Physics, a component of [Gazebo](https://gazebosim.org), provides an abstract physics interface designed to support simulation and rapid development of robot applications. @@ -73,7 +73,7 @@ See the [installation tutorial](https://gazebosim.org/api/physics/5.0/installati # Usage -Please refer to the [examples directory](https://github.com/gazebosim/gz-physics/raw/main/examples/). +Please refer to the [examples directory](https://github.com/gazebosim/gz-physics/raw/gz-physics8/examples/). # Documentation @@ -90,7 +90,7 @@ You can also generate the documentation from a clone of this repository by follo 2. Clone the repository ``` - git clone https://github.com/gazebosim/gz-physics -b main + git clone https://github.com/gazebosim/gz-physics -b gz-physics8 ``` 3. Configure and build the documentation. From b181d63d1d2c928bbd6fbe42bfc9f8310556f8a8 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Wed, 28 Aug 2024 19:00:11 -0700 Subject: [PATCH 02/13] Prepare for gz-physics8.0.0~pre2 release (#680) Signed-off-by: Ian Chen --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2caf0c8f4..033d629c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ find_package(gz-cmake4 REQUIRED) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -gz_configure_project(VERSION_SUFFIX pre1) +gz_configure_project(VERSION_SUFFIX pre2) #============================================================================ # Set project-specific options From ad4dcd28d233301dca9782071e9aee8f6cc58458 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Tue, 10 Sep 2024 00:53:35 -0700 Subject: [PATCH 03/13] fix installation link in readme (#681) Signed-off-by: Ian Chen --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 10b90e9ba..b3e96fd53 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Gazebo Physics provides the following functionality: # Install -See the [installation tutorial](https://gazebosim.org/api/physics/5.0/installation.html). +See the [installation tutorial](https://gazebosim.org/api/physics/8/installation.html). # Usage From 6ab9a757a3ee0050821c739f04555591277ff3dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez=20Cordero?= Date: Wed, 11 Sep 2024 23:09:18 +0200 Subject: [PATCH 04/13] Fixed switching physics engines tutorial link (#682) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Alejandro Hernández Cordero --- tutorials/04-switching-physics-engines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/04-switching-physics-engines.md b/tutorials/04-switching-physics-engines.md index dc08f0138..0876a82ad 100644 --- a/tutorials/04-switching-physics-engines.md +++ b/tutorials/04-switching-physics-engines.md @@ -87,7 +87,7 @@ gz sim --physics-engine CustomEngine ### From C++ API All features available through the command line are also available through -[gz::sim::ServerConfig](https://gazebosim.org/api/gazebo/4.0/classignition_1_1gazebo_1_1ServerConfig.html). +[gz::sim::ServerConfig](https://gazebosim.org/api/sim/9/classgz_1_1sim_1_1ServerConfig.html). When instantiating a server programmatically, a physics engine can be passed to the constructor, for example: From 9650007135c06f6c658ccb22bb479b16c8e2a70c Mon Sep 17 00:00:00 2001 From: shameekganguly Date: Fri, 13 Sep 2024 01:22:29 -0700 Subject: [PATCH 05/13] Fix image and remove changelog in tutorial 1 (#683) Signed-off-by: Shameek Ganguly --- tutorials/01_intro.md | 30 +----------------------------- tutorials/img/gz-libraries.png | Bin 25677 -> 96917 bytes 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/tutorials/01_intro.md b/tutorials/01_intro.md index 5ae8eddd2..f2382e7a5 100644 --- a/tutorials/01_intro.md +++ b/tutorials/01_intro.md @@ -13,7 +13,7 @@ Users can request for physics engines that support a set of features and the plu loading mechanism loads only the engines that implement the requested features. Besides, a user-selected physics engine can be integrated into the existing code-base by writing a compatible plugin interface, which enables -Gazebo Physics extensibility and modularity. +Gazebo Physics extensibility and modularity. ## Overview @@ -56,31 +56,3 @@ different physics engines. For a list of supported physics engines and their descriptions, please refer to \ref physicsplugin - -## Development timeline - -### Features logs - -**Gazebo Physics 1.x** - -- Initial release -- Define base concepts: Entity, FeaturePolicy, Feature and FeatureList. -- Add features for `dartsim` physics engines (more detail in \ref physicsplugin). -- Add RequestFeatures API for casting the features of an entity to a new feature set when possible. -- Enforce joint effort limit in `dartsim-plugin`. - -**Gazebo Physics 2.x** - -- Support SDFormat 1.7 frame semantics. -- Support compiling against DART 6.9. -- Trivial Physics Engine (TPE)- partial implementation -- Add features for TPE physics engines (more detail in \ref physicsplugin). -- Extend contact data with force, normal, and penetration depth. -- Add Base and EntityManagement to `tpeplugin` - -**Gazebo Physics 3.x** - -### Future roadmap - -Gazebo Physics evolves closely with the Gazebo ecosystem. -For a broader overview, please visit [Gazebo's roadmap](https://gazebosim.org/about). diff --git a/tutorials/img/gz-libraries.png b/tutorials/img/gz-libraries.png index e4bfabccd1242905dee05db054c5fff60c6e56e4..563759d3c4efc8681558a38bbc913181d454ac17 100644 GIT binary patch literal 96917 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

CULGTx5FT`Ipp7PK@ZUqmt zM7;jU-B@%>x=mgN;Np!5!0|uLczAj3tNO?DUo1==w_w+^_!S2S&Q5TWNEH&7lQ%dO zWvwcbG{xHjh})>%whwh1g|{C{N00)TwJ3u&Rf?Z>U*HXEB@U_oPVasRH*m$%HGaT$ z03&>bo8iAlwFi?v7d-wIy#D4#M``VXNu)rr+)UvvjznWSw1d-}{25@74PDPn)eafG z&yHQDRQM5dIr?=t;xVn?m?mF?sE-x`r=)2(kQ6m~aDCd+B8UEzP_l0?mWkSUVh(O6 zG8FtAkoC`4nGsU!rffoUl04bVzTx|U@ivT_;p>O(SYAz9rg~eeA86OTvTOQ8J1TaY zO>MGdM1m?wh-RpZpn45Wk{WDRx0zq-i*Dc*P|Fps>`Gtpf)ZeGR~0tSr3GVv*pzCv zgp8=Nit2FCCgQRaJ7#5Kce%wpHUaiqRxW>H&G@H0g>`bOcelFU4>>Z<$Rc+1fYwbQ zzX#T^)jle!S(w2)JTw{)ezQArUGg?L^qs3}>yiAvM?!;TxEv8D3>mP1$+^pZhsU-s za$Ud7Umt%CeIBlO7EaPmOopbei=k$)IH^e2R|21fOgAp*<4cVI9i|8XH;lo{jK3hf zL${}zVJPs6!<(lNN$VwiVLzpy@7qq=bGP!84Yl};_o}F6h@=!TVv2e|#r&nyVASbD zOCk<1oh*+=nSkQ~jg>^cu(>WJu z+GZ#zi5`PzV!sP{l{VgXuWqlw^xG#Yle4Q^N!z~~NV<7=n-j)6Q|#)f0p7mk8%?OI zA)dKSxPJ+LBfoBAzij(8sRgLgy^6aO6vW=z15Ex~>j}B+*|{V>f=c9ix;5_Apub5r z|6D)K-jMsg4tjMf;|ra<1o@-6`9{e=wdeY+bg=d3Xq>K}|C`E^6MiL9(xKCkn^VKk za1kZg*LwS_^7mlCb&0)vv6_3Q%l5*UA+Y@0<{E;{A=D<^76_F#0?toQ{QZ`<+emNA>! zqj2&&HG1W;FZWX2n?3-?eX)q7YY$c5i~wr%(C`o$A#jL0>T($Ms;&E)aRH=+Z}p5> z;p;Syg8(TDo^!#zl%Gg z-q(*AIp-BbD{&!%$o6 zVB7KboB5F|GkTe|o-TZ&T1aH;Q(}(O__N-a1cQCWEtxfQ;E$@gvsQUxK`^zP$Zw;6 z#NrFsgsZ;^skf5!^q0>E9)BoT)4LwWxfYSQIDis~@dTbPBm``?lBk?14TMImRl0@d zt=7HTe_AvKEu3JKk5L+bUrv}C&`x-mbg*XPgyMoJZAB~lCxejpIN({A?o&%Ep zD>W>UIOyZ{>XrQr+O*emE!WOY8oD>*-YW%FgeLbip`@}$+-D_R71`abGVI|%CRmhD z#tEC+caQZj6+NN&MP(wwj-!Kw@6ziANh70@ivR#9UGV^!Q&*xx&G84>$4JFn4Hmv zs6qCi;E2ek@3HmkS?^+3ewZn?-`Tlqov7b^NxJyKE!H&KpDPZ^@)Y|&OlueiaIv&4 z!hoEiPbs3L^M2HXy5$qlV|k2pK^cd|WL#F`8IR;qw}hXP6+ z2N>M5T*OVa(dXcK=U(mF^Y;SdLvy@=WY|8^6@gC4B$UKrqi3BXSGj=?!f*pa%tNV> zh2bgGr&uCwvYXRjD-4kzAZ8D?V(Mi8IMP-JIXOHz#o$1ix2%b54#T5Uk*P}VlnIWX z1=Ah%i@?k1&bhUx>x*zvuAmy$L+}(H1HtEjF!JSifbx%}&xP?T{p>mzRvyK}$O{S+ zqK6LnevyUvWkh8CZ@4`c>+8@?;TL|N+q|cqHV8=OqIP~D#%11!7_Q|dH*cM$?yPq0qJMx*f`wHotLNT$|bdX7Y4dC3fh`4yduxcHBjSk~UgD>gLidVoSA+7oNv`m(nPW^~uLRXejEFKO|l zrgjoacv}$dyoCR}m!9@`DOPOw$6>O;RQM$uvOvh?&b2ERlSO+^cwb{`>^pS*Vdw0< z#lew_Ou=3;=;}O=A7m3}+hT5>pm4RNlYR?DJ=U4MDXBbtST`(F$uio#8qSVbQt9@3 zLRfn*OnLb659$@2^)J(#F9<#6L|Dp#YRWLn@6HNc9V$8<2#_QlhZyXS1Y>Qs$_0bQ z`|qe}>V8r;IG3a`BbH^a|F5(WA)(lvnTWsNlhZ>+_-=QmZ)DzVDY-_|j#=aqXGsOh zKL$B_ia4&alR0)^*W#$tbe{h zT+G`(JG>ge;3TvCumy_e1>4Np;lskY<*j!Cx|jmSgs#q{)Om+N&a*9?9{sP!Zccrl zAsPZ|;Rz2!)+Dp>^e_I^K#gc7JMEH#h^=Q?*|It~5;W7X8{S#b_KuU~+li?;O=1Ch zc{=VM5<0Yi-_( zy@$?-Q#dsNhH`w<(#U;Rdz`r=t*}+R283l5YK@v~Ck8@t{k@vob@sMyRrKi_hSWvU zm2;>6ug3pzi)m52i^_V0@3{9W4SSqnolgthQ1<5%me?~UaZ$vo`*jX;1U@ZYsam_` zY(Jm!w~=>H=K;pDW|WD$u;ai+X0B-HqghQjmqb2#P#D9eoeL%RWWO8=Sb4*=hmjkx zZ^ic|;^_X!4kLn~>MK}@32{n%f|{0Zuy~DJn z=d!sj;46gX2m+^OZs5yt3h;KiD(Hz=rIR@5JQWT?5N`CZGH{hxwjj=%yyEVY<(Xgc zF&}(tO`i?nxWUaQs(y*dBb&M(M$O3m?yU}w?kc&G>6gjS$#D1lTn>&rVi#O{k7$2Z z5U3e!mRBg*q7=Zs01S}2Lck}@uZ|MjpaZ54Z;Y(}Javdn3POr)+hgU=v@zzUvs0ZO z$ER9U4w^?k2^Z;gGZbUVDBnL-$CtN704{^VHM*Xl45LeIrkHA3D=x5Ne)cR~>r2_H zr=5=>cVBf41u*eqM*N_HIhPoj0r7I_?@HB=5|z3*_)skFa=tl7MKv$7C2~ZQC^lT= z%?DHy3GyB}JPIdOPY?w=B9RD;W|sGlPb&#hxCTLsJP+$-Vd!IkdUI)Fd%BUolH8FI z3C*2KhK7do4=ARC?zolPkpW}o;s*B*0{|ps05>g{zx&gF5$|RKaTzxZ<8*vKfQQOx?I+n`9cC%?JR|w*zu&=REu2CUXSlieru=a`Bp+Vl)jgvqif52k z-=hqpI0Am@2g2bpWE06F4CkA&cPJJFL+Nsf@&rgqUhyOrhi^FK2=2LCTs8bJRg<`V zc@pr!)f{apLP}6<+w|kOEGO1F?b-T7k8Jyme-v`VMT{d})6kJC@ZZc_sr`C}5x_nX zfOMQFXM*UBySCnY1&~-`wp~AMp2L8*j>QUhA`tBG*BoS_9xckFqDLkt-CsLodiS%c z5Tq(GY$Hr`EKxyCgO?TMZBIOA4vHM zq%vfm_4ZC5z7pu*vUFiC6SU02YiKaqQd3ltvNBJ~X~%PEZT3Z;?b<6gnxIEB+r)}3 zmLKfcnwXBZz0L4q7QGHk*bb%K#A&%H8}DDRegx_eL%}MGEQpth<#fwG5zYSxI)ad` z<~Y!7-96>InBScy@CK~6NAdcw;dM-CGDEy6tcZYo36_N124Km?K{EvJ0IiU>BHvSO zUrx`6wJ=wmd4VdodImN!z6HBD{5!iedC=YZ+{t0cx%J64vBa8FDs3{umkF+ZcA~tv zf_%`!x>?(Qg+)xZ{f0tIR^)zgAOWX|-d$a|biGV$19KH?WuSMyUC|f45brKpEAy+= z4tns-Aa@@AKp^nLGKZx&iC@Q1s6OoG;8wFj#;W3el^028k779QJxH%V9uXw;cozGd zmTGj3S1V1Q_E@pfvsJP)EKYLOpb1*3qkL7fSXD7PY)7Is8`eZDxBU!a5HAIJH=gDFGTwLZi-xfF zzRNvfrJFZU?VxysDt4tX2|!*#yDn=RqD$M&j$HaKPj$qfNq{QMBzxM~7EwsOx1EpJ z?DK_9sXWSKq&#kp;F;o7yvo03AMyXc)-n}tr!7P3BvQJUkc5A5o*Jl-X*(kB#668z{p;HHL=Z*(b0_pO~yP4^A@oVZEzmSC@RJUZhHQf>5O~kq(&amS+%e$2Pdv3Ga>?wZA1+q4Z zX9Mekyeb?TJN@E9S?Zv3{?9ONNp7{Cprjr{WE{WITF(x7&;tHzTobTTq?|uAA>R_q zj|zm7?Y+9-kt1^|O(wv~`u<@*C*Rm$IwxjkGBjoqbwMkcAIYC(dqs)vhq4@+nG<T+cBSP*yr(6 z#k|mG&^f;kd0(~v<0;}VPY3T!|B}w(c-`|#In3^qh^Q)X+c}YD)HYK!Ty~lrkNn=2 zZ^)^y{pJ(G;s{oKavwCuWgVq69_s9iqBo6Z$=Z0R#AU&;ZR%OFQFEkKRP@io!K(P} zXS$wi+o1+{$sdx?Th@y#ttx@|CGc43yX!tw?}8Swf*&gXw8;{Tnre)>oS_LC{l3;D*z)`%D)DG4@$R_WabTDS< z4U~R#m{~9^CygUe0bqEH|`onNojoQ1Zsu@)9X(NB{ z^aBt>u#Ej(&w=g3f7J*-JnOtDszeZ-Xcyrw(CQRFk6mpwnaqe*DutY`l3=ui^rxe8 zRw&4iHo*XATbb7K4!wM?0s#W*G~J1s)N?54Hv@w9H%WzaME5*8(`CIKvQus zn=Fn8Wc@ia_0!?M5v6~54p#Z<-y1xhAO&^LI8dfWy4k1KjhO{T8pm^Hoo!9P>bRbVcUhw+8|*B&S%6+yP_W((kfmRvd$oIqxt#c003k$(QP^5w{FztCXm zb-k7eE35Z6M_HHfv>gU#+vxoq^d-3U2^)ZAno~JCF}yYqyamSkt@8q2PH{`NrDsv^ z$+_HZ@dSPJE4eeD-f8prkamOxWQXgt-k>$F(eDzh!r0ys8?)oZ_H}K(s!^Xbi>!0D zMewK<=c+HX8cmriMBKpx)KY+Q{rZ=-l`8p5^$Y6AjI~HYQieXaku9!A^7e&5N&Cv$ zCdaUhl$S|{ewtF9hEwc;!>K>evQ8~!MQfi=_ZnXli{;-5TJSK(@}c0A$xFT*H|P_p(n{rv)qG6VHR%`^T0l0tcK7= z^ZJ*X2p{Ku*I@jecghgH2`d7b89~>ujJuBsezf_C2TfAmHcT&&Fdw?T{(G(0fBdQ{ zXXA-Bm5=NXCG}s22TTaM$!NJmG39?tghz+30|d!k$jK$r833<%$suFT6R&vd@Lv%T z5)@gU7g_#d#pNv7Ac^=H4}1HB(GvtP^uStol_5F&t|9Z1EbrXIkeWnjpJI4u_{m^4 z-d+EF6?Fcmm+WDHX*@5cL0>Dar4^NdGI&_v7`LT3-Ug2s-q94(DNBe@{aVs?i)-qA zybu1g3Ms02K7*kp665Z~BB*fsXPLnfkG**UGky?`YHMpx$)OX@i5#}9 zQ7o;wmr!1?DBN@be^kj`b08%knnZDI*_5N{;=0Z_!@bOfCvi5Q^dh<76No`u`pHI=0~{1^F({~@(h9j;hjb7@=Nu4(S8XHGJx!_E{+oX-?2~fQp>}1TpsAj zq6G9zQ37*53wJ%+YRyNrfn({48=w+)Nexw8_S*IwD49nk3V?D%|hUV z4TDI1Kw+@%FS4O~Ss zuT}UZJG*2W(&VHFG#}2an;gr=Yt1QdyHc|-uz88={Y9`I0s@gVFQW(_StU?$3OYrd zt&qTeIT_%4@m)6M4uXQVv!@@A350a2FRXc_IjCL=2Cn!hi5y@Qh@$5Q#{E+@Ge|AP z_LbQ%LD)C-L)3hj3!`4ojpS32vZVD(Aq56Ne%-|Pd%AP~%RMf#^A&kNxhX-S zfP(_dcNDt`pfR7w?IzWOg=W$DnC^j!L*4g+vNa`A*USSRPTE4n+Hvx59>|SS3q$`t~76r4nHr}J6??@*EJnO;z=l7XLr<|Z!1K%h}8zjavm!?s`X z*&GMOILAWzMAM+KVsdiIQeKF&@k`j9B_0ld92o5S_(ToR(~);Puus$Ei|N!$_JDB3|+H2o?Rlb-S$&JG`QB}Z zPjiC%2(jeff8uN1yhy8)jxGrD;mTcgBaq|h%oMY6B{{G~5G|0CW{>a2zEYF zkoUB|;ZVTZi=|NeH; z5Wfao_%0aLlv(Q6?A2A4NOPx^TSCh=Y4J2tSDhZ{>%OlX>=_c`cs0dx$qpgLozskW zfM(uRFgYdIPF!1*27%$7FOPL|L5?p0B^SV=z%{LJlb?3-LcI}3IUhIyRN@7Jr}ZIR zc?g`r~V-lracsXCp>rJS?{;{izT^3huul6S)&fbkv z>O}|FTLR_;Aj$)Zhm=JyHbvC%$c4|Bo}#bSS0`20cz5y_B;S6OGpXL7v&D9A$o5qs zRJ_|lu0mIxk5}*<*l@xjYPwUxe5x`G9JF=DlE(L%P4{H6h0aqNvM(n@^$esQQVOm} z`)gB&X%Daum_pB~vBdp&&nBmXkXzGhzhB*hM!7CZBGrN?G}NbmoPF~CWI08M+S70E zA4IC?N=vW|3@Q{ph&Df{*ZBGg}cYgac7Zb9qf2ID5Yf1ZQaZX|x$q^Oso{jb{)vR`a*{EMXX z4ckd_qX&fdZQ`v*mj&SyWjv+UyiJ9?!Mj$u;Lon7vx#4743~LZ0tIF4My}>Zv}e7- zo6OB_InRd05fqDSVtMTxLhtRD296+4*T0-1XDGlccST@sRbG*Afhyx*aS%P6TpSSE zgyc>bRK%naTI2r($QVHiX(gfeDGV7J#S2oY0EGk7Bl1|L!9uUSX>`|>1fSSee;stM zPIw0t`1fi7jCXuIGsJLm2-CuykE zS`tG74F&hv5FyVa|2sv}bmJEPBP*PBpK9{MkHCJeoUrmzH>$B-hLTcYS&X!+<)#QEX)k2T;^P7Em3$AVC=ne!`}m!E-Eqde$Hgc zpb^w_>U`by>OfIuOO0{*u_n7cIBIL|>b8t3=lz(w+#{YsdHVJ4J+o7m9-lH{(*o2& z#qzHT?67SAH^GP_db=*i1U~y*T12leDZ9+zReSQNQe*5xd#_Ha4 z>pl0@9kEc|G7y2keW~TnS^`5C{}gsJH>)ZAt%?awqKHs zJ_%Vs${*p|{>U37>|}%S@3VmW?g=h@#Rln~gNHq7hgq(C$TZ)L-D<#rpiBLe$HXgIHE2A*wYttGUqrU*jbMr zVjedv|3lLnSWtCkaJ&+~YVI!ix~l-(>-HDE+H%O;^5P$pv4ErRSk8#4|709Lhak?b z7ROHFHKHl6dI+bXlOrW>H4)h zIU#TjrObDB;rZ`)I&DCuRZLigxqd@_I&DHnwtDxo#XCN_8{f#ysqku`xKXhi@$}c7 z{%=_d=00vQL&S#Jui|A7cLqL}HCk%M%W?B$YnoaWn8B$g)s}Qh5HxP~iS{NGwzIdr z%~lww8rqpVdsda1_UHkXLk63sVlK%@{ChCJf##K^k=lupvXO`3a5tH5i zh?2WRVtLu+tUZA%B%&JRAo9RC(VlsvxjEGCaJFu*{v8wGC@8YIh*_vMZaT+)Va5J) zn&iqbgW?3z1AZuaz3hHedIofd&`i^$-G@t7A#TlrixbtvhN}4<7x(paN7vCkp{aJF%BEtBJaCz`?{vNKj@^B4~ z^ZDo_6!M_8{zReLa$^A#$!K9Tki=f9AmR{=*Y(UK%80DAy}MfN8de}j94qi~omURm z-Y**=CX672C!6URiH^brlC6%z8Jws_0kD8KIVoNS#6sHZ#+kL;!)CKKLkEECUdvuj zJ~t!jQCkYb;8jxf4q#$)o_Yn`@9XutRdyg+-CFt*g1tz%beW+?1yBC6QCVsfSlHkl zI8`{m)Lkoi|DpR4&l-gWJ<_J+P*7l~(TzU~Rrkx;_}UJDnHg=EwOpnVkBYS@mW~c{lfl zu|MlZtHKHTQ3ap&DDc&e8hgGd81L74*)uJkAuGIgzExaD756jo2HMP+XJxaX-oCqd z=Ae35oZ&X#K#+&PbobVcY=hJ{v$csFD{4zH|EwRw5Aj$`DcM9s583Wm47QpR{vf;# zh2C3?379oUTgcMY-OWs}s<(l#wodivs+C^?cehpaP(kA)1A6`@=s}%@VCf#!1>-2M zE5=}|heU(|Ye}K*8yC9*)ha1SnRM?kC&(J3yYt36R~9q zIhJI`o+UJ;+U(Qa8;nYocr%|{@w(HN#dC&xZCPcS!@_*efk z@F*#SZ_#~t79F?Ib;baP_`JpEE(xb$1S-F#PzPLpY4k}UuU%kEzTdIpKlrQSJVmU( zpH}-<`?JjVza!j^=wM!qRQ1d%1ZtbEwHI-?0fH=0H!#e5_fgT65k=j82-Th=N%k~i z(1SIW5oGZ+#O$7#oc)z4E;qye`G;H|GJIw#XibdxmW{w1IqcX!TfDRNdKpG$4pGx) z=^TS4vpQ3FN-wQ>clY@bzL?h>XW1p&H69-907(JwtgU8P-P;=8eWo6=K9dkL5*nCb zrnD=sWJ4wn)Lf80rBygYgvU0Xy^62tbQbn3lCOQmAM*hUNOQ&a!vy%UP!z1FqyZyp zk!wN7Z?FZ0jiipN=&8ARum;I@r+aO!wzjB5{)`XT<1~SyWpv7Gs2OLJ#GJgY@V^G{ zowp$nDJzdhmVlN(F@vYHZW+Sxs|q>0ElRCtJWUw~&f~JA;Z1{M6|uiJ3P}1S-$|W% z!Gi@P!7A{)2v+3E%oy9zMLWGAna^+bn9~-1KnL9X^1+KHg8M8Km2~Z2-l)^GZAqoqqiUIm7Seg z*jbboQKfjI$Z+#@If7a!!iyh|DPsoo>lkEKYho|2UC3s

_4sff(>r(*|p_YEhyX9~O#C-sQe|fRHf{d)ANrENc&CLVi3_kW(wpW=XnI zl&MWQ#9FjYbZnJ5nUV2Xo>^cT;bJa1lQH{RZqTrZ7N&Xl+%6cqVBAea2)6dBO}fUe zhj8_Tt1Wx{e=Pt@>P9$jZbI^@rTcTEZ?5m%+`Ov!v@~~#_{SB~FS31eEB0UPyv7vW zS@hZGoAWhi9^j2iEO!Y4#0uICbdP|E>T60!@|QAx$_@c*)&2Kg|s&O^pp$yv$~*q-Xa!qbdR}N|(>RTfZcFbBUYg5z=N^Gp2Y#&?!M? zSv&H~V}atlpjUY3QTFu0K4s6&bTlC$O!uz!5}niu>zIO9OMa?$q8}IHv_{L5c+DU5 z=Nkm@Wc(edhFBc)_nUl%q+rW!6)`P@3XRISkqpiPkad3K%oub|Zm4ZS3VMfpiV;TC zAvjT_RI0K&gp4_KYo;=j8odRWlX|B%d8F+4b)~Y=6%p$R#UsY2YywO?!ltEhF-cf5 z19_V^tKY4%?Epr$&_rc`Xl+~lWI`Q|tUL(({W4Acj{`gMbP9bRnyKpj$T!?6S!UUq zGL&+~oK}E1s5UBV^muwv7vZz__>ncXfr{bMHTLw<7dh`WEOdH#ZZoh>UKABFE?~LO}4!Us{xdMt-b&djsS74waPoXLB6$oxE=ekrpRE0 zKr-%9)*gRYRe@MCq`@BlRv!ELJF!c?zk=TW3GYZ3pUGb;iZ6Y|3$@vfM0l$u6eg>z zkEEp~^kRw+Z{xDP8%&!)tW$;Jxw9choSa=x z+PvrDR_sOgCk8*_AXB{G)P$dbTG^PINCA8g?^l!R1C}4j6_YABcJ6TMQxOi`pLz;9 zZG2DV1hunfL$d8m=}TM(y-ZPMev-o6%xO()1fuX}i|}#vwaH zc9^sQkjaz3)OZ#d_}#q9EJT?0efOZhd(7my4v3*iZeqWm%Iyww6JwVM|9_PB6o5^a zJA9F|vH{tu0iQp9`Q+oh7cOXr^uZO`_F%qYu?E9()Yy%>igpBtbz4Vk1J6}kMWVFdIw&F9I>7GIkwEhAT zc4%W@MG2|u?ta5wIeJRXGDbyvhQUa~?Hu9=Ch>x45~mW-*>i_P0`|knY(__7a*3BV zS9iY2ZhhW)g#Cn~Y3BJydp`L61^dV@Do+5Zk&Ft0BUyePzByC;=lf&BuTCtR&fsgZ zj~6N%DQ<{g+#SOIUYD0amTB<9LxN}`3}bPHTH4;c@Qs>VJQ1|R zOp)6;4Ps|%j!%qC{OqN%M**oeI+syY!wDY{g0uO=J@hd>XRqcg3KI}Ia}x{nHapZS zVLLzH24(PYQxworiH^J?i)dLf2P!H3i2sh}h4(ylW_Js;X0^S{*^KTefG_}yd}Kh4{hdssSTGl0lZ}h zGen?M>3b=3oEa?T9KlP0Qh}$wA-<&@^&2^|DvAxcr%fAsz<8jY0njd!J@lC?WL?HR zpkh18t>aBBTA6vTNrnnwaXy}Iz)07m$1C)7*qAJ(=PfMS?=6C~RN+(zFGGruwuurr z6hU!h;WJ}5`LKX2Y@wWE$t18!`ox`)Fp0T)?L0=6mezFOb1Lp+(Kk&0o$UHR7B9QR zr1=*P_C_GJt;aX^IQA&z!+H3ll(z55-xCx_pQ3_2`0<*|{A(r_r z(qg)Q@=rRLa%;Nx7U&EjwCu3mPW=@)@dp>*z#`{{!+1>NJE%Hmc;!Sxt)Jgw0mGzTMB1qM8yzIbD;5s^k zCEz8r6(@x%VC}b8*EPG*Y8m#UfLf$T0_y2mVe*nC)KZpOme4gacH=!x-6QZU zb*l)9Yww$yzu(QR@Y$RFeEMDSYAaK{D)6$t%Uw`r6tanN3a>C`hysx&SrROQ;$&M# zp11iY8bp^wa~rzspM)_ssr@zl@8e91k13L=nmHf{`6#i%O?c62pnOL zLNA$gJgRlk%MuE+aT1(maHglsad*@Z1do|<**?KCEkEYhSiDZuTpg5~oDQ6hgyL4x z7RnG1;wBE_1!da1+*VTM_pZf!V$2~5PUKs$Y*=1uYoPN*J6z_PE1x3~5&Kq^puRKa z@Gwxr_NwUyT*8B(u`rk5RlEABO|9c)rfEF&Pnf;VnX@fQfrJs{ARQImZ^_97X0d$D zwx6QDuWt=(Y62vh2us^b(1v*oXdEWooIm(aK~}4~n>R@`qZW7E0#3Qk(`~*H!s`qyCWhp@0>+@96>Y?EKHCocn zIwjBOp(SaKjsl`U&sR4}9_C7&)`o@ASBM3G8Q-afOXI%GZv@{|wRFF6X92&yOr^_##+tNBPB8Ky2-9e3eCfSL{X|RbTn`GD1I)_8Oyf1g_6GVL|Y>;RP z$Ne?!K37mMk}qi@@K@XimEINx&|D`6R_F)~Wt zP~YEbI+E$Q$wj2MQYFOI>|D~AE)erf6ECfL2n4)R!1Chy2gW03-jYRPlA+)u+wAX~JrHGoJ>x{ow*#@#2 z`1kAghQg~j#Zr*#3xMj{N&^#`QrTz81Ztw&Y;WAMt}+`P#@Yoj4M;p}vp#qGZ;3TY zTS=tL@$&)GA%d#a(qyfCSDa-w~Ov5t71$=x1E$VxKW#7^wTm zY1AJSEVX-!j7h8Ov2VJnXn4HxS!rc55zGO}TxXKzvuG%HY5VYkht@hRziofwtIxGw zw%2OjE%2jW<*=beUF}3cU&1)pDi4|fNeF|5XP}w_TFIHd)&0XCeRImW$8zZaV=^$q zf^wT-lqsX-Q457-h73lh$WT(<+(q8z@YSqq?e3cs5cPt?l4cV=c z4Vn1qm9dE}j!Q@5-0$N>O$~$o`#s4g)#e@2s&S)((-af1x_`=Ff8?_B#4lt(_i`|n*x69gixs){+TY{^r%j3F18%aZD-&F%vYjPqRg^vy; zksNLlW0j`(lFpzbEOeLI7T4A=<0pqo(8xhj0n>%>IO>-~&jUiJ(@SZgZXEZbQ6;$W zo=6qqYY78AVl2;n)%F)WuH(nm(8Fxig+jEN$Q9xg)|=`{gHT~XZS~?L9SujEjf~7+ zg{7!eIK#6{talbx6s_C$J4ebF^>Ba5T4$l)5B4n`*au-T(11>YrG$Nv(54#lsM>D@ zG-pngU27%FMlJ|=&3NGpsxMehaKPv$r$xX?Y&(rA)-vdNv>Kn)0fmncQ;ujCitM{` zljV}xKV`^*>hnbn%eF#G7tp^1H>XGV%Af?Pg|?NlpOrJ4Mu|TyLDbV7jn~zp zgNvqr#C3Ua+HPdiof)pBOFsn{{f&q0={vaL!kYJH3%ISr z*sHMe=X2UOCl9*=u*RV6iRq%WM&|&sE);t@4%!{pr>Amdj(AZ`N~qdDGf?5$9ykX$ zkUpSuwNMJMrx7LipiwAmF_b&~@FLiiR;9-_VL7%_S7&3Pct;0Veaf7$i1)8;a-(CN zjjFGfPuRZI5o!%I0x4VFtSMU?`ZKE0w+9G~+C0L8a(oW#o)`ELNKldTLhDmXL>UF6 zeafwyj$3M;R-{K3csP=b2F@u_N7a(9*vt|VOJfl?SJW}+WD<=`G^H_EDqPqT@6+O? z{_A@!fKUZChd>S)yk1>0raX4D+-~Ky+TuVNScqm z*%Q2l-W_lV)CGpOS@hCvgH9>p$5rz5JY>NkyCVP_H)TPQ6eLRlR-c2PuEUkRtsRwdk5!_d1TEk{qO^gi^h8O$w0U2Rt7_W>6M4>b(pAXAgEhjdmL2fC-Pf=f#x-T z5qdddiSA8!-%a0Lx7W#0Uc&0cHTvCF^?1=yu-3eNaA~>pBk9!8bwib1=b^vG=+%nN zLdRHi-Hb8pJ95EGLh5Qz>pzEgLG=p=N)8)S;x?;+(UFwZ+8)b58aa4|jH8zVK&*qd z7Cx;Aw|Wd^!ZD7PIuObWcZj+Svbxu?Oa{eKsUz>d&aO*O#=^ z^essn^chbowzo@xxyh5N%*z-q&iF+otP@$oWT%%jiKR{TkyLxtm&wg4B?HcJIpw&&o zXJ>djl2BR^cgbkCmb+mv*ckjt{WentWl3xb1}sm`9`HKQ^9#wx#4MqM`# zbxgVN&4|$VRNCj^04IH{x*2)Xg5k#;P4Vqm^X*lcmRQ4nZfPRSG1M?;4ggeNp;}$k;1*p~m<^m8 z3{6KLE6&_z>?wu=1Wz>O7&MbF{Kt7O0pWk z=g=bvUL7;YE8{;~t9hOC3QZ+V%G>Q7vPSu)&M0e6uzvctG#peIKGl#NaKOfmiZ8ZK zb{4GO_}al_;Ne4yW$)C?vT|IYWr!HOdx0ty*8O}Bt!XRo=7z8(@CoiR-A})w=lSlG z2C2cDIysfy8zjlakgVtH5o7n6XaUB5X=0$+LBn!u)wwovl5NAk<~^M2oPbUr!Q@WSbjH6hJluwcW^(yWok-eY-H0x=PIV%_!>rlyu9h?w3r^EdfJ z*Z=y7fMu4(Pd0kcHJHaOA(P3>{&XQ_6k~$}*RF$!)*adJq^#y-PF+&|1(zpxXHSR& zcTt6s=!^2%mh)XrW~2ZTn&rxI)6I7G5hUabb}*GOh-!u)yU%9w)W>8%t)T%B*xeBN zz0NFxt9pEI#uz>pHbnp`mT}TQ$4mJF*3QmyAc;SEzJzJ8pK3BbY!+&Fb!TEdI#6?b z&ya{ZxrUU~!8XnRM85#V{UGc)=HuuOg{SY@r`45QwbeEc80}kw#DMI2rqO$n(!noA zXWZL`c3ve*x$FWLIz{-7$_YaPzQy-Szj}Jldt-Ak-21lOb={q|-Q;2gT)`H=9e_Q6 z&go}yMs@v5zigR7@(f;6>+#s=jsIJ^q(U?_J~oy2YLJ$HYQTzzMO%Q9o&d1>lAL=w zlF9KdK`Z9#vmSMnvag3}Rg$d>5O@OCSerC`W`IWB$sBV=^k9Z3JojY8+3}>$gpig0S}9@VFou~DiH>n=b-X$U5>>kZ`@X;|U_-s2kPM(tC8;2k*3g&sN= zPhZV?BwE_v;uJ(^xLGmDHg4KFNf#Y|fRW=$s@d+E{=dBXL{Ewo%G8ZLW);lntz$gT z|Dtmcx&FZlpM%X0rV(R8Jg!qzCcSkcC2G)_O!{Y6H zItxaTKrKOy9-Zv~U(5bMsjzXsbf&vZi&Zi0b6Vbrk%YkNE~m~|oT7hOSIAf1B4$D` zLflv7TNR3=3&Tna$ptO6?4_0DoMN|g&uEFzCq<#u*ykO@kicWxRwfgS+jFu{kvw1M z>%?`RKdg?xrQJfSkJRfb+V&M-Z&hTl5||Tv{Ex&H0^XGCjs*SI4rZVbyiqlehc=+R zOCMT&nN>^cxzStF_8+v7&hx?77+#JWgvaq%H^jf#?l$Vsgxx zJ$gOVEk<&N*!~jI)yBl~XWV?czVE#wis{#RBQ<*p}IBq>?2F0bVrl$lzl%NMWCd<-tey_VjyeGL$o1iZ%`QmS?oT9{XWLK%haRxiC?AjMkgH z$?DOrvX{p;LzyM+%IRsTX8TUs^YBt--FRg|vCx@3C*pvQLr5)g>2>z*RwUGkrbWkvCBJ?(@-{(yOOh9JF_R;TaeJ) zgW^KB08XZVmoWV#usY%Szg^8x0_YEG{?BmKyZQvR=6)j?*mletb? zFxy>q*}HS@V_!9Wy)_(UU|{y|FFn?-ns8X5rEr!( z{_fTJ;6(!iz4QhHLANys=Kt1>=xbjuK7_c1$spwID2WZacpZET`f`8YJdZK?+b4lh z-!UTsrO|_#y$(m_OvikZ@G5Hc2{t*OuBP$=^7l+~S|}<@5(z@V@BeILT>%09jP?vO6g3@U z5F`CwQe~?7m1{1R8Vv^tjy=a}3Ah!_{6x0{j;rH~2}W`qEce{uVuY??`%Ua^AvWI7 zbVP96Z$xa|URwNG+~XNTEp?uc>axe8;3=ZP#|(QFLV147f7kQZv49mq_>~OUQKPk2 z@V-=M&W7F+mKAG6>G1%_5jt~Qq52mp!JK(6q;rsh3FaiSzu#04K|-u4Aglf<-0!^k zFbNcFE!6eyQ~XR0;H8^>{#fQg{8U=P^YNjZs*4@U%y>)P9)u*V`|SiZH>2HBq?<~Y&iM8 zxfv@8AYNpjEK1mrjcgCr`#e_nalOCH3JX5`=`oxqQ}xhC1^oO21J6uXDx@SmJk&@n zhMJ(ksG;L?1>+7WM+)x1z0|I`!vEUndTndTpI9jrtPhs*Om_IBk4(Zxa9J0Qh)kMVfj6dbNsR$2z zD*L5i-h+~I!6^=CM@`=_+Q*wCPUUAFU=5H0JEjc^(lqlEW~87RR8D+ffA>;Tc!>(p zyjMzektl=-US8wBeUaK6)HM^|(i`J$dIjZ+w(NU8;#KND?N1x2~8Lhpf@h? z1>bLs#9kZny}y-gJEA8mG9q03SD>I_TQb|c=vS8)flRjxlH0IB{4{|rkXzj$dBH(< z(RZ0)flX76)KE(Xu&Ba3hE86FdoS{VXG1_{-1{d__w(@?W0a`Plkv_Xo%RrBu3dRT zZSU=zT0Q)y0jes0Z;)RFZf3?%y*70Z~;8AOw^(tCisjis`e5Im+cP} ztjz|{5dX*9L1v4J=_)i5zg5KYg4+H)bv5`;ulzxeT{cSy{*a7=AeMT+fQ_HzTl4iN z2$=i?PO&8U#KLH}DF!n7e>LWvi~JM9_|jqF3w=FJu9;Q*QY9ZO`LJygCy z-Vgujko^y2dpNLb;Si4US%Qo?44?hK_M-y)ZF+}e$Zhh!n}!Y`kqt*F5Tht$`^T%7 z%R*f&Fxi=2`(7viZTtV~Kj$%wJJfc*2oU!_PWjKkT#+u}ddv=WpRzpv%U%Ee1+><= z!Lx)okC9%W{?oyK8#Wssk~ipbxmm5F5Y)r}{tM{AfOvqv8Il}#U&sIX;qOd<2Ad@E zc0EtLDE|L=DW7BuJ2)Pp+V20j59Fr*UxqdvzY+L<-?cR>L4?L#HlEhoP%l7F0_aCr z^$TP_U6HNJHYeE#Q?Qv*D5nsSN7|ui!|^kd{MiBE|XoIfh~>^usIP8xbH1@|Fbgj-S{6wE83OHzIC6jA{i^%Wd<% zGImq8`9v3)o?%=|EZ<=EcqQ}F0m~AU=)gvM0gsgIlr+8|dqex%`hP97e>uA!>F2;br1ZlA8kqo%IjKl#YriW3X*sDs<1$~v3~=-@yt(R; zFKO3`ef+#H{+G93Cy~MpPAlaphlz)m@9$G2T@P(GYe2kk``ZYc{3u0UkO zi8yk?6fT|2<658W{ZZ9HuC5sw(eHE;{|P@6K{KPSZUa9i_{(OkYPi1HV^p=Yq9T+k zqK5|rVGel9QhWwYsth!BpFjU&DrTTT?j2EsD-+tZZq|_&y97?S49>N<5>)n8E*fNB z(7zYm#1<7!Y_o41g+0d~eSb~seJRtCtC?)H;_wB~E8avn?Y5qFpd6A{^eZ1uJ;s{L zV_IM$3>)yPJmQL4lCY-th1p5(*e_YGb2)5XO2a&(4hl|;MKG0g?B3Bh$mRKYx8`2z zK!_+T)lGTco!Hu}us2Z3fX*KSG#SXV8uQ+#g$*i?uIa$J_ucyA3E9_e(L?w08+3ds z-Q-r)L(-Fl1_naRzsp5C|JCDvjLbU{CcG-D|5$WyE2TG>D6*Gx~jw6v_C zV1-ywMvd5@w79H`P<7@M$&{_wVTVbGl-zprE3x^3A~a)O-0|!gwTJ^h0MoI^w2FC;b@`7-Id}tBsq{1)U^rs}q%fx%rP;&{%t+E_Y+*)7nLH@z}IZt;Ua31wM z$<|VLq8|Z|%f8lfcW!54A(@nc^JjBkt`Ir*49li}?X9$?=p=Wt!dwO?jWOp;Kl`~y zZkzT@G`wLR!^M1+k4j%@l&yvLSI-To`hj{h$g3n%0z@9%47`J#oe_CK4E zoC_pgCjBnfyU?-t3^Sf$o6RCW@bE$1#3SO5nX%^Y0eCtJwpmwnbS<(z13Aw$G72ZA z;LG!NU@2NH5`~*EdbFnKw?3*5a8I4iQCbd~*18O4y6O%m(7*~Fl`=uKtQF#MHr$;`SKBf1W7QVAl0U<}Tc=-@>h0b;X1 zELzuGFP3e|{=5`(8y|0F=~Z^@8y9w0DT_>@zJ0e5_KreciP^2i3Tj)!Th*zXbOo;M z4`e6nZJwCzX;4QCsoJFd$@dp)!fVO)4P~~ryYi*sQa@lE8~R>jm=bZu8oEMhrqWHK%`Z5nT5Mw@NoQi5 z;uKo#WiV&mg5gGr5yu3*=E3^sePoK23=$;vWgOc_wXX#KYd_8=1`o)M#EDjSlq$ie zq;DL)kgs{5kgH`YRb77fc?pkU}DnYQWJZ*VP?dm(yV zoVlH?OUBy_0y2@h6|FYPLf{2jJK=fEI3b<6e>?}BYtBK5GQ_M5#H<3}9txHcENZQH zpT|?4=F~sleSncxw$4ULa{^No;hf@NO7Kc?X(2@XtNiLsLjw+HZOu0}qYZTCsKkuS z@MUh51g_mrBIQ0|0EaV)7_x3o>&?35EZ>vQ=OP`MY|h~^1aE-$QNGB$?xXeJQR_D` zc1y3#PG>QTgPOfi@W2W$`bJi)>a;XcTprI1*>t8!`qo<%tLcU*UC%3%bS4)7dUAp~ zT837mm62IC*U|(Q_mU$Evw}ppLr!lrs#rMPi++8KpIe@6I`^dO#hQp-@4_D~wbt93 z8(J2U(f8*^f%2T3j`fF_%HPFX7Q#GeyLe3OLSk85Q*Q#gS8zR7Kc9$!^7gY1lK!|g z4f6etZTu&E$sk`lBI zZ8OVtS{EA3E_A(KFYH#lF6e7qN*9+@N$(D`e3I^t7Qae5|FKza>u0xKlj4*oJyb}Z z&!a77NegBLom-oo%u?ZgtgzcztLeBvw1pD`zmNJStW3v+Er_NPhN#Grj+4u0noPEH zf|2J3x^gU6*znM1Bw61a&^3Y;J_!HFGT~vjYuMz!<-vWpcc!7EX_)19t8ul_)TDyE zj4mczTB>$Biw0vkJJtJ$gvVQpeJA=Xfy-nz0ewGnbFnf}{z8l6InHjgX6*6#X`#sA z+n8KjjIULOY!>UP>7=&#$5p(YmbhmU$%@FW&-PmX{V24b9Sa6+ZP{G7%dsbpW|DI{ zw@KP~M(rH+^e5%K;;FP_R+vYKV3K9?Prtt1>eW)bU&(7Vc$U}O%=c*4oo}TSj^i#a zlf?2`T*PFWbF8^n>p1l9>nlj3oBwFSw2Mtgs9{QHwMe4VuIekXG;F9em)9qN)TU9b zsKLzkTm6#0zr1LRZ&GaTo==_1WfcIrFu}`JUk{B=vbtQSabu;<+T_V2#^$Dg?tZ71 z5%*%E+Nwg^n@afmpGot$MvP92!z-*b zby^oKy*R96!9zMmg%5;#tZ0+GZ@>7i9#4~g;Z?7mHw{B&PjBLISbo>_XHFOJtKhra zlfK_Mz2K@%o%O71)Ru8Ke*d9^-f$gh>E(BgXEoo{Rq--%w_qe_1~BWTOk7fm6|j{T zcxh?Boxy6|%5$<_YChDGJqBB?t?VOsd8uXhTw}FbZJDy|JmWs~@szjzP_o(X`E&oc z%dp&bd{YJvLf+xO=u6Db*bLkj-(QNvuFN2+t|Zg*tyZ+1SX#|?z(z|9E!e4BRd!w{ z@x9EM(*#Xh%-6Kv;j+R+o7|&zk5L*+Cso#!Yq_p?U`BU+YYsbGs_E8bW!NLw>n>8! zkQ^4G;Ysft(=sn;l%x$@hf+t_NI-Rq>d5E!z! zQJ<`bW22_yMm45_I~Fx|K(B5d%l{lG8;FhNG4ZMOKJBzjI@xwYZ952&e`{&e8u(aD zi8oS~$Gn(|*&Ww~X7B@Q7xSyfz}D{Aw=AJYPD&r$$$%jQCRnKLA$J2&=ToOI7)($n z>3DN%eP`qxSWp}h6s9doRl6P1|2o-SRwHpb-XVXZ@_Nq8?7zQ_pIi=jgFZW9$Tn(R zcd2Ew*3J&+WLszxGqRd5=)z#owyx~F>p=ZtR0NTWUptqNcDmlklRg(6(-{dVmHWM* zoy8Ro<&NvxuKtvWzw+Zm1!<;?%F%v-o039Ha>W2;P32tpEpA-k9mx@6tB!f+dGqzI za{14qcFbn45Df!Oud2W%yOHhf-Y$b6mfBK%qpnHgnkP;4cRGGZbFrdU*;Zj`Y54}W z&38Mmi?`wi&nM`Ghg-0@2qz{VmD2u4aP5ck(lZ*pmoyX82((xYwzP=0GQ5gZa0eah zub6c81|$sKVBGx+v|8qs0D=pdl#2Ef=GL7St7&?DjL#0*OL=r1U!NKbdJ(OUBjITa zuUwSm`jN)v`EP>hbXsOw?#)de*8RdLBQc%&8RaZhV;p%uUTGnw;>x)XPJIQuQ;(ld-^^)r$dJ1VF*WoGhCz{h+ z>bIybUnO&zbNId?$OKhX)$K8#t1Yd#0AXbHEN0CZYGTqGdhCH!uK3)u**L6}M%D*F z^o14`lGfddbnB^{Z;v=RHvvr6%cjBm^OKOE55 z^LZT2?$hs20h7u3Ig$o4k;IVqdpvY3s4O`a_cUYn{OUC$;xXK#wyie^Y7+1sV0)!V zl9NW60boMU_`^edw~~Vh1cu4|(0Mq*gi2`#A@FBq$nE96d|1Esq((;o>a1jzvxRas zDpu?}BtH%G+PAq!2YD$!3q;zp!rv6gj1Jq_njv<6+Hv)_S#O_AqSFnyly0XOK@4_6 zpLS1UpQx=3eW-r+7?JS)c^~PJS5YOWqp2~fDr>-M-?PyeWd%nk9Wt)PI@xf(W;LG1 zS{2p7iXvgoijw$p5d8!sF$Hm+Lo2uTN z=SLAlTA)kogyC2XuG>EvwF7I5U-hkz5O%w;hGyb>9*LZ*Ohf2^`eJ_) zchGD(y)edjGvzm$Kw8g z{c@^VB!+zS?$fIjdW5m(UktmQVeT@_BL*(jhEakklK%$Rb=+{&eN-wjCk{d`GGJb7 zv86*rnOC#U{mojdIaZV3yy}-v6wpNE>IXqu&;kwTSpQ?_=P7Bq1E_t+mPn2F^_8_$c z;P*M6N>`!W8uEnRrpzmOu!U z?N4u_*EG{8^_Xgqx&wC|FCI3ch#LbRR?}Xws zPJ{J^mCP)#^IOrF~LH?pmfq-#4AhC|5SSbBuX*S)Mb(9t8zAAK@e|9dF5}ttF`1z6W_1 zW}xJaV#l|LK<{7p;#NGdz4_T!RqzK)a7G*ob`ztD$NOtB)MY%BeR;)T9E*6=MIL61 zmpjG-PBtbP&tEJN@p>kmFJ~9PGp6_bA^jEV!Ftdyrb6GhVf+-~t>YK*?^)-ahN zC)7T#qKN?@GDN=JrLCl8;nULCCrWi0KlO_OyaUQ`b$WK`qEDC;E8i|gvgbh)GqreSKkR31y(1K9q`gY}2)g}wGf8=luMabW5qlro%o>d#SMfuR7mk7g(Qf)z@&jOBgR^19Ei+~(CX z6?pD$1hy$2s*{TQE7d`_d=IvyL%9a@?S7p3`GuLl^kmmdL^P8wVi?WTXz=?Y-Kj%R zuh}h9F;NkR_UCW8pE7e6{!|0=!Y?OHWkhdWe^*&xEyth1fIN+QKf&2|n?lLX5|x7@ zeIPdcV`ASAyXuU87-?P*Ugd`KIR)%tRRtRL^K`Zz!(v=l>jN4xENndWLf;8B=?&@E zs4o4k&vB6DXgA-&Efu#a7?|pqn;8v|X+mI|9`l^4PcOdA_7LOuD1W~jjZfca2@$od zX^jk~rsMlU{Rq|f6BxzmhT?73kgtp1AwDpew_efIO{#Bigh*u2d4%qE(IkFaflGr~ zj98I|Q>rHbEiRR7KHgxxejr>@&;_ZYQjEwbNopHaAR1moN(lSq%^AJvG{oTbH#ee6 z8DR%rz~A}vY0q7NO{j^2>#EEEw{VBk!&ErmR;gZ3QyoN(-$xk0`k!6D8jA# zX`MlnS-<&ySC|N&a2RAJ>#r{Dr0li|w$BFfn-ksPvhdRmj}F#rQTWQecXjfO8Qg5X ze^cLX@S<|psJ z>F&SzEO{`n0*ln2&c|!rjx6yJ<(;u@pHrY+ETLs}Pime+8L42ySk8j_qpWEn+F3fGwA$>rDJ6w#MJd!Nk72|vbK>S8wcxWd|8~$Il~T}8 zGKND<#V_zUM|2__Il(Q;ZI+~UrsVMT%P7PtqG&VluzthkVj+ems~2d-@U~+8CPx^q zYJh(@%K@V&cFpBqJeC6D4mLy3H(v^$&KDMzGW`r~9nbM4gA&O&Tp(G*d@f~U;XIL( zk(MTzGsA3I7bQLs)w^==H<#3gLuAec{D>Z z7=6iyf?|5bIwwhPi$Ggm&2D%m(4jw$QuL=~$fgKx9cENgB{}OUZR_hwDIMF_v)Bcz z@DG?V;b86pxoiUMqaz{}=|R%9T{p-W6#Tl zQzAx7!{-GjL3V|dpt%V4MkJ+xbH;TH`73dcH7%D=TPx@$)(Fadc)u4Z@?ci)7D1+l zO@$HJko=KCHmF5aYxwI>A975=Y%H9vctu!IWp}aE%ui$TIxN(mvnWO6CoqMEQAgxc zKWHd;jDKjq5Rr?y<(LVOD*$PkfHiv zQ_%gfN0j(Z#bAN>LPi?FEKZj4O$45Y)Wjej<_nG}9F+>)ggt#m$*d)$3?}rt$9wF* zPi;hyq-?HYqOGPH&TBAXnl9!hW(db3-XE!Z2=3FKw@2qa_5+45sb#a(xtj(Ioy?(C z+0cy3)7NChX!kF{EIwDwYG-bpPpvka&Ex0IH{z{#>5b~X@dFv8@Q|V`i#I_gfls=@ zRyNpifhiwiah71N4HqYvX6CumObd!!QzcFHQ{~y3R!xG^qT^t=+}8eVHouHo?T>tR zA_~jAVmCO~7Tf|Um{5tE4#x@XI-j35hkmxL%3ZK^o|#6*$Y)JL$U8@wBZ|;ZXE+`7`Zko*8Ew1!}i*>+v|$RV3Sp z3=#7=oLGCkyrr@Sj*Y8nJH@}5(9%E@7GXlLF1eE>)yW9yYO_z6th*oYeF}QM{)K5Kcec1PER5r# zq^$W#i*lTSR=Z=+?m;>_dxP(rm%1wXZphEgW~Wx!Oy1cfdM(qJhl`K^!TIH;xO$sa zfW7rw8NVXD;l5aRet@watSx!lONA1RD-r!o&a78ZE|4SjdrD89C{Gd5)ySIIjYCJ4 zblYKlg?uxYhjBd6w0DBQSc9`^UR9CeYdBEoH=}}z@oEOM4Ri5+GNS{~RWq6v4}?G4 z%Jn2yEL_zsM1Ni=4>abHnLAH~f%1H$yITD>s@EyFHC0D#sPHHBsb%5X(di7pW7{Am z4bp;}sJ-xg8DziiLEb|#4ZQ9fDT!4LglLb8ow<0TdVTby<$ zTwYKu$IvUkdJW%RoT@WXYJE$pT=9E9`sNj6tY=ZY*&xl(+128DY~26IC6mGkJ3ipl zV84uUx=>N>a<&|#shnSp*wBNtMLc6Q{R!{n>!5n9vFCmy>cKaCk<#g_I)wYg(~2s+ z*ON&`G6rHn~^0nD>q8ww?1P z-mX4HM&c))mmwRMIKh4{FW&?+pJWsINH65-HU(axwdyS)AkTayyvcJFhe`#e#iLW? zo&9OOuKE{YdKWgholl?~vgC_usqQa(w7pz?&DaVNf3Ohi9E48nQ zzKTK5CqUeVAv3tD?Dt2W`x`x8 z(WEtthTwc%jk_9aKgnViNqi>9CfQWhMRwbz9?#rUX6tj{=d$k7j5*Jj`?vcr0sekG z06VWO!Cul2Rbh@pqYuCB&t~cu0dKU?1*tNSmR!0!RvbLwHZ^%PpXI7F%`}+R3xk~W z6_4z=OkWgR?*~e!wXMS#{Wd_kQkCEkCym0J43PZVVPlo8+xb#o$JKaxIFY))^9zwj z1Sq_FQv-aqI1mdgH8q<_Ac9iYo9~b+pYXY4Vl*Ns>xqq1KKtox=2c5b3=G!~RRr>dD7Ar6J zZdlpVM&wS4ORhw1z|{|Dp0m39`|Hx*>yC6nMP=B+knB_iF_Nen7Y|9AhZ7!`&XO=+ z`~5%rJt!o$?{m`MVQ^1nIoji|bjrfe1Mq=|ft$v#3}}rE`zhcqY#z z27`udQKd1@DUkoW(0A|wX`(znY89cKz%Ax>o0Nki_`sLL_2oK?WSjN2ao?9#3G3w= zc%(&q;EGjcqYO$9t#;Fp3BLF7JZyuHTJhUX_r>fr+#p>6TroEDBmMVVegf7;1G0?;F(<1}hkE{z zwNtX>R;uOIZi9dZCOhkDzSeuK^dv;B_yXCVIYg4e{#7ogwmYnLVJ{3QfwqCO`Hihd zId9jUzE*ZIxQMQQj6Hx>?OqRJJ}J_0XJqU+YN8n(@Gy6|@#GG8CI4&)#c*x9Zlfj31!mAxcBEWYV@+SjHIh15y*BS` zHZ{R}BeMX@Iwr|%@Xb^p*jfQRP#2ur;xryPiOpgoa5!^UJB!G6m!kE}krlzgmX4g~ znu*hI&$fdHbw$}HpTF?#@JlLZbpdNv?tS`ZOO(^|s@E>X(zS`S&3?%~Oim9ew3RKU zF6&xoELO0RJ%cI>j53`g%yPa7=fi9F!f!83>BJOk#u1`HJ1)75Z z{3QnBwCZnLmLW(No1Gv2E~m@sY(PGH&EfiaSIt&AW8;p`rqsh(9?uTf9CbByXx7%s zG&=Hu(@lGkG)z&J26mv7coYWRK(YZuv{Ve6<+iU(3kp0&OR1`eH2y2pV=fwp zwXjs2?)G|+j;&?7auvVR@l?(&7qTsx2^t$}!!iLE`YaT~$(4j?0=uWSt3$u&XyDqS z0x#-pXu{+O=(BCmKfdamld^|5@$PN14)~oGS&q=$3o&(x-(aTzF@sVyCT z)f~J*MBro;eneSUJUH^DQkj^YQjyr_R|Vp zx0A7}(hRX=NsJ6tDW5F9RyEpfmSp<8v_3G|2{IbJoa@@pk6x{;C~MW}gGnlrqlnQ) z$C#+KrnBzX#3bCvph1I~B_&h^DC-?(sly#+$RMsetdxqbFgi`3v_7^4xC&Hfrn6b~ zN2M5(JY<>pc)8VGykBCno9tL$!|)n(dK{^digv4k4@)Fi?K`P>=k#e}94z@fY}lG* z@!=g1NAZW*ygV!3XI^~3p=LbYUpv{Yo;9x9oUNcY*_)~T9C^#0jIFj=QU`dM1^Tp~ zEvBsgKc3FPA=9W^`!m@+*>+8~ZBMrCnrgD`n(E26?V4=YlWVeVf4%3t=ld7#z4y8o zuIsmC%5>zy^5KB=z>b*%dIPJf_}E{kD`;MyKQh>S^X0SH(3+gu-><^9>U%|}$u}Do z{F~H8N*AlMGFJWG_7pk1rr^9z@0s0BIWHtKej@A!@3P&u*V@RPU?cUBTJ^=Pz9!8A z{z6dy?EeCl;23{67ZOb}7l^z#{rkyVWkUCgVZ9WQbg$>@6*M6_0)taCQ0v1!866V7%uu%NyGzX8J;b-f?; zf3=|y1aM1lJL9<(LcS4ZLjn=bPH4*)IM>)>?0sRKU|h1(qMq|(aCh@}MrlS7h>0^z zEd7R#OR77Qq>>7lA6ZKUmkl!K*l`{15yP*~VU%;4120)@4c)#%BXIeGiyx zZmI!=3|h3am@F^VhZn+f12Ug1_jFdBjeewIyas=?eRVt%z?WQb9sZZt)aXV>utz}5 zmBSNt7V$~=s;q3;=5Pmm=JL*7!5Aj(zQV;3g_o%1M?V> zj3Dp5t;MTUuC|;hb((>hsRe+$oJ2Wsg#CLJsh>!i3|*s*@UC~qV+LmfgNAm&OWU4I zxXt%q$X3vwi^3^i5F(G*Y}g#}vKb4;P~vtZ9b+xZAu`!nr6V$_k`;cwlQok?bq-pS zj(yhvQc8{m9l5ZLH-OPQMLM4XnrtY1zKMlj6PZ%!3i9GTDFl09hH=lZe!G4p)rscNJpe`LmZAUHequXBkR}vVz~r+qt)4ckT$i=#2NdL7#XIr97`dKnXryVbAbt3WVJ-+cX^`^aKGq&QtKtd@lSL-+r)_ zakEpu&kP*?{}%`WaZ;=yr2(qz0!9lse!6RE)Sq`dY#5Uj@JhhukzjF-PS;ZcKy{jQ?)pHd*6Z16U}gt5w9M#YM&LqEt@L}Yfb?S# zWQ57K;lDS}HXKv!0|6LPNGT`%ekkAjN+a-#upx%e!1lg~h5eT~0GQyPVFx|D5KO7M zk{s{3&EFQ)dY&J|9q;<6og8ECn!G$j4M$mc9NUV_OCi2?TiuB7gV7mYm;nhvHMRU} zE!!<^)1D8T`^-uwDf-Qp^F?%d*`EkuMe-;Dev7Vuc<1pa~2`egbFwDdHElx(HJKq}!Y>+1FnB zT?#riYMpRhU4CBapRRUQsH~073j}X?n>C#s0J(IrIqstc+9L8XT}vt340m9x*%z|N zD(M+T<&GCCh@U;uOe6nfWSOVxxkd1Q3^Z`bUy`gW+hPaDs!AoI9AM6NA%^Fy6D6Cu z*{7&sU6yPa`->r40O<3B#+9^WhlUA&xNS$UfOqcYpZeajFc}S3aZCW4nb05PV@iGp z8n&opR?Tkrs2MC~DT~u%wZ7o5nz+^?UHe)qZCqkhD<}6l=c81gRvLQmW;PK6WRQLl zuY`ks^^7|B9)*o1_oPZ?;iVCb#WoC8bt=^D z41WV_jkx;c)G>-WuF*z&r@q>Sdvh*I?wE!r~f#{{?nPKg8e>uPFv|$S#Z3Esw7qbt5U2* zX(IwIr?S>)H;L;1&{;TOJ`J?3=@giv)x?@2WRcr_7))}`Y z?Q+^|0%(5A+OGU&W_LPn17V_xtGhKfxuM=jcS4^njw?M*ju)dP7*j_dUSxSWHNQCE zn|!UhGGFWQdsOg74pnxDNZOOEP1R{J59*2@MfD(Ku0kQpErqm}Rj6-rn-xFQDq-MX zx!g3TVm?|dprT}V9CLO|6bl?xPT@k)j|ADR0!V0<9?t28(%d6FCkG-B1&gImv^m~K z#C?ul&Ttcp19R}@3#J3)smz1w(e`p!m}OYqdm#^39EhGX&gp6E>P)r*gt5VXOP4~> z!Ip4LbJ(vrbaiBgHe9DM(f{O^u)V?ws(Pai=NK3rMaH265tJ2 ztNS~MHDJatXBdxFt`1|9Kcj$MKvD5*_wfJ6F85_v3np>2^i39PCk$Y*?>et|dU{7- zoegQ;K5)Xp=ta5Z z5zW39%3F*-42ht5pX1rZa>;3R;pIk|g6rgia5kbp7Q)qXSoyG)mFpTih8$^NIQ7XR zniY9#-_v{DWp|hRM~;@;QWs~#!6RAwHp3V7kj!>6RK4TjrNWR&r_Yk3-dZk67s}Gn zS*|Zk=TqeK2BDAHK@geLTGnZmJ$e84r-S>1kegeII5SRSRi<0(qr%pWmj9E+9f3Ft zjH+8XP+H-nxz&?F2D1gql_I@+S##lFB`REOTT;GURQgbm|3d$OJuoG#Dv*V$iU0x zjtx8e+HIQiqTz1Bb}fWvE*N&+HRS$mF@>p=;NQaNSh#tCPR{1TU+}G3$-BsOy|#ALzYLFTE6uj+)_9=m zCfIo_ZG|aQn|M9s(2}qiY+p)*bs@@>7b&JaKVn1V4K%m^A5=eeAa)WT+pXg(M`@Zk z)FbCF96^2Y{I6%@z{6_sSHj@46s8|!WRn-2;Akt12KMKxErwMIzx0|cL67^a5&mA7 zzdr9!x*)R#-)k5cg*n_j=$1RVI?ER;3x1vSl}WN3nBS@XD$mufQfB&ZkQ9l;cl z$e0GxMR1b$3$x`3L$*z46#}Zu2Ui2Sv}Xx6av2SfNWQFrqMG=tsP7dKqbu}d!BUtn z_Vzp9jBooRLY5N!T1$u3WK4lY?t;A0D`_V--V?DUDf5)kyV6-KEgZYy1zj?0*m@bm3r5;porso%d z(hrgYxaNHFTbrDp;5n3vlD{i_C5OxRS zbtqCwdcy)Q;+u3;-;#c!*StdgzFZmrEnjqXRC)W=6`4v!0i>w!ENSG@$?tg|&z$Gp zM8(*G1$W+<(r_!7sywzwQ=Mdd386PoJN9JB&H^rdgMcGqI`I-B=yv444J#_ftHe(+ zA0{2v2lO?+OP0!_^*RY8hPF6t1lyoHtH^!RWp|kWPJWzN+p48(;MqR|F@j%;pOo>{ zATtU|4Gz{vk^!FmYuugMXHQ^Bo&aj#GG1R+n`NRQ?E!Os= zS#6OIClbt8?=uw`)j zl+kCltbV+WsJMaB4m)5Fgbk48@q{@?gZ-17pq|kllBn_$x#s$2`__p_`3G7#zs%p_ zK&|AIKPZ&0@Y~u+mBK+UhQcYPcWCk%MSyg-+IzgY$%o4gvr|p)6jT#0W=f@`l8IW3 zWgda+1$d4V*~9HW8%PbTXY_iUv1jAM-=}i^&!$O)6<`=+R*g7ng)u*a=>aOQ4Yme_6eqr*~yVq&D1Ok3@)q(5&yWIza0*FLg!O-*Aowp2#+yT5z!dPtGx7f@xxn+ z+o{~h9Eq&b&BeU_KB@^D9AT)Yq7`fi*seyq8#>L!<;NlchWckK4R+%rfB7C4NRoaN z2N5XLE8O`z%J9$(^J<>O95s!FhcYO-Mt5H`13H7r%CIV$(liTbUR|f{qmY4;C z_bUfy-PccRlCaNEQWXtHaJrP@eAXylOU3jKe&!wb9(pf-Q#DOiz;!-7Z@H0W433PY z{u$s|>}cxzM4|nCHI$e&ukCEKU*eva1*KS7YQnV&7y%d+Q#a~sFuC*{?`NoyU*o`^ zhoH^Rl9!obSvso!r}(yZJ~JgsQH_H_RegkrD5cG^bH;l97$;!SFa!02>Um`Wht=tu zg18scOggGgdrGaP%(%W!El53q+had{QcS?oSnuVb-W+gh)R)|3wG=y(-{iKRtg)i# zd*^ZnXV9PRm@)pf%dVB;{FEZ@QPRh8jk!V*BB(e--u5>1o;-SO3Yd(6RtyUj;1OJB zB#@kKvAg9x_3@E946~GCB=~%dtUD0)e2b|p8xzC#sB5#%gm%brb-WDa7ZSjvyZA6R z&ggg%WC~1qp7q2Iez+c#g0^=$7wuV}cRyS6T?MkV@qn8%U4)fQH+G zUAm7{Dr#S#q_VBsn-CziE?IR?yRPdN0S0$O?6&Q#8`5LKmOfa3vaB|u+@{{AGUa*~ zQ-HDK8bLV^zHiC7cswpilKXfOrFZwYHO?G!d3wOXjV{Uv!uYkaVY)AkD=Ap(^?W5& z0!22-wL%j0%BzC$zN6jem{{H-uAV1(@8lMglMeO7%(YOTZF;`IXg zqD4WEmpM%>X&JnqTrQgQIQWv3T!)PwC!a_V+!*fAZ1@Lb65A~fyLUqt24%S-@SI#9 zri)E31<=ye`K>*nAYs#Ct$9UU2yRy;H!l1paSqk%wra_U&w3_wPpf9L>lY39Uip)$ zXSgtc&{zWLwG}H`kCqA27-66iTiK9aJwSWvD z8~q_1m`=+g=G+;$j^y_;uk!HM?``PgEo@jSG?ajb!~jEq24~{NiQ#nlnhig=gKJ1q zVC5nkMnwXLG^l~DTJf%TtSZ;4+x2o4gp{JTR!9Tyq`hX5_XnX?ad)n?sBn?Y#TjTj zgSLL%c8jH>ZO-p?J1On<+4H&T`!K)NUuz4-I0gM^*@zu>0Z=%UuX5FOr}146y5}eRp|uT2Odp`a!!8f^WaZNfNaz+JJN*QB$n3Q}w)%md6=8jlc9T>1@X+EC@&xFQSs=!uiu1sRQET z2!Va01hf(D;%GL!%BZj4lcA07B>H~|eLOYe>DVGiWVyelQ2AyqSfs9_i7^i?J$wNKyApJ~r86}osJDMmBHfbZbND77&iD7KYw<6iiTI4Zm+r;SpRmW&5kM`a&si1$Ghv=M6|OUrc;(UL{15z*Z9{!*bW>DfkIlRonEtZ zS^rD_3H^@G?M=LbQ9~+?C+4UIOQOtr8or^8??X^>ZoMC;U;D&X@zg8BRs54of}-1i zM5A9uLgH!8)8qcE4}Q93#RaSX$d+6~EImu0FlUkM)yVE%{jGY`L#{8RkPUxwWR%Hn zNW=^I^~2!ffsw=En)YXvJB5uYZuB6bH^6-LNqYVYtyI#uT~?2}9_UOrqmM`{E{~&T z>AoOMQIWKJwNmIuB-7Upn`FK=?RRaF(czfvIvgRbAWNrF-85U%Wu4)6(YIHY;j>?1 z;5HZfm5(l)VIc<{d#z>ry0IbXCuAvTKd!IKC6@kKg_c!c0Wx3CRj*uqIauUhzj%{7 zj9^L1!&vjQrhR@7JC;}VuO-}vK)|~v z%5ATclY1D&*qiLmMc4F=rhJ|d0$EKd?b8eWKZFrDR5z|Vp5T@<8S*Uu+H+7th0iDS zR=wos14QBrMziTC+#3pL#{@u$W+>Y65a?oe4Q6|~WH<1vw(>!IVzS?Cf~QcIW;L)k zsEngC>OR~P)dnZVftGE1aMwvma;{Mpuslf-v=e@N<@DEGIPK5=PWvPTHU{J5pqg zS6W+J3uM70mk6dpfUM&eHWZyyeI?1E=hX&?DLy+;S-)gtxQWa8-G&-JvW_Siu0>s} zsC94d_AK3|rVwsB#53(<&%7u;U0~7~rij)mk*C73Vscc&aqIn2Q+?Hh!{WQ#ES(8V z*GqQ?ax%2E-SqMle@TtcZa1%^rL{?NVe#}trNg85t@>Qc((0K9(el8xsdjcdV2CD? zjKx|;K$U^?tR@Tq{=JjZAiVq%0})fTo_-xHR4!?&**tdOk=k!Lij&BHj57{Q zNG(dXL;9dJ$X$@gZaBvse!fHMs|@M%vxZzkT;2HUuzrIgzxtUK|CIRVTecOSbt9tk#z0>-6y%Rxd%A#`i?~rGm}4KQa{a{kh@i6IQbl39*;XSm>`eT%hLZIu zKCf`svpLvM|FiyRomD}Ur#T^Njs9AfP~rrKkm)|p%qY%8OFQI<5$n;!G;w~!O4p8J zP@SF*8ye0PJWzc$PYyeh_o98Y``3y(FQSBGtQ8A?qKYf}C*=8*-q{&jn(CoGLMG`C<0X!)^9jyPS%x0kTl7;k#2|1E- zVSz~Bpq|@c2w*aE+|XE;42-L|wG0=3?)B}3+ikP7fn>-=x7gg{3@RFF_*mB&F46Tw zxBgd}-AeQDmj=)7iQ6Jbc7ay*L4{}+J#)1$0VbiRh$Kz0N>qgnSH7yVoG2aqB-koK z;+QT^YktmAWR72m7hw7`Ruc|kbfy7%hA(1X$zfoGVEYDd1PAZ7z_f3!+2pKBTZ!sk zZQDYb4vjpsTZNVN2L@3HZgoOMh+ILTFv>0{5Mf2WH_w>(J%ps30^cTh9Ygw#BBZ@Y zIDwU88xa{7J`1280~9ErIigSkHr6P5)SGn(}&P#<)5P zF}gQU%Vjgd5x1Fw8$utAXGJXT*yr{a)dU~j8|JTe_`h)ScUvqJ!n?0JB#upBW3KkL z=b$}_+@-De=svK1rm6l4?71?K|F^YPbeU2@pWRcj-DBCX=ZQ_qIE7%}^wq%P)ohIWzbMIL%d5vbJ$D4E?4kUtYHWMI-f`R3;kC=JuM*#I{h9iCF!Y zc!Wla@N?8sHoO2rv>%qm%UN6-Vs!jD^vbO+q)b*Tqv%!XhLagV*%>e(veImFO6hfQ zY%yw~WDXws*yQ^T{Wt#4&-nx&Xx4O?McOd%330B)L}nM3XRlW2kdJm4NG8@d%>I0) z>ZY@#X;Bt20dKS!mkE>?-P3d!Qv6(%fZDLuVLo`O=v)OW9Bi9PRCy@5gnGq_;6HQ$ zo+iv9lc=yHGUR0lr1T+7uFldoKLRL`CVnI~TSOsyr zzV2YqILCr8lf?w@V;sk;qNW;wTlNW2IR!2o#BBKCq~QjdAZ^{+b1k z-vq*Hx_hfNr*Uo_AGhb#hX^m{DQ*hyjznymPXg?Db!`IW3bUNvR1Xv{#kWn9z|)r! zI}DIQGN9))v6;{}i}wZgvsAELGzY>LiSnBfiq7og6^aRl`V@*Zb5jxK{ z^MaA?gw-q6UB<6xoxsfWTWWrY&E zhUUnoP&dxNJAAS<-K2?=C#ol2o|OJHM_!J2-=8NZ$nLRt16DB#aWhpRf{PzgQ_#hf zl-v&<*o~xE?mULWsXj#9r+*)i6H3CRS{B7qc(5^g68Tb)Uw0I>1x(5~>3 z8MGEn;yer<&^+?q-u}OlEk5{n`NZoT4t5lq)rHP+{7D1xsy~Y92ezC=W2)+>-(0G^ zFWJI0SW}_9y?b35#=1ljY!u=wyVb?tW;t&gK+ISRqPJ~sk+r<_t+!%NKV!l@R?GAB ztP=Z`gH>0jo0?z-Mdtpv#L5NOFjFCsz0EtQ&PTSN+#Hn_!338MDNlZ2pBCIUiPoZ< zdCxgk*hfigmbeK8H2oOpqemz#LZ+gC@X&5)oTA1K%cr*feJ6ZMd?&`PeNBBHrsZ{N z34Vf*e=-Z@g9I8eJd?pJX_B$=BtAlWs5H{PBgfuF>#NjK_TQ_a{;mn!)!uSNHpR## zCLYtpmxwQ6*S=qz`6MULX~M-~A4AVjZ_T#5Prbyov#9|&Oy!Ywe?kv#h`dbSqoRWx zd;0I_NGE=k{EGVvha|+G`(1!dOE2he+(#9q;TV`m_2bb@c>E=t&lrvU(+pmFDlS=^ zXt>kqO4L779MWKKJ9cSR?v)K>z1)ZAl9FA(_bWksGXXR!BWxXoki|H{6^M|RSGeeTs2F(d4MuOQ>gg>!^Sw>%VE^W76z@mEH6Bpr`PAyx zx|t>AYLBk_(c3oMXm%?ln6k(js*bO(7Fe=Cg5ktaE0j04%?TbR+4*ni@(b{% zT;o!nNP%&%Xv0+?P1mDzVN5CySLp6L7F(Fd*KLl|6*|sD+*QJP0!q^oNS6)2F$7{D z*61*5ZLNb1vgcosFQZ&XLA7DB&iY#(943U^i@iGrHx|2w?-fS>I1$^O`k;MV-J78` z@3q>xmaG_B*LW`*lvH4IqEF<|gt~bVDwS+ih=NfEQ?4>1xknDnb{ZUDvW(e&!+!Q_ z1WBOe27n#oJ?KE#Ks3=w`;Ta1yAZwNSW03V_{sot2Nm6@|CcAq3Cs49(9%Gq%V~XQa`@% ztq@s<6OP*}2}l$yP6fG*0>H)tC5^D!3l4EpQNO49f+{XM{oC;YzFKk4VT!)LP%BV! zgHSD9Q-%9w6wU;tI~P+X!A!^y;~&#OHl1|U8-hraIFnMa{gQ`n{2wUw1XXXO`bt#X zGECh$7w6*|Ap8&Lqtr+s{JtO@)qd^zyun3Ck)t3sw0j>doeaLh#mX-bxM#6m*b@@A z!Q!n4{TDMNoVUV4DlwY6@Qp`*EI&Z>`hw|7~?9B!Gz=BA&j1$YDa|FH8!2 zP_5%NTn4*ON|jz0u1NhDoKB;g@)b{$gCy8^U2~6RDk8rNj5HITP#j@xi-FgyjBG@{ z;UVs9lB1ulQ^>Dso!fGzp zTqK*i2C`eb=9R0Xluuv%8vtGBcH~xf%zjnO5PX8ygf~KY5l%IWmqKq5dAkg z>eQ?@H9LG%cru5_i|y%eZRpdrmWr;MF`H(~O%bfIPQ|SNP>Z6w>~y(B(JS)uQ-q1# zD0Gyxf_Ct;Ya~0ZrEONnucrCe`%o#x0IO}nkxM1`(>#p(E1jE!HB|qTc5;#CC6;0j z7tED6$S7N~^Z=PRwA&lpRjaJ_)!GKn{%>rCZ{k3U62N5L`liRBT?V&JGv3z-mEz&a z76BvJ&@&o`xQob66%rz!mpUVNlgGwJ0&Z+3Yk0RHJBc3hKg3fHwln zzFi5;VrBC_D!0U5XEwavs(v96YA%Xf4G5$0S!i;+E^x&9xF_AtmaSgnfv3GPqNs^k zD%0ucY-Y}-aWC-pYEw0QyuG`-d*s8m;x!YW#S2VU7;IKzrBl3B(cyd{VxI|^!ol`| zBk~J=zjS)D3m&Pex$b=SxN%e8aGhOP&ISE$F6I6-$zkJwB2&x78^D4^#1#-rJ>Eua zkQZNOb%r}Gj@~6NpO4aA*;)^NYxvH+f41}c{Vx#V$(S_vK3`jm-Pe4v6rk_1FaCPS zS}@AmknVctPj&dkAeD`z@uC;S$yAL06M}QJe2gg!Y+M>Z}#w`BVYaoD-*E7+a z1YHtovsaQTF_kX@swV;W`XXp`422BEl5k@wV~23*e<6|hKT<91hB6@`s8*!6#t4M7 zlT)k-coZ6C83;`|H-A-$N2H?_7@!`|g^w~4zD3<1Z9)Y$jAj3RgUsNut0VY9pM=_b zqa`ZY!#!*Nu}a}~5poE?VOohH$y7$}`+kLEuJX|>tHJ}_KHJiz5toHZ3hS_a&qd{+x^I8n>;ISPc6L&nHasvJZANlRikbA-mQ2PX;TEhO#@T5C>6#Ter z?fN)SMNO}6AvJ=sv|<96H*77IJ2Gxr_l2KD&JcZF5J@_#h5kI{+!LUs;EK>vp8fv1 zqDa&{gjj$6<*pgmZoIUVw*1Laxn>*3|IpaQX;fUL--1*T4)=$iWPDPgMcrI6pz^=Ib%t6NZxgm{=IJ8c+@w7g+yrb`p6&D`i0`||$`YJP(H)PgL(Y2T0AFx&U```D4H%9-{6Zq(qnG*RdT zNtk)$8*r<0wdDx%@aD!wT{&;guwZM-;ICor||jO2PXKakf% zd)^AV-sXPWfEw#IJcbeXAVlEwaOym64}Kos4 z=c`?d91g4IWYaiCRocy=u(b6{2A;i?a@i(DgB_J>ub7}J9gQJ8@%}n2$u-IIm^zg& z($|C7&rX;L^5^PW99D~!)>$;${vmci6OP+q*OuuS1)zIcmbr$&}XA;;1aqJhl z@vC1ARBz_8*5wt~5Det=Xs=qUMM4xQ*YlY4fKW+@P+y3YrM25wo#e3E`2lQ}X0ZPE z@1x6h{D2-*YorqH+VCINq}NT^(o>ehlD-c{U$40v;I?u_%p3pn13{<9i1mH6xn})W zP|>)1kPt~uGy)t%15XIzI)4mzD#gfK(l#b6NfY98%=@T zZA#X|xWVT-92`77?`f{j@s6^kh(PTlm3*Bpc9SwzmI>surD8gp)9!k+5B#Car-8>j zGhV8`XMii|Upb12k>$Ewsb!v2=F8e*$Y(J{KC~faOeoLd-8k7g2+(DkjE(NM4!EWdO5ZzqQ_qa@*ckLY%KL(Qvfsz0D7GNk82^U>}9)JSC4sk-46dJg0 ziH_}w4KYwvJsZ;mh{scQQFnzXfzbrV>)T%*W`24s3A}D*#0!C?#_M(`XLdZUn4LFm z`hYesTe?&F2>o`4C||#}85_}0p1V!dg(Yg!Sq4a5mHN0;2_lBeAXNwt1=R0Y3 zADO+*=UfJM9;^)JJpY;Gy>YZ%zh)m%UG9kEo(n~+sCV!_r5(BRiNASV?tVQ(bN02-+46=^^lbFw#retVM+A4 z)Nr1o$U7*3NQB1r;}(x&B@ZIxxeu$`l5^|E|NJw<<~&f*FVT>O!tKDrLd$3c(e0Gr zF#*18Lcq7TOK7Jf*DY+Z;*qawdV4l-+ z=HfQ27q|M@^C&78^H87HWT_RnqOlMHM0ovmc`0!i*jOTy3Qc*Y1F(KkUB+u|#{)k_LLb4@ymv2J! z_+);#Bb#1TtbU=P|-=309r zOmW@+_I|s$#wl&k&eThS`Ju>v-MZm6EZSUGHpuWY;PKFnMzWC%1I@j5*A*t$n68*@ z;=bh)#~%i}7_+otWwizu(H(k)9RV~LpAvW#Y)3(%Oi(ZpAWNbyyUX`O0qBJ zI4f~d3`1{APVMVRAxQSQJ+}nk8vLl5+5mOY7#n#yVk3FYGOpXWc&mqqQ$QctM|1q;1)M$@SFL zSbGILH?26b$V+#nYqga{*oGONe@a!ZB?NvOaVSoj*>e}2yY#xU;^a+rU} z#207Zdt`2}#5Fp__S&fnJCD5lT&@1ta5zVY2yf3D_ zm~S>e_v|T8V@NA~@7p(y7-=zK)ueO{talOTosvdhj2IJvFeFV=n61)-(hx3hdx>$d*e=uBNLFfTbh$ya%d$HT^ZU3%An$1O% z2)ypRy`LWj-2EN1$s6S2fpea4mF4Agv3{4c4;2P)V>~2I%*U8G3M0Q#Ptdcdk-eTn zi=kdu)C5~9YKa*CIUi=bq)c)@0UBSGH*ueF@1&GwygJ-(e!%t8D3cKBJR9AU*+M|L zvm-Tcy$yXX-$oI&;CNkHdC6z>{cuT^U$H6AiaJhUyMv506wOi;sQa7J(>W)BTv691 zIngA8@6w@-mnJ`a25SNORgP`3i{ke8`|I+&qJYigx=WAVvebx5Yyo@#)p*WzZV(a- zZooxM#&S3;(w-+*G2^`@h3abEZbEb+i_^{*mFHJ~JJf66=W`~3$C+^Rv;gaj>Y34^ z=!xxT5OU+_JQdk*YAdS%*XEXgT<@J-cVkc)93Ghj%%6^pa2TNZTHNOR+FaCJIJ+Kj zi#&{#D5czrvrVrLd!n{~Cc;7^eP+L)qu^ECxFV$CBOQH*&Lq0=Zdgmpt0;-bq`cg& z#~+f2J~Q`9YnIQn(9Zw9KQvp61S!0kvsFpnS1Ye`y?AktLJl2cS?hCLoCatutS={+HDOR?;hOWy&~3sFZc z)Z4XGz*3_V3Eu)lo26A1cudDnnb8%tHHk#srV=ag;a$c63Cb1Wkr(&resUXh5%qxN zJP&2`3V?EX%YGZ)!mH0!RjYsP#v|KHo}KS+`wYy;yZKk*F@k#usKEoQ<%gEm3*y$& z?k74Emt+R)?Yqja9-8*<3)rVlQbiU4p%WrrLpV+iN((iRxrM=>xcf@w%I(v>vt9rF31_FR%8gL6Sw^nj zMFqp3B_GU20C!xJmCr)W!=#8CA|zZLOfCQcct;r3kc`7KvdDH#_qjjaYKC?M`8qwb zRFqXUjsmIWvjjHG&v`eH`1gbwVfS^Lvu@km1Mmiec|Pp+xW;W9lR+u!It|wJJ>MF7 z-k!}-bNDge_*mtl%>e*7v(V6gbB%d8!~2-0M-w}7*YyN{mg88DN^WfS;7G}AUp+=c~TpW>IEHipAGx6RhmrJU;allvR?5tq8UsD|u*yH2;XKnYI$ z@69rFB+Y$H+(g}L3Da$co}2!`sZb%~MuCZI{v`hK)kCenG0u!DXxMp_g>p^_+$)J_ z$`Lkfy+6Q<;JfqDnLc|hE5Ua-^xFZ0ae>ai}$L-UHa>nf{ z`t!GM3Eb84zrL~P)c=N5P9tow zL6Lb#=Se9Qp;{qvIfQV|>441pI8vxhr@QWo>v?2A!RHM}TJ+BmCbaX6aIB3=VW9X< z-;KqJEYH-y}_oM`s*NTbk3Y)0gyw>#>CE>1%jT^jhCo6B zCT)E}_pL$wPj#FWD;=T`nA?@S*z74nJmJP%mFoyD+Y4W@Q?1bWt4jX+1(n`EM|Janemw{9aq&XZ}p|y}^-8uA;E? z{(*3qQz&Fgqn+tGwr-M68p>-sLKvMQM=J}zl03^{Tu4*QLIq$L(Gu9U748eg!@n7z z&=loS$2+u9FeU#yS~G-`Y#iCFC(}FTw|dn6x(eSem)5SmJb0_Q{o_5<{x7A${vJZ1 zmS3T4Vl8sl^Hmtb3g@O_KbxwU2g(*|8r7R^Uf(sqlT>k|VvZ1qX|Z-p+z3oYzo+)R z3C2HRkV9oyV;OiS$OGB3&xYx_s#rv)u1TBty>ob6>-BzLQ?2BBlC&6+#<1n<(goy* zNLxiTwKT1U-s1&98RB!?n=qHGe8z)|tl^Hj{K7I4VElYQK8vtOS>9;bF#Ea$^Htem zmS)RUoVK=NQb3VXkX5fP)zo@rZ6Rsyv{)62$7@57EKz8}pU7oAJy z7hc~EBnya}VApD`lD1S#VCkP!C}}5^{=QD%`tXKf zsWvj!`ISmnuR>@ZkWfKYHkwq#PJ~3l%a7X}HV+8AC;XR95-)G5g72fg@9DQ1`*Va&Iim0HUYibC8EV?vp#aW>c;pB-HDl=Q(#mD(6~Y?} zY;%J>J1JuC{AFV2d5Pcwg*Qo33u8TcI9XghN{T#cn1nJV2YFX+5yGtwOj3Vh=LE-pBM-q0?9Mh#5@QzPf_l>Ck zNpk;tF~H;eZD%leT(-0t?0)MN@r&J5TV!iW-LPf4sQd<@RgPTQJu7SX??-O{Dycv<(KtOQH8oYV{#R z-6oM7ykE7mq=e|U5dV-|s1qoRv~3%7dpEGJNA^8Rde~?5g*3|BxRF&+S57Ct@TofQ zTKeU6=@r|Q##&+$n@Gv(K=$_z;Q1?X5wW5vRo$V{%f4rA)e)!$+Eq;yvx-n3r%Q~G zQ!bwBCBZzPo^6Ah(=6 ztz#|-1^BwqDtjqVoE=^Pdi?r%CMpeQyw3Rvszec2L)9MQ{P-fJlkuaiB=unr^q)lc zG?t^HQkMfQT9ILxNUuYjdHmh}UsrD()>gN)4-0NPmW}>fNEUF}D&#vI}V)EsRRK-Pi~dNMS&4Dh=m= z^f)MlF9ye=K9tXI-YTLpv=1H51wZ3 z>ZYq&^;{0n)UbU$>PEEgWINTE8nY%5E?VV&1(%y zu2elBF|OgNq*KR#^rkkN5rschG&aj`=Ud>%aZ%@D2gXkeE#0m~%kPko@}r2Mic&^G z(fCCugC7IUZ8!hI#3^5LWHGA)_vz)sZN+MR_wqG7mR@k0=k9#a;W)iv$bS+RJI+0e z(&}V=P^-p$)Lhq!zO$5ti560pP?ABGTBV#yg=~~EM&+Pn{z@6G*^2y0y`iH|WJ2ED zRBCg=DO422V6n~NItrO=xu=p~(ia^^hu#KNE4dZ(`!0XW}0!aeLkXdeg|-A9ntNS(LG2(Y*woSv&{X73elNTaUgtSY4)s zCk+TEB{HJ?;iFlB*Yy6NNX_GzS0*h$i@esKP$__>OV4gFRkl`*{ym8>JepW^Y)YLV z-IfRPfzI`Y_V1P-F3}C)(3zn%caQb=gN8(C!I~7puRe7$BH9?<;KohByhoyj4C~S^ zmfj8CU+hRB8))~Bk8N#e#)^JSn&EzP730uj^Ev2dAf6^Z`B@k0GfR>Bt z+7LNL=lR^=GmYg0vo!z4jY-u26w5x}TBB}cKEq;ebvLe5C_NWDPZJh{f$8PSC3uNg z3R5yz*-n^3mSZ(MKHInc$g`*GS%d5fY#@ngo9HMdJr)*Do+);zEOxORk@VzH@)n^N zV2zt=VA%ki;RxwKL-W5MZ&|>NP9+((bP~JiRMOO8B1%y1ao^@>zPjGJ;0wUX?K-FN zIDhxseil`*Z|ru1P{L|XI;8!%kG-UsriSEw%unsivE*c~koN`!rILn;WItEUa^qgD z)`Lvt@h;MN<1&gky8GQ=uB)eUab@%L|c--08b zQpF!cAI1o3^ug>iYo_seSdYH6sS#@t;_P=DZ#*aD*!JVkzyZxo+ zPb7O5knr?FR(Ysvz2(~QT#%6#sL}GUB{%yn_;P`_rfZ_>wsUpesdnXJV7eT|VX(fa zf{*_uy6R2qz&4%0)Hb~vh$>?b6f#ksLUUMQ(y>Gh#Jc_7pk5Ef8WmURTvkjhBe`_$ zzPCb%GF&J4?{VqPUk02h`J#QY{6*x7taoKmp=)1H^WYOIadyHeTSL$g&C@o?X?I|K zdo!8){wkk6YQ{%)!PsMg0-MV4{g-Rs!&*-|r@?G5+E;1h2sM#qGn4CmLWlk{HDQY% z%#8}!9uy0;PTjv9E2y-Be_y^3j-kcI&R2D3g8jW3FzE9zZ^H*L()3`M7+arAfF)a#^IiQL+kGq3lp%=mPVjUip0h4 z>-n+OcqU%K#WV+Yt`kVaSc3{r7qjZy9YORe>}?$`-S8n%i>ChBG5bH`A}eE0o;9zJ zg=0O(TuklsV}6pB?RMu^+=i{gLG#g6o}unEK_2h?#}(I4Vh1v^ncnaEbw>=|hc9lY z7;0K*96vJwLCe;3uzk0oUcn=h+-F#>#S5vuEy1F8iw}9|M-3*Q)A-8u-sXfzpG43c z@ro?H82{R46WiC2bM+VsI0k#O@Ua5>A-$wloERma9?-xZwx->2 z--f{9`m&@HKt**XkH;W5AnE@-a59BK=7Iu&EZeAeJJr` z2|Zx~sq4zdjUM)dS}q3q?`hqx5C+)BOVoq#$9aQ_*nyl?3FqGn_758c)tjeYJkcFd z_1RQPggnRuSj*{HK(>`_T%;#e5yXt#klL9U?S<=|Tytda;9niLsJDU(kqA{A zZuu{s?MKQT=4<3yk+8;uZ?tTHo(OXN5+sV8t<;yhT1cJr^oeX%Ho)m})Sd5f7d)@Q zTMbRN*%_HRIP@VNUiLixaJ=IgY!p9CDS{8I@4I=(<)uuxD3Tw zE|0S&^y{&z1yA?CVb7vyVtZf9IGPS??zf!Cd250!?u1|>6gU0$ggKFBTa{5|W+vqs zM5DPi;#(a*$siPRM35LcRIUUy||>8AWdwsi{CFz;v5W7$n{3dCSvPc`f=Wswc!+NVZQF^{PIt%MD9kw z4iU2utYUWTM(S7KB)$JRzg=(d=Z?y;ffyPG*B7e z4C@Q1TxkR9g<$@q)P=ZG?!o@sN#7Li2`=F}%NmIXLreySw^2g!Fp+8|?E@sQ;0O35 zdeI|A-%Q43ETfXpTwnhqLE$Fo-fH2i#3iE-se59JjIb@SSNTZPk)27`kYm@D<5ir)PL+evkH0SbpXe?0%)htPwAfyM6PU`7&wR{>!?u|jseX0+dV zh#e;l!j=dUp{a_|xWJ&F|3@f3MpsM%R3f)TwpXkRdAxpiFH~i68u`r!5FMTjHcU!g z5umK`1a-@*Xo#U7{pX_q;JbJoUD5?m(t8&D-0{QvoZAUjpIG+jC|kUI*{j)GEE$=# zC!?DkQIoxM<1ep97(_cT*-W$4Nszti)oE>*6zQFmXeDwJia@58XTNQb4KDc`=Ego( z@C=nQG7oRE#$LZpTG+rQ8AJg6NVb!=T9T=deIZE`8}ekoW}IZ&2vD;Dqd6oZEQ{=H z?GDcyCMG+&QzE?te{=h37n*&yzxni=plQK%`zJiB2d4BjJ3Eba>r*gtfx0r5R&XiK zJ}3UD9Uk2QLNw4;g<9S>ND!q$1_6JDS7j}ENe1Kl8m-~uQWrzgRj1>4i$_X{46@b$DnhvaSDF=4Ym}L{)nE3y?Zbc! zFG~>uE>a)r@jkyWL|>5rQfTyRso_6bEhsY}#7%3m+ zryLE|%4e7Jws>||-N4oT;H$du`;exeY?J<3Qo@HOXOcLG-0|7RRD`?88>g!5Y>&-= zTawIN=M<160U;}=|2Y?{$o=9%e8&4yndc@o%xU<9fGmKS0yBWCoN>%*$peuc2Cza) zjIq^XX0#7=)=WhSnG$q8cRA#SMTx!|sH{ke;%~1`dq}TTjb*o%UiT>3wNik*MNz}A zC)jLl(JZMp8sb+->i}p~O9Ey2U5-k)!~D3)nYCVPeb4=z!#Q=>Jyw>+zoXox1m`sc z%b@la$WQdoSRkl`2vNDK872z&iBal_0lT4&N)|+{2DEfz^`F%>fn|;_!F|suw4gmQ zGmRn&mWR^$3!G-0Q&YiwA!UUABhtTEz#e8if1-2m)3WeVJWe1Dp_E-p5~L6!^`@*%Dyt@hlANB(Asv5hv2)rgM)~lOTNVK_8>+Hs)~cW=dsGR+f^-P&C#Jpc6yTr zwY0i!M>=$-9_wPE*Q_*x~r*gk<8E|^BZ1fjHiO+Ce;&tn-WRB z_`m8#OE1cP!W^QbU#=*v zo;3bzz3u;{tw~vsv8vUPF+Zk8Wa9vl<20$r$uZ1mh@!ySUQ72wxs-WE$Mkg zb9t+Oq_vTn_U&G7Qu(|10%Y0G>_(k!OPl7)1NwI6={*=7(^@3CG6?t2?U zKoX7rF;j1&%>4|sH2{!{Qsrt4-Z{Pgw7rzOB+L!h@e2UugL8;wW&Imp`==-t7Cu>( zbpMVaZ23c8HLHg`RthTv_h_}cufK2)c!bl34Uobz1D_h&l-%&_xG&d$ueRc_FS+gI zXh4AH1}Fsln6?_FuT`>kx8%MUFbgW*Cs!y9z8Fo=k!x2uD)+LlI_!I zHWX=?E(lLSrh-Ng`?v*WMyUDP5EX_&p);g#_)1$NS}%5PSL}Ta`+kF55rYkB7!I8J z2epxJblWpw&3@XlSdNd?6v=zik{dpa=A*^ivm5vlL4{^9;cD4Q#MaS&*ddwUZvPnJ!+ zdiy!wIeV!eUQ};kS9a3~9c=h(;1F5ibNjK8OvzE!2ufkV=q~d;FDdNGxm5YHZmvr| z2AmSx$ev14BbBxuis3oi^d&D{a?2r6H9nClP)6omYT2KX`ru`On z>xNZ!~JqQGjSHj(_2dwn-y zGBV=Vm4ueqjfv7~ONsqKR+YmlqWOv%F~Y1j#D7m}3oJ zAP|c^#70`i!CM<2s*)g^HSlKrR2Ni8&wAkhAZ#@za6PkZ5)=Ck+D=f7fL+Y8H|k+Q z+#3{kxk#-KUt1|6v=j)U4m;i-7U*Zbiwkvl%4*41gQ$t#w+$^}{}sS)R@c<^2dxuY z($eMLAh&|x<+qu*Cr={YCk+sq%MOrAXlbTHe{;L|-VS_!PXjVv&@fgveVGcjcVwr{ z9EwDid1-sET#_coGHd8N_15lKy+DYgF{D26nKL1N7m&K5_dK$jlLri-yo>)2arP6~ z0R^B1?rG@%Y|I!X_<)|AVlA~T7X=U9Z~&iQkpi$*e|nT}m~S^U%|?E;k7ai{nqLky z9K-T#ksLfqeFOSsnU)d9Uixb!E`$8&ucu3pFG?w@UJ!x$L9Z;1l|w9kbAO+FvC`^m zYn-;ovk&#vv7`1=i2hO!Yr=Nh2z3~get+`vXHBAAIW7?0?_0<7{{n&`NFLRAZHBoJ zqmbVm+gp|lD8Z@=0`7cb_pp~49&ogQIkmFf@lA$=c=^27O>gCIm$fst9{2Z3cM^k- zpX>ej_Fgs-m0=Iw+`VO#s%pLnSG3cw16{}K z0ImF8JmCIky7UidWkKU#17|K+O;?XmSys)(RE4Esm<2yVc0FzP6%8vP*PP#s~}mp(oSxuW@r%D z>gY`&B7n{v^%DbS*Z+8#e<=ZSVB``PysFXpS=|ns@((58g6i+zv$LHeZDLbEVD{`x zbNCzAquF#0ru=Em3L5_pWGRFjvH<4v4-AhzC8MN2K;)gN)nqN)V_Bl3xDEN1&Z0)1bZ6ns_Oo2Es1B@3 zTgqcVNNz4d&C>FL>K1#`S?3e#=P7 zG{*(mljsPs3KquBCB4fq>#)>k)J=ly?+mPmNI2#Rb%wK*f_JE%#2zLuuUA+1;q`7q;8DIY~YQ2IUy{=+VG*`whd{R9a}(o!jHQGuP`UPIA#09bC))D zxSb+R{&|M~vX#xj(jSUdmqc+rU5E=-{ZNdnjPqS7`*ks?dkCRm%1GYM z$xpfuGf^W&1cai=+r zPuTdkl{%+0XX*0yv~Js zi=cc4_@J%HYatuQ3Uen(VV?m{4A$fRfQfD2LRF)Qfux0sOsEK3I|qd6UXJ5vvgj*} zHI?5Z&lGjV1-PQFJp*|_bM(j2-Iv_vL`6=c1l7YFjKr9E58f_5;0(_4L~X6V-;I<7 z-2|*jZkW^PI^YbykV@}Fj#|c;!b%hv3U}9MT{bsbUe=|yq;`>T!^}ljz zCJgqPRi_Rh!^Vijb>3BNn~EZi?I;(i>x_9aY)vI#S5@I1+vKQkoo)0(a$4VeT$QUl z3;T%2Dv+q-jXUwSkTnr$jrHwlCOPPaM}arNF{wlOhHq%i9J4zo_?_}ez+KmJWqKGq~N0VuFprslj#k-?fh4uIl#{p z0{}~2PZBt=U4@qyj3Nw$p#kZPg~~c1M;~6EG)C&)*F5TR7!dGV5_@Ni>O@Lr|BtF~ zgS&^&S?vqMcV?1%vs|a|WJ5vuY?G;1>F4CaqmLPv!A69r<69W7;U{>LuI6)g1ua8F zluJPClVRpa>(GqTZ{+fpveti-hk3mI5FgCXn=X&fqc#c~u+fTrY42d`ju6N4HP|Y> zUt98hM?j6~0)b=uTtC$`uS}jNy2I3zjwGdEA)9G_cW=v_9rIMkzA?&Y8k{B!Yv-53 zAr|*cNP?SV_qfV0+ z?#2D6pwUcuB?>j+QjT0SO-6)(ct`TkbrmI3D+nlFGWCoO{JSo);mVDZ*Q{!srn2f? z0ZZGdjB*LL!o?=c>{E)~40Jp#9f-A&9=en57zT+cBYwj6^qK+=r#t?Ff&;|K{!n}O zGKr70QQvq_OQmH)yv{5*WjemLI_|X4dm9851aQmdqAO0@N2=AxxvIM4OZ=Tf>Yp(> zDzXB-0pT@1EMmT@1ns4mq>t=5d$CJNk=U%h>zB6&V_k3QhEG!~5up((Wb%36;&-1` zueT%Z+jJ6~z(h}_D8*ny$+XqgELaw?QJ}2Y80sKe7fkk#vgty=1Y>ODUaAQN?7eN< z$3MK~IbUuWruHaE)V1<$_j(t7sjRewr_87|_x+II2b5Zh?^sK?11v$r^z1|#1E+B* zsHC8;cQ*3Fd=;hi=61*p1a00YmC)0USWXRSz^T`$sYfBRT2v>!n%e;WcDwS3r9&VS zPU1M{32$7F7#eD9j;0GbJ0usa^Jr>0)e?^tn=((+TJ7MY!Rt{>SU4UPvM7|>5GlQ+ z0_68wukf#b{+X>}ilQa@*9%mST!A%6a7fk2;oVRAHkc2;N$B?x{T)QgZG{uS41$*h zrcw{LNQT^Ft<3@nVKX8Qx@#G7M+9e(1PDqMYJk4 z@6C&-^F3R546ODdXhbY}Z`YW+Fcxyuvl6j6lXxI$%3&$9hjtbP#acAUzO@hbQM6dp zgE&?%F}L^}O`gJ@rmoJj(@UcUE0&tgOOd6LLGO1tF3zH(uewGM86wcZq`@l3uax$M zk>4{kl=_(2Ru*i=-#9b+d^og33u)VY3@gTj!7zK1(j64S6jg&_RAK<)z2l^P75+Cv zCPb*467J$?q#IwKZTPVaX@PB43cpm6Yrmd(m! zWs@T)L2WmcW_i>1*y}Z>96)WULB8CBqOg*eNpleUu+^Pd&#`ZAfE7{Tt_)ZTO+ox;?~j56tMS>XuBGP& zvj)D4#Il(q)9f}ZTfX{#N~z|#;|Jqh$zULywvM3XIJiHtibq^0k!3E9?cbawe~lDnIS!2zP* z%ZwuVsA}vCH)>BGW()Ag{t^HD0Ie^xtt8+~3_qA}YVZnD3C&PeNOz;iB>?7P51zw=KRzhRJD_!?9OGFOceh(k9^(*4y|2_$D!^H#PD)~~fL3P16h%)MI9@--f+`|KPJ6Zu_U$vO4 z8&;LEiB;Isdv&a!57a|37S^6f!_bWnPt$&@K4U8}KFaTH-5*>ZHa!W03x;VYACdNj zD66pl?HNX0!&Um}PBgSli!&9|4j}w^NBW)c>}6%C7o3b#+aTb(zIL)ss-ARE5STVW znuVDcR-E5*(bcq~*0uiVOF*atZL~DsS13Nju$juVSJ@fC930eCHzh1MR6|B9!lC5= z*(A>15oPrRAGTYOs*7r~CW^UokNXduITq%+JWxG#0dOGZ8|efqclMVj zpqJd8!_rzqvj%C+A?xp-wACg%_WUAZd->&^z%$*SCE!VU=o`r)vmIO|Q!&sGe!380 zG(a$57)E4?&H_NE9QMqo)qna0ha3I2Fd@br^ZRJmaacE<-kIE^3TlFT8bVMopoi(v z6@v!XksPyKo6ynbn&yEN=z*hw14ffX8h8e3_A0E1&t#0)k>~|PTn-?^y7`il)YOZO zHaI&}+EIX4UXZL+Z-P-#J9UXk!ieg?+R%2KMkKvSG71_H;ZEFHT5em4PbCprTkN80 zxis(>%gl#&d%;QVH`W{JT|3JqXGZcDbotIv2HRu_L~)MfGX^>I&t?adh=XOT){3~X zhcN&rC+k3a2DAmRsi3{rzPuprhyjn8VX=HhO3yboz4cdA$gX~Qe;nS&pB6pp9XhC| zdZ8YG_ac^A=z2|Fl&k(vMNUgxj-^VAuwi{ey5>+(s-m>=Tb!(4YtUZ%lKh4Wn34Ml z!BwIc1r|N3a#ucH)DEjNk7c^D8FkFCzmigDQ**OvK>Ufi{NzZRKXReq8CNCcpxHH_ zbw0uN-*@E4*TGIk57eu&sF1E0A8>u2DvLC%&hA4J#4cmuLr{<GKcV-$_DYD#=wI zLdou5d8~~af`&L~xWBhf_<(Q_1`t*sor1NwI%W-EWTEKXqtzXvps7Y73s7hYROxMg zDz$#Y0Wlyn2tyk%z&r}HFzVEa7oUt8;S`l2IV=N%0Sxf$^ZgZUHl z0e%hfCsj}MfR%GYKex;fFxVAYY*ZDQVOT114aZK}I><8|GDBbEko3d*IA7}L0e)Mh zzG7~y9e#L>{dSNbZ%xzBRM>MqyrXXM7-oNyV`}n$7z~)C&rJVvC`!>^AXPI9f`|j` zP-36Picw)7XL(*vkbrj6ZkX9dkTs{WP6ZIFbH{1Zn*^6(NIBS}2k)9C4vl0vjpn~A z{5Ij8XYcL)@F>`JMzmT#QRTO{Pnv@3E36vQ9?0=plBlyjjt(R$Sx{Ljq=~t;L^ux< z6EHH!EvOwBRlELy4Zpx!%Y1l;1nUkEFn)K`S)k1(rMWt>kMQfDpaiS1{;NCE!j&M~f6N>f;|{v*Nh zo<11Jdn^-^>^V+EX${E7ZvWX$GUV(SLaRcJz4{(zMj85E+k(;thdGZJiovI~cj7%B>R0k8Dw5#r-zW3iTmBJ`3bYQ~rTU~Hg@a<2IA#8UEeu(rN_ zLlK@^ovwz}LqjKpZcP01eY*+K^N*#NH+{yrOnmc1ktI|k=l~cwk?B`pL&yDQixUsa1X#Yenq&3{rKNoXOW%!3|l8%wS!;JfQdZCw?oIR>@ zld)zO*W(y1Ene+5*1uIRQcy>|6G(30Ax-h8Vh5N z^eL#>b3?SXwW$iiIWzc|)@yf7k#c{Ac5DrR*=j3p59Twn1pNDt|F=&IHMj}~m_awK zlo6V}Q7BHCcP@$iIxXPbFEW}H^tPeEEAxL?InzsppE^iv%;*p-`FDNQ->I@?>Az$D z=We{1fc84lUQA@yqW?Ff|Gw4UGS$ZBRkQ~Vc3}PY=;MAdriQoI4>zwb;@1O5`uj_emv)5v-Ima4tk9&+cQ?NQ}Bt#d8P$(3MhPtvo3WbYC zp>VVa&cHWs{ajX2s57epDy9LRAx^FyjwlWhrN2LM2n)J+`v-7{D02u4+xqzMJGk09 z``LQ>^Lsf4z*lhH)7!z-$<@)}?|Xy=g$4P91o;Go426U^M9_l5@Iy#~UrJ2K{O|j1 zogKaY8BmO05C-5f6%yk9`4(a+!2 z+w1S!ghcoy_$B_n5D@C)`1iNY-rmk0j>xwnDzKD)<_wQ={b!a+V)}~yq9WePwtSin zVdjoH0fC`^58`F(`OhF&m?)pn--AdPyVyC1`HQMxMTMOF^suV%*-cc!&L=>~Ps&$c zN5@+-G*nYjO+(2Sqo(U*>JY4FprjFM7^oO1F5;jgt+}h=42nLt%FrJwKes^ z7@12*hPh(2F=C>I9{N}gVbw5u!!T2I_}~((!6B?@AfXn7@w9_a{)&bwUhc-`zKRY` z?kXmME+Q`WrWkEaSMN|~b8j&%cT*E}4S(lQb$?eKWiKrq2V-FoEnBRUk-E02sGd67 zLBq@2JIKI9-%!oZN6;<6Ps~v=#8qD>%-Vo?ICKy9MJLh0g+b|6c-!OmOFl9T8k)f-2NT{lFSyJ=?RJ$xSJ_CNn&js{S9n`F&@sQItIf2=nyY02`5t*p^#9A04Yf=4^dNnNnP~- zjS%AyAC~}4hd@;&M@*=Pi(RmZk))fdi@A@BlZvy3gsqC8n~9s7ssp@rMTejOA?E;P zb2~F}K_Op^v%7Gxl8Tvom{*vO1IEqGF&L|@WM*q7Dk`F?jOAUeoJ z-BScB>7(cCp(dec9_(yv>+c8G9dvv`Bvf3z{XKj{4d6+Bf}Zfx)EO=6t7ab%tSqPz zpy#3|>1^Vzp{Ay$XBz5krlhRzr70n-=kDra5E2|3>guf~?CUD(Y+!`OnuqGTO8EI< z142}lP0jRSDBVEk-~dzP9lJZ*D|^_9`UblCs(52P#NjJ5ZD%8`P<TJIA%7_`4P8|!VGXpME7na-OUy(v zKuJn8SS&;jBNZHCFR5ki973t zX{fol`e^Ea#|A&D=xpX>uI?kQ7iKSJCafv!6sV~cVx;dY>g;KxqhhS-ZR;!^r0XQ6 z>F1^|qAX-8q3IZ=Y8ocuV{Zy7Y%B^R7)yu*8i?xaODanlxtJImNO`-fsru=f2N;Pv z`1uL@iG;Yig1*6>@L!;opSm-+I7JuNzyMbbjJ8ftkdB6%o2I^YsJNeBAY4&V6vr5a z=xW-Dh#I05%{8^mM3ik+CDCw6D^$bXJwP=^6M$F3neN2MscYrDVHwTn_TB(=X#cW zhC-TE?|MZ=g{Z`))$S@&GnMgJ>g88mJ92|N6K|H6?>rG)ZI$w02*x8<9JpT7=$zS; zFuQj@@~i<*R!;&8@5-G|<>D;nDa?WR1eIq?FDWzs%p+qx)plN$E#=BW+^2YgO5H%k zMj{M3%LR6eg4pK1+PQ?EI=|^;2&`h9B@XEx8g4KL;H=_hPz*M}#lGBf^~j%84`{Hl z1jEd}Sr&dLys|EIln=ylANwQ@tHTFY9+y!~iZRx$O5J2*1wvM3C3tKyZuT)db|a15 zVEq<+pk|r6z*ZWM+rIJiLbaZN6(_DK8y^FGIJg5mQv8Sp}sRfJ5SFd zC#L$(g~!c;%4fp9p_g#`1(LPq-^2}_PCmPtc$r`8XEafKwmULrjC0cttMJgpL9bnn zD6|8QO~K^vH?k*QYdQOcxGeJ*kk!UecB`L<4?oc`#Z%Z=I&LNSAdCDt3PaB32p=l& zIg-gq6bS7~&%%eTB0P!*I9%xK*~RdIF`HRY6vdI8B@7=v#Zf9JpDDr<(ocjBVSg&W-2 zEWO*;Ij2$U{sVn$MMBn6KSTvjWvdbL)H=LA;Rt2I@Pc;nNFchV5Sm?7a&WjYNvaus zAvUG`lwSEWhM%9Fy;7dOMzH^xDVCY}=Z7eTbLk(iO)HV(-6I*hUU%OdKG9vc(Am~@ zQBl{+=wNrc=H9iYyJ9gpW#?PNg1Xu+CKcD$C*6qpbJ7xW;!oc$7dbriod4|Es^VvH ze6J%X$kv5k&dD7_?-9i^Q|Ilx=wMsD{b!EVI9iCI)?73pOD|AT`t$4ZKM`5S%a(G4 zVVgT^OKYEL#KkVpn%19F&G@bOALl}E=ON~!?`KfU#V;DcQOQWwPNqw z5vr+uo3-)XqoLPY@RvP7Yz)iPn(gOQ*QK#aF}PG*Qo@G8j(sHmRBb`!EkylAf0o3EEH;B5AZQAwwYjhJqP;c{O3@5yQ$1o0k{1`VlH1+$y?UE|V z0eM(h*wTjvn#Z?ZDHB$iKP9?H?_O-NC~msy`}VeQjOtHn{^|!1TXWwCCV;Z zsJoGwL(a2$u#z82j)$`t7tOQL+@N=@!nl^_q3#7%uQxiRRBAcdlmT;n!El3n`@Oo2 zW6*`PR>!SFYe6^Z(Ff1n*?hCrzJAGF%dJ>$nQ!5M`&y#RSumN*1ix2D7^DRFQx7~% zWocuXli6g)B_c`Dg!Fej(_d9T^g=sc>DG`MdVh;cKP*-c$&l_G!54-)2Ega3kp^wW+X*d zu%hebgv!-lpu(lyBZf-ic3U1-+7haKIGuB}Iw^S;X1ujnsD8XthDWin|ChTRV@88Q zs*LE={#jYv`TQ1_V`(QQkmn$Qe!PYiZK4=7lX2=-50{#nQ=~Bc{(cyb-zhW6x`Oda zR&-_p+up2e#Ll~j2$@5r06%Z;seE3oSh@R)#AtG#tGy?N&vur+)D49yfykOh7T*27 zR##UyKyX`_(Q2$nFYZOmW%^o+7hq%-*CGW)MLTzgk2p>a^kWG^BmW8~o|#2pa|%uG zJvUaGR)2j330AYo)nkTY$wi9@C!!|WK=F-@^`pPt;$!~dEdk+~k__aDQI-V*Mp zKEH(Z$>4n2-Ec7>p{^wg>zgN$-01jLImDU7h^u2e$XXtFF&so3L<&dwq_9^!;wt-D z_$$fq8Pn*xJPl#Klw;m*sqxg&xp(L9>&C85%MkHuinMg%51jj6{9j^0y6<(E&V6$@NjD;BqAzY zWM3-xmWM05o+swMg{AoAS3MoAt0*^j=21((e%Wq+qL_PjkCwK_!Wcui@$)NT?l~u( zj7R12(n-1R?pCN{oephWK7Kg;#dskkgTp%|-MvSDFhgpm zWR14Rmu^dExb`m0gPg~scF)E#U;VhR!gHX#$w0usaNo});qHIpHYgJ4C^E9D>Sv+o z1+Ivv9z^+~e#!^p-ryvBAFSWSkUPxIu`Lhuehv?CPeRO{9M5Ch=4{___*l(I_}W}A zN!ohHyn!CPKb`caFsUfhCh{MH?`_{VQh+($dL8y{rtUM3RIBri5Uu%@=jfyGtCJ&7 zgrWkXVd=%X_3!86e}sxeV9Qd$s$$C3!fVWhNaU2lmDJSm*BS$9yk{LblZvf=H5HYY zCpDDp+pdf}87en%mSfdT&iyNhxWwV1&!tB*oumx2wO)0%Pq=i0ezwDnwB1bV6vU>z zwi*3fMIhdWjVIhL*bdU=l^UVpU}pY%6GUk8N8aNmb8>|O`7vRE?p@v81n|tBc2Aqx z^%eP{8rMj8^UUHrr~N1ky4QWcY3t#Uth37JyK=~1 z`Z{68W5`MJOLYP`?#oZV37#bUciqTLuzz>^qph7C`;<q-}~ zP3dg|wbkuyEi+%`dpS-R47>kpA{Oifk9|sIq|)9vH+>u1v$|l#VqHL&+Ls0a#*f#! zyCC<_-{kv$-G7%oxiaK`kmmnj=>Jz!k-oVu^7BhK@QaDrJD7!Y1jrO=nIUn4B&+g- zn_RyRQ9zu>9|~CD%V3>d%wO5m>b>784n-31wZ@U|wM;(}1kg|fday%cnMM9oZzGM> zAoM2rQ;Mu>Q^{Av_2;5-;D&0Re|{q`;oa&B|ttMC()jp z+j|!XDQ{?qZLuW2I=8~t4eCnWNX156@F9*0Zi?}eYRTM^6l(aaOTA>jKiZmvyk@Ka^+{e7ct-=H943T7oG zrGT|5hK7a)%B_5IeLcup71`|%wpWmGw6wKZ2yn08xUoJce^RmRzwq|_dLR`Q)u&1W z{NUAztcu?F%v3yho%#z7PEK>L$mF|+ij^p+s7~42+Z$HupKfn&KfOBLV6V0=KKi-Z zWOjM^I{b6nx1NxNh6IFNs`a%!Qo72xHdQH!G-VuuS9-cm@!HX)rtkRm z^CCkq0y_tXYhwpIj~IF0C3s%fn>WPpXYY3Mb8=|f4>#VhPES8|H~Ca+Vd6M`N5uK6 zmsfgW^zn1i77RfpJ0idfYEt|Dzh}@l8s+V}2{wO?=(2fIDe~|mQhMDtFu)VAS>8xU zKoC<EqCuBun+=a$GP ztRL-6zxwj!Tyb&n&8=(X`o~}miWm}Z)o3C%etuHV@n=1;r-@5fiC9YSDH48ABxRII zmW$k{-p#*u4M$(U)B=5ll@%9+jDw0#OnhKeZR|LOFCihJtW4dJS^DC@m8kN>xJ)CI z?uh$34X<%$PtWP$;bHyY1akfNMR=|(DjGxmw>XQjTm#K&Clr*Fto-4>=X!`On|+Gk z9u)CWvTsdSHG;mVJwFd4BqtMms<&Zs|5B6nf;T?X5068gxStnIK|xVrRGlli^Kx{Q zj+>kN_s&i){LS!-K=;wn(HZ0wze*y*LH+pggHAq5W_fveW?>-_)|TRFVPRqa^Hb%c zXU`HLn@Xpb!W9q@7#$yfH9mgv>({TS7%EPk&d;A|Kou)&I^>Y$@9u_3Ub)iM*GHg~ zcorQJ(kw|?iscgYo|5@gV@8#po^IOYWp%C4b7kylg-Jc5mX_AgGfxX;6%`zXtir|b z{kMF4eXrfPL2^mw9sw=wZQS{XkB(GtTuAV4-&39Np6yD=6S6Po9W)czOzXO-PoO zmv?-TVmUo9T*#u7s6I*a^p0HQl`DZikOt0-*2yR6p9Nuxw#3?ojXSW+HJ|- zJJ*xOLZB!|$m7-#6N3T|U^UTX_QZ*RkPxk`j0bjDSjgn(=l96tt8jBm%PCYuM8wRm zUulhvq7yFyiNS_@Z*l5c{|c@+v`|r1?Erpgz@ET?GF` zWphzF=(5xMdxXq8xKY2p@Szm2SaM4%tDd7oGN$xeizZx@oxOe5ty^(0DKLJ4M^B!d z!Zzatu1=g!B4au?e#LhVZ*{7z`oqrKw^}k_XQ<4~%ouKihgW~kyhLG_7Qc2x%foAA z_ZsZ$i^pN9znYxYE*6<||h&1O)~4y??I?5Bea;a(l9lP%xCOiZ7;(SX*F zG4B|c_{9^W9z1xUOh`mbtaMl0b7pBNnN0qWJU2I&hqCnj8g{Sgf{4@EFLhQH-`5_> z6wx2;ZH?HJtzs%0qEDhAHTl*w9d!%53ppX;pYX{T?ItSKZyy)G`=T>L=U6P43y0ygz-o{;jvdy6p-p8ygOaj8TTmIQB}wQp|MpiIs;t zNU%9%{lUQE*mHkQ^G26z;7CxN&pgKs*(-_$smRHh8Oi$ER?5oDZ|laUj(dX~=p?-8 z!Crh1cYRUMDL*y)+ONxoa#Yy9N*sOcNDR7;Lh0z}aO4&x5YyVNPCTEJo1L81YZXn$yI@X%YUhU+Qf#>a1E=d3lNZ`}=)@gK0TFXKHF|S#H0|lrJFqS)I`*VD-YVb*PFBEnwZ+ z`Fr-2t-XDm`BS&biB!EE+~a=E!p?yKA|M!c*L#_UAE*$&y(dMLl9J*R6r|b_b!5oS z1&c5!*GXt=lXd%2Q@J6UdlOt|NJvO0_>I-oRfsS65J-GxIw;S6i+d75G`Y?o zeXgLO;Itfr@kG>(ixRKe6np<^R8nXm=>be) zc4>*g-QE5A1u>#Kckb-%+vN7mZxG3X`RNwOph1%#`OGT*<+@J+cx>&SoMZrr-h6TK z<`er~Qczrz)ZxM|)Ak4{u(@3C4LO!lJK+6u7@u3Fzqu{&YGT5Y_vas%)PXB7B)Hm` zTel1n1Rl{*P_U%?v=0pA@Crd(rEK!_^0IakyMxg`+|-t58jj*Zmwx#3tG=TPbOUB_ z^9AqC2LHwP7*D#l`Z=0=g*(#2(!_nq^6>Z8*lQy-K^WAk!i_Ko0inh zUC)b#%if23$=i^;mr|C1;VqS9l&)f)F90+HUu0BSXPs-=5yik~-WXF`%jYy$0K#%p zD8_aU4wAtmRR#-WgQe{-#opm!l9&dAPnhAV@PhcPo(?hPRurOOn2f$ts zSVqUjSONNg9VAv)^CDnjW#tC^1&X7d+Qu}z{EI2$m>Ny7c zqk>Qxck33_IX-jtbJ`qZWWX?Dh}5F33uj*?*>}d^IEKAlUiJ`m8A9RU-~f1wt*;lr zLz8p#fqlRORUxE4^O__A03{QBOb`0#GW_5)nA~Y*lUO8hW@pE@1g|~tntUPY_dVJ4 zd?dKdzW)A~H#syBxPYpn6b<=(RjW{r0d#10{2Z(%OS}5+O=zreywS=0^rb94)?ZK#(5~e&(CwT zU%J(={3AIf1q~Ye2&@&HS$5N4wMji<9f01h@fcMl=M2|dwOpEFG{D4K@~h?W7#VsI zf|;GFtgKWq))m0S)>%HsW!~xUYkl*j`}J#te-^$|qntCB=C<~EdZe0?nwpxu-MB=R zq`SBGTlC2R(5dLNX8k=yB7jYw?k5M)(S-$+?!z%Tm?i8w?kpj6$B7jAb zl9ENBnJ!;y?xf;PwuTx^?2On%CnO~$g-B~@Oi3wXG?H)JNJvOfxpu@0N~TA-x%^cG z^_)Wve4Y`{s02ji3?_Mgy|Ud0W8qsnTU8K7AE7$IQLL}8=ZSk>Xy2V9_C4_KI8r67 zQozQlS85F9@R~p%|D(T@wJ>gC5{tys=VbZE5&6pew@bXI+v$(E9or99r2)pWUB0Yk z-zyn?+&a)bzqI5+L#Y4d4X)n^4!v|xjiko@w+wmXtfE$<@uR~-L66Z#5mY6_H;Vv! zfIndalbrB|{4eDAFf{A)$F!Tw^TF?frz7!gY;4xWo?G(Q-8Z?3Syy?w^Kx`=>|F`(hj>QJTbOi6*Bv zgQ+C&*Ov>tj{p~@gl+wt1T zh)|`S<5RrNZ-vUP(T~tu$x)64SYhk!odF&IpfIh=$A>q#&}2+<)YV&5EAf*+wMl!kAeY9 zSk#FI#>wf@&o8xU-~<8h+kPn3fVV)4s5)fa2!Ea~ zy?gX;^Mp>tI@zw~{o4z`JkymxtgfSz2;NZV{*}`JHF(_YoTsvw=hsV0N^EUyuRVGs z2nn&>@@Rvd=l!lrewb^D#WPE~=O0Jx`L%9+vDjTKjK;LB5YzG_S!3YOPcO%wy6e@N zi=p-ee%=gt*Tej$0zz;G)dkevVpIbSS%(K#_e&&bFKP6`JAIgW}+j6hA>O?C22Y41v> zcllu9=X3e3cni?`ig z{<`Ny!p$+e`Qsxv^n_+v78cM39CZziYj^IP4_Y48bI|LW8#CG7`%-IxiYY2$ZhrA1 z^?-y)&eAepk>M}Vp(z{PKJ#2>lr{JG^W$SV)XOda03^EKXZB?oA`h@AVE6WQHXWpD zYQ4C(6S%n{-u_-+rx56aNAYMjRHQ+E_@Jajv(_dj0Zh>TOO4swO1rMyp0Xo*B#2Bu z@J2Rnb`eI=_7>|k%VMmKzTq)F6B7~uKxb03S&$LG77u^<&D~_$;0k+4rXV`1`-YXNq7>_h==}F1iVP zfne~eC6XCJXYo=1k+Xh<;oxLvVm@P+t~xf0LZ83+9`bI+iw~o4}y@?xik7^W_~^qz?j4B zaqqsqzD_XFp_X88%hnKz?d|R6pp^^4!oq^SbKMac&#OKn@>S0)E8~E-fRD-(an`v; zY51vIhm4Hu5P&65Z%5>T_+>sm-}wQWzIi{bJVA7;5my49FHBd&V^r`gy(IRh7r7!) z%s)N^+lVI{x`B7)$`wd6(suW!+QJcZ3OQ!;^XIcbtKk*#a06q6fRnfH-VK*&()#X3 z9Utx?Gzvfq8Clu&rQwo@NTc$|K#nD_<3vcEkvq$EnE=R({G|j4s7$nRBjn6^CSFImgpiTw@-d$@yAcYL38@#Ay z+X}?f)QpG@ZjQ>T<14MJRcrAs2&rn0s}{{e3h9z!wQ((`EzwX*>-z5Rmv{AVR{gA3 z3cbw?5%8Q92MsN9Z_KmwV+RL^nV+Al?T)xO00}LPJ>@lj=8=MoJ`Sl&24EZoz$}27 zX`7fNeNYPv3kYj9K$QRx`cc)xHv_IS$uk0TfY=#iq}@T_EeRn;0DX3K zt~&)7D{gEoQ8mxW%*#_DVPRbma3RJ~-R9x0!i3v?UIf(;av5Sq!Y4ZJ4CF>hArb!m z{&;wJNV??f>+5FpoO29V&`iJUip2_$VGSHD>6)8g0LC&EBvhsKU>dj~ph||HIP2!9 z^{h>`r2+MZ@I#L6ci>MTGi*P>9qjK%>+4ejiDGo=qdag|$H&K}tsxDP=NVC?Omb%- znl^e*BY6sC({1C)f)C$8AP5V0czF0JY7m4h2#FWGsH@ZMkv={?s7#yKv1guXAOVEr zfvRD3eLKL<-Xe4y5;{;nHHN^Q%>rGxI9SLgBt!wpNhjpE-8;Oe13=?{Z)_;SG64IZ z0(%7tl=c5kSyfd6QDY-@ zT7CZAyY_zrb~lrMWtZx=skUdcH=lsaS3ZhfI(U`3>As{dE?7_Z#B+aNAmRwacbEV> z0_KxZR8;Kt{Pm?a4%kM72Y^4Z?3$W)2Er4xv)cS=MDArXTwPt=Lx8$G<2E@(h+!zK zmU=KSFtA^`gxkj#S$tWyI32IwLD+XMEiaEQU}*?#nI~3{_ZbM3vJiyI7xG`wTAuD; z0)~vT$=Si7v#*Z}4BXi07(xYjHx+a9{N`G)ZAe+v|6Z@Ro!x`S52xb^sk(FK-o1O* zBS!VP)=#$)F{SzI;2Qm;_o)~eNl%?R1sQk6gyPU8Kq0BqQ3u*JB&WYyOVaY0$3Jl% z#Ed?%ydx?u{u(@A+Jpc^C?M}aeDQ!f+K;v^P+J)Tw3)TF!um_5ac4+~S{aP7 zMtfkrC4l~TR>T3hLpHbz_*wh?O8N=6@!8D99XwUoQLdbXv|W@s8B*&T-C#)X14&iyR9ng-NXpO z@B#7@8p6K81&*6VQAhi;w{+!@)kGbvND#zk>c;NxtYrZGM~xx}`UuRn#-fQd#?5Gp zkm}M^7*<_VQz;-oba`b3;bQ-v7$jH`q|?5e8bD}5zyZFhx8vm4q5_Y`C^8C+hfX$3 z6e73Jx7Q@5W@fWMX`u``)c;)@tB`)iap}W{b^wjR9I;!|CA^9N#Xy4>8q~e}xjaW!5#ZQ>pPvYUOmLZK7J|2vs~gL2 z(|#R5Wf7o1psC~mX~hBHnFE*0WAxdkHRKxb0k2-aKJ(P=a~F819{V%+_$96%A3l2e zvS-AL;!1)y(lj zlrkTd>)Uh< zb;lSe{o^f9wOKqKE(Er7=B{@;_n&XZ?Bbqdc$}Q&!d5JD;^OB3hjl~J@n$(M-Y@|8 zr)(C8xu8iJeutF?ufRo^kc5C zk8I-{dh3<|MA!nAZ`$yau=7kIv-9zmXNM|_gQ38fW5=lAy{+?32bn`;od@%r`ajn6_jSoB%5w^WKR zhkO*+Xk8mT;IJN}B?wGTPDVtJDXZO?3MT`;moMj8W6t9%(`AfDI59Aj_HA>svgbrn zD1>wZ9{pXDm03W&OcvycnVIA{52CyWve?uxwY76}!VUzmkT=UA@rHOjrFd;WXhWxV z7LO^ckGMdB~xZ-{kTUTiv1WtMz>X zI0LC*L4r(mNef0pVSn>{gKDbFhf=~bWQ=D;L`0xwqfUJc#&y}ekpQ$*5wdawayQgM z^=~GLDM|sduScPOoc^m6#+@@=USD575c@bEs5@CfK|!c~VDB*8BKLf#h`~+?Y?PL= zBR&_1S0r`+^&Q}XJ!EZ2Ca1YgL|`AmS8(!^nhu?Q$XeY0N0yUQZDY6)%%53Qw6S~5 zq~IGscbB0e99&%7%$%Il5MKylng41){PPE?jOBtE1PAZnj=wozqJY5@va%@JkN4e? zWdFJFUJTBu87M3RsQ3oS9GJZdNTIkotQUwaay*2$nFAkWagWBN&khjn_F91Sy{y!$E`MVp-l(7yPdtg_>et9s!N3A4d4>( z1jr!)v=jRPbvq~&oa)PA4h{~6`t~dY`3j3Ben_KPpEX4tg+aD`wf`o^(opd!)J$#D z6eUyO6cnw1r9z?j`T2ME77G#6fLCP;_n?3=>g!Vn&UFr=bIATCH@L$jaIrLD*DBRr zenw2Ug-byDDLccF6jvDD##FcH*pQJxK{qO$y`51DL@}* zO-;>IGsC=86f_6uQO8V_iEUu8C8{^NN1*=I?f(HN^7rrGBW41=^p8fSAC6|xQcgeq zSvux)BAiaJC6$+#U5wU7M@^x)r8NIU>;4rQs1&F{y5j>~6TaatE)}EGVDDD}jnBE~ z-(;=~+5OD|&WNS%K!rfBOi>dH`&6n7D<5o_gN_)nFM$)9bB8>_O#_R;5CP)p5#9$p z`2)VE4ZX%i{QKt8MP7g73F51%?Y5)Lem4Qqj zeyDxXH^I3K@5XtNheP|Ur>(B?P?m+ZuYG-j*y9J)&~!-Ft>;^Bq^ARs2}YY%PZOBl z!GjLn;dOJ|X#Hi4bE1K@tq$W=i`|gpK}-grW`M}h4^{Mp+5zNMEzP=99fg-T028|d zVrWzy<4+%yJ2(r~A#fkVCa&^zH0g&I_ z+e@J=%l@~9XLtAS8lFutZC%BDyw5hx7=^ONeZ{I4z#C?F@cY?FY%E?Ip2Z_|xpuEJjjk^v!X38ygHa4~%!aJafOQQ{J4#MYGr#r|v zIXNLWq~=DW1S58Rpm>*Zdh9Vs$IUJE6h5f}|LwoJc_43#IbmOdmV^qkCzpV_f(4L) z+o`c`doe_;r81{IxU(U-{{$d}{@u=k9r_NRSzJp?ON14yv1&O77J4dX)=i%X;uK&q!@glLbv^3&uk<>RR=$s=PAP?emm&prB@5+WhYo_tRSn7DBw?jKW9w7X; z`i^7Vq5{16Bg(-Rg!F^ODML{UT>oXA*2}B7dY?Ypf-6&n@Mr7noW!A-%M6&ylyD5Z z9@K>#iBJef4Ey$gQtEv7jwJecj}!H|{8iN9x*8IBAwYt~D*|sD6DuG{lXA0QZ9Z^w z5vl_&klYTmpP9J|J1FeH z$smn68kL!p*|(u|H|GMDM=5}o+ntFc8`z4y4}L>lUVh#6S!$meQzZLdX_R7VX_w~E-k(Jz z*$1ZcocX6(87w6sMpN?@;-~F;h)A}o=GLz)hC?I;q653C8olut=&^O7KLc8jZ<8`y zVGoq}gwWuULCblcCdt2o#Ht|9*6k~+o9WGRs9Q*eZB}4zPz3@{PVyq)hkg~61n-rf z1&BRG9&G2RG^umU0TS3_T)dqR?IzeY;HY*8^9w=UVj91s>1GUsl!Z%v-#iSYUrF5Q~l-};4! z0P=L6p03V(r;YFZzkmN$0KVaq6-%jMF`jEC)NPSAqf3{-bD!ZMu50H(qkcm*GwoNp zUaV*wh_xlS-Z1p z_3twsUjhZE*A^C-li*1>90Zd14%nEy1rV{7 zl@%Qw9nxb3$VvryB?8VE?2iZZN0k+e;b8YFwp_f30D!IizcCLG6*sY!KV^X|hJ2u6 z;_}&uvoWb&yUOb%qRfsOs?>whSi2~51L4zJ>BwQ@8uPm#m_lK1+w8tHwzFTF9G*n_3*e3 zDmn|PjaqLyLsou%Dj-Hk2kfD5W8TSj1`vv2#m^~MS62{oCq&^gXjkM&q%36t)^CI4 z{0_Koo2Wew6b9>Bg5`p}3Q!j7_5?ow05El&XJe1?{CRFUZliPA+o^wkVurv{hN_Hs zL2-}-es{HH4fVa?6m)tef@=pLE9mx#Ykk^6#fHulgY>*W9Q_8o9hi9L2=Z9?{kC_) z0_4ny&qi@nG@h68V+WLN>*A6Oa4ToHu=RI@K;*!i)IWeaUxLVc$n362QcAhpmn%l`fIOX86|vz?rWNmcBu9iLBfL+ydV*P`W-?{ zZ~pvD3|aX=Fz*9ljiG8NYgD#ii#4>hdqDVQtE$iEfJT87v=h=34yma9v~cxwS-!ns zI)iPE=ADcBR9@%8)3fvO%Kne-!gxlNgv7+J0Hjq0t+xzZMnmn{v@PuEr^$*;kLh-X z#KgoLJIVkJI#CyLx&5UQVd<$q(g!|^pV<35p3wcE3Ve$Xdxo?4bh&?9hT0Pj?gt&gU?_+NU-ywV;2U$($L+!hztBGF_ zn*#N-1w>Oe6$HYXn@p}Kvdx?v=hzEA#}@ga5N~ev$4R&3-Yj>{pM@LjT+qlaGYem1 zj&1Lx7H)E0dqB_@=B~xSg|6}#e?|g(_>n{$2=3BVo#&j;mI&@Q4{GHJRmYZJ5UvlY z=R*BZvsQba0Q>g&`92+@tizU6Zux#4qL(GV9p{p}brd1p;z|+`rcGww{=S z3t=O7p?5M1fEjbJ6rRq5_Z(0yhlV5C=yvFjEezt}KrkkdP!Zc-oxLZ%JQ)wCfE@rW z<(wMFN8Q=e$j0wJ1#g+w&FPh2l$u!MF%e(V%uh_$D)rT3-zhg^X9lyB8D0cZEXXF74Uiz9b z^ROj_y93tKAIw?YP05}{tOQ#M7~}af595S#1TZDHdlK5dglZD%7eZr$-TQk|bAy1K zD;@za3R$x0ivVt~sl&CbF{mM8MoR{I0Fz;%gsK+?-6(iak~f5U_UMk>i)Sps1v8&> zZbl0T&C3r+6ABe;qFS%vaVIeqPX4}is00s#ZQ}C<(M`nGj3t6xXpTj&5{TDH?d@{y zC&%Hw;Se+9+rlDY;L^u2KcSas9lV|$;1*~YqTId?$p!_)fKKr2Na+ZQaWpM>T3Sn# zu&Ke{nx`Zvn=J`;iVuIl#+EAa-~P7Eop@Osg<`-(&IMQ*pBn_~o)38anIAt=M4aCz zkDnav*l@q#q@<-S_e*nxTGFG2hQBKKP(Jl-Q7q1U5MD|i8ynl*lX)7Aw6;URlW5YW zwJ0ZUjYC!XL4^6`qaIlddCC1^yc~f7nb24$s-Cj7J((=H2VfNTXCX9xj#wk`A;A3U zAcfGmfjvIXsN8n%)q8@SS9mo5c6UQq}(_KSD z+>tvdxDfPVNqg4 zD2J<(EShh9i)}3cjvpw=0Yrii?M%&~e;y80Z9rd0FCbz(D8S@|N+96{eE8Y3XALiP zM;-4iBA5(vh2K52Hp!se)9Fy+v^@mnTaw}ll$ zeFoemv=mdkefxH(B;1*1FNNsB>(7KduAs5l+A|EIhff#c^A@w526|I>S_a z5#JH{`8{pSh0G6X02Bj;6Dxax^}Y8}voc8$muP#(E~=L+}myDM%jmy-K> zVf7CFoqeh{Y^-UexwN%IQX;E2Mahe~$Bn-J1@;1~_aH|^d>{Q75^-cPu|Iinn6p>i z`hFhwc*Q|QI9g99li$sn{NH(-I+V#$nZ!Hi-87C%Z+Srpn}NXbR(#otgQ+9OD;Uz> zWGc|FJQKOI$u2`=b1Br(PBq_cXaF}EbDl>}Y>9P(eeLg?HwwDzPk~@JR5o52@NB$N zn?2vRVG?I-63>O!DkFgXBP*P6)P*E&sZN&kLq860u_bBF2%Gu~q8!PUeaIfBqwaYA zGL%q{s?=9AhG{sdA%_)&(0I|za`cS_!z)w#WNzUfy0|?S4|^uhmHd18Zi}-soAA)V z4aOuV9^LHey^OBgl~0*q&>>{dNv@MO)<4%M!Q|*kUWA9~XMqs&FceUz8`Fe9;bt{N zcggz`g)@fSfE)JrD~Id7$LCr7a^}_dcatA)rQWAiCbZ*G0a3UJv_=VX^tkq}sCSKjMDnWjxm5p03D6`iOW$akf zXSQ>?${xrhP<9InAp2m$hhP6nYG`25FSrM{(kaow+ zrH>?U&ZQ^Wx0yd`dh$A6=oAqRC*+KH9w!%`i5n-Uk#_y)T$|lDRvP_k{<6g;n7#WR z%3=1mjTpYY+LqFeLuwkc%tOUX%1QKuZ9+bw)3mGf{jwR^Cp0Q*`6Fj(7_y+|=C zH~>LeS2tMe!mk@fybn{@(6Dvc^v`^N1J(p1_8s#8Bj{lCd;#Yx!)-#+9VOq2l|z4jJ!f_H9~VGioU-`n}H6bvOc`U`qB3 ztPqds_*v)n+jrW6b0r0tvRC4E^R7ZxfNX8$y2*d_3+JohgQN7A%OUJuf+x0BEXM5(J+e20W?}YoYY)8ElB;(ZOr#jT$r={(&yC@WT zWpXCYyRIMrz#&vMSHu1OTm&t!4K1?JB&} zM?VGHjbDx7!ci8x(;Jm}qF*c~j$ge<$S&Flq13%AiMOzD>E=$!qs#Z@#dmfr&-7kt zb{B)g3_klybDT`%|K(oFWUS>=)AVB}ro7_+yp&HFch+SnWG!G>csbUpk_rX#c%7fDWx z{AWZOn=nilKh?)26NjgI46aq*$y<`fMhsR{Zhn8y1f20R%{>x9yukY(wW>bDDv5?Lg zzHb{Rhs`RQv}h-{F~DHaD|cWYx7;PV%!F?(-V3ir%IkOYWrU~~(@zNc{JfLkJP4Zz zZEiHqc!%m@@X19&OqdT5w9>%=5#@c`hwb?({ojr+ehxK?oqG`1J(5ki3A5u_`?}nb z2m69J8(#EZKdJ6sGh(;m3V0Z8hQX>paQxeZF@*b3E4Ts6L%5Z`EXl3SWbg{SFQds= zGrAroavWc2IDKb5+IINfFmmt)Gp}VVL<(f%IO&S@jpgrxmu+NlpaJXeiC|dKS+qMZ zr`}%(u4m{@8~q4-_f@isz!rI*NJB%Mo$#+)vwL1iNB&3TaOO!Y9DOq7^#z5Tgfd90 z9do}nr+M(hp8YKL%{e%5Bld}bCqXO{aCva-1T7vU9jSWvV`+zHh)}V>@Cr}29QbgyfN{kajBf5&ZD()3g&}ua6z?M^3Hn>&7WAa2dfgwNflcc?y(upm znNA&qb;8;mO0ThJa&JxP%xWzP z`ddfI%PfW#2tciP=t|%8WxT!J5Ej8s+FK=SJ-urk=~5p{X6NQ&!`II1uZ7~15U900 zLqm%e`fX`L$e$ZhbaJAUaQwsSW=iTGI51$f_&&La>t#7p+O#|kd)T+NDspe}sL3YF zdG}(WeP1WR=E_F~@<7RE0UR%{r|4fdR0e0uqzr}@aux7S@Ato9)>azIAwJ*S7VX{W zGJB2INiMNzI)WmuWFI=`|5tNY{tx9E_DhpSS*9ZUGAdihI)pgGAX?BkmL#$zYl!SL zX-t^0WGTvoLbB#q$8xL_$`+D6k*%@sW_a&$&gq=@{R`e7=JT1)%=29P^}X)7pX?q`>QkjN5OCO*P`z4cQ%|UB5usg$gqAv-CRMIwUtJt z*u@d&P%~9-zu)Y*Sl^uKr&T6*6A5nQwhr>x4SR&p>>@Qv&un+#%GOi?jrN?^lb;#6 z=E#HjaU~j?lq4DvvSku1<=P1~T2qe-)B9T{wROjgzrz+-2o8raNe$olaGJ@6)WZ{V5yMIHfxPaYMk zg@GUY!X~G?D=v1g_h30b!&d7m&44LipWofC+1=UMfG%z%psDQ!rr=2PYZ2G@=oZyd zUQ3m-qz;Oh94G>od_}Ab7GHDl*rYtS(!w5lUKS=6C9;*K~ zH`wYT-PMxIA92r)qE=A5oNJTcIhI`$@vTX5&-XZ(l(aWhaL_1x%S#X#P3wl~y) z2cv_>X%?iy9mtfu?I4$tLI}(`+~6?MaA=Gmp#_R>)A6|@-hteh*)C;>rP>3~5GN$< zgZ=6eLJBEwg4x~JOsYkok7HN^iw_3W`kR_0ljR+MD{s1!uE=5TI8ybTdg+Qv^j$N# zmol`zWlm62k9x%&FbaQIwqf-1q!G2P3_8aFo<4)97G%>jl#V8;~~BpH+=hKT2ICAXt#}ux@0^;9b1{{4Qno ze)__Yw{8eHUs^Xjd^MPH{+GKA$w}~RfvbYyhc|a@W^KQJB+LzFk#b;mpXmOYnsPUu8g|Rtl<^~$^(4a$CECyfipi%QM4C7&o72(&@OvW)8Zk3%kA#d zB}lRYgoPx3g0{V`pt_M{F}^hPlt}|LTdZm#+(0yp>Q;h#_fYeGb&Ak z78X7^NqmaJv)BS22WXD&<;xQ^YSr<9l0zoaFC$Gk)$!|;8yW7z`DxgYj(YnkxY(bg zoM5Z60WHgBvlii3erMu0zqq2Azf1`bBuS7I^vA6&G5s4l8g|x@KI(UEN%K{{?F|wK zP;0qHBNIODIdgk;mK#Hlt;s3d#d(Wk6ZTY+x&;ePg-?~rovi4kn?-Ov&Z&Cno$1Gh za@hyKVSe&5y0LIj*T->dhteskP42#Tj;lb*9u~NtixN~~{{3wDfg+!OVlaBnTJYvU2HH?qu-0)p0NJgf^`r?t^}tv|W&rh4t&EPv-O z=%l%EPNCPAWh$`{+iz8G%T1o+%lo-OgDL7#k~N>cUTDqO0g))dCkH~TP+=R6@9#Cj zjH43~m(^(BO}XTqWT@0CS)g_Ix=a10M+2eSPTPAW;}n81HT~YnrOCVq2i!+ z@!)W!PZ&7=oi5x^7%<4ww5Mdh;m^$P$;&_u>H@tGt8;@VK}I>Q)C%XDV!ED{mjc|K9$ zW~7|0r&lj8O>Jd7Q*xHeM2#N7si?_L9;CmhMm`V?fq@8Mg%{lv2+BTdyE31gyyH_H zo)51RQzc z)W)mO+GECz;ko-0lLgRJJ$TRi#rghduRH5Db;r=4mfs%@aw=X?(1vcWw|T=Lb#Mz4 zWeljcj-0xAf~E89dy|R2%s6JP$WsDb8g5(wF=A4yn81FT1OLcgNf5r5ump3?x)jCh zB?`LsVI17p)rqU+zVkw$6`R9=4tMx@7L{+zNeR@lv$}eKV^^TI(pXc2cBa zbaVtqb{STdy1q6%AD~Ut%QD> z*L@T>n1CrwxS`?lRlKH3h9xT`SE>(KYiYBw=-JxO4COb2Pr$;3oxFSR-m%8J>Q`KXlpXZ?UGv>wzKez2eqh`(a6KVSYkx^ZhMx?KD$k8qhg7&&Hb6<6r8sm=`qGKPcS8Ek{P=s$vb)dRAodMG0 z_jY%ydtt`t*ux;>0!!AUZdSxRloFKIN@}MZEb`%4{fs7O+#o(A%9oy&`P1}PtP39| z*D~7pfiyMQXF9ua)DMW1AmEO8p1 z^uLS+b25;`ku>GSPmI6il5D920~28YK=fs2fxAIq?S|HGxvqh^HCls006~;ato|Q#N+GvQhT2~t=WooPoVp4wKa2~J| zql3h|J2>i2?oAcWM~q>EKX-0J(|d&WR~=n*;l3Q+$v#Oy{JQfpm)|0DMFQ1=Z zLRpOnNLl<#N-GAn_U3y0go}<_tAe(W&3^^SMnJf2)l?c`D8+MhpFCcBl+$$zerep( zUOi`3lnaxM*hfLSr3d67dVu}aU+nGv@g)5&P${oJ+J~S%wj3RCNCI)Ie^!8RE4#LPJ)N)~ zE?^dszs;h6SDXwN`r)osB%MD}=(Rq^z&<-}x;D+z6FBc7w)OAc*=c@)M^|E8I4LmuE)m$v1w;*khu7peE60ig zLUNFh^8aLX{kBnAul-vw)rxDfvrkjxSenRRR3~huEo@zt9PhqY(t>&W?>q83O*uuK z7dVEr7cedsu{CHI&+Uwu1sZ3*)wL|GA8_jgQ8lw~e`EGH&#y!Tow67GqUf8@`RTR7 ztZn7%>dj66lv4qDe+Bl-Tl7@8`Y9o@b4v6%MG76yJ;$D*m8cWc{<du(n(RLlT)fRC=+Opb_PDF68}u`J7Ir4l4la6u=P`FAB{;)qs#wNW)-x^x zo@l4Ijy3hJJ*nv?X`^>a-xFcs(sU0IglN5%j~)(A6Hm|y00@B?g~@o+zxC=NKQ!dW zGt(;=ul5JxvxAy3R5o}8d~LYl}PHE*N#<*-X6j)Ysg5r`Sxz8!W(5{be>3-SQVZkMA3cvdsn_n z0t2ClWu`tDgf(H^5jS@f`TO?C<&}YyyURS@H_sCYC@l=~Hy3O&lRx#a)pP12YsZq)ZCE?ijY)5Y}_QwN{ZbalkmP*qp)=VhK2-RJp=W z+eStg=pvirR1#DQc-soSRy>B`**{vfFF^IY!X#NVuIKcne>7`?-Pdb(=shRF1!iQ0 zUAp-I9-8NyJ%mgoSw>3VE(b z*2Mz0VAcy(Xxw-)STqbK48DAEbYvk6rg?@7gG1Ntyo71uAX+dF318qKXsk6<_}bxx z2bxg$i3kw=@?yjEYhUm_YzkFAUA4dj4}-4nzI$;!Ko1IUtk?=U_Kc_Wc3!#}_?wUe NdfL}e`I^?4{{d+b_ul{j From c5f2954e0f43dc4be7769068cbaf3782aebfbd7c Mon Sep 17 00:00:00 2001 From: shameekganguly Date: Fri, 13 Sep 2024 15:04:09 -0700 Subject: [PATCH 06/13] Remove unreferenced switching-physics-engine tutorial and fix broken link in 04_physics_engines (#684) Signed-off-by: Shameek Ganguly --- tutorials/04-switching-physics-engines.md | 136 ---------------------- tutorials/04_physics_engines.md | 2 +- 2 files changed, 1 insertion(+), 137 deletions(-) delete mode 100644 tutorials/04-switching-physics-engines.md diff --git a/tutorials/04-switching-physics-engines.md b/tutorials/04-switching-physics-engines.md deleted file mode 100644 index 0876a82ad..000000000 --- a/tutorials/04-switching-physics-engines.md +++ /dev/null @@ -1,136 +0,0 @@ -\page switchphysicsengines Switching physics engines - -This tutorial describes how to switch between physics engines in Gazebo Physics -when using Gazebo. -Gazebo Physics enables Gazebo to choose flexibly what physics engine -to use at runtime. -By default, Gazebo uses the [DART](https://dartsim.github.io/) physics -engine. - -Downstream developers may also integrate other physics engines by creating new -Gazebo Physics engine plugins. -See \ref tutorials "Gazebo Physics'" tutorials to learn how to integrate a -new engine. - -## How Gazebo finds physics engines - -Gazebo automatically looks for all physics engine plugins that are -installed with Gazebo Physics. -At the time of writing, there are three physics engines available (more detail -in \ref physicsplugin "Physics plugin tutorial"): -- **DART**: `gz-physics-dartsim-plugin`. -- **TPE**: `gz-physics-tpe-plugin`. -- **Bullet**: `gz-physics-bullet-plugin`. - -If you've created a custom engine plugin, you can tell Gazebo where to -find it by setting the `GZ_SIM_PHYSICS_ENGINE_PATH` environment variable to -the directory where the plugin's shared library can be found. - -For example, if you've created the following physics engine shared library on Linux: - -`/home/physics_engines/libCustomEngine.so` - -You should set the variable as follows: - -```bash -export GZ_SIM_PHYSICS_ENGINE_PATH=/home/physics_engines -``` - -If you have several libraries installed in different paths, you can add more -paths separated by a colon, for example: - -```bash -export GZ_SIM_PHYSICS_ENGINE_PATH=/home/physics_engines:/home/more_engines -``` - -For additional environment variables that Gazebo finds other plugins -or resources, you can see them by: - -```bash -gz sim -h -``` - -## Pointing Gazebo to physics engines - -There are a few different ways of telling Gazebo which engine to load. - -In any way, the standard naming for your plugin's shared library is to have a -`lib` prefix and the file extension. -Following this naming convention, the name should be `libCustomEngine.so` but -the `CustomEngine` could also work. - -### From SDF - -You can specify in Gazebo which engine to load from the SDF world file -by giving the shared library name to the `Physics` plugin tag. -For the example above, you can load it like this: - -```{.xml} - - - CustomEngine - - -``` - -### From the command line - -Alternatively, you can choose a plugin from the command line using the -`--physics-engine` option, for example: - -```bash -gz sim --physics-engine CustomEngine -``` - -### From C++ API - -All features available through the command line are also available through -[gz::sim::ServerConfig](https://gazebosim.org/api/sim/9/classgz_1_1sim_1_1ServerConfig.html). -When instantiating a server programmatically, a physics engine can be passed to -the constructor, for example: - -``` -gz::sim::ServerConfig serverConfig; -serverConfig.SetPhysicsEngine("CustomEngine"); - -gz::sim::Server server(serverConfig); -``` - -## Troubleshooting -These are common error messages that you may encounter: - -```{.bash} -Failed to find plugin [libCustomEngine.so]. Have you checked the GZ_SIM_PHYSICS_ENGINE_PATH environment variable? -``` - -Gazebo can't find out where `libCustomEngine.so` is located. - -If that's an engine you believe should be installed with Gazebo Physics, -check if the relevant plugin is installed. - -If that's a 3rd party engine, find where the `.so` file is installed and add -that path to the environment variable as described above. - -```{.bash} -Unable to load the [/home/physics_engines/libCustomEngine.so] library. -``` - -There was some problem loading that file. Check that it exists, that you have -permissions to access it, and that it's a physics engine plugin. - -```{.bash} -No plugins with all required features found in library [/home/physics_engines/libCustomEngine.so] -``` - -This means that there are plugins on that library, but none of them satisfies -the minimum requirement of features needed to run a Gazebo simulation. -Be sure to implement all the necessary features. - -```{.bash} -Failed to load a valid physics engine from [/home/physics_engines/libCustomEngine.so] -``` - -Some engines were found in that library, but none of them could be loaded. -Check that the engines implement all the necessary features. diff --git a/tutorials/04_physics_engines.md b/tutorials/04_physics_engines.md index 6ca189dec..f8c3f44a7 100644 --- a/tutorials/04_physics_engines.md +++ b/tutorials/04_physics_engines.md @@ -1,3 +1,3 @@ \page physicsengine Use different physics engines -See [Physics engines tutorial](https://gazebosim.org/api/gazebo/3.8/physics.html) in Gazebo. +See [Physics engines tutorial](https://gazebosim.org/api/sim/9/physics.html) in Gazebo. From 7f9e3945573c2b3d1d08937b86a3b0ad05a0c86d Mon Sep 17 00:00:00 2001 From: Ruben Vidal <98191055+Combuster54@users.noreply.github.com> Date: Mon, 16 Sep 2024 03:14:02 -0500 Subject: [PATCH 07/13] Update Dartsim version to 6.13.2 in docs (#686) Signed-off-by: Ruben --- tutorials/05_plugin_loading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/05_plugin_loading.md b/tutorials/05_plugin_loading.md index 4c74d9d44..7eb8e87b8 100644 --- a/tutorials/05_plugin_loading.md +++ b/tutorials/05_plugin_loading.md @@ -114,7 +114,7 @@ And you'll see the engine info: ```bash Testing plugin: gz::physics::dartsim::Plugin - engine name: dartsim-6.10.0 + engine name: dartsim-6.13.2 ``` At the time of writing, Gazebo Physics is shipped with From f9135f3466696cefb764f6e8054be410fac128f6 Mon Sep 17 00:00:00 2001 From: shameekganguly Date: Mon, 16 Sep 2024 04:03:34 -0700 Subject: [PATCH 08/13] Update readme (#688) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Shameek Ganguly Co-authored-by: Alejandro Hernández Cordero --- README.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index b3e96fd53..21fae3ff6 100644 --- a/README.md +++ b/README.md @@ -79,27 +79,33 @@ Please refer to the [examples directory](https://github.com/gazebosim/gz-physics API and tutorials can be found at [https://gazebosim.org/libs/physics](https://gazebosim.org/libs/physics). -You can also generate the documentation from a clone of this repository by following these steps. +On Ubuntu, you can also generate the documentation from a clone of this repository by following these steps. -1. You will need Doxygen. On Ubuntu Doxygen can be installed using +1. You will need Doxygen, which can be installed using ``` sudo apt-get install doxygen ``` -2. Clone the repository +2. Install dependencies + ``` + sudo apt-add-repository -s "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -c -s) main" + sudo apt-get build-dep -y libgz-physics8-dev + ``` + +3. Clone the repository ``` git clone https://github.com/gazebosim/gz-physics -b gz-physics8 ``` -3. Configure and build the documentation. +4. Configure and build the documentation. ``` - cd gz-physics; mkdir build; cd build; cmake ../; make doc + cd gz-physics; mkdir build; cd build; cmake ..; make doc ``` -4. View the documentation by running the following command from the build directory. +5. View the documentation by running the following command from the build directory. ``` firefox doxygen/html/index.html @@ -109,7 +115,7 @@ You can also generate the documentation from a clone of this repository by follo Follow these steps to run tests and static code analysis in your clone of this repository. -1. Follow the [source install instruction](#source-install). +1. Follow the "Source Installation" instructions in the [installation tutorial](https://gazebosim.org/api/physics/8/installation.html). 2. Run tests. @@ -132,19 +138,21 @@ gz-physics ├── bullet Files for bullet plugin component. ├── bullet-featherstone Files for bullet-featherstone plugin component. ├── dartsim Files for dartsim plugin component. -├── example Examples about how to use the library +├── examples Examples about how to use the library. ├── heightmap Heightmap related header files. ├── include/gz/physics Header files. ├── mesh Files for mesh component. -├── resources Model and mesh resource files used by tests. ├── sdf Files for sdf component. ├── src Source files and unit tests. ├── test │ ├── benchmark Benchmark tests. +│ ├── common_test Tests common to multiple physics plugins. +│ ├── include Header files for tests. │ ├── integration Integration tests. │ ├── performance Performance tests. │ ├── plugins Plugins used in tests. │ ├── regression Regression tests. +│ ├── resources Models and mesh resource files. │ └── static_assert Tests involving compilation failures. ├── tpe │ ├── lib Implementation of TPE engine. @@ -164,7 +172,7 @@ Please see # Versioning -This library uses [Semantic Versioning](https://semver.org/). Additionally, this library is part of the [Gazebo project](https://gazebosim.org) which periodically releases a versioned set of compatible and complimentary libraries. See the [Gazebo website](https://gazebosim.org) for version and release information. +This library uses [Semantic Versioning](https://semver.org/). Additionally, this library is part of the [Gazebo project](https://gazebosim.org) which periodically releases a versioned set of compatible and complementary libraries. See the [Gazebo website](https://gazebosim.org) for version and release information. # License From 902824b2549f425b7dea5ada6b362be31664faa7 Mon Sep 17 00:00:00 2001 From: Martin Pecka Date: Mon, 16 Sep 2024 16:40:32 +0200 Subject: [PATCH 09/13] tutorials/08-implementing-a-custom-feature: Fixed paths and directory listings (#690) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Pecka Co-authored-by: Alejandro Hernández Cordero --- tutorials/08-implementing-a-custom-feature.md | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/tutorials/08-implementing-a-custom-feature.md b/tutorials/08-implementing-a-custom-feature.md index 7db6fd8ea..8cf3e5464 100644 --- a/tutorials/08-implementing-a-custom-feature.md +++ b/tutorials/08-implementing-a-custom-feature.md @@ -49,14 +49,13 @@ Looking closer to a plugin folder, for example, the `dartsim` (DART) plugin: dartsim ├── worlds Example SDF files for testing dartsim plugin functionalities. ├── src Main implementation files of the plugin features interfacing the physics engines API -├── include/gz/physics/dartsim Header files for the plugin features. └── CMakeLists.txt CMake plugin build script. ``` Basically, new implementation of \ref gz::physics::Feature "Feature" or \ref gz::physics::FeatureList "FeatureList", which is corresponded to a functionality of the external physics engine can be defined as a header in -`include/gz/physics/` folder. The custom feature could +`src` folder. The custom feature could be added in a \ref gz::physics::FeatureList "FeatureList" and implemented its functionalities in `src` folder. @@ -82,7 +81,7 @@ downstream physics plugins. For custom feature requirements, there are two main component classes in the general structure of a custom feature: -- \ref gz::physics::Entity "Entity" corresponds to the "proxy object" that +- \ref gz::physics::Entity "Entity" corresponds to the "proxy object" where the \ref gz::physics::Feature "Feature" is implemented. These are the most common "proxy objects" that are inherited from `Entity` class: - \ref gz::physics::Feature::Engine "Engine": Placeholder class for the @@ -134,9 +133,9 @@ will not run at the same time when requested. ### Define custom feature template -With the requirements and restrictions above, we first need to define a feature template for the custom feature. In this case, this feature will be responsible for retrieving world pointer from the physics engine. The template is placed in [World.hh](https://github.com/gazebosim/gz-physics/blob/main/dartsim/include/gz/physics/dartsim/World.hh): +With the requirements and restrictions above, we first need to define a feature template for the custom feature. In this case, this feature will be responsible for retrieving world pointer from the physics engine. The template is placed in [World.hh](https://github.com/gazebosim/gz-physics/blob/gz-physics8/dartsim/src/World.hh): -\snippet dartsim/include/gz/physics/dartsim/World.hh feature template +\snippet dartsim/src/World.hh feature template The `RetrieveWorld` feature retrieves world pointer from physics engine, so we will use the `World` entity inherited @@ -159,9 +158,8 @@ dartsim ├── src │ ├── CustomFeatures.hh │ ├── CustomFeatures.cc +| ├── World.hh │ └── ... -├── include/gz/physics/dartsim -│ └── World.hh └── CMakeLists.txt ``` @@ -178,24 +176,24 @@ After defining the feature template, we can add it to a custom The custom feature `RetrieveWorld` is added to `CustomFeatureList`, other custom features could also be added here. The `CustomFeatures` "FeatureList" here uses data structures and classes from: -- [Base.hh](https://github.com/gazebosim/gz-physics/blob/ign-physics2/dartsim/src/Base.hh), which defines structures that contain information to create `Model`, `Joint`, `Link`, and `Shape` objects in Dartsim API. +- [Base.hh](https://github.com/gazebosim/gz-physics/blob/gz-physics8/dartsim/src/Base.hh), which defines structures that contain information to create `Model`, `Joint`, `Link`, and `Shape` objects in Dartsim API. They act as an interface between Gazebo Physics Library and the actual physics engine. - \ref gz::physics::Implements3d "Implements3d" for implementing the custom feature with \ref gz::physics::FeaturePolicy3d "FeaturePolicy3d" ("FeaturePolicy" of 3 dimensions and scalar type `double`). -We will then implement the actual function with Dartsim API in [CustomFeatures.cc](https://github.com/gazebosim/gz-physics/blob/ign-physics2/dartsim/src/CustomFeatures.cc) to override the member function +We will then implement the actual function with Dartsim API in [CustomFeatures.cc](https://github.com/gazebosim/gz-physics/blob/gz-physics8/dartsim/src/CustomFeatures.cc) to override the member function declared in the custom feature header file: \snippet dartsim/src/CustomFeatures.cc implementation Here, we implement the behavior of `GetDartsimWorld` with Dartsim API to return the world pointer from `EntityStorage` object storing world pointers of `dartsim` in -[Base](https://github.com/gazebosim/gz-physics/blob/ign-physics2/dartsim/src/Base.hh) class. +[Base](https://github.com/gazebosim/gz-physics/blob/gz-physics8/dartsim/src/Base.hh) class. In the end, we add the implemented `CustomFeatures` "FeatureList" together with other \ref gz::physics::FeatureList "FeatureList" to final `DartsimFeatures` -"FeatureList" as in [dartsim/src/plugin.cc](https://github.com/gazebosim/gz-physics/blob/ign-physics2/dartsim/src/plugin.cc) +"FeatureList" as in [dartsim/src/plugin.cc](https://github.com/gazebosim/gz-physics/blob/gz-physics8/dartsim/src/plugin.cc) (please see the \ref createphysicsplugin "Implement a physics feature" tutorial for registering the plugin to Gazebo Physics). @@ -208,6 +206,5 @@ dartsim │ ├── CustomFeatures.hh │ ├── CustomFeatures.cc │ ├── ... -├── include/gz/physics/dartsim └── CMakeLists.txt ``` From 615afd9b5c2c52120a144773a6f8ddb781a8d7b6 Mon Sep 17 00:00:00 2001 From: Martin Pecka Date: Tue, 17 Sep 2024 00:18:24 +0200 Subject: [PATCH 10/13] tutorials/09_use_custom_engine: Add actual build and run instructions (#689) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Pecka Co-authored-by: Alejandro Hernández Cordero Co-authored-by: Ian Chen --- tutorials/09_use_custom_engine.md | 57 +++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 7 deletions(-) diff --git a/tutorials/09_use_custom_engine.md b/tutorials/09_use_custom_engine.md index 136804745..572728997 100644 --- a/tutorials/09_use_custom_engine.md +++ b/tutorials/09_use_custom_engine.md @@ -158,13 +158,56 @@ While we won't go into detail, here is an example to test our new To get a more comprehensive view of how `EntityManagementFeatures` are constructed in TPE and Dartsim, feel free to take a look here: -- Dartsim: [EntityManagementFeatures.hh](https://github.com/gazebosim/gz-physics/blob/ign-physics2/dartsim/src/EntityManagementFeatures.hh) and [EntityManagementFeatures.cc](https://github.com/gazebosim/gz-physics/blob/ign-physics2/dartsim/src/EntityManagementFeatures.cc) -- TPE: [EntityManagementFeatures.hh](https://github.com/gazebosim/gz-physics/blob/ign-physics2/tpe/plugin/src/EntityManagementFeatures.hh) and [EntityManagementFeatures.cc](https://github.com/gazebosim/gz-physics/blob/ign-physics2/tpe/plugin/src/EntityManagementFeatures.cc) +- Dartsim: [EntityManagementFeatures.hh](https://github.com/gazebosim/gz-physics/blob/main/dartsim/src/EntityManagementFeatures.hh) and [EntityManagementFeatures.cc](https://github.com/gazebosim/gz-physics/blob/main/dartsim/src/EntityManagementFeatures.cc) +- TPE: [EntityManagementFeatures.hh](https://github.com/gazebosim/gz-physics/blob/main/tpe/plugin/src/EntityManagementFeatures.hh) and [EntityManagementFeatures.cc](https://github.com/gazebosim/gz-physics/blob/main/tpe/plugin/src/EntityManagementFeatures.cc) + +## Compile and run the example + +Clone the source code, create a build directory and use `cmake` to compile the code: + +```bash +git clone https://github.com/gazebosim/gz-physics +cd gz-physics/examples/simple_plugin +mkdir build +cd build +cmake .. +# Linux +cmake --build . --target PluginTest +# Windows +cmake --build . --target PluginTest --config Release +``` + +Run the test to verify the new physis plugin: + +```bash +# Linux +./PluginTest + +# Windows +.\Release\PluginTest.exe +``` + +You'll see: + +```bash +$ ./PluginTest +Created empty world! +``` + +Once you implement more features, you could try passing `SimplePlugin` as the physics engine +to Gazebo Sim following \ref physicsengine "Use different physics engines" tutorial, e.g. setting + + # Linux + export GZ_SIM_PHYSICS_ENGINE_PATH=$GZ_SIM_PHYSICS_ENGINE_PATH:$(pwd)/build + # Windows + set GZ_SIM_PHYSICS_ENGINE_PATH=\build\Release + +And run Gazebo sim with -## Load and test + gz sim -v4 -s --physics-engine SimplePlugin -Please follow the previous tutorial \ref installation "Installation" to build -`gz-physics` from source again for our new feature to be compiled. +However, with the poor one feature we have implemented in this tutorial, you will only see an error, +because Gazebo Sim needs much more features: -Now we can load the new physics plugin named `gz-physics-tpe-plugin` -to test it on Gazebo by following this \ref physicsengine "Use different physics engines" tutorial. + [error] [Physics.cc:854] No physics plugins implementing required interface found in library + [D:\programming\gz9-ws\gz-ws\src\gz-physics\examples\simple_plugin\build\Release\SimplePlugin.dll]. From 6afc9a7ce615d6eba704b4d034b95d1e7c716d95 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 16 Sep 2024 18:48:51 -0700 Subject: [PATCH 11/13] Update instructions for homebrew installation (#691) Signed-off-by: Ian Chen --- tutorials/02_installation.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tutorials/02_installation.md b/tutorials/02_installation.md index 91a80d638..c1da08359 100644 --- a/tutorials/02_installation.md +++ b/tutorials/02_installation.md @@ -83,11 +83,8 @@ system requirements. ## Binary Installation -1. Install Homebrew, which should also prompt you to install the XCode -command-line tools: - ``` - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - ``` +1. Install [Homebrew](https://brew.sh/), which should also prompt you to install the XCode +command-line tools. 2. Run the following commands ``` From 8e28e941d71c9214c89d14658cbf219ef324e0a7 Mon Sep 17 00:00:00 2001 From: "Addisu Z. Taddese" Date: Thu, 26 Sep 2024 17:26:31 -0500 Subject: [PATCH 12/13] Prepare for 8.0.0 (#693) Signed-off-by: Addisu Z. Taddese --- CMakeLists.txt | 2 +- Changelog.md | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 033d629c2..b16b4dd17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ find_package(gz-cmake4 REQUIRED) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -gz_configure_project(VERSION_SUFFIX pre2) +gz_configure_project(VERSION_SUFFIX) #============================================================================ # Set project-specific options diff --git a/Changelog.md b/Changelog.md index c904bd290..c6ee05876 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,9 +1,20 @@ ## Gazebo Physics 8.x -### Gazebo Physics 8.0.0 (2024-09-XX) +### Gazebo Physics 8.0.0 (2024-09-25) 1. **Baseline:** this includes all changes from 7.3.0 and earlier. +1. Miscellaneous documentation fixes + * [Pull request #691](https://github.com/gazebosim/gz-physics/pull/691) + * [Pull request #689](https://github.com/gazebosim/gz-physics/pull/689) + * [Pull request #690](https://github.com/gazebosim/gz-physics/pull/690) + * [Pull request #688](https://github.com/gazebosim/gz-physics/pull/688) + * [Pull request #686](https://github.com/gazebosim/gz-physics/pull/686) + * [Pull request #684](https://github.com/gazebosim/gz-physics/pull/684) + * [Pull request #683](https://github.com/gazebosim/gz-physics/pull/683) + * [Pull request #682](https://github.com/gazebosim/gz-physics/pull/682) + * [Pull request #681](https://github.com/gazebosim/gz-physics/pull/681) + 1. Remove deprecated functions * [Pull request #673](https://github.com/gazebosim/gz-physics/pull/673) From 00a3812ccad0ce4dc4eed5ab7984b7f4d76ce22c Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 10 Oct 2024 00:09:02 +0000 Subject: [PATCH 13/13] update readme badge Signed-off-by: Ian Chen --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 21fae3ff6..acd8b363e 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,10 @@ Build | Status -- | -- -Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-physics/tree/gz-physics8/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-physics/tree/gz-physics8) -Ubuntu Noble | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-gz-physics8-noble-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-gz-physics8-noble-amd64) -Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-gz-physics8-homebrew-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-gz-physics8-homebrew-amd64) -Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-8-win)](https://build.osrfoundation.org/job/gz_physics-8-win) +Test coverage | [![codecov](https://codecov.io/gh/gazebosim/gz-physics/tree/main/graph/badge.svg)](https://codecov.io/gh/gazebosim/gz-physics/tree/main) +Ubuntu Noble | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-main-noble-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-main-noble-amd64) +Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-ci-main-homebrew-amd64)](https://build.osrfoundation.org/job/gz_physics-ci-main-homebrew-amd64) +Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=gz_physics-main-win)](https://build.osrfoundation.org/job/gz_physics-main-win) Gazebo Physics, a component of [Gazebo](https://gazebosim.org), provides an abstract physics interface designed to support simulation and rapid development of robot applications.