From shigeru.fukaya@gmail.com Wed Nov 12 06:58:54 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-5.9 required=4.0 tests=AWL,BAYES_00, MURPHY_DRUGS_REL8,RCVD_IN_DNSWL_MED autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at submit) by emacsbugs.donarmstrong.com; 12 Nov 2008 14:58:55 +0000 Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mACEwoWK012525 for ; Wed, 12 Nov 2008 06:58:51 -0800 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L0HBB-0003eP-O1 for bug-gnu-emacs@gnu.org; Wed, 12 Nov 2008 09:58:49 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L0HBA-0003eC-80 for bug-gnu-emacs@gnu.org; Wed, 12 Nov 2008 09:58:49 -0500 Received: from [199.232.76.173] (port=55271 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L0HB9-0003e9-Uh for bug-gnu-emacs@gnu.org; Wed, 12 Nov 2008 09:58:48 -0500 Received: from rv-out-0708.google.com ([209.85.198.248]:43351) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L0HB7-00070q-Kj for bug-gnu-emacs@gnu.org; Wed, 12 Nov 2008 09:58:47 -0500 Received: by rv-out-0708.google.com with SMTP id k29so524019rvb.6 for ; Wed, 12 Nov 2008 06:58:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=kkubZpZkD40B2rloyHdxns3nfLbg460xCqx6PhPeO/c=; b=t8QNueWtaW1Abh+ydPM4DR7WDfkiK8Pz/jNb+NKWv99tkKWykLAlhqtqdeNuu7Ru6n ODjlflE69Be3r1+nycMAaUHG8mYUqdy3b030uDyp0oEYikzj/F7WVFpaNeKjS3dqAz5q Yp9VuA2j3WPn85OR2wROpMZUyICng+5BNDWxU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=GWs/RYqXeCSqjmmnCrZ9RBeInN0fYju8fPYqLhpowtZCsODuRrdmN+I/UW8yCRPUvv f4O+eI2SotijsZWRjigInqv41K6bWyN7RKqS3nkPNfleVdtdPLhwDDnRRoZuRSlTW2uE RA3tDCNkDFju4FJG8e8Og69J2/MNmTo+Usfb8= Received: by 10.140.136.5 with SMTP id j5mr4938745rvd.167.1226501923442; Wed, 12 Nov 2008 06:58:43 -0800 (PST) Received: by 10.140.187.11 with HTTP; Wed, 12 Nov 2008 06:58:43 -0800 (PST) Message-ID: <64bd60570811120658v6a89b1cfu41c8d8a0777e1021@mail.gmail.com> Date: Wed, 12 Nov 2008 23:58:43 +0900 From: "Shigeru Fukaya" To: bug-gnu-emacs@gnu.org Subject: 23.0.60; bug of bytecomp arithmetic operations MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_6262_3736143.1226501923421" X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) ------=_Part_6262_3736143.1226501923421 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, Current byte compiler has potential problems in arithmetic operations. Examples are all on Intel 32-bit. Result may occur in other environments. 1. Operations are all compiled to binary operations. It may cause overflows or truncations in floating point data operations. Examples. (upper result is by interpreter, lower is by code after compile) (let ((a most-positive-fixnum) (b 1) (c 1.0)) (+ a b c)) --> 268435457.0 --> -268435455.0 (let ((a most-positive-fixnum) (b -2) (c 1.0)) (- a b c)) --> 268435456.0 --> -268435456.0 (let ((a most-positive-fixnum) (b 2) (c 1.0)) (* a b c)) --> 536870910.0 --> -2.0 (let ((a 3) (b 2) (c 1.0)) (/ a b c)) --> 1.5 --> 1.0 2. Most integer constants are moved to the end of expressions and pre-calculated at compile time. Changing of order may cause different result from original expressions. (In other words, `byte-optimize-delay-constants-math' should not be called) Examples. (let ((a (+ 1 (expt 2 -52))) (b (expt 2 -53))) (+ a -1 b)) --> 3.3306690738754696e-016 --> 4.440892098500626e-016 (let ((a (expt 2 -1074)) (b 0.25)) (* a 4 b)) --> 5e-324 --> 0.0 3. Mulitiplication/Division optimization sometimes don't consider floating point operators. Examples. (let ((a 1.0)) (* a 0)) --> 0.0 --> 0 (let ((a 1.0)) (* a 2.0 0)) --> 0.0 --> 0 (let ((a 1.0)) (/ 0 a)) --> 0.0 --> 0 (let ((a 1.0)) (/ 3 a 2)) --> 1.5 --> 1.0 4. In division, optimizing -1 twice and cause erroneous results. Examples. (/ 3 -1) --> -3 --> 3 Attached files are rewrittren version and too much changed, so it is possibly just for references (At least, alias functions are not treated well, and not comprehensively tested). bytecomp-patch.el -- contain only new and modified symbols/functions. byte-opt-test.el -- test function that shows interpreter/original/revised results. test.log -- test result using above files. byte-opt.el bytecomp.el -- changed files to replace. Regards, Shigeru ------=_Part_6262_3736143.1226501923421 Content-Type: application/x-gzip; name=bc.tgz Content-Transfer-Encoding: base64 X-Attachment-Id: f_fng3epw20 Content-Disposition: attachment; filename=bc.tgz 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 ------=_Part_6262_3736143.1226501923421-- From cyd@stupidchicken.com Fri Nov 14 10:11:14 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 14 Nov 2008 18:11:15 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAEIBCfm002063 for <1334@emacsbugs.donarmstrong.com>; Fri, 14 Nov 2008 10:11:13 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id ED7D257E195; Fri, 14 Nov 2008 13:11:25 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: 1334@debbugs.gnu.org Subject: 23.0.60; bug of bytecomp arithmetic operations Date: Fri, 14 Nov 2008 13:11:25 -0500 Message-ID: <87hc6anpo2.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > Hello, > > Current byte compiler has potential problems in arithmetic operations. > Examples are all on Intel 32-bit. Result may occur in other > environments. Good work catching these problems. I've committed your bytecomp.el changes into CVS. I'm double-checking your changes to byte-opt.el, and will commit them in later if no problems occur. From cyd@stupidchicken.com Fri Nov 14 15:10:33 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 14 Nov 2008 23:10:34 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAENAVLj011840 for <1334@emacsbugs.donarmstrong.com>; Fri, 14 Nov 2008 15:10:32 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id 9319F57E195; Fri, 14 Nov 2008 18:10:45 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: 1334@debbugs.gnu.org Subject: Re: 23.0.60; bug of bytecomp arithmetic operations Date: Fri, 14 Nov 2008 18:10:45 -0500 Message-ID: <874p29kioa.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Hi Shigeru, I've been looking through your changes to byte-opt.el. They look good, but some of the changes are a little too agressive for my tastes, so close to pretest. Could you separate out the byte-optimize-*-functions part of the patch? A mistake in any of these lists could lead to some hard-to-track errors. If in doubt, let's simply not perform the optimization for now. We can apply these changes after the release. From shigeru.fukaya@gmail.com Fri Nov 14 20:04:45 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.0 required=4.0 tests=BAYES_00,GMAIL, MURPHY_DRUGS_REL8,STOX_REPLY_TYPE autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 15 Nov 2008 04:04:45 +0000 Received: from ti-out-0910.google.com (ti-out-0910.google.com [209.85.142.188]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAF44f3A019100 for <1334@emacsbugs.donarmstrong.com>; Fri, 14 Nov 2008 20:04:42 -0800 Received: by ti-out-0910.google.com with SMTP id b6so1081404tic.1 for <1334@emacsbugs.donarmstrong.com>; Fri, 14 Nov 2008 20:04:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to:cc :references:in-reply-to:subject:date:mime-version:content-type :content-transfer-encoding:x-priority:x-msmail-priority:x-mailer :x-mimeole; bh=f3+9Ozy3BCphge+XoFJBay2FzwQRm8AjUSTD1sq0Sz4=; b=O9rcw+AVO+KdE+K0Kw1u09T1tNFSUf8WrYlan8/A1/s22b8wLWHPM8jMLYff1IcZhd 4y2+20m6O/GjLLWxGw7AHaJZ1biPh2PgNBLCmOeJDmMOvdDRHSmfGCfrp4Ps+koR8SNc N6LjJpY/kJTjzQfG1yZjD3nR3ZFBYFVujKnQo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:cc:references:in-reply-to:subject:date :mime-version:content-type:content-transfer-encoding:x-priority :x-msmail-priority:x-mailer:x-mimeole; b=qUaEwD9WGtbiihMvniDtGv5knVe+nzK8te6dCZDS90VoHJvpEPNkwGOf33Ksj0tvhk kePpyy6TyRO5ye7EKCp5Atfh2S2AgkLNiQOn8Ct21WRMr7WXPKmoIf8exBGDbxJFWQrB YCPI43fKJ5S7PL9CYjV6abG1rGE7eXJ4sMVc8= Received: by 10.110.50.19 with SMTP id x19mr1930843tix.53.1226721880033; Fri, 14 Nov 2008 20:04:40 -0800 (PST) Received: from LX1 (122.36.138.58.dy.bbexcite.jp [58.138.36.122]) by mx.google.com with ESMTPS id 2sm2610489tif.0.2008.11.14.20.04.37 (version=SSLv3 cipher=RC4-MD5); Fri, 14 Nov 2008 20:04:38 -0800 (PST) Message-ID: From: "Shigeru Fukaya" To: "Chong Yidong" Cc: <1334@debbugs.gnu.org> References: <874p29kioa.fsf@cyd.mit.edu> In-Reply-To: <874p29kioa.fsf@cyd.mit.edu> Subject: Re: 23.0.60; bug of bytecomp arithmetic operations Date: Sat, 15 Nov 2008 13:04:34 +0900 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Windows Mail 6.0.6000.20661 X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545 Hi, Chong, I agree it's too aggressive. I'd just sought for the best. > Could you separate out the byte-optimize-*-functions part of the patch? They are mutually affected. So I'll make and send a patch of byte-opt.el that includes minimal changes to the latest CVS. It is necessary because the current byte-opt.el still has problems I pointed. It will take a few days. Is it ok? Regards, Shigeru ----- Original Message ----- From: "Chong Yidong" To: "Shigeru Fukaya" Cc: <1334@debbugs.gnu.org> Sent: Saturday, November 15, 2008 8:10 AM Subject: Re: 23.0.60; bug of bytecomp arithmetic operations > Hi Shigeru, > > I've been looking through your changes to byte-opt.el. They look good, > but some of the changes are a little too agressive for my tastes, so > close to pretest. > > Could you separate out the byte-optimize-*-functions part of the patch? > A mistake in any of these lists could lead to some hard-to-track errors. > If in doubt, let's simply not perform the optimization for now. We can > apply these changes after the release. ----- Original Message ----- From: "Chong Yidong" To: "Shigeru Fukaya" Cc: <1334@debbugs.gnu.org> Sent: Saturday, November 15, 2008 8:10 AM Subject: Re: 23.0.60; bug of bytecomp arithmetic operations > Hi Shigeru, > > I've been looking through your changes to byte-opt.el. They look good, > but some of the changes are a little too agressive for my tastes, so > close to pretest. > > Could you separate out the byte-optimize-*-functions part of the patch? > A mistake in any of these lists could lead to some hard-to-track errors. > If in doubt, let's simply not perform the optimization for now. We can > apply these changes after the release. From cyd@stupidchicken.com Fri Nov 14 20:17:58 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,BAYES_00,GMAIL, MURPHY_DRUGS_REL8 autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 15 Nov 2008 04:17:58 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAF4Ht8s023435 for <1334@emacsbugs.donarmstrong.com>; Fri, 14 Nov 2008 20:17:56 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id EDF0557E195; Fri, 14 Nov 2008 23:18:09 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: <1334@debbugs.gnu.org> Subject: Re: 23.0.60; bug of bytecomp arithmetic operations References: <874p29kioa.fsf@cyd.mit.edu> Date: Fri, 14 Nov 2008 23:18:09 -0500 In-Reply-To: (Shigeru Fukaya's message of "Sat, 15 Nov 2008 13:04:34 +0900") Message-ID: <87fxltlj0e.fsf@cyd.mit.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii "Shigeru Fukaya" writes: >> Could you separate out the byte-optimize-*-functions part of the patch? > > They are mutually affected. So I'll make and send a patch of > byte-opt.el that includes minimal changes to the latest CVS. It is > necessary because the current byte-opt.el still has problems I > pointed. It will take a few days. > > Is it ok? That would be great. Thanks! From shigeru.fukaya@gmail.com Wed Nov 19 04:27:05 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.9 required=4.0 tests=AWL,BAYES_00,GMAIL, IMPRONONCABLE_1,MURPHY_DRUGS_REL8,MURPHY_WRONG_WORD2 autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 19 Nov 2008 12:27:05 +0000 Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.231]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAJCR2so018860 for <1334@emacsbugs.donarmstrong.com>; Wed, 19 Nov 2008 04:27:03 -0800 Received: by rv-out-0506.google.com with SMTP id k40so3383935rvb.1 for <1334@emacsbugs.donarmstrong.com>; Wed, 19 Nov 2008 04:27:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type:references; bh=KMHxWQgJfjmnXvUbctJmkccmRHnaYNEzVUq225pQDaI=; b=dZa9x++HS/NsIfREfnrngikCJIfg45Gc7Nj0HE4nVlGlGCBSFG8rVf9jp/mFhRHAcr DoI6aDS0wki3LhckHFM4LloqgVZAwTiyd6l2FzMfGReI1D4pEN2zUeYpZocA23FmmLOE Mp3q4c4i2pFn4fh0EHPdGPyGMJWdcLXWhWvoA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:references; b=YSMGJ+xY1rlmWNQ/bSjf9JGvFik2kp2IWD2EwMqPvuzzsgkYGSu+nDUcTKTqGuX8Y/ 1O1OAaMFwHQg8RBs1XNn6q9VaoLDgWN86jYzAeRPGBI625bec3Dzw3jB+DNum5rC/F2E RdKg4Q99EKR7ODNv7iAtcugipbvy52RmlIIug= Received: by 10.140.207.2 with SMTP id e2mr571015rvg.65.1227097621759; Wed, 19 Nov 2008 04:27:01 -0800 (PST) Received: by 10.140.187.11 with HTTP; Wed, 19 Nov 2008 04:27:01 -0800 (PST) Message-ID: <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> Date: Wed, 19 Nov 2008 21:27:01 +0900 From: "Shigeru Fukaya" To: "Chong Yidong" Subject: Re: 23.0.60; bug of bytecomp arithmetic operations Cc: 1334@debbugs.gnu.org In-Reply-To: <87fxltlj0e.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_90513_10176611.1227097621740" References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu> ------=_Part_90513_10176611.1227097621740 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hello, Chong and everybody, After bytecomp.el is revised, problems remains as follows; 1. Operations are all compiled to binary operations. It may cause overflows or truncations in floating point data operations. ==> solved. 2. Most integer constants are moved to the end of expressions and pre-calculated at compile time. Changing of order may cause different result from original expressions. (In other words, `byte-optimize-delay-constants-math' should not be called) ==> In multiplication/division, problems become not to occur. I suppose it is because difference of precision/scale size in elisp, execution level, processor internal (elisp < C < processor) take over the issue. (let ((a (expt 2 -1074)) (b 0.125)) (list (* a b 8) (* (* a b) 8))) --> (5e-324 0.0) I can't find the bad case so far. So, in multiplication and division, I suppose, at least now, changing calculation order is allowable and leave `byte-optimize-delay-constants-math'. Addition/Subtraction still show this problem. 3. Mulitiplication/Division optimization sometimes don't consider floating point operators. ==> Add patterns. Examples. (let ((a most-positive-fixnum) (b 2.0)) (* a 2 b)) --> 1073741820.0 --> -4.0 (let ((a 3) (b 2)) (/ a b 1.0)) --> 1.5 --> 1 4. In division, optimizing -1 twice and cause erroneous results. ==> Easy. To get all examples at a glance, see the attached `byte-test-minimal.el' or its log file. Changing policy / plan * Change functions byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply, byte-optimize-divide. * All modifications are closed to the function itself. Don't add other functions, symbols. * Don't call `byte-optimize-delay-constants-math' in plus, minus operations. Remain to call it in multiplication, division operations. * Call `byte-optimize-predicate' at the last as in minus operation. This will optimize expressions that all arguments are constant to constant values. * Consider frequency or possibility. ** Remove/Abandon some optimizations. *** Most optimizations that need floating point data result. **** Zero in operands of multiplication or division (first operand). This case seems rare. If you do something, it's like below, Multiplication: (cond ((or (memql 0.0 (cdr form)) (and (eq 0 last) (memq t (mapcar #'floatp (cdr form))))) (setq form (nconc (list 'progn) (delq 0 (mapcar (lambda (x) (if (or (numberp x) (symbolp x)) 0 x)) (cdr form))) (list 0.0)))) Division: (cond ((or (eql (cadr form) 0.0) (and (eq (cadr form) 0) (memq t (mapcar #'floatp (cddr form))))) ;; This optimization may throw out division by zero error. (setq form (nconc (list 'progn) (delq 0 (mapcar (lambda (x) (if (or (numberp x) (symbolp x)) 0 x)) (cdr form))) (list 0.0)))) ((and (eq (cadr form 0) 0) (numberp last) (nthcdr 3 form)) (setq form (byte-compile-butlast form)) ) ** Add some optimizations. *** Optimize addtion/subtraction where their last operand is 1 or -1 to use `1+', `1-' funcitons. This pattern often appears and more effective at least in size (byte-add1 vs constant 1). *** Other small changes. Files: ChangeLog byte-opt.el - modified file. byte-opt.diff - diff by `diff -c OLD NEW >byte-opt.diff' byte-test-minimal.el - test script to compare original and revised. log.summary - sammary output by byte-test-minimal log.detail - detailed (with disassembled code) output by byte-test-minimal. byte-regress-minimal.el - simple coverage test log.regress - log output of the coverage test If something is wrong, let me know, please. Regards, Shigeru 2008/11/15 Chong Yidong : > "Shigeru Fukaya" writes: > >>> Could you separate out the byte-optimize-*-functions part of the patch? >> >> They are mutually affected. So I'll make and send a patch of >> byte-opt.el that includes minimal changes to the latest CVS. It is >> necessary because the current byte-opt.el still has problems I >> pointed. It will take a few days. >> >> Is it ok? > > That would be great. Thanks! > ------=_Part_90513_10176611.1227097621740 Content-Type: application/x-gzip; name=bc2.tgz Content-Transfer-Encoding: base64 X-Attachment-Id: f_fnpy6tjl0 Content-Disposition: attachment; filename=bc2.tgz H4sICKcFJEkAA2JjMi50YXIA5Fz7c9tGks6vVtX+D7O82iNoETRJW3Yie7NRHDv2nS2lbOW8uavb CwgMScQgwOAhmvnr7+vuGWDAhyg7dpK7ZSUyBcz09PTj6wcGejwP0pl+kc0++3SfIT4PhkP6dzS8 Z/4djvg6PuO7D04+G9EHv9x/gOuju+OTk8/U8BPyVH+qogxypT47ixZxGhdlHpRZXmyPO89S/Vvw 8xt/xsPh5/5o5I8+V/g8KubxTOfVYFq9DdbBV7NFECeDMFt8+aejPx3duq0m61L72bIc6ER5/Atu LuNE+5OqTIKi7J2ql9mVVuVcq2UShFrFqSqyKse3MgONarnUOa5gRFCqDONyNa3SsIyztFCL4K1W iyqcq2yKEXGhfoz0tKgmRdnVEabboQN89yw38SL+RfvLpCqw/DdZ2i1VGCQJhrRHRDoJ1uA4hc7T svAXQTkHVyq4yuIIjAZhWEH/WuW6qJKS1nhJDNFmwqDQCkRVkM+qhcZ0fMNlQ0zZRSImWF9nHtQG o7mO4hDrDNSbuU6ZPMmuJq2w75HKcuWP+iAQso8SXdqV+nF03O3jp9/dIQQY8SeQwiu9IKXW/A3V NM8WrihKNY1zbCGeqmVWFPEkwe6s8GgPHyY+SG6L//cSnxLhgUgjPp/Fd7xTfNhwvEzWZMY31DyI 7Gd+v+ZFpM3kQBzAG/bVuCfOsQjWWLyi1dPderlYxkJZebfVO+y3Rxx4vnrX27G5KL6KI/3pt/Z4 rsO3mNsQBQYAPtUyKArcTnSQJ2uFf2BTOs9xK6sKpd+BBkyHxBBgDi0fY7x3B1szOzvG12HPSk/t kN1g2EiP7e4a+f3e4PsH+NSAHsXT6Sdag4L8/Xv3OO4/ONmM/+PxyaiO/6O7JxT/Ef5Hv3H8LyTk 7R33/zT+3759Ww0Gd5y4fuuy0kCItVL31Xh8enLv9N5YUZpw5Pu+ag99A1w4z67U6As1+vx0ODod n8jQ2+0P/a4e3HvQ//z+ieILSt3Cx0uQcSkvWAJyKQtQXprrK50XDQYVPfs5UvyZZvmCf8F/HpID zNrOA5THw47+jAleocufeZraBMRdkZAHjlT32KzoIaR5C734maIeEW0RBAm64YXZcu0X+udKp8h0 hEdD4OHD/RwAELMwBn5dab9cZT4g02GjZzYADiPleWkFpPbCKG9u3pKbMQGgz2juyWXmXF8FibKC uMVXgLZ2OnH38OFDpZ5zxEyzUhXBlPMM7EqXEiJswqUA5HGuk7Wd5QVhWSF2rPuAarXKqiRSEy0k ILKVVm/TbMU0iizh5MFONasFwOj8rc57A7lxy92is09IPIVERs62m5Eb0iBlpdViovPl9iyRinPV XHTpBiRqIY6BxMTdTQrKgwzFJFxiquuNKATzQIx0Row3RhhikMXF0gbwY4lycUpxboTfeop5OTaB 3dzg2C57hY5gFbiukbPzoo2tXsfYtgxuqRaf7l6xWcrR35/8eJv8qHEMY4/i/0RW/6zMTkgKXQig O/LNbObAzPJKx3z3QQBnwRYDxAfVd1XZgAolrGSZOo36SDxCvSybPNKOGnwwfIwb+MDK53CDLCWE 4xSZtMrrwMk4XQ2RnsBzAiWGOxDYEe3yQC9EiPIsMm7aZc/ARAMUmiCJqzEjZzBBSaFaA+sHSKCU 8v0vnUu1Ppy97kI0Z1jto46jNnC4xaLMJNaAGfV9xy96u3hg84Ad7Daf/dT8a8kd7yYHIT2fykgA FITz+OL89SUuZCQ0/qXXVwudoxZra3Jg+THgsQd+btW3WDe7OEyhwdAy6hMTLU/jeW1XZcIG2Vj6 xmJa2tthMn9A/Fc1ErRAc1gzugld2LgxbGvS6p11hT3VibktKzlYv8ucW5CvN0Bv2OvJ4kNCalmc C686KhfityZn2KRtGXESGrNHwQ0asBfeTJXqItwHZjm3DSdi/ISzmtTjVHqo3Z5evHrJWmbFrRqk NAg2uDZNAZ7/USyNmgKYASpIOVGFSmXKPaggj8v5Qpdx+EHpyF603ox4WxCtjLF0l3k2SzdtBK7N g0f1YHby0Z6M05nh2ykNmvBUf9/cejK7BSiMmxhSJwMc/bHHRbCkbXaL9WKSJctttyE8pB2NttPl 8bXM0yqreZwQakF1XrMCidUNUM6K7mQKTsbv7N6P264YOBPNpluE8J9n245qV5ezVV7UJYsYypbi 96cp0pD5tV48Fi8+kDRsYRum+A0UtiITbtyyhvpXIprObEWi7vJdaw4Oiu4Kej7FJlHjLzrP6sAn 1zcqlzRO5AZTvrMj8tnbpozBhJ4htjPQG4faRcls34I7dskyG7U2t6mLTSOwZuvQ2SuGHTQ3QoRs 7pa5vH/7dq3ddrmtZisfJVsUodlimnUAMya4U2of4NUDdpVU3o7QaMGOUBbW0WUkSLejIO4MW+mc 8Ij0rVUgEHaxkbayGMl8rlGNA1y788cbuGiSzRbQafKrvXTUwh3upXBD5MEXyB18/6M0RI5vCFvH N4Gt4xs3WK5rcPxfarH8UbKU909ATIl33BgJFXWclO7Jg9UqBuUok8l2IdYBEKKO7//SrRGtDSrO mkh/uUmx7rWJbbdPmjkjzOrTF7/+Rt2Pft3usGn8ip7w3KDf4qYnu1sudcL9a7ouZpmtzksTDQ+1 R3a0n2qA2mq/NL2X91xgvHuBNgI2PuNI8GYdGXxsU2bDGJqGApvCB3QxmqjUKKyhTLxw84LK+GY9 p55q4shoY5tuB+C6iN7bt7ZfL+4fXNzfu7p/YPWag31F7OEe+MdsgH0YvP/KFtixzMvlOR8lj4WE LQEEyTnb6cCx9RITSdzmsMS8/b2WdnnQ9JSPmwxidxhqLVIvY/ptvabNNqw5yHJ3Eq2wzZRjLsMm 1H9wS9Cap7DlxIj3CBEfHCSa7qPjPO96DdXrW4JqS2/XNAVby/kOUtxkPf/Agrvahs6CQ1ffznK2 mt5IkdWOyuq65Q9u14VG+b21ZwcRrxPpjWDRWbIl5N1r+tcvegiL/zn7lMpC91ZT8BrQ/w3ags/P L598++TVh7QHr+9N7AauP4jmP1Hf8PcG5dsmoWr5bN02vGn7o0WQYbcv31oZky95vl/f6rWXte3K 6yFwXxdAOc60vxew9ezzo+RaH7WLJ3nPjdOlTXc8+OxwVxtQOQ7XKFOOZ+UVnGohx7TyRmGUxLDh GVuxWE9xjUwxUcPBRgbWMpQ7qn6k5lqy24O8phj4cHf5FQ5jGTeR9mb1xh57bQiyb9ypQ2fTaL9J W8syZH1MTsc1993ut92SJJTbmxK3vdNE9U23NUy+X61zjcse7Nztbt19DI/9VE293/sw1wd8nNNc n2yNa8//j8cn90d3+fzf8MHJ+MG9Ezr/f3/0W5//+yc9/0/Zjnuon/rSlBC5J2v53K4u5Eg+QsEi CAsf/r3kmcp4cH50BFqPUR3n8WyOwPO4p0ZffDHq0897fToXOOSfI/455p93+ee9/hFnufh6whfu 888H/PNz9TTXWr3OpuWKDic/zao0Yr766nkaDnjZs6qcZ/mp+rdgEWv1n8EqTou3sXr00+qXr5Iq jCN+iQEjbz1DQngV5JF6WuUVXH6uHs0n06+qJI/fDqo4G6QZjVMvgzgt8b8G1aevn9Klf9frVZZH xSn3xfI0SHjtS3pNYUoPLPHvMshLEtS359+rJyQo4a/+lcZMaT+F2c+pWmcVB3TCL9hfDCTUnGqm 0R3E2UUWxdM1EcE1bB05J2kBDCxqlRD5bzV4RWH7XTVJ4lC9iEOd0tFn8ERXirlG9st0aMZ+meqY 81rKF0j3d+0ahmAfuTAR8YKSOM/ZUrKU2qZrBIOymbpj580G6UUDJjvPlloObFOOTtEaiQ0UM60S tgoMVm+eXz67+P5SnZ3/oN6cvXp1dn75w0MMhs5xF6mNkIoXyyQGZWwpB1CvwTlr8smrx88w5ezr 5y+eX/5AufzT55fnT16/pspFnanvzl5dPn/8/YuzV+q77199d/H6yUCp15qrC7uFPdKdsoIgwUjD WBKj7R+g0WLO9cackygd6vgKnNGxiuX6sNaISJBk6Yw36RiTonIMlUlfFeDv0bwsl6d37qxWq8Es rQZZPruTCIXizpfMC3nkgnLGIF+fMnN//UgfotU5z1AhlaT0OVLWOfkVmXOZo+Yydt0t5a2eQOVB qOGlEBupDUII1DKeDazEMLZPZChV7ds5U+QEoE7jOhhIYy9wFxXgsirFS6QOWwVYkqQqxtZCJild /+ON+rqaQYTssGEWsZhpHXrZQPJpGSNSn1bAwzj9SUt1SUl4oMoqn2QhNjrTOdU3xHk3Z0pFSdZL ZeMsi6G6MpNNxHTBbgSWnqoHQ7VYzvts27i7YLzE+jooYs3ehbkzzTe59iYZCdZcqG8uTo0gzGNC 5PmLSRQo753611wjhVr3uL6i7GSaZchLZPjCIBp2wckZFNC8eEWVcMrM03seYaiLgj16lmQTmCcQ Mw6QMBWybl1Xz2J512sBot1onQJ+6SWbtc9F9jKHc+flWp6pYFgqOC/1iboaqasxV4lXL9XVueqp R/hlkwoufYlbsNsv98/u0fz9sxlI1uSHFaAJuslSfrusT02AWvy0Qdq+ThD60sC0F6SrgHKoZEt9 JgaqQmyMhFlLxnp8yrfZ7zE9ztUkTiOsWTTvOLF7s8FOtLyggpFrFUynsDXCs3wN7lJxDTpHAzvp RnpSzfws9eXwQ9eQ9WNKSGfAjrK3c3gwyRCSbjw81e9Kn1+UOjQlTufxJC79n6v4MH0a5E+TYHZw 5GFaVLXtG2NePoMwkyJzJ81CzuD9cg4fmWdQ1EFGgFdv/UVG+tk3lrGn+JvxsNcUgSgWyDN4Cs8l YhPcIKrMI+sCvvdWyzK2Tr8iRx1RfwgG7U3HPfHfI9tKVN7T88bc2Z+pI1Y3tNI4tA2tkK9ZQ5M3 KMvMLgcytBCvUS9BIEQzGamrNCHPx0CK1pv+7Llg5dw94ic1UximwT3ym9rsObhLT5BxCtjJ+AOo CkxiIpxcpNqGRuASUpKSPTKBSoMZgXRaiiQpkbHrqwIhldzc6OBlsJ5o07E0HsnIDuVjduIjAakA X7lJOopgXagOfqc31Gg+4bQPuEKRmJFjrpd8hKBaLOkEwcYbZ4zNHYooUPPK4BuEScE5kBKR1G2r xKxnJC2vTxIgEhIxeeHHpmcWVWgSqYLEAk6479FnNK11PAkKCIQBLRCI+roq+6L6Fb8FimRY3qm1 aANqHkXnWQVlUypW9qw4OZCxRJU6SwWGVESxgdukJVzCGJl9K5W5TSqOUco7M+E4RywDTzCYKNMF c5Hlb2krNtejZFnnhHjwVlCIIxP4GHxIYByF6ZGg84IiwhoytonmnAPxL88CbIyNko2ZARwEqK9L qiuWOoyn1BegGG6six95O55OQu5iBZ+mFKrrTZMMTEoPwzwDryXU621NlRcKeTaQIssS66KNAdqX Yok9GxuMeSEXoRcm61csJbAQhUjPkKZbyw6zJAmWfBJoscBmgDHOK5Nm0C5cQGFB6X0Kfsxjy8Lo EIOmCOZIYCPOyVAsrHQiiffKvFu75ldCJT+wzKeZKuJI+5ojVnFqAzM/Sj3GJiYq7DXfoDN56kG/ BhFsh39G1ZIzEX9scWiiuRwhNeXYqoOV5lgcr0BHTZyvNr+5RALumxBPTwNMFKfvpp0PowRaNbqA X0i2+ALF7OAwjSBZZNSOTVaEGgB7S4hlRWbbypNYVC2YkpSPkqa0gcVOrgl/OpyzZktwiWAJtdry wwCpcT6ogDJFwBEyvzxgZ+Okki/ROPKtstDJtNc3OCjtYqIFxQH/IIPS2eiVdsTg5ITCIefh6dp5 RVgKwIW9YYHe2ukz+7AIPL0LOCJSrp/uWgSSi+G/Yo0UY8CacOo2B6MNdpO1TYFtf4/vL4IlQlvK NmWjpznGSpeaeMo3iAVS2TQVeOZZvY1BNd2pOZkto3q10T2z9UpsH5Ot4ERckgaKUs2EU0ffKjHI qdRmvT++OP+mb+p6EQDZKJTb2norRyTydUhLVadKiW6nlhesB9C40qYgnsJ2E9WhbXY4aBhTo5B1 Fgk/EjCYzv+QOIwRyjLT+B0HEqvaWt4Eex4df/mFEwkuNKyzy0C+yj1TCXweXAM5ggqar5Pma8jn LrD83Z56cv7NKT2xIE5dYm0CxDAfPWsT48vrNmF7Gbx6swwONLSLyL59LNw7vGKBZG17Qbq6vR5d 3V6uWUHiPENKkdnHOSQtoGpu7F3VOFRb+7VSZfmN7KJ/F8X8vS1KsbOZNB3qDJGyKSlZNzp/Rud7 CNq3XtrbQvYhVG3gL7LkSv7KgAm/CNqAyEVxiovUwpnNHQ7I4SSf3AnCqUlsbLVPm/YFGWk9Kb/z bNXfQE8zRsyaBkh2oSl7aGAQJfpS0isZSH4spS4n+3B0ZAYr6sJgNdrbBMzpK+ubsdTMYK7xc2LW NKoS/Y7y5SbFMhJ7Q2sRNelC2LDtwOU8iOzs9tTnkQ5O65yGCgoe5PMgOr1IaSi1Jhc6SJ1UXK4F FmxrnDXzk7Vtk0BXIfL2OgTSRKTGGDOQtLfP25N8hcnTiL7qAPQ6Voo20a/3YEOGyJrG+iZOMpbJ tIjqCFNBwCwTauwRX95F3pQ6BIyPX6hOpMFmrjtSZEk98UZ3TQMO5gvDILkCvsg9eV18Z1cCG0Bq +gM1c0r5Nyt6acZxyG/KHuGcWl9UGEjVExEEbmzR2DynmyYbLKhKXMtomx3Y0THY0UFk0/g/K2xC pVpyQz6tgHIeptTwyDJfkfWR6aeaOje4SQvwVnNpN8Rpo/eJpqVqnXvieUBvMtmlZKPQNVnkLMug v5R8VGT6VKh6PaMkK15IhhvVsUljkd4V2UJL/WAqwiUFT2u5ZzC/n7KcWsJBdIXkFCVe/Ud/CvCw 0HW1wM1darkj2+W8H6KvnzrU9iLpVoyUNNec6y5ANYYLUZOWNl40e2bn94z0jbcMpIQXQ+DiqS4e G6tvwWN/MyYjvSLnl4pbGvdbzEMY2USvZQ3PFNxcHmdBxI1M1JUB1QNGbyRHgqxoLbA3YYANyi41 NU1KOwFAIHQEUBJX0iYtFO/J6sgiHWCSfnMoXvHjTGObgMJsllJgQHVBQMDTMZUkSX9MwORtnPF7 pDsUkPIkte5CcuJP/3GEGsmvkwAV1NgkTso+NTGrSjwy/bYiWPBTC/c0tpwYvH5NKRDMeW5z3rBZ 7gxIuJpWCaS80fk0ri1BjMpNaoLFiSlqlTn/tDZNXvxn/oYCPUDh6M01EmEpKiliHAm2bp4WDw6w zftbwgPpGAW3a2ue35iGAgdhnyMo6Z7+kk6TjHPNWKfT7l/vcaaSXGlf9akt908l0R/HmfpNKSk5 s3Phb5ah0v65JUCQ82e7bP7iPN2p5aZmVZATtBkS9TtftLJTQ/osz/+CjOJZSpzxhf92luST8EKk 2b2EMI66Ti1Mj2/Ij53HCZwrZBHMC8ZteeE/CxRSq8K6fLAWdTaFe4fhWndA8zHQg57YHdAonQuk Qw9Gqd1AdZErdkOj2P0TnUlEhCaG5utE5ves/8qpHjb5M/U1Cmw6qyGvW9LvBzylnisuem/cJh3t Jp3ehHQ99964NucNrrlwBylpZrY5r7uSB7iXToPhXtBlew97FqJ9yL2vm37qgS3xcLsld70jecQW kVV4pnKHulBEUazpHfHfYPGpP2ArOtUMCxMi4R5RsadhkmzmJ8HSH8kJFcRAebRDLy/RcRV58ZLL EJkGR7rS1MmRY6hcvApQdS5N9mSf6Jos3NkwPyDj8EOO+0rTV6QSK9/uwzaGOnysxttidURLmsdR XcOw/HOkmkZ3iDLlyFbW5tRVLWrsrHfEL3fygaGsFDta0pZ7cofn1W+c2veCzcTmDcuSutB0SAep fecfzGvHDvdTji5E0kzy5Fk+BlDLnhvYW2PViYyueTR8mNbg0pwdCsU4G+pWAwS9QpNSPVOo/6Xo cLXs0NNEo3t59q3MNkSdVe0ppaB+j5yPsRmiVKaBcsGzzQkw8XV76E9Ya+6353N0gE3tpdHsTGaX m1RdHsO2HMNNJe7S04BEYvRiiWzrJyR99HaJzsa3Xj1dLrXH1ifyLfPkM/Vu2fSMWLqmQ2B60kJK JBA2uzEG3/H+UkCrvQ7pTIYZm2SvFbwgZ0ddl2c7/d3S8s1O207/o3DOvG0daAOv8tLn/7b3pt2N 3FiCaH2VzuR/iNE5HolMBTfl4s7F1bbLrufpKrum7Om2p6vPmBKDSnZSDJpBZkrz3vvvg7sBFwgE AyFlOtNV4rFTZASAQAB3x13guXUMJWJy6g9/+s88s8PD/3JoPYGETsnoGxQyqt16DQeJi9VysQJ+ fiingOY3kzw7oU3wO6dW+SvzAobcBESvoZVzzjvym8l9kOuBkv1M/Y4zNPYbcgv9BkeHYjWmQHCz KkRzDg8c1amM1ED7xGdxcwR3Ou7Cm3Yb65RnriC6FDQzNPWXbO7vrghKebF6s9iUKN9Y+oPwhv60 8GXOStjc4VnzuAhI9UEp9BpmShSUPRstPlq5bS7YfEDoAIdURlLBYdVQBvM2OCPGOR+6eNPMWsEj 3YLCx62gnx8C+fT3a/BVISERLeKAACijYdAlSmy7DepyoBbDsR1MGkjU9AqVtW/QJf/VtGLno/Ni iZ75iy16nxiRHXI9rkH5obO0DVit0ZZOB4AFCfVT1J7xgGWBAuQpOyxMgzhqo6Tm5CUMHJPOuEAN x0Hm5N+xQE+nCl8OvJzITgKGFHATn5HvBZjHDGpvyhvDcj1k4OU0a4FLYSB1jTwX99CbjBHCAQMl js3Gc0OPWMtek7Dh76DFOsCIPvhLA/lWfq6wm/NVCPLYKg3qGTgF1KFnrw6ceNnFvlGSCrTXA4Fj lA6FkbdTwyqO2CyDqiuRp58/qY6NND8HVy3wM5vC+s/NndmRpfz4QBjS+QSje7QBqkJEKhV9SLg1 X7HEj+uzAnF/ty1BgEI6jJKUeDCv8BIhI69f+kIcWm7cecmVj7+lYSmzdyLk18APcA1nC7RU0uLh pSP1fjLXJlkNn4d0rsA12DJ53UdRiIbPg8w4lIvOCb/2zdcEIE7qJF5nadLJvDACB0u2BsFsa8Ex EQJRujaPHTtGDiSnYkMtnG5JMsXsZ+p0LA5U4MK4WsAzfv97sJJX22J+qIUf2fJjloKmVc4dWAj2 plJrxHd63tR+9haRCJBZy3y6NIRqdmNPlHDBjlXHLbrAXfDJqzB4cuIoZzcDO3PciZ+FeZ7aJRo5 Rqj2JDsVMcM2nPTUjzMlwnlbq+LrLC9G4KQH9/z5+JBB98xL/RFMW7t1hocG9Eb8IiryBTU/eR/0 mUP9M0Ykd6u5UaJyERzQ3P7fyPd1umTaQXIA0UvcQPx6NDXy/w34EbEHDGtREqRDA2r6eoK2p8pf Fgs7UaC3S0MPllEpCsPpWGbl+YcVebmN2zav2ZjFAO/ipOf/PqvFKIuPD5MGnh3jOlgynU4i9/Cm LCicglfbNVySs4IIVUHw4sxQMGqP1XX6fmjxyD2R7jSRQ28gMLug7jG9QDMpq0G2RdIDKJEVr8ah TaokJJdvGNC2oOSEJzhxen2afXMMYVYFH6pVS4g1kyNhPsP+37SGJz08AwNfKDUGvKRbVqHoHCta KBh+ze7tIEGBcip8J3OLhZtix3Bd53jYRRIQ6SzNY6jgSHl9JgNOXaZjAx7PPqVhTNwB94Zbdy+6 0DA9b5HNerEjLh2FgnOLkTG3UoQAHMunl3ICOdVinxqFTzrwBCzcFfRHMuhMS4PuKwbqvE2SW+5t b+j4jiZeDe62hm17oi0EseEsuNDhWfuguCkELnpDLFarVtZRUPv4eLtGOgorNZY2omqHjemSNk04 osGMiXth9isHHpRGotw68Onx2sqQbq775cxyjRa+GYtJeL60LctsXrx15uojJ2Oq9xdaaQ8dzGuZ rrnpqua67bxq9Mu9SMvS4PbblbScxFJyDzo0BaU+h5Lwb8XCF4i3Bv3CNzoMA/9gKWEqKat55Tki +VBHUvvhAZ4tgbIHSAcosDTSDx1jrYzQusACAOJbgPI8yLvkCwOd8YgUvEWnJAb97HJqGUSBQ5pe 7/jUerRDrAOdcWJvz4Jiz8MN9j7XnEKyJ/p2DZQphIGA8oCsdFW8RX9Fja+yh4ykjArFVoDB6oJ2 sy1PlNyknB3P42Wh1Sg7ygxy/2378uVnf9sCluMMeULYRb73lBEJz0tgg1DRxtIv+dLMZ6ksSg0G IBiLRJu30+VrMQHBY/mYiDIi4D/Z1yBrgT1rqU+ilkujvf8b+bz9566C4BNca+XawhFUBqCNbv7F bkvDvXUH7XiSzMYkPHU3UvOl9U2ubgxsXNtf3Az9DmgkdPmF3WAnA0jjxge2b1/dyGmi3zN7lvfA t+FzCa04ZK6CYU3lhk7toMtWH4uTcyYYaPgauaXAocMODlTJ68aOtUAUBvcIXkaxeq20qM1S6PZq zTKdJHZ1RnklbDt7Pbyu2yoUL4EKeFBFeRsohqEKjK5WS+TB5WbBYblbZVR1EzhhXfL4l125LdSc glD3vZTcABG0MtuPo2CXZ6TeMuE0tG2xGufbUoynSl3J0B3SCEbUGZgMupwYgg6WU4xLm98o8DO4 tbgY6K7Yc6byM3H/xVwtaXaCEM3SX48GsLmQbFYxTrmpsebgQC8YkOb9qjMv+7HSTqweZom/Ws1G DNZNg5X3NSptdMlki2X+PG+0fMNWI9iCecqtv3IOhZCdIsR4MRZbvgnLBtRPBsB4NBjXNIShxQMK Os6K9fZVjskYVkVVPWOcRY997g54yJGABRyDmXawoahU2xo6OAJvGyuvYl2Gn5bZh4djPGnCCTo9 YVzx7ij2LsqdhwjS2Dsv24sNsB7cS6NDFCHs6L5mSSqTmuZBDGYEgqWhzVMaTQNgF8ofKNAsqa0H RwHJAMLWC7bjoL78F0vEN1k1WlSkg+rOAW9h4wvCkNwe3y7a1L2CNPXRIJ7qJNw2JNghDYOHhXvG D1EDe1d8q71eOUroaoGfvb23mym4fkGATrnaVRyFwgRwAUImSR0vrj+jlBXmSwLBZrHygEVfw5ia l42SXASL5sYHpuZLQHxlSvfccU8zjNYfUV+bcQojctMYO/MuCnAdHi7IloIK23f2fhONNnTlsNMb bMN1aOwxib5zAv57uZfYDh4yksqIenlxLfoA/gQldbPg0ya4wMdQ+fkOnAsdzyF/UZK+KJABJUdw KwKIv1hsM4QxcPE/Jt9kiIMs0K1SBiHvSvSR3BQk1cEhDsiQUenWig0Uxmweho5r4ZugNZOyl/p3 ejRVGUVC7h2TgshU8ReFY2MbaYbl2zxq2QUNZe0ZiECn44MpoEeg+sn6uuWlszQUenBBYErT8/JN YXNWClvnREkSJdbOYtvgkyj07dmM97KLOaMLnR+9qOdU1/DsU/WaFYFOHBbz46NeyLu6IKB+QVmb sGJgGxJGF8ZP9hOsSx0DMZhxAzFimO6zgNPVU0l+wf6MELmZ2chNhwIYnESyWDknfewc3PwhadXS RbWC1QBkM9vvG/aG3mEgqI2/gYPUYvFmer4kr0KJVLDqlvT3Q+9YFaxkKr7Mx5jEGrmVNjczeE0y PBraUL7GbTW65sAyDq1LyT6RvgYvaaBjVjUk0UOWx0UUUM6V9krjQgsi10rw7sfYiZNgbFO2yllB MhSzcBSyebjZohRqR1C8mazwlnDQ9FRLn+IrG4UVEI8y1HbN1ghAZJ9USDILlIUymtxzTh04O3J6 Zn2RNGOa6yzse0036sUcn7Vj7OkZZBzzaYc7g2B0j4l+iwqr7c4yfWQB5gIlAVppKqbI4tBIE0IE JQuG9VsSbmRXKSjjgNzmrRHjy7eK6fQc1/IRxbrkTyul/aLZIDs3DBHdNQyfsKKm2WO0u/go6EIC +OjyKquK9RS8ypd8gikGQrW2uxVMNDdoviWKllmryxFfBECRpD6G1/o9soWKKTghk+CusjguNKCH ArJh8Ws2hMFUTqEIMplrZiX6sUAwecbxU5ZQgO+gnQrNBBxerKe8sg6YtdvusHaq6h9OGCNDwdLE Til64IX1hnf4cioDSdgBR4aQE9aMc3wYgnlTbAcRXeo28qxlSvViFr76Br6D3q4hB0JNHu/F9yfc GDtA0v7Aum2nlxhTDERBertX4EY4F50GqHnPlB5FQW0wd1wl2q/TpNW/7eKzMpq66otLI5cWdtmp 0rSVXdHACNLsz9TuGF4KI46kA2wIZoByQDbAOKe3YOO0hahhLCBuZOeWLZ5KBooSqvly1O0NBUDh HAr224JYMelmg3RpOyV9jdkhjJMBHoGWfp4x9fuZvdLBCjfITpPJNy4WOad5SdQgi8Pq1Aq1aJ2C FJ9UJZ1LFhsCi2SRxyAXGAmnqA03n5/SGQR2xMYo+7/CuisVD7IIPBnQOzKjGKG3C8joBXNxz87Y YcQ+ncc5p1gmTAfKoAhnoReQv4MAxHr24HkF2UpUVkU3y5k0kTOpFq/GnuZ8/tqHBwR2/b9nh1Wb BEreEA+4L5aDYsnT9pywjqV9rqaLsq4uROVbyg9OLotteB3c+3N/MCdvZ+FagbwGGtGqzB3QO08g BrPI1LQ7S7c1Ogms7qtes3yBx3CYRcsZmUQQ2CtbyKCa+frnBNqoA8sIJCYMDKJFbjtLwBkUNNQx XqXOfAtoVYFMENM6WWwpMexmjQHVA9f2BwnpXZX2YMgd7FHkMdI5s+3HGafp4kmIhzkxqQ0b0zyH Jl1mwJmMDmxZ1zfkbTLbeC09yy3l9yXtzGtkbUKe890bnshBWJ+l9oADf6qU4/cYtsm7jc47cMuN 7L8iTY0KbpmFmG3C7n6LNxRVI4torX6NqjGeLXPkHgAkJNX5BKnrbrWr2LczZvZ0kj9+uJBYHfjt Geh+PUIZQrHgFYXTAuNAGCKGxckdJEL3xqZ/Ix311W4jHLyOwXyk7tUJ5NpaSmk6PqEXySyGW6lZ EXsDzsiiI0kH0HHRYaYV/TCdBbFauxBik6ITEulhPZPeWgGUeC7FLktCIQpits4yW8wWeeD0W5yg S8zcynJZ1bKKpNCR9W5T9AIQcoWhlksKeVlzgMah9oejozypxLVSs8Gq2hI44dsw5ysX6xF6W8ee e0LuLRkkUqSoU/MKQFc40TdqsX/65vsfjNy4XVTzm8DJk4Y5plgHWjob4rkVjzxlB8BXs0Ey4sPB McgnkaEznRpFIpLkCeRMw4OQ26H1FNFuIvaBTStCOzr3XSrn3qE/RrF5zgRgjZRDeHvMhythHQTA JnjqMmWxeSC39gGUxcpVMTj0+WyLU0KdnbpnkmsU90VQVzaJ0yAzGw5EtiqXKOvQ0x3RdjU3tMHg r5xIqlwOGBtO7yOGXEzWC0LwBuzKzo3AHYWiFw2IcZUXTG4pk81cyXklxAiFQ0FCCFC6MS0YCFOY WQyyzHIypIHvW2AeC14iyn9V+5+LHwlCkC706R2VWFd5bRFjzCPPDSIybH2/cQY5oxadSoY7JMMD Rw3EbzCz0pvQUdx/9ywX1iQWq5aufvu6vCfewcVbl4aoXKuSJzbAgcoykjf0jn1FcDmtZ955eak0 2k2W5+iPZy50depR/qw4swiOwvV5cCxvN9d6Vh82oDmZh9n0s1zmPoZroGf3HM4Ri/wOKnAEhyqY vQlHQ8mUk5oeijYO+CYx81spSWJGpJMa30hLHmagvXKqP86nZ9GHHG04c0YoCxjEtA/w+KHEzRqy fijWK/XaqAduMMsACTHwGrDGNj8rvMXAEXf0uMSLACKUdo7V93mh0IxIPrT2yDPIZGBU9yeB9Bq9 YgNqjlBA2DrlFs12Ybo9LwLvarBpwzDokFJon2mePTFOaEMXwkngK9em6Ayyrhe6nxFFbPI6o9Qj eAjzdrNABzV3F4SX7F+/+utPGAoBuSJs8hGHXrxP8iQSZ+Dlvvof6GIIldVsboU5miW/+/ZPP3H1 GLDcXU1nmI8S0ydS0jk0CWDyaibrnDoZC95wtpiCI+DQwUWlFgFQwbeCPldwUsaZLOLTg4lgS8re 5tkUbFIhW8lHqu1YxKQUCkDxbRpHScpJm+iSwR021CIFgBfhYs5OP0d/pTmvnBQERYXEGinubJzt ws/QgbIPyzh+yAhRZPZUCI0R7OAhwOVIr/N30zxK9HboWOlwOM8XioVGXUFO3YZMAZRltdI+qJik SdZqEHRgh4mTxiXc8x72o36FSn/pgkvotnK2U1c5NsB26DVur9mYO+7ux7yz7Hev9eX3scFqEd/F /hKLUE12zDltEBQna9FancfrkD86wd/Qt80CMxNUmMHQ+ZvW5UGoNGkB1widIsVamorBs5gCVyco UzNRFXxPyQ/gIYgD/UGDfqUK/mJuIy+iVbRL4pon7siJLzh+ozc4wlF11XTHARWDc0OrUt/EJlUt Z9eelN6wqSia/NR9PFF8jdzoFCYJQ7AFISh2SbGGnEbeSbF6gAM1MCUi8E9HdeVMy5S1Pk2YtfE1 5n3PBGFGBMmPGjRJJ19QslfQUtbZ9Ti7pqT016te9vIlXjQ/4Y+938uuzzDS8JqSMiJI5ygrDBtg 2pDOPWDNghahvgeTdQe+hjbxmmBoeyLA8Y0LtcFxbAeX/nMZCpiUR5EmMC1YtSgCISG2wSeOEZkN WsPp1eAVL9hh3YjOYEEw2Epm/LrivDEAFGllyXU18udSXlLzqOdSVNIfwz52Wcy3QVMermn2AUDd 4gViIHmXd6CqQfGXiG8AZP++zrmcK9YfN6O/eAkVBk+m5xUlgYNYzvEI6tLhJSpULrTly9KQEFDT 2KnAkWy0JVNhS0nsUGTf//D5X3+AnOSbS6QtmAISCdnX//NbznJ4Za0nOk+bKreMIv/X5SZMtAz2 WDrWzTD9OHrPTre1fKxst12sLsrNBiYvJtdNgU5FRBrBWRAugojPaUtthk5KV1iKSRhdneDIlfLq F5R6nwaaokHTHvdNaWoDyq5pD2opTyh6SpkBTsY9VDmuyjdoa8dc6m5lIfIR5J6J18qahklRoinW XqGBOkYLtJE9Eap7oZGZTQx/LjaXZAmEzT2uwi3n7B6406d0xgN7i+aA4oqVeLPtazYqsBart9fX 1uWYBXIY4mR61rZlaPbiUhgxbA5b9sBWBYocJeIEM4N7f9OJv3MiIFiNYwPW/V4gqxAd3iMvZGES q0CIsfFkIgrUBG2vErYTKNreW08yOr9DJWGAuB6fopgNu8haro80cIEGLJBDgSV3RkN7ALqw3gfb WDkkwFkKwOuMKs0ILnLgrrV8uiEORAUwmISWS7uzfNTCsFXOVXZmV25WDQCpfJBkSKJ7PLC5WGIB i1KNpfvIqIst5UjAJa6sfZQEhWaKa4Mh+IRkpzzcApR3p5ZSWMH1UY3IuKoADNDDwUK9cjtWZAd1 UUDP9CYBV83JyqT+kyy2aBYTUWelLKUTtlZ+LVX55SvGNRK1Xu4qN8jz57esy/ywZwU+rnLPoowa Ll6oXglj+57eLBRYewYVZL1NXeZbV2VuqMbdodgyAb2hky4xa2rpWKcydygaa59H6XBZOrED+T7S BInUfkwFVx9CQWT+Bpls+QsUWmXyWXAKIZyT5891fDLOcpW2RjWZBE1UmqPvxMYnOXQpeEBl4eUJ yA3IySvWDOZ4TEX0eey+6R0EcYsZD6ZmavkF5X/tNvAkNrArJXuoiI1dKyIgnH+G3wdWAwrVH49z 4SE4nXCrsxvKH4Mb3VyDOdh8xY8vqOa5bIkb05b4HT/UT3LpNHUN4kgdXugWpWuBjhY81VbvNpu9 /7F5w3PzlueKYa4JCfdqAFeLlU9Vs7/sPFHTSmU2XsSe00irwa3J8UTIsXlucsFuIhf0UAh3MDw/ +z/FpqwOMy+7WFAx+UAhclBXu2b/ZO4YmHp8q7S1zMSZhV+425EnQHlbF1oyzXIiuJm1KdUno0Bi ZLe8M4Io9Hh+uyrgDLS3IOb2/TOFEte9Q4sGqITyxBWVDSx3IW4EBMl7UK5wvv1J+d5HPdz3qJHe VfsgmyVVk1jQo1/WopeaH9zyipqw5VwEvU7P9i1gAlFTD/OWNPa0fN/j2mgoWj4+CqnI+gz4XH/E Ewx5oRGcnwtKc1GXa8K4vWRZBoMlw3LrcSJNqYNulAh9O9m3L8T2Gym1hBaJb7794as/fvVXZ8db rNhws7DnmJbqMz0e7Kc/dez/SGRe9IJAAwl4/0EqJvOy5MTuFMPOgvEHI6d9Fm0UFo7ZpbQGIw1I pwdDknlK3zzpJSdJOre3evqROT9zHxHDw56AJcc9U735Wb3XJ4J3kXlmC0gjezdkmjhkShZcQjRL QKHYmYLPw5cFlscGF7irgvJpysbgeQYAFsODUGjgQABqy2w0CCQhBQxDoPZffvft9z/0HJQSMHp7 HQrct0WCW6OBTJd5Ybs8H4VENxTC+5CZW0OSjxBEvWkIzjwkAU+sQYQJD7UUSaJc+BqEgkPHb0MU 5Mml6xCN6HeQgHkx3LsD9i3Ly6sd1Yi4GzdTTo77ZnMoQCoRmSOnEIRQYfP4kkRopsqRK0HKLy8V hYWQ/VYjeKASCUNPDMhnVG6Uoo1zzXW6lqYp4MjOeNbgObhYTTc3apP8s8+o43Kdy7U0ngSz1UGt Jz3fQCDu4egL7tm1bVJgvKTTNBSYM5Ic1CS9t1dOGKz7Na1Ny28+KNfMl3WjY2S9iGSXrzEBx35v B9xvbFG+9rmj6d7sLa5t+M2eCuVrTocaWeW9axyssMy7oaIAVq7a3gQAE402bz641kaqOjmlWBT7 JO2W8AkkgLr8hP2sbWHX8ZFCPNal4lgJk30J5KLeqpcdHWVH1VEICFSVQWbTVpeB29mOD81QLX3A lN3j5v325iL/S5c8oQvYdaT9sL09yUTS4Wp63dYhPLi2XY043bkr933ZPs+QjMljDUm9fVcwB9y6 O8VDvbxbdz6C7zwGD/IiAeTCB392iz4vXt7iObfoM354iz559z6gGHbuA4Sucy/k5p17kfNH115A +rv3En/Hzv04hfjt+r24Zb8c4q26PFTWBkW6tn5WRu25bkY6u02369t16waZAi614PoEEJvdoo/I rrd4WNeO5MB4fIVGHIMPb6Aq4UxcCSkRgHU2GGTZH7hksh9zsCzL9aFkO5IyDdD991me/ffp1QLr z3yDKchf07hQFxEFTQzz8uJOwWJlZriDIsOFODY/xoSlj08prkEZk3QVKFccFOtJsqelNQhAocn/ xwg/b6abGS8ZDd6yXpy3NSq/sQjoCW/lRhzLajkh/YDnaMpI7djgSa9coS1fh+IfHg/WNckGiRMO c5Tvu82dKzaAYE6+dOtPK4hvF7H4ZWiSh45uUrjwNIuWhcdGjd51uhQQpFOQLLZmC7hkrdFpJpRP mJosPLvscgGJiJaUxXblpwYxgx+fYojiW6qlAtFUnK/70MVvYSo6SrVd7TZSUbug/lzDlxRKMPeB I8/AW3IR6q2meeLMM6JG86KqzOVZTR3HZP0HnA+kxQOKXabF19VLy+sUKO7uhd2zXxJf00Hp8OHM 9U1W3cODELROWiwcjRBcbryN/wF3CZMCmjkcc22sqh0cvomDAweBaHO9BxvlxoIGPtRQFAEJyeiO wDHwHGHclmo9lZbZ+gk1u8SE8XW3c6XzsDcM0gnDAxohyIACPYWhgT0dVJAd4r34rdmn19KMtpze RM1jDTBBKKWgAmPbbjhbbMWRtx7OUy6jxSbbFhCFTTuKDrJTzM1TH4YquTVDCmRugczYbjz2x2Qw URDC83JGaqr6wYZKiqKmVNpk+D5VXJHpx5ZSaFJOBbjNpGZrfTxiToxUmGuxrBtVIjDJwNQElCF8 +5vbDcAzPUtlydjrhsnTZnq6D7ptTpMQL/gji36+ma4uXpHtnMO/zgsUbFbPstcLl9uN3gGLXdva J6p6Tmi3yp5jsL+Mb+Sjn6Hx8aBOdX/mfTz9Zz1dSf7gXj9Gr5vIfZaGrDbS3a62TqHAq10rSORt htfU2xEvZqzLPmAWs3AbANGo+Jf/SHlN94JMh4guMMvAhLS8W5DjOethvEsmvmOGxcBVaoI3rHQH WeepZ5hmiWfAkShMeCJF4cL146biF6bYp77Z822P5UZiXMIRQuEAj5BUHQ7P5aaeSu0g0++z13yL heIcyaX64JQ/GwpiVp9lL4AWftbLXmzo78uXn4VNoBc1k1ZquBderXoY71WxMn+g5KHZFh6Rrqpe 86m539pNJmKv6ufihIBkhZ2kmoS8Wm2U+jD8eCy7IGN4txSHZ04TsaQLvNYPOSQTuw44DZDqZ2rD ObIoKx+GZg9qrTUEkicaZ1z3cdUr8+TSwdeebh7+ebbdLN5AKZGfcYbHtYee1ADrZxj/lE7z5P0M RfTdisKniWuZnLRJ9vs6aWI8it6pzybezM0xXKnYTIP1a2ZXNmV/ljlewGBxWnc9PWmispGXrw33 zzVXNk68FjinqgwflMSp7iHszguQPpkOGpQnfjOlEdNBumki+Zhl5Ee6ix0VKNlzSepISQKyWbmD g6tVcYlm7+fcBghMMZ2dkl0ChTBKaujSA7qsaCFlFphT/NKiGeI/gH6Pj3GVy5k0mgDPJ0pxbT69 zMY/4k93cE2I7uo0uJdFm4yrduCdMj/yD8f9w8va1hzIg5zHokq/pTVM2TTLNOOUn6Uya0SIpw2f NJ9GNSQNx3GPjxy3DU+2wnMk2LFWyy8eM1N785D29nBSbE3Es9bmF6Ub38y5fXzItk7NaR1bmmMj igf0UR3h3SghyhJnwL+ShJrQblAs5Ziq6RCleTiZ5XRbXt2682qfwXxf96ZcXBJ4qyUPezEslUr8 tl5B1e82N9DoWssvx5TnqyhDdl7+fhlYtlmKr11P4vh1IeKIgWS/3Y4D0tVbc+A5ch4IgvTMGCL8 nFL1BTLmrjCBBb/1QMwntkynMuli2QaqHjddVaRdSKtju1y5Wq1B83KB24BNBYmu+ppMSNwd0EvP RrwpMAkuJCwyvSWzAfILG1BuHbAOG5JCkvFWZGfoR/BoC79yrJ4krpdwqoYoqpjfGEvd2q392EKW 2WoekxxdwtI9EH6jvQmunQMkzc2x1lhZQma6RxYIYIcRUihr47m2egAe23Trwq7D1JOyInSbrXqB 9dZCwn7Cxc0sGcF5tVPrNR7G2zOlovWsxjT5seea9xPbR/2nzK2YcZxjorRlHKMqVKXDiAdRkN3A yTqTQNZRUpQIXYyamJNsgdk/YIDQh6rApPCSa/OY5Luei3R0pg97ZaaznzqKZoBT8nOaB20PbaJX eMPKD37wYpScBIFr76MKdnYgbWttVT2lmMtWQ5uWrVuhL0Q0YUAt48RLqCwzhz31S5kw4DfFaI2k ojq/FaIrNOaTEx8MaqFcgRx8MfO3vNdu+Iz5yzCctK8OJrFtWiCczDtaI5BwXRj2Ccbk12AKB9HR NjVVQAx8n720kdI40Dinbz2MCojE2Lrl9Z7Gu9BlhTET5/VV8Ywd5fOLV2bLDW/jn5viEjzmXUXC GSaAkMG51n0+rfLdagGNTtUl9C7yLoLSYlvieaa6bpujPOwsyxvKWEbUt5hCWZjW4zNp1wAPdhgt U3x1Nb2o8sn4uMrs60riT/CDznarmXnSj9gOdJrv+et0dYNnYVUJqXUpj/50hREEyxuVLZS0sAVZ yfURCWQ1OLHESQDthGWp6wKeAoSEL1RyxWrVQCE10O4f0PU+2HqahUW5qp3xVEB+o4sLnUOfRs6Y bW3R3tQi/ucxUw+koBahxhkRZxvOTX0oej4iCptPsA9Yk8OgvD1PQGBcloZ95+bCYor+E0jq/Qza +Jz6i0mqbL/oafN02SyhnbdbX0HeQYVTYYLFAg/+p1vKSFBWhUpkQqk1MVs6p7tmb0ib0YBSdcM4 lLybA1wgbwJmX0K7walKXgjJkTgfjKRKIx9Z2yTHxPkqZXxl3u6mhOLZEuxEbwIJ3vEaekcQ5oDZ m7KHg/QePIj/3OFJX1PmXt/Pl8zuVLVNv5Kh+YY3oPzPhnL4OkAK+j04c7g6U3bFXWERiArhjJ4l JpE20IWbZHC13NxIvhodf+RyyODpF1eieFtSoTk6YMf0yKbvF5REd8bVPtCNZFYyBLxGGab0S1RU 4k1CcVgSLYWviikk1VugmWjPa3JOSy4mTpWOC5TJMNbKloogej9FdlByXh0h8lBt1hYHsmvw1vSk bD7n+g1nZb3j+RSye5Ss7ZF1Fzra8iJTSE1rJr7auvIeekWwxnQJNf0goydCmxmIw8dozXHKFoGw yAkduL/l8Wb0WpjHVJLWuloHbsloat+YF0WOYhDwm+xqgamh4cT1Wf43Q1qJcIbVFvL5qhKz5vHJ J1k/e5jl2TAbvszGDzMjObzIXrzMXmafZUaqgKxK0wuoq0EyMqROzaYV5FmDvIdmAQ1xQqdZ+PcX 84MLbVCxv3yO9gmoisMXfKpYyWVMebooZvkahqBrmK+Das8KM1XVjE27i+l6sZ0ugTMC/QRHhRwc FXK0N8L/YP4uqGgUiCU5JXvCr+eFIXyQxh5/kXUWv6ryqfDz7WK2hXKKoDmat+d7mFnoAuGv3Bjw gQSX+WIllbFwdnCcOOWc7PpkEX9xxB8sLUpquZlkAXrQrMAXhWe7X+DnBTkmp0bAyXmF5SdR2ll5 gaZAgkQzhxX43JsRiuUWkz7xmFAZA/63F7c2Niu/AheyS3lF0Kb4UXNZRCv1zOdL8+LQBF2ZFkBm SvD/pQvFtXntSn6ZPX8NW5tZaMgNXJXLndnVtYyxKt6aPcftw9/cGmrVAKTI7+rmyszktfyEPL90 G8bB9DP4L70WThIZ3HTLf/CGLRSxgbm8WWC6QBqC3JDm2w1o31tYQMgBbv5/BVBv/nIZS/WVNx2u GFqFN+YUsQR3zQjQNadp4l6bS4b+K0DDqm6rvCrncO91cWPUzRygDduyduFjTr6Yg5hk1iG4Dhcu 4f/xKCOPUhiivDzP2FGUPTjZ/3Np3mo5XV0uVvPSNCTJBWAWv/H86Ds60GEbAF1ZB/DHZ3kRdR1w sjfYnFlZPBesYqndjLAqrreyaqDUsHJFXnRuXUxLswh4FrkElIcAqzVMLoc9oW/0aGhpKNPiOme/ RcYKc/HNotxV8rDQXENHeVtDQcwIm+lsMV1VcHtWXBpKaRgTOnxsiMABKOaQRkx6G9XGYBJ5MUJ/ 1HQMYTGLueL7cKHAOBvOZw3gZdoC9ax+2WxZfcnE41g89j3Xe8+tmH+YSTKJcBcMGKlfnOvMUdHq GmGYHSFdoT+5gmRa3CSJj9MPWsuIAuaeHqhfEQ2uruh5c7ftzNUtmE8dAnJzC0duyN0aA4uMeGk4 zW5JrwA9KuQ0Zh/opfA35JsyhHpZu+FQx3R9Q3TdfGNSzmDOv2asCQM1kyqIs8uikh+vCsgW5nq/ qi42pREH+adBjgUTDdtfGAz5azpvIsW2DRLnTgrwGfh0s5nerNE6idz33PBeLB1fws4hWdZMFYBR WDFssfBaYKLynZku/iI+K0flZrWZkK0zq4HhvpTSD+6YC9OLLXd+BSgMJ6rl1dUUuInNy4m3veLL 9uflsjw3W2XooL1kVkv4m+pH1E+3M2tcokABETzryl4Hwq86aj7gXfs/RiYGvgkrWcBKGp2N8BDy rm0to1k7hzTirMhN1sQx8uV0Y8Biq3hDvtzs+KfPE6CLjeiiInWZzYnHX2B9me6udRFQ6rx6g9qA oTWWE+uLjBXEV6ADyBqOTuXrssIwPbpeQD1JdwWLM1f42oTkJLjAH/xHX4AJG34glIlUEwNnVwtI o2dB3y7ClSHNZsTyDUaj47sYScoQrnXGB19yViy8QS8DO12bTmbHrOSFefaWBiWAJ5RAEvFfmSb/ MORXLl8Dl7goZnYfDZO4glgmhlzkLVgVZY1E/gKmataycjnADVlYIw5ra2BVLLH4Zo5w4X4yRIg4 uEYyaBBjupnlDsHcterGQP21vUoRLVCVfM30GUfwGqkfuKig0eSMfzT12hUmFXQD6r+gsOLuyyjB rc30rdxGWgqnTjUCixd3ixn9Ml+AztLj6M86ExmMJDJ0LjE09FW5LBAaeHMN0ZgvLncbAmt7eYmI wL/W7PJLltFG5QetVGhQjzXp1YvUZVvtaBnrRLaZ6HBNU2og7PHJ1RvHpumVxotPuD5QfeqRh+FL UA1hNBVB+S2lxEPkihoh8xVW2MyqEBWftHu0A6MWvWJnYuvQMMAcuoGd4FRbLkR/R8uH9YPghBaS FnymcoBjsMyAvYPBRPRqMSerLHIGsH1hKIZXCRC6HIomDS/sM19WArUAxUJhud568qESdQg9PZjw Rna7L5d7VOvMB0G5SXtnm6pd0rZVOfisoMhOAaoq1wGVOzOyVmtzNh4VLCplu8+OBoPBUfbv5t// yFbOzwQ8c1D69+y4ZoG2EAuvfKR9vwU0luQXUulHO7wsVsiMOJL+UPWeFTYlBLppGIgb+ycs3iGh LZRGxcr18w3tR8INx3vXkBMjiM/BW9rx59AWRI+O0/wkHmsce0RPWc3dQnseHoG/R8seIn7C3iOK yBPNV6Mhmb0BIDs+cVfBBub9mtBPIxaDsUe+g01evsMZJJ/9IDq5vEjXWxBMqP7t+WI7XxTLGede tmI288cSd7ZCw+B3LJtjKZz5ggy22WxRGc1rUCwRTcD0XBq1dQUpG9E7eAElqQXKqXEBsYp5OZ/j EQLsxxE5u1E9TzPZ/3rEwF1AFWbKgcBOHmCbxI5zoj0iF/JUbVo/KndCpU6oyByle4AABzNFGoQa f/eX0+wvP/wVn/PFTz989T2SyR3Z6WYZPGx2Y+jGAuZ3A/hk3gZOBCB0y/1abzf6J+xDpY/YX5j2 tDt4xGtPn7cFnPVRXKlp8dQeOXOJM31z8ujTnjtqYE98GOCJC1/6BWaCcAwz6h085wUzmwU6fUYK HIbqCexU1BRd8GTEp+kjEjBS/VeDoeG41oVPjPm1EW2SJrB0hN2zT8UDxVAqMzP4dWDn8JaKCdPu gv/AZy/tOtsiAocHmYSO5fW7+n1kHL3+fmtyc8BTpcijJu4k94W7e1mC5j83xHQL7qs5eFIb+X1N QWORFW5e4vgCty5v2+LW3wjku2+jb7NYGRHR3EuePJsMavDW4/BcpE8zSzs3WD624vpuxGT8YsG2 oLwTO+RwhUtkK0qzkaJaP8iZAcgl2+kCip6hemKEFleRbn3BAhCdSKAFOoMa2+htiwXAoE6X5tt1 bkdskFPbG/kZiRzGZACB+fK7P3xFp0vMOk8NwTJKF+q55ipmzfrXr77URUXr0bK6ZI531xnuY3e3 00sxO416mptHeXbwGsxQPq+aXpzSrOzWMzC21/w5/1878VPLaqDIgp3S/z/gejN//vxfvsq//8uf vvnyq8+/+NNXUqaPi63/TPT9WPgTbhyfns3suczPgHbHFRZuQ3YlLAMPrbiWLvIMBI6pVA7E2lEM RwKSe+ZlFvkUzoai1QljsJh9s5J6E1AN+G2BpQymFvIINKSyXAQKKe00xActp+cFhNzuh0aQvfyN VEVeyW6M0gqdgVuQk4Q3/JcYGsAToPuoB+dqG9g74K3CUA8MREP178MDs8jmnh/jhjLoSyQXNKgT OstNOBMXpwljkusZ9vSEVcskozQRp2j+518sctTFEHTNRDEBPEGE3efVRbkuzLwuFxfNz6NDL9aV tXVQJw3zOIGR74SwwvkjVH6F3fdi02Q9ideDVxNWYAVTN78GrLzjnOjDRWXcp1S43rppcUwU/GtH 5fs+acANgE3rHR7YAfAx4gWK4ynRw0a4O/7nlsi/08skoC9YEi32hhF6WJIetBdgTLx7EoZgaZKU Wuewsd3WbGq+gdqO3Ied2HDHLAbIxtOcZHCOf6vPvinZJBgNrYhuput2xO4XvEScQHMOPbd38WZ2 N3gr8UXlWXCnYXR/14A71lDsIPPflwir2wXyoCP+njukVRV4mckIsCngxSUgMsDX5UcD1FlJ0U4H 0EU5QEG+SkMLXmYn2b8beeciG1B1LzAuGBT+j37m0wVHOBj88UX4K06PZzpSDycC443jyTc2hhmD bswAROR3V1cYng8jU40fx5IMehudi45nj2iJj5BHUZiYDn33Hq5K3h3U0ljoSF8BTYU1CHougJJa Mjbb7XrOVG8KXkfm73/urtZYht7bUAnI9dbShkMDIIrW7YXl+zCBjILipGF+wUQaQvttlHXkjsAn Dcy1mJ0jG154Jg4X2AhKLfNzLXBLOUlbhG0qHMY+m6Bo5nEe6EvQ7Lfy14d5oO7ocs7DmhvhRwG0 BeXs/8tOfvj8jzDZVang2vrWW2XeetkXS6JRXlFEuQh9i+X20O1RsVSO9y4UQN4cjYfPs3VRrMG+ q8rxhUYLM0Wm3eIdDhP3eV2v1stmHZwufWuH1ZTM6sVUpyxsZXUpXKA2bSucB/qa5LsVGEt4InG7 y2xHD6Bfkt7GNuSvYvm3CpQo/LwfrD7RsZEar2DKb2asruJy2qHG7uvk4Ln7cea+PlKdvfMnhB5y k8qm54ZDcsbqmh3cLMHvs+wbMNtYbzEC1hUPQXjmDq4M5nJJRyreZdhDhg+AtBLZbgUG/9xopkYS 3f6ex/i2dJnBoTg8V08DMup34Bw0YDCeLs37HArJAhkZ3e1YjC/P/5N96NgIZQQE8i/DWIsBd2R7 tXk1NAJPq3J1KjsAh4dgTCBfsBm9jnIzMyMcfSHinioYd17gCs2yNQaowDsDNA2OYlDPtsFmG/4e 058Bwa7Qd+iBw6UFQQ8eBfhoCQQOeXQ+VXYD2RPlFhClr3S4576CGdaN5c758GdwVEtNvGM/NQ0+ Db4ol7sr7l/YRcFzYfzmFgpO3ev9+Ug7gjJp26c2jcKjFAXRxtkVK1C5s8BfyDtiFAkunFO0chBW axSHvTyIyhWOlhpUnOgfTBOq3TlvieE1Y4/eLKvFJS/b5VYeX8leCkhcypfZYi4vAnGMhRoLy2rR q02v+YvsKHiB8LycZ5/7TYcsaqy4U6H426gfL+yq2sUD/uZGYm8nenmQhPDbL7syYzGXDjI6oKW2 pV9syovXVAaXSBeTIXD9/8NXX//r53/93198992fnI3DEKPN6wHVu0TCtbHWBzJOHbAGD7GGJ/Ml KM7mohUNyyWc96/z3RpK58JfPqKusJ1Ryb2LGY7AQ6ggL1C/zZYGjdXg1EdZP1ueaxpiLn/sB6/3 P1dimzv1OgfpZlB/LUlcNktxSuXyoCr5n4z0sKjIbVkc0DHxRIb+z1SqQcQRXjtGNHhp/gkUOJiw ali/AYwXGEsZGQ5Y/95RqTOanQxuGrbyGjcXzLGb6ZXjb+D3jcuAhSOIgwRbwZU59cqBWQk27qv/ kWEMOseMmifcwD2zLt9DQAq7oZdUxuIt+yfDPAJINH3InRkGXRcbPEDcqprLxNa53OaAgb6wI2Q/ Mzk1cuF0hadOx1LkA7wyFkA/8QFkBcQXmu625ZUZGE9QwLamsGTQlOidE3SfgITs7FVmvoykaFTF pHhFRFI1C/Onz/+CSGqEnUycl9VpUjEbHH4zh0ol+Vdff/3Vlz/Qa2DKq1MVLOHiJKgQNehHAMQG 6VdlZp5fbgyXviiUudZMeYS2sDH+OzFKwmszQyOaAjwfY8Ir9GQCJcMQZz58hDgw1HRQQ7paT+Cf M9AwQg8CEPM94hVkKhRdtp1xcdNOlNCz6rkXU7Y8IDONbxzaUJblJex2dgSVCvKcDg2MOGUza3v6 oWlJaosaH20QMaVZVLOR0oIPnZ5vD6XDGxM5oObUT5hH/qdyh14JBnMWF5xiQ1yEKqohfgRSGp/E zhaVeebsCFAO+wtsztBIvqenUaHGz7z+8MyBNwkImymu1lsCR8NPwd4FeAwKZoUWIsxxCm2mdGbB NgRDqw6s+v8iBIrPgCZRBaIXLAt/ptoDvV+sLpY7EMqeqRuUwfNH7J019yfiKu0am8Fi0EjZntGc 3UOivI5ZXMGVs9r82Fp3VLITgIpeTQWq2SQUlG1rNo0rzxBshPWL1w9zcNOWFKgssbkH1g0jTaV3 Ldt+ic8ZOwNVFHsOM2vxNXj0SSXg87etWb2/be3qHdE83GDOeoHGGUIW+Tp2xhC2CPJ0Rm3TSZuN A/KEWbEZJZhJ3roye6cisLJnIrJ5PnQFbWbcZqRnyFap70KrFCSHuQK9mdhshpBzpIHDQ1KwaPQN zvz4jHHhx2eNSBACeHjsQGiAMY4zaSMoEgBe4Q2kLLIJ2xQ0gY06cjCo16h5wiQvoiSk5h7siRvf 350O2/MHZL7guLhcXFAl8ell9omBBWYCdcx1Sx0ILeUlelTBVUd0QqgEQDyBVzTg2DP/P2NY/ARs lM+O1OmNTZRhNsj7odogFVK39pOwOIQR4zEgZukzAZpjSvmPfnM0mTW1p5shdxjq0VxP6Bi5by81 DRPOoDYON4gN9AOmldmCPkrRlrY4TFmPFh20cxzWGQSMJ70Ypo179uukgSNBmVtrPai7c6mdtdm8 HCdyI6nHZDVxnaz1Vhusobjn6gLPw8wcB3F+eBAkCZKRGixYCvs433OEo9rcN6U+5tqbMVyOyLy3 Z5wVRHGX5dq+ozx9ItQsryLGmv80AsM5gzpAFZo4JrnS/lRNVNpKWj45U1FrI5ClZYmgBe+57r1/ 4sICDbrA2Yg3SeGq0WdbgUrdHQsB3q31TQZ9KzAw8iHHy0jtMQtfUYgcJENaXYBlFgwImGkBdWbb Ve5m1i90sUI/Ch7qpbthE9+5nKuA5s7WbITlzcz6JaNSJ/ZdPAHjnudAKTaXaLKZrlSxAPeSv2RO hxs3cnGPuonYQWQzQmJ9GlZrXqOwJ1tS0tFIgco61w4srgoze7JnR4hbZK41cXq3jkBds7h9d+LW BLUEqYEEp0F3vI/3Cbo0S9x7ZeGJk4UjuwvECqWWH+X8yvvgvqn7ZGZo7s+Ztxv7675qFDpWwYh6 mx6AzzvIliZOSfZUTGAlhcshy6gDAuv7TkCUFfDJxUGkEZ/qqYYpYADzUDRXCUyWsDq6qqUpXaSP ATKctPV9ic6UbjZ04odYbh9AlqWT6dNonkO9QwsYs1TeiBx7VA8fpPHKT04Xod8aaLV2EoHpPQPw I2LqzfsC7lbgHaUCL4gbB/TCP9ZoJEr7Csyx4DNc/KlRJZtwKzhQ/9HtHJ0ILFacg0wydrfNvwmi I6DHDj5tMk+z1hLIPHVvNDt7hyv0xk7ObFIqPUzicVQ3H6TjME1nevLGfYRCsJiDE0Q7EbQiYoQS huxOOmhnh4iiLQJvCk3gni1NPRfzmGDsVICYxNxCf7Xw6JR6J9Da7Q/NAAHnPXTtE61P20OPlkfX u8F2cKB0jrhaHns95i4BVLOri8ZsTfR5/L02rIPUx/saw/5HR20kY9+Z7lbGAdKwA2Xf/vR1a3v5 30FcwzC0po6uhT/Ev0kSIBumRselZGJGok4Ri5IKCIT9UzWA8ymZSralxerV4hz8WiDBEa6cJwfD 6Z0aIPpgVDToFBuTyb4LU4GiHr5GrBRiLarKXXapLrSTHyp+vhp2EAyDTdwwrsiGz36cM5zXIf4W ql1goEi0kEkWpO0mO9K2QZn6JLYEnlN58Ys9MwvVYj0C3rf4XLE3KIaHwrMBCo80uWlGUR9JQScx XS0FRJStthuLu/irBflqwqJdV29LdSO9SSqLpKa2bAyIoDWdMpl/J88QLel37DQGIZigHQNV6NjK YBB09oIvKPICRtqrV2pLkWnsA6HjanDrnRpdp7P/nF6gso/+oHQabP6gijxLMLyOIo6tV+szJOvu ui7pQ8BHSWoQEKC9EmUYKh27VKOeuHo29jQ4coIUYTECwQnUfbeCWKvcrDWBQdo5GwilERKGyKhe Vtjdu9tCmi5b6NmXViz1TVt0twVCXoEHn7g+/JOXycxna4RoWA7ydtd4w/4D0pN/JvRsOdNRzrLi zyRu+2ob6rYXeJYULasBsX8GbvUMddJ3YrYrX+/dv6V3RAcUkKGJQFtVNY/xJUuZLVF3cKaZjLCN BaY7hCnhYOK6qcypSBjVFLBfne4bMcveXaCr/8IGncpD7Cpw2K6hIBBYxCsualhsvjjyCac4O/pk 9uwo9Di3zNOSn1JT9qMjT7ajp70wM30iXU4o9fhxjGHlYhGRd0YGdpTx9OHOkWfCdqezal2W6NJC 43AieOs27i2wFHSkBWKah9/lDZtOaQ/khPaFweydGX168YrOZNafVJ81T/HQThA2j0JWFtnYlmen +9H50BZvgHnNIvwyXUZ+gWllyvVn7P+LCM9f7T3fXMs5LvacOyXYZvkRCZ4O5AsZOLynWNtqBxxK JbH/BMKHONtEbLIW8ql4Wb1vqk7CpnF+mW8z+dBBJNuk+e7Jt7mWSLJq+gYyIHJuIG8M7L6vG8x7 s6D4C9dxT7e7750zm2MP8jbxXkHbWNxtNVU3+Its1GCkVDng9dENFrSoa5lKTQ/t6IGB0x4tiq3f PzxSsUX+gcLIyUmNinR36IUhyc7gHbuBnGcIf6DJp75L5jmYHchvPyBKF2EavvS3gS0U+57kP6qm EpHq1BWRxLcEhJQfn4lx1ko6/fynmjEX20JjFmiUcHNHtxR1gu3EAy6swPe0hdTxzEaJqG5sw+lo pdEZxLKsZoerOb7Y4aSRUtCshSXBgPbvn1T/EZxgHNi9XcopsJx/R/BKPZdflkGo7rEUiIfeyezI l7+aoWffAUHfWdx9SNpjX23uKeifZJfdIxvXQsRCGrkvL0cNIAOo1KVGQ5i0yPxmuszBa1tgQIAs QuvipmJfoi+0L2vN4KJtHdNNVJAhrdKFhsqStazZQWzN1FGZBfWmBW0ehRo2WI7kPSY9Un2ZsLpE J84LzLbUWBBCuLvbjJgOHmMYeuCj58QRD4DoPxrNYLOwySXsUMfo2Y/RtVicr9pCemZKTE+1+eQU yqkPRPV8c50yGAjz8l7EhlL7Jy4zrWCkEyUjt75erD878gfzX99NU9s07K5E785qd29llVanOOk0 J9bJ+lYkHwQ1u0w1GLJqrpOdCMs4mbDckbKMb0VZdJ4Lh4eeZhxEWVsrDRxktwX+arrs+G/YTR2N t5D2NPaMkoSPDh6bFlPexH1rOHzxSZNqYMVrjzpZUP1TsaVICKIWi2ukKbjB21N+vX7PhhEMDn3m rYRqWFMlg2KbrX7Uf48Rpv3L5IwR8fVyCjrecaSEe8VWrZUIHnQlgQcxAhjbAYHM4Hhkj+ZxC4pl aA2ffP0EV1CKzqzz109CloAMNfT6X8+wl/Ik417/S5sWrJMZ3vri8y//5TSDf5+FvrJrSnLEZzlQ kECbHLITdJqDwiFltqt2FHyVkQ1vWULIP1WZJbeMcgNOd4ZEQpqL3t6DsBpppBnHqOckSj21fVM8 XSXFxfMvphev3xrCR+kswjHbye3EJ7f6vMufoWe9C3S52jQV7RvHvXIdRD1/3kia/rLD3FKf4PEL J7KCvTiKkmYyVa6Kt61pV5qRHPH7GTwRQM9Xp5+xJ4i7JQq2q4fnPJHtDCPVpsWONGnvrBrQm6nz MTkn9zkhkiBuizc9YaSW2sSNJiehWoOvEyDteysz8omORym0r+htHbKyn54FMk9ftPZMsz6j2T8c m8Y1rAbP0PUO820SMmO5sowTj6kMaXBvry1rb4hI7ERP3RKvBodLqRpWkyClzhFqNoG25CKHTUpK ID9wWHXWZnU6ZZTAbaEkEUoMO8IIan6gM6h6h/DvCaM9pH3m2cf4GuGwFtO9k1AlxYWIyXg029RS EOlEQTGdMxvEdUO3LVGZr9ZtXxe1k9mgcb9DmbFlBilD+iCEIwpBihC0OpGKkptRjNzUjJY115Am 0VooxL8VSB6Ql1NMKXm+QNQqxmSAbqs2APMYqv7ifAPO++jFwzHplB6YnEBdoEVp6FD1SnnT76HJ NqG4E+6aQzjYKdadqfmJpRThDRXWRqJycNBqXzpogKaGm403mnq5b95rpHGSXmM+rUNpwHv4JQgm OyhlM70snsnVvxbnu8XSqpRhNtKhf8MmHRhIf47W92vxRXy0IodhXMDwRoZ6W2zQSQxSAVEOIGqN FQsNz6IkB0HVPwRBGJvLHspgVO+NfIqvINUmhnqUqFa5NW14a/bFj7+6C033Q9i9EPqNlP5WGkc9 Yn0ZxqtHitgGBnYvtyKMEnM1bbBi7G0ycTB1sltB1aM6q44vFwy+dzkVB1naYC2HA/UBZSppE9HJ F/WSN2xf02waxuw5VGK7iBWZbIz8l0GMo7lAgpv8igRd+p11YGNTby9AyE4i1YTlmIdOg7CnaeA5 qHtxs+ZQIHemyXqgBa4OcXccxCb03juhHrmfdmR9Eq0IYeRQsH5UGjnGrmsOunEQIEZ3ZFNU8gR0 iB3KL3SM9XaXWwQus6HP7dD+ohFafW5lJvVg7GgcJ+vC/guKBxHxcbSMqcyg4vkTuLg6J9Yg0iym C4jzjzLPOGje57mKgoUP8zGXokAgcBJXbFc9q6jjsJiQ8oq02BaVmrbqk+o/zF54YIzlOzyodS5t Cmas6wF/+XPog/Dwz71we/f6H4gb3z4HhTTEbHJeP8h8vZzGZxnn5GFtG52/gVrxmM9sa8STb+7T p/yeRZqbR7LO1GSlCNdwtUoeNtywVIBGQTngEJDizcLWEzEii1Tv+aHMpm/KxSw7Wi6qtRFSKiwn XFxfGHGlwjJecCPH4wAc94iSRKHMDgUuJYE5ZtRabKtiOT+1lXMqLvULmcSvyopqQEvFrDe6MNDJ FIpRTmdYbKeHCfUjZxAkWfCbe4VgbToUm7g0rOTuitaz3qjqrHTqrNLlWx9+S4h8sH073aywTixp CoLXkGTVJVa9VhhvXs/oLypPIHA1rMeaHdGgsD2fVIjB103eKdkthwRhF4eV7scn9XWwI/u3zsvZ TcOt9YbrJTZ1Xayg0lq9GWayh1IQBmgQlJzkbIOkT0GortYgXS+gLsCg4SEwdQKat9Pla3f6Fs8J RlIWFVDC0lIXUKfv8lk2mo8fjZ4+Oc+fnj0t8kfnhuFNp8WT/J9Gn346eVJcjOfzMWa2lWGhcE0B lbNBJzj83Yf4sIfG5QZKI0MFvqvp0kzrnT5jZD5PRyP4Ox494r+jMV4fjSbjR48nvxvDB36MzfXx k9Hj0e+y0TudRcNnZ0SLTZb97vMZvL3RV6bbclPV231r4P/XmM+v/LHgWIeBB4cPwiSk4IosDdeY wGRVPcCUsQ9Emb2A6opAQMCi+0BnGJ9CcfuT8wyy9F9k4wGa7x72egmNzM+0ZiAjJTYcpDbt0DD5 8dA0ddxR6tuP0udqHp486qDDuNPEZqkLNe2yTIkPhxdKbHqROs+LLvO8SJ9nYtNpdg7jps42falg 5A5NU+c7Ngh4ltb0jMAPFNdOzbNHqUuXOPIUcr0lvl3i8ubJLS9SZ3nRYZaJm5Unt0QwTG+avPDn yS8FbRPp2rgLwGLTLu+WvGHUmN6vvX2eMmietgR5KrvM09llnsoq8nR2mXdhl3kqu8zT2WWezi7z LuwyT8P+PJVd5unsMk/lAXk6u8xTMSRPZ5d5KrvM09ll3o1ddlmqVHaZd2GXeTq7zLuxy7wru8xT 2WWezC7zVHaZJ7PLPJX65snsMk9ll3kyu8zT2WWezi7zDuwyT2eXeRd2mXdhl3kXdplH2CWcxk6X kPV+U+4uXyXqnf2Ux/XTFqefykj76Yy0n8pE+umMtN+FkfZTGWk/nZH20xlpvwsj7afRhX4qI+2n M9J+KnfopzPSfiru9NMZaT+VkfbTGWm/GyPtslSpjLTfhZH20xlpvxsj7XdlpP1URtpPZqT9VEba T2ak/VS63E9mpP1URtpPZqT9dEbaT2ek/Q6MtJ/OSPtdGGm/CyPtd2Gk/Y565zBl0GHaEgxT2eUw nV0OU1nFMJ1dDruwy2Equxyms8thOrscdmGXwzTsH6ayy2E6uxym8oBhOrscpmLIMJ1dDlPZ5TCd XQ67scsuS5XKLodd2OUwnV0Ou7HLYVd2OUxll8NkdjlMZZfDZHY5TKW+w2R2OUxll8NkdjlMZ5fD dHY57MAuh+nsctiFXQ67sMthF3Y5jLBL+qaLh/HJKPicYDjLiasbBnV1oduJ9rU4+ssRXaQnrzdQ kLKoLqZrSHa9mlYXi0W2NU0OgnvF2+ViBTnw1L1fdiVWY8JL57t5dtT/g6s034cnHWzG5p8S/nkz yt7A38VqBoUot9PzKr8qZwWOxwe7mNapWM0esHM8OO+el7vVbO1cYPBF7VFw74ELsdzfovE0uee2 Azx+jmxDPpc+ktvgJ0NfM+stYwbh23AVHPuziJNKBs2ycqya2sCYHEMNVovlA/LYoTHA2Yh6vRnB G0jBZ7oNAQXmeq9lvMx9eFjwKIJMnr5/DleS53eCweHJBgrfjBuePfaejS5YBt6w7cyBQEarcyBP h1yJtUqku/kDifv4JeOCmJtiOsvL1RILjNMGnuxWBmQW8xszmJRR7dnv02vAGSmniSUze70H1qlm o+ar4AInTy5vY5Xda0NvbfZLXSz54puRush7Y9ZDX3T4jS9c7rbrnQHKMofaZPLeR/0vfvrhqy+/ +/Nf+keyktEFAj/U2XQz43EAXQgQD0IoPLAk5aJcZouszDZ2DQwVAM+lzGVlq45olx94LoXQ88Qv NisItIDVXsM7Hxw8R6Ky3hTm3+MK/AR3yy23K7ndGNrZ8oRhqw212mBq8OcKaGZYJdTNGwN7IBbX vBCDQvgu6AcK4Wff/cvfVkeQys5tfXPjb/+Y3Bgawqf0G88Z6A/iC/y3FfTbkA+vwkZNmdipdgN4 uYVSwkRkqceH9tR5Px8kPUii35Pz1+/a/L9GTyePHqH/1+jp40dnk7PfjcaPH40m9/5fv8bH+n8F MNDg/OUxc8Ai5fmF6SLm5W6DOXmrcgkhp1yMGZgbjupJWuD2m6/LCqu25vPF9Wp3hcLXWAlf9pC8 Jqg1ds9jhwbp3Sfe0/vJAmjsI6KjdMc6v1iEuFxCTG4wKPolnBTX661RvfInj3rISdWVx3iFvFEi Ol9ifzzHgz/nPT2xV5vyrZEd3k5vwmGlv8HRRzTkaDCePAZ2kfEafeqm0/KSuFrikB83yteaxK02 XrO4whw0OYOxOoAC9raT2KNlq2eg0qTsDPDUfNxTiPLWCw3kZg+zR6bhJJOWcgG1ar6U2zbwOKrb Y4Y7xdwYNju23xj7t7fuh4/v1x8/DNsM620aF6bN6SdouEeXtC3bDkaDhilD0sP3mRtqTdNnmjRs 3mHYViu11zKlXZvOrxrSAvRc47pKbHlGcV1c7LbFx6gTZ5sJqsVZORHNOHsDX5fjbDmJK8laSTVy 4vlmurlxyuq9ktqmpNb1Uv+pzcqptNuroUqj26upGwvUzZYMhR8IB+bWKyMQHQ2O1Ls2gsg7g5HJ e9/TScOeTt7Fnta2wOBj4to3Wws2E31xsseEUOqW5aSDXYEu6u5vnGTxAY0N78TM0DyI0sLFBLGn NTwSm5VjvxmR1JKfl+2dd+2R47RHTt7hI72xKODTwEO1Xi62DLnWhpIdmW5iqFlOoq0m3ErNwBkw TmYlhDpW5iLQh2vY29WlIS5LUIzkO88oau/Isk/ys8ngbFLRSzzQAbCQhZ+iasc0QuTOpKdGt6+L wapj6oNvhhf00ri50Ot5tpZmm/A/oOXl4/gsy8vBrNhOF+/c6uM+++0/T85G48ds/3n69Ozx49+N xmePno7v7T+/xqebLcaZYpA+Tp58+ujs8aPHTwcjI/Z/hCMRyUEb9rMs/nENiFAZGlw9y2oVdN3H NoD2I77ISSzNx59zawN6KRhqzC1ttgt7hT+RBtBvUr88GOl+0QbQ88zNDTMtmCb+EyMNoN+j2uVz v1+kAfR7XLs89ftFGkC/J7UXeOj3izSAfk/dcLz2wfMiDaDfp7XLwftFGkC/f6pdDtYz0gB3nrcL ZXL8nPn9Ig2wH0MEJ8qI9Ks3wH4MEVJAofapN/C0iKZPCuY2mGY91H2SRgQ+xFC/bYKST7wHxxr8 o1KU3O8XaXBPUbKPkqLE/FoZdR+fPfn06eifxqM0KvDrj/TbJic+NYk1+EelJn2/X6TBPTXJPiQ1 afbxYzQdDx6/7+a/GvI7sAvWP9LgHtPxk4zpQ79fpME9pmcfEtM7e1SQ0D94Oh49Hj1+dDaejM+e PhkX+WiiWT8W60salY5nKT2iLz6kj8Ez2zu1D0BOcKbuE2/wbimKWSfdL9pAUxQHqMETIw00RZnO ZoH5hT/1BpqgNK5NvEGcpgQzjTTQNEW/+mPdL9pAU5XGtYk0CKhKnNpGGmiq0khtIw00VWm0+0Qa aKrSSG0jDbDfWXg5eD9poFYUTXDjR/XrfsdHtZGxH+9XM7mtN8B+DBKOmoboVG+A/RgkmsltrcF7 IreeA9q7pLgwMA6b3Yno+vO7p7v3dPcfmu4G1rFIg1+Z7npkd1VcTg2C1T9tZLfxpOVxOLCmus3U ut5AU91mal1vgP0YHJqpda1BZ2rd6NerfHrJbFXkZ5NHHbqeZ5++u67/IDQW1sP1a2jwLqisGxIX 3vVraBDXmQMsjTTQdLaRCkUaxOlsYFWLNIjrzMHzIg3iOnMzlfWoiajEdhqf+v0iDTwq20hO6g00 lW0mJ/UGmso2k5Nag67kxM+zExG+uAGVUFaNEsb4ACRg5LeuN2DrlSB488ryXyjiIIvWsqrwkX0N EKP1Y5HfvUlSP0H+q91y22GagvcO3sZJ/QTv3wm8cXzInWGuNs7fA9x1BaA65+l3AryAsrZ+6lxn MkgD2bp4n9bPyvY+bW39CM/pCuvCEu4M6xzkdCc4r41xD+PpkHNXGP9lV/K33wZxtSFzkXMuP5VK lnGTKMjVRvkAQBccR7UCXbPiXG/QcADm96s3GAbHX3GRtc7Rz7Q472Aq+KjjLw2sEaDy+9XJ6kSL 8o3I+Nsjq/sjP1XYJwHu6OnZ00fjTyepfiAyCJ7iTHt2oPxRxwE4Y05kFr9xHxIfJaMNNGo1ap+R Bhq1nOgdfOony9P4yXKAknWZpa9Rq/F5SkvWKCmYs17uqmi/J7V+5/GT5WBd6lryRGvJTtYPPnVb 5JnWkhu1z0gDrSU38/Fag66obCNUvRjsPe4Z0pBD97Fhh/H+bv03PmIcGwaWqDjMt+BYI7tswbFG mK/jGAsSdf4UfBqwrPXTgGWtn9tjGScxIO5lJmlBES6Y3/mZ+p2ffZzokXv40apTdF8ll8OBOfWD w7FicPuufQh52NfCYg1+nfXC/BG8EigYUYmsTxVhxuvwr+vvrn+AtZu06hIjX5lotg/zX3/1hMQ0 CgSa8jbuTOo+5D7cQhyADhbYd+0DrH0QxxBr8J7hNg/hNkc5NZ+E8Ln/+gdZOw9w4w3e8+r1fWjD w8G++cMplOTaRB2GybUPgeme50O0QRzPAxvXx4Dn/RBuJ6SIUmmI8QR3wF2Hf11/d/1jpLcys0iY ZDzsKb4PjQrRO92HoY8BZuL67ZovfYyW2vdNLYYhzI4GT4KPWauB9sGhVo/hcti0cYQPsbTepKMN YvN8j2sd0X1t2i5cuSd3aASed5QyyrX7GLWED6pENyrDdS1b69CNPrIRJTuuQzdHQGhdOKIi+/3q hiytQjdaxqWB794XUY/9btIg0IOTrVQ+hrQaqe6MRrmgyKO7tBrnASJ9GMHoHpE+BkQKXM2lQbU7 //tEpNxjNaM7NAI0yjUafRgB6+8cjQLf4Q+FRrPFfO6mmcyP/s7RyHKayV1agWDnIdKHMQvdI9LH gEgN/OjvXLCbWmbzT3dqZnUk8KixLe+RqSsyNRw1tkp3QSjhLbBp2gmbWo/zuwWKN/KzluN8d9k3 dtoGPvoKPjX7oNcbYD8eo9lyUWvwDjDTsq+nd2tn1S6Hm0/vcfMeN+WTjJsBi7wrbvoy6m8DN/OA HcLJ/F3aWV3O4ebH6oTwG0fOBjE0iAX97SLnO2acv2XktAwxb/CLS25oNUSFnuN79LxHT/l8KN75 W5RrXdEXQqSG47acW/Zu0e4eMbv6tsatN62ura3Wm1bXVs960+i9UG+g0bIxg0K9gcbKRjRpsd40 okncetP6aUaTvF2+hHa9dim0Z11j7uXKD48fje4p0sAH2OToigBgk/HDB9hW/EhChjuAvi3i1RrU 4ML2EhvdQ/5vkzO0Bj34ganJMQ8BxiRHPLyjOB9Vg44yxtyxoXZRyqThPcz/NmG+ldzf0kkp8H0U kG5EMWngP+7jC6X70MVo7j+/+gfqP22Ky01RRWoevaPP/vpPk0ej0ROs/zSGdo+fQP2nJ4+f3td/ +jU+76rW0mn23b+8w0orqcOlFVoIRktJzx50eZdZpG83dGrG1HD0jhn+gu7xbFzNjYL0SfGGQf6Z pkZBxpBkkGhL3NAADfEwb27sR7/yxVqwp3/dD2rke7VAO/+6H1DG92rhUv51P5jHTtgPMPEv74ul aF6ewMm/raHzYm5uGfhptjV0jmhtD1eONu1N3cF/2wT0QWR7W3Us0ty4Zs3d3zRPmUCg/+9rWNOL 2onlw5bt8vjFpGXH/MaWeKQ2t7g6SSHzD5k6dOuQ3aZL1+eMuq3UqPubQOz05BZduj5HSHsTfAbi xKhjczuds9SF7TQheOVptydcZI5hpHYYdOwyUsJJ8tZ17AI0Y6Tepi6HvZMFZotiKrGhDvZdEic1 NsThrIVTeR3OCNQde0t7ju2WPbKiRupqt/HHoHkr8wsWYNpl+Ny1Txr+ws4+kSpcuPknLtDYKQZp HXLXI3kPzi20J8FiigBU69AqCNV6CJlukkfCnVb4UdfFGp/SGdOp0/g2T7Jr8DilV54uYeR2sfIE wM27iRh5dxEjVwwzT+/RTcbIbyNj5ErGSFur0S3eRUsZnfp0fpLQq0ZBODA0dBA08u6CRq74YNqM tKSRJz6jo6iRdxc1ciVq5Kk9Bt37hMJGEsW+xSIraSNPIPF5IG7kSaQx9+SNPIHO5zWBI3EB6gJH /ih1xTsIELkWOJLexwkQacRFSRxpC3bRdakU10kkKR0FiFyLHMlkS8kcTZp5rUObhaTWoYuwmHsy R6OtItxtjSVpXD2QOhLX2Jc6utAXBQBJvfrp29Lvoq73ldSRMg1P6khapX5XNb3fYqpt7tJ1Yk4c SG3e+QlK5OjSpetzOqi5nsE8sXn3hZ12WtjBPqt7tEtHVO170kbyW3QiuX1P2EjduNvIGt0XWIka 6R26vktHw0b/doaNfkTOmCTJGX0lZyQiSrtJO1iBToio5YykDo7XpDENzWbSuFNfCRqJHbSgkdhF CxrJHToYN1IPLmpd7KFeEuv0JY1E6L2FoNEPBI1OT1KrkHTczK1Xi2VCY7tgqc3ti6d30Epi8fCb b79O6jfo+iAlc3R80C2n2En6GHaXPobdpY/hbaSPoSViiUs97QoE01uvcAcuOewuhgx9o0fyvC5u /T6dOPKwu0AyrAkk73O9u0klw9tIJUNPKknqEEoldQeP/d2sVDIanD1N6tpJLBl2FUuGSixJWoC8 Y/uOUsmwu1Qy7CqVDLtLJUNPKkmmTO2+DLUO7b4XtS6dOMU4QJNxoh9N7am3owK+rJKIPaGsYrt9 aC/E+8+H+oD/b7W7uppubt7bM/b7/45Hk8kZ+v+Onj59enY2Af/fp+PRvf/vr/GxBOOO/r+K9HxE I6WMleiR/LEOlTJYTGXlsZSX9Mc5UhJPc2zwfTdXHd6lT7geFnJlJI3KQo7I6bcag2e2d2rd3znV Wb3zlGFgHDa705v780t++Y6+9B261kve36Gr6hw7jnhXFbnjTd5bIeZ6s/dSCzfWJLUC6kG3CqhJ ZFKtyEddhjJCSZ3ypgwx76EQ34NIdbID0vQfHOb8Fa4+aCjQdWCfWv/54FZFqg6y4OKDhhpL9lmR nw/21hlSj9hz8cGeajv2YVRsx/v54Fa1YtTj6eKDaKkT+6Twx4P0ah/qUV0rfcRB6/3Wudg33Psr ChBv+X4zqO8b7v2lm963cu83N+/+Id9v7tF9q/jecyvuH/S9546LN/4VcmM1P/h9ZRvaywuFE7bx 1S6Nmpq9x2wbBzbbxoc2idx/7j/3n/vP/ef+c/+5/9x/7j/3n/vP/ef+c/+5/9x/7j/3n/vP/ef+ c/+5//ymP/8XM6FbSABYAgA= ------=_Part_90513_10176611.1227097621740-- From cyd@stupidchicken.com Thu Nov 20 23:39:58 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 21 Nov 2008 07:39:58 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAL7dtxk015631 for <1334@emacsbugs.donarmstrong.com>; Thu, 20 Nov 2008 23:39:56 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id C9D3057E194; Fri, 21 Nov 2008 02:40:12 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: 1334@debbugs.gnu.org Subject: Re: 23.0.60; bug of bytecomp arithmetic operations References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu> <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> Date: Fri, 21 Nov 2008 02:40:12 -0500 In-Reply-To: <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> (Shigeru Fukaya's message of "Wed, 19 Nov 2008 21:27:01 +0900") Message-ID: <87hc61a5nn.fsf@cyd.mit.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Thanks. I'm looking through your changes. ! ;; (- 0 x) --> (- x) ! ((and (eq (nth 1 form) 0) (= (length form) 3)) ! (setq form (list '- (nth 1 form)))) Shouldn't this be (nth 2 form) on the last line? From shigeru.fukaya@gmail.com Fri Nov 21 01:11:12 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.0 required=4.0 tests=AWL,BAYES_00,GMAIL, STOX_REPLY_TYPE autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334) by emacsbugs.donarmstrong.com; 21 Nov 2008 09:11:12 +0000 Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.175]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAL9B9qp009009 for <1334@emacsbugs.donarmstrong.com>; Fri, 21 Nov 2008 01:11:10 -0800 Received: by wf-out-1314.google.com with SMTP id 26so938884wfd.13 for <1334@emacsbugs.donarmstrong.com>; Fri, 21 Nov 2008 01:11:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to:cc :references:in-reply-to:subject:date:mime-version:content-type :content-transfer-encoding:x-priority:x-msmail-priority:x-mailer :x-mimeole; bh=5sYEV+w2zZJAb82/DhBa4mNJxuR87V3W626TlpUotaw=; b=tlQiGKhlus+cdeUVS6ulPbEYlOvZkPn1e/dcezGb4cIQKfA4gvI9pjZqUW/03FWoJC 9+4Ljwys8IXTsB9yAT/Nik1Z63BvRhsRb4RIaPP+mHI4Ezqu1RZUUrmiabhgRJ4hOydS PgbpcGjYtkiWnUwVVJGYl6YPLF051gR1YaQUg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:cc:references:in-reply-to:subject:date :mime-version:content-type:content-transfer-encoding:x-priority :x-msmail-priority:x-mailer:x-mimeole; b=azu0b6b07WqPQ2eSubAwInjtPLTyUHR1rdmAAVboKpy9NgjFLyhrnhwd9AIKWUx1/S tJ26fNPS8Je5Q03/55fRBQIF4ow/HZ+IVdh0Gtid2Go96pUoZmIcpNX2Wq3hXF4Z1o0D 0P/fzHfbgfwNZGJatTvbsVtnPPVFGeULdumcw= Received: by 10.142.251.9 with SMTP id y9mr164985wfh.181.1227258669384; Fri, 21 Nov 2008 01:11:09 -0800 (PST) Received: from LX1 (122.36.138.58.dy.bbexcite.jp [58.138.36.122]) by mx.google.com with ESMTPS id 31sm2317876wff.3.2008.11.21.01.11.07 (version=SSLv3 cipher=RC4-MD5); Fri, 21 Nov 2008 01:11:08 -0800 (PST) Message-ID: <69D13081CB3E4E4CA568C298914EE5AF@LX1> From: "Shigeru Fukaya" To: "Chong Yidong" Cc: <1334@debbugs.gnu.org> References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu><64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> <87hc61a5nn.fsf@cyd.mit.edu> In-Reply-To: <87hc61a5nn.fsf@cyd.mit.edu> Subject: Re: 23.0.60; bug of bytecomp arithmetic operations Date: Fri, 21 Nov 2008 18:11:04 +0900 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Windows Mail 6.0.6000.20661 X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545 Hi, Chong, > Shouldn't this be (nth 2 form) on the last line? Of course, you are right. I found I had tested with my older version. In `byte-regression-test', I should have remove the following line. (load "byte-opt-minimal") After above correction, log output contains three errors. (let ((a 3) (b 2) (c 1.0)) (- 0 a)) --> -3, NG --> 0 (let ((a 3) (b 2) (c 1.0)) (- 0 c)) --> -1.0, NG --> 0 (let ((a 3) (b 2) (c 1.0)) (- 0 a)) --> -3, NG --> 0 Thank you, - Shigeru ----- Original Message ----- From: "Chong Yidong" To: "Shigeru Fukaya" Cc: <1334@debbugs.gnu.org> Sent: Friday, November 21, 2008 4:40 PM Subject: Re: 23.0.60; bug of bytecomp arithmetic operations > Thanks. I'm looking through your changes. > > ! ;; (- 0 x) --> (- x) > ! ((and (eq (nth 1 form) 0) (= (length form) 3)) > ! (setq form (list '- (nth 1 form)))) > > Shouldn't this be (nth 2 form) on the last line? From cyd@stupidchicken.com Fri Nov 21 10:56:01 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334-done) by emacsbugs.donarmstrong.com; 21 Nov 2008 18:56:01 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mALItvhd004805 for <1334-done@emacsbugs.donarmstrong.com>; Fri, 21 Nov 2008 10:55:59 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id 33D9857E09E; Fri, 21 Nov 2008 13:56:15 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: 1334-done@debbugs.gnu.org Subject: Re: 23.0.60; bug of bytecomp arithmetic operations References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu> <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> Date: Fri, 21 Nov 2008 13:56:15 -0500 In-Reply-To: <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> (Shigeru Fukaya's message of "Wed, 19 Nov 2008 21:27:01 +0900") Message-ID: <871vx4aoxc.fsf@cyd.mit.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I've reviewed your patch, and checked most of it into CVS (I took the liberty of rewording some comments, plus some minor edits). > *** Optimize addtion/subtraction where their last operand is 1 or > -1 to use `1+', `1-' funcitons. This pattern often appears and > more effective at least in size (byte-add1 vs constant 1). Let's leave this till after the release. It's not clear to me that there is a significant speed increase from it, and we should try to restrict the changes to bug fixes for the moment. Thanks very much for working on this. From shigeru.fukaya@gmail.com Sat Nov 22 21:38:47 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00,MONEY, MURPHY_DRUGS_REL8 autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334-done) by emacsbugs.donarmstrong.com; 23 Nov 2008 05:38:47 +0000 Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.190]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAN5chLh005084 for <1334-done@emacsbugs.donarmstrong.com>; Sat, 22 Nov 2008 21:38:45 -0800 Received: by mu-out-0910.google.com with SMTP id g7so1655355muf.1 for <1334-done@emacsbugs.donarmstrong.com>; Sat, 22 Nov 2008 21:38:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=Juw4coDvHi8z8IQZ6s6TABmv3Ap3E4YAj6RoV/VWoRA=; b=FDcHhBH8liXDwuxi8WsGHUTQZg+4kafkq8BKKh6+ZDHzteT/sO+FKqECLL6TtoFNCu H25AOSvHzmvYGQ3JnqqBijrRUCXFvrmkQMMQx4Rj4LzQpIgxuiPxZaqneMpoflboZFQs uXhPdi38UpX3x5QhRlG1XxOvYDjmqRPZCL90I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=lcGBgNfHzX5/1/NENC0siqF9UD748eRQVDeZrLaYhNNoTErHTF9Tm2u4zODSKmAiHT az0xWxjyqc44GqimsW9ru3RmNXiDHD22aRHYo0iaYaxq4BPZjF3eJB1bDnmmErHxZxN6 5UTztbjtcroKTal9t3arTZpKJBUwRfOvy1Jqw= Received: by 10.140.133.10 with SMTP id g10mr1159149rvd.2.1227418721754; Sat, 22 Nov 2008 21:38:41 -0800 (PST) Received: by 10.140.187.11 with HTTP; Sat, 22 Nov 2008 21:38:41 -0800 (PST) Message-ID: <64bd60570811222138j57ed9dag5765eddb0c9fd497@mail.gmail.com> Date: Sun, 23 Nov 2008 14:38:41 +0900 From: "Shigeru Fukaya" To: "Chong Yidong" Subject: Re: 23.0.60; bug of bytecomp arithmetic operations Cc: 1334-done@debbugs.gnu.org In-Reply-To: <871vx4aoxc.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu> <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> <871vx4aoxc.fsf@cyd.mit.edu> >> *** Optimize addtion/subtraction where their last operand is 1 or >> -1 to use `1+', `1-' funcitons. This pattern often appears and >> more effective at least in size (byte-add1 vs constant 1). > > Let's leave this till after the release. It's not clear to me that > there is a significant speed increase from it, and we should try to > restrict the changes to bug fixes for the moment. I myself was actually irresolute. But, at least, for three operands I think it it worths optimizing. For more than three operands, only expectation of save of storage(for constant 1), and probability of the later re-optimization induced by decresing of the number of operands. (+ a b 1) no optimization optimazation 0 constant + varref a 1 varref a varref b 2 varref b plus 3 constant 1 add1 4 call 3 return 5 return (+ a b c 1) 0 constant + constant + 1 varref a varref a 2 varref b varref b 3 varref c varref c 4 constant 1 call 3 5 call 4 add1 6 return return (byte-compile (lambda () (+ a b c 1))) #[nil "\303\b\t\n\304$\207" [a b c + 1] 5] #[nil "\303\b\t\n#T\207" [a b c +] 4] Anyway, please do what you think is best now. Regards, Shigeru 2008/11/22 Chong Yidong : > I've reviewed your patch, and checked most of it into CVS (I took the > liberty of rewording some comments, plus some minor edits). > >> *** Optimize addtion/subtraction where their last operand is 1 or >> -1 to use `1+', `1-' funcitons. This pattern often appears and >> more effective at least in size (byte-add1 vs constant 1). > > Let's leave this till after the release. It's not clear to me that > there is a significant speed increase from it, and we should try to > restrict the changes to bug fixes for the moment. > > Thanks very much for working on this. > From cyd@stupidchicken.com Sat Nov 22 22:50:39 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-4.0 required=4.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334-done) by emacsbugs.donarmstrong.com; 23 Nov 2008 06:50:39 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAN6obwv024624 for <1334-done@emacsbugs.donarmstrong.com>; Sat, 22 Nov 2008 22:50:38 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id A006857E195; Sun, 23 Nov 2008 01:50:55 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: 1334-done@debbugs.gnu.org Subject: Re: 23.0.60; bug of bytecomp arithmetic operations References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu> <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> <871vx4aoxc.fsf@cyd.mit.edu> <64bd60570811222138j57ed9dag5765eddb0c9fd497@mail.gmail.com> Date: Sun, 23 Nov 2008 01:50:55 -0500 In-Reply-To: <64bd60570811222138j57ed9dag5765eddb0c9fd497@mail.gmail.com> (Shigeru Fukaya's message of "Sun, 23 Nov 2008 14:38:41 +0900") Message-ID: <87bpw76ils.fsf@cyd.mit.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii BTW, it occurs to me that the nice byte compilation test code you have written should not go to waste. We have a test/ subdirectory in the Emacs tree, which currently contains a couple of *-testsuite.el files. If you could get your testcases into a file into a similar form, we could add them to CVS. Would you be interested in doing that? From shigeru.fukaya@gmail.com Fri Nov 28 01:43:08 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-0.5 required=4.0 tests=BAYES_00,GMAIL,NEXTPART autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334-done) by emacsbugs.donarmstrong.com; 28 Nov 2008 09:43:08 +0000 Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.225]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAS9h52s002651 for <1334-done@emacsbugs.donarmstrong.com>; Fri, 28 Nov 2008 01:43:06 -0800 Received: by rv-out-0506.google.com with SMTP id k40so1289084rvb.1 for <1334-done@emacsbugs.donarmstrong.com>; Fri, 28 Nov 2008 01:43:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:from:to:cc :references:in-reply-to:subject:date:mime-version:content-type :x-priority:x-msmail-priority:x-mailer:x-mimeole; bh=V6r8tJT9DdbiEeWL9EWehmbOrk8KnProTn3BVm5neT8=; b=IrmlcXPzvnE+SiprGrqF9YYxhlbxy3jH53JSZLW2JHjeiisMG8Rs1YYkQQZ+iTL5Ku jYuIbWoOFoYPwdqp57HKgjeLn+oXPdW9oiKb8Za50hkbJuZ/W9MiY8Yk55iOEQ0ONjvn OJvrVtRwC9VC6n0BIPjoeuXmwjpM1c1kO8aC8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:from:to:cc:references:in-reply-to:subject:date :mime-version:content-type:x-priority:x-msmail-priority:x-mailer :x-mimeole; b=V+2WrMRIO4s4jrnTdU4Z5o3y5RqDsCEp6nMbkY2CEp+Hs5ysAhfd8ir6vqXeeluKZy no2fhYtxi7E96CXhcndm3foj+G8sHYD2703KjAyQ7TikCuF2oxdZhbGKkPkyegl/RUuZ dUx2KmS+zo4DJcVUh//2vgQ6coEJNw8VBNuuw= Received: by 10.141.162.1 with SMTP id p1mr3752465rvo.43.1227865385373; Fri, 28 Nov 2008 01:43:05 -0800 (PST) Received: from LX1 (v039037.dynamic.ppp.asahi-net.or.jp [124.155.39.37]) by mx.google.com with ESMTPS id k41sm448950rvb.4.2008.11.28.01.43.02 (version=SSLv3 cipher=RC4-MD5); Fri, 28 Nov 2008 01:43:04 -0800 (PST) Message-ID: From: "Shigeru Fukaya" To: "Chong Yidong" Cc: <1334-done@debbugs.gnu.org> References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu><64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com><871vx4aoxc.fsf@cyd.mit.edu><64bd60570811222138j57ed9dag5765eddb0c9fd497@mail.gmail.com> <87bpw76ils.fsf@cyd.mit.edu> In-Reply-To: <87bpw76ils.fsf@cyd.mit.edu> Subject: Re: 23.0.60; bug of bytecomp arithmetic operations Date: Fri, 28 Nov 2008 18:42:59 +0900 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_004F_01C95189.22DD07D0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Windows Mail 6.0.6000.20661 X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6000.16545 This is a multi-part message in MIME format. ------=_NextPart_000_004F_01C95189.22DD07D0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit Hi, I don't see the format well, but tried. Do the attached as you like, please! Regards, Shigeru ----- Original Message ----- From: "Chong Yidong" To: "Shigeru Fukaya" Cc: <1334-done@debbugs.gnu.org> Sent: Sunday, November 23, 2008 3:50 PM Subject: Re: 23.0.60; bug of bytecomp arithmetic operations > BTW, it occurs to me that the nice byte compilation test code you have > written should not go to waste. > > We have a test/ subdirectory in the Emacs tree, which currently contains > a couple of *-testsuite.el files. If you could get your testcases into > a file into a similar form, we could add them to CVS. Would you be > interested in doing that? ------=_NextPart_000_004F_01C95189.22DD07D0 Content-Type: application/x-gzip; name="bytecomp-testsuite.el.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bytecomp-testsuite.el.gz" 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 ------=_NextPart_000_004F_01C95189.22DD07D0-- From cyd@stupidchicken.com Sat Nov 29 21:58:32 2008 X-Spam-Checker-Version: SpamAssassin 3.2.3-bugs.debian.org_2005_01_02 (2007-08-08) on rzlab.ucr.edu X-Spam-Level: X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,BAYES_00,GMAIL autolearn=no version=3.2.3-bugs.debian.org_2005_01_02 Received: (at 1334-done) by emacsbugs.donarmstrong.com; 30 Nov 2008 05:58:32 +0000 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id mAU5wUh5003600 for <1334-done@emacsbugs.donarmstrong.com>; Sat, 29 Nov 2008 21:58:31 -0800 Received: by cyd.mit.edu (Postfix, from userid 1000) id 8553F57E09E; Sun, 30 Nov 2008 00:58:30 -0500 (EST) From: Chong Yidong To: "Shigeru Fukaya" Cc: <1334-done@debbugs.gnu.org> Subject: Re: 23.0.60; bug of bytecomp arithmetic operations References: <874p29kioa.fsf@cyd.mit.edu> <87fxltlj0e.fsf@cyd.mit.edu> <64bd60570811190427o6e9894c3mf3ce6d6e6d595a0b@mail.gmail.com> <871vx4aoxc.fsf@cyd.mit.edu> <64bd60570811222138j57ed9dag5765eddb0c9fd497@mail.gmail.com> <87bpw76ils.fsf@cyd.mit.edu> Date: Sun, 30 Nov 2008 00:58:30 -0500 In-Reply-To: (Shigeru Fukaya's message of "Fri, 28 Nov 2008 18:42:59 +0900") Message-ID: <87zljh69h5.fsf@cyd.mit.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii "Shigeru Fukaya" writes: > Do the attached as you like, please! Thanks. I've added it to the test/ directory. From unknown Fri Aug 15 16:25:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: $requester Subject: Internal Control Message-Id: bug archived. Date: Sun, 28 Dec 2008 15:24:03 +0000 User-Agent: Fakemail v42.6.9 # A New Hope # A log time ago, in a galaxy far, far away # something happened. # # Magically this resulted in the following # action being taken, but this fake control # message doesn't tell you why it happened # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator