From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#25682: 25.1; font-lock: fontifying too slow in some modes on very long lines Date: Thu, 31 Oct 2019 18:07:53 +0100 Message-ID: <87wock6dxy.fsf@gnus.org> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="98483"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 25682@debbugs.gnu.org To: Ryan B Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 31 18:09:16 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iQDwi-000PLj-3a for geb-bug-gnu-emacs@m.gmane.org; Thu, 31 Oct 2019 18:09:16 +0100 Original-Received: from localhost ([::1]:52826 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQDwg-0002Pl-BH for geb-bug-gnu-emacs@m.gmane.org; Thu, 31 Oct 2019 13:09:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45100) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQDwX-0002PU-JP for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 13:09:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iQDwU-0004a7-Vb for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 13:09:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:45371) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iQDwU-0004Y2-GN for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 13:09:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iQDwU-0003Pq-93 for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 13:09:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 31 Oct 2019 17:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25682 X-GNU-PR-Package: emacs Original-Received: via spool by 25682-submit@debbugs.gnu.org id=B25682.157254168213052 (code B ref 25682); Thu, 31 Oct 2019 17:09:02 +0000 Original-Received: (at 25682) by debbugs.gnu.org; 31 Oct 2019 17:08:02 +0000 Original-Received: from localhost ([127.0.0.1]:54192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQDvV-0003OC-9F for submit@debbugs.gnu.org; Thu, 31 Oct 2019 13:08:02 -0400 Original-Received: from quimby.gnus.org ([80.91.231.51]:48546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQDvS-0003Ny-IT for 25682@debbugs.gnu.org; Thu, 31 Oct 2019 13:07:59 -0400 Original-Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iQDvO-0002oY-73; Thu, 31 Oct 2019 18:07:56 +0100 In-Reply-To: (Ryan B.'s message of "Fri, 10 Feb 2017 13:33:52 -0800") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:170540 Archived-At: --=-=-= Content-Type: text/plain Ryan B writes: > here are steps that reproduce this, with gnu emacs 25.1.1 on mac os x: > > 1. put the single long line under the === below (18572 chars long) into a file > 2. run emacs -Q > 3. type C-x C-f RET to open the file > 4. type M-x compilation-mode RET > > this consistently hangs emacs for 9-10s for me on modern hardware, a 2014 > retina macbook pro. The example was corrupted in transit (line-folded), so I've included a fixed-up version as an attachment here. Running M-x compilation-mode takes about five seconds for me, but this laptop is pretty fast. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=long.txt Content-Transfer-Encoding: quoted-printable [2017-02-10T07:35:45Z django.db.backends] DEBUG: (0.057) SELECT "xxx_xxxxxx= _xxxxxxxx"."xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx".= "xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xxxxx", "xxx_xxxxxx_xxxxxxxx"= ."xxxxxxxx_xx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xx", "xxx_xxxxxx_xxxxxxx= x"."xxxxxxxx_xx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xx", "xxx_xxxxxx_xxxxx= xxx"."xxxxxxxxx_xxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxxx", "xxx_xxxxxx_xx= xxxxxx"."xxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxxx_xxxxx_xx", "xxx_xxxxxx_= xxxxxxxx"."xxxxxxxxxxx_xxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxx_xxxx", "xxx_xx= xxxx_xxxxxxxx"."xxx_xxxxx_xxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxx_xxxxx"= , "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxx_xxxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxxx= xx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xx_xxx", "xxx_xxxxxx_xxxxxxxx"."xxxx_xxx_= xxxxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxx= xx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxxx_= xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxxx_xx", MAX ("xxx_xxxxxx_xxxxxxxxxxxxxxx= xxx"."xx") AS "xxxxxxxx_xx", COUNT(DISTINCT "xxx_xxxxxx_xxxxxxxx_xxxxxxx"."= xxxxxx_xx") AS "xxx_xxxxxxx", MAX ("xxxxxxx_xxxxxx"."xxxx_xx") AS "xxxxxx_x= xxx_xx", STRING_AGG ("xxxxxxx_xxxxxx"."xxx_xxxxxxx", ' ') AS "xxx_xxxxxxxx"= , "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxx= xxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xx", "xx= xxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxx= x_xxxxxxxxxxxxxx"."xxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxx= x_xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxx_xxxxxxxxx_xxx= xxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxx_xx_xx", "xxxxxxxx_xx= xxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxx= xxxxxxx"."xxxx_xxxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx_xxxxxxx= x_xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xx_xxxxxxx", "xxxxx= xxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxxxx_xx_xxxx", "xxxxxxxx_xxxxxxxxx= x_xxxxxxxxxxxxxx"."xxxxxxx_xxx_xxxx_xxxxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxx= xxxxxxxxx"."xxxxxxx_xxxxxxxxxx_xx_xxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxx= xxxxx"."xxxxxxx_xxxxxxxxxx_xx_xxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxx= x"."xx_xxxxxxxx_xxxxxxx_xxxx_xx_xxxxxx_xxxxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxx= x_xxxxxxxxxxxxxx"."xx_xxxxxxxx_xxxxxxx_xxxx_xxx_xxxxxxxxxx_xxxxxxx", "xxxxx= xxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx_xxxxx_xxx_xxxxxxxx_xxxxx_xx_xxxxxx", "xx= xxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxx= xxxxxxxxxxx"."xxx_xxxxx_xxxxxxxx_xxxxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxx= xxxxxx"."xxxxxxxx_xxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxx_xxxx= x_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxx_xxxxxx", "xxxxxxxx_x= xxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_xxxxxx_xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxx= xxxxxxx"."xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_xxxxxxx", "xxxx= xxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_xxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xx= xxxxxxxxxxxx"."xxxxxx_xxxxxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."x= xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxx", "xxxxxxxx_xxxxxx= xxxx_xxxxxxxxxxxxxx"."xxxxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."= xxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxxx_xx", "xxxxxxxx_xx= xxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxx_xxxxxx_x3_xxxx", "xxxxxxxx_xxxxxxxxxx_xx= xxxxxxxxxxxxx"."xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xx", "x= xxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxx= xxxxxxxxxxx"."xxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxx_xxxx", "xx= xxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxx= xxxxxxxxx"."xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxx_xxxxxx", "= xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxx= xxxxxxxxxxxx"."xxxxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxx= xxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxx", "xxxxxxxx_xxxxxx= xxxx_xxxxxxxxxxxxxxx"."xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxx= xx_xxxx1", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx", "xxxxxxxx_xxxxx= xxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_xxxxxxx_xxx", "xxxxxxxx_xxxxxxxxxx_= xxxxxxxxxxxxxxx"."xxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxx= xxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xx", "xxxxxxxxxx_xxxxxxxxxxxx= xxxxxxxxx"."xxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxxxx_xx", "= xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxx= x"."xxxxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxxxxx_xx_xx", "xx= xxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxx= x"."xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxx= xxxxxxxx"."xxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxx_xxxx", "xxxxx= xxxxx_xxxxxxxxxxxxxxxxx"."xxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxx= _xxxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxx_xxxxxx", "xxxxxxxxxx_xxxxxxxx= xxxxxxxxx"."xxxxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxxxxxx_xxxx= ", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxx= xxxxxx"."xxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxx", "xxxxxxxxxx_xxxxxxxx= xxxxxxxxx"."xxxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxx1", "xxxxx= xxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxx2", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."x= xxxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxxx", "xxxxxxxxxx_x= xxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxx= x_xxxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxx", T11."xx", T11."xxxx= xxxx", T11."xxxx_xxxxx", T11."xx_xxxxxxxxx", T11."xxxxx", T11."xxxxxxxxxxx_= xxxxxxx_xxxxx", T11."xxxxxxx_xx", T11."xxxxx_xxxx", T11."xxxx_xxxx", T11."x= xxxxxxx", T11."xxxxxx", T11."xxxxx_xxxxxx", T11."xxxxxxx_xxxxxxx_xx", T11."= xxxxxxx_xxxxxxxx_xxxxxxx_xx", T11."xxxxxxx_xx_xxxxx", T11."xxx_xxx_xxx_xxxx= xxxx", T11."xx_xxxxx", T11."xxxxx_xxxxx_xxxxx_xxxxxxx", T11."xx_xxxxxx", T1= 1."xx_xxxxx", T11."xxxxxxx_xx", T11."xxxxxxx_xx", T11."xxxxxxx_xx", T11."xx= xx_xxxxx_xxxxxxx", T11."xxxxxxxxxxx_xxxxxx_xxxxxx", T12."xx", T12."xxxxxxx_= xx", T12."xxxxxxx_xx", T12."xxx", T12."xxxxx_xxxx", T12."xxxx_xxxx", T12."x= xxxx", T12."xxxxx_xxxxxx", T12."xxx_xxxxxx", T12."xxxxxxx_xxxx", T12."xxxxx= xxxxxx_xxxx", T12."xxxx", T12."xxxxx", T12."xxxxxxx_xxxx1", T12."xxxxxxx", = T12."xxxxxxx_xxxxxxx_xxxxxxx_xxx", T12."xxxx_xx", T12."xxxxxxxxxxxx_xx", "x= xxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxx= xxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xx", "= xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxxx_xxxxxxx_xx", "xxxxxxxx_xxxx= xxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_xxxxxxxxxx_xx_xxxxxxxx", "xxxxxxx= x_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_xxxxx_xx_xxxx", "xxxxxxxx_x= xxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxx= xxxxxxxxx"."xxxxxxx_xxxx_xxxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"= ."xxxxxx_xxxxxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxx= xxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxx_xxxx", "xxxxxxxx_xxxxxx= xxxx_xxxxxxxxxxxxxxxx"."xxxxxxxx_xxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxx= xxxxxxxx"."xxxx_xxxxxxxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."x= xxx_xxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_x= xxxxxx_xxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xx_xxxxxxxx_xxxxxxxx",= "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxx_xxxxx_xxxxxx", "xxxxxxxx_xxxx= xxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxxxxxx_xxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."= xx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxxxxxxxxx= "."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxx", "xxx_xxxxxx_xxxxxxxxxx= xxxxx"."xxxxx_xxxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxxx", "xxx= _xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxxxx_xxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."x= xxxxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxx_xxxxxxxxxxx", "xxx_xxxxxx_xxxxxx= xxxxxxxxx"."xxxxxxxx_xx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xx_xxxxxxx", "xxx_x= xxxxx_xxxxxxxxxxxxxxx"."xxxxxxx", "xxxxxxxx_xxxxxxxx"."xx", "xxxxxxxx_xxxxx= xxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxx"."x= xxxxxxx_xxxxxx", "xxxxxxxx_xxxxxxxx"."xxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxx= x_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxxx_xxxx_xxxxx", "xxxxxxxx_xxxxxxxx"."xxxx= xxxx_xxxxxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxxx_xxxxx_xxxxx", "xxxxxxxx_xxx= xxxxx"."xxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxxxx_xxxxx_xx", "xxxxxxxx_xxxxx= xxx"."xx_xxxx_xx", "xxxxxxxx_xxxxxxxx"."xxx_xxx_xxxx" FROM "xxx_xxxxxx_xxxx= xxxx" LEFT OUTER JOIN "xxx_xxxxxx_xxxxxxxxxxxxxxx" ON ( "xxx_xxxxxx_xxxxxxx= x"."xxxxxxxxxxx_xxxx_xx" =3D "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xx" ) LEFT OUTER= JOIN "xxx_xxxxxx_xxxxxxxxxxxxxxxxxx" ON ( "xxx_xxxxxx_xxxxxxxx"."xx" =3D "= xxx_xxxxxx_xxxxxxxxxxxxxxxxxx"."xxx_xxxxx_xx" ) LEFT OUTER JOIN "xxx_xxxxxx= _xxxxxxxx_xxxxxxx" ON ( "xxx_xxxxxx_xxxxxxxx"."xx" =3D "xxx_xxxxxx_xxxxxxxx= _xxxxxxx"."xxxxxxxx_xx" ) LEFT OUTER JOIN "xxxxxxx_xxxxxx" ON ( "xxx_xxxxxx= _xxxxxxxx_xxxxxxx"."xxxxxx_xx" =3D "xxxxxxx_xxxxxx"."xx" ) LEFT OUTER JOIN = "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx" ON ( "xxx_xxxxxx_xxxxxxxx"."xxxxxxxxx_= xxxxx_xx" =3D "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx" ) LEFT OUTER JOIN "= xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx" ON ( "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxx= xx"."xxxxxxxx_xxxxxxxxx_xxxxxxx_xx" =3D "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx= x"."xx" ) LEFT OUTER JOIN "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx" ON ( "xxxxxxxx= _xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxxxxxx_xx" =3D "xxxxxxxxxx_xxxxxxxxxxxx= xxxxxxxxx"."xx" ) LEFT OUTER JOIN "xxxxxxxxxx_xxxxxxxxxxxxxxxxx" ON ( "xxxx= xxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxxxxxx_xx" =3D "xxxxxxxxxx_xxxxxxxxxxxxxx= xxx"."xx" ) LEFT OUTER JOIN "xxxxx_xxxxxxxxx" T11 ON ( "xxxxxxxx_xxxxxxxxxx= _xxxxxxxxxxxxxx"."xxxxxx_xx_xx" =3D T11."xx" ) LEFT OUTER JOIN "xxxxxxxx_xx= xxxxxxxx_xxxxxxxxxxxxxxx" T12 ON ( T11."xx" =3D T12."xxxx_xx" ) LEFT OUTER = JOIN "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx" ON ( T12."xx" =3D "xxxxxxxx_xxx= xxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxxx_xxxxxxx_xx" ) LEFT OUTER JOIN "xxxxxxxx= _xxxxxxxx" ON ( "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xx" =3D "xxxxxxxx_xxxxxxxx"= ."xx" ) WHERE (NOT ("xxx_xxxxxx_xxxxxxxx"."xxxxx" =3D 'xxxxxxxxx') AND NOT = ("xxx_xxxxxx_xxxxxxxx"."xxxxxxx_xx" < '2015-04-20T00:00:00-07:00'::xxxxxxxx= xxx) AND NOT ("xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx" IN ('xx', 'xx') AND "x= xx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx" IS NOT NULL)) GROUP BY "xxx_xxxxxx_xxx= xxxxx"."xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxx= xxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xxxxx", "xxx_xxxxxx_xxxxxxxx"."xx= xxxxxx_xx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx"."= xxxxxxxx_xx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx"= ."xxxxxxxxx_xxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxxx", "xxx_xxxxxx_xxxxxx= xx"."xxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxxx_xxxxx_xx", "xxx_xxxxxx_xxxx= xxxx"."xxxxxxxxxxx_xxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxx_xxxx", "xxx_xxxxxx= _xxxxxxxx"."xxx_xxxxx_xxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxx_xxxxx", "x= xx_xxxxxx_xxxxxxxx"."xxxxx_xxxxx_xxxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx",= "xxx_xxxxxx_xxxxxxxx"."xxxxx_xx_xxx", "xxx_xxxxxx_xxxxxxxx"."xxxx_xxx_xxxx= xxx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxx"."xxxxxxxx_x= x", "xxx_xxxxxx_xxxxxxxx"."xxxxx", "xxx_xxxxxx_xxxxxxxx"."xxxxx_xxxxxx_xx",= "xxx_xxxxxx_xxxxxxxx"."xxxxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"= ."xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxx= xxx_xxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxx= xxxxxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxx_xx", "xxxxxx= xx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xx= xxxxxxxxxxxx"."xxxxxxxx_xxxxxxxxx_xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxx= xxxxxxx"."xxxxxx_xx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxxx= xxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_xxxxxxxxx", "xxxxxxxx_x= xxxxxxxxx_xxxxxxxxxxxxxx"."xx_xxxxxxxx_xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxx= xxxxxxx"."xxxxxxx_xx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxx= x_xxxxx_xx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxx_xxxx_xx= xxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxxxxxxxxx_xx_xxxx= xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxx_xxxxxxxxxx_xx_xxxxxxxx= ", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx_xxxxxxxx_xxxxxxx_xxxx_xx_xxxxxx= _xxxxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx_xxxxxxxx_xxxxxxx= _xxxx_xxx_xxxxxxxxxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xx_xxx= xx_xxx_xxxxxxxx_xxxxx_xx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxx= xxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxx_xxxxx_xxxxxxxx_xxxxx= xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxx_xxxxxxxx", "xxxxxxxx= _xxxxxxxxxx_xxxxxxxxxxxxxx"."xxx_xxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxx= xxxxxxxx"."xxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_xxxxxx= _xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx", "xxxxxxxx_xxxxxxxxxx_= xxxxxxxxxxxxxx"."xxxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_= xxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxx_xxxxxxxxxxx", "x= xxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxx= xxxxxxxxxx"."xxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxxx_xx", "= xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxx= xxxxxxx"."xxxxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxx"."xxxxxxxx_xxx= xxx_x3_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xx", "xxxxxxxx_xxxxxxx= xxx_xxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."x= xxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxx", "xxxxxxxx_xxxxxxxx= xx_xxxxxxxxxxxxxxx"."xxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xx= xx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxx", "xxxxxxxx_xxxxxxxx= xx_xxxxxxxxxxxxxxx"."xxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."= xxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xxxx", "xxxxxxx= x_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxx= xxxxxxxxxxx"."xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxx", "xxxxxx= xx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xxxx1", "xxxxxxxx_xxxxxxxxxx_xxxxxx= xxxxxxxxx"."xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xxxxxx= x_xxxxxxx_xxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxx_xx", "xxxxxxxx_= xxxxxxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxx= xxxxx"."xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxxxx_x= xxxxxxxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxx= xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxxxxxx_xx", "xxxxxxxxxx_xxxxxxx= xxxxxxxxxxxxxx"."xxxxxxxx_xx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxx"."xxxxx= xxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx= "."xxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxxxx_xx= xxxxxxxxxxxxxxx"."xxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxx_xxxx", = "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxx_xxxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxx= x"."xxx_xxxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxx", "xxxxxxxxxx= _xxxxxxxxxxxxxxxxx"."xxxxxxxxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxx= xxxxxxxx_xx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxx", "xxxxxxxxxx_xxxxxxxxx= xxxxxxxx"."xxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxx", "xxxxxxxxxx_xxxxx= xxxxxxxxxxxx"."xxxxxxx_xxxx1", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxx= 2", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxxxx= xxxxx"."xxxxxxx_xxxxx", "xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx", "= xxxxxxxxxx_xxxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxx_xxxx", "xxxxxxxxxx_xxxxxxxxxx= xxxxxxx"."xxxxx", T11."xx", T11."xxxxxxxx", T11."xxxx_xxxxx", T11."xx_xxxxx= xxxx", T11."xxxxx", T11."xxxxxxxxxxx_xxxxxxx_xxxxx", T11."xxxxxxx_xx", T11.= "xxxxx_xxxx", T11."xxxx_xxxx", T11."xxxxxxxx", T11."xxxxxx", T11."xxxxx_xxx= xxx", T11."xxxxxxx_xxxxxxx_xx", T11."xxxxxxx_xxxxxxxx_xxxxxxx_xx", T11."xxx= xxxx_xx_xxxxx", T11."xxx_xxx_xxx_xxxxxxxx", T11."xx_xxxxx", T11."xxxxx_xxxx= x_xxxxx_xxxxxxx", T11."xx_xxxxxx", T11."xx_xxxxx", T11."xxxxxxx_xx", T11."x= xxxxxx_xx", T11."xxxxxxx_xx", T11."xxxx_xxxxx_xxxxxxx", T11."xxxxxxxxxxx_xx= xxxx_xxxxxx", T12."xx", T12."xxxxxxx_xx", T12."xxxxxxx_xx", T12."xxx", T12.= "xxxxx_xxxx", T12."xxxx_xxxx", T12."xxxxx", T12."xxxxx_xxxxxx", T12."xxx_xx= xxxx", T12."xxxxxxx_xxxx", T12."xxxxxxxxxxx_xxxx", T12."xxxx", T12."xxxxx",= T12."xxxxxxx_xxxx1", T12."xxxxxxx", T12."xxxxxxx_xxxxxxx_xxxxxxx_xxx", T12= ."xxxx_xx", T12."xxxxxxxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."= xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxx= xxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx".= "xxxxxxxx_xxxxxxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxx= xxx_xxxxxxxxxx_xx_xxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxx= x_xxxxxxx_xxxxx_xx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_x= xxx_xx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxx_xxxxxxxxx", "= xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxx_xxxxxxxxxxx", "xxxxxxxx_xxxxx= xxxxx_xxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxx= xxxxx"."xxxxx_xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxxx_xxxxx= _xxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxx_xxxxxxxxxx_xxxx", "xxx= xxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxx_xxx_xxxxxxx", "xxxxxxxx_xxxxxxxxxx= _xxxxxxxxxxxxxxxx"."xxxxxxx_xxxxxxx_xxxxxxx_xxx", "xxxxxxxx_xxxxxxxxxx_xxxx= xxxxxxxxxxxx"."xx_xxxxxxxx_xxxxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx= "."xxxx_xxxxx_xxxxxx", "xxxxxxxx_xxxxxxxxxx_xxxxxxxxxxxxxxxx"."xxxxxxxxxxx_= xxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxx= xxxx_xx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx_xx", "xxx_xxxxxx_xxxxxxxxxx= xxxxx"."xxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxx_xxxxx", "xxx_xxxxxx_xxxx= xxxxxxxxxxx"."xxxxxxx_xxxxxxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxxxx_x= xxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx".= "xxx_xxxxxxxxxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxxx_xx", "xxx_xxxxxx_= xxxxxxxxxxxxxxx"."xx_xxxxxxx", "xxx_xxxxxx_xxxxxxxxxxxxxxx"."xxxxxxx", "xxx= xxxxx_xxxxxxxx"."xx", "xxxxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxx"= ."xxxxxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxxx_xxxxxx", "xxxxxxxx_xxxxxxxx"."= xxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxx_xx", "xxxxxxxx_xxxxxxxx"."xxxxxxxx_x= xxx_xxxxx", "xxxxxxxx_xxxxxxxx"."xxxxxxxx_xxxxxxx_xx", "xxxxxxxx_xxxxxxxx".= "xxxxxxxx_xxxxx_xxxxx", "xxxxxxxx_xxxxxxxx"."xxxx_xx", "xxxxxxxx_xxxxxxxx".= "xxxxxxxxx_xxxxx_xx", "xxxxxxxx_xxxxxxxx"."xx_xxxx_xx", "xxxxxxxx_xxxxxxxx"= ."xxx_xxx_xxxx"; xxxx=3D('xxxxxxxxx', datetime.datetime(2015, 4, 20, 0, 0, = tzinfo=3D), 'ff', = 'qa')=20 --=-=-=--