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.7 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS 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 1D98F1F463 for ; Sun, 22 Sep 2019 22:21:44 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id DC6851209A2; Mon, 23 Sep 2019 07:21:34 +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 F1265120992 for ; Mon, 23 Sep 2019 07:21:32 +0900 (JST) Received: by filter0035p3iad2.sendgrid.net with SMTP id filter0035p3iad2-18447-5D87F3EC-32 2019-09-22 22:21:32.522383588 +0000 UTC m=+277022.608281783 Received: from herokuapp.com (unknown [54.224.117.74]) by ismtpd0003p1iad2.sendgrid.net (SG) with ESMTP id kCQ4-QAXTgq0-iWrYG9rlg for ; Sun, 22 Sep 2019 22:21:32.409 +0000 (UTC) Date: Sun, 22 Sep 2019 22:21:32 +0000 (UTC) From: merch-redmine@jeremyevans.net Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 70594 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 16168 X-Redmine-Issue-Author: jeremyevans0 X-Redmine-Sender: jeremyevans0 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-SG-EID: =?us-ascii?Q?RVE3t853K5scBhbmJHUzZTFFeVC=2FZSUmHZ0Dc+26wcEi2CTgsF1oz0wTSSxGGN?= =?us-ascii?Q?BI9pMnGS3spkxdYxaxPMzEto7KWecFuQC=2FwDSJb?= =?us-ascii?Q?e2QRpxhe3LnhsV=2FrpRlSLh8efkd2lyvrIVvgjEd?= =?us-ascii?Q?k+53etwRHp3Hzhpcwpy3jXE3EnwiNp1gkBS6Vni?= =?us-ascii?Q?=2FRvkQs9QaciSov1ikUHcsZuLGav3JfanqSg=3D=3D?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 95039 Subject: [ruby-core:95039] [Ruby master Feature#16168] Add keyword argument separation to C functions using rb_scan_args X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE2MTY4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgamVyZW15ZXZhbnMwIChKZXJlbXkgRXZh bnMpLg0KDQoNCkF0IHRoZSBsYXN0IGRldmVsb3BlciBtZWV0aW5nLCBtYXR6IHJlcXVlc3RlZCB0 aGF0IGluc3RlYWQgb2YgImsiLCAiZSIsIGFuZCAibiIgbW9kaWZpZXJzIHRvIGByYl9zY2FuX2Fy Z3NgLCBhIG5ldyBgcmJfc2Nhbl9hcmdzX2t3YCBtZXRob2QgYmUgYWRkZWQgZm9yIHRoYXQgYmVo YXZpb3IuICBJIGhhdmUgdXBkYXRlZCB0aGUgcHVsbCByZXF1ZXN0IHRvIGFkZCB0aGF0IG1ldGhv ZC4NCg0KbWF0eiBhbHNvIGhhZCBhIHF1ZXN0aW9uOg0KDQpgYGANCldoeSBpcyByYl9zY2FuX2Fy Z3MoIjoiKSB0cmVhdGVkIGFzIGRlZiBmb28ob3B0ID0ge30pPyBJZiB0aGVyZSBpcyBubyBzcGVj aWFsIHJlYXNvbiwgSeKAmWQgbGlrZSB0byBoYW5kbGUgaXQgYXMgZGVmIGZvbygqKm9wdCkNCmBg YA0KDQpUaGUgYmVuZWZpdCBvZiB0cmVhdGluZyBpdCBhcyBgb3B0ID0ge31gIGlzIHRoYXQgaXQg aXMgYmV0dGVyIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGNvZGUs IGJlY2F1c2UgeW91IGNhbiBjb250aW51ZSB0byBwYXNzIGluIGEgaGFzaCBpbnN0ZWFkIG9mIGEg a2V5d29yZCBzcGxhdC4gIFBhc3NpbmcgaW4gYSBoYXNoIGlzIGFsc28gYmV0dGVyIGZvciBwZXJm b3JtYW5jZSwgYXMgYSBrZXl3b3JkIHNwbGF0IHJlcXVpcmVzIGEgaGFzaCBhbGxvY2F0aW9uLg0K DQpUaGUgYmVuZWZpdCBvZiB0cmVhdGluZyBpdCBhcyBgKipvcHRgIGlzIHRoYXQgeW91IGNvdWxk IGFkZCBvcHRpb25hbCBvciB2YXJpYWJsZSBhcmd1bWVudHMgdG8gdGhlIG1ldGhvZCBsYXRlciBh bmQgcmV0YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LiAgSWYgeW91IHRyZWF0IGl0IGFzIGBv cHQgPSB7fWAsIHRoZW4gYWRkaW5nIG9wdGlvbmFsIG9yIHZhcmlhYmxlIGFyZ3VtZW50cyB3b3Vs ZCBub3QgYmUgYmFja3dhcmRzIGNvbXBhdGlibGUuDQoNCklmIGEgbWV0aG9kIGFjY2VwdHMgb3B0 aW9uYWwgb3IgdmFyaWFibGUgYXJndW1lbnRzIGFuZCB0aGUgbWV0aG9kIGFjY2VwdHMga2V5d29y ZCBhcmd1bWVudHMsIHlvdSBjYW5ub3QgdHJlYXQgYDpgIGFzIGBvcHQgPSB7fWAgYXMgaXQgd291 bGQgbm90IGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlLiAgQWxzbywgbWV0aG9kcyB0aGF0IGFjY2Vw dCBvcHRpb25hbCBvciB2YXJpYWJsZSBhcmd1bWVudHMgYW5kIGtleXdvcmQgYXJndW1lbnRzIGFy ZSB0aGUgbWFpbiBzb3VyY2Ugb2YgaXNzdWVzIHdpdGgga2V5d29yZHMsIGFuZCB0aGUgcHJpbWFy eSByZWFzb24gd2UgYXJlIGludHJvZHVjaW5nIGtleXdvcmQgYXJndW1lbnQgc2VwYXJhdGlvbi4N Cg0KVHJlYXRpbmcgYDpgIGFzIGAqKm9wdGAgaW4gbWV0aG9kcyB0aGF0IG90aGVyd2lzZSBvbmx5 IGFjY2VwdCBtYW5kYXRvcnkgYXJndW1lbnRzIHJlcXVpcmVzIGNoYW5naW5nIGFsbCBjYWxsIHNp dGVzIHRoYXQgcGFzcyBpbiBhIHBvc2l0aW9uYWwgaGFzaCB0byBwYXNzIGEga2V5d29yZCBzcGxh dC4gIFRoaXMgY2F1c2VzIGFkZGl0aW9uYWwgd29yayB3aGVuIHVwZ3JhZGluZyBSdWJ5LCBpdCBo dXJ0cyBwZXJmb3JtYW5jZSwgYW5kIGl0IGNhbiBhY3R1YWxseSBjaGFuZ2UgYmVoYXZpb3IsIGJl Y2F1c2UgdGhlIGVtcHR5IGtleXdvcmQgc3BsYXQgYW5kIGFuIGVtcHR5IGhhc2ggY2FuIGJlIHRy ZWF0ZWQgZGlmZmVyZW50bHkgYnkgdGhlIGNvZGUuICBUaGF0J3MgbGlrZWx5IHRvIGJlIGEgYnVn IGluIHRoZSByZWxhdGVkIGNvZGUsIGJ1dCBpdCBpcyBnb2luZyB0byBoYXBwZW4sIGFuZCBhY3R1 YWxseSBkb2VzIGhhcHBlbiBpbiBzdGRsaWIgKGluIHRoZSBqc29uIGxpYnJhcnkpLg0KDQpBcyBh IHRlc3QsIEkgd29ya2VkIG9uIGFsd2F5cyB0cmVhdGluZyBgOmAgYXMgYCoqb3B0YCwgYW5kIHRo ZSBjaGFuZ2VzIG5lY2Vzc2FyeSB0byBnZXQgYG1ha2UgY2hlY2tgIHBhc3Npbmcgd2VyZSBub3Qg dGhhdCBleHRlbnNpdmUgKHdoaWNoIHN1cnByaXNlZCBtZSkuICBJZiB5b3Ugd2FudCB0byB0cnkg b3V0IHRoaXMgYmVoYXZpb3IsIEkgaGF2ZSBhZGRlZCBhIGJyYW5jaCBvbiBHaXRIdWIgZm9yIGl0 OiBodHRwczovL2dpdGh1Yi5jb20vamVyZW15ZXZhbnMvcnVieS90cmVlL3JiX3NjYW5fYXJncy1j b2xvbi1hbHdheXMta2V5d29yZA0KDQpJIHN0aWxsIHJlY29tbWVuZCB0cmVhdGluZyBgOmAgYXMg YG9wdD17fWAgZm9yIG1ldGhvZHMgdGhhdCBkbyBub3QgYWNjZXB0IG9wdGlvbmFsIG9yIHZhcmlh YmxlIGFyZ3VtZW50cywgYXMgSSB0aGluayBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4 aXN0aW5nIGNvZGUgYW5kIGJldHRlciBwZXJmb3JtYW5jZSBvdXR3ZWlnaCB0aGUgYWJpbGl0eSB0 byBhZGQgb3B0aW9uYWwgb3IgdmFyaWFibGUgYXJndW1lbnRzIGxhdGVyIGluIGEgYmFja3dhcmRz IGNvbXBhdGlibGUgbWFubmVyLiAgSG93ZXZlciwgdHJlYXRpbmcgYDpgIGFsd2F5cyBhcyBgKipv cHRgIG1heSBiZSBtb3JlIGNvbnNpc3RlbnQuICBXaGF0ZXZlciB0aGUgZGVjaXNpb24gaXMsIGhv cGVmdWxseSB0aGUgZGVjaXNpb24gb24gdGhpcyBjYW4gYmUgbWFkZSBiZWZvcmUgMi43LjAgcHJl dmlldzIgaXMgcmVsZWFzZWQuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCkZlYXR1cmUgIzE2MTY4OiBBZGQga2V5d29yZCBhcmd1bWVudCBzZXBhcmF0aW9uIHRv IEMgZnVuY3Rpb25zIHVzaW5nIHJiX3NjYW5fYXJncw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzE2MTY4I2NoYW5nZS04MTY3MA0KDQoqIEF1dGhvcjogamVyZW15ZXZhbnMwIChK ZXJlbXkgRXZhbnMpDQoqIFN0YXR1czogT3Blbg0KKiBQcmlvcml0eTogTm9ybWFsDQoqIEFzc2ln bmVlOiANCiogVGFyZ2V0IHZlcnNpb246IA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KTW9zdCBSdWJ5IG1ldGhvZHMgaW1wbGVtZW50ZWQgYXMgQyBmdW5jdGlvbnMg dGhhdCBhY2NlcHQgYSB2YXJpYWJsZSBudW1iZXIgb2YgYXJndW1lbnRzIHVzZSByYl9zY2FuX2Fy Z3MgZm9yIGFyZ3VtZW50IGhhbmRsaW5nLiAgcmJfc2Nhbl9hcmdzIHN1cHBvcnRzIGEgYDpgIGNo YXJhY3RlciBmb3Igb3B0aW9uIGhhc2gva2V5d29yZCBhcmd1bWVudHMsIHRoYXQgb3BlcmF0ZXMg c2ltaWxhcmx5IHRvIGhvdyBrZXl3b3JkIGFyZ3VtZW50cyB3b3JrIGZvciBSdWJ5IG1ldGhvZHMg aW4gUnVieSAyLjYuDQoNCklmIGEgQyBmdW5jdGlvbiBhY2NlcHRzIG9wdGlvbmFsIG9yIHZhcmlh YmxlIGFyZ3VtZW50cyBpbiBhZGRpdGlvbiB0byB0aGUgb3B0aW9uIGhhc2gva2V5d29yZCBhcmd1 bWVudHMsIHRoZSBrZXl3b3JkIGFyZ3VtZW50IGlzc3VlcyBkaXNjdXNzZWQgaW4gIzE0MTgzIGFs c28gYXBwbHkuICBJZiB0aGUgQyBmdW5jdGlvbiBvbmx5IGFjY2VwdHMgbWFuZGF0b3J5IGFyZ3Vt ZW50cyBhbmQgYW4gb3B0aW9uIGhhc2gsIHRoZW4gdGhlIGFyZ3VtZW50IGhhbmRsaW5nIGlzIG5v dCBhbWJpZ3VvdXMsIGFuZCB0aGVyZSBzaG91bGRuJ3QgYmUgaXNzdWVzIHdpdGggaXQuICBGb3Ig dGhpcyByZWFzb24sIEkgcHJvcG9zZSB0byBjaGFuZ2UgcmJfc2Nhbl9hcmdzIHNvIHRoYXQgaWYg YDpgIGlzIHVzZWQgd2l0aCBvcHRpb25hbCBvciB2YXJpYWJsZSBhcmd1bWVudHMsIGl0IGlzIHRy ZWF0ZWQgYXMga2V5d29yZHMgKGtleXdvcmQgbW9kZSksIHdoZXJlYXMgaWYgb25seSB1c2VkIHdp dGggbWFuZGF0b3J5IGFyZ3VtZW50cywgaXQgaXMgdHJlYXRlZCBhcyBhbiBvcHRpb25hbCBwb3Np dGlvbmFsIGFyZ3VtZW50IChyZWd1bGFyIG1vZGUpLg0KDQpGb3IgZXhhbXBsZSwgSSB3b3VsZCBs aWtlIHRvIHRyZWF0IHRoZSBmb2xsb3dpbmcgcmJfc2Nhbl9hcmdzIGNhbGxzIHNpbWlsYXIgdG8g dGhlIGZvbGxvd2luZyBSdWJ5IG1ldGhvZCBkZWZpbml0aW9uczoNCg0KYGBgDQpyYl9zY2FuX2Fy Z3MoYXJnYywgYXJndiwgIjoiLCAuLi4pICAgICAjIGRlZiBmb28ob3B0cyA9IHt9KQ0KcmJfc2Nh bl9hcmdzKGFyZ2MsIGFyZ3YsICIxOiIsIC4uLikgICAgIyBkZWYgZm9vKHYxLCBvcHRzID0ge30p DQoNCnJiX3NjYW5fYXJncyhhcmdjLCBhcmd2LCAiMDE6IiwgLi4uKSAgICMgZGVmIGZvbyh2MT1u aWwsICoqb3B0cykNCnJiX3NjYW5fYXJncyhhcmdjLCBhcmd2LCAiMTE6IiwgLi4uKSAgICMgZGVm IGZvbyh2MSwgdjI9bmlsLCAqKm9wdHMpDQoNCnJiX3NjYW5fYXJncyhhcmdjLCBhcmd2LCAiKjoi LCAuLi4pICAgICMgZGVmIGZvbygqYXJncywgKipvcHRzKQ0KcmJfc2Nhbl9hcmdzKGFyZ2MsIGFy Z3YsICIxKjoiLCAuLi4pICAgIyBkZWYgZm9vKHYxLCAqYXJncywgKipvcHRzKQ0KcmJfc2Nhbl9h cmdzKGFyZ2MsIGFyZ3YsICIwMSo6IiwgLi4uKSAgIyBkZWYgZm9vKHYxPW5pbCwgKmFyZ3MsICoq b3B0cykNCnJiX3NjYW5fYXJncyhhcmdjLCBhcmd2LCAiMTEqOiIsIC4uLikgICMgZGVmIGZvbyh2 MSwgdjI9bmlsLCAqYXJncywgKipvcHRzKQ0KYGBgDQoNCkluIDIuNywgSSB3b3VsZCBsaWtlIHRv IGtlZXAgcmJfc2Nhbl9hcmdzIGJlaGF2aW9yIHRoZSBzYW1lIGFzIGl0IGlzIG5vdywgYnV0IGFk ZCB3YXJuaW5ncyBmb3IgY2FzZXMgdGhhdCB3aWxsIGNoYW5nZSBpbiAzLjAuICBUaGVzZSBtaXJy b3IgdGhlIGhhbmRsaW5nIG9mIGtleXdvcmQgYXJndW1lbnRzIGZvciBSdWJ5IG1ldGhvZHMgaW4g Mi43IGFuZCAzLjAuDQoNCk9uZSBiZWhhdmlvciBjaGFuZ2UgaW4gMi43IGNvbXBhcmVkIHRvIHBy ZXZpb3VzIHZlcnNpb25zIGlzIHRoYXQgaW4ga2V5d29yZCBtb2RlLCBjYWxsaW5nIHRoZSBDIG1l dGhvZCB3aXRoIGFuIGVtcHR5IGtleXdvcmQgc3BsYXQgKGUuZy4gYCoqe31gKSB3aWxsIG1ha2Ug cmJfc2Nhbl9hcmdzIG5vdCBjb25zaWRlciB0aGUgbGFzdCBwb3NpdGlvbmFsIGFyZ3VtZW50IGFz IHBvc3NpYmxlIGtleXdvcmQgYXJndW1lbnRzLiBUaGlzIGlzIGFuIGltcG9ydGFudCBjaGFuZ2Ug dG8gbWFrZSwgc28gdGhhdCB5b3UgY2FuIGNhbGwgdGhlIEMgbWV0aG9kIHdpdGggYSB3YXkgdG8g ZGlzYWJsZSB0aGUgb3B0aW9uIHBhcnNpbmcuDQoNClRoZXJlIGFyZSBhbHNvIHNvbWUgcmVsYXRl ZCBpc3N1ZXMgaW4gcmJfc2Nhbl9hcmdzIHRoYXQgSSB3b3VsZCBsaWtlIHRvIGZpeCAod2l0aCB3 YXJuaW5ncyBpbiAyLjcgYW5kIGJlaGF2aW9yIGNoYW5nZXMgaW4gMy4wOg0KDQoqIHJiX3NjYW5f YXJncyBjdXJyZW50bHkgc3BsaXRzIGhhc2hlcywgc2VwYXJhdGluZyB0aGUgbm9uLXN5bWJvbCBr ZXlzIGludG8gYSBzZXBhcmF0ZSBwb3NpdGlvbmFsIGFyZ3VtZW50LiAgSSB3b3VsZCBsaWtlIHRv IHJlbW92ZSB0aGlzIHNwbGl0dGluZyBpbiBib3RoIGtleXdvcmQgbW9kZSBhbmQgcmVndWxhciBt b2RlLCBhcyBSdWJ5IHdpbGwgbm8gbG9uZ2VyIHNwbGl0IGhhc2hlcyBpbiAzLjAgZm9yIFJ1Ynkg bWV0aG9kcy4NCg0KKiByYl9zY2FuX2FyZ3MgY3VycmVudGx5IHdpbGwgdHJlYXQgYSBuaWwgdmFs dWUgYXMgYW4gZW1wdHkgaGFzaCBpbiBzb21lIGNhc2VzLiAgUnVieSBtZXRob2RzIGRvIG5vdCBk byB0aGlzLCBhbmQgSSB0aGluayBpdCB3b3VsZCBiZSBiZXN0IGlmIEMgbWV0aG9kcyBzdG9wcGVk IGRvaW5nIHRoaXMgZG8gdGhpcyBpbiBib3RoIHJlZ3VsYXIgbW9kZSBhbmQga2V5d29yZCBtb2Rl Lg0KDQoqIHJiX3NjYW5fYXJncyB3aWxsIHVzZSBrZXl3b3JkIGFyZ3VtZW50cyBpZiBuZWNlc3Nh cnkgdG8gZmlsbCBhIG1hbmRhdG9yeSBwb3NpdGlvbmFsIGFyZ3VtZW50LiAgSSB0aGluayB3ZSBz aG91bGQga2VlcCB0aGlzIGJlaGF2aW9yIGluIHJlZ3VsYXIgbW9kZSBhbmQgcmVtb3ZlIGl0IGlu IGtleXdvcmQgbW9kZSwgc2ltaWxhciB0byBob3cgUnVieSBtZXRob2RzIGhhbmRsZSB0aGUgc2l0 dWF0aW9uLg0KDQoqIHJiX3NjYW5fYXJncyB3aGVuIGNhbGxlZCB3aXRoIGFuIGVtcHR5IGtleXdv cmQgc3BsYXQgY3VycmVudGx5IGJyZWFrcyBjb21wYXRpYmlsaXR5IHdpdGggUnVieSAyLjYsIHdo aWNoIHBhc3NlZCBhbiBlbXB0eSBoYXNoIGluIHRoaXMgY2FzZS4gIFJlc3RvcmUgYmFja3dhcmRz IGNvbXBhdGliaWxpdHkgYnkgYWRkaW5nIHRoZSBlbXB0eSBoYXNoIGlmIG5lZWRlZCBmb3IgYSBt YW5kYXRvcnkgcG9zaXRpb25hbCBhcmd1bWVudCwgYnV0IHRoaXMgYmVoYXZpb3Igc2hvdWxkIGJl IHJlbW92ZWQgaW4gMy4wLg0KDQpUaGVyZSBhcmUgYSBmZXcgcGxhY2VzIGluIFJ1Ynkgd2hlcmUg cmJfc2Nhbl9hcmdzIGlzIGNhbGxlZCBpbmRpcmVjdGx5LCB3aGVyZSBhIFJ1YnkgbWV0aG9kIGlz IGltcGxlbWVudGVkIGluIEMsIGFuZCBpdCBjYWxscyByYl9zY2FuX2FyZ3Mgd2l0aCB0aGUgYXJn dW1lbnRzIHBhc3NlZCBmcm9tIFJ1YnksIGJ1dCB0aGVuIGl0IGNhbGxzIGFub3RoZXIgQyBmdW5j dGlvbiB3aXRoIGEgZGlmZmVyZW50IHNldCBvZiBhcmd1bWVudHMuICBJbiB0aGlzIGNhc2UsIHdl IGNhbm5vdCB1c2UgdGhlIHJiX2tleXdvcmRfZ2l2ZW5fcCBhbmQgcmJfZW1wdHlfa2V5d29yZF9n aXZlbl9wIGZ1bmN0aW9ucyB0byBkZXRlcm1pbmUgaG93IHRoZSBhcmd1bWVudHMgc2hvdWxkIGJl IGhhbmRsZWQsIGFzIHRoZXNlIHJlbHkgb24gVk0gZnJhbWUgZmxhZ3MsIGFuZCB0aGUgZnJhbWUg ZmxhZ3MgbWF5IG5vdCBtYXRjaCB0aGUgYXJndW1lbnRzIHBhc3NlZCB0byByYl9zY2FuX2FyZ3Mu ICBIYW5kbGUgdGhpcyBjYXNlIGJ5IGFsbG93aW5nIHByZXBlbmRpbmcgdGhlIHJiX3NjYW5fYXJn cyBzdHJpbmcgd2l0aCBhIGBrYCwgYGVgLCBvciBgbmAgcHJlZml4Og0KDQoqIGs6IFRyZWF0IGFz IGlmIHRoZSBrZXl3b3JkIGdpdmVuIGZsYWcgaXMgc2V0IChsYXN0IGFyZ3VtZW50IHNob3VsZCBi ZSBhIGhhc2gpLg0KICAgIA0KKiBlOiBUcmVhdCBhcyBpZiB0aGUgZW1wdHkga2V5d29yZCBnaXZl biBmbGFnIGlzIHNldCAoaW4ga2V5d29yZCBtb2RlLCBkbyBub3QgbG9vayBmb3IgYSBsYXN0IHBv c2l0aW9uYWwgaGFzaCkuDQogICAgDQoqIG46IEluIGtleXdvcmQgbW9kZSwgYXNzdW1lIHRoZSBj YWxsIGRpZCBub3Qgc2V0IHRoZSBrZXl3b3JkIG9yIGVtcHR5IGtleXdvcmQgZmxhZ3MsIGJ1dCBk byBub3QgaXNzdWUgYSB3YXJuaW5nIGlmIHRoZSBsYXN0IGFyZ3VtZW50IGlzIGEgaGFzaCB0aGF0 IGlzIHRyZWF0ZWQgYXMga2V5d29yZHMuDQogICAgDQpXaXRoIHRoaXMgYXBwcm9hY2gsIGV4dGVy bmFsIEMgZXh0ZW5zaW9ucyB3aWxsIGJlIGFibGUgdG8gZ2V0IGJhY2t3YXJkcyBjb21wYXRpYmxl IGJlaGF2aW9yIG9uIFJ1YnkgPDIuNyBieSB1c2luZyBhIG1hY3JvLiBPbiAyLjcrLCB0aGUgbWFj cm8gY2FuIGJlIGRlZmluZWQgdG8gImsiLCAiZSIsIG9yICJuIiwgYW5kIG9uIDwyLjcsIGl0IGNh biBiZSBkZWZpbmVkIHRvICIiLg0KDQpJIGhhdmUgYSBwdWxsIHJlcXVlc3QgdGhhdCBoYXMgcGFz c2VkIENJIChodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvMjQ2MCkgdGhhdCBpbXBs ZW1lbnRzIGFsbCBvZiB0aGUgYWJvdmUuICBJdCBpcyBhbHNvIGF0dGFjaGVkIGFzIHBhdGNoLiBJ dCBmaXhlcyBhbGwgY2FzZXMgaW4gdGhlIHRlc3RzLCBjb3JlLCBleHRlbnNpb25zLCBzdGRsaWIg d2hlcmUgd2FybmluZ3Mgd2VyZSByYWlzZWQgZHVlIHRvIGNoYW5nZXMuICBUaGUgc3RkbGliIGFu ZCB0ZXN0IGZpeGVzIChSdWJ5IGxldmVsKSBhcmUgbW9zdGx5IGFkZGluZyBrZXl3b3JkIHNwbGF0 cyBpbnN0ZWFkIG9mIHBhc3NpbmcgYXMgcG9zaXRpb25hbCBhcmd1bWVudHMsIG9yIG1ha2luZyBz dXJlIHRvIHVzZSBhbiBlbXB0eSBoYXNoIGluc3RlYWQgb2YgbmlsIGFzIGFuIG9wdGlvbiBoYXNo LiBUaGUgY29yZSBhbmQgZXh0ZW5zaW9uIGNoYW5nZXMgYXJlIG1vc3RseSBzd2l0Y2hpbmcgdG8g YCpfa3dgIGZ1bmN0aW9ucyB0byBhcHByb3ByaWF0ZWx5IHBhc3MgdGhhdCBhcmd1bWVudHMgc2hv dWxkIGJlIHRyZWF0ZWQgYXMga2V5d29yZHMgaWYgY2FsbGVkIHdpdGgga2V5d29yZHMuDQoNCi0t LUZpbGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnJiX3NjYW5fYXJncy1rZXl3 b3JkLWFyZ3VtZW50LXNlcGFyYXRpb24ucGF0Y2ggKDYxLjggS0IpDQoNCg0KLS0gDQpodHRwczov L2J1Z3MucnVieS1sYW5nLm9yZy8NCg==