From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2061.outbound.protection.outlook.com [40.107.22.61]) (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 3CF463B2A4 for ; Mon, 2 Sep 2024 06:00:18 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g252DDw/z2uUF7S99yFMzG3OUMS/j0gih1M5k5vgIEkPKMeiZ9wZA/BwfKHVnU3/G4uOl4cFOnUZo2SXLZlNZoBDx3zNjUkYNK4E4fl6/uyszbTbM22O9+VSBXdgAF/jYwsayfXwKPrlm7WnSxzb/zDpWi1pHAKO3VJZVXSgRTlST/19uJNAJyKz94nWUjgV4siZ2ipTZozqmaPgiBK9ym3BnWM5OWxRJsFzCxIlbqc7pBFG6jlRMMMgyc/dgOiZL088gNnteB64B3g4Ot1Wx4zwBm/y0DAiCqwTfxW26tLQoRPoPJf1EnxT+TVZ3eooy4fA3SGAX/lMTeb3gVEwlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=9EFwhyr0lehslgVr6AIuKO7rpozZGSGYWDcUGfcGEcg=; b=xfArQWR6AQfvT6A1iGNcgi5jYXphGqY8fPFdtc3drpLtPTs+aIkILHAUzVlceMncBS+f6m0zLu8ky6pK05Fi3sVvv043+zaGXCQ6BYg5qrIhMRtmgwXFvCt7pBAeL9DIW+5JqiZVEiKACmMc8AYsJik8dFjHGSW943NpDBZ6vo87JrZF3nQ1bUVbOFHNA/Tr6fXyO5L1chUDPyF368k2AD/ZSaevgGsz1nkqIZnmNXTHoYn+caRCqw5MbPRENdBPQPOBNvRW4TXN53IVPI1c2ulQyTqj/dBmwailTCy5xd71PritNUGxw4RVeuSiNCyUcTSbw+Ht25n2qASmgjwgmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia-bell-labs.com; dmarc=pass action=none header.from=nokia-bell-labs.com; dkim=pass header.d=nokia-bell-labs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia-bell-labs.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9EFwhyr0lehslgVr6AIuKO7rpozZGSGYWDcUGfcGEcg=; b=NAvRDXkVk1P0bMhAI1Ylz46+tnCdiJ+VKF4TNBMeUfpecAYDhqr5vTmLHSDmxlhKZyMEsm50hDf1WF0p4ijJjnVu2jdBgSkRr+EBsqHcG31ZfAbBCJj1zmoZ7X1JllBgcVmmrJ/ul4zQoWUA/PfleELLdO5C6jREQgudfn0W+WuRhc8JH6MvCErnM+9kITQksWT9PppLMoV5LDINoAxEeErMxqaj+4aPqPwWk8kEjwMn+1FnJXe5xFNjs5Fboj9M633dVbQIDCGSyFDq+46lNFp4t/gXmz74RVSIikPu4J1mjFZbYiXNAKfK8Xl29Q/PVY9/ZOfr3TRRQkSHuua0GQ== Received: from AM0PR07MB6260.eurprd07.prod.outlook.com (2603:10a6:20b:15a::19) by PA4PR07MB7151.eurprd07.prod.outlook.com (2603:10a6:102:d6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.27; Mon, 2 Sep 2024 10:00:14 +0000 Received: from AM0PR07MB6260.eurprd07.prod.outlook.com ([fe80::a78e:7995:41fd:4dc4]) by AM0PR07MB6260.eurprd07.prod.outlook.com ([fe80::a78e:7995:41fd:4dc4%5]) with mapi id 15.20.7918.024; Mon, 2 Sep 2024 10:00:14 +0000 From: "Werner Coomans (Nokia)" To: "starlink@lists.bufferbloat.net" Thread-Topic: Starlink Digest, Vol 42, Issue 2 Thread-Index: AQHa/Ruh3sPz3UFIbEOkfqP3Q/nw9bJEQc+w Date: Mon, 2 Sep 2024 10:00:14 +0000 Message-ID: References: In-Reply-To: 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=nokia-bell-labs.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM0PR07MB6260:EE_|PA4PR07MB7151:EE_ x-ms-office365-filtering-correlation-id: 1b81ca3e-0e19-41ec-ac46-08dccb360a3f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|4022899009|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?TEM3akFvd2psTjhIRU4yckcyRlphZE4rdkpyc1ZLaEFDV0hhWURlNjNuWUJk?= =?utf-8?B?enIzMjRjV1BNYUw4ZUNDdjllTGp3UUZTU1ZRMGdZeFRzbTVCTzBpNnE4NjNQ?= =?utf-8?B?dU1QVEZjdjR6OGt0UWdnYnV5M1RsL0dLb05LYnVIbzVqUDUvWUZteUNGa0l2?= =?utf-8?B?N09QNEx5eWVhZG83RXNFWmJhZ3orQ29OMHhuVExNdzRxdzY3N2diMlZRd3Jj?= =?utf-8?B?YkJwYUVZVlNONWlMUUEzMndDYTlCVDM5RDdSdFVQTVVrK0htOGt5bytocXZ3?= =?utf-8?B?VmZEKzZ2RHpnOWpJTTdTNlJUOGJhUkJFdGZiTi82eVp5VTl2YitRT1BvN00y?= =?utf-8?B?bzdNMGpMM3o2RjhyVEtxUW9paVJtS3lQMUYyQ2hwalExcFlCaWpuTXBmS0Uz?= =?utf-8?B?UWo2ZmFyUHVGcEpYZnRRV054ZlRQNVlWRVlLVW5Sa1JMamNudVA2TkpnR1Rm?= =?utf-8?B?U2JhL2hUYU1YQk13d0xUcmF0ZmhRWTRVMFdoNjhjaitlcDNqNEFad0N6ODZn?= =?utf-8?B?Lyt6NU81TVM2QUVGMFRraU5ORUFQSWl2cjlhR2c3ZGlxTnVlU0lwYlJVendx?= =?utf-8?B?MnJ2ZUpSYlg1MWk5QmN1aGJmdmd2aVRFOUlLK1NNenZnOE5JSXJiNk0rdWpT?= =?utf-8?B?bVUySGNoSXREZDZzTldKek00QU95a29NRVdBa3Jzai9pajNtaTZUZmg3b2w3?= =?utf-8?B?ZHBiR3gyOGRLSnlEbWxqY1hNcks2cGxVZy9NYmlPSmVpWW5WMlZwZVUwYUtB?= =?utf-8?B?WUdldEVxbFNFMmw5NnlWSkRkWnNwQS9mNFgzaDJqNUN5dmVWVUlNMElhSUg0?= =?utf-8?B?blpzMkV2MHFhdG1vWUlkRDNaT09kbWcvTis3aVh3enltZ1B1d3FWVUhELys3?= =?utf-8?B?Qzh2cCt4N1lvdTc2eFY2K0xLbGh2NlZUN0pwVUtPY1RiZSt5UHNuUnBkUm5Y?= =?utf-8?B?Nk1HMExnL0VJVXRvQ3FWNjZXeStrRy9pRGtUMVJyK3pEeXNtSzdXTmtOZkVq?= =?utf-8?B?QWJWekRxKzkyRWVjVit6SjhRMFYzaXhWT1UwVkp0TWJId283amZqMmlvWFBY?= =?utf-8?B?OTV2RjdCREdxSWlXSWhxZGgwWkdjMWhyTXZHZEY0aEVLQnhERDJsaUpXSkVj?= =?utf-8?B?cmZxdjNaRGtCSWtqUmFqeHZJeXI5a2xxKy9ZOFVaaDBMODNuUnFPU1BNUUlW?= =?utf-8?B?aVo4ZkhidVlTQW00ZnFRNVZrVzUxdGM4ZkJ6L0JqQ0l2MzRhKzNNNUJZVzcr?= =?utf-8?B?Mng5cm16STU1Q1JuS3RHWUFXdkVLbksvMjF1NG12UUVHYmF0RS9nVHhCUm01?= =?utf-8?B?bWk4M1cyZXdDZCt3R2FLZzl3Sno4TEY4U0dSNjA4ZXhNeXpyUVFpMFM3M1d0?= =?utf-8?B?YXhVQVZEOHRhcWxMamgzNlJoU05obHlERUlwMGdPUklXUEFMRGlwTFVNTmlv?= =?utf-8?B?TThOcEc0ME1nOUFFODZWSkdmZU04V2xkUXMxaHBiYklCQlg1TFVjczRLRkZl?= =?utf-8?B?bFYwQ2MzMjlTZWVyZUt1ZUlVeFdGaDZyWENGYWZLWll2YXljWXNRU3B3KzlQ?= =?utf-8?B?MUR5RXE0dE5PQk90VHQ0Y2I2bWg2anFJeGp3YWc2U2xqS1dFWmxvQWRITWpR?= =?utf-8?B?SmUxTlVlamUyN1kwUDI4cGNBbDFyV0FBOEFjbXhPZGZpeFBScGx5dFJtQklR?= =?utf-8?B?UUtvejVzSDc1cGhiWVZNQitPZldTajV6SjJOclVGN3RmUExyb1ZDbkN0d1ZN?= =?utf-8?B?RExLNzVyV05Rc3h2M3A0d0lkVFV0NXZGUzVlTTZvcFQwOENLSXk4Q3ZGUEZY?= =?utf-8?Q?SqHd7h4GCX/8EOTugz660LwRPdyJKpkMcq1dk=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR07MB6260.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(4022899009)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cEZJWG9ScTIydDFFdjVkd2NKc2dBeFJWSW5XRUxoeWJIaWl4RXluendaODBC?= =?utf-8?B?SFAzcVJrWG9rYkVyVkVDb0tMMFowREpOOUxuMllqempWMTZHVFdHOG9Ddlly?= =?utf-8?B?b0UvQnFZWW1UMlNxTlFYV1ZYTjlkN3ZRdUJKY0hMYk1RQ2ZoQWVEMFgwTm84?= =?utf-8?B?cTRXZ0dUK0Y1YkM1RmhsMnk5REY1YXRYU0VvbDlvZWhiTEYwU3lrakYzWEdr?= =?utf-8?B?Ukt2NTNyU2hyVTByb3lTaCtTaExCeURGVGo2cit4cWZhVzNxYlNyYm5ZQ0Y0?= =?utf-8?B?UG9zWUpJZWJCa0lpTzY5ZWYxS3JkaXYzeExUbWlTOStXT3pZV25Lam9YbFc3?= =?utf-8?B?dW9ZYUlrQUhYSi9RaVpyWkI3R2FLendZZUJMbzdObU1JYjJLRHpQRHVOckFB?= =?utf-8?B?WkhYckYraXdxRVcwaEgrSXpaclhiT2t4a1lDTm0zbHE5VXgwU0tKb3IyWTFj?= =?utf-8?B?UkoreWJiRG9RUG9xMW9rYTFPY1NId1A0OERiNzdnRmswY0lyTlIyWTZyanZj?= =?utf-8?B?bHA1STREd2VFT0NOYTM4SVdVcmR4ZXdtSEJFMmkrbEJROFp6aFMvSVBhOHc0?= =?utf-8?B?bk1sQW1idk9seENoWjkvRzVETkRnSjdxYU9MV2Y5VHRmU2ZDV3FVWjlYQTVi?= =?utf-8?B?SVJjVllTcGhZR3VhamFNdUc1NUNZWGRheWhEZVVJOTFBeXU2RWgwSTZGUUdv?= =?utf-8?B?cHk3bVVydUFIbHh3S1RWYVJxUjgwMnB4MXNNRk5XVDdpcG16QnNjd2pxZVZJ?= =?utf-8?B?Ti81c092emROTlFQYzFwOUx3MlErQXJ3WnVuQWJ5MVgzUHlCanYxZHdya3Ju?= =?utf-8?B?YUlIMU4xUGtzRHFJL29SZ0F5UmR2a1JSK3lSWEt4cUNZYyswcVNXeVV0M1pQ?= =?utf-8?B?U01GWG52Zk1QZFZSdENkWktrOVltQlZNbW8zbHZ5eFViTDNOY2NkM2Irdk50?= =?utf-8?B?SVoraEs1d2RIRnR2aGlvc1ZVbDlteWlJN0F0NDNEOURDS2x4NWNkUmNpcGF2?= =?utf-8?B?YjRBVGtJZDBmeDgxQWhibmJRUDFHbzl2ZzFhdnk3UE8zMDNSd0dDc1NaNDZP?= =?utf-8?B?YzUzaDFDY1ZMdFZvZGlQdS9IOEFTOWZQbGlIcE9wc21xT2E0NGZJUytNRjhE?= =?utf-8?B?a3RxQVJZWVMxWnVDejBVamo0VCtiMFBMcmxiNUE2NnlxYlJkZG5HQjVYQkdG?= =?utf-8?B?NEovTk5mZmVMNGc0OVVuczlDa3I4NCtCOVBxc0U2NVZDcmtVZkJNd3RuVDc5?= =?utf-8?B?QTJ3a1pudUE2Z0ZpRG5HVUZ1RkhGVXcxcFpRamVsMlU5U1BYRGtHZGtyZTln?= =?utf-8?B?Q2RodE1FckMzcWVFWUZJeVdYSXdZZzR6TWxZelFsSVMvQmo4MFNjUS80YVZL?= =?utf-8?B?TC9XZCtxTGJqa0FPZFFKL2JEMWNKczIwUUFzV3daUU9GQVF6MU56LzRJdWxM?= =?utf-8?B?dVpZdDBwMmNsNGFXWEk2QSt0eUxrc09RWXpjU0ZMRktYSXVtOW5HOTRJVDF2?= =?utf-8?B?REQxem9CK1kvZXA1eFcxWnRDVWh0MGROMUNhZVBHQjB5cEV1RnZua2F0b0VS?= =?utf-8?B?NllyRzBFa2o5cVBEdW9TNXdDbnptVk5rS21kMmY3bmp3K2JuWHlrS2Zka0xZ?= =?utf-8?B?dmV0NFkrZjlLc211Y2ZWb3BzMDdkMENKUk1HMGVWTHprNnVMMXJQaXpDSElv?= =?utf-8?B?UVVjZG5GcWdENlZ2MnNNMTRZMmhSd0J4WGprblVITjZvelhiNWpmbW1VV2FW?= =?utf-8?B?RGNlTkxyK2xCcnJBdi94V2hRNERGWmhGSHhXdkgvRGZLSFF3T1VyTkxTd3Ux?= =?utf-8?B?YWxPdUlhS3Z1eFF6TGFZS0pkRUZRS3M4L1hYNGd1L0JUMituV1habWs0cXIw?= =?utf-8?B?MlVaaVBMdGlxSHFZQitSMHU4SElnNXdjYTVPaytrZzdvOGRUSlE0ODV0c2o1?= =?utf-8?B?TnMya0ErTElkTVhhQUNPZGdCYk5HSXpqdGxaelJiOHhNTC9DTzR5Z2E2QytL?= =?utf-8?B?bFRXaDRXaVoxSWFTNC9wTnY2TU1FbXkxR3NITkhvQzd4Q0YxdnZLRjlhS0Yv?= =?utf-8?B?UFVqLy8rS0FKRmVyaTJpUmFjcVE5QS9pUk8ycm51NlBLaG1SeVFYT0dDby9P?= =?utf-8?B?cEhITTRScGtrMHVNZXF6WkpsdmFHbXA0cStSSDZkcFM0QTcvKzVyU2ZvL0ti?= =?utf-8?Q?+w1OkQI9N0zTJ1cnxjV0FSI=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nokia-bell-labs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR07MB6260.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b81ca3e-0e19-41ec-ac46-08dccb360a3f X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Sep 2024 10:00:14.0170 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eo2Snr51A3eUa9EiKkK/lhzz1V5HwD8KWNiQkaA2avvhaMAS2CrXEXtMiQX+AQwOyWLKRQ7Bq8xCpv9ftc/YvPJqO+L5GXCJAKutoZCzSRUHlUZA0b03lEWpwjjonHQ2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR07MB7151 Subject: Re: [Starlink] Starlink Digest, Vol 42, Issue 2 X-BeenThere: starlink@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Starlink has bufferbloat. Bad." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Sep 2024 10:00:18 -0000 SGkgYWxsLA0KDQpTYXcgc29tZSBxdWVzdGlvbnMgb24gTDRTOiBpdCBkZWZpbml0ZWx5IGlzIGEg c29sdXRpb24gdG8gYnVmZmVyYmxvYXQuIEw0UyByZXF1aXJlcyBhbiB1cGRhdGUgdG8gYm90aCB0 aGUgYXBwbGljYXRpb24gKGNvbmdlc3Rpb24gY29udHJvbCkgYXMgd2VsbCBhcyB0aGUgbmV0d29y ayBzaWRlIG9mIHRoaW5ncyAoc2VwYXJhdGUgcXVldWluZywgaW1tZWRpYXRlIEVDTi1tYXJraW5n IEFRTSwgcmF0ZS1wcm90ZWN0aW9uIGZvciBub24tTDRTIHRyYWZmaWMpLCB0byBpbXByb3ZlIGhv dyBhcHBsaWNhdGlvbiBhbmQgbmV0d29yayBjb29wZXJhdGUgbGV2ZXJhZ2luZyBFQ04gbWFya2lu ZyBpbnN0ZWFkIG9mIHBhY2tldCBkcm9wcyBvciBkZWxheSBtZWFzdXJlbWVudHMgYXMgYSBjb25n ZXN0aW9uIHNpZ25hbC4NCg0KSGVyZSdzIGEgMzAgbWluIHR1dG9yaWFsIG9uIHRoZSB0b3BpYyAo cmVjb3JkaW5nIGFuZCBzbGlkZXMgb2YgYSB0YWxrIEkgZ2F2ZSBhdCBSSVBFODgpOg0KaHR0cHM6 Ly9yaXBlODgucmlwZS5uZXQvYXJjaGl2ZXMvdmlkZW8vMTI5Ny8NCg0KS3IsDQpXZXJuZXIuDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBTdGFybGluayA8c3RhcmxpbmstYm91 bmNlc0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+IE9uIEJlaGFsZiBPZiBzdGFybGluay1yZXF1ZXN0 QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KU2VudDogTW9uZGF5LCBTZXB0ZW1iZXIgMiwgMjAyNCAx MTozNyBBTQ0KVG86IHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KU3ViamVjdDogU3Rh cmxpbmsgRGlnZXN0LCBWb2wgNDIsIElzc3VlIDINCg0KW1lvdSBkb24ndCBvZnRlbiBnZXQgZW1h aWwgZnJvbSBzdGFybGluay1yZXF1ZXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC4gTGVhcm4gd2h5 IHRoaXMgaXMgaW1wb3J0YW50IGF0IGh0dHBzOi8vYWthLm1zL0xlYXJuQWJvdXRTZW5kZXJJZGVu dGlmaWNhdGlvbiBdDQoNCkNBVVRJT046IFRoaXMgaXMgYW4gZXh0ZXJuYWwgZW1haWwuIFBsZWFz ZSBiZSB2ZXJ5IGNhcmVmdWwgd2hlbiBjbGlja2luZyBsaW5rcyBvciBvcGVuaW5nIGF0dGFjaG1l bnRzLiBTZWUgdGhlIFVSTCBub2suaXQvZXh0IGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLg0K DQoNCg0KU2VuZCBTdGFybGluayBtYWlsaW5nIGxpc3Qgc3VibWlzc2lvbnMgdG8NCiAgICAgICAg c3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQoNClRvIHN1YnNjcmliZSBvciB1bnN1YnNj cmliZSB2aWEgdGhlIFdvcmxkIFdpZGUgV2ViLCB2aXNpdA0KICAgICAgICBodHRwczovL2xpc3Rz LmJ1ZmZlcmJsb2F0Lm5ldC9saXN0aW5mby9zdGFybGluaw0Kb3IsIHZpYSBlbWFpbCwgc2VuZCBh IG1lc3NhZ2Ugd2l0aCBzdWJqZWN0IG9yIGJvZHkgJ2hlbHAnIHRvDQogICAgICAgIHN0YXJsaW5r LXJlcXVlc3RAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQoNCllvdSBjYW4gcmVhY2ggdGhlIHBlcnNv biBtYW5hZ2luZyB0aGUgbGlzdCBhdA0KICAgICAgICBzdGFybGluay1vd25lckBsaXN0cy5idWZm ZXJibG9hdC5uZXQNCg0KV2hlbiByZXBseWluZywgcGxlYXNlIGVkaXQgeW91ciBTdWJqZWN0IGxp bmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYyB0aGFuICJSZTogQ29udGVudHMgb2YgU3Rhcmxpbmsg ZGlnZXN0Li4uIg0KDQoNClRvZGF5J3MgVG9waWNzOg0KDQogICAxLiBSZTogQW4gdXBkYXRlIG9u IFRvbmdhIChNaWNoYWVsIFJpY2hhcmRzb24pDQogICAyLiBSZTogW01ha2Utd2lmaS1mYXN0XSBi bG9hdCBvbiB3aWZpOCBhbmQgODAyLjExIHdnIChEYXZpZCBMYW5nKQ0KICAgMy4gUmU6IFtNYWtl LXdpZmktZmFzdF0gIGJsb2F0IG9uIHdpZmk4IGFuZCA4MDIuMTEgd2cgKERhdmlkIExhbmcpDQog ICA0LiBSZTogQW4gdXBkYXRlIG9uIFRvbmdhIChVbHJpY2ggU3BlaWRlbCkNCg0KDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCk1lc3NhZ2U6IDENCkRhdGU6IFN1biwgMDEgU2VwIDIwMjQgMjI6MjY6NDAgLTA0 MDANCkZyb206IE1pY2hhZWwgUmljaGFyZHNvbiA8bWNyQHNhbmRlbG1hbi5jYT4NClRvOiBVbHJp Y2ggU3BlaWRlbCA8dS5zcGVpZGVsQGF1Y2tsYW5kLmFjLm56PiwNCiAgICAgICAgInN0YXJsaW5r QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldCIgPHN0YXJsaW5rQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4N ClN1YmplY3Q6IFJlOiBbU3RhcmxpbmtdIEFuIHVwZGF0ZSBvbiBUb25nYQ0KTWVzc2FnZS1JRDog PDIyOTk3LjE3MjUyNDQwMDBAb2Jpd2FuLnNhbmRlbG1hbi5jYT4NCkNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiDQoNCg0KVWxyaWNoIFNwZWlkZWwgdmlhIFN0YXJsaW5r IDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+IHdyb3RlOg0KICAgID4gVGhlcmUgd2Vy ZSBxdWl0ZSBhIGZldyBmb2xrIG9uIHRoaXMgbGlzdCBhIGNvdXBsZSBvZiB5ZWFycyBiYWNrIHdo byB3ZXJlDQogICAgPiBpbnRlcmVzdGVkIGluIHdoYXQgd2FzIGhhcHBlbmluZyB0byBJbnRlcm5l dCBpbiBUb25nYSBhZnRlciB0aGUgYmlnIHZvbGNhbmljDQogICAgPiBlcnVwdGlvbiB0aGVyZS4g SSdtIG5vdCBzdXJlIHdoZXJlIEkgbGVmdCBvZmYuDQoNClRoYW5rIHlvdSBmb3IgdGhlIHVwZGF0 ZS4NCg0KICAgID4gU3BhcmUgY2FibGUgd2FzIG9yZGVyZWQgZnJvbSBGcmFuY2UgYW5kIHdhcyBp bnN0YWxsZWQgbWlkZGxlIG9mIDIwMjMsDQogICAgPiByZXN0b3JpbmcgdGhlIFREQ0UgdG8gc2Vy dmljZS4NCg0KSG93IGxvbmcgd2FzIHRoZSBvdXRhZ2UgY2F1c2VkIGJ5IGxhY2sgb2Ygc3BhcmUg Y2FibGU/DQpJcyB0aGVyZSBhbiBlZmZvcnQgdG8ga2VlcCBtb3JlIHNwYXJlIGNhYmxlIGNsb3Nl cj8NCg0KICAgID4gbG9jYXRpb24uIFRoZSBvcGVyYXRvcnMgd2VyZSB3ZWxsIGF3YXJlIG9mIHRo ZSByaXNrLCBob3dldmVyIHJlLXJvdXRpbmcgdGhlDQogICAgPiBjYWJsZSB3b3VsZCBoYXZlIHJl cXVpcmVkIGl0IHRvIGJlIGxlbmd0aGVuZWQsIHdpdGggdGhlIG5lZWQgdG8gaW5zZXJ0DQogICAg PiByZXBlYXRlcnMsIHVwZ3JhZGUgdGVybWluYWwgZXF1aXBtZW50LCBhbmQgY29uZHVjdCBhIG5l dyBtYXJpbmUgc3VydmV5LCB3aGljaA0KICAgID4gd291bGQgaGF2ZSBtZWFudCBmdXJ0aGVyIGRl bGF5cy4NCg0KSXMgdGhpcyBvbiB0aGUgbG9uZy10ZXJtIHBsYW4/DQoNCiAgICA+IE9uIDI2IEF1 Z3VzdCAyMDI0LCAxMToyOeKAr2FtLCBhIE02LjkgcXVha2Ugc3RydWNrIGluIHRoZSBhcmVhIGF0 IGEgZGVwdGggb2YNCiAgICA+IGFib3V0IDEwNiBrbS4gT3VyIFNjaWVuY2UgYnVpbGRpbmcgaW4g QXVja2xhbmQgaGFzIGEgImNpdGl6ZW4gc2NpZW5jZSINCiAgICA+IHNlaXNtb2dyYXBoIHdpdGgg YSBiaWcgZGlzcGxheSBpbiBpdHMgZm95ZXIsIGFuZCBteSBzdHVkZW50IGFuZCBJIG5vdGljZWQg dGhlDQoNClRoYXQncyBwcmV0dHkgbmVhdC4NCg0KICAgID4gTWVhbndoaWxlLCBTdGFybGluayBo YXMgYmVlbiBsaWNlbnNlZCB0byBvcGVyYXRlIGNvbW1lcmNpYWxseSBpbiBUb25nYS4gRm9yDQog ICAgPiBtYW55IFBhY2lmaWMgSXNsYW5kIGNvdW50cmllcywgdGhpcyBpcyBhIGRvdWJsZS1lZGdl ZCBzd29yZDogT24gdGhlIG9uZSBoYW5kLA0KICAgID4gdGhpcyBwcm92aWRlcyBzaG9ydC10ZXJt IHJlbGllZiwgb24gdGhlIG90aGVyIGhhbmQsIGl0IGRlcHJpdmVzIGxvY2FsIElTUHMgb2YNCiAg ICA+IGN1c3RvbWVycyBhbmQgdGhlcmVmb3JlIGltcGFjdHMgb24gYXNwaXJhdGlvbnMgdG8gYWNo aWV2ZSBjYWJsZSBjb25uZWN0aXZpdHkNCiAgICA+IHdoaWNoIGNvdWxkIHByb3ZpZGUgbW9yZSBi YW5kd2lkdGggaW4gdGhlIG1lZGl1bSB0ZXJtLg0KDQpZZWFoLiAgSSBzZWUgdGhvc2UgZWRnZXMu DQoNCi0tLS0tLS0tLS0tLS0tIG5leHQgcGFydCAtLS0tLS0tLS0tLS0tLQ0KQSBub24tdGV4dCBh dHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLg0KTmFtZTogc2lnbmF0dXJlLmFzYw0KVHlwZTogYXBw bGljYXRpb24vcGdwLXNpZ25hdHVyZQ0KU2l6ZTogNTExIGJ5dGVzDQpEZXNjOiBub3QgYXZhaWxh YmxlDQpVUkw6IDxodHRwczovL2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC9waXBlcm1haWwvc3Rhcmxp bmsvYXR0YWNobWVudHMvMjAyNDA5MDEvYzNjOWFlM2MvYXR0YWNobWVudC0wMDAxLnNpZz4NCg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk1lc3NhZ2U6IDINCkRhdGU6IFN1biwg MSBTZXAgMjAyNCAxOTo1OTo0MyAtMDcwMCAoUERUKQ0KRnJvbTogRGF2aWQgTGFuZyA8ZGF2aWRA bGFuZy5obT4NClRvOiBCb2IgTWNNYWhvbiA8Ym9iLm1jbWFob25AYnJvYWRjb20uY29tPg0KQ2M6 IERhdmUgVGFodCA8ZGF2ZS50YWh0QGdtYWlsLmNvbT4sICBEYXZpZCBGZXJuw6FuZGV6DQogICAg ICAgIDxkYXZpZGZkenBAZ21haWwuY29tPiwgTWFrZS1XaWZpLWZhc3QNCiAgICAgICAgPG1ha2Ut d2lmaS1mYXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4sICBEYXZlIFRhaHQgdmlhIFN0YXJsaW5r DQogICAgICAgIDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+LCAgYmxvYXQNCiAgICAg ICAgPGJsb2F0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4sICBEb3JvdGh5IFN0YW5sZXkNCiAgICAg ICAgPGRzdGFubGV5MTM4OUBnbWFpbC5jb20+DQpTdWJqZWN0OiBSZTogW1N0YXJsaW5rXSBbTWFr ZS13aWZpLWZhc3RdIGJsb2F0IG9uIHdpZmk4IGFuZCA4MDIuMTEgd2cNCk1lc3NhZ2UtSUQ6IDww cDMxbjc1by05bzgzLW85cTYtMTMxNS0yb3M5cDY1NDUwczVAeW5hdC51ej4NCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiOyBGb3JtYXQ9ImZsb3dlZCINCg0KSXQgcmVh bGx5IGRvZXNuJ3QgaGVscCB0aGF0IGV2ZXJ5b25lIGluIHRoZSBpbmR1c3RyeSBpcyBwdXNoaW5n IGZvciBoaWdoZXIgYmFuZHdpZHRoIGZvciBhIHNpbmdsZSBob3N0LiBUaGF0J3MgYSBuaWNlIGJl bmNobWFyayBudW1iZXIsIGJ1dCBub3QgcmVhbGx5IHJlbGV2YW50IGludCBoZSByZWFsIHdvcmxk Lg0KDQpFdmVuIG11LW1pbW8gaXMgb2YgbGltaXRlZCB1c2UgYXMgbW9zdCByb3V0ZXJzIG9ubHkg aGFuZGxlIGEgaGFuZGZ1bCBvZiBjbGllbnRzLg0KDQpCdXQgdGhlIGJpZ2dlc3QgcHJvYmxlbSBp cyBqdXN0IHRoZSBwdXNoIHRvIHVzZSB3aWRlciBjaGFubmVscyBhbmQgZ2FpbiBlZmZpY2llbmN5 IGluIGxvbmctcnVubmluZyBidWxrIHRyYW5zZmVycyBieSBidW5kbGluZyBsb3RzIG9mIElQIHBh Y2tldHMgaW50byBhIHNpbmdsZSB0cmFuc21pc3Npb24uIFRoaXMgd29ya3Mgd2VsbCB3aGVuIHlv dSBkb24ndCBoYXZlIGNvbmdlc3Rpb24gYW5kIGhhdmUgYSBzbWFsbCBudW1iZXIgb2YgY2xpZW50 cy4gQnV0IHdoZW4geW91IGhhdmUgbG90cyBvZiBjbGllbnRzLCBzcGFubmluZyBtYW55IGdlbmVy YXRpb25zIG9mIHdpZmkgdGVjaG5vbG9neSwgeW91IG5lZWQgdG8gZ28gdG8gbmFycm93ZXIgY2hh bm5lbHMsIGJ1dCBtb3JlIHNlcGFyYXRlIHJvdXRlcnMgdG8gbWF4aW1pemUgdGhlIGZhaXJuZXNz IG9mIGF2YWlsYWJsZSBhaXJ0aW1lLg0KDQpEYXZpZCBMYW5nDQoNCiAgT24gU3VuLCAxIFNlcCAy MDI0LCBCb2IgTWNNYWhvbiB2aWEgU3Rhcmxpbmsgd3JvdGU6DQoNCj4gRGF0ZTogU3VuLCAxIFNl cCAyMDI0IDE4OjE1OjExIC0wNzAwDQo+IEZyb206IEJvYiBNY01haG9uIHZpYSBTdGFybGluayA8 c3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQubmV0Pg0KPiBSZXBseS1UbzogQm9iIE1jTWFob24g PGJvYi5tY21haG9uQGJyb2FkY29tLmNvbT4NCj4gVG86IERhdmUgVGFodCA8ZGF2ZS50YWh0QGdt YWlsLmNvbT4NCj4gQ2M6IERhdmlkIEZlcm7DoW5kZXogPGRhdmlkZmR6cEBnbWFpbC5jb20+LA0K PiAgICAgTWFrZS1XaWZpLWZhc3QgPG1ha2Utd2lmaS1mYXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5l dD4sDQo+ICAgICBEYXZlIFRhaHQgdmlhIFN0YXJsaW5rIDxzdGFybGlua0BsaXN0cy5idWZmZXJi bG9hdC5uZXQ+LA0KPiAgICAgYmxvYXQgPGJsb2F0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4sDQo+ ICAgICBEb3JvdGh5IFN0YW5sZXkgPGRzdGFubGV5MTM4OUBnbWFpbC5jb20+DQo+IFN1YmplY3Q6 IFJlOiBbU3RhcmxpbmtdIFtNYWtlLXdpZmktZmFzdF0gYmxvYXQgb24gd2lmaTggYW5kIDgwMi4x MSB3Zw0KPg0KPiBUaGVyZSBpcyBhIGxvdCBvZiBjb25mdXNpb24gb24gdGhlIDgwMi4xMSBsYXRl bmN5IHRlY2hub2xvZ3kgb3B0aW9ucy4NCj4gSSB0aGluayB3YWl0aW5nIGZvciBXaS1GaSA4IHRv IHNvbHZlIHRoaXMgaXMgYSBub24gc3RhcnRlci4gU29sdXRpb25zDQo+IGhhdmUgdG8gd29yayBm b3IgMjBCIGRldmljZXMgYWxyZWFkeSBpbiB0aGUgZmllbGQuDQo+DQo+IFRoZSBzaWxvJ2luZyBo YXNuJ3QgaGVscGVkIGhlcmUuIFRob3NlIHRoYXQgY3Jvc3MgdGhlIHNpbG9zIGFyZSBuZWVkZWQN Cj4gYnkgbXkganVkZ21lbnQuIEl0IG1lYW5zIGRlZXAgZGl2ZXMgaW50byA4MDIuMTEgd2hpY2gg bm93IGlzIGEgMjUgeWVhcg0KPiBvbGQgc2V0IG9mIHN0YW5kYXJkcy4gVGhvc2Ugd2l0aCAyNSB5 ZWFycyBvZiA4MDIuMTEgc3RhbmRhcmRzDQo+IGV4cGVydGlzZSBhcmUgYXMgcmFyZSBhcyBoZW4n cyB0ZWV0aCBhbmQgYXJlIHdvcnRoIHRoZWlyIHdlaWdodCBpbiBnb2xkLg0KPg0KPiBCb2INCj4N Cj4gT24gV2VkLCBNYXkgOCwgMjAyNCBhdCA4OjM14oCvQU0gRGF2ZSBUYWh0IHZpYSBNYWtlLXdp ZmktZmFzdCA8DQo+IG1ha2Utd2lmaS1mYXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4gd3JvdGU6 DQo+DQo+PiBJIHdpc2ggSSBoYWQgZ29uZSB0byB0aGUgODAyLjExd2cgIG1vcmUgcmVndWxhcmx5 IHRoYW4gSSBkaWQuIEkgb25seQ0KPj4gZ2F2ZSBvbmUgYmxvYXQgcmVsYXRlZCBwcmVzZW50YXRp b24gaW4gMjAxNCwgc2hpcHBlZCB0aGUNCj4+IG1ha2Utd2lmaS1mYXN0IGNvZGUgaW4gMjAxNig/ KSwgYW5kIG5ldmVyIHdlbnQgYmFjay4gSUVURiBhdGUgYWxsIG15DQo+PiBtb25leSBhbmQgdGlt ZS4gSSBqdXN0IGFzc3VtZWQgdGhleSB3ZXJlIGFsbCBpbiB0aGUgc2xpcHN0cmVhbSBvZg0KPj4g bGludXggYW5kIG9wZW53cnQuIDovDQo+Pg0KPj4gSSBkaWQgaGF2ZSBhIGdyZWF0IG1lZXR1cCBh IGZldyB3ZWVrcyBiYWNrIHdpdGggdGhlIGZvcm1lciA4MDIuMTENCj4+IGNoYWlyIChkb3JvdGh5 IHN0YW5sZXksIGhpISEhKSB3aG8gaXMgdHJ5aW5nIHRvIHJlY3J1aXQgcGVvcGxlIHRvDQo+PiBw YXJ0aWNpcGF0ZSBpbiB0aGUgd2lmaTggc3RhbmRhcmQgYW5kIHBlcmhhcHMgc29tZSBmaW5pc2hp bmcgdG91Y2hlcw0KPj4gb24gd2lmaTcuIFNoZSBnYXZlIGEgZ3JlYXQgdXBkYXRlIG9uIHRoZSBz dGF0dXMgb2YgdGhpbmdzIGF0IHRoZQ0KPj4gcmVjZW50IHdpZmlub3cgY29uZmVyZW5jZSwgYnV0 IGFzIHRoZXJlIGlzIGEgY29zdCB0byB0aGF0LCBwZXJoYXBzDQo+PiBzaGUgY2FuIHNoYXJlIGhl ciBzbGlkZXMgd2l0aCB1cz8NCj4+DQo+Pg0KPj4gaHR0cHM6Ly93aWYvDQo+PiBpbm93Z2xvYmFs LmNvbSUyRnByb2R1Y3QlMkZ3aS1maS13b3JsZC1jb25ncmVzcy11c2EtMjAyNC1zYXJhc290YS1m bG8NCj4+IHJpZGEtcHJlc2VudGF0aW9ucy1wZGYlMkYlM0ZtY19jaWQlM0RiZWIxYjRhMmVkJTI2 bWNfZWlkJTNEMzI3YTY0YmE5Mg0KPj4gJmRhdGE9MDUlN0MwMiU3Q3dlcm5lci5jb29tYW5zJTQw bm9raWEtYmVsbC1sYWJzLmNvbSU3QzVmODg2ZWY3ZTU1MzQyDQo+PiAwMmFmOTMwOGRjY2IzMmMw OTklN0M1ZDQ3MTc1MTk2NzU0MjhkOTE3YjcwZjQ0Zjk2MzBiMCU3QzAlN0MwJTdDNjM4NjANCj4+ IDg2NjYwNzcxNDExNTUlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01E QWlMQ0pRSWpvaVYybA0KPj4gdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0Mw JTdDJTdDJTdDJnNkYXRhPWNOViUyQnZqMEtDT09CDQo+PiBzMjB3RDBSQ3BsV25TSCUyQjJMZGNR eTh1eVNSdlJOdnclM0QmcmVzZXJ2ZWQ9MA0KPj4NCj4+IE9uIFdlZCwgTWF5IDgsIDIwMjQgYXQg ODoyOOKAr0FNIExpdmluZ29vZCwgSmFzb24gdmlhIEJsb2F0DQo+PiA8YmxvYXRAbGlzdHMuYnVm ZmVyYmxvYXQubmV0PiB3cm90ZToNCj4+Pg0KPj4+IERyb3BwaW5nIFN0YXJsaW5rIGFzIEJsb2F0 IGlzIHRoZSByaWdodCBsaXN0LiBUaGUgSUVFRSA4MDIuMTEgZG9tYWluDQo+Pj4gaXMNCj4+IGNl cnRhaW5seSBkaWZmZXJlbnQgdGhhbiBJUCwgc28gdHlwaWNhbCBJUCBDQ3MgZG9u4oCZdCBhcHBs eS4gSW4gb3VyDQo+PiBMNFMvTlFCIHRyaWFscywgd2UgcHV0IExMLW1hcmtlZCBwYWNrZXRzIGlu dG8gdGhlIEFDX1ZJIFdNTSBxdWV1ZSBpbg0KPj4gdGhlIFdpLUZpIG5ldHdvcmsuIElNTyB0aGVy ZSBpcyBtb3JlIHdvcmsgaW4gODAyLjExIHRvIGZvY3VzIG9uDQo+PiBsYXRlbmN5IOKAkyBzbyBt dWNoIGZvY3VzIHJpZ2h0IG5vdyBpcyBvbiB0aHJvdWdocHV0IG92ZXIgZXZlcnl0aGluZyBlbHNl Lg0KPj4+DQo+Pj4NCj4+Pg0KPj4+IEZyb206IFN0YXJsaW5rIDxzdGFybGluay1ib3VuY2VzQGxp c3RzLmJ1ZmZlcmJsb2F0Lm5ldD4gb24gYmVoYWxmIG9mDQo+PiBSaWNoIEJyb3duIHZpYSBTdGFy bGluayA8c3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQubmV0Pg0KPj4+IFJlcGx5LVRvOiBSaWNo IEJyb3duIDxyaWNoYi5oYW5vdmVyQGdtYWlsLmNvbT4NCj4+PiBEYXRlOiBXZWRuZXNkYXksIE1h eSA4LCAyMDI0IGF0IDA3OjMzDQo+Pj4gVG86IERhdmlkIEZlcm7DoW5kZXogPGRhdmlkZmR6cEBn bWFpbC5jb20+DQo+Pj4gQ2M6IHN0YXJsaW5rIDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5u ZXQ+LCBibG9hdCA8DQo+PiBibG9hdEBsaXN0cy5idWZmZXJibG9hdC5uZXQ+DQo+Pj4gU3ViamVj dDogUmU6IFtTdGFybGlua10gW0Jsb2F0XSBMNFMNCj4+Pg0KPj4+DQo+Pj4NCj4+PiBMZXQncyBz cGxpdCB0aGlzIHRocmVhZCBhbmQgdXNlIHRoaXMgbWVzc2FnZSB0byBjb250aW51ZSB0aGUNCj4+ PiBkaXNjdXNzaW9uDQo+PiBvZiBMNFMuIFRoYW5rcw0KPj4+DQo+Pj4NCj4+Pg0KPj4+IE9uIE1h eSA4LCAyMDI0LCBhdCA1OjMxIEFNLCBEYXZpZCBGZXJuw6FuZGV6IHZpYSBTdGFybGluayA8DQo+ PiBzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+IHdyb3RlOg0KPj4+DQo+Pj4NCj4+Pg0K Pj4+IEkgc2VlIHRoYXQgTDRTIGlzIG5vdCByZWFsbHkgc29sdmluZyBldmVyeXRoaW5nIChJIHJl YWQgYWJvdXQgaXNzdWVzDQo+PiB3aXRoIFdpLUZpKSwgYWx0aG91Z2ggaXQgc2VlbXMgdG8gYmUg YSBzdGVwIGluIHRoZSByaWdodCBkaXJlY3Rpb24sDQo+PiB0byBiZSBpbXByb3ZlZCwgbGV0J3Mg aG9wZS4NCj4+Pg0KPj4+DQo+Pj4NCj4+PiBBdCBsZWFzdCwgTm9raWEgaXMgaW1wbGVtZW50aW5n IGl0IGluIGl0cyBuZXR3b3JrIGdlYXIgKGZvciBtb2JpbGUNCj4+IG9wZXJhdG9ycyksIHNvIHRo ZSBidWZmZXJibG9hdCBwcm9ibGVtIGlzIHNvbWVob3cgYWNrbm93bGVkZ2VkIGJ5DQo+PiBpbmR1 c3RyeSwgYXQgbGVhc3QgaW5pdGlhbGx5IG9yIHBhcnRpYWxseS4NCj4+Pg0KPj4+DQo+Pj4NCj4+ PiBJIGhhdmUgc2VlbiB0d28gY29uc2VjdXRpdmUgUkZDcyB0byA5MzMwOg0KPj4+DQo+Pj4gaHR0 cHM6Ly93dy8NCj4+PiB3LnJmYy1lZGl0b3Iub3JnJTJGaW5mbyUyRnJmYzkzMzEmZGF0YT0wNSU3 QzAyJTdDd2VybmVyLmNvb21hbnMlNDBubw0KPj4+IGtpYS1iZWxsLWxhYnMuY29tJTdDNWY4ODZl ZjdlNTUzNDIwMmFmOTMwOGRjY2IzMmMwOTklN0M1ZDQ3MTc1MTk2NzU0DQo+Pj4gMjhkOTE3Yjcw ZjQ0Zjk2MzBiMCU3QzAlN0MwJTdDNjM4NjA4NjY2MDc3MTQ1NjU3JTdDVW5rbm93biU3Q1RXRnBi R1oNCj4+PiBzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2 SWsxaGFXd2lMQ0pYVkNJNk1uMA0KPj4+ICUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9SFpxUWVCTXlB OGZLeDlLbUN1eGF5QXpQQ3FEJTJCUk9hamI3UHdLVTJ2JTJGDQo+Pj4gSk0lM0QmcmVzZXJ2ZWQ9 MA0KPj4+DQo+Pj4gaHR0cHM6Ly93dy8NCj4+PiB3LnJmYy1lZGl0b3Iub3JnJTJGaW5mbyUyRnJm YzkzMzImZGF0YT0wNSU3QzAyJTdDd2VybmVyLmNvb21hbnMlNDBubw0KPj4+IGtpYS1iZWxsLWxh YnMuY29tJTdDNWY4ODZlZjdlNTUzNDIwMmFmOTMwOGRjY2IzMmMwOTklN0M1ZDQ3MTc1MTk2NzU0 DQo+Pj4gMjhkOTE3YjcwZjQ0Zjk2MzBiMCU3QzAlN0MwJTdDNjM4NjA4NjY2MDc3MTQ5ODc3JTdD VW5rbm93biU3Q1RXRnBiR1oNCj4+PiBzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lW Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMA0KPj4+ICUzRCU3QzAlN0MlN0MlN0Mm c2RhdGE9THolMkJDV21kTWdodE5JMmVwODFMbnVadElBQ09yQ1k4SSUyRmcxUExUMGJ1DQo+Pj4g JTJCYyUzRCZyZXNlcnZlZD0wDQo+Pj4NCj4+Pg0KPj4+DQo+Pj4gSSBzdXNwZWN0IHRoYXQgb3B0 aW1hbCByZXN1bHRzIHJlcXVpcmUgdGhlIGJ1ZmZlcmJsb2F0IHRvIGJlDQo+Pj4gYWRkcmVzc2Vk DQo+PiBub3Qgb25seSBhdCBuZXR3b3JrIGxheWVyIChJUCksIGJ1dCBhbHNvIHdpdGggc29tZSBw aXBlbGluaW5nIG9yDQo+PiBjcm9zcy1sYXllcmluZyBhdCBsaW5rIGxldmVsIChFdGhlcm5ldCwg V2ktRmkgb3IgYW55IG90aGVyIGxpbmsNCj4+IHRlY2hub2xvZ3ksIHN1Y2ggYXMgNUcsIFNBVENP TSwgVkhGLi4uKQ0KPj4+DQo+Pj4NCj4+Pg0KPj4+IFJlZ2FyZHMsDQo+Pj4NCj4+Pg0KPj4+DQo+ Pj4gRGF2aWQgRi4NCj4+Pg0KPj4+DQo+Pj4NCj4+PiBEYXRlOiBUdWUsIDcgTWF5IDIwMjQgMDg6 NDY6MDMgLTA0MDANCj4+Pg0KPj4+IEZyb206IERhdmUgQ29sbGllci1Ccm93biA8ZGF2ZS5jb2xs aWVyLUJyb3duQGluZGV4ZXhjaGFuZ2UuY29tPg0KPj4+IFRvOiBzdGFybGlua0BsaXN0cy5idWZm ZXJibG9hdC5uZXQNCj4+PiBTdWJqZWN0OiBSZTogW1N0YXJsaW5rXSBUaGUgInJlYXNvbnMiIHRo YXQgYnVmZmVyYmxvYXQgaXNuJ3QgYQ0KPj4+IHByb2JsZW0NCj4+PiBNZXNzYWdlLUlEOiA8M2Q2 YmRjY2YtZTNkMS00ZjYyLWEwMjktMjViZmQxZjQ1OGY1QGluZGV4ZXhjaGFuZ2UuY29tPg0KPj4+ IENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiOyBGb3JtYXQ9ImZsb3dl ZCINCj4+Pg0KPj4+IEl0IGhhcyBhbiBSRkMgYXQNCj4+PiBodHRwczovL2RhLw0KPj4+IHRhdHJh Y2tlci5pZXRmLm9yZyUyRmRvYyUyRnJmYzkzMzAlMkYmZGF0YT0wNSU3QzAyJTdDd2VybmVyLmNv b21hbnMlDQo+Pj4gNDBub2tpYS1iZWxsLWxhYnMuY29tJTdDNWY4ODZlZjdlNTUzNDIwMmFmOTMw OGRjY2IzMmMwOTklN0M1ZDQ3MTc1MTkNCj4+PiA2NzU0MjhkOTE3YjcwZjQ0Zjk2MzBiMCU3QzAl N0MwJTdDNjM4NjA4NjY2MDc3MTU0MDAxJTdDVW5rbm93biU3Q1RXRg0KPj4+IHBiR1pzYjNkOGV5 SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJ DQo+Pj4gNk1uMCUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9OGQxRUd6bzh0NzMzTzdESWRkZXJHcVJj R3FvelJkOVBrOFZaempFOWkNCj4+PiAzbyUzRCZyZXNlcnZlZD0wDQo+Pj4NCj4+PiBJIHJlYWQg aXQgYXMgYSB3YXkgdG8gcmFwaWRseSBmaW5kIHRoZSBhdmFpbGFibGUgYmFuZHdpZHRoIHdpdGhv dXQNCj4+PiB0aGUNCj4+IFRDUCAic2F3dG9vdGgiLiBUaGUgcGFwZXIgY2l0ZXMgZmNfY29kZWwg YW5kIHJlc2VhcmNoIGJhc2VkIG9uIGl0Lg0KPj4+DQo+Pj4gSSBzdXNwZWN0IE15IFNtYXJ0ZXIg Q29sbGVhZ3VlcyBrbm93IG1vcmUgKDstKSkNCj4+Pg0KPj4+IC0tZGF2ZQ0KPj4+DQo+Pj4NCj4+ Pg0KPj4+IE9uIDIwMjQtMDUtMDcgMDg6MTMsIERhdmlkIEZlcm7DoW5kZXogdmlhIFN0YXJsaW5r IHdyb3RlOg0KPj4+IElzIEw0UyBhIHNvbHV0aW9uIHRvIGJ1ZmZlcmJsb2F0PyBJIGhhdmUgcmVh ZCB0aGF0IGdhbWVycyBhcmUgaGFwcHkNCj4+PiB3aXRoDQo+PiBpdC4NCj4+Pg0KPj4+IFNvcnJ5 LCBJIHJlYWQgaXQgaGVyZSwgaW4gU3BhbmlzaDoNCj4+Pg0KPj4gaHR0cHM6Ly93d3cvDQo+PiAu YWRzbHpvbmUubmV0JTJGbm90aWNpYXMlMkZvcGVyYWRvcmVzJTJGcmV0YXJkby12aWRlb2p1ZWdv cy1ub2tpYS12b2QNCj4+IGFmb25lJmRhdGE9MDUlN0MwMiU3Q3dlcm5lci5jb29tYW5zJTQwbm9r aWEtYmVsbC1sYWJzLmNvbSU3QzVmODg2ZWY3ZQ0KPj4gNTUzNDIwMmFmOTMwOGRjY2IzMmMwOTkl N0M1ZDQ3MTc1MTk2NzU0MjhkOTE3YjcwZjQ0Zjk2MzBiMCU3QzAlN0MwJTdDDQo+PiA2Mzg2MDg2 NjYwNzcxNTgxMzMlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlM Q0pRSWoNCj4+IG9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MwJTdD JTdDJTdDJnNkYXRhPXBsZiUyQmZ2RQ0KPj4gYTI0SVl2YWZ3b013MVRPdndtdXJlNG54SEZIZUFE S0dhcGVzJTNEJnJlc2VydmVkPTANCj4+Pg0KPj4+IFJlZ2FyZHMsDQo+Pj4NCj4+PiBEYXZpZCBG Lg0KPj4+DQo+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4+PiBTdGFybGluayBtYWlsaW5nIGxpc3QNCj4+PiBTdGFybGlua0BsaXN0cy5idWZmZXJi bG9hdC5uZXQNCj4+PiBodHRwczovL2xpLw0KPj4+IHN0cy5idWZmZXJibG9hdC5uZXQlMkZsaXN0 aW5mbyUyRnN0YXJsaW5rJmRhdGE9MDUlN0MwMiU3Q3dlcm5lci5jb29tDQo+Pj4gYW5zJTQwbm9r aWEtYmVsbC1sYWJzLmNvbSU3QzVmODg2ZWY3ZTU1MzQyMDJhZjkzMDhkY2NiMzJjMDk5JTdDNWQ0 NzENCj4+PiA3NTE5Njc1NDI4ZDkxN2I3MGY0NGY5NjMwYjAlN0MwJTdDMCU3QzYzODYwODY2NjA3 NzE2MjMxMCU3Q1Vua25vd24lNw0KPj4+IENUV0ZwYkdac2IzZDhleUpXSWpvaU1DNHdMakF3TURB aUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKDQo+Pj4gWFZDSTZNbjAlM0QlN0Mw JTdDJTdDJTdDJnNkYXRhPUZXYTVjNUxnNlZVa2tPRndTMjNISVdaYk0xSGluVlNWS1R1cHgNCj4+ PiBjNmF5Uk0lM0QmcmVzZXJ2ZWQ9MA0KPj4+DQo+Pj4NCj4+Pg0KPj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4gQmxvYXQgbWFpbGluZyBsaXN0 DQo+Pj4gQmxvYXRAbGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+Pj4gaHR0cHM6Ly9saS8NCj4+PiBz dHMuYnVmZmVyYmxvYXQubmV0JTJGbGlzdGluZm8lMkZibG9hdCZkYXRhPTA1JTdDMDIlN0N3ZXJu ZXIuY29vbWFucw0KPj4+ICU0MG5va2lhLWJlbGwtbGFicy5jb20lN0M1Zjg4NmVmN2U1NTM0MjAy YWY5MzA4ZGNjYjMyYzA5OSU3QzVkNDcxNzUxDQo+Pj4gOTY3NTQyOGQ5MTdiNzBmNDRmOTYzMGIw JTdDMCU3QzAlN0M2Mzg2MDg2NjYwNzcxNjY1ODglN0NVbmtub3duJTdDVFcNCj4+PiBGcGJHWnNi M2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxD SlhWQw0KPj4+IEk2TW4wJTNEJTdDMCU3QyU3QyU3QyZzZGF0YT1QTnlNdEFKSWEzcktUZyUyRjFP ZE5jVnQ5UmtrSjkxalZxRTRyU1dCDQo+Pj4gdHNUWVElM0QmcmVzZXJ2ZWQ9MA0KPj4NCj4+DQo+ Pg0KPj4gLS0NCj4+IGh0dHBzOi8vd3d3Lw0KPj4gLnlvdXR1YmUuY29tJTJGd2F0Y2glM0Z2JTNE QlZGV1N5TXAzeGclMjZ0JTNEMTA5OHMmZGF0YT0wNSU3QzAyJTdDd2VyDQo+PiBuZXIuY29vbWFu cyU0MG5va2lhLWJlbGwtbGFicy5jb20lN0M1Zjg4NmVmN2U1NTM0MjAyYWY5MzA4ZGNjYjMyYzA5 OSUNCj4+IDdDNWQ0NzE3NTE5Njc1NDI4ZDkxN2I3MGY0NGY5NjMwYjAlN0MwJTdDMCU3QzYzODYw ODY2NjA3NzE3MTQ0OCU3Q1Vuaw0KPj4gbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xq QXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXDQo+PiB3aUxDSlhWQ0k2TW4wJTNE JTdDMCU3QyU3QyU3QyZzZGF0YT1RRUcwUlNidWNEc1pvVG1kUGpLeGZJVE1qT3pialglMkINCj4+ IDhvNUQzUk40Wk93QSUzRCZyZXNlcnZlZD0wIFdhdmVzIFBvZGNhc3QgRGF2ZSBUw6RodCBDU08s IExpYnJlUW9zDQo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KPj4gTWFrZS13aWZpLWZhc3QgbWFpbGluZyBsaXN0DQo+PiBNYWtlLXdpZmktZmFzdEBs aXN0cy5idWZmZXJibG9hdC5uZXQNCj4+IGh0dHBzOi8vbGlzLw0KPj4gdHMuYnVmZmVyYmxvYXQu bmV0JTJGbGlzdGluZm8lMkZtYWtlLXdpZmktZmFzdCZkYXRhPTA1JTdDMDIlN0N3ZXJuZXIuDQo+ PiBjb29tYW5zJTQwbm9raWEtYmVsbC1sYWJzLmNvbSU3QzVmODg2ZWY3ZTU1MzQyMDJhZjkzMDhk Y2NiMzJjMDk5JTdDNWQNCj4+IDQ3MTc1MTk2NzU0MjhkOTE3YjcwZjQ0Zjk2MzBiMCU3QzAlN0Mw JTdDNjM4NjA4NjY2MDc3MTc3NTE0JTdDVW5rbm93bg0KPj4gJTdDVFdGcGJHWnNiM2Q4ZXlKV0lq b2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDDQo+PiBKWFZD STZNbjAlM0QlN0MwJTdDJTdDJTdDJnNkYXRhPUclMkJpdzdHeGRKYiUyQnhEUkVYeWpxRTlpcXVs QjE1a2VCV2MNCj4+IFladUdlelQzQzAlM0QmcmVzZXJ2ZWQ9MA0KPg0KPg0KLS0tLS0tLS0tLS0t LS0gbmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0KU3RhcmxpbmsgbWFpbGluZyBsaXN0DQpTdGFybGlua0BsaXN0 cy5idWZmZXJibG9hdC5uZXQNCmh0dHBzOi8vbGlzdHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZv L3N0YXJsaW5rDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpNZXNzYWdlOiAz DQpEYXRlOiBTdW4sIDEgU2VwIDIwMjQgMjI6MDU6MDMgLTA3MDAgKFBEVCkNCkZyb206IERhdmlk IExhbmcgPGRhdmlkQGxhbmcuaG0+DQpUbzogSGFsIE11cnJheSA8aGFsbXVycmF5K213ZkBzb25p Yy5uZXQ+DQpDYzogTWFrZS1XaWZpLWZhc3QgPG1ha2Utd2lmaS1mYXN0QGxpc3RzLmJ1ZmZlcmJs b2F0Lm5ldD4sICBTdGFybGluaw0KICAgICAgICA8c3RhcmxpbmtAbGlzdHMuYnVmZmVyYmxvYXQu bmV0PiwgIGJsb2F0IDxibG9hdEBsaXN0cy5idWZmZXJibG9hdC5uZXQ+DQpTdWJqZWN0OiBSZTog W1N0YXJsaW5rXSBbTWFrZS13aWZpLWZhc3RdICBibG9hdCBvbiB3aWZpOCBhbmQgODAyLjExIHdn DQpNZXNzYWdlLUlEOiA8MTNzbzg1MHItczIzcS1yMHNwLTBucXAtc3M5cTJxNTIyNTQyQHluYXQu dXo+DQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVMtQVNDSUk7IGZvcm1hdD1m bG93ZWQNCg0KT24gU3VuLCAxIFNlcCAyMDI0LCBIYWwgTXVycmF5IHZpYSBNYWtlLXdpZmktZmFz dCB3cm90ZToNCg0KPiBEYXZpZCBMYW5nIHNhaWQ6DQo+PiBJdCByZWFsbHkgZG9lc24ndCBoZWxw IHRoYXQgZXZlcnlvbmUgaW4gdGhlIGluZHVzdHJ5IGlzIHB1c2hpbmcgZm9yDQo+PiBoaWdoZXIg IGJhbmR3aWR0aCBmb3IgYSBzaW5nbGUgaG9zdC4gVGhhdCdzIGEgbmljZSBiZW5jaG1hcmsgbnVt YmVyLA0KPj4gYnV0IG5vdCByZWFsbHkgIHJlbGV2YW50IGludCBoZSByZWFsIHdvcmxkLg0KPg0K Pj4gRXZlbiBtdS1taW1vIGlzIG9mIGxpbWl0ZWQgdXNlIGFzIG1vc3Qgcm91dGVycyBvbmx5IGhh bmRsZSBhIGhhbmRmdWwNCj4+IG9mIGNsaWVudHMuDQo+DQo+PiBCdXQgdGhlIGJpZ2dlc3QgcHJv YmxlbSBpcyBqdXN0IHRoZSBwdXNoIHRvIHVzZSB3aWRlciBjaGFubmVscyBhbmQNCj4+IGdhaW4g ZWZmaWNpZW5jeSBpbiBsb25nLXJ1bm5pbmcgYnVsayB0cmFuc2ZlcnMgYnkgYnVuZGxpbmcgbG90 cyBvZiBJUA0KPj4gcGFja2V0cyBpbnRvIGEgIHNpbmdsZSB0cmFuc21pc3Npb24uIFRoaXMgd29y a3Mgd2VsbCB3aGVuIHlvdSBkb24ndA0KPj4gaGF2ZSBjb25nZXN0aW9uIGFuZCBoYXZlIGEgIHNt YWxsIG51bWJlciBvZiBjbGllbnRzLiBCdXQgd2hlbiB5b3UNCj4+IGhhdmUgbG90cyBvZiBjbGll bnRzLCBzcGFubmluZyBtYW55ICBnZW5lcmF0aW9ucyBvZiB3aWZpIHRlY2hub2xvZ3ksDQo+PiB5 b3UgbmVlZCB0byBnbyB0byBuYXJyb3dlciBjaGFubmVscywgYnV0IG1vcmUgIHNlcGFyYXRlIHJv dXRlcnMgdG8NCj4+IG1heGltaXplIHRoZSBmYWlybmVzcyBvZiBhdmFpbGFibGUgYWlydGltZS4N Cj4NCj4gV2hhdCBkb2VzIHRoYXQgc2F5IGFib3V0IHRoZSBtaW5pbWFsIGNvbGxlY3Rpb24gb2Yg Z2VhciByZXF1aXJlZCBpbiBhDQo+IHRlc3QgbGFiPw0KPg0KPiBJZiB5b3UgaGFkIGEgbGFiIHdp dGggcGxlbnR5IG9mIGdlYXIsIHdoYXQgdGVzdHMgd291bGQgeW91IHJ1bj8NCg0KSSdsbCBzdGFy dCBvZmYgYnkgc2F5aW5nIHRoYXQgbXkgZXhwZXJpZW5jZSBpcyBmcm9tIHByYWN0aWNhbCBpbi10 aGUtZmllbGQgdXNlcywgZGVwbG95aW5nIHdpZmkgdG8gc3VwcG9ydCB0aG91c2FuZHMgb2YgdXNl cnMgaW4gYSBjb25mZXJlbmNlIHNldHRpbmcuIEl0J3MgcG9zc2libGUgdGhhdCBzb21lIHBlb3Bs ZSBhcmUgZG9pbmcgdGhlIHRlc3RzIEkgZGVzY3JpYmUgYmVsb3cgaW4gdGhlaXIgbGFicywgYnV0 IGZyb20gdGhlIHdheSByb3V0ZXJzIGFuZCB3aWZpIHN0YW5kYXJkcyBhcmUgYWR2ZXJ0aXNlZCBh bmQgdGhlIGd1aWRlcyB0byBkZXBsb3kgdGhlbSBhcmUgd3JpdHRlbiwgaXQgZG9lc24ndCBzZWVt IGxpa2UgdGhleSBhcmUuDQoNCk15IGJlbGllZiBpcyB0aGF0IG1vc3Qgb2YgdGhlIHRlc3RzIGFy ZSBkb25lIGluIHJlbGF0aXZlbHkgY2xlYW4gUkYgZW52aXJvbm1lbnRzIHdoZXJlIG9ubHkgdGhl IGRldmljZXMgb24gdGhlIHRlc3QgbmV0d29yayBleGlzdCwgYW5kIHRoZXkgY2FuIGFsd2F5cyBo ZWFyIGV2ZXJ5b25lIG9uIHRoZSBuZXR3b3JrLiBJbiBzdWNoIGVudmlyb25tZW50cywgZXZlcnl0 aGluZyBhYm91dCBleGlzdGluZyB3aWZpIHN0YW5kYXJkcyBhbmQgdGhlIHB1c2ggZm9yIGhpZ2hl ciBiYW5kd2lkdGggY2hhbm5lbHMgbWFrZXMgYSBsb3Qgb2Ygc2Vuc2UgKHRoZXJlIGFyZSBzdGls bCBzb21lIGxhdGVuY3kgcHJvYmxlbXMpDQoNCkJ1dCB0aGUgd29ybGQgb3V0c2lkZSB0aGUgbGFi IGlzIGZhciBtb3JlIGNvbXBsZXgNCg0KeW91IG5lZWQgdG8gc2ltdWxhdGUgYSBkaXNwdXJzZWQs IGNvbmdlc3RlZCBSRiBlbnZpcm9ubWVudC4gVGhpcyBpbmNsdWRlcyBoaWRkZW4gdHJhbnNtaXR0 ZXJzIChzdGF0aW9ucyBBLUItQyB3aGVyZSBCIGNhbiBoZWFyIEEgYW5kIEMgYnV0IEEgYW5kIEMg Y2Fubm90IGhlYXIgZWFjaCBvdGhlciksIGRlYWxpbmcgd2l0aCB3ZWFrIHNpZ25hbHMgKGFscmVh ZHkgY292ZXJlZCksIGludGVyYWN0aW9ucyBvZiBpbmRlcGVuZGVudCBuZXR3b3JrcyBvbiB0aGUg c2FtZSBjaGFubmVscyAoYS1iIGFuZCBjLWQgdGhhdCBjYW5ub3QgdGFsayB0byBlYWNoIG90aGVy KSwgbGVnYWN5IGVxdWlwbWVudCBvbiB0aGUgbmV0d29yayAoYXMgc2xvdyBhcyA4MDIuMTFnIGF0 IGxlYXN0LCBpZiBub3QgODAyLjExYiB0byBzaW11bGF0ZSBvbGQgSW9UIGRldmljZXMpLCBhbmQg YSBtaXggb2YgYnVsay10cmFuc2ZlcnMgKGRvd25sb2FkL3VwbG9hZHMpLCBidWZmZXJlZCBzdHJl YW1pbmcgKGNvbnN0YW50IHRyYWZmaWMsIGJ1dCBidWZmZXJlZCBzbyBub3Qgc3VwZXItc2VudGl0 aXZlIHRvIGxhdGVuY3kpLCB1bmJ1ZmZlcmVkIHN0cmVhbWluZyAobG93IGJhbmR3aWR0aCwgYnV0 IHNlbnNpdGl2ZSB0byBsYXRlbmN5KSwgYW5kIHNob3J0LCBsYXRlbmN5IHNlbnNpdGl2ZSB0cmFm ZmljICh0aGluZ3MgdGhhdCBibG9jayBvdGhlciB0cmFmZmljIHVudGlsIHRoZXkgYXJlIGFuc3dl cmVkLCBsaWtlIEROUywgaHR0cCBjYWNoZSBjaGVja3MsIGh0dHAgbWFpbiBwYWdlcyB0aGF0IHRo ZXkgcHVsbCBsb3RzIG9mIG90aGVyIFVSTHMsIGV0YykNCg0KdGVzdCBsYXJnZSBudW1iZXIgb2Yg cGVvcGxlIGluIGEgZ2l2ZW4gYXJlYSAoc3RhcnQgd2l0aCBhbiBhbGwgd2lyZWxlc3Mgb2ZmaWNl LCB0aGVuIG1vdmUgb24gdG8gY2xhc3Nyb29tIGRlbnNpdHkpLCB0ZXN0IG5vdCBqdXN0IG9uZSBy b29tLCBidXQgbXVsdGlwbGUgcm9vbXMgdGhhdCBwYXJ0aWFsbHkgaGVhciBlYWNoIG90aGVyICh0 aGUgYW1vdW50IG9mIGF0dGVudWF0aW9uIG9yIHJlZmxlY3Rpb24gYmV0d2VlbiB0aGUgcm9vbXMg bmVlZHMgdG8gdmFyeSkuIFRoZSB1bHRpbWF0ZSBkZW5zaXR5IHRlc3Qgd291bGQgYmUgYSBzdGFk aXVtLXR5cGUgc2V0dGluZyB3aGVyZSB5b3UgaGF2ZSByb3dzIG9mIGNoYWlycywgYnV0IG5vdCB0 YWJsZXMgYW5kIGV2ZXJ5b25lIGlzIHRyeWluZyB0byBsaXZlc3RyZWFtIChvciB2aWV3IGEgbGl2 ZXN0cmVhbSkgYXQgb25jZS4NCg0KVGVzdCBub3QganVzdCB0aGUgdWx0cmEtd2lkZSBiYW5kd2lk dGggd2l0aCBhIHNpbmdsZSBBUCBpbiB0aGUgcm9vbXMsIGJ1dCBuYXJyb3dlciBjaGFubmVscyB3 aXRoIG11bHRpcGxlIEFQcyBkaXN0cmlidXRlZCBhcm91bmQgdGhlIHJvb21zLiBUZXN0IEFQcyBw b3NpdGlvbmVkIGhpZ2gsIGFuZCBzZXQgdG8gaGlnaCBwb3dlciB0byBoYXZlIGxhcmdlIGNvdmVy YWdlIGFyZWFzIGFnYWluc3QgQVBzIHBvc2l0aW9uZWQgbG93IChzaWduYWxzIGdldCBhYnNvcmJl ZCBieSBwZW9wbGUsIHNvIGNoYW5uZWxzIGNhbiBiZSByZXVzZWQgYXQgc2hvcnRlciBkaXN0YW5j ZXMpIGFuZCBzZXQgdG8gbG93IHBvd2VyIChtaWNyb2NlbGwgYXBwcm9hY2gpLiBUZXN0IEFQcyBv dmVyaGVhZCB3aXRoIGRpcmVjdGlvbmFsIGFudGVubmFzIHNvIHRoZXkgY292ZXIgYSBzbWFsbCBm b290cHJpbnQuDQoNClRlc3Qgd2l0aCBkaWZmZXJlbnQgdHlwZXMgb2Ygd2FsbHMgYXJvdW5kL2Jl dHdlZW4gdGhlIHJvb21zLCBtZXRhbCBzdHVkcyBhbmQgc2hlZXRyb2NrIG9mIGEgbW9kZXJuIG9m ZmljZSBoYXZlIHZlcnkgbGl0dGxlIGFmZmVjdCBvbiBzaWduYWxzLCBzdG9uZS9icmljayB3YWxs cyBvZiBvbGQgYnVpbGRpbmdzIChhbmQgY29uY3JldGUgd2FsbHMgaW4gc29tZSBhcmVhcyBvZiBu ZXcgYnVpbGRpbmdzKSBhYnNvcmIgdGhlIHNpZ25hbCwgdGhlIG1ldGFsIGdyaWQgaW4gbW92YWJs ZSBhaXIgd2FsbHMgYmxvY2tzIGFuZCByZWZsZWN0cyBzaWduYWxzDQoNClJlbWVtYmVyIHRoYXQg dGhlc2UgYXJlIG9wZXJhdGluZyBpbiAndW5saWNlbnNlZCcgc3BlY3RydW0sIGFuZCBzbyB5b3Ug Y2FuIGhhdmUgb3RoZXIgZGV2aWNlcyBvcGVyYXRpbmcgaGVyZSBhcyB3ZWxsIGNhdXNpbmcgcGVy aW9kaWMgaW50ZXJmZXJlbmNlICh3aGljaCBjb3VsZCBzaG93IHVwIGFzIHNob3J0IHNlZ21lbnRz IG9mIGNvcnJ1cHRpb24gb3IganVzdCBhbiBpbmNyZWFzZWQgbm9pc2UgZmxvb3IpLg0KQ3VycmVu dCB3aWZpIHN0YW5kYXJkcyBpbnRlcnByZXQgYW55IGZhaWxlZCBzaWduYWxzIGFzIGEgd2VhayBz aWduYWwsIHNvIHRoZXkgZHJvcCBkb3duIHRvIGEgc2xvd2VyIG1vZHVsYXRpb24gb3IgaW5jcmVh c2luZyBwb3dlciBpbiB0aGUgaG9wZSBvZiBnZXR0aW5nIHRoZSBzaWduYWwgdGhyb3VnaC4gSWYg dGhlIHByb2JsZW0gaXMgYWN0dWFsbHkgaW50ZXJmZXJlbmNlIGZyb20gb3RoZXIgZGV2aWNlcyAo ZXNwZWNpYWxseSBvdGhlciBBUHMgdGhhdCBpdCBjYW4ndCBkZWNpcGhlciksIHRoZSByZXN1bHQg aXMgdGhhdCBhbGwgc3RhdGlvbnMgZW5kIHVwIHllbGxpbmcgc2xvd2x5IHRvIHRyeSBhbmQgZ2V0 IHRocm91Z2ggYW5kIHRoZSByZXN1bHQgaXMgdmVyeSBoaWdoIGxldmVscyBvZiBub2lzZSBhbmQg bm8gbWVzc2FnZXMgZ2V0dGluZyB0aHJvdWdoLiBTb21laG93LCB0aGUgc3lzdGVtcyBzaG91bGQg ZGV0ZWN0IHRoYXQgdGhlIG5vaXNlIGZsb29yIGlzIGhpZ2ggYW5kL29yIHRoYXQgdGhlcmUgaXMg b3RoZXIgc3R1ZmYgaGFwcGVuaW5nIG9uIHRoZSBuZXR3b3JrIHRoYXQgdGhleSBjYW4gaGVhciwg YnV0IG5vdCBuZWNlc3NhcmlseSBkZWNpcGhlciBhbmQgc3dpdGNoIGF3YXkgZnJvbSB0aGUgJ3dl YWsgc2lnbmFsJyBtb2RlIG9mIG9wZXJhdGlvbiAod2hpY2ggaXMgYXBwcm9wcmlhdGUgaW4gc3Bh cnNlIGVudmlyb25tZW50cyksIGFuZCBpbnN0ZWFkIHdvcmsgdG8gdGFsayBmYXN0ZXIgYW5kIGF0 IGxvd2VyIHBvd2VyIHRvIHRyeSBhbmQgcmVkdWNlIHRoZSBvdmVyYWxsIGludGVyZmVyZW5jZSB3 aGlsZSBzdGlsbCBnZXR0aW5nIHRoZWlyIHNpZ25hbCB0aHJvdWdoLg0KKGl0IGRvZXMgbm8gZ29v ZCBmb3Igb25lIHN0YXRpb24gdG8gYmUgdHJhbnNtaXR0aW5nIGF0IDN3IHdoaWxlIHRoZSBzdGF0 aW9uIGl0J3MgdGFsa2luZyB0byBpcyB0cmFuc21pdHRpbmcgYXQgNTBtdykuIEFzIGZhciBhcyBJ IGtub3csIHRoZXJlIGlzIGN1cnJlbnRseSBubyB3YXkgZm9yIHN0YXRpb25zIHRvIHNpZ25hbCB3 aGF0IHBvd2VyIHRoZXkgYXJlIHVzaW5nIChhbmQgdGhlIGVmZmVjdGl2ZSBwb3dlciB3b3VsZCBi ZSBtb2RpZmllZCBieSB0aGUgYW50ZW5uYSBzeXN0ZW0sIGJvdGggdHJhbnNtaXR0ZWQgYW5kIHJl Y2VpdmVkKSwgc28gdGhpcyBtYXkgYmUgdGhhdCBzb21ldGhpbmcgbGlrZSAnSSdtIHRyYW5zbWl0 dGluZyBhdCA1MCUgb2YgbXkgbWF4IGFuZCBJIGhlYXIgeW91IGF0IDMwJSB3aXRoIG5vaXNlIGF0 IDEwJScgPC0+ICdJJ20gdHJhbnNtaXR0aW5nIGF0IDEwMCUgb2YgbXkgbWF4IGFuZCBJIGhlYXIg eW91IGF0IDgwJSB3b3RoIG5vaXNlIGF0IDMwJScgY291bGQgY2F1c2UgdGhlIGZpcnN0IHN0YXRp b24gdG8gY3V0IGRvd24gb24gaXQncyBwb3dlciB1bnRpbCB0aGUgdHdvIGFyZSBoZWFyaW5nIGVh Y2ggb3RoZXIgYXQgc2ltaWxhciBsZXZlbHMgKHB1cmUgc3BlY3VsYXRpb24gaGVyZSwgc3VnZ2Vz dGlvbiBmb3IgcmVzZWFyY2ggaWRlYXMpDQoNCj4gSG93IG1hbnkgZGlmZmVyZW50IHRlc3RzIHdv dWxkIGl0IHRha2UgdG8gZ2l2ZSByZWFzb25hYmxlIGNvdmVyYWdlPw0KDQpUaGF0J3MgaGFyZCBm b3IgbWUgdG8gc2F5LCBhbmQgbm90IGV2ZXJ5IGRldmljZSBuZWVkcyB0byBnbyB0aHJvdWdoIGV2 ZXJ5IHRlc3QuDQpCdXQgd2hlbiB3b3JraW5nIG9uIGEgbmV3IHN0YW5kYXJkLCBpdCBuZWVkcyB0 byBnbyB0aHJvdWdoIGEgbG90IG9mIHRoZXNlIHRlc3RzLCB0aGUgbW9zdCBpbXBvcnRhbnQgb25l cyBJTUhPIGFyZSBob3cgdGhleSB3b3JrIHdpdGggYSBoaWdoIGRlbnNpdHkgb2YgdXNlcnMgYWNj ZXNzaW5nIG11bHRpcGxlIHJvdXRlcnMgd2hpY2ggYXJlIGRpc3RyaWJ1dGVkIHNvIHRoZXJlIGlz IG92ZXJsYXBwaW5nIGNvdmVyYWdlIGFuZCBpbmNsdWRlIGEgbWl4IG9mIG5ldHdvcmsgdHJhZmZp Yy4NCg0KRGF2aWQgTGFuZw0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpN ZXNzYWdlOiA0DQpEYXRlOiBNb24sIDIgU2VwIDIwMjQgMjE6MzY6MjggKzEyMDANCkZyb206IFVs cmljaCBTcGVpZGVsIDx1LnNwZWlkZWxAYXVja2xhbmQuYWMubno+DQpUbzogRGF2ZSBUYWh0IDxk YXZlLnRhaHRAZ21haWwuY29tPg0KQ2M6ICJzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQi IDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+DQpTdWJqZWN0OiBSZTogW1N0YXJsaW5r XSBBbiB1cGRhdGUgb24gVG9uZ2ENCk1lc3NhZ2UtSUQ6IDw4NDc2NWMwNi1lZWJjLTRhMzEtOGQ2 MC1jYTU4MzRhODM3M2NAYXVja2xhbmQuYWMubno+DQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 IGNoYXJzZXQ9InV0Zi04IjsgRm9ybWF0PSJmbG93ZWQiDQoNCk9uIDIvMDkvMjAyNCAxMDoxNyBh bSwgRGF2ZSBUYWh0IHdyb3RlOg0KPiBUaGFuayB5b3UgZm9yIHRoZSB1cGRhdGUhDQo+DQo+IEl0 IHNvdW5kcyBsaWtlIHRoZSByaWdodGVzdCBvcHRpb24gaXMgdG8gZGVwbG95IG1vcmUgdGhhbiBv bmUgY2FibGUgb24NCj4gbW9yZSB0aGFuIG9uZSBwYXRoLCBhbmQgbXkgcXVlc3Rpb24gaXMgd2hv IHBheXMgZm9yIHRoYXQ/DQoNCkluZGVlZCwgZ29vZCBxdWVzdGlvbi4gVGhhdCBjYW1lIHVwIGF0 IHRoZSBQYWNpZmljIEludGVybmV0IEdvdmVybmFuY2UgRm9ydW0gdG9kYXksIHRvby4NCg0KQmFz aWNhbGx5LCBUb25nYSBoYXMgYmVlbiBwbGFubmluZyBmb3Igc29tZSB0aW1lIGZvciBhIHNwdXIg b2ZmIHRoZSBIYXdhaWtpIGNhYmxlIHRvIGxhbmQgaW4gVmF2YSd1ICh0aGUgbm9ydGhlcm4gcG9w dWxhdGlvbiBjZW50cmUgaXNsYW5kKSwgYnV0IHRoYXQncyBzdGlsbCBzb21lIHRpbWUgb2ZmLg0K DQpUaGUgcHJvYmxlbSBhcm91bmQgVG9uZ2EgaXMgcmVhbGx5IHVuZnJpZW5kbHkgc2VhZmxvb3Ig d2hpY2hldmVyIHdheSB5b3UgbG9vay4gQXBwcm9hY2hlcyBmcm9tIHRoZSBXZXN0IG5lZWQgdG8g Y29tZSB0aHJvdWdoIHRoZSBjaGFpbiBvZiB2b2xjYW5vZXMsIG9uZSBvZiB3aGljaCBpcyBIdW5n YSBUb25nYSBIdW5nYSBIYSdhcGFpLCB0aGUgdm9sY2FubyB0aGF0IGV4cGxvZGVkIHRoZSBvdGhl ciB5ZWFyLiBJdCBoYXMgYSBmZXcgc2libGluZ3MgZnVydGhlciBub3J0aCB0aGF0IGFyZSBvZiBz aW1pbGFyIGNhbGlicmUuIFRvIHRoZSBFYXN0IGFuZCBOb3J0aCB0byBTYW1vYSB5b3UgaGF2ZSB0 aGUgVG9uZ2EgdHJlbmNoLCBtZWFuaW5nIHlvdSdkIG5lZWQgdG8gbGF5IGRvd24gYSBzdGVlcCBz bG9wZSAtIGxhbmRzbGlkZSB0ZXJyaXRvcnkga25vd24gZm9yIHNlbWktcmVndWxhciBNOCBxdWFr ZXMuIEFwcHJvYWNoaW5nIGZyb20gdGhlIFNvdXRoIGZyb20gTlogbWVhbnMgZ29pbmcgYWxvbmcg dGhlIEtlcm1hZGVjIHJpZGdlLCB3aGVyZSB0aGVyZSBhcmUgbXVsdGlwbGUgYWN0aXZlIHZvbGNh bm9lcyBhYm92ZSBhbmQgYmVsb3cgd2F0ZXIuDQoNCk15IGN1cnJlbnQgaG9wZSBpcyB0aGF0IHRo ZXknbGwgZmluZCBhIHdheSBvZiBnZXR0aW5nIHRoZSBjYWJsZSB1cCBmcm9tIHRoYXQgdHJlbmNo IG9udG8gdGhlIEhhJ2FwYWkgcGxhdGVhdS4gSXQgbWlnaHRuJ3QgYmUgdGhhdCBzYWZlIGZyb20g YW5jaG9ycyB0aGVyZSwgYnV0IHRoYXQgbWlnaHQgYmUgYSBtYXR0ZXIgb2YgcG9saWNpbmcgYW5k IGhhdmluZyBtYW5kYXRvcnkgQUlTIGluIHRoZSBhcmVhLg0KDQo+IFN0YXJsaW5rIGNhbm5vdCBw b3NzaWJseSBwcm92aWRlIGVub3VnaCBiYW5kd2lkdGggbG9uZyB0ZXJtLg0KDQpJbmRlZWQuIEJ1 dCB0aGVpciBLYS1iYW5kIGNvbW11bml0eSBnYXRld2F5cyBhcmUgYSBmZWFzaWJsZSBnYXAtZmls bGVyIHVudGlsIGEgcHJvcGVyIGNhYmxlIGNhbiBiZSBsYWlkLiBJIGdhdGhlciB0aGF0IHRoaXMg aXMgd2hhdCdzIGJlZW4gb2ZmZXJlZCB0byB0aGUgY2FibGUgY29tcGFueSBpbiBLaXJpYmF0aSB0 aGF0J3Mgd2FpdGluZyBmb3IgaXRzIGNhYmxlLg0KDQo+DQo+IEFsc28gaGF2ZSB5b3UgYmVlbiBt ZWFzdXJpbmcgdGhlIGJsb2F0IGFuZCB0aGUgSVNMcyBhbnkgaW4gdG9uZ2E/DQpTdGFybGluaydz IG9ubHkganVzdCBiZWVuIGxpY2Vuc2VkIGluIFRvbmdhICh0byBwcm90ZWN0IHRoZSBsb2NhbCBJ U1BzIHRoYXQgY28tZnVuZCB0aGUgY2FibGUgcHJvamVjdHMpIHNvIHdlIGhhdmVuJ3QgbG9va2Vk IGF0IElTTHMgb3IgYmxvYXQgdGhlcmUgeWV0LiBCbG9hdCB2aWEgY2FibGUgY29ubmVjdGlvbnMg LSBub3Qgc29tZXRoaW5nIHdlJ3ZlIGxvb2tlZCBpbnRvIGZyb20gb3VyIGVuZCBidXQgcHJvYmFi bHkgd29ydGggZG9pbmcuIEkgbWlnaHQgY2hldyBUZXJyeSBTd2VldHNlcidzIGVhciBhYm91dCBo YXZpbmcgeW91IGdpdmUgYSB0YWxrIG9uIHRoaXMgYmVmb3JlIHNvb24gYXQgYSBQYWNpZmljIElH RiBvciBhcHByb3ByaWF0ZSBBUE5JQyBtZWV0aW5nIHNlc3Npb24sIGFuZCBob29rIHlvdSB1cCB3 aXRoIGEgZmV3IG9mIHRoZSBmb2xrIG91dCB0aGVyZS4gRGVmaW5pdGVseSBzb21ldGhpbmcgdG8g YnVpbGQgaW50byB0aGUgY29tbXVuaXR5IHRyYWluaW5nIGhlcmUuIEkndmUgYmVlbiBhYmxlIHRv IGNvbm5lY3Qgd2l0aCBhIGxvdCBvZiBvbGQgY2h1bXMgYW5kIG5ldyBhY3F1YWludGFuY2VzIGhl cmUsIGZyb20gVG9uZ2EgYW5kIFNhbW9hIHRvIFZhbnVhdHUgdG8gVHV2YWx1IHRvIENvb2sgSXNs YW5kcy4gVGhlcmUncyBldmVuIGEgZmV3IFRva2VsYXVhbnMgYW5kIE1hcnNoYWxsIElzbGFuZGVy cyBoZXJlLCBub3QgdG8gZm9yZ2V0IHRoZSBpLUtpcmliYXRpIGhhdmluZyB0dXJuZWQgdXAgaW4g Zm9yY2UuDQo+DQo+DQo+IE9uIFNhdCwgQXVnIDMxLCAyMDI0IGF0IDEyOjM14oCvQU0gVWxyaWNo IFNwZWlkZWwgdmlhIFN0YXJsaW5rDQo+IDxzdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQ+ IHdyb3RlOg0KPg0KPiAgICAgSG93ZHkgYWxsLA0KPg0KPiAgICAgVGhlcmUgd2VyZSBxdWl0ZSBh IGZldyBmb2xrIG9uIHRoaXMgbGlzdCBhIGNvdXBsZSBvZiB5ZWFycyBiYWNrDQo+ICAgICB3aG8g d2VyZQ0KPiAgICAgaW50ZXJlc3RlZCBpbiB3aGF0IHdhcyBoYXBwZW5pbmcgdG8gSW50ZXJuZXQg aW4gVG9uZ2EgYWZ0ZXIgdGhlIGJpZw0KPiAgICAgdm9sY2FuaWMgZXJ1cHRpb24gdGhlcmUuIEkn bSBub3Qgc3VyZSB3aGVyZSBJIGxlZnQgb2ZmLg0KPg0KPiAgICAgVG8gcmUtY2FwLCBUb25nYSBs b3N0IGFib3V0IDkwIGttIG9mIGl0cyBpbnRlcm5hdGlvbmFsIGNvbm5lY3Rpb24gdG8NCj4gICAg IEZpamkgYXQgdGhlIHRpbWUgKGEgZmV3IGRvemVuIGttIG9mIHRoYXQgY291bGQgYmUgcmVjb3Zl cmVkKSwgYW5kIGFuDQo+ICAgICBhbW91bnQgb2YgY2FibGUgb2Ygc2ltaWxhciBtYWduaXR1ZGUg b24gdGhlIFRvbmdhIERvbWVzdGljIENhYmxlDQo+ICAgICBFeHRlbnNpb24gKFREQ0UpIHRoYXQg cmFuIGEgZmlicmUgcGFpciBlYWNoIHRvIGJvdGggVmF2YSd1IGFuZA0KPiAgICAgSGEnYXBhaQ0K PiAgICAgZnJvbSB0aGUgbWFpbiBpc2xhbmQgVG9uZ2F0YXB1LiBUaGUgVERDRSBpcyBvbmUgb2Yg dGhlIGxvbmdlcg0KPiAgICAgdW5yZXBlYXRlcmVkIHN0cmV0Y2hlcyBvZiBzdWJtYXJpbmUgY2Fi bGUgaW4gdGhlIHdvcmxkIGFuZCBydW5zIGluIGENCj4gICAgIHN1Ym1hcmluZSB0cmVuY2gganVz dCBkb3duaGlsbCBmcm9tIHRoZSBIdW5nYSBUb25nYSBIdW5nYSBIYSdhcGFpDQo+ICAgICB2b2xj YW5vIGFuZCBpdHMgc2libGluZ3MgaW4gdGhlIGNoYWluLiBTaW11bGF0aW9ucyBhdCB0aGUgdGlt ZWQNCj4gICAgIHNob3dlZA0KPiAgICAgdGhhdCB0aGlzIHRyZW5jaCBsaWtlbHkgcmVjZWl2ZWQg YSBsYXJnZSBhbW91bnQgb2YgdGhlIG1hdGVyaWFsDQo+ICAgICB0aGF0IHdhcw0KPiAgICAgZWpl Y3RlZCBmcm9tIHRoZSB2b2xjYW5vLCBsaWtlbHkgc2V2ZXJhbCBjdWJpYyBraWxvbWV0cmVzLCBh bmQNCj4gICAgIGFjdGVkIGFzDQo+ICAgICBhIGtpbmQgb2YgZ3V0dGVyIHRoYXQgZ3VpZGVkIHRo ZSBtYXRlcmlhbCBhd2F5IGZyb20gdGhlIHZvbGNhbm8gaW4NCj4gICAgIHR1cmJpZGl0eSBmbG93 cyBzdHJldGNoaW5nIG92ZXIgaHVuZHJlZHMgb2Yga20uIEF0IHRoZSB0aW1lLCB0aGUNCj4gICAg IGNhYmxlDQo+ICAgICBzaGlwIHNlbnQgdG8gcmVwYWlyIHdhcyB1bmFibGUgdG8gcmVwYWlyIHRo ZSBURENFIGZvciBsYWNrIG9mIHNwYXJlDQo+ICAgICBjYWJsZSAtIG5vdGhpbmcgd2FzIHJlY292 ZXJhYmxlIGZyb20gdGhlIHNlYWZsb29yLCBhbmQgdGhlcmUgd2FzIG5vdA0KPiAgICAgZW5vdWdo IHNwYXJlIGNhYmxlIGluIHRoZSBTb3V0aCBQYWNpZmljIHRvIGJyaWRnZSB0aGUgZ2FwLg0KPg0K PiAgICAgU3BhcmUgY2FibGUgd2FzIG9yZGVyZWQgZnJvbSBGcmFuY2UgYW5kIHdhcyBpbnN0YWxs ZWQgbWlkZGxlIG9mIDIwMjMsDQo+ICAgICByZXN0b3JpbmcgdGhlIFREQ0UgdG8gc2VydmljZS4N Cj4NCj4gICAgIFRoZW4sIG9uIDI5IEp1bmUgMjAyNCwgYW4gZWFydGhxdWFrZSBuZWFyIHRoZSB2 b2xjYW5vZXMgY2F1c2VkIHlldA0KPiAgICAgbW9yZQ0KPiAgICAgZGVicmlzIHRvIGRlc2NlbmQg b24gdGhlIGNhYmxlLCBvYmxpdGVyYXRpbmcgMTMuNyBrbSBvZiBpdCBhbmQNCj4gICAgIGN1dHRp bmcNCj4gICAgIHNlcnZpY2UgdG8gYm90aCBWYXZhJ3UgYW5kIEhhJ2FwYWkgYWdhaW4uIENhYmxl IHNoaXAgTVYgTG9kYnJvZyB3YXMNCj4gICAgIGJyb3VnaHQgaW4gZnJvbSBTaW5nYXBvcmUgd2l0 aCA2MCBrbSBvZiBzcGFyZXMgYnV0IGdvdCBkZWxheWVkIGluDQo+ICAgICBGaWppDQo+ICAgICBk dWUgdG8gbWVjaGFuaWNhbCBpc3N1ZXMuIFRoZSBjYWJsZSB3YXMgcmVwYWlyZWQgb24gMTYgQXVn dXN0DQo+ICAgICAyMDI0LCBpbg0KPiAgICAgdGhlIHNhbWUgbG9jYXRpb24uIFRoZSBvcGVyYXRv cnMgd2VyZSB3ZWxsIGF3YXJlIG9mIHRoZSByaXNrLCBob3dldmVyDQo+ICAgICByZS1yb3V0aW5n IHRoZSBjYWJsZSB3b3VsZCBoYXZlIHJlcXVpcmVkIGl0IHRvIGJlIGxlbmd0aGVuZWQsIHdpdGgN Cj4gICAgIHRoZQ0KPiAgICAgbmVlZCB0byBpbnNlcnQgcmVwZWF0ZXJzLCB1cGdyYWRlIHRlcm1p bmFsIGVxdWlwbWVudCwgYW5kIGNvbmR1Y3QNCj4gICAgIGEgbmV3DQo+ICAgICBtYXJpbmUgc3Vy dmV5LCB3aGljaCB3b3VsZCBoYXZlIG1lYW50IGZ1cnRoZXIgZGVsYXlzLg0KPg0KPiAgICAgT24g MjYgQXVndXN0IDIwMjQsIDExOjI54oCvYW0sIGEgTTYuOSBxdWFrZSBzdHJ1Y2sgaW4gdGhlIGFy ZWEgYXQgYQ0KPiAgICAgZGVwdGgNCj4gICAgIG9mIGFib3V0IDEwNiBrbS4gT3VyIFNjaWVuY2Ug YnVpbGRpbmcgaW4gQXVja2xhbmQgaGFzIGEgImNpdGl6ZW4NCj4gICAgIHNjaWVuY2UiIHNlaXNt b2dyYXBoIHdpdGggYSBiaWcgZGlzcGxheSBpbiBpdHMgZm95ZXIsIGFuZCBteQ0KPiAgICAgc3R1 ZGVudCBhbmQNCj4gICAgIEkgbm90aWNlZCB0aGUgdmVyeSBwcm9taW5lbnQgZXZlbnQgYXMgd2Ug cmV0dXJuZWQgZnJvbSBsdW5jaC4NCj4gICAgIExpdHRsZSBkaWQNCj4gICAgIHdlIGtub3cgdGhh dCB0aGlzIHdhc24ndCBhcyBjbG9zZSB0byBob21lIGFzIHdlJ2QgdGhvdWdodCwgYnV0IHdvdWxk DQo+ICAgICB0b3VjaCB1cyBpbiBvdGhlciB3YXlzIHRoYXQgd2Vlay4gWW91J3ZlIGd1ZXNzZWQg aXQ6IFRoZSBjYWJsZSBoYXMNCj4gICAgIGJlZW4NCj4gICAgIGN1dCBhZ2FpbiwgdGhlIGNhYmxl IHNoaXAncyBiZWVuIHJlY2FsbGVkLCBhbmQgbm9ib2R5IHF1aXRlIGtub3dzDQo+ICAgICB3aGF0 DQo+ICAgICB0aGV5J2xsIGZpbmQgdGhpcyB0aW1lLg0KPg0KPg0KPiBodHRwczovL21hdGEvDQo+ IG5naXRvbmdhLnRvJTJGMjAyNCUyRjA4JTJGMjclMkZkb21lc3RpYy1zdWJtYXJpbmUtY2FibGUt b3V0LWFnYWluLWFmdGUNCj4gci1oYWFwYWktZWFydGhxdWFrZS15ZXN0ZXJkYXkmZGF0YT0wNSU3 QzAyJTdDd2VybmVyLmNvb21hbnMlNDBub2tpYS1iZQ0KPiBsbC1sYWJzLmNvbSU3QzVmODg2ZWY3 ZTU1MzQyMDJhZjkzMDhkY2NiMzJjMDk5JTdDNWQ0NzE3NTE5Njc1NDI4ZDkxN2I3DQo+IDBmNDRm OTYzMGIwJTdDMCU3QzAlN0M2Mzg2MDg2NjYwNzcxODkyMDElN0NVbmtub3duJTdDVFdGcGJHWnNi M2Q4ZXlKV0kNCj4gam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFX d2lMQ0pYVkNJNk1uMCUzRCU3QzAlN0MlNw0KPiBDJTdDJnNkYXRhPTZiV2tyREZWMDAlMkZXRklk Z0dlZDJSZ01xc3pnSTdHaWlwRmFTdWpqSk9XbyUzRCZyZXNlcnZlZD0wDQo+DQo+ICAgICBUaGUg bGF0ZXN0IHBsYW4gSSBrbm93IG9mIHdhcyB0byByZXBhaXIgaW4gdGhlIHNhbWUgbG9jYXRpb24g YWdhaW4sDQo+ICAgICB1c2luZyBhcm1vcmVkIHNwYXJlcyAtIGJ1dCB0aGV5IGtub3cgdGhhdCB0 aGlzIG1heSBub3QgcHJldmVudA0KPiAgICAgZnVydGhlcg0KPiAgICAgZGFtYWdlLiBHZW9sb2dp Y2FsIGFkdmljZSBpcyB0aGF0IGFueSBkZWNlbnQgcXVha2UgaW4gdGhlIGFyZWEgd2lsbA0KPiAg ICAgY2F1c2UgZnVydGhlciBzdWJtYXJpbmUgbGFuZHNsaWRlcyBpbiB0aGUgY29taW5nIHllYXJz IHVudGlsIHRoZSBhcmVhDQo+ICAgICBoYXMgc2V0dGxlZC4NCj4NCj4gICAgIE1lYW53aGlsZSwg U3RhcmxpbmsgaGFzIGJlZW4gbGljZW5zZWQgdG8gb3BlcmF0ZSBjb21tZXJjaWFsbHkgaW4NCj4g ICAgIFRvbmdhLg0KPiAgICAgRm9yIG1hbnkgUGFjaWZpYyBJc2xhbmQgY291bnRyaWVzLCB0aGlz IGlzIGEgZG91YmxlLWVkZ2VkIHN3b3JkOg0KPiAgICAgT24gdGhlDQo+ICAgICBvbmUgaGFuZCwg dGhpcyBwcm92aWRlcyBzaG9ydC10ZXJtIHJlbGllZiwgb24gdGhlIG90aGVyIGhhbmQsIGl0DQo+ ICAgICBkZXByaXZlcyBsb2NhbCBJU1BzIG9mIGN1c3RvbWVycyBhbmQgdGhlcmVmb3JlIGltcGFj dHMgb24NCj4gICAgIGFzcGlyYXRpb25zIHRvDQo+ICAgICBhY2hpZXZlIGNhYmxlIGNvbm5lY3Rp dml0eSB3aGljaCBjb3VsZCBwcm92aWRlIG1vcmUgYmFuZHdpZHRoIGluIHRoZQ0KPiAgICAgbWVk aXVtIHRlcm0uDQo+DQo+ICAgICBTb21lIGlzbGFuZCBuYXRpb25zIGhhdmUgbm90IHlldCBsaWNl bnNlZCBTdGFybGluaywgYnV0IGFsbG93DQo+ICAgICBTdGFybGluaw0KPiAgICAgdW5pdHMgb24g cmVnaW9uYWwgcm9hbWluZyBwbGFucyB0byBvcGVyYXRlIHRoZXJlLiBJbiBzb21lIGNhc2VzLA0K PiAgICAgdGhlcmUNCj4gICAgIGFyZSBub3cgaHVuZHJlZHMgb2Ygc3VjaCB1bml0cyBvcGVyYXRp bmcgaW4gaW5kaXZpZHVhbCBjZWxscy4gVGhpcw0KPiAgICAgYXBwZWFycyB0byBiZSBjYXVzaW5n IFN0YXJsaW5rIHNvbWUgaGVhZGFjaGVzIGluIHRlcm1zIG9mIGNhcGFjaXR5IC0NCj4gICAgIHdl J3ZlIHNlZW4gdGhlbSBiZWluZyBjcmVhdGl2ZSB3aGVuIGl0IGNvbWVzIHRvIHVzZXIgZGVuc2l0 eQ0KPiAgICAgbWFuYWdlbWVudA0KPiAgICAgYmVmb3JlLiBXaGF0IGhhcHBlbnMgaWYgU3Rhcmxp bmsgYXJlIGdvaW5nIHRvIGJlIGxpY2Vuc2VkIHRoZXJlIGJ1dA0KPiAgICAgY2FuJ3Qgb2ZmZXIg Zml4ZWQgc2VydmljZSBvbiB0aGUgZ3JvdW5kIGJlY2F1c2Ugb2YgdGhlIGxhcmdlDQo+ICAgICBu dW1iZXIgb2YNCj4gICAgIHJvYW1pbmcgc3Vic2NyaWJlcnMgYWxyZWFkeSB0aGVyZT8gSSB1bmRl cnN0YW5kIHRoYXQgc29tZSBvZiB0aGVzZQ0KPiAgICAgInJvYW1pbmciIHVzZXJzIGhhdmUgYmVl biBjb250YWN0ZWQgYnkgU3Rhcmxpbmsgd2l0aCBhIHJlcXVlc3QgdG8NCj4gICAgIGVpdGhlcg0K PiAgICAgdGFrZSB0aGVzZSB1bml0cyBiYWNrIHRvIHRoZWlyIGhvbWUgbG9jYXRpb24gY291bnRy eSB3aGVyZSB0aGV5IGFyZQ0KPiAgICAgcmVnaXN0ZXJlZCAod2hpY2ggaXNuJ3QgbGlrZWx5IHRv IGhhcHBlbiBnaXZlbiB0aGUgY29zdCBpbnZvbHZlZCkgb3INCj4gICAgIHJlZ2lzdGVyIHRoZW0g aW4gdGhlIGNvdW50cnkgdGhleSdyZSBjdXJyZW50bHkgaW4gKG5vdCBwb3NzaWJsZSBpbg0KPiAg ICAgc29tZQ0KPiAgICAgY2FzZXMgZm9yIGxhY2sgb2YgbG9jYWwgZml4ZWQgc2VydmljZSBvZmZl cmVkKS4NCj4NCj4gICAgIFVscmljaA0KPg0KPg0KPiAgICAgLS0NCj4gICAgICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4g ICAgIERyLiBVbHJpY2ggU3BlaWRlbA0KPg0KPiAgICAgU2Nob29sIG9mIENvbXB1dGVyIFNjaWVu Y2UNCj4NCj4gICAgIFJvb20gMzAzUy41OTQgKENpdHkgQ2FtcHVzKQ0KPg0KPiAgICAgVGhlIFVu aXZlcnNpdHkgb2YgQXVja2xhbmQNCj4gICAgIHUuc3BlaWRlbEBhdWNrbGFuZC5hYy5ueg0KPiAg ICAgaHR0cDovL3d3dy5jcy5hdWNrbGFuZC5hYy5uei9+dWxyaWNoLw0KPiAgICAgKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K Pg0KPg0KPg0KPiAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCj4gICAgIFN0YXJsaW5rIG1haWxpbmcgbGlzdA0KPiAgICAgU3RhcmxpbmtAbGlzdHMu YnVmZmVyYmxvYXQubmV0DQo+DQo+IGh0dHBzOi8vbGlzdC8NCj4gcy5idWZmZXJibG9hdC5uZXQl MkZsaXN0aW5mbyUyRnN0YXJsaW5rJmRhdGE9MDUlN0MwMiU3Q3dlcm5lci5jb29tYW5zJQ0KPiA0 MG5va2lhLWJlbGwtbGFicy5jb20lN0M1Zjg4NmVmN2U1NTM0MjAyYWY5MzA4ZGNjYjMyYzA5OSU3 QzVkNDcxNzUxOTY3DQo+IDU0MjhkOTE3YjcwZjQ0Zjk2MzBiMCU3QzAlN0MwJTdDNjM4NjA4NjY2 MDc3MTk4MDI3JTdDVW5rbm93biU3Q1RXRnBiR1oNCj4gc2IzZDhleUpXSWpvaU1DNHdMakF3TURB aUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlMw0KPiBEJTdDMCU3 QyU3QyU3QyZzZGF0YT1NbHgyRmRFTURwTzZ4RXRlODhUQXVENHhSRyUyRkNFUnNuMFR5bGMzYUtY dk0lM0QmDQo+IHJlc2VydmVkPTANCj4NCj4NCj4NCj4gLS0NCj4gQXJ0aXN0cy9NdXNpY2lhbiBD YW1wb3V0IEF1ZyA5LTExDQo+IGh0dHBzOi8vd3d3Ly4NCj4gZXZlbnRicml0ZS5jb20lMkZlJTJG aGVhbGluZy1hcnRzLWV2ZW50LXRpY2tldHMtOTI4OTEwODI2Mjg3JmRhdGE9MDUlNw0KPiBDMDIl N0N3ZXJuZXIuY29vbWFucyU0MG5va2lhLWJlbGwtbGFicy5jb20lN0M1Zjg4NmVmN2U1NTM0MjAy YWY5MzA4ZGNjDQo+IGIzMmMwOTklN0M1ZDQ3MTc1MTk2NzU0MjhkOTE3YjcwZjQ0Zjk2MzBiMCU3 QzAlN0MwJTdDNjM4NjA4NjY2MDc3MjAyMjQNCj4gMCU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhl eUpXSWpvaU1DNHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNg0KPiBJazFoYVd3aUxD SlhWQ0k2TW4wJTNEJTdDMCU3QyU3QyU3QyZzZGF0YT00UFVpTERFMTRMbzJUNm1HRWZYZmN5VExC VmNSDQo+IEVZZzltdmZiVklkcGd6VSUzRCZyZXNlcnZlZD0wDQo+IERhdmUgVMOkaHQgQ1NPLCBM aWJyZVFvcw0KDQotLQ0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KRHIuIFVscmljaCBTcGVpZGVsDQoNClNjaG9vbCBvZiBD b21wdXRlciBTY2llbmNlDQoNClJvb20gMzAzUy41OTQgKENpdHkgQ2FtcHVzKQ0KDQpUaGUgVW5p dmVyc2l0eSBvZiBBdWNrbGFuZA0KdS5zcGVpZGVsQGF1Y2tsYW5kLmFjLm56DQpodHRwOi8vd3d3 LmNzLmF1Y2tsYW5kLmFjLm56L351bHJpY2gvDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCg0KLS0tLS0tLS0tLS0tLS0g bmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tDQpBbiBIVE1MIGF0dGFjaG1lbnQgd2FzIHNjcnViYmVk Li4uDQpVUkw6IDxodHRwczovL2xpc3RzLmJ1ZmZlcmJsb2F0Lm5ldC9waXBlcm1haWwvc3Rhcmxp bmsvYXR0YWNobWVudHMvMjAyNDA5MDIvZDIzMDY1NzgvYXR0YWNobWVudC5odG1sPg0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KU3ViamVjdDogRGlnZXN0IEZvb3Rlcg0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KU3Rhcmxpbmsg bWFpbGluZyBsaXN0DQpTdGFybGlua0BsaXN0cy5idWZmZXJibG9hdC5uZXQNCmh0dHBzOi8vbGlz dHMuYnVmZmVyYmxvYXQubmV0L2xpc3RpbmZvL3N0YXJsaW5rDQoNCg0KLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQoNCkVuZCBvZiBTdGFybGluayBEaWdlc3QsIFZvbCA0MiwgSXNzdWUg Mg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo=