From owner-freebsd-net@FreeBSD.ORG Sun Mar 6 21:46:03 2005 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4F95616A4CE for ; Sun, 6 Mar 2005 21:46:03 +0000 (GMT) Received: from angryfist.fasttrackmonkey.com (angryfist.fasttrackmonkey.com [216.223.196.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FFE543D2D for ; Sun, 6 Mar 2005 21:45:58 +0000 (GMT) (envelope-from spork@fasttrackmonkey.com) Received: (qmail 40880 invoked by uid 2003); 6 Mar 2005 21:40:26 -0000 Received: from spork@fasttrackmonkey.com by angryfist.fasttrackmonkey.com by uid 1001 with qmail-scanner-1.20 (clamscan: 0.65. Clear:RC:1(216.220.116.154):. Processed in 22.891161 secs); 06 Mar 2005 21:40:26 -0000 Received: from unknown (HELO localhost) (216.220.116.154) by 0 with (DHE-RSA-AES256-SHA encrypted) SMTP; 6 Mar 2005 21:40:03 -0000 Date: Sun, 6 Mar 2005 16:45:30 -0500 (EST) From: Charles Sprickman X-X-Sender: spork@oof.local To: freebsd-net@freebsd.org In-Reply-To: <20050305024850.GA96307@wjv.com> Message-ID: References: <20050305024850.GA96307@wjv.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-121837636-1110145530=:5816" Subject: Re: FreeBSD 4.x and OS-X tcp performance X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2005 21:46:03 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-121837636-1110145530=:5816 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Fri, 4 Mar 2005, Bill Vermillion wrote: > "Ang utong ko ay sasabog sa sarap!" exclaimed Charles Sprickman > while reading this message on Fri, Mar 04, 2005 at 18:43 > and then responded with: > >> On Fri, 4 Mar 2005, Darcy Buskermolen wrote: > >>> On Friday 04 March 2005 14:34, Charles Sprickman wrote: >>>> Howdy, > >>>> Sorry to bring what seems like a simple issue up here. >>>> I had been blaming slow afp filesharing between my OS-X >>>> (10.3.8 and previous) and FreeBSD 4.x boxes on netatalk's >>>> afp implementation for some time. Not too long ago I got >>>> frustrated with this and tried smb and then ftp. On a simple >>>> 10/100 network, and even with just a crossover between two >>>> boxes it seems that any tcp transfer tops out at around >>>> 250KB/s. > >>>> On the same network using the same switch I can get near >>>> Oline-rate to an penBSD box and to another OS-X box. > >>>> If I use nfs and force udp as the transport, I *do* get near >>>> line-rate between OS-X and FBSD. > >>>> My 5.3 box is tanked at the moment, so I cannot tell if the >>>> problem happens there as well. I do have a full ADC account, >>>> so I will be testing with the latest Tiger preview shortly, >>>> and the ADC access does give me a decent bug reporting >>>> facility if the fault lies within the OS-X tcp stack. > >>>> I'm no tcpdump wizard, would anyone care to help me track this down? > >>> I'd start with ensureing your nic's media options are properly >>> set (I've seen this exact behavior during duplex mismatches) > >> Yep, I wouldn't have come here without checking all the basics. I should >> also add that given three machines in my standard config I get the >> following results which will also help rule out cabling/speed/duplex >> issues: > >> os-x <-> obsd - good >> os-x <-> fbsd - bad >> obsd <-> fbsd - good >> os-x <-> os-x - good > I do suspect duplex problems. He was connecting to one of our > Cicso switches and Cisco has some extensive docs on some > configuration problems. Part of it comes from when some vendors > decided to add their own features and violated standards. I'd really like to move past the duplex issues. I'm very very familiar with that and already chased my tail on that one here and in my many years of working at an ISP. I did a back-to-back test with speed/duplex locked and I get the same result. All the switch ports are running clean - no errors, which is something you'd normally see if autoneg failed. Plus if you look at the matrix above, you can see that every other combination in my "normal" config works. If there were a duplex problem, I would be seeing it either from OS-X <-> OBSD or FBSD <-> OBSD. It also probably wouldn't allow me to get really fast UDP NFS between the boxes. For fun I'm going to post a full tcpdump of an ftp session from one box to the other, maybe someone can spot something there? It's attached and bzip'd. It's a tcpdump of both hosts transferring a 1MB tarfile. Thanks! Charles > http://www.cisco.com/warp/public/473/46.html > > This is the link I saved from awhile back. I hope it is > still valid. > > But problems like this usually come from one side or the other not > properly responding to auto-negotiation as documented. When > auto-neg fails at least one side will go to half-duplex, and with > the other in fdx then you usually only see throughput of > about 10% of normal because of data being sent back on a line that > the fdx line thinks is clear to send upon. > Bill > > > -- > Bill Vermillion - bv @ wjv . com > --0-121837636-1110145530=:5816 Content-Type: APPLICATION/octet-stream; name="ftpdump.txt.bz2" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="ftpdump.txt.bz2" QlpoOTFBWSZTWaLfP+4As1DfgEAQQGV/9QUASAorb8zgYIX/PgAAPvAAAA9g dXgZklgGaFAI+CUkXOvgAAHgAPbuOAAABnrjgIDecAcDx7ycZtvrp8ihoBlr QaUMlvpyjvkDD7t66vt6Fad88O7dzfeb7eXZfbnEcih32cZL7zPjNfSvsbYB oNCgGgs2b5gfOB98SJ20buc2wkeqOWm7u1pwdy8YeC9h5A7bROYs3AKeu24c ewvnPT48G+ASLMWYHhsy3vd4re3FDg48Q4chQ91tRSe9zy9zc61srb3AeXu8 veDGBjve7iadHXuMbmFOTMt73veuu5lHBi8Z57Wp5ztzdUISuTaxTjMq5iwe MHvPItY5a0NJOByMZZUDBkAAFAF8AAAAAIACGITApSijQwjIMJoBpiAklSE0 jIMjCGJhqZvVSQKSoaAMhiNGmmGnkVImiU01AAaAABKfqVIqeKaUYAAAABEi ASVJMptJtQGhoaek3/L+X8ofzn+BjnmCEYoigH/IVVAP6ggCB/iKCgH/UP6/ 1/+iqoB/5EBEP/f+VMzMxta7Y4iMzG3baMzMxsRbaIzLcy1tEIJmW2t37vPC IHCPGZnbaNu1tl07M6SBOLbQmtogiIcNS0Ii204JFtoiUttERa2gc21ttTI7 W0pmREbaHIdzUaq0dbacJCCCDiIiINtmRJFERFutiIjMzO22ZJEEeMvNonDT LbOS7pyHcluttrcQW2883i3bEERuZxEREEREblhxFutr1W0ERebRBmRq2Ddz OIcl3S1rca1qlMyNrREW24iIjNCIzI4iIiCIi1tnZEREEKRpkJESkq5W1q0i 0g2tEEW24iIgiJWBDLJxVGCQtaMEYE6MWCQkECVBI/oP67v95/pNUq/sasf1 /nEQq3UrlFtXS/tVO+bbSn/tnlOzVu+5TzZbOd1OKm+oiy8wJpXUbgvnlnkO 0bavqMnlcmmru3QrBYVZyF0sluq5VLybVFytkar2VupIY8TvnKU72BUsGGNT VMbUzi23MzXS53ss5lA6qSrVVbYmw6vAazg+S6t28zbGPBzGPsvOqlLnB2as nLuaNG09obudSPEF6rmt5WsWXxV4MVyqpVu1TvT2a1fa0aKxpzWYevrG9L3H iHScI6swcsnOpTvNzg7eqnk6qVTKneczr6uluVU4eE0w5TWWr68dzSUzyvdt 5NtSKnKvJkxWVU1mnKbsV0jls712KWXVrLmqyqlNclrnr0POM07zeKvsycCw Il3jvZONaUZm6GHNHK1t3S5c6s83SusRrqT2cSlqlUtVWlrMeB71dMhvKeFd zTq115zu1LlHDM1yT2aeBXQpYJaRczyO6ry7SkzuzqZfJauq1t3M1fbO9NOu 3qGi0F1O7xI8a5UtxyzTUpXdsXSpctmtqUtx90OZGvg9kIq1Jm8eyF29VHqo WC85JS1lGrw8+28SXDsu7aq6T5HDnXrqdNY8vNN5SO0D1J0qKb13tvbmw9aq rtZlcljzFc4pPU8XYlz2xm1TvbPUp1XVzODOtUpIUjRmCcYx9J2+fQji7lKp uqWbyJsjqVK5oLlNUrxjNxTOXTxzTqszA6kVKzm70kjRpxhU8xmZF1NmNAAA JPfn4yRZmZmZmK/2/VlEQqIxThgRUXqNYCgwiIRihFeisBjFQQiqqxVgRWAx iIjHht5LIsgRYxQYCvApBBT/Es2ZZEOVgwWcCsgKx5YoBRJeWKvQIrAeiEBg LGK8EVkDlg16y9rOlsDgjKtp555eOWaC201DHa26LljDNqrBHoryocqIyK8r wW1rbM1RZTW8Wd5v833/bd+RX/1OECNiP9BLERII/4Av8lX+g/zUDqf0V3uA KRF2AGxLsgAkBbBCqgiMVaEC1C7IKJEWxAsC7IgpEW1WwbsgCpFW1AtUNqu1 c5iCkBcqOUC7IIpEW0AsC7IKpAAtQLEuyIhBUk0n8J+j+CwIrwLHlCKsBYxT v2b1WByx4OioUktYMP3jLSKh2xuLbG2jtsbaK27XFtuK20bbmborY3atqLdW 3Hbu5SEwkCEOCxZ+6yXl4OisYoj3KDwdGKEis4JFYrwj3csaZuOtt0dbaK21 tumbrbRbbi20VtuO21JbajbR22ZkF6CM4QHgmtvBIrPf8T+P4n7sh2P5WxYI /qAGlAilIJQLEQirFEgxIoEESJIr/hBXKowAIgEE3BX+QgwEIK8oANoLBAgq RQj/OlXaiwQIowDsVdorFWAsB/nEA2CsUCKhFQiIxVgARX0RdgjFGAhECepV 2osQCKsA9BA2ABFAgrBPRAN6gIUFP36fxVEgVVAQlVQzR22i23cW2pm21M1H W27ddbUW2k7ut2js5NQzQgBGKH7VpAV5WKwHhEIqI1tGNszG2WRja1tjttM3 baLuu66tsyLbcWtrbaZmRra2xbaMyc22NszMgzNu0KuYTlAmtp2tuJ5RArLI SxVBUtbwkYJAisQaZa2iItFta2ttmQQtsttF+O3a8mW2tbW2glDHbRHGmpm7 umWmdnW7WhLXbRjY3TLbRBEW62jttGo20bZkm2jMzMzJbRpkW2zNtjbMxslt uc3bRmRBa1a1a7rScmWlblqY2kL8L5ndXddX26n9fxQ/YGm2Q221l21rQuta moG1aWrrdkC1zltLcW1Mu/t8xVi58taXarqBqq22Va7ZMtutKuslu5ya2gAQ Vku21jS5mVmXM0XKxBrTUuSN1QAt1cqbuxqrcMGLS5WYLreK5baACEt2rTdZ lG1jcy7d1MbVZd03BdZLxxeW2gC3VLglpaG1dShtjOtzrcGraaWslxbdtttg Y7W3KlNS4trgXYpusVjBci7vN20ANZrm3Cm2rgobV1LqrbnZ2Syrc8xkuc1M 3NAubsG7Ntq63JmuzpuqMXbkrk22gAczLuzLWtrm3KYq1ubboGst25am8zaG 222XTOtsEcYNVDUNq7aoOtXNJavLbtttts4dyTUNsjg2MoADWltdaO1dRxXm 2XbbYFxc2lt3bdzcyoAbyf1znOySQVoQEQ/hQ/yFf7KqoB8RVQQijIgoSKyI osjIqSIkiMFxVx13EXdwURdx3XcVDIIJIsIAwjIogX/TP73C4Zn/DVa/riK/ G/4XbszPDnx6re83rWbKR7M57Xd1W5SrSmo7K5YHtJ0cGq0rXS+FzcZOqsyq 7eNZk1oL43I19VHqZyziObVrppV1U6p2czBlPenR27yq29mu3s0br7KzQd5Z fTzu1mjErOvG75mb23aF7zRnHlhLMeO70dWaKdabpCusVvXhCF8j14MGHrNE bjpA3QrZqs5zimpRU7o6Z3qmhK0obXY+OG763mLdzXfKKzarceu9yM5T2DjV OraqeEmjbw1W9V53cdxrtvdmsciZlOZ4NWzWm2MnazTU6zjFcCJ7CskVW5kl JWQ6NSgkr16b1adzXSWaauqG12zl7b2Us7Te3bvH2msyTyzHq3M0TndiUOuw ZQky0H3dKLrdmbxiimxPK8XWeII7rFzd5eC0jePB27ZySewzXW7yxmGyCLyp zArmzmF0L6avNRnKvVKvb07gRxu85C7rJaGA0SlC27mcrpSeLcu9d46t4xk3 WZMoLC67pq5EmwbxXO5qGPcD16Tyyn3XdbNShRvX28lu3HY4uzM7w3hoqjgO O8Mq7e5IvltvK7EuV8bqsxX2dJ/6CABAgDKnhhe7Unw2IANmBKIsVJklJpTM gywgXVhddUsx1bHoRHoXSrNd2qdezL0cyXtyt5GJLZcDdsjVTcnE1NpilUmt bxM1m1KU25JcuudborLdoTTQW3NwxvEIhsldYZgFjY7NUq3VdWZmtvvyNgzy vlURzNdhlIiQgebyzy+aoN2sKxYNsSWtC6gdYa+eTyxMt8hbcjpcSzFAW7eD ZnxEghZgmHTLW4LjI2ePlmnhKGzBzm6a6zazEuQtjRmyeZ8BisPPEwWEdWUz 22xZG2PDrptFLa2MLahvNfIszREsKETwMwxo7qsK264zbNfK7yp41mZNXWWy iLo27tli6cbNy7rO47rpmlR1cndF1Lnt9c3N5VTuCxd2cbCgoJiQ3Mlku7q7 JdS3GPxWCzlbwGoqv0RVALiyT4/PZJ6PAgv0MT6qZvDrZkjkLoTLtxSXrR2d lidZpHESUNGNsOxNLwF6zXZCpK7aTK8Vnv17mS+/d89+3gAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAABbq0bhQAAAAAAAAAAAAu6pdaoAAAAAAAAAAAXWr d1W7oAAAAAAAAAAAAAAW2gQAAAAAAAAAAAAC3Vo3dAAAAAAAAAAAAAXWqW2s wAAAAAAAAAAAAAttGmgAAAAAAAAAAAALuq3CgAAAAAAAAAAAALdWriaAAAAA AAAAAAAAutUttZgAH+0OgAAAAAAAAALdWjd0AAAAB+9bPm+b169d3rE0f2BA ED/EEAQP3wqghnvO3LxV/Yr14s+muZ4YA/oCAIECAICB9d1d1V91XVdV9Vxx yRxEchIEhJJJIgvZrgIAgfngIAhPuQT0nrwHRzWCsuNmheLiit2oOzMMrrTN Fuc5LK5pbXXVbjKtqNxqt2q7AtTNTa7W7XbUAG3UUYYpjbbtWrjWl2rVxrS7 d2sMo2rTC6FXUtu2i2twxaq2twxbt1W4YtVabotpba3DFqttVrVqra3Bto2l 0xaq2twxarbVwxarbVwxStpqm2ltrcMWqtqK26LbjcMWqtrWtW662lpWttpa VrbbbW0ddjUu2uVaqjtkutbttrXW7Gw1FttbbatSigttlTa7ClUzZRVqCRBY qmHLWNXZMqWtRtLrrqprSoU1pY2uDaXGdtVtttztm5dLtsq2BbjDmy1cFrlu y7bZlLWXXbZW1aFbagAEkkk/+CAoBrQIAgfgDoiNwna/FOpnWqpTTZqnVMml RoKjJaapBss02UE3UySW6psOpQqg6dMUnJVBNyW7u1u963b113cbXd1c6d73 cV107b3t1W3p29297lVu7vda1ve0Hbe9dt7Xeu3t2972t6673t6apXe973Xc 7ve3tod7d73e2rbet03t67oXvbve73p0Ve1rWtqu9L297d3uWne297e2u23s y9MptG6XVXV723e9Zt72u3Mve96Xt1e7pe2u23sy29tW0zAtrddbjWu3re1u aruddzXe93O7dyqO3dG6XaZdG63NsULdXLpVt2cmqXQdsZ1rnW4LUbhu2Xaj o1MXYW4aOu0HGstsLs3TW0dWrbG1raCZadWkQdaFohrSuXXbKDpbnOubVbdn Zw5Wjq6ldU1tK6265sVut1zqU0pY2pAUeWJGtCtsa2ozLbCW1ttmkkcicCSC cBAQkEiQhJdEIiABwRRykCCj/mCAIHBA/sCAIGdd5P2PYxf1/D7FlPNFnWkM yddYVdXefiaw1eac1cdL5Tcmhht0eGzubJfJc9lmJNmnbRJvSZBDArBWABFW KsQCIsVYIEADIAncCY7q7sosuzuLorEl3csBXaU2tobGgo6Lbtm50j1OhRYc 3dm3SWO3VpdHo7Jptt2rtwRZSzXVLtbrrQ2qOgUYP17cDhAAgQB/TJoE3dia x+dTJvprfa7o7IqRmqm91qkGqG9xFHu3OYvCBR1lAipFEq7x/0T0D/AOB/UE AQMoAm1QQZPn1BPs/W9v3vWqHmptjGEFHYS3z2h+/PYt1fcHMpeZ9DCmbCdx HTVzPVt77hshsVoJShdve1t56ti7OhwoRdRoYJEMr6JCMjW7CQA9BHYuBBIA VhWgEbn3sZDUCps9uyRzHJDZPFVuEN2crZDO17Tw4pMzeychkkjkqomTRbz3 d3HyPpD4GqSfB7u7nt321O23Yao7b9q4iBhgrfcybm9zczctmrZkszNzQAEA AAAAeSfWS8+7595sT4+ZJFlkmYL0OsB0V0Ic6ER5Tg8GesZHOK0oARdbO6bu aNRcZHX25dKb3a7NrTIsMi3d7u5t9d11ggYU6MjlGgwanbSylMzIwUzAQAVg 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 TEERpkYdydn2Xm9M1fq2fCozQd6p9uahuI5Ql/qU4MnrvGLnDJgmKkIESlKD ICMy3GpksubmXQALbQAACIiIj9J8IKm++Rn0+w18Q1Vso0IIOJLyFixJ56Wq RBFsw9OCzTlw0W1WsHxXqnBJ90exbzWIHYPUwnjSrZcR6pdRkTPC8GEQR5m9 7MzLeuG8vFcQtEz7h4rbdxrT0tUsCGCv5ne73uoLLarAfzM/k/eu5Ou7r0RE Q4REROkREQ5AIAOqe/wu7vt578+m6W53QXqq51HrqswVXGnlZxsUDbrQZzU9 Yrt3MuUSbFbPHpHaVgw0+d9OHLzmM4KMTfcpMoKUiKIcK5O42TZzfc4zcyFU 06qemRVyKXbtzty57ubYvQT00Mu1SY7XSVG659pAkS62mzV7qVsduSdMzGxX HM6yKsJteVwhbZdrU5q7TK2NMcWZl11G4Nm83XWONhY7YlprTKYFzM9tev1D ZDXxm7Jublu5thc20AAAAAAAAAAAAEAAAAAAAAAoUAChQAKFAAoUACsAAAYm XMuv5FACQBqNdooTsiABAgDpQzxqb/GxoTgYo8HGP+L11xwAH2nlD0IIFuyT 9QohxUgUvam4OUzg9bL2trMq6fTM73hvKjYNVWRe1qtmY3hGoJMrGuSxC7Gj wFWjIe1Kmzw0Jnv0zT8dJAAJPcmSutlBSozb55kQh6H2wFGDwuhb+nkbB9cq qD4G20xjSt9HqFGdyFs01bVdd54ZZYaNu7uLvc11E7yawODhWZPtDVJY2PGQ UYC56AwetNTeCbqCyKTv46YFFd2CS8Yg7yL4dzXxkUCjICauS1BmJCggm24K q/CdFDUkY3YCCgb9PJ5Vmpq73vR8Sa8BsKBlV7drYftGsE3K5YqBo0usyKhq wYzObwxWhcfNFrQ/eoKxCCgSEZF3HTBuz4YBj0O2rMCxq9+gIAJAARk+zvl3 vDmivrr5DrgT+dv1573eDmUN+2szuDw9N1TLnbfXbLO5nqeZhm025d+9RM3u 3oAAAAAAPz16+c9uXbs9fr8mevXZk2vOL6HexhI3wpqcWsM5lYFkFhK0bmrQ nNAdFkEEggZtRsSYAxBLomepCAtLDxyup6C91YKu/HeQrgsF3exk93vMIGjl 68mfb+5+k9fZ87337160BgpmAgBVVVOjMzMgli89ixt32ByO8bfmoHlg+m51 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 wksOB0nCzMzu+3d0Wq5uCkv8nFoCvmAcI1TfJXb/HK7hHncQ3oiRS2ElYYfB PYZIcsFWsy/yZOefy+8/EAFYAaaAwUCAIEAFYAaaAwUCYKBAECAPveu50Bpo DH9KdggAIA/d67nQGmgMFAgj+piA5KAQgqgh/WaEaioI1FGoipIJIkgiDIIF xRAhRdFSZJmZkyTM3dvyf0+f7ASsAEAFYAaaCswUCAAgArADTQGCgTTQCACs ANNAYKBAAQAVgBpoDBRgmUoCACsGmmmgMFAhABABWAGmgMFA4gAQAVgBpoDE JYBAAR+DpWAGmgMFAiABABWAGmwBgoEABABR+73ud6BpoDBTkzAgBvDYAKzJ I9d671V1oZ873uOl5ySTkboSpOScwGckk5BYLzknJGBUz13ve9zkkk4NrX5J JOTud71gobJyTkJoJJJOQaTc5yQUXnJJyG4Hmc5JOT15555vW4xo5rWtamwQ BAyqiZzjOFQMYxgrGN00Hmck73vQVn7ve96NNAYKBAAQGmqwA00BgoHMIlGm oAKwA00BgoEABABWAGmgMFA4FYCIAVgBpoDBQIeT355554EAFYAaaAmCgRAA gArADTQGCgQAEAFYAjUTQGf1BAEDfrrF8mzvG5JJDMkmM6MlSTLmPcSRJERB ERERERERER7yIiJL2gCJIIkiAiICIgn0SRAESEESRIRARPhAiCJIhIgIiAiU iInpIl1dfKq+++6+uEkQQEQRERERERERERE+IiIiIiIhyAEAd3fHzeuq69ER ERERERAoDrnm+SAhBEQQRERERERERERETyIiIiIIiHIIiIciAAd4Drnzer45 CRERERERERERERERERE9xEoRERKQAgI6719Xr4EJEEREREREREREREREREe8 hInCIiJSAQBd3rXmAJEkERERERERERERERERNEQRDkEREORIgAOQO7u6+CIi JSIiIciEAFV9Xq+eQkEEERERBERERERER7yIiIiIiJyIcgAHp3c+r18iEiCI iCIiIiIiIiIiIiJ7iIiIAiIcgEAXd687wAkSREREREREREREREREREO7qt8X nwISIIiIiIkJCQkYpPAgCB/MEAQIn+gIAgQP+MUEEDCJ0FQZEAFGQgFCACB/ 6D/8CAIH+YIAgf2D/UQAQP8gQBA/2DACAIH/YEAQLEDgIAgbBAED+4IAgdEA ED/QEAQOh/cEAQNggCBAQBA/uCAIH+4IAgYBAED/YLBAEDAIAgf7WhIIiISD IqArAEBAwCAIHAQBA/3BAED+QIAgeBQBA/CqoBQIAgRXgKAIEUIKqgH8w+BA ED+AyH+oIAgYBAED4EAQP7iqoB/uIH9AQBAsP6iqoB+BAEDYIF1X/hdyRThQ kKLfP+4= --0-121837636-1110145530=:5816--