From cfd7eaa056b916ff3e0117f6200b2844f5c51a92 Mon Sep 17 00:00:00 2001 From: jaska Date: Fri, 11 May 2018 07:29:35 +0100 Subject: [PATCH] Chart3D is added to absorb all commonalities in 3D charts (#550) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * :hammer: code refactoring and :fire: remove duplicated code, collapse chart inheritance structure * :books: update documentation * :hammer: code refactor geolines * :newspaper: add missing test fixture * Update: 图形类部分细节修改 * Fixed: make flake5 happy * Update: micro docs update --- docs/class-relationship-diagram.uml | 11 +- docs/zh-cn/charts.md | 22 +- docs/zh-cn/flask.md | 12 +- images/class-relationship-diagram.png | Bin 58658 -> 62530 bytes pyecharts/__init__.py | 5 +- pyecharts/chart.py | 79 ++++ pyecharts/charts/bar3D.py | 39 +- pyecharts/charts/funnel.py | 4 +- pyecharts/charts/geo.py | 12 +- pyecharts/charts/geolines.py | 51 +-- pyecharts/charts/line3D.py | 50 +-- pyecharts/charts/map.py | 11 +- pyecharts/charts/scatter3D.py | 50 +-- pyecharts/conf.py | 2 - pyecharts/utils/__init__.py | 24 +- test/fixtures/bar3d_options.json | 227 ++++++++++ test/fixtures/geolines.json | 589 ++++++++++++++++++++++++++ test/fixtures/scatter3d_options.json | 201 +++++++++ test/test_options.py | 101 ++++- 19 files changed, 1274 insertions(+), 216 deletions(-) create mode 100644 test/fixtures/bar3d_options.json create mode 100644 test/fixtures/geolines.json create mode 100644 test/fixtures/scatter3d_options.json diff --git a/docs/class-relationship-diagram.uml b/docs/class-relationship-diagram.uml index 90ceff81e..4b43b95ae 100644 --- a/docs/class-relationship-diagram.uml +++ b/docs/class-relationship-diagram.uml @@ -4,7 +4,6 @@ Base <|-- Timeline Base <|-- Grid Base <|-- Overlap Chart <|-- Bar -Chart <|-- Bar3D Chart <|-- Boxplot Chart <|-- EffectScatter Chart <|-- Funnel @@ -13,7 +12,6 @@ Chart <|-- Graph Chart <|-- HeapMap Chart <|-- KLine Chart <|-- Line -Chart <|-- Line3D Chart <|-- Liquid Chart <|-- Map Chart <|-- Parallel @@ -22,8 +20,15 @@ Chart <|-- Polar Chart <|-- Radar Chart <|-- Sankey Chart <|-- Scatter -Chart <|-- Scatter3D Chart <|-- ThemeRiver Chart <|-- TreeMap Chart <|-- WorldCould +Chart <|-- Chart3D + +Chart3D <|-- Bar3D +Chart3D <|-- Line3D +Chart3D <|-- Scatter3D + +Geo <|-- GeoLines + @enduml \ No newline at end of file diff --git a/docs/zh-cn/charts.md b/docs/zh-cn/charts.md index 0cf51dca0..578a2e22d 100644 --- a/docs/zh-cn/charts.md +++ b/docs/zh-cn/charts.md @@ -2,7 +2,7 @@ * 图形初始化 * 通用配置项 - * xyAxis:直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline) + * xyAxis:平面直角坐标系中的 x、y 轴。(Line、Bar、Scatter、EffectScatter、Kline) * dataZoom:dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot) * legend:图例组件。图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。 * label:图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。 @@ -37,7 +37,7 @@ * Scatter(散点图) * Scatter3D(3D 散点图) * ThemeRiver(主题河流图) - * TreeMap(树图) + * TreeMap(矩形树图) * WordCloud(词云图) * 用户自定义 * Grid 类:并行显示多张图 @@ -45,7 +45,6 @@ * Page 类:同一网页按顺序展示多图 * Timeline 类:提供时间线轮播多张图 * 统一风格 -* 关于项目 # 图形初始化 @@ -75,14 +74,14 @@ 画布背景颜色,默认为 '#fff' * page_title -> str 指定生成的 html 文件中 `` 标签的值。默认为'Echarts' -* renderer -> str +* renderer -> str 指定使用渲染方式,有 'svg' 和 'canvas' 可选,默认为 'canvas'。3D 图仅能使用 'canvas'。 # 通用配置项 **通用配置项均在 ```add()``` 中设置** -**xyAxis:直角坐标系中的 x、y 轴(Line、Bar、Scatter、EffectScatter、Kline)** +**xyAxis:平面直角坐标系中的 x、y 轴。(Line、Bar、Scatter、EffectScatter、Kline)** * is_convert -> bool 是否交换 x 轴与 y 轴 @@ -210,6 +209,7 @@ // 数据图形的颜色 color: string, } + ``` * yaxis_name -> str y 轴名称 * yaxis_name_size -> int @@ -2715,8 +2715,8 @@ tr.render() **Note:** 可以看到,每个数据项中的第三个数值就是该项的种类,而种类可以在 `add()` 第一个参数指定。 -## TreeMap(树图) -> 树图是一种常见的表达『层级数据』『树状数据』的可视化形式。它主要用面积的方式,便于突出展现出『树』的各层级中重要的节点。 +## TreeMap(矩形树图) +> 矩形树图是一种常见的表达『层级数据』『树状数据』的可视化形式。它主要用面积的方式,便于突出展现出『树』的各层级中重要的节点。 TreeMap.add() 方法签名 ```python add(name, attr, value, @@ -2728,7 +2728,7 @@ add(name, attr, value, * name -> str 图例名称 * data -> list - 树图的数据项是 **一棵树**,每个节点包括`value`, `name`(可选), `children`(也是树,可选)如下所示 + 矩形树图的数据项是 **一棵树**,每个节点包括`value`, `name`(可选), `children`(也是树,可选)如下所示 ``` [ { @@ -2801,14 +2801,14 @@ data = [ }]} ] -treemap = TreeMap("树图-默认示例", width=1200, height=600) +treemap = TreeMap("矩形树图-默认示例", width=1200, height=600) treemap.add("演示数据", data, is_label_show=True, label_pos='inside') treemap.render() ``` ![treemap-0](https://user-images.githubusercontent.com/19553554/35082247-b6f5ff88-fc53-11e7-84ca-bcb1f621ec68.png) ```python -treemap = TreeMap("树图-下钻示例", width=1200, height=600) +treemap = TreeMap("矩形树图-下钻示例", width=1200, height=600) treemap.add("演示数据", data, is_label_show=True, label_pos='inside', treemap_left_depth=1) treemap.render() @@ -2818,7 +2818,7 @@ treemap.render() ```python from pyecharts import TreeMap -treemap = TreeMap("树图示例", width=1200, height=600) +treemap = TreeMap("矩形树图示例", width=1200, height=600) import os import json with open(os.path.join("..", "json", "treemap.json"), "r", encoding="utf-8") as f: diff --git a/docs/zh-cn/flask.md b/docs/zh-cn/flask.md index b7d98e55f..e13187b3f 100644 --- a/docs/zh-cn/flask.md +++ b/docs/zh-cn/flask.md @@ -2,14 +2,16 @@ ## Step 0: 首先新建一个 Flask 项目 -* Linux/MacOS 系统 +#### Linux/MacOS 系统 + ```shell $ mkdir flask-echarts $ cd flask-echarts $ mkdir templates ``` -* Windows 系统 +#### Windows 系统 + 新建一个 flask-echarts 文件夹,在其下新建 templates 子文件夹。 ## Step 1: 为项目提供自己的模板 @@ -101,7 +103,8 @@ def generate_3d_random_point(): ## Step 3: 运行项目 -* Linux/MacOS 系统 +#### Linux/MacOS 系统 + ```shell $ export FLASK_APP=server.py $ flask run @@ -109,7 +112,8 @@ $ flask run * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) ``` -* Windows 系统 +#### Windows 系统 + ```shell $ set FLASK_APP=server.py $ flask run diff --git a/images/class-relationship-diagram.png b/images/class-relationship-diagram.png index 50b2ef88971a649a02fd0ae32bffc88cae256b64..67b06db17457ca3d6ea456a82525edfab429b170 100644 GIT binary patch literal 62530 zcmZ^LWk6J2+paz~DyRr3DIy@PbdQLD#L%5ecMLJq046FW-Q6wSpd#HdGz{GxL&I6a z;Pbuj`OfhV4$j_t?R(vMUDxufthCr|9Acac7cSfufBj1S!i5|37cN}<eElErn|+b; zH1LDYPDIsC&&t}#+`!Q8f|!A&0qm`vf&L?1r$@$icGkQsEY{|4E$!?r%$fD9Ebczz zAq98Hbyifh`}_L~7aXH30_3bBpWX35G0i|m^fq7I54FthB&UyHS0cK9-?+S_>64^x z+d%6;*W;Cjju-uJ`-uJ^1Y@f!wzTxZIE(M$-z&H}(X#f)<1kQ9`1=;ll~8Vdv$mGE zl>&)`Sux*N9XfPVj#ZB{KCzN(km0I^Wxc77i#>jm{AwbegC5eCCFnGLS1sC`z1os@ z_u~GAqe2VFCH9;E*0zriZX}Q72GT!YbZTh6+Z1;6j)(%$>E`wu2Y$p~Pi&KgPAGi3 z7EIuFZPcnX>N^)PGpfH^-meIMAFtYEhk9fg720XY#Z)P*=8)@|^j>@`%KYaIE=}>c zt;{P`;XT#|?~@~Eugw2558Ym%#}WQgKsvPbFg&N{Hhc5pKk?H(T}Mb_l{ca>1L42g zC8lC@E?cm-1wPczthuAS*;*7pAR!!s7LUE`*Q{T}s<k<{^l0`fYj68aw78BPiceH} z)1i7#T9~*}UZR-8)UcHQrGv>WW&a-LH<7=%CIwHKnKV_l%<}(SD)`Oq^)h%>`Etj; zu(c$o6gd+guTjvSY!PC_*EeK=kV%PaciDCaZe6(GaY6i*kfP(z^5{)fMf;Nmo64jR zWkW^fS#`NV2m_o=sJ3!8xVN#AsUpI}OvE&a$)KVz!el}sCp@K0_fF`$cN35A5XsR} zzPL<Hz5f1N8e{1fN6(Q{_)%HGvq$gaT5qlO+mgq=ooy|1?O2oQuoXOZgG8PJKRf?p z{Dd>;@82(6FlPK?_3x(_iIi@a{{2LJdxPZP51qzeQ2&1L5EVYU`tK)p;z=&dhZh7y zlF|e;DH<cN4gH7xxZqbFJddz9RFn$~BY)E~JQ?C{Aw4&A5&YY;YuG1y&?_FHz52U< z|GD6$>ZVp4w09eG<^JC*<0ngg|M8Fvbx{2Sb5*#2UDK8jb^&R>Urv>T8JGnI1hBHQ z!fb7C;^0U~N|v3yVZ>$Zm*a45`k>fjj|BMn`6($WIXF1DxJuH}zDV8x4~i4NQ-fK~ zg^W_eBZm{sMc;9&#FSQ?#pj%H7CLHbge!@OlbT}!_ofb)>Q<olYW7|C!ee7~jE#+7 zzI-VvDk>y&G4vj|{zc&570XE;DW5F)CLvocRp8!q)wS#7+j?K6VyYlq$X8p$XZOnu zWjrF-&A&vtx&Gyno0+BC5jy(tv6Yn-1X8oUzMhnnR9VT-Obu@8LG$-TCrvko)4Qj? zcd`9LLH=;ND3lUb(R}ZyZ8NSRs@T^(^T>R$%^UTPK!~%8i`Bpnp~S8yPo7NA&cf(0 zZ^wS)?;df~Tct__7G2W(hm7X3)s1IO!$<P(Lp*adYX;}st!T^)X7+^KD|v2^Vr^IO z^4!n~&X||N6|Uj(yzyBxTYeqg6!8g9V5mr>g^)8;0KGkRdT8e<&G⪻fB@SGm{!y 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 literal 58658 zcmd43Wmptk*EVc{fr3Ssih#7FG!`ITGsFM`h;(;{asf(8OLq-jLo+DSDb3K*EioYd z?h(A6`@Ns{$M^H|568glT6?W?#ksbh<YmQg-5|Sh;lhPm5^r8BUbt}m^Mwl+A78r! ze#0etrxyHRuoYFc)wQs6GS$<!y&$e<u4k=dtM~4~Tc-zxwzii1Y;2aMI_9=^W~QvV z7G`&z@=<^pVx1wXwts(r;eunFS?Hw6=+oPtlQ_rJ>+DX2pO*7j^a*IqVtPlue>blx zPew<*mW~wMzfUwwEkZl;h2`K;#fJN@@#MpVe`tpgOgzLw-=ZcJt`N9%`y_?3FlJk| zL@M(%INCkWdF{~HHBQV!%o7mS%+8MD*E9T1G|Dmv8T@dq`B+ZY1VU5#nlmVGahGN* zAf^3sQNf5)?8W`tSBj&LmSm*}<asM@D?cIRC9)Q*ddkS#0pq&J;C=GGnf+kuk%!s? z*jiCznc$Vi2+^C~lL639FRQi<yWlE54;<wu$xGbb^}&njKk8>zNKt`K98L{Q7H(IB zFT2OO*U5%mnb*U~JPMbI6veHzLW&u_lT)q}*t(ptDoSxBH=gb^N|9GIj4|<L<?pLH z$ppP*<0*8z#jR|jzf7}MZ^rvu2#eZC$fsc7g{^F_o)I_qOHDMEYzR*O5LhrBNG5!Y z!Ee)*8_s}N`#`Txe(^YY*7>$;hJ5#<`t*G#e>7JellRavLzQlHj{v>>1S$8nZ|}Qc zVU=Q$meB)J&ad7y7cO{Ska+z9;)q@y$5Vyaoitn3sK+QOs72=(>3NKIw%xw9;Xupw z4(``0tu7_S$<oF%){*<Pllxhp2D|DNADxQp*Df($e{aox<C09x`{JIIP?fBc$<3jJ zcuLlkpHDgKw7Q*~r=Hr($8GG#8zmm^93NA-Uj{05_Rkad=kx1-KLB;Re@W_pKHc)E zzx(f}=UxvBul)O|NBbJ{#eY9>k^Dc0Nma<(BY4@z=aG2yZIuq#ujezIf0H?xmtCm- z>&QIP!%S{r0y|el#`&CuR|r*43ay>2-g?TIisY)wYGb!pf9XH|Ohk`+bYS8mW7>T0 z{MV`%-qT`NxDctG`d+WY57XM(8XX<IzrXM8?M*M2FsqEUr!1{2k$=9W`XLZE@`b<1 zbpnFm;9xl^srK$}HU@_2|N7Q9+RN=W27MeKPysOqi2TC}Pa?P3#^NP`;Gk{CIm3WS zHsW2bH`+^wgI7;ZPH?>*3JVK!a+VYpepbisIm!KwDt6fm+SkjjL=vLjJuc8B9M*B1 zx~ywkLX3Nu`y<nPanEOk^QG4@>RQaHeb1})hw)-mzqAbY>$jM?)4_CL-s$OSa2gyO zoH0r4WElVRdy&dwC=|5gpnccTQ7@Zn>!D?Ilfh*814=c$y4!5wdlX|=ni@yp%^leK z%uI<<Uq(_=((m8DkB(f;v7+)k5d9<A3!bzPa@7R>=oIRyJBu6)j^dtbFP9P#>Uydr zR@ECG4jGGcjib0i2GJd%e-`%CyZ!f6(97+9S{wnj5v*YW5@`~UO2_d~7k&rB{)&(W z(Y@o%lhYG!8i)w6O$oL$Q52H@y@8hl^}QA5dYKCPwGjoZZZiIi5gDB^Cvw|*e!`_I zU%ZCgg{023CGy4Jjefz2T<FTcu_rM{n(N8?d|m1qrJ$fNH?(V5nXqstMH&4dD+nU6 z<%nhBu|1xA#2<Vz_l@do5_`|TQhSQW%=rOz(^We_?e2cnUMwPKYp$`tP~cf6PHe3- z@}qbnW5CwHw?=$QG#?+|gsV-gPJ?sv_uMlB(0=u=9+uQ|7%%5kjo@{@ZOMek%}!1A zq)FUE&DJ9xrY{j4?^YXe&d1_LUc5*hFLc;RZXq3!$i%dFCcHwzzjFAXrk%aQ!#Zpb zsCJXja#j24Ro~cn^L(K^uC5#8rL2e*l9GBwch&0Mc=K`ooOplYZs*yM{5AAAzi!iS zEq4hOfrf9wcJ}M*i;jJGYynCxyK8t3c56S7W+o1MFEVA_WX|m8+kfsm>65=O%XelU z*E9<`upqdzig()C-Pa;gqj4kQaF3JUGfu%mgJz>hwtiU=RQlnb_<iDL0X{xDdW%pY z)KTa}db`l(rdFIll=IZ{H0P0D)3s4-iCVCjCnBa}zg5m;P9*m4#a)fW?}F;KT-3$o z<K-Q*9%YHbXWsLP#fi+%7drXnD{vLxb+wtAri0EQB0kY=KHI%+qYi(2Ug&tcyLEXe zj6MujUdPVF^puUQzkQ{<FC*~$Hgx`q@uem|GyRdlEvZwB55{s#G<Dnr%md+t)b70H zGO@~x!Qnz-bhm75R#s+bE1WSK@8=SPP6z~hHrJ~yf`i~RDD#oxDpCJ=aA+AbrHp_F zf6z|*-|4|E8U612jWAKI+x_v<*B|cWk$~j1lzTH!&%y4hTV|q~AQ;`BtJYUoDA(6_ ztd2BINTj9{@V&W|juTm|SyAXRQmmq0RyDn|6y6V+q>~||7OEP^We7Vnsm6azO8>py zw}2r44>66OUo82ko1+H4eoeNE9kj?hY0r3ky2ry@TX1*`EHAB5s#m|`86GoGs+!Z2 z)eM=~`-F|6Vkc`|0`XmO`*Z^84wG(_!oQ~ookl8cvM1fiAB#{3Rh2<=$WM+pD2Z8D z-G6<REvVz4+gZ9l!sc?OAgUz)A}Nt7Rp2JxGJl5gUB1JD0v_Z3manh-^kq8X_f9n5 znHETRE7WDY*V~@&jNvvxXLi3b8LXjo=}MGa89$T@3VMcF-S_Y(s+|HNHwZpOoz|wh z9SW@1?yVoLuS~5S$2eQqBiECC*P~S0x)f41uK)2V|JV8_);e-;GDE6R1-UV5tgsoo z!*K`0_j(JbD{pr{lqO+9G{xHQAi8FZkr9z}2x>{myJhiPHlp79E~l7+D+BK&{<rQc zA}^n;*zN`4Pu!8`E(tg5>+*14MZMKr73tU&PxlqGBX{WW7^m%P%NaWt2<~5j$a5El zvn(y~eXY%0RN5KPkA#*lZalgtCL@<{v{fd{bbf%F|9;<0Tg{4&#i}2#sbgy;Nh%{k zVJZ1~Y6d-iG~>pjGYxz8*DU`rzAP1?Mklf@X-NF60WD|Z$Jl`Km&Sup5146e%|@|= zDc}8ryM=$<Epu{4y`tIG;~`O7D#}5(qrss`{Jmq1M52^Qa;i-;$CtxRKu6xX$oQ>t zpf9cb9WMB<58ka;L~60F@(~?&@9<fC-*sgy%=WKQMYgb}_UU)91#Cs2U>tdm&o;{b z*V2GflrkCpZ`nLQGxdS9V_m4fd-jDS*xz9vZZK~vvx+3#*1k7Nz!Z7!>?{}lZsr9} zBv1L7kEj^@S0<AJ%pw?8*_(x*SS-??oyisN%r?Oisttbv6vV%d?97Uum;D`o<!tsW zqQ5ut|BGExjK&zNzn@F4XFFGzzp=|uTLEE2^NgZR<o;`WD;24iXbo-B9`i4g{ob+4 z`Dch{8F&sA@`;RX-QgMU3|#W0NS-oP*qsh1DD^Fn5PL~`VD72M-Bm_<>^k!&&COh- z9RHSC6GD2wkp&kxetFcncq(8hWe5>{2AE-#{jIs>%E^!M%(U)J)_^zsZfU9~F)M53 zCLb0y&8p2f3TyVRPZCd}cY*_7cx>XkY?bx6G<ze-qj_|f6dHE@wm8R}vB8N-@R^(S zWKvLY&j3N5L3B6IP&8v&2dr>8$)ex8SSf=|AX@$QNTa5GoBw5sI1kmLBgdD|$ICS~ zg7L3fROFUJ#&4AWc1P`awYx>dA=nFD&06&{ziJ(?*_cVHRz9*DsEW)N5bGE}t%T1N zV;8m5J3moYPFu->lu|Lu&0sC)j?FFEhPN)VGO<OaPaiF5NT|sa1TRf1+>d7#$*J$1 zM?No@tK$?rc9G7l@=4dgBzG3Ih7seGud_u}4%r0W_kDql-KMP1V>o$w!a0LW6mfPe znk7WJ{JH)GQtHVy)&&b>m~HQSbEoKpeB>9x6)z%>pCBC6a$>!;1A`y$u72}us)f9B z#EfoSoaHRg+I4y6J~uNnbJ~3UJsZk|NY&UqFH4XrDu&%c6f*Qlngs9vT2$q#TdIA) zmqQa#Jx#dA{dkJLhE((zD+o*k1;-{QCo^%ioZJido9f)<x+h(m<r5F4JWf?n>}>7q zDCgr^Ca1&6p{sniB>X-yJb99Jj2QT*C`5A%h~30k5C<zerE~k#@QF9y_RyeqZjFM5 zCw^M}>CRD}ghuJ>>o+wwli$Sk@Hmx${;u0}ua`M?Tc}y7UVL?W*ldm<I0=?vr?UJS z+WBl3<F-~1wFmd`;2U5m@E{qn5Yy4o5mNq>VYt(r<quQEaYD*uKde@17rbN=YMu;@ z7G$927Zx(p(;J(ceSLkeMypjZCP7j4&!Sp`-`h;$xgJ#}9o&9utKZWh+LU<mGmjD# zH2ZiCGWSpFVds%OW?m|CvG_n9n?sz(c%JPxt<Tr%n?8agnK-=wn{an`2Pd(%wyycK zNFYLBIxeytAF({t5;chjRQdP8?aiYUO9DBJO~4-U7Q>dBoohi{S{x$o*L$H!A3MjN zt3|yqKc(j9#8{DW{S_G!%)hOI13Apxaua{VA9P%qloeT?DCkt2mX=mnSeTUb;8cXe zE5+6fcl|^$b8X~gVb7tiP7o!W=K5PN?(ou@%KrV5ZiM%rwF=|xPn^9pT-G9VI8?Fg zM0uavQhVg#50w|4&WT4S%?J-an`k&mh;8Lnpfv~w3Rgp$+@-EkQmGZDqc9~7JTm{3 zu(^8$Q;>VU9ej)A(6z)_)99N-V7~gfb8w#GIMR?W?K5-#`I*m&={U#7W(2;{tIu3J zrW={@P9>JIEt4WxDle+<#K=L`v^!g004nKR89lc|(|CunSvj5r>3aGjN#D&~byMyP zVgKD~6@MZ7w<#`Wi#h#>)@T_ISWGD8xLX@A`zSl<fhEI1_3V}(vhOwuqBup|(s*lX z)d!9lOTuj`#`q!eB+9$9?yJ?h-!=B9H6%z=u?qT}^4$I`jTR)^LYr8|=K1?<t=dYO zC29DBgaA&t=RXm-H|{2BB)O|csSLNUBvV#`lc3Gt4Tv={5lu~Lter5$lG`_bth~x2 zW{9HN3G6+P*;ctKYH!6R(e`#2E9xw~b3ep7-7~N1)mIp&CmdnW9eXT+x2%|1yLTLV zE6Q%zcqoqxs`TAa&-jx_fws9SAH>n+ncefgDP@NC4*#X;5MaZi`=m_-U`9{$U))H= z)5{E{XTx4wdw;IL_<YWMdpoSU2&BeST)B|}g&7hW1*&WJI^Zw#_h$~|x!H3^`YZe( zG@~Y(01+_UIV{*Mx}1Bt=NP|xeGQ}4dM<f6XjP+Spqdx1E`(L$*ohQNUL{!hY2wr= zS8W4;FR!^>f`UU_crVnzPHjbPorGNlKSu^v9jfzM@g4ErMwDqqE*Dm#>+Q}p?Sc)! zxMHGQ#No>TAnj#$%K>$#{=(YbC_=Hv*(Z$$q5Nw?eNg%wyUG={1Yt#rsVP%_Qq!_V zX<*5SmG6o63r|b2n}wWjw*K^qtaR||&jkLpT9cxa6yxUbJTBVmT@|Wfl7|cO!PK=w zHZoltiD)gGM=l;fntZjul$ITb`F+Z)`K)J;6IV#Ju@iQjd%a)PT1<?4&iPn?Qj_9? z=l6;Gan9#mGanbRYN6OqikX)@c5n5um{d~_PK+(LE^#%N@nDf?Loe}YbupSX^;Ts@ zM9l%2{d2LzSnKwEFm=7%$1^*-ka}<Au)MNMI(~NoC@j%$-u-YOq-$o+II0fAz3LR8 z)qH&mjtd3&h-SHPIf>0*9HVMZyRJZ-aqYIXGgH`A4`=f+kAU`9E>jQra?E1){^T4l zNR&!jSl4~+Hi=HgfS&?jOExk6slJJ|a>6~MXfFSH0>(v{Rzhu5!yv|erw(=XD$g3F zbMv)*!}jl`l4|;J+dT&0_sV8{v5u+mJhJj!f$i7Pe0nvXChJlVWWo-|Te7JsCx}li z<4X`yW)uJiVwPw_Ofm(o{yZ7=h!Fs~BkGVC%Ij#4-q~aEXazxlK8q?L+I;rK<P+S7 zU~0?wbFkJxS=Syvs;;2sHnpg?;RVJv)LX{PDd#Q>poir#DKIXSi3I$K0Btky?~)t5 zygK#FWv=tBW0&@K67l@VX3_rl`ckW8ONY5?u%gJlcNU3FIq%rK_#s=q4?HfnBLq2Q z(+Q5B;R29BZu8d-OUrygmpXS5sUQXw&6rTLDkWhi-3dRRD%Wh(7!EMc12cLoIQ*N8 z55-?5rvV#n7xBo;G9BjRQ&H3hIABJf9z%kh5XoPb-QSrSJT7Q#9?-OU>ugvZ0)#|< z6olPV;dww@Z#TQ}AtlWU&!MW*B1=NPbJqDVx=e-V<9&hxpazD+HoPvmTuxglAkG?C zt-ub=r#`z{&y_|H1bqzBB{&dMlOUh03@z@lr&)1GZeyZZNOGVUE0l>u3*E5Th%D*w zRmRrXrVh@F8igMJ!rJyb^Y@szh=@`Z#=)L<*}zZ6Jk?eP5I|qN$7u`vo9D{KGx61T zQ4W*b`C(-`(blOvP^toy5F9C;VMN(lSTEYix%n$`o2**v{!xW6WI1eQt@#2r@LQ!i zA8j7b#2^JMwo9*yaCdp_R3nkgJQ*4v+Rq3ScZDwzfQj|SUEGdhMBN`pgb6w`5beYu zG9-DNkK17vj7j5`f-FO^e>Dbd7pytGHV)!Z)d96^<@Te27rDk*uRqLm2CJU63QWpk zcJYR0pOW-X7Y-<C=3&#H)@)-fpfZtd-8iC(td*J82BZ^UjOX!rrE!=ruc#NzkHd|q z-E!1G5GJTgC`J<Us4)U(HQPls*vQ#}_4xv?&N7d}d*ICJj*g;WnRvCN`9jtS{!yj~ z;G(gYvQQb3@lG75JpeEm3wE5#%kyzpLBvf{U17kYs#g{m5wp0iBpF(qySw9#j=wix zmomUg!az^wzz1BF)m#1sDloK=;M}4|l@;9S?9eVCq{5>K%{?`pd#vjsTecO3by95x za2DVemigIDz9N9VJN>Djs*9g5s{<@uL6bg1)@9@62tzEd4wFRzB)6tjG5d)~7;q#2 zp?kwksj!3UGtPa9sp8zowi=!?a9twC!{$s2uByZq$7>O7AjDR#4o%N4?hqus>>@PO zb0&V)bMdb+02E%DF6uKosSM>H=U+3+=QMje0Ryox#i$J;;+YyF0Dcew1TOOzF>?ls zV@t$^qUWbn-vZHR7Y8*!xL2{dW-A@Qrp;(CL687h{A7_4B`g7NfNldL4!i{=0V6&C zik1{82D^|TP^E*)q?UPEVSv%2H`Id3kQO%aMz82y58hbyR(M;n_Q}25SkS><i|Ms< zCB;30DMYWV5d&O$A9x2j{8A+}oN(ODuQT3BnjrY+ciU0^g;bw4+)Nz~Sw~|q@`Czb zld=cP771n2-TVTr+xQp=|6nFlfWV5tCfeL4^B5oxNDk8HkpkLal;_Hg^A(+qn3U%W z@QcTDo=CL$ElumBnlLr(#u?klMEV6#0Mr34;7qSo`OXC!!4FayAVE`+wXUKiJPES$ z9(#i)LZy5>;H2b2`v3!fYGiEK#(M0kG7w<BjrQN<bnpo<HXzcoNMm%z`>0f)nMkF8 zi*Ug1EztD9gc``nAuTzGD}j7}7GW{}FMQTl#R)6M0dR<G-vK^rZOYods`J#!ElWo0 z8xR)ONi0dpk5>V71*Sf82Ya2lx6Y60M={vw3o^I0vM%94N@k#<i@dv76|B2aNo-As z6lO2b5FPvg1r}{;D<KPp)(4&IU+y;$0!qvfHSPT3jaJuwMjY{TIs(Ptg3mhJj7hGh zb3}jj4%eFpCivwn6r$qC4wpQ4-eeOxny!v6<+TYWtEokbe9`I;i1k)XEEy54#mt=D z`1$E6N7Bosd$ZO-&FNc<SaldY59xb8L!9q}+t2Ifg+*vYxdG4-$tM5_M2k6V=F>+E zrQ<EwS!oooKxayJcGRS=_r)HI+ESQAZQDd{2t10?m(v*rDK;?IHKT76AcVY!+u;XP zo{Kit_YN3n`1~BtaV?WqAqNy201Q^SnL=|8-CJ=5s<SjKP$1A=TTR(gHpe#~*E(rc z!ou8N-o!JVkUqn=+@T%hx<H`SHT57mnY*-BU{<=dx(_@;`yORc$x0}bBuLn;TH=6q zI0|A<*?#VCRlC6Mfcd_5NVFDY9SCCMY;0&hK{G{wg*ER9u5I;hsayqFx0AN+KLLtV zP%yMU^gQ<^QjGgT1;XG13JVw5ND%^nc=DQ90uw_?dybM!B=8}lE4BV>e0D=u<Xmdq zz)(-S^L#+V2E+jFhh1o}MUXwLoxH_{In3KdGk6`C-BF>HR{~Ty0Cj;X)>1Vwf}z^9 z=c^7W8%f%OxTM;^%~8lU?^r|rKH5C3Hor3)5}tV7Vng49NiBx4y+g@s@Pz0Q)@SG5 zKD(SL*nU|G$IvKSP3`E5$*h&xP_XC*MniWm3aBQlS(D;nT@!#!kZc26REUgjF1ZPY zYn&&no+d9bS?K^g57h8~Eqr)XJEOgyIj)sGrc|kTXkHBQO9=yk&Ybh%F-)QL)h+Bu zn)Ay&z=rbxH$Xa|p`sGcqiY1TeW<l@9itKUbJ|WwV`)S;-8vnhQh~20HgPh%eKt~? zkTpD>QC7NqY3<vmtw~mUQUEb!094Bixk~35DMw=v76OYs^TQ@8>N#ZZeLo;^%Bke< zM~oHDbiU<o-LI!#UH>8e%3=7x2JMN#BD?W9QYxSGVHxFs59`*VygxCq2J%-EE{_aK z$daE)`?WMWBwP-RNTU0@7YNr@L)%>Ar;9x0$Axbz<BpIMY^!HT14ZniVa#zQpU{f; z$n)sIF!_6Dh*fxlk&Hq1=5Nf<&Dc>;W@&5Pz#OfTaVw+6Bl1lJKy|LwvWw1GO2)J_ z0StRCb9T@5jKj8EDVKslfg>y|jFXdddwUxX4^J*ZP$D9Wg*zGh-Fn(Hl<<TWdew6n zZqftZYIAeb$jAt=aJ00v5bSQ2vG$^I_e=#;y`{ux0HLFI#e<X^1J&HKy2x_S;;+}| zKt;K*+4h431*(%qzv>(I@(7NOk8k0=a&>hDdAyF!Lud-J{~va&vH#Cxu#^zMMuiUL z-&lPr`0G78U}n7B1{eEY?zl8yNRz*wXkF>_5LkS;_gR*P;CF$^aQ)2x=Ggx1vI*<O zEG7O*+SpG_HeUKVDJN%P-;?o46|$MnWXLHt<)w9-QNGP|KTe}tgpOC7S@t$JM@o&9 z<mKhTKHc4gv77vU&>Y+N=hXfGoJCQ&FUx+kWQQ>vT%>x>8ur2A$``$dC)rg{A8zvU z!xIMsKRCR`tj8u&PMnPAd2s}zg8I3ZK+cK3+?NA}X+NWG>Jmq_Kh~Ysx$DOaFP}~5 zq9o%spSAqq=23Hs^60!aK=A9gbFb8pT$cW;KjQkc{NGxrsyE`tM=S3d+0>4z3b^J$ z43XaxnON@QM4p2CZiYkbS6Qm9;g@mW@IYvRHvG{7PvgHA{M28pD_#a~_34<YcTLhw zufF(lEUnYC>@!q5dBow~m%<IFq+Wc-!=|@*fCA;|<92T${i4^RjR|gt-|%iAA<8Ew znZd#_pq&2|N&Z07pK;*OK0*|kiEg{r(M=#=`vgY*-fm3zu!EC!j;T7gb${Eavhtyx zo&dRJ+Mit{ef^Kk0D|@ppEtjW<?}pN{vUkarB7R1ngzAH9h44Z{FYO?$A=>5{PDa3 z)Jg8D$JG0v<YXqZXN9@VjF{ztTHWUAcP4|mOL^r;s7L_}(=?zW;c^&3*^F<T6IefL zff5a@uU@Y*oBozv7S(RMGP*a-R_EB<Wo&(5+m=%x8=`oVv^U3OC<w4y?!UiUatBWn z5<vb~AQ$gnL)8EAroUgs4lq49RC2Yvt$^l{2%~dveGi?v-N$mU<^XE&Lzg}+^)>G< zZOcnYq#TqLTgxdZj14@da61%UT_`X8dO7VNFBE;UlX*Cp>(p*5XJqsfFg+^NG@2t; ztEot+_*9Xu)d1Y03|bsoU+iwO_0xad3s=Z~>s{yprh#B#!ls*2<TOqi8<TpjoFlU; zPKn{`Av2A_ZnBbk-KpWP`1ttG1jaR7Sl`BZa2SH31pBhQFTUtA<NhZMOVk5&6sJcE zR{?2OalETO-{l5d)2MMAqzSe)8(JSE<!n0LlBz=Uy?veN=^2bmU>`}0I$ZZ>fpMX> zWit;qP8+=Os>z=|M>I1I+*NHWvl!j=KKQDwI=wF3(%Sl?Z+l<2`DfY#MPE4)%`AAO zg;qt5Nifn(z1>7M{s7G^#vvrDI-IGmSFl^Vt1t=^OB(6n$P2xnCYR`IUYWjT(_JZa zu;?{-TXj%Z2A?{}e5_*g+2oN!!f0EY5F&eT#6bM;kWERz-+yLKN6>+_3_Y!*%x{)9 zuybw2b|O`*lAnKqOXu5XTvA<t3IBtKUqopx%4qBuJ=A~SOylOl57fV}vVk`Bj+<B( zg$$+f${-5JCks7Mca>_<v0KQ&^<+N<Fn>fWF*!KDj*cSNC#e-QC^lwizr@u@xXjh= zO;A$Q91Ry$0J0N;$mDM2hIm4Pp$OVSuJ}HvUs9iw#pFr4>+6jP55FMzJ(AxcsWUPQ z-I=X;J_H-JuKP#5y|4FmW|~lgT(qWT=i>PCg_}F@c}cP!EFF;8sH3g#_vk}YQiQAb z=Xp$q>U8C}Lo$o4W||l`hLD>xSG(et>Wl}-t=Ei$kB)ZwXiP|91CjX|;uY%UT@N27 zwun2dI;wc}-vg4!x_*Y?{joN*dMZcoZNu+hD~+evwL2aFLRsCsdan0J%Y-Eh+2*!7 zx(XA>ttUD$QDF2UzF^}p!-JCdS5dd{c0YW7f5E?0<j)N~r8N~&&JKD%S7qm+AdsFm zJ)JY_tCU$687$!Vba}S*@kn$8;g=}l<vGlPQD0O4UDcR~+KfH4xLHn6J-Ezbs6Z(s z0uZ0`KIE`B&^%+w;e)(S8rq_bRDH#Qr$=AF0f`73xh*DEe{Y%<XBu>$`Uk<4+ItYN zDj3x?P|p5ti#oow>`b3OL|eV{Ih|B{-O^Gvp=L430wTH}-R@?g>0C*7WKbrErJB1% zAJrXOa24w|<2tFRjdY=jYgb0LPa)c*w}1UelV}(lJK*Qz%ZIP2nGwBZd9Qa21xHL* z{)fj5mYznkuzj?@@QzURKiOyF$gY@6QYFPhJMhCSvw=Imd!^)r4p$eAeIpOJg-`Ir zn`3j$ZnZn-N+|Y<%xW4Lx$BqAbj2FPJ#ze|y#S=z(R#gdC4ZEWaaY6IF#6cJRs1*g zsp?psy1^glQ6)G-psZ(2r+ugpn_suwE~{5z^Uy4vLlA$0+P50lTP)d~GgtdxWVhjC zcGpxS3@#z@wmq`5Y_J}ExqZjh!^z6s{mUvTN16)D`*b4#{Z}||FskV}1k6fGZn0cO zt~-l^F@73S+G>3+YpF<%OX{VD=KS4jpu1+H4$r(l>&K^i62_T1CIlwem{*GE0L-hG z*KN)OFBlQqE%y&`Wc4pcY?ZdrqK<d*@Q4KIQE+gu6Ihh^Fn|YQEn9jlx8R96BL+R4 z?@din^ykWH&%n1{dA=&B&v4s$cIyqGfgUrggl=&Ai`~_)$%w7(Vg7YZ^4Xa6VIBau zywOs36O0xQ?LMkpXUT1Rqkt^%F$+ADN4JjXP0h(cN%^FE`;e9e1Vu#DBqr*nY-UYF zx?e7^VasnbAG>Ng?zU(5d&)}%5hyk`ezg{C^cK~F0gH%yK%H6Y?0FH`J7WeIGUYN` zPCQOs#K$kU$4r<!D~lJIoXM{?AFVx1w7bbXca_u^SV_D{BGUc1IuACkeal33&_d>9 zD=K>HBPHKm8W9!9YP7JMX}Nj)fOMtEacM1RTG;AXA18l&E|hi}=E=*TLj$fD`n!cj z)9ZsU-T#tK&Gx4uP?GK)A7-lnOiNSkB}!JGs6fpR7OQ)m+Z%};ELlsn`afDg1eTPq zi_oVkIXy5=6$_-0<}w@XU*(>j6m8m#fsoAQ;M`s4O0V0WF9o>fux#rvlut?RUXkPH zfuJ)0;DlK}rU&{uJ0$84x3sn%D``d<bKNDxjI5PUZY`z~@R)i+P|&J2(Bab6H7K;x zbF5eknggC1hnxJB5R~Ru6S=zZZ*6)~p7L?~l7M`mbEwnfHT}*Qq_JHCaJNOF`0WRI z5+J$&m-J%Yu>d~4Q86=^{7O^W<;nQi!S3Rw=dQ`xtM;8CVCeLT6wJY>Bcs*fi;RbV z$ZgMv|InOVlv7LjMy}A^IQddNm8KfPkocynNY^6~p{TC+__eky8V*9oU7%*AkJTji z%0l|IzBeE!RF)AZ%G<0uUKc1eOxr%SV|RH0>p1{a`rI{rg)!jcY;0b+9~ij|IEi;6 z0alxFbjQGLPF!PlhkR~)&KHfycRw6L-IeZ3%5g0a8bGGJ?IsW*!Kd`g*X2&TPcKKO z*3DHpltQ;f;kKt)$g^+eb}J7NT<FKy9WOO-^7>CzY2~~Ef}yMb%2(6(8>GabNYh_t z8@R>?br=2>{A;78?xWK%O_tFHs5@T_jDtFo_OEV&dYo}<x*FG`(Tk^cRW9OJH?C#H z1hpWI7DPmLwTf7Gsr3(2dtaqi1qv*p@+WL6U`ViM(;UhE$QZ7v=Nu-@XL5v|mF~_g zaMQPFc>!=AAeYD1mlrrRhkChn>T`ESs12OlBcD3jYnM#C4~)A^b}X!8s@*qH6f8TA z8q_8VY>C|2iJO{G+F>{_?h8Sv?>K~DyC&q^_YbZQm}Z@=N<>_a%zAQGnH>D|C${xG z=2cPLwRsUTq8u5m689w^nX)(w3d0@9nuyqv+QDoVP(<!G+Avbzniai%SwGqg6sJH^ z%RT-<eNROutcgK~@+wrQ2(a1ScO)k3N_db95KXC}FTM%;^J)bZ@b0VSRJVJE)m$vF z5x6w$XBKh5Qp?bbs1DJT-dEU05DE_Hgq^0hF;Wp5Hs^2uNm0%t|N1iPUDfPJvV;zn z9>rH9_$xniI`Key%h8D~ITyqbw-EtW91jl@<W*MMJ;l|*EE&#{;p@BG1nwt>O3RFN zTlrlLl4B-9E|k6wQ&w%Tl~%4x9ZS?VGm>>R@kX_Y?V@JtOLIzu1*g2jD^wCu@KtUX z!C!mPnl7aD4rV(dR;i|2#prfL1$Qw!cpH?2;HSL0c6M*btO5M`+E0DeLnE2wH@_W1 zj9#pOyOv5gvi6#Nbc_7Kh$J@4JG<QTZVL@IkP9QSH{_9^CMXk&4|*01AEuZZaYhc_ ze}pad#^B@fteN$i@T!hdgTl>H_3Q)mMUdi~P=~Lq890*x31`q}o6Q{tWr2EIE32RE zzKY`Dk6-coiA%+&TcS-h5n90>y3JYG3L;YQ7v$Z-rq8I)$|!y>xP<<1+=bcg8)~Uu z+q6iruJ?h?t#enn*YZqGD)RNT+*VEwke4xLxMb#(Z!O8loSWb9Sr5mjep`3?X4x+9 z)%R3WN@b=kT*hU{od(o-!+Q1_>*<y$oHgUf2h$_}KX=tsT~ui?`E{X{4)NM7`z#=m zXZhn@>tTk+A2T{XVo!N-Vo!?4a0CwONyY}O+-t&+JFtP@g~lJAh(9&sA6uzx;wl^i z%?tv*pq`mAk{p+3gbxGV6G1~cGLx`klMT?BP`swOv%juJ4GP?}H=UhEXE>3<Tc)$M zGY#uxdX{8Vu6-9OBa<>}FOyYY;aP`DwHe+do5MjIZ~mlmQjy;lt|CA58588q9d9Yz zH4lj&Po;_@8MRp+^c8v=pGm*t!O*q8&l|O*Fit0aq+<%mgk?ie|4WlE)>;nZeHRq> z1u{SCFo=LaWmTa`T(qN(L+-q3@eN={l8r!-L1F7hzKVO-mqQ85oRf>j<C1)}O{@>g z@k7Ewq{0r`FPeN3dv`eZEkU>FR6226%(Of6QtU~Bm6$y#sK2=Dgclq|$al8o{I?jB zWEr~?hBzt#v1n*D4mg$=vU?8Q2lCz?pvIYpr2WAq!xi5Jfy?*Z&&c3=3+NE^g7I{; z+6UFW-@mN0D-?ut9y3U}tpjFj<|seWeBy9-5>+|;v2txQ`iDo{-3hDQX?xwDhH-Lb z`!g3|V~$1MKWegztO@`+zUT}nxXH20UA1g(dCPbj5%vu3TD1D3oRS2vc7VuZ2jfR= zV5_=)KM#+cnp>Q%U)GYO*s+e=-d3k}=UM(Lafh-gE1edq16}_D2o@t+KsrYwtt0j3 zTSeoAlwnbu@}N9jwG7Cm7FeM%sLRcK2q$KH3~FMa`jze3Cj1JG-#gx;67Mn9NPLCI z>eD)pnk<}Eyy=tcqJ`Z@v1@{+wOBAbi&M{9uRJNSy*rI|fDFn|i!sGgi-BGMIKJ3D zF$Xnwbh4o(S;nKR`ixpADt;v9V}?>}42~a6C1s>01Jnq$R=A4n0rQ=6H+vT2sIk1E zHsdiEdbAr~#%MOqegxH>oIaJ|8e`{}o&S1(^tu#VVTi-7?<aG3g?oiYq{V#(lGD_) zxp%XdH_W)C8T0H`e>tULg`4AIeCnf<r#vZr6)miCVr?QDl+@0L*Z8!b>k^L#9^Wj- z4_xFmZ$Fj;%p~*N_(7rX5$C*|oVdL`ftkUPVTrVgdDtK!qVq}44LIoEA*PM8#}G!A zw_5?-OXmQLNNaQU^ur-m1Hw@oW56hI{L?SqzCb4jOVf8cUVDqmjq4ap=*Hn*F$?{% z%MqClMfq2nvQ<_AUj*u$A$Jt(Hr^;eINr~J8kXYUdduM-X35hhEf0}J>#u*ye?P~o z^qP#im;yI*44prkBEdLJYv2UXft~XL+_6g#b@rkR{KhJ-QSNI4Q;v^ZP?8h_(5&wY z`9DhKK{c`L<?%${$amV=$cM$=<9r-D`3eBgd?$o8+y}}@Nye&BHFSk)8>d&oh+{9s z?%*45I{uQmJR70D?!lPh+l&-uGo|LIpTIOy(k!fzaI;zUnC?H!?+(Z#5UHMfe|@Xi zvx&8MiSnv<nFAhb;ZsZ3I+~9p&Igx!Lw8l6#;Nd#d-q2++B65YlSM`i_^N)>9BX3G zeN-bB5k8YcD+nMwOU*vr9I#T$lvkw~AdC!$a|NIQDXkx%G$cVtYb_bb8%i(-h}*Au zSFe;G)K2#fzd`rwt)zCZC17-Nx3@WjZG?X@$aF>iVD;_%QvMQmn|7%1@h|yn%-QE2 z<ecEE*Xtpo?B8kx?xT~RScX_RoTae=TNRJVcsZa9h4k6AWqe>70o@23GDIk?;%UGz zESEs=;!UwGW1G({?Kc_+HuOQ#xU7s3>XoXI1WQr0d$tZpMdfD$o1{RTyEzDTjSXTX zft#NC2Jzji-Jk5D>&h1TNpvlLLxzRS|G1Nz{o_5)vec-}mYVD7Sc~buTgfj{($EM5 z`a8AI)J-OaHPt>$jK$0wOgiPY?_2hj`wzCU40Eoeh8s)-ZX7Or5fP?z+Tg97Nt#kV z4lw)Bd7u%OJK#7xX`vVU-bdZneCcN$Cd9xYAa1X-#2>nn%wxBvqgex6S6GjkQ<u_n zY<UnO7p2(FAmIe4`kNLT8P2qG3$v~Mv(5wAL}HKQTPE02kF7;SS!GN_j*orygI8dH z8~BV6b4a{9(kSF%_j$~%&!P3{=ffxEhe=uiHMACUTQk?s%fhsmACu?ZElZ~xauNbm zgXbAo42!Vn^((^xeaEw+)vqs>hejEqYqIQEl{<;cY$et2%a4MvEk?#0rsNf4#^;g? z$xjEozvejDxyI^AH%1>%6;Y$?9fZD8!k8U#BUaXoaTG+&5ql?7Yq2Y9dtT*QT~~!k z3-Y96i)@F|L<Ph;{T<@(^fk}`2q?6t!Q@?CgbALw;EoK_78-2;(Y>O$>OIcwEEPpx zF1&hY(nEPGP1IVe&f}EYiRsyf7PayevD=deyUlh!xz9wToaV>Be=X6ac9Vru*mvK1 z_>7>A7iD5$79y&NH}o0l^$jgjl<w~m$9^N;Ob~q(!AEV*U-(dZT&Xg7sB~}hhQ<>C zXv~(&!dpO>aQ9h&&XdYV*~la2#v{P=RH`8yN~nBO1PxD1s0?P{px;n&Vpu$(4_N7- z`S&h*_~hZd0i%P;rkMi78r?zgNT8bdx7hJ+qT%<9XZ|>EhNi{LvOiJ&N1?=%TX9^Q zakOvisaZZGFG?Yn7P|75E1s6S!p@_FRm{x2AH;YFN7KDrf=+!g?lmn4XDV7_`|Wu4 zcLfs?KmaNd%9{lhXKx{7#k2E9c1jrQ0@sB_q1;AeFP(~N8ci=sv5X4rHza!)93@pT z5*#!h75+>l-4>Q`vbXv+HS%Meu045H7Vr_bhld+^aZLIqE(QkVeg2wv;5)(oD5Z~g z=3De-t%?2bN3)ryZ%w^jS4uXB3ZlpXA@PyyF5skEGA#i53_8Ie<q|%lzT~<s`fiuV zFdSmBO=@r#(5jMJT~sg~bVp%N?lTjb-59=%w~>h|7F<Xz2qL>Hw>oZcue>_tC}516 z`%Zq0BGjj}Uwo(+>QftFQ>lm0RFwJ2$cF6r)T&!CS9hI*=k7swo6{+^kq11(WI$xA zj@|)P0bw-d&$5^K6>u^WK1F^=8t3EfK$7|hS~lmltQkk5ZKFORY2j~QGop_TS1Y?# zuw=to@SSuL-KdSO$u@R-0W_cPs9#Zx`$f7MTPk}7M{9$$3#ncXzZ3#_k}^^nW}ge# zI%7QZ!PN@g?_&VoWkxAF$;9S@zU0|tx2cnaJZ=UZHHw@)%9;a;yIJedfp`1I#WLA_ zQI7-F9{7&;VzPUx#a2dd-ZUJO!treqYnl&k&%9c`Y*1lm_?@~5uzPX5i+cMz06`*H zj^~0o;F<}W=(e3G5!uaOy|U`GJsdB;p##HNic4Jjy~1W|)z=emj~HpFx|B~1UhePD z)o}=(I4Eo$TDMqtT1wqGse*HFx7JsD;FBefj4O;o#-Su>)5#PSBUalQ9uWksw!#V- zheqYrL&h$(cXJ(%HlEfzmsP}72g+X=i&%jAe9lkLxyk7CG^cKEC**BqUU7up{INZ| z2UMva!JwnoP;8&8BLPBO6KvOZ{mGwz<A|WFILWWB)Jdr<NUYCEc%UX5I;7W+CM|0c z;2zCHK1$`$T~=tYkI0YCZ#1N~Nr#i>6+pNn5J8F&Tap;*_WVnNdGqgOTmWOrY4&iO z`>PVS0AL|uWxvyJP!7bELhm&rAj`RTdm5@7xgGN3#I|M~0Eh=IP2aIEkNs+t74vF< zm)K<V#R1P{FLex_>Cd}86;US{7qRM@d3lYGyKck(lNVf;tok{&RntLu)A`$jnL7~N z>_Ped(4~TAREVIF0?<>B?OYYV=4!2K)WZ$5@LO|@f(4p&O16Tiiy83fpVPD|ncR2U z(noCBRzds306W8;lzC!IGnADF^uHKKL1gMdFUR1oFD-l&Xo?(ufdLw};L5n^JDN4@ zarTyj-&zn}8n~ev;TryE8eQo+rdh<C91msS?FWF``9^{z=kxzOx+tWE#cG!IWz92h zXQR<1AZu!?-3ju7wrhgkY*@P{XxB7;FUDfR6~9noEIxyY<BnmMIRrordKx+Wsi5mw z#qd6Ejz2#KHogcqt549DcbBdjV_uBpC#A{;-m^3J<!NqHGrCNp)3eI5Cqihw(gVC6 zh~!?HQ!y{-0|os!^MI5D#J(eG`FfMLGj(*<#KrBY*cPb!j+a0pJkpC{7ztRBM3Sa? z4}vC(w%d{kHHHATpv6xX*wQ~sJ@GrLGHlPkEF5w;v^>{4i=%j(FNV?k{#WKu$cQ~? zRkMHkYy&h%g{I{;RQ(3A@8{xn%}5vyNESh4%Bm*z5h9Tf!aa<}252_0Cf;?<54jh# z`ja(Q@`;{fEGAFvbkj()y*cNY=d(JSgR)QQ;4!nVx>$997>4P+p62cU4&ZXz!D@hN z?|<Zhz7mW6o}m9Jl_w0r1I_TOmaZo6q}zvBr4FK1Bcn5|*<xcE``$u!vgQS#mAatk zrA#A*F}I2sp(StP1Yz-lp;Fu2WKzW=1Q71c&Z~IgB@w#DO5cpPKO%61%LRXhuZ!tk zeb<ur>eU7rrTs!yVYQg|1Ro;^mcKsR#WMtbtApeRWHxQ1KHg)3uP5z4lfghB)zX6o z5ibwuyEp-vVvD6>Ngl$4z4|sOMDZD^DR6)7MyoMX*<`QMUn^3RR>6d$Q2bd>A4xzP z%->p6-mZK^DBU)f6DPO9I}BQHL04C}0_zb7mlUa;Ci0$sj2NXaht}E5HnsA#N4N8} zUx-XrKOFMbC^(sa2*b?|lqTh|p5}Pmp8#4fXH`aw$g1wC4&uD01wq3f2DDHF`y=Tj zyGOyU(5M7)QX#wp8dHjE2h+PZ2NhY(-pb`QcTI6gyMq?Px=y={k?#o^w}L=*q>7yU z-86r!E>Cmzpd-TEFLF6MU%ad>wapV+o~X8yGp{zV-Uymi^DE|x))xxM3<%7EIx)LS zOJ#8pWTMFq0oP1>)i-#bfVA~jknSV!X6eWDr$Pa7pK)$}5Jdy$)vk4!jPEM96+3Pi zepi+9F;HWQ5hvH&?b7&Et<mjXaTj8@{Fn!GzhPh8T3dDXO52&zuYow8RhFds4NGxW z=QyLmlevg{kqw9@`NNg((2`1EOrh=J@6*;l2E>8>kJ&qs7gGnnl%9xk4ZJR}{$@Qh zyW3j+c}!`<26Qh`t~?MO7Ji2eC>kShEj{MonH7)`i;8S-dm46ELZ&0=xwabdmB_z2 z+8J_sE=T*QgTesgST8>%bkPtQlcctoRkc#81}#gH(tBzA;sp?CEZn90TYo?Xh<3vt z>lrzSkCWMHf&OPMO${Z?wU}|@0lKX5`(?Qq%gzu|OHE~`TsGsSHjpT{T+ix}isj)s z2$u657vj&_pFwo8ujc<~qC?Bhd_z~0u9N6gI2Eq@xW8bbLJd<aQ9Mx(n*g#THz%hW z8F5=_=w2t`vlvP%=bSG%vZ{T7pN~6A7{J9Rl)Vco5q#~gX>UPek(o_=HXR2*^7uIj zHYGnn%yUFkr*`fe89;a#W@K<<HOicq^$aCmq+MDTVfeg&Rz4xWRH-C>YgDf$JN*gt z8)MW1xfkO$dVC*m!klu`$hLL?Alz<#As~+09c{!g%zX-rhbb~eglK{CSX8nqMxK$Z zRlO3t7V+#f<D>R4ZN1PcmSd}jeNLpLZv2+|e_AR$g_M$0kuj+;kCpOhRP7|?28c4| z)EUP@<F_)gftHGKd=TU0Bir19(X{kn>)=v|BY?0nh-&PSG6+gy_m#Pm5!I>Yfj7Kl z=oumod#75XVI}e`bTK6z%_P}DnpxK7Zlf<Q25JWQ3nNKMtXJeo?SQ^=@!}7blO~yr zsFXP_!!Ugy`85qO9aLvwAsw7x+5NF#9}pMCv+cDZGF-8-@fAE8dB|PU)+O2pmnea7 zl#ajQ(-{dX(~dA^Veyl#JCG~YHx^c}lxB$ySIBgr$R(N&-^_@iGh5G&YL=n8<y6;C z*m@i>ilB4O(<M(AOJF0VUlzgpe3vp<YM{xBf)m_5HucY!+aGP@W}bTy*_)lx+WO{} z9&h${h<Yo=d7|!cs$EJMjtyD$i!6g;G|FcJ|I|`%{b`CGO^R7YXpSggQj9874?MbM zhVJw$+d%qq5Ufx77=)nfs-fYa$L?BR4m=(3fUtusW!GG?=f+FApq>lk$(4DZlm5+k zOML*76|<ZBYaN8$v<6TLl*=ix4+t;iV(Z=={!*E7?*6#CYF=UHh%FukI)gktwK{pD zv5_WlC<kSfG(Gq*WG^VV#^Ys20~I@g(7o+nCD@Q?@Z@?!-m5@7=?OvJ<x@J^K=lW@ z0wB(5a};F7yxu)Ikc4+rF+tZtx30Cwga|y6lL3CTxUo`N4!A7vaEGDpKx0J%UNq4v z6Yd{joY}pp9RGnaR(kW7;)@DbDGfCnW3Mn9@CYJEP}17SI(0y>mZKE3z_xSR;fOQI zv_`(lHp)qV%fXRTx2h`bcM}78`OueLepX*@4I}cN+<x80=@HVb(e;|jgO4;D>B^F| zpg9qGvP|Cu&zGz9zjxWxysykUj~&NqF`Z|o0F=UGs;+R^UpJi)A1c<;<{U~Qry3gP zeO_D48isp1v8f*mttti&;mSp;ubU-<-V(9@h;aQCD^sy;h@j6=C8sXBvjk>_N;O7s zs*fmiE*K%hlZ+8Gwz<TNfl7QuH$H(<RBOCq4n1N=p;`%C+js`ZIHgAwWiG$rUPEy2 zEo2+Pq(V_bi^SXGKQS))9!F(|<e<Riw=PUuTvA=P_F#r9FOXHApy^6V6bKZsDc9*! zdw?BnbM$h~0*y1{LTny!!lMGZ>+~-0gC|B~<W_F_Z>%6(pzeq*(I9vgqrZK8Ty{g> zZQwQ4MTTO*w~97SVzXY5r`aY;;9-j?nRJ_Yl-~Tv%FTQz>O&ec#}}L0<9C*A@rsjA zw=j=r?19PZ{gYE^WA-c~f-`D6$^<f<GiFX|XI-sF(n3;Qyb?P7P^)mOkx9-Ogic!# z>V0vo%Tg!5k>f8|4%egCSSA;m6dZK5_T8_UY|x3zlh(w2T9S{NX>XrZ|As$Uc;sgC zgQ;+`^mf$3PWdgR%hEy{SZA!nAg3`verKwOsZgPyY7BhwU9Fh$H!|#hEpX;5H6nm9 zpkD?Xe}fVl>UF3miw1+Ib+2tH$R{RP3XLoP_w$8{3bDcty2*_f)Y2z6$;R3GT2<1~ zpk4=yLd3X2%>$8C20&f6N^U$DNC`%WK=D3--n=pay?Ymfk+9hf!r|M<q3x2=XzCW# zK(|@7O6;>0kViv)lMN3K<D{D`k^SW2s%iLwEl^BubXO-hGhw{<JXF^mxLg-dd+Q=a z4vCPdLRPq#1*lAe_Cn}sR=BK8Dk42pk#&F`w($y<|0dx@B}FAS0~H)RFaVC_i=?dB zZkD#9xv~(_2;JrxRh_C&5uu*D?mwnSx?C)79(^<r>K_5`d(V;zqcW(JuEcQcz9VU| zamKk<8$&2B78GDi=+qWvvzDp?FZjt%x*rnXyg|aZ0l4+~l^o>Q-t1;Yf6N5bX}4y% zBs>S(NoKhtbumx_LO(aiEzF4RJAELRb(3$O=d*u=a~rY0q=()U5HPo%YJ1h_sTUA0 zTWeiozP@nYpRh`RZBsaf0>&d<4Y8>pRRR&v1ndtuj^V|3K)%bT77;9f=E;kf#er>! zl|+g&S!9+dFg}gEVM6&CIJ;6fv{DOpm>NSfWV;2mLvhUKeI9DBF3nQK?2r6xb7d5W z%IR6wj@z*9uK^5^?*w<-6c<-gk(F>0xDCKTEL)HzDN5`=1TCr{;*Ng$YcAY?*ns6o z{bce((3NH>=-d~@D^9HaAp;Z$#ZmD7Al*k%ny_9f1p4F)c))T4r$7Oh&Nrf(COBdV zl5hN8g3lLR)|@$FfL3mvNW&sHb}R$*eLLMq<K-w!e*l{Q(WUvtN+*xYn-ba{5oF)A zBlK*IXw&|jIG1y1d{<KR2CbKxBz=QAZbU#<)sPGv)n`_B^q|{6F7$|*reybv#&Nr- z+do2ABH``FV%=L7BjTM`s%OgP2H<7=uTQ+0f=gW0Bz}B|-MwD(1v5A|>Qx^KJjb7$ z@GQVtjrOyI#Mt#0YT|rGM45xa_P`Wy43ITjM$Z7ygB__KEjypxE1uG9^18jLR6XOv zvw<SUXLF&HpRGOSFu=xQ%S6zNECQgCEelt_qeQ!i?*Gc6+;IAI@XKp{Uf)v6`_}EB z0h2MkmiUxMa)L)=Qa`Ckq&T9ek3D}6Phw`GC9eGCGI&kZ10aT>cm!tEl>X#iU%L6$ z9l%f_vYE@Y;j|yH44;Qx52$I?Y%S|1!&)@MM(Hyd%i-&}%gr3Tx5BE~=rgJ=4?yyV z8ZL$DLt<AqD<Gr`93<dHX3it0>`=xaSFP4t#leFToLje;Rib`Q6HZLX;372&1n(>Q zRWZ9dN&rL-S#Bl4Hr^I2#26E2);#9B2bxu#^x4AWL$4}PWubkuTtB;}L>i*SwU@xl z(2XtWdN*AtE~)#*7b)RPVgV(W)+lLBKWS|VUh%U|JZ%qbLmu+=%0s0RwexTs<VinL zazVAC%)Sadb%6$zfp>IeW2t_{{qGXCc4w@zff9F?^^M#n%x}?T@{<(?FZD|I<zl_L zs}ApT>*cpK^}ALsH$~e&N8Icc6L=t#t)VQs1j@hfq!F)qK%I#t1iBUsdWwBcbxb>G zy3O5oD$Q8??%~$mUlBB0X&j+@WkH=^oot~UHW8wkAia2M;B=*T!7=BPx1M7TBa|g% z*_aU&vikl(T!+lf^j|?>-@+}a&piMkAy$)Du0xo*695mp^$B65i0gIpGAV)eTWe?Q z74WL9pdm;ikS8z4b*S~40)`!2PI8L!mGEi?-Bvj2>#Ri7#Rmi*mq{av7*k)0NeRJ= z!&Mj=X0(J~QZ*HK)Z_>z3HodmPz}Uu95U^B<VPj51|yKo=9k)Kv`%OWN5hgEv~JWC z6<8V2L~X@Un;>3I7<@Hm98a1LrpJ%BX;pvz-@?C@y?hA^5B*0ujLnK`!Jwab`LqqP z?Sz1CmR?ZIJ9O-MwhW%FP)OpdvgPq)HG&sqjHaBLNTqS!fhvSDdq3S<D5pK*NWy#! z-p!2;1UEAHR#)JSMi&*6P_%jyW67yatr2TZuPyf%C@WKgI%Z3s^|yLcja>1>5wqKF zvr%8vn_Hkd9rAQhk5C5W&v|f$fv`t8o{~P!EdDQy9~K$6L2MwPSO0TrwjJ%93SSO3 z+g6tk4cCj_QMpCVU6AYC1e&BJxM!DV4H&{DCE7W*^B3^-NkteNBFP^+FoNQw8BC=N ze-Y$ptL~cW3?GbBAtoV+fhTk1byO~5diCv5!LI)ZhH_j=M{Xr!>?|u^a3Ha75Iv#= zTeg<;r{ny@-2XiA_FS@m@~i#QWSPD|fp+^Y%$nQc)T+V2*XvpTjtbw}>2*OKcfzr+ zX3b30`d!D6GMGE(%(3x?=<|C9W%GL4GzORg7v0Opx4_HqE&;dFv}JW;L@1@jd|7SN zbes%Gu!ar)r@p-$ZA{4on$7{>l>8v8?Emlqb|D+B*MI3Vc%xvf5LqLYN0(*ITpc&u z!*4ML4hQK@tg=F^$$2;H-z!2~lNskOGtD$b*g=CHjDp8()zJbf{tsou%Zz-pAg`ce zO~~byh_<v&RfG(k>*IITR(*{dr-F~cgAR<n)1x$mqBKh=#3tW(dt{I{CX_f!o5LVF zSn}fB6^KjGa=p@?C{-5hQkSzsewwtpsUqSrPKd8&r&<gk2?Llg0aDO{g|2zfIguu5 zJRq^})6ahm#4`>VW85zBgJq1QaUAn{Sy`eI;Oeq@B(vp?gKqP|z>AT9=T6#lOJN3` zrPW1Lt*z~4{nr17sc#I(Eb7{xnrz#4%}km&*|u%lH8o+f&B?ZH+qP}vJ3a6B;{3Vm zU-#Z?U+co!r|WAQv8J`_q|`H&slQS-`Mx5Szy7}0>)AVmFF1V*1Hw5&=b?f~w34)G z+m*`S!fgx`iEUx@`^P4C9T>}Sulr3M89c6|*2Ru@b#3`ucq~;l1=Gd<JI-ut23)!- zs?7)P*LU_qp*H|;4^VD%T&64SDtiHJy%|u^IgWfO#-h9Fp?^s}bNY&i7Qi3M`lnpI zTVZeDcwH$yRH?-dAU(_BHGhItONzNXwC^5^$v)TX2(E`lM`gyQ7)zcdI3>cIUM+DL zxD!Vc6vHjg=GFy7&&AMOdELiHQGO%QMjh@i0CV7Q9w~|tYl<v>kfvuUvep4E&s~!h z-wQU4*i&FcG%9Z7qRAFh>cGk~Qzx$5RcbbBmTDHkwHBWkX$Q?-Mwu5T+ssYMH^}tG zekUl;ybyM~-R+A0Mw-a@RX78|O?6j=daCZR0&h3zQ^o!oj-`^RQf%?uh_-O|wI}?v z3<(v_boPWt$VV_mSrBJ~uYqxXl@$z`i_Vt;aAv1(5YP>Xz<U9_>sDeN!hL%$d3DD4 zKsmy`XH3xl*){d`xhmgh!R`1C&vhTzS7fT(PIXKFQc_0~O7fmMYwS_RcAvhnsG>yi zkW<lpj)Oj1>yjnF=w_r_!^1bG^?|F+YLC!vwpm`l6?wR=6tAybim3h?e4#<;xz|)n zAa1y~@-cs}?k|>4I?4Ju;$QYZBmSEld1HO<s+c~y27=`cnZrb57=LCt5tPpy^F#TH zovwlVF2KHycAL8a`)#IhR6NgN#i1NuW#&+2&RtrJF0Y+W4^cFhWkKjrrJQ$7OdqT$ z6>cn+d%PF(TuAoaqKl@kw<txgk&JqzlvWNr2)LkCOe>w&ajhxnlunh$3c$I*P{lF! z5-<j#?c7weHk^}7Z%OSUB~@M`wO7nRu~(6RNP*tuStR*>Ow<It3+ZMqV1!qRm3jkO z-r+qIjOBHgXZRu4JTIPR2-8dw5wQullTXVM_s^+KNsIstoA|r^E=Zg?V7-&bguv}v zB;pUN80iVdaIsuJ4kB>_m+6uz44UMhj3+mknO@JQlz8RF#R;(8qAY&;c|HwR0-B7{ zbyp%)#hbuZ;iCeB;i}2}-6u_VwK<|C<&WpylW*EY{sZsR0cq?jC-2qV%1H4CozKVR z<>l_~uAd*M)wPBjLw1Xl@|1z(1NE`~S9PopD<@BnKr`@NS_X%%4Il!CZ#UD`MNJGX z(d9U?IVM~!_R-z>2uuXrZPLIFyk_fI&$J1rp4$2aN3s!-LC7UwSRy!l{&N_YNl5qU z<1`)KbIxh$L*WV=9X_^nHfDObxlA&HVj|Md?=KW<A5;iR01`?-Hd#yy`l>0J7#aA_ zd#=SrT?4ozI1s%*;OqooZWNWlhDmoFPaP9HPj@bv;db@uRvixGPHo;5ZT(AIX&V>M z+L0R*56ujuq@+2fIWr>Cg(U@1qH|njKDSFOZ~aAfM&>s_CMS_|${LxzWeiiCEiD^< zr*Fk9U!)@>*3?hvUP9c4uLiEUx6V2{SJ}+d{EFFN>#0~P-K21$E;Xq*#K_-nH|uEA zW+Ob3p%g7D_P7)!$_R}(&wnba`WK?h#OwR(fx#B94&=&{xswKWlYtFBlgGKQ%@*n{ zdWvdr;C=&sxyQb>Qrs$8$q;I~stQC<gLH-hv#uYmZxe|%8Qj5=+a*>e+tFUUttLCE zFm#6E9<5KvyaC7o85tM?(K-jn9~J@B=wk?Uvjl^OP_sjC=M!H~mXI)cw(*;5Aub}B z5F_EPDqK_XsG<S+tA(1OukERvBHp$j6_^<4XlS|IPocdh?ypyfj2~6rw*?0}lC7r< z-VmD;M;{8Ak>an072u>4*CT#nGpM{P7x6Z5Pcw{}5A9p=D%wMXgPZ#j;^GMS9K8-z zBv>*}`EzX<qC6c|(*w(7=^OjH&ncaU!;x#jeI6H`RYcaNvs9r;-bxL9nWwS#Y6H2Q zKCQ7INp4!1vm>1J93MILRiO;wFAhOLAGaGd?^tt+@eS}Ip5QvY3s-slv4h)UxtBA8 z|MN&dsN!H_V+%nv`H4biyNVnFyQGM(#=<Y7#jPZ#!r`5;zlA@ln%5t%46`(t%fXv8 zfzo&tlqyV#2A@O(m0TxbJ}><xmDT{=ztmi`OpC5|8eQJCwNSBj`H8=JS5ud)RlJEz zy3B&*O0ISJyB({hQX8Wt47kw)hWL4MYSFXe9BejUA&O3yIvQefFF(}2B8xe`EJnKo zetcdN7lKZ&dQKVW$0G)Yy3Uk8(@l{U<R*j*l_LfP`=Mf9EU|M%IDVcmldPeC)SMwT zY)fQ9ZLgxqf;l+B7(aP*+UfjPIr2DIdJBKIyg^F$T;~=l9N4KOQ;rRWLKKfZbKxdP z?W^v*L(FXXyMA2+VZ?BOgv;e>15TIo)k-~q<wS_Q$fPt)8}a8Z84Rx*VsEus1H)+n znfa3%VQKN^r}fD9r$-sgy5r>8hnFG74>3kMwd&lgtly~z$Pt9R<tDw#sF|Jc1kO7y znGzkP9!4_@oKMN_VtAmWN%iWSUk57ru_kUU-042lU$<rMq}nUrvTv3dI4Y#B_wW@o z?!-vII3|9CTx=tV>39)6sno>gL=^8?eT^oIs@RbTr;P5472PU`{+}liu9Ert_wVNV zFy>>&I4aG4qUcV*&Jstj13&!~vJ*<@J-UrXRcA+ka)TvN<5YpCmZj-9v&FF1dPP%C z2vA_j{la<&8y<keBKS62{&gT!JRqdYAD%S7tGxR>M^73!7{|%b8@h=wK79;~SZW%= zZx<c!@E&!-bWs#8#Zgn};@3jY80+~wB~F1#%xCcve9>~#b8Q2cn#YBuDKrF{gE}*y z>V9zu#-+;~ZV@G?g0gxq`BTtPlp}_exOjT%S`I4nXncG8;!l*Y!<jf`?h_6ETqO%9 zA&t>cTp6%tB2hR6Uoi6ox<Vl&e+5om^)&T`TgnBn=(or^>=GYVEaI`}Y~br3cztyV zedB}whSunGp@WFeQEO!9eQo4YHbz^>o459z>0t@;k=$kZbawvh@r@j9wL@%*i~9Wv zulKF^`E}{V8*`o#qxZFkot>SS*wA=7r<;E)rA#v=iZ<;@Q2Hz%Z8@9q+moabuIl?R z$GJw7Lwyv)4B4*zRl#%F@spr;3v$sIC#BXbG1Kn#E9(%wN3OT`uj%-7jP#9r(#vbV z`l8G>wwEIv2LteE8Iv6=0VJI+%qu6)qARj$R}|{k&u#p#=Q;)?K^S=8g^25o$4r+L zL=C5YL(}|4Lpg#Wfe*HP4fu1Q-qL__(^`YbA{9mM!0mLif}k=WH}_=rN=&PLVBQKv z?i-!b+DNMRk5*N1*1-n1d3WY5CZ+DiFWR~{=NS<;tQ3*I|ASjw(VePf(8+c#ic2}f zMunJSIIp6FiW+fbx)7FXqcBKmK!VJ_VyDGbt4u#t6OO0Q6;r~Gi8RwzxL@R9NSwGz zN@MAW?fK!zr`o&{7P*h^WY>37jPA#^LY;+?B?<+Cmky_?zHteUs!%U9hyW>$RDvqS z=}q;@&J<@DlXQ)kw72f%6oqvTjUsjTW|rOG@RQ)<I^w+_s81KYUrhCtc3*afVlB3P zT95yUc|4r2sqrq?I|~5YdbWBM_@4Y;)Y3pVUNHe#j`i%Q{b9$)Xsy#>wwJ>@)OeM# zkoj@b)o@S9>zyXz`tkPA_MA6^`)qPGIiz~j#(3bKi9_v|SqYA+UIQ)+`cykx(u}dn zoqy>|Xtc&kb~N3X3%f$DHOYG9=Uha1k>PgJc`I`(-kjC;mGMbo*{MxA;&JKzF4aYt z0^Hb-fa4Q(vyCWau7y0c-pD6i^}ib%{`cc3{k?M<fZ#&s+=O_9V7koY!ut%RljHB| z_p@1DS@Weq)gk_Z>T=SgGe@M9v&lEQ{WJ>}is;@y8xSxG^Se1QrpnSo)Lc4}@|S{$ zo$<oO+o9XnzT4H~mK=48b~Vs$3zvsxl0=*(r&3Si8$qi;7Y#?V+{(FALjA0BqnxD& zPW*WY=3Ey`7>nQPs|RGnm9J+tt(c;3zI#6jK@2>vBgme$OeyW3ucdJ*tJNHCE^srG zQj$@GOo}?l{C(HNE2507cy{tfXZ1xlOxNEyJ*w3oD237ClYYPEIAY1fT>;n;K133v zU|fG(qt{!T-%UNCxNUBVG3}>5Hwpp=e!5*uMeQ<gDbmgFh)Nn*pK;c4!`g}xsrk_o z@89BcJS)nL>E}^0KT3iE1<i_GqgF<wm-y)H?Mvx_xvTi{R9YIMY)8Vf0ez4Cb2t5O zZ^>IGTvEG7hGa*xhI(juQKCzn$wXtliC*Hxfw!CJb)TT=2ewDDqjqX7Z427ki(%b^ z*?(`x=jZI8;qN>EMyEt_tDM(=MgtAb)HOqZgoStFpW5=ZgJ^Cgwg3rkrZnNtf6h5{ zX`O>v#L>QQ!wK9q8i<<6Z1z$ecE>Eo7!1a=YFoGy=bfT;wdh#T8{akVkZ&2<i7#9E zlybY*=0e#|Rr_8BXl3)fVC_|h#|%s=wLLl6c68;e?N4@p(zqC`^_1A*>@~jhF^5ws zwkWa_c^ya~|M+mc3Q$R+Q}*|mF_o06T4U13X&C<AhtuvY%|8~cfksFg<ubrT&rq*F z(!2Cm6Mq>&gpF9&6g#9M7Uan)h}2A9k#wiA6vu+BW%lug`VZ9C0KQ*qvTd@Dzm>WY zx`%$mAL1bTZR#1{iNg!x`Srn$a2pJ_vScm7kD75~R#m>3;tedlhZHG3K(S5DAWQ1v z>k(zj_8ipoHkz&1GkA+r71AeQw+yg#Yp?d+XMX&1?7kWKit5H`fECMl9A$48v>UoZ z!#8Y4+ww~EmO`*TUNw~HJZkg9bK(MX1sfb-m;e3bP!NBm3l9s^4|sPvCIqcTFhVz5 z&4TGu1dDP~_y|kjo>6y1MHvc3n4G@k5+F%6pYwz8EM7P~UN^Wt$LcSpe{$sYRpp;m zZP_M{b^U6y@}`gTL7N{a2r&gz`cI~54Y}jSf~tVe!?ZC8#eV8ud+mekI8G88s*XRV zGr`teEOjnEX3!*H9gMr5FsY{Juh)Sc-q1@F7m>NQFGZqg@f<D?;!H+|Ms!R_mWr-t z)>s8>Bvh|c>$VWsI;B!ZJBjioaAxBZ#ZIH$*aO`}%Hc9fl^JyrPGf|L%uK1A8^v7n zq>G`N2yMlKW5J-qOX7`WDYpP}4TbBFm%xIm;}3#3V%5`0wDX&!vh?mrl^OPrTFux} z0}&)&w;{NYtSylsPp63_b9SSdBmZALEKlVI)!VkpmqRubjMHbU<9$l+wp-Xg(-r6S zyZ!G&m`<YQV2lc>E)0KhtExu~LV4FPFLuuGT6UjX*do&I7qU@mpg)_;e?Q>@{~?A# z(CIw(-5S_UZl__uYAQPu<Y|p}t}E0yOYp2sNa3vlp!4hr6In|T94_<0^CrVL2>C;~ z?a4mjSZyvV-pC$az3nT{S~31O{e0A*YG9PxeMpRbc(|g)_9v&{R{Gk*&4@+)Wqm9R z?E%MRBl87~iCR-uN<5(U$n(o{Ax1R-g-F2=%_R?!Dy<6j9zNn-^Ft1ekcN`@I9piR zbymk*W2v|Cf}bp845bH~%*W~CTeIG*Z@~Kds;6%egp9J5X&irDlc<V%s5Mk73{|wx zqZwXF0#l!<Z!v@(jyOom<Z8bD0#F)y^UT2sE&5Wao?DINiimdI+H;h;ze}jTlemw& z=*NviLk5a2YBQ6>VOmHu;-)?RT;oni5T!GHw<zoH%3cP8t}Iu6JxF)u78LD|6%~+1 zZAfxg8#qn97-@FXeV)^bWwcE6c51lASi4>U-dDJ3V&DEMJDlf2&v7Aed2L|zcyL|8 z+j_!A?cCe-KLj1<5?g~`BmnURmGyvt=di{DF6<5|oX>huduZSSz-te$R;scJRsTmd z_gg>Z7>@rFo$s;QTJa~5w@o41MYkhWc_2V#-kDLB%8}m^K*9?4H)$X^yc7lT?h~LW zVyVhnWf~7FJ<C>E8BiksO|=g!@Z`oH>=K-2=bO=>yx8s3toB-rHC=p{KC4q1>fgY) zX1u%ofc823&7N(}Ykki`pN!niin`VL02HxMDNDJp5j_qQU)?p+m|pWd@`ELqNiL~8 zQrJ+x+ziWhEwmM5J|b?nJjtsntMWXe2~;B_SeQn4b-<n_s-&=TgJhc4kCLjVJG>u9 zh0FTG<|7Oi5|1vcvSSx|Qqffo_Z{%jPDz5Jq}A#g8om$2i<6If)-N^{7ll-7MaiWA z@@v}naJy}|f(4T4%o67qMFNPwyZYR@>??zQ?@CvrbRl$5XV;e)I&Kqt6}+CB@p#9n z;haqV?Y{{Z@CieTtqb&r+1uOqD;V^UGZ|{C%w$y#@A>9O>VP#7VEqcew*XL7V||>t z;rzJFhsqY2UPY?6mC9%W$R#5y^;G}aeDwX2@AfYaH^5gaBX>aho|r&axKOCUQextD z(fLh9tJ&(f6*vZF+Z6g08HM^;GM$4&0o+yPVW~@ic*^J6U**6ecj_dY$oA_K{z3tC zPzJ0hfaoFBd<yU2JaNiz6f~=rf1RuEC{=zny-%5_^oIAY{uHenvLoF<;o^gp4GPc6 z&mp48LYs*KN&Thv1A0}6QPE>q#(SfIC}<&dm7qHRkWRgGSYO+-I${-K9?rurCh(#6 zOJ;({iY(8)rMb8Hf^VF}c4foeM>$Tv5(IpGX{yL3j|CP}@Pmk$+zOL@Bqje_lUr^B zf^$qN-zX9*10F`#0VH}sWq<dD0>gRKUDHeDkc5rf?+vxLQGhZ58t3}M-PNgKAYtvk zY*&J_d3&UDcO-QA!1K!2YGVB5rJdB+Fzo+4$NvRJEbK*UCsVI?FBrR)KGyF*HGz-r zu5z%K39-d5eU^K=I-vV&ZUT1MbjG*ezHz!&LLd2j+}VJb1v!My<txQUmv}^~A+vpN zx$6YJ(`>%e(%BUN<~6KkEQ76`qH`i4;eK1l9#>2NL2^C39DJh&_wFQZ>mADq=JNY3 zRwuXjegm|a8q?t%j-u<q@IU3mnYPgVFphGGiebUD>AlweMxh<Vh2|jSmV$roN5?FS zL44mSl~F@;q2rS9llo<9p{ux*8;2S!&Ir4Sa&ld@SwvN)2r3?Zojy435Sc*_{4jE+ z+Ht6d(}@g@DOZ2}W{@Cdls!`@sqs>67uC*R<`t_setJ421$C~k=wC`-cFH2g`Wq`$ zyrq{;X}8U|`CBtMO2RM(R<8G-==Ve)dT*!9ssL^R9Z#=~xDgIxZ9sp<uzQyuaax~! zm0^4u<sMoeN<3Igwm;G;ap$&kJyPei)BiurNKxZIT(z)0cR!PIJ|28d#9T5xrEY)i zn`FGR`O6SzB)T;~<r>=d`*VFV-wS9+Svt)=YhF4dr<(_3a79za7VYHlSPk(2!(zHX zkH&=NYS3la*+Q4bQm{DSsCZJAYt)8Qv&@?1r%aAKu7kbd;cdsqbAviVPSQ&L_)Z23 zTLh%q^^v#fIk4j{?NO!5ZQ)D0sKQ+)szFn-Kk;3_ZTeKv?Vg(?irsgcLB$o}pw&1{ zNn9eBRHN<SpPiU}+HBF%E%c7q!li#j!p*~{2bn@b;6WHS5KtAt+5~F=U8qfU#s=?r zlqP4#TLH3_0A>VV-w$Vbxa|B6?4I~A3lWa*`XsCe9C?Dj*NIiGt9%|+U7+?cDobQ@ zN*n)i77#GF%NCWYP$<a8UaKH*A_#L#36GEkUk41WR0BQ~wY5<aU*i9jxbwUpd-1Bj z-v!N7oF@QFZl>ZW-QFlLAO7aH*lNR*;w{yXd$ZztIl@|`;z)h^{PrgH^f6(X_&)+4 zV5m+1)eamcJ7hj)#v*5#x&aJ9M@-H|83KxWTHSF6b4vr@ua^+(&g>13yAf^5gn)JP zJcxQS>@QM{hrs3hD<z+x9G|($@wK#?nz2f?wA5Hw-6%KKP4Cjy7%;$W&2|cpfU|;J z8amoD3YaJWuAt$rbt<CcJU>l+(lQ&HRR-M{PDUIi5Vy@>X3038Ym&$?F6JRU(Dqx? z_h)=)*ahBay4C%D|2k3Gt;&f=cA_ucl}f*Y(+V-7QiINvtrU8i329f!{N>X-7jAJI zjJ7R#YiYuXx&vXs6|WdNvPRlbxK1a!!ju|wXZO=93s=h!^*khz%tN_*;aIyDs(yjY z-v1*s2x&Y2x^IiC_Y@+aCdA@{)}P>1bkJ}~Jec}Ixz#&7z9G|I*b{9#S_UUnTMrZ^ z&CoM0e7s6=Myf5Q0NFy$@W^#?FeqbiX$ZvYVV#J#y5mIbPaRL&sVA$M^5YbDw}Q|9 z;eAK^9`}+5Ii2FNe;0W<a<h`Fvu34q@l8a<k||R6{~nn5|9CLZP<zXn@|#v5DFBe# zG$rkexKkoO<D~|FFIFdP0=}$rv1uomRD`6(lvJg{Rg@U6h!kV$_4GJqj2g9)Fl#qe z7gRPP&3YLXwMweK;W}~4peJConk$_4e=C-%I);@w<3OSgumkl4U`EgiSiu4q-i!#7 z-6m$G+p=D+$4NyQf3BW6D}@6)-c@vGh<XEa#YyM}uW@ty{Y_-ud?u`O9cL8Mp-jmg za|~(X7Jv?yuRdh{9_rS{=EvsvM^yZ#zT_4c5_tuMvwK9lv}25LfU%P#&k)>$6h9$( zd$5HSMjR~z7($noc36MoNr$^NFFlSP)sjrvpi%NV-GlZtDhm(Q;cYe{WINrxVaMY< zFgBnN?6O?v+I)t$Kqiz|v7NU)<RJBlE$vke!#bf&$ZjHRNU(@3Cx3FWNn++H>{h;> zL=x>*c%4uRy-^x^-M8-=pG}vakMBSpGuq%(HXrP?(w|*Nh-Ga3r=2@1Euf!?;0@Ki zSN%7U{rm*^gfJ?K!#^P|8`LXj=_J&y6hI3YRrZokb+IRp(V(2zf^Q9H>u9rU`KK8! z<`)itRY|eU%pn-tslu2O%c;T})10PCfEQhPSzMxKFxlv5gBB;luTGsUO}FK&qh9B7 z4rC7=Rf&re(M&GFX(kw^S&ptmdUJx;`k{V5+G3ETUI5cztqvvCm+rA|OtJ`Q^x~V! zWkCbmD7_CA15#XsulvY~dOf73&iVM8g-eZX@kx+5w#<iF=2UW$xcq96UIX$)e0ir> zFncTOgN0mn;Pro7`YN83MWoLcLrF-JA47$I#5Cfv|Iuz#soXN7Z|-6SN!I%o><LA< zXFF*g?6l=^a`du^tK)Bbt!0bS!yw%)f7|wL4o|D|YD>SnB}EWTmC2IFy?|h3eFoh& z(&Rvh1il@|yZrcmG4SG*OV;P7uIG7TP_EXT5Ncv9<9U?VO((ilkcp3;tohBjSjO`R zK&-^tN)66cf)YL^fa;Y_Zu;@RtSW@>Kl>m)$YRYMr?hLOU*xcHTw1u?GJRE}xwXb= z)M6E(o-+lg<62>+4o~Ck`M>CLM}VBSens=oDQ*Wah2?QFp@^m{s^fwi?uQZyb(S=F zOmf+CBZ`>zmeYGNb<8^+F*b*n>{U5VGYQwpc0uVW*D#CYo*01rvgA~eOS_%FWF1t_ znGWW=fX0tnf6xF^S%b_Ld{4|(Xqd&m-=h}-Y|pi0emqOmFUM8*P=pP@l~IJ>+gjD< zjl{nzYr0XE&z4Oc81KA&x_1;368pI>)rKvL!D}$RipvV~w94wFZO{zyFJ8%lN=^AT z0Co*}1XIrjIn|+E3g7+YNlSxbT$$FAuH(T;&;_6$;dJFm)&yyj4ex8#B{*!|(3+LS z$1MIVg9j*Poo*P&=#x_zy`_eyqf)$&d;J&h`h8j(@S_Ti-@oYPYtMh%n`VEkxlMqS zuQ*I|?E2_p{14+=0?CsZ-?lrIP5Ix(Ax9VW=_5u9BE&le!~kDj!`Y)1r=d7Cn>G&3 zQBF?Y`i?eSm?j#{cofAF>)V*po!KREN2M^%ebIh%>r;C58Y@>d4RHg2{NBty+?p}9 z9+U<4!O5*qKSuIf!6uYQo*vqQa&&bjhUA|{1qqPaguAo^RB~bKFCj8@jSC{ve&5)T z?^`9a<L2~E7v4q%+*qBd)PeD~m5GxZQ=LZm2fT09^Fm{@r)ji)$~xKJ)qiDF`|oj} z0#qmcGLDcC0O=V0h>y#T<-FGiv2|Oehgdo|DK82FD!{+Q%k<EZwN~Dr0C_5)gzfrS zB(pC#?Z!&=0x+LvH>~Uqj%{%TU2R)ccUp{-f|;-9{89BjY|~Bc_Qrv;m=KW}013_C zKF5`il$IoGf&gm0r@>48G9)p$K5ydPa{iBy@$K~u=+|N$`J5{DHO@sU&SS0RGRJ%A zu?(gShXz(WIKFOtE43xfV3T_rjP>VB{|AEP#6IQpQ-uEv-l%FFz)<N?O-fuW#>@Ty z=m4|;`a;sf_c%YGLzm*4?nDK8DaXZGIH`j2nbH_I_3&sZZDceh(;<~$Pbqo956iGS zus1C7#qeoqJmKGGgVMk%7i<HIB8>gx1L)0A=-Ji40um@c`U9sx0#{g4U<T0${mFzv zAE^DcGI1`zIqc6Qfn5~HcE#vLbc>zsaxk2hMwyi?epmxg>j#xTie9J5zk+Caz7v6j z>?3*FRqlDjnE_fJ6{=Bo2)qrEEWfI5`KOJ$O<CsankzY_#em2gXTLJ>t!CQop~&Go z{>EdU_Od|EfsUO`oQ?0MO<O-<ggRGkH@bri5ZxqC|3z3d`X=&SC~md?(%eb}yT_VX z>lj&l891#b{IE6}xG<_cMNYC^%GOv$*NR~@Pn>U+0G1l?taTi<aW7)Xbr!v^3SQdW zKLp_}s=B4-lUM&&GE+?t0g5??A}fo3NGb<)wuR*+|J|G^Z@ujE@LebqYb&qLKz&NP zF&;xRFtPIgiZb_BIg*^jfIKT|7Z7x6=|Jmj>IzcscW34B+V!UaZ!6p#9?yw#E;niz zfON77xAw&R8NFR%jnX$^%`N-3tqXfyZ(>bhbGed1O4|)Xa#?<k<bfUx9{0Tiifno8 zt;cgN|K<g#bKCV%%Q62l0r$CmmA^RpVaw_*-Oo^D;{G7BU6`-1ApmV#{LuXw5=n6M z3;iL?QqUg`Nx`lssXCCV30CM26Z_me5i5n>1I~v;RXJD#u)!8FBEsx?oWywL^~g+4 z7&wfPNmt>EVrZ|bTlwa1p_dZ9F@^Hl&@<wezbb1zq@OdILLXikylxh;Jw^MS+P)&~ zD{0M?AI3QHtpFYN>s{i3oBE)4=@<}3k+E20+F4C>6XZw?ydm~ucNkOJ{2y&b^7oVO znEygiyiwNAkQGykbb}>lDXs+ITULw{dkrd=MhyOC^@-npDK60;7dmi?NQ?z%jothi zu#N%hqG+PEa`h9pOD6Zh*18HegGLUsw?r+*0#a(%$*F5EeM*H~E#CDPfrF2@?>>96 zVTgo*cpp3q*!>Da2hBk-hAeP$`>wAF{%UZB<E?NxLqz8IwwFR74%T3eI!m7gIz3WD zGnLL1D(=oFDG;J_rgRWk1Xu8N$d&^~Q00v5NF%y))?gPI!V$&<hg#hKr0biWZ_`2k zcR>JEn18Cf<p+O}0M{+<vF7gxJLt>N8^8e$>+fFU?C+&Kk&FvEf2w=P@!`7;^zop? zgLCF@aR<0<UY<r;_H!?urHGu@m^_P{K`T?JF<nI4$gHQ_T$JZ^-ZN1oyDNn-Yo#ov zoR(Aw?Z1*%^3Kc6|8EHoW`6q7a$cWl9e}v)ym?u`in{v)SvP@VcmrU^aXb6~SW1UN z{R)jMPReFwF<BeZGGI>>AH({QJ(UD{slN=Qh_%^9JE%4TbTgOZB0}$YEhMdlUu-PK z|Ar<m44GNfDou$$q`KmWjRD|80Ly+Hx;QpDIncH$aK_g)QsYceav^8}kFyp+;?IDp z8Z}))MK&TP$+ImRIy(TA_~j>u<vXpE-s78JXwC=|8mWZv6)zeF$>c=A$S6A;&V2Y# z)+dnnUD{yg08t7dx*1>VwhhCDC@VVm#riX7yWxk&%amL6MWSz%4$O{!h6BnFi$xF; z*T<7ur@8q7t3CafA|?8`8zR%0s~q)5^op`m3k=)bH-f8o3%R4N(K#?;pcT^{KDPBO zY@~bgtq5U)Jw(E9CLT11HL)|C9b22JI7@d_Yn)?#oyiZ@c(nbO<otKwf7iLt>_1Qu zb*NMDZf8HR4y1`d|F=%%kojX`Z;hX}+!{Mf{z<O=xbC31>rQ^3ov~7xy>0=Jb6gI% zqHrpmDfVJ%L_>9dD6Fx*m01o;lr96BWxnw)jsIPG$+`+nY@L~d?~rrUKaYPy?|Ugm zuZO;t8r=B4;N_%suNe@4<XRXV$k_@z#R7cAGMPPf;fXfwmfi$N*AnXh^ICllR6JpQ z!bSTlIE(w<KUe0ALxA6xkp85sI&@{&<$I1`(q(-pKocZUK4Ww66$(hkku0flj#kPU zCDol|vW9}dh}<BBo%sEc1Zqv-X3bxZ`b*y!TFA3IfdY(fLh&AJz^0m6Y6MKPY5xM{ zlKH&}<Q7UHYgob)V~bV{41rd#WMoBDjJZh{uvSIcEyTZf7nuEiu8Obtu)4uzN`8ow zbmi#~$P(mfQhPBsPRwvInFc=t(4_UTc|FvomGTC)&E6Wj^lB?b^54>y^YUl(_5Ytj zyH7Ej^C8e}shBJ>-l5ma44*t>Is}-CTA&s7Vzl#SvhoU2^pKW1ABQ!^Ys2b>wWm#| z_mA=EB4&$}HjA0^x>imTV#VOIJStgvi+{}kckW=Fm3c3wG1vGE$!TC3P<Mb~gh#uI z_NOp6Q42`4A4bRgi9gw2PPO%MBwn%gH6U04Z}sL0fyY=1Jj*nSHmf)83>ZEk6D%Jl zN;XdkGO8D@s54sA2zCQx8m4}@T!5466ws~1obD*Y`tJ|+LmLipNPzH^YP<f$Ed)pd zbk8rLsMLFfIH78?h^*Vql4VMva8v8^nf|6=RK__zfz-r(>%}#%G(}bCwf+jtw=fGX zh|sLuJ_<gH!@m_+QSxsP07x`4)Hz%HA^P>_(NNlDZ_c+AYcT*diXr+edrqjwI8EwL zn;Mle`!bJHfrtg*9@oiW;l+cBe@!8ofe0lm`#X65H<n2wNRrRr!p1*oNFNn-6>myM zJAfyt49WA^8o<~M5b!BrV=u8Ey#+fNy+e|bqyRzJ6;QrXadh~+7H3((w49OCf@1VR z4YKlcC4s1!3av`CPx~Wkmt!DpqK&MRTTG1B>0ASKHY^DtW`(c7-yX$wF*xLOrBJ(s zNj(>Ihz3*l*7O88&Q+^)95TpL;Bh3mXm&>Q0AeOC6(in*bP0EVgQe&^K(m1ZCGlk{ z5wX^Lm@*eLFNKBur{+pUhI*gvxQOJ)gktf0RoTnCR0gTf?3yjgHTh+QEh1%{lxRyT z0u>NoFU9rpv%9~^1vh<(uZNg5`MtJDm>+ceiz$E<Cs^r0g+y-^PrJgpM_=m)3OOhL zHx|t_B9Y2MoT%1@i_3rH7OY`u2|fooW-3n5VLh*^cPi6QRsaRbv{w^ZPXG-3&eRE; zRBx#V^30~739@6N#my7oeLm98pMx}W$;|u0m|NK8FdpMV(jnn<0oau2+n<9kU6j!6 z40K%QUl;bvf%1k92a2yk;%nHr@iDa4Drb-P*4xB=o964>i*dT_gEr6rXMX@IDl#z+ zPKYPdXlu0{&%tjuH-^0>Y&Wd*Z2{nW$2S5^qMdCI%4c4I-dojeF8XghpPT;aK!n)K zb7TMe4IycMnc+tkbDs@@D!LhLvo1bLno{+n8(!p-koR1=0ahKbdgl~GF!73dnG{4Q z%}0avb(zJ<cr;>2VQ`@(y|=(11M&K$GN%X)uTrc$E$>}Eq5mV`s8+$@tYRs0934c* z&f#!4dCwTqNe%WiR^4KC{#7RTtpJc&7S=j9<)Ax8mqapbVu*uGQvh|YS(8MM+rCH0 zJTDaF)7M)>I;H;zlf7?u*<1w5=8|X-`q&wOVkr10z^@Sq8<62$<o3yqH+cn7<rk!A z)cU}3@C=uB++y>xmmpMZrENq$D0kZ`q$EJvQ8<W=L+C3_bNeZ<M#{X!Zvuu6ex?)G zU}D|BU-d)f&NHn-x~WlM8r+H(C&W$rOVcjQtNnU9!shP7F6>I4rn3s5WRFx_Bs%gv zj`#2}(>EyYLdKUe+iafL2pDi4XZtUBg6jAf?+eguaaD0SvCIt((Tv2JWf>s9ZC`-N zA_p0K0o0J7B*UzfNnO*R9T*i&;=wj%(8^T-u<3Wwpwf_%`c(moRzB7|&U3_it|2*3 zCvCql%g10HqbVL|E+Iht{pHV*5sb_Co1A$vTS@iwvM`q~GdoyMO*AXk+5S}?>@Y>q zUPOpo#Y@<D=?<AZ(_7C`?ksCRl9uNpre;G%tZ6Rt6sd7CO#3jrDt2}$c?ci))q6tO zdC!M`KsqSZB5l_(c!y|IWWi$MJs%uyAGNyhr>XteE`c3)<@LXqgSW(ES@UggCKIxs z)b3rV-v??6C;79c2uO}e=tu|Ffz;3V0(?7i*!{cacRpf0JmT@IY<aG7@_u-}WiUN- zKaNIs3-UU|Z5%PRL(~vmRB99!l$4$}pa^U0cF#7OfyU`%yO-`fUQPpubp|n<SK<af zsJSJj!i<!^!kTOU_GR^Fn5@a<ivJ110Rga(dn*0~vv{6ruG`;+bZY2;C_~pepjjAI z8WtF40JT{5B;N?tAcRvPS7iPWq8BXddLc>PJ+NbX@rNn+3$=X@A{n89=;>B$4Mn>U z?ZhKQr9YJAUz9i01|m^9Y(K%m%^rhqz&vxoR4U+{nCX*mIjW|SmTXF6G)s!3KONI* ze0Sd8|JKnjTYCP3;-udL5Phkhaxc4~9AsKVi`7=&%@)wLK2^BA9i(9x@72WZFPq5m zqC{u7xNG*-8v7CUOX#s>aQA8LN$HnvAf+086lCP#x=4+T;j_g0X|*!(v1u+_SzB)c zl+<hzf$yW*?<Ig@C5fm^9hzg~Z|3GKa)gKTDfrkxe$y|<=gDpU^*z0~?)PK5X`Ov; zd3PJwc1#t7(qH>7JUeLTU>iXwZOL(sha*>9f2i$_;<6^k%d@St?HpRx*Sf;niV{{r zQEDX6=l#|`|LEt)?ii)aVkosaglA{33XHhf6?*c_9if0!+nQ)5_Cf-*CX()l>;(kA zg(xByGqMC1Xg{!2+AkaK315VRZ?*#yZ%V7%rTwgeTce}p%7C7p^B2wq3h%1A{7>PZ z-piC@gn#S*0#})lkXul1E5ZCpkH6IclbLd%4P$ZRCdm0fw7bHJ$-hMDC#O$sS3j=a zEl<uR7y@*QE^`ty)z7ps_6)~fB3@dYU61sqFyMsl;@YC`{JNFQN3;7rBv5q=WCgK( zBi7tVZ98_r@gzcw_6GgK9LOBWC1UU~=n2rK1#>@vZ}_{uiyEp0f+<`z^*s||<H=8? z;Y=8Fp@+^D+EsizFfEZ3&fU42?j$Pe{!Dr(Zb%<-4bRwRTsxGVDBYf0Szdc_A70Oy ztLU_URj$i$NpSf?hyH95gh<x@*&us>ehDO!*nwa(z5IEcPcJcDuGE&PI`a@j%MmvE z{%IdLi#1nz4Ff`!F#=XMR`Z}?YyGbQrcd+6v<3uy)7E-iD5ov`%do(cRUoG0tF~Ul zREay6_Tot}x=Xm`d$>ro4MF3h!rOGkaSRY2@O?QTnX}7Spg8I=A2)0dMeHb+=pXR7 zd}`7m=(a+;$I{|rw+*YfE!t?kDhc4sltGBYHnV9iyzLFN+Q%07R?LSkt;E){Ce(Ts z09Mb-##^XL2^Ca$4`Z&0y*`4D(o|wDgq-+{<-yp6sI<bQ4ujEDl}5YJqX-PVk^Y7m zp?*RGUM(e3s=SFNv^O589;5%PxKJ1(Y(r0~zKNP!JQeommk6Xgw4?tIgv06isD_sk zB+VfEpM8$#*_tgnlCYq5PSSmp;spq8>n0*_ij1_#(-09%((ywiyZ|LZ&7~aa`BCip zjXwy_4d4IO?*<gXqaPe{$+;-LSiKEBb34qKcL*x<C(TJMy&!2079}t^;wc5%KNw}_ zVLeJ_hj<R3SP>$onZl<Jj}`&-C<ojh)@sU?*0_;jnRVh$KV6*t8T=bJTG-l&Re_E? zdygcB6w@#7I8=hhhz_3IfrxjuP+EmU%=!yuw5sI5ztU_dDg2?5Xw+RkENy@`;c)zY z6%1+;XcfDe?ZJrU-xePZ>Z(f5k~I`)(?)jnB$>zh8C{6$&}~{`XO$G)${9$U4Uqh- zNV!fuGLyHQ34KcBRDhsH^JpVfsd)J4pf|ykt-k4}*gWmi0`=y%wfTy1sS7s9qbkk| zC%|n&=g4F*mk?ZIS7h3duWV3_GoIPpUOm`!Z>|*)W$!jnn)-a;dDI2G5YhDN&ZR(m zo%(LNMZN;caaZC$qorT19%54KBs!`sblI0w2!<^<J)h1Hf#8+Tk1f9P@@H|<7PaUv z=LxZu1}2w_%!Kod7T1N-*-uaArZL%q(9>8ca!PZg<K5Qz<RzE{2%E@NVH7=CEfQ~u zr;GCI_&Git+%yi9l--mu-0KezX39@v*0X6<_MN;wE4TLU?R=X@jK2wL2!<nkTYc^% zIQxC)Px;-3xAU8exA%C7V|VFvfj6q7)l1(9pdr)Fo<}CUJKRR$%FAN4;rN%qP+S>R zupP#={ScC%n>9hgPlT{%r6;w@>nRHBsSoYh1?v(oGa#Dr^0&*gLP%_+;vek8Ih>H~ z!0krwv;=or!#Uc17dA9yr*JJPE?lMn3rlfGb3aQx3le2sT}(dX?lvVtzGg@mBct@E z2#pRS0UC0P-YqU4$^qr;mi!!!2sWfm{J*dGT3YGm*jltxNo!+B^^k<MnG_>A&qA)W zTZ+8SOR8i0y&>C=hFAf9BB)>8FfNF(ipoHtvGtx9!A5=C&BIFD^-~VWGplX*5Mn4W zmXJ+Ia|+2mi<ht5wA#~n8z3u=?kbSBqW*ZSW{*+=NC*V|$A`7qRCD*pT*x!DDCqwA zf+Gn;x3|Gy@pPuZ@Ghnk^vNFjg{hc;DZdF_Ait&%-B#|f%ogPmwH~ccxF!?gkHMVi zYv`VxDSz3RazQDyh$6kS+uw$*bo!3Je}(@#z6)WCv+MtEP*o;ny+{u?^n>HC(p0Bn zZyis~wr8F@me|<x?!W9TA*MjN$1b2Vc^j}qWJC>3tlr@2LT?Q;y%uo-q_y|**;5LC z3+*qj)`6-b!N9*SMc*7a;J?daCgf#y@b07#0CN|q0E-?yaWBwbBA<K%Ds;NyD8t)n zv$%8+PB#Q=ot$ko^`@_jcG<^dtZiq3hyAE7sG!tm*JPP(VV&VQ9!S)*?Jko#AsQM^ zgm5aI0JGu}RAo70fB+(d_nBMGcEKgl=WMGq6~Z>?XyI0rgLg8GmHvyi^Z2V_=IF`A zH~_`X3G3HiHd1f$AfK9mkZHF8yFL323RDi8L`$NBX%N;S<4hgM%=^lo!L*K4oaVCX z%o)!q%Y;<Qe{GpL{h0@C@KRa;CO{g$^G?AsfHUnN+E^Mb5F)wTp|5dzzg-pq|D)UL zqt7#Fx9Ojec4ZetQ5wCMw?_}F(m8=<HE|3i(w8p=AYy`iipIbJyG{<R=ebz{N?+l+ z=YyJnqp9%Yk>!C)ZSu+^Uf?d!$j7>K`xoUw`4DDZg=Nwz&zCBlIdUd~i$D*2DuP0; z2;8RZp1*s*&<nk3W48h%i;_pvd_?z+ACgW*8WL$h!=)k>PT&LJq3Gnou%cTQfua~Q zG;I;wrAs%J8f1Z9(<1&0J|soae%<_m8z@8nv?YlFy0re}dEFi`;xE`tkn7a$C(I8K zzwTa<4>Rr*=Py)*@f+={gEc<g?Npu0U3R1&fsx`}tGfP5sVTc(0~A-O^2FBJ#Mr_& zwAHkTB;EVHN5?qGk34-r3@ZK+W(!=!L5jv@Q!90nIa>kE>kwv&#K!?8t6^=iu(3qo zLIMUbfHMn*>!-vC8|{O__0uvYZKiT45Gruh7DuVn94-5|m{cMe7t8(v4K0zR<J0fm z<X$m&L+0zCBzes`-*hL5W=#hbsXQfGMZ<Ww1Vz?t1IPFva}_yPR@SJ+lunKme)Ejz zpcwNgeqGN&X1H89q4%mq;1KMR67QB*j=Q%7CNlp(=gINHaSxyBKNSo@<?`AEYvNcA z%AqWwG>8P<Dx#u32v(&|7_xZ~e)Ny+4tz-q;sK+Jmi!6j6GC+rm_<z}t~Dl@<iGQ~ zYF7=g6OmpG&Qo?PVK)v@ew~{rO$^lVxabV$;m0yqW&(P0mX-rjc60>v2VJ7)eg;r^ zK+=Z3k*El52r-#X+j991m>!>o_xsCua&U`JVwHz8Ok@q<?Ww@!=E|QzDn<QUGRATa z$3}Jh*EV9FoVBUIWFlL@$+jq&I!Lo(uR{i>H0Oj9LOfbAHJ%1OMz1gz$8h%N#NJ`K znAPGg!T7k4Jn<SwWnbROI$3uIu)l#Z-e^)dOB(;4E56F`hi>*z=<?_s{{zc(GbN3D z3Hv<;6>T-AH0?Q_TEo9M8i(cdGH=E=N!UKg*YZaS9d2(`I^`eZz`wV7%mHv-#retG zyX9hcot3QR?yc~*?co>YtN0+$LWd2z3iy|$`~j3<@8=ibEUdo@C>sszgga4jIh7XP zUq_(dRu>khb&{ZA5R0`{pZK`5=*;@!j<=S(2#*ke<bKRUCaiPW9?|~+PIc$>1fu%$ zldl@v{ee0#3Kn1RqXi;=UE5yex(^=|eG$kgn~5fwV>V(LgHdVJ?!-HqJ?7ybAm(5) z%b*$q_dDy_3=R3|bjt57eYc;?`-JzJn$v2*XdDmd`{$vNKSpXgHli!DZbca5xPFfO zW06+^VdXeyG%TU{LVaQqYeW*wEOBT0?mmya67WO+u8l!PjWsmFr+07!%^=8t#w6~F zQkV49PARoo1w=yWXrxk_uP-G8es+Zp2Eh>rTL|^D@+(^qyKyxI<es2GsnfuS<GKvs z`FgYdYwChXsm#%dZ0YyVvu%83q^YnO?oY(3h!Y<1L99jYBFkUqnq@Z`09p1Fi`ln2 z7r&Iskl79I6@EtMm)r(IRu)H?DmiFOls?)ixxPJCayhVh<kZL|JEA<0`+t=Yp3w7q zYv15>f}`asR4j-voJoR!uZyIR<Ggx_jU0}{Ln;c4c>enh$RuFs1dSz9Sx&xO6vgI5 z;Lp&R-qq_W^n5fT$jFcQAlJ*VN5PG2_&WIq@9ucfS)zrX7?=Wo16YeDJZFT<00Tny zx7PP}x9pQNMs6%DX*aWh+mdF8FR8$AMZ;mjThmK|&s#JAYGenn4~$QeyzgkgSjJm^ z9JR6nZu+K`gmohu)4A8-ZVdFqg^YF=<U8O;(hPQfF%ME1O#4L*BFEHabyb2$pO|u8 z#NHz{H!a*@fqBHOv>#$nZ1sH5KFB#Fd05n+0yP`<7fRNM!P+{xL}g}Gd{4yMGySCJ z2nmOg=H~gK05XKL;3N7&gU4ZNotME0@7~#Vj<Sd0Dpmq2yvJ3ysK>iDMVm?vI3d&9 z?#P05+FTkY>SGf#bBcU)FxmIP2djQTXQoK@43~}jOC)?}ze>hQ9d%hHl+mMhaAQ;I z-ek-!;<bRBSrjP6&Dt*bhwFmdl9oK6J>FeQi(%F;c*rxh(O%X^x*Vu$LfZn!osrkT z6?M1tQf<?2b5w>%*WS+f!3~%I?mk(UxBc&c-iYdKR5wSLC`#Z!kz-@ggTV`4^xCW_ zJ<3cZ{#eO>{|ATyG(>NArwhvKm2jxrfp<w>B}IcTUt@nWo;+p-&JkW97d9X$8hk+V zOtjV?Y|E^}^CoUw{cUho-lhi<%tmq99)s+d+N0uZ!-bV!27*;U-fugX{2iex(1?Q{ ze7AZlKH`G?l#sSKy2N&r#U5$k5@8-~Y_RYOu-tQO`)AmB?;Obq9nN5F6I`XVF%t~( zh~cAmQ3qoGMAw`3Q!*r&);Ye?UF&_Nun^+-Qf?Y)iBXQS1%2XVm$B`gnx-zpLz=Mt zqlpTS;tnN?0U<V27}8^i&{Z;gadyj5{x8sc4nT6mXsd*PdaZIUgf1EC(Z4CvGy9v0 zscQC0ah+)|hR6GDO%=;POMr^h4k}QKb5M}t(3m;dZkx87X;;Jp70@W5Db~}a_^?4% zU6qeN!b+*AbpX!_N>%W3Ci8dRDe>`<$t30#X{~XYokRG%VV!R`(-{B!zkcAhRD)Ey zOKagQ<#WK9yh>8%RsoMeqPL!`F2?>I{tupY(w*gup~T+*N;04Ky>6yD*@w;}%Z_>6 zg<dXpy^RiIaL=WH_N*IbWaOqWErkD_cZu?4|7B446HpgAc;CXYeVjcW+*QM8rxEf? zxK@6!&2TQumZ8;s;41R$mDM`1Xe)*0)pNbAj2Rf0e%#NhTx6=gZsr2aVkkAy>+av_ z`~z&RnALhRr8@G1meN%G+pY`HS?nD90z0g{bIf~&DmB+pMvGPI-hO~5rI-Dh`8LdX z8;#DV<H|e-`wrROoLyraajowjS`OT=M#rLX_r}d8(pK~I(y0^Gn!CADxp<kfK!n^k z1@3anqAR1>qFXpz<Jq6?cLGD=_w_ohn%6ymu5fi%s-V1X|4H|<?;AQ)_L)R_YZ#*E zi5B6Jr+N-)5n@m~YXDfjPSOE*NFhOz+MI_+P6Cvqz7;%|w-#5tU6aIBrTlu419M;9 zjxY%}V}Ut{tXv8p^Gbm%VyI4mJPPESxAM_Bl#q>;O#g}`e?o6JFDg`&0kKhRC=LmV z)1;TLtIJ%n>=wn6$gd3Z#INMu6gYaoJa~c6j*&ag)ksTp&p!_16)-Sp+q6^*dfkRq z&;q$~@)uP8+n?eeYWnl)JDHjiOsA|F2v<FCSJJ7F&;w8?mn<P*m0T&)XZc(D535H= zD(Pm!`i5xEz$8pz1TGAg-4hqTz$hCu#1<xk47b*mGek_lf<?1+dE;m&$gT!t2?N*z zHJ9oPQusj~%-TKu;FK<$s`z+TqZFhf_ydYh6g1Ybwhzg{lrKaK33`D!f7!8D&QV+@ z(^o(5CE@Vw-EYYCR1#lg!-3&AvPE$ZSMAhdED~bqMThUgYWA9x<IK|<crUTK)X#qt z;o!K7@lr#&g4@6DW2p*4%`~6hyDFlD;z$ki>m~yp{luOII58Oogm4jQKuJ3|9r-9b zn!bAG0iP+}dpc9#A}35OTwso=IfDwbF6a@&`l^jD_CpcJ5B>)gNJ&-qlg(dFQw7ia zo>yIIj0m43{58XAr>$|e?tvFD^CsBBldG;EKi-ym6y|RUbtd%$$LSHX3P3DRUw;9U zJAl&${wz}uALjAeofV%BO0~03IKIlwDI_cMcWtXRTs458sal%x@~BO-EvrNeHtXM6 zN9@Cx-cKEO+oOXE5pdu#M27v6)(~d>j&+lmb<&_3JE2S$H*7)C1o~_rbKHBfx$8;W ztogK7x$HFO8dEQJ5DgD0r$SlrGC_z?BWs2V>2Ph^_*h|tETjV|t!J_N+96IYOfstE zIgFo@=y4VWoy;Uj2(h)3|IZ_LT521B*mu0{y5#Y?|8qUuRca#;8Lb8w-}BsB45MYF zX`bRdPrl~79WZJ5WOPM&F>b?40@Z6zkBYx|5i7f~(y8VehIJ^+3Pb8>)V}-3m3XpJ z>OSUxV6~;e1b)m^itNsRuBE3usVGXB&38it4)UBUDiPnJ9X5l{Hz^=?tk@WK53Mn0 z`YV@zk!Cq)s^%LZa{5S(AJ~`TpK=EEzjIp2q<5NUEq~WVbV1ax97Z6J>tYQ_waz84 zPfLzA(md9sn|l8EUi=jxBxuv#gjGjA(oM=43{w!a#IUR>S>YYatQL*k)-en*+<p*g zc&o}&xgisZ%tsI;>b*$rRKi)C`3@zZqjNXJJz%KELuQaU-AN(9kR4}rNc`lMm%a{* z3pr^Bk0CyG4+@DEmM{TEosf^)>!H8}p6Jkz>s(XR{^5L@z(O=Kk48CvK_=EE?^#8Z zmk?d*(ta&{he|HdB31nOEo=-WW5|~t1(BtQP9Q)~?E>Pr$Df0WR(TU3^+eY{bfJ;S zI^{oPLVJsM;F0CHyk}2^uZRR0xuRi`M7bX+n}R2LQ23)i;9@%7&rc^1s19%20EBFE zo>TyF-N%iDI^rv|g<SUb+EIaZ;mNE$>6^9U^>G7uuEjHV^2Yv3DDNC25EC5hr!2QR z^s}se{WT7dddA?9M^{~(jp`3~Q>BTillD7<AZX}i%fsk!Yj<p&;wI=}BgNx?tTn0< zrIT0L(}(A3l#?lxeGg4bd7#Tvf-X^?lhe~kvLSzP@p<rPCFkxc=fs=z6(B#L=CAep z%T>zUGhv7v_i|~-=88nNt-S3vu~7=)5*f+iCfQJ4U5S|&vl+K5R+AoR?->TyUIy}P zUY{pcGTyw78b8!9d4+5Ps#($Ln$N3|@sCl3pfVlsU=^j-xSfHlLpT_e^arCQCRVtc z!pHw3>l_36eB-viE!(zj+btWv?3P{2t(I+j*>2gkZ7r@^=5zJG@8`|)yxYt6JJ0LO z<M^E26%$PGqn(d}@S=yV9e|&U_;jaLvJW#2B}82EUQH^mH<j4_k<vfylk2{C2u$Fw ze~M}<0IjJ)2~EtJlqF$y+!7NdLYdzbl~Wv{#Pv53!?a+Hx~azP(#b?b*PyS}yoDLk zxtj{Ieq4x3hSr({7i*b6ux}`%MC;~3acC<|Sp7Tq#>b*nAh&wycZn4!j|x>DRyAvx zESy#h;n8SJBlpuaJg-A3EdvK^N<O%ca6W#pTW23r0}crh9u1c@%z~cwbWp7+s30zh zrgn**T6F4<tQLz%x@TdSI5xFfSj9r(pUi@^#2Uu?ro0+Ez|4p3tzSzz4;ik{%*~AB z)BhGrA<0r+Th7fvvIVS@#aB#PuQ|NKrxY)~YEXf`3PRCOd2=J9^V|!uIX;2##t}vF z%w`Z*?|}_zzY{-!exyy1VfTB84Y(1YEr{V;qS4{+efsL#WOkit+vWZk6&TddTt)tc z?^kE&s;@fN7?@>HNJ^DJYKyk3uYc7W5`X>SCRK``$@1>$a}j4XI0w^d>c<d8@n#ed zp&3>ja%{}4tF<WJAj(y|9R9*}A_^4sV3|a26I>Mb4xQ!;R65d4dbr${0HeGtcvgko zq*)_?!yD!QHCEx_uw0c${%KWj&H8bPP~Ukf0k7*`_xRxmxa;lqJ9U7W0+YIg#k|$< z7af(l>#sw{R)y?^-YBc%W7-q^#Dhg`^)Pij8`x*`Cu;W4_dm9W$L8v-h$X9Z4tqQ( z%%2-J<9nXS{xHvRkfPF#BV3->1Td)!F%VAY9I+bJr5}{3X`Y^%SCrM(Ys{4j<?XfF z%WDaFpI9R)dYs4Q81w2Auq#8P^B553)BHGrFL(tPOh9TD3lU)@Ym$X3$Fy#R;j<z> z3!k!KH#9wOGOC-G__UY1B3(8to}{LmH)yY+tL&;M{Ed?N`dW#0a?q@tg=u}xmk-yJ zxh5_SSXD$YC|IoNbsW#Hs9zQoDd0AsVJ=1c!S+&e7=K7ds~4vmH5d&NC}G@SA{{PG z?WCCA2)B@AIocEWM@hFKSK((x>^YECW6Pp*YXr2TAW4C3Bjv1wdBj`1k1aL}0!id3 z8AM4cElme8g;vQ*iSsNJ#^3m;ZS@Uq#iU~FQ`~?LK|M6BcB!wUI4dBLl(?cH0*8?o zr>hkL849HcETjQ>f26h44^WA}+1t=H%)STxP#<~!K@mt2)Dbsp9sLa4Pcfs*UrgY; zVe=$E9ztT7y3Q}5X?2F=V-b<NN=L%uA+D=|hJJ@h!Oja!tc)|JJzrTpfISfYs-~B~ z!+YsR;*^Ve%*)rMAXcTV#bYlZX~tG78EISxodXKRVW83ewEMK~BdfDDHPvl8G=;c* z+nrN&eoV>N%2-{MOlLt_^kXU=uNJk8z(CW@{dhHNipn1MwS3`wjQad&;S59n39W$5 zYK{0Wv7d}w((`&%npVhlf6Tvm7MsIjT`jW0CTd@&d4Wc|AA7C6AX@MAR)V_9@Mx>) zJItm>8Mh3cyXSywxo(i1b=0Y_5Ot|KeZ9geLn!VHJ_Efu^{ygj$n{m}RZmMCd_-Nx zlP{F_Chq=HcayQ=3$amzqIQ@Q6+iKb;@!lCRc5$?Z9ZRm;jBaFnusxC*nDT#iOfQL ztrNZtl{zbo!MuZfk4Y7jjcw1T)at&^Raz|Nr7Qm&ei$^kL7HYeLyQ#Z{nJmD6v!#8 zL2Pmq@S=EWN<%~OO-@>PpvCAI4k<g)3-Ql)k12W6feII6&a0wU<+E7^X=&OJWJ|ma zyIY|1nf@@dL3txo4ee8!Eb_fM2`{|}(nui0q(sx(v1i9oUMBaZd_m25EGI}SRTrhR ziLb%XM35yAEs{>4eE}Q+&Fi^4#!9_pDsbQ+(#m<Y^WuDLi=&od9u)pa^2PXwhHzni z+A-=WwF{~Iuj$gID)!0Ph}g53u%`~Wrb{Q0ftlUBM2MdvaA%J{kD~;PD&pI@<UI6j z#}-*3WlfXPI?6!LrGFo)0an&C1n*l6i}44<FQMWZU%?GMicmW!mm`QnB8J2j!ya4y zSv0=)2bP=wdRq+o21Z|45>Hc!ZJ=l_B8w?Q6dC+js6CJrA)s<@hVkrrKnRweRv<pW z8lY3>zs1thi9og!<+nth6j7hapHnX=DIa`&r^#!p^)p*A|1RhTXydfqo||uWbOHT8 z`Yq9v`tmsoqc060`0A|^+E%oFdUH6>Erx3o)IjDE%}oiuYoP;H-%z2R)xbWVi8m(a z{9zW5#hB}^IbYrSw1jw04piKg-4U*XME+s~&U<<l^6t|>*WCs*T4j~dCB|+OK}8cx z`ZjtW(&2r5`;u(#b0>H~`+8#cQAJ8TqtvuM^hj6xy>}VBzq#1^X=*yBX=|y{<p%lf zc0JHV<kxB2vUt&1bAYM*68J?Ev+Wpb%dtB1rUHoA=_&Akg7NdkcyoG{pwy@!_r$6o z=e5&1xk`}>{fw2GU~y$OO~}+#Z7NX!Y=vbNfujy)M86eBiVGpXkp+I1j-~Hm>EWam zQC;BvEHrL9W6Nj=?x7>s;J|&$j|@GeV%7f(QV-|XWK&1(<{or=D+q35$&xl7%k^B+ z3|h^GY@V8S<kOf1<t|ku7G$)$!h{}+?Y_jzT(dksX~c)vY#NP9WIwQvm|Q&p^NUNA zcTI3r<LxM~cALFOw0Xmy{UWRkcE5FK@<5PEB~96jTA$B#?VsSaMzoL`BU*^n(maiV zDZ5gUV~`yxWVTvTBBV<2g^??!ihGl}%3=+TiJISrI9j7@w8V!TW|H&-B8mFTT7(^` zIlpg%3|5RZ_&}W`?D#L>MPOh<FOFykW26bpm+`e~Z}KWg7nCK8Z*6Tc^1RJS0gc@x z*&Z?(i#U0PNg?!|i#D8>?4n$ML_{gcUbl*+T2hfWjInYfk!8dkT99F>B~^SyzJO+} zCRpGeC3=~LqNdW6icd;8jofPuNoBK2f~)|xYYS%M=ZACuZ;Oa&?SR_5`htxUsK~!< zc^f<pc~O>c{Lv($J-b_e`s&w2X7t&}uW@Mx1Mf{+4R_b|I;y!0Qx#ILiops2Be`|B zT7CAUqrFnMV>=&NcPFBiT~;n~mY>t!Z;8Xl@8P7oSmV~+TOuUx(YABK4-i$Vn$`Jl z?1cE%-KK3_q_sU{b+v0Xc9qAeMgdLu-sNngPImU|YE4e11t0(G-Ue7uOv-m)ve~i1 zg{1rR_*`#ymgA<*rD;M-g8^TP*evRyzONk;AeB=9W0ifp%|)nM7`RG5`-%9Ljjgsc z%@hO4yrOqmW<{^>o9}fS=N7xtNP6<4F4H`Y`T_wj7`jEie#=rI8KR3|O{X}CMPRF& zi4HX6w*JA{xxxc|7P_)OYXzqQt^_-dA&&YC$qpi={$+tALCJlD)n%n;UG|x)E%O2- zIAZzOXLwC2x$^01u|G71a(ZUE8I+_7u2#DU$q1YQHe{_<Ze?MS!%fJ$7FohL;-NU7 zi9CLhnrG{=;r`<81-K)c2PL!S*(u;tv|VB(i4Z?yV!K-b?e#Cp+D{oAM%sXm66d;< zB-b5kpA*wl3}tc$yfLU15X_(pU5^lWv51SSy1z(;<vK*HJBTOxXGf7j*90=xgMNh0 zeNl(sqj&gSYgit31ak<J4;b4&)M;_$#06fdWCaR*Ke#=6P4r6{N<JyNz@kl-q|i7P z{a}~K0G42doPP`4a!;sAomh5RxNd6@jjJOUKKq}jmdRq+T%b;#FkY`L5x!Z@bN~}? z+{Ux6&c+9}`vP50&1;EsVD4k`A=!EDeI4t<G(hH3q0R+boGT|=W$Tifc?di`Yu)cK zNNy>32g5<st&VxR{jIK-99B>#=1nbg4eKyC;^;a5RKse}3V@D&)2`WS{8>54!R$EZ zr+?6AYhHT$&AYR|27YHL)dTOQu3L_>_5>f26ipIvB$K0VqWl0iYkis~2+TOo@~Fxp z)|R4)CMeYWfyEci^BE&q*JW)A3u<~5TH?7?$44!in%ZSs4Vf%>=9+Y-@;yN-D(lFy zG$2-JW@s<#po>I#sGT6l2K^apT25|ME&vQBap&0tzD1d%>LNSwl{MAbhx#EJx>-4W zvr@h1e>7~vyq|#`)JwlSDo1>GNlQrd6RmQs2T~NxrWL|@Q4I1BK$Y4aTpSbyMYdaR ziQrMZ<m(G4<9F9y6gY2k+Szwznh~2(7m%Xb+Y(WZftDNsLk6^RliXpk71Yqk1V|hL ztX^f>{l7&fqBy$#Qf))r{uv4mI)%P|qn81&GlA?V6EDMG=t)G;Z%9$2KKWt}`9Fse zr1-Z`vZ<5#oPor}p1;w?#26+^>#L20F7%oPjZvVamf{pWNu%oho|Ts8{qXBih}$Jn z(yKpfY5Em?4nZg&@Mg7S0%&%9f!j_A?V_W|V{HgluEU}wQqTs6e$aFNE6_E~ftncQ zc8ip|#Vy-*gay{_V_=?b8)Yoj+8c`+h)EHaZuFRh7p456Tdt9;MFp~KtZ~%iaQMj( zO2JiZ{g*4eql?Lf!!3#EEBYH=kxy}>na0yD-1_;}y0=Ge2t9XzKcwm^$y{_q97JON zr?imI;U_8a%d#7e&RL{_%$4S*316+GAh2U53r06KmIsQAxz&-)N2<G31^5NF1L6bc z!i3*qk-sNREjw$CEE_S@<lo5Jg*6V)gNm$o1$siF6z%t8v)l=cFhxrl)lD<@(`r@w zMop|niE$!!^=<?(qi=QzLdDHi8fGvn!7h7cf%$$n$f%K>70Rb)A$`Ycx*eS@NW%&= z1C$Cu@3nmn>!hs7i}`pmxC502S+b=3#Gw@Ap%t*c$uQQ)$DhX2puy>Dk=$9<zmu0i zaw(qqcke}*oD_@!(reRFy9dViNS855au2}XODc^}GyhN$yvZhE!!E-Ht)pU=@swp% zQPf%h{M#`D@AZ%8EU!%|;_NW2F{GXuwxI0V5c!O^P2`XiVy_xT(IGeNdJxZT$X0;W zHwag_b8|EGfm2hl#&)}P%77hP|MJzZOQax-Si8j{SZ_QcCUQbyR%Pmo5U-#9>zu8F zLM`Rk_%2802bT|~SJdfvpNF4dalaM9*Oy|HDpqTcozN$qY|Ov~%HMixWNzzVMN0mT zN6m8T-l~nRz%A-4V+P<z9IKGBbwyj;sbRJ~y%xUfz<K^=<IA+2-v^8U)h6h-mgu6T z;p_pjUu4E>(_)?+)NQ3;rmq}~>3c>2U$nZBd6u4ahD5?EDuu;no<bE(eDH`e|I1W! z0j1ii{PYi~03-@d@INeOyx=OR^YQ+<$Co0+X7l!?$kpY0<!%(l#ln?utzu`<MHa;{ zwItD8-pwK~Ara5SO(J5Cr98Q{cMqmvq4-_m9X^y|ltmIP%mXNz{Qh7AVd7s`touJF zqY@JML?~sGU6SLP;=AvIoQFW10V)KU0Wc3Mf3`pE^Z;mtxB~0_mhQ2lC}tzqg(sfO z2;NRe*T3kYg|G_t7+K%v3t@Tn<ck^A=N(_qZwY_~m?7tJv^B)HA~QYbgH=K05J_}5 zU`n9XbipL_{Q9(`n&NYi2LLr@t6|`K>3tn$n@atbSzcqj4jJ5_8^CZ~QT$--=3Ako z?iAK<6sUrB5R=`0|4QF&^)E$9e<)!N<yX*_yv&`rNwp%;;ZRrps<o(X+Z_PQqAZXB zrVdqQB}utBs}o&XXDP0b5g2Uz<XjF_`)wf{Qm(r+53wwFpux&G#gWE^fp|z{vQaS_ zthcyNkxL&Pf@R9?KcrBMlr5VpqvBq=DS`WdoS4sVnc)lGw$?PXKo{~UjT22eC#YBU zze-|Q$Z9<u<WiS&;EmF~a8Zokl%cB^I-utAX3A<8t6^Z&cuJcT453FA^s#P7@Qj7= zNBXXZsm+0oaQ|O&UGQ&`fSktK#Hfmbblh@dnROSrN5o8;ld$0(;j8Rn9eVz2z;={M znazdjsFg`mhsz=FNrqCxuL?7Wya`wi_?&p&0rTF~BtHZuG358PFlqc=C?e91#<~<> zP$2Kr|LYjNf^<si$~u6DVD^~6RSQFbtPA<%_-WAz#UAc?J_)c%??<dM@&26z=ClQR zD?Fz~p8@?w@!?LQhzZS4a~00@gFzMzuQ+*d`DvHj>bCYh{sqYeJ$-K$pi_O}+?sqH zovy(9JMki34S)=LGXZh+H;L!C>P?}m+ace_!N?e5BaGgBVr{GlsjS>yoW@v;=<;Y0 z^7h(x&7xPFrB<y+CQeKdS2UK&`Mk+sJ!;C@a;0&=1F+2?NvQfGtUF1^M5XH>)vj7) zsK8;=^d8r&%=kN9VF`xNmAE?v0lu<pI9<Q^Ti>iu_wXMZphH6|wgvXB(Z}T9RM+Gp zX`0jp*e3oh_=7){HOZZOs_7I-9xZY=Bfg-c9+oK^(R7BdcOx*dq-?3>fjKc^>t~Qv zC}R(uh~taRi%6-!ay?{aa$?@-1;G_u@c#~{i9?thRf@!8{kdp37nrsJ8VxS`NLTXn zEMF)F^apY)dcoDT^6Eo%=~Jzfe*;?mfDq_PO~Lf8?B|%GxO@~?P<AQ!OU*JUCiGCK zD8?ZOK4_iXJR)$|O<g!xn%ppgQqb^^gWD>tS)R1032pWFELp|QtHsWsmW-is(98uN zu&+sSw5{$XjIsCJUGh3)6l^snV*w$%{pp@5!wUPRzRgUJwfnt^>0p*RA$JTT^+d%_ zPp@&cdBI~2m?T&VmORP*_9ws`$w~OnsY2ZS!@r=9CZ&JC>3zAZQw1SB&Vk+*=zDbc z!&Vumhk4QRc>ig{V)r(=O^b&Zmtms4HkwrXuF)DvAbV**VJKB{HhozzM44D#>=^)L z{N+9R!0l#bT8&aGO^RN{){N>Eg#>XndA4apUAPDEVVP^|g>YkZ^0=$iQ*Bg;Tl<4_ zJm1|R9J}~L_RJM!#4B+dEhY3q@B;DC&@SgVe8c2<`~d6<tBMN5K?(WeFvAyovJh1E zn1pXbVTM=GzvTtQ9DA%#Dk!M{4~cySFVY0-(VD}4I8Ckg$p}8546bQknEG%6!22Q> z49oH%)yQ$B5+!Sin*JJEw<@E&|0VewEfkxHA~388yHV%X_-zT;dmnyLCseH#5f)&> znqN*TGZQzhS|H%10%@-W<4%b4c^u86L$xWRk&%!UMyO;nyWg;>{%;i8Wok`mNjCmE zOk~nfke%GTx-7?f|06VB3!71Kq0~3QK->9P>1T5h><q_J!GgO1>WVunb~0&+Dgc#- zBKp(eMGWY`DfNhj^Z*Ngkyfoky1Ch1lil@S2Ac(U<z1b(Fb@%q3fQ?4JK&<5fI|U= zl{&!s)W!NtP4cB@4lp}gFKUKJ-2lbfrWxS=fIT4Kx2&f+J=E4UW%30~XdlGZ7g(64 z#$3zQ3U#Oy=mK_g$hJJe!CL&k*Jr>Gt2Chiafqa&wtmH*3&2(t14gliB#_cZ@5G-V zQcmz`Ae`rY1)nxOe1K!KLy-BKcs|H<I$dbWVgA)WzrfU*ysw`@SwljN?W$(XE@rC3 z_75OAi+e_2_rA$X`bLUh69_^%^Khwvy9i^p2mDiUa3>)_mniNCApe<VPFKS9P*&?w zD`rv;6^7gMZ^tHXaEc*_VM7jRKm~8v1Wm&DIYUBeGZCtg*j?B#^aY}81$ci;`lx1S z8Su~*L@~!2Gz=IaG-obsd{7+7@ltE8*ev?K9Sn0VC};%vEc0^H^EAkOdPl~@X!HCZ zQ6|iwQs4(xW|aVf2XKnn;?6T1iVQD&u?2inAnYCD7u6#vcvu$LAov=1A)^^3g&U=- z!pR}qEPkjMv*<1j@HPj+0Iv>+M8MEVHbgd9=iZ^=@-z$+7>k|wq7)K_&kvI$&;42x z*K=aXSf_(z>N<}VYRWOFquz~UOc41aee2{m3o0I8?XPfa^^8VKmtNo;BQnGsiB@sM zZ5;4{+3%S*$qHvLF7MXQqfm=Q`PW**R3?6fadR?$ZmTw6+ZT`ws8Lx4Lc-&(fd#g* zz;1J>n?AII8sNSlC92{7XLMlg^256XCXYKtOwP{t1hAI^4xf3MKzAnEIW!~Xbo1~G zrK#mqgxfGn7((_`W`ND(9m0WFDns@CEQsoq$VVfIjy%jvRliqSOQ>%;Nuju5q!@7Z zs!k!zGn>cEsb}y40N>zLl<smL6n*I+%tcYoc6@-Y0O`nThp49!N5`}a0pEM2i25}) zEXpj6y#S}pe_$G2ZY`wLxk7fjidIe@ygSRXPj%wOhHtfm7U)q4NkQWGYLe3Mfiaqo z^$TxHoF*t#(mM@f6)=gkQ_WvSSL2aoyek3I7ez@7wKu21T7x*@+uh)~RW!NfkmrXR z0(q2;Xi_%DEEe@j*dq=qfJfBSCf979<T^?>;4Gcp3;5CjYjIP1J_<g9pafNe0}JmP z(HQ*B6#zl0sDX;~sDS9>)ep9gaA9&|Hc_9Szf>=z{zTs>`FprzMdCGgSFe|_AR2u( z7Z)D-$^pQ8x;y*UEh?X}hN?@stGkV;4qazwY2W|#Wr-TjDWrm1W;R|0jPY>$Wt0!8 zaJEI|2k?)+Hcji*U?d8oJ+%zXv9fFOi_MgwE)B+j$rm~mk?cA`dszEG`1iF&(zlW( zMIX-@>$g(Dj>YVGs-3hG*mY1d&|2>m)U*O_3I@Y+ww;=2tR$=XD(z4dIFk2(%U{)V z!O8@~pT=5;=5RMpwY$;&^v{DgI`CN5&bWF34rpWr<GhN)YQ!Ec!0g0@DFmIj-b_5y zD<kyV)a<JipK|nRTRxd<a=7e|FbLOu<hinWmLl$-*{BVrw?a+<huX;auz6bh@E>3d zGt96Yc^M0fUaKA5ZJyOuz^*d!BJ2V4B@A+;(YS^kJWBOQhn)pBpqaX=5?ulcm`c{= z(BfjrKYl6t$xPTL18o|Yhb^j`2q;Bg_zo$;%Rlu0YE)Im?Mba%Ov`|t$!@qA)fIoj zz}{1N;k^t)-gj*WcvqD~yjP<VgS3ab$LR#JH2(;opxIEBooGk`oQI+?boI(glqNuc z;C=wwp-gD5K^{pgcb;f70Rd^w4)d@Rf(LTvVTfzwBp%wt)lt#P&Fa|URZOt)8VK*w zP%Z4bl6b2c^C&-opnGnEHVJCW7iZ(W`O0mP<kz^H7mZSi5N&;BWwz}~T!2{K0U#h} zQK9ZpMSA5j3rP}vLAe0-BGQ?nUkx^JE2%+eA%)B|HCG&&uZROuc6VP38Pyv$93IL> zP(Bogpvn{w1(Sc3D5+gnu5^@oO;Z=NKnN$u>nczoSCcY<hb3t_093{f4&(_lwR%BI z(YrtnoBxy?JIN!V1u0?$Y(K@@b<ol2LLz8oMp-!0Q-9pY>}JM&^`c`z3L#C5u9@!5 zU`rY*NMtJc2dkVzp}KI0&J0^#a$?%ZBA!{X<nm{gDpfa)rZjC*WKg>=5;+J#AB7cI zh{zj00=%RJ)99rrp&e2#IJCk+vXV3+MA4t0&P|;Y5+n`FDmMU_<E0Yqs=0p!B?<kt zAG1kP`k+a|2-gSTY_bG=ZW-^^^v6NVFU*RVr;Ra$l;|8+z%(DN5U3D1O#A$AQ7L&! zuA!=+u@FG$P;m9>_X$Ty4iV4-l#riZKBVVXry|*XUv@MctLTv>`w$5|DLnjSK68G4 zGel-C+n=o+B<f{q?4qn1=rTmL<suR9?4jc>8cEa$T(wYW2Vj^Jm)%e+Fkiz+n+V_} zO^2CSEOtChGqZR>k`sH@tj6=r9MP2BsHE~b8(wlZ2j~De>q@t!89{=60xb+=_C@L( z1~3aV@CK)5N6iy)lo(YE@TYrx*oiZ%myLZm$|xq5h|SSPWq*H}tN2u+0sDt{D8ANw zV?M{gtt-`h4u7gBb(t<v`8LJsCg_oLjUzfpkA9~fv7gUfPR!PpFpcOBfPJEmb?XAu zW&hmHn_j!0j<RWcbb+PsFSju8hYp~itmXQc2cG~Bmn+k(R0A&}-TVY&7N)*=;I?of zmF%~oKHa+<9;qF0P%%ODfH2n{JwbEMV?zKZO@;e@b`MyPWueQ1v8=L04E6X;<9RWL zaEX9sA<A~%AB?33ohK0=d#48lE%gIphvyC)U{C>qJn%zUM$^~HP}<-HMAtmh`ii1o z4b-;i)jbb105~3I;~8*l{7D9LEfXVX>%`B=$h2DQhN5a0a{z&_8}X=_z>b4XpLCEh zCoOfulX!gPZT+PLsZh5M#Lp@O*m@i2`_6eRcKPBB6UMBG<rN(ugdz18lSAExS6yZk zAE06YIGicl7{|UH^Vg%Zg{7JEQf*EYeL?HyX+8*5wmdZ)n+LOmgjP3e|9MAwhAU&+ zYh|zzp{l4%7k~wXky@%NZrd?2Fa8<F@KL$ltGy(VS-~wZ7K<*%jO7P|crU?80a9%! zuY7q#^X*vWPin#m14Z}ZNKwudwe@ZN_Xi2rU4Y!0{)Adm-Aa=9tsY*g8u3#V;J!DP zEgzv!IsqbZf&_9wx-(4BTj%{HFay9A_6|448hGF@9&{95eOA4#=kU3m1rRwk=KUeq z4Io0hz-KW|=(~KIoakvdRWveamz&SYsWbsB>(&jF1ny!B_u}8>jR^h#0c%;5y%Qj{ z(*J;RCuK#9YVF4%!CuS}a{&l{Sxn?~K9qai>Nwx5CS_dM4L);*g+X{VqH?Ms#fWi> z@8|MFFLE|P&cfKAH(LGtFa%qj*-$C<WeX;>^;pSo%UCTk0%9xC;ff%egao|fLMQZF zMwLA~I&s95?`r_Iw7AHTf%6O7EY0F)*;^0d5{X2P{PnvyG4jTT5U&SOV~zkl-`dRr zS44XDGd(D=P+FVq!0JC8U_)x#2P%B>7R=3>VhW=8$$$*W4WlPoYaH-Q+nAE<h}mG8 zEEr*ZI&hLVc-)vA;s}^T9qO~?pl&Lv7HOe~Bk?DNj0&Vmp7~;Y2%s=q0Pc7=>lLzg z*im>~VWeQUid*CZ4n@?WI$888Kn&$D;%o+SBmih~L=8_MtCJVk)__Ix$I=3f5G`?I zpwPsm_u%=J&Dg&wvtq;ib)r-TfZed_g2TKcZdF_qH?@HSwX{TXNX;>*3`004A+)gZ zK4`d916&{|%8j*=<m>|-zzyAaq7H*AjX;=iHh4K!M8R>f8CRo}<u%WrTu4I1f``iZ zTmj%uxZ7@p&l~Ik8c(Z`B<ujGVQCZ(4umUZKOZhDI_W7poXF4hFotQjmz=D-N-(O0 zuZh%A(;Aa7gYgDh!P^OcJ`)Aom{3azu?PD@)S*{FMz=V2h28)KE{j(K4vdKVaL;@n zLUt<9J8o|N)>{$uZ2<(A)+Y<lz@7MvAzaM)SNuZe%x*19--!Wg#1<Oe#G~yWKmwA2 zu5hPgVS0)^1Bn5v8X7~Itbw0^!Vi1E`W~RF?1lrz2*3twiY>SB30|kNEC`^m7@PiG zBT2D(GUiCpcLLipidNx?7@3mf{*GZ@8H$$%XfbJ+Nn#uMD=XV!LgwHj0I1yxd;~Ju zw?O$&QDAnvidm1zgwStm52wYR^(hrPr`r-hf)x78+X>fTS4oNn4Hum3(?C`R1vLz{ z0iSs!+ls(-%*4z#o-r6-`MFp)Mz_jb7)$?V6i;L$%mI&d!VxsClI34`iHMGq?h#;` zUby$o(mU%g_FuT`#4SuM@(EM*ETij`@H`6vCgV~!J4R`Q34jXY(fCcnd4NOW=vo*W zOW=ycVnt4{!OlwpFlL64R=*-!o-9u9Oangp5~~Yau{d?|J0Mn$1q6Ts2~__^0p+rB z`w&(hYZWrWK#@dYreT0FLM1<1$B#mC&R=GV0nLB(dp`2KtEkJ^H_G(S)iM|q2L<I; z5FdqOWIqN!B_u*~Rr(mf|ETmFM5!Pi>&yB;9_PDcxOq(K!I?_;?KN5|z#9_4SxW#j z*k$13^O^sl&VgTt(4h1XTm}GBD7N{5n>CMlRiCvM3`Yf>c9{y${(3BXF9FE!eB~0o zX#!M3dP~tP2%$?HtKxw*l19j~GZ?K;KeZj`67sD@txt2#(4IgGf56xF*G_+aS6JY5 z_+DGuzQMzF=soE#X}Fq(6hmkO_}7UGd9Be*7P?#i?CF3~OZ^k|W9tA)21naF_D+G~ z8JJTifTb@|HYNpzYTG&O?oBSFw3@|;-h7Gb1;*TGVA5wm807frjMCrC`-j^uXc!WO zv>vula-tnxjxV)VMyz=L$4zEjGtQuAt7|Dkm2MMbBJLvfwudc_D{zZRi5j<-fi$6X zmz2N!JC4d^MQU?fIy6+Oe*|784sczZzrPkk&bGDMqH*>9WO`c8>g3S4JzB2fIi{zJ zz~g{yhXf%~3>5s;iQU^6iGqm1fyHC_@Gg=;^p%+moqTG3NKW7o5}eGUwg#YyfXkyq z$A-W#J~TN${qZL`vPUa@k=?%^`Ep}c+o>7UIWu)ss6o05=easAYlZ0&h=f*(_&WQD z4~w4>!i@>Dqx^sK^dkvKy!-|h=NgKv3Ejblzr(%fcd<p}trnvLrT#IULN?<~^)<4m z!Xea?os4zZmYjSUQ9tF3o>(l@rnEjJAW0B5#%L+C$FE*Wo*LY*;hr|^R*|l-ukNZ^ zMGtpq|Gu3XTvaaZxRRJ6`uA<e8Ic`-Zc@!{e+>vhqoo?xc{<&|S!Jb#6@T578Jcnm z@;m~kF^Nr(uj7U7We?G!N@8!}ym8D^Zs8?Khn@ut8)3U^KuKq<4v!_`4Ht(ONF0iw zFA0TW#ZgIa-Z2hjD~E|*8YA4U5MQSWc$1BFUVO^)$Q1`_7fArP{Q>>>t;TOU3)m~C zksQC~I3_G_Q|x>g_N~-u2sb=&dBIM_ln47H4Ym6n>CgB{u=@%>stS$%=%ES>yr47V zxd*NC=-kc&)6ke|obi4=z?*PYufeS<E~^~+LgKOoI4Ym)2i%#7NQabifZ^3gz?rWg zkZvd{1O+P5MHD!~TRlP}0nAdgr~WkRLnCVVKv%o#Lh{%xU{?yOY|D^R@w2~EwMpld zjl(uk*9oWwI3f@wETWDO8rT5_LAi-^Z<0I~uGE|2#qz1J@p+-t+t%jq*Gw-6-~i~q z-u^hiWAk&ZaEPl0-i>%U$qXoTP81CTgv_hJYy{D)z4Ji0kL6rR17(mAh$HE;e(Zie z1kqFCXj>=Ua#8h+8P}*YR6Hc(AHZ$LS)}rxYZ{6sg}<zvdt_El0xd}A1)P9v1>C+0 zAWw};G+Z;F+aaeD^MuA8P6F?&;OwcO!_EOU1+zbaN3=rS(s@A_&fql8g?qHnsKp8! zXI~yN&h4hZi93`l|6U3&Jbwi4-l4JR3t3q!fbZv3Ba<l44xa3G=&@Js?vpgp26wCw z@u(9j{DGVT0&HcLE?(oj^(a$P!m`nla(HS9xFWOa%|ld>4#W6|0_fkc@>JBg-Yov5 zuz%ffx%zo@21&Hnq|HXq@UsB^D%0V&1hl$G$vGLT42GD!pPlbSl;W@W5Lc62>qH4F znERR&DKcqK1nTsIc%wK_0lG#4?~Xk327nE;qE_L`=89&t(3^%}<(>-)PIw2XESugu zaDK&awIAU7_x=QMc=hup7(Y<*FVF7y_s6dHwiV5#nWP9SchvQy8)rc5cbhr5uY(wv zVrgYUU4-FAB#($@9Hd2m$>3sMW?14rOukFLP|&;JiC7iksleHLQZlH0MVCfpmr)2a zMtnuBlZ7h>{)mdB2EZ`M^T7pf@lB9XyvtX{i2047u~w9Q;LRi5akw=E*_1bGV9uZq z^YsJMb!AXw1Dz$-rRLrGLO%e-Cdo$}Y%+==pc8LAX}zqYU2%U$=VF#&*Q?aulg(Uq zTmqF0V10015}%RqqAXGRYl9DAAPt}pH2}Kz0AYQ$P5<HtcpaaDkPSU_Kr^%AXb+9b z@PuRF$4ysopB#!+#K{QJ`Ahu6HiGoIa!GyG28+)51dh7fNA4x*UqKwv3RL<R7Xb9U z>=Mwo^tjCa_+?hLYHHWa^zif2@()F{)C-l`j4Qc$(4s)?tLBx*3sZo=RlSZol_8GB z+`9_Rp=ZJUxbz}R^&Z|)D{7Z89VkRUhGO*Npbp15A|e8K=E&`0-Q&-6UKaskH!3f# z;-#J+J1K2*e1{z0<zXiQQ(@&Xmjc6fA9p>M<R@7c=f3!M4#hXx(?uv1#=oI#!qBHm z$wtrDMh00GAvu#5&+bq1_ml>1nj-Ixejb9gt8<J^yd0^a9Ta{vX-{4OcyfWCVrrO~ z1MY5qwvUe_P{kZp4{4Wan)>{R!oFgC9(Bw06t^imFMssT!5OTPI*yAcusW(*5jBdN z{qu>wyo_z-7ElyRl>u#Mg&P}nQDlY}Y`(~Xc~*T9dGhBmTx<&?Ni<f5-A`k|ha-Tj zuj=Aitn<(Cwa`#BQ3V*@0u^SL7Uw}>{f-+Tmp^@cIKdJ{EGIKtFm^&g04*Bu8_odI z7U@vQc_;{Y^YU_3`T%87MgTX3<)Su28aRFGuJ*SLc&a5-lSRqy7ftx*F$WeU^&bG- z7vNrl{v83FgW+DCj}sZ*x+nDgcTfRTO~>xdh;&4gG@RL73$uS-CIFnflRaL#tEwOH zeI&mF{O}rnY+J`RmzRH(FSiEK&|vfleov<qvdQS^=<OOcR=0a|b5+Nk0Dg<Bw$BZA za<n0G{Gk4=reO=sa_MgT@6&5*BMW<XJd|9km)bSMJ%t`F6dTusqLABV&AIyH4sZL} zl>b6Ysr_nmj>!B{mv&?=pYO}>N`+8LV@Io}y1*@lFuZIhvy|TF!34^MVg-Tx`<o7Z z^ND2xb3ezL$?cFCbIHOKkwB;73H{lN84zZkWb*9G4TVR{tM`a4lDWPg*Q3#Ihf#|! z^jW<2%QboAJWwNQ^{Va|V}l5G+*s01Nx)+m@#T9Gg+;}#hPgpF@{<jrfW4Zk(|8Yf zK}t=b8F)2e;SdKnl)l>sph%(y;;a7$ZwQda=0n!N|4M#+z7YbTi7iIR-17bo=H=GJ z99lEXp+NbDZV2QIsCoRwB%qMmcUqhGc*bOm(CDrs!F~XUNh%*~s#2safEsDtV!9Vd z3Y2er22z8D0J7hP|Gsb5Tj}ZoC~0u@G51=hp|4{OR)7a82xFOeGwZv-+XTmyt-G&Z z=kPd--vqxcqtP@YfLt8C5Ju$MTI_va_MlQ2Ui^sKH**#1wvP?kuh&{e9Q)#{PwKpf zRlW4-EMM?rzR??854GFJ$Ul$zNE0~$t9_po1cKMW-A9BWe_popDaROc{Ux&FgpNAD z%d_A@I^gZGd2&8_c?zDL*697NUWBgeptrESBJ+ZxJOv603WT2Vk|Wc;)sX+5E2~*3 ztqcRX$ZN`pFNPA?gPK^)9}jO?X~2faIsP{6M?cgBY3)Gx=g*F{&oT-Ui{^AdG1Xg6 ztWu)nK^tphyWCy;rQGDCJ|3Nn`1`)I+9D0LwQ6tI0qLsn+LJhs_f+Up^tUMR(KYn| zM}2T&kCerZyb6Fl0YqKcl%xm^0ow*_vh-efxbc_qgwVTGgq}g*-3*}8r21txbsHmi z%D{e~=fcsy*T&i64(<zs68o>1!HS#Vd8yRz%$J1$=u&|+2|lQi1;@*(<5N_pa|Qqv z0L5L5MWxq6F(%2pmY5K}=`_z%Qy8wlKlnSS>4mRLkIffZ6*$iRhNFs_hA8>Dpj3H9 z<Nob=XCAB1ptsX^TgGfQy5nGd>E`u}>*c`t$ND+Wf?`{(_$D5<+oUau7%$4lF32Lk zrm2kT_W2(fE(Un*f5H{Q1iqTT85ub`UTt=G;c3-0O}yKVMs-XL`WIAh4jFjFbTKzE zZQd7$b-A1M^a9@~JM!EMJ<m>3w~%}$r{A0ReCbXq&TVGH!WAC;`w`Pt*LD~Uf)y!g zfIX2%nk+B5?|IKSP8S;!S}XMH@yNFfnLyHL%iC}6yGIv~b0$K*2S|SG&Ay1#9TQ?I zN0B*`^o*VygHajIaqnFn|Dv7qb=PWKP!jbu6O%|ozl6|2)5;f;NeC;&8bcuxKtMp$ z{y>K)2))5bHv6vSfP$QyPfRBvko)84#{(L707Rl<?DeBSCeK!8rl~pS$Rv5f_o`<u zzy8?Bk=sqhwEGqE(&`CapYL1yvq;`;<O1<Iqfr~&QJ|PSl?)M+Lj_7$HMt{Z{g;C! zu)U+=WV@D*K8N!VbKO6TU-fRrI>lCz41DhPtueuPxQ_Cn#nY7P2npiK!Cbv3?jkY4 z=sU~O5lJ%ka+WtJ^I2!->T0FwKWQxlCQKYayBR*7u4IjzKUIg?H##lOms86}7x2t! zYFO2u=M^))W*_%cZiJ`nVaew-TFm74_xH<Za1sc5a~luFe{bmgr`m%IQm&n7MSQiT zLVjybjn1MU`%BHv#Yc5$NUIpX;5c>CJ@I?Aoi~XVjSe$h!XoiDRNgH`)6ZgNnM=y9 z)fTghpJ!*1a14%1i_fsPXX;%t6ZJbgb{x6nKqO3L%GA5#!@2l5)$dNljT6rA65SHt zx&*CQVx2u0!$FB@QPIN-F3>K}+_BcuoSb10#0d^{UHBph^b~m&t<6W_d~KArdKW`1 zMoXi|G;CNlTGu&z->c%G{N`_zy+$OLK-c=SIyZ>f!n+#+i<=vLd<Z2OS-*n8)JaE9 zet&b_mQ4DL+oCYy^3@5hptfD%{$Oddv10B=KSV^B>TWc4BtHwSIlR%!mTU@AWKI`v zRpZ(^#)g09volIsNV|9lvd)?~H}cT`{lWJhy02%GIyB#3b|$Md6M~SY9i4|#${kdr zGkK~WQ)oAoABEmqxzuMzhxBq(20?gj{1~*KuNH%$i0+*@oWh*Z9deDywFvGj5Z6ms zg~^s^(k`UzAal4X7i@PDar$W-zrssKU}LZy?q2Ob>Df7B#X%5VqY?zj{C|JOiKgsO z^L552ByY1CL^ah5{+4%Z@pfl*t0cFr)%&D5W%fm(<Vk7x2w~$w&THK%4YCyOub-i4 zCI9D0qiDg{owDMOqxV0KYsQu>RD?9n-KAGg9MgMP)&-i@7Hvlue{2v?D4MFHMc0Fk z!5y(_uDf(?HJ?&m$kXT-1?G+$5Wi1LlWlD@Slo=)9@t0SKg(I4v^OuRS@<06UZip+ zx4-Q_B=4X|rL*Z}TVs9Z@qP0+-RUc@)?L|qv)U&-0^wJ830l0rk*Dx6e<6Q=Aafpx zhw1Qa^f|4J>um1(<+;;a^%F{UpI@JvpJm4xZmqoke70~So-l?$=lkQeU0Ec9aDa4b zqWNE4(?N~aU)0FO4Ra{bZ8&U_=j$!0*yN~v7mO9vV>f=c?);t%b)v1>RR10hjH(X` zYrd0+Hl~#k1Qa(p>K+JtYUBMgb?aTpsApF^FaNZ{tMa8SR5r!U@1OkY%rBzA+S1g6 zchWYnu@33KRlggvh?qo5Cwy}VxrDp^y^a@j8^G$RwvAogP(0DK9T&|GL|`$h><2$z zSYPghu$lCNsJQ55D^Laf`*8_;U`(NU_hP<RsF%x>Yeent?Hx`L9eMSlQiS&pB+;vv zfwFj;J01^}Hl&p+BrhDJ2OLi;4^&l)Ti5-Y6409ynG7_dY1K!qzf)4kV;-HYHkz(A z-Fw@I_`8e)?`f6~ZaFKS_XbrP)SI_n2T^?~H+kN%_Tu>cdbdXP6Y8E?tIi^U(sjVg zY%CdDuw4_rW%!QP1S{4MwMeGWW2G+a$xrZJH)pXDZw<r6>G}%<@WnNYb$#m%{I>6U zv0O_X+$3S6`2BQgYS!-lWTDBR3km^?bY7-XUpdqgS7FG~U6_AUVQrVX?;D5ROA3$k zU<uYwH#7SIQsn@Ns<DC|Y=PEly^Wwoyjwq@D+XgR$BC!ay9PJOQ*us}@rK2q1yygJ zvwai9dRe<4>&qUMU0Df&u12R_ByqRJ8&XGvf4;O))aiOVUoFzg=5L9>pexwO7W5J4 z?Bf|e_3V4ee0{IRtu?G=&t8>vM89Te?x&!TU$pDG6n$qk3qO5#*^4TSCeZmdwvgFW zO3fp_rbe&Vx;&j1v+UKAy5Vo;S?y1kgL45@KDMV9WLc%#l6(O|37x$M-M>Vny#_x# z**sn^P3641^oQy@@fE<>Hbgf58!=iTiRIpZJnw*dgwSzEzWGW?*+~M4u<rBQ$t*_P zCJ2^G@D9{gqDgkoO?9@Z_QmpeRx|%Xcuo50Tz%xKA1x~w!HfOU?J`9Yx8(IXp@33a zKVc0EkSORV2M9?MdvG0vKvzV^gUNce+#b($8uj58D}MV^dc8jq#WGK}s&97oW%tm( z5Up_K*xyXFxBN-q`?@lVL1%j{M@@skh9%gTbONO8WS4_ciWct6)e!uv0S#=eMBgzt z0#fMEnxziD*#mtFJiRTIx#pe5Ut<kYv%SF;9;bb72g9VVkjV<Vn@>jLtmH{y6~qka zbYQYn4^oXXGU=H>IJWPS*R(gZwAUY<WE4L`q_=g+f@*eL-|Ig6bmOF0POwm}dHq}- z4Gm9^@Xy(upfO%Ae`VI)ifKT3*ypK%h&eaIt<7?-b@nTPz>|M+Xu$irZ1P-xxBLJa z6=$opVN0EMNI?+Wt09NwmRt=cjedXn@dA<^)uep&>?Bju!Qk17Ntt?i?go$DdO{;G zYSC*2b@?Kl<e2(x`v+eSn@^m${(Td6iE1n|FFr$-l1WX_E|oV7fI|v!lgs4JRWFw` zZ$nZof=BBj<f-FqU7-Fl8JF7r{stKYXTZc#`dYqDmL~h|?bvL0UtB1^Bvqx$Bb__) zlkdCT+i5k?^MK-ZslNA><H!%QQS@rvNAqKz{6GJ5vhwNd55ah_=nUFYo2Bj6uXk5_ zc%6@wmCC=;gJ3bvmTOB9<w1>>bHAnH@MMzdd94@!b>`k(_y~QQ%xrUeUD`^26xf_T z@1(+EE6QQ==v&&(e%Zb`VYg6vt)EJ^Y(99kTe+^fyVI=Bru?fHi->zuGf94_Am(X@ z4O$&OU#@kHziP7QdK0cm3whnuE2K3+=x1^pmx<BpMfZF1kSm<E;jCeIQI`6%zpvM} zxm2|wu<CcQk}#b=kmaOR&apz0B~w_}>HAu7bA#jL`r3z-K|h<D`|#%%4~ZF1P=u(> zj03MiALQ<V+bVo+O?-sP@h2jm2Kf*~`I}vf#Sn18a<}uck3U9Xyy~oSf8eaeneX~& zsyK}{HA1Uz2po~Va!vD=(cXvU2{L7Mf#I?P@9yZSwat5Mm_%^P=X+!M`^!HJ%!y(x z!n=9OH7o;i$P3X_6zDTdmkgiFp0$aLrT3io6-(@&0$xq&EGCI}iEQ7RmMT0>SL)Xm zhNXf(Eo=^k{Qx5ao30nA9O!0s80&>Mml;KGDR#f={Us^jcD*n8neL@n9?$NIzW${m z>F-xU%gU*ReOS%p=iVT_>~M&P!Yi+_V9<E#(7Jy3uUITb@5g99S}Q+76e1$3LIdY4 z@m9`ZcAJuyhiA79f4#tgqWql^1SagtcPvhL`jn$qXLa*Bq6+P(Q|Lt}47*X()3T0I zC(f;Q9=9_z`}V7)R@ZXNj^FsQDV^8%UDa`h$?SQG!v|58IZg{gSf~sp3{$pL{x+hi z0$!0f(x|QR_!DI_d19s4s}1%fp~f6et32^x1z!^r$)`0c++SNyt2R3LL@xZ!8$~ea zlAq6;6)~BziPIEhL85iqjj$sl_EiQ#<=&5V0W-~99Q;WxIoiQdonYsbJPwB6rRkh3 z7$WvBLI|x$Jmfcz)7aK-)>4@MCbP49T*ngmjmP4_VYU~%s!K%SCjD(GzDqHn9DUst z6H-DFTEAYk{-=<|D@R83;4aquoZbI7(7(Dz@3H4%0Y~U9ZG61YDU-KR>w-o(KlE** z{W|%8RL1N1U^L0|C~IaGO;)wshvD~5mibM-U`<2ZS_si(qKehsk&Qq2xJn4C`XFwo z!C7h&VSOOZAC@E;=l3^)qX{o%zJj&|sN`TrbW~oR7MF34e}|8cN0rw(V!=0=LVlT> zrXeo0Nuy6U$7H*^G8b#j{KJ1=;04D@)zFPIg25cE;E<V`=gdF-ZL98?QxtMJ9KQoD zyF~bU?h$^yVE>aA?Le;HicYQ6yrBN&VTKsRdIMazA*1;O;T~5_gPnnT_>geqBC=XI z@DzsKV$P}XdZ*d`r<}eJO&~pLtR*&B2u@trEOD;9xRKC9W9xs7m?*eNVbqh`azcpg zY2G4K|0QX5Zg4b?GuQdrL2E`nWxL0H)*br!#zxVar3T(tN6t_tquFe%?HU)Cy`<A_ zLykrmh)mV5$fY~=<Ja}clKa;hPIYcE>zJDE%$W4agZB)0#w;d;&R#UpqHlL=H~2gs zzdH|`bEz8X@n=ZHGsgR78;_-vg*kd$T7$PmP3PVT2i2Lg{T)4Kb1y>=`3_;weUmjU zC?c6Uonw({_QkVWGRkVx+c}L={^V_s$ogfoWxe!$B)*+Rn#JznPgMta9gNZ0GF3Wf zC0&xDj&Glp%iBwFi}O*udo)n_F7u#bIMJTZDj-@yG$1EUZf|;>x}3WC>FP?q-s=Sw z2tE?=)O}B3Wblp%Un#X(syYd-4s6WY*ZaP3HuEb9f7L+1qKk;rYTm@RxzLCfblEy3 zWI*y7g<bvqZ@J$DIYIl2AD3<Vp0%uy5*ig^toCfFYQ6K38@Awo(R0QguM;xp-_Ht# zLK!aUa`KS79mD!|A<J3A4kS>WX~0ev=1sm(O+!ouNMf^SOY@h-R<yBHH$5OMje|h$ zTV|mbFo$8AcBf4;_n+?a`+6SBTaG|Ku}e+v;^fo<N^+jexX-T$VxO3`J(YKpDpske z7#bRSy_rkircx0x=Sd3x!k$?ZlCowg_M_|l&GPN#@y5RK`n8HM;#4u>TPgbg7D&$~ zccMYCjQac}1s~Dz0g=Am=KsB4P`){-SWS_EF{YXxRpdE9w9^rfb^VBr8C#5j5TE-_ zEv}3f%C6wBIxAiijNr3@4-Oa1Hlh?L8N$uTn;g$v4f{WNHWfFfhC_5QaDKmlTebE0 z(e!=?<g&5TxB{!Yk2t7a4kX`jsJF+dnEh;CS38|%yCN==9vjP>W}DD~0FUwWLT&^t zVkvROEZ(yPO(>azGR?nkFwV!Nfq4>Q2i82N<t^Rv66ef(9`0C?(cZmv|K9!P?0SpC z7Uh<_(=Z=~j8})Y?SAL|Sd<<X_{cp)@_V}ja9yu=)b)Q`T^Gpt-M^UoCE^l-pMz?) zDLnF5kOXblxpnl{Haq^dT~2+oaZzx(&OnWN0)s^G{4Ewjxq4oyb2RpT5Jts|<Li3u z^*3s+OHHF~>rBlK2ec~BdZ~$u0F@kXe0?wm{BJnUrv*6~E1V9;X>f*&4QYmoa~P9l zr+50ia6T?ga8&w^wS%UwgS%_RyOM<U&l@;~F20|6#h<tsHvJyWG7!&8i(C1xrL5tQ zG71qn$|50RyO&4mZonz!g!W3+(h<5)7wMx#MT<FB_J)M!DzrKf@HS`ONOkP%#CVfr z%=Df&8F(1=RtfgSX@}{H9h5^^a1n<rmxbHc74W{SH&`m{^e*AO{SK8NGQOfuGM)zV zCx~1ofeCpsdxOyXYutfJ1D;k>HSK^2v7|LLtwi#c7uV_3t?T#a<hTv*O`q>)t*&g< z9h}u~Sj)l4^#3;m1(0le5im55r7(HDy>xwN7&lg`LX?cT@VYdVDODLDeW@2wXq$9i z<3{9THvS~AHV63+FS*A)0!H9GWneOEEf2W(*=ET(xAoFP+$Mu1)txeoI!%GP`<|Sb z6)A(r5fJ}U*JK@Wo&Ii~XZti+10QvhjmQ0Ib;7^>kq+~T8z7KC&M84SBVhk7wb-Z( z`u<<lEprP6)@Awq^0cq|F$GfYq1^W<d}G8P#5RkG?Mu*gQ}o5<_QcZbj$A5}NU&Y| z!e+C*6V9vDwUPH*h_Fg;CP&g5E+T#3k6Z$w_jdKSr6(qiC-q-(WL{hDCNz~R;s2${ z9Pc`%$zSi6>SM{@Ezw5DQoaKv21A(6h{2X$mtgFEiE@m<oBP+T=LrRh^MJ)($t9rU zf_E}(v0jSTZE-q*Zxp+@xy|0xd<>X<pO?Kr@@`LC^HI#-;`BzS8bwm5j^2NbjP!8Y zixFZyXr(UjH)Fm*-*$U)32xx%G)OL-I)aBu9cTkG*_Y6*6DU>BFK9)wKy969-sfMK z7a=MET$T{T!qHMf_uRZYJTUD9f|F7;+Ebv}LTwuy8amE#LUbiHOFlqn{NLIgFZ92l z@_bKqFdQfL&ga;&eoFvKza_z(QlWu7AKjGE9}iZ;toM#|BOAL@?-*O_Zaxk=IlSMT zcydMveQu7#-<>N~eEujw{Fcn1d+3q891<q%u}HDMbS}-P;2&rKh1D#V0KAD(SvSy2 zjhOWUtrGQOnitTFSwcy|=YI2A-G)l;>4wJ#r3;KP3q5DsUaVu0V+g%_ZyEIw-a65P zn4(tf>T&+(Ues|0VX*El(`nwJGkU)Q0Un?0VuT*AjJW!<V$LLT&C}P|`m@E}HpB6Y zZYSrip8t9=I!8sBnfQTyb<Fm>ZD;$g8Vj%9v3~}oE?x)16>CHPr<yB|hPv<Dn8}bO zrm_yk-ZIw6zVBpL$Tl+E$dqx1sKKC+T}&uz;kG1<HPK+w*s{wmTiHcqOFci-xu55` z&wb8&pZA>ioOk}1Kjt^{U9RtSeSV+M_4%EN?p%@)`26X((52f#zALuEMjp1cU!Mcj z-jDBld4YQ)t@=qfQe`ngBiX*41pWj_6wPDR^^)$|T}Fv-L$M~j-?p9Zf0v#GGKX%F zY|Ez(0YgGEr2JinIn7cIxn<bdDj-EkRrCu7f3kECWIbnLBHqd`Y{*fxEO}4?TNC_u zZ(8XapRE#HaPKcjNZ!6L=14I2UK+G$z0}9$s?Y+5;DJ)^N`?D3B5tfABkg^?sO`!r z*E9tg6>oRKsB*yF5V1c%kSlH~@*?N^fk0Snw@P=&Ew{xg28WQs^^o2|bD-qy&1F!z z<5OD{sfpDEwIS#78_?vqbfA*&3dCq;bh1OmBYl$!qS%>U_g9@!VxjF71PV2M!X&Y$ zODik8H`SxYl<@KSvEwuE>#fzUmuV;gfe5?5Ywe{`(Cq!*uF$uM*YH_;*^@>s-bz<l zuDnUgwc844Y7=ODd6!qb+|BXGgxn1t*3uP?_VgSx`r)Ly{@UctI^pEVAq3CUF>)F9 z^3wW%C#09IzhkxT@#ZHErmdUoawMJOS0bQV_E_&sEin5>#~0|bV=L-l4dSZ&?)DnP zwZ>AXjFQ27aX(&t-=*rQZgso7z@%6mJzai~x3?*wKLdM3QZpU|p5zQ{=ht3in}Z-; zhUylp*WExOz%^1XwH+?)PB+BfxRG^Yijsr}itR4%b+U-8B>w1A_HrLHITpxphT=^# zPv9%nJ!8FV^Ya(ljkw2;Ir%{F6M@xIrTVq1_MNY!#C2j|@3+tRrjG{1>W#ei(bzA3 z+xuwytNnTp5WmJs92q)l*B@|7{UJ(gVb(I&jg4d#TiV)NFpV95$cfJxALmu1vgGYs zSu%htFmXs1Sl6s~Ks|t39Mhe>79gBhsn_ES*e}@E!b%VN$!?#>rP#eYUV%I7&R;%t zZZ*>F&vNUTVK9QmPX_<MvJlkoaXJKI<Fw1n^IR?$B(jp1M<xn$R2&*{c?lZXrc>s| zl-*vLCk5V!43}Pi4<+DonhDy`tyG3)fq=JEuCTRiBdVN;;Mc~^=j7d06R}rRGZJMx ze+6+^>Q!0nDUG);*Oy}t5~Qse$cW|Jo5H4X`d<VR1@gjnlS&%8%tJ=*(ba0lEQti* zziWH&r<fEuPdYZ;w#;v}qFA%TM)o+RiI0hw+{%{XWJEC7ojNC9*D_wYT$h-5b~x=< z1RExr#cWLk8oGyl72ylea$g+SVL5r0z-C#2dJAI+yE^AVm6di8EDIFCJuU`S7lBG- zLIqp#C(lktYQA<e7iT3{D{H@Y9IG!l73%^r5VNQvZrvEnxUM?-+Ia@Xqu02zKC1*c z7VO|A#ia_vN}^pjk_K$A6S$_8ov4T|cVY<v{Ke-sRjJpwf&r7_i4PJ*;a`)-5P)Q- zZztk%h6wau2opoY<!-isQg#j2Ee_drRQ>6L;dJ=lGL{R*xG&^7WT_w9?A*I5Wr1sR z^pVa(pL@_WJv|*d<M7=~i&KgtUGWuNGvJ22upLc<O?b@~<>ScOoiH28;>4JWM)c`@ z?zj}$o9H(KUetuuYsbGe#r5W0Xy-mD;?%O}V4mgO`oztVNjGf^uPDPt)u0OaNS(eD z&lUVPLXhuRHr-FLe<EY1NZQL=AOxd`k-+#ZvRb-+Pewh=^cE7Oo641Eg#J2)-tlcz zsxkcl4u%Ff1g0%*X>8$QWp34qp(jRMUNi{qG|cxiC-1&s9;^;tz&u>P`x)6<>a-Xv zz{Ixt;4(WMd>}`d96BH0<1v}-kxjR1VSi?^5+&D(_o(U)_k2PP3iTOYV$vU8ZQ0r9 z$noaMR%ug+wjR6}6gdRvaT=@lFJSa9d1-As3{>=IB=6GmCeJz=qs!O<^=Ehn$2Po6 zd%U;Oc>ZBLAor7$5P62U^nqfu#7M^JX1`Z{buQt879T}N4KSb?q>JEyU1<7Hz^<DC zUiidxums@77V=0NCfBax2lQ+naem+al#Om1*G-o6ZMqY%mA9&A_+nskB(%n7SzD{k z%8OiUWtWfs1AJxKw&JC`0w--Xd+Osfr?tzgrBkX~akrKm7KqX3P9}xYN{w8P-poI< zC?J!-xm?~Gv(9M+4e>cm1z6<IUYhQY`RM7|AD@@?LZNX~J5Sd|Itp$8cDef*&c`Hm zQl)bc%qG3lAL+NrpK(IvabIR_oTLEf?IIwW{9dT6@KWiy_C{+d;ZsnB?-oru5ikRI z%IBQLaLI+*qL>&Mr_8&7df|&cTyxL_3*R?aAU7;hJcKS~4%uHXGS;#du8ALY%}ev? z8+iUD7G`ZgKWtAEt~nLIpuOokBFO7^wh!m5-K;1HWkgLxMH^mg=qP2{tUCoYnxV!& z3g~Qi?cZ|0x+5!LkUM|JOfU;2wJO+YCgeX`=W)H)@>S9|y#X*OaO&I$EeS}OLVi!g zWJ>;}V*xZOSnckU;PJYO@{^)`bjmY=^5CS(2v2y7v(rN>in0P)VJOHTdMSn*WOlw% zFGZ<?-gWqUMM}h%o<i@z?q#=;6rgv*flE_@6y=ZlGzGJ>6c1P59vB{h@iImBlNsKb zw&2|3P~M{idC#Y<6w$VMsF(aT%y}fP{suJZV83L(FL8zQOrBhfq*4zLD4pt8^~Q)U z;P24}#-vYQeNn&Pu&I#&+$Y`@w4>B&KDL#26ta5o$OHfZ{rdUJE31&(-)P8pY;EeM zKQcRAe5E2YODF^<Y~>W&NC);NKk8Xjo`K=mo@<->#`rTvc_#oZo6(k|wu$7=wuuF# zikTl8p~Dy1u2Gz;LG=FBDjK4r70w13$Q9d;V!fKmlsaPuP4e0vjQX~Q%rd0{CNj*} zf$v8_Wofo9Jh#x)1Ji^%#T^UGkV$#am1)NaNrfvEgp7nYgx)4;X|mU(GE(0EH8}g1 z5tR~>mFCm+QBQc`bbLRKQ!0qsQ!r)vk}H#MHKS0U+NSOl-?nO06j*g`(h7gyn^F>F z5TzvrjgyV*cSN?ND~nQbICGf@$W-!2DA+<yPBF7GJI}bUL)mE|RIraEsyJLb5$a?b z?Fokzf@E9){B^9~rgXtqf|`j5I3TI81@nZ*$5W6i1Y(@stXSc9P)I-51(aWIVN8g* zkWP=4sK5so*9XAHiehvC3U^U(5R*_b7qZkwC*_k(ApQIiksm-3l2D4QFeht{fn(%W zv9L8_PlXOCDyN6J#r@eg9LSohI=_Q~Llsmlc?8M9QcaZ-s%ey&`1vWB{AKYuj&?ys zpS_arHhK*|<B`PIF33uGn`sJ9uJHfk`5~_zcYZ5k`asu;`OCIhekUQ-6@Q|t0SkAM z3qJ<`J#>c?PmdVV7lLEpg-yf+C9Ex2s#QKy_lAcK^x!B+{GyHAGwuLXo^Yb05rTr9 zOplOY>8F8smB@RBP<QD@C3-)hWtd`grAM$^NtTebKI7QfX@k0&N)Zf;R48gZTcj%r z83ABHjbECd=F2o4pw#kmQb?$7@)qai#xR>|1JujZAmS*(<bY-!`~tuY3w{_G2xb6u z{O?T%4%w6`QG!CY5TUFMkZULb3NMj}BiI*CAWj&jAv$mMV?0}DbUE7Yfk){LC2jyr zStB0~0jmB<NC5qXOn(6k^If>MHWhrs6JgNwlEQjtR-D`F<=61!QVV%L>*z!kfR!Mb ziW)VLD~08Kxp$$|n6O0vyaJtHldGS2TP9UR7kAp8@u9Jm(c=w`W-m*wuw0`Da{{B- ze?I>Q8N`pM(^PlW<QQj=-XEwLGUFG|EXtnbAaQkFi($JIu5(0JWH<<efB+!HhzB+S zG`4903oxR**{sU)Vk3jJts$pcqL+227~dbtZZO1_0U#(NShgMLOM_Byg3Z|+ld6nI zY>tR8J7hCu^no0x@&Coi1NksV(<A<#7ksThJKszn#D!Uc=ns$DJrpEo#Z?VJHzVIF ze*hgsiW;C8yVWm27YkyJVBg2hHk^Gpn^G)4BdGO%t+(wH2(k2?<vzU9@Y-aeU&Qpd z?fNL`%~Sh$^Xe(9l0i48nzW$vS@|stkTQ90K*xt<NccsDY}A{L+dtLx4Ejq>(|(J% zoEJVzgYkGgJ}$1L%Q@kZfY>Gb@$RQOKW>>73;shz>x+i<6TK$tv5zmJ_4V}Pe-rhJ zo_RwyNMIEbTisrpj^Sua1KTnh3jPh*1<&Wcon}4~OcL9aDl8Jv{IuW1Yzc=IH}C|- zg$w5C4}qo5akNCnAFXu0H;+piuRvQ3OV$6I=&XO`QtVrP(clv#vhFzv5>A$dnNGF& zOMRQ8bcrJHbeW<*uwn%Og_%Ex9U}bpzZo|1ZJILnYP#pfTz6A({3|v;z4gYKS-Wb_ z22-b+he2&w`K15pIWYt3QCzKsz5f=$q)x*d`tNV1z%BnjJ^-$p^pS|r|NI&a?<r}C s63zemF^!fXJ%af!L!SJ9F=X!#O7uR#+I*v8iUN4)X&Gr2t0RN|1p^(j!2kdN diff --git a/pyecharts/__init__.py b/pyecharts/__init__.py index 7cb00cd7a..69ec45c73 100644 --- a/pyecharts/__init__.py +++ b/pyecharts/__init__.py @@ -17,8 +17,6 @@ from pyecharts.charts.kline import Kline -Candlestick = Kline - from pyecharts.charts.line import Line from pyecharts.charts.line3D import Line3D from pyecharts.charts.liquid import Liquid @@ -45,3 +43,6 @@ from pyecharts.conf import configure from pyecharts.echarts.style import Style from pyecharts.conf import jupyter_image + +# alias +Candlestick = Kline diff --git a/pyecharts/chart.py b/pyecharts/chart.py index 35ffab020..486c05a6d 100644 --- a/pyecharts/chart.py +++ b/pyecharts/chart.py @@ -398,3 +398,82 @@ def _config_components( if not is_toolbox_show: self._option.pop("toolbox", None) + + +class Chart3D(Chart): + """ + `Chart3D`类是所有 3D 类图表的基类,继承自 `Chart` 类 + """ + + def __init__(self, title="", subtitle="", **kwargs): + kwargs["renderer"] = constants.CANVAS_RENDERER + super(Chart3D, self).__init__(title, subtitle, **kwargs) + self._js_dependencies.add("echartsgl") + self._3d_chart_type = None # 3d chart type, don't use it directly + + def add(self, *args, **kwargs): + self.__chart3d_add(*args, **kwargs) + + def __chart3d_add( + self, + name, + data, + grid3d_opacity=1, + grid3d_shading=None, + xaxis3d_type="value", + yaxis3d_type="value", + zaxis3d_type="value", + **kwargs + ): + """ + + :param name: + 系列名称,用于 tooltip 的显示,legend 的图例筛选。 + :param data: + 数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』。 + :param grid3d_opacity: + 3D 笛卡尔坐标系组的透明度(线的透明度),默认为 1,完全不透明。 + :param grid3d_shading: + 三维柱状图中三维图形的着色效果。 + color: + 只显示颜色,不受光照等其它因素的影响。 + lambert: + 通过经典的 lambert 着色表现光照带来的明暗。 + realistic: + 真实感渲染,配合 light.ambientCubemap 和 postEffect 使用可以让 + 展示的画面效果和质感有质的提升。ECharts GL 中使用了基于物理的渲 + 染(PBR)来表现真实感材质。 + :param xaxis3d_type: + 空间直角 3D 图表 x 轴类型 + :param yaxis3d_type: + 空间直角 3D 图表 y 轴类型 + :param zaxis3d_type: + 空间直角 3D 图表 z 轴类型 + :param kwargs: + """ + chart = self._get_all_options( + xaxis3d_type=xaxis3d_type, + yaxis3d_type=yaxis3d_type, + zaxis3d_type=zaxis3d_type, + **kwargs + ) + + self._option.get("legend")[0].get("data").append(name) + self._option.update( + xAxis3D=chart["xaxis3D"], + yAxis3D=chart["yaxis3D"], + zAxis3D=chart["zaxis3D"], + grid3D=chart["grid3D"], + ) + + self._option.get("series").append( + { + "type": self._3d_chart_type, + "name": name, + "data": data, + "label": chart["label"], + "shading": grid3d_shading, + "itemStyle": {"opacity": grid3d_opacity}, + } + ) + self._config_components(**kwargs) diff --git a/pyecharts/charts/bar3D.py b/pyecharts/charts/bar3D.py index 19bb9bc68..fc285066c 100644 --- a/pyecharts/charts/bar3D.py +++ b/pyecharts/charts/bar3D.py @@ -1,18 +1,16 @@ # coding=utf-8 -from pyecharts.chart import Chart -import pyecharts.constants as constants +from pyecharts.chart import Chart3D -class Bar3D(Chart): +class Bar3D(Chart3D): """ <<< 3D 柱状图 >>> """ - def __init__(self, title="", subtitle="", **kwargs): - kwargs["renderer"] = constants.CANVAS_RENDERER - super(Bar3D, self).__init__(title, subtitle, **kwargs) - self._js_dependencies.add("echartsgl") + def __init__(self, *args, **kwargs): + super(Bar3D, self).__init__(*args, **kwargs) + self._3d_chart_type = "bar3D" def add(self, *args, **kwargs): self.__add(*args, **kwargs) @@ -51,31 +49,16 @@ def __add( 染(PBR)来表现真实感材质。 :param kwargs: """ - kwargs.update( + super(Bar3D, self).add( + name, + data, + grid3d_opacity=grid3d_opacity, + grid3d_shading=grid3d_shading, xaxis3d_type="category", yaxis3d_type="category", zaxis3d_type="value", + **kwargs ) - chart = self._get_all_options(**kwargs) - self._option.get("legend")[0].get("data").append(name) - self._option.update( - xAxis3D=chart["xaxis3D"], - yAxis3D=chart["yaxis3D"], - zAxis3D=chart["zaxis3D"], - grid3D=chart["grid3D"], - ) self._option.get("xAxis3D").update(data=x_axis) self._option.get("yAxis3D").update(data=y_axis) - - self._option.get("series").append( - { - "type": "bar3D", - "name": name, - "data": data, - "label": chart["label"], - "shading": grid3d_shading, - "itemStyle": {"opacity": grid3d_opacity}, - } - ) - self._config_components(**kwargs) diff --git a/pyecharts/charts/funnel.py b/pyecharts/charts/funnel.py index 65a5fa120..39614eb8f 100644 --- a/pyecharts/charts/funnel.py +++ b/pyecharts/charts/funnel.py @@ -32,8 +32,8 @@ def __add(self, name, attr, value, **kwargs): for data in zip(attr, value): _name, _value = data _data.append({"name": _name, "value": _value}) - for a in attr: - self._option.get("legend")[0].get("data").append(a) + for element in attr: + self._option.get("legend")[0].get("data").append(element) _dset = set(self._option.get("legend")[0].get("data")) self._option.get("legend")[0].update(data=list(_dset)) diff --git a/pyecharts/charts/geo.py b/pyecharts/charts/geo.py index 1cd4b3b82..1ade569cf 100644 --- a/pyecharts/charts/geo.py +++ b/pyecharts/charts/geo.py @@ -18,6 +18,7 @@ def __init__(self, title="", subtitle="", **kwargs): def add_coordinate(self, name, longitude, latitude): """ Add a geo coordinate for a position. + :param name: The name of a position :param longitude: The longitude of coordinate. :param latitude: The latitude of coordinate. @@ -28,6 +29,7 @@ def add_coordinate(self, name, longitude, latitude): def get_coordinate(self, name, raise_exception=False): """ Return coordinate for the city name. + :param name: City name or any custom name string. :param raise_exception: Whether to raise exception if not exist. :return: A list like [longitude, latitude] or None @@ -70,14 +72,8 @@ def __add( :param type: 图例类型,有'scatter', 'effectscatter', 'heatmap'可选。 :param maptype: - 地图类型。 支持 china、world、安徽、澳门、北京、重庆、福建、福建、甘肃、 - 广东,广西、广州、海南、河北、黑龙江、河南、湖北、湖南、江苏、江西、吉林、 - 辽宁、内蒙古、宁夏、青海、山东、上海、陕西、山西、四川、台湾、天津、香港、 - 新疆、西藏、云南、浙江,以及 [363个二线城市](https://github.com/chfw/ - echarts-china-cities-js#featuring-citiesor-for-single-download]地图。 - 提醒: - 在画市级地图的时候,城市名字后面的‘市’要省去了,比如,石家庄市的 - ‘市’不要提,即‘石家庄’就可以了。 + 地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县, + 全球国家等地图,具体请参考 [地图自定义篇](zh-cn/customize_map) :param symbol_size: 标记图形大小。 :param border_color: diff --git a/pyecharts/charts/geolines.py b/pyecharts/charts/geolines.py index 202a63aeb..26266637f 100644 --- a/pyecharts/charts/geolines.py +++ b/pyecharts/charts/geolines.py @@ -1,52 +1,21 @@ # coding=utf-8 -from pyecharts.chart import Chart -from pyecharts.datasets.coordinates import get_coordinate +from pyecharts.charts.geo import Geo from pyecharts.constants import SYMBOL -class GeoLines(Chart): +class GeoLines(Geo): """ <<< 地理坐标系线图 >>> 用于带有起点和终点信息的线数据的绘制,主要用于地图上的航线,路线的可视化。 """ - def __init__(self, title="", subtitle="", **kwargs): - super(GeoLines, self).__init__(title, subtitle, **kwargs) + def __init__(self, *args, **kwargs): + super(GeoLines, self).__init__(*args, **kwargs) self._zlevel = 1 - self._coordinates = {} - def add_coordinate(self, name, longitude, latitude): - """ - Add a geo coordinate for a position. - :param name: The name of a position - :param longitude: The longitude of coordinate. - :param latitude: The latitude of coordinate. - :return: - """ - self._coordinates.update({name: [longitude, latitude]}) - - def get_coordinate(self, name, raise_exception=False): - """ - Return coordinate for the city name. - :param name: City name or any custom name string. - :param raise_exception: Whether to raise exception if not exist. - :return: A list like [longitude, latitude] or None - """ - if name in self._coordinates: - return self._coordinates[name] - - coordinate = get_coordinate(name) - if coordinate is None and raise_exception: - raise ValueError("No coordinate is specified for {}".format(name)) - - return coordinate - - def add(self, *args, **kwargs): - self.__add(*args, **kwargs) - - def __add( + def add( self, name, data, @@ -74,14 +43,8 @@ def __add( 数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』。每一行包含两个数据, 如 ["广州", "北京"],则指定从广州到北京。 :param maptype: - 地图类型。 支持 china、world、安徽、澳门、北京、重庆、福建、福建、甘肃、 - 广东,广西、广州、海南、河北、黑龙江、河南、湖北、湖南、江苏、江西、吉林、 - 辽宁、内蒙古、宁夏、青海、山东、上海、陕西、山西、四川、台湾、天津、香港、 - 新疆、西藏、云南、浙江,以及 [363个二线城市](https://github.com/chfw/ - echarts-china-cities-js#featuring-citiesor-for-single-download]地图。 - 提醒: - 在画市级地图的时候,城市名字后面的‘市’要省去了,比如,石家庄市的 - ‘市’不要提,即‘石家庄’就可以了。 + 地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县, + 全球国家等地图,具体请参考 [地图自定义篇](zh-cn/customize_map) :param symbol: 线两端的标记类型,可以是一个数组分别指定两端,也可以是单个统一指定。 :param symbol_size: diff --git a/pyecharts/charts/line3D.py b/pyecharts/charts/line3D.py index 27fd82cf2..69d09c271 100644 --- a/pyecharts/charts/line3D.py +++ b/pyecharts/charts/line3D.py @@ -1,53 +1,13 @@ # coding=utf-8 -from pyecharts.chart import Chart -import pyecharts.constants as constants +from pyecharts.chart import Chart3D -class Line3D(Chart): +class Line3D(Chart3D): """ <<< 3D 折线图 >>> """ - def __init__(self, title="", subtitle="", **kwargs): - kwargs["renderer"] = constants.CANVAS_RENDERER - super(Line3D, self).__init__(title, subtitle, **kwargs) - self._js_dependencies.add("echartsgl") - - def add(self, *args, **kwargs): - self.__add(*args, **kwargs) - - def __add(self, name, data, grid3d_opacity=1, **kwargs): - """ - - :param name: - 系列名称,用于 tooltip 的显示,legend 的图例筛选。 - :param data: - 数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』。 - :param grid3d_opacity: - 3D 笛卡尔坐标系组的透明度(线的透明度),默认为 1,完全不透明。 - :param kwargs: - """ - kwargs.update( - xaxis3d_type="value", yaxis3d_type="value", zaxis3d_type="value" - ) - chart = self._get_all_options(**kwargs) - - self._option.get("legend")[0].get("data").append(name) - self._option.update( - xAxis3D=chart["xaxis3D"], - yAxis3D=chart["yaxis3D"], - zAxis3D=chart["zaxis3D"], - grid3D=chart["grid3D"], - ) - - self._option.get("series").append( - { - "type": "line3D", - "name": name, - "data": data, - "label": chart["label"], - "itemStyle": {"opacity": grid3d_opacity}, - } - ) - self._config_components(**kwargs) + def __init__(self, *args, **kwargs): + super(Line3D, self).__init__(*args, **kwargs) + self._3d_chart_type = "line3D" diff --git a/pyecharts/charts/map.py b/pyecharts/charts/map.py index d36bc62df..04d85bffc 100644 --- a/pyecharts/charts/map.py +++ b/pyecharts/charts/map.py @@ -35,15 +35,8 @@ def __add( :param value: 属性所对应的值。 :param maptype: - 地图类型。 支持 china、world、安徽、澳门、北京、重庆、福建、福建、甘肃、广东, - 广西、广州、海南、河北、黑龙江、河南、湖北、湖南、江苏、江西、吉林、辽宁、 - 内蒙古、宁夏、青海、山东、上海、陕西、山西、四川、台湾、天津、香港、新疆、 - 西藏、云南、浙江,以及 [363个二线城市地图](https://github.com/chfw/echarts- - china-cities-js#featuring-citiesor-for-single-download)。 - 提醒: - 在画市级地图的时候,城市名字后面的‘市’要省去了,比如,石家庄市的‘市’不要提, - 即‘石家庄’就可以了。地图提供了自定义模式 [用户如何自定义地图](https://github.com/ - chenjiandongx/pyecharts/blob/master/docs/zh-cn/user-customize-map.md) + 地图类型。 从 v0.3.2+ 起,地图已经变为扩展包,支持全国省份,全国城市,全国区县, + 全球国家等地图,具体请参考 [地图自定义篇](zh-cn/customize_map) :param is_roam: 是否开启鼠标缩放和平移漫游。默认为 True 如果只想要开启缩放或者平移,可以设置成'scale'或者'move'。设置成 True 为都开启。 diff --git a/pyecharts/charts/scatter3D.py b/pyecharts/charts/scatter3D.py index 0f90e48b9..99a8bcb52 100644 --- a/pyecharts/charts/scatter3D.py +++ b/pyecharts/charts/scatter3D.py @@ -1,53 +1,13 @@ # coding=utf-8 -from pyecharts.chart import Chart -import pyecharts.constants as constants +from pyecharts.chart import Chart3D -class Scatter3D(Chart): +class Scatter3D(Chart3D): """ <<< 3D 散点图 >>> """ - def __init__(self, title="", subtitle="", **kwargs): - kwargs["renderer"] = constants.CANVAS_RENDERER - super(Scatter3D, self).__init__(title, subtitle, **kwargs) - self._js_dependencies.add("echartsgl") - - def add(self, *args, **kwargs): - self.__add(*args, **kwargs) - - def __add(self, name, data, grid3d_opacity=1, **kwargs): - """ - - :param name: - 系列名称,用于 tooltip 的显示,legend 的图例筛选 - :param data: - 数据项,数据中,每一行是一个『数据项』,每一列属于一个『维度』 - :param grid3d_opacity: - 3D 笛卡尔坐标系组的透明度(点的透明度),默认为 1,完全不透明。 - :param kwargs: - """ - kwargs.update( - xaxis3d_type="value", yaxis3d_type="value", zaxis3d_type="value" - ) - chart = self._get_all_options(**kwargs) - - self._option.get("legend")[0].get("data").append(name) - self._option.update( - xAxis3D=chart["xaxis3D"], - yAxis3D=chart["yaxis3D"], - zAxis3D=chart["zaxis3D"], - grid3D=chart["grid3D"], - ) - - self._option.get("series").append( - { - "type": "scatter3D", - "name": name, - "data": data, - "label": chart["label"], - "itemStyle": {"opacity": grid3d_opacity}, - } - ) - self._config_components(**kwargs) + def __init__(self, *args, **kwargs): + super(Scatter3D, self).__init__(*args, **kwargs) + self._3d_chart_type = "scatter3D" diff --git a/pyecharts/conf.py b/pyecharts/conf.py index 88e755f9b..829a16842 100644 --- a/pyecharts/conf.py +++ b/pyecharts/conf.py @@ -124,7 +124,6 @@ def configure( force_js_embed=None, output_image=None, global_theme=None, - **kwargs ): """ Config all items for pyecharts when use chart.render() or page.render(). @@ -137,7 +136,6 @@ def configure( Values such as 'svg', 'jpeg', 'png' changes chart presentation in jupyter notebook to those image formats, instead of 'html' format. - :param kwargs: """ if jshost: CURRENT_CONFIG.jshost = jshost diff --git a/pyecharts/utils/__init__.py b/pyecharts/utils/__init__.py index 8492d3385..9edbbb3dc 100644 --- a/pyecharts/utils/__init__.py +++ b/pyecharts/utils/__init__.py @@ -1,12 +1,12 @@ # coding=utf-8 from __future__ import unicode_literals -from future.utils import viewitems - import os import sys import codecs +from future.utils import viewitems + PY3 = sys.version_info[0] == 3 if PY3: @@ -41,23 +41,23 @@ def write_utf8_html_file(file_name, html_content): :param html_content: :return: """ - with codecs.open(file_name, "w+", encoding="utf-8") as f: - f.write(html_content) + with codecs.open(file_name, "w+", encoding="utf-8") as html_file: + html_file.write(html_content) -def to_css_length(x): +def to_css_length(pixcel_number): """ Return the standard length string of css. It's compatible with number values in old versions. - :param x: + :param pixel_number: :return: """ - if isinstance(x, (int, float)): - return "{}px".format(x) + if isinstance(pixcel_number, (int, float)): + return "{}px".format(pixcel_number) else: - return x + return pixcel_number def _flat(obj): @@ -95,9 +95,9 @@ def _add(_item): elif _item not in dependencies: dependencies.append(_item) - for d in chart_or_name_list: - for _d in _flat(d): - _add(_d) + for dependency_list in chart_or_name_list: + for a_dependency in _flat(dependency_list): + _add(a_dependency) fol = [x for x in front_optional_items if x in fist_items] return front_required_items + fol + dependencies diff --git a/test/fixtures/bar3d_options.json b/test/fixtures/bar3d_options.json new file mode 100644 index 000000000..11f0a3616 --- /dev/null +++ b/test/fixtures/bar3d_options.json @@ -0,0 +1,227 @@ +{ + "color": [ + "#c23531", + "#2f4554", + "#61a0a8", + "#d48265", + "#749f83", + "#ca8622", + "#bda29a", + "#6e7074", + "#546570", + "#c4ccd3", + "#f05b72", + "#ef5b9c", + "#f47920", + "#905a3d", + "#fab27b", + "#2a5caa", + "#444693", + "#726930", + "#b2d235", + "#6d8346", + "#ac6767", + "#1d953f", + "#6950a1", + "#918597", + "#f6f5ec" + ], + "grid3D": { + "boxDepth": 80, + "boxHeight": 100, + "boxWidth": 200, + "viewControl": { + "autoRotate": false, + "autoRotateSpeed": 10, + "rotateSensitivity": 1 + } + }, + "legend": [ + { + "data": [ + "" + ], + "left": "center", + "orient": "horizontal", + "selectedMode": "multiple", + "show": true, + "textStyle": { + "fontSize": 12 + }, + "top": "top" + } + ], + "series": [ + { + "data": [ + [ + 1, + 1, + 1 + ] + ], + "itemStyle": { + "opacity": 1 + }, + "label": { + "emphasis": { + "show": true, + "textStyle": { + "fontSize": 12 + } + }, + "normal": { + "position": "top", + "show": false, + "textStyle": { + "fontSize": 12 + } + } + }, + "shading": "color", + "type": "bar3D" + } + ], + "series_id": "1", + "title": [ + { + "left": "auto", + "subtextStyle": { + "fontSize": 12 + }, + "text": "3D \u67f1\u72b6\u56fe\u793a\u4f8b", + "textStyle": { + "fontSize": 18 + }, + "top": "auto" + } + ], + "toolbox": { + "feature": { + "dataView": { + "show": true + }, + "restore": { + "show": true + }, + "saveAsImage": { + "show": true, + "title": "\u4e0b\u8f7d\u56fe\u7247" + } + }, + "left": "95%", + "orient": "vertical", + "show": true, + "top": "center" + }, + "tooltip": { + "axisPointer": { + "type": "line" + }, + "backgroundColor": "rgba(50,50,50,0.7)", + "borderColor": "#333", + "borderWidth": 0, + "textStyle": { + "fontSize": 14 + }, + "trigger": "item", + "triggerOn": "mousemove|click" + }, + "visualMap": { + "calculable": true, + "inRange": { + "color": [ + "#313695", + "#4575b4", + "#74add1", + "#abd9e9", + "#e0f3f8", + "#ffffbf", + "#fee090", + "#fdae61", + "#f46d43", + "#d73027", + "#a50026" + ] + }, + "left": "left", + "max": 20, + "min": 0, + "orient": "vertical", + "showLabel": true, + "splitNumber": 5, + "text": [ + "high", + "low" + ], + "top": "bottom", + "type": "continuous" + }, + "xAxis3D": { + "axisLabel": { + "interval": "auto", + "margin": 8 + }, + "data": [ + "12a", + "1a", + "2a", + "3a", + "4a", + "5a", + "6a", + "7a", + "8a", + "9a", + "10a", + "11a", + "12p", + "1p", + "2p", + "3p", + "4p", + "5p", + "6p", + "7p", + "8p", + "9p", + "10p", + "11p" + ], + "nameGap": 20, + "nameTextStyle": { + "fontSize": 16 + }, + "type": "category" + }, + "yAxis3D": { + "axisLabel": { + "interval": "auto", + "margin": 8 + }, + "data": [ + "Saturday", + "Friday", + "Thursday", + "Wednesday", + "Tuesday", + "Monday", + "Sunday" + ], + "nameGap": 20, + "nameTextStyle": { + "fontSize": 16 + }, + "type": "category" + }, + "zAxis3D": { + "axisLabel": { + "margin": 8 + }, + "nameGap": 20, + "nameTextStyle": { + "fontSize": 16 + }, + "type": "value" + } +} \ No newline at end of file diff --git a/test/fixtures/geolines.json b/test/fixtures/geolines.json new file mode 100644 index 000000000..f224f06da --- /dev/null +++ b/test/fixtures/geolines.json @@ -0,0 +1,589 @@ +{ + "backgroundColor": "#404a59", + "color": [ + "#a6c84c", + "#ffa022", + "#46bee9", + "#a6c84c", + "#ffa022", + "#46bee9", + "#c23531", + "#2f4554", + "#61a0a8", + "#d48265", + "#749f83", + "#ca8622", + "#bda29a", + "#6e7074", + "#546570", + "#c4ccd3", + "#f05b72", + "#ef5b9c", + "#f47920", + "#905a3d", + "#fab27b", + "#2a5caa", + "#444693", + "#726930", + "#b2d235", + "#6d8346", + "#ac6767", + "#1d953f", + "#6950a1", + "#918597", + "#f6f5ec" + ], + "geo": { + "itemStyle": { + "emphasis": { + "areaColor": "#2a333d" + }, + "normal": { + "areaColor": "#323c48", + "borderColor": "#111" + } + }, + "label": { + "emphasis": { + "show": true, + "textStyle": { + "color": "#eee" + } + } + }, + "map": "china", + "roam": true + }, + "legend": [ + { + "data": [ + "\u4ece\u5e7f\u5dde\u51fa\u53d1", + "\u4ece\u5317\u4eac\u51fa\u53d1" + ], + "left": "right", + "orient": "horizontal", + "selectedMode": "single", + "show": true, + "textStyle": { + "color": "#eee", + "fontSize": 12 + }, + "top": "top" + } + ], + "series": [ + { + "data": [ + { + "coords": [ + [ + 113.23, + 23.16 + ], + [ + 121.48, + 31.22 + ] + ], + "fromName": "\u5e7f\u5dde", + "toName": "\u4e0a\u6d77" + }, + { + "coords": [ + [ + 113.23, + 23.16 + ], + [ + 116.46, + 39.92 + ] + ], + "fromName": "\u5e7f\u5dde", + "toName": "\u5317\u4eac" + }, + { + "coords": [ + [ + 113.23, + 23.16 + ], + [ + 118.78, + 32.04 + ] + ], + "fromName": "\u5e7f\u5dde", + "toName": "\u5357\u4eac" + }, + { + "coords": [ + [ + 113.23, + 23.16 + ], + [ + 106.54, + 29.59 + ] + ], + "fromName": "\u5e7f\u5dde", + "toName": "\u91cd\u5e86" + }, + { + "coords": [ + [ + 113.23, + 23.16 + ], + [ + 103.73, + 36.03 + ] + ], + "fromName": "\u5e7f\u5dde", + "toName": "\u5170\u5dde" + }, + { + "coords": [ + [ + 113.23, + 23.16 + ], + [ + 120.19, + 30.26 + ] + ], + "fromName": "\u5e7f\u5dde", + "toName": "\u676d\u5dde" + } + ], + "effect": { + "color": "#fff", + "period": 6, + "show": true, + "symbol": "path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z", + "symbolSize": 15, + "trailLength": 0 + }, + "lineStyle": { + "normal": { + "curveness": 0.2, + "opacity": 0.6, + "type": "solid", + "width": 1 + } + }, + "name": "\u4ece\u5e7f\u5dde\u51fa\u53d1", + "symbol": [ + "none", + "arrow" + ], + "symbolSize": 12, + "type": "lines", + "zlevel": 2 + }, + { + "coordinateSystem": "geo", + "data": [ + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u4e0a\u6d77", + "value": [ + 121.48, + 31.22, + 0 + ] + }, + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u5357\u4eac", + "value": [ + 118.78, + 32.04, + 0 + ] + }, + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u91cd\u5e86", + "value": [ + 106.54, + 29.59, + 0 + ] + }, + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u5170\u5dde", + "value": [ + 103.73, + 36.03, + 0 + ] + }, + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u676d\u5dde", + "value": [ + 120.19, + 30.26, + 0 + ] + } + ], + "label": { + "emphasis": { + "show": true, + "textStyle": { + "fontSize": 12 + } + }, + "normal": { + "formatter": "{b}", + "position": "right", + "show": true, + "textStyle": { + "color": "#eee", + "fontSize": 12 + } + } + }, + "name": "\u4ece\u5e7f\u5dde\u51fa\u53d1", + "symbolSize": 10, + "type": "scatter", + "zlevel": 2 + }, + { + "data": [ + { + "coords": [ + [ + 116.46, + 39.92 + ], + [ + 121.48, + 31.22 + ] + ], + "fromName": "\u5317\u4eac", + "toName": "\u4e0a\u6d77" + }, + { + "coords": [ + [ + 116.46, + 39.92 + ], + [ + 113.23, + 23.16 + ] + ], + "fromName": "\u5317\u4eac", + "toName": "\u5e7f\u5dde" + }, + { + "coords": [ + [ + 116.46, + 39.92 + ], + [ + 118.78, + 32.04 + ] + ], + "fromName": "\u5317\u4eac", + "toName": "\u5357\u4eac" + }, + { + "coords": [ + [ + 116.46, + 39.92 + ], + [ + 106.54, + 29.59 + ] + ], + "fromName": "\u5317\u4eac", + "toName": "\u91cd\u5e86" + }, + { + "coords": [ + [ + 116.46, + 39.92 + ], + [ + 103.73, + 36.03 + ] + ], + "fromName": "\u5317\u4eac", + "toName": "\u5170\u5dde" + }, + { + "coords": [ + [ + 116.46, + 39.92 + ], + [ + 120.19, + 30.26 + ] + ], + "fromName": "\u5317\u4eac", + "toName": "\u676d\u5dde" + } + ], + "effect": { + "color": "#fff", + "period": 6, + "show": true, + "symbol": "path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z", + "symbolSize": 15, + "trailLength": 0 + }, + "lineStyle": { + "normal": { + "curveness": 0.2, + "opacity": 0.6, + "type": "solid", + "width": 1 + } + }, + "name": "\u4ece\u5317\u4eac\u51fa\u53d1", + "symbol": [ + "none", + "arrow" + ], + "symbolSize": 12, + "type": "lines", + "zlevel": 3 + }, + { + "coordinateSystem": "geo", + "data": [ + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u4e0a\u6d77", + "value": [ + 121.48, + 31.22, + 0 + ] + }, + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u5e7f\u5dde", + "value": [ + 113.23, + 23.16, + 0 + ] + }, + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u5357\u4eac", + "value": [ + 118.78, + 32.04, + 0 + ] + }, + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u91cd\u5e86", + "value": [ + 106.54, + 29.59, + 0 + ] + }, + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u5170\u5dde", + "value": [ + 103.73, + 36.03, + 0 + ] + }, + { + "name": "\u5317\u4eac", + "value": [ + 116.46, + 39.92, + 0 + ] + }, + { + "name": "\u676d\u5dde", + "value": [ + 120.19, + 30.26, + 0 + ] + } + ], + "label": { + "emphasis": { + "show": true, + "textStyle": { + "fontSize": 12 + } + }, + "normal": { + "formatter": "{b}", + "position": "right", + "show": true, + "textStyle": { + "color": "#eee", + "fontSize": 12 + } + } + }, + "name": "\u4ece\u5317\u4eac\u51fa\u53d1", + "symbolSize": 10, + "type": "scatter", + "zlevel": 3 + } + ], + "series_id": "1", + "title": [ + { + "left": "center", + "subtextStyle": { + "fontSize": 12 + }, + "text": "GeoLines \u793a\u4f8b", + "textStyle": { + "fontSize": 18 + }, + "top": "#fff" + } + ], + "toolbox": { + "feature": { + "dataView": { + "show": true + }, + "restore": { + "show": true + }, + "saveAsImage": { + "show": true, + "title": "\u4e0b\u8f7d\u56fe\u7247" + } + }, + "left": "95%", + "orient": "vertical", + "show": true, + "top": "center" + }, + "tooltip": { + "axisPointer": { + "type": "line" + }, + "backgroundColor": "rgba(50,50,50,0.7)", + "borderColor": "#333", + "borderWidth": 0, + "textStyle": { + "fontSize": 14 + }, + "trigger": "item", + "triggerOn": "mousemove|click" + } +} \ No newline at end of file diff --git a/test/fixtures/scatter3d_options.json b/test/fixtures/scatter3d_options.json new file mode 100644 index 000000000..7822acaf1 --- /dev/null +++ b/test/fixtures/scatter3d_options.json @@ -0,0 +1,201 @@ +{ + "color": [ + "#c23531", + "#2f4554", + "#61a0a8", + "#d48265", + "#749f83", + "#ca8622", + "#bda29a", + "#6e7074", + "#546570", + "#c4ccd3", + "#f05b72", + "#ef5b9c", + "#f47920", + "#905a3d", + "#fab27b", + "#2a5caa", + "#444693", + "#726930", + "#b2d235", + "#6d8346", + "#ac6767", + "#1d953f", + "#6950a1", + "#918597", + "#f6f5ec" + ], + "grid3D": { + "boxDepth": 100, + "boxHeight": 100, + "boxWidth": 100, + "viewControl": { + "autoRotate": false, + "autoRotateSpeed": 10, + "rotateSensitivity": 1 + } + }, + "legend": [ + { + "data": [ + "" + ], + "left": "center", + "orient": "horizontal", + "selectedMode": "multiple", + "show": true, + "textStyle": { + "fontSize": 12 + }, + "top": "top" + } + ], + "series": [ + { + "data": [ + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + 1 + ], + [ + 1, + 1, + 1 + ] + ], + "itemStyle": { + "opacity": 1 + }, + "label": { + "emphasis": { + "show": true, + "textStyle": { + "fontSize": 12 + } + }, + "normal": { + "position": "top", + "show": false, + "textStyle": { + "fontSize": 12 + } + } + }, + "type": "scatter3D" + } + ], + "series_id": "1", + "title": [ + { + "left": "auto", + "subtextStyle": { + "fontSize": 12 + }, + "text": "3D \u6563\u70b9\u56fe\u793a\u4f8b", + "textStyle": { + "fontSize": 18 + }, + "top": "auto" + } + ], + "toolbox": { + "feature": { + "dataView": { + "show": true + }, + "restore": { + "show": true + }, + "saveAsImage": { + "show": true, + "title": "\u4e0b\u8f7d\u56fe\u7247" + } + }, + "left": "95%", + "orient": "vertical", + "show": true, + "top": "center" + }, + "tooltip": { + "axisPointer": { + "type": "line" + }, + "backgroundColor": "rgba(50,50,50,0.7)", + "borderColor": "#333", + "borderWidth": 0, + "textStyle": { + "fontSize": 14 + }, + "trigger": "item", + "triggerOn": "mousemove|click" + }, + "visualMap": { + "calculable": true, + "inRange": { + "color": [ + "#313695", + "#4575b4", + "#74add1", + "#abd9e9", + "#e0f3f8", + "#ffffbf", + "#fee090", + "#fdae61", + "#f46d43", + "#d73027", + "#a50026" + ] + }, + "left": "left", + "max": 100, + "min": 0, + "orient": "vertical", + "showLabel": true, + "splitNumber": 5, + "text": [ + "high", + "low" + ], + "top": "bottom", + "type": "continuous" + }, + "xAxis3D": { + "axisLabel": { + "interval": "auto", + "margin": 8 + }, + "nameGap": 20, + "nameTextStyle": { + "fontSize": 16 + }, + "type": "value" + }, + "yAxis3D": { + "axisLabel": { + "interval": "auto", + "margin": 8 + }, + "nameGap": 20, + "nameTextStyle": { + "fontSize": 16 + }, + "type": "value" + }, + "zAxis3D": { + "axisLabel": { + "margin": 8 + }, + "nameGap": 20, + "nameTextStyle": { + "fontSize": 16 + }, + "type": "value" + } +} \ No newline at end of file diff --git a/test/test_options.py b/test/test_options.py index 9af7eed91..d9ac599b3 100644 --- a/test/test_options.py +++ b/test/test_options.py @@ -5,13 +5,14 @@ import json from pyecharts import Polar, Kline, Bar, Scatter, Line3D, Geo +from pyecharts import Scatter3D, Bar3D, GeoLines, Style from pyecharts_javascripthon.api import DefaultJsonEncoder from nose.tools import eq_ from mock import patch from test.utils import get_fixture_content -from test.constants import RANGE_COLOR +from test.constants import RANGE_COLOR, X_TIME, Y_WEEK @patch("random.randint") @@ -202,3 +203,101 @@ def test_geo_china_scatter(patched): expected = get_fixture_content(fixture) for a, b in zip(actual_options.split("\n"), expected.split("\n")): eq_(a.strip(), b.strip()) + + +@patch("random.randint") +def test_scatter3d_default(patched): + fixture = "scatter3d_options.json" + patched.return_value = "1" + + data = [[1, 1, 1] for _ in range(3)] + scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600) + scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR) + actual_options = json.dumps( + scatter3d.options, sort_keys=True, indent=4, cls=DefaultJsonEncoder + ) + expected = get_fixture_content(fixture) + for a, b in zip(actual_options.split("\n"), expected.split("\n")): + eq_(a.strip(), b.strip()) + + +@patch("random.randint") +def test_bar3d_default(patched): + fixture = "bar3d_options.json" + patched.return_value = "1" + bar3d = Bar3D("3D 柱状图示例", width=1200, height=600) + bar3d.add( + "", + X_TIME, + Y_WEEK, + [[1, 1, 1]], + is_visualmap=True, + visual_range=[0, 20], + visual_range_color=RANGE_COLOR, + grid3d_width=200, + grid3d_depth=80, + ) + actual_options = json.dumps( + bar3d.options, sort_keys=True, indent=4, cls=DefaultJsonEncoder + ) + expected = get_fixture_content(fixture) + + for a, b in zip(actual_options.split("\n"), expected.split("\n")): + eq_(a.strip(), b.strip()) + + +style = Style( + title_top="#fff", + title_pos="center", + width=1200, + height=600, + background_color="#404a59", +) + +style_geo = style.add( + is_label_show=True, + line_curve=0.2, + line_opacity=0.6, + legend_text_color="#eee", + legend_pos="right", + geo_effect_symbol="plane", + geo_effect_symbolsize=15, + label_color=["#a6c84c", "#ffa022", "#46bee9"], + label_pos="right", + label_formatter="{b}", + label_text_color="#eee", + legend_selectedmode="single", +) + + +@patch("random.randint") +def test_geolines(patched): + fixture = "geolines.json" + patched.return_value = "1" + data_guangzhou = [ + ["广州", "上海"], + ["广州", "北京"], + ["广州", "南京"], + ["广州", "重庆"], + ["广州", "兰州"], + ["广州", "杭州"], + ] + data_beijing = [ + ["北京", "上海"], + ["北京", "广州"], + ["北京", "南京"], + ["北京", "重庆"], + ["北京", "兰州"], + ["北京", "杭州"], + ] + lines = GeoLines("GeoLines 示例", **style.init_style) + lines.add("从广州出发", data_guangzhou, **style_geo) + lines.add("从北京出发", data_beijing, **style_geo) + + actual_options = json.dumps( + lines.options, sort_keys=True, indent=4, cls=DefaultJsonEncoder + ) + expected = get_fixture_content(fixture) + + for a, b in zip(actual_options.split("\n"), expected.split("\n")): + eq_(a.strip(), b.strip())