From 530f347b7b05a278fced6ca4f38cb9c5edb92c7a Mon Sep 17 00:00:00 2001 From: VisualGMQ <2142587070@qq.com> Date: Sat, 6 Aug 2022 02:31:13 +0800 Subject: [PATCH] add slow trap --- ReadMe.md | 6 ++++- game/HowToPlay.txt | 25 ++++++++++++++++++ game/constants.lua | 16 ++++++------ game/ecs.lua | 42 +++++++++++++++++++++++++++--- game/main.lua | 49 ++++++++++++++++++++++++++++++----- game/resources/tilesheet.png | Bin 8112 -> 8484 bytes snapshot/snapshot.png | Bin 0 -> 28262 bytes 7 files changed, 119 insertions(+), 19 deletions(-) create mode 100644 game/HowToPlay.txt create mode 100644 snapshot/snapshot.png diff --git a/ReadMe.md b/ReadMe.md index b3b286e..a1a3f0f 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -35,4 +35,8 @@ cmake --build build --target install # 体积过大 -游戏最后的可执行文件和库是经过压缩的(先`strip`再`upx`),最后结果超出1M很正常。 \ No newline at end of file +游戏最后的可执行文件和库是经过压缩的(先`strip`再`upx`),最后结果超出1M很正常。 + +# 游戏截图 + +![snapshot](./snapshot/snapshot.png) \ No newline at end of file diff --git a/game/HowToPlay.txt b/game/HowToPlay.txt new file mode 100644 index 0000000..f6cad75 --- /dev/null +++ b/game/HowToPlay.txt @@ -0,0 +1,25 @@ +# InfinitShoot + +## 游戏介绍 + +玩家扮演一个枪手,要尽可能地在怪物的围攻中活下来 + +## 游戏玩法 + +左键射击,wasd移动 + +## 游戏内容 + +游戏中的敌人会向你移动,想办法击杀或者躲开它们。 + +游戏中存在三种类型的子弹: + +* 普通子弹:玩家初始的子弹,射速最快,伤害中等,但是没有特殊效果 +* 火焰子弹:射速最慢,但是伤害最高,附加怪物火焰效果 +* 冰冻子弹:射速中等,伤害中等,可以冻住怪物,冰冻期间触碰怪物不会受到伤害 + +特殊效果子弹通过击杀20个敌人后从空投中获得。 + +空投中除了子弹,还有回血的道具,吃完后立刻回血。 + +游戏中的敌人尸体在一定时间后会腐烂,踩在腐烂的尸体上将会极大地减少玩家的速度 \ No newline at end of file diff --git a/game/constants.lua b/game/constants.lua index e26dc39..569033d 100644 --- a/game/constants.lua +++ b/game/constants.lua @@ -13,14 +13,17 @@ _M.SoundName = { _M.TileSize = 32 _M.PlayerInfo = { - velocity = 250, - hp = 100, + velocity = 200, + hp = 50, } +_M.PlayerSlowSpeed = 50 + _M.MonsterInfo = { velocity = 100, hp = 50, damage = 10, } +_M.MonsterDissolveTime = 5 _M.RoleColliBox = { w = 14, h = 32, @@ -51,9 +54,6 @@ _M.MonsetHpBarInfo= { width = _M.TileSize, height = 5, } -_M.GunInfo = { - cooldown = 0.1 -} _M.BulletType = { Normal = 1, @@ -71,20 +71,20 @@ _M.BulletInfo = { [_M.BulletType.Ice] = { damage = 5, velocity = 400, - cooldown = 0.1, + cooldown = 0.2, initNum = 100, }, [_M.BulletType.Fire] = { damage = 7, velocity = 600, - cooldown = 0.1, + cooldown = 0.4, fireDamage = 1, initNum = 100, }, } _M.BulletEffectTime = { - IceTime = 2, + IceTime = 5, FireTime = 2, } _M.RoleState = { diff --git a/game/ecs.lua b/game/ecs.lua index b9cf67c..79d30dc 100644 --- a/game/ecs.lua +++ b/game/ecs.lua @@ -117,7 +117,8 @@ local ComponentType = { Animator = 11, State = 12, Supply = 13, - Image = 14, + SlowTrap = 14, + Image = 15, } _M.ComponentType = ComponentType @@ -430,6 +431,9 @@ function _M.CreateGunComponent(type, bulletNum) o.SetType = function(self, type) self.type = type or constants.BulletType.Normal self.bulletNum = constants.BulletInfo[self.type].initNum + o.cdTimer = timer.CreateTimer(constants.BulletInfo[type].cooldown, -1, function() + o.canShoot = true + end) end o.GetBulletNum = function(self) @@ -521,6 +525,36 @@ function _M.CreateSupplyComponent(type) end +---@class SlowTrapComponent:Component +---@field IsEnable function +---@field StartDissolve function + +---@return SupplyComponent +function _M.CreateSlowTrapComponent() + local o = { isActive = true, name = ComponentType.SlowTrap, isEnable = false, parent = nil } + ---@type Timer + o.timer = nil + o.StartDissolve = function(self) + self.timer = timer.CreateTimer(constants.MonsterDissolveTime, 1, function() + self.isEnable = true + ---@type ImageComponent + local image = self:GetParent():GetComponent(ComponentType.Image) + if image then + image.row = 12 + image.col = 0 + end + end) + end + o.IsEnable = function(self) return self.isEnable end + o.Update = function(self) + if self.timer then + self.timer:Update() + end + end + return _M.CreateComponent(o) +end + + ---@class StateComponent:Component ---@field rect Rect @@ -575,6 +609,9 @@ function _M.CreateStateComponent(state) local oldHp = roleProp.hp roleProp.hp = roleProp.hp - constants.BulletInfo[constants.BulletType.Fire].fireDamage if oldHp > 0 and roleProp.hp <= 0 then + local slowTrap = _M.CreateSlowTrapComponent() + self:GetParent():SetComponent(slowTrap) + slowTrap:StartDissolve() content.Score = content.Score + 1 helpfuncs.IncKillNum() end @@ -634,7 +671,6 @@ function _M.CreateAnimatorComponent(ani) return _M.CreateComponent(o) end - ---@return Entity ---@param pos Point ---@param damage number @@ -665,7 +701,7 @@ function _M.CreatePlayer(pos) entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 0, 0)) entity:SetComponent(_M.CreateRolePropComponent(constants.PlayerInfo.hp, constants.PlayerInfo.velocity)) entity:SetComponent(_M.CreateDirectionComponent(0)) - entity:SetComponent(_M.CreateGunComponent(constants.BulletType.Fire)) + entity:SetComponent(_M.CreateGunComponent(constants.BulletType.Normal)) entity:SetComponent(_M.CreateColliBoxComponent(constants.RoleColliBox)) entity:SetComponent(_M.CreateInvincibleComponent(constants.Invincible)) entity:SetComponent(_M.CreateStateComponent()) diff --git a/game/main.lua b/game/main.lua index 5497471..c7fff1c 100644 --- a/game/main.lua +++ b/game/main.lua @@ -66,8 +66,13 @@ end local function updateMonster() ---@param v Entity - for _, v in pairs(content.MonsterList) do - v:Update() + for i, v in pairs(content.MonsterList) do + if v:GetComponent(ECS.ComponentType.RoleProp):IsDie() then + table.insert(content.MonsterCorpseList, v) + content.MonsterList[i] = nil + else + v:Update() + end end end @@ -92,7 +97,7 @@ local function collisionDeal() local playerPos = content.PlayerEntity:GetComponent(ECS.ComponentType.Transform).position ---@type Rect local playerColliBox = hazel.CreateRect(playerPos.x + playerBox.x, playerPos.y + playerBox.y, playerBox.w, playerBox.h) - ---@type m Entity + ---@type Entity for km, _ in pairs(content.MonsterList) do ---@type Entity local monster = content.MonsterList[km] @@ -162,11 +167,13 @@ local function collisionDeal() hazel.Sound.Play(constants.SoundName.MonsterHurt) if monsterRoleProp:IsDie() then if oldHp > 0 then + ---@type SlowTrapComponent + local slowTrap = ECS.CreateSlowTrapComponent() + monster:SetComponent(slowTrap) + slowTrap:StartDissolve() content.Score = content.Score + 1 helpfunc.IncKillNum() end - table.insert(content.MonsterCorpseList, monster) - content.MonsterList[km] = nil end end end @@ -188,7 +195,7 @@ local function collisionDeal() if type == constants.SupplyType.HpRecover then local index = #content.HpRecoverListAnim + 1 local hpRecoverAnim = animation.CreateAnimation(content.Tilesheet, { - {row = 12, col = 0, time = 0.5}, + {row = 12, col = 1, time = 0.5}, }, function() content.HpRecoverListAnim[index] = nil end) @@ -213,6 +220,33 @@ local function collisionDeal() end end end + + ---@type boolean + local isSlowed = False + ---@type RolePropComponent + local playerProp = content.PlayerEntity:GetComponent(ECS.ComponentType.RoleProp) + playerProp.speed = constants.PlayerSlowSpeed + ---@param mk number + ---@param corpse Entity + for mk, corpse in pairs(content.MonsterCorpseList) do + ---@type Point + local corpsePos = corpse:GetComponent(ECS.ComponentType.Transform).position + ---@type Rect + local corpseBox = corpse:GetComponent(ECS.ComponentType.ColliBox).rect + ---@type Rect + local corpseColliBox = hazel.CreateRect(corpsePos.x + corpseBox.x, corpsePos.y + corpseBox.y, + corpseBox.w, corpseBox.h) + ---@type SlowTrapComponent + local slowTrap = corpse:GetComponent(ECS.ComponentType.SlowTrap) + if slowTrap:IsEnable() and vmath.IsRectIntersect(corpseColliBox, playerColliBox) then + isSlowed = true + playerProp.speed = constants.PlayerSlowSpeed + end + end + + if not isSlowed then + playerProp.speed = constants.PlayerInfo.velocity + end end local function showRestartHint() @@ -243,6 +277,7 @@ local function initGame() content.HpRecoverListAnim = {} content.BulletList = {} content.MonsterList = {} + content.MonsterCorpseList = {} content.SupplyList = {} content.PlayerEntity = ECS.CreatePlayer(hazel.CreatePos(constants.TileSize * 16, constants.TileSize * 13)) content.MonsterBirthNum = constants.MonsterBirthInitNum @@ -346,7 +381,7 @@ local function updateRoles() monster:RemoveComponent(ECS.ComponentType.Direction) monster:RemoveComponent(ECS.ComponentType.AI) monster:RemoveComponent(ECS.ComponentType.HpShow) - monster:RemoveComponent(ECS.ComponentType.ColliBox) + -- monster:RemoveComponent(ECS.ComponentType.ColliBox) monster:RemoveComponent(ECS.ComponentType.State) ---@type ImageComponent local image = monster:GetComponent(ECS.ComponentType.Image) diff --git a/game/resources/tilesheet.png b/game/resources/tilesheet.png index b18a221007932ec0a57a9c05ed4e1da09f3711dd..0a7a8eea26f276cb80efffd77a3b5f640ea95fa8 100644 GIT binary patch literal 8484 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 OfS#6-X1Ru4*#7`|xNpD! literal 8112 zcmZX3byQSe)b^c%p`;lkWay9@X+;>iB&0!L5EMy4X(Wa)kdzh_Mro0f5Q$+>x&;J8 zU`A=AyM%Xs@B7cU*7w&rci*$_+V`Ai@BKXc#F`lC&{1kj79vuMygo9I% zXBL!BisS+0YpSCTR19*h0057xo~D|4ki)vY$MXFN3*yD=X4|*QNNqQRkqnB$Z4Gqo z*LL?g1SAsISvwlrZptj8Ld^zKolnh(N~X6kaTP}m_qQur7Ct>vGb@)lawRZwU_|wp zy+pmns?AVBukCD3bN$c%eyri~Sg$$!vb5GDMZ4R2_@-uJwv`yN9yYGBL|9hM=@z8y zWDmb|mhsmtJyb%PbJt_S7OBwssOLOl>#EKZ$KRi$;}8Rjlhx-6N0*B4tG8Z1=5Uk; z#3`qBzz{qBt}cu8okGH7n{SnKMzYziN4k^{V3*Xlexxf+@6f#w;+|H?N1&;{D#U`s zX&*a*OD+&@PA*_~@;W3c?o~aHhe}4sNd=}k)QwUh2Vu-pl%bF-z1QS_u%>X7D+jj{ zQ;o%DHS+Nm!b|k0YPjnD*QxT;Yw5RdB^+6)2t{1_Ke(-tmwQ)oGRtDwE0W8@G zL4p{*eXmC;yI#=HN>mj(;z&?l?qv8IwUvf$M(o%_HRT4^X&GXsBQ2?_e1t(oDF<0y0G4xp08$_3e=r!o2>Uk;See|n`5w^Wn>3#! z0gRvWG&@oOTi*ENMTcK`VFy3Y10RAb*zd~mAhvUlW8Qw$TBP{3e||GXwH}KwzJqgu zw!3tWfnBFKc-saW4)wyXf#jtuB# zxW~RsRocftsgMslGdn4SBeK~E5&$ek4_8JXm%<|eglrmUFqXtKOaC1g1)U;^H<&Yw z+9g{zDBp55pI{=G4V1#BfA&n`yAhSJ+qI#%QC}ej>_AYafP0FReg4k|ikV1Ha96>4 z*Z9GQbSYSgE#TB2*cF%1N(}}h^}7&rybbC%Iv~0?tZzY__z|u+KU($MtE1|Znx||x z)c`_;GuDsR{oYeVzXrBSCO_8ukN?@HWSU7OkeQw1$K8tS7n9s&);SzTA2N9$WtA`M zYd%yQs9L|5Y})1%d>3+j8!Tel`wvuIFDO9k-T(JM_@g?$Hue1gV*rXWaPZ#jWq#g> zgq;p3t=K5nuT+ZY=UxV{?QfUw{D8jDAB{{t12u6#(q{tBudumX#dxeIAkZ;vl z48}d32b@pLUcHK?KBgP0w`kT>|LV|v2>Pzd*2#B3f~C{^Nq4(s@Pe^QVaFa#J5E~n zq~3re>n~fkx9>bwq!;^}23<=JH6l3bglm~9W@03~2S z;2IC4Z(&VeAjRD!PuEUlv+<7eilZw1%lj(t=3XM#JhYo=QLjb$o7swTmok5ogiXqqfy>J!bK(oql;%oNtbMRH~p=&I<+ekOQO05$G5nMj!ju+3iih z*Mv>$U5nmKCWepZl4oEZ1C?1)poM#-O*k7E;8mlTA9d8@d0)6n-q*{a=8*4!NcfeD z)-M<5r<4yDe?RA`pY8}X?gx*HW9%*~0Hsd~*WnH8JJE;y0?3WOS5xSr@f2K7Tvtg6 z+R%q5e_(^)HRde_X+F=q`8(i^hPlKmF~WJF*G|T4i7s@FC=CsQN}o5B-8rBXNWf|n z9?CJ;EeuLvPyf0y?5(ltCV)=GRYmFOV84|{hO_4lgwz7~o-IUFG)C|&d#cO3@mZFg z34oz8Rw2~AS+y)`ROHl}4fK$F$8KFy`as9zkwSzgyRtlLOBt1;9)>3)KeQtF?C-IZ zYhH?~Drn`PORm*P1$vIj>%`GtmznI6KjuZ(6wK>qCraH;x?}V7EX}Bs;3M&}ukMn;JoVVOk+-s4uHL?)yJC*?YIivhYy@2ej9%;*`V z!8BC3p#=6fnzJ$lA}@N7(=F@wkA#u&If9G)1A7r-1z)octs!GLk#Vy6$ikM;X;vDR9Jq3q&D~N5OCNfz4)Y_+^2blmQKerp z24y)WXY0u2<`SFv5S76x7V{EhoIKhpOSBMqJzj#IF8vFiQ_E7~zl z!SaOc2E?sn!aDHT9+tQC;i=P&W_=QR04_Hc+A~Rco&7_+fvM%vpwQAZ?AQhEw z$2$66lSL7hLK@{e-CRGwaI6h*pZjVC)L*k!a4-O*vQ^6Yz5>1k%AC9xm&$3VVZeya z3u;1cl}{9u3iZD*a{`Lqp}^9ouYZ7p7@pZwC9tx(s4;rc)zVly%3enhQC?0|0c8k<2$a9A}#QXe@3cj?DX=e7-w7CGIIU9CG%1g_Y#OF z;n5J=q%M7HbOM=hbhEfL4X14%%yutyoK&-sX>Dz(`b1UjKla=l+XVyADhOU4IP6TO ztcKzINS7zS<~mqR46z?u!@Qo?{RvuD__SCub8rP)c_R{B^e3UZWlK}edI zI^b}k!C~&?rX0nX7}>PU#}05_HFC{PBxyG%)h$;C;-xFy>xGwsNP{{3bsSxERWx_1C9^?_Zqjp)n*%V zmS^-ljQkFv=^^6=RNfAkCF`PPOIMhU>pu{c?%NmN*-e_xL_mJKkuKjKxYMF->iVo; zckz(}hukx)dChvxSSk2~h$?%G+m$5TKiZXmffT+cN70tDYQt^FYlnP>Cxr3?Y8A-RTq;P85DVar7W$4=Y!c_Q+tN3+@9R@(ouB z(ziSWX#Yey1tldKg8?c7^O#qj<>2=DIJk+%A|5H!CoD7}(aUoD<=zuklc`eozq?O+ zEj-W26u*2ZlgY&W>6eaB3Noz7k>%k|NB0`B;%u;C94X|@B_3;`CJ!~Mnb z$M2E-HB8yI&#wGk;1gMlvSV(`UWkj5{v5+H(B&ZjJqnmKxjNrwG1XPrb4YPFbKLNI zsNt1CVQ*e_fg8Ro>6gQpq$iH@)fAUVJzl(puh_s64qsH+8p;dkn z=tXwNxO;`4wp$#V)}qJg%HX<_JUBOEah&C@`YA(bmkd6;$_nT?hpr`Q;#qL@s@Rg} z_b{5jc!pcJ>3vdNoscXnGkFX(fY&O5+6`snfDlMZZIeNWVx~%+_P5o2%KnqT)yno$ z;qlL%l9H0BHWCr3WX)ww89+y!I*1K2rA= zUkV}%WyGlQ|7M)ZL4@KM5<{kGz$HbUDp^on_mDmy+qt9VcIr;!!${VQrdSF#(kT85 zP@+dxl8Y}vs6)sY>EorO55rX5O=>EApa1=Gw`s2kLN;RD6*e4hZLNQQ6)0>jiqQhbn@FdSDwE#*b1b-bYJ&2I0NJ=f{Hik< z?Q$~9V-khsAp28Nt%6y-@VO!o77=9*vVe|R=T-8O^??OcfXB- zp@zb7X%7sv6K#?g|A9;qRUXG4ypCuUto$y;E2kX`sH^*)j5~?%fMS>_$Q)>g5DNh< zLiUJXd7kCO$^)dDgc%KX7#4e~W-uXW@zb3K$DJ|OV=Qpj)U5#uh=TBk%!GYjE~l_8 zO{}rv*`U0LYdPJc*P6hA_j@L^OmuiVOVXc|bl_e6klS85~D*DS+<@nRrITyabj#e)0G;P-1;E zKdGu4VsG88*Sz1Ya^m=AXYW9+8^KH%1sbJ*i=z2?A#zggf%+Jb1k!|XY~+w3fvrrH z5#;k3(gs`w1mC5>j^Ng1p>m*iNM%a0*&EtD(%9y_AC~$5!K0(9qmRC$mQkeQFsedizUQEz}jQ%`gqiJ8O|+M_bY%H z0pGi6ZxSE8!Y1%Z^;Q9B8GLAg7lU`1vML(6lmA+GDm}M`tOt_C>)Ed^I{<#%FDGJj ztLK+2{)0nU3w(wdh#1WdGi1X#I#;RXvmJ|pgMzQmpKYnb&Ir#EVuG=0(Rf8_Nwkee zW+fjs^8o~25?lKap9UKfiC_Y${77Ks*R#lds~|S=K@I;B5cK&^>BnV?H+EX`Vn%!L znm5cjE=5Z%MEOXR2pwB6ndnlrQf^B&NGI3-Z@o?jO`t!jQIF6<3NMYN*!(LRwk|sp9`Nt1KQR z#Y}@XK!Y9RI_)0DA7h+pfk9Q2!Wi6#0Xs$Sh|z~76CgPk6hFft&4 zhjQ-%_-m)TG^9JNNz_USSY70zS{8)^aACSc43;VRmj?J5XQQXZvDN_Wg4((ND%Ahd zDzkk^$flcfuF~CpV$CfoDK9o;Enw9f%VB6{0_<(4{_3YZpE-;{855oR5s=5~0d@-1nRIesE~p6;!|>tTYm3{5-mTm2 z@<@`@<`jkV#JBr7Fz7S{dbbLI7i~p`p3}{T_HU}~YTSyJ95ah{zNNp5L^X&l~-LK%z%yj(Z!LnML+ZL2>$D8m@@+5$i3`! zFW~H1UqbMFZaGaygA<0@US6UVvz1jb9}xGoc~^mSZIvztQ%G|b*` zx#BnW*S`qY{^LAZ3OgG5+NDqmg~evL9=qH zOC9QS`9B%ua?4dv*yyrvV@|<$=jA~p#a1xXZg;vTI$DbfD@j4+a~#4h5~#7))Mw!a zC&iqtU3L!7{CH>0$bK7OAwo__HSey``w#A6n^LeFK4xdVHL}qquqxEa@ zhi`%=Mxf^bn{zaLzzls9cdwr!x&j+Nk7aG6w7Yz6SQ$6~L3^}T-pRnm!@cGHFv+%1 z8E?{{oA5a@6%9MS5zW$I2KHfd43>@p`j~;L;E|>};V`gme_U13E(1V(lewHdK-k8d z#G{BIKeKjK>(-%|ERFKwKK8grYSqnoMVZPs7cQH57WL0C)B)Do*w<@!Do~5>Zag<{ zvSXm{2X>5AANH4J)~|>iofPZIOjEOIV9m=6-aLl_L7S^^oLai2T6>20uo#KM&oJv> z19bxjXvT>P9LGiiPc1~5@RmIJU4~;<5K$TnlMtg3d-uCq-d^$r6P9#-lE=AAN_uFf zm;Li-gOL;l*!6bG35A5!UYRIO>@4XOuN3eUHPP}t%cJ7j zVv$Ee@WRLeJC@uhb|y7So&7pEy{{7=T)wL$D{tbqS7F<4Uq1(9aD}n}7Nht0(b1NX zzMLQ!`iJaK_%P0bG_8#WnaCN+gJoS=6+bhY0Op3N77SIv>!=$;N)2oCtDULSzguTK zr?gBh%LU)HMA(LVgVPp7ixdBw@^JN3oN{s&uQ{Q{m3o4kB|4nB6o zp1<|*bOH~rw-dS&7x+ME$_e$h%}CW>pom{yF)uh1ly<5;GpgWVhS0I|VZ8N+%SyU9 zXmjY+?(^&c}$yLQ?D>si^@P_>F}S4@=~C@u+ON#@LBe=R%dk%gi{7TAGQ%03!6`b$O9v5 zU0PA!VDC;x_JUcCF6QPtxmtR%45Zk7Cup8|w9q?_orptSYg?g5MqrYT6@$=*FbxPJ zTuplBB`?btdrvnFaW1D2_heJgsG6?7bIKWrHhHxk|6wCq6()MiMpn zitXO4*b----Wt%!`B}<2Te@{AdteuH_CrL!f_e6!g{MZc|$f*3> zcPnF^`9R2_)r>YkY+8pyZkn#A77vOVs>lVT^YsAB-w(Pj_S@o*M)3Ee@z!1i;pMxjV^Nq7x9 z@fOmz!?2zwVbq|J!F#+o1q(}_%@1+07BtXA9jc=(op7`38*RZn5z7ceNpP(}{af#( z#v>9{{rJLYCut_^L;*H-pYi2nwHVkFdQbwnnURFm4O89|)I@(&zQGpL29xLky9g4Z zI7^d=3g7~~bR5ju=cd1;dCl)PkbtH^i`;dp+1m&K?%Kc27F~b}&SZ<58}bKtZEds@ zP>SpqbrVt!%T{ZmY3*OA}-F11TzjK_RcmeX=4PWP3&@j_5w?Ffj zvDaJbb|!Y|%tJo507ZY~q72gaM^`?q_D)Jnn`>Aox~y)0d%dXno8O5X?kd->J)5x5 zXX)S7I6hQEz1V8AKe3c`WVJ#_dm5{AkS{Hr{E3SoQzlvH#}CpTwR1!1b2$wzSm~0N|M#I*R+hU-+-gu8 zaIut-;NBUBcfapiNnjBsC=|P9R0)V+NUZmmN?2 j6vw$R6vwY$fE*c}L<@Tp~CtXXGJ*+Zr528HaAh!~5JU<7 zrRbog053st@%7+^?y^wqZ9Tm2yV*d-E)I|HyL;GJ zaJG#=kRWtT(u(sv@f3Fmm(LhTbA2(pXUr58A|(Uln(~)AHi__s@S%%_)O}ke%Ycs-PC2nvXQ*BpjSL)=xMJ z7;P(vrvb0r&&WfB?3r1~FPO{PB@`lH)5FSDE_pZ};uid;>q^2fNDVZeP~2lxQB8<;!q0fx*ej@_mH+Lei#Uwp zuKrf?{o1tD;vvGlz6A`;|Fi(3gC38OTu?b$aybj$kLT0;Y2f8=wzq?pn9zrD5G0hp zX2kbwZcW$wOVWjrTrU;q=DUB6raTdVWG%Y8xomA!{UTHeFBprw(-L|7O)re-pc|7pFrzxi;nSn2SQSVdp4vM>3w z|Lej3B!Al7i*w639@4bZv8~n3*oHTGf73u9rx%rsl8pRBX@fkvU56m<=-lC^hKAIQ z+Zxm{LxZ158|xhdVwE99mkAwk@?lxpe>?F80xPULz4vfAs;Pc5JwXK{KTlqB_7Uav zs+}md|8$*>84RSgJh7eT#8D5EGRwCab74pSZ~h<4>z8^nsrIM`(>hsK4A|$H1dQBf zNC$t(&BiLJ%vL8`EblM|JK?Z9#ODeecGjCSO-Y11J@|i5IhXUJ@6zy^=dPbcndnLO z>`{|%!@e|>@pEfDY~(&8XM>$<4r*4nmqja+sh@Kz4m$r7FLNXWTmuK8i|@+?jPA6L z8OWWGRrxKU{3i5VlX#80Y`U6{a!Ey!-fD{|SKt@p!9Gis zKujjel5BwJM;7fay8WDIkAD(YH&)1$yz*PyP(J?P;06US(^#4upMI%{EH=i~-70+; zT}y%bznAIS2ZZr$Y0B+7MxCs(laPKO*~xU+vb8(Hei{jGYu2f_=Hhj#CJ5W#FyI*c zJ=bd{fjY)vrPXi(HD;|S22S~FXRuN_q$0JEo+$k@O?lSEYoY*~HgdP!1s7fw+x0{^ zO@|b4XZkrf_1A0FYW)*s(1&fjnSh;97!f=-H1&OYa0oh9=2b*U$TXkt@+Bw(LkBh_3v`gOoI0i%*7D%Sc5b(`OIc^BCxo6Y$-{u{;frl+bMDjg4C?&zjR-IfG5;fmOSpl{n^2a z^HGDnZJLfcd>g|l&)8Afl+U-)OFg)K^#>4iO>bLxISZlZEd`rhgCRqmZ zoo+|6VlKKRxiYYgDoqRq7B8_s#WX9Tz+*cOm z-6^)HuHO{xHhu^e0ndHr#~YW76<+*&oVIN*2)YcFu>5zwa@gRt#z` z{u_9XRtFm2B~M)Q|H9VOzqY)d+U~V^>D#jI#noZ$rR`9q+KD6gCbwI20pW;ry-LbR zMAz6kyFrS;`+`a4e#Q^}qLa!bQMI+^`&(hDPNo#k1dp0biWDFW8GLkMj5SpaFbP2Q z7N^VUpvk9GAFWo*mtf(5zApro_Cgl~lzHTZy5G``$tA@I5ZHG6P9E9Q|K(X9f;&Kt zk~l9ck7`^!w0(u#55qg$wPM%dn{)())Z>Vyulp5BFY+*ywBV3^?4%#$S&miJ%~ZT$A`@iEKXw`&3W8!G85 zjZq7p?TsNchJjQ#sK2kVdfzY@6KWxd9B=%2W) z#Czv(`zFW$+RE7k^E9ooeH?L11JN~q_hsA}s347I{K50J3nr;w=7;nSyh716f0q-7 zK5gu`n88jX>#<#6AsssWz%MP1sU>W|Agka1oS$?C7Li9~UVSBd&wu93+APZ8trsyc z4|Tn)tbkZGdkXasLK^mtUGPW21}3)Rv4=WnF!b4CPhuc`dO^@bL8V9LU`TQS`2YS= zV&KHV@n4MT#p=_lw0pi@YB7x7hrSSQ?LCJ%v5ngrs~#>ZuMj-*e1$?7^DeSUBBrcM*)=< z&bTh73s)*$fw+}Twyck4$#e zydU_LvTYZyxS=>GH|0JmL#fU@WB2fHJVF&8{*^gkYQ){l;vG3d({Gp(NFwn#uT&I} zreK(6-H!$r+m?|+Zaa||R`|$g&~7l%A*Vo?{}Ypj-!Ut4T8??Pnn-#=A&v#p!N!gc z)u(*li7g8U8P{iKQolBo^g}7WwSjQY8`~%66rA`Z8Ucq`6_a?yc&2!wi0y$JAG&rf z+(kj}BlemuQ*?Sf@FtY_d$uu2GpVue&9r3iFmPj^$mT|HPx{RvdLm(>rx zS#QHClPxa!C_h%C^W7PebV8h^M)KYn{p_?79fb15v4OPo#^pmc4T=u->KeFevgY(5 z0oUAhdERB`tIJOD1`UL~SWju?tSf**u@R1g)OqL>k?w~qrqxZgnohMaen7+&n@~i* zA_|8Z8aJe6g2vAxsljOrLc}K>hhrLPI0c-?*qSFuOIBiNAdOElK^=Q)9(Ggj#?qAg z(h&!d*hxIx%C8YYO@|b=C%p^MzxtsJ&qX^@R+J8wLqUz1Yblqy=CrTZR<0ngkLx0)1TZ&Vey34La2s1#CI*6BoiMf@R z^1ff4TL*S$^Li(65d{f)lGpIGE?RAQte8%Z9^5{~a0L#{)CpQa$d*Zktpgg$p;pq> z*AIQ+kRXQ!2|~a5fqi%jOpDCPx^QBb(nU}$f}2~s&i}FliA?=r6v-!2LP+zc-4 zK$QaBD6@&G-T7IkOGyb034=1uT3c)<+^o@clGs5AC&C0dqQHzM5lO_Z%XYDVn%KRYd^_s+^*$12%tXKmYKmQq@n!aF6z7CXQcla1M*X z7PfU7OnX!%9h$8rAr$1>fyGX}ly|hkgACy*q`Dp8IWyp1S?0J97E%fJ5! zw*-@H8JTC$Di5QgWH=nVNNp^tmr@RA{w z{x#1J3e0g^yIo=iG&_MHIV(-des|o=cAx2Uss9se4EYkJXGGu^Dky)Q_k7H)GIPH% zt2NX1gAc6<=Ntlpa%ER$c61cQ*#BVv#_$*M`#s5Oxr z{(SWs{j-S4Ll7WZH$GBoPbGlN3pX71@@2=9Sk@62^BZp#8va&p31~O|nQjR1fnlmZ z6}^&s=1;3e=uTtUj_jFwI<}Pnw9fb;&7^zwrU(OsmT;85a~i5^NDP)yOhx^X1;NGk zq5vcg2TP)k`#-@YbhQ1t63DA^0(h+cg7t8M4oO>cHNnSj`OXU^NuOOvHb`u~V!)_2 zEG6(MS5-V%KoOc0%ny9O?mc~4DZ|giU*S3MsPxvNTTl}nq;%(h!w*>GhODdPC?}Qj zolt%gsh^J>NCY9JC4_oeTY!lvb(WMH4;fxpK2&h*E;e4D;w%dT3lFY?R&S)=I0K_F zboJ`yfAqZ%hfF>UiAP-apn#Cq3@O-)RQWjrXdy!(>Bv1xRbRGvxD+T#bb_fLrFSG# zxzpT-TCKfl`&&s*zVXzG;%U&Y1c9A2dde!L-7Qy$1`+UsI$do0#T^|eSD zcI3+!gdfv+D_n*=H#x0yj&THL5c(fx6I3ya6B=yTV@dq+Ya4nBa8y`QZSCoxVYHJ!35&5QoPH<1%5oiKhVuID6_gBdfM z5`ikReAdt0^q2Ae-&`5V3!XlGww$Vz`}$H#!tVU`;gy#iUW5c~$dJPyk@+)^v&6RP z8~Q$0G!++K*4Z_+ zK}PHaYPiQj{;a$QDo-UtDlP_`5?uwi(Y35Jh+B+;JwAW)|ELt1ik=`H`2J0eNR++Q zyHySOS6y*p)xxkFO}oO}&!r(DrY6WF64+DCAOILLGgTDV@!V%)}UPGvqedG#S4QJy?lbZHxnDFj$UGA}3 zflhH7rrTT7f7Ty%Ra%mqPAr>}bfRGEmKh*qm&Y|MpB1u=9@&IpkQ=T8Jm2Qt(M_h# zBT|LSUbdd?-~dkKfJM(Zs6HPMS zx2?n*ar_WVXOV8%@}u%%`|Kv;TgrSGDB@K?3*s}^Jvc5`CnGm4D3=go!B+LtC$*zG z0rq_AfF=4ybcq~I_KM|0yy-W)0XEnVe;qExR-P9hJv`3afsV;XJdTDR^N>{<{ak*J zDvPw|yp?_Xmk0MVQR=h=;>fz31?*^sm_?xUekF7f*SGkxp5F1&1<8{18~TG-2g|g~ z^Ed1BlO5PQord?%E`?CV7J{TQWS92%OZZFf!elG<;%iL5C=KPo8cfuNR!1tvinF0X zm4*4wh>NT&bQUg!J0u*Awack@WLe$UiCZG2FndfU&w>)!ocI?NePDq2c6L$!9yA*`&TbH3__e#2acTSGnCkmB)r6BkL)E zuH4Es6tTiP>P zxzLzS--mI$Cmd!=x2^7YoBp*5eKkc%g>KoBB@I=wTqyYv6B^1rX>frPM2^;&n$r1) zl)V6^MYn(~K9sRPntPTfYA=-VqXheymD(5ta(fCL^o<|$fzW`=>4OF$A*rLFu4|O! zvX_Jr(4L)|m}q;t{23QoM5z;bxen^EKMMZ^9A)3_>@JB`sy7422}NtoGd1?{$Fy!v zt{e89wcoqi6Pp3jrbh*;{7!0Cc2vmI9q?EhQARj~kvD&}5{*I^u(-@V3vU47Us4%n zcuoX_6Nm@1FL3iJMXZ4H8k0V+))q((Ah#vaANZnbA~}irPvO+ho^B}{t7>eSTl4y5*l^UW(BFVcf0?9;gbpU58~7!$Iq{3{ z?XYuacTtx>!P4d)+#$<6P+NqOpv9%#%$-&UmIED@}hJRNc*+BMDqV+X)+HV&|)6@2f~D(Frsbq zhPPi+LT8S9Jze=13-kTEMALAI(oj$hi!N{)-<^hPPkqm=cCfC+(~eMLAIg0YL7VZOCTl1Jv#AkUY1ckFjqB@ z4pE4oNVgQsUYL2X_C9MWpf%UhFNhN3AmK}RfA5^+@48q)1G@+F%$X89BEXZX8#vj> zhxc5_mb_Bk3{8i(UtkWU+fCnH3(1`$w6)q3zm0*=`|L?ww8_^cv1^VmCJnedR2TXk zkUcc4K7YqLx&p9$swhM`f**?bKF7Jfl;%P0YO`*deF21Pfo~ivKBH^%4Vf{Fnt2`M zzDp+S^JX)pt_J6I5HB30ywtJVmSF~v9Hk+x8n#YLcCwF(P?}czbe*}?XoUQ5UdX2^ z{<%h-r`i6n&}z%u_W8?@xcP5f$lkp}ie~$ZRymaRNfGxDT$Cwvd?N3EXKWMFRA>hu zLJ}K&;YqbEe;(NwJh5SV9g~EQc=8PC0a{s9SthmTSVjn%xzD`^l7Ozib7!|kqBo~_TMbPvW6$g|eZk-IID&rjg29ON ztzE0r&-_VJ{Ntm;(FB%r2eVfps{5j$tq8<*td}sv7V0ou%oeI-5Eu3bBwy^BODLS* zUCndw(@iJQy8RC!**C7?mzGd@i;1Y`m|Y zaSFV>s6`QbDpjFQmshm65Xux~Bp04X$jrsh3yt@wQS9KY^?!iuOcZ#Bxtu@+kV4sC zozu5DM;Ri$bbx_2ZES<6%qRnr$+q2v+Ds+T^g zlkcL#bS7VVG@vQt;B3&{yR~cV{^i%A$(h5$3H>@Sm1jWFXq#zJ$mlk^&l1<`f8LT% z8+N#1NeZeNje@>RDaj7ItXX0E;zyAhAQMWz#MghPRn*(2^Ju;q+>Yu4)lO1b;G7wv z^ts8BvaZ8bu3#nhw)5MaT@A!fyJwsCuaH@=-1iGJ_~yMFO9HX9>j?$HYPeVy&ly*i z|FvuZfG#Z(zA{@ufEpN_=Q+Er1y^b%{oG#GYUi~xK?cn+b)hLBv`*5!^J@J3Nuetn zij@XVuQ_Fp8eVpExk$sd>V$JG2Gk@+9H>64&{~~%0fw>ib7O2RG)NyS&bC!NFb7#BRPis`gu#vV@fD{A_&ko<(>}9JD{Iwl3E%G zqHM7@ajs=qsHTzS$z@K<2)V1VrfzEhh5K%brOW$Cj9hZS{I=B+^mD|JnS%moI6FccPE-5AV}R?W${V{t^zBN_N${t=b1~B3 zGR&(KX^2&xzD@+rjZ5Z7&zTmu>Y!b&GW{ebIUx1&v8ulPx?;yn$Y3dWAPIDJT08p6 zqLR10lv!16nCYOrNOElLzC3>xDOBqH7ev9cnz*Y1Npd@-&lu=wYow(*5fafy22?+J z-xZx#7}myfh;Y`kw_yE%_>M9LYttKjW?A>G%U7+QqYke9WskD;UlxK zxe|8VhUJQvWD%^ixb3UnJ(Zyl^p6&R{{>N0x?g4C(vo+kD4c3Bh}@P*4~T!f$CjnG z0+S{M=$wdsGvg;AOyCix5&u~p#~GIz7FTbyY=+L%K|hlaG~qoOpa>rnn`)EOz>CQ} zO*UFXJAg=8l!)QzqnAC&aE#FFe6Q{_4N|T$*|DJgxCukYfoajza6pC@BH#*)*`-#J z{A)NQcSKt(F4((0T0}iEI)|?hL-kwI9~>9EFV%AysVUuh4vb62xD-K##9EJCS|O~x zD5k?3iGj=w@K@JmV0j^i4o56(qvm`JHz=<=XtSHr_YVLIeU-q3whiZIr-hJLq^KdJ zv(ksEdQe}x)=lT>AK{kc-ag8u(=Z|Ubqn*VlT;IVK?Y5xiz0EGVXg#Fq-Sa_WS_sbuc zE}|^a|06`a6*H>%5H*FRNVkNHD%CL0z--O5u60lNJHTKuknA?qIslVgJj zd%MFl4@Cb-3@0s%&!z|FII;nhm8$WG&60gY9y7=SkIvTDAlYQ3`|ycOuPq z&jMzT+4EjLHoEnjp4KZ9)gHONPsRLv39b`HiFvxyK^z$k+CNO@f-irBgU8l}Um9oy z-Y-4(xDua&p=oxv7?&R1vQN;Z;-CLMy>oz?>u#OSOD$-z3<-P<*((Hx6UhdM5IhN? z|2_arayjtMWW02|5c;y91s3z?JzqGQ*-IdJ?#lyURg9;RkfY7-lOs5|1_z4~6(y*D zfE~!?upLlJ`l}~aB0NywJ(7XEBwMK-`jVI@0E`a&10Bc)k{)Dz3<_51I%I-!X@GTc zc*!dD3Y6J8C!{@kVF)O{5P;|M^*f-&XvlIJGF>bRyrcz+dZ@(63)Ow~c}^pI$rGq+lTTfO^=< zq(|vyQt<+I`Li6^u0faUAnxKCQW6l@*%8zF!BK2<*?9W(m*l`xjlF6&ON=Xdr%XgF%=? zAmLD%`V^KRi#c6-m(T}17N{($hE;u-Z!?ZYgr!)t?&>QGUF7)6*ZPrk23|Xje)K`^ zL42%<6Y{nVFhaFMh4TcWE9iRgk%6i+A0$B=^3 z+QqF$jj-nafVy#)#t)LkRUE)To(`Nlqn}tR2$lmqhh6~LNJ@SKX=Vsh|4IqJNRVCv zoLjw@Q_VzIjHedNj7CU)e}YwJ=@HH6wve_jASMqy5S>=R+xPKR{aZ45@0%{j7XC$Cp1cG2EH>Q> zoNWYjh>Mmx+l-1ZELaJ82mo68g1ae(&1CfrnQO{&(*2!3P_OY&yeu!~_PO=LOG&)x zqP`EL8gnKDpvl`j`24qFQM2i@B(oVPqYR#S0AX&6Kp!54>N#TjYSKpRqd123Di*J} z0UTqgE&2$=#j0-DoXQIfe9=~JzE^z=n)%Eoy=CyAB5QvDUlXfD4ST0;ulM}+sqWV~ zA%H$8yQZ-mZxi;(s@tK_@zdPg+be>-Uf;lzM6yr5#%IuA&i+@t%gFRjZ(;&VegiRw zQ`Z#!I)XJVorl9X@dXJOCgrXefK$Xze;{Q1(MhQpw&4>QEW48KjTd;t}6IT@>2)D`r_lys*C zoJ3n5C3O1MizP%UlFra>W^$R0vmg9~y%Q-q*Ra3uvZpMu zf2O&b652Kf*W742i~JE;rS~dPyEE-+C;tn9l-SNu8mePIKPKyw)&>xBui|f{rqlT% zCh1c!$7rEo9Z$m5Dj?&-`Al|4UxZ~BJW+IA9vmO#GOp*vi03TK2zB+%Me?IVA}L}e zwF+Dsh}*57(~Q^-=JEGY(#sc?<lDIjGCQr023Exg#-hlZl9xL!w)Gz zGC>p&H`ymXBRgb+Tk{88QJZ?8d_^`$A7?fca*7;`5p5cXFL?8fS;^5_vpe}j)ShSb zmh$U-`LDp`8G+uVH1d9`TJXQ@@b!X*e)Gk3^FmX}_*?S(?IkFzsI2sQBMu}zzr9@L zWG$2h7y~}w?j1)4fV;<@VoM(6IFt5@gW-6!U`#2Bzrerxtk{QOYeQ} z=Dy!~TCk5y9+iiNfSLw*xBJv1$9_xQqQR@Lr*e0QxmAKH3LQflkGm#CojTRvf;U0> z*_*|9O1fsHVen^QPBaNOA^G@X6D$bz{%e22{P=Y6o ztZ#Qt?*Xwy{bNLg9W5xH>3}_lMb47;bo~XA;9;Nj7?}$WVf2t;{$fD`OF;Jk#5Tm8C}E_5P<@Cjz2!-<#sv+nyF6 zGzA_G0A`>ypgwme=$ve&!tXS_Dtah6a|1$$jam;nT~OBg%GG+O`_!fP+n4k)0vx-3 zo3QGY^v*iD>~vx0Zl?3U^J)+tY=9fTuw2!-6PWV>;cLGnx zdRttE{~^O+S|B9)oH~}C4$1JG8m~dR9jW~6bHa^u>y&{Yk;my)-MZJOy=1X`t#?Le z#zjSEDPnaa?;Q*#+&e$%&t;ewWC+mZoL^T9#6hET@y>2N`ld6koQyTTIIU_HT^tHO zar!h;FH1mo#ZIQid51zk6$q$%ax*&g@B2o4I^jwC5%@4yHp0-CaOF z+ZY%njqCG86{xubZYYpVgW>RM5G{K(E2Jpf_^9>uyN$EkluI6yoV9(oCm#^T`Rdiz zShU2DS@ukIMqGWkO44grx4uNi+-CThFDYK_DsmvOU#q$+G&>@vvdX1DFsK~J-6&t zcu>4+$Bc~7h89C81zQI3CuSOvpbVP-lk@?W5w5pxfnU9aHQ-bK!`9rO7RO4@K6+7C zjO#p*>#|(DCnS7P<>#-HZfDPp}u6=D5=NXl$; zM8Mv$dM(SYI*kym$h= z%2$9(n}cCVId8_uT&*rxmAMc^;ORNVjPQ`Tob0e#XcPU6@PZO`nPC%GxCgq5-RV(` zi;C6>m>eRCL=8NdXuiK(C<5^eWYbu!o3<6L-XVni2IXTvJ00?QVp95^68iQPr4KNL zxNx(vQqyx;D6?C%t0Iuo5;JkHn1m^EH8B@^m7eqa$1i(&|lW-D`LkEg^k_X}hJFD7P|?$gcYN{7jlQzwN95 z;o6Lxv;OlTAQ2#qE#Vrj6QrF$(xyQga&+F=DnKDNi2xF{sJ+nO^h7}oO8#ig1hJhF zuelucO!JU6>xA|@r%PTkfdSW3f}_oUs)C0!Uwz*ew%L8^vC!$F!%i_rv5@d?;}nWt zyw>X+hasx!J)32Q5_rCxhSm0>Sz9xK!G;Y_Jqv^{RBBw4|1;o%qZfkXvk?OMI9*iR z6rVEAk$3v@C#8OzQzmI4@<7h$_l+)vmVTl}!~>nEKk5+{uvw<6F9O2V=V>1;E;|-= zV$FI(Z3jkSko=9gW3i%ARD{7IluFVCfuFl0uV1?Soq7Aqt^7vP8|YWV;EdkVoyEcF zk6qvQcE6@W-Fd3C=abFQc^m|>YOY>+u^YKopZT`Eug$DlNdJC%X@r8E!Y2Ae0Aw~L zVeDf>MaUi=6QQ$he-Qs1o=`3e88X-PLSln&Jkp_F`KVFGN#``?C_dL)# z5L1cEH17=&jyj@e)}M_JO`8wV@7z{-3ekZ?(aRxUjo!knu@jb?VfzEM{jg$HB{^+Z zW%gwuek}cN>q?IH2phUX^iM8Q%yt{qI;b}FEWj)Ja(C$`2RR?>rjF7me-f^E9Md z?s66Etx~oHT*H&cHFg(U0e`!?a)$q93xn#oVOzS^by6R{jN8`6`eVCG{Fhw*Ws`jU zX4;@oB7U$9(@W}SyfOC^8t`U$$yK?8UHuwz`>@(uDUrTe z3X(P5W`!bzo%Q2UOB1bT)%iimAr-q!rysq6DspLULw-{>tNE!gyF{b8`C$(}7d z?_-~^+}1I4cn5$v1G5@`InDe;bKE4Cs6`uQGMo>+wou(VQ2&k7Ik4x)MrjLdT2F8; zE-%)L-)H$aBa0b)P}M5g-}!0;;#H1&z~RhQS6ImZv9X$c%l3A2+v$U^WQa(ABXRtk zj@Rz_uAta)PU-fG*x=jg#X5)alJ#c}!ZT-(O1w z{mOl1NR3ZUACfPm-CedEtPoGvD^ zcbVsr7zj5RhlSP>2OY9v-|jpe=8y5rn12W}H1J%4Ng1CmNWGpxjjfdD9-u>Bw|4E} zD6uQw2tA*i(>-1&_4$X#!O0QJ1EY`^2BbTm^%kx>jHU3p%rEtq8cLAhU#Ki)aF%CQ z(yPsNnUIo?Ra!L1@0@Li!wqlU)seWMn32Op!&`NCDjCu!Psocl*Htwh?iQXjJGf(# z?};)FH*Sn}dBa1W>YO|paJJ3mjMwpmv|~921*2kGbe(h{P1)9k0NP94Wb(YIpz5vm zztOgQ-!g|_l=0h^G&I->tCClio-j(0D%uHpDFzi1*3MsZeR0z&qg&p4t&}6aLGa}a z-U1S&@^pgBtHTLNnj|mF^&>bTu0lu%NGRqv#|u-a()u40KN?BMev?yh5_^4SpBMAR z+2sWX>OpG9wrKls-=R)kbEWl@d}YO&*y)>oh_0#(*Wi&?&6DWVoayui=w=3)E)bGn0O(dM z98=|(0OgJw=H*Z(8($$z1ID6WCHgLcELX`eP^l`Sa4)5P1 ztk;(q8;Kim|MNQEZ^aIjm=;nDe5!pxte5lBv3m6^C5Em4o--SI*52ewt!3}I>>D5P zZ_g$uE$BTmk1vW(nJXTyHFW$9|FVWGP(se1iYGDM5_8H)A1%xFSW>%Ni|tgob#PYc z9Dyv-IKuxd*p|64lF&_)q5Nz1*HIS9q>SJS-3Zo4(j)f%k86CANX{E$E3dTW`4#pe zi&YhLEnD7--7u#)8#GwhSo|=5i9z~eIlEbr%OBRej0^#2ZV!1X|2uJB9iY zS$yAcov|q88&hXCNVfH@_Zc@AZwZEkooSFwb2n&e2L2E7s(o&vCKE)UaIrsep{`+k z!+vR*Yf&{nKkYC=L%b#DaPDz;7~xm#A7AKw|0j(XlOXIukCG(rAAJ0Y2cV-SY4(&7 zl=obVs{5+B^lOW;8wcEUY~hUmhZb&$m6|{$VUY1g^-rISex1>FJ^$&P?Ms8X0(alu z^h3>yT3i3uJqfuNS)uNFkW$NbvR%2OTY*T^2|G5$1Nc#{Mc&WEF@QLcU_6R&E>Yh*@I8QfySKg!8Vs?=vVpv6wJJ)99!xOm*VPg zGP_281OTw)t%J0jyl+Z8tqdF-OQA(f=ia_$BVe?N9(2<)_8Rnt*yEIgUY2V+O^ zuOMv=4E77iUamoTMUV8piD#UhEgTbvg^}KLh-C+Fef|7TQmpy4i*uI%iJl(!JBEx{ zbe9{j*Pj_z%l%w_pP}rXU{Iq%L#f@Ew|-mh(1rKG)!scXeiHDOen7Hn6v~gDX|S)g zVK{ywAEXKYD!Whuf}az<|5j4%J@Hqu-lMzC$nMuaq@~MtN@6{(&izs%zf=TAO6U2o zwKI^z$7>XVOvmvdTNL3pce1#GrKmAptRm2pmXCA^jtwcNyb5?h0L$?6ZHrE@d-x|; zH59J(NmprU#lF@qKw)J=l}ZrqS()^7^$lS2I}6(n`22L^eU5D-!}TiJX&5GUm?&+u)W%oE)Q-;u=tt4pA+TN` zOUwL@8DC!EyOHYreltFU=A#jDpyzHuucR2B6Tk}} z^RB_7+SVW19^O@X7d&9e??r`K)cq_=CXJk>w;PcFKRNRn$@@geq52J2-Ba2%yB|+w zVC}7HboYjBqU^qy7d|WI*SdltU4-7}Gkz-mNf6DB@wxv+j6!G2{AI9)=JlaJ+3KR` z6;LcsnH*q(>^o@;-zbYfn^H6#av>FNUk17F$_G&G7(-Xx&2{5WL~o}e5fZC0X8UY% z!psoV+58=+nO^F;drX)`2KBvRrq_{VU_gT|WH^XS;Jd1ibG2jC2fGD7{85_* zP=umHI@E8GyX$@iFsQ&pue{T9g#wD9zvVWq30%C7v`PTZk(2yQz1#Y#-kZ-3Iht9_ zXzE;l3XFWx^@+fW-(O>?A?=%`5~Pj+f?O)lMC#2u4I1Nt6!nYBF?k)h=&coeeASct zG!QmP1d8~|4zbVJyL~fqs$q#DPT@rC3*+pbB26q}QzhmRBe@HgfmJ0_qIdYA?Z<$@ zf82}dKw4H5@rjJTXY+ddfOLl;W8}xIWJ9e5y6jak2P9{@&l3bgay4=lE`9RKGc>r? zK8RA@o5VXZq*&VjcinDc-ZemLziHL#A|?Oa>&PUH^F3dQ;A3m`yEkms@c2Gtf6-hK z5@gE}xVPATBw}nMI$4@t_YIz?1?x2)_h`V$$m0Ld^!|7U{jbV^4icGV%D&>teB!ko zyK4!ZWfxo~E4L`hr|FYu7}umR#WQZf+Rc3YLD|g4J0bio?*~#J9R2Dx&o!|~BH@Aj zgkKdEcRwBA0$O9tjF(Sw0KHsCdL|R4gU~;h5jHqu$zt_CG5l2lZ>oM0<2~9BW7r`1 z$!1t-7%`r&9-v}mF|dm{6T0C&EV>njqfTlYaXUPCeeTVPjd;tRv2>3Z#2RIt68qL; zY~RS5XKRv`t#KX}2EDg&?ja6p;j@}Irt@kXaAS{eegiAKmVn@?!34lt6Aqf%PsEB% zN@DY{h>rp&n7|ZZzujez_K<3!g2r8{ZVJ4`iX4Zcau40*ae$vxB>m~A&dx8?_~k7*^4RX!fF;OAQStrzU{>3egKQWKNE8HB?23>@!u2^ zr=jk5;j^H@-u1n?<8CfX)n{Z>IzZV%Wf0Jg{5n6Z0r(^@s0QmI8aBJD&;N|FiUb@=p8@YhJ7fwiTQwHXAocxS z%?SWDZvMGP%~VIv?Se7I#hmD0e&eYn$UxA;VHGcRe<4{hA*Eod35jKLZefv|9`XqDY(-f1_Zto)$NY*sVV=r+w~Mkx9o4D zZw8*(Ql;$>L8Y3gHRtR8pse7yCpXPEFZP1o&;3TFX0-qZ%-2bds9Iw_+4^IZw=(Is zcAII8%dH^d=(VOd`1z#d&O;xpOu)uRHsn}QS!c*Cgo zS7uM#PTGrWcQZHnfqE(zQod~E{5QnpBFq@?N`10B@Qa}{J0Q977s)CO?$t5Mx2Fp@ zzCFuawXn)jV9li}9SiMkxRFjdK+%H!XGLl?jkRQ?3Omk!PR#w4*8i)v{PN@P!hQmf z{TnNT?^;`-_}yZ?Eo>Ml@%{3RO5&7|xa_|>P=60eA^|?13(YCShgp8vmdds)`hDWh zNi+ykN@JPXr;cp;^}@y+S-tdSF0t6XONCDM6f8DONWknJ{Ea*;_NM1+F$VkR+kx6v z(dWn1mX~g8t#SQ1p>uEo76zzVD6bxIAB!RyVwE*XWP$tHtf@d0BS!j3GnOmF0`?O~ zKXHM%9lH}=vfjQ>RQZ5<^Oz762w-YME}}lVF`lq}9b!dzn@zF`hR?%FR-&4&FR4ML z*KW4o!==?f%J}Tcf>s2TEJmla@`-CJD}<0y$5i8sZ!7$faHosSnHcN$U^M;-_H#7q zsY009UN6RO2gVLX-Aa-_N2eMPq2qtQYNvRES3L&Qb}~Z-*BcL4Gu*=m-9spHWkGPw zEh(?BdCAc4QH$|iDoUyWHkwnz$&z|_&kt&G$kN(%Uc_Yf4^W_WvcOJLiJvC0fr>o_ zAO)eR$wz9tt5JC#~|Eq?6J~T{W4*_)mAo9I` z{1vy%fg&P^Fbo}8vDH1CUGZZknFU!xUMQud4%0PfYQIB*FuW=ZN(9igb>a-7qh<34 z3{z{b0xtO9@3{aviT@~2#P^rrx#x?RpvAn2J_TP$N3UJK-E1Baa2yo?^~ASrXT;Ai zK_cph4QG)b9;Ul{mmQyD?*?C5aeWgHBt}bcbk!u@Rv0G!E;q{ke|Fj`=}o0%nPJt? zi<5W=Q&d^26h^!*_B0JhWZOQT=^gku=OSfyZgCrCa?7PJ6lfW1HPHYB``Y=N0x*vP zJaou#`!VAqjhiZGYg?(ZO6wJpQqnf)Ytdmb6Nt2Owdwzm{sMk8vsfCaG7J?Ab|n6H zzViCk|MvAn1SRG!5P;2oKJImW!0!D*#ozdhk=y&^&bE;7fcXL7n3p;J$}NgI`7jjk z8z?^RbsG09&QrgM{7n~i5xAlb{sh5!_!cbA!yO6c&_p`Gi*9Q?c>F!1g*=bpA zX}*q*O}+aC=sp@l3r!1w!KqJX_jvgilc+KfXdE+1!@+~84(E32`n4rHu9D9Bd8M2X zlfzWKHq+M$S~KPQ-#~{X4)GxD%L$Z}Q9%9oCi*Je9B~2ADjWLES$J`e;}2iItQT*S z6LXf&u`w< zeOrmVbI&^HIM{tBwIKH$f+ijDf>sV6_H-6%PJk5?8?7Y<;m!gnIL3iH6?_mexg=wA zUJ&}l3N}g|%tGXCSbkI;K@i06BhFSvZoY4L7tUQU@9^)_rb)V)=eT8bEwFjX0<-mB-tGZ2ICq+S0KF_NW8E z2{ifhZ3!X0zAOk@L`cz|gf6NpEO8U(QTvO+ttP)(ORx!d%R!tp3aY(Em%_JfG6Bdo z)?cU5XZIR*k2KgI;CtU9aj=vL0_`gLPY0a&OyCg5+9@}-vcaoa{!_Sy-yMJt5RYwR zc|SoMFVwXRJAXLs2uiiYT4q}q1v)DBsEfpqkhHQ*6h57F+`^tPTk#Hy4?4fjFNFG6 zuWDIMb%~D_nf94XEBvPdCLHKH1Zacr69F?IctZ*%)rkcnzkS*x>FT?Afz#48cY*L& z;!0|5J|T3Go{r*+NpVE>fV1|z=LTZ9x0l!t_oQu@Tdqw75{hfU z#!S8t^wi%^*j-}QZUx`Z)hTq@-TpWj zvhe1ar>z4xw@-&XOdjux&r=Ej2JuP2+V7ZIEHOTpvO4N&e#m6SF7{}P8-!`rhUCA1 zbInbe(9XVJ9|yXreK8#DccmbJZxZOd_eCK?9l%Rq+h2Ak!chK5tPQrTzJX3>C?Nrx zCP3&E0Pb@CHKKU~Bb3NYS`rf4+zP#ufA9F`|NU~G#J??pVjVFN2dew%ksX6m%*U)} zq10MtuJD9AFv_K_xt)i&+~o$eCCg&&Yb%`_wwHE>$*-FU`YLT zD%tBixcS;1$!xUk?vv-pl%7^pJE}R*>RRP%yzd}(+>iN}y#LF|Ej<&(UQ}2xo$Cye zs^`B{F^@lqfTGRu)3G@skl{YL%N^M-1}|u}vlAILr=*zleJGii4niv7DNbm}a@*O>Cx;&3$8@LI$ox zs)|a!Hfg--5TN$8t6mgG62z-ybpQt6<(^Q^?dZm2j8hx3_k9m)dhZH%MRfg#I(4@sU%ifcCtIoVkct3UQjg%C zOcW@s017s~MdX~bAC>jVY(t5YsfRCD&^7)z@|}a!QBxauTq^sKo}r)HLTmTIZ~>^6 z%AAYBbBN;GoY-4iJ8ASy)Q0E)OfS}sCoMZ~ksjT}ks@1f-tuAT;f;`OW)~OXmSOHj zjj9_d3s%J8l_>22ZK3@|DV@*AZ$BJN`CO6u%gD}@6d4K&yd-kzn}{HE*$OX54uqL7 zWE6bT!9Zt?yxhZrU8Iu~J*re-u;2i6Z~*u@w5)t^yA}Xqt~}H-7#Y2l0|5EN;H4X* z%#hl3T!hh$0h=42&h~d`zN10QNxEEDpYGBy+ikh0$bd!BHOR-h#ks*J#%^EM{Em>Qp5}OP!wSjtC9w*OeNz zfd-@RoPtJJRG^pzgkyDC;lru2U>f*0edq|zO9tQ z`q9CF_3SeOH)FU|E3TJgZRDt2U|`IbJw|Xu}+b-F861vfP`?zD~Kd9@jq$mvyc$cZI z^)KK?0}gLik0hc#nTKh?34HKkajgiC#gj`(%%Fn%HMj7;!v`;cDg7P_knW$$f`~l} z*cB~RwWr7ib7cLXR4?3}ptsdZ*i0i6e9a2e#NS~0o!bY^wLt00yOvY1#JBGvH8oDz z6;k5{*@vgy+`*;>{G5EK&lIh{%{O*^t9%x>N8S)soG}r7Rx{)&>S_&Q5oHQmJfKWo zIqvpsRIdJVD~hmez2L5OXynlqdi@J0=USgscc}y+pfDu_b=&O&0+N96oMxaRW63y) zM^np_QsS(5zx?C+kpAiDF`QxJxa%S4`R^Kfev^yMewnZ`BX3pL1f(%jh1&B)5q(i6 zb-nO9Y03n-&WsWGujs(DP#loWLe~{Cu7#4lz%E@dS4+Npapa)5gW~(8vYybYOqYer&URnAqR%}gMF>}Q<%Nt#7O{^qy#ijv>f|y7bfeuLu{Gwv$wy~ z{0oP=6PmaXwaDDTurY6?q%=)8YUo%bz{rN#ehK_dF56@tHr$M=>{7D?stRgU=5mN* z?JY4H@cZB0t;)yEAv6x$7OH+{R`AE?_FGUx@!w8?)pwY2GvynyysV^|3Vj}&SUvtU z*>%BF>9sM1Zgb43Bbg`#Owg#~HcGB`BOCE`4g&K7nDcj5?y8<5EGPBsDDYs_DH-G2 zMW0Bl%flCRXl{+l?e)LDq0~gtNevvy0J0Ll$muCEVRYAy!y#9)aN!970WBW+v<5B& z5cDp@v)aWw{gz@w-#E35D`Xns=4j-lh+^`+a^q zv`*QSb(AAiAHyw7#^O_au_*?-?3{ZAXn26Yct+@oV48QH+PjQq87?7iFWvY13e14? zpjrr*Ht*#bUp_@jHl*%CP^|6>HE1L{IC5;PJe9Yih(c|d-F?jcGo!NIA7B_9NK6V4 z+L*H++jSwkD(5tI)OqPyCV}yfn2p^wNIFEso@>Sd;BdozVMfPLF%wt@&^hF?h>i{Z zxLF+rV`GmrVCWde6|1r(P=~Zl>dc#Bnr+h|=a)1<#Ys%M z$K8Hg;;ECGdg5o;U^D7@C23g-Y>EN4LQcrs6dUrfwE4y`u4+%|t#BJ_IW|j3APb-S zBjGj^i=tAririUfKr7tc27vx&ZOY{b$|5#9?}T@}0;LU)$!ht%g)qP3Rqpiba!2?d z9zwqbWdXF!2*Sm&1#|NH8vw=oX|_6~vsGDhT8$3^~Swv}+N9XvWdD`YUaXOnW)#(}VRVTojViC8mXOa;LfM2x%==s6!N!&fFHuu1og^=Vz|2~eo`Y5u2 z?K(3_g#<;Wx*vyrX)*&I&&5%|I;8LQHdr9Md&NAP@D-oc1&haE#BmZPk)+*g&>(3X zCxQ*w(9oiiKTv_X32F9waw<@$lhX;4$B-Hemhpe8_SI1FbEK&%JHF=lnk^+(B_Z@<8oDyexK!Q$Ew?5AlXrtHlIHk^xxUU5L$8@ ziVOK`)$hx**N-wU(m9ri{orFKfv2+yUyx47S%tv>q4qu>Y=}bQp4d`<-!OM)|8#zh>assd!bB+p4NR`8%o}>_=pA)xBD;8 zo~*q!?dLP?T6spc@Ta6`m%6lR*nCtd*-mE0_n&w&YWZkyq1nb3fv;^HX2wlpBw`2q zKTzq~gW8@303te&Uez5BwH#7Ong8A#*Ek9sswS1OR?|1L_fsiT?Ql(R1Bg`6W3#?pd~a7u$#zcCQRnl zQtNGd&On)$N@;e1C1+D2exwzLhqPf>@JjhI@YR{B29^{yZ+ywG`C61!!|scNZ7+O$ zrIhnGy%C_}(_d7)QgYeZbkP`5c(PCCho@{X1C%GrhA!)QyYeq0c|p*}9~@~M{81Nh&0*`y z1sTXWHuUe&o5kRKNap=5YP^O%T?WyZS+$C5UN3D3hkykfMZW!c7_V*m-94JN zr6=s7&lg@<7E}^Hh?oEh-2r4quQRIi?*tTXmEI%V6Toa1x4VZNB;%~>+;fGnylqu{ zuhcIpGzT7v3CI@Ze+vAQFV#H;aU}JVYp)%iMDEnQstX*avA9-V{ac;(P=jRb({Qjaz@qh+AjU6uphUi+B+|B zsju49CDIgVo~V@MjcfVEkcu36kjsl36hroHZU%B&s1&VD2dKXNy|AQvxu#~;3ptP9 zLtS7_Z7;rDFN57fVG`DYLkouq4^)Y_kopXgI!TY+emH@=uA3FaSq?*l3I{^cl`EKI zP9b$1Kw%Aj%@^oiiH>0LJqd9+C`eVwGce11Ddww>>+JiUAaE>R{iJvshNzH2*Rcwf!FEiI7l}j zbnsyaEs*pOR}>P$aI>!Lj+Z#%pfWX9l9%*5o_yki>7zRneEfne_*@JFW-vuL2Xgg! z)*MR!ebPBj%6@poCvO8!XVtcP*T#%JNO7WNFTj^yplf__YvM}erYeNiOcz72bX(%* zjWoz=GyVc;%3M4bFVPGHIpBgeFId~u8w*fBowVqZ>TkbH+%XdTT9VcrTSH2ZtdDwL^G1Aza9;UO0d~iEn7*Bbk#o5(9jd2U;0$A52{W z$s5>g;#RU`V+(E5zO9PquA2{E+bn+WCh1|C{V>j8tj?pHeWAN^G^Frna>evH18PW8 z6~JDLE!^D}=gR7l9x9fuWTj~b6hH1);=x)ijv2*@%t)MeF=HjKb=#iB5mjU5hH?2u zLM(VA*3#e4>x7|T+BKKklfBF=Zi{Kosf`+nsoGpSSxy{Pd##rbfsTW?BkZH>w2}A= zX$)3+3SNzR;AuPmfhDc3*62y!wqG@*yV@d&| zUeL-cTK^J^F=MBGHas#VfaWf}M3SP|R%oWX!6eI^TuUA!aMy4v^Z# z&$851#%ei(sy@FO6!Pj3?AY%QI^=i{q|L8eedwTDZzK8RR$UaxH;RJG$O%7dMc0eI zllEqID!EbTWMY&=%Wk}Z_xV1AN-s&B`sS|psWS!LFSnK44wbGbmflw{eX>nx%KBlD zrN4fEaV?TO7<{re=n(lU)2d^Fw2@*L(Y8uS3Lrc|bl3j;B}p(*1Tt>gugZRsFQBCS zp}VKAxSoda#dy`K%;^mCA?P|$B%A@V4X_g~3RisSYpV(NzFiXwe|mro-5Om?9zRL> zmq0{k`&CC#tW)CPQ&}ZB_x;g>QQc3dvVpJUuC=zc{x3=bSY+^rgd2yTV+g=BeIR@) z^Z~WnA~;U4lX+<9=ICIml2?i1Q@$J^byPh{I z@`6rtoQDG{vDK%d)&17_Gt#d6Cr_BPFDH9z$PB%6l)MKw|nqnn9TP`O9?VxVY2DhQGo>d9>|Or z<|weOa(F}>`~GK1;(&RNe}6kbC-0}8E!w!xDL#YxvA3>E(zQm0{dU7*zPE#_dq%WG z5$bZbycF3?YM`Ssw>bJ_Te@)D#hPW6y<}8opTkF+!UfX}20|ri+thmo$5DCam(&3{ zewgx(fVorYuX8>QX&YHSjyK6C`Q)yB+`Nv&BOzzG8$~@)<7m7@Q&19n%QoZc#{H zMajJ?i4)QYCXL*Gsy|kz%a_EeVK++o_6xQ*%W9Qf3LaSfsY(ZumI$Kb@kca%*iek5 ze)3DpX9V8R|B*E8l8lqu$7{lW5@hi2vM%Fi2{PS_=S($wj+!f=vg;7ZL&f%f%l>Izf zuY{{ur-j;B!IC##qeW^nNUpw3n={O+6{+c~8zO4j*7o-VA0Fh7-PyMn zk*uA$@DF2;^a?^*rxHcfZ@xvS#Qp+yWz_z1%i1gbaaAbp)?m^e`g`8L?PrqnFC>`h zLvxkwR%Z~5^hrvL=THoi$8YXnS7>~;d@Nn2NA&gzDrNOalLaeI5}O}bp9PwC%Z1V% z{T_eey>nlZHLoNTcL?-TV{NH+jWb`}w-ZWD4y>KaD+}Izx3tzy?p(iZU0R8EJW~~l z@H}R*uS&SJ@Gg5=K%h+Jo@{3iik+#{3>4Q+f_v!dQ14YKMLH#~P8{ugW7g+7kv%AG zu!UNEEABTvvV@wrKC*EhsDLF|e5Cez~h&l>bZ)Z<-WaND&ncbe0D!l(1fv_wjDT)coSBTCRHJC`Q(}32kP@R^G3zZw_WZ?&6*`CyRK4T+uF|e8+uE$E zL|d@NWJ{l)#?SR3e{^LEp&wz2fOJwpxUNkeuv#pJ{|T45XDtTs4e(Fn+^ z_Zk{hde0sOGLgsHDnySNgbPQB8Sl`cJx_xg+cD7hW--(i@eVmUC|%Hz0R)VY@>TE$ z1U-KK=f}ojFG{rB3|^bjcB%tS1^q6pl;!TWOy!Xf7iq*jgiVs?u@aRiNT_F-ZudwA zL2}oc_jA6mI1kVJ^xAzI-AE#4Y#+IZXrw9VcqOo~6SQ1d7#|e0Myko_y19GBVE%1) zS$RiYNBOidYaXzc66a8A3Dt0Z>nTOVRCtB(^xmdQriVIvQ z6n`mvHH86YCVj<`vA#2i+py+c z7q^Og22OwkzM#22rENhp-MY2UZ%qFa9{je)6%IkMB^Q*!T4|_TprhV?J`cj`9jmG> z1d@eOUu|tIfxA?+dFPLk!4zeL6`k_yDZ|l``>3y z_Y3AIy`XgD3oqw$4oA4!qE6`equ##WZ1o_=r)9q=Pl6Ssf!?MRH3&@0jCDl?O0Fws zIy;iPpCx!H>in4KIqo-fEKFzBS#1+c4j3S@m(c0>C!DyfVmn(_W0u{%6E1~}H_3_d z>nlPV6*QGm%Xpv6kI8fCumASoX$m?n=8oQ zt+ISCF;moBvCX7!GlwW=mxLg8Rv_fhs%Sw?MZIZ8tp!hLxn#X?quFa9I@t`L;frAwi z&x375_k`VA(=wz>g&^o0D`c&>)dF3rV`&I2{HZr{LRS%RiuE-hbcH?dxBJdc6}yU|T)xzpGqicLu~y*ZBY5mopYxiuH#b}n|9I=_X{b?9hP705 zTW7KDrn(LIW?zQv%X6I^)NPMBjQJD%8PhCP?_!-6RvjLENv@4i09Rx;Uxuy;`J5?< z8!B{s8VE^VA_}jp>8#)HZNa25d{T;>Z1pTv`ZWYp$OVq*={NCyo38 zo4!2SvqjzD1chs3g=QO9U#+8L*S}#gQ>oAi9bd$y4miB>xY}7T1wY@?M2sdXCbl_R z_}p9{4&H{WPy3O6_3jUisdBXB?3~`?`a8E5fECaONz(_?dKv>aup3bHjU9jJ-$C1( zgxIChal8Ay0^thpO$q(qNVNMwIG)SNTjb)$P`b%HZe`?Q;y%~KOG9>a(9AQ+f5GHp zYseZDq~7xickI%KObHd1Boz8d0)9B+?~qS+MK}LUT9}6=BL36~?c%IXVNOp?Jcy`tT-&)Y|ppUKU z0&$_@@;?w{eIagrWAw{9{P7U`~)pb}|t8&jV>)T8rWgv3YBW0iWCRa^)LuYaEh z6LFH#`z#{nNGv)wXE!-MYDFk|`$&zi@%>Z~a(~VOV<=S*=Yzk4&$Up>c7*^9k@8#P z8Bjh3t5O>bC-_ADy@nS!8Swd^9tA=9$N#f0a=3oV~oudHNgZZCCx_kbEY(7@kz z1Fx?5srn$*3I>unN&eawCio%=_G+08ya$uP;t1f+OXk@bM#P2rMDZc)mih|H-XE7hem)GAATO*hGMC%w9 zKv3`cDUPStH{iQkDm%KR%?86MJRB`g%_r?a)zT@%+Ln=tVyLEiR1}aKP2(k_)rwOfL%1t-oBy7bWu>Jh#=;6UpImI&fZCZ$soSCiOZ=iH?vwbXS>m$Gd?ev} zI?}>T4DX8(y?knN>veO<&{Ye+P+K$kk2)qV&H;d!dgeuM91*5L^0OV hifC_VcdH5(m-|uFNcSbe7W5C&(KOU3x@!IG{{i~_@G<}Z literal 0 HcmV?d00001