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_HI,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 5F7D91F403 for ; Tue, 4 Oct 2022 08:40:15 +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="D4Qx74TD"; dkim-atps=neutral Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 310A7120BDB; Tue, 4 Oct 2022 17:40:12 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id D8E55120BD0 for ; Tue, 4 Oct 2022 17:40:09 +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=cEoSgCqjX/tyNwCuEeSCB+BSP9BWhUh8AzH/s3uYn8s=; b=D4Qx74TDFOHmqleQZg4pUx6/gS0udUfO0O/JZvyZDgfLsUNOd9lXB0g5lreRYljsxaip aULt18PpOfcRg/sW3HqgB9lUg8IM6yabR0LeX7ePVf5jh8v9G03OA7gqKNiXJA4Cna17pv kbfP45ihnHXRmr3eeDaMWliAXTy3YGtabGZUXnSA6+uYvqGmqTzsXY90f/TTwbGwudl1b0 wWshcEmc8RYVhe8DEeZ6TPk0d/BkpmnHfbscsJUgnuwcTWVzy3acKRu3vMC6AFbXkcX5sr L1ALq5fz27Zt3Le2tFC0Hi57bUi0GM7QIu4QWANckr6MttHvxMLBqKgCCI8FXugQ== Received: by filterdrecv-77487f4c77-nngn2 with SMTP id filterdrecv-77487f4c77-nngn2-1-633BF162-19 2022-10-04 08:40:02.370072798 +0000 UTC m=+557575.548214737 Received: from herokuapp.com (unknown) by geopod-ismtpd-canary-0 (SG) with ESMTP id c_Ov9qXxQN6oZ7Q4jcot7w for ; Tue, 04 Oct 2022 08:40:02.228 +0000 (UTC) Date: Tue, 04 Oct 2022 08:40:02 +0000 (UTC) From: "fxn (Xavier Noria)" 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: fxn 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: 86634 X-SG-EID: =?us-ascii?Q?Gg3oD6sm+uO8=2F=2FvPD7Pc20vmQucbh=2FeP016RLAVuAgDK55zIMbGfsoPmorYbIK?= =?us-ascii?Q?jYLtCmLTmdzpQBRFQU65QdaypyHDhpQFtoJq5Gf?= =?us-ascii?Q?4wWpWAbNjNrNU0HhhIe1NjAe3taokYqAWxY2CAf?= =?us-ascii?Q?ZsP7+msJ=2FcpYV3mbzUJQ75A=2FgB0uvsUMDOHUkr6?= =?us-ascii?Q?ZPo4UV2A39Z6qZb3QUTF42odNSMvuVssdbJzB6d?= =?us-ascii?Q?DPsvu0U5fa+o7ECOjd=2FPuan8=2F4t1zn=2FFdKcndGn?= =?us-ascii?Q?bTeujBEWKQKNADo8XB1Rg=3D=3D?= To: ruby-core@neon.ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 110176 Subject: [ruby-core:110176] [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" SXNzdWUgIzE5MDI0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgZnhuIChYYXZpZXIgTm9yaWEpLgoKClNv bWUgcXVlc3Rpb25zL3JlbWFya3M6CgoqIEdlbSBgYWAgZGVmaW5lcyBgQWAsIGFuZCBnZW0gYGJg IHdhbnRzIHRvIHJlb3BlbiBgQWAuIEhvdyB3b3VsZCBgYmAgYWNjZXNzIGBBYCBpbiBhIHdheSB0 aGF0IGRvZXMgbm90IGRlcGVuZCBvbiBob3cgd2FzIGBBYCBsb2FkZWQ/CiogTGV0J3MgaW1hZ2lu ZSB5b3UgYXJlIGRldmVsb3BpbmcgTm9rb2dpcmksIGFuZCBvZiBjb3Vyc2UgeW91IGNhbiB1c2Ug UnVieSBhcyBpdCBpcywgd2l0aCBhbGwgaXRzIGZsZXhpYmlsaXR5IGFuZCBpbiBhbGwgaXRzIGdl bmVyaWNpdHkuIE9mIGNvdXJzZSwgTm9rb2dpcmkgZG9lcyBub3Qga25vdyBpZiBpdCBpcyBnb2lu ZyB0byBiZSBpbXBvcnRlZCBvciBub3QuIFdvdWxkIHRoZXJlIGJlIHRoaW5ncyB0aGF0IHdvdWxk IHdvcmsgaW4gb25lIG1vZGUgYW5kIG5vdCBpbiB0aGUgb3RoZXIgd2l0aGluIE5va29naXJpPwoq IEluIFJ1YnksIGBTdHJpbmdgIGlzIG5vdCBzcGVjaWFsOiBJdCBpcyBhIGNvbnN0YW50IGluIGBP YmplY3RgIHN0b3JpbmcgYSBjbGFzcyBvYmplY3QsIG5vIGRpZmZlcmVudCB0aGFuIGBVc2VyYC4g VGhpcyBwcm9wb3NhbCB0cmVhdHMgY2VydGFpbiBjb25zdGFudHMgYXMgZGlzdGluZ3Vpc2hlZCwg YW5kIEkgYmVsaWV2ZSB0aGlzIGlzIG5vdCBhbGlnbmVkIHdpdGggdGhlIFJ1YnkgbW9kZWwgaW4g d2hpY2ggY29uc3RhbnQgbmFtZSByZXNvbHV0aW9uIGRvZXMgbm90IGRlcGVuZCBvbiB0aGUgdmFs dWUgc3RvcmVkIGJ5IHRoZSBjb25zdGFudC4KKiBJbiBvcmRlciB0byB1bmRlcnN0YW5kIHRoZSBn b2FsIGRlc2NyaXB0aW9uICJpc29sYXRlIGNvbXBvbmVudHMiLCBpdCB3b3VsZCBoZWxwIG1lIGlm IHlvdSBjb3VsZCBkZXNjcmliZSBvbmUgY29uY3JldGUgd2F5IHRvIHVzZSB0aGlzIGlkZWEgaW4g YW4gYXBwbGljYXRpb24sIGFuZCB0aGF0IGRlc2NyaXB0aW9uIHNob3VsZCBjb3ZlciB0aGUgaW1w bGljYXRpb25zIGZvciB1bnJlbGF0ZWQgM3JkLXBhcnR5IGdlbXMuCgpUaGlzIGlzIGFsbCB2ZXJ5 IG1pc2FsaWduZWQgd2l0aCBSdWJ5LCBpbiBteSBvcGluaW9uLiBJbmRlZWQsIGZvciBtZSwgYGxv YWQgZmlsZSwgbW9kYCBpcyBhIHZlcnkgZWRnZSBpbnRlcmZhY2UgdGhhdCBpbiBteSBvcGluaW9u IHNob3VsZCBub3QgYmUgcHVyc3VlZCBmdXJ0aGVyIGJlY2F1c2UgaXQgYnJlYWtzIGEgZnVuZGFt ZW50YWwgYXNzdW1wdGlvbiBpbiBhbGwgZXhpc3RpbmcgY29kZTogVGhhdCBieSBsb29raW5nIGF0 IHlvdXIgc291cmNlIGNvZGUsIHlvdSBrbm93IHRoZSBuZXN0aW5nLiBJIGhhdmUgYWx3YXlzIHRo b3VnaHQgaXQgaGFzIGZldyB1c2UgY2FzZXMsIGFuZCB0aGV5IGludm9sdmVkIGNvb3BlcmF0aW9u IGNhbGxlci9jYWxsZWUuCgpBIGRlc2lnbiBiYXNlZCBvbiBleHBsaWNpdCBjb29wZXJhdGlvbiBm ZWVscyBtb3JlIGFsaWduZWQgdG8gbWUuIElmIHlvdXIgYXBwbGljYXRpb24gaXMgbWFkZSBvZiBj b21wb25lbnRzLCB0aGF0IGlzIHlvdXIgY29udHJhY3Q6IFlvdSBoYXZlIGEgY29uY2VwdCBvZiBh cHBsaWNhdGlvbiwgYW5kIHlvdSBoYXZlIGEgY29uY2VwdCBvZiAiSSBhbSBhIGNvbXBvbmVudCBp bnNpZGUgdGhlIGFwcGxpY2F0aW9uIi4gSW4gdGhhdCBzZW5zZSwgYSBub3Rpb24gb2YgcGFja2Fn ZSB3aGVyZSB5b3Ugb3B0LWluLCBhbmQgYnkgb3B0aW5nLWluIHlvdSBrbm93IGFuZCBjb250cm9s IHlvdXIgcnVudGltZSwgc291bmRzIG1vcmUgc291bmQgdG8gbWUuCgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzE5MDI0OiBQcm9wb3NhbDogSW1wb3J0 IE1vZHVsZXMKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5MDI0I2NoYW5nZS05 OTQ1MAoKKiBBdXRob3I6IHNoaW95YW1hIChDaHJpcyBTYWx6YmVyZykKKiBTdGF0dXM6IE9wZW4K KiBQcmlvcml0eTogTm9ybWFsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KVGhlcmUgaXMgbm8gZ2VuZXJhbCB3YXkgaW4gUnVieSB0byBsb2FkIGNvZGUgb3V0c2lkZSBv ZiB0aGUgZ2xvYmFsbHktc2hhcmVkIG5hbWVzcGFjZS4gVGhpcyBtYWtlcyBpdCBoYXJkIHRvIGlz b2xhdGUgY29tcG9uZW50cyBvZiBhbiBhcHBsaWNhdGlvbiBmcm9tIGVhY2ggb3RoZXIgYW5kIGZy b20gdGhlIGFwcGxpY2F0aW9uIGl0c2VsZiwgbGVhZGluZyB0byBjb21wbGljYXRlZCByZWxhdGlv bnNoaXBzIHRoYXQgY2FuIGJlY29tZSBpbnRyYWN0YWJsZSBhcyBhcHBsaWNhdGlvbnMgZ3JvdyBp biBzaXplLgoKVGhlIGdyb3dpbmcgcG9wdWxhcml0eSBvZiBhIGdlbSBsaWtlIFtQYWNrd2Vya10o aHR0cHM6Ly9naXRodWIuY29tL3Nob3BpZnkvcGFja3dlcmspLCB3aGljaCBwcm92aWRlcyBhIG5l dyBjb25jZXB0IG9mICJwYWNrYWdlIiB0byBlbmZvY2UgYm91bmRhcmllcyBzdGF0aWNhbGx5IGlu IENJLCBpcyBldmlkZW5jZSB0aGF0IHRoaXMgaXMgYSByZWFsIHByb2JsZW0uIEJ1dCBpbnRyb2R1 Y2luZyBhIG5ldyBwYWNrYWdpbmcgY29uY2VwdCBhbmQgQ0kgc3RlcCBpcyBhdCBiZXN0IG9ubHkg YSBwYXJ0aWFsIHNvbHV0aW9uLCB3aXRoIGRvd25zaWRlczogaXQgYWRkcyBjb21wbGV4aXR5IGFu ZCBjb2duaXRpdmUgb3ZlcmhlYWQgdGhhdCB3b3VsZG4ndCBiZSBuZWNlc3NhcnkgaWYgUnVieSBw cm92aWRlZCBiZXR0ZXIgcGFja2FnaW5nIGl0c2VsZiAoYXMgTWF0eiBoYXMgc3VnZ2VzdGVkIFtp dCBzaG91bGRdKGh0dHBzOi8veW91dHUuYmUvRHAxMmEzS0dORnc/dD0yOTU2KSkuCgpUaGVyZSBp cyBfb25lXyBsaW1pdGVkIHdheSBpbiBSdWJ5IGN1cnJlbnRseSB0byBsb2FkIGNvZGUgd2l0aG91 dCBwb2xsdXRpbmcgdGhlIGdsb2JhbCBuYW1lc3BhY2U6IGBsb2FkYCB3aXRoIHRoZSBgd3JhcGAg cGFyYW1ldGVyLCB3aGljaCBhcyBvZiBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv NjIxMCBjYW4gbm93IGJlIGEgbW9kdWxlLiBIb3dldmVyLCB0aGlzIG9wdGlvbiBkb2VzIG5vdCBh cHBseSB0cmFuc2l0aXZlbHkgdG8gYHJlcXVpcmVgIGNhbGxzIHdpdGhpbiB0aGUgbG9hZGVkIGZp bGUsIHNvIGl0cyB1c2VmdWxuZXNzIGlzIGxpbWl0ZWQuCgpNeSBwcm9wb3NhbCBoZXJlIGlzIHRv IGVuYWJsZSBtb2R1bGUgaW1wb3J0cyBieSBkb2luZyB0aGUgZm9sbG93aW5nOgoKMS4gYXBwbHkg dGhlIGB3cmFwYCBtb2R1bGUgbmFtZXNwYWNlIHRyYW5zaXRpdmVseSB0byBgcmVxdWlyZWBzIGlu c2lkZSB0aGUgbG9hZGVkIGNvZGUsIGluY2x1ZGluZyBuYXRpdmUgZXh0ZW5zaW9ucyAob3IgcHJv dmlkZSBhIG5ldyBmbGFnIG9yIG1ldGhvZCB0aGF0IHdvdWxkIGRvIHRoaXMpLAoyLiBtYWtlIHRo ZSBgd3JhcGAgbW9kdWxlIHRoZSB0b3BsZXZlbCBjb250ZXh0IGZvciBjb2RlIGxvYWRlZCB1bmRl ciBpdCwgc28gYDo6Rm9vYCByZXNvbHZlcyB0byBgPHRvcF93cmFwcGVyPjo6Rm9vYCBpbiBsb2Fk ZWQgY29kZSAob3IsIGFnYWluLCBwcm92aWRlIGEgbmV3IGZsYWcgb3IgbWV0aG9kIHRoYXQgd291 bGQgZG8gdGhpcykuIF9BbHNvIG1ha2UgdGhpcyBhcHBseSB3aGVuIGNvZGUgdW5kZXIgdGhlIHdy YXBwZXIgbW9kdWxlIGlzIGNhbGxlZCBvdXRzaWRlIG9mIHRoZSBsb2FkIHByb2Nlc3MgKHdoZW4g YHRvcF93cmFwcGVyYCBpcyBubyBsb25nZXIgc2V0KSAmbWRhc2g7IHRoaXMgbWF5IGJlIHF1aXRl IGhhcmQgdG8gZG9fLgozLiByZXNvbHZlIGBuYW1lYCBvbiBhbm9ueW1vdXMgbW9kdWxlcyB1bmRl ciB0aGUgd3JhcHBlZCBtb2R1bGUgdG8gdGhlaXIgbmFtZXMgd2l0aG91dCB0aGUgdG9wIHdyYXBw ZXIgbW9kdWxlLCBzbyBgPHRvcF93cmFwcGVyPjo6Rm9vLm5hbWVgIGV2YWx1YXRlcyB0byBgIkZv byJgLiBUaGVyZSBtYXkgYmUgb3RoZXIgd2F5cyB0byBoYW5kbGUgdGhpcyBwcm9ibGVtLCBidXQg YSBnZW0gbGlrZSBSYWlscyB1c2VzIGBuYW1lYCB0byByZXNvbHZlIGZpbGVuYW1lcyBhbmQgZmFp bHMgd2hlbiBhbm9ueW1vdXMgbW9kdWxlcyByZXR1cm4gc29tZXRoaW5nIGxpa2UgYCM8TW9kdWxl OiAuLi4+OjpBY3RpdmVSZWNvcmRgIGluc3RlYWQgb2YganVzdCBgQWN0aXZlUmVjb3JkYC4KCkkg aGF2ZSByb3VnaGx5IGltcGxlbWVudGVkIHRoZXNlIHRocmVlIHRoaW5ncyBpbiBbdGhpcyBwYXRj aF0oaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9jb21wYXJlL21hc3Rlci4uLnNoaW95YW1h OnJ1Ynk6aW1wb3J0X21vZHVsZXMpLiBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGluY29tcGxldGUg KGl0IGRvZXMgbm90IGNvdmVyIHRoZSBsYXN0IGhpZ2hsaWdodGVkIHBhcnQgb2YgMikgYnV0IHBy b3ZpZGVzIGVub3VnaCBvZiBhIGJhc2lzIHRvIGltcGxlbWVudCBhbiBgaW1wb3J0YCBtZXRob2Qs IHdoaWNoIEkgaGF2ZSBkb25lIGluIGEgZ2VtIGNhbGxlZCBbSW1dKGh0dHBzOi8vZ2l0aHViLmNv bS9zaGlveWFtYS9pbSkuCgpJbSBwcm92aWRlcyBhbiBgaW1wb3J0YCBtZXRob2Qgd2hpY2ggY2Fu IGJlIHVzZWQgdG8gaW1wb3J0IGdlbSBjb2RlIHVuZGVyIGEgbmFtZXNwYWNlOgoKYGBgcnVieQpy ZXF1aXJlICJpbSIKZXh0ZW5kIEltCgphY3RpdmVfbW9kZWwgPSBpbXBvcnQgImFjdGl2ZV9tb2Rl bCIKIz0+IDwjSW06OkltcG9ydCByb290OiBhY3RpdmVfbW9kZWw+CgpBY3RpdmVNb2RlbAojPT4g TmFtZUVycm9yCgphY3RpdmVfbW9kZWw6OkFjdGl2ZU1vZGVsCiM9PiBBY3RpdmVNb2RlbAoKYWN0 aXZlX3JlY29yZCA9IGltcG9ydCAiYWN0aXZlX3JlY29yZCIKIz0+IDwjSW06OkltcG9ydCByb290 OiBhY3RpdmVfcmVjb3JkPgoKIyBDb25zdGFudHMgZGVmaW5lZCBpbiB0aGUgc2FtZSBmaWxlIHVu ZGVyIGRpZmZlcmVudCBpbXBvcnRzIHBvaW50IHRvIHRoZSBzYW1lIG9iamVjdHMKYWN0aXZlX3Jl Y29yZDo6QWN0aXZlTW9kZWwgPT0gYWN0aXZlX21vZGVsOjpBY3RpdmVNb2RlbAojPT4gdHJ1ZQpg YGAKCldpdGggdGhlIGNvbnN0YW50cyBhbGwgbG9hZGVkIHVuZGVyIGFuIGFub255bW91cyBuYW1l c3BhY2UsIGFueSBjb2RlIGltcG9ydGluZyB0aGUgZ2VtIGNhbiBuYW1lIGNvbnN0YW50cyBob3dl dmVyIGl0IGxpa2VzOgoKYGBgcnVieQpjbGFzcyBQb3N0IDwgYWN0aXZlX3JlY29yZDo6QWN0aXZl UmVjb3JkOjpCYXNlCmVuZAoKQVIgPSBhY3RpdmVfcmVjb3JkOjpBY3RpdmVSZWNvcmQKClBvc3Qu c3VwZXJjbGFzcwojPT4gQVI6OkJhc2UKYGBgCgpOb3RlIHRoYXQgdGhpcyBlbmFibGVzIHRoZSBp bXBvcnRlciB0byBjb21wbGV0ZWx5IGRldGVybWluZSB0aGUgbmFtaW5nIGZvciBldmVyeSBjb25z dGFudCBpdCBpbXBvcnRzLiBTbyBnZW1zIGNhbiBvcHQgdG8gaGlkZSB0aGVpciBkZXBlbmRlbmNp ZXMgYnkgImFuY2hvcmluZyIgdGhlbSBpbnNpZGUgdGhlaXIgb3duIG5hbWVzcGFjZSwgbGlrZSB0 aGlzOgoKYGBgcnVieQojIGluIGxpYi9teV9nZW0ucmIKbW9kdWxlIE15R2VtCiAgZGVwID0gaW1w b3J0ICJteV9nZW1fZGVwZW5kZW5jeSIKCiAgIyBteV9nZW1fZGVwZW5kZW5jeSBpcyAiYW5jaG9y ZWQiIHVuZGVyIHRoZSBNeUdlbSBuYW1lc3BhY2UsIHNvIG5vdCBleHBvc2VkIHRvIHVzZXJzCiAg IyBvZiB0aGUgZ2VtIHVubGVzcyB0aGV5IGFsc28gcmVxdWlyZSBpdC4KICBNeUdlbURlcGVuZGVu Y3kgPSBkZXAKCiAgIy4uLgplbmQKYGBgCgpUaGVyZSBhcmUgYSBjb3VwbGUgaW1wb3J0YW50IGlt cGxlbWVudGF0aW9uIGRlY2lzaW9ucyBpbiB0aGUgZ2VtOgoKMS4gX09ubHkgbG9hZCBjb2RlIG9u Y2UuXyBXaGVuIHRoZSBzYW1lIGZpbGUgaXMgaW1wb3J0ZWQgYWdhaW4gKGVpdGhlciBkaXJlY3Rs eSBvciB0cmFuc2l0aXZlbHkpLCAiY29weSIgY29uc3RhbnRzIGZyb20gcHJldmlvdXNseSBpbXBv cnRlZCBuYW1lc3BhY2UgdG8gdGhlIG5ldyBuYW1lc3BhY2UgdXNpbmcgYSByZWdpc3RyeSB3aGlj aCBtYXBzIHdoaWNoIG5hbWVzcGFjZSAoaW1wb3J0KSB3YXMgdXNlZCB0byBsb2FkIHdoaWNoIGZp bGUgKGFzIHNob3duIGFib3ZlIHdpdGggYWN0aXZlcmVjb3JkL2FjdGl2ZW1vZGVsKS4gVGhpcyBp cyBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgZGlmZmVyZW50IGltcG9ydHMgY2FuICJzZWUiIHNo YXJlZCBmaWxlcy4gQSBzaW1pbGFyIHJlZ2lzdHJ5IGlzIHVzZWQgdG8gdHJhY2sgYXV0b2xvYWRz IHNvIHRoYXQgdGhleSB3b3JrIGNvcnJlY3RseSB3aGVuIHVzZWQgZnJvbSBpbXBvcnRlZCBjb2Rl LgoyLiBUb3BsZXZlbCBjb3JlIHR5cGVzIChgTmlsQ2xhc3NgLCBgVHJ1ZUNsYXNzYCwgYEZhbHNl Q2xhc3NgLCBgU3RyaW5nYCwgZXRjKSBhcmUgImFsaWFzZWQiIHRvIGNvbnN0YW50cyB1bmRlciBl YWNoIGltcG9ydCBtb2R1bGUgdG8gbWFrZSB0aGVtIGF2YWlsYWJsZS4gVGh1cyB0aGVyZSBjYW4g YmUgc2lkZS1lZmZlY3RzIG9mIGltcG9ydGluZyBjb2RlLCBidXQgdGhpcyBhbGxvd3MgYSBnZW0g bGlrZSBSYWlscyB0byBtb25rZXlwYXRjaCBjb3JlIGNsYXNzZXMgd2hpY2ggaXQgbmVlZHMgdG8g ZG8gZm9yIGl0IHRvIHdvcmsuCjMuIGBPYmplY3QuY29uc3RfbWlzc2luZ2AgaXMgcGF0Y2hlZCB0 byBjaGVjayB0aGUgY2FsbGVyIGxvY2F0aW9uIGFuZCByZXNvbHZlIHRvIHRoZSBjb25zdGFudCBk ZWZpbmVkIHVuZGVyIGFuIGltcG9ydCwgaWYgdGhlcmUgaXMgYW4gaW1wb3J0IGRlZmluZWQgZm9y IHRoYXQgZmlsZS4KClRvIGJlIGNsZWFyOiAqKkkgdGhpbmsgMSkgc2hvdWxkIGJlIGltcGxlbWVu dGVkIGluIFJ1YnksIGJ1dCBub3QgMikgYW5kIDMpLioqIFRoZSBsYXN0IG9uZSAoYE9iamVjdC5j b25zdF9taXNzaW5nYCkgaXMgYSBoYWNrIHRvIHN1cHBvcnQgdGhlIGNhc2Ugd2hlcmUgYSB0b3Bs ZXZlbCBjb25zdGFudCBpcyByZWZlcmVuY2VkIGZyb20gYSBtZXRob2QgY2FsbGVkIGluIGltcG9y dGVkIGNvZGUgKGF0IHdoaWNoIHBvaW50IHRoZSBgdG9wX3dyYXBwZXJgIGlzIG5vdCBhY3RpdmUu KQoKSSBrbm93IHRoaXMgaXMgYSBiaWcgcHJvcG9zYWwsIGFuZCB0aGVyZSBhcmUgc3Ryb25nIG9w aW5pb25zIGhlbGQuIEkgd291bGQgcmVhbGx5IGFwcHJlY2lhdGUgY29uc3RydWN0aXZlIGZlZWRi YWNrIG9uIHRoaXMgZ2VuZXJhbCBpZGVhLgoKU2VlIGFsc28gc2ltaWxhciBkaXNjdXNzaW9uIGlu OiBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTAzMjAKCgoKLS0gCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnLwo=