From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.5 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 003341F4D8 for ; Sat, 14 May 2022 23:06:59 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sendgrid.me header.i=@sendgrid.me header.b="g/gJtrKc"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id C92041209EB; Sun, 15 May 2022 08:06:57 +0900 (JST) Received: from o1678948x4.outbound-mail.sendgrid.net (o1678948x4.outbound-mail.sendgrid.net [167.89.48.4]) by neon.ruby-lang.org (Postfix) with ESMTPS id 949041209E3 for ; Sun, 15 May 2022 08:06:55 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.me; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to; s=smtpapi; bh=2WIj8yhtoF4m0Xbr0I9lLvCJQYbmPUiJoRQj97oypU4=; b=g/gJtrKcxz2dvdgNcssrinBicbAH09IoaruS9UjgNlwOXQgv5O+cGfuFJJC5DqmWsJA9 mxBh/6/8Vtb+bBkEoo3qljBCFAeCbliho2X26m0xpTxIbCaFH+NdWBoCZ6t4XxJ3LT7C/Z q+U46bsu3tYcAO8JxQRs0tG39ZnS2tfmU= Received: by filterdrecv-74cbf9986b-k4szf with SMTP id filterdrecv-74cbf9986b-k4szf-1-6280360D-1C 2022-05-14 23:06:53.935902232 +0000 UTC m=+3288130.832420642 Received: from herokuapp.com (unknown) by geopod-ismtpd-3-5 (SG) with ESMTP id 5F9rxYr-REWO36JgxYNGMg for ; Sat, 14 May 2022 23:06:53.834 +0000 (UTC) Date: Sat, 14 May 2022 23:06:53 +0000 (UTC) From: "ioquatix (Samuel Williams)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 18782 X-Redmine-Issue-Author: ioquatix X-Redmine-Sender: ioquatix 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: 84922 X-SG-EID: =?us-ascii?Q?RXGrw3WrKfUduNFRrzMMcXYHKEABJI9T84jNjq2g6rBTg=2FXhHIicnPoJUXLutJ?= =?us-ascii?Q?tdNFg7BiEDMUtMCwjaLtb0ItKeRyv3NlZm6AYiJ?= =?us-ascii?Q?s0JX4PMZlU1dmfRZoao=2FYU6tHYbow4ZjuzxCEo1?= =?us-ascii?Q?iq2svFZTmO6n=2FIs6SmDA+JauC3AEVivrqrr9gdU?= =?us-ascii?Q?pottPJAGzGrUbGzXb+9t+jhD3jzADPHuTNc7Ofi?= =?us-ascii?Q?A9EyGEd6=2Fkai+o=2FmvVJNhuTQUhv=2FWYmuhqC2Tv7?= =?us-ascii?Q?UbfL0+99JXUGzbA0Rklhw=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 108553 Subject: [ruby-core:108553] [Ruby master Bug#18782] Race conditions in autoload when loading the same feature with multiple threads. X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Reply-To: Ruby developers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE4NzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaW9xdWF0aXggKFNhbXVlbCBXaWxsaWFt cykuCgpGaWxlIDAwMDUtUmV2ZXJ0LXJlbW92YWwtb2Ytbm9uLWNvbmRpdGlvbmFsLXhmcmVlLnBh dGNoIGFkZGVkCkZpbGUgMDAwNC1JbmNyZWFzZS10aW1lb3V0LWZvci1kZWJ1Zy10ZXN0cy5wYXRj aCBhZGRlZApGaWxlIDAwMDMtUHJvdGVjdC1yYWNlLW9uLWF1dG9sb2FkLXN0YXRlLnBhdGNoIGFk ZGVkCkZpbGUgMDAwMi1QcmV2ZW50LXJhY2UtYmV0d2Vlbi1HQy1tYXJrLWFuZC1hdXRvbG9hZC1z ZXR1cC5wYXRjaCBhZGRlZApGaWxlIDAwMDEtQWRkLVJVQllfVk1fQ1JJVElDQUxfU0VDVElPTi1m b3ItZGV0ZWN0aW5nLXVuZXhwZWN0ZS5wYXRjaCBhZGRlZAoKQG5vcm1hbHBlcnNvbiBJJ3ZlIGF0 dGFjaGVkIHBhdGNoIGZpbGVzLiBJZiB5b3UgaGF2ZSB0aW1lLCBJJ2QgcmVhbGx5IGFwcHJlY2lh dGUgeW91ciBmZWVkYmFjayBvbiB0aGlzLiBTcGVjaWZpY2FsbHksIHBhdGNoIDUgLSBmcmVlaW5n IHRoaXMgdW5jb25kaXRpb25hbGx5IGNhdXNlcyB0aGUgUnVieSBWTSB0byBoYW5nIGluIGB0ZXN0 LWJ1bmRsZXItcGFyYWxsZWxgIGFuZCBJJ20gbm90IHN1cmUgd2h5LiBIZXJlIGlzIGEgYmFja3Ry YWNlIG9mIGEgaHVuZyBwcm9jZXNzOgoKYGBgCiogdGhyZWFkICMxLCBuYW1lID0gJ3J1YnknLCBz dG9wIHJlYXNvbiA9IHNpZ25hbCBTSUdTVE9QCiAgKiBmcmFtZSAjMDogMHgwMDAwN2Y5MWE1MTk3 MmNiIGxpYmMuc28uNmBfX2xsbF9sb2NrX3dhaXRfcHJpdmF0ZSArIDQzCiAgICBmcmFtZSAjMTog MHgwMDAwN2Y5MWE1MWFiNmUwIGxpYmMuc28uNmBfX2xpYmNfY2FsbG9jICsgODE2CiAgICBmcmFt ZSAjMjogMHgwMDAwN2Y5MWE1NTQyODIzIGxkLWxpbnV4LXg4Ni02NC5zby4yYF9kbF9uZXdfb2Jq ZWN0ICsgMTE1CiAgICBmcmFtZSAjMzogMHgwMDAwN2Y5MWE1NTNkZWQzIGxkLWxpbnV4LXg4Ni02 NC5zby4yYF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQgKyAxNzkKICAgIGZyYW1lICM0OiAweDAwMDA3 ZjkxYTU1M2Y3YWMgbGQtbGludXgteDg2LTY0LnNvLjJgX2RsX21hcF9vYmplY3QgKyA1MDgKICAg IGZyYW1lICM1OiAweDAwMDA3ZjkxYTU1NDM1YjkgbGQtbGludXgteDg2LTY0LnNvLjJgZGxfb3Bl bl93b3JrZXJfYmVnaW4gKyAxNjkKICAgIGZyYW1lICM2OiAweDAwMDA3ZjkxYTUyNjdlMTggbGli Yy5zby42YF9kbF9jYXRjaF9leGNlcHRpb24gKyAxMzYKICAgIGZyYW1lICM3OiAweDAwMDA3Zjkx YTU1NDJkN2IgbGQtbGludXgteDg2LTY0LnNvLjJgZGxfb3Blbl93b3JrZXIgKyA1OQogICAgZnJh bWUgIzg6IDB4MDAwMDdmOTFhNTI2N2UxOCBsaWJjLnNvLjZgX2RsX2NhdGNoX2V4Y2VwdGlvbiAr IDEzNgogICAgZnJhbWUgIzk6IDB4MDAwMDdmOTFhNTU0MzE1ZCBsZC1saW51eC14ODYtNjQuc28u MmBfZGxfb3BlbiArIDE3MwogICAgZnJhbWUgIzEwOiAweDAwMDA3ZjkxYTUyNjgyMTEgbGliYy5z by42YGRvX2Rsb3BlbiArIDY1CiAgICBmcmFtZSAjMTE6IDB4MDAwMDdmOTFhNTI2N2UxOCBsaWJj LnNvLjZgX2RsX2NhdGNoX2V4Y2VwdGlvbiArIDEzNgogICAgZnJhbWUgIzEyOiAweDAwMDA3Zjkx YTUyNjdlZTMgbGliYy5zby42YF9kbF9jYXRjaF9lcnJvciArIDUxCiAgICBmcmFtZSAjMTM6IDB4 MDAwMDdmOTFhNTI2ODE3MCBsaWJjLnNvLjZgZGxlcnJvcl9ydW4gKyA2NAogICAgZnJhbWUgIzE0 OiAweDAwMDA3ZjkxYTUyNjgzMmEgbGliYy5zby42YF9fbGliY19kbG9wZW5fbW9kZSArIDc0CiAg ICBmcmFtZSAjMTU6IDB4MDAwMDdmOTFhNTIxZjE5MSBsaWJjLnNvLjZgX19saWJjX3Vud2luZF9s aW5rX2dldCArIDgxCiAgICBmcmFtZSAjMTY6IDB4MDAwMDdmOTFhNTIyYzg2NyBsaWJjLnNvLjZg X19iYWNrdHJhY2UgKyAzOQogICAgZnJhbWUgIzE3OiAweDAwMDA1NjU0MmQ3MGRlMTcgcnVieWBy Yl92bV9idWdyZXBvcnQgYXQgdm1fZHVtcC5jOjc2MjoxMwogICAgZnJhbWUgIzE4OiAweDAwMDA1 NjU0MmQ3YTQ1NGEgcnVieWByYl9idWdfZm9yX2ZhdGFsX3NpZ25hbCBhdCBlcnJvci5jOjgyMjo1 CiAgICBmcmFtZSAjMTk6IDB4MDAwMDU2NTQyZDY2M2M0OSBydWJ5YHNpZ3NlZ3Yoc2lnPTx1bmF2 YWlsYWJsZT4sIGluZm89PHVuYXZhaWxhYmxlPiwgY3R4PTx1bmF2YWlsYWJsZT4pIGF0IHNpZ25h bC5jOjk2NDo1CiAgICBmcmFtZSAjMjA6IDB4MDAwMDdmOTFhNTE0ZjU2MCBsaWJjLnNvLjZgX19y ZXN0b3JlX3J0CiAgICBmcmFtZSAjMjE6IDB4MDAwMDdmOTFhNTFhNmVmMSBsaWJjLnNvLjZgbWFs bG9jX2NvbnNvbGlkYXRlICsgMjU3CiAgICBmcmFtZSAjMjI6IDB4MDAwMDdmOTFhNTFhODQ1MCBs aWJjLnNvLjZgX2ludF9mcmVlICsgMjAzMgogICAgZnJhbWUgIzIzOiAweDAwMDA3ZjkxYTUxYWFi ZTMgbGliYy5zby42YGZyZWUgKyAxMTUKICAgIGZyYW1lICMyNDogMHgwMDAwN2Y5MWExOTQ4MmJk IGxpYnlhbWwtMC5zby4yYHlhbWxfcGFyc2VyX2RlbGV0ZSArIDc3CiAgICBmcmFtZSAjMjU6IDB4 MDAwMDdmOTFhNGM0OWJiOSBwc3ljaC5zb2BkZWFsbG9jKHB0cj0weDAwMDA1NjU0MmVmYmYwZTAp IGF0IHBzeWNoX3BhcnNlci5jOjQ4OjUKICAgIGZyYW1lICMyNjogMHgwMDAwNTY1NDJkNTI1YTJj IHJ1YnlgZmluYWxpemVfZGVmZXJyZWRfaGVhcF9wYWdlcyBhdCBnYy5jOjQyNDE6MgogICAgZnJh bWUgIzI3OiAweDAwMDA1NjU0MmQ1MzA3ZjYgcnVieWByYl9vYmpzcGFjZV9jYWxsX2ZpbmFsaXpl ciBhdCBnYy5jOjQ0Mjc6NQogICAgZnJhbWUgIzI4OiAweDAwMDA1NjU0MmQ1MDlkZTAgcnVieWBy Yl9lY19jbGVhbnVwIGF0IGV2YWwuYzoxNjQ6NQogICAgZnJhbWUgIzI5OiAweDAwMDA1NjU0MmQ1 MGE2NWMgcnVieWBydWJ5X3J1bl9ub2RlIGF0IGV2YWwuYzozMjE6MTIKICAgIGZyYW1lICMzMDog MHgwMDAwNTY1NDJkNTA0MWZhIHJ1YnlgcmJfbWFpbihhcmdjPTcsIGFyZ3Y9MHgwMDAwN2ZmZWZm ZWE3ZTQ4KSBhdCBtYWluLmM6NDc6OQogICAgZnJhbWUgIzMxOiAweDAwMDA1NjU0MmQ1MDQyMzAg cnVieWBtYWluKGFyZ2M9NywgYXJndj0weDAwMDA3ZmZlZmZlYTdlNDgpIGF0IG1haW4uYzo1Njox MAogICAgZnJhbWUgIzMyOiAweDAwMDA3ZjkxYTUxM2EzMTAgbGliYy5zby42YF9fbGliY19zdGFy dF9jYWxsX21haW4gKyAxMjgKICAgIGZyYW1lICMzMzogMHgwMDAwN2Y5MWE1MTNhM2MxIGxpYmMu c28uNmBfX2xpYmNfc3RhcnRfbWFpbkBAR0xJQkNfMi4zNCArIDEyOQogICAgZnJhbWUgIzM0OiAw eDAwMDA1NjU0MmQ1MDQwOTUgcnVieWBfc3RhcnQgKyAzNwpgYGAKCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQnVnICMxODc4MjogUmFjZSBjb25kaXRpb25zIGluIGF1 dG9sb2FkIHdoZW4gbG9hZGluZyB0aGUgc2FtZSBmZWF0dXJlIHdpdGggbXVsdGlwbGUgdGhyZWFk cy4KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4NzgyI2NoYW5nZS05NzU5MwoK KiBBdXRob3I6IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlhbXMpCiogU3RhdHVzOiBPcGVuCiogUHJp b3JpdHk6IE5vcm1hbAoqIEJhY2twb3J0OiAyLjc6IFVOS05PV04sIDMuMDogVU5LTk9XTiwgMy4x OiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSSBoYXZl IGlkZW50aWZpZWQgc2V2ZXJhbCByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIGF1dG9sb2FkIGNvZGUu CgoxLiBJdCdzIHBvc3NpYmxlIHRvIHJhY2Ugb24gYWRkaW5nIGFuZCB0aGVuIGRlbGV0aW5nIGl0 ZW1zIGluIGBhdXRvbG9hZF9mZWF0dXJlbWFwYC4gV2hlbiB0aGlzIGhhcHBlbnMsIHR3byB0aHJl YWRzIHdpbGwgdHJ5IHRvIGxvYWQgdGhlIHNhbWUgZmlsZSB3aXRoIGRpZmZlcmVudCBhdXRvbG9h ZCBkYXRhIGFuZCBkZWFkbG9jay4KMi4gV2hlbiBmaW5pc2hpbmcgYXV0b2xvYWQsIGl0J3MgbmVj ZXNzYXJ5IHRvIGNsZWFyIGBlbGUtPnN0YXRlYCBiZWZvcmUgc2V0dGluZyBjb25zdGFudHMuIElm IHRoaXMgaXMgbm90IHN5bmNocm9uaXNlZCwgYSB0aHJlYWQgY2FuIHNlZSB0aGUgY2xlYXJlZCBg ZWxlLT5zdGF0ZWAgYmVmb3JlIHNlZWluZyB0aGUgY29uc3RhbnRzIGFuZCBhc3N1bWUgdGhlIGNv bnN0YW50IGlzIG5vdCBiZWluZyBhdXRvbG9hZGVkIGFuZCB0aGVuIGZhaWwgd2l0aCBgTmFtZUVy cm9yYC4KClRoaXMgdGVzdCBjYXNlIGNhbiByZXByb2R1Y2UgYm90aCBjYXNlczoKCmBgYAojIHRl c3QucmIKYXV0b2xvYWRfcGF0aCA9IEZpbGUuam9pbihfX2Rpcl9fLCAiZm9vYmFyLnJiIikKRmls ZS53cml0ZShhdXRvbG9hZF9wYXRoLCAnbW9kdWxlIEZvbzsgZW5kOyBtb2R1bGUgQmFyOyBlbmQn KQoKMTAwXzAwMC50aW1lcyBkbwoJJHN0ZGVyci5wdXRzICItLS0tLS0tLS0tLS0tLS0tLS0tLSIK CWF1dG9sb2FkIDpGb28sIGF1dG9sb2FkX3BhdGgKCWF1dG9sb2FkIDpCYXIsIGF1dG9sb2FkX3Bh dGgKCgl0MSA9IFRocmVhZC5uZXcge0Zvb30KCXQyID0gVGhyZWFkLm5ldyB7QmFyfQoKCXQxLmpv aW4KCXQyLmpvaW4KCglPYmplY3Quc2VuZCg6cmVtb3ZlX2NvbnN0LCA6Rm9vKQoJT2JqZWN0LnNl bmQoOnJlbW92ZV9jb25zdCwgOkJhcikKCgkkTE9BREVEX0ZFQVRVUkVTLmRlbGV0ZShhdXRvbG9h ZF9wYXRoKQplbmQKYGBgCgpFeGFtcGxlIGZhaWx1cmUgb2YgY2FzZSAoMSk6CgpgYGAKLS0tLS0t LS0tLS0tLS0tLS0tLS0gKHN1Y2Nlc3MpCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9MHg1 NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0obmlsKQphdXRvbG9hZF9ieV9zb21lb25lX2Vsc2UgZWxl PTB4NTVmMzNiODA2YTMwIGVsZS0+c3RhdGU9KG5pbCkKY2hlY2tfYXV0b2xvYWRfcmVxdWlyZWQg MgphdXRvbG9hZF9ieV9zb21lb25lX2Vsc2UgZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+c3RhdGU9 MHg3ZmRkNjc4YmU3ODAKY2hlY2tfYXV0b2xvYWRfcmVxdWlyZWQgNAphdXRvbG9hZF9ieV9zb21l b25lX2Vsc2UgZWxlPTB4NTVmMzNiODA2YTMwIGVsZS0+c3RhdGU9MHg3ZmRkNjc4YmU3ODAKY2hl Y2tfYXV0b2xvYWRfcmVxdWlyZWQgNAplbGU9MHg1NWYzM2I4MDZhMzAgZWxlLT5zdGF0ZT0weDdm ZGQ2NzhiZTc4MCA9IE5VTEwKY2hlY2tfYXV0b2xvYWRfcmVxdWlyZWQgNAotLS0tLS0tLS0tLS0t LS0tLS0tLSAoZmFpbHVyZSkKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgw NmEzMCBlbGUtPnN0YXRlPShuaWwpCmF1dG9sb2FkX2J5X3NvbWVvbmVfZWxzZSBlbGU9MHg1NWYz M2I2ZThmNDAgZWxlLT5zdGF0ZT0obmlsKQpjaGVja19hdXRvbG9hZF9yZXF1aXJlZCAyCmNoZWNr X2F1dG9sb2FkX3JlcXVpcmVkIDMKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMz YjgwNmEzMCBlbGUtPnN0YXRlPTB4N2ZkZDY3NzlkNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVk IDEKYXV0b2xvYWRfYnlfc29tZW9uZV9lbHNlIGVsZT0weDU1ZjMzYjgwNmEzMCBlbGUtPnN0YXRl PTB4N2ZkZDY3NzlkNzgwCmNoZWNrX2F1dG9sb2FkX3JlcXVpcmVkIDEKZWxlPTB4NTVmMzNiODA2 YTMwIGVsZS0+c3RhdGU9MHg3ZmRkNjc3OWQ3ODAgPSBOVUxMCmVsZT0weDU1ZjMzYjZlOGY0MCBl bGUtPnN0YXRlPTB4N2ZkZDY3OGJlNzgwID0gTlVMTAouLi90ZXN0LnJiOjEyOmluIGBqb2luJzog Tm8gbGl2ZSB0aHJlYWRzIGxlZnQuIERlYWRsb2NrPyAoZmF0YWwpCjMgdGhyZWFkcywgMyBzbGVl cHMgY3VycmVudDoweDAwMDA1NWYzM2I3NzEyNTAgbWFpbiB0aHJlYWQ6MHgwMDAwNTVmMzNiNjZl MDkwCiogIzxUaHJlYWQ6MHgwMDAwN2ZkZDZhMmNiMGIwIHNsZWVwX2ZvcmV2ZXI+CiAgIHJiX3Ro cmVhZF90OjB4MDAwMDU1ZjMzYjY2ZTA5MCBuYXRpdmU6MHgwMDAwN2ZkZDZhNzFjM2MwIGludDow CiAgIAoqICM8VGhyZWFkOjB4MDAwMDdmZGQ2NzZlMDA5MCAuLi90ZXN0LnJiOjkgc2xlZXBfZm9y ZXZlcj4KICAgcmJfdGhyZWFkX3Q6MHgwMDAwNTVmMzNiNzcwZmYwIG5hdGl2ZToweDAwMDA3ZmRk Njc4OWU2NDAgaW50OjEgbXV0ZXg6MHgwMDAwNTVmMzNiN2M1MTAwIGNvbmQ6MQogICAgZGVwZW5k ZWQgYnk6IHRiX3RocmVhZF9pZDoweDAwMDA1NWYzM2I2NmUwOTAKICAgCiogIzxUaHJlYWQ6MHgw MDAwN2ZkZDY3NmUxMjM4IC4uL3Rlc3QucmI6MTAgc2xlZXBfZm9yZXZlcj4KICAgcmJfdGhyZWFk X3Q6MHgwMDAwNTVmMzNiNzcxMjUwIG5hdGl2ZToweDAwMDA3ZmRkNjc5YmY2NDAgaW50OjAKICAg CgoJZnJvbSAuLi90ZXN0LnJiOjEyOmluIGBibG9jayBpbiA8bWFpbj4nCglmcm9tIC4uL3Rlc3Qu cmI6NDppbiBgdGltZXMnCglmcm9tIC4uL3Rlc3QucmI6NDppbiBgPG1haW4+JwptYWtlOiAqKiog W3VuY29tbW9uLm1rOjEyNTA6IHJ1bnJ1YnldIEVycm9yIDEKYGBgCgpFeGFtcGxlIGZhaWx1cmUg b2YgY2FzZSAoMik6CgpgYGAKWzB4N2YxNzVmZTViMGM4XSByYl9hdXRvbG9hZF9zdHIgbW9kPU9i amVjdCBpZD1Gb28gZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4L3J1YnkvZm9v YmFyLnJiIgpbMHg3ZjE3NWZlNWIwYzhdIHJiX2F1dG9sb2FkX3N0ciBjb25zdF9zZXQgbW9kPU9i amVjdCBpZD1Gb28gZmlsZT0iL2hvbWUvc2FtdWVsL1Byb2plY3RzL2lvcXVhdGl4L3J1YnkvZm9v YmFyLnJiIgpbMHg3ZjE3NWZlNWIwYzhdIHJiX2F1dG9sb2FkX3N0ciBtb2Q9T2JqZWN0IGlkPUJh ciBmaWxlPSIvaG9tZS9zYW11ZWwvUHJvamVjdHMvaW9xdWF0aXgvcnVieS9mb29iYXIucmIiClsw eDdmMTc1ZmU1YjBjOF0gcmJfYXV0b2xvYWRfc3RyIGNvbnN0X3NldCBtb2Q9T2JqZWN0IGlkPUJh ciBmaWxlPSIvaG9tZS9zYW11ZWwvUHJvamVjdHMvaW9xdWF0aXgvcnVieS9mb29iYXIucmIiClsw eDdmMTc1ZmU2MWQ4OF0gcmJfY29uc3Rfc2VhcmNoX2Zyb20gdmFsdWUgPT0gUXVuZGVmIC0+IGF1 dG9sb2FkaW5nClsweDdmMTc1ZmU2MWU3OF0gcmJfY29uc3Rfc2VhcmNoX2Zyb20gdmFsdWUgPT0g UXVuZGVmIC0+IGF1dG9sb2FkaW5nClsweDdmMTc1ZmU2MWU3OF0gQXNzaWduaW5nIGNvbnN0YW50 cy4uLgpbMHg3ZjE3NWZlNjFkODhdIHJiX2NvbnN0X3NlYXJjaF9mcm9tIHZhbHVlID09IFF1bmRl ZiAtPiBhdXRvbG9hZGluZwpbMHg3ZjE3NWZlNjFlNzhdIGF1dG9sb2FkX2NvbnN0X3NldCBuYW1l PTpGb28gdmFsdWU9Rm9vClsweDdmMTc1ZmU2MWU3OF0gYXV0b2xvYWRfY29uc3Rfc2V0IG5hbWU9 OkJhciB2YWx1ZT1CYXIKIzxUaHJlYWQ6MHgwMDAwN2YxNzVmZTYxZDg4IC4uL3Rlc3QucmI6MTEg cnVuPiB0ZXJtaW5hdGVkIHdpdGggZXhjZXB0aW9uIChyZXBvcnRfb25fZXhjZXB0aW9uIGlzIHRy dWUpOgouLi90ZXN0LnJiOjExOmluIGBibG9jayAoMiBsZXZlbHMpIGluIDxtYWluPic6IHVuaW5p dGlhbGl6ZWQgY29uc3RhbnQgQmFyIChOYW1lRXJyb3IpCi4uL3Rlc3QucmI6MTE6aW4gYGJsb2Nr ICgyIGxldmVscykgaW4gPG1haW4+JzogdW5pbml0aWFsaXplZCBjb25zdGFudCBCYXIgKE5hbWVF cnJvcikKbWFrZTogKioqIFt1bmNvbW1vbi5tazoxMjUwOiBydW5ydWJ5XSBFcnJvciAxCmBgYAoK VGhlc2UgZmFpbHVyZXMgYXJlIHZlcnkgdW5jb21tb24gYnV0IGl0IGRvZXMgaW1wYWN0IFJ1Ynkg YXMgZmFyIGJhY2sgYXMgMi43LCBhbmQgcHJvYmFibHkgZWFybGllci4KCi0tLUZpbGVzLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMDAwMS1BZGQtUlVCWV9WTV9DUklUSUNBTF9TRUNU SU9OLWZvci1kZXRlY3RpbmctdW5leHBlY3RlLnBhdGNoICgyLjA3IEtCKQowMDAyLVByZXZlbnQt cmFjZS1iZXR3ZWVuLUdDLW1hcmstYW5kLWF1dG9sb2FkLXNldHVwLnBhdGNoICgxLjAxIEtCKQow MDAzLVByb3RlY3QtcmFjZS1vbi1hdXRvbG9hZC1zdGF0ZS5wYXRjaCAoMTAuNiBLQikKMDAwNC1J bmNyZWFzZS10aW1lb3V0LWZvci1kZWJ1Zy10ZXN0cy5wYXRjaCAoOTEwIEJ5dGVzKQowMDA1LVJl dmVydC1yZW1vdmFsLW9mLW5vbi1jb25kaXRpb25hbC14ZnJlZS5wYXRjaCAoNjkxIEJ5dGVzKQoK Ci0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8K