From unknown Sat Sep 20 11:29:54 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#44320 <44320@debbugs.gnu.org> To: bug#44320 <44320@debbugs.gnu.org> Subject: Status: [PATH] [27.1] Make sure send-string-to-terminal send all contents Reply-To: bug#44320 <44320@debbugs.gnu.org> Date: Sat, 20 Sep 2025 18:29:54 +0000 retitle 44320 [PATH] [27.1] Make sure send-string-to-terminal send all cont= ents reassign 44320 emacs submitter 44320 Lin Sun severity 44320 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 29 19:02:10 2020 Received: (at submit) by debbugs.gnu.org; 29 Oct 2020 23:02:10 +0000 Received: from localhost ([127.0.0.1]:55267 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYGvp-00009e-Uj for submit@debbugs.gnu.org; Thu, 29 Oct 2020 19:02:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:60056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYGvn-00009W-R8 for submit@debbugs.gnu.org; Thu, 29 Oct 2020 19:02:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53146) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kYGvn-00063Q-IA for bug-gnu-emacs@gnu.org; Thu, 29 Oct 2020 19:02:07 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]:35599) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kYGvk-0005Or-5U for bug-gnu-emacs@gnu.org; Thu, 29 Oct 2020 19:02:06 -0400 Received: by mail-pf1-x431.google.com with SMTP id b3so3654435pfo.2 for ; Thu, 29 Oct 2020 16:02:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=message-id:mime-version:date:from:subject:thread-topic:to; bh=QqXSyv24YgK/iFH920nH95Jlmk+6yNgU32Mioc/xFPo=; b=ByunrVMPf+a7XfpaNV96AzCWulF+zjTjjEgFCgyPFUGRKckXcZQh2HMB1OQS1nH1xi 79VhtyvujHo0PQzwExbPA5WNFsqbmS95WzuLhJKZ6vg8Z/LymiubnLDCqDjHm47AxKMk lHYYiOvY4XuRMtsQJoRxVuDk0o08XZX1v5E3A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:mime-version:date:from:subject :thread-topic:to; bh=QqXSyv24YgK/iFH920nH95Jlmk+6yNgU32Mioc/xFPo=; b=icssrCn7Eq29mEk3r2gAM8D3Sbgs9t6NlngmSe5zWEN5BBb9BaVOkpvh2PCWM6TPho 0j4r5JVnfqxunuO36aYJYO3Tr6P31xKZv1Kqfnq4MhJyZd53gTEesi70LPtfgmOpEWqZ 98iHJc/HSBOu5Roh/PfrFGb0DwV500IWarii5+BoGHDeoEh43nZ9yU/Ld3n+TH5Oso8z 8Bp9aOvhQn06Q1Tmc25Vet4wUe5dQPLjvq3p4ADGAIj0MaFRqyXBeviWTe0G4eytnduh d5nIEmRr8SpTHO2pl4syCfg25SnBHAgJBaWykn2CaMBw6WuhEfhYo5YKISzGHxzes97R e2AQ== X-Gm-Message-State: AOAM530gw+ZromT0FMyYmdpfBLDS/jAdfPnAfbgTUCblUNasPGmbm1Ji UKxKYxzA1Ap2IVr3xuiq5J1aFahNrONouzyz8G4sSyfK7eAoIgTCv75V2PM896ieu1tbOZLzD1e i+njqElev6Y4rs4GiPN+AJBF6OYAzeRPx29Ifq0N6a0w+duxT4DeD2J1U0WNN4IPsd0w9yAytjA == X-Google-Smtp-Source: ABdhPJz2ygbDhbChOS2H8RGaQiIIeBNQFA+Cvb7AtRmSgk7sDuDh34c3jK8RF09jrJonUz/SrGqk+w== X-Received: by 2002:a62:2b88:0:b029:163:c6fb:f2a with SMTP id r130-20020a622b880000b0290163c6fb0f2amr6437067pfr.7.1604012521758; Thu, 29 Oct 2020 16:02:01 -0700 (PDT) Received: from smtp.gmail.com ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id v13sm3729618pgl.6.2020.10.29.16.01.58 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Oct 2020 16:02:01 -0700 (PDT) Message-ID: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> MIME-Version: 1.0 Date: Fri, 30 Oct 2020 07:01:53 +0800 From: Lin Sun Subject: [PATH] [27.1] Make sure send-string-to-terminal send all contents Thread-Topic: [PATH] [27.1] Make sure send-string-to-terminal send all contents To: "larsi@gnus.org" , Eli Zaretskii , "bug-gnu-emacs@gnu.org" Content-Type: multipart/mixed; boundary="_A7C28057-90C0-4744-A1D0-D6867A17FC5F_" Received-SPF: pass client-ip=2607:f8b0:4864:20::431; envelope-from=lin.sun@zoom.us; helo=mail-pf1-x431.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.2 (-) 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.2 (--) --_A7C28057-90C0-4744-A1D0-D6867A17FC5F_ Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8"

Hi Lars,

 

I got a bug that `send-string-to-termina` maybe send part of conte= nts to

terminal, calling `fwrite` in loop to make s= ure all contents are written.

Please review the pat= ch. Thank you.

 

B.R.
Lin

= --_A7C28057-90C0-4744-A1D0-D6867A17FC5F_ Content-Type: application/octet-stream; name="0001-Make-sure-send-string-to-terminal-send-all-contents.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Make-sure-send-string-to-terminal-send-all-contents.patch" RnJvbSA3MmFlMzViMWZkYzdiYzNkODdlMGI4MjkwNzlmNjFmYzk2MWE4NjBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxsaW4uc3VuQHpvb20udXM+CkRhdGU6IEZyaSwg MzAgT2N0IDIwMjAgMDY6MjU6NTYgKzA4MDAKU3ViamVjdDogW1BBVENIXSBNYWtlIHN1cmUgc2Vu ZC1zdHJpbmctdG8tdGVybWluYWwgc2VuZCBhbGwgY29udGVudHMKCiogc3JjL2Rpc3BuZXcuYzog c2VuZC1zdHJpbmctdG8tdGVybWluYWw6IHRoZSAnZndyaXRlJyByZXR1cm4gdGhlCm51bWJlciBv ZiBpdGVtcyB3cml0dGVuLCBsb29wIGl0IHRvIG1ha2Ugc3VyZSBhbGwgY29udGVudHMgYXJlIHdy aXRlZC4KLS0tCiBzcmMvZGlzcG5ldy5jIHwgMjEgKysrKysrKysrKysrKysrKysrKystCiAxIGZp bGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyYy9kaXNwbmV3LmMgYi9zcmMvZGlzcG5ldy5jCmluZGV4IDFhZTU5ZTMuLmRmNWUwYzkgMTAw NjQ0Ci0tLSBhL3NyYy9kaXNwbmV3LmMKKysrIGIvc3JjL2Rpc3BuZXcuYwpAQCAtNTg4MSw2ICs1 ODgxLDggQEAgREVGVU4gKCJzZW5kLXN0cmluZy10by10ZXJtaW5hbCIsIEZzZW5kX3N0cmluZ190 b190ZXJtaW5hbCwKIHsKICAgc3RydWN0IHRlcm1pbmFsICp0ID0gZGVjb2RlX2xpdmVfdGVybWlu YWwgKHRlcm1pbmFsKTsKICAgRklMRSAqb3V0OworICBjb25zdCB1bnNpZ25lZCBjaGFyICpidWY7 CisgIHB0cmRpZmZfdCBuYnl0ZXM7CiAKICAgLyogPz8/IFBlcmhhcHMgd2Ugc2hvdWxkIGRvIHNv bWV0aGluZyBzcGVjaWFsIGZvciBtdWx0aWJ5dGUgc3RyaW5ncyBoZXJlLiAgKi8KICAgQ0hFQ0tf U1RSSU5HIChzdHJpbmcpOwpAQCAtNTkwNCw3ICs1OTA2LDI0IEBAIERFRlVOICgic2VuZC1zdHJp bmctdG8tdGVybWluYWwiLCBGc2VuZF9zdHJpbmdfdG9fdGVybWluYWwsCiAJfQogICAgICAgb3V0 ID0gdHR5LT5vdXRwdXQ7CiAgICAgfQotICBmd3JpdGUgKFNEQVRBIChzdHJpbmcpLCAxLCBTQllU RVMgKHN0cmluZyksIG91dCk7CisgIGJ1ZiA9IFNEQVRBIChzdHJpbmcpOworICBuYnl0ZXMgPSBT QllURVMgKHN0cmluZykgKyAxOworICBkbworICAgIHsKKyAgICAgIHNpemVfdCByZXQgPSBmd3Jp dGUgKGJ1ZiwgMSwgbmJ5dGVzLCBvdXQpOworICAgICAgaWYgKHJldCA+IDApCisgICAgICAgIHsK KyAgICAgICAgICBidWYgKz0gcmV0OworICAgICAgICAgIG5ieXRlcyAtPSByZXQ7CisgICAgICAg IH0KKyAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIGVycm9yICgiZmFpbGVkIHRvIHdy aXRlICUiIHBEICJkIGJ5dGVzIHRvIHRlcm1pbmFsOiAlcyIsIG5ieXRlcywKKyAgICAgICAgICAg ICAgICAgZW1hY3Nfc3RyZXJyb3IgKGVycm5vKSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAg IH0KKyAgICB9CisgIHdoaWxlIChuYnl0ZXMgPiAwKTsKICAgZmZsdXNoIChvdXQpOwogICB1bmJs b2NrX2lucHV0ICgpOwogICByZXR1cm4gUW5pbDsKLS0gCjIuMi4wCgo= --_A7C28057-90C0-4744-A1D0-D6867A17FC5F_-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 29 20:36:53 2020 Received: (at 44320) by debbugs.gnu.org; 30 Oct 2020 00:36:53 +0000 Received: from localhost ([127.0.0.1]:55527 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYIPV-0004m0-73 for submit@debbugs.gnu.org; Thu, 29 Oct 2020 20:36:53 -0400 Received: from mail-wm1-f46.google.com ([209.85.128.46]:39000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYIPT-0004lj-6W for 44320@debbugs.gnu.org; Thu, 29 Oct 2020 20:36:51 -0400 Received: by mail-wm1-f46.google.com with SMTP id d3so1457035wma.4 for <44320@debbugs.gnu.org>; Thu, 29 Oct 2020 17:36:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:from:date:message-id:subject:to; bh=8cYhh3CPLddB+3SkuVywTVTLOseQIdQYOwwXWLBcTVI=; b=TdQZqLHtVZhvwnOTl9YluT5mboxB54z51pYEIDWDQSKZSncb3Woc0lgu4t7FcX7hEW uRANhIvRAd/Uu4sfcUcjlxefpKWn+kpw04WDh75JS+oFv6XCUrDf7tqTEaF2VJDM8/8i u2t9D05bG28c0TuFbzOiwComSXQK4lQPrnvsE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8cYhh3CPLddB+3SkuVywTVTLOseQIdQYOwwXWLBcTVI=; b=dFuIH7mbSHeUNLK1bzYT3PR6v97GvgsV/1/sxNYTMg9YCePHE9HhXRX4i9bbl9kmHp fxz0XprVme9LXYR2ErL8hydT2LTTp61m1xz4pTwMWbDJbIOfRz3vZhqmg052OT217FMj 17lhiAEwGW0XotBUXIufH9hbx/fAsAXGAgIECltbbLoSCdmd6ZlbjLcXN1/SVSpFs19k RVXFHZOzgcFTW6xThVntA4u+ygaJ60CFl70ibR7rOw6pw3zCv+LWOVV02sVDWx6bk7jv KtazDx/od03yK8TTx18PdN3V9cN0ZFO+vGOPQeYlvv7xES4FH0/bXLbDRQQs97+2v0oZ uemw== X-Gm-Message-State: AOAM5338j56y60lCW+YGWgvFGM7rKg4IsiUO/tsJWZFxgTgV/59a3CUI 04lXNism+0GVp+91wqG+Re+BA4QW9rsmXHgUcja6hwRJCMnXjeUNRCIqWPs2fdmXStNap85fa8P wj8gMc5xRQ1NQmrrMNi3wMcxwk6w+9ZhQxYSu6jNeWbYw3X70nmgaNqEE+87GafhSm4ycY9m1Sl h2N0fNGHFOKJlb+UD+Yy4= X-Google-Smtp-Source: ABdhPJwijwXDZm7oklHsFB4UYx2L8SgU4Bec1JHcgKQYb1OnTwNcB/x867z2nk2dKmllVj9Tvaiq4PZt36oJMxy5rmk= X-Received: by 2002:a1c:81c9:: with SMTP id c192mr1540234wmd.1.1604018205097; Thu, 29 Oct 2020 17:36:45 -0700 (PDT) MIME-Version: 1.0 From: Lin Sun Date: Fri, 30 Oct 2020 08:36:32 +0800 Message-ID: Subject: [PATH] [27.1] Make sure send-string-to-terminal send all contents To: "44320@debbugs.gnu.org" <44320@debbugs.gnu.org>, Lars Ingebrigtsen Content-Type: multipart/mixed; boundary="00000000000054409605b2d8975f" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 44320 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 (-) --00000000000054409605b2d8975f Content-Type: text/plain; charset="UTF-8" (Resend with plain text mail) Hi Lars, I got a bug that `send-string-to-termina` may send part of contents to terminal, calling `fwrite` in loop to make sure all contents are written. Please review the patch. Thank you. Best Regards Lin Sun --00000000000054409605b2d8975f Content-Type: application/octet-stream; name="0001-Make-sure-send-string-to-terminal-send-all-contents.patch" Content-Disposition: attachment; filename="0001-Make-sure-send-string-to-terminal-send-all-contents.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kgvixwr90 RnJvbSA3MmFlMzViMWZkYzdiYzNkODdlMGI4MjkwNzlmNjFmYzk2MWE4NjBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxsaW4uc3VuQHpvb20udXM+CkRhdGU6IEZyaSwg MzAgT2N0IDIwMjAgMDY6MjU6NTYgKzA4MDAKU3ViamVjdDogW1BBVENIXSBNYWtlIHN1cmUgc2Vu ZC1zdHJpbmctdG8tdGVybWluYWwgc2VuZCBhbGwgY29udGVudHMKCiogc3JjL2Rpc3BuZXcuYzog c2VuZC1zdHJpbmctdG8tdGVybWluYWw6IHRoZSAnZndyaXRlJyByZXR1cm4gdGhlCm51bWJlciBv ZiBpdGVtcyB3cml0dGVuLCBsb29wIGl0IHRvIG1ha2Ugc3VyZSBhbGwgY29udGVudHMgYXJlIHdy aXRlZC4KLS0tCiBzcmMvZGlzcG5ldy5jIHwgMjEgKysrKysrKysrKysrKysrKysrKystCiAxIGZp bGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyYy9kaXNwbmV3LmMgYi9zcmMvZGlzcG5ldy5jCmluZGV4IDFhZTU5ZTMuLmRmNWUwYzkgMTAw NjQ0Ci0tLSBhL3NyYy9kaXNwbmV3LmMKKysrIGIvc3JjL2Rpc3BuZXcuYwpAQCAtNTg4MSw2ICs1 ODgxLDggQEAgREVGVU4gKCJzZW5kLXN0cmluZy10by10ZXJtaW5hbCIsIEZzZW5kX3N0cmluZ190 b190ZXJtaW5hbCwKIHsKICAgc3RydWN0IHRlcm1pbmFsICp0ID0gZGVjb2RlX2xpdmVfdGVybWlu YWwgKHRlcm1pbmFsKTsKICAgRklMRSAqb3V0OworICBjb25zdCB1bnNpZ25lZCBjaGFyICpidWY7 CisgIHB0cmRpZmZfdCBuYnl0ZXM7CiAKICAgLyogPz8/IFBlcmhhcHMgd2Ugc2hvdWxkIGRvIHNv bWV0aGluZyBzcGVjaWFsIGZvciBtdWx0aWJ5dGUgc3RyaW5ncyBoZXJlLiAgKi8KICAgQ0hFQ0tf U1RSSU5HIChzdHJpbmcpOwpAQCAtNTkwNCw3ICs1OTA2LDI0IEBAIERFRlVOICgic2VuZC1zdHJp bmctdG8tdGVybWluYWwiLCBGc2VuZF9zdHJpbmdfdG9fdGVybWluYWwsCiAJfQogICAgICAgb3V0 ID0gdHR5LT5vdXRwdXQ7CiAgICAgfQotICBmd3JpdGUgKFNEQVRBIChzdHJpbmcpLCAxLCBTQllU RVMgKHN0cmluZyksIG91dCk7CisgIGJ1ZiA9IFNEQVRBIChzdHJpbmcpOworICBuYnl0ZXMgPSBT QllURVMgKHN0cmluZykgKyAxOworICBkbworICAgIHsKKyAgICAgIHNpemVfdCByZXQgPSBmd3Jp dGUgKGJ1ZiwgMSwgbmJ5dGVzLCBvdXQpOworICAgICAgaWYgKHJldCA+IDApCisgICAgICAgIHsK KyAgICAgICAgICBidWYgKz0gcmV0OworICAgICAgICAgIG5ieXRlcyAtPSByZXQ7CisgICAgICAg IH0KKyAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIGVycm9yICgiZmFpbGVkIHRvIHdy aXRlICUiIHBEICJkIGJ5dGVzIHRvIHRlcm1pbmFsOiAlcyIsIG5ieXRlcywKKyAgICAgICAgICAg ICAgICAgZW1hY3Nfc3RyZXJyb3IgKGVycm5vKSk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAg IH0KKyAgICB9CisgIHdoaWxlIChuYnl0ZXMgPiAwKTsKICAgZmZsdXNoIChvdXQpOwogICB1bmJs b2NrX2lucHV0ICgpOwogICByZXR1cm4gUW5pbDsKLS0gCjIuMi4wCgo= --00000000000054409605b2d8975f-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 04:06:34 2020 Received: (at submit) by debbugs.gnu.org; 30 Oct 2020 08:06:34 +0000 Received: from localhost ([127.0.0.1]:55965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYPQg-0001XF-Gt for submit@debbugs.gnu.org; Fri, 30 Oct 2020 04:06:34 -0400 Received: from lists.gnu.org ([209.51.188.17]:41344) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYPQf-0001X8-Nf for submit@debbugs.gnu.org; Fri, 30 Oct 2020 04:06:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43514) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kYPQf-0005Is-HM for bug-gnu-emacs@gnu.org; Fri, 30 Oct 2020 04:06:33 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56274) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kYPQf-0000KQ-0d; Fri, 30 Oct 2020 04:06:33 -0400 Received: from [176.228.60.248] (port=1527 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kYPQa-0002Ny-DO; Fri, 30 Oct 2020 04:06:32 -0400 Date: Fri, 30 Oct 2020 10:06:08 +0200 Message-Id: <83ft5wb0jz.fsf@gnu.org> From: Eli Zaretskii To: Lin Sun In-Reply-To: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> (message from Lin Sun on Fri, 30 Oct 2020 07:01:53 +0800) Subject: Re: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: larsi@gnus.org, bug-gnu-emacs@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: -3.3 (---) > Date: Fri, 30 Oct 2020 07:01:53 +0800 > From: Lin Sun > > I got a bug that `send-string-to-termina` maybe send part of contents to > terminal, calling `fwrite` in loop to make sure all contents are written. Any idea why does it not write the entire string in the single call, or how to reproduce this? What is the size of the string in the case where it fails to write everything? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 08:38:36 2020 Received: (at 44320) by debbugs.gnu.org; 30 Oct 2020 12:38:36 +0000 Received: from localhost ([127.0.0.1]:56537 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYTfw-0000BD-Kq for submit@debbugs.gnu.org; Fri, 30 Oct 2020 08:38:36 -0400 Received: from quimby.gnus.org ([95.216.78.240]:37194) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYTfu-0000B0-S4 for 44320@debbugs.gnu.org; Fri, 30 Oct 2020 08:38:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=neFFcAAkFkA4f7sR6zFgcxz6fesSozvwE4LEHfvc2sU=; b=hKNmVVfIzEz1Gdl13OJF5eznM+ 9Cn9DtO2yy6iGDoG1oUUc++yMxD0H3fsk1h+Ue6ygzn02ass6qShfxv+m029U63rjS5cMOhuAfQ4u phxSAderMJU8/VG2J0WwAQB6Q4ojOcriNk9F5i0KHR8pGonhCQtTOWLH8z7j+gyUpZ/8=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kYTfm-00005D-2D; Fri, 30 Oct 2020 13:38:28 +0100 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> X-Now-Playing: PJ Harvey's _Dry Demos_: "Hair" Date: Fri, 30 Oct 2020 13:38:24 +0100 In-Reply-To: <83ft5wb0jz.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 30 Oct 2020 10:06:08 +0200") Message-ID: <87mu03j3cv.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> I got a bug that `send-string-to-termina` maybe send part of contents to >> terminal, calling `fwrite` in loop to make sure all contents are written. > > Any idea why does it not write the entire s [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 44320 Cc: 44320@debbugs.gnu.org, Lin Sun 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: >> I got a bug that `send-string-to-termina` maybe send part of contents to >> terminal, calling `fwrite` in loop to make sure all contents are written. > > Any idea why does it not write the entire string in the single call, > or how to reproduce this? What is the size of the string in the case > where it fails to write everything? fwrite isn't guaranteed to write the entire string in one go, is it? So I'm surprised that this doesn't lead to more problems, but I guess it doesn't show up more in practice because one usually sends less than one block at a time to the terminal? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 30 09:26:02 2020 Received: (at 44320) by debbugs.gnu.org; 30 Oct 2020 13:26:02 +0000 Received: from localhost ([127.0.0.1]:56637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYUPq-0007kK-9U for submit@debbugs.gnu.org; Fri, 30 Oct 2020 09:26:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYUPp-0007jx-08 for 44320@debbugs.gnu.org; Fri, 30 Oct 2020 09:26:01 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44093) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kYUPj-0006G9-H4; Fri, 30 Oct 2020 09:25:55 -0400 Received: from [176.228.60.248] (port=1741 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kYUPi-0000fb-UR; Fri, 30 Oct 2020 09:25:55 -0400 Date: Fri, 30 Oct 2020 15:25:37 +0200 Message-Id: <83v9eralri.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-Reply-To: <87mu03j3cv.fsf@gnus.org> (message from Lars Ingebrigtsen on Fri, 30 Oct 2020 13:38:24 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Lars Ingebrigtsen > Cc: Lin Sun , 44320@debbugs.gnu.org > Date: Fri, 30 Oct 2020 13:38:24 +0100 > > Eli Zaretskii writes: > > >> I got a bug that `send-string-to-termina` maybe send part of contents to > >> terminal, calling `fwrite` in loop to make sure all contents are written. > > > > Any idea why does it not write the entire string in the single call, > > or how to reproduce this? What is the size of the string in the case > > where it fails to write everything? > > fwrite isn't guaranteed to write the entire string in one go, is it? So > I'm surprised that this doesn't lead to more problems, but I guess it > doesn't show up more in practice because one usually sends less than one > block at a time to the terminal? I understand the basics, I'd just would like to know the details in this case. fwrite could be interrupted by something, or it could write only part of the buffer, or something else. This is very old code, so it is surprising this only comes up now. I'd rather we understood the issue completely before we decide how to fix it. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 01 21:58:32 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 02:58:32 +0000 Received: from localhost ([127.0.0.1]:39100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZQ3D-0000BJ-TN for submit@debbugs.gnu.org; Sun, 01 Nov 2020 21:58:32 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:33324) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZQ3C-0000B5-41 for 44320@debbugs.gnu.org; Sun, 01 Nov 2020 21:58:30 -0500 Received: by mail-qk1-f175.google.com with SMTP id l2so10465515qkf.0 for <44320@debbugs.gnu.org>; Sun, 01 Nov 2020 18:58:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:date:from:subject:thread-topic:in-reply-to:message-id :references:to:cc; bh=sA8bQan66jfuz25ET1plGNzY6/Cs22HcGLTNPgSaaCI=; b=VH0F7dd9mz7z7WDISOsvBIBp6xlIGA0ZdKdG8Z3gUrCpszzNd2WA0SbKS4pVXb+Xuw q8p3AmCzAuM3iY9BGpPtz+LWAbrBoG+P95T9GrbnApo78M0oex04UKtQL2zEKMEwv3b8 ljYng7K8Nc/ObBIcLXiPrQHOh0o8F3gM4POhE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:from:subject:thread-topic :in-reply-to:message-id:references:to:cc; bh=sA8bQan66jfuz25ET1plGNzY6/Cs22HcGLTNPgSaaCI=; b=DynWbXQ7ARIMr2QUsmjz8Uj6IV3NpVtfzFbyOcjsQ7uvzA+kOvXRmHohmke8pe0EHS CVyGGXJTUNPhYKk3BXrXQFnBMcncd3psYhD4r3bAL4zFU4y2Bih+91U/q9lPSQu8yRCL 1KEgGo06+bW93ZBsdOojK+5uf+7ABPykzEGbzyhkWWNYeDjdf2Ox/LZ7QBMfN+o32ulY OZiEhQesOAkIpL9h7aiLaByVZvAgyccYB/DHCZTmKs+z8BXvHZhbJmGqVu5VEl5iND58 BbF9+cpp7Yl8RgTv4wZa13FXJJQig5Y9FVnSw90QI2+dMm0ILKw0uj2n8AWq7nVSW9i4 ie5w== X-Gm-Message-State: AOAM533lq6zTobxGMPfe6LKo+FWAwXL566oalvUskYQa8hrdmSmIsJDl el8tNVlvTVsbMD9m9A7jj6VX4aSV0cj/taTtg9VU/lbE9rpnkWOWkvccz74pm4J9PsXEwUo67Da QXWN1ktMO7DR9rWKvu9vZ4Lks6xxQAlI9Dm0wJtRJ66X2y60uVUzQXkmOixQMj0a+L4p55+Eu4Q == X-Google-Smtp-Source: ABdhPJz1mWEszrFkZa6JNuHijZZN2k6KigZX4VpAIuvnPVPwxx7wJgUxd7M7pWXkGFgysWULWZxSRA== X-Received: by 2002:a37:a596:: with SMTP id o144mr6990207qke.202.1604285904288; Sun, 01 Nov 2020 18:58:24 -0800 (PST) Received: from smtp.gmail.com ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id b3sm3236626qte.85.2020.11.01.18.58.20 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 01 Nov 2020 18:58:23 -0800 (PST) MIME-Version: 1.0 Date: Mon, 2 Nov 2020 10:58:12 +0800 From: LinSun Subject: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents Thread-Topic: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents In-Reply-To: <83v9eralri.fsf@gnu.org> Message-ID: References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org>,<83v9eralri.fsf@gnu.org> To: Eli Zaretskii , Lars Ingebrigtsen Content-Type: multipart/mixed; boundary="_42A96340-2A25-4AF7-95EB-CD8685C2FFDC_" X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 44320 Cc: "44320@debbugs.gnu.org" <44320@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: -0.9 (/) --_42A96340-2A25-4AF7-95EB-CD8685C2FFDC_ Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8"

Hi El= i, Lars,

 

= > This is very old code, so it is surprising this only comes up now.

=

>I'd rather we understood the issue completely befo= re we decide how to

>fix it.

 

Sorry for delay responding, = I=E2=80=99m offline last weekend.

 =

And yes, it=E2=80=99s rare, but in my testing case= it=E2=80=99s happened quite often.

 

I had attached all the testing files, the testin= g.el will read the six image and

send to terminal.<= /p>

(send-string-to-terminal

(= with-temp-buffer

=C2=A0=C2=A0 (insert-file-contents= "testing.six")

=C2=A0=C2=A0 (buffer-stri= ng)))

 

The= strace log file =E2=80=9Ctesting-strace.log=E2=80=9D is attached for not f= ully write to

console in one call, in the log file,= function `write` not write all string into

console= . Please refer the attachment .

 

After apply the patch in my first mail, it will reso= lve the bug.

 

Best Regards

Lin Sun

= --_42A96340-2A25-4AF7-95EB-CD8685C2FFDC_ Content-Type: application/octet-stream; name="testing.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="testing.el" OzsgdGVzdGluZyB0aGUgc2l4ZWwgaW1hZ2Ugd2l0aCBlbWFjcywKOzsgb25seSB0ZXN0ZWQgb24g bWludHR5LCBhY2NvcmRpbmcgaHR0cHM6Ly9naXRodWIuY29tL3NhaXRvaGEvbGlic2l4ZWwKOzsg aXQgc2hvdWxkIHdvcmsgb24geHRlcm0vVlQyNDAvVlQyNDEvVlQzMzAvVlQzNDAvVlQyODIvVlQy ODQvVlQyODYvVlQzODIuCihzZW5kLXN0cmluZy10by10ZXJtaW5hbAogKHdpdGgtdGVtcC1idWZm ZXIKICAgKGluc2VydC1maWxlLWNvbnRlbnRzICJ0ZXN0aW5nLnNpeCIpCiAgIChidWZmZXItc3Ry aW5nKSkpCg== --_42A96340-2A25-4AF7-95EB-CD8685C2FFDC_ Content-Type: application/octet-stream; name="testing.six" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="testing.six" G1BxIjE7MTsxMzY7MTE0IzA7Mjs1MDs0NzsyOCMxOzI7NDQ7NDc7MjgjMjsyOzUzOzU2OzI1IzM7 Mjs1Mzs2MDsyOCM0OzI7NDQ7NTY7MjgjNTsyOzUzOzUwOzM4IzY7Mjs2MDs1MDs0MSM3OzI7NjY7 NTA7MjIjODsyOzUwOzQ3OzM1Izk7Mjs1MDs0NDsyOCMxMDsyOzQ3OzYzOzQxIzExOzI7NjM7NTM7 NTMjMTI7Mjs0NDs2Mzs1MCMxMzsyOzcyOzc1OzUzIzE0OzI7NDQ7NjM7NzIjMTU7Mjs2MDs3Mjs3 OCMxNjsyOzgyOzcyOzc4IzE3OzI7MjU7NDE7MzEjMTg7Mjs0MTs0NDszIzE5OzI7MjI7MjI7MCMy MDsyOzY2OzY2OzQxIzIxOzI7NjY7NzI7MTkjMjI7MjsyNTszODsxOSMyMzsyOzE5OzIyOzEzIzI0 OzI7NDE7Mzg7MjIjMjU7Mjs0NDs1MDs0NCMyNjsyOzM4OzU2OzQ0IzI3OzI7MTY7ODU7NzIjMjg7 MjsyNTszNTszIzI5OzI7Mjg7NTA7MzUjMzA7Mjs5Ozk7MyMzMTsyOzM4OzM1OzE2IzMyOzI7NDQ7 NTY7NTMjMzM7MjswOzI1OzE5IzM0OzI7NDE7NTA7MjIjMzU7Mjs1Mzs1MDs0MSMzNjsyOzE2OzE2 OzAjMzc7Mjs0NDs1MDsxNiMzODsyOzYzOzUwOzQ0IzM5OzI7Mzg7Mjg7MTkjNDA7Mjs0MTs1MDs0 NCM0MTsyOzM7MTY7MyM0MjsyOzI4OzIyOzkjNDM7Mjs0NDs0MTsxMyM0NDsyOzM4OzI4OzYjNDU7 MjsxNjsxNjs5IzQ2OzI7MzszOzMjNDc7Mjs0MTszODsyOCM0ODsyOzM4OzM1OzMjNDk7MjsyODs1 Mzs0MSM1MDsyOzQ0OzM1OzYjNTE7Mjs0Nzs0MTsyMiM1MjsyOzMxOzI1OzAjNTM7MjsyMjs0Nzsz NSM1NDsyOzI1OzIyOzAjNTU7MjsyNTsxOTswIzU2OzI7MzU7MjU7MCM1NzsyOzUzOzQ0OzE2IzU4 OzI7NDQ7NDQ7MjgjNTk7MjszODszMTswIzYwOzI7NDE7NTM7NTAjNjE7Mjs1Mzs1Njs2IzYyOzI7 NDc7Mzg7MjIjNjM7Mjs0MTszNTsxOSM2NDsyOzQ0OzM4OzIyIzY1OzI7MTY7Mzs2IzY2OzI7Njsz OzMjNjc7MjsxOTsxMzswIzY4OzI7NDc7NDE7MyM2OTsyOzUzOzQ0OzAjNzA7Mjs1MzszODs2Izcx OzI7NTA7NDQ7NDEjMEBJQ1BJQU9CUUNCP0BRP0c/Tz9vP19Hb0tPR09rQVxJUVU/RXhBSUBCP0Ej MjlPIzE0Xz9PYVc/UEEjMjdHP0MjMTY/P19PQFNBfiMxMlc/P0VfRz8/Xz8/P09nX1lfXV9JRGcj MjBfP09RTyE0P0BnWkNgP2dRY09Le0NxQyE3P0pfR0FHXz8/Qz9BT0I/UT9BSD9kJCMzc2N3ZWNY ZVNHSltmXURuRHVMdk1pWEVLYEBAR0FUQUNAR0RPPz9TP1c/QyM0MF8jMzJDRyMxNT8/Q19LX2NS aFF8RmxJYmw/Qj8/P0g/TEREQURHQD9AIzEwITQ/T2dPRXtiS0AhND9TUWNQT2pPY1BtcT9aQ3hF ITQ/QXpjSmRXYyE0P0JARkNIZGlAQURRJCMyR09AR09fR19jb19XX2dPcUdfRz9QQ09BUUtRZD8/ P18/Xz9fQ0dfX0MjMTBfP0tIIzEzT2NYYVxhXFJrUWxBV0FzR08/Yz8/QFVkUWlRfEl2aVZdYF5g XmRRRlhCS2BNQiE3P0lDREBJQD9CP0hBQCE5P0BPIzE5QD9fIzM3T18/XyQjMUFAQT9AQ0BHIzRA IzUhNz9AITQ/QT9AP0E/P0AjND8/P0M/Pz9BPz9BIzI1Pz9fQSMyMEEjMTJlSkNAQSMxNyExND9A IzEwfHcjMTQ/Tz9PPz9vITQ/QyM0ITEwP19DP09IIzM1ZyMxMj8/SUM/QUcjMjE/P0AjMz9fPz9H Pz9jWXdDT1NRITU/Qj9DR1d1R1R7c3lHJCM5ITE3P0E/P0MjMT9fPz9fXz8/Xz8/P0BJPz9DQFM/ TlhAIzM4TyMxMUAjMjMhMTg/SSMyNkEjMjc/P0FfP0c/Pz9DIzI4ITE0P09HIzFnTyMxMT8/P18/ TyMzNCE5P08/X08jMzVjQyE0P18jMjlBIzM2Q1cjMzRDX0ckIzYhMTk/QCM3Pz9AIzg/Pz9DQT8/ P0AhNT9APz9fIzMzITIzP1MjMjMhMjU/XyMxOUVAIzNlQUQjMjghMTM/X2NBIzRAQCE5P0E/Q08/ XyQjMzQhMjg/T0dfT2c/b0c/bz9HP08jNDEhMjI/XyMzNyEyNT9HIzIyT0EhMTc/SkMhOD9ARyMy NEBHIzJHT2ckIzkhMzU/QCMzNCE1NT9fQyMzOSExNz9PIzIzQCMxSSM4P0AjMTEhND9DIzMwP0Ej MjNjIzBAJCMxOCE5MT9AIzI0ITE5P1cjNDAhOT9PIzMxQSMyOE8tIzN+fnt+d253dXx8eX18eX18 eX50c3hfdF9HcSExMD9BT0VHIzE1W0M/Pz9DSE9lT31DemxxTm9MX05PRU8hOD9APz9DIzM1Pz8/ XyE3P0UhND9HP2c/c0hBR1FrQFFjIzJfIzQ/Tz9BPz8/Z0k/P18/Xz8/P1chNj9AREM/Tz9PJCMy Pz9CP0ZPRkhBQURAQURAQT8/R0FDWT9Zb0dvd294Y3hhWF9XRCM0X0c/QCMxNF8/Pz9fP19AIzE2 ITg/QU8/Pz9OIzEwQz9AS1t3cFdvX0dvYz9nPz9SP0dNP0ZHQSE0P2dBdEhhWEY/UkNASUA/P0Qh Nj9DQlVESEE/QiE5P0BBPz9BJCMwITE2P0Q/QUg/RElDP0RIQUQhNT9GX2dAP0AjMTZfQCMxMlFb UUpTQSMyN0c/QCMxMiExMj9qPz9BQkVDRT9KU0JHSVRBXF9TYj8/P18jMjI/T0FBIzg/QU8jNUEh OD9PIzEhND9DPz9fIzI1Pz9PXyMxITc/Qz9fITY/R19fIzM1QyQjNCEyMD9BIzE/P0BBP0FAPz9A QVxfTz9PQz9DIzI2Pz9HQCMyMiEyMD9HP18jMjRfIzIwP0c/P09fRz9vP1NfS0FTYFNvQHxCITg/ Qz9AP0E/QD9AP0EhNj9AP0AhNT9FRyMyM0AjNDNBQz9HTyMxOF8jNT8/P0MkIzM0ITI0P0M/Q0NJ RVlDP0VHRj9JQEEjMjMhMjQ/YF8jMU8jMTQhND9DPz8/QCMxMSE1P0c/P0k/TyMyOD9fQ0AjND9D IzI0ITE1P3c/QyMwUT9fITg/YCE5P08/P18kIzghMjQ/QCMxMCExMz9fT0E/Y0FAIzI4ITE5P0NP IzM4ITE1P18jMzI/T18jM0chND9vVVBER0FTX29rP3drP119bndAPz8/QlRpV0dPVXh+dz9PbyE1 P0FBRE5aSCQjMjUhMzg/TyMxM18/WUBfa09hTE9uP3pDUUxvTm9Ob254X08/P0A/QEFASUNCP1FE QUhBP0A/P0AjMzQ/Pz9HP0cjMTkhMTg/QSMyMkcjMzREUyMzNT8/Qz9pP0M/QyMzND9fP0A/Pz9L Tz9fJCMzMyE2ND9BIzRBITQ/XyMyNSExNz9DIzFgP2AjMjMhMTc/QCMyOGEjMzdHIzE5ITExP0BD Q2dPXyM0NF8kIzQxITY0P08jMjlLIzI0ITIzP09DIzM2ITE4P3sjNDJAIzIyITEyP0EjMjRHIzM2 R09fJCMyMyE4OT9HIzQzITIwP08jMzAhMTM/QSM0Mk8jMzdCRUY/R28kIzIhMTI3P0A/QT9HJCMz MSExMjc/R08tIzNGSEZWTkR8Tl1+fn52fHp0YkZxSkBQQFU/P0A/RT9fU0dFZ1dDIzEzX1dhP09h RT9Va0BpVHlDamRZdWxJZllEWkVAP0NDRz8/TyM4QSMzUD9hX18/QUU/Q0tHP0c/Pz9AXUNAaT93 bGlddURJQkRJUERGbyE2P0Q/QEBvP0I/P0JDQz9HIzI4Qz8/TyM1NE8jMzFHRyQjMl8/Xz9fR0Ff QCE3P0chND9DPz9AQEdAQEJGQkRIVkIjMTB3TUA/P0JDSFVHT28/Pz9fT08/Pz9PPz9PXz8/R3c/ T0dfP1A/ITRAP0A/QEA/QENBQT8/P0A/P0AhND9AIzVAIzJpc2d3Y2lZb0chOT9TQWxnVUtzX0cj MzdfITY/QSM1NU8kIzRHQyE2P18jMjA/Pz9HQUNJU2dIU3NJc0hzSXNfV2NPZz9vP18hOD9HIzI3 Pz8/QEc/QSMxNCE4P0kjMjg/XyE4P0c/Pz9HITY/XyM0Nz9fPz9AIzg/Pz9HITQ/TyMzNCE1P08/ Tz8/P0U/Pz9DVz9fP18/QD8/YFA/V0FPXz9PP0FAP0QkIzBPT0c/TyM1QSMyMSExMT9PQ19JX0lf SW8/XV9PRz9vIzE/P0NAIzE0T0MjMTY/SyM0OUc/XyE1P18hNT9HITc/YSMxRSE0P0AhNT9DITQ/ Vz9PP1chND9DITg/XyMyNCE5P0A/QFtnIzI1P0AjOD9AIzM1ITg/QCMzOUAjNDNBP18/QGAjNDI/ TyQjMT9fP0c/Xz9PIzchMTc/Q0E/P0cjMD8/QSM0Pz8/QSMzNUAjMTVfXHJfITQ/QElDQURQQ0lE QFFET0Q/P0AjMzRPITY/Rz9BTz8/Q19DITc/Q09jQV8jMzEhMTg/Xz9fIzFCRntPPz9HQ09DRyE0 P0MjMzZAITU/X18kIzg/QSMzNE9fP08jMTEhMzI/QSMxMj8/Q0A/QEBBQ08/P0c/P18/P19HX19D RyMxN0NAIzQ1QD8/P0FDP0dHIzIzRz8/Tz9fITU/X0c/QCMxOSEyMD9NTyMzN0AjNDNPXyMzMCEx Mz9AIzUxQ0dfXz8/Q0EkIzI5ITQyP08/P18jNTMhMTY/TyMyM0cjMjBvP2dfT08/X19fITU/QD9B Pz9BP0AjMjJBIzM2ITIxP0AjMjNDIzQ3QSMxOSExNj9BQkNHP0ckIzUzITQyP0cjMjhPIzQxXyM0 MCEyMD9BIzM1T0M/R18hNj9AITU/QSE3P0FBU0pEQVQ/Pz9AIzQ0ITc/TyMyOGkjOSExNz9PIzQ0 P0k/P18kIzIyITY2P0E/QD8/P0MjMkE/QUFFP0chOD9HIzQ4ITQxP0BBP0MkIzQ2ITY2P0AjMzZB Pz8/QyMyND9DQz9HITY/Xz9PIzQzP18jNTAhNDM/T0NBJCM0MSE2Nz9AIzQ3Qz9BIzQ0Pz8/TyM1 MT8/RyMwRz8/Rz9PITQ/T2c/YD8/XyE0P0dPP0NBPz9fRyE3P0FrT2FHQU8/YUc/bz8/TyE0P0Ak IzI1ITY4P18jMTlDITU/T08/Pz9fXyE0P29DIzUyITQzP0NHJCMzMCE2OD9BIzQ/QCE5P0M/QUMh NT9PP097P1NBITg/QEMhOD9BR1FNITc/QT9HJCMzMSE3OD9vITg/R0EkIzM5ITc5P08jMzhBITQ/ QyQjMzchODE/TyMxMUA/P0AkIzI1ITg0P0AtIzJ9d2FXQ2k/ST9ER0VHZ1NXYXBfX09fRz8/RyM3 Pz9PPz8/QCMxMk9fQz8/Q0RvTWFfT2dTTyMyMkEhND9HP09PITQ/ZyMxbz8/XyE0P0MjNUcjMiE0 P0A/QUFAIzI0QCE0P0pMRyMxVnVfRGBfPz9JIzU3ITk/XyMyND9APz8/QElHR08jNTFLP19QRz9H Q0A/P0E/Pz9DIzQxRyMzMEYkIzBAQ0BhQD9EP0E/QD9PIzIwPz8/QD9AQEFIRVBuQG1QbXB9dEtO QD8/Tz9fIzI3Pz9PRyMyNkAjMjNAQT9DP0c/Rz8/PyE0X2dTIzRLTyMyNU8jMTE/QT9AIzIxITg/ QCMxOSE0P0A/P09fIzBfPz8/Q1E/VUA/QFNIQV9DP0E/Tz9HTyE3P0I/QEc/QT9BPz9EIzUwTyMz Xz8/XyMzNl9ARyQjMzQ/QkNEUVBnb3t5T29fTz9fIzIxPz9DQT9BUElPRVBtQE1ASUEjMTZfIzEw V0I/P3lXITU/QT9gaD9yQUZFTUtFXCE1P0BqVWNeQWlgQ1FHX0NvR2M/RyM4Pz9BITc/Rz9HIzU/ RyMySVNJY1dNen58fm5admlvITQ/QT9HQT9CQUNAT0A/P18jMjA/Xz9XIzIyQSM0Nm8kIzM3Pz9X P2cjMUM/RD8/P0c/P18jMzIhMTc/Xz8/P0AjMTdfITg/QCMxQz8/P08jMzY/Tz9fIzM1Pz9PITU/ Q0hXX1tPQWA/QU8jMzYhOD9AQEsjNTE/TyMzNHZnITY/Qz8/P0AjMzchOT9HX0BBQ18/Pz9HT19A UUNHRV9DUEAjMThHIzQ0QCMyNEcjNTVBJCM0ITY/QT8/P0M/QyMxMyEyMj9HSUQ/QUlvR1RnQ2dH T1A/QD9AQEFIQUNIQCM1M0AjNDBBIzIwITU/X0Q/QT9PP2BHXz9TP19DVyMyMkc/U0EjND8/SFBn UUdPQD8/P0MjMzEhOT9FR0FHIzM0QENUQ1BBQyM1N0tfQ0A/Pz9AIzYxP08jMjFvIzQyP0AkIzUx ITY/Tz8/P18jNDkhMjQ/XyMxNUM/Pz9DQERBRU8jNDE/QT9DP0cjMTk/P08jNDlAITQ/QyMxMyEy Mj9DIzIzQ0EjMzUhOT9DIzlfIzU2ITEzP0AjNDNPQz9PTyE0Xz8/T2c/UUdJQT9BQCQjMyE4P0A/ QUBCRkpGW01ZW2xTX2M/byE2P08/RSM2ME8jMTRPSUA/QCMzITg/Xz8/P18hOT9tITY/V09sZE5Z RVVYaHVdeV9fITY/QT9DQGFPX2BRX1AhNT9DP0MjMjg/QkdfIzUwXyMxQEE/P0MjNTkhND9fITU/ RyQjMjIhMzY/XyM0ITEyP0E/QyMzMT8/XyMxMj8/P0pFQSE1P0AjMzchMTc/TyMyOF8jNDQhMjU/ QyM0OG9PIzchNT9PIzU2ITU/Xz8/Rz9DJCM1OCE0OT9HIzI4Qz9PITg/QUAjMzkhMjE/QSMzMEAj MjIhMjc/QyMyOCExMj9fPz9HP0U/TyQjMjAhNTE/X18jMjkhNj9PIzMwTyM0OCE2NT9PPz9DPz9D JCMxOSExMjc/TyE0P0E/Q28tIzJGSlZJXFFDRz9fITQ/QD8/QUBJQkReXWtZIzIxRT9AIzEyX2db cEtBPz8/Qz9DeFV7bmlQIzIwQCE2P0BAQUFHP18hNz9BT2RPZFlfU2c/SEFDPz9DQCM0OEAjMzFB Tz9fIzA/QD9bQFVRREhjUF9DP0k/RD8/Q0AjMjQ/QyE0P08jM18/P19HU2NHP0Q/TyM0QT9CIzQx YEIjMTlQJCMyMWdTX18/XyMzNEA/Q0lESlRCU2tJbF1Te0c/X08jMjBAPz9LRCMzMk8jMTFfIzE0 Pz9fRyE3P0AjMyE0P09NantyaFNXX18hOT9bV18/P0E/REpCVnFsUF5+anF7byE2P0BBPz9HITY/ QCM0Mz9PTz9PR0c/QT8/P0JCQT9EIzE4P0E/QCMxMG9Hb0NXXyMyM28/SyMzMUMkIzdPXz9PIzU3 Pz9nP0c/XyMwITU/QCE0P18jMz9AQmN3TkFBQCMzNUAjNDk/P08jMTY/P0EjMzUhMTA/QyE4P0dh P08hNT9AP0NIP0NHX1E/P18/TyM0QT8/TyMyS0E/XyE2P18/aF9VUm1OUk5TRkFKREA/P0EhND9f T28/V0M/Pz9AQSM2MT8/QCMxM0MjMjJHIzQ2XV8kIzYxPz9HQ19HT19fIzI0P0E/P0dnP28/XyM0 QD9BIzchND9AIzEwbz9HRUEhNj9gXnJDSD9PRGt9SlBDPz9BQUNXU09nITU/QEVCQEVZak9ER19T R0M/ZyM1XyM0MyE0P0M/S1cjMT9BRkE/QD8/XyMzNz8/T2c/X1dfQ09JP0IhOD9AIzM2ITEzP08k IzM3Pz8/QEFEQVZPU09fZ1M/Uj9PPz8/T18jMTMhNT9PTz8/S3FHc1h8WV9HQV9BP09BIzI/Xz8/ QENPX18jMUMhNT9BSEdPIzJfXyMyOCExOD9ARU8jNTFBQ18jNCE0P0NBP0cjNTE/Pz9fP18/P0kh ND9DITU/QCMyME8/Xz9PQ0k/QUhfUSQjNTEhOD9BQD8/QT9BP0MjMT8/XyMxNSE4P18/Pz9BQERC ZSM0ITEyP19PQUdDRyE4P0VFS08/XyMzNyExNz9HIzI0QEA/Tz9fIzU3ITEwP08/P0c/Pz9BQyMy M08/Pz9PIzIxPz8/Xz9PZ0dxQ29MYUNIJCMxITg/QCM0Mz9HUz9fIzI1ITQxP0EhNT9fIzI0Qz9f XyM1RyMxOSEyMD9HIzM0QURqW1dfW2c/TyM2NCE5P18jNTBfITQ/QD8/QSQjMTchNTY/QCMyM0A/ Pz9DTyMzMU8jNDBAIzU2ITIzP18jMjghMjA/Xz9vPz9BYD9DR0dBQUA/QCE3P0M/P2kkIzM2ITU4 P0BAQ0c/XyMzNCE0Nj9DP0c/Pz9fPz8/Rz8/P0EkIzEzITU4P0NPIzMwQiMyOEFnIzE5ITQ3P18/ Pz9fP0M/Q0NDJCM4ITU5P0MhNT9BIzYzITQ0P08/Pz9DIzU2QSE3P0AkIzIyITU5P0FHQCMzNEA/ TyM2MiE0Nz9AIzM2Tz9XR0ckIzE5ITYxP08jNjUhNTA/XyMyMkcjNTlAITc/QSQjMzAhMTEzP18j MzlHIzQ0QyM0OEAkIzQ2ITExND9PLSMyMXx6bXxZdWtzT09fIzM3QkRUR09ob0dPIzFAIzBBIzQ3 TyM4XyM0SUAhNT9HITg/X0M/P18/Pz9AQUQ/QCE5P18hNj9APz9HRz9HIzM3ITU/XyE0P19XYENP Pz9BPz9fP18/T08/Rz8/QyM1OUEjMTNfIzIwVyE4P0E/QCMyP29Xb1NhP0dQIzFfIzMxRz8/P3Ek IzdBQ09BZEdQQWdfIzM0ITQ/RmlFP2ZoVXxuW0QjMTBDQD8/P1VEeXVvP3djZ1RCQEVLQ0dkWUN3 b08/Pz9HP0BHQD9JRyE5P0FBQD9DQSM4ITY/QSM0Mz9PX09fRz8/P0NhPz8/UD8/Rz9AQyMxOD8/ QSMxN18jMjNHP08jMjJHQSMyMT8/P0dBS0JDQEFAPz9BP0AjMjNPP19BJCMyPz9AITU/RElTR3Fn Pz9PITY/QiMxMm8/QT8/R0dPREhJdD9AITQ/QEJCQj8/XyMyMD8/Xz8/P08/P0A/P0BBPz9HTyE0 P0A/Pz9AQSM1NyExMT9HTyMyOGE/c08/T09XR0dHS0NBQ0BBP0A/Pz9fQyM0MkAjMzQhMTM/Xz9P RSM0NntCIzIyR0AkIzYxITU/QEFIQUNKb0c/XyMyNEA/Tk9FZyMxMyE0P0dDQD9AX2E/P0RJREFA IzI/P1dPXyE3P0JNQCE1P18/Xz8/T18/P0BBP0M/Tz8/P08/Z08/P09rT0ZFQSE2P0AhNj9PQEdH R0sjNDY/P19bRSMzNiExOD9fP09AJCM1NyE5P0A/Qz9BTyM0M0MjMTUhOT9vd3t8USMyNyE2P0Ej MjBXP0EjMz8/Z08/Xz8/P0BJS299VmZuXXVdfVNTfUNPP19fP0JBQ0BDQUdETEZMTkFGQEIjNDQ/ Pz9CREc/SyE0P08/Qz9BITY/QCM0MU9fIzY1QCM0MSExOT9AIzMwSyMyOG9LJCMzITI1P0EjMTY/ QUEjMTRjQCMyMSE3P1VnW2EjMjU/P0dTWWNXIzIxITU/Zz9PXyMzNT8/QCMwP0A/Pz9fITc/R08/ R19PPz9bPz9DP0BDRyM1Nj9fP19PITg/Q0FBQEAjMzE/P0AjMzZBR0IjNjYhMTg/QSMxOT9DJCMx ITQ0P08jMzU/P0BBQyM0MyExMz9AP0A/Pz9fT0c/XyM2QSM1MCExNj9PITk/QSMwQCMxMF8/X19f TyE4P3dDS0FDQUNAQUA/RD9BQCQjMzQhNjQ/Xz9AP0FDQz8/P09fP18hND9fPz9HIzMxITU/Qj8/ Zz9HPz9DIzM/X18/b09PP0dDITU/Q1FEcGBvV0hBS0dLXj9DQyQjNSE2ND9HITg/QyMxOSExNz9D IzQyRyM2Mz9BPz8/QyM0X18/P08/Pz9PPz9BPz9fd1lsQT9PP18/Xz9fT19PaUckIzE5ITY0P0BB Q0tHT18jMThPXyMyNCEyMj9DQkM/P0AhOD9BIzU4QyMxOUAkIzI0ITY0P0FDPz9DIzMxRz9fIzM1 QD8/Q0A/QT9BP0AjMTghMTI/RyMzND9fQD9BQCE2P0MhND9PQ2AkIzEhNjY/RyE5P08/Tz8/Tz9H ITg/QD8/P0M/QSQjMjghNjY/QSM1MUEhND9PPz8/Xz8/P18/P19PX0chNT9BQEA/P0I/QSQjOCE2 Nz9PIzQ0TyM1Nz9HPz8/XyQjMzchNjc/QC0jMjF6RV5WdG5afVJ8VVNsb0d3X08/XyMxMD8/Q1Ah Nj9fP0BiP0FBQkJBPz9DPz9PP0BAP0FCQCM2MVdTU1tbS1s/Q0cjNDM/T08hND9ISz8/QD9BQT9B Pz9HP0hEPz8/QT8/QCMwPz9AIzIwITQ/Qz9BQD8/QUEjNDFfRUNHIzM3Qj8/P0chND9Bb1NBSz9C IzIzTz8/P0dJR08kIzNDb18jMiE2P0FAQUFERkRNTFtRSyMxMj9fQUdfZ0JfeFNCS09AQCMzN09P Tz9PXz8/QSE0P09PP08hNz9HP1NDQT9BQ0chOT9BITg/QyE1P0A/P18/XyMxITY/X08jMTJAIzQ1 Tz8/QCMyOGcjMjRfITU/Xz9fPz9PP0c/Pz9AIzMwUUAjNDQ/QSQjMjA/Rz9nQU9jP2c/Zz9PP08/ P18/P19vRyE5P0E/Pz9DPz9HP0UhNT9BPz9APz9BIzU5XyE4P18hNT9PPz9AIzE5R2NPQ0tDP0Mh Nz9AIzE4P0EjMjIhMTU/Xz9HPz8/Uz8/XyE5P09PQz9LITQ/Q0MkIzc/QD8/Rz8/QEM/P2g/P18/ Tz9fIzU3RyM0Pz9AIzEzQz9DPz9HQUFrTz8/P0AhNT9BIzM1P08/QCMyMj9HIzMyQCMwRyMyOF8j NTBfIzE4Xz9fP19fPz9fIzMxPz9fPz8/XyM0ND9fP0FDIzMwVyMyM19PPz9HIzMxR0FBQyE3P0Aj MjkhMTU/TyMxMUAjMjNAP0EjMiE1P0FHRUNDIzI4P19fITU/QT8/P0BKJCMzITEzP0chNj9PRyMy NUEjMTVHZUJCU1I/R08jMz9DRUM/Q0tDRkdIaz9fQT8/RUM/RSMyMUA/Sj9BP0AjNTc/Rz9HP0s/ P0FDITU/QCE2P0AjM18/b19PXz93Q3txS1dFR0ZAQkdDQz9CIzM1P0cjMjZBIzQ2d1ojMzZTIzMh Nz9AIzIxP0AjNjE/QD9AIzE5X18/T0M/cV9PXyQjNjEhMTM/QT9BIzM3QEE/REEjMzU/TyMxMV8j MzJPV08jMjc/QyMzNSE0P0cjNFchOD9RR0A/bz8/P0M/P0AjNDg/Xz8/Xz8/XyE0P18hNT9AIzU0 P0MjNjdHIzIyP08/P0c/P0M/P0EjMkMhNT9gP0A/TyMzOSE4P18jNThDIzMwP18jNDJfITEzP18/ P18hND9UJCMzNCExOD9BP0BGIzE2Pz9AIzE0P0NnP0NAP18jMjU/XyMzNFc/XyE0P18/REFDP2Nn IzY4ITg/Tz9vIzY5Tz9PIzUwP19PTyE3P0EjNCE2P19Pbz9PP0dHQz9BP0FfV3JHd1dvT0dHS0ch Nz9AQkZERj9CP0A/REEjMzE/TyMxN0cjNTFBIzU1X18/P18kIzUxITE4P0AjMjkhMTY/XyMyR0c/ P0dPT0AhNz9HR0NJP0JAQkFGQkJCTEFMQUBCIzU2P1AjMjRfITU/Xz9RPz9APz9DIzEwX09vP3c/ S09FP0M/RT9GSEFGP0RDIzQzITIwP0MjNTRfIzM2T0BDJCMxITM2P18hNz9fR0cjMCExOD9AIzI4 Xz9PX09fP0E/P19PP0M/Qz8hNEE/P0AjNDUhNDA/RyM2NkskIzQzITM4P18hOT9PP19PIzM0ITE1 P0BDP0EhNj9gP3BfcE9HP0dHRz9DP0EhOD9fP19vb08hNz9efVtvd29Xd1dNSUc/RkdCQCQjMjEh Mzk/QD9AIzI0Pz8/Qz9LIzUxITE5P0c/R0NBITQ/QD9AP0AjNDghNT9AQEE/QCQjMTghMzk/X18j NDAhNT9vP0EjNDIhMjM/Tz9BPz8/Rz8/P0MkIzYxITM5P08jMzkhMzI/RyMzNm8/RyQjNjMhNzI/ Qy0jMjFET0RKU0hVSFZVdEp1SnVMV0RGIzE1T2d0RWdQfm9fIzQwR08hNT9BP0BDIzI/Pz9EP09f P2FDXz8/QT8/P0E/P0M/ST8/P2dPITQ/QSMyMkE/T1lCQD9fIzEwP0RDSkVEQUxBREE/QSMyMkM/ P0FBP0FBPz9AQEAhNz9AQCE0P0AjNDhAITQ/X18/P18/Pz9PP0QkIzNJa3lzaFFAUz9HIzchNj9A IzEzP2djVUlAITQ/QD9FP0EjMjRHVz8/X18jNTchNj9BR0MjNTFDIzQ4Rz8/QyMyMj8/Z08jMjk/ P18jND9DX1NzS09HTz8/RyE3P0M/Tj9KP0dXITY/QEJAIzIzQyE3P0M/Pz9AITU/QT8/QSM0ND9D QyM1Nj9BQUE/QCE4P0AkIzJPQSE0P18/XyMxMSExMD9HIzE2Pz93Vm0jMTI/RFV2X2FAQCMzN18h NT9AP0A/RUtTT09fP2FpR0ZVRT8/QT8/P0FBQT9CP0A/QSM1MV8jMTlPIzIzR0UjMjk/R0shNT9P IzMxPz9fP19PT0cjMl8/P09ATz9PT1dPTz9PV09DRyM1N08/Rz9PPz9HITk/QSE3P0EkIzRfIzIw QD8/QWNHYUdgSXNIc0hxZXlPQkAjMTQhNT9BPz9AIzFPTz8/P19XP09DP2M/P0A/Pz9BIzI0QSE3 P08hNz9BP0A/QD8/QD9fP09fXz9fXz8/X18/P08/ZyMzN18/X09hX2BxYEdgYCE1Xz9vP0dvR0cj MzFAP0A/P0MhNz9PP0BPX0N3RyQjMjYhMjY/R0cjMTA/R0RDQUBBPz9BIzE4ITg/R0c/P08/Yz9A QEA/QD9AQCMyOD9AP0AhNj9nP0hAIzQ5Pz9PIzQwSz9HIzM/Q0BBRD9ISUBCIzE5R0c/RyMzNkM/ P0M/P0NBP0E/QUE/Qz9BQ0MjNTAhND9fP19vX29HT3Q/V3NoU0c/byQjMzUhMzA/Rz9DQSMzNGdb Pz9AX2xZeXg/QWFAP0Q/Pz9fP2dzbVt5aVNHP29DQ01NTUBAPz8/Q19PSlA/T19fTz8/TyE2P0FA Pz9AP0AjMz9HR0c/P0NHIzE4P19fPz9fT18/Xz9nUz9XP1VLR19DPz8/XyQjMyEzMT9HIzIyXz8/ P0MjMjlXaUdPIzAhNT9AIzY4P08/RyMxITk/Tz9fPz8/Xz8/T1NXITQ/Q0E/P08/Tz8/P08hNT9D IzY3P0chOT9BIzIwR0MjMjFHIzY2QEEjNDZBIzY4Tz9vPz9HITc/Qz8/P0MjMzdBIzQ0Pz9AJCM0 NyEzMT9fIzI4TyM0Q0M/P0M/UUE/Pz9fQD8/QCM0M09EUFBXPz9HPz9AITQ/QCE4P18/XyMyNj8/ P0EjMjU/QSM4ITQ/RyMyOF8/Xz9PPz9DP0dHPz8/QSM0MUEjNjM/QyMxOT9BITg/RUM/QT9BIzQy Pz9AITk/QCQjNjAhMzQ/QD9AIzUwITEyP0chNz9AITQ/QCMzRz8/P19vPz9DIzM5QyMzNkYjMjAh MTM/QSMzNUM/Q0MjNjNPTyM1N18jNTE/TyMzMENDP0NDITc/QEBBQyM1ND9BPz9FIzU5ITY/QSQj NDMhMzQ/TyMyNUAjNDlBIzAhMzI/X18jNDI/P08jNDghMjQ/RyM0M0chNT9DPz9fITY/Z09vV1dP R0tDRz9BP0pASUVJQUUkIzYxITEwMD9fPz8/Tz8/P08/RyM0NUQjMjhAPz8/QD9AQT9AQD9AP0Ak IzQyITEwNj9APz9DLSMxMENHV2NPa19XP18/X09fTz9dITY/Xz8/X08jMjdPIzQwPz9APz9fITQ/ XyM0M0U/Pz9fQz8/Xz9DP2BKTVNlYWVjU1NTP0E/ST8/Q0JCP0JARUVDITU/Sz9xcT9AP0JnT29P U09vY1NMUVlPXVVOVU1KRUg/P0Q/QEMhOT9DP0NfX2NfYWAkIzNCVEJSTVJURWlbWT9JRz9HIzEy P1NHITU/b1tIP2M/P0kjMzRAREFPQENPQk9CYkJCYEEjNTdDP0NBIzU5RyE1P08/RyMzND8/P0A/ QF9fQE9PP29fIzQ0Pz8/QT9FP0EjNTBHIzQyQSM1OUEjMEMjMzQ/QUNHQ0Y/Q0lBRyMyOD9PXz9H P18/P09HP1M/T0ckIzI1b18jMzVfR18jMjA/SV9UQWNKP0ZpVUBBIzE0QCE2P19DPz8/T0MjMUFn V2RZZ18/XyMyOEdPP08/Tz9PITc/Rz9HP0dfPz9HITk/QSE1P0FDQUA/QCMyMiE0P18/Xz9fP18h OD9HIzQ4P18/P18/Pz9Xc1t5U09LSVVEY19AYCQjOEcjNEFDIzI/QCE0P0A/Qz8/QyMxM19faFFE X0c/P0c/P18/b0NPIzI5Q1EjNERJX08jMzc/Tz8/Qz9DQWRCRmBgcD9fbz8/QD9CQkFCQW9RT1FH Z2NjQU9jP2c/X2dnPz9PR0dLd0FGPz9AQkBAQEZKQkFEQERAQD9AIzQ0XyE0P1MkIzIxITc/QD8/ QE9kT0BAIzE1Pz9jeV52e15GQlFOSk5qXyMyNmcjMD8/P0MjMjJAP0c/Pz9fPz8/XyE3P0BAP0Aj NDRPPz8/RyM1MT8/P0BfIzU3QCE1P0dPTz9PITQ/Uz8/QyE4P0EjMTg/Pz9PITc/QD8/QURCQUBB P0lnUT9IP0E/P0E/P0A/QD9PJCMxNiEyMj9CIzQ5ITk/TyMyNCE0P0FOP0BvP08jMTg/Rz9HP09P QUs/Pz9PQyE1P0NDS0NHQSMwPz9PIzIyITU/QEAjMzFAPz9APz8/QEBfPz8/Rz8/XyE0P19fX0df X18/T19XQ0FHP0k/P0BBPz8/QT8/QU9IUD9IP0BHJCEzOT9DR0M/P0dPIzUwRz8/Rz8/QUMjMjRA ITU/X0BfTz9fITk/QEA/Pz9AQCE2P1dvT09BR0NHQ0c/Rz8/Q0EjNjghNj9AIzUwX29fXz9fQF9E YHRfd1hee0d1aV1VWV1EXSQjNDQhNDI/RyM0OEc/Pz9PRz9HQz8/P0c/R08/P0dHITQ/Q0NBPz9A ITU/Qz8/P0MjNjMhNz9HIzE/QyQjNjIhNDM/QyMyITU/QT8/T08/XyE4P0A/QD9PP0dHS0tXbz9n RyM1Nj9DIzE4T08/XyQjNjMhNTU/QSM0NyE3P18jMTkhMTQ/QSE1P0AkIzYxITc4P08/TyM2OGdf Xy0jMTBzaltqfmN6VGl0a09sITU/Qz9DQ0E/P0FDSUtXV09PVyMyOUQjMzRUQUQ/Xz9fXyE4P0Aj MTg/P0dPRz9TX09HV28/P18hND9fP0c/Rz9HQ0VPQUtHRUFBP2tHX09XT3c/Z09PP08/Pz9AITQ/ QCE2P18/P09vP0BPP09BR08/Rz9PR0ckIzM1QVNiUz9IQyMzP0Q/UUBBIzEze01CUGlQYUc/QD9D ITQ/QT9ARSMyNkEjMjI/P08/YD9fPz9PQEFjUUNHQSM2OCE0P0NDQUc/Xz8/P19fIzM0QD9AQEE/ Pz9AQSM2OD9DP0BBP0I/QCE1P0dHP0c/R08/Rz9HP0tPP0dDR1NHQ0dfP1NnQ09HR0M/Rz9DIzU3 Pz9DPz9fIzYyPz8/XyQjMjVIIzIwITQ/UT9pT0lAbU9CQCMxMj8/P0dLQUJDQkJMYkRBREVLSEMj NDM/Pz9PTUNBP1M/QWA/P0FDREtLXUFJP0hCQUJBRUNEQUlLSU1DQ0tFQ0RBP2BfP19vb3djY1NQ b1BAP0A/QD8/QD9AIzU5ITg/TyM0MyExMj9fPz8/X09AZEJQaHJRdiQjMTUhMTQ/Tz9pVGFPYGdv T2dvPz9AP0AjMTRBIzQwP0AjMjghNT9XQ0dHQUtDT0M/X0dfT18/P18/Xz9DITU/TyM1MUAjNDRP IzIhND9AIzU3ITc/QCE0P08jNDQhOD9BPz8/QCE3P0A/P0AjNzAhMTY/XyM2NEEjMzE/Q0FBP0Qk IzE2ITE0P197Qz8/P09PR2tPIzI1P0chND9fPz9XIzMxITU/T1M/Sz9PSUdnT09PXz9PXyE1P0NA QT9HITQ/RyExNT9AQj9AP19AITk/QEAkIzE0ITE5P0AjNDkhNj9PIzFvT18/PyE0X2AjNTY/Pz9H IzM3QSE1P0BAQT9BQkBEQEJDP0A/byE4P0BCQj9BP0RCQT9AITQ/V0dHIzI4ITk/QD8/P0AkIzI0 ITI4P18hNT9BSUtpT0JAQEJgXz9APz9AIzUwITk/QyE0P08hOT9HP0dfPz9jTz8/P0A/X0FDQz9j X0RfQD9DXz8/QT8/P0c/YF9hQUdfPz9RZ3ZhSn1FZHFqU0JrWU9rQ0M/RyQjNCEzMD9fIzYzITEz P08jMzlHIzQ4P18hNj9fP09vP1c/Pz9HR08/Pz9Pb1dPT29vb09XV0dLP0YhNT9BQUVBRUFTRW1h XWV9b219dnJ1SUVXdFZealZIRj9EP0BPSUhDSCQjNDQhNDg/Tz9fIzU5ITk/RyE2P09fXz8/X18k IzI0ITYxP0A/P0FAP0EkIzU3ITYyP18jMjJAP0M/P0MkIzYzITY2P0MjNTZfLSMxMGxSa1JsWWRK dWhWUyMxNXdBfF9VSERJRF1KXm5eRU8jMzJBPz9PITQ/RyMyNU8jMjg/Tz8/Xz9PPz9fX1dAV0BH YHM/az9XP2dfPz8/XyExMz9BP0FBIzE4ITIwP2MhOT9AQ0E/Qz9PSCM2Mj8/P18jNjQ/Xz8/P0VB REBAJCM0T0MjMjVAIzIwPz8/QT9HQWdCIzE2Pz8/SiE1P0AjMjkhNT9AITk/QSMzMT8/X19PPz9f b0A/RkE/Q3VDQkc/Tz8/Tz9PPz9PRyE3P0AhNz9AP0A/P0AjNTkhMjA/QSM2OEBDQSM1NyExNT9A IzQ0P08hND9PJCM4QSMzX1FnT2NXb0BTIzEzP2dGfEFTaEV5RHk/cz9PP3hDRz9DP0c/RyM0Nz9A Pz9hIzQzRz8/V0NYSVtXPz9DZz8/P0M/TUNJQz8/V0NHP0MhNz9AQEBCQEBAP0A/QCMzMSEyND9P P08/XyE5P08/V18/QWdPR0dnJCMzNT9HP0NBQD9DIzEyITk/bz9fITc/QVNNQUE/VU9LTyM2MyE0 P09HIzQ0P18/Pz9AITQ/QE9HX08jNTJfIzU2X18hNj9fIzQ0ITEzP0EhNz9DITY/QE9LT0tPP0c/ Pz9PVyM0Mz8/P18/XyE0P0dDX2NhZkJkQkNta1BLYUNBJCMxNCExOT9PPz8/Xz9fP2c/P0dDQ0cj MTFDTyMzNV8jMzchNT9DQSM1MD8/QD9DIzQ4X2dBTz8/P08/Pz9PPz9fITQ/T09PV29HWUs/QUVD R0NLY0VtS2NHZ25pTn1scnlmcm5ybXV1Wl56bmZYRUpDR0NBP0FAQT8/Rz9HPz8/QSM2MyE1P0FD JCMyNyEyMT9fIzEwITY/X29PR29fYWEjMTghMTQ/U18hND9AQkBCQ0FWTUNRQ1NJQz8/R0FjcWdn Z3c/XyE2P0EkIzQhMjg/QCMzNEAhNz9AQT9DITQ/QT9BIzM5Pz8/QCM2OCE4P0BAP0A/QEBBQEFF RkVEPz9PT08/b09vV19Pb09fT09Pbz9PJCMyNCEzMD9APz8/QD8/Q09LQEFBQEhDIzUwITE2P0c/ P0c/Pz9HSD9AP0A/P0M/P0NHPz9PP0FKT0A/QD9AQT9DRz8/P0BIQD9fQz8/Y3dfWGZZWHx8eXRq VVJcT0tZQ1dQQD9gT28kIzEhMzA/Xz9APz9AQUdfQD8/QCM1OSEyMT9fXz8/ITRfP28/P0UhNz9H Pz8/Q0E/Qz8/P0skIzIyITMxP0A/QCE0P0w/UUw/Y0E/Qz9BPz8/QT9JP0EjMzchNz9BP0FAP0Ak IzMhMzE/XyE1P18jNjEhMjY/QCQjNDAhMzI/QT8/P0MtIzEwSXhFaFV4VXprTiE4P0NLX0tjQ0dF Pz8/QEE/P18/Pz9AIzIyQ0JAQUFRa1FjUFM/U0dBRyM0OE9AQE9PT1V1e00/Rz9PP19gYmNfQ0dL TVxTdVt7a318XXh+fX5gbm17YnVkdm9qd1lQSUhESkVAQUUjMzEhNT9fITg/T19PQ0FBQEcjNzBP QyQjM2RBWEFIQ0BDQCMxMm9KITY/RkJSRUBCQVA/QiE0P0dPIzI5R08/P0dfR29PXyMzOUBRXyM0 ND8/X28/P0chNT9fPz8/QT8/QT9BSEtHP0dHRyE2P18hND9fIzUwITQ/V08/P1NHV0dLU0NjY3Bz Z19YX1RAckFyREZARl9BQSE2P19Xc09tZkJBJCMyME9DX1NfQWc/USMxMz9zQlNhVD9CR08/QD8/ QGFoY1BgP09fIzI0QT9HQyE0P0E/Q0c/Pz9HQUsjMTg/QyE0P0NJQ0c/Rz8/P18hNz9AP0BBQEE/ QEBBQEBBQCE2P08/RyExMD9PTz8/R0c/Q0NBPz8/QyMyNF8/Pz9PRyM0NF8jMjJHIzQ4P18/Zz8/ X18kIzE1ITExP2tqXGl0S29fXyE1P09XbV15RyM0OUEjNDBHP18/Tz9HT0cjMTc/RyM2Mz8/Qz9B IzUwQD8/Tz9PPz9HQ0FBRyE1P09fXz9BP0BBQUFAPz9JIzQzITI4P19PX29HeEd3d1lXUEBcRXZN dkxWRkJIRE9PQyMxOEAkIzE0ITExP08hNj9HIzIwP0dBP18jMTYhNT9DIzE0Y09fIzM0QT9JR0E/ P0MjNDMhOD9BSEJAQkhJQT8/QyE0P28hOT9AIzY4ITQ/QCE3P0E/QD9BP0BBP0BBP0I/QkBBQ0E/ Qz9NPz9DITQ/QyM2NF8/T19HPz8/QSM1NyE3P0cjMzdHJCMxNiExNT9JbyMyNT8/P08jMzRPIzFP ITg/QD8/RT9iX1A/P2cjMzchMTA/Qz9BIzQyXyM1Nj9AQD8/QEA/P0A/Pz9PPz8/T09PX08jNjMh NDE/Rz8/P0dfPz8/RyM2OCE2P08kIzQwITIxP18jNEdXQyE3P0BAQGA/TyM0N0E/P0NPXyMxOSEx NT9AIzUyQD8/P0AhNj9PIzU3ITQ3P0E/P0AkIzMhMzA/QCM2MEMjNThDQyE1P18jNTkhMjM/T0k/ SCE3P19fP19fX0dBQFE/Pz9DPz8/Qz8/QCE4P0c/P0EjNjIhMTM/Sz8/P0AkIzI1ITMzP08jOD9P IzQzQyMyOEMhND9AP0BAPz8/QGFfX19jQ29fP19fPz9APz9BSFNCUz9RQz9DTyM1MSE0NT9vJCMz MSEzOT9DP0A/Qz9HWmNHPz8/T0M/Tz8/RyE0P19DU2NDQT8/Sy0jMjBDQFVHYkdRP0IjMTVvXz9f QEVQRlpNXlVnWUAjND9PV0dXV0chNj9fIzIyP0NHSVA/Tz9wP19TP1dDP2NDT0U/RT9HQSM1OT9f ITg/Q0M/P19AP2hAP09QQU0/bz9CUltXX19HT28jMzFBQ0A/RD9IP0hJT1NHVUlPQE9LQEEhNT9A IzY4ITQ/X3t7d0tEJCMxMGp1aFZLdmx+IzEyT0E/R0NNX18hNz9DQSE0QD9DQUEjMjVDIzM1QE9H IzI0QUNnQVBFQGI/P19PIzQyP0A/QEBBZ2A/Pz9PPz9fIzE4QT9EQUA/QD9AQCE0P0M/P0cjNjgh Nj9HIzU2ITVfIzQ0P0BBP0JAQEEjNDNBPz8/Q1FDRElFSERKR0RCQT9DQEE/QiM2OSE4P0NBIzNP JE9HP18jMzVPIzEzPz8/a0dTQFFfWEVXY1BfSFVjR0BBP0E/QD9AIzE0QCMyOSE2P09gIzQzQz9F Q0MhND9PX18hOT9AQERAIzE4ITM0P0E/Rz9HTyE0P18jNjMhND9DQT8/P0BBP0IjNTZHT0dDIzU5 ITU/QCM1N09JJCMxNCE5P0NIQUBPP0dfP18/X0AjMjBAP1MhNT9BPz9BQ0cjMjghNj9HP0c/R0FL QD8/QUdQQEdgSE9oP29TP0E/Tz9PP08/X19PXz9PXyEyMz9BIzY4Pz9fIzQ0ITEwP193d2d7a29j Z1NKTz9HP0AjMzQ/XyM2XyQjMzIhOT9AP0MjMTAhMTE/UWdjRVNFRT9DQ0BJQSMzMSE3P1c/WkNP QEdpRUdvP0FBITQ/RUNJP0NBQCE2P08jNjQhNDQ/QD8/QCMyOEchND9BJCMxMSExMD9BP0cjMTYh MTA/XyMzP0chNz9HT0NVIzUwITk/QT9BP0MhOT9BITY/Qz9CP0AhNj9BQyE1P1dPTz9XT0s/Q09P b2BDX19LT09VRUpDUElAcF9vY3FHP0NDPz8/Qz9FQl9fT1FBQSQjMTYhMTE/byMxITE0P18/Xz9P Pz9PP0BAUFBAPz9fIzQ0ITQ/SD9BPz8/RT8/Q09FaENwPz9PT1c/b19fX29PP18/P18jNTEhNDE/ QSQjMiEyNz9fIzM3PyE3XyE0P0MhOD9fIzUyP0AjMzlPP0dPP0dPIzQ4Pz8/Rz9HRz9HTUtNTU1J Sk5eXkdaVXV+bm1kYG5GRks/QkJOTURNR1tXb2RnYF9PX19fITY/X08hND9PP08/X09MbkRAP0FA JCMyNyEzMD9AIzM0T1c/Pz9fS2lBT18/Xz9fIzQ4P0MjMjMhMTA/XyM1NiE2P19fXz8/TyM1OSE0 OT9PJCM0MCEzMT9HLSMxMFppXHRKdH5pITc/Q1dLS1lLR1dPP1BLR0MjMjZHQz9HRyMzPz8/byMy b28jMjJAQWBAYkdCaUBiITY/QFEhND9HP0cjNDhDQz9DRz8/T0chNj9SclJwYXBweFVreXtpV1NH eVZRP0dGQUA/P0AhNz9hP09vX29HT0tBRURFQXFfWUcjNTFfP28jMUckIzNjTz8/U0EjMTI/P2c/ Pz9fPz9aYWJBITQ/Q0tNQSMxQD8/YUE/P09DVyMyOCE0P09HT0tPY09PR1hzR28/bz9HX05QTmNh RHE/TD9fITU/QT9AIzUwITEyP0M/U2NpT0RHaHdWV2tNRUZBUURSYEhDZUBPZEdSQ29HcUtvSXh4 SEc/XyM0M0cjMzRPP28kIzIwP0RBITQ/VCE4P0MhNj9HTyMyNT9PP0dDIzM0P18/QUBhZEdIP2Ej MzFHT0s/Y1dDQUNFQWM/Tz9bP0M/Xz8/Qz8/RyM1Mj9AIzMxITI2P18/Xz8/Xz8/T19HT0tXR1tT QkBDIzU5ITY/Xz9vR28/P0MjNjI/Pz9PIzBDSSMzQSQjMzU/P19JX0cjMTM/P0F8QXNJU2o/QD9A Q0BGQ0JCIzg/QCMzMkMjMjRAP0A/Qj9BQEFGQUJTP0U/T0A/QEMhNT9HIzM5Pz8/V09HTyM1OUFA QT9BX0FDTU9sQXN4e319fmtHa01cTUVFSFI/QT9BQEI/Pz9EIzQzP19PX1dPaz9hQ0FBIzY4ITE1 P0M/VmRWRiMzN19AIzVAJCMxNCE4P1Q/bz8/P1MhND9AQSMyOSE3P0E/T0dfb2dPIzQ3ITU/QCMz Nz9BITg/QEAjNDIhNT9fQV9APz8/XyE0P0AjNjghMjM/Qz8/Q0E/P0A/QCM0NF8/Xz9fP193V1du SUZLSkZGQEBAIzU3ITg/SiMyQyM1OEMkIzE1ITk/QUxJVGo/XyE2P0IjNDAhNT9PP0c/Qz9DIzYz ITY/QyM0OCE2P0chNT9jIzU2ITEwP0BQQV9CUGVBdEhDQSE0P0MhOD8hNEAjMTghMTM/QCQjMTYh MTE/QCMzNSE1P09vXz9PIzM3ITc/QD9AIzQzP0AhND9DS0dfP18/QSE1P0A/QUJIJCM0ITIwP18/ P19fXz9xX3E/Tz9DP0cjNTAhMTI/Xz9fIzU5RyMxOEFDP0EkIzMhMjA/T19fPz8/XyM0OSE0P0NP IzU2ITE2P08/P08jNDRHP0NhZEI/Qz9PV29HP09XT19HPz9BP0A/QCE3P0c/Xy0jMTBAQURBQD9A Xj9PPz9DQyE0P19fTz8/Q0dfIzM3Tz9nT0dBQyE0P0FBQz9EPz9DQD8/P0E/QCM0OF8/Q0NJRSE0 P1dbd3dvXz93b3c/X19rfV1dbkVBQT8/b29wUklObl5WTXtJT1FfYU9vXW8/P2dXSGVqVUljP0JA QEEhNT9iUEVAQCM1N1MhND9DJCMzNF8/Pz9fb0chNT9fIzI2RyMyME8hOT9fIzJAIzI0Rz9PSyE1 P0NAITQ/Xz9QQD9FP0E/QCM0NF8/b19PX1dPYF9QITU/S0MjNTAhMTI/Z0NPQ0c/R2M/T08/Z19B dGBrS1trS19JS0FFRUU/P0A/P0A/P18/X0BJQD9PRUc/Q0AjMzRfSFFIQSQjNFtfT1tbTU8jMjU/ b19XIzE1Pz8/RFVGTUE/SyM0QEA/Pz9fIzIyRz8/P0NIRUhBITY/RktRTUhVRD9FP1EjNTY/Pz9A P0BHU0lAQEJCRD9AQEFCQD9AITU/QD9APz8/QCM2OD8/Tz8/Xz9PIzE4Pz9HP08hNj9HIzY4ITE5 P19wTUkjMThBIzUxWXVsVVgkIzhBIzFHaV8/Pz9fITQ/TyMxNj8/RyMzNT8/P0A/Pz9BTyM0ME8j NDM/Tz9fX1dfR3NnS1dPWEtRR2E/Tz9IP0c/QUAjNTIhNz9BITY/QCM0NCExNz9APz8/QCE3P0E/ QT9BQT8/P18/X09AP2dQRz9fQSM0MyExMD9fT2dAPz9fXyQjMz9UP0BBIzM1QCM0MEU/Pz9fV0dP IzMhNj9AIzE/P0A/RyMyOCE0P09fP18/P09fPz9fP28/Pz9fP2c/Z09DS1BpU0BtVUhjPz9DP0k/ V0UjMzEhMjQ/QEA/Q0A/QEA/QEBBREAhNj9AIzcwITEzP08jNjJfIzM3P0MkIzI5ITY/XyE0P18j MzQhMTI/QkVGZkZCREA/QEFAP0RHP0IjNTAhNj9fIzYzP0AjMTg/Qz9CP0AjNTkhNj9lYT9DPz9B P0xDfV5dUkBgYE93VHduekVNRUdjXyM0MyE4P0A/P0A/QyM1OW8/Pz9fV0M/P1FxV3dZc1x9dH1m Q0ckIzMyITg/TkcjOCExND9DIzI5ITU/QT9BIzMxPz9PXz8/P09HPz9nX08/T3NPR0c/ST8/XyE5 P09fIzI4ITM2P0A/P0AkIzEyITk/Q0NGQWJnX19vSFdfP3V3IzE4ITg/T08jNTE/P0EjNDQ/X18j NDIhMjc/QSM1NiEzOD9PTz8/P08/Yz9LQ0NDSEE/Pz9XRyQjMTMhOT9AQT9AP0FAV0BTQT9VRyM1 NyExNT9DQSQjMTQhOT9BQCE4P0NBZyMyITE2P0AtIzIyX0dfa1FrdyMxMENAQD8/QD8/P3xBQEJB P0JAIzJHR0tGIzIyP09gXU9tWU9rT2FHIzE4SEMhNz9fIzQyPz8/TyE0P0EjMTg/R19PXyM1MD8/ XyExND9PP0hvUUNvTVttVUZZRUpKTUJHRT8/QyE4P0M/Z1NfP19Ib0dTP0VDRkdARz8/Rz9DIzM3 QCQjMzRGQUxCTEJEIzNBIzEyfT9BITU/QSE0P0AjNTc/Pz9PP08jMjk/P0MjMjg/YD9AX0BfT19V aFVsVWhhP1RBc2hdZ0x5P1pDQEEhNj9BP0AjNDQhMTE/Xz9fP19HP19fPyE0X29vT09RV1F1eV5G ZVJFP2VAXyE0P0cjNDghNz9CP0FXP293X29fVyQjMzdHITQ/TyMyOUE/Pz9AQCMxNj9HIzE/Pz9P Tz8/Q0NHITg/QyMzMUA/Pz9AP0BfQV8/QCE1P0A/P0BfIzU0QyM2OCE3P0NHIzMxITIxP28/Tz9P R1dDV0NDP0tDP0sjNDJHPz9HIzU2P2M/X09nQT9AZyE0P0NAX19vZ18jNjhEP09HP09HT18kIzI0 T0NPIzQhND93IzExP2EhNT9BIzIwP0A/P0A/Pz9CQUAjNDghMTQ/T0dBPz9XdyE0P18/Tz9fX3d3 b0tDV3Z+UEBAQURFITc/QndFe1NMTEJOQEJAQD8/QD8/YF9gYGBAQF9vWEdHREAjNDMhMTc/RUFF Q0VGQUUkP28/T18jMjY/P0AjMTU/W3t3e3VdfCMzNT9fITc/QCM0NCExNz9PX0E/QEFAP1FAQUFA XD9AP0MhNz9FQyM1OSEzOD9wWUdVWH5VQl52XnVKdUpeSE9Xb19fIzUxQD8/P0AkIzE/QEEjMTMh OD9DQUBgIzI1Pz9DITU/QSM1NiEyMD9HU0M/P0NHQyE0P0FDPz9AQiE4P0dHITQ/XyM1NyE1Mj9A P0AjMTg/P0ckIzMyITExP0EjNDAhNT9HIzM0R09XP0dPITQ/QkchND9DSyM1MCExMD9AIzU5RWdX QSE4P0U/T2pCPz9Ne3d3cXAhNH5efn57RkhCQUEhOD9AIzY0ITM1P0MjMjQ/QUAkIzMhMTg/QT8/ QT8/Q0NBIzUyITI2P0MkIzQhMTg/Y0tDRz9DJCMyNCExOT9fPz9PITY/Rj9fRz8/QUE/QyQjMzch MjA/X08/P29fb0dDP1E/QSE0P0VHQSQjNDMhMjE/X19fPz8/X3dfR0A/T19AT0dAUz8/QC0jMjJD QD9BQEFAVyMxdyE2P18/P09RWz8/P08jMzdfIzQ4Pz9fIzQ0X09fP19fT29PR19DS1lHQ0NBRz8/ P0NQQVNKT09nQ18hOD9fXyE5P0AhNj9AXz9gX2BAYEA/P2dnT2tXa1A/UVNQT0BLQEAjNTQhNT9f X3d7byMxOUcjNDJPIzQ0Pz8/TyM2OEA/P0BBJCM0MndfV3dfV2cjMjRFIzQwRSE1P18hND9HIzI0 QGM/R18/TyMzOSE0P0chND9DIzU2P18/Pz9fP29ZV0NvbyE2P18/P08/Xz8/XyE2P0MjNjghNz9D P0NBUz9DT0M/QyM1NiE4P08/Y09fUWdca2lNZVNwa1NPX29HR0tDQkA/P0hGTntfd3dbb19XJCM0 NEFDPz9BIzM0Pz9AIzEyQEU/P0dNREEjMl8jNTFfP18jMjI/QXNjR1tnT0BPSkBLP1A/Pz9BPz9B IzUyP18/P18jNDg/TkZOP0s/Rz9DQkFAQkJLYEZCITQ/SF8hND9fQUVhbWl4SkxaTklMQFVEU3NT Y2t+P1ZCQEBAP2E/QD8/RyE1P0E/P0AhMTI/QD9AQCQjMzFAP0UjMzk/QyMzMiE0P0dvP08/Pz9D QkMjNDM/P0BCITRAaD9APz9APz8/QD9AIzU5P08hNT9AXz9HT28hNF8/P0NfW1NyXVd7en1uXlVY fnZ8blRYcEg/QENfP18/X09XP1c/Rz9HTz9DP0dBRT9FP0A/X0BfP1Fnbl5MU0ZBQSE3P0FNQ0Vf TVtDJCMyOD9ZX0RXY1VfIzEzP0BDUUQ/QT9CIzIwQyMzNF9AYT9HTyMzMUNBQ0FbQz9RP15DSUdD T0lAQD9BITEyP0cjNTAhOT9DQE8/P0E/R0FPSWNHT09PPz9xP19PQWFHQUlBSVFCP0IjNDIhMTA/ RyM1MkFBITU/X29PV0NBTnZld28hNz9fJCM0Mz8/QD8/QCMyNT8/P28hNT9PIzM4P0cjMjk/Pz9H IzI4P0FBP0FDQUljQ3E/SWRBakNUaU9EVElgQ0I/P19KQVxCU0JrUEk/RyM1MCE1MT9BPz8/Qj8/ QCE3P0BAQUBBPz9BJCMxMSExMD9HXz9PIzEwR0NHP0kjNDc/P08jNDIhMTk/Xz8/QD8/TyQjMTUh MTA/QkhfQCMzTz9PTyQjMTQhMTE/Q0E/P0AkIzM1ITEzP18/Rz8/QEMtIzMxX19fP19TT08hOT9f Pz8/QUt7R2pDaj9sQCM1Nj8/X19fT0FfX1FfPz8/X0BfQD8/QG9kWT9GQVRHfVR5WEVHUWFBIzUw Pz8/R0BLb0NtSG1AP0JAQUAjMjg/TyM1Nkc/P0c/X0NBP3FzUX1pRG9+eXNxXF1ORUJCQkBAIzE5 Pz9DITY/Q0E/R09nP0c/QyQjMzlPT09HPz9HSU8jMUhfITQ/Zz9HIzIyYU9pT0FARlNAP0MjNDI/ R3FEWUNPQWBDUUxPRU9hT18/TyM0OD9DQyE1P0A/Pz9BREFfPz8/Qz9FP1FlQUJCQEFAP0A/P2Bf YEBfb2FQQ0FAPz8/RyM1OT8/P1lNP0RKREFAP0AjNTU/P29vd3d7eW5VeyM0Mj8/QT8/QSM1NSE0 P19vbyQjMjhAQUdAQUBBRCMyNEchNz9SQUdEIzE4QyMyOD9fP08/aUN6QXVMWURSTWBLUktfTXBJ VElRVGlESW9ITyE0P0cjMzEhMTc/Rz9TP0NLQ0NDIzU5ITQ/RyM0MiE0P18/b0dAP0AhNz9fITQ/ QyM1NiExND9APz8/SkAkIzQyTUBGQUxBRCM0MD9ARU8/Pz9PRUcjMzREQz8/QCM0ND8/Xz9PITU/ Xz9HQEtPRz8/P0dDR0NLRz9HbyE4P0EhND9Xb0tXd1t3fGNXb0tvT19PcXF3eVddXW1WRlxlelxZ XE5EQWw/VF9APz8/RyM1ND9fb19vd0dNRUZCQE9oQn59d3d3b28/P29PR0kkIzQ0P0s/Uz9HIzQ3 Pz9BbyMyNUZvR3dHIzU4UCMzN18/T0k/P0AjMzkhND9PP08jMTkhOT9AITk/XyMzOSEzMD9HIzUy ITE0P18hMTU/V0s/QyE5P0BEQkRLRm5WQ0VGQCQjNjQ/Pz9fIzIyTyM2MyE0XyMzMj9HQnFDIzhf IzI5P0NPIzQzQF9Qa09BIzU5ITE3P0AhNT9BQ1FASUVJZH53e2F0QGc/Y0BGYERAYkBBQD9AJCMx NyE4P0MjNjA/P0tDP0MjNTIhMjg/YD9AJCMxMSExMj9AIzEzQSMxMEAkIzE0ITEzP0AjMzVBLSM1 N0dHT0dPP0dXITg/RyM0M3FVTUNfIzM5QyM0MkNXQ1dnSGdcZ0lvVFNHX0NAITQ/QUlPQT9IP0c/ Q0cjNDghNz9fQF8hND9AP0BGRUE/QUE/P0JAQD9AQCM0Mj8/R09JQz9qQUVPRj9JP0lDP0E/QCE0 P0AjNTIhOD9BQ0cjNjc/Pz9fX09PRz9DQT9AJCM2MkVTRUNFXVZDRSMwXz9BX09fIzM0T0UjMjRI Pz9AIzQ0T0dfYEFDUkM/Pz9AIzE5Qz9BQ08/XyM1OT9DITc/QT8/P0A/QD9AQEBBRlVNXV56Xl5b enV3d2t3e2d7eUNNRUVBQUJAITc/XyM1NCE0P2dPb1d7WXtOfk5+SWRXRElmW3l7d29hVk5WTkJG QUJAIzY2X19vTyQjNjRAQkA/QD8/P0AjOD9PX0tHIzJPIzdfIzM3cENIIzIyUD9HP0EhOD9PIzUy Pz8/QD9BQT9BQT9PPz9fXz8/QCE0P18jNTAhOT9DXz9hQ0c/P09FP1NBQz8/P0AjNTIhOD9EQyE0 P29vT19IQz9DQSMxOSEyMD9PP0g/Q0IjNDY/P18kIzQzbz9HP0cjMzdfIzE/P08/R1tBQ0NOIzE4 Pz9fIzQ4XyMyOElEYlhDeGFDcURhVj9IYUdxR28/P2BTQUg/RD9QQ0pRRSM1NiEyNz93T3dnW1d7 TXNudHpXT2xIbHdOREZEQUJAQCMzNiEyMj9fX09HR0NFRSQjNTE/X19xXz9fYUdeRSMyNUA/QEAj MzEhNT9fQU8/Pz9APz9PIzU0Pz9DITQ/QSE0P19TPz8/QD8/QyMyOCE0MT9BIzU1ITEwP18/Xz9v P28/c1lmeXRXYkRCREpUZ29nT0tHQ0NBP0BAJCM2Mz8/P0A/QD9AIzlfIzcxP0A/QCMzNUEjNEkj NTAhNT9PIzU2Pz8/QSE0P0E/Pz9BP0A/REhbfldIX2N0aVtFb29DeFl0XV59fX1cd0hfQD8/P18j MzAhNjE/X29PV0dHJCM1OCExMD9fIzM/T18jMjMhMTg/Xz9HXyM0NCE3P0ghND9HPz9fP19BXyE0 P18/P08/XyE3PyE3QD9fP09fYz9vQj8/P18/T09BG1w= --_42A96340-2A25-4AF7-95EB-CD8685C2FFDC_ Content-Type: application/octet-stream; name="testing-strace.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="testing-strace.log" Li4uCndyaXRlKDYsICJcMzNQcVwiMTsxOzEzNjsxMTQjMDsyOzUwOzQ3OzI4IzE7Mjs0NDs0Nzsy OCMyOzI7NTM7NTY7MjUjMzsyOzUzOzYwOzI4IzQ7Mjs0NDs1NjsyOCM1OzI7NTM7NTA7MzgjNjsy OzYwOzUwOzQxIzc7Mjs2Njs1MDsyMiM4OzI7NTA7NDc7MzUjOTsyOzUwOzQ0OzI4IzEwOzI7NDc7 NjM7NDEjMTE7Mjs2Mzs1Mzs1MyMxMjsyOzQ0OzYzOzUwIzEzOzI7NzI7NzU7NTMjMTQ7Mjs0NDs2 Mzs3MiMxNTsyOzYwOzcyOzc4IzE2OzI7ODI7NzI7NzgjMTc7MjsyNTs0MTszMSMxODsyOzQxOzQ0 OzMjMTk7MjsyMjsyMjswIzIwOzI7NjY7NjY7NDEjMjE7Mjs2Njs3MjsxOSMyMjsyOzI1OzM4OzE5 IzIzOzI7MTk7MjI7MTMjMjQ7Mjs0MTszODsyMiMyNTsyOzQ0OzUwOzQ0IzI2OzI7Mzg7NTY7NDQj Mjc7MjsxNjs4NTs3MiMyODsyOzI1OzM1OzMjMjk7MjsyODs1MDszNSMzMDsyOzk7OTszIzMxOzI7 Mzg7MzU7MTYjMzI7Mjs0NDs1Njs1MyMzMzsyOzA7MjU7MTkjMzQ7Mjs0MTs1MDsyMiMzNTsyOzUz OzUwOzQxIzM2OzI7MTY7MTY7MCMzNzsyOzQ0OzUwOzE2IzM4OzI7NjM7NTA7NDQjMzk7MjszODsy ODsxOSM0MDsyOzQxOzUwOzQ0IzQxOzI7MzsxNjszIzQyOzI7Mjg7MjI7OSM0MzsyOzQ0OzQxOzEz IzQ0OzI7Mzg7Mjg7NiM0NTsyOzE2OzE2OzkjNDY7MjszOzM7MyM0NzsyOzQxOzM4OzI4IzQ4OzI7 Mzg7MzU7MyM0OTsyOzI4OzUzOzQxIzUwOzI7NDQ7MzU7NiM1MTsyOzQ3OzQxOzIyIzUyOzI7MzE7 MjU7MCM1MzsyOzIyOzQ3OzM1IzU0OzI7MjU7MjI7MCM1NTsyOzI1OzE5OzAjNTY7MjszNTsyNTsw IzU3OzI7NTM7NDQ7MTYjNTg7Mjs0NDs0NDsyOCM1OTsyOzM4OzMxOzAjNjA7Mjs0MTs1Mzs1MCM2 MTsyOzUzOzU2OzYjNjI7Mjs0NzszODsyMiM2MzsyOzQxOzM1OzE5IzY0OzI7NDQ7Mzg7MjIjNjU7 MjsxNjszOzYjNjY7Mjs2OzM7MyM2NzsyOzE5OzEzOzAjNjg7Mjs0Nzs0MTszIzY5OzI7NTM7NDQ7 MCM3MDsyOzUzOzM4OzYjNzE7Mjs1MDs0NDs0MSMwQElDUElBT0JRQ0I/QFE/Rz9PP28/X0dvS09H T2tBXFxJUVU/RXhBSUBCP0EjMjlPIzE0Xz9PYVc/UEEjMjdHP0MjMTY/P19PQFNBfiMxMlc/P0Vf Rz8/Xz8/P09nX1lfXV9JRGcjMjBfP09RTyE0P0BnWkNgP2dRY09Le0NxQyE3P0pfR0FHXz8/Qz9B T0I/UT9BSD9kJCMzc2N3ZWNYZVNHSltmXURuRHVMdk1pWEVLYEBAR0FUQUNAR0RPPz9TP1c/QyM0 MF8jMzJDRyMxNT8/Q19LX2NSaFF8RmxJYmw/Qj8/P0g/TEREQURHQD9AIzEwITQ/T2dPRXtiS0Ah ND9TUWNQT2pPY1BtcT9aQ3hFITQ/QXpjSmRXYyE0P0JARkNIZGlAQURRJCMyR09AR09fR19jb19X X2dPcUdfRz9QQ09BUUtRZD8/P18/Xz9fQ0dfX0MjMTBfP0tIIzEzT2NYYVxcYVxcUmtRbEFXQXNH Tz9jPz9AVWRRaVF8SXZpVl1gXmBeZFFGWEJLYE1CITc/SUNEQElAP0I/SEFAITk/QE8jMTlAP18j MzdPXz9fJCMxQUBBP0BDQEcjNEAjNSE3P0AhND9BP0A/QT8/QCM0Pz8/Qz8/P0E/P0EjMjU/P19B IzIwQSMxMmVKQ0BBIzE3ITE0P0AjMTB8dyMxND9PP08/P28hND9DIzQhMTA/X0M/T0gjMzVnIzEy Pz9JQz9BRyMyMT8/QCMzP18/P0c/P2NZd0NPU1EhNT9CP0NHV3VHVHtzeUckIzkhMTc/QT8/QyMx P18/P19fPz9fPz8/QEk/P0NAUz9OWEAjMzhPIzExQCMyMyExOD9JIzI2QSMyNz8/QV8/Rz8/P0Mj MjghMTQ/T0cjMWdPIzExPz8/Xz9PIzM0ITk/Tz9fTyMzNWNDITQ/XyMyOUEjMzZDVyMzNENfRyQj NiExOT9AIzc/P0AjOD8/P0NBPz8/QCE1P0A/P18jMzMhMjM/UyMyMyEyNT9fIzE5RUAjM2VBRCMy OCExMz9fY0EjNEBAITk/QT9DTz9fJCMzNCEyOD9PR19PZz9vRz9vP0c/TyM0MSEyMj9fIzM3ITI1 P0cjMjJPQSExNz9KQyE4P0BHIzI0QEcjMkdPZyQjOSEzNT9AIzM0ITU1P19DIzM5ITE3P08jMjNA IzFJIzg/QCMxMSE0P0MjMzA/QSMyM2MjMEAkIzE4ITkxP0AjMjQhMTk/VyM0MCE5P08jMzFBIzI4 Ty0jM35+e353bnd1fHx5fXx5fXx5fnRzeF90X0dxITEwP0FPRUcjMTVbQz8/P0NIT2VPfUN6bHFO b0xfTk9FTyE4P0A/P0MjMzU/Pz9fITc/RSE0P0c/Zz9zSEFHUWtAUWMjMl8jND9PP0E/Pz9nST8/ Xz9fPz8/VyE2P0BEQz9PP08kIzI/P0I/Rk9GSEFBREBBREBBPz9HQUNZP1lvR293b3hjeGFYX1dE IzRfRz9AIzE0Xz8/P18/X0AjMTYhOD9BTz8/P04jMTBDP0BLW3dwV29fR29jP2c/P1I/R00/RkdB ITQ/Z0F0SGFYRj9SQ0BJQD8/RCE2P0NCVURIQT9CITk/QEE/P0EkIzAhMTY/RD9BSD9ESUM/REhB RCE1P0ZfZ0A/QCMxNl9AIzEyUVtRSlNBIzI3Rz9AIzEyITEyP2o/P0FCRUNFP0pTQkdJVEFcXF9T Yj8/P18jMjI/T0FBIzg/QU8jNUEhOD9PIzEhND9DPz9fIzI1Pz9PXyMxITc/Qz9fITY/R19fIzM1 QyQjNCEyMD9BIzE/P0BBP0FAPz9AQVxcX08/T0M/QyMyNj8/R0AjMjIhMjA/Rz9fIzI0XyMyMD9H Pz9PX0c/bz9TX0tBU2BTb0B8QiE4P0M/QD9BP0A/QD9BITY/QD9AITU/RUcjMjNAIzQzQUM/R08j MThfIzU/Pz9DJCMzNCEyND9DP0NDSUVZQz9FR0Y/SUBBIzIzITI0P2BfIzFPIzE0ITQ/Qz8/P0Aj MTEhNT9HPz9JP08jMjg/X0NAIzQ/QyMyNCExNT93P0MjMFE/XyE4P2AhOT9PPz9fJCM4ITI0P0Aj MTAhMTM/X09BP2NBQCMyOCExOT9DTyMzOCExNT9fIzMyP09fIzNHITQ/b1VQREdBU19vaz93az9d fW53QD8/P0JUaVdHT1V4fnc/T28hNT9BQUROWkgkIzI1ITM4P08jMTNfP1lAX2tPYUxPbj96Q1FM b05vTm9ueF9PPz9AP0BBQElDQj9RREFIQT9APz9AIzM0Pz8/Rz9HIzE5ITE4P0EjMjJHIzM0RFMj MzU/P0M/aT9DP0MjMzQ/Xz9APz8/S08/XyQjMzMhNjQ/QSM0QSE0P18jMjUhMTc/QyMxYD9gIzIz ITE3P0AjMjhhIzM3RyMxOSExMT9AQ0NnT18jNDRfJCM0MSE2ND9PIzI5SyMyNCEyMz9PQyMzNiEx OD97IzQyQCMyMiExMj9BIzI0RyMzNkdPXyQjMjMhODk/RyM0MyEyMD9PIzMwITEzP0EjNDJPIzM3 QkVGP0dvJCMyITEyNz9AP0E/RyQjMzEhMTI3P0dPLSMzRkhGVk5EfE5dfn5+dnx6dGJGcUpAUEBV Pz9AP0U/X1NHRWdXQyMxM19XYT9PYUU/VWtAaVR5Q2pkWXVsSWZZRFpFQD9DQ0c/P08jOEEjM1A/ YV9fP0FFP0NLRz9HPz8/QF1DQGk/d2xpXXVESUJESVBERm8hNj9EP0BAbz9CPz9CQ0M/RyMyOEM/ P08jNTRPIzMxR0ckIzJfP18/X0dBX0AhNz9HITQ/Qz8/QEBHQEBCRkJESFZCIzEwd01APz9CQ0hV R09vPz8/X09PPz8/Tz8/T18/P0d3P09HXz9QPyE0QD9AP0BAP0BDQUE/Pz9APz9AITQ/QCM1QCMy aXNnd2NpWW9HITk/U0FsZ1VLc19HIzM3XyE2P0EjNTVPJCM0R0MhNj9fIzIwPz8/R0FDSVNnSFNz SXNIc0lzX1djT2c/bz9fITg/RyMyNz8/P0BHP0EjMTQhOD9JIzI4P18hOD9HPz8/RyE2P18jNDc/ Xz8/QCM4Pz8/RyE0P08jMzQhNT9PP08/Pz9FPz8/Q1c/Xz9fP0A/P2BQP1dBT18/Tz9BQD9EJCMw T09HP08jNUEjMjEhMTE/T0NfSV9JX0lvP11fT0c/byMxPz9DQCMxNE9DIzE2P0sjNDlHP18hNT9f ITU/RyE3P2EjMUUhND9AITU/QyE0P1c/Tz9XITQ/QyE4P18jMjQhOT9AP0BbZyMyNT9AIzg/QCMz NSE4P0AjMzlAIzQzQT9fP0BgIzQyP08kIzE/Xz9HP18/TyM3ITE3P0NBPz9HIzA/P0EjND8/P0Ej MzVAIzE1X1xccl8hND9ASUNBRFBDSURAUURPRD8/QCMzNE8hNj9HP0FPPz9DX0MhNz9DT2NBXyMz MSExOD9fP18jMUJGe08/P0dDT0NHITQ/QyMzNkAhNT9fXyQjOD9BIzM0T18/TyMxMSEzMj9BIzEy Pz9DQD9AQEFDTz8/Rz8/Xz8/X0dfX0NHIzE3Q0AjNDVAPz8/QUM/R0cjMjNHPz9PP18hNT9fRz9A IzE5ITIwP01PIzM3QCM0M09fIzMwITEzP0AjNTFDR19fPz9DQSQjMjkhNDI/Tz8/XyM1MyExNj9P IzIzRyMyMG8/Z19PTz9fX18hNT9AP0E/P0E/QCMyMkEjMzYhMjE/QCMyM0MjNDdBIzE5ITE2P0FC Q0c/RyQjNTMhNDI/RyMyOE8jNDFfIzQwITIwP0EjMzVPQz9HXyE2P0AhNT9BITc/QUFTSkRBVD8/ P0AjNDQhNz9PIzI4aSM5ITE3P08jNDQ/ST8/XyQjMjIhNjY/QT9APz8/QyMyQT9BQUU/RyE4P0cj NDghNDE/QEE/QyQjNDYhNjY/QCMzNkE/Pz9DIzI0P0NDP0chNj9fP08jNDM/XyM1MCE0Mz9PQ0Ek IzQxITY3P0AjNDdDP0EjNDQ/Pz9PIzUxPz9HIzBHPz9HP08hND9PZz9gPz9fITQ/R08/Q0E/P19H ITc/QWtPYUdBTz9hRz9vPz9PITQ/QCQjMjUhNjg/XyMxOUMhNT9PTz8/P19fITQ/b0MjNTIhNDM/ Q0ckIzMwITY4P0EjND9AIiwgNDA5NikgPSA0MDk2Ci0tLSBTSUdJTyB7c2lfc2lnbm89U0lHSU8s IHNpX2NvZGU9U0lfS0VSTkVMfSAtLS0KcnRfc2lncmV0dXJuKHttYXNrPVtdfSkgICAgICAgICAg ICAgICAgID0gNDA5Ngp3cml0ZSg2LCAiITk/Qz9BQyE1P08/T3s/U0EhOD9AQyE4P0FHUU0hNz9B P0ckIzMxITc4P28hOD9HQSQjMzkhNzk/TyMzOEEhND9DJCMzNyE4MT9PIzExQD8/QCQjMjUhODQ/ QC0jMn13YVdDaT9JP0RHRUdnU1dhcF9fT19HPz9HIzc/P08/Pz9AIzEyT19DPz9DRG9NYV9PZ1NP IzIyQSE0P0c/T08hND9nIzFvPz9fITQ/QyM1RyMyITQ/QD9BQUAjMjRAITQ/SkxHIzFWdV9EYF8/ P0kjNTchOT9fIzI0P0A/Pz9ASUdHTyM1MUs/X1BHP0dDQD8/QT8/P0MjNDFHIzMwRiQjMEBDQGFA P0Q/QT9AP08jMjA/Pz9AP0BAQUhFUG5AbVBtcH10S05APz9PP18jMjc/P09HIzI2QCMyM0BBP0M/ Rz9HPz8/ITRfZ1MjNEtPIzI1TyMxMT9BP0AjMjEhOD9AIzE5ITQ/QD8/T18jMF8/Pz9DUT9VQD9A U0hBX0M/QT9PP0dPITc/Qj9ARz9BP0E/P0QjNTBPIzNfPz9fIzM2X0BHJCMzND9CQ0RRUGdve3lP b19PP18jMjE/P0NBP0FQSU9FUG1ATUBJQSMxNl8jMTBXQj8/eVchNT9BP2BoP3JBRkVNS0VcXCE1 P0BqVWNeQWlgQ1FHX0NvR2M/RyM4Pz9BITc/Rz9HIzU/RyMySVNJY1dNen58fm5admlvITQ/QT9H QT9CQUNAT0A/P18jMjA/Xz9XIzIyQSM0Nm8kIzM3Pz9XP2cjMUM/RD8/P0c/P18jMzIhMTc/Xz8/ P0AjMTdfITg/QCMxQz8/P08jMzY/Tz9fIzM1Pz9PITU/Q0hXX1tPQWA/QU8jMzYhOD9AQEsjNTE/ TyMzNHZnITY/Qz8/P0AjMzchOT9HX0BBQ18/Pz9HT19AUUNHRV9DUEAjMThHIzQ0QCMyNEcjNTVB JCM0ITY/QT8/P0M/QyMxMyEyMj9HSUQ/QUlvR1RnQ2dHT1A/QD9AQEFIQUNIQCM1M0AjNDBBIzIw ITU/X0Q/QT9PP2BHXz9TP19DVyMyMkc/U0EjND8/SFBnUUdPQD8/P0MjMzEhOT9FR0FHIzM0QENU Q1BBQyM1N0tfQ0A/Pz9AIzYxP08jMjFvIzQyP0AkIzUxITY/Tz8/P18jNDkhMjQ/XyMxNUM/Pz9D QERBRU8jNDE/QT9DP0cjMTk/P08jNDlAITQ/QyMxMyEyMj9DIzIzQ0EjMzUhOT9DIzlfIzU2ITEz P0AjNDNPQz9PTyE0Xz8/T2c/UUdJQT9BQCQjMyE4P0A/QUBCRkpGW01ZW2xTX2M/byE2P08/RSM2 ME8jMTRPSUA/QCMzITg/Xz8/P18hOT9tITY/V09sZE5ZRVVYaHVdeV9fITY/QT9DQGFPX2BRX1Ah NT9DP0MjMjg/QkdfIzUwXyMxQEE/P0MjNTkhND9fITU/RyQjMjIhMzY/XyM0ITEyP0E/QyMzMT8/ XyMxMj8/P0pFQSE1P0AjMzchMTc/TyMyOF8jNDQhMjU/QyM0OG9PIzchNT9PIzU2ITU/Xz8/Rz9D JCM1OCE0OT9HIzI4Qz9PITg/QUAjMzkhMjE/QSMzMEAjMjIhMjc/QyMyOCExMj9fPz9HP0U/TyQj MjAhNTE/X18jMjkhNj9PIzMwTyM0OCE2NT9PPz9DPz9DJCMxOSExMjc/TyE0P0E/Q28tIzJGSlZJ XFxRQ0c/XyE0P0A/P0FASUJEXl1rWSMyMUU/QCMxMl9nW3BLQT8/P0M/Q3hVe25pUCMyMEAhNj9A QEFBRz9fITc/QU9kT2RZX1NnP0hBQz8/Q0AjNDhAIzMxQU8/XyMwP0A/W0BVUURIY1BfQz9JP0Q/ P0NAIzI0P0MhND9PIzNfPz9fR1NjRz9EP08jNEE/QiM0MWBCIzE5UCQjMjFnU19fP18jMzRAP0NJ REpUQlNrSWxdU3tHP19PIzIwQD8/S0QjMzJPIzExXyMxND8/X0chNz9AIzMhND9PTWp7cmhTV19f ITk/W1dfPz9BP0RKQlZxbFBefmpxe28hNj9AQT8/RyE2P0AjNDM/T08/T0dHP0E/Pz9CQkE/RCMx OD9BP0AjMTBvR29DV18jMjNvP0sjMzFDJCM3T18/TyM1Nz8/Zz9HP18jMCE1P0AhND9fIzM/QEJj d05BQUAjMzVAIzQ5Pz9PIzE2Pz9BIzM1ITEwP0MhOD9HYT9PITU/QD9DSD9DR19RPz9fP08jNEE/ P08jMktBP18hNj9fP2hfVVJtTlJOU0ZBSkRAPz9BITQ/X09vP1dDPz8/QEEjNjE/P0AjMTNDIzIy RyM0Nl1fJCM2MT8/R0NfR09fXyMyND9BPz9HZz9vP18jNEA/QSM3ITQ/QCMxMG8/R0VBITY/YF5y Q0g/T0RrfUpQQz8/QUFDV1NPZyE1P0BFQkBFWWpPREdfU0dDP2cjNV8jNDMhND9DP0tXIzE/QUZB P0A/P18jMzc/P09nP19XX0NPST9CITg/QCMzNiExMz9PJCMzNz8/P0BBREFWT1NPX2dTP1I/Tz8/ P09fIzEzITU/T08/P0txR3NYfFlfR0FfQT9PQSMyP18/P0BDT19fIzFDITU/QUhHTyMyX18jMjgh MTg/QEVPIzUxQUNfIzQhND9DQT9HIzUxPz8/Xz9fPz9JITQ/QyE1P0AjMjBPP18/T0NJP0FIX1Ek IzUxITg/QUA/P0E/QT9DIzE/P18jMTUhOD9fPz8/QUBEQmUjNCExMj9fT0FHQ0chOD9FRUtPP18j MzchMTc/RyMyNEBAP08/XyM1NyExMD9PPz9HPz8/QUMjMjNPPz8/TyMyMT8/P18/T2dHcUNvTGFD SCQjMSE4P0AjNDM/R1M/XyMyNSE0MT9BITU/XyMyNEM/X18jNUcjMTkhMjA/RyMzNEFEaltXX1tn P08jNjQhOT9fIzUwXyE0P0A/P0EkIzE3ITU2P0AjMjNAPz8/Q08jMzFPIzQwQCM1NiEyMz9fIzI4 ITIwP18/bz8/QWA/Q0dHQUFAP0AhNz9DPz9pJCMzNiE1OD9AQENHP18jMzQhNDY/Qz9HPz8/Xz8/ P0c/Pz9BJCMxMyE1OD9DTyMzMEIjMjhBZyMxOSE0Nz9fPz8/Xz9DP0NDQyQjOCE1OT9DITU/QSM2 MyE0ND9PPz8/QyM1NkEhNz9AJCMyMiE1OT9BR0AjMzRAP08jNjIhNDc/QCMzNk8/V0dHJCMxOSE2 MT9PIzY1ITUwP18jMjJHIzU5QCE3P0EkIzMwITExMz9fIzM5RyM0NEMjNDhAJCM0NiExMTQ/Ty0j MjF8em18WXVrc09PXyMzN0JEVEdPaG9HTyMxQCMwQSM0N08jOF8jNElAITU/RyE4P19DPz9fPz8/ QEFEP0AhOT9fITY/QD8/R0c/RyMzNyE1P18hND9fV2BDTz8/QT8/Xz9fP09PP0c/P0MjNTlBIzEz XyMyMFchOD9BP0AjMj9vV29TYT9HUCMxXyMzMUc/Pz9xJCM3QUNPQWRHUEFnXyMzNCE0P0ZpRT9m aFV8bltEIzEwQ0A/Pz9VRHl1bz93Y2dUQkBFS0NHZFlDd29PPz8/Rz9AR0A/SUchOT9BQUA/Q0Ej OCE2P0EjNDM/T19PX0c/Pz9DYT8/P1A/P0c/QEMjMTg/P0EjMTdfIzIzRz9PIzIyR0EjMjE/Pz9H QUtCQ0BBQD8/QT9AIzIzTz9fQSQjMj8/QCE1P0RJU0dxZz8/TyE2P0IjMTJvP0E/P0dHT0RISXQ/ QCE0P0BCQkI/P18jMjA/P18/Pz9PPz9APz9AQT8/R08hND9APz8/QEEjNTchMTE/R08jMjhhP3NP P09PV0dHR0tDQUNAQT9APz8/X0MjNDJAIzM0ITEzP18/T0UjNDZ7QiMyMkdAJCM2MSE1P0BBSEFD Sm9HP18jMjRAP05PRWcjMTMhND9HQ0A/QF9hPz9ESURBQCMyPz9XT18hNz9CTUAhNT9fP18/P09f Pz9AQT9DP08/Pz9PP2dPPz9Pa09GRUEhNj9AITY/T0BHR0dLIzQ2Pz9fW0UjMzYhMTg/Xz9PQCQj NTchOT9AP0M/QU8jNDNDIzE1ITk/b3d7fFEjMjchNj9BIzIwVz9BIzM/P2dPP18/Pz9ASUtvfVZm bl11XX1TU31DTz9fXz9CQUNAQ0FHRExGTE5BRkBCIzQ0Pz8/QkRHP0shND9PP0M/QSE2P0AjNDFP XyM2NUAjNDEhMTk/QCMzMEsjMjhvSyQjMyEyNT9BIzE2P0FBIzE0Y0AjMjEhNz9VZ1thIzI1Pz9H U1ljVyMyMSE1P2c/T18jMzU/P0AjMD9APz8/XyE3P0dPP0dfTz8/Wz8/Qz9AQ0cjNTY/Xz9fTyE4 P0NBQUBAIzMxPz9AIzM2QUdCIzY2ITE4P0EjMTk/QyQjMSE0ND9PIzM1Pz9AQUMjNDMhMTM/QD9A Pz8/X09HP18jNkEjNTAhMTY/TyE5P0EjMEAjMTBfP19fX08hOD93Q0tBQ0FDQEFAP0Q/QUAkIzM0 ITY0P18/QD9BQ0M/Pz9PXz9fITQ/Xz8/RyMzMSE1P0I/P2c/Rz8/QyMzP19fP29PTz9HQyE1P0NR RHBgb1dIQUtHS14/Q0MkIzUhNjQ/RyE4P0MjMTkhMTc/QyM0MkcjNjM/QT8/P0MjNF9fPz9PPz8/ Tz8/QT8/X3dZbEE/Tz9fP18/X09fT2lHJCMxOSE2ND9AQUNLR09fIzE4T18jMjQhMjI/Q0JDPz9A ITg/QSM1OEMjMTlAJCMyNCE2ND9BQz8/QyMzMUc/XyMzNUA/P0NAP0E/QT9AIzE4ITEyP0cjMzQ/ X0A/QUAhNj9DITQ/T0NgJCMxITY2P0chOT9PP08/P08/RyE4P0A/Pz9DP0EkIzI4ITY2P0EjNTFB ITQ/Tz8/P18/Pz9fPz9fT19HITU/QUBAPz9CP0EkIzghNjc/TyM0NE8jNTc/Rz8/P18kIzM3ITY3 P0AtIzIxekVeVnRuWn1SfFVTbG9Hd19PP18jMTA/P0NQITY/Xz9AYj9BQUJCQT8/Qz8/Tz9AQD9B QkAjNjFXU1NbW0tbP0NHIzQzP09PITQ/SEs/P0A/QUE/QT8/Rz9IRD8/P0E/P0AjMD8/QCMyMCE0 P0M/QUA/P0FBIzQxX0VDRyMzN0I/Pz9HITQ/QW9TQUs/QiMyM08/Pz9HSUdPJCMzQ29fIzIhNj9B QEFBREZETUxbUUsjMTI/X0FHX2dCX3hTQktPQEAjMzdPT08/T18/P0EhND9PTz9PITc/Rz9TQ0E/ QUNHITk/QSE4P0MhNT9APz9fP18jMSE2P19PIzEyQCM0NU8/P0AjMjhnIzI0XyE1P18/Xz8/Tz9H Pz8/QCMzMFFAIzQ0P0EkIzIwP0c/Z0FPYz9nP2c/Tz9PPz9fPz9fb0chOT9BPz8/Qz8/Rz9FITU/ QT8/QD8/QSM1OV8hOD9fITU/Tz8/QCMxOUdjT0NLQz9DITc/QCMxOD9BIzIyITE1P18/Rz8/P1M/ P18hOT9PT0M/SyE0P0NDJCM3P0A/P0c/P0BDPz9oPz9fP08/XyM1N0cjND8/QCMxM0M/Qz8/R0FB a08/Pz9AITU/QSMzNT9PP0AjMjI/RyMzMkAjMEcjMjhfIzUwXyMxOF8/Xz9fXz8/XyMzMT8/Xz8/ P18jNDQ/Xz9BQyMzMFcjMjNfTz8/RyMzMUdBQUMhNz9AIzI5ITE1P08jMTFAIzIzQD9BIzIhNT9B R0VDQyMyOD9fXyE1P0E/Pz9ASiQjMyExMz9HITY/T0cjMjVBIzE1R2VCQlNSP0dPIzM/Q0VDP0NL Q0ZHSGs/X0E/P0VDP0UjMjFAP0o/QT9AIzU3P0c/Rz9LPz9BQyE1P0AhNj9AIzNfP29fT18/d0N7 cUtXRUdGQEJHQ0M/QiMzNT9HIzI2QSM0NndaIzM2UyMzITc/QCMyMT9AIzYxP0A/QCMxOV9fP09D P3FfT18kIzYxITEzP0E/QSMzN0BBP0RBIzM1P08jMTFfIzMyT1dPIzI3P0MjMzUhND9HIzRXITg/ UUdAP28/Pz9DPz9AIzQ4P18/P18/P18hND9fITU/QCM1ND9DIzY3RyMyMj9PPz9HPz9DPz9BIzJD ITU/YD9AP08jMzkhOD9fIzU4QyMzMD9fIzQyXyExMz9fPz9fITQ/VCQjMzQhMTg/QT9ARiMxNj8/ QCMxND9DZz9DQD9fIzI1P18jMzRXP18hND9fP0RBQz9jZyM2OCE4P08/byM2OU8/TyM1MD9fT08h Nz9BIzQhNj9fT28/Tz9HR0M/QT9BX1dyR3dXb09HR0tHITc/QEJGREY/Qj9AP0RBIzMxP08jMTdH IzUxQSM1NV9fPz9fJCM1MSExOD9AIzI5ITE2P18jMkdHPz9HT09AITc/R0dDST9CQEJBRkJCQkxB TEFAQiM1Nj9QIzI0XyE1P18/UT8/QD8/QyMxMF9Pbz93P0tPRT9DP0U/RkhBRj9EQyM0MyEyMD9D IzU0XyMzNk9AQyQjMSEzNj9fITc/X0dHIzAhMTg/QCMyOF8/T19PXz9BPz9fTz9DP0M/ITRBPz9A IzQ1ITQwP0cjNjZLJCM0MyEzOD9fITk/Tz9fTyMzNCExNT9AQz9BITY/YD9wX3BPRz9HR0c/Qz9B ITg/Xz9fb29PITc/Xn1bb3dvV3dXTUlHP0ZHQkAkIzIxITM5P0A/QCMyND8/P0M/SyM1MSExOT9H P0dDQSE0P0A/QD9AIzQ4ITU/QEBBP0AkIzE4ITM5P19fIzQwITU/bz9BIzQyITIzP08/QT8/P0c/ Pz9DJCM2MSEzOT9PIzM5ITMyP0cjMzZvP0ckIzYzITcyP0MtIzIxRE9ESlNIVUhWVXRKdUp1TFdE RiMxNU9ndEVnUH5vXyM0MEdPITU/QT9AQyMyPz8/RD9PXz9hQ18/P0E/Pz9BPz9DP0k/Pz9nTyE0 P0EjMjJBP09ZQkA/XyMxMD9EQ0pFREFMQURBP0EjMjJDPz9BQT9BQT8/QEBAITc/QEAhND9AIzQ4 QCE0P19fPz9fPz8/Tz9EJCMzSWt5c2hRQFM/RyM3ITY/QCMxMz9nY1VJQCE0P0A/RT9BIzI0R1c/ P19fIzU3ITY/QUdDIzUxQyM0OEc/P0MjMjI/P2dPIzI5Pz9fIzQ/Q19Tc0tPR08/P0chNz9DP04/ Sj9HVyE2P0BCQCMyM0MhNz9DPz8/QCE1P0E/P0EjNDQ/Q0MjNTY/QUFBP0AhOD9AJCMyT0EhND9f P18jMTEhMTA/RyMxNj8/d1ZtIzEyP0RVdl9hQEAjMzdfITU/QD9AP0VLU09PXz9haUdGVUU/P0E/ Pz9BQUE/Qj9AP0EjNTFfIzE5TyMyM0dFIzI5P0dLITU/TyMzMT8/Xz9fT09HIzJfPz9PQE8/T09X T08/T1dPQ0cjNTdPP0c/Tz8/RyE5P0EhNz9BJCM0XyMyMEA/P0FjR2FHYElzSHNIcWV5T0JAIzE0 ITU/QT8/QCMxT08/Pz9fVz9PQz9jPz9APz8/QSMyNEEhNz9PITc/QT9AP0A/P0A/Xz9PX18/X18/ P19fPz9PP2cjMzdfP19PYV9gcWBHYGAhNV8/bz9Hb0dHIzMxQD9APz9DITc/Tz9AT19Dd0ckIzI2 ITI2P0dHIzEwP0dEQ0FAQT8/QSMxOCE4P0dHPz9PP2M/QEBAP0A/QEAjMjg/QD9AITY/Zz9IQCM0 OT8/TyM0MEs/RyMzP0NAQUQ/SElAQiMxOUdHP0cjMzZDPz9DPz9DQT9BP0FBP0M/QUNDIzUwITQ/ Xz9fb19vR090P1dzaFNHP28kIzM1ITMwP0c/Q0EjMzRnWz8/QF9sWXl4P0FhQD9EPz8/Xz9nc21b eWlTRz9vQ0NNTU1AQD8/P0NfT0pQP09fX08/P08hNj9BQD8/QD9AIzM/R0dHPz9DRyMxOD9fXz8/ X09fP18/Z1M/Vz9VS0dfQz8/P18kIzMhMzE/RyMyMl8/Pz9DIzI5V2lHTyMwITU/QCM2OD9PP0cj MSE5P08/Xz8/P18/P09TVyE0P0NBPz9PP08/Pz9PITU/QyM2Nz9HITk/QSMyMEdDIzIxRyM2NkBB IzQ2QSM2OE8/bz8/RyE3P0M/Pz9DIzM3QSM0ND8/QCQjNDchMzE/XyMyOE8jNENDPz9DP1FBPz8/ X0A/P0AjNDNPRFBQVz8/Rz8/QCE0P0AhOD9fP18jMjY/Pz9BIzI1P0EjOCE0P0cjMjhfP18/Tz8/ Qz9HRz8/P0EjNDFBIzYzP0MjMTk/QSE4P0VDP0E/QSM0Mj8/QCE5P0AkIzYwITM0P0A/QCM1MCEx Mj9HITc/QCE0P0AjM0c/Pz9fbz8/QyMzOUMjMzZGIzIwITEzP0EjMzVDP0NDIzYzT08jNTdfIzUx P08jMzBDQz9DQyE3P0BAQUMjNTQ/QT8/RSM1OSE2P0EkIzQzITM0P08jMjVAIzQ5QSMwITMyP19f IzQyPz9PIzQ4ITI0P0cjNDNHITU/Qz8/XyE2P2dPb1dXT0dLQ0c/QT9KQElFSUFFJCM2MSExMDA/ Xz8/P08/Pz9PP0cjNDVEIzI4QD8/P0A/QEE/QEA/QD9AJCM0MiExMDY/QD8/Qy0jMTBDR1djT2tf Vz9fP19PX08/XSE2P18/P19PIzI3TyM0MD8/QD8/XyE0P18jNDNFPz8/X0M/P18/Qz9gSk1TZWFl Y1NTUz9BP0k/P0NCQj9CQEVFQyE1P0s/cXE/QD9CZ09vT1NPb2NTTFFZT11VTlVNSkVIPz9EP0BD ITk/Qz9DX19jX2FgJCMzQlRCUk1SVEVpW1k/SUc/RyMxMj9TRyE1P29bSD9jPz9JIzM0QERBT0BD T0JPQmJCQmBBIzU3Qz9DQSM1OUchNT9PP0cjMzQ/Pz9AP0BfX0BPTz9vXyM0ND8/P0E/RT9BIzUw RyM0MkEjNTlBIzBDIzM0P0FDR0NGP0NJQUcjMjg/T18/Rz9fPz9PRz9TP09HJCMyNW9fIzM1X0df IzIwP0lfVEFjSj9GaVVAQSMxNEAhNj9fQz8/P09DIzFBZ1dkWWdfP18jMjhHTz9PP08/TyE3P0c/ Rz9HXz8/RyE5P0EhNT9BQ0FAP0AjMjIhND9fP18/Xz9fITg/RyM0OD9fPz9fPz8/V3NbeVNPS0lV RGNfQGAkIzhHIzRBQyMyP0AhND9AP0M/P0MjMTNfX2hRRF9HPz9HPz9fP29DTyMyOUNRIzRESV9P IzM3P08/P0M/Q0FkQkZgYHA/X28/P0A/QkJBQkFvUU9RR2djY0FPYz9nP19nZz8/T0dHS3dBRj8/ QEJAQEBGSkJBREBEQEA/QCM0NF8hND9TJCMyMSE3P0A/P0BPZE9AQCMxNT8/Y3lednteRkJRTkpO al8jMjZnIzA/Pz9DIzIyQD9HPz8/Xz8/P18hNz9AQD9AIzQ0Tz8/P0cjNTE/Pz9AXyM1N0AhNT9H T08/TyE0P1M/P0MhOD9BIzE4Pz8/TyE3P0A/P0FEQkFAQT9JZ1E/SD9BPz9BPz9AP0A/TyQjMTYh MjI/QiM0OSE5P08jMjQhND9BTj9Abz9PIzE4P0c/Rz9PT0FLPz8/T0MhNT9DQ0tDR0EjMD8/TyMy MiE1P0BAIzMxQD8/QD8/P0BAXz8/P0c/P18hND9fX19HX19fP09fV0NBRz9JPz9AQT8/P0E/P0FP SFA/SD9ARyQhMzk/Q0dDPz9HTyM1MEc/P0c/P0FDIzI0QCE1P19AX08/XyE5P0BAPz8/QEAhNj9X b09PQUdDR0NHP0c/P0NBIzY4ITY/QCM1MF9vX18/X0BfRGB0X3dYXntHdWldVVldRF0kIzQ0ITQy P0cjNDhHPz8/T0c/R0M/Pz9HP0dPPz9HRyE0P0NDQT8/QCE1P0M/Pz9DIzYzITc/RyMxP0MkIzYy ITQzP0MjMiE1P0E/P09PP18hOD9AP0A/Tz9HR0tLV28/Z0cjNTY/QyMxOE9PP18kIzYzITU1P0Ej NDchNz9fIzE5ITE0P0EhNT9AJCM2MSE3OD9PP08jNjhnX18tIzEwc2pban5jelRpdGtPbCE1P0M/ Q0NBPz9BQ0lLV1dPT1cjMjlEIzM0VEFEP18/X18hOD9AIzE4Pz9HT0c/U19PR1dvPz9fITQ/Xz9H P0c/R0NFT0FLR0VBQT9rR19PV093P2dPTz9PPz8/QCE0P0AhNj9fPz9Pbz9ATz9PQUdPP0c/T0dH JCMzNUFTYlM/SEMjMz9EP1FAQSMxM3tNQlBpUGFHP0A/QyE0P0E/QEUjMjZBIzIyPz9PP2A/Xz8/ T0BBY1FDR0EjNjghND9DQ0FHP18/Pz9fXyMzNEA/QEBBPz8/QEEjNjg/Qz9AQT9CP0AhNT9HRz9H P0dPP0c/Rz9LTz9HQ0dTR0NHXz9TZ0NPR0dDP0c/QyM1Nz8/Qz8/XyM2Mj8/P18kIzI1SCMyMCE0 P1E/aU9JQG1PQkAjMTI/Pz9HS0FCQ0JCTGJEQURFS0hDIzQzPz8/T01DQT9TP0FgPz9BQ0RLS11B ST9IQkFCQUVDREFJS0lNQ0NLRUNEQT9gXz9fb293Y2NTUG9QQD9AP0A/P0A/QCM1OSE4P08jNDMh MTI/Xz8/P19PQGRCUGhyUXYkIzE1ITE0P08/aVRhT2Bnb09nbz8/QD9AIzE0QSM0MD9AIzI4ITU/ V0NHR0FLQ09DP19HX09fPz9fP18/QyE1P08jNTFAIzQ0TyMyITQ/QCM1NyE3P0AhND9PIzQ0ITg/ QT8/P0AhNz9APz9AIzcwITE2P18jNjRBIzMxP0NBQT9EJCMxNiExND9fe0M/Pz9PT0drTyMyNT9H ITQ/Xz8/VyMzMSE1P09TP0s/T0lHZ09PT18/T18hNT9DQEE/RyE0P0chMTU/QEI/QD9fQCE5P0BA JCMxNCExOT9AIzQ5ITY/TyMxb09fPz8hNF9gIzU2Pz8/RyMzN0EhNT9AQEE/QUJAREBCQz9AP28h OD9AQkI/QT9EQkE/QCE0P1dHRyMyOCE5P0A/Pz9AJCMyNCEyOD9fITU/QUlLaU9CQEBCYF8/QD8/ QCM1MCE5P0MhND9PITk/Rz9HXz8/Y08/Pz9AP19BQ0M/Y19EX0A/Q18/P0E/Pz9HP2BfYUFHXz8/ UWd2YUp9RWRxalNCa1lPa0NDP0ckIzQhMzA/XyM2MyExMz9PIzM5RyM0OD9fITY/Xz9Pbz9XPz8/ R0dPPz8/T29XT09vb29PV1dHSz9GITU/QUFFQUVBU0VtYV1lfW9tfXZydUlFV3RWXmpWSEY/RD9A T0lIQ0gkIzQ0ITQ4P08/XyM1OSE5P0chNj9PX18/P19fJCMyNCE2MT9APz9BQD9BJCM1NyE2Mj9f IzIyQD9DPz9DJCM2MyE2Nj9DIzU2Xy0jMTBsUmtSbFlkSnVoVlMjMTV3QXxfVUhESURdSl5uXkVP IzMyQT8/TyE0P0cjMjVPIzI4P08/P18/Tz8/X19XQFdAR2BzP2s/Vz9nXz8/P18hMTM/QT9BQSMx OCEyMD9jITk/QENBP0M/T0gjNjI/Pz9fIzY0P18/Pz9FQURAQCQjNE9DIzI1QCMyMD8/P0E/R0Fn QiMxNj8/P0ohNT9AIzI5ITU/QCE5P0EjMzE/P19fTz8/X29AP0ZBP0N1Q0JHP08/P08/Tz8/T0ch Nz9AITc/QD9APz9AIzU5ITIwP0EjNjhAQ0EjNTchMTU/QCM0ND9PITQ/TyQjOEEjM19RZ09jV29A UyMxMz9nRnxBU2hFeUR5P3M/Tz94Q0c/Qz9HP0cjNDc/QD8/YSM0M0c/P1dDWElbVz8/Q2c/Pz9D P01DSUM/P1dDRz9DITc/QEBAQkBAQD9AP0AjMzEhMjQ/Tz9PP18hOT9PP1dfP0FnT0dHZyQjMzU/ Rz9DQUA/QyMxMiE5P28/XyE3P0FTTUFBP1VPS08jNjMhND9PRyM0ND9fPz8/QCE0P0BPR19PIzUy XyM1Nl9fITY/XyM0NCExMz9BITc/QyE2P0BPS09LTz9HPz8/T1cjNDM/Pz9fP18hND9HQ19jYWZC ZEJDbWtQS2FDQSQjMTQhMTk/Tz8/P18/Xz9nPz9HQ0NHIzExQ08jMzVfIzM3ITU/Q0EjNTA/P0A/ QyM0OF9nQU8/Pz9PPz8/Tz8/XyE0P09PT1dvR1lLP0FFQ0dDS2NFbUtjR2duaU59bHJ5ZnJucm11 dVpeem5mWEVKQ0dDQT9BQEE/P0c/Rz8/P0EjNjMhNT9BQyQjMjchMjE/XyMxMCE2P19vT0dvX2Fh IzE4ITE0P1NfITQ/QEJAQkNBVk1DUUNTSUM/P0dBY3FnZ2d3P18hNj9BJCM0ITI4P0AjMzRAITc/ QEE/QyE0P0E/QSMzOT8/P0AjNjghOD9AQD9AP0BAQUBBRUZFRD8/T09PP29Pb1dfT29PX09PT28/ TyQjMjQhMzA/QD8/P0A/P0NPS0BBQUBIQyM1MCExNj9HPz9HPz8/R0g/QD9APz9DPz9DRz8/Tz9B Sk9AP0A/QEE/Q0c/Pz9ASEA/X0M/P2N3X1hmWVh8fHl0alVSXFxPS1lDV1BAP2BPbyQjMSEzMD9f P0A/P0BBR19APz9AIzU5ITIxP19fPz8hNF8/bz8/RSE3P0c/Pz9DQT9DPz8/SyQjMjIhMzE/QD9A ITQ/TD9RTD9jQT9DP0E/Pz9BP0k/QSMzNyE3P0E/QUA/QCQjMyEzMT9fITU/XyM2MSEyNj9AJCM0 MCEzMj9BPz8/Qy0jMTBJeEVoVXhVemtOITg/Q0tfS2NDR0U/Pz9AQT8/Xz8/P0AjMjJDQkBBQVFr UWNQUz9TR0FHIzQ4T0BAT09PVXV7TT9HP08/X2BiY19DR0tNXFxTdVt7a318XXh+fX5gbm17YnVk dm9qd1lQSUhESkVAQUUjMzEhNT9fITg/T19PQ0FBQEcjNzBPQyQjM2RBWEFIQ0BDQCMxMm9KITY/ RkJSRUBCQVA/QiE0P0dPIzI5R08/P0dfR29PXyMzOUBRXyM0ND8/X28/P0chNT9fPz8/QT8/QT9B SEtHP0dHRyE2P18hND9fIzUwITQ/V08/P1NHV0dLU0NjY3BzZ19YX1RAckFyREZARl9BQSE2P19X c09tZkJBJCMyME9DX1NfQWc/USMxMz9zQlNhVD9CR08/QD8/QGFoY1BgP09fIzI0QT9HQyE0P0E/ Q0c/Pz9HQUsjMTg/QyE0P0NJQ0c/Rz8/P18hNz9AP0BBQEE/QEBBQEBBQCE2P08/RyExMD9PTz8/ R0c/Q0NBPz8/QyMyNF8/Pz9PRyM0NF8jMjJHIzQ4P18/Zz8/X18kIzE1ITExP2tqXFxpdEtvX18h NT9PV21deUcjNDlBIzQwRz9fP08/R09HIzE3P0cjNjM/P0M/QSM1MEA/P08/Tz8/R0NBQUchNT9P X18/QT9AQUFBQD8/SSM0MyEyOD9fT19vR3hHd3dZV1BAXFxFdk12TFZGQkhET09DIzE4QCQjMTQh MTE/TyE2P0cjMjA/R0E/XyMxNiE1P0MjMTRjT18jMzRBP0lHQT8/QyM0MyE4P0FIQkBCSElBPz9D ITQ/byE5P0AjNjghND9AITc/QT9AP0E/QEE/QEE/Qj9CQEFDQT9DP00/P0MhND9DIzY0Xz9PX0c/ Pz9BIzU3ITc/RyMzN0ckIzE2ITE1P0lvIzI1Pz8/TyMzNE8jMU8hOD9APz9FP2JfUD8/ZyMzNyEx MD9DP0EjNDJfIzU2P0BAPz9AQD8/QD8/P08/Pz9PT09fTyM2MyE0MT9HPz8/R18/Pz9HIzY4ITY/ TyQjNDAhMjE/XyM0R1dDITc/QEBAYD9PIzQ3QT8/Q09fIzE5ITE1P0AjNTJAPz8/QCE2P08jNTch NDc/QT8/QCQjMyEzMD9AIzYwQyM1OENDITU/XyM1OSEyMz9PST9IITc/X18/X19fR0FAUT8/P0M/ Pz9DPz9AITg/Rz8/QSM2MiExMz9LPz8/QCQjMjUhMzM/TyM4P08jNDNDIzI4QyE0P0A/QEA/Pz9A YV9fX2NDb18/X18/P0A/P0FIU0JTP1FDP0NPIzUxITQ1P28kIzMxITM5P0M/QD9DP0daY0c/Pz9P Qz9PPz9HITQ/X0NTY0NBPz9LLSMyMENAVUdiR1E/QiMxNW9fP19ARVBGWk1eVWdZQCM0P09XR1dX RyE2P18jMjI/Q0dJUD9PP3A/X1M/V0M/Y0NPRT9FP0dBIzU5P18hOD9DQz8/X0A/aEA/T1BBTT9v P0JSW1dfX0dPbyMzMUFDQD9EP0g/SElPU0dVSU9AT0tAQSE1P0AjNjghND9fe3t3S0QkIzEwanVo Vkt2bH4jMTJPQT9HQ01fXyE3P0NBITRAP0NBQSMyNUMjMzVAT0cjMjRBQ2dBUEVAYj8/X08jNDI/ QD9AQEFnYD8/P08/P18jMThBP0RBQD9AP0BAITQ/Qz8/RyM2OCE2P0cjNTYhNV8jNDQ/QEE/QkBA QSM0M0E/Pz9DUUNESUVIREpHREJBP0NAQT9CIzY5ITg/Q0EjM08kT0c/XyMzNU8jMTM/Pz9rR1NA UV9YRVdjUF9IVWNHQEE/QT9AP0AjMTRAIzI5ITY/T2AjNDNDP0VDQyE0P09fXyE5P0BAREAjMTgh MzQ/QT9HP0dPITQ/XyM2MyE0P0NBPz8/QEE/QiM1NkdPR0MjNTkhNT9AIzU3T0kkIzE0ITk/Q0hB QE8/R18/Xz9fQCMyMEA/UyE1P0E/P0FDRyMyOCE2P0c/Rz9HQUtAPz9BR1BAR2BIT2g/b1M/QT9P P08/Tz9fX09fP09fITIzP0EjNjg/P18jNDQhMTA/X3d3Z3trb2NnU0pPP0c/QCMzND9fIzZfJCMz MiE5P0A/QyMxMCExMT9RZ2NFU0VFP0NDQElBIzMxITc/Vz9aQ09AR2lFR28/QUEhND9FQ0k/Q0FA ITY/TyM2NCE0ND9APz9AIzI4RyE0P0EkIzExITEwP0E/RyMxNiExMD9fIzM/RyE3P0dPQ1UjNTAh OT9BP0E/QyE5P0EhNj9DP0I/QCE2P0FDITU/V09PP1dPSz9DT09vYENfX0tPT1VFSkNQSUBwX29j cUc/Q0M/Pz9DP0VCX19PUUFBJCMxNiExMT9vIzEhMTQ/Xz9fP08/P08/QEBQUEA/P18jNDQhND9I P0E/Pz9FPz9DT0VoQ3A/P09PVz9vX19fb08/Xz8/XyM1MSE0MT9BJCMyITI3P18jMzc/ITdfITQ/ QyE4P18jNTI/QCMzOU8/R08/R08jNDg/Pz9HP0dHP0dNS01NTUlKTl5eR1pVdX5ubWRgbkZGSz9C Qk5NRE1HW1dvZGdgX09fX18hNj9fTyE0P08/Tz9fT0xuREA/QUAkIzI3ITMwP0AjMzRPVz8/P19L aUFPXz9fP18jNDg/QyMyMyExMD9fIzU2ITY/X19fPz9PIzU5ITQ5P08kIzQwITMxP0ctIzEwWmlc XHRKdH5pITc/Q1dLS1lLR1dPP1BLR0MjMjZHQz9HRyMzPz8/byMyb28jMjJAQWBAYkdCaUBiITY/ QFEhND9HP0cjNDhDQz9DRz8/T0chNj9SclJwYXBweFVreXtpV1NHeVZRP0dGQUA/P0AhNz9hP09v X29HT0tBRURFQXFfWUcjNTFfP28jMUckIzNjTz8/U0EjMTI/P2c/Pz9fPz9aYWJBITQ/Q0tNQSMx QD8/YUE/P09DVyMyOCE0P09HT0tPY09PR1hzR28/bz9HX05QTmNhRHE/TD9fITU/QT9AIzUwITEy P0M/U2NpT0RHaHdWV2tNRUZBUURSYEhDZUBPZEdSQ29HcUtvSXh4SEc/XyM0M0cjMzRPP28kIzIw P0RBITQ/VCE4P0MhNj9HTyMyNT9PP0dDIzM0P18/QUBhZEdIP2EjMzFHT0s/Y1dDQUNFQWM/Tz9b P0M/Xz8/Qz8/RyM1Mj9AIzMxITI2P18/Xz8/Xz8/T19HT0tXR1tTQkBDIzU5ITY/Xz9vR28/P0Mj NjI/Pz9PIzBDSSMzQSQjMzU/P19JX0cjMTM/P0F8QXNJU2o/QD9AQ0BGQ0JCIzg/QCMzMkMjMjRA P0A/Qj9BQEFGQUJTP0U/T0A/QEMhNT9HIzM5Pz8/V09HTyM1OUFAQT9BX0FDTU9sQXN4e319fmtH a01cXE1FRUhSP0E/QUBCPz8/RCM0Mz9fT19XT2s/YUNBQSM2OCExNT9DP1ZkVkYjMzdfQCM1QCQj MTQhOD9UP28/Pz9TITQ/QEEjMjkhNz9BP09HX29nTyM0NyE1P0AjMzc/QSE4P0BAIzQyITU/X0Ff QD8/P18hND9AIzY4ITIzP0M/P0NBPz9AP0AjNDRfP18/Xz9fd1dXbklGS0pGRkBAQCM1NyE4P0oj MkMjNThDJCMxNSE5P0FMSVRqP18hNj9CIzQwITU/Tz9HP0M/QyM2MyE2P0MjNDghNj9HITU/YyM1 NiExMD9AUEFfQlBlQXRIQ0EhND9DITg/ITRAIzE4ITEzP0AkIzE2ITExP0AjMzUhNT9Pb18/TyMz NyE3P0A/QCM0Mz9AITQ/Q0tHXz9fP0EhNT9AP0FCSCQjNCEyMD9fPz9fX18/cV9xP08/Qz9HIzUw ITEyP18/XyM1OUcjMThBQz9BJCMzITIwP09fXz8/P18jNDkhND9DTyM1NiExNj9PPz9PIzQ0Rz9D YWRCP0M/T1dvRz9PV09fRz8/QT9AP0AhNz9HP18tIzEwQEFEQUA/QF4/Tz8/Q0MhND9fX08/P0NH XyMzN08/Z09HQUMhND9BQUM/RD8/Q0A/Pz9BP0AjNDhfP0NDSUUhND9XW3d3b18/d293P19fa31d XW5FQUE/P29vcFJJTm5eVk17SU9RX2FPb11vPz9nV0hlalVJYz9CQEBBITU/YlBFQEAjNTdTITQ/ QyQjMzRfPz8/X29HITU/XyMyNkcjMjBPITk/XyMyQCMyNEc/T0shNT9DQCE0P18/UEA/RT9BP0Aj NDRfP29fT19XT2BfUCE1P0tDIzUwITEyP2dDT0NHP0djP09PP2dfQXRga0tba0tfSUtBRUVFPz9A Pz9APz9fP19ASUA/T0VHP0NAIzM0X0hRSEEkIzRbX09bW01PIzI1P29fVyMxNT8/P0RVRk1BP0sj NEBAPz8/XyMyMkc/Pz9DSEVIQSE2P0ZLUU1IVUQ/RT9RIzU2Pz8/QD9AR1NJQEBCQkQ/QEBBQkA/ QCE1P0A/QD8/P0AjNjg/P08/P18/TyMxOD8/Rz9PITY/RyM2OCExOT9fcE1JIzE4QSM1MVl1bFVY JCM4QSMxR2lfPz8/XyE0P08jMTY/P0cjMzU/Pz9APz8/QU8jNDBPIzQzP08/X19XX0dzZ0tXT1hL UUdhP08/SD9HP0FAIzUyITc/QSE2P0AjNDQhMTc/QD8/P0AhNz9BP0E/QUE/Pz9fP19PQD9nUEc/ X0EjNDMhMTA/X09nQD8/X18kIzM/VD9AQSMzNUAjNDBFPz8/X1dHTyMzITY/QCMxPz9AP0cjMjgh ND9PXz9fPz9PXz8/Xz9vPz8/Xz9nP2dPQ0tQaVNAbVVIYz8/Qz9JP1dFIzMxITI0P0BAP0NAP0BA P0BAQURAITY/QCM3MCExMz9PIzYyXyMzNz9DJCMyOSE2P18hND9fIzM0ITEyP0JFRmZGQkRAP0BB QD9ERz9CIzUwITY/XyM2Mz9AIzE4P0M/Qj9AIzU5ITY/ZWE/Qz8/QT9MQ31eXVJAYGBPd1R3bnpF TUVHY18jNDMhOD9APz9AP0MjNTlvPz8/X1dDPz9RcVd3WXNcXH10fWZDRyQjMzIhOD9ORyM4ITE0 P0MjMjkhNT9BP0EjMzE/P09fPz8/T0c/P2dfTz9Pc09HRz9JPz9fITk/T18jMjghMzY/QD8/QCQj MTIhOT9DQ0ZBYmdfX29IV18/dXcjMTghOD9PTyM1MT8/QSM0ND9fXyM0MiEyNz9BIzU2ITM4P09P Pz8/Tz9jP0tDQ0NIQT8/P1dHJCMxMyE5P0BBP0A/QUBXQFNBP1VHIzU3ITE1P0NBJCMxNCE5P0FA ITg/Q0FnIzIhMTY/QC0jMjJfR19rUWt3IzEwQ0BAPz9APz8/fEFAQkE/QkAjMkdHS0YjMjI/T2Bd T21ZT2tPYUcjMThIQyE3P18jNDI/Pz9PITQ/QSMxOD9HX09fIzUwPz9fITE0P08/SG9RQ29NW21V RllFSkpNQkdFPz9DITg/Qz9nU18/X0hvR1M/RUNGR0BHPz9HP0MjMzdAJCMzNEZBTEJMQkQjM0Ej MTJ9P0EhNT9BITQ/QCM1Nz8/P08/TyMyOT8/QyMyOD9gP0BfQF9PX1VoVWxVaGE/VEFzaF1nTHk/ WkNAQSE2P0E/QCM0NCExMT9fP18/X0c/X18/ITRfb29PT1FXUXV5XkZlUkU/ZUBfITQ/RyM0OCE3 P0I/QVc/b3dfb19XJCMzN0chND9PIzI5QT8/P0BAIzE2P0cjMT8/P09PPz9DQ0chOD9DIzMxQD8/ P0A/QF9BXz9AITU/QD8/QF8jNTRDIzY4ITc/Q0cjMzEhMjE/bz9PP09HV0NXQ0M/S0M/SyM0Mkc/ P0cjNTY/Yz9fT2dBP0BnITQ/Q0BfX29nXyM2OEQ/T0c/T0dPXyQjMjRPQ08jNCE0P3cjMTE/YSE1 P0EjMjA/QD8/QD8/P0JBQCM0OCExND9PR0E/P1d3ITQ/Xz9PP19fd3dvS0NXdn5QQEBBREUhNz9C d0V7U0xMQk5AQkBAPz9APz9gX2BgYEBAX29YR0dEQCM0MyExNz9FQUVDRUZBRSQ/bz9PXyMyNj8/ QCMxNT9be3d7dV18IzM1P18hNz9AIzQ0ITE3P09fQT9AQUA/UUBBQUBcXD9AP0MhNz9FQyM1OSEz OD9wWUdVWH5VQl52XnVKdUpeSE9Xb19fIzUxQD8/P0AkIzE/QEEjMTMhOD9DQUBgIzI1Pz9DITU/ QSM1NiEyMD9HU0M/P0NHQyE0P0FDPz9AQiE4P0dHITQ/XyM1NyE1Mj9AP0AjMTg/P0ckIzMyITEx P0EjNDAhNT9HIzM0R09XP0dPITQ/QkchND9DSyM1MCExMD9AIzU5RWdXQSE4P0U/T2pCPz9Ne3d3 cXAhNH5efn57RkhCQUEhOD9AIzY0ITM1P0MjMjQ/QUAkIzMhMTg/QT8/QT8/Q0NBIzUyITI2P0Mk IzQhMTg/Y0tDRz9DJCMyNCExOT9fPz9PITY/Rj9fRz8/QUE/QyQjMzchMjA/X08/P29fb0dDP1E/ QSE0P0VHQSQjNDMhMjE/X19fPz8/X3dfR0A/T19AT0dAUz8/QC0jMjJDQD9BQEFAVyMxdyE2P18/ P09RWz8/P08jMzdfIzQ4Pz9fIzQ0X09fP19fT29PR19DS1lHQ0NBRz8/P0NQQVNKT09nQ18hOD9f XyE5P0AhNj9AXz9gX2BAYEA/P2dnT2tXa1A/UVNQT0BLQEAjNTQhNT9fX3d7byMxOUcjNDJPIzQ0 Pz8/TyM2OEA/P0BBJCM0MndfV3dfV2cjMjRFIzQwRSE1P18hND9HIzI0QGM/R18/TyMzOSE0P0ch ND9DIzU2P18/Pz9fP29ZV0NvbyE2P18/P08/Xz8/XyE2P0MjNjghNz9DP0NBUz9DT0M/QyM1NiE4 P08/Y09fUWdcXGtpTWVTcGtTT19vR0dLQ0JAPz9IRk57X3d3W29fVyQjNDRBQz8/QSMzND8/QCMx MkBFPz9HTURBIzJfIzUxXz9fIzIyP0FzY0dbZ09AT0pASz9QPz8/QT8/QSM1Mj9fPz9fIzQ4P05G Tj9LP0c/Q0JBQEJCS2BGQiE0P0hfITQ/X0FFYW1peEpMWk5JTEBVRFNzU2Nrfj9WQkBAQD9hP0A/ P0chNT9BPz9AITEyP0A/QEAkIzMxQD9FIzM5P0MjMzIhND9Hbz9PPz8/Q0JDIzQzPz9AQiE0QGg/ QD8/QD8/P0A/QCM1OT9PITU/QF8/R09vITRfPz9DX1tTcl1Xe3p9bl5VWH52fG5UWHBIP0BDXz9f P19PVz9XP0c/R08/Qz9HQUU/RT9AP19AXz9RZ25eTFNGQUEhNz9BTUNFX01bQyQjMjg/WV9EV2NV XyMxMz9AQ1FEP0E/QiMyMEMjMzRfQGE/R08jMzFDQUNBW0M/UT9eQ0lHQ09JQEA/QSExMj9HIzUw ITk/Q0BPPz9BP0dBT0ljR09PTz8/cT9fT0FhR0FJQUlRQj9CIzQyITEwP0cjNTJBQSE1P19vT1dD QU52ZXdvITc/XyQjNDM/P0A/P0AjMjU/Pz9vITU/TyMzOD9HIzI5Pz8/RyMyOD9BQT9BQ0FJY0Nx P0lkQWpDVGlPRFRJYENCPz9fSkFcXEJTQmtQST9HIzUwITUxP0E/Pz9CPz9AITc/QEBBQEE/P0Ek IzExITEwP0dfP08jMTBHQ0c/SSM0Nz8/TyM0MiExOT9fPz9APz9PJCMxNSExMD9CSF9AIzNPP09P JCMxNCExMT9DQT8/QCQjMzUhMTM/Xz9HPz9AQy0jMzFfX18/X1NPTyE5P18/Pz9BS3tHakNqP2xA IzU2Pz9fX19PQV9fUV8/Pz9fQF9APz9Ab2RZP0ZBVEd9VHlYRUdRYUEjNTA/Pz9HQEtvQ21IbUA/ QkBBQCMyOD9PIzU2Rz8/Rz9fQ0E/cXNRfWlEb355c3FcXF1ORUJCQkBAIzE5Pz9DITY/Q0E/R09n P0c/QyQjMzlPT09HPz9HSU8jMUhfITQ/Zz9HIzIyYU9pT0FARlNAP0MjNDI/R3FEWUNPQWBDUUxP RU9hT18/TyM0OD9DQyE1P0A/Pz9BREFfPz8/Qz9FP1FlQUJCQEFAP0A/P2BfYEBfb2FQQ0FAPz8/ RyM1OT8/P1lNP0RKREFAP0AjNTU/P29vd3d7eW5VeyM0Mj8/QT8/QSM1NSE0P19vbyQjMjhAQUdA QUBBRCMyNEchNz9SQUdEIzE4QyMyOD9fP08/aUN6QXVMWURSTWBLUktfTXBJVElRVGlESW9ITyE0 P0cjMzEhMTc/Rz9TP0NLQ0NDIzU5ITQ/RyM0MiE0P18/b0dAP0AhNz9fITQ/QyM1NiExND9APz8/ SkAkIzQyTUBGQUxBRCM0MD9ARU8/Pz9PRUcjMzREQz8/QCM0ND8/Xz9PITU/Xz9HQEtPRz8/P0dD R0NLRz9HbyE4P0EhND9Xb0tXd1t3fGNXb0tvT19PcXF3eVddXW1WRlxcZXpcXFlcXE5EQWw/VF9A Pz8/RyM1ND9fb19vd0dNRUZCQE9oQn59d3d3b28/P29PR0kkIzQ0P0s/Uz9HIzQ3Pz9BbyMyNUZv R3dHIzU4UCMzN18/T0k/P0AjMzkhND9PP08jMTkhOT9AITk/XyMzOSEzMD9HIzUyITE0P18hMTU/ V0s/QyE5P0BEQkRLRm5WQ0VGQCQjNjQ/Pz9fIzIyTyM2MyE0XyMzMj9HQnFDIzhfIzI5P0NPIzQz QF9Qa09BIzU5ITE3P0AhNT9BQ1FASUVJZH53e2F0QGc/Y0BGYERAYkBBQD9AJCMxNyE4P0MjNjA/ P0tDP0MjNTIhMjg/YD9AJCMxMSExMj9AIzEzQSMxMEAkIzE0ITEzP0AjMzVBLSM1N0dHT0dPP0dX ITg/RyM0M3FVTUNfIzM5QyM0MkNXQ1dnSGdcXGdJb1RTR19DQCE0P0FJT0E/SD9HP0NHIzQ4ITc/ X0BfITQ/QD9ARkVBP0FBPz9CQEA/QEAjNDI/P0dPSUM/akFFT0Y/ST9JQz9BP0AhND9AIzUyITg/ QUNHIzY3Pz8/X19PT0c/Q0E/QCQjNjJFU0VDRV1WQ0UjMF8/QV9PXyMzNE9FIzI0SD8/QCM0NE9H X2BBQ1JDPz8/IiwgMTYzODQpID0gNDA5NgotLS0gU0lHSU8ge3NpX3NpZ25vPVNJR0lPLCBzaV9j b2RlPVNJX0tFUk5FTH0gLS0tCnJ0X3NpZ3JldHVybih7bWFzaz1bXX0pICAgICAgICAgICAgICAg ICA9IDQwOTYKd3JpdGUoNiwgIk8/P0AjMTlHY09DS0M/QyE3P0AjMTg/QSMyMiExNT9fP0c/Pz9T Pz9fITk/T09DP0shND9DQyQjNz9APz9HPz9AQz8/aD8/Xz9PP18jNTdHIzQ/P0AjMTNDP0M/P0dB QWtPPz8/QCE1P0EjMzU/Tz9AIzIyP0cjMzJAIzBHIzI4XyM1MF8jMThfP18/X18/P18jMzE/P18/ Pz9fIzQ0P18/QUMjMzBXIzIzX08/P0cjMzFHQUFDITc/QCMyOSExNT9PIzExQCMyM0A/QSMyITU/ QUdFQ0MjMjg/X18hNT9BPz8/QEokIzMhMTM/RyE2P09HIzI1QSMxNUdlQkJTUj9HTyMzP0NFQz9D S0NGR0hrP19BPz9FQz9FIzIxQD9KP0E/QCM1Nz9HP0c/Sz8/QUMhNT9AITY/QCMzXz9vX09fP3dD e3FLV0VHRkBCR0NDP0IjMzU/RyMyNkEjNDZ3WiMzNlMjMyE3P0AjMjE/QCM2MT9AP0AjMTlfXz9P Qz9xX09fJCM2MSExMz9BP0EjMzdAQT9EQSMzNT9PIzExXyMzMk9XTyMyNz9DIzM1ITQ/RyM0VyE4 P1FHQD9vPz8/Qz8/QCM0OD9fPz9fPz9fITQ/XyE1P0AjNTQ/QyM2N0cjMjI/Tz8/Rz8/Qz8/QSMy QyE1P2A/QD9PIzM5ITg/XyM1OEMjMzA/XyM0Ml8hMTM/Xz8/XyE0P1QkIzM0ITE4P0E/QEYjMTY/ P0AjMTQ/Q2c/Q0A/XyMyNT9fIzM0Vz9fITQ/Xz9EQUM/Y2cjNjghOD9PP28jNjlPP08jNTA/X09P ITc/QSM0ITY/X09vP08/R0dDP0E/QV9Xckd3V29PR0dLRyE3P0BCRkRGP0I/QD9EQSMzMT9PIzE3 RyM1MUEjNTVfXz8/XyQjNTEhMTg/QCMyOSExNj9fIzJHRz8/R09PQCE3P0dHQ0k/QkBCQUZCQkJM QUxBQEIjNTY/UCMyNF8hNT9fP1E/P0A/P0MjMTBfT28/dz9LT0U/Qz9FP0ZIQUY/REMjNDMhMjA/ QyM1NF8jMzZPQEMkIzEhMzY/XyE3P19HRyMwITE4P0AjMjhfP09fT18/QT8/X08/Qz9DPyE0QT8/ QCM0NSE0MD9HIzY2SyQjNDMhMzg/XyE5P08/X08jMzQhMTU/QEM/QSE2P2A/cF9wT0c/R0dHP0M/ QSE4P18/X29vTyE3P159W293b1d3V01JRz9GR0JAJCMyMSEzOT9AP0AjMjQ/Pz9DP0sjNTEhMTk/ Rz9HQ0EhND9AP0A/QCM0OCE1P0BAQT9AJCMxOCEzOT9fXyM0MCE1P28/QSM0MiEyMz9PP0E/Pz9H Pz8/QyQjNjEhMzk/TyMzOSEzMj9HIzM2bz9HJCM2MyE3Mj9DLSMyMURPREpTSFVIVlV0SnVKdUxX REYjMTVPZ3RFZ1B+b18jNDBHTyE1P0E/QEMjMj8/P0Q/T18/YUNfPz9BPz8/QT8/Qz9JPz8/Z08h ND9BIzIyQT9PWUJAP18jMTA/RENKRURBTEFEQT9BIzIyQz8/QUE/QUE/P0BAQCE3P0BAITQ/QCM0 OEAhND9fXz8/Xz8/P08/RCQjM0lreXNoUUBTP0cjNyE2P0AjMTM/Z2NVSUAhND9AP0U/QSMyNEdX Pz9fXyM1NyE2P0FHQyM1MUMjNDhHPz9DIzIyPz9nTyMyOT8/XyM0P0NfU3NLT0dPPz9HITc/Qz9O P0o/R1chNj9AQkAjMjNDITc/Qz8/P0AhNT9BPz9BIzQ0P0NDIzU2P0FBQT9AITg/QCQjMk9BITQ/ Xz9fIzExITEwP0cjMTY/P3dWbSMxMj9EVXZfYUBAIzM3XyE1P0A/QD9FS1NPT18/YWlHRlVFPz9B Pz8/QUFBP0I/QD9BIzUxXyMxOU8jMjNHRSMyOT9HSyE1P08jMzE/P18/X09PRyMyXz8/T0BPP09P V09PP09XT0NHIzU3Tz9HP08/P0chOT9BITc/QSQjNF8jMjBAPz9BY0dhR2BJc0hzSHFleU9CQCMx NCE1P0E/P0AjMU9PPz8/X1c/T0M/Yz8/QD8/P0EjMjRBITc/TyE3P0E/QD9APz9AP18/T19fP19f Pz9fXz8/Tz9nIzM3Xz9fT2FfYHFgR2BgITVfP28/R29HRyMzMUA/QD8/QyE3P08/QE9fQ3dHJCMy NiEyNj9HRyMxMD9HRENBQEE/P0EjMTghOD9HRz8/Tz9jP0BAQD9AP0BAIzI4P0A/QCE2P2c/SEAj NDk/P08jNDBLP0cjMz9DQEFEP0hJQEIjMTlHRz9HIzM2Qz8/Qz8/Q0E/QT9BQT9DP0FDQyM1MCE0 P18/X29fb0dPdD9Xc2hTRz9vJCMzNSEzMD9HP0NBIzM0Z1s/P0BfbFl5eD9BYUA/RD8/P18/Z3Nt W3lpU0c/b0NDTU1NQEA/Pz9DX09KUD9PX19PPz9PITY/QUA/P0A/QCMzP0dHRz8/Q0cjMTg/X18/ P19PXz9fP2dTP1c/VUtHX0M/Pz9fJCMzITMxP0cjMjJfPz8/QyMyOVdpR08jMCE1P0AjNjg/Tz9H IzEhOT9PP18/Pz9fPz9PU1chND9DQT8/Tz9PPz8/TyE1P0MjNjc/RyE5P0EjMjBHQyMyMUcjNjZA QSM0NkEjNjhPP28/P0chNz9DPz8/QyMzN0EjNDQ/P0AkIzQ3ITMxP18jMjhPIzRDQz8/Qz9RQT8/ P19APz9AIzQzT0RQUFc/P0c/P0AhND9AITg/Xz9fIzI2Pz8/QSMyNT9BIzghND9HIzI4Xz9fP08/ P0M/R0c/Pz9BIzQxQSM2Mz9DIzE5P0EhOD9FQz9BP0EjNDI/P0AhOT9AJCM2MCEzND9AP0AjNTAh MTI/RyE3P0AhND9AIzNHPz8/X28/P0MjMzlDIzM2RiMyMCExMz9BIzM1Qz9DQyM2M09PIzU3XyM1 MT9PIzMwQ0M/Q0MhNz9AQEFDIzU0P0E/P0UjNTkhNj9BJCM0MyEzND9PIzI1QCM0OUEjMCEzMj9f XyM0Mj8/TyM0OCEyND9HIzQzRyE1P0M/P18hNj9nT29XV09HS0NHP0E/SkBJRUlBRSQjNjEhMTAw P18/Pz9PPz8/Tz9HIzQ1RCMyOEA/Pz9AP0BBP0BAP0A/QCQjNDIhMTA2P0A/P0MtIzEwQ0dXY09r X1c/Xz9fT19PP10hNj9fPz9fTyMyN08jNDA/P0A/P18hND9fIzQzRT8/P19DPz9fP0M/YEpNU2Vh ZWNTU1M/QT9JPz9DQkI/QkBFRUMhNT9LP3FxP0A/QmdPb09TT29jU0xRWU9dVU5VTUpFSD8/RD9A QyE5P0M/Q19fY19hYCQjM0JUQlJNUlRFaVtZP0lHP0cjMTI/U0chNT9vW0g/Yz8/SSMzNEBEQU9A Q09CT0JiQkJgQSM1N0M/Q0EjNTlHITU/Tz9HIzM0Pz8/QD9AX19AT08/b18jNDQ/Pz9BP0U/QSM1 MEcjNDJBIzU5QSMwQyMzND9BQ0dDRj9DSUFHIzI4P09fP0c/Xz8/T0c/Uz9PRyQjMjVvXyMzNV9H XyMyMD9JX1RBY0o/RmlVQEEjMTRAITY/X0M/Pz9PQyMxQWdXZFlnXz9fIzI4R08/Tz9PP08hNz9H P0c/R18/P0chOT9BITU/QUNBQD9AIzIyITQ/Xz9fP18/XyE4P0cjNDg/Xz8/Xz8/P1dzW3lTT0tJ VURjX0BgJCM4RyM0QUMjMj9AITQ/QD9DPz9DIzEzX19oUURfRz8/Rz8/Xz9vQ08jMjlDUSM0RElf TyMzNz9PPz9DP0NBZEJGYGBwP19vPz9AP0JCQUJBb1FPUUdnY2NBT2M/Zz9fZ2c/P09HR0t3QUY/ P0BCQEBARkpCQURAREBAP0AjNDRfITQ/UyQjMjEhNz9APz9AT2RPQEAjMTU/P2N5XnZ7XkZCUU5K TmpfIzI2ZyMwPz8/QyMyMkA/Rz8/P18/Pz9fITc/QEA/QCM0NE8/Pz9HIzUxPz8/QF8jNTdAITU/ R09PP08hND9TPz9DITg/QSMxOD8/P08hNz9APz9BREJBQEE/SWdRP0g/QT8/QT8/QD9AP08kIzE2 ITIyP0IjNDkhOT9PIzI0ITQ/QU4/QG8/TyMxOD9HP0c/T09BSz8/P09DITU/Q0NLQ0dBIzA/P08j MjIhNT9AQCMzMUA/P0A/Pz9AQF8/Pz9HPz9fITQ/X19fR19fXz9PX1dDQUc/ST8/QEE/Pz9BPz9B T0hQP0g/QEckITM5P0NHQz8/R08jNTBHPz9HPz9BQyMyNEAhNT9fQF9PP18hOT9AQD8/P0BAITY/ V29PT0FHQ0dDRz9HPz9DQSM2OCE2P0AjNTBfb19fP19AX0RgdF93WF57R3VpXVVZXURdJCM0NCE0 Mj9HIzQ4Rz8/P09HP0dDPz8/Rz9HTz8/R0chND9DQ0E/P0AhNT9DPz8/QyM2MyE3P0cjMT9DJCM2 MiE0Mz9DIzIhNT9BPz9PTz9fITg/QD9AP08/R0dLS1dvP2dHIzU2P0MjMThPTz9fJCM2MyE1NT9B IzQ3ITc/XyMxOSExND9BITU/QCQjNjEhNzg/Tz9PIzY4Z19fLSMxMHNqW2p+Y3pUaXRrT2whNT9D P0NDQT8/QUNJS1dXT09XIzI5RCMzNFRBRD9fP19fITg/QCMxOD8/R09HP1NfT0dXbz8/XyE0P18/ Rz9HP0dDRU9BS0dFQUE/a0dfT1dPdz9nT08/Tz8/P0AhND9AITY/Xz8/T28/QE8/T0FHTz9HP09H RyQjMzVBU2JTP0hDIzM/RD9RQEEjMTN7TUJQaVBhRz9AP0MhND9BP0BFIzI2QSMyMj8/Tz9gP18/ P09AQWNRQ0dBIzY4ITQ/Q0NBRz9fPz8/X18jMzRAP0BAQT8/P0BBIzY4P0M/QEE/Qj9AITU/R0c/ Rz9HTz9HP0c/S08/R0NHU0dDR18/U2dDT0dHQz9HP0MjNTc/P0M/P18jNjI/Pz9fJCMyNUgjMjAh ND9RP2lPSUBtT0JAIzEyPz8/R0tBQkNCQkxiREFERUtIQyM0Mz8/P09NQ0E/Uz9BYD8/QUNES0td QUk/SEJBQkFFQ0RBSUtJTUNDS0VDREE/YF8/X29vd2NjU1BvUEA/QD9APz9AP0AjNTkhOD9PIzQz ITEyP18/Pz9fT0BkQlBoclF2JCMxNSExND9PP2lUYU9gZ29PZ28/P0A/QCMxNEEjNDA/QCMyOCE1 P1dDR0dBS0NPQz9fR19PXz8/Xz9fP0MhNT9PIzUxQCM0NE8jMiE0P0AjNTchNz9AITQ/TyM0NCE4 P0E/Pz9AITc/QD8/QCM3MCExNj9fIzY0QSMzMT9DQUE/RCQjMTYhMTQ/X3tDPz8/T09Ha08jMjU/ RyE0P18/P1cjMzEhNT9PUz9LP09JR2dPT09fP09fITU/Q0BBP0chND9HITE1P0BCP0A/X0AhOT9A QCQjMTQhMTk/QCM0OSE2P08jMW9PXz8/ITRfYCM1Nj8/P0cjMzdBITU/QEBBP0FCQERAQkM/QD9v ITg/QEJCP0E/REJBP0AhND9XR0cjMjghOT9APz8/QCQjMjQhMjg/XyE1P0FJS2lPQkBAQmBfP0A/ P0AjNTAhOT9DITQ/TyE5P0c/R18/P2NPPz8/QD9fQUNDP2NfRF9AP0NfPz9BPz8/Rz9gX2FBR18/ P1FndmFKfUVkcWpTQmtZT2tDQz9HJCM0ITMwP18jNjMhMTM/TyMzOUcjNDg/XyE2P18/T28/Vz8/ P0dHTz8/P09vV09Pb29vT1dXR0s/RiE1P0FBRUFFQVNFbWFdZX1vbX12cnVJRVd0Vl5qVkhGP0Q/ QE9JSENIJCM0NCE0OD9PP18jNTkhOT9HITY/T19fPz9fXyQjMjQhNjE/QD8/QUA/QSQjNTchNjI/ XyMyMkA/Qz8/QyQjNjMhNjY/QyM1Nl8tIzEwbFJrUmxZZEp1aFZTIzE1d0F8X1VIRElEXUpebl5F TyMzMkE/P08hND9HIzI1TyMyOD9PPz9fP08/P19fV0BXQEdgcz9rP1c/Z18/Pz9fITEzP0E/QUEj MTghMjA/YyE5P0BDQT9DP09IIzYyPz8/XyM2ND9fPz8/RUFEQEAkIzRPQyMyNUAjMjA/Pz9BP0dB Z0IjMTY/Pz9KITU/QCMyOSE1P0AhOT9BIzMxPz9fX08/P19vQD9GQT9DdUNCRz9PPz9PP08/P09H ITc/QCE3P0A/QD8/QCM1OSEyMD9BIzY4QENBIzU3ITE1P0AjNDQ/TyE0P08kIzhBIzNfUWdPY1dv QFMjMTM/Z0Z8QVNoRXlEeT9zP08/eENHP0M/Rz9HIzQ3P0A/P2EjNDNHPz9XQ1hJW1c/P0NnPz8/ Qz9NQ0lDPz9XQ0c/QyE3P0BAQEJAQEA/QD9AIzMxITI0P08/Tz9fITk/Tz9XXz9BZ09HR2ckIzM1 P0c/Q0FAP0MjMTIhOT9vP18hNz9BU01BQT9VT0tPIzYzITQ/T0cjNDQ/Xz8/P0AhND9AT0dfTyM1 Ml8jNTZfXyE2P18jNDQhMTM/QSE3P0MhNj9AT0tPS08/Rz8/P09XIzQzPz8/Xz9fITQ/R0NfY2Fm QmRCQ21rUEthQ0EkIzE0ITE5P08/Pz9fP18/Zz8/R0NDRyMxMUNPIzM1XyMzNyE1P0NBIzUwPz9A P0MjNDhfZ0FPPz8/Tz8/P08/P18hND9PT09Xb0dZSz9BRUNHQ0tjRW1LY0dnbmlOfWxyeWZybnJt dXVaXnpuZlhFSkNHQ0E/QUBBPz9HP0c/Pz9BIzYzITU/QUMkIzI3ITIxP18jMTAhNj9fb09Hb19h YSMxOCExND9TXyE0P0BCQEJDQVZNQ1FDU0lDPz9HQWNxZ2dndz9fITY/QSQjNCEyOD9AIzM0QCE3 P0BBP0MhND9BP0EjMzk/Pz9AIzY4ITg/QEA/QD9AQEFAQUVGRUQ/P09PTz9vT29XX09vT19PT09v P08kIzI0ITMwP0A/Pz9APz9DT0tAQUFASEMjNTAhMTY/Rz8/Rz8/P0dIP0A/QD8/Qz8/Q0c/P08/ QUpPQD9AP0BBP0NHPz8/QEhAP19DPz9jd19YZllYfHx5dGpVUlxcT0tZQ1dQQD9gT28kIzEhMzA/ Xz9APz9AQUdfQD8/QCM1OSEyMT9fXz8/ITRfP28/P0UhNz9HPz8/Q0E/Qz8/P0skIzIyITMxP0A/ QCE0P0w/UUw/Y0E/Qz9BPz8/QT9JP0EjMzchNz9BP0FAP0AkIzMhMzE/XyE1P18jNjEhMjY/QCQj NDAhMzI/QT8/P0MtIzEwSXhFaFV4VXprTiE4P0NLX0tjQ0dFPz8/QEE/P18/Pz9AIzIyQ0JAQUFR a1FjUFM/U0dBRyM0OE9AQE9PT1V1e00/Rz9PP19gYmNfQ0dLTVxcU3Vbe2t9fF14fn1+YG5te2J1 ZHZvandZUElIREpFQEFFIzMxITU/XyE4P09fT0NBQUBHIzcwT0MkIzNkQVhBSENAQ0AjMTJvSiE2 P0ZCUkVAQkFQP0IhND9HTyMyOUdPPz9HX0dvT18jMzlAUV8jNDQ/P19vPz9HITU/Xz8/P0E/P0E/ QUhLRz9HR0chNj9fITQ/XyM1MCE0P1dPPz9TR1dHS1NDY2Nwc2dfWF9UQHJBckRGQEZfQUEhNj9f V3NPbWZCQSQjMjBPQ19TX0FnP1EjMTM/c0JTYVQ/QkdPP0A/P0BhaGNQYD9PXyMyNEE/R0MhND9B P0NHPz8/R0FLIzE4P0MhND9DSUNHP0c/Pz9fITc/QD9AQUBBP0BAQUBAQUAhNj9PP0chMTA/T08/ P0dHP0NDQT8/P0MjMjRfPz8/T0cjNDRfIzIyRyM0OD9fP2c/P19fJCMxNSExMT9ralxcaXRLb19f ITU/T1dtXXlHIzQ5QSM0MEc/Xz9PP0dPRyMxNz9HIzYzPz9DP0EjNTBAPz9PP08/P0dDQUFHITU/ T19fP0E/QEFBQUA/P0kjNDMhMjg/X09fb0d4R3d3WVdQQFxcRXZNdkxWRkJIRE9PQyMxOEAkIzE0 ITExP08hNj9HIzIwP0dBP18jMTYhNT9DIzE0Y09fIzM0QT9JR0E/P0MjNDMhOD9BSEJAQkhJQT8/ QyE0P28hOT9AIzY4ITQ/QCE3P0E/QD9BP0BBP0BBP0I/QkBBQ0E/Qz9NPz9DITQ/QyM2NF8/T19H Pz8/QSM1NyE3P0cjMzdHJCMxNiExNT9JbyMyNT8/P08jMzRPIzFPITg/QD8/RT9iX1A/P2cjMzch MTA/Qz9BIzQyXyM1Nj9AQD8/QEA/P0A/Pz9PPz8/T09PX08jNjMhNDE/Rz8/P0dfPz8/RyM2OCE2 P08kIzQwITIxP18jNEdXQyE3P0BAQGA/TyM0N0E/P0NPXyMxOSExNT9AIzUyQD8/P0AhNj9PIzU3 ITQ3P0E/P0AkIzMhMzA/QCM2MEMjNThDQyE1P18jNTkhMjM/T0k/SCE3P19fP19fX0dBQFE/Pz9D Pz8/Qz8/QCE4P0c/P0EjNjIhMTM/Sz8/P0AkIzI1ITMzP08jOD9PIzQzQyMyOEMhND9AP0BAPz8/ QGFfX19jQ29fP19fPz9APz9BSFNCUz9RQz9DTyM1MSE0NT9vJCMzMSEzOT9DP0A/Qz9HWmNHPz8/ T0M/Tz8/RyE0P19DU2NDQT8/Sy0jMjBDQFVHYkdRP0IjMTVvXz9fQEVQRlpNXlVnWUAjND9PV0dX V0chNj9fIzIyP0NHSVA/Tz9wP19TP1dDP2NDT0U/RT9HQSM1OT9fITg/Q0M/P19AP2hAP09QQU0/ bz9CUltXX19HT28jMzFBQ0A/RD9IP0hJT1NHVUlPQE9LQEEhNT9AIzY4ITQ/X3t7d0tEJCMxMGp1 aFZLdmx+IzEyT0E/R0NNX18hNz9DQSE0QD9DQUEjMjVDIzM1QE9HIzI0QUNnQVBFQGI/P19PIzQy P0A/QEBBZ2A/Pz9PPz9fIzE4QT9EQUA/QD9AQCE0P0M/P0cjNjghNj9HIzU2ITVfIzQ0P0BBP0JA QEEjNDNBPz8/Q1FDRElFSERKR0RCQT9DQEE/QiM2OSE4P0NBIzNPJE9HP18jMzVPIzEzPz8/a0dT QFFfWEVXY1BfSFVjR0BBP0E/QD9AIzE0QCMyOSE2P09gIzQzQz9FQ0MhND9PX18hOT9AQERAIzE4 ITM0P0E/Rz9HTyE0P18jNjMhND9DQT8/P0BBP0IjNTZHT0dDIzU5ITU/QCM1N09JJCMxNCE5P0NI QUBPP0dfP18/X0AjMjBAP1MhNT9BPz9BQ0cjMjghNj9HP0c/R0FLQD8/QUdQQEdgSE9oP29TP0E/ Tz9PP08/X19PXz9PXyEyMz9BIzY4Pz9fIzQ0ITEwP193d2d7a29jZ1NKTz9HP0AjMzQ/XyM2XyQj MzIhOT9AP0MjMTAhMTE/UWdjRVNFRT9DQ0BJQSMzMSE3P1c/WkNPQEdpRUdvP0FBITQ/RUNJP0NB QCE2P08jNjQhNDQ/QD8/QCMyOEchND9BJCMxMSExMD9BP0cjMTYhMTA/XyMzP0chNz9HT0NVIzUw ITk/QT9BP0MhOT9BITY/Qz9CP0AhNj9BQyE1P1dPTz9XT0s/Q09Pb2BDX19LT09VRUpDUElAcF9v Y3FHP0NDPz8/Qz9FQl9fT1FBQSQjMTYhMTE/byMxITE0P18/Xz9PPz9PP0BAUFBAPz9fIzQ0ITQ/ SD9BPz8/RT8/Q09FaENwPz9PT1c/b19fX29PP18/P18jNTEhNDE/QSQjMiEyNz9fIzM3PyE3XyE0 P0MhOD9fIzUyP0AjMzlPP0dPP0dPIzQ4Pz8/Rz9HRz9HTUtNTU1JSk5eXkdaVXV+bm1kYG5GRks/ QkJOTURNR1tXb2RnYF9PX19fITY/X08hND9PP08/X09MbkRAP0FAJCMyNyEzMD9AIzM0T1c/Pz9f S2lBT18/Xz9fIzQ4P0MjMjMhMTA/XyM1NiE2P19fXz8/TyM1OSE0OT9PJCM0MCEzMT9HLSMxMFpp XFx0SnR+aSE3P0NXS0tZS0dXTz9QS0dDIzI2R0M/R0cjMz8/P28jMm9vIzIyQEFgQGJHQmlAYiE2 P0BRITQ/Rz9HIzQ4Q0M/Q0c/P09HITY/UnJScGFwcHhVa3l7aVdTR3lWUT9HRkFAPz9AITc/YT9P b19vR09LQUVERUFxX1lHIzUxXz9vIzFHJCMzY08/P1NBIzEyPz9nPz8/Xz8/WmFiQSE0P0NLTUEj MUA/P2FBPz9PQ1cjMjghND9PR09LT2NPT0dYc0dvP28/R19OUE5jYURxP0w/XyE1P0E/QCM1MCEx Mj9DP1NjaU9ER2h3VldrTUVGQVFEUmBIQ2VAT2RHUkNvR3FLb0l4eEhHP18jNDNHIzM0Tz9vJCMy MD9EQSE0P1QhOD9DITY/R08jMjU/Tz9HQyMzND9fP0FAYWRHSD9hIzMxR09LP2NXQ0FDRUFjP08/ Wz9DP18/P0M/P0cjNTI/QCMzMSEyNj9fP18/P18/P09fR09LV0dbU0JAQyM1OSE2P18/b0dvPz9D IzYyPz8/TyMwQ0kjM0EkIzM1Pz9fSV9HIzEzPz9BfEFzSVNqP0A/QENARkNCQiM4P0AjMzJDIzI0 QD9AP0I/QUBBRkFCUz9FP09AP0BDITU/RyMzOT8/P1dPR08jNTlBQEE/QV9BQ01PbEFzeHt9fX5r R2tNXFxNRUVIUj9BP0FAQj8/P0QjNDM/X09fV09rP2FDQUEjNjghMTU/Qz9WZFZGIzM3X0AjNUAk IzE0ITg/VD9vPz8/UyE0P0BBIzI5ITc/QT9PR19vZ08jNDchNT9AIzM3P0EhOD9AQCM0MiE1P19B X0A/Pz9fITQ/QCM2OCEyMz9DPz9DQT8/QD9AIzQ0Xz9fP18/X3dXV25JRktKRkZAQEAjNTchOD9K IzJDIzU4QyQjMTUhOT9BTElUaj9fITY/QiM0MCE1P08/Rz9DP0MjNjMhNj9DIzQ4ITY/RyE1P2Mj NTYhMTA/QFBBX0JQZUF0SENBITQ/QyE4PyE0QCMxOCExMz9AJCMxNiExMT9AIzM1ITU/T29fP08j MzchNz9AP0AjNDM/QCE0P0NLR18/Xz9BITU/QD9BQkgkIzQhMjA/Xz8/X19fP3FfcT9PP0M/RyM1 MCExMj9fP18jNTlHIzE4QUM/QSQjMyEyMD9PX18/Pz9fIzQ5ITQ/Q08jNTYhMTY/Tz8/TyM0NEc/ Q2FkQj9DP09Xb0c/T1dPX0c/P0E/QD9AITc/Rz9fLSMxMEBBREFAP0BeP08/P0NDITQ/X19PPz9D R18jMzdPP2dPR0FDITQ/QUFDP0Q/P0NAPz8/QT9AIzQ4Xz9DQ0lFITQ/V1t3d29fP3dvdz9fX2t9 XV1uRUFBPz9vb3BSSU5uXlZNe0lPUV9hT29dbz8/Z1dIZWpVSWM/QkBAQSE1P2JQRUBAIzU3UyE0 P0MkIzM0Xz8/P19vRyE1P18jMjZHIzIwTyE5P18jMkAjMjRHP09LITU/Q0AhND9fP1BAP0U/QT9A IzQ0Xz9vX09fV09gX1AhNT9LQyM1MCExMj9nQ09DRz9HYz9PTz9nX0F0YGtLW2tLX0lLQUVFRT8/ QD8/QD8/Xz9fQElAP09FRz9DQCMzNF9IUUhBJCM0W19PW1tNTyMyNT9vX1cjMTU/Pz9EVUZNQT9L IzRAQD8/P18jMjJHPz8/Q0hFSEEhNj9GS1FNSFVEP0U/USM1Nj8/P0A/QEdTSUBAQkJEP0BAQUJA P0AhNT9AP0A/Pz9AIzY4Pz9PPz9fP08jMTg/P0c/TyE2P0cjNjghMTk/X3BNSSMxOEEjNTFZdWxV WCQjOEEjMUdpXz8/P18hND9PIzE2Pz9HIzM1Pz8/QD8/P0FPIzQwTyM0Mz9PP19fV19Hc2dLV09Y S1FHYT9PP0g/Rz9BQCM1MiE3P0EhNj9AIzQ0ITE3P0A/Pz9AITc/QT9BP0FBPz8/Xz9fT0A/Z1BH P19BIzQzITEwP19PZ0A/P19fJCMzP1Q/QEEjMzVAIzQwRT8/P19XR08jMyE2P0AjMT8/QD9HIzI4 ITQ/T18/Xz8/T18/P18/bz8/P18/Zz9nT0NLUGlTQG1VSGM/P0M/ST9XRSMzMSEyND9AQD9DQD9A QD9AQEFEQCE2P0AjNzAhMTM/TyM2Ml8jMzc/QyQjMjkhNj9fITQ/XyMzNCExMj9CRUZmRkJEQD9A QUA/REc/QiM1MCE2P18jNjM/QCMxOD9DP0I/QCM1OSE2P2VhP0M/P0E/TEN9Xl1SQGBgT3dUd256 RU1FR2NfIzQzITg/QD8/QD9DIzU5bz8/P19XQz8/UXFXd1lzXFx9dH1mQ0ckIzMyITg/TkcjOCEx ND9DIzI5ITU/QT9BIzMxPz9PXz8/P09HPz9nX08/T3NPR0c/ST8/XyE5P09fIzI4ITM2P0A/P0Ak IzEyITk/Q0NGQWJnX19vSFdfP3V3IzE4ITg/T08jNTE/P0EjNDQ/X18jNDIhMjc/QSM1NiEzOD9P Tz8/P08/Yz9LQ0NDSEE/Pz9XRyQjMTMhOT9AQT9AP0FAV0BTQT9VRyM1NyExNT9DQSQjMTQhOT9B QCE4P0NBZyMyITE2P0AtIzIyX0dfa1FrdyMxMENAQD8/QD8/P3xBQEJBP0JAIzJHR0tGIzIyP09g XU9tWU9rT2FHIzE4SEMhNz9fIzQyPz8/TyE0P0EjMTg/R19PXyM1MD8/XyExND9PP0hvUUNvTVtt VUZZRUpKTUJHRT8/QyE4P0M/Z1NfP19Ib0dTP0VDRkdARz8/Rz9DIzM3QCQjMzRGQUxCTEJEIzNB IzEyfT9BITU/QSE0P0AjNTc/Pz9PP08jMjk/P0MjMjg/YD9AX0BfT19VaFVsVWhhP1RBc2hdZ0x5 P1pDQEEhNj9BP0AjNDQhMTE/Xz9fP19HP19fPyE0X29vT09RV1F1eV5GZVJFP2VAXyE0P0cjNDgh Nz9CP0FXP293X29fVyQjMzdHITQ/TyMyOUE/Pz9AQCMxNj9HIzE/Pz9PTz8/Q0NHITg/QyMzMUA/ Pz9AP0BfQV8/QCE1P0A/P0BfIzU0QyM2OCE3P0NHIzMxITIxP28/Tz9PR1dDV0NDP0tDP0sjNDJH Pz9HIzU2P2M/X09nQT9AZyE0P0NAX19vZ18jNjhEP09HP09HT18kIzI0T0NPIzQhND93IzExP2Eh NT9BIzIwP0A/P0A/Pz9CQUAjNDghMTQ/T0dBPz9XdyE0P18/Tz9fX3d3b0tDV3Z+UEBAQURFITc/ QndFe1NMTEJOQEJAQD8/QD8/YF9gYGBAQF9vWEdHREAjNDMhMTc/RUFFQ0VGQUUkP28/T18jMjY/ P0AjMTU/W3t3e3VdfCMzNT9fITc/QCM0NCExNz9PX0E/QEFAP1FAQUFAXFw/QD9DITc/RUMjNTkh Mzg/cFlHVVh+VUJedl51SnVKXkhPV29fXyM1MUA/Pz9AJCMxP0BBIzEzITg/Q0FAYCMyNT8/QyE1 P0EjNTYhMjA/R1NDPz9DR0MhND9BQz8/QEIhOD9HRyE0P18jNTchNTI/QD9AIzE4Pz9HJCMzMiEx MT9BIzQwITU/RyMzNEdPVz9HTyE0P0JHITQ/Q0sjNTAhMTA/QCM1OUVnV0EhOD9FP09qQj8/TXt3 d3FwITR+Xn5+e0ZIQkFBITg/QCM2NCEzNT9DIzI0P0FAJCMzITE4P0E/P0E/P0NDQSM1MiEyNj9D JCM0ITE4P2NLQ0c/QyQjMjQhMTk/Xz8/TyE2P0Y/X0c/P0FBP0MkIzM3ITIwP19PPz9vX29HQz9R P0EhND9FR0EkIzQzITIxP19fXz8/P193X0dAP09fQE9HQFM/P0AtIzIyQ0A/QUBBQFcjMXchNj9f Pz9PUVs/Pz9PIzM3XyM0OD8/XyM0NF9PXz9fX09vT0dfQ0tZR0NDQUc/Pz9DUEFTSk9PZ0NfITg/ X18hOT9AITY/QF8/YF9gQGBAPz9nZ09rV2tQP1FTUE9AS0BAIzU0ITU/X193e28jMTlHIzQyTyM0 ND8/P08jNjhAPz9AQSQjNDJ3X1d3X1dnIzI0RSM0MEUhNT9fITQ/RyMyNEBjP0dfP08jMzkhND9H ITQ/QyM1Nj9fPz8/Xz9vWVdDb28hNj9fPz9PP18/P18hNj9DIzY4ITc/Qz9DQVM/Q09DP0MjNTYh OD9PP2NPX1FnXFxraU1lU3BrU09fb0dHS0NCQD8/SEZOe193d1tvX1ckIzQ0QUM/P0EjMzQ/P0Aj MTJART8/R01EQSMyXyM1MV8/XyMyMj9Bc2NHW2dPQE9KQEs/UD8/P0E/P0EjNTI/Xz8/XyM0OD9O Rk4/Sz9HP0NCQUBCQktgRkIhND9IXyE0P19BRWFtaXhKTFpOSUxAVURTc1Nja34/VkJAQEA/YT9A Pz9HITU/QT8/QCExMj9AP0BAJCMzMUA/RSMzOT9DIzMyITQ/R28/Tz8/P0NCQyM0Mz8/QEIhNEBo P0A/P0A/Pz9AP0AjNTk/TyE1P0BfP0dPbyE0Xz8/Q19bU3JdV3t6fW5eVVh+dnxuVFhwSD9AQ18/ Xz9fT1c/Vz9HP0dPP0M/R0FFP0U/QD9fQF8/UWduXkxTRkFBITc/QU1DRV9NW0MkIzI4P1lfRFdj VV8jMTM/QENRRD9BP0IjMjBDIzM0X0BhP0dPIzMxQ0FDQVtDP1E/XkNJR0NPSUBAP0EhMTI/RyM1 MCE5P0NATz8/QT9HQU9JY0dPT08/P3E/X09BYUdBSUFJUUI/QiM0MiExMD9HIzUyQUEhNT9fb09X Q0FOdmV3byE3P18kIzQzPz9APz9AIzI1Pz8/byE1P08jMzg/RyMyOT8/P0cjMjg/QUE/QUNBSWND cT9JZEFqQ1RpT0RUSWBDQj8/X0pBXFxCU0JrUEk/RyM1MCE1MT9BPz8/Qj8/QCE3P0BAQUBBPz9B JCMxMSExMD9HXz9PIzEwR0NHP0kjNDc/P08jNDIhMTk/Xz8/QD8/TyQjMTUhMTA/QkhfQCMzTz9P TyQjMTQhMTE/Q0E/P0AkIzM1ITEzP18/Rz8/QEMtIzMxX19fP19TT08hOT9fPz8/QUt7R2pDaj9s QCM1Nj8/X19fT0FfX1FfPz8/X0BfQD8/QG9kWT9GQVRHfVR5WEVHUWFBIzUwPz8/R0BLb0NtSG1A P0JAQUAjMjg/TyM1Nkc/P0c/X0NBP3FzUX1pRG9+eXNxXFxdTkVCQkJAQCMxOT8/QyE2P0NBP0dP Zz9HP0MkIzM5T09PRz8/R0lPIzFIXyE0P2c/RyMyMmFPaU9BQEZTQD9DIzQyP0dxRFlDT0FgQ1FM T0VPYU9fP08jNDg/Q0MhNT9APz8/QURBXz8/P0M/RT9RZUFCQkBBQD9APz9gX2BAX29hUENBQD8/ P0cjNTk/Pz9ZTT9ESkRBQD9AIzU1Pz9vb3d3e3luVXsjNDI/P0E/P0EjNTUhND9fb28kIzI4QEFH QEFAQUQjMjRHITc/UkFHRCMxOEMjMjg/Xz9PP2lDekF1TFlEUk1gS1JLX01wSVRJUVRpRElvSE8h ND9HIzMxITE3P0c/Uz9DS0NDQyM1OSE0P0cjNDIhND9fP29HQD9AITc/XyE0P0MjNTYhMTQ/QD8/ P0pAJCM0Mk1ARkFMQUQjNDA/QEVPPz8/T0VHIzM0REM/P0AjNDQ/P18/TyE1P18/R0BLT0c/Pz9H Q0dDS0c/R28hOD9BITQ/V29LV3dbd3xjV29Lb09fT3Fxd3lXXV1tVkZcXGV6XFxZXFxOREFsP1Rf QD8/P0cjNTQ/X29fb3dHTUVGQkBPaEJ+fXd3d29vPz9vT0dJJCM0ND9LP1M/RyM0Nz8/QW8jMjVG b0d3RyM1OFAjMzdfP09JPz9AIzM5ITQ/Tz9PIzE5ITk/QCE5P18jMzkhMzA/RyM1MiExND9fITE1 P1dLP0MhOT9AREJES0ZuVkNFRkAkIzY0Pz8/XyMyMk8jNjMhNF8jMzI/R0JxQyM4XyMyOT9DTyM0 M0BfUGtPQSM1OSExNz9AITU/QUNRQElFSWR+d3thdEBnP2NARmBEQGJAQUA/QCQjMTchOD9DIzYw Pz9LQz9DIzUyITI4P2A/QCQjMTEhMTI/QCMxM0EjMTBAJCMxNCExMz9AIzM1QS0jNTdHR09HTz9H VyE4P0cjNDNxVU1DXyMzOUMjNDJDV0NXZ0hnXFxnSW9UU0dfQ0AhND9BSU9BP0g/Rz9DRyM0OCE3 P19AXyE0P0A/QEZFQT9BQT8/QkBAP0BAIzQyPz9HT0lDP2pBRU9GP0k/SUM/QT9AITQ/QCM1MiE4 P0FDRyM2Nz8/P19fT09HP0NBP0AkIzYyRVNFQ0VdVkNFIzBfP0FfT18jMzRPRSMyNEg/P0AjNDRP R19gQUNSQz8/PyIsIDEyMjg4KSA9IDQwOTYKLS0tIFNJR0lPIHtzaV9zaWdubz1TSUdJTywgc2lf Y29kZT1TSV9LRVJORUx9IC0tLQpydF9zaWdyZXR1cm4oe21hc2s9W119KSAgICAgICAgICAgICAg ICAgPSA0MDk2Ci0tLSBTSUdJTyB7c2lfc2lnbm89U0lHSU8sIHNpX2NvZGU9U0lfS0VSTkVMfSAt LS0KcnRfc2lncmV0dXJuKHttYXNrPVtdfSkgICAgICAgICAgICAgICAgID0gNDA5Ngp3cml0ZSg2 LCAiNDkhNj9PIzFvT18/PyE0X2AjNTY/Pz9HIzM3QSE1P0BAQT9BQkBEQEJDP0A/byE4P0BCQj9B P0RCQT9AITQ/V0dHIzI4ITk/QD8/P0AkIzI0ITI4P18hNT9BSUtpT0JAQEJgXz9APz9AIzUwITk/ QyE0P08hOT9HP0dfPz9jTz8/P0A/X0FDQz9jX0RfQD9DXz8/QT8/P0c/YF9hQUdfPz9RZ3ZhSn1F ZHFqU0JrWU9rQ0M/RyQjNCEzMD9fIzYzITEzP08jMzlHIzQ4P18hNj9fP09vP1c/Pz9HR08/Pz9P b1dPT29vb09XV0dLP0YhNT9BQUVBRUFTRW1hXWV9b219dnJ1SUVXdFZealZIRj9EP0BPSUhDSCQj NDQhNDg/Tz9fIzU5ITk/RyE2P09fXz8/X18kIzI0ITYxP0A/P0FAP0EkIzU3ITYyP18jMjJAP0M/ P0MkIzYzITY2P0MjNTZfLSMxMGxSa1JsWWRKdWhWUyMxNXdBfF9VSERJRF1KXm5eRU8jMzJBPz9P ITQ/RyMyNU8jMjg/Tz8/Xz9PPz9fX1dAV0BHYHM/az9XP2dfPz8/XyExMz9BP0FBIzE4ITIwP2Mh OT9AQ0E/Qz9PSCM2Mj8/P18jNjQ/Xz8/P0VBREBAJCM0T0MjMjVAIzIwPz8/QT9HQWdCIzE2Pz8/ SiE1P0AjMjkhNT9AITk/QSMzMT8/X19PPz9fb0A/RkE/Q3VDQkc/Tz8/Tz9PPz9PRyE3P0AhNz9A P0A/P0AjNTkhMjA/QSM2OEBDQSM1NyExNT9AIzQ0P08hND9PJCM4QSMzX1FnT2NXb0BTIzEzP2dG fEFTaEV5RHk/cz9PP3hDRz9DP0c/RyM0Nz9APz9hIzQzRz8/V0NYSVtXPz9DZz8/P0M/TUNJQz8/ V0NHP0MhNz9AQEBCQEBAP0A/QCMzMSEyND9PP08/XyE5P08/V18/QWdPR0dnJCMzNT9HP0NBQD9D IzEyITk/bz9fITc/QVNNQUE/VU9LTyM2MyE0P09HIzQ0P18/Pz9AITQ/QE9HX08jNTJfIzU2X18h Nj9fIzQ0ITEzP0EhNz9DITY/QE9LT0tPP0c/Pz9PVyM0Mz8/P18/XyE0P0dDX2NhZkJkQkNta1BL YUNBJCMxNCExOT9PPz8/Xz9fP2c/P0dDQ0cjMTFDTyMzNV8jMzchNT9DQSM1MD8/QD9DIzQ4X2dB Tz8/P08/Pz9PPz9fITQ/T09PV29HWUs/QUVDR0NLY0VtS2NHZ25pTn1scnlmcm5ybXV1Wl56bmZY RUpDR0NBP0FAQT8/Rz9HPz8/QSM2MyE1P0FDJCMyNyEyMT9fIzEwITY/X29PR29fYWEjMTghMTQ/ U18hND9AQkBCQ0FWTUNRQ1NJQz8/R0FjcWdnZ3c/XyE2P0EkIzQhMjg/QCMzNEAhNz9AQT9DITQ/ QT9BIzM5Pz8/QCM2OCE4P0BAP0A/QEBBQEFFRkVEPz9PT08/b09vV19Pb09fT09Pbz9PJCMyNCEz MD9APz8/QD8/Q09LQEFBQEhDIzUwITE2P0c/P0c/Pz9HSD9AP0A/P0M/P0NHPz9PP0FKT0A/QD9A QT9DRz8/P0BIQD9fQz8/Y3dfWGZZWHx8eXRqVVJcXE9LWUNXUEA/YE9vJCMxITMwP18/QD8/QEFH X0A/P0AjNTkhMjE/X18/PyE0Xz9vPz9FITc/Rz8/P0NBP0M/Pz9LJCMyMiEzMT9AP0AhND9MP1FM P2NBP0M/QT8/P0E/ST9BIzM3ITc/QT9BQD9AJCMzITMxP18hNT9fIzYxITI2P0AkIzQwITMyP0E/ Pz9DLSMxMEl4RWhVeFV6a04hOD9DS19LY0NHRT8/P0BBPz9fPz8/QCMyMkNCQEFBUWtRY1BTP1NH QUcjNDhPQEBPT09VdXtNP0c/Tz9fYGJjX0NHS01cXFN1W3trfXxdeH59fmBubXtidWR2b2p3WVBJ SERKRUBBRSMzMSE1P18hOD9PX09DQUFARyM3ME9DJCMzZEFYQUhDQENAIzEyb0ohNj9GQlJFQEJB UD9CITQ/R08jMjlHTz8/R19Hb09fIzM5QFFfIzQ0Pz9fbz8/RyE1P18/Pz9BPz9BP0FIS0c/R0dH ITY/XyE0P18jNTAhND9XTz8/U0dXR0tTQ2NjcHNnX1hfVEByQXJERkBGX0FBITY/X1dzT21mQkEk IzIwT0NfU19BZz9RIzEzP3NCU2FUP0JHTz9APz9AYWhjUGA/T18jMjRBP0dDITQ/QT9DRz8/P0dB SyMxOD9DITQ/Q0lDRz9HPz8/XyE3P0A/QEFAQT9AQEFAQEFAITY/Tz9HITEwP09PPz9HRz9DQ0E/ Pz9DIzI0Xz8/P09HIzQ0XyMyMkcjNDg/Xz9nPz9fXyQjMTUhMTE/a2pcXGl0S29fXyE1P09XbV15 RyM0OUEjNDBHP18/Tz9HT0cjMTc/RyM2Mz8/Qz9BIzUwQD8/Tz9PPz9HQ0FBRyE1P09fXz9BP0BB QUFAPz9JIzQzITI4P19PX29HeEd3d1lXUEBcXEV2TXZMVkZCSERPT0MjMThAJCMxNCExMT9PITY/ RyMyMD9HQT9fIzE2ITU/QyMxNGNPXyMzNEE/SUdBPz9DIzQzITg/QUhCQEJISUE/P0MhND9vITk/ QCM2OCE0P0AhNz9BP0A/QT9AQT9AQT9CP0JAQUNBP0M/TT8/QyE0P0MjNjRfP09fRz8/P0EjNTch Nz9HIzM3RyQjMTYhMTU/SW8jMjU/Pz9PIzM0TyMxTyE4P0A/P0U/Yl9QPz9nIzM3ITEwP0M/QSM0 Ml8jNTY/QEA/P0BAPz9APz8/Tz8/P09PT19PIzYzITQxP0c/Pz9HXz8/P0cjNjghNj9PJCM0MCEy MT9fIzRHV0MhNz9AQEBgP08jNDdBPz9DT18jMTkhMTU/QCM1MkA/Pz9AITY/TyM1NyE0Nz9BPz9A JCMzITMwP0AjNjBDIzU4Q0MhNT9fIzU5ITIzP09JP0ghNz9fXz9fX19HQUBRPz8/Qz8/P0M/P0Ah OD9HPz9BIzYyITEzP0s/Pz9AJCMyNSEzMz9PIzg/TyM0M0MjMjhDITQ/QD9AQD8/P0BhX19fY0Nv Xz9fXz8/QD8/QUhTQlM/UUM/Q08jNTEhNDU/byQjMzEhMzk/Qz9AP0M/R1pjRz8/P09DP08/P0ch ND9fQ1NjQ0E/P0stIzIwQ0BVR2JHUT9CIzE1b18/X0BFUEZaTV5VZ1lAIzQ/T1dHV1dHITY/XyMy Mj9DR0lQP08/cD9fUz9XQz9jQ09FP0U/R0EjNTk/XyE4P0NDPz9fQD9oQD9PUEFNP28/QlJbV19f R09vIzMxQUNAP0Q/SD9ISU9TR1VJT0BPS0BBITU/QCM2OCE0P197e3dLRCQjMTBqdWhWS3ZsfiMx Mk9BP0dDTV9fITc/Q0EhNEA/Q0FBIzI1QyMzNUBPRyMyNEFDZ0FQRUBiPz9fTyM0Mj9AP0BAQWdg Pz8/Tz8/XyMxOEE/REFAP0A/QEAhND9DPz9HIzY4ITY/RyM1NiE1XyM0ND9AQT9CQEBBIzQzQT8/ P0NRQ0RJRUhESkdEQkE/Q0BBP0IjNjkhOD9DQSMzTyRPRz9fIzM1TyMxMz8/P2tHU0BRX1hFV2NQ X0hVY0dAQT9BP0A/QCMxNEAjMjkhNj9PYCM0M0M/RUNDITQ/T19fITk/QEBEQCMxOCEzND9BP0c/ R08hND9fIzYzITQ/Q0E/Pz9AQT9CIzU2R09HQyM1OSE1P0AjNTdPSSQjMTQhOT9DSEFATz9HXz9f P19AIzIwQD9TITU/QT8/QUNHIzI4ITY/Rz9HP0dBS0A/P0FHUEBHYEhPaD9vUz9BP08/Tz9PP19f T18/T18hMjM/QSM2OD8/XyM0NCExMD9fd3dne2tvY2dTSk8/Rz9AIzM0P18jNl8kIzMyITk/QD9D IzEwITExP1FnY0VTRUU/Q0NASUEjMzEhNz9XP1pDT0BHaUVHbz9BQSE0P0VDST9DQUAhNj9PIzY0 ITQ0P0A/P0AjMjhHITQ/QSQjMTEhMTA/QT9HIzE2ITEwP18jMz9HITc/R09DVSM1MCE5P0E/QT9D ITk/QSE2P0M/Qj9AITY/QUMhNT9XT08/V09LP0NPT29gQ19fS09PVUVKQ1BJQHBfb2NxRz9DQz8/ P0M/RUJfX09RQUEkIzE2ITExP28jMSExND9fP18/Tz8/Tz9AQFBQQD8/XyM0NCE0P0g/QT8/P0U/ P0NPRWhDcD8/T09XP29fX19vTz9fPz9fIzUxITQxP0EkIzIhMjc/XyMzNz8hN18hND9DITg/XyM1 Mj9AIzM5Tz9HTz9HTyM0OD8/P0c/R0c/R01LTU1NSUpOXl5HWlV1fm5tZGBuRkZLP0JCTk1ETUdb V29kZ2BfT19fXyE2P19PITQ/Tz9PP19PTG5EQD9BQCQjMjchMzA/QCMzNE9XPz8/X0tpQU9fP18/ XyM0OD9DIzIzITEwP18jNTYhNj9fX18/P08jNTkhNDk/TyQjNDAhMzE/Ry0jMTBaaVxcdEp0fmkh Nz9DV0tLWUtHV08/UEtHQyMyNkdDP0dHIzM/Pz9vIzJvbyMyMkBBYEBiR0JpQGIhNj9AUSE0P0c/ RyM0OENDP0NHPz9PRyE2P1JyUnBhcHB4VWt5e2lXU0d5VlE/R0ZBQD8/QCE3P2E/T29fb0dPS0FF REVBcV9ZRyM1MV8/byMxRyQjM2NPPz9TQSMxMj8/Zz8/P18/P1phYkEhND9DS01BIzFAPz9hQT8/ T0NXIzI4ITQ/T0dPS09jT09HWHNHbz9vP0dfTlBOY2FEcT9MP18hNT9BP0AjNTAhMTI/Qz9TY2lP REdod1ZXa01FRkFRRFJgSENlQE9kR1JDb0dxS29JeHhIRz9fIzQzRyMzNE8/byQjMjA/REEhND9U ITg/QyE2P0dPIzI1P08/R0MjMzQ/Xz9BQGFkR0g/YSMzMUdPSz9jV0NBQ0VBYz9PP1s/Qz9fPz9D Pz9HIzUyP0AjMzEhMjY/Xz9fPz9fPz9PX0dPS1dHW1NCQEMjNTkhNj9fP29Hbz8/QyM2Mj8/P08j MENJIzNBJCMzNT8/X0lfRyMxMz8/QXxBc0lTaj9AP0BDQEZDQkIjOD9AIzMyQyMyNEA/QD9CP0FA QUZBQlM/RT9PQD9AQyE1P0cjMzk/Pz9XT0dPIzU5QUBBP0FfQUNNT2xBc3h7fX1+a0drTVxcTUVF SFI/QT9BQEI/Pz9EIzQzP19PX1dPaz9hQ0FBIzY4ITE1P0M/VmRWRiMzN19AIzVAJCMxNCE4P1Q/ bz8/P1MhND9AQSMyOSE3P0E/T0dfb2dPIzQ3ITU/QCMzNz9BITg/QEAjNDIhNT9fQV9APz8/XyE0 P0AjNjghMjM/Qz8/Q0E/P0A/QCM0NF8/Xz9fP193V1duSUZLSkZGQEBAIzU3ITg/SiMyQyM1OEMk IzE1ITk/QUxJVGo/XyE2P0IjNDAhNT9PP0c/Qz9DIzYzITY/QyM0OCE2P0chNT9jIzU2ITEwP0BQ QV9CUGVBdEhDQSE0P0MhOD8hNEAjMTghMTM/QCQjMTYhMTE/QCMzNSE1P09vXz9PIzM3ITc/QD9A IzQzP0AhND9DS0dfP18/QSE1P0A/QUJIJCM0ITIwP18/P19fXz9xX3E/Tz9DP0cjNTAhMTI/Xz9f IzU5RyMxOEFDP0EkIzMhMjA/T19fPz8/XyM0OSE0P0NPIzU2ITE2P08/P08jNDRHP0NhZEI/Qz9P V29HP09XT19HPz9BP0A/QCE3P0c/Xy0jMTBAQURBQD9AXj9PPz9DQyE0P19fTz8/Q0dfIzM3Tz9n T0dBQyE0P0FBQz9EPz9DQD8/P0E/QCM0OF8/Q0NJRSE0P1dbd3dvXz93b3c/X19rfV1dbkVBQT8/ b29wUklObl5WTXtJT1FfYU9vXW8/P2dXSGVqVUljP0JAQEEhNT9iUEVAQCM1N1MhND9DJCMzNF8/ Pz9fb0chNT9fIzI2RyMyME8hOT9fIzJAIzI0Rz9PSyE1P0NAITQ/Xz9QQD9FP0E/QCM0NF8/b19P X1dPYF9QITU/S0MjNTAhMTI/Z0NPQ0c/R2M/T08/Z19BdGBrS1trS19JS0FFRUU/P0A/P0A/P18/ X0BJQD9PRUc/Q0AjMzRfSFFIQSQjNFtfT1tbTU8jMjU/b19XIzE1Pz8/RFVGTUE/SyM0QEA/Pz9f IzIyRz8/P0NIRUhBITY/RktRTUhVRD9FP1EjNTY/Pz9AP0BHU0lAQEJCRD9AQEFCQD9AITU/QD9A Pz8/QCM2OD8/Tz8/Xz9PIzE4Pz9HP08hNj9HIzY4ITE5P19wTUkjMThBIzUxWXVsVVgkIzhBIzFH aV8/Pz9fITQ/TyMxNj8/RyMzNT8/P0A/Pz9BTyM0ME8jNDM/Tz9fX1dfR3NnS1dPWEtRR2E/Tz9I P0c/QUAjNTIhNz9BITY/QCM0NCExNz9APz8/QCE3P0E/QT9BQT8/P18/X09AP2dQRz9fQSM0MyEx MD9fT2dAPz9fXyQjMz9UP0BBIzM1QCM0MEU/Pz9fV0dPIzMhNj9AIzE/P0A/RyMyOCE0P09fP18/ P09fPz9fP28/Pz9fP2c/Z09DS1BpU0BtVUhjPz9DP0k/V0UjMzEhMjQ/QEA/Q0A/QEA/QEBBREAh Nj9AIzcwITEzP08jNjJfIzM3P0MkIzI5ITY/XyE0P18jMzQhMTI/QkVGZkZCREA/QEFAP0RHP0Ij NTAhNj9fIzYzP0AjMTg/Qz9CP0AjNTkhNj9lYT9DPz9BP0xDfV5dUkBgYE93VHduekVNRUdjXyM0 MyE4P0A/P0A/QyM1OW8/Pz9fV0M/P1FxV3dZc1xcfXR9ZkNHJCMzMiE4P05HIzghMTQ/QyMyOSE1 P0E/QSMzMT8/T18/Pz9PRz8/Z19PP09zT0dHP0k/P18hOT9PXyMyOCEzNj9APz9AJCMxMiE5P0ND RkFiZ19fb0hXXz91dyMxOCE4P09PIzUxPz9BIzQ0P19fIzQyITI3P0EjNTYhMzg/T08/Pz9PP2M/ S0NDQ0hBPz8/V0ckIzEzITk/QEE/QD9BQFdAU0E/VUcjNTchMTU/Q0EkIzE0ITk/QUAhOD9DQWcj MiExNj9ALSMyMl9HX2tRa3cjMTBDQEA/P0A/Pz98QUBCQT9CQCMyR0dLRiMyMj9PYF1PbVlPa09h RyMxOEhDITc/XyM0Mj8/P08hND9BIzE4P0dfT18jNTA/P18hMTQ/Tz9Ib1FDb01bbVVGWUVKSk1C R0U/P0MhOD9DP2dTXz9fSG9HUz9FQ0ZHQEc/P0c/QyMzN0AkIzM0RkFMQkxCRCMzQSMxMn0/QSE1 P0EhND9AIzU3Pz8/Tz9PIzI5Pz9DIzI4P2A/QF9AX09fVWhVbFVoYT9UQXNoXWdMeT9aQ0BBITY/ QT9AIzQ0ITExP18/Xz9fRz9fXz8hNF9vb09PUVdRdXleRmVSRT9lQF8hND9HIzQ4ITc/Qj9BVz9v d19vX1ckIzM3RyE0P08jMjlBPz8/QEAjMTY/RyMxPz8/T08/P0NDRyE4P0MjMzFAPz8/QD9AX0Ff P0AhNT9APz9AXyM1NEMjNjghNz9DRyMzMSEyMT9vP08/T0dXQ1dDQz9LQz9LIzQyRz8/RyM1Nj9j P19PZ0E/QGchND9DQF9fb2dfIzY4RD9PRz9PR09fJCMyNE9DTyM0ITQ/dyMxMT9hITU/QSMyMD9A Pz9APz8/QkFAIzQ4ITE0P09HQT8/V3chND9fP08/X193d29LQ1d2flBAQEFERSE3P0J3RXtTTExC TkBCQEA/P0A/P2BfYGBgQEBfb1hHR0RAIzQzITE3P0VBRUNFRkFFJD9vP09fIzI2Pz9AIzE1P1t7 d3t1XXwjMzU/XyE3P0AjNDQhMTc/T19BP0BBQD9RQEFBQFxcP0A/QyE3P0VDIzU5ITM4P3BZR1VY flVCXnZedUp1Sl5IT1dvX18jNTFAPz8/QCQjMT9AQSMxMyE4P0NBQGAjMjU/P0MhNT9BIzU2ITIw P0dTQz8/Q0dDITQ/QUM/P0BCITg/R0chND9fIzU3ITUyP0A/QCMxOD8/RyQjMzIhMTE/QSM0MCE1 P0cjMzRHT1c/R08hND9CRyE0P0NLIzUwITEwP0AjNTlFZ1dBITg/RT9PakI/P017d3dxcCE0fl5+ fntGSEJBQSE4P0AjNjQhMzU/QyMyND9BQCQjMyExOD9BPz9BPz9DQ0EjNTIhMjY/QyQjNCExOD9j S0NHP0MkIzI0ITE5P18/P08hNj9GP19HPz9BQT9DJCMzNyEyMD9fTz8/b19vR0M/UT9BITQ/RUdB JCM0MyEyMT9fX18/Pz9fd19HQD9PX0BPR0BTPz9ALSMyMkNAP0FAQUBXIzF3ITY/Xz8/T1FbPz8/ TyMzN18jNDg/P18jNDRfT18/X19Pb09HX0NLWUdDQ0FHPz8/Q1BBU0pPT2dDXyE4P19fITk/QCE2 P0BfP2BfYEBgQD8/Z2dPa1drUD9RU1BPQEtAQCM1NCE1P19fd3tvIzE5RyM0Mk8jNDQ/Pz9PIzY4 QD8/QEEkIzQyd19Xd19XZyMyNEUjNDBFITU/XyE0P0cjMjRAYz9HXz9PIzM5ITQ/RyE0P0MjNTY/ Xz8/P18/b1lXQ29vITY/Xz8/Tz9fPz9fITY/QyM2OCE3P0M/Q0FTP0NPQz9DIzU2ITg/Tz9jT19R Z1xca2lNZVNwa1NPX29HR0tDQkA/P0hGTntfd3dbb19XJCM0NEFDPz9BIzM0Pz9AIzEyQEU/P0dN REEjMl8jNTFfP18jMjI/QXNjR1tnT0BPSkBLP1A/Pz9BPz9BIzUyP18/P18jNDg/TkZOP0s/Rz9D QkFAQkJLYEZCITQ/SF8hND9fQUVhbWl4SkxaTklMQFVEU3NTY2t+P1ZCQEBAP2E/QD8/RyE1P0E/ P0AhMTI/QD9AQCQjMzFAP0UjMzk/QyMzMiE0P0dvP08/Pz9DQkMjNDM/P0BCITRAaD9APz9APz8/ QD9AIzU5P08hNT9AXz9HT28hNF8/P0NfW1NyXVd7en1uXlVYfnZ8blRYcEg/QENfP18/X09XP1c/ Rz9HTz9DP0dBRT9FP0A/X0BfP1Fnbl5MU0ZBQSE3P0FNQ0VfTVtDJCMyOD9ZX0RXY1VfIzEzP0BD UUQ/QT9CIzIwQyMzNF9AYT9HTyMzMUNBQ0FbQz9RP15DSUdDT0lAQD9BITEyP0cjNTAhOT9DQE8/ P0E/R0FPSWNHT09PPz9xP19PQWFHQUlBSVFCP0IjNDIhMTA/RyM1MkFBITU/X29PV0NBTnZld28h Nz9fJCM0Mz8/QD8/QCMyNT8/P28hNT9PIzM4P0cjMjk/Pz9HIzI4P0FBP0FDQUljQ3E/SWRBakNU aU9EVElgQ0I/P19KQVxcQlNCa1BJP0cjNTAhNTE/QT8/P0I/P0AhNz9AQEFAQT8/QSQjMTEhMTA/ R18/TyMxMEdDRz9JIzQ3Pz9PIzQyITE5P18/P0A/P08kIzE1ITEwP0JIX0AjM08/T08kIzE0ITEx P0NBPz9AJCMzNSExMz9fP0c/P0BDLSMzMV9fXz9fU09PITk/Xz8/P0FLe0dqQ2o/bEAjNTY/P19f X09BX19RXz8/P19AX0A/P0BvZFk/RkFUR31UeVhFR1FhQSM1MD8/P0dAS29DbUhtQD9CQEFAIzI4 P08jNTZHPz9HP19DQT9xc1F9aURvfnlzcVxcXU5FQkJCQEAjMTk/P0MhNj9DQT9HT2c/Rz9DJCMz OU9PT0c/P0dJTyMxSF8hND9nP0cjMjJhT2lPQUBGU0A/QyM0Mj9HcURZQ09BYENRTE9FT2FPXz9P IzQ4P0NDITU/QD8/P0FEQV8/Pz9DP0U/UWVBQkJAQUA/QD8/YF9gQF9vYVBDQUA/Pz9HIzU5Pz8/ WU0/REpEQUA/QCM1NT8/b293d3t5blV7IzQyPz9BPz9BIzU1ITQ/X29vJCMyOEBBR0BBQEFEIzI0 RyE3P1JBR0QjMThDIzI4P18/Tz9pQ3pBdUxZRFJNYEtSS19NcElUSVFUaURJb0hPITQ/RyMzMSEx Nz9HP1M/Q0tDQ0MjNTkhND9HIzQyITQ/Xz9vR0A/QCE3P18hND9DIzU2ITE0P0A/Pz9KQCQjNDJN QEZBTEFEIzQwP0BFTz8/P09FRyMzNERDPz9AIzQ0Pz9fP08hNT9fP0dAS09HPz8/R0NHQ0tHP0dv ITg/QSE0P1dvS1d3W3d8Y1dvS29PX09xcXd5V11dbVZGXFxlelxcWVxcTkRBbD9UX0A/Pz9HIzU0 P19vX293R01FRkJAT2hCfn13d3dvbz8/b09HSSQjNDQ/Sz9TP0cjNDc/P0FvIzI1Rm9Hd0cjNThQ IzM3Xz9PST8/QCMzOSE0P08/TyMxOSE5P0AhOT9fIzM5ITMwP0cjNTIhMTQ/XyExNT9XSz9DITk/ QERCREtGblZDRUZAJCM2ND8/P18jMjJPIzYzITRfIzMyP0dCcUMjOF8jMjk/Q08jNDNAX1BrT0Ej NTkhMTc/QCE1P0FDUUBJRUlkfnd7YXRAZz9jQEZgREBiQEFAP0AkIzE3ITg/QyM2MD8/S0M/QyM1 MiEyOD9gP0AkIzExITEyP0AjMTNBIzEwQCQjMTQhMTM/QCMzNUEtIzU3R0dPR08/R1chOD9HIzQz cVVNQ18jMzlDIzQyQ1dDV2dIZ1xcZ0lvVFNHX0NAITQ/QUlPQT9IP0c/Q0cjNDghNz9fQF8hND9A P0BGRUE/QUE/P0JAQD9AQCM0Mj8/R09JQz9qQUVPRj9JP0lDP0E/QCE0P0AjNTIhOD9BQ0cjNjc/ Pz9fX09PRz9DQT9AJCM2MkVTRUNFXVZDRSMwXz9BX09fIzM0T0UjMjRIPz9AIzQ0T0dfYEFDUkM/ Pz8iLCA4MTkyKSA9IDQwOTYKLS0tIFNJR0lPIHtzaV9zaWdubz1TSUdJTywgc2lfY29kZT1TSV9L RVJORUx9IC0tLQpydF9zaWdyZXR1cm4oe21hc2s9W119KSAgICAgICAgICAgICAgICAgPSA0MDk2 CndyaXRlKDYsICIxNSE5P0FMSVRqP18hNj9CIzQwITU/Tz9HP0M/QyM2MyE2P0MjNDghNj9HITU/ YyM1NiExMD9AUEFfQlBlQXRIQ0EhND9DITg/ITRAIzE4ITEzP0AkIzE2ITExP0AjMzUhNT9Pb18/ TyMzNyE3P0A/QCM0Mz9AITQ/Q0tHXz9fP0EhNT9AP0FCSCQjNCEyMD9fPz9fX18/cV9xP08/Qz9H IzUwITEyP18/XyM1OUcjMThBQz9BJCMzITIwP09fXz8/P18jNDkhND9DTyM1NiExNj9PPz9PIzQ0 Rz9DYWRCP0M/T1dvRz9PV09fRz8/QT9AP0AhNz9HP18tIzEwQEFEQUA/QF4/Tz8/Q0MhND9fX08/ P0NHXyMzN08/Z09HQUMhND9BQUM/RD8/Q0A/Pz9BP0AjNDhfP0NDSUUhND9XW3d3b18/d293P19f a31dXW5FQUE/P29vcFJJTm5eVk17SU9RX2FPb11vPz9nV0hlalVJYz9CQEBBITU/YlBFQEAjNTdT ITQ/QyQjMzRfPz8/X29HITU/XyMyNkcjMjBPITk/XyMyQCMyNEc/T0shNT9DQCE0P18/UEA/RT9B P0AjNDRfP29fT19XT2BfUCE1P0tDIzUwITEyP2dDT0NHP0djP09PP2dfQXRga0tba0tfSUtBRUVF Pz9APz9APz9fP19ASUA/T0VHP0NAIzM0X0hRSEEkIzRbX09bW01PIzI1P29fVyMxNT8/P0RVRk1B P0sjNEBAPz8/XyMyMkc/Pz9DSEVIQSE2P0ZLUU1IVUQ/RT9RIzU2Pz8/QD9AR1NJQEBCQkQ/QEBB QkA/QCE1P0A/QD8/P0AjNjg/P08/P18/TyMxOD8/Rz9PITY/RyM2OCExOT9fcE1JIzE4QSM1MVl1 bFVYJCM4QSMxR2lfPz8/XyE0P08jMTY/P0cjMzU/Pz9APz8/QU8jNDBPIzQzP08/X19XX0dzZ0tX T1hLUUdhP08/SD9HP0FAIzUyITc/QSE2P0AjNDQhMTc/QD8/P0AhNz9BP0E/QUE/Pz9fP19PQD9n UEc/X0EjNDMhMTA/X09nQD8/X18kIzM/VD9AQSMzNUAjNDBFPz8/X1dHTyMzITY/QCMxPz9AP0cj MjghND9PXz9fPz9PXz8/Xz9vPz8/Xz9nP2dPQ0tQaVNAbVVIYz8/Qz9JP1dFIzMxITI0P0BAP0NA P0BAP0BAQURAITY/QCM3MCExMz9PIzYyXyMzNz9DJCMyOSE2P18hND9fIzM0ITEyP0JFRmZGQkRA P0BBQD9ERz9CIzUwITY/XyM2Mz9AIzE4P0M/Qj9AIzU5ITY/ZWE/Qz8/QT9MQ31eXVJAYGBPd1R3 bnpFTUVHY18jNDMhOD9APz9AP0MjNTlvPz8/X1dDPz9RcVd3WXNcXH10fWZDRyQjMzIhOD9ORyM4 ITE0P0MjMjkhNT9BP0EjMzE/P09fPz8/T0c/P2dfTz9Pc09HRz9JPz9fITk/T18jMjghMzY/QD8/ QCQjMTIhOT9DQ0ZBYmdfX29IV18/dXcjMTghOD9PTyM1MT8/QSM0ND9fXyM0MiEyNz9BIzU2ITM4 P09PPz8/Tz9jP0tDQ0NIQT8/P1dHJCMxMyE5P0BBP0A/QUBXQFNBP1VHIzU3ITE1P0NBJCMxNCE5 P0FAITg/Q0FnIzIhMTY/QC0jMjJfR19rUWt3IzEwQ0BAPz9APz8/fEFAQkE/QkAjMkdHS0YjMjI/ T2BdT21ZT2tPYUcjMThIQyE3P18jNDI/Pz9PITQ/QSMxOD9HX09fIzUwPz9fITE0P08/SG9RQ29N W21VRllFSkpNQkdFPz9DITg/Qz9nU18/X0hvR1M/RUNGR0BHPz9HP0MjMzdAJCMzNEZBTEJMQkQj M0EjMTJ9P0EhNT9BITQ/QCM1Nz8/P08/TyMyOT8/QyMyOD9gP0BfQF9PX1VoVWxVaGE/VEFzaF1n THk/WkNAQSE2P0E/QCM0NCExMT9fP18/X0c/X18/ITRfb29PT1FXUXV5XkZlUkU/ZUBfITQ/RyM0 OCE3P0I/QVc/b3dfb19XJCMzN0chND9PIzI5QT8/P0BAIzE2P0cjMT8/P09PPz9DQ0chOD9DIzMx QD8/P0A/QF9BXz9AITU/QD8/QF8jNTRDIzY4ITc/Q0cjMzEhMjE/bz9PP09HV0NXQ0M/S0M/SyM0 Mkc/P0cjNTY/Yz9fT2dBP0BnITQ/Q0BfX29nXyM2OEQ/T0c/T0dPXyQjMjRPQ08jNCE0P3cjMTE/ YSE1P0EjMjA/QD8/QD8/P0JBQCM0OCExND9PR0E/P1d3ITQ/Xz9PP19fd3dvS0NXdn5QQEBBREUh Nz9Cd0V7U0xMQk5AQkBAPz9APz9gX2BgYEBAX29YR0dEQCM0MyExNz9FQUVDRUZBRSQ/bz9PXyMy Nj8/QCMxNT9be3d7dV18IzM1P18hNz9AIzQ0ITE3P09fQT9AQUA/UUBBQUBcXD9AP0MhNz9FQyM1 OSEzOD9wWUdVWH5VQl52XnVKdUpeSE9Xb19fIzUxQD8/P0AkIzE/QEEjMTMhOD9DQUBgIzI1Pz9D ITU/QSM1NiEyMD9HU0M/P0NHQyE0P0FDPz9AQiE4P0dHITQ/XyM1NyE1Mj9AP0AjMTg/P0ckIzMy ITExP0EjNDAhNT9HIzM0R09XP0dPITQ/QkchND9DSyM1MCExMD9AIzU5RWdXQSE4P0U/T2pCPz9N e3d3cXAhNH5efn57RkhCQUEhOD9AIzY0ITM1P0MjMjQ/QUAkIzMhMTg/QT8/QT8/Q0NBIzUyITI2 P0MkIzQhMTg/Y0tDRz9DJCMyNCExOT9fPz9PITY/Rj9fRz8/QUE/QyQjMzchMjA/X08/P29fb0dD P1E/QSE0P0VHQSQjNDMhMjE/X19fPz8/X3dfR0A/T19AT0dAUz8/QC0jMjJDQD9BQEFAVyMxdyE2 P18/P09RWz8/P08jMzdfIzQ4Pz9fIzQ0X09fP19fT29PR19DS1lHQ0NBRz8/P0NQQVNKT09nQ18h OD9fXyE5P0AhNj9AXz9gX2BAYEA/P2dnT2tXa1A/UVNQT0BLQEAjNTQhNT9fX3d7byMxOUcjNDJP IzQ0Pz8/TyM2OEA/P0BBJCM0MndfV3dfV2cjMjRFIzQwRSE1P18hND9HIzI0QGM/R18/TyMzOSE0 P0chND9DIzU2P18/Pz9fP29ZV0NvbyE2P18/P08/Xz8/XyE2P0MjNjghNz9DP0NBUz9DT0M/QyM1 NiE4P08/Y09fUWdcXGtpTWVTcGtTT19vR0dLQ0JAPz9IRk57X3d3W29fVyQjNDRBQz8/QSMzND8/ QCMxMkBFPz9HTURBIzJfIzUxXz9fIzIyP0FzY0dbZ09AT0pASz9QPz8/QT8/QSM1Mj9fPz9fIzQ4 P05GTj9LP0c/Q0JBQEJCS2BGQiE0P0hfITQ/X0FFYW1peEpMWk5JTEBVRFNzU2Nrfj9WQkBAQD9h P0A/P0chNT9BPz9AITEyP0A/QEAkIzMxQD9FIzM5P0MjMzIhND9Hbz9PPz8/Q0JDIzQzPz9AQiE0 QGg/QD8/QD8/P0A/QCM1OT9PITU/QF8/R09vITRfPz9DX1tTcl1Xe3p9bl5VWH52fG5UWHBIP0BD Xz9fP19PVz9XP0c/R08/Qz9HQUU/RT9AP19AXz9RZ25eTFNGQUEhNz9BTUNFX01bQyQjMjg/WV9E V2NVXyMxMz9AQ1FEP0E/QiMyMEMjMzRfQGE/R08jMzFDQUNBW0M/UT9eQ0lHQ09JQEA/QSExMj9H IzUwITk/Q0BPPz9BP0dBT0ljR09PTz8/cT9fT0FhR0FJQUlRQj9CIzQyITEwP0cjNTJBQSE1P19v T1dDQU52ZXdvITc/XyQjNDM/P0A/P0AjMjU/Pz9vITU/TyMzOD9HIzI5Pz8/RyMyOD9BQT9BQ0FJ Y0NxP0lkQWpDVGlPRFRJYENCPz9fSkFcXEJTQmtQST9HIzUwITUxP0E/Pz9CPz9AITc/QEBBQEE/ P0EkIzExITEwP0dfP08jMTBHQ0c/SSM0Nz8/TyM0MiExOT9fPz9APz9PJCMxNSExMD9CSF9AIzNP P09PJCMxNCExMT9DQT8/QCQjMzUhMTM/Xz9HPz9AQy0jMzFfX18/X1NPTyE5P18/Pz9BS3tHakNq P2xAIzU2Pz9fX19PQV9fUV8/Pz9fQF9APz9Ab2RZP0ZBVEd9VHlYRUdRYUEjNTA/Pz9HQEtvQ21I bUA/QkBBQCMyOD9PIzU2Rz8/Rz9fQ0E/cXNRfWlEb355c3FcXF1ORUJCQkBAIzE5Pz9DITY/Q0E/ R09nP0c/QyQjMzlPT09HPz9HSU8jMUhfITQ/Zz9HIzIyYU9pT0FARlNAP0MjNDI/R3FEWUNPQWBD UUxPRU9hT18/TyM0OD9DQyE1P0A/Pz9BREFfPz8/Qz9FP1FlQUJCQEFAP0A/P2BfYEBfb2FQQ0FA Pz8/RyM1OT8/P1lNP0RKREFAP0AjNTU/P29vd3d7eW5VeyM0Mj8/QT8/QSM1NSE0P19vbyQjMjhA QUdAQUBBRCMyNEchNz9SQUdEIzE4QyMyOD9fP08/aUN6QXVMWURSTWBLUktfTXBJVElRVGlESW9I TyE0P0cjMzEhMTc/Rz9TP0NLQ0NDIzU5ITQ/RyM0MiE0P18/b0dAP0AhNz9fITQ/QyM1NiExND9A Pz8/SkAkIzQyTUBGQUxBRCM0MD9ARU8/Pz9PRUcjMzREQz8/QCM0ND8/Xz9PITU/Xz9HQEtPRz8/ P0dDR0NLRz9HbyE4P0EhND9Xb0tXd1t3fGNXb0tvT19PcXF3eVddXW1WRlxcZXpcXFlcXE5EQWw/ VF9APz8/RyM1ND9fb19vd0dNRUZCQE9oQn59d3d3b28/P29PR0kkIzQ0P0s/Uz9HIzQ3Pz9BbyMy NUZvR3dHIzU4UCMzN18/T0k/P0AjMzkhND9PP08jMTkhOT9AITk/XyMzOSEzMD9HIzUyITE0P18h MTU/V0s/QyE5P0BEQkRLRm5WQ0VGQCQjNjQ/Pz9fIzIyTyM2MyE0XyMzMj9HQnFDIzhfIzI5P0NP IzQzQF9Qa09BIzU5ITE3P0AhNT9BQ1FASUVJZH53e2F0QGc/Y0BGYERAYkBBQD9AJCMxNyE4P0Mj NjA/P0tDP0MjNTIhMjg/YD9AJCMxMSExMj9AIzEzQSMxMEAkIzE0ITEzP0AjMzVBLSM1N0dHT0dP P0dXITg/RyM0M3FVTUNfIzM5QyM0MkNXQ1dnSGdcXGdJb1RTR19DQCE0P0FJT0E/SD9HP0NHIzQ4 ITc/X0BfITQ/QD9ARkVBP0FBPz9CQEA/QEAjNDI/P0dPSUM/akFFT0Y/ST9JQz9BP0AhND9AIzUy ITg/QUNHIzY3Pz8/X19PT0c/Q0E/QCQjNjJFU0VDRV1WQ0UjMF8/QV9PXyMzNE9FIzI0SD8/QCM0 NE9HX2BBQ1JDPz8/IiwgNDA5NikgPSAyMDQ4Ci0tLSBTSUdJTyB7c2lfc2lnbm89U0lHSU8sIHNp X2NvZGU9U0lfS0VSTkVMfSAtLS0KcnRfc2lncmV0dXJuKHttYXNrPVtdfSkgICAgICAgICAgICAg ICAgID0gMjA0OAp3cml0ZSg2LCAifn57RkhCQUEhOD9AIzY0ITM1P0MjMjQ/QUAkIzMhMTg/QT8/ QT8/Q0NBIzUyITI2P0MkIzQhMTg/Y0tDRz9DJCMyNCExOT9fPz9PITY/Rj9fRz8/QUE/QyQjMzch MjA/X08/P29fb0dDP1E/QSE0P0VHQSQjNDMhMjE/X19fPz8/X3dfR0A/T19AT0dAUz8/QC0jMjJD QD9BQEFAVyMxdyE2P18/P09RWz8/P08jMzdfIzQ4Pz9fIzQ0X09fP19fT29PR19DS1lHQ0NBRz8/ P0NQQVNKT09nQ18hOD9fXyE5P0AhNj9AXz9gX2BAYEA/P2dnT2tXa1A/UVNQT0BLQEAjNTQhNT9f X3d7byMxOUcjNDJPIzQ0Pz8/TyM2OEA/P0BBJCM0MndfV3dfV2cjMjRFIzQwRSE1P18hND9HIzI0 QGM/R18/TyMzOSE0P0chND9DIzU2P18/Pz9fP29ZV0NvbyE2P18/P08/Xz8/XyE2P0MjNjghNz9D P0NBUz9DT0M/QyM1NiE4P08/Y09fUWdcXGtpTWVTcGtTT19vR0dLQ0JAPz9IRk57X3d3W29fVyQj NDRBQz8/QSMzND8/QCMxMkBFPz9HTURBIzJfIzUxXz9fIzIyP0FzY0dbZ09AT0pASz9QPz8/QT8/ QSM1Mj9fPz9fIzQ4P05GTj9LP0c/Q0JBQEJCS2BGQiE0P0hfITQ/X0FFYW1peEpMWk5JTEBVRFNz U2Nrfj9WQkBAQD9hP0A/P0chNT9BPz9AITEyP0A/QEAkIzMxQD9FIzM5P0MjMzIhND9Hbz9PPz8/ Q0JDIzQzPz9AQiE0QGg/QD8/QD8/P0A/QCM1OT9PITU/QF8/R09vITRfPz9DX1tTcl1Xe3p9bl5V WH52fG5UWHBIP0BDXz9fP19PVz9XP0c/R08/Qz9HQUU/RT9AP19AXz9RZ25eTFNGQUEhNz9BTUNF X01bQyQjMjg/WV9EV2NVXyMxMz9AQ1FEP0E/QiMyMEMjMzRfQGE/R08jMzFDQUNBW0M/UT9eQ0lH Q09JQEA/QSExMj9HIzUwITk/Q0BPPz9BP0dBT0ljR09PTz8/cT9fT0FhR0FJQUlRQj9CIzQyITEw P0cjNTJBQSE1P19vT1dDQU52ZXdvITc/XyQjNDM/P0A/P0AjMjU/Pz9vITU/TyMzOD9HIzI5Pz8/ RyMyOD9BQT9BQ0FJY0NxP0lkQWpDVGlPRFRJYENCPz9fSkFcXEJTQmtQST9HIzUwITUxP0E/Pz9C Pz9AITc/QEBBQEE/P0EkIzExITEwP0dfP08jMTBHQ0c/SSM0Nz8/TyM0MiExOT9fPz9APz9PJCMx NSExMD9CSF9AIzNPP09PJCMxNCExMT9DQT8/QCQjMzUhMTM/Xz9HPz9AQy0jMzFfX18/X1NPTyE5 P18/Pz9BS3tHakNqP2xAIzU2Pz9fX19PQV9fUV8/Pz9fQF9APz9Ab2RZP0ZBVEd9VHlYRUdRYUEj NTA/Pz9HQEtvQ21IbUA/QkBBQCMyOD9PIzU2Rz8/Rz9fQ0E/cXNRfWlEb355c3FcXF1ORUJCQkBA IzE5Pz9DITY/Q0E/R09nP0c/QyQjMzlPT09HPz9HSU8jMUhfITQ/Zz9HIzIyYU9pT0FARlNAP0Mj NDI/R3FEWUNPQWBDUUxPRU9hT18/TyM0OD9DQyE1P0A/Pz9BREFfPz8/Qz9FP1FlQUJCQEFAP0A/ P2BfYEBfb2FQQ0FAPz8/RyM1OT8/P1lNP0RKREFAP0AjNTU/P29vd3d7eW5VeyM0Mj8/QT8/QSM1 NSE0P19vbyQjMjhAQUdAQUBBRCMyNEchNz9SQUdEIzE4QyMyOD9fP08/aUN6QXVMWURSTWBLUktf TXBJVElRVGlESW9ITyE0P0cjMzEhMTc/Rz9TP0NLQ0NDIzU5ITQ/RyM0MiE0P18/b0dAP0AhNz9f ITQ/QyM1NiExND9APz8/SkAkIzQyTUBGQUxBRCM0MD9ARU8/Pz9PRUcjMzREQz8/QCM0ND8/Xz9P ITU/Xz9HQEtPRz8/P0dDR0NLRz9HbyE4P0EhND9Xb0tXd1t3fGNXb0tvT19PcXF3eVddXW1WRlxc ZXpcXFlcXE5EQWw/VF9APz8/RyM1ND9fb19vd0dNRUZCQE9oQn59d3d3b28/P29PR0kkIzQ0P0s/ Uz9HIzQ3Pz9BbyMyNUZvR3dHIzU4UCMzN18/T0k/P0AjMzkhND9PP08jMTkhOT9AITk/XyMzOSEz MD9HIzUyITE0P18hMTU/V0s/QyE5P0BEQkRLRm5WQ0VGQCQjNjQ/Pz9fIzIyTyM2MyE0XyMzMj9H QnFDIzhfIzI5P0NPIzQzQF9Qa09BIzU5ITE3P0AhNT9BQ1FASUVJZH53e2F0QGc/Y0BGYERAYkBB QD9AJCMxNyE4P0MjNjA/P0tDP0MjNTIhMjg/YD9AJCMxMSExMj9AIzEzQSMxMEAkIzE0ITEzP0Aj MzVBLSM1N0dHT0dPP0dXITg/RyM0M3FVTUNfIzM5QyM0MkNXQ1dnSGdcXGdJb1RTR19DQCE0P0FJ T0E/SD9HP0NHIzQ4ITc/X0BfITQ/QD9ARkVBP0FBPz9CQEA/QEAjNDI/P0dPSUM/akFFT0Y/ST9J Qz9BP0AhND9AIzUyITg/QUNHIzY3Pz8/X19PT0c/Q0E/QCQjNjJFU0VDRV1WQ0UjMF8/QV9PXyMz NE9FIzI0SD8/QCM0NE9HX2BBQ1JDPz8/IiwgMjA0OCkgPSAxNzkyCi0tLSBTSUdJTyB7c2lfc2ln bm89U0lHSU8sIHNpX2NvZGU9U0lfS0VSTkVMfSAtLS0KcnRfc2lncmV0dXJuKHttYXNrPVtdfSkg ICAgICAgICAgICAgICAgID0gMTc5Mgp3cml0ZSg2LCAiREBiQEFAP0AkIzE3ITg/QyM2MD8/S0M/ QyM1MiEyOD9gP0AkIzExITEyP0AjMTNBIzEwQCQjMTQhMTM/QCMzNUEtIzU3R0dPR08/R1chOD9H IzQzcVVNQ18jMzlDIzQyQ1dDV2dIZ1xcZ0lvVFNHX0NAITQ/QUlPQT9IP0c/Q0cjNDghNz9fQF8h ND9AP0BGRUE/QUE/P0JAQD9AQCM0Mj8/R09JQz9qQUVPRj9JP0lDP0E/QCE0P0AjNTIhOD9BQ0cj Njc/Pz9fX09PRz9DQT9AJCM2MkVTRUNFXVZDRSMwXz9BX09fIzM0T0UjMjRIPz9AIzQ0T0dfYEFD UkM/Pz8iLCAyNTYpID0gPyBFUkVTVEFSVFNZUyAoVG8gYmUgcmVzdGFydGVkIGlmIFNBX1JFU1RB UlQgaXMgc2V0KQotLS0gU0lHSU8ge3NpX3NpZ25vPVNJR0lPLCBzaV9jb2RlPVNJX0tFUk5FTH0g LS0tCnJ0X3NpZ3JldHVybih7bWFzaz1bXX0pICAgICAgICAgICAgICAgICA9IC0xIEVJTlRSIChJ bnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbCkKaW9jdGwoNiwgRklPTlJFQUQsIFswXSkgICAgICAgICAg ICAgICAgID0gMApydF9zaWdwcm9jbWFzayhTSUdfQkxPQ0ssIFtJTlQgQUxSTV0sIFtdLCA4KSA9 IDAKdGltZXJmZF9zZXR0aW1lKDQsIFRGRF9USU1FUl9BQlNUSU1FLCB7aXRfaW50ZXJ2YWw9ezAs IDB9LCBpdF92YWx1ZT17MTYwNDI4NDE1NSwgMjA5OTE3MzA2fX0sIE5VTEwpID0gMApydF9zaWdw cm9jbWFzayhTSUdfU0VUTUFTSywgW10sIE5VTEwsIDgpID0gMApydF9zaWdwcm9jbWFzayhTSUdf QkxPQ0ssIFtJTlQgQUxSTV0sIFtdLCA4KSA9IDAKcnRfc2lncHJvY21hc2soU0lHX1NFVE1BU0ss IFtdLCBOVUxMLCA4KSA9IDAKcnRfc2lncHJvY21hc2soU0lHX0JMT0NLLCBbV0lOQ0ggSU9dLCBO VUxMLCA4KSA9IDAKLi4uCg== --_42A96340-2A25-4AF7-95EB-CD8685C2FFDC_-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 01 22:11:40 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 03:11:40 +0000 Received: from localhost ([127.0.0.1]:39117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZQFv-0000Vj-UK for submit@debbugs.gnu.org; Sun, 01 Nov 2020 22:11:40 -0500 Received: from mail-qt1-f179.google.com ([209.85.160.179]:37763) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZQFu-0000VU-Mr for 44320@debbugs.gnu.org; Sun, 01 Nov 2020 22:11:39 -0500 Received: by mail-qt1-f179.google.com with SMTP id n63so2867057qte.4 for <44320@debbugs.gnu.org>; Sun, 01 Nov 2020 19:11:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:date:from:subject:thread-topic:in-reply-to:message-id :references:to:cc; bh=+holWYEm3yBy+TaQWXxRILBHqd2nyS3ora91lIMau1c=; b=UNxDMTosPIPadOPAJseY/lHGax3z1ltc3MFPlaEu7XibL3O7ccD6wAD8ePZDsqcIHX tv3rAgKgsPi0OrI+Z+5yq+CAGI17BXhpLrjkgJALMS3n6yovftLmuqSUmTF+Gt+aEI8x HhHVwli7AOtXP2u2Jfi6ptXfoTJ+RXakmo730= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:from:subject:thread-topic :in-reply-to:message-id:references:to:cc; bh=+holWYEm3yBy+TaQWXxRILBHqd2nyS3ora91lIMau1c=; b=HI3god1l8bgz4HHwE+C11EzJaRpPqJhSrA0mvWYlxTgAcs/9Bi/hrNnjWJ/KApq0eJ h3FXa8ApaupBvmIf1Rrr42KOj3V3Q2gG+LROCmbxaR/A0DGr+KEfkir1/7LadONsvMic MzaYfnshOQ/6LlMRT4TBUnVqGD6vPXpoWuFsWuAh8cPvxFg+rt1l5tmE49hVqWbRODlL Vptb7pf3fzyYU3J18+2AYSvk6l9MxC1a0f0IMtwPPlGerDpCRH0wjCQWq4tjxBvr58jv 4wcWXSpb0E+OWVKM8R/GD4ylBepxwX4wXn06HxQdCQyQCua/78ZTkv6Pt0SpW0MbxyEW sOFg== X-Gm-Message-State: AOAM530fDLwE5Eh7zXblo74QRIwuZke7OUH+T6C24YE5/3XOBV5g25yh xGawDXYBzwDM4Q3mIwFSmVPSQQSKa3XDtu9GIHmYd32//TsoGSqxf9PLPJJLMPvW3z7l5d1Co+H QBKXEFFw85r66kYg+GJpJ+aMwtOabkoHT2IFtMI36NDN/Vb9Xr26BvJEUXStkch8CjE6qE+CS5Q == X-Google-Smtp-Source: ABdhPJzEv2N1tKKNh47tA4Rk/rpiORrKuDEREUw72r75hnCo7r4NBhnkPG5HiDzsbPsmFLXPcuVkcw== X-Received: by 2002:ac8:7110:: with SMTP id z16mr6567450qto.14.1604286692733; Sun, 01 Nov 2020 19:11:32 -0800 (PST) Received: from smtp.gmail.com ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id 198sm7304757qki.117.2020.11.01.19.11.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 01 Nov 2020 19:11:31 -0800 (PST) MIME-Version: 1.0 Date: Mon, 2 Nov 2020 11:11:22 +0800 From: LinSun Subject: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents Thread-Topic: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents In-Reply-To: Message-ID: <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org>, <83v9eralri.fsf@gnu.org>, To: Eli Zaretskii , Lars Ingebrigtsen , "sunlin7@yahoo.com" Content-Type: multipart/mixed; boundary="_D5566861-3289-4508-A155-C1E59B72254D_" X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 44320 Cc: "44320@debbugs.gnu.org" <44320@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: -0.9 (/) --_D5566861-3289-4508-A155-C1E59B72254D_ Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8"

Attac= h the log file ` testing-strace-2.log.gz` with a line more which may be a i= mport hints.

write(6, "=E2=80=A6", 256) = =3D ? ERESTARTSYS (To be restarted if SA_RESTART is set)

= --_D5566861-3289-4508-A155-C1E59B72254D_ Content-Type: application/x-gzip; name="testing-strace-2.log.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="testing-strace-2.log.gz" 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 yEkSyQzE1KzLjXqvMzcGvebvkvr5ez5IzSlPDsgZPdtF6TJcnG5WgticY614CF17qSe4DLY5CSaB yLnQ5pCK3n/89qIz6I2i/xO/jGB7FGF7FGF7FGF7FGF7FGF7FGF7FGF7FGF7FGF7FGF7FGF7FEFt jyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJs jyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyJsjyL833gUodsdjf73 HUX433jWYdvrsO112PY6bHsdtr0O216Hba/Dttdh2+uw7XXY9jpsex22vQ7bXodtr8O212Hb67Dt ddj2Omx7Hba9Dtteh22vw7bXYdvrsO112PY6bHsdtr0O216Hba/D/4u9DqPObvf/xG9d3GoQWw1i q0FsNYitBrHVILYaxFaD2GoQWw1iq0FsNYitBrHVILYaxP9fGgSlAWoQ3XY0+i/VIOQG/9Ygtgxk y0C2DGTLQLYMZMtAtgzk/2cGQmJABtIZ7nb/SxmI3ODfDGS79lj7vpA/9SI7zMojfXhUnpQv/n5U v3h79eLz1f3D8vPD1eWL6z9flNo3V7y4vn9xf/Xwj//Srfq98yLLD44OX/w9v324+vz58RPncf/t /uHq44vV8sOHf/ztul49fOBGjnN3cJjp9LcXp+3z/95g7ebGnz7XK97075ilT/adKfAR3OWF3j+c nuN7/C+W2P7bw/XHq89/Xno8KL/9e/Tbi6Nx6o/yaXbodVLym99ePF0/+GvO78vyw7+e2r+9aD// 9gI/w8vHq389dQbtqDuKOv0+jXx3tzPstQfPuOTgeH//H/+jiZXZ0VSXRZgOr/w1qf/pp/hfNXqV H5jJi9z954/885///G9qx2Sy4L4AAA== --_D5566861-3289-4508-A155-C1E59B72254D_-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 10:22:33 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 15:22:33 +0000 Received: from localhost ([127.0.0.1]:42147 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZbfF-0002kw-7E for submit@debbugs.gnu.org; Mon, 02 Nov 2020 10:22:33 -0500 Received: from quimby.gnus.org ([95.216.78.240]:48288) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZbfC-0002kg-O7 for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 10:22:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=KCOSZCgcGzXatAOQWjiZpyhp44RHDn0pgMgvuiqqWI4=; b=beWLjvfDEYn1KCiwt9QTWGjDSe AaaoMLaoyqLut6tt24E5TZ97rk8C+g8rwC3aGN8VDgWWbF+omiZd97EYlV579bKrwI9XuL5ubJAhC pW61a+zhsicJlGllkIgSDo1p13ynSpLo0FHOCFqGg+s5k4MDtyoVtfkN1WvBhZpQzuAc=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kZbf3-0001cl-Bi; Mon, 02 Nov 2020 16:22:23 +0100 From: Lars Ingebrigtsen To: LinSun Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAElBMVEXftaDTkHOeamBJ Nj+GeIP///9UTBKyAAAAAWJLR0QF+G/pxwAAAAd0SU1FB+QLAg47MxUkqYoAAAGFSURBVDjLbZQN bsMgDIXN1gMAu8Cwd4DVzgGqJfc/055NkkJaS5Uqf/jvGUKU6YNb6VaZuRHs0ygR8QSWG8DNKGeA chiAbkSJjUo+MlEHtoFsRvUokSl1sGwPopWYhMOLzFHEPORPqCVB8eytUI9wsAr9VgAEwZ/cD4Bc q9E9gGnJpYjtpmKkVVpJYmgAh/2MA7S71BW+KncqTiv3kIjgMKrGLbpyEwDzEg4Uf84yDqquD7QF sNppBHfhWlrKtZXbj+gJWH2ukqhy8ol4BNCkhMh9wg4wW8nQD8d9yDoBNwch8BWUWGQdUlmsoxVx sGsygsQawJ4gVp5TrP4VIJVcge8iQekQV0bQsHMxe6q+Azhyqu/AXtVFkwmoLyjmuwI+zSYAhdk1 H/wH8J/YaB2oXtwH6MPzO8DjDCPQqfITaPfKDNhBXI+53e+AjBvOUyo8ppjd7+mYKvuj1iA6RcC+ /KH4Q7YLwODSk12BR+h0/gTzcAcQ4xcNLT4oS2J+F2G/VF9C/gEWf6lMTPjvrwAAACV0RVh0ZGF0 ZTpjcmVhdGUAMjAyMC0xMS0wMlQxNDo1OTo1MSswMDowMAfa8TcAAAAldEVYdGRhdGU6bW9kaWZ5 ADIwMjAtMTEtMDJUMTQ6NTk6NTErMDA6MDB2h0mLAAAAAElFTkSuQmCC X-Now-Playing: Richard And Linda Thompson's _Pour Down Like Silver_: "Jet Plane In A Rocking Chair" Date: Mon, 02 Nov 2020 16:22:20 +0100 In-Reply-To: (LinSun's message of "Mon, 2 Nov 2020 10:58:12 +0800") Message-ID: <87v9en6axf.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: LinSun writes: >> This is very old code, so it is surprising this only comes up now. >>I'd rather we understood the issue completely before we decide how to >>fix it. [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 44320 Cc: Eli Zaretskii , "44320@debbugs.gnu.org" <44320@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 (-) LinSun writes: >> This is very old code, so it is surprising this only comes up now. >>I'd rather we understood the issue completely before we decide how to >>fix it. [...] > I had attached all the testing files, the testing.el will read the six image and > > send to terminal. > (send-string-to-terminal > (with-temp-buffer > (insert-file-contents "testing.six") > (buffer-string))) Thanks; the testing.six file is more than 4096 bytes long, so it's not surprising that this use case triggers the bug. My guess is that we haven't had reports about this before just because it's a pretty unusual use case, and your proposed patch seems like the correct solution here. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 10:32:22 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 15:32:22 +0000 Received: from localhost ([127.0.0.1]:42175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZbok-00032L-1S for submit@debbugs.gnu.org; Mon, 02 Nov 2020 10:32:22 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZboi-000327-3A for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 10:32:20 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48297) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZbob-0000nR-Fc; Mon, 02 Nov 2020 10:32:13 -0500 Received: from [176.228.60.248] (port=4878 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZboV-00019W-IM; Mon, 02 Nov 2020 10:32:09 -0500 Date: Mon, 02 Nov 2020 17:31:56 +0200 Message-Id: <83eelbepw3.fsf@gnu.org> From: Eli Zaretskii To: LinSun In-Reply-To: <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> (message from LinSun on Mon, 2 Nov 2020 11:11:22 +0800) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org>, <83v9eralri.fsf@gnu.org>, <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@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: -3.3 (---) > Date: Mon, 2 Nov 2020 11:11:22 +0800 > From: LinSun > Cc: "44320@debbugs.gnu.org" <44320@debbugs.gnu.org> > > Attach the log file ` testing-strace-2.log.gz` with a line more which may be a import hints. > > write(6, "…", 256) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) Thanks. I don't think I know how to interpret this trace, or understand the significance of ERESTARTSYS. Was this trace collected with or without your change in send-string-to-terminal? did fwrite succeed to write the entire string or did it write only part of it, and if the latter, which part was successfully written? All I see in the trace is a series of calls to 'write' syscall, progressively writing a large string in chunks of 4K bytes, which seems normal. 'fwrite' is documented to return an error indication if it doesn't succeed to write the entire buffer, but you didn't show the return value of 'fwrite' nor what 'fflush' after it returned, so it is hard to know what exactly happened. I think we must understand what happens here and why, because we call 'fwrite' in 2 dozen other places, and it makes little sense to fix only one of them. The function where you propose the change calls 'fwrite' twice, but you suggested to fix only one of these two calls, which also sounds strange to me. Moreover, I don't think I see any documentation saying that 'fwrite' can, let alone should be expected to, fail to write the entire buffer without returning some error indication. On what OS do you see the problem? From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 10:49:55 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 15:49:55 +0000 Received: from localhost ([127.0.0.1]:42235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZc5j-0005dy-AH for submit@debbugs.gnu.org; Mon, 02 Nov 2020 10:49:55 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:58446) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZc5g-0005dj-LP for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 10:49:53 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CPy670YnLz1rt4G; Mon, 2 Nov 2020 16:49:50 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CPy6657LCz1qtYg; Mon, 2 Nov 2020 16:49:50 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id Xa7iI_KL4PBA; Mon, 2 Nov 2020 16:49:49 +0100 (CET) X-Auth-Info: omyRjbdh6Z1exw0j00jyuqCutYSLatwrRX3aHYjCmAhU4XuSJRMMzzYNJInIQohI Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 16:49:49 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 2003A2C3690; Mon, 2 Nov 2020 16:49:49 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> X-Yow: Remember, if you try to ESCAPE, many APARTMENT HOPPING ALCOHOLICS will SIMONIZE your HALLWAYS!! This is your LAST WARNING!! Date: Mon, 02 Nov 2020 16:49:49 +0100 In-Reply-To: <83eelbepw3.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 17:31:56 +0200") Message-ID: <877dr321ya.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, LinSun 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: >> Date: Mon, 2 Nov 2020 11:11:22 +0800 >> From: LinSun >> Cc: "44320@debbugs.gnu.org" <44320@debbugs.gnu.org> >> >> Attach the log file ` testing-strace-2.log.gz` with a line more which may be a import hints. >> >> write(6, "…", 256) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) > > Thanks. > > I don't think I know how to interpret this trace, or understand the > significance of ERESTARTSYS. It is translated to EINTR on signal handler return: rt_sigreturn({mask=[]}) = -1 EINTR (Interrupted system call) Outside of strace, ERESTARTSYS is never observed by user-space. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 11:07:31 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 16:07:31 +0000 Received: from localhost ([127.0.0.1]:42306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcMk-0008HZ-Q3 for submit@debbugs.gnu.org; Mon, 02 Nov 2020 11:07:31 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37376) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcMj-0008HN-IV for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 11:07:29 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49119) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZcMe-0005sD-AC; Mon, 02 Nov 2020 11:07:24 -0500 Received: from [176.228.60.248] (port=3083 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZcMc-0000UW-Vo; Mon, 02 Nov 2020 11:07:23 -0500 Date: Mon, 02 Nov 2020 18:07:13 +0200 Message-Id: <83zh3zd9ou.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-Reply-To: <87v9en6axf.fsf@gnus.org> (message from Lars Ingebrigtsen on Mon, 02 Nov 2020 16:22:20 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <87v9en6axf.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Lars Ingebrigtsen > Cc: Eli Zaretskii , "44320@debbugs.gnu.org" > <44320@debbugs.gnu.org> > Date: Mon, 02 Nov 2020 16:22:20 +0100 > > > send to terminal. > > (send-string-to-terminal > > (with-temp-buffer > > (insert-file-contents "testing.six") > > (buffer-string))) > > Thanks; the testing.six file is more than 4096 bytes long, so it's not > surprising that this use case triggers the bug. My guess is that we > haven't had reports about this before just because it's a pretty unusual > use case, and your proposed patch seems like the correct solution here. What is the significance of 4K bytes in this case? Is 'fwrite' documented not to write more than that? I couldn't find such documentation. And if 4KB is a limitation, then what does ERESTARTSYS have to do with this? Anyway, if we need to fix calls to 'fwrite', we should provide something similar to emacs_write, and use it everywhere we use 'fwrite' now. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 11:15:16 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 16:15:16 +0000 Received: from localhost ([127.0.0.1]:42336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcUF-0008Uu-Qe for submit@debbugs.gnu.org; Mon, 02 Nov 2020 11:15:16 -0500 Received: from eggs.gnu.org ([209.51.188.92]:39636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcUE-0008Uj-M0 for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 11:15:15 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49315) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZcU8-0006vz-Eh; Mon, 02 Nov 2020 11:15:08 -0500 Received: from [176.228.60.248] (port=3553 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZcU6-0001D9-4m; Mon, 02 Nov 2020 11:15:08 -0500 Date: Mon, 02 Nov 2020 18:14:56 +0200 Message-Id: <83wnz3d9bz.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <877dr321ya.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 16:49:49 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: LinSun , larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 16:49:49 +0100 > > >> write(6, "…", 256) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) > > > > Thanks. > > > > I don't think I know how to interpret this trace, or understand the > > significance of ERESTARTSYS. > > It is translated to EINTR on signal handler return: > > rt_sigreturn({mask=[]}) = -1 EINTR (Interrupted system call) > > Outside of strace, ERESTARTSYS is never observed by user-space. So you are saying that the call to 'write' issued by 'fwrite' or 'fflush' was interrupted by SIGIO, and that is why it didn't write all of its data? IOW, the size of the string passed to 'fwrite' has no real significance here, and instead the problem is the signal? If so, is it normal for 'fwrite'/'fflush' to punt instead of continuing its 'write' loop upon receiving EINTR? I can understand why we need a loop when we call 'write' directly, but I'd expect 'fwrite' to do that internally. Am I naïve? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 11:30:58 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 16:30:58 +0000 Received: from localhost ([127.0.0.1]:42380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcjR-0000UN-OT for submit@debbugs.gnu.org; Mon, 02 Nov 2020 11:30:58 -0500 Received: from quimby.gnus.org ([95.216.78.240]:48954) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcjP-0000U8-8S for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 11:30:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=VPDrzz0WVTmXukshllYYQULNSG8MR53WOHSbayH7uLI=; b=ZvDzCvhtKVt3yoGMkCJI3xddeW HcxY2oCVdIZYH34vvgcFzR06DNxEpaYAQo7fDLfzI55OZP/QVxXaNvo9OKgzbe+p1ko4Y1Y9A5iPo BO3z6aHecQWxOf6enwEnJsj2Wr3Y8P+q4gziqebnCO+Tt4M7/cunLK++yKtD2nzvgg8Y=; Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kZcjF-0002a2-Lm; Mon, 02 Nov 2020 17:30:49 +0100 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <87v9en6axf.fsf@gnus.org> <83zh3zd9ou.fsf@gnu.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAgMAAAAqbBEUAAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADFBMVEXT0caPWlY4Mir/ //9kTWJkAAAAAWJLR0QDEQxM8gAAAAd0SU1FB+QLAhAbEDR/ciAAAAGkSURBVCjPVdLBjtowEAbg sVUilVO3otHCfQ/kKcKhHHIKVSba+LSHBRU/BSAt0va0IIi0ObGVE+H/KTsGVLU+JP408cS/E6Lb UIAP96dwGf2L5IYvfyuDG6KAnzdcGmDNzGlvzmgmhA2MI7JoKiXoG2XdV2zuBXtTSNvcvhSK/BSM ZTdknytKNfgTUaHa9ILiWTMPjoKBxsyVZZWXpOi7rg3asuKp4NRtIciKTFAkGXAsp0+xwBgA62X2 thfIFF4tss1v/U6hcK++ZdFH31OvDz+k+LXX0DCkcqM8PozOpCWVPfi8fyhdAC92j7NsVbt4RtHu GY958qM+htirB+MHdsvGL2hFw0nZtEMueELryYtyy/mSWcLhzWtvAS5URTjNowWatuIlCB9pjFr2 1HrQeXYcQc4WRyuVXCX4bOGZjbyHEh9bzJkbQkrReYQz0ZgJRNpZnCh9uKIDnMauJPl2etuE8Dt7 AW7jf8iaGLDmCnWqW2APEx7THrWv3bgJiBpYX6J/xS+P9g5rWUhoEPnOYWXDgRiYtmu799CgGpeJ /BYsu+Y/5JjZYM8ec9AAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMTEtMDJUMTY6Mjc6MTYrMDA6 MDARmVE4AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTExLTAyVDE2OjI3OjE2KzAwOjAwYMTphAAA AABJRU5ErkJggg== X-Now-Playing: He Said's _Take Care_: "Tongue Ties" Date: Mon, 02 Nov 2020 17:30:44 +0100 In-Reply-To: <83zh3zd9ou.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 18:07:13 +0200") Message-ID: <87mtzz4t6z.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: > What is the significance of 4K bytes in this case? Is 'fwrite' > documented not to write more than that? I couldn't find such > documentation. writes that are less than a system block size are unlikely to be chopped into parts. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 44320 Cc: 44320@debbugs.gnu.org, lin.sun@zoom.us 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: > What is the significance of 4K bytes in this case? Is 'fwrite' > documented not to write more than that? I couldn't find such > documentation. writes that are less than a system block size are unlikely to be chopped into parts. > Anyway, if we need to fix calls to 'fwrite', we should provide > something similar to emacs_write, and use it everywhere we use > 'fwrite' now. I can't see anything in the fwrite man page that guarantees that it'll write all that we tell it to write: RETURN VALUE On success, fread() and fwrite() return the number of items read or = writ=E2=80=90 ten. This number equals the number of bytes transferred only when = size is 1. If an error occurs, or the end of the file is reached, the r= eturn value is a short item count (or zero). --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 11:42:01 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 16:42:01 +0000 Received: from localhost ([127.0.0.1]:42390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcu9-0000mi-94 for submit@debbugs.gnu.org; Mon, 02 Nov 2020 11:42:01 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:54177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZcu7-0000mW-Lk for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 11:42:00 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CPzGG3c2Dz1rtZW; Mon, 2 Nov 2020 17:41:58 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CPzGG2zcvz1qtYp; Mon, 2 Nov 2020 17:41:58 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id Ty0mFNAnBVN9; Mon, 2 Nov 2020 17:41:57 +0100 (CET) X-Auth-Info: 6jAAH4jsaSRoCVnc/opsFjtr5YK5lqgr1nPaUGBiptmEDzL+qhUxDMVW7Ze4szIn Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 17:41:57 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id EBD3A2C368C; Mon, 2 Nov 2020 17:41:56 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> X-Yow: I call it a "SARDINE ON WHEAT"! Date: Mon, 02 Nov 2020 17:41:56 +0100 In-Reply-To: <83wnz3d9bz.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 18:14:56 +0200") Message-ID: <87361r1zjf.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: > So you are saying that the call to 'write' issued by 'fwrite' or > 'fflush' was interrupted by SIGIO, and that is why it didn't write all > of its data? It wrote none of it. > If so, is it normal for 'fwrite'/'fflush' to punt instead of > continuing its 'write' loop upon receiving EINTR? Yes. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 12:10:26 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 17:10:26 +0000 Received: from localhost ([127.0.0.1]:42449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZdLd-0001Vx-Ks for submit@debbugs.gnu.org; Mon, 02 Nov 2020 12:10:26 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZdLa-0001Vh-RF for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 12:10:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50371) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZdLU-0006PV-Os; Mon, 02 Nov 2020 12:10:16 -0500 Received: from [176.228.60.248] (port=3027 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZdLU-0008Ih-6D; Mon, 02 Nov 2020 12:10:16 -0500 Date: Mon, 02 Nov 2020 19:10:06 +0200 Message-Id: <83v9end6s1.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <87361r1zjf.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 17:41:56 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 17:41:56 +0100 > > On Nov 02 2020, Eli Zaretskii wrote: > > > So you are saying that the call to 'write' issued by 'fwrite' or > > 'fflush' was interrupted by SIGIO, and that is why it didn't write all > > of its data? > > It wrote none of it. I see in the trace a series of 'write' calls that write chunks of up to 4K bytes: write(6, "!9?C...", 16384) = 4096 write(6, "O??@...", 12288) = 4096 write(6, "49!6...", 8192) = 4096 write(6, "15!9...", 4096) = 2048 write(6, "~~{F...", 2048) = 1792 write(6, "D@b@...", 256) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) So it looks like only the last call didn't write anything? Or is my interpretation wrong? From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 12:36:14 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 17:36:14 +0000 Received: from localhost ([127.0.0.1]:42469 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZdkb-00029A-PV for submit@debbugs.gnu.org; Mon, 02 Nov 2020 12:36:14 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:57562) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZdka-000292-FK for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 12:36:13 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CQ0Sp6vC8z1qs3D; Mon, 2 Nov 2020 18:36:10 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CQ0Sp4tPFz1qtYs; Mon, 2 Nov 2020 18:36:10 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id AgVbN3uG3EWR; Mon, 2 Nov 2020 18:36:09 +0100 (CET) X-Auth-Info: VcjEqcfLJX24CPDDuQmmX2kEXqbvj5whwgERdKsSF8mpVAeZ/o3J3vJ3CkfhXv// Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 18:36:09 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 809D02C368C; Mon, 2 Nov 2020 18:36:09 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> X-Yow: Sometimes a TABOO is just a good CIGAR -- or a rare STEAK -- or a dry MARTINI! Date: Mon, 02 Nov 2020 18:36:09 +0100 In-Reply-To: <83v9end6s1.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 19:10:06 +0200") Message-ID: <87y2jjzmnq.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: > So it looks like only the last call didn't write anything? Correct. A partial write never reports an error. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 12:59:28 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 17:59:29 +0000 Received: from localhost ([127.0.0.1]:42504 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZe76-0002iN-Kw for submit@debbugs.gnu.org; Mon, 02 Nov 2020 12:59:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZe74-0002iB-IT for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 12:59:27 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51754) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZe6y-00047h-97; Mon, 02 Nov 2020 12:59:20 -0500 Received: from [176.228.60.248] (port=2075 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZe6x-0007sU-65; Mon, 02 Nov 2020 12:59:19 -0500 Date: Mon, 02 Nov 2020 19:59:09 +0200 Message-Id: <83r1pbd4ia.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <87y2jjzmnq.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 18:36:09 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 18:36:09 +0100 > > On Nov 02 2020, Eli Zaretskii wrote: > > > So it looks like only the last call didn't write anything? > > Correct. A partial write never reports an error. Not sure I understand the last sentence: in this case 'fwrite' should have returned a value less than the amount it was asked to write, and errno should have been set to EINTR, correct? From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 13:02:37 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 18:02:37 +0000 Received: from localhost ([127.0.0.1]:42508 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZeA9-0002ob-4i for submit@debbugs.gnu.org; Mon, 02 Nov 2020 13:02:37 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:53747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZeA7-0002oS-1l for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 13:02:36 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CQ13F6Ln7z1rwbW; Mon, 2 Nov 2020 19:02:33 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CQ13F4nZ5z1qtZ3; Mon, 2 Nov 2020 19:02:33 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id 8VqvrifMsY5o; Mon, 2 Nov 2020 19:02:32 +0100 (CET) X-Auth-Info: 1QaB7VYV2P3vcSOGEJHdD7wvP8ER1GtjRtKrnw2kvFE66uQ+SLt6vc4M2viJ1fLe Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 19:02:32 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 4153D2C368C; Mon, 2 Nov 2020 19:02:32 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> X-Yow: Impudent.. Yet possessing a certain ALUMINUM SILICATE overbite....Needs REDDY-WHIP!! Date: Mon, 02 Nov 2020 19:02:32 +0100 In-Reply-To: <83r1pbd4ia.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 19:59:09 +0200") Message-ID: <87lffjzlfr.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: >> From: Andreas Schwab >> Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, >> 44320@debbugs.gnu.org >> Date: Mon, 02 Nov 2020 18:36:09 +0100 >> >> On Nov 02 2020, Eli Zaretskii wrote: >> >> > So it looks like only the last call didn't write anything? >> >> Correct. A partial write never reports an error. > > Not sure I understand the last sentence: in this case 'fwrite' should > have returned a value less than the amount it was asked to write, and > errno should have been set to EINTR, correct? Only when it actually writes the data. Without fflush, you will never know when that happens. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 13:13:27 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 18:13:27 +0000 Received: from localhost ([127.0.0.1]:42534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZeKd-00035s-E5 for submit@debbugs.gnu.org; Mon, 02 Nov 2020 13:13:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:39364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZeKX-00035Y-VD for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 13:13:25 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52060) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZeKR-0005yQ-HX; Mon, 02 Nov 2020 13:13:15 -0500 Received: from [176.228.60.248] (port=2925 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZeKG-0007sR-Dm; Mon, 02 Nov 2020 13:13:12 -0500 Date: Mon, 02 Nov 2020 20:12:52 +0200 Message-Id: <83pn4vd3vf.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <87lffjzlfr.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 19:02:32 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 19:02:32 +0100 > > >> Correct. A partial write never reports an error. > > > > Not sure I understand the last sentence: in this case 'fwrite' should > > have returned a value less than the amount it was asked to write, and > > errno should have been set to EINTR, correct? > > Only when it actually writes the data. Without fflush, you will never > know when that happens. But that means 'fwrite' could return zero, if its very first call to 'write' got interrupted, no? In which case the proposed patch would not DTRT. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 13:22:25 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 18:22:25 +0000 Received: from localhost ([127.0.0.1]:42558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZeTJ-0003Kq-3H for submit@debbugs.gnu.org; Mon, 02 Nov 2020 13:22:25 -0500 Received: from mail-out.m-online.net ([212.18.0.10]:49397) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZeTH-0003Kf-JB for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 13:22:24 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CQ1V62hwnz1rtZ9; Mon, 2 Nov 2020 19:22:22 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CQ1V626Vxz1qtZ0; Mon, 2 Nov 2020 19:22:22 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id 6rF1eHI2FejN; Mon, 2 Nov 2020 19:22:21 +0100 (CET) X-Auth-Info: AOXCB5YVk6XFBivii8U4MvsOL+ueeOMWczQWN1bHrfCa0QAWpNfSIH07zL4nuagj Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 19:22:21 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 0DE3D2C368C; Mon, 2 Nov 2020 19:22:21 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> X-Yow: NOT fucking!! Also not a PACKAGE of LOOSE-LEAF PAPER!! Date: Mon, 02 Nov 2020 19:22:21 +0100 In-Reply-To: <83pn4vd3vf.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 20:12:52 +0200") Message-ID: <87h7q7zkiq.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: > But that means 'fwrite' could return zero, if its very first call to > 'write' got interrupted, no? No. When an error occurs, it returns EOF. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 13:36:24 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 18:36:24 +0000 Received: from localhost ([127.0.0.1]:42588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZegp-0003jM-VY for submit@debbugs.gnu.org; Mon, 02 Nov 2020 13:36:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44640) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZego-0003j9-N5 for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 13:36:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52609) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZegi-0000Tf-Bt; Mon, 02 Nov 2020 13:36:16 -0500 Received: from [176.228.60.248] (port=4539 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZegb-0001HD-KI; Mon, 02 Nov 2020 13:36:15 -0500 Date: Mon, 02 Nov 2020 20:35:57 +0200 Message-Id: <83o8kfd2sy.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <87h7q7zkiq.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 19:22:21 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 19:22:21 +0100 > > On Nov 02 2020, Eli Zaretskii wrote: > > > But that means 'fwrite' could return zero, if its very first call to > > 'write' got interrupted, no? > > No. When an error occurs, it returns EOF. Is EINTR considered an error for this purpose? If not, what exactly is considered an error? I don't see this clearly documented, so it could be something we cannot rely on. In fact, I don't even see in portable documentation that it will return EOF upon errors, I only see that the error indication for the stream shall be set and errno shall be set. In short, it sounds like calling fwrite in a loop will only work by sheer luck. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 13:58:22 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 18:58:22 +0000 Received: from localhost ([127.0.0.1]:42628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZf26-0004Gn-Le for submit@debbugs.gnu.org; Mon, 02 Nov 2020 13:58:22 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:43922) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZf24-0004Gf-Rw for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 13:58:21 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CQ2Hb3qdfz1qs0H; Mon, 2 Nov 2020 19:58:19 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CQ2Hb3HCFz1qtZR; Mon, 2 Nov 2020 19:58:19 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id EiIBI_vgPY8z; Mon, 2 Nov 2020 19:58:17 +0100 (CET) X-Auth-Info: 20AjE9B5vwAjNf2DMdj6QM9u6+VeI6rzfE7+XJYaEDPbrAk7EqffLFP4IfIefUy5 Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 19:58:17 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 7216E2C3690; Mon, 2 Nov 2020 19:58:17 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> X-Yow: I would like to urinate in an OVULAR, porcelain pool -- Date: Mon, 02 Nov 2020 19:58:17 +0100 In-Reply-To: <83o8kfd2sy.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 20:35:57 +0200") Message-ID: <87d00vziuu.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: > Is EINTR considered an error for this purpose? Sure. > If not, what exactly is considered an error? I don't see this clearly > documented, so it could be something we cannot rely on. https://pubs.opengroup.org/onlinepubs/9699919799/functions/fputc.html > In short, it sounds like calling fwrite in a loop will only work by > sheer luck. I don't see why. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 14:31:42 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 19:31:42 +0000 Received: from localhost ([127.0.0.1]:42704 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZfYI-0007GW-GA for submit@debbugs.gnu.org; Mon, 02 Nov 2020 14:31:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:56440) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZfYG-0007GJ-CG for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 14:31:36 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53577) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZfY9-0007Yc-7S; Mon, 02 Nov 2020 14:31:29 -0500 Received: from [176.228.60.248] (port=3959 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZfY4-0004hc-D3; Mon, 02 Nov 2020 14:31:25 -0500 Date: Mon, 02 Nov 2020 21:31:14 +0200 Message-Id: <83lffjd08t.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <87d00vziuu.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 19:58:17 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 19:58:17 +0100 > > On Nov 02 2020, Eli Zaretskii wrote: > > > Is EINTR considered an error for this purpose? > > Sure. So if the call to 'write' made by 'fwrite' is interrupted by a signal, and 'fwrite' didn't succeed to write anything, 'fwrite' will return EOF and errno will be set to EINTR? The proposed patch didn't handle that case. And if 'fwrite' was interrupted by a signal, but it succeeded to write something, it will return a smaller count without setting errno? Then how to distinguish between a partial write due to a signal and a partial write due to, say, disk full? > > If not, what exactly is considered an error? I don't see this clearly > > documented, so it could be something we cannot rely on. > > https://pubs.opengroup.org/onlinepubs/9699919799/functions/fputc.html Thanks. > > In short, it sounds like calling fwrite in a loop will only work by > > sheer luck. > > I don't see why. Too many subtle assumptions for my palate. In general, stdio is not safe in the presence of signals. Would it be better to suspend SIGIO by calling unrequest_sigio instead (and resume it once 'fwrite' returns)? From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 15:26:24 2020 Received: (at 44320) by debbugs.gnu.org; 2 Nov 2020 20:26:24 +0000 Received: from localhost ([127.0.0.1]:42763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZgPI-0002Ek-5n for submit@debbugs.gnu.org; Mon, 02 Nov 2020 15:26:24 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:52893) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZgPF-0002Eb-P7 for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 15:26:22 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CQ4F83JHNz1qsZm; Mon, 2 Nov 2020 21:26:20 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CQ4F82qcSz1qtrg; Mon, 2 Nov 2020 21:26:20 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id poFSnmdfRmKj; Mon, 2 Nov 2020 21:26:19 +0100 (CET) X-Auth-Info: Y64Ko8oaKdquEBYIb9UwmB5uiaYCDkjtKCuRCCzU7CM9bsxu9lEJ0myrXfYGc13e Received: from igel.home (ppp-46-244-190-239.dynamic.mnet-online.de [46.244.190.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 2 Nov 2020 21:26:19 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id D61A12C368D; Mon, 2 Nov 2020 21:26:18 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org> X-Yow: A dwarf is passing out somewhere in Detroit! Date: Mon, 02 Nov 2020 21:26:18 +0100 In-Reply-To: <83lffjd08t.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 02 Nov 2020 21:31:14 +0200") Message-ID: <874km7zes5.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 02 2020, Eli Zaretskii wrote: > Too many subtle assumptions for my palate. In general, stdio is not > safe in the presence of signals. That is true, at least if the stream is conntected to a blocking device (file I/O is not affected by signals). > Would it be better to suspend SIGIO by calling unrequest_sigio instead > (and resume it once 'fwrite' returns)? It might be even better to use POSIX I/O. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 02 19:56:48 2020 Received: (at 44320) by debbugs.gnu.org; 3 Nov 2020 00:56:48 +0000 Received: from localhost ([127.0.0.1]:42976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZkcx-0002Ku-Ps for submit@debbugs.gnu.org; Mon, 02 Nov 2020 19:56:48 -0500 Received: from mail-qv1-f42.google.com ([209.85.219.42]:33345) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZkcw-0002Kd-3r for 44320@debbugs.gnu.org; Mon, 02 Nov 2020 19:56:46 -0500 Received: by mail-qv1-f42.google.com with SMTP id da2so4857825qvb.0 for <44320@debbugs.gnu.org>; Mon, 02 Nov 2020 16:56:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:date:from:subject:thread-topic:in-reply-to:message-id :references:to:cc:content-transfer-encoding; bh=5wnnpdX4p4UoIjcc8NDEziFwodxBbPctBvyIqXsMvhs=; b=DKB/9kEJ9AbcPAd14qi+9q84Vlv1ogDtgKX0AUofWrACW6k31KNrED+FjyQSDCzxLN 0mv53/96yT/PcTUxwjzNjGQOW54dpCMuu6fIeNHghY0bQWpVddsleHldYaBhczva8qWU FRck87PxuBRPZfm26H9Vo+f35Jt0lAwbtWopA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:from:subject:thread-topic :in-reply-to:message-id:references:to:cc:content-transfer-encoding; bh=5wnnpdX4p4UoIjcc8NDEziFwodxBbPctBvyIqXsMvhs=; b=jSWymfHZXoJnt9DUsRzz4uercTVduV3up4Z8ibHKGpygum8+ZgN3CP06wX77sZsLf/ UCt1Ekz2E3LcM00JxaiOu70d56kNuxYtaEqU490HIX1XE+dZRC6/oBcNESOq30nU4/Uj fMf1QyqiOOEdyWAcwvKZWwNwiaUPVZ6V05L8UitEjuApuQmrY0ZMAGDvTLC6boe25GFY f8yWQSlsf4SXUhFGZmAIzjFad6mEnRj8VtNOPw8ty53HSS3lkH3aH8QTDl+86CYTfffl 8f1RkPa89XR91t6ZLkwB5n1GIfyQKVNiX3zQruPr52A4dnNcDR5KDWgwOrzBWy6sAmnf Y2UA== X-Gm-Message-State: AOAM531A0Iuip2eZMlKRH1jThCYd/H13NE5bNHKQgoSv1d6MWOO+I9je ZY9Ra49rl2O7JAy1BWJk0VL3/Z3ATh+yHMgxZL0I4PDDpoolJiidmvHlWwb9D4Or1TrDzk2bHn0 49BJ6ZBvXaXvW2AaZSYsa07D1IR2e/uKz+bVZOVHVlDu7pXOrG+PfSwfW1o2y+M0ATbkK/S3nDQ == X-Google-Smtp-Source: ABdhPJwHk2mN18+KNPRA12QvpN51q+YGqBlLenwuvEAdRMUB3PIto4d8MXM0wdDywGZ8IJOESOfZcg== X-Received: by 2002:a0c:a105:: with SMTP id d5mr24886839qva.35.1604365000334; Mon, 02 Nov 2020 16:56:40 -0800 (PST) Received: from smtp.gmail.com ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id w5sm9110385qkf.31.2020.11.02.16.56.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Nov 2020 16:56:39 -0800 (PST) MIME-Version: 1.0 Date: Tue, 3 Nov 2020 08:56:29 +0800 From: LinSun Subject: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents Thread-Topic: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents In-Reply-To: <874km7zes5.fsf@igel.home> Message-ID: <4BD75783-F561-4DB8-A733-13A3D924C8C1@hxcore.ol> References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org>,<874km7zes5.fsf@igel.home> To: Andreas Schwab , Eli Zaretskii Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 44320 Cc: "larsi@gnus.org" , "sunlin7@yahoo.com" , "44320@debbugs.gnu.org" <44320@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: -0.9 (/)

Hi El= i,

 

> O= n what OS do you see the problem?

It=E2=80=99s Cent= OS 7 (kernel 3.10.0, x86_64), I ssh from Cygwin, testing the testing.el wit= h emacs 27, some times successful to show the *.six image some times failed= , while cat *.six always success.

 =

Best Regards

Li= n Sun

= From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 03 10:30:22 2020 Received: (at 44320) by debbugs.gnu.org; 3 Nov 2020 15:30:22 +0000 Received: from localhost ([127.0.0.1]:46079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZyG9-0001VL-TV for submit@debbugs.gnu.org; Tue, 03 Nov 2020 10:30:22 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49574) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZyG7-0001Ta-52 for 44320@debbugs.gnu.org; Tue, 03 Nov 2020 10:30:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45440) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZyG0-0008LR-Tg; Tue, 03 Nov 2020 10:30:00 -0500 Received: from [176.228.60.248] (port=2157 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kZyFz-0005hB-L4; Tue, 03 Nov 2020 10:30:00 -0500 Date: Tue, 03 Nov 2020 17:29:51 +0200 Message-Id: <83eelacvbk.fsf@gnu.org> From: Eli Zaretskii To: LinSun In-Reply-To: <4BD75783-F561-4DB8-A733-13A3D924C8C1@hxcore.ol> (message from LinSun on Tue, 3 Nov 2020 08:56:29 +0800) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org>,<874km7zes5.fsf@igel.home> <4BD75783-F561-4DB8-A733-13A3D924C8C1@hxcore.ol> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, schwab@linux-m68k.org, sunlin7@yahoo.com, 44320@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 (-) > Date: Tue, 3 Nov 2020 08:56:29 +0800 > From: LinSun > Cc: "larsi@gnus.org" , > "sunlin7@yahoo.com" , > "44320@debbugs.gnu.org" <44320@debbugs.gnu.org> > > > On what OS do you see the problem? > > It’s CentOS 7 (kernel 3.10.0, x86_64), I ssh from Cygwin, testing the testing.el with emacs 27, some times > successful to show the *.six image some times failed, while cat *.six always success. Does the below fix the problem, if applied to the unpatched tree in Git? diff --git a/src/dispnew.c b/src/dispnew.c index 3f2ae3e..a5e50b3 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -5904,8 +5904,10 @@ DEFUN ("send-string-to-terminal", Fsend_string_to_terminal, } out = tty->output; } + unrequest_sigio (); fwrite (SDATA (string), 1, SBYTES (string), out); fflush (out); + request_sigio (); unblock_input (); return Qnil; } From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 04 19:14:31 2020 Received: (at 44320) by debbugs.gnu.org; 5 Nov 2020 00:14:31 +0000 Received: from localhost ([127.0.0.1]:51010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kaSv8-0003nJ-PC for submit@debbugs.gnu.org; Wed, 04 Nov 2020 19:14:30 -0500 Received: from mail-qk1-f174.google.com ([209.85.222.174]:39038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kaSv4-0003n4-Sm for 44320@debbugs.gnu.org; Wed, 04 Nov 2020 19:14:30 -0500 Received: by mail-qk1-f174.google.com with SMTP id k9so247565qki.6 for <44320@debbugs.gnu.org>; Wed, 04 Nov 2020 16:14:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:date:from:subject:thread-topic:in-reply-to:message-id :references:to:cc:content-transfer-encoding; bh=tZRccmHekwL0FprKW9O6rHzRarL0MoEgvSDzK/t99Eg=; b=MvHx7qwSSEAJ46CT+4wvaEKGxc3K0iGHQt/fmQrmsoOec/OcU1hyW4hfdl0ZUh+mZ0 6ZeV70Dx64T2Bf7QUlt+rmG0q1F45VPg3bSaS7gJi19XGM1GosUfkKvu93St/1380NBc KLzv8+3UeqgC8kWXP5aUWLk//3gQlf5XxjuyM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:from:subject:thread-topic :in-reply-to:message-id:references:to:cc:content-transfer-encoding; bh=tZRccmHekwL0FprKW9O6rHzRarL0MoEgvSDzK/t99Eg=; b=LbTupMs3dKL+y08bCZWz6wzwf28d5DN+Gx0p9z6ae2QJLHr88yBa1aYatDOsPtjqzM VkSeOoyyoXTVnlBBk+Y6GKlnDUbJeHI0ZuLW4jAmcIrizc0Ly1l6yiV/bCqOa8/3ymwA ErpINDNy6JVN2LK1s92Dx/EWpydwmmtkZ1sVx2e2QE8Dm9oFZePVtmjA1SY1xq/8qFkt AJHkS64X2FkovpnQAbcQexT8pPis1/edtAEJ4ScsPKm9PNF3JIUzWWIb2B+tPGpoP2Nf aXhRDHZ8xpAy2Bgk59qoaQdWZNnIMqm1vJLyvZV06YtftWYc0udSq5tSNsoGdjnNRrFz mjGA== X-Gm-Message-State: AOAM532Sv8SewCWUFAPDk9W9zYONvMkrKXFg94RV8XfIpcDIQhpx/MqB pTWx2TwmgCdLoxhN44buN/HwI1SNcxXxPfLsnx7uwGXNUJhve/XJJMjX7Dksz0MA8iYb1MsoErF ckK2F6tVhnduI2zjXpNx6nqma51eU5dXfFvSELJeCkA0mcebmlNcj0mhGq6BYof6597WO/ZZUxQ == X-Google-Smtp-Source: ABdhPJxhU1YwWdOp2OoS4xw1NV0k7vlYLw5lEsaLbVAO+FMrU3Fises/I0BrgYma52VQiyFuVemDHA== X-Received: by 2002:a37:50e:: with SMTP id 14mr796322qkf.4.1604535261276; Wed, 04 Nov 2020 16:14:21 -0800 (PST) Received: from smtp.gmail.com ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id b12sm1374723qtj.12.2020.11.04.16.14.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Nov 2020 16:14:20 -0800 (PST) MIME-Version: 1.0 Date: Thu, 5 Nov 2020 08:14:12 +0800 From: LinSun Subject: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents Thread-Topic: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents In-Reply-To: <83eelacvbk.fsf@gnu.org> Message-ID: <842E519E-ACC2-4774-A2DD-EA5FF82DA051@hxcore.ol> References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org>,<874km7zes5.fsf@igel.home> <4BD75783-F561-4DB8-A733-13A3D924C8C1@hxcore.ol>,<83eelacvbk.fsf@gnu.org> To: Eli Zaretskii Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 44320 Cc: "larsi@gnus.org" , "schwab@linux-m68k.org" , "sunlin7@yahoo.com" , "44320@debbugs.gnu.org" <44320@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: -0.9 (/)

Hi Eli,

 

With your patch unrequest_sigio ()= =E2=80=A6request_sigio (), it work like charm, it always success display th= e *.six image.

Look forward you apply your patch or= wrap a new function like `full_fwrite(=E2=80=A6)` in the tree.

Thank you.

 

Best Regards

Lin Sun

<= /div>= From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 05 10:59:40 2020 Received: (at 44320) by debbugs.gnu.org; 5 Nov 2020 15:59:40 +0000 Received: from localhost ([127.0.0.1]:53902 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kahfo-00079L-H3 for submit@debbugs.gnu.org; Thu, 05 Nov 2020 10:59:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36384) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kahfm-000798-Qj for 44320@debbugs.gnu.org; Thu, 05 Nov 2020 10:59:39 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:59475) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kahfg-0002qZ-5d; Thu, 05 Nov 2020 10:59:32 -0500 Received: from [176.228.60.248] (port=2750 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kahfe-0004v5-UJ; Thu, 05 Nov 2020 10:59:31 -0500 Date: Thu, 05 Nov 2020 17:59:26 +0200 Message-Id: <83pn4raj6p.fsf@gnu.org> From: Eli Zaretskii To: Andreas Schwab In-Reply-To: <874km7zes5.fsf@igel.home> (message from Andreas Schwab on Mon, 02 Nov 2020 21:26:18 +0100) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org> <874km7zes5.fsf@igel.home> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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: Andreas Schwab > Cc: lin.sun@zoom.us, larsi@gnus.org, sunlin7@yahoo.com, > 44320@debbugs.gnu.org > Date: Mon, 02 Nov 2020 21:26:18 +0100 > > On Nov 02 2020, Eli Zaretskii wrote: > > > Too many subtle assumptions for my palate. In general, stdio is not > > safe in the presence of signals. > > That is true, at least if the stream is conntected to a blocking device > (file I/O is not affected by signals). So you are saying only console and PTY I/O needs this special handling, and file I/O doesn't? > > Would it be better to suspend SIGIO by calling unrequest_sigio instead > > (and resume it once 'fwrite' returns)? > > It might be even better to use POSIX I/O. Maybe so, but that sounds like a too large change for such a rare and subtle use case. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 05 11:07:13 2020 Received: (at 44320) by debbugs.gnu.org; 5 Nov 2020 16:07:13 +0000 Received: from localhost ([127.0.0.1]:53926 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kahn6-0007PQ-Ry for submit@debbugs.gnu.org; Thu, 05 Nov 2020 11:07:13 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:47923) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kahn4-0007PG-3u for 44320@debbugs.gnu.org; Thu, 05 Nov 2020 11:07:11 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4CRpLh5gnWz1qskH; Thu, 5 Nov 2020 17:07:08 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4CRpLh3Z9qz1qs08; Thu, 5 Nov 2020 17:07:08 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id B3JJIVnRgZyY; Thu, 5 Nov 2020 17:07:07 +0100 (CET) X-Auth-Info: t6PTfuvX6w4EQjhyohSVUnCdJ7p/Z4b/AXQVPS2N+nntEFvHNsjD1wxXswUYFQzM Received: from igel.home (ppp-46-244-161-230.dynamic.mnet-online.de [46.244.161.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Thu, 5 Nov 2020 17:07:07 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id F02952C3606; Thu, 5 Nov 2020 17:07:06 +0100 (CET) From: Andreas Schwab To: Eli Zaretskii Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org> <874km7zes5.fsf@igel.home> <83pn4raj6p.fsf@gnu.org> X-Yow: I've read SEVEN MILLION books!! Date: Thu, 05 Nov 2020 17:07:06 +0100 In-Reply-To: <83pn4raj6p.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 05 Nov 2020 17:59:26 +0200") Message-ID: <87361n4wk5.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.4 (/) X-Debbugs-Envelope-To: 44320 Cc: larsi@gnus.org, sunlin7@yahoo.com, 44320@debbugs.gnu.org, lin.sun@zoom.us 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.4 (-) On Nov 05 2020, Eli Zaretskii wrote: > So you are saying only console and PTY I/O needs this special > handling, and file I/O doesn't? Yes, file I/O doesn't block. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 07 04:28:15 2020 Received: (at 44320-done) by debbugs.gnu.org; 7 Nov 2020 09:28:15 +0000 Received: from localhost ([127.0.0.1]:57950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kbKW7-0006A9-Fg for submit@debbugs.gnu.org; Sat, 07 Nov 2020 04:28:15 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51086) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kbKW4-00069v-Uj for 44320-done@debbugs.gnu.org; Sat, 07 Nov 2020 04:28:13 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55788) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kbKVy-0007sQ-Tz; Sat, 07 Nov 2020 04:28:06 -0500 Received: from [176.228.60.248] (port=1588 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kbKVx-0000Ec-RF; Sat, 07 Nov 2020 04:28:06 -0500 Date: Sat, 07 Nov 2020 11:28:06 +0200 Message-Id: <83lffd7byx.fsf@gnu.org> From: Eli Zaretskii To: LinSun In-Reply-To: <842E519E-ACC2-4774-A2DD-EA5FF82DA051@hxcore.ol> (message from LinSun on Thu, 5 Nov 2020 08:14:12 +0800) Subject: Re: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org> <874km7zes5.fsf@igel.home> <4BD75783-F561-4DB8-A733-13A3D924C8C1@hxcore.ol> <83eelacvbk.fsf@gnu.org> <842E519E-ACC2-4774-A2DD-EA5FF82DA051@hxcore.ol> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 44320-done Cc: larsi@gnus.org, schwab@linux-m68k.org, sunlin7@yahoo.com, 44320-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: -3.3 (---) > Date: Thu, 5 Nov 2020 08:14:12 +0800 > From: LinSun > Cc: "schwab@linux-m68k.org" , > "larsi@gnus.org" , "sunlin7@yahoo.com" , > "44320@debbugs.gnu.org" <44320@debbugs.gnu.org> > > With your patch unrequest_sigio ()…request_sigio (), it work like charm, it always success display the *.six > image. > > Look forward you apply your patch or wrap a new function like `full_fwrite(…)` in the tree. Thanks for testing. I installed the change on the release branch. As for other uses of fwrite, they are either to disk files or write short strings, so are not in danger of hitting this problem. With that, I'm closing this bug report. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 08 21:28:17 2020 Received: (at 44320-done) by debbugs.gnu.org; 9 Nov 2020 02:28:18 +0000 Received: from localhost ([127.0.0.1]:33249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kbwun-0002eo-Ie for submit@debbugs.gnu.org; Sun, 08 Nov 2020 21:28:17 -0500 Received: from mail-pg1-f178.google.com ([209.85.215.178]:42590) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kbwuj-0002eY-06 for 44320-done@debbugs.gnu.org; Sun, 08 Nov 2020 21:28:16 -0500 Received: by mail-pg1-f178.google.com with SMTP id i13so927551pgm.9 for <44320-done@debbugs.gnu.org>; Sun, 08 Nov 2020 18:28:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zoom.us; s=google; h=mime-version:date:from:subject:thread-topic:in-reply-to:message-id :references:to:cc:content-transfer-encoding; bh=/OAZVbUgI/I3+rxvxQJkQHTdSY28iYPFIvqfAodv230=; b=QHbrtiLAbpa1h4idVoWjSty+rKUepNjRv9lCFuVCo0cn0eh6WF7Jas17y639wPKwZo kdEsJ/lDvVKEJ+JbmxZazs9/L34DfaxE3WUcY+tmM0GIXTgcWLKaYEFG1+Bit0jMfqj8 kNiG7MdgmLs/7glYEpbzM1qFN8lVQd6dhQ9+Y= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:date:from:subject:thread-topic :in-reply-to:message-id:references:to:cc:content-transfer-encoding; bh=/OAZVbUgI/I3+rxvxQJkQHTdSY28iYPFIvqfAodv230=; b=h7uoZgRqVevshZIceohYdCg+0+Ry9JuiLAuSuWY0uqV59nHxDZ2j3aBNZ1iz3079Zo ZT4sG7BB2ydYnjkPk5ynmq1FRW+fDe+rfsxL/+6Dvi0yQd7Oc+nqeep/dydBRUK73xyT 1x30+fAYAXD7Th/mnt+wfjqsG7V/os/yXtOhEqCBlXfFawzUHsdE4EIYnIM9dzJQ502P 4LYi882F1e279FbVVL+hFV2eJudGOXAy6/4qWp1MLizOC+EMkzMfF7BvKL7XyL6udmkN gXy0pkepzv+w+t02IUSL1XroaPJB+xtTk+uR2TmYT//mj4iYIF77QAmn6ycWQ304y84Z 1sBA== X-Gm-Message-State: AOAM533W/WsQiGXbrnjORvKP5J9qRJ3SkZ8iWRedsJZgfbfXrKWsVwjR HCQO6D7SLRc01913jVvzAqa+QC2V0OvdCdv+FXsgqe2ujmdav8PBDi8ezmK2IHgItTKe7Kg07bK ObLHAZM9jAZkiVxNEQZdUf/mzldsc3O4jE06BkvrB0S5opmzgYlZkil/44AqvCRdy5Oewf9U9gZ 61eZHAX2dIG5c= X-Google-Smtp-Source: ABdhPJwQv9jF7kr0foqOV1sQDbrvrTWM0UqjPR7J+kLTDxB1PiWuSVPatSuzd2JhJSuy9bcDOTlgig== X-Received: by 2002:a65:4483:: with SMTP id l3mr11060089pgq.96.1604888887059; Sun, 08 Nov 2020 18:28:07 -0800 (PST) Received: from smtp.gmail.com ([38.99.100.2]) by smtp.gmail.com with ESMTPSA id gk22sm5941491pjb.39.2020.11.08.18.28.04 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Nov 2020 18:28:06 -0800 (PST) MIME-Version: 1.0 Date: Mon, 9 Nov 2020 10:27:57 +0800 From: LinSun Subject: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents Thread-Topic: RE: bug#44320: [PATH] [27.1] Make sure send-string-to-terminal send all contents In-Reply-To: <83lffd7byx.fsf@gnu.org> Message-ID: <5826E773-A5A0-4B2D-B7A9-3EC343419682@hxcore.ol> References: <5f9b49e9.1c69fb81.72b0f.80d6@mx.google.com> <83ft5wb0jz.fsf@gnu.org> <87mu03j3cv.fsf@gnus.org> <83v9eralri.fsf@gnu.org> <0EA6FC59-A66D-45B8-8B09-62D6A9032FBC@hxcore.ol> <83eelbepw3.fsf@gnu.org> <877dr321ya.fsf@igel.home> <83wnz3d9bz.fsf@gnu.org> <87361r1zjf.fsf@igel.home> <83v9end6s1.fsf@gnu.org> <87y2jjzmnq.fsf@igel.home> <83r1pbd4ia.fsf@gnu.org> <87lffjzlfr.fsf@igel.home> <83pn4vd3vf.fsf@gnu.org> <87h7q7zkiq.fsf@igel.home> <83o8kfd2sy.fsf@gnu.org> <87d00vziuu.fsf@igel.home> <83lffjd08t.fsf@gnu.org> <874km7zes5.fsf@igel.home> <4BD75783-F561-4DB8-A733-13A3D924C8C1@hxcore.ol> <83eelacvbk.fsf@gnu.org> <842E519E-ACC2-4774-A2DD-EA5FF82DA051@hxcore.ol>,<83lffd7byx.fsf@gnu.org> To: Eli Zaretskii Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 44320-done Cc: "larsi@gnus.org" , "schwab@linux-m68k.org" , "sunlin7@yahoo.com" , "44320-done@debbugs.gnu.org" <44320-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: -0.9 (/)

Hi El= i,

 

Great.= Thank you.

 

Best Regards

Lin Sun

= = From unknown Sat Sep 20 11:29:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 07 Dec 2020 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator