From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 05:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 56808@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.165898498428707 (code B ref -1); Thu, 28 Jul 2022 05:10:02 +0000 Received: (at submit) by debbugs.gnu.org; 28 Jul 2022 05:09:44 +0000 Received: from localhost ([127.0.0.1]:57376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGvmJ-0007Sx-UL for submit@debbugs.gnu.org; Thu, 28 Jul 2022 01:09:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:42106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGvmI-0007Sn-9S for submit@debbugs.gnu.org; Thu, 28 Jul 2022 01:09:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41634) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGvmH-0004hU-UV for bug-gnu-emacs@gnu.org; Thu, 28 Jul 2022 01:09:42 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:33390) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oGvmF-00051q-QX for bug-gnu-emacs@gnu.org; Thu, 28 Jul 2022 01:09:41 -0400 Received: by mail-ed1-x52f.google.com with SMTP id o13so837622edc.0 for ; Wed, 27 Jul 2022 22:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version; bh=74T47cyltQD+uE/EXM7hq10o1EuEkBzGsSiU2pL7Nk0=; b=phc6MWFHgSgE8FXe6uS06AdGACyzzij14aTiv5D0ATcRGfz2cxP/bEnxov2V0jAY48 GmKpkFh/g8m9D/vxHYolmX8MrEKsODMIM8Y5lMWscVng/nZaL3meO6sbk/3XVWbupQ2N stuEvJ/Btb+tSENVq8DOQzQfbp2CX1lqqSrN8ldu8gi/b7QsE1Oo6VoqE22Hk5Bj0WO1 3xGV15oah2MASJ26Bu5u1e96v33I+OyRT31DJwk3wDs0QcbH7VNXixoZ99UtCMBjaA+f cGfpFrIRtIwqWKH04afOXYqiYklP7JeYYfWY2CmP0C6CWhmEcskM21d4EFhl13x3CwbI hVhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=74T47cyltQD+uE/EXM7hq10o1EuEkBzGsSiU2pL7Nk0=; b=TeV2QhhBZAf4YOd0WEJFTcD3cnBbGsACgDPcOnOxJ/rcNZiCv4szb9zr+QFmofgwjK JRgEZMAhiwP5oAiVLTygX6+0bFI4AA0DRvaxMmA69wgv4KP8mZ1sSbfoXVb2zB6RJ7WK Ev+DWXJy7gOSeczTftYs8ihuMp6dpHLd/IgwhRVHA6RAvCdtRKCU7maMEhKtFD3i3JkA meuBPE6iJlOlDTKbpDOKES4b/3IP83+LeeNbGstARX7eoxn6lszt0bv5Mi2SOI71Fkkc JcWFv2BK3S9l5F/LNr68Fj4XP2NDrSgPRa8nolJkdrirad4BZk/bKm785co69KBhA3YA +pPA== X-Gm-Message-State: AJIora8LaQLLPzzAXygpCUH1hXgn/wUVpPT3Z1bydm+0CAzhKiKk/u4S Hkqao4y9wXU409UinKgWkxCtfKKbYxw= X-Google-Smtp-Source: AGRyM1tNFbbdF/6N5KFZcky5buhVrtdzeHWw8twHjw/oOfjRHsUADy257Aw5EmdFccYb9w1jo2Oxdw== X-Received: by 2002:a05:6402:1159:b0:43b:bc82:5ddb with SMTP id g25-20020a056402115900b0043bbc825ddbmr25422813edw.355.1658984977427; Wed, 27 Jul 2022 22:09:37 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id ku8-20020a170907788800b007262a5e2204sm8306365ejc.153.2022.07.27.22.09.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jul 2022 22:09:36 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Date: Thu, 28 Jul 2022 07:09:34 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=gerd.moellmann@gmail.com; helo=mail-ed1-x52f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) In GNU Emacs 29.0.50 (build 6, aarch64-apple-darwin21.5.0, NS appkit-2113.60 Version 12.5 (Build 21G72)) of 2022-07-27 built on Mini.fritz.box Repository revision: de863f70aa905d3a7feaedb58b65bd7f9776853b Repository branch: master Windowing system distributor 'Apple', version 10.3.2113 System Description: macOS 12.5 I am meeing a display problem on macOS. I am looking at code like this: (dap-register-debug-template (list :name "LLDB Emacs" :type "lldb-vscode" When the problem happens, the display looks like (dap-register-debug-template (list :name "LLDB Emacs" :type "lldb-vscode" I.e. :name and :type don't align anymore. I haven't been able to find the cause of this, or even been able to make it reproducible. Observations I made so far - The problem might somehow depend on something happening at startup. When the problem happens after startup, it sticks. When the problem does not happens, it also remains that way. - The problem occurs like every 20th Emacs start. Maybe it's even less frequent. - I've not been able to reproduce this with -Q. - The indentation of the :type line above consists of spaces only, which I mention because there was a recent commit involving stretch glyphs on macOS. TABs are not present in that line. - The spaces of the indentation all have default face. - The mis-indentation increases with the depth of indentation. It's not a constant offset. - Curiously, it looks to me like the end position of the indentation lines up with character boundaries on the line above, but I can't see the individual pixels here, so that may be wrong. - Font is Monaco 12. - Theme is modus-operandi. - I can't say 100% sure but I might have seen that already last week? I was looking at a multi-line C function call, where the second line of arguments wasn't aligned under the ( of the function call. ISTR wondering slightly why some functions were consistently aligned in a strange way. Someone else seeing this, who has another observation to share? Maybe the same happening with a different font? From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 06:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.16589882902920 (code B ref 56808); Thu, 28 Jul 2022 06:05:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 06:04:50 +0000 Received: from localhost ([127.0.0.1]:57414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGwdd-0000l1-Rc for submit@debbugs.gnu.org; Thu, 28 Jul 2022 02:04:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39312) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGwda-0000kk-Nk for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 02:04:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44756) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGwdV-0007rQ-Hp; Thu, 28 Jul 2022 02:04:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=y1GQ/kU0RvnSw2nOlurs/2j9tgpl2hXt+1h8uLgbsAA=; b=SKVdlc9BVFhPwp+DGMop ivRHNxQDrd4qB7dtBENT1PPTQualvz7R8QaT4s2yGMCuBaqOK9S5jEYw+dYmh1UN/dLnLSaNaL69j zf1KX3KoMAqAfezDUAh6TKmRz6+6GO8rgBe7JKlIyzp6gC9xGDCWpriOpqrWl02uMKGF74/CCFtoi YuopEe20Stvuc1BqbvK8LNpQuWXx0HTO8x6f4OpMWM3Hs/QZQm6UOVju90tbJCggY6i5Om7HjKdz3 a8drtdc282uhX9yq3uGpZhJlJi3WpR8t5fGufl1AlGeSaIQoWz2wpgH4PtTRnP5Tg3EoJP7xjc16e c6+s/r+IgmYmYg==; Received: from [87.69.77.57] (port=3511 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGwdU-0000kz-Lp; Thu, 28 Jul 2022 02:04:41 -0400 Date: Thu, 28 Jul 2022 09:04:48 +0300 Message-Id: <83r125ai2n.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Thu, 28 Jul 2022 07:09:34 +0200) References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Gerd Möllmann > Date: Thu, 28 Jul 2022 07:09:34 +0200 > > I am seeing a display problem on macOS. I am looking at code like this: > > (dap-register-debug-template > (list :name "LLDB Emacs" > :type "lldb-vscode" > > When the problem happens, the display looks like > > (dap-register-debug-template > (list :name "LLDB Emacs" > :type "lldb-vscode" > > I.e. :name and :type don't align anymore. Are there any :align-to display properties involved in this? ("C-x =" could help you find out.) Can you run this under a debugger and show the display elements in the offending glyph_row? The easiest way of doing that with GDB is like this: (gdb) break Fredraw_display (gdb) run Then wait for the problem to happen when it does, move the cursor to the screen line with the alignment problem, invoke redraw-display, and when the debugger kicks in, do: (gdb) break set_cursor_from_row (gdb) continue Typically, the first time the breakpoint in set_cursor_from_row breaks it's in a mini-window. Verify with (gdb) p it->w->contents (gdb) xtype (gdb) xbuffer Then type "continue". Do the above until set_cursor_from_row is called in the right buffer. Then step until the variable 'row' is assigned in one of the first lines of the function, and do (gdb) pgrow This should display the glyph_row with some detail. Of course, you don't have GDB, so some of the above will need to be done differently, sigh... In particular, the 'pgrow' command is defined in src/.gdbinit. You may wish starting by doing the above in a "good" session, to see what display elements are shown in that glyph_row when the display is correct. Thanks. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 07:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165899385313457 (code B ref 56808); Thu, 28 Jul 2022 07:38:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 07:37:33 +0000 Received: from localhost ([127.0.0.1]:57493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGy5N-0003Uz-3T for submit@debbugs.gnu.org; Thu, 28 Jul 2022 03:37:33 -0400 Received: from mail-ed1-f50.google.com ([209.85.208.50]:39888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGy5L-0003Ul-Bp for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 03:37:31 -0400 Received: by mail-ed1-f50.google.com with SMTP id z22so1093385edd.6 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 00:37:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version; bh=zsrGD7LUlnq/x2RQiVddoTaJDCtiV34/qvIGVspnq8k=; b=T4B0mwtLjFimlmE1bKaTcbAcvnrFdxUSnOvxmR8EQ444Qo8UUbb5Iqzoo6DHUmBTYD +zewPshVK0S+mJghJB+771eTUVeAaqjxAGQtW4L9lkwNpKonN6sy//NxzCKTMOBixSvO f6mPeV3sJRV30PVkx3QPll/+y8F2/oXCMXWNdGkcaAeD3XDsnJPnEnbb/gbtp909jtCW iXKCZm9OH6C//FHpnauEePwmoBBmS+MXnbXs4QkgtDwNEU8soPrDAE06m9P71iaFCmiS 033YcOt7kl7iX3HBUfme6jhYoJuUc+b10iEhGDC9OsnUQh3GhJ2a01pqFSrQa9VxYyLK vxgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version; bh=zsrGD7LUlnq/x2RQiVddoTaJDCtiV34/qvIGVspnq8k=; b=NvSDJlXWPyn1WMZ3j0j0PjJrMvLvrpuScAxc/iCflULACgoh2m/xallq2EOuJhNIJe i1jC4Ykr5IF26HuPdHNVyAQQ0aZ5FCyy2YDk0ruK7gFbD6E4fptwFeuNSh8MFE0O3Oug Tn3qlIu06m/ofNw74fInXydivc7ROOqWNIpXsaDx+dvBo0hzdJJz13ozXeWw8KRJGCOV o0owgUNRRQWyws7hRfbZaUHQIjXxz6flX1/CXz6XdOB4+pZsa9CS4xzt0/b7FnFdJFYg HW1WQ66KoiDAIcTEuVBMM6DWg43pgLKAAx1pU4sEOMSyPAnZBBJ6bQ0ZtfE78TWo8oIB QmDQ== X-Gm-Message-State: AJIora8/moV0jDaKiRrxLzDe0UijUU13z7rX/isB5RK8Ku2wMdhaKSkj RZXmZZrMOxUHQSr4T42DRnNilRWDyy4= X-Google-Smtp-Source: AGRyM1s8RYGCi2NEdMNQIt9+1hVBI0TzommC8D4UhbZ4kFbtjtSc0+PyeCmHmbSdwzcMS5KxxCjZXw== X-Received: by 2002:a05:6402:3509:b0:43b:f09d:6517 with SMTP id b9-20020a056402350900b0043bf09d6517mr19899273edd.66.1658993844655; Thu, 28 Jul 2022 00:37:24 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id 24-20020a170906301800b007262a1c8d20sm105247ejz.19.2022.07.28.00.37.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 00:37:24 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <83r125ai2n.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 28 Jul 2022 09:04:48 +0300") References: <83r125ai2n.fsf@gnu.org> Date: Thu, 28 Jul 2022 09:37:23 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > Are there any :align-to display properties involved in this? > ("C-x =" could help you find out.) No, nothing there, no properties, no overlays. Just spaces, AFAICT. > (gdb) pgrow > > This should display the glyph_row with some detail. > > Of course, you don't have GDB, so some of the above will need to be > done differently, sigh... In particular, the 'pgrow' command is > defined in src/.gdbinit. Yeah, no GDB fpr the old white man here :-/. Maybe I smatter something in Python for LLDB if it turns out I can't find out what happens without. My current kind of working hypothesis is that this is caused by something in the "font department". When the problem is there, Emacs seems to behave completely consistently, assuming that it has the wrong value for the width of a space. For example, cursor movement in the wrongly displayed line, which should be using the current glyph row. The cursor movement is entirely okay, when a space were a bit wider than normal. From which I "conjecture" that the width of the space in the glyph row is already wrong. But then again, since the display of the run of spaces should be done as a string of characters in the same face, I also "conjecture" that the font of the face should be wrong. Which I find sort of strange. Shouldn't then all characters have the wrong size, and things would align again? Anyways. That are all not exactly being wild guesses, but as you can see I'm still making "Bayesian" guesses. In the hope of getting by without debugging, which won't happen, I see that already coming :-). Thanks! From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 08:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165899527916323 (code B ref 56808); Thu, 28 Jul 2022 08:02:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 08:01:19 +0000 Received: from localhost ([127.0.0.1]:57515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGySN-0004FC-Da for submit@debbugs.gnu.org; Thu, 28 Jul 2022 04:01:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60058) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGySM-0004Ex-1t for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 04:01:18 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45780) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGySG-0007q7-NM; Thu, 28 Jul 2022 04:01:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=gUDVXeRHHHTUurJR5rNfVHRSqPWtyMlfasoXeOcdFI0=; b=E9sgjEYIrm1A5JzCdqwt SEFbr4U1CPmVlO/bZoDWgfvKOnfPhoCHbGDth3uXLAIIAnqI8lI3htBWlRbRO2LUA12Aja3trgNNZ 1s/OZcHtXs7ndxpsmSv7FIJwVpYCXj6GeLprvuu0IKBl0X3DLUNfturi3yBUz/0DL/bjVFJQLQxQl kP0CQEEuHqaPiApBJSxaIJzcVinm8xTg8lY7b2SNKZbbIUFwm2rJq0dmvGpRDoX7fO5fWM3K9K+K/ Z8Nmhm4VA4r/wuEOTXhuJNStjJ5mQGwcbTLihAt/Xdne1JBKrl9neD/NqdHg/lru+QCYH0QheFo9W cYRjurMdUeMEqg==; Received: from [87.69.77.57] (port=2860 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGySD-0004eG-Hj; Thu, 28 Jul 2022 04:01:12 -0400 Date: Thu, 28 Jul 2022 11:01:17 +0300 Message-Id: <83czdpacoi.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Thu, 28 Jul 2022 09:37:23 +0200) References: <83r125ai2n.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Gerd Möllmann > Cc: 56808@debbugs.gnu.org > Date: Thu, 28 Jul 2022 09:37:23 +0200 > > My current kind of working hypothesis is that this is caused by > something in the "font department". When the problem is there, Emacs > seems to behave completely consistently, assuming that it has the wrong > value for the width of a space. > > For example, cursor movement in the wrongly displayed line, which should > be using the current glyph row. The cursor movement is entirely okay, > when a space were a bit wider than normal. From which I "conjecture" > that the width of the space in the glyph row is already wrong. If it's a font issue, "C-u C-x =" with the cursor on the space that is larger than normal could help by showing the font used for that space. > But then again, since the display of the run of spaces should be done as > a string of characters in the same face, I also "conjecture" that the > font of the face should be wrong. Which I find sort of strange. > Shouldn't then all characters have the wrong size, and things would > align again? If Emacs decided, for some reason, to use a different font for some character, it will generate a separate face for it, and that face is not exposed to Lisp. (Normally, this only happens for non-ASCII characters, though.) Btw, 'pgrow' shows the face ID as well, so it can tell. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 09:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165899990024872 (code B ref 56808); Thu, 28 Jul 2022 09:19:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 09:18:20 +0000 Received: from localhost ([127.0.0.1]:57597 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGzet-0006T6-K7 for submit@debbugs.gnu.org; Thu, 28 Jul 2022 05:18:19 -0400 Received: from mail-ej1-f42.google.com ([209.85.218.42]:41911) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGzes-0006Sr-4T for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 05:18:18 -0400 Received: by mail-ej1-f42.google.com with SMTP id z23so2098655eju.8 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 02:18:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version; bh=f+4IAYBD0w0N6H+ic5k3Grr/2VXdUMMvVusOVkgdMx8=; b=UKZHQNiWOwZnKMRSG5cDK2ClaE7zmfPqWT/YkQe6KjacSK7iAv8UzUtsbBlugyae1V yob/LuRulQEeIg1mqcN0gYnmwY4H9SZdrAcmHYIO3i8kuU3o+iNEYNJYmzwDAsayLiMy UIBwd5giHaGMs1pTQD/iG8f8rTsLKM39yJLLmGzU1chVELG7ByzL+oyXtNPT/mAAWFEJ BwA9zAsBGFGNfPAZQHGjTjFLH5+PS/snS3FKTSk6hIPrUzh7XopbG4+kjbeUJVz1P925 FZJIfryIeLsRIN1Vad4kDBAnNoffmmZLkKCLImdtp6gGU0GDNgwXn1Va7mXNOBIEnY0A ISFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version; bh=f+4IAYBD0w0N6H+ic5k3Grr/2VXdUMMvVusOVkgdMx8=; b=v593XinAokOP+hRG9TTXVNCR6NootiRklTzBLyJxH/yAOSmSy8jYBXXlKIT02q69Wt IG46dpjluxR3VtHpR/vq2PxbawKS/7GzwaUW08yj3UhVeSIv6QXj1pNMEWd35ppDdA2H ptoVrhHEnUOmMh8T49b2LjlG/UzsyzJV2O7bCZ9LCD8tLeajLhzo2dPOAQvH1OPRZeZX E6R+Dql5l9NHTVnEZFWfzBZcViolj84qb5J8jirc16H7o++T7Cku+nf83Gu8WJMxkb60 WRSkFfNoiUIR8qRXBQT1x24PG4JUtRbHkF6F1wf8KKJnYti/znANjBHXGwLNt/+CQP78 qxDQ== X-Gm-Message-State: AJIora/6RGRc4lQCNZz2O7kn/jEVyxXWwv29FS6XZo8hMSFexCb8I3yq a9mnmp8BdYv9OaHDeZN587BbH8G1Gwk= X-Google-Smtp-Source: AGRyM1tD8wO1mdCDLltgLobMb6c1mBepYVmQzlXBUILWTFlyEDwlTNBL4KLr8+0bz59mii2A8eNwvQ== X-Received: by 2002:a17:907:e87:b0:72b:4a74:e30b with SMTP id ho7-20020a1709070e8700b0072b4a74e30bmr20855786ejc.222.1658999891698; Thu, 28 Jul 2022 02:18:11 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id o5-20020a056402038500b0043cfb6af49asm242130edv.16.2022.07.28.02.18.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 02:18:11 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <83czdpacoi.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 28 Jul 2022 11:01:17 +0300") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> Date: Thu, 28 Jul 2022 11:18:10 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > If it's a font issue, "C-u C-x =" with the cursor on the space that is > larger than normal could help by showing the font used for that space. Alas, I managed to kill the Emacs instance yesterday with a C-c in the terminal window instead of typing that into Emacs, so I can't check right now. I'm using lldb from the terminal because I don't know dap-mode good enough yet. I think the spaces showed the font I expected with C-u C-x =. That's only a string though, and XLFD which macOS certainly doesn't use, so I don't know how far I should trust that. >> But then again, since the display of the run of spaces should be done as >> a string of characters in the same face, I also "conjecture" that the >> font of the face should be wrong. Which I find sort of strange. >> Shouldn't then all characters have the wrong size, and things would >> align again? > > If Emacs decided, for some reason, to use a different font for some > character, it will generate a separate face for it, and that face is > not exposed to Lisp. (Normally, this only happens for non-ASCII > characters, though.) Yes, I remember the face realization and so on. With the usual disclaimer--in its original form. > Btw, 'pgrow' shows the face ID as well, so it > can tell. Yeah, rub it in ;-). I guess I'll take a break. Maybe I can insert some asserts somewhere to make the whole thing more reproducible. One idea might be that the font used by a font-lock face (for :type) must be the same as the font of the default face (the face for the spaces). Hm, I have a custom-set-faces in the init.el... '(default ((t (:family "Monaco" :weight light :height 120)))) Hm.... Later. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 11:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165900787924969 (code B ref 56808); Thu, 28 Jul 2022 11:32:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 11:31:19 +0000 Received: from localhost ([127.0.0.1]:57784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH1jb-0006Ue-0L for submit@debbugs.gnu.org; Thu, 28 Jul 2022 07:31:19 -0400 Received: from mail-ej1-f43.google.com ([209.85.218.43]:43570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH1jY-0006UP-Jq for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 07:31:17 -0400 Received: by mail-ej1-f43.google.com with SMTP id b11so2614997eju.10 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 04:31:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version; bh=deY0S0N0ZJakCPGcjg7iAD8BfZJr8QzjEDvP+RDkQ8w=; b=SaEeIQ8Dk3or7Dm2TeDdHB93OgxPR5GRcEG968qC8OLxuE96NfC4sWzo0n+tD7Jo2V eRbPXApLWz4QeWtZG0vJiSuUYN7G/5TiVTpvb/lRjozz+S29gQwQOFy7oBCR90tEswtX T1YZXHFlJ/W5d0iIvUifDP3OiA7GXbw+9zX+TYSBa7WlAA5zppgdQDSQyHv/onz64TLv slAd5gifkUxTrbX/+gVSqLRhqSpbuhMqX3wFw4n1vdhg8K5UwTObWSO3D48FLGa1VsC/ rHkhPR03bWMylJYMyO6iIkNCmnXlzcDAKsN3YeuFcq1jCLw7R0drFh8c9U/EspBuR8WO pGew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version; bh=deY0S0N0ZJakCPGcjg7iAD8BfZJr8QzjEDvP+RDkQ8w=; b=wbN7WS/lPgfis+QQZAai8mNjXeSDDwcgxzQf2qaAv/LhGQvh7ieCkF2/mN/vbotUB5 KPU8GPBhWWz3vnpMWunaWfZqChae5OOEsUR8w5UwrHq7urS2313kRBXEdPlzfXfL/8yu GPZTNIjAlhcAAyYKOrMUjM2m7PEiuImhBESPM/SQdB2GSzm1DquhUqhganN45hJPRp6A StejEPM0U85Y0ufyNUQomxN6rW5Lfeg2tN/AxZ/aPV6cpykZ1ugI6JygHX/ypPx8gPJr SET14qaz3CroQ27Gif6vIaOgDr+0L1JA7zRMTvROqEMKiR7OKg7axSNgWLzhuMPDN8Fa QJ2Q== X-Gm-Message-State: AJIora/piHps/xtCP94Y4V/N0/PxsQfwG7Eh4TYRCjWGcZRp3eHwfRMZ 4YNJkJpHA3pR9vVWTc2el0uV6V3LX9s= X-Google-Smtp-Source: AGRyM1uClnrb7FLV6etSPp4WV8Us0Ki4QlVg9jqGtWqxSf/2aoXX9iioPXOCtguxufiBqUruqfThXg== X-Received: by 2002:a17:907:a40b:b0:72b:64e3:4c5e with SMTP id sg11-20020a170907a40b00b0072b64e34c5emr21073815ejc.612.1659007869199; Thu, 28 Jul 2022 04:31:09 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id y6-20020a1709064b0600b0072fa1571c9asm323289eju.104.2022.07.28.04.31.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 04:31:07 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: ("Gerd =?UTF-8?Q?M=C3=B6llmann?="'s message of "Thu, 28 Jul 2022 11:18:10 +0200") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> Date: Thu, 28 Jul 2022 13:31:06 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Gerd M=C3=B6llmann writes: > Later. I've digged a bit deeper, because it nagged me. This is the font of the default face in both cases... --=-=-= Content-Type: image/png Content-Disposition: inline; filename="Screenshot 2022-07-28 at 13.19.43 .png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAwkAAADWCAYAAACaG87rAAAKuGlDQ1BJQ0MgUHJvZmlsZQAASImV lwdQU1kXx+97L52ElhCKlNCbIJ0AUkIPXTrYCEkIoYSQgopdWVzBtaAiAsqKrogouBZA1oooFhbB inVBFhVlXSyIiuV7wBB295vv++Y7M3fu75137v/c8+bemfMAoJhwxOIsWBWAbJFMEh3ky0hMSmbg nwI80AQEoAb0OVypmBUVFQZQm5r/bu/vAGh8vmkzrvXv7/+rqfH4Ui4AUBTKqTwpNxvl4+j4yhVL ZAAgKAPjRTLxOPegTJOgG0R5aJwFE4wZ16GlTjJtIiY22g9lCwAIZA5HIgCA7IT6GXlcAapDjkXZ TsQTilAuQNkrOzuHh3IbyhZojBjlcX1m6l90BH/TTFVocjgCBU/WMmEEf6FUnMVZ8n9+jv9t2Vny qRxm6CCnS4KjJxnqycwJVbAoNSJyioW8qXioJ10eHDfFXKlf8hTzOP6hirVZEWFTnCYMZCt0ZOzY KeZLA2KmWJITrciVJvFjTTFHMp1Xnhmn8Kfz2Qr9/PTYhCnOE8ZHTLE0MyZ0OsZP4ZfIoxX754uC fKfzBipqz5b+pV4hW7FWlh4brKidM71/vog1rSlNVOyNx/cPmI6JU8SLZb6KXOKsKEU8PytI4Zfm xSjWytADOb02SvENMzghUVMMYkE6kAMR4AE+kIBUkAOygAwwgD8QAikQo08cgB4nGX+xbLw4vxzx EolQkC5jsNBbx2ewRVzbmQwHOwcHAMbv8OQReUufuJsQ/eq0L/ccAG5FqFMw7eMYA3DyKQDU99M+ 4zfo8doMwOkurlySN+mbuGtYQAIqgAa0gT4wBhbABjgAF+ABfEAACAGRaCVJYAHgovVko5UsAsvA alAIisFmsB2UgyqwFxwAh8FR0AROgfPgErgGusBt8AD0ggHwEgyD92AMgiA8RIGokDZkAJlC1pAD xIS8oAAoDIqGkqAUSACJIDm0DFoLFUMlUDm0B6qFfoZOQuehK1A3dA/qgwahN9AnGIHJMA3Wg83g WTATZsGhcCw8HxbAuXA+XABvhMvgavgQ3Aifh6/Bt+Fe+CU8ggBECaEjhogNwkT8kEgkGUlDJMgK pAgpRaqReqQFaUduIr3IEPIRg8NQMQyMDcYDE4yJw3AxuZgVmA2YcswBTCOmDXMT04cZxnzFUrC6 WGusO5aNTcQKsIuwhdhS7H7sCexF7G3sAPY9Doej48xxrrhgXBIuA7cUtwG3C9eAO4frxvXjRvB4 vDbeGu+Jj8Rz8DJ8IX4n/hD+LP4GfgD/gaBEMCA4EAIJyQQRYQ2hlHCQcIZwg/CMMEZUJZoS3YmR RB5xCXETcR+xhXidOEAcI6mRzEmepFhSBmk1qYxUT7pIekh6q6SkZKTkpjRHSai0SqlM6YjSZaU+ pY9kdbIV2Y88jywnbyTXkM+R75HfUigUM4oPJZkio2yk1FIuUB5TPihTlW2V2co85ZXKFcqNyjeU X6kQVUxVWCoLVPJVSlWOqVxXGVIlqpqp+qlyVFeoVqieVL2rOqJGVbNXi1TLVtugdlDtitpzdby6 mXqAOk+9QH2v+gX1fipCNab6UbnUtdR91IvUARqOZk5j0zJoxbTDtE7asIa6hpNGvMZijQqN0xq9 dIRuRmfTs+ib6Efpd+ifNPU0WZp8zfWa9Zo3NEe1Zmj5aPG1irQatG5rfdJmaAdoZ2pv0W7SfqSD 0bHSmaOzSGe3zkWdoRm0GR4zuDOKZhydcV8X1rXSjdZdqrtXt0N3RE9fL0hPrLdT74LekD5d30c/ Q3+b/hn9QQOqgZeB0GCbwVmDFwwNBouRxShjtDGGDXUNgw3lhnsMOw3HjMyN4ozWGDUYPTImGTON 04y3GbcaD5sYmISbLDOpM7lvSjRlmqab7jBtNx01MzdLMFtn1mT23FzLnG2eb15n/tCCYuFtkWtR bXHLEmfJtMy03GXZZQVbOVulW1VYXbeGrV2shda7rLtnYme6zRTNrJ5514Zsw7LJs6mz6bOl24bZ rrFtsn01y2RW8qwts9pnfbVztsuy22f3wF7dPsR+jX2L/RsHKweuQ4XDLUeKY6DjSsdmx9dO1k58 p91OPc5U53Dndc6tzl9cXF0kLvUug64mrimula53mTRmFHMD87Ib1s3XbaXbKbeP7i7uMvej7n96 2Hhkehz0eD7bfDZ/9r7Z/Z5GnhzPPZ69XgyvFK8fvXq9Db053tXeT3yMfXg++32esSxZGaxDrFe+ dr4S3xO+o37ufsv9zvkj/kH+Rf6dAeoBcQHlAY8DjQIFgXWBw0HOQUuDzgVjg0ODtwTfZeuxuexa 9nCIa8jykLZQcmhMaHnokzCrMElYSzgcHhK+NfxhhGmEKKIpEkSyI7dGPooyj8qN+mUObk7UnIo5 T6Pto5dFt8dQYxbGHIx5H+sbuyn2QZxFnDyuNV4lfl58bfxogn9CSUJv4qzE5YnXknSShEnNyfjk +OT9ySNzA+Zunzswz3le4bw7883nL55/ZYHOgqwFpxeqLOQsPJaCTUlIOZjymRPJqeaMpLJTK1OH uX7cHdyXPB/eNt4g35Nfwn+W5plWkvZc4CnYKhhM904vTR8S+gnLha8zgjOqMkYzIzNrMr9lJWQ1 ZBOyU7JPitRFmaK2HP2cxTndYmtxobg31z13e+6wJFSyXwpJ50ubZTS0WeqQW8i/k/fleeVV5H1Y FL/o2GK1xaLFHUuslqxf8iw/MP+npZil3KWtywyXrV7Wt5y1fM8KaEXqitaVxisLVg6sClp1YDVp debqX9fYrSlZ825twtqWAr2CVQX93wV9V1eoXCgpvLvOY13V95jvhd93rndcv3P91yJe0dViu+LS 4s8buBuu/mD/Q9kP3zambezc5LJp92bcZtHmO1u8txwoUSvJL+nfGr61cRtjW9G2d9sXbr9S6lRa tYO0Q76jtyysrHmnyc7NOz+Xp5ffrvCtaKjUrVxfObqLt+vGbp/d9VV6VcVVn34U/tizJ2hPY7VZ dele3N68vU/3xe9r/4n5U+1+nf3F+7/UiGp6D0QfaKt1ra09qHtwUx1cJ68bPDTvUNdh/8PN9Tb1 exroDcVHwBH5kRc/p/x852jo0dZjzGP1x02PV56gnihqhBqXNA43pTf1Nic1d58MOdna4tFy4hfb X2pOGZ6qOK1xetMZ0pmCM9/O5p8dOSc+N3RecL6/dWHrgwuJF261zWnrvBh68fKlwEsX2lntZy97 Xj51xf3KyavMq03XXK41djh3nPjV+dcTnS6djdddrzd3uXW1dM/uPnPD+8b5m/43L91i37p2O+J2 9524Oz13593t7eH1PL+Xde/1/bz7Yw9WPcQ+LHqk+qj0se7j6t8sf2vodek93eff1/Ek5smDfm7/ y9+lv38eKHhKeVr6zOBZ7XOH56cGAwe7Xsx9MfBS/HJsqPAPtT8qX1m8Ov6nz58dw4nDA68lr7+9 2fBW+23NO6d3rSNRI4/fZ78fGy36oP3hwEfmx/ZPCZ+ejS36jP9c9sXyS8vX0K8Pv2V/+ybmSDgT rQCCDjgtDYA3NQBQktDeoQsA0tzJHnvCoMn/ggkC/4kn+/AJcwGgxgeAuFUAhKE9ym50mKJMRufx NinWB8COjoox1Q9P9O7jhkP/YkrMtZQpXdc5yCrwD5vs6/+y73/OQKH6t/lfxBwNiXMfkmoAAABW ZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAwmg AwAEAAAAAQAAANYAAAAAQVNDSUkAAABTY3JlZW5zaG90+lyAswAAAdZpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhN UCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8x OTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv dXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEu MC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjE0PC9leGlmOlBpeGVsWURpbWVu c2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc3NzwvZXhpZjpQaXhlbFhEaW1l bnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNv bW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRh Pgq0sw8LAABAAElEQVR4AexdCbxNVRdfSREZigxJJFQoNBiKZFbIWJGQoTSYoiRKIUVkLplnlQyZ 5wplnjMkY+a5lM9QdL71X9qn8+4759zh3fd6j7V/v3vPOXtc+7/X2Wevvdfa+xoisvgXsXvggQdo 7dq1VKJECdq3b59vPqVKlabGTV6gZi82pvPnz0vctzq8Q4cOHqTRo0fIc758+enlV1rQtGlTaOGC +XZ+RYsWp2YvvULXXnut+E388nOaP38u/fXXX+QXZmcQDzd33plH6nPbbbfRqVMnaczoUbRhwzqy LIvuvDM3VXr8CcqQISP9/fcl2r9vP02YMFboTZYsGT38SAkqXvwRSpXqBvr9999pyeLFjONqqla9 Jl2b7Fo6dPgglSz5KCVPfh0tX/YDfffdN5Qy5Q3il7/AveyfnC5cuEArVyyjzZt/pGzZbqMXXnyJ Vq5cQd8vXSK1PXnyBF28eJG8yvvjj9+p49vv0kcffUjFij1Mt2bNyuUeorFjRtGff/7JdfCuXzzA Ge9ZXnPNNTRw4Gf0x5k/KGvWW+n1tq3p+PFjdrlPPFGFypWvSG1ea2H7mRu/MBMnmtfuPXrRtm1b afSoy++FM+9bb81Ghw4dpM5dutG2rVvpiy/GS3CBe++jN95oT++88xbt++UXZ5JEc1+mTDmq3+B5 6v3xR/Tjj5ti0OVVZ7TVK6+2lLh//nmBunZ5N0a63Lnz0OPcdnnz3iX8vn/fL9S7d095RlnDhw+h Z555Vt6RJUu+o8mTJso7GiMTjwe8v7379Kf+/Xrz+7lGYuFde+nl5jR+3GiqUrUa5cqVi7Zs2Uyf DfqEMma8hX8ZqVXrtvIe4p2G+4Xb4wzz3Q033EDPPdeQ8A5funSR5s6ZTQsWzJM4Tz9Tl9/9ZHTy 5Ekq9VgZ7jtupklMK/rB66+/Xsq6776ClDZNWjp3/hxNn/Y1v+/L5f2uXOVJ7oNLUtq06ejIkcO0 gPvGXbt2edKSJk0aX0zzMJZ169ajW2+9lek5RbNnzaAfflgqGHrV/dKlS1IPr7+GDRtTmrRpaOCA fnaUwvc/QDVq1KL3u3ZmP8uzjl5tbGfkcdP6tbbCE8ePHye8w9u3/8R4zqM6dZ+jAf370Hud36cP unWRsDty3UnvdupIv/56yiO3f73dvmXCv/w+4lvm187Ixa0/ea5+Qzp9+jQ99GARusi8MXvWTGr4 fCPu+78Vnv23dPc79PNufLCMvx9e7elX5o+bNsq76vX+ePHkgQP7Pd8P8L4fD+D99nODPhtG8+bN oa+nTnaN5oYrvsWd3u1CXTp34ndip6Tr9sFHtGPHdho1crgnNojoh6khIHPmLNSpU2dat26t9DXG X6+KwJWAQLJglbjxxhu5Q3uC7r33Xjtq2rRpKV++fIRBV7Qd8sYPH2fjUqVKTY0aN6EVK5aLFz68 NWs9Rbfdlp0H2d5hJn18XG+66SYelDejY0cPyyB/186dMkjHQOXGG9NQvXoNKEuWW2nRwgX8cf2e LrGggA4HmFXnj+JzzzWgUzwYWMADgEOHDlHWW7MKmRiAFH/4YflA//rrr4SP+S23ZJK0DRo2krRI t5s7u9y5c1PGW26hus/Wp9avvS4DlPI8yEWHiF+xYsWDlodCGzVqQlm4ozvIA08ILvff/yD51S8+ 8EyIPO+++x66kfEcMXwoC25/04MPPpQQxUa9DAgIbi5rlqx07tw5ypnjDurS9QMe3A6Qj7wRrN3S JLTfPTwJsHfvnlgCgh8dp0//RrNmTac9e3bR7bfniBW1Hr9LGTJkoMGffSKC+Laftkkc9A2I3759 Rx6gnyEMeqryoD7vXXfHyiMcj5QpU3K+t1O7NzvQpYuXB3MPPVSUihV/mN/dR7gfeJlSpEghEwG4 xw+CBFyLFq1FQICgsonpwSAtZ847JOwWfpcrVnqCqlWrQSuW/8D9yh+UhvsSOEwAVK5clfbv30cT J37OfcItlC5dOgmrVftpqsX9IQaDnwzsR+vXrxP+9qPFD9ObbrpZhE30VWPHjKaj3Me92OxlKsCC jV/dhRifv61bNxNwype/gB2rUsXH6ddTp3hS4oJvHb3a2M7I4+bEiRPyLQEf/MRCd44cOSlTpsx0 4sRxO0Xtp56RNunHgmAoAoKdkG/KV6gkk0GYEDJthXC/dnamd96Drtrclr//flommVq0bC0Tbw89 VMQZzfPeiw/82tOvzGDvjxdP+vFIMB7wrJwjIAe35cP8nuGX38FLjihBbyFIZ+H+0g8bZOKFqbOA o0eP0MpVK+geHhOpUwSuNASSe1UIswRvvPEGPfbYYxLl448/5g/7j/yhqkxNmjSR2Znnn3/eK3nE /hAEMIOKGRXjzp79H73Z7nX5kDzCM/CYfRs9aiTH+U2i+IVhwGs+poj8t/U3LeaZmbg6DOA/40HJ ubPnZDbqm28W0py5s3jwvkuEHOB37vxZOnjwgAgBf/31p8xeYvCNgfjyZcvs1RPQgpUB4yBkDBzQ l2c6fqZXX23Fqw9/0h135KIiRYrSlMlf0ezZM0V4ePCfj8e4saNoxvSp1KZtO16R+I6FqWWSFTBM nz69Z3m5eOYMbitmoz+/PBsNP3SeyMOrfpIoCf4BryOHD9PPP2+nn3lGEULCnDmzkmBN3ElOzQI9 ZjAxoMIqG1aDqlZ9kgeyl2Tw7J4qYX0hRK9evTKsQs+ePcuD5mV0/XXXCy8HJsaAPGWKlCyc38h5 r+IZ+pgz2qtWrRTBEEL6Q0WKUOFC99P2fwSJwLzCeV6zZjV9+kl/SVKBB7vp098kM5yY5fx00BBe BfiKvlm0wM4SAzKsICxcOJ92794lfUPp0mXFD4ITHITX/vzug75bs2XjQeuvIkQUKVKMxo8fQ/Pn zZV4EC7gIABWYsEC/c+0r6eIH1YWjfOiBeFemGKVE5gOGTyIDvPK4nIWWFCfx0qXoTmzL78vbnU3 ZXpdkQYCbnVeLd26ZTOvUmSju+/JRx/36uFbR+QXrI29yjzJQkLRosUkeNJXE6W8e3nFzbmCCJ78 3//+J5M2Xvl4+edjoReCItz1jBlcKO0sEV3+gE+fPr1o+IgxzDsL6cfNm3gSp6lLzJhefnyA1QWv 9kQuwcp0e38unD/P3yN3njSUufEIVqS8eMCkC3bNnSePPYn4yy97ZRUvWJrAcKzC4zvnx+sYh/i9 W848sUJRtmx5mVzDO6tOEbhSEPh3ZOqo0XXXXUcffvghz/o8xOoZA3l5b54M2jEb1qxZM17+/I7G jr2sOuNIFvQWajhwzhUIdG6BzikgmDAjELRt00pme5wDAb+wggULyZK5yedvpiEaQgLy27tnj8zw D/7sU57l3C2zuPAH/RgIQHUF6jw/b99Oq1avkAF8Ch7MZMqUKVbHdvGfDw2wwWzL1q1bRKj47LOB IpBVrPiEzIYu5w92oEOHd+7ceY5/eZBximfmjAtWHuLNnDGNIIhhgAk6rr328gKTV/1M3kntCoFx 586fWWUiGx1g4Q2dOoSo3367LGwmtfoE0osPJpxRqcF9VlbVKeBYBYTff+XA2zfckJIwwIimGzZ0 sMzIQ02xHs/CTpkyib79ZpFdxBefT5B79D/g7+uuv84Oi8vNpK++sJOfZ/Ufp6BvBzhucuTMKU8P P1zCXsVC34X+1rhNmzbYAgz6FTioaMGtXXNZ3Uke/vnLkCGjlLtn926nd5zusUqBQTMEBDgILpj8 gCqVceHWHemA/8wZ02VV4i5e1YNazdGjR2VFxa+OSBusjRHHzZ04eUJUsBAGARLCFQQTp7oKVPrq 1K1HzVu0EtUj57fFLU+nX7++H9uqs1A3ggulnZ15OO+NkAusvv9+SYwJLme8wHs/PvBrT6i6BivT 7f3JxZNJcG48aWhz4xE/HjDpgl0XsfDkbL9g8d3C0e8f4xUAP2z8MA3M06hP33BDKhHsA8P1WRFI qgi4Cgn16tVjVZVirNfbmyZP/lf3r0KFClLP4cOHi2692wDfDwgMZuEw4wa1CDjM/jmXfsXT588v rlvYyJHDfHKLexA+oLBDCHSwIVjLalFQcSn56GNUv/7zMlN15MgRqXuWLFkCk8gzOlHLukYEKdwb nLCEi5lhDHLgbr45g8xayIP8WQTlr8CBCj54yMOrvH/TXxbeUCYXbnt71c+OkERuoJd68803y+wX ZsCMe+CBh2iRY7bX+CfF646ffxayT7D+tXHnzp01t//5Fby1c8cOWRWLJjGYlYe+MQYuVZ+sTs8/ 30RWjEwZ5p25i9WMUqe+UQa8JiwuV7wbXg7vXcp/ZpZNHKxiwUEXHpMAbs4tT7z7l/uCy21ZhGfG 07BdAhzsjtCvop9ZunSxW5ayshJIi2vEfzx/45nQ1KlTiyqGUb/Jxqqde3kixDg3Ok2Y3xWTHDVq 1qKnn64jKwnTp02V6H51RASvNsZsr5/DSgIcbMYwEQJ1LfQFUEMyDn6j+DvR7KVXRU10zJiRJiii ayjt7JWxE1fY24Xq/PjArz2v4dW1YGW6vT9YnffiSUOzM1/jh6sXDzjjxOc9aMeE50JWBb7IGHvx uh+mgfTl4pX+M2fOyCpJYJg+KwJJGQFXm4QivCQPPXmngIBKZs6cmY4dOyYz5Y0aNYrRuYQCAnT3 4GBgh1lFGK1hyW/PP0vtCMOH/sMPe7qqFSA8KTgIPlimxIAdS/+zZk6Xwf0tvIIAY2EMEEo9Vpru u4+NENn+ArhCncjPHT12RPSuCxYszCs8RcQwjEfztlBw6dLfYpCbO09e6fQwU5I9++0Rl+dHS1IM g2oRdH2fb1iPGjZ4Vn4HDhwgo7Jl6nTddcllpSGzixDnF2bSR/OKmax8rM5gfuAruKxsTIrVEKi0 wQgQ9xCAYBiL2d9HSz0mdizQw4ZqG3TxE4vbzqped7KhMfjTzXnV2cSFyhDqi3hw+ODDVge65ocO HZRVFPgb1Q/cI/4j3OdAbQNqJtDZD+bQPyEdsIbDLDqer7/+skpJsPSHWSAoXPh+GczfwzPXGJge OLBfjIqhDgZVm2zZbqMqrAqCeH5u48YN0l9iU4Ny5SpQ48YvSPQ03HdAGFm3dg1BcCj5aCmhE3ra EIiMc6PFhOEaiOlazg8DvLp163Efkl3sHdBeq8JUE3OWYe6R7yxWOYEhMvpHrHrB+dUxlDaWTFz+ Tpy4LDDv379fQvexUTuc8ZcH/oM9B+zHypYrL7ruxj+Sa6jtHM3+xI8P4tqebu+PX3sFw8yLB4Kl M+H4Xpo+EVcImE7nhSt4DrYjr7V5Q/gbBux+2Phh6izv2muvpUL8DsMQWp0icKUhEGslAR03jJS/ /fbbWHVNlSqVSMsQIsqUKUODBg2KFcfPA3q3s2fPlB0ssBsJXi7oXUI/1TgYI0MXNw8PdjHjkBQd MCzNKgLQBYVQgB1Hftm7lz/ma2Vp+ovPx/GS+yu8vN1aBnapU9/IqkjfisoSBn7Jkv07k2/qv4EH NnsfK0PPs5ExVhRWsu0GlrWzZL5s8IwZ4zW8nA6j6Hd4pwUsey7mPGHD4FUeOshAdx3rfTvVHwLD k+rzfSxcbVi/Xma/TB3WrV0tvIiPDJaLMTOGtvqAhdQzf/zB9iDNTFTfMDtSFG+svy2Cqhx+xvXr 25sHU+tFiMYgFg6DzRIlHhVD4F49u/PuGkOpLdum9Pq4r4RDIJ06dYrcJ4a/xbzCVqZMWca2Jdfj /RgTDV51XrfuMp+iffBuoX12sr1O167vcXqLcua8gx7t9JjwLdoRO3xt3LCeCrHtARx2sMFs6Pbt P/GORGNkRjkYFrAdQjnGPVuvvtz2ZfWS0/+op0F10TjQbjlWFqZP/5qaN29JAz/5TOo4buxo2VkF +vetWr9OH3bvKTyFWezJbLsAJ3lc82+eJu+DBw/QD98vpQpsJHvhwnn6fMI4mWS4+aabJQp2n0nG fWmDBo1EcERdp0yZJPVFBC9aEOaG6eWZ9eFi21KUNz/AoG7u3NlCQ65cl9VM/OqOfP0cdl+rV6+B 2ERArQnOr45+bexXDsKgToP+8uCBy0KCUcmDsAjbLzhTF9h85LzjDu5jm/KAb0cMuwWJ6PiDbRsc aDNO2o95Apj6tTPiu/U18MPPhOMetFn/lCUBPn9efIBJKuziA+E0sD2xqhqsTLf3B6syXjxp8jO4 Sn0C3g83HvCpmh0ELB5+uIT8jKdz1yKUHdiHG3rwDuN7vG3bNvryiwmiZvobv8te2CB/L0zRlxhX 99nnZLJz5Ij41Vow5elVEUhIBDDS+LeX4wfopUNA+Prrr6l79+4xaOnQoQPPTBbnzvM4L//upvff f58eeCD0LVBNZuicMTuB1Qq8tE6HwQ9mQDErGM5yqzOPxHCP2a8MvBVi+nQ3yQw2dlM4c+aMTRpm hbGKArUBLOnjI4n6Xp4tvkaEBzvyPzdoG8xIwuYBM8Z4RgfozBczqpj1/O23XwlCGWZD4NzKw2AC OycdO3b0nxKgCpZeBswYbKlLmghAyLud+eCsQ688MdUEKwkdOrwjO3RhyX8tC2vgxbg4TDhgp6/j vNKJQS0chITX2rxOrVq+woLBWRksxqWMcNNihh5GrFjhcb6jyAe7qmBHHzNIDiVvvJvIxwsrtPvN GTIQ1M3Me2/y9aPFxAm8AlOoNaK/Aa3Rcljdwm5J7d98nW0SLq8um7z96ujWxiZdYr1G0s5xrYsX H4TbnqG8P37t5VcPPx7wSxdfYcGwccMUu3Q9xhN3MIyHgAAVY3WKwJWGQKyVBOiv/8y6zffcc0+s ukI9A4NSDE4HDx4cKzxUD3w0nZK4Mx3yN7M9Tv+kdo8PK35eDh/7nTt3xAoOHEw4I6BtoL5k3B88 2x3ogJ0bfl7lOQUE5IWZFXVJGwEIm7tceCux1Aq09ejejbDXfMPnG4t63DffLIwTeRgUH2V7Hzd3 lncgw2xyQjsIK5gccHNG198tzMsv2LuJdvfCwI8Wr/KAqXMXIK94ofo/yVu7Qr2ydOmyvEPdrFgC AvLxq6NfG4dKQ0LHi6Sd40qjFx9E2p5+749fe7nVIxQecEsX337BsAnEFOrBbVhtCWe9YNth7ACl ThG4EhGIJSSgkutZLaNmzZqs8pNHll1Nxb/55hvex7m22CVg2R+qMeoUAUVAEQgXAdmGlu0TMIOH Wbr4cJilxpaLOLRM3X+PAFTjLl78Sw6mwxkR6hI3AvHx/lwpPADbluavvsSr7pc3YEncLanUKQKR IxBL3QhZ4QThYcOGiT5n48aNYyyVV6lShQ0AG8mSd4MGDfiAnQKsLhDaicuRk6kpFQFFQBFQBBQB RUARUAQUAUUgoRBwFRJQOIyTcYAaVIxmzZolP3NICPTbc+TIwbv0bOXTee+3hYSEIlrLUQQUAUVA EVAEFAFFQBFQBBSB+EPAU0hAkQ8++CA9/vjjIjCMGzeOvvzyy1iUGMPlWAEBHtv5QDG4EqWeCAjR R0VAEVAEFAFFQBFQBBQBRUARSEwIuNokGALXrFlD+MH2ALrD6hQBRUARUAQUAUVAEVAEFAFF4MpH wPUwtcBqY2cQc/JvYNiV8pyWD6Wq9+zTfNL0Q4m+SjVrVKXChe4LSuft2W/jQ8Pqhm1gnv22bNT8 lRd4D/7LZzAELSiKEbAFbsUKZXkXlMt7mAfLGvHxczo8Y8tHde4I3HN3Xj5U7ln5Pf1UDfdIV6jv lVD3uNYh3HfMyQpe79VdefNQ2bKl+IDIAvYBj850XveR0pLQ6bzoD+afIcPN8k1BXxyOe+D+QvRe p/ZhYRlK/l7tF4zOvHlz8/kmj/Khnzlc+1avScRg6bxo9qLTK776KwKKQPwgcNWPpFKkuJ4G9PuI tmxaQb0+6kq57sgZP0hHMdeuXd6mWjWfDJpj0aIPUs8eXXmv85uCxnVGyJgxA73etiWtX7OEJn81 lk+EzuQMjrd7CGg5c9xOY0cPpqJFHqQSjxSLJQAEFv7Dknm0Ye3SGPGGDu5Phw9sl601A+PrM9Ej DxejDu3b0ofd3qXuH7x7VUFyJdQ9LnWI5B0Dg9zCfcLA/j3pyMGf6aPuXWyegf/qld/S0sVz6PNx w2nhvK9p3uzJfBJ2WjuO102ktCR0Oi/6g/k3bdyAtv64kqZP/ZzWrPqO+nz8QbAkdnjlyhXplZeb Us6ct9t+cbnxaj/k6UfnbbfdSou/nU3fL55LX4wfQSuXLeItbEvGIAXp0d9i4sG4UNKZuM6rH53O eHqvCCgCCYPAVS0kYOvFEcM+oadqV6duH35M+e8rRhM+v3z6acLAnzhLWb9hE91T4CF6oVkruu/e /DSFBYWMPCMWnw6rFl9OGEkzZ0yUYoYPHSgCymOlSvgWe23yaylr1ixk4qVPn44qVSwrQsO1117V 7O2J27ARYyjvPQ/QgE+GeMa5UgOuhLpHWodI3zGs6q1YtpAHh48KWyTnd864c+cv8Jk5I6lkqccp X4Ei1Lffp3Qv9xlYDfRzkdKS0On86uAXViD/PfRBt040ZeoMeuChUjTxq6myUl33mVp+yeyw3n0+ odJlq/BZOrttv0hv/NrPj06sDkAwuOGGlFSt5rNU+MGSVKdeY94ifZNNSoEC+ej9rm/Lc/JrL2sv h5LOzsBx40enI5reKgKKQAIikOCjqCerPk6TJo6h7VvX0LgxQyh1qlRSXcw8vfN2O5mJwszUd9/M orp1alPf3h9S184d5fmbhTOo/nN1aAvPznR7/x1Jh8HrZ5/2oU3rf6C1qxZT61avhAzfKy81ofLl SlPHt7vSZ4NH0KlTv9ppSz9WkmfEptCOn9bR0u/mUKPn60kY/EEHll6/njyeft62ljCgTZkyhS89 UA/6dtFM8qq/Xz3QSbdv9xrN5Rk6zEhhtiUc98D9BWPRCsw+Hz88xgx87VrVhEbQcu7ceZo+YzY1 aPQSn4B9G33EKxJO93il8rRt8yo+zfZlp3fE90ePHmNBrZddN+A5avQEPqRmbUh51vnn41urxpMx 1Ku82jFYe3jxI4iBjU6H9m1oxQ8Lpf3nz5lKDerXETq9ygtWCQwoMEML/gW/ga8MtuHwBmb9mr3Y iEo9+ojwqXMVCfxT5+mawUiRWWC3dxEJ/ej0yjgY1n6YeZUXrF/waz8vOv38r4Q6RPqO4TCtF19u TYXuL0F79v4SAyYc0gihZfvPO+jEyVPcD6aU8J937IwRL/AhUloSOl0wPgusl3l+9tmn5NTrdzq9 T7/xoZqPPFxUgurVe9pEcb1CwMJ3Ysa0L6hfn+6xVHseLfkwjRn1GW3mle+N676naVMm2Pl4vUd+ 7edHZ+UnKhLUhfB9XL58FR08eJi++WaJ/Z3Et3sYr9ru2ROTJ4KlswkOuPGjMyCqPioCikACIZDg QsKwIQPoJp7tnTN3AVUoX4bQSWHmAf4tXn2RO9TfaTQPDu++Kw/rxGfhA93ulEEPBsqY9fi45/t0 +rfTVO3JypJu/NhhnE9pGj/hKz7FeYcM3jBACsWV5A533/4DNHzk2BjR0TGOHzuUoHYzZOgoGTD3 +LAz1aheRfxAB2ZYUvBAduvWn6hqlUpU+rFHfem56ab0lD/f3VJPt/r71WNg/17U5rVX6a+/LtKo UePpf2fPxqA32MPI4Z/GonXtug1UtkwpFlr+3W2qOeN/6eJF+dibPPFxmDd/kf2RM/45cmQn6LHe xVhFw93KqwHQwd3CeMLt339QBLNHWOUoFAehBTNRRlhAmtx35vJsx2Dt4cWPyLfHh+/JYH7l6rXU uWsP2vTjFhEc/PgG6fzcnbnukOX6Nq1fpRUr18gAA8Ig3o1weAMCHWxK0DbgU7w3xhVkffEsjLOf 83sXkc6LTr88/bAOhplXecH6Bb/286PVK+xKqEOk79hF7hMWLVrM/c9fXvCI/zNP16CXmjWmMWO/ oA0b/j0Z3i1RpLQkdDo/PnOrl/GDDcLBQ4elL+3WtRO/hzfQxo2bKZhtAoSgLydOoSOHj4p9R6Bu /kc9utC9PHv/Aa98fzJoGG3euk2K9HuP/NrPj848eXKRZVmUj79by5bOl8k5qJyZib2erJ6bJUtm eunV10y15RosXYzIjgc/Oh3R9FYRUAQSEAHf3Y3igw4MgGrWfk4OY4NePfTdoXuOgT3UH7q+/5EU 2+Gttnbxx46fkDTr1yylmbPm8aB1IdsPvC+qMIUL8wz9d0tp0TeL6cfNW6hcuccIg//FS36w07vd 4MToBx8oLAPgwPBneLYV4a+0aEsrmd5BvMrw87Y19Fy9Z+iLLydL9G++XUJ16zWhNGlulFnfiqzi cuTIUfKiZ9myy8e2u9UfKj1e6X5lgQhCyLjxX1Kb1ztK2S+zrmo4zo3W9m+9KzPVbdu8KisGRYo8 QPnuuYtatmoXK+s1azeIMAGDyW0//Szhg4eMpO8Y98CZxViJAzxgKIsBrHF///03DR8xlvYfOEgV KtWg0ywkrl29mNp3eI+O8AfzRx6Aw3mlQxgGMDCafItn9wsWLECz58ynJx6vQDDw9mrHTz4diqQy IA+HHzFDDQN3lNGq9ZuSx/gJE+WK2Xev8qZ+PdOzDvg4GtfqtTcJcXPlyknHT5z05fFo8IYp11yD vYsmXiCd8PdrI4S78b7fuwYcjHMrz6tfCLUOJm/n9UquQ6TvmJM/nVg579FH9fn4Q1q48Dt6k/sW 47zwjJSWhE6HenjxGcK86pc2TRrpy6B2VeeZmvRqi9cJExm5eeDtl+7YseOyqo046NMCHc4oSs4T Bzfwis3nX0yiP/44I1FCfY8C8/OjE6uQMBB/841W9NXkaXSeV5frP/eM+C1duoyw8vx6u7dp546Y KlF+6YCDF2ah8Fkg/fqsCCgC8YtAggsJ7773gQgIqNaZM/+j63gwfj+rw8BNmz5brvhD52TcjJlz 6LdfT8vjuAlfUoabb+YZDmLd13zih2XWhx4sLPdY/k6V6gaT1PN6PdsjwGgZ8QNdDp6NxQzKWh4c wyHO9p93Uvbs2eyoHd7uInEuXbxEGOimTJEiJHrc6u9XD6gKwU2fMccuO5kDG9vT58aN1vOsS/wp z0Rh9r5qlcepSuUKdJLVBaZO+3dgZrL83/8ur1xgpt444PMTr9yE6/ChxCqEcRZjN5ZnHvGB2Lzl 8qxYmfJPsi7uLj7y/oKJJh9Yt3SIsGLVGvn4NmlUXz7oS5YsEyHhNp5RD9aObu3hx4/Y3QNuzZr1 cnX+BeMbv7ojn1W8MmEGxrWeqi9ZO9WYAnk8GrzhpB/3fnU3cd3oRJhX/Uw6N6yzZcsatI3cysPq oVe/EEodDE2B1yu5DpG+Y8EGb1CBgfoiJiMaN20uq2AGVy8840JLJP1EpOWhHl58hjCv+kGwqMob R3zcq5tMYn016Wtq1eIlOs7+fumCYd36tfZiA/AhbziASQn04X3YDiRY3yOFuvz50bl58+X+GN8e MyGClcpSpUrIxB6yg0pw/XqXVS1bNH+RatasSpOnTJeS3NIhwAuzYHWXTPVPEVAEEhSBBBcSnEvW GMDBpfrHLuF3nkWGg9oR1B6MoHCR1WyMg94iJqIxTt61a694v/TKa2IgZuKEcj177hxt4UFpIZet RI8cOSZl380z55s3bxVh4o6cOXilYqudNeiAK8c2DZg9hvqOHz1l/jH6c6u/X7pX/1k1+P33P6Q8 rGY4Z+LFM8ifG61IAtUlYN2Tl7AhAAzk2fULF/6MlVvhQvey/wXasNFfhSBWQhePRk1ecfGN6QXM A51vOuajSZOmUds2zWkqGwpe+vuSJD92LHg7urWHHz/u2rVHhELsMAO8nC4Y3/jWgTPCVsOBLlLe uMjCK5ypC9RA8E4Fcya+17uI9G50wj9Y/dywDoaZX3le/UIodUC+bu5qqAPqHfY75gYW+6VOnZo+ Gfgxq11up6YvtojFG8HwjAstkdYh3HRefAbaveq3e89e+YbcyPi8/sbbovaH1cElPAPvl04Cff4W LvpOVs2x8v4a2y+93rYFwf4jlPfILVs/OlesXC1JDh0+YifFhBkmdgYMHEJp012eNMIEGVZwMWmE NMuWX141d0uHjLwwswvRG0VAEUg0CCS4kOBWc3R8mGV57932oov+QtOGEi1zpkxu0W2/tevWi4pP FzZsxrIrhIpyZR+TwWwouxQtX7GamjZpILrbZnYKmc+cPY9efOF5+uD9TjR6zAQxbsbqxMxZc+2y odKQ646c1LjRczJ7PWPmXPrtt9886YEqkpfzq8dCVqV5l2f732zXWoSUl9goNVznRivygKD0GasN dWTVrkuXLrGh8PhYWWO3IGCKHS2cAkSliuXo04G9qD9/LLCjyX/tPv1sGM1lNbRfftnP9ipPCDnz 5n/Dev71fNvRjW4/fgSfQb0NhuswvB895nPKlOkW+vXXX0PiG7fy/Pwi4Q0I3+BFOGxL+CcLfhAS 3FwK/sBjZyjYu/ywbAX51d0tfVz9QnnXwi0j1DoE1j3cckz8K6EOpi5uV+jFlyxRXPrXNKzukp31 7cEzp379jSdsbqLMzP9YWXPaN8FWy9mnuuV7JfvBrqA1b+qw95d9dN3111G3ru/IZBL8w3GCM2+o sW79RlFBxCYe+Lbt3r1XVm6KFy9C2KXPjwf92s+PThgkY6WhNqsFQ70oDatQQY0TqkcwVjcONgrY cGHBgm9tf690Jo3b1Y/OTZs2uyVRP0VAEYhnBBJcSMBgxDgMTP9iNZPVq9eJrUHlJyrIwPW9Lt2p Ae9iBMNhzOJgGfJv62+ZwYV6D56RDuooz9RtRDDMhaExBkfYZcPMZJhyvK7QhYcu54jhn1C5CtXI zNavYOHhnXe70dsdXqdiRXtLvmPHfSG68zBehvuUZ89AB2gHvUYI8KLHzKK61d+vHqjPF19O4W1a q1HxYkWo/4DBrBP/lJTtVS/jb8r0ohXxxrOtA4SE2XMWyO4VJi2uELoGfdJbBsGteJnb6aB2A/3Y aBkuO/MO5x78AV7A4B2GgXDAGCpg0IH3asfi/xya59YefvyI/Ju+2JLVK3qzsXpJMb4HH2BVAcaE XuUhnZ8DX7u5cHnjpZcaC2+g7uDjF5o0FMP77j368EpLCzFMN+UAOwwwJn4xSlaKsufM7/suIp0X nSZPt6vhQzes/d41v/L8+oVg7Yd83eruRrvxuxLqYOoS7hV2OOARs7KLWWz8Vq9ZxxMEgyQ79N34 GQc1mCtBSPDjM1NXtytWHN/q0Fl24cMuaHCwK/t62iy36LH80KfATRg3TOzASpV+Qt7RTLfcQoMH 9ZWNErBCPH/BN6KiiPhefY9f+1Wu+rQvnS1bt6NRwwfRl5+PFHrQ5sZuUDz4z3ybL17699seSjqT 3lyD0Wni6VURUAQSDgFW2qHLOj8RlvnAAw+w7v7aoKm3b98ucUqUujzL65YA+snQi8fAKFyHw1uw bSfSh+MwU4OtQA8dOkLjP59I48Z9KbMnyAMDqCxsWI0Zs//973+SLc5U+GRAL9kXfP/+AyLUuJUX KT1e6bCLxB+schTuzkagDapE+Nhh5SDQtXu9lSxZl2UhyRgJp+KdOJ56qroIatiSrwvv4BOoWoNZ n/y8ew5sB4B7YnZu7RgKvcH4ETsHZct2q6xemEEk8o20vGA0BfIGVODAl8lYjQi8kT//3TRz+kTq +E5XGjpstGSX4/bszM/Hw26jYHUPRmu44fGBmdYh3FbQ+NFGAAPf/PnuIaj1mImkuJaBdwX2WVg1 dfY7yDfS98iPTvRz2Fzjt99+F9UmoyYcrB6RpguWr4YrAopAwiGQqISEhKt2zJJgeAcDrIoVysjM WP+Bg2NGcDwZIeG+wo9ErdN3ZJ9gt9jKDrYN2AYVqyRtWW/WOMwSYgYLBsAwZMZBQOoSHwLQR27Z /CVRE4KwUL5cGVFvqPREzbCFgsRXO6VIEVAEFAFFQBFQBP5LBBJc3ei/rKxX2TAmww+7HZlTI73i wugNs+qn+YCcpOywdSsOj2vY6GVasPDbGFX5/ocVfOJyEVv9KkagPiQaBEaNGk/79h2gh/mgptRs M4MVnxlsN5PYV3YSDYBKiCKgCCgCioAioAh4IqArCZ7QaIAioAgoAoqAIqAIKAKKgCJwdSKQYCsJ d91119WJsNZaEVAEFAFFQBFQBBQBRUARSGIIJEti9Cq5ioAioAgoAoqAIqAIKAKKgCIQzwgk2EpC PNcjUWWPVZMnn3yS7rjjDt5W9CB169bNk757772XSpQoIeEwPh0z5t/9p/3CPDNMggHYKQkO25Ya Bz9suYhtcq8UV6xYMapduza99dZbsXYlCbeOceWNaNISKu04zA1tHLg7Sv78+Xm3lhx09OhR2rRp U5yxCUZPuHXPkiUL1ahRg7cLHs92OpcPfAxWRmILjyu/RLM+iYmWaNYrrnnFJy6h8vyzzz7LO9bt pFWrVnlWR98HT2jiLSDU9osmAV799S28De8999zDZ1rtpz179sQo0i8sRsR4fIj0PcJ4rWLFijRy 5EjZbthJYqR5OvNIyvfYAjXiH2+BGnHauJSbWNMWLFjQ+uOPP+T3008/WXyolS8+LVq0sE6dOmXx PtcWD0BixPULS6z1j4Qu4HTgwAGLBQO7/l999RUf7Pm3xQf42H6R5J2Y0nz00Uc8Prasu+++O851 iitvRJOWYBhnzpzZYuFX6j5o0CC77vDfvXu3+Ju/devWWTfddJMdJ1jekYSHW/dKlSoJeYUKFfKk iycCrJIlS3qGR0JnNNPElV+SCi2JvR38cIzPNgqV51lQt/r27WvzsRueobwPfvVMDGHxiXV81C/U 9otG2V79NfIGbvguGzds2DCLJ/OEX/zCokFXqHlE2rb169eXamXLls3mf1NmpHma9H5Xt3fML/5/ EBa5gABiVUiIid8nn3xi8em7Fs+2xGI0v8b94IMPYgkJJr5fmImTlK88cyUvJ0vxgtnNN99sXbhw QfzSp08fFo6JGYe0adNaECKjSWOkvBEftLjVC+3HO4FZGHzADR061K4/aEDnyysJVqZMmSx0lnAN GjSw47jlGVe/cOseyqAIH84OHTrEK91xrTfSR8ov0Sg7MI/4oCWptEMgFs7n+MAlVJ4PFBLc8Azl fXDWJzHfxwfW8VHfUNsvrmX79deYJIHjFVUrZ86c9sRPo0aNLL+wuNIUafpw29ZPSDA0hJunSed3 dXvH/OIndJhtk5AxY0YqVaqUHMbCRKgLE4FUfDQ9d5706KOP0nE+vIpfGnnmWVEqX748bdiwgU+Q zmjnunLlSnr++eft52jfFClShE8g3siHoj1FCxcu5EPmTtKMGTPklGSUBbp69OghB+HxbK6oeTRu 3JiGDx9Offr0kWfQ/OKLL4oaSP/+/YVEHszRhAkTRI1q79691LFjxxikV69eXerPA6YY/qE8GDyw 5H399dfbSbAEiOVvFr5oy5Yt9Morr0hYpHVE4hQpUoga2M8//8xbwZ7ik4ZXU7NmzSRfr/IkkP/c 6og0wOvxxx+n7777TvKcNGkS3cAH091///3SFkuXLqURI0YQlnGNa9u2rYRBDQnuwQcflHzatGkj z8Hwlkguf+XKlaNp06bxWR5HiFdpaPHixRLLjxaeCRdawDfOn6EtElqgQle3bl3Knj077dq1Kwal UN0ZMGCAtOmxY8cEK0TYtm2bHS8QaxwWhcMb4Z8nTx6hEzwOf16FoHz58vEJ4e486ld3FIh3uGvX roR3E8voP/74I7322ms2LUiPdwn8MmvWLEqXLh3xqpC851CNQ9noA/Dj2Tg7ndcN6s4rK/IOga+R r3lvvOqAvLzojEs/49UfoDw/OhEe2Ebwg/Piwcuh3v9etPi975G2g1+eoNCvL/DCJVgf6lU/b0T+ DQnEOtj7UKtWLXlH3Poe5BrIS+A7uFDwdHsfJLHHX1LH2lTLi6/9vgFI69fuXt8jvz4rGJ6BbRvY n5n6OK9+/XWTJk1E/Rd9Ir7Fjz32mCRt2rQp+YWZ/AN51/h74YlwL1wQ5ocnwr1csHRFixaN9Q33 ysv4+/XXJk7gNdg75tW/BOvnI6ElkLbAZ5n9+uyzz6z58+dbqVOnDms2TFcSLq8kQJLm0y9F0sYf 7vHDrAsPesX/9ttvt7GFehEPsO1nPwnVL4wb087DeY9yjYMKB3+45LFVq1ZW8uTJrQULFsgzD3qs du3aWaz7b3Xq1MlatmyZ+JvZfTxAHYgHm5KOB+uy4tGlSxeLB0oSl5nWpoEHt+I3btw4289Jl9u9 KevcuXMWZjLWrFkjeeCPX1jBkQUS67333rN4MC9hPPAUbE3EcOoIGrBMCsf6hxZ3ctbgwYOtli1b WjzQ8yzP0O5WRzMLgTxXrFhhsaCAW4s7Ritr1qwW0syePVv8+MNuY5MhQwYLdYOKGtRVeHBq/fLL Lxb80U7B8HbjDSz/7tixw9q3b5/FnbfVunVri4U8KdOPFrYLEDpBK9tNCK34e+KJJ0KixeDjdUU7 O1cSnPEaNmwo5aEdnP5uWLNAYX344YdW8+bNJc2UKVMs1pGVe9TBCzO/ugMzFuokj++//17eiTNn zojqhde7BNpAr9t7D35w1sPtft68eVIe+B79L08uSHl+7e5HZ6T9jF9/ALq96DR1cmsjPx406dx4 148Wr3ZAnxZpO/jlGawv8MIlWB/q1ff64WLC3LD2ex94kOnZ9/jxkh+eXpiBNkOn29UrHdovqWDt x9d+3wA/vgZWXt8jvz7LD0+/tnVrGze/wP6aJxnl+4S4o0aNsk6cOCHfara7tPzCTN5uvOuHJ9J5 4RIMT6QNt3/xaz9TB688vb45Jp3b1e8dQ3yv/sWvnwcukdDiRp/Dj6zKlStbLGVaZcuW9X3JHYns eCokxBykL1myRAaDTqz8GtXEc2O+UMJMnMCr6UB4Bskyg9Lz589b3bt3tzCoh+OVBLsdMdAxQgIE Agg0cJMnT7YwgENanrkQPzBv8eLFLTbmlGfkacqHXUGBAgWslClT2n4mzOuKzsgMoAcOHCh5Tp06 Va7Qj4Uz+t5YdgWtixYtsoWEcOvIMwmSJ8oIpAmYeJVn4rrV0XQwc+fOFdsKCDsQvHjlwC7DdJKm PUx+eIcwUISDmhVwRlgoeLvxDTpetCE6cQykecbbpsGU6UULwpEeS8pw77zzTlBaICzC9ibwBzsT Ux6ugR8dE8YrFdKmyAednPHH1Q1rCGBff/21/EAjBCwIjVBrCgUzt7qjDeCcQoxRvfB7lwytbkvG wXAxHwHQjnzA01BZ8quDH52R9jN+/QHo8qLT1N2tjULhQTfe9aMlPtrBL89gfYEXLhASvPpQv/oZ PN1wMWFuWPu9DyZduDxv0rnxtR9mfjzvly6pYO3H137fAL929/semXZwaz8/PP36Cb82MuXhGthf Y2yzfv16izdlkb4S9cX4AJMpfmEmTzfe9cPTDxc/PE15bu+RXzq/9vPL06+/DgVrt3cM5Xn1L379 vB8tpg7hXpPzoEt2W+GOhvgjxekvL+OwdC8qM3/++aeoLWBnD56RJCxHYTcSngmn9u3bS3z9S7wI QJ2FB9VCIA+mRC0Dy2lwEydOlCv++GW176EmA9UHOJbkRU2KewUqXLiw+FWoUIFYSJB75MmrT3KP P2Z42rx5s/0c6g3P3soS96uvvirqTVDrwPIkzwzLbjg8Oy9ZQUVl69atxDqRdtbh1jF37tySdvny 5XYe5gY7HKCufuX51ZFXIwQDvB+Ix8KSydrzCvUZqAY988wzoubFMwESNxS83TIF/Vj+ZQFLVEX4 A0y9evUS9Sq8z8Ecz9ITd0TEA2ZRv0F8P1q4MybseBLoWOAJ9Ir1jKVmqK+xcCU7PwE3p3PDGqo5 WNqH+t6QIUNEJQ4qaFBT8qPTmW/gvXkn2GDeDuKPmn2PGzc+ixEh4CEUXHhASZ9//rmk5EkauRq1 N7f3LBQ6A8gI+mjy9OoPkIEbnSZjtzaKlAdDoSU+2sEtT6jIBesL3HCpUqUKefWhodTP4Op2dcPa 731wy8P4GVr8eN7Edbu6YRYKz7ulSypY+/G1wcjtG2CwdnvH/L5HJk+/qxuepjy3tg2ljdzK40kT 2YkRfS5rndDYsWNl7Ah/vzCTlxvv+uHph4upnxuepjy3ayjp3NrPLS/j5/fNiRRrk7db/4Jvs5fz o8UrTTD/5K+//rrof6MycNCXxuCCl7lkEImGYsMU+QDfdtttlDdvXtFxZgvwGLrVwQq6msPNwMcM pnlWIMGwcw4K8ULCGTp45lee33zzTaHHCApGqEAghEIMxhAG/X24evXqycBOHqL0B9pYRYl45loG TWbr08OHD0vZvDpBPIshg27wJO6NC7eOqAc6LOhU8q4RJhu5Hjp0KGh5MRIEPAAvOF6dI54VF/32 gCixHkuXLi0DZF6tEZsEVv8SuuKCN89g0Jw5c0QvHHYjvEok7/AXX3wRq3ynBwbb4IeZM2fSyy+/ bAf50QJbl0ceecSOa254hknyMc+BV965Sj402Pb06aefjrXtXGB88wwh0dilsNqb2N1gG2FWHYuY R807wasRUswLL7wQw4YInm58ZmjCO4MJF6fDJEowXNwEKT+s33jjDSnCjc5I+xlTd6/+AAW60ems q9t9JDwYCi3RbAfYXMG55RlKX+CFi1cfGkr93LD08/N7H/zSGVrceMmkc+NrE+aGmR/PXwlYo+5e fG1wcfsGmEkUt3fM73tk8vS7urWDX9v6tRH6fS/HKqzybUS/jYkM2DzALgyTy35hXvkZfy888f3y +k6b+rnhafJ1u4aSzq393PIyfn79dSjfRr93zK1/8evn/Wgx9IZ7TY6PM6uLEAZjcDCmgAHeDz/8 QJhp3b59Oz300ENifImBHAxW3n33XWId2itqD/twgQsnvpmVx6ALje40hnTmg1lnzB6Cab799ltn kAyOvcJiRAzhgVV7ZBUIs8usD0+QnOEgGPo5zK7jw9m7d2/ZLx6CA+urE9sQiMEz0larVk0Gfpi9 5t1q/LKLFfbxxx/T9OnTCYbU4Es4M1iF4TR4DoNvdE68zBkrvdPDr474KGImhJdrxZibdQNlJhzG 3azfTlhF8yvPr44Y8KPjNCsimFEMdGhHVgUSAQKYYyYZdcaAEh0jBHasJoSCN/IO5BsI8mgjGEmj 88YsPQzqYeQY6Jy0YOMCY6AO/CAMwmEQ70dLz549Y5zvYcoAr2PSoUyZMvJxwSAaK0AoE1hD+MTH E/0MjI+NQ3kwAodzwxqDIjisWOEcEmCG2RX4+9EJg1Knc9Yd9YXACKEDAqh5R41g7Uzndo9+Eitf WBHCHuKYWfPDxS0P4+dXBz86I+1n/N4VQ5Pf1a2NQuXBQN6NKy3RbIdQ+gI/XNzCQq1fIC4mLzes /d4Hk85cQ+F5ExdXNzzNBI4znrmPlOeTCtah8LXbNyBXrlye31y/7xGrxBpo5epsvxgBAQ9+/YRf G/n116NHj5aVA2xAgY1F+vXrJxNh8MemETj/xy3MkObGu354+uES6Xvklw7fYDi39jN1wDXw3fTr r/2wNnm6vWMQnLycXz/vR0vg988r/1j+MPpjxrD1gHk3BDF84GUOC0atDKrFAzWLBz0WDzysl156 SfTNsY89dMyg+8aZ6u8fDKBXzAOFGHiwhb7o7PGAwzp79qwYhUIHnWds7XidO3dGsDjo/zsx9Qtz xnPew74EDttLGn8e4ItNAtobuoQspYs+IfQdYZwMXuBdcCxmbIsH4qJT//DDD4u+N/S+kQ8fKmKx tCp5Iz0P1Kw6derYZfDSp4RBp92UG+zKaiIWr2jFiA+DW+j045wEHrCJTQQyRpm83Cl2FpHWEfQg XxZI7K1WWTATQyeEeZVn6uFWR6PPCBqRF3CEfqBJgysLYwgWBxsg+KEdwAtma1QeRMu5GSy0Sx2D 4e3GG7AngfE3D9KlLJ4ZEcMypy2EGy0w4HZz2KMbtAajxVlXcw8DbLRZoEP/wmoZgd7yzMKrjZsb 1rx7g8Qz+7mzmpY8w8A6FDrd6o50MMbjWRppD+AKnse74Mdnpp7oN4EzHOoLw28T5nXlD4HonbqF +2HtRWek/YxffwDa/OhEuFsbhcKDbrzrR0t8tEOwPP36Ai9c/PpQv/oZPnDDxYS5YR3sfUDaUHke dkTO98+Nr4NhZmgNvAZLlxSw9uNrv29AsHb3+x55tV8wPL36icB2cT779deIBxs3fJeNgw0XxoHB whDuxrt+eCKNFy7B8ERat/fILx3GMcZ5fcPd8kRZfv01wv1+bu8Y4nv1L8H6+bjQ4konMnQG8BaM Fm8BaLHEGsMfcfDBxECCJSlLhQT/hndiau55NkEG3+b5v77iBeUtOmO1cyh0sa2AxacrxkqLlxA7 akDICCWfUOPwzIXszYxOI9Q0iBesjqCTV88s5O/M1688tzqaDwSEMl7SjJGXM99I773w9ssPdXCr m1+aUMIioSWUfN3iuGHtFs/NLxw6WYVNzjbBQTo33nijxas68r3Azituebv5QQjDLktu74Vb/FD8 AusQCp2R9jPB3hUvev3aKFIejJQW0BjtdvDrC7wwCeYfaf38sA5Wple44Xmv8Gjj6VUO/JMK1m58 Hco3IFi7e32P/DBzCwuln3BLF4ofDIpZVdcC3wTG9wvz4103PJ15e+ESDE9nHs57r3SsHSE7LEb6 DQ/sr51l+t1H8o4F6+cjpcWFzpiDXUgpkGCweoBZZPwg4cOSHjMMKiTExMsF0Fgvjsa58jEzHwi3 jlPbP/G3P6tQygoCqy5ZbAwnK35Y7Ym2sBtXXkgqdMa1npo+8b8z2kYx2ygxfQO0n4jZNsqrkeOB U53e45/toG8IfWgYAvIyiOgTwwATOmfQq4MuNXSGoV8GvXDoVBt7BjsTvVEErjIEeNqZYKgL/X/Y lKhLWghgZyRWuRM7CZ7VERsbHGwGG6zE5JIKnYkJM6VFEUgIBBLTN0D7iYRo8aujDOx7iZlvVwej Quy4YizI3SKxTYKcgOoWpn6KgCKgCCgCioAioAgoAoqAIpD0EEjuRzIfCOMXrGGKgCKgCCgCioAi oAgoAoqAInAFIhDztKArsIJaJUVAEVAEFAFFQBFQBBQBRUARCA8BFRLCw+uKjl2sWDE5mRc62YnF 8Y4Issd+ID049RtnNEDdLTHRG0inPisCioAioAgoAoqAIpAUEVAhISm2WjzRXLNmTeK9jOnOO++M pxJCzzZz5sxyQBdOF/z000/thPDHoSc4SIt34ZKD3HjLXuKt1+w4eqMIKAKKgCKgCCgCioAiEDcE VEiIG35XVOr333+fChUqJLu8/JcVS58+PeF48YoVKwoZ2F3LOD54jPr06UMFChQgCAw4nbhw4cJU tWpVE0WvioAioAgoAoqAIqAIKAJxRCCokMAHC1HlypWJD12zi0qbNi3xoUGuaiB2JL1JdAiUK1eO +DRogkE6n6xJfDKo0MiHn9HGjRtp6dKlNGLECIKKj3ElS5aUMIQ7f7Vr15YofNonTZgwgQ4ePEh7 9+6ljh07mqRyrV69Oh0/fpywnWSojk+upbp161L27NnlmHdnut9//50GDBhAW7ZsoWPHjhEfBifB 2PJNnSKgCCgCioAioAgoAopAdBD4d4o2ID8+AY/atWtHpUqVEmGAD1IjPlxIZmwbNmwosZ999tmA VPqYWBHgkwRp0KBBxIflyUCeTy6Wcy9AL865GD16NEGIePzxx4mPWSeclwG3b98+CcM90mLmHu7s 2bOEGX4+dI/4VF/q27ev2AdgNQLnbCxYsEDi4WyNjBkzUr58+eQ5lD+cMzB79uygUcGHfNAfDRky hFavXh00vkZQBBQBRUARUAQUAUVAEQgdgVgnBOOI6J49e1o802w9/fTTVrp06SQOjoHmmWirTZs2 1i233CJHqLPhaKz0XLT6JTIMcNw4ryBYfBie1bx5c7tNnW2FdoVDRqCSfgAAQABJREFU+zv9cY/0 48ePl/B33nlHwosUKSLP8+bNs4oXL27VqFFDnrt3726nZ4HDYtUgK2XKlLZfYN5+zzt37rSGDh0a Ky2vZFgsTMjp4CysxAr3y1PD9P1UHlAeUB5QHlAeUB5QHgjKA7EjPP/889YPP/xgYSDmBPCll16y pk+fLgPMVKlSycBPhYTY+DkxS0z3rDZm7dixQwbyrNJjde7cWQQ9Q6OfkICBPxzP2ts80axZM/HD H6sB2T9WB7LjmLwjvboJCbziYf3555/WjBkzLF7diFpZkdKo6ZLOO6BtpW2lPKA8oDygPKA8EBoP uNokPPjgg6LvPWnSJMbxXwdD0aNHj9Lp06epUaNGapPwLzRJ4g67Ad11111iELxmzRrq1KkTYUej YO6VV16hN998U1SLXn75ZTs6jIvh6tWrR7BTMb8WLVrYcaJ9AzWpsWPH0qZNm4hXuejChQvRLkLz UwQUAUVAEVAEFAFF4KpHIJZNAvTM77vvPvr2229jgZM6dWqCUSmrmYitAnTc1SUNBPLmzUu9e/cW w2ReTaC5c+fSo48+6nrGQIUKFYjVkghbi8ImpX///lJJ2AlAIIDDIH3FihV06NAhyRcGxbB7wNkF EECGDx8u8apVqyaD+h49elC3bt3EL9gfDKfLlCkj+UHwyJkzJ4GmkydPin1DlixZaPny5fTUU0/Z WYGeDRs22M96owgoAoqAIqAIKAKKgCIQNwRiqGvwbjGiatS+ffsY/lyExTvUWFOnTrXYyNUyeumq bhTakg3w+y9/t99+u8WDd4tn3kVFCOpGUNdx2h+0bNnSVh9iI3Wht2nTpraf8+ajjz6ScN71yuIV BQn6+++/LT6/wKpTp45dVz53QcJgzxBq/TNkyGAhr0C3bNkyq0qVKoHe8syG9SHnHyodGu+/5VnF X/FXHlAeUB5QHlAe+O944Jp/wOfLvw473cCZXYxMCJ6x9eWZM2eIB5SytSVOvF27dq2JotdEjgB2 rcKOQziQjPX6o0Ztjhw5ZMcjbHfqdFgVKFiwoJy9gB2R1CkCioAioAgoAoqAIqAIJH4EXG0S1q9f T3ny5JGfswoLFy4knuGVffZ5BtpVVcUZX+8THwIQDH766aeoCgio5S+//CJCY2CNsZXqunXrRIAI DNNnRUARUAQUAUVAEVAEFIHEiYCrkACDZeiYd+3alXCYmnE4MIu3o6Q77riD+vXrp4bLBhi9KgKK gCKgCCgCioAioAgoAlcQAjha973A+kBAwM41MAyF4SoMlnGo1vnz58UfB2hhtQE7HWXNmlUO4wrM Q58VAUVAEVAEFAFFQBFQBBQBRSBpIuAqJKAqWDXAjjHp06en8uXLi7rIli1bpJZQWTG657feeqsK CUmz7ZVqRUARUAQUAUVAEVAEFAFFwBWBWFugOmNhK0v8YOwKA1R1ioAioAgoAoqAIqAIKAKKgCJw 5SPgapMQWG2sHJw7dy7QW58TEAGcDYCDzHBuQCSuWLFixNuEhmxsHtfyIqHRmQZCKc5dCHTwy5cv Hz3++ONiWK/CayBC+qwIKAKKgCKgCCgCikB0EIjT/vJ6TkLC7F9bqVIlOQ+gUKFCEbUXzjWAu/vu u0NKH0p5fDiaVbJkyZDyY1YNKR6f6m2NGTNGaOXD+mKk4W1WLZzf4HR8eFuMOKGWo/FCaw/FSXFS HlAeUB5QHlAeuDp5wFfdiJlC3RWCwPvvv098oJlsfxqtKr311ltyAvfSpUujkiXsX2AwDwN5OJz+ bRzu58yZQylSpKDHHnuM9uzZQ/nz56fVq1ebKHpVBBQBRUARUAQUAUVAEYgSAiGpG0WpLM0mCgjc f//9hPMqTp06RbNmzaJ06dJJrpkyZaIJEyaIwfnevXupY8eO4o/4GzduJAzkR4wYEcu2JFWqVLLV 7cqVK2XgzTP19Nprr9mUupXHqxHEKw2iDgTVH9zjx6sAdrrq1auLcTuf0m37BbvhU6Cpbt26lD17 dtq1a1eM6DVr1qR77rmHWrVqRYsXL5bdtiA0nDhxIkY8fVAEFAFFQBFQBBQBRUARiDsCKiTEHcME zWH48OF0880309SpU4lVbahJkyYy445taatUqUIIxy5UWDnArlSHDx8mnKCN3aow4E+W7N8mh34/ q/bQ22+/TX/99Rexeo+cgYHTk41zKw9CxIwZMyRKvXr15B7PFSpUMMnkVOeMGTOK/YDtGeQGNMye Pdv1oDcIJqxmRPfdd5+shmD7XdDuPMcjSPYarAgoAoqAIqAIKAKKgCIQBgJx0ulWm4SE0VMzNgK8 ImDxadfSZqyWY3Xv3t0qUqSIqOnPmzfPKl68uFWjRg15RhjzgfzatGkjfiYt/NF2cHxAnh2PB99W 3759Lb/yTJ58+rbFKwV2WuOPKwsjVoECBayUKVO6hjvjut3v3LkzBl39+/cXWlmQsEaOHGl9+umn Fu7Hjh0bUf5uZapfwvCy4qw4Kw8oDygPKA8oDyR+HvhX6ZtbS13iR6Bt27Yy6w9K//jjD9mtqHDh wkI4ZvJZSJB7hOEQPD9XtGhRCf7qq6/saM6VBni6lWdH9rlhAYI2b97sEyO8oA0bNkgC0NqoUSO5 x8nfWC1RpwgoAoqAIqAIKAKKgCIQXQRUSIgunvGeG7ajNY6n1uUWxr5wUP2BXUKozggRp0+fliQv vPACQUXI6dzKM+FQD4p0S1aTR6hXYxx94MABOwlOBocwok4RUAQUAUVAEVAEFAFFILoIqJAQXTz/ k9xWrFhBhw4dot69exMGzrA1gL0CDsKDTYHTYbUBxr4wVIb+P2+NSl26dKH169fbBstG+HCmc7vf vn07wUB52rRpYlQMOwEYU8NVq1aNWBWIevToQbxVqlvyWH4486BMmTJCP4SPnDlzip3DyZMnae3a tYT8IQgtWrRIDLZZrYrGjRsXKx/1UAQUAUVAEVAEFAFFQBGIOwJx0ulWm4SE0SkrW7as6OTztp92 e7FgIDYJzALWvffea/GKgsSBrQCr+lh16tSx47Zs2VLC8IezBpAGv1GjRlkXL160+LA8q3Pnzhar KVk9e/a0gpWHtLVq1bJ4RyK7TN4S1c6X1ZTEn7ddtf1MmV7XDBkyWKA90C1btkzy4APUhE4TDv9b brkl5Py9ylX/hOFhxVlxVh5QHlAeUB5QHkg6PIAjbTHIitixkCCzvBFnoAmjigB2Jjp79qxsPxos 49y5c9OZM2dkW1SoHBUsWJC+//57at26NfXr1y9YcglnQ2hCPlidOH78uJ0GqwLI76effhJ67IA4 3mDLVuzS9Ouvv9K2bdtU3SiOeGpyRUARUAQUAUVAEVAE3BBQIcENlavE791336X27dvTd999J0bQ 2EIV5xPAoBmChjpFQBFQBBQBRUARUAQUgasTAbVJuDrbXWqNcxFwcjFOMIYRc7t27Wjy5MkqIFzF PKFVVwQUAUVAEVAEFAFFAAjoSoLygSKgCCgCioAioAgoAoqAIqAIxEDg3+N3Y3jrgyKgCCgCioAi oAgoAoqAIqAIXK0IqJBwtba81lsRUAQUAUVAEVAEFAFFQBHwQCDR2CTg9NyKFSvSyJEj6cKFCx7k Rs+btwylEiVKSIa8jSeNGTMmVubFihWj2rVrE2/taZ9yHCtSAnrcdddd9OSTTxKwOnjwYIzzB/zC EpDEOBfFW5rKmQv79+8Xe4k4Z6gZKAKKgCKgCCgCioAioAhEhECc9pmP1jkJ9evXl+3vs2XLFid6 GIGQ0rdo0cI6deqUnBHAB5C5puGDxoSmu+++2zU81LKiEY+3E5UzDHCOAW8rav322282TX5hkZbN B6BZJUuWtMuINJ9w0qFNnOckDBs2zOKD4RKUhnDo1bihvWuKk+KkPKA8oDygPKA8kCR5IG5EJ1Uh wTDrBx98YHkJCXzqr4UBuIn7X14/+eQTi88GsLJkyRKLHr+wSGnGYL1Dhw6xyoo0v2DpChUqJAIZ Dl/jk5YtXtmR50aNGiUYDcFo1PC49RWKn+KnPKA8oDygPKA8kHR4wLZJyJgxo2yFicOx/kuHPfqx bz/P8tOkSZPohhtuEHJuuukm6tGjhxzctnv3btq0aRM1btxYwsqVK0fTpk2jI0eO0IEDB2jx4sV2 FTJlykQTJkwQ9Zy9e/dSx44d7TCvGxzWtXHjRlq6dCmNGDFCDhszcYsUKSJhTz31FC1cuJBOnjxJ M2bMoBtvvFGiRFIeEkLVatWqVXJI2JYtW+iVV16R/HB4WKVKlejRRx+Vw8p4MC3PwMMvDIkjwYVX TSR/nsGnfPnyyT3Kz5w5s9CDv+rVqwstLETYfnG9adKkCV26dIlee+01wQDbssI1bdpUrvqnCCgC ioAioAgoAoqAIpCwCMhM7eDBg625c+daPPAMa+Y22isJmD5esWKFxYKCzCTzgNRKnjy5tWDBAnnm gbnF+/lbPKC0OnXqJOooO3bssPbt22fxQNPi04Kt/v37Sx2QjgfeslLQpUsXa9asWZJH+fLl7Tq6 rSRkzZrVatOmjTV79myJz4KTHZ8HzOKHv3Xr1lnDhw+X51atWgmdwcrjprXzMvc8GLf++usvi4UY 67333rNWr14tedatW9fCDDvCjMM9fqDDLwxqOpHgAj5wKw/qYIZeYAM3btw428+ERXplQcviMxsk v1GjRll8grO1Zs0ai20volZGpLRputg8q5goJsoDygPKA8oDygNXPA+QVblyZevHH3+0ypYtG/aA LNpCAgSVZMmSWenTpxdBgGfyLQzq4XglwaYPA1kjJPAKggwqmzdvbqVLl86Ow7P+km7evHlW8eLF rRo1ashz9+7d7ThuQoJhejMYdhMSeJXBMv7nz5+3kGew8ho0aGC1bdvW/vGsueSBesEZGwCoOaF+ ixYtsulcsmSJCC2GNufVLQxCQlxw8VM3QvsUKFDASpkypU2fk55I7lGH9evXW2yYLVhAKOGD3awz Z85ErYxI6NI0V3wHqPzlMnGhfK98rzygPKA8oDyQnAek1L59e+JBGvGglHmCCKosPDNOULs5d+4c TZ8+nVhXXPzOnj0ru89ANQS7/kTbtWzZkniAShcvXpQrD0QJKkhwEydOtIuDOgwcjygJqip9+/al AQMGiEpSr169ZOefwoULS5wKFSoQCwlyz4a/crqwPMThjwf79o5HyBNqWsHKg5pOrly57FJRzyFD hshuRagHr6BIGNtI0NatW4l18+244d7EJy6ge/PmzeGS5Bv/6NGjstsU8Jg/fz6NHTtW+Av+6hQB RUARUAQUAUVAEVAEEhaB5G+88Ybo/b///vtS8rXXXku9e/emHDlyiC7/nXfeKXrh27Zto+zZs1Pe vHlFvx82DNdff33UqcV2pHC8ukGsLkQrV64kNtYVP97RR65vvvmm2AkYQYHViGjOnDmigw+bA15h IND7888/S/x69epJXeQhSn9//vmnnRMG5HDByqtZs6adxnlz6NAhQl14dp54Np0gGOXOnVvunfHC vY8LLrySQRAgE8qxapRgkCZNGmrWrJnYW+TJk8cWXBOKDi1HEVAEFAFFQBFQBBQBRYAo2TPPPEMD Bw6kw4cPCx733HMP5c+fX4xzMbPNevliUIpVBTjeYUcG4RgYOwfKEhiFv9KlS1Pnzp2Jd+whzCLD eBk0wGGFoE+fPsQqQvLMtgMitMycOVOMaVEHVleSMMzsg34MwCH0VKlShapWrUqDBg2SlQeJ9M8f BuVYbUDZbg5hZjXDLdz4hVqeiW+uU6ZMkVu2pSAINDCWhlEyq9uYKGFfIczFBZft27cLpliBgYE4 hDbjqlWrRljtCMUI3KQJdh09erRE2bVrlwif/fr1EyHR+AdLr+GKgCKgCCgCioAioAgoAlFEYOrU qRavHth6uTzbLYbDy5cvt1jtQ/TgYVTKu+1YH3/8sfXiiy+KLjr0xaGbHi2bhDp16rDccdlBH593 KBIdf66q0IfyoCcPHXXYCuCsAB5cW7fffrsYuPIBbJKYVyIs0GvsBfjQNItn+CUM6VlNxkJZyBc/ Fkj+KdWyYFtg/HFl1Sc7DDYb8IPdBhwLUnZcFkTEJgHhwcpz5u+8h30CyocDnax2Y9cB8WCfwDs4 2WU607qFxRWXWrVqWcDS0MOqZXbZsKuAw3alTjrieg+bEhikGzd06FDhsbjmq+lVr1J5QHlAeUB5 QHlAeUB5IEwegAGqE7SHHnpIhASePY/hjzgQEl544QUREtg+IKpCAvKHsS0MllOnTh2rbIRj4Mtb orqGseqThUPPcHXWx9yz+pTFp/m6hpk40bxGUh5oZzsEi1VuokZnXHCBoMUrS7Fwg1DJK0th74QV Cr5sD2Px9qdWQh2qFwpNGifMToXfVcVMMVAeUB5QHlAeUB5I2jyQPNAAFecP8PaTxFuJEuwDeFaX cDYAz9yLITGMVuGMPYA8ROkPZRm7A7cseZtTN2/xg+oTaPRyv/zyi1dQvPhHUh7qgLMcouniggvs EmDbEehgtM7bvwZ6R+UZ6mw4J0OdIqAIKAKKgCKgCCgCisB/h0CywKJZbUcEBOzY8+GHH8ouQaxC Q6wKYwsJGMxDWMBVnSKgCCgCioAioAgoAoqAIqAIXFkIXMPV8RzpY1chCAd+s/tskyCnIF9ZsGht FAFFQBFQBBQBRUARUAQUgasXgeR+VefDuPyCNUwRUAQUAUVAEVAEFAFFQBFQBK5ABGKpG12BddQq KQKKgCKgCCgCioAioAgoAopAGAj4riSEkU+8RYU9RIkSJSR/GFKPGTMmamUVK1aMateuLSf7wkhX 3X+LAO8+Jad579+/n/bs2fPfEqOlKwKKgCKgCCgCioAicJUjEKftCqN1TgK3gSsdLVq0sE6dOmVd vHjR4gO8XON4pYV/t27drJIlS7qm++ijj9j22pKtU/3y0DD3tokmLmhnnA9h3LBhw2RL3GiWoXnF fzsqxoqx8oDygPKA8oDywBXDA3GrSHwLCYbR+JTliIQEDDw7dOjgKiSkTZvWKliwoGuYKVevceOP UPArVKiQyAY4nA3nRPBqkTw3atRI28ZDeA4FV40T/7yrGCvGygPKA8oDygNXKg8EtUm48cYb6Ykn niCo/RjHg2vKly9f2GclDBgwgAYNGkQdO3akLVu2EK8QEA/gJdtMmTLRhAkT6ODBg3JWAOKE4vjw LerRo4fssLR7927COQ+NGzcmPliNKlWqJDSCVtzjlzlzZuKDwGjjxo20dOlSGjFiBPHhYHZRCxcu FD/bg28aNGgg8UFjpHSmSJFCtpPl05+l3qtXr6ZmzZpJMRUrVqRVq1YRzggALny6tfgPHz6c+vTp I3XasGED8WnXdPToUerfvz8hDfwef/xxOVcAWE6aNIn4sDnfPBFYrlw54tObCYbpBw4cID7dWtLg L1j9qlevTsePH7fbzU4Yh5smTZoQzl7gU6cFAz5MTXJr2rRpHHLVpIqAIqAIKAKKgCKgCCgCcUHA dbYWJ/XyQN1asGCB/HiALfEqV65sTZkyxcKJy6lSpbLCWUmYN2+ezBCfO3fO+uyzzywebFp9+/a1 kidPbvEgWVYKunTpYs2aNUvilS9f3qbNbSUB6UAfHA/urXbt2lk82LQ6depkDR482GI7AwnDH+7x q1+/vpU1a1arTZs21uzZsyUcJwszgPIbOHCgqL3gpGH4JUuWzNq+fbucQh0KnSafwCvUZ+BGjhxp 8eBX6GvZsqXFAozQxYeoWe+9957FwoPEq1u3rrVs2TK537lzp1zxxwfGWTy4l3oYzxUrVlh8AJk8 8iDeN0+car1jxw6LD6azeHBu8aF5FgsdUtdQ6gfc4MaNG2djFljXcJ9nzJhhsQ2C5Ddq1CiLD/Oz 1qxZY7HAGLUywqVJ4+vMkPKA8oDygPKA8oDywFXOA7EZAIPmjz/+2FqyZIn19NNPW+nSpZPBWq5c uazp06fLAJuNTC3Ei0RIwAAYoC9atEhUgfhEZxl4QogoXry4VaNGDXnu3r27PUh0ExIgRMDxSoId D4IAhATTqH7qRmbA6xQS8uTJI0IChAzkUa1aNSkDOASjk1ccrLZt29o/nhkXjHi1Q/KYOnWqTZeh D7TDGbsJqEChDsAGQgIEgttvv13iTJ482WrYsKHFZ1fYQsLcuXNFkEmfPr0ISLwyInh45QkhAXli IN68eXO7bUFPsPohDoSmAgUKWClTpoxVF1OncK/gs/Xr11tPPvmk1BOCHOp65syZqJURLk0aP3a/ oJgoJsoDygPKA8oDygNXDw+47m5Ur149ws4/vXv3Jh6sMT9cdhUqVJAbqMHwQDaGmo6JE+zKA1/6 /PPPJVrZsmXlatRukD8LCeKHE59Tp07tm13RokUlnFc17Hg8CLbvI7nhWXaaOXMm8UBVVGp40E+/ /PKL4GDUX7zohCoOC1J2sTiVesiQIZQ7d27xW758uR1mbu644w45uZpXA8SLjbNp69atxLr5oloE FSKoEsHxagRlzJgxxknXvBohp1+zYbdcefBOfnnyKJyg3sMrOAT1L6hq9erVS1ShChcuLOV41Q+B qNPmzZslXrT+oEKFHayA1fz582ns2LGy4xT81SkCioAioAgoAoqAIqAIJDwCrjYJPKNMhw4diiEg gDTo8x87doxOnz5NbFQqA8ZwSb5w4UKsJNDTh4NwAnsH8+Mdb2LFdXoYIcKcCP3mm2+K4OIUFCDM IL9wHOwAoNsPYYhn+GUwDZ35YHTWrFmT2AjX/sH2Adu2Ih0G10bX3kkLcAa9PDsv3hjkQ6g4fPiw PIN+45AXnLN+xo/VwIjVhWjlypXSdn55sjoX3XXXXWLXwGo9xCsvBNqD1c/QEe0rBDPQmyZNGrHT YDU24hUdgr86RUARUAQUAUVAEVAEFIGERyCWkICBJoyUt23bFosaDN5YBYQgRJQpU4Ywex0Nh1l0 DJaxclGlShWqWrWqGDhjxtvpMIDGLHfp0qXFm20K5IqZcAzsWSVJntnmwE7G9gSEGX6sUMCgGYPp QIc8zaoEwr799lsxVGZVI8KKxtChQyVJqHQG5g+hCjPkMJxm/XupI1YlWK2K2L5DosMYGUISDKmB s3MFJzA/5zOw6Ny5M33yySf2yoNfnnnz5pWVEmACQYTVlSQ7VrmiUOoHTLDaEaphuZNWr/vRo0dL 0K5du4htYahfv34i8Bh/r3TqrwgoAoqAIqAIKAKKgCIQfwjE0PvmGXQx0m3fvn0Mfy5e7AdgZAq9 97ffflvCw7FJgEEy7A6QV+CPBROLZ7JFJx12BKzSYtWpU8eOxwNhCcMfdPKRnnclEt11xIf+OmwM YNgLw2qTf61atSyebbfzfeutt+wwGA4b9+OPP9r+SPv8889LEAsfMfyD0WnKDbzyLLnYc/BKiuQL uwPYWSAebBdQJzjUhdVuxJaBdx2yevbsKQbiMMh++OGHLdhzsOBi2yQgDfJCXNgUmHK98oR9A4yC DR3ABm1q7DKC1Q82F3DYrtSUFY0r7CNQR+NYMBP7h2jkrXnEft8UE8VEeUB5QHlAeUB5QHkgCA/E Bgj71PMsbqxBIAxzYbjMNgUWDJeRcThCQhBCJL8cOXLYeYcSH3Ew8IVw4xUfA2DsVmRo9ooXjn8k dCJ/7AjF27Na2D3KWR6e2Q7BgjDh9Pe6h3EvXP78+S1Wu3JN45cnwtzoMOV51Q+CGatRST1M3Ghd YeDNKllWtmzZXOsTrXI0n9jvvGKimCgPKA8oDygPKA8oDzh5IJa6EQcS7zQjBrjQC3e6b775Rh5h lwC1JB5oOoOjcg8jYezDH47j7TyJt1X1TAK9fqhPhZuvZ4YcEAmdyO/s2bPEqx30559/xsgez7wN qqg3xQgI8gB7DGOXEBjVL0+EudFh8vCqH2wz1q1bJ/UwcaN1xTkRvJWrnJURrTw1H0VAEVAEFAFF QBFQBBSB8BHAKWLvBSbDAVs4pAs7zsyZM8ce0EIXHTr6pUqVEtuAr7/+Wg7fMka2gfnoc/whwIsI Yh8CmwKncXP8lag5KwKKgCKgCCgCioAioAhcLQhgv1CodsRyME7msxLkRF7shoMfZnrhcAozq6PI Vp3YwWft2rWx0quHIqAIKAKKgCKgCCgCioAioAgkTQRcVxJQFT7tltiYl/iQLtkqEyotW7ZskVpC VcWo7tx66632dp1JEwKlWhFQBBQBRUARUAQUAUVAEVAEnAi4HqZmImAPffxge8AGq8Zbr4qAIqAI KAKKgCKgCCgCioAicAUj4CskmHpj5SAxumeffZZ27txJq1atCok8HCD25JNPyonEWCnp1q1bSOkC I+EcCdhrwGGFhXeDCoyiz3FAgHehIt6Nivbv30979uyJQ06aVBFQBBQBRUARUAQUAUUgUgTitN1k tLdA5UqETM/Ro0etvn37hhS/YMGCcr4AzhjAWQq8K1BI6dzo4ZOgrVOnTll8mJzFxtyu+bAAYvFp za5hbnkmRr//og7AFmdFGDds2DCLT2NO0jgmxrZVmkLvZxQrxUp5QHlAeUB54Crlgbg1fFIREvhE YosNr60sWbJEbcCJw9C8hAQMdDt06BC1sv4L5kzoOhQqVEhkAxzUhjMjcF4HXKNGjZI0jv9F22mZ cevXFD/FT3lAeUB5QHngaucB13MSGJRE6fggMuratSutXLlS1FAyZcpk04n7CRMmiME1zhvo2LGj hCFNpUqV6NFHHxVjax6IyjMf3CXhuPbo0UN2aNq9ezdt2rSJGjduTOXLl6cNGzZQxowZ7TJQLp/E bD+73fABZZI/z35Tvnz55B7lZ86c2S16DD8vWhCpXLlyNG3aNDpy5IjsOMUnLNtpU6RIIapTfGI1 8QoHrV69mpo1aybhXrhg96qNGzfSU089RQsXLqSTJ08Sn7wsO1eFUofq1asLniwI2XTE9aZJkyaE cxj4tGjZSYsPVpMsmzZtGtesNb0ioAgoAoqAIqAIKAKKQJgIxGmWNqFWEqByMmnSJJlZ/v777612 7dpZZ86cEXUjPtjNYrsEmdXv0qWLxdu1Sjwe6FuYneZzBOQZf7jHjwfuFtItWLBAwnigLHnyINXq 1KmTxfYO4o/TnBlP+UG9iIUP+9ltJWHw4MGu5eGEZJOP29WPFtR9x44dFh8aZ/FA2mrdurXVv39/ Oz+o5MCNHDnS4gG1BRpatmwp9fPCBfU3jg9Hs4YPHy6PrVq1kvRumDnr0KZNG4k/btw4mw63eoXj x0KKxTYIkt+oUaOsEydOWGw4b7H9SNTKCIcejauzSMoDygPKA8oDygPKA1cxD8St8RNKSEA5cEOH DrUHjMYmgWfFJWzevHlW8eLFrRo1ashz9+7d7bhLliyxZs+ebT+jwSFEwPFKgu2PwXFchATDSF6q Og0aNLDatm1r/3jW3Lruuut8aYGQwCsIMmhu3ry5lS5dOpteXn2QOkydOtX2MzT44WKEhKVLl0r5 SHP+/HnLiZlXHRA3WbJkVoECBayUKVPGKteUH+4VbcSnfVtsXC51glAyefJkEQbDzUvjx+29VvwU P+UB5QHlAeUB5YGrmwdC2t2ImeQ/d0WLFhUavvrqK5sWHqjKfeHCheVaoUIFYiFB7nEydOrUqe24 bjcmz4kTJ9rBUBOKTwc1nVy5ctlF8ECchgwZQn608IiZoIrDRto0YMAAUY/q1auXqBjlzp1b8lq+ fLmdp7kJBRcWWOwTm4EZCywmue8VdG/evNk3TriBLPTJrlHAY/78+TR27Fh66623CP7qFAFFQBFQ BBQBRUARUAQSDoEkIySYAf/p06cFnRdeeMG2F4AuPly9evXELkEeQvgzefJORxL7zTfflPMgICiw apH4mTisXhPWWRG8IkFp06aNRUXNmjVj+cHDlONGC8Jx4vWcOXPENgH2FrzaQdu2bRM/DNihv//R Rx8hqu38cIGdBJxze1sII07nVQdnnGjes0oVAfs0adKITQXsSfLkyUOLFi2KZjGalyKgCCgCioAi oAgoAopAEAQuT8UHiZQYgllVSMhgmwNilRgaOHCgTdaKFSvo0KFD1Lt3b6pSpQpVrVqVBg0aJLPv diSXG5MnZuX79OlDbGMgsbJmzSoGwHh4+eWXqWfPnrEG4CY7VrchrGCULl3aeMl1+/bthFUDrGzA ELpy5coxwgMf/GjJmzcvzZw5U/I7fPgwzZ07V5Jj1h9CE2bdMeiH4THqD0NfVrmiSHExtPnVoVq1 asQ7O9kG4iZNXK6jR4+W5Lt27ZID/Pr160dsq0HGPy55a1pFQBFQBBQBRUARUAQUgfAQiJNOeULZ JHCVLBizwnj43LlzVufOna0DBw5YPMAX+vmAM4tnzkWXHbr0rApj1alTx64bz0ZbvDuQ/Yz8+BRp 0XlHfBhBwxgXZyhMmTLF4h2DLOjIw509e9ZitRcpl1cb7DxAg3HQ50ee5lerVi2LD1qTYOSP9CbM 7epHC4ynYcB74cIFyQ/5wsgXtgzIi2ferenTp9vhsKuAUTXCvHApW7as5JU/f36bLha0Ytgk+NUB dhVw2K7UrT6R+sHmAsbjxsEGBfYPkean6f7lScVCsVAeUB5QHlAeUB5QHgiDB+IGVkIKCahUtmzZ rBtvvNFz0JgjRw6LT+z1DHcDBoPwG264wTUN2w9YrPbiGuaWl9MPg3g+OTgsevxouf766y3entTC 1VmOuQedXuGR4IJ8veoAoeb++++PGBtDs9sVxtisPiVt7RaufnF7ZxU/xU95QHlAeUB5QHlAeSAY D8BKFwPOiB0LCXLGQMQZaEJFQBFQBBQBRUARUAQUAUVAEUhUCCQZm4REhZoSowgoAoqAIqAIKAKK gCKgCFzBCKiQcAU3rlZNEVAEFAFFQBFQBBQBRUARiAQBFRIiQU3TKAKKgCKgCCgCioAioAgoAlcw AiokXMGNq1VTBBQBRUARUAQUAUVAEVAEIkEgyRymFknlNE3SRYB3TyIcEsdbocaoBG/ZSrxTk5zC vGnTJvu06BiR9EERUAQUAUVAEVAEFAFFIE4I6EpCnOC7uhN369aNSpYsGVUQMmfOTGPGjJETrz/9 9FM7b/jv3r2b+PwLOX2az42glStXEm+XasfRG0VAEVAEFAFFQBFQBBSB6CCgQkJ0cLwqc+ED4qIq JKRPn574QDyqWLGi4InTlo3jA/TkVOwCBQoQBAacjl24cGE5XdvE0asioAgoAoqAIqAIKAKKQHQQ sIWEjBkzUqlSpYgPz4pOzppL1BHArHmPHj3kXArMqkPdpnHjxlJOuXLliE+UpiNHjhCfRE2LFy+2 y+fTowmz/hiAnzp1ilavXk3NmjWT8EyZMtGECRPo4MGDtHfvXurYsaP4FylShDZu3EhPPfUULVy4 kE6ePEl8yjPxQXbEB7ZRpUqV6JprrqF8+fLJPZ4xeDeuevXqdPz4cerQoYPxCnrlk6Spbt26lD17 dtq1a1eM+L///jsNGDCAtmzZQseOHSM+/E7Ct23bFiOePigCioAioAgoAoqAIqAIRAcBOb33s88+ s+bPn2+lTp3a9TRfLsrVP6FPXPai40r351l1a8GCBayib1k8aLfatWtnXbp0yerUqZPFg3Vrx44d 1r59+6wmTZpYrVu3tvr372+317BhwyTdyJEjraZNm1qDBw+2WrZsaSHPVatWWTwAt7p06WLNmjVL 4pUvX97iQb/c42/dunXW8OHD5blVq1aS/q+//rLDcY9f/fr17TLbtGkj4ePGjbP9wmmjnTt3WkOH DnVN27BhQ8kb9QgnT43r/g4rLoqL8oDygPKA8oDygPKACw+QVblyZevHH3+0ypYtG/agS4WEhGEq DNzheCXBbiMMzI2QwCsI1okTJ6zmzZtb6dKls+Pw6oOkmzp1qu1nmIBXCyRs3rx5VvHixa0aNWrI c/fu3W0hYenSpRavLkna8+fPWwgz6dmw2OKVAvvZ+OOaLFkyi1WDrJQpU7qGO+O63XsJCbVr1xaB BAINhBy3tOqXMDypOCvOygPKA8oDygPKA1cuDyRPmzYtQbf8u+++o0WLFnFbkxiD8owxFSpUiP78 809RYxk/fjzxDDVBJQQ7zFy8eJHat28v8fUv/hEoWrSoFDJx4kS7MKj7wPHInngFgfr27SsqOVBJ 6tWrl6gY5c6dW+IsX75crs4/6PTDVahQgVhIkPs//viDeDVJ7vHXtm1bewchhIWqjoadiWBkHE0H lSqoRs2dO5dYWBAejGb+mpcioAgoAoqAIqAIKAKKwGUEkr3+//bOA8qq6urjWyVKQkcQEAGliBiK sERAAyEioJRFE0JZYAARQQTpCi78KFIVUEgIPQSEhCYgRQQiCEFqFOlKKAYhQkIvgWDOt/87Odc3 M+89Zpg3yLz5n7Xuu/eefn/3zKyz79n77F695M477zRDUERh60lMNh9//HFZunSp7SjTtm1bqVCh gtx3331mKIr82IYSeRluDgE/cT9z5ow12LdvX+PvBQX9si4lS5Y0o1/s/KMrDNK4cWOzQ8CEvXr1 6kk6ChsFhFatWgmERX+8/PLLQV4IiT5AGAkNupJhZULj0uo6W7ZsMnPmTLPDaNasmVy5ciWtmmK9 JEACJEACJEACJJDhCWTChEtVSOT48eMGA0apMEb985//LPj6vH//fqlYsaIJCZgknj59Wt544w1R GwZRnfgMD/BmAVi+fLmt3GCFAAbGalNgTRcoUEAefPBBGT16tEybNk3UNsG+tFerVs2++p89e1bU 1sSMi2F4rHr8kj9/fjNExhf5Y8eOWVkYBkPgqFOnjkDIgCHz9QLGBgyUYTBdqlQp810AYQWhQYMG NqnHqgaMppMTIHQ++eST1g8ILPfff7+tcsBoGob16DfGJIypfYDx9ueff+5veSYBEiABEiABEiAB EogFgYULFzqdnAW63U2aNDFj1o0bN5qBrE5Ona4ouJdeesnpRNS9+OKLpmc+b9480zunTcLN0UXD O1qwYIGDHcCFCxccDIP37dvn8P4KFy7sdGLv9Ou62RSoSphTgSCwJdCv8G7JkiVBOmwZdAtRe+dl ypRxuqJg5VC3qgi55s2bm30KIlW1LBgbKlAksEnAWEFbCCiramtBXlVTsnhVUwvidLxGvb777rut HisY8oOxWK9evZCY7y9VaIpa5/XaZHr0d0I+5MMxwDHAMcAxwDGQQccAJomhL//RRx916qTKqZ56 gnjkGTVqlO2OA2NUCgk/zICBQKDbfyZ5N3g/qgbmdCXIzqHv1F//5Cc/iZiu6mMub968Yev15cOd YdSsqwhJykKoURU1hzbDlWPcDzN+yJ3cOQY4BjgGOAY4BjgGkjMGMumuRprv+4B73SXH1Fn0i7Ul wGgW+9F7/ffvc/PqZhPQbU4jNgn7AV1diJh+6dKliOlHjhyJWC5aAuwSwvkqgCqabp0arSjTSIAE SIAESIAESIAEblECgTM13z8YhGJnIwgII0eOlGHDhgm83Or2l7abDIxgVdmD9ggeGM8kQAIkQAIk QAIkQAIkEGcEsIcm1EHCBhiKQjjwO+qEy6Q2CeYBOFwa40iABEiABEiABEiABEiABNIfgUzRuqwO uqIlM40ESIAESIAESIAESIAESCAOCSRRN4rDZ+QjkQAJkAAJkAAJkAAJkAAJpIAAhYQUwLrZWVu2 bCmPPfbYzW42XbSXKVMmGtKnizfFTpIACZAACZAACaRHAhQSbuG3NmbMGIGgcCsGOEirWrXqD9I1 eITGrkrqs+MHaZ+NkgAJkAAJkAAJkEC8E6CQEO9vOI2eTx2n/SBCQvny5WXs2LH2VFhNYCABEiAB EiABEiABEog9gesKCVmzZpW6deuKOl0LWs+ePbuoAy2qewREYnOhjsdk8ODBos7s5NChQ3LPPfcE FeN69uzZ8s0338jhw4elf//+QdpTTz0lixcvFhiaHz16VNatWxek3XXXXYKv/upVWU6dOiVbt26V jh07WnqkOqHitGPHDmnatKmsXr1a/vnPf4p6cBaMBXXWJk8//bS9+4cfftiucZ8vX76gzYYNG8rJ kyelX79+QVwsLtD+H//4Rzlw4EAsqmMdJEACJEACJEACJEACUQiE9YgL772vv/66W7VqldOJotOJ oOWrX7++mz9/vh3Io1ughi2v7TE+BQzUUZ0xVR8UbsOGDa5Pnz5OfVU4/Wru9Iu527Jlizt37pwb NGiQW7ZsGbK5mjVrOpT76quvnDpZc+3bt3evvPKKe/fddwP2U6ZMsbzTp083b9kTJ050Xbt2jVon 3rUP6hDNTZ061W7Vf4ZDeVX18cl2jfvWrVsHbfbo0cPSZ82aFcTFYjygvosXLzp4BUdQtaOY1h+L PrIO/t1zDHAMcAxwDHAMcAzEyRhI+iJ/9KMfuVGjRjn9Iu2aNWvmcuTIYZOxokWLOv1i7TAJzJs3 r6OQkJTdjQ4KCFsIkydPDia+3377rQkJ+mXf0lauXOmqVKniGjVqZPfDhw83IUFXEJx6yXZdunQJ 3hX6kStXLsv3/vvvB3X6/kWr0wsJ69evdxgLKKP+Mhza8+XVqZ7TlYLg3sfjfPvttzt1wOcyZ84c Nj00b3Kvf/WrX9mz6CqI0xUFu6aQELvxl9z3wHxkzjHAMcAxwDHAMZAxxkBYdaNWrVrJ448/LuPG jZO5c+fK2bNndTyI1KpVy9RM9Muy6Bdd0cmgxfMn9QQqVapklcybNy+ozPOFHj4C+KugIDNmzJDz 589LlixZzPu1riDI6dOn7X0dO3ZMBg4cKCrASfHixa3cp59+aufQn2h1+nw9e/Y0A2Hcoz0VGHxS 1DO8cu/atcsc8UXNmILEIUOGWO62bdvK2rVr7bpv376CZ8udO3cKamJWEiABEiABEiABEiCB6xEI O8tXdQ45ceKEqFpRgvLQO9ev2yY0YLKmqi4J0nlz4wQw4UfwAlmHDh0kT548Fgd7AgQIb7AH8Qd2 +UFQ9SMpWbKk1K5dW7Zt2yYDBgyQxo0bmx0CJuzVq1e3fKE/16sTea9evRoU0U/3wTUusLsQ+nGz wogRI+y58KwQlBB2795tzw6v4AwkQAIkQAIkQAIkQAKxI5BkexjsGFO2bFn5+OOPk7SCiSxWEGDY +vOf/1wmTJiQJA8jbozA8uXLZeTIkaI2B/LZZ59J9+7dg4o2bdokWCEYPXq0qF2CCWd16tQxgUBV gix+2rRporYJ8uGHH0q1atXsqz8Ejo8++siMi2F4rPYEkj9/fjNERr5IdcI4+nph//79AgNlGEzD iB3CIybwCA0aNJCZM2cKJvYwmo5FwKqWDzBghlH00qVLbfXEx/NMAiRAAiRAAiRAAiQQGwJJVhKg UnLHHXfI5cuXk7Rw5swZKVKkiLz00kuyc+dOwVdqhtgQwFdxqBHVqFFD1EBYVP/fdjK6du2avQvs IAQBAZN9TMzhowACG76iY+I/Z84c+eKLL0SNzW3y/Ic//ME6pjYldg9VJZSFYFexYsWodWKVAMGf cY1+hN5DpalQoUKyceNGUeNoEyyRDwFqTtmyZRPsfpQWAeMOB/rEQAIkQAIkQAIkQAIkEHsC0BdK qEeiEZisIjz33HN29j+4f/bZZ0V33RHdIce2uVSDW9m+fbvPwnMqCRQsWNBUjsA4XICQdunSJWMf mg4bBDUsl4MHDyZQE/J5sL1q4cKFw6ZHqtOXjXSGQAmBQI2mE/QHQma5cuVk37591tdI5RlPAiRA AiRAAiRAAiRwaxJIspKAbkLdpUSJEnaEdht75uMLLvbjxwQxuYasoXXwOjoBqPpEEhBQ8siRIwkm 5L422A9gUh5qR+DTcIZgESk9Up2h5cNdY2Vh7969Sfrz3XffiW6dSgEhHDTGkQAJkAAJkAAJkEA6 IBBWSIDBMlRb4NgL+t8+YAKrW3TKAw88IO+88w4Nlz0YnkmABEiABEiABEiABEggjgjcoc/yf4mf BwICdr+Bx10YKMNgWZ11mf474mEwitUGGKsWKFBAjh8/nrgK3pMACZAACZAACZAACZAACaRTAmGF BDwLVg1gCJszZ05Rz76mOgLjWgSotJw8edKu7733XgoJRoI/JEACJEACJEACJEACJBAfBJJsgRr6 WNhzHweMYmGMykACJEACJEACJEACJEACJBD/BMLaJCR+bKwchNsSNXE+3v+wBCpXrixvvfXWdQ3K W7Zsab4uovUW26p26tTppjpM8/2Br47EB4VUT4dnEiABEiABEiABEkh7AskSEtK+G2whFgTgZbln z55SrFixqNWNGTNGICj4AIdn8LsQGh555BH5zW9+Y9uqhsan9TUc9WHXpMTH0aNH07pp1k8CJEAC JEACJEACJPA/AlHVjUgpfREYMmSIvPfee7bVaUp6/tprr5ljNnhv/qEDvEa3adMm6AZU3eCsDdu0 MpAACZAACZAACZAACdwcAnG1kpArVy4ZMWKEOXeDUzEYXrdr107g32HatGkJiGIiumPHDrnnnnvs mD17thlrHz58WPr37x/kHTdunHkpRhwMt0+dOiX9+vWz9EjtIRHOy7CF7ObNm+XQoUPmobp79+5W Dm1Gas8yJPqBPwo4rGvYsKH5rkC/sfMU4uGPoEmTJvYsmOTjOROr5iTuC9pHeOihhwSenG+77Tbz joxrHPny5Qt6UKFCBeOH5162bJnkyJEjSEN/YMDueQQJqbg4ffq0zJw5MzigQgWv0h07dkxFrSxK AiRAAiRAAiRAAiSQUgLwuHzDh3pcvuGyqWk3cVnVYXerVq1yCCoUuD59+jh16uUGDBjgxo8f79QJ nCtVqpT19fbbb3f79+93mzZtcii3ZcsWp9u+ukGDBjmdCFsduqOT5V25cqXdq02G++1vf+t0UuzG jh1r5SK1p5Nup74mrNyGDRusL+ogLSgXrb3Ez+XvT5w44YYNG+a6dOli9S5cuNCeBzc6kXc9evRw y5cvtzQVHoJ3Eq0vEydOdKrWY2Xwg2scrVu3diosBPEqiLipU6faPdrxfcI1wqxZs4I4nxaLswp4 Vr/aRqRJ/bHoI+u48f8dZEd2HAMcAxwDHAMcA7f0GEhd524VIQGTegRdSQgmlJjwQkhQ79EmJGBS jMHYoEEDy9usWTOnOvB2DWGgSpUqrlGjRnY/fPhwy+uFhBYtWtj9mjVrnH45d9HaAxMEdTwX9EV9 SpiQcL32dIXDqV1BcOjqg8Okf+3atW7RokV2oO7z58879Ons2bNBG37SHiokROuL/8OEAIVn8vc4 eyFBVyesfcTpF33nueAewlbp0qVd5syZE5QNredGr0uWLOkuXrxoz3ujdbBc6v62yY/8OAY4BjgG OAY4BjLuGIgbm4RKlSrpOBaZO3eunfEDNRoE6LnDAZx+ITfVGBj3Qsd9wYIF8vzzz1ueWrVqiQoJ dq0TcHMgZzf6s3HjRpkzZ47d1qhRw86vv/66ncO15/syb948y4MfnVDbdfny5e0cqT2o8BQtWtTy 4Ecn8DJp0iRTdapdu7bkyZPH7l944QXp3Lmz7N27N8gb7iJaX8LlTxwHVipsWTS4QMXJB/Rt165d /jam59GjR1PNKKZEWRkJkAAJkAAJkAAJJJ9A3AgJ8AqNcObMGTv37dvXdPO9oIAdferXry+qNmM7 +fTq1UtUHck8S6NAq1atzE7ACif6uXLlSqIYCYSIcO35vuhXfivXoUMHm9zjBh6rESK1hx2KwoU9 e/aYUIA0VYsym4Sf/exnMn369HDZg7hoffGZIARkz57d3yY4Y/tbH3QBw1+m6fmBBx6QOnXqyNCh Q82rd5o2xspJgARIgARIgARIgASSEIgbw2XVx7eHg58ACASYYCIUKFDAzh9//LEZ96qqkeCLuKoC WbzaJcixY8cEX67r1atngsSECROkffv2lh7pJ1p7Pg2TeVXPEbWJsGowyb7R9iAkIODLPbxhr1ix wu59vN387werFH4FIVJfQvOrfYYZRWMlBYbedevWDU2OeA2WasuRwNA7YuYUJKh6mOXeunVrCkox KwmQAAmQAAmQAAmQQKwIxI2QAJUgNeYVTFzx5b53796Cya/fyQfA1ODYuGE1AZNbBDiJw44+uP/g gw9k8eLFttKg+vCWfu3atUDdxiL+9xOtPeyCNGPGDIFqUrdu3UxQUMNlQV3Xay+0jdBr1ImgNhF2 XrJkiZ1DhQTUjwDVKmwbihCuLxAyfF7kGThwoBQqVMjUqlCubNmywTN7VSPkS8yiePHiki1bNtsZ CemxCnfddZdVpcbasaqS9ZAACZAACZAACZAACaSQQKqMTm8Vw2V9ZnuOwoULux//+Mc39ExFihRx efPmTVHZcO3p5Nmpx2JXsGBBlzVrVvfEE0/A1tipwJCg7htpzz9nSs++L5HKwdgZuz+l5Pl1q1Xb WUm3WE3wXJHaYHzGNX7iu+e75xjgGOAY4BjgGEhfYwCWvZjg3XBQIcH28L/hCuKw4BtvvCGvvvqq 6I5EptoENaa//vWvpgJ06dKlOHxiPhIJkAAJkAAJkAAJkEA8EYgbw+Vb6aXApgEO1KpXr24Gzuqz wXZSooBwK70l9oUESIAESIAESIAESCASAa4kRCLDeBIgARIgARIgARIgARLIoATixnA5g74/PjYJ kAAJkAAJkAAJkAAJxJwAhYSYI2WFJEACJEACJEACJEACJJC+CVBISN/vL2zvK1euLPAXEeodOVzG li1bymOPPRYuKYjTXZqkU6dOEZ2tBRnT6AKequE0DgbymTLRhCaNMLNaEiABEiABEiABEkhCIFXb V95qW6Dq06XqeeKh/MiRI23L1Yceeigqi2+//dap74ggz5tvvumqVq0a3IOF+pCwuh555JEE8TeD kwoH7siRI9Y+fj755BOnPhRuej9uxrOyDf7dcgxwDHAMcAxwDHAM3EpjgCsJ+jbiLQwZMkR0Ui/7 9u1L0aO99tpr5kguRYXSMPOoUaPkH//4h/z0pz81h28qwMgvfvGLNGyRVZMACZAACZAACZAACYBA ICTkyZPHtuy8nopKPGN76qmnzOPy3//+dzl69KisW7fOHrd27dry+eefyzPPPGO+D06dOiXz588X ddpm6bly5ZIRI0aYv4iDBw/KF198Ie3atbM0eA/WL/Ty5ZdfCspt3bpVOnbsaGnwBj179myBB+TD hw9L//79LT7SD97N9u3bpWHDhlKiRAnZsWOHNG3a1NSK/vKXv0iTJk0sbv369TJt2jRRZ2cJqlKn ZzJ48GDZvHmzbdHqvVHrioN5nb7tttvMezI8UOPIly9fUL5ChQqyevVqe4Zly5ZJjhw5gjT05+TJ k9KvX78gLhYX2DJWndUZ52LFiokuJhinWNTNOkiABEiABEiABEiABKITMPWNiRMnug8//NCl1Htu vKgb6QTZffXVV+7rr7927du3d6+88op79913jU3r1q0DlZdNmzY5dZJm9zo5dqon71atWmX3Ool2 6hPBfffdd27AgAFWdsqUKZY2ffp09/zzzztw7tq1q5XbsmWLO3funBs0aJDTibflq1mzZlR1mhMn Trhhw4a5Ll26WP6FCxeap2Tc6ETe9ejRwy1fvtzS4EVZX70deD4VbCx+w4YN1s8LFy6YuhH69O9/ /9vS8INrHHhur26EeBVE3NSpU3Fp7fi60SbCrFmzgvZ8WmrO3lO1Va4/vXr1imn9qekby3JJmGOA Y4BjgGOAY4BjIM7HgLi6deu6nTt3uho1aqR4EhZPQoKuIDhVb7EJuH4pD1h4IQFClBrSupw5c5og oF/rHSb1CLqSEOTHBBtCgq4wWNr7778fpPnBpAbDlrZy5UpXpUoV16hRI7sfPny45W3Tpo3r2bNn cHTv3t1h0g8BZdGiRXagwPnz512LFi3c2bNngzb8pD1USMB7Qpg8eXKQL7FNwn/+8x+nqwFBOvrq hQRdnbD2Efevf/3L+X7iHkxKlxvQQckAAA5NSURBVC7tMmfOnKCsf9YbPevKjfXZ/8DW4kbrYjn+ I+cY4BjgGOAY4BjgGOAYSP4YyJQ9e3Z59dVXRY1CZc2aNcpOBOoz3bp1E6iYXL58WZYsWSLvvfee xUEFpFSpUqJfywU67PESdCIquoIgasgr48aNM/Uh7BAEVSEfdAVAdCIt165ds7NOiqVSpUqWPHfu XJ9NoLaDULx4cTt/+umndg79KV++vN3WqlVLVEiwa53wm4dm3ECFp2jRohaPH7Q7adIk2b17t0D9 CephuH/hhRekc+fOsnfv3iBvuAvfz3nz5gXJ2DkouUEFFlHhx7Kjn1B98gF927Vrl7+NyTl37tyi wpDs2bNHGjRoILoiI71797bn1FWZmLTBSkiABEiABEiABEiABMITuB0TL+jWw9gVAXrso0ePlmrV qplwAB17VZMxgaFQoUJSv359y3///ffLnXfeGb7WdBoLXfuSJUvaJHzbtm2iqwHSuHHj4GkuXrxo 17ryYttxQrc/S5YsFnfmzBk79+3b1xhCUIAdAibQ1atXt7TQH6QhtGrVyrYXhbCG4+WXX7Z4tAvj Y39AYEP7mDRDPx82AaqmJKdPn7YtQhEfLfh+6oqDZevQoYMJGqFlIASgD+HC1atXg2gIVGkdYP+B 8aWqVXLgwIHAxgMCEgMJkAAJkAAJkAAJkEDaErj9l7/8pYwfP16OHz9uLWGVALvJwChW9e9F9dtt 1QCTVARMSjF5xkQxdOJoien458EHH5SlS5faF3ywUNUie5rQL+bYWWfgwIHy61//WlRVx4yXwQcB qw5jxoyRoUOH2n2BAgUEE/KPPvrIjIA/+OADqVevnglcqlpkbI8dO2YCGeIhfE2YMMFWM6yCCD9e GMCXexg8r1ixwnL6+NBiWKXwKwi+nxAsVFXI3nloXlzv37/fnh8rGzC8hjCUnIAv/WpbcV3D6+TU 5fNg/CE0b95cypUrZwbauFd7CpwYSIAESIAESIAESIAE0pIA9OV19SDQ9dYv2A7Guaoi43SCa0aw OsF1qtLi3n77bafqLaZ7vmDBAtNFjxebBN1Fx+nqgbty5YqpwOtXe4fnhl6/t0lAAuwNdNcjB5sC fS/GDix0xcDBEBj2ALr1qINBMdKzZcvmVF0rqBflVZCwtDJlyjhdUbD2UF4n/k4nxcG7QPnEh+5I ZPm9fwMV8uy+Tp06QV4YRvsAWxNfx+9+9zunqlJOVcicCjtOd3ByKtwE6bo7ksNzI6A/qk5mdiq4 V8ExyKfCTQKbBNhOIKhKWpDHt5maMwzHYdiNoAKpjUXwTE2dLJt0TJEJmXAMcAxwDHAMcAxwDCQZ AzA4DY2sWLGiCQn6FTpBPPJASFA1FRMSVAc/roQEz0BVXByckOHs47yQgImyqu0E8T4dZwgZqrYV Ng3p2DUqcb2+fJEiRVzevHkjlvX5YnEuWLCgy5o1a8S2IBTpalKK+gMhEzsrpXRnrOQ8D5ynwama 2ihE7HNy6mEe/vPjGOAY4BjgGOAY4BjgGEj+GMiU2OAUe/zDgZVuAWo68PoRV/SruTnmgn49DgRv nGs3cfQDFapITshgd+DtEhI/sm6dmjgqwT0MviPVq16FE+RNyxuoKEULsEu4nhF04vIwYoefhrQI urJDFaO0AMs6SYAESIAESIAESCAKgSTb22BSBgEBO9jAaBS7+6hajOi2lyYgQEiA4ODPUeqOmyQ4 UoP3X9hjMJAACZAACZAACZAACZBAvBPAXp1Q4wgb8ufPb8KB37knXCa1STAvwOHSGEcCJEACJEAC JEACJEACJJD+CGSK1mV1LhYtmWkkQAIkQAIkQAIkQAIkQAJxSCCJulEcPiMfiQRIgARIgARIgARI gARIIAUEKCSkAFZ6y1q5cmXz3xDq6yHcM7Rs2dKM08Ol+TionnXq1CmiszWfL63O8A6tuxwJ1Nsy ZYq6AJZWXWC9JEACJEACJEACJJChCKRqa8l48ZOgbzxVHG7F8iNHjoSLAdt6NVr/1DGc834XkE+N 1V3VqlUT8Hj66aetLvUAnSA+Wr2xSsMWqLoDlLWPn08++cRha9RY1c964m/s853ynXIMcAxwDHAM cAykbgxwJUFHULyGIUOGiE7qI269Gum51YmaqJAQKfmmx2NnKWzLC0/g8HiNvsH7NQMJkAAJkAAJ kAAJkEDaELiukKCOt0S9+do2qL4L2bNnl4cffjhufSX450zJeerUqTJmzBiBnwlsmaqeqUW/0It6 DbZqcuXKJSNGjLCdoA4ePGj52rVrJ+qtWHbs2CHPPvus5Xv00UetvHpujtg81Ie2b98uDRs2lBIl Slj5pk2bCuLhr0A9J1vc+vXrZdq0aaLOzhLUpU7PZPDgwbJ582Y5dOiQqBdnS1dnb6IrBvZe8X5x jSNfvnxBeXWaJqtXr5ZTp07JsmXLJEeOHEEa+nPy5Enp169fEBeLC/iYUGd1os7qpFixYrYF7+HD h2NRNesgARIgARIgARIgARKIQCCs2gY8Dvfv39+tWrXKDqibaHlXt25dt3DhQgePy/CwS3Wj/y7l bNy40dRhDhw4EKjFqPM0pztEOdWhN4ZI0Am269Onj1MHZG7AgAHu7rvvdjrhdeqXwlR8dNJuqjWI B+9Ix4kTJ5z6sXBdunSx9vBO4CkZAd6PVchwy5cvt3t4Ufb1qBM8N3/+fIvfsGGD9eXChQumbjRx 4kSnztQsDT+4xgGP03j/Pqgg4lQoslu04+vGNcKsWbOCOJ+WmvMTTzxh9fqfXr16xbT+1PSNZSOP UbIhG44BjgGOAY4BjoF0PQaSdh6Tyrffftt0v5s1a+b0a7FNyooWLeqWLFliE9C8efM65KOQ8F9+ EBIgEOgXb5vLLliwwD333HNOndC5mjVrWpyuJASTW0y+ISTgjwcML1++bHnUmZ1TD9dBvjZt2jhd bQiO7t27G/e1a9e6RYsW2YGCEDJatGjhzp49G5T1k/ZQIQFtIUyePDnIl9gmQR3lOV0NCNLRRy8k 6OqEtY84PNvw4cODfGpc7EqXLu0yZ84cxMXin8MzzzxjffY/sLWIRb2sI+nfPpmQCccAxwDHAMcA xwDHAMZAWHWjVq1aCXbGeeedd0RXDEQnnppXpFatWnaGas3FixeTqLFYYgb+0S/0poYDBFOmTAm8 UleqVMmogKUP+kXfX5rq0OLFi+0e6kpbtmwJ0qDCo1/yExy6yiO7d+8WnZBL9erVZdKkSQK1sM6d O8vevXuDsuEufF/mzZsXJGPnoOQGqEepgGPZ4ZVbBZCgKLxw79q1yxzwBZGpvMidO7eoMCR79uwx 1ap169ZJ7969pW3btqmsmcVJgARIgARIgARIgAQiEQg7O9Qv2XLs2DHRr+EJykE3XdVcTGjAJA2T QobvCfjJM2IgRCFAGMiSJYtde8/Vffv2NQHLCwowwoVNgn6ZF9gkqDqS5cdP48aNzfgYBsg4YBOA ujFphn4+bAIGDRokp0+fti1CER8t+L54wa9Dhw6SJ0+eBEXwHLA7CReuXr0aROuX/eA6rS50FUEg FKlqlagql8COA6F27dpp1STrJQESIAESIAESIIEMTyCJkIA96MuUKRP2izQMXlV/3fbUf/LJJ+Xa tWsZHmByAKhtgGV76623zLh56NChdl+gQAHBMWfOHIExM4xzYZCMdKwQRAteGMCX+2+++UZWrFhh 2X18aFmsAPkVBN8XCBaqKiTjx48PzWrX+/fvN6PoKlWq2KRc7VCS5AkX0aBBAzl37pyoLUu45BuK g1E3QvPmzaVcuXICA20EtaewM39IgARIgARIgARIgARiTyCJkAD1ERzYUSZxwNdnfL1+8cUX5bPP PuNKQgggfH2H0ITVFRy4xoF4tVcQNSwWTKLx5R7qMpiIY1chTNKxGoDJL3YGwooCJtoQHEJVeUKa skuoGyGsWbPGzmorYudQIcELcUuXLjX1J2RAuRkzZkiNGjWkW7duJihAyPB5kQfbjBYqVMj6DbWp smXLBipGoasl/vlQBqF48eKSLVs22/nqvzGp/4UQNG7cOKlWrZrt+oRdmSAQ4RkYSIAESIAESIAE SIAE0oYAFOOT6Iz8/ve/t20m1fA2QatqRGuTWKi7dO3a1Sa1aghrX78TZORNWAJYKYAgoEbKYdNv ZmTBggVNbQwrQ+ECBBRM+uGfAH1OTsBWq/jar7s6hRUyk1NHpDzqPE0qVqxoalbYfpWBBEiABEiA BEiABEgg7QgkWUlAU1gl0J2MzFA0tOk//elPdgu7BKglQVecIfkEvv7661tCQECPsXoQSUBAOlYM YASdXAEBZXRbV/PTEG4VCumpCbrrk6kYUUBIDUWWJQESIAESIAESIIHkEQgrJGDnG6wWvPnmm7Zr jq/q6NGjtpPOfffdJ2PHjqUzNQ+GZxIgARIgARIgARIgARKIIwJwxft/iZ8HOvFffvmlee6FAS08 3f7tb3+z3XcQD+NXGJSqXwAzvD1+/HjiKnhPAiRAAiRAAiRAAiRAAiSQTgmEFRLwLFBH2blzp+TM mdO2m8TKgjeWxTaYXg3l3nvvFQoJ6fTts9skQAIkQAIkQAIkQAIkEIZApjBxQdS2bdsEB2wPYJTK QAIkQAIkQAIkQAIkQAIkEP8EogoJ/vFDHWj5OJ5JgARIgARIgARIgARIgATik0BYw+X4fFQ+FQmQ AAmQAAmQAAmQAAmQQHIIUEhIDiXmIQESIAESIAESIAESIIEMRIBCQgZ62XxUEiABEiABEiABEiAB EkgOAQoJyaHEPCRAAiRAAiRAAiRAAiSQgQhQSMhAL5uPSgIkQAIkQAIkQAIkQALJIUAhITmUmIcE SIAESIAESIAESIAEMhABCgkZ6GXzUUmABEiABEiABEiABEggOQT+HymtXuEs9QdCAAAAAElFTkSu QmCC --=-=-= Content-Type: image/png Content-Disposition: inline; filename="Screenshot 2022-07-28 at 13.22.03 .png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAvAAAADKCAYAAADD2HSYAAAKuGlDQ1BJQ0MgUHJvZmlsZQAASImV lwdQU1kXx+97L52ElhCKlNCbIJ0AUkIPXTrYCEkIoYSQgopdWVzBtaAiAsqKrogouBZA1oooFhbB inVBFhVlXSyIiuV7wBB295vv++Y7M3fu75137v/c8+bemfMAoJhwxOIsWBWAbJFMEh3ky0hMSmbg nwI80AQEoAb0OVypmBUVFQZQm5r/bu/vAGh8vmkzrvXv7/+rqfH4Ui4AUBTKqTwpNxvl4+j4yhVL ZAAgKAPjRTLxOPegTJOgG0R5aJwFE4wZ16GlTjJtIiY22g9lCwAIZA5HIgCA7IT6GXlcAapDjkXZ TsQTilAuQNkrOzuHh3IbyhZojBjlcX1m6l90BH/TTFVocjgCBU/WMmEEf6FUnMVZ8n9+jv9t2Vny qRxm6CCnS4KjJxnqycwJVbAoNSJyioW8qXioJ10eHDfFXKlf8hTzOP6hirVZEWFTnCYMZCt0ZOzY KeZLA2KmWJITrciVJvFjTTFHMp1Xnhmn8Kfz2Qr9/PTYhCnOE8ZHTLE0MyZ0OsZP4ZfIoxX754uC fKfzBipqz5b+pV4hW7FWlh4brKidM71/vog1rSlNVOyNx/cPmI6JU8SLZb6KXOKsKEU8PytI4Zfm xSjWytADOb02SvENMzghUVMMYkE6kAMR4AE+kIBUkAOygAwwgD8QAikQo08cgB4nGX+xbLw4vxzx EolQkC5jsNBbx2ewRVzbmQwHOwcHAMbv8OQReUufuJsQ/eq0L/ccAG5FqFMw7eMYA3DyKQDU99M+ 4zfo8doMwOkurlySN+mbuGtYQAIqgAa0gT4wBhbABjgAF+ABfEAACAGRaCVJYAHgovVko5UsAsvA alAIisFmsB2UgyqwFxwAh8FR0AROgfPgErgGusBt8AD0ggHwEgyD92AMgiA8RIGokDZkAJlC1pAD xIS8oAAoDIqGkqAUSACJIDm0DFoLFUMlUDm0B6qFfoZOQuehK1A3dA/qgwahN9AnGIHJMA3Wg83g WTATZsGhcCw8HxbAuXA+XABvhMvgavgQ3Aifh6/Bt+Fe+CU8ggBECaEjhogNwkT8kEgkGUlDJMgK pAgpRaqReqQFaUduIr3IEPIRg8NQMQyMDcYDE4yJw3AxuZgVmA2YcswBTCOmDXMT04cZxnzFUrC6 WGusO5aNTcQKsIuwhdhS7H7sCexF7G3sAPY9Doej48xxrrhgXBIuA7cUtwG3C9eAO4frxvXjRvB4 vDbeGu+Jj8Rz8DJ8IX4n/hD+LP4GfgD/gaBEMCA4EAIJyQQRYQ2hlHCQcIZwg/CMMEZUJZoS3YmR RB5xCXETcR+xhXidOEAcI6mRzEmepFhSBmk1qYxUT7pIekh6q6SkZKTkpjRHSai0SqlM6YjSZaU+ pY9kdbIV2Y88jywnbyTXkM+R75HfUigUM4oPJZkio2yk1FIuUB5TPihTlW2V2co85ZXKFcqNyjeU X6kQVUxVWCoLVPJVSlWOqVxXGVIlqpqp+qlyVFeoVqieVL2rOqJGVbNXi1TLVtugdlDtitpzdby6 mXqAOk+9QH2v+gX1fipCNab6UbnUtdR91IvUARqOZk5j0zJoxbTDtE7asIa6hpNGvMZijQqN0xq9 dIRuRmfTs+ib6Efpd+ifNPU0WZp8zfWa9Zo3NEe1Zmj5aPG1irQatG5rfdJmaAdoZ2pv0W7SfqSD 0bHSmaOzSGe3zkWdoRm0GR4zuDOKZhydcV8X1rXSjdZdqrtXt0N3RE9fL0hPrLdT74LekD5d30c/ Q3+b/hn9QQOqgZeB0GCbwVmDFwwNBouRxShjtDGGDXUNgw3lhnsMOw3HjMyN4ozWGDUYPTImGTON 04y3GbcaD5sYmISbLDOpM7lvSjRlmqab7jBtNx01MzdLMFtn1mT23FzLnG2eb15n/tCCYuFtkWtR bXHLEmfJtMy03GXZZQVbOVulW1VYXbeGrV2shda7rLtnYme6zRTNrJ5514Zsw7LJs6mz6bOl24bZ rrFtsn01y2RW8qwts9pnfbVztsuy22f3wF7dPsR+jX2L/RsHKweuQ4XDLUeKY6DjSsdmx9dO1k58 p91OPc5U53Dndc6tzl9cXF0kLvUug64mrimula53mTRmFHMD87Ib1s3XbaXbKbeP7i7uMvej7n96 2Hhkehz0eD7bfDZ/9r7Z/Z5GnhzPPZ69XgyvFK8fvXq9Db053tXeT3yMfXg++32esSxZGaxDrFe+ dr4S3xO+o37ufsv9zvkj/kH+Rf6dAeoBcQHlAY8DjQIFgXWBw0HOQUuDzgVjg0ODtwTfZeuxuexa 9nCIa8jykLZQcmhMaHnokzCrMElYSzgcHhK+NfxhhGmEKKIpEkSyI7dGPooyj8qN+mUObk7UnIo5 T6Pto5dFt8dQYxbGHIx5H+sbuyn2QZxFnDyuNV4lfl58bfxogn9CSUJv4qzE5YnXknSShEnNyfjk +OT9ySNzA+Zunzswz3le4bw7883nL55/ZYHOgqwFpxeqLOQsPJaCTUlIOZjymRPJqeaMpLJTK1OH uX7cHdyXPB/eNt4g35Nfwn+W5plWkvZc4CnYKhhM904vTR8S+gnLha8zgjOqMkYzIzNrMr9lJWQ1 ZBOyU7JPitRFmaK2HP2cxTndYmtxobg31z13e+6wJFSyXwpJ50ubZTS0WeqQW8i/k/fleeVV5H1Y FL/o2GK1xaLFHUuslqxf8iw/MP+npZil3KWtywyXrV7Wt5y1fM8KaEXqitaVxisLVg6sClp1YDVp debqX9fYrSlZ825twtqWAr2CVQX93wV9V1eoXCgpvLvOY13V95jvhd93rndcv3P91yJe0dViu+LS 4s8buBuu/mD/Q9kP3zambezc5LJp92bcZtHmO1u8txwoUSvJL+nfGr61cRtjW9G2d9sXbr9S6lRa tYO0Q76jtyysrHmnyc7NOz+Xp5ffrvCtaKjUrVxfObqLt+vGbp/d9VV6VcVVn34U/tizJ2hPY7VZ dele3N68vU/3xe9r/4n5U+1+nf3F+7/UiGp6D0QfaKt1ra09qHtwUx1cJ68bPDTvUNdh/8PN9Tb1 exroDcVHwBH5kRc/p/x852jo0dZjzGP1x02PV56gnihqhBqXNA43pTf1Nic1d58MOdna4tFy4hfb X2pOGZ6qOK1xetMZ0pmCM9/O5p8dOSc+N3RecL6/dWHrgwuJF261zWnrvBh68fKlwEsX2lntZy97 Xj51xf3KyavMq03XXK41djh3nPjV+dcTnS6djdddrzd3uXW1dM/uPnPD+8b5m/43L91i37p2O+J2 9524Oz13593t7eH1PL+Xde/1/bz7Yw9WPcQ+LHqk+qj0se7j6t8sf2vodek93eff1/Ek5smDfm7/ y9+lv38eKHhKeVr6zOBZ7XOH56cGAwe7Xsx9MfBS/HJsqPAPtT8qX1m8Ov6nz58dw4nDA68lr7+9 2fBW+23NO6d3rSNRI4/fZ78fGy36oP3hwEfmx/ZPCZ+ejS36jP9c9sXyS8vX0K8Pv2V/+ybmSDgT rQCCDjgtDYA3NQBQktDeoQsA0tzJHnvCoMn/ggkC/4kn+/AJcwGgxgeAuFUAhKE9ym50mKJMRufx NinWB8COjoox1Q9P9O7jhkP/YkrMtZQpXdc5yCrwD5vs6/+y73/OQKH6t/lfxBwNiXMfkmoAAABW ZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAOShgAHAAAAEgAAAESgAgAEAAAAAQAAAvCg AwAEAAAAAQAAAMoAAAAAQVNDSUkAAABTY3JlZW5zaG90Tbd1OQAAAdZpVFh0WE1MOmNvbS5hZG9i ZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhN UCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8x OTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv dXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEu MC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjAyPC9leGlmOlBpeGVsWURpbWVu c2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjc1MjwvZXhpZjpQaXhlbFhEaW1l bnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNv bW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRh Pgq12JW2AABAAElEQVR4AeydCbxN1fv/HxLKWMmQDImMFfn+DZVKxqJM6Uu+lKFUXxn7UpRCivJF FJnJUMmQef5G+sk8RVJEMpM5U7T+z+eptZ177t77nHvOubd7r2e9Xufsvde83vvZez977WetlSZ/ /vyGQrjMmbNQ3rx5af/+/XT69Kk4sdOkSUP58xfgsH30+++/xwlLDgeo380356TDhw851cmePTud P39eftmyZaObcuSg7NluoFOnTtLBgwfozJkzTlzsFChQkHLkuJlOnDhOu3fvosuXL0v4TTflYC63 0u+XLtKhgwfp2LFj4p85c2bepuF8Tsux/cuSJYswQtlI++uvR+maa66hrFmz0fHjf6bNkCEDPfJo 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 JM86deqIjTrs6jFINpTD3O+wxS9cuLAMZr1w4QIdOnSIMDsN8n/++ecJ9UM81MPWBQNz1SkBJaAE lIASUAJKQAkkPgHtRU2ACQyfjoh55c+fX3quWSGWXnOY0KBHPdDevW3bthKGv2+//VbKatWqleMX uPPuu+9K+J133ml42kcJ+uOPPwzP0W4Ce/U7deokYbCfD6f+N910k0E+wW7FihWmdu3awd5y3K9f v7DyDqd8jRO5jCk7ZacyoDKgMqAyoDKQ+mUgzV8nmTfqkooA27zL7DNYEIltyWNWbIECBWRmGkwZ GehsTzl66DFzjToloASUgBJQAkpACSiBlEtAFfiUe+605kpACSgBJaAElIASUAJXIQFdyOkqPOna ZCWgBJSAElACSkAJKIGUS0AV+JR77rTmSkAJKAEloASUgBJQAlchAVXgr8KTrk1WAkpACSgBJaAE lIASSLkEVIFPuedOa64ElIASUAJKQAkoASVwFRJQBT6Ck4451l944QXKmjVrBKmJKlSoQDztIvH0 kWGlj7a8sArxiIQZbNKkwVjnuA5+JUqUkPnnixQpInPCx42hR0pACSgBJaAElIASUAKJRUDn707g 3O41a9aUuc9Lly4dETvM3w7HCzKFlT6c8nr37m0qVaoUVn4sSCHj5cqVy3z88cdSz6FDh8aJz9NV yhz1EvjX36OPPhonTjhlaJzQ50EZKSOVAZUBlQGVAZUBlYFgGUjHHuqSmMBbb71FvKgSYV72WLlX X32VeGGosFZaDVUmVlzlhaHo/PnzEjVduitigv158+ZRhgwZ6KGHHqJdu3ZRyZIlZaXXUPlquBJQ AkpACSgBJaAElED0BNSEJgqG99xzDy1evJiOHTtGc+bMoWzZskluOXPmpEmTJtG+ffto9+7d1K1b N/FH/E2bNomSPXr06HhmJ9dffz316tWLVq1aJYoxr8RKHTp0cGroVh734hP30IuZC0xasI8f96A7 6erWrUtY3Klr166On98OXgQaN25M+fLlo507d8aJWr9+fSpevDi1a9eOli1bRnv27BGF/ujRo3Hi 6YESUAJKQAkoASWgBJRA4hBQBT4KrqNGjaIbb7yRpk+fTmxCQi1btiT0UM+ePZtq165NCN+6dSuh x71atWp04MABGjdunCj2UMbTpr2CHzblbLJCr732Gv3+++/EZit02223EVZXtc6tPCj4s2bNkihN mjSRfRxXr17dJpNVX3PkyCE2646nzw7Knzt3rusqsXhhYKsZuuuuu+QLwqFDh6TemTNn9slRg5SA ElACSkAJKAEloARiSUBtl8OwCWfgDidrk758+XLDA1HFn81NTJ8+fUy5cuXEKnzBggWmYsWKpl69 enKMMJtHx44dxc+mhX/ZsmXFb8SIEU48Vo7NwIEDjV95Ns8//vjDcA+7k9b6Y8svCqZUqVImY8aM ruGBcYP3d+zYYQLrNGjQIKknK/lmzJgxZsiQIQb748ePT3DewWXp8RUZUxbKQmVAZUBlQGVAZUBl wEsGrhg3cwx1CSPQqVMn6S1HqtOnT8usMmXKlJFM0APOCrzsIyxTpkyy7/VXvnx5Cfr888+dKIE9 9PB0K8+J7LPDyj1t2bLFJ0b4QRs3bpTIqGfz5s1lH18K8IVBnRJQAkpACSgBJaAElEDiE1AFPgrG Fy9edFJzt7TsY/AnHMxZYAcfrrMK/smTJyXJs88+SzB7CXRu5dlwmL1EOq2lzSOcLX91kGh79+51 op86dYrwkqBOCSgBJaAElIASUAJKIPEJqAIfY8YrV66k/fv3U//+/QmKLWzbYR+/du1asYkPLA69 9Bj8iUGrsDnn6SWpZ8+etGHDBmfwqn0xCEzntr99+3bCYNUZM2bIIFPYpmNgLVydOnWITVyob9++ xNNNuiWP44e53x9++GGpO14KChYsKDb1v/76K61bt46QN15QlixZIgN32UyIJkyYECcPPVACSkAJ KAEloASUgBJIPAJquxxg386YQ/KoUqWK2IHz9IlOXFbaxQYe6e+8807DPfESB7bpbL5iGjVq5MRt 27athOGPZ5px/MeOHWsuXbpkzp07Z3r06GHY9Ma89957JlR5KLNBgwaGZ49xyuRpJZ182fRG/Hnq SsfPr5033XSTQb2D3YoVKyT9I488InW04fC/+eabw8rbr1wNCy17ykgZqQyoDKgMqAyoDKgMYIlN KF7qEoEAZpA5e/asTOEYKvvChQvTmTNnZGpJmNHcfffd9PXXX1P79u3p/fffD5VcwrGyK/JBrz6m jbQOPerID/POoz6xcJjyEjPpHD9+nLZt26YmNLGAqnkoASWgBJSAElACSiAMAqrAhwEpKaK88cYb 9Morr9DSpUtlQCymocQc7BjcGiulOynaoWUoASWgBJSAElACSkAJJC4BVeATl2/YuWPxJyzAhNVN MaAVg0WnTp0qc8eHnYlGVAJKQAkoASWgBJSAEkj1BFSBT/WnWBuoBJSAElACSkAJKAElkJoIXFkK NDW1StuiBJSAElACSkAJKAEloARSKQFV4FPpidVmKQEloASUgBJQAkpACaROAhHPA4/VN2vUqEFj xoyhCxcuJDodnpqR7r//fimHp0ukjz/+OF6ZFSpUoCeeeIJ4CkVnhdR4kZLQo2jRovT4448TWO3b ty/OHOx+YUlYxYiL4mkjZb75X375hXbt2hVxPppQCSgBJaAElIASUAJKIOEEIpq/u2nTpjINeN68 eSNKz9VMULqXXnrJHDt2TOZJ5wWSXNPyQkhSp2LFirmGJ7TMaOLztI0yjzvmcufpG82JEyecOvmF RVomL9BkKlWq5JQRaT7hpMO5CJwnfuTIkYYXrEqSssOpn8ZJ2LWlvJSXyoDKgMqAyoDKQIqTgcgq nNQKvBWst99+23gp8LxqqIFybOP+ndsPP/zQ8BzpJnfu3PHq4xcWaZ2hUHft2jVeWZHm55WudOnS 8pKERaF4hVbDX0LkuHnz5oletled1D+ya1i5KTeVAZUBlQGVAZWBlCkDUdvAY55yzF3OveM0ZcoU uu6661gWiG644Qbq27cvrVu3jn766SfavHkztWjRQsKqVq1KM2bMoIMHD9LevXtp2bJl4o8/TKc4 adIkMTnZvXs3devWzQnz2sGCQps2bZKpF0ePHi2LIdm45cqVk7CGDRvS4sWL6ddff6VZs2ZR5syZ JUok5SEhzIdWr14tCxlt3bqVXnzxRckPCxxhOsgHHnhAFlNihVeOwcMvDIkj4cJfGyR/7gGnEiVK yD7Kz5Url9QHf3Xr1pW6sILv+EW607JlS7p8+TJ16NBB2o5pL+FatWolW/1TAkpACSgBJaAElIAS SHwCEfWc2h54dL+uXLnSsBIvPbGsLJp06dKZRYsWyTErzaZz586GlT7TvXt3MbX48ccfzZ49ewwr g4ZXGjWDBg2SOiAdK8XSw96zZ08zZ84cyaNatWpOHd164PPkyWM6duxo5s6dK/F5RVInPiuz4oe/ 9evXm1GjRslxu3btpJ6hymP8Tl52nxVl8/vvvxt+wTBvvvmmWbNmjeTZuHFjgx5qhFmHffxQD78w mKBEwmXYsGGu5eH82PqCDdyECRMcPxuW0C2//Bi2eZd8xo4da3jVV7N27VrDNv5R553Qumj8+LKp TJSJyoDKgMqAyoDKwFUhA5E10irw8+fPN2nTpjXZs2cXJZ17wA0UbjjugXeUOiixVoHnnndR/Nq0 aWOyZcvmxOHeckm3YMECU7FiRVOvXj057tOnjxPHTYG3gmoVVTcFnhdGMtb//PnzBnmGKq9Zs2am U6dOzo97nSUPtAvO2pzDdAftW7JkiVPPr776Sl4obN0Ct25hUOCj4eJnQoPzU6pUKZMxY0anfoH1 Scg+6r5hwwbDg3OFAeSAF5wyZ86ciTrvhNRD40Z23So35aYyoDKgMqAyoDKQ8mUgahOatm3bEiuP dOnSJdmykkgwq4GbPHmybPEHEw841voIZhhsH06DBw+m/fv3U48ePSh9+vRUpkwZiVO9enViJZ7G jRtHPAhUViaVgCj+WBF3ZqZBnqzMhywPpiesoMb5oZ6YVQbt4C8PUiO2yafvvvuO2CY84homJhec ny1bthC/uERcP5vw0KFDxOMMaPjw4bRw4UIaP368zEYDf3VKQAkoASWgBJSAElACiU8g4mkkbdUw pSNcrVq1iE1gaNWqVcQDN8WPZ16RbZcuXcQu3SrxbBpD8+bNE5tv2Lhzzzxt27aNfvjhB4nfpEkT sYOXgxj9Xbx40ckJyjJcqPLq16/vpAncwUsH2sK92sS90YSXlsKFC8t+YLyE7kfDhb8AEH8JSGiR CY7PZj7S9ixZslDr1q3Frr9IkSLEXx8SnJcmUAJKQAkoASWgBJSAEkg4gah74CtXriw96DyzCqEX FgNZ2RZdatKvXz8aMGAAsdmLHLOtOt1xxx00e/ZsGVh54MABYhMcCUOPOHq0oRz379+fateuTY89 9hgNHTpUeuwDmwaFGb30KNvNIcx+BXALt37hlmfj2+20adNkl233CS8bGDiLAapsSmKjJHgbLZft 27cLUzY9ksHCeKGyrk6dOoSvBOEMCLZpvLb4KgK3c+dO+Wry/vvvy4ub9fdKp/5KQAkoASWgBJSA ElACsSMQke1yo0aNuCP7Twf7b55JRmzKuVrmmmuuEbto2GXDNhq26ZgLnRVfkz9/fhn0yIs/SWLu wTcYGGnt03nBJsM94xKG9Gz6YVAW8sWPzW3+KtUY2LJbf2zZnMcJ+/bbbyWsSpUq4leyZEknLr8k iA080oQqLzD/wH3Yw6N8ONSTTUqcNiAe7OF5ph2nzMC0bmHRcmnQoIEBS1sfXszKKRt2/HCY+jGw HpHuY+wCBiVbN2LECBkHEWl+mi7l2+LpOdRzqDKgMqAyoDKgMpB0MgDDdCh1ETmYkfAgVLEtt6Y0 gRmxUirTF547dy7QW/ZhS16oUCGZYjLQvMVGLFCgAJ09e1bSW7/E3EZSHtpwyy23yNSUsKuPhYuG C75iwJSHZ4aJw41fqMRunV+ihGks6olpMWELD5MarDKrTgkoASWgBJSAElACSiBpCESlwCdNFbUU JaAElIASUAJKQAkoASWgBCyBqG3gbUa6VQJKQAkoASWgBJSAElACSiDxCagCn/iMtQQloASUgBJQ AkpACSgBJRAzAqrAxwylZqQElIASUAJKQAkoASWgBBKfgCrwic9YS1ACSkAJKAEloASUgBJQAjEj EPVCTm414akZ6f7775cgzE7z8ccfu0WLyK9ChQr0xBNPEE+T6KysGlFGmigqAjfffLOswPrLL7/Q rl27ospLEysBJaAElIASUAJKQAkkjEBM5gbnIp18XnrpJXPs2DFz6dIlwwsIOf6Bcfz2e/fubSpV quSa7t1335Xpx4sVK+Ya7pevhl05R9GwwPnF3PfWjRw50vCUono+Aq6BaPhq2tjIqXJUjioDKgMq AyoDqVgGEu/k8gqsESnwUA67du3qqhBmzZrV8PzjrmGp+CQlm/aWLl1a9HYsClWwYEHDX1fkuHnz 5smmjioHiXdNK1tlqzKgMqAyoDKgMvD3y0BIG/jBgwfT0KFDqVu3brR161binnVi5ZrPHVHOnDlp 0qRJspDP7t27JY4EhPjDIkB9+/aldevWyUJOmzdvphYtWhD3qlPNP3pbCgAAMTJJREFUmjUJC0SV KFFC9nGcK1cuuueee2jTpk20fPlyGj16NGFxIusWL14sfvYY22bNmkl81DHSembIkIH4awDxyrDS 7jVr1lDr1q2lmBo1atDq1avp+PHjwuXFF18U/1GjRtGAAQMIbdq4cSM999xzdOjQIRo0aBAhDfwe eeQRWrp0qeQ5ZcoUuu6663zzRGDVqlWJV3algwcP0t69e4lXvpU0+AvVvrp168rCTva8OQkj2GnZ siXxKqzEK9FK2x966CHJpVWrVhHkpkmUgBJQAkpACSgBJaAEIiHg23O6YMEC6WHl1VTNRx99ZI4c OWIGDhxo0qVLZ1iBlR72nj17mjlz5ki8atWqOfm59cAj3aJFiyQuK96mc+fOhhVC0717dzNs2DDz +++/Sxj+sI9f06ZNTZ48eUzHjh3N3LlzJZxXHXXK+eCDD8Sko3jx4uKXNm1as337drNy5cqw6snQ nLwC92EaAjdmzBjDCqrUr23btoZfLqRe/NJi3nzzTcOKvcRr3LixWbFihezv2LFDtvjjFVANK97S DuuJurESL4esYPvmCfMUXvHU7Nmzx7ACbdq3b2/4hUDqHM55ADe4CRMmuLYzsM2h9mfNmmXY5l3y GTt2rOFVX83atWsNr8Yadd6hytZwdzlVLspFZUBlQGVAZUBl4KqTAf8GWwUeyimEY8mSJWLeUq5c OVEKEV6xYkVTr149Oe7Tp4+jyLkp8FDw4bgH3okHJR0KvBU+PxMaq4wGKvBFihQRBR4vAMijTp06 UsaTTz5pQtWTe+pNp06dnB/3LBvkzV8JJI/p06c79bL1Q93hrJ0+zHrQBrCBAg9lPX/+/BJn6tSp 5umnnzbnz593FPj58+cbvGRkz55dXl74i4Lw8MoTCjzyhLLcpk0bky1bNqdOodqHOqOsUqVKmYwZ MzrpbFsSuv3qq6/Mhg0bzOOPPy7tw8sV2njmzJmo805oXTS+/7WrfJSPyoDKgMqAyoDKQOqUgbBm oWGllD755BOWAaIqVarI1pqSVK9enViBF7/Tp09TpkyZZN/rr3z58hI0efJkJwpMZqJx3DtNs2fP JlYmxbyHFXL6+eefiRVLsqYdXvWEeUmhQoWc4vnlgYYPH06FCxcWv2+++cYJszu33XYbsfZK3Isu XjxQl7777jtim3Axl4FZDEyN4LgXn3LkyCHxxYP/uBefUA4P8pUtK9bklyfKgukKf/kgmDTB/Khf v35i3lOmTBnJ1qt9CERZW7ZskXjR/sEcCDMMgdHChQtp/PjxMiMQ/NUpASWgBJSAElACSkAJJD6B kDbwqMKFCxfi1QR24XBNmjQh7oF2fjxDSby4gR5WwT9x4oR4d+nSRezZA5V47s2W/ALThdqH3Tls yWGDzj3joujCVjtUPevXr088MNP5wdYeU18iHRRfa+MdWP7+/fvFTp97tcUbCjgU/gMHDsgx6m8d 8oILbJ/1q1WrFrEJDK1atYpC5ckmSlS0aFGxo2eTFeIvFoS6h2qfrUestnhZQluyZMki4wGuv/56 4i8gBH91SkAJKAEloASUgBJQAolPICwF3q0a6H2G0tm/f3+qXbs2PfbYYzLYFT3FgQ7KLXqHK1eu LN5swy5b9CBD6WYzGzlmG3cnGduvE3rG0bOPwa1QdIMd8rS9+Qj78ssvZdAqm88QvgSMGDFCkoRb z+D8T548KT3MGETLdt/SRvTms6kQTZs2TaJjYCpeYDCoFoosevzDcWDRo0cP+vDDD50ee78877jj DvnCACZ4SWATHCmGTX3kK0Co8wAm+EqAgcjRunHjxkkWO3fupPTp09P7778vLyHWP9r8Nb0SUAJK QAkoASWgBJRAaAK+tssYnAo7d84m3o8XbDLcAyy20NxbbdhMwzRq1MiJx0qqhOEPNuDIg2ePEZtp xIfdNGzaMciTFVgnXYMGDQz3Ujv58qJNThgGkVr37bffOv7I+5lnnpEgfjGI4x+qnm5tgx/3MpuZ M2ca/gIh+cLOHXb9CIOtPNoEh7awSYnYzvPsMOa9994zrNCLffu9995rMH6AXyocG3ikQV6ICxt2 W75XnrCnx0BRWw+wwWBSOw4gVPtg4w+HqR9tWdFsYYePgcfW8cuS2NlHk6emjX99KRNlojKgMqAy oDKgMqAy4CED0YMpUKCA4ZU5E6QcQillkxfPNFBOMatMQvP1aKSUE0k9kR+UcSwcxT3OceqLY7Z7 F0Xfr1wbhgGfcCVLljRsShQnLxvHL0+EudXDpvVqH16a2DRI2mHjRrvFIF82LzJ58+Z1bUe0+Wv6 6K9LZagMVQZUBlQGVAZUBlKnDGD0KBQwdUlAAINseeEjuvXWW2Xu/CQoUotQAkpACSgBJaAElIAS SGUEsBrSm6msTcm2Odz5Tmw2JDbsgQNdk22FtWJKQAkoASWgBJSAElACyY6A9sAnu1OiFVICSkAJ KAEloASUgBJQAt4EIp6FxjtLDVECSkAJKAEloASUgBJQAkogsQioAp9YZDVfJaAElIASUAJKQAko ASWQCATCWok1FuU+9dRTtGPHDlq9enVY2WHRoscff1xWKN23b5+sOhpWwqBIPMWirBwKbyyghEGk 6qInwLMDEc8SRL/88gvt2rUr+gw1ByWgBJSAElACSkAJKIGwCSTJNICHDh0yAwcODKusu+++W+ZN x9zpmCOeV20NKx23OF48XhnWHDt2zFy6dMnwYkbxwpGmd+/ehldvdQ1zyzM5+iVlG8AUc99bN3Lk SMOrs6ZofsnxnGqd4l/PykSZqAyoDKgMqAyoDIgMJI0gJESB5xVKzfHjx03u3LljphRiASYvBR7K aNeuXWNW1t8hWEnVhtKlS4vejkWhMAc+f9GQ4+bNm6dofn/HOdMyk+beo5yVs8qAyoDKgMpAapOB RLOB58WPqFevXrRq1SoxsciZMyez+9Nhf9KkSTIX+u7du6lbt24SgDQ1a9akBx54gI4cOUKsLMox Lxok4dj27duX1q1bRz/99BNt3ryZWrRoQdWqVaONGzdSjhw5/iqBpFxemdU5dtvhRZEkf+49phIl Ssg+ys+VK5db9Dh+XnVBpKpVq9KMGTPo4MGDtHfvXuIVV520GTJkEHMgXsGW+MsArVmzhlq3bi3h Xlx4tVbatGkTNWzYkBYvXky//vor8UqslDlzZgqnDXXr1hWe/JLi1CPSnZYtWxKvwkq8aizxSxbx Yk6SVatWrSLNUtMpASWgBJSAElACSkAJJJBAzHtOYU4xZcoU6Zn9+uuvTefOnQ3Pfy4mNOnSpTNs By+94T179jRz5syReKyEG/Tu8vzocow/7OPHSrVBukWLFkkYK7GSJyuSpnv37obt68Ufq7ty2+UH kxl+MXCO3Xrghw0b5loeVky1+bht/eqCtv/4449mz549hpVd0759ezNo0CAnP5ibwI0ZM8aw0mtQ h7Zt20r7vLig/datX7/ejBo1Sg7btWsn6d2YBbahY8eOEn/ChAlOPdzaFY4fvzgYtnmXfMaOHWuO Hj1q1q5da3icQtR5h1O+xtFeFJUBlQGVAZUBlQGVAZUBF7vxaKGULVtWFMYRI0Y4Sp01oeHeZAlb sGCBqVixoqlXr54c9+nTx4n71Vdfmblz5zrHqA8UfDjugXf8obhGo8DbdnqZnzRr1sx06tTJ+XGv s7n22mt96wIFnnveRbFt06aNyZYtm1Nf7rWXNkyfPt3xs3Xw42IV+OXLl0v5SHP+/HkTyMyrDYib Nm1aU6pUKZMxY8Z45dryw93i3GzYsMHwAGNpC14Upk6dKi9o4eah8fTGqzKgMqAyoDKgMqAyoDIQ uQwkyiw05cuX53NC9Pnnn8sWf6xEyn6ZMmVkW716dWIFXvZ5sCplypRJ9r3+bJ6TJ092osD0JTEd TE8KFSrkFMFKMg0fPpz86sJaLcHMhAfs0uDBg8Xkp1+/fmI2U7hwYcnrm2++cfK0O+Fw4ZcJ4pcW SQJm/DJhk/tuUe8tW7b4xgk3kF/EZFYfcFi4cCGNHz+eXn31VYK/OiWgBJSAElACSkAJKIHEJ5Ao CrxVxk+ePCktePbZZx37dNh+wzVp0kTs4OUgjD+bJ89II7G7dOlC11xzDUGJZ3MZ8bNx2GREwsLI VqJAKc6aNWu86PXr14/nBw9bjltdEM5mQTRv3jyxhYd9P38loG3btokflGnYjb/77ruI6jg/LrDL h7t48aITHy8Kgc6rDYFxYrHP5kHCPEuWLGK7j3ELRYoUoSVLlsQie81DCSgBJaAElIASUAJKIASB P7vFQ0RKaDCbv0gStnEnNvOgDz74wMli5cqVtH//furfvz/Vrl2bHnvsMRo6dKj0WjuRXHZsnujN HjBgALFNu8TKkyePDAbFwQsvvEDvvfdePOXYZscmJISe/8qVK1sv2W7fvp3Q244vAhgUW6tWrTjh wQd+dbnjjjto9uzZkt+BAwdo/vz5khy95XihQa81FHIMQkX7MfiTzYgoUi62bn5tqFOnDvEMPM5g YZsmku24ceMk2c6dOyl9+vT0/vvvE48JIOsfSZ6aRgkoASWgBJSAElACSiBhBKK2i+bi4uWBAY4Y SHru3DnTo0cPw7OxGFa+JR4vrmS4x1lsqGG7zeYdplGjRk4e3JtreBYX5xj5c2+72FojPgbEYmAm 5oifNm2a4ZldDGyz4c6ePWvYpEPK5V56Jw/UwTrYjwfWuUGDBoYXeZJg5I/0geHB+351wUBaDOq8 cOGC5Id8MfATtvPIh3uuzcyZM51w2PFjgC3CvLhUqVJF8ipZsqRTL34JimMD79cG2PHDYerH4LZE cgzbfgwgtg5jHWBnH0lemib+taNMlInKgMqAyoDKgMqAyoCfDMCIHIpXori8efNKrzMr3K75FyhQ gFjhlikOXSO4eLKCLPH5xSBeKOzVMXUj8kyoQw85bNR5VpWw6+NXF/ROoz6Y7jLQ9MXWC6YnSO8W HgkX5OvVBpga8eJYxC88EbGxdQ7cYhpN5AmTGqyUq04JKAEloASUgBJQAkogaQgkqgKfNE3QUpSA ElACSkAJKAEloASUwNVDIFFs4K8efNpSJaAElIASUAJKQAkoASWQtARUgU9a3lqaElACSkAJKAEl oASUgBKIioAq8FHh08RKQAkoASWgBJSAElACSiBpCagCn7S8tTQloASUgBJQAkpACSgBJRAVgURZ yCmqGmniZEUAM9hg8SmeMjJOvXhKS8JsOViBdfPmzc4KsXEi6YESUAJKQAkoASWgBJRAzAloD3zM kf49Gfbu3ZsqVaoUs8Jz5cpFH3/8saxyO2TIECdf+GPqS567X1ac5TnvadWqVYRpJdUpASWgBJSA ElACSkAJJD4BVeATn3GSlMCLT8VMgc+ePTvxQltUo0YNqTtWWrUO8+9jJdxSpUoRlHmsiFumTBlZ UdfG0a0SUAJKQAkoASWgBJRA4hFQBT5Ctuhx7tu3L61bt056pGFG0qJFC8mtatWqxCvJyqJSvAIt LVu2zCmFV40l9JZDQT527BitWbOGWrduLeE5c+akSZMmycJIu3fvpm7duol/uXLlaNOmTdSwYUNa vHgx/frrr8Sru1LmzJmpWLFiVLNmTUqTJg2VKFFC9nEM5dq6unXryuJUXbt2tV6+W149lho3bkz5 8uWjnTt3xol76tQpGjx4MG3dupUOHz5M1113nYRv27YtTjw9UAJKQAkoASWgBJSAEkg8AjBu1l8C GHCPtFm0aBGbhRvDCrXp3LmzuXz5sunevbthRdrw6qRmz549pmXLlqZ9+/Zm0KBBDt+RI0dKujFj xphWrVqZYcOGmbZt2xrkuXr1asMKsunZs6eZM2eOxKtWrZphhVz28bd+/XozatQoOW7Xrp2k//33 351w7OPXtGlTp8yOHTtK+IQJExy/cM/5jh07zIgRI1zTPf3005Iv2hBufhpPrzWVAZUBlQGVAZUB lQGVgahlIOoMrjrlDUo1HPfAO22H0mwV+IMHD5qjR4+aNm3amGzZsjlxuNde0k2fPt3xswLMvewS tmDBAlOxYkVTr149Oe7Tp4+jwC9fvtxce+21kvb8+fMGYTY9DzQ13MPuHFt/bNOmTWvY5MVkzJjR NTwwbvC+lwL/xBNPyIsCXjTw8hGcTo/1ulIZUBlQGVAZUBlQGVAZSBwZUBMalqyEuvLly0uSyZMn O0lhwgLHWjdxzzsdP35cTE32799PPXr0oPTp01PhwoUlzjfffCPbwD/YkcNVr16dWImncePG0enT pylTpkxOtE6dOjmzvSCMlXknzG8Hs8hg0Ckr/X7Rwg6DiRBMfebPn0/169eXga5hJ9aISkAJKAEl oASUgBJQAlERUAU+AnxWqT5x4oSk7tKlC2G6RavEc680FS1aVAaBYpYW7pkXRRd271CmH3rooXil IgyuSZMmlDVrVuf30ksvOXEvXrzo7ONFIdDxFwBJE+iXGPtZsmSh8ePHy9SRTz75JF24cCExitE8 lYASUAJKQAkoASWgBDwIXJlexCOCescnMHfuXHrllVeoX79+hMGmbMMukfLkyUN33HEH9e/fn0aP Hk1sCy+91A888ID0lp88eZIWLlwoA00xCJVtxyl37twyKBW92eitR1oMFMXLwKOPPkp4Adi3b1/8 SgT5bN++nTBYFYNnixcvLvOz40UCrk6dOqJ0Y9AtBtCGcngZefjhh6UOeJkoWLCgfBnA4NkcOXJI nfEVAYNqrcMg3o0bN9pD3SoBJaAElIASUAJKQAkkIgG1X07AAFY+D4YVXDN16lQDu/MzZ84YDBL9 /vvvzbRp00z+/PkNK92Ge6bFhp1ndDGsrDu269yDbWbOnOmEw3aep2KUc3DnnXca7omXdMibzV5M o0aNTJUqVcSPF09yzhUr+3Fs4Bs0aGBQFhzS8rSSTlw2vRH/iRMnOn5oh9fvpptukjwkUcDfihUr TO3atQN8ruzyy4xnfl7lqL/3OVA2ykZlQGVAZUBlQGVAZcBLBmC4DcVLXQQEWFmX6RkxN3qwg817 oUKFZIrJQNMXG+/6668npMeiSMHhWOH07NmzkreNH84WNvGws+cBtHHSokf97rvvJn7JkHzDyUvj KAEloASUgBJQAkpACSRPAqrAJ8/zorVSAkpACSgBJaAElIASUAKuBHQQqysW9VQCSkAJKAEloASU gBJQAsmTgCrwyfO8aK2UgBJQAkpACSgBJaAElIArAVXgXbGopxJQAkpACSgBJaAElIASSJ4EVIFP nudFa6UElIASUAJKQAkoASWgBFwJqALvisXd86mnnqJy5cq5B16lvunSpXMWsLpKEWizlYASUAJK QAkoASWQpASu4dLeTNISU3BhixcvFmUViy4lN4cFmrAa6549e5KsalglFgs6HTp0SBacSrKCtSAl oASUgBJQAkpACVzFBLQHPpWcfF64iSpVqpRkrSlTpgwNHDhQykMvvDoloASUgBJQAkpACSiBpCGg CrwPZyy21KtXL1q1ahXt2rWLcubM6cTG/qRJk2jfvn20e/du6tatmxNWtWpVmjFjBh08eJD27t1L y5Ytc8IyZMhA6C3nFVfp2LFjtGbNGmrdurWEe+UJs51NmzZRw4YNCV8Bfv31V+LVXSlz5sxUrFgx qlmzpnwZKFGihOzjOFeuXE6ZdevWlYWdunbt6vhFs4NyP/vsM9qxY0c02WhaJaAElIASUAJKQAko gQgJYCVW/QUxSJMmjZkyZYqB+/rrr03nzp3NmTNnDPc6G+5xNqtXrzanTp0yPXv2NHPmzJF41apV M0j3448/GjZlMS1btjTt27c3gwYNcviOHDlS4o4ZM8a0atXKDBs2zLRt29Y3T1bIJQ3+1q9fb0aN GiXH7dq1k/RsOuOEYx+/pk2bOmV27NhRwidMmOD4RXPOkc9vv/1m/vGPf0i+bEoTk3yjqZOm1WtY ZUBlQGVAZUBlQGXgKpIBPdluJ7ts2bKinI4YMcJRTtnWWxR47hGXsAULFpiKFSuaevXqyXGfPn1E geeed3P06FHTpk0bky1bNif9DTfcIPGmT5/u+Nmy/fK0Cvzy5cvNtddeK2nPnz9vUJ5N/8cffxju YXeOrT+2adOmNaVKlTIZM2Z0DQ+MG2r/mWeekTbwVwPDPfGyrwq8XkOh5EbDVUZUBlQGVAZUBlQG YicDakLD0uTmypcvL96ff/65E8yKsOzD/huuevXqxEo8jRs3jk6fPk2ZMmUi1miJe97p+PHjNHjw YNq/fz/16NGD0qdPT4ULF5Z0GPgZ7PzytHE7deokA1VxjPJYmbdBvltW7mnLli3ESr9vvHAC33rr LYnWvHlzWrp0qex36dJFBrPeeOON4WShcZSAElACSkAJKAEloASiIKCjDz3gQRmHO3nypGyfffZZ ypEjh+zDfh2uSZMmYgcvBwF/bFJD8+bNI9jCwza+e/futG3bNvGDMv3QQw/Ru+++G5CCxCYeHm55 wqYd7uLFi7LFH14UAh1moMmaNWugV6Ls9+3bl7Jnzy55c48+8ZcK2rp1K/HXgZi8ICRKpTVTJaAE lIASUAJKQAmkIgKqwHuczLlz54qSzTbutGHDBurQoYMTc+XKldKz3r9/f2I7eBlA+uijj8pUilBk 4T969GhiW3jClJMPPPCA9JbjZWDhwoUy0BSDUNn+nXLnzi2DUhEPvfVueWKgbCi3fft2wmBVDJ4t Xry4TO2IFwm4OnXq0Pjx4wnKNwbQRuPwVcE6DGbFwNjZs2fL1wbrr1sloASUgBJQAkpACSiBxCUQ tV00Vy9V5jF27Fhz6dIlc+7cOcNmMIZnlDH9+vWTtt55552Ge+LFBhz252yiYho1amTy589v1q5d ay5cuCBhGOzJyrpju54lSxYzc+ZMJxwDTt9++23fPKtUqSJ5lSxZ0uHMyn4cG/gGDRrIwFJERH14 WkknLpveSPqJEyc6frE4ZzxLj7l8+bJ54YUXYppvLOqmeaTOa1LPq55XlQGVAZUBlQGVATJp/oLA G3VuBPLmzStmNDwDjVswFShQgM6ePSvTNAZGgM17oUKF6Keffopj+mLjYIpKVvZdw73ytGm9trCJ h509D6CNU59rrrmG7r77bvr++++lrl7p1V8JKAEloASUgBJQAkog+RNQBT75nyOtoRJQAkpACSgB JaAElIAScAjoLDQOCt1RAkpACSgBJaAElIASUALJn4Aq8Mn/HGkNlYASUAJKQAkoASWgBJSAQ0AV eAeF7igBJaAElIASUAJKQAkogeRPQBX45H+OtIZKQAkoASWgBJSAElACSsAhoAq8gyLpdipUqEA8 HWXIlVSfeuopKleunG/FMI88T+OYJIs42YqkS5eOgn+Y6UadElACSkAJKAEloASUQOITUAU+8RnH K6F+/frEc7PT7bffHi8s0GPAgAEEJd46LMJUqVIleyjb0qVL05AhQ2TKyjgBiXSAFwqs+hr84zny E6lEzVYJKAEloASUgBJQAkogkICuxBpII4n233rrLeJFlWRe9oQUyYszES8MRVjt9e9yWF22WbNm TvGY737kyJH0888/O366owSUgBJQAkpACSgBJZB4BP6WHvgbbriB+vbtS+vWrZOFjDZv3kwtWrSg xYsX0+jRo+O0Fsripk2bKGfOnPKbNGkS7du3j3bv3k3dunVz4g4ePJiGDh0qflu3bqVjx45R165d JdyrPARiQaVevXrRqlWraNeuXfTtt99Shw4dJB3K9CpPIgT9YSEltKlu3bpUpEgRqXfDhg3FVGb9 +vXEq6WKHxRwtDPY7CS4LigfrlixYlSzZk1KkyYNlShRQvZxnCtXLqcG99xzj/BDu+fMmUPZsmVz wlCfI0eOODycgAh2jh8/TuPHj3d+MAc6f/48tW7dOoLcNIkSUAJKQAkoASWgBJRAJAQMJ0qyH9tO m0WLFhk4VthN586dzeXLl0337t3NBx98YP744w9TvHhxqU/atGnN9u3bzcqVKw3SrV692pw6dcr0 7NnTsJIqeVSrVk3iLliwQI7PnTtnPvroI8MKqxk4cKCk8yqPFWIzZcoUSff1119LXXjFVSedX3le zA4fPmzeeecd06ZNG8l32rRp0h4csJJtOnbsaObOnSthrPA73P3qMmzYMMMmK5IGf9jHr2nTpoYV ecefXxLMqFGj5Bjl2DpiH27ChAmOnw2LZssvXZIv2+DHNN9o6qRpk+5aVtbKWmVAZUBlQGVAZeBv k4GkLRgKNxz3wDtKH5RRKPDcay0KPBRWCESdOnUk7pNPPmnY9lr2oahXrFjR1KtXT4779Okjca0C 37hxYzlesmSJ4R5441de2bJlJY8RI0Y4dTl06JAo8KHK4y8Dhu3YnR/32hso5EuXLjVffPGF/JD5 6dOnDep08uRJpwyrUAcq8H51sRcHXm7QJnuMrVXguVdfyocf94gbywXHeBEqVaqUyZgxY5y0gfkk dL9o0aKGzXmknQlNq/GT9ppT3spbZUBlQGVAZUBlIHXJQJLbwJcvX55liGjy5MmyxR9MQ+BgXz17 9mzinmUx98BAT9hWT506lVq1aiVxqlevTqzAyz4rx5QpUybZx9+KFSvok08+keMqVarI9rXXXpOt W3m2Lp9//rnEwR8ru7JfpkwZ2XqVB7OUQoUKSRz8sXJNw4cPJ5jv1KhRg3LkyCHHzz33HL344ou0 bds2J67bjl9d3OIH+4EVvwiJN7jAnMc61G3Lli32MCbb/v37q+lMTEhqJkpACSgBJaAElIASSBiB JFfgrcJ94sQJqWmXLl3EFtwq8Zh55bHHHiM2BZEZV15++WViExv64YcfJH6TJk3ELt2tmRcuXIjn 7VeeDePecUn37LPPiuKNg1DlYSYZN/fdd9+Jwo4wNvUh2MDff//9NGbMGLfojp9fXWwkKOhZs2a1 h3G2Fy9edI6549/ZT4yd2267jR599FF6++23ib9YJEYRmqcSUAJKQAkoASWgBJSAB4EkH8TK9t9S FcyDDmUdSiBcnjx5ZPvll1/KQE82nyH0JLN5i/izHTzt37+f0PNbu3ZtUfIxaLVly5YS7vXnV54N g6LNJifENviSDRTgSMuDAg+HHm8Mtp03b54cW385+OsPvfu2592rLoHxeTyADJDFFwgM+q1Vq1Zg sOc+WPLYgTiDfj0jhxGAAbpwa9asCSO2RlECSkAJKAEloASUgBKIJYEkV+Bh5sIDOwlKJXq8//Of /xAUUzvjChrHg0+ljeiFh+IJx4NTZfYVHM+aNYtmzJghPfSYVhHu0qVLjgmJePz151cezF3GjRtH MLdp166dKPE8iFXyClVeYBmB+8gTjm3wZTtz5kzZBirwqCsczIUwBSOcW13wAmDjIk6PHj0oX758 YiqEdHfddZfTZms+g3jBLAoXLkxZsmSRGWwQHq3LkCGDZMEDdqPNStMrASWgBJSAElACSkAJREAg ZgMbueyw88qfP7+57rrrwo4fmHeBAgXMzTffnKC0buWxYmt4JVOTN29ekzlzZnPfffdh3KlhZT5O 3pGUF1jfhOzbunilwcBXzNKTkPbzdJUyAw5PUxmnXV5lqH/4cqyslJXKgMqAyoDKgMqAykBSywBG j0KpuyrdG2+8Qa+88grxzDFirgPTnJ07d4pZy9mzZ69KJtpoJaAElIASUAJKQAkogeRN4KpW4GG2 gwWRHnroIZnNBgssYcabAwcOJO+zprVTAkpACSgBJaAElIASuGoJXNUK/FV71rXhSkAJKAEloASU gBJQAimWQJIPYk2xpLTiSkAJKAEloASUgBJQAkogGRBQBT4ZnAStghJQAkpACSgBJaAElIASCJeA KvDhkophvAoVKhDmwQ9cLdUt+6eeeorKlSvnFuT48Sw69MILL3gu8OREjOFOunTpKPjHM93EsATN SgkoASWgBJSAElACSsCLgCrwXmQS0R+ruHbq1Iluv/1231Kw0BWUeOt69+4tc9/bY2xLly5NQ4YM oUKFCgV6J9o+Xigw53zwb+/evYlWpmasBJSAElACSkAJKAElcIVAuiu7updUBN566y2aOHEiff/9 9wkq8tVXXyUsXIXZcv4u9+OPP1KzZs2c4tOnTy+LUf3888+On+4oASWgBJSAElACSkAJJB6BFNUD X7VqVVmB9eDBg4Qe32XLlgmZGjVq0MaNG+mRRx6ROd2PHTtGU6ZMIV4oSsJvuOEG6tu3L61bt45+ +ukn2rx5M7Vo0ULCsKooerZ/+OEHQro1a9ZQ69atJQzTTE6aNImwIuru3bupW7du4u/1B5MYlFG3 bl0qUqQIbdq0iRo2bCimMuvXr6cGDRqIHxTw0aNHU7DZCS+0RL169aJVq1bRrl27nNVpixUrJtNd pkmTRlZTxdSX+OXKlcupyj333EOLFy+WNsyZM4eyZcvmhKE+R44coa5duzp+ke4cP36cxo8f7/xg DnT+/HmHWaT5ajoloASUgBJQAkpACSiB8AmkiNU5WXk13Ptr9uzZY1q2bGnat29vBg0aJHVv2rSp rKCKv5UrVxpemEmOWXE1bKttFi1aJMes4JrOnTuby5cvm+7du0vakSNHStiYMWNMq1atzLBhw0zb tm0l3erVq82pU6dMz549DSvFEq9atWq+vA4fPmzeeecd06ZNG4k/bdo0WTkVB6xkm44dO5q5c+dK GFZV5dMkP7SPXzrE/+uvv5Z6njlzxgwcOFDqxCYrEoY/7OOHdrMi7/jzS4IZNWqUHKMcmzf24SZM mOD42bBotvwSJPmyDX5M842mTppWV8NTGVAZUBlQGVAZUBm4CmQgZZxkKLjc826OHj0qyjH3MDtK o1Xg58+fb9KmTWuyZ88uSjr3chso3HDcA+/Eh/ILBZ575iVs+vTpTpg94WzrLWELFiwwFStWNPXq 1ZPjPn36SFw2IzFsx+78OnToYKCQ4+Xhiy++kB8SnD592jRu3NicPHnSKcMq1IEKfNmyZSX/ESNG OPEOHTokCryt0x9//GG4F90Jh79V4LlXX8qHH/eIG1tPHINJqVKlTMaMGeOktflGsi1atKhhcx5p ZyTpNU3KuO70POl5UhlQGVAZUBlQGUh+MpBiTGhYuyXueSeYcAwePJj2799PPXr0INhgW8c958RK Ll26dEm2rLBS+fLlJXjy5Mk2GsEUBa5w4cKy/eabb2Qb+FemTBk5rF69OrEST+PGjSNWxmXFVgTA LOX/t3emIVV1XRxf9QYFphEZJZZhNND8oaABA0Ua0MI+FDZAQWCRFNGHEgribbL6IhFWZgNNEGRG mSU0QFAEjTQ4IEXDh2ikrCBTqv2u/3qec56rXaur9/Y+3v4bzj377Ons8ztbWGf732vrh0OTA32p qqoSNZZtd9fi4mLp2rWr5ObmSk1NTWDz38W9fpaUlPh5anj78Z9FsChWP0ysGPoJOY8XwKSystKk Ll5aW88FBQWUzrQVIuuTAAmQAAmQAAmQQCsI/LqF2IrGw10F2m6d+RVo3m/evCk6iy7w6OIFLPBE yMzMNDeH0JLHxMRYWl1dnZ3z8vJMew4jHrp3GLepqamWF/iDPIR58+aZi8a4uDg7L1u2zNJxX3iA 8Q5o0HH/6upq8y4DDbpKb+yDIyUlxdKtYgs/Xj91pt5K5OTkSHx8fJPSMNDRj2ChsbHRT8bHTiRD cnKyZGRkSFFRkeh/CSJ5K7ZNAiRAAiRAAiRAAiTQjEC7MeAHDRok5eXlNvP9/PlzUbmMPUrgTHNa WprNyu/YscMMSyxkVb25lYPfdbhlzM/Pt+uEhASBsXzu3DlbEHr69GmZNm2aqA5eVC4jqqW3WX7M NCN9+vTpsmvXLvsvQDOGTS5hwCNgxhuLXysqKuzaS7eLv38wu+/NvHv9hNGv8hcpLCwMLGrx2tpa e36V9NgiXHyo/ErIysoS1fL/dBHur7SFMligi4AFvwwkQAIkQAIkQAIkQAK/n0DYdNHa9Yi1lZSU 5HTW3TU0NJhWHPprNbpN9+1p4JEBfbt6p3HQsKM/6unFlZaWOujHsSgU+nN13+iwuBT5sbGxrqys zG8X9dXIt7wRI0Y4nYm3+6G+GuVu9uzZP3xG9Vxj5bH4FO1nZ2fbtc5Y+/WwSNYL9+/f99MPHDjg VP7j6uvrncqDnHracfrh4eerFxvTnaMu+qNuJV16ero1NWzYML+cyouaaOCh1UdQ15V+mba8K/2Y sfYmTJgQlvba0hfWjdzfHNmSLccAxwDHAMcAx8C/dgz8azsW1DhUnblTt4oOZ29QeQY8jFiVovjp Xj7O+ABQt5JB85CvLhy/a9er369fP9ezZ88W63rlwnFOTEx0qptv8V5Y+DpkyJCQ+oOPGHjAwTOG o49so339zfB98X1xDHAMcAxwDHAMRNcYwGpOGHXtOmAx6aFDh6RPnz4mW2nXD8POkwAJkAAJkAAJ kAAJkMAPCPxH8/77g/x2kaV6DlF5jOniPU8s7aLj7CQJkAAJkAAJkAAJkAAJhEggKmbgQ3xmFicB EiABEiABEiABEiCBdkug3XihabeE2XESIAESIAESIAESIAESCCMBGvBhhMmmSIAESIAESIAESIAE SCDSBGjAR5pwkPbHjRsn8Esf6MM+SDGZO3euqDvMYFl+Wu/evWXJkiUtbvDkFwxjpFOnTrZRVuBZ Pd2E8Q5sigRIgARIgARIgARIoCUCNOBbIhPBdOziqr7ZbcfWH90GG0/BiPfCpk2bZOLEid6lnbET 7M6dO6V///5N0iN1gQ8KLBRufqjP+kjdku2SAAmQAAmQAAmQAAkEEOgUEGf0NxHYuHGj6KZKohtK hXRH3bhJdAMruXz5ckj1wln4wYMHMn/+fL9J9ccve/fuladPn/ppjJAACZAACZAACZAACUSOQNTP wO/bt08wk33v3j25c+eOLFq0SF6+fCnbt283qt27d5etW7fKrVu35NGjR1Zu4cKFNkN+9+5dmTlz ppUbM2aM1dedXFt8G5DEoJ0ZM2bIwIEDBfVnzZplUpnbt2+L7qRqaTDA9+/fL81lJ7rRkmzYsEGu Xbsmjx8/Ft3V1e6lG1fJ1KlTpUOHDjJ06FCL47pXr15+X3SjJrlw4YK8fftWzpw5I926dfPz0J/X r1/L6tWr/bTWRt69eyeHDx/2D8iBPn/+LIsXL25tk6xHAiRAAiRAAiRAAiQQIoGo3p3z6tWr6ibe uYcPH9oZPzrz7V68eOFUw+3Onz9v6Wr8ulWrVrmvX7+6tWvXuh49ergnT564jx8/OpWtODWonc4y W7rybZHZq1ev3ObNm93SpUut3RMnTtjOqbjAbqj6AeDOnj1redhV1WtLjXN3/PhxS79y5Yr1RX3b u23btrndu3c7laxYHn4Qx4EdaNWQ99P1I8HpB4td4z5e24gjHDlyxE/z8tpy1g8da1c1+GFtty19 Yt2WxybZkA3HAMcAxwDHAMdA1IyBqHmQoEYkDHgY60lJSWZslpaWugULFjidNXaTJk2yNJ2B9+vC MIYBjwE+evRoV19fb2UaGhqc6r/9ciojcapj948VK1Y4GOSXLl1yJ0+etAMV8QEwZ84c9/79e7+u Z1AHGvC4F8KePXv8cvqfAjPgvT+2b9++OZ1F9/OR7hnwOqtv90canm3Lli1+uY4dO7rhw4e7Ll26 +Glem609Dx482Kmcx56ztW2wXnT/7fH98v1yDHAMcAxwDHAMRGYM/BEaeJ3ZNmmJDiLTa8fHx4va yjJ27FgkybFjx+yMH8hUvAA5zKlTpyQ7O9ukNdevX/eyTCYTuHBUjWspLi6WqqoqmTJliuAeuIZk Jzc3V2pqavy6wSJeX0pKSvxsNbz9+M8iWBSrHx9WTD8amni4Qd8qKyt/1kRI+QUFBZTOhESMhUmA BEiABEiABEggPAR+3UIMz/3+L614hi1ujkWgCDDUY2JiLF5XV2fnvLw806V7RnxaWppp4KHxhgZe JTZWDj/wJAMPMN4BDTrarq6uNu8y0KCvX79eoBlPSUmxdL9ykIjXF52pt9ycnBz7CAgsiueIi4sL TPLjjY2NfhwfJ5EMycnJkpGRIUVFRbaeIJL3YtskQAIkQAIkQAIkQAJNCfwRBnzTR/7nSrXodgGf 7Fjomp+fb9cJCQmC4+jRo7awVeU3tjgV+ampqf80ECQGAx4BM97Pnj2TiooKu/bS7eLvn8mTJ/v/ BfD6AqNf5S9SWFgYWNTitbW1NvM/fvx4wULbzMzM78oES8jKypIPHz7ImjVrgmWHnIYFugg3btwI uS4rkAAJkAAJkAAJkAAJtI1A1BvwmLX+8uWLQEaCA3EcSFd9vOgiU4GBixnvlStXCoxkeH+BAY1Z dHiRgQcXeKOBEQyjHt5mWgqQ0CBcvHjRzmVlZXYONOBxf4Ty8nKT9CCOegcPHpT09HRZvny5GfH4 APDKosy6deukb9++1m+4bhw5cqQvmwn8L4P3fKiDMGDAAImNjTUPNn+ltO23c+fO1oAu2G1bQ6xN AiRAAiRAAiRAAiQQMgEIviOrtwi5S7+/AmbYYaTrgtXff/Nmd0xMTBTIaNQDTbOcvy7x8QCD/M2b N9bnoIWaJcJd5ahRo8zv/KdPn5rl8pIESIAESIAESIAESKA9EaAB357eFvtKAiRAAiRAAiRAAiTw xxOIegnNH/+GCYAESIAESIAESIAESCCqCNCAj6rXyYchARIgARIgARIgARKIdgI04KP9DfP5SIAE SIAESIAESIAEoooADfioep18GBIgARIgARIgARIggWgnQAM+2t8wn48ESIAESIAESIAESCCqCNCA j6rXyYchARIgARIgARIgARKIdgI04KP9DfP5SIAESIAESIAESIAEoorA/wAnOYCEndOiawAAAABJ RU5ErkJggg== --=-=-=-- From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 12:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165901004328971 (code B ref 56808); Thu, 28 Jul 2022 12:08:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 12:07:23 +0000 Received: from localhost ([127.0.0.1]:57798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH2IV-0007XD-DP for submit@debbugs.gnu.org; Thu, 28 Jul 2022 08:07:23 -0400 Received: from mail-ed1-f51.google.com ([209.85.208.51]:35595) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH2IQ-0007Ws-7G for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 08:07:22 -0400 Received: by mail-ed1-f51.google.com with SMTP id e15so1916840edj.2 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 05:07:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version:content-transfer-encoding; bh=lFid9CMjZv5RFjpdeCnBDcIhR4zfCLKZKkIKLY3Rguc=; b=fMfQPLjpmWzzNVUCnBAxlCDdqAt+vlQtM9gn0/IqgJKLjgOZoQFKt5WepZFZaAgwLI oMU0GK3bFe7bIs/FYwXXr4zD8HFHvVfH+oDQPg95EHNtkGUD8026XljstTwLoRDN61Pd DEsAqtsxpoz99ZlGgYVcqsvs9hQDMzb7VvCko9vi4dQvM98G6e4XQ/Gyx9ZlyC/Q5VN/ 47heer65gaMb9JogmqxJiWemUvHbIMp1uDvYtoN6+Oyr5M2dKoLpvl1IQmYJs3gT0oZH VIBAlrDE5kzaf3PTihN+hNzMoDgi4KC3XZkDIDOU49EEiRNB0rMFulsyRfsjJOOq0yyc hPIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version:content-transfer-encoding; bh=lFid9CMjZv5RFjpdeCnBDcIhR4zfCLKZKkIKLY3Rguc=; b=M/FphqlEgcMo3oGnHPXc8rSbP8DJg/5lZyJFOsSfwHwcDs8BDrUwc0B/D/Bd74WNWI Iaua1s0dm8/Tk42rdGfY+V0kW1mSBEcTXksxe09s0OaUbF0Ug0pVgyZjPf11RoaMFY7N bQg9Ji3f9oVCjkMLlBvzMx4SL11Sd6J41fhz8dgYnLpxXkHg+vrnMYDXBuolMtnz0Y7P 810634sChwI5EVBb1aDlFbxlwppmiaE1v2+8cuktbXWQ31Fq5MAiHwXYkGx5NI58+WAe wgyuzBQTjNJ9boK2C97l+8iTrtaitnoF1BbPY7zaZc7ov3ZQ29hyChK2U89okQ9dD2tO VGCA== X-Gm-Message-State: AJIora+6S19bQhYnvnv+zj+dqLyd2TMH0w+J/wSo2wrxWaPTcMeXHyhK n7WIiKGKa4cG3KK7oMmPhnxb7uJyqtI= X-Google-Smtp-Source: AGRyM1s/F9Me5BSZdrqZESoeQodFmKsbEtVloL2BFuJafKB9M9WgQ8fdH7Ig6zYspTP2UXTS/Eu/ZQ== X-Received: by 2002:a05:6402:4386:b0:43b:e989:25a1 with SMTP id o6-20020a056402438600b0043be98925a1mr21516916edc.283.1659010031639; Thu, 28 Jul 2022 05:07:11 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id d4-20020a170906304400b0072f9e7ce354sm346988ejd.139.2022.07.28.05.07.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 05:07:10 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: ("Gerd =?UTF-8?Q?M=C3=B6llmann?="'s message of "Thu, 28 Jul 2022 13:31:06 +0200") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> Date: Thu, 28 Jul 2022 14:07:09 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Gerd M=C3=B6llmann writes: > This is the font of the default face in both cases... And space-width seems to come from nsfont.m:2696, which I found with LSP/find references: glyph =3D macfont_get_glyph_for_character (font, ' '); if (glyph !=3D kCGFontIndexInvalid) font->space_width =3D macfont_glyph_extents (font, glyph, NULL, NULL, 0= ); else /* dirty workaround */ font->space_width =3D pixel_size; I don't think the else branch has been taken, because that wouldn't lead to a value of 8. Suspiciously, the last argument of macfont_glyph_extents is 0 (false), and the parameter is named force_integral_p. Hm, space_width is an integer? But, I'm afraid I'm out here. I don't understand these functions at all. BTW, a clear-font-cache didn't help, and yes, I don't know what it does :-). From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 13:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165901345111189 (code B ref 56808); Thu, 28 Jul 2022 13:05:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 13:04:11 +0000 Received: from localhost ([127.0.0.1]:57831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH3BT-0002uO-Bu for submit@debbugs.gnu.org; Thu, 28 Jul 2022 09:04:11 -0400 Received: from mail-ed1-f48.google.com ([209.85.208.48]:44757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH3BN-0002tk-PS for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 09:04:10 -0400 Received: by mail-ed1-f48.google.com with SMTP id i13so2068795edj.11 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 06:04:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version:content-transfer-encoding; bh=pKRN1so6jtfs8lGmzLXR8+PaE+gMNHJs05Bks3WHASg=; b=jw8k0ufLaiSb7Kaxorj6zpFr9YjzJ8O/bprLDo6r/lNUx57ALN1WKf5b7jq8JlNLlz 9vq6elUg9ilKfSvUXOL9mYqFL1/CReZRVGAun8m1dxOKqWNSFUtBPNk42JIwOBMFDhM6 ZHbv2lg8Ku6kj/YCxXqjh5hWmqocJ9mQ/lLTBk3+VwA++L9mXrDTmH7u7xHJdsyO+FEL dCHCd3pjxaOzye9H6+jgWrQjb1v/aomVXkaAVN6IFc7U+oDK8FFwjdBqpVMC1kQyY4kS YgKsVvB0a2Bao8Ixs4q2Qm6rQW/togIkRZd3BTI52eKevOYCXdIo1TKxxclX2g/K32bQ f64A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version:content-transfer-encoding; bh=pKRN1so6jtfs8lGmzLXR8+PaE+gMNHJs05Bks3WHASg=; b=ukGTvZcdNoHDVL2h89dY5Pujazp17f2j/aZ6eTlQWAIKcpKQoQmryl3z/Vj/D4JsTz uck5FiqqBQ/jWWZSqF1Rom0siiSfOaDHA+aktm4AdpSibp12LYC7uIhmcoffizoR6qZJ Onl4CHDjhoaXpZNvMG19WiZVwFwcOuM0jdY43A8JA80Vy0bNdU8yGLvznB+XwLXwNFKG 8fOHnNzQji8oGyg9gS4p5njeHHMTNMq7sHWNj0UZAq0/KvY22R/RAXGcqCbOJKvSO+yG wN0CLi5zvwOLhlBP71nLq3t+EPIFx91DtEtEZDmcuy3satYXcYZcP7DRdN0oN9ntvZo3 ZkMQ== X-Gm-Message-State: AJIora88hsgpGCgcfD8To4Ggoeel+5V/lJgknuhNRepmaJMY5gT53EYU 4jxUPcT40tNTgfh3akcOq3j563nJCEE= X-Google-Smtp-Source: AGRyM1t1Ea9FDi9yQQpiSH78g//71m30VBwmG1f7dzJFNT0n0lQi3fPS5hGxE+ud315Oj3NQP+Ncqg== X-Received: by 2002:a05:6402:13d6:b0:43c:b98f:5f74 with SMTP id a22-20020a05640213d600b0043cb98f5f74mr6949647edx.392.1659013439151; Thu, 28 Jul 2022 06:03:59 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id w7-20020aa7d287000000b0043bc19efc15sm648622edq.28.2022.07.28.06.03.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 06:03:58 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: ("Gerd =?UTF-8?Q?M=C3=B6llmann?="'s message of "Thu, 28 Jul 2022 14:07:09 +0200") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> Date: Thu, 28 Jul 2022 15:03:57 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Gerd M=C3=B6llmann writes: > BTW, a clear-font-cache didn't help, and yes, I don't know what it does > :-). Options -> Set Default Font to the same font, i.e. just pressing Ok on the font panel fixes things. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 13:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165901542414981 (code B ref 56808); Thu, 28 Jul 2022 13:38:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 13:37:04 +0000 Received: from localhost ([127.0.0.1]:57898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH3hI-0003tU-DK for submit@debbugs.gnu.org; Thu, 28 Jul 2022 09:37:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50300) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH3hC-0003sU-Vy for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 09:36:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49888) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oH3h7-0003uP-OM; Thu, 28 Jul 2022 09:36:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=VbrjeqQXCFB49+wwMumT+27FJWs5YxSPjHYRb+iHrA0=; b=US0FCvgoRZPmyEAg5AAr f+e1S2VcVEnEbh25HyKKLjLkr0amRDIGmvX5L/kdM2YmtYrhtJTx7I0wgEYQTIXaOlfuuA0i5RAjA QyMXwCtaMx6Vm3vJOZhiykKnoqeUXny/IGrWlUFCUPdaNEvPVUOdeMMwqmR8jIG3VazvO5RAQ0ugk jF2ubSUJHIzFLCdPlUPdOjzyRbT7ykrx5qII0d6YAEatbBwDFZEcYuqrmG2Y9jksNbX/LzbljFWnv lY3mRlY9Lq43rasu8xIxU4Ou6ly/NWH2V4p7bHm7+elfjNmzv1zzqSfpJZgoqL61s7Zg0EzTL23b2 /By2kH0TeVC3MQ==; Received: from [87.69.77.57] (port=3872 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oH3h7-0005LS-8K; Thu, 28 Jul 2022 09:36:53 -0400 Date: Thu, 28 Jul 2022 16:37:03 +0300 Message-Id: <83v8rh8ikg.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Thu, 28 Jul 2022 14:07:09 +0200) References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Gerd Möllmann > Cc: 56808@debbugs.gnu.org > Date: Thu, 28 Jul 2022 14:07:09 +0200 > > Gerd Möllmann writes: > > > This is the font of the default face in both cases... > > And space-width seems to come from nsfont.m:2696, which I found with > LSP/find references: M-? (a.k.a. xref-find-references) cannot find it? > glyph = macfont_get_glyph_for_character (font, ' '); > if (glyph != kCGFontIndexInvalid) > font->space_width = macfont_glyph_extents (font, glyph, NULL, NULL, 0); > else > /* dirty workaround */ > font->space_width = pixel_size; > > I don't think the else branch has been taken, because that wouldn't lead > to a value of 8. Maybe you should run with a watchpoint on font->space_width. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 15:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.16590207102239 (code B ref 56808); Thu, 28 Jul 2022 15:06:02 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 15:05:10 +0000 Received: from localhost ([127.0.0.1]:59271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH54X-0000a3-Sd for submit@debbugs.gnu.org; Thu, 28 Jul 2022 11:05:10 -0400 Received: from mail-ed1-f45.google.com ([209.85.208.45]:40693) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH54W-0000Zl-2T for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 11:05:08 -0400 Received: by mail-ed1-f45.google.com with SMTP id z15so2530708edc.7 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 08:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version; bh=v7+UTJGuFeCJM9ZtDUthNTWWkUfLfFEKuJRztDAoiQ4=; b=DkgUr2gULtWM7PUsKjjULWCZTnThWsCsZzrdVlKGw1VWgKxH4oNclcFf2puFXivlSY cD1bwDOuYYHHKs++o704LuKpdAWg/DLQPrrAZIxMmyR75islzvJLUgnG4pdI/BHgIOta /+nrzB24l/mPHLSmTxDCijRYJ3rlrE/FulM72pEFDcPfjQmHK0HUYfBEbTGp2ZYhkvDx NUp5OOxY9b+mYc9GEhadD4BXa55bUJAQx8OUAhrLmR5Qx0BQEK1keZWl7zCNk/mEGyzr b7oql02puVvlk+j1q0/Ioe+XK1Wt7bblVRsZrMOqXmeKulNh18+ZahqENRYTrTq/l3Zb Oksg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version; bh=v7+UTJGuFeCJM9ZtDUthNTWWkUfLfFEKuJRztDAoiQ4=; b=YqTA/rtepKyjG1CvkXQG/LsOndUtEyGpIhEFJee9iPlyVoZd5aY/Kdhw5L1sE3Yj4/ FJyRWpWRcHInCZ0sYujICI9x/lj/NksvyapjFxoUYsgwBs429Ml6x83xFKe80Hp5WKNX svuZm4obecJFt0tvS03jzFHi3Sty+er8BdMvBB7oJMUtRk1OoXOzGXogdwK+Hg40pICt VomWtjTRld+2z0rOWVaasM3ohpE01wzP7xBAsZ2oE3WPfxXstRkvsi9VwrUcr3RUkiqy MBiPZcIiVAmpU1czPXcEwWne6+VuesKB3zEJRaizIyCv1S18pvbke9Xh/lbBR35Ccrr0 /WUw== X-Gm-Message-State: AJIora80ZGMtEyIfSwi0GUpSyaKIx60smQAPPJ36kybODvWX2crBbXVH xZv7+GAIbE/M1gwm9AMzOgG5OAenH8c= X-Google-Smtp-Source: AGRyM1tYzyxd0z3+HW6+TpTRlqYQYg7XOiAGl4bNKDYLV/4tSVYq/ga+s/Jp0RtI9Bnb/Jty8aaFsw== X-Received: by 2002:a50:fb13:0:b0:43c:ef2b:d29 with SMTP id d19-20020a50fb13000000b0043cef2b0d29mr2687265edq.378.1659020701297; Thu, 28 Jul 2022 08:05:01 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id n8-20020a056402060800b0043cdbeebdabsm782657edv.74.2022.07.28.08.04.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 08:05:00 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <83v8rh8ikg.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 28 Jul 2022 16:37:03 +0300") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> Date: Thu, 28 Jul 2022 17:04:59 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > M-? (a.k.a. xref-find-references) cannot find it? No it doesn't. Apparently it doesn't use the lsp backend. Don't know if it should. > >> glyph = macfont_get_glyph_for_character (font, ' '); >> if (glyph != kCGFontIndexInvalid) >> font->space_width = macfont_glyph_extents (font, glyph, NULL, NULL, 0); >> else >> /* dirty workaround */ >> font->space_width = pixel_size; >> >> I don't think the else branch has been taken, because that wouldn't lead >> to a value of 8. > > Maybe you should run with a watchpoint on font->space_width. I suspect that it's really 8 at some point during startup, and that it isn't overwritten. The reason for this is that the two places above are the only ones assigning to space_width, which I trust clangd to know. Maybe I can verify that tomorrow. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 15:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.16590211753062 (code B ref 56808); Thu, 28 Jul 2022 15:13:01 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 15:12:55 +0000 Received: from localhost ([127.0.0.1]:59281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH5C3-0000nK-16 for submit@debbugs.gnu.org; Thu, 28 Jul 2022 11:12:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH5Bz-0000n4-DI for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 11:12:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51040) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oH5Bu-0005TL-4O; Thu, 28 Jul 2022 11:12:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=FPvZLVybk3n3v3nxTldyryp6esh/g0c0GKDFrABcJFU=; b=CZluFJp+dyWL/5cv4eUl x2bXMZp4EsGnyhAO7hOF24R7LGLywYfG69M6F3HYxnXcK4Kf0DyzNlOv2htKym+qT2cPZYQO+IJp6 pHNmT/kejN548ZjKBcVmp6R+CrUM8lErObTdrs87cspDNXNfuvdP4MG6dQedHm0dmDMZK1GkzbsXb fZohqGPuSi24G5GlrrwpyzJRZKyhqVyVeOC/4wblv48v5f7TFE0nEa2HQoYWcHmSxUx9sIM7kNIB4 2yxRLThnjI9ir6W0OsIgH2S/P9bmwPGSSuPOcppS4EVINg5a6d3CjX6AcKV1sObVOfQHNzf3G8Cuu l6bR31Aq+ozKpQ==; Received: from [87.69.77.57] (port=1981 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oH5Bs-0002sq-4D; Thu, 28 Jul 2022 11:12:45 -0400 Date: Thu, 28 Jul 2022 18:12:53 +0300 Message-Id: <83r1258e4q.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Thu, 28 Jul 2022 17:04:59 +0200) References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Gerd Möllmann > Cc: 56808@debbugs.gnu.org > Date: Thu, 28 Jul 2022 17:04:59 +0200 > > Eli Zaretskii writes: > > > M-? (a.k.a. xref-find-references) cannot find it? > > No it doesn't. Apparently it doesn't use the lsp backend. Don't know > if it should. It shouldn't, but why do you need LSP? xref-find-references has local alternatives for that, e.g. ID-Utils or Grep. > >> glyph = macfont_get_glyph_for_character (font, ' '); > >> if (glyph != kCGFontIndexInvalid) > >> font->space_width = macfont_glyph_extents (font, glyph, NULL, NULL, 0); > >> else > >> /* dirty workaround */ > >> font->space_width = pixel_size; > >> > >> I don't think the else branch has been taken, because that wouldn't lead > >> to a value of 8. > > > > Maybe you should run with a watchpoint on font->space_width. > > I suspect that it's really 8 at some point during startup, and that it > isn't overwritten. The reason for this is that the two places above are > the only ones assigning to space_width, which I trust clangd to know. Then how did you get 7 in the other image you posted? From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 28 Jul 2022 17:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165902841016245 (code B ref 56808); Thu, 28 Jul 2022 17:14:02 +0000 Received: (at 56808) by debbugs.gnu.org; 28 Jul 2022 17:13:30 +0000 Received: from localhost ([127.0.0.1]:59323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH74k-0004Dx-4j for submit@debbugs.gnu.org; Thu, 28 Jul 2022 13:13:30 -0400 Received: from mail-ej1-f47.google.com ([209.85.218.47]:36628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oH74g-0004Dg-Hp for 56808@debbugs.gnu.org; Thu, 28 Jul 2022 13:13:28 -0400 Received: by mail-ej1-f47.google.com with SMTP id mf4so4253329ejc.3 for <56808@debbugs.gnu.org>; Thu, 28 Jul 2022 10:13:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version:content-transfer-encoding; bh=5mqjPc59YfbS74JOZFw+xQsxbOztp4gUTiMu9DT8yRQ=; b=CEjQ6/dp5gJhORatD6kliRq+aEy04KFbb13yidNVL4P6W4JuFgvslewdHTavZz85q2 qTZSv4TQAEmsbXSHYkahAFzAmXLl9AjzGE2+Orrn8QzdKXLIZL7YNkLoXdb4xOC3Ox9U humU1ApoH70rUmxFbmorPxiKMp3JkwKdXEuQwMsIrQnL4a7DsgJdX5J7Y5DxmBPvMnIm AZmSl6eFmjdPPiVRFSCu9tUK3wQTUyXMcAVO+5i4zuYjMjIgT9z3tzTKepVJ9dtlQkxB 6iQxtTwiCXsQJuNxTdnGvu2YBjiEQeT4Wy8ch9jhrp8DBc+ghs1XtxGMGy9w+jgeuYTO nNxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version:content-transfer-encoding; bh=5mqjPc59YfbS74JOZFw+xQsxbOztp4gUTiMu9DT8yRQ=; b=k/joAgLWTvYAAZFl18ytCZsDE8zVlX7rIP0/Kx0h/Rzt0H3ue8w7URjJ1b6yt1xgRF t/lQy2MpZB+oMCqO4rC6zYcYJYdX4Zdp8OA1NV912u94rGhK8iSdgDoGHzh82Uka44YQ uyxR7jFihQSG2wmOL+9LT3fUZxCkDSAvYNDhN9lhYbW+LMz1n0sJMrkjTmkB+x1ec6jg +wKAFGZ7QYmB179b15jOUQxT+CI5BT5l6b436JkBhCoFJ5RuDl5QyZtsNdmsmWb7nDhC GpBTWkFCvDVxGcTF3EhMMpnE57XuzNRlhzAEpp3O4QJkpvJ26pph5PXA7u8x38lf/NGo VDhw== X-Gm-Message-State: AJIora/ZbyjtBuwtIMRjXftQBYxUhRqla57SMGS2bmgo+lQCKER4qemn 7ZFNMXoARTBPMhq76KIRT/8KMQYzTaI= X-Google-Smtp-Source: AGRyM1vn06YNlu6v3Czkiqn1+qG4Sm4P9CSTJ8f2nzdSGydDDgMA6uwVAR3S+EIg/lT5DeKnflhK7w== X-Received: by 2002:a17:907:3e29:b0:72f:84c2:fafc with SMTP id hp41-20020a1709073e2900b0072f84c2fafcmr21128007ejc.93.1659028398830; Thu, 28 Jul 2022 10:13:18 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id c18-20020a17090618b200b00722f069fd40sm607562ejf.159.2022.07.28.10.13.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Jul 2022 10:13:18 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <83r1258e4q.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 28 Jul 2022 18:12:53 +0300") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> Date: Thu, 28 Jul 2022 19:13:17 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > It shouldn't, but why do you need LSP? xref-find-references has local > alternatives for that, e.g. ID-Utils or Grep. Good idea. > >> I suspect that it's really 8 at some point during startup, and that it >> isn't overwritten. The reason for this is that the two places above are >> the only ones assigning to space_width, which I trust clangd to know. > > Then how did you get 7 in the other image you posted? That's the 42=E2=82=AC question. BTW, as I meanwhile realize, max-width is also set to 8. Max-width is computed a few lines below space-width. From reading the code, I'd say that is most likely when space-width has already been 8 there. Which leaves only a small window for overwriting. Or both have been overwritten. Many things are possible. ATM, it's just my gut telling me it's not overwritten. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Jul 2022 12:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165909798017158 (code B ref 56808); Fri, 29 Jul 2022 12:33:02 +0000 Received: (at 56808) by debbugs.gnu.org; 29 Jul 2022 12:33:00 +0000 Received: from localhost ([127.0.0.1]:60123 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHPAp-0004Sg-VL for submit@debbugs.gnu.org; Fri, 29 Jul 2022 08:33:00 -0400 Received: from mail-ed1-f43.google.com ([209.85.208.43]:40889) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHPAn-0004SR-Eb for 56808@debbugs.gnu.org; Fri, 29 Jul 2022 08:32:58 -0400 Received: by mail-ed1-f43.google.com with SMTP id z15so5632965edc.7 for <56808@debbugs.gnu.org>; Fri, 29 Jul 2022 05:32:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version:content-transfer-encoding; bh=9PM6UxrlBcuW/t353QBrBGG86lNC3oTr9F42EimIGss=; b=Q+4ViYEhRZBYLpety8P8IFJZfmIAmwWpkLl2xhwKeKATBczLzvyPTp9RMEMFg4EN3/ a/VW/e/AFb1CviZ97moTl86L41Ol9RHAbS4t+JdVKf2AR539Jdlhf7zbTFnx+K2GejXL htqZprsQIf5igmIWavN70M84GZT0NCC2El91no2kDGt9UKy6WGVBCnpe+nHSyjoGs5gy IH9hAsXqiMKDYmfjNiu9El7/jNbteNv3ABFb6ZehNS1H9+OR7RyceDR96BQ8owK33DhV vMA/HLLljnEEznrYPn3ySXYnOT44tu5g+alp9lkAIDkikOwbdmOJ3IOPNy0ASnl49Xb/ p2WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version:content-transfer-encoding; bh=9PM6UxrlBcuW/t353QBrBGG86lNC3oTr9F42EimIGss=; b=Uhr4rakUT//A+3JU1GwjKujozuo38OX6QShPsLGjw5DTCvoULt6RMulfbaXdVCX90e cjW1iwkWexULtmoDc9RDaSSMaamuzOLKsucoSmNg2YZVVG7KZedpb/Uqdwn2IlL1SIXY M69xdq3GNqILdfcwlxtN1IcLJSxnF28mBemeu1yI0irhWkJ08ZIEszdqr0AKsFVJ85TK fElkrrxisXqYjMD6veTDuKb0cXg2pvPJS35+5pVbQJrYjjnquqU9OQbUMVFlxu28jdTf e2UzVauopNVXWJ5TUzLko4WAmciQUHcsqIPSomv+aqIMLJ8KtWJiBtdl53hPYMSgvR0S 1v5g== X-Gm-Message-State: AJIora/YmvpTOMNz0thc3P1RQ9ft20Xlgfpe5/Omdl3N35kZ+WhWKdkf q7t9JVvMFvzkGNF8FNtizrpgtTfTWZs= X-Google-Smtp-Source: AGRyM1sdwN0drjuXrDqWNRKiVBE7wUFs3gVi+NhleG1W6wnttUheSvj94TbcQjAT2giQ9hI+4czxgw== X-Received: by 2002:aa7:cad3:0:b0:43c:e615:13e2 with SMTP id l19-20020aa7cad3000000b0043ce61513e2mr3251731edt.289.1659097970751; Fri, 29 Jul 2022 05:32:50 -0700 (PDT) Received: from Mini.fritz.box (pd9e36be4.dip0.t-ipconnect.de. [217.227.107.228]) by smtp.gmail.com with ESMTPSA id ck7-20020a170906c44700b0072b3406e9c2sm1652273ejb.95.2022.07.29.05.32.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Jul 2022 05:32:50 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: ("Gerd =?UTF-8?Q?M=C3=B6llmann?="'s message of "Thu, 28 Jul 2022 19:13:17 +0200") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> Date: Fri, 29 Jul 2022 14:32:49 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Gerd M=C3=B6llmann writes: >> Then how did you get 7 in the other image you posted? > > That's the 42=E2=82=AC question. I can answer that question now. Alas, I don't really have an idea how to fix this yet. Maybe someone reading this has an idea. The story starts in the macfont_open. This functions uses font_build_object to allocate a new struct font. But the allocation leaves part of the struct members uninitialized! The member space_width is among the uninitialized members. I can't say that I find that a good idea. Mistake 1, in my book. The function macfont_open uses font->space_width =3D macfont_glyph_extents (font, glyph, ...) to compute font->space_width. That would be a good idea, iff macfont_glyph_extents and/or subroutines wouldn't use font->space_width themselves. Specifically, in my case with Monaco 12, macfont_glyph_extents calls int multiplier =3D macfont_monospace_width_multiplier (font, fwidth); and macfont_monospace_width_multiplier uses font->space_width, with that still being some "random" value. The result of macfont_monospace_width_multiplier is therefore sometimes 0 (astonishingly often) and sometimes !=3D 0. Mistake 2. When the result is not 0, macfont_glyph_extents does its own thing with the unitialized font->space_width. Mistake 3. And so on. I stopped debugging here. Mabe I should initialize font->space_width to -3. With -2, it always fails. ;-). =20=20 From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Alexander Adolf Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Jul 2022 13:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii , Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165910068221946 (code B ref 56808); Fri, 29 Jul 2022 13:19:01 +0000 Received: (at 56808) by debbugs.gnu.org; 29 Jul 2022 13:18:02 +0000 Received: from localhost ([127.0.0.1]:60151 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHPsQ-0005hj-9B for submit@debbugs.gnu.org; Fri, 29 Jul 2022 09:18:02 -0400 Received: from smtprelay03.ispgateway.de ([80.67.18.15]:30397) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHPsN-0005hT-B2 for 56808@debbugs.gnu.org; Fri, 29 Jul 2022 09:18:00 -0400 Received: from [46.244.215.15] (helo=condition-alpha.com) by smtprelay03.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oHPsq-0002bX-8y; Fri, 29 Jul 2022 15:18:28 +0200 Message-Id: From: Alexander Adolf In-Reply-To: <83r125ai2n.fsf@gnu.org> References: <83r125ai2n.fsf@gnu.org> Date: Fri, 29 Jul 2022 15:17:54 +0200 MIME-Version: 1.0 Content-Type: text/plain X-Df-Sender: YWxleGFuZGVyLmFkb2xmQGNvbmRpdGlvbi1hbHBoYS5jb20= X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello Eli, I'm on a Mac, too, and can confirm Gerd's observations. Eli Zaretskii writes: > [...] > Are there any :align-to display properties involved in this? > ("C-x =" could help you find out.) I've done "C-u C-x =" across different locations in the indentation until my fingers started aching, but no traces of :align-to display properties, or anything else that seemed suspicious to me. It always showed the expected font choice and size, i.e. all glyphs were reported to be of the same size. > Can you run this under a debugger and show the display elements in the > offending glyph_row? The easiest way of doing that with GDB is like > this: > [...] Under lldb, most things show up as opaque Lisp_Object, i.e. can't drill any deeper into those. I hence fail to figure out which buffer I'm looking at when the breakpoint in set_cursor_from_row triggers. Lldb does seem to find type information about the glyph_row though. Anything in the row I should be looking out for? FWIW, here are a few examples of gdb vs. lldb commands: https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-command-examples.html#//apple_ref/doc/uid/TP40012917-CH3-SW1 Hoping to have helped, --alexander From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: YAMAMOTO Mitsuharu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Jul 2022 13:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: Eli Zaretskii , 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165910276426028 (code B ref 56808); Fri, 29 Jul 2022 13:53:02 +0000 Received: (at 56808) by debbugs.gnu.org; 29 Jul 2022 13:52:44 +0000 Received: from localhost ([127.0.0.1]:60254 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHQPz-0006lk-Q4 for submit@debbugs.gnu.org; Fri, 29 Jul 2022 09:52:44 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:54294) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHQPy-0006la-4D for 56808@debbugs.gnu.org; Fri, 29 Jul 2022 09:52:42 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 572E4F08E4; Fri, 29 Jul 2022 22:52:40 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Fri, 29 Jul 2022 22:52:40 +0900 Message-ID: From: YAMAMOTO Mitsuharu In-Reply-To: References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) On Fri, 29 Jul 2022 21:32:49 +0900, Gerd M=F6llmann wrote: >=20 > Mabe I should initialize font->space_width to -3. With -2, it always > fails. ;-). Does initializing font->space_width to 0 work for you? https://bitbucket.org/mituharu/emacs-mac/commits/e6ac23317106690fcfe2377a3d= 71878f2654c0e3 Maybe I forgot to include the above part when I incorporated the "monospace width multiplier" code from the Mac port at the commit fdba95d2f8cc557b9b214c21f54bc8467900c763. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Jul 2022 14:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Alexander Adolf Cc: Eli Zaretskii , 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165910434230155 (code B ref 56808); Fri, 29 Jul 2022 14:20:01 +0000 Received: (at 56808) by debbugs.gnu.org; 29 Jul 2022 14:19:02 +0000 Received: from localhost ([127.0.0.1]:33163 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHQpR-0007qJ-V4 for submit@debbugs.gnu.org; Fri, 29 Jul 2022 10:19:02 -0400 Received: from mail-ej1-f53.google.com ([209.85.218.53]:35718) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHQpN-0007pj-LF for 56808@debbugs.gnu.org; Fri, 29 Jul 2022 10:19:00 -0400 Received: by mail-ej1-f53.google.com with SMTP id j22so8811634ejs.2 for <56808@debbugs.gnu.org>; Fri, 29 Jul 2022 07:18:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version; bh=4oKZl+Bsdjvm2zIyKJB+UssoR3CEHq5ncRGgdvwMrSk=; b=LFja394M+LAA6Be+j0tllIeepNkq8rVejLOsPEPDZTOucW3qVbSD3BhSfVBgSky2If pelCOSwhbcwOG7AKuKBgQpI0fuaOijaRri3N5wnvpvwBQZWIrL4+6lJ8F7dG/6eHM/1I dBhe6gZmlGjlM5sqGvKMuADPOy6mrY905qvgkveJDzYx/vw93IXsPeccXL8To1g6607F tRRP1dqIBjoGwM3kel3Cr96n50x5BKgJnMzusL6LxB3lXhPtolo5+Q6NMkkTC6NOLpAg I2zcHE/TBvxAPuDGoGXSKuDS4kmEkkV4TlZ70hQHkK+yyldS3lhOuvhkmUdtSvfBEaiL 16mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version; bh=4oKZl+Bsdjvm2zIyKJB+UssoR3CEHq5ncRGgdvwMrSk=; b=qe9yTTSgXL7/CAq1Tyt9pvftMKYXxZBfgQd5kJcp1gJ+8wI57R0XCZfonwFycoBnZI UPHk2RRPjNmjOqMF2KeznlC3G4sRvqeygMlyw+cuo4VvoIFCq8YP//TITQeEFeY8hSoJ u7B8cdm6XILz3YqMWRsS5YLX3Ri5zO/V3Ke6mG6w4+pcnnwzrejwp3wLc/UBZj2iUCS7 1u/LnAD4HIFuHLeR8ArrnqH6JN3ra6fg9nAmnFZmhFVb9efiT/XpUH3E/dumszBM3Dcq O2gme0k64iiVJHte/b9BYiRRJEG+FYTtHmtGRYW7GYeCVar8YtjVouNxa6tKf2VeSZI3 48LA== X-Gm-Message-State: AJIora/+lqeQ16T2Zm2SNNb6BER6rtsfJR9DrIxVWtzIxVEDpYBSdDBn 3/XBVdg80mPBZzfhYIO9r7IYNPdg4Rw= X-Google-Smtp-Source: AGRyM1tAGi3BsPOxEx+G2+4SY+TUyZepyPGyTCtxfHxqjgg3Jmkj0NVQ6KIXUD9ZQbljLTMCQlwhNA== X-Received: by 2002:a17:906:846d:b0:72f:3901:de1c with SMTP id hx13-20020a170906846d00b0072f3901de1cmr3066331ejc.199.1659104330964; Fri, 29 Jul 2022 07:18:50 -0700 (PDT) Received: from Mini.fritz.box (pd9e36be4.dip0.t-ipconnect.de. [217.227.107.228]) by smtp.gmail.com with ESMTPSA id yw17-20020a170907245100b00722fadc4279sm1727587ejb.124.2022.07.29.07.18.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Jul 2022 07:18:50 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: (Alexander Adolf's message of "Fri, 29 Jul 2022 15:17:54 +0200") References: <83r125ai2n.fsf@gnu.org> Date: Fri, 29 Jul 2022 16:18:49 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alexander Adolf writes: > Under lldb, most things show up as opaque Lisp_Object, i.e. can't drill > any deeper into those. If you are using Emacs from Git master, you can find an src/.llddbinit and etc/emacs_lldb.py there. This makes things a little bit better, but of course it is no replacement for all the goodies in .gdbinit. But you don't have to debug anymore. I guess we found the cause. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Jul 2022 14:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: YAMAMOTO Mitsuharu Cc: Eli Zaretskii , 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165910513731645 (code B ref 56808); Fri, 29 Jul 2022 14:33:02 +0000 Received: (at 56808) by debbugs.gnu.org; 29 Jul 2022 14:32:17 +0000 Received: from localhost ([127.0.0.1]:33184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHR2H-0008EL-4e for submit@debbugs.gnu.org; Fri, 29 Jul 2022 10:32:17 -0400 Received: from mail-ej1-f54.google.com ([209.85.218.54]:34612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHR2C-0008E2-0o for 56808@debbugs.gnu.org; Fri, 29 Jul 2022 10:32:16 -0400 Received: by mail-ej1-f54.google.com with SMTP id oy13so8873065ejb.1 for <56808@debbugs.gnu.org>; Fri, 29 Jul 2022 07:32:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version:content-transfer-encoding; bh=xnL0MDw1uBN70mzREqLN5L+vhum4f8luRcIp+O8L3ws=; b=loUP/x70wLfIXdYCpQFlm2LNh8ZLwTZcZY2L0Yxee4eAtHX3wK8iDlJ1FuQqyTRXz6 Jk1wglXQY34SwQMnBfi09HKliXsyqRYKke38JT/dNGGL2QuRAYj/Sf1LZ455jV4KMiYh pEnCLMJJnyiM6uwp+3wsv0zvDBkq+s3lpFML2mpAGkHlp5EH+G4p4kikOEKdLCYIDe6T HmBdgI4k0JHKD86u6o9uaMA+MQ1iZiJD+bxADkzT+5CQpITckMA81TRvcI+kS9Sx1ovL Yv1wJgJ6C84plIVWHsVNVZsvUV/x4KKR+sl0preS1U4Ds2sj9TH2cAP+D1JC+6UZopIY DkLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version:content-transfer-encoding; bh=xnL0MDw1uBN70mzREqLN5L+vhum4f8luRcIp+O8L3ws=; b=5xhsFtDxToefefD+sf+vswykd/SsJKHEn570cs8HW8crv16gpmyaARly2pflg9Ii65 +Mp7WCNw3tv28Mh3Yu4uWgC0T3nlQh10i4C6t7qUDjuI48OlX5XmDmcRM681YI4ShI7T i0nHSZrJ9xJdpq5JMs9ax66/lwwYkPzhreFMnzZYSmiXoe1fx8lyDb6+TRH2+Y/vX1Zv q4dCWtBGUvAfpB+4UH0092GAzfuSOfUStbFCS7PuR/WyQxPYe5PugS2fkPekxMWO6Zbp WwV9Bfwfy2aXmfuc9VdxBT5Tl8Apq/MwAPAdWflNF4ZBQ56BZ0haQWCfBb9uaE4PO8Wy KEtw== X-Gm-Message-State: AJIora+zQgOzIXbDj20jnrF0b9BH6j92QP39Db10qXQPCe1JjouztI68 KOv63gT3Akq4LUNqu+YUdn4ryf+PshM= X-Google-Smtp-Source: AGRyM1vm+ftplkiZKdHrklSXQcj3HOwsRe2NunVCHPAOo3HAH9FE4IQawBwHhFdQbrP57GR4yWopGQ== X-Received: by 2002:a17:907:3e86:b0:6f5:917:10cc with SMTP id hs6-20020a1709073e8600b006f5091710ccmr3144349ejc.53.1659105125340; Fri, 29 Jul 2022 07:32:05 -0700 (PDT) Received: from Mini.fritz.box (pd9e36be4.dip0.t-ipconnect.de. [217.227.107.228]) by smtp.gmail.com with ESMTPSA id kw11-20020a170907770b00b0072b41776dd1sm1793869ejc.24.2022.07.29.07.32.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Jul 2022 07:32:04 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: (YAMAMOTO Mitsuharu's message of "Fri, 29 Jul 2022 22:52:40 +0900") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> Date: Fri, 29 Jul 2022 16:32:03 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) YAMAMOTO Mitsuharu writes: > On Fri, 29 Jul 2022 21:32:49 +0900, > Gerd M=C3=B6llmann wrote: >>=20 >> Mabe I should initialize font->space_width to -3. With -2, it always >> fails. ;-). > > Does initializing font->space_width to 0 work for you? Yes it works. Thanks! Can we be sure that other uses of space_width don't run into problems? For instance: case MACFONT_SPACING_MONO: if (cache->width_frac) bounds.origin.x +=3D - ((cache->width_frac / (CGFloat) (WIDTH_FRAC_SCALE * 2)) * (cache->width_int / font->space_width)); break; That would be an integer division by 0. And it's a bit strange because of the integer division in a float expression... I know you didn't change that. I'm just trying to get the maximum out of having an expert on the line ;-). From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: YAMAMOTO Mitsuharu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 30 Jul 2022 07:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: Eli Zaretskii , 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165916739417273 (code B ref 56808); Sat, 30 Jul 2022 07:50:02 +0000 Received: (at 56808) by debbugs.gnu.org; 30 Jul 2022 07:49:54 +0000 Received: from localhost ([127.0.0.1]:33945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhEP-0004UX-Nc for submit@debbugs.gnu.org; Sat, 30 Jul 2022 03:49:53 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:53776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhEM-0004UK-JN for 56808@debbugs.gnu.org; Sat, 30 Jul 2022 03:49:52 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id EA89EF08E4; Sat, 30 Jul 2022 16:49:46 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Sat, 30 Jul 2022 16:49:46 +0900 Message-ID: From: YAMAMOTO Mitsuharu In-Reply-To: References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?Q?Goj=C5=8D?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Fri, 29 Jul 2022 23:32:03 +0900, Gerd M=F6llmann wrote: >=20 > YAMAMOTO Mitsuharu writes: >=20 > > Does initializing font->space_width to 0 work for you? >=20 > Yes it works. Thanks! Thanks for checking. Eli, is it OK to install the following change to the emacs-28 branch? diff --git a/src/macfont.m b/src/macfont.m index dfdd9bc6ba..eec1707c3c 100644 --- a/src/macfont.m +++ b/src/macfont.m @@ -2651,6 +2651,9 @@ So we use CTFontDescriptorCreateMatchingFontDescripto= r (no font->pixel_size =3D size; font->driver =3D &macfont_driver; font->encoding_charset =3D font->repertory_charset =3D -1; + /* Clear font->space_width so macfont_monospace_width_multiplier may + not be confused by an uninitialized value. */ + font->space_width =3D 0; =20 block_input (); =20 > Can we be sure that other uses of space_width don't run into problems? > For instance: >=20 > case MACFONT_SPACING_MONO: > if (cache->width_frac) > bounds.origin.x +=3D - ((cache->width_frac > / (CGFloat) (WIDTH_FRAC_SCALE * 2)) > * (cache->width_int / font->space_width)); > break; >=20 > That would be an integer division by 0. And it's a bit strange because > of the integer division in a float expression... This part is inside `if (metrics) ...' where `metrics' is the third arg of macfont_glyph_extents, so it is not executed in the following call in macfont_open: font->space_width =3D macfont_glyph_extents (font, glyph, NULL, NULL, 0= ); The reason for the integer division is that cache->width_int has already been adjusted to a multiple of font->space_width if macfont_info->spacing =3D=3D MACFONT_SPACING_MONO and cache->width_frac != =3D 0. if (macfont_info->spacing =3D=3D MACFONT_SPACING_MONO) { /* Some monospace fonts for programming languages contain wider ligature glyphs consisting of multiple characters. For such glyphs, simply rounding the combined fractional width to an integer can result in a value that is not a multiple of the (rounded) font width. */ int multiplier =3D macfont_monospace_width_multiplier (font, fwidth); if (multiplier) { cache->width_int =3D font->space_width * multiplier; cache->width_frac =3D lround ((fwidth / multiplier - font->space_width) * WIDTH_FRAC_SCALE); } else { cache->width_int =3D lround (fwidth); cache->width_frac =3D 0; } } YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 30 Jul 2022 07:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: YAMAMOTO Mitsuharu Cc: Eli Zaretskii , 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165916770517783 (code B ref 56808); Sat, 30 Jul 2022 07:56:02 +0000 Received: (at 56808) by debbugs.gnu.org; 30 Jul 2022 07:55:05 +0000 Received: from localhost ([127.0.0.1]:33949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhJR-0004cj-Eu for submit@debbugs.gnu.org; Sat, 30 Jul 2022 03:55:05 -0400 Received: from mail-ej1-f44.google.com ([209.85.218.44]:45823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhJO-0004c7-Jy for 56808@debbugs.gnu.org; Sat, 30 Jul 2022 03:55:03 -0400 Received: by mail-ej1-f44.google.com with SMTP id fy29so11921682ejc.12 for <56808@debbugs.gnu.org>; Sat, 30 Jul 2022 00:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :user-agent:mime-version; bh=liNVizD+HFl4cOz9S4c4AAAHd+HwHxpqlppfXOzu9jU=; b=qBwW6FRwhw+Jrre4UYqPeMIDtD+z13sCsmVSuA9uUk9oU/7VTz81BbDKK1kgqZRaYB FnmM6HsItS7ntG79G3mIvD9V+aRzsmYI6lmJbTK/upRp2yfozzkb3FBxkeklcgNLIix+ gdkiL56zJXf8T6sh6OFweLtCxYk0woR9tfshG/2lUrQRHSK+S2oBJb2Iq2J4gyJFIdZ0 T/Djp5DCMv7pmdvpTH3nHlY/4U3Lquy2b9fY3NMIBGDlpYLDjTh+NZAlZW0VuGxwyQxg lXCIxyGinjZRBiPRs1IzK3I+1zwv9zZ2fFF9xsjkRZRYFaLbIbEUpP0AyaPVqy3kP6CI OIBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:user-agent:mime-version; bh=liNVizD+HFl4cOz9S4c4AAAHd+HwHxpqlppfXOzu9jU=; b=mRjXcJKE63OuK+7I2g4nfwdiHvXHGFdywk/xrRwfSeGdGLNfZVKaxIZ5prgtqsFN23 1UNwVkh3gTHzCAyIC1ctK08e42yp9rXXrG94XsA+q8hUNoGfEazJWo6VNZ8+5Wmqa9MN pMpBywI4EzW5p+4j6yf3J2s9149G4E3Oyd9Fw7oMoyJOSKzpjK8nPpXrapzkLhHaPxhT RXUbVS3l+toCxc/mtp9en7D6DP4Hc2sL9TrDyonwV7sqIgn+hhpUii9//Gtr4Ha3DIMz LB0+4gKj5g5XPKeX6lWn/WglbwadgEesEWF8z+1kusx+s+zEnyQ/I7qVorum7csy/Btj 77+A== X-Gm-Message-State: AJIora90/g/C1y5uWlWjjuZoigfLDbuyO3QmYfO5lRUMeqclYSPGO1GO nwvZztzTLgsnELsikEdAy/12J8U+ywwk3A== X-Google-Smtp-Source: AGRyM1uVlsmkdCXHBzaiXdPkwKnLza+DJYfG1xGuiNybNve+262bWKr/ExpFS7vkKS+DWofiY4VzTA== X-Received: by 2002:a17:906:8a63:b0:72b:3796:9d0b with SMTP id hy3-20020a1709068a6300b0072b37969d0bmr5219169ejc.573.1659167696241; Sat, 30 Jul 2022 00:54:56 -0700 (PDT) Received: from Mini.fritz.box (p4fe3a870.dip0.t-ipconnect.de. [79.227.168.112]) by smtp.gmail.com with ESMTPSA id uz7-20020a170907118700b00715a02874acsm2612742ejb.35.2022.07.30.00.54.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 Jul 2022 00:54:55 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: (YAMAMOTO Mitsuharu's message of "Sat, 30 Jul 2022 16:49:46 +0900") References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> Date: Sat, 30 Jul 2022 09:54:54 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) YAMAMOTO Mitsuharu writes: > > font->space_width = macfont_glyph_extents (font, glyph, NULL, NULL, 0); > > The reason for the integer division is that cache->width_int has > already been adjusted to a multiple of font->space_width if > macfont_info->spacing == MACFONT_SPACING_MONO and cache->width_frac != > 0. Thanks for your explanation. From unknown Mon Aug 18 22:12:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#56808: 29.0.50; Elusive display problem on macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 30 Jul 2022 08:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56808 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: YAMAMOTO Mitsuharu Cc: gerd.moellmann@gmail.com, 56808@debbugs.gnu.org Received: via spool by 56808-submit@debbugs.gnu.org id=B56808.165916884119791 (code B ref 56808); Sat, 30 Jul 2022 08:14:02 +0000 Received: (at 56808) by debbugs.gnu.org; 30 Jul 2022 08:14:01 +0000 Received: from localhost ([127.0.0.1]:33975 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhbl-000599-6y for submit@debbugs.gnu.org; Sat, 30 Jul 2022 04:14:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhbj-00058x-AG for 56808@debbugs.gnu.org; Sat, 30 Jul 2022 04:13:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33064) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oHhbe-0007dD-3Z; Sat, 30 Jul 2022 04:13:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=hXw4Ga3rYQoHlh2mclU6qqN+c6HyVac002+82o1hr7g=; b=PX4M9Xe3W8hCzEBZb62Q q0BScWuzwukXkBmLXphb29gY2QS++ixWo1Q5aC+x7J3WAofbqwHT3/2WhCWD/C9cOwTbNqh4qkTuh xRVvfSPMTZSCgTZGzu86UTLkhjfIhUtgyJC2wyvAiWinZLlpE2MMbhPQartiIZfW8Ge0tWgryTtw7 yKvSkkaBkYDSZpNb3Wslkb8oWXGiSF9AmpZzc45pkCBYMPVXFYGvjg2FFJY2BjhaZezakA58cJYuF /NXTffzVkbgk+OOoCHeqcgAqH54+CsUm73ucoVsqMycIkcUgeIWZ7spAoHijlSjEX8RTMPkCl6ezM R2+70jSHJrK1Lg==; Received: from [87.69.77.57] (port=1793 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oHhbd-0004Vq-Iz; Sat, 30 Jul 2022 04:13:53 -0400 Date: Sat, 30 Jul 2022 11:13:49 +0300 Message-Id: <83tu6z5876.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from YAMAMOTO Mitsuharu on Sat, 30 Jul 2022 16:49:46 +0900) References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 30 Jul 2022 16:49:46 +0900 > From: YAMAMOTO Mitsuharu > Cc: Eli Zaretskii , > 56808@debbugs.gnu.org > > On Fri, 29 Jul 2022 23:32:03 +0900, > Gerd Möllmann wrote: > > > > YAMAMOTO Mitsuharu writes: > > > > > Does initializing font->space_width to 0 work for you? > > > > Yes it works. Thanks! > > Thanks for checking. Eli, is it OK to install the following change to > the emacs-28 branch? Yes, thanks. From unknown Mon Aug 18 22:12:00 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Subject: bug#56808: closed (Re: bug#56808: 29.0.50; Elusive display problem on macOS) Message-ID: References: X-Gnu-PR-Message: they-closed 56808 X-Gnu-PR-Package: emacs Reply-To: 56808@debbugs.gnu.org Date: Sat, 30 Jul 2022 08:29:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1659169742-29649-1" This is a multi-part message in MIME format... ------------=_1659169742-29649-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #56808: 29.0.50; Elusive display problem on macOS which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 56808@debbugs.gnu.org. --=20 56808: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D56808 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1659169742-29649-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 56808-done) by debbugs.gnu.org; 30 Jul 2022 08:28:42 +0000 Received: from localhost ([127.0.0.1]:34004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhpy-0007hS-Fe for submit@debbugs.gnu.org; Sat, 30 Jul 2022 04:28:42 -0400 Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:53755) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oHhpu-0007hF-Ea for 56808-done@debbugs.gnu.org; Sat, 30 Jul 2022 04:28:41 -0400 Received: from mathent.math.s.chiba-u.ac.jp (mathent [192.168.32.5]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id CB46FF08E4; Sat, 30 Jul 2022 17:28:35 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) Date: Sat, 30 Jul 2022 17:28:35 +0900 Message-ID: From: YAMAMOTO Mitsuharu To: Eli Zaretskii Subject: Re: bug#56808: 29.0.50; Elusive display problem on macOS In-Reply-To: <83tu6z5876.fsf@gnu.org> References: <83r125ai2n.fsf@gnu.org> <83czdpacoi.fsf@gnu.org> <83v8rh8ikg.fsf@gnu.org> <83r1258e4q.fsf@gnu.org> <83tu6z5876.fsf@gnu.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) Organization: Faculty of Science, Chiba University MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 56808-done Cc: gerd.moellmann@gmail.com, 56808-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sat, 30 Jul 2022 17:13:49 +0900, Eli Zaretskii wrote: >=20 > > Date: Sat, 30 Jul 2022 16:49:46 +0900 > > From: YAMAMOTO Mitsuharu > > Cc: Eli Zaretskii , > > 56808@debbugs.gnu.org > >=20 > > On Fri, 29 Jul 2022 23:32:03 +0900, > > Gerd M=F6llmann wrote: > > >=20 > > > YAMAMOTO Mitsuharu writes: > > >=20 > > > > Does initializing font->space_width to 0 work for you? > > >=20 > > > Yes it works. Thanks! > >=20 > > Thanks for checking. Eli, is it OK to install the following change to > > the emacs-28 branch? >=20 > Yes, thanks. Installed as commit c95a34c960. Closing. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ------------=_1659169742-29649-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 28 Jul 2022 05:09:44 +0000 Received: from localhost ([127.0.0.1]:57376 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGvmJ-0007Sx-UL for submit@debbugs.gnu.org; Thu, 28 Jul 2022 01:09:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:42106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oGvmI-0007Sn-9S for submit@debbugs.gnu.org; Thu, 28 Jul 2022 01:09:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41634) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGvmH-0004hU-UV for bug-gnu-emacs@gnu.org; Thu, 28 Jul 2022 01:09:42 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:33390) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oGvmF-00051q-QX for bug-gnu-emacs@gnu.org; Thu, 28 Jul 2022 01:09:41 -0400 Received: by mail-ed1-x52f.google.com with SMTP id o13so837622edc.0 for ; Wed, 27 Jul 2022 22:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version; bh=74T47cyltQD+uE/EXM7hq10o1EuEkBzGsSiU2pL7Nk0=; b=phc6MWFHgSgE8FXe6uS06AdGACyzzij14aTiv5D0ATcRGfz2cxP/bEnxov2V0jAY48 GmKpkFh/g8m9D/vxHYolmX8MrEKsODMIM8Y5lMWscVng/nZaL3meO6sbk/3XVWbupQ2N stuEvJ/Btb+tSENVq8DOQzQfbp2CX1lqqSrN8ldu8gi/b7QsE1Oo6VoqE22Hk5Bj0WO1 3xGV15oah2MASJ26Bu5u1e96v33I+OyRT31DJwk3wDs0QcbH7VNXixoZ99UtCMBjaA+f cGfpFrIRtIwqWKH04afOXYqiYklP7JeYYfWY2CmP0C6CWhmEcskM21d4EFhl13x3CwbI hVhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=74T47cyltQD+uE/EXM7hq10o1EuEkBzGsSiU2pL7Nk0=; b=TeV2QhhBZAf4YOd0WEJFTcD3cnBbGsACgDPcOnOxJ/rcNZiCv4szb9zr+QFmofgwjK JRgEZMAhiwP5oAiVLTygX6+0bFI4AA0DRvaxMmA69wgv4KP8mZ1sSbfoXVb2zB6RJ7WK Ev+DWXJy7gOSeczTftYs8ihuMp6dpHLd/IgwhRVHA6RAvCdtRKCU7maMEhKtFD3i3JkA meuBPE6iJlOlDTKbpDOKES4b/3IP83+LeeNbGstARX7eoxn6lszt0bv5Mi2SOI71Fkkc JcWFv2BK3S9l5F/LNr68Fj4XP2NDrSgPRa8nolJkdrirad4BZk/bKm785co69KBhA3YA +pPA== X-Gm-Message-State: AJIora8LaQLLPzzAXygpCUH1hXgn/wUVpPT3Z1bydm+0CAzhKiKk/u4S Hkqao4y9wXU409UinKgWkxCtfKKbYxw= X-Google-Smtp-Source: AGRyM1tNFbbdF/6N5KFZcky5buhVrtdzeHWw8twHjw/oOfjRHsUADy257Aw5EmdFccYb9w1jo2Oxdw== X-Received: by 2002:a05:6402:1159:b0:43b:bc82:5ddb with SMTP id g25-20020a056402115900b0043bbc825ddbmr25422813edw.355.1658984977427; Wed, 27 Jul 2022 22:09:37 -0700 (PDT) Received: from Mini.fritz.box (pd9e3686c.dip0.t-ipconnect.de. [217.227.104.108]) by smtp.gmail.com with ESMTPSA id ku8-20020a170907788800b007262a5e2204sm8306365ejc.153.2022.07.27.22.09.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Jul 2022 22:09:36 -0700 (PDT) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= To: bug-gnu-emacs@gnu.org Subject: 29.0.50; Elusive display problem on macOS Date: Thu, 28 Jul 2022 07:09:34 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=gerd.moellmann@gmail.com; helo=mail-ed1-x52f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) In GNU Emacs 29.0.50 (build 6, aarch64-apple-darwin21.5.0, NS appkit-2113.60 Version 12.5 (Build 21G72)) of 2022-07-27 built on Mini.fritz.box Repository revision: de863f70aa905d3a7feaedb58b65bd7f9776853b Repository branch: master Windowing system distributor 'Apple', version 10.3.2113 System Description: macOS 12.5 I am meeing a display problem on macOS. I am looking at code like this: (dap-register-debug-template (list :name "LLDB Emacs" :type "lldb-vscode" When the problem happens, the display looks like (dap-register-debug-template (list :name "LLDB Emacs" :type "lldb-vscode" I.e. :name and :type don't align anymore. I haven't been able to find the cause of this, or even been able to make it reproducible. Observations I made so far - The problem might somehow depend on something happening at startup. When the problem happens after startup, it sticks. When the problem does not happens, it also remains that way. - The problem occurs like every 20th Emacs start. Maybe it's even less frequent. - I've not been able to reproduce this with -Q. - The indentation of the :type line above consists of spaces only, which I mention because there was a recent commit involving stretch glyphs on macOS. TABs are not present in that line. - The spaces of the indentation all have default face. - The mis-indentation increases with the depth of indentation. It's not a constant offset. - Curiously, it looks to me like the end position of the indentation lines up with character boundaries on the line above, but I can't see the individual pixels here, so that may be wrong. - Font is Monaco 12. - Theme is modus-operandi. - I can't say 100% sure but I might have seen that already last week? I was looking at a multi-line C function call, where the second line of arguments wasn't aligned under the ( of the function call. ISTR wondering slightly why some functions were consistently aligned in a strange way. Someone else seeing this, who has another observation to share? Maybe the same happening with a different font? ------------=_1659169742-29649-1--