summaryrefslogtreecommitdiff
path: root/packages/python/python-pyqt/04_qreal_api_fixes.dpatch
blob: abd9e3f4cd18ec2aa3bbf9a32a8c23c71b71924f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
#! /bin/sh /usr/share/dpatch/dpatch-run
## 04_qreal_api_fixes.dpatch by Torsten Marek <shlomme@debian.org>
##
## DP: Exchanges double by qreal in some wrapped methods.

@DPATCH@
diff -urNad python-qt4-4.3~/sip/QtCore/qlist.sip python-qt4-4.3/sip/QtCore/qlist.sip
--- python-qt4-4.3~/sip/QtCore/qlist.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtCore/qlist.sip	2007-09-02 00:35:53.000000000 +0200
@@ -322,8 +322,8 @@
 %End
 };
 %If (Qt_4_3_0 -)
-// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples.
-%MappedType QList<QPair<double, double> >
+// QList<QPair<float, float> > is implemented as a Python list of 2-element tuples.
+%MappedType QList<QPair<float, float> >
 {
 %TypeHeaderCode
 #include <qlist.h>
@@ -340,7 +340,7 @@
     // Set the list elements.
     for (int i = 0; i < sipCpp->size(); ++i)
     {
-        const QPair<double, double> &p = sipCpp->at(i);
+        const QPair<float, float> &p = sipCpp->at(i);
         PyObject *pobj;
 
         if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL)
@@ -370,16 +370,16 @@
         return 1;
     }
 
-    QList<QPair<double, double> > *ql = new QList<QPair<double, double> >;
+    QList<QPair<float, float> > *ql = new QList<QPair<float, float> >;
  
     for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
     {
         PyObject *tup = PyList_GET_ITEM(sipPy, i);
 
-        double first = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0));
-        double second = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 1));
+        float first = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0));
+        float second = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 1));
  
-        ql->append(QPair<double, double>(first, second));
+        ql->append(QPair<float, float>(first, second));
     }
  
     *sipCppPtr = ql;
@@ -389,9 +389,9 @@
 };
 %End
 %If (Qt_4_3_0 -)
-// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
-template<double, TYPE>
-%MappedType QList<QPair<double, TYPE> >
+// QList<QPair<float, TYPE> > is implemented as a Python list of 2-element tuples.
+template<float, TYPE>
+%MappedType QList<QPair<float, TYPE> >
 {
 %TypeHeaderCode
 #include <qlist.h>
@@ -408,7 +408,7 @@
     // Set the list elements.
     for (int i = 0; i < sipCpp->size(); ++i)
     {
-        const QPair<double, TYPE> &p = sipCpp->at(i);
+        const QPair<float, TYPE> &p = sipCpp->at(i);
         TYPE *t = new TYPE(p.second);
         PyObject *pobj;
 
@@ -447,12 +447,12 @@
         return 1;
     }
 
-    QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >;
+    QList<QPair<float, TYPE> > *ql = new QList<QPair<float, TYPE> >;
  
     for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
     {
         PyObject *tup = PyList_GET_ITEM(sipPy, i);
-        double d;
+        float d;
         int state;
 
         d = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0));
@@ -466,7 +466,7 @@
             return 0;
         }
 
-        ql->append(QPair<double, TYPE>(d, *t));
+        ql->append(QPair<float, TYPE>(d, *t));
 
         sipReleaseInstance(t, sipClass_TYPE, state);
     }
@@ -524,8 +524,8 @@
     return sipGetState(sipTransferObj);
 %End
 };
-// QList<double> is implemented as a Python list of floats.
-%MappedType QList<double>
+// QList<float> is implemented as a Python list of floats.
+%MappedType QList<float>
 {
 %TypeHeaderCode
 #include <qlist.h>
@@ -561,7 +561,7 @@
     if (sipIsErr == NULL)
         return PyList_Check(sipPy);
 
-    QList<double> *ql = new QList<double>;
+    QList<float> *ql = new QList<float>;
  
     for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
         ql->append(PyFloat_AsDouble(PyList_GET_ITEM(sipPy, i)));
diff -urNad python-qt4-4.3~/sip/QtCore/qvector.sip python-qt4-4.3/sip/QtCore/qvector.sip
--- python-qt4-4.3~/sip/QtCore/qvector.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtCore/qvector.sip	2007-09-02 00:35:53.000000000 +0200
@@ -143,8 +143,8 @@
     return sipGetState(sipTransferObj);
 %End
 };
-// QVector<double> is implemented as a Python list of floats.
-%MappedType QVector<double>
+// QVector<float> is implemented as a Python list of floats.
+%MappedType QVector<float>
 {
 %TypeHeaderCode
 #include <qvector.h>
@@ -180,7 +180,7 @@
     if (sipIsErr == NULL)
         return PyList_Check(sipPy);
 
-    QVector<double> *ql = new QVector<double>;
+    QVector<float> *ql = new QVector<float>;
  
     for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
         ql->append(PyFloat_AsDouble(PyList_GET_ITEM(sipPy, i)));
@@ -190,9 +190,9 @@
     return sipGetState(sipTransferObj);
 %End
 };
-// QVector<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
+// QVector<QPair<float, TYPE> > is implemented as a Python list of 2-element tuples.
 template<TYPE>
