From 8663f8cbc778e555cccba4ea50092af90b063968 Mon Sep 17 00:00:00 2001 From: dothinking Date: Tue, 17 Aug 2021 17:16:40 +0800 Subject: [PATCH] dynamic Gantt chart based on matplotlib --- ...01\347\224\230\347\211\271\345\233\276.md" | 292 ++++++++++++++++++ docs/images/2021-08-15-01.png | Bin 0 -> 44860 bytes docs/images/2021-08-15-02.gif | Bin 0 -> 117572 bytes docs/images/test.png | Bin 12111 -> 0 bytes samples/gantt/dynamic.py | 124 ++++++++ samples/gantt/static.py | 36 +++ 6 files changed, 452 insertions(+) create mode 100644 "docs/2021-08-15-\345\237\272\344\272\216matplotlib\347\232\204\345\212\250\346\200\201\347\224\230\347\211\271\345\233\276.md" create mode 100644 docs/images/2021-08-15-01.png create mode 100644 docs/images/2021-08-15-02.gif delete mode 100644 docs/images/test.png create mode 100644 samples/gantt/dynamic.py create mode 100644 samples/gantt/static.py diff --git "a/docs/2021-08-15-\345\237\272\344\272\216matplotlib\347\232\204\345\212\250\346\200\201\347\224\230\347\211\271\345\233\276.md" "b/docs/2021-08-15-\345\237\272\344\272\216matplotlib\347\232\204\345\212\250\346\200\201\347\224\230\347\211\271\345\233\276.md" new file mode 100644 index 0000000..f293f35 --- /dev/null +++ "b/docs/2021-08-15-\345\237\272\344\272\216matplotlib\347\232\204\345\212\250\346\200\201\347\224\230\347\211\271\345\233\276.md" @@ -0,0 +1,292 @@ +--- +categories: [python/vba/cpp] +tags: [job shop schedule] +--- + +# 基于matplotlib的动态甘特图 + +--- + +本文在作业车间调度问题背景下,基于`matplotlib`库实现甘特图并监听数据进行动态更新。文中描述的基本流程也适用于其他类型图表的动态更新。最终效果如下。 + +![dynamic-gantt-chart](images/2021-08-15-02.gif) + + +## 从静态甘特图开始 + +甘特图可以用`matplotlib`的条形图(水平柱状图)来模拟,横轴为时间,纵轴为工序/任务类型;每一个横条(bar)对应一个工序/任务。 + +```python +matplotlib.pyplot.barh(y, width, height=0.8, left=None, *, align='center', **kwargs) +``` + +其中, + +- `y`即为y轴坐标,对应 **工序类别**,例如从作业的视角即为作业ID,从机器的视角即为机器ID + +- `width`为横条宽度,对应 **工序加工时间** + +- `height`为横条高度,没有直接意义 + +- `left`为横条左边界的x坐标,对应 **工序开始时间** + + +通常,我们可以画出两类甘特图: + +- 项目/作业视角,项目任务或者作业工序的时间安排 + +- 资源/设备视角,分配到同类资源/设备上的任务/工序的时间安排 + + +本文将其绘制为同一幅图的两张子图,效果及代码如下。其中,工序属性用一个四元组表示:`(作业号,机器号,开始时间,加工时长)`。 + + +![static_gantt_chart](images/2021-08-15-01.png) + + +```python +import matplotlib.pyplot as plt + +# dummy data: +# - job number +# - machine number +# - task properties: (job id, machine id, start time, duration) +num_job, num_machine = 2, 3 +tasks = [(0,2,0,10), (0,1,10,5), (0,0,35,20), (1,0,15,15),(1,1,40,15), (1,2,50,10)] + +# create two subplots: job view and machine view +fig, (gnt_job, gnt_machine) = plt.subplots(2,1, sharex=True) + +# title +fig.suptitle('Gantt Chart', fontweight='bold') + +# axis style for job subplot +job_ids = range(num_job) +gnt_job.set(ylabel='Job', \ + yticks=job_ids, \ + yticklabels=[f'Job-{i}' for i in job_ids]) +gnt_job.grid(which='major', axis='x', linestyle='--') + +# axis style for machine subplot +machine_ids = range(num_machine) +gnt_machine.set(xlabel='Time', ylabel='Machine',\ + yticks=machine_ids, \ + yticklabels=[f'M-{i}' for i in machine_ids]) +gnt_machine.grid(which='major', axis='x', linestyle='--') + +# plot each task +for (jid,mid,start,duration) in tasks: + gnt_job.barh(jid, duration, left=start, height=0.5) + gnt_machine.barh(mid, duration, left=start, height=0.5) + +plt.show() +``` + + +## 动态更新思路 + +动态更新即修改绘图对象/数据,通常有以下两种做法: + +- 交互绘图模式:`plt.ion`和`plt.ioff` + +- 动画模式:按照一定的频率执行自定义的方法来更新数据,每一次更新数据对应 **一帧** 的结果 + + +本文采用动画模式: + +```python +matplotlib.animation.FuncAnimation(fig, func, frames=None, \ + init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs) +``` + +其中几个关键参数: + +- `fig`为当前画布 + +- `func`为更新图形数据的自定义函数,参数构成如下: + + ```python + def func(frame, *fargs) -> iterable_of_artists + ``` + + 其中, + + - `frame`为每一帧的参数,由下面的`frames`参数传入 + - `fargs`为额外的参数,由下面的`fargs`传入 + +- `frames` 一般为可迭代对象,控制整个动画过程,每一帧传一个元素给`func` + + - 如果是可迭代对象:每一帧传一个元素 + - 如果是`int`,等效为 `range(frames)` + - 如果是生成器,每一帧传一个生成的对象 + - 如果是`None`,每一帧传入当前运行次数 + +- `init_func`是图形初始化函数,在绘制第一帧前调用 + + ```python + def init_func() -> iterable_of_artists + ``` + +- `fargs` 为每一帧调用时传给`func`的额外的参数 + +- `interval`为频率参数,表示两帧之间的间隔,默认 `200ms` + +- `repeat`表示`frames`定义的帧数结束后是否重复,默认 `False` + +- `blit`表示是否启用`blitting`技术优化绘图,默认 `False` + +更详细介绍参考: + +> https://matplotlib.org/stable/api/_as_gen/matplotlib.animation.FuncAnimation.html + + +!!! warning "关于`func`的进一步理解" + + - 一般在`func`中更新已经创建好的对象的数据,例如`plt.plot()`返回的曲线;也可以清除之前的所有对象,再用新的数据重新绘图,特别是对不适用直接更新数据的场合,例如本文涉及的条形图。 + + - `func`的返回值(该帧所有绘图对象组成的可迭代对象)主要用于`blit=True`时优化绘图显示,所以如果设置`blit=False`,完全可以不用返回值。 + + + +## 回到作业车间调度背景 + +matplotlib的animation以固定的频率刷新数据,然而,回到作业车间调度问题背景下,我们无法预知在哪一刻会产生一个新解。为了避免无意义的刷新,可以设置一个开关变量,一旦得到了新解则刷新甘特图,否则啥也不做。 + +针对作业车间调度问题,我们抽象出两个主要的类: + +- `Problem`:指定问题的规模,然后求解`solve()`,生成并动态更新甘特图`__dynamic_gantt()` + + ```python + class Problem: + def __init__(self, num_job:int, num_machine:int, solution) -> None: + '''Initialize problem with the count of job and machine.''' + self.num_job = num_job + self.num_machine = num_machine + + # a solution is a collection of tasks with determined start time + self.__solution = solution # type: Solution + + # implement dynamic gantt chart by animation + self.__animation = None + + + def solve(self): + '''Solve problem and update Gantt chart dynamically.''' + pass + + + def __dynamic_gantt(self, interval:int=1000): + '''Create plot and define animation to update data dynamically.''' + pass + ``` + +- `Solution`:问题的解即一系列属性已知(主要是`开始时间`)的工序,主要负责更新解`update()`和绘制甘特图的图形区域`plot()`。 + + ```python + class Solution: + + Task = namedtuple('Task',['jid','mid', 'start', 'duration']) + + def __init__(self) -> None: + self.__tasks = [] # list[Task] + self.__update_plot = False + + def update(self, num_job:int, num_machine:int): + '''Simulate a real solving process to update solution iteratively.''' + pass + + + def plot(self, axes:tuple): + '''Plot Gantt chart data area.''' + pass + ``` + +### 求解框架 + +`problem.solve()`方法模拟求解过程,主线程的甘特图持续监听新解:在获得新解之前,绘图状态为关,保持不动;一旦子线程的求解获得了更好的解,绘图选项被打开,从而更新甘特图。基本框架和相应代码如下: + +- 在子线程中求解,即调用`Solution`的`update()`方法 + +- 在主线程中展示和更新甘特图`problem.__dynamic_gantt()`,即通过上一节介绍的`animation.FuncAnimation`对象以一定的频率执行`Solution`的`plot()`方法 + +```python +class Problem: + + def solve(self): + '''Solve problem and update Gantt chart dynamically.''' + # solve problem in child thread + thread = Thread(target=self.__solution.update, \ + args=(self.num_job, self.num_machine)) + thread.start() + + # show gantt chart and listen to the solution update in main thread + self.__dynamic_gantt(interval=1000) + plt.show() +``` + + +### 定义甘特图动画 + +绘制甘特图的代码和第一节的静态甘特图类似,这里仅给出定义动画的部分: + +- 因为无法预知动画的周期,所以`frames`参数为空,即传入调用次数`i` + +- 虽然以固定频率刷新动画(调用`solution.plot()`),但实际图形在获得新解之前并不会被无意义地重复绘制(具体参考前面的介绍和下面的实现) + + +```python +class Problem: + + def __dynamic_gantt(self, interval:int=1000): + '''Create plot and define animation to update data dynamically.''' + ... + + # animation + self.__animation = FuncAnimation(fig, \ + func=lambda i: self.__solution.plot(axes=(gnt_job, gnt_machine)), \ + interval=interval, \ + repeat=False) +``` + +### 更新甘特图 + +更新甘特图的代码如下: + +- `self.__update_plot`控制了是否真正重绘 + +- 对于甘特图中的每一个横条,这里采用了先清除再重绘的方式 + + +```python +class Solution: + + def plot(self, axes:tuple): + '''Plot Gantt chart data area.''' + # update plot only if the solution is updated + if not self.__update_plot: + return + else: + self.__update_plot = False + + # clear plotted bars + for axis in axes: + bars = [bar for bar in axis.containers if isinstance(bar, BarContainer)] + for bar in bars: bar.remove() + + # plot new bars + gnt_job, gnt_machine = axes + for task in self.__tasks: + gnt_job.barh(task.jid, task.duration, left=task.start, height=0.5) + gnt_machine.barh(task.mid, task.duration, left=task.start, height=0.5) + + # reset x-limit + for axis in axes: + axis.relim() + axis.autoscale() +``` + + + +最后,完整代码参考: + +> https://github.com/dothinking/dothinking.github.io/tree/master/samples/gantt diff --git a/docs/images/2021-08-15-01.png b/docs/images/2021-08-15-01.png new file mode 100644 index 0000000000000000000000000000000000000000..98987419b2b818e20ba844bccbd8f49bd588bf53 GIT binary patch literal 44860 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 CSbhQk literal 0 HcmV?d00001 diff --git a/docs/images/2021-08-15-02.gif b/docs/images/2021-08-15-02.gif new file mode 100644 index 0000000000000000000000000000000000000000..35e8011f222806cc035d007489bb2b86d8853c9a GIT binary patch literal 117572 zcmb^2XHXMS`zY`RH+0)cQi915kSpkSh-qobi=V`XKfr$;g|@vyTC za&vQYa^1Oo`?k;>)E!}2adB}uIXPK5HC0trWfeVLU0n@LL%n+suEWB@!p_dl)z#I< z$0sy2G&(x^>C>lKSy?%`1;xe1rKR|aii(=rXV=ks9c|rj-n{AQ?d$(fj805U%+Aiv z&o3-5FK=#c?(gp(A0J;`UH#`I|EGWw2?btSLM&+`RX(F`a%IzXemXDAUoJck82=IS zcC9H$Pq^s)Zd=Ht$D1#Q9bx(}mk%zwBityVqGMv?;uD@GCMBn&rln_OW@YE( z=H(X@78RG2mf_1QDyyn%YU}FL#DsV`+1c1RxcTmgJrWZU6cl-_+WDqOU+fMqM^g*$ z9Z?nDCQdt1AweOLXP*`pmkLmPthD4n01yJFXPvhe;bdas+*8^Aad2;y6#)faLTPUb zsn8E7B2?YLag@C60+u69>t&1_Z~&7g-c~(aFwEN~!^ReRLro?G(y2BSPf9mx20vT_ zqaz^?Q2;zH`dyKX?>8Yj?hQ2}35#BL(2UDFFayi$1jwPNy=DzhPO%qzOn;5!? z20`Tr} zG(kh8VeXvt?0rBn060?sr39*Mh@=$yw(XM9csrVj^ThEG;2HOnD&)80MFWjS90k1s zdPwp=St8%@SgyD_Ei4l+(qqMo+TWmw1h5VQdqa4F5J!F$!2mX7 z@!j|3{+4u;oy$5Konogxp7BmtwBpw3(4B!{Lc~`TZZ^c)y?P}IE_IQY#HT)BcdbS4WBt zjm;dx0e|NYJ66(ZBOEMk&7SSGPHX6r#-#M%K%}IOIC=_te&lX2P^;-%0Lx!-RkClL zH;7Cx{FT%n`$;}~T1i{u@S07|#tOp|wZugMfclGC2$;<>xE=P{4NwqBreAFF!a4Nl zKSOU~r!6}+_1lywR8B(7NcX!a*xqOj0KTXpCgRmh9!=u=dqk$4Dk1dy`_*rm>6Q0P zVdvkE-#?TIV|MM$Mn>k{aYNC7*#?mBVBc&MR10_giiJnSoA8mo@a!B4wZ# zn@Mmxsi7l;h^xX!k`S@ANK2#G#MY_FBeIjvVdwYM;Oww50#uN27)83+lD<33whKC! z+0dtKo#P;FmjTem0938=RPn(C&5vwoZ`JzrIb&Cf87aUn0jIpet{0^2|Br8!m_2nT zJ6L%_`}dDO2h;4rPJn?@m(q68Yz!N4AcP`#=y~mCbC)1;Q z0KC)l^~N%)a(nkedbzZ9$}UY+$cgaD^GQx;@}WiZK+!uO`9zR%NSz&y0=pla>C3uR z7heSrbK>IbP^Y+Q$_7wFk%{p4B}GLuQ>F9x3m4r?L88%cNPYOP;72qX=tyD3od{I& zdX%Y6GL;vSA>LpSZjAz&hOJ?;_s}qqRsqpl7;^IvcWz1pV)X%-2G}UmmB9vi5S4Lk zy981lM4`#zH199|3No2b?@aM%5_O2)slwqv%o>@f{)0;Rj@Gc;67g4R&_pHs`N*)+ z<*zgxyb4LGJ)**Ll%Akh#l<)}q9J#bk)B+|b4z$AVI@F#le!RjvS=mIaS8B*9WTqwIC9%*N~jl>nZ^Af zd_y48ju|M)#2*RQK|j1bw)Vm&vcYmk=Tq0xX=Bi2gZ25?r{2rcmpIDjSW?}EewMSQ zgnQ3z8OIlfqWP zGElx!tbF6M;_8d7=98CBP&9fVmUpvpd`qL{S@$N zs}jHH9?E88GgGW^NsRWb=XEVSVPkhD5rbgz1jO9}x$NQMr$at$F3_vs7|Cd+TiT8% zDp<@;F}zynj@I!#bNmj%h#o4WkN_nLPm4s9MuS<`gcS1#OSfdqXP40yW?v0+o99{P zm)F`@RiEd@j36P*cmfI9Hz_QG0ZcnW&@I5_{E}Iplka<_QpL7!X4my0y(6<_2k@h~ zDQan<$=eKWlAHfS?NcUBnT)!9Rg=q*2C-CqCxsBrNL5{_L$3wX-WtD#~|PFCjKL3mc|PSyIGT*KF#KYEG@=rXG2 zvEtP%pLlVnuhOHjgCdQ4L7!GQi#`O7ut9tqE>~c?HHPn5xsFS`Ud>B;YEAjmo(NEu zaQ-R|7UWNHPUS4#qIB*Wx!p*lOSWLyqSU_7S4gExH_=`*yc_$;yW&@x?+T~=+oy}M zQ~pu+i+^ArCoKF(_V0NUrhNYqOmw#KtXEvkaI5rOrETgsknS^mBIDo9d%xz*?w8Uh zdt%l|z8H;%mhL?zb5{lK@{%ign5ucdi@-ucqGy-&5b zAa8%>^IB2Wi{oti7U_?sw7*iggY=%An2U%{J^SlF(zS}LFOu&68#XC(-Q<3JQdRcq z$SyqCQ0Csw<0t>#e|i)%54QeiGRIlf`Id5kHSF)A*W2A-4$m*cvIj}=;pD(@3eiCQ z;U{xDPfnmX^7XI_jVFs(oQ1R(u_yk?0wK)i7H%1hqudQ2jtmQU9Qg?s8B!a$M2K8Q zMy6sKiEpiI4up7g6@fUxA5S=^_%gfN;GP z3eS(?%ctb8qZI52rC)d=kx$NJio2gcX}}c8p3i_Zjf8%RG37>>ed+Vb6sH?0eAyA{29D?HFN=6j&NCM*uUi-=(&Pr4w>VRZk* zm+&V(o`RDyWr57j&;ybG1Xo8HuSM30rnX1K8Oy}^4#n4@No zd9^{dDMSPdijM?+M*;z)m~qpmlXZyqyHDRZk@qB!zs-mBbr|1VW9{;$`1=*e-2`kc zkC)>X&+r?-+l0QQdrZ|J@L)glZh0xAn!X zbZ~ui>)CY2=()*SB~kmO@6X8nb8}qCRTx14gn~BlbgYm)p_0_!IXm10kfvjWdfP>u^`Dv`dO4rdAUK!sqr0xnWwa| ztf+W;jh%RDWe@01@d6<$YR%{l9!Ne76vTpl6@4cg{B>X%6=0N%VclLT-`hEcmP_GboyiB?8XkZdF*|nMii#>`W$@qq^(v zok*6}k)^Fu>nfLi#OQff&j0Z<@@;5{^JR1ZS#@WJx2AbO_*j7QGs?nFT=CPQ(tzA1#VMefO_V}tBoeZ^tJ8l4#6ENU zRaLT7=W$-=Q`_)Xx_%M+Vmsl5dHsu0!i$Qv7hA@)OQ;|X>AKf0&ucJAvt3ai&B=%^ zWI&2Uu!R)~E7@2`<3xxzMdD*pRKd;x0YdBBQBd#vEd%u ztp&IWz2RoX-R2XGmrI1UO0=uHPRzfqP`$+lrMxB%-R9au_nJ>t-f=H$)18SX^5JUB zuxE*Z(_?{;|3nlE=E%9$DOfzyN+Lt=ld0UU_r6^akBU%=r4MZ=~;&j?pa+rMJwN{3S7F!*=s!El|5E$dytVH2TaLoH^Fxn zHN1*c>$1awnA6>){V)guf7Du6_D*N=?i)Oy3o_hAz0+ogwdTOn-24TwohMxrd|mN} zjHihFm1g7Q<8E6oAWOQVjSZjy3VXl*dc!;*UzaT74Ox~2lvp3m_paOAi*d~qy57(+ zvrqP+=*7H6Sm6@X%RkLi)R?&n_^1ZrdIPi|oqY6^iM0vHhSY==b`bZvIy@IT1T1>9 zym|}Md$9yi^(nCG2*84%xT*m#Biq%mDZJ4sA00tAK2TL@Sigt9TIVbAaO|JbYOlez z(}t3A-~md1-=Y7$n`{ujU1Mmh%;Ngg*23jR;$x6SwzCcikiiwwtsBh#w08ci-3xms zZg$XmWpI-*Srm6?LKO&r7}YUQQ6p~YBS0I<*L}%1+dOYN@Fw@xj6f#>4Z5Yy$RPU>&P!v~IiY8%gd z%jq}3MHce&VRrF4&__EDfS9Zo?5o90iiS>-B=p!2fSok7Bl9s)vQt}O1%kPTs_Tj0 z{|bOtvhO?F$ymJq&`ox+(t5cP`R5O`r>}Satmj^^gISH4CBp=U2OLVn8``CMYX+E? zj8A|EQzi|P)erhM%{&2fu-~(zuLjY20ePFM6>rM_&6ZWA0U^Ac9()HDKa}yh@lM2w zd|(-7a7Wwd1uXMAPxXsRwFdMBIbF6r)as29k@!f2e}6w31mX7LV#4Pq?LF5*3>!6+ zr$a|eu}{i%Kll)e*|8vg{9S5{y75QXxnrR2X~kgN^&#O0yvACGz&!;UY9#R9G2vl2 z>|0@8-nVwy!Wqvdh8qv)rs~~gSE0wOeRMC#Zn(c@EQ$Ji6Dk!4VsZg-Jf!AB7XQ?E zPwM>s&$lsUit%*hcs_dk(P4hBYv(Y6qQ=3De>zYo-3TAHWQ1Abq*%>QUsBv%P6Mpu zAy=#kps-)7Ym^y1oOlfa$n9j(Lg-yTOWj=jyK3yGT#eN{uQ^M=g9mF+GWYH<&dP+RQzf#VO5P~rc-e}2fLd3X3212iQ8hGRJ6zjJl5o_F9UmuNs)`5Mk zz?Lv;t`)6q#gT9FdTeE(H*dIYT3@W+*4;>dykVHQ5x2jYOxVa-+mQ9xsrFh_d$yA~ zzLT`JlMUEa)!!;_YJZ;?@}leA%dxE|sOM6FS)1G2nfPr}*fvpdSmkOfm5MyyI^3z3 z>@bC{qszIncf0zEEL}fG%R0bbsf+mXYA?zoBIv5V;9uBl_O{NeIJbzMVsPyK=^}l~g{b91An@a^-|M`7$iVX7f z@i0~ML8<%BPtv{Km+w6y5}zZOJ)BqBN52TyPI?@?vEJ$tCLjI0Jg$`D7tsnPc9Kwc zyuHE|6h=@Icd4n#Ny|3K-X;PcRi0aK-LWcJ*01{anM`hFjZXd`Z2ISCh6Ce`BlU(O zuG>e%n z@yu}-R#Jgs3LR}xsCFHgQb&x0u#P>7hXAu`Ii`@$~N|gR#v0d z4i6U{-G6U;_^%(G1^m7eR#1XHfIEnxbZnXK#{x9%6=Y--^duZ)6io~itj+h2lgv*}W}--F7Pxrgq#Pj%6Lgu%v*k?G9~}18wnk`p zH~%_FRAku6rJkmSo$MHVm5=Dvu_cr0kBOq%ol;yNY+#{wV%8YKG&C_eYOJXng%jP9 z&r~00Q@_;Ro3*${ESZvH&f#ifU}g%!+JN3+%982bFnu7`_=k5MXyFgbW90=^o*MSt zs7zmZ)cpOY%M90nFoVaRu|k%P5glfGb!AiC+HEL#rQBf{?M5FM1ffS0a3YDA$1zsT zpgR-?PA0GP-i+nQJrtQ2&HRy3ZaWZ9%}c-W7q6n8K+Qd^ZnGXK^Xm&HK1gFqF2!j( zT<7lFX!FaGxw-ugsc`)$DE+r=yO*1m3dOrys~F9L?aNDvCFNnvFXc#5!kabWz$dYd zSO1K$>EGXqpRpYF{DJ?qMNRAAaX`uo(EA3+K#?HX?hdWLQvn^ z2S;Fo!5e07#AXE=D?RQ(rfQiTHHPK#4Dw*V;*C=FN*s+As-Lw5c9g8wn9P%eNgHKe zvZL+2^@jgQo2NkGz7DV~S!`6GzPn$CuUXGlCL&$A=MxNQmS|<{>?wDbD*Ov)Yn0_N`?m=)UsTZ0%sW z7iTL01r9`@HKomA?igdTx}+uFrxZUkWYOF&GnS`Tl2{i5mGd=rx*G3wCRTPIbGCE6 z09&@(slRL)#i2fSaX%y(AI0o*`Hi9|{EkJmjoJgY*d3UHtVq^H)7vf6 z^^9o>^})m2ond+YmwWr>_S_!RAK&AjH|(y?Y@Gf?oO&`+8!ZudE@IZbVjF%oyD2eh znjcTf61RN%UQf086l;<$K8|7IIP^7AeQa!@(n%TM!(zc-@_k^mE6-8}``9lrhdT%YImD2V%nl!V?5eTNRftiba!81d0mPu3$l+4yIShCJ7@>u4;i;<}%Aoe$aW%Na zYIN5zp`dK(I1v3>58urg7HSj@k_(Kb@#;tLb^u7~ZpBQj!-5@KtTX!=_;%_OqS+#$ za0LL6GK>IbOeX|VanUU+ctbF|I8+=Vijp52@EB})W6w`r-sZleoZpzv13WXGmIo0c z+)2vKj{*f}HL}?E}p~lQEH@di$I35N=crDJ&gm%#u|w>9;Lj&V0{V zKdW%AZCkSW_jM(Ru4wgSTe^>V%2i*rcuQhOc7|-yvns3Phu>q#hF|)@Q&}aPyJ!Gk zMj;kn$uyiW36lh-Frfhnh+Q)6yOi|=wfXG=hvAX->%77SI5o!fMR)JoeU4!^E72!;FM~l}G z5d2iR9SJ#=<^QtXjS4A%YS++~QPN!;@ms z7Jk7vX(Rza&O<{!kOKg-ua(>;;DCSGXvyKoRi@E3Fk<27r9^rp^?nwJovGQ`9FKF) zhteb>qV6Mocz6anG^ojt3?X$k8Qy@XJB8F`iKDgDVF!jc@%GkO90)pL&&Ib=M(O== zlR=Tk=f%V2r;kL7;mDb>lH;SizMI?PbvQ5!vOIsL*irIj!K8b@anbtC$FlDWru^HF zOMVqURy-(pAAWXR24r(mrY@Y0l{zV>DREL4DV#|OIH}}hbJo6JIGfXcQY~8Ie9yD+ zL&@1mtumX7L0aL*YN^wDgA$jAFAL{h1e`Y55ZPSK-WSflYCnD9UE*qWQ243m?DSFC7ut9)`MZ1IasSFw>v|qHI zvQ19Hk7VEu1AwVM0#0pFFa_h5b+#`}ksVxcIJyOS6EH9s$|Xr>zXsIwh<|A0Z#p47Bz~rV<|&2g{L|0B2v8|Pj zQ|`CJo_uRpzYk$lApmBk@aGBrab(k;J~dA2ZagmA)N15|4|3D4+F#0f9UuT2u*>&k zAz({u>{B>)v(e$7LL*qZ?g~xZ1SVlYnoS$XR64*^XOqYus`TGga7_jT&<>;8r7LWW zJJ6~i(OF|D#=Y(?2PM}P?gA)tov-iEcN(QH*fovW$6V=nV~&_6MTh3P=aVT5v(hbaUu z&y!RKp-}av4vnXHq7E*JC68B!o5j#eLZ~RAHwx5mG(4uX@>a(-!|#de^87*wh-wQN z80Mzit)P^VqNWi<19hKm>fbSA6+<-jT+Ag7%!-FB2G1EM2UrT;XA5sJ(eVI@Bs7#U zEH~m#>~g~(4O%NhMk*+(kSC5DTLn6fI~Tk zgHDYhK8{^rh+Q4ZAv%PVhj3D=aTY<@z%!$}P*M+8K@< z1FD%J=6^fP2D1WchW1Rf_BRdPk+k7FhN}ENXrWm*7g~3ZSr4B~_kbgnkfXa1w7yYC zsc4_Ouoie)rb?#I-CSBfKnp|JtYXCxWv!UO`zZbo|?|u7IOgDDZM=o{@JQvD3FPJ+$ifqH<1L@2#{M7CtqiHzz4o{t$iv$Sq2G7Ld@zJH5VSV{kXXYJuE05+K2^G;34eDks<*!;6;@S;% z+D4Vy&W885V(!Zi-1nu!RI6g{MPvTWV&rKIB-IQ?vkc1K8EAqHc~A7jxpejq)jR8S zv^Dex?etRG^lroSM+Y7ZM(a-w=yy`wr_iz%thgm{n?J5XCHPc-@uP&P)97D^r*Od) zraCbYvHX=x#&3xuLw$OjeU5DLq$;WXDhvlq_`bUF0;Pcjo4*Hh0aqTRdrZx`pmN@5 z<+xkElEXaYzL-pya;q1{u9c?366yo6ct}$}+mDgEAC4`iawH{gNXR_oVb=%o=tEWT z8^x(1OfIsQIqH>?l0tKeU@1vxE{gn&TV)EY@e>hn@U?D-M2-MR6?%-;B6;9{cl(2u z`l*rdyo8vsl~WFPaw>^j!y_i#9!mgum%Df=Ao(w40^is@I{P>nuhm^|tHo0@(mKag zNtz|9qbdHM7#vs(36{W7=^|;Sj!?+7z4TEh$u?EufKd;H`@eE4)lCvT?Ymx{5H2DR zoc#R!x)dyd20Lyr84H8?PRImp&2F^mzGvVg`$eOR2hWP26Py3^iu}#D`CFyIo~lf8 zDJVj6uEHSUtV{1!Y>X~vP!~f3h2Jq@(4O@>z`af2b|fSTP11d*Y`|Wg_v}%94CQcB zT7)FW6@c!#wN73qQ9y$OSN!t!;ESltkDt4dKwmgu{J0q=^*RT0?3>wDX5fol| z9x~vVNcu3@V4Xw{%TgD~qW7IG|H7O9lp-e|x}Jyn`bqd%2i1ZmL8Cmqd?ZzpNf96C zA;Y9tRWp_lB!E~4eb>wrT6}uIm2tyNHseM7F=zTF654wwQCl@@5G>Q&kTG5?2ye4z8D>6lar?H$}B3M~Uoi%xx z=Q5}eCP-^8Q8lvqq{RKOY#fu*Y*#UZ2Uh^4E?ufkhRawNi7qL2xTTwF1UHCm^n=&oeV<}H* zT%-Eni}QCm+$>Xi=9IRC$mfyLOcwc@*ane0vzL%YyQG$CJ9DzGMrLg8zw)}5%uOX5 z4P;W!^K73dZPX8gLD~1Y6)Z|>L(=9=1E0tq9d>2Mv!LFDAlc-_8bX4{mMAr_siJGZ zF1ysdpvuanxYRmUOVu=HO`Y)%9eDBgz{Y!!w!Dp|NdQUy z&+eH&-LL+@k#Cw-El?4E?k*LD%KXlTv9i-=1Z*rTm;*TAQ_1(3<HKo1noPB?lI4=I!?b--w4==$sLkDeak2Xkaw&*Y;ng-5DxvlI;YejZR&z zF1z5pzi(a(S(vEb#Q9kCiYQ2m|J9Yc+1$!yNpO178rnY|DXi7auV&jU*yQ-xerz`?Bfi^1i|_~TsX>RC?HsxO%L&biZb%Fr%` z4G{h%I}X?+Khdn)GHO5d2)tkfZapA&HGWAtz`Z6>LWAv1#wh>wSOxXHCq%FTN$8P5 zs>%yTtj6i0&4iR9FOAGgc|W zmC!`fkln!5Mao#O``RmgZ7b?gN^rEe4DRzs*3Qn7t9eXH-7$BI*_gSDqC@2P&$EhX@5pAZ_a^jJ6W9D zENV)Fryg%rzpLCw9Git60A+vLTzp+#>HZ}JmLjZHtyzg^C$`*67W$g#PX>DMB%r}s zj-a@wxZw4}GV}TevppFk1Ni!44NDhbb7$%?7MW{&myi`Vk@Vx6`}$5F`a~K%7s}D9 zkoy${xCm+Q>wY`r_MK~lcw_Caq4j4p52>#c2h6dbv)M_3D{G9mMV()?a#p~9o0Fd> zFWGVP)W=qr4*IU^x)?{)*!7)B$Utdt=fngflY2m@%!ef8RJ06KgLnXou$UA>Z=H;e zzM<5s2eyt<&la3RBJ^dIBOT+=nC$9j{V6$pZcfQDTKMGd@*pR_X8x&(Io{E_w(u}N zM9fL1u=sHPfT(7cijGNiOOvVVV;_%D-4=y#*7oH5vdXkc>s+86KzJXf#BClau_3~8xuOPH{Kj@urb*XDDsHc_KyyyIZr(e z6Q?kSzy(xIsMOsxCb4vOu^-LGm|HWbdTi@Fk`KM4xYSBQkch{bnsmf8&a>#q7=wcS z_zK#@3wlZfYCZH6Lyc%DEek({nIbSoUrKLf{s+tC^!_K>(Qch=^LS)&Lc%} zZ>>7Gl6+%{TIHd%L&I2#MW>*$^o{Q@4rQ^L^UY{wF0C)o8X8aSGm$Lk8{#Y~X83Hl z;a+u)N&7-&OuLnqU8W0nat=qKq zZ?CoTMOZv4rA|#+YnT6-hCwg}-f+C-jBNQ{06w);fg(LSKyDs+^b^;mGZN z)V|pRx1LybeurqBvosnmUa|pWr*NxNWk30Kms=|-`2FN+ zvGbH%t!2l00Ex%9wV-d47x6`kW9Q3Gx^FrNnQ1#`LH3^>w+A!sKa+ZHX?~A$=P0;W zc55YZYM*dFS9pEzpqh$(cgXyw7gyDj3(-NJgFKn^P7XF?tdcKT*kQ{3F1apYHuj#A z54uF|zgYtuR=2iMp48UxC$}H>yj=K1%6&1+Syq2EEymG(%=5bO=YH?d)!O&(bDvj# zoD6v${QW+krhKk@|EjI^F7EWer(4{#c78{sD|X7Gd&#u0X-HVApfP+pgkyZfgo83l zH#ANDi`T%gF!fk`%)+xQ^2iVUpYsuq`0djwtb>Xis>xzbpX#Q_B#4uZy$oHNxf!$; zhawf6h>sf2+>dc$r}C^@pPu#KddbpOo9)T5UCg2Ex3MtYS=kTpw&> z6pEoFfNC^x!U_FFY6*Q%B!Q0s-ya2R{(x3G z?1|)(C?~h#S7rS+9j_u$L0eK+VhvzTw3Vo2S>@McWdSoNR914a325t*bKkhxRwZa9 zpv#;HW2kDY7AvXOvQe9C?ocIh!hl&<5PAmA08q0t5Xz5vtEK}0>4Xyj0Qy5fwTk33 z!xF)V4K8yHwvr9ztAZw+hXAO;tA^`>huOG`aYKaU^T$@VEtZ$&6+0vweM)W{zZJwm zrzKy8`0tzi!>Sf`Y~FZTpnk{W7Z3#(0Mp_$D9Fw3s$D1J*>?$080!A0tyF8_s?cNk z{l)iDQf(D%cbt!b07^ex+cT>>t`_@CGXdAB(OtC5BiH5S4XM}pKdyJhSgeAiJNmbT z+;1RpBu?0lF)I%b0al!3>Jay@d`-o6EQrbyOCji_jEPT-q>!O22a_r5IlFv5*7*nl zCeVZ|?_1}EtO2*eMZ#xTqv73^y_fEua3l)HtcUCQ!-mo&t}imD;na9|6O^?LH?Z>F z0FbdAkPZL4R^Cvnhe6*aj7ZMHy!Po`Nk-(8SX3nCeX6L}oQb4rwxs>^oYWi`2)Sc} zLYI@)JH|}q_`sVRYWxXXdsjw6UBfq1U3p~DT-9t(VsG@-_I8mckh052rW#ezed&ln^EPZ zPNh^7T&Lul$ve6EBePdDwrehCn{uDJ<|$uLh!Z2N!14?IpDAA45RJ6s2wkwt0K%>D z_z~3dqQXgO+dnD1qx|yH$AGi*T!g#Ula9qZ`Dag>{(b+cw!HY=^c5WH6~(NE7Y*vw z?&3D{aDGH<;V6Xz@(}bG?5{692uHfHlBah4&r41qWUJo*k;96C?xoWA%%_1+1P*v& zszM=*#ldkqY2-*i->ac0N^ICV-!2t1gesCo$m!z`D6q^1iKEEJZ7_LjWRanhenVCO zhzmf+t4%n}9?!&t!?|c_M+V1X!Mv|iZ6rLBDYOVdDi|QC3?hmq2)j1|v5e`N0zO#L zhAM{xpeH6HR0Gi<8z)l1yVz7(qD-rFe^3{x3f^=RiC^XExW4}=Few^eI`2IMl}mph z&8Tc(zKj0IjP~Oc2!N1_^?_wDL(f9-B#z31W3}(Di`IX@N7SLAXhLKYAfN{)KRp3xLip)ELi+I$O&x*w@59L!tLXs1(*OZKG={MEjWVO( zQIZx}5$={-G7sWNwFniaoO6nRUpKIv%s_qtG!zeDMx#ko;!zL+(-iIwq@3n@bUFeJ zfB-%ekg~BWv-=S4HW6;IZ#cObaSQ?fEppJnxd7zA*nb~+dUto(EsYZnWC;*CEQai^s5MpG?zgqUXMQ4k1jTIn z?N$f{l!}13qp|_OWV9&x7g87(qD9-n4XvP}MkR)0>OtTAQHe0+hWeprwB!C55c>Yk zfG=W}LrH>Rqr#JT1uNwz)D@I^HiJpN4)sY5PXd>!*OfQ#Rz$jke zaH|%t!lg%oQU~b(`Y9APl0MOH^A(uUe3(z0khKMb-W-%RE+`G(NQdO;H*UbRipliKK{3i) zF1TCnMlrnrctGjQmKxO5`aVB7sXc)g77fG#K8FK{Kz{Bh)P`h<%I+lEj(N^JhA^v4 zI4Q59Xa*n!uAgV#ECYf;J`N(0W4^T|NK5-*kQ3?kLDw9K(I*m&)>SF5Q3y=lKf#Jrsh4e7B4YX>-H4%7;L}pRwt=Tan#N zuHgAbs=yrdz(zEgP{CAP#+N{bcz50RR?$xwZ)Iw}`p6%I&wRxVGu+w;8$;UzzW}vUP2D*>Cr8eI2s@I?A;paleCHg|CIT zv%5HB3Nr<`7O)$KEYu+ z6?7~C4NYgnVR5TB=3*<1IGu6axw8ksgmg}~;Se_og>p#xEb(`WOojmI37v~Kz`=k( zI#tKz4jA)^G>LGVTzbwK^L?a78FWRv-veM`$!sNC6TRa3Zgvx5xiu;HV>U!(idLEQ z=X04GyksnO2!*{k`b;vdqC4rlA3}b7l8gGl2OB;5&Pk@6p;9j+g&igV01u0R2mtVc zZeiAa6&kgWNWLgo&gEvfWN!0yn9@p4p>~zlV|~8dcF%2eiv3Hw8&C=fr_ZVO(C}dK z*fReKU;9zE`(vZjeY5lq<4`U#oVwl0V{gfQTjj+@;R~6N#w8GkTrRRE%Bs82Ot zZyrCtoxRuueSsGj3sV*gTt53j>)9-*GYl9ho895;7}adjz9`3$yD|DQc%GUcoZ5Px zxg4DNc%FwGoJV>2nB=c-?4+gv!4H!4*qR;UVS^b zI`Sl59uPrZ0E$BZofnYx5XkKXx_t-|_X5iwf>pgBx`z-WF90d}^2c+rXgS(9rjaN^`gPKMLOdAcC3|7oU-qnU<5Ex{JPgLiO(n zVp2_QLQ`v8S8wb-X2`-~)X-?e#B{{eZ0Heoz|Q{NW2b&+=RQv_g0JsaPtQ$HuT5Xy zo+r4oXtqB%x{E00p9#X-DN5fH#dnkCPGY%!#S0uJ+`dZT|B|UcpJ% zRu=p*-)^SRWwqFL1RwS_Rb?YxV?ABxs^0pl!H(GEO6>fv~ECZo4L?;3eu3-9X2w(j!s-k0UQEw$I!yScTqySqEK zzAxcfe{$yn{`GKq$8gqER`sXqx`n#Vwa%CQQ!o3c>xWkw$3M4@Ej3PV_I}(POHCb1 zPyd*fHkX#Znx8*d5#3jvy!t$9wLORM`gQ;7jt_6&?#9Jmy@~u$TlcfR{;=`oVRQ4x zw*=yN32_2XoNxIrE*~EspPHKe`0?YlFJGOXURhZoeA*dU-XGc;`t;+|?AODSfq~P> z$+P#<7Yhp;8~@Sg8%G2B@d$36Vy)(i!6YVemz9y`%HcGmYT`}pma5S#exqlWqb=3r zc__QFV(r$N$^QWImC@GP_hsm4ayFf|x|vF?EJ3TWw)zjXm`a@zombE18cbVVR>xj7 ze0qs}m+0{Hd%?9I|M1Ley#2-UYp>0*65ZF0t8apizpakHe);7s4otzW*U_}zGm^~p z&bPLCb2yz_w^XmQWotZN-1YNBXY0;;ylN8ry{@*s4|PTj){|YYoT$1IzX{^jB7ZD* z`0jt6eDnI?3n6;hcpBaD>)MZ#-fHabJl=U*pjxKi(|Pi3q4iI1W6ztwpP!#d69Hbk z%rn*`N7;%KSHdkCUGuNYM9#y*E-%)X^2**mSvv1H-1&kVQJ`JJ!3rO)MP6}6Qveg_ zV@uh$olhsYd%XN@;w)_za^fu)X)O}CTdF8xXc;iC%oVuDDf_7J3C`R#ReC5W>7|%rDrqE{LMq8dv(O>xsHB!^>ZzqJatf-fw(9Duw5b2Y zr!q!(Cv${PO{G&JyUO zS5J278J!NZ5VXJU{r5C;FSqR&;qFu4Ko75eyo?{d{`=_??t=S)BY%HxJBid`($)KP*@Hy~-3UopP;YPlTn6D@3gP#V=Wi+I1@Ppx6*B+i$ zzkconYeM%R$ivs2%m;U)AkY7J)TRP(3xr7Y zz`ELHyd4& zXGJ`s6F0a-63!8RP;BDRrdW|G_V0=c)8g{DI1(>{5sYH22pQ{!vNo#mk!uXX&Cm$5 z3R>iXJlR(I?zp}>>XDO)%cB%cD99rKGK;0O8X-ku$V197krY`Z>>5c)NZPVyl5}M4 zhM1zCf%1L7o52b``AfhNPME~h7au9&$Nq644PiiKDj&AWko4knu6!lPVs^4AETNXS z3@0O{-~@2C%#szs9QJTp+_1rn&z`m6#=l*(4w=Cn8JO z6=4YG6sI_YaL|O744o8Fr%u=@PvM1to)xud3g9`)d!~{LW9R}uy;e<-B1~aO-b@9Q2JWbs1Mwm=`EpsBx%wGyuI8s%r1cm}Z zX-dns(ulM)hc%UH8h;qXoZVC+ImL-4gBnT^{K1Z7h1$CO5Jh`NE|mu}MIf76wUU0M zl~Wa6RUvX!Np@AMGG${{MfTN*g!Lw4O)KC$so2GuwXJ|Vszj3dyi?M(t`Y-iURAoy zwb2r=fE6s>c-bR4Hg;)@JuPY~AWhmv@2NGCDsDBl*N61g2RiI+V1wX;C=3<| zg@wprZ9-AyE_VeSb??wXfKj(5Z<o>wr3 z8Drvw0GSqnvaVg8D^BiGbyi8t0=hxAnn-%RmBgFsFOlQxcv)ob8_hjS@i*+QfzSEN>AF zNkz|$#SL-sOcG0J4oX_fG0t;jNhwH8Z#u-bl?I82T;zuIb=0I*qp4+vYKEv#C~&5)Lw45s3KWDtfRgz?2$Tf|LwyTKI#_||jb40rgY_xw@) zUK`sc`7gJ-9qP3$IN-wmIB?4+T!haV;;H|IxVK~twRkgR-d(fxt;xI*Pjj2!3;DG! zLGHj|$E?^3Id)7~t@4x?-O_rdBA>B%aa;#_Y#YBA&K08baP!>IlQeg58*TDOx7+9_ zNBXQiTI)XBo3=F9h|NDe^@LRY>JapKB@fOwBYIukU|%@PA2)3l%6!vl&&b*b-FAe$ z9qv8PrIXL?v%5Q+xhnq_hHa4CmiL{7Tu=iX&VJdzV+5+Yj=I#n%}DTC9q|eb0uRDF zatoHc?tY6r!=qhe48!~KnCE=wU!v~-7ycmrHreS>KhqV{J$DJ0y|+Lx0@_=c`OYtw z%NGK3uZcmVO+SL?FLF}RgW7a58#w>KiSIq}FMjL2biA^ER|6W$o^b7t{*m74v%r(N|VbPUKg9K|lot*m{@rddPQjdiQF|w|B>bd-?Nsf7X8$ zF?eStfCX`Q2iQ7t_cB1I5JCqNL>G2;CVLd9H1wAc_E$9+C}tW+5gf>Cq&G{z7J_s$ zf-X~n32}lik%AGpf|1vPMDv0O5rYpigCJIe6LEw4mV+*JXgt`1il=oX$8~iFfnSGZ zllFyv5Qa%;fzShH`!`ZhC=pWVdsHZVg78;YIBr?Ufa&Cb=aYQz7XmHNe9A{SeJFq8 zqJ#&*gb%|7VIT(9)^uwa5gPvofF4K?{uTsF@B_oggOq3l=eLFErhFdoZk`B=N!LgG zRBzd*eY^*N9`lC(b~1D5W(2p1uE&MQ7khi?0x9rtDkncGpo@G*cGM;ZWUz=A*N70I zZJ`H=tQZ6mbcrFzj1vTBj0a^CD1j^}c9sW>erI;sXN(WghT9d10|A1s2sb`>PREyr zUWj+rc!b#ai#k?zOvi}1)_dXjhGw*L)k{G#>da3Rw^g$uMzc25HDo-slkEh+7jW z4Sf}d&PaZCBa014i+TT8T#@%XG~j+ad1F4AjqylrY!FS|xF-Lnj2%~e3OJL*cQQ?> zg|pa+q3DU<;)_CwX{V@?si>6T7k(Crg$6f`!)1#ep)PLU|#nSd&+I@Tis4rgu4iJ3ddm!6e%fQeIrnMrn6 zjRhHYr#Xtuv~+$pbM>f-cxh;{DVxPdo1i(BqN$r?_;~MFfpGapt67Z0>6O`Iocf5I zYNnivrjbRYlSluDn13h&Y3A#27 z#h@TMe%~3I;W?U+c1%GDaVnaa9x##wQIZV91!rKCtcemq=9&nKnclRSh<7qgCY2D{ zoY%OU5!jn!HdNjq``h=Aw%#5RHmLX5aZJ=y zr(ypJsig$52O+V^O0nk3NZxsBE{j;7`jazott=V>GO(i3sic^f24H}*f~2zsk)uz# zqvBddOqQ-cD|}MG1OjWD1iPyWS9BZYmUwrzsA;npihVbF65Y42HWYp#+O;lKw-0)s z5xSoew})-Hw%ID61p2la$D!dGr43rK7Q3J&%A6-!jeEeD3->$cnWT=XMVYsG_-YdR zTBiK!S@LPOC$oBCo2z5%sc!1AGMlh8+q9Q!MI-C2od$KDJGW=5xFE-}=ry$L1+z!D zx^MciZ|StuX{WM#5 z5YfsK(;9X*zyi{nQG`>u*qWXnwVs4q5;=0U5{a2spqX|neDx`$dh0V~JGl*)mZJK% z=s8*VG`LM_poS~AV-$XRiMzSWxI#;o2*<0wdcl@^p~O11U0J&goWHgdz6CM9D^b3a zD*`>4z7^G?fa|^jT9i_&MN~V&?zz2Yic3++yg8h=1Dk#v*|DSvhV(j}7sv&sfRdYA z63H7-D66$HnZGs3zdcN(F$=_yM!kw^y_ti(yH~P@d&9-&y&?*}ybEEztAbX1u)1`u5G-zFOu=1fuyls7!K<*YtHH2qyl_0b5xH?q%t&IKrp^C5!Qfez z|GSnUfQx9mev#aZEo{JW1qWl$t%ICx*d)iX6n@PJ!q8Z{>w3BxYr!Y1!s^Rzmke9{ z)I1vM5+=*U%ZN~QY{$4P#bUd+NgIfw+5#ys#Kh}NU$DtZOcKYiz#cru+_VImNXknP zjn3P@(CdyJ`NPEgy3{FGG0Z|UOb|<)O@};7Pt3eQ%c*$$fO>3YeC)A)46G7;zyI&&nCJM&#(a& za0naS(I1Tv&(H`OKmis|)OS!P2Vuf%DFX2)sww=+(1lMhoXjIJzqL%xn7PA03zZAV z!@b-PIla>YaSXap*1b?698Cav&W87o*98pA z({z2aj1qDC&;%8JLqMWio!F+VUhFCmVa?OXzyS?F00lq+kB}H?%>f&L00GbdhfpR2 zaR?TG0Rzzp7eE0>T@ZSWa;%(Dwg=T5#!p=E&EVX@HvGAU2EtW1mK6=uI(-Pea0d-Q z(s^J34WG8j#%r5!?gO3wS^P zCS4F{F&n8H#0DM2@jSfTT*NT_gfe||G`-am{c|oG)_QOV9vvpgAOZEA*7^g<<$Ru5S`n#-hS=+=zrdhqBn zf(#FE;vLNa9P$h+{s@r$BhI}615wuxu-XLC+Fv)JN673o8@RRR1^ZOqA#tEh4#qQ; z1VjMqu`a>yJ>~Ho+_oSAG|tv}fB<;lIUNn%ldcC3umN>~3mOp6WX%B*a0jCO)_VAU zu3Vmm8mz-QFs4ZDCY5hrtlKrC*o$3oyllD-5!uI}2PV$h7H|Q!APs3P0UK}!96$kG z4%DQ50e7I&7_i{lz3d4LBL@Bl2H?*nlRh=AM@zyTNU5GWnIcdo{H-qL&i(yET(tbXkX-@Sy+ zm$KgT3xNz5fB^!HY-e1AD(%iJ9W($BoVM*h8P0Ya4zL|Qck65r0ImQVpwVn!=PP~n zE1mUnuf<FnW`KM=Tp2OMw+$gUFG?QF-S@{qi=+kE8C1hsXaKjD1fpKRDHWoSso z?QI66JI~1Q4SSCa$==;g6n1+q{XDfj*wg=W@agSYye)jb9sRX9{dm{6?}z^Fi^-XW zz$B}{G>`W-?^52*tP19!Jpa{?dyVi4xu6da9s~{~IPiuvgb5WcWXQ125r`2bPNY~- zB9}LExLD-a(WA#Y4MmP5DH7MQgeFR?WZBZ?OPDcbmOxR`=0a9LbnfH{BuJ1zO@j0! zTGZ%Kq)C-7J^Is!l%Y&@4!c=Z7Xd_7wQl9wuvdWy9}12oTh{DZv}x6v4Iu)Mix6w& z&ZS%TY}-FC;@UlXu&c<29|ccD!le+Jje`|0ju`UqV}!PPrJPyW^5vS48RkU#a}brN zQbms@U3%wFL7+!d)vWMp*4D8he+~c3*Y<7P1lzvdo7?wqwRrUcHz*rnV8$N{A5NUy zc}K^_t4gMP+4^;snT>O98su|m)8WOB_ZcKL_@%66zn0#9bB`qI5K;*{2rbi2Htvi<4Jz_7)KDtaR1;0T*w|ZeM6U{f zAin%kw5_c@TIfwh80P{(gce`??Z4OpL~tUEG}`e;1xaM+r0OCx5~c}btFS1igxc^) zD2Z|k!w;nsQAjMmf}n#KyPPY86hr{QOES{}Q_T5rY)!`>AwoioF528NNGub2Mxh6f z)HA#GmSnPsA<&C*&dr=O@`0#RDaW$Gs>oFMloMK#lPSLxs@R?^-2 zo0m-Cl*NtN$DBoQIRmM6&RQ%RlqSz@BkWeQZ+Y^}LvthM&^(BlY8SG1;gwC^d+~M4 z-i~9;H%;mMJrLk&1y+n;Aq_@2VeA%$tl`tVt5{;3yE|_+E3wjeL5@Qf`D1;Bo^NFT zN>&+Vm8<!L1xEaRtVGtpP0^J|L_7t4l`MUZb)TIC*7 zZu%pZNhDJ0sbj9XyP&wvTH-1F?#b)Fzz+MbUe#9dSQk_%T5;bPcbsJ7Og@kcIlPd2 zZs@{3CR@Dowoc~9Xg9^9)&!`86Uqrx7_LD_b|%4y zIjXzSmqo9P^uJ8s>DJYw=LveLV&`gh+O@KM_xX-}VRG)}^B#Oo-xin)Gr%Ce_yj!% z{b1#GKbwi6vg2s%O|_Pcw-NA932!hqe_EHwR4Mvdl*+l_=BR00Py-zBI7M}~=Wg(O=S!4%6G8F-3iY%n zX?|h_C*kUq{OqSq&InMpAQ7cz62THFH%@9v5uFl=sC4>R(Un}(CW8DuY zxDYsU+zK5TBU7pB(SlK z)&~EF#+u!EZyP*Z^an1No=Xzj9H8^Z~70cM@Hfy16_(F9lNY(XJHoLjSEVwkw z+3-FoTmT;7KFvE;^g36K1nuU68~ap&+0nl2!*6V?T2bAOM390&WPn%6LGl(itOrI2 zSqH1a^m;(8uZ1b8;40M$x8}m{%&1GEN>PlsA)C z5KsAwAq=s*jEiM0o0f4Y2y-p>+-J0m`6gvn3>V-)h6xu>&5t=oJGFaP?&j5Xa<0{+ zd2HtqlX!dSZ403N%v|3+kXpl|EkqU_8+Sgrzu(2Cn4Zc)_E0@R)gsqDmKJ2+38^f!v zSx+&Z@f}0^%F>nwwFhg-_Bt2myCzGoOY&>Ma3KxqL;2INrE(gxTqo%2-^(+eE_Hv6 z-I}hotw*paonPIxMHV%wgjw{TVK>!nR{GKp<#dmpedAK^xOq3N;9jO!#ae%`ber~d z+D5!8Vt;f_%kC3tqJ1>Ygf&tWX_cvaJi#L8@*3aWc%F~N=Oh8TM+(Djuxo7M7_2x# z1Zi%;pDWI5FI?i?Zq#eH)bR&*is60k6-7daq-Z@Ip$U_FU@O?`grpu^~7f}!%Z&xG}C^+$c}V(TpoSt zZ#7W_$MfR1+y{gPxyyBzFWfLc`={Z8u45N>+0%{wR~bE-tG?f>I!>#Ut3Y!l=gCgrmU=2IT$gFYv87>ygi9{DyH#S>f_Fc5=MtF528Enp-&C1jE$=q*;1l6s87>zTsQvbo25 zqtpY)Xl$z(DiCT^nMWLnJItF@)R_*uL|6R7nF~Zt+%o@9WV|dSIZ@=olj}uzS;(nr z$PHRWR>VZZW50H*NH-L+mCQ&u+`{AQ$nY~o3Y14-+#!?rvz_e5o>V*>jJFy|y{sI_BU`97h=YR^n1nP5{klfZ z^S>bQfsne#R#Z!U93y@NEOFGc5Fkohtjka{%4Z2nv9v}>bjl54%giDTZ?p+;B&xZr zwgt4c#e6-xi?A_>6Q!(^35>`7n@1^8JHhk`&3r{=jK!lutQnz!A6%_tAx*pVfJ6k0 zg^CuwB$csj2wf=4zeGzaAh3HJu(w>KxC}>?EX4nd96nI&KG^%ddxJ6YGt1^f%bbKr zKkU7U+{B->$e;{9Lqtbuj4+wRx8$r%%rwL1bi%3ZnyNg#>0HU+Y{}u&!i|hc@Z(OJ zw9FR#&X%)8@r+35BtVM1O8JXF#+yH`B(rTpGx+=&{j15#yvfW0J;D4x(v!ju>_=ua z%@Ek8)Z`v*;xp_dNVtK6F?dZmiA{!RGz6Vb1(gyeV7AS~Cl&QfjbQYLFEXBiY)(++?9z^PBBDFx1`gLT1yvYI~Xkh62Ji+C|Q#| zS(Hs#m0ekuZCRInS(x2{M1TaCty!DBS)9$;nax?4l?3USg*gaXp&eSHEn1@;S~^&S zQ=o&RZCa;&+NYfb@vDRrs9LMNTCB}lt=(F#JpoH-4_LSYu^n5oy#g%A0!09YEGS#H zZCkf}Teyu|xt-g$JzGLhTe=-vV^~)t)dTFZ!LE3QN6;_8eT+w-tHS+@!%f^ZLtMty zH^+V4>CgoMlGJ|s3cr=ytq@$o)!ds{T+h`C&<)+?i(Jwb34=LZ2BF;SvD|9<=pp`hSBBT)P3FpX5Ir9-UPTvYHEv@jzJmZjgdDD>9WDR@C;&a)V?ORMyBIs!~LfTfSvmC;(NyWnS)OU;brZ#svhpgH;A* zV?JhNwq;#V01hbTWPWC7KIUa^=4h^FYrbV&Xn+lH=4GG9;cz)@9j$jHHYLI>mWVi!dc;9EhgQY%S zJg^0(j_Lr;1F3%BJa~iv)&s3R>H&&r>myNx25XwLQtmZtcNXE_MQg8aYqx%DxQ=VN zo@=_UYrDQ{yv}RA-fO<@Yrp<$zz%G|9&ExcY{Ncm#7=C*UTns0Y{!0V$c}8uo@~ml zY|FlE%+74h-fYh9Y|s8|&<<_U9&OStZPPw&)J|>HUTxNHZP$Kn*p6-4o^9H$ZQH(W z+|F&?-fjQh?rq=xZQu@W;T~?{E^gyKZsbmG7H)tu5RnTZtTu( z?cQ$g?r!h?ZtxCo@g8sTE^qTbZ}d)Y^)&+7dXZ+4@{oZf> z?r;D8ZvYQ)0UvMzFYs#C1zb?;1IuPpZg2;Ga0riZ37>EZuW$>$a176I4R3I)AZw#5 z01Y?O@rFL4t;aTHH+6<=`{Z*dnt1P;gp5qEJKuW=i{@fwG58OL!R?{Oc0@fe@+ zA0Kie?{OU$@*+=iC13GFxPvHOaww1T5^wS+m+}@r1U#5y4>!UPj$jftVH#Fp8g}6= zKQR9pE_3rb^D(#K>*8UWHrRBIU|Z1N45sr9w)5Q8;M_gX_vLdBesc$obM8Gt? zSMc05bo@nh+g0?Z;olPS-}#<&&xUjXl62-3Yjs9*64UgvX7t%*YvC1j1_pEx7WC(x zDDGADRL67MWp(C-b>a2%^zC8oePB*ME(!Kt3l`p9&tMGR;9$@54z6`m_hFy5-CgJ2 zUyr3|a0Y0Pc4?n>YOi)_Uxr8Eg=VmJZtr$)_x5NIKLQ?h+vVWOwe|JI_46Iv0B-h1 zvV$^+cX^+8darkTr*}hegL~h1e(!gGw*zrEU~->bb8lUA?_Y$@_2W9{=Vkbkidg@P zfEG@w*haZu`gQf$&EIoB_FG4F=~ejSs@_#8p)PbVtcKLRc&r=>5I zuxa_(6@S$we`U>lglL2dkN^cBW`uYI3wQtvSbl~uCS*7StN``ur}RJt*Y5|2BLW8! zEND<*9cc;|GHmGZA;gFhCsM3v@gl~I8aHz6=%T?7z;T-fM>1q~QTKHH!&C9;XS zI25q;jAE|>hi;ba>9b<5m_LUSZ5XuZ&pHQ}GF{3g4Hzy>r&6stFd@>2N3(J*xwR`; zj$gw%6iKq@$qR@q;Ca^T0iHWBA3oES=Z=O88;((QtCJ_$zR@_BH_asm0E3l z1PPZ?W~4f<+!(81TfG!>cBr{CXoa{ocQ)%YZ7&QOY&B|t=uk>swjR+gjO>wx2Ms73 z656nCBSgaU5YPiSwBcuu3L{tih;(y^j4e-vTnG(i>e`oL4*WU#;qTxx>jG^W?S%`- z@Mz$$;R3F;7!FY=P(VQ=q0f%#(sMxpF2^a<%N+<1a3BEy7&l&E$}z`aSkFP&&~)1! zWF2-EYDiFbWQjLnS093yl`Z9!HqvS7A!CaM3N)a{F>7hi3of?U=-WciG@`&A&@qIJ zEc~XhS@#2U58WddhRJk7l8_T7^=YM`tqI?5)VD`Xm=%h~X-ghdKLfN856{k++KF3eqDQ zXppEhjbOk5x@##=00I(l@a9B08TlvA7o#N>$6Y8WNK1&9BKu*eZP+%iKig9Wjn9m6b< zzBfliGKeNyh;qu8t*mpyEEByZy@%0kr_D$I7P8Y0@jRi=+W{SPRR(h<^UYkt+~tXm zjvA`RBIELD)Y6=-WYybop#~gMV%?P1S*@LRNN7i`i{61PJtx_C=O{QsWrNoCcC5~A zRozG#F7o3aM^4n=TLw-z=7u7!9T##h&RyoAXI?p$mkX{7#ZIHnHo;u9@rCD~7u0xB ze2?Du(YA+OYtwk=EcnzA*3t^`#T$P-^2s012r9}u|2*{3*D^HbUbhT3XQV6Hd)mL_ z9emW_J8iwl7J3 z#25YyqrD@U4sXZkAHE)#ISFDeTzIo!+At`X1&*kJ-3uKA@fAYRk+6gx;UI`S7&QtK zj)j7Ap#w+wEEuM3W7*T6qS)uO{|PXF@$=#QfJi_gb}eZN#9__&M>rn-FmnU!8WF!1 z#p@YygGgkW5(URZqCF92UA*2D%NNG;Rnc!(1Y8z<2Q|WdQH+^8;J4t&EjfY&g%eVt z>Qa|GJrYfKg!AL+aMwpc&g_hq(}@WasmMh#vXK?BBZTmHGz~h9l9QAnvwDR&O)e3W z9)To-BuTWp5ss9CGbP?onKnS;jg?0fTMqxz*u6CZZ;T9U15eH zT7Hk0_`+rVj2TB|&e4~+0_OIXrA1=CkD1Rx<}Tl8O=i*YgwSN5GzHf$!j1EkguIz5 zqc)n%t#fy>5~a>8Ni=!J)048I=gsg5GksFftre-qcW(X5NareV#J@| z0VvE0XDO|^ z5uPF^Co%ZMFTyI;v68i{W<4uf)2jd0wX)S0ljsCn<0{v=(zULXfNNdXDh$ijD+j7PpEWEtY7w!oiBnhA$*;?FyU1 z!+yZG&VBA;Lm+}Zv>>z4z3y$LOI_>w7Pv}Er_;cDG_0Ods~SNqXmS#P=3=+Kt(7hy zT)j>x|$ z1+bk2tSAEi(!hsA@Pk9_*!%xBSi~k)taSY#Vdqj9L>dk-hUfI+49D0a=~F99tg)`L!*c(CRSf%Du_7WlJtF?+%;TAoExSBIqrZ9~=TJV;Q$ch7d#N z#7QlN8B1f%pN9(v6hz=5KOrI3Bh++^M(80A!?Fp-q@3jk$94r*-m`=IEP^7t_R9?7 zr^pcfF-0?s(L-6_F>s;NMo1t46tD$D@Sp$$oXa8VqJRV>KmiTJ87RyJw1TBugCCLyzalxoh%ias4q{KQqk=Dc1)2+KBq7?->^;Km$5mxI<{55xT&|9UdS7 znW|UEt!^)aWqobjMp*ybp`|r=EPT`&V`;`R)@et-*$X^Odm<;10FO+Bn+J><@>7w7(7PxZ*j&kUBd%{~%_<$LHB!`z9-GueEG$xJ!i>GHTZ8?Sn;xZSB zJOTp`FxqY6a)&!?fB+CU`O32^0vl8}>d%cW)eYWRgf~aLqtrFSysk4|x0E6?c>vEZ z(2EPK<`D{bO-g8FBU>bjKon@pLynOL3Ou0i4FJGut?t{{wqOKZ7W``oZ+Mpnx6Dcs zZY3RmBuD>bfqVZCw!2lt9{0dUK6;SAfe_$kUfn?g8lY90fTU-{<2JThXT5!2&snaU zw)VCk(E=Nwc8WlXMGANTjAZm|+C0KH$l!py!kA;&+ZF^Om;tMq@7mZxU-p`%eQ1(Q zIF7cg7hq4A_ZvkKJYbslDiRZ!o?)gm0fs;lxP!IRZj^r z$O-P$H*x;}2jHDVs0#+Pi(Vwk@dW@CR$&1k!e3!v584;O;ola1mI$a=|5euib;bzJ zToI1P8IH&rBH%am9R>8&e(249Pz;a=Ns#n{$IRasR#t4ifC`ME4*p>vGT!4M7sD8r z10iC&eUL%y+KdoLLe%1(tz~NP5WQD*bW}=a8iR2wgD2~V|f=DSs#Eo%=YE79Y zN|xezVk^Q{2o#&y8;YRKA;kh6!XY5SDVmzUStDcdpgW@2 z4{HBoWZj~3gkyA!qY2_;a~xs1;T#1}01Hkc3~YiY93(;}q(UwvLpG#CJ|sj&q(pK; zBWQv|UL;0lq(*8aCpbbTY@|f~f)Enn5Ry|lCKt{v9TPrOIJFWZ?u+&X((TNok~O1G z0OMgmRLiU*gYe{doLTqyWOM*!`v|2%;G|)M%Iz&BQ#Pejg2)2l0UqRmQG!ZKLZeN7 zi`b!4R&vW$!pv7X89z$H0$G3sJYgsa(+*J+0F|UTjb&))qY;j!<>diP^^{tM6kGO? z6Tu|_`lT5HCTIBL%|+Q=u4PwVlVIMXTSnDlhQ~=#&NmTdS6wAy_GM#E)ngilT&n*e zU4B!jS-?wjg-#|~RfdKya!YDH%W5)9Yu3tZcEkdi3+7FtQ#~ba=B94$=1qRn+(nXQ zPSk0FMlKSKBM#RDjpnx;CzMg+Vd`aKGRrp_%5>6LW=0KRnxk^vQC|MkUN#ZtRHuw> zW@eD5cSPo+Z6|O(r*}qYt%&DHl9PFQ$b4D}dRAT%F5z$*MR)29P|Xx(lB9r|i|V|aZg&h^3}uuEF9r+b{sNzM$$as@rlAX_@M&qNpi| z$f^kXDMly*G32VQ?y9b)f-LYVum-EJ4lA)1tFa!dv8uu45+H8nkE!O%3&<5=gG%eD8 zE!eJX*DmbSdee{QLAxa=<`k#SuoV-aQZBk$u55nO1yDe3Y6YDYUr4+Lo;3uJ&{-ZxqN(ZYPJ%9g zhNtP41e}5e>T;{Wu5Rl_Z@a#(!pbg3ED#08UlUf^rDfW?blgJNg#|PK0bqdgeQJ?% zZo{eXmJVpbH1Em=fgn7t^ww|Ejx7DktMzWxWGW!BIf}6%8~7fj9^63;ny>t!ug>6t z&h9At;@$&8Wds`r{C;Z?Sb-D3uKjK>xK_avXt25N?|J3tNI7#UKNJ zNB{!onW6sFrM6EEb4vw(>ky3X2KR8??l1_Ks|aUAS)Tu;u%U!%G(yF2KwdB$ps59 z1Qh$wisXS*;sFN`02_m41DlG2uF?cU2-(R>1%oRFi}4skF1S*`2cz-Crij|H9WJ;X z+|9_d;Q|9QL>)t^1T+9BD}aJvF_IYXl_oE_pz=p7Z&w_$>MHUg=PmX6Z6t%qdb9@z zblzF&!2?j?75YXe;|!Xp9`QnsDO0N|dj#qBV=_O4D<5nukMS()ZyG~{9w?xSluH9V zfTsu_YeeFM1oQBcvf~_czcw>REHiSjGFLn^^hW=4{Z8}CR`WyLfyY1!`T>ag!36s? zgg7fpAGb_cn#~|H$UuM0LEDKd_W%^YGCU(KA~%6U1HlkC6y{^g~PT5*WcmSM)^y;{sNU3p%kvXv!hvfdT~GA?%w( zjI{sU@S$d^N~>!S41o~1^h>AgQu8o1*RrnA>_T+(QEmVLZ1q+LfSUkxN!QLFk4hl# z%~FI$Hbc0xQ$O~?$}_vtw2gfe zI#O-EhV@YJ>n(wHMtJsLCbh^yGigJ%{Jyi((sNU}_D>Y{8)C3T_Jl_fVYl$LMz=W;bXQ!z%>1fDd?pyMic?0)Z#Ef-g9OH@Jg8ID|j= zC?I%*3pg|QHX5P#j1unk7R{uHz1 zta!rEc4y%DV3N4P@OVXJCrU!=650QFN%=TM=(u9A^JhEhh3=1rCrnxA(dhWMl0CQ{$ZX;-f=LN>|XX zdjyypO0ZjWrvqoMuQ#$MyRtLOmXk%7GmENnOSG3Nl`~MachI$`P`0CDnzQ7m&uF9% z)u?;MxHp87*S7njnUGJ@tOx%_sk?i*$4tDh$-FDXrl)7IPw9}iJ6XJYzt_7ooO@t0 z`3>cJYwvrD*V3tj5y3a=s&C)6M^eOx(!~E$#e;{>w(Z4-Z?}Jx0tb{))3BRsQOKj< z`h5I8{d%{kJVy-soVYwFviz)|xxst8%;!tED`vtw=EA#CoWIn~Uqq-E`Oa%*&y&%U z#?rU%%g`Sa!27$E0KC8tW~!SviX%Mo7Cm-Kz0_B|**?5D@q1Xr`m>Ndvyf6U1cTbI zJ=?dv+rK^B$9*s)!(o_xt;gK zPL@2#ySd*VKIK<_i<3FZ;;p%ik5dg zUM{@|<-Bx0J=d3h>gT@YufBJ5ebNIx*0YiAm!#?IzVQz}@6%_)tNYcnyVmpNfENGp zPe0;Q4}tzX7RkQ<(EfY2ev?K&^@o4;Tl&#+`b|nLjKqu{v$pRdf_rd4Z^&@xTLgbM z;{4P9{Z|AFNx%5#e)0o^G=T#N7BqMep|oSq5;k=B5Mo4$36UY2coCv50*EjsY$Soe z16u^|C_tdWVnJkxEVQ(6Ax}z&y$T#+*b!$=ojZB<^!XELP@zMK@-$HbX;P(2nKpI$ zv;>NxQ>j+9+ED)^N1u%-ARu5*3tE zj`Kcybc}W2N2p`>on5=HE!xrwBli6psbagjaqA@>Sn}2j7B*nu_)LQa44xZHL&ibm zOD5;~&Kr1q#KP;oZ$H&mX5vXi`e$v-Hwk_&z z+#!Sj3D&r~yIYU|!QI{6)4034ySpT~ySqEVgL@y=+WX#f>Z_M}si%6Vnsd}Yu!hH# zBS`Q|f3y<{e{kQQlqS?elg}5mD0|qC*BtO@a0Com$XschC-{eTI(Rnz&Z*y&GHC{= z=j(H5aR}wcK}1n^?>7SMKecYF6UeE9w6RUy=kyoeqBin5Ox$xL4#XFKn!u*3rh9)v zkqh8uyE@zP>-qe!LB&isEE;KKsy-GbS(!@3^jX(Iu*%aj5E>25$2fqu{~*C1o~l)J zEs)B1MLR_=+4L~5f}zzkW3SJHDyuHINjAE|+tbpb(D&)YZH|M}s*0MU+9JJYbJ>gz zF?)5V9#6h)`_J7yuTIO>B=S|6ib>r?ot6LUx;wLLror%M2{pr>oLx<-5#+`7a*v`v zFD8Rpi!VmA6BMP6V;Q}CR5JyxJ~UG~Fa$>8cNefb{th4QxqeD&9WouBjK6U@d2wED z2F3)m4k4{ou7sx>zVHInizQShiqkS zAHPKZ1R$3la`<`3*vpDGNopKdlG+wO3jt<<*?9$PoAQ1a3a6?P}oH5riIV1**?Haek15=mrzqqt!32O z=>|*>3DRhDx-0&esGfxk98{6DRRKi5HkAvf>)X*U3;{2Z?bVZeq+{%P{is!bmDaWi;6O}V*$Rbs&%&3eJPh(riB>e2Xuj- zaKVa6zjYAJ-79x%{3vDg(P>({2mI~-sWxmO?0xBJ#v2Z-=ragJxc>@m->)bcnE|;+ zVEX({>>p90t!*y^gi!#Pb{B;-HpWARnn%*JZGXwR=aBUTn-Icb(m*{nMk!$y!Xkn8 zP|x6SAUrH{zT#hNK--NlGeL=r2_HhvE*d745I|luR#Ly47A7B)VH!UkK+s=FJO~So zC33WSD}t^=EaV0^i-5ug2EfL4nsbqKgCL>D*t*nE8Ts*n zNYELnZ4yJutx#H58C!>;;W+>R8e|xHtnNNyrrO2~J`v%zcjwXwS~CmfZR{-uW-CvJ z(0t-;s7B9VLMA2~RVS@)9bC6?w-|@WiOP1KwE#GjFD8f}sFeYaK->2S1Vr<0K6e27 zg?na}9y!7+mQYh~PGn>-Ws;iNAQ+mqH-%5^o7=}b|Dc--Jd(XW@pW>ukbp0Zf=w6-m+V>wa9mVTi&y24Cm{yI98lna+V>?&S-3={ot_ySZ%^+yD6mrVTU2 zgWJ&^RN&O~ac1qiJ;;Ray4Yx0Eop?hVe*l!cX*xYsb|xu!B0#(B(t@D2Ugu0zM?$7 z3rq=#{f?V?obD=oWEAf7q^fmA9xrP`;g*nby+Js>31=x>7)WDeiZ@a&e%bn!c$l*h z0cQ=8dPZxiq{B$55?mo3QWt`A?D1T}BOApMdgKBC{r7QO3#7CWzAmDvx>o{=FQs$$ z=D!8=8bi_30idQxM;XAxnLnhc0MK+8Z|(;l4QCaQSh0_!Pm{C3xp6NxgAf!py(oqs z6jV2yQ{}y8FDxzegFxV$!roW=9Tww!`snjdi<9F*3UCnxcL))n>+Nk^!!ZmYisnl} zLv!GYJP4l&nmh1^SO7;eDU3leOZ#*`myiTZFSMT>N}dgj8|=*Xlq!lbv;dPF2P#}j zE&o}6<_Ri{qzH~P20D2zJoi5Q#2~hJI09ogLL7!^B8Fo673el<%QgxLz8C3XGAP^N zeD-7<45RG{MB)Zj1z$cs%Ral4V|)R8fa)qjmeAG)=l=aKx`AqBV4-Jg?%gVK^SBrH zAZUhdHkf`PF3@H&sg(5&&XV1Y1VN~q_*#N3oXz0;#P_6+IS0IuX5xhQsxF56(kA(oK zY8)(m=*-%nZPz~kFdb^Z9qe(2fTQPqoFARt$TOmIFjlw&c>G=@anMzP>%s6wUh-xx`Y z3|I-lS6B(mU6HJ}xj3yNuusWUmN?AHxAN z!jCThxo@A+3lWehzFR4})t&$y9(cjE$DhM09xaT%PX;iqEXyB<`xPdIyDQ}jlT0Tx z#5cAZFNSWN$IdN=zKroI%;y#8{wU#4UmHe%)a-tf~t!^b19igza0Grr?D9*PY zQ9M6ci4jrZTSXX)ECFQ@%V+T@w9j}zaRW9e8-uKCa0{Vd7SjzybfKhEBPA5nf1SPI z|8e%j0AWzazz{@4M0ohmSXfve!ruSzdL$(DlvE$U-pBDDT<^oy9b_4WOau;tzV_3*S2KB8 zg0WVjwQ-80Wtyi`p{K+D$a|r`;$nYny0mt4wo?c1x>jYpYUIvvp&mdsjEzeE{Jb81p|6Ul_wl1jlU< z>HiRXAO7A_ir#v{&*fyzsZ6`^Y?uEMe8w~B79+V{AO7A>tn_=O5v0X!e8P5W+I4Qu z-p|i3EG#T0G&ws6oRSidkdTlVpO%@K>7P}X?cWlXR~OXKnpjwuT=_e-sy(T`sURY_ zFd?QSJ*7T6q&YFFDLpYivZ*+=p)5DMq0zsgA)>xM{ln-hD=VugsxNM7tt~IBt7>X$ zDsFEt_>lS<8{1kN>f72HKfJ#1ik|S+<;Jv$mbBT*_Ws8FfzF1J;DPas;qmPL&EWNe z^u3eH?#c3=nby(8`q_p5sC`R+ix1B_&;N~7C(l$z_ZH`lw3be_HqN#e4|mQS$4{OW zE?zZn4i1JcEv5JNR*a1`tn^lGY~;_){eB-x-5+Z{o^FRsmq6A#_V-Kr`uci%M?Uzz znbDEi;q|q(zS-H?55#X~b!~lp;luI!K>U`64mW0wwzh|QcMqm6Z$__fXZ9}U5B|+w z-yLqO?Jb|*3>@4|pBx>Ho}Dhd?oB`rXRfX$uCEt%cXv;Bw=a*6KDfWL{hQ;*r<;rO zr~Mnq)&7U|cmMkKa{CNJL=oW1W0 zCyO7>o@>Xq=1Pqcqp9+bukOu83*(j1g%j+H_1_vB+2Ii_j6XZP7tjb~xeOFVUyx{Z zGwrv^Y$Hi!-j8sv_s0ThjW+pinUAJ~Dpa85o^y|9OX0KSqj=WX7HfmBHxjw-k1X%3 z1F9*0Je+TKa^9d#wq=;?CPa~Tt<$ev?@#8OX6tCR8y0^2e>3IV!Sm3w*7X@uoub9} zczqZY|3k2m-fMP#3;K?s%i-{TOhU2kP6lMGIyutN`BEM0H4-%DCEe?{@O*M)zMBJ~#F*Jk2iWoAA zuKUu=v%iW_mKOd!%&;G%KFV|+{0c)F38Q$F?R~FtlofUSRLq$mTrl*%&K|=mGGmkk z&ELXA)$-$lWYuSRA8~GlfiJniH2>@Dl@_N5Q5Y0{ID55&5F{GxbiS}@Imy@=6|3L>?`@8A1P`RupP8a~Yb9ugLJz1Ef|rdLQO-~kV{1lpbEv=?P4T%5v?jqYE6 zks)z-81hc~*&seVZzTyo{@TC6F~dc==2;5NzSg7WGsiZ^8ubQ=sx%ccmI70c))$Y^5q@9ny z6}!~tp;g>$+A7qwt3Arq8(C8atwJvTAzDUkTCF8?M4iKXznnie&vr8KwpTsiuS~_v zc}eWHJyf$@{*av1ElIMoeXZ0as(Gy(hjGU^E|$!xSTRpw;72T#DSmEnnA&(gt3M*( zdfewd1#WwL$X5Wk z55$?o1<&l|8~!QnV@m#HC%{*@HR(=|LL(8-sbz$>&??3SB^SMwM@mQ;9K`Hykf7El z!qQueA#fjOWIE@E1hC){#)b=VsPIEZDU(Va$n|S#%vg5~mB=CfhvH!$Ku#If$hr+g z>x03iXk%^K^{Y3~9A0PT9*LgHVsR#y0{(3trnB+Thaox^Vz^ucVt|D*_Zl_0r>ME~ zNE}eDK*jJoE5A)lOVZ{t)!A;sAWfE<|I&@e4mk{tzxQr4X_6qA@z^!XJ2T9ipxPXr z$4mY2Xs*d8b9p~DFs3u#C3Z*>0KL}lJ1QLN}o zEL$uN92Cxa9?M>w*_YID8OrMoSH-10kb0A%qsMH_prS35)k_~POOJ?~b~H8st^D?y z=qcenU;27t-yiv%-T;riyezz2b#mb(M`mN0sLi6@PI{qSt%^psBSo0V`pXrp$uR9kGFFZjD=4w~>i;jX&;?3ET}i>p69 zh><63=y)^DFjgjA)yUO*gpgBb^Y9y?x1EpenpEUJg}VK*hwed`Jf*9`46f+Vg2v0V z*B%&2=`14H1W@5@gx|Fo{;NH7Nib;^a8;v%pCI5YV6^P05aO}tfRs;^nT``U`eXb>vwgp zgNV~;i?3IVIO3GEcF;!VEvVsgra@m2pm-Ab``HWPGf(c0qGaW05! z2*hrERIrWGl-uJOkNLvwD(s_W7~{DzuFK|$M}M^5#B&5GXWPj?ya`$gz`#0|f-862RSnB~d~wDV{-}SG|&g%kL%Md`5-1(XmX4|nUfb^yoD`k=7vksu1F zc8aLj_2^3_7%$VPCDY&?3PAahS;c~bIv8c)L8O+Gj#pnRh|ZtsOI z{<9a>#u5g8;K0{#z<&;o{Td!25CpJxv;WHEi5h|nE$n><20(!T2(`dtKX6G2#zrj= z3ILED4*b?)OK{`>#CB9t)9)+hM@zOtDh#S4Rb+pVVV1HnK;ULo58#yg$~}z8t4`4W zfWE|mRDwYOp8}2|M$Z=puipozCfi~ib1NU)l7pcr_4W6M_(5R1r$ykype|~0C=z5r zhUQqK8?xA3Gy$ZfM(P8M?L_uDERB93U}?pIWPtD!pe>;JN3IEA?5!1(u;_| z6pl&>%mkrdGa+H*0-I;CH$a{lwS+{y;atdD>N@Ij12-Cg{ISBqG1We>^q2^;XSIq+#v z58CDQx_lHbY&JfYj5#rji4KW*Iu__Lvq;PX3aX+1$^}3%0WfQERymNMA+wtzcM%$KfD=>15tE@3qlch5YOeSa%BJ`e9Xr=; zbrFAM8g-!#T~(3Th&p058P$3vdBrsG@X_el-ByIcwDCC6?>6p`Gl>fj`F9`4nadFC zo^<^aUN0%W-6++_oypcAmd)|U*A&&6JJ@OQlx3kfsDD-sCLH_kkD9*9Xufw^`Rsn?+e8UtQ&!SU1<`3`J(N4U(+Wr*Tod0*9)XMEqDJ+JM(;sRxCWtLXhBTMH4ielDltAt&`P9~xNTKweN)n8LBD z|4}nZ9A5Mwm7f4pm_k&lktoo95(h!%jKb|8KyDm+V^^pu7+hTTSctW zrKloMO;JoK{5D#6=;7|*X?f#WaQAHfa8mG8S~F@~Ev#Bm>t4vXn)q8YS4Y{pr#yRT z)sfh%$VF3ZqP@t>zMig4yJ1xmUor*6Sqe_o$+oP;hlH~*FqI#Ll+!;rqE=XT^~2eK zs%@O%cyTJ|)*N178qOsmR{JZ+SThM?6(V_bKLuH<$vAC$D*nSNlLIUEQdT(sl{P9* zmiit+*8ClxS8AZy@Wex=S5xNqZNs~1iFtcDW<6SZ3FZsq>j@qWk22k};(U7A8B){8ZUwA?7h!rUl1$6wQ>|ErSj@{$EWD~? zo+|K*r+-D;aBmyTP8MmZOV~e`V_1DkNqP z%P&tWU!MS~S0!MY(ijt{=igngYhCXzT>$)Uh!qEvb~li(6RHP#w!Rx>y&LVd8w0-w zldlI$y9e952RE|^V?7hO4*vH|4+y`Pgs+!OyO+YdmnyTD=1(sTe%l-~AfOxVA5$Nj zb{~g#A6I4{&!0ZNb+mC%A0K|d2w%S#KKgk#s;LadgFTw;dcXW@zXJY%65oIVA6g3t zO*wPmr#E_r0h;dXfSxv5^ET=MV9?Zi&^&X{^3R}kk9 zd>;Dc^pNlC5Ey^hA7%LB3T1K|Eg*9^9P(#4a(&oWdpP85IPwe~Vb2D!9-Ru4I8BxW zmzJpS6RG1cD9;)+5l394P0G<5km8M$HBOlRi8vcLc5*TjGeXiN3u4&?wMC91JK&~T z5RzaL*PMasWXBs`2`lo(TIfK(t;haoN0;N1RML&l(T#mo8b^yCN2wo&%#62=PfVet zB#(on>4-jyOcrZTUgt%9?VZG*ogC681!0m9UXN94PqD{iea)ZhwVvuen=0l5>{)|$ z;y|!+(||Vucmfi{34+%%&;{}MN#y7a9q8q1WMzHy%x?yeHMa-&ugvME^vc)OqspXI15A^{%~6MDi7Z<4eu0_(K-(aP2AjyXBGi4uAO zWqP6pxv@%}xr(f1*^beI^XaAu!mcdBo-9JujR|!fB2An1@Q$_F^|ck|aYUB&UE+;h z#r4;?^(CM6!^(}w^93x3;nEZ_`gRBY?#AR^2mbys=&#Lm!UVyo&2kRv>f@i~Tb-?Y zpDp6^jZB}-e#Ol#n@z&&O&F4Gr;W`O;ce}Sby}T?KUpMoZ}>F3#LHPkpR*U%CkVd~ zP9oXPpfF6JcjC`a5D-riEXwWRWD|bv+!#AwMctewipD3kC1AECAh+FV@tJR**quOK zTYBB?XWrBI**%Qgy%gTZW!MMuPq$icFDkB#kMGa!?AxC2tx6ws&aA-s9|RF>J@jn# z?;P|14?BqujpPrT4G!!44r}uc+sgJI-wy2wj~oS#>?aPc9cCu82+VZmJ>>U%2$gN# zi0sZ6{U(V5vbT94o!h@U@u%NrRjcuY-tpO^*QMlFk|qfx7^cD|cOs(kqX_3>Z1Lhc z@e`_dIebn+J9fM_c902A>X=UiFHY(dPsDxymfD=kMW2#){H@shtA}>l13c>_KI;@d zmGs@y%G$HdUb2q<=9xt_J-^KqzQeY;^ISZq)meqxy)&j?6zIARlHW1;MHFItY*w>Fx^+O_bt07W zt)Jn_bV z4xsYiLLs{U;vi2}@=uk-?~XBVzk43%V%}@>9)UIQuYcdj(BCWn{e=>FFExOa8a#fE zIa&MjP=ksA`Ed5sr?-XwPkN*xr%r1R>pQ0ZR&yTjYAQ0DS>Vb6Ech)N*n74wVVvF3d zBVh#6M0*h=>N6>N6jo=eZ&_@&SE3lASPo*J4tA#LKE2H{@Se5GNKv5V$2v%SvugY& zf$uc$Fho^YDuzTDfaNGf{EKXMkos&VG@dlw`C6K)z*-4|ys+{5J6(pce_6wI-mVN& zAC{9W%MgAsspz|clN<*kaiAR6UZRsc&uOERJm=+n6un1oLgfz}()hnnRMBj=(-4rK zn6sjUm2#pYIcs_$!gt!HTP0a)@!n8b-n-kM-&+F9Xc@=Y?vz<)*7a3XwNx5Z)Qyr{ zR5h)dTo%=AHWI215Kh^rE8swliiV$(c4rI|zFaR$kPetDDF~}Tg_&2ts?4XHl$9wf z|7QOHQ&7sjUKCrSz_* z6v)WF8&7T+t+A6t=ZI?(yde)yLodm%%u6zFb1B$bS5Ep@zz|CNO~<; z>(}F5n4w$J`nt`7uIdHlkrmO97_H!AX^6P5&;2E;cYcqNfd9|qnx-)2(~bdMl5?H& zcP~Iajhd6F9`HQA<(~M&36X6c3W&qg7gz0j9}sp@o+7Ax&Pej6^#yVP_1J^z9t-va z>JEFG3Bj;jN&Whn7pv}G_#jQ@3(qP-*2&Q$Fa3iIwH*Z4HPD*NjTQ(c0-cJhVTh3SRvG?QRk~!6K@rjqPRtW#{4F3A(w!oM6&zt zbvAkXw@r+gT5J{JSIe4NaNOh^)dbUCNS>zmvruiklwuUIz@HcS5!K727byg=ly1*f#iGV? z7xFloKJS(4dH_ICf!g|ZR|OH~U*RS<$! z^b2*f8qtT_RhK|xKnP?dH{es^BEdeS3`Wj3Kr4aJcFtzi97sgQVdkiVR&Ze{xg3xR zuG9d5r4mV!accp_qR`08Vw~l5Km>sQZ^{mUnaldeZY>ogK!`gbL2Dd}!JQ~Ufe@eI zT}@tN*)C~79x7>KnC@&e{!wKL!%_E{-bx=D`C}RfaOm~J6&d_80)WA=*i+}g%HI7_ zxlN|Y6Ta&~j4Mu`!@8l14r%MdBfM3R^2Cj+A{))XV1;_ON0L_%`n`W@2V}Dk|EbP1TiUOE}UpW`~B{N|KFFgsJ$66eoaq?m#(@~8r<-|#61*xlGY<8JUXRJT{ z3DSpN0By1D>!8wWZDXyL2g9%k8Tt3)4nUHDfdE|YwG~s+hD;N#x@P)V+cE3L!t*dr zAE}F9sdyV;0kr> zRup*8JR!vZVw9b`>iIq>Y$=alh&#CHkUf?Z?lB@NK&Y9d*D92-J3kiTZC7WSkC&k5 z7CYhs{ry$dkC3~z8G>U}_dk?Dn-Jtna!eCZ^-Zd41tGZNyaQA*6Cz8_T49bl3qP{8 zIe(EW5tS~1#Uo5>p~?L6FPM*ZXu7eXoO~B9Q=hkp{*7EpII~j$fTG4m-|(ow#PhRy zGL#4CNXtTO5Moo<&@KyHRuOepg@nRW(d;w4%JUmuduYBEOZI<#9Z{@Z6b%`7tn^}i z3{9VT5mQ@!P1obhf#rEQ0+&M+&AIEm>SkC&Edxs2o-1(05<^}>LL0EWl-m2_`ODM0 z{aE-4pM?eaSEL%n%So}J`|Y8VKl$$ms5+?Xnr~K*owxc_lD?WiYpv2wm+zKNZsr zL{z}%v>_8LBOTlv`^dPJJ5-V@T9tUiFjy24O9?f(cq0b?6CVIdtT^x)$ks>s4c+_> z)7FX%ku7DW6Ae!+fcO^Xu~l-pv56H*4;v)*aifgn4fk2@ib}Ic6O4$@JT-%j!}inp z|KXJ=X;+D_BfBOG~lGF5hYg;^`m9i(@cW{hBHj^^%0jCn?u zisgA3mpPIRIRz5wcy~0N3`7|-wp|ZD#7lM{NH#LbXjgoP`7?@VG$w#DYMD2PSU(uh zEm7hnS?A4AuPn$`FF8NQ+oC;InV46FC6-(}#?dcR?3`q4EmfR5R3A7#wLHT4JfeU+ zo){>T77har=5rL8UsXhL$fW0`3S36-mR)eckDSJ^&8edVmZ>1>TI85((G-rp3 zICI39MUKR~AJXkkk!3s)PB%Gj-H~b_J+;o`2a;-FmRcDZtAmk_tDGz%oeWCvNt~6} zo*y?K=~>lAY}oEWz7YnKOkk`|pwm(f&4-g(7j`v@|G^uliKnX0WP%IpF5H(I3>-qT z9=Ah5X(U4##it$jCY75XMOYm;;FEm|lzzv`wSD~&jH2-AX6$Lc5{7&nwqpu(Gdev! zQ7bkzizOHI3{UZ~@`!XZS_k&vH$J4W%J5b((T7jxwR+?pg zk59Ch8n;h7%&&iKj0F0p!r1Ge&fU2TMprS;t@{?ahSp`%^!FwA)KNd!3Lq+#oMK38(`Vr>)qlzKDs?maq-m$o$x~i#- zs+o_fxzD2EF@k;ri&clJ^@OU;hN|tks@H8M(>kZknW9d)5TDf-JKzGZO!t$c|l!~Kz1r_l~ z>@sA_qNh7|IUq{BBR6|=dwF7dISN)I_VY^Hu(S_>S{I1OOKiChv=U#%kXpr%a*&iJ zj+|h#k}fBc+=QQKlAc|Zk#pXW+o2o*i$X^bS@0#Ya3C{nSfgrr$t6g=3}Lx*JFinr zF`$UiYkVpB16!ll1jA}|<*s((F8htMGLe-f?)nTXB`6zRqlhawOT3@iyS+-eU65mLy3jSD%1BZ1sHgq=6bs$@B zI@_qaI};uJ$l^(8{H!t-9sPUzgfClQMxA`x+kyzK)3FNkM8-o?v>o; zC92*v>gK=m&8}EPq2b_73%v&)y~ilMr!2kasx8~pV4%9*%ZA?jx!y}vFjS}rgg_ta zLJxqw4JEG+>$_zg%XzP(kD$73t?(N@S|9mh%eoeTSh|gTq5nLwje4*DDSONMm<=s> z`_^VPtV*ya3CTl$XX4{6B68>Jpmd#;!3yT@yr2lOLNLK$67GwE13p(-;LbSHZa};N zzHYdWg5goCLFR26xj;B!_HJG%3vK6oS}h%!K&0ofA*r+B42IDR*l;Fx7eZAGrn^9- zQ>F9}0;j)xh6U{gr0+%R0IKi4@cqZ%6Bg(U!yE$(cIKegf`tXxL{&>X9|N2^=p|gy zgv^a=z-@=0QH4s4M_PNQruRp;jYn`{c@{@R?~4?J5o>EJm3+f~UZ@kBBJc1~mAQmJ zX#e~lXHR?5L}&AVojrXtQv*U%Lx%r4d-A3xx~8VKre+_`UbLx2wyEWRoIO+PNmH9m zQ`-+`@7>fM&CG$&?1OT15-@X?H*?W7bG0>d^EGpiHuK0f^Q<=W>NNA7H1pXs^Sv

