From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00154904.pphosted.com (mx0a-00154904.pphosted.com [148.163.133.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 93B2D3CB40 for ; Sun, 21 Jul 2019 12:44:26 -0400 (EDT) Received: from pps.filterd (m0170390.ppops.net [127.0.0.1]) by mx0a-00154904.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6LGeSQa027935; Sun, 21 Jul 2019 12:43:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=smtpout1; bh=heL3siJim0hhDltbKpfBuN3uCyoNK4m+xvURX40JVpw=; b=Hk8u8/8ThGYpS2fVLcft82/PN6Pct6Q0qW8s3HAbX6elYok/Ee7l3S41gZYjVTL362nt szit66fRXlIxkTv8SIB3NaxfC3gzlGk3rN71PFY+7tYUnf1k5SSja/OewS69YU6PtG3J JKAZTTlUclKXk17+xLO19flVXqtZgis4fVc8zIxcZwavwxONnw1HJ1xXE8CZUi7tUWu6 PAdUGeBcksvXrxvMZLNVJfkqi7+a7p6Gms8H5X7TB7oA0GSwYr7mSyQdDpArAy8ic92e jVbg3XtKzcS/F9F8y4yCZXRKe/Mb/Avz2LDw+ewjmmzzcMq8ULQMq7q9eZhdb/Vitgnd xg== Received: from mx0b-00154901.pphosted.com (mx0b-00154901.pphosted.com [67.231.157.37]) by mx0a-00154904.pphosted.com with ESMTP id 2tux137148-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 21 Jul 2019 12:43:36 -0400 Received: from pps.filterd (m0134318.ppops.net [127.0.0.1]) by mx0a-00154901.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6LGcimm086081; Sun, 21 Jul 2019 12:43:35 -0400 Received: from mailuogwdur.emc.com (mailuogwdur.emc.com [128.221.224.79]) by mx0a-00154901.pphosted.com with ESMTP id 2tuwkf5pjk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 21 Jul 2019 12:43:35 -0400 Received: from maildlpprd52.lss.emc.com (maildlpprd52.lss.emc.com [10.106.48.156]) by mailuogwprd53.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x6LGhHBA003395 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 21 Jul 2019 12:43:34 -0400 X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd53.lss.emc.com x6LGhHBA003395 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1563727414; bh=vuNITTV896qk22MHOzQr3FhtPoA=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=XHXgzrNEqTKNj1yOOywij5L2YPLdgDNBrvdsHQpjHZ2jGrTy5sb8tHIfZkwVcZGUj IzRGtyuChz9loMVFwU4OXPRIlCqr2V9o4O2ai3nNx1Bl0JzHKq69Vidf0PoMCNBRJM pT47ZelV7BwzBuzYO8hvlJlF91GM05eEGZk6DVGM= Received: from mailusrhubprd53.lss.emc.com (mailusrhubprd53.lss.emc.com [10.106.48.18]) by maildlpprd52.lss.emc.com (RSA Interceptor); Sun, 21 Jul 2019 12:43:07 -0400 Received: from MXHUB304.corp.emc.com (MXHUB304.corp.emc.com [10.146.3.30]) by mailusrhubprd53.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id x6LGh77W013109 (version=TLSv1.2 cipher=AES128-SHA256 bits=128 verify=FAIL); Sun, 21 Jul 2019 12:43:08 -0400 Received: from MX307CL04.corp.emc.com ([fe80::849f:5da2:11b:4385]) by MXHUB304.corp.emc.com ([10.146.3.30]) with mapi id 14.03.0439.000; Sun, 21 Jul 2019 12:43:07 -0400 From: "Black, David" To: "gorry@erg.abdn.ac.uk" , Bob Briscoe CC: "ecn-sane@lists.bufferbloat.net" , "tsvwg@ietf.org" Thread-Topic: [tsvwg] [Ecn-sane] Comments on L4S drafts Thread-Index: AQHVP9ZhB9w+e+HBL0Sv1egIZp7MH6bVQMwQ Date: Sun, 21 Jul 2019 16:43:06 +0000 Message-ID: References: <364514D5-07F2-4388-A2CD-35ED1AE38405@akamai.com> <1238A446-6E05-4A55-8B3B-878C8F39FC75@gmail.com> <17B33B39-D25A-432C-9037-3A4835CCC0E1@gmail.com> <52F85CFC-B7CF-4C7A-88B8-AE0879B3CCFE@gmail.com> <87ef2myqzv.fsf@taht.net> <5D34803D.50501@erg.abdn.ac.uk> In-Reply-To: <5D34803D.50501@erg.abdn.ac.uk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Enabled=True; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SiteId=945c199a-83a2-4e80-9f8c-5a91be5752dd; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Owner=david.black@emc.com; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_SetDate=2019-07-21T16:33:40.2953254Z; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Name=External Public; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Application=Microsoft Azure Information Protection; MSIP_Label_17cb76b2-10b8-4fe1-93d4-2202842406cd_Extended_MSFT_Method=Manual; aiplabel=External Public x-originating-ip: [10.105.8.135] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Sentrion-Hostname: mailusrhubprd53.lss.emc.com X-RSA-Classifications: public X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-21_12:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907210194 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907210194 Subject: Re: [Ecn-sane] [tsvwg] Comments on L4S drafts X-BeenThere: ecn-sane@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion of explicit congestion notification's impact on the Internet List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jul 2019 16:44:26 -0000 Qm9iLA0KDQpQdWxsaW5nIHJlbGV2YW50IHRleHQgdG8gdGhlIHRvcCAuLi4NCg0KPiA+IEFzIHlv dSBrbm93LCB3ZSBoYXZlIGJlZW4gYXQgcGFpbnMgdG8gYWRkcmVzcyBldmVyeSBjb25jZXJuIGFi b3V0IEw0Uw0KPiA+IHRoYXQgaGFzIGNvbWUgdXAgb3ZlciB0aGUgeWVhcnMsIGFuZCBJIHRob3Vn aHQgd2UgaGFkIGFkZHJlc3NlZCB0aGlzDQo+ID4gb25lIHRvIHlvdXIgc2F0aXNmYWN0aW9uLg0K DQpUcnV0aCBiZSB0b2xkLCAiYWNxdWllc2NlbmNlIiB3b3VsZCBiZSBhIG1vcmUgYWNjdXJhdGUg d29yZCB0aGFuICJzYXRpc2ZhY3Rpb24uIiAgSSBjYW4gbGl2ZSB3aXRoIHRoZSBjdXJyZW50IHBs YW5zLCBidXQgSSB3b3VsZCBub3QgZGVzY3JpYmUgbXlzZWxmIGFzIHNhdGlzZmllZCB3aXRoIHRo ZW0uDQoNCj4gPiBUaGUgcmVsaWFibGUgdHJhbnNwb3J0cyB5b3UgYXJlIGNvbmNlcm5lZCBhYm91 dCByZXF1aXJlIG9yZGVyZWQNCj4gPiBkZWxpdmVyeSBieSB0aGUgdW5kZXJseWluZyBmYWJyaWMs IHNvIHRoZXkgY2FuIG9ubHkgZXZlciBleGlzdCBpbiBhDQo+ID4gY29udHJvbGxlZCBlbnZpcm9u bWVudC4gSW4gc3VjaCBhIGNvbnRyb2xsZWQgZW52aXJvbm1lbnQsIHlvdXINCj4gPiBFQ1QxK0RT Q1AgaWRlYSAoYmVsb3cpIGNvdWxkIGJlIHVzZWQgdG8gaXNvbGF0ZSB0aGUgTDRTIGV4cGVyaW1l bnQNCj4gPiBmcm9tIHRoZXNlIHRyYW5zcG9ydHMgYW5kIHRoZWlyIGZpcm13YXJlL2hhcmR3YXJl IGNvbnN0cmFpbnRzLg0KDQpUaGVyZSBhcHBlYXJzIHRvIGJlIGEgbGFjayBvZiB1bmRlcnN0YW5k aW5nIGhlcmUuICBUaGUgcHJvdG9jb2xzIGluIHF1ZXN0aW9uLCBSb0NFdjIgaW4gcGFydGljdWxh ciBoYXZlIHNvbWUgcmVvcmRlcmluZyB0b2xlcmFuY2UsIGJ1dCBub3QgYXMgZ29vZCBhcyBUQ1An cy4gIEN1cnJlbnQgcmVxdWlyZW1lbnRzIGZvciBvcmRlcmVkIGRlbGl2ZXJ5IGFyZSBpbiB0aGUg c2FtZSBnZW5lcmFsIGFyZWEgYXMgVENQIHdpdGggM0R1cEFDSywgd2hpY2ggaXMgbm90IGNvbnN0 cmFpbmVkIHRvIGNvbnRyb2xsZWQgZW52aXJvbm1lbnRzLg0KDQo+ID4gT24gdGhlIHB1YmxpYyBJ bnRlcm5ldCwgdGhlIERTQ1AgY29tbW9ubHkgZ2V0cyB3aXBlZCBhdCB0aGUgZmlyc3QgaG9wLg0K PiA+IFNvIHJlcXVpcmluZyBhIERTQ1AgYXMgd2VsbCBhcyBFQ1QxIHRvIHNlcGFyYXRlIG9mZiBM NFMgd291bGQgc2VydmUgbm8NCj4gPiB1c2VmdWwgcHVycG9zZTogaXQgd291bGQgc3RpbGwgbGVh ZCB0byBFQ1QxIHBhY2tldHMgd2l0aG91dCB0aGUgRFNDUA0KPiA+IHNlbnQgZnJvbSBhIHNjYWxh YmxlIGNvbmdlc3Rpb24gY29udHJvbHMgKHdoaWNoIGlzIGJlaGluZCBKb25hdGhhbidzDQo+ID4g Y29uY2VybiBpbiByZXNwb25zZSB0byB5b3UpLg0KDQpXZSdyZSBvbiB0aGUgc2FtZSBwYWdlIGhl cmUsIGFzIEkgYWxzbyB3cm90ZSB0aGUgZm9sbG93aW5nIChhbHRob3VnaCBhIHN0cm9uZ2VyIHdv cmQgdGhhdCAic3VidGxldGllcyIgd291bGQgaGF2ZSBiZWVuIGJldHRlciBpbiAyMC8yMCBoaW5k c2lnaHQpOg0KDQo+ID4+IHRyYWZmaWMgKHRoZXJlIGFyZSBzb21lIHN1YnRsZXRpZXMgaGVyZSwg ZS5nLiwgaW50ZXJhY3Rpb24NCj4gPj4gd2l0aCBvcGVyYXRvciBibGVhY2hpbmcgb2YgRFNDUHMg dG8gemVybyBhdCBuZXR3b3JrIGJvdW5kYXJpZXMpLg0KDQpPbiB0byB0aGUgdHdvIHJlcXVlc3Rz Lg0KDQo+ID4gUGxlYXNlIGNvbmZpcm06DQo+ID4gYSkgdGhhdCB5b3VyIFJBQ0sgY29uY2VybiBv bmx5IGFwcGxpZXMgaW4gY29udHJvbGxlZCBlbnZpcm9ubWVudHMsIGFuZA0KPiA+IEVDVDErRFND UCByZXNvbHZlcyBpdA0KDQpObywgdHdpY2UuICBJIGhvcGUgdGhhdOKAmXMgY2xlYXJlciBub3cg YmV0d2VlbiB3aGF0IEdvcnJ5LCBNaWNoYWVsLCBhbmQgbXlzZWxmIGhhdmUgcG9zdGVkLg0KDQpB cyBzdGF0ZWQgaW4gdGhlIHBhc3QsIGFuZCBtb3Jlb3ZlciBpbiB0aGlzIGVtYWlsIHRocmVhZCwg SSBjYW4gYWNjZXB0IHNvbWUgc29ydCBjb250cm9sbGVkIGVudmlyb25tZW50IHRleHQgYXMgYSBj b21wcm9taXNlIG1lYW5zIG9mIG1vdmluZyB0aGUgZXhwZXJpbWVudCBmb3J3YXJkOg0KDQo+ID4+ IFByb2Nlc3Mgd2lzZSwgSSdtIG9rIHdpdGggYWRkcmVzc2luZyB0aGlzIG9iamVjdGlvbiB2aWEg c29tZSBzb3J0IG9mDQo+ID4+ICJjb250cm9sbGVkIGVudmlyb25tZW50IiBlc2NhcGUgY2xhdXNl IHRleHQgdGhhdCBtYWtlcyB0aGlzIFJBQ0stbGlrZQ0KPiA+PiByZXF1aXJlbWVudCBpbmFwcGxp Y2FibGUgaW4gYSAiY29udHJvbGxlZCBlbnZpcm9ubWVudCIgdGhhdCBkb2VzIG5vdA0KPiA+PiBu ZWVkIHRoYXQgYmVoYXZpb3IgKGUuZy4sIHdoZXJlIDNEdXBBQ0sgZG9lcyBub3QgY2F1c2UgcHJv YmxlbXMgYW5kDQo+ID4+IGlzIG5vdCBleHBlY3RlZCB0byBjYXVzZSBwcm9ibGVtcykuDQoNCk1v dmluZyBvbiB0byB0aGUgbmV4dCB0b3BpYzoNCg0KPiA+IGIpIG9uIHRoZSBwdWJsaWMgSW50ZXJu ZXQsIHdlIGN1cnJlbnRseSBoYXZlIG9uZSBpc3N1ZSB0byBhZGRyZXNzOg0KPiA+IHNpbmdsZS1x dWV1ZSBSRkMzMTY4IEFRTXMsDQo+ID4gYW5kIGlmIHdlIGNhbiByZXNvbHZlIHRoYXQsIEVDVDEg YWxvbmUgd291bGQgYmUgYWNjZXB0YWJsZSBhcyBhbiBMNFMNCj4gPiBpZGVudGlmaWVyLg0KDQpJ biBhZGRpdGlvbiB0byBhKSwgdGhlcmUgaXMgbm93IHRoZSBkZXNpcmUgb2YgU0NFIHRvIHVzZSBF Q1QoMSkgYXQgc2ltaWxhciBzY29wZS4NCg0KVGhhbmtzLCAtLURhdmlkDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR29ycnkgRmFpcmh1cnN0IDxnb3JyeUBlcmcuYWJk bi5hYy51az4NCj4gU2VudDogU3VuZGF5LCBKdWx5IDIxLCAyMDE5IDExOjEwIEFNDQo+IFRvOiBC b2IgQnJpc2NvZQ0KPiBDYzogQmxhY2ssIERhdmlkOyBXZXNsZXkgRWRkeTsgRGF2ZSBUYWh0OyBE ZSBTY2hlcHBlciwgS29lbiAoTm9raWEgLQ0KPiBCRS9BbnR3ZXJwKTsgZWNuLXNhbmVAbGlzdHMu YnVmZmVyYmxvYXQubmV0OyB0c3Z3Z0BpZXRmLm9yZw0KPiBTdWJqZWN0OiBSZTogW3RzdndnXSBb RWNuLXNhbmVdIENvbW1lbnRzIG9uIEw0UyBkcmFmdHMNCj4gDQo+IA0KPiBbRVhURVJOQUwgRU1B SUxdDQo+IA0KPiBJJ2QgbGlrZSB0byBhZGQgdG8gdGhpcyB3aGF0IEkgdW5kZXJzdGFuZCBhcyBh biBpbmRpdmlkdWFsIC4uLiBzZWUgaW5saW5lLg0KPiANCj4gT24gMjEvMDcvMjAxOSwgMDg6MzAs IEJvYiBCcmlzY29lIHdyb3RlOg0KPiA+IERhdmlkLA0KPiA+DQo+ID4gT24gMTkvMDcvMjAxOSAy MTowNiwgQmxhY2ssIERhdmlkIHdyb3RlOg0KPiA+PiBUd28gY29tbWVudHMgYXMgYW4gaW5kaXZp ZHVhbCwgbm90IGFzIGEgV0cgY2hhaXI6DQo+ID4+DQo+ID4+PiBNb3N0bHksIHRoZXkncmUgdGhp bmdzIHRoYXQgYW4gZW5kLWhvc3QgYWxnb3JpdGhtIG5lZWRzDQo+ID4+PiB0byBkbyBpbiBvcmRl ciB0byBiZWhhdmUgbmljZWx5LCB0aGF0IG1pZ2h0IGJlIGdvb2QgdGhpbmdzIGFueXdheXMNCj4g Pj4+IHdpdGhvdXQgcmVnYXJkIHRvIEw0UyBpbiB0aGUgbmV0d29yayAoY29leGlzdCB3LyBSZW5v LCBhdm9pZCBSVFQgYmlhcywNCj4gPj4+IHdvcmsgd2VsbCB3LyBzbWFsbCBSVFQsIGJlIHJvYnVz dCB0byByZW9yZGVyaW5nKS4gIEkgYW0gY3VyaW91cyB3aGljaA0KPiA+Pj4gb25lcyB5b3UgdGhp bmsgYXJlIHRvbyByaWdpZCAuLi4gbWF5YmUgdGhleSBjYW4gYmUgbG9vc2VuZWQ/DQo+ID4+IFsx XSBJIGhhdmUgcHJvZm91bmRseSBvYmplY3RlZCB0byBMNFMncyBSQUNLLWxpa2UgcmVxdWlyZW1l bnQgKHVzZQ0KPiA+PiB0aW1lIHRvIGRldGVjdCBsb3NzLCBhbmQgaW4gcGFydGljdWxhciBkbyBu b3QgdXNlIDNEdXBBQ0spIGluIHB1YmxpYw0KPiA+PiBvbiBtdWx0aXBsZSBvY2Nhc2lvbnMsIGJl Y2F1c2UgaW4gcmVsaWFibGUgdHJhbnNwb3J0IHNwYWNlLCB0aGF0DQo+ID4+IGZvcmNlcyB1c2Ug b2YgVENQIFByYWd1ZSwgYSBwcm90b2NvbCB3aXRoIHdoaWNoIHdlIGhhdmUgbGl0dGxlIHRvIG5v DQo+ID4+IGRlcGxveW1lbnQgb3Igb3BlcmF0aW9uYWwgZXhwZXJpZW5jZS4gIE1vcmVvdmVyLCB0 aGF0IHJlcXVpcmVtZW50DQo+ID4+IHJhaXNlcyB0aGUgYmFyIGZvciBvdGhlciBwcm90b2NvbHMg aW4gYSBmYXNoaW9uIHRoYXQgaW1wYWN0cyBlbmRwb2ludA0KPiA+PiBmaXJtd2FyZSwgYW5kIHBv c3NpYmx5IGhhcmR3YXJlIGluIHNvbWUgaW1wb3J0YW50IChJTUhPKSBlbnZpcm9ubWVudHMNCj4g Pj4gd2hlcmUgaW52ZXN0aW5nIGluIHRob3NlIGNoYW5nZXMgZGVsaXZlcnMgbGl0dGxlIHRvIG5v IGJlbmVmaXQuICBUaGUNCj4gPj4gZW52aXJvbm1lbnRzIHRoYXQgSSBoYXZlIGluIG1pbmQgaW5j bHVkZSBhIGxvdCBvZiBkYXRhIGNlbnRlcnMuDQo+ID4+IFByb2Nlc3Mgd2lzZSwgSSdtIG9rIHdp dGggYWRkcmVzc2luZyB0aGlzIG9iamVjdGlvbiB2aWEgc29tZSBzb3J0IG9mDQo+ID4+ICJjb250 cm9sbGVkIGVudmlyb25tZW50IiBlc2NhcGUgY2xhdXNlIHRleHQgdGhhdCBtYWtlcyB0aGlzIFJB Q0stbGlrZQ0KPiA+PiByZXF1aXJlbWVudCBpbmFwcGxpY2FibGUgaW4gYSAiY29udHJvbGxlZCBl bnZpcm9ubWVudCIgdGhhdCBkb2VzIG5vdA0KPiA+PiBuZWVkIHRoYXQgYmVoYXZpb3IgKGUuZy4s IHdoZXJlIDNEdXBBQ0sgZG9lcyBub3QgY2F1c2UgcHJvYmxlbXMgYW5kDQo+ID4+IGlzIG5vdCBl eHBlY3RlZCB0byBjYXVzZSBwcm9ibGVtcykuDQo+ID4+DQo+ID4+IEZvciBjbGFyaXR5LCBJIHVu ZGVyc3RhbmQgdGhlIG11bHRpLWxhbmUgbGluayBkZXNpZ24gcmF0aW9uYWxlIGJlaGluZA0KPiA+ PiB0aGUgUkFDSy1saWtlIHJlcXVpcmVtZW50IGFuZCB3b3VsZCBhZ3JlZSB3aXRoIHRoYXQgcmVx dWlyZW1lbnQgaW4gYQ0KPiA+PiBwZXJmZWN0IHdvcmxkIC4uLiBCVVQgLi4uIHRoaXMgd29ybGQg aXMgbm90IHBlcmZlY3QgLi4uIGUuZy4sIDNEdXBBQ0sNCj4gPj4gd2lsbCBub3QgdmFuaXNoIGZy b20gInJ1bm5pbmcgY29kZSIgYW55dGltZSBzb29uLg0KPiA+IEFzIHlvdSBrbm93LCB3ZSBoYXZl IGJlZW4gYXQgcGFpbnMgdG8gYWRkcmVzcyBldmVyeSBjb25jZXJuIGFib3V0IEw0Uw0KPiA+IHRo YXQgaGFzIGNvbWUgdXAgb3ZlciB0aGUgeWVhcnMsIGFuZCBJIHRob3VnaHQgd2UgaGFkIGFkZHJl c3NlZCB0aGlzDQo+ID4gb25lIHRvIHlvdXIgc2F0aXNmYWN0aW9uLg0KPiA+DQo+ID4gVGhlIHJl bGlhYmxlIHRyYW5zcG9ydHMgeW91IGFyZSBhcmUgY29uY2VybmVkIGFib3V0IHJlcXVpcmUgb3Jk ZXJlZA0KPiA+IGRlbGl2ZXJ5IGJ5IHRoZSB1bmRlcmx5aW5nIGZhYnJpYywgc28gdGhleSBjYW4g b25seSBldmVyIGV4aXN0IGluIGENCj4gPiBjb250cm9sbGVkIGVudmlyb25tZW50LiBJbiBzdWNo IGEgY29udHJvbGxlZCBlbnZpcm9ubWVudCwgeW91cg0KPiA+IEVDVDErRFNDUCBpZGVhIChiZWxv dykgY291bGQgYmUgdXNlZCB0byBpc29sYXRlIHRoZSBMNFMgZXhwZXJpbWVudA0KPiA+IGZyb20g dGhlc2UgdHJhbnNwb3J0cyBhbmQgdGhlaXIgZmlybXdhcmUvaGFyZHdhcmUgY29uc3RyYWludHMu DQo+ID4NCj4gPiBPbiB0aGUgcHVibGljIEludGVybmV0LCB0aGUgRFNDUCBjb21tb25seSBnZXRz IHdpcGVkIGF0IHRoZSBmaXJzdCBob3AuDQo+ID4gU28gcmVxdWlyaW5nIGEgRFNDUCBhcyB3ZWxs IGFzIEVDVDEgdG8gc2VwYXJhdGUgb2ZmIEw0UyB3b3VsZCBzZXJ2ZSBubw0KPiA+IHVzZWZ1bCBw dXJwb3NlOiBpdCB3b3VsZCBzdGlsbCBsZWFkIHRvIEVDVDEgcGFja2V0cyB3aXRob3V0IHRoZSBE U0NQDQo+ID4gc2VudCBmcm9tIGEgc2NhbGFibGUgY29uZ2VzdGlvbiBjb250cm9scyAod2hpY2gg aXMgYmVoaW5kIEpvbmF0aGFuJ3MNCj4gPiBjb25jZXJuIGluIHJlc3BvbnNlIHRvIHlvdSkuDQo+ ID4NCj4gPg0KPiBJdCB3b3VsZCBhbHdheXMgYmUgcG9zc2libGUgdG8gaGF2ZSB0YWtlbiBhbiBh cHByb2FjaCB0aGF0IHJlcXVpcmVkIGENCj4gRFNDUCB0byB1c2UgdGhlICJhbHRlcm5hbnRpdmUg RUNOIHNlbWFudGljIiAuIFRoaXMgb3B0aW9uIHdhcyBkZWJhdGVkDQo+IHdoZW4gTDRTIHdhcyBm aXJzdCBkaXNjdXNzZWQuIFRoZSBXRyBkcmFmdCBkZWNpZGVkIGFnYWluc3QgdGhhdA0KPiBhcHBy b2FjaCwgYW5kIGluc3RlYWQgY2hvc2UgdG8gdXNlIGFuIEVDVCgxKSBjb2RlcG9pbnQuIFRoYXQg SSByZWNhbGwNCj4gd2FzIGFuYWx5c2VkIGluIGRlcHRoLg0KPiANCj4gVGhpcyBkb2VzIG5vdCBw cmVjbHVkZSBzb21lb25lIGZyb20gY2xhc3NpZnlpbmcgb24gYSBEU0NQIChzdWNoIGFzIHRoZQ0K PiBzdWdnZXN0ZWQgTlFCKSB0byBhbHNvIGNob29zZSB3aGljaCBFQ04gdHJlYXRtZW50IHRvIHVz ZSAoc2hvdWxkIHRoYXQgYmUNCj4gdXNlZnVsIGZvciBzb21lIHJlYXNvbiwgZS5nLiBiZWNhdXNl IHRoZSB0cmFmZmljIGlzIGxvdyByYXRlKS4gVG8gbWUsIGF0DQo+IGxlYXN0LCBpdCBpbXBvcnRh bnQgdG8gYWxsb3cgdHJhZmZpYyB3aXRoIERTQ1AgbWFya2luZ3MgdG8gdXRpbGlzZSB0aGUNCj4g QVFNIEVDTiB0cmVhdG1lbnRzLg0KPiANCj4gPj4+PiBTbyB0byBtZSwgaXQgZ29lcyBiYWNrIHRv IHNsYW1taW5nIHRoZSBkb29yIHNodXQsIG9yIG5vdCwgb24gTDRTJ3MNCj4gPj4+PiB1c2FnZQ0K PiA+Pj4+IG9mIGVjdCgxKSBhcyBhIHRvbyBlYXNpbHkgZ2FtZWQgZTJlIGlkZW50aWZpZXIuIEFz IEkgZG9uJ3QgdGhpbmsgaXQNCj4gPj4+PiBhbmQNCj4gPj4+PiBhbGwgdGhlIGRlcGVuZGVudCBj b2RlIGFuZCBhbGdvcml0aG1zIGNhbiBwb3NzaWJseSBzY2FsZSBwYXN0IGEgc2luZ2xlDQo+ID4+ Pj4gcGh5c2ljYWwgbGF5ZXIgdGVjaCwgSSdkIGxpa2UgdG8gc2VlIGl0IG1vdmUgdG8gYSBEU0NQ IGNvZGVwb2ludCwNCj4gPj4+PiB3b3JzdA0KPiA+Pj4+IGNhc2UuLi4gYW5kIGNlcnRhaW5seSBy ZW1haW4gImV4cGVyaW1lbnRhbCIgaW4gc2NvcGUgdW50aWwgYW55b25lDQo+ID4+Pj4gaW5kZXBl bmRlbnQgY24gYXR0ZW1wdCB0byBldmFsdWF0ZSBpdC4NCj4gPj4+IFRoYXQgc2VlbXMgZ29vZCB0 byBkaXNjdXNzIGluIHJlZ2FyZCB0byB0aGUgTDRTIElEIGRyYWZ0LiAgVGhlcmUgaXMgYQ0KPiA+ Pj4gc2VjdGlvbiAoNS4yKSB0aGVyZSBhbHJlYWR5IGRpc2N1c3NpbmcgRFNDUCwgYW5kIHdoeSBp dCBhbG9uZSBpc24ndA0KPiA+Pj4gZmVhc2libGUuICBUaGVyZSdzIGFsc28gbW9yZSBkZXRhaWxl ZCBkZXNjcmlwdGlvbiBvZiB0aGUgcmVsYXRpb24gYW5kDQo+ID4+PiBpbnRlcndvcmtpbmcgaW4N Cj4gPj4+IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1icmlzY29lLXRzdndnLWw0 cy1kaWZmc2Vydi0wMg0KPiA+PiBbMl0gV2UgcHJvYmFibHkgc2hvdWxkIHBheSBtb3JlIGF0dGVu dGlvbiB0byB0aGF0IGRyYWZ0LiAgT25lIG9mIHRoZQ0KPiA+PiB0aGluZ3MgdGhhdCBJIHRoaW5r IGlzIGltcG9ydGFudCBpbiB0aGF0IGRyYWZ0IGlzIGEgcmVxdWlyZW1lbnQgdGhhdA0KPiA+PiBv cGVyYXRvcnMgY2FuIGVuYWJsZS9kaXNhYmxlIEw0UyBiZWhhdmlvciBvZiBFQ1QoMSkgb24gYSBw ZXItRFNDUA0KPiA+PiBiYXNpcyAtIHRoZSByYXRpb25hbGUgZm9yIHRoYXQgZnVuY3Rpb25hbGl0 eSBzdGFydHMgd2l0aCBpbmNyZW1lbnRhbA0KPiA+PiBkZXBsb3ltZW50LiAgIFRoaXMgdGVjaG5p cXVlIG1heSBhbHNvIGhhdmUgdGhlIHBvdGVudGlhbCB0byBwcm92aWRlIGENCj4gPj4gbWVhbnMg Zm9yIEw0UyBhbmQgU0NFIHRvIGNvZXhpc3QgdmlhIHVzZSBvZiBkaWZmZXJlbnQgRFNDUHMgZm9y IEw0Uw0KPiA+PiB2cy4gU0NFIHRyYWZmaWMgKHRoZXJlIGFyZSBzb21lIHN1YnRsZXRpZXMgaGVy ZSwgZS5nLiwgaW50ZXJhY3Rpb24NCj4gPj4gd2l0aCBvcGVyYXRvciBibGVhY2hpbmcgb2YgRFND UHMgdG8gemVybyBhdCBuZXR3b3JrIGJvdW5kYXJpZXMpLg0KPiA+Pg0KPiA+PiBUbyBiZSBjbGVh ciBvbiB3aGF0IEkgaGF2ZSBpbiBtaW5kOg0KPiA+PiAgICAgbyBVbmFjY2VwdGFibGU6IEFsbCB0 cmFmZmljIG1hcmtlZCB3aXRoIEVDVCgxKSBnb2VzIGludG8gdGhlIEw0Uw0KPiA+PiBxdWV1ZSwg aW5kZXBlbmRlbnQgb2Ygd2hhdCBEU0NQIGl0IGlzIG1hcmtlZCB3aXRoLg0KPiBUaGF0IGlzIHdo YXQgaGFzIGJlZW4gZGVzY3JpYmVkIGluIHRoZSBXRyBkcmFmdHMgc2luY2UgdGhleSBlbnRlcmVk DQo+IFRTVldHLiBJIGRvbid0IHJlY2FsbCBhbnkgc3VnZ2VzdGVkIGNoYW5nZSB0byB0aGF0IGRl Y2lzaW9uIHVudGlsIGp1c3Qgbm93Lg0KPiA+PiAgICAgbyBBY2NlcHRhYmxlOiAgVGhlcmUncyBh biBvcGVyYXRvci1jb25maWd1cmFibGUgbGlzdCBvZiBEU0NQcw0KPiA+PiB0aGF0IHN1cHBvcnQg YW4gTDRTIHNlcnZpY2UgLSB0cmFmZmljIG1hcmtlZCB3aXRoIEVDVCgxKSBnb2VzIGludG8NCj4g Pj4gdGhlIEw0UyBxdWV1ZSBpZiBhbmQgb25seSBpZiB0aGF0IHRyYWZmaWMgaXMgYWxzbyBtYXJr ZWQgd2l0aCBhIERTQ1ANCj4gPj4gdGhhdCBpcyBvbiB0aGUgb3BlcmF0b3IncyBEU0NQcy1mb3It TDRTIGxpc3QuDQo+IFRoYXQgd2FzIGFsd2F5cyBwb3NzaWJsZSB1bmRlciB0aGUgImFsdGVybmF0 aXZlIEVDTiBtYXJraW5ncyIsIGJ1dCBJDQo+IHVuZGVyc3Rvb2QgdGhlIHB1cnBvc2Ugd2FzIHRv IGZhY2lsaXRhdGUgYW4gSW50ZXJuZXQgZXhwZXJpbWVudC4NCj4gPiBQbGVhc2UgY29uZmlybToN Cj4gPiBhKSB0aGF0IHlvdXIgUkFDSyBjb25jZXJuIG9ubHkgYXBwbGllcyBpbiBjb250cm9sbGVk IGVudmlyb25tZW50cywgYW5kDQo+ID4gRUNUMStEU0NQIHJlc29sdmVzIGl0DQo+IFRoYXQgc2Vl bXMgbW9yZSB0aGFuIG9idmlvdXNseSBuZWVkZWQgdG8gbWUuIFRoZXJlIGlzIGEgbG90IG9mIHRy YWZmaWMNCj4gdGhhdCB1c2VzIHNvbWUgbm90aW9uIG9mIHRpbWVsaW5lc3MgZm9yIHJldHJhbnNt aXNzaW9uLiBEZXNpZ25pbmcgc3VjaCBhDQo+IHRyYW5zcG9ydCB0byBiZSByb2J1c3QgaXMgdHJp Y2t5LCBidXQgd2UncmUgYWxyZWRheSBleHBsb3JpbmcgdGhhdCBmb3INCj4gVENQIGFuZCBRVUlD Lg0KPiANCj4gT24gdGhlIG90aGVyIGhhbmQsIEkgaGF2ZSBtYW55IHRpbWVzIHVyZ2VkIGNhdXRp b24gaW4gY3JlYXRpbmcNCj4gYXNzdW1wdGlvbnMgdGhhdCB3aXQgd291bGQgYmUgT0sgZm9yIElu dGVybmV0IHBhdGhzIHRvIHNvbWVob3cgbm93IGFsbG93DQo+IG1vcmUgcmVvcmRlcmluZy4gSSdk IGxpa2UgdG8gc2VlIHRoYXQgaGFwcGVuIC0gYnV0IEkgZG9uJ3QgdGhpcw0KPiByZWNvbW1lbmRh dGlvbiBpcyBhcHByb3ByaXVhdGUuDQo+ID4gYikgb24gdGhlIHB1YmxpYyBJbnRlcm5ldCwgd2Ug Y3VycmVudGx5IGhhdmUgb25lIGlzc3VlIHRvIGFkZHJlc3M6DQo+ID4gc2luZ2xlLXF1ZXVlIFJG QzMxNjggQVFNcywNCj4gPiBhbmQgaWYgd2UgY2FuIHJlc29sdmUgdGhhdCwgRUNUMSBhbG9uZSB3 b3VsZCBiZSBhY2NlcHRhYmxlIGFzIGFuIEw0Uw0KPiA+IGlkZW50aWZpZXIuDQo+ID4NCj4gPiBJ IGFtIHRyeWluZyB0byBmb2N1cyB0aGUgaXNzdWVzIGxpc3QsIHdoaWNoIEkgd291bGQgaG9wZSB5 b3Ugd291bGQNCj4gPiBzdXBwb3J0LCBldmVuIHdpdGhvdXQgeW91ciBjaGFpciBoYXQgb24uDQo+ ID4NCj4gPg0KPiA+DQo+ID4gQm9iDQo+ID4NCj4gR29ycnkNCj4gPj4NCj4gPj4gUmVtaW5kZXI6 IFRoaXMgZW50aXJlIG1lc3NhZ2UgaXMgcG9zdGVkIGFzIGFuIGluZGl2aWR1YWwsIG5vdCBhcyBh IFdHDQo+ID4+IGNoYWlyLg0KPiA+Pg0KPiA+PiBUaGFua3MsIC0tRGF2aWQNCj4gPj4NCj4gPj4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiB0c3Z3ZyA8dHN2d2ctYm91 bmNlc0BpZXRmLm9yZz4gT24gQmVoYWxmIE9mIFdlc2xleSBFZGR5DQo+ID4+PiBTZW50OiBGcmlk YXksIEp1bHkgMTksIDIwMTkgMjozNCBQTQ0KPiA+Pj4gVG86IERhdmUgVGFodDsgRGUgU2NoZXBw ZXIsIEtvZW4gKE5va2lhIC0gQkUvQW50d2VycCkNCj4gPj4+IENjOiBlY24tc2FuZUBsaXN0cy5i dWZmZXJibG9hdC5uZXQ7IHRzdndnQGlldGYub3JnDQo+ID4+PiBTdWJqZWN0OiBSZTogW3Rzdndn XSBbRWNuLXNhbmVdIENvbW1lbnRzIG9uIEw0UyBkcmFmdHMNCj4gPj4+DQo+ID4+Pg0KPiA+Pj4g W0VYVEVSTkFMIEVNQUlMXQ0KPiA+Pj4NCj4gPj4+IE9uIDcvMTkvMjAxOSAxMTozNyBBTSwgRGF2 ZSBUYWh0IHdyb3RlOg0KPiA+Pj4+IEl0J3MgdGhlIGNvbW1vbi1xIHdpdGggQVFNICoqKyBFQ04q KiB0aGF0J3MgdGhlIHN0aWNraW5nIHBvaW50LiBJJ20NCj4gPj4+PiBwZXJmZWN0bHkgc2F0aXNm aWVkIHdpdGggdGhlIGJlaGF2aW9yIG9mIGV2ZXJ5IGlldGYgYXBwcm92ZWQgc2luZ2xlDQo+ID4+ Pj4gcXVldWVkIEFRTSB3aXRob3V0IGVjbiBlbmFibGVkLiBMZXQncyBkZXBsb3kgbW9yZSBvZiB0 aG9zZSENCj4gPj4+IEhpIERhdmUsIEknbSBqdXN0IHRyeWluZyB0byBtYWtlIHN1cmUgSSdtIHJl YWRpbmcgaW50byB5b3VyIG1lc3NhZ2UNCj4gPj4+IGNvcnJlY3RseSAuLi4gaWYgSSdtIHVuZGVy c3RhbmRpbmcgaXQsIHRoZW4geW91J3JlIG5vdCBpbiBmYXZvciBvZg0KPiA+Pj4gZWl0aGVyIFND RSBvciBMNFMgYXQgYWxsPyAgV2l0aCBzbWFsbCBxdWV1ZXMgYW5kIHdpdGhvdXQgRUNOLCBsb3Nz DQo+ID4+PiBiZWNvbWVzIHRoZSBvbmx5IGNvbmdlc3Rpb24gc2lnbmFsLCB3aGljaCBpcyBub3Qg ZGVzaXJhYmxlLCBJTUhPLCBvciBhbQ0KPiA+Pj4gSSB0b3RhbGx5IG1pc3VuZGVyc3RhbmRpbmcg c29tZXRoaW5nPw0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4gSWYgd2UgY291bGQgc29tZWhvdyBjcmVh dGUgYSBuZXV0cmFsIHBvbGwgaW4gdGhlIGdlbmVyYWwgbmV0d29ya2luZw0KPiA+Pj4+IGNvbW11 bml0eSBvdXRzaWRlIHRoZSBpZXRmIChuYW5vZywgYnNkLCBsaW51eCwgZGNzLCBiaWdjb3MsIHJv dXRlcmNvcywNCj4gPj4+PiBJU1BzIHNtYWxsIGFuZCBsYXJnZSkgLCBhbmQgZG8gaXQgbXVjaCBs aWtlIHlvdXIgY2xhc3NpYyAidm90ZSBmb3IgYQ0KPiA+Pj4+IHBvbGl0aWNhbCBtZWFzdXJlIiB0 aGluZywgd2l0aCBhIHNpbmdsZSBwb2ludC9jb3VudGVycG9pbnQgc2VjdGlvbiwNCj4gPj4+PiBt YXliZSB3ZSdkIGdldCBzb21ld2hlcmUuDQo+ID4+PiBXaGlsZSBJIGFncmVlIHRoYXQgd291bGQg YmUgcmVhbGx5IHVzZWZ1bCwgaXQncyBraW5kIG9mIGFuICJJIHdhbnQgYQ0KPiA+Pj4gcG9ueSIg c3RhdGVtZW50LiAgQXMgYSBUU1ZXRyBjaGFpciB3aGVyZSB3ZSdyZSBkb2luZyB0aGlzIHdvcmss IHdlJ3ZlDQo+ID4+PiBiZWVuIGdldHRpbmcgaW5wdXRzIGZyb20gcGVvcGxlIHRoYXQgaGF2ZSBh IGZvb3QgaW4gbWFueSBvZiB0aGUNCj4gPj4+IGNvbW11bml0aWVzIHlvdSBtZW50aW9uLCBidXQg YWx3YXlzIGxvb2tpbmcgZm9yIG1vcmUuDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiBJbiBwYXJ0aWN1 bGFyIGNvbmZsYXRpbmcgImxvdyBsYXRlbmN5IiByZWFsbHkgY29uZm91bmRzIHRoZSBzdWJqZWN0 DQo+ID4+Pj4gbWF0dGVyLCBhbmQgaGFzIGZvciB5ZWFycy4gRlEgZ2l2ZXMgImxvdyBsYXRlbmN5 IiBmb3IgdGhlIHZhc3QNCj4gPj4+PiBtYWpvcml0eSBvZiBmbG93cyBydW5uaW5nIGJlbG93IHRo ZWlyIGZhaXIgc2hhcmUuIEw0UyBwcm9taXNlcyAibG93DQo+ID4+Pj4gbGF0ZW5jeSIgZm9yIGEg cmlnaWRseSBkZWZpbmVkIHNldCBvZiBjb25nZXN0aW9uIGNvbnRyb2xzIGluIGENCj4gPj4+PiBz cGVjaWFsaXplZCBxdWV1ZSwgYW5kIG90aGVyd2lzZSB0b3NzZXMgYWxsIGZsb3dzIGludG8gYSBo aWdoZXINCj4gPj4+PiBsYXRlbmN5DQo+ID4+Pj4gcXVldWUgd2hlbiBvbmUgZmxvdyBpcyBncmVl ZHkuDQo+ID4+PiBJIGRvbid0IHRoaW5rIHRoaXMgaXMgYSBjb3JyZWN0IHN0YXRlbWVudC4gIFBh Y2tldHMgaGF2ZSB0byBiZSBmcm9tIGENCj4gPj4+ICJzY2FsYWJsZSBjb25nZXN0aW9uIGNvbnRy b2wiIHRvIGdldCBhY2Nlc3MgdG8gdGhlIEw0UyBxdWV1ZS4gIFRoZXJlDQo+ID4+PiBhcmUNCj4g Pj4+IHNvbWUgZHJhZnQgcmVxdWlyZW1lbnRzIGZvciB1c2luZyB0aGUgTDRTIElELCBidXQgdGhl eSBzZWVtIHByZXR0eQ0KPiA+Pj4gZmxleGlibGUgdG8gbWUuICBNb3N0bHksIHRoZXkncmUgdGhp bmdzIHRoYXQgYW4gZW5kLWhvc3QgYWxnb3JpdGhtDQo+ID4+PiBuZWVkcw0KPiA+Pj4gdG8gZG8g aW4gb3JkZXIgdG8gYmVoYXZlIG5pY2VseSwgdGhhdCBtaWdodCBiZSBnb29kIHRoaW5ncyBhbnl3 YXlzDQo+ID4+PiB3aXRob3V0IHJlZ2FyZCB0byBMNFMgaW4gdGhlIG5ldHdvcmsgKGNvZXhpc3Qg dy8gUmVubywgYXZvaWQgUlRUIGJpYXMsDQo+ID4+PiB3b3JrIHdlbGwgdy8gc21hbGwgUlRULCBi ZSByb2J1c3QgdG8gcmVvcmRlcmluZykuICBJIGFtIGN1cmlvdXMgd2hpY2gNCj4gPj4+IG9uZXMg eW91IHRoaW5rIGFyZSB0b28gcmlnaWQgLi4uIG1heWJlIHRoZXkgY2FuIGJlIGxvb3NlbmVkPw0K PiA+Pj4NCj4gPj4+IEFsc28sIEkgZG9uJ3QgdGhpbmsgdGhlICJ0b3NzZXMgYWxsIGZsb3dzIGlu dG8gYSBoaWdoZXIgbGF0ZW5jeSBxdWV1ZQ0KPiA+Pj4gd2hlbiBvbmUgZmxvdyBpcyBncmVlZHki IGNoYXJhY3Rlcml6YXRpb24gaXMgY29ycmVjdC4gIFRoZSBvdGhlciBxdWV1ZQ0KPiA+Pj4gaXMg Zm9yIGNsYXNzaWMvbm9uLXNjYWxhYmxlIHRyYWZmaWMsIGFuZCBub3QgbmVjZXNzYXJpbHkgaGln aGVyIGxhdGVuY3kNCj4gPj4+IGZvciBhIGdpdmVuIGZsb3csIG5vciBpcyB3aW5kaW5nIHVwIHRo ZXJlIHJlbGF0ZWQgdG8gd2hldGhlciBhbm90aGVyDQo+ID4+PiBmbG93IGlzIGdyZWVkeS4NCj4g Pj4+DQo+ID4+Pg0KPiA+Pj4+IFNvIHRvIG1lLCBpdCBnb2VzIGJhY2sgdG8gc2xhbW1pbmcgdGhl IGRvb3Igc2h1dCwgb3Igbm90LCBvbiBMNFMncw0KPiA+Pj4+IHVzYWdlDQo+ID4+Pj4gb2YgZWN0 KDEpIGFzIGEgdG9vIGVhc2lseSBnYW1lZCBlMmUgaWRlbnRpZmllci4gQXMgSSBkb24ndCB0aGlu ayBpdA0KPiA+Pj4+IGFuZA0KPiA+Pj4+IGFsbCB0aGUgZGVwZW5kZW50IGNvZGUgYW5kIGFsZ29y aXRobXMgY2FuIHBvc3NpYmx5IHNjYWxlIHBhc3QgYSBzaW5nbGUNCj4gPj4+PiBwaHlzaWNhbCBs YXllciB0ZWNoLCBJJ2QgbGlrZSB0byBzZWUgaXQgbW92ZSB0byBhIERTQ1AgY29kZXBvaW50LA0K PiA+Pj4+IHdvcnN0DQo+ID4+Pj4gY2FzZS4uLiBhbmQgY2VydGFpbmx5IHJlbWFpbiAiZXhwZXJp bWVudGFsIiBpbiBzY29wZSB1bnRpbCBhbnlvbmUNCj4gPj4+PiBpbmRlcGVuZGVudCBjYW4gYXR0 ZW1wdCB0byBldmFsdWF0ZSBpdC4NCj4gPj4+IFRoYXQgc2VlbXMgZ29vZCB0byBkaXNjdXNzIGlu IHJlZ2FyZCB0byB0aGUgTDRTIElEIGRyYWZ0LiAgVGhlcmUgaXMgYQ0KPiA+Pj4gc2VjdGlvbiAo NS4yKSB0aGVyZSBhbHJlYWR5IGRpc2N1c3NpbmcgRFNDUCwgYW5kIHdoeSBpdCBhbG9uZSBpc24n dA0KPiA+Pj4gZmVhc2libGUuICBUaGVyZSdzIGFsc28gbW9yZSBkZXRhaWxlZCBkZXNjcmlwdGlv biBvZiB0aGUgcmVsYXRpb24gYW5kDQo+ID4+PiBpbnRlcndvcmtpbmcgaW4NCj4gPj4+IGh0dHBz Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1icmlzY29lLXRzdndnLWw0cy1kaWZmc2Vydi0w Mg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4gSSdkIHJlYWxseSBhbGwgdGhlIHRjcC1nby1mYXN0LWF0 LWFueS1jb3N0IHBlb3BsZSB0byB0YWtlIGEgeWVhcg0KPiA+Pj4+IG9mZiB0bw0KPiA+Pj4+IGRv Z2Zvb2QgdGhlaXIgZGVzaWducywgYW5kIGdvIGxpdmUgc29tZXdoZXJlIHdpdGggYSBjb25nZXN0 ZWQgbmV0d29yaw0KPiA+Pj4gdG8NCj4gPj4+PiBkZWFsIHdpdGggZGFpbHksIGxpa2UgYSByYWls d2F5IG9yIGFpcnBvcnQsIG9yIG9uIDNHIG5ldHdvcmsgb24gYQ0KPiA+Pj4+IHNhaWxib2F0IG9y IGJlYWNoIHNvbWV3aGVyZS4gSXQncyBub3QgYSBiYWQgbGlmZS4uLiBSRUFMTFkuDQo+ID4+Pj4N Cj4gPj4+IEZvcnR1bmF0ZWx5LCBhdCBsZWFzdCBpbiB0aGUgSUVURiwgSSBkb24ndCB0aGluayB0 aGVyZSBoYXZlIGJlZW4NCj4gPj4+IGluaXRpYXRpdmVzIGluIHRoZSBkaXJlY3Rpb24gb2YgZ29p bmcgZmFzdCBhdCBhbnkgY29zdCBpbiByZWNlbnQNCj4gPj4+IGhpc3RvcnksIGFuZCB0aGV5IHdv dWxkIGJlIHVubGlrZWx5IHRvIGJlIHdlbGwgYWNjZXB0ZWQgaWYgdGhlcmUgd2VyZSENCj4gPj4+ IFRoYXQgaXMgYXQgbGVhc3Qgb25lIHBsYWNlIHRoYXQgdGhlcmUgc2VlbXMgdG8gYmUgc3Ryb25n IGNvbnNlbnN1cy4NCj4gPj4+DQo+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fDQo+ID4+IEVjbi1zYW5lIG1haWxpbmcgbGlzdA0KPiA+PiBFY24tc2Fu ZUBsaXN0cy5idWZmZXJibG9hdC5uZXQNCj4gPj4gaHR0cHM6Ly9saXN0cy5idWZmZXJibG9hdC5u ZXQvbGlzdGluZm8vZWNuLXNhbmUNCj4gPg0KDQo=