From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 625781F4CC for ; Mon, 13 Jan 2025 22:37:46 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=rWPuTjRo; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=e0dpWOYZ; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1736807833; bh=Ym6PXZD53x9Q09+8ME0E3oSSho5Ep+fMEZatgm0AXYY=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=rWPuTjRozorygrDse4QIGV17yEUuitzhf47zRs7xh+dwGBwvBr7g1yxNZqalfNiIE C3hXOjopdyf5uWQmFEofeAO4msJYs/0ytPKen9B1jPOT1komp1Igjf7DNzYDWk3TpC Lp6oQfRY2HsflD/wtRZ1q/jP6VyPJ2cHmVUAsOBs= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 52D31467EA for ; Mon, 13 Jan 2025 22:37:13 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=e0dpWOYZ; dkim-atps=neutral Received: from s.wfbtzhsw.outbound-mail.sendgrid.net (s.wfbtzhsw.outbound-mail.sendgrid.net [159.183.224.105]) by nue.mailmanlists.eu (Postfix) with ESMTPS id 2842544A0E for ; Mon, 13 Jan 2025 22:37:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=9duu76FA8eTtSK9B5hbFyy+OqgqCrAUBo02kOpggTMw=; b=e0dpWOYZUv4j5mHqmc/lUqQtGJM6xZRwc+fbmeB24p4EZep6KCx3YetJKVOfgV7mgxXj 6RtE8/B6Yp348t/N/GLttBUxHYIWiw3CUaDUzxYIL4nePQEz+O1NCDZQUJSRATL+01Mu2o QoM03d2qor0N4I8eQzQYDpQ6yVs3ZdZwWQf+zKiyaMsePeAzJxOPOBB4saSGv7f7yBowNF TW72ue1n+tFDJeyWfa9Y/mv6bMa7fTtjqXas8paJE7Qw8HP6Ye6v4DrhAhYF8fpi7dNkYS /P/JVMcm09u2XxEPSwdWdRPvVDJyWHIeEZlXana0lHWkiTPOhFFUNK8JWC6rN+XA== Received: by recvd-5c8ccdbd88-csd79 with SMTP id recvd-5c8ccdbd88-csd79-1-67859594-7 2025-01-13 22:37:08.176455435 +0000 UTC m=+5188560.420854380 Received: from herokuapp.com (unknown) by geopod-ismtpd-33 (SG) with ESMTP id 8KJrIyUsRJyv5Io8ic6FrA for ; Mon, 13 Jan 2025 22:37:08.166 +0000 (UTC) Date: Mon, 13 Jan 2025 22:37:08 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 20816 X-Redmine-Issue-Author: adrienjarthon X-Redmine-Issue-Priority: Normal X-Redmine-Sender: luke-gru X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-Redmine-MailingListIntegration-Message-Ids: 97328 X-SG-EID: =?us-ascii?Q?u001=2Eu2jV1cZCX3JeC9XuCMpKrPL8QYex4qqdacL0+MyIJYZ8T98+Yamf0oq9z?= =?us-ascii?Q?aSwYa9OgKS1yrZArj33QXc1KJqA8PopG+kgVPq9?= =?us-ascii?Q?cjRbGB5G3hdvHFUuPvPMt5QaDVPVGHZQlNPx2+6?= =?us-ascii?Q?K8t3fLe8dz2fVfxKIlzpkSNDCC+ZD9sLgaGRG3K?= =?us-ascii?Q?gP03UR3SFnxqe1RS1KQhtXx9rhowv5X=2FgoV6Ctd?= =?us-ascii?Q?yDOWx8cstDx96xOI7G+iQOuFYNadDzytui=2Fb4H4?= =?us-ascii?Q?OfD09vLxTBx+Uxe45K=2FqDYUFZg=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: IBYOJRQVH5ZXJWQG27T32XZ2I33RZP6L X-Message-ID-Hash: IBYOJRQVH5ZXJWQG27T32XZ2I33RZP6L X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120641] [Ruby master Bug#20816] Potential regression in Ruby 3.3.x (compared with 3.1 and 3.2) regarding fast syscalls and multi-threading. List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "luke-gru (Luke Gruber) via ruby-core" Cc: "luke-gru (Luke Gruber)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIwODE2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbHVrZS1ncnUgKEx1a2UgR3J1YmVyKS4N Cg0KDQpJIHRoaW5rIHRoaXMgaXMgZHVlIHRvIHRoZSByZWZhY3RvciBmb3IgTTpOIHRocmVhZHMu IEluIHRoZSAzLjIgcmVsZWFzZSwgd2hpY2ggaXMgZmFzdCBldmVuIHRob3VnaCBpdCBzdGlsbCB1 c2VzIGNvbmRpdGlvbiB2YXJpYWJsZXMgaW4gYHRocmVhZF9zY2hlZF90b19ydW5uaW5nX2NvbW1v bmAsIHRoZSBjaGFuZ2luZyBvZiB0aHJlYWRzIHdhcyBuZXZlciBmb3JjZWQgZHVyaW5nIGEgYmxv Y2tpbmcgb3BlcmF0aW9uLg0KDQpUaGF0IGlzLCBpbiBCTE9DS0lOR19SRUdJT04gKGB0aHJlYWQu Y2ApLCBpdCBnb2VzOg0KDQoxLiBgdGhyZWFkX3NjaGVkX3RvX3dhaXRpbmcodGgpYCAtLSB0aGlz IHJlbGVhc2VzIHBlci1yYWN0b3IgR1ZMIChgVEhfU0NIRUQodGgpLT5ydW5uaW5nYCBjaGFuZ2Vz IGZyb20gY3VycmVudCBydWJ5IHRocmVhZCAoYEdFVF9USFJFQUQoKWApIHRvIE5VTEwpLiBUaGVu LCBzaWduYWwgdGhlIG5leHQgcnVieSB0aHJlYWQgaW4gdGhpcyByYWN0b3IncyByZWFkeXEsIGlm IGFueS4NCjIuIGV4ZWN1dGUgYmxvY2tpbmcgb3BlcmF0aW9uLCBsaWtlIGBGaWxlLm10aW1lYA0K My4gYHRocmVhZF9zY2hlZF90b19ydW5uaW5nKHRoKWAgLS0gQmxvY2tzIHVudGlsIGFub3RoZXIg dGhyZWFkIHNpZ25hbHMgaXQgaWYgYW5vdGhlciB0aHJlYWQgaXMgcnVubmluZyBhbmQgaGFzIHRo ZSBHVkwsIG90aGVyd2lzZSBjb250aW51ZXMgd2l0aG91dCBibG9ja2luZw0KDQpMb3RzIG9mIHRp bWVzLCBzaW5jZSAjMiBjYW4gYmUgc28gZmFzdCwgd2hlbiB3ZSBnZXQgdG8gIzMsIGBzY2hlZC0+ cnVubmluZ2AgaXMgc3RpbGwgTlVMTCBmcm9tICMxIGJlY2F1c2UgdGhlIG90aGVyIHRocmVhZCB3 ZSBzaWduYWxsZWQgaGFzbid0IHdva2VuIHVwIHlldCBhbmQgdGFrZW4gY29udHJvbCBvZiBgc2No ZWQtPnJ1bm5pbmdgLiBUaGUgT1Mgc2NoZWR1bGVyIGhhc24ndCBzd2l0Y2hlZCwgc28gdGhlcmUg YXJlIGxlc3MgY29udGV4dCBzd2l0Y2hlcy4gSSBzZWUgdGhpcyBpbiBzb21lIGN1c3RvbSBwcmlu dGYgbG9nZ2luZyBJIG1hZGUsIHdoZXJlIDEgdGhyZWFkIHJ1bnMgbWFueSBpdGVyYXRpb25zIG9m IHRoZSBzeXNjYWxsLCB0aGVuIGFub3RoZXIgdGhyZWFkIHJ1bnMgbWFueSwgZXRjLg0KDQpJbiB0 aGUgbmV3IHN5c3RlbSwNCg0KMS4gU2ltaWxhciB0byBiZWZvcmUsIGJ1dCBpZiB0aGVyZSdzIGEg bmV4dCB0aHJlYWQgcmVhZHkgKGluIHJlYWR5cSkgd2UgYWN0dWFsbHkgZm9yY2UgaXQgdG8gaG9s ZCB0aGUgR1ZMICh3ZSBzZXQgYHNjaGVkLT5ydW5uaW5nID0gbmV4dF90aGApLCB0aGVuIHdlIHNp Z25hbCBpdCdzIGNvbmR2YXIgdGVsbGluZyBpdCB0byBydW4NCjIuIEV4ZWN1dGUgYmxvY2tpbmcg b3BlcmF0aW9uDQozLiBQdXQgb3Vyc2VsdmVzIGluIHRoZSBiYWNrIG9mIHRoZSByZWFkeXEsIGFu ZCB3YWl0IHVudGlsIHdlJ3JlIHNpZ25hbGxlZA0KDQpTbyBpbiBzdW1tYXJ5LCB0aGVyZSBpcyBt b3JlIGNvbnRleHQgc3dpdGNoaW5nLCB3aGljaCBpcyB0aGUgbWFpbiBzbG93ZG93biBJIGJlbGll dmUuIFRoZXJlIGlzIGFsc28gbW9yZSBvdmVyaGVhZCBub3cgZHVlIHRvIHRpbWVzbGljZSBib29r a2VlcGluZyB3aGljaCBJIHRoaW5rIGNhbiBiZSByZWR1Y2VkLg0KDQpUaGUgbmV3IHJhY3Rvci90 aHJlYWQgc2NoZWR1bGluZyBzeXN0ZW0gaXMgbW9yZSBjb21wbGV4IHRoYW4gdGhlIG9sZCBvbmUs IGJ1dCBJIHRoaW5rIHdlIGNhbiBmaXggdGhpcyBpc3N1ZS4gSSByZWFkIHRoYXQgR28gZG9lcyBz b21lIGZhbmN5IHRoaW5ncyB3aXRoIGZhc3Qgc3lzY2FsbHMgd2hlcmUgaWYgYSBrbm93bi1mYXN0 IHN5c2NhbGwgaXMgbWFkZSwgdGhlIGdvcm91dGluZSBzY2hlZHVsZXIgZG9lc24ndCBzaWduYWwg dGhlIG5leHQgZ29yb3V0aW5lIGJ1dCBwb3N0cyB0byBhIG1vbml0b3JpbmcgdGhyZWFkIHdpdGgg YSBzbWFsbCB0aW1lb3V0IHZhbHVlIGFuZCBpZiB0aGlzIHZhbHVlIGlzIGV4Y2VlZGVkIGJ5IHRo ZSBzeXNjYWxsIHRoZW4gdGhlIG5leHQgZ29yb3V0aW5lIGlzIHNjaGVkdWxlZCwgb3RoZXJ3aXNl IGl0IG5ldmVyIHNpZ25hbHMgdGhlIG5leHQgZ29yb3V0aW5lIGF0IGFsbCwgdGFrZXMgaXRzZWxm IG9mZiB0aGUgbW9uaXRvcmluZyB0aHJlYWQgYW5kIGNvbnRpbnVlcy4gVGhlcmUncyBzb21lIGlu Zm9ybWF0aW9uIGhlcmUgYWJvdXQgdGhhdDogaHR0cHM6Ly91dGNjLnV0b3JvbnRvLmNhL35ja3Mv c3BhY2UvYmxvZy9wcm9ncmFtbWluZy9Hb1NjaGVkdWxlckFuZFN5c2NhbGxzLg0KDQpXZSBjb3Vs ZCBkbyBzb21ldGhpbmcgc2ltaWxhciB0byBHbyBvciB0cnkgdG8gaW5jb3Jwb3JhdGUgbW9yZSBv ZiBob3cgaXQgdXNlZCB0byB3b3JrIGludG8gdGhlIG5ldyBzeXN0ZW0uIEkgdGhpbmsgZG9pbmcg c29tZXRoaW5nIHNpbWlsYXIgdG8gR28gbWFrZXMgc2Vuc2Ugd2l0aCBob3cgdGhlIG5ldyBzY2hl ZHVsZXIgd29ya3MuDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KQnVnICMyMDgxNjogUG90ZW50aWFsIHJlZ3Jlc3Npb24gaW4gUnVieSAzLjMueCAoY29tcGFy ZWQgd2l0aCAzLjEgYW5kIDMuMikgcmVnYXJkaW5nIGZhc3Qgc3lzY2FsbHMgYW5kIG11bHRpLXRo cmVhZGluZy4NCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDgxNiNjaGFuZ2Ut MTExNDcwDQoNCiogQXV0aG9yOiBhZHJpZW5qYXJ0aG9uIChBZHJpZW4gSmFydGhvbikNCiogU3Rh dHVzOiBPcGVuDQoqIHJ1YnkgLXY6IDMuMy41DQoqIEJhY2twb3J0OiAzLjE6IERPTlRORUVELCAz LjI6IERPTlRORUVELCAzLjM6IFJFUVVJUkVEDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpPayBJJ20gc29ycnkgaW4gYWR2YW5jZSBpZiB0aGlzIGlzIG5vdCByZWFs bHkgYSByZWdyZXNzaW9uIChtYXliZSBpdCdzIHRoZSBjb3N0IHRvIHBheSBmb3Igb3RoZXIgaW1w cm92ZW1lbnRzKSBidXQgaXQgc3RpbGwgc2hvd2VkIGFzIGEgMzAlIHBlcmZvcm1hbmNlIGRyb3Ag aW4gbXkgYmVuY2htYXJrIHNvIEkgdGhpbmsgaXQgbWF5IGJlIHdvcnRoIGEgbG9vay4NCg0KRm9y IHRoZSBmdWxsIHN0b3J5IGFib3V0IGhvdyBJIGNhbWUgZG93biB0aGlzIHJhYmJpdCBob2xlIEkg anVzdCB3cm90ZSBhIGJsb2cgcG9zdCB0byBhdm9pZCBjbHV0dGVyaW5nIHRoZSBpc3N1ZTogaHR0 cHM6Ly91cGRvd24uaW8vYmxvZy93ZWlyZC1yZXN1bHRzLWNvbXBhcmluZy1ydWJ5LTMtMS0zLTIt My0zLXdpdGgtamVtYWxsb2MtYW5kLXlqaXQgKHBsZWFzZSByZWFkIGl0IGZpcnN0KQ0KDQpIZXJl IEknbSBnb25uYSBwdXQgbXkgbGFzdCBmaW5kaW5ncyBhbmQgdGhlIHNtYWxsZXN0IHJlcHJvZHVj aWJsZSBleGFtcGxlIEkgd2FzIGFibGUgdG8gd3JpdGUuDQoNClNvIGJhc2ljYWxseSBJIG5vdGlj ZWQgdGhhdCBxdWljayBzeXNjYWxscyAoYXQgbGVhc3Qgd2l0aCBhIGdvb2QgU1NEKSBsaWtlIGBG aWxlLmV4aXN0cz9gIG9yIGBGaWxlLm10aW1lYCwgd2hlbiB1c2VkIGluIGEgbXVsdGktdGhyZWFk ZWQgZW52aXJvbmVtZW50IChTaWRla2lxIGluIG15IGluaXRpYWwgdGVzdGluZyBidXQgSSByZWR1 Y2VkIGl0IHRvIGEgZmV3IFRocmVhZC5uZXcpIGFyZSBzaWduaWZpY2FudGx5IHNsb3dlciBpbiAz LjMueCAodGVzdGVkIHdpdGggdGhlIHNhbWUgcmVzdWx0cyBvbiAzLjMuMCwgMy4zLjIgYW5kIDMu My41IGZvciB0aGUgbW9tZW50KSBpbiBjb21wYXJpc29uIHdpdGggMy4xLjIgb3IgMy4yLjU6IGFi b3V0IHR3aWNlIGFzIHNsb3cuDQoNClRoZXNlIHN5c2NhbGxzIGFyZSBoZWF2aWx5IHVzZWQgYnkg dGhlIFJhaWxzIFJlbG9hZGVyIHdoaWNoIGlzIGhvdyBpdCBoYWQgc3VjaCBhIGh1Z2UgaW1wYWN0 ICgzMCUpIGluIG15IHRlc3RpbmcuDQoNCkhlcmUgaXMgdGhlIHNtYWxsIHJlcHJvZHVjdGlvbiBz Y3JpcHQgSSB3cm90ZToNCg0KYGBgIHJ1YnkNCiMhL3Vzci9iaW4vZW52IHJ1YnkNCg0KR0MuZGlz YWJsZSAjIGp1c3QgdG8gbWFrZSBzdXJlIGl0IGRvZXNuJ3Qgc2tldyByZXN1bHRzDQpUSFJFQURT ID0gKEFSR1YuZmlyc3QgfHwgMTApLnRvX2kgICMgY2hvb3NlIHRocmVhZCBjb3VudCBmcm9tIENM SQ0KTiA9IDEwXzAwMF8wMDAgIyB0byBtYWtlIHRoZSB0ZXN0IGxvbmdlciBvciBzaG9ydGVyDQoN CnB1dHMgIlJ1YnkgI3tSVUJZX1ZFUlNJT059IC8gWUpJVDogI3tSdWJ5Vk06OllKSVQuZW5hYmxl ZD99IC8gI3tUSFJFQURTfSBUaHJlYWRzIg0KDQpBcnJheS5uZXcoVEhSRUFEUykubWFwIGRvDQog IFRocmVhZC5uZXcgZG8NCiAgICAoTi9USFJFQURTKS50aW1lcyB7IEZpbGUubXRpbWUoX19GSUxF X18pIH0NCiAgZW5kDQplbmQuZWFjaCgmOmpvaW4pDQoNCnB1dHMgIiN7Tn0gY2FsbHMgY29tcGxl dGVkIg0KYGBgDQoNClRoZSBnb2FsIGlzIGp1c3QgdG8gcnVuIGEgbG90IG9mIGZhc3Qgc3lzY2Fs bHMsIGluIHZhcmlvdXMgbnVtYmVyIG9mIHRocmVhZHMsIGFuZCBoZXJlIGFyZSB0aGUgbnVtYmVy cyBvbiBteSBtYWNoaW5lOg0KfFRocmVhZHNcUnVieXwzLjEuMiB8My4zLjUgfA0KfC0tfC0tfC0t fA0KfDEgfCAxMy43cyB8IOKchSAxNC4ycyB8DQp8MiB8IDkuN3MgfCDimqDvuI8gMzMuNHMgfA0K fDQgfCAyMy4ycyB8IOKaoO+4jyAzNy4wcyB8DQp8OCB8IDIxLjhzIHwg4pqg77iPIDM5LjdzIHwN CnwxNiB8IDIzLjFzIHwg4pqg77iPIDQxLjVzIHwNCg0KKG1vcmUgbnVtYmVycyBpbiB0aGUgW2Js b2cgcG9zdF0oaHR0cHM6Ly91cGRvd24uaW8vYmxvZy93ZWlyZC1yZXN1bHRzLWNvbXBhcmluZy1y dWJ5LTMtMS0zLTItMy0zLXdpdGgtamVtYWxsb2MtYW5kLXlqaXQpKQ0KDQpJIHN1c3BlY3RlZCB0 aGUgW25ldyBOOk0gdGhyZWFkIHNjaGVkdWxlciBpbnRyb2R1Y2VkIGluIDMuM10oaHR0cHM6Ly9n aXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzg2MjkpLCBldmVuIHRob3VnaCBpdCdzICJkaXNhYmxl ZCIgYnkgZGVmYXVsdCBvbiB0aGUgbWFpbiBSYWN0b3IsIHRoaW5raW5nIG1heWJlIHRoZXNlIGNo YW5nZXMgZGVncmFkZWQgYSBiaXQgdGhpcyAocXVpdGUgc3BlY2lmaWMgc2NlbmFyaW8pLiBTbyBJ IGdhdmUgYSBxdWljayB0cnkgd2l0aCB0aGUgZmVhdHVyZSBFTkFCTEVELCB0byBzZWUgaWYgaXQg d291bGQgYXQgbGVhc3QgY2hhbmdlIGFueXRoaW5nIGFuZCBpdCBkaWQgISAodGhvdWdoIG5vdCB3 YXMgSSBleHBlY3RlZCk6DQoNCnxUaHJlYWRzXFJ1Ynl8My4xLjIgfDMuMy41IHwgMy4zLjUgd2l0 aCBSVUJZX01OX1RIUkVBRFM9MSB8DQp8LS18LS18LS18LS18DQp8MSB8IDEzLjdzIHwgMTQuMnMg fCAxNC41cyDinIUgfA0KfDIgfCA5LjdzIHwg4pqg77iPIDMzLjRzIHwgMTIuM3Mg8J+OiSB8DQp8 NCB8IDIzLjJzIHwg4pqg77iPIDM3LjBzIHwgNDAuNXMg8J+nkCB8DQp8OCB8IDIxLjhzIHwg4pqg 77iPIDM5LjdzIHwgMzcuOXMg8J+nkCB8DQp8MTYgfCAyMy4xcyB8IOKaoO+4jyA0MS41cyB8IDM2 LjNzIPCfp5AgfA0KDQoNCihJIGNhbiBtYWtlIGdyYXBocyBmb3IgdGhlc2UgbnVtYmVycyBpZiBp dCBoZWxwcykNCg0KTm93IEknbSBhIGJpdCBzdHVjayBpbiBteSBpbnZlc3RpZ2F0aW9uLCBJJ20g bm90IHN1cmUgd2hhdCBjaGFuZ2UgaW4gMy4zIGNhdXNlZCB0aGlzICh0aGUgbmV3IHRocmVhZCBz Y2hlZHVsZXIgaXMgYSBnb29kIGxlYWQgSU1PKSBvciBpZiBpdCBldmVuIGlzIGEgcmVncmVzc2lv bi4gTWF5YmUgdGhpcyBkb3duc2lkZSBpcyBpbm5ldml0YWJsZSBmb3Igb3RoZXIgYmVuZWZpdHM/ IEkgYW0gaGFwcHkgdG8gY29udHJpYnV0ZSBtb3JlIHRpbWUgdG8gdGhpcyBpc3N1ZSBhbmQgcGVy Zm9ybSBtb3JlIHRlc3RzIGJ1dCBJIHdvdWxkIG5lZWQgc29tZSBndWlkYW5jZSBvbiB3aGF0IGNv dWxkIGJlIGludGVyZXN0aW5nIHRvIHRlc3QsIGZyb20gcGVvcGxlIHdobyB1bmRlcnN0YW5kIGEg Yml0IGJldHRlciB0aGFuIG1lIGhvdyB0aGlzIHdvcmtzIGludGVybmFsbHkuDQoNClRoYW5rcyAh IChhbmQgc29ycnkgZm9yIHRoZSBsb25nIHJlYWQpDQoNCi0tLUZpbGVzLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCkNhcHR1cmUgZOKAmWXMgWNyYW4gMjAyNC0xMC0yNiBhzIAgMTIu MTAuNDUucG5nICgxMzMgS0IpDQpDYXB0dXJlIGTigJllzIFjcmFuIDIwMjQtMTAtMjYgYcyAIDEy LjEwLjU1LnBuZyAoMTA5IEtCKQ0KQ2FwdHVyZSBk4oCZZcyBY3JhbiAyMDI0LTEwLTI2IGHMgCAx Mi4xNC40NC5wbmcgKDEyNyBLQikNCkNhcHR1cmUgZOKAmWXMgWNyYW4gMjAyNC0xMC0yNiBhzIAg MTIuMTQuNTEucG5nICgxMzkgS0IpDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9y Zy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5 LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1 YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3Jn CiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlz dHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv