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_MED,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR,UNPARSEABLE_RELAY,URIBL_GREY shortcircuit=no autolearn=no 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 7CC141F54E for ; Tue, 30 Aug 2022 11:27:35 +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="URXWSqU0"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id F36F812105F; Tue, 30 Aug 2022 20:27:31 +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 A3E6B12105E for ; Tue, 30 Aug 2022 20:27:29 +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:cc; s=smtpapi; bh=rVVkV+BwdyKKHtvJv3WOW4hXo04OQ2aho/srlkMxH+k=; b=URXWSqU00Zi/8OXJ+IUcQR6kpyCHn+EVuewzoq5RDrBlq7xnbvRuQ1YIS7rolz2gAR7q T1VpQJMYFaVlCid7G07ZjS8PQ+6bJIccXgVfTvQKNsc/uazWtEi4WqwRG4efkeDBwQ393x bn3gluEv026DTg9n3fPHqv8yfiUVj92oQ= Received: by filterdrecv-5fb7f79bd6-jxqwf with SMTP id filterdrecv-5fb7f79bd6-jxqwf-1-630DF41E-10 2022-08-30 11:27:26.46837569 +0000 UTC m=+393389.414905639 Received: from herokuapp.com (unknown) by geopod-ismtpd-6-0 (SG) with ESMTP id qUzhOkWwSV65xPq4ixkoOw for ; Tue, 30 Aug 2022 11:27:26.327 +0000 (UTC) Date: Tue, 30 Aug 2022 11:27:26 +0000 (UTC) From: "zverok (Victor Shepelev)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18980 X-Redmine-Issue-Author: k0kubun X-Redmine-Sender: zverok 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: 86229 X-SG-EID: =?us-ascii?Q?vLdgaQzz4KZHZppNimNu6godbwy4DPDfaokKfkcKIsHH9HoWRMTGi1fgazO6QX?= =?us-ascii?Q?U7wgPqm75iWCI6P56xR7c5BTJvbXtPRr6+AwosQ?= =?us-ascii?Q?qMCNTjzWAgI1B0491g9xxQv5xU9aZIfA7PUpP95?= =?us-ascii?Q?nSaJvAvnonXQxv9ZYa3K66hrcKwzjcq1JfbHZYn?= =?us-ascii?Q?9cLNEH3zzUCzjBcFyLovZA64XPN1Gwud5CdzIjV?= =?us-ascii?Q?DD0QmFUOjUWXBD2JO1XlDIp7zKRd1mEW4JE=2FKLh?= =?us-ascii?Q?LPEprJX=2FEqszTCYBmjhkA=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 109788 Subject: [ruby-core:109788] [Ruby master Feature#18980] Re-reconsider numbered parameters: `it` as a default block parameter 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" SXNzdWUgIzE4OTgwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp Lg0KDQoNCj4gaWYgeW91IHdlcmUgYWJsZSB0byBkZXNpZ24gUnVieSBmcm9tIHRoZSBncm91bmQg dXAsIHdvdWxkIHlvdSBzdGlsbCB1c2UgYSBzeW50YXggdGhhdCB5b3UgdGhpbmsgaXMgYSBuYW1l IGNvbXByb21pc2UgYW5kIGxvb2tzIHdlaXJkIGZvciBuZXdjb21lcnM/DQoNCk15ICJkZXNpZ24g c3BhY2UgYW5hbHlzaXMiIHdhcyBzb3VyY2VkIGJ5IHRoZSBzYW1lIGlkZWEuIEkgY2FuIHNheSB0 aGF0IEkgd291bGQgTk9UIGNob29zZSBgaXRgIChvciBhbnkgb3RoZXIgbmFtZSBsb29raW5nICJy ZWd1bGFybHkiKSwgdW5sZXNzIGl0IHdvdWxkIGJlIGEga2V5d29yZCAobGlrZSBgc2VsZmApLCBo YXZpbmcgZXhhY3RseSBvbmUgbWVhbmluZyBhbHdheXMsIGJ1dCBldmVuIHRoZW7igJQgSSBhbSBu b3Qgc3VyZS4NCg0KSSdkIHNheSB0aGF0IGluIHRoaXMgY2FzZSwgSSB3b3VsZCBsaWtlIGBfMWAg ZXZlbiBtb3JlOiBpdCBzdGlsbCBrZWVwcyB0aGUgYmFsYW5jZSBiZXR3ZWVuICJsb29rcyBzcGVj aWFsIiBhbmQgImNvcnJlc3BvbmRzIHRvIHRoZSBydWxlcyBmb3IgbG9jYWwgbmFtZXMsIHNvIGl0 IGlzIHZpc2libGUgaXQgaXMgbG9jYWwiICsgYWxsb3dzIHRvIGRlZmluZSBzZXZlcmFsIGNvbnNl cXVlbnRpYWwgdmFyaWFibGVzOyBidXQsIGJlIGl0IGluIHRoZSBsYW5ndWFnZSBmcm9tIHRoZSBi ZWdpbm5pbmcsIGl0IHdvdWxkbid0IGhhdmUgYSBzb3VyIGZlZWxpbmcgImJ1dCBiZWZvcmUsIHVu ZGVyc2NvcmUgbWVhbnQgJ2Ryb3AgdGhpcyB2YXInISINCg0KSSdkIGFjdHVhbGx5IHNheSB0aGF0 IGl0IGlzIGxlc3MgY29uZnVzaW5nIGZvciBuZXdjb21lcnMgdGhhbiBmb3Igc2Vhc29uZWQgUnVi eWlzdHM7IEkgcmVndWxhcmx5IG9ic2VydmUgeW91bmdlciBjb2xsZWFndWVzIGJlaW5nIGludHJv ZHVjZWQgdG8gdGhlIG5vdGlvbiBhbmQgZ2V0dGluZyB1c2VkIHRvIGl0IGluIGEgYmxpbmsgb2Yg YW4gZXllLg0KDQpJbiBoaW5kc2lnaHQsIEkgYW0gc2FkZGVyIHRoYXQgYF8wYCB3YXMgZHJvcHBl ZCAodG8gbWVhbiAiYWxsIGFyZ3MgdW5zcGxhdHRlZCIgYW5kIGRpc3Rpbmd1aXNoIGZyb20gYF8x YCB3aGljaCB3b3VsZCBhbHdheXMgYmUgImZpcnN0IG9mIGFyZ3MsIHNwbGF0dGVkIikuDQoNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE4OTgwOiBS ZS1yZWNvbnNpZGVyIG51bWJlcmVkIHBhcmFtZXRlcnM6IGBpdGAgYXMgYSBkZWZhdWx0IGJsb2Nr IHBhcmFtZXRlcg0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE4OTgwI2NoYW5n ZS05OTAyNA0KDQoqIEF1dGhvcjogazBrdWJ1biAoVGFrYXNoaSBLb2t1YnVuKQ0KKiBTdGF0dXM6 IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KIyMgUHJvYmxlbQ0KTnVtYmVyZWQgcGFyYW1ldGVycyAoYF8xYCwgYF8yYCwg Li4uKSBsb29rIGxpa2UgdW51c2VkIGxvY2FsIHZhcmlhYmxlcyBhbmQgSSBkb24ndCBmZWVsIG1v dGl2YXRlZCB0byB1c2UgdGhlbSwgZXZlbiB0aG91Z2ggSSBuZWVkIHRoaXMgZmVhdHVyZSB2ZXJ5 IG9mdGVuIGFuZCBhbHdheXMgY29tZSB1cCB3aXRoIGBfMWAuDQoNCmBgYHJiDQpbMSwgMiwgM10u ZWFjaCB7IHB1dHMgXzEgfQ0KYGBgDQoNCkkgaGF2ZSBiYXJlbHkgdXNlZCBpdCBpbiB0aGUgbGFz dCAyfjMgeWVhcnMgYmVjYXVzZSBpdCBsb29rcyBsaWtlIGEgY29tcHJvbWlzZWQgc3ludGF4LiBJ IGV2ZW4gaGVzaXRhdGUgdG8gdXNlIGl0IG9uIElSQi4NCg0KIyMjIFdoeSBJIGRvbid0IHVzZSBg XzFgDQoNCkknbSBub3QgY2xldmVyIGVub3VnaCB0byByZW1lbWJlciB0aGUgb3JkZXIgb2YgcGFy YW1ldGVycy4gVGhlcmVmb3JlLCB3aGVuIGEgYmxvY2sgaGFzIG11bHRpcGxlIHBhcmFtZXRlcnMs IEknZCBhbHdheXMgd2FudCB0byBuYW1lIHRob3NlIHBhcmFtZXRlcnMgYmVjYXVzZSB3aGljaCBp cyBgXzFgIG9yIGBfMmAgaXMgbm90IGltbWVkaWF0ZWx5IG9idmlvdXMuIFRodXMgSSB3b3VsZCB1 c2UgdGhpcyBmZWF0dXJlIG9ubHkgd2hlbiBhIGJsb2NrIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50 LCB3aGljaCBpcyBhY3R1YWxseSBwcmV0dHkgY29tbW9uLiANCg0KSWYgSSB1c2UgYF8xYCwgaXQg ZmVlbHMgbGlrZSB0aGVyZSBtaWdodCBiZSBhIHNlY29uZCBhcmd1bWVudCwgYW5kIHlvdSBtaWdo dCB3YXN0ZSB0aW1lIHRvIHRoaW5rIGFib3V0IGBfMmAsIGV2ZW4gaWYgYF8yYCBkb2Vzbid0IGV4 aXN0LCB3aGljaCBpcyBhIGNvZ25pdGl2ZSBvdmVyaGVhZC4gSWYgeW91IHVzZSBgaXRgLCBpdCBr aW5kYSBpbXBsaWVzIHRoZXJlJ3Mgb25seSBhIHNpbmdsZSBhcmd1bWVudCwgc28geW91IGRvbid0 IG5lZWQgdG8gc3BlbmQgdGltZSByZW1lbWJlcmluZyB3aGV0aGVyIGBfMmAgZXhpc3RzIG9yIG5v dC4gSXQgaXMgaW1wb3J0YW50IGZvciBtZSB0aGF0IHRoZXJlJ3Mgbm8gbnVtYmVyIGluIGBpdGAu DQoNCiMjIFByb3Bvc2FsDQpIb3BpbmcgdG8gaW50cm9kdWNlIGBpdGAgYXMgYW4gYWx0ZXJuYXRp dmUgdG8gYF8xYCBsYXRlciwgZXhwZXJpbWVudCB3aXRoIHdhcm5pbmcgYCNpdGAgbWV0aG9kIGNh bGxzIHdpdGhvdXQgYW55IGFyZ3VtZW50cyBvciBibG9ja3MuDQoNCklmIG5vYm9keSBzZWVzIHNl cmlvdXMgcHJvYmxlbXMgYWZ0ZXIgc29tZSB3YXJuaW5nIHBlcmlvZCwgd2UnbGwgaW1wbGVtZW50 IGBpdGAgYXMgZm9sbG93czoNCg0KIyMjIFNwZWNpZmljYXRpb24NCg0KYGBgcmINClsxLCAyLCAz XS5lYWNoIHsgcHV0cyBpdCB9DQpgYGANCg0KYGl0YHMgYmVoYXZpb3Igc2hvdWxkIGJlIGFzIGNs b3NlIHRvIGBfMWAgYXMgcG9zc2libGUuIGBpdGAgc2hvdWxkIHRyZWF0IGFycmF5IGFyZ3VtZW50 cyBpbiB0aGUgc2FtZSB3YXkgYXMgYF8xYC4gYGl0YCBkb2Vzbid0IHdvcmsgaW4gYSBibG9jayB3 aGVuIGFuIG9yZGluYXJ5IHBhcmFtZXRlciBpcyBkZWZpbmVkLiBgaXRgIGlzIGltcGxlbWVudGVk IGFzIGEgc3BlY2lhbCBjYXNlIG9mIGBnZXRsb2NhbGAgaW5zbiwgbm90IGEgbWV0aG9kLiBgaXRg IHdpdGhvdXQgYW4gYXJndW1lbnQgaXMgY29uc2lkZXJlZCBgXzFgIG9yIGEgbm9ybWFsIGxvY2Fs IHZhcmlhYmxlIGlmIGRlZmluZWQuIGBpdGAgaXMgY29uc2lkZXJlZCBhIG1ldGhvZCBjYWxsIG9u bHkgd2hlbiBpdCBoYXMgYW55IHBvc2l0aW9uYWwva2V5d29yZC9ibG9jayBhcmd1bWVudHMuDQoN CiMjIFBhc3QgZGlzY3Vzc2lvbnMNCiogW0ZlYXR1cmUgIzQ0NzVdIGRlZmF1bHQgdmFyaWFibGUg bmFtZSBmb3IgcGFyYW1ldGVyOiBQcm9wb3NlZCBgaXRgLCBhbmQgbWVyZ2VkIGFzIGBAMWAuDQog ICogMjAxOS8wMy8xMzogW0RldmVsb3BlcnNNZWV0aW5nMjAxOTAzMTFKYXBhbl0oaHR0cHM6Ly9k b2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC9lLzJQQUNYLTF2VFVDbWo3YVVkbk1BZHVuRzBBWm8w QWRXSy05anZmWGNCN0RXWW16R3RtUGMwSXVJUEduN2VMQVJvUjV0QmQ2WFVVQjA4Vy1oSDc0ay1U L3B1YikNCiAgKiAyMDE5LzA0LzE3OiBbRGV2ZWxvcGVyc01lZXRpbmcyMDE5MDQxN0phcGFuXSho dHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFodzZYY2E4YXJHNmIwVjYzenZXbk5F dHhJakVqRVZ6UzEwS1hHaHpacEk4L3B1YikNCiAgKiAyMDE5LzA0LzIwOiBbUnVieSBDb21taXR0 ZXJzIHZzIHRoZSBXb3JsZF0oaHR0cHM6Ly95b3V0dS5iZS81ZUFYQVVUdE5ZVT90PTMxMTgpDQoq IFtGZWF0dXJlICMxNTcyM10gUmVjb25zaWRlciBudW1iZXJlZCBwYXJhbWV0ZXJzOiBSZW5hbWVk IGBAMWAgdG8gYF8xYC4NCiAgKiAyMDE5LzA4LzI5OiBbRGV2ZWxvcGVyc01lZXRpbmcyMDE5MDgy OUphcGFuXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFYeXBETzFjclJWOXVO ZzFfYWp4a2xqVmROOFZkeWw1aG56NDYyYkRRdzM0L2VkaXQ/dXNwPXNoYXJpbmcpDQoqIFtGZWF0 dXJlICMxNTg5N10gYGl0YCBhcyBhIGRlZmF1bHQgYmxvY2sgcGFyYW1ldGVyOiBQcm9wb3NlZCBg aXRgLCBhbmQgZ290IGNsb3NlZCBiZWNhdXNlIGBfMWAgd2FzIG1lcmdlZC4NCg0KIyMjIENvbXBh dGliaWxpdHkNCg0KYGl0YCBoYXMgbm90IG5lY2Vzc2FyaWx5IGJlZW4gcmVqZWN0ZWQgYnkgTWF0 ejsgaGUganVzdCBzYWlkIFtpdCdzIGRpZmZpY3VsdCB0byBrZWVwIGNvbXBhdGliaWxpdHldKGh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy80NDc1I25vdGUtNikgYW5kIFtgaXRgIG9y IGB0aGlzYCBfY291bGRfIGJyZWFrIGV4aXN0aW5nIGNvZGVdKGh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xNTcyMyNub3RlLTIpLiBJdCBmZWVscyBsaWtlIGV2ZXJ5Ym9keSB0aGlu a3MgYGl0YCBpcyB0aGUgbW9zdCBiZWF1dGlmdWwgb3B0aW9uIGJ1dCBpcyBub3Qgc3VyZSBpZiBg aXRgIGJyZWFrcyBjb21wYXRpYmlsaXR5LiBCdXQsIGluIHJlYWxpdHksIGRvZXMgYGl0YD8NCg0K VGhlIGZvbGxvd2luZyBjYXNlcyBoYXZlIGJlZW4gZGlzY3Vzc2VkOg0KDQoqIGBpdGAgbWV0aG9k LCBtb3N0IGZhbW91c2x5IGluIFJTcGVjOiBZb3UgYWxtb3N0IGFsd2F5cyBwYXNzIGEgcG9zaXRp b25hbCBhbmQvb3IgYmxvY2sgYXJndW1lbnQgdG8gUlNwZWMncyBgaXRgLCBzbyB0aGUgY29uZmxp Y3QgaXMgYXZvaWRlZCB3aXRoIG15IHByb3Bvc2FsLiBZb3UgdmlydHVhbGx5IG5ldmVyIHVzZSBh IGNvbXBsZXRlbHkgbmFrZWQgYGl0YCAoW2NvbW1lbnRdKGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnL2lzc3Vlcy8xNTg5NyNub3RlLTI5KSkuDQoqIGBpdGAgbG9jYWwgdmFyaWFibGU6IFdpdGgg dGhlIHNwZWNpZmljYXRpb24gaW4gbXkgcHJvcG9zYWwsIHRoZSBleGlzdGluZyBjb2RlIGNhbiBj b250aW51ZSB0byB3b3JrIGlmIHdlIGNvbnNpZGVyIGBpdGAgYXMgYSBsb2NhbCB2YXJpYWJsZSB3 aGVuIGRlZmluZWQuDQoNCldpdGggdGhlIHNwZWNpZmljYXRpb24gaW4gbXkgcHJvcG9zYWwsIGV4 aXN0aW5nIGNvZGUgc2VlbXMgdG8gYnJlYWsgaWYgYW5kIG9ubHkgaWYgeW91IGNhbGwgYSBtZXRo b2QgYCNpdGAgd2l0aG91dCBhbiBhcmd1bWVudC4gQnV0IGl0IHNlZW1zIHByZXR0eSByYXJlIChy ZW1pbmRlcjogYSBibG9jayBnaXZlbiB0byBhbiBSU3BlYyB0ZXN0IGNhc2UgaXMgYWxzbyBhbiBh cmd1bWVudCkuIEl0IGFsbW9zdCBmZWVscyBsaWtlIHBlb3BsZSBhcmUgdG9vIGFmcmFpZCBvZiBj b21wYXRpYmlsaXR5IHByb2JsZW1zIHRoYXQgYmFyZWx5IGV4aXN0IG9yIGhhdmUgbm90IHJlYWxs eSB0aG91Z2h0IGFib3V0IG9wdGlvbnMgdG8gYWRkcmVzcyB0aGVtLg0KDQpBbHNvLCB5b3UgY291 bGQgYWx3YXlzIGV4cGVyaW1lbnQgd2l0aCBqdXN0IHNob3dpbmcgd2FybmluZ3MsIHdoaWNoIGRv ZXNuJ3QgYnJlYWsgYW55IGNvbXBhdGliaWxpdHkuIEV2ZW4gaWYgaXQgdGFrZXMgMn4zIHllYXJz IG9mIGEgd2FybmluZyBwZXJpb2QsIEknZCBiZSBoYXBweSB0byB1c2UgdGhhdCBpbiAzIHllYXJz Lg0KDQojIyMgQ29uZnVzaW9uDQpXZSBzaG91bGQgc2VwYXJhdGVseSBkaXNjdXNzIGluY29tcGF0 aWJsZSBjYXNlcyBhbmQgIndvcmtzIGJ1dCBjb25mdXNpbmciIGNhc2VzLiBQb3RlbnRpYWwgY29u ZnVzaW9uIHBvaW50czoNCg0KKiBSU3BlYydzIGBpdCAidGVzdHMgc29tZXRoaW5nIiBkbyAuLi4g ZW5kYCB2cyBgaXRgIGluc2lkZSB0aGUgYGRvIC4uLiBlbmRgDQoqIGBpdGAgY291bGQgYmUgYSBs b2NhbCB2YXJpYWJsZSBvciBgXzFgLCBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbg0KDQpNeSB0 d28gY2VudHM6IFlvdSdkIHJhcmVseSBuZWVkIHRvIHdyaXRlIGBpdGAgZGlyZWN0bHkgdW5kZXIg UlNwZWMncyBgaXRgIGJsb2NrLCBhbmQgeW91IHdvdWxkIGp1c3QgbmFtZSBhIGJsb2NrIGFyZ3Vt ZW50IGZvciB0aGF0IGNhc2UuIEluIGEgbmVzdGVkIGJsb2NrIHVuZGVyIGEgdGVzdCBjYXNlLCBJ IGRvbid0IHRoaW5rIHlvdSdkIGZlZWwgYGl0YCBpcyBSU3BlYydzLiBXaGVuIHlvdSB1c2UgYSBs b2NhbCB2YXJpYWJsZSBgaXQgPSAxYCwgeW91J2QgdXNlIHRoZSBsb2NhbCB2YXJpYWJsZSBpbiBh IHZlcnkgc21hbGwgc2NvcGUgb3IgZmV3IGxpbmVzIGJlY2F1c2Ugb3RoZXJ3aXNlLCBpdCdkIGJl IHZlcnkgaGFyZCB0byBmaWd1cmUgb3V0IHdoYXQgdGhlIGxvY2FsIHZhcmlhYmxlIGhhcyBhbnl3 YXkuIFNvIHlvdSdkIGxpa2VseSBzZWUgdGhlIGFzc2lnbm1lbnQgYGl0ID0gMWAgbmVhciB0aGUg dXNlIG9mIHRoZSBsb2NhbCB2YXJpYWJsZSBhbmQgeW91IGNvdWxkIGVhc2lseSBub3RpY2UgYGl0 YCBpcyBub3QgYF8xYC4gSWYgbm90LCBzdWNoIGNvZGUgd291bGQgYmUgY29uZnVzaW5nIGFuZCBm cmFnaWxlIGV2ZW4gd2l0aG91dCB0aGlzIGZlYXR1cmUuIFRoZSBzYW1lIGFwcGxpZXMgd2hlbiBg aXRgIGlzIGEgbWV0aG9kL2Jsb2NrIGFyZ3VtZW50Lg0KDQpJIGJlbGlldmUgaXQgd291bGRuJ3Qg YmUgYXMgY29uZnVzaW5nIGFzIHNvbWUgcGVvcGxlIHRoaW5rLCBhbmQgeW91IGNhbiBhbHdheXMg Y2hvb3NlIHRvIG5vdCB1c2UgYGl0YCBpbiBwbGFjZXMgd2hlcmUgYGl0YCBpcyBjb25mdXNpbmcu DQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0K