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 6358D1F4CC for ; Wed, 8 Jan 2025 10:25:10 +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=TdgHdW/r; 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=hG7B3z8X; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1736331876; bh=ghla/ZQwpxaLOoXKz80VFnq8dOqec2ZfwcN2SRyYY/U=; 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=TdgHdW/rlkx0kc2xw95MSL98bGypp7WL0hXhhxMsXv/GmjzeU9lr+3BvF/xksMLi6 VQRIQzUnkeEXhWUOlPmvjj+IX4Bl1xXLHvOoJHjH1BzgM4JjgORTMjNNE6dJ/IMGo3 dwkjz0XKAWq/SdH2wUcZHCt/76EKwxIn/Ll9m/lA= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id 8E61146711 for ; Wed, 8 Jan 2025 10:24:36 +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=hG7B3z8X; 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 6B1D446702 for ; Wed, 8 Jan 2025 10:24:31 +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=rr9AH804iGz6fC4sxePUc87TdlSVleJDpMNUJ15JvP4=; b=hG7B3z8XKO6V4X/uoTl9a2F1SbAEJj5y2N4AD2qQRF52FIM+fzlC4//JgES4wDGMe/k3 7WaQsKoLNbhmQsyjscKwpQqkmd6KHHVMeWGwAtBIUWLpR/EXqtBYPL1ghbG6oHkmXlSr28 REqKBlydNgJI7LkGuKjDgZCG9qsaCcGBPDbppEilDPr9MPuApg2GrXvyx/FDhi8QjucOyY qCieFbXs/sQCzkApiYq6n5IR5Kp4AFRwTqdOBOduAEk/DohPhZyjHz1HqXrwS2THmV1+5K d0RZUasxsKHIyUQtmUWg0ZP+yi6dGAShGa+VbpZXPOthG90dgNdeNgWyJTGoHzXg== Received: by recvd-84b546689d-xhmms with SMTP id recvd-84b546689d-xhmms-1-677E525D-2 2025-01-08 10:24:29.100049113 +0000 UTC m=+4712501.035349689 Received: from herokuapp.com (unknown) by geopod-ismtpd-33 (SG) with ESMTP id 9Hxz2wkxRvuxfG3D3A-uMg for ; Wed, 08 Jan 2025 10:24:29.025 +0000 (UTC) Date: Wed, 08 Jan 2025 10:24:30 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 21005 X-Redmine-Issue-Author: bkuhlmann X-Redmine-Issue-Priority: Normal X-Redmine-Sender: Eregon 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: 97231 X-SG-EID: =?us-ascii?Q?u001=2EByjZWvxTCjdoV8K03xEuhE7KqN4thWULFLM7+oH78KY30oYB3qFthsDpL?= =?us-ascii?Q?4w4cbYa3ttBh8bAHPOnE=2FkzPba67JNu7Lnrked2?= =?us-ascii?Q?O7K9VQ=2FJax2uWaDaC7z=2FD3osDlwKJoUINHS+EIB?= =?us-ascii?Q?HNphjdOk4vUB=2FTeg+MpyMIQvcM5jeCE5MRY3ht9?= =?us-ascii?Q?0zBRfb1kU7=2FhrlMkT+jEO3RS6ELGs4RXwlb5p4b?= =?us-ascii?Q?QWUm7dZ8v8dSihqXWH=2FMDYIOqXjboHxE1qHZ0SK?= =?us-ascii?Q?MY=2FjlbR8lF4wSh=2Frq4riPU18Qg=3D=3D?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: 7BU5IDN6ZURRWN2AGRQEKSOHGRBH4ZAL X-Message-ID-Hash: 7BU5IDN6ZURRWN2AGRQEKSOHGRBH4ZAL 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:120555] [Ruby master Feature#21005] Update the source location method to include line start/stop and column start/stop details List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "Eregon (Benoit Daloze) via ruby-core" Cc: "Eregon (Benoit Daloze)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SXNzdWUgIzIxMDA1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgRXJlZ29uIChCZW5vaXQgRGFsb3plKS4N Cg0KDQpJdCdzIHZlcnkgaW1wb3J0YW50IHRoYXQgdGhpcyBuZXcgZmVhdHVyZSBkb2VzIG5vdCBl eHBlY3QgdXNlcnMgdG8gdXNlIGBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2VgIG9yIGFueXRo aW5nIHVuZGVyIGBSdWJ5Vk1gIHNpbmNlIGBSdWJ5Vk1gIGlzIENSdWJ5LW9ubHkuDQpUaGUgZmVh dHVyZSBpdHNlbGYgaXMgcG9zc2libGUgb24gYW55IFJ1YnkgaW1wbGVtZW50YXRpb24uDQoNClNv IHNvbWV0aGluZyBsaWtlIGBQcmlzbS5ub2RlX2ZvcihQcm9jfE1ldGhvZHxVbmJvdW5kTWV0aG9k KWAgaXMgZ29vZCwgYW5kIGBQcmlzbS5hc3RfZm9yKFJ1YnlWTTo6SW5zdHJ1Y3Rpb25TZXF1ZW5j ZSlgIGlzIG5vdC4NCkludGVybmFsbHkgUHJpc20gY2FuIG9mIGNvdXJzZSB1c2UgYFJ1YnlWTTo6 SW5zdHJ1Y3Rpb25TZXF1ZW5jZS5vZihQcm9jfE1ldGhvZHxVbmJvdW5kTWV0aG9kKS5ub2RlX2lk YCBvbiBDUnVieSwgYW5kIHNvbWV0aGluZyBlbHNlIG9uIG90aGVyIFJ1YnkgaW1wbGVtZW50YXRp b25zLg0KDQpOb3RlIHRoYXQgaWYgaXQncyBlbm91Z2ggdG8gbG9jYXRlIGEgbm9kZSBieSBpdHMg c3RhcnQvZW5kIGxpbmUvY29sdW1uLCB3ZSBtaWdodCBub3QgbmVlZCBgbm9kZV9pZGAgYXQgYWxs LCBhbmQgdGhlbiBqdXN0IHByb3ZpZGluZyBzdGFydC9lbmQgbGluZS9jb2x1bW4gdG8gYHNvdXJj ZV9sb2NhdGlvbmAgd291bGQgYmUgZW5vdWdoIHRvIGZpbmQgdGhlIHJpZ2h0IG5vZGUgd2l0aCBQ cmlzbS4NCkFyZSB0aGVyZSBjYXNlcyB3aGVyZSB0aGlzIHdvdWxkIGJlIGEgcHJvYmxlbSwgaS5l LiB3aGVyZSAyIFByaXNtIEFTVCBub2RlcyB3b3VsZCBoYXZlIHRoZSBzYW1lIHN0YXJ0L2VuZCBs aW5lL2NvbHVtbj8NCkFjdHVhbGx5IHNpbmNlIHdlIGFyZSBvbmx5IHRhbGtpbmcgYWJvdXQgYFBy b2N8TWV0aG9kfFVuYm91bmRNZXRob2RgIGhlcmUgaXQgd291bGQgbmVlZCB0byBiZSB0d28gbm9k ZXMgd2hpY2ggZGVmaW5lIGEgcHJvYy9sYW1iZGEvbWV0aG9kIHdpdGggdGhlIHNhbWUgc3RhcnQv ZW5kIGxpbmUvY29sdW1uLg0KSSB0aGluayB0aGF0J3Mgbm90IHBvc3NpYmxlLg0KDQpJZiB0aGF0 IGhvbGRzLCB0aGVuIHRoZSBvcmlnaW5hbCBwcm9wb3NhbCB0byBwcm92aWRlIHN0YXJ0L2VuZCBs aW5lL2NvbHVtbiBpcyBlbm91Z2gsIGFuZCB3ZSBjYW4gYWRkIGEgY29udmVuaWVuY2UgbWV0aG9k IGluIFByaXNtIHVzaW5nIHRob3NlLg0KVGhhdCB3b3VsZCB3b3JrIG9uIGFsbCBSdWJ5IGltcGxl bWVudGF0aW9ucywgd2l0aG91dCBuZWVkaW5nIGEgbG93LWxldmVsIGltcGxlbWVudGF0aW9uLXNw ZWNpZmljIGNvbmNlcHQgb2YgYG5vZGVfaWRgOg0KYGBgcnVieQ0KbW9kdWxlIFByaXNtDQogIGRl ZiBzZWxmLm5vZGVfZm9yIGNhbGxhYmxlDQogICAgc3RhcnRfbGluZSwgZW5kX2xpbmUsIHN0YXJ0 X2NvbHVtbiwgZW5kX2NvbHVtbiA9IGNhbGxhYmxlLnNvdXJjZV9sb2NhdGlvbih0cnVlKQ0KICAg IGFzdC52YWx1ZS5icmVhZHRoX2ZpcnN0X3NlYXJjaCB7IHxub2RlfA0KICAgICAgbG9jID0gbm9k ZS5sb2NhdGlvbg0KICAgICAgbG9jLnN0YXJ0X2xpbmUgPT0gc3RhcnRfbGluZSBhbmQgbG9jLmVu ZF9saW5lID09IGVuZF9saW5lIGFuZA0KICAgICAgbG9jLnN0YXJ0X2NvbHVtbiA9PSBzdGFydF9j b2x1bW4gYW5kIGxvYy5lbmRfY29sdW1uID09IGVuZF9jb2x1bW4NCiAgICB9DQogIGVuZA0KZW5k DQpgYGANCg0KTWF5YmUgQ1J1YnkgZG9lcyBub3QgY3VycmVudGx5IHByZXNlcnZlIHRoZSBpbmZv cm1hdGlvbiBvZiBlbmQgbGluZSBhbmQgc3RhcnQvZW5kIGNvbHVtbiBmb3IgcHJvY3MgYW5kIG1l dGhvZHM/DQpGb3IgYGRlZmAgaXQgd291bGQgYmUgdHJpdmlhbCB0byBwcmVzZXJ2ZSBpdCBidXQg SSBndWVzcyBmb3IgYmxvY2tzIGFuZCBgZGVmaW5lX21ldGhvZGAgaXMgbWlnaHQgYmUgdHJpY2tp ZXIuDQpGb3Igc3VjaCBjYXNlcyBgc291cmNlX2xvY2F0aW9uYCBjb3VsZCBpbnRlcm5hbGx5IHVz ZSB0aGUgYG5vZGVfaWRgIHN0dWZmIGlmIHRoYXQncyBlYXNpZXIgb3IgZGVlbWVkIGEgYmV0dGVy IHRyYWRlLW9mZiBvbiBDUnVieS4NCg0KSW4gc3VtbWFyeToNCiogSSB0aGluayB3ZSBjYW4gYnVp bGQgYFByaXNtLm5vZGVfZm9yKFByb2N8TWV0aG9kfFVuYm91bmRNZXRob2QpYCBvbiBgKFByb2N8 TWV0aG9kfFVuYm91bmRNZXRob2QpI3NvdXJjZV9sb2NhdGlvbmAgd2l0aCBzdGFydC9lbmQgbGlu ZS9jb2x1bW4uDQoqIFRob3NlIHdvdWxkIGFsbCBiZSBwdWJsaWMgQVBJcyB3b3JraW5nIG9uIGFs bCBSdWJ5IGltcGxlbWVudGF0aW9ucy4NCiogVXNlcnMgZG9uJ3QgbmVlZCB0byBrbm93IGFib3V0 IGxvdy1sZXZlbCBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyAoaS5lLiBDUnVieS1vbmx5KSBjb25j ZXB0cyBsaWtlIGBub2RlX2lkYC4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KRmVhdHVyZSAjMjEwMDU6IFVwZGF0ZSB0aGUgc291cmNlIGxvY2F0aW9uIG1ldGhv ZCB0byBpbmNsdWRlIGxpbmUgc3RhcnQvc3RvcCBhbmQgY29sdW1uIHN0YXJ0L3N0b3AgZGV0YWls cw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIxMDA1I2NoYW5nZS0xMTEzNjYN Cg0KKiBBdXRob3I6IGJrdWhsbWFubiAoQnJvb2tlIEt1aGxtYW5uKQ0KKiBTdGF0dXM6IE9wZW4N Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIFdoeQ0KDQrwn5GL IEhlbGxvLiBBZnRlciBkaXNjdXNzaW5nIHdpdGggS2V2aW4gTmV3dG9uIGFuZCBCZW5vaXQgRGFs b3plIGluIFtGZWF0dXJlIDIwOTk5XShodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMv MjA5OTkpLCBJJ2QgbGlrZSB0byBwcm9wb3NlIGFkZGluZyBsaW5lIHN0YXJ0L3N0b3AgYW5kIGNv bHVtbiBzdGFydC9zdG9wIGluZm9ybWF0aW9uIHRvIHRoZSBgI3NvdXJjZV9sb2NhdGlvbmAgbWV0 aG9kIGZvciB0aGUgZm9sbG93aW5nIG9iamVjdHM6DQoNCi0gW0JpbmRpbmddKGh0dHBzOi8vZG9j cy5ydWJ5LWxhbmcub3JnL2VuL21hc3Rlci9CaW5kaW5nLmh0bWwpDQotIFtQcm9jXShodHRwczov L2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0ZXIvUHJvYy5odG1sKQ0KLSBbTWV0aG9kXShodHRw czovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0ZXIvTWV0aG9kLmh0bWwpDQotIFtVbmJvdW5k TWV0aG9kXShodHRwczovL2RvY3MucnVieS1sYW5nLm9yZy9lbi9tYXN0ZXIvVW5ib3VuZE1ldGhv ZC5odG1sKQ0KDQpBdCB0aGUgbW9tZW50LCB3aGVuIHVzaW5nIGAjc291cmNlX2xvY2F0aW9uYCwg eW91IG9ubHkgZ2V0IHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246DQoNCmBgYCBydWJ5DQpkZWYg ZGVtbyA9ICJBIGRlbW9uc3RyYXRpb24uIg0KDQojIEZyb20gZGlzay4NCm1ldGhvZCg6ZGVtbyku c291cmNlX2xvY2F0aW9uICAjIFsiL1VzZXJzL2JrdWhsbWFubi9FbmdpbmVlcmluZy9NaXNjL2Rl bW8iLCAxNV0NCg0KIyBGcm9tIG1lbW9yeS4NCm1ldGhvZCg6ZGVtbykuc291cmNlX2xvY2F0aW9u ICAjIFsiKGlyYikiLCAzXQ0KYGBgDQoNCk5vdGljZSwgd2hlbiBhc2tpbmcgZm9yIHRoZSBzb3Vy Y2UgbG9jYXRpb24sIHdlIG9ubHkgZ2V0IHRoZSBwYXRoL2xvY2F0aW9uIGFzIHRoZSBmaXJzdCBl bGVtZW50IGFuZCB0aGUgbGluZSBudW1iZXIgYXMgdGhlIHNlY29uZCBlbGVtZW50IGJ1dCBJJ2Qg bGlrZSB0byBvYnRhaW4gYSBtdWNoIHJpY2hlciBzZXQgb2YgZGF0YSB3aGljaCBpbmNsdWRlcyBs aW5lIHN0YXJ0L3N0b3AgYW5kIGNvbHVtbiBzdGFydC9zdG9wIHNvIEkgY2FuIGF2b2lkIGxlYW5p bmcgb24gdGhlIGBSdWJ5Vk1gIGZvciB0aGlzIGluZm9ybWF0aW9uLiBFeGFtcGxlOg0KDQpgYGAg cnVieQ0KZGVmIGRlbW8gPSAiQSBkZW1vbnN0cmF0aW9uLiINCg0KIyBGcm9tIGRpc2suDQppbnN0 cnVjdGlvbnMgPSBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Uub2YgbWV0aG9kKDpkZW1vKQ0K cHV0cyBbaW5zdHJ1Y3Rpb25zLmFic29sdXRlX3BhdGgsICppbnN0cnVjdGlvbnMudG9fYS5kaWco NCwgOmNvZGVfbG9jYXRpb24pXQ0KDQpbDQogICIvVXNlcnMvYmt1aGxtYW5uL0VuZ2luZWVyaW5n L01pc2MvZGVtbyIsICAjIFNvdXJjZSBwYXRoLg0KICAxNSwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBMaW5lIHN0YXJ0Lg0KICAwLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIyBDb2x1bW4gc3RhcnQuDQogIDE1LCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjIExpbmUgc3RvcC4NCiAgMjkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ29sdW1uIHN0b3AuDQpdDQoNCiMgRnJvbSBt ZW1vcnkuDQppbnN0cnVjdGlvbnMgPSBSdWJ5Vk06Okluc3RydWN0aW9uU2VxdWVuY2Uub2YgbWV0 aG9kKDpkZW1vKQ0KcHV0cyBpbnN0cnVjdGlvbnMuc2NyaXB0X2xpbmVzDQoNClsNCiAgImRlZiBk ZW1vID0gXCJBIGRlbW9uc3RyYXRpb24uXCJcbiIsDQogICIiDQpdDQpgYGANCg0KQnkgaGF2aW5n IGFjY2VzcyB0byB0aGUgcGF0aCAob3IgbGFjayB0aGVyZW9mIGluIGNhc2Ugb2YgSVJCKSwgbGlu ZSBzdGFydC9zdG9wLCBhbmQgY29sdW1uIHN0YXJ0L3N0b3AsIHRoaXMgbWVhbnMgd2UgY291bGQg YXZvaWQgdXNpbmcgdGhlIFJ1YnlWTSB0byBvYnRhaW4gcmF3IHNvdXJjZSBjb2RlIGZvciBhbnkg b2YgdGhlc2Ugb2JqZWN0cy4gVGhpcyB3b3VsZCBub3Qgb25seSBlbmhhbmNlIGRlYnVnZ2luZyBz aXR1YXRpb25zIGJ1dCBhbHNvIGltcHJvdmUgRG9tYWluIFNwZWNpZmljIExhbmd1YWdlcyB0aGF0 IHdpc2ggdG8gbGV2ZXJhZ2UgdGhpcyBpbmZvcm1hdGlvbiBmb3IgaW50cm9kdWNpbmcgbmV3IGZl YXR1cmVzIGFuZC9vciBuZXcgZGVidWdnaW5nIGNhcGFiaWxpdGllcyB0byB0aGUgbGFuZ3VhZ2Uu DQoNCiMjIEhvdw0KDQpCdWlsZGluZyB1cG9uIHRoZSBleGFtcGxlcyBwcm92aWRlZCBhYm92ZSwg SSdkIGxpa2UgdG8gc2VlIGBCaW5kaW5nYCwgYFByb2NgLCBgTWV0aG9kYCwgYW5kIGBVbmJvdW5k TWV0aG9kYCByZXNwb25kIHRvIGAjc291cmNlX2xvY2F0aW9uYCBhcyBmb2xsb3dzOg0KDQpgYGAg cnVieQ0KWw0KICAiL1VzZXJzL2JrdWhsbWFubi9FbmdpbmVlcmluZy9NaXNjL2RlbW8iLCAgIyBT b3VyY2UgcGF0aC4NCiAgMTUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgTGluZSBzdGFydC4NCiAgMTUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICMgTGluZSBzdG9wLg0KICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIyBDb2x1bW4gc3RhcnQuDQogIDI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjIENvbHVtbiBzdG9wLg0KXQ0KYGBgDQoNCk5vdGljZSwgZm9yIGRhdGEgZ3Jv dXBpbmcgcHVycG9zZXMsIEkgY2hhbmdlZCB0aGUgYXJyYXkgc3RydWN0dXJlIHRvIGFsd2F5cyBz dGFydCB3aXRoIHRoZSBwYXRoIGFzIHRoZSBmaXJzdCBlbGVtZW50LCBmb2xsb3dlZCBieSBsaW5l IGluZm9ybWF0aW9uLCBhbmQgZW5kaW5nIHdpdGggY29sdW1uIGluZm9ybWF0aW9uLiBBbHRlcm5h dGl2ZWx5LCBpdCBjb3VsZCBtaWdodCBiZSBuaWNlIHRvIGltcHJvdmUgdXBvbiB0aGUgYWJvdmUg YnkgYW5zd2VyaW5nIGEgaGFzaCBlYWNoIHRpbWUsIGluc3RlYWQsIGZvciBhIG1vcmUgc2VsZi1k ZXNjcmliaW5nIGRhdGEgc3RydWN0dXJlLiBFeGFtcGxlOg0KDQpgYGAgcnVieQ0Kew0KICBwYXRo OiAiL1VzZXJzL2JrdWhsbWFubi9FbmdpbmVlcmluZy9NaXNjL2RlbW8iLA0KICBsaW5lX3N0YXJ0 OiAxNSwNCiAgbGluZV9zdG9wOiAxNSwNCiAgY29sdW1uX3N0YXJ0OiAwLA0KICBjb2x1bW5fc3Rv cDogMjkNCn0NCmBgYA0KDQpGb3IgaW4tbWVtb3J5LCBzaXR1YXRpb25zIGxpa2UgSVJCLCBpdCB3 b3VsZCBiZSBuaWNlIHRvIGFuc3dlciB0aGUgZXF1aXZhbGVudCBvZiBgUnVieVZNOjpJbnN0cnVj dGlvblNlcXVlbmNlI3NjcmlwdF9saW5lc2Agd2hpY2ggd291bGQgYWx3YXlzIGJlIGFuIGBBcnJh eWAgd2l0aCBubyBsaW5lIG9yIGNvbHVtbiBpbmZvcm1hdGlvbiBzaW5jZSBvbmx5IHRoZSBzb3Vy Y2UgY29kZSBpcyBuZWNlc3NhcnkuIEV4YW1wbGU6DQoNCmBgYCBydWJ5DQpbDQogICJkZWYgZGVt byA9IFwiQSBkZW1vbnN0cmF0aW9uLlwiXG4iLA0KICAiIg0KXQ0KYGBgDQoNCkZyb20gYSBwYXR0 ZXJuIG1hdGNoaW5nIHBlcnNwZWN0aXZlLCB0aGlzIGNvdWxkIHByb3ZpZGUgdGhlIGJlc3Qgb2Yg Ym90aCB3b3JsZHMgZXNwZWNpYWxseSBpZiBpbmZvcm1hdGlvbiBpcyBhbnN3ZXJlZCBhcyBlaXRo ZXIgYSBgSGFzaGAgb3IgYW5kIGBBcnJheWAuIEV4YW1wbGU6DQoNCmBgYCANCmRlZiBkZW1vID0g IkEgZGVtb25zdHJhdGlvbi4iDQoNCmNhc2UgbWV0aG9kKDpkZW1vKS5zb3VyY2VfbG9jYXRpb24N CiAgaW4gSGFzaCB0aGVuIHB1dHMgIlNvdXJjZSBpbmZvcm1hdGlvbiBvYnRhaW5lZCBmcm9tIGRp c2suIg0KICBpbiBBcnJheSB0aGVuIHB1dHMgIlNvdXJjZSBvYnRhaW5lZCBmcm9tIG1lbW9yeS4i DQogIGVsc2UgZmFpbCBUeXBlRXJyb3IsICJVbnJlY29nbml6ZWQgc291cmNlIGxvY2F0aW9uIHR5 cGUuIg0KZW5kDQpgYGANCg0KVGhpcyBhYm92ZSBpcyBvbmx5IGEgc2ltcGxlIGV4YW1wbGUgYnV0 IHRoZXJlJ3MgYSBsb3Qgd2UgY291bGQgZG8gd2l0aCB0aGlzIGluZm9ybWF0aW9uIGlmIHRoZSBh Ym92ZSBwYXR0ZXJuIG1hdGNoIHdhcyBlbmhhbmNlZCB0byBkZWFsIHdpdGggdGhlIGV4dHJhY3Rp b24gYW5kIGZvcm1hdHRpbmcgb2YgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSENCg0KIyMgTm90ZXMN Cg0KVGhpcyBmZWF0dXJlIHJlcXVlc3QgaXMgcmVsYXRlZCB0byB0aGUgZm9sbG93aW5nIGRpc2N1 c3Npb25zIGluIGNhc2UgbW9yZSBjb250ZXh0IGlzIG9mIGhlbHA6DQoNCi0gW0ZlYXR1cmUgNjAx Ml0oaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzYwMTIpDQotIFtGZWF0dXJlIDIw OTk5XShodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA5OTkpDQoNCg0KDQoNCi0t IA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNv cmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5 LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9t bC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3Jn Lw==