From 9268b333ef9a5f2883fa291af04ff00d4ad88ef8 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Tue, 23 Nov 2021 14:08:35 +0100 Subject: [PATCH 01/16] docs: add initial outline id for custom stickiness. --- website/docs/advanced/stickiness.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 website/docs/advanced/stickiness.md diff --git a/website/docs/advanced/stickiness.md b/website/docs/advanced/stickiness.md new file mode 100644 index 0000000000..f8b2de6a42 --- /dev/null +++ b/website/docs/advanced/stickiness.md @@ -0,0 +1,10 @@ +--- +id: stickiness +title: Stickiness +--- + +## What is stickiness +## When do I use it? +## How does it work? +## Is it consistent? +## Custom stickines From 9075261d30eff2642a3e3cbccaa6147a4777ea20 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Tue, 23 Nov 2021 14:59:23 +0100 Subject: [PATCH 02/16] docs: add basic info to stickiness. --- website/docs/advanced/stickiness.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/website/docs/advanced/stickiness.md b/website/docs/advanced/stickiness.md index f8b2de6a42..f4e2461b81 100644 --- a/website/docs/advanced/stickiness.md +++ b/website/docs/advanced/stickiness.md @@ -3,8 +3,19 @@ id: stickiness title: Stickiness --- -## What is stickiness -## When do I use it? -## How does it work? -## Is it consistent? -## Custom stickines +Stickiness is how Unleash guarantees that the same user gets the same features every time. Stickiness is useful in any scenario where you want to either show a feature to only a subset of users or give users a variant of a feature. + +## Calculation + +By default, Unleash calculates stickiness based on the user id and the group id. If the user id is unavailable, it falls back to using the session id instead. It hashes these values to a number between 0 and 100. This number is what determines whether a user will see a specific feature or variant. Because the process is deterministic, the same user will always get the same number. + +## Consistency + +Because the number assigned to a user won't change, Unleash also guarantees that the a user will keep seeing the same features even if certain other parameters change. + +When using the [gradual rollout activation strategy](https://docs.getunleash.io/user_guide/activation_strategy#gradual-rollout), any user whose number is less than or equal to the rollout percentage. This means that the same users will keep seeing the feature even if you increase the percentage of your user base that sees the feature. + + +## Custom stickiness + +Gradual rollout and variants allow you to use a custom stickiness ... From 7fe74c1358f7086b1a573918b88be7e780aa1554 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 10:48:02 +0100 Subject: [PATCH 03/16] docs: update reference to gradual rollout (was 'flexible rollout') --- website/docs/user_guide/whats-new-v4.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/docs/user_guide/whats-new-v4.md b/website/docs/user_guide/whats-new-v4.md index f33fae6d08..cbf83c86a6 100644 --- a/website/docs/user_guide/whats-new-v4.md +++ b/website/docs/user_guide/whats-new-v4.md @@ -51,4 +51,5 @@ In version 4 we improved the API Access and made it available for Unleash Open-S ### Custom stickiness {#custom-stickiness} -In Unleash Enterprise v4 you can configure stickiness when you are doing a gradual rollout with the "flexible rollout" strategy or together with feature toggle variants. This means that you can now have consistent behavior based on any field available on the [Unleash context](unleash-context.md). +In Unleash Enterprise v4 you can configure stickiness when you are +doing a gradual rollout with the "gradual rollout" strategy (previously known as "flexible rollout") or together with feature toggle variants. This means that you can now have consistent behavior based on any field available on the [Unleash context](unleash-context.md). From e9e1de4a8995196df0cab0746cfcfccc58488b56 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 10:48:28 +0100 Subject: [PATCH 04/16] docs: Add stickiness document to advanced section. --- website/sidebars.js | 1 + 1 file changed, 1 insertion(+) diff --git a/website/sidebars.js b/website/sidebars.js index a63c75eb82..2ea25ada5d 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -54,6 +54,7 @@ module.exports = { 'advanced/custom_activation_strategy', 'advanced/feature_toggle_types', 'advanced/toggle_variants', + 'advanced/stickiness', 'advanced/archived_toggles', 'advanced/audit_log', 'advanced/api_access', From 72744747927e7993a62138906fc558ea253491fe Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 10:53:56 +0100 Subject: [PATCH 05/16] docs: remove link to old activation strategies document. --- website/docs/sdks/go.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/sdks/go.md b/website/docs/sdks/go.md index 0cfc2ad421..d2dd2f215c 100644 --- a/website/docs/sdks/go.md +++ b/website/docs/sdks/go.md @@ -65,7 +65,7 @@ The Go client comes with implementations for the built-in activation strategies - RemoteAddressStrategy - ApplicationHostnameStrategy -Read more about the strategies in [activation-strategy.md](/activation_strategy). +Read more about the strategies in [the activation strategies document](../user_guide/activation_strategy). ### Unleash context {#unleash-context} From b9325c89fb962ea64eefd792594958c22ca1c578 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 10:59:47 +0100 Subject: [PATCH 06/16] docs: delete old activation strategies file. This file has not been touched in a while and seems to be superseded by the new file by the same name in the `user_guide` directory. --- website/docs/activation-strategies.md | 88 --------------------------- 1 file changed, 88 deletions(-) delete mode 100644 website/docs/activation-strategies.md diff --git a/website/docs/activation-strategies.md b/website/docs/activation-strategies.md deleted file mode 100644 index 5de62597b8..0000000000 --- a/website/docs/activation-strategies.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -id: activation_strategy -title: Activation Strategies ---- - -It is powerful to be able to turn a feature on and off instantaneously, without redeploying the application. The next level of control comes when you are able to enable a feature for specific users or enable it for a small subset of users. We achieve this level of control with the help of activation strategies. The most straightforward strategy is the “default” strategy, which basically means that the feature should be enabled to everyone. - -The definition of an activation strategy lives in the Unleash API and can be created via the Unleash UI. The implementation of activation strategies lives in various client implementations. - -Unleash comes with a few common activation strategies. Some of them require the client to provide the [unleash-context](./unleash-context.md), which gives the necessary context for Unleash. - -## default {#default} - -It is the simplest activation strategy and basically means "active for everyone". - -## userWithId {#userwithid} - -Active for users with a `userId` defined in the `userIds` list. Typically I want to enable a new feature only for myself in production before I enable it for everyone else. To achieve this, we can use the “UserWithIdStrategy”. This strategy allows you to specify a list of user IDs that you want to expose the new feature for. (A user id may, of course, be an email if that is more appropriate in your system.) - -**Parameters** - -- userIds - _List of user IDs you want the feature toggle to be enabled for_ - -## flexibleRollout {#flexiblerollout} - -A flexible rollout strategy which combines all gradual rollout strategies in to a single strategy (and will in time replace them). This strategy have different options for how you want to handle the stickiness, and have sane default mode. - -**Parameters** - -- **stickiness** is used to define how we guarantee consistency for gradual rollout. The same userId and the same rollout percentage should give predictable results. Configuration that should be supported: - - **default** - Unleash chooses the first value present on the context in defined order userId, sessionId, random. - - **userId** - guaranteed to be sticky on userId. If userId not present the behavior would be false - - **sessionId** - guaranteed to be sticky on sessionId. If sessionId not present the behavior would be false. - - **random** - no stickiness guaranteed. For every isEnabled call it will yield a random true/false based on the selected rollout percentage. -- **groupId** is used to ensure that different toggles will **hash differently** for the same user. The groupId defaults to _feature toggle name_, but the use can override it to _correlate rollout_ of multiple feature toggles. -- **rollout** The percentage (0-100) you want to enable the feature toggle for. - -### Customize stickiness (beta) {#customize-stickiness-beta} - -By enabling the stickiness option on a custom context field you can use it together with the flexible rollout strategy. This will guarantee a consistent behavior for specific values of this context field. PS! support for this feature currently being supported by the following SDKs: - -- [unleash-client-node](https://github.com/Unleash/unleash-client-node) (from v3.6.0) - -## gradualRolloutUserId {#gradualrolloutuserid} - -The `gradualRolloutUserId` strategy gradually activates a feature toggle for logged-in users. Stickiness is based on the user ID. The strategy guarantees that the same user gets the same experience every time across devices. It also assures that a user which is among the first 10% will also be among the first 20% of the users. That way, we ensure the users get the same experience, even if we gradually increase the number of users exposed to a particular feature. To achieve this, we hash the user ID and normalize the hash value to a number between 1 and 100 with a simple modulo operator. - -![hash_and_normalise](/img/hash_and_normalise.png) - -Starting from v3.x all clients should use the 32-bit [MurmurHash3](https://en.wikipedia.org/wiki/MurmurHash) algorithm to normalize values. ([issue 247](https://github.com/Unleash/unleash/issues/247)) - -**Parameters** - -- percentage - _The percentage (0-100) you want to enable the feature toggle for._ -- groupId - _Used to define an activation group, which allows you to correlate rollout across feature toggles._ - -## gradualRolloutSessionId {#gradualrolloutsessionid} - -Similar to `gradualRolloutUserId` strategy, this strategy gradually activates a feature toggle, with the exception being that the stickiness is based on the session IDs. This makes it possible to target all users (not just logged-in users), guaranteeing that a user will get the same experience within a session. - -**Parameters** - -- percentage - _The percentage (0-100) you want to enable the feature toggle for._ -- groupId - _Used to define an activation group, which allows you to correlate rollout across feature toggles._ - -## gradualRolloutRandom {#gradualrolloutrandom} - -The `gradualRolloutRandom` strategy randomly activates a feature toggle and has no stickiness. We have found this rollout strategy very useful in some scenarios, especially when we enable a feature which is not visible to the user. It is also the strategy we use to sample metrics and error reports. - -**Parameters** - -- percentage - _The percentage (0-100) you want to enable the feature toggle for._ - -## remoteAddress {#remoteaddress} - -The remote address strategy activates a feature toggle for remote addresses defined in the IP list. We occasionally use this strategy to enable a feature only for IPs in our office network. - -**Parameters** - -- IPs - _List of IPs to enable the feature for._ - -## applicationHostname {#applicationhostname} - -The application hostname strategy activates a feature toggle for client instances with a hostName in the `hostNames` list. - -**Parameters** - -- hostNames - _List of hostnames to enable the feature toggle for._ From eadf1187595c1903ef79b8708972d3dd24efc7c8 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 11:27:55 +0100 Subject: [PATCH 07/16] docs: delete old unleash-context doc. Similar to the activation strategy page: this seems to be deprecated and was not listed in the sidebar. There is also a newer, more fleshed out version that _does_ appear in the sidebar instead. --- website/docs/unleash-context.md | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 website/docs/unleash-context.md diff --git a/website/docs/unleash-context.md b/website/docs/unleash-context.md deleted file mode 100644 index 4d48709621..0000000000 --- a/website/docs/unleash-context.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -id: unleash_context -title: Unleash Context ---- - -To standardise a few activation strategies, we also needed to standardise the Unleash context, which contains fields that vary per request, required to implement the activation strategies. - -The unleash context is defined by these fields: - -- userId: String, -- sessionId: String, -- remoteAddress: String, -- properties: Map -- appName: String -- environment: String - -All fields are optional, but if they are not set you will not be able to use certain activation strategies. - -E.g., the `userWithId` strategy obviously depends on the `userId` field. - -The `properties` field is more generic and can be used to provide more arbitrary data to strategies. Typical usage is to add more metadata. For instance, the `betaUser` strategy may read a field from `properties` to check whether the current user is a beta user. From 7feff579770d1f6fe11b3738a3ce722faece1a3c Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 11:43:27 +0100 Subject: [PATCH 08/16] docs: add image for custom stickiness. --- website/static/img/enable_custom_stickiness.png | Bin 0 -> 98238 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 website/static/img/enable_custom_stickiness.png diff --git a/website/static/img/enable_custom_stickiness.png b/website/static/img/enable_custom_stickiness.png new file mode 100644 index 0000000000000000000000000000000000000000..c8fc9d47ccbee601fccf042643f3a6cf5c5171bd GIT binary patch literal 98238 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

NADz_vvE5lH9$5k$)g#D56XTp4fgYOB6H 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

sw3biW8|9Xt`_!v&o(OpjIFA?tQe_ixB(;a$ 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 z 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 W<@=}$p8tWq-_FLty6DK4-~A1~X?<`2 literal 0 HcmV?d00001 From d15cb50792aa3c782893a62fd3b7dc3242d61157 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 11:52:17 +0100 Subject: [PATCH 09/16] docs: update stickiness docs. --- website/docs/advanced/stickiness.md | 23 +++++++++++++++--- .../static/img/enable_custom_stickiness.png | Bin 98238 -> 158004 bytes 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/website/docs/advanced/stickiness.md b/website/docs/advanced/stickiness.md index f4e2461b81..fc057ea9a5 100644 --- a/website/docs/advanced/stickiness.md +++ b/website/docs/advanced/stickiness.md @@ -3,19 +3,34 @@ id: stickiness title: Stickiness --- -Stickiness is how Unleash guarantees that the same user gets the same features every time. Stickiness is useful in any scenario where you want to either show a feature to only a subset of users or give users a variant of a feature. +_Stickiness_ is how Unleash guarantees that the same user gets the same features every time. Stickiness is useful in any scenario where you want to either show a feature to only a subset of users or give users a variant of a feature. ## Calculation By default, Unleash calculates stickiness based on the user id and the group id. If the user id is unavailable, it falls back to using the session id instead. It hashes these values to a number between 0 and 100. This number is what determines whether a user will see a specific feature or variant. Because the process is deterministic, the same user will always get the same number. +If both the user id and the session id is unavailable, the calculation returns a random value and stickiness is not guaranteed. + ## Consistency Because the number assigned to a user won't change, Unleash also guarantees that the a user will keep seeing the same features even if certain other parameters change. -When using the [gradual rollout activation strategy](https://docs.getunleash.io/user_guide/activation_strategy#gradual-rollout), any user whose number is less than or equal to the rollout percentage. This means that the same users will keep seeing the feature even if you increase the percentage of your user base that sees the feature. +For instance: When using the [gradual rollout activation strategy](../user_guide/activation-strategies.md#gradual-rollout), any user whose number is less than or equal to the rollout percentage will see the feature. This means that the same users will keep seeing the feature even as you increase the percentage of your user base that sees the feature. +## Custom stickiness (beta) -## Custom stickiness +:::info +Custom stickiness is available Unleash Enterprise v4 and later. +::: -Gradual rollout and variants allow you to use a custom stickiness ... +When using [the gradual rollout strategy](../user_guide/activation-strategies.md#gradual-rollout) or [feature toggle variants](./feature-toggle-variants.md), you can use parameters other than the user id to calculate stickiness. More specifically, you can use any field, custom or otherwise, of the [Unleash Context](../user_guide/unleash-context.md) as long as you have enabled custom stickiness for these fields. + +:::note +This is a beta featue, so not all client SDKs support this feature yet. Consult the [SDK overview](./link-to-ivar's-overview) to check if your preferred client supports it or not. +::: + +### Enabling custom stickiness + +To enable custom stickiness on a field, navigate to the Create Context screen in the UI and find the field you want to enable. There's a "Custom stickiness" option at the bottom of the form. Enable this toggle and update the context field by pressing the "Update" button. + +![The Create Context screen in the Unleash UI. There's a toggle at the bottom to control custom stickiness.](/img/enable_custom_stickiness.png) diff --git a/website/static/img/enable_custom_stickiness.png b/website/static/img/enable_custom_stickiness.png index c8fc9d47ccbee601fccf042643f3a6cf5c5171bd..eb618554bbb5019a9dccf05e15b8977a61ffb0dd 100644 GIT binary patch literal 158004 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

