From 665603e6a8790a57716e4a202a14020956a46636 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 05:34:48 +0200 Subject: [PATCH 01/25] xorg-server: build and install RECORD extension Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/build | 2 +- packages/x11/xserver/xorg-server/install | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/x11/xserver/xorg-server/build b/packages/x11/xserver/xorg-server/build index ef9ee2e7be..e8c04212a1 100755 --- a/packages/x11/xserver/xorg-server/build +++ b/packages/x11/xserver/xorg-server/build @@ -67,7 +67,7 @@ cd $PKG_BUILD $XORG_XINERAMA \ --enable-mitshm \ --disable-xres \ - --disable-record \ + --enable-record \ --enable-xv \ --disable-xvmc \ --enable-dga \ diff --git a/packages/x11/xserver/xorg-server/install b/packages/x11/xserver/xorg-server/install index 27af4552ce..2998966072 100755 --- a/packages/x11/xserver/xorg-server/install +++ b/packages/x11/xserver/xorg-server/install @@ -46,6 +46,7 @@ mkdir -p $XORG_DST mkdir -p $XORG_DST/extensions cp -P $XORG_SRC/dixmods/.libs/libdbe.so $XORG_DST/extensions + cp -P $XORG_SRC/dixmods/.libs/librecord.so $XORG_DST/extensions cp -P $XORG_SRC/dri/.libs/libdri.so $XORG_DST/extensions cp -P $XORG_SRC/dri2/.libs/libdri2.so $XORG_DST/extensions cp -P $XORG_SRC/dixmods/extmod/.libs/libextmod.so $XORG_DST/extensions From 1b5bd1d8d4250d3d3a2df855f6585a572899b799 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:03:34 +0200 Subject: [PATCH 02/25] xorg-server: now depends on recordproto Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/x11/xserver/xorg-server/meta b/packages/x11/xserver/xorg-server/meta index 402cdba575..9cdee81db9 100644 --- a/packages/x11/xserver/xorg-server/meta +++ b/packages/x11/xserver/xorg-server/meta @@ -26,7 +26,7 @@ PKG_LICENSE="OSS" PKG_SITE="http://www.X.org" PKG_URL="http://xorg.freedesktop.org/archive/individual/xserver/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="libpciaccess freetype libX11 libXfont libdrm Mesa openssl pixman udev" -PKG_BUILD_DEPENDS="toolchain util-macros font-util fontsproto randrproto renderproto scrnsaverproto videoproto inputproto xf86dgaproto xf86driproto xf86miscproto glproto libpciaccess libX11 libXfont libxkbfile libdrm Mesa openssl freetype pixman fontsproto udev" +PKG_BUILD_DEPENDS="toolchain util-macros font-util fontsproto randrproto recordproto renderproto scrnsaverproto videoproto inputproto xf86dgaproto xf86driproto xf86miscproto glproto libpciaccess libX11 libXfont libxkbfile libdrm Mesa openssl freetype pixman fontsproto udev" PKG_PRIORITY="optional" PKG_SECTION="x11/xserver" PKG_SHORTDESC="xorg-server: The Xorg X server" From 5f5a749d2cf7b163e6e06fe3b30827a150f7ac2a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:04:44 +0200 Subject: [PATCH 03/25] config/path: change addon name handling Signed-off-by: Stephan Raue --- config/path | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/path b/config/path index f992b30df0..ee47dfc575 100644 --- a/config/path +++ b/config/path @@ -59,7 +59,7 @@ SED="sed -i" [ -n "$1" ] && PKG_DIR=`find $PACKAGES -type d -name $1 2>/dev/null` [ -r $PKG_DIR/meta ] && . $PKG_DIR/meta - [ "$PKG_IS_ADDON" = "yes" ] && PKG_ADDON_ID="addon.$PKG_SECTION.$PKG_NAME" + [ "$PKG_IS_ADDON" = "yes" ] && PKG_ADDON_ID="`echo $PKG_SECTION | sed 's,/,.,g'`.$PKG_NAME" [ -d $BUILD/${PKG_NAME}[-_.]${PKG_VERSION} ] && PKG_BUILD=`ls -d $BUILD/${PKG_NAME}[-_.]${PKG_VERSION}` [ -d $BUILD/${PKG_NAME}${PKG_VERSION} ] && PKG_BUILD=`ls -d $BUILD/${PKG_NAME}${PKG_VERSION}` From a098a2371a262ca164c2773173134b2ad876cef4 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:06:36 +0200 Subject: [PATCH 04/25] libiconv: build static libs too Signed-off-by: Stephan Raue --- packages/devel/libiconv/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devel/libiconv/build b/packages/devel/libiconv/build index d3687974c7..17a9ace656 100755 --- a/packages/devel/libiconv/build +++ b/packages/devel/libiconv/build @@ -27,7 +27,7 @@ cd $PKG_BUILD --build=$HOST_NAME \ --prefix=/usr \ --sysconfdir=/etc \ - --disable-static \ + --enable-static \ --enable-shared \ --disable-nls \ --disable-extra-encodings \ From 35ab2914795b4a2d9a31b244fa7fb8f1b53065a6 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:06:49 +0200 Subject: [PATCH 05/25] ncurses: build static libs too Signed-off-by: Stephan Raue --- packages/devel/ncurses/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/devel/ncurses/build b/packages/devel/ncurses/build index 61c618bb51..f7e11e11f5 100755 --- a/packages/devel/ncurses/build +++ b/packages/devel/ncurses/build @@ -58,7 +58,7 @@ cd $PKG_BUILD --without-ada \ --without-progs \ --with-shared \ - --without-normal \ + --with-normal \ --without-debug \ --without-profile \ --with-termlib \ From 02522c90b38af0fb4b4de07670922e38bad078bf Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:57:50 +0200 Subject: [PATCH 06/25] scripts/create_addon: change addon naming Signed-off-by: Stephan Raue --- scripts/create_addon | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/create_addon b/scripts/create_addon index 407cc7e1ff..9d64210415 100755 --- a/scripts/create_addon +++ b/scripts/create_addon @@ -92,8 +92,8 @@ if [ -f $PKG_DIR/addon ]; then zip -rq $PKG_ADDON_ID-$OS_VERSION.$PKG_REV.zip $PKG_ADDON_ID; cd - - mkdir -p $ADDON_BUILD/target/$PKG_ADDON_ID - cp $ADDON_BUILD/$PKG_ADDON_ID-$OS_VERSION.$PKG_REV.zip $ADDON_BUILD/target/$PKG_ADDON_ID - cp $PKG_DIR/changelog.txt $ADDON_BUILD/target/$PKG_ADDON_ID/changelog-$OS_VERSION.$PKG_REV.txt - cp $PKG_DIR/icon/icon.png $ADDON_BUILD/target/$PKG_ADDON_ID/icon.png + mkdir -p $TARGET/$ADDONS/$OS_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID + cp $ADDON_BUILD/$PKG_ADDON_ID-$OS_VERSION.$PKG_REV.zip $TARGET/$ADDONS/$OS_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID + cp $PKG_DIR/changelog.txt $TARGET/$ADDONS/$OS_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/changelog-$OS_VERSION.$PKG_REV.txt + cp $PKG_DIR/icon/icon.png $TARGET/$ADDONS/$OS_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID/icon.png fi From 2027e2516b528774e1e1742aa4effb9ac91fdef6 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:58:43 +0200 Subject: [PATCH 07/25] nano: convert to addon Signed-off-by: Stephan Raue --- .../shell/texteditor/nano/addon} | 4 +-- .../shell/texteditor}/nano/build | 2 ++ .../shell/texteditor/nano/changelog.txt | 5 ++++ .../shell/texteditor/nano/icon/icon.png | Bin 0 -> 16671 bytes .../shell/texteditor}/nano/meta | 8 +++--- .../shell/texteditor/nano/source/default.py | 23 ++++++++++++++++++ 6 files changed, 37 insertions(+), 5 deletions(-) rename packages/{tools/nano/install => addons/shell/texteditor/nano/addon} (91%) rename packages/{tools => addons/shell/texteditor}/nano/build (97%) create mode 100644 packages/addons/shell/texteditor/nano/changelog.txt create mode 100644 packages/addons/shell/texteditor/nano/icon/icon.png rename packages/{tools => addons/shell/texteditor}/nano/meta (93%) create mode 100644 packages/addons/shell/texteditor/nano/source/default.py diff --git a/packages/tools/nano/install b/packages/addons/shell/texteditor/nano/addon similarity index 91% rename from packages/tools/nano/install rename to packages/addons/shell/texteditor/nano/addon index 9fce2acdf8..f8c68ddcaa 100755 --- a/packages/tools/nano/install +++ b/packages/addons/shell/texteditor/nano/addon @@ -22,5 +22,5 @@ . config/options $1 -mkdir -p $INSTALL/usr/bin - cp $PKG_BUILD/src/nano $INSTALL/usr/bin +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/src/nano $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/tools/nano/build b/packages/addons/shell/texteditor/nano/build similarity index 97% rename from packages/tools/nano/build rename to packages/addons/shell/texteditor/nano/build index d39a87f2f0..ea9022a29b 100755 --- a/packages/tools/nano/build +++ b/packages/addons/shell/texteditor/nano/build @@ -25,6 +25,8 @@ # nano fails to build with GOLD linker strip_gold +LDFLAGS="$LDFLAGS -static" + cd $PKG_BUILD ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ diff --git a/packages/addons/shell/texteditor/nano/changelog.txt b/packages/addons/shell/texteditor/nano/changelog.txt new file mode 100644 index 0000000000..b58f592898 --- /dev/null +++ b/packages/addons/shell/texteditor/nano/changelog.txt @@ -0,0 +1,5 @@ +0.99.2 +- prepare for release + +0.99.1 +- initial addon based on nano-2.3.0 diff --git a/packages/addons/shell/texteditor/nano/icon/icon.png b/packages/addons/shell/texteditor/nano/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70c6da0693c96ef0afddc53b9b5759b1ee52c379 GIT binary patch literal 16671 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 literal 0 HcmV?d00001 diff --git a/packages/tools/nano/meta b/packages/addons/shell/texteditor/nano/meta similarity index 93% rename from packages/tools/nano/meta rename to packages/addons/shell/texteditor/nano/meta index e2ac257fea..b21e811c0d 100644 --- a/packages/tools/nano/meta +++ b/packages/addons/shell/texteditor/nano/meta @@ -20,7 +20,7 @@ PKG_NAME="nano" PKG_VERSION="2.3.0" -PKG_REV="1" +PKG_REV="2" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.nano-editor.org/" @@ -28,9 +28,11 @@ PKG_URL="http://ftp.gnu.org/gnu/nano/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS="ncurses" PKG_BUILD_DEPENDS="toolchain ncurses" PKG_PRIORITY="optional" -PKG_SECTION="tools" +PKG_SECTION="shell/texteditor" PKG_SHORTDESC="nano: Pico editor clone with enhancements" PKG_LONGDESC="GNU nano (Nano's ANOther editor, or Not ANOther editor) is an enhanced clone of the Pico text editor." -PKG_IS_ADDON="no" + +PKG_IS_ADDON="yes" +PKG_ADDON_TYPE="xbmc.python.script" PKG_AUTORECONF="yes" diff --git a/packages/addons/shell/texteditor/nano/source/default.py b/packages/addons/shell/texteditor/nano/source/default.py new file mode 100644 index 0000000000..2085a1f96d --- /dev/null +++ b/packages/addons/shell/texteditor/nano/source/default.py @@ -0,0 +1,23 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +import os +import sys +import xbmcaddon From 8f55e62eafbaf63fcdd7776842706f06221a1fc8 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 14:59:27 +0200 Subject: [PATCH 08/25] htop: convert to addon Signed-off-by: Stephan Raue --- .../install => addons/debug/tools/htop/addon} | 4 +-- packages/{ => addons/debug}/tools/htop/build | 3 +-- .../addons/debug/tools/htop/changelog.txt | 5 ++++ .../addons/debug/tools/htop/icon/icon.png | Bin 0 -> 17533 bytes packages/{ => addons/debug}/tools/htop/meta | 8 +++--- .../patches/htop-0.9-crosscompiling-0.1.patch | 0 .../addons/debug/tools/htop/source/default.py | 23 ++++++++++++++++++ 7 files changed, 36 insertions(+), 7 deletions(-) rename packages/{tools/htop/install => addons/debug/tools/htop/addon} (92%) rename packages/{ => addons/debug}/tools/htop/build (95%) create mode 100644 packages/addons/debug/tools/htop/changelog.txt create mode 100644 packages/addons/debug/tools/htop/icon/icon.png rename packages/{ => addons/debug}/tools/htop/meta (94%) rename packages/{ => addons/debug}/tools/htop/patches/htop-0.9-crosscompiling-0.1.patch (100%) create mode 100644 packages/addons/debug/tools/htop/source/default.py diff --git a/packages/tools/htop/install b/packages/addons/debug/tools/htop/addon similarity index 92% rename from packages/tools/htop/install rename to packages/addons/debug/tools/htop/addon index 3fc9351243..7c8c3526b8 100755 --- a/packages/tools/htop/install +++ b/packages/addons/debug/tools/htop/addon @@ -22,5 +22,5 @@ . config/options $1 -mkdir -p $INSTALL/usr/bin - cp $PKG_BUILD/htop $INSTALL/usr/bin +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/htop $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/tools/htop/build b/packages/addons/debug/tools/htop/build similarity index 95% rename from packages/tools/htop/build rename to packages/addons/debug/tools/htop/build index 60dac122c4..477d01ea61 100755 --- a/packages/tools/htop/build +++ b/packages/addons/debug/tools/htop/build @@ -33,7 +33,6 @@ ac_cv_func_realloc_0_nonnull=yes \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ - --disable-static \ - --enable-shared \ + --with-gnu-ld make diff --git a/packages/addons/debug/tools/htop/changelog.txt b/packages/addons/debug/tools/htop/changelog.txt new file mode 100644 index 0000000000..95e36cef53 --- /dev/null +++ b/packages/addons/debug/tools/htop/changelog.txt @@ -0,0 +1,5 @@ +0.99.2 +- prepare for release + +0.99.1 +- initial addon based on htop-0.9 diff --git a/packages/addons/debug/tools/htop/icon/icon.png b/packages/addons/debug/tools/htop/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1cc6c21a3cac903b6f9c94e69e524204e307bae GIT binary patch literal 17533 zcmb??RZtwv6X)WKyE`oIPH>0C-Q5Y25Zs+$!4_TI-7UCVaCZq1T!UM<@BerY_jWZk z-Bt52_3Q4L?w+omXmwS2bQBU4004jvR*=#BkB|Rv0uleC(IW&1|1spR3I=Wf04nbP zCJX?YP4wR)qNS3&4B+E`Bfq;00szR6gJmSOz1J@S9Dds9_#D30w#JbBHWOln-5VP#QlmAoDP@;6d&d}V7XD(cf2}_)N_n}$t*5`OVjPe z@*n28MhJg0A+~eH#WK(B`#{m%3u;xKpVv|gV;vl(5@Ur;JQgsiqrrkTk(vB^Ij!jL zkbSFuQDlE2QP>|n2PNww;efqS1p=f1?f`h2V<1-FJGMI&5cH1>9)<=HJ9=@J@`s-) z8>HD?0((%w=xaD(>@HS8jTjIJBVoA=)*pK#q{@IAjqivD{D$uW0AA2@p3=aELiq|A zJ(uuY#Q;k|5Ue`RG8K+zh>X#iU-G-;B%=k^E*NlJ8{YgM(!!Ey#kjqdAoy#zXtJ*( zu{ot2@~)@5&EieKEH>Gs_F}D zlGAd(HD5E=w+V6Qzf62hq48Dl?z4`%o6@dPhsW!`ybMU9PnY2Pxx6R&@C;c;1^Oi`4hly!kK_KB3DkY;%~Fx_ z^IPmo-yX)^k6{qyhR>pdR5ooNHb8DHS>SiO*SKHYWsL}ky7%jiMb>hwQe8KvDx*Bfrbm=K*7i9{?8D(6#@~r+ zJ1nx|?_2lJO%_l=VQ~OTze0_|5ZMX;`6FYn%%2qM;B@tYg$)~Tz$*a)*c-W zPvmSvUeY_~GunBc;P89VHzsy}MV|3dyZB|QKsME7wQp?HSSXekeKL-q^#OlOc)D7+ zU5UcIhNEVs8vs8KZ#!>=k(AN3JR?)_5KcR5Al%yJwZFXQeLC---?nm z`Ct)SgY5B(0fZRBR3kroZMW?kF<(j?_HbL2ZlW zYHhY0N$t{W4%LkYs$}tC6|Ell!Vblk@k0Dx>Zi=`ch%@LDPUw%q8MkNB;TZ8Q)v_x z*sKBHM1y0+0>&b1D7OQPUG(;0lpbN80w*a7G{lr*o%b{in;MX(bkQ}kC;>ln34iF> z^)SxXh_Bu#oBFTn!UQLri~V&E7ev}k0!7k~u#CZ~mZ}oK#`!}iWA@U;+{Q}f#k=lL z-p+a21R~+C@Rhv~4cp;sau>5{#f8%f*dT(0g?2`^8J3j&WYyH=eE>Orn! zY4y{tdJ((a2<=Asm^l71eMaHO?T2636(FL5BS&qxLnRYYu^WGO`hNAmk0yHO0qTnK zwOCX`7YWzUc2P{j9RU*T2+!K_kT;`w0jcBvBp&*fp>EAiSomhSZ)<0!KQfFg-|C(( zeEEUc%>7v}8so+kXTl1e4pzfn0z!O1)SsaId+fj~Ng4FE9T1AUF}gFa6$-{GumM~f zarx39=Ch_1nxjZ^uT7(|OJ~WL`I^2y8C6R6hXjT)a9ZNPbfiVl@r&*DqnIOp$9BZu zw~D1Nr`v%kfT3vn(%K~g9Nx!bhc5X%&7o{8mmN*m^-=*&x{*NG(=&Eze(;vB`%DUb zgLzff8~eYtlEJ#jp*BNUed4jZ=&ln=Fc(<1F;jkT-eE?Q;_Y^Gg7I~6(pZ>#B~ouF z@Erpdsv&sPcu{QU`$i%zNz{HD%ijg}K7F^0YJ>BRn4Iy7?NYl5K~xj>6`nuPZAj6Cndla z7*|0wqGgBoOld-^UT2KHHiW02LIgWzBG7{jJE?&zK(4wY7euz|&CuuD7J`}qeFKr) zwI#MOUEjppUQ^#8cPn@kxj$lJ@yVGZ=<;wm?1?7WYjl!gV2Q?MDs)O_z@C=`Ai_>E zT9Gbif{y8p?)x;i0xLopoaj`IuzxK>Hg=E~-zxSHT_yqnHEUjz0CPEH^lxEPfKsw= zx7>Sq1PE6Cn9xy6(9U2c;4%vCn?v<-3kVXNtCkdsWjlA(d*J$X9pbz7Lfl&{r&f!8 z&l7keh-Jp$1B{tSA>x4*tu1#5xo^5>4R3- zeV`l(h|#Dy&_5#-S#<1X#*Aq1$Z^t>|}!j@5=!ji?Ue%FrtoRFg1#sDaC5SQz<15)EcY?D`n|c z3G-JsyyV5RLv)oKSr>_35N|L6{}Mw>u)^U}tiwJHjY?DuQrI2Q(|rZu1!rM8(MP+T zrE>qJMF;U1DYYVvREIO^Hn@h0H${JgMz=z#AR@OuqE4iya7k`tfAkJTGZ`=d@-Twr z-$jouRvUgZlLf{Nw0a@5o48}}0i5e3b5KY)4`+Y%SS>l;bJve0$| zHso4=lVN9Y2YB;6WekSF$?X@^mbR6PqR2N6f*mvl2x=hWMNZ`|>K7AWTa6BMko&Jyh+w zB*TF0FfG&#KmNF+4imZW;P8MFmF`8A%{Nq8D*GxpJ}`X&b2yVw7;sG%?p*^w5`l!@ zdba{=rL|o)<#}Z*YT19tC@wag5~0+lh?!2X2W}oOQ^tOs7mSiKbw zHAS+H#tbzPO1r`!5Dwix!P3OMC<-C)!$F5`dJ3bJWggUD0r7pnE7nC*C|z%DXl{#)y6jGwO}}tlU(%|DBSy$I$HAt$#OlC z^~vtO9im&^xO3p?l?Vo%Rb4M-!E|^ExtdT&?fU9-A!z)+`YVC#9uGPsZyWZnedElVZp1c64d;-CzAcF|j z8=dooG5ACGvb9pCM55tN_;=20qM03-6`y&#;6B_R2U)tDN}(nAAh8mDStT`=2nc_B zgWpf1A{7Z8!R^J8(CV|ndnbcBM)>4SJc+yLq|*dU5>!Y8^CbAJRsH+6^{DrS&2y6n zxT;BI$@3j@=alBg5aPHVlRFZe2p$HzV=6v-1gpJ6EpU5%4-0R=fv!pP6a)gY^0cGL zpCt3T-0Ed)7U-0v_ET+kPO|Y)*|>*DqN9k_)y5cznG4H|53hH+7}NC064kobJjp3m zm8C=*4YQzU&DS?C5qSXhp+wEx7^@=}8$sRQHz>;7U_9cfGh{3J%tWe zjyjc7i-q^#z&Qn$^)Z>uhr0c$3<5Q3tC4uW(=6V*puJuV3J7y-zcRB8J)?EFWrO{@DqiEXk-Z#nplFmBv^Kzsere$G z7%Bvnp)=@1&uqLV8xEmi=m(K0hluivw>SEgK^>DlKDrcxTl21FMmN80m&j(7B&rv@%cKo?Az5;JQxN+MJ1x}zh_kfZ01geuUk+p)^6Iks%whOzP-7n z?mg#=u-FpllDH_#O_@9A%js1=Z=Y_lp)R^^>iqs|g-x>mFY8rU2LjeVEXfi~{}NEb zg(ph~;^Gkw`%W1@^1Is4fB(M|RuoB~h9&0+<0@=47l$9^rgML;h$(ty!_Whh*c&U9 zja%MNeaR&SPwBngz|eEna24?SFAbg9AEyQ@M)a#t#m={6u{|++*30S1$p#LA8}60V zn;=H!4#jLwaPKP7CmF_){M3g5pbKqxlZI{r|x;WTi8gKQLB#xsyT?sxHE3d zQ_o#b73u(2qEup*x>k}J8fCtJsIuDSgUd+*^PK|4X)BC3+A)X+T;4J3`byvMNvP4d z3Bv(TFFE5GMi;&ZaY5!q0Ddt-+uP7Lk=L2CEO7tdr*>E}`XGixJGh^KJ{vZcl&zOy zLp0l#yc)ucQm+>RZa1fbO5SLG3Ah8z+&w<&aW7J(705D4(Oi_{N*(0Fs7;QA7x;ET z`@jG>)<9xT%%+r|@s}asf-ynXQgNhsI^>K*%p(+Ml`eVVLt+_FcBOjy!$zvj75$(T zc;&`7Wk$eqhY}7hktS$r0Q9sRc)3SY0Xc<*V@H>3hjVi_ic-vQR=*oItt-!8l)JxG zM*9si)HxPW+^fDtOqi~ua-OFK)cN2J|MIlzDKWTHYO@Jrc2klS3r*dU{J4;DNH%qT z&cTz>U=d#JqnQ!?j9H|>SkmA;$}iID$%g3WMjV#0Q2aT=f4|5`638a>t>hfutYHZF zu46d@OQ_|tSTLC8ZoP6YQM?JqO*4Q8XW4XCz!O#wk;Fp&Sj><#*D|#8SjjlTdI)RB zmN!((z_cqnj^-VL0gD}cCg9Z9aeo&46)$25EbgaTX%vIfsos&_ou<9?!?O1nkr1!s$y6^@ui)8 zMaD$#ouNTr2d084mt+6NW?BY9c+K#eac?~RJ3TK=$k~~t^NCAa4&7Sy@6XiFl{O)t zRgzJUxjI*te-(8m=468J>Ae3E*A%5e=&!B(6&=|??E#}02Df9h*&Ce$+5 z&;PYq=nQ}AK&C}h1 z){?qjv3~--ul2l>)2YSL(IxJ0m71C7$^7yCl#a~AAk=5Pg;({hZO;%B-#QQhY)?L{ zvixN;Se_yP@4fvK4KpmSR;mLMQn;sl?oF<5KpyBkBqYqctmap2$Z@lHdX+8d6UeQJ zI#l@{x@5;L;-CXIj4WSRb2?9%4U!i6SACnOvb(~lkb|JJYdS29EM);Y>-8Dc3*yG; zuqjSjeO#+DfyhksN7nN*Vf$k^fKbS@|MpJQMY@>oo03$0LU8PvHpES<%|A(<0V8M1>|>H zAIq!pAwuCPKB$}wG4@(~p9FOmV`_TxfbNUWv$Sy-B-j5nk2@f4 zF~vm|F;k9Zf0!?CWF56L=J=ePDB)dG?6jc9hE?IQRKH|VT|U(`?YvO-1WqhveI_=F zNyD^IPQ_`8hDqiv2t9JyzN++1KB-^=^eyCh616({;b4mY1@b%VQ{to39j2~{@;3e6 zB>9zG+=T3qoP>fck!8vH$)Ih`*wsx)53(q-mV0WUI;CeqkIZ3dpIgRCVE3>1&lj!7 zZGRo_`M+)5@qNNcgwY5W%O_!$xV{+U;(+T0U-oF&i&aGOAX?yf8DD+J}w0_RFq< z-(wM-UP-{VkTqTbxd!hBQPfpQ zW7(E&LGffv#;O#FxrZl#S*R-4%HivkGMDeqQHjJUu>R{Zupw~pJV{E;!F#b|W{9iJ z1b?#B@C&aH-a+=s-`TK2Y@2vLH;t5{rfuH>%`h03?n|W~OY0|Jf;fcnwmttG4f>+; zx@45Y&i>FkT9T>t^5O!nhJ%ycHC|+Sw6vCQ{THApV1I@ZJYPvWv!BK8^^E43M#JNV z5bn0p*)aL?Bx~I4sgVW8+;g01bNaJXZ6a)D)PbW6yEyZ`3q5(%w>vNYufIN`v53}o zSfq}pgS|}uwYSqNLmz7RT!f+<4DS*)a?ymG)WOgz>=_{`fAJ+2R%S;1xuGLwwOj=j!4MWTEO~&gZJbD9#-M8xM9^nCie%^3#r>}9 z`WLz*j4<>nXefxXhw*#-Q0j>F7xkUNm(H(9AroIZPj6RNAbTUhDg-|HI>XMdKnjV> z^6%d3q^mZb&3w_zF@}x?$B#FVynlF(E28lxot}$J#KW;dZifNOal{9$)ucb{(OHh= znnuo6elomkJ8nM1+m1OZ=n1UwsCV9yD{%heNk#gLPq}drdBwNVZr6R$eZ_Dsz{Ebn z&8Dk=;I>TqvG4csw9F#@$gmVI+@!~J2=FaQqCVP+ghOY~g07h>XdOqf;9q2s!^1Q$ zA3q{_-!-&6-KYhHZV7t=EPxNCzhtdUn9R6*h4d~-z0`<@^T%W|!lABbV}^xLHE($OMPB#;+aGz&|}16cano|MX&Z=V5oM(AKa!k;Q?#3F*DJa3Aisf6_M% zdl0o>ph3I)G`>@{CK~-jAA0L)^nX8%nYMjzfA*<1X^a1_OkB3wObdB`D0VG1P?Ll)H)Jko=jcV4XO24IUMrRNDj*ImqMh%u&Wfh8T5_|!4pa|kJ=6Tx0e{P)so%=z1SFGGc zStZ-v2-wl@*ennJi<3lmH%;=(=2Nr@<`a?k2IHnxN5Q4kCw zJF;lI`Ct5*<903#LGp&B=Ye*~Ve-;(q0MFNBDb4bN~0BqJoAW*`%!;Qv=(N$j~>BM z$=a79+=E=<%oYD~oVQjpFuK3>6Whupk28Mi=a~*TyYl$b^@1AF1V0t6W}~T>iXpcy zPzFM=hFV7G4oG9cQ$_ci2Y(NIz*-i0DRc4aQa^Q6X}2V2_lfpTDN2*fi*SQ}=t9wepP>o}^>4 zQ<%}R7O~THSh{Zp#}ufPX~beDg9~Q$>oaX1zkUV>jEXXZF~$2>_#!98H#zrptg%oy z=M^~KXzP0lkyA&B^7#GdD}3MX3cg#9#$OD5h4<{7U07Ha<(7AjVotCbl-6UCqtYN zqYCJqTq+7eQL5M0Efx5_u#~>pSvaP4h>gGDMH-j;jtzuvvT41L)Y{^zzy@`a6+W%I z9a%0l#&uMCLM4+Am(hr$oC~=*jdhJewTID|1SD8I;p@|e2y@-{g3TM zyh4LT{vc?C9w%9QWoKa#t!^yj!p{8&0vdPRy~ zMJxIoavh`JRGXKHFut$;3>5ueev`Y}7}4bBHf!j1l1x{6lC5Q4IwU|FhaXm}$;09^ z6`lRI?q>NV{7l@|kk>c9znB;NHBrK{H^0xc@B=jJ;BqR_cdLYb+BKyy?7)f~!}|$U zOH?mTsdkCq5P+r~p@zeOgMa*Ovj*>COJMZ9bLW-4RqPqm>bw&_XD?HOS6W)uor9m5 zuIqqn;YR_-(&Aa#ZGdH-zt%FQVg4XS5`7!Ji%c&NARxdaMYha7U##gwzvLH%ngc)^ zBV*BqxmaC$%NSkb&61jtZs>o7%A z_$`h-h1x+n`)4=`L+ZZR-saY6Ba_^w#3$_8 zi1Cw|YVAl`%h|Po=5;HXBLn8GioT6h*)F+dc*D-j`v}$ef!7FZwhxaeWWhB1LjW0*J|RO`#wETD2M1SYJwf|UDz)3As~V6$;_D&Z%T)J{d9gHfJn zFLgYf=S8tM=xp7RhohH6BvMs?pvf9_2OHoiH^T|Ls7sHyDyFgL4A|rO8kwaCm$~DT zjeb)sS3VABbU`y2d)X7B!aZ_130_U-RxH62%E6%On>G<{@SC|rR4!DZcdbS| zDMyxVn*vXv2@RM?f*}XtsDRqffO33|d!8<$a`w!%CbkZ*Bi$6F|Vx2+CA*{E@k4 z;N<`2>a_I$;{UQ8_ungCAhf5b(Y^GOF)R$E#NK&y5K=ueqL`TJUfpra)KSusDUkM% zsT9B$oggna3Qxsc8_4yT$%C5dFc!@T-ou?k)x~c%Wz-<8?6(w^aXeRrT>NUt{kC8w z(p*;0z@D+*{-d|4jJY{o(ahlYE<+Oxgye5TAZ1pbH!P{Zmw{I2je55g)ybI|TA)w{ z^px+Xi!&8m@0qrv*`4YUJ17MX45s@VCBTKoJ5K5l9 z>3;&*_~E@VrTJx8Q6RiK@6i#Uc9GMO5@G-u69R~lLN+HCuL`uuSAvf zv`SD_7EU=NqTN_jBBKz91pu4u^0>maRdgY&7s!#WM;K|UnC#iIeEgH#hU;NaVmx0m zE1P!y3~IHPGyBt?qrmS`=AO3d!lvd>&5&hvLn~Wb#ErbonE%oktBGZ{)viCtlhc!- za;L+0+8hD;`-^ijpMHx%Myth;~dR(~Wea_MUBp4?#7N=B6_& ztmL2YQ{Gv^^1cV~-#F@Kx1au*{i?}D(CYnKxdnjq!G`@3YD_9TKeNMSei#;OxZFx7 zmt$+DywGPJaD$#{v4D~hi;52CNyohg+f%7Z)_?kUaSGf+K40rZx<$Rs$TI_g-9rHy zzQ7+NUs{p18KWJuGUt`Gv;$fTO%xl0TObbVi4U4zC~*=k2B07iwtfg(+!Wc#zYa*P z94%V8mW+)^BrE*RX@ODoziCaxM!%y%Gi*+MkB@gi@Ru6HXm$9aIiPiORB2fmO3q3n z!iM(GVrcRBW7;{bI%Mcy~Vsu|2a#_h8JeCc|`9RhsX$zq9QWv^vWC5%Z zDw(84CoVI%OtZRLwvaoLtniMLuv3RJ_oSh%+qB(}%adx%m8lAeQz>BjLx?+mXyfqk9&%Y~Q#Xr! z$I9@zx=z)OYl%O)TNQI-4r}0wq}pa#W+w6ZW;?F1=Vjk^Cb7uNwN=UJxqI_X2PN4d zmjteJ8W2yxj(?PK*6KsuWNBT4V0F}M&ntpQX!I{&A#<5#93OG< zaTBiE*KAEKqOx&`oUTGN)2?;K^%3*iPzU{yjJbeI5XAjaBQ_(b>@FOatSqdAsDYBsG73UZ^uF(IY`#e? z6H|(~=$Y4<1CSn{x-7b)$6u_OXIMI&w{l#uEa(khYyZSL$zks4Lg04m_8*YJ%{Q_E z^>TxIw)l-`Te^JG zY!@RlZscGXMYW|Gk1f7qEo1Jl49%;_j?G$ZMIuSlv-AW<3k#Myhc&(?_SiXn;)ShR{p|;6ib9@9ihDX#U*9O;kb*>H{9Yj5MoE6 zKDuN$j+B%nBhK1O5jJ8NjNBmg%OFf-7|hH27^eO)NB+*0RiFh-Sbu&87>ZmA*1p<0 z^Q`(kYly1LIqZVafnQw5erIC+v0_^PV-Hk*)TKxEU!2gnu<^jM#t?C2edDHYP@YD6 zUdTwKpW7-SikI7E9Kw>GJ9&T^=cZI16{!tGZdRooS7dSz_5I%aVb&8O%A*ww ze0hffp~1+aeIIm6qv4rK&Y1hdgnnPKal&gI`ZoZ8<=)X^iDyu4`9UpuKgCvM@er7F ztW#?))WtY1Ve2|Md^vd`W;Ej&{Mr_jeGZtw?EDlCb(bv{K|(Fn;N87grK zL9IVBMDHh+nekOt>2GP(kKq_9GeJoLIpAl|pd?aGyds1Y^_#~e-juZwTAjh9yuJXe z2p_&RA$x8pi5<73q$6p3>>ViH6ge!a3_G-4e}R}}yhn1i?gCOzjf=;%ppX5?ia$1F z9h1>_jzXIzDv7sv@U#z-Bx7JQxU(F0oMk+1dMF9X0=cP8G9bGX8pck5rb6}G-wJ#& zRonq|nl7&^^=nf*Hk29GL955zm&qvZN~Cr732Q@1H6B}g4Odl8L3)Kpr=4dRnW@Tq zL;40fhS?)r3`j6)-?5@&Zhzb%k(^+p{3H;r#EZ?+Srh&ez4e1D( zx=h8_WpF+uTS%G8KwD`k<^+c2)CLRNwA(`5Af=V$RREpIT+3@_1TDjTbb_V^z2Z0}Ed!*Kd3$sinl@iuA#~4|!$fv{*dN#%kLVGf{ zsyE(qjg#;-Ue?BzGrt=CnwPMPP<)NLn?=6Vo}-pTy0tYfLOXH5xvrc5P5b`{NZ!4H zJBv^v;Y1c~?d>%Gt)g^OBy}HvLkUS79@AlhES58jzqlZHMt?=XJ&?lcdGY1@U0B75 zcPyyWr{WbA-hF^n2GTPx*67>PlaFP>M+ly@%ID;x0T)SFkjP5cfjD`=P{h3#1lyRX zt0vb-RZBfb-3%kN#+7EJC~Uaor%y!hFGUydyVpUjKAc>R>P*R7;%*z{V@@5GNjk-Q zw-AyUp&M`tPar1~LR62IJ^jDYjbz@D>5fv+Z)CUY*`W;3u|iss5ItEYX7Ez>zUsP4 z6{&s9Uvq60t%Xx1BXJaCrw5>Wn{gpMI<|Ixj1_#XHrtwjE-3(?%5k`fa*`syF;GBV z^|{tL=73LjsrBY{h{438lZ0mJt2ORU{$)kuLWt^Q4cGZcfTTChd2U3aT}#fT(Io9$ zi}?{euX)A0*&rIR)sUX$-=zDDflYS9NzK~~#VXd|)2m6%0X&4IB*2>a-q?a+FKgQ$*I+V!X3*!hyE`tYo5b; zVjZW3zWL!_#)Fhcx(ZXZf7chc1JC-}FpdpqiOp0=V3$9mC=xgPV4ct26lrT~^e&v@ zx7J_aQ=gfg?R3X@VaXUdg**+oig;>utljvhV^30rsKrLLG$NR*eRfDbUac%GEw_8% zT>_~Z&2g((w2(z$^C|gdXdk-Rh$c>n0V!aPv(zl79VY9N#@jxTODK)%g9vc-E07Tg z51zXZ8<5tW&#YRO)eP8;aQ6(V_rl~!N5Q+wW{rde-UN+&4lHZpb@DBsO2uFL4#x5- zxMM49^>ZGbHWLO;v)ajfH>g87d6@{@l~m@=nMRjTCVj`ftt0y$Ua$WZZLx-8BXWP5 zxU#G1TvriHVNS`&rIj!V!dV-iaO{JAoTW&b#1?V0Q|TT_Tbar03D!GcXqoe;eVe^& zY%SDblRta5^x@fgp{OEE4{9!$0O4cRs|rCgNEUk|6{WBa!6l;d$pQ?57%nJ=Hnhf8 zV>|+7oD~=l!EzjMh_$wi$VP1evxR)tK1uTOc=DuM^amZ&NTP>ZUZ;Lmf1g2(K+Pg> zKQm(?kZqM$43!J+9x!WSPoO+0#DyAHop(MBb>ltZurP00lLe+UB8twRBO<}A%Rx)B zm+jZEZx{s`VYL^HiET?&^HK#ResImu_Gj!TXEl4yZKjJQv7U-ExjQO8LkA61+w-zw z>HJMfECtkByFaBN)c(DU5yoq!hp%4nNU*>#P?87{4j=CD;jh#xVG^3FylI}pFv$^bBySnpz%BWYvu|y%~3${AR=g!HD zZxM<#%a=lcFPHh+c+e(=qz9;HT8Av_SU*cH(=u{7W>1bfnF%fxA1gM_!yjhF3pgl@ zM&5%o|B3F&c4uE0bJPlnfs-a5_n?>?I~%Am_`m){@6mISuPMH%!GbSvf2F>W^#3x zw~D2mEm0uVHfbvuRKC;9MqsL+A`^D9=T_Ef!{cetn!~8G76OZ)Sw@l#5jH7hSX)A6 z9_0YO!9%HRNttXoZFt%hZHXNemh^qL=)8rP#KZ@w?%n{_aO|*-6O1{}!=%|h)WT+D zi&H}IX)Q1JwAQF-j>~8@)`IE}^F#9DC8$BXPorA!iH2;YKerNXq|_9CV(lC21zj6k zt4v8M$>QuL_rmA>E3i;ORFm`4*-!~GjcoUd|LEO+?@G;>#KUydh3}UH%{C|U%F`Sd z^*F*ZpEdhsN=h}y)fk3cQjOO1D`GG4;&7`BOTJ52m|%23+(HyXjXyb+6GMo^G$co0 zSV&|JK;E1!>c|Aeb=CNs&e~DBSD9y_8+zW#z9L$k(b}?xF$VjlNr5sm1C}m%T=A;I z&tLn8BA?1#3Asi3EY&tVlGE@lD6c36Gpv5Z}H{!v@KL@AJ{wbti@M?Jw>Tmz~ zV?Vd37(=G2vX&a`<-uSU|7x1E2EWDqA{C8PFt+ir7Eua>@JyFKco;=1`Osq<-rK5< z*V}1(e51!zQbHcY+N$-m0#qdI4iv^sr8bmJprFOzzp8fD_TO02;*ocRyH$b|g(S#k& zO|rIT73HQy6r2C6@crH&$8cB*VN1UYO~bmf{8ueCdxs9`-^nZntI`^#nhQsFo3Jcz z`xysL291(0-|^iHH0hC3G+@r0d4EH7FS%+q+0M4rs*QdnQ&X7;@^p%#Qtoj@55eUu zue^sykQy{0Xd0nVsky#Ij!5#=z?m6Q-Y7U*G&JMG^~rn*?BIuZH(G2#eOxGcp6UlruA%;heUXi?+8Qzlk?QLb1I*wUhwu5}t;C9YY6V}f{^77xQDETO?Y%Qn%aVQ@$SAVl0 z@HQsVhR3xU6ZR<)C!Fe3*;%~jLX16?FzOD;z)Xy8%9-eIkcrHfa}z4E@LWDjk=+tP zoh3V*WG}W5JC0WAu*8IxD66M1Q^$u3*m5t1=S8T;xD=$Pgi_!;tF8gI8hy>4$*r06 zJOAy&&7y9_m>2#s9q!SSCC7EVa6I@~m91qur!x21L8 zulk1bJ3ie}n#b1)O}YvWIr3)7qdUh83;*2K(=cD`(ig26r+!#FDP z3&Riph95ua)o{a;bCX_mw7B3EIj=v zz48-D)ZT9o$K-aL%Wr6(P~leQ{^#91b3sk>y9utST_N9%V&gP9#Z}R)b}Np>H@*k0 zcRIde@3iBi48#B2SG!l1;N_j&A(xqx?H0lUesg2JhmMUU_YebcubD0gTnfoOP+BQN zg@)howfIT3K!M4t=Kr99wkfLy47H z&$q=gxt3JP(N7=OnGqc-%|B#*$!D%yJ|{eH?q5&^T3Pa47U<3f0vDZ)FT$khjt=+} zodQanR4k=)FCPtYiW$@8p`R|@!xC$sheWhb_~Wo}4=Q-us=0N|q+@;K)Pa6W24sf# zsZ4_?bAO0v^ElE`N@HGgZDFd2U|U0yj3ri(S9PnCkXIo2b@@Wg9bNh-1nizyav@EZ z#GZuvzG%N{Efff30=h*dMb-*3j|_G;f5}7Gf)e+59OKx}+9hZD%^ld7YRgdweKn#b zLc$4o(TX%3Xtg#L#HPwq+`|jnrpdm7l(5gqq<7rse~T*bE`d#xZQly zOI@rMbjgT|oz?RSk1Y+y$3`J&sV(LpN`J=UoI9*Doz2ByeIXiUd@p;n=!F;kGerDl z_c}rR_IVWSU1Ns@OH!icALuTbBrf&}-;a;uXFV4tskv za>TKf)=+xy_>?^8rg7JLmZ|f|4v~ZoWvop(`jE^|o|Luaa%h z7=BBgusUWr7G{`#NLl1iv(x7Kw~fW<72@%Y8S(ugXPZ%x$2i=<Un{A^z=f8=LsEs7idm1^JE$7`c|gRS=pbB&Q|R-r&Z# z^Af4YW>hY8i0)Op=VQkXF}gB%-%~$e2aHDP4@dH)wPaN6R{5o9%?R48<>sM60DXBM z_kRePhi@gw5Y6@ZN!DH6!MhqU{x5@9ey?HsWUqDqE~~DB2N2*f;jnb`Kh=(`DQKj3 zf8(hf3HM)jfvpxK!%ZWYQq93N1lXfLP9%O)F61if#0%MzPGRsaPRl&U-UyYfXE11m>PI@7tAwVg%K24Z`a%%Y$SRA>Jcz9ssQ%;ka zc&B)Lz*f!9$v44ss$g>=8KQK1b@&3A(QqIYwM-uq>{0IXdgi<9`4`czLG=N;k2trQ zdsg(x!g1`|yfKSD43xcIL1eFyLC@5GqPLVJBLkf+mkdJ+7k%pdmI6OL=-(X$xwVsI zHT-*E_PE&z^l>_TJL52}Vt+nJA9;D5=<%=Vxci$mBKA0A5>WNB@!>bB9~5+=)AskO z*LQSvwC8W6pZC(eSHk<_%J$30$iI#MG_7Ll_WG;gnV7QXY5!d*^9dn6Qwyt;j#=c^dv`zXzHa9%j&ZcuYRp z&hsJ9@(;Jdm90RI9rtB0EI@DDe+EaBykLO<0b$hIc&RKrn8d>Li^zux0|w0QNN3NK zo0_-=G1~b*@J9*m_^yQc@1Kl<{m+XeJ(DE*_G+nU$JjJhwY5BR0#1>I z0lTI6Ro>GT_rG^YFJJg)V)N#vyy`@lL4FQ@3Vtfoudy2?*HZdT3p=kZA7AOYJv-DT zM{|$wn0X28yq7K<+?uu9bX0Xv2JhZe<;Dtr{1T2QYCkLrV7|8sP4B+QhK$DO`2TtE z+u@+;MZYEzF5sN_+iZkU5|VrQgF#ZJgxl(l|GK$$uX>ootr&&uv+-<||(n4kr9CR4Ha{k5G zR{Qg+1oq7i+b0tXX-(2=AG8@PTtVHK+SfLIz1O5B>N+?h3o&+mzYwi=!|%KOEbsgN zD#h4y8!FKCFk#mIhxFyGDX2+z=)FU@=OzdcIA#-0W>w!68QM3Rme+c|Fhz9G^MTTz zXCUiknW|r;UOd{=z85{bKqct#d@?Hj2?N4A(35)Ft;ZCQyG&x}7#(Ep zj06+vZPcEJ9BOUER2kd*?X~-(Hb&Cr$uK-==c(n3Nq*|TMAz!O49UChaUTh$)c61T z260vnzPrvZm~DDLR$7tTC*sl~Vgu>I*Md1%=2WaQEL{~e?FO)Duzm-1pZtftsz2rQ zTq|u{g+;d)IG`pgSF=h!u}?;P+h^I#$))um3y;9f7C> zIos0MY%)BV;C6JaOyjg_$e#wVjTLt{dP??~y`UPk{vDYEzrSfOJf)htTfc3si(#)v z5mfX~6i-aJmfm3qWO&y0xuzf$rvxumQ{6CDmB6}Lg6^N>o55?hy>NWefZERlMqaYk;OCGZEMei9EuBLNlwZr99gI zwZWgX1qR$N(EkFhY~3U%BE4{y@M(8FwJf7G+p_jMI5G6vT_J_Ef5GFKrPdjJzgSQO z?(?S24n?dKm{>{glDO7>n{R>I*b zySO&54X!cfiC5h%|MB0J*~0P}8!YN3U0L2?uoI5M)>YJO^vs@pE?O|ZOectkGXg|Z**Pc={qv!VR zi^yhOyY*7k_o+e7ORp&Wlbj?oN#=;X^W$`d35^WQCv{Fo?{4SKTV2?em@@y7(S+B^ zZ%+yw2+(k5Y-8eabi41*ePcdEQ+bZ%^6v39bNQ`)oX)r`~r(Pmxo>l+hXqYBu*3C1Va^n96d@#DjJ zw;855?wR##NzJBrrTS;|Y#1J_TC&2sV_yKUThAKV2>-&vfACa@}f= zDSMh9NI7lkDA9NmAn@Pg4fp5Hw;`DSs*D-`@&UH^IO)`b_$=lzlP*ZQ>G@s7R{ zV{7c^->d6fE+{Tk{4tT~e&M^7>T7ns&HjFU|97J*@e}nu%dUH0-cOMW%B`mO#kFirdMWuXh@vlv1AK&?Wd;h+wDuXH4 znJeP<{+|28H-x2(>j!`5&OrMa+oR@||5|-0``{+n)jef9pB@4nizmgn6s`F`qe@tfW6vj5nc_kA>vQ`=u0`nkI9 uy4JhtumAljuY6qhYaMk?)+qY*f98a?gS%OOe+3>L!r Date: Sat, 28 May 2011 16:40:58 +0200 Subject: [PATCH 09/25] libxml2: build libs statically too Signed-off-by: Stephan Raue --- packages/textproc/libxml2/build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/textproc/libxml2/build b/packages/textproc/libxml2/build index 3fa619dad4..cb827c7cb6 100755 --- a/packages/textproc/libxml2/build +++ b/packages/textproc/libxml2/build @@ -30,7 +30,7 @@ cd .build-target --build=$HOST_NAME \ --prefix=/usr \ --sysconfdir=/etc \ - --disable-static \ + --enable-static \ --enable-shared \ --with-iconv \ --disable-ipv6 \ From 2d77541d76bc5315d8549034e0d2d265782b4296 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 16:41:48 +0200 Subject: [PATCH 10/25] evtest: convert to addon Signed-off-by: Stephan Raue --- packages/addons/debug/tools/evtest/addon | 27 ++++++++++++++++++ .../{ => addons/debug}/tools/evtest/build | 5 +++- .../addons/debug/tools/evtest/changelog.txt | 2 ++ .../addons/debug/tools/evtest/icon/icon.png | Bin 0 -> 17533 bytes packages/{ => addons/debug}/tools/evtest/meta | 6 ++-- .../debug/tools/evtest/source/default.py} | 10 ++----- 6 files changed, 40 insertions(+), 10 deletions(-) create mode 100755 packages/addons/debug/tools/evtest/addon rename packages/{ => addons/debug}/tools/evtest/build (93%) create mode 100644 packages/addons/debug/tools/evtest/changelog.txt create mode 100644 packages/addons/debug/tools/evtest/icon/icon.png rename packages/{ => addons/debug}/tools/evtest/meta (94%) rename packages/{tools/evtest/install => addons/debug/tools/evtest/source/default.py} (87%) mode change 100755 => 100644 diff --git a/packages/addons/debug/tools/evtest/addon b/packages/addons/debug/tools/evtest/addon new file mode 100755 index 0000000000..62520bc825 --- /dev/null +++ b/packages/addons/debug/tools/evtest/addon @@ -0,0 +1,27 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/evtest $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/evtest-capture $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/tools/evtest/build b/packages/addons/debug/tools/evtest/build similarity index 93% rename from packages/tools/evtest/build rename to packages/addons/debug/tools/evtest/build index 5559e24e5b..d93dcff91b 100755 --- a/packages/tools/evtest/build +++ b/packages/addons/debug/tools/evtest/build @@ -22,9 +22,12 @@ . config/options $1 +LDFLAGS="$LDFLAGS -static" +CFLAGS="$CFLAGS -pthread" + cd $PKG_BUILD ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ --prefix=/usr \ -make +make LIBS="-lm -lz -liconv" diff --git a/packages/addons/debug/tools/evtest/changelog.txt b/packages/addons/debug/tools/evtest/changelog.txt new file mode 100644 index 0000000000..365ebdd2e2 --- /dev/null +++ b/packages/addons/debug/tools/evtest/changelog.txt @@ -0,0 +1,2 @@ +0.99.1 +- initial addon based on evtest-1.27 diff --git a/packages/addons/debug/tools/evtest/icon/icon.png b/packages/addons/debug/tools/evtest/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1cc6c21a3cac903b6f9c94e69e524204e307bae GIT binary patch literal 17533 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 Date: Sat, 28 May 2011 16:56:52 +0200 Subject: [PATCH 11/25] packages/addons/debug: rename Signed-off-by: Stephan Raue --- .../addons/{debug => debugging}/tools/evtest/addon | 0 .../addons/{debug => debugging}/tools/evtest/build | 0 .../{debug => debugging}/tools/evtest/changelog.txt | 0 .../{debug => debugging}/tools/evtest/icon/icon.png | Bin .../addons/{debug => debugging}/tools/evtest/meta | 0 .../tools/evtest/source/default.py | 0 .../addons/{debug => debugging}/tools/htop/addon | 0 .../addons/{debug => debugging}/tools/htop/build | 0 .../{debug => debugging}/tools/htop/changelog.txt | 0 .../{debug => debugging}/tools/htop/icon/icon.png | Bin .../addons/{debug => debugging}/tools/htop/meta | 0 .../htop/patches/htop-0.9-crosscompiling-0.1.patch | 0 .../tools/htop/source/default.py | 0 13 files changed, 0 insertions(+), 0 deletions(-) rename packages/addons/{debug => debugging}/tools/evtest/addon (100%) rename packages/addons/{debug => debugging}/tools/evtest/build (100%) rename packages/addons/{debug => debugging}/tools/evtest/changelog.txt (100%) rename packages/addons/{debug => debugging}/tools/evtest/icon/icon.png (100%) rename packages/addons/{debug => debugging}/tools/evtest/meta (100%) rename packages/addons/{debug => debugging}/tools/evtest/source/default.py (100%) rename packages/addons/{debug => debugging}/tools/htop/addon (100%) rename packages/addons/{debug => debugging}/tools/htop/build (100%) rename packages/addons/{debug => debugging}/tools/htop/changelog.txt (100%) rename packages/addons/{debug => debugging}/tools/htop/icon/icon.png (100%) rename packages/addons/{debug => debugging}/tools/htop/meta (100%) rename packages/addons/{debug => debugging}/tools/htop/patches/htop-0.9-crosscompiling-0.1.patch (100%) rename packages/addons/{debug => debugging}/tools/htop/source/default.py (100%) diff --git a/packages/addons/debug/tools/evtest/addon b/packages/addons/debugging/tools/evtest/addon similarity index 100% rename from packages/addons/debug/tools/evtest/addon rename to packages/addons/debugging/tools/evtest/addon diff --git a/packages/addons/debug/tools/evtest/build b/packages/addons/debugging/tools/evtest/build similarity index 100% rename from packages/addons/debug/tools/evtest/build rename to packages/addons/debugging/tools/evtest/build diff --git a/packages/addons/debug/tools/evtest/changelog.txt b/packages/addons/debugging/tools/evtest/changelog.txt similarity index 100% rename from packages/addons/debug/tools/evtest/changelog.txt rename to packages/addons/debugging/tools/evtest/changelog.txt diff --git a/packages/addons/debug/tools/evtest/icon/icon.png b/packages/addons/debugging/tools/evtest/icon/icon.png similarity index 100% rename from packages/addons/debug/tools/evtest/icon/icon.png rename to packages/addons/debugging/tools/evtest/icon/icon.png diff --git a/packages/addons/debug/tools/evtest/meta b/packages/addons/debugging/tools/evtest/meta similarity index 100% rename from packages/addons/debug/tools/evtest/meta rename to packages/addons/debugging/tools/evtest/meta diff --git a/packages/addons/debug/tools/evtest/source/default.py b/packages/addons/debugging/tools/evtest/source/default.py similarity index 100% rename from packages/addons/debug/tools/evtest/source/default.py rename to packages/addons/debugging/tools/evtest/source/default.py diff --git a/packages/addons/debug/tools/htop/addon b/packages/addons/debugging/tools/htop/addon similarity index 100% rename from packages/addons/debug/tools/htop/addon rename to packages/addons/debugging/tools/htop/addon diff --git a/packages/addons/debug/tools/htop/build b/packages/addons/debugging/tools/htop/build similarity index 100% rename from packages/addons/debug/tools/htop/build rename to packages/addons/debugging/tools/htop/build diff --git a/packages/addons/debug/tools/htop/changelog.txt b/packages/addons/debugging/tools/htop/changelog.txt similarity index 100% rename from packages/addons/debug/tools/htop/changelog.txt rename to packages/addons/debugging/tools/htop/changelog.txt diff --git a/packages/addons/debug/tools/htop/icon/icon.png b/packages/addons/debugging/tools/htop/icon/icon.png similarity index 100% rename from packages/addons/debug/tools/htop/icon/icon.png rename to packages/addons/debugging/tools/htop/icon/icon.png diff --git a/packages/addons/debug/tools/htop/meta b/packages/addons/debugging/tools/htop/meta similarity index 100% rename from packages/addons/debug/tools/htop/meta rename to packages/addons/debugging/tools/htop/meta diff --git a/packages/addons/debug/tools/htop/patches/htop-0.9-crosscompiling-0.1.patch b/packages/addons/debugging/tools/htop/patches/htop-0.9-crosscompiling-0.1.patch similarity index 100% rename from packages/addons/debug/tools/htop/patches/htop-0.9-crosscompiling-0.1.patch rename to packages/addons/debugging/tools/htop/patches/htop-0.9-crosscompiling-0.1.patch diff --git a/packages/addons/debug/tools/htop/source/default.py b/packages/addons/debugging/tools/htop/source/default.py similarity index 100% rename from packages/addons/debug/tools/htop/source/default.py rename to packages/addons/debugging/tools/htop/source/default.py From 31c1b444a5dfa1ea45ab8fd4fb98669099a63a43 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 17:25:33 +0200 Subject: [PATCH 12/25] packages/tools: remove category Signed-off-by: Stephan Raue --- packages/debug/meta | 2 +- packages/tools/meta | 36 ------------------------------------ projects/ATV/options | 4 ---- projects/Fusion/options | 4 ---- projects/Generic/options | 4 ---- projects/ION/options | 4 ---- projects/Intel/options | 4 ---- scripts/image | 3 --- 8 files changed, 1 insertion(+), 60 deletions(-) delete mode 100644 packages/tools/meta diff --git a/packages/debug/meta b/packages/debug/meta index bed0ab027f..98a35bcff8 100644 --- a/packages/debug/meta +++ b/packages/debug/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="strace gdb mesa-demos tvdump w_scan tools htop mrxvt" +PKG_DEPENDS="strace gdb mesa-demos tvdump w_scan mrxvt" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="debug" diff --git a/packages/tools/meta b/packages/tools/meta deleted file mode 100644 index 447074e2d0..0000000000 --- a/packages/tools/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="tools" -PKG_VERSION="" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.openelec.tv" -PKG_URL="" -PKG_DEPENDS="nano pastebinit evtest" -PKG_BUILD_DEPENDS="toolchain" -PKG_PRIORITY="optional" -PKG_SECTION="debug" -PKG_SHORTDESC="debug: Metapackage for installing some tools" -PKG_LONGDESC="debug is a Metapackage for installing some tools" -PKG_IS_ADDON="no" - -PKG_AUTORECONF="no" diff --git a/projects/ATV/options b/projects/ATV/options index 9d802a9b24..5eab3ef318 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -143,10 +143,6 @@ # build and install SFTP Server (yes / no) SFTP_SERVER="yes" -# build and install some tools for including in release (yes / no) -# some of this tools are: htop, nano, wgetpaste - TOOLS="yes" - # build and install diskmounter service (udisks) # this service provide auto mounting support for external drives # in the mediacenter also automount internally drives at boottime (yes / no) diff --git a/projects/Fusion/options b/projects/Fusion/options index ea9a0947e0..56e7637da7 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -143,10 +143,6 @@ # build and install SFTP Server (yes / no) SFTP_SERVER="yes" -# build and install some tools for including in release (yes / no) -# some of this tools are: htop, nano, wgetpaste - TOOLS="yes" - # build and install diskmounter service (udisks) # this service provide auto mounting support for external drives # in the mediacenter also automount internally drives at boottime (yes / no) diff --git a/projects/Generic/options b/projects/Generic/options index 84a0466b51..0ebfe1261b 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -143,10 +143,6 @@ # build and install SFTP Server (yes / no) SFTP_SERVER="yes" -# build and install some tools for including in release (yes / no) -# some of this tools are: htop, nano, wgetpaste - TOOLS="yes" - # build and install diskmounter service (udisks) # this service provide auto mounting support for external drives # in the mediacenter also automount internally drives at boottime (yes / no) diff --git a/projects/ION/options b/projects/ION/options index 167c423ec0..b9c97ba1f9 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -143,10 +143,6 @@ # build and install SFTP Server (yes / no) SFTP_SERVER="yes" -# build and install some tools for including in release (yes / no) -# some of this tools are: htop, nano, wgetpaste - TOOLS="yes" - # build and install diskmounter service (udisks) # this service provide auto mounting support for external drives # in the mediacenter also automount internally drives at boottime (yes / no) diff --git a/projects/Intel/options b/projects/Intel/options index 936e79432e..856775cd5b 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -143,10 +143,6 @@ # build and install SFTP Server (yes / no) SFTP_SERVER="yes" -# build and install some tools for including in release (yes / no) -# some of this tools are: htop, nano, wgetpaste - TOOLS="yes" - # build and install diskmounter service (udisks) # this service provide auto mounting support for external drives # in the mediacenter also automount internally drives at boottime (yes / no) diff --git a/scripts/image b/scripts/image index 706c350fe3..767124d5eb 100755 --- a/scripts/image +++ b/scripts/image @@ -130,9 +130,6 @@ mkdir -p $INSTALL # Update support [ "$INSTALLER_SUPPORT" = "yes" ] && $SCRIPTS/install installer -# some system tools - [ "$TOOLS" = "yes" ] && $SCRIPTS/install tools - # Devtools... (not for Release) [ "$TESTING" = "yes" ] && $SCRIPTS/install testing [ "$DEVTOOLS" = "yes" ] && $SCRIPTS/install debug From 1201bd0b071cd498465ebb3f91eacd25905b233e Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 17:28:20 +0200 Subject: [PATCH 13/25] mediacenter: cleanup Signed-off-by: Stephan Raue --- packages/mediacenter/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mediacenter/meta b/packages/mediacenter/meta index 641f4a7a39..0632bce908 100644 --- a/packages/mediacenter/meta +++ b/packages/mediacenter/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="$MEDIACENTER $MEDIACENTER-theme-$SKIN_DEFAULT plugins" +PKG_DEPENDS="$MEDIACENTER $MEDIACENTER-theme-$SKIN_DEFAULT" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="mediacenter" From 6427a353abb37b9e275b4188adf46224cde73aa2 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 18:24:02 +0200 Subject: [PATCH 14/25] transmission: move to service group Signed-off-by: Stephan Raue --- .../downloadmanager/transmission/addon | 0 .../downloadmanager/transmission/build | 0 .../downloadmanager/transmission/changelog.txt | 3 +++ .../downloadmanager/transmission/icon/icon.png | Bin .../{ => service}/downloadmanager/transmission/meta | 2 +- .../downloadmanager/transmission/source/default.py | 0 .../source/resources/language/Dutch/strings.xml | 0 .../source/resources/language/English/strings.xml | 0 .../source/resources/language/French/strings.xml | 0 .../source/resources/language/German/strings.xml | 0 .../source/resources/language/Norwegian/strings.xml | 0 .../transmission/source/resources/settings.xml | 0 .../transmission/source/settings.xml | 0 .../downloadmanager/transmission/source/start.sh | 0 14 files changed, 4 insertions(+), 1 deletion(-) rename packages/addons/{ => service}/downloadmanager/transmission/addon (100%) rename packages/addons/{ => service}/downloadmanager/transmission/build (100%) rename packages/addons/{ => service}/downloadmanager/transmission/changelog.txt (72%) rename packages/addons/{ => service}/downloadmanager/transmission/icon/icon.png (100%) rename packages/addons/{ => service}/downloadmanager/transmission/meta (97%) rename packages/addons/{ => service}/downloadmanager/transmission/source/default.py (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/resources/language/Dutch/strings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/resources/language/English/strings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/resources/language/French/strings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/resources/language/German/strings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/resources/language/Norwegian/strings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/resources/settings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/settings.xml (100%) rename packages/addons/{ => service}/downloadmanager/transmission/source/start.sh (100%) diff --git a/packages/addons/downloadmanager/transmission/addon b/packages/addons/service/downloadmanager/transmission/addon similarity index 100% rename from packages/addons/downloadmanager/transmission/addon rename to packages/addons/service/downloadmanager/transmission/addon diff --git a/packages/addons/downloadmanager/transmission/build b/packages/addons/service/downloadmanager/transmission/build similarity index 100% rename from packages/addons/downloadmanager/transmission/build rename to packages/addons/service/downloadmanager/transmission/build diff --git a/packages/addons/downloadmanager/transmission/changelog.txt b/packages/addons/service/downloadmanager/transmission/changelog.txt similarity index 72% rename from packages/addons/downloadmanager/transmission/changelog.txt rename to packages/addons/service/downloadmanager/transmission/changelog.txt index a0a9d4eea0..02921038d0 100644 --- a/packages/addons/downloadmanager/transmission/changelog.txt +++ b/packages/addons/service/downloadmanager/transmission/changelog.txt @@ -1,3 +1,6 @@ +0.99.3 +- prepare for release + 0.99.2 - update to transmission-2.31 diff --git a/packages/addons/downloadmanager/transmission/icon/icon.png b/packages/addons/service/downloadmanager/transmission/icon/icon.png similarity index 100% rename from packages/addons/downloadmanager/transmission/icon/icon.png rename to packages/addons/service/downloadmanager/transmission/icon/icon.png diff --git a/packages/addons/downloadmanager/transmission/meta b/packages/addons/service/downloadmanager/transmission/meta similarity index 97% rename from packages/addons/downloadmanager/transmission/meta rename to packages/addons/service/downloadmanager/transmission/meta index d48123c707..e35f447603 100644 --- a/packages/addons/downloadmanager/transmission/meta +++ b/packages/addons/service/downloadmanager/transmission/meta @@ -28,7 +28,7 @@ PKG_URL="http://download.transmissionbt.com/files/$PKG_NAME-$PKG_VERSION.tar.bz2 PKG_DEPENDS="zlib libiconv openssl curl libevent" PKG_BUILD_DEPENDS="toolchain libiconv zlib openssl curl libevent" PKG_PRIORITY="optional" -PKG_SECTION="downloadmanager" +PKG_SECTION="service/downloadmanager" PKG_SHORTDESC="transmission: a fast, easy and free BitTorrent client" PKG_LONGDESC="transmission is a fast, easy and free BitTorrent client" diff --git a/packages/addons/downloadmanager/transmission/source/default.py b/packages/addons/service/downloadmanager/transmission/source/default.py similarity index 100% rename from packages/addons/downloadmanager/transmission/source/default.py rename to packages/addons/service/downloadmanager/transmission/source/default.py diff --git a/packages/addons/downloadmanager/transmission/source/resources/language/Dutch/strings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/language/Dutch/strings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/resources/language/Dutch/strings.xml rename to packages/addons/service/downloadmanager/transmission/source/resources/language/Dutch/strings.xml diff --git a/packages/addons/downloadmanager/transmission/source/resources/language/English/strings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/language/English/strings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/resources/language/English/strings.xml rename to packages/addons/service/downloadmanager/transmission/source/resources/language/English/strings.xml diff --git a/packages/addons/downloadmanager/transmission/source/resources/language/French/strings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/language/French/strings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/resources/language/French/strings.xml rename to packages/addons/service/downloadmanager/transmission/source/resources/language/French/strings.xml diff --git a/packages/addons/downloadmanager/transmission/source/resources/language/German/strings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/language/German/strings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/resources/language/German/strings.xml rename to packages/addons/service/downloadmanager/transmission/source/resources/language/German/strings.xml diff --git a/packages/addons/downloadmanager/transmission/source/resources/language/Norwegian/strings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/language/Norwegian/strings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/resources/language/Norwegian/strings.xml rename to packages/addons/service/downloadmanager/transmission/source/resources/language/Norwegian/strings.xml diff --git a/packages/addons/downloadmanager/transmission/source/resources/settings.xml b/packages/addons/service/downloadmanager/transmission/source/resources/settings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/resources/settings.xml rename to packages/addons/service/downloadmanager/transmission/source/resources/settings.xml diff --git a/packages/addons/downloadmanager/transmission/source/settings.xml b/packages/addons/service/downloadmanager/transmission/source/settings.xml similarity index 100% rename from packages/addons/downloadmanager/transmission/source/settings.xml rename to packages/addons/service/downloadmanager/transmission/source/settings.xml diff --git a/packages/addons/downloadmanager/transmission/source/start.sh b/packages/addons/service/downloadmanager/transmission/source/start.sh similarity index 100% rename from packages/addons/downloadmanager/transmission/source/start.sh rename to packages/addons/service/downloadmanager/transmission/source/start.sh From d3e618a514b55f2347df060fdf9ace6dcb1465a5 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 18:27:51 +0200 Subject: [PATCH 15/25] busybox: install pastebinit with busybox Signed-off-by: Stephan Raue --- packages/sysutils/busybox/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sysutils/busybox/meta b/packages/sysutils/busybox/meta index 2a8d554877..640cb615b0 100644 --- a/packages/sysutils/busybox/meta +++ b/packages/sysutils/busybox/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.busybox.net" PKG_URL="http://busybox.net/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="grep hdparm speedcontrol" +PKG_DEPENDS="grep hdparm speedcontrol pastebinit" PKG_BUILD_DEPENDS="toolchain busybox-hosttools" PKG_PRIORITY="required" PKG_SECTION="system" From 624fd2a6fba0a8f4ca0e06de18f30db2c207a311 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 19:52:54 +0200 Subject: [PATCH 16/25] transmission: fix paths Signed-off-by: Stephan Raue --- .../addons/service/downloadmanager/transmission/changelog.txt | 3 +++ packages/addons/service/downloadmanager/transmission/meta | 2 +- .../service/downloadmanager/transmission/source/default.py | 2 +- .../service/downloadmanager/transmission/source/start.sh | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/addons/service/downloadmanager/transmission/changelog.txt b/packages/addons/service/downloadmanager/transmission/changelog.txt index 02921038d0..df843f9e73 100644 --- a/packages/addons/service/downloadmanager/transmission/changelog.txt +++ b/packages/addons/service/downloadmanager/transmission/changelog.txt @@ -1,3 +1,6 @@ +0.99.4 +- fix paths + 0.99.3 - prepare for release diff --git a/packages/addons/service/downloadmanager/transmission/meta b/packages/addons/service/downloadmanager/transmission/meta index e35f447603..ef8d1d2ace 100644 --- a/packages/addons/service/downloadmanager/transmission/meta +++ b/packages/addons/service/downloadmanager/transmission/meta @@ -20,7 +20,7 @@ PKG_NAME="transmission" PKG_VERSION="2.31" -PKG_REV="3" +PKG_REV="4" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://www.transmissionbt.com/" diff --git a/packages/addons/service/downloadmanager/transmission/source/default.py b/packages/addons/service/downloadmanager/transmission/source/default.py index 1acdc284b2..5d7fa663d5 100644 --- a/packages/addons/service/downloadmanager/transmission/source/default.py +++ b/packages/addons/service/downloadmanager/transmission/source/default.py @@ -24,7 +24,7 @@ dir = os.path.realpath(os.path.dirname(__file__)) script = 'start.sh' launcher = os.path.join(dir, script) -app = '/storage/.xbmc/addons/addon.downloadmanager.transmission/bin/transmission-daemon' +app = '/storage/.xbmc/addons/service.downloadmanager.transmission/bin/transmission-daemon' os.chmod(launcher, 0755) os.chmod(app, 0755) diff --git a/packages/addons/service/downloadmanager/transmission/source/start.sh b/packages/addons/service/downloadmanager/transmission/source/start.sh index 3a6c95b4b7..77e05ad4f0 100755 --- a/packages/addons/service/downloadmanager/transmission/source/start.sh +++ b/packages/addons/service/downloadmanager/transmission/source/start.sh @@ -23,7 +23,7 @@ XBMC_PID=$1 APP=$2 SCRIPT_DIR=$(dirname `readlink -f $0`) -ADDON_HOME="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.transmission" +ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.downloadmanager.transmission" PATH="${PATH}:${SCRIPT_DIR}/bin" LOG_FILE="${ADDON_HOME}/service.log" From f46fd7a90729269073026f9e2cf58f11a7022fb9 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 19:54:04 +0200 Subject: [PATCH 17/25] udev: update to udev-171 Signed-off-by: Stephan Raue --- packages/sysutils/udev/build | 1 + packages/sysutils/udev/meta | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/sysutils/udev/build b/packages/sysutils/udev/build index e73ec438e8..b592e7927e 100755 --- a/packages/sysutils/udev/build +++ b/packages/sysutils/udev/build @@ -55,6 +55,7 @@ LDFLAGS="$LDFLAGS -I$SYSROOT_PREFIX/usr/include/glib-2.0" \ --without-systemdsystemunitdir \ --with-firmware-path=/lib/firmware \ --with-pci-ids-path=/usr/share/pci.ids \ + --with-usb-ids-path=/usr/share/usb.ids \ --with-gnu-ld \ make diff --git a/packages/sysutils/udev/meta b/packages/sysutils/udev/meta index 094b9a00e8..a999e31272 100644 --- a/packages/sysutils/udev/meta +++ b/packages/sysutils/udev/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="udev" -PKG_VERSION="170" +PKG_VERSION="171" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" From 5ff6b3e1af9f7d4cb15629ba76e5c5e66ecf265d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 19:54:35 +0200 Subject: [PATCH 18/25] xf86-video-ati: update to xf86-video-ati-6.14.2 Signed-off-by: Stephan Raue --- packages/x11/driver/xf86-video-ati/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/x11/driver/xf86-video-ati/meta b/packages/x11/driver/xf86-video-ati/meta index 7886cc5066..727ff44e24 100644 --- a/packages/x11/driver/xf86-video-ati/meta +++ b/packages/x11/driver/xf86-video-ati/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xf86-video-ati" -PKG_VERSION="6.14.1" +PKG_VERSION="6.14.2" PKG_REV="1" PKG_ARCH="i386 x86_64" PKG_LICENSE="OSS" From 26bfcfea0f6af395fb22736403c0663587611843 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 19:55:09 +0200 Subject: [PATCH 19/25] util-macros: update to util-macros-1.14.0 Signed-off-by: Stephan Raue --- packages/x11/util/util-macros/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/x11/util/util-macros/meta b/packages/x11/util/util-macros/meta index 9af195d62e..5d376bd23a 100644 --- a/packages/x11/util/util-macros/meta +++ b/packages/x11/util/util-macros/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="util-macros" -PKG_VERSION="1.13.0" +PKG_VERSION="1.14.0" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="OSS" From 352deea8efd016d3859320b649d4df77d4ba25e7 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 20:29:29 +0200 Subject: [PATCH 20/25] hts-tvheadend: convert to addon Signed-off-by: Stephan Raue --- .../service/multimedia/hts-tvheadend/addon} | 7 +- .../service}/multimedia/hts-tvheadend/build | 0 .../multimedia/hts-tvheadend/changelog.txt | 2 + .../multimedia/hts-tvheadend/icon/icon.png | Bin 0 -> 72388 bytes .../service}/multimedia/hts-tvheadend/meta | 6 +- .../hts-tvheadend/source/default.py} | 23 +++-- .../multimedia/hts-tvheadend/source/start.sh | 83 ++++++++++++++++++ .../hts-tvheadend/sleep.d/50_tvheadend | 48 ---------- .../hts-tvheadend/udev.d/76-tvheadend.rules | 30 ------- projects/ATV/options | 3 - projects/Fusion/options | 3 - projects/Generic/options | 3 - projects/ION/options | 3 - projects/Intel/options | 3 - scripts/image | 1 - 15 files changed, 107 insertions(+), 108 deletions(-) rename packages/{multimedia/hts-tvheadend/scripts/tvheadend_startup => addons/service/multimedia/hts-tvheadend/addon} (88%) rename packages/{ => addons/service}/multimedia/hts-tvheadend/build (100%) create mode 100644 packages/addons/service/multimedia/hts-tvheadend/changelog.txt create mode 100644 packages/addons/service/multimedia/hts-tvheadend/icon/icon.png rename packages/{ => addons/service}/multimedia/hts-tvheadend/meta (96%) rename packages/{multimedia/hts-tvheadend/install => addons/service/multimedia/hts-tvheadend/source/default.py} (73%) mode change 100755 => 100644 create mode 100755 packages/addons/service/multimedia/hts-tvheadend/source/start.sh delete mode 100755 packages/multimedia/hts-tvheadend/sleep.d/50_tvheadend delete mode 100644 packages/multimedia/hts-tvheadend/udev.d/76-tvheadend.rules diff --git a/packages/multimedia/hts-tvheadend/scripts/tvheadend_startup b/packages/addons/service/multimedia/hts-tvheadend/addon similarity index 88% rename from packages/multimedia/hts-tvheadend/scripts/tvheadend_startup rename to packages/addons/service/multimedia/hts-tvheadend/addon index 1137a8ea29..3e0ab9a67c 100755 --- a/packages/multimedia/hts-tvheadend/scripts/tvheadend_startup +++ b/packages/addons/service/multimedia/hts-tvheadend/addon @@ -20,6 +20,7 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -if [ ! $(pidof tvheadend) ];then - tvheadend -C -s -f -u root -g root -fi \ No newline at end of file +. config/options $1 + +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -P $PKG_BUILD/build.Linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/multimedia/hts-tvheadend/build b/packages/addons/service/multimedia/hts-tvheadend/build similarity index 100% rename from packages/multimedia/hts-tvheadend/build rename to packages/addons/service/multimedia/hts-tvheadend/build diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt new file mode 100644 index 0000000000..b7c99839b8 --- /dev/null +++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt @@ -0,0 +1,2 @@ +0.99.1 +- initial version hts-tvheadend-90e3570 \ No newline at end of file diff --git a/packages/addons/service/multimedia/hts-tvheadend/icon/icon.png b/packages/addons/service/multimedia/hts-tvheadend/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f0bb3997e7e1359cb2dd0981e34770f8fe7dc2d5 GIT binary patch literal 72388 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 &" + APP_PID=$! +} + +pid_is_running() { + local PID=${1} + for IPID in `ps -o pid | sed 's/[A-Za-z]//g' | sed 's/\ //g'`;do + if [ ${IPID} -eq ${PID} ];then + return 0 + fi + done + return 1 +} + +app_prep() { + +mkdir -p $ADDON_HOME +ARG="-C -s -u root -g root -c $ADDON_HOME" + +} + +main() { + app_prep + launch_app "${APP}" + pid_is_running "${XBMC_PID}" + XBMC_RUNNING=$? + pid_is_running "${APP_PID}" + APP_RUNNING=$? + + while [ $XBMC_RUNNING -eq 0 -a ${APP_RUNNING} -eq 0 ]; do + sleep 1 + pid_is_running "${XBMC_PID}" + XBMC_RUNNING=$? + pid_is_running "${APP_PID}" + APP_RUNNING=$? + done +} + +main +cleanup diff --git a/packages/multimedia/hts-tvheadend/sleep.d/50_tvheadend b/packages/multimedia/hts-tvheadend/sleep.d/50_tvheadend deleted file mode 100755 index 91f3a2fb0e..0000000000 --- a/packages/multimedia/hts-tvheadend/sleep.d/50_tvheadend +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -. /etc/profile - -LOCKDIR="/var/lock/" -LOCKFILE="tvheadend" - -case "$1" in - hibernate|suspend) - if [ $(pidof tvheadend) ];then - progress "Shutting down HTS TVHeadend for suspending..." - mkdir -p "$LOCKDIR" - touch "$LOCKDIR/$LOCKFILE" - killall tvheadend - fi - ;; - - thaw|resume) - if [ -f "$LOCKDIR/$LOCKFILE" ];then - progress "Restarting HTS TVHeadend for wakeup..." - tvheadend -C -s -f -u root -g root - rm -rf "$LOCKDIR/$LOCKFILE" - fi - ;; - - *) exit $NA - ;; -esac diff --git a/packages/multimedia/hts-tvheadend/udev.d/76-tvheadend.rules b/packages/multimedia/hts-tvheadend/udev.d/76-tvheadend.rules deleted file mode 100644 index 8e00208484..0000000000 --- a/packages/multimedia/hts-tvheadend/udev.d/76-tvheadend.rules +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -# only does something with adding "dvb" subsystem devices. -ACTION!="add|remove", GOTO="end" -SUBSYSTEM!="dvb", GOTO="end" -ENV{DVB_DEVICE_TYPE}!="frontend", GOTO="end" - -# Start TVHeadend if dvb frontend is starting -ACTION=="add", RUN+="/lib/udev/tvheadend_startup" -ACTION=="remove", RUN+="/usr/bin/killall tvheadend" - -LABEL="end" diff --git a/projects/ATV/options b/projects/ATV/options index 5eab3ef318..ccc3da31a2 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -116,9 +116,6 @@ # (DVD decryption support in XBMC) (yes / no) DVDCSS_SUPPORT="yes" -# build and install Tvheadend TV server (yes / no) - TVHEADEND="yes" - # additional drivers to install: # bcm_sta: Broadcom STA WLAN Driver # Space separated list is supported, diff --git a/projects/Fusion/options b/projects/Fusion/options index 56e7637da7..d0654052b9 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -116,9 +116,6 @@ # (DVD decryption support in XBMC) (yes / no) DVDCSS_SUPPORT="yes" -# build and install Tvheadend TV server (yes / no) - TVHEADEND="yes" - # additional drivers to install: # bcm_sta: Broadcom STA WLAN Driver # Space separated list is supported, diff --git a/projects/Generic/options b/projects/Generic/options index 0ebfe1261b..b6041558d6 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -116,9 +116,6 @@ # (DVD decryption support in XBMC) (yes / no) DVDCSS_SUPPORT="yes" -# build and install Tvheadend TV server (yes / no) - TVHEADEND="yes" - # additional drivers to install: # bcm_sta: Broadcom STA WLAN Driver # Space separated list is supported, diff --git a/projects/ION/options b/projects/ION/options index b9c97ba1f9..686e01f069 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -116,9 +116,6 @@ # (DVD decryption support in XBMC) (yes / no) DVDCSS_SUPPORT="yes" -# build and install Tvheadend TV server (yes / no) - TVHEADEND="yes" - # additional drivers to install: # bcm_sta: Broadcom STA WLAN Driver # Space separated list is supported, diff --git a/projects/Intel/options b/projects/Intel/options index 856775cd5b..b0e9b8c4bb 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -116,9 +116,6 @@ # (DVD decryption support in XBMC) (yes / no) DVDCSS_SUPPORT="yes" -# build and install Tvheadend TV server (yes / no) - TVHEADEND="yes" - # additional drivers to install: # bcm_sta: Broadcom STA WLAN Driver # Space separated list is supported, diff --git a/scripts/image b/scripts/image index 767124d5eb..7602734010 100755 --- a/scripts/image +++ b/scripts/image @@ -100,7 +100,6 @@ mkdir -p $INSTALL # Multimedia support [ ! "$MEDIACENTER" = "no" ] && $SCRIPTS/install mediacenter - [ "$TVHEADEND" = "yes" ] && $SCRIPTS/install hts-tvheadend # Automounter support [ "$UDISKS" = "yes" ] && $SCRIPTS/install udisks From c76af72a9d79e12cdbbaa411d14841bfcb59064a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 28 May 2011 22:56:37 +0200 Subject: [PATCH 21/25] new addon: add addon 'rsync' Signed-off-by: Stephan Raue --- packages/addons/networking/backup/rsync/addon | 26 ++++++++++++ packages/addons/networking/backup/rsync/build | 34 ++++++++++++++++ .../networking/backup/rsync/changelog.txt | 5 +++ .../networking/backup/rsync/icon/icon.png | Bin 0 -> 74461 bytes packages/addons/networking/backup/rsync/meta | 38 ++++++++++++++++++ .../networking/backup/rsync/source/default.py | 23 +++++++++++ 6 files changed, 126 insertions(+) create mode 100755 packages/addons/networking/backup/rsync/addon create mode 100755 packages/addons/networking/backup/rsync/build create mode 100644 packages/addons/networking/backup/rsync/changelog.txt create mode 100644 packages/addons/networking/backup/rsync/icon/icon.png create mode 100644 packages/addons/networking/backup/rsync/meta create mode 100644 packages/addons/networking/backup/rsync/source/default.py diff --git a/packages/addons/networking/backup/rsync/addon b/packages/addons/networking/backup/rsync/addon new file mode 100755 index 0000000000..d58902f2c7 --- /dev/null +++ b/packages/addons/networking/backup/rsync/addon @@ -0,0 +1,26 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/rsync $ADDON_BUILD/$PKG_ADDON_ID/bin diff --git a/packages/addons/networking/backup/rsync/build b/packages/addons/networking/backup/rsync/build new file mode 100755 index 0000000000..2652dc6e7a --- /dev/null +++ b/packages/addons/networking/backup/rsync/build @@ -0,0 +1,34 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-acl-support \ + --disable-xattr-support \ + +make diff --git a/packages/addons/networking/backup/rsync/changelog.txt b/packages/addons/networking/backup/rsync/changelog.txt new file mode 100644 index 0000000000..65521b3380 --- /dev/null +++ b/packages/addons/networking/backup/rsync/changelog.txt @@ -0,0 +1,5 @@ +0.99.2 +- prepare for release + +0.99.1 +- initial addon based on rsync-3.0.8 diff --git a/packages/addons/networking/backup/rsync/icon/icon.png b/packages/addons/networking/backup/rsync/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1efeeb9a037b1551d66b7744d88c146ea37bdcaf GIT binary patch literal 74461 zcmce7gL5ZQ6W}lQ#b_`MnfB1Yos1 z@gF8&wE(Xi8V~~lNT-q@0~PE97^(#*(}DK=1>{u;k}!bx)qwbGwXjHl`gcPBTw^uk z5d{qa{^`PWlK>)4P=E*l>J%7}ELa}XeD8L-!S9eZNf1EaMDkRs%seYvTkVBx;)B4(; zgrE2Z_}LW=3JyS$pSfB$I5=1a`#l0u=hACkt^-(C2Uq}K^jJ4w^0Z-RJzt_cINt>c za`F{NdGYaJ;ovUFjq|&i_M-T|Say$aLQwGiXjOebvikA6`Y=I_AVme?$@+Magdz9+@nG|@QiQNo z`?y!Zo9n=E@{lujked3LIT4PwQFH^&eq%x!V&(kB>I#Jc7aD~|H6rE?M>dXKC7FiC zOpgU8F_L6U@Gl}d2}e^R85(sg0xcJ|`lBaFdQ0z!#ucM0_!_@4O2iWR9@!03^d9g^&DD180oJ~V0^rUrmUt&8TmPB z6G{iP224;e^IuAm#4?2@a!-_(L3d;B`gl$8DvC>D0^%HUeaauG28ohnKgJUFp-8iv3LJnJ=duW==T#_8mFFx%SA=utYD?MXxhgWMgq5SRxnz(}Wnzd-6wwzh z&1P7dTRvGZo;Y{FYz7gCrOu|#TOUK69GwK+yTK!bA_R>{8dG6gV|!tjVzpv3rpuN< zETpE7sxqyx;HI0WA*R`@Y0^B>c%%OrM@i;RR!{a#KB`bvb5avn@~D7QtyDv-)K~W@ z5m#$e+$)D!#Hd^<$5-nt=ct)hc2ka1oKZ3;>@oNVd^JI62n`X>3zaNXHEA8jjv>Yv zW--0d6kc{z2Roy)PLng%X?Qu8b%l7tb!GIDRS|KjFsm~AW0rmBFa`2sxPJSZYb{H9 zns^#v+KV2HUVy%S*{a&C+PC`Wy61Y&y77hM1;)kM`jyM?Y{6{0><4aJ?k5+R4vr3` zj*yNGmzh)k1(P$66PSnbhaV@Ka}p1>_k|Cbr&r5YbA&&c*q}M$v2B<+O|B>7O^&V8 zEZgR;gLlf1CoDSt3|bVz&M@nkYg%xgoE)Y5SG8I-b{@;Mlx3Y`)U(#L@g5UWES5DS9mNqflCqxSJpqv- zm-1AVrp~YKq5h!0QYE#ldq#I=yR2cOh^vtapUIs$(Nb2OSv}~QX$wT#MT?`Jr+!ee zTW3ChKZiZfIETF8dNg_@f3$s^!JouK!C&Ta=J9rPcA0dw`Q3F^w8J(~K3G0*qG66} zp6`@>$BtPd6F-5H>Y9qFVp|$nYM1Ldk$ix2*)iX|@KBi9nfb4J&318fl5fbT@=cB* z6L(B+fbUA^{`yIC*I{xmyEL=(?_K;6qrR)Ymi}8efkI;zMb0vl?dZm!&UW{NmmxPl zpXuxL2^jw{KWMIJZdgxA4+)U3htzl3H{BQNJ?D+*b>buLxp&9o7UM=9!Vsh%akJRQ6kiX9>bq7#x4o*!Kp9tJ^+&@s`z5AzoH#f0^rIbFsa`Z#npx;E}B z(Yy6)x65eM%l*XJhRQet)eZ!J?vTRCKbgQl?>)0Vt;UTkS}7- z3G~P&gEebELp8=*MOo38;YnwE0!eO?0@+0RakB`W!MW}+f%P=d9f-olS#?>}=t($F6BZK}u|{+fC4o zl7FdPS*0%NsQb}iCL2`!t}3f}t`l!N+|`gbSn_`Guw7r@l5QQpIFmdpIK((0|1 z?zR$Inhm{1sK&jCIlwirmELmB_q2M5oobpIp8{hyV!zOtY^mC~&F3h5^vw3tn^6C# zu59gDqgY?=-E{N1`w@hX&a-uubl%lW>#kwlE#~uJH-8zp8HZzx+tGXIyV)k;rZAKf z=T+3*#b&}Wh!wDa7(E>-k}wt0N{-B-uah1vM}_!2#>U%pq&dnPU;>~R`7 zdD&EaH!u5viF>8LN^`R11^5=z|9L#gzNcI3Dd}~ai_GK*U^-vQwi-N*-EAGk>0NjI zz9)Gy-XL$4sphNUlkolhu_IZlV}EA)G;yK9TjP8$cg8b!wcz(^)wkrd^1Q;Jm+R4e zHGGcSYDck&*GAs)@a+0{f$0W&Df>^)GtRyCy=VR76zUc6)UWBY-n7ql``NJ1aArUY z@#+UmSk7nC*FxCNyu_r$5~(<8Ok6f0Aua+=_wBFg#GTTHQq-AoU-d7KGpEWU;K%Np z%#7yy>NVU;)J$)UNBN!ORb_cC_Xz0-Vb`<=-%ZJT_4J0%RohhuaHN|so$6iiQ}J%@ z)nue}R^f^N$ouo1@hSN3&7X@L`8%qF`7NpC1OULH{^te(WMpA|4?;Oh$%#R&!$5;j zBN|`+OKeJS{dOQdtlvc*4S~ zpq50IDQ0;_8Rq`x$A=)HCjp_Qo#_P2kfCJw6!Al3!%}!7G9*_CRYMJrdgN-!Rv*<* zTTguEpKZMfzdZV<2V|>mKVChG8Y=D=u6lakd@t9woFvu$P^*;4{tV>Q36xD|G3^^q z`hJGj{07JUlmCOluKNa)sKL}rzVU|t0aYNY{zLj-{C`Q4Kxn^7{}=whr2ju&^?!f$ ze{uDH3-DjA{vQGU%hmr8U;#HC6sMB=*!okpq}9L628N}3&6M$UC|B55(W!Eg@Yj7H zkCFP{dtIMh_tA+|L}!bQ5P1ppp#qbkL!mdJUHvy2 zo5$(Cb=0$gs8$Z@uZ<$c5;V-V(?)~L8XaIDY?Rz$TQcp3crdy69~~~ZE&Yu&A7#!8 zD*KBJ4~a+unU@z%|3qPZ;@Vw1J|gr4pvB|{)ppQ1uC5xA)%EO8(+ zY))s<65}uHevk!&|Aq&!s<3>u+q8dA@2lO#B5iLMM9o8nO*5TtQw5lRk#GfdX_=5J z)M+qQ>r2zk+qoT>+M3|AQlDr*pQj}itFGdu-j{+E+-S4?^4q;y)%iaS|l$=5M0FGYjw zUgi`37y-*yuVjyj$s>KY-+Yw7H5m5`+K`9a%-(RsGK0}4)>O{y3u+pV{L-GZG$fP1 zx#Fbt5sTGXs;=aV9ZgNZ&$303Q*wI*&abbBqh#vFx~=(|pWVqj$@;du639&#>aixx z@?3GTQ}gY~;b^k36*(*8T8j$#j*&E_map*7;2wE>BHP3o1&<*68|+6acI9a5iM_#P zaQ|Q$LH|8U!)4CVe4Dvn{>NKNqkN&3m8N!wnr;CROF(3^yjWIvxL`Z(rjO8-?Jsy% z)?jPQGDqE`Y2^b>hTOgoOhYsfVm35)Dl{bm!FpUSLZjY8@g*JM{%#@zwFova^>6D0 z{`q;I(ol{jUHiLzF^d$}YK6r%3*#Y!K~i^``o$)E$z*`PQrTu`=yVY}$)fy3^Uy`b zkk`bU)TJg%`~Vz>Qi)4^VZ`MXV!Ymy2w2D@>J?Yh6C(?SY))MDy<&Svt))R4*1h!) z=#B&cuoxfY24S$(z9F(|;}9zKo+m_3V`+i*u+V|Qa0r+b+7^=W;i+ZJ=V3j>akoZ& zle^nls;H%P{>+~lzYX<{6Pfv=73{N&dDgP^^}kDWNnVD(_T6LgGBbR4ia4!I!=AKa3aivJ)T4 zV+lG&H?0ZN(G=DR2ZKtZF00W2L_bznK574LOiz4d z`PFH8{AM{OfBr^3DNypTa4#*tVEoen0WV&&?S7JoI$*R&KeGab%Sztpk|ik}Jv4%k z=0UlhkWUY1I)avHOi9Fr;gAedn&)6c2^y8*Y?2dOxsr^oe?D3TyKajlGg3(KJ&U79 z_93V&>u{Jeixg0>-tZ$W|94)LU#%Gz{TsW5@EmKMg7G7^Z0y{irK(Bw5LN8yIALD} zVjo&w{o>ib2flf{(pPNHc7$1ymEB6mE=RHG!Qv)mwS=ZegS<# z4}iqjoR=^s&RAd^jLMlLEr_-ZLCHxsLktX!D+%!*d{zw32z&b2;MTNg+ep4Niyc#v%>VUr>7zGJu z*l4~3j*7WqUIh;L`BC>Rk*z`Ku4hc;{VuEX5P8wrVZHI6QGBwJqT=pJl(FHlP?Iji+Ny+fzP! z`!rk5ik2<3S~JIRpoVAHxr@cH8=n#>!O&bj+zQ)By%I)!TAxiKTL?>w<)zIz?L9-y1y)R^`%{iWy^C zy3?-~!+l15oMG)Ged5LDj(fek5m?C4rULD@1UB?Kt><4&VooSXLJ{*VTCsu^p-Fv% ziXbp_g2HCh{?Y2+3ThT;`|XDc@C$ASRQqH05yLBS28p(nTaa03ljSq`)Yg0|{&UmG zk|ebne#kho);Z=Weel$cIdKIsYXrbfB z6xZ&phzCS~f=kg;2UVIsw4-+`I}K5Tw`%iK305INT4(&QEGC2~B2um^Vk}~*%1uHL|Y^@W@kl70d z)wVr~g=b~YWt*`nmBuC!J)Df3l+8*Lp5Z%iKRwTeoVXo=rxh$gwacEhSI-?0XzgdK z9}-&Siu_eHK}WSB5c8{ZJ){xwlxKG&`Z&_?|>?d!N1(A2PocP#wHs~Ke$n6cE- zIuT09A+sgKA)j&gu!e242a$i(v@BV2bSSKHbxUK*M#-9J_vx*Rw|Af)Z+*OP$?pkS zPo62rw;RHuLV_fOZdJqO(h8l02?AaR4tHilYB@Xy{M!53^S)&7{Z5%zpTH6y&hV}6i!W!TESGA6$;gmgD544)vK@{b#jJYi1 zLBa$#U%As!!aQf(Gw~^#uPUOh;4huxBG|Hd(7bIlI!jQ3V75X=a62++(BB!DI(U|J z0o);^*0#S2soHsYo_PG8k1AkM0zczEUYuB$b_le!T`#z9`P{1rSXpr~M3|}w00EGnrhVGZ zJC)YjjEZ)Alcc940A9BaZU+jBX&QV9iN7M_tf-t$SW7f0_PkTfxOv>oCT1lCS zn+gW4rQ*s?JuhUj!r=wH0VZCGME@9;C=jpEbUap%s?f9;rYMD9;XX4Se{I063^i5Y ztcf{>;X`Wl+pP@q?5#X|DjWHryTrD=%=^awYG_o3)vWXEcw+UzpqTzdcjdQF(Q05# zb(U59bj)CKE(p_2RZOF{&<-^_0RZz2GG)xrnG>fI!@P1DmFV>P_)`Bi;C*b=M2m@ z=xj02b~wu+rX(xDQXdV(yTi}K6W>O&BueaJv&(`6X?a5p;5_4Tnu66|?y|8VSl1)L zv)cb_b~NDt2x3$^i{-ai*_2@QX2=zRi-E_vh>xqWb4EI(y(a04%xMO zyg_HUctE;ZXMn5iAG6*{4%e)dJ3F*$27VL@v@Qq26u^@P&zi@9JV20;R9J~EY0(;y zIJVSKR^sF$H&2^vXvFvbXl+2X?l3jQblGRWQZXE4g+@plW5r?efE-rblK!Q5>+Yz1 z7SS@U6cSPA_@c<5p;+v>Ag+`|W`q^0b>a2xjdpQbS_r}Xf0ha5B)}RA`4ArBSa3Un zhH#4&z!K*-+40byQmj~IHOx*E$81r7lOdH=fWpHOqj0M6J3UX{PBn%&g8V|;LbvJ8 zBB?dS)U_;dJP0%Bpse-4_C;qJn-I2q?+{{ym9avWkV0d(is^k{JW|N!2fo_TQb-1j zh!%|(jqd}VD|Wps3E?frxZx^U7+t?iw^(;{Nh)f7mdb3HinZ#jl@IVOst8jH9!nV_ zc{1E`UiD+~{j|>mwenc|<$lqzBVJhVd4R+k4t>g^{k>jvU6+@LQWT02;$fhriYQus z!Bble@$w)%nvnRw*inqC(SFaVnQN?W2*9!6Fwuh6ob4Keo?&KJ>oYf1Rw@ zcbi6eN;ARbk}}30BLv6mU-;EtU`pPLPnP-d|09KklWSTF$B`;j61d*o>3yHX#LyJ? zm+2NWp{llr%FFO2E~*~IO#CajLn?cRmvK7*o0TZJzuMKsS-4!@R+O|rE{1(No2syNgs zS{|g%L9?tH2es=DZ2$*g>`Nv~CV^MTCufC2Q%djV!O~iVh-RU-fS!#~msE`1pqBPL z74}|7kXy)VsUQ%vE3akqrp2)8%xlg<04~- zYHf?gUa@p)|8eD4Qs4b*Yoa;Cq`J_^k@ToXgiM_Hh)XILClMqDB6Xq2j&TjPL`#vT z65cD-BL;&Chp%C$Ty1(Y1LS=W^BBapOiIQCNRVYu=xsc-_f+dr(B88K)>d+lv z&lV%O)f~?8sw_y*;7BT$Z@jC*D6ldl1Hax&b3M)@Hoq?7eD6v!m;VBw^~ZjAe(2L5 z-_DSxlENs}R-y%fz%G~fN(D8`?zqqur0&w$Rz7hDE@0FZ$tRG-?unDW+#eC}dcNz@ z=1}A{4S=Re(nF71it@UwN{RtUP#hs;D-2PLG1Syb0Q;((Vrk5$<$u2`<8yyg5UD}3 zRF`--t^YESkrIiBiin7`>(*3On&j1XDvm<(7= zBw?N;D(t@RWPW!=ZZ#Nz5M+&t`+?u{ggpKCr)MFkS{D%}FdY$WuP3 z4=i1-;CyIwD~9^@VF{FqxoVbST0iX3`XQfbBPQABULnGsA6R5Wvt(=*qvLXTKQMD& zQHU&;6S0I1iQ{pM9ZuRU)b%9y`~AUTNoHDh?IdRq8ItmK5&)b(gloN%Re1@iIX+7j|)4#V6L^dvIP zX+Pw~2P6i}M`ZT{y&0%NOYBq-7XcP*R=ux;pWC#Ee4hrsUq3@bA%z%Y`g<>#Fv^3X z0&r|l=fHob@e)#~(kRbD3HYZYWp5v@G+|J4qj#fK1^tZt&AwfFCt(0pt-AClah2l1 z^RC?|3}*`3AF4ndtde%=!{Wga(^$Hbr3jv6o;F*&9sN<6LS3!Z@R~&hmPTe+gHzd; z+I_XqAA3r)KNgxcOdSn2BqyiFROU4@M411`iyxQKb|8zH7Hk>8OkA(?%hays_Q}9~ z+n)cST|^?bb-TFwayKR|*5FaXyC7{4iHiiPSvoczDGPR+j)ZbrneJD%c1WXDva!(- zTT6KLu&@gH$0N4ybD5jx^mETxh%fPX6$Lfzl{W~QOpziakO25F$#?a(di4=z@R=Xi zmD|MzKU1renx|nVV<2KEM~~yG=nu^yG*4Dh;Gq;DM1V`E&-2m^jqpNn&6Z$apzp9Q zZibI}74)<0v@F>r~$k#-!tl=S!veV^i4e)TBF?dxfXKcuFC}gq5O6alG!v)g?)MXORo;X0x zP`%Qi3^=gd^>GTq(9kq^R&3+vP&#P9A0-sic;g!7kDp(cZUnyfW5BO$gUj<1kQ-~m zsG7J^(y9Jt8;KHiN|&}KDCP(VI^E#5A06QQ;J1AsT^zv^T&-vUrFUO&k-bv=$1Z1& zx0{z$i-|=TYgUEWhtZAsB6;%Ma-Gc_4hdv1B0D45y)ks8fIri)q=B#z=n!?@7EI8AIhWG`J(rH<@iRw(eRsTZtDPwMUJF~< zD+{o->yfU=XuW2Ao+hu2y|3q`{BL6MEswn@qx8Q<=0_QRlM%09RA5Nt<0KF&lXa4V^Z=lUJt}~BH#j9hnc(jU;>3_PC4%pX5?u0A@Sddw*$lX%OBS-!dwCE;9m9~##oPUeVAi*l+< zgi4|R3G&7bb6wkkZ!Wra%6>6Gem-&&o@QL?bs-H3qjZ{)RxG2E?Q36%NG+n!MkL(q zl2N1a5Ko8E;0^Y3TPNO67Pmx`3DXj$^@tFYU?5cnu~50tco=m?b{h8xMZl1N0-py4 z2I}QFY_O;?Wr~FrN5hPc8?QFo0v;h6t?NxWSPi?Gf!DL2q;1310BX@%ZKQFcH8^NyhctTeF_+sMw-^}F9n%bT`++XHGf^$MIhIv-=|OscI{H#2v`V`iMdSr!e7 z%dYM%sldk=f{w&Y7U%7w8}My52+`+xM1Y@}>+Y{p=X!@{j_3Z_i?PG|Uyl&1$1LUg z>Z)Z2&xF1qDYS{dJPMT#^nF%>7{=PAq!5tcBoasD_0QseWycoI_Ax3=%%G(}j?l#fH zEGI#KA~0h&OM0+)4$x?ZNk^>u7}NbGt6Tp#j$q}YOR+!75Gh=v{OW>D6QlaL>bR&_ zd3HIWZOULbcp12tL@soQ2;`{tMmTtCsUWYZPO|^FtcT%QHx#_;I#ZvyBY1mU7*WXS zbiWD248H1ki^Yt?1J-+No_+A@kk2#|#O) zh;x%i`IE%2Xl6xe5k%^WU;r_32u__8K4l=Ww9fpjnnaYQ+CubqLNp}IpE|LW*`i#T zs`Y`=TEa0~*%4ArQ=z^y|1jEPJVLEa@ee%(`A-EYR=5?5T)TeyhY3wD&(vDC;|kPc z_iU4!N4xhk-<8*qZL1A-ZW_PWrSMYvEaDFW-sd2~o~w4gx2+Zvm9f?7u2ws#qm^mA zx53`e{nVc4WWv|EIOw;f^s(%xuA>Qq_ppsi?~z7@i;79vAqVg6cFF;7Ur+CU;QWF@ z`3pbKvrHU|eoHNAXX3Kmx(IPTd)lL@BDFU=7~yYY11>ic@+`?wQE*#6{m6*R{8IV*rrt^YPEunC-7 z^0-_a({9E94{*W>y%-W+FHsW(|Mj}Q5px3x>6!ZYkOU{B!#o;x2pQG95^KTIqWJeP zUu&g)fXxqvuXFB&ILR0GpZu#fVgyr_wVD~!RPx) zG*+TmYDG@+k7XrC0Txw07aMQ=IK4xtA7iNIfu1P)!o7uhK8*JW$k=9~^Xx4CoJfO` z)}dHJF=Z;hY5Qxl)*V8ZXbiCmLc6_tjzjdP@5+Xlq0(;3)5pEL(-;qJO)>?d;3(+#}mT8}^(oW?bQ(yp+;4N@?f zJ{D5l1bS;2e6`n)9msfQIn|dDcey_wD||d7`n;7Nxn6d4Yuh(9H{;GvEI7${uJ?W_ zAa)(`J#o;gkkUehrn>lcbA3(o2)v)nd~S{i+^8%#H5R$P+42x}eSO-tZuUHt+Y3A+ z=00ko!hSo~=%Y7SmSIiYYC?QF+9R0|Vd85(U{}h*JB4@JG(RMh=9)NCAU7zJ8+J2S zwY>5ZgY6qO+LoLq83J_Uo>DEMRuNa+Emv=4=Y=`{4XRH!-xQ~`ab>*e$48J%3hsjA z8gyvi8{>iBlV8?LX6cCr;kEAzVN_hsrJ&-e%}i_RU*noIIM5k5cqmzl=Fl{)biBm? zRY{$p$f63+@CKT!3Y7+$@qIx{CjKKR+k;1Cuhbyg7PrlpPsHlYwjnM`(4&O*7tbV4 zV~V|ecHR4Cdq1`M_b$%+uWKK21p_cl1i>l8Np!hm zQ4tGowIV(p=FSJiylwVg=Qv{%SG65%FAn+-M2zB1 zW}tB6?N{Fx@A&+#-B-q5E?XXzB_w)uY0#WJ_Mm=&mLPrmHZuwqVH+dW=)b7!pvt8M zWaA_`+)8StWQIzht6G7M-;LZC_(t{TX%n{i0}nSGl*<8zRyAuY8{J+{IXqWgcf0%d zdvn+0ZOhllvBho7zharbgJ+}X@!I6T zv0W*ysu@r@914mQF*=MeP-w0G|x9R<2lf8X2XsD`C(+aO7}Z&yRUq_EuWsgR4)Go zYESG*{xwPEs)Qa77_SpvCdLr;M<+*GTSmtUow0(4u!xzF1~P(GSqkwNaM4sRADXlG zWCo&Jihjbr*Si0*99vvHIPF54&hF-%U4fWuES=u+nX#R@@^Uz9K~QS6+$(FfH(aSH zwd=WvB{d)B_DadhlzAlN|M+~{`f8?ptN}Lo7`I^WJCQm2?%pEOVY_eRD%b!U99q`T zFRe&-%}77@DFxQH)T419A|fJWO!oFvSZN_sH@lriTB>n7*2hDH8K8Z-+AW)}&%G`C z$LDIk7?|h#*+|i#$-|j3YCCAMGG8fX2~)E#ux~YXxSlh;!vev~OZLO|;1I z>22n|y)o)x;ok8+@Ya@=Qcgl7?xE8B63n?#Gp5s&l15qzakvu~t#L`rssJ4n7n>h5 zkcSqfnEW#~ByYn?pxD|1f3@<%Ty?3+*p4S6}p7so>JZ_)!dT#%2 zFG`<)E+bRuIzNZOg#^zHx+66d(3Q07_raG%j9s=1$9;I)6=>fSam@wO(){md33OO6 zCa(dx%E85tn3Da9XBLlS2p@SIpN)&D*1uW9GL1TFI0N94i%*R&EpPF(u_9VM&G*> zMuFRZ*CqI!Gm{6A_$KUpPA9h;S3Mu?d{7*=c(%hS>8-ZFuA)vJ!iKB*qxzffS=OGb zw;p?VWCI{@H#A+0^9Guv5dUd*NCH{R(1JJ*uRlJ)GJDb?m?|&}RQ*?2F3@Vy7^w^I zAU&MqkmC{IZEMDRccl0C7noPBKwd@8QF7$LKgAvvr}8SpLSb<=cH4)_>hWo|j2e3R z;?SN}q`w$SD8i#X&jA@s7)J@e_NH2a4Rs75Hx^A2VBJuqMddTk$$M)8>WpQeRSfh2M$i zn~s&nD07q2R*|T2T~afIYe`g-eh|StF*dVCf`P4 zvr&*qZh0B0QqCeCkfIVSXx$lSoAPU+g~mXL7^`cPiIw~{(T8X1sl!v927MX2Ebpob z-(C!8QhCHVqPKjGF1%c?JT@Lqp(00r+-;^wJyHX;BPx$l3#b>B;zlG(; zDUQly?kV+RzmtZKw@3TUj+fg5OOlg|i_N$9JDwJMF5g{M1vi~~RbKDs(cu`}9|WAv z3!^mgZVom!?(P?trB6299uwZh>Xp-sgm~VMCr7UTJSRe;P;H0uR=3C8beUWS9M{bl&z#FxdZRP~JY2+!^=4#J!1vqU}we>dqQAk;QprD}{>LE3i7CTdk+t}?=;fC)mrti17^SV91uR1Sz>z-cb zcF=8$|H45b_FmYw^1mO~#1x*L#+Y?u*lw}i&XOwF1A9KN$LiZhYxEiqLk1|b6|*B{ z*Z(|WbX0Y9*o4S`)K`RI&B|lK7q+RR!lf#rRK~;){z7ezh2>+b`?KtW*z%QR^HTJ9 zC2Gg6E7<5%_VW*b83{}snahf;TzzRAZ%S{uJ(0~z^f1oJCjqH$#qw6jVB59wr#m&bv~WuPp5WY$AC7# zYXX^j;Ia2Sa<1wLpL?#bXPjM~t94or&)4pp8l5b&cv2@SsRxz7NI(;(^AyEksY6Q2 zNQ@cjlojnLMh{>~b==^q*PiEc-v>kGaEB>Nw!E(J_l{;l3GCOIZXd!3x<6WM84392 zz6)mFYYFC0c-|Y;8w9@Zv&XTQo49uR!%J^YrQpHry8GY_>z&f6h{L4tlmCHY$6e6mlYvwiC?G zng8yMI$nvMZ zhm_y86MkE6oNTP%>z@iN29$<+;$Ti^pX+oiTiNZ-KaVd}K3(v&84buyX*X(@(`ohG zzjXg61T(d=3YC2GgnGR4@I8yI#+){wONBdViFHNYZ0fR|ixympn3-SfC9VavM?+J5 zP)+no2+mXNMG|u;R9dK`BYje`#LwMSn2O}iZz6L)HoHb)`KSf@Pki@i=8Fvu*Bv=* zLw(OmoV1beX2+iwtAl^-a3?d*J%ooc4`xLPW%01uS%IK~`p03W2(VL{G6yZ$Prftr z?1fjKJy*SVHQ6I^_?zuc68)oVDo6I4?R&UDcbm7vhZs*@l}h`~uA6{be#ea|+_)^x z0U?Lq2Nff^ylpnW*8~k#En)Z6D?i%swe?Q0(%nqGn`@t02)DTkMw^DcKjyi<%N7OHF2voI6Ys z=C5-}pXL~xpIuyCI{&06B)stL!bF5;>_i$3X`4GfCiHcE`n3IN-|cJ}sQCu@nhSh; zU%t?p$>suXY1v&JbNamRcg!KzkChw@8C%q89!{RU^d2o3gz}Z&M-Pii^sQ$4PUx*T5-qq{RZ?>N zkuFrvww9fql#`ng=s8QT^}WCa$gZzOTG+W(Xk}VIb`p3O(k##dI7n(xLgj;LwM|fHz9AmpZ$nkdwuz+ z%~%7Z12ep>wWYOg7M4Ib#vHoTyPyfkAB22r42P-oI*#|xC&JUXc)GslgD1M%2tODI zspgIax9RVHYCtGeE(;Ynz0Xpx`LN|@es(i>VUD`}3J*^nx?3P(V1;w|S0?dbwOBT& zq#_#FBvg8Y4V2N@W%3%vs*?!yVT1y%knP_1I65#YocHe&kfm-jgQ^$qqr#U{?qfd( z&k{i+xt}tJn4+ax7$LoY7#AuFvAH;iXKCG?N0qoeK*eUUi*`8vJ{~L0?YxN9na<)j zpbO^vE-mOcxTqZ!;4t-G`OU-SQn+T!jLlN1-Epo-9jF~^F_(NK#u$6mE7BY#QkAdJ z9td+;&>og3KmuP8Pzi<7XHku(pkIL{2L?rkn`%F{sHo>A|GuVz3*eei*{{0m8?HW0 z^$7xR4<_OW1m-LT{ZW+o4ekeo^Hq>GKNdKo5F=&~I-?1uV*c>nZx|HS*>sbo>+bPr1y#NIbdFA|YcV&U!|VC_5-ot+;WTRuozi+fWv>fp zh3$PnTOcWqGHJX_P;7LAt3cB1~?EZSS3<%6#JjrpPz|1*A-cV^O} zTAmpR#(1ejkx#r^D2BpHZPMWHIdTTS|BJ|C8rki*?T4*x|Ero^-TkCoHc)rdsf*c* ziVE@VWs9{`p<26pINT10E_ADado&;OGnPhzNObvjvgnYcYMQ-dWEZZP0qD|_Il-P? zP6Rz*+`eeRmhnIl`LX&uz~tlYOL)qjfxB`_&8&blmDsDb)>|*^j$QW|k}no290vxx z;{`s+d3n8!UavbH%_u0$fEor0W+ke}DK9mZgXT4=Bzom~-+ut#dTe!;{r2YcGFK33 znfSS!?jGd~K2J$`TB3DxGRl_=V{|xxU)!xI)w&BC8_jPo1C<)|S2m27UOW4<4d2D` z=^(}|-Fe_9aK+_%wtnj}_PgYRsn5H$rLW)OynQ`~T5N3eyYB1wrZK|hjsY!sx`0?0 zHKKLl^>1$8kJI*{B<_#CSFzg-=$t5WD-ImiyCtjUH5*YSJP9Q{F^7NAiJY#}o|7-$ z`HRbITT2G#$ALE}v{Rmi+STF?tS!sKC|tM_%VG(ugIaKmVUNjJU5OF`6&rp5%idVF zIz}mqQ*)E1g9RLNJT%7nlE@=vKj*T<9=fJ`!`FON`Q+zRkzCPaz+_ULozp3EIa%7g z*BW&Bfd=#aHSflqz49Ljr{>x*Y;XUz1Tj9B@mOh%|;-5+_^Osrf3HmEe6OxnNm_D|CxL#&x#0LAFICLHf5<0R&jCixMeb*lTQ&X}GBOXt;%S5O>U%i|Alp=Gk-_2kM z{YHz=S-KCjOd;+vKBqg~ z?Pf#TFJb+HwjB#BKVNf5N5`zBiTPTlmc zu>BV?@GcZbAZ=8sqB^fu$T6UB0(Gz;Yc;A-a|YE@sO+csc%@l*_Vk8TYgQPzjY|uG z$BQO<)v~aT{|PlGRIcfQW|d|p4cEgB9dUImIx}DPX-PNFMLJzoW4v;?7{^Ji7KvAM zYu?Mf+v&_6uFYt5j^@t6yZ{`5zm81DjglzLfb|{UKCk%s3SfxTcqa5s;2AG4Ip1Ho zaneebu#l9BsXS(#axRar}St6OSeV;NyfwuQkKjK}z33-AB~1DqMg z=D-Xbvv_Q?88gN(!whD;fQ=7E1K9EiZ&(5>%aSG3TXk(&Rhe12@0qd3Z+Y+D`QsN^ zRo#*-kLQ4@TOB9Qsi@3|%!n7i_q}_+``z!ZtnVH+vUj}g+Jp7YMk9IKQww|hN5{wQ zr>`xXoVND&>({Q%b=sZn-NU8J7xE-|u(5M-X->SXtZptX&a>g=d#j5Jv!zn$_MQ84 zGgAZA%B?%ArPy56KX1x|2y?=H=&#XKRR#n24jQL8YM|Aib`z~8I!)@dwA-{?TJrIbq}23DR!TJ#BPb?Ou|lY3h2pONs=tmpPX+X&lD`14CnD6NAIGzy{9yZjv-x z?KI0W=QEeN+-JFS-sfH*IfSS>P1Enhr9VK={#h*jF&%yvq8T_tonuHw#4t>v5K$5J zo{YP@J!ED+P>L&)Rm=>>uNe#Urob(|{X>+Vk}8zcYu^~r3wkM?Y=<)gJm-^@b!p@i z16--lUP}|lCceiP?S?S&GI!Wou+VE#xVBrs!jRi*)}I!?8Yv zDS(J~d6G3cNwd+dH=D2Cy8F-n#n0{^92Ueup63e}X5am;FMH;hr^(oEmK~qA8a@B} zzv&yjr+@pAPkqhT{_Z>XR*z14Z-4IM-tNKvVe{Fi7V7op#`fVe*Dki2osF&ir>@PV zX}0=c=gQJtE`D`od+Fk=F}!^5!QA=DTDf%N?t_`>@xj`_^4*ou(V?;Nk$ZO^3=UMM zrpMP;*Z#!FHwLDIpseK)EzePTR>L8-kxEOG9X)QiW9J)zwg%vzd!J#@QZwow#CQ51%uwQOx@En7CBWovCwi0GwxFU@*snx>g^ z&IGm`L_uhSAh4DLV*_KD!PbIFiz%&M^h4Ju?jW`ZR4w|`TL(&O`M0f<{u*iiuEoJ} zz;8G@`3u%{AE$YPEQTsDo{#{QvxW5Hh|5+n2fqLg8Pts26 zI^E>-wEoh|x0~%&n#(iSE-lQ>25}IYP%XTpdbhW+eV9-@vv}?B_~^!+?YF=ElF!}s z8!OMf?UEsV<;Kdjs|#^xZrom9TsSvSiErFoJ2x{nHe9{6{9t@^aC~Cq_VQ-663xy` zt*mVrq6_oq);D(3JYQOz-Pt{8w_8h>77q^VhlhtxU0eL>_WMf7T@;S(mX(PDi>Qq9 zG%5=yokLgyIru|u?fCs(cH-ShAl-p595ST=Tdtb0gi?&CgfK!_(J-JWlCacCxzW~U zm%3d|GmfID6h<7_z;Mv-;^P9mtmPnxz_y)aylGnvCPuJ zzj&t(fl92#As`AE0izt>3;x17{dcp2e0j1=Z-z7PwcnHsKR!g70|2WUCc`j{qSf3K zPZS!km^|-C=R2=-sdqV^Udo1M?zM--)<$dPN+~{VXI?Q_i7S;-y!K1MOW#A`sSbcf z%9y_K1qjDo_8N#Ml88&Rji#C_v-P~pbM9-8H{zE@v4 z%1eX8;+ z2|lR3Q!hVckUEhscnHFu&P+{gRhb!jN#H&9^pS)ibgr?QWIJ3Ypa zO%p3f!CJVCLK*DAgaW**0TYa3xPrN>N!#>Zt%O5Q$J6tB=GU9iPOxr!nwHFz_ve;H?PjOA)Ysiy`*Ihk2FbcJ}hhsYC4Z_F-#zuh&3>T^{7$!qL?TSk^Pwf5; z^UHr6kcOv9vv)K%avX(PW(_MisLvuxz5+Wo7@dl z6xCQJFVWanqWWhkdipKEdh7OEy7jz&aryAn$59j=oz%B?j-R=9q0{NyUDyKnuU;Ucn|D^17SC6!mFqX|O-+rBjSMc|doVaSFmrBf`R+y#n8k&e^#@y7<}NPI z?(FW@TdiwLbv6^d001BWNklxTfqI|@VfLgEnwa02x(w!f*E zl!zYf6QfKNgc{eVa$c*Ks5GIrOz3F7<4<pj@-1L0hU)6jD@193d!a z5F?BzENNidi8<|}-KAd7c;!kdj-yg3q|lmDXhLh)8fK;dBChx8e^dGNcVj$66$rfs z27yp)Fj#uE`g7OjpSR}CLt3G4prHV;^FsF1Uu{{q7~snUL&C~LC}!MpamT<&AGSh9 zg)sk=Go!5+T@YL;%`CObGi#mUxHLF2SPsK5Ns@A)rSf1HMfyu$3EHBnLCIopQs=*( z2LI7pfb}Ipy8r)rSaH&N!R?Ks)drPHKPZ)g`Pp-8>pRZ5rHgZ0JNwOc=cy|fj*sd)dq>x`Q3Y~ zmzOS>z?OG@{C)Os6@e9Uuf`A*Ueq!GastB&BJTl)ffC5D6lz228+j44T1Kfx)d^G< zv~&*fC=tOQOK)3tPSWGtpOCa`)(nT`swvkricM6eIMlF2VF__m#9yff%^r0VN_*^c zl*3>k=4!;o#$*j7ZT{~_oY~ly2GSn~|z%XLy=$Otw(_2r{2b1N=E8*nDEg5gS z!SUg8wNiuRDy~eKe)xA`RHzytCe%t;ct3{!>05yH*6s5~|N2>Fcm=jj+OKZ3g7T26 z-n{c*WO(r0)bQQ=n>L6R=Efgv>?Ub`<;OMgS1*&_D`3lo7v4U;vn25|}TASxG7T|_(y6NB1F_x$lrcF@U>p!IKKWC%wGYx*fGVK`gsdS@2{1Y& z*IqKF@}Sb7cj$6|I@UBYOJ$MzB=7~F=M$_omotW&L6qKYN=AL4*9$n-2bR~^{--_Q42J3 zG%fNy#-ibirA$1|3U-z(dyCF+)CUFtEUN-thJll`|VD;w0Q35q`td%`nIbV z+TG6mwcV$$Uhv*8-&?=5cs`D!o44;zPfw4HR+jIq4h{}XPmSKYziF+VpPSy=-b<3? z;^OSV!BKvC^G^@{x5fMj7z+|O2WtUEE+A4mYuym-Z>nNj6%m$D-<_QZN-zRtunGw? z!!V3RU=YWsoI`m5)j5PUC5AMlv*iy?{c)BxnA-zP!?scl<0?uqg)yQM;@F3=iOLd( z9F&}z_N{Gx@q@Mfk777PO;G|OLP$Cg$oLXp`}pTuWWf_SyUX=b_wRn?*S5BI_x29< z_YZdW_xBD@_ILL>-Sn|*L5cyl->`K0*WbMt8VZ>Lqt?J04Tu6m%yJfO5v(edjDSc3 zB9Iy-W>^nvF*dBT*Sg2ntqcu}UE%44G#v9Xk~IznUieXy{0hblYK+M1;+W2VitX%M zfc0Ob)bjeAOWx3K)(YgJH`hQ| zB0}yF1WH1=2is!s1t}m7%urSNtP%G3TtkJ4!2Y#1rv-V>um+(;Jc#O?RxVQY9Bc*1 z;C7|ClOA;ZiONYx=}=G_2&z>sl_{-Ju!QmMS-ZI`a! zTsc28`OddrzP0?IS*bkt?4^5aoArA8+EbVIb`M{@wes}U`Ff-M()D}KUR@ll4ZQfu zou`);u3nwHb$fMgcIw%u7jG}GjSdawW;~=F2&uK?a^et7>O2t@ygSGs%TbsK_m8); zWi|{s8xmdQl?oOUG(s2sps@ty-iR=hFfMRP_h2m)eN2oV#s z(8(w(&Lr#t1`>z$RX*7ZFT4Y8Gr4!#$veUEx^XA4w*N9pp_aey$=nNXHcxkY6gr;$ z=kW~djoYF@AmGBpz(6H=d9~?n`I)y}+FajhG+Iwxxv;Z${K}1$r>@MmTCG=Jx&QRl z`N4sKm#?p0UYdF4>G>PCADo*SdB?L?3f}6uXO>o0w~mkM*REXL-#a|a$7f_0UWg44 zz~%jAWCJzGvVvDvcok+)f8KMkq|T#1NJjw==CjOE(H{+sehuEAy$vQ+BJbf9>ZqHV zMgs?{uz(Fv8luW9s*B;&+c7t!NZ}8uxvQtUsEZ8(%G#6x86g*>466lALw4*5z95SL zUjPU3$kH^;xA%`mM+Og0>VRRqHp>xz_GD32h*!wR*Msxb;5`@f;n>81l&nUEZGgbT zGX++}7z>Ro1*)V9^)Rd|1U^$STM((uDN~$wDES1&rlYq%U0J_Qudaa&AgWA67%&|D zo+ooX-z>d^XQ-q{e;M09KqKE)OkvYUkrut78#NvxZ8@~(M$7ejy_@sc=&(ZX+}&85 zpBk){uispmoEV;-8oPOWrBn$Q=g-|;*>IU(x_Ex~;P~YDgv2ux;tBe~ zmc4r*vqL_%qzWNbAyM@TfTftgO{7X9Vql1=kZjRoX$BRFt>TjEw$R)v&5T6Py^XHF zgep@ERIQtRn;HI}-vX@v{Fg-IA5-K1rlY&4y&KUyp7>EHzm3QdfMq&2S{0WZw(^02 z%J69I#;Yp>L*)yz=kDIyQo_>3*{$t^(|YUb(p zj*SgYPmC@vuZ{D{j9!Nm7^_6&1%hItYB3$7Z{#eG0h1E6h_bj3OrV0ICj}`L-&7(f z2=WNF^lYdZL0*%skOHI(A*jMByhEO&(?D|rN7r%mDXqUu-D8+h8huU|z6wu$jhyT8 z-3Fvm&)r&-=jx~+Ea^tAc&zw&FHPFEGJcIUNC5w9Tw3qNf`QY#5t z-EW5A68LFi{pfxM{5(4hxAel6+#S* z$C&+giog0T!1~V{fS~&;X#NA*UPneS6^y*^%@8tvKKvq#)#6&jJ15N`h^ME=A3WGi zd-=tS=Z;SrySt}Xmgc<6@2zYv%+FLx(ak$+=O!m6Cx)-zUa3^d^K;WH_csKzxNtts zH_s=(N?CqQU@3s5qO?#*`6Mp+zdgAQjcu(1c1LQ;aq%_S~bGt9bQ= zv%Q%9&XOW?Ig11oedH2A1l}We)a#(VhsGToe436wLD?3&1~ywDkD9^E2dH%A2|jKd zM6xVvwY&Ax#_qx4FaEn<&2m>Rmrv`>erQCmWnTL-H-#b&xg2o_B?G7CGh24!M9&W) zw8{!m^&s`CL`7#6l$DB;qK{eV&y3bW{!2vt`Xhr3qXN9rqY5D=oiAhZuaQ0XWU?o3 z62PMD4xN4%w(eHMDty@9!Q`a(cPz(8!L2BVYHde57Q@!@u_`(R`5(!xv> zncH_ZX3kBFjSk(qwNe|b&YhpQcW+%(E-lXP?jD|=wk}?r?R0t@Tl=#U@qF{&zzLX; zi#ktW$is6$RnBI>_U9^|1r5amRPivXdKiLHk@^+LRoua&G*Ai%J9{?@BF4keLa8sC zfc9&UXCWH|>ODD+JVSZ_pJE$IIfg<#_up_l`vfzTg533zUZdWu*P92Y-J^~lo1V*r z+Vw^+>Gc<=$h04Wu3~gzHCAf?uw__F%x0@;Ke2|$=vbu~El$F$qC!yRGbIfQ0?QN- zRs2Rq-?fnlP+~@8ghE>GQiU+cyVa4^(?2{lIj%(Xl63+Oz$e5YYYT9d`c3o{?pf*r`<;Ke7#K`pY=&d_zVH7Sd%&cwf zv^w3(OLNUeYh(N1@})UImzOu^=B7plE6aD+zasoFRFQjlJ;Ny!*Zx^lg@^YEfHI1y zu&Q`C(pn#3&Li+5Jjxt5vjsj1fgtr zHjaiP%>8K!hKuIyC-Q@H;`3fFX?A-1QnAxlpL_mygw-K6rTfb_#pT|66blQ%Lo^`* zDS?K|1QG=i8wLVH)<`P$Gh6oVq0A3z6e!dKMxY|9{q(z7edIc5%4@6P$n;xBS0oHFPUlOS3$zP_!Ph)ipEmFCZKmUW& z-lKe*#=Z&VAf<~J&+qOX9-Y*$ zT$;_Y?B43mr3>durQrI_)#<76naPoxw^xH8oS2%q*7-?FdvE|LDU+VDQ6N$}BiH+1 z=nsT_$doXYph5+XqJS{!$7ON`UiA2z;C@{zAuY|0SgGI1$t!YFhfrPQT&m)92;rbmYdUViod&|vNArP&v*uQ-o)JiByn<-zv;@zUaq z^ZC}!Vbc$*Q&kd2>e2s_{vC37_)X-h9uPwD0Acb^ol9#c3L5|xZ8-YpR^vn6J>mTX{bIkdGhIaB&)FIIl&*X+H0ZgkPf(8+u! zr=CYIL*glQnmWpyB3Fok5c$HT8&K7dP|v}t5uYIb^_K|ZfApXJ%U}8EuNLq6?48S# zP_}xaBdo_&zn>e?I{$_mKTdaUV=vWRxZnN1btj+hoF3*h$Rp27o?6?1c(Ns_e>XKh zLv_&f2fomG_(r{z!(e)(blPaNQjCrag`v5AWA*&GiHY&y8@E=<5I@lni04^zdnfD3(+_;sh#nGCg{Vu*-YgOFBpl(bo@e&-Jz{8wN9p3%`^aKA3_ z@EQFvv9BM)_}jb`KS!u_Hci=i?dH=j$`MuTcp~3R# z$k6(O%^;4arzcpwbGgsm-ri20rf1xHKND0^0##!IGxe7SN`(;?5it?lvrucVWk0q` zWyWMp&*D=R6ge`Vt(+S0LnmY+g$2eU+!9i!Gx3L420r{B10oX0$A9Cc4}8n}OXV1< zMErzomNzhmrP*~p{T^DmgRK_!NG|`m#xM#)tf6p7+hL7zrMA1bljMk9*aY2oSf{e z-Ts-M_|aed*`GN*KKz~Mde2U!{q(KKzyuJG(%CoVAxoty1fwEUG=L~biz-wO6hV_b z@+0`x3B64<>*}1ynTm1~IK?DD#G|{KzkJ5QSg; z<*BKyT>b85^+xy@6d*4gkKPw(zhcDLlc>^fjMN_6g zm0okrxqUkQYr3^UTXh_$l;7Qc_jjH)+xthSm*!{c&DQD8?o-p5U%QUZ13v#7*x8jV zrm*`)Z`1jL)LzK+)cjZ_K7I8;ol3RmpSyhL-p29q>CE()ckcMOezbn~7k~Dr*Y4jd zEc&3ddScayfcb2%7UYHEA?epI{PpjVfLNibj+wy(6;=C?BnAnTin(T5#8Je={p?AV zh!hM^(UnYR8%pr7*}5pgi|4}ssgTPHKp-X+1649mRbm`BNL7F4=YHuAf8Y;AQ52No ziQ%{uI`mBpLqb5_cn2wdSsrJ5HgV>&5~|6>842$&jApT zOb9?2hNW^aGE%mN3~4WSNjGga^7RKh!y^M@qa!P;>mwsWv*#xpC#Nn?o1J8OerauO z&GtGXA|lKThENm{p(x6A%%ZfYchgds_aUk7VEaZ2DCfHTPOk z@~R@_l~hHE1`2~SN5mc)Aob`vj0G)gKl-Wugk2*L_@DXkFMs{l{qAr6rr!&ODieM2 zc_jOUZ$PwunvVXSw#!)fVN{QA_*Gh64giaVsB-$CRH5F)0c z&7f$h8`TA z{>TSE@@4P(3KK?gd2oIrx-=OK#C^1**Iw=3YwD3WpXPa%YtL)$P3AOJlR7e11F-kn zOR`=s6%pmfP{~7yqrg^5(bz!MvZ!j7x=xaEngdXuC9SO2Y^NSd2yIY~?bNxcne!8O z?`<3&Hx?J>>Zgsh2b;6A=WC_Vd!O|#Zm!L(C7o`&b#{F+8CXLCB_U$gv*g&57$}H| zl|&4&GBbP2L79DETrZ3M*^Blw+sOx>!{R7aBJU&dY5)s33o1b=0)$i?H3$Z%nScKo zZgq>who~|eR>fcX?!WsxpMUQB+&N+a_>1m)VV}q-;q0H}pnlv#1cj=u9|xTbhJA5t z1Jc(w6g~f}49Y+R=@+V40oXorF~|`Sk?E7_Qh56nqUyfca`A_Vsfd!4K*ZvF5zQ68 znNWrHi~8C(((Fqp01v|u0uhX;GATqI3Bh8&UIb%cnT3nf=O)sucYUq9yb~== zR?ZE24@z^SjuOv3(af<|4h$K?>a^2Mdr9`tDZxWst_~E2VO$EUgSEigz^I6%iEs6~ zPzNYn-fd>hMmHBvL{St}%ke<1W{onCWUkjsxtDr{itBXpR;$y?WO%qXIy$tvx-~Ld zyD&euwY_&7#M9>{%H?us`Gfm=d6MQXgFs0chR7G;uJ#M2R2Wx#h@ryL+9(MF>Y+p? zAZ9kk2bS)fR{q9Evp@K3@--J}*u#fH(m$_-P$`63%xDrUFlv9{mx9OBVf6y0X0!dB z-}N{DAS4uXHzBV}cfODbV@m94|9yZ_8g^YGIjw@dZv^bl5dNFzm28S$zqY4k7{dGiKb z!lVNMW=2YX=H~iYWW=hzZ=;}EwAZdTO(Q|c(wY3{ao__NLY^X}E2t9>B6UPW zQWTH+`c7g%Ecf%cLeJiB!|DG?0UMlor+}0!14>dfD{4PJR1~TTFvAxarGW>yPwfyX zyb>&V0_(wPzx=+txn4gyu9l-xRZLt1=;mg9!y!?+)m*|O&C<;cwlJI zT8<2hNRs8d_Q7}*`MMIHcVMv~7H_f`8o~nv-twyr}%DpNf z2uw9D4Ud+sAR0POmLb%7cXRQd_BSEK4J0bpV{z^IB48$(14vg{HU{M1Xq%iEnl_D(lDq`6YH z=;#3vQQ3i*v?)|V7V<}5j$f-F=%?l%`}I%%lOOw+|HGg8qg15l;4k8ic@k4XQox^R z{V!4d0n#>nwSRiFxBb3LY4g=j zHD!6}D`xOuUGqRixu}tgz$FN3XYEx*cJZ6IWxf7KZy(O}pK0<`e*2-fp^v)N>&v4sB2=1tVi4fdvD3<~vE+>n5rS@4M|*r=!@|4O=#1*;w{>PAlK@k^H}YCi&W>T)a^wFau(VBEx8S z9SA;tBRJ_6Jv`JumqhzBAAukE`~Ud8@A-1wDXloy8`};}= znL{_FP6tiJKFh#YwZHm1>ZgsZz5T0;vnP$t>c-Z4F63B$b$jzO*Z$-z?{48#X>X5G zFJY)b$U`F}y@%=38TkAr9{_)LdHc!4tk)YBs)}>!d~KjKG+1jkoBgiXvj+oUsF1Mt zIsAuj#outPHxR%Y6q62^3O=2TQzkHz1(cY`8#P1#2TUHmIN-$)IU)uTt0g8Kv1QEmq9~|TDz)J#FccW8kTh|fZbsx-)u&l2Nl#Rr zurVf%!)j%q8ggLRg3>%|cayA_I}y0F+s@kUZtfL85CoM{Fg!XOShfuB^G@n|?KEQ# zpx4d2-IL6TS6RAv;qaNTp-i0Ar{xaQZLE>`#=BPzx<(}h)bm}?sfh}1uXj9;f&P3pF1yTeX~F- z>i5AaIw?9in!qtjI@kNwzuRcGHg?_!*;O2>o*Th^j6-qx2^9uGLQWA0&2I9d0A7?nx z001BWNklY+e_O?1{KNjdeQ@sDyc^l1(i}z8>tkiRM73MZZAzT_^jK` zy6sM`aGtC&acryAaxGxX#*n7DcDlW8H`(4gG9g{Pys*8!=bW3Ln@PL9ljC-)otU^b zFg%iWJ4vq#XknX=KKTdj)7}Drj1hIDrl1t1FfoH;W>r$ClBg2EF?-7hEHBsjdq0wW z+jG6Ixm2`1(O|B|p$GcK>!pX8Ad&Xv@{dv;+_-)J`+x9;SU#kkMqwA^#pK?5Pg$cIW!=wiyZBrX^agWPR^ZI=K%mZLSvN_$-K5p-PECxz zdi$;^oJO=TS31*3^{IDjEgE_GQ(M8WKgd*Mtf~tm{>mhtnv!!hR3gNED{-BJ;$|mDrZc zrGZ+lPgmuxle$*Br>ZXP){~xqa<5(xM?t9^437;@PL3TO94y~iojE^Qilfz)&7qOO z^K&y}!&Oy(_|)6#Cr6wnfLAU2_q6}sAtC@X09Fr}LSPE8kOTw|HvI}K6|hByL?{T1 zG0qrHGybs`?91E9AOD^1>I5dcTA4cc;TxT1N=5e%l#5HLIBrmYo|0kw@Q?nBZ}|H6 zeEFBX<4ZEa>PI!NWr)&GQtOAYe-B<&3S<`uAxY42+VRw6-52-1zug_aaI|}rCGATK z^J_bYo!0KxFJvb#eli<9Tzbch-n@aW4xB(mgmdqmaweKPV zm=u5)=h7tWc9UkSQ?J*@M@P)VAd=j}%&=%8E~HG6B@5#{yc+RnIemFgUf9mP*TE=X z7{!HAxi%?_qZlk{DKM1zkU3ys1}TgsLzIacfCv_zNR)}uAHHK)h?JBpS*RmVY+!xS zV8d3Fh)ETs{Tft(sH}Z4Siz?hg>_>g1o0|DBwfd+twKQI2!X2JzjghSpL+4q(!$8d z2!+)k2)y@sp0j8p&6Fv39zYldaVe|~7i<;0_r1jRdZ`lyN#5%tyT*{nWz^;p^c(oc(@h@rl8xqY0~YadG1AhukCv6UYdIm zxpHM;cjsX5;Amm-e7D`bcYl4LQl6Tc`m*2kRgIH_JJ(;%yG=mOLi&FHH>mI_gOCBh z5b5_Hz=2To2NoG3k*cZ^F+25^LuQGL4=mp}3jXRZq#t-bU6`VisoLN91vOv+Lz$VS z-%o%udcM%!LsY)wfBL>({Lnue9v=K+9q0CoxWn{JfZX5znv?t-n#XV{g!<+%4#;zK zJi3lrR*yuU`7_;XUw3qHa(Hrl?aJc8QDbXs&fxf|Y) zpBpk4$8mK^ua0A=%q5GEHE?8DErVGJQV?D+Y6(t+h%A$3CWxn^MybY=Gq46mBm;~g z!vtu+0aFekWhG%S&h%Kth+_gAl%R~<3t|7n71xjU>1l}b>vwNlzOcG5I=DlY9x+Upfjm0^xcT&BRiy`*&_zVFBiKGzR85mVh#Fk9S+8}Ug8vp1E*~iv>(>0E|0U0JWU{d1Oa3*J$OL54pu5J7; zf8+1}!yo*vUn z&hEv93ynr^Wqs>i7dYIzx3>I=r9X0x_P4QmqM49`2%J~vkcv3ZsYm8ybL+wF^fP;V z2Yb7RyL(5wy9Yaa2Rpm_2M0%K=7ogM+Bk*=Yv1}UzyEvx`d=`{yg^bzfr@15>alEg z%09zU6DRF%5Lc`Tyf{@>7VcYFX`fhCLnOw+7*jA@HXs!i@gfoliI5Lf#CQqBW4nWm zrvJ#@oZ+TxSRB)9lX_*E$4fpAG%{ojTfkaaK~72p!x}JW5N22ggNf7=k*X6|CL$QX zcwqxkXTi!^jAvEtGhF?OSBI`RVA3dDXId%?H6D8#&7;Z>UMc%B8qc8;Am9nT#>cxo$5n)S*628)@nlnJBQYxvo2r^Q@xozX;&L!NF*-gu zzP7fpv9)*k(!BSwyu5a9W@6#e-1u0H4R-F`zI*$Y>ou4ZV6VdP^l;1-k!qogabA4<3+|;C3tZwbh z4kpvt{^s@nIPrU`vFXv>P3<`nQWY;I6-|Ym*TkvwNOJqPzyBZo%IZIVoK1XG94Vwm zXKlIlM)RNi*iZk-KlaTRE?hV(4nDcaMGzoscazU-`NM{5v`(uf9vmtYPx?Hs4G*0j zA93F;k6yFv3MClg0MNsuT4p;;o2vUXL^EZ^*~jaupdJz`~F& zP3pCAoF76tpfHq>5ikcVISU&U86pF0P;mC%lVcF6VHg4n1%#Z04cL=sVg@rC5_lAk z09d?|SD!dbX7}_pW2lQ;qkj77Pki#)b8j0O8j1%-jDf0J69-1}Ja05|Rdrqfgf@!H z;o!(%XgOr|D!s(Ddr6+>BuKhR(oMV~_e4Z-Y|C*tK0aU=0U>jFFZG>v*NLk0?PjM% zoq{bj#zc`Bs8+);42>4te7Bo+(#(68cJf}Uon$VI(bI}quIH;vSkQy zb>Mfr=l2{O>>Ta$U(^&V9T^! zNjQnJKl*=mIojLbESIXaT5WZG+vF$joJ#gT^{afbJ$_+aUwjEoPma{XD>9MHQSK!5 zNWCUGQm54SE;*yy`$89bED(ki?g0WKIXF0)ou1;rvf-lF_rG9gg8XJ|+G}2kWG>%0 zPVXG(?tYUM2M8Qkya zE(pG2)&xsI`YE(0gF~FjSEw5(|7_iTAyoC5RnjV@X_nJHE0w<8)_xJqxg~rZK zua{oBa(Q!e|L|z<{Z~x;)z38i+Eeejptr8mQ7Qr!1&nuad4X1xJ53ytjGH~loI4v# z!m3_L7$Nv`@aTnY@814#qunV-VHgD_04Tught2VCZ?y2|gg$*->;D?4a;oHIsvuvPsTdoGzttl8QmrJ{s zv^$CSd8_H0&5jc|PedBU!O+Oa=veK+#!;`;URa#*UYGA~%}kHZEzAxNmCB{yWM^|T z&$4dU^gpz|->PyUQvsmDWcq?B5n=#F`x8FSx}1te(_+S2QJP_9wyG2cgkW&6Y>3%d z4y-x50mw23fFBCn4XV}Z#Kf3$&U?>nzO(@A%njhtwtVI0ot2j>-~5#pZKvWXcgTS@ z>9c=I-~LVM@%G`#@ztwW|6lgrEXb}ayAs>`oO9}u{hVjnIHiY#5^OB3FP?l zO?NzJZ-3nTG7}(KqSPgpO2r!t07ND-f%ooRXYaMwUTdY@xi~-nz)q<|(r4DNr8i6n~lxm6$B}QhN69aJygN*wbv}0mQb8<1y$z^6F0)!%z?b_?=)rIAi zb}8`6zUTX(900WN-6KW(V4B$Lnm87Godqg$sv$8P6D29cM2W^ErIaAj$jq*i2qrT+ z3bR2R>CEJhs9}f`*fPo!^6N3<7tY>D!Ohl}hh%}KQ1ab_MCi_yK&Ug5)PZ){W zmMZQZ(Kn3qO{22x=|G`UU`dbyZ9$pJ)myA2S_oROV3H`bU?qf*+K{vug#eWKW+Be4 zLWqXbc0>4rzDJ5)y z%pAwMKZv5tq;a^CBoZ-8jb>0vd7f3Slr2k10k%L*W{{*|FHW^d24OM?nK?5|ER`(- z*J?DXLI@>UBI*o!Q8ef$X{OuD?M{DCE_+ksTW05$kj(ZSla7ShQ%7I?{&TbE&&|(Y zpiEO?>?6c*fr+RP&PvE_Gx7sP0x=5CO+_UjGm&5b_LSpzE}&!~Q7A@%QZY%5lGD_; zdGjcV2#CzaQeoi;WIWq<9H&;R8AHYx%lcUZto3J=;p*bj|Nejc`#=BBUmqXK9)Adg zLd?TJQe-iWpZNps^_G^eY~QgniNi~?^ZO>L-o1F?tsl&MzOLeBacUkiK!Z%6DR%+^ zondA;GMHu%Yv?C@Y*D^*MG_k{3P9(IMqrVf6c8B1>tB%BxrK#=g+aNV)VRh}!9eBd zB?YA=-W#OwM>WF47;8#3rG{f|QWkN_31ga3W>5%`ui8dQ7RPB4r|UNjGiMs|XU1`4 zspMOhWee1XqcmGu?Oa)0o0zCAFRl5mJ<_TV+FEmzWl=e(3=1nkNMh*H0;m`aGiwl- zum6K#F7j?R{o90;dD+EEV%|jLSucXYAWH@SmNL&wWdp>_#2Spua@$b@%qnANF67zs z^z<2npvOzRy$QR=c;6U~lqj&#Euz@jl2Qtz1V|w)NfLz+prq6i6pz zPm_dA9$ZHczy1qf`ckFjp(W9>yZu;7t5h#}mdZ)@EHhD@Mv*XvK&tC)hs0o#ww060y>sw|_R`Ag>ay(wmgPv>0z*`A z6_9VC=SI;6C^w^E2HUnA#}zs4CzKFE2!$X~%1rCNHjz~eQ< zoHiWi^qIz3bE+{hl;re32uny?qA?~)vT%^3X<8IMz}i5nK@@{0J1CVb1WO66brh$A zILYD^ATvp}7IS7OGbkncu52}GLJj8U+tU;Em3C*X-I*92X;fWHs@_`9_kt)65mAC< zFaX2_%PJ8_0z)xBl*8@kTttuypL4$#frv!9kjoF7$Gp50>&>GAnNujNSh8d$GRSP0 zEi!B)5wf-oS}Q3p&Ed+MatVFYfTiLMYRNlCPjr9?{s z0g;ewJC{3_5V;Y$WDxl>HUlGw?pph~=bpds{`<$qWlD_5uInr=w3PrhU=VCu1)ftX zmn=(K5-ll+O&IDyoTN#nD zcMd0pgyqS}3FtA|p=IG%o`TgE7E5H@VmO{b`Eq z31l{#xQ2YA`kFKK+B-Y9@qm$f{gDUn4m`)U+@I9w{3k3N&6%3hr_Xh}-J#tNe&cE9 zzJD14<}|7S%J9&0gW9&{mYs2bIgM6sACLP755>X7U3YBfw_k^~tUxQnI`1QmNDL$f z;*6pcBaLebf8z))gm&O^l!4AO+Bh$)CGvY~+)+T3q=R0#y1Eu+l%%E|md>on$;x1+ zE*pWZjfgcTnj-^=hD>8@ATgL2AOSY_xWHetCSf zsx>bzb=uvP_R30}>7d$(;&2G55`glW5{kXPVy7Ul!ZyUHoUdufVxG=`1vKT_!d&KK zhJUay)f#g42tX)^OfCgthna{BGg-vU#%3ZSV;fenfp-@9tt-YHqNS-xSECl`H=oq^eYrD#DUISACQ`n5vfX}b`1TBD& zjWLAzWH8Z~WteJ;HAhpB9O z7i9*6LD*-bIb)DQ*sfI${Hkr)l95H4Wnq$rQ4CD1vwk=4L^w03PqwYacatN0`1O^GqY@xbepYt`k2%bTeRCPaZih5j)Amv6d*88CM!E(qOR z{gaz5FmD79=7|Z#e)Djvk@E#<5C9|uZ`7Vd0=VcmhRhcc8YUtjqnI&c>%~xBt7gv#-Z09$$G91AV1r{pNsDr(|N7|@%q7gr#Nw%xIP@q*#Iwgvq-or!O$U{r zpJJSn9oTWIQ%$*S%2L9TXc&_)8ANfajmdOxt>4SN`ZNeB9b1)rJJ(oQ2%1cs(jZKd zBr#dk=_Jfd28e`_>^he3`eRioRj%Hm&1#rbYm;SJq7wsBkQ7|9r4(GP@eMzB4`~y{ zVXxEebUMq+%hO|HODn7GwZ0)1qL`B;+T=F+f&qw0GE=^#Y&N}jf`>Qakf+}OBgTAH ze1m5IAj@(Z)k?Kmtv71*dcD3|eY)2poJfIV=TDN~@xjV3=$fB#^nS&Fbt>M}{UR;I@fe7LT1iQfFVN;yRg~nbYPy#u9l%rrgS2hS_hhZ+ z=VPz@ljArYL@~4GM0b2WU2h;)%k`n1{u1uHQmn zDw4i%=-n>!VXHtO+~7V?N;xD!q!37y!x`njpTF@%5l#@`N=ad7lYFk2~D+DtqS=tZNFiJ_M-EP`h8)znNgb?U^R;A=t zDuEEfmMkSAi+pNHAc!bSA`?-U$rdP(94P`@xE5DRR^U69EUDqR1vj-EL=dHwey`l= z2KBPL;9HM8bpKbs{ntQZGX#J%}f}^gD57GB?B3T zAs9#v0itbLzHir?4I$8$ESVEy22mCc5@sFtv#>uPz*G}4I<^Qrr`9YA0Vu($7UkWI>mTOf#NBOoDc&=;Pr%s(c{LWbxqyz#Z z<;p=Cb|gU80TVOZw%w?eYqeUV(P-9djb^RUXpA%)tyar(9NV^)QkJDqNhzfzP>S^n z@}Jc37g9|t$Tm6w; zC929TJ$vUUzxe|kXvm`@H4{OqA=RKWk!g-Kha}<*Iw?GHLR{$CWf$de0w_QRHf9Ea z1qfy?hJ)+YW!LbHOnxb7jW(bUsC*i3Thb3ytx*>OEd>^eBunE+_rt^x#bFqSArYmS03_SCU02l_6)A)* zSW3(?6UI?ENHa2V6vh!yW@5se;tf2j+H6*vaOu)gob;!rnhRG~>y7fn^hC4f2}}0c z%Li?h>2w%<3MinUt7LJr!-iV|01#51H<%;YdMw?h#{<@_a&s}-`paeyp>Wuu;B|Wf za=kIlbuEmAI1T}bgeoACav5YUnIK>?k_d<;Ay~=|Ja;Y55F`sB0Cj!EX#fBq07*na zRGEsjbW;%u_-k_zt>~JzJJ)DsXF3fcmk<^GX4ga^P6#x^^k>{@HK;`d7d4 z#2arP?{qo>r2)pF<{$`yM!i^*_|>PKuRQ9&VhRe` zA$#_u-IyGN{hL4eFu(KvU^@aM@(fM@)&>osA&3nmhLa5A4EhPaJ;%?U^IQj&5+GQh zlLzd%N~|wQ6@I=bVYo$DI4vSFGwH0i*1vjnxj#rUmagwLtHI)OC(BGZa0F*@KZ*O0 zTZjM%+g847*BUiTiF|0CFQBDK2B5Q0uZ1xI<{g}^9M6~4dd0ScB@u|@BpXC&9LE5e zjc?j}||z%QQDdZQ_Pa4^tkh z$51#(5N`^Z7_QN55~=1;mCqJA_c+aKuJz(8{{^#Q1VD?7uq~;Cz;!9Z5KILQ|E4+Y zB3?Rsa@X$NlHIpoec{rX(>rgu{l;7G@NMDQ0zndzF-$tu33p?y02~`!g`TZS76y*; zJ=e0N`mjR7^H<&V0?T$wrBc0K-L-4`pckGzd-3#{^S0%dYvqwZ-_*2&EW85+Df97Yu|@1uCIhmkq-|?CU28Sd^w|l4MbmEi5b%pa3&$$^;1b zvu`_J`GNvlfHLR_FY9{Utk_<9}R70$>pO{N);y)jD zZA-c~N+Cq3FK_IYFtUq_iX>L!4y&C{E&(IZi`J2K~ZZ3DL7H zKd|e~x)j0{z(}z+NtpBoF|$r0oy3tLOf@kG$5!RQsn=^#N=E@A_QUkVnYnVsY1V6( z=a;7^M=M_C%3Pcb29705)ymq+)$54Zb=GN!JL`_!RJeZ^#_R=~PEg3!3~cay?*=d0 z_$mdrg$#^Dg)SA>>n|MgU)S~*g4r<3f{y~hY;ymte2EvOR5G^~(Cd*l*Y4{Q0!XF& za%rT|+%hxe2W2-1e8&~h%KVAfXSVFH0w-`~$r06(T@HN5mP%~K-4Ch){(H)jky3h| z=elmCQZb`uX3Nwg58P{v8E%gi0~3@YH*psdh9wdMfRq;IJE6nsxVZnBQRD$=n{R&n zTP$S!>;V>$$+V_4O}o88x7!uPnO-C#Ai%++cxKMpRk2`^!7{D~-qMw;x&@FH`78v? zh(;JfZ9p5D8j4bgG(;(`Me_f9+wL2?Ly~L>fRk660YFaa}XG*#~)fdHLM= zIca+%%4@GIr8=vWf=VS=T<#49iEY~%u@cgARX%l+3M~Wym|G@=QOarBOH%-0D7OIs z+filDt~cvKf(1fJ&Mhvx{fJD`?d@N4T&V%F`4Ic?B~If%))}Ozzn$ zbElNz_XP?B2Ejt+%Kc6Lv4y^&R4RF%r<9tU9KUh*uI5NiDt~c*0VEQbLi6pvW+yVg^gF6gafGguJt0gzF&8vF(y; zNn_G9b}VbO)#&&8vvbQri0R3et*kIkk}PAB^t)Lf2F#oo07O?w$9L-WijvY+z|2XU zg-IGm36hQmIvRuom~X}^W&55iH)@WQmSh1k%d&o)goB9LWFfCcF*B!xhP9N^u~oU` z+m5mjB#JaMd3;NjWmo2V)mo6GYIbgEW~!COy5CvtcY14UYb>oH=xp{=B>-uzRdW<6 zgs`r4UI#B4-n<2*8Cc)z&*KmBG(yVzPT*n^i-?T500MZ!S*ZBTA&XB`Y@+AEIQd4p z6bgpr+M?perdb5hy!{2&OVl$NakpkAv?PK=I^Hk$QDy;>@jZAZx;wT)1C zZvLq9;#x=&9}*8OPzWjhHbC=!f5X39qxv&iVKK8Y#u%fuSzKH${Ky%uQ;vM?N#_s# znFHPcECvrs;Q*sB?5mRGJV*oxG(&1g8}lJMp}(dn9N;S01&lC)%UD+FSIPn_uWP%aHO;qAVZp& zewZXtWH?JhorVKOkz|G#Eor-+sMIQ!WjP82aH`E9O2R>6I7{O!jbk8AiM3&+Y}b*c zO72f$6bQo<#>pVcvMi%acRL*bAcKh^0O7jI3%s&ZYZ!C-!n|i&ljDuKE6XFz>iE=n ztr94}PJ885+hT2oWzhPOySc*3M-4@Dw@Ds|MT2+^{gjW-i(q-&sJsMoj$ApXPD6Sh za@)`%7`2EU0|3y7g5_}OWWCN^-_tG{M-;qSWN!#IZzdq3rR;LKoHIKpC?8f0{E;Lq}!LgL@Ih9&fN~t8+ z0*NSRxZ)@=33n2~Y;sFEDW&Jw<-jjjh0Fuf1*A#V4U;HLjn;#%?sLB%rW37dyPIBJ zT$`C1TWj|(_4?hlc6)V|(JGZHy|wnH?dKs|CDx~S^e*HoUYpGe0nCP3tn1y2O=?=_ zN>CK?QC^3+g4JRnieIh+Q{GxKvxLI2uLvv_(13DA%+hP2T{D=RD4ypBU{4l*&q*PpTO|2-R>5G-&V4!ZrU?_pg5 zWMCK!WQJo6QAUY|FcaMnzIIghGCOcFUw0aY5(B|{^0~N%gkiCTu#|)uXSeU77*pwXsuMK*^ZDB9A?8bh@vRU(j-j=X)@?Did2(kVM*b8 zR;gTaYzqJ!3xQ0WW>J_8qBx8Ct5F{Savx_QM7}~;A1z4`wj?ERo#8TRvX;d8za`Z` z%mwd0#79eFKTMCFy4k+T1pZAr-Qo$_YhaV7@iTrg-W$w2{okmt7w?=3pl_*e<$8jfZj=szVGScj+y} z^$cjhQ0`~Ph*%Cvj_buKByrRjo%rIf|5mB&KmD~oojrR71don1gCKBi&#`Q@)Ca;B zeE;t1Lzxo(mwplW$9a7?fOXydA(%5JWM*S$NUw>Bp(eJ8qMS+t^ z4{M7lwQU#`dGvW|WU4vNI830Qh;GW?zkqMfyRL_p5<&Yt+7$f!Wb@>%e9KPxZLUV27%{jB11|k;X1M$_|=*%1vyfX z<|xhj`2t5`Iyuk~q=W!qS+eBYjaEYnu$4fjB-4W^iNcgA8}!maufLwQVkzNzs$4BA zrIgIqZYhq^ewbxh5)HzzKLCJ~P-h@**tT`#>eWt^q+4gkmR5S5UgQWg)y1cc2gqFcKCm9Tw;W>;Loqw>}N$ffBE$@L?muU^s$Yr?EE4q>GP$+#u}NQH%j| z>t7^Blq7ODC&RR^4ktvzm=Xs;;JbcepdH5La`_kj$ych4)>o%l7NCI$_IpW&HVJbw$W_TbBQ79Y!*zcpIE$Z$vhl5 zGP5W~mP3PxA%O*u>*574Xc(II<`&O@2ojh`DBmk(#N9CQgW%Jj{e{ty$w8*~?%D49 z?psGMJT!63SAOrGubewx3Y6!0u4^l$HlXSwwE76JK2WimYZurM5gS--FTYPKkBp2= zUwcx1`C%!1VnPmV2cGa zBIJr;0u(~7_lfU8p!RybcCSCN#Ty%G_9K01b^$<4jW?te3rn5lcI11q?75{%2@$1Y zR|u^siqqa8PSd25M)?Do5^4rpN#C=|)v}cNax5c5lId`e_QPl}7(|1Rxrq4@N_w_c z4xEu{1raSlN`lTz7)Sk3CvmivgaE(0Fu{mtWV zzSdt`P2+wXMpDXxY#Iu>kpYTabO9UGc=7SgddVRYiR)l%eLlEJTR`g=BzQAHgX>=* z51ik)E!MyOMq!87bvcMg#8OD*Rf(WGNF2wxuzMw!Ru1#SK6>y!0;~_hCa!lJ1llkW8={q!9x}Zrupt2;fB!9O zd6h<+3f;`I!Rq8)2N{h?3X#En2Avqc_O@IYSS1gYlz>v85F$TLkx&p9DH2pXJ|uE4 zWfT&L_zIP3VHWhq7>1V}^yf|&%N02Tm@DA!Fi z4P%~G3;;?9&EkC-Hx_=S-Wna57$1pAUAeLt#;FiuW~wPHC52UUt$dLX8In{-QPPVN zHm2Jh0ChE>$(2?Xc#d1CRfas2)MS!4>qT)Ir^z6U2BBb)F{H#of@8TQ-)dESrIdwK zm^4I5Jcu)$^*UJ(1hYvDF{5Q!o+B%jvQo-IU@-kiAAR%C#S=$rzFXh96SU5fLEP`V zw#A~;>-EU+#KeRUpf!=n);gUiN}2UK8-;kyIg;c2X7J+Sy7=(ZH$`Gl;pF>n{&?6z z3SyS{9^>}SLk}z#4T%V)MBDX+^m|bZNUgE)(W&YC9{JRs-P@Lyubw+M|HwlJcJ12r z$}5LI_1L{TwokqF&gq+O-hJZqrG9r1lxzKXsZJy%t&h`wdPn;o0oI2{VC7;&A|le6 zG0V%#005G~V4m%Jz1txpF#Pe;!SDY<2P=pk2R#9Vj3U+?X4p;e+zS515!ZF3YiTL% zoVo&mzyc8jgF%Aaf*g>U2}J(D3{UU(D+mz)vdj$Dx>v3&3=*xRl@U*lw}5GWVFgi^ z14jtKhEgLzu?q!+mF&T?scfw0Y;H89$L06xmKxGl?p)!4_PV!g;ABrL$1?A_rfqrv(D0$iJG(X zk$WW@lO;(M_XnL$r?YV7YJ2SnGNRz#pbtPyf`}^B#>l8cY=F$#+FHNg-{g>+7sbO0 z=-NOn8XCakCTDv@iJMxy4Rz?X#&QI>!L<+7RREj&#GK!fmSa0^DNIRcnd5lXk%`BD z{WqtkM=xENy*#&Y-+lYTFh2C=I}bg4@8neL_^FG#c5nOcQ!nh;F?sLZw>T1z_03+x14sB!^6*F#@QvSy$+ylR5pahlyh>T&`OU=rFzxj?jzZL|Zu#^xe zNJv?n)WRU*(4;OOLz(MiY&l~jxL)TCkng)O0O%yWcxfR6dvrVlg9`$<0)w;Nz$lSXSOu+$}5iJcDrMYVaR|*9^Nq& zp$lLtiZ4PChBq->>ub92=D%qDQz#EDLMmd>5fOuONeH(arD>|mwem0j=I=I|wF?(6 zY?~SX{AV6Lb@uY|+|ms+mU`{BV)e&W9AsphHE zmv-&i@xrUe+K0~HxM${#Ilf^eYXsKy)arZ9TRyseCIRaj#V|uo?s9I3OG_*5;wBad zwBb5(O;R>91AqNB|6hMOtTdG8YO^Y0(rY2SdPzQc+Vwqjl@usZDv{@TFcRjSW4_KN zhP4%LDzBJ8YQyW2>J2nw|*JaE^8k6b!` z`Q)LOM#iUKf8n`qXQkKcwc8yAux(pOoS2-FQUdEFNtTzFwO;4EsF=WRFzDB?QNSCE zBgL5bnp`PDL_xfs>FSpP%l7+W62-l0qy7uO@hi1P{p!NRn)ly( z`**(k{cYQ)9(?eg?|kRk$3OSz$L_o1`#(JR$RqdozBhMy@zz^zdh+?#y9wU9Z_mQg z%FC}G+ke~6Ls#sXTDq%cZ8WeOcj-rH^$-1$fAmLx^!LxS7n7fS_(YnL)Wm5zi0Qc> z{P6Uda|KtiKF=b6iUVrJub0?2lw%ZyVZ#FBX z!0z_?OYK3NY0Hw8YNb>T%0a1BFO4>X(MEZ+QK^?5&vPs#NT*4f3}T%n8g+)0Do8zu z8m^hCyL-m`y(7+!5pPSwo2a?tHLq3n%C2Qels^ul1%-BoA76d_(WVA^MkC@wyA>_{Qz$kE|<sTRqvvnfz4Mk^c0c*-OE>M^J~1)& z%(JiDw0A2CasI-U-MhA*K69~NDeu~|?aAj}^UKv;JGZW^cFtW~*tu#snjrqezVKaqZoq7Sm^j-vnmqeIh1PQ3GZvtgDfr5G3Kc?QG$r=Gf(mQ>#?{O38D}%Jo}gGh1%FZST!Dm&>J!r}E`n z1gTA$BuT0P7;TFkBu9ZQ*|o451Z7XUN+A9O9tQ#zz)X~+dJx9_?qGFoZE<;ZacLz% z`?H__%)(OpnP2Lf+sZ?28UWobw$M=M^h-i9zL`Y<#vn*R$T1k?mc;nXT$aOYr)7DSEZCKd; zfRs{JtJRdCKS*rb-hIpdpj6v`@BMprPIh~p*}2uv{@jDi{LFJNKmM6Vt}HE|ICw4KmF*vXxm@^=5vocdcU&l*WWx=E|>T2oNV{HM~}_kcJq!P za8I4RthK&r?=~fIZ&Qw!-_ykSqu%gmwZcN6Vfs2VGBWGT;cTSZ2KsmOpgd-7!D0J%&TIOp@t5P>)}EWf5(@d9tO)fgEYZHA+eY0zW8UsDdq>lqX*g4LZ>;Jy%Wlb$mc$OldhNwm-a2si{#G^k#y7t6U;XMAOOAN{neTo1OOG?t$zw+z`}8M!{c!2Zh5JAL z2^7k<)fay4pH@dFl_j_Dy{Wyr91VK?FkD^huXg&Hu->eXv_|T+TD4j+#$=h^OcC;R zGmTs#FJ!e^wY;DoX-#H&$L^`^dq4I0$M3rL&hFYu7?}fi-a0L2G05U3kmxl55$ea4t^@plft=60M)@XBP%k=2z=tyg{H99srIyy4aY}P7)r*a?n z&G$JY;ie7hjgP#C>gPuu<9vNG>$_ge4}4}6J}m$MmSy<>S?2e{(6X%2@d<%^@$$l_ zK7OFvkAh0sR^siW=l0#SqweF=PrUGj&pf()to)aM^2cBKov#RGJ^9VA{?f1gx+eJE zcQ5_M@BY5dOs5d*h<=-9;7%NH-5zvNe{h%!l{iSgF>kaZ~iM)mtLLh)21eO;hNv1RHmuk~Hc7Fbsf5rEmzVFh-xl_mMw^sJ=+d0yxzH#{E&TZqj-n`?=!U6l&cK`q&07*naRPq~#&fIp(wmbLl zIdbfLrR?$6$zGi99aT+VzRykj(e*RMVQnh^5r~PhOed*{6TQ5;_NRaT)r}28+tuWJ2Z2uN+O`E;n zWKarf)k?Km2}&i~afHBKJGbuIwsm@Pa(ZfPW@>bDv^mnKR(xf>Tg8R&e!8yrBBMT- zClkYaB6CDsXds#dUfB8yWf24Qy*JiSYBP4fAov*+UM+@4)qZ@qobnbViX8ueY(G(2W25!$ z+b1qvUR+-3Y}+!?Y?KZkIqP}Oj;#}6l$<(qsnM)0g+NSoPkbcK`Uie}s3!^MEE45u z0=&GuN<_nWj-lFUW0_XKFbo0&qEsLxDBD(!%XZ20ZQD`85yF-zKuAOh0ue06>(ENz z&^!)`%1xF^rBqvTPrww z;_c6W;pa!2mGVIy@A%T1z>b?`TQx94tDLF`P3&qcI@Q2vhDr+CqMSR z7Y`bfef+_D{_5!$l*GI5yyg2ZyiqCzQ5#N2+-j$Wk@sk%O#~S-?+&e0%`ff0VdrQ?o_YI?k3W3-uBpcHL$CePFMnZrqVe{@*T4AX$ET)8*H%}5 z>-YcFmwx-dzWu%jgfR*M$q0u2AUt#K;##|7OJNDAlmdYlPoMa|{`LQS?$oK7$&pVz za@Y4>d{Y2F@Uc6-_u?Vn_qJ~tJMzxCnJrUc9JSkP2kyM>=*bI5PF=q3wteFxzkFE8J)dvao| z{^}dYnaqLPZ|HWzqsK1}Vt#Elo$Hzpc$|E6{Ufii){Q-xnMo|KuD!=?!TH|o28uBt zpg;kDf*7Sl6oNHL6jEA_C9CyDqd8h@jyFc8o8w!W<2y&E_Dsy|skEjt_Ow>1#yHKQ zI2nXdx7Y7>23l(X0fvZ(j3%Poc5W!c2OBk?r?>kSuve*tEe&l2AcIWVsGoxe81Gn!!c<97xyL;Qdok8HdcJPF9?E4Pf zc<%hwvlp&xn;E}h_ta}|9v_79owx5M(uafEa&~rpVb89a@rlMO2aoll zuLD?YSo|IMek9k^GAU7_wv2+-M+#*q0{SLQ%B`1{_AE;culM5d%;Mn zIWjU*s*IJ#rYciAOVw?au{}<6Z;xurvE7U9Zj9ZK`(f7Uhn?;q3}fCL!pX=i^KR5Y z9xRMRKrA!^5l{|afCf-A86s^64DH>sYkYjPUage_SK7``9V45Y$ZRgM7JB_Im5ecO z9eVrryYB2q=Ji9Tw%>fm#kM|uaj`Z&z0^-!*L5s;^6dPM=}`c9<@LjN+_4V;UV7!= zUH2V8;Mw_=ndym4YeviW)a8ZFmYFdr@c6Ma58i**L>b&X`q5|4f2!53aRa&@tN+rHgnt;!289Z^!=f6uh`GPDXKZ$NoK8W)2-bRjULC?zrK^ ziHn!!E?*s(S1x7kD1G-_ce5Mqhk9-JWQg~8fAMbswU0>mzw^sZS!U8yCs7*4$rsvoXNLtckeZsQvf<{I@>+$%mWu zdZk*jT^~^Xw7=z#JqnCZegDwylt#i|N3{H{rsmNb#3d}7Y=>#vyXZb{`f!rX*B2>ZP+jfBmoi#KoAiVwVI7D ze&N%Ped^W*qr$%O`S|?6j?uX%y?GvTIJ$&R$x#Vu$Hs0%|=Pz8YH>!&RG?3Lj^=>A9 zbE+eJIK~hEKYQ;TCRujX37&J`d*QwJ>AlZNQ=##8`8 z7%-+(e-tzto6T;w+Z_&@(_!;@oWX#nue;6Vux>Cyg$=dTqC#Z2;K@Iq%Qlh0<)f}!5M-ZPPTV<_ID0axq{tdec_qMFOLiu%@%^Z!k|>Hq%zs#)AZ8fVqJZW$K&LdHVzJx z4NZ+V$Cs|(j166Av)gT>6Z6eYb)6k`r-{_f@x`IOri(-EODo&SRH3ao=&)EOXX8zc zk!7%u0Vx^TmOV`S|+DX||;?=yF)6=2n~PgWX*Xhl%9m^h#%E{a}CFQhZC3 z%rrGb+)ne}U+U<6S-R5xE91e%eX?Hs9Ubo9^HtTqS)1Xe!XtcauCup^TQLEuJ0>|@T&5!i` z6&NzcN~PjXjsOo+lXJa&9f&x7YwFU-00VV$V)oLdVE~vKpSgIkpD}jx=IzHHxu~k@ z>(@uGTz&jFuYUQ~#52!5eNe!K^_|Ba|6x^ClbM3sVM%2xRs@Mhr{8v+w3m8({2~ETCKpJ4-R>r=Q!jzIH!5`IVpi$O{N?bei(}y^(<5W;K{}TAn8Y$8ksqPe`?qI*v$3h={@%vR!<`Gu z+b5^l<|e<>YMqX**4FsD+UpXhsfn4D-p+=Rp|+)!-9$3e(ipZ`%(Jnzx`?Nvz4k1T zo}5|k?r0buXkT90J~~Oaw?rIPQ*3@S7;v<=)}5VYCT5nqTI&`Wmn?{_UV-O$dGpcf;JIT;* ziv;PNdO(#hP>^YO!C|%7?RLAv=CC_mPMgzZcRO7!hfSx`@tlSTM8k9EkVFW_At3}2 zc>;tWS51)MpgLy+PQ#&02tl4heUKw&ohU z%{)H2+|gXq*;ad!IGdPQxzN`#e4%w|W&13ZYi|x)t(NKNYEylnqqXidnI4~B>hEbD zzR((9+dVnWcDB`89mbitjbOml-cp;+x~dI@{_m^fX83H#}|& z4f`|Ol~%9dGHLNW;#rI_M3tuh6RKZEfkJwLsFYc}_|}Z#2iQy%-;-@xQ51_MIhQS^ za``{~^N){>Psr6`9jG?*g?sHTjYhrAW^>x?4yWDWu(=#gm&@h$I4vflAP78vJ`IrP zG#shg%Mb$hU=u+E4oTJ5kK9RAtuF6`0C(Ppg}iksd(etAWT`a1QG+!Zn%MlR(I7N7HZCl#>UCU0LqlwFRjRageS|Z=CAP4uR(j#p3kbYHwGg)neS+JKZ}<3{`VP7d8w=U2|QqTo$KdtDP;i zcANPmk=)!#4D_}L0=KZTMSyE>iAb_KITvq?g!~@sX*wHU+wbpb((Cxujl)t|>~3qM zOr43X1-$lv-;>D}mRGlX+8Yc;{nqYLCSB<6YTyW|vqQa0UnN&x2O945kiF|z|1QsG z@0M-+RqC;sxB}_lM4br54al7^g#qEw^ONBI*w^{%hk*5ME)=3f^JTGAtmN~>-Ti}? zUwwUXId0M$Y<8=|;c(cjPN&o9u(@0=tyU1KWjKOB2+{ByA?FJls(qj?#N2L#b4mo1Ptcd_=0qH*ef} z;>pL$vUKAsH?BSNq*zg|U%&p$vrkEq^7{2Ru08W4Risy6yZ!W2k1JGt_2sWT``pti zqc4Bq%g?`fO;MCr|KY~7&tGK}zxah$pZ&noNa624|H=nH@H7Ct{H3ov_uP{Vkd;#X z4KAzxPSa@oRusT=S(;iokp+w1pjBmMYG&2vcSXYPT(&SbztP{*Y%*)NcTN(g*@50B z4sd2+-DEN}H-svc%GBIiTXV$Wv?fl@Hg`@g^tNa<{L<2<3fSHfQ50orZoM|_@p&ET zOmS&ttFOCBuhVU8ALMi8?#_CZDY4j=%W0~K1oMUR{L*?yYpum%wrbU`fKe}yZ-)Ns=t9sw%50RBMu}RH(|50D$ATDs@6+{9TGf?y#h)#V%o0Yh;RW&t4>b zM{xIm*R{SgwH*L*h5XDhGURUF813n8H<>KguaEWhwOOs!H*SpecD7m__M5jR+S?jk zcE^p;$)?5{uh%;|HeFvA@_0Ps6SFlDzt88JoQj5mK7Y_RF*)yZTOyIjOf>Fxn8T6C zY;?(P(bhH8FD-AG^bn5JiTGM&aQtF?i`Vi^ z^+AEdW;X_Hx~i`74N$Fj0gG=icBA4NW_|}WIm~UqRvgj*#7R|#9X|$i5B)z3whw-f zXjtSuoK!rAMjdCjXgp4n*J<^+?S7Bd=eBxX7PrIXvYQ-MWA)2!(c4UVn^|Ks>&zy- z$*40KHAaKRV9@CGf>zIKbey2!iAF$y=XjoQ0ummO0~7!VKy{msd@oetzhjr3QdM3{ zDh#=U{bQ%yVl-P0j}k_sV71y$6DhsGSsnJo=@~NWa5z$#JgSPv z!1U~rUZ=g#-@3b(+}PR=2i&bqwbQdJXPI<+d&FwiO-`>A%i_`ri|&^srF_r2_|>io z03+{uvA!-fW|=>O>_<^Z!RB=~GY^{zY$2SwaPZHe`PW(L2srP%WQwx4g_94+xZjDR z@4QZkKoEEy1fB>yrxA!o;4~UuBUCdAP$O`H!0`g%IKpv+5G16^un1Otug=4|yT|yB zo8^0K+_k0wKw$gH0RKP$zrtZzODUb1n&}_B01R*37<=^5iyXj>o3}?ExkL!Lb!+_c z#X-VzZ``={T3*GoU!jG+MO`ltJKX7seg0(mfF^#C z@Jm?QgQaoYEa5)D7O?OSz(4vpTEgP#4!`>+Q1{cwJKp7d-Ms_YT{qqL{cLz|0PCv* z+1+Rk-d39Pwkv)20x)22Ghq3;{QAL%u)9V*3@T!IG07;9Xl%K*E^IcNWAn?Ah}Ukn zFD$J%opz7My}rJ0G6`P4Z)EUQqzl3w+RJ z%w#e-8FgAsZP2s1dvtt~s)_i5LD%fu8bhd!giHqQ)NI^gGu74v3#I((`eDfLj)Xm% z+lObFd`-yfcG>0@)_9Jq3Ht?skIip59oCw#Kb^{N?Hq)I?nub9vU-p!WFsN3%VCQy ztn)mns|f(Y;_`;mZmx;=Pm<}K{S%wba+IeEl^sTM-V=y@{Y8_4#8UqkRQ?FHGSW#_ z8b#v|0p78BWGc=56%>A-Xv(lN$`&?okHQwPlnY+^6MF5JiiJ#id%mzYX^jk{`x2n; zZ87Hg!P`1NzW;Ch?=HalrebmcgoSGDt;U*&SC-|)z=v)FV&`8ZHA+koMs0SAm;{(jhF2;zk~K5Y`y@U!*_(>Aa`) z=wN4Sd0r}{!hO#ZV=I+pqO;uTmxcfU;udliKmre3`^E1Tz&g)L|Hk0to9!C#t~&Jh z0KtM(Hocw`2*a`Q$-$uuJkQ^}IWcgdN2k->x;@#`(`hj1$0ugH+M5k#^W1E_p&?|k zSQZvny&k*MWm{j{wVDlXuXktnh$l1@3LPFLs9cHEL{5{Ld^%O%Sf9%mPmYdTTboOz z%Kq+NOItGoaBG!_(}>^j1^UK5)tl595gbOXSx@$l)1c9rO?tP>J~6#)v6w;u4^Ln= zw&wS_B4Kax^lW?gG#qkALY~Ft9kC*XLLQIHHaQzN8niWGAJ1{o*oN2b2!}jpsm%87 zQ7GUJ2Hi_*+vQRv6!f~B*6G<*gI)-Qe1ya3!n)UG3kChDRC;IcFc@$L1K!ou-9oWo zFxw8&ijGKTJwqe_l!1zjGLR7&fC8X0CPDg7N#&2hsD;WDiYMnC2dFG(Z~f(`S$EwY z7Je5rD(v3E`8C{EVS}mrM)>|e6kqyZPYdOZ)s?m71-IANI&ekG93|s7_1;FFKLOML zYJrwn=07s&Pmmsg=F*#l>p@wlzgqz7+`aFcm%zS}zqx$W z&x%@^KU5SDwsv+k9QyqJuak$z1^~` zE-ow#4D?f#PK-|tUm66!o1+t#M}`sc*68HO$Pgi9^!D`NP@f{u32)K1x&0KWd=`clt zzFeWazOftdJHjFN*7iXvl??^G9-nh@ehZiq3j2*lLo~W#u^7T(zbMKp@hykbmMn9* zyyVhJ9H~YCRg$G5qqMvMXTL(U`@pB6Gz+SH-ib~rgIM8Y)?^ve8Wuqnab*xcLD_7)eShX?z^k38lJg!Z=LyK^@+;(@!yh=&W{zR1L7mj4*hCQ&({ z!gHu;eY4r+Lx%Nmd%WqvN!H_#6NH{Q5? z`H^8neB-szM<2Ub)!Hv!91sNI*6oSDzAl|kH$E}b-rj69>ZfPsn;Ro$i*0^sE$DN) zo%Z&7xHav@9h8pAOJ~3K~&j>hWbptkU2f6Z)#*J^_d`O z)7>BB*YG6hGKuBNSwZ1-x{%M2E9BQU4g&#aUBth(d63Q&!y$Jd;FyiA17c0cYcgu5 zqibfXu{P|jRHWtjp5N2cXYAx|=u-P=9(`yGD2XLVyYpU;Owe!IgKTUbTLKx^F3s34UEP^ls_3QVeC=Ff=q zr>N&anT5&$PzDr%Dkv9F1gvlXNVf&`ncq_Whd)SG==#d)Tx`~C zwm$LX6JoJ6ADdfWnrUb-H#hpliI-JAz+2{+{Fg+KAiu;^KiYp8QF!oX(L=zx|A88Q zecJe~zrguFDHcmhDGrcKP0h5mH0w>qxw(b98o$l%SXte2J4|k`XM1ap5D14uiPKc6 zm~UvP&14Hlhx_gAZKaa9zP{Go(<6%V;{4);fgY8@%=Fyw#X$hLb#rXw@(>~9jn~I6 zUmoHFer9U6r>{%kdBUW2zfs`GeLI^RqSvO=3hX4ACxX^tGnq~LiK%6m(-8@|6;@x->G3h&OJGj*JX(9RJ3R(UFlMK@djArY`h%X|=k^skxSxdb8OS zTU@INcx-n2%KDDYs`q$2d;3Qm$AZB?GMOtEa^adVW6Wn}eyi^OpIe(=@K`j5iL`UOy(hQc1V z%Q+K`b4WrVk6y1yWwMeeNs{QG6VG;h(df`K@fL~)Kp6lqs-jY4l7bZ;D-4Qd$Wh1w zo-o`4w#Lbqe;NP9|D9II+WLAl8Y6@}^UO1wJG$-5s z`GDYZL2eexGEgG}BRGE<(E#s|c^`lp!-s%%Uv;|bVDNSCns4c@I*%*aaVoQ&7Z`)v zH*OD)40D`t`_|at@CA)VJ3bz5?`SfZjM3;)O^x4fcPy=Jx@{)6*R{L9FCc`%;gdu% zmpyB2Y|0l(`@4Ico$aEiEW{T22YOYNO;1i=yfnlR#z$vHMg|eNnd#Y{zAix!kcyoF zGe_?4oVar~wE`D*nzFfEwxVjaLMY%qIZf{EodpB#ny_bOb-Pd$!$FVFFAonW(tMeVnte7+4gyDk+ApZII(kl774gR0atu=yI3qoLSDPW5}V)P1uhcy z=`_O3!kX1$stbE7qO=&_^0;j^5&v-_d74Z~6&V;~z{=&)u=l_DT)QBSF||_7b!T!J zr3y#{D+nb8@-pNQk_ZP(U1O@!&OZ9z)Qd0f9~{ol$JW+2y1RRNdb)OY_a-MM4)!)* zyjnMG&Fz2blT%~YYhQG?zVsO3OOROt$pB0MN|^B~F<*O!;`eSs#6!S(IKH7#Sp#t& zcn5xm{Yxn#5yf2WfKno?t!_FUR+rnoyLUuoDN++jr?biANo#9Mu~6DrS?%rXmSrV2 z8yy@Tq*NUrpS?6Ph)8bTp15>rh!gl5H%5ns`ZOBN=-5+Es4`k(MYlyy% z7RvGU{ZPOY33+z+j!#Z<;jlXtaLq4min0<8dR;E-)Xa)OuMG!1daW=WUGq3>;gGjf zuB>eA2fdC^(0zEAI6OHE2HYW^cWHU6Se9x+UZ>kWKev(2=QKQW91{rW^@77@G#fOv zy3aXGb3g$p07y(KqePiVphB@ILr#GV!YRVGqHYpt$he<`^jB#_sTC0db_%yFwb%sl#Rd$FhW6Ku761c&%N93 z2vGH!dk9z$$2S)eA|j|smilo*79syBD2_5EfoK8V`WD*tEp8Jc19|N*my$IVNm`y? z>>KE(l#Y*0Ub;Mlh&SFCzjSGU=lL5q$1V={YP8zvsc1)gqtRrXUs&<`98RZmYkS|I z(fEV@#Bs8e&(=5AXLE(a-QD(%_KK*)msfgwI~XIgbJ5}90Ysdfoa?{P!*Lu>r8d8r ze-CS)&NV#ZFlntO&B0Ly1)b5T^Lw4+(@Q$7&L41D&4$UDWv9au3b+B(=;Ef|>k0=w z=~Q-i=P2NJhlAeDjr~ln5cD|$UT1WE9gzh5E{oYX7u_^l^ud6K5RA=ly4A=qrq&{n+%40HXVyCCQlM=wl8=+1;!B75=b)0h%#bXg`A981}S8R zDz1Z6uEU@GIC<;`PmYfk7MB;6S6W-zM}~*@5B4XgV=JpmPhJW=U85#n|GOKnyyARB z^Vm;c)fxpjn}#BfR09-%AyAI$x{326=PeT6ma|wbt$m+w81fHspOv< zQ>W7%9Vg5ttk})AcSo19ESW3j^k97)!2D0cUORWk83tPM&Xe*_tg4X8Fd;B z|LCRe=)zhmQ)q1pjSO{6&Mb!lo>0(ZGnq!G7rUBk8)|}Q>D=wHg}$DK&aQ@ogOjo8 z)xqATp@H_5)$P->RA*cL&_Hu^enW54x6}u17fh4W%K^XJ?{}JvnoK4`RaWh(SuW%i zS@e0l$J-lU{@ka2>_49Y08kMm1r#176-o*eRLlXKF*pF&=ESa#a6k2X6-nG(U5>A; z=gZRb&%FT1rlZk?g$03^f9Au@`rX*lC%&+p+Q0IPo$l67EG$6sgb_0^f|LQ_fieaR zEH6}PJHB(J1b6^yX&*AI`?vnzaalvi|3{`uASXavLn)3d2^uZYQh*I8{yi(b%*q?U zDvWm_YQDM{Pv4fiMOk@%zf`6|GMOsm)Afywg+d{|y4K&*VWe-OO^e--S&5KB zJV*)@CCF3A02~9XF)8I!f8xIgAN-kYDzUV*99vlQ25YWdxpH=voS2%9#bN{9o*(En z7H@t2<`+JLjqIt9K5Fs1VCydT1T{Jny>j&t#@OiXsgX;40CZwHc443!0G1Y38tNh($L;MMxt%t>(U>~RGg-7d zouyJKnKjZ$c^_|9sAjfg4 zs@B_i4Y@b7{ky_YM-YO$I) z0y@3GacDB=40??uax*i_>#>=s8?WAV_cj?AP?bmoBngTNF&l#e0e>Y%U^x^S-rq7EX+mc%QF}m7euh!$-B!uF%}HswRNPD>Fn)Pyqp=~(aoqm?q03=4nJj1NtRjhSw_6s) z#L;nmQ$3|L7M<_t?f`(v$;rW?KE~Me%>2M$4*;28SZQl%1c2?G{h;5c(P&PSX&q0@ zW^1uj$!BwJpI1@n$Ju!-EO`#*gg|oJw8bWg6^*Ny4&Lm*<7WmF;Wxq-X2@1NK#LGgW06NJ+Ue?80c?S zBynOYUY5j`rl8+r^}6jIm&I;2q|cJ0qqFg)jq9KJ#N>^aDW!lE0g$K`69YwMvH}$q zN&qQG9PI2I1bl9dPM1t(2vr?6OSw`? zpC}eE?w-7FKs1HGo9_VkB{_B$5zZn zV@qS$JZPMrTM2j_k&w@7HBZhg*GK%3u-9tQC6lS@Kjs08r7TZ4yUl#K{_2gFzgTS_ z$B-ca1=Xq}yha6?q0FEHkOtTUFkNH+%O5d|y|^ErUtZliP7PeX;&Is5SL1UFi>XZR z!_T$UN_)GX{$zA%x$Q%~wx>rxJfX9HOO9obIZzm56cqppR0UB1Y5hPOBtqNw5v}Ec zCn66S)_cLR&)rFY?5XKlP0I~{|6HpGA_}8=&zgLpD$DmC)O=S+t z95OaH9UB*T?_*j~5avPyhN*>$S(&$ry~iMh+E_I8YE&iV9&0iZUsPke8uY!K3vP)$;*H z8G!O0dI&#cSPv}2Vrn(toxnY}7goL7=v#ZBr~s7{qHAEMzX{>LzURs34G!c=arIQ? znQ(Y?Vlry=MqRO3Dr9p5{hhKb#~0(zzwi`O>GZ_R6Hi_SRHmn5L&JRpV0M0`wWSUb zclM4vF1ucDOl1lniFT)3l9c1agTCIUR8?MFTz=--RREZtie9|fOA!_p<87_=0H7#J zoli&J(Xs{JLzVZdzcN8+4%p55((G1BFj%Zs^CKhOW0SE+$QKIw%ofA=)O<@zT{!5q zSWGu>$9lS(8XF?XWa`H4X^+ch)ax`_K@d=<;dzeaGU?Z^Pp1#JZhrZTsw@Fg1j0bQ za~22#)oP@O$Ycajg)%}G81YglpRC5Wc6J)NhJ(T2_SWXi{PN!3-cyg(b?UQ6U;3-D ziOHI)wiiGA0s$EoKMjWks1T+wpcEAV6;+jr3aL<95kXY3tiT&v{3}2EhyVV6|F@w~ z010`3J(M0YtoK4(K^v$HR0bjgk+F)*Bn4y&l!AI59G-uj8z`xu93#KV(w}+T%w$a5 zJjoZSpfV-Cyxh^%&KQo3P7hq@VvJ4CF81}dBf{$DUQNWW(P)knDFV!9vz029v(wX> znwoPxtFw(#Ix#slFx&?K(V5u5g)RVCS>39S1PCFg$+XF+wHQt1ij>c094-$4u?W;{ z)&f>l_PhM?z2B5#U*!=52-ppeclfn(u_BcPfxCRMr;y9XVyjxM@W@E-{@&4Ie9L4q zUB1+{ys{Nv+tur}{ay6|ugzlC5>TYFw6V6ixUhPbIGcX$?_dAYXH;3bi%`h!t}+S$ z7_0r5B^5*tN(gzCYTVhamE_4@-_;ibZu{zD^!Basayk8z-{00;h%fxjf4(s{_UONC z9r)pASYZ<;J_|b~C?hBg6^1fn3RV;-N|=+>Tp98rI47ev!8v1 zQTZP4t%rd1aD3a73DJovG6_LORuZuwVn&2a1qw2h6eubnGLQgN2Gz|bm4TE8PKE66 zFgbmXs;Z>2xt*K<0E-K2jm>oe$8YcMnr#My$(YUNOZi+N6cj~iYki}&wV5$CHy7)_ z(9IZ|nv7oP?*f3>;%a+a1IKauhY7pQYA_gbxk9N_^m@IDLU*>dn_62KRy##^0YEgm z(AC{e2vMlm=+fRPQv2>&((xUbb?^H#X}OE-{(ylL3MByOXm1R7Z8t~fN)@TEx7BRY z-W;8gWwpPjS<98O07IxY zMzI)WV1N>XGKC_8B8t5AY;Tol4O}S|pBg|eO6 zk!^gDo1TRp%T- zzjl^PKB$=WFeJR+D?cItIzb^!p{S@>W*{+88AU*($N>lhcn$=lJP;m%XwDND*by2U z*y(Sw!0#gf14*frSC3>Bw8eZmb#~g>by-s6rRef=&p*i+n;M@TxjaCrIy1e{)7ioh zHrMxpL9bq~O(atURGY&hisI4Ue$R7P6{alAFFyU$V*oHUIXgJe&6paE#oIfY2!ZYG zL%+wa)oL?^A~3~nw^K@;8nBtPRW|iqnCbJi-;kE0ef3UjBEPtu)|#yzughXJjZG{y zG=>6!fW=~&otw8g-Y^00< zioj%w6~-!%w;EGN+vXb6PW1LkzVd-<5z|3@{Zn6D+>ZDE$WW1KL4=Zw=?bi$@qamOU`!>92Sx$lGcSK-Y;x}RfBToNJ@q&s z1AL%($wR=p|A+-h?4VF00*D-B8I*x3)#k?tgn>YTryww*;ei9tsvvN{bHD@eNygrQ z+;y-#0*bhEoXJRfhHPqTW^k|*D2qi`y1H8^u-)xLyThzA=<@kerBd+(yo#d4<15cS z{{*FUa$@GmCq@8ZdUk$rpbG$2;#)N#FUN6-WXhoDEEY?tBA*-`_V+!-KwVs1eCFEY zh`6{I@9Ay>0H8{ZQ%~N5w!K>_jXG->x_ zHn(>!J=rcSzBc>nmkPG>vmd*narxQ)E4Y3Dg{t`sQiT!)sDc%lRTL~rASzgrSwVt= z$kJuFvB7_KQ75VdIbcLW5Ex@bWv6GUANwEw^-uiBhkosse%5F)0p4jD_5L>=eF#|h zciFEBPn-i}h7|&q4?@$A!^S`0=4-G&3%m+i3Od5HDr$KUR1g3JWEuqoL@f_;ig-g* z{BxGx&dZlJvnC2`fA`p7H|q`NOtzR#r+Ru@RYhJ|UVZYZM=51vqthdo`Wb_n>4m=D zHUP4{v0oGN3p#Bwm6ggRyVD`d^7i)jbI)95j7?9>T)BD~04644!-M?*u)4b6P#@+v z;WUxb@x)*-F@`QZ+Krm``NaSPa9VVabOvWv4-}4E}z%wN8cQyVYV7(VJg>!&}AOe(* zz}wBdeK_(lDCg+vbzFW0)?dZ)E?6k&01OCPhB`vE40#2#IaZk^H8r3+w!j|_+8|MC z-b`S7-w!j!CMKqbFZKeExw)l|&L-r@*3N;;Y0(=Exm=-8$oT?2iXyG7tv++@3Q#sZ z9ew2D1w@>lUF_{_LBx&CeV^B%(`nM#Je3Phmt9qq&Gn7vp1lH0U0z-u9_mHPC==^F z#`o#H|4x!&(Q}vDg3+~u<)b98Hxo{8G$K$%;CPOpL13Twum9ib^le#|39@^840WzfL;=9=hKpCq5=2a*{S)>&vfh;F>H+A{!A>HWxm;JgxBb?rbl{hO9 zl&iuef&@$0h6u z?Q*N#XlO|0Ad^1p>+ez&WpQ!&oHtEHhX(r?W3gzwwWWaqJ3KsdT1|SRp-?Dgk|!63 zdR0|jT3C4gg(m@EW;!}N&<{Z8=2u&r>j)u-$4R@@q}S_J1|9=v(h2YPi*OGiq8bf! zG-`FbV3o4bhT5Y7R{vSU3`JJuxbA9Toq&VHPNlF<#j}RGSW}^x+!xDoM zf=J5>DJ!bL$|uFb(B)FYa~}XyVfAm}AdeLu6cs2k1yCVWre%qiRj7ziR#-_UIf)f2 zELo&qTIR2>>39t>>v*2$7!pM8PWD+^h7PDc#S}G7LDG-2|BIOhL=A=uKom(Wx6(s z%U^-jmsx%d%?M^>CK(bLFy>IV#LPOhS~bqbu+J0<6;b))qvKrn)tVyezp|j|Zf`-v zy@MlzQDZO}E0szzo$BlF0AR7%=+oC8Lk8nxlS4xTl+vZ;t+v)WLdem{nTF?#W`iUt ziQ}XG?k6dwiwjFv9v=n(pi-UNhVN69I!_V1x76|6TwM#Y&t<&OS#Qwb^4fah_;_J4 z`pV}%&ln?s41qDVy8ZWN^oNuo+)ZU*Oa*xJM*uJz03-krScRcTiZT==kyn&Qe#jOW z`B6xH23E!)O+f~bDKHKs6;+TGwJc#thKj<c#}SLf;;S#b^e=w>m;U)b{m~CG9_~=Bhaus^@%2}A1&M`8 z1PaU0sW;gSMyHPfU&x$hQ_17~qe`W$*XvCtlhJ6>>U7$0CuthuG{4Ex#}I#=t-nUL zUI+C^H3Kmr=u2QMGhG4=V`$cc&Fgox`U7Ra*ZX|gOwo`k*RCI`y*)q37@HWM8|dv| zj4iKhHPi<=jyp|e1fE#!Hc^!KcDA2=?g;>xotwY%=nw!*&Mfx#v;)$u?IXX>AqZNk zg3qEc>B#$WsdzV+6w`Xf^2~bU`i-Nb#QC*Dpa{s$lXdTQD!l_w z6j_zdys2kZV?(QnqC}z0Py!HXj%ZT_sX15<)E?5K1jg5~gdibM0xAPV1sO$|mL;yN zvZBOF66Qr#l+ zySrKdU~4Fj4>jAOJ~3K~!`)Lm^+urOw<#J&duH)%ep-KF%0pRF1f8?^EFx z5v#4j@5x9wH@*YPD5V6LR>K?gy8rqYf0Hj15fKR2ShmPNK|bAZ88szFs%*ExHYlAOirS zR8^U(s)&pO1agiz)oQ78kRlY+d$`p-j-L1yX^S$(s)WvLKoo(A6lIh|nrEm{B~ObC zWk&M^MTV4u3Mhf1fGDw|$|@q{B`8Xeuh47-R!;HbQ<_v+XV9Wns1hrJh`OtLVAa-UdOesz|I>C&(N%ZiBh9X z^kpy{qkfE8bYSy3>}?J|WiZy`&!h|5RAv3ICaeR4LjVw6T5o9#bDWS!W;l@TcDpFc z``bHDJozYNj7U;#*!sX#sUZMR6_}!`3Y8_PTrN9o_I$nwcLTy|+B~ZkO#;3d^uZnc zqE(IioOvOu+AEq2Du@gv1d){`RzMP{EAkG2Bg6^=icAKSnJQyZVr2!25)?(qi!3kV zS&6;2%D)`f5}q^akmm_-{COfP0}cps3=k}g^Aap*($BBmg37|(WbL{HBOJy;dNPD(C#jC z_JcF&IFZ=h+eX6MEOv{r+Pft%zw|Do9dY#o`Gh0l0qe-i^ zXnS7L4E`uj7`Ht`*Ipx=uabi)FjKHFun^1_AX5UvHW;;NGzzAAkE_kYCte&_-6td2 zd~suC`TIWfLN&AWkw*t9kj15qrp6jVh(aM?6RZZ!gLiot<*jFVl`Qec8fjW_3>I=CX-1d5_`M*Wl6MHEEbE|Y_{n2dY!vf7w#3F`BhG?u+=Za z<|}OPWlZj&Q(<-vWy(Ym3umC61Ea}l`|$PXVK$w)c(J!sDs1hZ8uh%vsH;d~^7yE) z`wFELWU=1sd63L@?+gN>x|6O3gb*OiB!L9RhQw1DPn9^v#>Q^+ZoIg+u;qri1>7}XXNyl9tDb!3 z)O`mJBP4^F{-8fo_PU);XUmo?mtC<#gFJim=(Ep0d*sN$BuNH?!JymgbvtQU6j!~K zcK#ZX(c=g8;D_One*-MoGysOcc;v{Deqk=zvSV#j{q&v(x}ALIuB(<#F8$)2Ve;F(8G^@_pTqm;q|wi-J@tDtP3p@ zoVZpYFFoX1zqp77}t$LnW~KKbCGVV)O*!EC?ZFFT!Xr*q|%SEgyYytaDc z*<;TO$7dHSB#;wkPs;VMV$PylRJNuKfRiy8KenWVnA-{>%at!eZL3*P-y-YBr)m(h_&-ZH3p#T&4n{HDAUTZ zsVng1ul(mXy#BQ>e{ohzSicC_o(`C11AnVdi>$L!?C0{Sm0sB5nKhZ1Q@_D1byt$ zLx22-f5>dNZr`5iXlB#awbkLxzxo;gT3%W?b?n%#%Qqzqs-ZC*1Xy2waURsL5QvDG z6JwLqWJNlxMmpAEW?9B$mRFXXbCXC45mjTl6`rfe-AMohp;8#(XsGE%n7_opGpeh) zQo)LYr8Qlu@YE1a5BZx9nlJ2608N>pHH2i40Fe+80mp0=O`lP)DgTRNR8dUWGoB?A z1=e~zxL$hG7-4Cn+iLL5zyIFP7r9!(y0F441wjEd$3)`f*l z8~by3@xst_9y?k+`OJ~W9y^q##r*ut>|ikH^#?^ZyKRffF88h)o;*5w`dB$s91>&- zNPq$*fKvh#@sBZuU2|2LZ1SVkkmSaa0wEBBoG%ZL z03b6a*5oOdWj;HYan2zkBLR{k7?bpSgO%0gwQ9u3jiP;et#V@$8yY@SWRNTsZ~`NO zkvmnvrMIR40MFoX2&ad#QsK!Fom!J4OZ17m?cGn>EQQ=MGcq#(#7r=e=0I1|6+E zb@1f=M~^?W*Zs)!XEydWZp$}Z^s3p#E4RjG4-}(l83yA1}d+&bg@z=cVO~10| z`YStyC2Ig8ZOM6Iv_t?N8B&W`n&w64+AFWPardqt{^)KYWd=kf0wU^ldX~+~+Nw&t zRsfCAJRm7(qh)BaLebI+)En`0Km3tTY?z;W{jc2kzy2@(d|~6lcp?wZ4|6yrP7;&n$-w*I2LJ4X@7=Ox%jduF zW$%3~ax*g`=0$0YIkmd1K17#3Q~+Qd=ZRywQUEY4FeDg)jG){>`HTquDJw#AMo(%P z0!RqQPMrMA=f64{)qnPX{cp;I=Zlpk0x1I6q)Z_M)c`8JH^1@bO^XX3`Rh-eURsWN z0z@P-Hc980msXbRx&~>wga`~6lo%ywypAX-0jvh7z&n_`kzoanJ+05I=O$`T+FMK>!%om^XK;v-Q-P|`-Kin@N~&%6bMXKVv`?i*ySU0ht8o0|iG zvdHJ=XM(Ee%e^w$64py|VuL^|QL93b5VZDTRJls7>8gcVnivcfK!Fqln=uen7;~0l zEO4n}Gjpq=hzO(r1VMDP0;hhW{1Z$qbT-=F&W*3V1#X#B|LpQ3_bol};OPTD(Q0;X z<3;7B&317^ef(s7>RGK2*ANSY1Tg_{*l-lecobz)plPCp$?>fSU;4`5|M;i(->~Ou zU;#W2vckqYRLD{W9RXDhNJ_Zt>MQ@}-~a8u`pCx~KYT=0nHj(%G7|T@y_L1q;c%$I zpUqi80Yw2+9aIVqsf6AYFggNHo`fSyaMvOF*w0cYTxKRt+W-hriUdTH>p9I<)bI$# zlnxZ)DFXp%U7awc6a@f4i3X(SBnel16~Z{e0u)4shQ$C3f+(OwcK}d8 zA_xFppmwl&7>+*){3XbH*txWO@zuQ@H-g%*{LtFNhgY8Xfql$}Q~k<;2GSwmsz9QU zAvgu`fZ6!pfkv5QiUaiZ-4)%S6_8mmLXYs#S>QZh7y7RF=wWOnIb3>5u@SX z|D6wg{)=C^>w7a^Y%s=n??VWPxbxa8jY(b+s^FHeUXt(%!9yHJ4dT47t57+A--D0*$2&i}>22v{ zH#=-pmk1P^SydQYZ{vEX)p(kq03rlNQXo_%U_qhyY$KAQAjY#Dpjv{Zdywx@i`bdx z^4iX>ow$25$my-e9$q?l1hIgpD;NqC2o->f{}2yqrfP7g=jLL{@?v(-TU#9xQOX>> z=wHzZ;UuV00ANFjmXLu~h-H*Jy!YL|zIoH)=fCh}=R-62LWGD(S`3(%S66&pjp^P1 zl9Cs+4;?Qat&?r9yNaLs&gp0D*YBr)f0uoBl$ANfz$)gL1ml|3r0_ZUS1CzDI;7DD zBJQ{lQDjy1&lO&sB0A?n2w9fB@AliSzH&#B7-I}G!ppmt(h}B- z&Q_smpNWScA%wbewRc13|MkE9uyf(d_t5X`HqBT>Ozuz=5h+>|DR68Xj$b82MFvtN zfmp}DSg;@0RZ)>iK`@}85Hp}?Ky<3Zqj>xqXubhi0o_YX|GK%?-3o7budY6!pZiOE z{Aq9m9yG)d!>gJzk6DTKZ`0-6i??pBN7eG$&|1sZ+Qz)$6<^FkFaTZ=(0~OfG()Tq z6&Q`7*WdEmO^XX3zVj2OmzDt)6;)M9jj_FMe|2r88r7fyQ2-bijFJTXtv{{){Ri&a z+<|}l?c`6tlMr(^Gl`+I^y}-_Tu~5WB~ifuM!q6#k~ILpFrh6_?^#vO#a8DCjngdM zxVRh$FFN~fPm4d`?9ao2;Mw>lFMF?YN zsysT+fB})F*=nN6It$%ycf-P>wP^@0gb+g5we#9v`}McY4raQYGAoND&x}2DN5#vs zoYfN63yq|nLkf%l06|sJNpQaQT6_1z(?|c^UwoVZ6+)%@`TO(tUbD)GM8GHjV3-k= zQHiwaXfuK;Fen0WKrw)Vh|MZ6L?A>Wh@u>Bf}y5;B&ZFe0V04PkRkyPsR-6bb@*8t z%z#%2ia|x^3Hp&-l4JQ%jUcIQy2nP>n%V5 zLTO?3qiH>a2OI94t^lHP+ z;l%NiP^Z~S2}BXKu`C^r6U6#dEN?YSbyczQ=z{_P0t=p@3;p>U!OVmH%-q}pB6?rP zqSf2qcI(Zry{XgdcFUquhMSZ=U=R? ztd3bgKD#f!<)YQpqBTgU7Qv7Zp+Pl7z+gx$0wcvp3djO^AOk3X0HnYQ1geULfmHpt z{>6$CS06Up=&Lg&p zw~`P+Sr{k<6H_^33>h}YoqhFRR8RExvMebmDXD}@cO#&LOG?9%(zT?lNP{5d(j}cP zQcJgV2uOp{NTVR#UC;e|pZEiw``ev+UUTQ%Gk4CJ_ndfR?|D-aa5*Y{Ri(k;x4eS< z2N}W#$(s@uC`>~>hR4ysME0^3VK6NmI7Azc6Ww%NOwS*t#5s%~!@1lS4ABe`=b_FJ z9-A*$IFt-8Lm@J89q>ndnFuNxFAKz$t_oacH{VC714S9K3q;kTy#H3hUmNgA7~>GR zyJ}CjVHPTn0*>tNH@l0+e|{#jRE#5`lzbivEe7BJ!M|HZR;==6pH4eJ^sVndn;lc; z7s;#?i{ijeH0teUA}7<5>*S{;gs6mlBn{$x0LB)Jc_xEo=kefvr88*>VZo8FFnVwj z{qhTmWd{AhMyVogBMz9^Wv*5kTb#dZxf#ni)s$t>G&N3%cKHq(4(l& zv~=U&0}hQDZjSWt@935;k~y)3_4vBQiF#AXT0xMAI*z}60-Pw27W^ssHKL3~X&AwQ z#te83FyY70E1!UU7T>|GUs(-x-Gr$Z<`HVyC*}9Qz3FW(Z@h|dX~@~I|H(s`!5Xei zo@kV-KOqYke389+Agl>IHg}V0cN6$t`TqTmW-=es2 z*+2Ow{Q5-b{Hl@rO-+wkJIl^|S1^S(7l)NxDs?5%5R*uUdWMW@hbAMKS&s}xp~not zHOGqWz{mYaK?9@yk*@Rp>kC+HE+Ny@G|s70N{N!Sjp@lX_QqCcuIFri${+iIv;I;XZZ_W@Cl5{z}GP%#`H)rtxF3p@1tPv!X10xVhj*)WicFiOR~Z zz98O&G$nEt0`($J!pHb5~qwI0h@ZvqFlKNk-BSXnba&VmMm;x;aC=H;?em_kUl zNV>v8FVEZd>mxqFoS&LVe3MMf~}L7i;7BgfL_!0;j?4^*7|}8R2K4JrkA@an!=4 zQ@QfB++p#g++5^F3WP-v6rrtDG98HeW1PW9x*8Q~0uKZF1iV8+^iPG&(sH>83qD@n z2+02T?Co-nK`FIysj8{Uzcn!9_je0M5Nt-mKq8crJV{?J8#*M)2Ku_9bu%n9G*nXh z>Tr!sT@dE{io$IbB>^k1A_!%t$AZhVz)j3tzc7vwSrjvq;Kawj)xIhIF!Bc$fB62S zX{zD(Ca}8{a+~1w+OKFjf;Y5YPul_ciwpazONVNN)e^f6f_t;wzZ-Wo1}?KrlZfr#C``%#ypWvw)Rdiv?BVlQiZ+Yokpb|RQfOfnG#6p zaXczDmb_hrPR_S zgT;GgjG#I3>522qicHl7Z@y_qy?Z2Y~OY?Hm= z9iMNX&YE0?GdPYLHR}C~J*wULwZR6Jg?AjST+#Mi;{bf`$2t8)*U|?rPBFSr!GoDB zK?PnC4HG$v9umnpl`!D6k?}jD$BP{!%tdqTir6D%+`9qzx&*m$|KdPmzZM5)TbIw&3-s7~<<9e?_892{^y`PP4zZb{D_ zG=z~0fjElT%!}0SWJYSJ4sFWq7&8_r>G&v~VJW!KFRHb*_HNQ%U9yW;ZQk7Y8G5Wa zCoBVDUgy4xjce6|l3D78>sibimY&w>13ln7xBkh8Y*82M2#iWdwok$HYb7qQH*)3UIhi84E=5 z<-u*?Nk>ip(#?$XUVk~yN>kapp0F`B0YIx5U~>eESSx8K8`L+1Icb{9$>M`#K{Af` zPlTU3P;qf4-YpySy)vNa$({BbIlW$ZBFW2BBRr^`Nb4AF1Hnb4M^ZgxKT{u*8z37r zKq0sV@&ryC_rJLxuSYZ7ciUm+iaCqHak5Wv%(rH(XQ$n7Sl7En-EpRB77<-@$$Zx#aCzr_|@O|mx(v;Wv6 z8>#Z3R}d+FD>xI#5JHlEBWV55RH@bu9j%qioEwm8WoXH7M@ZwvEs^M=h?+2TMmeFW zJQ=R#Udl>JZbv?SLzC=lSJn}JAKB~MiuU*-CNvnh=nGhLOGoL`Eth3)=})e_v)8?! zM(RzyvlI}Jxe$Ev&7NR8h0@v{g#WM8cfXZk^0f2Q)9VYndyj>AQT6XCLP}WFj^z`d z7p=zR*EqQYG1WB2dYs_2T*5#otqiFFybNQZrpt6_+T(k=xOh!;vr~Mq!qB&F>c8-K z)=j{)O}07w4?#gG$14Y>nsi^KS4wI8x#bWZ{MhR{Cb{>C7L3A)`uYDp+cd0YW@J6t znL*lTvv{Yos!kadyl;8>kvGuqUSl5O!$0zztCPjn zb0N3daWYaEeURGttR|o0TQ4n$E>-T48i#As_W3b^Im{t(w(+uMTs~ZdD~HzYck`nA z!l`7lO(A=AY2V-ktFkRI3qd(m*}?O~(B#SyPfV8#b%!rdphNR{yXZ;4#g722h&4eU zC%MSVcl42P2L( z^l)X;*JIrPsreQNVfU{dz{m{#A2@ zpGXLQau+$)b9oh?9lh-)g-{C;h5~Kr7oIBO9NeG1?f9j0pfr#}z_8!2wcGQ$_vM{? zhivDL5FDIt{%Fl@^zh`yan|&?0B{t^C(c9x(ITeqzMjL8K3cKLx&8g=(Tj)p7B^&E zOdN>{YU|?5as-5!DuIa^sb3cq^04Tq{>YEy_L}B6jI5zD#POtYN^dS;%2w`Vf^g;T z2NR7IFXsJW0j>sjc~`r~cUL?~KMVS^#I!K1#tX7^XO46TJ#pzIL+ZX3fh z36qWaA=Ufp-IR6jY-_`Gq(f@jM`bNdp5@S63e`|)CskP(OcesDYC5eqHfyjzo+aj7 z?992ow=ISBu^84!(1+%3I8Cb6z%xGxs?LfY4kUN7Bdd-4$39;+Kt z7>*OuQH%bv=8HLSQNnEd)m-FfjVLiwsL>2MWbZ_C(FH3x!b-f#a6Q=085oew3rm@cc_o zizGM29cI{KR32DCoATc_B<|eKd7d#W$n+@{q(Pyq=$;;VhHjj8yYrFSL>oixudH?9 z0tAYA;k}BNU4#|co)!#DTIpoWWHkbgLx?i})4lEWjg9-Oyd1BsO}i2LTmh$F>Yaln zTmlJUZq6|>FiJ)oN9O>Kg5SF(oL(Ej& z?|3Y3nLm{v;+FmX`k8!^zDjI&?Nq~TN|@#e^ZMbB%}7G1(UStz4k)e-CFMSi7(-c_ z6jj$usdDMD@jp1Q2ojwhj%cPl&SKh0bNH{KxC5>czk7bajX1^&F3~<>s8 z{a<8NWWd!}f$Fon$qNI-RO_}CEtZOGgOS|I3D7#HXtH?iwfAnF3#S{tmpGqM>}oo; zgG0&B1*}t}1={a@+iy2V{Zr3VeyHDXb=B(H5Lua(I89}|-(mP7{TxbINh>bD+g)^4|i zz1Ff9_2u%gQ22p(hNAKNol6Zch*3olNztiL91J4qZ4OO}lUXy(+RSVF!tL1IGTzsIjAx)L`zcltC{LO_xFmA6H>kZ7MO^2HY3V!(B8G+p~qQbkXK-c1G!8VHoNq$U28 z=P+N?X}gQ!WIk(JxZ5GB30?MgWeQQt5M4n2aL#xvmTW^)_aIT2U!cQp(RK?^bLRM{ z-paq5b}_e~+OLF}yL=9}8Xwt_eNKJUTWFlFe(7`bmG+11d%sv+*J^wc91t~D5*iyD z1jCcoB`%US`}X8s-ByY!p#TY|V9dxYvl;v&Pj{RK1acqlGSz}h3Q9do z0xrqN3^I?RA;QhN1A*l5w@mO?!d^_buI04ZjAd{PR`(^K`|?5-sQDicd7HqU2)08t z;nsvF%dOvx?$4#~N+u^oKp>lr4QlP5Gn$FtOw@B{pQzFf%g{BH+U8F~Bk8GHgdJ+q z>x`JAk(65G;T()T;AC?v8_Hr8Ya`rY0XQ&!jXWx%(3)1X-L?X;4_k z^;di!)cah){>+26JNfdxsY|yD0cXV;{wqJE8-WD&iTX?s@VmOFk{)tc2C@Xr3)(P7 z)cNU9E`Y%9FShyn77j%+M>-`z?JYYEDy`1tGr5zT2ugZ%<*46`&0V@QNaei=9Zg}4 z+Tc&m7aRYy;>D$sxnwWct^9}bi7e@wEf@@1;$P~n3ukk`>Yb~-^ss7+bXHtO3aU{1 z`eTu%DuDt~qC>AfQUEa4{G%$&SUcuNg6zP*qAt9X1Uzh#;H_u+XwBIh&JP=xF;U4tEAo6?B zS#t>Ar!@c=(caO|@vqfuf3Uj6YkU2>hLi{|)ry-Grruo{`k0Lpk z`n@=wE4ou<3s^Jgj3bVpDq0mPkrT*{3bS>dru)B{2v(476>U>$RTtxWXVyGB+ew*X z_V_qjSO7>m>zGE`SF3v(>!+FC5S4nA$&DPaCLaMf8~1EE1%6$=yWt-%>#C)QnAlm> zY(S(?eq##aRkQmh<3+#ijHU$_F^x!c-|;-43Y>_IA{ILO)#8tv>t_I{7R01ULJ~R` z>}D}7QsHxR5Pw>F(D>Xj!bvx&cZ8U8Skwzl*(=bv+%3P+!sif=Nh)hIocPk#v80(d-H6TpPpm0>cC&(O$AjtUvZ^ z2aoTIe&EKb_9CduloPrOl(TIbD8yWT`~1wg|C<#nbrxbNQg;yz>i)X^q8<6WJZt*B zgnS|UQR$G7qfVlMCHZ(qjV0#zMtnv3B3K&1kWUpy8gcHJ=i@GHWKzb-2KY7MlfJ@_ z{=8o5%(^y8Tj4|osg^Rt{$z!Vh-zJ{=$}SuUu=HX$w*737W{d^MFJwLVqX@Y0mEdp zWhN0STkqE^XvDx`aNT=55Ityuj;{wsmUH(W-xmU&M9act?-9)sCgq61t7(?EcO*-#vl`phk~# z?C#*A1XN*((0;ci9+URz%jN5(wak*12c`;nKV1!+7r({Xq&atpu5^TQ zjBxE|YB7?~eu4m%TZER{1Bnt8{qkDUC;HAfRm1L57klz2k1$@BWpC7e9wG~Mt^Frx z&o)>+Fj*6P7c{U zHlq9KeUc25cYR6^3Z#|$?tt7Goq|%RC7IN1u8P={r3wUT>TEbn7?T%}2ln5riU*O0 ziHEA8k(}&TgIYZN(y7O?-JkTAzOiZ4aBBeZvBg!%!++%M4}W#rgmv;4C|j)-5eA_n z5<`EZ#ufvUD?e0iMD@=ItC?h{$XC@{Se$iqo+9u`;jLhJk`5fUH9C|S@yMlC^v#oU zHNuDD9tkICQ*+`;G_~d6S~R7ahb#zb=q;pGhFMF}g3wYqzN6=Gy8HFbTzWQu34}t+ z2z#VZf#9`I%TM} zGm|5W-B#a#KwsY@U-3aU{90RD0NjHqNwjSNt@JYYID%TNFo;PTA=pu@gds>FA(dH` z;D8ZZnMOhfBAR&FC&k;yDaK1vX1kw@NlUj|UDr#ERu_>Dl-5;EEw&lmCm}y*{JvQO z&eO^`?wJP`N8-t-ebJa%z zQrKDFF+I!0vYwtE1|zYd7Ouf#RnznG7da5sQmP&O>DpaRAhD2MtMEP~o$}-#7M>eb zRaJSpi~k^<=YESV|G(k0!4D0_9>1hsqZ(OCA3KM*f1vm4hRF90h5iMW&14&SEh5}t zI-tO-DDBIuzP0m3-{lVfbLqS3%(wY<+C5#XTM8G@8+is zsrNZ0la^{n3~zV6Cjb5UKwgqBOXfgR5;^jmD${M`Qp=?ITg&34`wIzwAMd5b+v~m7 z{Z2dvj}eZ;_wypkl!b-Gq*d$*-(1Y??TgFjyGJNMFl&j2mQi#BAA5&?)ac2})4tNy zTrCw7YhTW!JMrEBA7E%!wmoyx6L&$~w6dzc&KmKPY|7hYT-z1AC`)p%*t7XBp3eKz zOWpD_0GF?0n4H|&+PcMixLC8_@iF*O>BDIhzI&^Z^cM{B%Rsku|M6$p;ETGX$;p+u zG~OX;vn{#7qT058brMZsmn>~zw+9)~0&sZiU!J!!HQRHSvhC9Bz6n% zVl>>Q(rPFFQKQ3z04oW~B(9%hYI?LNtxpvmKg0ekEnHnykAXo)lszi(4>*Zi#as` zvqS4PrlH+tT10qEuPdN>bR*OWqm{A&X$gCOc9Z>%JctQI85;egY$HN;@| z?4|BVPtQ;IUrzmLcmJb5{rAm1z9@3-Th8Esa5)^FvAUNdXtDbs1|Hg<89M>x z1c$Q_%Bc_*A)9?_LVJuP#e{x8A=+xn&Z23#kNLfBXJ?C>mF6 z0m4-jaCoJS%<4|Fx4Kc7nk%jR$D+nfQ!Zy9QAbZxHgt5^I4ik$ULM*wnb&+)+@KH;CnH!^2F5Dyv+uwA9kxh`&ATywXvKEE z;I7)TS4ROp6@f}`MlP#F<+gl;FnD|@}<~wKP8<|{b)MD@_pD?hlTU(#pqsL(yx`WAN;A&|(UzPJ; z?JmZ9_|lqt-s^kz>|HMRU`wTU`qwFHm*`}p+K|arDjSy6`Z}NNN-mI+c%HiS!?qw) zZ1Mn%n*5bjA8jHvf0!}G;U}41q!|ex^cmgsCM5_i1Cxiv>;8y2_!<>b)J;vLQVW|z z1B!|-7DPPtV%5Fnq_S~#_blT-E)hS`J$!i1uZ!d(|A%QqnYq_v{}J!rI{!rb=Ni`n z6u>Rdf1^SFZz7=OKj9hG0w4Xq7Naf)pyfYC0b*b%|BpDi^1sgh@00)UZvM|W|Mw`o co-g0ynSsv8J^LQgfq+X{UL960XCCyw0HoDkDF6Tf literal 0 HcmV?d00001 diff --git a/packages/addons/networking/backup/rsync/meta b/packages/addons/networking/backup/rsync/meta new file mode 100644 index 0000000000..d535cc7c5f --- /dev/null +++ b/packages/addons/networking/backup/rsync/meta @@ -0,0 +1,38 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="rsync" +PKG_VERSION="3.0.8" +PKG_REV="2" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.samba.org/ftp/rsync/rsync.html" +PKG_URL="ftp://rsync.samba.org/pub/rsync/src/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain libiconv" +PKG_PRIORITY="optional" +PKG_SECTION="network/backup" +PKG_SHORTDESC="rsync: A replacement for rcp that has many more features" +PKG_LONGDESC="Rsync uses an own 'rsync' algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files." + +PKG_IS_ADDON="yes" +PKG_ADDON_TYPE="xbmc.python.script" + +PKG_AUTORECONF="yes" diff --git a/packages/addons/networking/backup/rsync/source/default.py b/packages/addons/networking/backup/rsync/source/default.py new file mode 100644 index 0000000000..2085a1f96d --- /dev/null +++ b/packages/addons/networking/backup/rsync/source/default.py @@ -0,0 +1,23 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +import os +import sys +import xbmcaddon From e93e187d8e580cc0df310acfd401177083b8bb6a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 29 May 2011 15:07:59 +0200 Subject: [PATCH 22/25] xorg-server: update to xorg-server-1.10.2 Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/meta | 2 +- ..._pkg_config.patch => xorg-server-1.10.2-05_pkg_config.patch} | 0 ...rver-1.10.2-10_cache_xkbcomp_output_for_fast_start_up.patch} | 0 ...1.10.2-11_use_sloppy_heuristic_first_for_initial_mode.patch} | 0 ...902-13_nouveau.patch => xorg-server-1.10.2-13_nouveau.patch} | 0 ...atch => xorg-server-1.10.2-14_nvidia_fglrx_autodetect.patch} | 0 ...tch => xorg-server-1.10.2-20_extra_modelines_fromxorg.patch} | 0 ...-vesa.patch => xorg-server-1.10.2-21_x11_nonroot-vesa.patch} | 0 ...ver.patch => xorg-server-1.10.2-22_do_not_zap_xserver.patch} | 0 ...s.patch => xorg-server-1.10.2-25_less_acpi_brokenness.patch} | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-05_pkg_config.patch => xorg-server-1.10.2-05_pkg_config.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch => xorg-server-1.10.2-10_cache_xkbcomp_output_for_fast_start_up.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch => xorg-server-1.10.2-11_use_sloppy_heuristic_first_for_initial_mode.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-13_nouveau.patch => xorg-server-1.10.2-13_nouveau.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch => xorg-server-1.10.2-14_nvidia_fglrx_autodetect.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch => xorg-server-1.10.2-20_extra_modelines_fromxorg.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch => xorg-server-1.10.2-21_x11_nonroot-vesa.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-22_do_not_zap_xserver.patch => xorg-server-1.10.2-22_do_not_zap_xserver.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.902-25_less_acpi_brokenness.patch => xorg-server-1.10.2-25_less_acpi_brokenness.patch} (100%) diff --git a/packages/x11/xserver/xorg-server/meta b/packages/x11/xserver/xorg-server/meta index 9cdee81db9..c3445ec078 100644 --- a/packages/x11/xserver/xorg-server/meta +++ b/packages/x11/xserver/xorg-server/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xorg-server" -PKG_VERSION="1.10.1.902" +PKG_VERSION="1.10.2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="OSS" diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-05_pkg_config.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-05_pkg_config.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-05_pkg_config.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-05_pkg_config.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-10_cache_xkbcomp_output_for_fast_start_up.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-10_cache_xkbcomp_output_for_fast_start_up.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-11_use_sloppy_heuristic_first_for_initial_mode.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-11_use_sloppy_heuristic_first_for_initial_mode.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-13_nouveau.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-13_nouveau.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-13_nouveau.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-13_nouveau.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-14_nvidia_fglrx_autodetect.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-14_nvidia_fglrx_autodetect.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-20_extra_modelines_fromxorg.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-20_extra_modelines_fromxorg.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-21_x11_nonroot-vesa.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-21_x11_nonroot-vesa.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-22_do_not_zap_xserver.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-22_do_not_zap_xserver.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-22_do_not_zap_xserver.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-22_do_not_zap_xserver.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-25_less_acpi_brokenness.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-25_less_acpi_brokenness.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-25_less_acpi_brokenness.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.2-25_less_acpi_brokenness.patch From 2e1ade42c93b02762dae329b431d8cbb74a749d0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 29 May 2011 15:27:51 +0200 Subject: [PATCH 23/25] transmission: rework startscript Signed-off-by: Stephan Raue --- .../transmission/changelog.txt | 3 + .../service/downloadmanager/transmission/meta | 2 +- .../{start.sh => bin/transmission.service} | 62 ++----------------- .../transmission/source/default.py | 16 +---- 4 files changed, 9 insertions(+), 74 deletions(-) rename packages/addons/service/downloadmanager/transmission/source/{start.sh => bin/transmission.service} (72%) diff --git a/packages/addons/service/downloadmanager/transmission/changelog.txt b/packages/addons/service/downloadmanager/transmission/changelog.txt index df843f9e73..475dab6c3d 100644 --- a/packages/addons/service/downloadmanager/transmission/changelog.txt +++ b/packages/addons/service/downloadmanager/transmission/changelog.txt @@ -1,3 +1,6 @@ +0.99.5 +- simplyfing start scripts + 0.99.4 - fix paths diff --git a/packages/addons/service/downloadmanager/transmission/meta b/packages/addons/service/downloadmanager/transmission/meta index ef8d1d2ace..58b68d3e9a 100644 --- a/packages/addons/service/downloadmanager/transmission/meta +++ b/packages/addons/service/downloadmanager/transmission/meta @@ -20,7 +20,7 @@ PKG_NAME="transmission" PKG_VERSION="2.31" -PKG_REV="4" +PKG_REV="5" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://www.transmissionbt.com/" diff --git a/packages/addons/service/downloadmanager/transmission/source/start.sh b/packages/addons/service/downloadmanager/transmission/source/bin/transmission.service similarity index 72% rename from packages/addons/service/downloadmanager/transmission/source/start.sh rename to packages/addons/service/downloadmanager/transmission/source/bin/transmission.service index 77e05ad4f0..7c99fd7b9e 100755 --- a/packages/addons/service/downloadmanager/transmission/source/start.sh +++ b/packages/addons/service/downloadmanager/transmission/source/bin/transmission.service @@ -20,44 +20,11 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -XBMC_PID=$1 -APP=$2 -SCRIPT_DIR=$(dirname `readlink -f $0`) +ADDON_DIR="$HOME/.xbmc/addons/service.downloadmanager.transmission" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.downloadmanager.transmission" -PATH="${PATH}:${SCRIPT_DIR}/bin" -LOG_FILE="${ADDON_HOME}/service.log" +LOG_FILE="$ADDON_HOME/service.log" -cleanup() { - local EXIT_STATUS=$1 - if [ -n "${EXIT_STATUS}" ];then - EXIT_STATUS=0 - fi - kill -15 "${APP_PID}" - exit $EXIT_STATUS; -} - -# trap signals for clean shutdown - trap cleanup 1 2 3 15 - -launch_app() { - local PID - eval "${APP} ${TRANSMISSION_ARG} &>${LOG_FILE} &" - APP_PID=$! -} - -pid_is_running() { - local PID=${1} - for IPID in `ps -o pid | sed 's/[A-Za-z]//g' | sed 's/\ //g'`;do - if [ ${IPID} -eq ${PID} ];then - return 0 - fi - done - return 1 -} - -app_prep() { - -export TRANSMISSION_WEB_HOME="$SCRIPT_DIR/web" +export TRANSMISSION_WEB_HOME="$ADDON_DIR/web" mkdir -p $ADDON_HOME OPENELEC_SETTINGS="$ADDON_HOME/settings.xml" @@ -86,7 +53,6 @@ TRANSMISSION_ARG="$TRANSMISSION_ARG --watch-dir /storage/downloads/watch" TRANSMISSION_ARG="$TRANSMISSION_ARG -e /var/log/transmission.log" TRANSMISSION_ARG="$TRANSMISSION_ARG -g /storage/.cache/transmission" TRANSMISSION_ARG="$TRANSMISSION_ARG -a $TRANSMISSION_IP" -TRANSMISSION_ARG="$TRANSMISSION_ARG -f" if [ "$TRANSMISSION_AUTH" = "true" ]; then TRANSMISSION_ARG="$TRANSMISSION_ARG -t" @@ -96,24 +62,4 @@ else TRANSMISSION_ARG="$TRANSMISSION_ARG -T" fi -} - -main() { - app_prep - launch_app "${APP}" - pid_is_running "${XBMC_PID}" - XBMC_RUNNING=$? - pid_is_running "${APP_PID}" - APP_RUNNING=$? - - while [ $XBMC_RUNNING -eq 0 -a ${APP_RUNNING} -eq 0 ]; do - sleep 1 - pid_is_running "${XBMC_PID}" - XBMC_RUNNING=$? - pid_is_running "${APP_PID}" - APP_RUNNING=$? - done -} - -main -cleanup +transmission-daemon $TRANSMISSION_ARG &>$LOG_FILE diff --git a/packages/addons/service/downloadmanager/transmission/source/default.py b/packages/addons/service/downloadmanager/transmission/source/default.py index 5d7fa663d5..d56480efee 100644 --- a/packages/addons/service/downloadmanager/transmission/source/default.py +++ b/packages/addons/service/downloadmanager/transmission/source/default.py @@ -20,18 +20,4 @@ import xbmc, time, os, subprocess -dir = os.path.realpath(os.path.dirname(__file__)) -script = 'start.sh' - -launcher = os.path.join(dir, script) -app = '/storage/.xbmc/addons/service.downloadmanager.transmission/bin/transmission-daemon' - -os.chmod(launcher, 0755) -os.chmod(app, 0755) - -args = [launcher, str(os.getpid()), app] - -p = subprocess.Popen(args) -print p.pid -p.wait() -os.exit(1) +os.system("transmission.service") From 258ac994f99270ba68e770fcd421194938a53e5c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 29 May 2011 16:00:18 +0200 Subject: [PATCH 24/25] hts-tvheadend: rework startscript Signed-off-by: Stephan Raue --- .../multimedia/hts-tvheadend/changelog.txt | 5 +- .../service/multimedia/hts-tvheadend/meta | 2 +- .../{start.sh => bin/tvheadend.service} | 61 ++----------------- .../hts-tvheadend/source/default.py | 16 +---- 4 files changed, 10 insertions(+), 74 deletions(-) rename packages/addons/service/multimedia/hts-tvheadend/source/{start.sh => bin/tvheadend.service} (54%) diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt index b7c99839b8..c536c2d067 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt +++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt @@ -1,2 +1,5 @@ +0.99.2 +- rework start scripts + 0.99.1 -- initial version hts-tvheadend-90e3570 \ No newline at end of file +- initial version hts-tvheadend-90e3570 diff --git a/packages/addons/service/multimedia/hts-tvheadend/meta b/packages/addons/service/multimedia/hts-tvheadend/meta index b6192ae3a8..613d6795ca 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/meta +++ b/packages/addons/service/multimedia/hts-tvheadend/meta @@ -20,7 +20,7 @@ PKG_NAME="hts-tvheadend" PKG_VERSION="90e3570" -PKG_REV="1" +PKG_REV="2" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html" diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/start.sh b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service similarity index 54% rename from packages/addons/service/multimedia/hts-tvheadend/source/start.sh rename to packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service index c9e97d7869..ce5aa960b8 100755 --- a/packages/addons/service/multimedia/hts-tvheadend/source/start.sh +++ b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.service @@ -20,64 +20,11 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -XBMC_PID=$1 -APP=$2 -SCRIPT_DIR=$(dirname `readlink -f $0`) +ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.hts-tvheadend" ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend" -PATH="${PATH}:${SCRIPT_DIR}/bin" -LOG_FILE="${ADDON_HOME}/service.log" +LOG_FILE="$ADDON_HOME/service.log" -cleanup() { - local EXIT_STATUS=$1 - if [ -n "${EXIT_STATUS}" ];then - EXIT_STATUS=0 - fi - kill -15 "${APP_PID}" - exit $EXIT_STATUS; -} - -# trap signals for clean shutdown - trap cleanup 1 2 3 15 - -launch_app() { - local PID - eval "${APP} ${ARG} &>${LOG_FILE} &" - APP_PID=$! -} - -pid_is_running() { - local PID=${1} - for IPID in `ps -o pid | sed 's/[A-Za-z]//g' | sed 's/\ //g'`;do - if [ ${IPID} -eq ${PID} ];then - return 0 - fi - done - return 1 -} - -app_prep() { +TVHEADEND_ARG="-f -C -s -u root -g root -c $ADDON_HOME" mkdir -p $ADDON_HOME -ARG="-C -s -u root -g root -c $ADDON_HOME" - -} - -main() { - app_prep - launch_app "${APP}" - pid_is_running "${XBMC_PID}" - XBMC_RUNNING=$? - pid_is_running "${APP_PID}" - APP_RUNNING=$? - - while [ $XBMC_RUNNING -eq 0 -a ${APP_RUNNING} -eq 0 ]; do - sleep 1 - pid_is_running "${XBMC_PID}" - XBMC_RUNNING=$? - pid_is_running "${APP_PID}" - APP_RUNNING=$? - done -} - -main -cleanup + tvheadend $TVHEADEND_ARG &>$LOG_FILE diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/default.py b/packages/addons/service/multimedia/hts-tvheadend/source/default.py index 46f5973704..b386a8df08 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/source/default.py +++ b/packages/addons/service/multimedia/hts-tvheadend/source/default.py @@ -20,18 +20,4 @@ import xbmc, time, os, subprocess -dir = os.path.realpath(os.path.dirname(__file__)) -script = 'start.sh' - -launcher = os.path.join(dir, script) -app = '/storage/.xbmc/addons/service.multimedia.hts-tvheadend/bin/tvheadend' - -os.chmod(launcher, 0755) -os.chmod(app, 0755) - -args = [launcher, str(os.getpid()), app] - -p = subprocess.Popen(args) -print p.pid -p.wait() -os.exit(1) +os.system("tvheadend.service") From b0723a05cdd926f2beeedb20ffdfc138589e5297 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sun, 29 May 2011 18:54:01 +0200 Subject: [PATCH 25/25] new addon: add new addon 'libav' which provides ffmpeg Signed-off-by: Stephan Raue --- packages/addons/multimedia/libav/addon | 29 +++ packages/addons/multimedia/libav/build | 165 ++++++++++++++++++ .../addons/multimedia/libav/changelog.txt | 2 + .../addons/multimedia/libav/icon/icon.png | Bin 0 -> 6063 bytes packages/addons/multimedia/libav/meta | 47 +++++ .../addons/multimedia/libav/source/default.py | 23 +++ 6 files changed, 266 insertions(+) create mode 100755 packages/addons/multimedia/libav/addon create mode 100755 packages/addons/multimedia/libav/build create mode 100644 packages/addons/multimedia/libav/changelog.txt create mode 100644 packages/addons/multimedia/libav/icon/icon.png create mode 100644 packages/addons/multimedia/libav/meta create mode 100644 packages/addons/multimedia/libav/source/default.py diff --git a/packages/addons/multimedia/libav/addon b/packages/addons/multimedia/libav/addon new file mode 100755 index 0000000000..a5207a1972 --- /dev/null +++ b/packages/addons/multimedia/libav/addon @@ -0,0 +1,29 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/ffmpeg $ADDON_BUILD/$PKG_ADDON_ID/bin + +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/ffmpeg + cp $PKG_BUILD/ffpresets/* $ADDON_BUILD/$PKG_ADDON_ID/ffmpeg diff --git a/packages/addons/multimedia/libav/build b/packages/addons/multimedia/libav/build new file mode 100755 index 0000000000..ec0c03a928 --- /dev/null +++ b/packages/addons/multimedia/libav/build @@ -0,0 +1,165 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +# libav fails building with LTO support + strip_lto + +if [ "$VDPAU" = yes ]; then + FFMPEG_VDPAU="--enable-vdpau" +else + FFMPEG_VDPAU="--disable-vdpau" +fi + +if [ "$VAAPI" = yes ]; then + FFMPEG_VAAPI="--enable-vaapi" +else + FFMPEG_VAAPI="--disable-vaapi" +fi + +cd $PKG_BUILD/ +./configure --prefix=/storage/.xbmc/addons/lib.multimedia.$1 \ + --datadir=/storage/.xbmc/addons/lib.multimedia.$1/ffmpeg \ + --cpu=$TARGET_CPU \ + --arch=$TARGET_ARCH \ + --enable-cross-compile \ + --cross-prefix=$TARGET_PREFIX \ + --sysroot=$SYSROOT_PREFIX \ + --sysinclude="$SYSROOT_PREFIX/usr/include" \ + --target-os="linux" \ + --nm="$NM" \ + --ar="$AR" \ + --as="$CC" \ + --cc="$CC" \ + --ld="$CC" \ + --host-cc="$HOST_CC" \ + --host-cflags="$HOST_CFLAGS" \ + --host-ldflags="$HOST_LDFLAGS" \ + --host-libs="" \ + --extra-cflags="$CFLAGS" \ + --extra-ldflags="$LDFLAGS" \ + --extra-libs="" \ + --extra-version="" \ + --build-suffix="" \ + --enable-static \ + --disable-shared \ + --enable-gpl \ + --disable-version3 \ + --disable-nonfree \ + --enable-logging \ + --enable-doc \ + --enable-ffmpeg \ + --disable-ffplay \ + --disable-ffprobe \ + --disable-ffserver \ + --enable-avdevice \ + --enable-avcodec \ + --enable-avformat \ + --enable-swscale \ + --enable-postproc \ + --enable-avfilter \ + --enable-pthreads \ + --disable-w32threads \ + --disable-x11grab \ + --enable-network \ + --disable-gray \ + --enable-swscale-alpha \ + --enable-fastdiv \ + --enable-small \ + --enable-aandct \ + --enable-dct \ + --enable-fft \ + --enable-golomb \ + --enable-huffman \ + --enable-lpc \ + --enable-mdct \ + --enable-rdft \ + $FFMPEG_VAAPI \ + $FFMPEG_VDPAU \ + --disable-dxva2 \ + --enable-runtime-cpudetect \ + --disable-hardcoded-tables \ + --disable-memalign-hack \ + --enable-encoders \ + --enable-decoders \ + --enable-hwaccels \ + --enable-muxers \ + --enable-demuxers \ + --enable-parsers \ + --enable-bsfs \ + --enable-protocols \ + --enable-indevs \ + --enable-outdevs \ + --enable-filters \ + --disable-avisynth \ + --enable-bzlib \ + --disable-frei0r \ + --disable-libopencore-amrnb \ + --disable-libopencore-amrwb \ + --disable-libopencv \ + --disable-libdc1394 \ + --disable-libdirac \ + --disable-libfaac \ + --disable-libfreetype \ + --disable-libgsm \ + --disable-libmp3lame \ + --disable-libnut \ + --disable-libopenjpeg \ + --disable-librtmp \ + --disable-libschroedinger \ + --disable-libspeex \ + --disable-libtheora \ + --disable-libvo-aacenc \ + --disable-libvo-amrwbenc \ + --disable-libvorbis \ + --disable-libvpx \ + --disable-libx264 \ + --disable-libxavs \ + --disable-libxvid \ + --disable-mlib \ + --enable-zlib \ + --enable-asm \ + --disable-altivec \ + --enable-amd3dnow \ + --enable-amd3dnowext \ + --enable-mmx \ + --enable-mmx2 \ + --enable-sse \ + --enable-ssse3 \ + --disable-avx \ + --disable-armv5te \ + --disable-armv6 \ + --disable-armv6t2 \ + --disable-armvfp \ + --disable-iwmmxt \ + --disable-mmi \ + --disable-neon \ + --disable-vis \ + --enable-yasm \ + --disable-sram \ + --disable-symver \ + --disable-debug \ + --enable-optimizations \ + --disable-extra-warnings \ + +make diff --git a/packages/addons/multimedia/libav/changelog.txt b/packages/addons/multimedia/libav/changelog.txt new file mode 100644 index 0000000000..f9f2a03db2 --- /dev/null +++ b/packages/addons/multimedia/libav/changelog.txt @@ -0,0 +1,2 @@ +0.99.1 +- initial addon based on libav-0.7_beta2 diff --git a/packages/addons/multimedia/libav/icon/icon.png b/packages/addons/multimedia/libav/icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..55ca201e8c0402eb7c2437391263722295b5a544 GIT binary patch literal 6063 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