From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A44FC49602 for ; Mon, 15 Apr 2024 01:47:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C0E3468D3D5; Mon, 15 Apr 2024 04:47:50 +0300 (EEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B892268D390 for ; Mon, 15 Apr 2024 04:47:42 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713145668; x=1744681668; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=4mQeRqrCwdWsRe1o4/8bqc8bYNnGKpBQwcKukN2Ums4=; b=ideoXziRot72z3wtZDuXna3NRl58D5NUiRqSxl6CZtH3qQtoBiLgHm54 qsG4Ag/2MOCXRVatnVMfTyoc3uen/3BtfE25sJ+nzHnhRf0KrFDCbkQXx 21FhHIFPZU4NQGROD9y4By6xeQaWN8GU+a5aWnVGNgP5RIeGOAahGIyP+ IV4yPhiZ+ZHxMAsh0HNVi0wgnrXqZ+UIseQszr2hh6SUKfItdrsTfeDmz NoTgx3DKKClu9VvamAwjxZyybr9m7czbx7/yTcy+eye/cujdM2uDQAywR WLynHuoV5xoS0gJwg0lMSUkpjaiikGiD6n0bWA+fN04iJvrV1XUiEsNpW w==; X-CSE-ConnectionGUID: LWGlDLB+TiWx/cqeI0tetA== X-CSE-MsgGUID: Q6xWCoCjRCyAVXg6qlGM9w== X-IronPort-AV: E=McAfee;i="6600,9927,11044"; a="8372613" X-IronPort-AV: E=Sophos;i="6.07,202,1708416000"; d="scan'208";a="8372613" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2024 18:47:41 -0700 X-CSE-ConnectionGUID: jXQP19EIRIW+0NS5ukG6lw== X-CSE-MsgGUID: mnOluYpWR/q7g/yRtcuQYg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,202,1708416000"; d="scan'208";a="59208167" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Apr 2024 18:47:41 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 14 Apr 2024 18:47:40 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 14 Apr 2024 18:47:39 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Sun, 14 Apr 2024 18:47:39 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Sun, 14 Apr 2024 18:47:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fVr5NabOu3FxwLEUzIixO78/roJ5v0nndLXrSPnDOqvTEOkIH3UUnVcOkGhhi5N/6r4D7lS8mlqvZLlFRxqWH4sonOBrlmHLp0bieui5PZUcl+E3Y7XBaRPR79dpwwvmI2PvPQj3M3x/mrxZjdARP5A3OmN1ypCHUC9yptoppId6V2DdDiaQTHhxuUquQRHeBh+LYnrud3N6INp0a9o5YYvJBeSC6qybH5WNtORrrjExlIS2bsAL10GqwykRx7JIfWxE8kEDnssovo5ShAlGOKCzDceH1yYnlQG0wz6wjFK/Hu1mPuTzdYgIz+Wd4sH9+oUtHAN7yqCROfq8IxRlOA== 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=4mQeRqrCwdWsRe1o4/8bqc8bYNnGKpBQwcKukN2Ums4=; b=FEW9qciF1VHLaqoYnU+8lYUq5n9lz6GbS1rqsunB5aRMh8iFHcedy+Bgj2VzdwM1oGPZy17/rhRo7IBHn2CiyoeBLtp65o6GjcIpHVT19I+xmJURNh64RzfnfE5l4NiV2relVZFOHFIr7hG0KaccRDDo7HiqRfTUuRLe0DgtyxNkg34pP2cXg997MzEi2n8ohjozi/IHn7xMkcl3N7bxn2r+/qEKWI01sySYmMya3nlElg8jPGIrz1zylSOXuQBwJAg5gyt7MBb7QFvQJnWjV5srskSOCuB8wwiNgJ6M7aLZFiKm2KnWhOwhy7HwVv0vnQSaY5NQTQRbLtwHCEzmhg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM3PR11MB8757.namprd11.prod.outlook.com (2603:10b6:8:1af::7) by PH7PR11MB6930.namprd11.prod.outlook.com (2603:10b6:510:205::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7430.46; Mon, 15 Apr 2024 01:47:37 +0000 Received: from DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::103a:9795:6ae2:7c96]) by DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::103a:9795:6ae2:7c96%4]) with mapi id 15.20.7430.045; Mon, 15 Apr 2024 01:47:37 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel][PATCH 1/3] lavfi: Add pad_vaapi filter Thread-Index: AQHaePpttFXANaI0CU2ur7s3FFBO77Fou9GA Date: Mon, 15 Apr 2024 01:47:37 +0000 Message-ID: <3e88e800de68b1f2845daf4d2b01b20378495334.camel@intel.com> References: <20240318060616.3625377-1-haihao.xiang@intel.com> In-Reply-To: <20240318060616.3625377-1-haihao.xiang@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM3PR11MB8757:EE_|PH7PR11MB6930:EE_ x-ms-office365-filtering-correlation-id: 294c6de4-ee2b-4c6e-3bbb-08dc5cee076e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: =?utf-8?B?WGtIbW01SFhPMHhZc1BtSlBaNDIyaTFFWGZGeGgydytNMmd0TURPUjVLcTNY?= =?utf-8?B?SXBNbnFXcEpPTTlRbHNqS1hxLy9xRFZVNUUwYWF1RDFaN29VSmhsNGFjRUlX?= =?utf-8?B?cmJaOTExNjF0SHRZb2tnUzE0YjYvREJIZ2lUSlU0RHVBbXdHRzliZ0g4OUNw?= =?utf-8?B?WGJBWkpGLzJYSTNsZVpVcmdiNzkrb00wdGxmbG5zN3BkUnF0bTN1ZHR3czRm?= =?utf-8?B?RTFYV3lTV2F3MlhLYlp6bEMraWRBZFBpVG4yclJNdzB0UkxVSmxxOUNzQmFz?= =?utf-8?B?MVIwaFpIQ2ZSZVlxNEQzNXZVWU12MEhRREREa3pncDFTc1JTanFUVnJ4Smdv?= =?utf-8?B?WTN2alBzSUh3K28wTVZ5b0wxWUpkYndlMi9lbUdpcEUwWElGZVpLM2xZcnU1?= =?utf-8?B?OVNOK2ZMcVNlSVBLV2xXUWcxbWlTMVluRGE5cFpPSDg5SlhKNWFFTElLbFhF?= =?utf-8?B?LzcvbFZobkRqL3VXT3Jld3ExS3FMTDNnc0wrUmdSYXowL0RqSXhlck0vQytZ?= =?utf-8?B?dGhwaW5lRUdYUVhYUndqREVsbG5nTGRCMUVJYVh6K0JzTGlUbTE4b3Nad2ZD?= =?utf-8?B?QnJnTEt2SzFxdWdDVWxrdHVGT3NsalVYWUFQd2RxcURxSTFZWlRwSjFZWnhp?= =?utf-8?B?SWNPQ2RTQ2FaT1EwQWdHVUZwNXF0RlZIU0dsdWR1R3BsQ2hjbFU1c2pLdUtU?= =?utf-8?B?Znp1bWdEbHpvR0lPRzVaVzZpMXgwMWNnRk9CUzQzS05NZ0x5cG00SHZVK2VD?= =?utf-8?B?UmYyWlpHMzdHd1hrUXBiL0M4aWZDYzFSTUo1ZHo2VTVLdWpSQmlCWWlkMkdt?= =?utf-8?B?ZkdTUVhKY0UvSW9LQzdKTDNoeGhFcWdUUFk3QzhqS2hQRVNwaUswbUlnMG1T?= =?utf-8?B?bUFTRWs2TmZrdWFoQXYzamhQSGdRcVRWNHB5RjJmdHE2NGRhSElUNEFUWmx3?= =?utf-8?B?bkxlVHVJNVFOSXY0dGFQYlJ1Q0cweW5NQ0c4UDh2c3NMQ2tMdi9DeHgyOWpn?= =?utf-8?B?ZHFOSjEzOFk3RzJGelRlVmRndDA5dlVCSnNnMVFqd1hhWkRyRXk0Q1pGb1J2?= =?utf-8?B?WVc5T2V3QjhPQ0wwQ2IvdEgvT0Rkb0YxVWt2UVh6ek9uSWR6ZG51dHV3Zkt3?= =?utf-8?B?YUtTYWd1QVI2elk2RWtKYXlWZGdMeDQ2bVNIQlVvTU9Ud1g5R1UxdUhWZk5j?= =?utf-8?B?SVpTbFlKTVlXQW96MXFGU3Y1VEpDS1FTQm5xZXVDZEQzUkNyVzhqT29zb0Rw?= =?utf-8?B?SFZoR0pYaWErY2ZoQWZHMkpmcnpMV1ZtaDJOSlJiZTlXMW1la0oyNTRFM3Rw?= =?utf-8?B?eitMRFgwSjdzSWNUbWxmWmZBY080eUdHaGdjQXdkd1JUa2J4czBnVjZYN2lv?= =?utf-8?B?SmVTa0Z4alRpbXBIT0UvcjJKRVg2RXdGSFExZkNjdE4ydGs2UFkvb2lDRGM0?= =?utf-8?B?elB2UWVrMzdkWVFUVnZYRUlLd203dEdQbE1TYzVpY1JDbm9jMHF1S3Vva1U4?= =?utf-8?B?RDlpUU15UGVMazlPR2cxODNCS0p2SE5XSnNDTGdpSXQzRlV1TWZjbEJyU3FF?= =?utf-8?B?YWM3L3pTNklxRjFDZWhlZE9iNlJzdDVrZGVFNlNFdlppaXZ2Wm1HamxNTDdD?= =?utf-8?B?dSt2a0Z2ZmR5bkpMSDYvSFpUUnF3cjQxN3JZdmVtR2gwRDRndUpPR25pRlE2?= =?utf-8?B?TDVLcEd1cUIrdlRWTnY4azE2cmZLMGJFRUtRVnNZQ0Mxc0tRQ0l0TmhIZzU0?= =?utf-8?B?b25WN3o4U0ZuQnZaSTFWbkZWK3NuSjYrV0RKNWpwZ2FHeWdFbURtbnBTL3Uw?= =?utf-8?B?eElwSWpsVnhLWi9sT1NoZz09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM3PR11MB8757.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZWQ3RDIyZ3hOcmZVNFhqME9zcUh2SmNpdm9oNHRZcXgrNFBzbzhuZU1yTXhq?= =?utf-8?B?YXN4QXNCVW9rSEpBWGN0Z1BuZzk2NVZoZ1JSRVJKdTU0eU02VGpCaWlUZ2ND?= =?utf-8?B?SXloeDBKaU1BSEUvNkI4dUo3K3dpdWUrRGZnU3VaaTJPdXRZYSt4clpQRnh6?= =?utf-8?B?d1NPZGZHamVOK2tOblFKVlZSQTVaTWhkWEMzV1dwbE9PZDRtUmIvTzFjVTVB?= =?utf-8?B?eU56dkFLTVIrYUFJcDdqZEorSFlOS3NVQ1o1R0FNZnVPSzBiblpLNEtBQjM1?= =?utf-8?B?VnJ0TFVWSHVaRm9sR2UvcDFHUWZ5UHJHalZOZmNTVnBGbXNya05BZmU3THpF?= =?utf-8?B?bExHa3Y0ekF5aENXcldOdzlpRGhUUXhpOUhkdjBqWUgwNUJ1UjFrUi9QRW1V?= =?utf-8?B?TUk3Y0x5ZzZ1dlhKcndHNnFnQmFFT0Vxdk5OYUpUeWlkN0hnRU12VmxmVFBY?= =?utf-8?B?WnVScno5dEZlZjREbVRoUUg5dUVLalpHTjBHU2o5Z0tieFhOYVFINHZYREJY?= =?utf-8?B?Y0FPeXd0K0paN0RteTlTb1V6MlJpaFM2TGpLQ24yYlJuYmpqZCtVYWtHZ0Uy?= =?utf-8?B?cUJOT29DK24xZW1pWHdHYysrQTNISzJQbTF5OVY0ZjE3L2duS0lvVjhJQkhj?= =?utf-8?B?ZjR5TFpNTFBtbjl6RE13YnpsMUtDd2pyTjRQTjFZUEc1N3Z3eUxCYkxSOFRv?= =?utf-8?B?VU9Qcll0R3NmK2pkN2FVcXoraDRIM2c4QVdibUdKMVMrZG5IMk9GQnRubHp6?= =?utf-8?B?aGJkS0M1R0p5ZEowWGJDUDRKa09QZ2M5Y1E5QkErc0lTWWZkL0ZwM3d2cFBJ?= =?utf-8?B?UnFiWWR4R0t3TEtWU3dzdHg5RXpJM2ZUWnptQ3drMWJBaTJTeUs0dkl2MnA5?= =?utf-8?B?STVUVkFLckZZTUh5dHIzU0pZS1JEWnlDU1czM0ppeWN4WjJJTkdraVRNMkha?= =?utf-8?B?RnRad0JaWXdZMVJiMmZyR3Y0NXBqakpWU1lMa0djQlowVnlNcUVSWmhOVitQ?= =?utf-8?B?S21NdHpxSEswcFhFekZkTm54MkxwU0tkYVR1MHlZZitvLzBoUzlBaWFQWm9k?= =?utf-8?B?TVJ4Ujg5dzNGUmUwQ252OGlPNHFycG8wNWlTeUFNZlBydUVZZTVtMTNocFY2?= =?utf-8?B?WGRlRnJSTmQ3ODgrcjFpZHRGb0dLUWFVS0xWMVY2MG1sUXRMU2xZVWkwM3Vm?= =?utf-8?B?Nzg0R2pqMlJsVWJxblFRRVJ2S0VLeDN5ay90ektPQjcyOVRQUUdySnFmV0ZJ?= =?utf-8?B?QnEwRE4vS1E4YkIrM2ppOUQwd0dRWm5TR1BsSllOVWpsTEZlM0htNWpPc0FS?= =?utf-8?B?UGJsZW9DSFp6OU1pRk5ReERYWEIvTjJ1eXpnYXFHcXdvN1R3RTZvQXlyaGxU?= =?utf-8?B?NE5aREhDU0R6MDMvUE9md3c4KzB6ajNjN3pCWXdTbFlnUUxWY3NXSS9rZnJN?= =?utf-8?B?T1l5V2NZNm1VWUh1WHhka0gzRnVEalZ1aU1jODI2OW5lMjU4UTM1ZXpmMFdj?= =?utf-8?B?bEpoOTRjd0RDRXF6cFhtY09kakVya3h3VldMTXpCY3h0UE5WNmZrMFN3eTVs?= =?utf-8?B?OEU0RzdhaWJkemMrK2R4SWVvQ3I4b1hTdkVDVC94U1dWTGFnNmo4TDMxNkgr?= =?utf-8?B?RGkvOC9FMmpyVkNmdXIzTXREZENmclhzUHlFYmtTY3o4emx2ajdTQXl6TW05?= =?utf-8?B?d2hpNE53a3lDNW90VjhkY1pxVGdqei9zQWRNcWVlakVKRlZGS0sza3drZ2cw?= =?utf-8?B?ZHVXWm82WG5ZOHVIUXRSaVlFMDk1TjJIK0djUWVBMWRwVFJLQ2d5R215QWg3?= =?utf-8?B?aDFGRXV5Y1pKdm5aRldqTWIweGVJeUo2d0ZJYWRscXRab09HekI0VFQ4UnFF?= =?utf-8?B?YTA0bGIxUGJ1QUQ0TjJna21KMFVMYTZGUzhFZG1WZ0Q1N0NZRG5jaC9OUGp2?= =?utf-8?B?djN3aktqQTdibnQxcEJVaGkwcllrcDVleDhwTFF4MU56eDRaVmR4K21xRDRH?= =?utf-8?B?dWIwcENjUzBManN1NFlremw0RllPdFlnM2xLU3pjcTNwQmVTR1IrME1HRXVW?= =?utf-8?B?VSs0U2YwUnU2VFl4R0ZjbUk2OXFUMW8zWXJuZWwzeWFWRFhIVy9IQnlvSHEr?= =?utf-8?B?YXF5dy9USTd2ODNoZkI0cDV5WjFib0tHRC96V3dwT0Z6WWN4UzR6VVM0dktI?= =?utf-8?B?Y3c9PQ==?= Content-ID: <6BB36406B52C42409A6E9EECF7591690@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM3PR11MB8757.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 294c6de4-ee2b-4c6e-3bbb-08dc5cee076e X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2024 01:47:37.6153 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QWdYqyun/KTAdNexPxFnvINFiCePG9CKGFNKOC8xCRkC5QObdFVwycek8LN1u0faMycRWKZVVWcDBhAa1RViVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6930 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/3] lavfi: Add pad_vaapi filter X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gTWEsIDIwMjQtMDMtMTggYXQgMTQ6MDYgKzA4MDAsIFhpYW5nLCBIYWloYW8gd3JvdGU6Cj4g RnJvbTogSGFpaGFvIFhpYW5nIDxoYWloYW8ueGlhbmdAaW50ZWwuY29tPgo+IAo+IFNpZ25lZC1v ZmYtYnk6IEhhaWhhbyBYaWFuZyA8aGFpaGFvLnhpYW5nQGludGVsLmNvbT4KPiAtLS0KPiDCoGNv bmZpZ3VyZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMSArCj4gwqBk b2MvZmlsdGVycy50ZXhpwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDc3ICsrKysrKysrKysKPiDC oGxpYmF2ZmlsdGVyL01ha2VmaWxlwqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+IMKgbGliYXZmaWx0 ZXIvYWxsZmlsdGVycy5jwqDCoCB8wqDCoCAxICsKPiDCoGxpYmF2ZmlsdGVyL3ZmX3BhZF92YWFw aS5jIHwgMjgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiDCoDUgZmls ZXMgY2hhbmdlZCwgMzYzIGluc2VydGlvbnMoKykKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJh dmZpbHRlci92Zl9wYWRfdmFhcGkuYwo+IAo+IGRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25m aWd1cmUKPiBpbmRleCAyYjRjNGVjOWEyLi40ZjY0ZjQ4YjM4IDEwMDc1NQo+IC0tLSBhL2NvbmZp Z3VyZQo+ICsrKyBiL2NvbmZpZ3VyZQo+IEBAIC0zODkwLDYgKzM4OTAsNyBAQCB2c3RhY2tfcXN2 X2ZpbHRlcl9kZXBzPSJsaWJtZngiCj4gwqB2c3RhY2tfcXN2X2ZpbHRlcl9zZWxlY3Q9InFzdnZw cCIKPiDCoHhzdGFja19xc3ZfZmlsdGVyX2RlcHM9ImxpYm1meCIKPiDCoHhzdGFja19xc3ZfZmls dGVyX3NlbGVjdD0icXN2dnBwIgo+ICtwYWRfdmFhcGlfZmlsdGVyX2RlcHM9InZhYXBpXzEiCj4g wqAKPiDCoCMgZXhhbXBsZXMKPiDCoGF2aW9faHR0cF9zZXJ2ZV9maWxlc19kZXBzPSJhdmZvcm1h dCBhdnV0aWwgZm9yayIKPiBkaWZmIC0tZ2l0IGEvZG9jL2ZpbHRlcnMudGV4aSBiL2RvYy9maWx0 ZXJzLnRleGkKPiBpbmRleCA5MTMzNjU2NzFkLi4yYmQxYTViOWU3IDEwMDY0NAo+IC0tLSBhL2Rv Yy9maWx0ZXJzLnRleGkKPiArKysgYi9kb2MvZmlsdGVycy50ZXhpCj4gQEAgLTI3OTQxLDYgKzI3 OTQxLDgzIEBAIGZpcnN0IGlucHV0IHN0cmVhbS4gRm9yIHRoZSBzeW50YXggb2YgdGhpcyBvcHRp b24sCj4gY2hlY2sgdGhlCj4gwqBTZWUgQHJlZnt4c3RhY2t9Lgo+IMKgQGVuZCB0YWJsZQo+IMKg Cj4gK0BzZWN0aW9uIHBhZF92YWFwaQo+ICsKPiArQWRkIHBhZGRpbmdzIHRvIHRoZSBpbnB1dCBp bWFnZSwgYW5kIHBsYWNlIHRoZSBvcmlnaW5hbCBpbnB1dCBhdCB0aGUKPiArcHJvdmlkZWQgQHZh cnt4fSwgQHZhcnt5fSBjb29yZGluYXRlcy4KPiArCj4gK0l0IGFjY2VwdHMgdGhlIGZvbGxvd2lu ZyBvcHRpb25zOgo+ICsKPiArQHRhYmxlIEBvcHRpb24KPiArQGl0ZW0gd2lkdGgsIHcKPiArQGl0 ZW0gaGVpZ2h0LCBoCj4gK1NwZWNpZnkgYW4gZXhwcmVzc2lvbiBmb3IgdGhlIHNpemUgb2YgdGhl IG91dHB1dCBpbWFnZSB3aXRoIHRoZQo+ICtwYWRkaW5ncyBhZGRlZC4gSWYgdGhlIHZhbHVlIGZv ciBAdmFye3dpZHRofSBvciBAdmFye2hlaWdodH0gaXMgMCwgdGhlCj4gK2NvcnJlc3BvbmRpbmcg aW5wdXQgc2l6ZSBpcyB1c2VkIGZvciB0aGUgb3V0cHV0Lgo+ICsKPiArVGhlIEB2YXJ7d2lkdGh9 IGV4cHJlc3Npb24gY2FuIHJlZmVyZW5jZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZQo+ICtAdmFye2hl aWdodH0gZXhwcmVzc2lvbiwgYW5kIHZpY2UgdmVyc2EuCj4gKwo+ICtUaGUgZGVmYXVsdCB2YWx1 ZSBvZiBAdmFye3dpZHRofSBhbmQgQHZhcntoZWlnaHR9IGlzIDAuCj4gKwo+ICtAaXRlbSB4Cj4g K0BpdGVtIHkKPiArU3BlY2lmeSB0aGUgb2Zmc2V0cyB0byBwbGFjZSB0aGUgaW5wdXQgaW1hZ2Ug YXQgd2l0aGluIHRoZSBwYWRkZWQgYXJlYSwKPiArd2l0aCByZXNwZWN0IHRvIHRoZSB0b3AvbGVm dCBib3JkZXIgb2YgdGhlIG91dHB1dCBpbWFnZS4KPiArCj4gK1RoZSBAdmFye3h9IGV4cHJlc3Np b24gY2FuIHJlZmVyZW5jZSB0aGUgdmFsdWUgc2V0IGJ5IHRoZSBAdmFye3l9Cj4gK2V4cHJlc3Np b24sIGFuZCB2aWNlIHZlcnNhLgo+ICsKPiArVGhlIGRlZmF1bHQgdmFsdWUgb2YgQHZhcnt4fSBh bmQgQHZhcnt5fSBpcyAwLgo+ICsKPiArSWYgQHZhcnt4fSBvciBAdmFye3l9IGV2YWx1YXRlIHRv IGEgbmVnYXRpdmUgbnVtYmVyLCB0aGV5J2xsIGJlIGNoYW5nZWQKPiArc28gdGhlIGlucHV0IGlt YWdlIGlzIGNlbnRlcmVkIG9uIHRoZSBwYWRkZWQgYXJlYS4KPiArCj4gK0BpdGVtIGNvbG9yCj4g K1NwZWNpZnkgdGhlIGNvbG9yIG9mIHRoZSBwYWRkZWQgYXJlYS4gRm9yIHRoZSBzeW50YXggb2Yg dGhpcyBvcHRpb24sCj4gK2NoZWNrIHRoZSBAcmVme2NvbG9yIHN5bnRheCwsIkNvbG9yIiBzZWN0 aW9uIGluIHRoZSBmZm1wZWctdXRpbHMKPiArbWFudWFsLGZmbXBlZy11dGlsc30uCj4gKwo+ICtA aXRlbSBhc3BlY3QKPiArUGFkIHRvIGFuIGFzcGVjdCBpbnN0ZWFkIHRvIGEgcmVzb2x1dGlvbi4K PiArQGVuZCB0YWJsZQo+ICsKPiArVGhlIHZhbHVlIGZvciB0aGUgQHZhcnt3aWR0aH0sIEB2YXJ7 aGVpZ2h0fSwgQHZhcnt4fSwgYW5kIEB2YXJ7eX0KPiArb3B0aW9ucyBhcmUgZXhwcmVzc2lvbnMg Y29udGFpbmluZyB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKPiArCj4gK0B0YWJsZSBAb3B0aW9u Cj4gK0BpdGVtIGluX3cKPiArQGl0ZW0gaW5faAo+ICtUaGUgaW5wdXQgdmlkZW8gd2lkdGggYW5k IGhlaWdodC4KPiArCj4gK0BpdGVtIGl3Cj4gK0BpdGVtIGloCj4gK1RoZXNlIGFyZSB0aGUgc2Ft ZSBhcyBAdmFye2luX3d9IGFuZCBAdmFye2luX2h9Lgo+ICsKPiArQGl0ZW0gb3V0X3cKPiArQGl0 ZW0gb3V0X2gKPiArVGhlIG91dHB1dCB3aWR0aCBhbmQgaGVpZ2h0ICh0aGUgc2l6ZSBvZiB0aGUg cGFkZGVkIGFyZWEpLCBhcwo+ICtzcGVjaWZpZWQgYnkgdGhlIEB2YXJ7d2lkdGh9IGFuZCBAdmFy e2hlaWdodH0gZXhwcmVzc2lvbnMuCj4gKwo+ICtAaXRlbSBvdwo+ICtAaXRlbSBvaAo+ICtUaGVz ZSBhcmUgdGhlIHNhbWUgYXMgQHZhcntvdXRfd30gYW5kIEB2YXJ7b3V0X2h9Lgo+ICsKPiArQGl0 ZW0geAo+ICtAaXRlbSB5Cj4gK1RoZSB4IGFuZCB5IG9mZnNldHMgYXMgc3BlY2lmaWVkIGJ5IHRo ZSBAdmFye3h9IGFuZCBAdmFye3l9Cj4gK2V4cHJlc3Npb25zLCBvciBOQU4gaWYgbm90IHlldCBz cGVjaWZpZWQuCj4gKwo+ICtAaXRlbSBhCj4gK3NhbWUgYXMgQHZhcntpd30gLyBAdmFye2lofQo+ ICsKPiArQGl0ZW0gc2FyCj4gK2lucHV0IHNhbXBsZSBhc3BlY3QgcmF0aW8KPiArCj4gK0BpdGVt IGRhcgo+ICtpbnB1dCBkaXNwbGF5IGFzcGVjdCByYXRpbywgaXQgaXMgdGhlIHNhbWUgYXMgKEB2 YXJ7aXd9IC8gQHZhcntpaH0pICoKPiBAdmFye3Nhcn0KPiArQGVuZCB0YWJsZQo+ICsKPiDCoEBj IG1hbiBlbmQgVkFBUEkgVklERU8gRklMVEVSUwo+IMKgCj4gwqBAY2hhcHRlciBWdWxrYW4gVmlk ZW8gRmlsdGVycwo+IGRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9NYWtlZmlsZSBiL2xpYmF2Zmls dGVyL01ha2VmaWxlCj4gaW5kZXggOTk0ZDk3NzNiYS4uYmFiY2M3YjY3NiAxMDA2NDQKPiAtLS0g YS9saWJhdmZpbHRlci9NYWtlZmlsZQo+ICsrKyBiL2xpYmF2ZmlsdGVyL01ha2VmaWxlCj4gQEAg LTU4MSw2ICs1ODEsNyBAQCBPQkpTLSQoQ09ORklHX1hTVEFDS19WQUFQSV9GSUxURVIpwqDCoMKg wqDCoMKgwqDCoMKgwqAgKz0KPiB2Zl9zdGFja192YWFwaS5vIGZyYW1lc3luYy5vIHZhYQo+IMKg T0JKUy0kKENPTkZJR19IU1RBQ0tfUVNWX0ZJTFRFUinCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Kz0gdmZfc3RhY2tfcXN2Lm8gZnJhbWVzeW5jLm8KPiDCoE9CSlMtJChDT05GSUdfVlNUQUNLX1FT Vl9GSUxURVIpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICs9IHZmX3N0YWNrX3Fzdi5vIGZyYW1l c3luYy5vCj4gwqBPQkpTLSQoQ09ORklHX1hTVEFDS19RU1ZfRklMVEVSKcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCArPSB2Zl9zdGFja19xc3YubyBmcmFtZXN5bmMubwo+ICtPQkpTLSQoQ09ORklH X1BBRF9WQUFQSV9GSUxURVIpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKz0gdmZfcGFkX3Zh YXBpLm8gdmFhcGlfdnBwLm8KPiDCoAo+IMKgT0JKUy0kKENPTkZJR19BTExSR0JfRklMVEVSKcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICs9IHZzcmNfdGVzdHNyYy5vCj4gwqBPQkpT LSQoQ09ORklHX0FMTFlVVl9GSUxURVIpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Kz0gdnNyY190ZXN0c3JjLm8KPiBkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5j IGIvbGliYXZmaWx0ZXIvYWxsZmlsdGVycy5jCj4gaW5kZXggMTQ5YmY1MDk5Ny4uMWUwMjRiMzM3 NiAxMDA2NDQKPiAtLS0gYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMKPiArKysgYi9saWJhdmZp bHRlci9hbGxmaWx0ZXJzLmMKPiBAQCAtNTQ2LDYgKzU0Niw3IEBAIGV4dGVybiBjb25zdCBBVkZp bHRlciBmZl92Zl94c3RhY2tfdmFhcGk7Cj4gwqBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZf aHN0YWNrX3FzdjsKPiDCoGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl92c3RhY2tfcXN2Owo+ IMKgZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3hzdGFja19xc3Y7Cj4gK2V4dGVybiBjb25z dCBBVkZpbHRlciBmZl92Zl9wYWRfdmFhcGk7Cj4gwqAKPiDCoGV4dGVybiBjb25zdCBBVkZpbHRl ciBmZl92c3JjX2FsbHJnYjsKPiDCoGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92c3JjX2FsbHl1 djsKPiBkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfcGFkX3ZhYXBpLmMgYi9saWJhdmZpbHRl ci92Zl9wYWRfdmFhcGkuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAw MC4uOThmNjI4NTIyMgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9saWJhdmZpbHRlci92Zl9wYWRf dmFhcGkuYwo+IEBAIC0wLDAgKzEsMjgzIEBACj4gKy8qCj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEZGbXBlZy4KPiArICoKPiArICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+ICsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCj4gKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgo+ICsgKiB2ZXJzaW9uIDIu MSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiArICoKPiArICogRkZtcGVnIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS7CoCBTZWUgdGhlIEdOVQo+ICsgKiBMZXNzZXIgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj Cj4gKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy ZWUgU29mdHdhcmUKPiArICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxCj4gVVNBCj4gKyAqLwo+ICsKPiArI2lu Y2x1ZGUgImxpYmF2dXRpbC9jb2xvcnNwYWNlLmgiCj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvZXZh bC5oIgo+ICsjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgo+ICsKPiArI2luY2x1ZGUgImF2Zmls dGVyLmgiCj4gKyNpbmNsdWRlICJpbnRlcm5hbC5oIgo+ICsjaW5jbHVkZSAidmFhcGlfdnBwLmgi Cj4gKyNpbmNsdWRlICJ2aWRlby5oIgo+ICsKPiArc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHZh cl9uYW1lc1tdID0gewo+ICvCoMKgwqAgImluX3ciLMKgwqAgIml3IiwKPiArwqDCoMKgICJpbl9o IizCoMKgICJpaCIsCj4gK8KgwqDCoCAib3V0X3ciLMKgICJvdyIsCj4gK8KgwqDCoCAib3V0X2gi LMKgICJvaCIsCj4gK8KgwqDCoCAieCIsCj4gK8KgwqDCoCAieSIsCj4gK8KgwqDCoCAiYSIsCj4g K8KgwqDCoCAic2FyIiwKPiArwqDCoMKgICJkYXIiLAo+ICvCoMKgwqAgTlVMTAo+ICt9Owo+ICsK PiArZW51bSB2YXJfbmFtZSB7Cj4gK8KgwqDCoCBWQVJfSU5fVyzCoMKgIFZBUl9JVywKPiArwqDC oMKgIFZBUl9JTl9ILMKgwqAgVkFSX0lILAo+ICvCoMKgwqAgVkFSX09VVF9XLMKgIFZBUl9PVywK PiArwqDCoMKgIFZBUl9PVVRfSCzCoCBWQVJfT0gsCj4gK8KgwqDCoCBWQVJfWCwKPiArwqDCoMKg IFZBUl9ZLAo+ICvCoMKgwqAgVkFSX0EsCj4gK8KgwqDCoCBWQVJfU0FSLAo+ICvCoMKgwqAgVkFS X0RBUiwKPiArwqDCoMKgIFZBUlNfTkIKPiArfTsKPiArCj4gK3R5cGVkZWYgc3RydWN0IFBhZFZB QVBJQ29udGV4dCB7Cj4gK8KgwqDCoCBWQUFQSVZQUENvbnRleHQgdnBwX2N0eDsgLy8gbXVzdCBi ZSB0aGUgZmlyc3QgZmllbGQKPiArwqDCoMKgIFZBUmVjdGFuZ2xlIHJlY3Q7Cj4gKwo+ICvCoMKg wqAgY2hhciAqd19leHByOwo+ICvCoMKgwqAgY2hhciAqaF9leHByOwo+ICvCoMKgwqAgY2hhciAq eF9leHByOwo+ICvCoMKgwqAgY2hhciAqeV9leHByOwo+ICvCoMKgwqAgQVZSYXRpb25hbCBhc3Bl Y3Q7Cj4gKwo+ICvCoMKgwqAgaW50IHcsIGg7Cj4gK8KgwqDCoCBpbnQgeCwgeTsKPiArwqDCoMKg IHVpbnQ4X3QgcGFkX3JnYmFbNF07Cj4gK30gUGFkVkFBUElDb250ZXh0Owo+ICsKPiArc3RhdGlj IGludCBwYWRfdmFhcGlfY29uZmlnX291dHB1dChBVkZpbHRlckxpbmsgKm91dGxpbmspCj4gK3sK PiArwqDCoMKgIEFWRmlsdGVyQ29udGV4dCAqYXZjdHggPSBvdXRsaW5rLT5zcmM7Cj4gK8KgwqDC oCBBVkZpbHRlckxpbmsgKmlubGluayA9IGF2Y3R4LT5pbnB1dHNbMF07Cj4gK8KgwqDCoCBQYWRW QUFQSUNvbnRleHQgKmN0eCA9IGF2Y3R4LT5wcml2Owo+ICvCoMKgwqAgVkFBUElWUFBDb250ZXh0 ICp2cHBfY3R4ID0gYXZjdHgtPnByaXY7Cj4gK8KgwqDCoCBBVlJhdGlvbmFsIGFkanVzdGVkX2Fz cGVjdCA9IGN0eC0+YXNwZWN0Owo+ICvCoMKgwqAgZG91YmxlIHZhcl92YWx1ZXNbVkFSU19OQl0s IHJlczsKPiArwqDCoMKgIGludCBlcnIsIHJldDsKPiArwqDCoMKgIGNoYXIgKmV4cHI7Cj4gKwo+ ICvCoMKgwqAgdmFyX3ZhbHVlc1tWQVJfSU5fV13CoCA9IHZhcl92YWx1ZXNbVkFSX0lXXSA9IGlu bGluay0+dzsKPiArwqDCoMKgIHZhcl92YWx1ZXNbVkFSX0lOX0hdwqAgPSB2YXJfdmFsdWVzW1ZB Ul9JSF0gPSBpbmxpbmstPmg7Cj4gK8KgwqDCoCB2YXJfdmFsdWVzW1ZBUl9PVVRfV10gPSB2YXJf dmFsdWVzW1ZBUl9PV10gPSBOQU47Cj4gK8KgwqDCoCB2YXJfdmFsdWVzW1ZBUl9PVVRfSF0gPSB2 YXJfdmFsdWVzW1ZBUl9PSF0gPSBOQU47Cj4gK8KgwqDCoCB2YXJfdmFsdWVzW1ZBUl9BXcKgwqDC oMKgID0gKGRvdWJsZSkgaW5saW5rLT53IC8gaW5saW5rLT5oOwo+ICvCoMKgwqAgdmFyX3ZhbHVl c1tWQVJfU0FSXcKgwqAgPSBpbmxpbmstPnNhbXBsZV9hc3BlY3RfcmF0aW8ubnVtID8KPiArwqDC oMKgwqDCoMKgwqAgKGRvdWJsZSkgaW5saW5rLT5zYW1wbGVfYXNwZWN0X3JhdGlvLm51bSAvIGlu bGluay0KPiA+c2FtcGxlX2FzcGVjdF9yYXRpby5kZW4gOiAxOwo+ICvCoMKgwqAgdmFyX3ZhbHVl c1tWQVJfREFSXcKgwqAgPSB2YXJfdmFsdWVzW1ZBUl9BXSAqIHZhcl92YWx1ZXNbVkFSX1NBUl07 Cj4gKwo+ICvCoMKgwqAgYXZfZXhwcl9wYXJzZV9hbmRfZXZhbCgmcmVzLCAoZXhwciA9IGN0eC0+ d19leHByKSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB2YXJfbmFtZXMsIHZhcl92YWx1ZXMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVM TCwgMCwgY3R4KTsKPiArwqDCoMKgIGN0eC0+dyA9IHZhcl92YWx1ZXNbVkFSX09VVF9XXSA9IHZh cl92YWx1ZXNbVkFSX09XXSA9IHJlczsKPiArwqDCoMKgIGlmICgocmV0ID0gYXZfZXhwcl9wYXJz ZV9hbmRfZXZhbCgmcmVzLCAoZXhwciA9IGN0eC0+aF9leHByKSwKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdmFyX25hbWVzLCB2YXJfdmFsdWVzLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBOVUxMLCBOVUxM LCBOVUxMLCBOVUxMLCBOVUxMLCAwLCBjdHgpKQo+IDwgMCkKPiArwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIHJldDsKPiArwqDCoMKgIGN0eC0+aCA9IHZhcl92YWx1ZXNbVkFSX09VVF9IXSA9IHZhcl92 YWx1ZXNbVkFSX09IXSA9IHJlczsKPiArwqDCoMKgIGlmICghY3R4LT5oKQo+ICvCoMKgwqDCoMKg wqDCoCB2YXJfdmFsdWVzW1ZBUl9PVVRfSF0gPSB2YXJfdmFsdWVzW1ZBUl9PSF0gPSBjdHgtPmgg PSBpbmxpbmstPmg7Cj4gKwo+ICvCoMKgwqAgLyogZXZhbHVhdGUgdGhlIHdpZHRoIGFnYWluLCBh cyBpdCBtYXkgZGVwZW5kIG9uIHRoZSBldmFsdWF0ZWQgb3V0cHV0Cj4gaGVpZ2h0ICovCj4gK8Kg wqDCoCBpZiAoKHJldCA9IGF2X2V4cHJfcGFyc2VfYW5kX2V2YWwoJnJlcywgKGV4cHIgPSBjdHgt PndfZXhwciksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhcl9uYW1lcywgdmFyX3ZhbHVlcywKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgMCwgY3R4KSkK PiA8IDApCj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7Cj4gK8KgwqDCoCBjdHgtPncgPSB2 YXJfdmFsdWVzW1ZBUl9PVVRfV10gPSB2YXJfdmFsdWVzW1ZBUl9PV10gPSByZXM7Cj4gK8KgwqDC oCBpZiAoIWN0eC0+dykKPiArwqDCoMKgwqDCoMKgwqAgdmFyX3ZhbHVlc1tWQVJfT1VUX1ddID0g dmFyX3ZhbHVlc1tWQVJfT1ddID0gY3R4LT53ID0gaW5saW5rLT53Owo+ICsKPiArwqDCoMKgIGlm IChhZGp1c3RlZF9hc3BlY3QubnVtICYmIGFkanVzdGVkX2FzcGVjdC5kZW4pIHsKPiArwqDCoMKg wqDCoMKgwqAgYWRqdXN0ZWRfYXNwZWN0ID0gYXZfZGl2X3EoYWRqdXN0ZWRfYXNwZWN0LCBpbmxp bmstCj4gPnNhbXBsZV9hc3BlY3RfcmF0aW8pOwo+ICvCoMKgwqDCoMKgwqDCoCBpZiAoY3R4LT5o IDwgYXZfcmVzY2FsZShjdHgtPncsIGFkanVzdGVkX2FzcGVjdC5kZW4sCj4gYWRqdXN0ZWRfYXNw ZWN0Lm51bSkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdHgtPmggPSB2YXJfdmFsdWVz W1ZBUl9PVVRfSF0gPSB2YXJfdmFsdWVzW1ZBUl9PSF0gPQo+IGF2X3Jlc2NhbGUoY3R4LT53LCBh ZGp1c3RlZF9hc3BlY3QuZGVuLCBhZGp1c3RlZF9hc3BlY3QubnVtKTsKPiArwqDCoMKgwqDCoMKg wqAgfSBlbHNlIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdHgtPncgPSB2YXJfdmFsdWVz W1ZBUl9PVVRfV10gPSB2YXJfdmFsdWVzW1ZBUl9PV10gPQo+IGF2X3Jlc2NhbGUoY3R4LT5oLCBh ZGp1c3RlZF9hc3BlY3QubnVtLCBhZGp1c3RlZF9hc3BlY3QuZGVuKTsKPiArwqDCoMKgwqDCoMKg wqAgfQo+ICvCoMKgwqAgfQo+ICsKPiArwqDCoMKgIC8qIGV2YWx1YXRlIHggYW5kIHkgKi8KPiAr wqDCoMKgIGF2X2V4cHJfcGFyc2VfYW5kX2V2YWwoJnJlcywgKGV4cHIgPSBjdHgtPnhfZXhwciks Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg dmFyX25hbWVzLCB2YXJfdmFsdWVzLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIDAsIGN0 eCk7Cj4gK8KgwqDCoCBjdHgtPnggPSB2YXJfdmFsdWVzW1ZBUl9YXSA9IHJlczsKPiArwqDCoMKg IGlmICgocmV0ID0gYXZfZXhwcl9wYXJzZV9hbmRfZXZhbCgmcmVzLCAoZXhwciA9IGN0eC0+eV9l eHByKSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFyX25hbWVzLCB2YXJfdmFsdWVzLAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCAwLCBjdHgpKQo+IDwg MCkKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPiArwqDCoMKgIGN0eC0+eSA9IHZhcl92 YWx1ZXNbVkFSX1ldID0gcmVzOwo+ICvCoMKgwqAgLyogZXZhbHVhdGUgeCBhZ2FpbiwgYXMgaXQg bWF5IGRlcGVuZCBvbiB0aGUgZXZhbHVhdGVkIHkgdmFsdWUgKi8KPiArwqDCoMKgIGlmICgocmV0 ID0gYXZfZXhwcl9wYXJzZV9hbmRfZXZhbCgmcmVzLCAoZXhwciA9IGN0eC0+eF9leHByKSwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgdmFyX25hbWVzLCB2YXJfdmFsdWVzLAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCAwLCBjdHgpKQo+IDwgMCkKPiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPiArwqDCoMKgIGN0eC0+eCA9IHZhcl92YWx1ZXNbVkFS X1hdID0gcmVzOwo+ICsKPiArwqDCoMKgIGlmIChjdHgtPnggPCAwIHx8IGN0eC0+eCArIGlubGlu ay0+dyA+IGN0eC0+dykKPiArwqDCoMKgwqDCoMKgwqAgY3R4LT54ID0gdmFyX3ZhbHVlc1tWQVJf WF0gPSAoY3R4LT53IC0gaW5saW5rLT53KSAvIDI7Cj4gK8KgwqDCoCBpZiAoY3R4LT55IDwgMCB8 fCBjdHgtPnkgKyBpbmxpbmstPmggPiBjdHgtPmgpCj4gK8KgwqDCoMKgwqDCoMKgIGN0eC0+eSA9 IHZhcl92YWx1ZXNbVkFSX1ldID0gKGN0eC0+aCAtIGlubGluay0+aCkgLyAyOwo+ICsKPiArwqDC oMKgIC8qIHNhbml0eSBjaGVjayBwYXJhbXMgKi8KPiArwqDCoMKgIGlmIChjdHgtPncgPCBpbmxp bmstPncgfHwgY3R4LT5oIDwgaW5saW5rLT5oKSB7Cj4gK8KgwqDCoMKgwqDCoMKgIGF2X2xvZyhj dHgsIEFWX0xPR19FUlJPUiwgIlBhZGRlZCBkaW1lbnNpb25zIGNhbm5vdCBiZSBzbWFsbGVyIHRo YW4KPiBpbnB1dCBkaW1lbnNpb25zLlxuIik7Cj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBBVkVS Uk9SKEVJTlZBTCk7Cj4gK8KgwqDCoCB9Cj4gKwo+ICvCoMKgwqAgaWYgKGN0eC0+dyA+IGF2Y3R4 LT5pbnB1dHNbMF0tPncpIHsKPiArwqDCoMKgwqDCoMKgwqAgdnBwX2N0eC0+b3V0cHV0X3dpZHRo wqAgPSBjdHgtPnc7Cj4gK8KgwqDCoCB9IGVsc2Ugewo+ICvCoMKgwqDCoMKgwqDCoCB2cHBfY3R4 LT5vdXRwdXRfd2lkdGjCoCA9IGF2Y3R4LT5pbnB1dHNbMF0tPnc7Cj4gK8KgwqDCoCB9Cj4gKwo+ ICvCoMKgwqAgaWYgKGN0eC0+aCA+IGF2Y3R4LT5pbnB1dHNbMF0tPmgpIHsKPiArwqDCoMKgwqDC oMKgwqAgdnBwX2N0eC0+b3V0cHV0X2hlaWdodCA9IGN0eC0+aDsKPiArwqDCoMKgIH0gZWxzZSB7 Cj4gK8KgwqDCoMKgwqDCoMKgIHZwcF9jdHgtPm91dHB1dF9oZWlnaHQgPSBhdmN0eC0+aW5wdXRz WzBdLT5oOwo+ICvCoMKgwqAgfQo+ICsKPiArwqDCoMKgIGlmIChjdHgtPnggKyBhdmN0eC0+aW5w dXRzWzBdLT53ID4gdnBwX2N0eC0+b3V0cHV0X3dpZHRoIHx8Cj4gK8KgwqDCoMKgwqDCoMKgIGN0 eC0+eSArIGF2Y3R4LT5pbnB1dHNbMF0tPmggPiB2cHBfY3R4LT5vdXRwdXRfaGVpZ2h0KSB7Cj4g K8KgwqDCoMKgwqDCoMKgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gK8KgwqDCoCB9Cj4gKwo+ ICvCoMKgwqAgZXJyID0gZmZfdmFhcGlfdnBwX2NvbmZpZ19vdXRwdXQob3V0bGluayk7Cj4gK8Kg wqDCoCBpZiAoZXJyIDwgMCkKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGVycjsKPiArCj4gK8Kg wqDCoCByZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGludCBwYWRfdmFhcGlfZmlsdGVyX2Zy YW1lKEFWRmlsdGVyTGluayAqbGluaywgQVZGcmFtZSAqaW5wdXRfZnJhbWUpCj4gK3sKPiArwqDC oMKgIEFWRmlsdGVyQ29udGV4dCAqYXZjdHggPSBsaW5rLT5kc3Q7Cj4gK8KgwqDCoCBBVkZpbHRl ckxpbmsgKm91dGxpbmsgPSBhdmN0eC0+b3V0cHV0c1swXTsKPiArwqDCoMKgIFZBQVBJVlBQQ29u dGV4dCAqdnBwX2N0eCA9IGF2Y3R4LT5wcml2Owo+ICvCoMKgwqAgUGFkVkFBUElDb250ZXh0ICpw YWRfY3R4ID0gYXZjdHgtPnByaXY7Cj4gK8KgwqDCoCBBVkZyYW1lICpvdXRwdXRfZnJhbWUgPSBO VUxMOwo+ICvCoMKgwqAgVkFQcm9jUGlwZWxpbmVQYXJhbWV0ZXJCdWZmZXIgcGFyYW1zOwo+ICvC oMKgwqAgaW50IGVycjsKPiArCj4gK8KgwqDCoCBpZiAoIWlucHV0X2ZyYW1lLT5od19mcmFtZXNf Y3R4IHx8Cj4gK8KgwqDCoMKgwqDCoMKgIHZwcF9jdHgtPnZhX2NvbnRleHQgPT0gVkFfSU5WQUxJ RF9JRCkgewo+ICvCoMKgwqDCoMKgwqDCoCBlcnIgPSBBVkVSUk9SKEVJTlZBTCk7Cj4gK8KgwqDC oMKgwqDCoMKgIGdvdG8gZmFpbDsKPiArwqDCoMKgIH0KPiArCj4gK8KgwqDCoCBvdXRwdXRfZnJh bWUgPSBmZl9nZXRfdmlkZW9fYnVmZmVyKG91dGxpbmssIG91dGxpbmstPncsIG91dGxpbmstPmgp Owo+ICvCoMKgwqAgaWYgKCFvdXRwdXRfZnJhbWUpIHsKPiArwqDCoMKgwqDCoMKgwqAgZXJyID0g QVZFUlJPUihFTk9NRU0pOwo+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGZhaWw7Cj4gK8KgwqDCoCB9 Cj4gKwo+ICvCoMKgwqAgZXJyID0gYXZfZnJhbWVfY29weV9wcm9wcyhvdXRwdXRfZnJhbWUsIGlu cHV0X2ZyYW1lKTsKPiArwqDCoMKgIGlmIChlcnIgPCAwKQo+ICvCoMKgwqDCoMKgwqDCoCBnb3Rv IGZhaWw7Cj4gKwo+ICvCoMKgwqAgZXJyID0gZmZfdmFhcGlfdnBwX2luaXRfcGFyYW1zKGF2Y3R4 LCAmcGFyYW1zLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnB1dF9mcmFtZSwgb3V0cHV0X2ZyYW1lKTsKPiAr wqDCoMKgIGlmIChlcnIgPCAwKQo+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGZhaWw7Cj4gKwo+ICvC oMKgwqAgcGFkX2N0eC0+cmVjdC54ID0gcGFkX2N0eC0+eDsKPiArwqDCoMKgIHBhZF9jdHgtPnJl Y3QueSA9IHBhZF9jdHgtPnk7Cj4gK8KgwqDCoCBwYWRfY3R4LT5yZWN0LndpZHRoID0gbGluay0+ dzsKPiArwqDCoMKgIHBhZF9jdHgtPnJlY3QuaGVpZ2h0ID0gbGluay0+aDsKPiArwqDCoMKgIHBh cmFtcy5vdXRwdXRfcmVnaW9uID0gJnBhZF9jdHgtPnJlY3Q7Cj4gKwo+ICvCoMKgwqAgcGFyYW1z Lm91dHB1dF9iYWNrZ3JvdW5kX2NvbG9yID0gKHBhZF9jdHgtPnBhZF9yZ2JhWzNdIDw8IDI0IHwK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcGFkX2N0eC0+cGFkX3JnYmFbMF0gPDwgMTYgfAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwYWRfY3R4LT5wYWRfcmdiYVsxXSA8PCA4IHwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcGFkX2N0eC0+cGFkX3JnYmFbMl0pOwo+ICsKPiArwqDCoMKgIGVyciA9IGZmX3ZhYXBp X3ZwcF9yZW5kZXJfcGljdHVyZShhdmN0eCwgJnBhcmFtcywgb3V0cHV0X2ZyYW1lKTsKPiArwqDC oMKgIGlmIChlcnIgPCAwKQo+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGZhaWw7Cj4gKwo+ICvCoMKg wqAgYXZfZnJhbWVfZnJlZSgmaW5wdXRfZnJhbWUpOwo+ICsKPiArwqDCoMKgIHJldHVybiBmZl9m aWx0ZXJfZnJhbWUob3V0bGluaywgb3V0cHV0X2ZyYW1lKTsKPiArCj4gK2ZhaWw6Cj4gK8KgwqDC oCBhdl9mcmFtZV9mcmVlKCZpbnB1dF9mcmFtZSk7Cj4gK8KgwqDCoCBhdl9mcmFtZV9mcmVlKCZv dXRwdXRfZnJhbWUpOwo+ICvCoMKgwqAgcmV0dXJuIGVycjsKPiArfQo+ICsKPiArc3RhdGljIGF2 X2NvbGQgaW50IHBhZF92YWFwaV9pbml0KEFWRmlsdGVyQ29udGV4dCAqYXZjdHgpCj4gK3sKPiAr wqDCoMKgIFZBQVBJVlBQQ29udGV4dCAqdnBwX2N0eCA9IGF2Y3R4LT5wcml2Owo+ICsKPiArwqDC oMKgIGZmX3ZhYXBpX3ZwcF9jdHhfaW5pdChhdmN0eCk7Cj4gK8KgwqDCoCB2cHBfY3R4LT5waXBl bGluZV91bmluaXQgPSBmZl92YWFwaV92cHBfcGlwZWxpbmVfdW5pbml0Owo+ICvCoMKgwqAgdnBw X2N0eC0+b3V0cHV0X2Zvcm1hdCA9IEFWX1BJWF9GTVRfTk9ORTsKPiArCj4gK8KgwqDCoCByZXR1 cm4gMDsKPiArfQo+ICsKPiArI2RlZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoUGFkVkFBUElDb250 ZXh0LCB4KQo+ICsjZGVmaW5lIEZMQUdTIEFWX09QVF9GTEFHX0ZJTFRFUklOR19QQVJBTXxBVl9P UFRfRkxBR19WSURFT19QQVJBTQo+ICsKPiArc3RhdGljIGNvbnN0IEFWT3B0aW9uIHBhZF92YWFw aV9vcHRpb25zW10gPSB7Cj4gK8KgwqDCoCB7ICJ3aWR0aCIswqAgInNldCB0aGUgcGFkIGFyZWEg d2lkdGgiLMKgwqDCoMKgwqDCoCBPRkZTRVQod19leHByKSwKPiBBVl9PUFRfVFlQRV9TVFJJTkcs IHsuc3RyID0gIml3In0sIDAsIDAsIEZMQUdTIH0sCj4gK8KgwqDCoCB7ICJ3IizCoMKgwqDCoMKg ICJzZXQgdGhlIHBhZCBhcmVhIHdpZHRoIizCoMKgwqDCoMKgwqAgT0ZGU0VUKHdfZXhwciksCj4g QVZfT1BUX1RZUEVfU1RSSU5HLCB7LnN0ciA9ICJpdyJ9LCAwLCAwLCBGTEFHUyB9LAo+ICvCoMKg wqAgeyAiaGVpZ2h0IiwgInNldCB0aGUgcGFkIGFyZWEgaGVpZ2h0IizCoMKgwqDCoMKgIE9GRlNF VChoX2V4cHIpLAo+IEFWX09QVF9UWVBFX1NUUklORywgey5zdHIgPSAiaWgifSwgMCwgMCwgRkxB R1MgfSwKPiArwqDCoMKgIHsgImgiLMKgwqDCoMKgwqAgInNldCB0aGUgcGFkIGFyZWEgaGVpZ2h0 IizCoMKgwqDCoMKgIE9GRlNFVChoX2V4cHIpLAo+IEFWX09QVF9UWVBFX1NUUklORywgey5zdHIg PSAiaWgifSwgMCwgMCwgRkxBR1MgfSwKPiArwqDCoMKgIHsgIngiLMKgwqDCoMKgwqAgInNldCB0 aGUgeCBvZmZzZXQgZm9yIHRoZSBpbnB1dCBpbWFnZSBwb3NpdGlvbiIsCj4gT0ZGU0VUKHhfZXhw ciksIEFWX09QVF9UWVBFX1NUUklORywgey5zdHIgPSAiMCJ9LCAwLCBJTlQxNl9NQVgsIEZMQUdT IH0sCj4gK8KgwqDCoCB7ICJ5IizCoMKgwqDCoMKgICJzZXQgdGhlIHkgb2Zmc2V0IGZvciB0aGUg aW5wdXQgaW1hZ2UgcG9zaXRpb24iLAo+IE9GRlNFVCh5X2V4cHIpLCBBVl9PUFRfVFlQRV9TVFJJ TkcsIHsuc3RyID0gIjAifSwgMCwgSU5UMTZfTUFYLCBGTEFHUyB9LAo+ICvCoMKgwqAgeyAiY29s b3IiLCAic2V0IHRoZSBjb2xvciBvZiB0aGUgcGFkZGVkIGFyZWEgYm9yZGVyIiwgT0ZGU0VUKHBh ZF9yZ2JhKSwKPiBBVl9PUFRfVFlQRV9DT0xPUiwgeyAuc3RyID0gImJsYWNrIiB9LCAwLCAwLCBG TEFHUyB9LAo+ICvCoMKgwqAgeyAiYXNwZWN0IizCoCAicGFkIHRvIGZpdCBhbiBhc3BlY3QgaW5z dGVhZCBvZiBhIHJlc29sdXRpb24iLAo+IE9GRlNFVChhc3BlY3QpLCBBVl9PUFRfVFlQRV9SQVRJ T05BTCwgey5kYmwgPSAwfSwgMCwgSU5UMTZfTUFYLCBGTEFHUyB9LAo+ICvCoMKgwqAgeyBOVUxM IH0KPiArfTsKPiArCj4gK0FWRklMVEVSX0RFRklORV9DTEFTUyhwYWRfdmFhcGkpOwo+ICsKPiAr c3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIHBhZF92YWFwaV9pbnB1dHNbXSA9IHsKPiArwqDCoMKg IHsKPiArwqDCoMKgwqDCoMKgwqAgLm5hbWUgPSAiZGVmYXVsdCIsCj4gK8KgwqDCoMKgwqDCoMKg IC50eXBlID0gQVZNRURJQV9UWVBFX1ZJREVPLAo+ICvCoMKgwqDCoMKgwqDCoCAuZmlsdGVyX2Zy YW1lID0gcGFkX3ZhYXBpX2ZpbHRlcl9mcmFtZSwKPiArwqDCoMKgwqDCoMKgwqAgLmNvbmZpZ19w cm9wcyA9ICZmZl92YWFwaV92cHBfY29uZmlnX2lucHV0LAo+ICvCoMKgwqAgfSwKPiArfTsKPiAr Cj4gK3N0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBwYWRfdmFhcGlfb3V0cHV0c1tdID0gewo+ICvC oMKgwqAgewo+ICvCoMKgwqDCoMKgwqDCoCAubmFtZSA9ICJkZWZhdWx0IiwKPiArwqDCoMKgwqDC oMKgwqAgLnR5cGUgPSBBVk1FRElBX1RZUEVfVklERU8sCj4gK8KgwqDCoMKgwqDCoMKgIC5jb25m aWdfcHJvcHMgPSAmcGFkX3ZhYXBpX2NvbmZpZ19vdXRwdXQsCj4gK8KgwqDCoCB9LAo+ICt9Owo+ ICsKPiArY29uc3QgQVZGaWx0ZXIgZmZfdmZfcGFkX3ZhYXBpID0gewo+ICvCoMKgwqAgLm5hbWXC oMKgwqDCoMKgwqDCoMKgwqDCoCA9ICJwYWRfdmFhcGkiLAo+ICvCoMKgwqAgLmRlc2NyaXB0aW9u wqDCoMKgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoIlBhZCB0aGUgaW5wdXQgdmlkZW8uIiksCj4g K8KgwqDCoCAucHJpdl9zaXplwqDCoMKgwqDCoCA9IHNpemVvZihQYWRWQUFQSUNvbnRleHQpLAo+ ICvCoMKgwqAgLnByaXZfY2xhc3PCoMKgwqDCoCA9ICZwYWRfdmFhcGlfY2xhc3MsCj4gK8KgwqDC oCAuaW5pdMKgwqDCoMKgwqDCoMKgwqDCoMKgID0gJnBhZF92YWFwaV9pbml0LAo+ICvCoMKgwqAg LnVuaW5pdMKgwqDCoMKgwqDCoMKgwqAgPSAmZmZfdmFhcGlfdnBwX2N0eF91bmluaXQsCj4gK8Kg wqDCoCBGSUxURVJfSU5QVVRTKHBhZF92YWFwaV9pbnB1dHMpLAo+ICvCoMKgwqAgRklMVEVSX09V VFBVVFMocGFkX3ZhYXBpX291dHB1dHMpLAo+ICvCoMKgwqAgRklMVEVSX1FVRVJZX0ZVTkMoJmZm X3ZhYXBpX3ZwcF9xdWVyeV9mb3JtYXRzKSwKPiArwqDCoMKgIC5mbGFnc19pbnRlcm5hbCA9IEZG X0ZJTFRFUl9GTEFHX0hXRlJBTUVfQVdBUkUsCj4gK307CgpIaSwKCkFueSBjb21tZW50IG9uIHRo aXMgcGF0Y2hzZXQ/IEknbGwgbWVyZ2UgaXQgaWYgdGhlcmUgYXJlIG5vIG9iamVjdGlvbnMuCgpU aGFua3MKSGFpaGFvCgoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5v cmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1 bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVl c3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K