From owner-freebsd-bugs@FreeBSD.ORG Sun Apr 3 09:00:16 2005 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 365B716A4CE for ; Sun, 3 Apr 2005 09:00:16 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id EE9F243D2D for ; Sun, 3 Apr 2005 09:00:15 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j3390FYj077277 for ; Sun, 3 Apr 2005 09:00:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j3390FNK077267; Sun, 3 Apr 2005 09:00:15 GMT (envelope-from gnats) Resent-Date: Sun, 3 Apr 2005 09:00:15 GMT Resent-Message-Id: <200504030900.j3390FNK077267@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Jukka Ukkonen Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D643016A4D3 for ; Sun, 3 Apr 2005 08:52:17 +0000 (GMT) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9C19743D48 for ; Sun, 3 Apr 2005 08:52:17 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id j338qHZs020942 for ; Sun, 3 Apr 2005 08:52:17 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id j338qHIV020941; Sun, 3 Apr 2005 08:52:17 GMT (envelope-from nobody) Message-Id: <200504030852.j338qHIV020941@www.freebsd.org> Date: Sun, 3 Apr 2005 08:52:17 GMT From: Jukka Ukkonen To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Subject: misc/79498: sndfile-play (and many other players) cut playback a little before the end of the sound sample X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Apr 2005 09:00:16 -0000 >Number: 79498 >Category: misc >Synopsis: sndfile-play (and many other players) cut playback a little before the end of the sound sample >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 03 09:00:15 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Jukka Ukkonen >Release: 4.11-STABLE >Organization: >Environment: FreeBSD mjolnir 4.11-STABLE FreeBSD 4.11-STABLE #3: Tue Mar 29 12:08:01 EEST 2005 root@mjolnir:/usr/obj/home/src/sys/Mjolnir i386 >Description: sndfile-play (among many other sound file players) cuts playback a moment before the actual end of the playback. Since the problem is shared between many sound file programs, it is probably a problem in the implementation of /dev/dsp. Sometimes when using huge buffer sizes the playback works all the way to the end of the sample, but as a side effect become also very irritatingly long delays both before and after the playback. The symptoms make one suspect that assumptions which work with programs written originally for the Linux OSS/voxware API do not quite match the bahaviour of the FreeBSD pcm implementation. There might be different defaults for some controls or sizes. Since the FreeBSD pcm API and ioctl()s are practically undocumented, it is very hard to start tracking the roots of the problem. Patching ported programs to properly handle different defaults etc. becomes pointless unless one knows the assumptions made by the environment. >How-To-Repeat: Try e.g. sndfile-play on various .wav and .au files. Very soon one should start to notice that some files playback gets cut a moment before the actual end of the sample. Find one such sample attached below as a b64 encoded .au file. You should hear only "Thank you for your co-op" or "Thank you for your co-opera" instead of the full length "Thank you for your co-operation." LnNuZAAAACAAADqnAAAAAQAAH0AAAAABAAAAAAAAAADd6ub7amRdafXh2NXS0tLU3e9gTkQ9 Ozw+P0E/PTs8Pj9GTVRia3z++N/WzsrLzNDT2NjW0czFv767urm6vL3Cx8vNz9fhaldLRkA+ PDo5ODk6PENJTlZdVEpDPTw8QEhPYvrYysG7uLWxsK+vsbO1t7m8wcbN3vNqW09JQz88Ojc3 NTQzNDc7QUZMVFlgZW3149/e2tje5Nzc2tjf6eXn5d/f29bRz83My8nJxL+/vr+/v8HDytLi 9nBYTktIRklIS1JTU01XVlZUTUlDQkNGSEpLSkxOU1xsfn7+4NPIw8HAxsrO0tTZ2dDOy8rM zNDX4m9fWFBOSUhIS0xNUFNcX3F/9e7t7+7j49fNysnHxMO+u7/Av8HGys/od1VKRD88OTk5 OTo5ODY0MzU5PUda7tHHwL68vL2/wsbLzM/S0tLSzsrGw8XIy87R2t7l8/hzbWJra2VdVlJO S0lMTE9RUFFNTU9PV1hdXWvw6ejz49PMxcPBwcHFxsjO0tv1/mdaU0tFQD8+P0JKTVpocvPu 5+fs59zUysbCwMHAw8LDyszQ2eJ9V0lGQz89PDk4Oz9GSk9aYGVoampqZV1ha+7XzcjJyMPA wsXFx8rP2OP+aVpcXGZs8ufe29jQ2eJuWE5KUVtz4NDNyMbHyc3P09nvYVlRTk5LS0lIRkZJ TFFTUFBRTktKSklHRkVHSk1abHrl29bPz8vEvru2tba1trW0tLW2uLu/xMnT+FRHPzs6Ojk3 NjY0MzI1Njk/R1Vz3dPT1dvoblxTT09QZOHWzc3Kx8S/vry5uLa3uLvAxs7a6WZSS0lHR0lN Wmdxb/vr4N/t92hbU09PSkZJRkhHSEVIYnjY0tLMzc7W3+xvaFlaX2f+bmhXTU5RYnDb1fHo 9u76aWhu6+De0c3Iwb/CxsXL0914XVRYVVlpeH315+fs3dHOzMrN1NzzWktFQj49P0ROVFln ZmRraGxuaWtlZGVcZmlobmNcUE1QWF7r1MnFw8PIyMjKzczO0tff/F5UWVJbbvba09DS2N7q 7enf2dfS0dPX3u5zcXr+aFdRTk5IS1dWWFRTXX/q1cvEv7/CxMfM4mxOQz8+PT1AREVITktG Q0dPSkxVUFVe8eDRy8XBwsDGx83S1t3a497Z19XV09DNzMnGw8TJy9PhbE5HQUFCRUxaeHz0 bF1cTEQ/PTs6OjxBSk9d6s/Iw7++vsDI0OF9a11ZZG3m287Fwr/CytXuXE1IQUJIVHHYzMrJ y8zP0dHPzNLV2+xpVExGQz8+QUJDQUBAPj4+P0FESFJq49bMxsK9u72/wL6+vby+vr/Aw8XF ys7b6nJaTEVDQUNESE5Ydt/b6PRsX11TTEdGRENCPz8+QENHS1BbYWzy1ca+ure2tLW3ur3C yM7d5HlgVlFRS0hEQ0A/Pzw9PD5BR1P+1ci+vr27vLu8vcDG2HNYSUVER0ZGRkRFQUZJSlJV fN/XyMW/vr6/v8DEyM7W2dXX4OtpVUpBPj5ARUpWau7a0c/Q3nVaT0lHSEdLVF5q49XUzMrN zM/V3XdtXlBKRkZHTFRo5NTKx8bHy8vM0NPY19zd3/xiW1daWVt93c/P1+xmVEtJR0hQVltf XmFeX2Nt69fLxb+9vb2+v8DEyNP4WEk/PDw/REtUWltXWFhVUEpFPz5AQkhT/NvPx8K9vb7C yMnIycvO0dvh5vjvcmdpZmRi+ufqfmBZUElDPTw8PT5AR01dfe3s9fj95NLJwb69vb7CxMC/ wMXM1N78ZllPTUpLT1px69jNysjM09zmbFtYVVxcY2dv8uvrb2RUS0dDQj89Ozw9PT0+RU5j 6tPIwsHBxMrXcldMS1Z02Mi/u7e2tba5vcLK0tfa18/Nz9LY3m9YVFFQSUU/PTw7Ozk5OTo+ RlBlb+zq6fNbVlRXWGLpzcC8t7SztrrAy8/c53lpW0tEPzw8PT5CSVBgbPL5dGthZGf36dvO ycbDwcDEzNnj7O3l6ebsd2tfXVpRSktNU1/62dLV09fc4e9xbWprcnft6/R9cnRnXltbXWFe VlRRU01HQ0VIUGZ/4dPMwr6/vb27urq5v8LBxczW3eVoVkxOTk5NSEVCQD5AQUVIR0tLSEhI SkRESElLUFt739jIw7+/v7/AwsC9u7u6u72+wcTM2XhaU09QTUpJSEpHRk5WWFxdZHr03dDL ztz8V0xEQT88PkVLTEpPYunWz8rMzcjMy9Tj29HLyMTBwMPJzNt6aVZNS0hERkpITl9YWlRL Sk9VWl9bWmJucPfv387Jv8DBwsLL2NxeV1NWZO3Xz8XFyMnT3fxfVlBPTVBVXn3bzMjHzdDp ZVlLRD8/Pzw+QkVLWVp11c7MztLc5+DWzsjCv72/w8XL3HhhYUs9PkpMQERQVFBRcNra08rP 2eLf4VpSU01OVGlze9/eZVln53dbW++2tMzvWVJbWuPPzMXFzs3O19j13HxnX09abXjOzcrW 5Ptr7lM/Pz45OT1CP0ZIREhPUNzNwMbJvLvDxcnPbFNMR1BTS3xOXNhbZW101F3z5dHAz8K9 zP32WlVRZ2NUc2RO41hUcX5MXc3Uxr/Fv72+v93Mxt9XX+94VUhIRj86PD48P048PVjfbU1o ZFVGZOzu373By8q/vD/jrrTDuj5DtcdJXb+zsywqzb16fzouwVk5OEtAvy4v2ca+tW1RsO80 OF3XsVtOz3g9WGvVuMTY1Fw+59vQvMD2z9xfwr7PwMlWy2M+Rz40SWdOTUFKvbbZ1czMxWxc 5E1CYzw5R1VZ4WZe6lZVZ+3Z4kE+9WtHXebMtr2/u8LPxMfNzMvIxVlGTD058dRZ4kM2PTQv Qj0+U0lex8zMwcm5rrO2vz47xcHcy1i+qzgjPK2YmLlS5z0oHh0+yDwuMkito6+rsDwoIh0l MCkiM3Gxn56bl5yrvEAzzC8PG9OyrK3PwO8eFh0oRMm6oJicnJudoLNdOywcGxkcMFbasq6v qLLDwVIqJC9NzD0fJVblT0AyPkI/W8y6s66pn5ycnZuYmpyox1E3IxsdIiQlLTAzODpBOjk5 JyhEVisdNrCvyc/ITTIfHzLjyrelnZucnpuTl5yfq7HFNi87OTkxMexiLzI4NTEpIyw9PT4o JUXQZllELikfHSQvPe2vpJ+hoZ+al5qcoKewylZXWExSTFLZRisyOzMxKy1TXTAmLfTRSVve QCkgIiopKEO7ra2tn5+gm5udobHBvU4zPE9LNzpgPCouLiwtKCtE5tNIN8Gos762zzQqKSkn K0jGtq2oo6OfnZ6fpq+50lk/NTs+My4/Ri0pMi8pLTA8/lhCTs6/zcG77DczLicoL0PSvK+m o6elnJyfoKiwu2RDQDgzLikoLi0iJCwuKSpJTkm4yVK1sL23unNFOS8xMzvbvbOppqaknpye oKSpu9tPNy4uLScmKScoKSUqLyktPUy+z1y1uci+t8tXWD81MDVFacStqamjo52doZ+grb/H TjUvLyklJiYjIicnJSswMT/dv8zVr728sLrJ31k+Pjc7W9m9sa2npqacn6Oeo7K6x0QzLS0n JSkpJyYnJScqLDc2Try/0Lez57m1bePjPzk8PEjrvrCtqaOooZygn5+ps7zsPTkwKicnJyUl JSYkIykqMD5FdL/LybnJxsTa321LREtSX8u6r6urqaSmo5+jo6Wss77eSjwwKykkISEhIyYp LDI5P0pp1ca/vLu+xNb4a0pGTFNYeNHCu7ewra2tra6ur7GwtLy/xtpTQDguKSYkJCQmKiwv MjhDUHXYzMXAwb7Avb28u77BwMTHy8vCv8jT0sjFxb21tLa7vsLO/lFCOzMuLCwuLy4xNjs9 PkJLUlhh0sjFurS2uLOztbW0tru/xMjT7nVaTkxKTEhIRj48Oz0/PkBEQ0JETVtp7ut7aWFZ Vlj86f3h08nHxsC+wcPBv8LDv7+/vLq4u77C1F9LQj46ODg2NTY4Ojo+Q0BDSUxPUnHvd+bZ 1NXb1M7V1NHP0tfPz9HMwbu6uLm9vsHExdbe419PTUg/PD0/OztAS05LUVdSTVRdUUpOVFBW aOzrc2piX2Vw5Ovm1NTQyMHAxMbFyc/QztT0f+1mdOrTz9nPzc/KwsDH0udTRT89Pjw9Pz4+ RU5XWWhrVE9VY19YXG996eXh3Ozv29bUzsrN19rY2Nrd2djh18zJxsfHydrlb1dPSk1FRk9Y X11cVU1KTE9QVFVaVlRSVV1bYmxhZ+zcz8nDv7+7u729vb/Hz9Ha8npqZFlYWltfXF9kV01N S0dFRURAREpMTVJdV0xLTExQXP3n6NnP09DOzczMx8XDwsPEx8zLycnGxMXJy8vO0OL6TzOs uSZFLiI8MlzOIK2sK8Y3KEA/O9L9cOxb0M+3u720zLa6ybxPXMhPSs/Dz8vf0rhEzqvLubnR 01lbWE1pPDFDPTEsHjlbRq9JQEk1PtZp38Psu83Hq8w9xtPDw0xMPzNBRkTFuLqsq6qnq6rF /MVbPjUoISknKjpAZ/7sr7m4qrC5vM3cQDVCMC9MQUPK4sC9w7PGwrzeRlF8NjVANCsv+0RO vmZrztXEvbjcw7rlwc1J1dw+8eY/3sdLxrpst7jZv8dd03g+TU1AT1M7THc8QuJJPkc9bFxI yLrhw7XOzMrZ+nNo5OpJTF5LRt5VPs3PZOHLz+jKvb7wz7nJZci+S0vWUkE+VmY5Os/8NFzF VUTZvVFIxcLtU8bJRXjE1k5c1Uw6QE5DNEfTU1jLwr2/tq+0srK2wOHY70hFRlFGPUhMUzU3 vto967a/Q+28Sjlc/0Q8R04+Nzpj6UratMR5sbBHbLd0P2VcTEdLXd5q566227KtvcvF20U/ ODRBNzRRWFDbv7+/ub7Cvs5jYWZPUjkqVb8yPrDINEy8PitLTDM2QkM/U8+0rK+tp6qvuL69 5D1Naz1D8MW8v7Cqr7KxvN1QSjo0LiMeHh0bHSEkLUPhuKqmpp+bpayjqs3Jw+LfX0VN19g7 PNtONUPOaUVYblFDOjhHOy4+82xvt6q0tKqtvtLJekY8LzM9NzNH2ehkwbbNzr69vM/Y1Gg/ LzJBMS5EcWjav7q5rq27tqu8Td+/QSxI8jdJuvA92L/pREphQzw8PjsvMDY9Rj9Twra+wK6q sratrb3Uxs5HPTw/PjY6QkhNUuzLwdtuxr6/xNzhytpCRcXPQE3I307PvOBzvdBFTmxAN0Y5 KzhV/cvQzrq5yV3qvOI8PDc/Rzg2Us7tZL20xLqtr7W52Fby4D4uPVs6P9XP1rywsLK17TY+ RjIrKiwzQUlGyrK6w8O+ucDJu8Hi/mdIT8DIPkXeT03G9zvatlA0zbs7P7e8V+K3ykjGuj06 1Fc7S0cvNcfdNmXLQk3ASCzvrWoyaNZS3r5bQba2O0C7tsDL4E/JrMo3Q8u6yEYvNceuzzdU y91hSj5Fw7TKz7W5021MQFLMXDU2X89WPjk1P8rhPEzM1G7V9T/usbTJdFBVzrjD/P5w3cvZ TkzOzHddQ0LuytlPUM7Dx91GRd/Cvt5EOzpU0vVKRUxNUU0/PUJU0ru8ztnKvbq9z9bZ+udY OzhG58TAznBgZFVs2WpNfsG/3FhQT9PC+kRL69fbekc/Pz5CSENBU+vO3Wbu28vEzs7CwMpf RU7Rz82+x1g9SXbv0sXU5crByc/2QT5PXPDQ9Fdz1+lNPTs+UN3a8OZ8YufeY2fPz+r519ji 3HdUVVxe5vhTS01mzbm4v8fDurnHeU5DPz9AR1NTWlZHQ1jUysfL19LOzczPYD45OztAVE0+ PUlRY8/L4FxHPUfPvLy9x8y9uLm7vMXPy8bBv8htSkhKSUtOTVFd+NLKztr8UUhMXGlfUkI5 Njk+SVdcVElBRE5s3tnre/Ty3MzLycHEysfAvbu9yN5lWmX73MzDydDX9Vlp9mFn7WhYbGxk e35aVVFSXlpRVlhQTEdIXfb9VklX2s/O1WhPU09JSERFW+vz6trOycjO5XLt3u3fz8i/vMHF x8e/wcHEz+poXFZmdGx1/nrx6+fc3e9mWlNQUU5NTUpFR0ZHSEtKQz47PUdMUltkcnVkV1xq avtxYW1v5MvCvrq6vLy+wMLEyMfKzc/Vz8fJycvW09LgdGVbTU1MR0lKSkxJQ0A9PD8+PT9C Q0NEREpY9OV439Xi1M/My8m/vL2/w8vLwL7GzOp83vFdUFFcc+Pd39vc1dPX3+fY32lTSUdK TUZDREhOWF9q+d7My8/M09zta15YWVNi/G9t5tHNysjMz9HO1/5iXFZQU1FOT1zy0srJysrL zNHa3+jpal9jWVlRUmJgZFpSRD8+PEVHTWF18+JtWVti8s3Mwr/Jx8LH2N3s7tvO0ex5aPZt Xl5aYWt0dGNaXW5uYvng2tfW3OX24dPb7WxcVldmemNSW/nwdWZdetzZ5Of5bv5WSUJBRkhM Tk5Rburv693d1NTn8XR72c/P0djYzcnJy8jCv7/Ey8zIxszY8WZkb2ZeXk5QUEpGQj8+PT9B QEpZZPnv8mppWVBRUVdk5tHT18fAydXe+HztfHxrcu7n3tPMw7i0tbS3u7/K23VRPz1CQ0dG Unz76vFeVFVNSEE9PT4/RERKT1hfYWddXVtUUlJZc9nRz8zMyMPGycvQ1c/Ozsm/vby/x9Pq 7X1YU05LUUtIRkhRX3X1fF9dW01GRUZHTlpaWVz9297Y3O/uZ1habX3l187Kz9XX3m1bU05X Xldafd3Ox8G+vr69xM7e+WReXlJOUVZdXVpYWVpu5/FhXWBaWVNZW2ji2958effxZU9KRURH SktPVGJ75tnPxsC+vr+/vbu/xcra39/5dGpw3NTW09HPz9To+19OTktIQj05ODg6Ozw8PT09 QEdOatbT1dPQzMvHxszPy8jHxcbIydPvX1RQVE5MUFr72dDNy8rJxsnJycnIzNXpY1dZVlBJ REZISkxLTlhs/2Zkam/46uhyZ2poXVZNS1Rm79XOyr+8vL7Gz9PeZ1BIRUxQWl9eZurj5eHk 3tvY4Ppz+uV8V09OU2VtZV9cY3X97eb2ferq/XzZysC/wcTLztDZ5WlYXF5XTktMTEpKRUNG S1Zlb/nr1cvKys3R1d55Yl555uj2YVhWUE5NTU5d/+nb08/JxcbK1OdsX1VMRUZKTlVaWmzb zsjP4/N5bGhv89/U2/9pavnm5NrR0s/N0NrqXV1cWlFSWWJ2bnRiWFJTTkhGSFNed/fv4dbQ 3W9ZXOrX19jTyMPFytj08OPmbWVz7ebkf2tbXnl6fOvVy8nNz8/MzdHfenZ1d2FTUFZWWldS TElJS05PTUxTVE1HQkVKV1lXW1/v2M7Ozc/JxsnGycrFwMTJzM7NyMbIzNLPz9jf4OPa2Nzq aVhSSj87ODc6Ojo6PUNOVlVcYGb+cGFm/9vLycvT4OLe29va1ci/wsrP1NDS3OX4aP73Z1xb Xv7s//d2XFtPSUZDQkdNUVtz3s3KyMzP0t7vXlZXYv/6+Xz98PxiUU1MT1JTUlVr18a/wb+7 vcHO4efiz8rK1NPSy8bM0ODo3X1RRUFFSkpOSkdOWllcXltXT0lBQEBESUlQX//Uz8/R2NPP 1eTv69bLyMXCvbq5vMHL419bU1JOTWBsYWV96drX3d7l+uxvXV9STktMTktGS1744fd1ff39 X1dSWXx27NzY0tLN2WRmWlNMSEZKUVlkXVtt6tnT19ba2s7N0tvh6tbK0dLc4tbS2OPq3NLb 4uHl8vB1a2lbV2FdWmBbZ19MSkhKVHXi3N3+8Oh5729y28/NyszN0OloVU1KS0pKSkhNXm91 a2J93Nbc3NLLyM3S1dfa1+5sZF5n9uXl6e7n3+jh8uvNycrL0tlrT0ZDQ0NISUxYV2H369fO zMrL2e9sW2Tz3tzhz8jK0H1RTFJgXk9MTFZbVltbcdjb7l1PS0pKSUlVet3oa/pdc+fb0s7I x8vP08/LycK+vL/FzvBhUExHP0JGTllUaefa08/P2uZ2V0lCSFldW1ZUYfprUElIWWBcV01X cOzt/P36fHZbVE5JS0xWat7LxMbAvbq4ur7Bw8bEw8vPzM7MzdLNzs7LzNDX+1pPRj88ODc6 PT49Ozo8PkBCQ0dPZG1fVllebHR6e+PNycfL1NLS1Nfe4NrW2tXSzMTBv7/BxsfP4eXqeeXc 3dfi6uh5XFpebnpfTEM9Oz0/QUZISExKSUlISlNYYF1RWGZkZnB55tfY2NPNysTBwsHFw8DE xsjEwMTJzdDPzc/c6ntmal5OTUU9Ozo3Njk8RExRbOvf2+bi3d3Tzs7P3N3b3+15ZWrw5tzU zsnHwL2+w8zS2PZjUkpKTEtMTU5cb+rd19TP0/BkX21oYVxv7NvS2d37ZWlnWE9MTE9OR0E/ Pj9CQUJHT1plbn702c/Gvrq3uLi8v76+vsHJ1eBgU1FNTk9QTlRXXlpXWVRUTkpGREVISklM Vnt4Y2rz7NnPzcjGyMnLz8rKz9TgfG50/vHq6O/n4ePydG5sbmxhV01KR0hNVWJ3bm366t3g 6uz59+Le3N/c0c3Ly83W2+NeUUhFSk1VVFBOUVdPU1dcYlpcZm7969jPy8bGx8nR0M7NysrK zs7Nz+BuYWJoX2nr08nGy9frX05HQj9CR01OTEpSZ11TTlhbV1ZdZGpgWFVaX1FPTk9Taurn 1M7MyMnT1tHKyMjM7/fQzdPWxr6/uLjCvsLe5nBp3utpXE1JTElGRERJSkJAPz0/Pj0+Pz4/ Pz0/QEVISkxYbt3PysC5s7CvsbW4vMDIysXAv8PN1trlZFhTXHLi8m/r+G5rZFxUSkZBPz09 Pj4/SVRgalVPT1NZXGH20s/b72b04eHd2c3HxcjM09nUz9HPzs3Lz87My8XFyczO0dh5VE1P XFpXT05WUExLRkVHSUdERkxOWVpk6vZ5Z1FMU19u7t/Oxb+/wcTHxcPDw8HDxtL1alxWSD89 PUFBPj09REhITE5VaXdpbeLPztDV1MzFxszMzMrLz8/P1M7MztLb19XpXVphXV9cbPnVztHm ZF1ZWUxKSkdNSkRBPkVGW/HRysvL19TOzs7R3d3c52RYd9vKyM7V18/Nz+Dp0tHb9mJZXWxp Vk9IQkM/PkZPX31rbHdcUlFPX/vl3d7czcrKysfDyMnGxMrOzM7X2+bw+21dZWdfZFdPTUtO UlVbWU9QWFBRbvJXUmBMSllST1lTUF9fZ/je09rc1tnh6Nze6N3XzcS+ure5u729vsnWbk5K Rzw6PUhSU1dXV1RMR0JKZEpM5NT/WF1bX+XY1dXc5f3r42hd89TOz9fh/fLf62Ze5tva29rR zs/P0dLQ0djp4Nvb2u1nWlNSTkxHTV1WTkdGTFFOTlVf+P9nX2VfZGlVT2H3+N/UzMfH0ebt 93JgX/3i0cjEwcLExMG/xcnM32BTUFRTV1NNTUlISklJRUVHR0RESk9RU15r6u7929ze2dvl 39XW09XT19vre/3r4OHa1M3Kzc3KyszQ19HM2OftbF5bU09QWk9LSkpJQERFPz09P0NESVBY VVBc4OJv6+Dav8hOqqiqMR6qqLPQODxaJu2dm6E7Ky9FzLO8cTctQ8+8urvCVzh+w2pLPC4t NDxa2s3DVE5AOTc8SFXXctPHzb21vrS59NTjV8S4WTszPFBsutFN3MjLx7y5xnzPy+xRQePM 42vuzcK8zGRLNzcuMDo3Pz05OD732tPX0Nrj2ci/v7/P0uDW1tPDtbZUOEBb6PF6Tkhk03Hg ytG4v9rEv+M+OUVENTtNV0s+Pty9usdaTktR685sUUk9S9jAt7rEw7y5vMfaRTUyOFVqS0hJ 28DExs3Qy7278UQ9RPbRY0xHR/3f6ktLxbW4xdjTyNT+XExLVVRKQ0jx+E9v09DU3M/TZ1FF Pjo7PktdTzs4U8W8vL7Hy8C4ray22E+zqDodH02trLRfKR8nSeo3KzJot6eenaGlo6Covz4p HRcWGyEhJDi8qaakoqaopKKuVy8uJx0ZGhwcIjJSyritoJibqKaYjo+aqsht6Ow8HxcaJS0n ICY26sfqOyspLy8iGRsrTcy7q5+ZlZOUmJqYnKnVOTAnHRgWFxgaHiIpOM+rn6SyqpiPlaaw qqq/OiooKSonIB0iNWdOPU7JvdJJPj49PTxI7cOtpKGhn5ybnqSorLxOMikhHBkZGhobHiQq M03Jr6GgqaWZlJyuraSsUC00PiseHiMoKCo3SfzIvLm/xru7y/pa4MTJy7msqauqpqess7i/ fDwyMCsjHh4eHRwfJSoySM64rqSdnqijmpysv6+uRiYqNykdHy4uJSc819jStamoq6qmqK+w ssPQytNeU9zOWF3IxfxS289GMjU5LSQkKCYgIisyLzjauravp6CfoaKmp6ituMLIXjMtMi8n JCk2NzVG5c3Is6upqqqqrLPB1OtUOy4yPjYwOVpxR1TM11luw8VcRE1OOzMvNzUuLztbUUzN ta+1sampraunrLq/v8tLPjw0Li4yNjU2SXz03tPHys7PzMfKz87ExOZXTlJJQkM8PEZPRk7j 2O1wwbzO/O3PaEtHSEI7OkFHQEp0zr68t7Gvr7OvrbO8u7rCyN1qeWlLPTg1MCwsLy0qLTc4 Nj9u18q+uLW1tbKvsbi+wMv7VUU+PDo7OztBSl3n+NrFvb2+urjAv7/bVmj1TkZOVlBp2uLT wMDMvrbC59jE2ToySEYtKTM6LSo5Rzs8X83M0b62uLe4tLG6zc29vmdJ7WFCP03m1W7RxcPJ 18XJaFpTTkQ4OkpFO0ZaT0ZMb1dFSdnE4uG8ssPGs62ttcDAucdJPlxYLyo5RC8qNko8LjvY 1G/QtbG3uLCzyvriWjw1Oj85PVffX13Huby9uLa3vc9YU2k7LjQ9Mis5ZEI63brIxK6lpaKe qcKsobQ9Tb86HSAvJxscKzAqL0jHubywqauvuMHE40U/NjA/PjdmvLnk36i38aiqvL/Ewkcw KicnJB8lLjs9UrquqaagnJiXqkmnm7UvL8lJHhwkJB8cHSEoNj9AzKylqq6lo7LjSV1FLS40 PW7AubWuoZ+qrairvE03LCEdGxgYHSQpNlrEtqqioJiQmsOylpa1QNjKNiwpHRsjLiMcJE7L /eC2rKytvVNCRTwrIi1P77+yqqSgmZmjp6Wv2jksJB0cGxgYHiYqLkq+rKainZmZrcuqn6Oy zEosLkMtHh4oMjEyOzxTu660zc7CydVLNy0sRMfJzLOkn6Gfn6errrtXNSsjHRwcHB0fKC82 UMK8tKqinp2drN+9qaetvVIqJTM9LSEeISg1WWtM77Omp6y2yce+xF87MThN07avrKurp6Wp sstKOzUvKSAdHB4jKSwvNkrNuq6ppqeopqWkp7VePj5QX1I9LCYpMT4/PDg4Q968tLGvraun pqu511pHPTo4MC00R/TPvLO6xLy5wdhZPS4nKSwqJyctNj9gyLy3s62rqqiorLW6vs11ZlhM RklMPzs9PDxEW+rw6eru69/b92tyfVhITGnc1c3LzMvHydX9fWFPUFtmUkdBQEtn/FlR/srN 2NbLw8fExM7Z1t1rUU1KRURHS0tOW1VTZtnEvby8v8HDzu5NQTw2MzM3Ozw/R1HpzsjGv7ax sbK0uLvFzdljWFFOTVRiZFdUWX7qZlJGRUpSVUdDRUtZZv/89tzU2dnSyMTIwsLM2ut0UUdI RUJESVVeaOrPxby4uby+u73F0NzsWkxKPzk4PUNHS1BdcOTSzdHU2ezx72dPSExRV1v72c7K zs7Hys3W7G1LSEpGS0xLSElMT1dVYWl92dLJwr27vsjP4Onq5+pYWF1XWV/w087KycPDwcfg aldXSD87PT9FUE5PVP3e9/vb1d746vJaXnnufu7l3+TVzMzN0t3ubV9vb37r3dh+bH76+uXZ 5VtZXGBx6+Juae7s69na9ldTVk5MTVJZau3t7+vj29na3OxzfGVm49jZ2tLKzM/X3+P1Z2Jg XlFMTU9e+/TzZ3Ph5OloePBlXmjt4+51fP1+b19UTk9UWFhmePPy8eHl3tjX1eLd4/DY0tDZ 5dPY7Wx85OtiVlVWVVNXWFVj7eP+Z2NsbmdebP3u7HB95dnh9d7d5dvU2Nvj6O3u3+5oX15Z VFlZV1hcW1ZaZ2leX2ViVFx4dF5e5tDP09rd3dTN0Nva1c3Nz9jl7/Lk3NrlTDhNvLK36zEj JDi3oZ+p5S4jICc7zLzLQywmKT+/p56do7hVNC4vO9W9ucD0Oi85Wrippau7Xzs1Pcetqa9P KyQmNXzG2zwsLb2dmqktFxQltJmasy4aFx7pnZWYpmAmHiVGuq61bDAqLT+/qKCjrtZCO0FX 2tprSzs4PU/VvL7KXkNDTs+9u8tfOjEyP2TRyeFFMjU7YMKyrrjQSUpZx7CsrrXCZktMatrM vr3VSDk2OmPIv95ANS8yPPS+x1dDPTtHYtjN7ldXVkti2cnCyM7l+Nzb19Tv/tfDuLe8zWFG UvHFubnJY1E9Ql7Sz2BDOzs/TGdSRD1ASVpx29TZyNZs8s/CxcfPYkJATW7LvcHbWmZ0z7W0 u8VwQTY6PkVcbvlYX2jXxru5wdtGRUVJTkI/OkBFRk5Z6NTL31VKUltV/uN4ZltZY8+/s7Cy vM/c78u/vsX3VFrvb+Xn5NfZ+0dFQD9V8G9TUUhBRVnczsbMako/PD5P5dPJxMjLx8rP1+dX Qz8/PkVWdt3Hvbu4s7K2v/46KiQlLT7dvbjFZkA6Oj5OYm/w0sa4rKWfnp+msNQ7LCUhJCox PEFER2HLt62oqK2xv2xDODAqJiIgISUrO964qZ6cnqKru9HWva6qsNk1IxsWGB0jLkXpxrSo oJ6eoazJOyUdHSIuTrainJmZm5+mrbjJVjgsJSAfHyAiJCUmKjE/7b6yq6eorbG5vrywqamy 3DQkHhobHiQtP9a5raOenJydo6/POicgISg06rCkn56fpauyv95KMyggHRwcHiMnKy80P2+/ sKunpKOnrLW/wL62rqyz0z0qHxwcHiQtOlDNua6opKKjpau5djksKSw4aLipoqChpqy1wfBD NCoiHhwbHSAmLDQ6Rm3OvLCrp6Ojq7jMfO7DsKmpst83KCAfIys4S/XLvrWrpaGfn6Wv3Tcn Hh4jK0DDrqilp6y2wnNAMikhHRwcHiMsOUhS6se6sKumpKCfoqq0xNrOu66rqrhXMSUeHSEp Lz5P+si2q6Wgn6OtzzUkHhweKj/Jqp+en6OuyVM7LysmIR8fHyQuPUz51dvPvbWvrKmopqmt tcfW1sa0ra+/Si0gHBseJS9B+sS3rKWhoaOpt1wtHx0eIy9Ys6GbmpygrNI+MisoJycpKy81 PUtUT1VcXGRy183BtK6rqKivwNteS2DLzN5ALCQfHyMsP928s6yppqSjpau3XjEnIiEnNG+z o5yanKOyZzMoIyImKiwvNDc5PTs3NDEzOkrku62no6Cfn6avxVw+PVju42tENConKC08aMa4 sKyqqquuudQ9KR8eHyc41q6hm5qcprxAKSEgJSw4RklDPDUuLS4tLjU+Yr6tpZ+dnZ6epbpQ MCouT7qurblCJx8eJDPnvLOyt7q3sa+0wUUpHhseKD3HrKGcm56ovj4mHyApO+vJzV08MS4v Nj09Oz1H8ruro56cnJ+xSi0lKUe1p6i0QSQeHic75cbfWVfwvKumq71CJh4fLF27r6ymn5yb nq1CIxscJkbCucRHLCYpLTQ5MCoqL0y5pp2ampun0DcrL1iuo6i5OSMeIS5WvbvaRj9puaik q8g0Ix4kNOq8vbmyqJ2ana5BJB0hM965uvQ0KyotNTcvKicqN/e1qaWinp2m0zYrLXWpn6jF Lx0cKFC9tsA+LTRstqimsU0uKi5B0b3LZVnHqp2bocAuISEv1Le88D0tKSwzMi8xMjM5bry5 r6OhnpynZS0sPL6inq4+JR0fNMm8yk8xLDzDsbO9WzIwQlVfXUg5Q7iim5qhwzAqKzfZusRg STwzLy8uLTA4ODc5S+zEraKamaddLSxwpJqduSscGyj7t7zzOjE9zra0xEgvLDvlx9FZQDx2 rJ+fqMIzJi1CYvRePjpLWT0uKiosNlZTPkXmyrKkoJ2fsEEtRrOemZ/LKiMmL1ziRzc3ReW8 t8hHNjAtNExQRVT946+enKCt2y0mLzxFVnxUVNDxOi0qKyszPz08Td/NuKminZyrQy02z6eb nK1AKSUmLDg3LzA+cMu4tMhPQ0JBTHtBLTNrtKafoa7ObFpMRktFOkLeytxYPzIxOkRIQzs5 Qvq5q6alqa24y/tZae7h2N9SOC8tLS8zNTQ2O0RrzcbFw7myucC/vMTJx9jw+9HCu7rEz9x1 dOHW5lxPRTw+QkZGQjw1MjU7TNO+ubi3t7m6vsnnUj4zLy4uMjpGTlZp+t/YyL20rquqq62x ucLVWkA5NTg8QEVGTFVm497g7PPp3s7EvLm7xfk/NTEzPERKTElMTl7t2dLleF1cb+fNu7Oz trrG4OxtbfHVysvO2Or1395sTUE8O0BJTExLTExT/tjwcGJeX3zXycfObEM6ODg+R1vqfezc z8G6vby9w9L3387Avbq4vMp5VE1gY2n0cVdISEtOUmBsVEVBQkdIP0FKVGRo59zW1NTP087O zNNfRj4+RE5e+t/m7+zg28/AvLrFztXi4efv2NDV62lYX3viz9lfTkdJT2PfzczO2tbT3ede T0hHTVxvYVRPVPjPy87cd11RVlhUU1dPT1pfZ2HgzcS9vb/HztfY2N7q2tP6Vk9NUFt4Xk1H RUdNU2Txevjf7GVUUlJPVFdo7+1tWlxx3ce9u7/K23b839TV7XFeZerd2c/Gwb/DzeNYTFBe cXx6YVtUT1NcUUtGPTs5PD5ES1Vu4NTOztjg+O3n4dzpcVlOT1N31s3Lzs7Py8XAvb3Czdne 1tDOzdPZ2eH4aFhWUVFPSUVGRkZJTVFPTEM+PD1AREpWcePf3eD6fe7f0svHx8zT5+vc0s3M z91tWVriwcXT2sq9vb3J32JPTVJbW1pffenubWpmTT87RU9COD1MTmzJxL3A1MOyr75dTUpN ZVE0LTz6WkZWXV/JuLKusMDe6MnN5vRRQjovLDhYbkQ/TU5P1LW5UTl0t7C3Yzg7S+dw3K+0 y9PXTD76sa3XMicqbqipvkYvM++2q6nMLygv36+ruzwrMl7dVT9FRzk8bs3Fv99BO03vwbOz 0UU/PUTMsrrc/ftz1sLD5lA+O1i8s7xbMzJNvLO8zV1dzcq/1TozN0R4x7rPQzs7U8Kzsv44 O0zKub9LMzdftqyvyz8zMj3svb5yNiwsOn3IxdJt5NTbzr+6vedTVfvJycjlVU9NX3Tjc0ZD UefEyNja6NbMwLrBz0w0MTdfvbz+Lygw56+rscdFMi40TftuRjUzQsCrp6q4yudYXnzWz186 LCs7yayjo6astL/Jyc92QDEtKychHiIvSVJI5Kycl5yvTTM5Tl1YS0dEPz5TxbnBTC4mJisu KyorM1a9pJaSl6O3t6mgoKrBSDcwLi0rKiUfHh8qP0w4LTuulo+UpkktM1bQ80g2Ly857b3C TCsgHyQqKCIjLk2/p5qVlpufoZ6cn6zJVU9YSzkrIyAiJSktLy4mISvFnZWctUQ97rq60k4+ P1jEr668Sy0nKSoiHBkbIzfOq56bnJ2bmpuhrb3JyMzvSzw2MC8vLy4uNC8kIC61m5mmSC06 yrt5PDhAZsm4sLG/VTo0LyYcGRwiLTzTrJ6ZmJufpqyvr7G82FhZ6+xLNi4wNTQvMzctJCjh n5if2TI80sJqPDxR1L62s73XWl9wOSMaGiAmJik+t6OdnJyepKqsrbTPT07e3Us4NT9DNS4u MTY6Lykxvp6cqu1Ny7bESTg+bsq/w83i7c7PPyofIScmIiAsUbaln5ydnqCjqrvg48jPSjMz PldKNy4uOkg/Skg0LUqnnKfrQNa5zzovO1jTxMTiS2m/yzooKTAvJSEpNUTrsqOdm5ucoKy7 w9D9aXhgST9IV0Q2LzE9QjUuPGI2LXyjn7XivrbLPDI4PFDh6Uc/eb3FSjY7PjAnJSoxOk7H raGcmZqcoKez2k5PVko8Nzg5PT46MzQ/PjEsP9U5Jzypn7DCu7vGVjsxN3B5PjpdvcxvVVlR PTUrKy8xOk6/qaCcmZeZnae57Uw6LSouODQxMztDNS8zOTQrKz+/YCtLop2vvauuvVozLjhY QDJOxMpe6ry8zVM7ODw8LS1WxcOxo5yamp2mrsNDLCkqKCkwNzM5SUMzLzEzNy8uMD+3tT7X npypsay82loyLTxNODbMutDdvrO6yuxLQTguKy5F92q6o56dnZ6mstI3KykmJSo2PDpAT2ZU PTc1MjI1NjJEsaK5XqmfqLjBvMVjNC5FQzI2S9btd9LFusZmXVc/NTc6PE3VvbOpo6Khpay7 XDovKigpLTpGTV90VUU+ODU2MTzI0krKq6K9QK+itmTLssBONzVOQSwyUVxCR+XIyOTkytpC OEREOUbJtrixpaKip6+4zkEuKiwrKy8+WlRDSGlePjU5QUhNVNi7u7Cny2iqrMO/tb5XQjYw NS8rNk1DPdy8v7q1t7zDz2hJPzc8fNzqv6mjqKmrrr5MNCwpIyEmKy4yPVVfZXX73WBX29bb yb63qbJAvqCvz7u1vlQ2NEg/KixKXEFMzru2ur+2tNJKTz4uLC9CW0LNqaaop6ev0EEvLSoi IiovMztezNPaxsV0VNnQ/c/LzqumXV6mrd/KucJwST5ITzIuS1w8QN3Cv8C+ubXPUW1DLCsw MDZIVcGoqKylorLR50szKicqLi4uPUpCTu3nfWXrw8jZz8PCzrSp52yrrsLBtr7gUjxGQysq OjsvNvbJxbywq7K/zuxNLywvMDtIb7irrKujo6+/x186Ly0rJyUqLSsuNz5Jc9rMuLO8tK24 va6qvFfCsslt6r3LQEJPTjUvPTw6Nz3z3NLIu7S/xbvGXz4+PjU8Sk/ev7y9t7S/0s3aRTtC ODAyMjU0NEFVd9rIuLS4s66uuLi0v8XKeerZ2urZ01xNQTMvLi4vNj1DXcu/u7aysrrIzuhM Pzw6Ozw/Sl7Qvr27uL7AxtVsbmVDQ0c/Pjk7PzlDbl/7v8DTvbO6urm2rrfHtMRAZk04Skg4 Rlo6Nks/LztUNTBS737MtbCuqqytrbnDzHpJPjk2ODw9PEzpdf3Fv9zgy9lJOjw7NDAzPDg4 VcrDvLCvsrGyu7+8wNfLzPvg2t3e/2lwTkVWT0VIXU84Pk8+OUBPXHTj1b69xr24xc/O4Vg/ PkE+PD1OTEtpzsTIycXL0cv6d9RbTtfZQG+/233Ou81nv8va4lHAy0HUwGxMWu1ITthLP/tb SjhAbj5Pz0A/ync23M5M497D7NK6Xce7xW3Qr1RNzcVtSsLePD7CWyxnSOjPOd+utzS/qlQ+ 6VU6vj01udQ8T7k+Pr1ET3vMRGfCUvXJsMBJ6am7LbexPlHax1s9b0lC5zA72k0uN7VFKcWu Lzuv5UPQ32C9zGDFrXE7rr1IPsuyRDewyElsPL7TNU7VuUM0trZsNtqnTTK+uU4+vlhZwkxL 2nEyW8Y+LV/AUzNIuMw9acjN70pOwXo3SMFvNeDRS/fTT8e/WtG1xGa5uFbNx9z+52pswexM 67tvPcxQPkhUTjbV6ztZzmVO+/7MXEFjzEI7vF1AVs3KUXDZU7zgL8quRCu4qDIxrrFDSbnH vVZBwcLMLDqiXR9Oo9khyqw7PNze2MhRN7OoLTGlsC05srdMKsG3OjBYrTI/vDLOxS1bt28w ZK9ILbutNsvKRLjtUTjFtTNZtNc7vNk/u2JHdsPfLMG9PkvZuEfNvD/PvlQ2v7Ip7ao+S8rr 9O/lSUavPjWuTVvUPbLANzy7uSw0rlsqwkc2ujEts+Ip3q1aOby6+8lJ36/QMsGuZjW5uUdu z8a96WfXvFxJyb47R9JJzTk9yF/tOU27QXFORrAyM69YQD/XuFY4xLtXyN/Y7rzkKrSoJj6m 0CnzqTY1rT82s1ou0a4tPKfJKMirO0e/SN24RS65sTA9u98+aUvN10ls0rrPOky800E1s8Ep vrRFR7hZPrNQMb+xLj6iVC+uvTfTvDtAteo0zbhQWbdQOczSRkBabjxMO0vaQNHPT83eRHXG 2VLJusxJzLJhPcW3P9HIT2HD+T3A1zxOuV050uc/bVo80NhBSdDVRdjRT8zA7kbI0krPYE3U ukRMulREyNVS38/KUNVxQXDhPz7G0TxM51xE3sZWfszJ515d0tNITOzO1Wtuzq/MPsOx2ENQ v9NHYEq9vTxGyM5HRHZ6Q0A7Ydo5UNphZktV0VNC0f787Nvb0brNWcW8R0fTS0nObjnNt0pK w8vIyurexMZJR1Du0ztDv8Fv7L/J3cTlS8rRQ0DkzTQ/x05FUdVVVco/Q85ZNkjHWzrz3s/C 2OK/vNTWwsjOytjQxN5P3u1CatdHTMjJRlu/VlXZQThSdjk5Xk49V1pTzsxx2MDWU9rObcjG bdC/2NK/x82/v8/IxttV59NWXVZIVlBFRU1fUk5SZ2RWalRHYlRDWV9LWOBeacrM08fR38rF y9XL2V7fdUtd3lxVdmjrv/cxWrzPycRq3MLcS015YV9wSl7N1mtl+W39SjlAPTxAQVbSxb67 tbW+v9JmaFNIT11j9ubV6VFWWE9AOEFpXlbBt7ivsr2/vcjib/hqTWFZSkpKQDk5ODQxMzI0 O0/q08a8t7i5vLy8xMTEyby7xsDD6kxRQTc7ODZFTk151M/U0tLfY29qa1pLVnjf2t/d2/jk 53Vx883Lz97Syt3s3M7PbuXZXHP0V01IRUA9P0Y+Qltrd3Df0crM7Gjv519Z4cbJyL7Ax8jN 09vjXlrx6F1VbuP8cf1p+O1qXWBoW1JcXUZNZ1ZOUFplc29fed13aenncWfs92hsc3nm3Obi 0NVz79b6b97e6tva8Ojm5+j+bfDi4u7/6tvW5lhZc15PV21gaO/s6OduX19MSUxOT1NeWF7n 9+bU1t7d6ubcfN3X487da3F3fG/w087T0c3T82pgV09GQkhNSE1u82RxfVZbW1BaZ2py183L ycPBwr/AwMLExNDa325ja19gXldOSlRJQEVEQElLP0ZdWEpXYlBPWFdWYmn+1s7P1c/L1N7f 2NbX3d/Y1NTSx7/CycjIy9Df6/VqTUhMTExNT1VeX1FZc2Veb19ZXl1YZv5aXn92ZWf59nXt 3tbR1dzPzdTd3dfU4e7b2el15+X4+mdueW9tY2lraGt5Z2RvX11XUlNMSkhMTk9cZ3P8+n3r 6X9wcvL94dbY1NTPycnIxcjNztHd4dzk7tfT4ejr/HVrV1BSTERAQ0E+QUVHS01OVWhnc9vR 0dLQzdDU1tLNzM7JxMTKzcnN1eDu82pjW1leXF7/eFxRTUpHSEdGSUlFSlJSXvt669XR1M7H ycrI0dfR2tzRzs7PzMvW3OxeWVpVVFZNRkxOS09SVl5q+vfr6Oji2+H/cPx8Ymvu8Ove29/f 3OLrfGRl++v1+N7V3N3V1NTPzNDV3HTr2+FoXl1RTEhGR0hIR0lMR0hQWlRQT09QTlBabPvp 4tfT18/Kx8vLxcC/xMnIxMLExcPFw8HBwcPGzNbfelxRSUZDQT8/Pj08Ojc1MzM0NTc4PEJS 89fNycfHycnHxsPCvry+v8DAv76/wMDAwsbN1erz4ePk919ZU0hDPzs8PT4/REpPWHzk4t/q 735bVFdVU1ZdX2nl6n737fx639zd3ePv7NzPz8vHxsPEx83X4+z5//j+eujl6/Npamdp/Pdy X11damtYUFFYZF9jaF9fVUpHSU9ZWlhaftLLy8jFxsvLztXe493e2dvh3d/te3BhWVBWVVhX XHFgWVdbWVdkaG/1d29hY2JZXW3x4tnQy8vO0dXa39rb6vV2YFpeX2NZVmdyfO7m7urRz87Y 5d/n9H1pZ3Lx5+319/bkZU5PTVNOUlx52N3X2dnS0tTY2uo= >Fix: No fix known. The pcm programming interface being practically undocumented it would be pointlessly hard to try to find one. The pcm API needs to be properly documented first. >Release-Note: >Audit-Trail: >Unformatted: