From: "Jim C. Brown" <jma5@umd.edu>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] vde-inject 0.0.1
Date: Thu, 9 Feb 2006 00:39:53 -0500 [thread overview]
Message-ID: <20060209053953.GA13800@jbrown.mylinuxbox.org> (raw)
In-Reply-To: <20060208231325.GA28610@jbrown.mylinuxbox.org>
[-- Attachment #1: Type: text/plain, Size: 918 bytes --]
Ok, I managed to fix my VDE issues and get this to work on eth0. Working sources
for vde-inject and vde_pcap_inject attached.
It will cause duplicate packets to occur, but otherwise appears stable.
You need libpcap installed. (According to my pcap.h, I have pcap 2.4 installed.)
Compile vde_pcap_inject with this command:
gcc -o vde_pcap_inject vde_pcap_inject.c -lpcap
Extract the bz2ball, cd into vde-inject and type 'make'. This will build the
module, which you can load via 'insmod vdeinject.ko'
Then load up the VDE network as so (running as root):
vde_switch -hub -daemon
chmod 666 /tmp/vde.ctl
./vde_pcap_inject eth0 /tmp/vde.ctl
This step will connect the VDE to eth0, creating a vmware like bridge.
You can now just run qemu apps with vdeq/vdeqemu normally, and they'll appear
to be running on your LAN.
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
[-- Attachment #2: vde_pcap_inject.c --]
[-- Type: text/plain, Size: 5947 bytes --]
/* Copyright (C) 2005-2006 Jim Brown
* Copyright (C) 2005 Henrik Nordstrom
*
* 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 of the License, 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 this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
*
* The VDE connection setup (open_vde) is loosely based on a similar
* functions in vdeq.c by Renzo Davoli
*/
#include <sys/socket.h>
#include <netpacket/packet.h>
#include <net/ethernet.h> /* the L2 protocols */
#include <sys/ioctl.h>
#include <fcntl.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <sys/un.h>
#include <errno.h>
#include <signal.h>
#include <linux/if_tun.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <pcap.h>
#define SWITCH_MAGIC 0xfeedface
#define BUFSIZE 2048
#define ETH_ALEN 6
#define PCAP_READ_TIMEOUT 1
enum request_type {
REQ_NEW_CONTROL
};
struct request_v3 {
uint32_t magic;
uint32_t version;
enum request_type type;
struct sockaddr_un sock;
};
static int
open_vde(char *name, int intno, int group)
{
int pid = getpid();
struct request_v3 req;
int fdctl;
int fddata;
struct sockaddr_un sock;
if ((fdctl = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit(1);
}
sock.sun_family = AF_UNIX;
snprintf(sock.sun_path, sizeof(sock.sun_path), "%s", name);
if (connect(fdctl, (struct sockaddr *) &sock, sizeof(sock))) {
perror("connect");
exit(1);
}
memset(&req, 0, sizeof(req));
req.magic = SWITCH_MAGIC;
req.version = 3;
// req.type = REQ_NEW_CONTROL + ((group > 0) ? ((geteuid() << 8) + group) << 8 : 0);
// req.type = REQ_NEW_CONTROL + (port << 8);
req.type = REQ_NEW_CONTROL + (10 << 8);
req.sock.sun_family = AF_UNIX;
sprintf(&req.sock.sun_path[1], "%5d-%2d", pid, intno);
if ((fddata = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) {
perror("socket");
exit(1);
}
if (bind(fddata, (struct sockaddr *) &req.sock, sizeof(req.sock)) < 0) {
perror("bind");
exit(1);
}
if (send(fdctl, &req, sizeof(req), 0) < 0) {
perror("send");
exit(1);
}
if (recv(fdctl, &sock, sizeof(struct sockaddr_un), 0) < 0) {
perror("recv");
exit(1);
}
if (connect(fddata, (struct sockaddr *) &sock, sizeof(struct sockaddr_un)) < 0) {
perror("connect");
exit(1);
}
/* note: fdctl is intentionally leaked. Closed on exit by the OS. */
return fddata;
}
void
set_nonblocking(int fd)
{
int fl = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, (fl | O_NONBLOCK));
}
void
pcap_relay(u_char *args, const struct pcap_pkthdr *header, const u_char * packet)
{
int * vde_socket = (int *)args;
send(*vde_socket, packet, header->len, 0);
}
static void
wrap_dispatch(fd_set * rfd, pcap_t * handle, int vde_socket)
{
int n;
if (FD_ISSET(pcap_get_selectable_fd(handle), rfd)) {
n = pcap_dispatch(handle, -1, pcap_relay, (u_char *)&vde_socket);
}
}
int pcap_sendpacket(pcap_t * handle, const u_char * packet, int len, const char * dev)
{
struct sockaddr_ll sa1;
struct ifreq ifr;
strncpy (ifr.ifr_name, dev, sizeof(ifr.ifr_name) - 1);
ifr.ifr_name[sizeof(ifr.ifr_name)-1] = '\0';
if (ioctl(pcap_fileno(handle), SIOCGIFINDEX, &ifr) == -1)
return -1;
memset(&sa1, 0, sizeof (sa1));
sa1.sll_family = AF_PACKET;
sa1.sll_ifindex = ifr.ifr_ifindex;
sa1.sll_protocol = htons(ETH_P_ALL);
if (sendto(pcap_fileno(handle), packet, len, 0, (struct sockaddr *)&sa1, sizeof(sa1)) == len)
{
return 0;
}
else
{
return -1;
}
}
int vde_inject_fd = -1;
static void
relay(fd_set * rfd, int vde_socket, pcap_t * handle, const char * dev)
{
int n;
char packet[65536];
union {
struct sockaddr_ll ll;
struct sockaddr_un un;
} sa;
socklen_t sa_len = sizeof(sa);
if (FD_ISSET(vde_socket, rfd)) {
n = recvfrom(vde_socket, packet, sizeof(packet), 0, (struct sockaddr *)&sa, &sa_len);
if (n > 0)
{
pcap_sendpacket(handle, packet, n, dev);
vde_inject_fd = open("/proc/vdeinject", O_WRONLY);
if (vde_inject_fd != -1)
{
write(vde_inject_fd, packet, n);
close(vde_inject_fd);
}
}
else if (n == 0)
exit(1);
else if (errno != EINTR) {
perror("recv:");
exit(1);
}
}
}
pcap_t * a;
void handle_cl(int signal)
{
printf("Caught signal %d, cleaning up ...\n", signal);
pcap_close(a);
exit(0);
}
int
main(int argc, char **argv)
{
int vde_socket;
pcap_t * handle;
char errbuf[PCAP_ERRBUF_SIZE];
const u_char * packet;
fd_set rfd;
int fds;
if (argc != 3) {
printf("Usage: %s interface vde_socket\n", argv[0]);
exit(1);
}
handle = pcap_open_live(argv[1], BUFSIZ, 1, PCAP_READ_TIMEOUT, errbuf);
if (handle == NULL)
{
printf("%s\n", errbuf);
exit(1);
}
vde_socket = open_vde(argv[2], 0, 0);
set_nonblocking(vde_socket);
a = handle;
signal(SIGINT, handle_cl);
fds = pcap_get_selectable_fd(handle);
if (vde_socket > fds)
fds = vde_socket;
fds += 1;
FD_ZERO(&rfd);
int i;
for (;;) {
int n;
FD_SET(pcap_get_selectable_fd(handle), &rfd);
FD_SET(vde_socket, &rfd);
n = select(fds, &rfd, NULL, NULL, NULL);
if (n > 0) {
wrap_dispatch(&rfd, handle, vde_socket);
relay(&rfd, vde_socket, handle, argv[1]);
} else if (n < 0 && errno != EINTR) {
perror("select:");
}
}
}
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: vde-inject.tbz --]
[-- Type: text/plain; charset=unknown-8bit, Size: 13427 bytes --]
BZh91AY&SY_äéí\0`ºÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿÿÿÿþLWüL_LMôUá\ýyïà@\0ú/d²¬V®³¾]Öbç&e\x1dW\x03\0\r\x14\0\0\0®çj\x1cÚµ\0 éTb(\x11B9\r\0\r\x03S°
\0\x15UAQ(£E@(\0\x19QB\x02(SL¨RRD\x04RR)P\x12P
BH%#\x11 \x03\x10i
"u \x1d±À1ð&Bfi©´\x18CQ\r4È&Òb'´G© jm5=M¤ÑM24ô4ÓILLM\x01é¨4ѧ¢10& é\x18ÔÓCh\x06§ M\x02\x10$Ó$ÚQú§¨zSCõFPh\04\0\0\0\x01 \r\x01 \0\0\0\0\0\0\0\0\0\0\x03@4h\x064d\x01A \x1a\x1a4È\x19\0\0\x19\x064\0d\0\x1ah2\x1ad12\r4h\x01£@\x19\0\0I¤\x10&B`JlOÒõ\x06\x06Ôd\r\04õ\r\x01£@Ñ h\x06È\0\x03@\0\0\0\0\0\x03!\x15OSÔ~¨\x1a\0\x06@\0\x03CA \0\0\0\0\x1a\x03@\f#!\0\0\0\0\0\0\0\0\0\0\x12"\b\x04\x02\x1a\x13\x12a\x011\x11©èSòd\x157¤µ5=Gê£FOIé¨4Ð0£@\0\0\0\x01¦\x03@\0\x03A§?HX\x18Ô\x1c°.\x1fÀ6æÔÂ5E`,Ƥ l\x12½¢çg\0ùò
ÅM"
ýøú«®lH¼ÊI,®G¤õ1ì|\x1c©) \x02(§+Èâ^[¿;¸íÌ"tÐÍÏà÷Þ\x0fyü¹¯:á¼äסtDXf`±ô\x10ê®)b¬s\x1dn$Ý\x06nNÃbì±¼%:êý\x04ñ ÷*\x04{ÓÃð<PlÁÌA@R?îà¡UI¼;Ïç¢]Ì¿bÖ§ä\x03Ô\x19¬HQ ?\x05!í¼c¦t@\x1aCÊïuÚíGÁû}¯^[3;³§c
©èx\x1c\x13QÒÉnN
ò5{®\v»;õçìû|ß
ÝÝñ\x12¨\x17üÁ^Ózÿ'LÍ\ax¤,ùÂ×´:\b'£ÏÛK{ÛmÌ5I@@áòúìiB)¬\ÜOµûÅa\0ØÚügº\ûù\x06j\x0f/_á\x18`o±û3Ô×yß\x19¢iÆNð.Rûý©:FK¯£=\vΣ¢ Å\x19DXyIÑ=Bôõ¡ÂK?Ú\x02b\x1c~!G*
\bÊ/ Í<¡Ãò\x14\x1eé\x02aϺA\x11\x10dòÊÒÔ Ô [(R¢65l\x01ie\x066Z«K-Â\bdqY\x10@}s\x02\x19?q\0ÄîØAedeàê\x19ÔF?L\x05i¤KlHø>>£Bü¿\b?ÖÑI\x7fáÈ#ó?\x1c)M#y\x10qãP\x7fÊ
[@i¤\x06¹B\\x7fB\x177øý°ZQ;m\x048ýåq\x12Ы6L\vV¤µi£ÇãÕ¬èSY73Â\bã\r²R0gÞd\x01Î\x02\0ðj\x1fm#~ûþm\x16YgÉÐ\x0e>\x13\b5ªTy¨M6¶\x10ÃÄD´*!\x18Ï;ñú"!칩àxÆ\fìP'c¤¡2d\0\x1a\x18I\x181%)d;xøXdti\f--FXBX \a`o4`\x18ÁAë[wG ;\x02 8 þ'(nn¾\x01"áÌ
tA\x10E'.Y\x1fEù'пçmõÛ>°Í{3 Ë\x1ep§RFñOøã\x11\x04\rÔ¶»ë|\fñ¼\x04\x16\x10äë Î^ÍòÒ³\x13Ò°¨$g\x0e\x14«\x01E0^[\vLn)Óös7\x1f¿9±Òù!b»m\x01ýøÑTVGrÔ\x1eÁë\a\x0fØ,ïh\x02\x04\ap´`h(Å5Þ_ EF¤ye\x01Ò¹H\x03\x064Ïé¶àe7sò&Ü"jÀ÷A'ø\a4î]4éBIïó"b\x12)6\vÛÂB{\x0f?ãfó÷ý\x7fmJMN¿gãËʾäå^[³dZ\x11+ØQÖ"\x1eY¥ø42ix±c\x18ê¿?¤\x11G\x1cx\r´4°9Þ 0!
2\x15\x06O\x0e0fGg\x05Ðh\b0²\0~\x107"\f"\x13"ò@DË\x0fÌ|d\x10á\x1e7«\x04>\x174<¿CËÖ;»½nW 4\x1d÷<\vÜ÷xA询Ò\r\x16Î"\aþ\x15\x04.ï\x11U<A\x16=D/ÕûÇ×\x04¤AvÛ\x03\x06;\x03øgGûXW\x0en6KÀZ§\x19!ß±"N
\v"!î\x14&èp=/zá~\aÞÉHô\x18B\x1a\x05¿ø^è Ä\x1dÍ 4\x18MСß<Ã!ÿÌ<~ÿ6³@\a{gÇ\x11\x14\x19÷Þ© è¢ ª|§6 ìyæ!é%㪮G·³Ì\x12²\x04½[{E/\x13*\x1c¤GTcתH'· p¬Jʱõ\x18ó\x10úüHEÿ¶\x1fÙÇ-ɸ®0\x11û']öleíþk/ÌÍ!!Nö@àÎ+vÙi@éë~R-âé_c¸RM¾Ö\x0f®§ÐSþWÒû<èÛyp¶\7®Rì
\a/NÐÙ/F\x10ýJÜ\x11\x11\x03\x1eå\x11ñÕÄÀ"¢*h¶
\x1d¢{\x13Å\a}&½öQûoV5z³zºg)KL»]£XX\x12õ§°Z§ÃŹg\x16?;Æí\x11Õ\x11<pæÖ>R1\x1c©Z®,»aa,æÜ4XE²Ë\f³óù¯\x17\x1f?I-LçÐ\\x02À¿\x06\x06\v9\x16>-õÜ&g^[ú*Ý}\x11TØ"?$áx;ÕÝ9
`@y²^[v(YCM6cîÅd5\x1e\a8
¼CSîÊ\x7f¨|OaÖ±K%E@õrg`gb{]`\v\x03õN'A0ôÌ'\x13rMaO\x12zsi®gÍ4\0i\x7fs$ÚÜ\x1a¿ó`wæe®\a\x1f¯&\x18ôð\0\x12\x0f I#îÌH\x12ûãMÈ@ò¼ã+åhó\x03ÑÔ=@ødÞ\x1eÑH)\x0efQÌkªSÚ¡$ú^«ô?¾ëZ\x05ÊfE\a×`æ¨÷p¾K\f\x1a\0ÕT¼¥]¢lY6K\fÅ,òE}ÆuÙÐ×û¨$ MÀ¦q\®o\x0eyII \v3\x12)½³ûy/w¼|\f\x18Úõw\x12|É\x1ePÙÀ>$<
\a>Í«É][°j\x17'3Ê1x5dXD\x179Oüù_îï{{©\x1c[
2B|ôÏú[Øo·ÆõÔnï§³.L¤¾Ö«Ü¡/Òî]>e\x0fi3Ä18Ðú8ù¾?4?ùsúýmÕé
½µ\x11ümÖ¤sÏ»EÖ.HUí§=¥\x1cè¾72æöåê)òáÇ-ò÷\x1e«>8¬=P\x10Û²|>y÷\x1c2_`Ë»wCÝÈ\x1a^[\x1a;\x1a\x12\x02\x0eDtÏ\x1e\aíÓèz4zw¥ÂÃþ$ã!9á\x01ÝT\x18òÓ\x04ºäXähÐýï"þÜ£m°\x1fYogF{0Ð\x03ÏKCÓYnèP rdeïOcrø¡¬x\x1e"\x10˺\f7g\¤³Î\x1d¹ú~§Ï\x1ff´`úâ}ÂÛlN0H°Q#\x11H¢D\x14A\x02#ç©VH,F(,U"0DH£\x12(Æ,HÛ\x10¡\x05F\x04c\x14 \x16\x03\x04\bFADdF
1F9e\x11\x14@`+\x18\x02\fY\x04\x18Ec \x10dRmâmÚàúCÉðf* Ëy¾Éä參`Ó.=±öÔø\fR"ÕÆ}Æs\x1có\x17Ã?é[M¬\x05\x15@½<k>#ê:å)ͧ{î!UkéSÓ\fÇ©\x154È\fMjîiß²ú=ûaq Ñ\x12¯ztìäÕ«\x06\MXÙ+g\x0e\x15#a`Äâ\x11h¿uÐYÑãBµTIG¯.1,\x19ÛcU6m\x1cõ
ÑÚ4Dw³ÕÓ6ÕÍôoÀò
\x1fk×tH×4Mð:,\x15)\x14Bwá£\x01\x0eD\x05@yvêí\x02æóU#\f»UÚUoßGÅ\x02\x12\r \x18ìè¥\x1aíÇ|XÐY¥×½s\m×|ÃÙzji5täUhYF`©Û-\x0f9åÎð;µ6\x108SÑ\rín\x0eÙ«!ÖüîöçvêÇtFQXML\x11¥\x12»pÎ)¹x$]\x05\x16Ϥe\x0f{7¿;Ó\x1cÚëNaÓnëVr¼lbèuo*(9¬ã=Ñ®>thû^ýÐ\x0f\r|D?OIkÈÞ\x04? q\x0e\x14sÒ¨/wwR¯z\x02ÚÃÊQ¿4ðõaeŬBã¹R\x02\x1e¢µ»\f¬%ÃkÔm5\vxJÅ\x12ý};®#¤`æÕ&
\a\x01еmaß\x14\0\x04¤$&!$e;ë\x15×\x0f^[RÑÒdÛÔý
\a« ÍFIJ7VBUÓ ªH
\x0fj¨\x15\b
\x16ER\Ъ\x10]6\x0eýýuLF:W@¥2ÎÊÉS¹ÖöÁݳ«ç\x06Ì
Ô\r³ü®Ö-Î\x14·
%G}S~cM¥\r\x194Â6Á\b\x04Ò²Þ^Á¹[\x18®²5¤fPZÁ5ÝÂ,!\x12¸e°¥Ýr{ñ¡DÚ»Íë.\x18¯k\fîçrcÁÞî\x11I\x14ël\a:<oKdl\v²£\x1a*BîÎh®CåQIF¢«§7ª`0jB1T *2ì^˹V²ú«+®ÐÛÄh^[Ò\x18ó4f\x14\x15:nd\x18da1>¥Òr\b«s4vev°EU
£)\x1aò
Ã:ÖA4Íݳ6q\x1du¨Q´ iåtë«ê¦áù\x01\x06MTg\x04°úEb<8qq\x11Ú®jp©UXcuåØùy®ûÁ^`©\x17hÃ'Jºâ÷*K÷KÔÄ70Hhñ(fDdAÓ¥TpF(\fMa¤m:x hC:
ñ¥:®*÷»cÁÃDÕ
-¹©Øah\x10Òd \x1d)ÉÊÍp\x02åYsÂò¨Y¶ÛV÷Ú\x12GÔlû%fèM( °7UTë)¶"\viPÞÝ¥\x14ú¢¶ÔÃ_«Íùp&\x11!EÍ\rRê&ì¤X£ 1ºµ÷³\x1aÕ\x02cr2\x18¶kyØ\x1dªÕË Î`4á\x1dó^[:»DÚ·¬5¤C»V\x10æºkÞ0Èn£fq(êîvÀ;\\fÑûwźÕMö¾,è\x12²£î¢
JË\r_+JÄc7â\x1f m«Ý©kJ\x10»ª]ÑAͰ%ÄfÕy] ~,Ó{qZIz4*èË07\v.\x18\x13áÚ·-)§m®8ET}¹.×~{;«\x05Ë.3X{B\x17M \x10l qQÊwê:L\x02yÏ\x0e
ZÓ06Ï\x03\b.\aféy«W"akÑÐ)\x06"Zp\x10ÑêÉ©´;°H¼{\x12Uù¹Û\x04ï¸Ƹ³ÖeË88l^ä^[Ö¼xã
'GÆ,2GMáv@\x19Ø¿\b\x1c«\x13Z̦Üë7±§m®´©4ÌYx¹RÙf^[<ý¿¦,,jè§]jto]¯®ÂK`¾c=\x0f7)Ö×ú£¹åÑ\x05ÀÔ\x16"
zÖ°øÈÀó\0è?L¤¢\x01ÇÍæÎU~kBBr!\0¿Pg°d
§ÿÈ®eý9ÿ^½>cÕèÛ-2ÿ\x05q%s²'.¤>\x01bmw\rK£Ó¥êb£hÔD~¸ÇDR\vN\x1c¦Î|/b¡\x13ÖîÂ\x0fºË$$.ϸ\x1f1ùùkP¸Ì8åþ³t\v¶\x16\f\x18C5\x10D\x12î\x15úXÎÕ»cXÀl
(LIJúúÒ³èLõ/×\x19a·m$e\7,F\x10¡~3\x14Òå\x05,YÖÛ>\x19\bg3ÀBb¸¡Yë$2îÔ/ïn>¾i~[8íHgn1ñfη£ê·\x1akrØö÷zhS,UcOT§óJkjçÙi<\x1em}\x05òyçz^\x15%¢|6çâÌϼS,¶_\x06_c8"/_\x14mx¤¯©\x01\x03¶Ë8\x12=M¼.í7ÄgÝæ \x12x\'{:[\vÙNDGÏ<«W_ÈWïg?¾aÌõBÑ80LJª¹\x1aÅM f!\¸a\x10't0\x1cy\b\f\b;|\x03¼HÔ\x18]\b.o\x03û(JFÓ\x06A8Åè@ئ!AȨÃ_¤Ê\,\bÙpJªYXÂõ¦;aÑBÂ"YÜçiD2|1»ò;21¯\x1aE\a·ÙUU H£b_äåÝéòO4ºúVoì\%*\x05R\x14Ä\a)\0ÊÁ»Eä³Õm¿\x15)zúþc¯_Î0>OÕ×ë\x1a¯ÐßP¥I&m¼ ¿qRÅ ÚUÜêxP&j\x06"iG\x1caÜ
\x01«(¬9$G)\x10QJ¥\x04ã#æ.o33211<\x12ZóiÞ\±õJ\x18\x05\x03SÈex\x18\x152,n:\x1dFǨÀÇS!ùoÝ
¬kZfS\x1eدaSB\x0eÓ§gwËt#°:\x14êÊnkÐ|
\x1c^[]I'q̱R0,r&¦\a*\x15¦<ý(S\x03´í7Tc[\x1dú\x16ª\x0eéìàXí*p\x19àhAs#©Øy48\x18\x1cÄËå¸/¡Pêw\x1cÍk>\x04
Á̶YãÓ 3â7Ì\x15³Ýðfs*2¦:\x18ð>\x02O*pægöaä\f©FA§i±[êÍor\x0e$\x19×\fgF_Ï\éðU\x1d©{\x17²·Pllcm¶Æ8Hô\x06&\v\x19[ó\x04E¾çâÁK÷åé\x1cÁrÉ*\x16åFÆ\vYL{8ó<Ê\b\0Ã!0A¥\x16E\x0eòNö|ô0\x13\x19î"\faàZ\x19$$-$¢ÂµªGÚK\x17U\eJEH
8(\x11F|abÅK\x15=$¼©\x1a]~¸Ï\a÷0õ\x11\x01\x15\fc b\x1eàj¼\b¥¡3v\x04Í"
,\x02
BÙÈÁc\v^[Zb3\x04
0ßy" MD\x106íhÁ0Dðo褨ÆlÄi\x04®0\x1c5\a´j\x063¿"È\x05\x05nd^ 1I2 cp¤Ènd\x05\x10Ï\x01KÑe9͵RD¦\x1d¼8àSE\x1ddH\x183\x12d(1>\x12 \M.Iqä<\x150à0¦^[\x14(ι©DØÑO$¦nÉ\x18ÊëÀ¡QêT%Í\v\x12_XÌ\x05\ÚA+,\x19!ºBR`öþñ_wwÌÄ/ ì!
\x01\x12ÀóÈxU$\x17i ìI\aó?Z\fR1?¯Y®Ìë\x0f@êòrs+P iTnÕ\b%¢Æl\x04\x04"O\x12H¢DáH°D6ÄÓl4Q\x15fY\x03w\x18ÁU"Á¥4ãÕD) \x02L=l×Ë\x15\0¨PÝC0YQ²\r!Ñ|1]u\x0få qÔáúã?1\x18-»>ùàfÿÚGce\x0eþgÎysê\x1dà0ÆU\x19å¾ èuÕ©Hg/
ª×""¹È4°Ã`¨\aå
p\x060]ínÛhV\r\x14±¦KZE4\x13/X(eeÝ©l³zh³o\x16âa¥*öm¢5\x10ºtí¿S\x0eëw³©¦[±Á#v£½ÂÌÏêýÉ1;\x0f®`
¼hYåÉî+ü`C\x03y °\vÀ6¼Ó\x11<J(æ«;Åø»müBÚ#/©³\fw\x10|¾è\x0f´33
Fþt8úãY¬ïæ!bnHäIUÁÀ<}Sß0Ã\x1c\x16!\aîËs\x03¼Ü
¿v>y\x14g
]\x11-Ñ\x18uõkð¦FÐ\x1c(z$
!~á¨,i\f\vè=l\x02æI_\ahM^jMÁ´¼ÚjMÏJ6ü#Fé¨+%17jT\x17~6ÕL50JìHcãpÔ£éI%\r\x11R¼lGêb\x13=wÒÊþùÀ9\x01|yzÞpçÀhÑ\x14f\x7fxOá>ê\x1aC^[m
\x7fWês=EW\x02Ü9¸\x1dÍÑÕ(ª"
uRépí\x02\x19iª\x19µäÕ\x18äKføÇ¶ª;h/@oâ>{J\vÔËÜ<°á¼\0:Ù \aVÐi\x13@F\x03ên\x10\x04¯\aØ6'¾5BE,\x035R´ÉØ
\x1886\b
oPqÅD,a¸Ç\x01^[P¬.^!Z\aüÔæk6³R\x1f¤ÅßR¦FÅ©GØ\v4Ó\x1eÙ+Ì\f\x06&0gòO\x03ûc,/ÞA¦¨üèz}þ³±x\x1ezcâ+¤tÉ\x12kÜzÊ\fþù®é\x19Ï}«â¨\x01W³¹\x1cÚ\x15yBcÌ(5.\x01×/\x06¼SìQ8^àÔÑÐóToì¥äåóSÒ\x1a= bvï<ÅÓ"\x1az®<ÊRrfg`tK+óÞɹ×YÙ\x14C=Ù+¸ò<\x05«DíE1°Ç-f*;¸hQ`Oà\x19ø¿mxìJlÜ\x1fY}âÞ\f.¶``\x18o¯AµX\0÷4\x0e\x14w3&\x18A.Ûc\x02©Æ\x182\x1ag\x1d)Ý'\x1el$1\x021&\x02í
\x1c^ÍjÆ\x13=\x15ã
¦\x0f×^\x13 oåBý
²¥NeNHÏÿS>c\x06Òö@7Ü\x0fÔ?Sìfs/\x1cßA¥\OhͬÚ\x14\x1d
Gä¼\a}¶KÙ(zhà¼\x18C\aqaC \x0f\x15l¨ªÐ\x1a´¿~q£@?D\x12¼99í7U\x19ß]\f\x0e+ î\x0e¥L=÷ÃÝ|\x1eÂ4¡¥c Â\2*aL\x17JÕ\vbqe ^[0\x18ÛFi*
\x05QeÙèÂ\x13ó|O\x0f4,\x121Aõ_xx&;4sÆo±åá\x15ñ6\rH,\x18|\x01\x0f_'UÀ_é"àÈ]c§aô]\x12ÆÞ]$'Ç4S§Ô,oh»\x01z2\x06l%â]àÚ¬ÈS!¹\x06¢ðG\x11.qÒÝÙQð¶}çhúͽ¥·1,\x127\x16\x15)³JDÇ¿¾g°ã3ÚV.3\x15DQ\b"ÁÖ¡`+°L±,<¨\x01¤!¡\x17xRÇ,\x1c°âÀc;{ÉcâfAÜ>7Ø¡Vâ¯^DøjHÀ2¡²a¢n\vÓ>Ê\x16/½«è¨Xf1\x0485ãq`ÆÓ^[|:)%\x1fI¸À\x06Òuÿ»MÃ3Sؼ¿¬\fEÀ0Ó¶ùfP-ls\x18íHüG¼óÜ\x179ó3éN\x1e'¾¿l@¸\fíÆ\x05Ô÷\x10©\x02ÀÑl¼NLø êKײI5a²ÔÕÀ᪴PÚÁ\\x1d\x04D\0×ÍÖà)Ñ\x1eAS/H\x1d0êÇ!+ìÚlà\x03·Àf×"W¯äßOøK,Îãï,J-ÅíÄ^[)¢\x0e**¿:yP¦pz\0á¢íPí«$\b8J»Î`4\ag\x11ÔÞ¹Hª+¡PG>!1Á=g<4põø\x06Ū´knNX\x1f;\x0e^v!É\x03õ¶¾@ðA¸°ÆÆÛyêRò\x14\x17>\x02üC^\x0eó%%ºßÅ\x18º¡U@6$xi C
0LûuÔlhþ\bð;Î;Íç\x0e®áø7Â\x0f\x1dë*~ö\x14\x0fÐYîÞÖ£#@÷=H9\a¨\f \x1fs(3\aQÆrÑõ\r"K=!k ÙXïãI7ø\x101\x1e8 |5'(LBÆ-´i\b>ëVÙ¤q#¤8õµ#\a(ÃÖzþÈÖ§Ú8\x1d&ÍL·0¯SóOYï±Rc¸·\`g\x0eZß\x0eøG¾¨@mp^\x02`ôÖïä^[d3ÜÓ\x12´G;§\vÚ«\x11Ds_Ò!¡/m\vq%¹RÅíxúÅ¡®Apâ½\x10Ì
\x1dZX&\x06Þ
\r+\b3/23¼.°3BØØÕBx«-BBºôÔ,ÐHÈM6ÆØ\x04eÈĨ\x18g&cHmvîRDv9ÌÑ%Xú\0vj^[Á\0jjqL\x03\x02\x13`i!÷l6\x11¡³x²)¢\vZMÀ¢¼ç¸Àf\x12pT}$n4æRoG0)\x19
Öܽ\x03SïEw¯ÀÕÂç\ak9$ñð1\x1a
Ü·6y£ö»A\v\x06É\bê\x13âøëËùÛ¥Íñ^[É\x05ÕfAÈ`6½\x1aä ´\x1d÷IHE©=lS
ìM ¡P\x061j§^[âF¥\x11J
²ÿÕ\x14_Ü)2ÄêhuÜ\x1eÍ0'RÈ2öÓ¤ \x194À8@Ø\v ç\aÆ\x14\x06<É8^[\x14H¨À²©\f\x05ì
©\b$\fQ94Y*\vÛnP&Ç`ò°»\x1e¯ÑÂAn\x0fcR¥g°Jb(U!!AZ
ì\x05ãºHü\x1cCÝm§EÁ2a-ïh«
2`j\x0e\x0eµº
«\0\a\v¦§CÅÖÎíÖ.¶*É\rëKQAj y'0srÂ;Ì6KÉ(°Ö¢\x1f\x15ºµ\r\x14Ý2Þ¸¢È^[M1°$¶ ®ïmPØoªþ\x02¡î0\x16ötxH]c\x191½9ÊP\fiK\x02\x0f& %¡w\bRé\x12H
ÓÔ(_#E\3/=T®\x14vbo´1\x16i\x190ýs\x03ï\x18jÇ2´ÿ(¹~ð:\x10ﬥ§q\x18`×(\x042$4jÈ\rØüóZÏ\x02\x1cóÇmh7a\vá©8ö¼G7T
ÈêÖ4 °D»¤¸YÂBB;êÍ5\x14»ØC\x1dé¼p]«jÆ:j±¤\x11º¥\r\aë¶ÅU᪠f¼ý¡rÞâ÷'æ D£°çìvãE¢f\x06\fÈ\x0663·B5ÙK\x03>\x1aîìHHX:{\x15$ä¢\x18ÛAg£\x06h\bÇ8\x02ÈÄ\x1dO|ø÷ðöa\x19\x19¤eòn°{\bàzN>ñ²É_!?4ÄT¹)G±ñkûR¦§¾!ö_2#:j»\x19Ä\x11$\x05ª>q3<#\x05\v1ï
Dª-l\x0e¤&8ËÉÂC£AÆkç:x\bÑ\x01je\x05+\x16ªàa\x06Q°\x02ûgÇäw-\x1c¹`6xîß·¯àì¾ëº|/ie0¦\x11\x15}× ®\fÆ/SÐÏ~e\x04Nx¥\x06CB\x05\0Yl3«ÔDå/`îªV©ê\x01\x02_eÙõ\x01¼´£8½Æw¥\x04ajÒìu\a½ª\fd¼\x10УaMf\0¸¦\x05V/¢öT\fôg)tLFÎ\x18Ej\x10\x10ln\ÌUi\x1aëdªÄ¶Ï;\vd¬U\x03'kh9£nÉQzºÂZá¦ÁI\x16Q¬2%rEÈEu-dQN\b\aÉ
±¾X-#\x12¼"\x02DL"\x1c4ÁQDCm·¾a\x199t¦*LF\x032{¶ô¸±eE!\x11wek)|DG\x04ël=\x1dtõ®2ØÀÆÍa\x11Ч g5\x05ÆÑl\x18c,ËÓæÞÃ.è%9\x11.\x1d\x10A$;\x14\x18X\x1d@i
\0Ã\x02áÜɱ\x16ªËRÐE
Á\#ÌÕW1\v#a$"NF¤X`K\v½ \x04\x12,;p°±¸ê'³úP\x17\x15\x06\x107äHF¢\x13HI\x15\x19#¥\r\x147àaðÔëLÙª 7ÆÛCOaq\x14\x18çÞ¨d%gÑf\x1f;\x19$\r#Ðø`Ð\x13ýMâ\x1dÜ´³((ØúAen\x18OóÇl\bM\x14®\a2h^[%\x02ªBo^[SÙÐ+±
ðT\x05\rU>uÈL\x17ªÕ0eq\ò
æÖrV`[\x19SEq,K%Ì*ö\x05^øyP\x01b;¼³XPÏMHÐÀí(^Õs \x1c\x10iB\x06J¦\x1eÆ7É\x01®u\b\x10\x13ç\x0e\x06\x01#ÀîK¶kK0\0I\x04:\x037ÀÁ"l3n} ál\x01¥÷M2Á\x05ÏÜ9Ö\x1d\x14V!KmP=5cª8\x19âoþM\x12¯Þ\x05Á\b;7\x1cDâ¶½_'ÝX
\x14"W\x1dñ½2 $]Ù\x01°o@g¦\x1aC\x18ã\x1dƹFâ¹ÜÄb|y¼Í\ae X¥¦\x16D-8\x05º¾Ï,iF<\E¦vî¾\x16L«\x1c\x1eTBÂ$j&T[\x17KÐß\x05¯BßÌ
\x1c°È¦6-\bn\x05P\x16IJ5BÖQ%üLj+
?2\x02æ. Ú1WÉ (\TºLª\x06
àÖäsÂOý~ÞÍ\x11\0W|íÆvýÓ@·½CyUr§<9g\x16pα\x13î\b1´#\x1eQz®Èf7óµ,í\`yá\x18Yc°lâ(L\x15\fE\x036àä}ü Cð\{Å\b\x1eA²Ä5©\vã;WÍý!$O\x05éÞaeãý{¸_ AlÍÄ;Îix'É%ÈÀÕ*\x11ÛîP\x15\x02¿\fѨX÷16\x03æ~SRfÁ\x1eo¼þôÏÑ|%±ßÉ1í0ÙÄù'\x12fÛdÁ4T*\bÅ,4L\x10QÝpfÆÇl¥PZSËíÒìE~ÏqÀK$`[ëæ`Y2Í\x03^,úÌÛÅé àò&+S
y'\x11"x²I ®PÝM÷)Öp< .
@
VW¹ú\x15¹rCWhî\x13!èb@\fÒ\x16\x11ÀËê^´+.MÅÎ0\x18\x18\x01ÔÁ¤\x7f`{\x01È¡ÄF'¼=ómbÒ\x02(I\x14É\x04\x14`\x18f\x12d^[\a °Ï\b\x14Bo{2CHd_r0\f\0c\x04Ærõ³V\x17Ù>-Æ&P-R\x02\x10` \a Ób\x10\x1eŰVD u7N=m¦tùE\x16\x1e\x1a2\x17gÚØø¨$D\fÙ¥\f,î+¡F6Ü-ÍHHM\x18G¤¦ÄáMdAM¦å\a5!àb$K']ÅÔ'¤H \x11I"öÈi
d\x01d\x0e\x12bj aRpQó)I ¡-ÝÀ¢#\f5dÜèìm!NI)¼Æ,8¢Â
RNf^[ü¥\x13\fÞ\a\x11\x1dÔw\a\x01\x18l3HndÉ&Ã\bl\bµ\x13ë\x06\
L¯`b\x17áéò\x18\x1a#©îG£\x1aù³ðPB^#\x19\0
\x1cÏ:z\x14'\x18 a
ñ3ÔÅÃêía°}ÙÂ6Whll\x11\x14Q`\b (q7\rsHhåá\x03n^½LÈÇÝ{«P§4\x111Få.oXp9º¦M*5¾·ß£è\x10\vGóö\x10}Ì\x13\x02\x1f/· \vRhêÆR\râI\vqȺ\\0\b\v\r%BJ÷ gÄV¾ÕNÎî© \v\x11T\x15\x10@x*"\x1aÔ±8\x1e :&2\bÑÌNït]¦©X"wm\x1d!\x10ÛG»«è\x1fºÝÙÈf|\x05Òdx\b"F B^#I"\x16æ^[ø>¦¢ö6o\x18Ë®]>Ͳg\x01®©ê<:Vós{7¢E;[;³\x17.mLám¥(\fµVzð>&¹®I\x1eô `\x1aä\a˺Ùã\x04u\x18ó{Ê´¥TJ\x03\x14\b\x13õàU
¼ï(U"Æ\x11Db±U\x01bªÈ0E¡\x15H7¸tvC\x0eÙJaà\x11\a\x03¿+\x16\bB\a
Ê\x1d!\x11öc\x18$a\bÁäK\x11"\x03\x03hrÎáÃs)*íÞ\x18Øï\x0e5H\x15»O©tD@±Æ\x13i¶Î]+XcTiAØ4JÔº\x03Òm¸\x03°Lß¶;`ÒË\x19\x1f*VLÃ\x13&F@H\fÂCÔSVØÈ!\x10¤pL´¥&3AcÀâlá='p Ä\rA"! "\x14ìõv¹Æ31,V( ¢R\f\f\EN+ È f(=¯7P&T\x1dèýZ`êmb\x06\x17^ho:J3dGÝJ{Ñò\x1c§MN·_A26ÔcV
b\x19Þ¾q|=·»nØaÚ\x13\x10lO"ÈÍR6$]\x0fî\rxo\x15Ï2çí³3;jé:ï(k¸Àò×^[sC\x19\x12\x13JÈw
ä.³Ídªl%v12èÑ1ÐjÙ4ÎA:IÈusór\x05\x12"=
±DöoÌÁ+²^[c[uÅ\x1f`Ñ(o\x03{AçËa+\x12¡\x1eGø\x1f\x05D[J\x03< *2ÂB|×X0 ìX\x02É\x14"\x11\x05\x02)\b AaÈDÝ\x12Çgfæ²qÐb+*]fBb1ìøt\x10ä\x1doRPÒ&â8ðY,Ë\vêPý\x1a'cp¦É\0H\vT ÝLT÷¿ ×èÕ³/XSC"Ö©úgMÛípæ33«E0Ö7va7´±w& Ý1Ë
Éw¦¹\bK\raå0ÛE\x12óÓ4&\x0f\x02à\fI\a2ã$bc<Ì&Å
C§{\fT"Ìñ`7ë*µ_'2\f\x0e\x06¦¤\x12`A£@Ú²Úæ6\x0eÕÁª¥fø\r1\0PmlX§Æ4@hµ(ód\x1d¤\x17ÏBí9(øHdANòZ\f ITªQbL,\x18@¿\bÏ1d\fG\x1a^[þÌ\0E\x02RÂÉ\rPF62Ã;JPÑcíP,\0b(]oÁ\v´\x1d
iÄ(Àq\x04·1\x1f8éL\väf]lXeöAp$]~Ïí~]øäȦâ\x01E\x18¶ïfMý+I±YtÆ1´m1 ¸%¥\v©»SLFI¬.,p¦\ÌÛ\baR\x16*ëÚIÇ j2\x1dtÝ"%D
eU¥\bÄO°/ÛÀ÷Ñ\x1cɲ»Ú0 \x19²gG<c«9æ£p! \x15HM+=\x03²D&\x02,Jm1lÁ\x14BéÔTÙÒ\b]q³Fg`ôF7Àk/w\x1c\v\x14±hþ Úxþà_5
ùe\x18ØÕ\x14ÜhÑ$µBÈaAËQdX\0Ä'A\x05bª\x15<\x1e¢MBkõ\x01Tq(¬CÄ?8f\x1fWÖe
\x06jÛ\x12âĽK2\x05Áö¼¾X¯rN9^[\x03\x1e¬\x14
V¸õ$9 HÄ6¡¨Ù6Q²V#20*´²®HÝC4`\x18\x10ÄÕÂO>mf\x06Ói`C\x14Q\aÍ,\x03E@¸
ð/\x16 ]ú¾\x13=\x04;\x0eÖuÊ\x18\x17G\x04Ý"ì \x15ø&Tï¾\x04vNÜÆÍoFÙ0Þ0hn%oUe{\x14É«\x14\x061ØÔ}EùÃo£;ºöÃXbÈ\bD:(D\x13¥9'[Ë 7\x0eð\rÄö@
\x1fG·3\x01h[4ÆÚB1\x1a\f
1¤ÒD!\x01ME\x1d>¾yo©ÝBÂŨ\x15kÜ\x12,%\x06ɱó\ro\v\x18e
âPDrP[¹ßqÌQ\x03\x04ÐÐØ\fb\x13K\bC^[h^[27ÀK\x03ÐKâË>*\x129àþL¡}óuÈ.H[¨-÷G=eÁ-âåõGÚwgj>@\x1c8ä-*\x06Ê\x04´\x068³±¸\x1f&Êzd®\x16§e\x06\x0e&
Áz¥lQbc
wyvÅÝ\r)¹IÍØC~\x0f5K¹^\x03ó\0,\x1a¦\x17¸Û\x1eAÄï
\x03o¡\x02ÚÄýbä\b\x0eï"SF^[KHlä\x02}G6rðáÖ<8\x1e´E\x15ª²#$ÕXøï"(¸ìv\b¨\x18,ZÙ¡t\x12"=xtÔ¥h²_J0UD«-\x7f·h\x01ÕD
ó²7kÛ´|ÆðÐù9@ÃÂåÜ\x17eBj\rP¿\x1e}ãbT'\x12Ïq+ä² ñrá
ØCgÈ\x1a\a&\x19-`ï8¦--03ÝlE)\x11q\x12*"_SR\x18Ôª2F\0b" N¤T\x1d
´O±\x10XbI7\fÚðì,#,¦ê2Á¿v»#æh0\v$îA\f{AWü\x13ô³í
NÙe \x14\v!È\x02Å\x105Ó\x0f^[´XsD·&ÚÑ\x1eQÈlv4'¹\x04X\b\x1a;\x0fL(\x17-B8\x16îK÷#GĤ¯ò^[\f07ÀRÒ6S\x0f\x0e\x12½1Ðë &\bå*b[`(\x16«QÙ²b\x1aÊÊP´Q¬²¶¡QH$2b«É×/\fÞlj@O\x14¤Ó&é:ã²l\b%p¨P³W©F6;%\x11üè
ä$"r\fUÝq\x13W\x13\v?hNV\x1dòÂA E@¢¬\x0eCgR\x12\x11 ¡Â\x14dY*^[\fÆ#
̦9ÒV\x18X^Øw\x03»Ôsa\x0eô
k¥Rîbå±C aï9\x01¡rC\x11( í/)øA\x19Ì[¡Cé
j7ü#qçç\x1c0c¸h»_M\x05eSÔVò·3 ÉE]WP$9\0¤\x04B\x0f\x04¡{\x02Ì\x06ÓAñ
ÀÃHf¡Ø5a\az9ûPß\x03!q\x16ó`\x02XlBP1 U'@\x0f4wC¢ÎÑ""\fU*¨Å"+\x10XYÓ!JÀè@ñ'/\x1e¾¡å
-ü½,]n9#Ðb q\x01ª*¨HÆâbKBL¹JËë\x12¶d.ÒÊè'\x13¶Ù¼;Äì\x1cE(\x1c@äPf×CJ\aß;÷Ûmì~Èâ\d`æ_Ç?ÐM
é'RÅIh\x166RäPc{L
g¥k4cYL7ؽ\x14;7zc269¢3vvÆe,r
Y<5¢ciÕ\aºµ\x16¤ÔÙØË]C-F\fPaa! S\x0e®ôµVÄ%âÁ¬qTTJÙ
3\x16Ó+1\x05\x16évet5º00
Ò¬¶,hKºÌ3Z!{¡Y×PÒ³[×\fÊNL¡¯ÞP¬\x10EÕdFÆgçVåÈ¿Ct¸[S«:õvÝ<AȲ8rJ\x0fß\x1e\x1c·4p\x0e;%ã*n\aSÔmÉÃ&¢!\x14¤\x02bq¹»M3Z3\x1dbi,Ùé{©³ MÉ h,òbùÓ5 ì\x16%\x122¤ª&XÜsì$`Ã]7¦IÀ
QÎ-P|\x03S&*\!n1!Ê?z×À¯FÚPÄX±OåS$ªânä·4C4$Èi6ù\x06g¬ÀXÀ\rþäõúÁÐM\x11Qb×G AÀ·scm\x0eÔ\v\x1cÊ¡\x1c[hÀÆäidá®" A#® G^[#\x13 ævª\bÐåpf\x011,¸²-\x12à\x0eiAÔù\x11ò-¡s²rBÌ.\x11°oò+ X607 ¥\âT£:
D\vqô^[# êÏitû·æÍ÷?ô;ê"¬î\x7f\ahŧ\x03¡'xùx\x1c\x17\0¡pFw\x19I\x0e\v\a\x10ý±ß6ï\b^[
íåCÎ\x06÷Uó
%ÌL;ïP·©!B-Q/Bi$=« (ó\x15+&
µ^ZJ;ÅAuJ»¸AêÃ(T¡"ð¢d®\x1d"*%Ã\x06hWË(\x034Ô<r\x03;T¹¥I\x19/
¯Â¤+ÚT8èEY2\v¿Ù\x0fÑ?`ÀÀY1·¬fåé\x06'ÄP¥0vT ÙÌ¡¸±¾q¡qçÈÞIZ\x18{K\x150ÔÊâ\x11AÌÅP\x12ö\x1f1Qpaa\x18¦ØÑ¨Ñ5NèùAð8\bÔðÐ.½NJðhàÄ\x17LFå)\x10\x11\x1eFªXË\bmQM$.¥(i;Ê¢%\x04\x16*TÇßKÑÆÑ«ÐµÖ¥²A{°é`ª¬Bc^@L\x17I$ÞD\bÈA\x10«Á£ßÞsC©¤ØIÄô\x16,,;ì*@¨\x15A@Y\b°\x05\x147Ó×o
,\x16[,á\bK8S1#®\i\x04bÀ\x14å;Àñ;\x104ÉÊwf!ÈC\x17\bfh9PÀaT^[V\x12\x13Êë#!\x16ax;\x1cqëï¹¾É[VÞW\x14S
©ÚÛ\f\x14¹h±LÛ2rb&ÚLh¦Z8»Z¸\x19Ædã@Ö*«\x16É\x15\x0e\af\x166Z¢!°Ù¶p@{Q^[´55 ¨TÞ,ÂÚ\x18\vbMÅì\x10cÀY\x05g´Ö¸à\x02àYj¤%\x01¤ 1#S·-Ãr\rN¹Z\r\x0eS¨óNGTt"\x03i^[Ü\fÌ\x146ûd%Pà.Fa\x01þ "û'i\b\x15Ø\bàx\x062Rsc\x0f\x1fôú ®@Äÿ6¤\x01\x0fE8 !\x01öÎ\x17ÕWk©ê\fÄc\x1a\x0eó ©¾#\x05;\x19Oqá\x1c\x04"Mèé×\x06Æ.ÀÞ5¿*ºä\x06\x1fCϾ\x05\r/Ò|ÁÁlíG\x1cLè[`Ù~M¤º1#yëÁ2àÒâL\x0e\x16âó\x05ÍÇMïa\x0f,jJï\x188P\DZ¼°v ü¤+äx\x10ï\x0e>Ī$÷Ð\x10l!iH +$åê\x02\x02_\x15¹1~A\x10[\x12+\ai7P|[8s×äþ4\f\x1aý»>ëKâi}ï½ÌüAùë2\x06\x06¹vÂ$z5ð4¶Dí\x1e#\x15\x17Ã(Ò¢=ê\x1eyÖ4²$U\x06\f\x1a\x19(²øHXä\þÓô.
=MJ\x11#',ÏÞ2\x17ÃéðàÒÜg¿)µî¢ì-~\x03>7¶\x06 Ù\x18Q0#\x12¦\fð¤\x04\b³÷´°^[M\x1fbùÊ4`6\x1aP^[
e¸4\x12\x16D êĵ\x1a^[^[\x05Ì<!^[±\x16\r-ãâá¶$1¯®\x13È6 B\x01r;ÏÉ\x03\x16ÈK\x10Ç\x10¦#gs;\x06\x124^[ê@Àþh¸\x1fG_ÁÆÄÖhÓí÷\x03&·¹©-:åL]ªL}\x10a\x05Õ\x1d´[Å!(\x12T\x152\x03ÔT\x12<ÈzÐ5¸aÃ4ñG3oµò^&^[;pC\aÒ-Z¢0½]\²
/
íx\ã(\x11
Lb³èëú>tÇfð^\bß\ÍìÉ\x02òhm$y4\f7\b;òIn9\x1a%A¡pAþÐõ\x1e$3R\x19ëH¨°\x05NÀ!\x02\x1aÔ껣8A?¯\x1a ~t
CÆ\x1cÚ9xCF)Æ$\x18`s¯\x12\x04â#°½7cQ$5\x03\x05!E;D¼$\vOª\x14íÎè@ÐTM¹Ï\x1cû#|([§`ºhÉI¸¡Ì\x16\a¼y$\x0f¾,\x18£
qm§ª^
6ôØCwÄvGÐp âjK
cè\x14tW\x18º\\x14ñJ¦ò#\x06ðþåÂ\x1eiæáQC|Uc\x18baMyda'>a\x05\x1cE\x14=²ÑÞ\x0eY8Ã\báB\x06dð\x05O ç9¢
|Ç$Ô\x10C`V\x18\x10\x11:ç%0Ðö
\x0e{cãÌÜCÆ=Î\x19á\x1f¶Y²\x01=¹\0ç)íÏq0\x05&\b\x1eàBO\x10\x0få\x10Ô$\x0f?pöà\x1fh$pâhÿ\x17rE8P_äéí
next prev parent reply other threads:[~2006-02-09 5:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-08 23:13 [Qemu-devel] vde-inject 0.0.0 Jim C. Brown
2006-02-09 5:39 ` Jim C. Brown [this message]
2006-02-09 18:23 ` Re: [Qemu-devel] vde-inject 0.0.1 Mulyadi Santosa
2006-02-10 5:34 ` Mulyadi Santosa
2006-02-10 17:09 ` Jim C. Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060209053953.GA13800@jbrown.mylinuxbox.org \
--to=jma5@umd.edu \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).