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,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS, SPF_PASS,UNPARSEABLE_RELAY 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 AC2041F403 for ; Thu, 6 Oct 2022 16:24:03 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.b="tKCiloT4"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 5CB8E120CB5; Fri, 7 Oct 2022 01:24:01 +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 A8FD9120C75 for ; Fri, 7 Oct 2022 01:23:58 +0900 (JST) 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; s=s1; bh=3b29vwJrkYiAlZb+8gaBJPlc9rjW9HDpZXX7IPCzUbo=; b=tKCiloT4BtE8WxdXeHFswmNWXSEK5BckGshr3EuFp9vIA/W/nOnGbx2i8kuP3KRzxVRq 20CK1xvxDzVP3fo6kIeJ0/dt3EP4uNKN06u3GzAN5TIjWyUoLiBVLqcGVtEQV/gwGGE0mO iinr+VuyezuABtHCGbgOYG6YAlGbli/+DW3C/qbk715vOqC6BpFNkx1pjrTFV7m7aB/MBh cou8OvzCsIDOgFt2XC7es6TY97tcGKaxdbmk9FoEh2U7SzKod4dFDW7vithA8kygSNdDoL 2BAslAh+sObAjBsSWNMqCs7LxzkSkWZX3Kx90oPreMQ8OGwlEpmUu/d87dd2oLsg== Received: by filterdrecv-b56db8d66-jwqn5 with SMTP id filterdrecv-b56db8d66-jwqn5-1-633F011C-29 2022-10-06 16:23:56.670626273 +0000 UTC m=+758122.015436950 Received: from herokuapp.com (unknown) by geopod-ismtpd-6-1 (SG) with ESMTP id z1ToyBJ-TgWtgXym7vNGSw for ; Thu, 06 Oct 2022 16:23:56.527 +0000 (UTC) Date: Thu, 06 Oct 2022 16:23:56 +0000 (UTC) From: "austin (Austin Ziegler)" Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 19024 X-Redmine-Issue-Author: shioyama X-Redmine-Sender: austin 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: 86674 X-SG-EID: =?us-ascii?Q?DZv5R2lXppH4VDtnTbzozZvAfTMQDIuiqc52yQGUxibk2YmwbamuHVhEx30u+N?= =?us-ascii?Q?yD3jEB9fCp=2FPZaTvB2Tz7yxhGfc=2FN=2FzNr0P0mlD?= =?us-ascii?Q?A7179UDyS08rVj+1y7OxxdkGOSKjM84iTYBQAIw?= =?us-ascii?Q?2ydcgAd7onbvLU4iCpoZxBlDZfEsuxZkVEFJ2yX?= =?us-ascii?Q?d6euCBHxy=2FJxrVck6k7ISd9mqGpYroeevu4H7uU?= =?us-ascii?Q?gLAkb4ZO1cixpmmJd2IprjYA21YsBXWB+jHBLCV?= =?us-ascii?Q?0=2FsieNF4Ef+B49p9c3bWA=3D=3D?= To: ruby-core@neon.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 110216 Subject: [ruby-core:110216] [Ruby master Feature#19024] Proposal: Import Modules 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" SXNzdWUgIzE5MDI0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQoNCg0Kc2hpb3lhbWEgKENocmlzIFNhbHpiZXJnKSB3cm90ZSBpbiAjbm90ZS0xNzoNCj4gSnVz dCBvbmUgdGhpbmcgYmVmb3JlIEkgcmVzcG9uZCB0byBvdGhlciBjb21tZW50czoNCj4gDQo+IEBh dXN0aW4NCj4gDQo+ID4gd2hpY2ggbWFrZXMgdGhpcyBtaXNmZWF0dXJlIGxlc3MgdXNlZnVsDQo+ IA0KPiBJIHNob3VsZCBwcm9iYWJseSBpZ25vcmUgdGhpcywgYnV0IEkgY2FuJ3QuDQo+IA0KPiBJ IGFza2VkIGZvciAiY29uc3RydWN0aXZlIGZlZWRiYWNrIiwgYW5kIEkgdmVyeSBtdWNoIGluY2x1 ZGUgaW4gdGhhdCBjb25zdHJ1Y3RpdmUgY3JpdGljaXNtLiBJIGhhdmUgYmVlbiB1cGZyb250IGFu ZCBwcmVzZW50ZWQgYSBjb25jcmV0ZSBleGFtcGxlIG9mIHdoYXQgSSBjb25zaWRlciB0byBiZSB0 aGUgYmlnZ2VzdCBwcm9ibGVtIHdpdGggdGhlIHdob2xlIGlkZWEsIHBhcnRseSBiZWNhdXNlIHRo aXMgaXMgdGhlIGtpbmQgb2YgYWN0aW9uYWJsZSBmZWVkYmFjayBJIGFtIGxvb2tpbmcgZm9yLCBi dXQgYWxzbyB0byBtYWtlIGNsZWFyIHRoYXQgbXkgaW50ZW50aW9uIGhlcmUgaXMgbm90IHRvIGds b3NzIG92ZXIgaXNzdWVzIGJ1dCB0byBhY3R1YWxseSBpZGVudGlmeSBhbmQgZGlzY3VzcyB0aGVt Lg0KPiANCj4gQ2hhcmFjdGVyaXppbmcgYSAocm91Z2gsIHByZWxpbWluYXJ5KSBwcm9wb3NhbCBh cyBhICJtaXNmZWF0dXJlIiBkb2VzIG5vYm9keSBhbnkgZ29vZCwgYW5kIGl0IGNlcnRhaW5seSBk b2Vzbid0IGFkdmFuY2UgeW91ciBhcmd1bWVudC4gUGVyc29uYWxseSBpdCBqdXN0IG1ha2VzIG1l IHJlYWxseSBmcnVzdHJhdGVkIGFmdGVyIHRoZSB0aW1lIEkndmUgcHV0IGludG8gZXhwbG9yaW5n IGFuZCBwcmVzZW50aW5nIHRoZSBpZGVhLiBXaGF0ZXZlciB5b3UgbWF5IHRoaW5rIG9mIGl0LCBJ IGhhdmUgZG9uZSBteSBiZXN0IHRvIHByZXNlbnQgdGhpcyBpZGVhIGNsZWFybHkgYW5kIGhvbmVz dGx5LCBzbyBJJ2QgYXNrIHRoYXQgeW91IHJlc3BvbmQgaW4ga2luZCAod2hpY2gsIHRvIGJlIGNs ZWFyLCB0aGUgcmVzdCBvZiB5b3VyIHJlc3BvbnNlIGRvZXMpLg0KDQpZb3XigJlyZSByaWdodCwg SSB3YXMgd3JvbmcgdG8gY2hhcmFjdGVyaXplIGl0IGFzIHN1Y2ggYXMgaXQgZG9lcyBtaW5pbWl6 ZSB0aGUgdGhvdWdodCBhbmQgd29yayB5b3UgaGF2ZSBwdXQgaW50byB0aGlzLiBJ4oCZbSBzb3Jy eS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAj MTkwMjQ6IFByb3Bvc2FsOiBJbXBvcnQgTW9kdWxlcw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5v cmcvaXNzdWVzLzE5MDI0I2NoYW5nZS05OTUwMQ0KDQoqIEF1dGhvcjogc2hpb3lhbWEgKENocmlz IFNhbHpiZXJnKQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGhlcmUgaXMgbm8gZ2VuZXJhbCB3YXkg aW4gUnVieSB0byBsb2FkIGNvZGUgb3V0c2lkZSBvZiB0aGUgZ2xvYmFsbHktc2hhcmVkIG5hbWVz cGFjZS4gVGhpcyBtYWtlcyBpdCBoYXJkIHRvIGlzb2xhdGUgY29tcG9uZW50cyBvZiBhbiBhcHBs aWNhdGlvbiBmcm9tIGVhY2ggb3RoZXIgYW5kIGZyb20gdGhlIGFwcGxpY2F0aW9uIGl0c2VsZiwg bGVhZGluZyB0byBjb21wbGljYXRlZCByZWxhdGlvbnNoaXBzIHRoYXQgY2FuIGJlY29tZSBpbnRy YWN0YWJsZSBhcyBhcHBsaWNhdGlvbnMgZ3JvdyBpbiBzaXplLg0KDQpUaGUgZ3Jvd2luZyBwb3B1 bGFyaXR5IG9mIGEgZ2VtIGxpa2UgW1BhY2t3ZXJrXShodHRwczovL2dpdGh1Yi5jb20vc2hvcGlm eS9wYWNrd2VyayksIHdoaWNoIHByb3ZpZGVzIGEgbmV3IGNvbmNlcHQgb2YgInBhY2thZ2UiIHRv IGVuZm9jZSBib3VuZGFyaWVzIHN0YXRpY2FsbHkgaW4gQ0ksIGlzIGV2aWRlbmNlIHRoYXQgdGhp cyBpcyBhIHJlYWwgcHJvYmxlbS4gQnV0IGludHJvZHVjaW5nIGEgbmV3IHBhY2thZ2luZyBjb25j ZXB0IGFuZCBDSSBzdGVwIGlzIGF0IGJlc3Qgb25seSBhIHBhcnRpYWwgc29sdXRpb24sIHdpdGgg ZG93bnNpZGVzOiBpdCBhZGRzIGNvbXBsZXhpdHkgYW5kIGNvZ25pdGl2ZSBvdmVyaGVhZCB0aGF0 IHdvdWxkbid0IGJlIG5lY2Vzc2FyeSBpZiBSdWJ5IHByb3ZpZGVkIGJldHRlciBwYWNrYWdpbmcg aXRzZWxmIChhcyBNYXR6IGhhcyBzdWdnZXN0ZWQgW2l0IHNob3VsZF0oaHR0cHM6Ly95b3V0dS5i ZS9EcDEyYTNLR05Gdz90PTI5NTYpKS4NCg0KVGhlcmUgaXMgX29uZV8gbGltaXRlZCB3YXkgaW4g UnVieSBjdXJyZW50bHkgdG8gbG9hZCBjb2RlIHdpdGhvdXQgcG9sbHV0aW5nIHRoZSBnbG9iYWwg bmFtZXNwYWNlOiBgbG9hZGAgd2l0aCB0aGUgYHdyYXBgIHBhcmFtZXRlciwgd2hpY2ggYXMgb2Yg aHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzYyMTAgY2FuIG5vdyBiZSBhIG1vZHVs ZS4gSG93ZXZlciwgdGhpcyBvcHRpb24gZG9lcyBub3QgYXBwbHkgdHJhbnNpdGl2ZWx5IHRvIGBy ZXF1aXJlYCBjYWxscyB3aXRoaW4gdGhlIGxvYWRlZCBmaWxlLCBzbyBpdHMgdXNlZnVsbmVzcyBp cyBsaW1pdGVkLg0KDQpNeSBwcm9wb3NhbCBoZXJlIGlzIHRvIGVuYWJsZSBtb2R1bGUgaW1wb3J0 cyBieSBkb2luZyB0aGUgZm9sbG93aW5nOg0KDQoxLiBhcHBseSB0aGUgYHdyYXBgIG1vZHVsZSBu YW1lc3BhY2UgdHJhbnNpdGl2ZWx5IHRvIGByZXF1aXJlYHMgaW5zaWRlIHRoZSBsb2FkZWQgY29k ZSwgaW5jbHVkaW5nIG5hdGl2ZSBleHRlbnNpb25zIChvciBwcm92aWRlIGEgbmV3IGZsYWcgb3Ig bWV0aG9kIHRoYXQgd291bGQgZG8gdGhpcyksDQoyLiBtYWtlIHRoZSBgd3JhcGAgbW9kdWxlIHRo ZSB0b3BsZXZlbCBjb250ZXh0IGZvciBjb2RlIGxvYWRlZCB1bmRlciBpdCwgc28gYDo6Rm9vYCBy ZXNvbHZlcyB0byBgPHRvcF93cmFwcGVyPjo6Rm9vYCBpbiBsb2FkZWQgY29kZSAob3IsIGFnYWlu LCBwcm92aWRlIGEgbmV3IGZsYWcgb3IgbWV0aG9kIHRoYXQgd291bGQgZG8gdGhpcykuIF9BbHNv IG1ha2UgdGhpcyBhcHBseSB3aGVuIGNvZGUgdW5kZXIgdGhlIHdyYXBwZXIgbW9kdWxlIGlzIGNh bGxlZCBvdXRzaWRlIG9mIHRoZSBsb2FkIHByb2Nlc3MgKHdoZW4gYHRvcF93cmFwcGVyYCBpcyBu byBsb25nZXIgc2V0KSAmbWRhc2g7IHRoaXMgbWF5IGJlIHF1aXRlIGhhcmQgdG8gZG9fLg0KMy4g cmVzb2x2ZSBgbmFtZWAgb24gYW5vbnltb3VzIG1vZHVsZXMgdW5kZXIgdGhlIHdyYXBwZWQgbW9k dWxlIHRvIHRoZWlyIG5hbWVzIHdpdGhvdXQgdGhlIHRvcCB3cmFwcGVyIG1vZHVsZSwgc28gYDx0 b3Bfd3JhcHBlcj46OkZvby5uYW1lYCBldmFsdWF0ZXMgdG8gYCJGb28iYC4gVGhlcmUgbWF5IGJl IG90aGVyIHdheXMgdG8gaGFuZGxlIHRoaXMgcHJvYmxlbSwgYnV0IGEgZ2VtIGxpa2UgUmFpbHMg dXNlcyBgbmFtZWAgdG8gcmVzb2x2ZSBmaWxlbmFtZXMgYW5kIGZhaWxzIHdoZW4gYW5vbnltb3Vz IG1vZHVsZXMgcmV0dXJuIHNvbWV0aGluZyBsaWtlIGAjPE1vZHVsZTogLi4uPjo6QWN0aXZlUmVj b3JkYCBpbnN0ZWFkIG9mIGp1c3QgYEFjdGl2ZVJlY29yZGAuDQoNCkkgaGF2ZSByb3VnaGx5IGlt cGxlbWVudGVkIHRoZXNlIHRocmVlIHRoaW5ncyBpbiBbdGhpcyBwYXRjaF0oaHR0cHM6Ly9naXRo dWIuY29tL3J1YnkvcnVieS9jb21wYXJlL21hc3Rlci4uLnNoaW95YW1hOnJ1Ynk6aW1wb3J0X21v ZHVsZXMpLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGluY29tcGxldGUgKGl0IGRvZXMgbm90IGNv dmVyIHRoZSBsYXN0IGhpZ2hsaWdodGVkIHBhcnQgb2YgMikgYnV0IHByb3ZpZGVzIGVub3VnaCBv ZiBhIGJhc2lzIHRvIGltcGxlbWVudCBhbiBgaW1wb3J0YCBtZXRob2QsIHdoaWNoIEkgaGF2ZSBk b25lIGluIGEgZ2VtIGNhbGxlZCBbSW1dKGh0dHBzOi8vZ2l0aHViLmNvbS9zaGlveWFtYS9pbSku DQoNCkltIHByb3ZpZGVzIGFuIGBpbXBvcnRgIG1ldGhvZCB3aGljaCBjYW4gYmUgdXNlZCB0byBp bXBvcnQgZ2VtIGNvZGUgdW5kZXIgYSBuYW1lc3BhY2U6DQoNCmBgYHJ1YnkNCnJlcXVpcmUgImlt Ig0KZXh0ZW5kIEltDQoNCmFjdGl2ZV9tb2RlbCA9IGltcG9ydCAiYWN0aXZlX21vZGVsIg0KIz0+ IDwjSW06OkltcG9ydCByb290OiBhY3RpdmVfbW9kZWw+DQoNCkFjdGl2ZU1vZGVsDQojPT4gTmFt ZUVycm9yDQoNCmFjdGl2ZV9tb2RlbDo6QWN0aXZlTW9kZWwNCiM9PiBBY3RpdmVNb2RlbA0KDQph Y3RpdmVfcmVjb3JkID0gaW1wb3J0ICJhY3RpdmVfcmVjb3JkIg0KIz0+IDwjSW06OkltcG9ydCBy b290OiBhY3RpdmVfcmVjb3JkPg0KDQojIENvbnN0YW50cyBkZWZpbmVkIGluIHRoZSBzYW1lIGZp bGUgdW5kZXIgZGlmZmVyZW50IGltcG9ydHMgcG9pbnQgdG8gdGhlIHNhbWUgb2JqZWN0cw0KYWN0 aXZlX3JlY29yZDo6QWN0aXZlTW9kZWwgPT0gYWN0aXZlX21vZGVsOjpBY3RpdmVNb2RlbA0KIz0+ IHRydWUNCmBgYA0KDQpXaXRoIHRoZSBjb25zdGFudHMgYWxsIGxvYWRlZCB1bmRlciBhbiBhbm9u eW1vdXMgbmFtZXNwYWNlLCBhbnkgY29kZSBpbXBvcnRpbmcgdGhlIGdlbSBjYW4gbmFtZSBjb25z dGFudHMgaG93ZXZlciBpdCBsaWtlczoNCg0KYGBgcnVieQ0KY2xhc3MgUG9zdCA8IGFjdGl2ZV9y ZWNvcmQ6OkFjdGl2ZVJlY29yZDo6QmFzZQ0KZW5kDQoNCkFSID0gYWN0aXZlX3JlY29yZDo6QWN0 aXZlUmVjb3JkDQoNClBvc3Quc3VwZXJjbGFzcw0KIz0+IEFSOjpCYXNlDQpgYGANCg0KTm90ZSB0 aGF0IHRoaXMgZW5hYmxlcyB0aGUgaW1wb3J0ZXIgdG8gY29tcGxldGVseSBkZXRlcm1pbmUgdGhl IG5hbWluZyBmb3IgZXZlcnkgY29uc3RhbnQgaXQgaW1wb3J0cy4gU28gZ2VtcyBjYW4gb3B0IHRv IGhpZGUgdGhlaXIgZGVwZW5kZW5jaWVzIGJ5ICJhbmNob3JpbmciIHRoZW0gaW5zaWRlIHRoZWly IG93biBuYW1lc3BhY2UsIGxpa2UgdGhpczoNCg0KYGBgcnVieQ0KIyBpbiBsaWIvbXlfZ2VtLnJi DQptb2R1bGUgTXlHZW0NCiAgZGVwID0gaW1wb3J0ICJteV9nZW1fZGVwZW5kZW5jeSINCg0KICAj IG15X2dlbV9kZXBlbmRlbmN5IGlzICJhbmNob3JlZCIgdW5kZXIgdGhlIE15R2VtIG5hbWVzcGFj ZSwgc28gbm90IGV4cG9zZWQgdG8gdXNlcnMNCiAgIyBvZiB0aGUgZ2VtIHVubGVzcyB0aGV5IGFs c28gcmVxdWlyZSBpdC4NCiAgTXlHZW1EZXBlbmRlbmN5ID0gZGVwDQoNCiAgIy4uLg0KZW5kDQpg YGANCg0KVGhlcmUgYXJlIGEgY291cGxlIGltcG9ydGFudCBpbXBsZW1lbnRhdGlvbiBkZWNpc2lv bnMgaW4gdGhlIGdlbToNCg0KMS4gX09ubHkgbG9hZCBjb2RlIG9uY2UuXyBXaGVuIHRoZSBzYW1l IGZpbGUgaXMgaW1wb3J0ZWQgYWdhaW4gKGVpdGhlciBkaXJlY3RseSBvciB0cmFuc2l0aXZlbHkp LCAiY29weSIgY29uc3RhbnRzIGZyb20gcHJldmlvdXNseSBpbXBvcnRlZCBuYW1lc3BhY2UgdG8g dGhlIG5ldyBuYW1lc3BhY2UgdXNpbmcgYSByZWdpc3RyeSB3aGljaCBtYXBzIHdoaWNoIG5hbWVz cGFjZSAoaW1wb3J0KSB3YXMgdXNlZCB0byBsb2FkIHdoaWNoIGZpbGUgKGFzIHNob3duIGFib3Zl IHdpdGggYWN0aXZlcmVjb3JkL2FjdGl2ZW1vZGVsKS4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5z dXJlIHRoYXQgZGlmZmVyZW50IGltcG9ydHMgY2FuICJzZWUiIHNoYXJlZCBmaWxlcy4gQSBzaW1p bGFyIHJlZ2lzdHJ5IGlzIHVzZWQgdG8gdHJhY2sgYXV0b2xvYWRzIHNvIHRoYXQgdGhleSB3b3Jr IGNvcnJlY3RseSB3aGVuIHVzZWQgZnJvbSBpbXBvcnRlZCBjb2RlLg0KMi4gVG9wbGV2ZWwgY29y ZSB0eXBlcyAoYE5pbENsYXNzYCwgYFRydWVDbGFzc2AsIGBGYWxzZUNsYXNzYCwgYFN0cmluZ2As IGV0YykgYXJlICJhbGlhc2VkIiB0byBjb25zdGFudHMgdW5kZXIgZWFjaCBpbXBvcnQgbW9kdWxl IHRvIG1ha2UgdGhlbSBhdmFpbGFibGUuIFRodXMgdGhlcmUgY2FuIGJlIHNpZGUtZWZmZWN0cyBv ZiBpbXBvcnRpbmcgY29kZSwgYnV0IHRoaXMgYWxsb3dzIGEgZ2VtIGxpa2UgUmFpbHMgdG8gbW9u a2V5cGF0Y2ggY29yZSBjbGFzc2VzIHdoaWNoIGl0IG5lZWRzIHRvIGRvIGZvciBpdCB0byB3b3Jr Lg0KMy4gYE9iamVjdC5jb25zdF9taXNzaW5nYCBpcyBwYXRjaGVkIHRvIGNoZWNrIHRoZSBjYWxs ZXIgbG9jYXRpb24gYW5kIHJlc29sdmUgdG8gdGhlIGNvbnN0YW50IGRlZmluZWQgdW5kZXIgYW4g aW1wb3J0LCBpZiB0aGVyZSBpcyBhbiBpbXBvcnQgZGVmaW5lZCBmb3IgdGhhdCBmaWxlLg0KDQpU byBiZSBjbGVhcjogKipJIHRoaW5rIDEpIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBpbiBSdWJ5LCBi dXQgbm90IDIpIGFuZCAzKS4qKiBUaGUgbGFzdCBvbmUgKGBPYmplY3QuY29uc3RfbWlzc2luZ2Ap IGlzIGEgaGFjayB0byBzdXBwb3J0IHRoZSBjYXNlIHdoZXJlIGEgdG9wbGV2ZWwgY29uc3RhbnQg aXMgcmVmZXJlbmNlZCBmcm9tIGEgbWV0aG9kIGNhbGxlZCBpbiBpbXBvcnRlZCBjb2RlIChhdCB3 aGljaCBwb2ludCB0aGUgYHRvcF93cmFwcGVyYCBpcyBub3QgYWN0aXZlLikNCg0KSSBrbm93IHRo aXMgaXMgYSBiaWcgcHJvcG9zYWwsIGFuZCB0aGVyZSBhcmUgc3Ryb25nIG9waW5pb25zIGhlbGQu IEkgd291bGQgcmVhbGx5IGFwcHJlY2lhdGUgY29uc3RydWN0aXZlIGZlZWRiYWNrIG9uIHRoaXMg Z2VuZXJhbCBpZGVhLg0KDQpTZWUgYWxzbyBzaW1pbGFyIGRpc2N1c3Npb24gaW46IGh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xMDMyMA0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3Mu cnVieS1sYW5nLm9yZy8NCg==