From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-4.1 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 9E89E1F428 for ; Sat, 11 Aug 2018 12:41:23 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 24483120A0A; Sat, 11 Aug 2018 21:41:20 +0900 (JST) Received: from o1678916x28.outbound-mail.sendgrid.net (o1678916x28.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id E6A12120A09 for ; Sat, 11 Aug 2018 21:41:16 +0900 (JST) Received: by filter0068p3iad2.sendgrid.net with SMTP id filter0068p3iad2-29664-5B6ED967-14 2018-08-11 12:41:11.571522695 +0000 UTC m=+52050.835318378 Received: from herokuapp.com (ec2-107-20-11-231.compute-1.amazonaws.com [107.20.11.231]) by ismtpd0002p1iad1.sendgrid.net (SG) with ESMTP id c85xdNC7Q0y6rRloy8x5Fw for ; Sat, 11 Aug 2018 12:41:11.534 +0000 (UTC) Date: Sat, 11 Aug 2018 12:41:12 +0000 (UTC) From: shevegen@gmail.com To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 63838 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 14982 X-Redmine-Issue-Author: jjyr X-Redmine-Sender: shevegen 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: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS45QB+v1oWuzhBT9eH86ygYo39P4pzpJo+ZEc n+pFF+pL9Dc9aaA7Kiu878BR3peD5GeofxA++gaHFfWoZ9as8/wuTOdXyDKA72vQfrUZ99RaK7Zk1V EdR0XgFDEFrcmRSUYHHGHDs08C/iklqjPzOKoPeB7cegX5hNdJuzov21Xg== X-ML-Name: ruby-core X-Mail-Count: 88449 Subject: [ruby-core:88449] [Ruby trunk Feature#14982] Improve namespace system in ruby to avoiding top-level names chaos 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" SXNzdWUgIzE0OTgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hldmVnZW4gKFJvYmVydCBBLiBIZWls ZXIpLgoKCkkgdGhpbmsgdGhpcyBoYXMgY29tZSB1cCBiZWZvcmUgaW4gb3RoZXIgaXNzdWUgcmVx dWVzdHMuCgpJIGFsc28gaGFkIGEgZmV3IGlkZWFzOyBlLiBnLiB0byBiZSBhYmxlIHRvIGF0dGFj aCBtZXRhLWluZm9ybWF0aW9uCnRvIGNsYXNzL21vZHVsZXMgKHRoYXQgd2F5IHdlIGNhbiBmaW5k IG91dCB3aG8gaXMgdGhlIG9yaWdpbmFsIGF1dGhvciwKd2hlbiBhbmQgd2hhdCBjaGFuZ2VzIG1h eSBoYXZlIGJlZW4gbWFkZSBldGMuLi4pLgoKSSBhZ3JlZSB3aXRoIHRoaXMgY29tbWVudCBoZXJl IGEgbG90IGJ5IHRoZSB3YXk6CgogICAgaW1wb3J0IDoiQTo6Qjo6Qzo6RCIsIGFzOiA6RQoKTm90 IG5lY2Vzc2FyaWx5IGFib3V0IHVzaW5nIHRoZSBuYW1lICJpbXBvcnQiLCBidXQgd2l0aCB0aGUg YWJpbGl0eQp0byByZS1kZWZpbmUgbmFtZXNwYWNlcyBhdCByZXF1aXJlIHRpbWUuIFdlIGNhbiBv ZiBjb3Vyc2UgYWxyZWFkeQpkbyBzbyBieSBpbmNsdWRpbmcgbW9kdWxlcyBhbmQgcmVtb3Zpbmcg KG9sZGVyKSBjb25zdGFudHMsIGJ1dCBJIAphbHdheXMgdGhvdWdodCBpdCBtYXkgYmUgbW9yZSBl bGVnYW50IHRvIGJlIGFibGUgdG8gZG8gc28gdGhlIG1vbWVudAp3ZSByZXF1aXJlIHJ1YnkgY29k ZS4KCkkgYW0gbm90IHNvIHN1cmUgYWJvdXQgdGhlIHJlc3Qgb2YgdGhlIHN1Z2dlc3Rpb24uIEkg ZG9uJ3QgaGF2ZSBhbnkKcGFydGljdWxhcmx5IHN0cm9uZyBwcm8gb3IgY29uIG9waW5pb24sIGFs dGhvdWdoIEkgYW0gYSBiaXQgd2FyeS4KClBhcnQgb2YgdGhlIHN1Z2dlc3Rpb25zIGFsbCBhcmUg YSBiaXQgY29tcGxpY2F0ZWQsIEFQSS13aXNlIGFuZCBmcm9tCnRoZSBzY29wZS4gSSB1bmRlcnN0 YW5kIHRoYXQsIGlmIHdlIHdhbnQgbW9yZSBmbGV4aWJpbGl0eSwgd2UgbWF5IApuZWVkIHRvIGJl IGFibGUgdG8gaGF2ZSBhIHdheSB0byBhZGQgY29kZSB3aGljaCByZXF1aXJlcyBtb3JlIGNoYXJh Y3RlcnMKYW5kIHN1Y2guIEJ1dCBvbmUgdGhpbmcgdGhhdCBpcyBncmVhdCBpbiBydWJ5LCBldmVu IGlmIHdlIHNheSB0aGF0IAoiaGF2aW5nIG5vIG5hbWVzcGFjZXMgaXMgYSBkaXNhZHZhbnRhZ2Ui LCBpcyB0aGF0IHVzaW5nIG1vZHVsZXMgYW5kCmNsYXNzZXMgb24gdGhlIHRvcGxldmVsIHNwYWNl LCBpcyB2ZXJ5LCB2ZXJ5IHNpbXBsZS4gUGVvcGxlIHZlcnkKcXVpY2tseSB1bmRlcnN0YW5kIHRo YXQgY29uY2VwdC4KCiAgICBjbGFzcyBDYXQKICAgICAgZGVmIG1lb3cKICAgICAgICBwdXRzICdU aGUgY2F0IG1lb3dzLicKICAgICAgZW5kCiAgICBlbmQKCldpdGggbmFtZXNwYWNlcyBhcyBzdWdn ZXN0ZWQgaGVyZSwgd2UgbWF5IGFkZCBhbm90aGVyIGxheWVyIG9mIApjb21wbGV4aXR5OyBhbmQg d2hpbGUgSSBkbyBhZ3JlZSB3aXRoIHNvbWUgc3Ryb25nZXIgZm9ybSBvZgpjb250cm9sIHBvc3Np YmxlIG92ZXIgIm5hbWVzcGFjZXMiIGluIHJ1YnksIEkgYW0gbm90IHN1cmUgaWYKdGhlIHByb3Bv c2FsIGluIHRoaXMgZm9ybSBpcyBoYXZpbmcgYSBnb29kIHRyYWRlLW9mZi4gQnV0IGFzIEkKd3Jv dGUsIGl0J3Mgbm90IHRoYXQgSSBoYXZlIGEgYmlnIG9waW5pb24gZWl0aGVyIHdheSAtIEkgdGhp bmsKdGhlIGJpZ2dlc3QgY29uY2VybiBJIGhhdmUgaGFkIGluIHJlZ2FyZHMgdG8gbmFtZXNwYWNl cyB3YXMKd2hlbiBydWJ5IHdlcmUgdG8gdXNlIFBIUCdzICJzb2x1dGlvbiIgYW5kIHN5bnRheCBm b3IgCm5hbWVzcGFjZXMgLi4uIDpQCgpBcyBmb3IgcmVmaW5lbWVudHMgLSB0aGUgb2RkIHRoaW5n IGlzIHRoYXQgSSBhZ3JlZSBiZWhpbmQgdGhlCnByb3Bvc2FsIGFuZCBpZGVhcywgYnV0IHRoZSBz eW50YXggYW5kIEFQSSBpcyBzbyB3ZWlyZCB0byBtZQphbmQgaXQgZmVlbHMgLi4uIHN0cmFuZ2Ug dG8gdXNlIHRoZW0uIEkgYWxzbyBoYXZlIG5vIGFsdGVybmF0aXZlCnN1Z2dlc3Rpb24sIHNvIHRo aXMgaXMgbm90IGdvb2Q7IGJlc3Qgd2F5IHdvdWxkIGJlIHRvIGhhdmUKYm90aCBuYW1lc3BhY2Vz LCBuYW1lc3BhY2Ugc2NvcGVzIGFuZCByZWZpbmVtZW50cyBpbiBhIHNpbmdsZQppc3N1ZSB3aXRo IGEgZ3JlYXQsIGJlYXV0aWZ1bCBzeW50YXguIDpECgooV2Ugc2hvdWxkIGhvd2V2ZXIgaGFkIGFs c28gY29uc2lkZXIgd2hldGhlciB0aGUgc3RhdHVzIHF1bwppcyBhY3R1YWxseSBiZXR0ZXIgdGhh biB0aGUgcHJvcG9zZWQgY2hhbmdlcy4gQW5kIHRvIHNvbWUKZXh0ZW50IEknZCByYXRoZXIgdXNl IGEgc3RhdHVzIHF1byB0aGFuIHdhbnQgdG8gdHJhbnNpdGlvbgppbnRvIGNoYW5nZXMgdGhhdCBk byBub3Qgc2VlbSB0byBiZSBhcyB3b3J0aHdoaWxlIHRvIGJlCmhhZCAtIGV2ZW4gdGhvdWdoIEkg YWN0dWFsbHkgYWdyZWUgd2l0aCBhIExPVCBvbiB3aGF0IGlzIApzYWlkIGFib3V0IG5hbWVzcGFj ZXMsIHJlZmluZW1lbnRzIGV0Yy4uLikKCi0gQXMgZm9yIHJlcXVpcmluZyBydWJ5IGNvZGUsIEkg YWdyZWUuIEluIHBhcnRpY3VsYXIgZm9yIGxhcmdlcgpwcm9qZWN0cyB3cml0dGVuIGluIHJ1Ynks IGl0IG1heSBiZSB1c2VmdWwgdG8gbm90IG9ubHkgaGF2ZQptb3JlIGNvbnRyb2wsIGJ1dCBtYWtl IG1hbmFnaW5nIHRoYXQgcnVieSBjb2RlIHNpbXBsZXIuIEluCnlvdXIgZXhhbXBsZSwgdGhlIGF1 dGhvciB3aG8gd3JvdGUgdGhlIGNvZGUgbXVzdCBoYXZlIGZvcmdvdHRlbgp0byByZXF1aXJlIHNv bWUgb3RoZXIgZmlsZXM7IGJ1dCBJIHVuZGVyc3RhbmQgdGhhdCB0aGlzIG1heQpiZSB0ZWRpb3Vz IGlmIG9uZSBoYXMgYSBsYXJnZSBwcm9qZWN0IHdpdGggbG90cyBvZiAucmIgZmlsZXMuClRoZW4g dGhlcmUgYXJlIGFsc28gY2lyY3VsYXIgd2FybmluZ3Mgd2hpY2ggYXJlIG5vIGZ1biBhdCBhbGwu CgpJIGFtIGNvbmZpZGVudCB0aGF0IHRoaXMgbWF5IGltcHJvdmUgaW4gdGhlIGxvbmcgcnVuIC0g bWF0eiAKYWx3YXlzIHNhaWQgdGhhdCBydWJ5IGlzIGZvciBodW1hbnMgcmF0aGVyIHRoYW4gY29t cHV0ZXJzCmFuZCB0aGF0IHRoZSBjb3JlIHRlYW0gd2lsbCBsaXN0ZW4gdG8gKGFuZCBwcmlvcml0 aXplIG9uKQoicmVhbCBwcm9ibGVtcyIgYW5kIHBhaW5wb2ludHMgcGVvcGxlIGhhdmUgd2hlbiB3 cml0aW5nCnJ1YnkgY29kZS4gQW5kIHBlcnNvbmFsbHkgSSB0aGluayB0aGF0IGEgbG90IG9mIHRo ZXNlIHByb2JsZW1zCmVtZXJnZSB3aGVuIG9uZSB3cml0ZXMgYSBsb3Qgb2YgcnVieSBjb2RlIGFu ZCBoYXMgbG90cyBvZiAKcnVieSBmaWxlcywgdG9vLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTQ5ODI6IEltcHJvdmUgbmFtZXNwYWNlIHN5c3Rl bSBpbiBydWJ5IHRvIGF2b2lkaW5nIHRvcC1sZXZlbCAgbmFtZXMgY2hhb3MKaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0OTgyI2NoYW5nZS03MzUxNAoKKiBBdXRob3I6IGpqeXIg KGp5IGopCiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiAKKiBU YXJnZXQgdmVyc2lvbjogCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IyMgV2h5CgpSdWJ5IGhhcyBldmFsdWF0aW9uIGFsbCBjbGFzcy9tb2R1bGUgbmFtZXMgaW4gdG9w LWxldmVsIGNvbnRleHQoYWthIFRPUExFVkVMX0JJTkRJTkcpLiAKQXMgYSB1c2VyIHdlIGJhc2lj YWxseSBoYXJkIHRvIGtub3cgaG93IG1hbnkgbmFtZXMgaW4gdGhlIGN1cnJlbnQgY29udGV4dCwg aXMgY2F1c2luZyBjaGFvcyBpbiBzb21lIGNhc2VzLiBGb3IgZXhhbXBsZToKCmNhc2UgMTogCgpQ dXQgY29tbW9uIHVzZWQgZXJyb3JzIGNsYXNzIGluIGEgc2luZ2xlIGZpbGUsIGxpa2UgYmVsb3cK CmBgYCBydWJ5CiMgdXRpbHMvZXJyb3JzLnJiCgpjbGFzcyBGb29FcnJvcgplbmQKCmNsYXNzIEJh ckVycm9yCmVuZApgYGAKCkluIG90aGVyIGZpbGVzIHVuZGVyICd1dGlscycgd2Ugd2FudCB0byB1 c2UgdGhvc2UgZXJyb3JzLCBzbyB0aGUgYmVzdCBwcmFjdGljZSBpcyB0byB1c2UgYHJlcXVpcmVf cmVsYXRpdmUgJ2Vycm9ycydgIGluIGVhY2ggZmlsZSB3ZSBuZWVkLgoKYGBgIHJ1YnkKIyB1dGls cy9iaW5hcnlfaGVscGVyLnJiCgojIHdlIGZvcmdldCByZXF1aXJlIGVycm9ycwoKbW9kdWxlIEJp bmFyeUhlbHBlcgojIC4uLgogIHJhaXNlIEJhckVycm9yCiMgLi4uCmVuZAoKYGBgCgpCdXQgc29t ZXRpbWUgd2UgbWF5IGZvcmdldCB0byByZXF1aXJlIGRlcGVuZGVuY2llcyBpbiBhIGZpbGUsIGl0 J3MgaGFyZCB0byBub3RpY2UgYmVjYXVzZQogaWYgUnVieVZNIGFscmVhZHkgZXhlY3V0ZSB0aGUg cmVxdWlyZXMgd2Ugc3RpbGwgY2FuIGFjY2VzcyB0aGUgbmFtZSBCYXJFcnJvciwKCmJ1dCBpZiB1 c2VyIGRpcmVjdGx5IHRvIHJlcXVpcmUgJ3V0aWxzL2JpbmFyeV9oZWxwZXInLCBoZS9zaGUgd2ls bCBnb3QgYW4gTmFtZUVycm9yLgoKCmNhc2UgMjogCgpUd28gZ2VtcyB1c2Ugc2FtZSB0b3AtbGV2 ZWwgbW9kdWxlIG5hbWUsIHNvIHdlIGNhbid0IHVzZSB0aGVtIHRvZ2V0aGVyCgojIyBUaGUgUmVh c29uIG9mIFRoZSBQcm9ibGVtCgpUaGUgcmVhc29uIGlzIHdlIGxldCBtb2R1bGUgYXV0aG9yIHRv IGRlY2lzaW9uIHdoaWNoIG1vZHVsZSB1c2VyIGNhbiB1c2UuICgncmVxdWlyZScgaXMgYmFzaWNh bGx5IGV2YWx1YXRpb24sIGhpZ2hseSBkZXBlbmRlbnQgb24gdGhlIG1vZHVsZSBhdXRob3IncyBk ZXNpZ24pCgpCdXQgd2Ugc2hvdWxkIGxldCB1c2VycyBjb250cm9sIHdoaWNoIG5hbWVzIHRvIHVz ZSBhbmQgYXZhaWxhYmxlIGluIGNvbnRleHQuIEFzIG1hbnkgb3RoZXIgcG9wdWxhciBsYW5ndWFn ZXMgZG9zZShSdXN0LCBQeXRob24uLikKCkkgdGhpbmsgdGhlIHNvbHV0aW9uIGlzIGJhc2ljYWxs eSB0aGUgc2FtZSBwaGlsb3NvcGh5IGNvbXBhcmVzIHRvIHJlZmluZW1lbnQgZmVhdHVyZS4KCgoj IyBUaGUgRGVzaWduCgpJIHByb3Bvc2UgYW4gaW1wcm92ZWQgbmFtZXNwYWNlIHRvIFJ1YnksIHRv IHNvbHZlIHRoZSBwcm9ibGVtcyBhbmQgc3RpbGwgY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50 IFJ1YnkgbW9kdWxlIHN5c3RlbS4KCmBgYCBydWJ5CmNsYXNzIEZvbwplbmQKCiMgaW50cm9kdWNl IEtlcm5lbCNuYW1lc3BhY2UKbmFtZXNwYWNlIDpIZWxsbyBkbwogICMgYXZvaWRpbmcgbmFtZXNw YWNlIGNoYW9zCiAgIyBGb28gLT4gTmFtZUVycm9yLCBjYW4ndCBhY2Nlc3MgVE9QTEVWRUxfQklO RElORyBkaXJlY3RseQogIAogICMgS2VybmVsI2ltcG9ydCBtZXRob2QsIGludHJvZHVjZSBGb28g bmFtZSBmcm9tIFRPUExFVkVMX0JJTkRJTkcKICBpbXBvcnQgOkZvbwoKICAjIGluIGEgbmFtZXNw YWNlIHVzZXIgY2FuIG9ubHkgYWNjZXNzIGltcG9ydGVkIG5hbWUKICBGb28KCiAgIyBpbXBvcnQg Y29uc3RhbnQgdG8gYW5vdGhlciBhbGlhcyBuYW1lCiAgIyBjYW4gYXZvaWQgd3JpdGluZyBuZXN0 ZWQgbW9kdWxlL2NsYXNzIG5hbWVzCiAgaW1wb3J0IDoiQTo6Qjo6Qzo6RCIsIGFzOiA6RQoKICAj IHJlcXVpcmUgdGhlbiBpbXBvcnQsIGZvciBjb252ZW5pZW50IAogIGltcG9ydCA6IkE6OkI6OkM6 OkQiLCBhczogOkUsIGZyb206ICdzb21lX3JiX2ZpbGUnCgogICMgaW1wb3J0IHNhbWUgbmFtZSBm cm9tIHR3byBnZW1zCiAgaW1wb3J0IDoiRm9vIiwgYXM6IDpGb29fQSwgZnJvbTogJ2Zvb19hJwog IGltcG9ydCA6IkZvbyIsIGFzOiA6Rm9vX0IsIGZyb206ICdmb29fYicKCiAgIyBpbXBvcnQgbmFt ZXMgaW4gYmF0Y2gKICBpbXBvcnQgJWl7IkE6OkI6OkM6OkQiLCAiQW5vdGhlckNsYXNzIn0sIGZy b206ICdzb21lX3JiX2ZpbGUnCgogICMgaW1wb3J0IGFuZCBhbGlhcyBpbiBiYXRjaAogIGltcG9y dCB7OiJBOjpCOjpDOjpEIiA9PiA6RSwgOkZvbyA9PiBGb28yfSwgZnJvbTogJ3NvbWVfcmJfZmls ZScKCiAgY2xhc3MgQmFyCiAgICBkZWYgeHh4CiAgICAgICMgY2FuIGFjY2VzcyBhbGwgbmFtZXMg aW4gbmFtZXNwYWNlIHNjb3BlCiAgICAgIFtGb28sIEZvb19BLCBGb29fQl0KICAgIGVuZAogIGVu ZAplbmQKCkhlbGxvLmNsYXNzICMgIC0+IG1vZHVsZS4gbmFtZXNwYWNlIGlzIGp1c3QgYSBtb2R1 bGUKSGVsbG86OkJhciAjIHNvIHdlIGRvIG5vdCBicm9rZW4gY3VycmVudCBydWJ5IG1vZHVsZSBk ZXNpZ24KCiMgbmFtZXNwYWNlIHN5c3RlbSBpcyBpbnRlbnQgdG8gbGV0IHVzZXIgdG8gY29udHJv bCBuYW1lcyBpbiBjb250ZXh0CiMgU28gdXNlciBjYW4gY2hvb3NlIHVzZSB0aGUgb2xkIHJlcXVp cmUgd2F5CgpyZXF1aXJlICdoZWxsbycKCkhlbGxvOjpCYXIKCgojIE9yIHVzZXIgY2FuIHVzZSBu YW1lc3BhY2Ugc3lzdGVtIGFzIHdlIGRvIGluIGhlbGxvLnJiCgpuYW1lc3BhY2UgOkV4YW1wbGUg ZG8KICBpbXBvcnQgOiJIZWxsbzo6QmFyIiwgYXM6IDpCYXIKICBCYXIgIyBvawogIEZvbyAjIG5h bWUgZXJyb3IsIGNhdXNlIHdlIGRvIG5vdCBpbXBvcnQgRm9vIGluIDpFeGFtcGxlIG5hbWVzcGFj ZQplbmQKCkZvbyAjIG9rLCBjYXVzZSBGb28gaXMgbG9hZGVkIGluIFRPUExFVkVMX0JJTkRJTkcK CiMgZGVmaW5lIG5lc3RlZCBuYW1lc3BhY2UKCiMgbW9yZSBjbGVhciBzeW50YXggdGhhbiDigJxt b2R1bGUgRXhhbXBsZTo6TmVzdGVkRXhhbXBsZeKAnQpuYW1lc3BhY2UgOk5lc3RlZEV4YW1wbGUs IHVuZGVyOiBFeGFtcGxlIGRvCmVuZAoKbmFtZXNwYWNlIDpFeGFtcGxlMiBkbwogIG5hbWVzcGFj ZSA6TmVzdGVkRXhhbXBsZSBkbwogIGVuZAplbmQKCmBgYAoKUHJvczoKCiogQ29tcGxldGVseSBj b21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgbW9kdWxlIHN5c3RlbSwgYSBnZW0gdXNlciBjYW4g Y29tcGxldGVseSBpZ25vcmUgd2hldGhlciBhIGdlbSBpcyB3cml0ZSBpbiBOYW1lc3BhY2Ugb3Ig bm90LgoqIFVzZXIgY2FuIGNvbXBsZXRlbHkgY29udHJvbCB3aGljaCBuYW1lcyBpbiBjdXJyZW50 IGNvbnRleHQvc2NvcGUuCiogTWF5IHNvbHZlIHRoZSB0b3AgbW9kdWxlIG5hbWUgY29uZmxpY3Qg aXNzdWUoZGVwZW5kcyBvbiBWTSBpbXBsZW1lbnRhdGlvbikuCiogQXZvaWQgaW50cm9kdWNpbmcg bmV3IGtleXdvcmQgYW5kIHN5bnRheC4KKiBUeXBlIGhpbnQgb3IgbmFtZSBoaW50IGNhbiBiZSBt b3JlIGFjY3VyYWN5IHVuZGVyIG5hbWVzcGFjZShub3Qgc3VyZSkuCgpDb25zOgoKKiBOZWVkIHRv IG1vZGlmeSBSdWJ5IFZNIHRvIHN1cHBvcnQgdGhlIGZlYXR1cmUuCgoKCgotLSAKaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvCg==