From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 89FC71F5CB for ; Tue, 1 Oct 2024 17:19:57 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=QruNMwqc; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=I8/E4/r+; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1727803194; bh=Gjs8v1LUfOLZQSBpU/IciUikZ2xTUxqLWuCzf+3VE28=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=QruNMwqcoUTBvewjvP3eJv1jdrAK/1PbzfsirJ9F81VFmFzMzRSf+NYOzni7Zd86+ F2SsjvU29Tu4U1kAtqjEO5voNzWxOWKSgSSScVTvSZOn+W/5LCSs5UYKDWMWCFPzWG Xp1VlCbAWPtCAwRunbpAxRr6W9llqdjPvEJCH3mY= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id E9AA243F66 for ; Tue, 1 Oct 2024 17:19:54 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=I8/E4/r+; dkim-atps=neutral Received: from s.wfbtzhsv.outbound-mail.sendgrid.net (s.wfbtzhsv.outbound-mail.sendgrid.net [159.183.224.104]) by nue.mailmanlists.eu (Postfix) with ESMTPS id DE8CD43F1D for ; Tue, 1 Oct 2024 17:19:43 +0000 (UTC) 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:content-type:from:subject:to; s=s1; bh=J7qnzo0eYmg4hxymRGhBBcKEscysRfag+Nui1zGTQac=; b=I8/E4/r+4b0uUt+x46hXyQPNLha0Yfy2Rf8jKqZgSYz0Qn4s1WbT8cpFdXAF1ddL8DYc Qsq+5xfYa62ZNJqr/+8KeJx06h/II5nnLuDnz/g7wiPRILEt8KMDDU7gnKibmHm9Q89DcV SzaGknFj/PrP5QM+laVxGCvmG5Cwa/NJDTYX4+Gk9XiBUDubUAVXHddn/mFnyXIVIQXVUb sZStHDdWJAoXlvItDAjGgWo3T+mySmCf3Mo5ZI8cJog7DlK4MZFcpz0RfCXll//GPn3q9P pDFB2TWfwVh/9LLuFYzbO4J7h/EOc+SG4R5kRRAvDaYswnyH14RFeutbu04bw36w== Received: by recvd-7cc7f7d978-tqszr with SMTP id recvd-7cc7f7d978-tqszr-1-66FC2F2E-17 2024-10-01 17:19:42.858363174 +0000 UTC m=+1639431.222081257 Received: from herokuapp.com (unknown) by geopod-ismtpd-31 (SG) with ESMTP id ToAwvXrMRCmLca3TJyOh0A for ; Tue, 01 Oct 2024 17:19:42.831 +0000 (UTC) Date: Tue, 01 Oct 2024 17:19:42 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 20770 X-Redmine-Issue-Author: AlexandreMagro X-Redmine-Issue-Priority: Normal 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: 96022 X-SG-EID: =?us-ascii?Q?u001=2EVFUB+kV3Tq4e5lldJMdduawSriB1JogS5aa7Rh5fx7YNCBpuvSXdLEKR+?= =?us-ascii?Q?oHmCKNf40JhtjwdWHsIE3bMUFJ9+3OpdrxTb8tg?= =?us-ascii?Q?QoXGs38KhL9P3oh0blRgmBk1HBPrJp2tCBsobtQ?= =?us-ascii?Q?IcPQOidQA2eeXCFVBDI8fNL6zJ36Bn4NcOHlibw?= =?us-ascii?Q?HdFWfQybFIRq=2FyHIAzbEO85YCESc+3ZWHeRynAU?= =?us-ascii?Q?WdwvLMVCAkA2ywgMc1GVQxXZaKaN7f7nIPDvnRv?= =?us-ascii?Q?SEsfKVbJbPn0glopwj3k8ahWDw=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: 4KXPYC5N5ULYBTNCGQJI3LC5EEOCYTCD X-Message-ID-Hash: 4KXPYC5N5ULYBTNCGQJI3LC5EEOCYTCD X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:119385] [Ruby master Feature#20770] A *new* pipe operator proposal List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "austin (Austin Ziegler) via ruby-core" Cc: "austin (Austin Ziegler)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIwNzcwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQoNCg0KSSB0aGluayB0aGF0IHRoaXMgaXMgb25lIG9mIHRoZSBtb3JlIGludGVyZXN0aW5nIGFw cHJvYWNoZXMgdG8gYSBwaXBlbGluZSBvcGVyYXRvciBpbiBSdWJ5IGFzIGl0IGlzIGp1c3Qgc3lu dGF4IHN1Z2FyLiBBcyBJIGFtIHVuZGVyc3RhbmRpbmcgaXQ6DQoNCmBgYHJ1YnkNCmZvbw0KfD4g YmFyKF8xLCBiYXopDQp8PiBob2dlKF8xLCBxdXV4KQ0KYGBgDQoNCndvdWxkIGJlIHRyZWF0ZWQg YnkgdGhlIHBhcnNlciB0byBiZSB0aGUgc2FtZSBhczoNCg0KYGBgcnVieQ0KZm9vDQogIC50aGVu IHsgYmFyKF8xLCBiYXopIH0NCiAgLnRoZW4geyBob2dlKF8xLCBxdXV4KSB9DQpgYGANCg0KSXQg d291bGQgYmUgKm5pY2UqIChnaXZlbiB0aGF0IHRoZXJlIHN5bnRheCBzdWdhcmluZyBoYXBwZW5p bmcgaGVyZSkgdGhhdCBpZiBgaXRgIG9yIGBfMWAgaXMgbWlzc2luZywgaXQgaXMgaW1wbGljaXRs eSBpbnNlcnRlZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyOg0KDQpgYGBydWJ5DQpmb28NCnw+IGJh cihiYXopDQp8PiBob2dlKHF1dXgpDQoNCiAgPT0NCg0KZm9vDQogIC50aGVuIHsgYmFyKF8xLCBi YXopIH0NCiAgLnRoZW4geyBob2dlKF8xLCBxdXV4KSB9DQpgYGANCg0KVGhpcyB3b3VsZCBlbmFi bGUgdGhlIHVzZSBvZiBjYWxsYWJsZXMgKHByb2NzIGFuZCB1bi9ib3VuZCBtZXRob2RzKSBhcyBz dWdnZXN0ZWQgYnkgQGRhbjAwNDIgaW4gI25vdGUtMjAuDQoNCkkgYW0gKm5vdCogc3VyZSB0aGF0 IHdpdGhvdXQgdGhhdCBpbXBsaWNpdCBmaXJzdCBwYXJhbWV0ZXIsIHRoZSBwb3RlbnRpYWwgY29u ZnVzaW9uIGludHJvZHVjZWQgYnkgdGhlIGRpZmZlcmVudGx5LXNoYXBlZCBibG9ja3MgaXMgd29y dGh3aGlsZS4gUmVnYXJkbGVzcywgYXMgc29tZW9uZSB3aG8gbWFpbnRhaW5zIGxpYnJhcmllcyB0 aGF0IHdpdGggZGVlcCBjb21wYXRpYmlsaXR5LCBJIHdvbid0IGJlIGFibGUgdG8gdXNlIHRoaXMg aW4gdGhvc2UgZm9yIGFub3RoZXIgZGVjYWRlIGF0IGxlYXN0IChJICpzdGlsbCogaGF2ZW4ndCBy ZWxlYXNlZCB2ZXJzaW9ucyBvZiBteSBtb3N0IHVzZWQgbGlicmFyaWVzIHRoYXQgYXJlIDMueCBv bmx5KSwgYnkgd2hpY2ggdGltZSBJIGFtIGhvcGluZyB0byBoYXZlIGZvdW5kIHNvbWVvbmUgZWxz ZSB0byBtYWludGFpbiB0aGVtLg0KDQp2by54IChWaXQgT25kcnVjaCkgd3JvdGUgaW4gI25vdGUt MTg6DQo+IFt0aGUgcGlwZSBvcGVyYXRvcl0gaXMgSU1ITyBtb3N0bHkgYWJvdXQgdHlwZSBjb252 ZXJzaW9uDQoNCkhhdmluZyB1c2VkIEVsaXhpciBoZWF2aWx5IGZvciB0aGUgbGFzdCBzZXZlbiB5 ZWFycywgSSBkbyBub3QgYWdyZWUgd2l0aCB0aGlzIGRlc2NyaXB0aW9uLiBJdCAqY2FuKiBiZSwg YW5kIHRoZSBleGFtcGxlcyBpbiBxdWVzdGlvbiBtaWdodCBiZSwgYnV0IGl0J3MgdXNlZCBlcXVh bGx5IGluIHRyYW5zZm9ybWF0aW9uICh0eXBlIGNvbnZlcnNpb24pIGFuZCBpbiBjb250ZXh0IHBh c3NpbmcuIGBQbHVnYCAobW9yZSBvciBsZXNzIHRoZSBFbGl4aXIgZXF1aXZhbGVudCB0byBSYWNr KSBpcyBjb21wb3NhYmxlIGJlY2F1c2UgdGhlIGZpcnN0IHBhcmFtZXRlciB0byBldmVyeSBwbHVn IGZ1bmN0aW9uICh3aGV0aGVyIGEgYGZ1bmN0aW9uLzJgIG9yIGEgbW9kdWxlIHdpdGggYGluaXQv MWAgYW5kIGBjYWxsLzJgKSBpcyBhIGBQbHVnLkNvbm5gIHN0cnVjdCwgYWxsb3dpbmcgY29kZSBs aWtlIHRoaXM6DQoNCmBgYGVsaXhpcg0KZGVmIGNhbGwoY29ubiwgJUNvbmZpZ3t9ID0gY29uZmln KSBkbw0KICB7bWV0YWRhdGEsIHNwYW5fY29udGV4dH0gPQ0KICAgIHN0YXJ0X3NwYW4oOnBsdWcs ICV7Y29ubjogY29ubiwgb3B0aW9uczogQ29uZmlnLnRlbGVtZXRyeV9jb250ZXh0KGNvbmZpZyl9 KQ0KDQogIGNvbm4gPQ0KICAgIHJlZ2lzdGVyX2JlZm9yZV9zZW5kKGNvbm4sIGZuIGNvbm4gLT4N CiAgICAgIHN0b3Bfc3BhbihzcGFuX2NvbnRleHQsIE1hcC5wdXQobWV0YWRhdGEsIDpjb25uLCBj b25uKSkNCiAgICAgIGNvbm4NCiAgICBlbmQpDQoNCiAgcmVzdWx0cyA9DQogICAgY29ubg0KICAg IHw+IHZlcmlmeV9yZXF1ZXN0X2hlYWRlcnMoY29uZmlnKQ0KICAgIHw+IE1hcC5uZXcoKQ0KDQog IGNvbm4NCiAgfD4gcHV0X3ByaXZhdGUoY29uZmlnLm5hbWUsIHJlc3VsdHMpDQogIHw+IGRpc3Bh dGNoX3Jlc3VsdHMoY29uZmlnKQ0KICB8PiBkaXNwYXRjaF9vbl9yZXNvbHV0aW9uKGNvbmZpZy5v bl9yZXNvbHV0aW9uKQ0KZW5kDQpgYGANCg0KVGhpcyBpcyBubyBkaWZmZXJlbnQgdGhhbjoNCg0K YGBgZWxpeGlyDQpkZWYgY2FsbChjb25uLCAlQ29uZmlne30gPSBjb25maWcpIGRvDQogIHttZXRh ZGF0YSwgc3Bhbl9jb250ZXh0fSA9DQogICAgc3RhcnRfc3Bhbig6cGx1ZywgJXtjb25uOiBjb25u LCBvcHRpb25zOiBDb25maWcudGVsZW1ldHJ5X2NvbnRleHQoY29uZmlnKX0pDQoNCiAgY29ubiA9 DQogICAgcmVnaXN0ZXJfYmVmb3JlX3NlbmQoY29ubiwgZm4gY29ubiAtPg0KICAgICAgc3RvcF9z cGFuKHNwYW5fY29udGV4dCwgTWFwLnB1dChtZXRhZGF0YSwgOmNvbm4sIGNvbm4pKQ0KICAgICAg Y29ubg0KICAgIGVuZCkNCg0KICByZXN1bHRzID0gdmVyaWZ5X3JlcXVlc3RfaGVhZGVycyhjb25u LCBjb25maWcpDQogIHJlc3VsdHMgPSBNYXAubmV3KHJlc3VsdHMpDQoNCiAgY29ubiA9IHB1dF9w cml2YXRlKGNvbm4sIGNvbmZpZy5uYW1lLCByZXN1bHRzKQ0KICBjb25uID0gZGlzcGF0Y2hfcmVz dWx0cyhjb25uLCBjb25maWcpDQogIGRpc3BhdGNoX29uX3Jlc29sdXRpb24oY29ubiwgY29uZmln Lm9uX3Jlc29sdXRpb24pDQplbmQNCmBgYA0KDQpJIGZpbmQgdGhlIGZvcm1lciAqbXVjaCogbW9y ZSByZWFkYWJsZSwgYmVjYXVzZSBpdCdzIG1vcmUgZGF0YSBvcmllbnRlZCBhbmQgaW5kaWNhdGVz IHRoYXQgdGhlIGRhdGEgZmxvd3MgKnRocm91Z2gqIHRoZSBwaXBlIOKAlCB3aGVyZSBpdCBtaWdo dCBiZSB0cmFuc2Zvcm1lZCAoYGNvbm4gfD4gdmVyaWZ5X3JlcXVlc3RfaGVhZGVycyjigKYpIHw+ IE1hcC5uZXcoKWApIG9yIGl0IG1pZ2h0IGp1c3QgYmUgbW9kaWZ5aW5nIHRoZSBpbnB1dCBwYXJh bWV0ZXIgKGBjb25uIHw+IHB1dF9wcml2YXRlKOKApikgfD4gZGlzcGF0Y2hfcmVzdWx0cyjigKYp IHw+IGRpc3BhdGNoX29uX3Jlc29sdXRpb24o4oCmKWApLg0KDQpqZXJlbXlldmFuczAgKEplcmVt eSBFdmFucykgd3JvdGUgaW4gI25vdGUtMTA6DQo+IFdlIGNvdWxkIGV4cGFuZCB0aGUgc3ludGF4 IHRvIHRyZWF0IGAue31gIGFzIGAudGhlbnt9YCwgc2ltaWxhciB0byBob3cgYC4oKWAgaXMgYC5j YWxsKClgLiAgV2l0aCB0aGF0LCB5b3UgY291bGQgZG86DQo+IA0KPiBgYGBydWJ5DQo+IGNsaWVu dF9hcGlfdXJsDQo+ICAgLnsgVVJJLnBhcnNlKGl0KSB9DQo+ICAgLnsgTmV0OjpIVFRQLmdldChp dCkgfQ0KPiAgIC57IEpTT04ucGFyc2UoaXQpLmZldGNoKGltcG9ydGFudF9rZXkpIH0NCj4gYGBg DQo+IA0KPiBXaGljaCBpcyBhbG1vc3QgYXMgbG93IG9mIGEgc3ludGF0aWMgb3ZlcmhlYWQgYXMg eW91IHdvdWxkIHdhbnQuDQo+IA0KPiBOb3RlIHRoYXQgd2UgYXJlIHN0aWxsIGluIGEgc3ludGF4 IG1vcmF0b3JpdW0sIHNvIGl0J3MgcHJvYmFibHkgYmV0dGVyIHRvIHdhaXQgdW50aWwgYWZ0ZXIg dGhhdCBpcyBvdmVyIGFuZCB3ZSBoYXZlIGNyb3duZWQgdGhlIG9uZSB0cnVlIHBhcnNlciBiZWZv cmUgc2VyaW91c2x5IGNvbnNpZGVyaW5nIG5ldyBzeW50YXguDQoNClRoaXMgaXMg4oCmIGludGVy ZXN0aW5nLiBUaGUgYmlnZ2VzdCBwcm9ibGVtIHdpdGggaXQgKGZyb20gbXkgcGVyc3BlY3RpdmUp IGlzIHRoYXQgaXQgd291bGQgcHJpdmlsZWdlIGB7fWAgYmxvY2tzIHdpdGggdGhpcyBmb3JtLCBi ZWNhdXNlIGBkb2AgKmlzKiBhIHZhbGlkIG1ldGhvZCBuYW1lLCBzbyBgLmRvIFVSSS5wYXJzZShp dCkgZW5kYCBsaWtlbHkgYmUgYSBzeW50YXggZXJyb3IuIFRoYXQgYW5kIHRoZSBmYWN0IHRoYXQg aXQgd291bGQgYmUgbmVhcmx5IGEgZGVjYWRlIGJlZm9yZSBpdCBjb3VsZCBiZSB1c2VkIGJ5IG15 IGxpYnJhcmllcy4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K RmVhdHVyZSAjMjA3NzA6IEEgKm5ldyogcGlwZSBvcGVyYXRvciBwcm9wb3NhbA0KaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNzcwI2NoYW5nZS0xMTAwMDINCg0KKiBBdXRob3I6 IEFsZXhhbmRyZU1hZ3JvIChBbGV4YW5kcmUgTWFncm8pDQoqIFN0YXR1czogT3Blbg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSGVsbG8sDQoNClRoaXMgaXMgbXkg Zmlyc3QgY29udHJpYnV0aW9uIGhlcmUuIEkgaGF2ZSBzZWVuIHByZXZpb3VzIGRpc2N1c3Npb25z IGFyb3VuZCBpbnRyb2R1Y2luZyBhIHBpcGUgb3BlcmF0b3IsIGJ1dCBpdCBzZWVtcyB0aGUgY29t bXVuaXR5IGRpZG4ndCByZWFjaCBhIGNvbnNlbnN1cy4gSSB3b3VsZCBsaWtlIHRvIHJldmlzaXQg dGhpcyBpZGVhIHdpdGggYSBzaW1wbGVyIGFwcHJvYWNoLCBtb3JlIG9mIGEgc3ludGFjdGljIHN1 Z2FyIHRoYXQgYWxpZ25zIHdpdGggaG93IG90aGVyIGxhbmd1YWdlcyBpbXBsZW1lbnQgdGhlIHBp cGUgb3BlcmF0b3IsIGJ1dCB3aXRob3V0IG1ha2luZyBzaWduaWZpY2FudCBjaGFuZ2VzIHRvIFJ1 YnkncyBzeW50YXguDQoNCkN1cnJlbnRseSwgd2Ugb2Z0ZW4gd3JpdGUgY29kZSBsaWtlIHRoaXM6 DQoNCmBgYHJ1YnkNCnZhbHVlID0gaGFsZihzcXVhcmUoYWRkKHZhbHVlLCAzKSkpDQpgYGANCg0K V2UgY2FuIGFjaGlldmUgdGhlIHNhbWUgcmVzdWx0IHVzaW5nIHRoZSBgdGhlbmAgbWV0aG9kOg0K DQpgYGBydWJ5DQp2YWx1ZSA9IHZhbHVlLnRoZW4geyBhZGQoXzEsIDMpIH0udGhlbiB7IHNxdWFy ZShfMSkgfS50aGVuIHsgaGFsZihfMSkgfQ0KYGBgDQoNCldoaWxlIGB0aGVuYCBoZWxwcyB3aXRo IHJlYWRhYmlsaXR5LCB3ZSBjYW4gc2ltcGxpZnkgaXQgZnVydGhlciB1c2luZyB0aGUgcHJvcG9z ZWQgcGlwZSBvcGVyYXRvcjoNCg0KYGBgcnVieQ0KdmFsdWUgPSBhZGQodmFsdWUsIDMpIHw+IHNx dWFyZShfMSkgfD4gaGFsZihfMSkNCmBgYA0KDQpNb3Jlb3Zlciwgd2l0aCB0aGUgdXBjb21pbmcg YGl0YCBmZWF0dXJlIGluIFJ1YnkgMy40ICgjMTg5ODApLCB0aGUgY29kZSBjb3VsZCBsb29rIGV2 ZW4gY2xlYW5lcjoNCg0KYGBgcnVieQ0KdmFsdWUgPSBhZGQodmFsdWUsIDMpIHw+IHNxdWFyZShp dCkgfD4gaGFsZihpdCkNCmBgYA0KDQpUaGlzIHByb3Bvc2FsIHVzZXMgdGhlIGFub255bW91cyBi bG9jayBhcmd1bWVudCBgKF8xKWAsIGFuZCB3aXRoIGBpdGAsIGl0IHNpbXBsaWZpZXMgdGhlIGNv ZGUgd2l0aG91dCBpbnRyb2R1Y2luZyBjb21wbGV4IHN5bnRheCBjaGFuZ2VzLiBJdCB3b3VsZCBh bGxvdyB1cyB0byBhY2hpZXZlIHRoZSBzYW1lIHJlc3VsdHMgYXMgaW4gb3RoZXIgbGFuZ3VhZ2Vz IHRoYXQgc3VwcG9ydCBwaXBlIG9wZXJhdG9ycywgYnV0IGluIGEgd2F5IHRoYXQgZmVlbHMgbmF0 dXJhbCB0byBSdWJ5LCB1c2luZyBleGlzdGluZyBjb25zdHJ1Y3RzIGxpa2UgYHRoZW5gIHVuZGVy bmVhdGguDQoNCkkgYmVsaWV2ZSB0aGlzIG9wZXJhdG9yIHdvdWxkIGVuaGFuY2UgY29kZSByZWFk YWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5LCBlc3BlY2lhbGx5IGluIGNhc2VzIHdoZXJlIG11 bHRpcGxlIG9wZXJhdGlvbnMgYXJlIGNoYWluZWQgdG9nZXRoZXIuDQoNClRoYW5rIHlvdSBmb3Ig Y29uc2lkZXJpbmcgdGhpcyBwcm9wb3NhbCENCg0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5n Lm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwu cnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3Jn L21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==