-%MappedType QVector<QPair<double, TYPE> >
+%MappedType QVector<QPair<float, TYPE> >
 {
 %TypeHeaderCode
 #include <qvector.h>
@@ -209,7 +209,7 @@
     // Set the list elements.
     for (int i = 0; i < sipCpp->size(); ++i)
     {
-        const QPair<double, TYPE> &p = sipCpp->at(i);
+        const QPair<float, TYPE> &p = sipCpp->at(i);
         TYPE *pt = new TYPE(p.second);
         PyObject *pobj;
 
@@ -248,14 +248,14 @@
         return 1;
     }
 
-    QVector<QPair<double, TYPE> > *qv = new QVector<QPair<double, TYPE> >;
+    QVector<QPair<float, TYPE> > *qv = new QVector<QPair<float, TYPE> >;
  
     for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
     {
         PyObject *tup = PyList_GET_ITEM(sipPy, i);
         int state;
         TYPE *s;
-        QPair<double, TYPE> p;
+        QPair<float, TYPE> p;
 
         p.first = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0));
 
diff -urNad python-qt4-4.3~/sip/QtGui/qbrush.sip python-qt4-4.3/sip/QtGui/qbrush.sip
--- python-qt4-4.3~/sip/QtGui/qbrush.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtGui/qbrush.sip	2007-09-02 00:35:53.000000000 +0200
@@ -138,7 +138,7 @@
 
 QDataStream &operator>>(QDataStream &, QBrush & /Constrained/);
 QDataStream &operator<<(QDataStream &, const QBrush & /Constrained/);
