From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id cN5oObrHnmCJbQEAgWs5BA (envelope-from ) for ; Fri, 14 May 2021 20:55:54 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id CF8iNbrHnmDrSgAA1q6Kng (envelope-from ) for ; Fri, 14 May 2021 18:55:54 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6AA6E2E292 for ; Fri, 14 May 2021 20:55:54 +0200 (CEST) Received: from localhost ([::1]:51520 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lhcyX-0007TQ-H8 for larch@yhetil.org; Fri, 14 May 2021 14:55:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lhcyL-0007RY-TQ for guix-devel@gnu.org; Fri, 14 May 2021 14:55:41 -0400 Received: from us-smtp-delivery-170.mimecast.com ([216.205.24.170]:52274) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lhcyI-00028k-V6 for guix-devel@gnu.org; Fri, 14 May 2021 14:55:41 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-91-aY8kFWFmO9WGEqKx_80pQA-1; Fri, 14 May 2021 14:55:36 -0400 X-MC-Unique: aY8kFWFmO9WGEqKx_80pQA-1 Received: from DM6PR20MB3410.namprd20.prod.outlook.com (2603:10b6:5:2a1::21) by DS7PR20MB4222.namprd20.prod.outlook.com (2603:10b6:5:3a3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.28; Fri, 14 May 2021 18:55:34 +0000 Received: from DM6PR20MB3410.namprd20.prod.outlook.com ([fe80::39f0:f762:bab0:c0ca]) by DM6PR20MB3410.namprd20.prod.outlook.com ([fe80::39f0:f762:bab0:c0ca%4]) with mapi id 15.20.4129.028; Fri, 14 May 2021 18:55:34 +0000 From: "Cook, Malcolm" To: Mark H Weaver , Bone Baboon , "guix-devel@gnu.org" Subject: RE: Free software telemetry and the Guix System Thread-Topic: Free software telemetry and the Guix System Thread-Index: AQHXSDieYCkzEJvbGUadkmNLE9KzfqrjSNiAgAAKnqA= Date: Fri, 14 May 2021 18:55:34 +0000 Message-ID: References: <875yzme70r.fsf@disroot.org> <87sg2pjib3.fsf@netris.org> In-Reply-To: <87sg2pjib3.fsf@netris.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [65.26.91.244] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 248e6c34-9ed8-40b0-ffdd-08d91709dad8 x-ms-traffictypediagnostic: DS7PR20MB4222: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0 x-microsoft-antispam-message-info: r19CvrviGHp9Q15hkKfbEu+H+2SE2wxZ2rHT8vsin6R0yQssEHjeQ27c9IE70x7ju90jlbIpMITFeqLD7djtfmzkMcu/CJ8qPBxtyRW1+fx/QeXIJhHoBWsLuJ7vQr1SwnQr/Y+Rl1q458T49aZi+2oxXNfPNiCuyWvup6WTbbVqXVX/Ik5LudgOBvJP+9RkBBbdysldR0tkZormL1/jfW1ByN1IF1FWVzHZ8a5MuYMAgXyuGQ1JB/LPj8jQcFR2KxRfth+HLDxz+1WiuucTZi+Fhz7bn+M4YdjIkBVS8ZHu1b2jKB+Oazi8VuS6QabblWAaOx/KbncKKiTrQWNkMCmEGe6erJqZ81YfZF4stHb5BOefg1sZIIQdTa5XZ4Iy/zEj2894czC+Y5nIgAKthw6VK7zi0+RjBaDQFKr8wx1s+0STTieVwnSoaxeWSsza2nay4eKO8bkM4CZpUUat++3Uv4ZsusTIQHAKpRu1Swh+LOhW3qnb4kJryE/ZudPzBIGS5zbU70biKapb5tOm280Dt4LgT232Q1PBNuGD33PYdr+n+7GRv+q8e/J/tuBwXO9nMk3ma+hcSz45GcY9jT6HWqog8wg4H3Gqxxpuy9DItLRy2DUYbIMCbRxfzhiYZ6cCecz+fO6gE1W7WM0HV8zyDQ9fjiJYtY24jiAG058d7jsmRzfMvASKLTcNcblSz/HHEaCwsMWqNPHIZI070S42OnRuCGrw7NqgdVmCzB0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR20MB3410.namprd20.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(396003)(346002)(39840400004)(376002)(366004)(966005)(8936002)(5660300002)(2906002)(478600001)(8676002)(786003)(186003)(6506007)(122000001)(110136005)(26005)(316002)(83380400001)(66476007)(66446008)(66946007)(64756008)(66556008)(38100700002)(66574015)(76116006)(33656002)(71200400001)(9686003)(7696005)(55016002)(86362001)(52536014)(2004002); DIR:OUT; SFP:1101 x-ms-exchange-antispam-messagedata: =?utf-8?B?WWdEQnhOOWZzR24vZmlJY2dLTlUvZXBoaE5qUkhtT0VnVnBSRzZSTDNOc1Jh?= =?utf-8?B?RjFncnMyOWhzQi9OT3hTYWFXSysza3lUNWhLOUFhOWw4WEN2SGducGI4Z1J5?= =?utf-8?B?RlhkcEh1NGNsZzY1NmtzWVlJNmQyMG1vVk5sV3NJZkVxMUlVdUR3MDdUbFVz?= =?utf-8?B?L0J5NGp3dGRjczZFMFFkSFJXUU1ZTGpseWlBY05mVnk2aytpRDBCVjZ6SkJW?= =?utf-8?B?NERBSnpaN3U1QkFXWnErMkNnRnZQc2NHMzNlNkhKR3FpTHRUdzhtbDI3QSts?= =?utf-8?B?R0owNmF2bjBzMm1CblZ0WGpMTHRJV2VCUjl6ODRJOHZwRUM1ekdnYnY0UDVr?= =?utf-8?B?TE9pVi80UnNKYTlwWlIvakJTWnFmcUltMWtyRFhlN3ZiRk1kYW5zS0tRcktM?= =?utf-8?B?a1FiWWV4ZEQ5NW5JOVU3Z1RGcVF2aytMaUhlT3JoWThOdjlDQ0RzZDFvS09P?= =?utf-8?B?WnFVWHByclNYOEt1MmdvMUIxU2ZhQ0t6dEVYUys4dnpoZ2tST3gyYzFpZlVz?= =?utf-8?B?K05oNEtVSS9heWF2cC9ZUmxKNWY5eEMzYTB4S29XdTVHR2xDcDB0SnFpV2hm?= =?utf-8?B?eUJ2dnJIeVpjL1cvOThwOVo2T0VobjYxb3F3ZUNaUVU1VkVpMDQ0R0hNR203?= =?utf-8?B?S2I3MDN2RUgyc2pLMFVpb3I2akpjMmdhWWpkcHdKbm5mUjMvWCt6YWo1UGpq?= =?utf-8?B?b2JONGxySkYvUGhINzcyMm5kajZCUmJrMkU4RlF3WFFRVDF1QWpDQ0JZNmlR?= =?utf-8?B?ZXFhamRmNDJDdk8wQ0FjNWtDVDUxN1Y1ZFBHbUx6S1VEelkrYlBvUFUyZCsz?= =?utf-8?B?eVRVa0VLK3pOS2M4UVVLQUVQbnZOYlFCMzNIK2xkZE5oUzF6WjA5UmFwNStR?= =?utf-8?B?MFVGclV5aDl2eTkvVzRIOW00T20zbEVLWE1aZkZhRXhjSzBQaUlqTmlOdDJ4?= =?utf-8?B?TDZjUm84SEFrRnQ0S1FFSFVhMU1JZi9ya2hIZGxma3VXZHlnVm5zZit5RVdZ?= =?utf-8?B?R0cwZTUxdkpTZVN2QkVRM2poUEdiaDJ6ZU82Z2o3Q253dXh2d05hcjBlaTht?= =?utf-8?B?U3lGK3lGVHgrRFhQb0hneEwrMXovWVpUYm5ObDIvMzltYjZFTER4aVE0empw?= =?utf-8?B?VFFXQ3A3MXZyQ3Q0RWtpQXJOUFRNcGwzak1XUXo1Vm1JNmt3Tnp0RUhsb0dh?= =?utf-8?B?ME1yMUdZeDhVVStJZXgwQUFFZHkwb2JVVlRObVg0U0xMbFBtdlkxc2hnZW1W?= =?utf-8?B?SVU2bm1YRit3cUx1WFgwVm5WaTl2aEdHS0txNksxWWpmRFluMTdueHcxWU5v?= =?utf-8?B?Z2FUblYzZm9zWFhpbkN4b3lVVk1DM1phUEJzTUlueUlhcDl5SjB5OHdpRGF3?= =?utf-8?B?bzFoVzJOWGhiREhHTWFnWWlKT2dzMzdRU1hFZUhxWFhGSUdlVnRTUmloWGZj?= =?utf-8?B?YnRZTWV6V0JWRlVkSU0wbGRQR0FoSExhK2swZGNFZ29DWG15WStER3YyNlB4?= =?utf-8?B?RFlvRHNwcENlOGluY0FpdHU3a1JVWndSLzJtRnRGZ1UvbjlXNXlMV3JIaytG?= =?utf-8?B?emRKRVhwQUNiZ0xPMFgwU0ZCNkx0SW5tb2IzM2FuMG53RDFvVFJWNUNOb1Nj?= =?utf-8?B?cjEvMGtDZERaY0lrVGNwS0J0QkVkUzJHZkh0YkZack5XK052R3FjNWk4SW85?= =?utf-8?B?WFUvMTNCTzQzWSsrOWlzbVVVZWZCblhLTWJaS1ZMQTVJUndBSFJOVzdId29a?= =?utf-8?Q?ltvHaTdolcHbIVyG7Y=3D?= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: stowers.org X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR20MB3410.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 248e6c34-9ed8-40b0-ffdd-08d91709dad8 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 May 2021 18:55:34.1981 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3ab7a17c-a0ab-4280-b9f3-bb144eebee49 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rdXzTgdx85OzTMD0WwQtt6jGUrbezhpb1pnDKV/XXrTHRi/xSnZSXazr5+yILq8Y X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR20MB4222 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: stowers.org Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=216.205.24.170; envelope-from=mec@stowers.org; helo=us-smtp-delivery-170.mimecast.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1621018554; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=D2wLBQtM6e1H0Hab/ADhIddQAyewU05yTw+nxY8Mra0=; b=paM8/ohiucx2h/ejRzO+g6xB4DRf2BExR5XXI4XwLgO5Ig85okPv6LtYTfDTOfUmnv4Jft un+6ACmH27jjmGTsjWlH/dznXtQcbAQcF83srf9Ua/QOxtIkfZ8f0SCtp51wm+Ive9TnQB kIHclm+V/AoON+C+7K9Z2bpJeHhpH1m2BUsqnQ6oxQARjxOV3HgW1mXII4OtkHm4srBZMt 4GrR9tzI+3FF2kdX9/hZKx5OuIyFAgMPwiCjuG8QYYjjZ4N+WzkdP8orYVL7MhLYnih/NP 6TJAak4OpZWuB2hHlE5heSYvl8rhVyC4nQr9lhXdBdP7dZSi0AAHRtFtP1jgZw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1621018554; a=rsa-sha256; cv=none; b=AYnX8NRkl/rsydV5rceC3ulxboiePqy6CZoChJaTF2inzG/4bLz2waHE0y9e1cE8kR3xN0 5B9Q4Z3xiI77gczO0y99hoghj2+z9xs6XDK/EnP4kVvMQvamu8mc6u/vF0/X4Oi7FFt4a6 i+6n5VcTq9GiV2U/zvIxeJvpy2PdkRf5w5cnF84evI0ysRsjHInGpkY/G1c7Cb+tRoR2eH +3GLniHQlhp4KE0vfp/BrukXFcJ4tw+b7FzUD/7Nex37PPRcaYp0ix422x1mXftATkOPUT 7494nA1K85QvbLs4Nj+AjXwQFnc2C+06CfGv9vLWoJhJmVtj6VVpk0EUKXis6g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: 0.15 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 6AA6E2E292 X-Spam-Score: 0.15 X-Migadu-Scanner: scn0.migadu.com X-TUID: 5Y8FD9UYs5jH DQogDQo+IEJvbmUgQmFib29uIDxtYWlsdG86Ym9uZS5iYWJvb25AZGlzcm9vdC5vcmc+IHdyaXRl czoNCj4gPiBXaGF0IHR5cGVzIG9mIHRlbGVtZXRyeSBpbiBmcmVlIHNvZnR3YXJlIHByb2dyYW1z IGFyZSBjb21wYXRpYmxlIHdpdGgNCj4gPiB0aGUgR3VpeCBTeXN0ZW0/DQo+IA0KPiBUaGUgcmVs ZXZhbnQgdGV4dCBpbiB0aGUgR05VIEZTREcgaXMgaGVyZToNCj4gPGh0dHBzOi8vd3d3LmdudS5v cmcvZGlzdHJvcy9mcmVlLXN5c3RlbS1kaXN0cmlidXRpb24tZ3VpZGVsaW5lcy5odG1sI25vLW1h bHdhcmU+DQo+IA0KPiAiTm8gTWFsd2FyZQ0KPiANCj4gVGhlIGRpc3RybyBtdXN0IGNvbnRhaW4g bm8gRFJNLCBubyBiYWNrIGRvb3JzLCBhbmQgbm8gc3B5d2FyZS4iDQo+IA0KPiBPZiBjb3Vyc2Us IHRoaXMgZGVwZW5kcyBvbiBvdXIgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGl0IG1lYW5zIHRvIGJl DQo+IGUic3B5d2FyZSIuIFRoZXJlIG1pZ2h0IGJlIGVkZ2UgY2FzZXMgd2hlcmUgdGhpcyBpcyBu b3QgY2xlYXIsIGJ1dCBJDQo+IGhvcGUgd2UgY2FuIGFsbCBhZ3JlZSB0aGF0IF9hbnlfIGtpbmQg b2YgdGVsZW1ldHJ5ICptdXN0KiBiZSBkaXNhYmxlZCBieQ0KPiBkZWZhdWx0Lg0KPiANCj4gPiBU aGlzIGlzIGEgZ2VuZXJhbCBxdWVzdGlvbiBidXQgQXVkYWNpdHkgaXMgYSBjdXJyZW50IGV4YW1w bGUgb2YgYSBmcmVlDQo+ID4gc29mdHdhcmUgcHJvZ3JhbSB0aGF0IGlzIGluIHRoZSBwcm9jZXNz IG9mIGludHJvZHVjaW5nIHRlbGVtZXRyeSB0byBzb21lDQo+ID4gZGVncmVlLiBJdCBkb2VzIG5v dCBsb29rIGxpa2UgQXVkYWNpdHkgaGFzIGltcGxlbWVudGVkIHRlbGVtZXRyeSB5ZXQuDQo+ID4g SGVyZSBhcmUgdHdvIGxpbmtzIHRoYXQgcHJvdmlkZSBmdXJ0aGVyIGluZm9ybWF0aW9uLg0KPiA+ DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL2F1ZGFjaXR5L2F1ZGFjaXR5L3B1bGwvODM1DQo+IA0K PiBUaGUgb3BlbmluZyBtZXNzYWdlIG9mIHRoYXQgcHVsbCByZXF1ZXN0IHN0YXRlczoNCj4gDQo+ ICIxLiBUZWxlbWV0cnkgaXMgc3RyaWN0bHkgb3B0aW9uYWwgYW5kIGRpc2FibGVkIGJ5IGRlZmF1 bHQuIE5vIGRhdGENCj4gaXMgc2hhcmVkIHVubGVzcyB5b3UgY2hvb3NlIHRvIG9wdC1pbiBhbmQg ZW5hYmxlIHRlbGVtZXRyeS4NCj4gDQo+IDIuIFRlbGVtZXRyeSBvbmx5IHdvcmtzIGluIHRoZSBi dWlsZHMgbWFkZSBieSBHaXRIdWIgQ0kgZnJvbSB0aGUNCj4gb2ZmaWNpYWwgcmVwbyAodGhlIHRl bGVtZXRyeSBVUkxzIGFyZSBvbmx5IGRlZmluZWQgdGhlcmUpLg0KPiANCj4gMy4gSWYgeW91IGFy ZSBjb21waWxpbmcgQXVkYWNpdHkgZnJvbSBzb3VyY2UsIHdlIHdpbGwgcHJvdmlkZSBhIENNYWtl DQo+IG9wdGlvbiB0byBlbmFibGUgdGhlIHRlbGVtZXRyeSBjb2RlLiBUaGlzIG9wdGlvbiB3aWxs IGJlIHR1cm5lZA0KPiBvZmYgYnkgZGVmYXVsdC4iDQo+IA0KPiBhbmQ6DQo+IA0KPiAiSnVzdCB0 byByZWl0ZXJhdGUsIHRlbGVtZXRyeSBpcyBjb21wbGV0ZWx5IG9wdGlvbmFsIGFuZCBkaXNhYmxl ZCBieQ0KPiBkZWZhdWx0LiBXZSB3aWxsIHRyeSB0byBtYWtlIGl0IGFzIGNsZWFyIGFzIHBvc3Np YmxlIGV4YWN0bHkgd2hhdA0KPiBkYXRhIGlzIGNvbGxlY3RlZCBpZiB0aGUgdXNlciBjaG9vc2Vz IHRvIG9wdC1pbiBhbmQgZW5hYmxlDQo+IHRlbGVtZXRyeS4gV2Ugd2lsbCBjb25zaWRlciBhZGRp bmcgdGhlIGZpbmUtZ3JhaW5lZCBjb250cm9scyB0aGF0DQo+IHNvbWUgb2YgeW91IGhhdmUgYXNr ZWQgZm9yLiINCj4gDQo+IElmIHRoZXNlIGNsYWltcyBhcmUgdHJ1ZSwgdGhlbiBJIHRoaW5rIHRo aXMgaXMgcXVpdGUgc2F0aXNmYWN0b3J5IGZvcg0KPiBvdXIgcHVycG9zZXMuIEkgd291bGRuJ3Qg ZXZlbiBvYmplY3QgdG8gZW5hYmxpbmcgdGhlIHRlbGVtZXRyeSBjb2RlIHZpYQ0KPiB0aGUgQ01h a2UgYnVpbGQtdGltZSBvcHRpb24sIGFzIGxvbmcgYXMgaXQncyAib3B0LWluIiwgaS5lLiB0aGF0 IGVhY2gNCj4gdXNlciBtdXN0IGV4cGxpY2l0bHkgZW5hYmxlIGl0LCBhbmQgb25seSBhZnRlciBi ZWluZyBtYWRlIGF3YXJlIG9mIHRoZQ0KPiBjb25zZXF1ZW5jZXMgb2YgZG9pbmcgc28uDQo+IA0K PiBXaGF0IGRvIHlvdSB0aGluaz8NCg0KTXkgMiBjZW50czogIEkgdGhpbmsgdGhlIEF1ZGFjaXR5 IG1vZGVsIGlzIGV4ZW1wbGFyeSBhbmQgeW91ciBpbnRlcnByZXRhdGlvbiBpcyBzcG90IG9uLiAg SSBwZXJzb25hbGx5IHdhbnQgdGhlIG9wdGlvbiBvZiBlbmFibGluZyBzdWNoIHRlbGVtZXRyeSwg YXMgaXQgbWF5IHdlbGwgc2VydmUgbXkgbmVlZHMgYW5kIG1heSBhbHNvIGdpdmUgdGhlIGRldmVs b3BlciB2YWx1YWJsZSB1c2FnZSBhbmQvb3IgY3Jhc2ggaW5mbyB3aGljaCBpcyB0aGUgbGVhc3Qg SSBjYW4gcHJvdmlkZSBpbiByZXR1cm4gZm9yIHN1Y2ggYSBncmVhdCBGT1NTIGFwcCBhcyBBdWRh Y2l0eS4NCg0KPiANCj4gVGhhbmtzIGZvciByYWlzaW5nIHRoaXMgaXNzdWUuDQo+IA0KPiBSZWdh cmRzLA0KPiBNYXJrDQo+IA0K