From c4ec55671280b25b16ae552e001d6ac6b742eb93 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Tue, 20 May 2025 22:38:05 +0200 Subject: [PATCH 1/8] msc4291 placeholder --- proposals/4291.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 proposals/4291.md diff --git a/proposals/4291.md b/proposals/4291.md new file mode 100644 index 00000000000..e69de29bb2d From 81cfe197bb31d5017429209ae615820e9622dec8 Mon Sep 17 00:00:00 2001 From: Kegan Dougal <7190048+kegsay@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:53:55 +0300 Subject: [PATCH 2/8] Add MSC4291: Room IDs as hashes of the create event Co-authored-by: Travis Ralston Co-authored-by: Alexey Rusakov Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Co-authored-by: Matthias Ahouansou --- proposals/4291-room-ids-as-hashes.md | 143 ++++++++++++++++++ proposals/4291.md | 0 proposals/images/4291-creator-chicken-egg.png | Bin 0 -> 137987 bytes 3 files changed, 143 insertions(+) create mode 100644 proposals/4291-room-ids-as-hashes.md delete mode 100644 proposals/4291.md create mode 100644 proposals/images/4291-creator-chicken-egg.png diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md new file mode 100644 index 00000000000..09b684581ab --- /dev/null +++ b/proposals/4291-room-ids-as-hashes.md @@ -0,0 +1,143 @@ +## MSC4291: Room IDs as hashes of the create event + +Currently rooms are identified by a room ID [made from a random string](https://spec.matrix.org/v1.14/appendices/#room-ids) +selected by the creating server, namespaced to the origin server. This allows a malicious server to +create a room whose ID collides with an existing ID, causing security issues if the rooms are confused +together. + +This supplants [MSC4051](https://github.com/matrix-org/matrix-spec-proposals/pull/4051) with more information. + +### Proposal + +We redescribe the room ID to be the event ID of the room's `m.room.create` +event with the room ID sigil `!` instead of the event ID sigil `$`. For example, if a create event ID is +`$31hneApxJ_1o-63DmFrpeqnkFfWppnzWso1JvH3ogLM`, the room ID is +`!31hneApxJ_1o-63DmFrpeqnkFfWppnzWso1JvH3ogLM`. +*This effectively restricts the room ID grammar to be `!` + 43x unpadded urlsafe base64 characters.* + +This binds a given room to a specific single `m.room.create` event, eliminating the risk of confusion. +This can be seen as an extension of [MSC1659](https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/1659-event-id-as-hashes.md), +which replaced confusable `event_id`s with a hash of the event. + +The `room_id` field is removed entirely from the `m.room.create` event, but is reintroduced on +non-federation APIs, exactly like how the `event_id` is missing over federation but reintroduced on the +other APIs. As the `room_id` is the create event ID, and all `auth_events` cite an `m.room.create` +event, the `auth_events` no longer specify the create event ID. This will slightly reduce +all event payload sizes. + +The following changes on a new room version are made: + - Concerning the create event: + Step 1 of the [Checks performed on receipt of a PDU](https://spec.matrix.org/v1.14/server-server-api/#checks-performed-on-receipt-of-a-pdu) + is modified to remove the `room_id` as a universal example of: + > Is a valid event, otherwise it is dropped. For an event to be valid, it must ~~contain a room_id, and it must~~ comply with the event format of that room version. + - Concerning the [event format](https://spec.matrix.org/v1.14/rooms/v11/#event-format-1): + * The "Description" field for `auth_events` is adjusted to state: + > Required: Event IDs for the authorization events that would allow this event to be in the room. + > + > Must contain less than or equal to 10 events. Note that if the relevant auth event selection rules are used, + > this restriction should never be encountered. + > **NEW: MUST NOT contain the create event ID (room ID).** + * The "Description" field for `room_id` is adjusted to state: + > Required: Room identifier. Omitted on `m.room.create` events. + - Concerning [auth rules](https://spec.matrix.org/v1.14/rooms/v11/#authorization-rules): + * Change auth rule 1.2 (“If the domain of the `room_id` does not match the domain of the sender, reject.”) + to be (“If the create event has a `room_id`, reject”) given we no longer have a `room_id` on create events. + * Remove auth rule 2.4 (“If there is no `m.room.create` event among the entries, reject.”) given the create event is now implied by the `room_id`. + * Add auth rule 2.5: "If there are entries whose `room_id` does not match the `room_id` of the event itself, reject." + This overlaps with [MSC4307](https://github.com/matrix-org/matrix-spec-proposals/pull/4307). + * Add auth rule 2 (inserted before the current rule 2): "If the event's `room_id` is not an event ID + for an accepted (not rejected) `m.room.create` event, with the sigil `$` replaced with sigil `!`, reject." + +This creates a chicken/egg problem when upgrading rooms because: + - The `m.room.tombstone` event needs a `content.replacement_room`. + - The `content.replacement_room` ID is now the create event of the new room. + - The create event of the new room needs the tombstone event ID in `content.predecessor.event_id`. + - The `m.room.tombstone` event needs ... + +Creator chicken egg problem + + +To break this cycle, this MSC removes the `content.predecessor.event_id` field from the `m.room.create` event. There appear to be no security +reasons why this field exists. This field is sometimes used in clients to jump back to the correct part in the old room's timeline when the tombstone +occurred, which can be relevant when there are lots of leave events after the tombstone. Clients that wish to preserve this behaviour may instead +search the old room state for the `m.room.tombstone` event and then jump to that. + +### Potential Issues + +It is not immediately obvious which server created the room in the first place. See the "Alternatives" section +for a discussion on the pros/cons of this. + +The loss of `content.predecessor.event_id` may negatively impact the way clients stitch together timelines in upgraded rooms. + +### Alternatives + +#### Keeping the domain suffix + +We could keep the colon+server suffix as it contains useful information about the creator's server, +and has historically been used as routing information / auth checks in several places: + - event auth for `m.federate` [in Synapse](https://github.com/element-hq/synapse/blob/9d43bec/synapse/event_auth.py#L312), though the specification [states]((https://spec.matrix.org/v1.15/rooms/v11/#authorization-rules)) this should be applied to the `sender` instead - Step 3. + - It’s used as a last resort `?via=` candidate [in Synapse](https://github.com/element-hq/synapse/blob/v1.133.0/synapse/handlers/room_member.py#L1177). + +It is also desirable to know the creator's server name without having to join and get the full create event +for Trust & Safety purposes. The create event in invites can be spoofed, as can the room ID, but spoofing the +room ID makes the invite unusable whereas spoofing the create event does not. We could rely on the `sender` +instead, but for this to be effective it would be important for servers to use the `sender` domain for routing +purposes, such that if the `sender` was invalid it would cause the invite to be unusable. On the contrary, users +unfamiliar with Matrix may see a room ID like `!OGEhHVWSdvArJzumhm:matrix.org` and think that `matrix.org` hosts/moderates/ +is somehow responsible for the room in some way. By dropping the domain, we clearly express that the creator domain +may not be responsible for the contents of the room. + +However, by adding the colon+server suffix we would allow malicious servers to create room IDs with _earlier room versions_ +which have the same ID as the new proposed format. For example, a malicious server who knows of an existing +vNext room `!31hneApxJ_1o-63DmFrpeqnkFfWppnzWso1JvH3ogLM:example.com` could create a v11 room with the exact +same ID, causing confusion. We therefore need to create a new namespace for vNext room IDs which cannot conflict +with earlier room versions. This is why the colon+server suffix has been removed. We could alternatively encode the +room version along with the domain to form a new namespace e.g `!localpart:domain@version` where `@` has never been +allowed in the set of `domain` characters, but there isn't a strong enough reason to encode such information in +every event. + +#### Removing `room_id` entirely from all events + +We could remove `room_id` field from all events, and propagate it via `auth_events` instead. This +would make it harder for servers to immediately know which room an event is in as there would be +multiple potentially unknown event IDs as candidates. It’s less awkward to simply keep it in the +`room_id` field and instead remove the create event from `auth_events`. + +We could rename `room_id` to `create_event_id` and require servers to universally populate `room_id` for every event +(and drop `create_event_id`) for all events delivered to clients. This better encodes the fact that the +room ID _is_ the create event ID, but it's not clear this provides any advantages beyond that, whilst incurring +fixed costs to rename fields to clients, as well as update existing codebases to look in a different key, +and update the specification to conditionally say "room ID" or "create event ID" depending on the room version. +It's likely not worth the effort, despite it being a clearer key name. + +#### Using an ephemeral public key as identifier instead of the create event ID + +We could generate an ephemeral keypair, sign the create event with the private key and use the public +key as the room ID. [MSC1228](https://github.com/matrix-org/matrix-spec-proposals/pull/1228) proposed this. +The problem with this approach is that we cannot guarantee that servers will actually treat the keypair +as ephemeral: they could reuse the same keypair to create a spoofed room. + +### Security Considerations + +This fixes a class of issues caused by confusable room IDs. Servers can currently perform a form of +eclipse attack when other servers join via them by presenting a completely different room to some +servers. This isolates the target server, controlling information that the target server sees. By +linking together the room ID (which is user-supplied e.g via `matrix:` URIs) we can guarantee that +all servers agree on the same create event, and thus the subsequent hash DAG that forms. + +Servers may accidentally create the same room if a client creates >1 room in a single millisecond. +This happens because the entropy in the create event is quite small, primarily relying on the +`origin_server_ts`. Server authors concerned about this MAY add in sufficient entropy as a custom +key in the `content` of the create event. As of v11, the redaction algorithm preserves the entire +`content` so such extra keys become part of the event ID and thus the room ID. Servers may also +prefer to apply strong rate limits to prevent this scenario. + +The removal of enforced server domain namespaces means event IDs truly are _global_. This means we +rely on the security of the hash function to avoid collisions (which we've always relied on _within_ a +room). This has always been implied due to the federation endpoint `/event/{eventID}`, but this change +makes the data model rely on global uniqueness. See [MSC2848](https://github.com/matrix-org/matrix-spec-proposals/pull/2848) +for more discussion. + +### Dependencies + +This MSC has no dependencies. diff --git a/proposals/4291.md b/proposals/4291.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/proposals/images/4291-creator-chicken-egg.png b/proposals/images/4291-creator-chicken-egg.png new file mode 100644 index 0000000000000000000000000000000000000000..60d82c1937a82650ad01773ae1f5d386eb6998c3 GIT binary patch literal 137987 zcmeFYWmp{Dwk?diySoJ%cWB&$Mt~+b1P>0O2@Z{Gf_sQSf=d$Innr>X5(rM?7TonK z-mTv~``q96$L{ATs;H_}veue&jxpw}SOYx`LOeP=6ciLfElt(OC@5GWC@AQ+I9R}* zBF(6`C@2KFPAVz}S}H0m243#=PA}|GP&8xHjj9@@osA{DN=nks+IM9vaf~E2MU_ppJTE6}AqFNU)RWznEx4#YQ^swQ z3zB}fS0mXW!_t0h^Rg(T&F7Dum`ZUK+de2#QImD#q`m29J3(O}L8XPDQMV}ytRfJq zD3GX`_RL91ly@(xWO%;bPTg6?XBco$ql6+9^H|gH4_W0gQ0944`teX$92YEHLAu_=f|#hf*u`}@X?dJobqad7mlIRS>0Nfxo%!Jr zMVB|EtF(Y0Kk-Qq!O^Ld->U|)GL>tiH>8w=H4-R10#roPe8Qrpq&c5zHC!>g1O{oX zl);Y*s7L6RmSNW&9x;Th!)YsOY6Mdh4sj9b5<(%49~(k5QEHeFU)lT(u2Y7zrj8qs z{_fBF8}e9hX)Pr-A|Bt>u}Qvu|D*RyomvZP&|nRZEGw-IFCr{*=>t!UI7`x-^`2RDRTkS``^-^WBuvKq5_!;Ni;us!^mKEX^GA3VMtULCkVpZfzDnFitcoIlg8_OQDvqv$Ev+~^HuDpI z@2Om8DDiU^{Fu-#5>YUlf3*f$)xlewYogaUeHuNO1gCL|tSbtMHtBg#*b{R`#WjP% z$DGvQFezqO1Q=RH^Yl#uGzEi6Mg5vM`Mes>iom~`_v%hgVKCTQDkYZ2hN4TfcB3l; z!D7QAoJOPbrJK;ha+W?h)Hno^?&Cp9704G=GMzSJhisC&2avC5K{R5h#m?sg@ zhp7j?!5(~{Hlwf?pS)(EvYI! zu;sa>$Q@%B-w~Ttf11{KE2F?`DXM-r#JEW-r*KxbgKteQKTUQ;B^#69rDsiDZB&k1 zT}=)Vok(JQvhKMI6@`4p)c^0w$;83Y+}c?s&}F%r^jp{L*0pFW`iy}XtL1hX_7@fu;)9NF~WpM2+0)j zvhZ3*qPESj?86(aNO@50tSBMar5#k&gg?XO7Ev70Di$fuNzE`aJAFN{D+}EA8IHpy z7tzC6IABpiBtZy_8r2q)KbtG-VFb^|&C%)nKg;Xxm zLbd9>`G)rwX7nt&9)ylCc0!_OjU$M10P*~HU^zuuhjTSnIi~!28H9QwzO^e>3f%!o z`T~} zT%T~C$e+5ew2jzvQ}Vxet~{-Undwxr?6EO(Te2!}hP-ur40>RZ<`|bEl3V+xHvflm zqv~dH;9KWM6`$pQVmK4|l74+NtthA6svY#PxY)jU?K4#wmyziwqtD;;|Fle_fA!m% z-g>!Zb|U5*d5L$Dzs3E_y{!G+n4^(c$TQxG&~M>J8nU|0`T=E~qaHsOop8jd9G|*~ zIh&0^l}bkWHyJLUz9MZ64^9b=oiEcG`|@MO`A~e_#mI$etmX4mRrhGlTgr;`s;_1) znG={54$~a2e1BM6i%!Y@xK5XRWfm5Sl8zW45uy_PCORzA9ffPQ8^wpY0fCnXoGEw2!F6YPI$4d6i6=z|R<9wIdkysVLt% z56RHw8ucgYM!iR!RsHdMLiLiwSBcp@w>{E5t3ADm0Xj5XZCo~~Ua90#)csG5@VE|s1EkGIUW47H5F5o|wfD%D!M1v4nL zzuA3TeKp{n;a*-|@uniB85dsq?A9>d!Te_S#?UX4aif`x5vS(yeB5brI2VP!WA=VYU4C6hI%^6>%Iv~jRx1d4ROx8#6VOUvoZ?tiwLPB+XirN>|cdxBqyRh%6o2YBO%Xz0H zCiu$rxRqu*i&j{}Hnv8%=2wmW5*K19QI>inrjV+g@77mY5#A4zjg^RvLww_S_4wIi z^B=h@9V_DB%~N~yb0jxy;*{c~K1!#j<)k&Se+}^(UGYtA9-sa3@Q0gDO@W9@f8=MZ zCr8Chx$1>Ig)fEjQws9h_-@!0axA;{Mi%W}3~rEnU~XfMMBc)^tdsjRzNjCIjdOeJ zuGN7G%fFh)O$AR;PPN)pHaxr*;TChy9?qTJn9XlQ_y6u6aP<9R^Fo7T`iIKf=Ate3<+)?r_?drF*bg5ZuAwoWzh9`VeiZl~YOrAnF+YE4|6?$s?u)&a z{nwFixveiw$KNf!V_sYI#_*nA%NaHoJL?1ww^SUxzMwstp~@13)V>X{?t@RO{Zwm= z4;FaIYw_fIa%rWTUppZKWOlfbo8rEuE%xv^r)1_U!MQ{J+lupCb;9{t7O0nRKjp@a)LZb!EE8%gEp9 z!g9N~qS*lXtj12xx78-d*iO~%2rHhjOd_znzp}}K(V*4uJ+jA+e&Gd~TT|^+h<6v& zdwx69`4GX|+lh&kibQcEamtyP8N7PAse&&zv&1{hTQ6yLcxDcqN}f9yyPEyUmPu}E zGLLFDns|Q_cUds!)GWA%J3BtRI9ly1=Y&oRg~_+|NPQ{MRC3(yMtJU;lj;xs3^?oc7uDVG_Ndu@8=y?I33%GvI6({>O!6t5C;em6ER`MK)qAFcVR!`W7>)E-G06qV=k7Kp#c9+q4Zp zE)40SoVsFn;BAeMqr?=UrYzzbP-niD3Cy4e`|;wF77(^2-=w`RM7`C0l&{r(7~q4S zR$6K0b0sMBK7zS!_?-~IFXHSVTK2lSD7?Tn4hjY;9SSC}g$gY4sPzBbR!8MQLH}z% z8VX9Z6AH%P&(QGGKweMf=CuSR!xH|FMmJ3mijHdZMDG z1+1UgdfC~zc{{rMNNF9_0y}U$G)=rwP^dWX7gVjs9Q(lae>**e_&{`ZWNh7C1+1UD z+t>*}T|Mrvg93)i0GqCMKGrNy*B5TyGEh0Tzs`^Ww(oZfva$SiijRvN8${QDMaA9A zjzvO1NI-~99*>2E1?=_QUgoi?`rn%a|H-jA`uKRr2nzc7`3d-m3b=bY2ntI}OA88# z2#SdC184Ai`@8vAL;2mj+5dKte_Th^&fC_@$-~FV-Hqk`y4E)CzCLnnZ1*?%=kIUN zX$N)s*PYzF|NdIQ3ku#J5fl~>68z`2fu`X5y)p()P`eiOGrw)0YPcLi?hBmb`f`+MVmKlt~CV8Q!$|F^#Q zTSx!37wBnuJh0$DM@=42>uR?W7)S;uRsE;H8klDHKh!(m56|D$z&0w~({GJR>nJFS zC|asYPobzg`S`Q^zpn3$Kjh+l*7H$$@Od*JldO2VT0GyqUN2U9ZX=8DM-=({fX|ID!SnEJpb~|sXXid_UwxHkA(i;NBVCs{okhU zf9Dbg$A2yEzkcbzuJZqxfFh>1I4rwIaChFT0Dr8_Pr2K$oaB+&Jj)4c-lMedhPt}E2Ht*7X`)w0n4aejAQoL)Vibm!rh#Hx2`YlmB^*^JH4hU(( z#=CeptwY|U7@CmlW#;&%g_~VJV!nzmkI#Qq1&ezNY74gdNFDaEckMRsF`dtI0GQ=1 zIdEA$pKHDUh+TlU_@uTd7;>Tg+csGaZfI;y>DK(`TlK8hK%{H^oWzT^i!~(ES%XHy zYKAGialL@P?e1nTy8Y&lJJOms00QmivmpI8?OgWkBH#@Mhfpg9g-CJzpH}bxC7g&U zqwK|31+Ma0kG)e<3kGeqb`i4N@Fw6VkTITGKGo%YPv&GBReXtjwJAYn{FX{7XQl&29aAS?fJD|%|&J@ z*~{)W*g~fUET|?dLvGmiLT--=kpg~=+N|~r9v!Gi(}hc;#ot);FAT~{YJhtW|3v=K z7UTy@3bbDzRu2d?Q-sI3I1Mg(YM?#Q0%ihl?p$uhe;zJHZ;bhiVZSJHeQ*s4Z=Y}b z%_*NM4%IDJ1<+l{9G6O5$$6;l`DuN-ISwU*rT36{{I))N*|J zc|RlJ?8|Gp?nF3r_*5Vq*jt;5gshj-P9+}uo!HUX3g?~OMV5D$lc)7)9VW^&{kHSYE)z7^&CFR;eC59@7t;nA>>MJ4uljMi1 z)4PgkLs{BYh@?3JH?;xH;A&<8{%X5|dj7arGLpZ3ww7WYu$ciH)Pu8@b-A!>%d6?h zs4Jk0Kd!$r0G`$oc-rNemlG}eXzO|2dQc?3rBo_Dz5%jd>JtJ#FH^WOo$G&Ch+-86 zjj7Eqw>OIPIDmEE@u)_t5X*hR;r!aqTSjrjmmIjljy_Kci&Ji}x|=X{Cp>H23yQyK zo!23(|l7N#Eda4vt15Y0`}mF$651&oY~7MJM@G8^NW!Xrh&0)G#ETp&wuyIORS5*H+O0W z1j5u(al35abX4P-`TjCQ`i}%yoOcTblNwq0ukObgx3KNBUG1V)#fu@8!rls5eu?vI z-8M(U$n|)XpHu)Aiv;2l{>+QIAswR_#)b19Nq95hv^y>tJ_IaW%|~`RJAa`QybloQ z_;2nuG!*bAEdpF2K>UHzxs*TpiH?j6fhJ^eu!NlgM(^l81F1tLmpYsE?!vd&4>$R^ ze`s25)md(<8wj0UW-@LO8gCJ3TzO+dT6&yyMdnD3I`?blC*6eFzxzhkJizFYeeB6Q zG2tgzF*w!BNwQJCljilyjlmDXigBv-FymhWv)fVtfe((vIiQ# ztx#Ub?S)#*=ed_N6_AxHzcHSfo<_=i5w_uH@WP{B+VU(P|I>6~A@3P~j>!E8GeX z;CohDdN!^opqUzorDr!~yf`XEpQYH;t??rc=SgP!H7C5%G)4=z!o~MU6s2=ss$+ZM{VXa0GYAfIjNc;~Yq_Ml5qa6bCGtWZ4C32L z%^2RFf1>E!VltywGcDy?R{7m=Vd%z#S)EHs7|+yznQu5`Z5O2#N==I&Sc2uDnV_+Ad#q(UMBQB!-eo@_hF2o#5}GgVb6q8R)u6+e zO#kjjJ1EG{FDKiX+Ae=pMQJEpj&-*;d=jQYmgIRogf7!BNU20uOVlp}2UrDlgFSZv zzjdD7r2q^Cx{GaEzO47-Z(UNE9uSfbceIaS(rNjA^Nl#T!IzsQ)Jqs4qBvyb`JTsP z8qr??dog1AiR2XY*J6EZAgOGDtbk3DEt`VH+WWS&RN-F_#R>w>Op!3&3V0+rXMgI;lQs~{)0&|k|T2_ynv}BVC!Nq>G0>k`K z!5Qp6{(c=OV%C2i-g-J+R;^eSRK)%8Eim^qkgl+>S--ZUe0cK)5Ye8*Sg686;p}J; z`Y>^2gLF<+EMIK9Wtb^yeMW zFAo7DOLx4s`GLDH(zPnAi!d__xj7kE3EFF4X57Q+We&N{3yc}*)1Kl8QzB#0d%!x* zbh{rNO(^mEEe{?a4LH)H?&DFU9SxP0lk)TCeK`KOO8OO~&T8)DXNkNa_3Xok!L0v+ z4nq7G!_w<{Yv!=2crN8NJ>|AH!5yphVu<4f^-RPl>>jC{WT^RbHEhOzGRZqr=Dhxo=FD3?@Co<&%7uAd?O~=GVUZHGp z*5UjGBO6D8b`#=v%LN0@Q%wEGlw`Nd>)^5r7sDM3>XMt7f>5R3A$K=j;h6YMjf39* z4upkHF@&(Dffy3dM4S+jMbP~)KWJj|w`VV-iyD!Y^66^;N0oaO0>BLuG;RwiG_mAj zCXzcIwRxO{yCm_!J!soBk_Iu2&9OUxIWRLS(p83Dl$RuT`r8A5%0my*Ql1J1BJtx# z7wwoB%d5i9GwBcb>jp)-W#~XGNe1B>IPgA3zu8A=o#6`syNwPt_8bN59LicX`{(rY z`%z1xHUy*uFFX~ga{LNA z4!A$rJjQh;DI;<&usFVoT#aaz`zgH`twpdofj;%fh|Hz=|9qrDX@gHC`2Pc=I_Rh^ z?=3HXWKy|cc(lVjITMI7W+0a9@ji8W?D$M|2A)$NUYOhKl-qC?a3xt^=+W50_45Ht zusKW6A`H)n1Pzf$TO1Gu!{_081FqULgJ$g~1 zG?fZ>=A6({Z!C8KBnHE7p`@3DNN7oAMUjQ|8S04TF^zRTv2qmo0gG;6@_};!3Gv01 zzMRaV_xa$fQm6`R={+y%zGNIGO@Doug>kE`$hzDPn#~nKgAH|>3vo^0H7v#PE%mB@ zQ@BPF$NQr9i@cABp|8?HYb7~flWaGE#2tIN{t};Ytv9csdG_m!q4zPSQbbmfFF9+) zekj~<;+{qS11*F(v36WiUTdoik-(#3hs79Q{)NcbIK`FKE|k|Ty!=@Lr!svZ z?7dN#p`U|iKSV_gbW{USt#pzC1$7ExF#}*Z~(hEsHV!mF)re5l{Wje}Y(|P)E#MPN3kpa{ zI;_DTAi~ral-Sq$Xkd5)+q-b<#2<=p0ah6u3>{%E%~f?25v)W`FW`gnT?pDZ%$p?$&TM zImYYoJ2!QHTd6nrUv!!)ABCy|ww)(<-1osdtLI7=|Cbb`U-pzE6ag1{c6Qbc{mwr)(Y82zQ`wSooB#e!+v*aB=edq$Zb0uHYv@vb z)40v+0>Rrk!E)l@{fKl{XeFTPmH2UW97JdA&wY)T{nGW=}Kc#Qc%}F6k0;l?iRK_7~mJJ%humu284mczcsnq(Zv9V?rf&O%eR}B8N!37p*IJm_AeJb{- zZ*6}LHBr?G49llQX7CQs*ANY49`AvM;`ZGdW+!kR(k<58{$Y|`tQ{OO76l;rYZy1U zs7fs+d&L@UllGeYce_ohXMrQYM{K0XZspXM%H7w>1Z9`w+o zUme$zBuzkU6KzC@%GQdx2BS=jTG~D5*$7%rD%|rMF}XAbFkso_O}{&N^Va!vA!+Nj z5yw{zBhR4af(L;3AkUODH8Etn7S6i&p@1HT0hX~fL2uh;V6-X2Fk671NZk0knTP0r zx+n{?o;LNcK#@agzXLs9oc}yH-OvcP{6Uv2u0AeY`yS>*HZX~Ckn5oL zX&q`;KnpqVVup7yomQJ#Q^xH`LkhR|v7q*96-K6d7dnuh} z%;orN|Ieu8r&cY(oDz8qS^;m!HknN&b*3X_TBLAne#0rO&V@gGKHI z&GZHGCwaKR%B!OzcJHwFVw;N8c|~tWsHrUjJxN746p{mC$W1T&S_6k86C_)Zgpnr# zH)TO*bAA)gp4(mc9lq$Ei4fLoqOvk!ilG|;gcEd^tdoBCEW7l%t_G&AhxBDTStPjc zu?@fz+Zhs5P9^#F<`%u|>=vP#nvN?Yfoq}%1~sexMfxKvdmp%Z9_E9=GIRAVUOw+c zbM~Mb_d-NBguIG?EF9I=MAZXpOi{OI1F?h`EreZO+L zX9?aaF%j90+TIqf=NavyE_oi5R+#19{ z0&VHxr)ODNN0uk0#*qMZ>#7r2WoiSs+OW*T0QOQkxieM#shD_rNRETR^On=ERs7|V zH8jHm`c?5)I4T#<>283MB_k93UYCJy(BkpJfnI#Ob*~p$c80%-a+h`N3xZCk)LvXU z$ZeZMs=bt)lnfGZ&D67zkd{CkIRTzC+t3caRL$c#2g^FhTL(KN8K2lPU;Xyj`dp&7 z10k&RiV^!6*^8oh3Sw$0jvxg{ZsRDDoe zj(_()319dvf;Lb5A7 zhfQa2d?6`zlm~|KP|kkY&$m9U^Y`kee#om{ZNQHjs>PUw%=@onsy4aXDZvz3T7_N%tUJTah$cprak#a9#7SPa4zureE zA{Oh3_dac?h3zY?gaSysY`@ydoFF)0fJ{AjupY6%PPMCkZt3(f-9BG$syqlL$$+a* zGB4Y52E8N8*aGyVN2EmYJopIqCygS9rT+|~hrZZ_QTwdcx7ghTnZ{t4jhCL;JN zzi2S}K7IA+_g>GRpyBR+3TSVsP!W+n`EibfNssWz)5>GV9{e&fPKqVH{AI_6MZUYD z1om3mCBGHf+qOk~*(xm?{)~0=8@xiueInwYWq+@VHbUOB?afHg9&+;wx}y`sWVJjb z58Aw!I=V5$)J+o-7h{nI4DLcj`Z}lg$%xI5AFmRW8syu1uUB}NE3Grs@)tXmx6c3x zH!hex{+)(Y@i4bqj@;`zxuUD)V~@D0de{Gs%>QTuZ#Myrhp5<_q^_BHJp? zb>oE@BGi7cGabahJH+T3YXv9^5^w|tMM*D7Q57gF*Pp&kMo;?+Jy=>YC%`74I*>vJ zbt7yizNykvLudB`);sBLAgO^Jol z%jjojEo>-3!t#MQ-_63Tp?$eOx7dw4XxwFccU>84Laaq+(=46v_AszUW?=3|>}H=8 zN?B{|)$oy~f;*6A2~&DB43^`bW41SOYHZy-Y7wD)yN@-hUM^uZ)(5HA4uPrH6rn!WU|8wXSA1VMNQ|}TxjC~{tU&4R=v*iCAm>2 zFZ6g1P}exZ7gE=Qn|sbU@wrj>QMxC3d}JYXDfZw;wrh4uCrp^NHE-F?H+1f?sDG&s;5b-LSYCxydzx;;i+`Jg6{2Qsx=r|gkU%dxf@M=wFiID zjhSNHWV(MpQ5|UOwP4K6kb7`l%%c%MoxwUi&4M4J4&e9sTzmez>SOCGCV(#M>R>3> zT5n=`ypIGpk24fdH6^zn_Ea`z_LP&$1a{Cd5NC)9PgpUcj<@6P%Z~klFTFN*W1&hm zcBPam?ehs?&?kgN&ANo=;oKq4vxVIV6uQB9%Qrke2r^n`+m<+E8r-5cet53w+^`5> z;$K8+cKYG4!%Wmwzmtz?k`Q2D$VOTVoW%%H19a*LdvK0K4}VV_gK!PyFd%udA-zKg z@DK#4-|U98QNqG-t>GibsU+kc?3K?F2(<6`fpohODFM~mc4&1dd48h|`9%zN%TKQ} zKPs&m0Q5Sf&mBk4l0OHs-+bj6B&_{p5qVJkoi2sM_x<=uYMT(3_l1bX@J{cNusxxH zEgwM;JW_)M{|TGLJ*HHP=6Kf8?J`haAk+OaX_C-O8;S;MwgKGjfw#hp2w$zwC`8g- zCK|yqRQO=_#l?*HKkEC0XwYa_SSSz(7)Q{07qJ2uK)NDfkL)3;F+>E0{bWJrmsn2k zLSmthC$QI~Zo0$_BN5j-4hph-X3i~K)FN3vy>a3b`N6JkW)xNYrVQD8IRt0q197IX zaJ}XH**X@BO!onjmXU5(X`=6+xoLN)NB%vpj4$|O|_EtaXO>>DA z?Tc^S(fC%bVq|wgxvgZOvv!tSO$29iPQg9v5EG-wcwWv=)*S~qy-y>9Krx&+F0Wbk z4eEblzEL7TpShmS(wJ2r*17b1cn@dsYf5+QmL^aG{ESRBF&O{TM}*(fow!;iB~gRa|h`HQFz8-5Fg>DI?OVD5ds z&i;-)Jh!%e@eg$Wl)OWVU7X`Bab|mbBV8E!fL{W;mn{t}+UMpggf62Dq?dCxzUfjU zZ#sQv%a(uZC-8Q3l3T*xgbk#zJJ#v{IVFshlnKW_2E^rbXi#z-f_tR;>9v^kECS<6 zaPTWVg{#K17dex{y$nxi0zUMXp3+JpF$=hD!=?XwYlCucdK_ zl;1v*OeM#5k+>@9Sn+itt|Z~b0GNag>u%p@*?(}-%!Y`_cJV$D6*CUBK7vdpmZ6oV{I$Ze3RM*sYt$fh_B$!h{@ZwbZ_zW= zEY5oGAo==Lh27`{OAJD? zqWXO?t#ueQ*;^25slKechD#!=Lq;P8a5p7#iMweGn%}CFvhAOo#~Ptb5!ADFj|Pum zrou(RKb}r>+Kw80i&9DdC3V4?HtN3^85wyuB)Px)yvXvYD@6ZbcR3!&%KjGJe zjfau=7U>a`lQ#Baoj>YR^vNFiQD!+%l4m?O@{>7pM2z(qi8rmvd(@{`t<h(~)oGy*;vysl+~J$BB59q8uuY3oLYUohqee`rTxd923h_B7{m#@n+{JSkxS1~F)mr( zri>BGRk@}qrswY8*APkLzcZxF)7R@g+6etferOkgEz{!@e5BeE4Ek}X3gMa!Hz9bS z-;(FiyN)fVUv62m5PY>7O@EUR0Nx5VdB<+aS(}z$2zt0GaiJHQB~mLi_#EkM;<;Us0gL#%`I@6Rvx!+kZMOpw}5Kx3YP zp!3^`DM^;MIunV6axdC4xc`W)b%l+lH-Ja-P}=ejeRs zR)tH7-u2-E{(@vH9rskMTO6zZQt6<@CqIGrJ%!EP_{jEGee!`Echhej{w531wm=e( z!^rmmCd~<6{XJkBb~W^Dz&{6hu}0Xoa$KIrJc%*Acm|>wOXokH(U$hD>ii8N4ES|C z{R%u|$8^#PrY@({gfxJW(g?re0}c}Q2R|!cugi*biMZ_1m z>Z5(++oZyR%2En&kpqEk^@iaidW6FS3tUl{4y_8PU{ix?Q3*Ndg|!FFxBtbn0_X_I z8U+(bvZ$@*2_takOF%aB5=HhTvxD9Z0C$fXnE4??a-Xb#Kv+MP>@OEonWqF>eoHo1 z-|g>3n}b!xeIB$e>VFd6P> zxfIQZ30=Dk-+U@)c|Y|Sck*4%Gk;Hjr}sw^^viF3dLJj%^?By`D+L@{ohIX0)y>A8 z@z1p1j8Pd0lr6edO~==CKbGRA1jDeY+y~9KuD(}&4iIPlTb`%m11V2kss3I~zjH3` zLLhtMZiYHUAQ-SBHUfphJI}b0{2Gb)nPmTP_%eiZYJ}?K_aP$e=kQ z8_roURX!cVf=UuSlM*b`{v{kN36)>k!)8ip(We4Igtp(@$5b5YSk2A=CKc>=sUL8= zu-;jaeDnAn?)i-Pj5`@91YG&L`FozU0M94uN7^&gkG-;g$Ok+CLoW1vD8Q7~y~n@Z zwB~0>|I6?vYN2nst&Je1@bpW`5G^bz+L;%wD9#pE>;s&wMt^wCauy^dSejcY|u={v4vx>It{apxKB&he1lv{NPhE^^bs18?Y45ssRqzVD41xx_oOJ62$>lCeK3dZ z{tzhZ90Vga-KoECXcw=&7>CT$~R-iXvc*H zc+2$5H6%^V%4j*pJioVEsn;y}F`eT1d2n&%=rjzI$%^U%E(*df;y4n?dT3V!H8auu z2PPKN2!+fGLOb!-o@;*M;gXh(47FklZ}ZmywIy(?=^*ax-*D+dwKCH)3&#J*hvTS| zII)=#+o+oqvdL9B7X}l!#C2=!l^*5DSbUSm?s=la=9k*f)zer&!nOH|#m=8iPnb*Q z_Iz2pv1ZXlrhvxYY6bHnD zUaARcy0paS!eMh!T9dVx{^bg2G1-H@DKfG2tstR!%OS31=ioD3Wb`9`8!V=n>wKHR z#C=XeKLz?W95MH$X84% zQ>qozK}Akw2gxw}SPQMUTYu^Dz%ZjXu-EHRD3Kg^`(>!@?FC8^h|3FH?>sP&kZCM` zksmDx^w|+E?HBQUUo1~UTy6M$8VJg|92@cJb+JrD-|;oqX$_YSc4sThA-9TYmO5e{ z418sOad0h)hE?;;(_N5WXlVT;ZGGM0?>?A=#ER@e)Rk4uua>H5gq+BOM^rCkVks}7 z`DF8%PL6a`qKPM~GA-f<(>mlg54iLPmLf~mee3kIw7FjOUy?YWKRg+$j^vkmS76AXpIf?|Dv{s-q+Sk$i6R1cJ1|$tbbTFywr` z7}*I;PD^IA3EFgU14@$*mItYl8Ns)lt?7Wa++qpKF5I zzf(kXf3f~9`)0uz!*>2X^eLgK&~t%!kC8`%(?C&voUf3Px$mzZYw9F+7Kx4ZrtYm@ zrJ@%sFmlNCq>5sEIs|W9fmL-3q)+hF%~vy+wy&lgLPy<#*@iVmiCM`k{eTHrxYCB2s@`~>LsZt zCdlnNe$0`1l~dbSp-=RwCp6maFIQcbRlRs1uOgvYS@5pi7JjOW{@WpN0{_-;&$J zk?28%=Y7U?yBGLEnmJn7{JEI}_d6ps5Y+`_^Q70`4&Ay6Prt-GDE)E}*-*K_D zX>Ago4xRcSD)2&Qt@tzOn?UISkUYyOpwa^$AUfdl!edh(MRV@5#y|JMOI~<{#whC; zftJT%CD<-T1iV1PVU;AcVFrPw54+HMLOXsOa7rt6$oAeGnaXW*wv_#**gE5vR$s>@ ziVKDeiQNc=uK+%M_cTR}yD+IUucah=uw)EBV^Lsr8}P9LB_mmZ?yL#z&SL2>3O*lR z!6u>PY<2Z@*4`edLX@@4ONotg9dew2O0l~Y6G-skeD;CxrlLc1d%)l8My$wi5xzKC zKOc|_{s>@FJtw;Sa9sbmCM+^&8>+L1;t*`R!I~s0tS^;Z3+oj^Mn>gtWFqDAxyw!Kfl~kL{g%RQ z*tdK^@=Mt9$a-!ylaYyCY9Tg*hvNNLG!AZ@lCUmQ^pTZP5^Fn`R38yU_JdCYj4h+% zjwt397O!N^`WHxIgI@}cXgT#zVrT2vmB+CbYN6ebEVlL@J(W~r^&+u|_1zXqID!J* z2vigsV*!Y=Dx?sQXI zn&qXo>1R7AI(GBW=o6E%5#A6Z65QTbQqZ0kV%(|#r92u%;uw`cNvYzxsJ>5uhjABP zq*M_H*Z0j1PeSs3#4$*lAcuxz1+Fs1QU;0=OdVy=Cr=%RmBO16I$17^O=uYIzoyvl zA{PAfg3Ki)_ExVZX56cJZiISx?b4#WW&dG^xSW1N?)dkPem*X&w>lZ*a6HU*osPv> zUe@P8W)YW`U}>M=8IZH(i%j6vu9}UAj`hb{iEv)-%QqnU!vFu#_19rlZS5Nnu zG?LQYB?!_b-5?+xq9P@rG%UK5l#mW75fJHa=?+1ajx6*`$B)%`+IC?qzYOM+D;M-`UD5su=SsuKR2!&)3a)$ zp1Of%x2K3P>)Y|{2NSN}!;s|a{_O3O#}UZ>!(Qo&PufFjKbe0~J) zO1N)|5>2CMK4sT(uZbzp(^e7{MKb#OzrQP zyyeu-`*hH^Z@tIku>uET&%^&HcwLpMyxU=!oa8=7j$_67dxLM#$fC#Rj@FM{3muEW z6{5aYDdE#|IbpYWce9cQAHry=yv}x#aWjYz^%Y~H0|VdB9#&ht3IC=l8hlRIO6Eft z8iRMnCh}!TiCBrgT`bJuTf~oj!R0A)ft82JkS@PYL0V^W7s5V<;<3&zy{pFY-L{*c z+1Iz7a%X8%?J!x2eoGll3 zP?6;QFg%A9ao0YAIId`^)`k+YSNZuRmE+1bz}XP`7LJ6lg4+vAQ+$G|0=$6bd%l6Z zCRJAe2qz$npD(f2Bbc{<;@ZXqGVQMj*j*LYWhuQlgVB<1OU7BTE?{ZtJy6V0P8B~31O$F0O<=h*61X+36u-n<0buL zU3^|IuSIES{NNXRX~RfnD&KmP%i~fGpC8CRZJ@d1F$*cZCJK`u6cvvx3`s_qt36A| ze$lKsQIPQ20=Q=-!vBVeM$Td{k^ftd{_Cz(&b- z`iA54MUryrORwfPI29>urnHN%0bEy!(!e&eu(;nAzriZI37fKjAOqsV2b0HbFoMI2 z$b9E?kY;L#E@iMVJu7sqm|<9UBJC+lPa1p$gdw;qmjP^Jt<^OTyx{#uvjKQc$QP8j zHo3FGx>87YS+umJ6^Dkz74by#b$q222|G+(_CTfdJNXvoFRZi(GopS`Asll6SXTGFIcjj7 z!Exl(m#^Bc=t3N=k&2Rx^K{=pG7_6IyV;aq*;Tjl!wDlLC{%7iqVQ-8F7g`CT?F;lS2y~qJ} zDsa%h9**;@hSel8Jia+gkepn{HI|s`qrtBLv%y5d7RoW(jvow{BawW~8nNY+uTd`_ zV`yU+<)4+*#q#Ht<&Us^p22%Az*A z3_`6JO7|0q7|P$SImPOJEv7aMM;@Gtw6CNm0B8nTV(Svz->~dGp=`=5c!^NeF?F5o z19ECj-hJn3S{ohM|{w&6?dSzhld_Q>3I04mEdn zpwye&B0E1wEYs<&O zTdTaY-1Y^(F821}jZcJQ&rWyq`-3g`)q=~oQ=C>S7!1A2l_Vd{v*ceLh|7k_Qbcjaexo4U zZ*(Oq(%DYL=2r|@N>5*?vbn{^uYI^PW9=L=|1qv`wlfLc%HZ>6a|#@QRa3bktmp`^ z$915qmxH3B)|Kmy~0nWxi|cLu?>3uMkBbq(KJFj^(Edmx&n8>ik+^_Q2y%(i|IGr zY|@vyM8(XQ)*L-o7ptO#$$t5St{g7e0C|ZPi@{~$(Z(Zd>9-o%+KPIgAkn&9SLo{z zpAiaIU4&b+58@!Ey2hQ^?S}%hK9skIR^?5KLsnWFLni@8C+R8oyUr!4F~< zZ;rS#m>$hQONAcngZo|_B~KYYlt5c2y%eo>zX(KV#i0Ju<7{XAQ_L|;QQjnP?<`PXmw;gFYMtjq$q67(t@k(es9o z25L{+xX|S!<$t=(hIZfYdDwXsgEYT|z#un;eM8*eT&hRqPLYDdvsES%qT<*VUOEh9 zct&6<%!Gl<58|YRhmM>Bmt9ZmadjAcr5NoosJ=*{Hp_oIVzC-(_xr{X5S_e|$PVDJ zje;dodM3&A7(sA=dpqltd>RYzF$VK{=Kll7133l7wk+*W$=g&RcuB)@1&rO9uW&#A z*8jj{su{Uk`L`gK_84)$&ex@3-!S#QxUVdZ6m`@70%)#V#!$qd0zE#bV!65T$^y$V z)V$6gb0Co-D9OFm#k6DD7Lj(X!OFo-Cb|s115t1wRj6mUgbahJ=Xfv>O$I^Fo6`FY zQc@8gS{eU>S=-LH>WOp(fA5mqG^hH@nds8WcdkZolr3BiWW>`72b+0`aIq&*!_k{n zj6fVK{fMbK32&N8$=Ry7kBOX=)V9|CTRWY}$gosUZd~1Oi+KQ;Wy1Wb|LrHhMNFnw$~d%~ zm?Vp?tbB(`j&%bJ2vANNt`Yd!!;3;P1+(?sPc+@ql>jHR33s;=F|u{sI-#*;oVt=o z;){dfo{m%^loHsV9A-U^lf{3yeh+sY$&?svo=XZML_rT~*iVMBjw{;heq*)v**&ZFPo8m4cVz zv9jKS#Xhq^b$&6Ybq3HQJjK~EilF~V=FvhBO*3F;AVXnsg5%t&@=rWLFCtU3v~}sA z% zF(cRT%aQOFJD{`%C?0tGE5@_e-=r-bN3H&vy*i@ClF*M7IU5WQfcGgsAVex_&t!wJ3OH{UYc1GNjJ7Q(HFgSn8=$6K(4S z+yN&ACPRv|X(fP8hr)EoE)IrOU_>FzD_h!#TELy|MGaSHx&&q>J8$1@WCa^vaeEmU}^xK7QzTz5} z5s&NSsCu*T945DY3)G>6axwgAYDYtEm+5e&0WI89<0CpbvTYej580 z@Ao|pd?LJ|X43m`oNT|Q?93W|hZ!4NO#UBHYLrFA*7K3-fHYG&MpwR_Z}xX!mm|DR z+5e1uBijHp9FJ$rwettrNkWW5(#`r^5#H)e7z+#~obaU0iL1TV>I!xPJ=iRi^;%A;`gvTl3^Z)k0YlzK(P74-43G?;I|FHkM@k->)IU0lSF+ zFDL_nxx=C_v_5|ggU|(9fdzY6OVB}MYexi#t)n)wz#tBBe;Ql&kac7G?+4il+$ssNdV_gEh=iMA9xi7lIBwt!Ue!iaM_A|;rP#?V5EpmR1>jp3p;Pe-kc`ULuf75+_~2X zo9XGWJiM{?+06NWX;og~bg*$%$y)X3tqI-q!g7v5_C&mA;?1U$v^{%(Hw$w?()0Mw zOB)wM-U5eMY~C4_Ac4>IT(uGq#=ti<{srO@0)4ehT@@D%*skaIo;&^D?c)3j(W!L< zVL$oVR!(RDiz&u~>khQ6X{AGyumxC&VXu$^h#kaWkTu z{(!WxVnxAH?)S@{E`n6ej$-;qwEb}AYXxKy99U*|tQ@j9hR8x%8&o!qQrO@x7=C~n z(O#7tc|U}V?G@P~L22W0p` zgb_l2VzGR2`knaEgD~8wI>iBBi<+ro8hd~=lT9}7FxvS6Bf%Zihn;e_l7d0LqFwyaFI1OL_CmlvB?}5fbj^~ zLTQ9dL=epCVNY}pQ$lUd-r3fpR@g94I!>>!{6cL!MLG4*fMj4#X?j|m@}53>;C0>I zmFHH_c{al4Fxem4kiPpaq5rDyeZNK%tQEimESY~#67eujMFL;KXij^Qh|AGss3XVq z)z#%*CSKf(+f-`n2Ti;OJsm%`obiH^M|bN(k48kUvdeR1T8e^wQ<^x#VT~us3-5%s z$C(BZlpe^Z46{K`^fyp1jNZUe44;2;ha04KbU(Rd0 zW>`2{)XV79>1E2TCwYUoTla}VMf4p_kR~eI^ipJOGHk!zp+qQW;m=*71FB+O#9*j5 z4zkvqqw&Mz^u3$7!FUK|z=*P~INIVkCrwSJ%`6$Ehd*+5ee$4&kx>eV+H)m|?^p}? zyJK~Z+@Iq%4$~S}e;?ZDh!@l>$NYMPD}X7p{jsWAW?0xCr{Kp~CLvRS^aNS+s_NEu z-+`WnQR4HuE3eQDSc~%Zawyvs)4ks}_ezMEpH-QhyjhYKTp3VEf3SgI&IHr8kSH~4 z%n5@fl(6FksWN{-GZAI*!V_F>7NrjtV-Rn-YFR3Khxcy8S~P}x@q6plqtN>!qAKgN z*vBq_CSx_{ME6E6BOw_Twgx7W>0ZAFDq~DJxF=9Jno&}cS2QOanb6R_N)jY6u=R^$-AFy01H|o&VV;oh%kUPx?BCWUL+T>-MK8M4Ez$@ z!i7bN>CSSG{Sf&2Cu-$fhtTVFz(b|S<*7&=ADl1L|L!9tR0JjF-Xj8@vpa(HaeWo! z?X*XtIM%WXv8}s+RYe47$rWA2*Lbyt-9=a0(EDupUXhkSX}(f& zev@c-*S5Rrs8~4tj(Zby2Gci+y#x{9_w7NE4puU}!}Nl>VbY}1a*jkrwE~4_Q#Y;+ zG!Den`7*s6IwMgUR;Ze=eEF&HRL*z@La*K->lNRHeb!Av5J9?F4<9_b=XnDK&Nn6j^|SI3X}$kGot-`q(X5lW1iLZ6fD5T59489mgl6-~PEemK-0K_609{*kH4m@*bomyobn08B_a(l~8PSIOus5FJ9K%h@EVj2V_V!9y51x zT*T>BOdy&ipnQvHHqZ*j=ot@G*67)&xKy+mk~QiuPSi%mni==XBwg$>IJ;{qhNJPp4l zLpE^ZQK-zKkfWSPhyFNxxQ!v=KwQ5w+%)Q3W{~ii2Hc%d%e)RQ^%9mlCV=(dWOl|w zs97FL+fGC0iCO_f(Vnx>S7dHpxU#5WbrEV0BMt(Yt)KrJY`-9dx)(2-+yBzbtrl6Q z^%AneJx>wJ1Xu>ATIqjVTS59zTO>EiP}QKzC;BM(@;jF+&HB615tDpxob$qse}rhp0^TU8(sGa#^cBM&t4IfRw-dVZDs9@oRq|awad%B!%`Y zyU=c((EuIP(Z^kV`m#o9sCxKI*o(=@W7aQ4)ViDGEG#!X7epk`(gwNoBlLiP86Q9l z6o3-;H6rr*PD|$2efxW52@|)AahgEhAiXbF{-8p1RA^(Vf0p8W!U|ZX03CsO-{r*9 zl>g;7c~lXk0xyJk9xB1!%Nv`bgnb4pp0tmtDt(~6z3-*vREA)1jBbzRZ@87q*=^7o zi;Z`NycIPYyP>Y+#6Yat4cmXwl4e5;qHhfdy-bIl-Pj0?iO9e5kSNA({?S%Q%4)4h8w+8M2G5w|M7aRcjA@`*71V0t9K9)j$d7UYX5SZ1;o=M zt~U;eTh!>)fA#3+hSJfkI>Zdw8Qsd&l=EF`>pjliXF+H10@JAp+^uQI8~=uDy1`^& zuV}5t*=v_yw=d=>PD#LBsrdAoeeT}Q2;Y%#p2nykQJPp|BYF$;`VIxg_nUktj0tML z=CI=N;JnT3tXS6?l~)nID0er{^fIX@bI&b}Co~IQ;UA|a5OHSv@~Zbg<>HB^kGxdY)D zn>mswQ-xkuqgsff#UZg%^4%Gf`#>819JyE~WJrX8xPq=r?qgFs{>l4nr24;($*dD~s&Ajui!Cb*eL`g(bNIcIXG6kEp=kK|7bq%aTkznWIF_o^D>0YTDSe^V zGjn6S;Wi!(>i)r6C!jfmNb;p2dSs&%E|C?L8GfNH-YLGb#;xR*28an(elOygeBS9F zmOY7tKw~gclIQ+Jp?m07S->$?G3;>qh3N|g*9NG)W$gw};jD+W>vaq)zjmh(vbrTX z5fgxFcFcv*3*YHdICwz}OkBT!(t+@U#<;qYUZUgc`uO&1!{BVPZ%d74Fh}wUzab#d+@tw8 zn;aYTf5J&lR>Zsr@r1eqrvR;|-SB!Fa0CHd2kzdt`vLB9P9fDuU4x}|V4aM_a@9s6 zr5fG*Te&zyUAj!RITJio*j0p!TrV~e3l+^ZRIB5~3Ki##6aq3!NlGlxRQ-n6I{Nr= z4QfS%QR1w)C{_Mm?FH+NO8yCWj&*;(JCYyT1h(1)q{T#cExKv;##0Lq(59tWMDc7EfzO^U5y!1Y?Ar0ODhGu;=Baeuw{i z>uc&c?~(`M;u;b%4-m2*yc4P~3(AnlLA|U-6weWAkBfK+4@x;n5U0@?rqLd{T%oZ~ zS2*BZD(^*jfN2hZFm^2k)XpxGPmJ*RW7uNiqXoc+l>^Vq)6dA!cp<3(M!V5)kj}G0XD~1yaYu5Kc z&U!kxd1WXml73;nPv2t7WHfvvK7m)CZp8ZnYNo@F&ma+~HS;KrM=?EvN%<;;SNe_6 z-k@YjZL%u?cUSYv$*0Vgztw=@6@Z5gFP6uqB#o7Czp^wGltR~j(GYT%a+7%`I6u@AqVUk348^lT_I z#~S=9H@gf{u&#-t-yH6ja*007jed%Ux9`*yyo%w9D;m4_mJfRIK;-<_wdb3?%URZy z&3A9PIfGypsfX7hPvJ#=Uw9?(QTfXM(JgAuS?`h@#kyP;L=KO2g%&vVwtfrcw0})a z^Y~$>ViYL;79R+n@Thf-1xKk%k^ffD^9WNJl;pGI$uJ=Ut#{;QZi^MOu8`B{dg6oxWUtL z{M;3WMm)d=G}apKe#TcS1OI>U1R1eLgk_X8OX+Mp z5;S7sBzDnk)+$HM`-KMDzlQ(VK;saUQj6rUi)1;xgS{En?i~57;#mP{tm+D8a1jaQ zbLHNP!&_?^FNBE6_+&PF9Rh5%*A`Xx)rm{lA8Eh{6q~%xXjQAd-WPP-d>`p*vNV#v zC*NIw`}ih~FvbU_S4MoA`*yJiF=WJb?~+#o6Z3m{Cn3-?z%?#h?B=vrCs6uw%06{< zrSj8Xs5Y+xrH4`EezAX8DGUczKx!LSvS}ugJk#*9L4%40*8zmhrIFx`NT0O{-d>|} zmO=Ig?k3+&8Af4xkcAbcB$&YUJ2*_v>Zz`>UZ|@m{4D9C#m?#%FauAoRL=P$ZTK&f zYPY$t%J+lu(1@AXKrRjC1GVHA4x2jsw>d)g2k;!1=vDm%-Tixgi!ReP!>CXbWpl@8 z{q~QHViyPG$JG9~;x}CBq*Uofu6gldhECmu8x)aGrmqzAj?&JwMt=Mmm;fhlzr;Oo zy2B%%(7O{EtL{AQFwZh1y!+R&-_4?n2e>Wmsui zujM$Bq?uWC7`v%%nm;<7(Raw%(is;lts3gRx%pBJZ)7|(c1aj1{SY59nL@mZq%GhApS-k9sK?>2LKVdX< z9!HkpFc9ZC6C20OvinT-y4yp;mh$l{HN8N?ec8=F=mw}b4u~%Cb@y)zSYn96*zs?v zGGEzYb{Q66xV`XM!1WI^?Ch;$x7LtOuW}dqt8`mb5y~4_dL6Q};gMnwsHnCw?FwS18Segt(?box8v)h;D)Pn3aZSkTL`+gG3-4|mrA4%7Qk@<(YCjGf51ZG9SSjVHd zG#m%!9CIn`ANCUs9w(KKpYjBJLb`1S;<_T$` zimrO9nr>1#)E^#A9w;ET9Rsr%~ro(E6N>o?8UzAYlgk-=&MWh z=ei7D;|5_Jv(4ZgxAWGB*99RmmFqW!6)ud2fgDVfXq~B=^u#iEGoU^ivF57~LnPH+cwoeWXqn>joXg|^ zOWmLhsXt(oV)1nRg^O4#Jm6Xr;;K-s*_ zCy28iYyCV@W;ycHSg(l6>j&^BkiwtvO{?HvKGUz1VnUnnnF0l1ZVOa=#sKCz4josZ zGMfvsB8X6~f1F$7U$B=IL&wk-oY;j9kM<%O{Xn3>z0=Xi(=tMi=!?s}cTD+Can{G~ z6FMP#5(3z~NRj0zI)#u6LN+~K4dwdGh)BHM@1U5h4NQc!HSs3hO}Nz9f$F~FOM$_V z?5M8ey8gKZka*znO_)a)gZU5`rG{w4NNvv^?>i2OQ)Tj%58-LVCJh`&DZNbp6PAL@ zSPO}E5W(WWX}c?OW3}nLj2`Y@^|#?LMsvIb;c6S-Rba6_xH|d~E^NE55cLk9t0Pxq z28~!a^GE`0UkC6L0T@#Yw-F2x79t!V^aylYH^cEM@Qc*|0O;|94~H-bWh+MkoXvfW zHl|bl7#kGBxe~Okd*>6`(ZouM<_8*a_6>Z=l=Fs50^4k_E`d7OpvIsQ|6!E}!!Ks7 zwNpgJ5Z7x`P0u`xJ_Zvlh2}0?JK=6nbh2cNtS!{JxXjNdoQ^oU5CCmf%>!fZ8Y1W=tb;Z}K(GksT z;8A4&k0Q)ce=^Mk^4=m&IU*uYh*Z)_1`ZX%2BHS%vbF=5Z-RF_fC=v*yc=eou;E17 z*rU)QR+pZ&V(N|bweLSo?+@cG&Hs`8nO(XxwHWO|X5z_jzXp{HRcd0j$} zhe|eVDoi5Fil^9Qx_s@xhbR|fCZwoowsVFz&hu}#4|kI@@W zdu^Km!8_g`qB}UP5FpJqV)T0t5N=gENe-~OV@&uk9%G;MPF@=c8N=C_wntb2!>B>_ z_2H$$GG(dC5vs^8AM)u~p90fB0FJ=7`ZYlANqa2q+--PNVh3121K{+>^MKz_zY7ncy31KPx`O{;iSu7Db=G0r%e_+Km=dfT>1!g@3`@BIO=p>X(nXc%98Ctsx@`+4J zZ}HaAr$z<^-wrp8t_63nT7uvdxWZ3Yxx!r(PXI~D)c&ENPPiBz>`OJZ%oTf>&p+h% z!AKo7wfWOpwyy1bQUn^q)R}jNMb01oB$3u2_Ztk*F8&)Z!*4YG8V|>fC;%1Tu1zZ% zJ;`3{!VC%-ob$g0PI$TlfPl5wJSdmNpgrTR5RXm)-h5^-FD5vJ9|!er#9}$)6&6NR znN_i}46+@ga#1TkFXr327dgvvs$dkbg!Y1mKAF)Ce08V83 zODQNn{)y{seI^aT|Eu9eV%P!GbwuDS92~W*dJn_u4C$#ea-mDWzZo8!Hf$cNJd z8}2q;Q9KOm0_*Op(YtIWhdMk#sIL}I@y10}06DUOiS-qj*-{v^ew~Ia%=j8$711aJ za=A`=q=c-b=MyT8n|v0Gl3xKGUY-x4`G5i^Aja9e2B1wW1-7!00tFYCCw$b!7}QuP zADoNmPJts{M&v3smRw5N=Qu;bf{Gc}dHC>&f;Td!^Y94(si!@bXN8FEcyPuYq=r;d z>ryqbjyca7C8F2G+wFiXUfnKa)6*%jzcgtUcAl?6ff|5SzzFV4*DfAVqTM@reTiiJY<4{=usG0)B51EpS zs={u*c?V$a8%{333>D@i`*z}aKx*@l)G5<@< ztYM)ib+EMhs{69KQD35Id%rz!R4yQBHGlP~5HPVfOTIVr>k$AxL%wd}ggo*X4jis| zFbtnO)^Yr_;Y^E5yqA_edRQ?_6c}y{I0NL5&6?9U@fJ=RMQSPN$Dr$(3O<1b`p)dr zj*dC*1M$?hoG-Yrh6BA?!f)6N-|mh+p4t7dU^H>4II^$2g`bUsu;>AEGs3yc-S4|< z0S1pj?ZT5c;*I!&`hhia5i4Hj0|x3j)M^*eqeGH>=$PjkP#!Xnx&8hI2YM%Hd<1&J zUJFpASO5vWn*__g6cYu?N%gtff~+mvQ;2mO!m-gj#7D)^=y$D&RNs;$Rit|g8>bxOA|LKk=X*$WMTOEICgj~S4^w6Zp@xj4 z{>kKc{e43KQ6)?vNwx{zhxh))rMx+sundHAME)7ebSXma4oFt@g4!N$m1^jK2JprC z!gA2W_a)^0j`@r)@I7v!sIb#~=+8zs+fl8jY{Cx-xxokne#lHHt7$LwXkLd}EP@YV z^V5`En)wIez?{3JK9q`sQ-BGJ(!^ZCN9tX89rYnig>0Pt3S|$XWDH>x`HB54gGhEH zH&`5pAdE6ZEKEFvG6-!3$7O53=a~t)GUb_?C{nFEgdmXiXm|t?9 zr5SNI!@n?^*}jevSHz}pFt3NmiRuot5|z@tRVnF;@(u!u*d0V{Mij)5<*%yfXdk)F z+QVAomt4|0nbDlmu}R@nx;$Zw$N@8oB8MXy2Fe(1VR7RDQC{6Bx_1 zZ1oZ8fqMRH9hRt~b9WbWKNu1o?-3da?93|vo!UQ1nv%y=kY7GiTMx>|iVeaB zHE(-$6z?4q(wT!!4!rEy{!B1EPrs~rIVZ(6e<~jIK+XvX_+WbwY?FPP2h&iB;hBQm zDqYC;qM-TgQu!40r$!!SJlQPALtw;B;(>kk$l$fs*h59rdMO|C&}Q6D2Wn>g7~972 zvhU9-Y_^TGr~}U8b`3a?{6eL|)G}r0B!mMhv`PyakX(GTm@yz;PqdcHBTRG`5?kNr zW}G7i<8{V}``(=Z(*hF}N3%8^_O+ng`VM z4vU)HzjhaY)JV;6A3)MI0IFVqP#Hcz#hxk~|4Lk<1CS>?=k{iVgkZRZ94E`|-fQru zG(X`=RhXxW3p`WoTQE90?6A>5^w~g%IHncyE(s-NupUr%SDPCq=y{P zyGhga)iaa$juq*ZbuBAK@cZsPVKk4$m`9_-XRjvjjG*Alx&~wYN8PbC62Kp(;5Y%&%#I`@i5OG|{jvFntSI{l81E6X8y0h;2NzIOvQxGf3&Slxsb z!sUBvIz5_F7*2Gsd`CzdZ=mi@jepT4$!qTMFXnYzj-rI6dHwEagf^7v*UdkYd$b#s zrmM>Vb!bAf{CaQS=$EI7xD#DF*|eWs@yaxEl>3}>RY|#j=3Op#$64a{QO_-qdZLSW z4E#JuyW03tR2_IG;d+8uX>lGMc=j6`993CJWa|`6{&;&jnJ8`Qu`ey{KAxE-OBU6!Na*rwjqUt30r587j7qAAaEYA#$K&*qCobwQYW5ON zq-72$M>5K#lNlzTu70aka(rM|^Y$xG?WWLf|I-H*t;`L%2B@gjm~x84WqO9x^BE0! z=C#z0A2udA#5qSZF4YN^E*h+QtF9|jHy&vk9dqurhv0J2>U0ikntWRlXAY+@@*C+U zBJjshuoP;mRXLd~T9jRJU54R_TopU3bsQ_to5`-kxBTefhAY-1xDk^}tiLs4K_9(q z*~SWV7jgYInl3@c^fsUz(8Ns;-yy)v_q;q)o{KP%>1-gNct*v9kNnKmDZg-X(6?T~ zV(sgX`)qpgVG(Gy89TVH`xP?pNpuDHW_O-3O2}wq76y^br;9v}UQX?QML-ig@q6OC zQi`&8NsNY0Hi;H&_3 zaBLYZ6JOBS5q8ITH)S8lvu2fC%TDVjMS!}o?yM|T_Sp&KVei3s6Q#&R6_Hc()jX<5 zap?>AIN4a7QD$6j^N6@WQ)y{^+L5(0T`in$#$B1aF8*mzI``SD?+5-<0wcpbQ6_ADgq7u=^KIp*cP#jm&Rt)jQ@rE;K{gX-0rxic zxMCea(R?1_!12J<51SMLmC*IEW;=B-HuGLmgo)g>`5Juc!B?XOPxjxz%~GA-j9ij4 z1Z7s^Z*51J$%4X&UfF_!ehYZIYV0()bJwipU0#?gv`8E1|L@LP!qs#N-qMi4yqj9^shME(M zU`CqGlJiKp5SDpu>|klWx^6rrvFXR6^o-iOxHd}@Y5WJi#aiNCXZK=NvB@QqJYJI3 z^ZOLi?Quu!Wbq$o%2S$45yxJh@mTh;E-ug8svOnSqGw{jOc{!BT^^rU3}wk}PhpIG z`LLIAB8}M68jN>28VpmbQpa6wkX^Xt0w9${KO>EhU3I%$`}DaFw^o{o&5xe8NU%^-9FFGwUSXB^yWPM-QUSNc zxHMt%`qo5dNsG;^;_FEV5D@eG>^yMo))e3vD>8yjYIVc_A^z!~H-HvQ%u%}|LEIAk z#zeL!Vl|)@qpmKG-_K%6m0IJvccAnx*<>gG1+}@~Tx(^Aq{mz1^VRQqN@JWc$vF7W zS?VKjP_RP2auoUH;-V0T)OmrysWMt}1<{R^i|_bCX7t8krkZNGpFjsH%PWm4CxQow zGjAyPUh7nysj)0^F=(H$VG_FV$i`sGCwb(l7oq!rhP4VQ zs;Xv-tBcd^vn{t;MtAj}i%hlQv1ONluHoqEV_O1LdbQ=qC*VJKn@$HE}n!-E9wt6FA?aY`y zZfc!WDlEr`Ug}$1U^8kVq7Z);+$ZC|2^~oARDV0uEsT)HpkYz9i~~jr^YgyckVTy5F;cwi@E>> zv4txLx90st(k~NKd$Zc^REzOuAMEeyUXGoRBa1iSa>p2nH9YOazr@sDnvdwY5`R!v z_qC$(GQ&<}FGIGxqY}nIuR;%rn5~}~i5r)%TysZTje{Go7DDbAA>9<_u31&JNQ7rp z#ZhvlNg+Qq)V%ayq(f!O)KL`Na+?}#YPM%z?)hUxpTJfdgI*a`eTgA^{M!JhFlS$S zA>2^;WGyqiYq?$3z-5iGM-!WzrM4kzSC1g$q)Nz?U z@xH`OP@sw@tP@}}X;uN$Kj{9Q8Y%vEa(po=&Z)T;Kv?-tFEfNFI+q@!9Jzs(Q|q}# zXw%bU-OW|g?U796!|3gN(}6 zD%SdW{$E%zuZ(O_->nTawK=dK@-MP{>i)aW%%+i@u0Wcfp%5?ohdB~=6S1dsZDw-H z%&Y5GrrFiy#~zY0szlhyF_bsF;XJXu%6Tl~^0^k&zJjSv=j|7MEBNmChqX4U>sRh| zu^4RQ&!W?#u*8}=Smbxlv9-Lbl&yV=(*8OoSD)e&;o-9!<>ajDT;_fmt@rxQ^ZtFL z-!oisAxp``?A3RfnciBoUoh^{Otnu{Ieax~37FT4?4Hls$yXh%4QS~&MSSm92qx3; zm!z6&%eO}S%#IUcY`{h_Ixj2NEWDmy>^t&U<#5#X0iH2J0KqS;hj<9_RxsxL$UO0tfaT1NQ1(Jqu{^*2)G_7FJ`?3%Rz7I1ah)kU%WV&P73~&cP z(Nx5v#kQQB5eY%kRt@>HCi#HxqS7+Yg(_B#X2-{`n;=CCiBKzxNH6B(exn_eC_%Oy zoIcAi`tcEq8jb!zY^7}_rmf0b0cP_7Fur`gb=v%ws<2B~M>m`P5DvFFuLyixd+#G0 zhToC6mPRD9S`q;mKh@@|nvtn!Jm&}=z5T7j(2V?xfO@bW3Fo!Kkp?*ns0mSYY4-Cz zk*wre{<71?OSe_Oo}Jh{%4~4-Pky06O*J7#Opg3DGqd3F#~(DzkuJ`uj79kV$5ED2 z(iUAYOxr0L8C!ZBwo1MBTA#hHuh@IERf|eov_y*Rn(ZH${futKQpw@_cybQXo-&Yz zd{;#IlGZTy{b`Zmwk=l&#r=X+o=fxDwmx?E{^+mgeWsSpCm=m;ruB|ci{Ed~y$vm8 zqrGvXQb40IdwaPbM%{dV1h$&3UsrBAKbx=f6gSD*mYHbzQHe#jzUO=1z?dN$Ag!cW zFi`^eNBL^qDi_Y?s8?(V>)a_9FIQ8&Y-Zi}-;Wj<%`RzCa>%11 zcH*O+dg9s{P-MP&o?90Zm3i*5K9kOzE`P3X*YuACgm^ZZajI}HMD_$FPDS*RcU~X^ zJE5A-zZ=x2*8P;eqQ8Nz+dl7%qEkMJdBkiej#9o;&w3pv2Ato+&u=cVDBkgHKNd)Z z@B2~+Fd>B$d#%fOPV9elWfp<71tv2VP ze6T&~J%E-_<49h1H;M<-V|(Uu5J<}K2KS7efp|l*BUiuU5hyt*xiFdQ7s_@7?V0b) z9*zClHR15zQ7km9n~X_a0FBt3#2TP(uodp37m!t^odYvYvJuPgjo4*Cf zt=&l7Bc)gCRl;UpUtCwkMAbk0llWBJf1$+SbyU-;gjZi&|GiALWHBZ<2Q8IDz>LfN z{97qYrZnIM7*{mEm$rM)WhbYlp=(!Fem1?D@S-3`W7o4cQ2Mrer)XVn3M4tnMnQY6 z!sh69Os)AwYPA+2b$P5d+*tRiPt}U6@{UubHeBQlBL_Rua{rH&ilrorXOMSg8D2ySLd6D~Jbo7lQ;dF3&Pln&QfO%T*N*OUITUqd?Rv0mCXh(YxJEU;eM zD5o8bVN_56zqP|S|?Wc_M}J42Y&abEAA>Q!aBDisVLoIF{`8ABf&M{1nn8$u9HgNCyn;g9dEy; zCT3dRIz|zmdda8BnB8kYi|g0^f*8?yNXKH!pIAn9Z#+g5t>p4ig};7^?TTa&*KQtM z+PIPacMj=|cV8a!2{cpJ;5ZT(uc`3V{`(#bET}kMlcrAL!F|h436Qw_APY$c)Cpgxi4IbZe5vLpApt!A2|d;?=I zY>l9ci#YdL6)g?hqg50Pyn@9%4T}+Cy5ra=NdYoG5JM=R3`OV`+wP*H{KH2@eVGg%-WxV3J89CFporX!iAV zFZk1DH(aeTi$TxYiP+UOpLY$O>`h86*<{h$GQU*a!#Fg>FSUCp>bESCmYd3U(?y z$|d<|WfPN^5~9paKLwrG{Y^RmYJgGM)A$!Wu1am52iB6GVCk*`m#I-qu6+jw6Mtn@+U5_JTlyjdp{FkJhH{X)?=ai3x@&J<8BP+F z;9BO5z85A-7Fha}{rS^?=Da_n&(wt6>!K_d=TjBOt^_T(TG+MB)F`@*9>z4~RRJhK*SojtpB@-k`J+xwG ze8;|BrlSAmPnpWvV-q&U6oI?ngs2H|WsJgPS`=5E0||X=7VapHNr`&3#PJ3*Obx|Q zf8|#y35YOky*Wwa?fu{l;UWNht~G`P-YlQIuk;`LNVtjbN3qvPsciCjbztq}S`1}~ z^k{&R7U_6)+3u%ptQizFHYmm7#bnFQ49$YKE1mAygog!xvzB6J zgV&YJZjFC`UDp4C_>{BCbyY6+seeAXG?m@()re6bT_s+KmmyG= zdaNiyO25vnW<#tjTOT2)TX8|LZVz!dzBU*n@k)g#W4 zl(k(r`}-ZOjHy&B4=MRvr-2+|nC>ph;%u}v4a$%`ETX$`B-ErooFz(Yjh)rnOTM8Y z+%7f)T-yd;8;pqWJENK~Q9be6L&9~>*D7Pr_ucR8mxIynCKF|j0GaUp%E63&PnT!! zY{q-jClg0beT@QFzMqqVI;EqUFi)P|{pGnSE9=P}x$z3VP#nSPX8yCr@0UCjyqby| z6yAtZk|v>9FpiA_+#a6{c5j$!5!J0tW+nH8Q=jXTSfw=WyP-!HQ+c$f)Mi?rR=pZe zqBvduWCYVi4${l4u`h2IKXLRj$%9g_=Xxy9?rRQ{Yg!r{eE3w+Yzv*6+;4I|Jd_@8 zK+|G6bd7#Pnm7w_U)k%8wNwk6(Dgr8Ir#vU(a=8|U84702%5S?1a~6zDIB=hR)?mY z1=kb5_*8~700RWCuu^}yd@r2#pkh-e#jxJwXx%{7#Bk>HSLv}rbxl?3d*qiC=}&Vl zwMH!d0Y=ebU^V&am#JALYC+Zzj>l#Fa@XH+Qhz4jk{O~zgRee|Z|XKYkC5WXX)zPn zQGXH0$x|@PitQIn{{R^xr5%U45R|s`s1wdQ=%(w`*8=(tM3nztrQl4dk}UU5IOB%y}sn&fw$M z6jU6ZM%>aknPe}~;ZDu;;G1U0=FXokMs+%rngrh(rTUwibVPmVDX~&v4t$zsd22D7 zVoIu?O6q%jdf51@&lys>=J;fagt?WJLuo=Z9 zSN-PH7(w9h7T|OV-_oXCwQiPa)pI{NgC9lUxeCIi=f`_Xzns#E6?OdyJr47B1kG_O zL}^;}I(Juh)f3%J$a@F{=z+8Q30yh$OrF0-gG_~yY#jm7Sdr(hk#u&v~^ zXZep};~1pm%=jFlU$QmQbqkfglsykgjnE)q7^57kQGfb1M&F~+U5A5n^5xZMeeuEF z;bQaa@w4;QBy>zHy#aZ)ZOMnB42`>f<1kaY;3ew^hzawTX7Y=GYs)dtJOclE8hp8| zlOfN)bmxeqq@Av6ywF$P_cMYq?b4~lwl%x1R^L*jOpN+q;$64L`rPc(FIv8Syd>hI zjOnFot>S;9KrLH}x~9*oKOoZU9BWWlwsyZkNX7rbU0;?iaQN;My33tsfJ+o2I(@#u z-M%3{{btxc@uMN(y}0FZKhM^dKZlrD&iTxoz*^oS@xq&ZJnBXJEK0P6jle}HJSSiM zSLioT`$uzY_W&gS8p2=cc#`LB7Sd!@ACYAD{4)iN#^M9 ze_~=RpKtj?eMJXg_fpt#lX#BVf8ZQ%Q&i32_Qt@{U+tq{^$u<%Eqry|lPYYM#7K{u;jt^<5Hh}#20O**1mPj>+{+{X z?%fa86m@k{jwFvMPIl?+IPh6#}`6`-4``$MrHmNH%kQ<)N)4f}|WqIvm$!$*Pqx?iUMgs*r zR_?|N+v&$uz&!WYiSB>mT1S|>7Jygl3cx2zxEJ&}JY@!+{mXngXgU8(P27RG9)v{J z-rH*>@SZAb_Kk&P!K5eD=jzPblJv}80mc1Z41fdE&PBE|_{PF!N+y=~q82BxG1F0= z(fTJO7j)*ggAjOk62Lp>>;j^H#zRe}Ze+(cazoJ0U3+EvR~v{dg5}s&s{wHY5?9}J zYjbD0Eiu9Ya*p`tP^^v%_EM-Sx(k6#*}yYG)^Rq0J8aeyk4|UF(kgmkzy6Y!&vK@@ zYxj@S*e@}OIV4^8#s+|~?m$H=WIctlaQT%OEsp-fVVm%+``&#Ydmo|U122d=_fsj> zy*BATe3a0hp8U2Cya_u~&){3kBoovHE>oYk<_nYtec}Wc;O-lU@P${nOy5qIdo%;U zd@0Z{&8PxzI(AJ`=aXFj!duoqA#nuKao*S=j8p2@D2f($rjeVNvd>wzTkGuTd z*B2Ma_R~)Hy)}HmV^H0P&%)rlQ?NYo?Lii)uU)~HQyTBdM=R_}N1Kj@L}*Ya&e+K` zH1M{+jYxeil3dgr(~12y#>*JR)h&ioc5XwAm&Zw8gC8gdw--s1UrcZip8fpf2Vss= z0hIs0s&|%@*l%(W)xnS=8<5et;MeGsSYB`4uC+?*({?}G;3UOXshe-)|9XKT>eHv` z{;Kz6p0(5bJ3$tsKHbU5nxT=2+=Y15<;+U&u?{Ul1x%|-x}o9EEm>spys$5$PkC+r zh8D&M#9hGzec8b~7#+mE0XH=}O3?y)vQt^bu~#`Ny! z-f?L;SL*F?(OPxa&3{)R*w43$E1L2u?6T9|Hv+hio?yb|=E_6|UKIy#hru6qw--=q zn~jB`R&E*fQ56z5lbPan)sCcR`+l^v_Faz#gwyg=b3_%6i7xF3ckWcRfH2h#D7%L~Cl0>1ll`@&=^k;CYIM6j`7q&p+}9A_ zx$SW;v)4s`=`eJT9VrI6^@)i^K{x&fMS#8BraXi9&$@8xk*6-)BKO|tS6MF%e!NlR zvumlu!BucCO6r$z+HpK-xyr0SiDM|GSa)A4H8&IOrokFaq1p$^-%69W10y1LmqSlM zBG*R@YMv9?w*%3Shs%;eiVNd0A1mGUhO1G2dwZtn37yMN4IoBqWS8a?UHO_+42|>Y zAF~-b&vX^^6$DHlp&=2(C0+E|LRkRyy<~Gv>R>^Z`hM)O5L4n9G=z9`v*s6k{!Jt; z*Y|l6*c1h@Yq^TiF8GK=;rzq#DmR873Yj*MgS4++_cH0Z3g<~9pt0Mse@pk@I;t1V zfx|*ow$J!_73jW1H-P>xOUwP~`y@wNa}TglQWYtm$clPITM#Wp+0r@xbnjT8@hzE-=7y%s~CDpT5f8b z&=YKU6WK7s+{!;2{;-et3b5QHpDhdayBvL5z?53U^wt7UexV?#^!V96KhL2`YRY*F z_&<90i(gyy)0SHkX=lbB?Mu}U!lNuEUXhn%*U+vL9|nI;#n^u2;NTD8Mw8vF_9};= z89G7^!?GyI_QgY#JyFz}cvc&~KJe}FQ{5+Iqf3s#*iKKt7P zy(cfvsORgu7<@eJvS;3flDV0dt6FY3nx4}aF0)!3Ik>@6A8PvZzG_zTGMSi+SYw0b zNiaPb4b(0|NSE34GG+#vgRU-i9e~A_OoInj&&yt>@ev0$PX5skh>NZ{wXM3lfvo# z<~SMr3duf9TE2Y7mJV$-y#>9ZMoZ}SPPzpAvtr1{I2iN&`yqu2gHX>GgY-xIAvDJmNdk@+WE_F2P`Q0G4_W-1k>!f`ld#Bj1)ZRoNqKM*ptK5#mG5%Y3>OBi zt3Oh%+Uw;Kb#7jw-Vp&mF{iAxaxY3nivK-JtBMuXW5-X?H?WYp+=rUFV=hJRe3Zqv z&L-N-x@K_3@P1>omaO%ZJPn^D)c*%u%I-|m|yUkLL zpYXRo%S!4K1MOH6O2%ICRuwYf^jT0}ntJR*H8lfBXi0%_{p}*NuQRZG;f_2owm6R* zpUti5H;EyOfJnYCg;DM7G@@>Ak)J$RZFqjU+rp!%}rqx!Mu3IyOHqe(fF_( zcb^Z_*==b#PFg1>dvij#4;CcZ${&bBt!pAQ!<|V4!yG!P&S4av!AdP!FUub!`owQn zr+@W=8ru|}4|_vKwzrZcA;OdjBD=?}!UJB$q^Dt6?@>?4>l3p+Lo)bECio=vcSshK zPS6Ooh;PrF8~^>i&{S#skwc3>y~$78eAoPjt{2?t##+7*M_>G&aNUJ74*3)Hs6>3) zK3R)CiHlUi2$u$v)$mmB{5Yh1tJ;fV zS8(I1-$h#A+v;t*f_wt+3!Vv~XC!?04`)CA6+PIcxhvbC5KXlT(b0&>M3LbcR@(K6J2d+^9P(g?uFE>~lXMF75wyQxQPqelDOn{4DIYV$NH{7i8bh+l_ zx%P@C;bJgu<#^|EEmKEl5;9AB+nO|Qra(HQ&z0!H#j@9B+@!)M@AIhWRAm>?kH{zcZ47q7Ch8) zgyp{$3XE_L5DJghf z2nc9oi|GP7c&hIDd)L_j?YhN!2D`(@P8QSM>-)ZvX@BJkQw}76c91bCX>D$dJh1_} z%Nn566|%$Nza4jfzSa@e$Reh!m9rMZBVrI2?KBM9Cc0D?K_3w^4$1CD{U@;w{reje zAANF8pJ>0JpV_0vFD{NPZU<{HxF1uw=qW;j_V(~jU5|X_1*zSbR~Mu`+fvkz`a_8K#Hdh#c95>o5b2TkpvPx7KE- zmkclzZz`7*$5p=NUgrkQ#Pa=)D~p^*H{JNx9!=a2WD@JYR)?0@TvM_3=Q!U-2YpZs z2;H0O8_Zk2ea$D$zEMl`s&;YXAF5iL0zyb<9{bsizRArB`;6;bqt)}Ze)pM#el|%hE>iB8c5C*qyYxw3h!cd9VQZuSZH}Sk@ip**P3nW zWDHCu=qk2oPryrC1(iZIox^96Qzx&if*|)6z#^aC7wF>S420z8QvKk@dHz6UkM@Ja zu?P!6DM?(%o7oM)>^F`01$eYrr%ZahV~sOy*ou6GFli=Rsj72$tX7}ZOfflBJKR>3 z0x1BDHJ^c9wf^yv2QrQr@Cc4qV@m(x3|FM@0Fyo@EsvbCJ~U!{CJ6^P>ZIs`B;^@J zZV;3klS;zFmS?x&^b_zLf%Cu38;%<)74_jh)Hh7V3Qz70?~3^OR_-Xh7N%bHT$_oz zIHO4{NP4XKK=d=32qw~><%a`Se-(jMq~slcOXd!Lzoi@5D2Ijvpk&wAirSWT=L57L z5zn2O?;)h3anea>?l|wtPlNp}?QM{v>oU*Ni+OY<@2#){A~KtMIJc7S0jxxl|7HDU zI6%SXO5L4YM3DGLjc?u#=t$ zJb?G!i;(6T0=>j^Pe~r9@0HikH$WHj^qwy?nZ*E8e&*jT%ZmE`rIrZ*8S*GslN}8?K9)&eYrJL*O#!8l+x7tZLw~(0r4yzVfZiPe z1V=99XMfy~bME*UL4Sqo-t-P!+rOYK_B=LG>1eRGauNrR^}mc8Et&j?KS;ML5>Cz6 z>{s*Xl(y78VX#Z~-7BYa{w9T-=}n|jyO{%dKr^b=5SaPffzwW|ElF(l=QTB#-t?0< za6_f9b>!>yx|?c6afn(Dc)h+1uaYE$r0zW&V#9+=;$W;m8MvXik)ZL$z-#e}S7Q5r zSbE}+NVv1%ZzloVZ!3h~tZ>dLv1qUR(-Jo#8w^Q(H@xgI zQOR-Ma_qf&SI#kdw-2KQ>P2QMdDpTYCqf6I>Nj|Hk%wS@P?I*&E~0ZT&^Ai0LBZjv zllpH7JA&PWMjYH1;M=e#mLiL2%?4SgSmNxX;6QRevN}Qzi2l^y&re#s3dV-Jg7sW_ zLl{a%BV_#+MPqo9VIC9qmhuadoV=;t$_41OF_c>BGUTZxC@pmDwJE!E{k!*8-Ca6A z*%#78e1KByU;8R?56Er__V5Fu0*lc62eK$c2eYkgfqG!z>m#&r;T=zZJ&>8LA+->Q zIr?snS~$S|zyI7vDqMTTs4gqn#}W`f$9|fRrT&MHRba61XS~h5EAA~*d{m#%Fyp*x z0HH>M-C`RknXCO%_d(NZNlNoROf-3l_j>N{`gV6bpBx?O+w9CWY;Xd*X1xa!m2%bjq0(Hmz ze}IF~sBmhF#9k0d64Ho}MaVmP&nU;<;j3DCdVK%oCp^*fKogonA93CVyM9pzX9DU~ zcv0y~65!#VE1-R>4cw^p-UFpH>BzG?&~{!ZU|iP)9;!L~UF-=c%uF){`3!ImJAM<9 zmXo~S_6~2O<}hl8d1YMx*uh0j;=t&oF+1Zp`66uRH)**rVd1c4kt$T5uxIH1<4g+e zDaD3e)VO8Rr#SrjWuH_?4zvVyM=(J{YPR3ct<`Cp$sZZ6O`KU5Nmy@67=6aO3?mp` zLALTSH*I_6k@qD(qf-Ls_p*(L{WVR7xq)vg$jrKnyEp&gjqk2iyr8L~vuP)m&Nze- zgt9*pN7NO*-3WGwgxmHKmWso{d#N^v!1#|3j`aepVNJ>(RjI@L8H{uW$R?L*3WBM$ zhrESJVxG_Ok7uZBAgShZ%Lc??UGWp3TCWa=hRP=FOM1ti*Ng2Qdt*c?5b#6zjwKzO z*=KEH!C_++weOfwo6Lbl`=NV`$`7z02yw$HoPD1c(<-G6KTg6mvO(AAjH2gXk3~zY zK0FJ=O)o%p7ROJW<)^-_Cb}pa6QaZXB}MANOq_XA0pyqOF8!`>DLQ?@GKxC1X9K_h zJw12Vvw+z{W1uB!Wm1}&{l!=02R!G+%+KxvE}iJ-fHD(cfDKaQ^;h4TY-o2y zPmxN{Go??7w7HxZ@C%QKv>GmExbk7WiLp|PoUQYK)5rvC7i4SL0~e0*81TRE9L6BW21p$7E$EqdGW!G2e9XMX?pvv>Cjt%dJfp;nZFAIZLZ=2LW zFZC;>7~W8lyYWkw93<#nu85m$(tC&_@I8q<`>}8+0r+_x&Ok;8Uz?9_|GM#@y|nNO zY>E!6#j(HMT?Q8cHO;*5Tae2`2of?D5_wv~b7n2}scAn~!Kv6FG#+JLwyaGV0)QpN z(4+$!JcL%4oPs@LQpLC(^N~Pe%bJ!Ti*b6_u zP$g;&9E~pWz7)55{`y3dNI%(N#9z4UpM~J>v)wyz8xZ&zVA_h|e)q9D!$XAv*gODg zI$gneq%m}Nfa%Mh17E!0H@uI!pKsApsEpkQL*>oR?98+iJyWb@xs#nJhU??TS<CDz(K>$lL?J_jwn|W`o6u{ne zK|D2wVE_+NsmyA9cM~!o*JJ`fXJNM9B^n8z%Bz@3@P_cTpzo){>4e{FckZLzkUH26 z1H3zTwgQhRVZSZH8&}u7ur2C;APinAOX62W4-A6^mjEBq2OutgOfU0Yg~m#X+m?Or z9Bi*M-aK#J^$qwP3!vrRf>Nu;2H`q0;E+n8HM+?gCVjTg!bBR!@^kmsHqI)8eQqXG zLhxq3FIQ;)-(ea(1{oo^>k_5=>Cl?|ShELW{wy z8Ch_bO5edtSu=njsumYP1HkRwtyMjvd1y`KD9|5D%T!IYL~1=9)NvlOv5j*1<#(~- z-W9)LCXB5PRD82w=p`_Ipb;d_33nd^)}mx|zx?mv6k>Lqmf&5mU>C?Ztl6snLb*TC zeLi~L72@-fG?)%w*ChFY>D*~`GWrrmaih#u4^>Sw2~MpAFf8hm`yDT+V%9*K6DxX_ z)r`Yo9e~1-x15*`cm&%7^u`HQaBuLVAjx$W;U~YLm;t-XD;r&_h~_ecdIVOdls%~r zr#42E9uVS`TlPib;sN2WSX9cT2JVK-%QfM3Gd063wYP~_U`mx?_UrG2^<<;$diEOO{w9-_;`f`uuz%+|gio`8 z-%(Zc#_ZXpyV>hM-@5e?tAS}iP{WMsrv1;{MB{P|JWtFhtQ7O4gCS5YXdNr#u{oDUf-Y_h~*%EYS~k4u?E@id!ZN} z9W!}4mnZ}gv*&38{H2UCTQjH%gu$J8=s=7$svPXW9tHn%+Tis7GTM3lj)@b$tNcvy64LBEQCwGkDQ!q@Xh< zt$^416=7EtbMRo-^5Ue#H`q4gQxoUH{6x=bH9R4?66|uYsFOJR)xnf^f21~mxAoar?%u?u010zY4>+oPsF??|xZr>W z5}=eUl2>HyU&5g<2*I*czsjS$>V>e~T&?s4@I+9p%~uM{)$IGAj4pP!V&i3>4+?#EZDeKhk@WEHhxtA{IjeMgpVpcP?zwEl+`Mz zBwp%3bz)f+G^z70u0yNFU3k01q5K>`8l|7B5eEmycW$wYiZU&H?b2gSAzFC>sfLjC znKgz9rA@E!7}2V~K7f%}7)}Iuk~!)WL@C_@XWIBQjsCB1I*y5Ywe5e5{w)Z{zm@=T z>`eofasre_WAEHx2!x*We0P!g`&m+M)k~ACRxqjq5!>#jeGtR)=McD!!s}H+&bqXl z^J1QBXN6ZZechxRIPNKauCDb>0fCJ-!36Pv*E!@Li?^{Zmf^!kPv%+y+w|WY6mpd> zv1pU3+c$BD>n?_AQ4Ax{*W~imdA|Sm-cn4>&E8U*-|JVOoe?Q81{KZRHp+YmE@bd) zack$F_l6eW`PVRY^sPjSFn z`M01Ft~KHm)@dKYHN|@c9T;QfFpWJDNim|j-m4~F%9Q;LWlSlkGQP9kKw~}D02}Rv zssgpn6iDn05tTwd^3IDI?n)_$T3V30;@2ATp24(^A$fTeg0F-CRR;sp%A7aabgac^ zzd7ha8ct0zQo~9tc>f%;Z}Q$@F=@HIKlhXVqHx3wJO^i3R%rnxph7bE%dMF%L>;0E z|M7>i0Us-5xifH6?3uAbj=a~Uj{A_vn}e%H#9G(=BgYeBQ@yAKpQ2U`R~T?}8`}KN zHiSALv=>D7)-YKPoOpcs%R%s#_C^Zjk00JW613ICeq20yIn+20d%uslY+(y~6xbLr zJKOXD;a)Ac-jM4zLPDYtMC$T)|E>~m%)OsiuKf&cKzB*ckH!I0cH-JyPKr=s#ZDAO z-p?b5U^h5GLoA^jkn!1?>*H+aSf6fj+OdP$tAXn*9X5%&bB9 zzTwL^9-VizE~M-JT40zU5p+~ZSo_a*Q66lU!8xfKFudzvc)845*Z!Ar}Y{J(>?DhqoUlw44{{z^&FRtM4#(I5zC@&^33iRG6aPr zx(okS$iaKy8XUedqz6iJLO#in(f#Kp_Kz9OG5uc4Dj*8k8?C*HVuNZ(7d$CH140rf z+1iMa=dUy(r7lw1I)=Pl6Y%|O23;?7TgTd|)G!SplN zT8>Nk5Xy#6+>!-Ok97R@zCS$^i|W=25b_5ODdFHWFHWK`5 z*Srprat*nag>~-Ec|hfWWGgsX99FgSZx(<=)`(m~184us)9dIkpVrD{h>{KpUwE=G zc^XzA8A*n<)G#k;YH>`i0IbbYw4C-p6!ux>&gRk>!c>t&A;C=m#0rRtvH{H66+|oD zkYQSK-*{!ulpz;RWr&1wG_g?7#!ifZwM z*n(bS>_+h1W81E`hQMZLb)Sj19O|_^iKWEF^2h~nPl9~ z*-bgAF9(ol{%W!MlAX8wJB}qXCZ$hs9Hb3|FBZ{d5%g=!7hz{qlW^ZWG6sVbOH|?n z**2Q~s!LKd4=gR?T^AmpM+hgSA8NmVJv}WVTv9%>mRLh159~h$Kz<=YCLtEjo>cFr z($;f{MhvL80Z^gKt!{JW;|UF^yHUn6Ls=XM`q~#6#3n+%s#H>6FlkULnsfj80y1X! z{TxczJcOe;*beq$2o-Ay<#$*QE=CFlfGJ}rbDm8W0gb`CSz39v_KF+}+gj3j3r)8Y zrP0@KHQ-_4wBvLcZ#4n3PSS(!(=`}0^sa(H$^|4*&%2-SWgz5l-)Uarn=yGSx}8n< z8{=o?vYXrsD6nSh!}Q_8DCH?sC$G79b-w%qWB>aXvBVZ+5!NpzXJMMm+17{tP zeDSswIZAzWgc|zPWbCTvtLSK=AX;_F5Q&X`CUUp^2?Km=VCUE?Yocol*v9@IhO^+sAv(Y{sHG$?Am+a zOJ@McehZ!uO?`TOZ@%9Z)C}bOM}kfX!|i_;8Z+O9te2xL<+DWa!f65D_tsja)_`Mcjf+<1LEI-8S8`sg@xZJ+71 zFr4iv5%Sq_ix+Xq#Htu=nt95cH_!dFt@2oX1@h_6GCPCu?#OJd(c}I&d*SC=`Pt%U z!S6*fX!ry%*b}bvW-g7UewO)w&5?pHSDDBG^zwl?`mgX%oeP;VWc-55wCtF$Cva~U zzf!XtXcB43BJ3TIl|rdH?xD$%1KE4qSi=SwsNUm;2Jx0R=kxVYdg8a= z`*GghgSPuPvg#ZXtS45SB^-2PQb!ecn0Y=GC)S=m%MOC=l;q`CGzEtAKr!^%bA3+e z&WA(Sda_5((J zgA#`f-PC+fc^kjHecv3*6Gw3nrHg zuR`?)BE9RR;6Wc$0j`TAOsLdG@es}R>4n)QT9efvBy!vofLcUy}zKfn9zP1@{i0p*g5Q?-tsL1H#-)^>Rtz_zFHU8aF)q-yBKhMlXpuT%eZ7 z@HuL~^DhqtEp>u?9Xy{tg$ac?`xPGv}C1bRI zsV^2lH_oeWx#j1ZF6e*Y_L7MU3M&x1Om?()#$LIM0%Yxt1qMtc-{wOqLodNx2Zc{Y zXAgd(AI6L6f#()(0&5V!aTj3&5)POy^{1FoF%77nV9@Qna$^}9mx?(SO14z^O{Fr- zb`HFg6`(#!Kk-lfYz4u>44`g~(seL__wxJUFz#2NV~~or+-y9oHkV1k#B$I2nFS<| z)QUg0RGU_cW*hl znRRjxL2E!)mwC>W*Ux%GP1lP&J(>ZPR)WlM3L9JCZ-5o9CWL$k?FNv5s%iQzIw69^ zBTR8sw;m5S$2)Y7=v-IAqrOgJborooJcQeUZoA71mB&YLJL2KvYLda@li1KBjS=75 zFpdYw6EsS=@XoXYAw5$nWY^#4u`*!@U&J+XbrGmf5xa+|^6YpP>wwZ|hP{Pj+prXs z^7C>}=xtEsTb{ZI=49{Rl7l$g7Nz>V z;f|uj+12Rde4nEU_TY$_-vSSgFuz8HS81PrHyNg?xtq;Evoden7nq5y1I^8mc|{-- zeZSUYH4BApAu!h!E~uXa@TV`}JI$IhQom_|YcJ`1t<#GFAL+SVry(i!^&%QJ6OPW^ zD9&q+10rHn(nr~G{_RkPtl##w<_nw06u4hd2!1#I^uQK=Lsk`twqjwu04+Ea>-AYjcT>>Q3o&Oli|K=Rk#gLzDb00gH0m3LN$&4ne zn8I+}j0?7XUC|O1qH@%x;cGbHMnP7EueZiUm^BMWvky{J zaA^Wa>QHyfxP_QQ1-TWGd0LdD`9EcbL1{!6pM*l$eH+wB3HINiR>eF((-?sQc^pt5 z_|#*4rn|kT%q}^*2()$WdoY*m{8(qi1jrLC<@@O}G)+vjBOS_sA zJWB{It80MPeqvkfL^GFLkp_a)^O(yDCyva%W#=o4rqong8ge`nq}>#<$m~aI?v}3q zObr?ad`hFzslI_p-4ec3(WXvBA6fJjMM;sftn@!~uGQm{HqzH2jvU(0%74S~Aln)s zRJwWJ4dVWKJWywmm1qWk>SnYGcXn#&?#gVhaKYmvc%v`i8}sqC`^Eo>r%+Z3!IBxi zvFgvWbbm<~)PtXB9%GEqG4&I84bwx@Z)#lWDUghzu^~^kH-{V_<$=!94N#NY!er~n z5_nKvnT&vDb@(A)4~R*0Pln$a0dCnw%wy#(%o4o?^}~Y>FKH-Z0aytV$_YZ%+&>xU zAxtg;EiDBjX^&zQ{a}Uo%7VejiKX1c=b-$8FbX^efc`4@RTW=}xz2RGB)WX*3#p@I)2ekf@U#qpH02~Z>ma!$BN?4IASZ@zpODnkcWt<5e zklc)lijccbwVZ2%xl;ib;tORUL%vMgZgYf*MbB|YdjeBi!_$Nxn4&Rpu5JU}#Lwt& z(6_GO0*ipsX{VrKL?Il)y>%wVUUMlag7OQf!gQwzri;Oym7RSP1~W7|+!a{cOE4sX z&ntji&~*uno`UXhB;qi2O&0SkJwbQrC*s~9^C&^MG-UH81bl3ZFX6m^P!3sSqr}wK z)urr$i0YRqrs|GZayKeuy)%n%QenJgIzTk3L3P-e{2JDQyzFGdtw*jcL0P#TXehp5>(9Xi!q6Gm%*SCkWqmMS9W$%Gx7+fw* z%=57+JnCCV6`hXAd=SEDMEM-QYs*({_34B=!}{LQnw7X$>sR>LtZN6GNlDayRN$n zLV-&H>9>l^P-|@${5)H@m_-QBhQZkcm%(A_NnE|4%7$lx;^TA4%x*$yxfg?7uLtoH z>}&DQw0%k$oTP{t#HNoHXbvHG&j}`VW%yZP7Nu0&$nlXfFMu$k-TkUH?4j#V4f%4G zn5=*$?H%Cf&W#nRzvFbbZ17A6^yT`GTP2p!O61~JooA8Wn{0I~l8KLati8*+=xc&x z+S?m8J;hgl8sgwOK+zuZ(Ail6kNUgrO`RR!VRYnW-ExMLwI5@>Lnf@?f1-OM1aZb1 z)g9;UH<1b+g($21@;dR&Q8GlH?ZS9mM+e4 zFydW%p}n>C_w%2H;d-q8Uk9Qf5_O31p4{~Gf`ZWxBt-CT5M z;ZtTQ1nTi66K9yGw)Xp;!8O4J&9jDwdFy(25^(^vFn*Kt$@kb+>%e^u_1xn)`|E+r z?<-o)*5iQ1{kQfmMl?BKaVb+6*&%TQDI!;Tk-7&G=gf#}2)UzZxhNMiBAuFw28sYC3e8x3 zT`+#e;&zSUr=#Qk8u`-rZ$bo4t=fE>Ae z)f=@(iRi5bfBu3$oOpbJ^6+E91h`Z8ogHoDzQRaC$C*Nn<1BVU96#hzL2P)#ZIEIs zTtFOsbvetR0h!y$20AOGpb`YqF_K#1Z@(Wd)4~rWzVeF$q-V8Yth*ZOcPz2}-Q#X8 z3Q~ts)VzQsoxntu0^u+cxmZ)ad}3U*a)(GcNqlGX8$U2!@r0nNzS(|l506-%>p)fN zCz*;+-ePJ)QE-@7z|OdsKY3uU6bBdX^shH%sMUF{YF*zG7}(!k(T6GlFh9db$cE8A z`6!Y_{x(z)JaGYoSB@}#{U}HM70S|pxQyRve=yJhYya$S-8j)UYl=q31m4E|#FLW0 z6bZ07XcRrNop`6mRJdQzhTk-Q?10k2>`aXK#^B*?@V~QgggrP)8kwD0R1-6hs1amOGiFZYbs| zE}xB|W2j)!OA1Fqy4lV=Z9YU@LYh{~8lvvQG)QAras=j)z?_n>7c}9Mi(f<97}gdG zve>a#52&1B2=ycqP97lU{DBOCUKlkqf@3(3&tdQdM*htp4z8Rpif9Dtr1ponfE z*RV_%YD42ZQ2%6eT7J}GA>7fndEezxAg;X|CVIwiS})*EULYZ zREp4={!VuAcItu_%uIYmCa((GGZ=j3W3FRco{`t=JBGg@eUw?wU2ao%1XgtF|LaW8 z65@K?Duj|XP=HD<5@l&G`85vmpu#JX($F`2ZU&~MD~x^ss}JJjEUV;$1dOh`gDpna z2&R?!9aqXAAQe6dN^3zEN=S+y(Fm79OpCtN7PExGHRh4)S+ZWLIujeea4|NE|4|?B z_Ksn)PJi)%WrLCVz^xvQk*FFEmfT1(;9JWfgl-Ut2dTeaqU-)BEbQRA^WZLzx7`~` zL;dl{+%G^0iL~O#+gQT`RUtESL+Mcy+YtVWflK|#Lj*Z(l=g$CFv`{p8jl6461%z0 zF}1=SQtVXihe^x#SKubCxBOQ#?hag^1_n=$RtB8?%3lh^=a+;T8rPso2C(ViO5MP3 zNxb|Ex`F>JnQ|}$Nh@A$nfUc4*#?CCV_TZic2H5W2i0nzSbydLi?p1G)+-K2+-fGh z;0JJZude>TuCCVuUPJSd9<}>N)hx6H zickEWdT|G6z2gvBhaYK;8ew&+02&byNC)U+$TD;cykR$tHk_~KR;z!=keYq%=6dT)?_;Sm+-@iZz^aK3{j z|F@fgplz=DBv77_g6Pqm719e@3Z(SJjk^F9%u%-=M(*$_Gh&;+(kX%^V`QWW(YX%ja4bW$cD9Vv#k+m^{md&HDQ`2Z>2H=4VS7-^o z4WYSdrk)Z{iyhfteGr@}_1eLiYEfZokMdOMg~V!5!MI0kIT$9nanHbep*NZPN3qTf zhWNsg!~?`y9+pGJbxIHM29n51E`lJZ8`yMD^PRiBrLW0YqS~e1`Lz)C!0sqJR<;2a zG7HZ@6~YsY9Z?1>90>E6&VSE~$i`eAxb^h36OhG`oL!2O!4-#gLfYEQ$@?sfc7#>d z#6Z#cVUm%p=kkFgp1NE{dutAl(Q@>$jVTX{iI!Zj&4Di@#lfc_*k)}D2WGI`cPTf* zaP);$eu0S7pDwu3)(C~6^IG_rKMPG0P2@tBkOq~2z~dsMiUcvS4#2+m>})RU#pa-H zz5J@R+oV?&mm*Uv`w3B9!gOXZ5d03LYYJ6%$dm) zMIuurO4LSX2_=+ds0?MEzIAW)yyv{{`M&S{>vVWr_cg3*t#z&STfen)1+E|Q3yuoV zxUAy4#pdSTmflZ&JHVx@r|LO`$3l)8;dX4VIrr%H&o6Ot%q21=YG`eyLn8!U(sKpb z&=XE5mFdd#fGA9df_fWxh>szFbS_fddl|6PQ;q6kXKT9v{XWXz({|bm zftetAUfYUuT!_Skrd8K=Q->XVO_ zvK|VAhEgwqs3wz*&3_ja(_xT2x}s$8r0;*NbTjhip$j_zTjH3yUfde0o;%k%nK%qF zzT`b4$egiUyHE^Le7F**)`~gynG&%q-+|Wu5fFBCA<>bA`v@eY6zO)-rgk?En7q$R zbzKJgY%phJ5S?Sc301JOijv6^R+s-4y?Q$eQ5`FALrD>LA2q5oKPmq}ZD{&n&&_gf z0??4HPyKommJY`7oEMr>;-r^*V;D&qpX#|*%t)z{Aowci+fu7AH{nFbt(cHWq931j{r>*9ORIb_|ex;J@5mm%STe8fCY8FzYR#+Cu<0l2C3md z5_#etiPh~XlCMHah9LPwt@5tk_XdLRJ!9bJ#c$s3FZ7b`9Q(aM7w!GH_6-WsL?NFp z=3*hC2ceytb0#73hEY&SgisN!G_10jJXV#hxrBDvyw}?{H}Pd0rh)<~mv+Ihw?pg?D5GSbUI^A4#hCR&~FItVV?BDub{8+V^F zNWzb}3;5KKr1B3>z?Kf!-m#pho`n#acvPZ4Z)pUBBJhpPYgD)_egH_G;N?UNnH2-t z=R%3xc}l}k;mMGqCl|Ipr%Pq4sNvvcTYLqcTlcR_1jQkeL6jxmUZvjU_%PhAzuvzr z&CzM<^0Us*s3@s}l^R<(O{Nr8vlUR;aI!g7xgEnzqB{=jKRD)Ewj|I#14Y z=iLG(4v{!s-hrblCwg2$9>#0k(wY7A9Dy`ffL24FT%n<#bCL7rqIxMjr|JJQXpBc= z=N!I~^8m){`4Os>*Sof8_qu1XF(Y$vM$iVkn^%U2eO(XZ3fIoYMJp#r&fOATTOJ>~ z)FOUw=$`*}g0srl^VU4-0wEtlxV{Pxeu4tu zA*utdzVuA*ox4&&IoyHb5^mhO6TRl3sJ?S+C!RyzR@&UzL;C zH<08Aa9o{+XuRH!ci>E)RWeIS&pvYN#O0#K^>TKVz=+F3roN+L{^RfRw6az9)4jWJ zPClZKQbXzVJx3btQY}YPLIPV4Wn<%!KG!#KmU*TQ!kORHwzrNYZ3R6oR&FC)&zL^? zPPxjkFjxPi?{qEGIg!*OmQ!z&V(uOXDEQxOXW(Iauo=`uj6!Vf8X1&H| zJ*V|LR@+mbNV|7JrbK?^u~|O^HySAgWR&JZhrWRCfve zJ47)&>U(n-3wHnnt|?=Q+Un&`Y_;vY#5l&Do?LiVT~MGo`*5m!19zD)qnBx7#k+X1 zyyH3pTaO>!M&`f++~@H&CvCzCgYZx|8H(~4Lo7wL?T<(xC3pifmbMSs7_bDaOC0(Q zVre>{+uGw#*Jo12EuW%0+lpu~O0Lb!r`Yg*!SE0t4k9%76zJZxthoFd?6?DAz6>5v zw{E$9z>^QJHd(oOFjTfkyyuv*UgVQfqk2{|WF^jLapueqGo2|)f)RF`pD#OvW_P#% zvKC=vE#z@LblP-W-f;mvEtY&z$Ek>I^jNY$9?G*|844V7@=ee7H>b!tnLQ#~hC-Yu zMc{jX@J5J_yuxR7Vf3mL>cZ0ZL0n;Ud~psRIgistghP+!pxoi5H zj>^HZewfr|lVswf8xJ<8>Z)e+rv{m|*S3R=F@w>pV(Mh%=mX4Laot7iW$Ik!&=k5t z_rMK2A^)y6hLS4)+kyV%w|?mtq*c=p$o%(;Ht`AgKeYXYNX2AOmH7A)I91d*N8%bw zd{dEJt_?hW!7G%%2sFeK;IhgAkJ0{kZWG!wPf<@9le^ib*5vYJI9@$6V8GlB9zLU# z8?F&*>7vtF9k8VsOC(;av*$oja&?6T7!c+@+@se#XX-(YKS%Vis@T%hO80r4a{NAT z!T2{kf$!NPR&q3*P)R^kZY^Bjps6gvcu0u@QYJ)!kA}LqBPlqMw942ouY?PZt0nM- zmbh|9`oCXGi)kHStqrKBQaS;ix(L_F43vs%Okyc~UDX&6gC5IAHWg z+&N{OD?cu%r%L@2c`+F|flJoFxj!%72friMy?}_pTLgUYuzqctYl_QMHKgU%g&6tQ zNR!4w08po@+~$!xQoJjp;q&rrW-ODIJhjbW#_4H|-5fRTuJ@9^@6}MKT~Q<)HK?S4 z5$#WKttm;^#uDvM#J^|Ob?zQu*oIIW<(c^mxq~?7>4;_|_e3pW6_vc*MUIHJk zwzPW4@gh7s4|gt@KYf2x=N3Dw5d>`@dV6r zJGcf`$IFpa48oG`0ob6*+X{p9U98-1ZL=~5`g$1{FpKsD{)fY(e(MXaO@Cl(PJ>&DIob>Na(B(m|#9-?%#*wYJ;IZ;%;e#p7D3oB8^TK zII$PR?BUTWTlJhC*;6Jn+UNL+YX`M>UPUWZ@xW$&q9QhqBnTSHLGan8>)L9k4`in% z;O$^H?=qWNpZ4Q@sJu5mBgDTTekObmUU6Hrj`dD{f3qXDv5$@#4qV zH;4Z0$BTz#;WW?c6SMTmecSoNsRzev{B?D8geD!#RVswFaspJeWCdF? zl1xgMhx)2^aK%kd$+JTlbqi`u>#7$MFG)-DNqt{4IlgnIl+b}w16Tc7)d|G00@lzf zr+AYjQ(TWA(Jl=UdTEHtN_+l1`xvs{X+R>K{^|J*LH2fWG+ogt_}k|;Q-=(Bcr6We z5UmPQALvYtXfz*0qm{s_${T}jkftfS7pa{)3=f7n;ETKnEHttJmw7Os#2!k9;-HEp zPHGc>{`z0d&PWrByGTSZ5h7aiOeo4eQ7lj1xpI%&f^l&V1q+b-i%4ZPg*JhppbW7p zv>BM6)7CGQ{+t)~#S_@r8gAJ1{_LSmI!YD63a$x2%5K=plxiRg(FPR}M{G0zjh6%a zLbE%BWX6zTU18YTXx{pHZvf5+*IJE`!C&acDGkaMh}oOGhD?{zZ%!iJ{1!j0v56$1QWqyz5C!I}sj4UgI_ zDZN&a&!%e{?(U8%RItYrWZq<2Y%p~7>UK|kJ+)yk2GT$W+Kc|(s4|L@U=Ev+oTvVQ zq@wAJP)`%m4a_JKZ{9lodQ3R(U-auLeHVw7oEz?In&SK zVQ&q)b4y7l62jWWdVo)AVL2JO#f6}E)=ZzNpw=F%@x00&=mw@NESE@5nFOfhtB6WA zXMpW2uQOotweXwJjm}Jke@C zuL`~sKsh<SVZIrk|LEHJhv$b3yAI zliTRrY>cwRA&QtnL}IKcH5%U7vYP77_y4E)`v$%Yx=){xF$_zW%UOGjdsFhk%jg*= zYT-FQhn1L^n4e6F8AkC0xnz(V2g?!5QK)`W+oiU8z2pl= z7Kf>B2*Wj(#b!k~i%*GvP3dI{7~rAoj-vlJy&HfPK&P0AFk0JN@M;reqK}vJ_)3C) zjSJs7XSn-}0z5ClpiF*6~v+nwj;f0!xF#2id9J{B(lXt9q zLXTui6q&msi=|2v?**2W5AsPl23L5b)Tao>SyQFi{58IesI{8?;Zb_QA-FyvE_@V( z>rxP?%kKy%ws?;uV}Mt_034rHWdCm;b7LXxzdUPf#}B9>J2-X1mUh8sPr63vhn49_ zZ%|QRRDY2E6H2c0U>KLU+u&3-Sc+{MT;$(f zdV}~CyH8oYO(0%5xc{$fLH>-idB`beJq##`a|M>3H1LFE%13p@pEMy9&EcKpy(*wm zx0<6^{u+ZAm}>35hsa4Fiu|vDTtfr|+}G#AO1|XyiyytdL{9+p`zU}@&Xoi~sF}$o zx&_SN?r-%IX-;WCpzxYz;Wy~DtlX9-J6>Txz%nw?P^14m(I}7S1s8miPMS#$Kl3!K zIj&D3u4>}%cEGyqH09RAVP#=(H`4(Iz8_~!(kkldT7|H}#Ff7#65-guL7 zwcmUKo~1GsW;Z<){lAJ@g)?t~Uy08A2|YQ3;?|$vSe65qLD~x7DEbh?uz6#4or`0E znpIo|+GfxmpRiS;6c#iLXOw><)AX#-LtU2GCyOUoN@09CiQJAMKujmiZ-^b}!6qOd zdj#tJuMN7_e@BR0<1}tYRjj-|T5k>gKiK#jj`waM?^UGCuACQTZ4oBHJOPMW?J+=L^`C^y){?uLr1u^Z2 zMCQ}hx9V<<*DX}X5ur<~JSR!Xf%UNf>+@l5>hCSzqEdwF-NMpRG5Zz7jZz@D0Kb!x zNsn~v<2nvv1*Jl1FgD`Pf1CUQgwbxQP(ZcbbJX0!eg%6($*4!Qr(7&giC}Rzrn=)H zJvYZTg3>~IB1Cy~wfz9Vxg$X=R9|ke2})xQU4#($&mznOFLoG? zKmv3~eOEyR1ok|CJsa74_`5bv0UsU(itH$x822K?%w5A<3hXW2K5lQ0Y-@T_EJGA? znCl|c2VNa?zkZ8Piciw?Qhs<;Bb&lCXB#z*JNG!>L*uEk`7z0G8qQpegMTzZ&JofD zv-o?#mUXfI{#UDiHI+TSN3xdLJNne)a}gs3S#7F}Lwwvwa!>I{cQxeI(?uWF=6-*K z;9TKRS>fzoz_D;=6|UV;sjnxLK0wQKmdaDdR~3c`<3wXE4qICJ@z^HyueaHAJMrm< z02si9iC+nlxONV@ja-D%ymEEICUt6IakrRo9Jg||?@}rRj(r_P%nChw@@xrWiJTjw zdnN!HURF#aKMAm1S_WpkMC?>0;Y9SYtCcN@wg;UbsUEqSTC&P*YTdG~xAgTAZ(LkW zn49t+B|cge@RO3pFqHNsxEG})^8xz&7k^Ge!^+0EXnn>$6y><-&XF5r*fuo*E7%zk zJsdYN47EzVp09s=xj_1?+!G1^cMb4pYobk>iiwe*NExWNIJ7Z$OGPIBbg}Jvo7EOW z6uURnuR6*rUVGc=w-`bW$9YF4j@ryQYR_typkb=#pI@!v~_h8_u_Li{MM#qqgld} zIi5>g!du)?#od9jS(WQWtL-j+7Xb4%GN8OU3J=u%Ecn|$?{qUl+S1$O)D^3Es)~uQ z4VEc@iadeNTkSfcr6;a^1cSt+7tZXfhC8JQxsYzlmuc((#JoQUGiw)lP{PopAN4zp z*W?pm8W^+;h?KV>nx)M4oICt(r1;aK?>>N7xo`44cVBFN*S@14>4upgNJWyj=&ZZ>1sy5@Qb|YT{$#Gy+Q&UBSS; ziFuGn9JoGH+73H~Q82^#oj7ym0kM{Hq;u+&|dSjy+ZNBuWfhs@a`ovX%*<>ZV)GffY$Iy<-?FDjaUtJnI}EZJZCHD z_ux(CFG1S@TT|TBQ`_G`e2l;4ZY()JhQ4~!!?+u5_P6ujw^7?hl<80xM81O&FnWR~ z&BBMcsk3LM8pi4H&csT?>+4`LnGbs$8kU&JA%+3-A~6Fhl12_&RBEd*D<)r+IEXqE~gJg!(P!7G&ew_EE zw!BtlunEXUQCE!szJr8I(NM1PuB80+0o%nkTBSu(lOR&`7UDeR@7tJ+045anBT_k* zUdY6(N8k`1wngJL36vn4kSHAKHq*^#Z3!kstG!pQ@fxAEIo+$!guABx)`&Dlty8N0eWB{FrO}R7*Wv-cX6QMX~Uxv$yUfkOC)j z`dCjJckZz>XoZn;n};ZM^QDg<;cJNrJjvJHfZMV=`|d__inJQA6jOm?an?VdaU{Q? ze!p(A%DDvLG{-@a(j>03q$&x%mhyfJr&M53ZosjW#>B)@wlzQ@Wh+Z9Z8pL=*xKJ5 z8`1(Csjc@-MK=LwA%i$dr}eIU=;^T;Pvd_Ikg0plVo^FXYQbd>K^;3In8**_>~eE{^c6qZ2_;#8 zxD($&mm0tQ!TdW9b9h!L-$dMEf7EpXH;2t?q@-OiL~9Y%vGU14upTHe4UTLki0k8a z5kG&da!%?GFZxwepbe z&U^M2p%#4%l*i3WA^Qofg2MND%p6Mho0qIBjI0`bw*~)EOg{v4Xn$wQF;^Qz+2Rr( zHf*igt|weWT6E$HL#E#@Ax_jjxq+NQoOC5vq9l0@n z@fx_$o9ex!%Mc-$Bf&RWC;sUM;#{T7baKH6cNHy-{Q%f6``XoX0dcha79UuhoD2N7gWu$|~^JVn3V+Z6i4bLZN%br4{BP}8lbfnvGO zd2W{meSB79LdeK4b9fEa6R+1H6`(libD>*=u;Ap)Ry=O5REEt@LhE&boNx2V2qvKRGgc$DAaul zE+7&`JHl^V`Q3y+dnE1)!Zq#==s?fYr+WHM#t+0g#O0>*U4+I@OQU6*dFy%03H_gA zX+7~p8Z|nR)@_NV4J*wOxwn#s?~EG&5VCDamqDXUmU}laL|6=#SA>S>y}NV}P7SH}Z*83a-3Fj5Q4WUhcZBZ| zti3rp?@P4KCGbf}v9qT^@RJl<8V=Oo<5>QgGpp2(GkAUVOEk&FDjIdSM_er7ocArG z>!R7N6D1H!;@oj8e}5Lq?C%aqdr7o2kI8nt5l}q`oVvjIw_aPG<^1qIb&r%90hE5YCXq7U z-iB*FhiHHymx6*MV%GL>60Ohk>YF76^bbS0^QgzG*4R>mrU4)jnRMz>G`%^mdVg!! zWylfa0-xFqk300Q5I3oM7V3axq}t8IKCI6+aPkS{z7Z(h&){3%y&g{)9~`f|$1>}% zxc{K-9Sr7@iNiC; z>^-O@(dw;M4Mbtm!2lk8`rz{>f?*=M zbi=tRYcu5J#r&9bx<70Mz^g%cXwK-I*7imkKR$uVB3z4w?Bktqi{=Rh~v#bNcfBD7mVu z)1l3vTGngqfD!FYOcI3TB{L@`WeCWeV|Luh#oU?5R%l_B%g=II(!b8Vjb{nv>HHA7`VC@c? z2V1y|tbbY#y1L&nQ(33soJz7W23&ii!`3;ssW^3cR6DHUc}!gx6d~XUR1kK6)nhqi z@ifVpLCPYxU+ighNXeObs7Gu%C(Gx8amV^w~FvA?Uu7^m7Cr z(JzH!dSdo^!pkcohht1=FUFTAPdYdK@TeHa!gZwFHcqqVm41H#y!vq~k32-Ffj&aH z?)R~}1exo+J_aM==jx8R{tn?YDw<0+rO8E%{VRZ8J z2_i!CT}Vrq^L`5n*(qYx1C1q>JvwVsqvcKK4nus7{YHJyQ||JcQX3HH`Y)r&OZQ_g z?r~x7y<_F??R0q5BW0G$>r=ix9ysgo*mfJcVky93vmhTY%r-zWvK4}V_7I0Op+l0p z7bwhTzTf6pY2Gyzn>-alNV}V_U+5K2QE%JIJ$3AkEcbZX9Dks(gX>QnCvzV_pj-rw z<%?sDArs&ZOI93P1jl*+Bl`T>wYs(2QB zSse6Y$e@1)!7;(GY`#cBzQ&m|XPUjBG%F$S8B`>n%=GBN;AUO6GFc~@=%M0(eUAVY2BS(Z;7(}e zQ<6QgVllO{pS4aI>Th<{%srX>0qsnp^m>^tFUBOsz4ryuHXQC&@M4JV)d{&YqSyM5 znw!Rlr5t%n#YzY6z011Z#vNx|#`b0>sv27nkfnPz!o|hK@Ci%AFC+je1CIW(nFR+BFJM|K<5ZO{2wxN1I zI6v06izr)iLZ+nE`(@ytASv}+V3gGD7v2P)wF{tfxAFS za#6~V?;OYEZK~r2k(+)u<#=X6F7R3OM#+HEpAhh)ye{TR(Y$`)){!zmN>n<;+?5i%uju% z&1MGP!%3Fm>0WKuSu1F@mCEll@@+|R+~L!i=Gd1wz;;UkPdL_e56YX77o8gUR9*5V z!08lLRmpyAzeJ8ixT&xAObRhzetuSM|GWQIa4f!GDxD~`1c`7RSb`2SaSRhU&{OQl z!|f(LL&Z-GU~tO2<*` z1CC$S1pk>g@6`S1!}tXYU_^fc-e9{5K*`UG(U|Y&&v4U?xpSOg83Ud<7aQO$Jb|e? z=X35T{wl$nGd$|B)~)Kl+2b+rx@)QB!)ZL1`jA*A5>~&A{LIzxv6=a(`Ie0p&c|m; z*XsVUOp~;$t&PJKU0xmuiz)~0(4}hkqiSJ_C+-O?C8(>_i2^lO;AoVeaL$B*{&Zh z011eixNdszPd823y?V&tDSQOa;Zo|(Kd@thhDFTZvKDSr(o=>lu@V!W>>>jBjHxc_y@G=R!oKqlban>@6T?n4KWE#I|Su zVMxV43ebuBGtmHS9)wX3B+YEhXcIg>#WIkj2nLXV0sNXpMN5aF79hMe;kDTPFn{;*HnnK(Oe%4#9F|n^u*@_z2?q-av`f0=8`*&hJ^Q+7Y20_ z{o8X0)W06!L6T0*0SW?=k*D9;dz%%|h>(1o(NKv|&*OU}1;?(@Li2kqO&QZwUL(6Utn7+r|$1LK^ z1EF*&1&D=S4;_VCtjEAL^JZxt>d4@$`NeqiouT`wG`;EvS5Z#Y~v9c^j z4N;*G7KGwp~YgkXe}WwPb2i-3gmzUX!)ZE^$H!(Ewues84P`)3Rq9yx#Fy&L@e z35 zmv-l&y3)5*crC3vUE}TY>l*e*2ybC zNJtlJl@2l^>Q~7U$OC{OA(Kk^Q>1Ot1MC9DmXs``b&DS4&1G#zqBfy6UZ=XI#2^wdl2xmY+RDV&Qp~IdJf%!ADeB1#&y?7e%Gr!P%==c*)=E-GkFI3&Be;wfW z@_`Y%W5;(N5%hr7__>b zZVSYHMx1=I|H^kYBHyBipo|_Z0;$I$=U37@moFbu6HKQ$dH)%td;VW8xLA(LnSUMR z_ac?)$VE|QWSoCTNR{lJjA1X1(g;22CP58mN!%Hq-Hntu0gTc!I`<;ljfc*!rdu^R zA;9ebtm+_a=o2b_!658U*spQrrVK8ULNY@)8e}|D@|Xx__=uzUz0T(o({P^lpJn|~ zMzQ+v=Yvtyr4ZV5gMWS%_`YL>UPOQ(7F-zG`*=Ado_K{-Z4;A}e1zwfrD73=bRi(e z3hRI5qPGtw5d&x9!7fa(b5+vNjnovl3w=!|i8teq_fiBk-Px>Bj|X(i`p-VFTcmIQ zL^sYPJfb*z59Y@cfbB>2Rg9;S1m@scM)jDtW~@Ki@BT_Kr7u-HB#vmGQaQmYFql9r zO1-`7uc20lDIeM$Ex>DJ1plJgr+Du#@?eljds^>KGMpi28Q%?1CBwx#o*X&)BM2}e z<8Z|RVGy-eckIBQ712EsiG{B*Bli3dQx*Zd_Id@`zgc|+_{7ie#jyNo07w{Tvugdp z5|E+HC}5ohY77{&!JCZ<-yv}9d2cuAngVnR^#7|&C0S68z94qfzdqal`3?5PeXNPy z(-Yb}uS9MbdHs(Kg6s779uVdf8G`ito@4*JHpEDuLp++my@;^Cctiq!Ay)eeH?qhdTyfSa2k=X9*PfZ~+Bp--S_Jt) za)fe}VYQ3it}=gq!*%{7SFyCE2w$9al9G^O3qV7BJso!}BpJCUd;-*tGyno&wRy@C zF@N&&uD|L&UUJEs{Qzu}U{8qd*fM$$gW}0Us z{#nK}AX$vdPG5gB6JsWvs)4&+pLoKV924E$-*2Wi`uJq-D0D{U8b!c|rhXz?WP!(# z1qC+W-C2+f4;M%8!l_SEnY&FLWOz=OyayR%bs-6q{5DK^f%8HK9XWafz>i~gAMIsP zng~+5smQ&9G=M&17f0R(g=6pJ^U^R-(_K@Y58w$>^32P~y&k?aE}BJ30c(Mz_}R3i za>aVW`FYa2d>ZD#k%_}lT6Y`TPtEJ4(^x=fATGrxBgM` z>R@Of_omWjex?1h-C+nid$R)CX_?a9kM!pq==kILPlT?p(7K2iTp!W?lA8S1j}q?M z(ZbNrpf#noR1W{V5hx9t?+nO2I|q)D?!gFp=o=Kc4Of0Nb4T?A@RJV<9|xMP-k~AK zV!4R+NU+qNaedk54phHZo<;7F{ieIKq_Pz^IapE|vLxv-g`p9z9yj#DVel|IyT3v+ zXShrmdnXNyw{kx@9IGqNK+NY;M^pDx8Qh8k>k0`L%M~(Bytp5C;8g^-;(wQ0`Mxj4_0HAc&}A51m+@U*rG|^ z3OSj;LaNC~)K`e>~)s#ru|<3RG5goiRj5ha1`MNd{b9Ju;ZMCbY}5icd1 zx@iQr9SlS>llI!Vyo8bz@Zmt!Rv-@X4avKjU^tM?91M9*I$uf;9js>t5XQ>LN5Vs zN&t8$E;(2A4C#2>cykmqrYc+X?Mt&M!)a!km_@s?&&bDW;55avusPy^bHDh*eOFb= z3knJzzIQ)@tRsK}ZqBu{!p!989z_1?h52`0T<4)Y&2eaGNQZ$>N{8v=6c)a;2g{O8 zt6-6LGL{(Tcx5NPLylemUz68`{;Lliu?#HC#_MEhlDl$6D2EY4(|L`Jrt`i4nD+C3 zwI)d&)&e|q>~*FEJvPS=QNHQ(dv^@Qai-V~drX`pWQPm8CXFI@<%00!9%z4V$dmWv zQy+4gquSLIiKd7!^%?x|(c9ICe3wKq2a6)~^QbfQU? z`hksxq=bN;kjO;T{85_@o z-==0wU3q_1wbSEN-Ng>NUd~@vhNyG#+My3XDn0= zYKsOUuz+d+ILY4MLdvwkgT3UD#rTf*#p%b_54TW3T_lMf!-H<6VSBv+#|->Fj(P4G z$WM)2Q0`oWz7Occzb*X8(0;(LF|QD5;jcz4l67q*abzJ?$Dg2Zb@~!{D|9K);RgyH z5#i4y9s<(fU?_=2cnvTd0HNC=9jULfP2q5TpZc z@`$4evY$J96$~6}McLNyw{NoIN!6i9>F$15!rGO4Ctx#t;6q=fd7<^V5ict3?E@Kr zliuyg*X-5LI95JcHL3>js++f&p~cA?6&C#u_YAXh-`Bzt2}mpP&F{c+sIruZ^iV=R ziS>oL!oFJy1;85e6=B!PhNp3?1WL&2R zjvAmh#nMutFBosW4A~;P`L00zJ6Z;5Gbsbh*GRwB3Ma@7U*%@=3C1QNpoKsVOmFs5Vq^pK=%4V?)tB)RJ_4ZW$p!39WJCEu-^kFTyi4DZ2qb@g8`4s3ZQ zB+{Nu{Zm~aGu=)z${zlx`>dm@T&@2r+xf#Zy`$3TR$jVA#S3mFilI#i+cEU703K(m z1Qn1C(4ClfJa}cgB3|<6d~#p+sDBO-ILS;WF>PNI%u*VzKw;Ho)L^}SYawdFFi48r z;*g5X_8n|rQ}#oynC21njT@)=-8kQLW-?R&J@-AY7~A*#l{9b`NJakdp_nvvE_k>~ zEnIXRN|#493)Im`NZCyf9Ax@>Dun9R!Xs&G(?b$AT8u(VXTSMHO`L3hyroo9M=y0B zpHjB~Jq-m!_W1y{4C1YX7^^X zN5qy=OR)ab_pnt3n8Jv8-&%tI{s%r;fmPM0ueRX{(`kvLLHZn_w zI^Q-nLqbbqB`}x~_mXdO;C_7e&SakHp`|1sEu5>rk^|SKcYF15C{DpndknI)v_2qOWba>R} zMTWjKsw5DdoZmr51QM~R?;lcFE=G|tp2bMptEGS0e=(Kl^vTG0SwMoU-JKVA0cGrq zFHb=`zr8y3Au%QAsgi+|{MmA6Qf4b1~@0$?{DYg*R zUN(C)-!ZeB0S(WY{G`(EO^>7>amvC-=E9xVa4&8)-&QtDrNmTm8Dh-&Mh&A}C2YG} zE5U9MQRLg+rE-!Du@r4RyD13>r}vVxPNb9pmt%ZL!&pVmwyQMw zc`Fe3#TlwC-;%T=s}?FZjNG15tuS8DizxVz)prPn6i0?kUU=K_@VNs9-Gg+EYwyqd z`2;?Egc`+I_~iTEa=D>wZQHA=ziKzBjDEIFq|)=I1^91Mluw$Hhp)uI*zv%A@smHg$+i|My`gebV06S^^{@bH7sEWqX3MFhU?B{r zi(3aQSpM}d(P!19Ij&Ky%t|`a&q__zh>Ah+2uzvKeZNw;7ollpeWjQF>|r$ZetUYU zw4<6ScWk6rTu2AC!Wf`>IBOYMK2YS8^MBi*@7k1sz7aJPj@in-3wr`skP3BeD)Mb5 z+`9=&0shx{X>>#k2v`OtW1=uSK!PxLCwHpG!Q>3xp)RSwp~|F90&s~D zl);+P0!HatY<}bcr+(Fi8E1f;xXQU&&HG8P{ahR`x)u3}T*ZBU%I(*? zQ+a@{;uu0bh*;}bO^`YBN|8%JSUF@ndmmPcyh1l797bFL4^$fT(jntD3OP$M>4UEt z%2mbafT)B0?;?pjuuF$6lH^pm(qVlS4yP=VtWjflmf$FwgU8AB)rr~x^hIjoFm_+( z_pyc*cqRY(Pr`h3ezVl~p|4ZyC}?s%gwHd+MAeeZ2nDNT;G!=OK{xKQ z5HNZWl&HsL!~j2xKhn$qG#D%;1aP``{E;B4;F0wp$G_YBuhRj~39YT+AW81e!_1x6 ztldI};)g~F4P4yI)>xi;pqcV4Ap^_@shXuTJO-0^qclxhCCk%&l>PFN2$CLfv;S^~HAe+o@(V5~9fNbU)Z z7oaszRXkCAK|oiyu`WRjUO&P`KSIyVt6V+)kFO;~75t4Y=)iwk8=ewg>O&LGtI?4CG8sE(kJG5|RS4&LBi=kemF_byxlIklql& z{mzwuZgi(n-G%VMfS3jHAxv=bvPINr9WJ^<1ZX`>7A3??KPUJLNEI8kc_>f7Ey&|> zK8a^qQfDTFkq$5LGrIAM>Ce>98MQ#Ji{%POH+IhD`27(*Y&;lKzLo=h6exZ=%KcJ6 z#Y~1=MWDzIj@F#q@1D+vs(VK1FsGoBtDyk2;W^I@Xa3;+H-#pW31 z*sxicCFdDLz4@b}<{hqG(r*J#&Y58@`->z0tlwazY-td72+_#HL47KxcE)wL-Aa>V z;m-5;__9eb;cbC5@5Ns55q#;=m04g&wvU}-3p9NR97n%N)3d`{oSa!c?&}IRI5@`gxa;01qBp!zu-y=sa87Ixa44Mf2C1A9lkE{ zx^S>kx)iv^D)e9YCqJkvArh9Prpn~o=A7feJosNrKLm{bMq-4LSS5vC9ypbgu%HYCP#cjL!SA3Y z4r=m@UfM+C_p1(k35*5S%YsTz1poUq^ZX4T@R?aOze&&N)qepfn1d;oZ%iKgbcj4n!4ks=e<67v0GG+{J4YBiEJ=~@b_f1^#^S7h`6$5M&(aA7p7>q9q z<;tv#Bcp#)@_+Lc^j`Qo5KKg0y?*H4yHQ^_eFQ%;AheZ}P40gImm!RF23vi5KMBR1 zXTjGZID_68QGxD@XEK)Hm0>P0s?z(;?2}W4v+L0Az~6{6Df?06O$%GlMu~xUiL7JA z$omtA)o|P!MJ*S1Z-hjxm|+5o>I*WwCQiM6oN)qPXDo@_#n^DqoKG1nF z>(t85okv&R85W+QrtI?ov6ElFTcj~?=M|vw*;i4 zQ6_kLi8AP_%-G=T{e!CVAoyO0wm)p1P>tQ`4SUJT;*KP0tI6SCJcR00rYIMY`b*1d#9A z`w+S{HOqax@+!#v65XZyyez5*K0R+qfbL5!8;^*anHt_@c65mRw|8Q|JHrn zd2WRTg&IVmB&PX4VGhzO<2mj}I`iLL^0ULZ$YAz0dS4D_1l?F0*e{_>6cb5GpbDDSnm+JVek>h-Z&yyu*g9+3Fw z<6^fvH(G_wl0n3zF6aNlwD=sov3#H^*fah2Py)Om+Yrs=Y&n!H4{t29LxNRnOFw2d z&T3$m0rp)5tPW2{d!QAN{Cw}=^nVzAO+ADS-YpzKJ$9=HA3f|G1 z_t<}}ymi5}ESTP!o#B%0tS5PnJBGYM8&qwiS%E$s5h2KS9!fH^O@s@Q^afvAXr>!= z@MwqGS=VON%+V?yghcXMyXg(G`m6cmp4W|eFY=%gfOw0=m zyz~(%lk@hOI2BN)iKmmY2)^C)*E!3NgF)ynB6H=!@>*w??}1c5bp2vw7P1s|pW^cLytV<8hTZU(pQocCAe8yoX) z^dE?sL784}lPS;>MOfGazp3~ZY_}tWT=jqr^#_QTT!JQE;%SAj=NA({Q*Q;ZaPv05 z&Yv!ZV8+bN)^CfcoRtkMTES5kMujvx-W%dnzwnihtYx%)#F(C+**&_`adVOm51~$=? zJProCEWMLLAK&*K+5I?GN+KGM#BtUzd${xbz6<~30 z-z~%WP>suV$4L*DHY^lj`sw7zc5_fK_0DTP#8KRg`l7OYg0cGDgKQM8RMsiOBvkj5gl?TZSD~jPM8_PcR;Km*Q)h>DROVB%h2d z@H+!#!!kuF;mp|oe0v33Nzwmt_=49{rOxx@{qcGcf6^>T1Df8v)D{rtA2lRMcIXvz z7t6u>AW#Zi1Al&KEyl>x4PI#)vV&9?_Xc7YVFy#ZUzQv?^jp#U_I_PujU7$V zL>V`%hOwDf%3MO!oYBrB^el8EibuMzn=j?a(b*@%8le;zf0w_((l$5gVUS?)(| zt?#?gas70l6dZ{OIAe)w;m3eg3>mnANk7(A%81#Y?twt}o4xyHq@hnOsP<&Wx$Ix6 zF?A>Y>&2d+Nk+f3MtCqy<6rnUSidzlbTWd2??Pyl3n#DaLs9Y59kM?{)GmrMIbB+W z-zR%Bd`;~_=&Z^LQ^nYstH|Tw)&>42@IPwNG7b>cjIvftl@m1~^(ubHJK8WZmu{p~ zJr0bUC+@%rT=kAWh;~$ak!?RFG2s-X)ElCq?^yKGS@fj+wQR@@OrF%hEQgQ9{@21q?g zIlDr+2837}mLF`j5{}mM(rmm~#=q<0t29u^FavLPJH=0}bBb9C$!bWI8n*16@2^<4CsTrk{bIBS?@Igw zNo6s~7dbtqDERvrh>Sb|UxG|X`kdX7BTezr#)i0Jf9th56jlp$$KtNW+^j6#XKAr< zPJ1S2t|lv+=T*St1AD9JnJD)@`GzSqG*BESUxpj)2HNfuQa53qm|R`?JmLE6Bdf@o zf1w?2J#33sJFyYEAU`xQ>dXE*on1*Y9l*1>Ju6Y)kd=wOy83BN1XE_DyBzDKE)S^z zt|UgiGrzwbEdEv7YATX0EpRA@QN-YER_ojaS^jgZb1J);QrM-vsFRT4D)9k+xx7o@ zUrfM|i+WyRU4Y^~E(NlJS`@KpKCv?_r;ZRZjJ(R=u6{paf?I#H#`*LyCq>z#&7WKw zxJwi-%%1bxbmPkN%kQ)CE`%@c+jJjLV!F=tfAa=wo+;SG7HD+;Pnp!r7UZ?! zVw6nUr+Do^D(7oe^Gw}bgM4=J&CwfP;a(lD8(B%>2l47Y`OgnZAV0|0##l__G1g1S znm_Pu&{SqR{M5Sd#kK8J)JLc{#yeZ)<3I{Cn0!E?HXw^2j#|}B&ojaLf81C zLbyl{cG`clMlE^VWjsgph#L1EJZvvJ*Q6u^>LW)`K1fF-{-h6=Yro^*y<0i&;Gygp znPK1MN^A+SGLu4Au9@6P5!jL}*!#PLTlTE@|AmSGPIx2U1{GCD609Yen*QmA@dB-x z@rrJ0Ow`(&;!4nS7HU@&uf-t0^BkvK1gJ9 z)8F=J?Y-VE*3PZ7*$7{|k<<2Rld7hh+&&#eO7Q%Jmd)#}y^tJmN1I~(nwM-H3swfZ z%+9X)W-$@{UR=N%@T7CnegsGKdaT8;n@`A#ZS=c^Vgq|lekqHPW=bFdHChY*K0_i@RS6H)0L-{Q8rqKS)@ z)~{K-rl3}2PVr5VS8eO z$Izc3H=xHvbJ?LD(#o{rXZ}K(YqWlZg!;Cqz=i(i`PVXP1}eD7 zP&^e8%KlJ0Bu0T+EcfZhg|3;<@M><&Y1n|(rTh)D!IA-U16egaKQ zxT&wjb+OQouR7Z3jAt%ZACpCvBk@6Fkm$MTwWr=Oa^1TT4epU^f#F6HE{5VH)_z4p z<{E=kp@Xdja!8FS)Uv|A7|qxEp+Zp{OoJ! z=VtYn0QNYlr(CJ=$2JP3Qd@<{KRteS0xt8|w!-9%i)xs0kw~VT+MPKx zX|tqMS3c&`M~6;-=!Y@8(65D07vW4|3!gYV0Zr;=#mT7DGb6d~8g(h&O-?T)DjyLA zawk{16Jg4bekA8LtU2l6yxh%Ul%!4S94fWDrG&u!^WT20@pk*rwmyU(r5;Qg1B%Kx5q=!sh%CWVtsqxEq$L~?fbhny4;TWWN&m5j-T@t+imrC zuEh77;CE`5toemaEFx$);vAK}Z1II_GK|kMEuR(ENy#U5xpV7Q2?=!dPB8#93RJ#M zL#DuG&-`>G?wBVaN=$5wFl=deoxbI56tar?oFh&w6e&{OpVQ3NrbiJJ(EmVw^WMEX z_6Ya9`#XOe6ZY=`kWa1+efyl?t!9t(>@P*X=HDz%x;Rk2{=1tCHWiqHNi)wkD{w7o zH!C6opHPFkW96Ok;|n+`G5#E_&|?Y3nmx2tPk|?zk9uDDcKl7ekPSLBQRkv#3@Y9g zwIfhuUMBR4)1v0TXW;nf3N4v1d`=N*@$ zKzSJu@M-%O9Pq>(T~D zWxcAsbpq(lMW*`}npF!2jojx{G+tbd-H2X<2WEylnfF^AA-*zVkH)J@A-`W}TxK@D zMMxHJ<9>#KEeeW8Y~8#y@m~=+{-DRWDl&rQk7&I|?_K?+-)7*-YZvlmT%KT5o`zy# z1`GcCMFg+v+U~jCN;5qW&)trJ>~oh%uYtmJYP6utm1yh}ciDEYI6Ya(nWh7d8KI0; zE_o|KYQy>T>U=)#(uErcCapP$uhZ@s#dNgm`{E;BBksXAu9Gu zOHORAlQVyQR~UOV?`Xcrmd$|Eggg35-Q@%HIWj?*b9(jj7~qOhVmh(=&u2d3M75S( zs^;thCTiUO)gTu3gM27Hp9qhtQcfWs_%)n|um&lhkOe$;I|meynNnQv%2 zzs702$;JWGSMS05$kIMU6_oQM;tr1uB}7g&{U`-qE%tCkecTPf7UE6i0@nuO<#*HJ z%=vYkjg40MTS?G^Zq>X!L7s>x{-+dg{W7V{1DZr3fT%r{4#w)TT&O-x!=HqU#Ikqv zHj@9xKJ%5q01vRl`DI(La*sE!QeDYp)=?N>Rq$hWy{e{FR>O`(Bq--^OiyU%_U1DY zMrU>0*46QvA5$7Tr~H9Z{435(53x$#eN-qxsPD*+TGlc+d38c=$kL4Y$=rl)1=OQm z=ca#5L3e3KmRoyXLYIv*rsKY)G_I|N;*Jf`9fEnal3XnVH9)G$?`SVH`kAm$KOo1B zsP~%#Gew9)K$JmO#LQA>7evQ=FqlmSp{zE_&wPYFw=3Mm?8zQO$1Np4V|=-8@7;HKc2sn#mYk^8QR$!3u8Y2fGUYx zhPuD}2H>berB^yJrq9v;gNoXTr?*mfGC6_eg^>ZxAmNnEyXs@kM;M|z4eva1JKE5}_Ud!pvQhw7|Zu&=RRuA`+8lrww9cgL7n_Pn+b zcK~yb-{i$z3v-iGaJ23;))gBvvv~j^J?U(mi=q*+b=|fl?stKZT8Db7yR_o?AOYaFE&8DZhtXqCemq&9Gjmh~y zGh?lgXkSi;#wIq;lJK?X|txQvTcjRI-Z1^qiZ1;BcSfCwi2SPjV^6?Qfv1W>1FqCXfC2 z;N9E-myzDx$B2_B`Y)D~XMLcJ;OT{b6(7 zMEL&OPe$FXN6xKW>t&-Uw>j;MY6c@Ia?Pj5Z zp%aZAFm+t&z=I8yr~me>PWVjT_3Fixir`~fRnb?sVZhE8`X^(sw3dxv+sPFISJRge zUSorW`&jTkjmxZ79zje}@wbAX=+e9{H8N7kS0Z}kT?o4z;&-8*)YKeSTE_dosyuGH zmQ@5LVH#g`a2~6$DeY=xQvAe#@Ie#BR3TDkg%eNYl;g=w$vwe0XFL|2f?{ciM-Uka z|9uRD&M~IR$d%ln<5GqPxNYLh^dOANz7k9O^-6Ossb)L>zBbvnTY@<95l6hQkd->= zH0Vlvfqkl|R=r2?WpBFPOs}<-Y9TdA>ALpq+#EKF7Z4`C-v^g11Mx2?r=2Z2V!K8B%V{0$eN>srQlo zbio#doQ-{s7k5`;?omJfss*mTG92iA_S8m`z zZAe*j3mMWN-msNXzGPdZacEQy?QP*B{4;hrJlN(-jO0UY-<2hQRQQ)tm*%uT?&FYf#q~;tO}yF`6{(9Nmg^!0mNm`Ldua z^i1;2SEOusVYr?~xeCc|A5$Mp?4#+ZpU7qCurhJZmDdVp-w<4Xp;m7NzX&SctXSo? zBCWN3*y7$GaV<7UPzMJuR#YVQVq!7*2nlr?Xyz4*RnAT5vD{_eG~r8h#ja5p-1M>s z!Z_R=MGJ~!#c(W5wePok`r`6c>Z}Yr)OO?K!0Cj(^yssF(ET zRgSgZmIsNH;|9(Z*ZyJAxR^^HC8ZE|y6J|ABN;7^eNPUD_(BlVNp?@cz3A^3e+)d| zAvbTvOUq(`&#@O^#hd&R>9w`+P0pWo(5}h zi8zMLWPNF#fStM?H;d($7?HzBQ0TSR2IUM#i(J09v62=|8i$lp#yO=hN9RW|rKLvJ zfRB|$8KqC(WnRbSHy&geLq9bAF#eG<=P=9??<|b6}<}(t&s|G5W&WB)= z%hzill0&5zvDSa?)BMA?T=g=nN+*`(dNfdiwe!}Jx`wWZ=G%;im;dr= z>4{$*TuM2=<~9%JuWzx~F5mXnZvOM@%XZtecvM)#NM$dWpFdap<%>(QfL7iC|CYx1mECJIT*Wi3I_7 zL8D$PDKuw2NYA*IC32QAm=OmY-Ho4K?)i`vuM|_OEG}~}GmlxUtjDCpL+XXh;`{Fj zn9mn{^%qXSrSY4Dz}QHiNaFCWF&CN$Q{F|h_qt+-_`}b<6)>zl_=8xjk)uZb$(=oC z8@KGs*De-Inct!n_#WZ@E5vYJ<6mJmJjK?%=T>NnuS@=xnWj^a4$<@9#$s;AkPJt0 zv4@{;yv3%}JnczM?F3*eM)m?;=^*K1_`4ar-~royUO7Lvoz2)~`)ES~zrU2obpE?i@7OTE&#NCE1&8+&U0`Evy)`5h;|J3V@hG&Rfg+8^a~K?=W3 z{k30EuN!TQ>!Edf-3FW1-v{%Vzy%qaQ-gSisQaVcWTb1*k#WxHbH|-oOHt|KBpaYT z+Y5>f4>~lZe3>UXGYQpQP`Plaj#vFJHW_-o$oXGy;JkzF9DxNbzN2iT+S+j;L7i*y zdHj0)hmA5=z=D(3Wq4&_!X3dgu0%aQDYWd|BFXA=&u@|3_@1a~XZ5BM-rma+!Cnu( z1Jjz^+l$zF++T{=8p^L>T<-p0hy_Pk>SV?bDDieO87LmPtT++w9VPa|22w)Bm)}+UaaNX{Q;y0mja6tI(_euMYMOY`lU1@ zHAMdjg}9Z5X7If7sc6%YnnI;52S&0?PO0X%6;9Yjd@Yl94JavX^N%|#RlLoedVag8 z@MYTe#fSf7zxIb&EEJulTJ<&lvvD>&BSy!ly^_wp(c2+!&F(c{aPRw*+0ISgFOLxO zR0Lk#6{ab$Dklhtx24>Qd|5i)w$Cr1AbO;8=LqhvR69;kBT-~kuUF^erz<($lbVZB znuflfBWPTqw6p2z_G7yOr&PIN4I$NPE9wj&cy8&sDd(21Tkc@)(IZ)3>1lq;l;q*6 zIjM`Y4uM>F-GlQ~?wU8@!`oFg6|Le@T;gAuTKoTwbCnq}bD@SCaKc4Sg}0EFX}|Y4 zUVV*Q`{4Ofx2{eSOgjB_DlH@Tzt{#Dg)*tZ*L%21u>SLpjOGxHiHwc9VkPkf5I@o{ zKY#==b-*h%?$~;2$^>HH_aiT_JwK$J%oDwiI+sQ2RQb)!I3ryelQ`w^{c%Hkw@t?d z59w=(?wYmP|0eQF{R^&^D}@)$cUowQ#pzcC*su6?^aB&24$9;n{B}&!uY_;dnJK)m ztWnq@%4lq73>U}{%BrCuLBx!7`o}Ca*jz}U>eoawdAKQ$qJ!?C;^J{K#P=L2DS>E1uch2UoX^zh^XI`E5Kq^!rmc9G$&wcwjXDX-R@7g_#gSo^jjpCm&U+UjP|623x~CCNqAU zpCj!rBG?$WVOC37I%xcRhRt{~+pCBo{P8c&<+h%cZ6vY27O1oZeA4aXYwW)NW|sjQ zd3l(gHq(tiX?ab$N9R_8pr7U$tJC6>K=-ihy{eRUVurXUUVBFSYMAsCvv0STd;a0Y z)}p8egAfU=`sNxao!MLa{Rpktk5X`V^0p(v`8PtMaU?&gI)CuPiDTjmL?DvDziyqy zo|alp$)Z55TgZgdQf9BU4j%{K2PfeymPCwN!60QrotokLclR@jS6EbX@XhJJ5;;dX26^vB^>n_f!c-(4?R zrcQU(ESl*nAtp$2ftZ8%51$IMqV4a1^mRoOCkf5gxWaCBXw{@1d zIKXh#nSLkif!q~(1DCtPhOxLQRbh{;7ZT}G$izN49+}=wKat5}y}>gK^-sg*Q@vDi z(Yy@UHvXOqCZ85&0~VTp&K>f2x?EfC6<@ek|C79^{ID_#dDlEjrnL&B?svCAuwsltg3BoyYGHjXJ$~ zmxQns>lZtsLZXnecHy;u6X9Of;gI4PRseHM4bd!SdK5T!D?VoHvX+&!Mf0dd*4_OX zTzc^g!2GX#3SIulK$sOU;nO=+Pf0O`L_ zC>RBB7y=APUrDJxhq1?v%M4C4%&SXXda}>GCEm2>dw|NX)4BhPVqd~X!nTmOB9N1d zbnPN*W~!sDR~NKSBkqkgiry^-7V&Y=TD7nD-1<_Lb1ORlO1%|+tgkiw9yLLC$=d?U zE>b$|KX}5_&MLKyWk0deoV3lD)>{$5+)1tbL~$_6>dRmk-y`O?5aV)%V$nlO_SPZ? zgEvYg7tr@H(d3@Hb9)n;w^?0`2|~jh7J0wJURr#lrdfOewA-}k^3qM&={DAnO0dw< z=P+Y?TEw_pty`KY0Le#9IbR6L355NMtpom+O;-`;8v#-bqK7-EKc(b zchfNm?!DLd?0gqAen+3^@<$uqM+scnjA%#3vzg;WyjE*5P zI$x{DC7paCIqMj;_-*_M2A3U9iQ>-bhR}8r(>5~;Cjm>F2mx1MrVa|Z%joye6bC}B z&%A@%u6UWCHVV%Jh{7KnIFn5D5{9s!d|9a}m4hHz!iVjf*SKGimLH20lhO#sLFa;}uJShTR=UXR4<736yv1SsE8t2T+w6thc zZ|SF!iOeD>f>jN!=c8fd|Mq0ootVdd$R)=$Q3F1UtnfA-Wq4bR@+l8^-0o2`lt#SW zinnObP|HHa!zWvO-~Q{YjPa4Vx6dO}Ub<-Y5@-ZK*sjV_IkE4{Y+L?R!!FeHN(!fvn*!%M*9ZhM1d;Sd#XVwtz3BGh381_t#WpEgDgXU7nq@>a9`PEzR1(F_gDgN`Y zon1w-dpW4j1+ZsrOl=jRrDX;#V?UT^(%GbKsecjHeYN|abXw>P2aDwdKRTCbcK8Ff z!Ee$T~` z`~)r>BOYIdUf3kNl}fsCW{=%SqGOb~!6 zWe?Sc`8Q~NXrYV9VP=WUY-he=NnA#KNsD5Bi+{(SX6{nLLcwkcct3(HHqV=cVkI42=-o9VD}d6 zI@GrAKO>_)G=t$J9)#?Z}_}FT_@n9zqv} zA$a$nB27;5$~mtx&Vma*rmO-*lW5h_5#)FTH2n;=G2ITSpgrzHmwJAl!DS#JrS zHl2_dS2(mqueCk73eYm~$|-U3%^}Asm1_PLY9aVP{K+TPxVyrZvu4C+J@xR(cLz^) z;7~e7;J*gRDeBc*55pL@j8Ihy?$AtxJ7-cNfR1(So*P#?c^X~#(&g*qs?hynX6{a% zMGxRB<~L;AWU>?3pv&rMsVifu|N13Sg&>_=%NJL-zy5T?i?AU=qO6kB>eRTE$V(7Z zp0GVh*e;AT$meCpzta7?le6V#W&3vL#PfgY=N(7cRUwu-7!PNjVR4I>UptCYdm=I~ z?QE>Q26#R7`vsV*Jm&5O0W-Do0;{zj_Q5k(`R412r@hoZUJxt2>IVIIpB9x>9dN&T z=W$3iloAaK?FW-Vm2^V_tNI}gn|>jGwDXBGGV--ff7dhWww0op)=8RJ^;gbwrG3Xc zIYWzgLZk^|F;+5)Jg(6F2$^P*BL_$v_i;LG`7Zz)Zl~W-tXSj(YkMbztPh($btSea z#m@kyY|;<%eFF=!bTTwkEa;~JNv2dr!nLH{jj055kWSeySEetwcylhBX_!;eW_+ z&x7D3$$o%2>sk~4)t6a!?K)pZxLZwMV>XGOXImU(ob6*IqXN?)l2ItdwQ+L?qo74z zkkcX(0fq8rX)3mozp-X=R$dJPQ^QIN9mPA<<|T@6s9Gw9p6ee2Ca2F&>v!byLo;8; z3ql3GEpH9`+PP5r6e@fxe-^zV`znFT1+>$D4Tt#bYK}pWW}1B;HQEiz zq7nq^71E^G1X}NjU`KL6_%N^CIGLZ!lkS{Y(jjPguN3;|RVwDt>DAZ`Je&1kzQ7>Y z0JQ(TdRPw}rt$@-*PVAcry&2(slF8zco->K8Dp8nuiAMpZ0)Bo&kVFYh+q;*GIMhb z)u10#Q+u*w!+G*bKuMV|kNZ7joP)uHe|f35_TmelNRVD>FY`PtkNVkJ4dy-dS_v~! z`^+o3@{S;vPG;rd^RMfCODxUY`*+N@3R6)-c+STd<7dZ%pQ5M!fo`Q+*-vDSmX|m0 z`Ve{EV;wd@nxz0~)b2=m>wF22?*rx(uX~&!2*~ocx`}YKWdcu(`lZKQrw18?RO>rR z=PZD=iE0^p#LHzcv-*yeTVj&i6*>}(r_a#a03xlYK z>W)15IgHUL-$_si;!>=+0I^TivRao@7@7GuIo=iyU}xm~`5j55&pQFH`o1Z+I-46R z_gbro@@yc?E1!2I8wcw7E*BFoyuq}7nEQE%ZY`$H#GyjQ|H{Ym>7-VlHQJbP*G*i2 zy7A=srY-ec=O@US=5|r$?LD!w53Pe$meh2Myi|D-8NR<5YT*M7*H9OQN=cTUIazT8 zM_BW6#6GNs^|m&(+X{wtH0(z<`rTnBnT>EsVoSTot>ad% zv~_*@-K>T)9eFM|k&00XEG9mge_V+RxRA}X{G{J6P;uWbDoDBtzj%epPUrlNP}W1AH=Wp_zUJ&zP>>!Y%r$jPfzkTGLu2>$ z;)#J97sQ?nyh@a zr?JNVOH<4l0vB?&hs~G_!8`2*kwOMo)84a2x+;guKXZ6%vrnd!IzTS((J`TQ|#bHze1fzMTq2&SL`=F6MR(jQB4vs0Ezq(*> z)miJ5H;p>Fj#MvkR~cMaFkiYWmQk!Tfco=D|e-8 z=S26=7F=c9?N>f2$+N19v`D;{ZEiDYD#qz>5(1om_xejDt?o1%!8o&r=+4b&KJ%?!RTt-Kf~zgEdgnKJ zg*%PrB)dOsn5iL_yjC(GCXA-|zMw7N(`rl$wF@ zQ)pIT5o$2G`1oG^^Z4AU=|BS4A=8e$!Z(mTefj6{m5B}9eyl|GoMN9++)%NFR7Uid z7t^QDO3O_cKj;o~mfX;$%F82XR9#2)3{u+Q9-zn!wN}4e)ka(cF z?Jj^E1IxofD>gO-0QV7pMLGRSeV+@k@S3wLY_< z%jEs=G32{DR&ux=)|3C5cr`-`mRn~kz+gx@hq+Y3+d*XWlKXlot63XYm`JYBw#lOP z)>ixp6759S05OjAtx2(8ax77kcqp8MRSimnW-ael!}2%3Lqh_QbK0w z253OMo^RwrY2F!}pksud1|P~UOfUb+aZJJf;5PK8p8qaq+mw_XNDYLO5l4JHO{629 zClsJaDR~?VvU4`Tbgxpx1?d@CXo=Ww*)5Uq%E)Er1lZ>6f134%s?3asy!k_~g{+`m z0m@S0B~FF9OLibu`5>=<=$2L;`s?%SXSAU_#Wr8So_MJ*KeS;MtU4=3HwGF1 zxl@*)I#-*k`@eNw_cs~UJ>Ok#MzWtDFO`eG3MoS<3ts`5bG$_V4wt$Y(;W_b4IQd) z-|M1m;4rE+ckMIN%<8t?&E>Zu7Sa(^ zq;dNSxKk;7Uph0+Z+1pE$KdM$Q0fqR+(>35s%xpmd7{k-nQ>3- z>;+%cDUaq)I5nOh+E0fF$xY8nj^tyf!PjL)%-@2-BaxAR7hX2q(#vMH&y1z77o%FZ zCP4qlq^^e((=86S6WGHm6DD6+>d1E`-i;tkF1IpiAR@`~-Z#7IwC4r+w;dmSD>l`> zTI6I~j*$<<6Xcj)Dtv$Rw!~%saI@--Ff#+kp*pmL>Ls{#WKlmNkzoLO;kq*Ypd?i+&23L; zD2uWZsfnHQKi?RvwbXPP8Zg~|u)SVMLwQd=FW6f`mUb~3!TauS638JipsZsHH^CFS z-x^p%+;0#}eh=f%L9=j2fv^z;r&j)1RJ{jx6_uop+hAwe2x3Sn zT(T5i7CdUv2_uA_0(VD1LM2Xb>Yn@=5uHU#fs34mr9Jb(XT`>KK_;XQF-8>Ef7WnyH`sfuQ+V=Sq!$7N$x~%Z=OLY6@x3=pHxj`K zw|h@luFcn_lJJ_<@;?&QylB|~E-}wTd?We1w69g?NGzmA!c)n94#L%5>R#$GeGwWb z4NZPe72ay(Gp}<^nuOdfYjR9Ro@xj#t7&9?BHI+2<@NUDW;}2CqwQU z`K^Ko=$Io%TjVtj1F88a4CHlh#Ovk|{;pc5v@m1voAoD}R_T?sJ>ABp!GcpIL$PLJ z^_N3;BTeomD8?|oWtW7;ikW)3&*|sBA_L!A{-}mg_dR+WuEZ}SVj~@+)=z^j#fBXk zAoJ3-O8-8JM6-$OIjqVZ_V009@$0$L{OdtEKir&)xIE$_01%RH+P%Eibw~LbPxL7) z&WIfh%viR0Dpg#7&rQyWoW@;wlIs;Yf2Fb9apC&0>mXH@PFl|R_SBCGxxM*`%B&Nh z(->jNk-?BdzGE^%Qduclgem65c~-sOZvXP$3YG&^PyS9>K35wC zpcMQR0P*Ya*QCuEa)A_)E@z$){!?j(eX>lXCM)YD+=ltlhcHZ z=0yrIMuEwLUFrBTd^@gJ3K4++*}68&tP#crf@nCqTnD*ch>;YaY{|=@>E%Z~EfGBbZ0J|K#j!r__tBw(Awg19yQR+jPIw&tACR zA#Co@Z9q!je8+o`bd4d3-NX3F!+jGV&fXlXv;oJP=7#BzoO7G7P*r{3Z*-?!2?QIo ze3b=K8WH{x4mhAV?8lmp<7ZY#6{x7HGag2BH5{itk;ekC|+b@?pD~X4v@SS z<3vo^WN_f8T!GD_-hr|KU9r${s-{kb?f#t>qSS&D%l zmT>loI37>+AI!ytYWX`r5P!gJZhD!~An$P}n4SFF$u-l0qo=^m#9uFGg2O`?tU05= za}roKW=lueZHtE!J~K>yopk3Q%&-{ZRw2Y$J_}f97vU>;{^RZH@Jj3UB1*yaXpbLc z^aKXCA4VbwQHMC5;_&SL(72+~-{MGyTQ=BGoF|>odiToTQryTRvIb*j00`Ma0UixJdcHxea@W39fgnw81ZP4(?ZWtuA2^e!~udDd}V0bgf zcKfJZ@Z?$H_NAlf7ALH71!H(O#cOt5CP&`4pJ+EZ0m98Byc#!2=1UxYX6z%j7Ed$M zAE7z6uIgDIN}Dne0P6_F>ZHY`PXfU;B_e!QvS}nDE2l#riljAiqIdAjf03fpdOjW$ zueR`I=ZZE4>3d50a~;vpjJ$X)C~x+!ksisuo@we$I|TWf1gN%Lu2gEzr?}1hBpe%L z@Gdx3ww?WbZqA$xmi}rF{Z+8Q@N6=kth|M z32vd84w-2B90{tG4!?%d!dn0C4vvmlnSZqGl7E1S?rF?2d^Bg4svffu&7Gb#daT#a0@=bV1x;vCnTp1`Wo!eRoHwJhN8sP(rt3zveU z7J9Gm9IW8h$;>Q`i#@ic;PU|#iG;6H2ntR<_ebPNUlB}?&&vj{CNnFdYAm4J^=^RN zDaj(Cb4ea|-O6-1JbXJGfdZMlyvW<^sn;~Mx<2k~>;BG1XdC)lUQ_1ga}GQ*(JadQ z)G;0s5PdAM+~ozgyt|-XT%ezcR)`#Gfv+ShxEP;v53P(Ovt755M(RhiDfvGFLiegz zWB}=A5dfm%W#Mz?^#Ng*=q4O^D%o`<9v@eE)O(@k!t2aEq&?WLpSw33)$G7I;kD0M z51o2S3btfvr&t9cPYp{eH$?cgo{Os+^a}wJOr)oB#k6(s^p_?lj}S#xMwP&)=DaVX z-|IMf8Tg(!zg$%lScS`CM(1}(WS~s-Ed=#wja98E{_`^qF70`yaUCuSxy1jIpM`RS zv{|2?TSdk;KAD;9g)SOl+m-!_qg(<@r7O|ee}?;^LZeE#KT`>FyehKu?nwu9nY?@c zE|~0?=_6qJ-ZbW7UR&f_uEmi9NWh8@kBTI`$xvH09AJwHkIAAT%spV`w_ywyxrjO6 z_=e>ejVCyzs~tberB*H6#Kr=%ik-8nVWo#2fH~p3pGqeVIGIYgw94I=^#s0sb zE|7tUYi1sw%`+3&`_jFRVd7_zRO2-B=)jRs=9B@Co;1y9{oj{Li(03QBE9Q*&X)(k zQFmgfh*Wsn+KY6ri2HoK|NP;c={kZ{VjmbRrY*N0uN6k~LYU|vIHizbvaA&B<#>*5 zpGJUyuetj5#bQ1{C6RE{cB=xFs%A&M7X5On0+VS}Mq@~CO92S?xQ+h&==;3`=Z_PP z#LLGY{v`=Fx|^R;PUh<{3TZ~M9YJ^U0n=9gKrQvFil+;^M0E1E@<(qi?+q4LqU8#T zPM;`|X-AlH!Fb38-CK%7J8TCo?(oSM{<({$^X3S+TgBM@U8&AJPaa#cOC7EXhaLth73jOq(LrF5WD=pfEh2U^{7!KUv5=rEhQLGPS0l0bHm0` z`Oo|WAmH}>C-$%$L#FNXOH%;SyKtjUq(1;u>m9$Mqi8Nc1l{}5{`jYHoZ6U2^tcC3tuDPC-F6u4_qoDvtfgi6(d&Id zfQ4J%s?>LRG&5Dv>923nB_f9&H0b2*h^DQUF~KzV|H@kMxsS4UbmNCoF!6&5>0+Wu?inl~LS; zy$r8Vo&A~~->`f=yVRXTbGTFQIJt<>a!hzLP-glKAFtc>({T0d5X~KLQZ^H1;icE% zB;<@816`Gt)%aU0lHj>=#;-2A@4Ch{rLSHM{~Ge0v8hW+}j^v<|Lfs z-+5;Q%e0tG*tAQA-_11ht8Wf#UCel`L8aX|=N2+Bu_S8}tGyT-_TEe-+R1^@DqMJT zUaE^_*I>=Kfb5$zZoDL3xf`{Z!?Dlh{&Uo|oI^_gMs(lZYR8HSGgWsBL2q!N31g;5O40P*5x%ys&c$+z+wZId*3NI* zdkTtMvr<_`<oZVBet`BhVlCwdPx#CJ2>owifFNP)&P{o#s4 z!NZ=pf&^Wq8$#ytQ=3WZ#t4&Px)Oyy_C$OdjoX8)^mgW_jbS+!&iR4`#nGt(H1)S? zaAqF?#qkme-7B<|x5XW}c@I>@4wCoasPW6Z-OdsU z7r6IiO5E(c7Mqb(!5}v|_x~X>)Ukaj5s*2Lv4420yJdt>0hv(Y%-o?C?_s$9+Zn-&Y?3!#n;G+__eiwU_OSi$j!z`~FMsJOxO*J2mX^Y=I_t}+2LQe9U8ugcFM7pu(6=Jp9&56QrizAWJl z+LWzYU&lxD#j@kiOWf3oZxLB9zxImvIJawgU)UW#`FVE{M~(C9m|E|04WbMRaY_JyZY$lw2GGvHRoUVI1>I_QL zz01o?+d&4uvhsPq1(g?uk-M-DtrOZeuVwCsS{zaX{_7+)cocIg&PWBA1&&d7Jp%w1 z5=%E|J$0*uUWLC`M4$PW!Qw2V>j1>3BzsxvxohkOtJGga$v>~TH z`W_puvfM2ioIZAAP<gAx5<=j; zbB~Auh-LE|Y8`Kx!6U3NWe8gK8k4odRkOjX#kaZ9GE*YfS;*W+5L4)3vgpq6_K*I) zW+Fu`%f;?hQM=FHA{-7k$!xUw{eEZ&1qx4Mi*@4Ab)Gne z^W=jZA=Dv_U8}FLSs>UI=`ul@p;zMjbZTD=tsDkwakZojS96w}YT(z}h(o4EA9c7- z%?7gMf|fw!VAC9;SO~R{m&S^RL@vC}`#6L50#MyM$o80jW}d?vIj`2dFbt)=p2>(l z_l*cS$U9ugNoQte6oGu-;XRxu;wRHGc4`Sn^BtS18b6ofZ;-aTyVy(3U$XdNCj4{t z!=oWEnrP8jY+?KMwz>Oi(IIcZkrl2FPmJ0l=;`x4b%CX^56&vNo{c1Rv(B2ldmqJa zQt4yfrD*nK3CW%Lw!U~XwKlX6<=Dao`gPTH5S?=gX@ke!U4s3!h z)=8$0Oz>H(m_U}-1$M-304}9SnYsW8d`r2E+1a@jPSZpZA1Y!5Ct>&gRK(TdOp`?> zkvHB}=R^_Df*EfBJz|Vgi?iF_gHFV)hblB_Jk5r@yMO*w45)f#Ep z>UKU6Kd3Ibo1QPdZLAoIo_&|LQ0kzWTgV%&4KXb@1_m4AQo}Rc@{9kd1z$9ar6*wv z*S`pvc(+O*bNSyypZVUs*9=m3mgF6cW+&N>Geh_p`ya;UVh?L4RqBPC1V#5t-@nVu zgkIfE5Umd0Y~MEFlp&VF&;9uibe6`*5IvC_x)^evQ1nQGNw_YXV!@*R7{Nm1QoP@b z33Y+4vFBV%x)!4(aClbIIg7MOK?y{fKkh5ee+!7n;6GiVzR?-Ed$6S7pD(P|JOwi51WXP$HCUBn*J998D#z!JM=5gHw{wyTv6ZW+*b zxZr6pm#9gGx=`4QL;&G#mi7610Qypzb|;Dtz5&#F7~HR0V&LJg@Z^`P|6NOF_h!To zK75ZO{;S^sEyw5q_kxsYZeCAYXeYRL-I)K241=4X1C^Zi3>~!X zM7ZgHz3k5}q>er+i1)#Cpz(&TRdi1zVMG+KFp(oQRgxh2MVQsdkUCTM~wm!PrIPUyz_KB^c#U=$imYpGUkI_x#2w|In5(G)MegAT@|EGQ{1iT56y0PfAG zh9oQ32I#%ydS+a_BE)sJ9unE5CF!S8A5N8bC3{ZRQObILqcb}{iy|&$QGy0F<@d;M zZMkul?cBrfENDFexnX3LQE@|YlB!J*W`)@_9z_!zo~<5185f5A}WTwAbm{=l1Z+O@cHIzsTJ3e6X+Bk7z<* zUu@u8+|(@p2SbG1hha!mQu-}=#4hTk`w(4bZqGQQON8L*j1!(6{IUm?E?})Hd0#4x zB9JQH7VKoh`JQ}F3GzDKdCMg%T&qyvzBE?}x@`Fzut`GHk2>NGM;A*?ct$yzjwGM4#fF~zbnBARMryYe&{bWEL0 zw`AClJ)U%ls@cnM-$pb1edhFU@BfFd?+(Yp4cm?=Gh3muv$LXUNA?N{DSNLd+1c4! zWUr9Dl@&4)B`Yh0RAgtb@4Bhq`+moF9N&LBD$jGTYo6zM?WW9)+Nac{xQ+iFN*H2Xx<~mS8nGOXHcKamAbec#}6L^Nw6R#(=Wb(PMRxuj-IN9qs zeUCAQhqZk9#z_Ihz&Q(9!VKi$Wte_ru&3)>RXSec#5gq(;z&-5<06}BWn?YSbP|10 zFkKxuiW$UJ9#JX)7_Kp}urI9?F7@745;Cg045*g09=3pU!}{j%d-yH#OZ?(NUPSK4 z^tZG@Du|0+*;-rRu2>mZneOD!vAO$Wx?7B}J6WLu6KiEFf=;#sA=JkSCZftryuvA@ z!~%Dx`_xgf?%WF{^ScW$m|XQVQtitv=(>lUmA(HxJ0DX z`M42?ixC zlzFVHK&~nldkvT+cMj!tdaE~)n=rk^ zlF^p80z7O$D-Q1L%-`!caZ~|w6Gw*aFSQ~SQ7iJ1Lu5BtT+xj9@zVBS40yaDzwo{) zAJnUv#6ur_MG7=ebbn(t=`P6b>d_7IdxGXJ`e0n(cSGLGrZrwWg>r1Ff z7{Wqdgr7xtd9?d1SPx@Bu$HE*jYH8%pGokn-8+&j1NPe(4S6jC%87XW9tebN*86gZ zD^IN`1tkC+#y7z94;*h6DJsZAI%;K5??`}1ViXl$j6ut4sq7H+2UaAU`p}B-3*1)b zh0xv~g35EEiExC0sOg=12ZySq*y?&6j&}LYc2j@WFH(|pzpn?$7^ykrJttdFqFa#7 zxD|G)PPv39`XqO-@(qfU6xovyLS9aBTaUjB5mqOFOUx11EztEE4@5ooz>awVm}4y) z99&!kG5s}CRYdr-fNl_YM)4HarUmFfi%zyflxI>WI4b@~eo}JjT+xFOkRVEp$iAr= z8BR|`ip~05Gwq=VCG3&oqIQ0HdiE#IQWC|v z55}@94P*`l7gqak5?t8s>fXC(bLYeI}PY^t@53bZ->7_DB)T{E2 zyw!sEzvKoIy5wR#8n=fZ&msxs5^jgxr^infH?>2#ki@X8h)C#9IAJk>YLrGkt%O&D z+hwl|!n+t5o_2+rn!|N}>&N5kuOQW>vcgyAssrxs3?ztU$yCEL=J7_cC1Yp$SM1Lo z`Gjz6bZM6rDD%Z>z`MdMVk$kgD?p$lKk|Phe0U}^FRxE?YcUvJ3JJ&8XL#$VA^%{G ze9nV~wI=yx1Ave|6u!gHAh^{`3#A(T46ao21aaL{E5_me&Gi0f^$`TF^kI2YFRHxn z!_^*~B0W$3TU)G&nGbm^XM>+ryMRzF9yyC@9b`Xx)9Gi>X&vu75lBGBcPai(0y#`1|mmQ|TG zTq))KpR?VniUO7?CrZ%S9o}OwJZXho9wz)^_;XSA7$G}`+W#}f@bFF!|3&$2TRN_c&(l}mCvL!aD@L$A%|lv>3l zyRF}~2jtpalABwg3wb+ZlRAn;sWSNtf@!Rkc3;I_9|JVreC6$aeO=ZREQ*%bPry3- z`D|^{pRGj8VQiX^hh*EN+m-Y2`!gn{WszY_K94{^AR!93g5Yp7&l`5L?t<{8T$>Zbd+748l7eXiS~k;M&uJWT zG}yG{w~P%u3wHF>O99a1*)Qf#!gsBG@ai1<_}yP;2a~|=Edvlf9Lu0G6eI8e1#?JYhp@7M3@^3d4Ed{DcC4{F4`rY}urv7d zo0#q5!Tv_W44`*-pr&xC&SgW8#=1HU*+kjz^{n-Ltyo~ zKyuLR!^-Mk!EZWcEO^pn^cgrBSwzIF7r+ha569>Nu=qS&mzOYc_=i<1Qt|gkli$4Nn!uok0M!EpVeoKw=`RA?!uib#E7rV;hLk=lxJFu^K9P zRs?~mQf{wD=2^C`!zzBW%4Jn?~ z_`Fyo&I)8g@u*d%1Dqm_&hWQ1)mohcGmaZJ3(jY+NPG*Wv8cA6im=eD*vf3{I$7SS%x+P=kDkE=|H3@?HA{d}eUx_)-j z<5Dlbn|N9D5`J+Y$~MFa&6zA$=ZsbEhTT#wC0(l7W<-4m71@7M_F0N%s351~;^qMn zseB)0OFJFhDRe^D0GtJ_=b->c3^zYfVT6NhRxAfhv1t?veC+gsG_5q6zh7mXz^4M? z8}pCOqV_?uM^S;x!1}?M`iq0hVc~k<7{R>r9rn*Oo^1ch?jrKolwe#8MCyho>S9@Z zQkV>PXD&CCjL7~<#3BkHZ`kfHvb4k(Y4AB=^$Sk$t+xSG`O3FW5}bKZCYPwp8FX9m zY8Lrzg9u4VUI-nY#9vv4kZEx6>~LTQAyz%y;{=IQSKn2R7o~hUvbGpFu1Ed9>5s6q zQUoo^i%q)+VQD5Z0(iIDpOM>HA;EVjo+1L*DjNfyFwD}1NvN> z3y)T&-x~wnZw4C1_=G+}fO<~&9;^NFH(VcMm=z~jcvIPHQt?nbe8DHQ3rb2Fwg4}C z5}q}w?%7Z=A9dqu^!CQ0O;zy2qAdtst%z-hRJ1|a6qQ2w0V|=UL@=}r!4e+pOR z!?M&m=+LV$FM!CINA;Q`Gz@9n4O(1#dxj$k+ZB*sl;{qpB8{V(+%m- zI6$9!r_WQWAvk{*%``yN64ppnI)edPQxbhArN93E?&Rqi6zW>J{9*!2e6+5dBbcZL z-6V=fNx&jd@nUtsaZNIVMNrdb;Z$sqi|K(SSL67&negUXCRS4RGVA+f2@GgvygI3o zjYmbw>wd5^o&ZRqmp+yd74eE}y;sUNX$HMSYYfBmY!(JDP!2}yHee&u8OL#%;t_<4MRM=;pcZ=>R$WI~%8fvYG_K6)Egti}oSsSeO|B#WG19m|e-pF!EmLdEofy~&8*tV8j z0{Ser!@G7^-|;(MG!vl0K`He_rgi#Wd-#D-PkD^Hw5{0HB|6lGe4mwN?{Y4V|!5V-%9o{BeOWnIBrzk6PAM#p3@v zC}P5+)RVd}8u}YI(M5B984VZBFdR7=G7>&MQ`Q#{S85*F<7S&s9{LO_bk}NesPG3-t$fTV@ zCXM~?n|Z5tjrbW=!4th`yshzs!{zLOLd1to$RP!**NEJgj?ZD+fx1&1(B?iomSJdv z{WGfa@9{){+C;lnDq|Fz{qR1RehrO~Y237OD9OcxfJ+=gJ(Yir4n@*419|$u&!||N zjf4fmd2%{2QQRVg<$Y_2yEI!mYxR3EB?Ak0VKLBAz1oPwrXxxhzXPIpQt$1|v z0MCk85e1Rc*WkKY!_BiJdkKVDIx=+gsG-q;+uMx;fA$fDNG+;^Seb;j!#kW;uL-MW ztrwb(R&_K0DAz87>7EHFC_#|h$8xOLZ^r=d-i7!#bqwTm+A?F5fp>Vp4oA0}1!Y4J zJu(WR-g?{(ZYDY`ZJA%G?%dzI;GKC^^BA-etO8F@>)Xw>0_a&8oo85CSKbXlHOU(Q z5}ZL8u`#MZ3;Hw(8SQ&k02GiKV;FW1gsXJqM^}yv^|X~}2)q~r$Y7|aZeD~n{J?6$ zY-BK;9?iK#i-~<e6Uq4>PtQA7*2yQwmNF&}ZBc0l6=7Vil{0sd8XD!D71Gb^D$Yq}FXKB3 zr;fk?u%7p*nGQ&;Z;D*7m{nNJ3zJp~`0*5qOuJ1lQDL5wf19F=haJ_iY4a=}pNe4# zYKBzU!?94KnEOVjCz1XR1hVJXl|cVifRul_fY-2{xJIB4X0OgaTJXT@bn92YGxT<% z(auVHEh=UA9e|`S0$DybmzdQZ)nE{ETB_tqc}UFcARL-LvX&p(~g!3p1x_f(X3F8vFak95PqP@Q0Yt+xUW#M;jhy5NGK#3W42S(hKCD zCR4pnv0u+R_7(D(LMqT6TI;b@8X%SOaz$v9*QjVwV2~YtO zay3_oQP))i&V#Rwq2METNc?Zh>v1*>QWT+e{6V%H_|ve_1Pe$uj}fAK2cP(a+05$? z!pzf3b5Dc=x(BCv!z8@mXH@pk;c%D)&3Z7otsefL@ohE%i(Wxz?eHn4B251bxvt0ac zF>_cDs>k_IKc|nd(8ohe^*5EoXN=@9aiOS(C!QFq=ESap9{Al1V zGg0o_YAsP(0dut_-jX{hZZ%MT;+o!D1FgY$q`YAXdA&v-O20ZG<9c8quQoTz?Xe}t zVJv;jE~@fr4?_ z9N1O@I8MzX!Zm!73?IMCe~qdRR3U{W&)d&*@LWQCc0?cW^f?aCfdn2c`R7*!8}Co^ z4d2VLtYg-}^|Zy@_fdTvcqR8w9ghyRBnclP($nB*>z)}FGzZ&p(dt9y{zu`R-^K{J z;)!%MtyY06sQrl`3EaU}CnWBM-VUF@0bDceMHuisI;CfHY*HSfSX?+#?S z$0Io?wS+oe*7T!qv5XiJ^Qt<*P~;pSICrhDI4fH2*~Z@$xS~3$v`Z5q-FwF73;d`Hz|MDo6Pq3d#1TQmMK^NGq4*XK8QT*5`4OhTYAe zAosZOzR`}%BetB%cgF&b<0T_|b9XU>u1MbqiQX8)S0g$#bjNDh0mg?!V>&ECkZ26D z^2VUJ#{S{U?~?&+E9X^smXWVS0WKw% zvqb50Ya&&%f;~KTL3j)07-4b{Dee;IR6g(vkD#TI8dCM3Nw{=cA>;RHBMPYer>T7k zg)CQfXZXqBm`o_H;BbY8i?t!}HnY zF;SsxD3SoKKxK)SxNMBA}6N4AN-?rRBTZaLu%Bf|2q*as`!g zy!_-RC7SU53kfH|I0>7DwFFAUCW9MLfp-8S(a}iecto|6Da#yS^$G6lzHR4?wTqi| z@xxAL>42c>?0pR^Np$a9p_^@hnh^HT>ds9NTm$i1R8$bG_gU}s@M9-@@%GvPQY$)fsr2gHd?;c2s7g*dss1|XdMyoF zYwykgTifMI#ReE5UjnDQsJUSbkk*U1r&gN6pQ9rC+2Kz}gA@%!n1PBw`45Wclb}9T zp{)k71RdMp21HHDcujQ+Z{}VgI5ol9D?IH@e>**3IdTAhx-;$6dABSh5dyfQ0TdT9 z(Su|}(Lq|@Rj1t@dJZKo$58B_WoBN#L#d^e3xzC1TiGDRaV>TTE22Zb)+xL zyN}rAN11U2vf8zwS1r~e?BSd6!k&>ghyDRVT8_lq`_-pP$ru^wKHn|c-+TL@uIzV; z|JXK}Y{k{04KvOAr8Bm`VGKl$@q)hWz1E^$C1rlije?4IiSU$Tv?z#pjo&{Hi zs&*1Ew`6bbEqd6HYd0$xvG-_^6L?5&LmA@xO=(`vgC|X;R0hxyb4AqoitI=#}vFBh_CU%t5+m z7KA3NF5}Tld=G~F}KvZ_xbmJn*EbfO|r)pn1|o-h)8WX-AS>E!=pXUr+ zu^r*|P55&h@Jhx#d8w~ADCN8Rqby9e{RwCR zbON`)s<3WdOM4EFBmaSuB{(zs0v;)`N=W6jGoDb%+II;&zY1iXE=c3ejbE6(>=B@K z`xEiC)Ev5VT<4;~?LcZQ9-d5@L-1cG0Kq6-@KcfX_j7Ul`8H?a*aLyfo1wX$3I9Np z0zwS+w+=t`Jc?m*T-s%Eznb~+40HCV4nu+&^u59-Y=M5Q?MeUhJ#a3Kk?vnjznU%Q zlO!l0e3g~OsEe5fj8rDdyy@hAtwGO-A0TdZyil9fv-TY;CbZuj-vLd)2n88CN_D@!6r~ISkR#YVWAqX<=k3v?y1~<^ zw=Yxybv$Y(TLfaV9_Voipd!8E8j%t0`M=Hyutw`*?KqzA=wU<1z#{PJouCFO+jl_B zVYF`AVjn-3Zz8m0Ti@OTjo|7HQ)N)&5@i^J03%u)QOoq0UM@g}mZgZAO#>VmHskfi z00BO%G($!Jkcwd5z&v_Seeh^}EQz*WL$=L?a$lDJrD2dCLqB#08O<1EG_Qaycn3d% zv+4wChxSAnRjY6sSIr<_CLF^MbSOKebcUuR^?7+8f~f`AE!r6@!afPh(o2LOR(ux% z4WPQ%NG;&_;}2WI5c44XhoG&ats)ihO!Po{j^7^SFA{)0Kd#&C@!z4)vBTp(Nzce$ z8V#+Mn`jTr)1#qEX&4CybfHT;1HK_NS#YyTv)BwBdSWf%Zuk;l&(wo0>;yiSegSuy z_}CfbopC4iu&P>6D}wx%0bJf{@w}0I@V>FjXl|x6b+X&=Y7i9_EQKQx_l_Zp3^H5^`v+>N_}i zh7+=O@S`AvX@kehH_1z4&MlU<}e>m;?!hOb0BO5AAU8Od5PJ z(7aNVXB|`z(H|8V?F@d~V5KD5k#0>V8eWD}YShi91CT!EDk`;3yYWKta>V|>Dl*h3 z07nX|n#@!ff~8!CRSl=LRltwdaI2}AbtA>uSV11QqL!yTm74_N4t*;lJ_(DsIb{~uh_oTb%Rqw40wJ{r_c*pqxz=U!E8!XkJj#~dC zXaAS;(Zt;}p!EsXw7Y!;s@({hAvj?N)0x9*!Bzz;Y9)RMt1yK>!@)>0U8K(#-pH5@ zwjjB0WFoNjdrE%^^-xf}fF`*zlLN6b8C6UbfZ`$B_T+E(5SH=(*(Wva90|a&;F_^w zT?<6Z_%Q`DEkW9}#l=m8(v2p!IHBX9?wMS>^4FD)K_HBF0yo#{Hj=n6gLX|q%HD4i zJ%y<=|6D!sv&6$r_p`IS*pSqaz?*)C!_)%TaOlDWw>)-%B+Q#Z?#(a&ecH$*$SuzP z`m-o`u)&~6KLt{|Jg9Mcbv7sC_xzU{N1HNG4?!p`F1ad3D>#9p((YTV-DL=~JVO+| z(1qKBjlX)Ct_xx`YDV-ScOGqf-Fxc^?~YCzyLAtDqM(5H4-Xr(1jbI-4i^ofOd~% z;-b8n$}6z7x}9_dc7BrWxh+k=UDe((*kRBtuXbBviJoN>m*QK0?7^*OKq~Gx`x=^6 zT|jg-oYOYTijfB}xI^5(bRA3_BC*D^v;-zJfrS^unbvBb_)tOk!JZB4TJTfKVt*o9 zYnPDIQvOuqzY1$a!(+HeuaX5PA&c7+Ot|Cap%w7<67 zg#Le<*3F8_uUgs})9qlonUIY!o9u%hGo?huAZBP0UdoN9TMOJ1yN2JKo8WUojecT0 zucLKO3tQuze=j*7!vbE*-<~1Z`@^b^xYRvEL)dp!FkTU)PhP=kz+V~SR_k6B>*6Fh z$@HWP@J8af>-}%;f3@mex@Pg|1;D44r=Y5R6k4tzagzaR`M6 z6So%V3*f8*LG(9+H8zv>&`v2wJ>@oB>T_1mNt6eThcq?&U70Kor5c6x)i*z$+)n^^ zW+j|>xC-zIsha2lOttF|Js%TIl?J;RXsED#gw0pS-3+RSkWIyo;W&CbFUaND^PKds zx@N{sNtdq&hJU8MT==iWawzF(!ZXupVq+=*5h)^COIBWVI}H6j;gZ@#wv3TdkD)?% zni`ov?w>`2s$atw6*ksjYQku9txe?9PjOa1Utmc;{~MvO!Z{R4W^^i; zpaQkSMGTLpiUgh?>rSt9+aI_Wd@=TU?d(G>5*GgX3dciuoQHc64*Ep^G+;as%sNTT z%8vG3E7tw+fJLb=PW&{wvKelNxv+PwSDrr}LMg%WmM8c=`et)rP_#Fz&-}Cei6pjd zN#>xJ{*gf1p1xZQwh0gx4u|stvq_cZJwfRB`J)sJXB0m|0G#$Gp-oU#IO3-;qv6fA z$jE>8qaDUtkG{Xbwj-F~OZ*cJb51gM+6H{9XsS2Prf0oVV4ZhxN^c?LJXJK7jNf~n z?bmS|=A5|j=d=CGoBy^22Ec%($HIHRd#2DCRR)x7MkMa7BWw5o#&dZ4PIysOKmEE4 zFO)&|%=HQ)-yz+%|rr}v*#Dyu*%ly9mvgda?ybFW*E zzKo6;xJWw+h1Y01#c>T)+HvahBxpuk#oRW&$ZcDJ)*|hnq)(3aLgw$29a*Bqf(b6f zydQ*j_kVw2^^{`8GhP$H-{Ktbcw}MWG4c-`ZwBcB(ynse+7N@o@tkFPqa7|!qyBv| z1v54aoq3ybUQR$>!~BMyy>DpApg6lM0)Q607#DzpHSKPn>}-3lWF*WfjYEsz|c>mGvjKeRj$ zefu+0vhr*~&`XpMwo_nKj>~@0f$(dxCyv*k$4bq=50Vyozn2MzzXR?d0)3Ftd((hk zbvwFR`C2cfYRV-8lSQqi-kMI!92j@xeZHZHZd*I2=Yyc+PC*_oKVP@;s@1*FR1!}W zE!L(KWd@inQPLs@gWs{*jQ;)VX;8RAy2V*kW|y$8p%UQ7&fklxx&>Q};<1#elYRo6oo%~QPGC8D)RnwL*3 znYHc=p^tp`VT4P_GQY)VjQQPvE+_Ej;k9CmeDn+dFmGeLwNBt7-fdG)d2N!Ed-u(? zW&1Kr#hPGZ{bA;~&NUToQHb~ghesm0({D{Lkzk%fFa{RC4G+zx7jBTAmhw=Y@H>K+ zDL)rwOg|Cy>k+SpAr2P7ojB|1jp2i@{%+XAgQp;6@Qd~O*RyJ;J9L^6VvL^w*zy() zHg60e7EF7b&^75N=Y3S@1CY79{czeHcPoL|kay?cmFx~YFAG_{9rrb^yG;H9H9zNU=xDvcb}>YsCQ|}t9U3Qb*O6(eX?f`t`FDG z6OS&Ho}rzdkN)C}=~v7CXXLB&1IL36+OXj1h4kVb82NN{zwe)G6)in9;mL+uw`m}B zyaHFT^)7QVza_)DOPC~#bd5(fp?5N(L93AG7Ug*Pu03R`a4(A~yZfyzMY*Xa(J?Wl z$@0CAu;L^F+aLL*7e~MKQi0f4uo+zNWGjAVx_&(1#eL!Z>?rmCn-EE-tk7xt*iJa0 z^1{7aLfpX`9%XyHaA6%yrY(F`ewm8 zOEeCZQPsVC+9t~nKEfK)Xwufv>I08fPaY!H535I|1A*mC$DRXvT&*S|Sy8W}L{8fK z>A?e{;wMQka{C;WlhX&xm?s$%(?gOF=Zu-PAPf14g#fBPxD9)Vak)EZXXJqT?`xnlO zQXW}yPEB7y_}Y44$(nL9T{$f=yD+6Xq|%%Z7sE=jR24VdH=l)dv*{!FT3O3<=P4yt zs*^V*E8VZ^P4Qg#v-UaytQZ_8+)UR)8mP;P*)1(XPeq73Bg8oT6;hX5+f&m_NzuPJ z#XNDKSkiueF9ebiy|Y47=FHn0RV%z{MN&ai|CzAE_VH+xV^EJf4mlFri&=k1YE0;4KW)~P$$RAw^Pt`36Rg2n`It~#%3`z{ zQsV!$IiT=Y&RF0l$^!9!duoguJ>z1K1l3LXsH1bn#9YW^DN3)w3Wjhwp|J3x923W$ z?GTcZCK)Xzr2H1-@Fp17&3g%St^VG&g`;)8=BFq06Ky;EwYdl?Kz_JS$1o|dM#uAR zTrBq&aw<|Z)?1lTVqI;on)G}B9#)fhCeZlbi$GO{(RkkyTc&dvh+t(4SAx$})lpBn zYw8x0w^X{!;X)q3uVXzue4IM~(#Ef-nDVekY|HbspEd@vT_0T`jEaAp{pIhf6+xuv zb8c+*IB`4e;r4ZUh=X?Y|NOdL>~U82qTTVgIaPNYT27Dqs08x54|Tc21G{UkUFP;) z+x?(kV<)4!YPHpK{oj}EraF3LAB(To`G}rJ<%e$beTGva3{;m$4-fa4CmuZ`-si>? zY02;O-wrCbXM)n_-Q(w7LxUu)Tg^sW0MfOk=MUN6^SlVaMG+Kwk*Q)iq50s4XIv_u}^Tx)-=|7KlJ{R;}e-$o1=TLkexqoKKNC` zU3Mr2$ql4J|M@7>CU1D=Nu14M0bs>xCw-#ocd z#m!p#wPmN6&%1PO=hcco0Tt=lj=sDP>Vy{0C0|~9zT66n9TmOwUt3lhK@xm|rI%G9 ze?Y8A37NH?x+qUmkcWBX-ESiQD=o| z{>0qM>HC``X2fTQ=(_2#UMeP;3y!fq!R?*ToXOS(s_yj-MQoZ&sSs6kU*^zVpCV7tKs3T5_HcktIa&M_L z8RB+gPlSs|gs!m>moutMLx!sMIGBj|S;EtXiIKqYZwE8ET`HWzVP|-o93DN2AujK! z>}g@E1;4GrBa=q+I=`o(s2}&jpVya|L;eyFMN=_Qh-asCyt^I3-b^$Vh2nPw$J*&f znVd>*?R>^|d^u)F(4y`@ug&>zMa{c-^t1C4VN!&g9U8z^zeM!(6B? z`#OIwsN)$*I);!jCA=P8(R6=MZ$-z?p9q@{O+qgNvfcAaDf7q6Wyf%aXPXcw;T@+m z8ftn^`IPXF`IsGg8_J#fx_KO`eVZg%qsc!)+K%G688}qqWdS=$9{2NvTlMX3X9I)< z?l@f79)^j~>r`RcM%c4(!qoKed~vdTRyTvL%O{fw9_w#WoB+&cSj7k2lR$O)+Z;I=DqOCL2l!^uznSlo`WQO+3AgobYj85i!w|H zA7S$`7rLhB5$@#ZsW2g!;8FZv4hX0WH@}GI6WmKYPN7f9q=>NQjy)2qS9E>^ z>C|NiYzByGl&FH3+frWq^Dxq}Pp>0NN32i<9P^Pb@g0WOd$^bIZv;HZj>LkPP6tRP z{l&Q0D@2#S9>a*d9$Fj0OPBU4Ge*joFG!cj=E;RmG2Uh}bC0GUESvQ;8}t zd;lz*=n-#t0|=6G5=Gw=kq>?}EvN%HmQYmvzipR&dk%(9Fa;)efRnxe=JXOSXTa}$ zIDbam*}e!S&tl&>sHzR-Lr+;okn#B=H-IzF_>1i7-5r7UrYowiMW6f7dlIhu-MrF* zg?HHli!lk@tXX4|weCbP=IkCRufx4;PS%~;*%G|Cm0^hK&b}nQ{=MEJ;4;zu%1gt~xusF9Ktgl+cV{a#GPNL%{^-{iS16NuGBSx9tc;+Q?C{10oO z7mo07ml0?k(Em2_P{CIClq}SRV1CEFHs(hzw+v)!uL1R+CBH3 zbuD*jSvyXWRSwczknYop-taj7b^meCyN>VdCo1Az2S1@D#7OZNtUITmfRKRy-X;2a z*UV~@E%#L70G{PK)Q=?WZ>{Fc0>d3_9mL>i5E!n+%uen zS2<8F<}Cv1Ar{^$h$y^360rM7i7}XRTw4J#g@EODH}Cn6?Ki0DzdL)UfqkwSxF43r zpyya>Amg@qI0e)Wmu)33_jxt#EJ??>ljG#n#Y+ExGyNB&_7{`o#J=Q=0>r=CAOB$N z`>T&{Eb+&;2pqb9goQ_7WOQTw+dzGK*uYmIUkq~N#8H}d2^BwN9>^GOoOZb8w6Z&X zu>ZvsK${5JD3h8U`V7}J!UZ_qd>|_pQf}zPvJguua!}Qq!sx7!j61Fmn;`n7pF@!sdsb##V4NAIMq|^cNnW8L5s(bpxwHvVH1Y@gdnCfH%4}{h z>1MAB5h))d-HsZn8&8TqAG1KTIc*LQ!z-A7xT^V-(yc=JY$no*_-VsjnE8YmPAwbR zdFofU^!@Z7`!Fx~^RRzDi`4%^*buNL0iiHk<;~tnTnHTA3kaheg^H}MN_hjZj>7M5 z-=taJZ{qf^XRnC+$+7Hj2zwmthcsaK{Vj}x<&Q*115Z!y5VL0iPfu%#a!wtGs9Lg4{9DiCACd=c%6}s0K_GT#7sV~%axYZ zVwMy3h~sk^&U4b!DJ?TQjDO%@ltx{V*8pPn4vVOV5ns(SfVs(|DSKC-<{`12fG0Of zG_JA*P1{Zor~$4tC^E(YO^$=$jzpV-O$v;UL-hH)_Ja)Cz4k*ED}aFWuAKgk;W63U z->=D$lH`JczdrtXY3prEo!q3y;wn*%|C9~3z(4bda{t3yu<3Lg0FT{hD%HSH z%VWr0s>6|n*sUgo*8IQTm~)$ju7ox9jLK)B9gt} zkRe&wTTFZ`{{&}+(!!V2v7$3Ty82QJd@RC#rUAg821gWkgC3nDFcNEwF!H0Qsa6NCb2hqz2TLe^GPjTtYsoPnWKPhU_IEODMSx<`~ zhpW9Q`{jM}Kw_`@T~^=gzFwB%>s-}-{1+(w3Wiue7lc@`rtSqzN~W4!%w-fbbt$>8 zM6sKUT>q`;x*KWERbTU^zvIXAyK`mkA~DkxC~VNW%kS~=dq%5N3+w8+PtwQT_V1nx zGQv8IklRQ3Y8%$59Y7yK31xceyD_jHav5%lNd)N^UGfb^s<6T>g}&}wk@N6YW_-vL zc@UPDO4sQ+>iQeCrR%V|06n8CRm{7is-nLWO#6m(Eg9%IupWGvDz zfRso#=H~jq&HDr7k&7qAhXPKBNWbezudB72j$laE7l9iR6GQh+x+$@S4rx>+fDC*s zXUb0FhI#k+PaBUN?aM(CXXqD?)tQgvPb{W#-i{#xU~Gdt*L71~9sR)VzK&RF$vRr5 z3-4RSBAn% zcWpvr?M%`Qj%b)5x5dvo4ox)pQMdPJtOlWaxTn1E9m<|40leL)?+Osl935EZt+(ek zF7f#(6=n4SfW!gW4}viaJ3K0_pI-romwyHc943J3b}We|Y^j{SsO=;mi%XSEPo_}J zeFKqryQPvpuY4cQ=Pm}F&mvH$jqrclBgcL3v2QI0T&jcUbG?E$Nm~A4rXtCr^slr z#N`ru0|0pr%6CSLcHORx7Pd(4|IfjdAJq*~WF2o(|q5qn#6~4Y`W>gIWTF{&r zjgGnc<=18$*#Nv6`ROu+usS88yOP#xPKef|ZTic`5tIt7Ba9ZmJ25SPP+~WLY+BGb zz~f@zC-;Vx$0D0zgKKWgMLf&_b0}G55z#;uQ-4%0B@{ z2z++d+|qva{`ULRy|4QFJMAEp(LLSLd;)_kfV=_=ze;z*ExGQDYatF*q0y8F(ZMDa zGW18D66OaWFIlQbrUh6VAHWIX{D_?We8rc5>%_136LhafQdl?hDUJ4+O6UfoJOEF# zj=N$WwC9X>uhAkydcW!A{g;%6p8$3BM)&xzNBuyoq*k#o0H#Bd9Y9LFM#U1F3un&E zc{w*0wD`C2cp2Zn>AUEdKp((^X6;xN){2)4DK8Dpdt*v`m=cxIJv}_Y$|-Yp`Seut zN`-Uh2B-3UrsVP$2y-##sXFg0MBf0}{|iJg?Yz`0FZgoi2}fP~I@7U!m#k*t8HLr+V5xtAIdKd2gm~x5PfpIaOnAtx;E=OLoy6 zc@}c+`hbw3no?ZxHX2_4xw*>~dgw1u6d*+Yey3tUD=)43Oa(hW7Cx@H7~X0z&PRc5 z=u@(?t!!b9;?{knXWBZ1T^%}OQI(@`EL}6kT{JcBuvGTtif=F)Rf#auS-KV+WI|l| zT&CqB2PjSa;dR+FJgwymLJy)!Ok-}~9qd+N7<$MaTJ=yA|C8Rl%3ZAo^)N=}H-m0n zsmDgmc)ZBoFQv4ha-JvfKhy~?a($CZCLC7mxF0tVwM~jw9)2d1X-+lCIsE`)3;b7? zNi(KH(y3x>O2wYg{H__^>Xan z6`3q;73X4n&WV_DFk2iEvl9q#ZQ5Y(OSB!fh3t%_^f*z!+a_cdsN7Be6D)(UA0V!IwW>e=goKO>KE@V zi($(We;Kgsk942XS}V@ccfd`NsbX985_ChOn0BNulW+RTs#!@2y_3F5m&P{*&TZolQtD-G$C@YK$4&9A~xImH)`43hOBW#H`Ki(n^W&CiWMZ? ztfDGuE69l0(Eruy-|h88K*>+4qnDwS##{VLpL0{4R=nPb)j5Z5F)8gk*gzsEm*$KR z8&llgDTrn2G_$C3#*8fdqVHIIg(f=t%t_L|SIoGY<`R%Fbs@15?^hOj+L$3XM4Kl4 zf9eiFP{$sq209F9`gg8>7F6HXhB@7)l2l!1+gJBe-Psjo>*!WJpOHL~l;(W6c-qnB z%JX{#^SMmv?`dQ(Us`hU3dle0(J<<-EgyaJ!ijb!ByA2+Lm6!ZTgsn_SL5uTn${!9 zWWc2qOW8%0DtjC%;j||rb2Y2jB5@*^!e`+udYTlpDhhO6a6|=B6+6KQC zxh!`$a53CniMfJ5aJ*Mo=?U-JD~B>3RRGs^LVhfHjl@PR$9cA*@yiF!0d(f~g_b4H zQ?J;n?#5_TCU&gu(HUzQHUNm-)ivwWu%fJ&Po+D4q|bFL$(fhM$A(A~A@7p8tbKct z;)xEX3Bbu;yeZT*c5J%MZBw`Esi~s280fr5bbWEvh+ZgI)wK;UfCh5!{{>5iL5G#O z_E;-ZLa-mub<9Y-bwPMbTxzgMBag74@{wZMcQam{AofFOb8CB@Zjil-<>ibgxMIh? zr|xP@vTlk!QP;?`ioVm~gG=T$Gq`zX;V~C%rqrgmRIZ*vy-MeCq4$d}jaVar0(W&J zhQ5k^f0L?vZ(+b#Pg{4(>P|cF&Ng!e3(`X8_GRe1tb6RDOQ0CPn zf9eVonT;5FAjLaPJtaCidI@QnzP~2Zn(L0@_L@t_g><$a$m2J@k+1kdl*%(VAHjGEWP#FM*9^FyH#G~!2E-^iibuAG! z@ob)6f>_1eT680oy8KGX9-5wb13Mi z0Bc?_*sH6(Rehcfwyu5v2I5>fTPgJX!+W;Wwp>OA3?Fj#7+d>h0XI?f5y#z+snxiVm zJ&(OLDQ$kXE&MG&;2ZdcpQcQ`=V7s(V8Qf0p=Cq)bNXwJ)_#s#li`&t_(8WOb@SZO zz-5YYBJ1-IxhkA>(wwyvkAZN$dJ$l5m5no|m| zxKy8y#dH5~l?0+gC=&`rpeqSg>u{B`H9cfFP6p?Rn?hhu$cOjkF{LY}gUmp5 zK=W>@2`)yde*)7@*7iD@Pg0|34ig9G8>i+mf4lr2xMUikp=O`=A$QE<7*Gpp{PsNI z$Bvkr-N^&%@o7mkNc;6G$3R+^W(rF6(8|1r1`>DY#&`8C2BtLqulYg{}Ho#j*TNa>Ty=Dr^Kr!pg?hik}PFDDFpU zl1Bb{LPI*S?{|pTZ6P84m2Qn!{qp{~!YwJ)Xi*0Ga z2|Zbams42K<2CIvcw_19afyNF3yQ6rv5l&f{oHh)UuL8#AF=@>UB)-MZm~QJ zVc3osn_ws|-F_)w(rAZLR*iyLU@7DdzGQ(6sn}e+mE_i0Jw$n?>ANo9t~^c=R|}0+ zqdoi)=bxzVvGRB+il(edD4S)@Z4r0Fbx9X9qT_K?O~0zG4*qx2w$V(hxZR0CFoX|H zEh&YPE?$@8OfZVQYssr+nFO?>&jO@B%9E5dBZ(R4+Zrxg;8KavG70+NQsJ3j{KRsf z4rfGARvTw)`Pv^xYGb09Ja_iEKX3$A2m6LfF&vFuUopGp=YW8%2Z}3;=Swliko+O< zR|C=eW6;yql*mclwYzAEpL5NJe-CGP?0lKg|9 zRM+njnlmR(5q)G{o;{F~S$YAwy}9OliZJohwtTlWN%<8qWskPhP>(MXA)A7L@Tk86 zYX7LmG~N9aQLteO5TkeN`ssj3ob>`pJ+4z6zD|aw7Q|egC-56DRu&JE1eSc`b~U$? zQ)=^P7Lq9v9k%Wf-$5d?=lS%MCZ8MStTdk1-nG;!-UrHW@J)h)fJY)llq41X|EIk# ze}uAa-)9WQQjOgZjh&F4WSi_;mO@#}_C$=O#gc6h!eB(27E4h`6pbyB3Rx;^NJLsJ zB}-YN_+0mlnWy*r{sZ41-hR@|+}C|A=XqY+aU3V1g2lpYkVn$%VrGr$EWr8Ni##9S z+c5`}pT4=1>V%3EdoihlDJ;kw(j4*ohx2A^?>9Y)XLSKs-293;a^ubYXm1@|bLOqp zJ0o#zypJqV~> zZh4f)y3>$#ZmMFK^bO7iP_z5NiskREB(~d50z|P^BbZJab)Ok98-m3k_vsEYC zT&K~T7l(9|o(JY{I9A$5W)x36u8BK*k4Z1NadP|~sn6V=Z(1VHC-p$>p1s9xa_QRR zyFj9%+hemG)kzzn(`U}=Su_iPMg3Kq#p~n0+gLjf>avJ(&iocvvR_TA;VsLtYciBz zv0REgLRf%qvmow2kB5D=@~qG*UnGa}EQjB>$67ZBc$S;=1Y|F}q;W3H`>ko1r$^Ev zRvIN@U0?Q5fFFR^cT96a#e|y)?(+T(X4d)*N=On?58S59y7@ebksm$!Ll@Dx$k2Cc zLki3ASrVIZ3ws#s-7%!FsXNeF`n1Wwp)}pOc{i@dTab_v`YYH@$?hLmD9fuD?EeHN zpWxOUNB0DA`zvudT@2!;?u%w5%st$vs>ZyOAy|mKi0R5v+$4tBm-UBJa`aPR(#O31 z4WL4*nAxfz_3dHJKIE9_YV{JWvmWvo2$^cqQ3= z$|SGF43wx)e))9)L=^wFt* z{;a>CO!CGf4)aem0tkXKxpT;w??KzRkguD|pOo-?9y~l-kw+Tj8Zv*Aw^k!{{dc## zhMaVmdQ-&C6Q@cvOg1pX;{Rz&&0Ql(VH_R(=YaRun(ju<)r+zzh-ftLl6c7lPbBB7bbr@Kff*{JZ;%QLTwSXUC)8 z9*rG-UPCzjHS1U*V^nw>=@JR?8;IyS3w~`H(zzeaD9l)%UF!GAs6ZFU+ct=Xg_e0U zeZKo`54a59!6)|g2O#%pESYAy@;Z8P6w;RxXY8$KHL}Fh%@(rjY!n8K8&6AA%*>Aq zp_5#*RyRcMS*Hp2N6Cn^?2?;zyC0!XKUQ5ZX4My(&|-}B!-bym16GvqV0WxK@*uw+@)KW3nymV|*$0BG!2z$z~!6XJCdT zRcJgT9;!02$D5S1IGJtMk|W zY)#eEr0CaRGUoS`e&I0R^J?Do1z-p1`Esd#qUgq2O1uu3_6)!_#&Koi!EIjcMfWQyJfnM%Ma2u}kY zSS;QJjQk;0f^EKiv4M-iM~q2B$4g!=2(Xc zR5e2imbSnUmu$^qR21k^v6o*&?C|4rY-e70biOQV+NZ3%y(C2wjzGqtWNnpZ`cMQw z7a_!}Pv{aJjNZSn&l8hJp!!@XV+BboxC6(YjaCwsRZ8#wzg^_@GV6#~pFiR(0=iZc z7|GQZ1E^GtDuq;T4kxZ<+Ze95eZKp5vn*%7ii**$cr*dXM+^1i)4)YlL6{H(J&aHM zuOSPaeC`nebv0-idkt0$dzTJ$5Zl!Ojf9Msv_ZQF1`X6m?0K&p;w+k6qd(vtv=#+K z7)!n7+_G&JDBi4Wh#N0k!+!uK#pW5ib}Z>Kums}-3V{L~@N#F8hhO?u!VDKY1;XdW z*Zky5gmSj2c(oJQYqH5eXdFh0Yk@Dq(LdvRK#)}SUY?rXN^Ft%*86`Bk0aEUXgzL1 z>2YCs)9WHVn&ck$gSsnWyA($H(8?=j){J>IJ0YtC+dkgccN9YAv92%wjH&AHquo7A zL2l=ncY{CeAN>LYG6Hy^iE!`+D2oEk#^K!ixW*4nRN2cz`fxjC-|k6OD&1AsqD0-2 zq+r07MEQ$MoY4#eJjH_Cv}KBiP(j4XBJo&cVWS8zYjZICIf0FRzbpB(*3Y->r}CmP zZUB^F)utU@EjpKoISCnKN$%JlPPI%%JYFE>AAswFG?F$4wSHR}MTjZxyqI(H;cXEw zRSW#T+t|w#A1mYW)qo#}2R>#z_id92x40W;f1; zTj!&bgs9iRt>=KkL)mBnG7hxS;_j&W$p~u&GEJGb*B`MN0_3|SN{#y!8Toz_PF!g5 z3%jDAZ~OS(b90k+MB%f4y9L^*Rjt?=vh_;=eRrrb*cmpIoQKzdjVc?M`7z9#3$>S@ z`6;enZ_c$*X1bUc*vJX3eJ8c4mz72UbfLweoZ?}>P9N(5v1v+N|FDp*b<}X8)OabC zaEC`$=8hLn2hxS=Clfey#?MQv14_a2^2J~Z_X0TjW606*;Y+8CMs~!$hETA!S{qzG zYFSclDyQVG0ZB$o!E=P-+vM?yeV!l%efWmj8dQd^h%Png*l<%!&i0#rAJyf0o6Atxcu;+h+MNMd8Zq+*`k|bw%X2@ zY77e2Ap7_CjNvT5Q`KmfxWl*~no_uL(7osHKn>>tx|R3~osy0{@xX4||K>K34bJG{ zKEQ3Lgt!f(c}+)|Qc)-k{#VeOY;0gn7jFhkrg7v~jV8wxC5Y&LFA%v%*<7!qUDi0qehV?%2%cTIz-l zp7RBH?t`|OFsNsU#Ry(VkQsuu?;hs8kKfIoED3@2r4{M7LQP#;1;yOr!8#n^yB&|p zj#blVt)I%?PovDdXHopp(ZJ}d2R{Iro0b3E=7W+B%aSu5`>#RSxF99En(Rpp>FB~o zPd0!z|JYgfw3>c3l3yepaxW+-0A*-=c*+T*bvlZjaA`dxWOEtxT0(xoDB2uoeZK81 zL>HME29N3+A5brFpt{VYR5MX3x($M)8A1_GAU!$zS=?b!;u+iImG9}I=gyrovbA(X z0fM9K#*M+G{p&f#$4R)W#!digB34%OMi-=@7Ozsbu{i_(DWn2cJ6tQFEjfo@Rr;&d zLbl*@*&|}8ULBm2XGk2S8YaON)VRt|&IO_bToL;}vX{LQh3=--Kq$WQ*?raUC@AA`+YT9c6|9F|I8?Z zrF8#??}I5js5~~vrAy%aKe*pi{bZvAurt>?wG7N6u2QCUpzg#$z&&+1Y}@PKv|BR! zl}hS5t3UGZHCZZn-m7;n3Cz6+5CJ)iC6ZnoIM@@Ezc>B4VVeIur%B_%tHG-ZB}qdb zoIan;HtNh&8_v0K&vl3AaY^)$4s~iRGQ%lZU;9}K zh#(Da+wMAW+a zO-5>k46U1men2^U5|ggqI%%0q8)Z`&>Q69eWf)j{R+<~93Gg_+yhF_O8_7QozZnillWn|hUi*-CazAaM~7y%wV?_gLT9lT@Mrx2xOQjgzXs+= zS=TwP3;w?DzG&Bz6Fd#;rm016AdBhMK2bSv6#Dgj|6{Rc)%w==nr z3H#6<*Xu2rB)J=exG!OuVDz__A}v;65(LE9bS)C>0^UY$H&9|Bzpvl~CB#0(TZE!* zpzITjD$--r!w2*hfRzB`=7AO9vq@UjRB97}OhX`K%0)m>hHH?_;%JKd~19jdBM>qoj1mBG-vg zl%D4)(3D#MQO>c$#GG0`I#?#KI25WghfTlT2PMQutDqPRuXV;t?iy?CP9S8``$24EuzyS0H6>(FI9gRfMOJ--@^sh%>z~}S^i%_eiDcW48 zV$yaCY*B*1GeXe}JyFz$s!YI(*3}QTn~pP)wr3s)maF(3pRWV~b$db3yO=0;n_2_9 z*mi{CO+34I7o&(537<}DP&)^xnx-=Ep#)44XwLM4AnrSLlnFW@w)WSu=o_!A7ts8? z#TplU@;AN|?1C;rfk$<>3?t174UIv?yriA?Aw&wj&$-Jm@ogX&_{owMLM9Zg+VJ9gKpb_QTq4KZM*E@q(9m|aWgFkX&jQNRS(4d*<~52%OwIm zOq-NRF9s1L3S^+34l}Qman7P-pa%8djSS-J2GLNB=*I>kJ{FRvr35xZi{`P{b`nr_ zoL&cvFZ8jfBtcfhAPUGhtiR+dmnKj<2)cy02dt^W-qjf>kNdGf+!gYdKyCoI<5Ceg z=>W@% zdY(ojx^0)L4&Zh68(aHeQnY)$&hQ zP85V0p_o@W#|eBtMeU?df}ka0P&aDUq^nZO%?L4~$!;1hHIW{Cks+r^Ez0_Y|0N2~ zo$}QjSMyg=RAM&xpSU&pihklof~=S2-mE9VB^=wnAL|3eR=#MLaLA84nE${&BR=Fw zfs*`D{C^Npx2yX>x!vGBg9tFHr{Jt2UP!6JYvG!-)wdgBVlw}bMLkzk+l{v*j&iCl zOF=MflbFSv5eL$N^#>_YBU`9kk{ zIH^N&O$t}*`{QLD(0OcUigjT{=}%ej4cFf%sKHGOHU;4@@P6%wMHLI!=g(ElGK+<& zkKY1;__30K`sS^Lg;if6XpqbKsBML9wPB~Kfx8$kYNVsg)G88(wYN>X_$jt^L|+dhve;DF&Z z1#cRHjzxckpH}c%JKhF+Es7Zo)EWUDOEI=#{>0YBZ}0h<8W&)%E6RPK^tI&gKEoH< zq^F)rfrs;y-4Y7!UsJGDMM`;zE^4bw3Rx^x;bXAl|&Wtz3z~>1wt@zX~OanZvkzI4)Ov) zS&!BA)3kvt$=}p( zdr~rzY|c4MR%yaaaY`2vIMnO2lO5%zM+I~9wwEz|qBdBUTPqW3nK||&_lH&=Je4hs zx&wtWinVOOe=D*2xl?=%WC~`L@j_s$jToAm9|nKyW!?Uj6tYBJ*mgWTPH!s|H_wPC zX2x9a18UunWnl7H)#mvfzx7Sw?!OfD%!~bKkqdip-ZuS#+`0u(^0Vj<_D5huM5kd_ji% z6SSiKiP@HrilGEs3zhaysba$!E#6wY6KidU_|1et6M%(zo-8lGmfjxb-HnaYSVCvF$y49{uftIVt85^F6fZi0l0<-W;`SzIWtxRzGj2)3f zN25*KGs-c$KK@nY z_)ZZCN)gTVjDt-4H-9cJekdz?-B|xJ`gUpM=MD|_F)4B(T5ylu>q|>Zo@O6Y_K3To zF$JYK^v7EdU}cN70`1L0KEH78D8NBcKysCKknJWBC+m*^(Z5^HZjiG<^ zq5g*>TzH6r)^$N&_U57xNFQ-@J5l<}=uXj-uNb%Fh-lqAUSY=qa0Mseuyo%nfo zYx=!hn!-o(&agG}{@&R^6LLYP*j|n$xQ{wER5)4Vnsw<9w#B{cqo4Zh5xyWZTxYj< zgZ#Du&f)V@Mk}vlz08SjT*p*uel8=2xErm>MVx1IX&|<_@;83H9|}jjWJ4%_!EQEj zG3PFZMMP|DjPzygzsYf&2f6F$puAal2Dw0OEA%eTLdL~6w$6KC_;Qag*0I&G#xLjf zuiB|>*PQXR{{fACX-ZEwHX;Jyjbgy+<8WwC`jfNe_;YZ+~NlBulAv(apybrdKqP3q8dN(YW}cdxyPbblDdkYP5|AdS`+XqwOLE~6v2W9nc?-jpK5va4 z10_k3mU(!*-Wrhkw+EFYtG*>(!a`C=bC!dyXB5RjQ8k zzfzyy9hE)tXGzF?z;-NO5$rFF^k>4PqWBA^Y!Ad_5k% zR1~zyloS7gnP;+SPs8f>af^yBf|y%3cHRHo={&_pq{SP}Zm|#lY`y*Jr3pL9O&l3_ zN#u^$=Mco)hN=~hlEh401EzMZCvARer+lbKxZ0`BjkY(=l)*&~ix8wjKBlZheiwhU z(=_$>-R6rnACC(9eBKT=$XNaiR)s_xCl-2G8Y3LFYhM79kn{D$>jzB}<(=P=yf?@F zw{k*=SD>L?Ve_JU5VK=zGi2b}vi~p3r!4}uKkPUzDtV^o*SNiPyqz&(MmC$*q6AN; z53P=SEArt8JQC@Jw;`oJXZ^M#C1B1b&!_I3j@XqaCK$Dq~b=CJ6@wSQfF1^aG=g4k{8|RwY5Rl!{G)(`Ll>U?rJDEmGk^W$ zCoj_LXT|;Z Date: Thu, 10 Jul 2025 19:08:59 +0300 Subject: [PATCH 3/8] Fix image src --- proposals/4291-room-ids-as-hashes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md index 09b684581ab..06e81ce1625 100644 --- a/proposals/4291-room-ids-as-hashes.md +++ b/proposals/4291-room-ids-as-hashes.md @@ -54,7 +54,7 @@ This creates a chicken/egg problem when upgrading rooms because: - The create event of the new room needs the tombstone event ID in `content.predecessor.event_id`. - The `m.room.tombstone` event needs ... -Creator chicken egg problem +Creator chicken egg problem To break this cycle, this MSC removes the `content.predecessor.event_id` field from the `m.room.create` event. There appear to be no security From 4abea871df0e36968086cf0253b9d761e99378d7 Mon Sep 17 00:00:00 2001 From: Kegan Dougal <7190048+kegsay@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:26:22 +0100 Subject: [PATCH 4/8] Review comments --- proposals/4291-room-ids-as-hashes.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md index 06e81ce1625..82b3ef0c0b4 100644 --- a/proposals/4291-room-ids-as-hashes.md +++ b/proposals/4291-room-ids-as-hashes.md @@ -68,6 +68,7 @@ It is not immediately obvious which server created the room in the first place. for a discussion on the pros/cons of this. The loss of `content.predecessor.event_id` may negatively impact the way clients stitch together timelines in upgraded rooms. +In particular, some clients may crash if the field is missing (possibly Element iOS?). ### Alternatives @@ -77,6 +78,7 @@ We could keep the colon+server suffix as it contains useful information about th and has historically been used as routing information / auth checks in several places: - event auth for `m.federate` [in Synapse](https://github.com/element-hq/synapse/blob/9d43bec/synapse/event_auth.py#L312), though the specification [states]((https://spec.matrix.org/v1.15/rooms/v11/#authorization-rules)) this should be applied to the `sender` instead - Step 3. - It’s used as a last resort `?via=` candidate [in Synapse](https://github.com/element-hq/synapse/blob/v1.133.0/synapse/handlers/room_member.py#L1177). + - It's used as a last resort `?via=` candidate in [Rory&::LibMatrix](https://cgit.rory.gay/matrix/LibMatrix.git/tree/LibMatrix/RoomTypes/GenericRoom.cs?h=0a82b7e2acc18def93818d8e405bf620c328975e#n223), NeoChat and others. It is also desirable to know the creator's server name without having to join and get the full create event for Trust & Safety purposes. The create event in invites can be spoofed, as can the room ID, but spoofing the @@ -94,7 +96,9 @@ same ID, causing confusion. We therefore need to create a new namespace for vNex with earlier room versions. This is why the colon+server suffix has been removed. We could alternatively encode the room version along with the domain to form a new namespace e.g `!localpart:domain@version` where `@` has never been allowed in the set of `domain` characters, but there isn't a strong enough reason to encode such information in -every event. +every event. By doing this, we would allow implementation confusion by specifying the wrong creator domain and/or +wrong room version in the ID, which is important when the room ID is read in isolation without the matching create +event (e.g invite handling, moderation tooling). #### Removing `room_id` entirely from all events From 0a7e97fd4188c81740632febee86a246e9792686 Mon Sep 17 00:00:00 2001 From: Kegan Dougal <7190048+kegsay@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:46:31 +0100 Subject: [PATCH 5/8] Add prose on blocking alternative --- proposals/4291-room-ids-as-hashes.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md index 82b3ef0c0b4..a1cf619ef9c 100644 --- a/proposals/4291-room-ids-as-hashes.md +++ b/proposals/4291-room-ids-as-hashes.md @@ -3,7 +3,11 @@ Currently rooms are identified by a room ID [made from a random string](https://spec.matrix.org/v1.14/appendices/#room-ids) selected by the creating server, namespaced to the origin server. This allows a malicious server to create a room whose ID collides with an existing ID, causing security issues if the rooms are confused -together. +together. Furthermore, despite the specification stating that room IDs are opaque identifiers, both clients +and servers in the wild introspect the room ID for routing or moderation purposes. This is fundamentally +_unsafe_ as there are no guarantees the room ID is accurate without some verified events in the room. +By removing the domain from the room ID we ensure real world clients and servers cannot be manipulated +by an attacker who may claim domains they do not control. This supplants [MSC4051](https://github.com/matrix-org/matrix-spec-proposals/pull/4051) with more information. @@ -121,6 +125,15 @@ key as the room ID. [MSC1228](https://github.com/matrix-org/matrix-spec-proposal The problem with this approach is that we cannot guarantee that servers will actually treat the keypair as ephemeral: they could reuse the same keypair to create a spoofed room. +#### Blocking servers which eclipse their own rooms + +We could make honest servers block other servers when they detect that the other server has reused a +room ID. However, this is a reactive approach compared to the proactive approach this proposal takes. +By relying on servers to "detect" when a room ID is reused, malicious servers can selectively disclose +the duplicate room to target servers. This would allow the malicious server to force servers with +admins in the room to no longer participate in the room, effectively removing the ability to moderate +the room. + ### Security Considerations This fixes a class of issues caused by confusable room IDs. Servers can currently perform a form of From 60a3b7d769afc1d38d845aaa67456efad4a72ad1 Mon Sep 17 00:00:00 2001 From: Kegan Dougal <7190048+kegsay@users.noreply.github.com> Date: Tue, 15 Jul 2025 14:45:57 +0100 Subject: [PATCH 6/8] Add MSC4311 note --- proposals/4291-room-ids-as-hashes.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md index a1cf619ef9c..a685cae242e 100644 --- a/proposals/4291-room-ids-as-hashes.md +++ b/proposals/4291-room-ids-as-hashes.md @@ -74,6 +74,11 @@ for a discussion on the pros/cons of this. The loss of `content.predecessor.event_id` may negatively impact the way clients stitch together timelines in upgraded rooms. In particular, some clients may crash if the field is missing (possibly Element iOS?). +This proposal relies on the server being able to verify the create event in the room. This generally +means the server must be joined to the room. In particular, invites/knocks are not protected against +room confusion by this proposal alone. The security guarantees of this proposal are enhanced with +[MSC4311: Ensuring the create event is available on invites and knocks](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). + ### Alternatives #### Keeping the domain suffix From cafeaa6a75ca7dc1bcad829671d1c35e7929c2e9 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 16 Jul 2025 00:04:01 +0100 Subject: [PATCH 7/8] Update proposals/4291-room-ids-as-hashes.md Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com> --- proposals/4291-room-ids-as-hashes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md index a685cae242e..96e29a80d33 100644 --- a/proposals/4291-room-ids-as-hashes.md +++ b/proposals/4291-room-ids-as-hashes.md @@ -40,7 +40,7 @@ The following changes on a new room version are made: > > Must contain less than or equal to 10 events. Note that if the relevant auth event selection rules are used, > this restriction should never be encountered. - > **NEW: MUST NOT contain the create event ID (room ID).** + > **NEW: MUST NOT contain the create event ID. This is already implied by the `room_id` field.** * The "Description" field for `room_id` is adjusted to state: > Required: Room identifier. Omitted on `m.room.create` events. - Concerning [auth rules](https://spec.matrix.org/v1.14/rooms/v11/#authorization-rules): From c0dd8d22f5d740ccf5cbca2a4153894e4f3df207 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 22 Jul 2025 11:52:31 -0600 Subject: [PATCH 8/8] 11th hour review --- proposals/4291-room-ids-as-hashes.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/proposals/4291-room-ids-as-hashes.md b/proposals/4291-room-ids-as-hashes.md index 96e29a80d33..79d20ca38d6 100644 --- a/proposals/4291-room-ids-as-hashes.md +++ b/proposals/4291-room-ids-as-hashes.md @@ -56,12 +56,16 @@ This creates a chicken/egg problem when upgrading rooms because: - The `m.room.tombstone` event needs a `content.replacement_room`. - The `content.replacement_room` ID is now the create event of the new room. - The create event of the new room needs the tombstone event ID in `content.predecessor.event_id`. + - While the spec [does not require](https://spec.matrix.org/v1.15/client-server-api/#server-behaviour-19) + the predecessor event to be the tombstone, there may be more than one "last event" if the DAG + has forward extremities. Prior to sending the tombstone event, servers could heal the DAG using + a dummy event, though this is far from elegant when the tombstone event performs this function. - The `m.room.tombstone` event needs ... Creator chicken egg problem - -To break this cycle, this MSC removes the `content.predecessor.event_id` field from the `m.room.create` event. There appear to be no security +To break this cycle, this MSC deprecates the `content.predecessor.event_id` field from the `m.room.create` event. Clients +MUST NOT expect the field to be set, but SHOULD continue to use it if set. There appear to be no security reasons why this field exists. This field is sometimes used in clients to jump back to the correct part in the old room's timeline when the tombstone occurred, which can be relevant when there are lots of leave events after the tombstone. Clients that wish to preserve this behaviour may instead search the old room state for the `m.room.tombstone` event and then jump to that. @@ -79,6 +83,12 @@ means the server must be joined to the room. In particular, invites/knocks are n room confusion by this proposal alone. The security guarantees of this proposal are enhanced with [MSC4311: Ensuring the create event is available on invites and knocks](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). +Clients which were previously parsing the room ID to identify a server for `via` or similar puporposes +are not able to do so. For `m.space.child` and similar cases, the user's own server may be used to +populate `via` on the event, at least initially. For permalinks, `via` candidates are now more important +when creating links (or the use of aliases). Clients can get their own server name by parsing the +user ID they are operating under. + ### Alternatives #### Keeping the domain suffix