From 335bd2a3a09321e64da0fa8038b97dc4d8b75d93 Mon Sep 17 00:00:00 2001 From: Carla Alves Date: Fri, 2 Sep 2022 16:43:11 +0200 Subject: [PATCH 1/7] update eval/query_performance --- doc/scripts/eval_performance.py | 97 ++++++++++++++++++++++++ doc/source/_static/eval-perf-small.png | Bin 25314 -> 0 bytes doc/source/_static/query-perf-small.png | Bin 21731 -> 0 bytes doc/source/user_guide/enhancingperf.rst | 23 +----- doc/source/user_guide/indexing.rst | 21 +++-- 5 files changed, 116 insertions(+), 25 deletions(-) create mode 100644 doc/scripts/eval_performance.py delete mode 100644 doc/source/_static/eval-perf-small.png delete mode 100644 doc/source/_static/query-perf-small.png diff --git a/doc/scripts/eval_performance.py b/doc/scripts/eval_performance.py new file mode 100644 index 0000000000000..bf79c0fb1f8be --- /dev/null +++ b/doc/scripts/eval_performance.py @@ -0,0 +1,97 @@ +import numpy as np +from timeit import repeat as timeit +from pandas import DataFrame +import seaborn as sns + +setup_common = """from pandas import DataFrame +from numpy.random import randn +df = DataFrame(randn(%d, 3), columns=list('abc')) +%s""" + +setup_with = "s = 'a + b * (c ** 2 + b ** 2 - a) / (a * c) ** 3'" + +def bench_with(n, times=10, repeat=3, engine='numexpr'): + return np.array(timeit('df.eval(s, engine=%r)' % engine, + setup=setup_common % (n, setup_with), + repeat=repeat, number=times)) / times + +setup_subset = "s = 'a <= b <= c ** 2 + b ** 2 - a and b > c'" + +def bench_subset(n, times=10, repeat=3, engine='numexpr'): + return np.array(timeit('df.query(s, engine=%r)' % engine, + setup=setup_common % (n, setup_subset), + repeat=repeat, number=times)) / times + +def bench(mn=1, mx=7, num=100, engines=('python', 'numexpr'), verbose=False): + r = np.logspace(mn, mx, num=num).round().astype(int) + + ev = DataFrame(np.empty((num, len(engines))), columns=engines) + qu = ev.copy(deep=True) + + ev['size'] = qu['size'] = r + + for engine in engines: + for i, n in enumerate(r): + if verbose & (i%10 == 0): + print('engine: %r, i == %d' % (engine, i)) + ev_times = bench_with(n, times=10, repeat=3, engine=engine) + ev.loc[i, engine] = np.mean(ev_times) + qu_times = bench_subset(n, times=10, repeat=3, engine=engine) + qu.loc[i, engine] = np.mean(qu_times) + + return ev, qu + +def plot_perf(df, engines, title, filename=None): + from matplotlib.pyplot import figure + + sns.set() + sns.set_palette('Set2') + + try: + from mpltools import style + except ImportError: + pass + else: + style.use('ggplot') + + fig = figure(figsize=(4, 3), dpi=120) + ax = fig.add_subplot(111) + + for engine in engines: + ax.loglog(df['size'], df[engine], label=engine, lw=2) + + ax.set_xlabel('Number of Rows') + ax.set_ylabel('Time (s)') + ax.set_title(title) + ax.legend(loc='best') + ax.tick_params(top=False, right=False) + + fig.tight_layout() + + if filename is not None: + fig.savefig(filename) + +if __name__ == '__main__': + import os + import pandas as pd + + pandas_dir = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) + static_path = os.path.join(pandas_dir, 'doc', 'source', '_static') + + join = lambda p: os.path.join(static_path, p) + + fn = join('eval-query-perf-data.h5') + + engines = 'python', 'numexpr' + + if not os.path.exists(fn): + ev, qu = bench(verbose=True) + ev.to_hdf(fn, 'eval') + qu.to_hdf(fn, 'query') + else: + ev = pd.read_hdf(fn, 'eval') + qu = pd.read_hdf(fn, 'query') + + plot_perf(ev, engines, 'DataFrame.eval()', filename=join('eval-perf.png')) + plot_perf(qu, engines, 'DataFrame.query()', + filename=join('query-perf.png')) diff --git a/doc/source/_static/eval-perf-small.png b/doc/source/_static/eval-perf-small.png deleted file mode 100644 index d86018363ffdc8e6e2845fcd06f4f08af6fb00a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25314 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 d|JHoO78AQ)9l>NV2~ 2") - df.query("a > 2", inplace=True) - df - Local variables ~~~~~~~~~~~~~~~ You must *explicitly reference* any local variable that you want to use in an -expression by placing the ``@`` character in front of the name. For example, +expression by placing the ``@`` character in front of the name. This mechanism is +the same for both :meth:`DataFrame.query` and :meth:`DataFrame.eval`. For example, .. ipython:: python @@ -820,17 +811,9 @@ significant performance benefit. Here is a plot showing the running time of :func:`pandas.eval` as function of the size of the frame involved in the computation. The two lines are two different engines. - .. image:: ../_static/eval-perf.png - -.. note:: - - Operations with smallish objects (around 15k-20k rows) are faster using - plain Python: - - .. image:: ../_static/eval-perf-small.png - +You will only see the performance benefits of using the ``numexpr`` engine with :func:`pandas.eval` if your frame has more than approximately 200,000 rows. This plot was created using a :class:`DataFrame` with 3 columns each containing floating point values generated using ``numpy.random.randn()``. diff --git a/doc/source/user_guide/indexing.rst b/doc/source/user_guide/indexing.rst index 92729a16c6a30..0fdc4728ca4b8 100644 --- a/doc/source/user_guide/indexing.rst +++ b/doc/source/user_guide/indexing.rst @@ -1240,6 +1240,17 @@ If instead you don't want to or cannot name your index, you can use the name renaming your columns to something less ambiguous. +The :class:`DataFrame.query` method has a ``inplace`` keyword which determines +whether the query modifies the original frame. + +.. ipython:: python + + df = pd.DataFrame(dict(a=range(5), b=range(5, 10))) + df.query("a > 2") + df.query("a > 2", inplace=True) + df + + :class:`~pandas.MultiIndex` :meth:`~pandas.DataFrame.query` Syntax ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1440,13 +1451,13 @@ large frames. .. image:: ../_static/query-perf.png -.. note:: - You will only see the performance benefits of using the ``numexpr`` engine - with ``DataFrame.query()`` if your frame has more than approximately 200,000 - rows. - .. image:: ../_static/query-perf-small.png +You will only see the performance benefits of using the ``numexpr`` engine +with ``DataFrame.query()`` if your frame has more than approximately 200,000 +rows. + + This plot was created using a ``DataFrame`` with 3 columns each containing floating point values generated using ``numpy.random.randn()``. From dc0181df1a2c5a687f762f32f53dc0c4ce099d28 Mon Sep 17 00:00:00 2001 From: Carla Alves Date: Fri, 2 Sep 2022 18:02:10 +0200 Subject: [PATCH 2/7] final update eval/query_performance --- doc/scripts/eval_performance.py | 25 ++++++------------------ doc/source/_static/eval-perf.png | Bin 18603 -> 33656 bytes doc/source/_static/query-perf.png | Bin 20351 -> 33026 bytes doc/source/user_guide/enhancingperf.rst | 2 +- doc/source/user_guide/indexing.rst | 2 +- 5 files changed, 8 insertions(+), 21 deletions(-) diff --git a/doc/scripts/eval_performance.py b/doc/scripts/eval_performance.py index bf79c0fb1f8be..bdaa0c6cabd83 100644 --- a/doc/scripts/eval_performance.py +++ b/doc/scripts/eval_performance.py @@ -17,12 +17,12 @@ def bench_with(n, times=10, repeat=3, engine='numexpr'): setup_subset = "s = 'a <= b <= c ** 2 + b ** 2 - a and b > c'" -def bench_subset(n, times=10, repeat=3, engine='numexpr'): +def bench_subset(n, times=20, repeat=3, engine='numexpr'): return np.array(timeit('df.query(s, engine=%r)' % engine, setup=setup_common % (n, setup_subset), repeat=repeat, number=times)) / times -def bench(mn=1, mx=7, num=100, engines=('python', 'numexpr'), verbose=False): +def bench(mn=3, mx=7, num=100, engines=('python', 'numexpr'), verbose=False): r = np.logspace(mn, mx, num=num).round().astype(int) ev = DataFrame(np.empty((num, len(engines))), columns=engines) @@ -34,9 +34,9 @@ def bench(mn=1, mx=7, num=100, engines=('python', 'numexpr'), verbose=False): for i, n in enumerate(r): if verbose & (i%10 == 0): print('engine: %r, i == %d' % (engine, i)) - ev_times = bench_with(n, times=10, repeat=3, engine=engine) + ev_times = bench_with(n, times=1, repeat=1, engine=engine) ev.loc[i, engine] = np.mean(ev_times) - qu_times = bench_subset(n, times=10, repeat=3, engine=engine) + qu_times = bench_subset(n, times=1, repeat=1, engine=engine) qu.loc[i, engine] = np.mean(qu_times) return ev, qu @@ -46,13 +46,6 @@ def plot_perf(df, engines, title, filename=None): sns.set() sns.set_palette('Set2') - - try: - from mpltools import style - except ImportError: - pass - else: - style.use('ggplot') fig = figure(figsize=(4, 3), dpi=120) ax = fig.add_subplot(111) @@ -75,7 +68,7 @@ def plot_perf(df, engines, title, filename=None): import os import pandas as pd - pandas_dir = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) + pandas_dir = os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) static_path = os.path.join(pandas_dir, 'doc', 'source', '_static') join = lambda p: os.path.join(static_path, p) @@ -84,13 +77,7 @@ def plot_perf(df, engines, title, filename=None): engines = 'python', 'numexpr' - if not os.path.exists(fn): - ev, qu = bench(verbose=True) - ev.to_hdf(fn, 'eval') - qu.to_hdf(fn, 'query') - else: - ev = pd.read_hdf(fn, 'eval') - qu = pd.read_hdf(fn, 'query') + ev, qu = bench(verbose=True) # only this one plot_perf(ev, engines, 'DataFrame.eval()', filename=join('eval-perf.png')) plot_perf(qu, engines, 'DataFrame.query()', diff --git a/doc/source/_static/eval-perf.png b/doc/source/_static/eval-perf.png index 14c69c1b85d9e750352c604a9d7ae2e8e5249201..a85cfb083fa7e9edc3ab91b2ff21499b4548ba11 100644 GIT binary patch literal 33656 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%0A>m<+cZD7aW0BI4A+XdSBIT+&t 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 IFnG}a0B-H1S^xk5 diff --git a/doc/source/_static/query-perf.png b/doc/source/_static/query-perf.png index d96318df943570087e42ea9a428827fc98e4d5c8..38d23d0c5e2a428d1470ff0844cb2281b8bd45bc 100644 GIT binary patch literal 33026 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 Date: Tue, 20 Sep 2022 10:13:31 +0200 Subject: [PATCH 3/7] run black --- doc/scripts/eval_performance.py | 81 +++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/doc/scripts/eval_performance.py b/doc/scripts/eval_performance.py index bdaa0c6cabd83..8cd1f4134b6c4 100644 --- a/doc/scripts/eval_performance.py +++ b/doc/scripts/eval_performance.py @@ -10,30 +10,50 @@ setup_with = "s = 'a + b * (c ** 2 + b ** 2 - a) / (a * c) ** 3'" -def bench_with(n, times=10, repeat=3, engine='numexpr'): - return np.array(timeit('df.eval(s, engine=%r)' % engine, - setup=setup_common % (n, setup_with), - repeat=repeat, number=times)) / times + +def bench_with(n, times=10, repeat=3, engine="numexpr"): + return ( + np.array( + timeit( + "df.eval(s, engine=%r)" % engine, + setup=setup_common % (n, setup_with), + repeat=repeat, + number=times, + ) + ) + / times + ) + setup_subset = "s = 'a <= b <= c ** 2 + b ** 2 - a and b > c'" -def bench_subset(n, times=20, repeat=3, engine='numexpr'): - return np.array(timeit('df.query(s, engine=%r)' % engine, - setup=setup_common % (n, setup_subset), - repeat=repeat, number=times)) / times -def bench(mn=3, mx=7, num=100, engines=('python', 'numexpr'), verbose=False): +def bench_subset(n, times=20, repeat=3, engine="numexpr"): + return ( + np.array( + timeit( + "df.query(s, engine=%r)" % engine, + setup=setup_common % (n, setup_subset), + repeat=repeat, + number=times, + ) + ) + / times + ) + + +def bench(mn=3, mx=7, num=100, engines=("python", "numexpr"), verbose=False): r = np.logspace(mn, mx, num=num).round().astype(int) ev = DataFrame(np.empty((num, len(engines))), columns=engines) qu = ev.copy(deep=True) - ev['size'] = qu['size'] = r + ev["size"] = qu["size"] = r for engine in engines: for i, n in enumerate(r): - if verbose & (i%10 == 0): - print('engine: %r, i == %d' % (engine, i)) + if verbose & (i % 10 == 0): + print("engine: %r, i == %d" % (engine, i)) ev_times = bench_with(n, times=1, repeat=1, engine=engine) ev.loc[i, engine] = np.mean(ev_times) qu_times = bench_subset(n, times=1, repeat=1, engine=engine) @@ -41,22 +61,23 @@ def bench(mn=3, mx=7, num=100, engines=('python', 'numexpr'), verbose=False): return ev, qu + def plot_perf(df, engines, title, filename=None): from matplotlib.pyplot import figure - + sns.set() - sns.set_palette('Set2') + sns.set_palette("Set2") fig = figure(figsize=(4, 3), dpi=120) ax = fig.add_subplot(111) for engine in engines: - ax.loglog(df['size'], df[engine], label=engine, lw=2) + ax.loglog(df["size"], df[engine], label=engine, lw=2) - ax.set_xlabel('Number of Rows') - ax.set_ylabel('Time (s)') + ax.set_xlabel("Number of Rows") + ax.set_ylabel("Time (s)") ax.set_title(title) - ax.legend(loc='best') + ax.legend(loc="best") ax.tick_params(top=False, right=False) fig.tight_layout() @@ -64,21 +85,23 @@ def plot_perf(df, engines, title, filename=None): if filename is not None: fig.savefig(filename) -if __name__ == '__main__': + +if __name__ == "__main__": import os import pandas as pd - pandas_dir = os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) - static_path = os.path.join(pandas_dir, 'doc', 'source', '_static') + pandas_dir = os.path.dirname( + os.path.dirname(os.path.abspath(os.path.dirname(__file__))) + ) + static_path = os.path.join(pandas_dir, "doc", "source", "_static") join = lambda p: os.path.join(static_path, p) - fn = join('eval-query-perf-data.h5') + fn = join("eval-query-perf-data.h5") + + engines = "python", "numexpr" + + ev, qu = bench(verbose=True) # only this one - engines = 'python', 'numexpr' - - ev, qu = bench(verbose=True) # only this one - - plot_perf(ev, engines, 'DataFrame.eval()', filename=join('eval-perf.png')) - plot_perf(qu, engines, 'DataFrame.query()', - filename=join('query-perf.png')) + plot_perf(ev, engines, "DataFrame.eval()", filename=join("eval-perf.png")) + plot_perf(qu, engines, "DataFrame.query()", filename=join("query-perf.png")) From 5467e7435825e047b525442fc7428109aa957b05 Mon Sep 17 00:00:00 2001 From: Carla Alves Date: Tue, 20 Sep 2022 11:42:56 +0200 Subject: [PATCH 4/7] pre-commit --- doc/scripts/eval_performance.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/scripts/eval_performance.py b/doc/scripts/eval_performance.py index 8cd1f4134b6c4..27d9bf23fc1af 100644 --- a/doc/scripts/eval_performance.py +++ b/doc/scripts/eval_performance.py @@ -1,8 +1,10 @@ -import numpy as np from timeit import repeat as timeit -from pandas import DataFrame + +import numpy as np import seaborn as sns +from pandas import DataFrame + setup_common = """from pandas import DataFrame from numpy.random import randn df = DataFrame(randn(%d, 3), columns=list('abc')) @@ -88,7 +90,6 @@ def plot_perf(df, engines, title, filename=None): if __name__ == "__main__": import os - import pandas as pd pandas_dir = os.path.dirname( os.path.dirname(os.path.abspath(os.path.dirname(__file__))) From 69fac81f810607b354180f81c0f7300a138e8b19 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Fri, 28 Oct 2022 16:42:39 +0200 Subject: [PATCH 5/7] rerun benchmark script --- doc/source/_static/eval-perf.png | Bin 33656 -> 29681 bytes doc/source/_static/query-perf.png | Bin 33026 -> 29348 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/source/_static/eval-perf.png b/doc/source/_static/eval-perf.png index a85cfb083fa7e9edc3ab91b2ff21499b4548ba11..ed92337c1d995af37798f58d31ffb716f6600c72 100644 GIT binary patch literal 29681 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 literal 33656 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%0A>m<+cZD7aW0BI4A+XdSBIT+&t zTE`_%W_EA?OEWvsV~4rHNtV_ZOanMycF`@Lq%-s;RBPqhlFxJUEPJqKYs_BtEU@=? zcW3QyNbJrwB!I{RT(AmJGD$2yz{X7kX@cXi1rdjCV?B!B1gr&XByd~+rm_q)mMFB? zP=6~AP}xx?*T99PH(h9`b5wE~4L)-*z0bC%kDdP6gz6nNr8s#zIbmuTE!Q&gh1mdD zY72V!)JkBRfYA@M_Mf3^7G|%Q`i*Dx-u6|CflYX>{V4Y4inmvCgLUL?C~JkukXdNT9o9P3y$YNYfHDTn zSK(oonxFzEP<(ru+|PmUraGJmRFY~l>IpXhF>!G) z8?8}kV!s~24jJF2yX6D!5TIz>o(<4*dR$PU@?MN!E#F6SAFTj03DlpFl0pa!5Edz5 z1@QrCETXNQ(ohD17zvlb510#2Zq}ppPQ6nL9L7#)a>mWeb{`?%|0_M}N7@o{$`P6O5B zEvV1M_DvZXe&^f6%!XYd_`Se;)dLE5-@kv^#shI`=c9puaqf*{9dIr{tshXY6x5uw)RYL6tjwvS%TUP5@$qoTJF>d# zCC}a2^F7L`r6zY~IHAS$?N3r&)iMx;M5pob@x>&+GM9Qk3R>l z8V4YLIyg8`(a}M@Jb>DQ!U8X^CZ)KK#s5ji%Ks|&*4LHR)i*JtDU`-$&)G! zA_;W6MPHk|DHJ65K7HGH^Kg~gV112}p}&wt<-^MTj}3?J__Z|)J|2hNd*BUox-8i< zuAPV7BibpQWP7wZ77Phe@qVy%JbWzvT<7?{K0|m z4~RG5`4KWSG>k9;)eaOIuHpsYkD1<6u70&JhUVA0w9{i&>IYeIwBrRWNsJ3Y1nXVD zST2kk$rG$lzk&1oSjEd+pIR;&$*5^7$u<~J#F(L53z+@(T7bXxkK?v1g>=G7&tHIX zBOp}dvC5Nm?uwU{d}Ije{sbotcE9~d_=S^wS3}EIosVGnT1%8_5BUTzQ5$ip;?oEq z^=7IFZa`TM2n=Kdh>`DR<>k|L>oX&;6akSYf!Q>&u@eJWJrcJ*gchru6S!WSr{J@B zn^fFs8da`5pZDq)c?Y%QW4=Bn(>hshn8+Mg89lj|_tIw1?!{m&dPPV``0s3UU>7LS zKq4jv)*XoJ@etvT6GAYGolV~IbY}@zKT+VYpiwK`0Nz2srKAHh8mITo zaE0-}9?ujY3!oPJyd^n!QaYE4?80>gt#o-L&EZ{#tYN95^5N~j*tDbN>RA@Hs8ccV zE6?MKO>`;B*VOo*KRzC}El673%U?39GS5MhvP57WYJDZ!1D;X4=j|C0Kv(v}|AeYz zKbbP^;!oe*d2Go>L!g5kuPR_W^XD7Xw+w2=9{@<8j`vHzbd2M&n4xLaSQ*@&ZI&Vl z!IR=oXeiOCc9+_CD&CiszJD2^sN$_XRbYYs(b}BUhnue~Vf@xrcN+!0?nx$i!x9lb z&u&5QLlRtqPqJZW-0E}srF(({$4KC`aV z8WX69B>X-p3R$9)oN|@2c}6pT3{tpVhhm{kj=yB#)YJSZebW-P9YONmVQWoWT*f)% z>x#~dcVUb0&5=wSK;JhMpERaN@(gMkK`mVsOATJwmkAznU7FVEgX{^Aa^H6R$@+FfD@koGB=eQF zZx83`&l|w^i36&`n@_o>1i;xOU;eNRK*Z1=gHCO{AixQQ7+Tf~y`haN@@X-9C}ZWg zgJ4`>F1zvb-K+YmMipEKn6zfERNLKhtN^nVlhq7^YMHJKu)T?hh}_)WL7%mtkVz5- zjyWBo@6gk+;ssOJs>#ga?vw0-w4{BBq7HUwsI7d2{#T2*kPvv# z_{^i#q6@;;awx_OtwIW4O?`eJI>kq76TZ{W>D2Z%@&)Q%^WhJCa@hFz_~@jh&{?a} z^OTvHnIL#zhD#}(Fxg5*44$wC5+TM1o-#*s9il%0mUS$!0J)w559B#8eQBR9fX5UX zm@om_O9ZVsRZVQse66q(*_Y$Po{-Y-i$SIDg%)F89eB{mv;mXm2dK#%Z0H=VS{vMm zv~dD?5cR!j50wv^cDjp48#uCMZK_~^dpmELMrW+|YFIh?BSu+J!O`=zwt3LZbhn!) zt9L36j{7*T9bPu%S5|s8ds8|IRp}g8Ga9T%_7VtZJF`q$3YD85)dZAA;b^t{a}Z{% z*v9kZNF-VWL*TBZj?7yIq=m~y&rX~>&CH#S3{S*D$25TQ*sxcEjjROmz&O}U9B0_8 zEXsXV^QH=hzM$NRHQuC$R454g_>kHXU@0xCxu20>RJ(_k9x7#yaA4(2a>&iW_;g4h@pBiRJtXk%*&xbd|2`N0HY zCmT{uTPfDk$KY@t&TUKAdnHx8(W>5rqZD<@bCtKuTkMQ=;@m#vt9WhQ9vDg#=kVbB zq;CDJ!h+v#WGTx@oid!GG9n-#0DYte7}?5g78|&R$IV!v*7ev-K=J%~A(be!dm-pf z8VZ@1V@tNCGf|qd??8GAhu;s7RdTH-Z!Y$WQgSg+DCDAvKyFQYBAw=B^-&w$%z0Pm z1B>5?m9E#?zEDasQ?m26$mICbJ|EnFR7b_Fojd(b1OfZn;h_w`J13{7_M3;mXzIrk zw*JYAB014e%RM4fz(vGh_I7dO!KX!~oUz7O?Q&-8V4aX=s4ahTJ&)P0h9$njf>{UI zcJxQ)XRd~uagHB`y{^;oW$BXie|alX^j|ud6W9R*aAy#5^ac&cw)I;{`#()%CavBqrFr%n zXu-Bf&JSNLD1la8_ghI_jxl=_o=rA2`)cE{mh=1;j-dO!Ta3kNJW@)~BL4)@DytUV zXIN-^2il|hGeAx$2v6xGQk*hYy_7f|+u6aI2t~K#%yB`q_7cRy zo5CvzCf9>WU!H<|F55e>*mETS{W{e?8+zG9mb#Eu-|z1>AZ0!P0PQ%f<9Z4ZI5RNe zLLfYqVJ&ED{aBikr{e_shZ7s0s^k3VCEMm5<%-H8GK zwVt{`Ld2!9I98FoO`#{n+2Vwm2tYB*P=z^V&H#_U80a#8?w2^EyIhnFUh{&{EnAJK+!-h zbHk(l@%(b@>eMD&TDw?a>Ls=y3(2f;B=dYKebMY_Uuix#1?>VVp;uP5Q5x2YmoYZI>kAR`$sQlkft`DNPZ zm4Zf&iy36yWbG8c^Upb$S_7xk?Ef~NCZ*cGd5}PwUQ*MRinr|=2YyW~TC?28kPMfz z^Y7ZUNE#D-;p0Y9Qt)L_Z7GxgpnHNo6bHISa3%1}24vJs9y4d@8murd zG_btG0oKWwu_n0vf6C3T2rW)Nj^X|-UkeS~l8gJQ_*gdDhK8Evpipka^Te#XOF4q2 z{Y5JU2+qrzj>%~;NOc%rSsO$L3J`8`;&s>V_RCynz{JpNY_ejU+*Ul$$hMg@#=elE zHh_DkNjiaeAaG0!M8O+nH0bc&!tFKJFDZF)yyUx|UW=|Pm@jW7`L)dJJ=)CT_xV!1#54| zG4>CwI6v7n_tl!+SdB>Fr1uOJ@Mi)%#0X-iKo%QyxN@~T(wB-iwI4Vte8xy?|KfBZix)hqM<0&~VX{($aEY{>me5YaU*T=M@@8h1woq$E7fqZTJ(#<*3+Nnc?b@Z(rG1tXS!zMheYfmZ?6C zAaV<9=`RJ{0HWT^ux+XH3HOx!)>b3b9Z7rG(HIeRs;W4~d`3C?f|*fM3M26)#M=V- z-*Wi{CY5P}^f7Cz*WZ?27L5k>?;?Q2$ln4%;K(o}Jo!Z?M&}JdTl)=_RLWKe!T5KH zCK?2eQ(Z^VGN$<2EnW;!(HmO#7`SYx(7yHk!w}0~OQ4Wtq;j7|FvpUj^2AU@xy2(zm5M9b+O3E4=Cc~gkgzC<}a%gJGc z@mJkuxOQ+B3!|R^X~UU(g*k^4Df37rmZ=}HuXaNB^BfJZbTnE2shBhjlx(+;=2=2#lMv(zFSGyc1+dTeSxoaxLNqQVN!Qb-cHZGp!4tan zD@2JaX%@m=u1Ic3wWhP*IZaW~Jzy~CL2jQeD3dzG4i3c3fJ{6uC8k@DFTZbQFKHrp z{(#t!a*jKsHmMooN*s_QBbV4+nD{fj0Qp7Z)YTk@plng%!qwqyul}s&xuNnC-&-@8|YIXwYUx|>q2uE0@U{2UEoRJDxyz50`;fAA;Jkf z6+o1YtPcN)>p5n=1m&KtRMDEYVz3*f90lP}o(!mzRUUV*sugO76CD2N8CoA%DuD91 zb*Oh-U;d;bl!dwCW)J5gLfWkPrr6A=+tgwoW6#dUIa9ZVXT&8$j9kxq&i*@kTCeXt zr5oj;u$F2zF-@xvN9ZWChc)6huv)F2ea>le)8~ykmRR{}zm>E6-on}b>~$|=NrZ%? z`D9Eaem;1j*y4Cz&|Al(c8aqrk56N>`+%N9?pJm3(s`k;0YanNY7SYLhUmDgabUR6nNeCR)y4C)Z?Lt2{E`0>{z%g%_ zTyn*a(|V_4eGvr?>wW{zBWl?gWv_C?t1|0(OPFnT&Pp~h61E4UBjy(43 zsrQsZ@cL-$@bp0uGXoujfPXvX!@nK5;WpfcJ28WcfV2)5?v{Jib#JSpP8%)xS8;!b z)IV?={%Fz7jj_t*Sz%Y7$h-R)Ar&hxyx4C+4a+{2HZqCBn$I_`Y<;0g1Q7Kkid0`N zVRfgH&e>-QKDk9TqtgH&vr35UIL;Pf4~p41Xg*O5Mxm&FiT#&8Rm=dQvO5 zSycGQuQ5n^iIqp=JWp>H7;Js(x~|*Bjoyzg2~^ASYUour6zwuckE%}6z>htb(Gd9I_ttI1vgm&tV`eQWR>E*xZIS3=aJZyh>^Y-l zs;)~k|1K5Jh?f{?wEa8#z{gX&ND4KmbUpZ>MnFcWF9Yu8?5;9AbT5BMg=_K}#E)i* zgJ%MZRD6L8Aty}lRZDBU+a-QU=PN?wKA=dyV5fbrfBwM>rMR`wa%Wr)t?q~)rEeOv zL#s2lzr6xqQp0-I?IFxSW-L+*<+L@eRYpXn9R9gj`VVG#aVi#mwm8li)m43yZFc-V z_%=Z1im|ha|$v$}NLAlQ?yXvUVtBXfT zbfwifr^vDv#nhuV@&2Pes%aAyr#SV^-h}FFGz)DIwq5&m42i`@P5fnE5mQvAFlX>sr^kVx1@9hfM$J!=eQ}zsiHES&jUn>J$Ez zz9Jh!=PJGjWnAT?=OVbuHv(cQ%Wubx-(UZGBG#SeBmRmqRFl{DZr|dz9jv=N{&C^Y zo5$-i8Pp}$lO>60HG~F*w93D2Np9%Zj@!R-=KLJ>v2tRDt&7_deUUZ?Eke%u$Ut+F81KphMcu%Ph&{PAoI za3{ZWpS(0Xd#L}Xvj@5+((ZREV}ns0IpfVup>WN%v`gnZ=Dt2=D~~#fy+_H0$$4i< zrR1Xd=$oRB2wfgq=8pr<%rp&cv`i)}QHGlyUCa}R?n$Q`erl}tC3tD#Z)NM7%EJBL zqL;T+&d<#`xDrfFhZwJj`($34A@7<~ktU9!QXRT38AD$cx94szr&~yIjjjJt%IFt@ z*AuKXMT6EimW9Vx{vLml=+*wZUmx|7{UwEM3ex)=HCA&fuf-Y^jut$#;dafU;oC-O z>jdJ_jgl5uJ*28@Ja0SwQfsd0520P4205&YNQY|S>HRKtFT9!b4q^Loj1S8}bo>o} z@!ZuUul2K7_cZ5!8x^OlBq9GbLy}Y>i7nmEm`g&ILi9GTUu>gKA&Zy{p#NeZ?YMQ% zCplSkH7-u=b&ZM8RN4c@?qog(@Aw0mQ2Zcq&O#CV2IhrxoL9mut@H_mHiiQw9rwxjOg&{ zKVpTiED?`AzxP03F% zx<-@f*85Zx)=s^hJi-`&x)y^}aOoZ_H;l$&w2Q+lj| zw`H^KK7!b!&(=wDUMOy79qiEV%F!r z^|K$FdKz2&(JP_ER`2Cz){Eh}0PTAW%^ zpS_Lr7K60ctpgsXx0&A=@;oK7I>#yM=R$R}0uam0TSGUV)ZZDRxfaNb$$4}>&dui$ z>NUIIuRFu>gz|TFjn4gJ%O8H5!FzemyYcM(E7y4PHNG>;Ge)=AX33ROH4N4B+2 zL)KuvPooN<(=DaqCnomK1(K&cSDpAe=5xt@F+7Nj=vK-VBkf8N!J_904r@NHe_6V} zb*kx&G@uH~mi(PwO-4)gIfq%Gz16xR1Kijiq%sZ@e8P^bx_#n!avx<__)_=8t>7aW z6T6oBP={4GH|iS2R``0Wy6N~`q*#&q`qRnFy-CAPJyM5mGMRN~vKO8FdHlCAPM7Yq zU|VFoC^84JVs>oqYEnndl^LYfQ~Bt9R*ir}b4D_(AI30ibbEjyHsma=@!)5=#p%5~RSDQ)Nl zPxZa#-&9iH=3G4F%Q(~l$u$~?9pOxHy6rTmW&7atiG1A~A2-@Es3)2ezv7^1I z&C1->CXqLD^$*n#yo$#2{HGcsxK*LDhj<9*@aq_o+qS3zU>cOCYru|8t|jnMVk0~o9xpB zOX2$v>-y6tE-5hTn|i%HQVv(ghzk)HSF(-&Rk6cMeMy>lqDw*=jJy5u1XlO+@Jq*Q zK6TN@lc43{O8VJnNRYWSNxs6qmNW@zeXX6vdwBA3bK`ZbwFNm?jKo27xMoM?fpxg< z?|DXf>3-vAi{1NT*)vi$_t=PU4Or;-|0UiOcEw1p8xwA8H4_cpQ0fp6l^gf5H1;!1 zKMs&O5{V&!(Af9WnFkUxJ5DAB7ge6p*|(BC5hl*%oD5Ra{ug|`zG^yB z`|1r@yuIsB_k-&eiIrkkqx7pHDSRTTeK1!V=*k|P9yc%7F;69=#v~>5z5UL>%#aqX zCeAz0SS36*X zZA8RX&GC{oUC8D`!eq3zs6Q1*2bn(>;*j>E`RZ9cv~#9ujf5HTA~e7BX2ESaA!a7i znNcvU^;t}jZdS|G>wz_w5nYLc2jfrQHs&+4xAC^VNf6*LGDyc%+w*3|m;XpTmQ8rd zg}pnZb7wd)Lea-&i0hYc4xZVNE>TKd?>zNWI5E%JrP&KQa)0MuQ?o{YIz) z6;TKa^!l*_Eo7EotzX9f*uH*r`J7l3#~1nyLMM~Vb}^!pCK1F-T+nUv)M7W+(c!D( zE3L_=HbdB*CZyNfe9k<;=$R$I!IGQUJ7a;Izk#z4QOK`nhh!Svt3iJ1w8^{@W?DbNTPnTgNNzUz-#S zp}Q}x_MG~a5G8lYLOc-_5fw-Gif-|j{0Q@M-6*3;ioR}{0YpwuOoZMk~ zG`M^pD@7=z5Y5R|&-vlQRq7^gv=T~K2-()UqLZeG)Uu^zOi?3jD#*_&o!c*`S~BFMY*7257D{qP>$qkKN( ziSCUXgf37iY5weFcg~vws+*NmRf(uL71&mCv!0?AdgF>%>Vho8?9K?L$udxg`A@2) zUNTweTO-WSi4|@gIFn-kvnJY>ou&SY-xW<|}dCG8*n;hN8Krp@< zUfDOya}JE;QeKBgUIyr$$;GE4wRD%~G<%d6DVwivzYd#w{`;Wk z4ENRN)!bE^Uh;rN^zULIBdjzPg370t85trRB0@qPfZ=!&@~1O16ki>GGw@7i>-7%`Sy<#aMzbWnE z^{ZO4ghln)$f}w8i07fnXPHllsK}ZtpEV|Aj;Qx7O3DgO&TXR9nJ}o>qP<48mADMM zeVa6VGZzoEe3D_gdQl_N%e+&6%0py{t$%CcF2 z)PoU@38Zb0+Ac(4YM{HZ`V%oXdloG^0w@s+uvauK{mGBsv+@9az;OeCk2i=f^gGos zD^M>B`y<=ES8%_$)WAX>|LX*jyYckPSkE~U9f?D{2UuG4b$MoKw+WpAW6Im+b+g`y zy=%d5^N9i#$TSz5V`{Dr(v}t%nk1Tv@zxWsM!Pg$NE48u4;0p@wjy`9gorv&Nbo44 zHi<4Zef+vXe#>WKCJ3G;!K^uXi+vUr7%s2(SQ)B`wpk?~ zQ~%j&hM%6;(j$6wwd$DK6d&Uiop^|$0^ZD-I;~=rB%h~qX8IoF@4JjVXqnS`Iw-rV zsV<$>JmE4{ai5yQZ$}q)o{+$HKApUj^MlpLixuJuCKOmC^MgQGVHlpMYd-NsQoHm# zY$I)ol8o?Mk3DzJPD&v>3J7mZsqjokzF4uA zqoED&chdM=(LFKyONg}Dpo%O}bfC+rX_-Xk>+{2rlsaTJi}nSnA5W^e=0P5V_Ej zxTPUs`J_3C$=tw`pwoFH!g34-AU+$mx0H$^iBnpG?#j*bD z%-G}icL#r-&zAb7hdKaCXe%+NFNR&t^WdtHu5JKS#FIjSX>iXHR0Z2^0*2HIfOn|k z?;Ak;2!IMf*s4_udw#bLfJw^w2P0@9t)DA(uAqzx^Nea%;JNFL5F4Go>G)NZOWfyB zST`hA%fwRH-om@SFaMVRiZoKgj;c@7$(W@6@@85{Z(?Bcdi%9-O^kpe$<*^8RC-v! zDhY+$DR+}$KeJqshv4=7AUR?7&lB4VVo#2hkeQdFvzJ#M$`v@@o?QNE*w91uWqBHH zr?oQZF%hS&SRbe5pAk`YvolNK8P}W#v$Qeq6#kP1uG!teNBt7J*344PLSH%5>1&Z0 zLjA#g_ls0<7D2I1nSBIvLT1%-u*Lp{d*$hCr)$^n83m0oKYrZ9?HFT;BEs#511=qh zFHkSSBYq#>9bf2(DD&D{5E$6$$&H^nxsU!V?8h&c>xuqcDTY6sqinFl^G?u! zYZr-CES~E4r?uGD4I9EdhzYWH!K<0z>A6?!j-I$)kP|N{4Q2-ophPazeTixhR7o& zf0bbN#PRDI0r9MawBn&E+L8B{Jf7^79iuHCT?W2f(~w!VNe0aueE#mQwWl2)b) zbgquqX;;(mGp2AO*Y&PaYV4C4?~7C%^5M`)ysfTgWD+^t$TF|@#P#eQbL0r1E@3m5 zalNN=2`M)5#ZNB>FCMl))|^90z0501N)L{PN|g0P-dv7a=K5l(nbKjh%Os+ROeVLO zT+mC}a#S+qO;TB^FY(&5sz;5jy9F>2M1FV`BWvQzBIDR_KY}Y3!zK$ zm5LpTTGe2=D!MOa1)ttbVHq2>yUY5sG|+?KTcXzp?kUcATgrXF>UImIa=*h=w=g;E%W5*AgmYNU zw$IsM#Ki0T6}bJ>$B5@Xf7Spj*qO&adSL@5`Ej~b$`?LJXrQ3zB)zA*y9IWD>KGV= zw6|j;LZ9C8YpmLSg%|#O;M%)QqPYh}94;YrpA$lEjK&S2f9VB{YbvI;yV3Bk9^YfeRcL2doJtJi(?C@Z^~LN4+WMrX~m?tcC}6w9k7QMkx0;bXNb zb!H{ub>jMvVwU44yXN1dkuB?PEyGhtqn()HP`f2IKK&wR02v3LNNV7ZDgQkF=xhBq zuy@=OrRoQBj@NhcmEO@ioW1(TS0dZGX!%%XqY>6lUs^U3=Wva`@_9%tD0Yoj@8{8i z?Eo*<(G!z$%(Zi*u+Mws&@y6xE!#S8%=_p|wEtM(cMt8^jxsigpp za_ZCBfVckI8vUN)_tTVmWzo)0s%vE1H(;V7WWAqge2)#Avh{gJ=hCg$^NyE9v6ZUE zyuCrTzr21uIlZ;&1kVo=Ryht9&rMDQt7Y@8`aRNMd=h{_z_(-}j_k z*+*ve6->suM!W)1-|7rhFIiw1($3ACNlZ}sj>Tidl#&W##3CIw39as%x;SWzRQbv{ z=E&?`tyHTy7@;9*(Ce9?pS16icg8D(sg>kh`3pbveqb}@hW!ae492ZZ;>dl}1oFHI zlMK^Wuj~At(+wOzjq_Cs+J=yISzacINt-!N4uCre)6-8vL5?ZkfpHX6?&+&Z-}V zq;Ai}WrwUfrt?|S7>pVzHE)o+z3!3b2)yv5x>CKdi*kAN+}LUp%H3ZaKJv0D=~WS2bDPb(+0Q)R%RIj91fv@^`nuQq#@<`* z*zD7ZcV-9Vs~5DHj?F&*&V^=%P+2Wr#%e( zJ9t1WFe8&Xn|`i>~>JWp9_`mk0Y4f^$AqM#3Ql)b1#5sJ66o=!-4GXxS!R7 zt7klNbVd^bwm*qGiscYRbKeLM=25(T8SkFP74z;l7Kf3+G$jh0nDgh(#ipl6pI1AM z@a2?wL;$5~*Hl!##m(&B8)WNb{F*YXJRYZY)5M7CejR&VTMG6gdudb>6=QH?i?8h! zefuUy3$-5vndBc|Pv++9OBfsxTG=m=ZdUWc%o{!#k3?Lr=AFTl+Q`LYyq6ah*aJKH z1l+#8z;Eksv{botGvE^?|E65Yds14r(wJJ*9<3Bc$`WxEYfF=0o?}4ovXbQvdet!9 zbU%YZVbkRZAt#1u88&)5%hZWS6vC@_-l!XulO~JTHnbS+D9d}-L?7Xp=1GQmRR9LpqQ+_m=mD)A%tY0H*{eo;NcU)ypPbupVas!Ve& z#>e}9W<7kb-Seih`;Elh3>3zZf@T=zHk^%AoMK#*zjvMz!wgvX*a4BW8NGg-ewg#d z)fZjo>5hXCn9fyFxU%xnE;NqFl3E&lw$X{jAbf@RiAL_mOo0mN{TI(DSH9wvT15ug zqOHSzibjVOW^|`qt0PavC+qk9;%nSFMfE%HmdLTvr;&ob7!1m4;O&hA0HBmP44eZ} zKaG5!E%4gaH8ffQy{9tWkQqCJUrp|^@p@ZkBTqMZj|S0a(pL8PhnVC4X*77~`HwzX z+-FX#Gs|(}-GXF#G+LWg;{B6|m^6HHJH0se=Aiu%=y|060JmH z8lRNBc(ThWoFGil5Kz&$z;vg&0obrxkxx36ISGwah^9#K=bvkbT1AFgg%eGDJY}Ql zYa7qipyST|UHk%JV`q;7I{*oem%7=>>Z(*^_^z~+=JwUyGd8wz)ROZ`b(GzgYUiWb z$L9YYHfFS?#u2WS!Mf5oJ~pLpu=Zrbp<%1J@s!4As-I(q#Quv64B326%a){-XfltM z6@}s*8&=!u5_e|l-yk{6n8tmpzn%Qd)u$E>Po`hgNd3LbL`w~eBY(y+hwTyu4B z#TF(?y?<0-dT6EV8Mw36cJq;jM@yeQGk(uDE6#wRf#ac8UtBb1Qd_wuF224(l51gd zzdew!==Bwz{xwT-NcpUeJqaO}A-I`vbow;>6UDFnl6b=6XgbNtE_&`upZnn)wu!T5 zn+@-p8F8)|@pQ?cFJRr!Irol;=f?D<38kvPrMK+W4WVm3(EUJmzIAX(og)kp!_WHe zg)z$XUTDM`JyVJ7h*ZrX>*x*=&B0xVagYDx=xo|WN%V^^80qLh5$?w88Dv-^aYw{c z93>pZksj_aNCX1~--sVg8^^Won32U&mf1S(fsOJPIHZ;D3u9wQ^x8JN{DU7ITT}^P6u|>X4 zuDHz@QrFM5?rzPD)M?scn^k8CUURm3`&}5^wMbRjApG#|UTf_VJ7&?kk2I`=GB~!n z_{9xlBYfwSOX~0ELSg36E7A>}d+(jw#5=1)KI5(_B1W!D&xM|_BwYxvp==6(|8_|I zCq4E2?6gaX#Qb%$;&$cI=q5_dqH9Ai&BZLi5@<^NJA8TOPS|Dw+iT(PfAV&{N`B;7 zZaOVvf-Z7CV`rupMBo73iH#3XnJ|tEl~}!UVMz4>{*yb4cYr;=x}?3 zE=F!h4SRY0r^Q6^ou8GkPC%2jqviM1CT^Zt2hn;i@{vd{Z%+G@(smWO@4kcq3nVey zC9J*M=o~xcq4NF@3jBBXI^H%56G>hCq4Hj5F)WnsVafLB-@+#*ZY=}hc12RpgDuL* zOuvN)={J&fwaB$-L)bh6XWWbkR%ZAQCP?9bF0kSIEik9aiTa)Q20?zpYPN8CXzl?q zf)TLhN-puC(R>%?F=Y;G+yRGE{j zXGvtk?+evF4KYjAPpz=>LqX}5C=2{Y0SV>w-O1|mu?i^P9;f06&KDND9q6hldW8x1 z7A6egO(fUvLvSp|byRJPgB;YulJc(!?Nl8eSeg!(ec6L)iM z*@&fx&D{?M^>ZEG9&7g`L^g;>vvf$RAKhey4=3fGk5R??1$V+Of)G4nBb|`xNc<>! z|1Kepi~sJ{vGUrU`@nIrS6Ggp{hnL<*PymOJ++?P0y(`Uhd{MEiIN7aYfrRcSyo<} zMCd2Ga~)oO$TY4a&%^HLnW=Jv=Boi>p}PiZ9kF@e zz3k5V5sEypU|jv67=a(PBz?ayUMrE@>Y(yb^DN)T^9-I92jbLJ&yz`-AMcP|AzJbC zctI^?FlWi|XGNp?>FG;x?qKsv@CwmTirnrjd;gEk|JjOD!y`{}K^HaR5{lwi3H)cw zoZ7n-$)Nm8FPEQ~bI&9t=epLtAW%NGJ)izQfy(#aDO^CWrA z7E`a+W#x69Y+;0G=UXS&P;7YMCyA+~*pQ>cn6^)RmXbvpYUi5@WT$fWUq@r~D%WCc zDxw13SJ4lv_Nsp-Jz&FKjXQNMweBsvO~+gD4gFf@7ZcJ=W2%_yCBICb4G{D7pGV~5@JK3-maesUY}^*qcE*12_g=6q z?7Bq0;(W8&0gW6w%FYj}Ob&`Gzkwd5*rTT-nRVHTWJkw69+#`n}lECHMPv*G>uV#;e(OP-<$23zukN^P_@E#+vkE~1p;6ZcF+V7t{%=DU&BV%iI*>?Jcza& z)p!5ch+-{>eja11|5WpN^Ul#1wk~VcJJCr?WB9ygV>~<-n30iuJBAXa)CqL=+WFvE zt4w4ntWv8Jh3INnmJv`hE94*0GD30CS8ubc+GYj#cPmC6TLyAJd)5%7IW&boxz!Z* z>Ti0+h{#4c(-j`abN2f&F_M-_ZYeM8ut^UI*!WPy+`&7BaED`+&d-&J;nTkV6SbFp z^f*UyBz2ROFr#90p{l}cOZV^H27^EBADr>_(+?jT8&neu!=9rT-B_z@@`2VGzPS&T zN4pq~NPt&crO|Vn83pIZ?kkAY&$QQaC$T6BI%ITZ z4qH7+CH-C4IMl}&L!aWLy)c=qr#`6KDnwGg{YuUR19ftZq|jf*R->d%^RK;?#cMkk zcl=dLUu`bEQcRRzVxcT*q)YdAC3fA-+F+ccnbs9z6GM*N*2G6w`<6s}w9_DZDmIp< zP~{B8jk2?%XX#+1YL!=-qPw)i;1aHP_E_UGor=1v>Unr^oN*Txuqd7V+a_z#p!6o) zW6c+=cvni=vum?#I`he+RgbH@#3RWlldm=n$3M{K*50k2w)`+3Un_2Z;d0bJWd&wv z-`TfG5^p^?|H6jo?tmnXih8LovVQGOrLK+}S#1*WfCl^J3qFn| z5mH(0ro>@$ozSFg0x1|uuqVrlTO%E9(lfrgg5QXd0e<#%ZFb6_J3+W`R{R`8X0l+%+95sU)%F3lbEHl)n;GOs1y@K@46Ss4i>MhxG=tRrKMkF4;cMsrfV&= zX!n@m(Yd&nnNSKsZ|Xm?MyLh*xPqb>qzCm$dHNQAWSh4a`h7!-qdF2;E;ya1%^JRY z$IM6EQ8Dh8+6gn;a7>Ha$CIR3^io0g07-4k%>mV_6zY!^0|mAK^W z<01Zj|1-ev0QG_w2>1|s_?=q`l>`)0QWO~$Yz68hItVZPu7bf6h59u*yfe_D1;^54 zUT6Ey|MrvopZqYQ2^7>|gb;$*|Lynu_d_jt{_U1L!zmT``1r8EIWL8>OC7084=ozJ zXrXWgm?BT|Qs@%?9e!&*Cnd!M?wf^YOd@wFJStkX4Gb7?mV!ujIYz+LTva$)t$;&U zeF5oG-rNSjK)~NE084!J4Uy>JPj;Y&M1dy@Rw5!v1F`@9_B|^Hw+JtZN?r=1CxNmR za5?Ot3J>Q|A@g|LItW@8tis98kdD;(4{!j^)wMTxOGGTOrvqn90z=3cR7R;xSC&>= zw-Et+PvV|riqH2G2LfLPFwYTGKO7IVZVSySE2F(vaaK%BY))EuSc_Z^(7r0*GXM<> zRI8SH?EKQTv$qeaJ8SKH`tJk`RK^WnVy`uLR3n)KKo@o%4uqr3;3II1C7eJ9&;fg& zeC{Ak8sJ`9oo(iXX>bKsj<`M+DO%d{UOnoiTL%G@zB=LzQ|Q$C2k0)5yq377PdhGa&+!qEKL~Cwf6e znH$hYbfknnBz?KJI`xqrCNSE-cCxiv(YJuxBLG#&xLY|qH5GYV;V%IYL(nlzB7}2= z;ig5Q8ab^|QZwQ3NPR)Thx<}5koy1(F$z`;B!{&~onZ1Cs{Y$y4LIvgzNp8FKF~J? z_-a#zA6$VO4G_isYej~O$xg+}pizO-VqD1$$$=VD8(4h0>hBbcw`pLtHc@r3ar)17 zTq41rnv#QoPaJmKTl&0kQyMz4zLb9z(5zEkVS9Bl(6q3u(=U-BB~(;;LYO z^7Hd=0*5OzFOTG%YE&z5O@ia%=(hfXQ3^-j?10C|1T>}vSevfJs3Qa;&Q($9ESW9qPUxvIhT1U>bSBY8lpzt?6Ka98_%~c_WSFyVhtOMIz!|TXe9W;@&40+ebH{NrOoT z)dM~zFz-ciD$Z=AHbb}(6c>NRF6*u??+Jdr1aQ~gg+;gYhb|@8{r(ecl_BK%<#0NZ z)iKorP^=87Hh??k0KFrs&*XnBw*a|YfJ6L^CLce4E3jyM3i2Bn|JNDp#QSF>QxOJ+ zhBhEH^ny3mT9o;JE>*;z1XO+Q?pB821^Z>5zWwh<>W9{$vi(w|TtiKZT=xHt66^&q zmR9Cw7k>EAP%t#4%lV&+glko^TvlU2?c1=Q1fVb-HmErZ+VKR#LPEs2Xmn0WFjD9L z_mi*@_Jaq#zuFB3uXO(o_ACVos+F#}On-`K^m12!4aU5D)Q3|t<;#Xl{j{)L7=h~l zx)<|uM3|i0puOFfY-ynGI9NzNsGB|?5XCJFYvne`UAN>T$Zjv*#Z-kT1BZYzXpw$_9Y>XkO!iQ&$VB+Nfs z|FyLZ=-7ZDLzU#RmSE-*FuB$V82FZLc~E_#;x$6RowQTXvp+@qUk?1~pG}KSiinQx z1j$n{1dfKSPFCEb(ACkwP%9i{8XX6O;QyBc;G1awN1rHx_rL8T|9jWC-YXeOq<{-CE#>4}#-mb#=11m;!>y4hXzu@UwPycINr_=m(u44fsfb6v}?VkS4IBfxmSN%>h#ODP7KyAwjli>YlV;3yXw?Xs`RXqLMr|c}iofwpx zN&4~n`1m-k536%`%u5-3FP)~1C~0c;+FM5a^alF%c?1Jwu)BM^B&58Mk(j?F=I}zm z*MkeS&|eNN{{cS)8`ldj*QNBn?N%`sX=T>lWQeu4+k3cBdCR8&O z2zEb+#Wpb4ykn0+G7-&BJbHyAaI-H-N4K5++c0vS$iLVD#n1{1i?Prvudc3oDt3L2 z7bpXz6q~F&3C@hQRx=x&o6CE={-n7LdK1!4=5y!IZ;jc;Si|!~F!k$o?H1J+&c&^Ipa!)mt!%I^gvhOkE+SQ75(KR{l)3^*~c=dgA%+v4&o z2-8_YFMNcI*lR9;*s5Z@)MZ+B+(Ql86eJMZifv#JC9Ro^f{=gay{Vf;-CtkZd>zQ-0o8(M!+6TDx7$0wGhH+s=W6d^OJwTqzNxMg;s(KAdr-+&=81r z>cAc+*rc$PI^Py%3;A{>S7iSg3GPGz=o@h_7=bbtS~ziH4@0FBHM6MFUhNfQkeyPK zg{bVMs=nK*?;|}3tR4nX8-f5gkr)A>3IXQHXCDAQm7kh6>qFA6=^0h5Oo)KO1>xklSlDC}1HiroaHs7$>D{>#w@R*D2>gNW ziD}uiDcQ9Kkn)Olq5*Eet)Ot1q8GkZ&BNmg@M0;D@W{w^a2J9pGa4x6*3b`o0UQ*4 zxZ?=8J5K)im2w4f(r1;F&tti2Aux-9=M03Hq&VT}>_X}-9`-1W{E-!5%k%vTra>(T z0-Qhu13>`6Lb5o$?$LX%Vzo^5-SXg3%?xV{kc19=fk_0Cx;powy~^p(VU}>%&1r#) zSn%5JJL&nDb%BWx<;7Hjnh{Y3YSozy{Edk!@_~VYPrbeE0D3KRo|LSecERnYM%oby zrF>4XU?1nA5YCDqGTb!)(dqmZiRO#g5X?2 zLc+XEvdH`+orj0V!Xn5gZQyP&%ev=ziFko?6~O>2vAbIDij>r1P4kJ+jQ3A=lazW} z0AcFz$Kys)_LdSK3t~<;G$(~{g9W^-u7yPuL=F@A8Ci>yquJBDsiDLT$~XX8 z7z{kMq^2)$0JT`qT{cbnh9VGMkr^&dPR^Kk0i)KXN8Na(hJ_t+8x285cfD_Ty3Q=S zzpbldc~Dh%D`HH2_J&@6Fad3s8?KKAiRV%cvp^+7s1<_X<=%uX?hxl-T!DK6xXXr? zMs)FZdOKKTVW<`cZ@2kN$xHDXy{R(v;`e%$U;qk0G3p}22*u-h>IE6-0&)2y041NN zxYUt?mow0`s1u~{u(|X(Xp>(kzpp>s--v;&bS%xMCmT4BANW}qK&J3{vCpCV;5-!q8PJ zf-cgUE-LosF78H7W^f8dE)JjVT|QeGzj8Bka<;O!<7VSy<6wDZ>EhzxEX2-k`+xre zo4u0-yJ(&YI=Be3!#gc!I5->^*cbegIi&|2oD;U3)LT`Ltiwfj4^_3>j??4poFyun z5Jd^hR({4H2DPeB2)u<@~fXuS10{_(~u_e0_0 zG9_nXG%~F%9rE$Er_aXB`H0*~w)0WrHbY5C$xEsbtj>I%C5$)VzZxjyo)JjAq-uGC zQ-vk*auqQlAQXIO|BAp8f+gV*NMi{5ZB!a~RPbH@6|yGy%*ivk4)Bo>!gv3FeRO0V z{-tti%gt71%f*b2-5s9vZ&R-EVrA;vf4g0xR|}H+Gv%eaU%FNePuF@rWbhyx7%aax z$W2S@KUwXn^jiA2J9*Robk|-I!XVOb4dJqyps{PcP&XgRk~24_%a@5+o7ONe>;Fo% zgrPL`8oZ6F;q}StFZ*Q*xS~lpKR>a)Sn~BD_IA_F!Q__5+kG^0p{0^%7t{?A? ziTUkxA;!_MvF2;t5vigSl#~YLcc`NtSBvh9EG!#G&BsWuczBWoowrU7YDa6Vre7qf!JE$#@%rcUFr`qcP9%5S&vJ&a;4UY5e>=4_M4eyL^RYNWrvI07poHg@Z( z{mD0GLEfXU(Rn*f++WQ9>28^m2(98_vQS}tJx+Y9ynbmdf081-HwA}Ybk_IBUjYLmsw%nx+1We|J1cXo1eYQf7cwuL>>kDn?< z#yliiwdUw<&E#;I!@Yf!{(o%i7iHooM0cis;_@#zJomqwU+(|&$3>5nkg%^puNiJ< zx|9$+i8HzU`}b?<7CA=U;n*%m3+Z-?O`Kr83E1^@%RStW7UXnw$#Q)!iQ~j>8T6W5 zj8-}V4`yqNK5hCvTtF+Xw?}hFtBksKCJIn-={^{qZwRB7MtCR{GT5GWb(&N7AfI^hs?BZ z+ZD3^TV?d`VD`Mm^{f+>U6rw}{eF|ZyQjx-r31bn=EE7|-z8tbot>RE>{m1kIIbZ)++M8rlG@X7a>lc_-zN-b@}J*q z=S~(Y=QI1oqLcD*xF6~M^AgRMjqB~}3o{!^sRq}xo>o#b_6GOaS!m>bj)c|$g{Bg) zYFC-`VYJm_yH{G_eBdUGORu;w_FXbd)H@}GRp;z( z`6)-Q*)2XPsXI&1`6U_}g5l%+jj5U0>1r6|M7zH~R1~b(U=pK>Cd68;Q7SDdX=7%N zxzzm_mK^$Q4c@+mhwbz0*PW0`rcF8;nv-GvWh{Jr#5Yn>2*<5g6tI{z@PFVvoP#|7 zCZEa%;>Le<-oD+HcE$f;-yloCF{u6F(7xiWEF8#2>%U)6ZiEu*uUtS4+CR6>AG+oE zUTT45iy~xqOLiR$_l)0a6Gjv z4i*;N${zCW)XzyXlRXgZHqZ)MZtldfu`z33G36_eb@Nc(H=&)MpYM)+f6m_e?^9!i zVz#0z2shY%5)%{u`aFA9a|QAX88~r{@HX77XC1L9e$+89wb zmdw%j^!jq%-cf)ono@kp^$5J}$@w`o7uQ*hBgAU*3#I>kJcu(c!;SzZ5EbtKMFk29 z3f#%X1uYj>LIf_oas9lY&ozg|XwGJ5C@Pt#SCZ{~9ehtEm!8~cj_B@eE&c55EbPaq zglrC%2U?eh^Rmjy*cf5?3%uZnny+?-Ldl$6TwG$3=F7CW>uo71Dd95sZ1?JxEqR{x z95+4#Ax2O;8{M^9T(znHY3X#mZ+ARjHZ*s&I|3IDWVptK>Se#x;^>lIb>(cuG>$-g zW_4KbG~k?ofJa6~cHFlES^O0Z%|@hSG8wyY>>D03Se^|^P}lqL0SzwK|54Ds{ekc2 z&!2DzNJu!8lu96iX50P6OG@-l{R9OCTdvol%CsRUnZsZ57^GxnC+qDEV#x$QQFEr! zbnm6;Bsln&<^@WbZEkHnbJ+TmK2*0LZ`_pC(jpRoLeJ5t%~cxn7i@T=^X=uKys0V8 zvhNjnocN;vY}G)8{E#h#->QEs#4awLdvbEZ+^cpbD8Gh_9tEmB6C*u+m`af%HWAUg zOg>v!z4P2kw+N4lS_cXDyGdUxkJSW1fJKhymxsG6gNq#h$Mf9T21jc51;-cbeR1@B zd^6M2H())c<}6N48)dHH4O#PzyaSV)Br!6eCUt>w zd<_!+V(j5UVPw3H9>5GY>NUKiGWk2e<3$Ehh*vFnv!r|o*{X_V&0 zkwS$`-MgCF+M9oqN;cr3wd?H^K%uza%Cr}7+4dXYAXXx(Fq8#In0Qe8NV%gwepLJo1gPezlghmuF``H{+nIA<(%}q?% ziu5E3!@d@mr>CbLjY=Y?2;Nsmo13Wy=8H|PF1r(_CMJAxI*_kDyg)<3n zZUHp*=aD0&8FL_1%_qFVo36MbK!NF%(LE&HaS+B$D0+r|n;4_6<^I_Q9YSw)wmX?;jKeYFE zh79uAE$j$AfrCRYCYDpKQ{SX*3}6i?#Kaq$o7I-%ulekkJ^ z2+31c4jVtfjj$pNuvmOTLMO;@v#s9zU0={)Xq1INp>f0FqdF*$H)~PsL?Rv>`_Rg5 zP(n=r$`QGkQrR4AUj0JqaWSo7HB&}Bl)}0Wken$%srTFBPe0v0YdB9T@Wb~|5Bm#C zkQt7Bdkc<1-RId)s~2EDX@rF{b?h1oK5a(cN-Eo|uO@&7;O`v7#&hR;SemfAUAE>A zV{pwsIii`{Acxf?hQMCfq$d*p^I{WZp?P#v?2ZMtv|z8H3m2?=gjS$!kV3E3E^oP7 z^1i;i<2L`3Hk89}F+v7TF|&G^!@NCT<_)L_jR1?#-0&HKG>Mh>MYq8r&~d$&)3hJU z?QpKAOslq{A;%toO&HKS-ySV0F7Ai;{|-U~(FwBOdPG%dDy$a?C&3{gkO9F9_5$R% ziwpwg>n_U2fZSZlT%R-KkN0BdL5Qf=AW&AljiR8y$oXDJHv>0nDs zoBuJVrlP{OHq9m z(Bfm@v~^T2g8-SLeJJ$R)V7z45c$TYnTlpw+-z1@yMI-^Bu?l0MC6&~*Q#t0?|2)7 zkl)Ku*lHhg;Gx_E@>G#|v>Y6&+WdKBF@@LelFGj{SwfdEWM9TLn+|LSqs}iR*!x)W zNOsP9ah62Np*Acjk6ZJe`6%h8 zY)@3Y+6U0dqJQ-f$AxD43P!LrH(<)9v*+kN&*aLtHTd;@@!%jC*4*YTeNsyvPA}3* zbeppEUtS@Iwp#c(LTB(_=bM+~RKm1eL}BhdqgDTqPc6jp>X%x!zp93NJIPCB)GS4M zIk||6Lj%9r;f_F2tu~(s!h9SF)f7F~nvFI6`i)XGo&|#G>_DUPeV;Q#xsElVPanUI z`d%$|4JHq@kVj(Wk+5Kp=F%Oly|GKM$yLrbk(m^8L5{vOHch5R*3{*9a&{K<`WIf` zg(aaXX{}6goU{CAAczMl=3gE^JA6Ai$i4txHAmz*Xx^3C$p)JH6QaDUh2$+tQOEC` zls*`AqWS4Zmsx`d+-m_1pAd!h)F zn=iB7mkj&Aik0bHQL7Y2KVJc9)qJHRN4F*IKxovs`lOe%lGE>=;S0v$XqF&1Kr9B0 zcjfvIthMF}W`C<5qbYo!D~a6@6)EL15gvp5-w&FzH12JRFX*Hl*Qfa&=fnQWs;a6- zITGQ_&LvFy6S3!76L$3*^PTibcNv&vsRM*G@KIi`1qI{jbA6&Q$c0WAXn%A?M#e7pNdW_2`P5?c?MfAphbO`k2J zd=$!0eO)TH8)WxJRgHGYyw|u=r}TOUpOwlh*E;6?pZ@-pw!1AZ+c{CV4{03fFDTM_ z`Y4~`ka6wIy2F)yPJ4=IXlZfC7x4m~zqm|HaEiD)@(v#x<3K_u86>s8j{OQ2KwoBux*9z$9^qmgZ^XIQAO~rH(RG4 zGWkL^^wax5U!_jBl-8fYTk3i8JFHX}Q$km%#x~R^qai9v zy0OAnNV+Se-=hhM_rlneR}#nJ`KqcKf&Sl~(|bJouutCw+GQ3NfAME9(HQ|A#IE^J z5n2aI_t}Q9$5CT@wfEI%G>I!NSUW}==wnATaV@-N^W}>Vbg&k_b?+ezgFN=Pp@VI` z{W3O#;tx2Ty3gIaF0eHM4G9)8@j$V%iDsJ*BOyE8ox4cT`x33$ z{rI)8a1{87ufi3(R?vx)>ctrEflA5@g#8s`n3kJW`+U|&_Vc{7 z#WL~0+fx7Z3Z);YO@U(!DBKwrKWj$=B+=WZoBDd91_ZJd>$_9FI=}}MDn#jY@-GQw z+?+3)pKqc6C@jPxBl}RP?^~*77m-l03F01ygk;O@;Qq!LPD*NOk^POt)Qk2FnkwG? zXd4}P8L3|;4wji-oV99Za?kAE;7LFvbWj0!Fwdg>j}vtC?u+{q z1@dKD=c2ZA-8jU=T8nXv-L9n_`rVjT1-P3;yh4Riu0?v}N3*4Davgd4W7ZH5=TTWg zu0eDPd78E6ya3d$04Vy~lBaQmly{F#-)q+s&aUN@uHGBr#f$uD>)AS6W=_uGMI<>r zg(w2n#`BS%K9{o+fV1dA=Z}8H&YlVygl{EGaiW(}!#*FWDpX2U;tbvX>dq%-y4Z{j z5N;4x71IX=1*P*J;{&um2s+@15+Tpi9t}O#H5|#X*bYMu9DIC$y!94hiDT#h%R$A( z&3!%UufICQcy)zRxdrHgEp~s;j7|yer-x%wpNEUo?mqYRhb!?y=k052e;KL@4GWZs z*-V|LckjKQ-p#$>xu>9&Zk^b{S;e=q@=O&?$ zi;ksftUcu%cz!f=2n8y+`lGiUcY58#sH={udlSNp&uH?0m5_=d=WuU7>TWUNxMOSv zlHjv1^dD6%vSs;58@pxTWLtlRZec1V%r3Jb3d5Qb9#ZjLBPB@_kXl~|l3m=MpPuLy z>;CQi6d<@o>}+p2oel}0mkKdLD@EM;tC3$6U^IEScIxK=bJ-a!sGIyUM-vj?g|XBU zJ&YTdDt9VYRM!<+(Kh^8YDolbkPp^fE#~@SW%I$YJ27$4BxRRTb^niCS7wgPa%+3P6mX-eRVIUz~X!9R7HpDr#D}enE?Zgt~VbHz6K%`?I?p_IJif+|BSOyJ=EJSB^Q% zPbBY98%XqhPNn%i|Lp*j8w|uqOd*G2Fh}9ISBvHUYpet)#wqd0QiOMJ)~L__oSw*E zp$(42c?6&B1VgSPb=5(D0sM27+w=XFFjRuNMLa!TDIj4S4D>|xMB(0_4cWo|=kid;^I|%+ z;bvgVKUypA-z^*i^RaawjuOp}%JxT+epS6jc7YH&>*>1EQJvJCeaDf>Hfi zyCeJ;)H}Uq)m%7~=IFBzH_5N`#!{xqK5Txh5+>T0sf7Iyza zpL>tXzbq1~V@Eu?HB1WFp;3_cM6Or5lG~P>zTwSTfvJT>Vwy)F zseMZXXvC{sc2iqUd)q;c!*BJvK#WXWjbeWcX47kOTK08jWZ^j<=7&+nvq0$(b~z$b z$`yMc5_WsG>{FWsvGF$q*d$BDGYIha0s5`C9G*_Q9)UqY&nP@MsJ#B|zzQ@F7nosS z3ozCqr`=DDJ@=ic{ucMwa#B)KSh$ldLeq>=F++9fHylPUJk89TP$q61G+dP8M6ad` za(>(Q5n4Kb(!En{H%z;JsYu&T&8hl@W@QN0-}c2(Ubzt^=a(?tq+6D!l;-ZgEtv_J z6vrzWe@KdtA6b49i(BooM_5VG>2>ZS#|3?}Ych_*n>TRwEvIZkdZz|~fU$Dg8H3*% zd7yS*79|h3zCK#;y)tz>_^SxY9wS5lHlS?HIs)Fd{F`Xky~^O(J^_m+ zLdUWH)5~VJ!^F=IQdB7ReYAK7CvY0rg-ud|$_ zODWgkSKIY_{sP01)*t||u+9g6vFo`q_+sEA6U945#gBh{`xXFDQ+#&zp<6ou$kjeK zI1>|}BEl_0Dk~}dZ-xv!|BW{;cpsxBBqmbq?N;-pE1G4eZH~6-Z*{4TJ?QwRuG73NrtSMB^mb|i zhL%f{VxX|0hZr*!*A5VNe04$S`4q6H0_iD#czC{mLl>Z5>FlkpP5k})ce{D*^16k` z1mBW9gjbxL@C<%#-hzybsk(A?8kJ%TE|aW2SBw1rj>W@QyJS;@mq$nAWMUR5&3J5P z&;kI_-gJnG>=>u@(q2U^xq$G>={v^|q%u^A0hI0YzbLY8?PV_VZ6)eTM)wMubC`ib zk8O^@iXH!v{eT|OskdWwXAu-k*U>47n$kTA!Le1Lp(*pbI9EBCT423UQrs^;inlM^7@5 zhFs8jbapMa$2?uiOFRA;uB~Ojv?`KDCcXmLr zdaJ3aSumKvV}+AQr%>{}zx3U>A%)lrT5((mo7i)VV%=5;$L1+`lMYg`-g$W2~0J3te66u(3YQ zaew{lKoO9ZmPQh#7oM@Dsy6e3+|~BZ`r=RcZgAYpO8gnV4VB+KVRM~Y_IG_+1Iqwp zO*J(j7j?_Cw}vd*Ri0#lRSWO#mP%pKk^o5z4hTh9fErr~#uQtDNt~wryt2w4pLgoA z7VpbhS~>=aJFXEeHeVsU;^$8V8FEUK7?ArtU<6sp6n1V}0vI8JB$A>`kogTxT=C;H%sEzHJN+_XMb=y@AhPz;YJQUw-`f zktA#}U83f4I5(Z_18;0%vO8bTUaDSx=JgB%x$*waNl;Me!0m;$?afht!fyyZdFkkT z8T6-1=j26k>nQ~QhOq%J%zxD4%mfEGH!2Q}@Ph-EU)nMI?Q1r?c2~^amCG~vfDeI? zNJvV8&Q1K}*uT9Kbmc^%x8}dJS;2>BMMY!$?@cIV^5ILT2U|S-`+$BYOZmX9UH&DV z+rLjq{GlJv%S>S9s6<3M)wYUq{Uo%tnH(Jt|F(EO7j{2dS@NcQ#l(aH7bD~N@TBcu z7n%2M(yH>hSvB+h+CTLhbZNbE*|5ohTjv7%h!7$l;^~^;?JWeKQSg{UU&urWCLwFa;~pzRg`BwpWW^B4Wvf6EZU1TU%QpzPg zd&{&om){cRRs79yOHq~IE#A&F5%OZYDbx?36nC*LLBfqr(=UgTwMr|?%cSsNsh3Vq z^9tC`@r+~%uJgUz2ij0Hxp0d3!>-aM-JE8F0~PEw4g79s0nJSj(_HrJSIZEEyb^oP zIOG2?yS*3GgwRFdOjWe)q_fuN>49mce17lppn*&fEK?GLsYleX6I z`cYe_)^k#$6AQZ`DhlF@GQ2J9>qQ$oz0sTJMJBeh4>eHLdJO8TST~ zWBdne9RHr)4+avT;R0neX3vjoI=7-niN=N=Hkq-11pu(4M|`vDzjCz#+KPdO3WQ0L3zWzM%R zoAmQigJ5Fg2iD1?&##+;#9e_Pl0^P{zbrp0h<+Qrt~;w?01yUiEk-F~$rvAcgn;%c z>~;X4h~25NDWK)}Y4FTp%M9fA-xc-$bGeb9Tm@FSLA4>*lhzd2l@8PMZ;FphmPOBe}nec0;VapoR0_t z%HQkiXc!ns^zD+fnq(bgHVD?7RMn(^Za-HIu@F>ChFJCe&G007aWpB320E3imATwZ zU4K9E$9Xa5c?+v~O6Oyp{rf=~wec0YHOrS3JlL{sZbAg|@T;rio9Yws5dzjSzLm1g zi!xqbTy%+)zke^Klh(5-zEY<2ETK?SGgBL+ax>3$p08BlK|`}0t~wFmfh-i{4S#s; zaIw#TQEHRhcqhO@Zda`C9{Zu2$~t;rBdq7s8%0H-w{KVR*(~TQ4BVPy06D&GE+%#+ zl-ph)9ssDRR&6vy$R-ezzO}am{7cReKs}U%H4Mx9o)S zW7P_#{`*J6LqZNx8bd*1)Vm^?i>W>@)#){l?2$G64j207 z$P_XA$r#tFwV>rU@B!*Qsy)DpgXkV0$Sy;U>01QkyvI9Q;Xuf4pYA-8^iXt~SdM&K zz-Zg?7{Hgd0BC&tdvWVQDvjeH`hx*QCLdEK-y8Z>#J!aGQ{0-@SJkxP!KCLEw%K{B zM}@5sr>6@xVog)EX|ZMQw!+Uyl{p+pbm=GI4JdOz0mGI&$Rnc(e!Ueb7(6YaB`?Y! zLh-OlU4BMeqSG6bcvICsNuZmC(;H>go&j<$Ve zB2qU18KqbvlfU~;5%s;|Kaw39@hi`#&NPYbGgjdhXdUe!kFo3lVymwTsY%BQvZWa( zFUqYiHm=(Dn>>$nQealJ2E{T((dcuiMFk1oQS?!STxsQn6C^$2+Fm!{)9+H>|DLBw zOyk?R_Om)o7NQs#Pc>L4zhdgg)Q9>>Z{Alz8_No%>>)@Ee_51yh}J;X5Fw@EH(n2V z*#prYLmbTtkXT{*Dol7ZV+(kLT8gZSjrePP-KO`ucRe1&D%W`mJ-x z4%F1tR+EM3z&ZqqQhai94-mj%BKi{$>KZpwbkevjFv_(dCBtK|dz?C7dVVUusW@E4 zcD%MmhZs~%MvSsAC)traa9m}$=(SqA&_WUdSP4)o+aHC1iGmY|vI{`+L?aXUs+cXb zdVFkfbPuddem9$hK=12xU-s<-UIm!y<^fD?C#Uh0NkC`_Eh#w|Y3#uKDXVw)8tw5P zirrEC8G4cX_o23(Ikp2X?F4&bNDavZFkyiJUIiJ-9N6ZPy+&*x+FF2&IBq$|;LD70 z-Jh9u@o-&AR+ntTN&o%R{GF(J?v&ARv7+eKe3Yh}qd3@#h09UPxv;uN3XdrZ=GPuQ zsFoYV>}>Z4R^saL!lN=uQgDd&S8JBEWcKy)0Qe?R0lo4}HS} z;`BivEwg(f>TaPh9c_#_9dCA;dw}p{_KvmJxxJyzHb&bhYWE<%W*@h*?L}60_Auz8 z!y_Z}q@xIy(4=2d?eVIq&89gH+PYE)V1O!SiF2I(RwLlFTipjERZPew;~4{ygZpWM zUS~{SA%#|>6Rk?&hu_w$M>w<9CNE%aI#4vW3N!822IzAE-L1dL27=TNMsixnH4o7) zudX^S5HC)e3~1zf5H0H!#9^qF2eueFJKTnO{UP8-=&6zke1|q756}jts;u+`MB)y1F^+nRpRyQ*MLw(S5{Ug6LJX$&&*{##h~x8 ziU=c-UOKAx`pJ?A+(2iv(H>*5l;Pl@VNPHzb}vP`x@skjcb+(g133-p+Q< zD`A3}X5heH0kY&2*dw?Bpi~M0q};_sMVYft@;xdoqf&4u`M9WPrjM;OLYX(=^22g7 zt$|Ig2g>a-;^0Mng}s{R4@430K@?O}ttvx!l9(@mi%peFq=WyOmKF}|in~R*uwXm; z?|~}?ROy!s$jmJ+1?wMhGrK28mV<3}g~+e%AOC`QR?F{M@FkNzM3Nt>Pp~#)+ZpU1 z8R;Dz9X%vIy-?f=x?}?accM@kF%?ytCb`>^$gg(Ky|J!xSa6S}*h1D$^Vj6&3l2e3LwH#avL;*HN>HYvdWP0+H2 zG#rtSFzJo3OC1kA48OqH|1Ovf|55Ejn184HF%y)n=yzDls`E$RXQG6%&sCX`uOF_K zx9^VIx4)3ut-w5c9f8j^T6=-`<9p}!2r@7?Fdod5>%bgIHq;^jFcTgqzCcFQsyKxI zULMXdqo2BC&nS%ugRIL2>P?qFNmy?r{lmB!CQKZ8R3Th1OM%g4dljE5m3OT1k9tY5f4DkLpwl4#N711cv%nQx!18*`C8 z)=jXvq5ae#HK#77^#ddOQULxrdc~|)z=H@JWK!$s6EfBfC{NDV_RmV|E9 zxfzZ_G-JcekjkG~gt7;A68T*?ZTW?71{U=R$b8lrvbZps-NwXCQ;s$9W#;YF(YZmv ztIPn`<2+V|!%H^nS(OBP)&!W2@A}c$sBYeEQkyKGV7Mv#N$L1IZ)%EF%+Z^-Pr|e} zGcbGiOXU}|cqy@Bmy;wf$Dt!Ds*44QVE1z8xeavkXErd~UhvFmGpgVv{_lc$1w8Ql zyrENrT)|E9fY-lbi=14YvxwQ1cu zMy`!wqdG%fEg7ir+`uvgJj5S>JqaF0ki+Pw-Q8V{#$d2+lzzf+%uQbm-g0Fv2A?jl zSJ>L93bSO(4mt%Ctso{b0SCGU zge*7mJ3yIt16I_VO}C)~q?+yjD!@pMAbA#B?Y*J=Q&mQD<6gJ@yfM#=1hgWktv>%2 zX{#$#a{Ci; z&ae0fAmqEa??z8Dv`+LBod;|c48jcFoql6p<)x782n-AaTD#t97I2ATVXZW}vVkqC zs47*gGtV(M>6QD>XYpblv-ewh;CCU#7mqsP(vC^7Wo$eCge7m)bI$4F&^q^^m6SF! zWvjp(4n_ys7EVFIg*nkU0YLmOi|cQzs!f#N9E>WMD!DzoiG2;_Y|S&%o?Hqcez5+* zk{fI@W=7Lc$9foM824F+`iekpJ09UaO#D6&*sdKwh2Zi$Gabnl$Ls)JaRHB$R{;C` zHsk?PSwpRf!8uYO!#|uSG&1&u!BXFK^0l(TMtWc~vmXw@< z<`t;sx|dlWTiNqTT)+9gF&)O+t6Hx=5fzoMQK@ffdWlaZ_1ul-*f?}RBUs`t;GGvDe^Ii%Kn95qC3Jf% zZl{L5sg5;UcI{=<&+5CVz0+&mF+iSl_YGCKQ*~eD_Zw}`Pjyw;8k7fuG;C>&LN|vO z{gXiZ$J`&9tBUQf3@E}eWv5P3)1EBwg!uT?Hc+;Ngalx|PZhNXb0ayhLL*|VckAeM zSTOVuV>K0D@m9g6@=ek6_QR;f=A64lWM0lZ?J1(TdmcbW^@1v)^!~l$Ra8j{eohfX zBslR>!3m!SjJ#)v{}cY!p6A;@KIFERj+xPcCnpb+hdPsQ#3P8w5+8k?#QkS7#8-Z2^tfxg-wRqN%8<~>mTz4yqU;LdGYpgR zKYZ9jXz)+U5$uL5L0C*2uDeq;0~BKa(bDF1^dm&QkZv32ah?Fss^x(}Z@GW$H^!dz zkC_-47`%RMZ6~GzGStxf1bc~ewV2m2foRC3Jp=5Y37+x!g&VVHkL7<`J`|A1n9@(r z(-uhx=mQqqCf9ui7M7OV0gy4{w6fjA6d7`TEPDS*SB}rTPtOQqdFJm!YOA^g3X5G3X?3LJ|A_WN-+Sh5dCPcF1yGf*mZOolWQ(Z;|KWx}Bu@hO8~!)%4GVY=B*Fx?DZ6ax!9f2g&EM!l~5` zq38H+3o{)VGBroQ3v$KvtVQnTpLA}Q{h1grqq4fczaL=?PQ46ZJa7?zejXMX)^h%0 z;~&11D)7{M&@Z$pJSn%jj?4mb3qoLQ3>KJJ-P;g0O*EfUm(=LAXA9sRO9ZsX$b(GtF|d zy|alyduc0u^^FMV4WN5TNXip|lacwAuVSbQ8RVu|4mv*C#3DjzwGWiZJ`p?#);Uwd zM^C}v$5X1I(i^!*$kVse?_B<27S0l4XJxH? z4-E~$6W19Xrg7QnOd`C=RO3=m;|!6AXl9P}=9wj4XrUMt@28y6$K%BW_LUqTh}YSd;rNYtI1pcP z)`xkJG%g&NnC>%xSi+g?JdCA0`QnX!C=V5{3siGMo@&Fl+(T&eqLKfQ_>O^YsLfO}3_wbW}ycN(GxC5&3jTjHO z=?w$n%}60R90yujIyxtCiSvy_B`yFpVHS|$XQh)PYd;n%ZZhG85P5!XZtQo!>>F$i zqezyv1WIq)g+HR>D~&RfRA|e0czSx$(9>(&HWe4|DHvm%fcdpkKx0&a&c>+^D9E0h z$r^v#e1!oKq~Gdw3hpz};(2bxv`us*HP3Iy*Z{)Z7%}dx%=( z_o{FAjLC)6lJh+YZ*C|2fYAo}$k9saoPk-~YSHG#{75R^{Z&_}pkR_eyybg)7dC-& zkNm!|=nOw}(-=)5gXeT-$3jg_3xISmgN5VP+}i03BSvs=akXkpk->~jyQ;Y5*eftN z(gD=d4qPRX)oPDWEC~CgHE6%Ja8PR-HIvr)%4y#GVhk6~_ny%{Q-cX1x&e<90D*=X zy!51|>?Ho^U27e2`+Y_mcHmpLh^wqS!C0Gs!wMXTGdgPO;H0D^C)O2gY8fmFiV@(< zKdSQw0~Els0h{IXW?5pco+sB3|M^V290@M0%QKm~CmAqu271L^ufwvpul$wFm3vro z17mc!8>Q>#GUo-^QPtZ56XG}K3Xr~Z{pfpjGUqkFCm}lHK3y)EU2(bfI5RbuEqVZ4 zDk4w!=YMj=DaG5*xcfIYHokuSx?+8kG7ZGmPbw;M3JR?5A6_bpKcu<*>fG4RpXSb2 zpgj6KU3-~e@AcZ}CeQl}-43Dt@g^g&((;<*55rEb-z{?R>KS__Kml-L4UX$heSm94 zz@tA+5cgJ5%T?CQzFEm6W(F3F#-j-2A z6=m0r@6IR1=5}+urK}dxBWVcfcbrYHW(v}v{WIdKB0a{NXLxvca4YL7e#Pwrsv?_> zvn=f!51k+W4mm2-9%km`Z+FHpy?MY`#bX~61qcIp-G37Gw1_hzA^`{KUj z*%v$xkT3PTdjI3Xk0A=^w=r6djKJ^Z07I!)a;Wv#pVQk7K(UG5E>+z*+=k}iZRY1p~Z-PC$4HCmtrDO=zRmEC7KFF_VLUquq-Vj25L?BM&L+jx{J z{?Zx{c=q~@e=>fYD!tfUySuHB0{jMg^YI=OSy>upade#-DLc25e~E!&qxWJyVeDPU>N{%Y{;MN|J~LmGJ8VT+;ja|0-b?6GJv1 z-yo5c&GO0nMOpvThWR=^dPLh^M6%W4adQJ2!;5{(&nZq&!DpR}){D*7zfqNuClJB5 zbN|6$rqus?l;ZOMk)e}yZC-nCzFDmJuiXm%Ig!#68jKvJ#iug}0L`A+C-hb92{5-b zg$!gipkyRk4!9knPQ&Im#3j(%lABWb?r<{l&Tw5}XR1|M{vTrzbIZtF8R`tdBC}e` z|Ftvp_g}q|&O_5H4(WQ|n0No{G0?b)?{7c!WBXp6aXMf37jpOyndYic_9L&*n5A+| zviv^@)i4-=1%*hv27y!&x+>IMaOyMr`_I_q_oe`YPuBby;Z6^k}UUbSVj z%q=p&{FoF95ux@frA~D_lb?= zax8FdcWti1!xVFPHv9T&%#z_Gu)jq@dA$rnI7;z2Z_J2#IAgT>9uFzB&itLG&Ob9G z0W+;(mJbV|YOL9xO^g#Oz@1bZKkMBJCUI4=&*rUtRDi!exWg#;Bb5Mffti@as@mB+ zeMqrmSPlCpP4jB6usu`BUb!WK=0Gq21o-Zs(w;5;M$B4#wfilPROLHlnyu5JgRy>Y zBtDKIJUzRFL99$8kmWfR3h(v7;SyRYg+v1IrV?RJiE@ywaqeQlKrfYoip6Zdw$2AF zK5luoBQwcfWU$p+Tyjn21_=2ikV>C#7{a}i%^xFC91!^5=DKvd_EXFf@bny_IUf&H z*&y#kf%h?y%%4L$s?T zEYLyK^^axj-`rZz&45@%)B;5*BMa}op2a1ztFbI$yB%&Mz~L-x+2H3Ls&eN4F021_ z?e^TtS;#yL-=KUoqe3*n9s8~l75W?vJ&N|vO5fvx6yJ|rnlAMWp9foY3gI@);4Y+y zz5()^kB+4m)~fjH1Gd*k`mvu1@gH>R=p0i;=|bvZf4zj1U@A+a-Mj_rMCHxgL!(@U zxGZsSILB?iGF}s6&q)O(i z_1}oVE#AE4qw>~w5YNes+#S`5(dQ=K)P(O&XQ*JGCUGRp5Ae1rIZgBlFb3Dvv6N`*VvuTEb;=7 z#O3KldeqsO+uIX-;G zSd)RwdA+8pcDbQzxL6Pz-R6+>n~!-}7V>JIJtU0998Zna-F`iyTp%dZu%T)hQdz8E zkQInsVJqvw4L0Kcw07R{SiXP%mr5cbGoqvrS;-b5GU8+JnT%Yv%ibhq7P41lUiP|- z?5LDIGqTfVmA!Sp&+hN<_r3r8-H+e*pB@cY*Ex>!eY}t3e7&A8bxvO?rX^6OOA*Fv zpv1fH5L0gvKgB6Dt4t8t6+AE9=s(p>V{vEU$k9%Y(|34Wm^CO|9NV|ILNKzgoOLxR zbM~bmTKDsw?a2q1M?;ryg*WBLNxUX=iAP45;cdlZ^wM9^urFfn~y0rS<=nc zS&_I;MVPeBp=*5C0DLYte(KJgTpR^M{*ik3M4YUQPYsDlGbfRklt#>AzLk zRPD_l=N+EwW{MLk9R5PpRIa}+{QhElN)TTj@6Ic>D@=WPEPmJlc=xKN8i^8B_!Yv! z8eDym!^_kz8ZCaq9tf%77yj+PR5S9@NqB9E% zm+{MYPc`zgx-cAfPi*sBa30iMK{9yyUcVcIolF7m`)i+SGX(2)mMKWV&f@=T&3rU- z?CrssVQU-n5zDhYX%o-0+f?%A`<*k1G^m>!*Y)A=|96)jN zXmZB;S9#!ma;3H!SriQue8DwaPGLbl4_)6ZVR$q7#F_dKY9b!SDK)Nre71s6+y^Zv zHOL#TEm`el!BOj(-H*GbrBs^kJ>{QAp8j@O?o#my0&^F>tT7gqa%yJ7^EFu$ld&{C zQ3QePadFM^FYV_aq|Y2}G1kSZw{v`=j7v9ZabKg^`uq^ZT{xjpxqo@#%e~s7;m*Rl znlgT-63++fn{n?C_TNl9PoML?_~#kZI#14A^7`RE3U-f^{jW|D)E@?(3#}q6jHBbw zPxd`Eb?=MectQ6I^(K)AHm-PO8rK%Ah9r(o$8`~Fq_3%Qu7(?`b3_e;O)OuF- zDBe%^AXa_P_D@P+z`%V~o|K7zsUF2sY(Kq3hqdluG%MAfbodQ~WN&h2y%IzV?0l-W zs)$~ns%hSCmy34{$jI*L9r&0ot}Ln=e75*d$4ta*&C}VDJ9Hp`MUcc+nJDS#!j%>! zHf!zmqb{izn3yvYy?f_kBy298l4x8_!h3r=wY{=)+>J8no*h*^?vIJ%l$ntd;#*PUY1?NkG_BBx*HPi65@i>3 z@pOTY{T$BFZh3etC^@66=l*`x0!nO`IPw)6We7?7X^EQd&GCaqaTTS|ndUp(H7wJaw(t zs&77LW;gjIGu~(^ZBivc0k2RO?gQE;3pKzv96piEC~4Ns^1FV-phwkbx0u~6KQQ#q zPCI3ua_HC&2Hls#yv%!p(aCmE!1{C35y`tWgH>N6jF3fobsul;5i`ENirGfUiLw#Z zrA%t5pc#MNI+Kq~bIECYR;1!R3G|;B;Fhn3J`ZekBiozA!1PVT?yFDp+UrX?Y9%r4 zWcIu^4VyoI-Mx!Vy-tR+P1#)_TUqt{d{u}Be|IAEdw>FS*@cz#?l^lZMV=W-|cqspfu zxqIhx9^)L^_@gvNz)h3;NR9i>{-zq5uiSRQOZv7RgFQBawIk(WSfD{t;wH|-d77Rq zpmw(?Pu8QF{M!{BVVy3)JL@c8VL}ABI)hMm2J{n$xf5IUo}2} zqnX_~8kwO9nZaqZdi@vua`t*KQU&Hgi>56AnnGk8q-pF+?z(4(a+a*CleRPNd>*Imf+r<*1 zM^dE%VbB`USG7)fm5=A4bNix>=zT+2Bq*AS!VKg`;e{DI#p;7~g76y3k>H`xNrm3V z`qWk#Dw`=c^S5i5P`Qit3qw`8-^33{P_o`n#0qY`+Q`=O_SW4bCNn!@7j~}o!v|RX1HY@6K5Rer zO7wvIQOL+l{V)BDJMJkt^6B#Aa`=N;p?cVSG}U`YyFfI^}KfR0Ur8R zZl5_-k9}bi`qFWBj8KHHj{f!sIA_cI`?_xxmYV}QQX;svZy!`v6i>#vN>6-$89ck@ z9wAJRjD1o&sgr3h2Lk@*FXA%T_H1?M72bsoMB?TJ9;uCYxN zQ%h7Lr}zca?*cdr!{@rXKQJjcW!^=yt*$S{mhCXdo@C%gABz}|lh{zh(!2C@E+Z>+WnblFz34eR?+Cr2l$ zn0BeGP*W zDD7{U;0*)}?X9_8y@iUfKF7u;Ks+`vNMvlwj(L}@w{cQ7i&h!kmnEu?%twpCbiD`5 zuhloy@iq9GnA|+ge?n&oW(Z%_{a7~GPDqU6+P=_1G0u}RrCsde)n3joVx#mJ%G2>i z(Nt%t9!xx~4!+z_j5DlCLj>B%zlUcwcdUF>x>m+UlPvpX-Jk5X2m`M;)1&b4+}C}Z ziYM~3c_2z20=go-t{tj9?~>;yfxlM<~edG0MdO-nXqDLRJg1Z7Is%M0QG&s&~V)D=m{1QqGh z*zl(IWv5E}tMx{B}yJ<0n;jddipR4UY7*vB?;hbl7c3xh4?KN`2)mZ=QJCuVJ(qhZHPqt+!%Q6(jA_d+C{z&sRJ^ijceuGCbClp39&wo!cX=@74XoJS(rVl%X6*@!xQ0jnQ0(Qa*@^4R4ekJ<*!58 z*$!#ceyf(k-)5;a(g{CyZ#nrgTE@9{+Hs9 zkLk$GiHe=Vr3in$I^)eCkNr`>zCe~s)Zd!{HSk;5CBmbbL(-Io*?r-lqr}&w{E2M8p9!b(3pNoYH zyQwTTd^%0-UKYAvk7dwZERB6yL`s6v&#!@v%^fN&trxIsW2cykYKD3HEkYvh3Dda$ny}!~b1L?gyj)+wt)h}6xSCt+g;0J*Ti^^D(!6xFfvtB;IeebE&d|6N3)Uk83o&yGc@{VF2&)CH0y~QVI&Z zleQ{2*5lq-cUk(`U7rkmTmy1%*7Kr{YT|v2+;ZkX<~azdF3|Y4`1P`P(jH&1@@{Q{ zdg#U;n2aluwl_aHf1%jVFO~q^L%8)|0DMECl0>9(ADJx?ODE+s$t>n7wkVsSuleuq zZrEfSUn(pJdUNYsE%uu~$`d>M16>p09w~5kpgQpT^Go2}UW;67uV2KfY@wE2%{wK# z69ydflx>t*Yj>o|p`=-UyH;e(w8RI?xe3_J1jz@UY{d8NsJ*(axexn-KQQwRutT3= z)yGb!y>Y~}3R>nihdgChi&W+|t>%p0;rP^9p3l);@YI#YC-%1G_0>jy$<8!5aWkbq zmeT9*mM9;td#9pl#f;X>rZJ^);py@iYuhadKgXdEzKj2dB1(K?|iWC zN|$`bLx&1X+@Yc}zK6NqzTmSenOcR}NFD;7Y?!0x{+sJ`e3otWarI&dhGIyJ(jo z5e?SO9{ZVwP5sgMWH~8Q>U7psrhJ}ygId?zAQ(lH(e_ap7GlGmLcBTsx@Bs>h4RJW zai{CG1rm?T-zpe8?9q<4>vB7^aXg7A!HGmulitXkq?Tu|E>nK=`r;G&o*EvUS1Za6 zyN>vh@?Pw)DXce_kW#pUyv~(DI{>84;zCVtkgDJq9o{Kolyj&XCPhDm@^hnY&gkRK zaeOGQI7V_mpsjPPa;})07bro`T5Y%}Eu8wIrQZ(71~k05Qs3?p^>(K0jY2HE7RuDF zOySLiE!4_Tf}%{O`=}dozobjQhX9uaf197@V!CcsC0(H5joc7!jpv+Ze@ z{RR$J_faGHvZ}P?eUV_ro>(*O|Cw-QXlV8FBFRh{{IAY$OVOIwIEf;S>oEg``_Q6y zC`E|kw@+5;cZwZ`-yz_=lbOnKDzVbjLU8$GccJr@PDR(lK$V}BWz(&$79CqR$5?A* zmq5$$bl2H=iYNSyj(W`l(BeZKbj-{UO8oUz{NwkOGj~G?Fat(2&YPDaB2HEAmegPl zo$iLVHkS@xxPUUm=>(H)huoMZcYZ+onxHY$rVIve!Q+--Tlh>v zU^2y3TEm%!(`c48>#;AkQ$)o|VqeHWmyB-^9P9r45QQ2j@r4uLRf!mGHNIfjE zGN_Qz1>}d^$ypL2=&snt2Is?LjRsIo(&4lI&VLBx&oi+j2mF(6lrloq^xOXN!li!yUM*Vw z1;0ThpTK=-%-i|#q6gX=wJ2sYJZ9#xb)TizL{WnLXZd)x#_Ck~Lt95XQv2BGu$R+P z^6UT{Gx=v+JGq#pb^4#0x1JnlNWdlNoUQ^=x0HfVX_rj(O7O^0nEsBBD<;cSLxwN- zJ1XUG7vZ<=Pmc=Ru{nF+@k`-94q;!6XbN|WHezF;#5v|%Yg-k@5Cp>%iIv&T8>EbE z=iG>V_S0t+%9@Rr>6^y~oFqi#vVI)`#qL`9ohp>U)QzT<*9r-)Q%D*7dLrB^l2`YI z+(@BkA$M!e;C83EmCm@{DuGL$GR#Ww)7Mf-8}+2C^aBeDqD?u#5=M7E?lwB~Ifz@C z2qeNoslx`8Uk^kYx=d&BPGg45`j;jzHA-f+8KatWiPk?|au{ND(fQjp#W7Pdnh!1+ zWJRNrwfcGoSwV!N6`0BPjQ;36>2~f_PSnjOoPd*rGf4d58cLN#)1De{w zannJRa;`ckjSCMtIZE;bl9eW#{F>;lUM)!z_Zb_1JERYiY*nC_=Kq+VcYi1L^pr7c z9U9jP3ZbXKx~r|N1(^!jrAu(Pknhq1^^U2jDL~YabHf3u7^K|ak#7Mi=}kc4KD_Ef z32fzfE<+s<^+eF|Z@5}*tAPy&fk1lzQXkmUTXKof{w2)5zP>Ay_3?lc-2k5U?@_ZT z57Bp?I1qr{)~kF0=6X21K}8VrgPnODsGZ_!A;f+0(lb=A0D0THZ4Z^9WeuB0XY!`I1!KsvI1KfBRBmO$AC{{6&Ulnm_9umWwW{p!i@b66iOjHaIBn=Q~{Z^GB~1H;dAXGLCCmH=23 z5Qsuut%^Kr(Z6dXl}lN212?-}$O zoPjz&J2!U^IRMXj7}I9J%cWveR95~0Api)ced}jm5LlDa;neCQKYsWC$VL0#C4R?Y zATs`YFA$qw-IaFzR8PwG0`(A3(U^dm4gra0z=#DcRyuN|U?=rrKN86j+5R~<*9KA& zVUUZ#eOLg7^9&hBn&etxbW1trm>~8$5X$;YdWLf}c!7sqe8TIEoYjz5oxo zi)b8Ze&;{OeD3M71R*_`Y5|PnpUH+eoJvc1xMd7?|K;#}#!;h@M%k6!-E~>jc8g-jI@+g;5fJLzj+e{tWre-$R5j5>EDe4 z>3r!_>}fLX9k6nk^3Za5y?=s#7)nqY`$*nxeYSns*Hh$Q9yr+T7*SbL(Q9^@c;ovS z4?yMqv*fRv%`cuHH-~gf6tCnq{7D;pY|900R z*Zx2)1Zb_b{{DDL{HPAFFMnYG2|f?FfsGPpvKwFj`}%An*GCW!VCw)FxCb)I4^_YZ zCB_0_FJM%MxRJe_|DNwk#0TF#lF^Lu{~rhK%%A{mIpM{NKPq~}vtTqK2m)l3f&?FtjSjvvEKx}yN1zf8qj)ufC+!vy1~oj7NQeb+ zq>XkaqI-1u{J?@T;m}4Rwliv$0y9id`u!J}0S{3;rlksyDVII@d@1Kq;_RvlUF=Q8 zxKbeSAZlp1l;??w>zDW;@B#7R+8sh2Mo`XxfO!l!XC&eRJf_21qf#1(v7`X^M%xI` z&34zs#3shy-le^XsyP9;auy8x5p>u8jSNxFje%H`KXc0^O@HG*sz!`3eLBH;?6^Sc zOga(tPsE@K=D+t?>8C1%S{!&xOiV+K@v>Pn031AH0(EMrF`bNG2HJ)p2LK=Smzyg# z{yFg)E;05S+H5*GK*2=42h&L>1Hj+uAQA&`>iFOzm4g%y#NG{)t10lL5l%OVzmc#7 z{8BKMt<^1a)w!;ALXrnSUIk%jEUW=$JVDT&5$bCeXt|NG1094G?Hp9@9tO7wNvz%E z&+iSQ$jk(BD|U-3Ks$#UB!0NU2S`9wWYPv>CPNDApMxayiiXavBL zGzVIFbo~xY%GV+40}$Hdwtk=+2JF)!@P_b0(=D4Ic?LncKne-M%K(=6!WVy#H#~3w zf(G#HJwR{|E;v!Jqw*Vd!1Lz5)%WlzfN8;hDGJ#RfD=xKL~QbBpmIuN43MMkktFx>-PK4{znvGF4ceh|=_!_`Jk7m)l&z5<|~RM#5q zAw2*gutPco5fqGC zt2y2oM+DOVR~ag31DWt?cs1Src^76O$KwekBt|xz79rvSkfa*J2;(NK&+2wOk78r& z6(I-z%uMi&fm3W2EpqwJ6GA*d6Y1 zM3x7w!4l*U+0Gg!y1!opw0OHRx1YU|U7tUzZfSY@-NpZXyeJq z$sLD!N}U!I0PIeBZ;OnVm$&%1v9VF?cxwO;@(Z>Kc59=dN9$judIzok0JOdU5F`gs zRmuAeBB&A0smA?X$B>sa3&yOms}vM%r%A>9C+#dj%8LiQyEDmMKMF8kzdlk<5t^Yp zK7kCL`r@f_b7D9h07R4J4!kTV0Aqsl`mD@|FjN`~XesYpTM>cx5ijV-$jF+F{~TyT zzlQYfW#4T0U4Ma1w%#`WM%brMa+P{TCbursnx?Fj;?smKIsHAt^Ml24fQx$}Q-u zmi=;v_QHsFROt7t?aj^8%{Bt3U&Y6tYX(m{w^uq~x3IQZeeOyN@nZC(goJs&-62&$ z$nWHce{$K$_mECa{`v_BwF%FkpK)tCG^|bF+FjCtAMu}UL8%qF7V273CEOcbtyKCh&zDQmM z!M)9|d`RsFopT6SyJAI)**eWjIB(xBtg2CnM(O^INjZD=R68fCNb3t&X;AOYwW3$l z)z#0FkZ`(*v9f*~dR%l1_<=}R7;-JOjeXw0<4HiuxI(Qi&!9m`I!!&0AsK}DsljuP zxM{$e@|KMV$Y&PYOG5~g0f-L0l~2_nFk`h&xnzV7HGCUn@G?$Lcc5u8haW;BoDSFO zqrm4Puec|26M#2^8E{KCVYYl+rH6#1bTV-7hg4@|G}|`8SiEs#P|pCW^lfa(JN;Uy z-*^z+0Y0Zr7rxWTIuVX?XlO`J_hwcUM;$b%o3JeGLrnXVhYD~QUEmIboeCt@!Or*r zSg#)1*>QmlpUursKE-yd(s7j@N-vmnfwK-7FqgI6Jf|9cPC*jH>87KNF#TmgCZ+&n zuor6&0`WTGjyVy~%m4fY4jnA$Z?Lco?=4bq2SM{;J!0hufy^D3d&Fr%j@R+P&*SWs$_{QD%XFVOs0dS> zKRRh8e8ogkBcVc#tcE=Y2F2Asdm+myV>~_wXvEzPAx|(E3Q&IXZrjA%@28iZhs?f1 zf*`U+mTMvQ&G7JW3($d4QJAns;E~>Uj3y-|wS?@RQ5ym58Jjza?%-ka07KhkS{D!& z`}_NOV6@+Tp>+2V$gm%fs8a^Rra~G}4`S)VhX8de;=1w)mQV=s27x-lbwrw>4??72{Pe+{~I52s-8d++TOuI`O^UwFtGxZHaU^UREoq$&kfidFx^G!+c&&H z(!e0&0x1T_9sqPRA0RTU85}PNL(rlk5ysi;`1p@V)q>{YM_p8lNd_zs3ypzcb%cFT zV$`q)5hLKkbiri3ctHrb&KBsyKXGCwT3<0q_gdYx`Tjl;D*7fo#}IAHY;p5>A%cPNe@k(85z?>*|;oyhaghLwu6A<{2+Q7Sx^#AbC zmu!zXj$!S4z_AGJ2t)`G{0%rl!bxTTQUaKfD5Qsm)hE(R!p@7v%(c2`%TM>bcF me{7TNf05_$|Gzc&hxEa<;GU@4SSv`3#FLj%eo!oB68K-_p_x_y literal 33026 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 Date: Fri, 28 Oct 2022 16:43:09 +0200 Subject: [PATCH 6/7] Update doc/source/user_guide/enhancingperf.rst --- doc/source/user_guide/enhancingperf.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/source/user_guide/enhancingperf.rst b/doc/source/user_guide/enhancingperf.rst index 0442db6320d5b..9375bb066781b 100644 --- a/doc/source/user_guide/enhancingperf.rst +++ b/doc/source/user_guide/enhancingperf.rst @@ -811,6 +811,9 @@ significant performance benefit. Here is a plot showing the running time of :func:`pandas.eval` as function of the size of the frame involved in the computation. The two lines are two different engines. +.. + The eval-perf.png figure below was generated with /doc/scripts/eval_performance.py + .. image:: ../_static/eval-perf.png You will only see the performance benefits of using the ``numexpr`` engine with :func:`pandas.eval` if your frame has more than approximately 100,000 rows. From 77cc7601d5dccf36642264d671a845728303db83 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Fri, 28 Oct 2022 16:43:16 +0200 Subject: [PATCH 7/7] Update doc/source/user_guide/indexing.rst --- doc/source/user_guide/indexing.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/source/user_guide/indexing.rst b/doc/source/user_guide/indexing.rst index f830b2d4c929b..dbd6d2757e1be 100644 --- a/doc/source/user_guide/indexing.rst +++ b/doc/source/user_guide/indexing.rst @@ -1449,6 +1449,9 @@ Performance of :meth:`~pandas.DataFrame.query` ``DataFrame.query()`` using ``numexpr`` is slightly faster than Python for large frames. +.. + The eval-perf.png figure below was generated with /doc/scripts/eval_performance.py + .. image:: ../_static/query-perf.png