From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2082.outbound.protection.outlook.com [40.107.220.82]) (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 3BAFD3B2A4 for ; Tue, 3 Oct 2023 16:26:28 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YpHNV62BzD2CHsmf/nyKnPJVs6snOZOhY1En79ZApnacTB3m11vSyKB4ISiCoPa3UyZ2KZVnAtgcqw0Njb4cVEgFSvDADTKdY7kL59WHSR24irrOhKdCBK+7lPpMreHgW9ByAuYyB5yXNdCPFP1Ox1ft67moKCXjekHsOqB8JgiBkQDGXtHuF41PYL27542o9/EP2YEECYuMkeNQuW3QCtIJPV4+eDoPLWlaZQZTYu83wmk/NYYcfjxU6bkpjlh+LoeyzJXQ+h1kX8D6d6DN0axfEduHnU1M1yjXAGW6s7JuvzkYBzFcTXcUitl86g3+cQ6lK51ei4itGNlJfTg/Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CF5o2w3q9BO+QW3GoXIKgvxFdkpQz3beKjLMMfuC5vw=; b=iVVTnx8N8ptTxtRoSiwSuyTWPpsPBnkT1BAK9cPsoLVK7AkVcxZOZvpGwH+mKuZlH1RXafWwewpR30A1k0ZsnOnhPAxP4MKsJycIppAKY0zo3qcBLsAdneB4y5rbk03MhK1HPa+eBmL492UeT1V4m+CIpHvd0FBOKHHXegoKWJVbL40jRoUH+PB5g2F1FDgud29He+ockW8gfCsnIpPl4dINUPxFYBPXvPW8leVsMG/zEtctDsDrJJiOnjclVac32Q8DNyVgcxIiJCkFWqKFlaxY0VahNeW5zTEe4cjqgl6dMBBAnIpBz5N/aMgA8xBQcxml05OBuEDqxea0Y3RCXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=higbie.name; dmarc=pass action=none header.from=higbie.name; dkim=pass header.d=higbie.name; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=higbie.name; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CF5o2w3q9BO+QW3GoXIKgvxFdkpQz3beKjLMMfuC5vw=; b=GNWOdvM5fp5MQB6UYkWL39spPznbUUE/74mk8B8gFPluYZo7wO73BuHO4xpTDtHBmoxd6wwFwMIEbpmgf8zkocNM4qSL5Xk30ZNG+Mr/AhKK803e56weZVMA1LVVCLuEl8LvhDzV7rs7ZqgSQMaJD2xfDlSm5vfD6mu9yiUJgjw8P1+5Dcv1n1aImObU6d8fD32Od/wqmXNCqPnfRv7Tf3m9kuYVW6RYTSdYWZ/E4Z7HyuYIb5R0c9UmeHSKEG6R7MeVA7Gs5m2LH4ALZIJM0PPS+gy+grX0kqAMJ/t2qNplCbeuZJwO4Rzw3XiEdGrKIIXQ7oiaNFclGc9DpJkrLQ== Received: from MN2PR16MB3391.namprd16.prod.outlook.com (2603:10b6:208:150::23) by SN7PR16MB5158.namprd16.prod.outlook.com (2603:10b6:806:32c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.24; Tue, 3 Oct 2023 20:26:24 +0000 Received: from MN2PR16MB3391.namprd16.prod.outlook.com ([fe80::90a9:ee9c:1420:f51f]) by MN2PR16MB3391.namprd16.prod.outlook.com ([fe80::90a9:ee9c:1420:f51f%6]) with mapi id 15.20.6838.030; Tue, 3 Oct 2023 20:26:24 +0000 From: Colin_Higbie To: Sebastian Moeller , =?utf-8?B?TmV0d29yayBOZXV0cmFsaXR5IGlzIGJhY2shIExldMK0cyBtYWtlIHRoZSB0?= =?utf-8?Q?echnical_aspects_heard_this_time!?= Thread-Topic: [NNagain] On "Throttling" behaviors Thread-Index: AQHZ9V4sRg+f2MtJgEyaZSNjOR0+erA220RAgADWgACAAMUqcA== Date: Tue, 3 Oct 2023 20:26:24 +0000 Message-ID: References: <6D7F7242-248B-4FD4-BEDA-EE931B7DFE3C@andyring.com> <0a158308-e0c1-4722-8013-745e3ded232d@app.fastmail.com> <1B7534EB-2FCE-4500-B53D-F1DFEED1DBC7@gmx.de> In-Reply-To: <1B7534EB-2FCE-4500-B53D-F1DFEED1DBC7@gmx.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=Higbie.name; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR16MB3391:EE_|SN7PR16MB5158:EE_ x-ms-office365-filtering-correlation-id: e4b6de0f-69b2-4119-69ae-08dbc44f03a9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Rcg7Dv/CUVSt159kpsqUZhub/K4bZHRG3wjqOCU7av1K0kNI0sCa7t87CoQ0xgYvS8XWD+BzK0TyewJb/lyFL/6EhX2vJvMYgllmd9lj7Q1wSveFtbOWx7Srm8rUlEoVD6phdVGqbEJkDuH8IVTrFj5ArTOT0wihbmypnACp24Gz8MpxBrdOcpNwQEeUpTIUj6PuCnZ/2Wi/+6etZNnCCXEMciRqKAgAzHR29m6AyIBZ1PMXukI89KzmS0g6kBcAjRBbsVUa5kdpJAR0DgQcoonAsCUPJJRkD0kunmg3ciMKjYanIwZQ7OeKMyIKp+P/Z1rlBgK+dyWIQALUXmxhonE0EdVLnaVufHOT7SRLS7M19ik+D4K9nv9+7uXxjRQWc2kTxSH5fi2thYixKOxUxJovTmAjbD4I0mGcd2XhlfMjrv+mKM1Tc+gqN3yucCRHsP2Bs3dyHChdbYdUYnyktKPKb5beGC8iPE9DQtsGR+JzI3kcm99iKBXAUsuxcc2t1gDN1ZEe0P38UWDGx1oHmmlx3wtnB1ErYfzNJwA0vAnMQBOf5SoKmpUsoaSPzfWeGw2No8wxg13dQIMG6o1VQrnnn7UEuDxEPOiQ960r3ps= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR16MB3391.namprd16.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(136003)(376002)(366004)(39830400003)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(55016003)(66899024)(966005)(6506007)(122000001)(71200400001)(7696005)(53546011)(478600001)(83380400001)(38070700005)(38100700002)(30864003)(86362001)(110136005)(41300700001)(2906002)(66574015)(9686003)(52536014)(26005)(66446008)(33656002)(5660300002)(64756008)(66476007)(316002)(76116006)(66946007)(8936002)(66556008)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OFFRZ29ZQlh0bjBEVEFuRS91YWwrU084V0dKOVl3dUVNZjcrR1JpeXd5dUpK?= =?utf-8?B?djV2U2pweFg0YWFRL0VFSWJvWitXbDJBd3BGb254QlQ3OHY3WXU5TDFOUnRw?= =?utf-8?B?K0xMMVQzNktCTmxoSkpDd01YWHh3N1Vwb3JHRSsxTzk1QTd2U3VIM3FXQUdy?= =?utf-8?B?TVloZUc0Zno0NldzZFhIUUhqc3k3MzJ4MklTNEFQU2dOd3hKRVY2YmNGM1h1?= =?utf-8?B?RC82YTA4ZzQyY2FDY0VIeHBycmhvV2VWcHJjbmMwQlFjcFdXTDZneitPTWRX?= =?utf-8?B?VFl2bHI0MnZla3ZtWEp4RmdTV1ZURloxdmFCNE1rZDN2QWQ4UFN6ZDZRVmp6?= =?utf-8?B?cTVmaGEwMHd4K1Z1Vko1VnN0c1VrUExFNTA0TVZQd2ZpSzFzdUp2OEE4RDJU?= =?utf-8?B?b1J2WUNnRDh6Ujk0Y0R0dkh2ZEdacVpMU1Y2ZUo5WTlGekdKUUN3N3NjSkl0?= =?utf-8?B?RVNLd0YwNnR0YlgvVlhnY0VYUHZrTi9mL2dOMzI2dHU1MGtYc3JHbkJjWFh5?= =?utf-8?B?TFhqaEtDRWR6cUJnWC9zakp1aVcyeHlJcmhYYzN0VEJhenhWWEZMOVkybWpu?= =?utf-8?B?ek0xZzY0bEszUm5FNjhKZkprS2hicGxnckRtV2drVlZEUEgwYjhCazVlcE82?= =?utf-8?B?UnVQZlF0RGdCNlAvRERoTU1raWFxeUpiRDVCZDlNN2pmSjZYU0NmalltNTVV?= =?utf-8?B?SXNFZjd6TWxiQU52L2dTb1NZOEJaQU5nYktJMG9FaUpkaW9RbGJnUkxBQUx1?= =?utf-8?B?VUtJKzhEM21qUU1ldmN5VGw1Zlk5ZzVwa2tlT1FqdjVaWldtS2tXUElXSHhU?= =?utf-8?B?VE5Ub0kxbDNhMTJlaWhNOU1rK0VNS3R2K0I1MWltQUJLcHJXSWZaOU9tM0tj?= =?utf-8?B?TmZvVW9wNlduQ1Bra012cHRSc0Rqam16MnpKcTd1WVBTYmh6NUorTVhpMkJr?= =?utf-8?B?QWxmSUtQQ3BFeG9tb0x4ZkJtNlRBNWgxTVh6TEJJbUZHZlFZMmRrVzhxZld3?= =?utf-8?B?YlRUc045OFBVVkVYSjlXVFJ0TlQ1OG9tcDNDVTU3dEd3YU91Tld5aVl5OVlG?= =?utf-8?B?WlovcDJ5bVVUNVI0TkpEZHd6d2pTOHBRQkV2RWEwdFIrMnVEemRoMG1YV2R0?= =?utf-8?B?RDJUZ1JxT3p1MmxWNmhBczY1ZXo3V0JrNlR1dzEyVkNlK3JpYzdHVXhzUkxY?= =?utf-8?B?SHdYcFdWcVAyMXZKWUVxWmY3aHJidjI0OTR6L1lGeDVkOU1yKzl0djgvd0lR?= =?utf-8?B?QlNTQ01VcGhzNDNIVG1qL0M2TEJ3dkhxZmlKblJhcUc4UGVleFk3Y09vRUJO?= =?utf-8?B?Szh6RnJRSjNLVWpVeXhBcVBkcDhPS2c1eVJQcUFpUVFnNUpjT2JRQzRKQzFJ?= =?utf-8?B?bnlUeThHbldSbkhsVGpMRis0MDhWczFIS1FJNDFPeWFXdkYvUmJSeWtxQ3h0?= =?utf-8?B?R1A4RVFIZlFhZVl4WFR1b0h0ZElyY25YbUVSUllQZU4zK2hyWlZ0czZha2Fr?= =?utf-8?B?ZC9VVEllSEIvOSs3VGJvY1h0UmZYNGJ5YW0ySTVZeU8xT2FlcHBGOEw0Q0hy?= =?utf-8?B?WE55ZEM4K1VGSW5DVFJkYU01MUpWWmFrZjVvZ29HNHY5bVNuZ2piVmJoUnVI?= =?utf-8?B?d01vZmhDMXV2cmdSdjR6V0FQd2FmM01lME5KQ1RJM3NqdnZqd2lJelBZM1FH?= =?utf-8?B?VVF0czEzb0FMMEc2NW1IN3EwbnB5anRTSS8wVVpMdE8rMGg0bFBNN09oRStw?= =?utf-8?B?U3ZRSHltZExjWVcrSlRwRUM1OTVlcXVScHp4anFLRDBBS3N0YUZyZFpqVzcz?= =?utf-8?B?UTcydmp1cU94MGExb0h2UUdMMHR6anRvZmFWKysxSFRVNDJYWU5TWlcxSWY5?= =?utf-8?B?aGtOVmJIeExsbXF0TDBBREFwODJSbVc5cDRZZTNFc3U0TmdJenluWEVqWlpV?= =?utf-8?B?TldEN0wvdWRLWUZ5N1g4NFg2L2k0ZWVSbmFsbGxtNUYyK1VuTVR3b3pXL1Ri?= =?utf-8?B?QVl5VG1wenE4TXJKbVBLK3E3eUNxdDdqOWQzSHhhaXRBd3hic3FrV0dwdnEz?= =?utf-8?Q?7eMpTB?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: higbie.name X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR16MB3391.namprd16.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4b6de0f-69b2-4119-69ae-08dbc44f03a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Oct 2023 20:26:24.5892 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 223bbcd9-6252-452c-afb2-140040991a08 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eHjHyUV2+yRBuPcYKvKKWRDRxjh5nV4AjRTsmuJ4rf5t75e49kuC/HgblpVxb1K2KEIabObasYaj6E7e4ex82A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR16MB5158 Subject: Re: [NNagain] On "Throttling" behaviors X-BeenThere: nnagain@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: =?utf-8?q?Network_Neutrality_is_back!_Let=C2=B4s_make_the_technical_aspects_heard_this_time!?= List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2023 20:26:28 -0000 U2ViYXN0aWFuLA0KDQpHb29kIHBvaW50cyBhbmQgdGhhbmtzIGZvciB0aGUgY29udmVyc2F0aW9u LiBJIGFncmVlIHdpdGggeW91IG9uIHRoZSBJTlRFTlQgb2YgdGhlIE5OIHJlZ3VsYXRpb25zIGFz IHByb3Bvc2VkIGFuZCB0aGF0IG1vc3Qgb2YgdGhlIG5vbi1jb250ZW50IHByb3ZpZGVyIHN1cHBv cnRlcnMgaGFkIHdoYXQgeW91IHN0YXRlZCBhcyB0aGUgZ29hbC4gSG93ZXZlciwgdGhlIG1vbmV5 IGRyaXZpbmcgdGhlIHBvbGl0aWNpYW5zLCBwYXlpbmcgZm9yIHRob3NlIGFkcyBhbmQgc29jaWFs IG1lZGlhIGNhbXBhaWducywgZXRjLiBjYW1lIGZyb20gdGhlIGNvbnRlbnQgcHJvdmlkZXJzIHdo byB3YW50ZWQgZ292ZXJubWVudCBzdXBwb3J0IGFuZCBwcm90ZWN0aW9uLiBUaGlzIGRvZXNuJ3Qg bWFrZSB0aGUgY2FycmllcnMgcmlnaHQgKG9yIHdyb25nKSwganVzdCBrbm93IHRoYXQgdGhlIGJp ZyBzdXBwb3J0ZXJzIHdlcmUgdGhlIGNvbnRlbnQgcHJvdmlkZXJzIGFuZCBmb3Igb2J2aW91cyBi dXNpbmVzcyByZWFzb25zIOKAkyB0aGV5IHdhbnRlZCB0byBnZXQgdGhlaXIgY29udGVudCB0byBj dXN0b21lcnMgZm9yIGZyZWUuDQoNClRoZXJlIGFyZSBwbGVudHkgb2YgZ29vZCBhbmQgdmFsaWQg YXJndW1lbnRzIG9uIGJvdGggc2lkZXMgdGhhdCBpc3N1ZSwgYnV0IGhpc3Rvcnkgc2hvd3MgdGhh dCBpbiB0aGUgbG9uZyBydW4sIGdvdmVybm1lbnQgaW50ZXJmZXJlbmNlIGluIHRoZSBmb3JtIG9m IGNvbnRyb2xsaW5nIHJlZ3VsYXRpb25zIG9uIHdoYXQgYnVzaW5lc3MgbWF5IGFuZCBtYXkgbm90 IGRvIHdpdGggZWFjaCBvdGhlciwgb3V0c2lkZSBtYXR0ZXJzIG9mIHB1YmxpYyBzYWZldHkgYW5k IHBlcmhhcHMgZXN0YWJsaXNoaW5nIGFuZCBtYW5kYXRpbmcgc29tZSBtZWFzdXJpbmcgc3RhbmRh cmRzLCBpcyBhbHdheXMgZGVzdHJ1Y3RpdmUgdG8gaW5ub3ZhdGlvbi4gVGhhdCBpbiB0dXJuIGh1 cnRzIGNvbnN1bWVycyBpbiB0aGUgZW5kLiANCg0KT24gdGhlIEdvb2dsZSBwb2ludCwgSSByZXNw ZWN0IHRoYXQgeW91IGRpc2FncmVlIHRoYXQgR29vZ2xlJ3Mgb2ZmZXJpbmcgaW4gbXkgaHlwb3Ro ZXRpY2FsIHdoZXJlIGl0J3MgYm91bmQgdG8gdGhlaXIgb3duIHNlcnZpY2VzIHdvdWxkIG5vdCBo YXZlIGJlZW4gYXMgZ29vZCBhcyBvcGVuIDIwTWJwcyBJbnRlcm5ldCBhY2Nlc3MuIEkgd291bGQg cHJvYmFibHkgZmVlbCB0aGUgc2FtZSB3YXkuIEJ1dCB0aGF0J3Mgbm90IHRoZSBwb2ludC4gVGhl IHBvaW50IGlzIHRoYXQgaWYgR29vZ2xlIGNhbWUgaW4gT0ZGRVJJTkcgdGhhdCwgaXQgd291bGQg aGF2ZSBiZWVuIGRpc3J1cHRpdmUuIEFzIGxvbmcgYXMgY3VzdG9tZXJzIGhhZCBUSEUgQ0hPSUNF IG9mIDFHIGNvbnRlbnQtY29udHJvbGxlZCB2cyAyME0gb3BlbiAob3Igd2hhdGV2ZXIgdGhleSBo YWQgYWNjZXNzIHRvKSwgdGhlbiBHb29nbGUncyBvZmZlcmluZyBpcyBvbmx5IGJlbmVmaWNpYWwg aW4gdGhlIGxvbmcgcnVuLiBUaGUgZW50cmVuY2hlZCBjb21wZXRpdG9ycyB3b3VsZCBuZWVkIHRv IHVwIHRoZWlyIGdhbWUgb3IgbG9zZSBhdCBsZWFzdCBzb21lIGN1c3RvbWVycy4gVGhleSB3b3Vs ZCBlaXRoZXIgaW5jcmVhc2UgdGhlaXIgY2FwYWNpdHkgYW5kIGF2YWlsYWJsZSBiYW5kd2lkdGgg b3IgdG91dCB0aGUgYmVuZWZpdHMgb2YgdGhlaXIgb3BlbiBhY2Nlc3Mgb3Igc29tZXRoaW5nIGVs c2Ugb3Igc29tZSBjb21iaW5hdGlvbi4gVGhhdCdzIGhvdyBjdXN0b21lcnMgd2luIGZyb20gY29t cGV0aXRpb24g4oCTIGl0J3Mgbm90IGp1c3QgcHJpY2UsIG9yIGp1c3QgYmFuZHdpZHRoLCBvciBq dXN0IGFjY2VzcyBmcmVlZG9tLCBvciBhbnkgb25lIHRoaW5nLiBJdCdzIHRoZSB1bnByZWRpY3Rh YmxlIGZyZWVkb20gdG8gaW5ub3ZhdGUgYW5kIGZpbmQgbmV3IG5pY2hlcyB0aGF0IGN1c3RvbWVy cyB3YW50IHRvIHBheSBmb3IuIEFuZCB0aGUgbWFya2V0IGlzIEFMV0FZUyBiZXR0ZXIgYXQgZGV0 ZXJtaW5pbmcgd2hpY2ggaXMgdGhlIGJldHRlciB2YWx1ZSBmb3IgY3VzdG9tZXJzLiBOb25lIG9m IHVzIGFzIGluZGl2aWR1YWxzIChhcyBtdWNoIGFzIFhpIEppbnBpbmcgbWlnaHQgZGlzYWdyZWUp IGNhbiBvdXQtcHJlZGljdCB0aGUgY3Jvd2Qtc291cmNpbmcgcG93ZXIgYW5kIHdpc2RvbSBvZiB0 aGUgZW50aXJlIGZyZWUgbWFya2V0Lg0KDQpJIGNvbXBsZXRlbHkgYWdyZWUgd2l0aCB5b3UgdGhh dCBteSBzYXlpbmcgIml0IG1pZ2h0IGhhdmUgc3Bhd25lZCBzaWduaWZpY2FudCBpbnZlc3RtZW50 Li4uIiBpcyBzcGVjdWxhdGl2ZS4gVGhlIGNvcmUgb2YgdGhhdCBpcyB0aGUgZnVuZGFtZW50YWwg cG9pbnQgb2YgZWNvbm9taWNzIHRob3VnaDogaW5kaXZpZHVhbHMgbWFraW5nIGNob2ljZXMgZm9y IHRoZWlyIG93biBzZWxmLWludGVyZXN0IGlzIHdoYXQgZHJpdmVzIGlubm92YXRpb24gYW5kIGFk dmFuY2VtZW50IGluIGEgd2F5IHRoYXQgdWx0aW1hdGVseSBoZWxwcyBldmVyeW9uZS4gSW4gb3Ro ZXIgd29yZHMsIHRoZSByZWd1bGF0aW9uIHdvdWxkIGFsc28gaGF2ZSBiZWVuIHNwZWN1bGF0aXZl IHRoYXQgaXQgd291bGQgaGVscCBtb3JlIHRoYW4gbm90IGhhdmluZyB0aGF0IHJlZ3VsYXRpb24u IEFuZCBpdCB3b3VsZCBoYXZlIGFzc3VtZWQgQk9USCB0aGF0IGlubm92YXRpb24gd29uJ3Qgc29s dmUgY3VycmVudCBwcm9ibGVtcyBBTkQgdGhhdCBjdXN0b21lcnMgYXJlIHRvbyBzdHVwaWQgdG8g Y2hvb3NlIHRoZSBzZXJ2aWNlIHRoYXQncyBvZiB2YWx1ZSB0byB0aGVtLiANCg0KR2l2ZW4gYSBj aG9pY2UgYmV0d2VlbiBzcGVjdWxhdGluZyB0aGF0IGZ1dHVyZSBpbm5vdmF0aW9ucyBtaWdodCBz b2x2ZSBwcm9ibGVtcyBvciBzcGVjdWxhdGluZyB0aGF0IHdlJ3JlIGRvb21lZCB3aXRob3V0IGdv dmVybm1lbnQgcHJvdGVjdGlvbiBmcm9tIGNvbXBhbmllcyB3aG8gaGF2ZSBub3QgeWV0IHJlYWxs eSBkb25lIHRoZSBiYWQtR29vZ2xlLWh5cG90aGV0aWNhbC10aGluZyBJIGRlc2NyaWJlZCwgSSB3 b3VsZCBtdWNoIHJhdGhlciBlcnIgb24gdGhlIHNpZGUgb2YgbGV0dGluZyB0aGUgbWFya2V0IGFu ZCBpbm5vdmF0aW9uIGNvbnRpbnVlIHRvIHJ1biB3aXRoIHRoaW5ncy4gQWZ0ZXIgYWxsLCB0aGF0 J3Mgd2hhdCB0b29rIHRoZSBJbnRlcm5ldCBmcm9tIGEgbWlsaXRhcnkgYW5kIGFjYWRlbWljIG5l dHdvcmsgaW50byB0aGUgbW9zdCBpbXBhY3RmdWwgZWNvbm9taWMgZm9yY2Ugb2YgdGhlIHBhc3Qg ZGVjYWRlcywgYW5kIG9uZSBpbmZ1c2VkIGJ5IGEgY3VsdHVyZSBvZiBpbm5vdmF0aW9uIGFuZCBl bnRyZXByZW5ldXJzaGlwLg0KDQpUeWluZyB0aGF0IHRvZ2V0aGVyIHdpdGggeW91ciBwb2ludCBv biB0aGUgZ292ZXJubWVudCBwb2xpY2llcyBwcm90ZWN0aW5nIGxvY2FsIG1vbm9wb2xpZXM6IFdo eSBkaWQgVmVyaXpvbiBzdGFydCB0byBidWlsZCBGaU9TPyBCZWNhdXNlIHRoZXkgdGhvdWdodCB0 aGV5IGNvdWxkIGF0dHJhY3QgY3VzdG9tZXJzIGFuZCBlYXJuIGEgc3Ryb25nIHByb2ZpdCBieSBw cm92aWRpbmcgYSBiZXR0ZXIsIGZhc3RlciBJbnRlcm5ldCB2aWEgRlRUSC4gT24gcGFwZXIsIHRo aXMgd2FzIGEgc2xhbSBkdW5rLiBXaHkgZGlkIHRoZXkgc3RvcCBidWlsZGluZyBpdCBvdXQ/IEJl Y2F1c2UgdGhleSByYW4gaW50byB0b28gbWFueSBsb2NhbGl0aWVzIHdobyBibG9ja2VkIHRoZW0g d2l0aCBsZWdpc2xhdGl2ZSBhbmQgcmVndWxhdG9yeSBodXJkbGVzLiANCg0KVGhhdCBGaU9TIGV4 YW1wbGUgaXMgb25lIG9mIHRoZSBiZXN0IGNhc2Ugc3R1ZGllcyBvZiBleGFjdGx5IGhvdyBnb3Zl cm5tZW50IHJlZ3VsYXRpb24gcHJpbWFyaWx5IHN0aWZsZXMgYW5kIGhhcm1zIGVuZCB1c2VyIGV4 cGVyaWVuY2Ugd2l0aCByZXNwZWN0IHRvIEludGVybmV0IGFjY2VzcyBzcGVlZHMuDQoNCkkgYWxz byBhZ3JlZSB3aXRoIHlvdXIgY29uY2x1ZGluZyBwb2ludHMgdGhhdCBpZiBjYXJyaWVyIGFjY2Vz cyB3ZXJlIHJlZ3VsYXRlZCwgYnVzaW5lc3Mgd291bGQgZG8gdGhlaXIgdGhpbmcsIGFkYXB0LCBh bmQgZmluZCBhIHdheSBmb3J3YXJkLiBUaGUgd29ybGQgd291bGQgbm90IGVuZC4gQWxsIHRydWUu IE5vIGRpc3B1dGUgb24gdGhhdC4gSG93ZXZlciwgSSB3b3VsZCBzYXkgdGhhdCBpZiB3ZSBsb29r IDIwIG9yIDUwIG9yIDEwMCB5ZWFycyBvdXQsIHRoZSBzdGF0ZSBvZiBodW1hbiBjb21tdW5pY2F0 aW9ucyBhbmQgY29tcHV0aW5nIHRlY2hub2xvZ3kgd291bGQgYmUgZnVydGhlciBhZHZhbmNlZCBp biB1bnByZWRpY3RhYmxlIHdheXMgYnkgbm90IHJlbW92aW5nIHNvbWUgb2YgdGhvc2UgYXhlcyBv ZiBmcmVlZG9tIGZyb20gdGhlIGVudHJlcHJlbmV1cnMgYXMgdGhleSBpbm5vdmF0ZS4gVGhlIGdh aW5zIGFyZSBvbmx5IGluIHRoZSB2ZXJ5IHNob3J0IHRlcm0uIFByb3RlY3RpbmcgbXkgTmV0Zmxp eCBhY2Nlc3MgdG9kYXkgaXMgbmljZSwgYnV0IGdldHRpbmcgMVRicHMgYWNjZXNzIChvciBzdWIg MC4xbXMgbGF0ZW5jeSBmb3IgcmFkaWNhbGx5IGRpZmZlcmVudCBsZXZlbHMgb2YgY29tcHV0YXRp b24gaW50ZXJhY3Rpdml0eSwgb3Igc29tZXRoaW5nIGVsc2Ugd2UgZG9uJ3QgZXZlbiByZWFsaXpl IG1hdHRlcnMgeWV0KSB0byBiZSBjb21tb25wbGFjZSBpbiAyMCB5ZWFycyBtaWdodCBiZSBldmVu IGJldHRlci4NCg0KVGFraW5nIGFsbCBvZiB0aGUgYWJvdmUgdG9nZXRoZXIsIHRoaXMgaXMgd2h5 IGlmIHdlJ3JlIGxvb2tpbmcgZm9yIGEgU1RBUlRJTkcgcG9pbnQgKGFuZCB0byBiZSBmYWlyIHRv IHlvdXIgcG9pbnRzLCBtYXliZSBtb3JlIHdvdWxkIGJlIG5lZWRlZCBhZnRlciB0aGF0LCBidXQg bGV0J3MgdGFja2xlIHRoZSBiaWdnZXN0LCBtb3N0IGluZGlzcHV0YWJsZSBwcm9ibGVtIGZpcnN0 KSwgU1RBUlQgd2l0aCBkaXNtYW50bGluZyB0aG9zZSBnb3Zlcm5tZW50LXByb3RlY3RlZCBtb25v cG9saWVzLiBNYXliZSwgdGhhdCB3aWxsIGJlIGVub3VnaC4gR2l2ZW4gdGhhdCBpbm5vdmF0aW9u LWNydXNoaW5nIHJlZ3VsYXRpb25zIHRlbmQgdG8gZ3JvdyBhbmQgYXJlIHJhcmVseSBldmVyIHJl dHJhY3RlZCwgYmV0dGVyIHNhZmUgdGhhbiBzb3JyeSBvbiB0aGlzLg0KDQpCeSB0aGUgd2F5LCBJ IHNheSB0aGlzIGFzIGEgZ3V5IG9uIHRoZSBjb250ZW50LXByb3ZpZGluZyBzaWRlIG9mIHRoZSBw cm9ibGVtLiBTbywgdG8gdGhlIGV4dGVudCB0aGF0IEkgaGF2ZSBidXNpbmVzcyBiaWFzLCBpdCB3 b3VsZCBiZSBpbiBmYXZvciBvZiBmb3JjaW5nIGVxdWFsIGFjY2Vzcy4gSG93ZXZlciwgSSBhbHNv IGJlbGlldmUgdGhhdCB0aGUgc2FtZSByZWd1bGF0aW9ucyB0aGF0IHdvdWxkIGZvcmNlIGVxdWFs IGFjY2VzcyB0b2RheSB3b3VsZCBhbHNvIHN0eW1pZSB0aGUgZGV2ZWxvcG1lbnQgb2YgMTBHIGFu ZCAxVCBuZXR3b3JrcyBhbmQgYmV5b25kIGluIHRoZSBmdXR1cmUgKG5vdCB0aGVpciBlbmdpbmVl cmluZywgYnV0IHRoZSBhY3R1YWwgY29tbWVyY2lhbCBkZXBsb3ltZW50KS4gQWR2YW5jZW1lbnQg YW5kIGlubm92YXRpdmUgZ3Jvd3RoIG9jY3VyIHdoZW4gaW5ub3ZhdG9ycyBhbmQgZW50cmVwcmVu ZXVycyBoYXZlIHRoZSBmcmVlZG9tIG9mIHRoZSBvcGVuIHNreSAod2l0aCBhbGwgdGhlIGNvbmZ1 c2lvbiBhbmQgd3JvbmcgdHVybnMgYW5kIGZhaWx1cmVzIHRoYXQgYWRtaXR0ZWRseSBjb21lIHdp dGggdGhhdCksIG5vdCB1bmRlciBhIHNtb3RoZXJpbmcgdGFycCBvZiByZWd1bGF0aW9uLiANCg0K Q2hlZXJzLA0KQ29saW4NCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogU2Vi YXN0aWFuIE1vZWxsZXIgPG1vZWxsZXIwQGdteC5kZT4gDQpTZW50OiBUdWVzZGF5LCBPY3RvYmVy IDMsIDIwMjMgMzo1MCBBTQ0KVG86IE5ldHdvcmsgTmV1dHJhbGl0eSBpcyBiYWNrISBMZXTCtHMg bWFrZSB0aGUgdGVjaG5pY2FsIGFzcGVjdHMgaGVhcmQgdGhpcyB0aW1lISA8bm5hZ2FpbkBsaXN0 cy5idWZmZXJibG9hdC5uZXQ+DQpDYzogQ29saW5fSGlnYmllIDxDSGlnYmllMUBIaWdiaWUubmFt ZT4NClN1YmplY3Q6IFJlOiBbTk5hZ2Fpbl0gT24gIlRocm90dGxpbmciIGJlaGF2aW9ycw0KDQpI aSBDb2xpbiwNCg0KPiBPbiBPY3QgMiwgMjAyMywgYXQgMjI6MzQsIENvbGluX0hpZ2JpZSB2aWEg Tm5hZ2FpbiA8bm5hZ2FpbkBsaXN0cy5idWZmZXJibG9hdC5uZXQ+IHdyb3RlOg0KPiANCj4gV2hp bGUgcHJvZHVjdCBhbmQgc2VydmljZSBpbm5vdmF0aW9uIG9mdGVuIG9yaWdpbmF0ZXMgZnJvbSBw dXJlIFImRCBvciB3b3JrIHBlcmZvcm1lZCBpbiBhY2FkZW1pYyBsYWJzLCBpbiB2aXJ0dWFsbHkg YWxsIGNhc2VzLCBjb252ZXJ0aW5nIHRoYXQgaW50byBjb21tZXJjaWFsbHkgdmlhYmxlIHByb2R1 Y3RzIGFuZCBzZXJ2aWNlcyBpcyB0aGUgcmVzdWx0IG9mIHByb2ZpdCBpbmNlbnRpdmVzLiBBIGNv bXBhbnkgd29u4oCZdCBpbnZlc3QgaW4gZG9pbmcgc29tZXRoaW5nIG5ldyB3aXRoIGF0dGVuZGFu dCByaXNrcyB1bmxlc3MgdGhleSBjYW4gZXhwZWN0IGEgcmV0dXJuIG9uIHRoYXQgaW52ZXN0bWVu dCBncmVhdGVyIHRoYW4gdGhlIGFsdGVybmF0aXZlcyAob3IgdGhleSBiZWxpZXZlIGl0IHdpbGwg cHJvdmlkZSBzdHJhdGVnaWMgc3VwcG9ydCB0byBzb21lIG90aGVyIHByb2R1Y3Qgb3Igc2Vydmlj ZSkuIEZvciB0aGF0IHJlYXNvbiwgd2Ugd2FudCB0byBiZSBleHRyZW1lbHkgY2FyZWZ1bCBhYm91 dCByZWd1bGF0aW5nIGhvdyBjb21wYW5pZXMgY2FuIGltcGxlbWVudCBpbm5vdmF0aW9ucywgaW5j bHVkaW5nIHRoZSB1c2Ugb2YgcG90ZW50aWFsbHkgZGlzdGFzdGVmdWwgYnVzaW5lc3MgcHJhY3Rp Y2VzLiBOb25lIG9mIHVzIHdobyB3YW50IHRvIHNlZSB0aGUgSW50ZXJuZXQgYmVjb21lIGJldHRl ciBvdmVyIHRpbWUgYW5kIG1vcmUgYWNjZXNzaWJsZSBzaG91bGQgd2FudCBhbnl0aGluZyByZXNl bWJsaW5nIE5OIHJlZ3VsYXRpb24uDQoNCglbU01dIEF0IGl0cyBjb3JlIE5OIHJlZ3VsYXRpb25z IHJlYWxseSBqdXN0IHNheSB0aGF0IHdobyBpcyBzZWxsaW5nIGludGVybmV0IGFjY2VzcyBzZXJ2 aWNlcyBpcyBzdXBwb3NlZCB0byBkbyBleGFjdGx5IHRoYXQgYW5kIG5vdCB0cnkgdG8gYWN0IGFz IGdhdGUta2VlcGVyIHBpY2tpbmcgd2lubmVycyBhbmQgbG9zZXJzLiBJIG1pZ2h0IGJlIGluc3Vm ZmljaWVudGx5IGNyZWF0aXZlIGhlcmUsIGJ1dCBJIGRvIG5vdCB0aGluayBhIHNpbXBsZSAiZG8g bm90IGRpc2NyaW1pbmF0ZSIgZGlyZWN0aXZlIHJlYWxseSByZXN0cmljdHMgdGhlIHNwYWNlIG9m IHBvdGVudGlhbCBpbm5vdmF0aW9ucyBpbiBhbnkgbWVhbmluZ2Z1bCB3YXkuDQoNCg0KPiBUaGUg cmVndWxhdG9yeSBzaWRlIG9mIHRoaXMgaXMgbGFyZ2VseSBub3QgYSB0ZWNobmljYWwgZGlzY3Vz c2lvbiBiZWNhdXNlIGZ1dHVyZSBpbm5vdmF0aW9uLCBieSBkZWZpbml0aW9uLCBtYXkgZXhjZWVk IHRlY2huaWNhbCBjb25zaWRlcmF0aW9ucyB3ZSBjYW4gY29uY2VpdmUgb2YgdG9kYXkuDQoNCglb U01dIEluZGRlZCwgcHJlZGljdGlvbiBpcyBoYXJkLCBlc3BlY2lhbGx5IHByZWRpY3Rpb25zIGFi b3V0IHRoZSBmdXR1cmUgOykNCg0KDQo+IEl0J3MgZWFzeSB0byBjb25jZWl2ZSBvZiBleGFtcGxl cyB3aGVyZSBhbiBJU1Agd2FudHMgdG8gcHJpb3JpdGl6ZSBvciBwZW5hbGl6ZSBjZXJ0YWluIGtp bmRzIG9mIHRyYWZmaWMuIEFuZCB3aGlsZSB0aGF0IG1heSBzZWVtIHN1cGVyZmljaWFsbHkgYmFk LCBpdOKAmXMgYW4gaW1wb3J0YW50IHBhcnQgb2YgdGhlIHZlcnkgY29tcGV0aXRpb24gdGhhdCBk cml2ZXMgaW5ub3ZhdGlvbiBhbmQgY29zdCByZWR1Y3Rpb25zIG92ZXIgdGltZS4gRS5nLiwgcmVj YWxsIHdoZW4gR29vZ2xlIEZpYmVyIGhhZCBiZWVuIHdpbGxpbmcgdG8gaW5zdGFsbCBHYnBzIGZp YmVyIGluIHBsYWNlcyBhdCBhIHRpbWUgd2hlbiBtb3N0IG9mIHRoZSByZXN0IG9mIHRoZSBjb3Vu dHJ5IHdhcyBzdHJ1Z2dsaW5nIHRvIGdldCAyME1icHMgY29ubmVjdGlvbnMuIElmIEdvb2dsZSBo YWQgd2FudGVkIHRvIGxpbWl0IHRoYXQgdG8gR29vZ2xlIHNlcnZpY2VzLCB0aGF0IHN0aWxsIG1p Z2h0IGhhdmUgYmVlbiBhIGJvb24gdG8gdGhvc2UgY3VzdG9tZXJzLg0KDQoJW1NNXSBJIHJlc3Bl Y3RmdWxseSBkaXNhZ3JlZSwgdGhhdCB3b3VsZCBub3QgaGF2ZSBiZWVuIG1lYW5pbmdmdWwgaW50 ZXJuZXQgYWNjZXNzLiBBbiB1bnJlc3RyaWN0ZWQgMjBNIGludGVybmV0IGFjY2VzcyBsaW5rIGhh cyBtb3JlIGdlbmVyYWwgdXRpbGl0eSB0aGF0IGV2ZW4gYSAxMEcgZ2F0ZS1rZWVwZXIgb25seSBs aW5rICh3aG8gdGhhdCBnYXRlLWtlZXBlciBpcyBpcyBpcnJlbGV2YW50KS4gKEkgYW0gbm90IHNh eWluZyB0aGUgMjBNIHdvdWxkIGJlIHdpdGhvdXQgaXNzdWVzKQ0KDQoNCj4gRnVydGhlciwgaXQg Y291bGQgaGF2ZSBzaG93biB0aGUgdXNlcyBhbmQgdmFsdWVzIG9mIHdoYXQgd2FzIHRoZW4gY29u c2lkZXJlZCBsaW1pdGxlc3MgYmFuZHdpZHRoIGZvciBhIGhvbWUgb3Igc21hbGwgYnVzaW5lc3Mg dXNlci4NCg0KCVtTTV0gWWVhaCwgb24gdGhhdCBxdWVzdGlvbiB3ZSBhcmUgc3RpbGwgd2FpdGlu ZyBldmVuIHRob3VnaCA+PSAxIEdicHMgc2VydmljZXMgYXJlIG5vdCBhbGwgdGhhdCByYXJlIGFu eW1vcmUuIEFzIGZhciBhcyBJIGNhbiBzZWUgaXQgd2Ugc3RpbGwgbGFjayB1c2UtY2FzZXMgdGhh dCBzdHJpY3RseSByZXF1aXJlIGZhc3QgbGlua3MgdGhhdCBnbyBhYm92ZSBzaW1wbGUgIm1vcmUg cGFyYWxsZWwiIG9yICJmYXN0ZXIiLg0KDQoNCj4gRXZlbiB0aG91Z2ggdGhpcyB3b3VsZCBjbGVh cmx5IGhhdmUgYmVlbiBpbiB2aW9sYXRpb24gb2YgdGhlIHRlbmV0cyBvZiBOTiwgaXQgd291bGQg aGF2ZSBwcm92aWRlZCBpbXBvcnRhbnQgZGF0YSB0aGF0IG1pZ2h0IGhhdmUgc3Bhd25lZCBzaWdu aWZpY2FudCBpbnZlc3RtZW50IGJ5IG90aGVycyBhbmQgYWR2YW5jZWQgdGhlIHN0YXRlIG9mIGNv bm5lY3Rpdml0eSBhY3Jvc3MgdGhlIGJvYXJkLg0KDQoJW1NNXSBUaGlzIGlzIHB1cmVseSBzcGVj dWxhdGl2ZSB0aG91Z2gsIGl0IG1pZ2h0IGFzIHdlbGwgaGFkIHNob3duIG5vdGhpbmcgb2YgdGhh dCBraW5kIGJ5IHRoZSBzaGVlciBmYWN0IHRoYXQgZ29vZ2xlIGZpYmVyIHJvbGwtb3V0IHdhcyBz byBzbWFsbCBhcyB0byBiZSBub3QgcmVwcmVzZW50YXRpdmUgb2YgYW55dGhpbmcsIG5vPw0KDQo+ ICANCj4gSSBrbm93IHRoZSBjb3VudGVyIGFyZ3VtZW50IHRvIHRoaXMgaXMgdGhhdCBsb2NhbCBJ U1AgbW9ub3BvbGllcyBhbHJlYWR5IGJyZWFrIGlubm92YXRpb24sIGFuZCB0aG9zZSBjb21wYW5p ZXMsIGVzcGVjaWFsbHkgdGhlIGJpZyBjYWJsZSBjb21wYW5pZXMsIHRoZXJlZm9yZSBoYXZlIG5v IGluY2VudGl2ZSB0byBwcm92aWRlIGEgZ29vZCBzZXJ2aWNlLiBJIGxhcmdlbHkgYWdyZWUgd2l0 aCB0aGF0ICh0aGVyZSBpcyBzdGlsbCBzb21lIHNtYWxsIGluY2VudGl2ZSwgaW4gdGhhdCBpZiB0 aGV5IGFyZSB0b28gdGVycmlibGUsIGN1c3RvbWVyIG91dGNyeSB3aWxsIHR1cm4gdG8gdm90ZXIg b3V0Y3J5IGFuZCBkZW1hbmQgYnJlYWtpbmcgdGhvc2UgbW9ub3BvbGllcywgYW5kIHRoZXkgZG9u 4oCZdCB3YW50IHRvIHJpc2sgdGhhdCkuDQo+ICANCj4gVGhlcmVmb3JlLCB0aGUgbGVnYWwgaXNz dWUgdG8gYWRkcmVzcyBpcyBOT1QgaG93IHRoZXkgdHJlYXQgb3IgcHJpb3JpdGl6ZSBkYXRhLCB3 aGV0aGVyIGJ5IGNvbnRlbnQgb3IgcHJvdG9jb2wg4oCTIHdoaWNoIHRoZXkgc2hvdWxkIGJlIGFs bG93ZWQgdG8gZG8sIEVWRU4gV0hFTiBJVOKAmVMgQkFEIEZPUiBDVVNUT01FUlMg4oCTIGJ1dCwg YXQgbGVhc3QgcmVmZXJyaW5nIHRvIHRoZSBVLlMuIHNwZWNpZmljYWxseSB3aXRoIG91ciBmZWRl cmFsL3N0YXRlIHN5c3RlbSwgdG8gcHV0IGZlZGVyYWwgbGltaXRzIG9uIGR1cmF0aW9ucyBvZiBy ZWdpb25hbCBtb25vcG9seSBkdXJhdGlvbnMuIEkgYmVsaWV2ZSB0aGlzIGlzIHdpdGhpbiB0aGUg c2NvcGUgb2Ygd2hhdCBGQ0MgY2FuIG1hbmRhdGUgKHNvbWUgd291bGQgZGViYXRlIHRoaXMgYW5k IGl0IG1heSB0YWtlIHRoZSBjb3VydHMgdG8gc29ydCBpdCBvdXQpLiBUaGVzZSBuZWVkIG5vdCBi ZSBwdXJlbHkgIyBvZiB5ZWFycywgdGhleSBjYW4gYmUgYSBmdW5jdGlvbiBvZiB0aW1lIHRvIHJl Y291cCBkZXBsb3ltZW50IGNvc3RzLiBJZiBhIGNvbXBhbnkgbmVnb3RpYXRlZCBhIGxvY2FsIG1v bm9wb2x5IGFzIHBhcnQgb2YgY292ZXJpbmcgdGhlaXIgZGVwbG95bWVudCBjb3N0cywgSSB3b3Vs ZCBwZXJzb25hbGx5IHNheSB0aGF0IHRoZXkgc2hvdWxkIGJlIGdpdmVuIGFuIG9wcG9ydHVuaXR5 IHRvIHJlY291cCB0aG9zZSwgYnV0IHRoZW4gYWZ0ZXIgdGhhdCwgdGhleSBuZWVkIHRvIG9wZW4g dXAgdGhlaXIgbGluZXMgZm9yIHVzZSBieSBjb21wZXRpbmcgZmlybXMsIHNpbWlsYXIgdG8gd2hh dCBoYXBwZW5lZCB3aXRoIHRoZSBSQk9DcyBhbmQgdGhlIG9sZCB0ZWxlcGhvbmUgbGluZXMuDQoN CglbU01dIFRoZSBwcm9ibGVtIGlzIHRoYXQgYWNjZXNzIG5ldHdvcmtzIG9mdGVuIGFyZSBub3Qg bGVnYWwgbW9ub3BvbGllcywgYnV0IG5hdHVyYWwgbW9ub3BvbGllcyB3aGVyZSBpZiBjb21wYW55 IEEgaGFzIGEgaGlnaC1zcGVlZCBjYXBhYmxlIG5ldHdvcmsgZGVwbG95ZWQgaXQgYmVjb21lcyBl Y29ub21pY2FsbHkgdW5hdHRyYWN0aXZlIGZvciBvdGhlciBjb21wYW5pZXMgdG8gZGVwbG95IHRo ZWlyIG93biBuZXR3b3JrICh0aGUgY29tcGV0aXRvciBjYW4gdG9ycGVkbyBzdWNoIGEgZGVwbG95 bWVudCBieSBsb3dlcmluZyBwcmljZXMgc3VjaCB0aGF0IHRvbyBmZXcgY3VzdG9tZXJzIGNoYW5n ZSB0byBtYWtlIHRoZSB3aG9sZSB0aGluZyBzdGF5IGluIHRoZSAibG9zcyIgcmVnaW9uIGZvciBh IGxvbmcgdGltZSkuIFNvIGxlYXZpbmcgdGhlIGFjY2VzcyBuZXR3b3JrIHRvIG1hcmtldCBwbGF5 ZXJzIHdpbGwgYWx3YXlzIHJlc3VsdCBpbiB0aGUgaW5jZW50aXZlIHRvIG1vbmV0aXplIHRoZSBn YXRlLWtlZXBlciByb2xlIHRoYXQgaXMgaW5oZXJlbnQgaW4gdGhlIG5ldHdvcmsncyBzdHJ1Y3R1 cmUuIA0KT25lIHNvbHV0aW9uIHRvIHRoaXMgcHJvYmxlbSAobm90IHRoZSBvbmx5IG9uZSkgaXMg dG8gcHV0IHRoZSBhY2Nlc3MgbmV0d29yayBpbnRvIHRoZSBwdWJsaWMgaGFuZHMsIGxpa2Ugb3Ro ZXIgaW1wb3J0YW50IGluZnJhc3RydWN0dXJlLiBUaGUgaWRlYSB3b3VsZCB0aGVuIGJlIGxpa2Ug aW4gQW1zdGVyZGFtLCBadWVyaWNoIGFuZCBhIGZldyBvdGhlciBwbGFjZXMgdG8gaGF2ZSBhIGxv Y2FsIGFjY2VzcyBuZXR3b3JrIHByb3ZpZGVyIHRoYXQgaW4gdHVybiAiY29uY2VudHJhdGVzIiBh Y2Nlc3MgbGlua3MgaW4gQ09zIGxvY2FsIElYcyB3aGVyZSBpbnRlcmVzdGVkIElTUHMgY29uIGNv bm5lY3QgdG8gYW5kIHRoZW4gb2ZmZXIgYWxsIGVuZC11c2VycyBpbiB0aGF0IGFjY2VzcyBuZXR3 b3JrIGludGVybmV0IGFjY2VzcyBzZXJ2aWNlcy4gVGhhdCBzdGlsbCBsZWF2ZXMgdGhlIG5hdHVy YWwgbW9ub3BvbHkgb2YgdGhlIGFjY2VzcyBuZXR3b3JrIHVudG91Y2hlZCwgYnV0IHB1dHMgaXQg dW5kZXIgbWFuYWdlbWVudCBvZiBlbiBlbnRpdHkgdGhhdCBpcyBub3QgbGlrZWx5IHRvIGV4cGxv aXQgdGhpcyAoYXMgZnVsbHkgYXMgcHJpdmF0ZSBlbnRpdGllcyBhcmUpLg0KCVRoaXMgaXMgaG93 ZXZlciBwcmV0dHkgb3J0aG9nb25hbCB0byBkaXJlY3QgTk4gY29uY2VybnMsIGFuZCBJIGFtIHN1 cmUgbm90IGEgZ2VuZXJhbGx5IGFjY2VwdGVkIG1vZGVsLiAoU2F5IGlmIEkgd291bGQgYmUgb3Bl cmF0aW5nIGEgc21hbGwgSVNQIGFuZCB3b3VsZCBkaWZmZXJlbnRpYXRlIG15c2VsZiBieSBob3cg d2VsbCBJIG1hbmFnZSBteSBhY2Nlc3MgbmV0d29yaywgSSBsaWtlbHkgd291bGQgZGV0ZXN0IHN1 Y2ggaWRlYXMsIGFuZCBpZiBJIHdvdWxkIG9wZXJhdGUgYSBiaWcgSVNQIEkgd291bGQgZGV0ZXN0 IHRoZW0gZm9yIG90aGVyIHJlYXNvbnMgOykgc28gdGhpcyBpcyB2ZXIgZW5kLXVzZXIgY2VudHJp YyBhbmQgYWxzbyByZWxpZXMgb24gc29tZSBtb2RpY3VtIG9mIGZhaXRoIGluIGxvY2FsIGdvdmVy bm1lbnQpDQoNCg0KPiBUaGlzIGlzIGFsc28gdGhlIGxlZ2FsIGxvZ2ljIGJlaGluZCBwYXRlbnRz OiBnaXZlIGEgY29tcGFueSBhIDIwIHllYXIgbW9ub3BvbHkgb24gdGhlIGludmVudGlvbiBpbiBl eGNoYW5nZSBmb3IgbWFraW5nIGl0IHB1YmxpYyB0byBldmVyeW9uZSBhbmQgc2hvd2luZyB0aGVt IGhvdyB0byBkbyBpdCAodGhlIHBhdGVudCBtdXN0IHByb3ZpZGUgY2xlYXIgaW5zdHJ1Y3Rpb25z KS4gV2UgZGVlbSB0aGUgdGVtcG9yYXJ5IG1vbm9wb2x5IHdvcnRod2hpbGUgdG8gaW5jZW50IHRo ZSBpbm5vdmF0aW9uLCBwcm92aWRlZCB0aGUgaW52ZW50b3IgbWFrZXMgaXQgcHVibGljLiBUaGlz IGlzIHRoZSByaWdodCBwaGlsb3NvcGh5IHRvIGNvbnNpZGVyIGZvciBzb21ldGhpbmcgbGlrZSBi YW5kd2lkdGggaW5ub3ZhdGlvbiwgaW52ZXN0bWVudCwgYW5kIGFjY2Vzcy4NCj4gIA0KPiBJbiBz aG9ydCwgd2l0aCBJU1DigJlzIHRoZSBvcGVuLWVuZGVkIGdvdmVybm1lbnQgcHJvdGVjdGVkIG1v bm9wb2xpZXMgYXJlIHRoZSBwcm9ibGVtLA0KDQoJW1NNXSBBZ2FpbiB0aGVzZSBvZnRlbiBhcmUg bm90IGxlZ2FsIG1vbm9wb2xpZXMgd2hlcmUgbm9ib2R5IGVsc2UgaXMgcGVybWl0dGVkIHRvIGJ1 aWxkIGEgY29tcGV0aW5nIG5ldHdvcmssIGJ1dCBuYXR1cmFsIG1vbm9wb2xpZXMgd2hlcmUgdGhl IGV4cGVjdGVkIHJldHVybiBvZiBpbnZlc3RtZW50IGZhbGxzIHdpdGggdGhlIG51bWJlciBvZiBh bHJlYWR5IGV4aXN0aW5nIG5ldHdvcmtzLCB3aGlsZSB0aGUgY29zdCBzdGF5cyBjb25zdGFudC4g QU5EIHRoZSBudW1iZXIgb2YgSVNQcyB0Z2F0IG1pZ2h0IGFjdHVhbGx5IGJpdGUgdGhlIGJ1bGxl dCBhbmQgc2V0IGRpZ2dlcnMgaW4gbW90aW9uIGlzIHN0aWxsIHNvIHNtYWxsIHRoYXQgaW4gdGhl IGVuZCwgd2UgbWlnaHQgY2hhbmdlIGZyb20gYSBtb25vcG9seSB0byBhbiBvbGlnb3BvbHkgc2l0 dWF0aW9uLCBiaXRoIGFyZSByZWdpbWVzIGluIHdoaWNoIHRoZSBmcmVlIG1hcmtldCBkb2VzIG5v dCByZWFsbHkgZGVsaXZlciBvbiBpdHMgcHJvbWlzZXMuDQoNCg0KPiBub3QgdGhlIHByb3ZpZGVy c+KAmSBhYmlsaXR5IHRvIG92ZXJjaGFyZ2UgY3VzdG9tZXJzIG9yIHByaW9yaXRpemUgc29tZSBk YXRhIG92ZXIgb3RoZXJzLiBDb21wZXRpdGlvbiB3aWxsIGZpeCB0aGF0IG92ZXIgdGltZSwgYXMg bG9uZyBhcyBjb21wZXRpdGlvbiBpcyBhbGxvd2VkIHRvIG9jY3VyLiBBbmQgd2hpbGUgaXQgbWF5 IGJlIGZhc3RlciB0byBmb3JjZSBpdCB0aHJvdWdoIHJlZ3VsYXRpb24sIHRoYXQgaGFzIGRhbmdl cm91cyBsb25nLXRlcm0gY29uc2VxdWVuY2VzIHdpdGggcmVzcGVjdCB0byBmdXR1cmUgaW5ub3Zh dGlvbi4NCg0KCVtTTV0gWWVzLCBtZWFuaW5nZnVsIGNvbXBldGl0aW9uIGNvdWxkIGhlbHAsIGJ1 dCBJTUhPIGFuIG9saWdvcG9seSBsaWtlbHkgd291bGQgbm90IHJlc3VsdCBpbiBtZWFuaW5nZnVs IGVub3VnaCBjb21wZXRpdGlvbi4gVGhpcyBpcyB3aGVyZSB0aGUgYWNjZXNzIG5ldHdvcmsgaW4g cHVibGljIGhhbmQgaWRlYXMgY29tZXMgaW4sIGl0IG1ha2VzIHRoZSBjb3N0IHRvIGVudGVyIGEg bWFya2V0IGZvciBJU1BzIHJlbGF0aXZlbHkgY2hlYXAsIHRoZXkgcmVhbGx5IG9ubHkgbmVlZCB0 byBwdWxsL3JlbnQgZmliZXJzIHRvIHRoZSBsb2NhbCBJWCBhbmQgbWF5YmUgZGVwbG95IE9MVHMv RFNMQU1zL0NNVFNzIHRoZXJlIChkZXBlbmRpbmcpIG9uIHRoZSBsb2NhbCBuZXR3b3JrIHRlY2gs IGFuZCBjYW4gc3RhcnQgb2ZmZXIgc2VydmljZXMsIHdpdGhvdXQgaGF2aW5nIHRvIGRlYWwgd2l0 aCB0aGUgYWNjZXNzIG5ldHdvcmsuDQoNCj4gU3RhcmxpbmsgaXMgb25lIGV4YW1wbGUgb2YgaW5u b3ZhdGlvbi4gRlRUSCBpcyBhbm90aGVyLiBDZWxsdWxhci1iYXNlZCBJbnRlcm5ldCBpcyBhbm90 aGVyLg0KDQoJW1NNXSBBbGwgb2Ygd2hpY2ggYXJlIG9ydGhvZ29uYWwgdG8gTk4gcmVndWxhdGlv bnMsIG5laXRoZXIgZGVwZW5kZWQgb24gdmlvbGF0aW5nIHRoZSAiZG8gbm90IGRpc2NyaW1pbmF0 ZSIgcnVsZSwgbm8/DQoNCg0KPiBTaW1wbHkgYnV5aW5nIGJ1bGsgYWNjZXNzIG9uIGV4aXN0aW5n IGxpbmVzIGFuZCByZXBhY2thZ2luZyBpdCB1bmRlciBkaWZmZXJlbnQgdGVybXMgY291bGQgYmUg eWV0IGFub3RoZXIuIFRob3NlIGFsbCBzZWVtIG9idmlvdXMsIGJlY2F1c2UgdGhleeKAmXJlIHRo ZSBvbmVzIHdlIGtub3cuIFRoZSByZWFsIGRhbmdlciBpbiB1bmZvcmVzZWVuIGNvbnNlcXVlbmNl cyBpcyB0aGUgZGFtcGVuaW5nIGVmZmVjdCBOTi1zdHlsZSByZWd1bGF0aW9ucyBoYXZlIG9uIHll dC10by1iZS1zZWVuIGlubm92YXRpb25zLCB0aGUgaW5ub3ZhdGlvbnMgdGhhdCBuZXZlciBjb21l IHRvIGZydWl0aW9uIGJlY2F1c2Ugb2YgdGhlIHJlZ3VsYXRpb25zLg0KDQoJW1NNXSBJIGNsYWlt IHRoYXQgcnVsZXMgYW5kIHJlZ3VsYXRpb25zIGFsd2F5cyBzZXQgdGhlIHN0YWdlIGZvciB3aGlj aCBidXNpbmVzcyBkZWNpc2lvbnMgYXJlIGFjY2VwdGFibGUvcHJvZml0YWJsZSBhbmQgd2hpY2gg YXJlIG5vdCwgdGhhdCBpcyB0cnVlIHdoZXRoZXIgd2UgYWRkIHRoZSBOTiBtYW5kYXRlcyB0byB0 aGUgbWl4IG9yIG5vdCwgc28gSSByZWFsbHkgZG8gbm90IHNlZSBob3cgdGhlc2Ugd2lsbCBoYXZl IGEgbWVhbmluZ2Z1bCBpbmZsdWVuY2Ugb24gZnV0dXJlIGV4cGVjdGVkIGlubm92YXRpb24gKHVu bGVzcyB0aGF0IGlubm92YXRpb24gcmVhbGx5IGlzIGFsbCBhYm91dCBhY3RpdmUgZGlzY3JpbWlu YXRpb24sIGJ1dCBpbiB0aGF0IGNhc2UgSSBzZWUgbm8gcmVhbCBsb3NzKS4NCg0KU2lkZS1ub3Rl OiBUaGUgdGhpbmcgaXMgImRpc2NyaW1pbmF0aW9uIiBpcyBzdGlsbCBwZXJtaXR0ZWQgdW5kZXIg bW9zdCBOTiBydWxlcywgYXMgbG9uZyBhcyBpdCBpcyB1bmRlciBhY3RpdmUgY29udHJvbCBvZiB0 aGUgZW5kLXVzZXJzLCBub3QgdGhlIElTUC4gU28gSSBhbSBzdXJlIHNvbWUgZW5kLXVzZXJzIHdv dWxkIGFwcHJlY2lhdGUgYW4gInByaW9yaXRpemUgdmlkZSBjb25mZXJlbmNpbmcgYW5kIFZvSVAg b3ZlciB2aWRlbyBzdHJlYW1pbmcgYW5kIGdhbWluZyB1bmRlciBsb2FkIiBvcHRpb24gb2ZmZXJl ZCBieSB0aGVpciBJU1AgYW5kIG1pZ2h0IGV2ZW4gYmUgd2lsbGluZyB0byBwYXkgYSBsaXR0bGUs IGFzIGxvbmcgYXMgdGhlIGVuZCB1c2VyIGNhbiB0b2dnbGUgdGhpcyBvcHRpb24gYXQgd2lsbCBp dCB3aWxsIG5vdCBiZSBzdWJqZWN0IHRvIE5OIHJlZ3VsYXRpb25zIGFzIGZhciBhcyBJIHVuZGVy c3RhbmQuIFRoaXMgY2xlYXJseSBsZWF2ZXMgc29tZSBpbm5vdmF0aW9uIHNwYWNlIGF2YWlsYWJs ZSBldmVuIGZvciBhY3RpdmUgZGlzY3JpbWluYXRpb24uDQoNClJlZ2FyZHMNCglTZWJhc3RpYW4N Cg0KDQo+ICANCj4gQ2hlZXJzLA0KPiBDb2xpbiBIaWdiaWUNCj4gIA0KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBObmFnYWluIG1haWxpbmcgbGlz dA0KPiBObmFnYWluQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPiBodHRwczovL2xpc3RzLmJ1ZmZl cmJsb2F0Lm5ldC9saXN0aW5mby9ubmFnYWluDQoNCg==