From 0891e0d047c9ecdaec4b5d354ba057ec07e4ea86 Mon Sep 17 00:00:00 2001
From: Andrew <33055211+andrew-nuwber@users.noreply.github.com>
Date: Wed, 26 Jun 2019 17:53:06 +0300
Subject: [PATCH] phpredis >3 compatibility (#1)
* add src path, fixes for phpredis 4, update php version, other minor fixes
* update picture
* fix doc, fix build
---
.travis.yml | 6 ++--
README.md | 40 ++++++++-------------------
composer.json | 22 +++++++--------
phpredis-vs-yii-redis.png | Bin 39181 -> 50456 bytes
Cache.php => src/Cache.php | 3 +-
Connection.php => src/Connection.php | 11 +-------
Session.php => src/Session.php | 2 +-
tests/CacheTest.php | 7 ++---
tests/SessionTest.php | 14 ++++++----
tests/performance.php | 14 ++++++++++
10 files changed, 52 insertions(+), 67 deletions(-)
rename Cache.php => src/Cache.php (99%)
rename Connection.php => src/Connection.php (93%)
rename Session.php => src/Session.php (98%)
diff --git a/.travis.yml b/.travis.yml
index ba86bfb..358442d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,11 +1,10 @@
language: php
php:
- - '5.4'
- - '5.5'
- - '5.6'
- '7.0'
- '7.1'
+ - '7.2'
+ - '7.3'
services:
- redis-server
@@ -13,7 +12,6 @@ services:
before_install: v=$(phpenv version-name); if [ ${v:0:1} -lt 7 ]; then pecl install igbinary ; yes | pecl install redis; else echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
install:
- - composer global require --prefer-dist "fxp/composer-asset-plugin:^1.2.0"
- composer require codeclimate/php-test-reporter --dev --prefer-dist
- composer install --no-progress --no-interaction --prefer-dist
diff --git a/README.md b/README.md
index 2890ecf..d8356ba 100644
--- a/README.md
+++ b/README.md
@@ -4,25 +4,10 @@ This extension provides the [redis](http://redis.io/) key-value store support fo
It includes a `Cache` and `Session` storage handler in redis.
-
-[](https://travis-ci.org/dcb9/yii2-phpredis)
-[](https://codeclimate.com/github/dcb9/yii2-phpredis)
-[](https://codeclimate.com/github/dcb9/yii2-phpredis/coverage)
-[](https://codeclimate.com/github/dcb9/yii2-phpredis)
-[](https://packagist.org/packages/dcb9/yii2-phpredis)
-[](https://packagist.org/packages/dcb9/yii2-phpredis)
-[](https://packagist.org/packages/dcb9/yii2-phpredis)
+[](https://travis-ci.org/nuwber/yii2-phpredis)
**Notice: THIS REPO DOES NOT SUPPORT ACTIVE RECORD.**
-Requirements
-------------
-
-- PHP >= 5.4.0
-- Redis >= 2.6.12
-- ext-redis >= 2.2.7
-- Yii2 ~2.0.4
-
Installation
------------
@@ -50,15 +35,20 @@ To use this extension, you have to configure the Connection class in your applic
```php
return [
- //....
'components' => [
'redis' => [
- 'class' => 'dcb9\redis\Connection',
+ 'class' => \dcb9\redis\Connection::class,
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
- ]
+ 'cache' => [
+ 'class' => \dcb9\redis\Cache::class,
+ ],
+ 'session' => [
+ 'class' => \dcb9\redis\Session::class,
+ ],
+ ],
];
```
@@ -67,22 +57,14 @@ Run unit test
You can specific your redis config
-```
+```bash
$ cp tests/config.php tests/config-local.php
-$ vim tests/config-local.php
```
and Run
-```
+```bash
$ ./vendor/bin/phpunit
-PHPUnit 5.6.1 by Sebastian Bergmann and contributors.
-
-............ 12 / 12 (100%)
-
-Time: 600 ms, Memory: 10.00MB
-
-OK (12 tests, 50 assertions)
```
Performance test
diff --git a/composer.json b/composer.json
index 4895ae3..013cdda 100644
--- a/composer.json
+++ b/composer.json
@@ -10,25 +10,25 @@
}
],
"require": {
- "yiisoft/yii2": "~2.0.4",
- "ext-redis": ">=2.2.7",
- "php": ">=5.4.0"
+ "ext-json": "*",
+ "yiisoft/yii2": "~2.0.14",
+ "ext-redis": ">=3",
+ "php": ">=7.0"
},
"autoload": {
"psr-4": {
- "dcb9\\redis\\": ""
+ "dcb9\\redis\\": "src/",
+ "dcb9\\redis\\tests\\": "tests/"
}
},
"require-dev": {
"phpunit/phpunit": "<6.0",
"yiisoft/yii2-redis": "^2.0"
},
- "config": {
- "fxp-asset": {
- "vcs-driver-options": {
- "github-no-api": true
- },
- "pattern-skip-version": "(-build|-patch)"
+ "repositories": [
+ {
+ "type": "composer",
+ "url": "https://asset-packagist.org"
}
- }
+ ]
}
diff --git a/phpredis-vs-yii-redis.png b/phpredis-vs-yii-redis.png
index d977632763f81bbe428643b3b577dda393413e75..b1594f4220559f9646080a056504f878adc7067c 100644
GIT binary patch
literal 50456
zcmeFaXIPU<*EXz(in0~4p&~?VfHYBxQWBJ{s7O&%5X2w|NEhi4h}cjNVxdX5(4_ZH
zP>?7cLJvhjYUqJLNc-k;Z@l%sll{EkkLP&H!w(P9;c7E$)~t2Txz2f_t*N$Q{jT*Z
zR;<`?_ROCbSFBh)xMIbs7hG$=|L~fv$O3<@bhxN?az$$0?h){hb+^x4by%^2Z!`2~
zrFnD{xI|^e**{NQa$Pyry)N6()D6Lqcldl}&7L(}-dnx*ZhO9I%_~m(pw-*`{@8o0
zS^r&%w&8Z)RonGNTM#*VTQ{{e8Amp(KedT7TjbE@Qwa~wo@`J#!{z
K=BXm{o-(Wc7Nb{@I;IXVrA^}1c0w`q^c
z-4!c2IJy4)hjHE=yW$0uT&I|M(*w2qNP@#Q^8;*tm-C3XcxZ3F+>suCetF3a0%3Ml
zWaA8@)p(~=q(4D34e^u{^ytf_@9`oDu;WMZ$z@Wc{bE+W)v^XrblWy?orG(
z5ZT=vYL;82sLZP4!8NzGZ>o{E(qngX8_=A$vwdXUzmM5pk5kFIYgBr*T!G!qq2}5$
zO)WO#6SkU@RJ*H{-Oa;6v&|Z3cXp#9z9-bKHC>a<%{!syqv?2dqXLcT|0P2nc*5miJ9&wOdfU|nSRb_xAJW2Kh|HO_fVmbfU4CcJH`Q=BaR;$V07erfSyX9)6W
z=~l`YEw2}X9%C6})z7|_`@|>e#K(cBw2UnDW3;AAldE%S0%A$8yq0X?z2u(IH1~)8
zn5Aws%HoW2A59bw#M~dMkH%gdYHvQF9xQ&AM|oDebu6`L;#_=`yJfUbMI^PCQs;7!
zvxN7OS`4f@4NWIHe%huhvlt$Ivm?`Vy_sniTJ)xe)v^9O3ywH-s6@$ljh!%RG1@5dQ^I?N=ef5=TvOZzME(*XY+3L
z((F>%u-X~iRK|<8AWnl%m8~M|y*>3|t$ZDo6wNHo=pj@^9CygnhLf?3xwQI^lu*l|
zDzP-{2Q&D1EiF5@YJ;YA!V%9H3mE1x#mh?aM&CX@EQxeh$(Mz#=FAx
z_BOzWA{-Rv=11bAHRZbrEC`
z$jD)715#PFZ`ClGX`bU&S#w+@(m;NH0C8&-j?DF)xtPXO2)BaUwbiwi7Q1)yIrO5Z
z{gCG;z2=J)AI>!5@<~{?9=dnL#RN^P$#`;}!;(32Sx4Pf9F(uGz3{ge_ddD)n(McR
z9f1d@_cZQ2YWB_!O(k4yFEak*J0|qn-iOTJyHF|PFjxbp!d?&LmCmKiqM7sPkyqwX
zXH9ScwG-dHsD$1g3*YCo{RVfsY3;{cl#*w;kqak%i;DME_?H6rFj*`0vV<|^gE%ie
zuC635GqDvjVrJa=@+}6gP#Y$jq(h+9R!db2}nJ3s`lWovLsu&~q#2=Ugl}?pA
z%^eFh83za7)K5Oe*bkDbaUmR(%?_>1Mi~79!#V3ZcG}ow`CYEE&L6(-o5k*myQEob4f^3hda1(1nI!X5w6bu6R&x@aLq!>65QLx&%mhd
zxJ(szFYJTY?)l-jm^k!;4|>>nelGZ$JVI__4d$65RtFyU?1|LsnFEV3o$4-^UQbHg
z*xV;RWX}jcVM!`ZU|d>Ry=#NuhsAyjBC3x&FjZX(-~MO#
z!o|H
zA(A%5{PMQfOiF@+3Yh^p#<3DVXKyR-rW!i|b6ugogAD7--ij0X`--mDw9yCUvB&*)
z9zFQ!+IQa5YG3KGQl6sYSSG__=KGiK#UP&s-g}kZU5ew`I=)5CCSH?V@A@?tF<`mr
z4)EImtS_1|8{cufe}Y!dgHYm5?B6(xdQwnH(uPm0XJ#R&S>l&4DpV^ZRo_=isBaNH
zBaD8byh9c-QH^BW*%ye(*zNZH`KuETI_%B8yyTsGN)c)Hk;mkM%Qq^D7m?tC*LJ;L
zgqFK8%}GXtu-%rS&+!&dyqq=+n(PWsK#Fe>);v!g%hK|?Mb_nz@4Bt34;HNL2{=As
zI}ZXO6Dzkv&RXxSAzHUDZPkq8!rOz&t4S2TmG*UmiLQ$t{)}8dsY5f`%BZ5k*?A?m
zA_Zo^z?$nnBNktwJ)u&k1!nIpEt6k4q=RaG5VUXB??aBco#!UKsz)6Rk5~Fgf!4#3
zY`i9Mx=?!3rArouuc)|F!K?O;$7|}o1!ZPHH17VBO~n+U$Xel!7sN`w)lA^2Lm$@H
z4qeN?eWSIvefto0_>JE#oq~$)LEiRCy?tejNhV|R^kLXH3VpseI`R<5_%Yj$57u>1
zxyWgyi=(qIqiOp+daE#C*6y_u#DA$MztS&B()%cJk2$O+rv89npXVWNZ%(^v9@%1%
zy5Ixz%9r-974q5LWPwC=Y(lT()miar>rwkQ2AVO1Hp7oa-2S+(19|!n7`(W*`$?in
zpC6{cVJPl)w7lK*P7{psE*ws_Pm168iIiQR-!o?k`CgPmf3tn$LX(+#NFgJ@CNaGK
zXXmZCQdW*!+lud4$_O5Adc4-``t1*^{f(3rw&9axdg&2sTMZR=<0=KF-9%v2Jc4b}
zSlv|dIJZ>svovS-?ia+<`JNL6L(bd-{Tv8tNByoFE;Vye^=VN^rH>=4HXhsK!SA9s
z1a76poQX#-#`|l-cU8{yFd6gn3R0e46H(VmF^Z{M@P#r`-@0k2}hK<~atnU*px019rilZZk;c9CAbzwy5oEgbg}S7b0bd&3{}l
z(a#;G*Qb6j|7D4Qx{~T1Cim0)O0cYzehNt>O}20EKfdzkoV&Z8YjABK{>#$Wf7%oZ
z_jH%@)M)FeAfuutdOpq#%GKiJ5u7rEPLmdpO*AW%DCf_1m`B@OlRWt?6jMsXhRVZ(
z7p(500%k+kA3$zYnkqx(Oz%2jqr{opazM~EOe)0C`Ks^QIP&1DJVLY8dGnW2wK|_F
zy62@^_4>RsizZ7wdXn*0vm^LuhT~!qb}=d0u=MES9Ehkgr8j7omZY_Db&)J?_o;j5
ztHY6D)b045Y?CKGU0&p@=vvF2Ll~@WyHlH?qTwMBhcV`{(Y6Hx!M4naVp5%^4M`rj
z!NKr4{Hte{A8CiFo
zbctqCb@J7$Own5(5)ZE+t|`Nr(w&jL&3c6TW+JLz<)P)y&;S|ll~?cGaFg+zj>G5UN59={o#v&n@%gzk8jmq?w|oA?^E6pt7YKsK1?xnXuG
zkWRn6T2A;9?D0n1FHZd*;wVk1JonNRitJ!%{r&07Nmpc@KXp&9%K3B3qsMJ17L1o7
zuyyYOUN2l1ar$m&Ry|xX$6em7CR&h`p!OApjQDd8?6o7wQK{CYWnMOT2k`>`s>KEF
z2Yyne$EceR*6k#Hva6Cp*l`jlTNR`uH8@E;@C761)LZz`g&7igE)4DcOsiyz6RikK
zEfS1hKBcGYnZU7Q*&piKRU~ZQopy^D+oOQ?K+nkg6HDrFq{Bxg_9L>4gtHtH+EGoq%!{r{m)ShM~e+@Kt|8Nr8aQ>6P)U>IZ_%z?f>4*ma5pc2z
zF5w}BzA=vpE~Eu)2n-?pOmeMXm6dhNWt-A(%lw?KE7mJ9X(WH2Sh;99!KY#MJP5a$
z?}LV`GJ8^qmF0${fiJ?*HM;T?1^d2=)8RD9vC2oxye1{IXPYP86FcAI5f7Z!VUHb_
zyYY>U&p#G|*=eL`T=94;ovXZm;~b6KzjnjN@X6hF1Ah1NiEykKJZ_C|(NKTdO5-PM
zTPp8+t-VvgSR~>>_!|{@BwpiN4H1!HxeirJ(wgZN-8exHacYQNHM0Lk>hy}PQo+8k
zJe#>3kS?Tj-uj869G(K0j<>wi>A!&yl^dMy>yPzM5TWc|q8{B-6|-isuyJUcBFfq34&k|);44p|7xJiX;&u5LtRj?1dyS6GK@L-gMznb%#oed=-23|ItfE|l
zbDi3fH*6>bNw2=V1Lsn@HpRg!hf}>+)MF~Z!=nslAU*>pNU-^XV)(h%;f1`sZ&45_
z)=jy0d)j!utrsJIpVB=_zL?U-;Z${{{j<+hH=gD7m6zhRL=UUN&gsN!+Vn*91&|NB
zL-|pA6#sYrnfcm-ykDa{$sLh(AwDzH>CFp!zk+nNPOEXo>e^93k#H&L)Z610>wMIu
zN@N5)XB(9t4S*y|BR>Z^}v#4WC45(MP_B*|iZ$U572vA?fu)UneJ}
z8&mVFT$I%ey>NvA1dk;!%R5EtnFgw0I^b=Q93#4GU;o6*1q5UJ&*nSpBkU`8Ud55_
zD#gKGA<$m>Mb0+9+NEhe=*m^<{X)@=2Pe2DEuIwRn;_em_3aZxa&t)Nka9H9leRD|
zDrm<4!3L?WbVgQ?+}W~sP!n^zgqSa9y15ORdGoB
zTwAT2Q=NAz#pGPHYrb7J4<@wITs`FQLO7NZzLow2%aK3&KFNJt3rfHUO>o=Mh1wG5
z7Bo(7zznhECRM1M=S}f&1M`DRnS_Hk*OPdy=$$3*8%CvuF_Vist?xju!-??hv
z*KcX7`iI4TA_iQ4x)w@sG}}0JpN!GX-!dK3rdu+4d7I$t*St%fbW^(=M_guy+(hcR
zrTO+ds4Tl}Q%zg;)T1RN@#lqq{XjSk(rKG6!=J&-?{~301W+}LZyUmw#^LwoT>ra9
zUWELjL%)2+zdD?&`I5?EB>p469P4Il{*@nSx%MuXe;Kx=$Qj%vArU~$aS!FKSvP|Z
zzelm@pLqYv1AiG2Z5;pxYjE4Ovu;ke;p8L{D!VWLT%&$@@*b6#IB@f@?LFzNn~exu
zAmZ~cO8OZD|MFy&yDAzWc9NASzVQe?n%gB}q5_Ava%Kta?aX<6E_OL+6eI{<~z~>x9!Z)YR0%Kz2xW
zUYs4V`2P7hB~=heRuMAz}b5Gqxpc%AgORBAKwl`}pa7aSC$cPaea{XLAoN9fg
z`D&J#O=i9ypHyAv7)Ti{KyuLCiHn$}Y}Wan-3dpuim~5-v7wy>Ky5QnqK@$^d8W$h^v
zd{oBoQGD+C2LMmFZ@+VRF|$B(ih|+8W-|{W$Y_F@evGEs~)~fJT+urInD+;b3S~
zC%_T$Uq9T(@53m)NG&0EW?Oe;&d#NwOQwz5ju~|qI{Ej9>8{zZtC^OY(PK%i^tRD^
zQnb*ozUtSt;TNONK6u!&S>yxC>SnhA55HV;#x#8rjqbFFkK8qhoG)yP#cL``7&_F-
zc0^8c^GRCQi1ni4J^SzaiwOt__~(Hz$ELuu|EpYTg^UuxCeM&R?Q8QdxBr*3Nr+Q%
zh*Q$um)tEts?}+#h?uJVfQqRLm417J-=$8iT~OWb1C3OV=)DC)H#LAa|6p_NiPzQN
z{OHf+B4!82eZNNklr}#Qn`hW(gld%%Go8mfE93I3QPlCg`X1l_5~R_nw;w8l+(?76
zJ*PkSLifDF=6>5ba<~VDwW1=7HDmP5>Z7_-K2LvbL%mXPvQ+qbchyYZNGWx~DtSl@
z^uJ4PA+XGM>$V)s?t&vQ|7a$zdPD%0y|_Fdf~A=*cGP>dCd@(`JGO-*abt7{fuQt(
z*e7al3}zq+Nw;+Gdm@}Uw}D^o9lve9Q0=Ru!XD^_Z$9Q}DY^9%n*)
z`6t>g>MJNHG~HXx-SqD4%ZsSz8HuqiYq>9{sSSH@3$
zE5}b1P4@IczMBruc*N$)bKafGw4A`pO%`lC#ZwS+9Ep|L#JXAJK4|{qa+4bC=7i;|
zSxwgEUSnyE%htlOTb8YbWw$I_3(Ic#f7n{e8mgXFs6YT*p>yt~FaoOa&`4;=(%C6Ji
zukk!vYw{Y~{z?i|b^?@4=h2~&eXJv|O8{s=zPh-Ji*R#SWTg9
zL!&u*uLdzh8BZqWtCVm)!cJ7k+@vPv?94VQm5Y_rW-;mplIe?#@TSh*p1c9!J8L*J
zAj{HAGU~Y`r|~I|4HCuKDFNtvdFdq9sK^TMgTQpRJYs_e?P;(D%|#C*f6{<{<`#eb
zAhQlIHV-GWMr2laJ41|3i7^_hJ^*tp<}9FOKDfaK2II;$0L`{HhJG@+ew#omK?mHU
z9Q-4R-Oal}vop8iPe}D&X7$4wZfypP%^P~G;h>cq;}B!hpq;`p`2=XwOECY|m9xR%
zHr>ht&D|gCe(p8=f@VPP5e7_MW5*SCH!lKE*7$a3FBVn+eQm>jFs2{Vmxuh{`X}ap
z?~s=@I3r^chLEKwHwfRtbn{Ca{|Rk^W2jKBRqRH}^aK>b$s9wk+ezc3{(tS}|119o
zCaxm8+Hz+N5^(ZHD*5fka^65-+F~1;-lj?A11wI604W}b1WeOhyM~w(7L`wTjsV0*
z9dJ84-;g6Wk{|t>rT;x`4vA@3Ct6=eO@D%Och1>TRHEr!HBrUzxGcFM5(9suTCl
z0v~7U(p4X+C~pXU&Em_81O5)Vou&3Mzk>X~`1OQh6^Y5v`Xu*{>xAFsm5kd^2$jT!
z*O6BN)3Xr5T&z38{3HuSK5doDsEJZmG_?P;?WzbGARw_v>y?fY0Q54p2l2}df0^Mi
z0Bk5Wfu~t>PL=!cOp@)Uz9Q1W&ZrEO?kj#z&Z@I~Fq82u=KjWWAU(gGI|*o#XCWRg
zgaMG*VgOSh7sAgvQeQ1w9G*f%4@nAgTDZhMbMv9v$pdb0?iCsxPlagz<+xj8vA+;3Jt~P=X
z24PGA)38I;&_r2qVi9n4<6-n+HBrI!9)K!XG57;!OWUUwP;0yLrbApUbXZD(#WtCLV`EGg7@B3h1PL4s`maB)O>&38l2C7a|2ZI6v0xAg^COEml
z*OPXC0c9gjeYRc@#J9M4N1n6IBE5IZTuT+4BW0a9GD9h)dm%Ot>S@z$Qxv_{s%=HR
zaG0MVtYn{x5uO7Mlec+yipX(_fqJTR^>DAd2G#RVrLRr^j_(MR1E60`fM2?DaL+w5
zK&IgY7-H{NJAlhTm>+H7Uzp#e6Gjb{*gct>cHHu|H<5?GHSMeLhNqCg=8{p;x&>61
zWphs9vwEC<5W#5OrHf@lCI_kuYu8@>UXSzMIIzlKJ$^vfmcBUG5scEL01gA(1AD9S
zjdfKxS8sU84-9VtkmDdU{XQYTDW~41I8bNH9&Kaq0eZ89ZW@Bm7tFSs
zU}C|*%DksR#AZN~RSHLXeSRi10-*6)@+lRB(`d6b{a=vZG4dmR+cWm1dK(e6sj-|E
za>og;-<;=9J65sbw3H931+<=UuSI;c8Pm9DF29-%0p`vFWx;
z$Qb7js4gKi;OND6GV@u=PX#pz+fYJ4QSr^{vBrd>R-o3d%4$GP3dK8`PE2%
z<`c`-!n#|QeGAJ;wCr10cFVH0u@*X?`-yzI6ehYe|{fUVtOiQF`M3
znpmi8^j5EI4M^tW{oH=mZ7<#OFT^TnTLS%(9E3h088adLuThs2czQ_hr9d8Lc<0N3
zk!c*Po($DIX@tv3D4IdMaKL@i1f|hm!U5dP
z7u+$G)1m>2ro}TUEbY!>rF`jgo8tq4Iv4F+a^(eH
zq@)_;r4r-DJkLMG<157^!Xlx%0R!E+hl!
z_912YIac_o(p~LpMn^e=)AXWROQ$}X?H+-6JX=)(fFwPtopXHwm8^ft-$#WG@VwTv
zK?9Qt0HE!bwG1@!QukWdYWqhdRN*$Zl{W!B;Sf!9ETl=!8`zb|f-+ps5x^|f;?2c1
z88k2e=}o?lw>Kgibm(n;VZ$IA>)b?^qZPohlLZ4$W$`eN^;*Y2Jopf6NKRcg
z5nmSRXd!haE<>pZ74nc50NGNJ3V#BSjj7mk+}ZM9NxSNecpWNGqN5=2?@a)Hom@klkoI
z+MM{KSeT!&;@9bD^rvXGo8@xm|
zoOIVMq|H=ktxfO(S{e0mNr0QGVbVi^Dvbr~D|r2N^8Rs8q3mlFCjH^cjdU~*eD{%?
zXX4+IK@Gg)ht+&HUCME#rq#iwuTeFk%;3D@1Cb7O$1T9lfHv5sz<(-Us=NL@KJh-s
zoo`Z_Slo8aL4$m|9n`GJ+R*8iHA3i-*pN7Y6K5NJxF=)L^bX?q+K$g`0PYP#V$+u`
zkkU(w%fi$*QN~c*&!y3~(|IGtUh?GE-sgR8(SI!ER+=
z%bysQ*{n*;N6@^UudRVi^YYcd>>T}EN&g4;nyQ$RoT`|2*}OR-Jj$@JkW;zk(~)(%
zKrUtnXG+Q4j22C15}X&wd5%U3UXiKPHA=D+MU)g-t||GwWtP|hl;DSAhJ
zoOwv9Bva)nxCySdOIqXAu}p2xrkxy|qd;OIO)b*@#nNN`nkIqzU&%;uO>9(NakEJS
zrEguabEWGC)O6JwHBL(*FuMAI9ee)MR-gfm5dp*Z=F&;_8@Tr<%UA!$=q~pfOJBVm
z7}Ni))}m@9eeV8J8CKw#uhgt)je1E#!#9FN%blD7;RPmPN9=FzEPVgVR@WgZFdtD*
zHaz=lK8l2wjbrs9yp-+SIto*;tNC2VpHAPS+-p1YFCyLOJ}@5_n>)|2nU5<#7jkSp
z!Nei_j@LZL6uATpp4YFEx$5QRHy0l^LzX4@c-?H
zSU!=Php}Gt#aX~3IRq(gT{RM{0%8?v+p8u4h%gdr5^z?&$JL~8uGK*20ja;z-zsqv
zRFbs_m`zcFu3x>OY`8K5fQ8j{E;C<*<3HS2te?pOyc@@s%etnoX@yS2Op`uM280!o
z>J-x&>uERtIfopMfb-oQiZMI(TQY8!EgKMZ!A6&
zeE^O%uwi>$x*qe)r3UAC1XARK1SaGj)<(MYyy}*Kxinx$FQ--czR)_J(b#UO;;ED5hbqNa3mq-Oj+$%c
z(pggm?ak3pRWSQ{-K}z=7@xvQ!*KvYc*@1rLPdYq0a9ZA&~5q?A70CA=4Cc0K9-9s
zvWPWS^&!)II4E7y8EAkIbcp^yJ(XsEunb?J3^->>e2@wyCIxAYksr0I~Vw@Nk4>OvjU)4m4;d0K`JFXLCTwuI;u35CXv_m
z0#dZ7wSl=1ht&UKCQ9};kK|CQy|;;7c?YPH3a{7|hP!#6Tub5&`=QBFepyjLp>UfC
z;Hv)65rw#Ld7j~&Qw8;&l0b~oq&uvHNuQjQ!Jy8EZ&7EYcciX;x(CP^}K!o3}#u-Kh8k`mTl(3LRJY9`{lXsQXeB
zu`Sa2`CnuFnUTX3>@A6iKXo_^IWwh_wj6Mu5NR4x^n_LngYslWR|w
z4fPL-E~2`W49Z^*
zhxeAmZ$bgAaa1mWVSNlt1Vvd7F!}H~ZP&xMOI{1L&HwgjES17VC%FxngoQ^14=Pej
zCa8e#cw^JO)J(q4D{7W4vROmsnaRWg+sjEpt|W@oCN
zq4z>>e<$DdgozadnIq8{n|mn~3s1Ohj}*X4YaJXe^#T}`N*=LEtH<@+wC>#uJ~TXj
zh-6Rd+TD@|u{72EcU=Y=l^-X7YS1BQufucZB@^K>&tao>S#Tq2NPwf@na^FJ2NlB?
zlOLaSJG1^xLdtrP!feae3Ac1p3awMNhivP&eHZ?on6b0CppeI(TJWIp$zyRzF6knzhfP%^+xsp#RD_*&(Kn{^$F!nF0NTz8ph*a8^194ZkX)Wk%97`o+j*^Fc&8V
zPI@#||6~*?zuqrjctHM!@3{xkGW6th|rRV`ewVrO#c2BM$UU(9R^!qaPC?Mq8?kz)PkcN}UHq(HcNqV8Zo4t_?x%I~5M>HWpc?Hf8dTZ&(4Hk
ziyID00QlSH2XPWouFVFEZe{2cB(RwFzFj%dZihis$Nc;i1_60L4tj!TSuLB4fA98xq*9
z1&II1;s>!@+wL&qYYW_x`Fjk3s4T&!#M8Koz%coQm~^XG2O_I_Z-;?)Sp=l6I=1pX
zBx@vhO+#q|9OeSwOj8qZx6P?_Fa?;FbCM9|VY)e&7T)}+zcuI$A#RWJv
z_ZRZL>hn%bbE~y#0&&tSprXfEN9iEo$~*_ekgp(;_R1n9K*?=NjE@R~HU!5e=s@$%
zl-S??ybL{Vg$y@dh(sMK^t{fFVcLw034B5UgwZ(HcFX;x^*}Bo0KP&_@Q?@K_TOX*
zf-Tdn{Z+WFI7n1D?6gwlGfbg%XSQh3OLS}U)x?e|g^ZVP2=dD5+gQha+G5@p4-Uqk
zfAykIv>1qqj@`QGb^CkYj_I_|P$&r@@VtDYh4jZR)~alRf_G&w98&b^9K`fCcZrj_
zUYvhZR!4yKZ|`X+RS}&G#SALZN3^u;hiH7*g-_Pk=FQ40i-G*G-EmG0s?0fdg-dlm
zMg!6u{iH{dhD!f63xAEk#{xt6}?lU!QN@Za`blX;`7P9Qon
z-|d3b2jnRCrk7EHQMB*E@n>Hi%t@|@(+F<@s)(63kmgsMW@KmMxWPotIW_@$v5MBg
z!AXE?Lkf4w-LC!q7S+KL{(Cf|l#T=G(zJ6Bp1cd;^%b)&Si&F}IzvcYG&*D_L?#6%
zB7pM8o*)2wwX|#1Z0+_^xncL4%lnC?$K-OX%Bs(?87zAQmE4|fL!v!{1A9R_*aR4w
zVK$pw%8{UId<0UCUb9sXz^;qnRFnva-j`eh(8|cc+VBtn9s~nuICb_lkEe(Pvb6X@
z+%Vbyo*A1*k~x&!aH#!Xd4L}O?5HkQK^dF^QhN_Ip3@cwU~?(;T&U!61jtTWb;+VZ
zRdO7Z^_I6rcrA{IK1zQg`hp5}By58Nu|QzB2^=aEDj`+qdF3;j&GUpg-GK%qpuLJk
zf+|h_cc?!XAr7M2Zu>vC&qB#Dqy!g^1iaQCpaKQbs(&7cSqGtb^OS
zy`~t&tR*?T-9fs>6e@+}{_)@xi{KKEj_T{Jj~BsNIAOI~kqS8($;=wCg|o{}-n#vn
zF95Zy*?ygou~zn-(9?iUjXe*^TIMQ1ihBU~FIIhms-b)kGj0!m4SI+t2cs$BC&evi
z*VC2Q?c|6sP0>~3w=g&41F#rn=1vsJ5GQiG%$~qRNY64G*N;`iajsc+6R9VKgx^Zc
zD_=JZ^VyPFDzK7nqG%~P0wXx+ywADI$jH&k%2~vj9SO#qR$;bBMFE6QK31PQumJtk
zJXkYKCedlt`qXhs1+6Jo{fElA@>eHFf6~q!AHHVOV1HGbL7r{d46PPS=9vx|&&Aow
zW3&6ZOE0+oVQ%ainIDdQiXX(mq)c*}6Z<%l+LARfN;4HwMu&O=Q?Fp{sB^~(lGGg2
zuWx!xoSs$_9C;Y$obA7e3%JwS0ppy-j7P5jFHt92y7#gS}?kwMzjU}Gl(q=0)
zRyRmq9klygjGa3YoDI>bog{80blBFo9<56_iF@z7y3f7K>qM?Wv3d0f%tLP0r1Lfa
zLyP}cUQp394|QhNdi%kNy^shg9vp5HVH~jlokSx#5eid+NZK85AkJq$PHm=ynSJxi
zi%NnB(vf=ln{>p^YeUjXm%bTlh0T_cj|>!tV{e;m74cVzAZ3~J6kk!-DcG!gbB-K+
zld?hm$*N0@??25QvmlT8wt5X+HelwH#)zn!;7uD_{z7Ph4Om5+SF`x
z=rC!M(*SiVg{85Mvm5w1ltaMwQf8D>>(vpUVDV)ytu?Py_6L9o&Z=9*u<6Q|Hh|P%
zWz6d$tQlfR%DF;_`Ae}Omy^Edr8;gs)=LURT*FHJ`q51y*IHiT`ph5lv}&|wu-`BvyM)eG6HDlW?Qzr7Z-(@RKd`+
z=@A=nV$faB?cJqh^H*zFBXBCJF+&rf(Lf=15zPOt6+1@GKNW)U_;qJn=*Y=Iil7&P
zU&8kRgDu=A#>Sanf%+C^GkXvSmTni7vnswBex+@gUY3
z&?`9xwgQ~Z{95zUF19bq-7GZxujP(csCP
zEua=++0smO?dpv!n&^-yF9e49?Q;PHG90wQ2&z$xSt{jsi%gH+^jnNQLyl8C1F5Gztmd
zoTy_EEL!MU9m$St5X3j!Q9)}>G5B$8HaKB7Le91;bR$qXn*|3uCRwP2{KN*aAlsLP3r=H+rlrVte(ZBc!s64Ammi8`NFUrD0Ku
zfZ84K&+{11(fu~g|BxMwq{VfnhG)wlkef)z_~b9&(;ixH4$0kGJ41&`0f74qu+#Z|
zHY%&`sw&1_p~vc@5eP^lmN5EHU|EM%<9OCd2D^!}uff5j1_{pk{BgYFzA}Sc>o0?8
zK-Jc<>8!9RDJu{2kP02`n^C(&`TJ2Z4^9L!EpM^zDK3znpn)TIn=Yscw2=RKgTn;}
zd1amb{UkJfUxZZk%Q;FRbmB6!10g!`C>rQeK&K)F2V$fLFbKxNY;InOgg=a_R`muD
zyxErg|L~cRe!y0yucq`P8aUJbm7GmyV6dcN81U#pi;Ih46JYa2!{z2`R*?fISM#};
zq0OYX{ypEnyu^c(Von!_zad~;adJzQZa<;3A3u1XTTip61)aNsjAdP)c2^|_u)UJD
zN#(F1rTc>I16`%N@7btkw*Z=3+LhwwVAf0eA&BNSz2ZHb_19d2C@}id7lHD^Z>h%L
zQFcN;fZsl?N?2ssx<^|Az;BkH)NNRQT1+3vSGMuQjQ&T3^p9sPfB5o<|Hhl}UN&_W
z*)5pY%X56$x&77y%U*qXIs2^#me=v+0Oq$ISdQHOM~18+91GCF!{K(N$CbeWyoL&I
z%74#Cmb`|_&eaElGcG#4#~%o}_CgX%n}O&Er?Vj7#E~|Qiw8`l+>Dw(mVW=Y<%etb
z(cKE5DMx|M6h!t3c!cNYeKp|h
z7=uz!DlXJ!aE5h=HwRc0u>1KSGkxn{LY|wG9i-NS;^loFMIbF@_|>xMy;{Iv!0joc
zZz1W#YYNP80R-wxFs^&<;BU_0XOulG;Qgco-yDf=axEij;{osRk-pNw>OQ}F064^a
zDOD@N-;X{bR2wO6lU;Nns%(Y#6N9$6f$D0vI-Z1EUwW(~T>k9r%!|31b20Kgw^FI;
zon2UzTT6K3+#(THq}j7&tvCRIKzUwMrBQz=fr=X;sT&}+CB>=CVzyjKPB0sAF;1Do
zDDq+}eWLPhZ1gkwrg!DtwhoI!@8)m2-fQ)WircZx6eu4EYgFGUX*tAKX|m{u&%X>gG_F11gAcKm{?
zAJBDwJ=s&FBzBNp%V)V3rLxliS<>H1+~V-iSWRC;%0hO>a&SCNp=+bc1s)
zI$i+O*rOpV!;N3KF5BYK)1CZ=9zSmRew}rDx)8NbpQ)GgIZ+ClzfWWDGVH~j#>1gW
z{Ql50P;i@y^}#ypJ5m{YMVS#pO2PyZba2gqVJht4i@6^#>hR-z0mIlTCDsn0`5Hi#
zo^nJ8cZJxYzjpJLPCcwF*M$L9h*_wBUD5KXdNw%J8gpR-+leY-BoZ#|TLrN@yJeZ6
z#C0!p5YotKQko`&X+2Nq&9yO*ORiDurPM(ZgwpT5yV>xfcCPM{Mx4Iz3LFgV4wW_s
z93KoFTbVY!qSXiHbxZ@eCS}sA`tz`bvb9b4C~~&6LLs|bU4?G-==qcHKMwk#`za1U
z{Lev9PhW|d_x!vglOW5oN6ty?k?xJ1s&JiQGxhd-ZM7Nt-HZOqGY`K3I168f02>Y!
z000$%TItVe{Ob=Ye82@1Js#I)z22#)8221!xjP6xqfi9A^eJl}*8HcH0KKVW`LW{GC&|g>cmd#5e(f9CP_n>U
z61j>^N5uGn?=h@!P8j932G-Plr&?kJ2%RK(nLN7n0ivsdi>CHC2#e$
zm)+Z4ik$)CK3*lNc2`9aI1A_Iz>b~Z@5t8^p`7lzDonkScCF;=K`o(Wbz2s|k?t?y
z*o^jhOukbxy9HP=$LOoh_oCQ2}C*|z9h3HHqu2SSWf1U+!+;S0(!UOIak6dZ!@}4
z)&M;z4n3B3BT8imyz3&aF8VV0*u}q_=98c%FY(o*L6>){i&77!8yXREZE~DH6GE`3
zP15rFd}mwIykxEB!NLvMxq;Oxf3Y-`EQgGanG}P(xKDn3@snsKb>y25Ot2w6UU}SN
zB*o6tYNURMreA}6%Uj#27~>6gLo!vE4%yW{6II`4$OCEi+HJo%RKW%S;E1V%b6(yulcEMNjcIPR4$
zHHti3n{J6t(S{HR=*%GgMH4_6w<|~q;;g***9!plawg9j;fUKO6~Kaxhr)}|mLxou
zNyWxPJns?cOt2qn$Ux&75!^DdP#T_-*S|IsRB`LC&);q^qt^ijZ^$@nU=b&|2KSn4
zHby0jIX}DS;lat9OAV2`(*>1_6$d?Jroxo7%Rr?7{)g801B-V$)_;R&E_&$W(LjXMG{A1CPS!h=QiI4S861Vi<8q9+
z?&-O|K872)@X-;{*bONeGrf8dzOkpREo8%um%87KC%6$L~ElNV~t;YZb*Jt@^lO=t_ymvbJH^f6YN+i}0}>PdG<
zb-bMj9kJ$1$>*PkG|KVeJ+pDm=+7a}0WU+`s&t}WXev!t{MZQPNqt&Y+%GVB2C7fk
zcUry|<*+y?k9`Gg29EKRC+ftTx#UNK9gC|cOESK}%=X$dfjx^Ef^Cfs_*)&Q_(K7R
zimbH@E5Q_2tg;i<2n&P*K6C84EeCH_r$HMp2++^fJ-8Wj1hr$tjxlH#7Pi4{1-HkQ
zulQ(&<07RV9kmgN56@1xU_I9Q@Y@wjf0DDG_(U{x>6ZOo&_1?1Qps&*BlYQOARKNk
z_fF#)_w!@BM`W(FnZ~Dnx#dH=^R6-5P|TZltqm~>Gl!^^d&Em|kZ{AMZA$LXH
zWi$@q$aTA86%NFpQ711l+Y^tz-%SO=KgauGwkw`60-{VEhOrQ<*_}!4jRq1Q(WYk$
zclar^p880?52G3R3On=2dVXC6`~1QPlxm1hm|~ExMjqetgascLTjucdyZBX?$
zBx9`@FVrQ^MlVzd|0uutK2S=X2=~mm4KjsTycR;44#>#Xfz{@3j#7bKcjK8^HRB_d
z1bF|`qmPP7h|$eVW3FezD~t;lN0acBq3Gznq6i?$E}ns~@2l8~++2~N!FhV`)OTUT
z@uD@*cJ`Pq-~H+eRkyybaNziSrJg-f;Cp*MYvBHT2o^(mj%bg
z!m$e3ok1>!8~IQ2Kh@rYXqy8*kT>dx95Eg0G;O+xkCu4R|JU4?$3y*n|Cbakq9Xf}
zB}pa9QiRA>wj#1l$i8JKV}^<-OHtWk6j>tP_I)YKWM3xxmVKu&h8br0-q*Z8%kT01
zzWe{zA07{Ry=Lw`_uO;ud7g8ghZ|HcU?aLS6qTZP4U3-1086RY0O}ePLT;OO@Zv<6
zBAtBn1oW0`3C$9^5T!(s{CB_r?w+*)UywK1yxx+AXco6DR1LKzyeH%sMC#Q7qHWuV
z<%-4~z@ebFOWr_2)>A%BTOJ)D*)=^0_zMy(@n4K>BYs0{(R)zT|78VNPrC#Q8J6NXA!0Y+
zAxd>Ujo%#wv^_3VN#U*-Bx&ZV`$Wx~)$cO&eJJuUO1i6>V7&?z|716@>w8>mW*znM
zY%2&ETDZx;Yv@0iQgcb(M@L=AJU&!4r{OZ)+Ll@29kNZ^t}A)wvS>oT4iL>uk;FF~
z<;hiK@u4D0;ZlyBS~A$x*kP|EIKl--e=pBpajj+Oi@fFK>YmUT(=}Uxj@!S`H5(WgsdFF)+pJW|fN3RQjDN6seg6zh}
zuA}WqU{&RDvd)Yv{K+W$ff5Ojlwr4U9ZJlYr`y#a+u(}Rlbk`!mQ%KL{i(9>EY2}o
zsb2|j3MB%#rz
zn8Op$tfQuHs$exHe!FcJ_&LDW@IEC(oP4_{O9oFPwMXlRB~p*3wo%Lc>5bg4nw#
zX676MPK`_sF9bN4d5g=+0zXuwD}{Xnr`v%(h*IuEzdPvoI-Igil+-ZHZdLc#nQ?~g
zjjVnwfvD{O=gzBp3XDtjl$H8Ez&BNQ_Vb0af2AvvcqCKjSQh4>EBB_Ai?v)1q0za-
zAku()!B!jiZ2sHYVc+&5SC%%Ylnn-nOQbq5xmIVX^D9*sc%%-Fu>9C#A4o021`U&*TaMP)$;0rLIJXI!b8B{T~
zO`s3B)^C><*fxeX_3(O>Z$f-
z=p;+}pcBp&(a0qGXkiLmu2RWdk23Z+oT>?Q=lQm|42}`Epk4$Jm)$VOwg=w=^$;`c
z%FjCWsywim5zbP}^Hn^K&s~fSX>zdnmmG{m^VJ5eav9AAqk}1upL>C_0zvq8DcGtD
z_Ov2$`?1#pc*r*5jw@e;(|}zvT7vWD=Z6(>>i*bGWeKMiqE)peDraM_f(oma2gP0s
zT{=XAdinjmtus7;k87B>!6R#Ly7`sC7-vnl;$8-J2A%c!PP`p+UKE2Nr5Q$2OJA0Z
zMEilm#f1zmz~e3*YaHhv&9%J~Ye|nmv9~ZJ7#S!q%C^MDAhFI*E7~td$5Xv=2POP(
z=1vcs;J7Dn66Zml!{9(2+^TukWI2wjTRB`J%6fNv0}($#*)C_UOn#6mIu|yU*6{t)
zpsi?rYj)~Nk@9O7Q%#yA4*VZUU{w?1#TqV)@@HkwjC8Qm-n*(%@{eT|sX?L}ogCz-s1bI3ctF9AACk
zLys1hK|G+tzJ-@in`N`E(UK)pQa4qBdrv;>D-pW0K;><=Xx`S8+mGkbJ0sk59^_`d
zlQ^;ZXNpMvf@j^$aEszOZ1YdeOwt&i+o&Cy(>(tNO*x`Bs(5$~Zpe%DP1I5X9BgACs>0ec=v%?NB^1<#YU#j{2eKm$sfs>ELP4%zFq~lix?N>nYTuq}ct_fkT;o+yMZR7EQ_jpavHz*zT
z8M9(SCLr_z8Hv|c4>-$$LCq%iDbm6}^cSpMhFplR^E+j!*`
zE`nQ$D)Qr`!jS%ZPioZ*?9eiaJ(
zqHj&AZO=6Uhy40OlN!!1ogT(PWAEGrdk%+i=!)?@;=$POXj&mw4^WZl|QIY%D^k&R-V4UW(^CL^8O`31`vMkSBi?W$L2#-+-7rIKBL?
z7G@*?pr=1F*%Sb-X-0I$mI1Z{sT}rz4RE;BDY=D)N`?Ff)&Y>54`3%8xK>r$FQYoV
zWmHpIhEhH@;|VBj?NzIe$&$3|twZgreLj3=GYD3Wpx2d~dcI0L)cs_j__m?={WCqu
zbmPnARX!gkB0m`ossTtSUeif~m%ggs-DgG4Cp4?-Bn==-YXO^wi@_KJp>S#7K5sMXeFVZ+m7@-}
zd_j7n;Zb@?4kG|`C}uc6P?PvCwy`5XjgEQ@CqQ5KQvKD
zfe1?qs_#$m;A;TE0+8rWgX=x4*%8yF=lIWo6#;!s08FyPNBwgqTyVo8fF?B-vabFC
zEpDvR8
z!{9hlK(ud>^!87Z4Fz-iw@&IO%{z0L&8mRZT1G(bP
z7xkMBd>qpbvZ&fR~P!4hP$gpTl%X9y08s@dqv@H2^Z~J`l1=<^#3fB>=L_
z0H8nyK$MOJkOSO1vU#5SEbs{W=`-4K?+NI^tSBuHJN|V)d5_aRJ2XwnDJi
zE^aHC*GtC+X(-7gb-xq3roL4ulwyq(BJ*(Vxh!0P^-6(M`EpAk=^|dh+^E?RFUGa3
z65Mc{?hQ)?M5hgIj_(Dpq4comRw#0#3wpD)@Via|w*~`w`S7?iu*uE$!Xz7I#
z$!Zt)V^?QoR4>ANUs=ALAkE7%mpU~R5$-+2PB%mS{<@X}L9h1DezhwW2g+I}o7kBa
zP)Gzw?3FlT{j#YEx@Jff+jX|dy4Lun19Zi~u!k0v_SO+NxgWS1gMAW6V*Bc=6$(SN
zL;&DG{k8SdxJK{}d|?GZd(nP1>9!}WfRD0dfZ8?OeSsvrVCDa#>Rx2==RoefrGr_
zkP242__ck}{BFh$e_bf?L)EIZph_jn|wJw9lLds1_fyzWz0j
zklg+`x1jENitmWyf!z#Efmy%pX5I)@{5zt>OYEIO3VG_+03IeAi;${&PU-Tii_^V<
z|EYdYaho$}QXiwnZt+$yH>sv~x~uj}V=+m2joInGu}GhtGY
zf^Wja&=TL=0HsUbqz*GLv0AiRIKU;nNo-n5+8Q1eMQ*vjz)V=rW4Jt_1Vn&
zxNn<6!cPCMu%)jQeo($oAJ%>K{%4V8Ex_79Z#|U6PhQk8sgAzBoXzSdKg&-NI>Uc>
zPgCVsDvgf_RKf)Qp5DI!`~8$XgD{BP1)&0zh}?8Ep1MP&z^L~dyCxquGA#kx`p(!@
zk1VUPC6uUQ*m*eM;<1YeBdB7xFnW5pa%QVj82lg%wI({kSAS9t+jI)thEX)_iu#)q
zHzc32iM_%;#mDGd^(z~OU|a|k&s19nXyF!sg$2y`
z$$0KbLW@gy3WufWEOzYzyT7OF_)#de8-l%XTx7VvDm)dBO{l3-&5Kh0zWJsh?1)HcD&od2v&aX}>m*
zoA_#u{)^zRXyTV!w{INYN^7{WGlp@%9~S-41LEi3m56alt(41wyBO5Okez+ktj`TF
z;G*Z>K=yr-k?2Y8@`)$TWt5CKT_-5l$25s91jL8=AThgYdkiO$7>2tYn9FH!x0!bb*h^_P`&TjvfztDA{-(j(9>c8?^
zBv_b(JJA_2)nd3Dnz$^LXxuFN=Dz^luiZ?dAU5%LmJ-8+-+KN#1t%UO
zofYWv#doAE^JI3CGPSx31V*}L5ERQ6UywO-g?rFX*e4L6c14|nIj>`8M(fSTbQ1JH
zVOE!2HO;!fAo@UZV(lfXI3YMG?lp`eRrmfNy
z+jr|i03uZNX8`{l%`kM)wB#HwIGcy{rjq-WT70Qc9ZTb~zk@mA#rSdY>Iwlp!7V(V
zDc~nZx*`gYJI8g>PNN?yOSDz55@KQYexWLvQ@>R(JMN
zf^Kf@gv(aJ&E&nEae%-ubYPCMl`-?ky*6puSX#o$-q4dZEpd30JE-wF{^E2gUc=O{
zRw1w8r^#xPb;;p~skj+-I!1xu2L7Xq9go@O0TqyfgM}I&m95fk^fia%h4*;ds9ocW
z{7)`$35B^b$1uLN2>uQq-Vq=Q>3i%?Valc>fj+@wAh>Pe?p`oy9fbwgJ_F?Gpxq1p
zK|dbU_+teU*Vor?;=(+`+)U%8nYd*xIG3SlQ>i+PI|O~Xayz|YLV5DUlHHe5OaZJu
zb_(XS;H;UzuY`DXJVnO7izoilZ$EEuxfJQiO9r)yt?T`<@9ZOG&PWz{+Vasp!HaGi
zIartQ)%E@?7WQVP%r*Q(qxEolz=(68%Uq#DB*%MMF!cLi=q5Wn0YbkePW6cF$@{MU
zmQ}qGxSa>WXo>Y>I`$0f^9)87VSH!f%8OZ1mc(b&q>-a+}&@!6W_Z9LhBvB3oL6lacdo|&>N4=c5Bn*WKOrdvD)si
z!r=8aIP_G=zvVNlG9t{~e2V_|1!b$cCi$43C$g&=K$cNlp*LpK$zI#xSPfKVJn6PF
zSe28iQ)L2s0=$R!sLzE+ACvS<=qm`bgivV8EIJRtVBA)R3Kb{j+T+PRZoN-6j%0iy
zfuj+Am8mt3FWsnlmziIYu;Y3z6?*fQpwKb!qP|Ips9tIXa5eVUl9iBkW+3WqTQ1!a
z7W!|w`DrF|ST-rAIqW}zQ#)FWpl4w`E$6$MFj^N>4XU8kJyqq$SJy$rbG_}IIHDHx
za`CP*(Ot{n{_gl;I}bHEej(qNS4|Oh-RDcPoX00-kE!nmv!?v7ij{+=36O88QRw=z_pET(99oFB(Sr8lVO1sp
zNM!v68f=yYDs^MDyqioSVqjXOpbJt5+jAc3(lL?*tnS#Z7W2o`Me7~H$SYUWj~(Ur
z?1(SdnV5TLrpY~emhZ&5;)cs2)NUPCDrF%LL)A{Y+WIa)p-pNd{F5gVHy^bzG*qs3
zxOhVF;BnsTvrhs8<5;--bomEXrCPeWbhDV9d^xLMjt%Bp+ar3=9Q1N
z#)(?!>BV5?-Yjvq*~w%lf{mgxIbqkII&L37lNRV573QhY^w1^(9K&{yq8kT
z+FMd!MUNstTI(xJ6vgE~bGAJRf>xLb!NCh5qvh_^00kEzhrRE;|7cm(X-|NO>btw;
zIM~}eWt@)ihT6U7YR@zAD~_cAw^o@yL)J%R6jWc5J>~t@wY!}3xMci`K!1xYmFlx>
z4-Lb69tEsax=qx^}Ul{b7(zPxS2*zw-qBYq{VipFwv&M5tCU7cqFSpYA^H9uH8sx43(=C
zl(R=-4qHdPHxOL%G4t%?Gp1-Ad-ZNd&Tvg7nz&ikS`BxwoNo}KQ#;DquSBVzHrP7-
z7f@4WfvjLf_*X#eSE*Xvg1L`14RuQ?EJIQ$8RrV_>!m6T^N&$4X}f-uul>Mw(fc>b
z?_S8wP?o(MS9hG#QIYZS@w&9MD+fw$aEZdy0;0qUB#!r~1$>oI2SYC%ZS$h3svI5A
zVjl)(K5tM@{J82&-mWZL-q(V=Cjvpor@Dd?icVtAq8rR%u)V|*mP5I%=B-n@l2@L(
z1;9YF%@=`utJSwuaJ?B%y%BhbbraO<5)$uq%V
zpFcYKh_`WxN?9E)CbO3UY+zed=ku#gQ!}Gc@3-Elf$XRh!+wWr%~}Pc)@J;}ixr!C
zz#iA2KRU7hOL61Fl6%Ub
z&P=#Z(`7F=Ei5d)ngvjtk0ExuNIR{{9PiL+ULP((LcwXb=CdAGcW3F7uyA*8lSp`Uwl}&?nPA{{Q?4
z2?wW$koBn}e|!R1OA^!n`quyFSC+fK3c?E+rRnL?)uTL9Qd08M(`^_(ojOVTz>sZL
zQ0m`JRxzRtP*ohvu7q++0~(NnUdX3ijU%|V%6hZ+_l=E>+XtFo{yog>mq42Lw}nST
zpfjQ8_WoV8kyFtnnxcMTq)A2RK1F5d_#dZrk5NBCqS;MQ>yJ--0Z$aPr9P7XgJky8
z-#!D5GuG+|;S>KyZ2ywh7eVmE`M}tF~AR-M)cSv^#EF?rgy1ToiyA+Vd0+E)M?k+(>x|cM9sJ<9?Ql%y8>o4BJS?mbH_iOBGL(k-ZJ@1!0fP0VSR{LEM@t1yZ
z(WDoyI|@ejl(Ti_Mn$E)^(r+*H6;bpd<|(z`0EX6dhz2sRC={d*+^f+kjS`zHW^QK1N;M62FT?=V`MTZHI>qrUT>I6CGD1
zBqDmm7qYA>-A^z%sW$4`ZrTb@h0UBC*iFoxOfA^G9G-!@k&r~Zgu$;47H%d~UJmw-
zuEJiTG{5c;2EQXNbI?%zy2Z^-ltx=YnM%^h#e#~DotK@HM(j2f6_tpKxuvkG)Z>3W
z4*n-fW9{blOqhei)6=t}$7Oa6Y3
zl!dFAi_J4P8z)C9#CuIlo!s3-X=o4){qygyep-0h{JSMb*MAKQ43Goy2?rNDC&xeU
z29Js$t_myLcv;wMOW8PBIJ$y1#P|hxMSk7?fBEF!E&leT&cC1J;}`t>$=^Qt*OMX~
zhynaIpueQ`>naeJ*liJxe?%{Ko5JGj444fv8!07q@Dl|wHDKb%z&ED9ejW*T*8;7bJloIFSKk6Pcu_3!-i
zUdvnBl`Vc(XKOnpjXS*+PDB1ietXgaHlx{F)0Eez-6cxtVpBCO@MX&DXJ*~8?nV7XgOPT{9ut_nnBF&KpRUS^IJ`z
z@#!OQ%}G8Z`aVyWLEz=lPF9>)?_fl$8*Fj_>mFy@`&9b(`rKl(huc2=F!Daq0&&Odea_x
zlr|qvJLbe|?swoYJWX7@I<9RE?RLG`u1!}v6v`P-z;TE&kz@5rSVaiwJx9HyaRMXg
zc7Nzmh_#sz?^==H30&l$e|e|rKrxT2sCsmLBunoO3s@Ofi`{;k@E3Q5dql5Jm#;?8
z*3uWi8n6g>YMlbjOApvQUI+{naG0*z8U}N?6>vV5ZaKqqKrDK2gIIr2A;oo2Xzo*9
z+UBILU2(rTmaO1@5AEET5@h?trtU@9177Ye>OOOZ>(K<9)UN~GO*-L75^h8;M7a`e
z&yggmxHfqTaRz2`7(X$hw_cswLGJ#1fi3nEyBIyAMC*LNk7KSa7}dW@c_yjKqaA~B
z-OgmxJP+I<_>kdIQP21OG`hB$S(iS0>vl~&hZSin`&x$FZLmnE9NkY!Yv+BYj*G5t
zPzx9OKASA3q!xyq-j=5xW=Bb~{@A1V6lpAaI4s#RqixV_Yp$i|z!ymAUeC{ss_Pv`Dlj;d5&)+9k}pY?b)*6e
z*ZVV3mui>6!I>3Q`>R9k9DgO7-w5mB-g0*%3_**;7Y|pC=`PM1BZ7S>aRs*bL%6-$Zbv-kxV*50z_e;j37b#sS
z4=&ebAp10eVx`u4mDLNryP|8rI3e1?n_H{Jk_?CaCG>z}5wrUgtk-swPPm1ty=x&~AA*h2b->R?e(AlK42NpMg2HS}I%@
z!@JpfHsB;uo4I^+ywbQ<4S$uEv)T9OD>4pYU^LiK=yF%zG_$
zP1+^ENXzeiTk~p?T}2Tunz%dzVUAsC^P~;^EqboeQ*}0uU$VYFfLt#Nz4T>n&7`!(
zo7T;g>oaF|e;l4*kb9IRXVIdWs!T4nT{TugN$t~e+@A!+ZU*}_Pg+Nn!g(}qkY`Y^
zW8<1a)g6OMsu1RzCgO}zj-!DlKO#=A&@${3SK4xJOH@7@Ak8?=vM*5tvDJsv=y`
z_(Cr=)Gqrd{K0fVPPl}+Vz)cTRMEvtI*Oz-);&_j2yJQR1KDFH$~`sDnm1k#-h3jE
zkvbTnz*LDqmWE51D?nLp7w`!YhTf5oxrl!peNV-D4H8Fm9Rt>~AffCaDAR_UVx*`9RIsWwv85MWu?MS+kv-M1x!q%&!Qq0PEAkh@dI+o(f
zL19HR{rF$%RwW=piC#3FAwhPri${AwYuep$v6tGKB(4I(S9K%Y2=re+sbLx
za}?AMa0{&Mo)j2uZYy&rw9IeRZN3QbS|?NGLr8SPGpzvy&6K)8#?UzUhF|Sg>lLi^
zyi0>dMnaM2;|pyyH;KN3d_8SuqRi<$_Km=c+Q7a{3*AE1m<`ag+zzo%)aUajEyVnK
z=r79D3<7NzC7^XAVi6&n)Q{J;8+TjS8bS_YYQ7|O@yK!JC#%nG<3-rcj^AKHJ~(N;
zo?B3y3yN$DLr*7>8lcju{rHANVk*U`2$J@wM1&rVew08(UHvJpRK$v3$2=IxNY>7R
z@e8TUFa{>sAGV)QzjwT}LV5K1ku>_u+oc_E3`H!Xo;<5G@7&INiZQ$JiPC_0NT?Et7&eQ_yGX<`*sq}DyRkkMPuEYF8lQe3yP{AzBS|9UV$M&OmG-U3
zll6zju3F}0qFL;oB(qyuZ%VJC46Uz4yv-EbBg(p7k27uDgW(q+DIuHpUmFkPJr2#^
zDIegUF<;T(a1z|iFkn!pa)K&VoO?eMXzJSMBZS=Y&uO4v$ligLU4Bzs8yHiS@rY
zb~q9t+5OZ-lMR0(T8geEPkB44GxWM{>P3vURFgl{;o`jto>93MMWHKM4FwwbRzWlI&r)w)7
zMPxM;C2KGPgt(VYi7L03lp3%W4Y9526qju}w0|Ucnu-Pg>N!+csDmOrWGKlFJVxR4
zx5uy#kzLuge&w0nCK77JdW9+WRU?nDy2Vw*s!K30jx?F#<6iO3NODeL3aa3DcLj1SSSPP%prBnrohgDr3&s;PR)pX?fJm94e
zTyS5=$BD_B+I-y;$2TFWzNE#sq+&~4eJ)gS+V=Qj
z?B8qT@{LQFb;eh*#`iY(5JtY4ze5xzwC>e>o+Z~)DMggRxg||Zqr1p$
zSq+}xx!9`P(HHZ5;uDUarj_FRAh#sOu}XKB;Cp<}$Tvg2LucOF1oGK
zM&B{3>4u+ayN&m%T~yNqhpAd`dJ(nKG%OLS
zwluATzKMlCBr1u69O-XX5EZ`qK|1jPrx+T5QKq}B)8Ssh6R4=r
zZ7!7%GTXuCNotwPvm681iV5CyVY2kjr#&g{+Fi{Wj$CJ{D18@4SC~@Jw5ldruCuEx
zhV2ir5i}p$`*(X*(8gJDtd2a0xL(%uud?Q>F?t@V05)l9H>3F`F-Ne+2ck{Vi)*>UfmO>=~C%wK1;Tpq<3}2
z0xbGwf_!?~pPD7qq1Gt{Uy>7Y-|X7v=t|Psrlv1YdJfq|WLvy9n2fun9-<=agme4#
z9=zIwtoT^gubOX1%~T2(O6BL4dTPB5J*LC*Mn9QUj^MnjgF9#JDrQQtU&8oqlN=KY
zQ>$zu{EF2VYLiY=smsm^v6sA%+$_Rz00xev)g&|`lbY@O{r0>sHSqj#3hIIb;6=c)
zHgBac$V{BS&Y{GOw5-)gd&kJE0CWcLWv|+!wx|zq;mkAV1Zl4-@oGzymvmft?1z@<
zBk+6U&stB_uq+bmlPM_^i8FPh4PiK4vhqKFScTe^Up&rYk3_TW3=+haHY5x#j_38@
zlv)v{kvce&YqI%N%$V*sYO{I;!nt_Jmb9OUP+=zqAOF(M8PLbwtsXqB#!U@QQC+UK
zuTRPj2Z6csZ>^AsnK5rXc&)iTUT`BasG4zwc7UX#kP;m)S2FC**9wf03;XV9j$fLB
z8rxlgW$A2Go+H#Cz_K=gYDG)4=Wf7>^mCSXFHW_;O{&VCVTf47Z@}fy_MHQso0hTp
zb-}u7w8F#u4nN7tl047c`-0D?cql0(k*(2vgeugesxgyo3!-n$z6BA7Q1majBVLca
zqG>4E#-6%?#`q+|3w$-7XHGWOFGoB$>ue{rsp7MFVh~3y+i(5Y$M?+_qkywapVBV%
zmPqx2j~ZZBjz0LE$QWcN5fIR{PqQ`dFY6wx)gFm1h?YA0>K7V2zA
z-kp>uX)UC$kSO455hUX{R~Jg)n2;{Xc23g$YTTd56`;4wMyL|?YbPY`tEj7)2~Nmo
zWPiVnXPSgF5v{KIVKA;frrW)1h>*iz@;)`mTCwxg10@p!Gjb=pb@`NAGaESK;knE5
zX=o^H=wBq%@gI!)>(gEFj%kdHaSAalh<>|6{Xi1tjL|*kODSUh4Uk;+mEofu&mUL$kFf9qs~Uj<7@0TDYe=pp
zP*zdB`uKe^DGE=GT=tBTtie!ao|AxzqA_s@ax5z%FB<50TEf(H`oKo}1p`IskxhqC
zjGr8u>^){#!Pe8IC>_t{UP-SgO|eoR)5>|S6>12~JDyI0KI0)?@bP`#pLs>xqq4fxF
zVqmfLq!FWT(u@h#QQdP(BiSr#bE^!=&n#(hO7zRTcwlq0hQv}@I-XZeRBEeg?nzeh
z!G26hNKTsUGUb8nT&XS!Q}he9+VX}t$;eKv5uewaC6k;%oUtm<8kz9bbeX8_!iRd$
zwYLeJquO6NTR14G2h*WFC%{4m#>~^?@3FQrX6IJ>((15<;Um_puxzpj`vlFVTm_tfhFbt}`bSEt`31S#fi(;|NTghNNnY
ziPI~^kVDpsb|ur0P(slnL-G~J?QImgFiJParJ^~B)Ve1^i&tXXP1l?|MhPod-6`qk
zBugi@prz??i8cvUXwEpu!i-NTMm=*LlR9A7OB;0DgUrd($U8}^W;3t~5D-~Hr#~iT
z#2f7@dptpsD+|l+Nkl6q3Wd@|BZ6D8H$`yC6KCHLYmtXW%h>U)G-VaC$AwW3o2unr
zOP}QpMMJYacvq~HUW(9V@}f~))6$b+rtd{zR~fNZM?ROTV&M8Tqakk;DxkYTh9MpE
zaeF;F@a)lZPPnmhnq1O^0iCjY5yDq}ir*F4a2{{foK4AFojG+>GFHyr=VsWyIZuK=
z*BTgT#GyV|?Gx4|!?M!nmL;KXX5LBjluk{IMC@a&qfKs8Z)djbTewuNvXNV$`^4J<
zS%73Iv>uETQsH2#xL-VICvI&NiIbpt+9$F?OE-X%iTAldOYC-XEv+BaJP9sEvh7qg
zGFh*Cp@O^EG(34F_z9+5c^Z|Fql%^?FLQ(Xo>8I0-W%oH`0T)WaBmJ#@+y2?V@L0f
z5A&XGq_9dcniVZwP7=wgU95^X&qMPKsE}>8qf_L=gtT^9H6PfKt5KYV{%|*JrvJJb
zG2qk9o2${@+WZOZ=44^LT)rPtS5UMTAK6S@C-^8fbq?^w2PfiirC)c%iEJ0ftF!;;
z_JIW18uVT90-$>AC#@24uqMK3inyJ$UF6Q)aWT;$jfc63H(p4(%#{ts7a48CnmZXk
zo@`k4R8dU!+eUm~WJ1>`u=k<1@In$p>5HZCq>x{L&xwnnU-!v7|IKzXNPyq5Zu_&?
zh7@{x0&*;Q%xbOh2i$ZjCGMhx3ej&HSgRiwGB8i*J!fetne;E$)u~F0~;8d4|`VRV_?Zc{ieWc9~mc6Z-
z8QV?K#l_KZGT))1)5#%GC*_;5oNDX77N6@h>1vtRDWPVdLl-xm1VCfzk$(@qc*ZLb
zis4{Bw8BLp2`mUCK`k($(`|o{?ZYAv;(7|8X-h=Nq0^zHjS=jDFCJb)dY`yo3bgrj
zbzrk!FK7SkCpijEq7Yb5R(B!BH_#eVf)W(JmJZZH4Smn5Q5xZou`KgXoFD*Vys{ri
z9B9?Z`OGR9S)=3U(SU$?7
zEw*nHep^|?QBHwU4cf7LZ36i%bE5{-eRAace(Jw-IY?*-(>_Vl5%BLcOmHp&WF_SI
zAo=fP%s6n4i>1RZ|4Ggup(udn9Ud5Rzx;QGCtn)qfT%kczr8*Q2zFY%$^7oWl1JcX
z9komF(Zyp9~`85NkH>t>0d6{Qz82+j}GQ+lbhJ#C6TTVgLK}
z!|LEt?h?K0ZzIwLvs~R%M)}+8KY>dMo${-{jp+YffejN-`v82e0f0@t4*f(&(F8!fd99$nrLBt}H-lozIso(OP6i+DRteYibNAH&V5Bi#Q}@$Ec}1z6
z1=7Rca&@{m>#EcUxVo_e8!{^+FoT!*Uf(5xl*ck!&-!ENY!EW)EC5+y^8iEj+-*K-
zz`$pybDV1s!k9qhj6QtcZMi6!0Z8s_H)Y^ff}W!ghdRi_=pfQSo<|c}jUYuZ#@2GW
zbaml(Fkt0j;9=JCE7$nf+8U=DwxRY}@IR^7GV-4gy*wOq9L<*9ft9u%3luU+(eu8<
zB3)fgaaHvE9!gvjX}kj@xAVa&ZO>qvRwlMT8nW_EZ5F`QD~-GK=4H^%06
z8h3ZZP8U(Hh1}MMx3s6A76Pl7zpX6=lvJY37q_rII9g6k3rWZEGf5;1dh*cL*c-P-
zH>bNPeESXj_Bva9ugBGtj=EdVR!M6CX55Gkfe(|rkE=L>9FVnpDoqhyezWh%v5HEn
z^09kyw5@SBfWcN9Ja>0|4%bIEx4`S$5h*E0(0dP%tP77Ls1@F5BtOT^$S?m=xBmv4
z?pXGpb!u#hkVXO1I!In5i6%F!5v~-`OF^#TuC)`Idi4l2Iu6^wG=jdu4(9I-UOD@U
zS`y9-@@i4AsY@Df$*+jzt0u0mCu^{Bw84@{on)g*7FH0_|#~tA7bpVN9aC!+54ghHdVbMw{>n8_;
z4@+mv-zvbH>CAucG!5u92_(8<{bV8VI!QwPZP;C*A2@mCsZf2_m{vFfHfE^P)OVIX
zY2Nkc7@Ulugv^rz@73}14dTPOgJQ+R@@0^oI-ENb&h1(6WhvD^cbE1E^#@bkNGj@6
zHDjF>12<=hcpBp#Zw)<(6Fcw0w2!G2J^S(YvKMvfWBw`_;#!;?4HP8GepDIB;x5p}
ziHwS#uV*U_2qgz|-5`K%zn>p&yxqp8QB>&wv&%n28K_dF(#LC~zwQGoUh8dPuVHK@
zw;vH>6Us5UMe;b~@akgsqQ^oT%XqsQddz|pvf~pIJYkEbTVe|m3CE^J&`_o_sdbdT5g889}Eb1`tCM+em|WOEak2}%NgSEj~4(EW4d*SKElH9dVDA06ULHn
zJi8PjM&nW>OB4Am3a^YA=WcSdWca8;l1gcIcv{0c$OTz?PU=`yC*m$_w%>mUk~}=E
zgZY-LPIceIa*VXh)xHsjSQ|bGGdtf}-vimgIgnLy(9w*fDXp2d6>BI1`46AZ>Eu8D
zt!@%!(ciI4IW=rBoLnqi&qG=o2BH`kHZm+H?QVLlo3?^<+9etVn|7&4H!W*tg3LZ^!_=1K#OScolWU@`K#Qms$aoA>dhVMjAelJZ#vmnK^gm8&vNj
z=#*7?G|;X^p#0X0mndfoW}3V|16*v~4vjud8yf~uPca)C#+dR6K^^)zNE%W+Bz^ZU
z1sVL8see~XNj;4OtC_^rAkuwjAkWXd2{23Fn%*Ohz_Y0IvTXW@asO68fH-q?D`DWW
z!F$6%+qseP;;suweAkUd`xQg)t4={fFS^n}vq`hrvQHmwmAx1{=w{~l(&068N>=kP
zc{%|9sYW{gtQ$8Ii_=jmyuj`<1YhwdZXd#&V)1{Y>hqqive~I^y(~7GmX+rscm9Gq
z#l@zSU7jx2pt$^qUXzbO{q2V;>qgb^%=4K0fk0Kv3S8NT;b2LUA4V!isIo1kE18@<
zXhvTIwz}vdav1LJ_b;#L2k_?(c{@OciP$&u&GV&35CN0+5PO?MWYnAHX3CecJXi1h4eFfWQy@0NWiMyHDW`i|
zz7$16^-%lzT~*m7BB9@UaO*GUY1k0BSI2m;^8>_y9n`}gu*Bd_)G0=znvYMpB
zpML!o7Re8~;eXkT;8@^v@QP*KWKlPTm&zuGCeEWxKDZ)SHy;rsV`tOU+pD*d-J7;a{&)swq_+tU8$
z;QFzmWcc(266W9T4kuL*4qp((93C|ZvI+jbJjP&K5DZOU+^4qPMP>bmpcDi+PDnm(
z@*&n}Aqs!Hn+1Tc4Zm9jz`Vw}Xz1t{#kp^}hMNntk2YC(SXG&C2ElwW1+(
zl?#{98#qrA5Fgt8?|i6$o5`5wm3gsQSUL;*O)aP$B53wK9Fds=iP71Gt7C!M!%_Lh
z7XOO|;Ij|A!zPPYtJD4VBS-}tQ+p{UP;@lhKR=%xy+Ubq@;bIqCm5%BD$Iemg4f%~Aezo)2{`iu@B`?jV
z;9@;1PB*m@5g9C8?sy`&pT)5XDS{)ZZlkh0sh;yT?)HG;>D=)W+mofZO103;!U)=n
z6JD>cou!$PS#iAXtp`!Wqk?>7*k8MNdcx{e?c-hH^mxvL@#5twsR1Lj;w
zzPveuND2|$aMK&`%0&&$DXGVf&}6T
z7`lxJYVRjsLs{H$YRRzEUA#}5y>VlJvz9I`v0Jx%w{}8fLMz3EaEkq>fTd9pWTR1p_hJ+Ex3qOdvy-G*#0TgUD~uS
zmuHoLj%73Nz2=^5UlGyzK70VT);Q=Q_w7<>!<^aSLy-|wviTvUxI9%R}APV=DUd>nuwJeN7@7N58H
zwyd{vw8BS+QlMP!bD-tk5)ct>-M(;az4Q?9Ikc`Fc}#ltRTJ+639O(er^Rk50j;KM
zD$Q^IYrqO}gtIhXr$YA{0R21xKe(suR$0>aDh1nJ{
z;gkK3M;^y;OwkL7hPA^
z4iL$Y1uWD1G^3w<=v!Bz?PIZ?{q!n`gnd(wZ&R=Gn&YDwv1Yld=S}MA3HOHam*I~5
zY8WcP6Q@InB=}I6mS-hRkQ|AU4?rIT*|yyP$|)1Kcb!Zk^FYNDzSn)xV>Si7Y^5)5
zT?x&XGHdD|2P=51yJi#emei?fBo1?6Et9FV>oZtz4TfJfzx@{^qR(h)NDEDu1^)+Q
zK(*kfucV)i5Ug@Nvlu@3+_$v~mlW>z?{gI$T{dVgYS8n)XSQf$weVeB<88X?RTrOi
zzrfkv6rS_zvs*C9#m$V|Vz$k@f4Z3_1}mzpu>RN&*u1bgKm&x9;Y^sGZ%%_ad^-Oc
zLQ}Bg6|p5~vsKs?DwiRb-^EO3WLI1b_ZBWe-vFHSU8RW!Xum-ajpy%4&jy4?$Z41?
zCaacwadC5qa|?Yk^M^X!i~5@%g?qR^)L!NJa>7lVnPlzSNvKr^fq%yi*kDu`e;p3L
zI%!>Kp9CadA^bdDo+{00`^o{haF$Qw+es$2iw0c}o51k!)ll;*cq|13;HGl`gH5o=
zan30$u1OjzT?VA^F}AWclqs$j@rIEO;!3j{9K24}`1(TJ(D3QuXo5FE}fbqx=gVU+PCKHwu>?>Hu;D
zwoD_s0#LtzRSO8R=OQKbt0a)YDu7^#wMC;Ig=Ck&wwzb?fQo*I0SAV*eGbe5f=LW@
zggDFN*FC{udW(dm^`RmD?T8UAc8W?#rB^AC&n64|Yj{7vC55N>9
z3g<}*tq8p0fcKNkFTCQjS*%c(3^HGYjLKw1X_P~+lc%ONkwGb+ezkpkf~D#qPkL3=
z7y`rU{%YG=VkJ5vLfs;e4BGsw4J@r0rGfhcRO0@QHz$r)KA8Hm8-y3k==bs1sJ@x(
zn+3QD$?BWIvP9g7Q?L60S092=Q
z491kj1)A)g0|4OjZQc0`ssI-LWcg8bK<<}f26~$j4|+DMcYznmQ&4Z(+gEN<)~l7w
z4FR)t&W>NgajytJ;^pXmfuy(ZYxv-{0XJcaeg4ev^lor0PR935^y-pk2GF`4#%sMS
zwEUr%H@5TM%#&*XlnTiX`PlG=K6W#Q(}On!zhR$`T1Ix)a2F)klQ~T!YK#v+rlE-w
z6S`ix1=~Lv4CKIjlPb!NTVit8G^1*>pzvHPc(XCH`#di@ber@(%6FwzY_x`OAYWkh22N>d!
zT1DO+l<_rgCTOcn>K8
zMCc-FM*?^Kv{sbFaI86yNlJd-A8$b*OT4FsIC^+H3xJ!%Q;Ro-!!|Bp@AKY`?N!58C
zjZ@8`rHvG94s6a;Bme*Gqx|_0IBI`{@J9%Lx$J*d!k?A!XC?d-!T#9}f40N_>2|PZ
zmjXbR>)ZcO#KxokR$f_g`sqW
zVY#~YbIC+41Jbh_W2)O5Uyyy*-GYWmZT-iG-dh0>
z(vc(&5{zXPIGpA#V6Z0)Q;uInGJXS|q2!DM~4
z0!P4YETv7O5CkiRF(&dSIDwQbW?ZIAz*
z_pewpvZl+k1xR$KtmCe0>uD#4uHYizJh(=NTpi{?+yQ=40pSmTdwBwMxDkYu!=6L6
zb&HKyF)S1P-t_-~Q!P9>t1r_u%uE31CJ<31e)0VV;JLW(wqCbfz>KapOJ@N73b#c<
z6!J&zuvd?(8b-^hvp9fytsOx0JXxSOjuY8`aspsrVGNCxoG1A-S#KGYJQe~jiqo6i
z0RnW6Uey{7!C{I3QIBi}Y!(sN4KBOnM}WveA!NpQ60B1m>H_OU1YIWU1%h7mHlBc4
zJw*MveJG*kGZIL_j&%-LLUS<`qSHgstpJp=Yk2ByY+43@wGKBY)e$i7
zN*o47^?jrTB|h#`EUMGtIHEgs%d>zBxYc;t*EC3~x26Ob6_|XK+jrjES5IhOok>aw
zY+j8&ZlxOU4&T_loNHfoxJFR{~L55;yQris63FSgxGgfVNe{}pSk#wx@
z>i>+Qm6+c5$C9WjgjJ0!pUxzqt2E1Qgww|Uya{?M_N(xpsN}jEa`k->a_vVsH-J
z1bG3yp7!FprAS9G6xVYl8*t!(Jy$vN!%ts03@-a(;FhV@4{+b%vFOI=;o@Gd$#)thsNM@_o|K*Fo#pJv3~^!vlaJ>?in*yi?3X6@Us@Mx6DQLBSgThX~0P;=H0#W$;a+A8frk5ELD7s)b=IcW^9Wj4T%PCq}R(ZpL?8qN%O}h4SyV@C~6#77XR|#y6JT
z`*P)C$+t&1V=H^eAB7{1YY1SdPoSL!1dz*5c)57_&Z_FlJbQ#U#_1@qrr9qVzU6u~
z7KY{%bwDdLk{*?=4Khk6@Krrpwu`UYM}kGHV(c|ffkaS}LftkTKn~LZwu9C;fu`fh
zui+RXfK^7|#B0B^9{)j7jHUbTuGpz@o}*>N&;oo_;Od>|$?TZI2kuTKi3gjbP>Edx
zF-OlT)g3OC|H=tL%^~vlsKyaJ=;ui#I$Z#T`EZGoJ<$UIcCG*40=w*Kq`G5B*ANat
zDyRK7PRI^d)3oaH!=oB%_hLJTrwaPF`vh&gX<{zbRcl+iUTl&XWPN?ATV=o;5a^G<
zy@2R!sY$dw074}D&KCFD?{=TohBT6oyoPoqZ{Xbp>S0y@Xb#ZKc(nk-9Rm@y@}LJ}
z*Baf@HvDD1AHa1}3=KNvz_BG&M)+z5Uwuel%@>zc0qt6kIHn{JN~!R8R8U1)E}lro
z92fdGb0<}#nT97^KX5b}g24Rr4yPt0)M@ltaKeM%Xx>|&D13iivR;10Y-8dZGeG|c
z;JUo}7NhJfT9H^*okr)x6|uAm
zE~aq@70IJReEFxQ_MgL=O(gLM8m71o
z^_y5EijTwUdhFAo*{?T2OO`19wMJtJ}gvbj#?iguL`lAeuASk
zmaFjgF1hfN-T7t?Z>BBXq
z5bFW9ueW7`&}=1wf(scElZ&&%gA1qb9++~X9IhE#r(&{aLe#>AlhZN4O}g^nrs^;I
zN=9GW;vw`2>k>g%TN2FnNi^p?q1NAa@5nO-dng12%P+t|W9RBKR+#HU=N=r0S8N8B
zenY`yVnx2m?mtGv^=w1UA)PG)0-I?Lzj{htaNTT*`6QzZ^z~3d?@L>bQni0g&{dJs
z3F6iHS0|BdRKe|d#*3o@4!EfA#U_rYP|hn`=77WqGS3%SYJ$*igU-n>RQ;bcOzOVa
zV2wFQJ2anB
z&{B=AZ7~NO@+k@Q`erO!xbU-)_vFR*1n*x8aW29m<3O{GvcH-oz~J;^ZdWR>TpXr&RS)sUlVxX*Jlerc3DhLJzt7Tm8pbXffMJRgE6YRGV$mMjlnBi{^)GZ9xYtVzz-0I{~Jb9MH8^pLz+qM`_DZlXMUY+092@xaU
zw72LV>`GdO9NCPsHN-!
z=Y!?|y6QeC^6UjHAC9p+rT2(aNt=w!UrYBsu}v-2=UND%Zd)V_v$K=4ShU4ro2XK`
z#eQC~>6xW3bXgxwb1a~8QOVe39kL#Rf&T+QJ^Wc803xZm8or*$Wo8a)(nbN@vL4V*
zvhAQHD~^Z*Eh_*N+yiiY3q!;KV*Ay)Yb;v*0w(C3UZLNolT`25=}OA;IUvSVbUw$V
zr5MPb6@ICJ5E{pA>T|$f?FDHEi)4qI*YpY65)2AS<5J;Q0HCe_;B+t4D3A?7iL?i3
zmqLSx^O6*;vKA!c|ZKLD?Ez~^t22t7jsDs|c94Gnz5Psw~;9LSpngj0Od%!z=L`CNu
zB`P1@ax(90dBt?@4G_;KLusPPZueN0MC$
zZWZqH`(qeo;xGUz^VgR&AM4hGWw!z_L7w!7?wfRa4%P8w9^XtV0KA(Zf3p!*(x^CW
z6|U^d3V5p(okV)~806XOvqcTAOYaz-^PB&NIIIAikvRBJ32`WBJ$RdWs{7gWXUsCZe{oUv+mv<%!eKDoCPdE^XXQHW?;4yCctK8}8c
z!1AARXggF-`~X#w?-0e=baPIvm;H`NpsYIG*v%898w5-Vo)dQGCObYr(5JnzksktH
zs5ii5(If~hOy~$`vr1d98hCkm6F2UHlUvKh6N#3Le~t>!qP}mzBGbchU(DoqsLS
z``p#I?TnDJ8sh7rrV%a%sC$p40Nu=y+jg93EYw!w5X?pbNQ=lkyFi>ZnLj;OTsuE)
zKNjNsk<_v7N7B5l&~fNk`a+kzN2_Bo^Moczo?Ft}bDJmrQWjuPbl^1{l^E
zxCtHv_cpk?iDtB?P^0P)=SK3Ret)N?$Q3(flovRs&-pMPRf&T5cF;fP#ii6KJeFxy+JuQTn#
z1*6F(g^j8`rVcd2CFmqs^RW9-5s8=qhjT;;;uejvH+k(U7x6gzR(t-2j#Vms-BIl8
zm0qFT#GRiY>yqqpGHqAt=FH~{u^J>(BR=-3cGaJ8QM}h=YuRW^=pQ)Tnqu!gsFSD8
z@_fxs3Msgd?TUzZS0i~c9Hr1Ewk^eU~1z4q>3VtS7
z0Zk%D<7zG-+4B|bc0)%4K5AhAK7kT^`IOLg08+66re!^lZ9T2Vyf$@Yv+`J0D*qYa
zuN$v=PvaW+&bLg%mb+r!g37u?z0-RtUBNGr$N)|6!-17UK#bN!hY4Wl@{e&0ht;HH
z;Y^g7E(@nGEaEZh1)T1{VtDq|1~90eRd+5tUriORSQXJWQA2^UyJXbC{c|A#7FsYK
z&G6Oj_tiTx4Pu1UKA_OPcj5ZVa|)CJ57?f$y(qvKK~(&@fRgD%p|{%WYTIqSzFRy#
zKpFP|+@H02P^;MBxQQ@R^U3tV@xk%Wth
zq!Gp8RKhH^#O-WrfTgQ)7qGQy)wu#IT-OFy%hM6(EKZeOAr5E$@;p??tA7n(WjCTS
z5VgWdYkl_Go7r*0Pc7cto~3&&VbDG{^7?+G5;b_>#msj^no)a7a(+m05!66|Qv_6I@*-}k_Ar`B
zWT>!C=IuE2&RID!?Qbvg*e8UIt=p0&V47)|fz-b%`hCUng-hdWv4vIH(*NcQc
z)eJWHT7aE;|3B>1%2f%1cAVNbh2-CE;Y$vFdqu9tXVR+7s@m=$1&+tA{2JyESEit{
z60Gv5U$m2nifGSx$sHKhnos+#dZCsU0rp{W4uxfW_~)r&W!3nri>7I;cekjN!!M=o
zH;r0OdJnbbbj)Q<{(_P^GLb8W(^18-)XahTm|97~97&kgafoHwH(9>$ocHc#m1sB3
z?nNbSMjRVeG4BKWP@J}Pq`OvmWZA5F`)e<6adQAL$H`b%FYnwpluePMe2v>&50lg@rR7Io%6B8RvtdR6G&
z;?jBFNtcC}B`UukQ7h0R%a}?x*WivHu4=!OF1B^7anGQOhO5!aMp$94+3J5K;*t<1
zB3hF)CZZpU>+{WxMb(qK`yio|aPqZ-mYceNRHpbK2Ug-|#7sBiLrwz+M{#o9QJy5R
zE20KxFz|Pp9^SitW^8r=*4so=>BaRupxk=?7lRZt6{BOD>k6mRTwW$}
zU&-AeIqStL^m<#1BfXc%C=9^ngCg(7oEOD4;LKxgw{_)%JHEapJHHg@e`+IIF}&dz
zH7kY3YLJ(-;be27&l~?lcg=NMiDH9OSQt2DmExF~)d{+`%m=e)BE7K%cW!d{yK+9;
zm}x7&@yln)B1B~be`MljiqRhMS*!$Ln&Cdj@24WggFeeIL<0Di|C#+Ggx9fU-P!ha
zeJB`tP0J6lY!q&*C_U@XeFE;o4N&F#4~zS)#5g`#B{QD!Pt}lg^@0B&vuvCrv~K%I
zw0lhi-x)P{{zEsJ5fE)M4f0J6=~LN>Ki&NA%v
z{~n9}F_wRf@Y45>kRRB7%~RN{I>#-3SOOT{0qwNHb!9gwidI
zgeWjdi9-m8geXYIknjI^UDvwqFYmqHPw#rx<6^m7xaQ0`d+)RNKYsDUDP8JM4SMYh
zU#;qvms~RCCoRbR>j3gWvH?o$odA#Jy_~J*__!2Mt_XC9T?!LEt`f@uS9wkU!|t`!
zxYHqnYspAEW$JW;*y_ybx$*8OfM>keHM=09S(f|qW6V)`1Gl;*t=aAuVF-i>Fq|r>
zYC#Rk>jZ00sQ%#+BDs80=wH5a@jv<)D&*&D+-zk$s&7W|8X-v+=Ue%g{p4F-oIV~7
z=OF9q-pfD6lwo$|u@~qrq|Sl9-ZJpwI{^nO4z$|Knf*|KD2V1!yMg#=RYL(3O4cln
z-swDKaL?4_mCS9@9u;IsZoNn$z-*(_$~i~PoS~-?dGJ*cO&qB&=mT^BLdv#!Dk&a#
zxgWY{^@X3wyFZ-+xrAkaSH1^JqZ9BSj$5TG+tpq(9bKt1wt&ZdU)QDv`Q}@u5Zfd(
zts3vyUYBYSXOOnbegYV#_lO>W%T`U@`|&Jyx&Klw7K(6?8Qss-
zed_W3<>bcq{jVnZ!KHtbK(
zcK`
z#XxIHj^;@rhz`sSRpjM^mfP}FvPB1!rd%H*qLZQMZh)Q}A~J?%01uC0i?D19i8G0A
z8u|{zV|fi?Bu^kJI<&Cn=j-0?ZeGMvh`#>3Z|?#j5+scj|w5eb!L3v^sS+j98H(
z@o1*x$1U?|GtSOs-bH)^o#K?@c2|6QuN3+;S!QhPmqV*l9zO2+A691ux_k9;RchZ2
z^4AO1m@@GGIh6p)g+|ZAC$|R7NlKcj6m|6ucN(I5kH`KEn@vH+A)E1
zMIG^e^TKgIc&YV}b8u484Zjc2UQf^mrE#nMP5|n97v)corF5Lm&z5-
zT>Y>*D^ojG&dU&OjKCP74x9w*{Bqz5ZtOjxX4$a&tnk4C;Q9d9hWx0N}nb{c<*jI?
zpVRDnb1cSo2i^;3;APaxOKFWSx|e4<>J;8~{O
z<7W<6dQXaLqIrfkVGpLN#5FTMSM>dT&FxV5Pmsbnfl!Y)12?~g-YNRe0X+l*DsK91
z(Eiz}*pb%JbW|E>Lp;3mdmD5noIE8!GsKQ@3*>q#FZS+VKf-}^AntC;^R_;Ox`yTB5c&(kUwZ6&V#9=Jy)EV~AM}x^R0_uDmxN`*Vf5+89
z7;bC${)<8Ve}9LKf$wl(vGV(Oy**Dy=2ZBeo&3LxnpX~nti&vQp6}m>^w9{`C{Jfg
z`x+fa!Yvsb$>;sE{{kWrYzEr8-yPV@&yXGKb|Sl7w+!;D?(44ajtJ6-mtV~5v^>P%
zuz=jkwtVm|oq;8Qd_Cb@>3~;J0yb*5D?F714&e6B!G5D3O7I;E5QZxRWv+?`oQ89I
z3aCI#ldkii$Ef`t;Pt~pE_QUoh_Z-sg)>N6y347NZGc29CUgT_AYYmk-3X05V_7sj
zUCF+J-+)&(B~lTIP_%ZwOV$6d2Jmv4YmR$^9nDmm1`1JPnFQ+5WBJkBEy_KGFJ8PD
zIjMZw2F&RmA*UCMsb$FWo$YDZ{Ul>CmCwxYwrwyOuC|PYm<9}eG5INIp({7BR>=q>
zsB|_-oy>@;EA5mnVAZX-86RjO`<_@?m$XnWFxmF$=ky;OpgZ>ly53pPhn|+%!zuX|
zQaMa99&v|bO6r4+NByVD)jieIs{ia>oiNet>4w`|
zI`xyzA0_INPLfjh_}?j&We{Q9gd-Dw{vELC?6vlI%TcCtA