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.6 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,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 3068A1F953 for ; Mon, 15 Nov 2021 10:19:10 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 5CEBA120BD5; Mon, 15 Nov 2021 19:19:07 +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 DF666120BC6 for ; Mon, 15 Nov 2021 19:19:04 +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; s=smtpapi; bh=RAc19FMhPZ4SK/Jm7p+tkPO8iAv/mneYwUX7BBizCQ4=; b=mHTvFO8Yhq5tlL8PtHvNFpjub9WpgTvh7RVgPrRS0kVT7i2G80ftJ8VWFAAk2XYU76tD H6wNjM/WJA9J4RfMbGh5aspuui2Bm2feVPMORTMogDO60iAWsZU/U09bz60om2T3YVTw3L iJn7HJdRbPhNpdGHfUkAw+5t37v7R6++o= Received: by filterdrecv-64fcb979b9-7lnp4 with SMTP id filterdrecv-64fcb979b9-7lnp4-1-61923414-2B 2021-11-15 10:19:00.822826891 +0000 UTC m=+5394087.753387259 Received: from herokuapp.com (unknown) by geopod-ismtpd-5-1 (SG) with ESMTP id wiTHpHYuSzaPPJg3VWNSmg for ; Mon, 15 Nov 2021 10:19:00.741 +0000 (UTC) Date: Mon, 15 Nov 2021 10:19:00 +0000 (UTC) From: duerst Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 18336 X-Redmine-Issue-Author: duerst X-Redmine-Sender: duerst 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: 82312 X-SG-EID: =?us-ascii?Q?sZFLhNnqjcW9Ht8ByfkgOQbWPVETXXFxLuf0UPwpQ=2FbXrx066LnwciY0taRhC1?= =?us-ascii?Q?++A6DTJJ4lt=2FzJkwBQUmmbJXhB+C4nQ033MjSGj?= =?us-ascii?Q?je1hQsVsHtfX9xw6oL1EQ3JUUVZDr2iX1mPT833?= =?us-ascii?Q?GrYMpGYuP3JgdNw5KXW7lFeeD3ThVAulWEskeRp?= =?us-ascii?Q?YVq4nNkIXQk13lWUgGvJpOTLr7Ta0jNgJRzagQs?= =?us-ascii?Q?ybGVjucI3+MLQHBD5blQENd8X5xBzUImAAd2=2FV3?= =?us-ascii?Q?RatK9Kv4=2FU+wLtz7HfBYQ=3D=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 106071 Subject: [ruby-core:106071] [Ruby master Feature#18336] How to deal with Trojan Source vulnerability 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" SXNzdWUgIzE4MzM2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgZHVlcnN0IChNYXJ0aW4gRMO8cnN0KS4N Cg0KDQptYW1lIChZdXN1a2UgRW5kb2gpIHdyb3RlIGluICNub3RlLTM6DQo+IEknbSBhZnJhaWQg aWYgcHJvaGliaXRpbmcgb3Igd2FybmluZyBiaWRpIGNoYXJhdGVycyBtYXkgYm90aGVyIHByb2dy YW1tZXJzIHdobyB1c2UgQXJhYmljIGFuZC9vciBIZWJyZXcuDQoNClRoaXMgaXMgYSB2ZXJ5IGdv b2QgcG9pbnQuIEknbSBub3QgYW4gYWN0dWFsIHVzZXIgb2YgdGhlIEFyYWJpYyBvciBIZWJyZXcg c2NyaXB0IChvciBzb21lIG90aGVyIFJUTCAocmlnaHQtdG8tbGVmdCkgc2NyaXB0IHN1Y2ggYXMg U3lyaWFjLC4uLiksIGJ1dCBJIGhhdmUgZG9uZSBzdGFuZGFyZHMgd29yayBhbmQgcmVzZWFyY2gg aW4gdGhpcyBhcmVhLCBzbyBJJ2xsIGFuc3dlciBmcm9tIHRoaXMgcGVyc3BlY3RpdmUuDQoNCkZp cnN0LCB0aGUgYmlkaSBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBuZWVkZWQgdG8ganVzdCB3 cml0ZSBhIGNvbW1lbnQgaW4gYW55IG9mIHRoZXNlIHNjcmlwdHMuIEEgY29tbWVudCBwdXJlbHkg aW4gQXJhYmljIG9yIGEgc3RyaW5nIHB1cmVseSBpbiBIZWJyZXcgd2lsbCBhdXRvbWF0aWNhbGx5 IGJlIGRpc3BsYXllZCBSVEwuIEJpZGkgY29udHJvbHMgbWF5IGJlIG5lZWRlZCBpZiB0aGUgY29t bWVudCBhbHNvIGNvbnRhaW5zIExUUiAobGVmdC10by1yaWdodCkgY2hhcmFjdGVycyAoZS5nLiBM YXRpbiBvciBLYW5qaS9LYW5hKSwgYnV0IHN0aWxsIGNhbiBtb3N0bHkgYmUgYXZvaWRlZC4NCg0K QmlkaSBlbWJlZGRpbmdzIChVKzIwMkEvVSsyMDJCKSBhcmUgb25seSBuZWVkZWQgaWYgeW91IGhh dmUgYSBzdHJ1Y3R1cmUgb2YgTFRSIGluc2lkZSBSVEwgaW5zaWRlIExUUiwgYnV0IHRoYXQgc2hv dWxkbid0IGJlIG5lZWRlZCBmb3IgbW9zdCBjb21tZW50cywgYW5kIGlmIGl0IGxvb2tzIGxpa2Ug aXQgbWF5IGJlIG5lZWRlZCwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGF2b2lkIHRoaXMgYnkg dXNpbmcgbW9yZSB0aGFuIG9uZSBsaW5lLg0KDQpCaWRpIG92ZXJyaWRlcyAoVSsyMDJEL1UrMjAy RSkgYXJlIG9ubHkgbmVlZGVkIGZvciBmaXhlZCBoYXJkIG9yZGVyaW5nLCB3aXRoIHRoZSBtYWlu IGFwcGxpY2F0aW9uIEkgaGF2ZSBoZWFyZCBvZiBiZWluZyBwYXJ0IG51bWJlcnMgdGhhdCBtYXkg Y29udGFpbiBjaGFyYWN0ZXJzIGZyb20gdmFyaW91cyBzY3JpcHRzLiBUaGV5IG1heSBhbHNvIGJl IGhlbHBmdWwgZS5nLiBpZiBzb21lYm9keSB3YW50cyB0byBuYWlsIGRvd24gdGhlIGV4YWN0IHZp c3VhbCBvdXRwdXQgZXhwZWN0ZWQuDQoNCkJpZGkgaXNvbGF0ZXMgKFUrMjA2Ni9VKzIwNjcvVSsy MDY4KSBhcmUgYSByZWxhdGl2ZWx5IG5ldyBhZGRpdGlvbi4gVGhlaXIgbWFpbiB1c2UgaXMgYXMg cmVwbGFjZW1lbnQgZm9yIGJpZGkgZW1iZWRkaW5ncywgb3IgdG8gaXNvbGF0ZSBwaWVjZXMgd2l0 aCBhIGZpeGVkIGludGVybmFsIG9yZGVyIGZyb20gb3V0c2lkZSB0ZXh0cy4gVGhlaXIgdHlwaWNh bCB1c2UgaXMgZS5nLiB3aGVuIGFkZGluZyBpdGVtcyBmcm9tIGEgZGF0YWJhc2UgaW50byB0ZXh0 IGluIGFuIHVzZXIgaW50ZXJmYWNlLiBTbyBJIGV4cGVjdCB0aGVtIHRvIGFwcGVhciBxdWl0ZSBh IGJpdCBpbiBzdHJpbmcgaW50ZXJwb2xhdGlvbnMsIGJ1dCBpbiB0aGF0IGNvbnRleHQsIGhhdmlu ZyB0aGVtIGVzY2FwZWQgd291bGQgcHJvYmFibHkgaGVscCB0aGUgcHJvZ3JhbW1lci4NCg0KQWxz bywgYSBiaWcgYWR2YW50YWdlIGlzIHRoYXQgcHJvZ3JhbSB0ZXh0IGRvZXMgbm90IGdldCByZWZs b3dlZC4gQmlkaSBjb250cm9scyBhcmUgbXVjaCBtb3JlIGltcG9ydGFudCBmb3IgcmVmbG93ZWQg dGV4dCAoZS5nLiBpbiBkb2N1bWVudHMgb3Igd2ViIHBhZ2VzKTsgZm9yIHRleHRzIHdpdGggZml4 ZWQgbGluZWJyZWFrcywgc29tZSAiY2hlYXRpbmciIGlzIHBvc3NpYmxlIChqdXN0IHB1dCBwaWVj ZXMgb2YgdGV4dCBvbiB0aGUgbGluZSBzbyB0aGV5IHNob3cgdXAgdGhlIHdheSB5b3Ugd2FudCku DQoNCk9uIHRoZSBvdGhlciBoYW5kLCBwcm9ncmFtbWluZyBpbmNsdWRlcyBhIGxvdCBvZiBzeW1i b2wgY2hhcmFjdGVycy4gTWFueSBpZiBub3QgbW9zdCBvZiB0aGVzZSBzeW1ib2wgY2hhcmFjdGVy cyBhcmUgJ3dlYWsnIGluIHRoZSBiaWRpIGFsZ29yaXRobSwgaS5lLiB0aGV5IHRha2UgdGhlaXIg ZGlyZWN0aW9uYWxpdHkgZnJvbSB0aGUgc3Vycm91bmRpbmcgYWxwaGFiZXRpYyBjaGFyYWN0ZXJz LiBCdXQgaW4gcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLCB0aGVzZSBzeW1ib2wgY2hhcmFjdGVycyBh cmUgYWN0dWFsbHkgdGhlIGNoYXJhY3RlcnMgdGhhdCBkZXRlcm1pbmUgdGhlIG92ZXJhbGwgc3lu dGF4Lg0KDQpUaGlzIG1heSBsZWFkIHRvIHByb2JsZW1zIGluIGNvbW1lbnRzIHRoYXQgY291bGQg YmUgYWRkcmVzc2VkIGJ5IHVzaW5nIGJpZGkgY29udHJvbHMuIE1vcmUgb2Z0ZW4sIGl0IG1heSBs ZWFkIHRvIHByb2JsZW1zIGlmIFJUTCB0ZXh0IGlzIHVzZWQgZS5nLiBmb3IgdmFyaWFibGUgbmFt ZXMuIEFzIGFuIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgUnVieSBmcmFnbWVudCBoYXMgb25lIGNv bW1lbnQgYW5kIG9uZSB2YXJpYWJsZSBuYW1lIGluIEFyYWJpYy4gVGhlIGNvbW1lbnQgbG9va3Mg ZmluZSwgdGhlIGFzc2lnbm1lbnQgb2YgMjAgdG8gdGhlIHZhcmlhYmxlINmD2KrYqCB3aWxsIG5l ZWQgc29tZSB0aW1lIHRvIGdldCB1c2VkIHRvLiBCdXQgdGhhdCdzIG5vdCB0aGUgcHJvYmxlbSBp biB0aGlzIGlzc3VlLg0KYGBgcnVieQ0KYm9vayA9IDIwICMg2YPYqtioDQrZg9iq2KggPSAyMA0K YGBgDQoNClRoZSBvcmlnaW5hbCBwYXBlciBzYXlzIHRoYXQgaWYgdGhlIGJpZGkgY29udHJvbCBj aGFyYWN0ZXJzIGFyZSBuaWNlbHkgZ3JvdXBlZCAoaS5lLiBlYWNoIG9mIHRoZSBvcGVuaW5nIGNo YXJhY3RlcnMgbWVudGlvbmVkIGFib3ZlIGlzIGZvbGxvd2VkIGJ5IHRoZSByZXNwZWN0aXZlIGNs b3NpbmcgY2hhcmFjdGVyIChlaXRoZXIgUERGLCBVKzIwMkMsIG9yIFBESSwgVSsyMDY5KSwgdGhl biB0aGVyZSBpcyBubyB2dWxuZXJhYmlsaXR5LiBTbyBpdCBtYXkgYmUgcG9zc2libGUgZm9yIGNv bW1lbnRzIGFuZCBzdHJpbmdzIHdpdGhvdXQgaW50ZXJwb2xhdGlvbnMgdG8gY2hlY2sgZm9yIHRo YXQgY29uZGl0aW9uLiBCdXQgSSB3b3VsZCBmaXJzdCBsaWtlIHRvIHZlcmlmeSB0aGlzIGNsYWlt OyBiaWRpIGNhbiBiZSBxdWl0ZSB0cmlja3kuDQoNCg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE4MzM2OiBIb3cgdG8gZGVhbCB3aXRoIFRy b2phbiBTb3VyY2UgdnVsbmVyYWJpbGl0eQ0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNz dWVzLzE4MzM2I2NoYW5nZS05NDY2MA0KDQoqIEF1dGhvcjogZHVlcnN0IChNYXJ0aW4gRMO8cnN0 KQ0KKiBTdGF0dXM6IE9wZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGhlICJUb3JqYW4gU291cmNlIiB2dWxuZXJhYmlsaXR5 IHJlY2VudGx5IGhhcyBjYXVnaHQgc29tZSBhdHRlbnRpb24uDQoNClRoZSB2dWxuZXJhYmlsaXR5 IGludm9sdmVzIHVzaW5nIGNlcnRhaW4gY29tYmluYXRpb25zIG9mIFVuaWNvZGUgY2hhcmFjdGVy cyB0byBsZXQgc291cmNlIGNvZGUgbG9vayBsaWtlIGl0IGlzIGNvcnJlY3QgKGFuZCB0aGVyZWZv cmUgcGFzcyBjb2RlIHJldmlldywuLi4pIGJ1dCBhY3R1YWxseSBkbyBzb21ldGhpbmcgZWxzZSB0 aGFuIGludGVuZGVkLg0KDQpGb3IgYmFja2dyb3VuZCwgcGxlYXNlIHNlZSBkaXNjdXNzaW9uIG9u IEtyZWJzb25TZWN1cml0eSAoaHR0cHM6Ly9rcmVic29uc2VjdXJpdHkuY29tLzIwMjEvMTEvdHJv amFuLXNvdXJjZS1idWctdGhyZWF0ZW5zLXRoZS1zZWN1cml0eS1vZi1hbGwtY29kZS8pIGFuZCB0 aGUgV2ViIHNpdGUgKGh0dHBzOi8vd3d3LnRyb2phbnNvdXJjZS5jb2Rlcy8pIGFuZCBvcmlnaW5h bCBwYXBlciAoaHR0cHM6Ly93d3cudHJvamFuc291cmNlLmNvZGVzL3Ryb2phbi1zb3VyY2UucGRm KS4NCg0KSSBjb250YWN0ZWQgdGhlIFJ1Ynkgc2VjdXJpdHkgbGlzdCwgd2hpY2ggd2FzIGFscmVh ZHkgYXdhcmUgb2YgdGhlIGlzc3VlLCBhbmQgd2UgYWdyZWVkIHRvIGRpc2N1c3MgdGhpcyBoZXJl IGJlY2F1c2UgdGhlIHZ1bG5lcmFiaWxpdHkgaXMgYWxyZWFkeSBwdWJsaWMuDQoNClRoZSBwYXBl ciBmb2N1c2VzIG9uIHRoZSB1c2Ugb2YgW0FdIERpcmVjdGlvbmFsIEZvcm1hdHRpbmcgQ2hhcmFj dGVycyAoKjEpIGluIHN0cmluZyBjb25zdGFudHMsIGNvbW1lbnRzLCBhbmQgc2ltaWxhciBjb25z dHJ1Y3RzIHRvIGNoYW5nZSB0aGUgdmlzdWFsIGFwcGVhcmFuY2Ugb2YgY29kZSBvdXRzaWRlIHRo ZXNlIGNvbnN0cnVjdHMuIFRoZXJlIGFyZSByZWxhdGVkIHZ1bG5lcmFiaWxpdGllcywgbmFtZWx5 IHRoZSB1c2Ugb2YgW0JdIG5vbi1zcGFjaW5nIChhbmQgdGhlcmVmb3JlIG1vc3RseSBpbnZpc2li bGUpIGNoYXJhY3RlcnMgZS5nLiBpbiB2YXJpYWJsZSBuYW1lcywgYW5kIHRoZSB1c2Ugb2YgW0Nd IG1peGVkLXNjcmlwdCBpZGVudGlmaWVycywgd2hpY2ggYWxzbyBsZXRzIHNvbWUgdmFyaWFibGUg bmFtZXMgbG9vayBpZGVudGljYWwgZXZlbiBpZiB0aGV5IGFyZSBub3QuDQoNClNvbWUgbGFuZ3Vh Z2VzLCBzdWNoIGFzIFJ1c3QsIGhhdmUgYWRkcmVzc2VkIFtBXSAoc2VlIGh0dHBzOi8vYmxvZy5y dXN0LWxhbmcub3JnLzIwMjEvMTEvMDEvY3ZlLTIwMjEtNDI1NzQuaHRtbCkgYnkgcmVxdWlyaW5n IGVzY2FwZXMgdG8gYmUgdXNlZCBmb3IgdGhlIHJlbGV2YW50IGNoYXJhY3RlcnMgaW4gc291cmNl LiBPbiB0aGUgb3RoZXIgaGFuZCwgcGVvcGxlIHN1Y2ggYXMgUnVzcyBDb3ggdGhpbmsgY29tcGls ZXJzIGFyZSB0aGUgd3JvbmcgcGxhY2UgdG8gYWRkcmVzcyB0aGUgaXNzdWU7IGl0IHNob3VsZCBi ZSBhZGRyZXNzZWQgaW4gZWRpdG9ycyBhbmQgc2ltaWxhciB0b29scyAoc2VlIGh0dHBzOi8vcmVz ZWFyY2guc3d0Y2guY29tL3Ryb2phbikuIEdpdGh1YiBub3cgd2FybnMgYWJvdXQgDQoNClRoZSBx dWVzdGlvbiBpcyB3aGF0IFJ1Ynkgc2hvdWxkIGRvLCBpZiBhbnl0aGluZy4NCkFkZHJlc3Npbmcg W0FdIHNpbWlsYXIgdG8gaG93IFJ1c3QgZG9lcyBpdCBjYW4gYmUgZG9uZSByZWxhdGl2ZWx5IGVh c2lseS4gSWYgdGhhdCdzIGRvbmUsIEknZCBwcmVmZXIgdG8gb25seSByZWplY3QgaW5jb21wbGV0 ZSBCaWRpIGNvbnRyb2wgc2VxdWVuY2VzLCB3aGljaCBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVk LiBJbiBwYXJ0aWN1bGFyLCBzdHJpbmcgaW50ZXJwb2xhdGlvbiBuZWVkcyBhIHZlcnkgY2FyZWZ1 bCBhbmFseXNpcy4NCkZvciBbQl0sIEknbGwgb3BlbiBhIHNlcGFyYXRlIGlzc3VlLg0KRm9yIFtD XSwgd2UgaGF2ZSBhbGwgZGF0YSBhYm91dCBzY3JpcHRzLCBidXQgdGhlIHdheSBpdCdzIGN1cnJl bnRseSBzdHJ1Y3R1cmVkIG1ha2VzIGZpbmRpbmcgb3V0IHdoaWNoIGNoYXJhY3RlciBhIHNjcmlw dCBiZWxvbmdzIHRvIHF1aXRlIGluZWZmaWNpZW50Lg0KDQoNCigqMSkgIkRpcmVjdGlvbmFsIEZv cm1hdHRpbmcgQ2hhcmFjdGVyIiBpcyB0aGUgb2ZmaWNpYWwgVW5pY29kZSB0ZXJtIChzZWUgaHR0 cHM6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjkvI0RpcmVjdGlvbmFsX0Zvcm1hdHRpbmdf Q2hhcmFjdGVycykuIFRoZSB0ZXJtcyAiQmlkaS9CaWRpcmVjdGlvbmFsIGNvbnRyb2wiIG9yICJC aWRpL0JpZGlyZWN0aW9uYWwgY29udHJvbCBjaGFyYWN0ZXIiIGFyZSBhbHNvIHVzZWQuIE92ZXJh bGwsIHRoZXJlIGFyZSA5IHN1Y2ggY2hhcmFjdGVycy4gVW5mb3J0dW5hdGVseSwgYm90aCB0aGUg cGFwZXIgYW5kIEtyZWJzb25TZWN1cml0eSB1c2UgdGhlIHRlcm0gIkJpZGkgT3ZlcnJpZGUiLCB3 aGljaCBpcyBoaWdobHkgbWlzbGVhZGluZy4gVGhlIHRlcm0g4oCcQmlkaSBPdmVycmlkZeKAnSBp cyByZXNlcnZlZCBmb3IgdHdvIGNoYXJhY3RlcnMgb25seToNCkxSTywgVSsyMDJELCBMZWZ0LXRv LVJpZ2h0IE92ZXJyaWRlLCBhbmQgUkxPLCBVKzIwMkUsIFJpZ2h0LXRvLUxlZnQgT3ZlcnJpZGUg KHNlZSBUYWJsZSAxIGluIHRoZSBwYXBlcikuIEl0IGlzIGFsc28gdXNlZCBmb3IgdGhlIHBoZW5v bWVub24gYXNzb2NpYXRlZCB3aXRoIHRoZXNlIHR3byBjaGFyYWN0ZXJzLCBhIOKAnGhhcmTigJ0g b3ZlcnJpZGUgKGkuZS4gYWZmZWN0aW5nIGFsbCBjaGFyYWN0ZXJzIGluY2x1ZGluZyBlLmcuIHRo ZSBMYXRpbiBhbHBoYWJldCksIGFuZCBtZWNoYW5pc21zIGluIG90aGVyIHRlY2hub2xvZ3kgdGhh dCBhY2hpZXZlIHRoZSBzYW1lIChlLmcuIHRoZSBIVE1MIGJkbyBlbGVtZW50IChodHRwczovL2h0 bWwuc3BlYy53aGF0d2cub3JnLyN0aGUtYmRvLWVsZW1lbnQpIG9yIHRoZSDigJhiaWRpLW92ZXJy aWRl4oCZIHZhbHVlIG9mIHRoZSB1bmljb2RlLWJpZGkgcHJvcGVydHkgaW4gQ1NTIChodHRwczov L3d3dy53My5vcmcvVFIvQ1NTMi92aXN1cmVuLmh0bWwjcHJvcGRlZi11bmljb2RlLWJpZGkpKS4N Cg0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCg==