From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#59347: 29.0.50; `:family` face setting ignored Date: Thu, 08 Dec 2022 12:53:15 +0000 Message-ID: References: <7cc9e03786024fc72f3b@heytings.org> <83a64l65ai.fsf@gnu.org> <7cc9e0378678a092e6ee@heytings.org> <835yf962q4.fsf@gnu.org> <7cc9e03786754c9e0aaf@heytings.org> <83zgcl4jra.fsf@gnu.org> <7cc9e03786c281cffdd4@heytings.org> <83tu2t4ie9.fsf@gnu.org> <7cc9e03786e324ff82ef@heytings.org> <83bkp04gjl.fsf@gnu.org> <83leo42vm9.fsf@gnu.org> <0d1ea3007fd94b7ae0b1@heytings.org> <83r0xv1649.fsf@gnu.org> <0d1ea3007f532a493429@heytings.org> <83cz9f12bh.fsf@gnu.org> <835yewleyn.fsf@gnu.org> <83tu2b9rlx.fsf@gnu.org> <83k0347gtu.fsf@gnu.org> <83v8mm2ug7.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="abtUo9GTLK" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11776"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca, 59347@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Dec 08 13:54:38 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p3GQ9-0002po-6S for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 08 Dec 2022 13:54:37 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p3GPi-0003MP-QX; Thu, 08 Dec 2022 07:54:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p3GPb-0003Ki-C8 for bug-gnu-emacs@gnu.org; Thu, 08 Dec 2022 07:54:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p3GPb-00073o-2w for bug-gnu-emacs@gnu.org; Thu, 08 Dec 2022 07:54:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p3GPa-0002eW-Gb for bug-gnu-emacs@gnu.org; Thu, 08 Dec 2022 07:54:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 08 Dec 2022 12:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59347 X-GNU-PR-Package: emacs Original-Received: via spool by 59347-submit@debbugs.gnu.org id=B59347.167050400010187 (code B ref 59347); Thu, 08 Dec 2022 12:54:02 +0000 Original-Received: (at 59347) by debbugs.gnu.org; 8 Dec 2022 12:53:20 +0000 Original-Received: from localhost ([127.0.0.1]:56614 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p3GOt-0002eF-Uk for submit@debbugs.gnu.org; Thu, 08 Dec 2022 07:53:20 -0500 Original-Received: from heytings.org ([95.142.160.155]:48770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p3GOr-0002e9-MZ for 59347@debbugs.gnu.org; Thu, 08 Dec 2022 07:53:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1670503996; bh=2FKJY/Ge3SJwCL0IGEHn5dQ5Pb8y/hq4bIDMPNTMFY4=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=4ovMlVCKpmuvMEU5Q7uEkEr6MgM3DkQ7cqDU41IwxkFGNmI6Pu1Nh/nsi26LoLcuY WhjbCahjUScmA3iRSABK7VvWpJiO8BgX+bIjeNCbxWX5Y9C3dR/uzXIEK0xuzZyrsF S/PRrolhqWfZw7UUMR7n9QTF+s+FgLs8tTcj2RQrsg51IyeE0O07/enNj7O+grkj+k KXuifw2Mq5WudHmHyN5DT8PM/OLZIClgfDGk+WRqUgIvD3C9gdlk1enIbcly1TTxdk H7xknRrbjxxec74a2+m6PLcop900Wxanf8znzcckQUcmB5lmi2c6aax1fFoP4A5DWt 16qQdn97+zbEw== In-Reply-To: <83v8mm2ug7.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:250280 Archived-At: --abtUo9GTLK Content-Type: text/plain; format=flowed; charset=us-ascii Thanks for your detailed feedback. >> I don't understand your question. If we agree that there is an order >> of importance in the attributes of a font spec, and that the family is >> the most important one, it seems clear to me that keeping the family is >> more important than keeping the weight. What am I missing? > > The order on which we agreed is only about the numerical attributes: > width, height, weight, and slant. I'm asking about the other > attributes, and about their importance relative to the numerical ones. > You seem to say that this order is self-evident, and I'm questioning > that. > Okay, now I see what you mean. It is not self-evident indeed, it is the intended behavior that is visible (or at least that I see) in the existing code, and it seems to me that it is the most natural behavior, because changing the font itself, e.g. from DejaVu to Courier, has more effect / creates more visual diversity than only changing the width/height/weight/slant attributes, and in graphical user interfaces more uniformity is better than more diversity. >> I checked in particular it with the recipes of bug#37473, bug#57555, >> bug#59347 and bug#59371, and with some variants. All seem to work >> correctly. > > What about bug#51768, bug#52493, bug#52888, and the problem reported in > https://lists.gnu.org/archive/html/emacs-devel/2021-12/msg01643.html? > bug#51768: Works as expected here, with '(default ((t (:family "Source Code Pro" :foundry "outline" :slant normal :weight medium :height 90 :width normal)))). bug#52493: Works as expected here, the Inconsolata_dz font is used and rendered correctly. But the original recipe doesn't work anymore (it does not work in Emacs 28 either), it should be :font "Inconsolata_dz" instead of :family "Inconsolata_dz". bug#52888: That bug seems unrelated to the current bug, but I see no difference in behavior between Emacs 28 and Emacs 29 with the patch. problem reported on emacs-devel: The medium weight is selected both for frames that are created by calling emacs and for frames that are created by calling emacsclient. > > Also, did you test Emacs invocation as in "emacs -fn FONT" where FONT is > specified as Fontconfig and XLFD patterns documented in the "Fonts" node > of the Emacs user manual? E.g., what happens if you use the Fontconfig > pattern such as "Sans > Serif-12:weight=black:slant=oblique:width=condensed"? -- does Emacs > start with a font with the expected attributes, both when such a font > which matches exactly exists and when an exact match doesn't exist? > emacs -Q -fn 'Sans Serif-12:slant=oblique:width=condensed' works as expected and behaves like Emacs 28: the font for the default face is a condensed and oblique variable-pitch sans serif font. emacs-28 -Q -fn 'Sans Serif-12:weight=black:slant=oblique:width=condensed' displays the same error in Emacs 28, 29, and 29 with the patch: Font 'Sans Serif-12:weight=black:slant=oblique:width=condensed' is not defined > > As I mentioned earlier, any such change must be controlled by a variable > exposed to Lisp, which could then be used to investigate and perhaps > countermand any regressions it could cause. If you agree to adding such > a variable, I'm okay with installing this on the emacs-29 branch. > Okay, so here is an updated patch. To make it easier to investigate bugs in this area, I think it makes sense to control each field separately, and also to allow unsetting other attributes, which is what the new variable does. --abtUo9GTLK Content-Type: text/x-diff; name=Unset-the-weight-slant-width-in-the-spec-when-realiz.patch Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: attachment; filename=Unset-the-weight-slant-width-in-the-spec-when-realiz.patch RnJvbSA2MGNhZTc5YWMzOGEyODYwNTc5NTMyYmY4NDUwZDhkODE2ODhmMzgw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBUaHUsIDggRGVj IDIwMjIgMTI6NDU6MDYgKzAwMDANClN1YmplY3Q6IFtQQVRDSF0gVW5zZXQg dGhlIHdlaWdodC9zbGFudC93aWR0aCBpbiB0aGUgc3BlYyB3aGVuIHJlYWxp emluZyBhDQogZm9udA0KDQpCZXR3ZWVuIGNvbW1pdHMgYmYwZDNmNzZkYyAo MjAxNCkgYW5kIDZiMWVkMmYyYzkgKDIwMjIpLA0KcmVhbGl6ZV9ndWlfZmFj ZSBjYWxsZWQgZm9udF9sb2FkX2Zvcl9sZmFjZSB3aXRoIGFuIGVtcHR5IG9y DQpwYXJ0bHkgZW1wdGllZCBmb250IHNwZWMsIGkuZS4gaXQgaWdub3JlZCBh IHBhcnQgb2YgaXRzIGF0dHJzDQphcmd1bWVudC4gIFRoZSByYXRpb25hbGUg Z2l2ZW4gaW4gYnVnIzE3OTczLCB3aGljaCBsZWQgdG8NCmJmMGQzZjc2ZGMs IGlzIG5vdCBjbGVhci4gIEhvd2V2ZXIsIDZiMWVkMmYyYzksIHdoaWNoIHBh c3Nlcw0KdGhlIGZ1bGwgZm9udCBzcGVjIHRvIGZvbnRfbG9hZF9mb3JfbGZh Y2UgYW5kDQpmb250X2ZpbmRfZm9yX2xmYWNlLCBsZWFkcyB0byBzdWJvcHRp bWFsIGZvbnQgY2hvaWNlcywgZm9yDQpleGFtcGxlIHdoZW4gdGhlIGZvbnQg Y2hvc2VuIGZvciB0aGUgZGVmYXVsdCBmYWNlIGhhcyBhDQp3ZWlnaHQsIHNs YW50IG9yIHdpZHRoIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSBvdGhlcg0K YXZhaWxhYmxlIGZvbnRzIG9uIHRoZSBzeXN0ZW0sIHN1Y2ggYXMgJ21lZGl1 bScgb3IgJ2hlYXZ5Jy4NCg0KSWYgdGhlc2UgYXR0cmlidXRlcyBhcmUgbm90 IHVuc2V0IGhlcmUsIHRoZSBjYWxsIHRvDQpmb250X2xpc3RfZW50aXRpZXMg aW4gZm9udF9maW5kX2Zvcl9sZmFjZSBhcmJpdHJhcmlseSBsaW1pdHMNCnRo ZSBjYW5kaWRhdGUgZm9udCBsaXN0IHRvIHRob3NlIHRoYXQgYXJlIHBlcmZl Y3QgbWF0Y2hlcyBmb3INCnRoZXNlIGF0dHJpYnV0ZXMsIHdoaWNoIG1lYW5z IHRoYXQgdGhlIHNjb3JpbmcgbWVjaGFuaXNtIGlzDQpieXBhc3NlZC4gIE5v dGUgdGhhdCB0aGUgc2l6ZSBhdHRyaWJ1dGUgaW4gc3BlYyBpcyBhbHNvIHVu c2V0LA0KaW4gZm9udF9maW5kX2Zvcl9sZmFjZS4NCg0KQWxzbyBhbGxvdyB1 bnNldHRpbmcgdGhlIG90aGVyIGF0dHJpYnV0ZXMsIGZvciBkZWJ1Z2dpbmcg cHVycG9zZXMuDQoNCiogc3JjL3hmYWNlcy5jIChyZWFsaXplX2d1aV9mYWNl KTogVW5zZXQgdGhlIHdlaWdodCwgc2xhbnQgYW5kDQp3aWR0aCBvZiB0aGUg Zm9udCBzcGVjLiAgRml4ZXMgYnVnIzU3NTU1IGFuZCBidWcjNTkzNDcuDQoo c3ltc19vZl94ZmFjZXMpOiBOZXcgdmFyaWFibGUNCidyZWFsaXplLWd1aS1m YWNlLWlnbm9yZWQtc3BlYy1hdHRyaWJ1dGVzJy4NCi0tLQ0KIHNyYy94ZmFj ZXMuYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0NCiAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3NyYy94 ZmFjZXMuYyBiL3NyYy94ZmFjZXMuYw0KaW5kZXggZGYwNzgyMjdjOC4uYzMz NTE5Mzk5OSAxMDA2NDQNCi0tLSBhL3NyYy94ZmFjZXMuYw0KKysrIGIvc3Jj L3hmYWNlcy5jDQpAQCAtNjA3MSw4ICs2MDcxLDQyIEBAIHJlYWxpemVfZ3Vp X2ZhY2UgKHN0cnVjdCBmYWNlX2NhY2hlICpjYWNoZSwgTGlzcF9PYmplY3Qg YXR0cnNbTEZBQ0VfVkVDVE9SX1NJWkVdDQogCSAgICBlbWFjc19hYm9ydCAo KTsNCiAJfQ0KICAgICAgIGlmICghIEZPTlRfT0JKRUNUX1AgKGF0dHJzW0xG QUNFX0ZPTlRfSU5ERVhdKSkNCi0JYXR0cnNbTEZBQ0VfRk9OVF9JTkRFWF0N Ci0JICA9IGZvbnRfbG9hZF9mb3JfbGZhY2UgKGYsIGF0dHJzLCBhdHRyc1tM RkFDRV9GT05UX0lOREVYXSk7DQorCXsNCisJICBMaXNwX09iamVjdCBzcGVj ID0gY29weV9mb250X3NwZWMgKGF0dHJzW0xGQUNFX0ZPTlRfSU5ERVhdKTsN CisjZGVmaW5lICAgTUFZQkVfVU5TRVRfQVRUUklCVVRFKEFUVFIpCQkJXA0K KwkgIGlmIChyZWFsaXplX2d1aV9mYWNlX2lnbm9yZWRfc3BlY19hdHRyaWJ1 dGVzCVwNCisJICAgICAgJiAoMSA8PCBGT05UXyMjQVRUUiMjX0lOREVYKSkJ CVwNCisJICAgIEFTRVQgKHNwZWMsIEZPTlRfIyNBVFRSIyNfSU5ERVgsIFFu aWwpOw0KKwkgIC8qIFRoZSBkZWZhdWx0IHZhbHVlIG9mDQorCSAgICAgcmVh bGl6ZV9ndWlfZmFjZV9pZ25vcmVkX3NwZWNfYXR0cmlidXRlcyB1bnNldHMg dGhlDQorCSAgICAgd2VpZ2h0LCBzbGFudCBhbmQgd2lkdGggaW4gc3BlYy4g IFRoZSBiZXN0IHBvc3NpYmxlDQorCSAgICAgdmFsdWVzIGZvciB0aGVzZSBh dHRyaWJ1dGVzIGlzIGRldGVybWluZWQgaW4NCisJICAgICBmb250X2ZpbmRf Zm9yX2xmYWNlLCBjYWxsZWQgYnkgZm9udF9sb2FkX2Zvcl9sZmFjZSwgd2hl bg0KKwkgICAgIHRoZSBjYW5kaWRhdGUgbGlzdCByZXR1cm5lZCBieSBmb250 X2xpc3RfZW50aXRpZXMgaXMNCisJICAgICBzb3J0ZWQgYnkgZm9udF9zZWxl Y3RfZW50aXR5ICh3aGljaCBjYWxscw0KKwkgICAgIGZvbnRfc29ydF9lbnRp dGllcywgd2hpY2ggY2FsbHMgZm9udF9zY29yZSkuICBJZiB0aGVzZQ0KKwkg ICAgIGF0dHJpYnV0ZXMgYXJlIG5vdCB1bnNldCBoZXJlLCB0aGUgY2FuZGlk YXRlIGZvbnQgbGlzdA0KKwkgICAgIHJldHVybmVkIGJ5IGZvbnRfbGlzdF9l bnRpdGllcyBvbmx5IGNvbnRhaW5zIGZvbnRzIHRoYXQNCisJICAgICBhcmUg ZXhhY3QgbWF0Y2hlcyBmb3IgdGhlc2Ugd2VpZ2h0LCBzbGFudCBhbmQgd2lk dGgNCisJICAgICBhdHRyaWJ1dGVzLCB3aGljaCBsZWFkcyB0byBzdWJvcHRp bWFsIG9yIHdyb25nIGZvbnQNCisJICAgICBjaG9pY2VzLiAgU2VlIGJ1ZyM1 OTM0Ny4gICovDQorCSAgTUFZQkVfVU5TRVRfQVRUUklCVVRFIChXRUlHSFQp Ow0KKwkgIE1BWUJFX1VOU0VUX0FUVFJJQlVURSAoU0xBTlQpOw0KKwkgIE1B WUJFX1VOU0VUX0FUVFJJQlVURSAoV0lEVEgpOw0KKwkgIC8qIEFsc28gYWxs b3cgdW5zZXR0aW5nIG90aGVyIGF0dHJpYnV0ZXMgZm9yIGRlYnVnZ2luZw0K KwkgICAgIHB1cnBvc2VzLiAgKi8NCisJICBNQVlCRV9VTlNFVF9BVFRSSUJV VEUgKEZBTUlMWSk7DQorCSAgTUFZQkVfVU5TRVRfQVRUUklCVVRFIChGT1VO RFJZKTsNCisJICBNQVlCRV9VTlNFVF9BVFRSSUJVVEUgKFJFR0lTVFJZKTsN CisJICBNQVlCRV9VTlNFVF9BVFRSSUJVVEUgKEFEU1RZTEUpOw0KKwkgIE1B WUJFX1VOU0VUX0FUVFJJQlVURSAoU0laRSk7DQorCSAgTUFZQkVfVU5TRVRf QVRUUklCVVRFIChEUEkpOw0KKwkgIE1BWUJFX1VOU0VUX0FUVFJJQlVURSAo U1BBQ0lORyk7DQorCSAgTUFZQkVfVU5TRVRfQVRUUklCVVRFIChBVkdXSURU SCk7DQorCSAgTUFZQkVfVU5TRVRfQVRUUklCVVRFIChFWFRSQSk7DQorI3Vu ZGVmICAgIE1BWUJFX1VOU0VUX0FUVFJJQlVURQ0KKwkgIGF0dHJzW0xGQUNF X0ZPTlRfSU5ERVhdID0gZm9udF9sb2FkX2Zvcl9sZmFjZSAoZiwgYXR0cnMs IHNwZWMpOw0KKwl9DQogICAgICAgaWYgKEZPTlRfT0JKRUNUX1AgKGF0dHJz W0xGQUNFX0ZPTlRfSU5ERVhdKSkNCiAJew0KIAkgIGZhY2UtPmZvbnQgPSBY Rk9OVF9PQkpFQ1QgKGF0dHJzW0xGQUNFX0ZPTlRfSU5ERVhdKTsNCkBAIC03 MzYwLDYgKzczOTQsMjMgQEAgc3ltc19vZl94ZmFjZXMgKHZvaWQpDQogY2xl YXIgdGhlIGZhY2UgY2FjaGUsIHNlZSBgY2xlYXItZmFjZS1jYWNoZScuICAq Lyk7DQogICBmYWNlX25lYXJfc2FtZV9jb2xvcl90aHJlc2hvbGQgPSAzMDAw MDsNCiANCisgIERFRlZBUl9JTlQgKCJyZWFsaXplLWd1aS1mYWNlLWlnbm9y ZWQtc3BlYy1hdHRyaWJ1dGVzIiwNCisJICAgICAgcmVhbGl6ZV9ndWlfZmFj ZV9pZ25vcmVkX3NwZWNfYXR0cmlidXRlcywNCisJICAgICAgZG9jOiAvKiBJ Z25vcmVkIGZvbnQtc3BlYyBhdHRyaWJ1dGVzIGluIHJlYWxpemVfZ3VpX2Zh Y2UuDQorDQorVGhlIHZhbHVlIGlzIGFuIGludGVnZXIgbnVtYmVyIGFuZCBy ZXByZXNlbnRzIGEgYml0IG1hc2suDQorVGhlIGF0dHJpYnV0ZSBjb3JyZXNw b25kaW5nIHRvIGVhY2ggYml0IHRoYXQgaXMgc2V0IGlzIGNsZWFyZWQgaW4N CityZWFsaXplX2d1aV9mYWNlLiAgVGhlIGJpdHMgYXJlOiAxID0gOmZvdW5k cnksIDIgPSA6ZmFtaWx5LA0KKzMgPSA6YWRzdHlsZSwgNCA9IDpyZWdpc3Ry eSwgNSA9IDp3ZWlnaHQsIDYgPSA6c2xhbnQsIDcgPSA6d2lkdGgsDQorOCA9 IDpzaXplLCA5ID0gOmRwaSwgMTAgPSA6c3BhY2luZywgMTEgPSA6YXZnd2lk dGgsIDEyID0gZXh0cmENCithdHRyaWJ1dGVzICg6bmFtZSwgOnNjcmlwdCwg OmxhbmcgYW5kIDpvdGYpLg0KKw0KK1RoZXJlIGlzIG5vIHJlYXNvbiB0byBj aGFuZ2UgdGhhdCB2YWx1ZSBleGNlcHQgZm9yIGRlYnVnZ2luZyBwdXJwb3Nl cy4gICovKTsNCisgIHJlYWxpemVfZ3VpX2ZhY2VfaWdub3JlZF9zcGVjX2F0 dHJpYnV0ZXMgPQ0KKyAgICAoMSA8PCBGT05UX1dFSUdIVF9JTkRFWCkgfA0K KyAgICAoMSA8PCBGT05UX1NMQU5UX0lOREVYKSB8DQorICAgICgxIDw8IEZP TlRfV0lEVEhfSU5ERVgpOw0KKw0KICNpZmRlZiBIQVZFX1dJTkRPV19TWVNU RU0NCiAgIGRlZnN1YnIgKCZTYml0bWFwX3NwZWNfcCk7DQogICBkZWZzdWJy ICgmU3hfbGlzdF9mb250cyk7DQotLSANCjIuMzUuMQ0KDQo= --abtUo9GTLK--