From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from MW6PR02CU001.outbound.protection.outlook.com (mail-westus2azon11012003.outbound.protection.outlook.com [52.101.48.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DE15305066 for ; Wed, 4 Feb 2026 06:18:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.48.3 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770185886; cv=fail; b=S3Tr9m7dX79Ljs6WJSD5Ec9mlBnA8xldS+R3d3HQ/AynM2XFbm6/vUmh11WodEhPCKEauzxUm351GTq2g4DVM/Y9c2VrpqBCKdlHK5v6MXWRHqoYw1W07uFVoqR3i0+HI4pt0W4Wyx59HzCHpXfBi7jKtJbm+exH80iClIxnpgE= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770185886; c=relaxed/simple; bh=rsQ/Znat+QsNckT0FdwcB59wGjWg5yp9DGiMf1ZNvIQ=; h=From:To:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=eWJX5A7qmyc836vQg9r2N1wRbUtKbl1X7Ol4DEVOnIkOHeJ8Opj4eM38iInOGZjg3e2QbRtGKiWGK2v+BDWALyE+zqWqddmPfpaQPy58YxGNHBjhk7YheZJ17P9e9gsYSi3ckgm2v7fZr5c/ONfHp+RZb5DfXIJ6AUF1WYyh4TQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=UGVc4maI; arc=fail smtp.client-ip=52.101.48.3 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="UGVc4maI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ouaRnvjl0bsZJgOk6xu+tYZVfCf4ZYIbPZWB56uNWQgaeYH71xZGNRfdNSHWtswPBH3rvquLpKDfb/6GLe4VddPRQSXTKUKHm09N9DwNC9blITy01LrFPQFlmareZfvxcfSPeNUWGdy15hpccDrvgqgsBtAjyjIsFhZDH147X4UAdIJlgLmp4vSqGOcy+/1JKslCjOJXerT0oWTHyXVBHL5PTGrbt7ZulxD3RZdT6HCrzKu+68KnmhWrjxDgskfbej0iTLIjtSFT7sgvNCQSnB3HVnYn/eK1t76wThbdDkmPsnsSFbN9hcFiDkCIet2DVt09m8w3a1RvYOkgAmAa4A== 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=rsQ/Znat+QsNckT0FdwcB59wGjWg5yp9DGiMf1ZNvIQ=; b=yUlIonowPZjKPz+bIJ8PGCe4I86O0v0CRpcbeqRm1hY5WeareYzC1tZKgn77HlHsInKZ+teLCKleSJLO0bAlgTyVVpdLSTQdEs9+mfBPhi+BlZ4hzCSBEJWBe/feG/7PPRcBaTZ5rj6veMoHVwrAcOl5I08FlYxQw+/NVKvrcPgapsZyFIKnz8iWYqiYnwm3Cv0BPINpQDtXQK7R2UifxAmtdicgy0wa0RexzXaYZuxpKCqwH3KojcPhvYKw3j+VNw3xlj0SQZ7S4dPkb06Gao8aMZoyMEiktdwL/T/tXYoxsRQAZPwHLX33MO4uK7OmEafbWgTRrlV1g0vyE/alNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rsQ/Znat+QsNckT0FdwcB59wGjWg5yp9DGiMf1ZNvIQ=; b=UGVc4maIsUGjVF8YwsNnrpzOcTisWzORaC2iVmGRCsDbGRcK7OygazBHswMrwTEQMdbtLCYXrITsMGtnFCwqagVIBNkBxTk8J5BHqOciZbhpsxYHSHHxD8V5IgLCSSCuDCRvQ8vBgesanMdxgWfqizhGe35bny7MepozTHuC2FdDLni3XXmnQTCFn8ssb+fZIclYbDniBaCDGk2Oyqx0GSbCb3eeT+Oi9GfYuhHZqhYYetGazvGFPuIDaK09O2zPWPEbmi6lyFBdBAah4gwppCDunBL6xXcik5EcAWQtIPiyjlBRShzMhGdRBImaJQEAzWOoLa3y+7BzSwiJY2749Q== Received: from BLAPR03MB5458.namprd03.prod.outlook.com (2603:10b6:208:29d::17) by SJ0PR03MB5773.namprd03.prod.outlook.com (2603:10b6:a03:2db::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.12; Wed, 4 Feb 2026 06:18:03 +0000 Received: from BLAPR03MB5458.namprd03.prod.outlook.com ([fe80::7eda:fa34:15f9:e656]) by BLAPR03MB5458.namprd03.prod.outlook.com ([fe80::7eda:fa34:15f9:e656%5]) with mapi id 15.20.9587.010; Wed, 4 Feb 2026 06:18:03 +0000 From: "Mohamad Jamian, Muhammad Amirul Asyraf" To: "Mohamad Jamian, Muhammad Amirul Asyraf" , Dinh Nguyen , "linux-kernel@vger.kernel.org" , "Ang, Tien Sung" Subject: Re: [RESEND] firmware: stratix10-svc: Add Multi SVC clients support Thread-Topic: [RESEND] firmware: stratix10-svc: Add Multi SVC clients support Thread-Index: AQHclLjyf/oCbp42zEOjUMvczuXGSrVyEpYA Date: Wed, 4 Feb 2026 06:18:03 +0000 Message-ID: <8b365f30-cb1c-4e82-8c98-bed3b63dadac@altera.com> References: <20260203025815.4526-1-muhammadamirulasyraf.mohamadjamian@altera.com> In-Reply-To: <20260203025815.4526-1-muhammadamirulasyraf.mohamadjamian@altera.com> 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=altera.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BLAPR03MB5458:EE_|SJ0PR03MB5773:EE_ x-ms-office365-filtering-correlation-id: 9328a6b8-5da5-4f10-e9ae-08de63b52739 x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021; x-microsoft-antispam-message-info: =?utf-8?B?alk4MGYwRTBVRk5mK21rdHVMamoxQUdVVVord3hSVGNiSWNUa09PcXRoekpt?= =?utf-8?B?ZUwyOUMzSVNaMTBCdDFiNXQzc3cyb2RJaERpYzl1a25OM2VGcXhZNE1EdXo4?= =?utf-8?B?U1IydGlGaUZ2a0NKVXF3cE1jaVFTS0VxUWFiVGg1UnIxNE1YeVFUYWtwWDhM?= =?utf-8?B?dElaWEJHZExIbzltdlZhZ3JqS1B0ZnlCREMyK0lMNjJNSEtUa2dUQUFwcVVv?= =?utf-8?B?ZmpKaGpmcC91UXVsajB0VW9ydVZlUnZaV20yWkQ4UHFHQU9MWDVKbkJBKzhG?= =?utf-8?B?R1h2VUFwZGdGdzdwQldGVFdETmN3UW9aYmhmWVJJTTZXczUrL0VQcXEwT29T?= =?utf-8?B?NWxRTDhGL2liY1JlVStVVjBVbnlIaG15ZVlCbzdHQ1BVTjQvUTNxYzk3YVdm?= =?utf-8?B?TjJEWWtIa0pMZ3A1U21MeVRBNFpCeDdwRHV0N1BybmlTc3VObGliSUcxSXRs?= =?utf-8?B?UnpWcTgraXJLRFVZRm9scXB3bmNsTFJwaUhjMjBiQXBMT09iemRyaXg3eFdi?= =?utf-8?B?cUlNUDBNT3Jic3JtNlA0QmVsQS94eXpiZkZXRlh3cWVoU0VPb2M5ZC9nbVl1?= =?utf-8?B?SWlsNzM4MzFsVkRhZ2VIV1MwQzNRNFhuaUZUbDNYTWRhMitUS0Y0UjJOZmNn?= =?utf-8?B?alNwbVVmc00xVko3WnpBV0p6QXEyeC9ucWlrejBkOVk3Y3FOdFMwb2RJbjZS?= =?utf-8?B?dXNQakF2UFpJUGVZOHNzajNKZVN2M3RaNm5JV3hDdHRmY3hLYXdwTUV1cnAx?= =?utf-8?B?WEJRbURxQnJRSjNndkZReWgvNmYrTWhhUFdtOURMS0NmNmpJREJwZWRXQnBL?= =?utf-8?B?eGgwSXFrTmtqQnQwM1hhclpHdnVpblQybURDYVBtS3dPb1M0NW4vcTh2ZEcr?= =?utf-8?B?cDVVZDRFVlR3SndjZHUwUlY2TFhSZ3lrWnpyQS9pTG1yWU1xTnlRNHMrK0Jq?= =?utf-8?B?R3FxdVR5T1duTjJzbExNS0xWcVZSa0tWcmtlZ1QrVTE3cytlWlUyMFRORTh2?= =?utf-8?B?QnFnRURsN3FwSkVIZlJKcGNDRklTTVFrTmZjbUx6enBYTVB2UGlTNkJsMGpp?= =?utf-8?B?NlN6NG1NcXNacS83T2lBcjdLZStVOGpGcCs4WnZnNE5MTWZMUVRWaFlzNEU2?= =?utf-8?B?blBzSGdEOHp0am9XWWNXbUFDVlMySFh4djdoY1pocTR5WU5BeHo2eHY3WCtT?= =?utf-8?B?V3dnbU8yZTNIeEY5WHI1TStSZGQ2WGZSQWlGWitDS1N4Y1dZY050NXBlcENv?= =?utf-8?B?THRnNTBUcm1hL3ZYUGhtZUxjVkRSY0M0VXFqenpIMlpGK044QWZNbUIzcG9T?= =?utf-8?B?aE5HK0tPV3dZVFZIWDFBNitHNitMNFI3ak1OOXQ5UzVsbzFTOW5zK3oyM3pF?= =?utf-8?B?MnJBa1BoQStla3NnOXdmTXJVdXNaS3l6ZUordHVnOXIvT2xiVURGdkl2SGV1?= =?utf-8?B?QjBrTTRJcjNySyszWG9GZWVuUVZHT2J4MHRjTFpXa0dpbHVwUmNYN3NoRU5v?= =?utf-8?B?UDFqVy9XM20vZzdNZVYrd3ZsdEg0Si8weFFTNHh3UmlWZHZHUUw4ZnlmdVI1?= =?utf-8?B?UTlRVHJZMlRnQ1lqOXVQMGZyak92T2NhUUJxS095ZnF1ajYvUGhQNEdndkw3?= =?utf-8?B?aTRUQXczejBlWkw5a1MzTGtMTXhHNGJ5SHgya1ZXSlVHWjVES3Z3aHN6OE5u?= =?utf-8?B?ZjcvbFppUXoyTkErYVYvK1EwMmo3S1BpMWFjN2EzbzlZOE82YUJQS1ZNRlRY?= =?utf-8?B?RDNIMUU2QWR4WVZKVTV4clluWm1UOVk3SnlWU1RvV0lFZHNpWmg3SktjR1FM?= =?utf-8?B?RFJQWkFZc0ttTXVTT0Z2Z0hsaG0xeFhxUm4yaXZ6enMwZHF3ZkQ1a2NnY2kx?= =?utf-8?B?a2R0SGlSdVZqNHo5NmhtRVJnVjAzM0JRbzRpSkE5UmJ2Z0RYcU5neG1udVRh?= =?utf-8?B?Zi9aQzMzTFp2T2lOMG9Kakl2ZUEwU2lUWnJxQlZaYU9PR3RYeHBRWjRPZVFG?= =?utf-8?B?Q1J3VlhtOCtiYmttSnBVVUJwc0k2MTR3N1FiSWRrU0RBMWlKUTlKZE9hY1Vn?= =?utf-8?B?YVNadnRCVG83VStUWDh3SUdnUkhVVEx2REg3WXBsWDZKTTlWRThxc0ViQWNU?= =?utf-8?B?T0xTK0pSSGs5dk93d3ltTUtRS21QV3ZuK2FVQnpDWnlaL0NpcVcwV0VhY3Rz?= =?utf-8?Q?RM8DjvryMkO6qQ4Rv7SeRRk=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR03MB5458.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?emo4a3kwSWllTFpnWS9EaHBqOERUYUtDbEFZUHFTd2pxUnlvd3o1N3RKZldQ?= =?utf-8?B?TElNUTFYZXNyVERibEp3bDltK0g1ckVDa01jOFNrZHJUWU9BMS8xN0FxL1ls?= =?utf-8?B?K0t1K0xIYUZNbit3K0Myc3J4Ym1vdUJ3N0s5QjhTbkxwemE5SVFDbmx3cDdv?= =?utf-8?B?bWVvRUpUekY0ejJ5YW5ZR2YrVlVIR1d6VjVNVzhuNzB0dm1mZk5WZEhRYSt3?= =?utf-8?B?Y1lsY2luNTh2TXRaaTd3cE9SeHZ0ZnZ3eFBmNW81RVRMK0w3SDlDclRrbEFR?= =?utf-8?B?dnloUm9ITnFLUnIwcVVob0x0U1B2SWh6TFlhZDFMU1ZNN3VuMEVSeFVsaWFH?= =?utf-8?B?OFZNdmY2Y1VDSGsrb3RtNVY4bzY3YUtNd3dnSWFFWkFLK0tRK2hXNzUrUjRy?= =?utf-8?B?NnlreElONlVEV1VPOTZKZnRJTHNyWENOOWdiWm93NFVET0oxaHNQOTJOTUxq?= =?utf-8?B?TStIS2xZNGYwL2lrRWZkRTc0c2huR0t6MEhFREJBcDcxaWZ6S1NLS0h5czdM?= =?utf-8?B?SjNnMHlEWWNQeFB3SEtnQ0Z5N291dDlUSURZRFpnV00rdHpyOTQ1ODhsbFpk?= =?utf-8?B?aDJCQis2NkRIV1dIbmFFUDl5U1IrMkRFYnh1MUxlZlNHcTdRWUxrSk12Y2py?= =?utf-8?B?VmhyZStiSXFTRFlRSGhTdk15WVJxZW1UTDBXMFlVZTRmZkxSK2VEaDZYb0pr?= =?utf-8?B?WHlHVGJ4OS9DYzh0VlVhaXpCUk9Qb1hGUUQrK3dWWGVlVU8yZS9vVElvZnNS?= =?utf-8?B?eFlmKzJ0Qms3ekt6OURJb3hJMFNvUHIzWkwzVGpJaWJzV3NjSlY2TmQvQnUv?= =?utf-8?B?d09PUk82bDQzVS8rWDhoZTUxaCs1cDFMS0p5cFB2aXdNOTlCeFlLd2w2THB4?= =?utf-8?B?cm9CTFhTK0kxUTc1cWVCSVl3Y0hSUTFXR2tDYktaWklQOUFnSWhDTjBnaXVj?= =?utf-8?B?dkR1UE44MDI5c2hldUl2SnVxSGRqdnh0Qi9uNlBvei84Q1NqT2NDV09NZ2p5?= =?utf-8?B?NDZGWkJSTklHZXhydnNkYkJHdEkwWkpNbXVaSnFWUVB2b3JvQXk0cElPM1Jp?= =?utf-8?B?Y09WRlhpcFRVSDczZ05QTUdzMEQrVWk3QXowbHhPNnViZngreTMzVjZjb2d4?= =?utf-8?B?MW9yamI2dnhMb042SUhmTi9DMld2YkZ0dGlpdE1uOTFwKzNmcm9VVHByUk5j?= =?utf-8?B?Q203eXFDNVZ2U29BN3hhdVI1SFA1RHdSbkhBS3ZCMkhWaVcrY2lzR2ltUmhC?= =?utf-8?B?Sytwb05DdmFOTitSR1ErQjl6dURwQitNbGpUcUdZdU5QdWxic3BQeE9oMy9R?= =?utf-8?B?T1dCVTRBTDNzVnB1c1Fodk9PcVNXRjJIMXlHOE81Y1VaRyt4aDlneVNjNytZ?= =?utf-8?B?eGRUSXVURDZRWVRZYVRodVNYdDRKKzFBMCtUZU53MVIxZm9OZVR5WEIwZVZ2?= =?utf-8?B?dTJHcXFXK29qdXZhaXd1N0hyK1VUUU1kVE5PNDhyL2hZV0srMU9oTThxWkhF?= =?utf-8?B?bXhVejlFSUZmVkNzN0pGUE5GUjZwRnpuMjhWOUtqSnJnc1puZ2hGOHQvc1Bl?= =?utf-8?B?WGMxNzcvWkRWcGxuWG9wcmRqd1Y3MmprN0xYanlsa3d2dnBQeU84anRQK04x?= =?utf-8?B?VTF1bHlQMG5QZ0RkYVpCZGJqYVlsN3lDaEZLdDRHSG1OU091SWorTlQ0SjlF?= =?utf-8?B?QlNNb24xcENyUU9wbFpOUXpxMzUzcWdMMnpUVEx4TzNkeFQycERJTlU2Y2JX?= =?utf-8?B?SnNZQS80VGUvSjlCL2pLZXBQbkVlTTBIQXVWWmRUUjBqak01RGZhVWx3UjQy?= =?utf-8?B?cUhDQkRmRHFtL01McndTTmRLckIvTElrTTBzdVdnTnN3M2tnaFVuczNpRW4w?= =?utf-8?B?ekpteTZkSDNGei9oYlMxVE44V3RueTVRUGVkNkxyMlYwUWU5c0lpSjVjT0lI?= =?utf-8?B?U2JkaERuOTFUOWhqNklhb0U0LzJRSlpYeXNZYWM0aVJxdy9KVkY1L3dnRWl0?= =?utf-8?B?Tjl0M2thYXNuZ1JXZ3NvdjVseitpbGR6ZFNjaVR2bWJ4dTNRd1QwUHNBUStt?= =?utf-8?B?OElkWHlYdTM0dm9nY0dOdmRGL3VpTFVXbnFxTkVSeTVTWHE4MlJ1T3dmSUZF?= =?utf-8?B?RnBrQWFoaW1oWllRLzh2Slc2eGVrZGpBaEJsYWljcmM5YjdRZjRmWWlvbXpY?= =?utf-8?B?a0xFY2hVMjhYSms1SmxQaG5OWFpzME5nTWcvUWlicWlSb3oydWVWWnNERWJi?= =?utf-8?B?MDcvQnlDRFFObkd1QmNFYzQvbSszSEVvRFZIL1dIZTAyaUtDcENLUUVVMkg3?= =?utf-8?B?WFdsUDNvYmFIdVc0ajBSK3U5bys5Y29EQVR6UVJYcUFWRm53dytVR0pOM1Q0?= =?utf-8?Q?T7/TncDRwSIf1y2VsVGnX9AVVZKDqQBnDweHMySYgzYVY?= x-ms-exchange-antispam-messagedata-1: bWhsVdY9IwypSs5TeB3oVO5cISZwOfaaOcA= Content-Type: text/plain; charset="utf-8" Content-ID: <26D37E7496302B40BDAECC0D5F8AB5BF@namprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BLAPR03MB5458.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9328a6b8-5da5-4f10-e9ae-08de63b52739 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Feb 2026 06:18:03.1255 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gk7uTIUUCm6pAnsx7OYOKpVdYyOYX56D/Oz5JpzJCizjtiml6PxbaEXMbBsTeCuHrBibRGz3ernkX6t2dYreGGLr2b9RkCAM2MWfIM4GtxJ8bW08RkaT1bgNp9bZfSPLAuMMnAeVg0UBAcR9S8q8zw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5773 T24gMy8yLzIwMjYgMTA6NTggYW0sIE1vaGFtYWQgSmFtaWFuLCBNdWhhbW1hZCBBbWlydWwgQXN5 cmFmIHdyb3RlOg0KPiBJbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgU1ZDIGNsaWVudCBk cml2ZXJzIHN1Y2ggYXMgc29jZnBnYS1od21vbiwNCj4gaW50ZWxfZmNzLCBzdHJhdGl4MTAtc29j LCBzdHJhdGl4MTAtcnN1IGVhY2ggc2VuZCBhbiBTTUMgY29tbWFuZCB0aGF0DQo+IHRyaWdnZXJz IGEgc2luZ2xlIHRocmVhZCBpbiB0aGUgc3RyYXRpeDEwLXN2YyBkcml2ZXIuIFVwb24gcmVjZWl2 aW5nIGENCj4gY2FsbGJhY2ssIHRoZSBpbml0aWF0aW5nIGNsaWVudCBkcml2ZXIgc2VuZHMgYSBz dHJhdGl4MTAtc3ZjLWRvbmUgc2lnbmFsLA0KPiB0ZXJtaW5hdGluZyB0aGUgdGhyZWFkIHdpdGhv dXQgd2FpdGluZyBmb3Igb3RoZXIgcGVuZGluZyBTTUMgY29tbWFuZHMgdG8NCj4gY29tcGxldGUu IFRoaXMgbGVhZHMgdG8gYSB0aW1lb3V0IGlzc3VlIGluIHRoZSBmaXJtd2FyZSBTVkMgbWFpbGJv eCBzZXJ2aWNlDQo+IHdoZW4gbXVsdGlwbGUgY2xpZW50IGRyaXZlcnMgc2VuZCBTTUMgY29tbWFu ZHMgY29uY3VycmVudGx5Lg0KPiANCj4gVG8gcmVzb2x2ZSB0aGlzIGlzc3VlLCBhIGRlZGljYXRl ZCB0aHJlYWQgaXMgbm93IGNyZWF0ZWQgcGVyIGNoYW5uZWwuIFRoZQ0KPiBzdHJhdGl4MTAtc3Zj IGRyaXZlciB3aWxsIHN1cHBvcnRzIHVwIHRvIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgZGVmaW5l ZCBieQ0KPiBTVkNfTlVNX0NIQU5ORUwuIFRocmVhZCBzeW5jaHJvbml6YXRpb24gaXMgaGFuZGxl ZCB1c2luZyBhIG11dGV4IHRvIHByZXZlbnQNCj4gc2ltdWx0YW5lb3VzIGlzc3VhbmNlIG9mIFNN QyBjb21tYW5kcyBieSBtdWx0aXBsZSB0aHJlYWRzLg0KPiANCj4gQWRkaXRpb25hbGx5LCBhIHRo cmVhZCB0YXNrIGlzIG5vdyB2YWxpZGF0ZWQgYmVmb3JlIGludm9raW5nIGt0aHJlYWRfc3RvcA0K PiB3aGVuIHRoZSB1c2VyIGFib3J0cywgZW5zdXJpbmcgc2FmZSB0ZXJtaW5hdGlvbi4NCj4gDQo+ IFRpbWVvdXQgdmFsdWVzIGhhdmUgYWxzbyBiZWVuIGFkanVzdGVkIHRvIGFjY29tbW9kYXRlIHRo ZSBpbmNyZWFzZWQgbG9hZA0KPiBmcm9tIGNvbmN1cnJlbnQgY2xpZW50IGRyaXZlciBhY3Rpdml0 eS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEFuZyBUaWVuIFN1bmcgPHRpZW4uc3VuZy5hbmdAaW50 ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBGb25nLCBZYW4gS2VpIDx5YW5rZWkuZm9uZ0BhbHRl cmEuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBLaGFpcnVsIEFudWFyIFJvbWxpIDxraGFpcnVsLmFu dWFyLnJvbWxpQGFsdGVyYS5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IE11aGFtbWFkIEFtaXJ1bCBB c3lyYWYgTW9oYW1hZCBKYW1pYW4gPG11aGFtbWFkYW1pcnVsYXN5cmFmLm1vaGFtYWRqYW1pYW5A YWx0ZXJhLmNvbT4NCj4gLS0tDQo+ICAgZHJpdmVycy9maXJtd2FyZS9zdHJhdGl4MTAtc3ZjLmMg ICAgICAgICAgICAgIHwgMjAwICsrKysrKysrKysrLS0tLS0tLQ0KPiAgIC4uLi9maXJtd2FyZS9p bnRlbC9zdHJhdGl4MTAtc3ZjLWNsaWVudC5oICAgICB8ICAgOCArLQ0KPiAgIDIgZmlsZXMgY2hh bmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZmlybXdhcmUvc3RyYXRpeDEwLXN2Yy5jIGIvZHJpdmVycy9maXJtd2FyZS9z dHJhdGl4MTAtc3ZjLmMNCj4gaW5kZXggNTE1Yjk0OGZmMzIwLi42YmMwZjkzMTVhNGUgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvZmlybXdhcmUvc3RyYXRpeDEwLXN2Yy5jDQo+ICsrKyBiL2RyaXZl cnMvZmlybXdhcmUvc3RyYXRpeDEwLXN2Yy5jDQo+IEBAIC0zNyw5ICszNyw5IEBADQo+ICAgICog c2VydmljZSBsYXllciB3aWxsIHJldHVybiBlcnJvciB0byBGUEdBIG1hbmFnZXIgd2hlbiB0aW1l b3V0IG9jY3VycywNCj4gICAgKiB0aW1lb3V0IGlzIHNldCB0byAzMCBzZWNvbmRzICgzMCAqIDEw MDApIGF0IEludGVsIFN0cmF0aXgxMCBTb0MuDQo+ICAgICovDQo+IC0jZGVmaW5lIFNWQ19OVU1f REFUQV9JTl9GSUZPCQkJMzINCj4gKyNkZWZpbmUgU1ZDX05VTV9EQVRBX0lOX0ZJRk8JCQk4DQo+ ICAgI2RlZmluZSBTVkNfTlVNX0NIQU5ORUwJCQkJNA0KPiAtI2RlZmluZSBGUEdBX0NPTkZJR19E QVRBX0NMQUlNX1RJTUVPVVRfTVMJMjAwDQo+ICsjZGVmaW5lIEZQR0FfQ09ORklHX0RBVEFfQ0xB SU1fVElNRU9VVF9NUwkyMDAwDQo+ICAgI2RlZmluZSBGUEdBX0NPTkZJR19TVEFUVVNfVElNRU9V VF9TRUMJCTMwDQo+ICAgI2RlZmluZSBCWVRFX1RPX1dPUkRfU0laRSAgICAgICAgICAgICAgNA0K PiAgIA0KPiBAQCAtMjUyLDExICsyNTIsMTAgQEAgc3RydWN0IHN0cmF0aXgxMF9hc3luY19jdHJs IHsNCj4gICAgKiBAbm9kZTogbGlzdCBtYW5hZ2VtZW50DQo+ICAgICogQGdlbnBvb2w6IG1lbW9y eSBwb29sIHBvaW50aW5nIHRvIHRoZSBtZW1vcnkgcmVnaW9uDQo+ICAgICogQHRhc2s6IHBvaW50 ZXIgdG8gdGhlIHRocmVhZCB0YXNrIHdoaWNoIGhhbmRsZXMgU01DIG9yIEhWQyBjYWxsDQo+IC0g KiBAc3ZjX2ZpZm86IGEgcXVldWUgZm9yIHN0b3Jpbmcgc2VydmljZSBtZXNzYWdlIGRhdGENCj4g ICAgKiBAY29tcGxldGVfc3RhdHVzOiBzdGF0ZSBmb3IgY29tcGxldGlvbg0KPiAtICogQHN2Y19m aWZvX2xvY2s6IHByb3RlY3QgYWNjZXNzIHRvIHNlcnZpY2UgbWVzc2FnZSBkYXRhIHF1ZXVlDQo+ ICAgICogQGludm9rZV9mbjogZnVuY3Rpb24gdG8gaXNzdWUgc2VjdXJlIG1vbml0b3IgY2FsbCBv ciBoeXBlcnZpc29yIGNhbGwNCj4gICAgKiBAc3ZjOiBtYW5hZ2VzIHRoZSBsaXN0IG9mIGNsaWVu dCBzdmMgZHJpdmVycw0KPiArICogQHNkbV9sb2NrOiBvbmx5IGFsbG93cyBhIHNpbmdsZSBjb21t YW5kIHNpbmdsZSByZXNwb25zZSB0byBTRE0NCj4gICAgKiBAYWN0cmw6IGFzeW5jIGNvbnRyb2wg c3RydWN0dXJlDQo+ICAgICoNCj4gICAgKiBUaGlzIHN0cnVjdCBpcyB1c2VkIHRvIGNyZWF0ZSBj b21tdW5pY2F0aW9uIGNoYW5uZWxzIGZvciBzZXJ2aWNlIGNsaWVudHMsIHRvDQo+IEBAIC0yNjks MTIgKzI2OCwxMCBAQCBzdHJ1Y3Qgc3RyYXRpeDEwX3N2Y19jb250cm9sbGVyIHsNCj4gICAJaW50 IG51bV9hY3RpdmVfY2xpZW50Ow0KPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7DQo+ICAgCXN0 cnVjdCBnZW5fcG9vbCAqZ2VucG9vbDsNCj4gLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7DQo+ IC0Jc3RydWN0IGtmaWZvIHN2Y19maWZvOw0KPiAgIAlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0 ZV9zdGF0dXM7DQo+IC0Jc3BpbmxvY2tfdCBzdmNfZmlmb19sb2NrOw0KPiAgIAlzdmNfaW52b2tl X2ZuICppbnZva2VfZm47DQo+ICAgCXN0cnVjdCBzdHJhdGl4MTBfc3ZjICpzdmM7DQo+ICsJc3Ry dWN0IG11dGV4ICpzZG1fbG9jazsgLyogUHJvdGVjdCBTRE0gdHJhbnNhY3Rpb24gdW50aWwgcmVz cG9uc2UgKi8NCj4gICAJc3RydWN0IHN0cmF0aXgxMF9hc3luY19jdHJsIGFjdHJsOw0KPiAgIH07 DQo+ICAgDQo+IEBAIC0yODMsNiArMjgwLDkgQEAgc3RydWN0IHN0cmF0aXgxMF9zdmNfY29udHJv bGxlciB7DQo+ICAgICogQGN0cmw6IHBvaW50ZXIgdG8gc2VydmljZSBjb250cm9sbGVyIHdoaWNo IGlzIHRoZSBwcm92aWRlciBvZiB0aGlzIGNoYW5uZWwNCj4gICAgKiBAc2NsOiBwb2ludGVyIHRv IHNlcnZpY2UgY2xpZW50IHdoaWNoIG93bnMgdGhlIGNoYW5uZWwNCj4gICAgKiBAbmFtZTogc2Vy dmljZSBjbGllbnQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNoYW5uZWwNCj4gKyAqIEB0YXNr OiBwb2ludGVyIHRvIHRoZSB0aHJlYWQgdGFzayB3aGljaCBoYW5kbGVzIFNNQyBvciBIVkMgY2Fs bA0KPiArICogQHN2Y19maWZvOiBhIHF1ZXVlIGZvciBzdG9yaW5nIHNlcnZpY2UgbWVzc2FnZSBk YXRhDQo+ICsgKiBAc3ZjX2ZpZm9fbG9jazogcHJvdGVjdCBhY2Nlc3MgdG8gc2VydmljZSBtZXNz YWdlIGRhdGEgcXVldWUNCj4gICAgKiBAbG9jazogcHJvdGVjdCBhY2Nlc3MgdG8gdGhlIGNoYW5u ZWwNCj4gICAgKiBAYXN5bmNfY2hhbjogcmVmZXJlbmNlIHRvIGFzeW5jaHJvbm91cyBjaGFubmVs IG9iamVjdCBmb3IgdGhpcyBjaGFubmVsDQo+ICAgICoNCj4gQEAgLTI5Myw2ICsyOTMsMTAgQEAg c3RydWN0IHN0cmF0aXgxMF9zdmNfY2hhbiB7DQo+ICAgCXN0cnVjdCBzdHJhdGl4MTBfc3ZjX2Nv bnRyb2xsZXIgKmN0cmw7DQo+ICAgCXN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NsaWVudCAqc2NsOw0K PiAgIAljaGFyICpuYW1lOw0KPiArCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsNCj4gKwkvKiBT ZXBhcmF0ZSBmaWZvIGZvciBldmVyeSBjaGFubmVsICovDQo+ICsJc3RydWN0IGtmaWZvIHN2Y19m aWZvOw0KPiArCXNwaW5sb2NrX3Qgc3ZjX2ZpZm9fbG9jazsgLyogbG9ja2luZyBwZW5kaW5nIGZp Zm8gKi8NCj4gICAJc3BpbmxvY2tfdCBsb2NrOw0KPiAgIAlzdHJ1Y3Qgc3RyYXRpeDEwX2FzeW5j X2NoYW4gKmFzeW5jX2NoYW47DQo+ICAgfTsNCj4gQEAgLTUyNywxMyArNTMxLDE0IEBAIHN0YXRp YyB2b2lkIHN2Y190aHJlYWRfcmVjdl9zdGF0dXNfb2soc3RydWN0IHN0cmF0aXgxMF9zdmNfZGF0 YSAqcF9kYXRhLA0KPiAgICAqLw0KPiAgIHN0YXRpYyBpbnQgc3ZjX25vcm1hbF90b19zZWN1cmVf dGhyZWFkKHZvaWQgKmRhdGEpDQo+ICAgew0KPiAtCXN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NvbnRy b2xsZXINCj4gLQkJCSpjdHJsID0gKHN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NvbnRyb2xsZXIgKilk YXRhOw0KPiAtCXN0cnVjdCBzdHJhdGl4MTBfc3ZjX2RhdGEgKnBkYXRhOw0KPiAtCXN0cnVjdCBz dHJhdGl4MTBfc3ZjX2NiX2RhdGEgKmNiZGF0YTsNCj4gKwlzdHJ1Y3Qgc3RyYXRpeDEwX3N2Y19j aGFuICpjaGFuID0gIChzdHJ1Y3Qgc3RyYXRpeDEwX3N2Y19jaGFuICopZGF0YTsNCj4gKwlzdHJ1 Y3Qgc3RyYXRpeDEwX3N2Y19jb250cm9sbGVyCSpjdHJsID0gY2hhbi0+Y3RybDsNCj4gKwlzdHJ1 Y3Qgc3RyYXRpeDEwX3N2Y19kYXRhICpwZGF0YSA9IE5VTEw7DQo+ICsJc3RydWN0IHN0cmF0aXgx MF9zdmNfY2JfZGF0YSAqY2JkYXRhID0gTlVMTDsNCj4gICAJc3RydWN0IGFybV9zbWNjY19yZXMg cmVzOw0KPiAgIAl1bnNpZ25lZCBsb25nIGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNzsN Cj4gICAJaW50IHJldF9maWZvID0gMDsNCj4gKwlib29sIHNkbV9sb2NrX293bmVkID0gZmFsc2U7 DQo+ICAgDQo+ICAgCXBkYXRhID0gIGttYWxsb2Moc2l6ZW9mKCpwZGF0YSksIEdGUF9LRVJORUwp Ow0KPiAgIAlpZiAoIXBkYXRhKQ0KPiBAQCAtNTU1LDEyICs1NjAsMTIgQEAgc3RhdGljIGludCBz dmNfbm9ybWFsX3RvX3NlY3VyZV90aHJlYWQodm9pZCAqZGF0YSkNCj4gICAJYTYgPSAwOw0KPiAg IAlhNyA9IDA7DQo+ICAgDQo+IC0JcHJfZGVidWcoInNtY19odmNfc2htX3RocmVhZCBpcyBydW5u aW5nXG4iKTsNCj4gKwlwcl9kZWJ1ZygiJXM6ICVzOiBUaHJlYWQgaXMgcnVubmluZyFcbiIsIF9f ZnVuY19fLCBjaGFuLT5uYW1lKTsNCj4gICANCj4gICAJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9z dG9wKCkpIHsNCj4gLQkJcmV0X2ZpZm8gPSBrZmlmb19vdXRfc3BpbmxvY2tlZCgmY3RybC0+c3Zj X2ZpZm8sDQo+ICsJCXJldF9maWZvID0ga2ZpZm9fb3V0X3NwaW5sb2NrZWQoJmNoYW4tPnN2Y19m aWZvLA0KPiAgIAkJCQkJCXBkYXRhLCBzaXplb2YoKnBkYXRhKSwNCj4gLQkJCQkJCSZjdHJsLT5z dmNfZmlmb19sb2NrKTsNCj4gKwkJCQkJCSZjaGFuLT5zdmNfZmlmb19sb2NrKTsNCj4gICANCj4g ICAJCWlmICghcmV0X2ZpZm8pDQo+ICAgCQkJY29udGludWU7DQo+IEBAIC01NjksNiArNTc0LDE2 IEBAIHN0YXRpYyBpbnQgc3ZjX25vcm1hbF90b19zZWN1cmVfdGhyZWFkKHZvaWQgKmRhdGEpDQo+ ICAgCQkJICh1bnNpZ25lZCBpbnQpcGRhdGEtPnBhZGRyLCBwZGF0YS0+Y29tbWFuZCwNCj4gICAJ CQkgKHVuc2lnbmVkIGludClwZGF0YS0+c2l6ZSk7DQo+ICAgDQo+ICsJCS8qIFNETSBjYW4gb25s eSBwcm9jZXNzcyBvbmUgY29tbWFuZCBhdCBhIHRpbWUgKi8NCj4gKwkJaWYgKCFzZG1fbG9ja19v d25lZCkgew0KPiArCQkJLyogTXVzdCBub3QgZG8gbXV0ZXggcmUtbG9jayAqLw0KPiArCQkJcHJf ZGVidWcoIiVzOiAlczogVGhyZWFkIGlzIHdhaXRpbmcgZm9yIG11dGV4IVxuIiwNCj4gKwkJCQkg X19mdW5jX18sIGNoYW4tPm5hbWUpOw0KPiArCQkJZ3VhcmQobXV0ZXgpKGN0cmwtPnNkbV9sb2Nr KTsNCj4gKwkJfQ0KPiArDQo+ICsJCXNkbV9sb2NrX293bmVkID0gdHJ1ZTsNCj4gKw0KPiAgIAkJ c3dpdGNoIChwZGF0YS0+Y29tbWFuZCkgew0KPiAgIAkJY2FzZSBDT01NQU5EX1JFQ09ORklHX0RB VEFfQ0xBSU06DQo+ICAgCQkJc3ZjX3RocmVhZF9jbWRfZGF0YV9jbGFpbShjdHJsLCBwZGF0YSwg Y2JkYXRhKTsNCj4gQEAgLTcwMiw4ICs3MTcsOCBAQCBzdGF0aWMgaW50IHN2Y19ub3JtYWxfdG9f c2VjdXJlX3RocmVhZCh2b2lkICpkYXRhKQ0KPiAgIAkJCXByX3dhcm4oIml0IHNob3VsZG4ndCBo YXBwZW5cbiIpOw0KPiAgIAkJCWJyZWFrOw0KPiAgIAkJfQ0KPiAtCQlwcl9kZWJ1ZygiJXM6IGJl Zm9yZSBTTUMgY2FsbCAtLSBhMD0weCUwMTZ4IGExPTB4JTAxNngiLA0KPiAtCQkJIF9fZnVuY19f LA0KPiArCQlwcl9kZWJ1ZygiJXM6ICVzOiBiZWZvcmUgU01DIGNhbGwgLS0gYTA9MHglMDE2eCBh MT0weCUwMTZ4IiwNCj4gKwkJCSBfX2Z1bmNfXywgY2hhbi0+bmFtZSwNCj4gICAJCQkgKHVuc2ln bmVkIGludClhMCwNCj4gICAJCQkgKHVuc2lnbmVkIGludClhMSk7DQo+ICAgCQlwcl9kZWJ1Zygi IGEyPTB4JTAxNnhcbiIsICh1bnNpZ25lZCBpbnQpYTIpOw0KPiBAQCAtNzEyLDggKzcyNyw4IEBA IHN0YXRpYyBpbnQgc3ZjX25vcm1hbF90b19zZWN1cmVfdGhyZWFkKHZvaWQgKmRhdGEpDQo+ICAg CQlwcl9kZWJ1ZygiIGE1PTB4JTAxNnhcbiIsICh1bnNpZ25lZCBpbnQpYTUpOw0KPiAgIAkJY3Ry bC0+aW52b2tlX2ZuKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgJnJlcyk7DQo+ICAg DQo+IC0JCXByX2RlYnVnKCIlczogYWZ0ZXIgU01DIGNhbGwgLS0gcmVzLmEwPTB4JTAxNngiLA0K PiAtCQkJIF9fZnVuY19fLCAodW5zaWduZWQgaW50KXJlcy5hMCk7DQo+ICsJCXByX2RlYnVnKCIl czogJXM6IGFmdGVyIFNNQyBjYWxsIC0tIHJlcy5hMD0weCUwMTZ4IiwNCj4gKwkJCSBfX2Z1bmNf XywgY2hhbi0+bmFtZSwgKHVuc2lnbmVkIGludClyZXMuYTApOw0KPiAgIAkJcHJfZGVidWcoIiBy ZXMuYTE9MHglMDE2eCwgcmVzLmEyPTB4JTAxNngiLA0KPiAgIAkJCSAodW5zaWduZWQgaW50KXJl cy5hMSwgKHVuc2lnbmVkIGludClyZXMuYTIpOw0KPiAgIAkJcHJfZGVidWcoIiByZXMuYTM9MHgl MDE2eFxuIiwgKHVuc2lnbmVkIGludClyZXMuYTMpOw0KPiBAQCAtNzI4LDYgKzc0Myw3IEBAIHN0 YXRpYyBpbnQgc3ZjX25vcm1hbF90b19zZWN1cmVfdGhyZWFkKHZvaWQgKmRhdGEpDQo+ICAgCQkJ Y2JkYXRhLT5rYWRkcjIgPSBOVUxMOw0KPiAgIAkJCWNiZGF0YS0+a2FkZHIzID0gTlVMTDsNCj4g ICAJCQlwZGF0YS0+Y2hhbi0+c2NsLT5yZWNlaXZlX2NiKHBkYXRhLT5jaGFuLT5zY2wsIGNiZGF0 YSk7DQo+ICsJCQlzZG1fbG9ja19vd25lZCA9IGZhbHNlOw0KPiAgIAkJCWNvbnRpbnVlOw0KPiAg IAkJfQ0KPiAgIA0KPiBAQCAtMTY5NywyMSArMTcxMywyMSBAQCBpbnQgc3RyYXRpeDEwX3N2Y19z ZW5kKHN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NoYW4gKmNoYW4sIHZvaWQgKm1zZykNCj4gICAJCXJl dHVybiAtRU5PTUVNOw0KPiAgIA0KPiAgIAkvKiBmaXJzdCBjbGllbnQgd2lsbCBjcmVhdGUga2Vy bmVsIHRocmVhZCAqLw0KPiAtCWlmICghY2hhbi0+Y3RybC0+dGFzaykgew0KPiAtCQljaGFuLT5j dHJsLT50YXNrID0NCj4gKwlpZiAoIWNoYW4tPnRhc2spIHsNCj4gKwkJY2hhbi0+dGFzayA9DQo+ ICAgCQkJa3RocmVhZF9ydW5fb25fY3B1KHN2Y19ub3JtYWxfdG9fc2VjdXJlX3RocmVhZCwNCj4g LQkJCQkJICAgKHZvaWQgKiljaGFuLT5jdHJsLA0KPiArCQkJCQkgICAodm9pZCAqKWNoYW4sDQo+ ICAgCQkJCQkgICBjcHUsICJzdmNfc21jX2h2Y190aHJlYWQiKTsNCj4gLQkJCWlmIChJU19FUlIo Y2hhbi0+Y3RybC0+dGFzaykpIHsNCj4gLQkJCQlkZXZfZXJyKGNoYW4tPmN0cmwtPmRldiwNCj4g LQkJCQkJImZhaWxlZCB0byBjcmVhdGUgc3ZjX3NtY19odmNfdGhyZWFkXG4iKTsNCj4gLQkJCQlr ZnJlZShwX2RhdGEpOw0KPiAtCQkJCXJldHVybiAtRUlOVkFMOw0KPiAtCQkJfQ0KPiArCQlpZiAo SVNfRVJSKGNoYW4tPnRhc2spKSB7DQo+ICsJCQlkZXZfZXJyKGNoYW4tPmN0cmwtPmRldiwNCj4g KwkJCQkiZmFpbGVkIHRvIGNyZWF0ZSBzdmNfc21jX2h2Y190aHJlYWRcbiIpOw0KPiArCQkJa2Zy ZWUocF9kYXRhKTsNCj4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiArCQl9DQo+ICAgCX0NCj4gICAN Cj4gLQlwcl9kZWJ1ZygiJXM6IHNlbnQgUC12YT0lcCwgUC1jb209JXgsIFAtc2l6ZT0ldVxuIiwg X19mdW5jX18sDQo+IC0JCSBwX21zZy0+cGF5bG9hZCwgcF9tc2ctPmNvbW1hbmQsDQo+ICsJcHJf ZGVidWcoIiVzOiAlczogc2VudCBQLXZhPSVwLCBQLWNvbT0leCwgUC1zaXplPSV1XG4iLCBfX2Z1 bmNfXywNCj4gKwkJIGNoYW4tPm5hbWUsIHBfbXNnLT5wYXlsb2FkLCBwX21zZy0+Y29tbWFuZCwN Cj4gICAJCSAodW5zaWduZWQgaW50KXBfbXNnLT5wYXlsb2FkX2xlbmd0aCk7DQo+ICAgDQo+ICAg CWlmIChsaXN0X2VtcHR5KCZzdmNfZGF0YV9tZW0pKSB7DQo+IEBAIC0xNzQ3LDEyICsxNzYzLDE2 IEBAIGludCBzdHJhdGl4MTBfc3ZjX3NlbmQoc3RydWN0IHN0cmF0aXgxMF9zdmNfY2hhbiAqY2hh biwgdm9pZCAqbXNnKQ0KPiAgIAlwX2RhdGEtPmFyZ1syXSA9IHBfbXNnLT5hcmdbMl07DQo+ICAg CXBfZGF0YS0+c2l6ZSA9IHBfbXNnLT5wYXlsb2FkX2xlbmd0aDsNCj4gICAJcF9kYXRhLT5jaGFu ID0gY2hhbjsNCj4gLQlwcl9kZWJ1ZygiJXM6IHB1dCB0byBGSUZPIHBhPTB4JTAxNngsIGNtZD0l eCwgc2l6ZT0ldVxuIiwgX19mdW5jX18sDQo+IC0JICAgICAgICh1bnNpZ25lZCBpbnQpcF9kYXRh LT5wYWRkciwgcF9kYXRhLT5jb21tYW5kLA0KPiAtCSAgICAgICAodW5zaWduZWQgaW50KXBfZGF0 YS0+c2l6ZSk7DQo+IC0JcmV0ID0ga2ZpZm9faW5fc3BpbmxvY2tlZCgmY2hhbi0+Y3RybC0+c3Zj X2ZpZm8sIHBfZGF0YSwNCj4gKwlwcl9kZWJ1ZygiJXM6ICVzOiBwdXQgdG8gRklGTyBwYT0weCUw MTZ4LCBjbWQ9JXgsIHNpemU9JXVcbiIsDQo+ICsJCSBfX2Z1bmNfXywNCj4gKwkJIGNoYW4tPm5h bWUsDQo+ICsJCSAodW5zaWduZWQgaW50KXBfZGF0YS0+cGFkZHIsDQo+ICsJCSBwX2RhdGEtPmNv bW1hbmQsDQo+ICsJCSAodW5zaWduZWQgaW50KXBfZGF0YS0+c2l6ZSk7DQo+ICsNCj4gKwlyZXQg PSBrZmlmb19pbl9zcGlubG9ja2VkKCZjaGFuLT5zdmNfZmlmbywgcF9kYXRhLA0KPiAgIAkJCQkg IHNpemVvZigqcF9kYXRhKSwNCj4gLQkJCQkgICZjaGFuLT5jdHJsLT5zdmNfZmlmb19sb2NrKTsN Cj4gKwkJCQkgICZjaGFuLT5zdmNfZmlmb19sb2NrKTsNCj4gICANCj4gICAJa2ZyZWUocF9kYXRh KTsNCj4gICANCj4gQEAgLTE3NzMsMTIgKzE3OTMsMjEgQEAgRVhQT1JUX1NZTUJPTF9HUEwoc3Ry YXRpeDEwX3N2Y19zZW5kKTsNCj4gICAgKi8NCj4gICB2b2lkIHN0cmF0aXgxMF9zdmNfZG9uZShz dHJ1Y3Qgc3RyYXRpeDEwX3N2Y19jaGFuICpjaGFuKQ0KPiAgIHsNCj4gLQkvKiBzdG9wIHRocmVh ZCB3aGVuIHRocmVhZCBpcyBydW5uaW5nIEFORCBvbmx5IG9uZSBhY3RpdmUgY2xpZW50ICovDQo+ IC0JaWYgKGNoYW4tPmN0cmwtPnRhc2sgJiYgY2hhbi0+Y3RybC0+bnVtX2FjdGl2ZV9jbGllbnQg PD0gMSkgew0KPiAtCQlwcl9kZWJ1Zygic3ZjX3NtY19odmNfc2htX3RocmVhZCBpcyBzdG9wcGVk XG4iKTsNCj4gLQkJa3RocmVhZF9zdG9wKGNoYW4tPmN0cmwtPnRhc2spOw0KPiAtCQljaGFuLT5j dHJsLT50YXNrID0gTlVMTDsNCj4gKwkvKiBzdG9wIHRocmVhZCB3aGVuIHRocmVhZCBpcyBydW5u aW5nICovDQo+ICsJaWYgKGNoYW4tPnRhc2spIHsNCj4gKwkJaWYgKCFJU19FUlIoY2hhbi0+dGFz aykpIHsNCj4gKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFza190b19zdG9wID0gY2hhbi0+dGFz azsNCj4gKw0KPiArCQkJY2hhbi0+dGFzayA9IE5VTEw7DQo+ICsJCQlwcl9kZWJ1ZygiJXM6ICVz OiBzdmNfc21jX2h2Y19zaG1fdGhyZWFkIGlzIHN0b3BwaW5nXG4iLA0KPiArCQkJCSBfX2Z1bmNf XywgY2hhbi0+bmFtZSk7DQo+ICsJCQlrdGhyZWFkX3N0b3AodGFza190b19zdG9wKTsNCj4gKwkJ fQ0KPiArDQo+ICsJCWNoYW4tPnRhc2sgPSBOVUxMOw0KPiAgIAl9DQo+ICsJcHJfZGVidWcoIiVz OiAlczogc3ZjX3NtY19odmNfc2htX3RocmVhZCBoYXMgc3RvcHBlZFxuIiwNCj4gKwkJIF9fZnVu Y19fLCBjaGFuLT5uYW1lKTsNCj4gICB9DQo+ICAgRVhQT1JUX1NZTUJPTF9HUEwoc3RyYXRpeDEw X3N2Y19kb25lKTsNCj4gICANCj4gQEAgLTE4MTcsOCArMTg0Niw4IEBAIHZvaWQgKnN0cmF0aXgx MF9zdmNfYWxsb2NhdGVfbWVtb3J5KHN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NoYW4gKmNoYW4sDQo+ ICAgCXBtZW0tPnBhZGRyID0gcGE7DQo+ICAgCXBtZW0tPnNpemUgPSBzOw0KPiAgIAlsaXN0X2Fk ZF90YWlsKCZwbWVtLT5ub2RlLCAmc3ZjX2RhdGFfbWVtKTsNCj4gLQlwcl9kZWJ1ZygiJXM6IHZh PSVwLCBwYT0weCUwMTZ4XG4iLCBfX2Z1bmNfXywNCj4gLQkJIHBtZW0tPnZhZGRyLCAodW5zaWdu ZWQgaW50KXBtZW0tPnBhZGRyKTsNCj4gKwlwcl9kZWJ1ZygiJXM6ICVzOiB2YT0lcCwgcGE9MHgl MDE2eFxuIiwgX19mdW5jX18sDQo+ICsJCSBjaGFuLT5uYW1lLCBwbWVtLT52YWRkciwgKHVuc2ln bmVkIGludClwbWVtLT5wYWRkcik7DQo+ICAgDQo+ICAgCXJldHVybiAodm9pZCAqKXZhOw0KPiAg IH0NCj4gQEAgLTE4NTUsNiArMTg4NCwxMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBzdHJhdGl4MTBfc3ZjX2Rydl9tYXRjaFtdID0gew0KPiAgIAl7fSwNCj4gICB9Ow0KPiAg IA0KPiArLyoqDQo+ICsgKiBtYWlsYm94X2xvY2sgcHJvdGVjdHMgYWNjZXNzIHRvIHRoZSB0byBT RE0gaWYgdGhyZWFkIGlzIGJ1c3kNCj4gKyAqLw0KPiArc3RhdGljIERFRklORV9NVVRFWChtYWls Ym94X2xvY2spOw0KPiArDQo+ICAgc3RhdGljIGludCBzdHJhdGl4MTBfc3ZjX2Rydl9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiAgIHsNCj4gICAJc3RydWN0IGRldmljZSAq ZGV2ID0gJnBkZXYtPmRldjsNCj4gQEAgLTE5MDUsNyArMTkzOSw2IEBAIHN0YXRpYyBpbnQgc3Ry YXRpeDEwX3N2Y19kcnZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gICAJ Y29udHJvbGxlci0+bnVtX2FjdGl2ZV9jbGllbnQgPSAwOw0KPiAgIAljb250cm9sbGVyLT5jaGFu cyA9IGNoYW5zOw0KPiAgIAljb250cm9sbGVyLT5nZW5wb29sID0gZ2VucG9vbDsNCj4gLQljb250 cm9sbGVyLT50YXNrID0gTlVMTDsNCj4gICAJY29udHJvbGxlci0+aW52b2tlX2ZuID0gaW52b2tl X2ZuOw0KPiAgIAlpbml0X2NvbXBsZXRpb24oJmNvbnRyb2xsZXItPmNvbXBsZXRlX3N0YXR1cyk7 DQo+ICAgDQo+IEBAIC0xOTE3LDMyICsxOTUwLDYzIEBAIHN0YXRpYyBpbnQgc3RyYXRpeDEwX3N2 Y19kcnZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gICAJfQ0KPiAgIA0K PiAgIAlmaWZvX3NpemUgPSBzaXplb2Yoc3RydWN0IHN0cmF0aXgxMF9zdmNfZGF0YSkgKiBTVkNf TlVNX0RBVEFfSU5fRklGTzsNCj4gLQlyZXQgPSBrZmlmb19hbGxvYygmY29udHJvbGxlci0+c3Zj X2ZpZm8sIGZpZm9fc2l6ZSwgR0ZQX0tFUk5FTCk7DQo+ICsJcmV0ID0ga2ZpZm9fYWxsb2MoJmNo YW5zLT5zdmNfZmlmbywgZmlmb19zaXplLCBHRlBfS0VSTkVMKTsNCj4gICAJaWYgKHJldCkgew0K PiAgIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgRklGT1xuIik7DQo+ICAgCQln b3RvIGVycl9hc3luY19leGl0Ow0KPiAgIAl9DQo+IC0Jc3Bpbl9sb2NrX2luaXQoJmNvbnRyb2xs ZXItPnN2Y19maWZvX2xvY2spOw0KPiArCXNwaW5fbG9ja19pbml0KCZjaGFucy0+c3ZjX2ZpZm9f bG9jayk7DQo+ICsJLyoNCj4gKwkgKiBUaGlzIG11dGV4IGlzIHVzZWQgdG8gYmxvY2sgdGhyZWFk cyBmcm9tIHV0aWxpemluZw0KPiArCSAqIFNETSB0byBwcmV2ZW50IG91dCBvZiBvcmRlciBjb21t YW5kIHR4DQo+ICsJICovDQo+ICsJY29udHJvbGxlci0+c2RtX2xvY2sgPSAmbWFpbGJveF9sb2Nr Ow0KPiArDQo+ICsJZmlmb19zaXplID0gc2l6ZW9mKHN0cnVjdCBzdHJhdGl4MTBfc3ZjX2RhdGEp ICogU1ZDX05VTV9EQVRBX0lOX0ZJRk87DQo+ICAgDQo+ICAgCWNoYW5zWzBdLnNjbCA9IE5VTEw7 DQo+ICAgCWNoYW5zWzBdLmN0cmwgPSBjb250cm9sbGVyOw0KPiAgIAljaGFuc1swXS5uYW1lID0g U1ZDX0NMSUVOVF9GUEdBOw0KPiAgIAlzcGluX2xvY2tfaW5pdCgmY2hhbnNbMF0ubG9jayk7DQo+ ICsJcmV0ID0ga2ZpZm9fYWxsb2MoJmNoYW5zWzBdLnN2Y19maWZvLCBmaWZvX3NpemUsIEdGUF9L RVJORUwpOw0KPiArCWlmIChyZXQpIHsNCj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxs b2NhdGUgRklGTyAwXG4iKTsNCj4gKwkJcmV0dXJuIHJldDsNCj4gKwl9DQo+ICsJc3Bpbl9sb2Nr X2luaXQoJmNoYW5zWzBdLnN2Y19maWZvX2xvY2spOw0KPiAgIA0KPiAgIAljaGFuc1sxXS5zY2wg PSBOVUxMOw0KPiAgIAljaGFuc1sxXS5jdHJsID0gY29udHJvbGxlcjsNCj4gICAJY2hhbnNbMV0u bmFtZSA9IFNWQ19DTElFTlRfUlNVOw0KPiAgIAlzcGluX2xvY2tfaW5pdCgmY2hhbnNbMV0ubG9j ayk7DQo+ICsJcmV0ID0ga2ZpZm9fYWxsb2MoJmNoYW5zWzFdLnN2Y19maWZvLCBmaWZvX3NpemUs IEdGUF9LRVJORUwpOw0KPiArCWlmIChyZXQpIHsNCj4gKwkJZGV2X2VycihkZXYsICJmYWlsZWQg dG8gYWxsb2NhdGUgRklGTyAxXG4iKTsNCj4gKwkJcmV0dXJuIHJldDsNCj4gKwl9DQo+ICsJc3Bp bl9sb2NrX2luaXQoJmNoYW5zWzFdLnN2Y19maWZvX2xvY2spOw0KPiAgIA0KPiAgIAljaGFuc1sy XS5zY2wgPSBOVUxMOw0KPiAgIAljaGFuc1syXS5jdHJsID0gY29udHJvbGxlcjsNCj4gICAJY2hh bnNbMl0ubmFtZSA9IFNWQ19DTElFTlRfRkNTOw0KPiAgIAlzcGluX2xvY2tfaW5pdCgmY2hhbnNb Ml0ubG9jayk7DQo+ICsJcmV0ID0ga2ZpZm9fYWxsb2MoJmNoYW5zWzJdLnN2Y19maWZvLCBmaWZv X3NpemUsIEdGUF9LRVJORUwpOw0KPiArCWlmIChyZXQpIHsNCj4gKwkJZGV2X2VycihkZXYsICJm YWlsZWQgdG8gYWxsb2NhdGUgRklGTyAyXG4iKTsNCj4gKwkJcmV0dXJuIHJldDsNCj4gKwl9DQo+ ICsJc3Bpbl9sb2NrX2luaXQoJmNoYW5zWzJdLnN2Y19maWZvX2xvY2spOw0KPiAgIA0KPiAgIAlj aGFuc1szXS5zY2wgPSBOVUxMOw0KPiAgIAljaGFuc1szXS5jdHJsID0gY29udHJvbGxlcjsNCj4g ICAJY2hhbnNbM10ubmFtZSA9IFNWQ19DTElFTlRfSFdNT047DQo+ICAgCXNwaW5fbG9ja19pbml0 KCZjaGFuc1szXS5sb2NrKTsNCj4gKwlyZXQgPSBrZmlmb19hbGxvYygmY2hhbnNbM10uc3ZjX2Zp Zm8sIGZpZm9fc2l6ZSwgR0ZQX0tFUk5FTCk7DQo+ICsJaWYgKHJldCkgew0KPiArCQlkZXZfZXJy KGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSBGSUZPIDNcbiIpOw0KPiArCQlyZXR1cm4gcmV0Ow0K PiArCX0NCj4gKwlzcGluX2xvY2tfaW5pdCgmY2hhbnNbM10uc3ZjX2ZpZm9fbG9jayk7DQo+ICAg DQo+ICAgCWxpc3RfYWRkX3RhaWwoJmNvbnRyb2xsZXItPm5vZGUsICZzdmNfY3RybCk7DQo+ICAg CXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGNvbnRyb2xsZXIpOw0KPiBAQCAtMTk1MCw2MCAr MjAxNCw0MSBAQCBzdGF0aWMgaW50IHN0cmF0aXgxMF9zdmNfZHJ2X3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICAgCS8qIGFkZCBzdmMgY2xpZW50IGRldmljZShzKSAqLw0K PiAgIAlzdmMgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnN2YyksIEdGUF9LRVJORUwpOw0K PiAgIAlpZiAoIXN2Yykgew0KPiAtCQlyZXQgPSAtRU5PTUVNOw0KPiAtCQlnb3RvIGVycl9mcmVl X2tmaWZvOw0KPiArCQlyZXR1cm4gLUVOT01FTTsNCj4gICAJfQ0KPiAgIAljb250cm9sbGVyLT5z dmMgPSBzdmM7DQo+ICAgDQo+ICAgCXN2Yy0+c3RyYXRpeDEwX3N2Y19yc3UgPSBwbGF0Zm9ybV9k ZXZpY2VfYWxsb2MoU1RSQVRJWDEwX1JTVSwgMCk7DQo+ICAgCWlmICghc3ZjLT5zdHJhdGl4MTBf c3ZjX3JzdSkgew0KPiAgIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgJXMgZGV2 aWNlXG4iLCBTVFJBVElYMTBfUlNVKTsNCj4gLQkJcmV0ID0gLUVOT01FTTsNCj4gLQkJZ290byBl cnJfZnJlZV9rZmlmbzsNCj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ICAgCX0NCj4gICANCj4gICAJ cmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChzdmMtPnN0cmF0aXgxMF9zdmNfcnN1KTsNCj4gLQlp ZiAocmV0KSB7DQo+IC0JCXBsYXRmb3JtX2RldmljZV9wdXQoc3ZjLT5zdHJhdGl4MTBfc3ZjX3Jz dSk7DQo+IC0JCWdvdG8gZXJyX2ZyZWVfa2ZpZm87DQo+IC0JfQ0KPiAtDQo+IC0Jc3ZjLT5pbnRl bF9zdmNfZmNzID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKElOVEVMX0ZDUywgMSk7DQo+IC0JaWYg KCFzdmMtPmludGVsX3N2Y19mY3MpIHsNCj4gLQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxs b2NhdGUgJXMgZGV2aWNlXG4iLCBJTlRFTF9GQ1MpOw0KPiAtCQlyZXQgPSAtRU5PTUVNOw0KPiAt CQlnb3RvIGVycl91bnJlZ2lzdGVyX3JzdV9kZXY7DQo+IC0JfQ0KPiAtDQo+IC0JcmV0ID0gcGxh dGZvcm1fZGV2aWNlX2FkZChzdmMtPmludGVsX3N2Y19mY3MpOw0KPiAtCWlmIChyZXQpIHsNCj4g LQkJcGxhdGZvcm1fZGV2aWNlX3B1dChzdmMtPmludGVsX3N2Y19mY3MpOw0KPiAtCQlnb3RvIGVy cl91bnJlZ2lzdGVyX3JzdV9kZXY7DQo+IC0JfQ0KPiArCWlmIChyZXQpDQo+ICsJCWdvdG8gZXJy X3B1dF9kZXZpY2U7DQo+ICAgDQo+ICAgCXJldCA9IG9mX3BsYXRmb3JtX2RlZmF1bHRfcG9wdWxh dGUoZGV2X29mX25vZGUoZGV2KSwgTlVMTCwgZGV2KTsNCj4gICAJaWYgKHJldCkNCj4gLQkJZ290 byBlcnJfdW5yZWdpc3Rlcl9mY3NfZGV2Ow0KPiArCQlnb3RvIGVycl9wdXRfZGV2aWNlOw0KPiAg IA0KPiAgIAlwcl9pbmZvKCJJbnRlbCBTZXJ2aWNlIExheWVyIERyaXZlciBJbml0aWFsaXplZFxu Iik7DQo+ICAgDQo+ICAgCXJldHVybiAwOw0KPiAgIA0KPiAtZXJyX3VucmVnaXN0ZXJfZmNzX2Rl djoNCj4gLQlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihzdmMtPmludGVsX3N2Y19mY3MpOw0K PiAtZXJyX3VucmVnaXN0ZXJfcnN1X2RldjoNCj4gLQlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3Rl cihzdmMtPnN0cmF0aXgxMF9zdmNfcnN1KTsNCj4gLWVycl9mcmVlX2tmaWZvOg0KPiAtCWtmaWZv X2ZyZWUoJmNvbnRyb2xsZXItPnN2Y19maWZvKTsNCj4gICBlcnJfYXN5bmNfZXhpdDoNCj4gICAJ c3RyYXRpeDEwX3N2Y19hc3luY19leGl0KGNvbnRyb2xsZXIpOw0KPiArZXJyX3B1dF9kZXZpY2U6 DQo+ICsJcGxhdGZvcm1fZGV2aWNlX3B1dChzdmMtPnN0cmF0aXgxMF9zdmNfcnN1KTsNCj4gICBl cnJfZGVzdHJveV9wb29sOg0KPiAgIAlnZW5fcG9vbF9kZXN0cm95KGdlbnBvb2wpOw0KPiArDQo+ ICAgCXJldHVybiByZXQ7DQo+ICAgfQ0KPiAgIA0KPiAgIHN0YXRpYyB2b2lkIHN0cmF0aXgxMF9z dmNfZHJ2X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiAgIHsNCj4gKwlp bnQgaTsNCj4gICAJc3RydWN0IHN0cmF0aXgxMF9zdmNfY29udHJvbGxlciAqY3RybCA9IHBsYXRm b3JtX2dldF9kcnZkYXRhKHBkZXYpOw0KPiAgIAlzdHJ1Y3Qgc3RyYXRpeDEwX3N2YyAqc3ZjID0g Y3RybC0+c3ZjOw0KPiAgIA0KPiBAQCAtMjAxNCwxMSArMjA1OSwxNCBAQCBzdGF0aWMgdm9pZCBz dHJhdGl4MTBfc3ZjX2Rydl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4g ICAJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoc3ZjLT5pbnRlbF9zdmNfZmNzKTsNCj4gICAJ cGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoc3ZjLT5zdHJhdGl4MTBfc3ZjX3JzdSk7DQo+ICAg DQo+IC0Ja2ZpZm9fZnJlZSgmY3RybC0+c3ZjX2ZpZm8pOw0KPiAtCWlmIChjdHJsLT50YXNrKSB7 DQo+IC0JCWt0aHJlYWRfc3RvcChjdHJsLT50YXNrKTsNCj4gLQkJY3RybC0+dGFzayA9IE5VTEw7 DQo+ICsJZm9yIChpID0gMDsgaSA8IFNWQ19OVU1fQ0hBTk5FTDsgaSsrKSB7DQo+ICsJCWlmIChj dHJsLT5jaGFuc1tpXS50YXNrKSB7DQo+ICsJCQlrdGhyZWFkX3N0b3AoY3RybC0+Y2hhbnNbaV0u dGFzayk7DQo+ICsJCQljdHJsLT5jaGFuc1tpXS50YXNrID0gTlVMTDsNCj4gKwkJfQ0KPiArCQlr Zmlmb19mcmVlKCZjdHJsLT5jaGFuc1tpXS5zdmNfZmlmbyk7DQo+ICAgCX0NCj4gKw0KPiAgIAlp ZiAoY3RybC0+Z2VucG9vbCkNCj4gICAJCWdlbl9wb29sX2Rlc3Ryb3koY3RybC0+Z2VucG9vbCk7 DQo+ICAgCWxpc3RfZGVsKCZjdHJsLT5ub2RlKTsNCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvZmlybXdhcmUvaW50ZWwvc3RyYXRpeDEwLXN2Yy1jbGllbnQuaCBiL2luY2x1ZGUvbGludXgv ZmlybXdhcmUvaW50ZWwvc3RyYXRpeDEwLXN2Yy1jbGllbnQuaA0KPiBpbmRleCBkMjkwMDYwZjRj NzMuLjkxMDEzMTYxZTlkYiAxMDA2NDQNCj4gLS0tIGEvaW5jbHVkZS9saW51eC9maXJtd2FyZS9p bnRlbC9zdHJhdGl4MTAtc3ZjLWNsaWVudC5oDQo+ICsrKyBiL2luY2x1ZGUvbGludXgvZmlybXdh cmUvaW50ZWwvc3RyYXRpeDEwLXN2Yy1jbGllbnQuaA0KPiBAQCAtNjgsMTIgKzY4LDEyIEBADQo+ ICAgICogdGltZW91dCB2YWx1ZSB1c2VkIGluIFN0cmF0aXgxMCBGUEdBIG1hbmFnZXIgZHJpdmVy Lg0KPiAgICAqIHRpbWVvdXQgdmFsdWUgdXNlZCBpbiBSU1UgZHJpdmVyDQo+ICAgICovDQo+IC0j ZGVmaW5lIFNWQ19SRUNPTkZJR19SRVFVRVNUX1RJTUVPVVRfTVMgICAgICAgICAzMDANCj4gLSNk ZWZpbmUgU1ZDX1JFQ09ORklHX0JVRkZFUl9USU1FT1VUX01TICAgICAgICAgIDcyMA0KPiAtI2Rl ZmluZSBTVkNfUlNVX1JFUVVFU1RfVElNRU9VVF9NUyAgICAgICAgICAgICAgMzAwDQo+ICsjZGVm aW5lIFNWQ19SRUNPTkZJR19SRVFVRVNUX1RJTUVPVVRfTVMgICAgICAgICA1MDAwDQo+ICsjZGVm aW5lIFNWQ19SRUNPTkZJR19CVUZGRVJfVElNRU9VVF9NUyAgICAgICAgICA1MDAwDQo+ICsjZGVm aW5lIFNWQ19SU1VfUkVRVUVTVF9USU1FT1VUX01TICAgICAgICAgICAgICAyMDAwDQo+ICAgI2Rl ZmluZSBTVkNfRkNTX1JFUVVFU1RfVElNRU9VVF9NUwkJMjAwMA0KPiAgICNkZWZpbmUgU1ZDX0NP TVBMRVRFRF9USU1FT1VUX01TCQkzMDAwMA0KPiAtI2RlZmluZSBTVkNfSFdNT05fUkVRVUVTVF9U SU1FT1VUX01TCQkzMDANCj4gKyNkZWZpbmUgU1ZDX0hXTU9OX1JFUVVFU1RfVElNRU9VVF9NUwkJ MjAwMA0KPiAgIA0KPiAgIHN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NoYW47DQo+ICAgDQpLZXJuZWwg dGVzdCByb2JvdCBmb3VuZCB0aGF0IHRoZSBjaGFuZ2VzIGludHJvZHVjZWQgd2FybmluZyAnc3Zj IG1heSBiZSANCnVuaW5pdGlhbGl6ZWQgaW4gZXJyb3IgcGF0aCB3aGVuIGtmaWZvX2FsbG9jIGZh aWxzJy4gV2lsbCBzZW5kIG91dCBWMiANCnBhdGNoIHdpdGggdGhlIGZpeC4NCg0KUmVnYXJkcywN CkFtaXJ1bA0K