PR$i1c zB>{VBW&HUiE&4t>%~3wT)vkLppCwj5RA0_;s%j}%vg(Cqk?PQBoE<-tZ1Ac~;>K%2aP8{sqczH+z+WVFhggmlHhkf!tIv97ARTOxmSJv=?HBf^I^C2DByE9q{aKx z!EXH|JxTPUTk&9f>efoBBTL!5Lm5KX*mH1Aje!M=+R{F|4tT~)v zAKLodB}Fg*@#oo8Ru`U3wyh%^51Aa;lvjhHEwX<-tNy@7e8GMXtc!csN57vqY(}MbbvQ)*=Mb~XoY^t3B=W2GfVCdt~ z@k}ly-^sA`#MZBACz^MK4vTW#nJLda34xg>Puff!vZwjYO07p8 z%F}O^mKI$fES>vBwjXVMzURmo62uFVXnOH7WJ|tV_LzR&@`)f>w3py6dp-5zH)qne zteds^G~lsRsA%E);ae)m0{e^DE-1-_AS2sydkAT@am$Ow*a{hEC!D-PY2GjI6H%`* z-TzoV5Sn>`Q$}V}UvuyJU#=zXIz9^Z%M?GgnQ38bnJQsi>2Q?cHR-9VyL-@enEj>@ z)1=kn?rGe!&T?$YqXbMXpp!I`0kitL|LDn-v)AJE>={4U{1h|xDtLxV#@lEN@QcP> zSyn1=^?=BxyWvE)`e9c)bd#*PW;?le|Fv*?!6>PY@;%Px1c{jkkiTs%bevZZI`;`0 zpX7wnfY*=Rd$SrXHjN3NX%=DnV|W>x;Zpta--L}MW`rr=N}VM{MdU>CiGzI?5*@{% zJH(C8a4ht;Dls$f#OQZR)rxGdH769xK1!f<_5}3PpNUG)R4(kYWl8dq>*Y!j;tqz7 zu%62ol|-^o)~r~yrd3LJ@ub)>$=%gGyLPahG zXCo5$Dv6y=tG`*VP$$@6AJ6LA=_tLIZb{8RqXJ4!T7iu5awvBl0}hG53Ime(keuex zjNLcvl;Qj6_UA!A?|VAE(}r5ebeOXY3m@O&_d$~(pKIbFU^tpv1wl=B!=?|fouuUz zz;ueYXcr>G563A@y^S9>ERp1`k z@QcgR2(ZsSkmi9kGHigpeVMWUid@-MMH_vGFg4DAnbyGqnJcJo?+Df+$+!1nBe}yp z$i>^zulRDR7D~@h?W#?vs`G_1XF>PvPy$d(R#ixO9BPZ%RLC80FczKf#Tce`bML-N zLaTX1((O_%!qeig7fl$l3|+qJjOM#5p~dM@@=donOD1;_4$<1fh7bieB9LEZ-Ogo? zR>I0o3Ys~5g??G|6-5fLlrFZ~U+UxRX>_|;X2aAkV5~vq5whBF@W?$YIh*a(Bx3RA zG)>0bD&KGod%XSa;oW*vk0&Ag&8Ad};hURb?@xDvDNWsf>lowqb2(qL;y;xI4!Umw z=vgSFpvaAkt_I-lpWbJ7O{D8J&AD})+D2-;k3iyBn*J#Zp9_Jez~c^k?9M&XXu*Aj z2&ebf+n~uT;@che57g2&=ha4^g*vubsC>$^z`f9yDGBxDjg0p@Ec$n~&arUSKEIl9 ze&l5wOIhqlY=DJQ=<71tYmv=Jwm6_!Gkd1WhyR>X;~9!u_AU!xBsT$5l0XV2wADrf z@N%(4soL8+SE6WiW(yX8IB)cOblHRCu>GV{QK@;!2`YQ?wCxi$qXpT@p@SMcZTVx-y68wwnp?8mK;7?}& z+kYIQ1yddPn|g6i<2f3Bjxn94(6HC#5O^l|MtWb_{EdSWVO+hus1B=jfM(dbeMPao{~W!BEqi zt;;{1HP`p?!P$hgY?65=NS0p&B5Z#F?E-oYN2u$9Nt+5P)>m!rXN2zvT5wJa%Q!GiC5LnAI7hBE89lM5Y+forE>j4_ zTKWBS6O4}LO_SJdr|CqurF%P_p-TOWdDB^dmNa7(P9p8z!edeM40(kaLXVIsTCYOH z`;-5vqjz@3M!Ol=OqYzbkcj_!)yao*e;^4V8+FL_`*#&GdSe1}Z5^Ek58)Yv$+2sc zfCAVb8du>!3PGNum23wJdaVW#3(&r-{5V83U6LlDl1balj5J0kMwPlpokz}wK&&QV z_48Z_(EC!Y0Mh~=k;dmjDHc-h-5*?>L=GS#;GvCoZm-)DA8cfB`fR-Q$&N$I!DPXl z`=g=PR$k!9^Jbl7`^;jF`|f@30$9l90a1Q>u3em`_Sz$esei?TfIy5x9fy3BKkgYb z&h3({$l!|t)M+69wO(uGjUJagjXxLg)SB+*Fukkf5@b^fWX#`z&8L9c+NQeGIicx0 zaHWrghtNavcRdE*M~!rKRxAjTg@4klB-Lc$74=Y*egCrS0k8W zAAeJPN@rg#a&o&5K_ILCU3^6>u*th((eD6``wp1hSZSttp zPMsBJN-^i?=zlv-aEEMgcYtjwU#^~F5M?->eI}u2@oPbR%HSGl{%)XQRIoM1Ig+?o zx#%1h9E+(J?rlD+F~{?B5@%u?=_$_7+W&d-;~OoQBU-^Xfa{c_#)k_x+TVS6N0{=& z!H!IFmH(6OsO_jjf8?+r4i}z)(k2bc%SvJt3`=#sSEjl76FUNO%&zYRQ+jch9bI#66-+qQRB#s4X&VQO?!xX%dC$jz| zoJ7a>+V;n%fOQUg+SEdBsp04LJebmCYW??I*he?ynqfF{--F6&$kw0NDa_a=eTk!) z={($1bL%! z_C>a>F=(hP3XQi2w7~3bYFQWdciqul&Cd0kFUj#&$;+l1W^$#Z&HH8!J-OaPZGHME z8%(0ze5Ath=X1Y*#!L+yO=tI$@J^Y@9q*)@#Vv#9){v2C`uz7h5rWsHgF0~;7^Nu0 zW-e1~t+feSu_U}|eS0Ee%J|_Efm>vYwl-!F6a9hf^qzh7EW+F+^(~zJw z(S7)m=1%TIeofuJB=^QuHL;!RN^h;Vcqkr18~?PFGg;Yw;3L7_DT)z`-I{#@`+O$z0!0)Azxx-N?)?|Urw z2VMGsoM5NIK;?kYYG~C^YVsuFV-;>0=Bau~1Q8r9{Ka2@mWc?hmwTx7Nh`+5kIQ}l!l!wf;G^$5$etBU z4|~vx0`#&l+-5@r38mz71ZCi4@)?*D!~mS6@J|YUcVSp^hsC^J#_`9MD3=4^oL5Vf&xa$%2WOF)~ zf#qv=gDJ(Ii(~pIR^RK<8hjl_p}6O))qA#2;qQOG5iU!7;_k?kKdVZ2lKwBQ*E9)7 z-yi0sH@0SSkd-GSy751(dZ_m~KyP7o&6Z+Zfej74su?F+n=V+4ra{_n_ zCayQSVEyJ5Nlxya1GPL|v@P>LKE}S`ySESIz@2mgcAF5v!ccb&s6@pCW6sRM?IT27 z5Rmg~#ejM5=j?(uay2lu{RL9*qiwv19b*7Doyl_=crmyTHLUiA2{>E+UILBxuO9)d z4aeG%pXGFt=RqC;=~4%20yf3RS2v?SGLe9&dXd!&m}x& zrZ}AX5u6fhaJ>X3(1M<=aZgWz->_hcSk67li>UU>GjS-#w6EOf0#Blb`=WsYWk5DS zR1WnmK~nE^w5>I}uuFzr-xu*BK$yop0f1ysiZ3p%1^5}Tf30&0mk241P6Sc_UzZ6& zhdrsNrd^W|7*B)KG$=aGwEgRKRc^{@wK|{Uh`txQ7ggjaoJqj znS`tQ1&Hs2I4JDySE!xyZ^vlC9RKCfwwPP(V54wZa_z=mP^b{j<3#WdEURv%PhX%< zMkQYhkSJ^-&hd;`*WI3%!WUF(KKK3l)B{J&WhmhJ;uzj^5vE84;X|wKHc}kOb-i*F zjs<00J?>Fq0N3hbSWn0fkN!Gbt1pGt7)|qwwQ=(2?61Y#aVde`^ja{NSwwMA z=WPvOeV;xVK>Umg#}^A5_+nLJl?V|#_%CXuA=NW4R$TB&jaJC2tTIxgGIv~Y!f;7b zjjS$t178X~Ii{FcFn6gteuk-IMQ$dn#~k{SFY&@SY%xxBvB1};v(^AJp@%M|5ycij zRS0I7Hj}3I!o~L7!7p{>k|BxKZEp*@OD^)rK$@)F$iTMOpv08R&H2 zQG=t4nibN&GkLQkm(3&vz0-(9_t*~Z)tG?xnQ~nV|AKdfV-8`x4p_4O^CWPESr_bp zsoHs}k-WCnzD+x6ED7Kx*H7x;Ut)&p$^bn{z2wtMO zGPf?ptS*<8F&?MN{Pv5VNFS4^!aCzfKq73^4A{17Lqo4>YeLz;XkdyxVq#> zcW^rQxjwbSw(3F7+UtJ@YC^m)%q)c`PxUOR0qivjIurqpimKjB!Q!dFAu@w6k2PqE zkL-rl+%X@}M%915f(p*MaMx+Pof~ta;h4}5Rv^Mul1gqE;j84ExZ*^W4a>Y7qAe1g zr}5wjy{aWsnl}o46&&HnAUC3DKuH@l2SlXHtR{EA2dKCr%=*ghe-72fllyKk&30JG zomW%4Dorlq9v-#?KuE}8SYM9199UQx0E>YD+D_5W$j)YLo@o~qTOR<;Cw*HA_Pupi z>{`x^??TyM@BHjYtBLe&6}{x%Uw*oyWx*xz#MHsai4*|84>2qu$2yVXc{x$PR4bwG zDAfViZ*I2T6`F}U1eU?+n}2goLYD3HyPe7>z)gB_oBEk#FI$sID|dh3+Ubw-m~=y3 z>eY7~AsvWg;x`13{lz}8Q+?WxQ+qS&WpXi<=bjCUhXW9w>QH$5lMXN-D?bNF5cc$W zf(Ty`YxLAhPe*|@Q=+VNKjCqS+=^8hf=j*lY-hQP+39X6E!f<#e}u>u@c&n@vL%6> zD7iqVeRQ^h9>KNxKy@xK7DlRKtP?+@m*W2?StMI2b^Upk;GY?=M)%K)z(4WZ{y;A1 zzy9w@vHwP2>68Dj^0>DcfxOgB(CW&7+Uo=a1imnW{Q5ta3JW|*epp1W zeYAY^mpe`Xa`ewbn-zhHl{~#`9B(~K^r9B~`bCkcgUu7b~;1T7gA(-Ow4DIzu3hEcK{Qo5vzh>XtVrFQk)8!|5 zx6xk0CeLzUiQGxVz03aY<@bnxKadi2FdO-)qiYG+P956bcX)_EYnOchKSBUkM5RXD z8in`OP6UJ=x%vYxcvROMxFb4`T?@OUtZQTSe|J8Tfb?uQ+Cv}A^YB6kti7U|;ksVp z19lRE$R*xq>=0_2zCD&_;t+}Dp2E7R2G^ivceH!a5STzjC`%D&{CB`WpLP(|v7TyD<5=e9vP z>z`fQ@MJu!F^Pele`lt=Isvg0HR(Z)>}nngDPHH+sE}Lk$~M}j&x8yM{oy0oKh zT0SzEjLCgeY@?#&zsK=2T=(zhft{>0oN=1f4v1-%;O4Z7FbPzb{O0a zCSjASBmaFdX&`u>L zFB-cDomS!wWR%Gjg+}PVnw5c_Mu!Bpu-{w>#n{_1l!P;ZdlcH9KoJrA;UW&E=8BYQ z+dCJukegYrwq?$^;|ECX# zAZ5db!T5qlr0nIf3wGDoc{>rJ#RgnM-hIukf&Z>gtyd>54=T-^14%2_pBa zp_GMs`TukW^tnDCB{f8oMRNG3i$(pP5l;dor_AL9SPfE#e>3}U+PJTyEdPGXgT}A7 zsbYYv_8DOrNNfEI22*f>n#qdw4!t5Pw8weI$da-ZS%v2!z8gtk<=I$k_ z-e-Ek(~E?m>l_AGYWbNx1HO#WUH zpO3AN5}dQKyHJ%YAEPa2I8Vw9k7Mr^+%#p@qwlFNn|hYRBJ?8=N-ubQvy|CjlQCI` z7Aaz`JDmi*hu6n2p09=CX>v+L)cTAuN`|C4;FJI_0R|@zfTna3{nFe1uFV*puYo!$ zpQMk=Iu=y?s&2Z_MScltnFmI2a>9O{K);p}#U21w{!yziRZ$Vm1y;5Z#97v3%C!+^ z08T7CNGHKS45S$(Bm@i_=v6Tv}qB4r4kd~G&n62Yb9Jziyb0CGBWFlvO%S_vP_Lbj24aAkx@?a?lF>oSX3-sp$of#0>9(Fi z#XMY1S$0Bm>x?b7Y=Obe0GKftauZ*B7h_OUI?c1Q&7C*G;o=1fq*C#*;x0+ zNTJ}}TW1Ulh*{ANWH`Fw#!nB>WY`w&R}}OfmG}>J*WZyuBGr)*loKqlfoPqe{ctVm z@B#8+w1wS5s@J|kJ)pYL;XFF8tB&B3su>DolZj|-AiZ&NhDpf-L?Dg?jz<}O+`**i zK?=SehoiCuEK8-ga+|!o>mg5+yq?x%j?71=U>C4*DU5b9#~+h(Dj)(moEC>2IX&G& zWFrgjsWZL`PyNlz#@Mm-A2OxY2n+1k$~6*b2MO*fj6RFVtr(4=&&`KMNPTS&*uM6D zhls4#3@@b$cQpXH;Y5S}C?{^Sq7Ty9gZ*WI_4IP6&@DO^vw$Np$>goza+!t+VUfnT zfd|l!MZtlsbcr96!c!y0nVJVgfC(+wMQi4F6AuCHDZrOQYfP%F84MXm0ZZ$BDzfO^ z36oY8P@+^|ZSF+NDm48}UDy7cjQFtb?Q&LeI81ZT?bkacqhT0Yj;}>5(<|&ty!5kD zaKo=@dF_y_dXBexTdwr?kAN)G7S}PrVR}o%wwvsb4@K4C?xK~a_H+H%Er6}cTyiTE z3bzQz7xt+S55tr8Fnd5Meecmms)YBIqa7p#&PDNEYvv$TiJ3U$(1C%s_C+3=@6CsZ zzNPv)`q#~7n#ub`(N~YMkJmQ|eXjGEErsJLD7=m@cb}j&=!CvPeQc-i)8@veG+xpA zX6anoo6KL6VpKbdu|ONntfpy^(hvLF3|>6TNz=n@~WdT;7Dfp5zA zNX9A!sX2Cr0p!$h*Mm*(Sy$Q1Gew8J;O>+MQW_0`e0Fn+)zR z5UNy?r#!yiwBC!gHID7`l_aA|cb83)!j1T7-*txG@K~?+eVMjYCq)^|loNwtzqHHt zUELIJCTs)DbGkon$$jDoLDHheYMNOA$d*~Uf(#72Fgl3RmDad`m!(zrP7N-P4!49- zaWszhq9L&bG$|A_!op?5q@&=2ZN%qy{sF2F*lY@m=P{M^ywCepy^f_lV;~_ls)%3z z@xHM_`k3-oMJzpb#a^k4d1~;wxA>!->Xjg?byp8zONEBsmpFHeVDsC1taSLtK(xkP z-KblM)&km#r7d!Yr%GFvq1nI2E_j(VKqG44VZlv?(f6dlKK<)M5) zpv$T*_uH)%CrZ?)u%#YPfy!v>xi~{5&$-n25yYnv)`dD~*8?#6X7%yz%QLVc#*-}A z_YNF-cka#mA{cq#&e%dNq%zS3QE6mr$9ddWb?!M=BJmi(jY+=L#|k1U+9wJ-W!h8M znVS5aT=Y_XAJE~EDXX#E9yM`QLYbazV`_S`P&f^%a3=+Asn;-ka6(q4Ad2DL5@DR* z;W|^?3l8~q*bz60W%0!k%SrAdzQ=SwGW}j@84mpkX?mX5zBh88*5Axb6c5eAsGU|q z4WBba!RDt;E@ZR9D3CKMHtjtg-B1#4M+7OaID6|*6w9i~ef`ri3q0_Jd~c^X)278ehYUUCYS+juz7-P6+&X7!m(jnHxV zhA0p2?d|Po-`~Y`3~wt6-W!TdYlc2&d1hTLUA|O+Vv!X#Fg`_Lya{Ah^^A9A+7lsf zf5JB+eqsUTacci1P~$QF+5yFfTC0Lb6@V4Hce45`mmK!filT^Z7_y={T;^gUiN3dt zL-x}==_B@SbpS$a6A@@781wG&PDEt9fwY)q^mF`iOOY@D37|A9>X9}m>;PM zUaon>liI-c3Ws}=+37q+eh%Oa<>z7>>RG-Nc;bB!Kr`1zZULxTj$MZ6BCqN2f9&?ZVzG9GgD^v%xnU zmx%vfg#L31@uYfp84U4zyQ|^P&;G8$GeY$N&>zwx5cOVHAaw>tt1KmBg2V~kpS~rJ}$*L7pbXd6O;w^!8>BF5kXf_J4nj8g~X!)kL)O5uv z;xSCWviWwYp5wb^@0wz=(yM5*n>L+S0Z z_2Riy95F<;&;$gm3FVi47U7`P-IjYxWwW$<(xtVK(vGF8_eeDg$VgZCx@bz`g#me- zUHCcrc%&Z-8^H!$Rdsh1C|CE7(H1cD*O?gKV@-@mxSZpAongE$!(OL6u(kk3q0tjk zn#B>1FI(YtsKGXEgMEe136?S)XK5zMrp};OJ2sp9Nk``Br(-ep|2O@oAt}2tcI8zR z$ie=!q_Pi=Q#Z5#$wg~yRFr~eo`QZ zaw~pdDiSdrRmN~s42s54NMV5Jq;S*?(S9<0ey$wia5HLjgc0?j3Bm;D&qGv_8||#m z8HI{pVnDdVTmu{zWu%(LuAuJWl9ov_b_Kn`9Ic}KlL%m|J|$}b?c=It#x zRcBFp0#Se-{^QK+!!<;)LkmI~5Yb^9euwSnS`xs``GCPifpq*Gnomvv>-=W;H`rL9 z3SMcR5fqLC$+CCPFy-AUVgV2+4LgH`4oc6(*>sV-e--3|CHMiv!2n3MO#ywt{h|iU zOJe`$!{h-$aqFbS<9Hhh^*?2@JE(XMbsJc^rF%Zq{Qd;#5IecSV-L7!py z(NN}<2QGgZJqQ8f9;O9~@)IJ5Fgbny?A;KO`99KL2j)ug@`}9Rq6%#|(o{|XuFIU2 zoi7vnRZZ7$;{@y)U9S9L8#M)uMho|<`)r_UHOxSl>vRqnx5-y?S z_M`p&&FdGy-i-w9g3xO1l232JrL+BVPEsXAISL^L^S_63re+;ss~<-MS7MraJIuND zHcrJr-_QhhNoqmv>$OB4c`YEy602$e0j;J7G>;Kz)58eZ7W6I?tK>idGzGW74uZ8s z6FkP+BJhx?2NlDu?a%DDijK~b z$><5r63wuSRYgvHR3Gg^RBc|+S$0u(1}f6nN|6T`mZ_}`Vb5AU725_&TA}Z|=^uq_ z$5H=}cw`&TFKW)9+Sj>JaO^(N6vDf1j%J5UNX^;}Dp+hwvzB9&G<%3AEh25F+h z>r%(POJIQ44CD#j%B28ku5Hov(n|XnWx-=8U2m?t7PpEtKYlZhMh`%0n;RwB=e$`Y zwOkHMdOucd>uqIaFBaG_ucJ6WSWwi<;kI={2mez>Plw3lx&tr6jl zao3}ob9}=dz#-R3&Sn8eZ$B~GB5jOy_)xU53@Og=3(YhS2K!g5&`4s=aob2Fe-FVp z*dn{Y-Odn?M+7wJG|&F!-ASKnBM=nHz#4sO6h~}vLMk34482=i9Ujn`<|an31QO$? zvJ0F|%IVTiXjqY={sm{2f7brSRTlsZMy&!dT=;sBy?WKj2f8~%G$!`}U(rF4xypOd z9K}Oba#lSg!9bnh&KTXWd|VpZ>OLvIQyJ}fV5&Q$ihec`eV$lY6&PIt;s55G5D zy+2G)$%Xa9;@FzTqqlhcG^a&7&I;Q=7@+EW45SV4^ZbW|n4qcq3CM1_;Yv#g^JF34!7q8~GP6?k5|IY5MR~h66 zTG+%1e!QFc3*B}(I(K}1ui`NgQ(l4ck)j{Qn~fB`0?7ZRS+QHi>N1{=BxAEcZa8H5 zgChtBt$^E43}3_o+>jl7hKz3Zrrx#;Oe{2wpXLbVCZ?60o`9IOX*Om)NH^q47GzxB z%8qfTdbzp34d)ErS@SVo@lev`LB9ge10a=rIG&3lw|!UH-VccT_8X!(-TfW}NBLSp zLciw(!@cMl`Y!rmO48JGpDeT85wOGUu>|P3YTeW0uOcjmK`^kpuW&rI%)T4k1-MOe zU#_c2S-+;FpVKUWrbpdrG5wM9@kp+cwA%tsYloncW(1UYmmoJ(7Z0LQJAttMs(|Tl zx!132t_h#S{>lpH`qdXy?Y!Kg=W@OT7PL#d&IBuT>9VF+aF?>Cu5D#O`bTl8aCgWJZaN-hBMA{!&)oH^_5PVdX{|#aeI= z>lP=kYmv#5eHntehk8(dWCu-UNmujDZc#9C5-Pwxzl5h(psQuH>pFRPe1OE>NbhT5 zI<&~_G_Uy}QD-fRruKEMG2ZS4<%cruD}j-3JYlBtL?71|zLm99IY3rZZ@wv<&*3Sy zVIm`?wiTs?T8A+MJmZ3;A-IupH9E`GcnO>dp_6jvd4({3-E?ioDaU(@&7+@Z+?{FG z-OM+OE7(t?dstlQ`wmI{dbO?D=Defw=$q*($f8lFp?5F~Es5oYK*lP1h&#w^L(F}hW>9`^!TnLKPps4is@7h`(1a#K;N z!Ecla&2x&>st*;|Ha>>9XS2pj89K_S7i~)He3cYYg2vl35>VQ5!w~PG(;~mTs~XWP z^CBrtJouGYDY`Hx-^Fn0kms4>(dQF(%_iQW>3(giho{!1uX`^~-QQL0qy+La-$@ML z*asbZ%D8PXTEC$>={6?Vu0YSH$X`)gm>a^?@Yua@>(w?Kd$m^cJ7KjL*$3oP^Lg~C z#|lJ-eCiaSTvO$Ht#~zP`|x1-PNt1y!SIVi%fqsbhU|WDP5drypwa%&qi^>}yUB`kl9? zebiiLIT}4=6g&MiyvuqnIs7dhF?s4;J&VF&i(vD^{qaK`Vfpr20XCU$H8^?+H(F#u z(tLYXfQ_CzbfER=(>kuKRWh;}?iFY&yJtNx)}0@fZ|_`*qcf=OyX86mebH1_ZqgLvFS*o0)dYt051!*M z2GzzEb2ap#hKTHdcdCv*f}>_;^Y zPt!+KFV}ly#9T3w@-6~}tTRY$k>$7bbw`#cA=E^NYK}j0MN1%3@m@#Ep%nl`R|!csHZ8%rdYu5e%12iGqD2is}djpZJA&7p+@oeEPOOnfL=8ObshdS`l;;nT4n+^( zBpYm^=w#(+A8`+8?=*WS*KzJ;RBkRZi_*_{t}sb3WiD0o7Y+?mMm+wV#O@*MIKge|)NZWAid1Qu3&C5^+kG&c^vL4+mHv@` zLXmE+_cgH{Sh%RS{Mr)ec!jibKEeM7d+!+(Wft!HVi+7o0mF<$(UFWuRs;l$NJc=S zBnO%tq{&TC3>e5+GAOZ0N|c5M6(vJUmaJlfbQ2^rNRs=kp1teVsathFo!V#Dsr^yK zrr-Bn?^;jz{r}HGOaq2H;mL{c&oiwOQ8KB6MBe8-Ms}}z?xv?7h`vjKnc9nYNuBaq zjoy9XQ;q%gN_tr56T;+5h*4R7uI*)*@j5bN9zV#H&vxw_(X{!XI%{#Xs(2;NIp=|F z@p2!&(nmM%aL`P+zQ$+CPgP0jXC`2Z_huC>&PT&7@yXX0$G7eKM_f;s*b3*d&0rFE zO!u_b35arvigGN>RT;XuF?sZa+DjmRsENs}aaqN2J?vq$me{%A9;nsi5iYKRxZ(R| zVAEN=zfs>V-P1mUgW+q!8b(g1uMPfEPRnk7cim?w&*w65bIjX88H{99xyPk0nFELG z&CzBR+~`ZOH9Zo;XZ&>KpZxYZ=4)fie=n!S7z^)`{b;oNU6|kzFOJGDuwa;!2po^> zUeclu|1(27np6_p_PA1AJcIDaBu~w4S3~bWEU%s~@MyXJePSCgEI*u1K zuu;xWywkJ_X+=ugl|^tz!nRCTlq?X!%mralw;z~ftmGoiRVB<-&)-VQly9zoJMIG^ z^6dVfjQ$hg_)sPChzVVF*fDE%nkpw=pXJnB5)d+`;S;evE*!FgdR?a#e>dgt_+%5S zh38S7(TbANclcPkCvQci?tYSy`<9(obqoZ9-7T&F=3QWA8|ST#YQpr`nxv5UOU;c`h78Tr6V*}`UQvas3=yT z%t}$)gdk%$=rh9Fr=R~Tkh4kJwgYXa__t@hVT4HfnHZK8`ADS=`-#cXxruO8^wHc) zGgi1<(7t(9R?&I5pZPOybkoL{@3am3WBUXrZ+R8cYF;Gm3|RcTP4ftL1=3XIVb_wtcc1W1j=H*!k)ai@ND6BFE_+Ypv`@x~w_Zt}p6?YNS>JT7prQJa_?SdSzGOkDqRg*xG{d+*hV3k{lP zbN=T)`Cc1ihov?^=+YaO04I%8lT!3URXP&xbX>>~Duwk=##wJbyTVX0=))-sUDOAQ z*ojpcg_(tTTx!z_ZtFP+f$K#a22bsQuC}p3qJ1s2pf=U-GEYJNDRktb?BpR#YAU#0 zyu_tS8mK(yQ4k~wN{MOij&rTo!`^<4BPvOGYmFVWjC7EWgJLex?R*l{w6(;mAM9K3 zBl&LxAy=Y8DIa8!L|X=SQ~q*6lWDGhPP`$W2kHTL76^7X6*FeC%HREQYGv~#(YZG^ zZ@zU=C!_nj_iPcQ*smAd6&HBVzzQq&O5<>K^oXkm|TEVm9ue||=#SnUk4e?JtL&&|rwU8IPHKz<+zm1@v zMy~PeD*r$SZ_Yme@0moyQ`)+ z;{$*F%DyrPJ=9MNK18u=vc}@ks0LIz3tDAbvB=|@ZxCFHBfFr@wpr#J9t{EFWtEZN z$JE+>K`I@zCqjQ2Rzg+slO_}YtDPD{;qUB6`~+tWJ@_V9KSB#wzwD90>=q4CTc z^q!}sNsXpY?wu3J+t2b-e2nAJ+2P8BZyF2`hiyBBOq)SoLspnr*QT8#GTyxWIa*!k zmFRtl#A_!fdXIoAWYc(pFbaZa6|tS#U z{DV;!(o&0T4MU3724UrOq=UwrS>X13^BIeiEu8*)XF0w!AV)+iK{8z`L96Y3xXhb^ zPWT}*bgG5nQmFKT$(aZ{6CKE>w~&h#8pAN*p}bZ@3di>i4A!q!;ve-K^BL9c^uPD0 z&Mo0;TRLRu<_4v4MU7D9Dc{J5jtK0f(xT^Pc#p5Eu4nA5XW$=cU&@7ar8M~wl<*0- z@V!SJMoSY-s#;NH2?LceF(NXNO1R7-mo0M5hzswd%NMW>Yug-kKn)d3diDsAzmBg~ zRU71x${P4RRX<0S%0Fw7D%2>eRCmilsiJ{H9rTDBhFwu1x(qJ;Mk%sPOaM2mGF)mP z(C_P-I_f!?n_4fE4xSouh&Y6r@n@KaLeL422z`ShoNL?f-sR2&N%T?%reQ4W0G(=s z8m}(VZMAW)*9=^@d$YkUgDPG0sH~5d5MUi9}0 z?7C1tjHy48P_Zh?@nnUe9Xdyw<3_)om7NIi_$%KthH(vg_q`ZU5Q*^i!@agpVWM|K zDYOW=sb`eJ*bb+6c#zu^uBby6Og}^L8OYnL41^{=v<7H|f6sbksAwg%di`BVfL9D= z=ZQ|hbIZtF@0r%v3!=owJU{E4%FmhYG=v5P^flhLr?Y(+jQJFVK?d&z> z4c-3o0=6dq+TzO6^1bfsoc5e3pr_ZKt)}#1Tn`|5kO5Q0O4lc-IuSN9V4+ltLPgi$ zve)iB3oa1}b!&GVZvZrCig9Tb8ZTVceRICl+??4Jb3Ko^sL(DzZc#afDUDFt_`X!) zLv#vx<#>{KR4POrM_svu)8x+_24H^QY;jyV@64HKi&HNok5YL_TE0d~028LQ%SOoL`^tPgM;hKiABQQS>( zN?;=#i?Y3^kyJj~S`VqD_W{=L7P!6UKr|Z6l!htBsnFs`oDP0v=x{NESDy?kwwSZg za=pzc;&sO$SV(N5LaSkLLp=5->NsY-j6NYI?{ z4kVoF$7D=~AA1S+uQIdpaDnW0r_hU>vUjl4euuOgExY(Qb{1UsH z-a}Ae(RFSzjIsz|u_aRR(m(Redzs=ld}YvNNC3>K5?2T1W;THmz$Rb0nfFhm*diJS zqH>(yP`ia8{r3oznOOX^#QcHa|8@X#Zy-)r3RV(*;op6=0_b-lf~-(^6@$>2!{RG0jzg`xf0E#G*h&gMMwbwX_?G@j81!C$ z9vUX}iv52;f~qOm@T_l0z=s(F42Yl4C^&|L$&qVbO!Oc7{;)zWcTUnJ${|!Ug%5tP zeg96O=HHQutHw!ybK8|gdeiMQT%`YMQPYM;P zm#691N|Zodi}!~$Zdf9*)vjkExi(gPA_aHGM(DA!Rd!FI>KR@ueDczNAe{{NQ!4*` zRv+#En?s@h|M1|yeZl{FRP}$p6)d0sx$Wp3`tM3p|IZTr-@HU$J7At7{q?`+M~4LT z9@y@-YO??21-|j%_!oh17`yFP~qr2kahH= z8HwxY;qu*9#{{-tMoGI7_VI3K9el2I>2%&A7*^jr3RIs|QX1m!P)bhw36s`v$egwP z%1a2n6A)*Ifj*}&;zQ8qW!503d$&ZAu$t^|$DnS0@`_<1-w-#?iOoDGJalZXix@BmJS*Dfx|>$2J)w^mrPfY5}!lD_N8FffJ|H+ zWW1~^K^0_)076YIRE(7lzdX|6!`)$PTttB8! z3^J-KqJ#_0BP*m;Km#@|vF;l`J+5U4xomYM1N1tt{xAl-?_vD}dJz4CkO~_qZ4QxG z*0&z80d{Xl*KRth za4~Hb{&NP%^uKHYWBX1$5>YLof*>pmNbzn9sa+#O zXIU&`qc0EthEMSZs<+^M5Vxeiz5SRsLI~hS@s0Eyq<~mhkLHm`aV0oF&0#y{ZcZ#J zj0E2522%u65GSTlPATFjFYRTJ-c`i+3Dkf}wxDx9zqU5u=eyuPG2(84ph!CFqnOT^ zl9*KyqI16njKd4ZRhUANRHzJkUvW^Pyi=N>VHUJb?k81(BYuInC^(wLw?UPn8-Hy; zq_9Yj{{5}^RwSNdKVIBtK(s#m8ck#&=ZFV7&^GsSz<`6ReDHf%w>9XK=r;^jbo7T@Ee)<$h>#XaA%&F;sn|E&!mm@B2e3GqW<{ z#5im~^tj0k=7#uYKrsx3=$}9vQGL1z>SImp*be2{n7_*olk7JQqPI>M2sw`qk%6WIlnJ)ITYe6qdqXs&% z?Wjgdxzl^!5$1u5pg*)j&vPm$m@a!`@PxP31Q4)Ip1istL?)O^0T zA0Ok#(JN%?FBR@-!Pqn0E5iTNG^bjBb6M{nS6~wh)LU~7e1@9(&|2y$xdEwZCVKBv zUfUnkVM*58BUNn)$Ep36d$6r0pcq`{#K>1jOcR&y$S9>!Gx_J#(*YTFxVn2LrtK<%jB{F^v( zo1@jD#-1~fWYU^OisDHjE1wItKkri(YK(sA05s<*REVTYhh9B7{QK3hM&X|Jf-2yZ zjo#|)&ed!$w4mXGN|P2}9NwF=?*`vb_0MsyB9`LUfT$Y3L1R!rV!wYil?PJZ*gxHz z(Ya%aluNYjQJCTYK!UZUcm}{~x!lk{LwFIst%mG|&`FZ}|CQ#k&hU^@;BaPYhHw^FT&X>yf&jZLZ+ z5tuQHkV`rn{wFHplfk7%81}8rjomN6;Jn%yd|LYJas~}A)f1eNqm0qNyU^>sD*9$k z1dbLsR{Gi41HbVeFKA0fb|Sc|IXiV>?h1F zr=pX&->CM1*1xOHto*3Z4x4HK^drR3e%Bzu+cPr7HStr$1UBH!Ai8b<9ibQyq|lXs zwAz(XBra=%XE`j(@)0ZudKO?D(CJ<3>W%$+Q}lsRL(tJuFU8=b#PqYTnCI4-S1GcKUD5*q&Z1*cmN!6(PV3MuG8llPOvJb_=YZ9Kn$y95k6-}0 zwtp%2qS;LKb#pFmr~dQX*L^g7;e1$wbPy*ykr2H&Kxs zvHGz%!9qvaD{(OwnHK~RqtNeVw@h=r!T3ybuS%F|QwQw5unBJ*xTEmp!I3sWrNt+d z#hViw1Nc5p^uwAMD1VkohaBQv0*4RSfXSyZU`r~FoZ}2akdm^nX!alER}B)`AL>@o8KwU|pgcZcqVJ9O(tKXOtC*-2$~wByS&x?b=!0{a=%W0X;3o9hK%kzCqsP;r z#>Eto->pI0R~&I)v|o}4Pe)4u$=(7v@$?tI>JJU@YC6E#y0b#Z(%yy83AN%IysXztP}UPTK~ z`nN$~XqbBsogU=uSZzGd0&t5MbT}L!*^HG6#-hd>qKPr6DS^<@q_$*&BHDz=aL@^B zh`zew#UriD4N`R!LFe<7{wH#LYw7zGw{N~jY5|T#rqBJ%AO{*m;|KHd0O9Y@bJ;}R zI~?Hhi$>Ksj)pKX>*%B@W-iyUmXI={NO7&GavXzADSLu+7L ze#!58=^DWNm5zVTswk1bS7VB@2*jgU@yYvKXs@Mr&cS z9IGXCi{zEuGIEDZupJRU@&d5Q?B{D z=9C93!`-ak!*cV@qJUhzbzf;3-uXHI)TUfW3d&L1^Dqm>EXa$tm5so;*oO4Hu268t zFJ>D2N}p)10LkNBS5dO-TQEp(nAp_8FtO@UY#?zfO%Rt@KZ9uiv&`5{&Qt^)7|MEh zP6Aa=&lm8`XpA0hy|d2)#Dodx0PLUMfP-|rM@B9~y);f<)EJOWI~=fS&eUx;aB34n z=PcpZ1Sls;kmY&*!l`9RwhLKQ+Lx}5#4;4=EHSd|5NR4# z@PLR!AYw=aL(c(Nu~*j)PoheNNFN_i1Wk?uvd_xdmJ`n?NG{%VLjApzI6Kk5lNTdMb-(~()jjKkhYaCT;@Q^Rtj z=aOB`rviWfb1N&eng1w)0gO8Ne5vrd%e?AAQC>Li3>kcCs`N0}m% z+1YcPM?ef|n#?yngCgAt64L>XBiD<7I@+$f|75gQsA-ei7Y`(%0lu_V%z#6x$#Hf1 zNn6c6hBrHc5{`HKh@>=!V(j3JOIZOqZ0hPx*e1hxpBxpI^B|YB z_gU}DW!XHlwKIOTGR!W9!QrIr>mDwqV9>vo*JtP_6tRS%165`8;QPK9i+e}X&~n{z z8@M#t35g6n2iTN5lPiedYg%x}d~lhk7^1&iibMRt{F}w(Urm!;U7C|97;Nf=Q&I+x zNyWqsvUg#Rm8?A07HhOta|JFJ1fcsPE_M}^j3lZ!Pyg_E~RBRFU{?#>GflQciG#LQ5f*?aDr z*vlmQuztH`kO_S1cbYmUJ>J}!5nis&m(nbI7l)Y30OFF+#q4R#A?w0I^ul zT5->*>P?U%U8hU?*euyB1KiJ?b1d{BQq2w48<2nl#kMnR)mut;+!B+Ayf_}9hI!%C z0=}>WKQGaB?1S8T*N&|s|7bhTK5<4K9M$c91~OW^E-=M=rAii_+*4bRgrH*1NEeGg zpsoE$`lTo1CoQ!`(Mi{LuSR#JU{XR#QuFi9Ti{+{2$pMvL4)?6;LT%F$s_%P9v(>@ z_M2OITIi4a0Ai9pH%@&qb&q+^Ayaes)?IxZSJrZ3&TIFF@kLsoC zxEitAp+_D@(})$JtfO3_p|;Tf3;Zz<8RHc;*C^DU;alL_>_uwYdaq=6nPGp&+-RZp z@90!)!>J@_G)bWmO@)i^O(Qcm~FhzT$Jvz22q?L4NPL85+(83 zqn9Dtg|E2;cf74Wc06B>$7X#nyf4khU$xO|z-~&RU1a21lV|%g2a^mA|68vGdVM5!{aO*m^mOzUEeLUXP+#zVPZf=GPoXeEbO`onbD4QthihkZcQ=x^0z- z-)&+jchr1jSi9jf*Qmk&kpcC}}x7 zwYiUOO+p9O>9!0A(eg?SS^O#LI(+7;IO)_i52bU%UL(Jf;&w=7q!k-ETX{qcX+4RF zV33ghJuH6|6k&mpBRW^~f1MP(Ril4e@K?_(z$0eKsH_zqNf zXq$nYu{}ScO3hl3{NJ2tA;x_NLZ%y~BVufS$bIR2s3XQQvJca_Q?+CHE04CDm!gnN zQD`(}{*%C0RFIJ(At<=aa-!t`i(8|f|<6AR_e zrl-Mw^?tqf)B>1xaCT!$!fpLI_t$)v2VDfbfCHBkZVu>PBAFQ@SDs^*F9xaDbDOuR zXNR0>K5BpGGSRO2&Lg^4>!bd}p%g~)>PsPVR!?RxfplfSzbY+&KR}K5vZAHeU0H4i z2Fesm??52#Wv!{lmiEB`rPJ#>+||ALDb{PSC{`mzf~q26lk*MP79Y7buH1e$+zcI{ z?YA|vx8>VUHh(7Uy-_Gy?OeL9ep$7NBPrkd@e0Kw=jMN`X&1a}hjV;LF|q^N*Z?aL zna{=#h@a9!PA#VmhCg_X0tByAIY^lBq~%%b`@g*_4)HjDTs@HG87ZQu9l~V4kmXPr z#=I=W%`S!U#Ry7`!-dXQWwe^&=GIh8PtM8QUb(>wirh{9H#25??xv9ziehK?4<%w_ zuh-5xt#>@$d*NT-mDZ}HZK2ZmknxS&$6r$SMCPPsWQSQ-HLC8RUHEe4^e!94IXB-% zu8nP%x-K6o>6hXCcnz*DIW<`X+==A7E@Y)oUZ|IfT;FmUTN@?^EXV0<&-kR>h|C(n z2PQjBE}D$KcY11(W)v|M@RE&MMUxhWH2pPF9FX+WtBe-Yo2R95TxY7!b@(N?3X4 zU@%dTqVSB0N!tH#!?hu63l5CZsZ;HWYuDI$00&KsVu&uXY+sv`iwSpdO&Mx`xJSv1#rx#=CxYNvMX~$lfG%=}SZza#2 z*;Jhpj+8b>imi5J?ZF}T21kUm@ymJTFYd?czXf7_T&p*K*!NKdFJ9+#$LcD7N+Zxo z#>vs`VG*A`yUhYFJ?yLGZ2{&#lBTy5H?3AviV~lk-1N+?WeLTe@AS@?ArU$~?P^I& zYWZ=s4@bBNJ*sB1EH-!AtD*5l8-bw4{)DKt=&C-ZR#Phb&V!f9A4pU<^H#iU*? zsRbg!7H_#K3T+|CO@uhO1zTT2rALhkr1ji9Ad z&HVyfoE#`sYGNd}ivcO+7;5g?H(V~7myA0?K*8;THXhA>Ca5|j9+@_~@a-Kh+cP=8 zW8e2SxPE+W#-6RQuF4G=XJELBUm6-os*I+v7DliL^;UM{6=ownfR>z zw*{n)O}jnyT;kt4`j}tp{?q`>FQ}dgHl@vng`4FQ!2zX+XZitQB$S-WH+>0pe&(yg zdN0H=z8Iw?I<$-h3iA)*gBpqoUH81$_$ov`jQkUV+WBr-axO^CndAvS>gJL9W>a79 z+cn`m<~7LC#%k*~^;O#P1&59xg?3Ol%Sh+W`~_-mk+zFWdkx!&zBp!mnx(Z)M{E{} zdpTA~GB7Coh3om2v^-rctLUBCCMeLHpQk zWfG|8=H#iT`9n=L7H!4`*?ta1Kx(-|+1+4(+wV!R_7pmDt07|aU^L?g)k*IJegDRQ zU+Ez+ge|qz=(w-REh@EUjJ@rXx5Ohky!NZD(raHVXV-55FG@8#|}JC6a(fD7(ebz*EgK_@Da zv2pLE^)~;!eH!md4NVgLTnBu1Z>(%|OdFkUp59Xq5e@Tq`mvFfxnE>Q_bWkEHGbeB8O-k4ddE4sh;aLp>0=A}~2JEu1> zUE3p({Y-y&aPv58zBbbzz>Yn8BeZEtG(TWlr-Y*V4iwcBUCUkUhR9}r6DO$`#Cr1| z9byO@?T~A?G9yQnp{;tm9`ywiP|ej~{ho~TRJIKBeTVN5jQv$?9rW#+%L%#G!ghh| zi<$aKp;_Npsx~g2?M)b-NNeIy<#o|!8R4oQ$>~1HCL0}E3pI4x5QQBI=DOupPL{0C zL_~ET4pDmwjM$nVEx)N%44yq6ZdUhgetZ=ZQ_Dmh|Eoqw^D?e5wWT_uGKxIxP=uFZ zCw~`}8kKlPW<>&0BxsMo6pU`-NO?Ff3;>h#BG z+&7o1vsS-Yw3xr4m8qSOx!$PebYC~(RxxuM(=a8ZbaXxGcF7r0JS%uD+zRCA=Ja(arDjl3<(GjUTvAp^e?^~Yz~t#>?bYsy*Qyr4H2=H8P8}gCYB#*s^Gav z8CQvZWB+pL#$59rnibq$Yy;59q1}wfh zW!pB%_1VNplqe~af(9)tB&fX8fkR?tk$hGztYX-$LbrDf|^*bq!kyxGg&1qO^ZmE`yq}+Q!9OaCY(MVPHab3d9s6@?$5dk>`|XSR zmn8God%_hYq{D3+y6mjX{}2uTem{P=RSM5_k`j{s#936?2F9v<@$mP) zK|Is*%cGx)v zbx2sBZ^mUUL#9v)kD1p@ks&Q8jq5bU-EFvekB0G$eThQ?!~Vy$_>u;3wJn_o)07%| zdW%^!mWIYS<0>+EnQ24mJmHh>^&_}Z%}M`bnw~M(-ur1IUh9NSfOl|Dj^wfoE3pHih>$H=3*;%_^@ z40$qY@JxZfNXoEhm_%aq2UQIP^N6bY4iBlIPacDbK2k9vDxZ8*%1j@o2nIHI2XsgD1~r z{?uOGmZx0*dpRcLQC5O}0*3R@BaubvLt*{X>f(`)h)TBKjExd=V8;tGe0aU)3Faju z-g|Q04;q2_mF~3$INabeG!GB2cybD2Y=h2DOY=83KQO%<{v~EP^t|ARR{F&L$v~Df zN#LCoc>fA+pl?Jy!l8!eF<5jpEO2J=WaL?d6e~uUws&h?aR?*X;hM(O9;d2o474$= zhZVJJP1{DUQZt|U!lTrVnS0&KuHTrHyRuY7x^wuGk4F)As9$PW#s__J@;~QPuuA8S zQqSg47;7bWF|cz4>+Z?c^~luohz?zOpv-iSLTIVEU!l+R+RQm;pYE9Ad1eW(%&3FH z%Zs}zUy-$(qZ1TED8i-_A2v}661qaTu*!sB>bsZbSdDB>K{`zjW` zIP+E}n%Voj#$D5$U&vo!#;__hz&pamy!w~Uc=gD|9;$-ph^2M5%0^8Ooam*I91cIU ztPMHyrNSFPc7zXp)tecw^26c)`*;TBWxe+x(J%EP zrB@=A=k$zuEXHU}rPc0&_-fv(1gWROq~vui*2&cUebmojDnQ|i6x_7jJbV5S$>%0X zO-k#9qG0PZ&c&8n)=_%0+_y+8!RhH2_SW^!#ziBe*%Brtr*~ON>BdA*{&9yMDAfpG zP@*<2Mm|7kdXoBiV3)3qRr`i^R^7nu`L8ZU6U-S3WrQ04Vxn$&zdd7}bLouIp|CZz zMXQBD`H)MB^R3rS#Z?8%f~WkSyXd?~N*@RvuqbV}m~SK|oXA&F>ffcC9bHrpsZ;Ho zBHzt@K0FlHp5ZH?LuXgin`6e$(4vA9^uOZ8uElsIjvuP|NwRzAduA)*y;XC$g;<^| zS-SFUYG9^UEoYJFKh^*5QxL`=qlX)lN_{zwWf4cp=$&$8VA)WX%G(W(A}+BoQZZ@m z!Och9Sk>mz0k4ddK>0a0>CJM#ld|Kqe};Q5nC$zb(cHC|!ucix2~wZ!J$D}RKUa*33) zP;fu@sAYaCER(i&$y`sjAJKQ>y~r4F%y~4@yEw-e5<>qP)-}^91s~45V4-HhXn#_= zA;+xT;Xl1Z+`5Nf8zlyFs5^0_MCVsGW?gzV5OROjrMj}nWww6>?V=DBf} zxM#T~0rMT&r?+JS=+!HE(%p$8-SBv3HH7_RR6gusIcH_eZ*Yy^RvjT5&Di0}H3MSv z*{ZDD61>}HGvvkFq7fWPRkPIfwq=j`m@@q#!)3)uwSb?E$HjR2L+LLKjU>!99FB}h zDdcXY-0RfE^UawDER>%)uSrwkfu;2xm_AcRobr%h{^9U?VO5}DAkgRKqHUALy-eKs zq7|t&J1xcVV$4v_DREijY-f|z9MFo=Ui-veEYT@zAhSo2O2WG1(wn?UkM^pkMJOI| z&!Euc)TmUA#2H_pE`bu@;DutNq){Y9bfq+omKmT*M0{5cpeqcKHQ*b?Wk^C zEfcTLC?@JtA6tp|CA}(F8Di*j9-*^>AIHqX4y>l8J|4tWV|T?lbUn0`wbUwcnFt@) z6-ZUk-zS}(^~N{}o{-{8|8FOYM;uy>s2_|VXb@lf@+#_cc0I3rjsrF;g>h50(fHni zcg>q(uJC!NxRuPuanA+xGe33ka4eu+fBn-U>}6k!k4u-O z_S~i$Y`B>V-sW)0S1_GfypedcGbq`bbltL;d01F*w1nn6uJuz!S~*3~NjQrjYQkwi zbETU0H8{r-#y~Y`FWe zX>T4Y2{+&1qMSTS40EiRl$hLog;NSA`NQUz>Q%9Cj7|ZXybIUas5JAKniM=udp!7C zSN`5x2gGtTDIwowtOk7Sy<8(I@L#dh%-;7uTrcaOgv9UNSImD{p`iJ2!Q}|& z;|@R4k|2EJF11#{jS`_BFtaHqTh}3KV(Yaqs~S0njH50G@vnd|@SCv(E1!jvV*2!G ziPu)Vx5H~H&CcUUQ>?wB#TIBok4ar=abE;0#j6wUIbIVPNo6IJbUud@C6SxO%SMHF z64P-sxl4hg8Jd*CqwCztu%0%QO7*b*nIVfwL>=br#A!Y`pZw;?b}0_ZCu7S^+AzEV z=}AqS^jF|M$85k$2kKD<0qNjF{c6Ty-Z%G|l{f{k^7(Msz8r07wHh;yR#;XUsTI>=X@3+?kda^$#OwO^<2tpm_C@3U|1id46HPk;D) zjW3$%r4Ydsje#!swY4qn`2mX)MAu9n=X$}O)i}m5!lLv=?WWhNt}>%9;eo=%(#B6p!|vQz(`@@ZRD99Da5QZbF}{71>oy0TAiuRyS#7gI z=S{ChEzanhT;onm>(r(a)MUMXwkj|B1Z{d`&^=;#Pw`rZ-PpnSwSwj_jweZ#mU&r4 zVsr6p+d$GueP)*(8Z0}W3gj$CX35WF!Y2AIUuoi^lYF>V)UIjie9xwR`7Y4w&tX$p zrgy_2`*-NjPAUk_K7etNA)Z&+^h>qKqAe1<0^+my_PV;{yD_Idr}?I17LhHU_5GUz zz0k;$=Ev=L7aC1pXL3vgp(Vw=>O(+@Z3?wwZu-+R(iCCTV}NEQD-c#a;3CZYT29Ps zgS&NEYOXlEE>=>aP07--u}`snsb(A}ZC3k)phMe8%~oP0OMge6qdrB>@lH(xq~}?E z#9OGD@Hf|vU6Y-=44MASc@>YRn!qDxSF&b5bAd84Z6g|=EJH#07@P9~LnQan68=@DX| zLlm5E<^<6F$e2CTLNiB`;zKi6x>}xz*SwG@%@}O|V5qHUXPcDKY6Cv#`HU>u4ACK_ zGBVTuoM=DG_IOC8=f&T&{@y}fX6E~2Npjr9KCL;AR5|5(4n|2`9^x@wIJuAmAw7S7 zXIkcvV43qBFnBk3du=te&TVza>>2rMeTm0}!(EC+33}hH|HgQh)l*dJxY_nONjx>1 zo%&>Csd^krX8n?9m*f0euhvq)hn*8JK1mlmSy?I zvhM8fAXJ=aJ>{3bXvZjBz6w}MqB&kAO6K<|Vvj^@NQ|>!QplFla*9eCZsho!)q;t5 zG4YBNi9_eqh^bO&dA**B5VK1$(G_ci=_S`*?&s;a-*>+lu$Q2}6Q5Ef^G@yokn;g;Z(U1+sB#{+6R+4DMM$m``k{m z9eYvpn#+;CeL0K)x{43EXLj8dhh4LCDt&8M^P1YHIt-N}YM`%ZcK7r8ms;lrv`Ehm z%%|)hesGHR^RG1AEOMFXf4FXc|7D$a1nCY0O7J18<9nk+XG9ydF%KMvj`y%f)kYmT zpZ(=lW^J^-U41VzgO~NY3nRGIW?2AlF*3GOL1}?B#RWed19=hVlQkONnPmzlQ%I4& zseV8FhJ|2r%u0Si^$Qt%&fhMXA+H0*UBOB{$4F)K-&Q_sUf-Q|CQJuz?#4UxsszE9 zNpixZwv(~qD373nP}h=rqv>k<1094QPE3qMP7fvYUNBCaC<^~zw|r%w-6KEjw-}5M zu-r7-dsW`e3nOYE=x6 znP{ChyO;5O$^-Kp0)_K}1th`VQ0WY1xpcwvEk=dh%H^VEY2HWJa|CbfzMJY_(J-#U zTSCLz>-| zAGyrvqFqxRj0>=-ZIz<*Pg^KmE(bhe%DCHM%;t`!TS`%b%sbCvWxHIofw*_Hqi-H4;uU5!-$sU-!^#5B<+ob5JcrjD<+|*4T5%~I!Mc6c9OO^&%P(9t-v{F1g_mPRrp@@2 z-xX-aUEcLDFq5^=$F^(#;e@K=)yo@l$7gKnltWXXC6c_{){UOxvM7UebKRLk6ZyWcc9XBC`2%Lyr>L^-UixwuVASK6@f zP*mtjoV&Wce7eB!YFwGS36IHf6M>|3vu~_+mJ2k(EKTYBp>Mo0GDn=Y`k9iA|=o+X<{ak)pX_9e~2I6?_OOmA9&czPH z6fv`YuZRQn1wOjvIjbx1JWZH?uLYvli~F+-t&MI6LmTHM_B1($v8i`Q4a-8{|Xm$&-5Ynv>3I87dw! zNrWqqz(Q@ppY8y0pdA$gmw;3?imZm781hkOdmJaE@d?}>WaEJA%sdaXx(uGZ1d&7n zvfV)QQVk;i5>TQdGqn&ML>4162s9zcVCa&7^1pvC05~%|D|Ex&2%*Q|`hRe`ll>nM zIyJW;j|m6dm{dUntyNR@hAl zg>OJ~8ADlwna-BSCOItO22Qjg&4S`M5b|wE2&OU##7&9o4-k~GwLJodMJad$@m~<3 zTS(eA2GpdTj^`2tx|VNPAJbMcu|wA8G+&?|Q*NcvHh!Md{W&`~3jv1+Xn-`=;dnPe zmQEBO;KJff=rFp!2;9WAyPs zz^Q;8+td1J@-36yZSq7|cWw6HBIY;F@W8m5p1oSB(*;fPsR3nOlu64xuL0`h zZUIIHufb16&d!2!CU^+uF*mqTdI0FBS;4ECVhqQMP_D9D|1GYN5t${1NSQSt9+i zx@Zuj!A!_#Aaa~On#}J*<^h!g8DKaOhOLYOZ)eYe`#p*wm?7)8>@^XCXc6=GDu?2Jd-bZs*=vV1UrwgY5=aCk zLRIB+&+Nx{|I86SY4B92M-_$uVZ=}*Lf;-Gu?lx zLvGM3&7*#z5UC@((qWRNOo-e&`wQK@PQaFR@%-@xCC=Xkm#0ako%bWau|p|k&-nVs zNBejgCM%+2vXwb2s=BKzdQSW!(h4&p`2DqG(5SlmjfYe?ePJ%`ZC_aNmz4j$`2P9Z zLrmES9=+K31%|w|=c>l>ZMSAthF8&I82d+SJe)|0pkjlskp1@7JJpBA9}_;P7hYJ9 zK6(|iQE6dKcmT+|$jXu2%vw+ol}{fL)b8N1dMdx_U;Rqw*~z@v4>?9tfVwG1C>@tjq7dF5< z*^FY09Zf24czQN`%_^hGf-rW8m>045{i;H*%d2DlK}0~pXCHX*&-n{BIi~cgp5F;;qOIF=c6z@yH|SFyc5M@1FsMXR zr@e0kDql32+9+yU_(bw*i1$AVS8aHXf9&p;=c|YiKCHZhTJLBs>mg--@Tw{E3j8s? zRxg{P{h9U7&&xld50cQSruEPLhFj57@S+La?5IcwD`my=z;oRK!xYlg%c-eUhtEhn zFsvot`>iuoPC7*(a;?zE?q*F0dvPlts6>a4TEdW0X+=2rc1^n~Ra z0&YP?t9N3~Aouo5;%GQbW#+NXU~3gt8`sS~uir zn-cl)($dGvtQciW7&E-T{ZHA@hV@RjvI{3LO5^9H(mpeCIUfYDFmHAOXS}tAq)^)# zbM;`Mq*6Bpv%6T3?D5M)`NDdA97nys45lsaB^cH}fQP`}@l2BU#zU@kfD_Ns?fTzMQlt-Z9&;r7Ai$t@7z;13(WqJF9<<`~JGsh^G%VJlP zF?TFM>o~M1`1-A6UKsEhxFIJ&O(CV6qw&=sPT(8S*%C|00v(hT38g*J z#bn$Z`-n~wI#JRquSzmmW)I2np8O6bUxC8@+Wwv(v3TSiFI+wLPA;wL>C(}W(AHQ% zJ1RF;%mUI_b)t^K+=W7U7p@l~U8mrXF&gM9o5-iexhN%4vtaz}sm+qSRIK_lX*+Gh zL5o&!GK{zH!;+GD820arC8f1e);6E%I*U+?+gza{v_4k5Guikr|B=m<= zJe|bB$h*GX+o@FFE9+Hht4UrjULPf!X{A|!rnk%*4J=K-`=nLK#bx;t)y%;!Yr=9( z8cCWk(~&Slwtk*2n5^txLc);|r`V-qpLERZ^n>Jf-g|IRN!PEj@6s7!@JjKoO%yiNIjLJRcYB0)KYu=c-|TzyAolM7AbxFRM;#V~@15QYi{h(o;t9t? zF~{oI*rv={Jfz<;>pop0hs;5K)*0jj4BlUiu0K0on|I<;4>6qLy!AGGkF5CKFuir2 zhsEQ3UQZ`4{9p<2xp!3Z)?U{?3bol^Dc3kWk^O6Z!kzcs{S&^rFYiq@X)*PFCx76H z-2378)p~$7+joy&^>sO45+H_o%6D;iGg(UQUgZBn+*^1>`9^)eilcyllyu4rrAXrt zQUXIrmw+@PAT8-o5=wVB(%m2(N+XSQhqOox9p{?g^Stjl|G`-c*Md>Td+z&+eeM0- zpD!jnYmS`n;a_``AqDlO$l$3VNPw%|(OG1;I}F`~2^C>}e%TaeDADjdW;Juatp!F9 z(|!3b)s?_bVCnNcgq6@`WU}^&nojrGFL(UotJAts>>Z9TemZ+ z4B$poGA%Ynw{D0Fb&BNuCEH79xfX6W^szfn+t_^_M%<3*d*n?KB?~beOH0`$o8hKy zBD?&Suh1J0uSJ1yNfX?qOpO zw`4o9Wzt5%%;^4U!zO~1ZB|7XKF3ey)0l{&yIZvV@60Is{6n44>}e#be6n!+-P_|= zxnBFhO4Kyr1+y3JdSmqPx@$S7Kzl7>#u~G)Fw;6jP`FH4|NJr`M)rFocbD&CBqV&2 z?i}_yc9Gc@0GJC(dV3Cv;yHs*fvc~?8dwrjnR>BbkTM20OnNi<=jjjYPpL-u+I^n|nf})@?RDzEW^dak? z_MOYU_!qlYX>&HXw+UvG^vh6`fzM8!%dqjjCMO&Z$7YHWJwMd{jgo+F31m%g<{T$w zjMV3kT}V?fQY5yft-Brx2|C!h3*c8XEF9$=X6XjCy!rl@`OH%{{UDX$#J({r$q5nPOuUcrX-+vtyi5@3?oFkF7&i+Y8Z_AR8@B_RT0H93RzKMilG%(WK|0(kR zvHTo6lGcIvBbcf0TZ=F*Q}r_|%mgk|R9K2iYIQUCh3d6`eh?WJKbg@MebZ!$sc= z3i0}Y3=#1MNR~qnR!fKh)(t$V)O#_~afN4#Pe#cR178YmfDTrlYfIXNF3cW3+W3>` zCtfTuw>H)vE2bwo9OofvE3-|!h)<1kVpeF*?s^la|NS60awv2?(WFOYo%|z@EVs|z z&O1Wmu+Dvv&s!WqYhWNWUKPq{m7;sT_cAlFh2mu!KEX4?C2w^8uvjfBMWRcCTi$ zI?qyocAD31@W9ZEa6E&WC}pk6bo-i_}NRTJ=Ix%}aUZme2|8|DI556AP2L4#v)Xc?+UlPr7 zZsT0WRCe4fCv;eZnoFF=-*Jyrobj$iZ%T?o&ko$=n?j5y2QU}W<} z(S?YVImZ;~iNLJHY_u1Ci!?Q3yGyPO>3#jNFnlQ*4dlqz7(!{DE{8>M>PmN#Gxy`} zKTohEZ4ok!^JuTFoZl45ZuutPvLejh zYO_3gdjci#-AU(`g+sTs_xAf_ z?{3W=lG+$jqOjJ#671gd5w%zf6(bPGvk8)6BVy^n{5GYJtnpps(g|fn9oBgpkLzaL z5oxBW7w`ZKfK*gbah z{O%*7>f=Awey6Kn`6tYL{=%|Gue?oQkAI*<37wtHHKoH`x>6 z&|$yIH+NN~FlXp6H^%D1@*iIKC;E`brrhbtq%5KQ#FH5Vqau&TDT9SmOc|Ow5jd&B zbhsG&S%;FE)z<@|n%Lpgz%l*3iOeaA-V`@&gf!}h{N@`wY#X7 zi?ZJPgSDD8yUW++4q^N&0XnI{o3cuFytU#GHSD?d*^{R;-rRx~RBEYdZ)A?U-w~Sr z1I}B+0g^asXDYM;rI0FckXQMA%1Y#W)x?}WBty}s8B`k}_FgizhdE@$@%4f5*lLh| z&65G;eOc1To{a=f)tZI;!pD=mB}M) z=nXr~K-amiGw-5ecCRqew>`sg4|&o9JrRHs3EzwmqgigqGk>R9HnL!6^M_x>f2tc5 z<#)xN`X_Of*6HZtTXJE(*PLyq${Ses&34(%hro|g7)_~8dn+DP>)Z>C!y+GP3-aEc z5?61GL$^sc(h~AB=c)xY{%F-Lu(%B|$VQD9Oh5xEW#%L~F}+kc)Q~b=u-DY$BUr+} zwA}JpxZ3gX$0j=Nh*L>(>_?(y4zH)m_u_Rfk)#mK2%GtP-*-bWH;ov zr@ySdP2t^cZ12HJ-S4;iK6ey#nZ4=VcS)wP;DX18gNwuVCREZ-?2h!u??qANk{3hI zv}4#X;9+y>>%K;;HcguYeP+3LJ9v9L22A9Y?T-`*YV*H8JL>KJOb;*O5*TJhWZS(I zUkcxkS+wO^rn=_~6FeMy6(_~XyTDoH6?{S`P7(FPzJs>eXzYBqec#w)!_{7mCJ)!> zX^fVLcJQ|a8E&7t11;jSKTcAzoKdbQqD&OQXNL0R#rPO1B0&qgFCJ|-1Fdm)#05J^ zF27OuFi43jwUF(T_y$3~o0Qj+K)6}FtVE&BLAkHL!P&YwY+Q6Nvq-8@_80s}%nczH zg6c4}h7OZBrie@gl%}uNgqn<~n@ix;`T7;N&gjS2mx=<R&*@4)C&p^n!; zyVsHGLB017>Fd#>%^xHvpU6s9rg;gZ!T$BZg2iS#YDui&-5g9LL8TT&Ru25%J1sV` z;x_W0FltMFTGOhaTMa0G-2KD`e2rzan29PQ`t zuI2q&$`nm4edb}^xY8g)PcgpDav!77eh=ploI~dgOe%x@ggtx1#53&bv3DI3#~ylJ z>`ow<`XQ1VJh>8v2rUk6!pO70_J=1@Sr)IcT)U~hC#-F$<5sFECY88EF%8XZF;Y)X z-Gwj1+P9b8y6%X2#Vf8q9ubNWqZ3c6YoW-Z({{LXy!1{uB9rQ}+G8oVd0~eE`K^}Q zCt^e#rOa+D_B`xGJ{kQVrzTp9p&JGmHC1Tg+GWm;a7~gUjDR}NCi6Sr<#*azp_94w z{iJ~^1DL|UwR@=*3wFCJnOnyhN|WQuDL>47J)-wz=j4RC4wm^U;%%wFj98w3eC<=O z^3mJD_&3zR!lb|rwRTF<&8~2)KL6airv!2dU zM@hj#3GzB#cRC2s1n`$`4KZL$RoHwS7#mdYlkX+BU$Ar(?si!b^sMG;)?!PB;Zfj4 zOAAruspV!#QICY$7>GK))hDFW0KWxEqm0;+J@Jj+F={NyF@Ed}$MZOYDmaA@3{ZP&O^Q9yZs>88;8*WZ0zHdAQEDmmo$1^Oj6~ z=ZBy!Nl<##vBr*KT-45=w3eZr^n(Sva`drm1Y|~j49%V_mNNbk8u@1H$3cF>fNa_6 zXf{$1Bbt!DqDoqqxoFdNh6Zo+!#Qn9Wh$8v*?3t8t$!kL%&m!fm?ALVMWD z^^h9pzF$Nmcwq9<7sRD`338E^!u#f`KoV1h+t*XTtUUEwxsL&<9(r4!duVZ{s5$>}XeIlDI2Q zH_+zbG!kzzZi!_CWxUxvS7=1si5DYmUYCV+ZVikYntKX1IL~tFQ%O&b=vPN`?su5S z&uT7&?**&<%XVsgyVqv^!BJnf)ix_qyPz;!`(Q2i}9&Vshnt3s2jP>d0R-;a=0mrux8;>_OT_(2MU{;{us$0iTO=shrquw=- zD^g9%trSKdj@oEHPl{s?V`m5;yY~rFCXSEv`4m%=P)r|?h!3lo4a?bk#eA8icdcyG z-(t|pXDVkD2 z+JD4cf&rrp(rls}V@aROrI0sY^s2dXIP`_T0 zZilvr3U+q?l09;*Z&6kz_{O<-V{b<}I>F`=3 z!7j|)8DzH2di{_)c{y1hv>dX3QIclyt;;rubgK5sv&BU*|`^N`knh>+5Fl^ z-Ko?Jp?32=1zl-IrofdQVWEz6^gc-NF98h_sDnGa=0o-E%@ zPv11eDK*T`n`0v0X00ZaYP28g4djZgx<@cMN#Aq&x+RPq!edIDs>U)&-R*cuv5fXP z@&hfbJdJ4q*r2r=8hMDw!jmPOLu(0tfChtf;RMD;Uap#D#b!S@7nP&NNMQM-~7+DZ9li^;4uk9OX zIqDj=+>md+rcpM#TrD5l>>}PG|3>eYe~A0-U8i&pL}utE!O4?et%)g1Q;%}z5HLZs zO;AXQC|JQ;YNKq`!be|o9UM2@V)Nji4!$;|on2Or@u4W;(hv&a$tP~Y}d-*hHEG#>HQsJPHVD1kOHhY|h<5S@{h%i=P{PnK0 zk4wmLKp>NkhJ3u*$;9&?fR zd9urqgNfA{X>~khc9E)%t6t$nRa3H6pZEKy-#q@U-CtIRzcRjhTh1<7G@E8yE*!*c zyZ)b%I%YB$ohlw7OftU1;{w|l>)sZ-#(5+}D5)$m=`6g!1kb-{C@AR~QyYyCG3Q0n z)=WbQmGvVu;Y(*WnzqOhLOx2E*u=ziDw7$Ts#zk#wg~yz50gR^tx5@lDF&@J59jah zpm%G2=Ug^x)aTjcnYYUum1b}_88~0)1;dtA^aLg&y}42$2?H6k7bs5#KFu;Xh!Gn) z{UV=AMLbP)F2sVjRhSv--ZGHnX^W?n=3~J>+xG?9{IWN=kHG3o^E-~Z>h`+oRt@Ky z(1Ko4`(Xw0@M&BbcxWMXo%-+!H(T zGEJNEf}g-UcZLWj+!skR`Ia7d(kz>B8W${bRpySUds8<$&iiP(-Q=Qtw>bKX84-rL z^N|56bBcYNAnBbb3xzAA}I~;fskD8HecxCs$E7rN56} zx5mr@^-kvUJ~pCj?e0d(F*!Q^6Y7)0tyPt#Dk+ia_P**_9uX4=ZZ|y<5|@rDvq%+3 zvYE_Fszi}y{r>tnQiZFh&qV-8W-WJGfUZFSI^nw;S2#=kPtTaD*FFdZYpxAg8RB>8 zvIyLvDXLsavX?1)9b6vvxVt&MeBZd<@NzZj17y==dXOsAnLq8B3_ounT)sc)HaUM5 z6<*nMA$6eJ<7t7q$@LwS)k7uPw1Phh5DvjU>f;y#ca;Jd!hN)r$Kv#$xkx&y1-d_e8xHI@#eej1O!xw zg#%P`-A+>caA!MDeoGiv$nTFLMm@wS1VQ3i`d4_mFa+tt3zR=eo|BY+(NJS67XSlU;B(Y z^L>~N%0~HC_RN^05O&^er>DS(F>KO?zK6u^O}F0%uv$yuFHEV4w3MoFR>wMr(6g!8 zdS5G7mr6B=Vq=Z;J_#43_4N;llJhMw4Sio9YW|E|Mb+=3kJo_9PW}#8S)p?VNl9&J ziTMjgJzcY}^uimlnSP?y;{d3ncA=A*yohO^RH+r8&=NEv@QI6n(xChFc~Tb+7(I`_ z-Ta4HWaI%ow&|Ktzs%K13vC=St5a9`<&$^|%B`23-1n-OmFk2{-_QgPD6P>+=e&s>M4KfF>LKc;+x zGbCn+pN0p|O+lm5JkO0zVN`Wo%b96Zj5eF~T&q6m8O(Q$qL}BhyFfR6JB#mC=p8sa zC9E_3-QQOb{7VgA$w>~rvf&7 zCg$FWK)3hd0RV3@QH_Y%iKdSmACt9iYU^a?G+WA4jR7}G^P4!HZ^}yP6F^FBO)$`|1X+VcapLnVW8yW(SEv2Ug^cseMNQ8Va_h9dhLk4`FNBqAWqR@ zL~fd6hAc+n1OyUR&)}ctAko=RWC)1WLH*clp7j;@CE?3hF`=Exn!xjL(*au>?NL?lZ+04-EE~D>Zl0X^8KzBHr4uf4e&T?kHzSr*gvL57Xv< z6vJ1W>g)!TDtap(qb72kaJu87hPk-N+KQOFGw*zU#>DbV(Qm+zn^l{iaNnzL$SnK` z*C5#w6VkDuDtcLFmtyhr99JZLzyC!!{?wbRzkoT_f5JN3A+ofwo0l2Mu;-qxdGLM9 zd=#z!wYy*viMA|vy_VwsJ|d{lY$cIIBO$_(=5_8a5^oZ_Xj@Xf7qi9B;JedZeO=Hn z5V*2s^y8bWCj&dX8rClMTc-Pfi*XfW?stVdARrZ60SIe zNPX|;UO3HVIU!Q(+wow}f%;qj!3Onoe#tHhb#Jz3{~Y(kU~X~zNgqL$h>6GgLVzN# zl%>9g%B^{{tgD^=s@uP%eg2J{)a6Y!Wyi2*P~ky$PnAkR%96`K&5$oUp_QNxi!jI= zJC++YPbSEIXkR6T|J>(zF5&kMcHaOLhn#F69X~hW3>cGBqaB2H8Ir{mMgp*XXdzTo zjK+1WtGOw`))-qrC3g|9xZ$Sh;1Ch!Xl|BDZG%;J9wyUKJ?a~dgIoJdkyY|@cv@7+ z1H$?dQGi~lq8;IKO;G$2DYxMkj%DKk>h=A(xWV4nXn38IXn5P5?ku%|6OvZu>7D^@ z(~$kH0j_Z8g|d*VmZb-!3y+zonQiE?uf~5KyyL|-4NbnNW`^R>Y^;YfdM_qKu+2>H zBlGlN!c#B$=;56ZM%Twr#3M~v{W4E6qHLQ!y!H7ri8!&y_h}u2l4_IjX5f%nwj3~sE~#r%QAJZrjp-hU_|qcI ze@co$v-E7H&0qoo{!uT>;M?&d`XDjwzfD^NN;=LpGcV$P7l)}n5+FUcVUAFwGEkQm zc#~%L16!NpoEsX^i1H9CPc#{DdN?U4e^1+Qe-NemQo1Wr78RmNrHY@5H}z)Mp%hyH zA04Y&3E9mQv#HPjk*tn9AYaRSByV4AEWG3BsM2xpO(E-wup{@^KYHw>m5by_v^yaF zwcp`@XP{|BnB9PnJy_}M^S(LYu1BvCVJGoFWbEXlv=r#tBHgie$wP%VygJNUQ2!Rf zjn?`}aD+@;OBQvlpuU1s5uBefRnCHOX>b4&ejgTo=q1hZ-1D|T$)nIniI=l;1Pv(v zL3;vm-n5@)(|%0Y#G%8P@TuZRc(z_!F|XoTl4b#gPi}=jHC)y{DM*vxT@W@VQo3uw zw8U7{6KrIIEz&9&zSrHBb-mAj*sr*bBu6cLl-jJn0Cao$x3(E7QQ2}aIe^8<{p{XW z<_PP_bvq`Vu6A3_ua=A}f}Rhg{OeuiEQXTYH4CQ}&TQuts9>qk**&f#qXo@J- z@MFe4iy@Zi)CabR#<@ySme*1nI<@}q2ri5C-;&nMKB_KCt*v;f%ZzS8(pIfvAs?t< z&>rtQ-90%C?4<+ObspdF^S~s=X#}ObU|#(slwj_?Bz9d3!>933i+`CQPV6`dgJ_M^ zSWCW@o9!@Dce=(v(5S@+izKghJ27`x&30GnrN9MR?X2I_di-?~`qctmZmaFG(1C(A z^%!Va%aYlG1WUY9R%Kx8X7K^DJry@qqL)>>l*Mn*@xCpazAZYxWIdNWufJ6(J)^xU z_4^!9&XPijmL3EI?*>?CC7k#aSYoMi4!jz{d&?7o%V6M0r+qBz?fPE>>H2v^h{1&?KOsYPH5b7s{ZHq_x5dZqSAvm_- zOnr1?F2k$I1#)NlTuY;PTP@&JNq6>3^Iop}r!KB<-5l#lVv31RcF#>@Km9qHEif?U z#0X&hc=i$l_uvRgqh)+dtA<@6Tzz+!2kGbR_UJ}&*fLSShMtQm&u6919+y=bQgg;G zH72Wp-n~@9=+Y;LE=$s?ch&IEMRvc}4az>NgBS;iEd(ESxIMn_B*+KaCH8whCG2Cj zK-2YXDccap=||PGFEqb2{4l>)Ds28nVCX<^mTzV;PtAAyYjt7Yi#!9)K3`0zcYR#e z%fo&89Va1q?d3FIK?%2BC*vx@8dUY$+o=aFJbUEU_@}}#^CLEH7w6!Zg$~nE{v&e8 z*Qy%w;PJ!k_GMc@B@)6lQL^ioh}RO?TSPyHc`48a51hDzpr!O5I%afh0f6E!=pJ41!VPfR!3BntCR5-P z_Y+`aKZvFS(O818n={%b`bS3~vBY;hAog1Z=ktNIbTH$Mfb#g!&lQk$!AFZtt2WTh zXRh5s3xpS)VDC+f{gTLI_7&e_Q^JTm1?V)E!HbX3Vh>Oeh5Eqoffo!arFIv4Rl#;SgrsVzh`uFbq*y$ywP*g zAU#|CYEMpt0RLVt4i+p!jTRjXW1m@CF?>UU6zCUpm3kNS6&itx`Y%t#!#`-5ZCsrI zNEkgW5C#4gHm;yTU%7!6U26eVt7WSj5ad_Uw$n%O$pcfu&>0sm@IhaRCJMRO)LKU~ zD}m1pG~xp-N1Tk$8SyX$S?u&e?&Fa9i8~$*z$eqj(nJByS=+y|VhK=N@zF@Mstw)f zk%QOZL#Uok)mVu=*RA73yJ`%k*@E`Wnsf)>9)*KC`_&&nB2N0XJ%&}Sa!rfZqzgA% zO5*D~oMy|7f#f&aD6aON#hkmb==|5E%V@T&5ojX7O=T!>1L)Wi}PI?bhM;_ZhaX8DAO&La7l6q|4QO}CZ8(Ehl`V|Y#c+T-i;%F_e8muH+%|+;wu||2Lj`Qr^y(Y&q}IQr@U^jePO5{=)(=$zrLQJ ziZ!%dX&o@b@ZsInsV{8@gOb=8;FZfq5L90P6IPH7@H~x*>DxQiN9DgsCxgBQv-(HT z;4;Uh6lLKV#>VD=VvG;?)AA=NhNnQy9WAURO@nuDV*U&qn8|rl5)h?qxmm$#8G9gP zu1W7!k%k4KMdZT;XrSRl-v_fn4;%lQh>H;2-AOjp26qJb5V)sd20LWAu9D)xbF ziNPdpP^!y9JxD1~obsZlcA?o1^E-sN7|0)elD2EV696Wy%liB=1+uvi8iEV!uw>2R-`E9Ebm zr}w)50(tz0EtI{WAcC;dVqE&UUhSV6=U=$P zw6OsuNQ|d&_scLbTI&kxxM|M`gSC-@!dYl-^L%ZEOzh-aji6bLPR~_gooO?TiNwP2 zHySHWCW-q~+fE83g*M-ZKg@pl-n?gR1eE^+X;s1%&~R{bvOfp_Dfg3qB+~5JVT*xD$mm9f{LgaOfzK~S1(qrZFaA)>_RWxFtC=8tgnZ{c{dyV|7O21}% z31a_gJO(wBV$eG{-SCR5Aoc=CPYKdM>Sk9!t+xayX}=Nr_=9ddmntd?(ynVD8BZMe zq-e-SM?DL8JeBoxM`(zy)w>DMsz4hixShZIAg%3&1GEHLEpoXC9<|s4SA*AA&ldx? zxX`9S|A6_+xKB6?LuR<*51yJuIsT53LSVx9WpL|R@UCq=#e1qLb|1E4r=Om)VC+@x zvHhq;+wu;iITR;UrL7LRab1K^dDi*@;l(IlsU0vQ@JEB~Yj4pq=-rwovh;b}#cMQw zqz>fxEB6#nJAo)WVh`tL@5J+tB_v0@3%KQQqTOz5Zk1B_x!ggnwBTA)Q93@|nf(Fd zC|~G|l(rn1wHepOQ{_|iGW~79Xub(FF}@I50R9?9m#0$J;KL=U~z6|C+&b*{sUq!Zc05(?NgIOgZF`>v6A+!>)=2i`Uv(tKG*wGIgoPTNb397?_fh`|#Rql7 zG3ngx<|j$@;DD+vlB@7XP^9el4kdyi6&OW87kn-AL0Bw`6RK{HTlk?-RhLH(SRYM0 z)P`Fk(VOdUu(=vyy|DA`9e9^S&OnaHh%YElQjnHb-9R_qk+R7UhQQ3FSNy5wOu__m zIkl9QzEFw(qXmOaDh?v!W;fQKxP;aFoV1ehUj#$IPX*4pCsw4Kj0t4-iXlkj@|dB( zS)xvq#o?Jv(~E`j%DNM@OY)`gtikwB{0K8BJaq+#8FqkJ|bGS%6W1fuV; zVii(!p;v3LHjDbbP-`U$Dk#gy9e&6_pLG36EK~8`EapD$0Y>vs2_*E%CI4JUlFJJ z7Y`(DuVc)@Xv8gMk{-{J_EVcKMMyj#&NK|LVcEt&8r|cqMFg3v_L_Z1%Jm zPSJ)hQSp0a-$h3qh`ST5gSv%mh*P;;?QY&DANJ}Fs-febS`M|{aP_Qx)%&&H`^nuE zrng6D-vLTohe`_bYdY|pheqjA7hT&Jyv84pOhaV#4!6bF-icj==bP!iH$eUa>qXnak$aX2F2lkqAWK zzrK%dQ{iKVFmD0m)aYu|2-Wd;_IDw8FvOz1UBT_s=uWgGak^Cb4e;M7z7&AafQ>tD zSHN4Sd<144g&(JD9RrNLgv5diSYm`hg&Fm6(@)ld>Npi<%s} z0yHZ7+w5ZcgohX|O%ZPf-X+Dr3rPq%^hN<+EYTf->JSe5_by|0uJhU_;Z3NTi`f7cj!F@bYPs2h42d_5?V#r#5?dIqzPx7+VDS2xcz z@iS@r0l8gHY1I%=3Wrgxf96K**?I{b2cI>M>CZyUuo+at&RfQv`bgHFD{4&1F#qrR z%~}N3?~o3p%Pa#ft0(DRB?acuX!HC~<+a%VE>8~*Y-^pFkLRvoEl-PPaa|iAZ9P-uwgejhr z`qu0oO+7d`je&1NH^M=$tB}x(&>6_dB)ZL|n7UFSWsD;6v2Q=bcv>Ih$VyE|@e|&L zA+5Vo*gY0Y3!$F+jJH^?fDUsHe-DF(z<4-8Fb==R!F`o$U1+qc1L!j{-^u;nBU}%4 zP~E+HrDr6>f8ze2b)!y|ZcHT`rS8$JK@uh8PP^_`DNgf#cEu(8ugXT9{t{)u2n(h1 zqKsCRZQV`w%^}aiv$DP;?Hkt-5xc9^gOxJ}+&COfsFzEM0G1 zY2_*FLia4jhBEKqpv{vsW5#6^{;rX~7&Q)PI#Zax5^{V^2&Kt$-Hh zA|R$%y9bm$K66v{t3ABr$04QupYOpvo6xrDv{ydD#Bkb4Z=RzCpAP0>9PR$Hbtf z#);Sr_9n^Ywum_n9CKI)QS`@H2#iI-;z#}%Ya5nxC0*M=#&?&IYI!aK3C^G;TLCmqXo73KgZ)URZOx1C1vGFf6s=;OoIaf z_cMoqiN>w!|6Q9+V_Ahj!(ufAo5Jpfo@?G5q9H#XU2deV+QKXZRVLqStL2IM{Be?H z>s4~k#>j)bOK%v3Y(w3UMU^8lw^~YU_WI+52lSnSI{xjpK8 zU=K!S?%qA@LC_^@6nNNfpW#`)H-5Lzi2A;oUk6dI8qsen(ZCnVL!%eU>*s7^+>i~jW5BH*pNw=M)A_CZln8EhRUGKP!~#G!o(xZIp@AcqP< zzT#mPRlEIcNZ7vce%7GVbCV20IJOlQbmH_3OQ-uYxl`=|B`x(WX!-nEbJ0=Jce=)W zMn*Q8n?kHy_Fd$zX`)FAQw9Y#(LF8qM>`%QCH+6#jvA3;{wT`Ja6S?Sp9`tW$P-g= zfE~b?56u-TEM!+7xp6Ae|5KytZ0?Zo0}CcEBLEc+dwA4tvjlR955i=p{SPhvk`j z8}3nyo+m=qV&mb~#`2QoB~nfyYp;R4E4R=lJfHZ$U8%8q@v(xhRAwxnO_BoLWav)G zQ~SR;DI|=<=QiU9uEHHG(TK6X6$9gp6DGmE40gJsCVF5H2akA);t}lZ?_Xy$v-G|?WIS2RIsH)7yt4D8Zql6aBSv(E3l!d3Y&psj zAiu<{cj>2p5=t;!4F63H->f(_t)jBThzy;`mXWR-&Z<|zfTqGlME6D76Um2}+9Dr( zIb;#y8jcC8WmWwR9_rSQ5i2j1J4I}{c0qwc+ge!*&4x%mo4Poe#4PZ zIpW-Tl60if?6fT=T=1QaC4OrY7UhfDWg&3q{h`!{2zWnFiI?j({gpG#T2giQ7j}ILMl(6QnXjf&&l%E6<%fe zipX@H7OdXTx&+&*45h4sdxXApb1ai@cN;@^DaNey;vB=S-0gTD++ukW)LE-LpUoyD ze0YH;Uv?r)U<$T9pM~LX%`5wb?MNK1ZXmnMo`RS1!(q81lMngq>VN33RcMn@EN@D;4N1uQ` zgj$lbMxP9uw0xp9&GD|(%z;b%<=y9ey4zURIZJ|!}><6Gm^)u{|%ryDU-GnFBHvp$ZA}E zdoxOi2t~dGN>WsRocK0Ya10LvLu(hpT@)j8yiv3Bh2IF(R<%A#ooi2>WVE(S-jFb~ zwz;oi*y3`s2sy1dE!%IE1<{x`dG${)?YrQX{eoO_LanGpvdrQ0usVh_w7~UAOsrDZ z_op^$Bj=9QTv0(=moo1vz0lREujp22ssV6{6^ePJ8n0sNCg~B-9o-?Fh#cAE%W`Vg zAVt+J^em|Bz^Q)MXBJ!@7QRf+=?-4g&+9IFx~B_2QT;vnxa335UY~)eeW~RsQU~0; z(I_Bylg~QeNZx`e8~kAsKB?SrK*!HBL)!1)g~ofCn%S2{vG;$DO?G`o2wgBv(V`sA zx0tuMn0rP8o%`sqXB^uPGEbjHb3P|>J0t309edkI<~_tc$|pXm;uy-CbXdIIFf9B3 zxdVG_JPlYC8zO>R^^0=TWv4TWGtLO8Q)c?CB!Zk8BqpXC6zm_0hY9ZpqnnuU&;~xH z(EEi};iD?bru`-yvjK&%)|g|0lUBU?JYa|vis)-toHkUv0fWO_IK}Ik( zEM&ttRhd!+!%+0-4*1yXv9NoK1Dxykafr~~&f0A;0%KbPl#_QdFfC$*qx)q}$(nN# zKjwt+GkpI1eq`myG!&s+K4L}`^UdYy-F7rl@p){ZB8Gy=bEB9CD}s2+Io_NT-mJvr ztK^+S1Fa&o5=d;dRvntVojY6WLN0&jRI@f#bg;9Y>jnE+6u$sj>91vGbUEImO@%wJ znD-3IwoQdh{kfBGJcLc9`?7J;T?CP3#mGG+c~yeBjWggp$@Q&R@!tM**mWgH!Lu@6G5cNnWmH z?zDZVQ?s^P43qoOoGCGY=e`$N8B&^2%SG8 zvUjqq+C;&KV2a#p1m@nB@INJxw}nxE%Mu_TzHZ5^#K5jRL}5aOn+o_CGXcSg@y~@q zNgvTkS}13Y`Kbur*Pgz=Ha6L5qIrBV19KE^ikJG5cg z=6^?rg*vI4DG?&3-gVbJUfbV>H}Y|y+L4Mrd8ejxYkXo$QDjAoq#5!%+H&j)WpL|M zf(x(=JUP+aq3YALk#?a@KCBP=L*APod!pxq<}}P&XL2^Ni&x{n%@H;uB&;7GYc7bx zyUi))!!1Yr#{7TRl>dee@>-I+j!xPNy{MQZVna=_w5)(Xbw$l0M;H!Q6L9g7Jz}flNTQ|lP8&tMU70Wx=ZRpZS&25$bPkPx_{L9Q=W91MZ5y-f|{xFqBS5@{@cfR{O9|-91{qm=7<24r0Nz|({^DI<%7;3;D1b7voSt` zXdW-%DK;I&N87gP5bT2rnQa{@rgt~m{%QHrDT}>&_6Aj`U#sIR^A}w&2bVfu^*~J+ z9543+YFdMIfs1+#Yo}|OVidauqptBa2tE?{epbllQBX6*c%!Y5PHsV8KfPn&_6bW1 zo%IPi&HuG5$Lc5zb$p2;h2EzF$(gTZM#-xz(mp6Et8(#8$=@4Q$F6)uUeuR}ZX64u zB);`+S+DPXPm4m%^!|5;+sx%PQg?nRg}#;RiJYo)ppTLE4hdL1}HK z<$CDd>?EbYAFI}ve#{(|uXs9%W;Nk_CPh0ve`qJMu>q;Oo#DX376*-ei6L!Lc1+=I zCD0t+V5u@ZdjopSACc+18f~g4?kV|pX9?p`3Wsf7<6`s<_^5{}pBP8P-nm5^r5C$+ z5_;aETQ?^z6Ag7l5@Km37W_|NPoBzF>_K9%$fe}hN%Q9F(OE2R1HX4a0NZBt^G>{B=OOe+T|E4M-nmt4djV)BGwof*}5#FsNg$NcdJNpt5 zhQ{Z7OMF`P9c$MBKzy8LZ#7k13Vy;YgO&ZyL4qlo^RMI6&cY$HtpnplWzXQ@wA{s< zG{+16($kz7=0mybdlzNe2zC6^QIov2JK0%9BAB>wp~cF^aMp6$Ocu?Hky(~+hoW3 z-M{-8q{?zhS&UnbOKNAHhQv8~Rd8T25hpN|x8bo}MzlQ?ubnbUqB?|z@n{Y)SZ%@sG+BhSUm zj_370d%yEmJx~P^gYyzy%PVizEB0y^VJw$!i*CCB9!k16aZ$rh=+XS4-xzG;$>@T@ zm;HEJ37-gbDfFjJ;~pv60NIL8<#yWHNB8Px|K{)h2d~%D@44Kfh;}V83L()`qzI3Q zHA5ln5F#tIi`{D_H#K~y28+^5tyweBCjV%UAN=Q4Cha%I51}n^*=&BDFQ1>Ae(~r% z$O0i%;Q0St^YV8iGL|+{;O6)yc4;uRDhU4U4;I`7TTqW2LT>V)2t}doQB2xeWO*az zIoySEnQ8`)M6dp_Y4x&TM(Mz$Hamw}m_Ny1XNU~56K3aGZ=>gd^lMI?uTnd#IODc` zGJ-SA#@B3~z#ozBW|{6o;C`iydYXL~#dJP@81dxeYLyt0nJ=!?0`O50vOsU6ZMv+! zgu=*c`L>i(B_U(=dD;=h=(!MVZ#2A3JGt#(&DMg9by1h6!ed~etZxS#`<)N?Z_ZYQ z^v5EHo_uoy=onL{7>_RJ5s^{Sk0OD41l?8h&hY=qo}_x+oKN4ZPj#<$-U@tmpM2jP z{0?hh+QVq}=CbuxX!gYnypL=n96(J3igu_Q0S-LFF59GP2hqp42SNF8zkaLG7(ZFE zlLXGOIwNwk{WoFTpf5^=oVbyCw)LW@^0r2XZfh3C6Mm;<+G2<{g^pO^wOjip1j}si!1xhIj9Q1)w;#rR;Aly zOqVu{gtVzh(`d*>a6OQl{)28YaP&D8r!j5L$dtrwH;a-ooo)KRn*(>c#Lz9i`_et_ z!zTF^?~kvh|EN^&1ASOB_iqb~1}bvz!!0E*!Ph4w)^ws-n73vkM~PN35_x^qW4mK$ z8Agp$1w)@^N*b3`24AU{2JgWC!`^$xW8MFM!)K);R7Mh!I0%uwSHi)OQHYG}y+T%Y zNyyA$WQ0Oiwv1$yy=6y5NcP_IxLzMR@89>n?tiZTuHSV%?#J05=Xu6)e8zjc-p|)_ zs9y>WpnH4YR+{nY19T&=oA*$u)L9|p7bVa1ohluyqUK3<{e3A+3YeD^Du0VSQhaIY zr~oiOeeA__lo9V;wFGnK2-Fh{?L=vi!`bTe+=2MB**Z`z4vFc8aK;7t-tF2|F2R&U zTExfGxU?|rmMN2d)E?kd(^HL9+i;8AU{@oUE7CX(3Pwt@lKrO6WG6JUC)3q_vte3hQRdW~dD5s-3s`TS79G8zw zP>Kkir{|J7XNcA~fBr3-OPsO!01#m2wQNn@Ce<%BA#4`@b<)aEf+4atgL~Q{PwV!$ zQZMq01&-HzYv=6tJxzFz>@|~l{5h4K0JEwOrp;tH=oO=6NTDG3l&#ROQU!%GEf->3PfA-QJ z65k-0R~AhQ?caX7uh1R0;WK{6U4wkj1cjHv~fC)PxC22D196X%lA)7+!! zF)T<_VLM^6VE}L9RR><~_6>#3hE4r7HKJagm2pJolo&yj`qMfsVU``8=>_Jit%(tJ zi^jJb^1RmH4{krRqQJf;*^T`zIxi!tTgh6ame3go(`ni3gUsdYLsy3Les*1-wl}MO z)F!lHQf0&eyLLrd#_=A>VPF9bt|CNHyEE+pk6L+)6t-XG{$#?al&%}e@?$KYD|_?R z5$CH4Mou2=koi1NTZ_p%BS~{yIw5!Q?nyVgMqd)E@_VtI^mKYm%zEhb#+Sp*>u$_0 ztTgMNGv2V0NawD^tf}fu^_4izI!q}i=6>OcKA%6AuAGKqjG-@z6~u;hsiCw+`L9=nJc`U**-P}swCWY5*?2Wm-flW0;}bn+_-h?C6*&AJ<`%~= zt)i{)UiM!9AQjwnDkW$GN@#@Gl_>&HYBw{&pRw$zKn%-9fg4K1+ITawmwMXKF*}^Q zZ2?-OOGwj~P>Vyi;_-`-Ri6I)qsRK)2kjeaq)O|IX_Ll3Xj3_6zoQ^4K`_ z>Vh3H1BU9P!WBnggZbHdj8kjotwS<7hsQ=y63xyV>q~1l#1Rg3eVHcR0~Hs}TYeUO z<;4_(8mnNm;}0g3%nzLU)DX^5+t3x#Zy#ht#~d|3!1CpE?|yol7PyhskjP#RXUuvX zs`M=QxB2B4?ZWpUhxQIa#OoCU>Yhbp{?aal`(63d78|jjR2NQ=@&`ZkVcDqPpp?pH zcG*~<4hZcof!xQ#Hk(&ZH}dDg0b`W4YxbxQf++OC(vjMXX7*z3)4}2E=G{ zZUmu)Xx>tXcdD`(?7qrw@Xyy;RV*sRMxn?F%=Jt=F=xt^qIOQcYJ;3Lmoo4)tVOD9 zT{zavnW?5JG@~!ufb*oLt4Vu$!5<)SoCU7fgJ=}c>BJDu;1CZ*-bqFllS5jfB}ucQ zLd>rxp76f*!-2MFl;Bc^e07ilIs7jS_EgCG-?x!}LH_)2;tT%$c1-un`19aHlPoae z!6R46`S3>>GR$B!Y{USq(y7k(<&I2Iq4}+&i_H{=y)reL?@U|#O_l1VYXRMb7Ar?o zObe)mu&LdFSVAj)Jcz3$U z9l0*u<6trFKDvbIFa=8Dr`xNO{`El@{SgODHmwgC)3cyqXE zdNWm}qNo^y0u!s@ZOiZJRBlFO-Q{Q|^RDVuk-xz742}r;e?OO)2Rdoi9gt%SL-Sl- z<%X8Lw`|Q6?9_zV23jnd$FvO}cysEM;DnfQTiGYzG(ocVLyxNuwu{nhdG2uFt4L_s ztT!9vd8!kCUlin%r<0Mv9I;tb4fqz?k4-OB+Ktw{kuc=#g2>?ux?bB8b2z-0kU=om z?Oi=+8gJswVPUPAuP@0isZg1Iqf}*cH83qso=k?Ls*KrVk~++{@rpa6oY5C8t2+c& zaBJE5KUT;J>qs!kTQ?8%kauTU4~f_`C<`_opmB5?lN=j|bw~hlHz?V>C>(8Q^}qAFOeva^`|y2a-iEgk;v|2PnEZG>Dv0S$ z;$?`=6p4`OerZ6=fR$E|Z;UemWWaXno^s(-f4m;2W-8ZJ$egk1IMc`jM6fU#EMw!ptp6&d%g9eB-Q)eN>e5EP@{io zzf8fWS}I&u3%%1J)U>Od5!)b6+JL-*jlEd2M2m?#uVVaecy>Iyx!ZGx9lu*cX8Yac zN!g1NNeIIdp~n(Po?u`KR@bt4M~5k3*B48Hnz)O^cyf8>eb6&rb!9J>#%U^ar2PQ< z;V)on+epwS%z;rUiOqT)&0Xym&f7mR@RxW@<$N?eBV43OAV#3UgxN z&Sbk*<>z{ z*R=7a_a5Nj?Mq$ze|@6UZ*Yh{>+q*7bKe`hLJfYD*}qk*IKB8B6Tx)IUVey7o?1w_ zjS%xL(pJ8Y$@)4fn?qgl&9Z)OyOo2TsC0y%<1brXjmIE0lufrn@U_QEGeW){#D&3* znm?TuU$R0m=Iolu4`(yWafSbzo#kJudzNX99F6-VI7P?% zEsXkKISaGz;Y4RGQVb5Q(l~#+su0V~DA%2@ZU63tL1V&w-Lc7Cnlki%{(3x@QA2>m zR4%wjc6;x_F~%2;LG>mw3UbhFea#8w`$O;%GhJ%A68NiU$`9B`D^6h_e zbnHU7u<9BH&+j(uZLih>1WFRE=e5nLUICQa;>^u&3-6-2^{!`ri)0zE6&Wek8eOFP z+I-LHn)l?>yA<92QVXC<0t>yk?n)xN;X>4>5*tq&}Im1u&<0&J2+m zfb36wqZHaGZe>8Jtp#dg^!@@c)mzZ)QN@p!#}11#_bPHS?HRiy;9c!n_NV2V)Frj*q@$<3^NfH& z%}*JPlCkSi6nGA904WCazFjiGq%}PJQKhmB78O0lB!QyXP8IIwoOAlX>*X ziL>||)q9U(fc0yBn&HXVNYz@mJh9#`aM=fRsUz;oSk1Xe|t@SuBh#Eh`Rct@@D)%`qp3B%POHZZ-oy zO?@*}aUUqYYJZ$tT792%257c|6`T831720TwD0|r9&9~+ydG8WG-CCAKHYzQMBMX5 zQuRvz$PcGU2V2JU=rh#TynJk>4?ea&%^JCLw5;ye286N}?=F1uN7zd49r(#^1Str1 zSR5_{X1WhG%o3c==xqYpV3HD)jQAp7e*EjHd^XMjkU>9Kka*ZMzV7~dNP@kIaQOHw zU*HXZe0-EmGm_rI5rNNUxt86~RDIv|u+bkjwBd@jaW=GCPFwy1?Ca%0Hy(?+uaOFk zyIjd{2uRvr$dPUYlj!xVc9}2!Ei9*C;xc$A z5r6uLBKD4~$Ky(CM^%RZ8g-2-l3C|d%;jF{Z_Eu2YDu^%G@`j#EP2ZVSbmQ2I>JP= z7X**aXgP|fU5de9W4TRkPo2K_z)q6i%^b?MK}UyeV-h)R0_X{gm1R&}C}IKhQk#a; zN`lHZaUSZN%C&%P>TUY}NDK@yBgG z|8(m=E-eTqM4)kp2+ZmsTplcLjJm5p-V+zaL4?mLBsj3k<6SVo>qb-!V%JCbkc8HIUE^Vc(#vim7iRo6GrzocR zISpt(ghy8SXWE)LWop=6m*`H17hkrxL+nszOwGcpYRYZl?EIQK5?qpmxAI2mIxJ6y{d!(? zolHuXV=48Vikl7M=he@Y?zznGq?dVdc5hl|6x zq19uhk^d`9Y`v#AD5gBOE8vZzTZyBu3PZ3Zm5u$qdm_V49C-8=%-J9NBlEYTud^+$ zt_wU6xBj>u$Uxh3U-!|639pmQX%`c{J?n7ybxj_{2xfZ4fBNF5D)pa3iXpi70wO;F z!)KZrgz3KoM@K){B-xRE-)QcqgEIUbke*PNfM&^Wv0!h-dqxchCl%hyA>?8JcE8n` zo=P=+5x=&%ojP#l`X0-ad#|#rNzZgty;lUUM~r$d*=(iF$NbR-)mqQyrp%8HXr)Y9 zvdxA40sM=&$IZ@(O7q^ono@g^0dMrNIPR?AOU|vV8v>kql8AtN{hr z7l{jAn9T#-%2yWg2)<}JO3?T?IHlKog6^8^o}wlA)wf_JQ2Acqo$dz;jrY@$Zb%LS zzlsGoG!tO`TB~+*memU%|K7Q2mbhWJHPM;$aLdITS6zy4l~-gvkJGj;HqDsbOQ(aK-SBf%fvO}yX|dQiT7?LNIh9rIgQcEsGFHJ;~h3x2^Ml$$;61t-y=CGg$O`fAY`Dk8H;ZJ;aK~+bf~_b!K_7(xu!>*1*)>ly8$GV8HLQ%^9No!oq;|&oX67k2Nqw)jwmb8@vf7gT2QF5SJlyJgoj<9KNe}1}+g*_0*;@*hwUlso?(kW% z#d(-*{URxM~k1gwLjCkYn zp-2_*xYBPaywb!_6fPaC!WtJHy7>*Tt=d2FwzMeXi)m3J({bGN*?8DT@kr%=FV%GHTV=%dO1<5< zgBi1P$e_C2E5%X=J@fmH+j-SjRCfSc)gt9Ah1iy7{6gaT)W~r?lWl<=;1LJk@CI@p zcj|{_22&T%)LdsW2F;VXO*>x4ilNqrD>o}B|DKlnO7HzW6#=>F?te2i@ZW0$bPu^O zOG`MlN>bg6wmlj>hyAXj%|NOXLFLG04b0DL<{kkvM?f9#vso%swAoSpA;I-Oi=8b4 z(GPxm|H&XC_TiowD!g&{bAB%X?>PG0Lyfli6GWjoSPf+eA(j^ug>xeiO>z3~k670E zcKs6zK_nZCP^^+saOhq}5tm*|^5EVTC?U=<6wVc7yzfDKg^Wp1?NvjrN%W;^=~(p6 zgTpVd_y&gbbck*=287%iAIy~z3A0b?XuX^iwowD1pj+=}PPQA}^bFy9MbNFmXVmwC zI6~?#-q_8Fh?z{=<1R2M#GFs`+L>O0lvm+yIjUPQ<_OM-F5TSlKq|WkCdD%ea(XTNOoW zfqn?zHUC=ivIjB3Hq+L>f5MQjMIb;>?I!h6#~dOOy*Cy(jv&Eb8jZh!5W{PaB0hF} zIGE|TeY$uXStuF^FDr&HnKff9NXK7H=hzeNY!Cqy4bR@tbkc`80)C zEMw5)yJm(p0shTk;Eci~a2lX2vXQ~3bxYh}t%2Isn1BH*!)37sr)!gQq}@R6SBVxK zbEya&NMB@Fzpb#wR@|$iNg6=SkCle}9}j+;StwSEWWjlwBX4~D2zqj=IrIhKL(t%Q zI^kpMl)l$U>Kt`Z{*;-LJ^>?KIy#rb$zyp{@=`I0f`$Q)%G4Zo;EXbwLyV(JBs^d5Z6JBF8rq%UrYGK9&|UdVZda?)Y}@Vq7raD9y2@LRZhS5w@^>kG_)U$|Q-N4%rqEt?8G^(Z&cF#C_V?4gj@z4@ zh~+T+Is8TyRjw^1Ze~TwcRjt!pURw-_XIjq!?V;mzK}&o76dmuiem~l{K$_v`V|BR z?7b;m&YZ+MhO?ii*Cmssc-PZ~Nx4eH9?A5)`?s=kVN>0aCjph|AqIJYF{GPi#;_1y zh9OAda_0R&Qt@fIl&#&ZAI3*NcLV|QMctu#s*JXmR^H)>L3NwAUVCEblVP4iA0cx% z1~JHoF(Mz9^ksUgm!pNrPXS_)kjpykXsB3ll_fIyt{mHTtPAIjql%Jh%{aW~ZaL&P z+2xO zcN`%iVz4U>l^A2Af6iwsuj9KxC1o{e^u_0-!Og&+24!>wOr5hMW&?OzU5fm3xk$O79;*Q z7CJp|7)Ec>Fn+P3q50IXV;>0@;C5tk;Tw*oquT)cw=xO7G&t!(Ny7G&S6yR(S0N)_ zHC?GVG}PW`SrBO$Rl-^bPDxPpPU(Yov!==xhhJg{{#1!oJ6@W1+U z@NIy?6vNcZZ?1?dIkpTIW;6NuLfQvWtO2%4_)$uqW*JEQL>g$Bn|rH?ukGE)?L0?b0ES<{lv&DaK7;dvv7$q|ajgrKZ zJjf~P?#Y=3B#*GU{xytiV`ys)Hob(6i{C@1{Onx?{%kl;X(pGR>CJ>kFD`HHXh}Ic zHC7)~WV8*6bY2^)9wWt1f<_I&**Q7%uJ{Q z`}}yeW)Z6e!~4I30xC1Ggn_3||4a6qedd*~wfjJP%K4C}6wl9&WEs(fnd;xe!(=#X z4)FGew^ah_g$|~iAs0B5eMgJVL^^#CO^YAbaE@D(FIWUClkw1Wnz^;Zsb%yOR&=8T z=t)fkoL(n%D_@;Db)yd9!-gJ@O$g;K%(Y;fMf+TpsR^iicr80+;$@7PuZFO%k*8N4 zw&2cHLrq}>OHva4{jf&l!@vOe8E+gu%Gtp()eRpI3CsKMkKLV(Ysh+-tJ#ZBkfMY> zt|co=zdV46A9$gZcF9^`@bI><<(=^RTme66-NYc>S+A2elxkWbc6b2<{De7(Ax5Dr zgMvigLQ|UhY^YOCX?98ndrwMg2;jv=ko^yV1PMvEjdMy|Xqw zxNI#GJKi~2B0`)vdt}MeTMY}~`83x{e)W}~p6)wu44Rpp+cem1!Ak*rjs$tZ`EacE zFT~ef5fF_#$&L8dl(@`Lzerwl zW#H1}1xRJCi|r+5aozcNcMe|6?#Em%wcd}DiPWj0GcqY%G+dgTFyrAXlW7}am#(12 zme1=eCQD|dsF}aZnRpzHp(=LU8*H4fv ztJxa}J`29ikqI-|NwY%;;mHn&sV7+$;Tx^CcA+ZwhkjPyfgY2^-AKBYfmKng`h2bt z55CifGdWE4@lXgDgX!8GoL;JCY*wQMMa>%G-!C-qiV*hnSVj^W)wV2}9}C9KT!RB zOE>XfZ`6SQ(&eh9=N!IB=YDU}`@pOWS}U~(*`4i4LmWwV61V5h+R!XP<%K`EZ8_-*#Ud=`D&+x#G!lAar4G2-g^O^hL#0~cn)HD)E^Xka|7I7sE`(#uLt9Q(*#@{QgDg5huM%@ywQ;AjXIib4+UMfVUIT`k~ZBuG=y z`idvGnB-7zHNFC8q^0+I`>cSc^SBRB6`SzJhu-L8wy3)`lfV@8RVi=l$a;;@q~ZkL@Av<2>3 z)R3JSO*2xB+pPx84tQ|fK;i`DJxaZ|{JooI8YCbqk7HRxe6ku$KME)Jw8?`@LQB%3 z%6r%>J^-5O6v=igr8tsm`jv2t&>z6t&dh%ULn*0iT9?EI;XVWE6!`~JQ;bQNH*;px zs96sSS1lu$=BYjSPGnzLeRlBtpxraPG~m5IFxd1qd7h4W%^PBi2=427I?bEmIbQ+8 z(>ck{Hh?6y42M0j48$Q`x*eqAbov;(=mEr(MDvLYTy?A0Mek5(H*xHZOB@*G$ciP& zb_d>MKW2Zt7jZEDx#$8(#b%Ojki%8*d4%jY#1d=Q!nmo=hvvwI19nLrpDq%HbNKm) z|JEqtDz+7d+X~AEN5Ya~iJrx#s!=DTM>6kZ&44LI{4xh;bD{1oABoWag;16EiH|KP zMaax&yy9&+o%|g`@iu|ZbWphWeL0$R3dVxTJPy2C*Du_E5Y8BS0R9!CyFwHD0G?)4 zhH_tQJ+rdw966bK)RIx&~B%i3tHE8opc&m5}O1v&eTEM``&xiNQN1CS|_Bd+2PfQ zAB)iMskn45GsJ!K7X_hQQXiW6sZqzslTBtr8XFxED>pc|t_&%{@Udua>92e^(1p;Z z-9;g0bx`Ob5CaJi7okxrmRG1?!RU3}9vc}7qcY61e2W#$MzH_~x4a6Fa{R`{o9_QJ`J1iy+x ziMmNHyM}C-1ujya=yJ{eQizmhothGiVJuCQ;a|-Cfv(IE%#Xcn&z>dPf7{}IjQxDxy$d5@(u4%xle^r2^WJ=1H-agMzJ)KvKk(&aLopQ6$0$yUIKKnYr7syh zEvONafc4O)0G6toD%Q|WV)3w@HMi}1@8A19CiR{zCw;CCDrhF;&+o~U*cjxz4=1!Q z0C`TY3-jXnPIu|uA?hzY4-Mn@0(~S5lw-S>VWl3F^W~oH=G9tCWO<4lh~``$EQ#kS z(*S#FprA{7sLpP4f~7)!=WIsL*fvkE zDEYGDjKXr?S)cZhv`_Q_gXU-6p%Jd0mRiZ#_2gWx398*Fi)OHiFJmkCjQ@(2t0j$@ z#8;z=g<+laiaEJ)=!@7GyyHDxqtI$=qn++NpFa8>q+v5vc}^c(GQ8KZM7`QGwj2@Y z{d=;Fq%$m&4Q@TED-K>GO5GU=)yrE)2xHQmlJHG@$BjonJ3+=v@w-@ znD%maqqI69L{2}DB`ri4+Ws|2`@*_CfPULaenrE@hvj`>+83$H%!Qjv(VJ$0>}W4( z1@@Eux-Vw)cyIlZ2(1dxA}H^Z&zH^)s*yW${1=KUMvDmV&)`Ee(LJF@ZwEKXS#DD( zQ^bU_(R?9!)>j#`lQp+FC8J}6^B5)6YfAGmilkY8!dD%m8_v>4>Dir$9ua^}8Y%?M z#~T;=lF!F*pV3w7=O^fC6^1J+TyGRNuB7WX7KVkSXz@~d{g~}+L1;;6*G+^tDetWs z$!16;Jbc}&I)>NMY^TYYv>hIeEa7@VROa*yV-Rqfc?@S-VtA7mK5)023mgI%aKr;( z;)L%%3KA!q@Wn~?!k$jLbu0hl3XtZz&-f?Nlm)|$+mlIG5R%bSah_+6T|#tnW)}VN zcCO{mpv>A5YtC{rJTI)MQ9lWGncn=|sj=L%t&TqW(?GT+Iarmz@o38jdRBnPn;*g? z*%g~jz9;tRZ4{kprLi)R@Z^cUc~r=ZqQijPpvAD8+5p0qSpo&41oiV<^iPcmO>i(s z@NpZqxag4K*=WiK3#kWKy1-_<8BUzp@3XVS^(6WzzZ)NaW7%Gig>m%s^-*u*&6>|@ z(VSF?WTTI5tm+&XagIRGqlkBMLPJl@C=HgB=oSWyH!Y)H#DtDnU$f}#z)vXFIhwwg5Y5BQl6x&8bV(mo1BAfvlOtoi+9@H^4M-Jl9p4Gw z;MUS7QZ5PJz-xbxKyNBRX#(;TSDDTVW2g$ma#*Ri=1g=L^2=f6Fgw?Od^g>DC*4|) z>$#Qy8M?rO=giYCkc$Ym&u|dvmAuOQGscCP#qY#WhM!NX{0xk+z9q4olpF@hgQePY zuiR{)lFLZH+@pj=_oUxBH$T-VJY;pbl{=+Ajxp#wZXRWE&r~rl+2)AkwBL9m@r3b* zf%2yBz;rM4zH~t{IjspSQgvM{%jm%f)#4iv`imx~%dc#2vfT=^c3XWGes(>r<8xnlKn;?L9^w;V_|Fb>@^W*cRDMH)JtwED+a~x!AORoN%Kp2i$h$7)Z09I~e_mlI zWGwFTuzpG-`O@T!ri{vwN>Lk-8$!0VK?k3Yt_1^L7Z|Qn{v;2xU=wi-78eF_Dpl3F z`F|RBA%eBDMMCw54Y&X@h?@ZuWfaQU7E-FqpT0Tw8qwI$F#JQU$WF;8PXS$k$mnAA zeqPIK%}>1YQY!D-I$CEb6f(04SLI||^eU~`z6?WDpoi+{lw;kt$0*%8$u4_=$5CN% z0KOehGCs=I3(TF&tO|Px<@Vc0_7o{9LcC9;*%(@0?~PZVL4+@)QfotDw64Fym-28s zd75A2I(O&HB&cWJPV#?`KlN3kbbMA1=f;2Lc<`FsiE?;m4*Z_9l?8BIz;VlC!GJY? z!yU~J;R7^1YwImn{V!v4E=t|q1lBioxLpR-v0tWNWJph#U}cn{$P<5)aG&XoR;u;O zs*6tZNNN*5v5xRMxk*I03^OZ^%dQpwwPR9Ac?pqVG*Uin?3qdIYL@ih70!AZ&WY4Q z63K}d4B|_G>^&#s6zhhS<-Qh5WQN4o>+TbOeD;jA<1tr6|ID~(Q*|D5`eNB~y z{koF>)>KNEADo&Gy85Hx1;Y8ez5h0Y(6^3WpPy47j@bP0qUd0a83YGeG)e&H7h0Cg~Tsr5!7#!CQrfm8I!MO(u&Hr#)4`QO|doV#Fr7El${$~{3Zc@aNgA5hL~RdeIF_O2X{CT`!xztlhorc z(#rG*q{)6OE?1$-@NeRvejvu}dgB(YS;fSY=0j7i;uG0|CGp$)_*=k2H5i41SM$M0 zPL~V`JY<4(PR~mW=fCBeHYYPnh|xT4H&q?slV`qQ;HY#xSvNB|voihK{t6_R4@MSII# zhrjV-d{5U~7}R2mu6NYcH5`IidYNG);(zs;xUR?Ypw|D9OE>14$$C)g*_7pPdM0R( zUI#c{``>|c=AirPw)JVJa2p1TqShOqcs;`qHjE~zuXj)=@eAW&{}O#Td0Opw!4SWD zBO@iGPFOuH7Z!**^D^#rH#oDNnP=vCr`vmHvKA=}v%&Lua24qhBecA?swf=QeAqW2 z3YEh0VL7pNF+}cqO4Pp?rPYu4eeTQeq^5gs)dv516kDG!dqON~nndwUw3B>GcF4_T z55(B{AHFZf{WPp+1j*h6zo1K7Hgr_o(*~!&44JPLeTlmYrRxw%!Y?nryt&QdHFNcR zd%$V5%XuO_I1vr$7NwBkZDA@3MldK&?Az~x9qn%KT*zKTIv>Yg9xrUXSea#o;t}); zZeozEnJPDxO9s1ilw4OF@BABu2sZj}?L$m(@&uM695%t-JySe3&X)IOzTrI!5kYZ# zw^Ht%X^*CZKOS`l*Ie((>{~Eq4iJAhF^`(m7DIX^-5O)&Zb!Ja)KbB)As7%a8>GI> znOs@K9V}|vt$=aCLUTEZNqXGuDfEpGB5qH^MNk?oRQ=^?mLX^wnjGm9s;Tvvvs(25 zS7(@U(R=_N*KwxUxrd+}Uzg`zn7@439%2IqfJL^$?eb$%pFa(g+fv;KmJUYr=gP__%-{+z^T?q-4kJj>z>h5-^ zD3V_R{m`G9Fd+#RslnBhP+`k^aNU9xfMd9by~KR|^wT2urjCV+vA>hz{EWYFOPt0} zS_|oYv-yuo{r<^`nzFMgAfsP&eiXbp=`dttB_f2p0-%lvz=57wR-C95@e4Kpj(7_9 zqpLFA=0MS((Q-w7`-v&UM|#>*&?%aq@)y2cX^^V?NmYoSjEpD&6{JsN6Iv2olCPc8 zV5t2aV_4MlcLbN){)o3FIH5mU^IVdl9lX-bHwc5`L6=`U=#a)_BFJc%h|`LmNGIk1;*!;hZ`g! z-#Y}^KvDvo}&Y$TTz`}`fhd0-_HeVN`o-e!$5;eBm`!k<;xv{FKy7BGEJe1iGHtqGvf2= z+H_AX!s<>_N}$TBAy>MdoqsDM5PDg@Kmnvxz7x+FmXQ>^F+Rc?alH4=jD?zCap+2= zP^ig}R@#T4#v)d=E6AA6O!~LwX{XSK&a*terc#~k(E)tcy3VQ5;T$@K#r7$Bx2pT~ za3|>FEJ@Z#1M(BUB`DY48`JDFkgmI`F^#MK6g+HNN&wjbVLb5Sy}lv8LxzO~^mFL@uT7`_ljfwj!!R=eHSJdy)mNIb+C6!P zcS5E3x3?Ur2}Gch&=abwaz+<=AZ^3gQMnpAcQJ~IqC)Re_BmJbXlKnGj7E>X>&wx1 zg`+hRR{|;@-fHBGZx#9ucRv!~Kq8lL; zK2Z-m3QSLhNopDYgpqbL;Weld)Fm*#wPYL9B*hO0m%!hlsv;i~=kMA6Y!a^x_)@R; zMd$#!3jU0G@pgH<(F|8eOLFmn=#HyRa+c;mZ(eqaH*f!J#^Lv8B_8!R|0QV6ygdBx zh^`|p6O5ey?LyT5)*QOSg&s&1{|%x(4!1O9@Bio9P|cs*+v#R)*SEOzh7y4(&971heFnC_(Nrfkf#3r=c)fxNgn%8J?H-+zhdOM z6MJ;(gnLSTIzjaBl7mhCKk;_{Z+bQV|GoTgo@JIj!~#FgBes{Eq@uvK9~}$gID5rw z%iv!sIg9OUx=a%!qf!up0me2FMcfvsd#SUW5rG02pI!Iz?hu;v1t$WD5945(e^vr4 zoyIqd+PLKpTiKuor0LZ`Y&{;sDZCcibC=FSD(t^Aa^Lz5DH^)@_sUjUt{*yRASM?} z@Nxd&^2pl;?imKa76^H&lNk#ZeMyJ8wEH-Onc}tGs^>>=?KS7UX(S~Eyf#M0H?+Cdi~ zQFWJ{dX<-V7d;o<4FK0V^LGvO8@P!I#>e6yS6Q}pqV{0Z8z+zrt>RIHra*MCah+6$ zjlBd^(|(AJpk$xM}Gs-^gY?18E^` zycpqm_CBfgrWoQYx7Gcsikw2*y5Orkpv$fb#@M?IgXKUZ@B?QohQG3HD)AJzb1Bdm z=0$um5q}f5;(;~)^`N0knsOlFnym=saGf2IPDTfaHfVeD2c;ruLwv2TLELQD4 z6b(HmzD4(6SL5v01s{C@fHME9FX&C5b3QYEdXfSkl)O3*unXXzCVP28>7Om+Kn6-i zw>_K;g(hl^I{MbQpjwV|$1M0^^liRKHePAIb`Ifp_+&{M8ddLa1dSje)}sh5g7O6t z5xxYluKy@EoDckgEyIHNO%`;B0ZwML&vrDGEFK3B`I5-Dy)*8@BU3n!NVoh!mnCuP zagiK-4%kZ=KNjVq5Z!rHZTzNSOQ&J&*(!DZ~H`p;oT;Kz{Bc z?+*k7jp3{TeLAh#9M|mM`&L;DX((buP8v9 z>ST1AJ1}FBVb{IpvQ0xut@ao?#|ZdO@~lD475HEBm9#umG0pX6i_xRPc_s)iXZbP+ z@~;`7-c(e8JmxJKn@B$<)@mZ|&&VdQ7|$RxG@}N{F66J)da_6BHN{?0jgMCF&zY%-0eYjl!p@Nlc%;eB1}xpSqu zP{YR(ICNnn9H5gJMaUwv2m3%gp#p3*scvyl#1#69m&RQXgPWyKBl|ai!$ZUME9k|w zL_rTg-(DOu-%#H9F?o>C%FtXx%ZnVC=SRLtT-z0qXDg82O2Ta?l{d=V^1pNv3Kpfu zaH_V%b@**oTv-$WLfdn+;Hl`PaSvJuM6=JkW@_>i@Y3P|;|2=qAtdP90KP6~pFJtc z${u_I8-H=X5RKk9TD)j_;ojSelTjuWh*{j##ZUcOR(v|qb1=6E;AKAmm!9jEPj`@& zq74LjT;?4_r5s+%L2qeL6_0Hcxa!I6z29Y~#j*YXA`=q2c6sF!PaCJyyi3tpv9+&u ze`3uV772!sAeZH8lq_VBRo6>5EAX_FS8WvMJxBC!%VqJS4vE0j<8qZ(xjH)J(80_A zL4Vq{1Lo^-KC^CXU9ycUN-BOU4cSqM?$Q7>QA7wWCHbcsNNeF_; zr5Wu$LUYEKRTKnd%hg~md#859$f9WNlT6A1tTbyeUt7YOuHk#YirT>8Qy|Y?d~eU? z_#eD|7>lDmKE7Tl{Y|8qFzUrPHz=L_B+u4+_q%;wyqo+jd);ko6hG4H zqWs<7`Qz6lN<+hR24whw1T3aD;dh%4ZtR{47ag4iBJKR+ums(N`=KH_BdJ|;)THce zVUOFm8iSX4TF$&UU-eDug#-U|YJ{IUr|NGcGiomp@6;DptPI^3tVF+?oN4NaNq-aK zYMBcd?bYg91&S&po`~|BZ6xp5I^swyXoU)MkgIw2?x)--BrofEUe^qtVq=H(Ez)?+ zx%&+TFXfQcZ``Vs!CeU<_W2c26v<^BKvr7@yUDAU!Bs%i93P0Y%DvQiTHd_Br`dJl z^3q~t>|7gDhnZK2a%E)*LbC9Kh07>-q;t3v6^vm^Td5-|M$6S)`$5=?>81X=!?;=X zG6v(DUV~RHGj$E2C2fINQIqfq(h;=p*|bQDW%>bKMtf%!=Z$l6`kbxL^I-kv`2i_) z%OeC-JR(;!1%d)SCFST*ZS-2ms_tF|8Un7H?vOrKZ-hwc#&@~gGnDD}U@O2s+N4n| za&24=&o#-~^yzQ5%`u2ymvr(uzV#Cyvb^{)KNxI%kg) zvYjshve=f`mu<8lttsa_)CnGgt-ZE7{b-_Q){YZAPvwNee_1dZL{^rxF&m^QJO3d{ zlAxJ2d8MNsPu$&hR%Gsc1S{%nY(e4ITZHv^$1q_?jAAsk?k4P?4zHaeW$EX%M|RZN zGrtHK=Ur*RFN%^|d--@QF2W-Q0))n$nk*;dd{CyhDWE0v*nXp5plUfp@VcL-E}-|? zQ+NaszmZ;AX7%Xf7)fcY-)t+Fy;AHTIyqqcI8V7?XPe>ma-6VO9r~*c)gfmJ1SM#|@oHCzSq9 zBHNHGUy?5-J~%p!2mEioUq_jCH+iCQi{N`E<<((LZW?DSJHRvhgag2D@#4Bu7|Q6U zmcG9PTR%VjhnGi(f6zFB%PWj-5z!hy>uY;taO(KeX*a=+7;nWjjLnpnq=M;N8`10elJ7TeQ1@r)Cf+yAey3^GPKrj=s1yeL60X+!Fn5Kg zbORibzXl?xHMGUN14fEOsWE;YFOw#Yc>}8vc6zNyMapotIFP~`2{mKrZ@R& zJ}Su5KblwkH|(@>^CM><=jv5<_XdTay5Pc`Csh4rM?;tF!@e7RiDCDEK46opY z1z}}kKvXeqeF1AtN22`UwQdd3W$Y;#_j6oizMCzEf9{HF`hqKmXA`XmEZ2IsMBF@e zTi>wJLg#teedC0oYn9t#CmZ`lq(QXICDa|2LUX8_LRwEywBuV`+&tUtn>=w5Llv%Y zoF`@F1`t6hmrer{lzuSv)RuQNS{`!@O9-(rtuIF`CgTc!XtS2KWj9|7`b_!^r9BkB zUx6BLNpv9PM_CEE$T*R1lI$ih{s`JO*~${mn>YMJSM=d?FcbEzjQc}-ToH;E)242` zDR>*>{r5Cc$(Kcn9z@9&4GPp=rG8?zo%YahFqfD5>AMQ5cFN;LL@Hn77$=ZW)$;0A zQgsA`|Cv;Tr%|KJ)FznW&sdB_oJl^UyqYX#+X%VMV;mDJX_$VdjZ(hIM$iS>QVo7p zk+In{avR9VQ6RUsyqoMx(%Spb{KNw1htPL@OSv1cP0uDN}#*Crb0O@*ZGDUK5_0FMeV_Ir@q`z+n zyLYgARsL`CnCCSrckn(6eA9onrPjyoHaI9eIFU$YpniJyH8?1V*mQ1SVqU16;$hOz z4W@fMbmg5|rD&eXyH(jI3FEWmt%Qj%fs1jIT2W$+YOPGiikc}&y)4xGkR?1Cyjbp1 z>}r@4yDNIHrCfQAXy2J!GEN|7(46(;s&ytmzFiD>_j@Sn=Ly#MU*>7nE5=~Xal<2z zwbM#OLpNM3>}Fwrdr7SNV(A{Z+bH+(Odh=*6d!+nl>uo*Vr1j*R7VaAE6ec-hs_Q&^h>X0m$^CtYTz`&`+tCrFT@)jX;q z*=`S*Ayq#?sIJ(&2i2WwNMeNA~ZMJ&W!mV#p`z z1D62OYBP>#i26#OE;Mg9KJmLfy0qn>VwicCF-p>bT z^9Ic;65GvpYIu7T$Rr#%`abD;piO)1&gFNKG{+XosZ+pOz|Av(oOVR@5F)yQu#W3Q z6xZ?!Qi+d3k&Rysv5r#j3m1EC-|`*gW=kKi&a9r}b{t&k4p|)voGVCuHywxBO^=F_ zNYXo4dG$9wI(3-Ji68KEs`Q2-K{b(QUVSwDc#bofG9Ep(hbtxAs`{3G>nv#G&nGH4$ZS4Uf2En?&ll4 z@89Q%FvlEg-`CpK7N=8d=p+^bg-4JJ2X9^RBu*ds$W5VDkh|_L7N=bQ}ypcPACJf919dGn;wUK#T`jzbtFl8 zozt$9GmX!%_lI>>icR-6uxq)=+wuksK%?g6`i?Ev?D`rKz?Ek+^R-@n0{BZz?YV0| z=k8)vs`oVLG15VUp`Oq00y5eFm(kaindqYiopBv)=F{%}PygXFM!rl@i{mlTL_;m7 zu4DXLK6qxuWs`ud543L-?9gGaK_V~e!i=g2c5-s(SO0}FKP^X(Eep6_?3RbY((yjd z{<316;H_Ccn*~7eDmlA=%%{ZETuJljrbJ53%+NEJZ_wVcz;iVL14yZF^KwRLFre?_ zwrPP-VAU8znmTwAl-a}6fX|;ammpbi7Miz%maN+v2fkSgP;RIh=l<^g=&o*7r|!r6 zakOA$CL-fPOYAC%0FvYaZcVv*@Hq$3k>^*m4L>L526n)F(;o_j25W8RD#oO@&TjwB z{1%Xay=ukpZ5;y+bJiECgCEBU@XS^p-09i*cc2rtV{oFz>^wYrA)|o*{9w zV|h%R4|RaDuM@2*wvttU5^)Ncb)~-2;J4p9S8=P6aXTtt?EM5WZ5ME~9PsyE{Ay#F zL21&^TyQ}^9H;DtNFQ2M=SJJ;09Lvd*D~4@bIQk`g>M%Ax&@L_cAJRSKzrwHZ_;@2 zwX&!A3HK3}E{*YLQL#@K{SF}`HEBbV*kDsnN%M=vYG>tyE(ABpkF(@R%HFXAU{~~{ zu!0|1tA+I~VeBO|3DzDshl4Cv*dY*f=qMgL+3oV%f_snvo)1lQeug={4q&!%(vc|h z*K8bZ0#;P5VDcLutdkXLiIznFPlIhSylxzA3#Le?--JEx<+u*um_kkV1e__h+D7lL z&HFJkBk%_+kbgjz`r9#q{Ynio8TwL9jS?FpL0No@r!=a$Ed31(lk=M@fV};0J_e5! za74q60kU%&)QN#Mz|u@iLUDkWUf4!uk*s#o2n3dOTa<@qLE|!bJ~{=Tj8>I}r(P=F zVZlomoh~e?f7I_d4kefa=@(htipeGo>0Kyn<8UbL{N=5&HwI&vY>h_!$dXZT8=Kcd z1}sh&)aD*eKFnbh1|D1rdW|xly6F{;aJp1W@?TIfUvXBK^gxlX+IN~&pZ+k|PR+~&%22wOF|Nb2uGlBWJWS{P9 zD#h6Qy@l8Y^FDCiZ3~Xw{&Y6|u<(@5EH#LCNgzEH$_QSt6)p3p*r!Vi#Q6i}i-}~L zC+k2*b9Ket1%OMwIGLvUZ*=|O7G*U7Q^4O|Jd^f27iO_HGEWGscM!MVX_?!XImlCZ zx0l@|ll2Pt-K%*FSX>vVZCtPBgF`U@6y0l*B6wtwJ6)kN119$mc-EEp$z(o%8wuL& z!Q!|&En>ElO$dLDY}Sl``$`>N9zp9aB4}1v(ITRk(#i{*Jc%xY@C7BR11iQZDpaSy zuUr?0n}jEy0T9sL1DsxMkOx})-s`_`wTg;3ZN5#QokS9F#`=E)H{XI5Nxxd7^I*TA znfa}*54KkrLsw6C(=H^c0)2ZSOfcT)a!4K@0n-5~#5gvo_%JTvvkvqvrl<5Lcyvxb zNUF~Ucc9n3V>i_BlrgpP-&k)5ck}Fi4J>)WyHrWtdaIa4e`?Y1vk~N05HQ7FG=QnV z`XbFR?7z-!>JCVNR8>%#ftDB3!Ll-_a3OJJ{}g#iAoFh}K_F)&tXJD4R>6EZ2H^>k7u)wQ)P$YB^Qm**5ZoWuxP9bq-~dKTuG1uLz+UD( z?6JKUd0!6yWhHtD;Cxi(@y5X~-W&AuP>1d6Qt+Fe1JZuSPTWCscM^!>ZG~8iIbgQ< z^(br`N-t%3?2+;aSHiCT*Nb;I$n2mtuGV4aP}ux3-?vZW4?WlQHDcc|)x|Z3t;8pQ zKh1i7BapAcTVq7=Ir&_Z*iy8{{93L=Y^NSjQY;vl_L*OE^)jf8chauXqUuV`SfZ(; z7-j<6RQI_GC+2)$E@}7^&x*qyG#guBKKi+-)9wt);@1D16%IwJdQ-M0L8b&e2ltJs zL<0)(!U@Jy1qPmRH4;4zy;v`v6P`b9g=`&#xwMRr89n@^#tmLdCOl2Iqd*? zYdgu&8sdp#GDyC9h6eGb_b)a8MjL+FAl9EzL3!|X7ES-I?sc=^>=kW4Bo!l=4ZR6_ zM-`b-6#DnN>C%#x9@Nbo{xLJJ0B2!t+f8Ys$GfiK*c17 zys`%7eFgEKXNA?u^n;7R3rH2~SbCAh=3x`gfN}ZrH3?8R%KeXd17vRkOc=B+)8Ds( z=y8f>3;6Q`1&vkhjO`#Y6)=c1@|(S5*77|uw$IK@;;MnLl`}<2mI6s!8%0c zvjA&aXy(%dp;# z5dh4Af!)TZ8E&8#Fa|IsvGsk_0MIb8H2@sUxTw7SW|D0MT>Eu|+>;UL{vNvo%}i~v zdiGQkOZ!^iq=3%L@t5q4pPTnyxeSzn-xZ_+jWBZn*#9)6D!LR6VZ(%JC&>%K!{Wm; z(Xv-=0VLnx^efbdK+#pkV4N#DGvMyAPQZ9@gaN#G3)1z1z0hOZrlY^WKM-oM=NZFX?J&%Wq@H3AWKJN6;(7B1v=2m3q`=U}?EnP*23aTz{lrlz|?y zV``L$vAar=reGKO$b@`KGe>{0|M_UiCpQXSp?)>#I4!vP3Cs+5|15%4%=DH!BoUmz z0o|YJzs+7;(_Z$Mfe^K)$Qn42G|WDMlah?cOpN2!<65Jk8J6+qJA%sI7%8llfj_w? zI4)bkg6P*aVTYzuDU_zReFEWa#0D>_)k%}WE?!3|Q@|Ln@FM-rCPtemdf*7k_lZ|n zqJM&skq=rLlq;!gnd@j~x9~x;DU?ihaM3s6HdTAi zr*$@wK;#%mHbB_DWJOY=;*Id|F5AO8m?6X1F#zK(yqo}gCN4{t`C~BU`J;v^k^)PuJ^7`P=!_42e4&e6;q!j>%z{LM%fP1xUq6=(zK*%6vLEd5?a zD`}v;6@z3&_yrX2ZpZ!|Gf%RE*?!pudg`0N1oPD)aI(|2Vh~ziX!ktocW=_rs|b>D zN;N}JbAr*vP#chmTfwV#j{-EuJYYT%I6bo;(V!&S_xMU^L1X@_`dHsK+d)wOdcH*U z;B{)aZ7DpmKnRQDNd(o}2C24bu1P!_w|SpULAmlYV;K|z5w!dB09|q`h+rTe#hM?y zgWdl&w{qmmYPIGbp%b!l7YdCcIK?{>N9Olqhmd#SP3Q(bbvLIkr}`rBaV_5FMOiML zqPnFEBPHb49~7|$w7nl`6tz$lX!`JY%Z!i!=ITPd{kyQIlG9u@#;~x6Utg)Sc3#sc zL}u;4d|UGpKnLj1sjgeZ|EE+Nwh5Lt#eyzkKXbx+i?Db}G7vx?W1AemrQ2ZMY{%23 z(5(_4Vl!Gu^hCpx-MM$|WFM$>J{ZhVJJZ7k&GQlZ{sw_IgBuT+I_8wOddDj{4T4c# zrVpJ|zmj0n##Yi)EU^(~to%N4G~9}Lb){BsQ^TxrNO7vx!Yg|SBeJi=wy!MNm=|97 z3+_8vcv2W)KdONkSwKviB1VPR4_1$hi8Ne27f+kOhc(VBtalK6Xg6>F+o93&Dv{P? zxdtt_tJ&AIG(<-wGkl648<)kw^i9*D=|TI;9p`>gHb1n>4p=dYMLU7}45BI7~#h&`9I37r8r8ral>t^f8Wbn}SJhm2;b z@c<5Zht+tIyPkQs1W_$mwevz&&)eQ*@I~MjLrVdU_S$pLg9bPhZ-&zl4*xkXg zD<_Mb6`hPuPoFnA+@PEA$&Ic4t+Oh;3DA+-Xz2@|b=@HkliySw``~`-$X~T(?84|+ zWyj3-R+}q4**V9}`1=<}b&-Z7mxA$8sA&|4!bxVXf>N-c1muaQ-$cS2rUAWK+h)&c zWALPW<^_eU-|u3Te_RK!NVV_WpVZ#4sQltaw+ zn8^L)o<$(G%NrRX@OBo|ON^c!f^elRuv7#AXmzjKbYd-E-+7`YYEA{5MkHN3o7L{E zfuz>=o4op?pHIvS@^fxNKd{h<=Fgx{P0;5MV)ciBLW#^;bBWBnd(=~-2&r7CZGLc> zI`t{IdDYf0L=8D5^;E@itB^MlSmD(iN}9Qba@APY_7b3L0kR_bJB0T35^D6u(gnEv zX$B*tz@7RbS^7XX%g^Q~;JVWHcnN8@3Yu0Pb9OVDRg6?5N&qBryPo8sqN@ZZ!0RnW z#4cSW)q&uo@P&QC`|qL)lG<+3d`~0?R@z6VY)@Rh(2kIf2rNuAX2AU~<{JKC*SVd_ zLO>!_)8&{JgR2{*>g(S{qWdv9C3E~5?tG?8z=-@~Gy1FsbPj}`ME&Gz$@SMG`S+tApC$I6IIdE_>(`%)Nc6q`rosk z<grC$gANKMqM-E7#K-}g{)hoUe>d#Mof)js|Qlj>VN#FE1Rqi1M>|!kS?Op>2zv#qE;=+TNao<7L z^Ks44*GGJblRrGCie_}}u2x%%Oopx3jLLWiSPVi4@&b9Xd)T|xKHj0xFZS4%x%;Wi zRvz&@$DpDlG)__(bSQd8vLo&Y40~t`Pu`6fpmMqHi9Zy=`fiYz8c#sT3JeOgxyI1UV zON{Nvw9C-Jfcrum1#5I7dgz@`7XQ=Y0?bGx&6Y|+*ze?XQkhCQFln>bXZxe2u8)Fu zk2MTw!I*CP=jxwH{R>dzB5v9cTvU$(nV@$C+HZ?4e&#J9=#c%8Y}4;)?ElrxNy+6P zbi<*WEQO&-!LmHZtx@I02&RGF;6p!WO3d1s!gzn&rnxJ{KJ6&WiTkiAp3LF=A+#Cb z#lAKWHl$c}&G@iO{YG{B+(%8`7EDFe*?N_=tdNYaA=tBlRo1;}84u!gxq@ASM6L%> zD$`MOPq?~$w2=+YFB_R_gT~C(p>ww7M6~d9MGZ=Pg>-%#W$Ba5_WB=ik_Hz)D!5Un zTIni1_;F0L+q$(;u8ceU1aNGz9a62oS8*v^*ZL{> z)Kh6RXZ)cLHhb?|O8=+jJy8|WoHc$KhETNfm(Sc2Re!`+;zMB!7Shtv4qv70mz;BP zHbN%JS>nxlE+y>WZUEK;B~Ew=+5Es#el}crEOc-F{E_vCzw$}$m8k_8^rhIkAWdwN z%Q}snzzn>(KhXhs(i@9DSc$tH=hPfA z+_^w$skf`k-W4BK+3Q?B)r6R~bRe^E{pM#=O*H&z&R)D`$lz*6yHQUxrLqX7>H;() zYhyWcjT7(;7Q_#5d9|6&lEEbMEWxJUsEe_)>uSmeR)tGGyGb*)hlv7S>Ni50?c85q zXF?3M#lU_5FOB>1KEEu#v?S4Qx$x=eh7V+-AW8kU!=V!L3d^DFLRj$4%a^D%1U!Hb z(braz=u>*4(c!YJmUhegV(;0tWv<4;NG=CfEYl9MD`e*25C3|X`3@eK0%Iepmp)rj zH3rtdj|BDDLn8`T>iM3O5t80?(O-7i5=~fo#uwp?7MvTiY@i2(He<+-mUjEc8|rZu zLCY}`nZ(zTa1;5YUAQT#;^+SA-IkeX?Jwm&i=s*ai>JE(T1&jooj~HpW|w^)O9^A7 z&h%PcyXIZlLtW;r76qTwnN&Gq8;0I3>{F$5ISoF{9#Wo<-5t2O!B3sOLRl-nTx(I< z;rPlQrs~|BMT{51xgly0-hXX0&AH76lJ_{7>q!0j)i0=wVFt;FsYv9a1G{^JFs6YF zd8s$-z-;gSW=p4~6xn8rrJxuAvX<%dGqzGSwlANYr}0x{u%x6D$#J!%WCZE{nZL1+(&$ic4Lbl3MH9H3Rye|=ua%{{Zh}{y?6NHmTKbvM5%O7%9))^!qo?@GjXAw9T{oLJ~@;B70TT&OWoUwzqsb4 z;a>9z!@87e6LsCfv2VAf!o{~cb|lEAujuWTKgJZ0&OqE6Ld_}Q@u3=P-;n$4>1E{bPq`|amW0q#~)cavy*ivGS z%;U_99&DD>hTy~=dspk3l3tuw@J{!xgxwE=tb4e7&1oB+VQkW&5-aACBUX|IOOl!| zXI>cQNZmwV>-Xl^S7tk__p@wcM#RbYKM2(FaOl6W?sjFim>F5i`bRaIszmxKt!T5S z6-@rP>7ntn6Ty+Cs!;VOIcxt)={G}FNR+{_LvhW!ZtRB|)57)YAPYVmr5$;Rs9pYW z^CG=M2vb=2_ysC*4)u}_fb#qOd8(A#Wj*K(g;kwhnb!yM)Z||QwodGMiA|}4WeXjc z82s=y+N<)if-P8-b8UOm7aiff)ZrX>+ICq91Eu|Sc)TDx{rjL7Glzpu|I#k}aDy*} z4Hjw{ckH{_&n`P#-1&{10=6FA$P&Ir6{0mN7?_2ohT znc|Iy#yVVnA4b#LS9$xz$zD?7uiGi zN#kxEPxrv3V@UA6xSA_{W~HB--q=myDzD6V+$1 zZ=E8S1QOTvBITIk1PemV1qY6@m^#V>-(Dj+H88sS0A6%jmn-pWS@~1{z0B9@n26Wc zP@5S8hNndav)Kst@4egP*Zi%b54;M5nNA0F$Jp7mH!CB9Y^yfBHFc$>T?wgBa#tG$ zCeX#$#p9@tDlLM3!jtb5C`sDS;$eM!9NZ&xfC(b-&E?wVsEmkO&YzL%cwYnhl^#v{ z)Of9y^1n$oBOE-@$Q9Hh&5v@PRxA=XjJ}kUI&blXDb~;{zX-gF%zw2&x69kjT^TjF z`<8)T5p{ROL0`Va;?V-qhk0N`feoGShH!0;{IlRG=c$}>DnN#GPQ^YETW*t_On(lI zI;JT~qAXutxU5q;^&Ba>A_hpSP>xaw#qnh~Ua8eBQOW3q&BAlhfsZErrW!2ji^1r7 zxoEE_2f3x+$$dfCFDz{%cxP<=xb`M6q1g?8Ydhe_fOj^yZN5K$PEAzM(6O^mB)gPx z)+{oE40h0*aVaz$Em7G>0Phi2g>OQI=i*IwfBhwf3ebc?N2H=hz~Y1q-xwPWb{PuD~v{a=Z<9Wo)k|KIsp8N_sZW*25;hU>xsZ?K zch^4VaIlvlzyxJZwR6ml-!ij=3%0~0n#a`|F&pG&u2oXP&+S1w0 zFeorQ920bjz?D1`tugtw79UI_MK4JkCk4lk+mcXUp%%GsG>_C`JI=_Y@Cq7HEMmDoraZ!t9!%FB3&emb~6J# zJb1Z8ic=DQ|6ICk;9y06M~u>QQq(@|=bYia0a zi8N|?c+C9SJ)G`{SlzkOf+`(ViGSsZu($Nm=A2szJKeo2tiy82Y`;@k(|=>%kjqur z91TT03=9+P`JL5V8mF+in2b{&_qw}IZ_)g!jkDWb_hz_^OoGwPjz0eA6ULKsxd~sD z>cZ|5L1PzjI;Y=@7C~kcJz;3rrM#&cS?O-pit$@t#*Z>pm=vCU3$W34tF(`;Rl=W* zRr~2&{RuQjn+f)-d!p0WYMZ6{{S2v+=U%BA4$wB0S4KsqegLyRawa&4@C`@2`d6M| zP^RjrfR@PmahtojNfQq4HQ)vPz4EXE0oN@ zo=%qcR>mH4)5+HuaAp>Gh5K_nT41NThCOw=VXYX6rP(K7qGs5SO}x6=PkL!K^u}$C z%#}O2D340YkiLmE0Y0jTAHBiDcNjl^=X<^UdXq7Wh1{bLY(h%+W(IWT`K!c_nZ;uy z#4}Qyqe&SAJh~hFI67YBw6tzIa#{U}5-{59b7Xz;xnHZM<%$?RoSJAviJU1|!G#q0 zoct;a8VoBHXv?w`s2h9vk;MKtpQ9+O(yo=MDszbV z%PBgOQTu*FSarSfs|QTqSHthfk#w*5wR~8(qm)myEC^tse5Ky5(4myo~i2=1by&j>q2S@ zAN69hp6Zv*$-H4T9)HU>s7{PHw|Bd%Aw&`OQUc7c>J?z058es`s%}oDl7H-Rj>yy-dU zJXMQW`a1u*<(_^;G;Ij4DxT z)~iZCQyA^4w#{xFTz6AoN~t*uK1p49MvmUzLo#-0n!kNPzMh_ymP*B`14~h9<>gY9 zr!wn$5MUKu=rj9O3pc8uwJ)jZ>dUWxR_`WIZvlJanHByy_K5X+O013I<-_;)3`EX} zWw!(ZAD$tlV2SxK#;@JJYTu0i*Hccd{=>npGh$6>%sk>9nPrmc7p$gJ)RH75VppYw zAHo8Q*kbqw0uvX+j$K6J)A3;OZep$Pe&9206OclvE|;?Gc_5`OD=#^k#(#1+n9q&QFcN^mUIWa7QjP+05DFe)mgmM|u(Z z4RY9s<~#2I$-9RVARW?#ma0?T4$`E}M2Fa#L`AH~C25apxRieNRwhu1urwK`fm!fA zNma8!9?mD1A6X_;=xkOxDFcpYsn8h>Xkyi@`eI8ci3--f<9Y;(a5xDLf~M#Q?4*@Ui1yc4Cziy}F$CD3TJ2DMi)HE-y<|~kxA-1X^5yePd zJ1_VJpDe|CvwGhaxK;4le_Ca$@)Jg+v_;{~LBT_Qje>5o4~2Q$6&UbJmAIE2twE$+ zC2C#~l-f|Q<*a8v-!ta>V4Hn5v5CW;Q?C>>byVyVt(Sn^QSRL8FAJNOGyhXJ5$g0- zqc2ngbzsaULk6PbW|$T4X&|(5s^ci(Z%!h_ym86w0&7S)aMDGL+SiOS?d$5&F@9?> zqC$*#{|W8Wyu0Em$qo-RnYExK?+WAWS!n6bV=7a+aakf3uGmFLO_cIDCU$B$RgD$- zjPqoKNMcz76C&u{gQT>|ZZkBmR0$x2JmXJOuPaC+j|)ce%`*ps+O_$uq>Bs6ix}U1 z0E)4WYQCR@?x) z+;dD6!?W>|uR5mnDK^jFej?tX_g>>=zB7XTo82iiM#J*EvVv(z?9~%TW@OG<@LW@{ z&iKx&gG~a8T(K|~!;=*;w*@~*z#6hyN}b(;T#d%u7%W`@rGaR&sMEePmhH++ag~6s-t1ApC_yihWb9zi;#3ML%UZx z_jzV>wW&Xa+-r*;*8yqC2j*-qSAUcX7(|L|7LsDd{Z>b-ZL*@}59;A9cIFm5wKq9s z<6pHS(QT1>v+jdR#3laY+4vuZ6deAio9L0SsoXalACHA2_US{O9YoshA*wEFne&}l zk>|HOp2W|*pbI3R`hKOK6i0_bnQ9iS>&s* zY<%yMtVI24rw*9J!SdJss4CSf z{zKS(qnG|SgVZd9R&9Cs))U~f;X1J*ND66NUQ5)j2#3HQ#&p2Up% zSKaz<-hvcknd`9SftB+gLP?mRl}z%1wx08%2IgB=FHiBwj&TYFs=dnFEg?wM5_ZEhI#L)rHQhF@VQ zRjjzbLDL)dpL>S(7W$9Z4sV*~0(WNibX1nC&=vs`{c~v1LCclMqn=IzQ`+LWk@8J| zI_uN89D{L84joyqI1oi)OK243mmpmgAhx(Izs!ty4$x%}J54mSfo5)rmHUvO##4-U zcd#?Ti%2GRjlmdC%<+uEku$RUMWR7}ZxN#lUy`eB&li&JNW^~GpC{_v4-#{5Lmov1 zRRulM;T(yHy=m+MF+cAeUw-%VuB`~*RZ+7(Bak`U4)>=u zjeYTLGh549FQntHygCYC`$I__9(o;y?pm9sM#K#~GV38*k9bNfnl<-OJJnO3*6CSK&rja@ zXoko5ST+05RE^{zu!*YXsC+4Ab%O9kZ`oe6Bb-o`!vxG~OhiQu?5zK8PLb;HgylA4 z&gXW?=aTvK;x9C_KOM)THix#!UitxQK>HzGH^28y)|F#sJkixYyqw+~v3S1L+4w9i zoYuE`9aUHLaCfh8vsIc2lPa@M$Hw~N*d6l@E!SrI+6kUB1NzDe`28y*!vk`c9sI&$ z1S(qA9+APOmh}*QJHx4dw&FDb7F>4u8M|HHTS|)SwC4A+4^(y9$N?~huo&Jne%28- zKq;}jeCgN2#Rt91FMr>(pmwUc+#$Aa<>kc$84MLOg%z0JV*v|JC)<~IDCdlQA?ix- zV}8zf71bNT153;_gPmXP9}l%ZO+zQchEoB#Vf)XZhY?n~#pcR^%XfUrEr;>!JZgBe z;s<2#wU%pA3ryh>q-duD2|)Ge_9b(%AI4`je%2O&mRVQ^i|Ft))b7u^#hLM{R5UDM zaYl^5ahskwN5o;xl^@V2I$&(?45r!amY;tx0<1`G9~65|JmYzs$`I%iC@r>l>O=ak z;$DcqGdTAHyS$HSY2PU>b5b|-Mk=(}AH05$-oE^(o2RR*;?NgnNawYjzU?=+zjErl zHuZb?nBT+$a1Bvimi=rfqm6r4RP|}jV^v5LjT~oq=EeM>ZmI5u)gsy2m;PA^jgD<$ zW-krX#;NKukm$Lhjob2a;S<62?#(wX9UcmcNkfEhE_~S8H^9mdRzcLAUSCRi({Ysb zhle_b_!f@Ul~6H`FmA3P*s7UiL(%Vpsqy{nwH?m!9p!Nr8T4j_1745Ci@%<%js`<( z!eS$T3X6-3ryrManY}0G#)J~%fGnFt`d+4tr=|r?Eq~rGTe;<|dnOm1I8zwntaLP= ztd86Dv$E>TK!1kT-MnLRuf9wE+~pIWG^>T)Z<1~@vv&tKF|h!^MeTeJU|Fxyf>OOa z&b28}-Z(&*MB?z#h=4cA8YK?8acMRKmgX|z6L!%1{`vD4RLiD1{Q)2Xc+ll>C_LP) zj2@f)!&95_3cUA6w8IY|i?jwdc>NY`SXf_t;$AdeSc01;$9jjs>~7gz%lc-jr9M|v z7YR%-U*GQIYg3jSeSnSh6p#r}2j(0PzC{+y|J z88-8XipXw0LOu1EU48eCtKmoYJzoi38G;hroFERuZgbdVuewx{TE6Df7!x|_A7fCJDX zI_;5XCRl#_t@k^7{BM%n^0G5AP|nZRCSOiV!@EZJeePKu>#r81L_d4VfEWKRWt{={ z@>sthi&c;M)%{p0hL)EOfd}U5VxId*!7w`>F?nEEyPbTywdMdB93qiCZSV@#Sg)u2-gp%$ujN+Y&Z@& zU$C`^f{6!smExyZ1n}XtQ*kNI)>;bizjMLzVg*vOhaCu7iu|5aF7=S@OH|fW@_((w zzdk}!`wKtN&m$JvW$}Jg{PvMS&`?K09>O0*-qc`&)Y$BrA8k@$eNw%vNC+6zR4Np0 zS*lpZPr_%d*ubsp+z9P5wb47{>_a|FX?C33ZJTFMSOX%jK#KKqyEF16xxUUoFQ$d= z&w|`$PqoDiN7EbwpB@`jyNJ4Aw?vua( z6`9H~2^&nsk8zNzem2;Z!L0l=M?+(2Eh9+fpPm@X?Wm_o8?5{5UcY_rDbZq~pgak1{tf2u*oZ_v)u?PVlDysH6 zRd2Q>Ct|BIL0$j&2r0mfnx^c!5tgEslERR;1>!e^-MT+f2P7-P>_{)!+^A%PVtGA^ ztl$}^e7Xn@4T`#ZZa@+*GEuvX%lFr|HUh-1V!K~SRo=?u4`Yr?Ety$HV;OE;{-Hwp zr{O?T&yIXGz>A6Z2*5`^HJZZDi*vhA(!822Jry^49?8emWEz${a23leT6KM%6yvbr z+Ruyg%XL*KTy~*AeawDbAl#EbbrQoOpzixrvR!G(tHNe5kO4kG%5v%hV7U942D75c zvCpw=X5C~hq*qjtFN=j8fk3KWEtT?2ziLHr2{~(b-hjxDsxgeg5n?_wUxyd^OoqH^ z_1;1*3+O}xVg;LHw*~jjkJ(CH6C2^b?4R6*%yIGpiU-F^& z*_yUbd)RYp#Mjk)`{9M+KM)@YaR5xEiH1s-c)6=z)s|BCeKyXyHX6L6?%JA{9K_Z0sq7^wCW6=@ zw})t3SLxed=fSs&&V!wsxzE(Z5A~C|Vb=#DaxSOl6b8bWhRRoDP9YJ>vs(4iB<( zvHr7&a?+>RmKmoaWL{Q8$5H7UH~h>F%f&Y+DpX9Yf1b%jsbBl@OPJPnoz>w`$f9%H z%3&2Chx6BlHE=W85m3J=2^G7RVlqtQdO6bu&X;An*6xi!?RF0`Br|O&c6&F|;vDs# z!o(^JZ)^^A@AB$35p+f{FM51%HmBOZr6|dp!OIo%(!5ItY&kVUgnA(7h*Bc7cfS>a zV9dTdmMtu4x1)FAQQA_2oAo`l{@R);Vq3)cLE%nndWq2rOFzLsScO`OA=={#H z=>8o~!ox3;Km6ryrn>sL#oA{0Xw>v@WR6_jQOz!D}<=WXIoAgQ#EDc6{aR19Yc;?Ct=|frIZFAOEla|HEd>OI_ z=@1JrYmZlhVj@wmHy({%|2@WHbV)sWIU-#&B@vKEV7m=76Cb) z&*L~{fBHcx#6gA8nOg-1=}>}AN#QM_zs^DV*g9-Mp^2vsu%TSI-stJVrwR-$YB$8k zTw;h=S>WmyW$SE26bBO`!128e)Z9JISFR(iXA)y&scsToET0uNT)4Hs=g7Yw&tu&J zc-E99!2IG+GP4ut;~ntwNn%Tl18s#|U)PBW-N`oX%IUB@?gctXl1=Dv0Co`nenAPC zOt~chqskcEpQ!aiIBNoP1F%>IAV5Dj=8_ZRT>%Yb3e4e-mX1bB>x0{|(ZIw2vop5iS zW79e9L_b*vilKR5-cHQ{(e5)_w9|54iH!^c|JA$Tf=M|%gCw7<$&RfIf=}3XfnuHr z5=$vjs`)MJL#%FNpar{ii>vBIJRlbW{UcVo<}9maAMh}LNPeRC*=qS0c@EjvAOUfh zH(da5TZ14w8sO(4APXr9lmSg&at|_^0p=#c|4C>?5kgFF{X})>f9U&vc>KAd|J4Wl ze^3XYe!KC1Gwdmgug~#6r=}|^75Hf2v;ET%e5hbxYa)Uag76g&;8L>CSUfNX@{ezV zsb1CNXemzdq7OK?l0sDZ!+k)zra14nY`QJ*1{o{X1HzwSaZUk`+~-5sf`R$S1LzqV zgB&K?BTVFR2cWysK@yw8Gr*{zZwGRWUnP*Tf)=Fhl`r(H0(v^VF`zpVX2KKDhd?zI z^p6h;iS9mt0kJweO;Mfvdb-Mn#eJVGSrH(Qn#YAcuD8?%^2I08vs5ksAZ*|Cyxs>? z0mcG#fM(wcevG_1w*iU~n{!U1IWomB1^zr+qs`}nkW1+H1<=E-m32QVgbXpIEEgFM z8=&kfFb{AcfzyyN^y-FkRw%U1eL3&=^cC_~5UzSjWLueP3KVmV%5X zPR}9gro8X{5#c|s6uj(_5)cQngO`1i4NmQ=L=hs|&KLBnsA1)0|Ynb{l)>+~}C{)ea!Tkw5Bek_$wH*GZ||MNJ#-wT-A&sUaw zijT%cF{6OWW|&WGA31RhapBvka-~1rNx4KV2~q1Q;V`Tdt`HXg6U+CexMC< z#rZ`9-Up3Zz;d>^kOrCT!2{-Zq%!L_Ap;UJC7zZ%n(@-}!NOzfs%VU#?M1$8^ezaY zXZ1t7CfnDqv?{b)z~7BRE?}HZhx5EI;3tXPC|f}P^iB4Rh^@1JsmkB;fF<;>@&7XN zkvu&QZK|ejP>a^T#bJE zkxoEyPHcGCdaqRh5*Yow;Ct!=1WI{a97j;tyyfBvWaw2hUE2!kJhEbf8N0?ka` z$+vt?C1Ct92h1>3?BJZ&Z!Dr}PGp$mg;$H_K5=7hSJf`8-Kle8V;H{@>>;iMOL^=)2FOn>EW3at+5olLDRRha>p1J1;55PAYV~{r>Y15f(%i|9yyL zFlz!uzjC;fv~gu;gk=`JyL4t?r&a`jwliXR60HmJkIkL!;1})JM>yG;P}ei_C2*!E zs#m<*=7Da}aeJJ#uw;=zHH}-PD{ada5A;#jkTU z_PV9C2aq-{Y!i+uAgJfqXQ!2I15Uw=7CT`XPecwG4!yY6{S&gV8N|fx4s5XYA?V!2 zwDJQ%el(E*Tk-9ZH+f8u&%!U|h7Y4TVrRO)#q(9MbNe3l(Xzgi-Mi(4*jxaXH)b~* zOD9xx{82!lHx0gCtyd#XoJ-tIO=)l#S&wq-R-vdg_DFR%t=!PWF8Xnx2{5@zG#o34 z6Yg--sOWE%ZEF3>N8J{=W@JoteLpc69W}&c?nsS0lPOA2(^9_RswlCPA$hG9dov<0 zgD!sKol1{B!c~nNosu!CG{JSt3>95-g1xZ#*WA$$us z0vfZ5KO+#)` zW(maiJv~ijzgPvd=g(tz5L@AI$#TF#Lq`!hL2*_Eh^&hSM?e4fa zh;Azb5lro_g_V|B+eeWAdtpC?Lg{wIA+vF9Adw0_odkYs_n|;rkyqZJ=E8_HV2e;< z$~J9fPz&HeYSr#trh$_R)By#P4bijTT`C=&Hak@R?vYC1MZ|AEtozf6jdl~jA>>!p zipY}1z5)T5J#^hK42sz%j}sD20W&(mFu%XayJ8L3d#cOBui6ChCm#OeXRGQcR=#<7 z1JtN?gUXuecd@x5y+4FFqlrc5lDfY)A<`&i$iu>Ds(xvV5kyDkPtvZev!uF2-3pu_ z(3BVbk~&rG{J2TLWF{*mddGgA`Ub9(Nk2a!P`|nBfoi)gE#aqnh6B^v*9~<#Oq##n zA+YPGfUt=AP1%$me2PZgw|*Df@ADt1vzbZ4N3YHt|Nc5JSek3ws3+&!n#$-S z!_z{QSGen!GbY;WhS}tLp1pYNF};1veyO`M3}@&vAh&S-nA5=t0%X!4F@xz^%M;Ar zKdqX^#V)PU&?Lk~mH-p~c0#X$;kiAa-4h!gb!$D5OuixI@WeMls8nUF!w5+79-n$+ z9i-4up5xU-g0v8phn{}?-^vmS404Meb;}mk8d_;NayzHg%73q(KRZm82&BHoFJ_na zQpZik@gP$1aR`Q&g{tq^_>hc9Uc#iTVj;|2-|K z8hrlVZhmk4+thha2BBjK`_&cap{6fVKpmxW)`3~_OzFPb(R+O%`dT*|rXps+`m1e5 z6z0y-Ul0L_n%O;pOc950nKNybml}vmaR40;{--?|L7?|X8`wA(Sy>4-VXWU71HwQ;(1}H0IqTi&=e);} zXILp~5hfUO5%i}2$Ob3%@Ds@kgTu8yaaGmS)kL9?X1t(JXdLLAT0zq}wuNKA1>x4G zMPLJCz^Qk1wpc%vV@bi^X|hrcno=geX3$!Hcu%35w}mTMo~#+XZmGrQl%cX(1QSDX zF|SvV={BZ$Ii-MzXi8T=Hh7UgCx?ku>4#)h_d5ybDl#GnC1|Y7Q=Qpc93^R8or65i4*c*B-=c0FY<4)4h|@llRz$!&XHkV_h+Rh~G+ zy^Md+HSe<{C+`774V)nFEhZ!*B4k+SKV)*6rLa+kw=xUK%&&Ct$nk5PxC2+kK^@;~ z5>By|VjGR^mx~yVkP&+K;sBImu9@WA%pf`m6_n#=ueqtImd0@6yun*Sv~Q(3fG>OH zGw6hOC|!wM$(G`|ub4AG8CtzJ5*i(|hCWjAsaeC!QyxhqV?aVC^Y#3S!&d=G66gy5 zj`F4O(q+o;`=WrcdkamT7D6nAc9?D+fPF_as^}nM0yVd&Jj1fynp147M9(1@{pL3G& zsB$3XU=if^ZTDlNbR4Mi|lp|170!eal zjq=#)kU~&7L)R@4xu9~e|E-)FGTplWRu0vOH|4-bMW#m3!OV+P1p8;oCU)R+isciu zI8r;|>3TX29D#B1hG}LnF&>=|%)!;PTYOWtgYR0ll_L*L;6g4FY#||ycY^m?8GMK5 zTRM%UQBI@r@|Ue9qv+=~>0&^e8|3!ul42KQKO27tWpM&EyNlZnitUPezUh;zQRp;S zy&3PL9FhQC7j3GpC$mY<@abk6AaR}_3z9((c#^a-M=6ntyF{~7YYQAxZ6j23JNod4 zhQF9UqnEt|dol>mTIkrnoB|IE{PKi81y9W1N|dDgo>|In|B=NH=B1S2x%3b8)Yu0` zZTN+E7mcf!-i3JK%kURaten9TL4=o3s%byfC^8~b;Jc`WOF%vczB&+?+CPO+y)lRb z-l{-$B_^%Q7iyCnfcMAHMS|*8hc9|22c@p})3Q36Cu0FIoSto)E%~UHEtC|tBJzD= z5}9WQF1F_gvqo#g2%D!*Do_aV`w4Zk%IZrQ4r~svD_y=8polzP#A(b1+bGDy%qr_3 zca&Z4pl`ua`K)6su9vo*r1%}LlsB2x$UNzYeIp<6X=ct>_H!7II&7rN)lD7Fa5d5?ISAvYVd6k zQdv!}9~e?#*k3)}xYqA{ATspExN79cp;7ix6@T80`ipQIIp0o;Tu#UH+S?veV2Q>T zR^lLVt0t-<wlGp3Q|Wx0&ot?$da&7rBr_;X2~x{lmzj>LP_A3r%y&QZ zmJ%Ng@d|q50_OA|XhVl!1<;bRq3MnTlT}H{s$PY@2(G=&9>q=omzGNNfiG2z{Hwmv zbc6Xr(NUj%&A7tXuxkYL=do`(*7CjfNk*9@RclN3zEuQgDyzL$IjLE%x~z+kOU|1T zD@=G~!kAJ;);+D-SgR75WsSlHkq{YEYY9kD9z|2j3p}j6Ehc7#6vDfG0NC$&j@^$@ zF4VIw*F8LP7(7QTqqB?%Z`=JJ=Kk_6%I^*Ph86iLsDOl05)#tg4I)E#HwX;f-4cRG z*8mcubb~{;fYJ>DLx)I%bi=*I-*es1bNvU;w)uh=up#F;Ypr7)$G-0$h~8QOAD3Yo zgqr%;2~;s%Va`?Yvb$ft^%4^Cq@z8II<&SBi1o3eqytT;00Um?$fLoJMRqw%r1W1B zB_zWkq=CjSqVY+@xCe+VKBHZ8pCWSftqY+k$*=xONsEZNe8jzq>ad#-*!f+r>+>nz zg3{z0XePvr7MbKyU^xmZU5iRAUDIp89?Aqgxy{P!MzoX1fT`%0*e>uAv9Lr)!kfv@ zNbg7cAV{4#%lv7wnVnjQBvQ$o8$o^CwRw_+FNhtr)F1m^X)1Ndpk;~1g3bLiz47AJ z!dce_|A-YE$%m<@WRJEm7ebWy?g#sI2nqGaej$bP85jJmvkrTG^5#^O{)pJOs2E|C z$GDv+jK)i2PrRn6Lf0D;MsqRLvjVV&ac{kcVu;MmDI`b*!^)z>*QyTe*1Xe=Jwk`* zD!Q-Kw9SQj&|}q*U-uO6;|5m^!peT1Y`o7u?BbzKjq~psmtE8C?NRPyT||k_B!|2; zE5`d8wzLEa!_A<`ID+aNLkY_24FRR5LaT?Wbu)CkFtTSRGSu%d%|X_a*h{kso*=~a zK)b`Q-W!#ysYT|YixL$>%dVEB_-GL)@H69)!j>~X_#SaQ_ zv@QJxc}d^tFB6yao7jHKr?0jp{ndGz=#!J@QyCU6nk({uZ12iU^#J=BtP>_SM!%trl_Zy zSh|Gn2_B>x z-%4DzQrGzUsnx#8{yn1j6Ml`lWwNT2LT;kR8{}2d?38SRM$2AV(c~km`f&y`#ibn? z5^^P^I79R`fpCs9;7e*l#4EWaeCkKN3Vo>UNN}v(o<;Yd+A!`@9eGDG1rNDrbg7^; za?zmrA8jZInY8k*@yN>)v?5xw3^6CYjv;->;=8wH($08M#&D7bQ9JzXjQ#b=G$Cbp%ZC2Iep#?Gl5a?Z*z)FzNgMv zMaq$V|Mfr5GqGtplg5Rd7noDXss#Gem-u8N!d4sJe4*d{Dp~oV zrGBf0HR3JWneMzD+)d2`(O>Xvg7tCs5lPt|=6i?9Ua3Y+?6j}nPloD9>tm2(+4t*IZv0hLyZa%%`mk=ro*8q%M_Ar`k^Ru8XtaOIe&U<@k@&a;NIdxD?@2;iP9%{z`Kdz9 zgG(E7$EPRv{tJZh=t38t`BjQa%n|9d<>+W3pCFrQ1oj^0$k(CP04)y>)lp7w>i@Y4jd(Q^^h0hnrezDY+TU^=E* z)L5$hb@l{PLIh1K+I;xQzHv2;R>$yGv>VGC#3#kTZP}^!E*ifAgpq3sq%5Q8f`zgH zG=Z8G>RnDE+8A$X(bq@}uc-dd=b^Onty;i-n37wQ($F?UfF=%(g}ojxqs&DY#%20; zq+!$qZ_B#RUQjE`6!{j%zK7c^)5B1YssLl1N(ASkDcfH&L8%XVD=@K<#c=d8J2oNs zJMv0^>Az$K$wA{8I=U;EKW}YA|)zmZ%CpKLz`D;k1tqA)Q@-9E>`bc4Fmn+W*#hi+J zgekTiYwBxi{%a@&MB=;4v&~@6H-p1>kLVXBHDrrtmhQtNEj5osIfxj+jsJ5*^pBk@ z?gWuNNY3S@rX2tK8bq4ILS)fl)QD|$C<%z*xJOKO!)Ys8S0${mL3gQ=7S?teXsTt9+!){Dgp|hC@^4wVT-A zGca0mG*~DvhVYR6;C{p1mLdBXdz68Cq^pMR9t?}>8HP+%4~f0Q98RO^q|mS3%Uq<3 z_FTHPESU3KKrd?!ZwL2ccZQGB+v-Aw6Y)~rpbY8JTM#s#qR#X((tpc*yCGqQ2|a1c zeq}+1Z;G6o@T+Ps26X3EHy34GY8nY49k#g^K{6ko zN23p~`sE{wqc0&AGYj)$He@~ii8JE^*VakLuO-yE_3OwqCj}?_BgIsl>^WvFHof#}tA&KGk(xrndh7tF6 zB6u_H7#A?enxOr2c@`on`9~j$Q-&n(c@1`>DZ? z(a-vtJ(AaHeFF(t8pas6>W;m2Nd3Xg#bML2B;enU-Qk>%Btkcw@orhRgL5+qSu5Y) zl0!?63J^hsC~@SYd!?P4h=3Zt%Eu79YV4wHrPWRw$=NHC2&?Z~kVpFCr($(z>srTt z_26bqpZCJX)luRq!eDj;EzBBt9#U$khrmypYal>%v zpp(%St%zWe*`Z*WE5_|)Iu<acF!<%p)-jlFQZZT%I(+YZwC60NANY2 zF`FmW`?mh?H@Q4v{r`QFPjfgCw!A5Z!zuCXMfeka56jA4;@}J*q8oOc>lzzu#7y2k z*=DH1_IUi}KtM+W`xdZTZH=C6t}-4suHy$n1&jokv0l6=FA{Qd(( zW$0dI4T#Ep8yw-X*$;E8=D8#ZQZIC6rU@!Y?-<1tta`H zvwx)NeJxs299itO_q4!>B2W)4^^!jQ@6hYuNLbp=zeikJ)%5G(MjijCQ*n0Y$YAYf znj)VZpD(n=snRzMe^0Bxfp%@ebE$ z-_vxh8I7_Ht@KD;$N>M6z|c{eE?v@D(%TJl4_w50!kI1z9h1K?Y+TgsD7QMgT%K?s zo9-86E=d$DutVc+B9!%L%W)9apY;bX%;Oz;rb%yA^}7d{)a4?>dRdlBdIV*Squabv zwH4~MB2j+n^~J6BW6`|gZ9gL*Ar7^_Ktq${oEU<%p0{rFvSfoR;V4lC(xpJN#PzkTiWg4{mw)+E;-n z<}%baBPQbg+qBV4&DW*H;hApQO#(@8RzKoQFyfnrGRKpKMHq!`9kznM zXo3mz@~rLdgn)&mFtoznqxZ-E`=+wIGv$1Vs`TtpGjY|7aeUPIS9i&V&2qrQ$51-~7e|DeTNHTQ(`5a`BOK9iqU<95X zSWkNAoA!*^n-Dw+x+vWdoU#@uqC&zoYsdo&h<0I_K8seJI}XbRxhH)Lq=UQ_1F&eI z?*7kqG9_(gXx}2mR$?ad;SS4$6)`D{Pu8O3DKtFKH=@hMgFyn)Tg0^^kO)i6G1@Ty zBQ1CSOald*T0I-U>wiS1-e4A@9*j?UpzYBcxr};OlaT{oO2U6@FrHmBR#R*xx*73P zAQh7$*^ii;iu}anhE4ihs)iqIDM7eAw%z-P%3b2@D^R(EENnSi?pL|97!H-M0~&Fx zB{dqPm6P3F#`;~RW5Q+o&`#4c+TYRsq`cW@ROt*7o zn^fj1(+Ulll&TjS8vt(HcZ+?c#qct#^#-mCy=Ytw;8C=$C0rN5YBnR@a8v$+C7n(s zqFq!+LJLRiuKjOuiD*{ezhqJ3CUI{ndo63T_?<3_h&C|+k6S$Tu|Au4*D&hJJ!3^I z7_3RBO%!pGT;WF>FkDI!LuXI)xqCPkK&M`1{ja56`!-hH*b1=qR13neZ9Wsj0vu@u zSl|4z$g~h2+a3)H{GX;@@Dq((BA9)eM=fq@`KwKWh)N@0rGFHu2L_=(2qk)qJZB1} z$1t`yhlz%q8(BfJmSm~q78#dBbqKa#AunDVX@&ZvQ&Px|B@Mgc-*WO9FkbaLiVG}h z^jCW>D&Nvli&2~pcfKy09L=2U?bOU_`nq*$j4SHu(H6s8-U%|?b>thLne^p|z@c3k zAc?DHO)K(Q&o!W6O#eb|BiEnpdxDVi=eOi*NmqFTPfJ221g(<-XU>B10*J0vKkPK* zmRltathnZRkXDf)d}&V;wYJ3ZA{a1XyG$PX&v(VQEG|n<9zIqRvxM(gKRJ~5b6-Wy z452Ozc+~fH^EtU@(p%P1bKy425hWyv6pWq0WVDZRFp#+f?{V9l z&%I>A#KUvA)=yKlDkJx-HTaw5He?lrxZqfib&(K&9zS2CrudSx+~3%alFIL#I|o>6 zs7+o7H?vtp#)miKkkavy=B0{hYXkXR+>$R6DHX-6M7`-XOmVXzEeX>lLU;R%3h+$L zphODY9FKP+hTUn2K>qnsBlql+ueg2pE%@CB7$TdYxOlSG5l{Nmb3$Fjz!mlgsmmF3 z`N{Vb|IKuse;uy`(-jYU zYqVfia1f|Jl^JvX;;QfHCT#U~Y^m51Xucvd`9*QCe9$hvxm$UGNIt(`X5?=!?vG;gzFWiuM$(%9rVdKkifC}e81m| zbYyh4QR75x;~0)7^+#*L5bMX6f1E|Y)Oy!T!JB5Ge$q{5vpEmfd4Ly8o*xA4qcB?Z zkr0MV@nG4_7OUfwctcV_`#7O7fai$%NG0Cxf_DN-TDmQnIsS_dflRs)TrBan2n3j=6HfTIh7ikTMEcy6 zfRB?ts`S+|L)Sch@R4nVRayQT_jq{tUWsQ$i;cPp)QfBejpmg%t9eSEf)y7kD$yBp zl*b5U$KW&jA@ZiOmI1!|YFv|ZoQ%KzD&V33cxk5t0FZcu*bO;{N+L0 zI6cOj5Es;#-GDJ>_0^^%C6lk6g^&a?-dHN<#ddGZi$5* zy}aZQC_H}q2fa(MgjBHuJZZFW$7z@Y58lYgHouBqI+K>HE0rmnvDQ$^c?SKp+eYQ* z&}ZnutKK2fQS(JH751(qd@*Oi^0nHiWls6)dPU#XjhWi)fd<=k0gZ=n>i_P^+Eibj zS#S%bBuVx0t<@Csde$YEJ@5qDWTMjjyyBT4bVGrF1nG-yh@tF_gvbK3#CVCNZPoga z6C*zL7bQK7t-$CYC%B7h0>vHc zXB1{RbiEZ+3_D!`r*AROWWgSz_Q#?Fg)~b7-e?}EAiGUD5(DmF@|!Z}JyA<%4>JUJ zEX~2v8=aL89$B=={l{vgnkzEIx^v*(a?QrXZ$1i#NAjfXWpFe3bs>9h-G_nQNlvFU zUk`feCmd)Vriu<;IW=cUk}O#lC3;l*&LLgexn29vqo=h(D59QOY7oj}sMMY_UlYC@ zuK+pvKwD0n9*r=c_yuy>$%b(=^#mW6nM|;pkz@7wt((O;!4YpC$QL>fyBaohe{5HUq z>Kk?yZre#OFE}zMStg1Djw{Zv64Y@OK`v^BY|IBIR002sp;x{) z@FrpHJks4Z;UT`=`$K$%DfJXHMJe<+6IU5xXsVmn?$ixxkeqduw*D;n;9CRF^1wFi z4hCx9K-KWdMeLIxM2t4s$oXT0?isxW;v`@x;#l1T@^$qTaV? zt9vgupN_XOfhx*rUqwrRZldbga#lC~OX9x*%KL_Zj&ZCcRYu6i8ypUq9HulytdpeB z;TPK zB}$RV>M@|c4g4FkGVhQfVP}?aALAbs2HCgH>Kc^`?p5wX$m>MwKUNm|R7LuYnv=As zZ%)V^?Fo(NHqjZr1P;Qdga%F$2GY$vD845k@>SLcaN8QAV#~0M6L~K7K?QQ&QWZJD z20F3-=f`clJp7WmOH(o3Kpfr=+TUZ)L_6O8*I9ObgRj$iQPKXEhTI@%HswdO?Ki-& z`LD=W!|?z8=|0pie*s88s5IptY0pur?thwd?FA6CO99H>%t`>%;q?=N9W?^E(FzJ8 z9C_dKB)Yi2@!y}D!2S7Oa(`}6=hG)pqqx7`AiKY#n_{|6BPYyejO7Y+dP|F5Xx+{G>6#9Ib>eQXqib$J-&&2|Fm z^PvDTEFhysjmlrB2V$;H)Wf5(9y!)0n=Xx}Lw!ta=J_Q^KA?gcoj?s63UvKnPaT25 zSNR`+=PD4599-IzQPhME9kb}?D0*QfaFd5R0DTiq2Z}S?W(=gB9YB?jF9uKkIDt_02 z54pGQz+%uvGYmq8$!b9y;7CM3@q_;A1Da?hOA0U7`qR=!D`#y@ZnNyblJpb2xngLC zOwJH0yB4Ka`ipuH7brj9zU1v45XF4zrHb=v0FS5%#(oJzgf>A~kRKjfV6Fcz?fJ@K zRrm&ATI|k+P&)5a6apqt|KxPmF&vfUAq;AIQ}92+2FdS=*EYv`236oW3J2WfvH3Hg zWZhr!V?|DNQh|=86KLWtV7D>4HmIEU>wpeSx~T55Kx?hNl2*1EFhq>WS-5$76W0vd z7aS%6-7j6yZ=Osg2uAoGf>u=YeVe@xCyuy358G^ZrGl?5!0{a36_`2KzMVc;Agx=gvyGS-1=|palk3yVsJbh$_w~;^Y(%Q z_+}&vF7vRNXS))^@T(Tont&a_a*w{@az(u&JOy5~2)Ue_Hv6z?31{|m9>eUQ^xFMU z*D)R#xMqBJ6gX@RJ}jF3p`#d5CYj>jgP*VxL5d%ddr<;mKe{PQ7mBI*>Z2#Hcl;1X z>kUI?#bi;V#e$&hySPPK0d}C4pMq(jcwZr(=0U#WGFXXLm%iv>n?%5iGG+?eB950= z%(R{KrV#OUXM0p|cO}?TewsLwPo1Ogor{4$NRI(>_dTo#+Z~J|O^$(lcuK81>-~4Y z2zk*4w=HkzKt*_rFfojR%b2T22D`f11P%=z`w;(XD2mDuMKjOHG#5VC$-JwZWS0&i zME~(gwnMUi;7Y8cq`XN#Z3jROtZ7jm>@iC7IKH_48AatexI&o@hA3@+1AIl)aNKWO zCntwetsL@g`4ryssTQC9p}i4PAaD17yq^=fpFhYL9hrrQIXgXMks!z z#$$;tMvep+?iyuKB`BJIzQ>Aq52#5_J^Klv)8J8<#RZ}$!>F(T70V43uFI^^HlXT~ z?Oe>`0_l>{gs&sTsbYsN;-$%neLlqZ&*@YDCm{>N@B!}qkVe~NkcowoZL<`ee_-=_ z1s)YW6ABrj07EJ3-7TTt#0+v8Z^s|zgvgStTV5YrG52}{)kN2@`kE0VO2P@qwOlrL zcc`8cz+yj?u#u{p;p=s(xx4&|ZI>54weJ@Y%S^rO({i|zzFaF$f!#L0x8rnOaZ4h4 zyOD@uwbXPHL#UtiJB*m70sVBRj61+n{LE`Eh9Ia+34FNFiORkbG(7+o?;yW-6_<5D08#;k$v1f+I4ai+K z&38Hr9D_1c#6J~8v;22*I$U&?d>1T1F7GEUazTleOK`4Lh@@b=salV`(kRlLw^=md zpAEcGc~m>owQVWdCJhT{Fj|~8SztfX4rBdrc`HN_MhFj}7Ix}XcfJrba5}eN-meoQ z4e-9qH=R4^!Up@Z8j}K1v^aH3V($V0`ekF#=nm$UQK63=v!NryOUP9sMk6rXtlljG z_nLDo4%CSj{c}}Ljy52}pM!W?-WJjJZz!+M@eIln6S9D!S4p-}Id!!vt8syMi~8CC9ps(;5$f215LpUn1DjK~3<;s^RmvI)@OMyi@$N!4D~Qn8&spKkLBo*P-F3eF zAkQK2<9$Fy6W5sYwR=HT+&+hnEp0-t9)@I@6S3F}!xyRL#SAN?v_A9r`OmKeIl%p{ zt?T!8+CFriHuC!&FVlg)R)myQY;&*j^7IMHU0C$|0hb%h!cOOPZesK=Ouugqe#z9* znDsS?TTjZsL`l9pp9my=*+A~fJ}cm$ zk1$QBP7rFc-u-$qSJ3G{XTY@O-CCT=(rroAKH7KXnNw;Gm!xq<0POpzvo5Ib<#(;M zCc&0Qh`P(p+*LKN0RkJq8C(dXw7LTKebp;*h`S9x9G8~WnH#sYdX%8hGv^Aw+cYV? zwSTtEI*`p`470(^n8yZB6*YI;LS5%}5uLtHdnGoVZZlma#k;e;T;HZZ5Cuu{cJuO% zq#M;Qrn2MJ%M+jH7pN`Ug7-7u&iSmS&7H@|=HS_>&)qyu=TYn(SMw3n^5o3dF_6f} z=Q3JF6TD9CMXWo&Z)X-!KV~D9TggTJ+AeNxPPgGF<3=0TMBZfO?T_{~@y*URLSk2I z&VMKVAq?3**>ZLKNsD!{13r#Kzd9|ge^>qC<|5Ep`1Ji5QF0H)J17S;pzvS`Wun(z z_!`mucmLcUZ60N;(|H#`yK;6iLJZD;Zs}7fP;<0S(d{OIKQH|7wGKd2GlGtxl|5=MDfs1f@7t|#$GPm&g#AlcJjuObpF-S8|T6sHS-%V~sRNMPR;7@4LZe~-w) z8S83rXpQoZ-NdXm116Z+#rkJ2HSX5HaEhMPL((+Nb1Xu%p;%g^{+)?!i$Y@Bo}4mb2I0N@N1y7LXDkvW58Pi)f420D)O# zB)4Q&%j~4@DIFWTXdu9xd-;#-M@zIl*k~F?x=xO=m#unRiV+yaHl`o;T7EHL1*b4p zO2L+vZtp^O^wwbR)>Z1-HhqXSFEv+Ip|W0kix;rROlAF7jV1GfW4uV+fGx{?PKcpU zK|jdH4{4Et#Wlb#X{B9Kq1Y5;F;Li#qRlo|^xNM2!zzrEgL2Bf0*qF+9-gxQ_RH1vO?nQc z8sq(9$1Ql~y<2^Nn6bWkQ3Q+~N|^?~MCOzll!^sorBW4#yv2)g`cPC(+cTo7U*6?^ zocC4!6!EEh=aQqY4raQ)1xLHe3kY}1idnu*8Z1`=O<8a7Iz?dFUr!ko1DCnX8tiBS}-twRQ;Cyp$5`EY+k{=QW9@`~C1Q*F4jF^hAD?Lf`+v1x(|)sK4Q`<2z35{-wZxA-OVH< zH4|v{IG7RBJE=dvd7RGnY;yL*c6p|X9D^_GPNn`Xte~UG@rKEpcX)*>l&7sl=6q&L zvj3FFQuNtv^Ii0EgS0WJOB9nsgLtZEgv;<*_`Z**!F7R9hkc3&-h%h)V((RN!PPq* zkDQ87&Dsl_RJ)l7z00Q+ZP!Ztn}Ow+Q@0mE_2Iv~@S{kvTkH$G6c5Sk4~m@jUIC49 zI-Vx{YEH)#1_V$0H_=$@SgTRnh-ToIE>=xv&sLXx#N_@SAv0EK&1>uyfJ(IB2ndgP zmWd9P{*4<&`ApX2eGI;D^@M(Q!L5_aLwzeJ0n;KAYYxeZWj^vmGC$&;Cv+3{WU^hvwpG| zZu{o_=N3oQ?WfV=>r=s2boQh5(6cW)f2Ar*`p_YKl}Y&bL%Aix(e>qsEJD7aKWPYP zQF_ethBC{9yIpmU11}$(E%M81x@9&RY|eqW^#b5pW#$y}{hcVT_`Ex+zi;lU6`F^fCbs=Cpl&V1_X;~{EOnwN_#v>CJNiAs!IT{h z^ZNK{o{{4ke?270ta68JEqkG=?78qNL!|f1MX*7VwV_~qwWrcH>owy?<;bY%ovLap zUXNOXd|tfXY+=aXDs##cu`79iL_PnoFMY9mQvZm49f;)h5o02q>rh?#;JN6%Hl^+9 zP|jpgCii<503e4$acHMxALdZ&IAVRpwtObgZH-guwqt!Kkzk8Ld34tsl}!Xqd;_aqYzg>uORuRt*eV#yn(YyvwRhwEZ@<&yJ(&{F|7&SHEL#b`*@KT=*qvO=x>X! zw+X!r`Av4l(|eoUuF*UM2;dxD{@v@cCj`UKV3cI#r&@e|0oTqQ{BR1P*Y|Zk#}LyX z13l}vs;@dcPxVEZYaDL;jrN-lzg6Cq6F!yo$epUc zsiMI!X7Y!Lr>$3^_Z`LFY`3HiY7FZ>nj=uUns+xFPAg?U;%%Sn`*UDYC6dcWu zz14R@`BPbeOs}WQg)Ig&|GV`#8b7d2wtw+d=z72JU^?ciqNGDgdfvz@iqGh;%K5FS zZTL^Evc)c%c-M}K+e_VdJ24$_uJLeJ=XTt>4~D0PWqUk50bzW`{(P?+0;(>Emm?nC z8g{$3Mnb&~XS(msjGq`E#W%rm!uPzL>;Hg-E)r`{$BqP-3`m=58hdtP7e*VwKsJZ+ zGx&S9Od`Q*Hv>4h7tU~U>vETF5albO1rb766YrT4kdW~ObS;iw01sB;yY8s?h3ID^ zRQILUp`RG?KUO(T&!xwILPy`I9CcpyI?ADuRmpn`d^8JegLb{|a;*M?|wLNPTNP}dPg-YY;PZ3AbiE2%`F+k z?|f13Sw|=195=6T+GQ<0Z^SNge1ylWp1 zzi+%Jn_mFT|w&6}3D!3j%- zyjE|#*NEu%Coqd*vV}QUgf`9hp9j-4d+MD=sa_;?y4|T@gTR(4Y?0%U5w=2KL{30j z^7leVJkkuNJw=v&04YJ)baFikGGoJrJ-&M_gnb$)IJ~ z&e7L{CBRXDY@bL|E+MGYpjU-qE9ddp*o|rO9ls@Y2sxD$N;3o`Tbju zQ!^x(v9QQ~0QwBbmPsFjJz<}e$7?;*QcqBtX_eI+{$V8CraxM0V5#X$PP#0}DU@K& zI=z0FzIYAoYziL>ZRHu*mLg_vxwh@WVTy=xkUm1HM4Wr(}=LE@<6KQzdzbwX0vxf zgrTze*Kf}IrrLzNeCK?3@lE&bZw=)46wZGRhv)I7@(szogY}C{3FDIAFdsNw$e#W1 zPyQ@$gToifb#`->m6xb+@*&kN?cHTWC)b_VTGgr#XERvC>xFP5@-Dd3oC+;eFE4Kz zn&w!{pKi6|EJ}Fm-0iwNDSyk;6h$)=<*H0f-g5RKRp;I7A+_y6{69KgGk=HD_rt>- z{9nHw(RsXwvna~97 zB?{ac{x4R~cU%L{Z>0}h=R7;r4_w)gJ`Nwk3mi!7*r^J?j}bGNh>yg* z7aw(b;I{V(`V7}gf$V|ci>QS^?ufA-Xac>-1q&>BwS+vF&II`h1aO$igl7z4lc@)itAPWzT z5s<|l!XlG{B`i1R4~s8xvbeU}a;XXV4q?van$gxLpfRG8As4gpkyC%Ta!t@G^ed>l zd1Sih=}muJP~J;`F|P=Y;0_rH36>^3NO+PY*18C~OL`(3Hpaq2Dd#wp5M0Ue_X$@Om43WMpVE0=F8OhX~t8JfNB$M>YCVh>tX4 zyE%4WvMg!3CGNp!v>5j%JWu`_Jc!851f#GhpLk2bUhFKUYGh#w{T=Yde3MFz=-TIu zd+*Dfxk&JF53~d_tM3x3h3UF~40PF%f=OOIWCDMJulZ4LNUj}OkGot|icJ1LXHgCo z1g-KHvJmV6DpIqAnj-kV2iFc#RW6wt?&RsF4R1~#uNb&G)DN9N@2L@vXrpx}P|$zp zir^(}>psddgZ_nd+!G53cTv_)J~RK0$poRf@o4GuIjZsOZ1=s+JH6|-zudohkcLDo zDy{z{rqOY%``P*0mxae1$pNJyJIImmFurr#&*=>Gl09GLS^RWGO*=rpBBF+{8j>n_ zA|_(m$-ew!^;dvp6$J|!zVe-8B-dk0PK)?df$dnn$=kr6EH5x-@1Q@~_q-&p9@H6J z$2xs4C+y1APL_G0D0~sRET%L~IZ(Sa@(X>haqHVKo|)y(G(MUV_V%}M95Es5ob!e% zogs&|%;DGy&lSgVY;Z$ZCyIc%VmCH`&#d3g`eu5l?m9)I!e+jh0i!{{%KY+2iaXo= zQv3k_6U&IA&37)vSxic;d_%9PkTu&B+Ogdj2@o^OayHp7A-5HN3L@hv9a+-ld|jM@ zIP;e~ma=74tK@3ew>*{$6tMYoCXkDS1yikKXOZ{GJ1N~Pt)!4>xyME=RtHSQukIl0 zRQ3*XbRoD77v`#O3WAm%$dKgT)1WTp7~c8nr;?#+cl{Kd=cwPPI+9Z2aW39>6wjx7 zVa!-JifY{*xMO zF(9}uaQJN*jYrn6uJ5(Mt=7__jVy}xmk-(JOV^kL>R#m`=>hROU*Eg z@dxswVIp;9G+9^ox$X(DUGP%ELwvZb>sWhP-MjrYlLlUK$ftjqEw;IenXr6EY|-bQ z?Eew!wYVdPMU%DlO5*21NT^}J!&N|t)srVzuZ_&Q7|2*feuh37T~Mw-4zmhxojP6a zSK#m&AIJV(DjN3xrp}k zidZX07dg+hnEdFsSX`M?VW;sC5#x%BqX*8lIH_sJojFsa3CwabGS`=LEGs+7kRh?1 z$<(;^;QpbPtu1GLW;Bt1YkvK~XybQJ>`Rd`8~$RP*@7hMrDDIb$t$~?hnRSbD=WX` z(nTNI9NWIxMjoytR!rf!V)iz3-8#N_-v99S_c>OV%nMp3`x=w!m4dsO2hndA588?Y z#on8bx>YH@X!RZWTm!Jiu>)apGWR%rKW;a#<8Hs$!{nKIH~!&H(6(ykj*#USn1q3P zIEDS)57#%9b-&ichW}!%!N_J`JxK2V6OT;Q9cqN`tEqJs7 zCJ3ee%HhqU`PpQAFXGpH)SrL6svJXRMI`>MZYIRwwaT8)KF3l}^&myKu z)qj#{U{2wLw%;`m8PWnl%JggDaoZ(L&@QEJsp2t3!*I>aE_T#hb3QTk5lF8Z6Ar`Ze@}+f_YcxEgXb5|oy9k;^vR0|g+2-0dM>jZE(CKelzBPT%Cv zVqh{_Zr?)hn+Md5-m1^Bq1UzFydm!2f|B*yrTO$PMH2{HR>{^0XE|^BRj0G}O?nSx z?fh~rkUPGN8qS-p<;|?DAA!B2!sUr$s!2PqG($eU3WYbQ?BChp5)cb zPg-58A76aF>p$t38twWgfbZ6}sPaS!Q%vVJ^>1f#?2~^p1ymct-%bZ=R|01t4G8G# zlEizX4L{g_{`~Xqf7Kl??vxOD#2m675e@rf2(9xmf)mSyqbhd~-O|0`v@*9@i#x%6 zd_}>4^V{X^r)h&p(wsR~MRiJk{+SJCh`g){RzBC=s~QhIZgR=_MZ?=g|BI9?62Xsa zTjTq&y(D(0t9hMsk%|-~x{gy7Kha52PmU%e*`{s`hmd=Z%5m{kPvT4zs#;*P=B;57 z&BT9Fn@4@xeN`*0OZ zA8O_tNw25Be^O-zeAh_}bS&CEi+p;M?ADf5$Hjk<8>I!fYfka1s`hdXKj7p*2|)$mi+`k3|F40Sx=sE&M%(`%7D5SAq zbWCqv94+0#Plq>Bgmz5LnDX2MCE|r2_-%9zr0hKW9gVjuGi?2r*~|$;;!T3gg~*qg zpYDq7axfg)9tH6#)h{&^MopT7r#HR8cXcWYOwa?t*;Ct4GI`Dt`02FmqxC#w6#W*- zR-DHy9DN;giOVe2_byHnJEFhKBBgFSxp=0P`XEh5E6v5wog$k!COnTf%~~lv;m!fL zha>~SEfw^roYE{{#AY72yFJ_(A*P9+Llg6MW40jEEccI$EY~e4YBx7Oidv9#s9< zYrQ?}d%} zd0R-DPewUbk9xmpKr!rB2_?j!FY=ZsWMzYu>>zW@M01MhYiXP9rI_U`IYp#c#ZF*h zmi=L5zT+uzNYBF3D>C>kkJg|hi7aTrDopN$tWC@jklsah_lWcd)Jt1OqCUh-+IygUJydPFFPJ82bv>gH&PtFGp(Cygk6Kcg#4<7l{5m~O|8CWNe; zIdDd|$YGs-3@<^-m(U`Xcz|5Nmn=CRPxZzwE&2}@U&fgVOD|%`^TiV;JKjJA8*Vvh z^Fg0bO`G>&drGH+JUMZn&&`^r&0bG;E(k5*(;w4OCQtgi=Wb(%D%xvuw_=j69qE2z?Gsozd;Qlf~PE`)SXYL9!v`RtWBt!BOVbx-CDcU*fiKFxX_2?*A# zhmdd{Gx*=OXhR%-3s$-grwQC+4~{B?xh2~}F9kQ$7o_)Oel_K&U)0s+f0z{Cv2qwZ zbmKcu-8Jc}q+g3aOn$&mEkV3;EVbr3p4i7Lr<Z(0Ml6KZ{ z?QM@hYMOLuz|sQ>`ah0Ebj-!D=Trg_K3dO{rCa~J-%Hj$b?Amt{vI7CPJ+cU`Tm~b zdNw+>s}^Xl?UN(S$oI%{OF+$s|7rPgw?~_p-Qejv+u*EaUh%XF3GBb9q!Ot()xLX0 z1=KB9R3-TGC!xi}co_gX`qSN2NE183(s!`Jf7iBU#$zf$^JN28|E?J^+8@EsM`q@c ztstSRe)dJEr2Arv=CGwEHY~Yc-BvVxVNSa*gh?)0!kXINEWGM=8ny!hKn?)Qu+EA? zM~mCyL`&-_-2W8m@1QxUe{(WlhbxAEH7>p@=|)$g)qk3J(V!>Lty3$+ii6j)m96(H zS@PRJ$R?8QGbsiC-FeKUnb`SUwDaKE`iag3!eMZ7XWTBpNK3Q&b-F-7YX~l&P*S^y5u9CPAvj+goE3h=0a*zpGFe8Nd&np&wN%%CnmET-NI~YV)^cEz*;| z#z}j?gpMD)dX$NHvk8>ax| zO&HH6FZ5Up+Pu$*q9&7*Se#UI|H0+=c>;a51KlLPA50Z^elzs29{2PX5L4Kc^uM0&)qlWL=1>K_uy2K(-x z?X}AP5|Ysus8h1w(FLzOT|z6;qA=}fbq**kq-tcetS#51Yt;t4NnDkNgC>j@{loh$ zSHzpcw>h3&Jv;GQequb$Q8x|BBjcADN%tLV3*{SHDzcgiUDD)r%iMm)OHW=|Ub%fy z*FIb-b|J4T^JcZ_^|n{Ko54Kz#%Dxgt5p^mDdw!m9N;IFacwN^i7dCjJWY(0gV)wZ ze_J=+c}7wH<+ipj*>vJ~m#;33Re${C_kx&*f6L~qVtIXA_iCltSxnZPtNdNHJ;k&6 z=3VF>H*J=emo)$i6 ziY|Pd^OBujA7UPO)%tQ%Tfo|}B~eb>sG=!iDE!SD4N`yzcC)rE@+(1T5NOg&zu~7m z;MH|L_@v#OUC;dJ0ZKJQ#K1W9|FrjBaZPRCzbJ}=dyAmbyKc53y-4qFH?S4yy#_&~ zh5(_rplng8N|zEqM0$r%11bUUJKyBa}AZn{DKZCN?guS$5K(915ZW39fjB0u4_^0mfxHN$9S zh!*ohe2#=NR|+9o5HK~&I&@ZJi~P2tm>la{-KA5b$>ioW>)x2I(8&z&o|cp@qGfFW zf#_sRiHQqOdU9a9h87*0F-X5>h{~@i#>?R8%H|YYUpyJSXoh+)2ivR9(}umf>uSIU zJKEO9xwIrc>DERvGVb(7WIWclSTVC$H7oZbU`9X7?q1MIBlK=fhm2#-SC&&eKY%xU zCgy)aW5ldO!U2Llj&=9dHsP*&mh9re+@UcuZ|!-vAE?Kqwi=ItJRatf9om@LsCI4&KbHY_#<{9?G_DOsM!=pp&0pSIS~v=LxTkP zr$^_%D~s1fm=vP+AK~6E*njt_Q?o&6mR~=-KiFh8*lU7T_}GLkvU`czvj=?o^Z5f5 zqpFvyz_ufxN%t=P6A;~AQ;_`GiMx5(@zm&r6`&&s!=cOdedm6KYs$S>TWf>+sM5!q zz>rC#`W31Tx;Fw(azKYW*?<3ZC%VvtL8nD>w^;4d!YiS~l>>F*7{Lk(T;7v(!`R|d zP!X{Xg&i9)RUMp(biodq1f{{0zuCtq+JCn&v#w088~MSF4%R8|<8|T1#{1F9Mk=LCmCk1EXjfx97x8_aKF<b`=Xo zkXdYVU@Kw@=A@_Db$yzr6mP=fbRQvBm$2H(zqz6Q^sA)Hn{fg0**)ymK1&Cs)YG|U z*D~FKd<4U9c*c_RTcMZ)Qe0rPJ9f%67FAcdy-~P#=S!adEDJ%hEH~88HOw)s?;M?6 z-Zf4xT)yE{;*FpgzaRNx%9Cl)4r#=14SsVk_~KD}+_)#GaUwD2P8*+GAA-@=bk&G( z?Gf&i&Q{J|gQ*2M*zd+JK!@s=0p(j->|ZOeG5@Ot3LDnu3}71KhxW_l+DN+C=J}1R z0nuz~TL3s+c_=VoE6}YtRyiJO0>}-srv{>mLB(%qy*}^QOXdLtg8LVTYfT~T`pa9r zyQe2$4njNXZT$(`jsuCOhbRq5rLBWC45z+GW5>oq#arOGC?65Voidy=sy98UmhT_F zM^m!540l%s0!0`lh`vQ?vW0U)R}IoTCjq1hqPqXym&&(!kJI{sfVk`(E+@0T zd%ar-?Wy;bWA@$pu=yZ{nIgfXAB^(&WYq3^zBdD97}PVO4K+quQmmHPh>q4nZFW_) zZSkmXj_p2K4mqY4iMMC|7f&f6LZvjN%9ExAUxB?qOgsD8bK$4FUgY*5`A(;*%Ye#@ zWcC*uI62%>HOhO9oW0HRHLO|Scvo#t+d?r7tV0TsXzHCc=S(B2+j|QEk(!WzaOUyk z>h)rc-BRyz4GNK4#cKX@-u4Fn;(g9jur9k1^A>ES8PffQY}>&JI#8srf4<*JJhEMQ zeiz1WziFVh_bK^c-!k%UM!ZIy%w!aCgVh3~0r#=_f| zu4FUc`9`+}Gw2W($ZD!t-i_Qz%U%%1U%6L<$ySbUZSl&8c-jqhr~@1wF>Zp#ZG@h+ zv__Wpkb|lh+w+hkZ{6-mUxLbqzQE{R5B|~Xy&ayWmvYh`x4@U?S04^0?f&c}2PS>y zpp%wOC{d0#L45j#%E+NpDQES2qbbHtTmS-%j-?g;pTDlRztYL-|FMX{hH$#PQm&2G< zR`OTYwwIVKnJ4gxPZ%_mi|=c|)fVn1{obEv8t^NP{{GbTP2Ag^ae8s`e!Wx#bMmqu z&hZrBFyE3Ct{?1uQ+-dPlg#6yNtv1I&lgFG?Z<~Il{n=2(aB-*!kLNWJ|XPgJE+`Y zrdXoP20%VNY}?}9v7#-tHaUe3k@M4%3rep~Fkxm`R>`1`;RXsM&0cx>G~hmitn#OH zu$mw8oASk&lyLD76#r>Xlm;Us>fBG%=Qr&Y7SbuY)fu`ic}?(D4pwlN z?fPDWJ?dW1k$UtOwKV!dWla-Hup~)66lM-z}NIdymE;3e$fWoyzH8l%|MMsCT1GEq4gwRa682XQLK-omm*E8t*+ z{C;ji8@NT;WIcs_U`BC_HElo{U=rIcS zJwyjJqyXxIYlIOyh)@Z9Odr97+%XGeL&mxc1pHC%-RJYCAk5|R=MgP0XNt#-&iS1^ z3JBr_ewBiqpl(jA1c|CoH3;NZ+~GTP2)A77xvyI5NrVpi-FK5%FcE;DjHHl_^6>t& zdwz!F+C@k01N7L)okBr&LK;&YQ8mEZ(hvI%ZS0MQ&NUr*=b|46_03>0o;97(Xmv-5 z(xNJi_jJ37v$w9heBrI8l;{^Y?6{{~wJgZQ;twPqTK(!SD8TsIpxt(nCL0(Bj~JVo z#1G{>84Cu%lm25FMl^lP0~KcbO%fqGXy(#Ml`c_bVp%wXm) zn{ja&G$$A*Xe;2F<73Ph`K6=Vv%xj&pxJMA&8ekI?R2^M6rrEDXv=GMjxNFd>qQ-r zAO=6Db+s~a`dqb8al^(`bD1>1mrDRMu?Rz)U%p0=DA8@P>PdOpOu@9xZsg5@C^5#H zevHCFS4n25dn0S-qSty;=#^chjU|FIPY$b3Tb)gQrK;ZV1QKUr^GN^nsb#fI)Gafc zZGCVEoO0>D5qg3QLay8AZk7A56ujh!j&He}hC!Q(2*(Q=lwpcz$bF^~A*o@?#ikG! zy`q_^!5epj4xx1KCyd`Jzx8Go@K?O^7F;DN78K*>o#COJpG@D53zKC`^&@WEq@>}E z7nN_=dGeQqKf*o1NAq*xC^zOQ%26rNIs?uff6hw~3c;(AC9H^aD! zUq|}U#z|WzrOjK+GE|K5XpWfP#76&~+XQz5WYMwonFU$uh$1kJ6EaM=^PfZwb4DNu zIpOMzoh13bUkjE%-B=FH_f3P2Vlk{yz%9H~zt4@Pt`JeNK+!bDKFP6 z9SSF%m~ho}wU)X|e`@$2H7y+D`R4@|`d6Fh=Fqbu2Ax0tRl?hAil2Xttqy5c8kY?@ zJWyJ_uRGShFn{XhHdJO*#&FI)vK9@&91)W1mjyT$Jg1cjzLdVH1>K3-AGt? zMTy&Y<#$9gk*@bFIk52IP>3{r;oQoqn03rwu95i0?d>K93$y(vMZ=u)r=yb9u*ur6 zUR4d>M>}|8?jG5)2X8>}y|&^)`6Af#(ln$Dcd?hiO6hbA=KJ~^9aGgcOmbDK?#c0@ z=85w#reh*ekGT$atyX!(SdUo;_qLnLHj$Ci^b~hLMp&6^0;HV9@t_ z`LVScRtoP;QEdZ=$8$fTETmfsZ3b<}()cb-!cO(ovq+b)d`gwKf}VPA4lPF+L2P%K zV&D_SYEpSkIWsMF<{-#YVqgqQNE!Q+WfGiK*LA%MzT{~g;_oi-R>ST|2^5Ht<)ptF zlIpEY&=bi}r7sE>ARdp8hm{j$aA1b@5}XI1TyHq4vy1I|XUuIU2C>l-)xSS`XQNw= zpP$P5o((l3Qc0a<=ximLRF##IlUk~y=jd;Wjmv6%+x=J${-@(*qWa#XH{O&x9{25Y zY50i)Wg5dg4V|1{f9Opx&^+GxV`Z?{l&nNlf17980`J7D6IK<(QKDl^gTzb-wBB3h=or78yX zlWv*7>&-!8RCk%>@OZn(Ih?Ehu1Zcd%;MeBIUyIlQutEP%b6{lrw#w}l#z%$jPj#as?~7SkQi zuYlAM%cy*Ps~+~QsUx##6M%s(-p6`e-e-i4&*_6VE=bBk^9BerON5F zi&3+ErT2W{7v?s@xYMJb>v5u$U_`DJNyWN*x5^M%QF4h_u>jV~)nmxRdb-nX$#KuD z>Tcr`x_20IFS?_BS>-%ke0ZS(^G<(#mzIEg)+Sq>ww8cPx~h50=$t9bh6yv93vWSt z#GEBU3H3Sq#M^nqHY63;!K9C?wcO26mECQ~F9}x*xe%a{9b9tD>5_4_ za%OT;L8$lhpC3abQ0H>OPY$6Y8{xLgp4pX#b?1fer+XC*XFr>@8&u1Z#q76l`lPS> z2()CaJ5C)I3WTIW7*dq~Nz?tT0BjBJ%%@l*Gpfxk!F+AW>y84*EZyT}1qn>=3Ew~H zAtg|DMe{c>h&dB?+GStGNj~|GaK}Nj35Cz#s)cR1Z@a3XyozS74ctHUEmcbjY6L}1 zQ=-QDad>6=_+#?iw@n8`4QgM9A%Z-E`!Q#v28nn(Zb2re=Z&_^x!kbePh=U7z~l9* zQbH(9L4Mh$h5=74uDRGwq?)tg@WvKtOQC6`wWTl#(5c^C#ugAsuiUL5ouOIY{E!^- zMgrkyFDeKEX@Dr6yjV+m^6|&&`BR4b8kiO@Zp5-PdW{r5_wumK9u~2`iAI0z@J^u| z3T&}Nx3Ik3T&Y9db+NK2=XXK+Mf77NGF0#P5!=Ebe|5~YJ0uYK)yhM*I(J_OFZ?Xh z&TeJ88VF_)yRBadBwJL1oo9|Iq<+rA#Wj<~F1QEkOZ@(!1S z2m3s@_Gn-Zik$?u=PJwkJP+zz=GB|TUkM93ShRC+?`<|yb|%4{n@%-P)?0eFU}bK` z8Bn{;qyBf=T9_N4Cc3C|BW%yE(a}X<%pJ!p?Jw%kwS;A1U#YG9(KS@z#xGfLhmJ1Z zUkGuFpN@_$;TB%D53r!yIe+A|0J$Ns07%;Lkq*e(sDb(#zn`ESEe_7gbR3CtK>IbcbV29;KSk|<|1WyN#)DO2SXIJ8n& zsUia$|JA9M2`&#_MFyr8<3d1SfFmo7CV6ypQMZMuG6WoMe&?ye_%S-c=k#^11f#TjhU%J@qR|EI?d5O&2|kls zp_iZBE{I0w+niz!TWn(Px!f=#Lvgs-7Y}H6YB^uyO1NQv@oyXf3ky1k5&~*t3iEfw1FNMT#S|jdPGpwSM{2TvzujcYkgC8#D0EZSx!b0phSk#-}D+cklZE7g*sXBV_h3r&tX-4{A z6G;1P9B|9zetjfu7>2%H&=JzAw19H6fhTKjR&{t7AN?57bsAVhO!B1MZtAJ+MZd-) z9Yf;2&2__zl6{}g&ZoTrzaqLrB^n0~RP^X4>`&Q|}bO_5= zt?v{55Oo*t4J2X74Gf@et|L3jwX0=;?Inu%goJFB~~OmH);=7 zlQ_RR2G2fd>n3?Nlz4s{`gUmDSzZ;ZwAt{=)_XO)15X>&{Kt(9#~!%Y-CD=bWx*B4 zsT>+pof1DsKE_w8NKaoSZP{_N%yr5#^fh&yXl*yKsD|rohsEfm@q`)(AyP?fNb*4T ze*{;D?U}Kr^}$kBv*+B%x!+!insfY{rs-<6^XtARgS@z?{Z0a-GZx&-vAJ4?mqy`O zc@pTR{3NkxoSL=^MVZzEI&2cFh>_L+uy0quWk$6-qUM&Iz(8ogZQ4IZaKjS|WFIfA z1fOZTL{Wc|=ld%qthZGm^|qZ3y_R3lRwa@6*j|8A&YGR%U~? zJH@sZUyW=U{qE!l@lRyQGW3EOmY3@G_fC& zyPy+c)KJhCXL^i@v`)A5Y<_(?D+`2for6ffhfz^Fsj z1Tk;xj%SKB*pEdCtWhUGzB{!E=}a9kU&TmL)nCyJWop(fP7y~ND6-6?!bK@C|K`d> zHHdeAwoPTL&DBRNcWrksXp19^psL)Hz{^>vnK-4a((0mr}gDj_Fw&7h7!Vbl~lp(jCm=WfeAv_g(DiUKuV_U6$oR zK)I-WgQ?TEAM{Km@$NGIyg_YLt7{~=iW8BmEE!|+ZnLrRbbdtkQFKP2b8n-6Kj_03 zH?F=3|IS16uOWDMQ%33?)b;a*8|wek4TWFOLDnp8 zyq2+x=T!^`wQ}F>VYqS!e*>t=sDJJ{?Ha0pURK>wx*21ld}^piIc1G83~YSyuHGh2 zIc}sTxBk_1oxDAwq%T$oyhghtE9O%P=WPQIequ=cv{2^4yojmOWR`ky;{nKO?31iG zYUtb18NSiK2S{)j;jTZlo$cHsio03g3YVgqQJ3u2ocT-C zwxh1;0e1k(fHzsRP&S<0*?;HuBe%Hi#g`zidh8af^IAiCERLN=zTJIPVE~fKuDh&A z)AU?#fl2D~jr6qp>+4DxHXEJBhCH3#mGog5XKaGZ44==?0ibLXh6{Cr`klXCG9HBZ zuNF;@(I!m1w9XF2u|G3i>0szx_bENtG+?kKcHTBt>tkcUqet_B`b@$pw;OvL!tkWK zAFX=oBCz49>EF3|_YRkM_!`fB*C`u} zc>S7Hn4`dW@Ua;;&lSqAZ->88Us;RQ^zqmYSs#)6g-6Qt@8lwn4y-yOBP#6M6qv() zChzs#{@Si;(e3!H#tqY==S*C3*EUM+Gl|hoJNNeC8Ajup17^_&mEiBc! z%ax6d@_-h!{8!tht@S><^UuJnyQ1E$kHf{S>m(0H6YG0>q0IIIqplSR?xPxtKs;E& zBmkUh^!s5SZUMNUEw(T>P=K>OX!@$^X5EM56Wu1pzq89?>#o?xXe&dEPxvcWXzkG; zS$a9s0ch)P)wN@fVSSoHgL@oHPKJJ-)(yq5EDa@8|)#=C%eOargVPJVwQ+y!Tfm6a2v zF9g&z=QCpl-O{==dmtDAEOsg-Rql1q@&pY2&-creO7q-oEmsgVdLJO|SgdjSNC2md^~}psD9oiu*DPf1L?t{tao5^8l8Q z(MJ9j`S0JfZj~nf7M~SQN7J`-B@<_>0G*ut|JL5;f9#Mv6ABbO%xEprN&EkwZ=uA2 zE!5fFU1uBj|7-S2|EGJn%He+%yl1$i&2$oY*w4B+C;r=~e{OvBnHW73F`_L{jx`CH zpGw;91)sa#WgVbp*3$8x{T3Hfp@KqimWk)~x;jgYO{G@J9EsLQey5!O3uBi{W8>)A zT*fYYZZ_PZnA}-o`Ep(_j4Pu`ib)=`91ONW?0=_a1Oy4t?%OGjVTvz{E?Dy^DL-9D z8m>s~UQiqVY*YzgOxguZA7VToVC=2T*6|1gLc$v}e*9T$Rdh)N4RLoboeGqMNnwmP z&(;I3J6BX+0#CXFh`v2+z;t^wPyAJ{pe_H4|z*&HVIpV#^CXe`u0$?*m<6D$u@)7AfzigQ?01+QX(qd-@dVe2JWIN$FE;` zUtDv?5Dz0qKE8HE3iGo%a`hx}x7E+y5cw|q%$Bk?Ed9*5$ma2I0!E!ZXtqV%@y~Ao z%9z!vzs~gdis2P*t~Asqx2~8g+u0yZZt3JDmE83}?lUd$Nz47!r;^qy_BeD1>fUZI zM+Gz21HatCfHn&~74X^jt{7GhM~PyGaZ#agi^}P%|7k%_PcNQFzDx-hns-WjV=b7+ zWV-)&!L|6m(IU` z8f^@L;Wc|hg z#(AWx)eOTVb?Vl3+lu#TFGRQV;=kLOs(#W7jkCx5Px#XAVX(Q+sKYSg&M^^i_HO|1 z(tgnCS3RZ|V&|0OU00)>px1tJ_T2xq0px!uf&Z16r?%^#a&amq0s9wI^?C27 zl+D1o@HPbEmF?*yX_H~}>+3@2y_|u*gRiXR(aSy<`=D-Wd3P4|9V2nOX6cWQ-dzvd zsMV!Xw)s-S^!wl4jqV6J`1x`XsQtcm5HVh6el~!a7j)IQ{pMGX?)<%3G(;CYxLrIG1rqcKmP7~Lju&Hrg5^J z)C&;Z4!HICHF;M!AXNqdey@WmbR-9r1LbV8^!y?HzJTxK%Vu27t7mCoyu*Ggru+HD z%b@{nRQfks$GNGU7vj+wyb>@|9{3x>M9dZ51tcK?GEn0--QeyE#9a1Bwt0o}3joFL zn}MkLMSz`+hNkFvGCq}@OW+wN@1t7Yel*}^rP^3NdfmMZ?Aa9r!W~1zVWAN_J^up0 zHp5=H8&TiWG~b)mOqeTn2COP8<>~2n(%qj@jw?a)9Q#M)RV#$Q{TL}&CEXp^>Gx`? z-R(($ls3eK%vDTEvCp-sH~e=%O_`)FRBP1#I6mpb$wusQXKd;JUXl z)$IpV!&NvFi5vh-4Xp~!XzooyANCSlk1=3hNZ2Ll0`GDU0JsA;=~uE%Q+L-DdlE2G z@dUdat>QNy(*dLw_d6Uf*kNCcfG9@{w5w+HkU=NV9i13usgS7+rNhjrO?rZ}s{P*N zbMx&+(pCaFsVd&^nDCh&Uv1NPb1nk4n_JaJl1y2sELJO2UwJpVdX#~5Dqb+NX{wSq zIjO{q+odzbI_xa)FLq1i+M9`*qc(mHVl%!5b&?#_f=^@Jo^mHsT@65_9F?zwcmAM9 z60-k=vqPFjs0r`^wY3`zLU!Jv!#`f~7ahoy5t<{x_rC%)?b)Qlrur7pu(@`)eIyyD z?P$6xUmc=91IRajCk!CpjRhjrR5gA*V_}08%05CpEU6z<5n~3JqE@~G#B_YrfYrqw zUPwHE3R_2kM8|gM5lQnD+D=TXt_ZuI+J#UQ~jFTz!A$8l5ZN$(Wvg5arpUS{KL`nV7` zVuMmq>bndRU~8IbP+F6TJOTu+EsvYBsad&8_5PJLXenR1ec>C#i=) zj312ILR84y+ee)JWg*spkCCDuH@j@`y8eVT5xn#>ZMXu+fNS6TQ3;VLl?U&3vtlNWqul;kp*VHLdmKZ9A*GJ{M&b5cw+F1;Cr{1)RQLrZi zP6gW;-GE6`l=LdV6Dje$fI7`{C2bL2*4F~Z4=L`uYvaCDa#A2i+4_P9u*INF$f%zm zZ@C3mhYonlcfEf&`Y|aXD7Q6e*t^Qcf;E7h!yLuoZT~`Ye9oT;2Vi>CbT5l%`qHzQ4T{M-Xb1VB@`A}d~&I)0DJ zinlYdTAVlMVwF<2up%T#{>EW`zX%OGA#DSp>eYQUB__K8RFF@tj?e__OdYp{gkiC< zbhKA>Y&L!@cfNnt*{>IUdAT}PSHR|)YCqhlf83NC@k9)@J?G^LUzs4Zh)keY1bLx8uO6(1{~=)uQAc{&&m8s^I{|z1Nzc4enSixS z0fLzA&xmbk5U1uT4%#GPP?Qa^;Zt;Is#)9zzzl0)=i$1tHgD_5bR&3sQBZ>i*6QM0 zVLi&xhR)@yRtm&VM!wWf(#%*L+u!0nJ$aTLn#1D$;k#(oExmMq6~cIRWPn!!nS}4v z)jS-Q7(^?8r@nYkR9I8X27Cpy4rfGKfqs@+h#w!oQmEZM43wk9mde}1_j3v1#hKBi zCWGc?^Sqq4ks%kbE)NAlx9WlUI0~^!!b$h~^-25mo2d@HDd^Xhlx6O4- zRx?2Jw-^UHa_R+>YM;uF_W}`=w8_9_02r~qzSs6#NO7Gt?!RIdI&m_(047X|-8P&$ zk`+8W0^-bH>~lhSi6-b}I&*z}ewOfpgqSRPuN!F-RF~ z5_pw&@+7kO>hdp6Z^3F<*UUmkTivhk^4%gXylnt}`dlcs7!&)cWLg0m|JvDbvSl=c zGaLtRKA9e9`i@^;))Y^K9S@zzgbjXFPL@>*eHxZ8Pe?2pegqFEewP@`Rt@s@O3;%+ zHV6%gAa{zS66(*E-YycFkcjNf3Ru_+*r@&Z$*17f?4_Ec)!psw)7DB;t5omK zfCu4=&%=PZ0LJXi1$p!mD1u6rnUInZOh>3807ol9O)?#kC&=w%f;!*qcOQ?uSc+k1 z%i4A`v6s|TGD#k&7EG!~x2iLsNDk8F5m7KGSHLN>o! z-f)1WD&Poy&fG$awumtai^l6jc~x6j{4}E+Ux|zDtE;qgU+y1>1~^4b-KXjTd_?5)kTb}Q5Jx?Bflc2?3Nh3l|nO!IhOnu&+w^-2f7;1jlJ%PX$S~wlQD;00B@YE z@o$kyqq7btD?(zb7j*z-ID15DsLibkgRtz6r>s$IYn>uws!c3)64qMzXD701!T2G( z6kNSfX&kT|!ts_o?tUF`kEXd$Pd*^_dYIEteRqswa}IvI;TjZ{op7w=YZf4F9x*@u zY#1m%$BFf-*B=uquPqa+lWhL+yu=c6Uxq46QO`c!nx(U5aT%C#U5Vdi!{hle0RiTQ`%Us35_YVr78gu19Ee6o3{OwD4QL}WdDTPxi+z>=AT9a4)aGQTSQ8v@)wHyD ztx*}e?0*;mtb@kYIi4c;$2Q2&fbB3uJq3UuR{`@?)%u>jI?aqtcb|&$fxZi%qRU6{ zI`XReiFsR(ptluUUt7r!W#S6I6W;!IfC>SwiQ)8q@(sG*K8;Z)mhit1c!YmO>gDjN z`p2fhC!n}5aNgN(qj6tBo&cc&RCt*F>n-uJEIpCljiit%17EU>twrLa93>Uzkdum) z^6#dt5Z?W7U1Cn1^a_>(@$RN(0R8)0z`F$RRJ#gXWfYK87wxSr25`9p<#0A`lw*Ipym$RDOc*Ywmm^`x%{#rvA&y$X;xj>^|B1vcy+ z>{`N*rfP(m!Ouo9+Ql6N>s-;O(7He{UbM({bH3$;mBtAQe*+Yaa`%Koe<3!1nq$)V zx!aHXUhXBiZjA1aam7E@QIjQ1!};N`WVNCIXecB<0&tdg!;bdv`5reK_I!9y>H7)P|EgXyFl_r^ zlr^b3ao*uLn6h3I(F;CV4ruEJ9pT~^LcTq$2|vMa$=up=1Ht{?Q4LK48!LrLiJ10f zd0&8}Gf3rht-M;&p#JGVEC3x_G7DFLbci)X!pv{NIajH)vBmfufXUgzE(Dk6J9Lkc z{qe9o#*Woc^Vol<2`(Bx(s_*S?51Wl$^aH;m%arsB+OQg5Q2`QXHly;R#&OL^c6^S z>}&NxTdDv{cU*6JMv<3c#!VAAY|L1<+dy@b4PYn*%>b3bw1)zLCr%*kr~^S44ZwJ< zbV+MYeB^S~0e&>EQCm8>6VlmrAPLDPZP@K3PzsxF>w8O-xwR4joxZ4>0hvnPw4HC3 z+M5dUc;v=X^RTkAFm}Q}q%8I3$c%a$L~p-5PwLhEJjHT1h^2__G_JI1-!k;aGo1FM z1v&ibixJ=I>7qVt_-6S&$EjtEjxxj~2rAszs69&g!Ki7~P*iRXP9gE&N(H8}wgw=P z&}-MtLjlILIMX5~D_Jengikc?n^01`VI(od7szc3%<>cwDLQr&j|O}Ld>2WrAU z!y(k&ckLl!jkY1@@{YG-&Tk{waJc3*wk#A00IpeSjflNm+lJTc1{Ok<_M;J~x8riB zl+uve$m8^V%Gg5VHu)4OW>LKrIR^)w903k~!)0AVSs(Hj{MMSBrHRD;d|Uf*Xpk<_ zPZ{RdT{z5ZJ?Zz^aw{PZ)RJGdE@jhv8y;-eR|B|N*hyD#Ie%Lln^ku)t5%d~lg&1Y05ENv8sHi?bhgD&;%fBGG@LY%bT|RQ>jKQ+brI%+d3AxC(|bnC1#TBq z2i|c}ooDW&y&R7X22JHo-=@`iO|`ZX7C{;funptkp3REWR*5ZmQ^i3DF?C{c{hcX* zO=Ps)QY7XrDy#&NZ=n*Kb=VJ1+!+m0^GH}^>lQiHe%Mqe_r1b^A>TJUwaE?4z&db4pzBW!7~)!ANTV zNZv&E#B;M!-Sh_Be*v}4xkw97+8U`$;{rgM;~pOT_*&|dtI78aPwbMytLK6j6S^ao z!jvIlKzJKVxdK?()fm2v&I4W00Ag2M{Q? z<_S_oDyrZQX%DU0i#qY*T_R`EQI1RhiR+-t|NdJ%P44Kjaz34TB>u}&jSN@tNs3a5 zfQ@A1AYwJSkp^q&06MKghMmGb!7H>zqE6n^f(ZZL0=WJw%Vf-zc&hn+=uyR)^__{0 z{mfbp7)c9gM$*gcDzvB2m;MxsXZmn=#JZRE7F=#NBWJH8*FrVUmQ|H#7+z!$GFM-3 z-977q$|4|!kb3-2A7^*}qRv!kxmTz8i5=X=wh`y_MoEfn#W%Cy=>t zZD{2kr2!ajXL_CIn?YQlicxA%C2%m@zt5lp1YYr<;zbxodJVbwt6`*_%zDzlQ99}C zzdTR9J>q$r+?fmg)D3Z`v|EPqbiiJmSMu%pk2DPdx9uH+^@&O`15ZpHE=Ktz)|Jm5s$o|vB<4t({wJN4izubXcMGThd^=-q! zfMCDgLpy72VZQ&zBl5)2OiUbQbcb>FE*FnxWcW7BLAX3glwOF-05~i5$`3hUdXlqV zH$)qXsLvySGl4nPHNc1rQ_j$1F3A9|nJ_ow1BgdQEr0{XcKWkXskewFgAVs~7v5I2 zMg)SRcx|YpUH?BlQq#y&_N7Ec?xD*I<03UFMr_~1LLfFZ`NylzW@0}?=nG}JMDe0! zO!0v4kErqQ*~kFS8F<$n#*w>Bz<&_inO>t50zw|zzqtRG5W{`TbA}<2yLNVIni=b@ zZ_ZxxnXHF1{q5UnaXFe9?0>sxnUTX>F1Kz8l>K=1Y{>qbskMX|_wQ*xjd6sueIcd) zcoyWJIHs1}FObq}%_l9-$xnC8U+Uma)6BIS zt1fqG2hf=@{N1=LdYywN(11TfMfzbQM`!ts-(s>uqi;SwlRRJs&=)3?U%Q#@_CwE{ zKJ@NDs9oBHzvX0ao?R1NDX)_cXPCM8km=U5Gh=?&z$>QsP^V94ZYsz6blULK<(K~N f>45*etBy~davNnlEX3|pTYsQ!@ORZ;j?e!aJNnb} literal 98238 zcmeFZWn7hM8$F7N0VpD(uxSvL5~VgNp@e`U-5}kt=~h&*Xz5aEq&ox@R7yHFjmW0E zn|-clW}Nr^pL4#S^WmKj^P6F_pSbTU*0t8UdG%01iuerW83F_@0}||NGhh*5H3}@V{L6Up+u- z4=*rozVzzVs}KrZSFwR&%d}W&>#o#*&l|m3p~1m) zEDCWCg^hlFP*hW6X^G`KcUeCQ?T|VtywEOSH0 zIui?vrEVchf~z>Zjq`(#xn8y`gapYL37~ zr@~Q2z;XILnq=~4G@0Xp6uQBFVSoqiwrUjS`Ct*7n>gt-*OBC}tfG=ZbLr2MoVw$r zS{FR~oBu;<>OF7#fy+!^e$oViR9(vbNRH6x=nQuk?Nalut1GTTorR_kdL*7cW@cvY z%v528pFGmlwW*9B8qzi&t|*?|-(79y{64jY=GXKXBEoP_3Vab3Nqiu(zbr9)+{fD5 zy4{*)g09{&x9TcQkQB09?$;u8s@zouN^Nu97Ou)gy?0mt^IUWU|7=W7Xy^qu{J~b; z8M|#x85x;Omu3|`p93B-l9w+V=KBk2;|Rx&qa`H+X+=3C{D?xTz4n?uyR8wiWDny^ zf+dnydXFs1$jkRswc#cwDQ(u$Poe{9gm?85V;=`gNaBJ-58FRGvuhUpBDMK*Z*K9- zLP|en3Kmq_gTx5a1h=bZbV*V{G`GBV9W{zA!skb8^v;|;J2Bmn6dDn6b-X?(GPmYX z6A76?4tjdAjhymSh};-HTZQ0b3=ExB9xnC1sDSW6F%qEx3rkDp8#iPfepc;F#?qI1 zC_h8x=jY3dG}uqIQV$zC?rzMb{bw1z1kGmo(f54MpM#%w7F%MU90@#f>}12?!Jd4v zlD0M*1dr!3|0^l>1}>AIQG|Q)!Q&mO_?Ohas3#7cU0qH~il0=o&y)`*UB;DpA5>h` z?uQ#PFfiVG+y2?RC59)=VXF1N!olpHaOhK1QDKI}Pqo2h8P*3DcptcHS?iW#?pDK7 zOWkO&-&r+=O^02Owzkgxy#4#laWny;Ta~WcOiCno{h-nVVdkEm9{N(Ri_cIs`>StE z5@RvJ<3r^R6>Zl<57xtG4gQpnCnx_dAc53}HI5q)X0Tl4t}BoGtT{CbBu&~97QS4g zs(}}_w2+3ED~6AT(RYK7oqAwmlDhag=9cm63~SnAy84-}G+Lp_IfGM}moGhcXVPL0 z%=-&cwBe!ulkZ>fNq=Wv){Se|f+N_qEUrpH($Gz{CAwst%f(Wy_cJR!d8Z)njWhyt`W&DTPFrZ{GP4NX>fv`t<_SHk$inosEr+6{mkh z>blF^F7a!I++|-dm8cJ-4l63+mXVeYPV_m{I7v*&6vpx(0xp8K`}JhoQ)JLOk>6hY zb}JOi7JQ#l?MzD7mG*4>r_x=5lM8SXu9L=v7-)#P9EWwu}?aMhbgu z9v7xLI;{AJb^z1Wt4$EdH%5K%Rr|Yhxwo8VmHW#b(lRPh zFQ3!m8rs^h3tDx&ap`pv&5=BVLlsWg? z^<#u2?_|QR%DB5%phP^?7l$h;Hp^P3`wP=1)h#d(s z^^9wiEoa?nhCjP?VMLvroC*x z+V&UREqwsllPC0Vxj292?{ZO}N$b5W#>Z9QzF~pg-KyExD>Cn5v-a8Fwr|;lI#ZUh zP*6~Sn~2owUGS(&aa)^Q?Ke%7QBVjp&=Pc>55B~%dAVewMriHl?TF37iV966f61bs zMo{Q^Du#xJ;$STzcF&&{x$ZModtzrgDTrwA0G5@RkB`r6u)Msy^OIWc`$4GI_f8UB z)_22jYMZttgy&Z8-Z0Y9^V(3+C@^{jUFC%JC#X&d-n-`a>wW9TPxC+3d-UjWS&N#U zm$9XfgM&kg?Pzs{-rOE1wSZ$Vm*J0w04hGB!9ptB@{Z?`rIYL5DfFc8-hGkebXmwX z&m`7qu2*=w=Ho|(8Emdz`=(Zj)%8*Dy=?6&_nvO=6OVLs*r6wO319l=V-EZ0xwla2 zHx)w4l55Gpz{A5+p#Sx#+x|*D@t_qpCw_mu>p|eq_v=x99<$$6|K+q+*i#~|8TbZN=8OT2>e3dD$g}x z;bBKw=vS+IOEt~-{WkpNlAQs|Tp3;6k!K5#XFPaOi1GVQYwlH@U`kDT5xH^ZCkccfwZt`};dHlvtF!cx^|tFI>3bNM;EObM^|#Y@5<% zps2C4YynzE!o>MjD3ixZiUH^hGbQzZ51^~h)+)uVwTYGrm5@*iH1uX`Ju9(fX&8eP zn{NM5QC*Ec^car6!*B%`1@T*CJ369Fo#6WWG$gNSL-qc_!PaPJlGM3oC;UR`sN92x zf^IsW)U>rxw_GnwtG{};voZqHh}1KI4TVoqLuj`pOpcc)6g#KmZ6VtgSsEpJj6p1`VkDIY z?{|%H4IyHKC6ve}!8Rw&Fec^<38uS8uAJFImA`#V-65-W3!&|Ry~VQ z)FM__F*ThH;rTwLXvMA%w^h+oonO1DL{1Oq_@-qlH?RrCBVyy1HsK z*PDIIdVqTe>h#1bmV}#e%W|@^q1TmCh1B<#Znme~r)a_RY5NZMeE0wfdLr(;$9#Uh zQFpo`0$GqY28CAo-aWr>_4R=CbdK8GHf=>IZLBB0vn?yK>VNe3@na@NMhVzQrdU4P z2xvWSTf;6+b4c*QzSG?{`Pshj0o{#RL`0X@X6Twf33ce(w?xrGZUv4D11i{iQ?2nS zWo3QcW!V)DQwm>BZ|YXLH+H7nhkB*vyfnh@F!?hCu#A~^KJB%Jknr#nkAT4v>rdt$ z``asGLH;m$Ob>i^SxPX8hlXc9aGMHO<~S27wAp7^;bje#WPNE=FElL77@h&M{7Vc# zUbte?y+%S>&-eX5GU%jqbmBRb$5vd8enxSLiOuXy+Il=6bpLfkvHbB z_n~bHLEEaxuRh$J^9#aes6o0@3p#gO(~^@j1O5qz4&K<@90q;wzMR}!$E6YBUv7L3 zlX7+5an(7mrfHwTeUhyQOD<4QutY~kW44zKG^*T-kybL|gZDy$$WO8!2WM5ExJ%g%WvW>0L*)m&Xot z4yNnZWi}TES*Uoef&rAs=IT}*txiq!+SF(lX-yFRRGG6qsyN|K>wU_dSit`G^D&Y6 zkt#ubx?Je*ooNqfWgtf8=dI8f+)E=9lO||T$y%j0emtdQxNWGBP79w`eo#dW{=sGh ztxA8>F(y6T-P7J0g7&{9vGrpn!F70wZ2--|@X9B2Y6=P-L6%MA*VCL880&A3zHQ3A zur=S`)mhE$2taXoTyBJ-aC?pHx#f>D7bB;e8_^2u}?C zm|BA;d~H+E<#S>04QF*Q6`##?A}v=`kEv+mEm3hL7et>p#V}HR_NjIgx3a&%*UmJlX7wt zyrJvl=@|+-ow`Vqp*P~axA5M@`5Gr@WTN-3OsRajAjOWS$j+~4=Nt#W|M)?fP}7z6 z01FeLJQdpK(6il|!CuE>t%c9&!>iib+V|GFHQqXp4GmMg_BO?^r|VPYV;!9k_>sc< z))xhr%m5_HJYABKl2TDA)6EG{Lcf;0-n?Fm!pQK`;v$IofX>DuN zC%3-gQ z#(Ew=0hJ3%N(d7R3=-MBhC{=EomQ!JFa7*i7~Zg8Op`VrrXSnlGx({~Wewp_#Mh-Rsw9lm=;q-IX0!qU@fbo(B3GH%Iha z{5!St|APjioYtomhb0>VsRgxZ{bR)f(-OTk3m2iZ)lpabDT%?)ou3PvU&r{=4&qg} zKhz2whWQ~m+VE=8y|}n|H4(or#kYA*Wc$nd^U)V)DICKRc6N4BONwjpt>;yJhHd?3 z>7+C?q8C>(ABb$xbo7$nPuO%vI{k#*G@LkTw-OiOUTFVoWa-t2Oz#5fEi@U<(W#6%bF!E9+O_s!;W-$IQcIi|8WeSOvMU9< z0gZ41WfC!fc3)3lBw=)ZhGJFCYOgv8)v~zfUwXkV@b8AkWeKId;#F{=X&YbzzGo;v zrI{wfupt~nW0w5nxM|=gQsYOeJO*jP@SGXI?%*kNmPD`HZa8m{u_$y~K_xaufB8jw zvcJeYEM=kPGLOYOo5$59CA}RY%7p0sr86DHmTKkDY19o*eY=J{C%f0~ddI#Gv}q!i zY6*LWhLxGLM9r9&92^|IR-;)Ow*e`hE?b0~^30W3^>?ni;WpeSpu2Y#g@uQc+v%j` zT9(=jcUJMia6*^GTSrb#o@sEH>`RcC< z^vl~mNcaz&dCyOZ>npQQ%Gm^T9x+JT;jce`61|^$1o#i{?J+_v>wgRF)Sr|+D*rs{ zAUrn=nm#gN7TUz}TH^pDjV;z5Q#g*6m6dgLNzM~Azly;AyKZUa;J8 zzK?4o~leJO1Rz zF{=$VRn=5CY2qoR{Z5S}51H(>GSd7I$z_74&U zgy>Yc=nE@!{(o_6$7s%Oj3>ZgaFK#y&_>TVcpPe6j1#0XmFnod{h;XDTJfFj@gOIj zctF*R2N`ED+oG#1eeu>6jx!%Ma&;=5JM#^tn(qU7!M(6Phvn4w2`S4Vr=VzdXcMN$ zYf*?7fXU%4f>Gv!qptwmZx0w74-zdwVkikvszJcq3ku!#qR6nYB&~Y9%_Z2i5+^o@ zrH=JIZ3#$-3g?APb4E_iHVoCq;r94B2qXpufF(UeJ+|6~{|GWkk*v!jqQ z#IQxXwG5s0Wc-&cpq@TR5MH@u^isRRv9VJfLUh~zvL6YxMLDt0VVLP({l}(EED$<| zKQ%52dN->WNyuK!`7IwSiMo`#Z!WC@l4*u|!d{wvt6{9hrYx)%SthKm2fG4E^2T9{ekMFfDla( z!o*?bdfB@cGGUCt;rIp2t-s-;xHN(F<%F(hupt%9$Pbkk7?{w6gq+H~=lIn=!=T2d za8`C~_glc{bGvU|y~_V9BmgBE1T^D0uEB$KX0I()F5Sba+p#v-10vTMEwvpj>Aoki zva%9WQhOS+KHVX~R|3Su;KH9e`(!!eZ;62w;h$qq?Z9*DP(RD0ld1xBpb6I)2ITCG z>E!+|PmjqLPry4jhBC+Sx^FF7!#g8Tp$Ki>nf!iEDKLA6V zT8Fyv3`N1I+nqHCLu%eG?*+Do4j8@Bp4)kjbG`C>Pib0ncU4Y6zv8|y-*My6MSxP! zIcp!{#sGnYsr9osCwa+lQ)`XDcrx?ystP#GUd*d9X^D}+U=2@X zEZ_h%QBvOn#Js!*^a)rINFIw`U_yf!>uaIv%LjD4lKO&g5w2UdgY$O3$%3V5Z3aT{JboWPr4US zP*jCawoz7omu(M3W`Dk+|L23v!6Pi!TZAsuLMs8>&SSj~t^87Ao2h9e&2mi@9xBMQ z94aU`z@9_7fnxmbIGR$xVe&1~58$101TO&;=TovyC&GYMF|$Zyu%Resa^egIFzVb_ zLlT7qq3g(S_Cjc0BrqwT5RHgaE$+a>M(kl;lVN#$R8&+7j2c6q(1*Y-%i7!LC+!6% zCg#pf1@MjJA#ubQ_s|zR7hX^6qutdD`{OjXGy1ev*7e6}s3`kOp822z4UVt)a28PE z(sOcpt0GL69{t;s82+$AAU`F?o`>S<(l>Ub5V~U0%wE?6(PCJZZJ6tZ^XlKl$7k>L z>`2jiUBn2o_@aOz!@eNgobNX@<&(r6;!^O>4?`HGd~;}RpgDIIXPiXOBArgx=fJ7O z6*7wPFBV+|vWgU;*0nQ|@LX#EYNt1y0IYWc^)l=ZBVxp!5;^n=65kVO$j{Wu1m2U* zxt3pH0-DPi1+;~YB|~+J$U%VqW>qz%g+Q2329Bk$qhiq zQZKOd>4*SXl{QlfDnrBo(1~V}-YcKYIvAS6Bw?i`B_Xl0&C`HyEEymry&~*hl$x!k z>-OF5;KzAfl!%vm(rL`gX+1R{YoUP?m&ec2`Qw@P5GGF&*KzEy{wGkAM{}m|eF&e6 z=n4~u$|ukxuH(c2!|%8R17}@2q*n!Wh^0TS}g$UM4jOL`SRf z@qq?Nw2i-e_ijZssFpUF3pMydEkwxc=Y^2YTIp?WZS9puxmW4dS?{y#>v=5jXnENV zSEy`hW@(pqVg#X0_Vn;7d({$SK-^@Tr>lQ^*}e91>z64YEpesPkX%JcV46i7NdQv|I9=^{r$oul}=2Kr31liRG304{Lz%9&JOItxcdLLj%OU-c*1tu)*O@|of_jYF)?uq*d)Tz)pM61QFdlOx>cH6uEBtcsdUwjogf*64vR*kQ|omfK3x7K{IzLZ-|rl4&WsC0Vrr?i zS^Imjii!>3vz1S!7ZoYHEIy~gow}GBE$EVyUGgV-pE&$2&nfT&BY0Gygd6xj$Xa%I z96vHXL^c8O>k15Gi#EsaLC%p)K(mN|j!3ADU!Un(Z53RaE&)&_-7W%?5gj5q;txjg z;ee(nd+9--(k!vcF!xyg_0?~%dk(~BlS+LTij1r*ZcpwnFdHWWpAu7|S!6~J(wAS& z^PKE#VB?CO3@#3qa^kk@Am~NCh326yuy4ncV1_=sDFN#E44ewGD9D6YVPjzM0ih&s zCjh0fvg1j=hcw6x!v^TGRUTX7C8jK29%^W0oIT+tL<5w~!-mG)%*-3nAnzkQF{n~k z9ECsC%Q-m}f5so~#aL?=TQI{!N53VNY>rehpnaU2mU^>e<3zj$>?(n@YCwYj=~MkF z8`wDrhG2xZPnHQw&da-L<^h8`GDrCIEWAj!|FeWm{0%NW66lWr}WeQ5TBr4oFsDS z=0wN?gf89PTwsM>9|~8J9j*47KzJx{G%!p%-xDJtJ>c}8iv)Ztk2n|BrrIJwlG~Xt zY;z0?fr_B(xpKGMW6P#}^T3B55B7j&cu#~@UR_&b=Hz?;uaxYvG;*Zge)8uPB_2

NADz_vvE5lH9$5k$)g#D56XTp4fgYOB6H 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

sw3biW8|9Xt`_!v&o(OpjIFA?tQe_ixB(;a$ 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 z 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 W<@=}$p8tWq-_FLty6DK4-~A1~X?<`2 From 6634d1d580f4e1e2a36cbcf25458b3c60deb1d5c Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 11:52:27 +0100 Subject: [PATCH 10/16] docs: fix a typo in activation strategies: use -> user --- website/docs/user_guide/activation-strategies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/user_guide/activation-strategies.md b/website/docs/user_guide/activation-strategies.md index 6250d4053b..15697f32f2 100644 --- a/website/docs/user_guide/activation-strategies.md +++ b/website/docs/user_guide/activation-strategies.md @@ -40,7 +40,7 @@ A flexible rollout strategy which combines all gradual rollout strategies in to - **userId** - guaranteed to be sticky on userId. If userId not present the behavior would be false - **sessionId** - guaranteed to be sticky on sessionId. If sessionId not present the behavior would be false. - **random** - no stickiness guaranteed. For every isEnabled call it will yield a random true/false based on the selected rollout percentage. -- **groupId** is used to ensure that different toggles will **hash differently** for the same user. The groupId defaults to _feature toggle name_, but the use can override it to _correlate rollout_ of multiple feature toggles. +- **groupId** is used to ensure that different toggles will **hash differently** for the same user. The groupId defaults to _feature toggle name_, but the user can override it to _correlate rollout_ of multiple feature toggles. - **rollout** The percentage (0-100) you want to enable the feature toggle for. This strategy has the following modelling name in the code: From 9c0848b053b9221254cd348913d70c8b99709861 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 12:03:31 +0100 Subject: [PATCH 11/16] docs: fix links to old versions of pages; link to new versions. --- website/docs/advanced/custom-activation-strategy.md | 2 +- website/docs/api/client/feature-toggles-api.md | 2 +- website/docs/client-specification.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/advanced/custom-activation-strategy.md b/website/docs/advanced/custom-activation-strategy.md index 3d7367373a..007888ba43 100644 --- a/website/docs/advanced/custom-activation-strategy.md +++ b/website/docs/advanced/custom-activation-strategy.md @@ -3,7 +3,7 @@ id: custom_activation_strategy title: Custom Activation Strategy --- -Even though Unleash comes with a few powerful [activation strategies](activation-strategies.md) there might be scenarios where you would like to extend Unleash with your own custom strategies. +Even though Unleash comes with a few powerful [activation strategies](../user_guide/activation-strategies.md) there might be scenarios where you would like to extend Unleash with your own custom strategies. ### Example: TimeStamp Strategy {#example-timestamp-strategy} diff --git a/website/docs/api/client/feature-toggles-api.md b/website/docs/api/client/feature-toggles-api.md index ecbc81cc4f..45f72cb1c6 100644 --- a/website/docs/api/client/feature-toggles-api.md +++ b/website/docs/api/client/feature-toggles-api.md @@ -117,7 +117,7 @@ Used to fetch details about a specific feature toggle. This is mainly provided t > This is a unleash-enterprise feature -Strategy definitions may also contain a `constraints` property. Strategy constraints is a feature in Unleash which work on context fields, which is defined as part of the [Unleash Context](/unleash_context). The purpose is to define a set of rules where all needs to be satisfied in order for the activation strategy to . A [high level description](https://www.unleash-hosted.com/articles/strategy-constraints) of it is available online. +Strategy definitions may also contain a `constraints` property. Strategy constraints is a feature in Unleash which work on context fields, which is defined as part of the [Unleash Context](../../user_guide/unleash-context.md). The purpose is to define a set of rules where all needs to be satisfied in order for the activation strategy to . A [high level description](https://www.unleash-hosted.com/articles/strategy-constraints) of it is available online. **Example response:** diff --git a/website/docs/client-specification.md b/website/docs/client-specification.md index 9510b0eed0..c4f2c7a207 100644 --- a/website/docs/client-specification.md +++ b/website/docs/client-specification.md @@ -94,7 +94,7 @@ function isEnabled(name, unleashContext = {}, defaultValue = false) { Activation strategies are defined and configured in the unleash-service. It is up to the client to provide the actual implementation of each activation strategy. -Unleash also ships with a few built-in strategies, and expects client SDK's to implement these. Read more about these [activation strategies](activation-strategies.md). For the built-in strategies to work as expected the client should also allow the user to define an [unleash-context](unleash-context.md). The context should be possible to pass in as part of the `isEnabled` call. +Unleash also ships with a few built-in strategies, and expects client SDK's to implement these. Read more about these [activation strategies](user_guide/activation-strategies.md). For the built-in strategies to work as expected the client should also allow the user to define an [unleash-context](user_guide/unleash-context.md). The context should be possible to pass in as part of the `isEnabled` call. ### Extension points {#extension-points} From c077860d541a0d2d0c26c11e0d975839068566a5 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 12:04:33 +0100 Subject: [PATCH 12/16] docs: Remove link to non-existing page about sdk capabilities. --- website/docs/advanced/stickiness.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/advanced/stickiness.md b/website/docs/advanced/stickiness.md index fc057ea9a5..b2937d5912 100644 --- a/website/docs/advanced/stickiness.md +++ b/website/docs/advanced/stickiness.md @@ -26,7 +26,7 @@ Custom stickiness is available Unleash Enterprise v4 and later. When using [the gradual rollout strategy](../user_guide/activation-strategies.md#gradual-rollout) or [feature toggle variants](./feature-toggle-variants.md), you can use parameters other than the user id to calculate stickiness. More specifically, you can use any field, custom or otherwise, of the [Unleash Context](../user_guide/unleash-context.md) as long as you have enabled custom stickiness for these fields. :::note -This is a beta featue, so not all client SDKs support this feature yet. Consult the [SDK overview](./link-to-ivar's-overview) to check if your preferred client supports it or not. +This is a beta featue, so not all client SDKs support this feature yet. Check your SDK's documentation to learn more. ::: ### Enabling custom stickiness From 6c6001619ce2fbcb4664f9346b1729d4974186db Mon Sep 17 00:00:00 2001 From: Christopher Kolstad Date: Wed, 24 Nov 2021 13:08:04 +0100 Subject: [PATCH 13/16] Feat/variant api (#1119) Add a new .../:feature/variants API This adds - `GET /api/admin/projects/:projectId/features/:featureName/variants` which returns ```json { version: '1', variants: IVariant[] } ``` - `PATCH /api/admin/projects/:projectId/features/:featureName/variants` which accepts a json patch set and updates the feature's variants field and then returns ```json { version: '1', variants: IVariant[] } ``` - `PUT /api/admin/projects/:projectId/features/:featureName/variants` which accepts a IVariant[] and overwrites the current variants list for the feature defined in :featureName and returns ```json { version: '1', variants: IVariant[] } - This also makes sure the total weight of all variants is == 1000 - Validates that there is at least 1 'variable' variant if there are variants - Validates that 'fix' variants total weight can't exceed 1000 - Adds tests for all these invariants. Co-authored-by: Simon Hornby --- .github/workflows/build_doc_prs.yaml | 2 +- src/lib/db/feature-toggle-store.ts | 25 + src/lib/routes/admin-api/project/index.ts | 2 + src/lib/routes/admin-api/project/variants.ts | 78 +++ src/lib/schema/feature-schema.ts | 2 + src/lib/services/feature-toggle-service.ts | 74 +- src/lib/types/model.ts | 5 +- src/lib/types/stores/feature-toggle-store.ts | 7 +- .../e2e/api/admin/client-metrics.e2e.test.ts | 4 +- .../api/admin/project/variants.e2e.test.ts | 645 ++++++++++++++++++ .../fixtures/fake-feature-toggle-store.ts | 20 +- .../docs/api/admin/feature-toggles-api-v2.md | 99 ++- 12 files changed, 954 insertions(+), 9 deletions(-) create mode 100644 src/lib/routes/admin-api/project/variants.ts create mode 100644 src/test/e2e/api/admin/project/variants.e2e.test.ts diff --git a/.github/workflows/build_doc_prs.yaml b/.github/workflows/build_doc_prs.yaml index c332f67003..88a3ac5fa1 100644 --- a/.github/workflows/build_doc_prs.yaml +++ b/.github/workflows/build_doc_prs.yaml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: setup git config + - name: Build docs run: | # Build the site cd website && yarn && yarn build diff --git a/src/lib/db/feature-toggle-store.ts b/src/lib/db/feature-toggle-store.ts index 7d4414195f..a9d5bb0fbc 100644 --- a/src/lib/db/feature-toggle-store.ts +++ b/src/lib/db/feature-toggle-store.ts @@ -167,6 +167,13 @@ export default class FeatureToggleStore implements IFeatureToggleStore { }; } + rowToVariants(row: FeaturesTable): IVariant[] { + if (!row) { + throw new NotFoundError('No feature toggle found'); + } + return (row.variants as unknown as IVariant[]) || []; + } + dtoToRow(project: string, data: FeatureToggleDTO): FeaturesTable { const row = { name: data.name, @@ -232,6 +239,24 @@ export default class FeatureToggleStore implements IFeatureToggleStore { .returning(FEATURE_COLUMNS); return this.rowToFeature(row[0]); } + + async getVariants(featureName: string): Promise { + const row = await this.db(TABLE) + .select('variants') + .where({ name: featureName }); + return this.rowToVariants(row[0]); + } + + async saveVariants( + featureName: string, + newVariants: IVariant[], + ): Promise { + const row = await this.db(TABLE) + .update({ variants: JSON.stringify(newVariants) }) + .where({ name: featureName }) + .returning(FEATURE_COLUMNS); + return this.rowToFeature(row[0]); + } } module.exports = FeatureToggleStore; diff --git a/src/lib/routes/admin-api/project/index.ts b/src/lib/routes/admin-api/project/index.ts index 22f982fbe7..10f54fe765 100644 --- a/src/lib/routes/admin-api/project/index.ts +++ b/src/lib/routes/admin-api/project/index.ts @@ -6,6 +6,7 @@ import ProjectFeaturesController from './features'; import EnvironmentsController from './environments'; import ProjectHealthReport from './health-report'; import ProjectService from '../../../services/project-service'; +import VariantsController from './variants'; export default class ProjectApi extends Controller { private projectService: ProjectService; @@ -17,6 +18,7 @@ export default class ProjectApi extends Controller { this.use('/', new ProjectFeaturesController(config, services).router); this.use('/', new EnvironmentsController(config, services).router); this.use('/', new ProjectHealthReport(config, services).router); + this.use('/', new VariantsController(config, services).router); } async getProjects(req: Request, res: Response): Promise { diff --git a/src/lib/routes/admin-api/project/variants.ts b/src/lib/routes/admin-api/project/variants.ts new file mode 100644 index 0000000000..cc88c303ff --- /dev/null +++ b/src/lib/routes/admin-api/project/variants.ts @@ -0,0 +1,78 @@ +import FeatureToggleService from '../../../services/feature-toggle-service'; +import { Logger } from '../../../logger'; +import Controller from '../../controller'; +import { IUnleashConfig } from '../../../types/option'; +import { IUnleashServices } from '../../../types'; +import { Request, Response } from 'express'; +import { Operation } from 'fast-json-patch'; +import { UPDATE_FEATURE } from '../../../types/permissions'; +import { IVariant } from '../../../types/model'; + +const PREFIX = '/:projectId/features/:featureName/variants'; + +interface FeatureParams extends ProjectParam { + featureName: string; +} + +interface ProjectParam { + projectId: string; +} + +export default class VariantsController extends Controller { + private logger: Logger; + + private featureService: FeatureToggleService; + + constructor( + config: IUnleashConfig, + { + featureToggleService, + }: Pick, + ) { + super(config); + this.logger = config.getLogger('admin-api/project/variants.ts'); + this.featureService = featureToggleService; + this.get(PREFIX, this.getVariants); + this.patch(PREFIX, this.patchVariants, UPDATE_FEATURE); + this.put(PREFIX, this.overwriteVariants, UPDATE_FEATURE); + } + + async getVariants( + req: Request, + res: Response, + ): Promise { + const { featureName } = req.params; + const variants = await this.featureService.getVariants(featureName); + res.status(200).json({ version: '1', variants }); + } + + async patchVariants( + req: Request, + res: Response, + ): Promise { + const { featureName } = req.params; + const updatedFeature = await this.featureService.updateVariants( + featureName, + req.body, + ); + res.status(200).json({ + version: '1', + variants: updatedFeature.variants, + }); + } + + async overwriteVariants( + req: Request, + res: Response, + ): Promise { + const { featureName } = req.params; + const updatedFeature = await this.featureService.saveVariants( + featureName, + req.body, + ); + res.status(200).json({ + version: '1', + variants: updatedFeature.variants, + }); + } +} diff --git a/src/lib/schema/feature-schema.ts b/src/lib/schema/feature-schema.ts index 8a1b14cd54..4ea4e1b6c5 100644 --- a/src/lib/schema/feature-schema.ts +++ b/src/lib/schema/feature-schema.ts @@ -42,6 +42,8 @@ export const variantsSchema = joi.object().keys({ ), }); +export const variantsArraySchema = joi.array().min(0).items(variantsSchema); + export const featureMetadataSchema = joi .object() .keys({ diff --git a/src/lib/services/feature-toggle-service.ts b/src/lib/services/feature-toggle-service.ts index 5aae84b36d..2dcd774823 100644 --- a/src/lib/services/feature-toggle-service.ts +++ b/src/lib/services/feature-toggle-service.ts @@ -5,7 +5,11 @@ import BadDataError from '../error/bad-data-error'; import NameExistsError from '../error/name-exists-error'; import InvalidOperationError from '../error/invalid-operation-error'; import { FOREIGN_KEY_VIOLATION } from '../error/db-error'; -import { featureMetadataSchema, nameSchema } from '../schema/feature-schema'; +import { + featureMetadataSchema, + nameSchema, + variantsArraySchema, +} from '../schema/feature-schema'; import { FeatureArchivedEvent, FeatureChangeProjectEvent, @@ -40,6 +44,8 @@ import { IFeatureStrategy, IFeatureToggleQuery, IStrategyConfig, + IVariant, + WeightType, } from '../types/model'; import { IFeatureEnvironmentStore } from '../types/stores/feature-environment-store'; import { IFeatureToggleClientStore } from '../types/stores/feature-toggle-client-store'; @@ -389,6 +395,15 @@ class FeatureToggleService { ); } + /** + * GET /api/admin/projects/:project/features/:featureName/variants + * @param featureName + * @return The list of variants + */ + async getVariants(featureName: string): Promise { + return this.featureToggleStore.getVariants(featureName); + } + async getFeatureMetadata(featureName: string): Promise { return this.featureToggleStore.get(featureName); } @@ -882,6 +897,63 @@ class FeatureToggleService { newProjectId, ); } + + async updateVariants( + featureName: string, + newVariants: Operation[], + ): Promise { + const oldVariants = await this.getVariants(featureName); + const { newDocument } = await applyPatch(oldVariants, newVariants); + return this.saveVariants(featureName, newDocument); + } + + async saveVariants( + featureName: string, + newVariants: IVariant[], + ): Promise { + await variantsArraySchema.validateAsync(newVariants); + const fixedVariants = this.fixVariantWeights(newVariants); + return this.featureToggleStore.saveVariants(featureName, fixedVariants); + } + + fixVariantWeights(variants: IVariant[]): IVariant[] { + let variableVariants = variants.filter((x) => { + return x.weightType === WeightType.VARIABLE; + }); + + if (variants.length > 0 && variableVariants.length === 0) { + throw new BadDataError( + 'There must be at least one "variable" variant', + ); + } + + let fixedVariants = variants.filter((x) => { + return x.weightType === WeightType.FIX; + }); + + let fixedWeights = fixedVariants.reduce((a, v) => a + v.weight, 0); + + if (fixedWeights > 1000) { + throw new BadDataError( + 'The traffic distribution total must equal 100%', + ); + } + + let averageWeight = Math.floor( + (1000 - fixedWeights) / variableVariants.length, + ); + let remainder = (1000 - fixedWeights) % variableVariants.length; + + variableVariants = variableVariants.map((x) => { + x.weight = averageWeight; + if (remainder > 0) { + x.weight += 1; + remainder--; + } + return x; + }); + return variableVariants.concat(fixedVariants); + } } export default FeatureToggleService; diff --git a/src/lib/types/model.ts b/src/lib/types/model.ts index f19a8c9746..495beb746d 100644 --- a/src/lib/types/model.ts +++ b/src/lib/types/model.ts @@ -8,7 +8,10 @@ export interface IConstraint { operator: string; values: string[]; } - +export enum WeightType { + VARIABLE = 'variable', + FIX = 'fix', +} export interface IStrategyConfig { id?: string; name: string; diff --git a/src/lib/types/stores/feature-toggle-store.ts b/src/lib/types/stores/feature-toggle-store.ts index edbd732653..f950813fd0 100644 --- a/src/lib/types/stores/feature-toggle-store.ts +++ b/src/lib/types/stores/feature-toggle-store.ts @@ -1,4 +1,4 @@ -import { FeatureToggle, FeatureToggleDTO } from '../model'; +import { FeatureToggle, FeatureToggleDTO, IVariant } from '../model'; import { Store } from './store'; export interface IFeatureToggleQuery { @@ -16,4 +16,9 @@ export interface IFeatureToggleStore extends Store { archive(featureName: string): Promise; revive(featureName: string): Promise; getAll(query?: Partial): Promise; + getVariants(featureName: string): Promise; + saveVariants( + featureName: string, + newVariants: IVariant[], + ): Promise; } diff --git a/src/test/e2e/api/admin/client-metrics.e2e.test.ts b/src/test/e2e/api/admin/client-metrics.e2e.test.ts index f9f2ad7680..61ddef37fb 100644 --- a/src/test/e2e/api/admin/client-metrics.e2e.test.ts +++ b/src/test/e2e/api/admin/client-metrics.e2e.test.ts @@ -173,7 +173,7 @@ test('should return toggle summary', async () => { test('should only include last hour of metrics return toggle summary', async () => { const now = new Date(); - const dateOneHourAgo = subHours(now, 1); + const dateTwoHoursAgo = subHours(now, 2); const metrics: IClientMetricsEnv[] = [ { featureName: 'demo', @@ -211,7 +211,7 @@ test('should only include last hour of metrics return toggle summary', async () featureName: 'demo', appName: 'backend-api', environment: 'test', - timestamp: dateOneHourAgo, + timestamp: dateTwoHoursAgo, yes: 55, no: 55, }, diff --git a/src/test/e2e/api/admin/project/variants.e2e.test.ts b/src/test/e2e/api/admin/project/variants.e2e.test.ts new file mode 100644 index 0000000000..de39df76d0 --- /dev/null +++ b/src/test/e2e/api/admin/project/variants.e2e.test.ts @@ -0,0 +1,645 @@ +import { IUnleashTest, setupApp } from '../../../helpers/test-helper'; +import dbInit, { ITestDb } from '../../../helpers/database-init'; +import getLogger from '../../../../fixtures/no-logger'; +import * as jsonpatch from 'fast-json-patch'; +import { IVariant, WeightType } from '../../../../../lib/types/model'; + +let app: IUnleashTest; +let db: ITestDb; + +beforeAll(async () => { + db = await dbInit('project_feature_variants_api_serial', getLogger); + app = await setupApp(db.stores); +}); + +afterAll(async () => { + await app.destroy(); + await db.destroy(); +}); + +test('Can get variants for a feature', async () => { + const featureName = 'feature-variants'; + const variantName = 'fancy-variant'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants: [ + { + name: variantName, + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }, + ], + }); + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect(200) + .expect((res) => { + expect(res.body.version).toBe('1'); + expect(res.body.variants).toHaveLength(1); + expect(res.body.variants[0].name).toBe(variantName); + }); +}); + +test('Trying to do operations on a non-existing feature yields 404', async () => { + await app.request + .get( + '/api/admin/projects/default/features/non-existing-feature/variants', + ) + .expect(404); + const variants = [ + { + name: 'variant-put-overwrites', + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }, + ]; + await app.request + .put('/api/admin/projects/default/features/${featureName}/variants') + .send(variants) + .expect(404); + + const newVariants: IVariant[] = []; + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 700, + weightType: WeightType.VARIABLE, + }); + let patch = jsonpatch.generate(observer); + await app.request + .patch('/api/admin/projects/default/features/${featureName}/variants') + .send(patch) + .expect(404); +}); + +test('Can patch variants for a feature and get a response of new variant', async () => { + const featureName = 'feature-variants-patch'; + const variantName = 'fancy-variant-patch'; + const expectedVariantName = 'not-so-cool-variant-name'; + const variants = [ + { + name: variantName, + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }, + ]; + + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants, + }); + + const observer = jsonpatch.observe(variants); + variants[0].name = expectedVariantName; + const patch = jsonpatch.generate(observer); + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200) + .expect((res) => { + expect(res.body.version).toBe('1'); + expect(res.body.variants).toHaveLength(1); + expect(res.body.variants[0].name).toBe(expectedVariantName); + }); +}); + +test('Can add variant for a feature', async () => { + const featureName = 'feature-variants-patch-add'; + const variantName = 'fancy-variant-patch'; + const expectedVariantName = 'not-so-cool-variant-name'; + const variants = [ + { + name: variantName, + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }, + ]; + + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants, + }); + + const observer = jsonpatch.observe(variants); + variants.push({ + name: expectedVariantName, + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }); + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200); + + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect((res) => { + expect(res.body.version).toBe('1'); + expect(res.body.variants).toHaveLength(2); + expect( + res.body.variants.find((x) => x.name === expectedVariantName), + ).toBeTruthy(); + expect( + res.body.variants.find((x) => x.name === variantName), + ).toBeTruthy(); + }); +}); + +test('Can remove variant for a feature', async () => { + const featureName = 'feature-variants-patch-remove'; + const variantName = 'fancy-variant-patch'; + const variants = [ + { + name: variantName, + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }, + ]; + + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants, + }); + + const observer = jsonpatch.observe(variants); + variants.pop(); + const patch = jsonpatch.generate(observer); + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200); + + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect((res) => { + expect(res.body.version).toBe('1'); + expect(res.body.variants).toHaveLength(0); + }); +}); + +test('PUT overwrites current variant on feature', async () => { + const featureName = 'variant-put-overwrites'; + const variantName = 'overwriting-for-fun'; + const variants = [ + { + name: variantName, + stickiness: 'default', + weight: 1000, + weightType: WeightType.VARIABLE, + }, + ]; + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants, + }); + + const newVariants: IVariant[] = [ + { + name: 'variant1', + stickiness: 'default', + weight: 250, + weightType: WeightType.FIX, + }, + { + name: 'variant2', + stickiness: 'default', + weight: 375, + weightType: WeightType.VARIABLE, + }, + { + name: 'variant3', + stickiness: 'default', + weight: 450, + weightType: WeightType.VARIABLE, + }, + ]; + await app.request + .put(`/api/admin/projects/default/features/${featureName}/variants`) + .send(newVariants) + .expect(200) + .expect((res) => { + expect(res.body.variants).toHaveLength(3); + }); + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect(200) + .expect((res) => { + expect(res.body.variants).toHaveLength(3); + expect(res.body.variants.reduce((a, v) => a + v.weight, 0)).toEqual( + 1000, + ); + }); +}); + +test('PUTing an invalid variant throws 400 exception', async () => { + const featureName = 'variants-validation-feature'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const invalidJson = [ + { + name: 'variant', + weight: 500, + weightType: 'party', + }, + ]; + await app.request + .put(`/api/admin/projects/default/features/${featureName}/variants`) + .send(invalidJson) + .expect(400) + .expect((res) => { + expect(res.body.details).toHaveLength(1); + expect(res.body.details[0].message).toMatch( + /.*weightType\" must be one of/, + ); + }); +}); + +test('Invalid variant in PATCH also throws 400 exception', async () => { + const featureName = 'patch-validation-feature'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const invalidPatch = `[{ + "op": "add", + "path": "/1", + "value": { + "name": "not-so-cool-variant-name", + "stickiness": "default", + "weight": 2000, + "weightType": "variable" + } + }]`; + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .set('Content-Type', 'application/json') + .send(invalidPatch) + .expect(400) + .expect((res) => { + expect(res.body.details).toHaveLength(1); + expect(res.body.details[0].message).toMatch( + /.*weight\" must be less than or equal to 1000/, + ); + }); +}); + +test('PATCHING with all variable weightTypes forces weights to sum to no less than 1000 minus the number of variable variants', async () => { + const featureName = 'variants-validation-with-all-variable-weights'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const newVariants: IVariant[] = []; + + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 700, + weightType: WeightType.VARIABLE, + }); + let patch = jsonpatch.generate(observer); + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200) + .expect((res) => { + expect(res.body.variants).toHaveLength(1); + expect(res.body.variants[0].weight).toEqual(1000); + }); + + newVariants.push({ + name: 'variant2', + stickiness: 'default', + weight: 700, + weightType: WeightType.VARIABLE, + }); + + patch = jsonpatch.generate(observer); + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200) + .expect((res) => { + expect(res.body.variants).toHaveLength(2); + expect( + res.body.variants.every((x) => x.weight === 500), + ).toBeTruthy(); + }); + + newVariants.push({ + name: 'variant3', + stickiness: 'default', + weight: 700, + weightType: WeightType.VARIABLE, + }); + + patch = jsonpatch.generate(observer); + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200) + .expect((res) => { + res.body.variants.sort((v, other) => other.weight - v.weight); + expect(res.body.variants).toHaveLength(3); + expect(res.body.variants[0].weight).toBe(334); + expect(res.body.variants[1].weight).toBe(333); + expect(res.body.variants[2].weight).toBe(333); + }); + + newVariants.push({ + name: 'variant4', + stickiness: 'default', + weight: 700, + weightType: WeightType.VARIABLE, + }); + + patch = jsonpatch.generate(observer); + + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200) + .expect((res) => { + expect(res.body.variants).toHaveLength(4); + expect( + res.body.variants.every((x) => x.weight === 250), + ).toBeTruthy(); + }); +}); + +test('PATCHING with no variable variants fails with 400', async () => { + const featureName = 'variants-validation-with-no-variable-weights'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const newVariants: IVariant[] = []; + + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 900, + weightType: WeightType.FIX, + }); + + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(400) + .expect((res) => { + expect(res.body.details).toHaveLength(1); + expect(res.body.details[0].message).toEqual( + 'There must be at least one "variable" variant', + ); + }); +}); + +test('Patching with a fixed variant and variable variants splits remaining weight among variable variants', async () => { + const featureName = 'variants-fixed-and-variable'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const newVariants: IVariant[] = []; + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 900, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant2', + stickiness: 'default', + weight: 20, + weightType: WeightType.VARIABLE, + }); + newVariants.push({ + name: 'variant3', + stickiness: 'default', + weight: 123, + weightType: WeightType.VARIABLE, + }); + newVariants.push({ + name: 'variant4', + stickiness: 'default', + weight: 123, + weightType: WeightType.VARIABLE, + }); + newVariants.push({ + name: 'variant5', + stickiness: 'default', + weight: 123, + weightType: WeightType.VARIABLE, + }); + newVariants.push({ + name: 'variant6', + stickiness: 'default', + weight: 123, + weightType: WeightType.VARIABLE, + }); + newVariants.push({ + name: 'variant7', + stickiness: 'default', + weight: 123, + weightType: WeightType.VARIABLE, + }); + + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200); + + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect(200) + .expect((res) => { + let body = res.body; + expect(body.variants).toHaveLength(7); + expect( + body.variants.reduce((total, v) => total + v.weight, 0), + ).toEqual(1000); + body.variants.sort((a, b) => b.weight - a.weight); + expect( + body.variants.find((v) => v.name === 'variant1').weight, + ).toEqual(900); + expect( + body.variants.find((v) => v.name === 'variant2').weight, + ).toEqual(17); + expect( + body.variants.find((v) => v.name === 'variant3').weight, + ).toEqual(17); + expect( + body.variants.find((v) => v.name === 'variant4').weight, + ).toEqual(17); + expect( + body.variants.find((v) => v.name === 'variant5').weight, + ).toEqual(17); + expect( + body.variants.find((v) => v.name === 'variant6').weight, + ).toEqual(16); + expect( + body.variants.find((v) => v.name === 'variant7').weight, + ).toEqual(16); + }); +}); + +test('Multiple fixed variants gets added together to decide how much weight variable variants should get', async () => { + const featureName = 'variants-multiple-fixed-and-variable'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const newVariants: IVariant[] = []; + + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 600, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant2', + stickiness: 'default', + weight: 350, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant3', + stickiness: 'default', + weight: 350, + weightType: WeightType.VARIABLE, + }); + + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200); + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect(200) + .expect((res) => { + let body = res.body; + expect(body.variants).toHaveLength(3); + expect( + body.variants.find((v) => v.name === 'variant3').weight, + ).toEqual(50); + }); +}); + +test('If sum of fixed variant weight exceed 1000 fails with 400', async () => { + const featureName = 'variants-fixed-weight-over-1000'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const newVariants: IVariant[] = []; + + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 900, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant2', + stickiness: 'default', + weight: 900, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant3', + stickiness: 'default', + weight: 350, + weightType: WeightType.VARIABLE, + }); + + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(400) + .expect((res) => { + expect(res.body.details).toHaveLength(1); + expect(res.body.details[0].message).toEqual( + 'The traffic distribution total must equal 100%', + ); + }); +}); + +test('If sum of fixed variant weight equals 1000 variable variants gets weight 0', async () => { + const featureName = 'variants-fixed-weight-equals-1000-no-variable-weight'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + }); + + const newVariants: IVariant[] = []; + + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + stickiness: 'default', + weight: 900, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant2', + stickiness: 'default', + weight: 100, + weightType: WeightType.FIX, + }); + newVariants.push({ + name: 'variant3', + stickiness: 'default', + weight: 350, + weightType: WeightType.VARIABLE, + }); + newVariants.push({ + name: 'variant4', + stickiness: 'default', + weight: 350, + weightType: WeightType.VARIABLE, + }); + + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(200); + await app.request + .get(`/api/admin/projects/default/features/${featureName}/variants`) + .expect(200) + .expect((res) => { + let body = res.body; + expect(body.variants).toHaveLength(4); + expect( + body.variants.find((v) => v.name === 'variant3').weight, + ).toEqual(0); + expect( + body.variants.find((v) => v.name === 'variant4').weight, + ).toEqual(0); + }); +}); diff --git a/src/test/fixtures/fake-feature-toggle-store.ts b/src/test/fixtures/fake-feature-toggle-store.ts index 9b3926e09e..143168314c 100644 --- a/src/test/fixtures/fake-feature-toggle-store.ts +++ b/src/test/fixtures/fake-feature-toggle-store.ts @@ -2,7 +2,11 @@ import { IFeatureToggleQuery, IFeatureToggleStore, } from '../../lib/types/stores/feature-toggle-store'; -import { FeatureToggle, FeatureToggleDTO } from '../../lib/types/model'; +import { + FeatureToggle, + FeatureToggleDTO, + IVariant, +} from '../../lib/types/model'; import NotFoundError from '../../lib/error/notfound-error'; export default class FakeFeatureToggleStore implements IFeatureToggleStore { @@ -123,4 +127,18 @@ export default class FakeFeatureToggleStore implements IFeatureToggleStore { } }); } + + async getVariants(featureName: string): Promise { + const feature = await this.get(featureName); + return feature.variants; + } + + async saveVariants( + featureName: string, + newVariants: IVariant[], + ): Promise { + const feature = await this.get(featureName); + feature.variants = newVariants; + return feature; + } } diff --git a/website/docs/api/admin/feature-toggles-api-v2.md b/website/docs/api/admin/feature-toggles-api-v2.md index 41cdfcd855..3785a6a027 100644 --- a/website/docs/api/admin/feature-toggles-api-v2.md +++ b/website/docs/api/admin/feature-toggles-api-v2.md @@ -9,7 +9,7 @@ title: /api/admin/projects/:projectId In this document we will guide you on how you can work with feature toggles and their configuration. Please remember the following details: - All feature toggles exists _inside a project_. -- A feature toggles exists _across all environments_. +- A feature toggle exists _across all environments_. - A feature toggle can take different configuration, activation strategies, per environment. TODO: Need to explain the following in a bit more details: @@ -505,4 +505,99 @@ Transfer-Encoding: chunked Possible Errors: -- _409 Conflict_ - You can not enable the environment before it has strategies. \ No newline at end of file +- _409 Conflict_ - You can not enable the environment before it has strategies. + +## Feature Variants + +### Put variants for Feature Toggle {#update-variants} + +This overwrites the current variants for the feature toggle specified in the :featureName parameter. +The backend will validate the input for the following invariants + +* If there are variants, there needs to be at least one variant with `weightType: variable` +* The sum of the weights of variants with `weightType: fix` must be below 1000 (< 1000) + +The backend will also distribute remaining weight up to 1000 after adding the variants with `weightType: fix` together amongst the variants of `weightType: variable` + +**Example Query** +```bash +echo '[ + { + "name": "variant1", + "weightType": "fix", + "weight": 650 + }, + { + "name": "variant2", + "weightType": "variable", + "weight": 123 + } +]' | \ +http PUT http://localhost:4242/api/admin/projects/default/features/demo/variants Authorization:$KEY +``` + +**Example response:** + +```sh +HTTP/1.1 200 OK +Access-Control-Allow-Origin: * +Connection: keep-alive +Date: Tue, 23 Nov 2021 08:46:32 GMT +Keep-Alive: timeout=60 +Transfer-Encoding: chunked +Content-Type: application/json; charset=utf-8 + +{ + "version": "1", + "variants": [ + { + "name": "variant2", + "weightType": "variable", + "weight": 350 + }, + { + "name": "variant1", + "weightType": "fix", + "weight": 650 + } + ] +} +``` + +### PATCH variants for a feature toggle + +**Example Query** + +```sh +echo '[{"op": "add", "path": "/1", "value": { + "name": "new-variant", + "weightType": "fix", + "weight": 200 +}}]' | \ +http PATCH http://localhost:4242/api/admin/projects/default/features/demo/variants Authorization:$KEY +``` + +** Example Response ** +```json +{ + "version": "1", + "variants": [ + { + "name": "variant2", + "weightType": "variable", + "weight": 150 + }, + { + "name": "new-variant", + "weightType": "fix", + "weight": 200 + }, + { + "name": "variant1", + "weightType": "fix", + "weight": 650 + } + ] +} +``` + From d58ed5f84b77d236a3703ecc5654a2b516dc0774 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 13:39:02 +0100 Subject: [PATCH 14/16] Apply suggestions from code review Co-authored-by: Christopher Kolstad --- website/docs/advanced/stickiness.md | 2 +- website/docs/api/client/feature-toggles-api.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/advanced/stickiness.md b/website/docs/advanced/stickiness.md index b2937d5912..55dddd60c0 100644 --- a/website/docs/advanced/stickiness.md +++ b/website/docs/advanced/stickiness.md @@ -20,7 +20,7 @@ For instance: When using the [gradual rollout activation strategy](../user_guide ## Custom stickiness (beta) :::info -Custom stickiness is available Unleash Enterprise v4 and later. +Custom stickiness is available starting from Unleash Enterprise v4. ::: When using [the gradual rollout strategy](../user_guide/activation-strategies.md#gradual-rollout) or [feature toggle variants](./feature-toggle-variants.md), you can use parameters other than the user id to calculate stickiness. More specifically, you can use any field, custom or otherwise, of the [Unleash Context](../user_guide/unleash-context.md) as long as you have enabled custom stickiness for these fields. diff --git a/website/docs/api/client/feature-toggles-api.md b/website/docs/api/client/feature-toggles-api.md index 45f72cb1c6..d7969b26f3 100644 --- a/website/docs/api/client/feature-toggles-api.md +++ b/website/docs/api/client/feature-toggles-api.md @@ -117,7 +117,7 @@ Used to fetch details about a specific feature toggle. This is mainly provided t > This is a unleash-enterprise feature -Strategy definitions may also contain a `constraints` property. Strategy constraints is a feature in Unleash which work on context fields, which is defined as part of the [Unleash Context](../../user_guide/unleash-context.md). The purpose is to define a set of rules where all needs to be satisfied in order for the activation strategy to . A [high level description](https://www.unleash-hosted.com/articles/strategy-constraints) of it is available online. +Strategy definitions may also contain a `constraints` property. Strategy constraints is a feature in Unleash which work on context fields, which is defined as part of the [Unleash Context](../../user_guide/unleash-context.md). The purpose is to define a set of rules where all needs to be satisfied in order for the activation strategy to evaluate to true. A [high level description](https://www.unleash-hosted.com/articles/strategy-constraints) of it is available online. **Example response:** From 42b1f44d84d765154f7e5cfacb90c00980aba793 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 24 Nov 2021 13:41:25 +0100 Subject: [PATCH 15/16] docs: add note about Unleash using MurmurHash for stickiness. --- website/docs/advanced/stickiness.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/advanced/stickiness.md b/website/docs/advanced/stickiness.md index 55dddd60c0..65ca93c8e3 100644 --- a/website/docs/advanced/stickiness.md +++ b/website/docs/advanced/stickiness.md @@ -7,7 +7,7 @@ _Stickiness_ is how Unleash guarantees that the same user gets the same features ## Calculation -By default, Unleash calculates stickiness based on the user id and the group id. If the user id is unavailable, it falls back to using the session id instead. It hashes these values to a number between 0 and 100. This number is what determines whether a user will see a specific feature or variant. Because the process is deterministic, the same user will always get the same number. +By default, Unleash calculates stickiness based on the user id and the group id. If the user id is unavailable, it falls back to using the session id instead. It hashes these values to a number between 0 and 100 using the [MurmurHash hash function](https://en.wikipedia.org/wiki/MurmurHash). This number is what determines whether a user will see a specific feature or variant. Because the process is deterministic, the same user will always get the same number. If both the user id and the session id is unavailable, the calculation returns a random value and stickiness is not guaranteed. From 72092e4a1c7f49836d430b4ae0afb12bc5629be9 Mon Sep 17 00:00:00 2001 From: Christopher Kolstad Date: Wed, 24 Nov 2021 14:22:28 +0100 Subject: [PATCH 16/16] fix: make new variant api validate name uniqueness (#1126) --- src/lib/db/feature-strategy-store.ts | 1 + src/lib/db/feature-toggle-store.ts | 6 +- src/lib/routes/admin-api/project/variants.ts | 2 +- src/lib/schema/feature-schema.ts | 6 +- .../api/admin/project/variants.e2e.test.ts | 71 +++++++++++++++++++ 5 files changed, 82 insertions(+), 4 deletions(-) diff --git a/src/lib/db/feature-strategy-store.ts b/src/lib/db/feature-strategy-store.ts index 8484de0eb0..fd2d7c9ee7 100644 --- a/src/lib/db/feature-strategy-store.ts +++ b/src/lib/db/feature-strategy-store.ts @@ -286,6 +286,7 @@ class FeatureStrategiesStore implements IFeatureStrategiesStore { ); return e; }); + featureToggle.variants = featureToggle.variants || []; featureToggle.archived = archived; return featureToggle; } diff --git a/src/lib/db/feature-toggle-store.ts b/src/lib/db/feature-toggle-store.ts index a9d5bb0fbc..9958f6e9d0 100644 --- a/src/lib/db/feature-toggle-store.ts +++ b/src/lib/db/feature-toggle-store.ts @@ -161,7 +161,7 @@ export default class FeatureToggleStore implements IFeatureToggleStore { type: row.type, project: row.project, stale: row.stale, - variants: row.variants as unknown as IVariant[], + variants: (row.variants as unknown as IVariant[]) || [], createdAt: row.created_at, lastSeenAt: row.last_seen_at, }; @@ -182,7 +182,9 @@ export default class FeatureToggleStore implements IFeatureToggleStore { project, archived: data.archived || false, stale: data.stale, - variants: data.variants ? JSON.stringify(data.variants) : null, + variants: data.variants + ? JSON.stringify(data.variants) + : JSON.stringify([]), created_at: data.createdAt, }; if (!row.created_at) { diff --git a/src/lib/routes/admin-api/project/variants.ts b/src/lib/routes/admin-api/project/variants.ts index cc88c303ff..a73e076821 100644 --- a/src/lib/routes/admin-api/project/variants.ts +++ b/src/lib/routes/admin-api/project/variants.ts @@ -43,7 +43,7 @@ export default class VariantsController extends Controller { ): Promise { const { featureName } = req.params; const variants = await this.featureService.getVariants(featureName); - res.status(200).json({ version: '1', variants }); + res.status(200).json({ version: '1', variants: variants || [] }); } async patchVariants( diff --git a/src/lib/schema/feature-schema.ts b/src/lib/schema/feature-schema.ts index 4ea4e1b6c5..f2501b0492 100644 --- a/src/lib/schema/feature-schema.ts +++ b/src/lib/schema/feature-schema.ts @@ -42,7 +42,11 @@ export const variantsSchema = joi.object().keys({ ), }); -export const variantsArraySchema = joi.array().min(0).items(variantsSchema); +export const variantsArraySchema = joi + .array() + .min(0) + .items(variantsSchema) + .unique((a, b) => a.name === b.name); export const featureMetadataSchema = joi .object() diff --git a/src/test/e2e/api/admin/project/variants.e2e.test.ts b/src/test/e2e/api/admin/project/variants.e2e.test.ts index de39df76d0..cf25eceaf0 100644 --- a/src/test/e2e/api/admin/project/variants.e2e.test.ts +++ b/src/test/e2e/api/admin/project/variants.e2e.test.ts @@ -643,3 +643,74 @@ test('If sum of fixed variant weight equals 1000 variable variants gets weight 0 ).toEqual(0); }); }); + +test('PATCH endpoint validates uniqueness of variant names', async () => { + const featureName = 'variants-uniqueness-names'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants: [ + { + name: 'variant1', + weight: 1000, + weightType: WeightType.VARIABLE, + stickiness: 'default', + }, + ], + }); + + const newVariants: IVariant[] = []; + + const observer = jsonpatch.observe(newVariants); + newVariants.push({ + name: 'variant1', + weight: 550, + weightType: WeightType.VARIABLE, + stickiness: 'default', + }); + newVariants.push({ + name: 'variant2', + weight: 550, + weightType: WeightType.VARIABLE, + stickiness: 'default', + }); + const patch = jsonpatch.generate(observer); + await app.request + .patch(`/api/admin/projects/default/features/${featureName}/variants`) + .send(patch) + .expect(400) + .expect((res) => { + expect(res.body.details[0].message).toMatch( + /contains a duplicate value/, + ); + }); +}); + +test('PUT endpoint validates uniqueness of variant names', async () => { + const featureName = 'variants-put-uniqueness-names'; + await db.stores.featureToggleStore.create('default', { + name: featureName, + variants: [], + }); + await app.request + .put(`/api/admin/projects/default/features/${featureName}/variants`) + .send([ + { + name: 'variant1', + weightType: 'variable', + weight: 500, + stickiness: 'default', + }, + { + name: 'variant1', + weightType: 'variable', + weight: 500, + stickiness: 'default', + }, + ]) + .expect(400) + .expect((res) => { + expect(res.body.details[0].message).toMatch( + /contains a duplicate value/, + ); + }); +});