UaT4Y~X^MJCoQX@Pp}rjatLa*XjXNdi*n0= zI6SLHc`IA`(*{+m7FVn0_mh_F)4FJ@_RiDVO&F7St3MZ~O`BF-Xx26hr-Iv7Jp$If z9A_=^J5Bs6tqW>cFszv_p~?bbEA?xm5{NYWT0VDc9TR79%huD?;nUM<3sh0+y5Vya zkqgcEa!naaa6`-33etp;v%$lv63C;e%aC>5l1&Qas+WX$f$;6*(VfNJtR{ z*%|DJN-x_ubrW+WN$PIF9l`i#FHg;5Ac0S}`HI1 zJJeT&Rd!;6QXuMdj`@D1LCd=uiR`-C&5oH#&lj5|WiaoLxG{ zuNvg;19$BYYhCn+*R;{^e_Y<_rMMbM-lde<|8BKM`Lp^;I3o8L5KkIv$pj<%*`xgi0Uh?=a0vGn9dIh0-Ur-2O z6jA(C!3#mSY8li;5UQzK#Ey*M3^lKL5ETT9Q{8zkJuuNDsJMMoKSI{%T2APiPtprh zj0Ho1xN950Km`D5C-;Xb3!^wYciKlk?j*{{u{xaYgz3p z#C8~fni{OA0H#f3eiG%VITxu>14tr!(KM)vU;s>OTt>HeJk{Q!AMW~>?greZeQ_R( zK<-3Gz9P_&pxReY0E{&4z9m94$}$Y%unvqA_iRFlH4_Z75Fn>3TrkuFxcm_z@a+bK z`jqUy(VAa@dISH**~{s+MMs?^G5G(Sz0|sXL`i|~?sOw{;&F-8X|mQHSBYXNEM~KG z>Q$N(nLIeAeIISfli5Nci&)>452=u`PvqvnLVm;^nN;S-sy5#iJrN(GM6M_)dOcSL zO?lb7r#lNQ36RKI@2h%48EDfht(Hio;>a!+#mnju##)$mFy-AL4NSYgBtG})jJsFu z4Z$WbR6Uph{4HOKElXQ2oiu~yFsz3Mo7cc{dE`Xr#Ys(?OHNO-#X9+cF<4$!ZnqUI zSDGue3!_fF-sb=I#7@7ebtbeqj%t>?0Sl9EP6JdA7An+G6@VfWIQgpQuSX|0JadAD zV=w%=Sd^}PQ^#K9+V>|9v`bT4MZX|&So(&uUv4#om&w^i;R3AgzBW)CFavB{$H(QvxI*V zGYJ7P5*INo%~zHcv}9Pgr>!Z25#mWmr9BkGyUW;7)#a}t`w1yX;@HK)M)761skP^G zI@;E@1KJMjZHZ*j^c)_C!fx`nJ4t^IOiXe#4wuQZIf^t&(~K#;9p(qAx~pd4ooJM5 z6W(iVn+kecg-Yp4~ z({Ly3h1JS5+G_b5xAXM)&jt@!WyceTm~ETu2Ha`;GZG(D5A0H4O~C>n?6~*k-bxFR zhmH4CkESz8uFhSF*QUwXHnN0sL!sL8RBV43QqM9*|NE6?oOukTfwFeoyJ5Wc zvHoVV8wJU_I{LkRXBrnfi@uQ348OP{I{&P3*Z?l-IM1E%ZEGPqUbbw6T=IN>E-3iT zV!_O`V{7H4$i`-toblXb&hS^q{_{%j^87Tf4o0)+}0_e+B*X? zRV}$nx?x#r{m{H~oi0*%=E_3EqYAb?=%g4?cuI7ucJ+S=Np+5pSN_tCS1naYt%Y!x zfrA|L23w2Rzgkv%+wLxbpy5HY`3N4Ce40M`cDm64>v%=`~R> zT@d_;4uf;T>iUtZOJwQnp>OZ%+WFvZ%lbyO+t~Bs9s(zGzg)RP9Nxwq#{%@638Odn zw(e1HbMlf4<(l=2&StP%SIhaO`VepCHOb*036+nvBi`1+q*@O$p-sT4mh3AJ{O=RQ zQ<*m}t#M2DzQiwfLA+&z&=9BGY7Te503um+^kJb68eN76o$>h-25RGwgyOCK)tyma z_o29RW)0X%3dT6~PSQsqcwH17bT9yhTD4v`?aUa_t}Z^T%~;-k9#tM-h$S>S7$BcV zhreKnA4G08W!=?K`XKo9zw~pB%-DHtuG9!f`_kE`OH>>1*qE4v3c&b9)g~$*=Lf4?L0Dq{O!Qt01Rir9roh%OIq{qTtQP0vg`40VYb|pm z+u)i^f2(ew9WUF;(620aL&e(q*{Tac&vC&*an&J~tHaXHsjG9ogZzqU#RvmqyP-&G z0DxnzGag71)H1!@&vEDnE{6?;ECY}~S)WeDFBh(L{*T#QK5rdKcATNv^`kDQ7!P>5 z8;(QY&r+5gIvD)%04M+$Kfj=3Om_zfkzx;-s^3gfx=(az#*&QT+!fWl-!+x%=gA1l zA}zm&7S3V8(1B<&|Bg`4=45$VcT25i+~3$~hK&yi7T;X*z3N`#H!gwiR$|I^f)*h_ zeUw10>Hh=aKpwxPl&*PR0{#OaG+Ov6MR#0AW^6{ut(-w59t8Y>^uS;J(bUX6pC#;8 zT16jXm=owZl~N^w01hBk*#Hh$pU;`r3))(XSeV^Wm_ewKft@6OnqQZkzirm+*{_thW{9>@E{$pbFMjU)&V z9)uw%Kmh;(C$!-xNE;F|VRtQ|9Kw_n;uI7Th7_&^6~bT)ZlM)M98z^55fR-^AuCfZaU{>+l}VHTnwAhMt!9-wvIl3GNb z1Z+~iWlX;1k64h!SagGyF<%|VR9odDThZUaMUeg}2inQNo{b_?c>oNooiQfW3n*j7 zEtc8s2V)V%D2&3U2@o#wqA&6y+4TpJJyi#MfCrG?G8$DlB3U__;|HK)>vi9tEl{WB zBIj}c<2-^GTnXAwpq=RX;m)a^|1G0G&fSv4o{bP>zGR{tj$K01VK*L!3DTKUebx%5 zqiMYsMcTj(2xKwImi=&~y&xnLcB0pbBu#x{r#OiyrlWk7;sBnaQ4ylid?EbE2UZ` z7aeGQB1U_9;d=&AeA*~_6lg0kDVA#IgC5hCCR3LdhJPvtGrgvjK2wwG;hBQsuzYDY zvFSENX-yy^l`_PbZc&*MXquiRsvu}$JZT{=DAlNib3!LJ`X>H>kB$Q4v?Qu?sMO~m z>2Q2z=q#Wi7=oel$AH49rfw>yc53%!>T8xJrHCq}%qe=9>P`fxo$!%ZP^(5jOdr=l>Y(dgkSeIA>>_j z$|reJr>m-kvZ85z!f7fpXoecX(N!y|)`T+=D5S#1wyJ3gLF<3ID^Z01=}?3rc%&;( zfU3LL>TBw&jqvLlWvku!>NUaZyb>%>ywBiCrFdRy^^ofDI4mNaCd4w0T1Wr|j6%60 z1ire<#KKL-2Aae|QpgfT1~6=P!K$e+>TxjC3#qJtx@@G{t7JGTp3v->NNVTI)&L9w zJHUg_{w&Z2tS;m7iPjcJH(*6K zY%SP^t=Nt&*_JKYb}g5bt-1kf=AecHRKXR*t=!Hn-PWz$-Ywqdt=?vVCWL|B{w?4J zuHeQk7HC4%4#m|5rISEN?lo@X{z0W`o#Rd}b@@Q)@|V)E>I+{w$koIFmB~?uIFm5@BS|EUM}xuF6fS~ z=mv#MN+`_U>j0o`>^|@77OogTFZHS}7KlReCTRAS;P(E6?o#gX2Cw*z@9&21=W?ei z9)$uR0HKPf^HwkX>Ma(4ffmHC{pKweFhj;3%<|4`{~pEnZf@CVw*Yda^LbZs8j8Pk=G|jIu+VG9j;WAU|^wzjC0mOH2G(unpUR z7#p%ROg40G8vgRDPH{0?FByD6IU6%FF!3=Vb5OYdb2AI?nISPW7x5p=^8()*Gv`ES z=7gNSTfBWmLC~85+}oSTLpDHwID1PBr}OJ(fd)JD>U!|UHj|f}au3pTJ=?QJH!eJD z>Y#2?$7KMsL4?SWTrMMoJSgKtoG(>V82M$h7r_Ll4V@hb~r5BLqed@kXmM zP@k{6u=Aj~Y^9p4K~RR$F`d($VM46*LMsGQ5JGMO!q$cIVP|8QXU5O?H_auTH$rAK-{|SO#Wj26kBBK^S)?n>KS}L02>PY9j-7 zy9BPD(0ikyJQG4kQ+M#*vwi3Dav~=+@-`XrV6Q32nsB8cwQsR;P8+s=<7L0)x&^Uu9gHeNN zm1onH>%>{_H;*5%e&6?etJUXP4ucQY$d~yz)$GP;zIpJcjoxi%H|M7H>`U%hWG`lC;Mhm}TF^6Nw1E*tH%RzIPTn#%~2|Bd%-D#LN$cpT=YxudU0Mys>%>$}g#w?!2i>smm)h zsTg~_D*e1N{lPjtP>6ZW*1Swe{moK6VQlP&0}Irj>d3;&*OzM8x9!Al5ssVvjSJG) zN36&;7Siu)%qPUf3rNOyPuwR&#}m-VN6_AjY2S~~+uP~g6Wg6;Pa9#qOHlfDYj;j4 ze&aJfW7Mg;6uzAz{zTmW{7+#1PvksP5yuUNVxss{nKZNG%#Odn<=VJ}z(}d#} zMe8Gm*2~M>|3~ff$L$Z(;8XVB!%y$S2C&W$JeEC-Ab3HBenS{P>>)psF#kfRs-!r7 zTuA><%zn6EKlW$8_KSPq+fUc)1j}m7_w)1k=Y-9A=I$57`G?8+zs}1)Q~Hm7?UcSl zJBs=qt_1gF2%F#6N)p2^KVX5Me@v3;$KC#t>pei4n6soOluA#EKa?c0{<* zV@Qz_yA3e3Z)8e|`%cMI`H~^aZZK&kJT$sz|I^LjvXMG3nQfVZ}-$Tb5?YO(@Y`>{hQW#qL*neyk&|3rHRO?ltx z$EioN-t2lbNt3DzM}6IL^w!L}Gkev1_AzkA!ebk3N;|M^%~dz^zU=(6@65ytQx9yt zxWMDfadXG18G7XKk)>nCuJ`=i^s%>RR_=a0 zt=D2h4lyokQxM27#r#ponqXT_r#+fjlg&2Wd=t($(J&*Jyh!p zY*oK_Qk2nHdvp}0`zY%VqDn`#^9(!a;B?nuKkfAnV1+GJuTw8eb=g++a`vuQWu10M zT3@m?GF%zbRoFLs{k7Y0`y|%bV3EB`S=73NZ_?-5rA%6Cr?plkY=g6?CT_)D^V@Rw z{nt(Za>G5Bu5=?~R^0<5o95kxXM$B;M(IsS+pj8CNZ)W0t*O9x}ckfT$^pNf)+YVqT7yZX>rj&BkH`_ zyjxt75gJ8;0tCpCGz$h$0BnO!u>b*1vf;#n0;=Is?Z|xA?D9x;)(dF3CC!%-+$fP%yeB4hzT>>6bNKpJKW%gy6L_~3PS8(zNu zhdp0Z?ym5iZhA`d?pJk?>nOJBh(@u1f((}{3$14Zt=Xyuf()uZ$l%qK zZ}5}CcHrLYyk`Lm*zOPY=*9vF0SNV_O#=(~PBy@| zwZ^1oAN6Al^6a-iR+-RM&hy{@Y7#)iTr4344Aub=$TS5)%~O6m$oDKDj|^zw6r51N zC^nJ1Y7lV~o48O0Akdd=WIzHQtjshFK?p1UVQ|K43ke?+pwW17GYtF3+g4bu31R3r z1611eIEKR-4y%pbg9s1nakBHtj}sIap9K`4fCZeQ8X0tA?4&plc>rPo2vB7I0RTWa zLLCZi!-?bz6IDhaMb9JMKw+{ri4hs@DpYQKW2Z6|2T@u|hX$czAPaziO~@mU8qg$# zy0H&=v=5EdDBA${VKk#v150xg<}jZ^MoVInm|6McuAFenQIfK6u(QBt{xARpR4A5k zfej)FcZvdRV1Jc+OldSj&dit-GomqO8Ij46Gofmd9$DtF+K>ikJ~K~eV1qs7$PhX< zgb+^2ra|&3ftyTY0|gjGJjKbFYQ!@z3EGTAHItxquCSdM(WHesd69W~>I`r&B|Z%Z zhdSKTPtvrDYX+J&-f7?u8pxf((l#6J(6md?qKi)B(mzY`D5Ds0VRh91IFgT&(pM-Y zX`KYdK!}_|W;KKAA3$?R2`oSYe?XxKbBfd2@U$&pMT<{=s-vJ@WT@9Esz{D{DH<*n zq&Ms*x@-y`uO>&VWyz~p$XeF3P9&{@zH7D6LU3Og>7DiyH-`|Ml`*4T1tF)rx5jA}!Jl8gH9uPcG5UwWCQ>(vvqp=Fak zskT_UIucb|5^ih2WLYzs3AI~HZbUlUCo`-;x1V}$Gy!GWM{WjD7Mg9cDrsD^<^(W5 zn`}m!n@>ErA-B;z!+Fyir&Nlipsx7S`c zz4t3zmG5mj+S3My6~D&SFGTpO9{=ok48HG(`=JgKpBTj{R`H5e zybb_fSgks7M>A+#V;kQX$2rDvFn*z9AO9H0K^F3jc|2qx>*GqmMGY7=!{p33c|h}3 z&t}a-<;!GtGgwY$d}p*>ba}a8V2;aNdM4$#gtwe#Zp&ek`46?U8P0K*^PK5iXQFT! zP|Gb#Eqf;Bw#dWJYgRK_*qmn34LUP;*2_Mie3?cg2+?AB>~yS587(Ke(vi9JFcpl~ zNOOfb;Cb*^M~#*W(`B$zN%d1!{b4vY$yPQ9>oE#MEgRa=miDrn{p@L98{5&Y_Ghx)ZEq8M+us)Vx9c&DX>fbo z>6Ui6&#i8EL%ZCkK=-@pUF>+zTinUX#sCW7#|8Ww-~ku-zzJS(gCG3h3P6Cr5#Dfz zKOEu;XE?+uUU7;`+~OJ6c)}OHagTo-;EDwK$TKc-lArwHiu88?5`c1-4_xIZug(A{ z@CQKL9OpUL`ObOXbD#hG=YQCM0BR0&qaPjVNf$cNZJu z`qsG)h(GkP>0KAQ(!oA+f?&Oe z4h5nP?+_#M@N)QY4(adcm}00H<-0ytq%ra=P)M*#pK6Jf#-{*4d@f|Ue70sf#B@i31DpcBDK7E_THwdyVc zi4zNe0t|s5h07=3S0!IMtw{rJks-R_83jiJ@MRP- zU>GIfY>sgQ6hIp@&@H|(8V86F{Ad#run`X+0F*ERp28cUQGTX~aRh)EnNc8aNgWYD zmWm@A+UE}pVFM&Ucj!w4Hh>T|!4P7{7zF|qApj5z0rWPY89ibjvOyFfAQt~2BR8@m zKN2JM!GchR6E;BtF|vI&vLQ7cm@9Z&)wAk&B<8yFH02B05* zVkQ|<0y2Ot5^{E&(gN7gERa$uEn)yO01zm$BL_k%H-IXOvL?K70|21_mU18%EpirM z9;t610>Bd!fEuW;5SF4FHsLJ)3%~;KWgj>J0yJPElSnGMAsxl?4@Co`qos12DHyAOJxEz^U9asPj-QA|-$VN>Vd96BXTOtSmqS0%S0JrZnH;G(Qt9 ziYNo#LLLYK0ye-U0EYqs#AE~@Wl*mox&Z;yk`Ns7EvQieP5~u2VF6ZC9;%_5eDWyj zVK@~)Evw-sjOKe5Kq{OQI;C>}sIv^OQ!TY41O8wr-!cMNE(4~46b#@Ww1EKB@FJ|U z8YZYO2LhoC>MaI?Ek6|6vmx(msQt9wcBf%Ljb!?;l>#ch1ZZ zAONaHvwWb)|1k7HMAqLu3NL z>K`UR8>r7pYeF&chbz{pF%^dGX}o62<2#zu-x0gAY>RvgkLy5T9m!*()2 zPqUB{xUwGpz(f7CDhDD^2lXN(Ktd_Nk2GKuP(mKc22jh!Q7-}&CBWIXv{DcCn%JTn z%Em&u!bb-Ze7@rpFf}0&ATPQBad=cDu=F4TNde&ERb%xzOOPmRwS4l3?-KJZn^Y>~ z!2k%L0(>oeASPdzDn3XXibV4yw0~BCWMZ$bY@+Sf_FBXRazEvWq zG5QcS7U3rY$~AV-6(SS>0D6atAi$vF^eN$00<3Z*rojRLKwuZ(A`KG(`of1iwJcIK zPRk}Q0G23ml_}!qRFwi)3jz>w^CvU_0Tx3ZB(!3W0$8C6D*u64H@0I931qFpSxG|! z0H6T=fQTYzp%StH^5RnG&od+xjZo2B3*(S_2Pfd?AxN$k9Hx{ z(ME|hd>Ue32V!yhl|K?wECC^QnA2bpmPN&aVMTJ9_|pO+wp%AwXO;9k2Z9iC2Saex zV^`K~E#j8{mhxm9f@ABpZJ(lLFHZof(r7NT8>sPS4arnrLqhQdPn!r(aB~Cj#ZLv5 zQ8m@nB%nBDW&sKyH>W{D`@(j52rd5YBLCrgD8S7yS0GyTTw~M%z)4bys48y>0luRf zDs*9&vQ%HUb;ssH`gR~D=sm6CVo4(u)f6l@kynfNZhzMxIkx~dvp^FHXRnoI_p^Kw z>H(_(imJh85td>{BYlF@VNE4&rI8@&VV7DoH%C+?5)x7&wE(P%0;-{d+;;=uHzX)P z0!}w|3#T^+0x)&6EgF)1n6dzv5hyEFAhKaVu~jJ;w(+8fQFD_ox<()yVor_sJYk7q zJ@ya(Bqu66_<2pTA?KG96<{%uk%S-E6KORhTGnJ&@qL(xK$226iF0yC15pu>NJ;W0 zIf6(fl+OsFAqgQh4pjjrvn=?~FgJ51l6Z-~&WXiBJz;bJtM(tLxR(Gy0T2`|HUI*g zf+aFQ0kCNSz^Ru;K>&njckv}L0bz*=0Y@*i@Nx#003bNsR*LFj6CeNrWV1yJua;m& z00;qU31R^(z=NQ8Ci!d=3P5<;IFT25AQV%Io>5R!18|n{A2@-M57~_s`HT2y6HG>s z{Z%FQ;p-e3&_*YeZ^zj(HuM66X=ix>P}G+Bw=1s75V`?y6c%-9xf(JS0(?0nHk3pE zy8)p*(Io;Yk*A@E20(&?qCm3&0Vu$6c9V}#6gQI@BPn3-s$oMBK!!OYo42`}_hCb| zCYB#Iaty(oApo79BAXR}0#X?a6Z3TOx10kR0j`-QtTP)FKmzzVBsU<~v@-*~6fOXo z5UN3-3A#4M5#Tf+f$w4;761Sa2jF^`G&aEk{w+5{HZF1*W=eVi0u!Zwj}tTi0$Mr) z#CWAmT4^S1ws`hk>rA&Qz_k$Q4p z762ITeo?}y)3&9fdMT*-s1aa|1!Ql_2V%b(PLDz!48f>7agA#!C%^g}(K@Jt8<{*k zgNg#`+(2>XIN>|w;S{WB69}2tP}GnHo3DrXKKI%Xlt-|w$Pf%0E#zSos)!IcVR{&C zCk*rnn6dSM_Q#?VWweqsC9I`baKFQFM+u@fU_69&KkeaCA`Zv zy2wI=vPp-sOo_5ojIvpdvTuTqe2SE6l(KY~v23=zeYCnoxy4tv!EB<(Zl}#)x4?9$ z%5|&JeA?uUR!fdsQITF#k4<}!OnZ@IT9j*JmT_vDdvv2)Tdi$vq$e?}Xjzi;+M&OZ4|C&MftZDwNWBaXW z$;wQJhlh@tj);+%o`r#&jhC63nShrKP8@w5PJCxTd1Gr?b4Yth&0ohN{A;h03^@)1bG;q{5`E+N`q6 zva{T?lEuoA*WQ!a;GE;?sKm#u$5h)(kC5t-lK;Mh?xm*1t=!7F#n!9I-nrA! zzT@b;+Q-M2*VmTK&8fu0wbIk8+uO7L$C%{IxBt|x|J=Re;-BN=r03_b#KgqR!oteL z$ji&i$)Olc(BA3G=gZgZ*WU2n!0qzM@buK@a^rz>fzt|;?4f&)ARG!T(>?Cb06>f-X}^5^CD`T6SV_~7yT^yU8k{s{j7{|OvOu%N+%2oow4s4aj68Z{zH zoJg^v#fum-YP>Nilg5u2aqL@2@}ROkd-PPAg|el~moQ_>oJq4LNa5ADq)&pF zwEfcuqNvfMNRujE$`pjYp9QH=Be`pf)vH*uYTe4Ut5;U7yo%kT4ysv_*`}Ud%T{69 zws7OFZFm5}gS&Y1>fOt?uiw9aB}`DHLIU8!eJPNWYjBT~Cu<(XVdJE-<;$2eYu?Pc zbLS^*9?7BXxwPjzj130;_YH&V*RW&Do=v+phHq@8lAMC1x9{J;g9{%{oOlu=jgk~! zo-Xy;x6Y%ZRV%%^+=d41BHqru`(D9`QW*dCj#zPZ$Dm`~A#J+7`}dgB<6#fqJ?iSw z>an)XzrTOn&tKszmWHEst^Fuxe?eMj zWRiFqn1qv0X6fgjfM$rDc48KKScoHrX(*Y|smLN6XtpUSXKdh670%{>oF zbwYJzk$IN7+>%Y^3FV)o1`1cJu15bksG+n5HbHob7Rsn|=(Q1x9g$)x>|?&JH!NnF zrbdl^aenG7kZegfpsCabm*9e`x~k2Dv9h&ow^h(jpq-6=4&$0e6-pbR(cQ_M0;_i)7JPMmI+7R!b4yB`bNvBqtN z9M{Ms^PAg+2&uessVx`W;K5naT(etDU+vtiIFtLO3n%Q%WzTUrO2->S2Mr?|a-jXO z(Qs+AqrOSYX>v(JPW!Z}NkspVDxOqhS&vX!<4t(s(QVl^xe|ylK?D_}*l1;Jz|n@< z!&ZLz+ZEDXw~u$H=Jei4Cb7g4QXd#N;;ge8&5nWwU;u}U*V_2wk)KDo<(LbrdC+jn z<@x9TRX957N1BfM%dI!hsw4qOBCG7<*4`y};^kgudcgKBDQI;VyK(TjF-!cMp)VvY zz{ulyZR!TDE-Sar7xZm)elUQELij*0eT0KhzyJo206)-gAvd$0m~^JS$wB53^YLDr z<^{BPk#8;05X$h*XPfk4O>gZ(QWC6S1o#z5ei^b_{Zts21}NZv200!58^e_~WXOO9Tyg*g^vNI!=o7Bt(L~r2 zn~C_ymR|kph=1%%8|u)#K~`s3oiZeUpooz5rA(0`RFDY?ghCA6uYUGhBV)Xn4F(9n z57EGc0%j<~05l*Pm3*d8{4jt)lu~xIJ0&VlfV&||j#u(}!y01Au{Xd0c-Dd426Y)5 zUbcmbz%65gcgPHna|@Ma7p0aOJ@6ad-5sFx-HwvBp-m1{AZ+eEsywviM@CN+!Pa+y+4 zu_bTpYbk;H_P0I-YH%|Z2wbb501F)mP$gkTf=qI#MI}f!YRbcc^bfE=1;7ub z+95sC3ae+qSOmEW9}0f8K4FDQ2FY61dPWPP1!1XL5k$g%7AK|@ie%wbYnGbcm5%?= zsRD2cy+QxL?jL*o$B@u^)CP33u3*JZid zTniFXgVCjpJq<$LgNW9;NMNK}0oC1_HP|O!q=oO0^I<+X24O|?m!M~T?HcvwGeu6!-Px{FXBU* z4wYyF1SCTRxKPRKEyy4S5P$(Vb*D-#@kLL}9Ym3+f#_UO9N_ST7r%!_Wp-|KIEB)( z;+X#+u&OSCi-RiD5(mifgm3-goSNMJ0~0xHfF=hrSWHMFhkn>Dpoz-p1{hT#isSNj zzGT&_uDEQLS;Kypt7&*rsLd&Tvsrj--P6G|uBa|?0`w=dNK5)K5+En!j$5V`sng77 zcBiMUBoI*3Q`Ar)wOW&K1SZ&dICxGqGPQADWd_Q`ul7rd)phA2wph8i=1h!_HDjOD z*v7!7q>cq5?3Vi2V2&I&B-ITSX_7a};DUCv`7&*uRlASZ-ZVS6J*;k*NSLvEwI}~q z_CFvVadQ>7(&T}xS^S9c&uDy!&jqlJrF)ivhgRgqA^C!{nDVPF9H6Fb`FAEji0sjN za!zQ&9JX3>O3k5`{=KF7b`G0xA9IR8cWD)>aBSfu+h)#o-q%$Q=`Ab0FA{)x%qyPN zk8WI~Al)^bxZZW+h25oPH#^%0&pKDXJueZcfZV+!bEv5336QFKX?Tb8z4QIXe*Zgg zloxmh5&rX6OZwsO@}(Dq4a^>m`q}ROM>ed!^3D;l#{=#yipp8@zUdp;vzsMt*#4h$ z1^q!-uJnm>6uJ79{ATzqEPs;(;L#Phx(g1>gR3s#aXtD!iQjVLf2i?4p}GI^<8yO0 zI|urmm3|^MZ~gdTf2P`Bb^s6%_xjua{`k+o{`b%S{>NPeim(D;;(r8qe<473XTb*` z1qY&WCLr~I5Ey|HIDr&cffjgy3@8TFc^a}ID<4;gEqJXR?rBjV}mw$cF_@kCMSGa5&(eE4difyNSK65xP(mDgiiQ` zP&f{lPz~b%g;wZ<*5MEHu!Wd#4qNzzU>JsCIEG|chGuw%UuX;1fQD>{hSsrJtnm$U zIEQpthjw^}c$kN6@ksoj4u1HDfEb8^IEaK;h=wQ)(qM>+SQhUmQ$YWyb~6-LdR9M^ z=sYAQQZj#UGW-~x|`(~8q*jy01XsHTr` z1&7&}cHO9O^4Kl(SUC2WeY(h93AsfJ`Hl@aj_T+iz<87j)0C`(m58I2i1U<)Q;<;tmMJul z+vi^Qc$UT3ldZ#*h2xbdCzbF=mh$I{?P!(Yl9Mupm)mHU@ivqO>6cowcH0M-tVoI@ z>4_wnm>{{Bj5(Et*_eSn)!3V9nQCsSHDZY&!&xE4*)Xd4Pt^FE z%z2Em*_OGfU2y4$(OGzxiA?-BQ`wo9tQjbJ2~fV|h=l+7aO2r(p78l>1qvwcDT(-*CA@`+3yLN5 zDTFimPumGl6-uEGS|#6!ndcdf9omz9sNTTa#q8YNBIog~%3Z$6nqr}OimMNeLsc;9HMN{f0 z2|7~^YLP^WA*Lyj>)D?A37}#+res>C8abhysFXch*Odr}UBC4K!8Y_P)d_t;}drBcJdX-F4MI<3@Nt<)+Bm|(5iTCMg84bSkc z;0mshKn&qpuI75K=$fwTx~}O;4CKnL@EWi33a{>puJj-m;-Cupy084&um1Y4{u&CQ z0I&pGum*du2-~j$o3IEw5_0MTU?2t(JFyg7u@-x=7@M&gyRl*b3lYn)ARDqG3$pB> zSvGXCD4Vh>yRt0XvMY;2f#$L@yRxt)7k&RQ1~{9uIeP|VptC;vvp^fPLOZlXE3{+ zYP+^<+qQ1|wiMeBCOflqTeo(5w{%;xadERu+qZuEw}2bCf;+f53$<|}wPl;Qio3Xs z+qjN%wT}z7GcW_W+q;gtyS_WMkz1pa%elt8v0-2dntQy=d$GwYjG$|} z(#x`b5JoXOy(o*iZK1k93kkAIyWsyzv}&LR;ak2yJHEGjxWSvXFc1Ul`@Uh@zUw=@ zff)eB+r0QIvB~QS`P;wA`<&5>y#jng);qx2>m1zcvyt$<=G(wHi@pxrz!3bih6@*n z3%^t=zZks1SF6FkOTVFKzm(g*$Gg8IjKBZ;69H_%(p$ZQaJ>Vpy=;-dI=jFT?7$Oz z!{D34I$ObQalsqx!5loqLY%uG{BRER!)yV>7+l0dT*mGjyhm)AY1_oc>#=Tpyw@&3Kt2CWOovn$ByYr$u10y6(_#)-VhYK*oc9LI1Q29j*N{6NQeEV`vz$9ilQd`!ro z9LldN#%n>w@LK{Uz{o?4%JU1!m2A0i{K}P!4w#(DcMG$4+{sY!$vi8{u4~A?EV#f- z!MHobWUI;>e9Rwgo%butZJWHy>&(w=3D9fHnq0t9tjj;~$yyxDfeXgothC@v%4cE9 z?`y`$?7QgPxND4@Ni5B5%f#@!wkhlrD{RelJH?!gz(U*2;q15I{LkV`zCcUPW?|0j zyUywSxC*_v?VJ#pkO10z9q&BPBP-7qEwc4o68DVHGON$o%+EpV&jP))0bSBTJI=+- z!4198jN8(QJG^0}V>15)r35wzLp2D5*$~Z~(IAV_KFzTkO%fgL(Jc$oEIiRA!OaYe z(&9|ePMx$Wt-eH@#x5PaFkQC8J4p#q(>~EZP89&N1rbP!&9R=V!bUy1 zFHFVQtJEa%$*ddIwcFHqEwr{<&?~*cz#+RjbLr~MPD&DzwB%v=3J z+Q3bM7C>_pThRYA0FD+wnM4vhHQ5zi+!dSF=#8;q@C((P+#em+`yARrs|I@g+&Y^E zX@K9WyWf6I)f_wnFi_pOE8wkc*aAgf!N_dSBsb8L0Ay4T5zPQ8}#Q9Zrh`fCaN ztKsSW#K;ZbM~%%%-P}J*()|6vP@Uo`e#k$3##v3^T^r+OI}kPHKRLB(v=v^5<5c@2 z2|z9hOk?2+5e;G_Mt*SK9uCw?4&wGK;+{?7229rr!PG47vnO5JQ;o<~E#r<$<6wK; zc7<02u~&U%<1d5{pF~OoLF5Qg58NaGa<1DMuHj5>=T6SiP(I>!4BCugN@Mk`##K9Zt^|+*BC4Vjx6wE%ktZv zTloLL-K(}<5&goKG+PNdWdqdn3Q&?|J?tCa;X?oEMegy)F6A*S@>zW9{GIA}z3Qdh z>MjrKuKu`@``c7rAwggC94_=54#h}+vZKEA`3|%wj_NDU;!gb5WcWEjR0EQS#!PNX<6jIDbAG;ZYBFW5l71u&@`KW) zNlYDO&ZPOT&lsFJb3#I+)8|j1L4^(_Dl|=+qDhr5ReCh2vzk#m<`_}c>Q$^+wPv*e zW9wJ2Va1NcI>RejvEihyW!rY9wg5c@R-{{ZqC;19_3lOJP@CJ2F9i>Fsgfn(!7<%R zy%{u8Po|M2M^>X|@@33HD?eRKlPX%!Rbj*kUD`C+(WkYl?cCb6M!0hM&ffovm-g+t zegPxq-P>@>-Y6Bn?${XUa2l6yj50)^D%#fYMJ~WX&5=(rt0TjVgQ71BF)N%|mvfQ%8E;$45MjT5h zfk!m4GV{kE+k}gYVcL;%PCDzf^G-bT)N{{vhKZ9;Km!#N(0dlchZ_Gx6IFCkMjLhX zQAVS|BpOI7ee^E~p?PLgPB|^6m`+0#byQMIHTBd|KSgy_R$FCN)lumQPaINewe?n9 zbJaE1QAFAGS73t`c350{C3e_-+6)pdNtAVVrfl$ecG``irIuQ2uYERKZJn*B!)}AD z2h(uHCAVA%$3=Htj^G-ET?jD&7hd8pIhWqo?8O&6efOOXQGbcchMIt18@OQC4n~+- zcNgwVUWXU!H)6IXrdTSAFOCXejipk!GH4@q8opW}JS)VnEX5N>F4*DOXgQkY)m$S*{Xs3_X=IQ^Sr#`wfpo3$Y3tw{yPNW^KyW+i$)BxB1((3lCcD zyJgDT=A?aYJm<$5XS?I5gRb1?%X98Iag=>t+4H?+4n5_WQ?6NaoKc55^~7Nd;N74< z&$;xGX$RSMkWc5C^`?1edGos$e_3|PkB+?P(NoTR_tl$kz1;wswOsJusaM{5lezU- zU9FQJnfvX%r(5{v%Qydg^wU@0Ve-AcdUB1iH(CDq>F=2AvF(pv|G3*XnHv64Y-vXu zpwi%XF>Q#iV+oWR)qG~P^L1`^2aFi*G-knzVen$Q>z)7eFz37Az3ynl8=e9$Xu=Gl zaDyPs9t%eXycVKQf;JUNK?cJY`fzUk8yNrz7{G{SgMtoI;?)>f zH61SOi4Tlo)uK1Ht06IBT67o}yXZxPfw5p>3>X<-M#S}{QH^V4V;kFu#*P_LX=cP% z6D_wy_EoW9Q`DOt1IEYa!SRB4MA-3IX2_I9!;b-5UI#5FM2!J)d?Jh;Aq%F#9NzG1 zJX9VeFD6OKc@l0j9G)cuhDnE^a$%}m7$;-+NDr1zkQYOw$!a;WTY@Z?KXjnxddWOk zM(~PSdtWh+X38|e*W<%z_ z#wp8TI};pX_>QKpRT0j_xa>p){x?5h^{*g%e%c3!KzciY~%w zZKLY~U(RY8$aG>;r#t0oPkp+q0Q}(_;2>&Ije1n1CRM3RWolFP@zkb9RjN~^Dp8-R zkE$k>IQ&pYSH1dGu!gm({NSos&3aa}s)HZb%12w>`c}BcRjzUE$5!oeSG?wxta;^Y zU;X-5zy?;Zf8DEKe|lKB6d(hOWo%;|`&j?TMpm+urECT^fQSxMRwqMwhwAO>T72@yUxK43u(9>;*9JUGRoiyyGQrdChxX^k(1?9LNBA z-TPkn#uo$XWv_h2n}KhT776?1Z-4#!-y|%-5m89Oe+_(K1p9Xi&eB&ty6|8KM_9rW zrtpM;`OiPVai#OJf}8 z_`B-OERON3-vlQ(z>c6ofrEVHATR$|Sq-jmlbuZA3%e%6Bu?>(t$bxHTN$}3c5yHf z3S%9IdB*g;v6#*LULKcO#y@t=7La`4As6}0bN;WA+r;E2=h?|oZq1ZY{NXGITF_bE zvWZtr(UNj50AN0IqtBaxLU6#*lP)i$CGF$=P6fU|BcCQy(ZgT_MzQyj$v7H^@W;+|n&~B5o zscmX&F9zEn-oXyK{qI5d8{Gfl-s!k^jqWpNpaUB~_@ouia7+Uk*-1!36`&Arc_*0O zCzF=F@2%&2yJg=T4uTK>esV0AeBcg?>Go#2z(pUt;bA88%oBcy9@CiJi*YxoW=Tu-O}?-|2*hN9y-7N z;&G$z8R=A(HPhX`;X;>~)=-~1BkRt$s%KrtSl7Fcw;pj#zgxg^9=paFeD<^-9m7d) z``g_f_gQ!OgD;kO-`8zp%lkd&W6rd(D*|){unb-gM!g=3&i0i!b?f!fcqHyuhi{4p%`v=-hZ{f9%I0!*#ed~ch zeM4XDoHpA&gs5>#d`KdvYtaTKBq51+{$uyQUo+R)@7{9*-t(VlcJh@!E$2T!!l-A9 z>NPCz>U%o?lskeemVK zgfG4u!biir4h+1B6R=McK?SQV#5=)LTRgU7!N+4g5R1KnsXdF5!3q3_L12IcPypQ1 zhz0b6K~R7MU;zJ2upUfM00sC9d`LqE&>tZ*!WyeDJUqh9TeIQgIr<|qpcBE-tCuL0 zLJ8x)weUY3P&z9-xz`ghEwsBt3y&GB2T2&i24DaMU;u(yzyt`1H3UM9@B;<#gN>jD z1`vSBxx+oIG$edQ@=7!LBR;_sL??X0B|Ah!gfK;v3PyCqNBp-)46#Y{7cQhbFO&po zNPq;81Z|)OKM;UH2pjPmfI-LxZFs;2V44Gj9rg2r0I)UaVKiABuOd80@JdJd^18MF zJ31S(Cd|eCD#X`Nq~`0zL`=aD6UJfWHh(lm$x|I=T-{@LX5qRm>NmFSq>_rOVpeQB zso1XAwr$(CZQHhOC-2Fe>+F42JEJ{+VSKq;?^k~nxh)rA!UsTx1VLB;p#1t%u(2$m z)4g|ufC*(#w&1yL*w{k70Ue6NH+9T0Lc?ODO}rm%(~6+7ctY>>qRZICXk5KI5wIe( z{){if@ihK?E}Q|qES)5xd+dD7@IIz1&>l4-5cmOgsr(+;J^*MR5L2K0k3R375x@n%;v4fn z2*C+Ry*C*0ei4B|8J-=5lwy~XY8kIamqbLDgg2Gqec;R1Xlj7xP9{Ta^5AJMfDv)% zZSi244&ZKk!19kEtnCe!=jun?6&my@Vz%&!41t8i_ED+m8B-jFzwy~Y8{gQN98nSg zW=n$7@bS1+h?>+UO)z&(X26J`gT}v0S=q~E(Wa!krJglJ;|zcY8jiU21Q0}E-YWXA z4nRq%_Pe;leA%AZ;W-M&!)Q#0UZ;0t#R(vB3!nCGPg+Vjkqw zz~!gnCtUD5#%Q_F9K+|%Wxc>_eJo~a+-DKO<#99RT}tIkQzQmMhD>u3>UyDo!gG+~ zR5@uSQ06JM8 zji-iWIhw@uEMulCGE{ZaT$2E92Pv7yNyqc~#+P}v{1!^+Uerg-NcM#W$%RN=q3_6@ zC_#g2q>{I9QAY3L%?zaY$Sm^Ej=96nb|x-h7#oNuojsXG9Y zp-fw@GK()Ar6BlC(L<~8Zas8LV=N;>3^+6K>`5sb<%*epvYUNEiDdBnLufd!SGIR+ zwL9ezW)gjg81%Ya*shSxHV`mI;55;K^RQTUcmIo-xeS6Z^P5F3UVsAVbt&iF`0cJJ zQ$Q$D4o-h?b$Bd@>U7K@`l|*HDin|Nl$Hy%+YWmFQsFY3^TC+)?UZ%wWI`7f3Nq@5 z-<(VEC2X$`%KL?_f_$S))1?4a4b#I$F3!juD5oQSv!_?qI-l{w6~mvj$(_ zT8Y+p)1_Z#;yU0#!BUy1=2FflaC&%Ab?2c~5ku1?eyzk5DX_4qpP*JkGyQ z;st;#rhTZTee}(edTO6UZk>GkAmxAy@@bz=YF}<{T^4Ge4{Bc-X?wavYL9^4bL%`v z>pU*{(Ub%zuYf-Ohb7&9n1qPA43-|z`TQ?S3cS?OAx2a;1qc1D3sw~%L9Yv;tqWsZA{DMDMaqEh%MO8ioiKA7?(%5FVr<4jy7M=~WWhQqoUt&G|@vy*xdN zEPd)KeVQU{OZ`0ZtR#*~!jjcJGZ_6UoIRUSjT#aIAnkAcx!GN-Qj$4-1Iu2~>ckQb zaw;@J64s?8%qt4^t|acDWGrnpoGjH01&R7s1I#M}^Iq`1LTr((f;^=(v9BHRsnqLn z3P|jL?hQkkD?`~YLpekv`LA()Q$QlNk&=v&GU1^D&!MuHk*dt0N|ezzODdaXr11@k zkfVH`pj3~HbP$h}AdU5Y8_SU&X-DN3YyNMR^vDJ}hNdt=@gO^M~zgg0wV~dxmh^v!`DM z0{W~BF%4{@I1Mt@E#&O=_AFM$F_tJb(1;{`9Q!D#Z=kr#XtKl?UH~ zE3F;T98&eXbLgyL3a5!R8x}*);TEj#H&#CnE^mopy4poKM|ZyOMNX{6bm}?DUeRT* zMY?(Vyw+K+3Z|#l8CRG7+;7Wy9?Jz8%SCO=B`eEiFUyrE%hfE)wJOW?F3XK6%grsz z?^?d)_Lt=jqSY>;)!uKbeIBa=8LLBWt0OC`V=t?dD67*ftFtPr^De84DXYsZtE(%k z>o2PtMC)5Z>$~69_dM1QGS-jU)=yT}&tBFqQP!_n)^AnT?_Jg(Q`Vnb)?ZiFz%Oe6 zlFk2ONxus)HjvgfP~JAs(KayIHn7z;aLG2su4V|^Hi*|YNI)B8BwG|BTU0t*G~Qdp zV*KI)6HIGcEN@%vXj`0YTij|}ylz|k>07MeRyY=8qU!_5nFAuCyL-6rLcbj;?;X*% zO!{nVXmzLSWk-2!M3sG~<#cFBt}i&HEF_Zrn=Y9SDOr@9c*rXiD4Ar)xNN?UV`(nl z9b#)A?0c{7pC%%c$9dgH=|sg{oi^XYk=oosFJqByEI@qViHDOg9I6Yn`Ls=&y9VcU1C-ayfV{50i_Q!vv zk4$5aEKZK=k*HSJPS!vt8zg629T;1>XB!GXaJ2;>SC zrvGJ0>E2FHOh`u}1Y=^zI3RwE`MoIAS)3{yN(3oN%vG4(lTT%Eij(_-{v4IbJk>_! z4xuxiEs%(&{uw6D4+`Q{hv31<2Le_Ab1M!@EdEcxQae5F*S{xPwNR4fI)v3)%k@}h z*}Tes$rlqjZqIkppb6EJxz12%zomdrR4R~h-`ZFYfM&&i6&E}NQvO1}->Fe}Nh--+ zqR~dQ|B>nB*J-4kI;4f?^{?(poSfVeaS~3W)FEhLu z6uUl)Vj{MbPUQOAy4ea7x;Acyvm2|QnV58S#^?3h?QD}G%H&rso|V|Ap6|`K77Hsh zi`fLVtWm=LqkuTFVLnzceZNt`7gZKMP#xjmP~QUxdT4KPh7>*d6jQJ)R}%FDC|9CT z)md}$)kBhCVflI@kGs(lMN|=H{cOt@gkzoX-?!}e`Y$iNJwmW@_BmuQ;K)9J6k_FQ z2Uuu8KL6SaNl%<4sE=OsFH7LcPf6N5vb9i>I92Ubw89V}H{(zkV+lG|rS%BMIi>x` zyHn_mXdBiA3JZRbejflByu!5anj9KJex}}!#bA-vV?uJQx6rxdWX1<$LBk@PtyJ=& zR^xOd+ptT+iekr`-_d}CEwOpu@5MX@cgVqCt-mpx2U}RVJ?Cm)bCDH z*EL$R68>=QPTjfC$_R1VTJQ>w(KWh0+&H|{Hb}j>9^wNQz+&YvX829RsIkXP=S$Ne zO4saCqirA5C!CE3C=pQpMjI;m!%iZF9W!+Tfu8nfJPdSroT}!J46|-NriI$!e}QWi zBTph}^p)iKnkJ|ZwH3+ZK`hdji$M&5GfN_)xk4_)?^EzEso z+V2iMA}$P$a>`gqjkO;AnuUch+0vJ#aD|mkA{NnO)>?t{G|d7O^9a~kF4qNYdS3Zu zuiIdezh0VmIJ0JULktRBQpK}bI2&Uq$X*ZJm8UG7Gjz<~x9^7t+|D~lmD)~8v&hZQ zBJzbJuSd6BF{PfpWI7+Zz|aZa^_F3uvtS0mJ*!5;hALrgf(u z-4jAjwe-(sv`-(SQH-6XDJpyil{9!Kg@j`+Ji<7CuW%+sloeMpI(cmuZ!?62pFBKj z2bH+<#)V4wEi~4~jx3{XiB5beJno^6>;oC5N7}9~KI?;wvb4F=jlWK^@M4xqBVi0v zFYY^yu>t}l#TloBlnF50-^Z{`6(&Hfv+k@&B>DF&d9^C>|09a>^g&5~b2c!hpy|9U}r= z<@ry`+;8Viy-A-(A$E4KXss2G2|y-;|3S9n%Uci>9keCoR5c8$L#<=w)f9 zX2&o}oDD5!G-(t!ouHc1<1e|);ClMa&ng}mf49WYEKRx%anE}EBgv)V-_d6U{1O{v ztt;QWv}m6#!n7ajybH)rs-7ej;r?LN+Y%h2zs9yajxV1}EPVV*CB7=PLW613J45gx|4 z_=UzKr*CE)1KmC z`GLhp*{0Pi&Pg_MjKuH>W(oc}W-j1gD3W0;eWm3;U81h)N9X~8{X9|AP@4^t^UXJ# z+!fP#o4{cgf?}LG$2)c@X*^?&Aq6>8WNIHVmlLedCpa)E=WOb8q^dBgJhu#A0WP&1 zJq5XPTi^jXSN4baiYmv}+lk+Y$C6k(Jf$vO`rWtquI{a?5&A6r+qVgyoT^%XUD;2+ zEaM|Twag;kzsr^614lct>z0kO!?p(O!qBnm z5^Nc;?{};k=C~~idp>3gzQ)Ae_{YP>A>8SLl2G7-ul>}+$%61aA)da2iMp~bq}v>n zrf?b8ySGb$dxck>b}MN{eCYvh4r5<)x}WhQs1Q+r0K|IMpzMBv7#wC%L!JFjqVdWA$wTfIu-sgrhD*0ISG z8n_|8FNle3A!Mx8M7(?UM(x9`~oI{k zuY;?vEW~l#JJKZnu-$?nDA(}k&wvSdpbsWTh^R+E!sj;3 zkF-1#P}m5<%1YufBfi4j%`=eUqSw*q(%#8c;<8mjoF8gsEURUS5#^1dVDLSV)IO}b zgFetczPf>V^b*WIf$zV9R}ln2;eCh^0RSmA^f~pULOuxMOjuN1kgb(o+uSsq@#oh~ z9O~69t-V;Iz0TRit<%kMki1ENUMswKEIy11U@wk2ROQ9@C>NY3A%}!;ufix5Lpzt0 zM?c(XyT&qG#50>5(qQqBcn@S)`6Mm}IV_hLR^}duEA`YjMe&qvxUkj<)3;)3{pitGtcEX2Xzfvg88wj^@ zK8wUI_{Q2V9$d`5O%kCW?6|>pk0Z~X>YQ6U1KeaWh5SO=88We$wz^||_@ZDh{B3-} z{3qGBmn4!e+q|F!d{(4vS3hcQ_X=L~^c*nt26nI|3ObYvr27bE^0tMK;w?O-1;I!8 z4@mjp`v79Xfd%m^DLdkBYOt`Hzj^fGp7gOGC7vVqL6;0=qWBStND-e5y94HhUP!p7 zCgiAlD9ePv0051q!oM*Q;;e;=kO$2OI}&wd0t$z4=CIOMhtZCO9A1TudIf6G`k*mV zfe1qFHj@QXW1O$~n(Asvl|In$WO*2505iKpF zeh!-J!bgeXd=O#)Qh`IQt31grLuIRl=fEPJr=wUD0|t?W9GJ|13Ti)o=SftNrEV4# z^cw0lWSt|V{(L*aPB4~Hr-%ljpm8l)vMJ8t*0WVf&0|P2BE&T&*DPcxPT`=?qcsd? zE>Jll6IM9(C?la~AT-{k;9xLviCa-j(^SITQ8L%DG7pkM6wy(j(1p#{J;KvV5)P~( ze|V$_`=mI9D0xIUDXcx##iwjH`srwQD6?khZ=3;v32~GN#}5I3O97?spo|zQiI}2{ zTq=p&qKrxdC2ygOdMb(Z1C4RHb5SMmoHB8Nkz@BW z2~i~(mnKt9Ad8qXqh0GtJZ9h>Qwg$0yrV7`D zieqrwxJ9j7&hN~KXRARjt7>v}s^yE!jk zEaRvxTUGiO{NqCRB`Fm2JROy$5cglN%s(6|3&c?LfvrJAtBpqE>B>0dp0?1zv$9?* z`Qfhl(YyiGI`ZB=rO~R{@h15(m7IR+!BQ`icFedgo|&nnL4#i9=_Fx&h4C43$sBUj z{z8JzA)0yC|FEPx2eb<^zZO+2qX+gzaFd#G!`+u8mh;Az%_WMv7n$%SVXRBtf{XUQRU>oSRJ1bKz3 zA7tnrRjMDg>7Ipt3e^tb?!WhrAwwmSJkXUxFwn0NCOhSh~I+B{gu}^zg$q@YD1N!#6+Z1rYN4 zH&Ji&bo;nODnS0#eBYQLWq~#jXbh+n3}E&)2SxJV=cts#8<=r=xaArQ9R^IDTZH2q zM53yuKC2sQNdR~)YBB?=EIn;XEiTe6I0c=&&+iP6U}!Q=TEc5v%zXx| z^6b+e1M-9jp_~}ri;6eY)@gUf)DpYMl__skuk{Qu}nRwq)9($V}VtapbKM@>20u)Su2Pi1+ zb2K~Plrt%bI{vY)`V%}9EO#%s?EowLAmiPL=+X%PY`+I-7Yx0fftr0Q9ORG^bj#r= zA=`)?+)G1Wr(sRwJ*pWyR(`W60!^ucF#{a{1tlzhS>AD}+~ZiGxN+K8S@G{E{b`J^J$ zf5Wb)dCm$x->7BJ26^nrti>V$j&7q-XG-K``?tX@-)Wf2N&cbKH*OrC5x~MVM!?AT z*Z~a!5$p)mBZkfUor2@i$oT<= z{Zpf>Q1F9Ia9~f7!o^v!CY0tylI@mo)79NjBj44Y7dWnI8Re6)>QvTwqEJ#tU0Y&bRE7n8t9Rg(PyC2FCB(s!vZMs>w0 zmC42m%MC1^#VGJ!`f`z}yM2Z=Q^C569Zj=jz`Yjq&pTHR9(-{~%v`bu9RMtAu z@*Ajo(>d##R@jr7Xd6Yh8$6Ah`Jce#_f~~!BaOPlsRzr@e9qMTHc$=!!e*f?MueZ; zEz&dt=)*Sd{caRcAbQIj0=;bVwAS)+;QB#`Jf>jRl!V@NS@)lArIL*`;rw_Sk4MIh zb!pWOx7*n7I&d+%?1`{^r_e@DenGyLi3(&%#rb62K-=W-6^YHl|je;<5i=>6x> zCx}Mj`O!*x^JAF{R7bEj`Ctl9rLMfA$Hb1Zxr6W@qg_2}8k-Q+HC`#$pDEIsvgY6A z)dl7EjI-yp75yHSI8Yjqc7yo%c?} z03H|6t>ezEYwqpm&TU{P#fiUwD%fxIu3aLppGtkZbUgcPUHiN|2clj36kP|RpNr(c z&k%zyH6`;CbDlL9FM$%*O+PP(9S(1HEXhp{)zg>lx|Zyb2H&Yq$(3K7?zWxw=;y~M zry5xo?&8Xh$nCBP-tsJM-a3QsY5w|q zHt;4q%jfFLt2~M6Vxd=S?zduZ)rju5=I;0I?ib0*WomE!43Fp#ugV>uXPMX8bNA!_ zk0sSB8~!g#N+8qVGW&zv68oDa#kR~Bjr~zCkLQYNAf7<;v&`^SAy+bmiQ62GKE!y+ z7sK&rVP)P#EQj73F;jf9U^baCG0$+#;XtuO!g4ReEe?3B94p-DcCePX|F;G^HtLdc z(L$)f45!MdeXgjW88e?dgQoUMtHbG$v0$kAy3b-2wE3r|YHm}12nw}v1ml%Kzzdmd zl}F6op4}-0d@aXVLY`7n@A4 zt#{jVK#MMy>xcf$Ybbv2H;g{>4)Xp+&vZTyS?0yp}s5QbL5EH4;A!>kw<_gIw&Z72G? z6w9WAVj5(*B}2*+Rq%p>G&jbglI+jn1cg3%j3rg0%)})HHOIy!wek!4q4FnPuoc}v zf}|DwNN&tk!$hqlHU0Y;s_fqdnMrHrm7PoK(ryqmP^cZBm>V{O1Z*2969m2+4vSjJ zn@-)_%bL#12*ovA%>?F16d5j{h^!BvSUW%;2*Q*dKLnnaZ7&qgY-$3RQ@wc}d*y>Yf3I2=Y|^gZ_G~_1Ek_C8U4cM; zksY29YM<==rS2@AOE%eZJvk&I@#-m+rA+6?#s;r3{V*lwhwKd|!u^SKNh`BKBY0L?THM z;{!k!Yv_HX!U~_g65&U2vp!rZ&V+L^IO=3tGgM1BKaqzB?d&!-yeVqn!Acgz* zDT|`X$vz^8O%#L|8j-{A1P_1@EhRqS@HrsC4Eq3dz9Bz&eSp^pJUQr2Fk9!XnC(T_ zQ=H3i{cTl3>VE!TR=X}9?ai^ z0l6Ze*mC3GPM2JH3t^XiCK6-03Zdl}AvfCM%xM#hoKxtdzu=N3wQ!@71O0dTCrSWJ z<_dUV*a1XgYRH!Kx&VREASBBc_##$r zN~wurIqRtd#ceZF(Gg&%OlVzHo@~7-|5_;0CqjMdKlmb0NI7LGIk0RB#{vl`1tea0 z;$RMNJ^&b*K+S160wdmuG)_@{W1n<7{wU;(M_8q5*nw%I8m>qfY)c7&qocP`0Ud@9 zQpJ%R>i3w#EM$GG8?imZ!i^rDAhv*ck3$$I!=A?K+R~q)MbfH@e^^&(YAFvGHKkg+ z3NUjE-Y+BoP~r$BtcOK_z5oE>h0K`FV5z?E0>S3w;$Q`NgWT`wM=FY?mSp>{ZEf&I zWx-r?IJV7Rfq}*a(^5Xue=#iNe5AAAnJaos+_Hh40)GRUd_WvwD0Z+|>uR3np2AjL*9a;6 zRI1ydWDX5;YjkQsxLK(87`on)jW(KSrH=vi%Pqt&`SMW z`#0d+6N4&2E$XCQ(ClFQUFg*=dDKlhojEx3;{c8kHoUr*FsWElQXB_(h{*WkWqnHP zi3u|IT9qlhly_~{BKsP_p!y3wj(Hptt)LOl`*OLT8UqZ^FpH9Tk}P1^uI9m4KbJ?! za2~6gTly;RCx3Wuq*7u{=pmAY6LRvN|5!82R-s75vs_D^KtZ%jVJ=j(JPkHdA1Gp# z$Sp1smW!X7SPIa%S6;)<67@HVva`7^!y1Cr+ix`y$)~9Ra>c?p9<2tb>@HeeGMno- z+ja=YOAS6jXQICACY6)NqP!hSv1$B}Vzn(kOg=K7mmO1Ee^heWNXCPJ9N%GGNop@P z3G!hdIEe~r8@AU6By((CFQv2#vs#xdXwW@hNirqK-%4)eeY2!5LmXTGVMz~2re6ky zweMn>@;5+HhQ`#k?2^0jkLZqrQUcTBZDK(G4@;VroQKYX^)?f#?T~+seED298~u=vQ9HAUpuDGEWXw`wf0|A zr+Y)2Nb7)7bDwTYuT9DHw{PWHGbh|TDK)VwKehgEe$#bf(`<3aWo7Rhy^7XW`XBKs z=C60MiFT5?Ub5Z4G&hHQ7wbZIyDm?!J}&NW@#>qqnq^|1{{O5iu`yY>A$5%{MWuc- zvwla%c~jF(Tf0Lyw*;MlMDvhj$B01d;%LL>1e1<5m)8GnT{Sf^2M0@pgeYYAyOsL7 zwzP^jH~(#HGXEB@x_fB5d!)b7tLxC;{}HbOf378{jAuE|rkNi^3GK#8d{r8MHQ0}i z%8ZXIPfgh@E;qM z=SMXbrPSBghu77o78Mnh7t|Hh6qGczG?$h%7uPj5mbSFCMAlDLMod;G4b`ViHmA;2 zxA!;X4R+-(2aE*d_vU|}F8;^8iW;3t=^siOpGlZq3EDVJ-8-uq94_mfEty}goZK%z zzN|gH?!LVHcCQALn-_yRW|O+dYtv`ylKP5r$6HFKTIv@|O6J;&XFHlNva+t4gKwGw zF7xx(f_f*KwinArR=(5LK_e&eQ>V!@7ez}~^&2ch!gu^a@e zFmB`7jQeVxeB&4kg-WGX|K3O2cYDiEl_ineo%M3f-+C4FlB&6iFW>2WZ*ts;Zo6I$ z2s%Z+VzJYw*NGysq0C@Vg+Rf51nXqCIF^*FKlQPY&Nd~-?SJ**+MqC76rU$Uz|44F zUadEbi0jNczt)7X)t`y?>v{{!8|;~atNDC)B%VfRs^fdJb;cDo27lA+ac`*hxa%)2 z=kv)xJ1-DOnE7$PKeOn!eUZ_5zj%x#=&Y&b^>GH;M!!DY-3{$y00I&6LrI!W zr-#Y9K~zU6hHm1J-5>(Vr@vK$LPKz>})=as$s5xV3$rH@aN=u5$&dMs9+RWh@ zTY%K(6%At&GKqQA%W_GUPiN=VMj5VfH3LSJ7y$W|fuYU*USj%{< zgxkwu;z`lxyHVjdiP*hpKV$e;>S;9^Q5t_(yxEf)_DB2X(_EVwR{Ff+F##?4=NWMG z-y-|Z_s1Ovo^zI6$iM%pcn$I|>+!7Eqng&j;glLSM3<4lj>P9D_d`_ljGE0=>n_+P zOp09H(tYT_N%s8l5dZWqCW*=I$H_*RT^TBBUmj*eZ&=-kxNBccNeHuNYPnQ@*_}<* zueJ$PPiHk=EMaN3m$cjyUR`YgFWd!s(2%Zgj=U{C_#TeXp~2JWSw`m&WlBOcgTpPCt^&V2;XX7EIcBCvE(kt+-kpTbt1tS=NM>aA5MyN zB516=NO6Z>atNjXC>(`0KvM*K(@8p9KXXsfC-^@YX6$9e0U)r)(g(C8R9ja&yp39R1MX=d|Rc#?U`w5ui7w0dT}Z z8Anhci~?lHI?N%TKWs!2Q>P*a^hqgu!G{BOW}+tZNU4(>`}_`Oqm%YXX#*kA`3dWk z13L=aP&pE)+`vG=p@mqPXMGN-q5&u)u=HShER0b#R_&uAaH8V0dh+vr}E z+r`U<3GUIDa8QlJ#%m;u7yNQ8rJk&&%bb z2m^gR7!Aou9&kn?1GZDl#e@hBO7tKKPAn&myhSR<9>{lDfn8!I&>#&6C=r5E=!w9D z&6iok;cLZGknwFOOTsPXmq=4U%V{VtRX3x7+2ap@>EU4?-1~s$U&^>@DDJuyA--D{ z42h(ojO=ac#^{-Gu zeffLhlX(u{_<5i;`XE;bDQx3Qu#nxBwDuyQhXW=$JE;*_noARZ}heJW-1L-2yKf)bC&Xv-Kj`-Z_L{O8WOWFTV-B}lQ zX&%u4U%w?}vNsy{M-)jR>%E0zUy1&Y7-_9jOF-T+8@3+ z%7c2;mD)rN(zwY9sN` z5Ikm_l`4+|wB$q>t-No&Of`2sPhNYyzi+>)h%h9`Tl?UB>_9mq%hjz62L1WiMUHM6 zppdx@6U5iUoNgInld%=W14s6PZXFSoxrSf zAU$p@cyhRkdTbwexXgSI+(b^pyJaa_3=DI#ByPLyS}JmAS$eT%UcVjJ%XGV>e?64Q zcAov6b{mlDdaQ}=yfBe{Upw!7IBxCOcH}kLns$9qgW_2W%*G{U8-CHqrgMShb=pfm zx)~Gqcp#;7J<~Y49jg5@0OfVswugKh0pSJO6=dVzkwU#^EPp*MUb`K7d%jK)MZN?Z zc)itcKR(mJzwu`SMcaw4#*aNyV-aqLU3O}{|2q48KAXa&U{yPNNRj%alK7&D`9{yG z?d$nQ`1(%u`ZhmHHDUSvzr@uFZp*SSN{b&#iEqfR?*xedIEnulzyI;Gx8Jc}AcMF3 zU!NR#?;enVm|`EH6hZ(KvE<{vd zeh$U{ezC5H6hVF{ZpXy|%c6l3{XykNK^C_@ZYDtF~nG(~G-7Aw4)AYp2 zuf)61C8+qtwDiPBWd(oYIIKJcOX?-SW&~4i#9Qlyu+bEA<2WpL1*4uFua_OK85?gf z#j$-Pe3UY5d?GGA1`tnIt%=nXp?7XBQf$c7*G&#r&8O zD<2yF+!P=520+ROddD99pc?(;68(}A{nirwgbjMz5}hA|q#TQ=Ar}Mb8Uvjg1M3>2 zmIDFz8iR}zi;5H5o8!ROiTudTXL)Yof{w#uYN8K1Y(FT9UDAk||YE-VDa~;IY+fk_}F>9Y?Z*TC$UP zvalSu^(q|OYI4OgGN)OBA4f`nS_)1M$d4KjiO~eP-2|=I6nR$&ML=qTTB_D-qH-RA zUTRXtYN|&`W`YCdDeHQS6T^ACyVVrb?!ab;ba zX*HU>ks1z>#@OJR1zVPLx|%LHnia{Btq7Bis-COdngPuaJ{6jcUzQ}$n+?Ft15)Mi z@qNdNGjo0OGGo2BdJM~1v*2*^TS`HKdO*TqGB9BiWqY7+Q}cPka^DJ52{;S%arUtyvMT=)I}= z%Jiu`Z~0_o1wv!FB4-$Rtp!dJX`(jZvYh_=su-*x_}**$97Ym93eZ-OK_H0%i1G&P zz}-TyNl z!$b#tmclY*WFzVR!lgZ_53u~&w@PmDd{*-!_OtvyYx(We*_{%|*{aB?uoW3p6}Jh< zS>_c^YXzg!ZcyxnkqmB%O6WhA0I&Uegh7h0^Ab=OGRfDNjsBKkJ zM%g!Qr9={$Pv#Y5)MagXd6FnurY4RThuU!tCHIYZ_h?e!Atk_{7WRpSkh91zz_l90 z_H;z*ggCcyONm_c@~TG|^y{?R?AF?cwc5eA+BVZ13Tm~#4Rr%Xnh{PcV}WS##5EnY zcpJSn>~N(>8s&#+`QI?ss9CLtaD&Ks>K&)DczHwiSOXMipiDdRZ((S941B5pH3b@E zGe@K=2=P}I>2!QWvV@+5}!&^>M8G4I)Zku_N$$QbalXXjt&aC>~`^XW^ zNdp^8ix{ca>|MYKPNXM}E0qL`vu%e%TRpiq#m|F;bHyRFl>|O-Q-+ z9h$Cvy!^eh_7lk_uCcCRwT?>(Q#~AhDW`i^Jaz2}b#IJX2QF^6X=-oQU@bmvp51$cX379xtyuSi zSgeC!f{+N3tv)0QH0&WVw6aL1P(MpYjvidA!M|Li@qTWuhCjBwX*2_&cTK|ZIieko zKiqL`D{#x4ki=Ak{~kE}Ou+C_Frt%E(h{=R92?Z~$kLgpk4;C92mZ-6kQ#ar=f;K` zFe)9okQlJ!$_oSZU9b-e^4Be|;DU3R?7kNUT4W(a^z;0ylC0^Ex=4hR?*;Q6`X@Ph zQQw>Vku7%9`wUk|%0(3T7hOea@Y~@mycj&9Y3feTKU*I&nn33#85fZp@9iCG_Q-tF z$lK5DUadfjuK|DqK#DZ#2Q(*i*6ZWOCr&gw1VAQnXeQZvI~G0Ch-o?>Dhi!WT=u1= z4o_PUGx|Bsz*T#SPAe5C8 zYe()@N5G^L(Lc(eE^{mO#^F8Ftnup{$LF9W#;`Nf*&-&8fV4wscysEf{jr*Jckb#* z8FQ=d!IOyjVE$Mhv*u=dusMiXZn% zfYwS7_liUfba)Q9*Cc{;`G9swD6D&+ICiAs@Tj|VbIj*Tnpiz*<>bqF$T%#go&u!ICNNyroY%ck|!9jq%$s2hj~VAVb8^$VL$LmWtq3r1=(Ez}Ed; z#QNmA1jv@%@n%}?mX-UaSjB3lr_WU-?)&EG=jP}gcO8fqE||71gck->lwa1bb@;6v z#IGH;mK|iCU3BeTOzl8a!T_MBI$jhl0S^|8*IcIuAqnE1B*n(8w9CBMHr>P?*X|w* z+Xz$aZY!{$tkKZt+FyrO%WJwkM~2!*Ml$PK!_3bgghX9vU7xttQ@FO;9+oo2 z%uxYzru#+|n<`enJg-K*Ob$C=He9t&k~8N+-Gf<1Zi8A?OJUwvAf1wXH{QkRgp(NV~0%8=S^PcQzK`x zE@yzjbGnOjX|O{T(u+um3o^rt`!q(g7}ANYi>as|^D!{9Hx~3+>OlMI$m{Bu2hNohxz-2l>g(!;@cNGD`a%2p$?N($3p&*2`eW<*YwG%? zW{BMu!9(umdrcNP`v$iA27dbnsv53!=LVJc7G3A&fp1uK$`v#Ra0W?bLJT7W&TqqK z&mIdJkN_@@4*$)!k4^rC?GQbD9><2p^C}(0QdGANn>__<;L~P(G+sG}!HRX4~4uScOQ}3?M z4wQ0Qg9Zs*;rLE~=sS({@Mrtp-uu~w_g=`Gi^KLo9r)}6d{ESR^woJ$n|{pvIQHwh z)dNz->N5P0y@T_8svcY5=%5^RKbLggTY!YP?bGjFM6V{YG?aWFsn#De*5vzqG}XwJ#;-DOZ)VM`a&SF zx`-&?^@UQYD~&T0hN6XD#{chP) zAEqLe?b6)p7@n|T8Rk;mR+H#|@Vh4qDfN5!tl8h=n z#1smzg8o6z$NB%zc8}eaMs2&GlNDD`v29zG3RY~}wry3MRBYR}ZC320VpOb(vpV%W z@9wd8kM55>#{J>`33FcaJdf+o$Dd1~;g&&%f-BrYo31;dF8c1~P1Mz#eG!YjJ?DiFAJyI~=)?5VtmCoMa3FWPgg^B(oF** z5ux!jF3m;k3r3C8JZD)3As8oB9K+uaGZYmB5A%XzfPu-;3SDNRE^94Gy6EjTxXb}@ z%cRHwaczG{cO>n}5y%_n~OidU!V;rr}(=-Fv>T ztuL&C4yZAA>f%iQ8U&+>$R%2@b&Z0-E?3bhw-GKS6+2A+Q3C_xxqQ-b?Ih~8ACp|-s3tK7x0lIAHpp;_`lp}}Q%hwWirg)t%D7fycZO+-^6xhJPUl+v zz~x#_-~*!uH%SyFk3(||yoe=rX%6I{pW)=>$YaCZ5@*d75Z_f0nV33@8wCN57wQ{k z6GKr3HLra0C;Zv`(I$%vS8oo%zFd7wm~RFH3p|Xc#RN$1A>^LvgI7G}<7HxwMD- z7S6jh61rZ$(Ix+m^GvXfp~!w6OB*BOV~ePvurFNt+mOohDYuZFO~O8nxhLP~#?c-L z!-Jp}9?8D8hzM>6^tCkXQXkQWfu&D~!SxR3{iZhnmsCR6OgQdEEOK zrvkY=hG?dk0M{9I{T3fBNq%98eFNRx5Z@$Oc9S4UMnUq|e2{0I<-1Lv@m-&CI?mHg z>@l2)SQdwb$fXH@f;#YzlV_sdbUjVneI)u35QYYsjaE%1hMCHe*qn7355DX-+bIZ^ zRh9M#QOBt`jL;c?Q)ZiTR9@`+^GUj3$WrcvcLGv00!55=L0(6ZQYDRM+FeT-_{=WN z3Ao|+?I2HHlR*Fz9vO@VUIpyqqdXvlNV~0zc%v*yK3~(jG2(tI9V%pr z9!QW+&;59)?80H=`*giHe4#0&S)yLlqModZnSe%D(ryVcl6FNSw|gKlloIUpZDwMD zOCBx8Pr;=Sg`ZD#WVuo0re=R){|K^|a!*^z(nsccsX>*+q5pyOlu|j!#;C^Crd5V$ zoKEpl=H0Eb5-xY1sTmlDV!Wmhy&93v<#ftXSv1gO`_bBr1XCY@5eGJV4Fdv-{D-(Q zW$@OVGE-|zE*@d$eAS$lYay~W4Eg$xxXNjPsXP(1()~wVskJmDL+NK>z~deKm$>qM z)!upJRvvco$)jgRv=AJXD zs+z#V@6EdHIy1HR{tt1b-g8%MZ@i@aTRK6#hpFE_>Av%KQHOi|`-5!2#&-jNeSDv< z;mi+~21%IFliq7ngWwyJ-JY_CZm|%iFs`ay2z~fLC{le&(pPGehvs zr!K$#j1b9l1N29((RWprK<`a`>{jeSK|Omf79B$vGSIhSw9C3c{qqA-Vb2lPoQ9BS z8$-%ouF15Mg|t<9V>x8BUS?c4fMQX0~ibj+Cd)9cMg zm~zj~%wGUrz0PtCIcSw8M0h;)u+UD~IFlCa%I#euIrZVTRTfQ`Z9N$^SFtx|r!Pt! z6KW~<1q`}IGHA&Qce)Qgg0jEWf2l7fGCmYoN2}q+axW3vy83t%{MMM{TD{4BD7240 zGY(>(MmnlZb|;uMGk#usL2vS@B+!S7TAQ=hb<660w{-~9-rSFIZXNfvb1Bu{Iy2+C zgzY{cli$b)r(`Y??zXkt$6FJY<7|?THue;_TLE1WJb8!7?)nLT-+iHPsjhyzLWA*1 zfU;*A-tcw^V%p3=JZ>4u9d|4^dYLC%Zmp1(Q~BA+btpv1(M#m_TTWUh;r^p(io(+V zWlv|BDva|N&gD&JZ|9aUmDgOf-@Sb%-l?>?*FyG(i~k_+F{e1q(gM~6tUg|k)=I;Y z{irMB>)Spu)pfKyy<1@6dpeyt(?%4+edZuv6tOzzn(Mi1zot*OmwxTWuQPY8&aOk3 zmhXPkdT!0q30MB9uQ1^DHvJ3jH?4QlP~485Q|5Yina4iId?3$R`yRBk6Oj{Hf3HRV z9)iNkUB2aOuhmh#zm2877q<4^;(5h8ZyF%6D_@ZJ4vhZOqye-(zowLuoX~T+h~Hf{ z$mc{{|7Bi$cAtRXV_aYp+yGYiu^Z%j9j5=bPv!qSP4poYzWa7&?*BUZ70GfBfdH82 z|9;``|8}eodi~vt%9Cd5M-2gv4+MNJrsVBoRe=5zfedW|91F~X{t1N30)D9i!gm3` znBaEN;nrE#BAL{Ft!lb(7C@yJMB^1iml3=U5@<;i`0y6Q{@MR_Cm;d`gzOT;m+6Bl z0>TafiQWW>-vq}4c}Qh=z_A4}WCqAp1So6<9*hMGE#a_|1Zk@VaD0$^>iY3Fg#aqR z>9RgT1R)muL1O#?(y0Q(1K@?T5QvjrP>MR3^XDK2KEZRN(DyE3T$fC+1tG=*Atsft zgfbaqB*H@ULvZL=9m*}^gt zye#*ypo*v|y0F^M;eN-FV9%jkVeAfxuE7jZou(n}sS)zUVVFu`eFX702(c985yQ;^ zBbg}UtiD0PVN)M*k^^!J5p2uNHqRjfEVL%*dWP;X)?NoNyCx9{gMk1ULHi`;lvNQ& zba5ve0x({2mrX%9n^BWsaZuD0P_98NX@0D7Ut+?Ul~ggNBd(*!fQ&ndd?gS!3Df<2i5RdHB+dw5USi0fUMO9k7sO5nxu1c(57) z95Q68+;XkU=s? zkdg-$=#}yL?6^4{bx9KOL~kUJ()C|qnFBh9#Cl}u~}slSaBmZ<)So=w>9Grr7?uA!Ah~J%f1@KG4#ds7ko7r zW+r9QL5s!v>Lt7;R>+(+gQonVh9-dqY;@e6&6<$U)L%%}P(Jjponi6->P$q1toI)A z*?Fr6>4XPO-1lCV!(}@t5w|3TLJE-*93?CEjiC6c4<+pqVj4hMNg3Z#dG@-nt7`T8 z8t(miEyu7nfp%)ON?&sFGEln(cd>nX-seK8vs?Qkahkz;v07yfrgMq;UfYZvUSD=& z$~1+Op>~FYqda?q*uhp4GcmF zy=Dt}q~W{uZlCY&GwzOQ{O*>o8g`E%{){03CkNgoGcIEV5p+H=bUr+#5hsI@h0q?r za3c$?qjP~HLAeo0t?esPGh$74n6^?tlo6it9w6Pw7hvpNwU^boHxh{pg0V(tB8)+p zY2r9CV7o+Q(d*>q?BVf?`i8^<%S`clVJz^m|H3Ct32q|9XadAE5tcI%P0<(8GZFVY zpu{ne$T1NL{XDiG2(*~UY@56+naF({JU$$}bhmNQnkw`Ehq%%+RkJfyg9cNNG1bg5 z)#5bOs4>;~B(8c)buUfz{Y>>fObtH{V{puj{~j9go0--en&_FCyB(Uj9U@DUb(fi0 z|0AxD|08t~RnOj}C8}s2{U1dvM6(dVd4R^X28$Vu{_8jYu8tcv;>#iB=?rrOyOY7bb>pmo#enOi8 zMw>x?n;|)yVLh7>JDX8Io3R+1@f@3p8k@-;o2eO_>1~^tOPgOGHnT{!bA-14KNDAs zw1NMx#1-ZV1Y3al{|9je4$A@yW(sAm->TyP^Ql~^|5L6MFipRVn!xuuNX|RD)oZtN>cHTwdtE(cBs}hr|vcSXg ztV>$6f?BOJDRrnxxT|Kat5&V6cCV|>FIU}KSDC&LU68B6*S{tnp;4=W=-i*g)n60& zU|a<^bALCBSU1bmznIhj>sB{W*xzKGWmawfi?||kccOA9(+C!223W&DBVf1~k-4a# z{$QEa_WCWvS{I^S<_=>U8Wl%723yckfq>B_ur|bFrc7o4-1;s8ATR6Hn{5G+#dr+h z{qS6IkK*dnCJu^XlJR?l@#g|Zk1Gz4j|glP7{zD}R`;N5atrIdjY9*A{Oys>6!ckO z2|s^|{rVhV`ZJ+cU=6=DN!^py#Ph}5BlVHXv(+=I_t8iFMRDl)Ykp-mmFEwbbyP8r z{8}M$g`kw$RypyUT7ld;^U5N3FE1(x84It*-$G^no zP5yi;Z5>Xx;YPv{npnX1S*n$7Qhz;U0xn~rv3mL@I=tZyJJ*%IuloyfAO}zOa`8OM z)}Q%uImJOEgN66w*v|&r%tk5jDdDPr9RHrsW`2Jr>N^pS&?xX*{Kg7pW${NKbC zVV64-2{SP&)&C-{Sa4Zb>#+voNX27ZByPzkk|1O&Y))B8CR3p}I5dF7aa@7yi0lE^ z3cKBs0Lpij6WP8v7Sj|~+dua-i)BisO4U{mv})zkkR{B!4|J<_Mx+0TD;o_AjN~z! zv%jW8(N4$n)pRHa8(p8o)y3IktzZTpi3}<>2pkZcBZ}e`MNF(cRw$HYR&Ddlilg1i z=seT0q_5sYX_bd;`_g35jJ}4ei-7GQ6XbX?UsHVpn-E+3KC->l+IrR9XZj^)kvLAk z9vT3pG?k{1H-w_YhRNK{_V-+F++e-xy>sDL{;wP$I|Rqey@9H{Nj5Xy!;V+?p$PW| z=f~R*^wX5w6+DxV8>qYh2h*B^H1smkAmztSj0c=;ke$Y?O}104;W?YoG=q9M6pja1HW~-T14~W>`^oi;&?hJ zR{7>ckp&^vfZXE%04y+oQgmw{kpvMLlvf1Yh7<}&Rs%R}MOZ4S7G$g!hc8Dm^l%?* zvH)221vyBc)nbqzo=SBE{#xKcaY~qMm7K=5qy9&h`B!WOpJ!K zmCWVJ2w0^om#^2PHMdU~CC#o*Fr~@~bgi(E@?D3au5p6HC9fu@SU;2K1>oTnGO?^3 zB*zJ2>kFzuC*2V*hGQhVG4{O1sg%Q@0&*qCS5)lLuUEJH$yvW2+CuOhFOj^qUdvu zzeMr6ODV$@Q}11%al|RX;em7sCWybP2;A57sxev}8ZsIyzmp}&Hi<7BQ_TXezCh}U z!E4`d@Qq$5b-1Ec)%F$IA?huA%d4_!I{qN|s|A1R>C#9K%KDpY-HOOHN%9Nv_JC0R z;?cd-=mUMn7>=Ji+vr%cWv+#=iF==yC&uG2MO^OrEaj}*(>!BgM&;PZ7wILcU^3EU z&!RNv?2p;#CC@cPbIjFYt8+^F^2{;eG8}8xsP|O}U6JLjVZ!CtKZ6@3p|~Q-AKeEh zxxc$7XPh}hr!JW|_#U{8LA5zoTb1ZNPffNqJs$vS;5f;!)$RA47NB!4)RBDv*{(k5 z`i>h$sqV+16(OJ&zy~>hMYq(s4VYU19&TCtwnpyc#>L_3wafYveb;_$8R7@`$j6y! zBSCU58zi``3;Rc0Ij{aSvjE_5B9NjcripmK7GYF*kfIl2i%ORXMXGg?Vm6kEGL#r$ z>D`kuBODLJrq2+cJdxrql#OsS)JNO->{Bq_h`Q8WdSGf3-kodI79tDzYu@f-Gq|-~ zCZjlpu;+YSw~6yjM8*2i=Z`|e@k#=&;);z;$XGlXMa`T-eb2Xv1aTyM6zAhI@KY#A zQpc15QHfaiksl!9Qx;9FpDE2v#a-9Xth#EMm~4N)7@MtCV%6D8vcVc9(U zcvslMFk~&|64iRTOzA7j%d9UI!E$BvsQbT7cqQLjl%KDCqZpmgYrp+*rjkS^SUxSB z+-UJYuf-#n@(Zg6E$5wA<@?&{v^bz4?`5NO6xnOkAC)%m+=Mz|4{pX2l{PC8-@F?= zV^q~C$rqUcl?_dDjxSld2t3&ER^bb8GO1iB%a8?gGR;Ezd{YT$_o=lI?jTrj zjY1IZV%9)HoB#&uV?yd;(!l)>S=&S9H5^r~`bAra`bie>B=V-r_}MZRs*X4s+o$a~?;t6!kG?Im&o~pp z$eN-I@ZD*$A21&&#>gBBqIJxwEQ7&tGMmx`wa>-)HKh!1BIjTRPr3E5mt61$VpIWV z(m&YC=6;&Xw?A?n%{%8F2Lq5xc=-H7CCeY3&>@M}W?Md^;2Z|9Nc1lgaUUFYWPB|e zSEl7DNE{7&-RyC-GnWG4F1QH@pF#Z#Cmrn?n#ldIGqKE-$&qVZs&&l*Z7 zaDFg7_xU1gwVG(8naBf9sdOs$V@Y%V@HcGF+Bh6OP>=vTba=5jPaUZ5)Tc*G4+Jbj zmY#?}7{EdvMcqOU7>6%U8yY-Y=Dj%X410nMKo??j*?A4oS!iZjUyQbV>WC4%hT#YD z5ccNykOAPEI|i@|hTKwLNg*5Xe?g({p5u@tJ>#Q7XQKW|h7~i+OeQAKTSs4C0fOz^ zni|5}(D(U_(&UGC`0($ z`56q_je&a~3=617iy+-yb&E{ej6Td5C1Y$bY%gJXW>|3Ev0@V`qXX$^kRrY0TMQFyEveIT%~k8*8Rff-^{*790NEUe+warb6ISS=@@en zav>=E5aSaSnLk-;E!z24e2qei&E)vVUL{5)yi%RKqSRRNSkx}7du!ouu2<0nQ;A~MS zNmUdOp%N3P1WQ~;QHlVG!KO$V(V&EYM)8w!e-Btnv{`x9_@GTk=EfvHMA0ZssYxlc zb2JIP(EFSBlzH@3M#z|=5d>EcfXF|X1STzUb=W7Ac<0B@%^ph{7C25LUt1~&KkyX zhc?NucxwB(xDtNx8X6SSJm=MNq0*yVb|MtpPw$rFyU$`KrkxwLM;i{ zUZ(&Q2SRTNx|p5@9Q=qZ2uj#fYLHj{pd2VKaA=rOw=0{8Fb(vxSj#WQXQZBQFSZ>i zHkd9}ZaKl|IT3P^pc@92{an|w=G4?&r#802=svYDIVy=Y!-{Jt3$Z(r@c3N_n*@_I zKoeY^7DJQ%kGP`AC@IfKDW^;u$jAY350z)l&}1){XK&NwEYk?=SQx(yat{IWpeyo_ zX!9{E{zF_@<^2FqQ~x8big;+_QG&nl6Z{+pl$ceN*wL1{Rh0VCmU&gswF#A_RFvmf zmCMl@pD2w|VYFn56VUB($2$h} zJ1NH{nm~k2+e=-MmG0@*wYQ=jq~kq)$%GY3QjV$i(R7kobl(oG>$@vu?yWUw&ZW7t zI|{G_4OMgHR(dC*2Rk5##F7XdY1*VJ=aA_o!>d%jAdipivt6qEh=eryd87+v-8fP; zHA6qGL_3HCH#Q(U!Lu+P3K^=U{Hs8EHiOCx(bjdbvK^NpSBQqh)JA&qTt~Nx$8&y& z^+JyzX`upgaanblF>jvo)`pCFB&Xi?G2{g~uY-~21nzOHVmz}KD3jVs`06^9sI*^ad3CwdHE=^I@#Wys4u0b-DI^yS4yXOr}3Y^5$yy_8f$1 zy9Yf<3D-wFB+N(tzY|w=kW3D|LqU`-5CHkQPbeL51$BcIb=?sJ8_NurS_hZQ{3Yr- zXMJ)D8KERe8h#Q2=99Sk<-n^V%wghyc*Xqn`}LIS73p*wAPpP^3sjFn^hsRRqcX9e zaj~H029h@gqRF#hV6ot@Ld*@@Nn=-ir!JwM9ZL*$#D)<%gZhCjFpi^Ak6U|#+uM&< z$AUk~f;Kw11nx*BTTE$kp@>kA|5#5%#DXq;LsWZ%VeYs^DuR`Hh;=-U^U1SwIpKb7 zAeXPllW(B-&O*SHctbixnJ7Iva5Z{+LlN76CeA{`aQQa+PlbV=gP6o)63`l^8?QxI?UmPMNd6ErH>+<+BSPcL48vvSL- z&5Bpo&!O+cbhrKZan3o1N^(*Q#JJ5Pr%s!ryp)cSzGa--ZCO~_|(u8{k1`g!W;W2O>M#Rk(?Cs!Zj zK=XePziZMCZ{inh)P(2ILVM6cYeDU8{=6C~gIEnvK)T5~Y7qRyt`2ZG0(l1NoEW`< zoIxB$VfT;A6+%f(lsQduMeHVpES5x$cx{5V+MJ+>E2-%D4b%eJonWL}10U{SuFnS5 zv76zFvj$zIbuWoc6aw#PBYk7DlYT4Cjx&EN)bE6SgYe(jW~Naj?sc$z2F9&8b%CyU z&dv+dGoeGyWQHzu_d@DiZn^zl>Md?x+5Jc9CYVJW@nHn1jGXTuq~cm}%phDO3Oozl zQ8WL_?T=Zp{iVx&z$xXBrhByg-X;_4n(x6a_4X%$`wN3pG3Dl-u+fAPiBWLh5Yrbj zaIij4{Z>PJXK#C!@WeCjVJ?`NR-4*;UOFyQI?$u(FOEJ^iElh`NfMIsPo|ayM}e(v zzb@;8AR1^2TS#JUtzlg0zjDN3akzc;w8MISO8F-IWG9qrOr{iBECL%OVv+fpkzZ1r35b~wG zdik1r*a^FoVc8-0vT2|@-Mt#WzPObp zd%y?RbA?)F94&g77SXlh$#g`EzYfZAOWuJzg+Ncu0^ZuKf#Uj)BFCPRJKnr6e-o2t z9cxo8+*hZx8x;q=BL)CGl{s1SN12mWi#Dn zmj=r}N@=RM8S6jUhzE4JyAGeV>X`GAre6i&TaK##9VK!eD;yeIkQ#4o3=#L4sO?f} z?K08#nHuEXWcO$x^XX9MIUZ>3EW9td^Rn%|ugxSiBTGd#|IP~kPI26|-tby1?rX!; zL@wuJ`^w`c-&6-vw?@skvhc!_*zHn!-(2alsr}YMw4hif$YB7n1Jkqfm46rOlepsF zqvGEchTx$7B(8dP;KQofL~_)64i`X{-^tq;|Lg_Z_{9MEPr`amq=nhTdrout_Z}hY zAROwX&lf6J&Jw*^S(nN(qkG6?Rw*w?YL_mE?3H^*uWGH9_0{_do=2M)&;Isc-z;t6 zzAW+xtm68U`(Dk^Nj=bgxy4n#X4||@RqvaxJq&*jxmo0*>jg(*-tz-ZRGe>r5?2uG z2R*%SzXaZ?_?`;S29EuoX8i0|{8|9P0)Y^4nCu?NhC(6ma9(K45r!fWXf#NRF11Et z(YQ=@_fLxXl=j4uDd=eonUcwP-Nic3PDY=^70yJF=Utv`*7x^s9v@k$L@>O&pb_|+}XX-_Uk~|czbLW~Vj7v4PXE%Q~!jVWO zrqd7$w<0|rE~huRjx_o>puVb|RM!~>hhw1G`8@3!hxk(v73s9^m`-JWbN|b$%x2b+ z`@e{*a`D8!m|E=T6ScCx6B*XrPB)9({V%sP=}v2M!rY;yc^Dj8a`q$jYBrk#atG`M z_~m$6jt|yzo$dHLUyrV0gZvq1o;z;NGg}+KUUl7j++Ig@`D{m z$peSAUVn0~T(da{4*Q**3(k;k+6Yb2Rxvd!v2Vr=BK;$-GFb1cTTq30QHIe~@yGc0 zaq(q(r;S`{*+HN_GGuYcV!8`noaaQF5s(%AERYm2v6h8Ab~B!b(7)+&eAFh%W&&K7 z&54Qed%y%_Cafauj3r(J9X$>mvo9!#w zED(wy=^t^Wq9A)Mlr$$sz;MsZ5{uqQmGI^&`|uY zu=(@HIL4NXt?!Q&*iB!oZI8q3)NQYeZZ19jo2}H}eiy!O!XW+v?Eer~*t@|PdTj=l zIDXiB;V?+8n@^jNGtvn&s;S00*?mTllxf$g2MMxB!N|U{dg-R_r^ZtpEKn(FM;RC? z!e751)TJMX)6AUYsJ(vS={W6>vD%MG&Ut_nuRv};EGv#7j+0c%!L{}|B~xapF~7vI zi8$=rkI5e7-`L5eGjf&<_-%#K{ZmlN>og|Q&+DM-;i&ab<>SZeR`r(Oq;(TwZ@Nw6 zR{?F?$kpXD$M&5R#mm@}8ttvleCRA^&sU_PyIv?F)`D6r0pIfmdGpO`x~QXir&z{O zeBJ3gB)8@{dK%oR;dHbdX1cOL{4+et_2r#>3 ziGaqx4w%cF9Hym2x$?bIJ73>?o`B)`A|>ltW=Zt!b;OLcJmrT789|8&3_#f`1b@fN z6J($J41*5fL6d{Uw@~F@3dR|$8Vo=(rE%On)R~?}ZE4>h$0GX0nJIy*f_ zV8Z;kG|n~cn8bl*%8H^kF_<+^S1vL}dnG6#D>DGLvT4Lw^9>Gr-U-|v+}xu<5Z1Zm zXP`Oz7m5W~8KayjD@>o#WmEtgBuQdAinbX){Lz$`kTcypFDyr{xP&;aLL4GWQ7$DCJ`>dGB_Mtv5+CJw)D1AccrPk|nl``voDZxcvV{*ww1a&j~ zoSx9M4UjlsO_BNaTnrOM8v4+wq-8Y#M)jU~2wB7O{ce1Y&?Z;S zc8kxj0M6ZVq&*PZinyW;j8zIUA=&XoWZ{UI6vE6tDbdO8lPG@T`yiJ$B#E46uJH#xkdP zYgq1)Z30nfSl&2jnIWZ#Vtr(X|1uJT-->IsajgvI!&1KnSoGT(=7!>xsDGtG8-j?a z*K(uRZ!+Q_L3F#0)XdVy`ubR=*lkVlCvF=bqCFOlQa+Z7)MQF`w@`FOeS#e>;CUY4mQD(!1AB65K$k5yV{TWw=P20#u(xitBd<@L;9AD{$t_% zHj0aq48EqYx@d!a2dB@*=BQoa?ZzB}J8%?HpN7hELtYa3$NW1w4d7@?*xFrbuR7IB z`f^iY`LXAD%ie##X#Igjw!PlzDt%^y8k&l9AgsUvhb@Z=JQa1wGvQ)SiFXf@t8Qdz z`bN+@Yn_6(#>_twj4i6*_e+-|AF? z3rqFa^>#nEmR^EOkiEP2=Bb{0J&HHL!W&ZopS6v} z05d+q+t}CuFnl7CLI`Y)r2+xO-2YND#KRba3R_f_`q z=V27DCe4z8QzXF4z{b~#$^$}3Ffx0{vve!Yokz-VeseH8vEeBu&pm-aZr6LW&GQ_t z)yL?+lEP#2tAAe+s*!ux2b+7Dk>^{ZpN=FdI zXEeC8;Jz@BAjy5m*b+$#yQ70}7aa#k#657fy}p9e;}1j_X9XC#P{_M0Xm@1TAO+a4 zS!Sg&zJ_-s zwLm6&rXJw*_!H+5iFh%MI2T7e<{H>THOO_%Sz9lhbKbGm-M-Fp*#}{1lA8!C+yf1yFtBNh5 zb9hjs0GD`-QCPBuUEEX&h4;9XIJ~j#r0zevo zTm@b5Qw$rgFOw4dux^i(4V7LE&Xo36rXzw>e~gG{J`dzh*jA=lvib_Wr*wQsla<@llMwddUfSq4Tc2R(ye{(t?`#vM2 z2+}LWYA-_%oM#SJgoHPG89O=2YoM0=5y`yA6jnmfl}`sn%BWvRqzlNzKRs>xgSmCV zLgri-etCjU`xEz+l4_p?(SQo^tWE)qspOah!4|yCscv-+Z&Ptp&Y21xP%n0e{|d`4 zI7fjUk^CbR*{7B&kJbCjSmgXQvCWxk-wg=?ByD^F*<%A!1)AJtAO{S936G4C0_~e= zH9L*bcPOJ5Zsg29ivlx?_z??U!~$N`sCuzP`e9{;J!P7UJ2>!gh$vbd`yb$917N5H z@!LTiU<*Ve3CQ=#46uS=><*|u7fM?e1V8|mL!mNAA>49#DO?(+EXREOD?T!S2naEN zUL3$0CeKPx%TiLy*mrYYWi5hJz^h12%W)roOcswz%3og~4!2i=V8CwNggpol(6z`n zQK36d6!lv?`2q%L3IsYUkIp#9S5QkvvC}WJQLHP0tqzDW8KE*q5@#ibmpI4cOR<*x zvS?;+ zF_SW}t-;Nbi1!lZ+sjkVuS#GIkn&mSDuook!qegbl(M71C?DwiP@a7vD@OqF3Uktp ztN>gCut5Y_c_CSX;DV3OLEqk~6%7j=DOb*A0Q;>R9+)6F**kQjx^D$5=z>%MhNFy< zLjo;XF?T>xK7svsR$bSb&6k}k3+R>m@oy72(p@Z^uH|WMDvQDgEC@YT2Ss9{~B?X=Sv5D32@teUwx+3~}3p6zC?& z+GHBPCWiP2Wq2VpFfgM^Qf(+wp+a*KIAGR12Azf)oo);9TcQ%0OO&2zK~Iwu%dH;F zfXwfKmf6OqnIgvA14EE2NeahP-H-q?RP4)1d3`V(-($! z*s-%Ev1FQAA?YqYGvC79xiMFae;zEdu<4kFQ@&SQ3+RWlL^lSAqONO(MoI?*dU(2?tt)@UJ}tIMh&P(kS$h z4(=ue_u4EeYTH+2R+a?L;5q-4l~VS6PwgKCtBpIz!ch~g0U3{sShP&bt)7PWzI1aU zlc}QN^)8bUUXNUXj`tx?tWKk2vdR(=1nLIx7%BGy@>o)F=ji*muVH79YQ*y^BJr+2 za7f=17CUqbj1w0%aZ{1S)G>w~LKM?RsVjozRrwI9C7BdP%Pd0bXArti!mxHCi32b? z<@5wrMDQf-@#G@FchGCcJW9C%+;JL}*4*%yk)2ZRz7vAIs*%HWcJ)6hb>hzqROw2Y zL_FhDD^qU#_vSlSRY3{J@REJ;JSNH*`Y-qJ*`x#Bu0ZQyWB5zs`7;YY(Mzg-=;ate->hUFs zGQ}|}%{T6UpiB4me68GcyS^;vfq&wqci*1-KxY?edk0&1xLkIiPkg+6N{UbM5AU{i ziPl!N<`&DQW{=)JhLs}R%^J4X0Q67v^8F{(??n0aWR2-;r}+$vqZmO@rULOo|n^`m(kP|(%6{sPr@v2sA{SzZSH8Rs%$N7{A4hL zD#t>amQp(hDnchZE2bhRBIBpxQ)W|&mW!Guo09v76BpJ4HV#vFPe0wuqF)Q2?q%!J z`hV%mPxo>#HT8e!%aE?ky2MZPvcINtsG(z_tZc2V?Ibc1)D?JHRCLqYHqkje(YF36 zUar(nt#vQW_3mDjtz0&2_Vs11uZJ!yqzn$`|N7OlJkYbcTD7&+{O4B~Xfk`RzZf)M zzQ131bX520UXE^$&JB+*k1emSuMcmYEe;%PEgp~Uk1d=n%9FvI!C6xpGZ3BLuGraz0rKeA38$sjOypwPb6a?&`h5pnIa)37Ddx%5$ElD9bZi^gP}PYP5OW z3Eng%({nkfFU>d3f6reFB@SIp3(JpJ`yD}D5ekiacUp?(5BX(P2>uhmEVN@IY}<)} zaAXC_@!~GdeqBH0XVtOo z>Sc0alz-@~tjhXN{9@$R@d8FDCo>Vi^)gN+Gu2$_~V?UYW4(t(W9IuuP{IVLgZEyRYXO1s*cA%N8 zs=jwascXSGt3(HgG>Yr}eycBFO%!m%Kqf&u(mcd@{LF*;G4xQGhj{YQiUt#Edp^3! z>-KZjDXj^c#?Sc)1I^6TX_vF$+{;)1$J5SW#N2YlxaHP1D=1Dw@Cm_)d9k#_%XO(q z!h<_xRpUIRO3yv5VMXqTZQ1H$NqlIJ&MmwHJX0AT%?VFW^lV8`ndNvhEb~rXhW}eO z5b({Aay>nZosw`Dc1^ax3>>+gJEYl%g*W8lTJqax%Cgrf!qE7#65GhZPAQcwmifm? zf|Y*9DYPxF7MMBGP~W!IB`yQM(APNNFaq&4OtU|69M~2NR7@Y(+gGrF>rrQg8^BZE zLH(p>iX|bSP^36Tl1X~8aa*VkhWW~oNd|KY=gA`_;3oOX;8u^$Z}B2RT>OT zZA=KPYTPj(6BoRCumZ>F7`~P#@2;Z-h@u&z{#8b$4n$st{N?Xwod*)Fv8S~^FwZU+ z&_4=x1kJKGcS*dw6O8H16%g95AhF*-;$}rHhHJMMWgWP=?6E40{9dOgD1yGG(^!1w zc^N(_S&+IKir;F>thM}7m(Nd!{r z=m@8rr5@5xvdE*=3?8}bmO!gs^!Nmh5_(eF#Nr9nk+S3w&*D=d>Nvrnui%JJ2E?L?>?`^4 z#95!Y=`oI}?zsAFpZ?u%=>=lRx?+LjDo5UoE1)TKL>99lr47_-%R(%6=^$Br*jJs@ z*?$K-$s5E$djH$P5>(Mq8Nqg9`r?MYbfbKK1OtT zP)d`eoRv#q?kTl^0ByGg_H%rszt`gO6ZkUq)M! zzkB62?BYYYatj(oXnz6*B4;VJ$k-~S{|Mq5K^f!kS35*k>Kse0bgVzrcx0bZ{$I@f zQ+K6Z8#aEf*r=ppt76+$g%ww9+s=w@I~CiuZQEv5?A5uSxBorf9{mM+|Ju67m~-Pe z=lMHA;#ay~A8LTX6$6DvE%dmLwPA9VhFBA;!#s~)381y1U}>Ty`9Xc!RHZ5B#M-py za>Hoppc!+=_u@-33~s3^OZAEM<@U#>O8y~AeVL7Q(E4L@t4@`*Q-`KT=|hVZQm?B2 zL`okT7EjjmhQn6E=FxCO{j?mJbHQ86nNo|{nW zjr4rQ_L*@@7orEFx8FwG-ZWO{9sQ{LU4`D=tvd1L$IaIs?5>||MK1(5Q-J?QoIJ^D z4=9+)uc~R6YFfF=rNTZ0t8)*YvZ;>{xh_mnb{{SCc@PeqIh5bq0I}eCh$*Hns?AF8 zd0)Nvjov;6K~^8^iL3wCrY67)zwlMC#+dA{eMIVpH9`O5CgrZ<_($jqs8cWGCXMp_n59O12zGcU;34aTE%7M` z1NuGy>SLE-qmABOpfMk7>QsVPb1>Yuv5->k?57s4cYI83ZkNoSuwBMN2&Pl%jLa$c zfze{B{NMC%Stc9>Je@YsPQeFshdiNf(`CMA zm~;AHjMw`CG0GQ!x$WSb7x*85*)}ddjiS)UM06e2Hfbh*m$C8w1z>VdZ}i={p1z+5 zp|sC#8K8P&4IWAz4Jf!?GIVDNal4m-PIcGeE_1L=MEQXOK6kg~59{@A=Rh%i{e*mU|U(6MU z*oEy(*R`A9V`EMBQ?DKGW{*}v8{X&hsHDIyRPOsRZ_jm@WY|8h!pFJY=k4-L_ahm| z1ENR$z5%5N^lWnT`Y#joUR=}VYS;6y+X4E}mF!sGQvlVVqj1s&aiK!I33 z8pb-2Ek4lZKC5m(cqyN)RGZyUUsNvNBP{>#R9@##m}|Ejm+F4_tzNfJUIegyPbKKj zM&1DTfIt{`IbZ;tyBjzaIjR~Efh#a2)Pv1EFmVOAqwdcK>*Zey%a0vY>gHeKDxX_# zXP!^LJZsS{2DrisP?U1Tngzo_4JLIr+cyZHZw+?Cf|BVCrhg9ji4n-95fY;g8>}B< zdFsLZ-BaW_q=*wz6cB3f?oV+@T~0<>fCc~%1E9$m!*c9xCa=z zqp^TmL*lT*5mtQ={sEoc!_zeUU7tg{5<>|F-~#i+0~VNo&p|;{VOUIlC9Pf|=4e;} zVUb}0GI5Y~&wkORicI%m3GP76Jg5%$z@#vVl(g_K#93GV2}?kPrr=n-x^VB4vX6x-M$im@GGFHHCVhh;HcEEWfax;IT9WgE^ar5brmSf z5j7g-D=Gy2B;`MD&e_1qyQ_kho4|YmA@9Ngdz%>j+bm*t)t_iJt{=;7C^d%a)bIP5 z_r){H0%a_88W7(C$a5O)0BHx%lZ+eR1N#YhuyjYu`C{AjySrTMxlC(vjyM>RO2dV;h zavfzd(86E-ULX(^&~cbt7eh6+djg6yBv49kiK@9-ZMq9)AVeLle za=Y46`}~$leRGQ`wQ$GzZ3*!w(yPqlFLtIkcL*tW+8!sQKQMEzC7e(UH6~pE@|TDo zS_JcVX+3APyIUBr-Sh$+?=Rt#_&G~gJ>!K8wYD`Qgfnto+8rkywN^Sa3A7TqKL)h? zm)e=`DFlE#lTHKo=LxmYMrca&1JJU2FvXJlATj~q&$1TByyjnWA5SpX*0KZ5AREo| ze4eslzvUd^cpSduWlDy_`{!I)cwTt?X;e>3vFF@#W?I%~)5HNFn&?*<=@6v+kY30| zq|USD3|2kO*EY)*am;}C{9?Rj08K6$U@wSSDFQVqU3*=qNU1!om9n6{B?bIv!N&s%RC|F3XR5WOo2v(^ z(9go(c}dRWK0liR<;pz++DZybqM$Ja-wW7K3VtBQF@ZAyX53M;K()Dn@RSzK{>B+z zrmwl?5%Tsg#Xcv+8J>_1mZ(lY3tc@+Vpme34gScjm-x0roQI-p7RJ+n=~}QPQui4@ z>m$+jnJERPB(A$A|IAKZCre*1^BgJ5crAnaRxZp_UbyaFtchBhQCNOna$bT&*{+?i zUSW-uu_IO72d~fZv(hsZG6op4e_n>X6f<@1-q2PZCmAc%US22(EkspQ=9$gEwVY3kU2NZ))k2Y$0WHp2Ek8qDjMt1=y|mlUjl8_Ht8on8+I<5f zZGvSiCWfsfU0dfcYz|dz_MqBEzqs8W7U7XbehAtz7dn|2Itd**xgEaAkyQm3=Bb&+ z>2F%u7gkYtI)A)$YP4*NWVFvy?9w?5$|}@kxlGzB)C4m0dU*9D#|^69%v%ubM>9Le zJ33pSX=sZL{tkDREq6$ZcbT|$>Y8@JEwzA#x&rXbhd>Cedompd6XqoqChHqw6&Kb= z2-6{XZo7 z=XnR%v;3$ULOoz6bTg~~b46W6yI)#n-+EhEO(lUoDT?cm| zhOak$51>zz|evJlqa zI_L5r_xYv|wWp80r%$t{&%LMZ05JA{q4)8Tz>7z*O-D(VQ3qrvQOKc_Yq>`&C+GVn zV_Co>P;673;zb&w4FRf`W+_TN`egT*|)BGO`ganH!hW%x7N7bTsgP#pNM^AI=auD_7`tXQKUP*Jm&i|-40Kj``IiYk=A2!Z zuUta2VMiIes6nu0_Vg=h4bXJAGc^3OwEEOu^x&!=N|_-`z^bKyEoRw}g^;dwK6)6Z zxK*J_1J_A1H+M_Qd(KtI4Z%&avP4c1WixV{H3p~245X#4yEX4F;zFHuR-g6RKkJnQ zTc_{P1Uk!oh(;7aOz;Ctfl$mypx$(dzso=T;}Xtf9OyTR9v0oAH^5Oq?}(>f>7+rLHN(yta>kqF$8evtKo z=X9-H`!E*}?D+BTEX1!r5$r$n!?*x8c6iMjy2u<@#gXsWUSFw=#yG3cEfpgGz0r$^ z0{oOZn-~1Eo*!#CImNPIJNVO6ggNd(^!rcIt3pWgC_fevZp9eCi&u%}s;ThOfa&DV z3!kzxru!do$51&>9iR~|T@oCoeO1BdEJ-r>NLL@uPaQ6It&(Kx?K`CUWN$})qmon%kNzxt@GwzZER2R-d^o~F1>6W z9@!dR1jdEZteJryq|5+@Qp>DDY;SH2CSAHt4Q|1I1aG!Xqv8?%mH3=8 z7yAp9yKrR<^J7}?9^|ddN~E*-olC^23Ve?~y-u+4P8@bkFiO+?*| zuE=cD_B;g$g(>=$no%ct`?dnlacuij`i3`8m0-_hB+u5u&+PS&Thi$W33d`uHr-NBQOWp8$#4 z%8Aw7kM-D(c@QyDH{Z--B{93+a9s9R6Upc4jh!^U?jGZ3K-TA9A`r6b=hnvOfdL3R z05k_SXo9Ii5xQhF1L$Iy+! zkxD1w%M}}Y%w;sCFjI6V{dW4pk;dVIJJ_~xG82Ns3BClEU_O^9X;iJEnP|F@rtqi! zk~`T_zT&sCX=5Qq(XSe^zL1B}q)N#$Ge$Ml4os_!2aVwG=`N@vd8r`06 zM9`R7N%lGep(w~|vMaVmqwy39UjXK3F@j<*7>ZL>6F3}i zoM84(qrbwiWJ&fS@GG}B_3!sGOiarRTJ{Y{AFs9b-)O&&^__`)o&E`pMn=*8M>1py z2n|Eh`l3YeKlNFwW*$)?C|NAuV$DTx?5 z?r&w72EIGVvP`_!6Uf&yJIQf$WsS0P9Yi@1I&<}z5^~=yIw=Ue9VQZWDqff=iXgDx zD}uz(Rh@rH!1kwrseXW zs$pcJiXhb(_n@Y&d__tW9(KB?t{(`68735f`lw-?sOq|ALKz;(YSbI&s%cr#^r&gw zu;jX7VU`}OWj}y{wdsqPUqvGSspzKTy5aJq<9?8wx+M&q{-o=Dr|KphFinwM5cR#6 zR6PKJ!+kjrT`d_wmkiAiCX6ga!;siL?b$Gjb=mzOn&=z#x`QYt_aS39_KR^+4gC|T zJg)tVNt#iLhiQgYGmfc?-Li*Sj*jo`&I6>HyLrA@Q`2bxPRgl43<)N9SaCs$=Q)Ug zuNam+PI;NHUrX-6uHerI z_ajQlZqPpSj0c2&&O@bS*9?xm(`rMKX7dVvkT*&ILVV@~w7$SSb*~SeiYn-htCi-N zUd$J#VCO?Nt?vDgl^;NM8>Df{1*TgDghwO*wm!*mv@iLXofZ z2O!Fm>qETdy*(}u2D2l&`D=-x%Dan)7sZhfyuyHVpV_f||5;6TYzmvYi%zYfMw<`l zp4Hz9dE1kMNr?f#KZ)aRDD=HttO4<8y}&!_Ia}Ev!>h(#PO1<^60%7R)VvUJI?MO~ z=zsaxZO7~~F>~6+S_SvZOJfaf@p`%*dF*IRK;h0pFkA<@bI4gq8#aA_pZO>e#P9MB z45icyWn&TS@H#>b#02%ELou54vG`=fbS|DoX}U_ zkf=#qG5n8mr6D}kOmn5cJT^m$#qy6<%ecL87h?lex}(vI1yIwiY*qXNPA{%IrWO2d zObVV5QO}Cp1PL=gV)icP)A&mM%R?ZLK1`paSZM{b*~nj0+ema+W1~EZ5>!|z#J{4| ztofMdWCS#=B9R1n-y}0qGthU1Ci1+-Nyv!N&%^tV_GqdGDS2gB`?;;Q{9U&G4@Xq3Y~QTM_i1j#-72&{p1nwvP6Hx7A6kh|&C2b1Lf1vVrwh3>SnZo9Ta z^NNARKH9xDwn0iOKm&WAm7rcwF#nJO)I4VU3sFF$@;7Qr(6}l`nk9GIf!|52f63OVF90+2jo1WAwPS0l zJvHli>ux!*lmVeJAg`3CAP50VdBCofuWbqhP><|IT0F-)!`neHa~~l1v?upR*+(yN zAEJ+;2$l)oHFJo!=kQHo$$;6@gyT-Wp88A9e{x`8kzlATb;^(qsH7C@Q9q;4fEqKib8wr z=XO#FYxt#FI*$&n!d+<~-!1kGk{fbO(%=HcT}-aG2I0=lv{%u2P)%nHgJ06r0L6p- zi?^0$P0AcP|NRddK4aI#tRYd8hw5CA&x)7cd;10sw&AxZL zkl)@=iPuAwpU)+2&}#sU;!^|2r+38XOvSn zm?)o^n5>w%wwQ#Ly3sK_T_Y~4?H zKWJ<%L5nXQ&NQHsC1I&Dl;SS_dvcifQZ(XuK<8b;9#K*fQZSUYsHi{M&{@I-aR3(J zPp2*E?k!>-1#3|$;Z-@TDhp@5C}DFr9R62AOg4ZVRWg8XRP<8ZF$h(@HfZi=c4cH9 zmKBiL6V1@LALQOSN;N5haVi!SG~zMYqSPrFFFWMjNExvz>6;|(mjnys6QgVu4~&uy z5F33!=QALO_xlw^FisWfT>M#H06AK$R5utyH%_-HVoEn|{62aj9p#BHUD`Mt?9P)U zE3KhD7G^FjN-mau`O{uZiWD(Y8nSB-zGU?jHPkR05Kh5$0Qps%7J3Lr(I{2aIa+Yo z-)=2YOio-9^|Qx#AYm|zyK&sNa7gU%XN|0^Hspj9WJH~HH{8t z01s%5LXmkcI7ugi%$(?Kl%XG-nCBbrdT$7HAMbge=)EjYB%ib%91ofODJ&*Cv^gba zEDIWl0}V&Pah1zL*QRpwoT1upUIj9q8XqIij#>ySYP!!ChfGi*{h zOZw2iBnykQHS2Xb8$+ysS~YN|9d-{X=Fj&FU3@giI4%!2=nqX;J`YU*kW7-b)_Q*q zB=c`BBn)X@cHU@G_^JMzqKW3GlWPf39!C}$2 ziphmDA}I%8FD%xT`mK_XDMh#ZWQNF|=B!#!=#(LUSftjTA{bNV&z7K~sO!65;DcNY zLRHyfQyD58+r1ATy%fv~`1Ke!*Y;YRh+X1@A0|9oaN;pBNB;BIkeH&}GA;R1H=k;$ ztm<+WEOoY$x;U%`z1Z(9xgE&q9cS8W?)(rX=1*CIcOE2}Q@Z0kM##|_!P)|&A{kSt z0h4TX=FVQTV72%pwQ}PnHHNp zr67K!nLR2E1*V3=p6ct780IxwNWbnTt5uX8R_vl#wm4F@HC#TmE_$T|9bRw*&P_qC z)SNBy1)cU_h~M-nw>C*y=p-c4&m^(K3RC>*pjfRFMjhvm!m42Wo>?zXpiQ+XRcN9W zXEQahrL1TF->fObCq9{}@V z3#TKLGQsOYeP3@1sjk4_hRCDF&1ru2sbMQhN#K zNEp5bxYY)DgwZ&zQP?rzrA4s>#|GcGBZwv7YJ;OmhT~e4+mG_}pJsQf>j$_C$Bk2g?5SJquka=kc;i%=g)YcKds?I_543TUSkxZE3jHaC&rUxKed6`lp z-fknlX(Rq^BY|rp!QlhpxKTmE{{T$U>H{I1tycOj7Y~ zV>w;ppWDU?42SZc#=p7|tcaQZZva!>)&$`GKLE4(NIAwtYuZF-*+hHWMDNo?*vR(Sw3x@*6V|f&{{k?FkCnO$Y?00W12Bi-xMd)zS|#hG5?Sv<#<#wus(Lr_$vmblYA|+g@$kUSHeZbeonp$eI({-Twaqm>hN%rhs47Hv+am>;}7!VWanLJ5cq( z=cgSA*#xY{4xI6?f`C2bjxm&;y=aQ*21PvUaa)CHI=owW!EqR8P6SeD1ahoklx-9$ zrbCVE0h(YuLTu#sk$4RCe8iGi)E-_$Ziiog94edtMG{-p%sMReIoyT)J3+q1<2VBv z?M^O1XI0>OR3llkuP&)f@Ig35P z+*IubOML;D&Qh`e1284;Q%jx2pCXxmv@yGNfR6(HF96d;Md3lI1rk}&McvOuV+Npv z9mWa({|~@yc_4-bm*Ikt9RC6^T@8p_4Y3|6!yt?$UHLTbf2f67NPPjA5S+UZmNl+c zJ+9U>t~NW5HYJchcONZFpyh6yqln#*;Q-*Jzy%$*icTQ%D8My$<9>>jCZR+w5|=j`vhItwT(k;}Ei?K`WNqxE1*TK-m& zutVj^&gWSq=#{Dt!EWxEpZMJWbt#6uR*XC&a6uyNKDV8WRGwfH#zCgQdq)3zWj$1H zi4CJ7d1GVqYSeoV(hFqQ_bO+7%8T>PM*z0Yc(u29b&h!d-t^jf#ymi2QPOmUmzP`=& zVE3tm_n+K;r4?){-b=Z@BcbmrZu(na*^3acX>BgulFCAAf3x^0TbSvqI8O zK{OxS+_=3;R)aeojz7K`=iUjq?&SV+iP zF(zRk7~)@w#o@6GVHxZy;YCcK5EKH9dcF18EyZLSi&=AL-X8c=7LS`IDuv=`OrA(6 zG6r}M)qLU4R2GwRQ8<-SH+;t+^Dh9i^0}NQ3iF{Nfx}?)q{DWSnw9xF7N-1RsdFPog}9#?izajbdgrfwE#y`lVhz7X;+Ex_n_Z z&sXS?f3SLGQ>)Sc6XA35%6_?O|7)Sz=8faJ8~Ba2_PGWO0y+$jc5#^)FcuoCY-oGE z*$;(`lcQ`_mhPlXXdDo9eeH94T3SSaJ`?R_x3W}e(qN~+A(ye@Fm)iV0BZhtJ9dkF zzf;%%_`Nf4imW5vhT0<~scQqEnA8b^cy#PX<-Q5HWt;J_1#Gzycw*+LApdU2^DV&{ zjQh$Kj|n4ds_H_#DW;3$99iZi3ZmaA;(#1|zX!$uDPe$cK2{gF$#K$@TP zapY*m(Ey~vvsGyoO*{kV1*FczQaL1t?=7328*v=3(-o=RM-na!?N0gMa;wl$l5$5> zr12d^{XUJNf%r$Djkz$bKXgKM<51qU$ynY$?_}Xvp&(I^coEgg$q!8bdE(&Nl*~%g zMrVw{R=ul31d4G}f!|`Xu}-7v#`R789w@w1629NPYer#ZyPZe*MsP7#A3*{=Z!y8o z+0~ak0tW&AgB(p9oOqWpXWsLxvO3T&+9ov`DD7Hi$_R?4ZrDa!mG)@kIxyg=K0nNf&CKyk(PPj$wzNTJJdMX9 zYR~v#@ycUb&03>$DK(|rk=7!aInd(uzIjN-Sa1t2IFoocBdM@> zzvyNDp|`pKs^UM|^x7ePHV-GNewoMYz1uS5z9^W4Lj2fQ4-~gA3H#1RI>eN zgYBPDah8Pmj9D=AMsY@#^f7a9nIOjjBH`0NW4|83amTnQXq3ywRqN}M ztDTQnKq>!zs;mbZL#V9N@2z4bA_f4XZi^^Wp{wuwZ++FYG#N(RWp%Du09|}LjDK)s zi;&PghO#!;C0k_?Z4=Yo_lg*Yu7W3t-649R+GA?Faf^zFh(Y41Qjhmfco!iE$6 ze{ePPW6`-5cPG4eXfr^x#yn_#DiL&eCXW#L+&8*EqE9%#^uSasFyz+7F=!ghz82aE zvQ6hF)A?OJWwS@g&jvTkegPfWoC#g1rGkGb8KKP<(&#GWViM9SOnvJw{1?2*o zLNknb)wK$3LGNpFO*Pc6ozH_rI}&GIc_QtWGcDOsN?6;l4}){CR{W__OZ#${?Mrcm z>dE{`#pvBNUz=4CsTMh+Qu*hFrd|x1t;1A~ zSJk!4+p7bAb#zeZ)TIYrCT3$EXE)>3rL;vF@%-{*qe(3|5WRDk)V;5_UG}Gze zN6XxxB3#T-#unzyLrsmDzQ;+&K|*uOi0J334+3N_(o0L9@)S5`Vdv3;F4zRdr;Yv0 z>ojWY^Ppbhb>yA*EKbeNusFlLM45%==5>`WS7nueK&6?EniZGZ zP#?oH%zG!XktCA)RP|%bj3H*E9y}AlYt1rT6kJiukUfrfZVd55q=dABFMggP3cNP98D;IYp>M+M3Yw z_aB3M%YU9{9=@LQP?^MKZXfmW(LUY--5m8Lyl_(bUhT0$?`>vW0>n@Bkbpc($g(5= z+8q`&ao#7aKJc#$`0G)}$qi4ez^dHN7=BJT+wg;pUR@CZI1S#$!-kOe&Zf=wbKe%i zDBy${fBRH!j5xv-4pPEg%tHhGb8eJ~PWqgj2sAae{6PeG%mTEh$|i4t&u4;96W5Vs zk1<0+_Gd515ihP0RP1GAWkVDZ_l^QW^ie?}2Aewp_E1H{p`X-x@a-e;`C16=yXjoJ z*(wWQ>-t4Yd03jb$TV9U(RwJa#0y}13p_)?%?I3$%oZhe@A zQA|GErX`1?FYAj>FK<%7PE59Jd?alsuY{+bzb-Z&i>DbpW-kKq?mzBsD4awL(V1`f zyFjTtm?*zc`8I?2s~tuFmsInJG(Uu=eUr?UqS@!DESTb<)j*sbNf`A=2(cf)gpkzv zy|>pyJAX)9Ku>4g1asd+7Y(GN>S|g{B8JQ`sMoBm4}Ux{w7K6J<$ zoPgL_)O3STPL@{1xf^NbNMT>Psk%4T{hzGj1|ef zOFe&N`Zt@Yz3%d|m{&xbqt=@S{Vdf~1Yh|m2}Y(=fyea3Ep;3wS9>i|o8N*b#}BX1 za8AH=VTn1BUhxe$vC9XE+jpPph%5;qQi(2?$~+!fkel~qo5tp>$Hr*JB}{P(jV)nV z*b$!nCNB$Sp!Q>@4*h|f#8Q})0iBGNm8@$~W>QvaQ#O+&`avNSqAQ2PCCdIz{r?4E zLesD-LQrx+u#=b5b_Nv6(-f(d7wOUzn_3nf516u)3EdCy29=k_(3JfLVA7NqmzPJ- zFaZY2yJ;$i&ntcmnlnJsZPHX9mselY)I6S7SNGFAm;VpItf)JtsU@_kZWm!?t7s6Q zZTu<|k+*8Rg`n0Ya7>=bfnRL)Rc`TJAU>9IGgNF{4=dPA4ctm?ucqy2zKC|t>lg-A zbWT^G!$~Q4V00dwqB1DTyJ&FM;lAX_mf)prbtzJVg#;9ZTw!E z|Gv|gqUMW{Rzj!|@J)Fze`W;Udejr$|0T&kS$W`mWFTaD6jO1+b!DReSNrr-|NLdk zJQO1Q)Od>8@y6 z?P0YMhO~g+D_iTAUmtJGOKyIuZ*7n6ljZ%5L#*xdYBMLY7xHx%ocmzMhHq{QQk!+lqV*H#O#p#7*rJI{{fgNb&`#f-~IzI z>(CjQ>+?i;WSKE;YEkrahHn5gTN|BvYlSgfO$1aZA1cOlG{6I=mic z{DyxN-$n3O>Ie#$vFy(+j2WunBZxrE#4z>5C@dr$rb+L@B$V}}j4Widw?yCdQ1SiA z6>c#%>nQYYDI`V6^;sz0Zt+?~50`4Ry{mn($KF%wC`;;TCYT9oZYfTf7xdHE*;wc~ zZ;9|7=}+nzPHxFiM93BD$<^y=QJe^@SeS{N@B`~RqW%pcUTvo{vq(BIx74$BFw^A@ zgA9l0Zdf=$|LBRNI71t_-W(V~EKCSa>@uw6){ZycJl2^Bqv2u`C;(dvt3a*; ziMg;q%|G^=a6Rigu8Ui;)O{f$Hb#UnZe>S7q6W;rPNGD2yovH~D?=B^BG7`Ym||>_ zPj`ZN7$WFwq@irmto0%gPE2l%U!5>`3img-Vc#s-WQgtrD()qppmgAzrFmJXuNxH* zSg0ACf6lN`3bOt3s+UQn7w@{p8{T6jdSH?SXP3N}yA$Wo3;rsdCic6NvT9OGW&KG6 z#v|H9P{aD$s9uJb5ih*H9GL&KefQh#7Js9WFcX?6vREC9Mg8PKUDQz{)0nqEVb&l0@WYJI#;zYYoJSnUh1et!o^-UERKK^FV>zo+ zJ_$2&iu$?Xih`5(x;gI{_Q1;>`pW1tMWP*ZpeNLFY<~6j^hzvn8YH^q=DB&+aC)^o z5y3WT;I#%d)XBVEpUxlP@8=4w{?Uwx0lIPeD{$dOKDnZy82Cq8kMr+gQTd}o%|!+aYH$EYTz6iT0I+{g*u)T z@mjsfJTy^i!}Z&2E}@y5DJby|>Zpv2{&Kk)QL)Jvd?^CjWG^@nZs8-2dQ@C`H|$A~ z4M~!%L4qy*GA(KpkJ^hy+nWb*T*o%&Kh7YzUGrHoOX@O}o5C+b=yO7d)%pZuJ!0lP6kzh-#SP zDN3MBO4=$I*av~VnDn`zA-lY$2Q*kd1{95(3(o>Ri84Vr#Wb~7cO%O+&-C2%~*q9ziVY9A>QqM zM8*dU+$T`MYv=AhP|vH2(RV@+w9%a@e{59QC(75+v)q5@bBKQ1S<-pJ=@u-*H>@Pg zWFL6ZBXBv=eK{j=wbFgH<9mrEO4TTE{nUNaBVaSD`ntvU53A=Nk>D*}4~4hbEoaZ2 zpy0h=PrQC0qe{;M`oN7@&!d$eRZ#z6ow5QYQ_44@e zhGnlGp$3J;;f?KJI24Iw(3rhHKG2@+hW3csG$auJva0O3`Ct+HbYr zas%hYKy9A=ibMFc1#^tBW`(uG@qh2=2D;w0sz$qDwXLOxGGs5uh&geU#%ZcL(I)7I z^5<*G|J~LzFg4*P%Azwi%1t(F(pk%)xs}Av=`@RJ#td&B#f?GXeT9b&I^O|FUeI=)k$7b z)A7Mr)-W-_Ak>~r$5_#J*0hkmyY5QLtNYAi()rW_%G5nv{hjHSB>0bb*0M1d8N7aOA#(8K+U4wt%z3ayPE6Z{(*GDC(&q zly0aN9;<-u`Sxo-J4fa}V9%;?$}q*#(?6``6ui5LM0d!DNq)1m>p%gMq~T5&K^?mu zFv)C}VgyF^MY^^}&)fAYA3nzomztK_uhX8rH^mFHeK(7Q+ch$;rT1w8T7od^eprFR zUD{f6>mhu)sM{HI%n7H|eZFDk>?S^Z!`*T|U9#(adH9u@Grd~ZsOz;sMA_l{*7l_H zKEr93@8?KHBwX4;bkv68c_o^+yQ?mAjTitHNEOKrE{PSmJAfwL014EU=y+$Z#w2{t zTkA#*{Pvd-m~JJ4rnK4&hD`o5H2jb7e2dVs&t!;q;0~fqAP|5E;P68Q0dYA{6_K3W+sj;j+5J^Up+qGH{IjM76QmUyx#=yr-n#3+h&a5No3eJ^ERc;zZ+2v~k9sym z(JJr#5p4{T4G89J@Ku%Qf#uBx2!p7D2FC`FDdpdOWx>VNPc1(+Ug^A7I@9Pp%2G6s z9qn2n%@$nY2=yf96W6f;yAi)pZJ6`{7IV;O*=1bc|=;S$@m;Itt0K{PBx@nfe^02@<_&)`D zA1;#9O4Cr3i|6`Z7&dJJrt`nK83U{df!HRF23O`1BjNSLFu{waxR2vNTIaF7>Fv93* zZZgcOPk$^w^dMQA(0}en5TiAO$;IrKY^b-YsMsRu;VPF%sY{q^mSp8bgtxc)ON@e( zCV&vs6nV9JUf&r%(BRyIK{ zE-nE)FIyG zkq{MCl$2CeRMJsZGc+)?26{9yDn2DOqo}9^;>FEd_8d9{^xO%E&mKN}4EEV)WS_x& zh(fbYNSL6LlBpLcD)2aSnd8x2sxc?mX5Zhu?%tl5x9msemK~MjoO#Buamqbmiv!*)*fFJwf5yyNGvizl-kmS9YW146?CUpd+{CkG>$dG{cdl8nXYW!-AOQDnGw6T< gfrmkup#kVeAfJi1rGMq=xBQFeY`N8)%gA6202Ep!KL7v# literal 0 HcmV?d00001 diff --git a/docs/images/test.png b/docs/images/test.png deleted file mode 100644 index 00887d2b1a0817538a9a86a80204ff78a9ad9096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12111 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 diff --git a/samples/gantt/dynamic.py b/samples/gantt/dynamic.py new file mode 100644 index 0000000..1271677 --- /dev/null +++ b/samples/gantt/dynamic.py @@ -0,0 +1,124 @@ +import random +import time +from collections import namedtuple +from threading import Thread +import matplotlib.pyplot as plt +from matplotlib.container import BarContainer +from matplotlib.animation import FuncAnimation + + +class Problem: + def __init__(self, num_job:int, num_machine:int, solution) -> None: + '''Initialize problem with the count of job and machine.''' + self.num_job = num_job + self.num_machine = num_machine + + # a solution is a collection of tasks with determined start time + self.__solution = solution # type: Solution + + # implement dynamic gantt chart by animation + self.__animation = None + + + def solve(self): + '''Solve problem and update Gantt chart dynamically.''' + # solve problem in child thread + thread = Thread(target=self.__solution.update, \ + args=(self.num_job, self.num_machine)) + thread.start() + + # show gantt chart and listen to the solution update in main thread + self.__dynamic_gantt(interval=1000) + plt.show() + + + def __dynamic_gantt(self, interval:int=1000): + '''Create plot and define animation to update data dynamically.''' + # create two subplots: job view and machine view + fig, (gnt_job, gnt_machine) = plt.subplots(2,1, sharex=True) + + # title + fig.suptitle('Gantt Chart', fontweight='bold') + + # axis style for job subplot + job_ids = range(self.num_job) + gnt_job.set(ylabel='Job', \ + yticks=job_ids, \ + yticklabels=[f'Job-{i}' for i in job_ids]) + gnt_job.grid(which='major', axis='x', linestyle='--') + + # axis style for machine subplot + machine_ids = range(self.num_machine) + gnt_machine.set(xlabel='Time', ylabel='Machine',\ + yticks=machine_ids, \ + yticklabels=[f'M-{i}' for i in machine_ids]) + gnt_machine.grid(which='major', axis='x', linestyle='--') + + # animation + self.__animation = FuncAnimation(fig, \ + func=lambda i: self.__solution.plot(axes=(gnt_job, gnt_machine)), \ + interval=interval, \ + repeat=False) + + +class Solution: + + Task = namedtuple('Task',['jid','mid', 'start', 'duration']) + + def __init__(self) -> None: + self.__tasks = [] # list[Task] + self.__update_plot = False + + def update(self, num_job:int, num_machine:int): + '''Simulate a real solving process to update solution iteratively.''' + for i in range(num_job): + time.sleep(1.5) + self.__add_random_tasks(i, num_machine) + self.__update_plot = True # signal to update plot + + + def plot(self, axes:tuple): + '''Plot Gantt chart data area.''' + # update plot only if the solution is updated + if not self.__update_plot: + return + else: + self.__update_plot = False + + # clear plotted bars + for axis in axes: + bars = [bar for bar in axis.containers if isinstance(bar, BarContainer)] + for bar in bars: bar.remove() + + # plot new bars + gnt_job, gnt_machine = axes + for task in self.__tasks: + gnt_job.barh(task.jid, task.duration, left=task.start, height=0.5) + gnt_machine.barh(task.mid, task.duration, left=task.start, height=0.5) + + # reset x-limit + for axis in axes: + axis.relim() + axis.autoscale(axis='x') + + + def __add_random_tasks(self, job_id:int, num_machine:int): + '''Create random tasks belonging to a job.''' + # random machine id + machines = list(range(num_machine)) + random.shuffle(machines) + + # random tasks + lower, upper = 10, 50 + start = 0 + for mid in machines: + duration = random.randint(lower, upper) + task = Solution.Task(jid=job_id, mid=mid, start=start, duration=duration) + start += duration + random.randint(5, 10) + self.__tasks.append(task) + + +if __name__=='__main__': + s = Solution() + p = Problem(num_job=5, num_machine=4, solution=s) + p.solve() \ No newline at end of file diff --git a/samples/gantt/static.py b/samples/gantt/static.py new file mode 100644 index 0000000..1b88293 --- /dev/null +++ b/samples/gantt/static.py @@ -0,0 +1,36 @@ +import matplotlib.pyplot as plt + + +# dummy data: +# - job number +# - machine number +# - task properties: (job id, machine id, start time, duration) +num_job, num_machine = 2, 3 +tasks = [(0,2,0,10), (0,1,10,5), (0,0,35,20), (1,0,15,15),(1,1,40,15), (1,2,50,10)] + +# create two subplots: job view and machine view +fig, (gnt_job, gnt_machine) = plt.subplots(2,1, sharex=True) + +# title +fig.suptitle('Gantt Chart', fontweight='bold') + +# axis style for job subplot +job_ids = range(num_job) +gnt_job.set(ylabel='Job', \ + yticks=job_ids, \ + yticklabels=[f'Job-{i}' for i in job_ids]) +gnt_job.grid(which='major', axis='x', linestyle='--') + +# axis style for machine subplot +machine_ids = range(num_machine) +gnt_machine.set(xlabel='Time', ylabel='Machine',\ + yticks=machine_ids, \ + yticklabels=[f'M-{i}' for i in machine_ids]) +gnt_machine.grid(which='major', axis='x', linestyle='--') + +# plot each task +for (jid,mid,start,duration) in tasks: + gnt_job.barh(jid, duration, left=start, height=0.5) + gnt_machine.barh(mid, duration, left=start, height=0.5) + +plt.show() \ No newline at end of file