-typedef QVector<QPair<double, QColor> > QGradientStops;
+typedef QVector<QPair<float, QColor> > QGradientStops;
 
 class QGradient
 {
diff -urNad python-qt4-4.3~/sip/QtGui/qgraphicsitemanimation.sip python-qt4-4.3/sip/QtGui/qgraphicsitemanimation.sip
--- python-qt4-4.3~/sip/QtGui/qgraphicsitemanimation.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtGui/qgraphicsitemanimation.sip	2007-09-02 00:35:53.000000000 +0200
@@ -64,19 +64,19 @@
 
 public:
 %If (Qt_4_3_0 -)
-    QList<QPair<double, QPointF> > posList() const;
+    QList<QPair<float, QPointF> > posList() const;
 %End
 %If (Qt_4_3_0 -)
-    QList<QPair<double, double> > rotationList() const;
+    QList<QPair<float, float> > rotationList() const;
 %End
 %If (Qt_4_3_0 -)
-    QList<QPair<double, QPointF> > translationList() const;
+    QList<QPair<float, QPointF> > translationList() const;
 %End
 %If (Qt_4_3_0 -)
-    QList<QPair<double, QPointF> > scaleList() const;
+    QList<QPair<float, QPointF> > scaleList() const;
 %End
 %If (Qt_4_3_0 -)
-    QList<QPair<double, QPointF> > shearList() const;
+    QList<QPair<float, QPointF> > shearList() const;
 %End
 
 private:
diff -urNad python-qt4-4.3~/sip/QtGui/qpainterpath.sip python-qt4-4.3/sip/QtGui/qpainterpath.sip
--- python-qt4-4.3~/sip/QtGui/qpainterpath.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtGui/qpainterpath.sip	2007-09-02 00:35:53.000000000 +0200
@@ -194,8 +194,8 @@
     void setCurveThreshold(qreal threshold);
     qreal curveThreshold() const;
     void setDashPattern(Qt::PenStyle);
-    void setDashPattern(const QVector<double> &dashPattern);
-    QVector<double> dashPattern() const;
+    void setDashPattern(const QVector<float> &dashPattern);
+    QVector<float> dashPattern() const;
     QPainterPath createStroke(const QPainterPath &path) const;
 %If (Qt_4_3_0 -)
     void setDashOffset(qreal offset);
diff -urNad python-qt4-4.3~/sip/QtGui/qpen.sip python-qt4-4.3/sip/QtGui/qpen.sip
--- python-qt4-4.3~/sip/QtGui/qpen.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtGui/qpen.sip	2007-09-02 00:35:53.000000000 +0200
@@ -91,8 +91,8 @@
     void setCapStyle(Qt::PenCapStyle pcs);
     Qt::PenJoinStyle joinStyle() const;
     void setJoinStyle(Qt::PenJoinStyle pcs);
-    QVector<double> dashPattern() const;
-    void setDashPattern(const QVector<double> &pattern);
+    QVector<float> dashPattern() const;
+    void setDashPattern(const QVector<float> &pattern);
     qreal miterLimit() const;
     void setMiterLimit(qreal limit);
     bool operator==(const QPen &p) const;
diff -urNad python-qt4-4.3~/sip/QtGui/qtextoption.sip python-qt4-4.3/sip/QtGui/qtextoption.sip
--- python-qt4-4.3~/sip/QtGui/qtextoption.sip	2007-09-02 00:35:50.000000000 +0200
+++ python-qt4-4.3/sip/QtGui/qtextoption.sip	2007-09-02 00:35:53.000000000 +0200
@@ -62,8 +62,8 @@
     typedef QFlags<QTextOption::Flag> Flags;
     QFlags<QTextOption::Flag> flags() const;
     qreal tabStop() const;
-    void setTabArray(QList<double> tabStops);
-    QList<double> tabArray() const;
+    void setTabArray(QList<float> tabStops);
+    QList<float> tabArray() const;
     void setUseDesignMetrics(bool b);
     bool useDesignMetrics() const;
     void setAlignment(Qt::Alignment aalignment);
O /> N;?"DW7P>g hx}ƫd8@kwefZq۷W[̴;ո9! kQŹcw7A mMPYX" J556g aQbO:>;U &>}#VLuЯx2mr wnx!a1{*+RU +6f(\WE;c~81m9c#p~īs,h;~qzUTe<+A{DXc/^At7%^Zyc߿GN_`5FOqk^ Z Y밠۳9<:ZP vrt]N{f}MFa].ga# o!򴝻|&9Np/pQ@`  jAkیX3t¤):E2@ux28#~C “jT^qG: oh4ɜm-@h`\soR%r9dfq, Aw@(^?nH>"|@ }}L{V%=΃l-OA0u_p ?YQ I@2;r u,٧R|mX.'LAΞGܱ "ӌ>ws|y^ >Ss%sۀet>\tVa9ƒ1[fEi6R0NOϩgrr / vD߾)kYxMW a('Y^C:%&M@aP#$f༉{/*2zHM&5'{]Tvv; K!σt:atKto?_cr+}>Ѭ#/+~//-^<_]gs^ ])mlt:{ZmN ʝe ~$RF'G2%~:-Oi7apƐZ;T8tA`&SN/X/o"BEch:ˉ0ۦu[qIY:k&5i$GKkKQC1aNv o8G?7=圳HAilbiGsã'D;ʹ)&NbtCtq t.p|SLl..9vSl\Lgi / ::LTC{Ll[]BOaA䣥T5RzqoʃGWw鍧 wȳ8ƅG*^xK;A{ t w7>foFPt⽉]^u C~ݍa+0|!fNDdUL JaΟtLtЙܗ+#.1;iW}UY[t: 3 tXB`0vy#k9 2yk/>h~ 2~ {KF>n-"gc͆(JjN5jwsgc}^i7;cIbC*$9( vn6EֱNٲƈ; UIvuU֐A67:A Ui3bq:0)"a )!V2byeBէ3Z bM0iY\wSzhze1ZLa ਢ0oSo '+^aT 1Xg1u,YW)+ ;vSqJHػ!SG~'dcOwM?'9'LX4zc ZIuù49VU 7{LF2!m*= u(nǜZߊ*̱x`uNE q2[׳T2D+- QUMi)k$Y ClW& fy4rZ}В=ó 7vdHw֭~))oJ_bw>hrLsOR,Q@@U ϒoD|\ ,OJ)jdA2 Y7|%-WMH12|oY(mv)ܦvS]pERۃ޻Ǿמl\8;rwexIɫ8W .ACC@n%O8 $rH8a  gȒi&IQÉqnCŐn (ֈѲY(sQ p7pܔq~8i{л4&~\. q 呁 yRoD`ΓhItPL Z{iA@xY S;TDY܉j:Th1F]0*2֛ib#Fg]t;4׸s ~Ǔzfjedy^ءuf[ GKk$yUuՌp{T y.ut!XtM'topo eʠ"cI',:(l08Ez}Jـqc긜HfDZFxm\s19}oWeoa:eܲ Rbȏs1ZۭmcF:"`(m!>O8m~io5ZO 2'\=M5C˯tgJ8J\e3x]rU6޶w[mi؄jE쓌qCroi$"y_|mR5e:Mh =iܻt!m^w1Ê#H[4}j ߂M08❋yଋɢj$8eӑ=-/\rz)o4^ۍm0 `“fG9vIM>-&y(_Yz8Э.Ь1!B7@!z-4vMǥKֺxmn-uT5l=l3u²Z{qyx|f\װµ!$cEɂ@:^<f nCj<Î@q#2Bg53g$ ȐFJ!hNqxi5u-r;87vSҥa2H>qgt AW @lp'3]I,ݒ1rwNvۙLOxpĥ*8a+)pH-SAv 5Mm>@BJYN؅d~#g9[Trt|y2Z<BNb`d4Zk7 qL)*36 rOSeCVʃ'l)^G̦>E(c9*Qh;ij/we?mM$aԔF.gVZX#kjݗi- z~f=tmov;0raͩ}S WJ]BITEmd!P3 !}v!Mшgj=90$0%$,/ OR}a/楜]pZTr ?"A_vޣy\̭%ʂ!i~`EP-a+mQeɸl>j?hBǁ@ 〈xݹ*:lJ*T ]ZԖ- g bRDz ]}Ot̟1{Q pNGQZ4 }~:[szDlw2<{Oݒد,c¸`LM„@ϟ6N`/MvQDYHRWPj:^Mz;Od5]aTjqn7j.M1'/m~7,[Թ =gθ܏x`A]H88&!? ߥ^.F{s*vxXc$/͗+t%5JqggvH/N)S:a| = 1~:Ǔ` HQM =S6?yPXv>NAƃR=l6߽hWܽuyCB^ :[ Dϯ㚔2PWY,a?l|r0)Ox4fѴaE SME,ߺؕtbwLFO)e#y7:PHS^&N30̘^nXƤOz +?RF⣳$bc?d&Oy/?NUU{ f>:%%t3"lsQm9 h+ c͘E㳡G(f.;F|G35t&v5Cu:Ǖc*4zmIi#Y[?>nvڛ@^QHʭ-Y-ݭ{AAY%]͢Tgg;WGRMhںNLvati)N$nK 4?((I{WanЍz1.Ӈ'H-ʎ]e'$00Q;v7tz# ܛMJ ӓIZńB$" 0/y-~.?x7:pyS7eQ?B_lDJ5{3hσ:&~ϿQ0T41!)u=yF @'_Sy)kxdC U Qw߶0;݊30ͻIyP#݌=Ơz)@UGVZ"{)1$5sAYe:I#PP \a@:7 xQ\kyF7$чd`/ҷ>U 6{k@e(> q>UZ^ZZ%w>jۻ{hUV s8-w=Ic7{*w:w>v;^R𡕷˅O!Fsz.2R#/d)/$\:Y4A0qWGcjQ_bt+"b2o2knu_ζVo$mow?궷 K %:S7_|Jo8P*v5&:I\m9S=4ie~D-bww\dAMRᐺ>KzoAnY|"߽7h‹;@§ޯ$#nJ_ѴuxJ qҋU ?v[4s6x9[fWb?L[MwS~qz]6w~֟)gw}ŅP-/ ̢ 9Gx8 03]v (Y3B$ 2@ˌQAIt(lCu0Z]1gyQeo1m\Y[&|a7S-]`[? tpAB%#~5* qjv1 xMPPTͫz ] Sogv%11Vgx-f(l@7ӵi*7e%[T4~&H^IXV2 yft6N1ApB` [@_D4Cqzͫuae,Cyy ͇C 4ӎ?F,$5譔r\ԎuhX[z_yHߒ m̗ϟ/g/ex69:"/$D}8 ( !ڇծtИ.n Z2qu0 EBeul.x N@r5#; %"@0'3]Gs8GfF%'wVz"6.-v6$h7@Nzc6fF::* <w61\0<1% b*K8m yB` sVOPωy#qA s W.8z=S(X6H芴\ _T ;}k5^3aJB~B`lMBn$wۇȇQߓEeͤQ8&Ckwn@B8);{p֎@5MAXeq[ ݍv.gA+7`?VvE@q^?}"JjEN ~ @4Q9۴854{fhB ܜ 7OY"!tv6:{A5c]khd a蝹k޶Ҁ􂉔3A u8RQOQ5k 7Ctl ^wX[+U"of}w$}}T+}§7>Ƹ; 9e-Յ863%Rܸ`TT:q Z(dɶ _X L-hBHv&4MHf0D@x+ 3&tat@־7!N.:%ɔ)<[;G:Ѧ'7L<{z]!Bh:za4fH9, 7"NzwhttPA\Ƙ ̕YFF +=dk\vӻNwoo,ԥgfx[55,c[ <٭hvQp~},R \% 0d~CoJ0zJcС@ҔYj֮`vw+4 k޸esݑ[񈮙;\jם!=A wCHʘ.A%DAk$mN9F:Rt@7–Buw+* lNcXPo)]r=n$wv@5~% &\{`rȸ ?zP?Q4q5 YYVW@zt"!{&:]kmJۧIbiSM!Klh0_&P$[ap쟂" p8dθ߱xĒR5Vc@n<+2)"a`= Rw{,BOehJܽ.|uއ>݈~ٕ(oEi8%l[pAu:.Aa0 1f'8q*ȎA4h!OWC L`ݦ RzE.fR[SgS$ifթ9Y@ۅ;(c> :9wZɟ[RQpH,Kx`,V̚WX&-\E/5^bk0dl\ L~OP^3y'<{q I9vE骕Fi0ӵGPuhx;;C'_ " * ty)ryS?""=6PXP#?tP}ڔ}thJA~nltwZ>jE{ °|wMy >ށ~ I;oZP1nkl!pԸ#ϡDTꞧrÄEL:'YEY V(j]K@ ,}drEGe$^ )ی3Lj(CXOҡBG;l"lwBkHbaaX^hoC'~BX0 tK|.g~=B.SfGK'FzSb~*KXL÷v:m_8huv>wX)m~R.49ω Z+\f+GxzW^wm0c^w.[/aLڗ_!KjPܡ? %ߵ'"Qix"ױ5#h*?T@͊EQuCysGM %/σwFxQluޤx0tH0>x t/ KNhѫ;/apF=L/[g Q!`W$I8.:x&$:V9hHm^ۿq'{L_jz#e+/_%вf f_Z.}e}6 N{ Ӛ@Nj? >^0txGI:*9:bm='ߣ] $~@ΓhMVM$TP=PsQNFd8@&O@{ oa9S}L,Y+^ӣ*D2cZL,]L]T .:sr/`8EJnt13-0L:,!_RBS&Tj]kt3SMNeɵ$68>T:􈶒`FRiyKVO˛qya&P·-2*kn8ޥ?j$d0C%Y k[Ɯ Nkvlh85G3u];M"Qv5KR] )ਵ亏+L.AߘʀfdOExx5d7QX uɇ*}AbzNA)qH+$z$pB&a N˹U*࿪&i jo4+R6P*rk8GKiJKTE?V+WsHO~)fNdGlcH,O ;J5Vݮ+C:mc]ϸ q莼ل S,V.6R3S$NnJOy](Fvn씔2`RRireRD̸208[)yA[ã.J6nz;+I?[,a5AۋZ`laie[b\ўj$5n8H=!Aɾ7$ɝFV"G{Vix԰Ci@n ()ByAHYKXm)9Ш+\.b:;31xVҮ\ S+c$s`g+"ɼLk9g{< ZVBCW#'4w䉗R!.99o. P0LK[1[1TNy/joCr.*EMĕ,w?q--s:逸dzm^y; A=zcf/Ί&-~Uw`ĺZ -C Vt2,|ʇ~8*~'!0B}`L\+ +ԙD&|~K@)k'tn uT9*cJI9#>A4MjdD{0Kw. 0l r`K2HRObK՚JblWnt kPCB oij@PnO$;=^%K& Nblݡ2`8:z9{. -4{Rɖt.qx<3[/aIe@p˻B: RxWH? ;ºWLV|1Y#[q']}ܷO;nvo wzB1.Gϝ`w޿yx+dȺcw6nǰu .Zn}Fqg-`4gKd%QK7fH9Pdh""X)DO+fAI2S9 . A\ . A6XC<|Ih =a}=m l5N3+|4MeՖ~?1`_a0F}| oksA^`*lb t}z _|ߨRƳɳ:g蟪zZ7WSm4ד)t*KUNN@n$]ݬdm˪lJ)*40"/zeT&48'83o[ _0b B AR7$U*b90y.lACN)K-_c"S3F Tƨݭ2]<#GYKѿfntι#-fU- &ތG(YZ"PvaO^6 -K Y)4OܐcP!$O=a gG\ ԃ:?5>w~6)"ijj5]fxmA2CyɢF3gtng1OS+LbJǗ%.޽-w!yg]h]Η5R9b!X!h՜W?e A[p- TR2r KX[5.1Ʀ|*HPP)S+ BWv`b |%MT:92=DX+,|-|YX8ه3MaԀѤ񈃺QuR1Ž={Q#ݎT 3=LIpA^IXr;w~U{'e;(;[C"K('s7 6K;XY1N;hkOOYY1O;dZs!Ipgע|W=/'!oYo\;FlWB$l=>dxH|Zx,$m ]M ;nʠfu/eOf\e_+j.Cֹ|nx$jܡFD=neG7 w6ag1k6o6C^ok"K6گ\Sr+uŏS}gl6HR5UP*sWGz-ՙp L1O1V-kzLE/ s -+/=~<ۊĔ篋9zc`wE>]˗T5pjR:_ǟF +=Sg#: HeK1V9Xi+I,pmDIZhRL^J_0Ph{x깽soYh.u&NB[|H~P P6"Յ*)c&18 2C}$oIa ɇ@)R)G޸wBwr^-0xoJ &<ۯQ4}}Vs^n SZ@Zw,?gk/5q(;BnH4Azvaȯ!I650_c k~>>Y;0?1^l6}a+j ͉(t<Ɲ1:݉NOm4'~}֋/tLJסl΍2/Qr/G.Ou rI-BkQ?Бc1TGlE$F2gV@ B0ٽٴGKGZƑt?U"}RRu-$)RG+_ie^B^/$|A0){KCIC|a)c 0ΖJgL?D+Z(3Ӳb8&w(8q> Ƕ芮`1Ŏ2(Y`G}䥪CslX {G:fJ=VP,9"d?̐yxOS՟Q"ih(Vbh|;Ȇ|&:9gT"؃"ŐF+`8)8j"%K7;F]Zie$(>1>~q6It( Ĵ[(>21Zxjhɢ*}ЃTV %l? L) > X!2'sFѢzHb-o>AoJ2qf|qj+bjGǎEq>ƨ:_`<2W țW*ɹ%0HpLw,I ZGNZ b}wőujxFzJ}snIF.2]Ϩl%,cc.9 Xd([ ,>-iY9`L1$шtpƓfMebMu!n1|Ans@ЯAн,_@iK:{0gh lfsjZ39P,'AjG h/dsC1:eʱ^ϔY$#6HsS%޳] 1tȑ{cw[?K԰RRT t3Vŧ$W'jvod/t&zܸ;@ IA]dJ~g㰅8~jg{gU):)&R@?Ig P?E45am.v< Xcpλw ywM aݸ[c37YR4G`V ď6u*Ư@ޝ|'p7q`yRo!VkNWkVm SxůCEyқTZo2vFc>')v2&a[BN+q *G{!0XUBDu ']k=D[\$J{г&=yAts ǪC8"m7#*}H-%0r`>?5c% P\0af33*( ɥ[d<b1޼пڻÍ5WW9X '=ΟֿDoku%hcF1.óp55¾hG쐥'N-gxͿqLw m6bEA9mPfQ"d:QscX&ԋ4_6rxJJQGTRxü!-u:ܡV&>f@#ͬMpD.51ހ !o k 9${WFc|E憔01*C`߰1ɒSO0 )Yp'YA"\!C}rq<19³1Ň-N7wNf}o(̗Î{$Ap7Jr~\.` &i5<|&d .8c+vS74ˤWG׋Mn⋶ߔhtlΗZq0O7y3KÞ+o4%zY9 G2Wu5712%N d\0WY:mod%Մ 17Pf2&I N`zMCә/) t3Rǂ&_ojH>EY|;2yj;t0ֽYH~lkj3#X–~4^㿕BQ lp(),Xc7 )H,yv4;i9O(q ?=oml=%mǽ.'Uv;}{FYfteߐWc<6Jպ*R*t0d'aQ*X&?p=w̫h6`fx~ĸ:fgb0*zƚU{ ) 9t$0c e aTi=KG8>@0ge GF_QWR&%†gP*S$D+z-S yKh.cmqմ~h\c]u ~9X\eF)IR,ꑍy^~߸Vx"3BHH2GEG1<T-GUr֝DੜzPmi \- ?IpX=5zg$!_@ `v9Ml@LbP@7H+1D'HkUwjNh ]k4(DL $6CfdC PˠKZ nFFA i.\S,LBz <+8W6%Λ/9u1tuHS6L4>痝 }rq9YI8OD?yBb==32{̘ !YX*eW=: σ /h1Ua#9؍5NiseT@Tv{ZU&V8\s|oHA(OhZ82)yX5W5 f8ܖ٨⏧j*Kxtn8+ t\;_st\ч)Fv޿8h $F1hJiJADQ1n]Oǵ\ʬjM;% B=}L`Zd&,xZczRxG?-GWFSx g@x@ ^z u~P"P7(Ct)y#چPr`7!gQm^9݀ ~'TxTBmP SGL\|@~`0hՏ>  "dpΥfY`]yBi7 ;f wvt޹Kg,wwc`Gyt"i<"{ek& `<}/ג ѫzD˞1ЇnG5s3'[y,YQ++yLwYеsfZ2eo 3Az4 ?ЕzW7f -[@F!I62F9#DMC(/U-DԵDGgؙ[mfd1.X^N=+R)ʷ.ES|)E(Z(hy5tufWL;VYKl||!L&$t#<كR_n΢Z⍠)+eZ\a%I&5^oC((s?VW_.4[aDz÷Ui.URu 7\rqӻ;mdXf_1]av66wZG1<t5i"-|(PJbTsќ_.l=S=Iyr\j6_fok|nwՏeAK:hmtJI@@mց\lŊOIJZgK`(lJ6aܹjL54{wU("MY&>6xOXy(G2:d %4 el7"N {Nc*kub&],g,wL?89)rZG#,VVxa@ZKߛ#zL}95O7 zrJQdG3ՃI4‘dpdAK/U;%U BX4:DL̸`W2T⯎8P)*n$e)qKv+ ʺ=DF<<bu3(xx\1.[bZфv㕡 1Hw> ԓ?x|ϿOuZDؚxpR^)44FYW}Xm{-nԨ30k…%K#y4BCm==^ר %ޝ);N, :tap0/unҡ tH\S "uAp%9~ZJA6Q_]^Jc:qXCת=vG~wOR%ҸOZ9*AM{ס<AHIV*쁞,>xMD. Qq tܠJCFl FZr_\‚:O+r>6-(~c]Wt7ls55k̯h2fer8ƕ?A~ip@>9kZGO2~ZNf̀)UBgQ8 .@Sj#Ӏ`|!310Lܟ΅0$U8fͩ3qQ >t3 a+|(]VDsf?xin58kAt hI"ˌť%,E*jr^=VaM_n,(4R-j-?YoS _,K’_?Ƣ_ER3H R1p?-NY3ɖZ(D+ٮ6:x-9rASX}L7g+K ?3eLꖔCcQƘGD~rYsCZzL;M&H3TIg3LxR19 /o<S<=6.7˿9q_~)/nYdu\Ѷ[oQ:zS|E5n?_~a8>З4xҥ:R\ *2:lmw9VT}{wMN *Y/3F/0>l!3ᚾp k g8[RhڵꖈbЩ-+aۇ-Tt;袺NIgtd1d^A@^շy*F ,hg,sP9|Jڇ^6M{-P9ݛA]B1߰!1D[" ޺_ݱ-F-`[OL*b//z8ϰYMb9Y}+|pr<@!EÜW#,= .n">ݺI;sƨ?hѸC[ ɢDd$@N߻;{p:sJZqB[w,ڠ V{P>f!"[)E3:-&j)akm^SCMoZI)9HG@sSF8yVRbI,>7D;?0 v7:c;h!MM19X7<L`J>۰+o_Xm{ap`ZL`Yqx0v^zҟ0#DTB@$̓7#{#RCߟр_3.苔l#:Q]0[cB $p X1m ySiڠ?FPS7Q_'@bgag]k4Z_]oʃ]җnDvBta"`|ŗaNVhIٓ1@}㽝zt88BHtS&i63OqEl+ (CΪl$%M6dq1Mz¬DlJ 7dM d1 eSLt8i;Ih!Mx;aBIyB?:2/k3 bJZ|^'׿z&Ar._'TS נVG#`5؈gc8nd^@e8|:dV5ey}!;giwq5`h^}-a+T/F =qeWa9,tL," e#ʷAs.bn C3e|KwSБNc >yI҂)ca]z2緔؅a;Gsti}۞XyV: 9߸[>CUf}k|Ȳf?n  72=ND׀鍈ނGZI//5`6sN{+:ݭ?u޿}<§bNը|}e+߿l.}sxߩ\7Djik2}op;}wܥVW^4OW%hi[Z:`HѝU8́.MA)!xEW(Z3J7g6*XHٸt!9R'DzFo#LWSWɃ҉Ce6xK? h4fF.{Hnoq|E75u⽭ZKz?DٺjSM=YL€.(uUlKNu'H+YDȅAyJ8` ,t}Cx^\Tq޿*6c۪cOSKzDSahVOTE?#*U^sMW듋(9o ,!>`[pT iJ/U-; WEc =wT]V}.8*5 %YnahHi)pYS3D+Ͻ^"(Ұz)6>A1ŕ'ak&oa/.shA7|s^5H{vNr}i0kpT' *$.+yY@k5 OH"u[Ǵiz /lٺͭ@oj+oӵl[*$yEtoNR$s2V9Oa0u`@hKCe.}f%$Hȡw$qOomBtECs[״9o6 v$t[{ۭ-20B݃61r˒f !o؁NV9g?QS| RQΙ.,߀|׃N=Še#nZ6+FЌ#fp(w8'QCviHdJKM\Eg7(2<2:E'J(h.AMa@(X _PbYGlUhZHc5] !2:K'Ǖ-uxz\GC>rwcvZUby'ot퉋EQ;skg֌H_gm:0X k.sI%}g렽HrzUۭ*? #iSfS _#e(*1>k˕oWܝb߿S9m GVq/?Y#0f)cN[q a)mu9)X5 8*05")?NIzJ_P4d-/Pe6 G)b9k,P+bf+$ԃJkn9_XZI.=o~;,%gtdΐ Q0|m 鍣tѴ$F%Q2\_}\V5G9]oYput"9c 5ևhD8̇~ϟ1$o Cap}ȁcJƧ<5WA8@ (*W޻{(4Fupަzr8%}lwQcb"BMB)Ckwt~gL(':zY9H[B gZA2ۤ<E.|5e}g#f?rPh7|Lu&fHV872DR%%Vb wK ąhRʎhI>:.!KLՓ,a=ıPZX2u!8``5"Kv;IpEʈOw#2# Ȇ%Sɯd`ҽUV)/oc[%WGn+ B6 h,)v{ΡsK"J&"ŝ`TcZX\N JԿu!.,$`s=h8|:|ٛ}~є"[?/*@x>Zsod=dByĤӤ_s}-) s%eux抚%cS7"~s.'wsr)9/A$9sz̛S'ع!toD2W+{,9=vtJr$Ŝ*E ޥ~_\ %%;{圧 JyZO[j w=_XW :pGv>m2ZQ b Ҿf܇+OڰK?O&TNjH=yFy{/AoP{z˘s)u_V774Zqp3]'qw9 D!h}Smٯ^C ]3xt=Jc`Vh^Ŗ#?Fy"m?K+oXfuMcJcgQҥG]⠖RXڅ6e-Ra-RE\nC45s MӨq~Y8km!m ` Ew%[WO/張E+ BEf$tf6l bP3JFk97 L.ȁFށPPIdyԾ &+Wku6y81ЀY<8haH^+$֔( ’&rJrqͥ)pSv*>_p2[!c#a?EūX,4ܥxCMpZ):"N85 T_ / }qL[I?A/ooR'Qnb4.F?:03c0g1BbDD "B,@(xz܈GT%y`R jFap兕ju+[ ?+JM7-iiȍ`"OaJV|K/^~}9,T'ѓ.5 L}enoZ}yfAwY\%} ԰5~h%>Hbj,D3tG>8_-BnvR&_wۭ_Z[V1, Ϻ0y7~9w#8ӥCM<$I4xgdq9I aPN& ?eYX1'f>ˀwuuPFA9!i&DF0 %^.gá/X2~53!:M #IҟYg9R9qt h~ ^օe)MQcVDʒ&vӖxBV(BeT3 [VҔt8Ƨi'em5?1}r6<3#n*N\`~:)Ę{&P,Gvt@7~﹞IMkL۔GzGF:|\}V(@x5n|yu2s'$ +BRԕ5V'kWӓU7K3RIEķEsKK/_˫_É&9η%Y'vn7:?qB~8W%i KgLnr +MR]QVvcpE,fيVGr{oܐ=ν3?ϗYo_?t.wP2w-S-;C3 }T?dm|ㅪtxSvL*AJX*Y}7gGyJNWE"%pR'7z lL卢pltG1me5 ^)Fxs//(=NlKa.Cr?o5M[ *`,= :4sL޵CXXBS27$\LRnVkc1K|r^oB}mI$ bRYO%7IM]5OTY֨_{:x2WEY HMvtn_x0ò ~U _/=0d٢3B؀,풕~gD"Mq2]yXw(N,+N:5p] Lap&YFtYV؆ī]Zde!_o${Ty?PO'-uL{y] @2:ڶ!Lػ{amV3jmOjF P3Emj/8~Ìo66#D!vkOdW?%B,QRa|y|KTǥ-e0|*\Ij2u~t4IGgЌR&YYt\КB01^b ŭvέFd2XSʹ)OƬWsPu`2*r:ɫl=_|hHJcɸGs\h2ǧuN83jB e.‹-R%+lt)h~PAa*)q:7ZnWa\0V GSoJ8 X(pdA8DnwdžQ$+fN}RneY/kyeæW W޵=> 'r;ސʭ$yMD/vaDX.V{2h u+n@݊xIќKwZﺒ%wJY>CX_GP?̿t.Eǁ8ǻ{i䋺N~rvw\5[?$3g)yz=Zu,acUۨ~簗yt͐6t`ir ΋vS3ٿ5jzdP{ȢhEGM,2aGIBHqgB ?;h=(,W]uFP{䟖e#.`}ĥzՆ'sB~ryRVwa*~1߄oBF7yƌt7x?a۠S,˟:x?M}yz.K&@Z/DIJXcK|Փ6OhM?f0yO5 ;<+XES6P?6B3bqm4R _1Rȳ1:FrcyԀ8]UFؓ_)։dݳ3R)2E>{$z–ErE*_,MRTtx1 awkQWY<-*8O?_.zfJE= {iN T%}.nz=SgѴ>0c}4Y]o ȭQTiONU?:cq4#= g%`S (ɚ bə?RYQʅ=`RYnU/@:0MP8g0V5{װV[F+O?Ur4 /VdRqӣ곪J;z%NN NF$\:3x ABo\b>NE,:ȔQ^V}͋k5.4o刺/3?q7LI oaC_.!G`툒誥Mgb<*.^L~s~wڪwi^Sl˽ͩiǰ>"w?<~^?a=jUVb-^nD7~,H)/ vR4y%0\eŌ8Io|TǝI{E:JqSH[EչGcc^Mb Jrnu*CIz]*fw?NR0npСOc9J,\Ci2t?h0 ÙEcqsO+hcE59# |6$ʐAGɮ$o>Dt;MְRN P[o[[?amچhk8BJPէ HD0cuc];lwycIU~i6_Ԏ?}T^Sy˵fr\Uo`RR?Mq#WU}qq;A") }:} Mk~C~ƦEFy8$ '^'ŨKe9]I"eO?3HE*nnj-[+ch4ߞ'G^hN'ѱ!*^PlOc[ЮkXEJ,p[Zpkt̼>f~^hgz% tYH 5up`|WE&+۔mJX/EhA^2nՑ\)c%&,*qY]ůoh>tKGEM[fmp7} =t0s"#=g{6dqj,YAv#iY$vFc[W_s#=k7F%p̋΀~L͟ץAM 2u){=n(LW .؁ Ah ō?Z݋WXTjsFڰK DygTMLN)C?*݃;!J";<.R֋v|.Lt vz);S{Ow`mweIFJ!plbj'V Uuƛ+pGL`LN8x !תx#M)_үr΢iu^dQRhB޿ZD:QZEdP;Vb OY0*dڲ;kص: ;uYN4$1Y e^} \ae bQ[⨭s?U>w暩F/NE?T4r\dɠEEdzQQ4ж4ױ\O+`qrbg˴E[arƟouRY:=|MAE&zl6>r]Ќ4HbHqU7jK]j+Z>B3-P< 樏^ 4o+4O\xN=`MK FM"dMeI:ScOlz vI‡e?8 Ţs.~nW{i..3II BqWhe|+LM sJ_Z%9z(4[?P 4Sr9 3X 8>pEOCֶh|{",#` y7d k\&(mr >fM>Q!l`rIF*`TԵO 7--P@\"0S)r)`YEbwϸ*>eV>w|hu P~boՍMnF3\҅~۱gSsS{+62ZGh~Xbbvŵ€;հt< G/aHPbC&sh6S<1uLo閖{~Qh aڐ~ =gF7B f]  kQ -UߙP=np J狯_:?M)`$ xvgZk7׋\>SS @R[(kt͵ 9D qTUJhA4 ;DS;8Йk6rYv2dl}gۂ!Z-8uy{w;w Zkum)F7K¦}昿,l u֫]7BU7MN?"DNewA}.up '$n$2H )vw`rU5/^OManC|'pN;UcԧtW`#u-'[HOan#\rU/yG$( +[;N'Wۯ90?Õ82  Ĝ{D,.>U۲ϹWWՕoPФ}fADjAX`d7(jaPFp,/a˥Q֫c3栛6\ kdyT KG+/6hJĈUd>AWHE&p{J.p1U T/p+Q[.. Z, @Mƨ9}K5)ef4w}.:? ԭ3I-w >NjuC,aA5I\My6V.?_=ekd|VT=vpT_@K3Ya`f%#V[`9[vq3[uE1IɎ'X2"0%Š)X*?Q/Ĵp~pzoO־^iGkuGOW/oNj! 1W#%/% ^B9. y |Se3.L V@=ʄ&}wbݾec_lvlL`*G[݃˭bL#sbwEwwӽghG;=Qǿo3-7h(A@z)i="èE;iLczGbܗ.=nJf pǴ=~z}>aAc-,\*%W>okO