From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.56747.1670352142265273158 for ; Tue, 06 Dec 2022 10:42:22 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=j394Qmly; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: zachary.clark-williams@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670352142; x=1701888142; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=mtPa06AUfxDWFYKjWz2ZuA/FZ+eWjxx/G/grXkSrZ4U=; b=j394QmlyRtoGuENiCHvTXr03Nzl9wDYTMaeNNlhkLPKnpKj8SnttGoPc cemR15M5ZU2Rsu0ChwHhynmiq7pSlQx6M1nzy6k6uDcJ7basTI6xpixlu 0t+hmBYZfO4QRdaRDE8mYl5PV8koob0o+tFFI8gbEFs3kdU06mkOLl4YA WaZhNUWH64FXPkCaaranF+SA3bPHaBdfMRKXa53oZ5UFYFHOGyvM3djDm 8kE3AEACMVK9lRLro6vEGO2mhh7KwpKxEmUkNRfLqMzIZIdzaWcFD0vLg 5Plrf2ly9OuIEM7WTY2cbcloEoyTCgHF1eVKf16jw5GYh1UAAyQf+vakR g==; X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="315411252" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="315411252" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Dec 2022 10:42:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="820678604" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="820678604" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga005.jf.intel.com with ESMTP; 06 Dec 2022 10:42:13 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 6 Dec 2022 10:41:59 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 6 Dec 2022 10:41:59 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Tue, 6 Dec 2022 10:41:59 -0800 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.175) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Tue, 6 Dec 2022 10:41:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UaHH1cZm2Z1rr/mbkVGdWbtJu8abxSC6rAkpzLTCnMq49QV2sEVmVyCRhhbKmrLIJNJhF8nMwfT+/ZhrnzbIy8OGcPhvCPuHvF9e072mObA1ddmNht2KjLF7nGyLJY059QYJmh/zM63oFfyM+JX/igAnd6Jh83+dPi3j9Z+xk7jv/aKhRZyASfq75vS71RiRh+RfVBGFBGYF2LLChtre/yQx7mDsv4gSkopp57ytgtaVnRUSK313gFe4vddhb9e12jel3nehNbQtr6TDQEQDuX17VRwp9lEVLb958sJzgnXSiHPRQ9ux/aEupCfgUeUQyJXjY54JTCKXHDowMkjhqA== 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=mtPa06AUfxDWFYKjWz2ZuA/FZ+eWjxx/G/grXkSrZ4U=; b=E6OELT8pbREGmKQkenitzNb+TrMNNZWTTdoYFXSdWqPHr68FXIbguhVqxasgsVYtYJH/9HNupIgp10/ClYFPxrjyCs0gmMyzD5y/PUtWMjAP5KtkHbC6f6nOlbQysc0Usbkddp35zPURmKeK3xMs7O4gSYob2cZDyij6V1mMYd9jXyOLuQIDw+0qyv9O/DuyAyWErjwgVjC35cK7AYNWTUhznfqWPyVGi2H6Q26u+zGtEnd9X6twvRVRGQe3Uw4FefS5Xv4RXiwRl+EZQm3qqFk/FQCZUUstn2EwOAbKQgDdG2Ene8Eux2olFEMsb8CdvUVbvk4iEm5iWHKqW8lhlA== 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 CO6PR11MB5601.namprd11.prod.outlook.com (2603:10b6:303:13d::7) by BL3PR11MB5698.namprd11.prod.outlook.com (2603:10b6:208:33d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec 2022 18:41:51 +0000 Received: from CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::c0cb:1048:4a2a:789a]) by CO6PR11MB5601.namprd11.prod.outlook.com ([fe80::c0cb:1048:4a2a:789a%7]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 18:41:51 +0000 From: "Clark-williams, Zachary" To: "devel@edk2.groups.io" , "Rabeda, Maciej" , "Zimmer, Vincent" , "Luo, Heng" , "Kuo, Scottie" , "Kuo, Ted" , "Dutkiewicz, Michal" , "Wu, Jiaxin" , "Otcheretianski, Andrei" , "Kasbekar, Saloni" , "Kinney, Michael D" , "Klos, Lukasz" , "Sulkowski, Michal" CC: "Alappat, Paul" , "Patil, Ajit" Subject: Re: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Topic: [edk2-devel] [PATCH v4] NetworkPkg/WifiProfileSync: Add WiFi profile sync protocol support Thread-Index: AQHY6jr1YBx+4nENxEWJqUx5LJQFoa4iq1aAgAGR5jCAAADHwIAEq9RQgAAdggCAAVFMoIAABJAAgAAAR5CAAT0igIAAN+MwgDWcboCAAACqMA== Date: Tue, 6 Dec 2022 18:41:50 +0000 Message-ID: References: <9102518d297546d349e9dcbaf9a87706ec8529e0.1664830666.git.zachary.clark-williams@intel.com> <1723CFBA04C671AE.15522@groups.io> In-Reply-To: Accept-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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR11MB5601:EE_|BL3PR11MB5698:EE_ x-ms-office365-filtering-correlation-id: 0534ceb1-d1f8-4b12-c1bc-08dad7b989e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NVdfjnqCbSvKOBfiWdZWhr7vhqglllIaNDyOYr7Qdgix6DOBbuRkqXXn15sEtQh2acZj5GgIr0JAw/Sb6QKNmFARdtf6a2+wnDPsVmJoPGCnEH29KrozshfougRn0OBeBfMrMg4xRQ3Ixp+BJcmXy2QDi8YJPnd2acq1mxGsPUKfFfj6uikBRauq51foLP/6XklAyMf5Iit7GMdfzvRTo013Vz9fyoGTT+2g1oXya0ym4GfZD++gvY26elAZCklfTiX6vrJgbtNUhJ+9Kchk3acMrRmgNVkqYTaS22NDesAotL+DCQ1I9adRqjhvzPtQPIeF7E/Il1s8eYvSGH8i8LSleQXPRX2QmkJBbWJ5CoTawOxBcLe8Hrl0eidsXn/vzQ9YH8nu1qwkpV2iZfJs0BMzqMhVe2OwJskaIKKltB6LwbO+Vx+BB3LEmdrROA+oSnK6b2+4vCH/eSeWGGsVNZaBnPBIbswpxZZ48v9BjVVDyQqTl8W73XMC5lK/deRV/UfiajODFitqckQz4B8In7dunbaTy0GM9pHLhuiZjA+eolClxx4ufiyT+p9gDCX+UJthnpjWMfv3EenT8Crf82jjPe7Z+vBs3vLCDHd7ADnik7xAVwk5J0DA12sVFxb9H3Sz2JbZ7DADJGzAEITHeb33Frn4DycT+Gg+g77h1PDoLlvAJh+vozfTM2nunI3/iICRYlmqwNq+ao+6cxo62bCa+MRUZy+NdABIb5xNqvWFmz1qwAQ/T/VVtUib28Be23hMTpp0juN2y1YTcwmS1Krdr2mx+4OBoGThJzDaG0B9+KnFhH0md1pmESSGXMPS x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5601.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(396003)(136003)(376002)(346002)(39860400002)(366004)(451199015)(82960400001)(54906003)(122000001)(33656002)(55016003)(38100700002)(921005)(38070700005)(86362001)(19627235002)(9686003)(110136005)(26005)(2940100002)(316002)(478600001)(6636002)(66899015)(64756008)(107886003)(966005)(7696005)(6506007)(83380400001)(53546011)(66556008)(2906002)(30864003)(5660300002)(8676002)(76116006)(66946007)(66446008)(71200400001)(66476007)(4326008)(8936002)(41300700001)(52536014)(186003)(559001)(579004)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TTh1RHJUTFk3YVVzMFBsaEltSzRRMGhoQkFGa0FWNTV1aDcwY2kzMHhtWnF2?= =?utf-8?B?YUxsNU0xcEJDUzVZMEptUThmZnBNZkVsSHpMOGJzWnRTWjJEaEljWjQyVWY0?= =?utf-8?B?UUpNeXVzbUwvZzRuWHpEbHZWOC9HdzZzN2xZbTNJVnpYS1E1SGJFUGxOWjRy?= =?utf-8?B?VjU4ZlpnVlBsTHhxalN4QW1KbU94N3lLSzN0cWlPNXU4aXRUVGQ4R1lBa3l4?= =?utf-8?B?TzJGRDdVU3N1djVzT2NWSXhYOWF6cFFZVjgyZEFUOFdCSkJqOWsyalc0cVQ4?= =?utf-8?B?ejE4REwvYzRUZXlnOVdualNDTm8rckovcFZ1QW53Sm94czZrUXoveU94NjY2?= =?utf-8?B?ZWhZWlpOaGZaTWswd2R5Nkk1ajhnaXFMK2FYNEhiWnZRM3dSUEd2UEl2dEUw?= =?utf-8?B?Z1JGNjdvVkhPMTRsRXA3dEJuQko2RXZ4NW9aMC9ydTQ0dnByblAxTVovK25k?= =?utf-8?B?WEdKcUhrLzd5ZkUrTnBzOG5TT3JVSG5XMVNWc090bUg0MUNWNkp2NThPdnNN?= =?utf-8?B?eDNFQlRLUHI3blZDTFJXbm1PK3ZuMTdaVVdjazhyMlFrY253NUhvMm9hRVly?= =?utf-8?B?d0tzWTA1SkNlM0d0TFl2bWFsN3JQc05waU9TTkhZNWxPWGoweTA3WVpNemdV?= =?utf-8?B?SG9wL29QTFFBblJ3Ulk2VzlhU1FnY1FraEVqNFRTazRKdnREbWpvWXZ1bW83?= =?utf-8?B?WVFMOEhxZS9RWDE1QzhFaWY4OHR1UytlZGZ4dUVScTY3KzZ6Q0NrUjVFTk5G?= =?utf-8?B?c0xxNjNtdFRIUmRodDBkMndWVzR0M1A0MDIvcmJUTjBicVNRK0Z2UHcwRldZ?= =?utf-8?B?NmdJWnRGcmFQRzRYYzRvNzd2d0J4VThEN3FVbzVWNSs2TExQVnZBdDV2UGs1?= =?utf-8?B?SWZodTZqOHU0K0h0bjBudlpQc2YxWVlpSGhZOWJUWTkxbDNIRzEwUDk1V2xz?= =?utf-8?B?bXpmcjF3T3BDVVBzRW9YUVpVWlNBVVk2NWZPbXU0VERLLytOVUZYS3hGMG9C?= =?utf-8?B?Rzh6WGxxcW8wMnRWNG1nMllPdWZBb3RFdHFCckVaQWJYTkEwRW1rS2xZYlNE?= =?utf-8?B?MFg2amdmejNSaVZwZ1g5dTlFR2UxeDFIRkdET2R1N1VEQ2VmSVc4dVJ4aVQ5?= =?utf-8?B?VUxEbHNsZlMzZHNpZ1VqYWdhRzV6UGxzaE05Q3JXdW5QN1NFdkFndExqVkVs?= =?utf-8?B?c1V3Mzd5NlZOa2tqK3hGWUVLR09rR3hLaXByVGhCSmEzTGFka2VFMGgveTBK?= =?utf-8?B?bGl5dkkvcjhtaTh6a0E0V2M3bldHWUVSYUd6ZENaQVhOQUxDWUNKbllGbjhW?= =?utf-8?B?TVlTck1FR0NWQ2g2a2c1VTYwMGZDQ1ZhYnBOSGpPK0dMYmFTcU0xdXBwYm9u?= =?utf-8?B?ZDVaMG1ZaW1YeitseUhaOGFQK1dHZEl3UmUxMmJOK2liT0pMblRsNlA4RmJS?= =?utf-8?B?cGs3TUJlNW5CLzhseUFPN1VJQ1B6OUhQbVlTOEtEaWlCRE9YOE9JRmE2TFJM?= =?utf-8?B?OXJNa0d6V0FFWExDcTN3STRoQTQzMXpkMDExUkJyQ2p1MXdEQkhXSUhBZkxo?= =?utf-8?B?TGd5eUwzSTJTeFlBR3RCUU5vWUZMN2c0K3hpT3E5NlJhQ2xmclhYS3FyeDlY?= =?utf-8?B?RmlaZ21mTEZQc3lleVpqOFQ2STF3WmZUaU1ZVTI1bUdKZURpRTcxaHptQnFh?= =?utf-8?B?UEhWbE0rVHRQNGtlUHNkbW1aOCtpTzZremk4b2pWN3BtZjQvaUVrcDBraTgx?= =?utf-8?B?M3NSWTE2TjFGRTNTMFRIQ2N4Mml5TjVpNDVSKy8rWmZ6TGRtL1BOeGxjeWZG?= =?utf-8?B?SUN5T0JEcG8xSUpoaU83L3R3RlI3UkhjTmlCSGVvVmdLSEpNSnpIN3dJdDMw?= =?utf-8?B?SThia1JmcVpWVkRwYVJBanlqSFFNbGZHdHF2Vm1IN0JRcExnK2FvOUYzS2gx?= =?utf-8?B?azBXTmlFbU10cU5Qa0UvWWxjbWJXQ09TZVE5a256VWF3QzdwUnRVYkFjU0ZL?= =?utf-8?B?MlEvRllRMGVBTjg3NFhqYlBJNnBYTjlnTm9GZklsb1Mrck9vUndXM0t0VkEz?= =?utf-8?B?TVE5L2I3Wmc4UkFjWk91SFFwdThaUXRCVGN0emtjLzZad1YybmtURmNTT1lt?= =?utf-8?B?WDVtSmY4czlGbjJxbGJIMkVyQU1iY3BFZ3RkWXpTYXlidXJxVDN6UWpVdXdK?= =?utf-8?Q?8LJ/WP+qqndErVR8M8le5IQ=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5601.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0534ceb1-d1f8-4b12-c1bc-08dad7b989e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 18:41:50.8516 (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: fvF5Kd7ovEGft7iQaWen+9YJ4jCwylahJ5MiwudYPGPT6+vdl9h/wJr4tyOJ8EBpmVk0K79Kxw8XaUpruDG+HugqmxmeeSH0alUr9iHDSURO0t3bvOCWklGPOwtriOo8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5698 Return-Path: zachary.clark-williams@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 KysgTWljaGFsJ3MgY292ZXJhZ2UgTWljaGFsIGFuZCBMdWthc3oNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4gDQpTZW50OiBUdWVzZGF5LCBEZWNlbWJlciA2LCAyMDIyIDEw OjM4IEFNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5 IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNvbT47IFJhYmVkYSwgTWFjaWVqIDxtYWNp ZWoucmFiZWRhQGludGVsLmNvbT47IFppbW1lciwgVmluY2VudCA8dmluY2VudC56aW1tZXJAaW50 ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNj b3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtp ZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgV3UsIEppYXhpbiA8 amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5vdGNo ZXJldGlhbnNraUBpbnRlbC5jb20+OyBLYXNiZWthciwgU2Fsb25pIDxzYWxvbmkua2FzYmVrYXJA aW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KQ2M6IEFsYXBwYXQsIFBhdWwgPHBhdWwuYWxhcHBhdEBpbnRlbC5jb20+OyBQYXRpbCwgQWpp dCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRD SCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBw cm90b2NvbCBzdXBwb3J0DQoNCkhleSBNYWNpZWogYW5kIEFsbCwNCg0KSXMgdGhlcmUgYW55IHVw ZGF0ZSBpbiBhYmlsaXR5IHRvIHJldmlldyB0aGlzIHBhdGNoIGZvciBXaWZpIFByb2ZpbGUgU3lu YyBQcm90b2NvbCBhbmQgV2lmaSBDb25uZWN0aW9uIE1hbmFnZXI/DQoNClRoYW5rIHlvdSwNClph Y2sNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRldmVsQGVkazIuZ3JvdXBz LmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIENsYXJrLXdpbGxpYW1zLCBa YWNoYXJ5DQpTZW50OiBXZWRuZXNkYXksIE5vdmVtYmVyIDIsIDIwMjIgODo1OCBBTQ0KVG86IFJh YmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IFppbW1lciwgVmluY2VudCA8 dmluY2VudC56aW1tZXJAaW50ZWwuY29tPjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+ OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUua3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3Vv QGludGVsLmNvbT47IER1dGtpZXdpY3osIE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwu Y29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5j b20+OyBPdGNoZXJldGlhbnNraSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwu Y29tPjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25pLmthc2Jla2FyQGludGVsLmNvbT47IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCkNjOiBBbGFwcGF0LCBQ YXVsIDxwYXVsLmFsYXBwYXRAaW50ZWwuY29tPjsgUGF0aWwsIEFqaXQgPGFqaXQucGF0aWxAaW50 ZWwuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cv V2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0K DQpIZXkgTWFjaWVqLA0KDQpJIGNhbiB1bmRlcnN0YW5kIHRoYXQgYW5kIGFwcHJlY2lhdGUgdGhl IGF0dGVudGlvbiB5b3UgY2FuIHNwYXJlIGZvciByZXZpZXdpbmcgdGhpcyBjaGFuZ2UuIA0KSWYg dGhlcmUgYXJlIGFueSBwZWVycyB5b3Uga25vdyB3aG8gY2FuL3dpbGwgd2FudCB0byByZXZpZXcg b3IgaGF2ZSB2YWx1YWJsZSBpbnB1dCBvbiB0aGlzIFBSIHBsZWFzZSBmZWVsIGZyZWUgdG8gc2Vu ZCB0aGVtIGFuIGludml0ZSB0byByZXZpZXcuDQoNClRoYW5rcywNClphY2sNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGlu dGVsLmNvbT4NClNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMiwgMjAyMiA1OjM1IEFNDQpUbzog Q2xhcmstd2lsbGlhbXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29t PjsgWmltbWVyLCBWaW5jZW50IDx2aW5jZW50LnppbW1lckBpbnRlbC5jb20+OyBMdW8sIEhlbmcg PGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29t PjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNo YWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgV3UsIEppYXhp biA8amlheGluLnd1QGludGVsLmNvbT47IE90Y2hlcmV0aWFuc2tpLCBBbmRyZWkgPGFuZHJlaS5v dGNoZXJldGlhbnNraUBpbnRlbC5jb20+OyBLYXNiZWthciwgU2Fsb25pIDxzYWxvbmkua2FzYmVr YXJAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KQ2M6IEFsYXBwYXQsIFBhdWwgPHBhdWwuYWxhcHBhdEBpbnRlbC5jb20+OyBQYXRpbCwg QWppdCA8YWppdC5wYXRpbEBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQ QVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3lu YyBwcm90b2NvbCBzdXBwb3J0DQoNCkBLaW5uZXksIE1pY2hhZWwgRA0KV2l0aCB0aGUgYW1vdW50 IG9mIHdvcmsgYXJvdW5kIElQVXMsIEkgY2FuIGhhcmRseSBzcGFyZSB0aW1lIChtYXliZSAyaC93 ZWVrIG9uIGF2ZXJhZ2UgLSBpbmNsdWRpbmcgY29kZSkuDQpNeSB0aW1lIGZvciBFREsyIGlzIGN1 cnJlbnRseSBmdWxseSBhbGxvY2F0ZWQgdG86DQoxLiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9j b3JlL2VkazItc3RhZ2luZy90cmVlL0h0dHBQcm94eSAoQEthc2Jla2FyLCBTYWxvbmkpIDIuIE5W TWUtb0YgYm9vdCBwcm90b3R5cGUgdW5kZXIgbnZtZS5vcmcgdW1icmVsbGEgKEBaaW1tZXIsIFZp bmNlbnQpDQoNCkBDbGFyay13aWxsaWFtcywgWmFjaGFyeQ0KWW91ciBwYXRjaCBpcyBub24tdHJp dmlhbCBhbmQgcmVxdWlyZXMgdW5kZXJzdGFuZGluZyBvbiBteSBzaWRlLiBCYXNlZCBvbiB0aGF0 IGFuZCB0aGUgYWJvdmUsIHRoaXMgd2lsbCB0YWtlIHRpbWUuDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFjaGFyeS5jbGFyay13 aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAxLCAyMDIyIDY6NDEg UE0NClRvOiBaaW1tZXIsIFZpbmNlbnQgPHZpbmNlbnQuemltbWVyQGludGVsLmNvbT47IFJhYmVk YSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGludGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9A aW50ZWwuY29tPjsgS3VvLCBTY290dGllIDxzY290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRl ZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBEdXRraWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3 aWN6QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBXdSwgSmlheGluIDxqaWF4aW4u d3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5za2ksIEFuZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFu c2tpQGludGVsLmNvbT4NCkNjOiBBbGFwcGF0LCBQYXVsIDxwYXVsLmFsYXBwYXRAaW50ZWwuY29t PjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25pLmthc2Jla2FyQGludGVsLmNvbT47IFBhdGlsLCBB aml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BB VENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5j IHByb3RvY29sIHN1cHBvcnQNCg0KR3JlYXQgdGhhbmsgeW91IFZpbmNlbnQsIEkgd2lsbCBhZGQg dGhlbSB0byB0aGUgcHJvdG9jb2wgaGVhZGVyIGZpbGUgYW5kIHNlbmQgYW4gdXBkYXRlZCBwYXRj aCB0b2RheS4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFppbW1lciwgVmlu Y2VudCA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tPg0KU2VudDogVHVlc2RheSwgTm92ZW1iZXIg MSwgMjAyMiAxMDozOSBBTQ0KVG86IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNs YXJrLXdpbGxpYW1zQGludGVsLmNvbT47IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGlu dGVsLmNvbT47IEx1bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29tPjsgS3VvLCBTY290dGllIDxz Y290dGllLmt1b0BpbnRlbC5jb20+OyBLdW8sIFRlZCA8dGVkLmt1b0BpbnRlbC5jb20+OyBEdXRr aWV3aWN6LCBNaWNoYWwgPG1pY2hhbC5kdXRraWV3aWN6QGludGVsLmNvbT47IGRldmVsQGVkazIu Z3JvdXBzLmlvOyBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgT3RjaGVyZXRpYW5z a2ksIEFuZHJlaSA8YW5kcmVpLm90Y2hlcmV0aWFuc2tpQGludGVsLmNvbT4NCkNjOiBBbGFwcGF0 LCBQYXVsIDxwYXVsLmFsYXBwYXRAaW50ZWwuY29tPjsgS2FzYmVrYXIsIFNhbG9uaSA8c2Fsb25p Lmthc2Jla2FyQGludGVsLmNvbT47IFBhdGlsLCBBaml0IDxhaml0LnBhdGlsQGludGVsLmNvbT4N ClN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9m aWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBzeW5jIHByb3RvY29sIHN1cHBvcnQNCg0KVGhhdCdz IGdyZWF0DQpJZiB0aGVzZSBsaW5rcyBhcmUgbm90IGFscmVhZHkgaW4gdGhlIC5oIGZpbGVzIG9m IHRoZSBwYXRjaCBJJ2QgYWRkIHRoZW0uDQpUeXBpY2FsbHkgdGhlIHVlZmkgbmV0d29ya2luZyBj b2RlIGxldmVyYWdlcyB1ZWZpIHNwZWMgb3IgaWV0ZiByZmMncyBvciBvdGhlciBwdWJsaWMgY29s bGF0ZXJhbC4gIExldHRpbmcgZm9sa3Mga25vdyB0aGUgYmFja2dyb3VuZCBvZiB0aGVzZSBpbnRl cmZhY2VzIHdpdGggYSByZWZlcmVuY2Ugc2hvdWxkIGhlbHAgY29uc3VtZXJzIElNSE8gVmluY2Vu dA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2xhcmstd2lsbGlhbXMsIFph Y2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPg0KU2VudDogVHVlc2RheSwg Tm92ZW1iZXIgMSwgMjAyMiAxMDozNSBBTQ0KVG86IFppbW1lciwgVmluY2VudCA8dmluY2VudC56 aW1tZXJAaW50ZWwuY29tPjsgUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50ZWwuY29t PjsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUu a3VvQGludGVsLmNvbT47IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtpZXdpY3os IE1pY2hhbCA8bWljaGFsLmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW87IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBPdGNoZXJldGlhbnNraSwgQW5k cmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPg0KQ2M6IEFsYXBwYXQsIFBhdWwg PHBhdWwuYWxhcHBhdEBpbnRlbC5jb20+OyBLYXNiZWthciwgU2Fsb25pIDxzYWxvbmkua2FzYmVr YXJAaW50ZWwuY29tPjsgUGF0aWwsIEFqaXQgPGFqaXQucGF0aWxAaW50ZWwuY29tPg0KU3ViamVj dDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5j OiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpIZXkgVmluY2VudCwN Cg0KVGhlIGRvY3VtZW50YXRpb24gZm9yIGRlc2NyaWJpbmcgdGhlIGZlYXR1cmVzIGluIHRoZSBQ UiBkZXNjcmlwdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIENTTUUgZG9jdW1lbnRhdGlvbiBmb3Vu ZCBvbiB0aGUgcHVibGljIGFjY2Vzc2libGUgaW50ZWwgbGluayBiZWxvdy4NCg0KT0NSIC0gaHR0 cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vc2l0ZXMvbWFuYWdlYWJpbGl0eS9BTVRfSW1wbGVtZW50 YXRpb25fYW5kX1JlZmVyZW5jZV9HdWlkZS9kZWZhdWx0Lmh0bT90dXJsPVdvcmREb2N1bWVudHMl MkZvbmVjbGlja3JlY292ZXJ5Lmh0bQ0KDQpLVk0gLSBodHRwczovL3NvZnR3YXJlLmludGVsLmNv bS9zaXRlcy9tYW5hZ2VhYmlsaXR5L0FNVF9JbXBsZW1lbnRhdGlvbl9hbmRfUmVmZXJlbmNlX0d1 aWRlL2RlZmF1bHQuaHRtP3R1cmw9V29yZERvY3VtZW50cyUyRm9uZWNsaWNrcmVjb3ZlcnkuaHRt DQoNClRoYW5rcywNClphY2sNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFpp bW1lciwgVmluY2VudCA8dmluY2VudC56aW1tZXJAaW50ZWwuY29tPg0KU2VudDogTW9uZGF5LCBP Y3RvYmVyIDMxLCAyMDIyIDI6MTYgUE0NClRvOiBDbGFyay13aWxsaWFtcywgWmFjaGFyeSA8emFj aGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxd IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUg c3luYyBwcm90b2NvbCBzdXBwb3J0DQoNClF1aWNrIHF1ZXN0aW9uDQoNCkFyZSB0aGUgZmVhdHVy ZXMgZGVzY3JpYmVkIGluICIgRW5hYmxlcyBLVk0gYW5kIE9uZSBDbGljayBSZWNvdmVyeSBXTEFO IGNhcGFiaWxpdHkgd2l0aCBXaUZpIFByb2ZpbGUgU3luYyBmZWF0dXJlIGFuZCBwcm90b2NvbC4g QWRkaW5nIFdpRmlQcm9maWxlU3luY1Byb3RvY29sLCB3aGljaCBzdXBwb3J0cyB0aGUgcHJvZmls ZXN5bmMgZHJpdmVyIG9wZXJhdGlvbnMgZm9yIHRyYW5zZmVycmluZyBXaUZpIHByb2ZpbGVzIGZy b20gQU1UIHRvIHRoZSBTdXBwbGljYW50LiBXaUZpQ29ubmVjdGlvbk1hbmFnZXIgd2lsbCBjaGVj ayBmb3IgdGhlIFdpZmlQcm9maWxlU3luY1Byb3RvY29sIGFuZCBpZiBmb3VuZCB3aWxsIG9wZXJh dGUgb24gdGhlIHByZW1pc2Ugb2YgYSBPbmUgQ2xpY2sgUmVjb3ZlcnksIG9yIEtWTSBmbG93IHdp dGggYSBXaWZpIHByb2ZpbGUgcHJvdmlkZWQgYnkgQU1ULiIgaW4gYSBwdWJsaWMgZG9jdW1lbnQ/ ICBUaGluZ3MgbGlrZSBjb25jZXB0IG9mIHByb2ZpbGUgc3luYz8gIEknbSBndWVzc2luZyB0aGV5 IGFyZSBzaW5jZSBMaW51eCBwcm9iYWJseSBkb2VzIHRoZSBzYW1lIGluIHRoZSBpbnRlbCBpd2wg ZHJpdmVyPw0KDQpWaW5jZW50DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBD bGFyay13aWxsaWFtcywgWmFjaGFyeQ0KU2VudDogTW9uZGF5LCBPY3RvYmVyIDMxLCAyMDIyIDEy OjMxIFBNDQpUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PjsgUmFiZWRhLCBNYWNpZWogPG1hY2llai5yYWJlZGFAaW50ZWwuY29tPjsgTHVvLCBIZW5nIDxo ZW5nLmx1b0BpbnRlbC5jb20+OyBLdW8sIFNjb3R0aWUgPHNjb3R0aWUua3VvQGludGVsLmNvbT47 IEt1bywgVGVkIDx0ZWQua3VvQGludGVsLmNvbT47IER1dGtpZXdpY3osIE1pY2hhbCA8bWljaGFs LmR1dGtpZXdpY3pAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87ICdGdSwgU2l5dWFu JyA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+ OyBPdGNoZXJldGlhbnNraSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29t Pg0KQ2M6IEFsYXBwYXQsIFBhdWwgPHBhdWwuYWxhcHBhdEBpbnRlbC5jb20+OyBLYXNiZWthciwg U2Fsb25pIDxzYWxvbmkua2FzYmVrYXJAaW50ZWwuY29tPjsgUGF0aWwsIEFqaXQgPGFqaXQucGF0 aWxAaW50ZWwuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE5ldHdv cmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3Vw cG9ydA0KDQorKyB2aXNpYmlsaXR5DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9t OiBDbGFyay13aWxsaWFtcywgWmFjaGFyeQ0KU2VudDogRnJpZGF5LCBPY3RvYmVyIDI4LCAyMDIy IDE6MTMgUE0NClRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+OyBSYWJlZGEsIE1hY2llaiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcg PGhlbmcubHVvQGludGVsLmNvbT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29t PjsgS3VvLCBUZWQgPHRlZC5rdW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNo YWwuZHV0a2lld2ljekBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRnUsIFNpeXVh biA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+ OyBPdGNoZXJldGlhbnNraSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29t Pg0KU3ViamVjdDogUkU6IFtQQVRDSCB2NF0gTmV0d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFk ZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBzdXBwb3J0DQoNCisrTW9yZSBmb3IgcmV2aWV3 YWwhDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywg WmFjaGFyeQ0KU2VudDogRnJpZGF5LCBPY3RvYmVyIDI4LCAyMDIyIDE6MTAgUE0NClRvOiBLaW5u ZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBSYWJlZGEsIE1hY2ll aiA8bWFjaWVqLnJhYmVkYUBpbnRlbC5jb20+OyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNv bT47IEt1bywgU2NvdHRpZSA8c2NvdHRpZS5rdW9AaW50ZWwuY29tPjsgS3VvLCBUZWQgPHRlZC5r dW9AaW50ZWwuY29tPjsgRHV0a2lld2ljeiwgTWljaGFsIDxtaWNoYWwuZHV0a2lld2ljekBpbnRl bC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KU3ViamVjdDogUkU6IFtQQVRDSCB2NF0gTmV0 d29ya1BrZy9XaWZpUHJvZmlsZVN5bmM6IEFkZCBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBz dXBwb3J0DQoNClRoYW5rcyBmb3IgdGhlIGZvcndhcmQgTWlrZSENCg0KTWFjaWVqIGFuZCBBbGws IA0KDQpJZiB5b3UgY291bGQgcGxlYXNlIHJldmlldyB0aGUgUFIgYmVsb3cuIEkgd291bGQgbGlr ZSB0byBnZXQgdGhpcyByZXZpZXcgY29tcGxldGVkIHdpdGhpbiB0aGUgd2Vlay4NCg0KVGhhbmtz LA0KWmFjaw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogS2lubmV5LCBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KU2VudDogVGh1cnNkYXksIE9jdG9i ZXIgMjcsIDIwMjIgMTowOSBQTQ0KVG86IFJhYmVkYSwgTWFjaWVqIDxtYWNpZWoucmFiZWRhQGlu dGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IENsYXJrLXdpbGxpYW1zLCBaYWNoYXJ5IDx6YWNoYXJ5LmNsYXJrLXdpbGxpYW1zQGludGVsLmNv bT4NClN1YmplY3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lmaVByb2ZpbGVTeW5jOiBB ZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpIaSBNYWNpZWosDQoNCkNh biB5b3UgcGxlYXNlIGhlbHAgcmV2aWV3IHRoZXNlIE5ldHdvcmtQa2cgY2hhbmdlcy4NCg0KSSBh bSBub3Qgc3VyZSBpZiB5b3UgbW9uaXRvciB5b3VyIGxpbnV4LmludGVsLmNvbSBhY2NvdW50IGFz IGNsb3NlbHkgYXMgeW91ciBpbnRlbC5jb20gYWNjb3VudC4NCg0KVGhhbmtzLA0KDQpNaWtlDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFy eSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0 b2JlciAyNywgMjAyMiAxMjozMyBQTQ0KVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT4NClN1YmplY3Q6IEZXOiBbUEFUQ0ggdjRdIE5ldHdvcmtQa2cvV2lm aVByb2ZpbGVTeW5jOiBBZGQgV2lGaSBwcm9maWxlIHN5bmMgcHJvdG9jb2wgc3VwcG9ydA0KDQpI ZXkgTWlrZSwNCg0KSSdtIHN0cnVnZ2xpbmcgdG8gZ2V0IGFueSBmZWVkYmFjayBvbiB0aGlzIFBS LiBEbyB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbnMgdG8gZ2V0IGJldHRlciB2aXNpYmlsaXR5IGFu ZCByZXNwb25zZXMgc28gSSBjYW4gZ2V0IHRoaXMgbWl2aW5nPw0KDQpUaGFua3MsDQpaYWNrDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDbGFyay13aWxsaWFtcywgWmFjaGFy eSA8emFjaGFyeS5jbGFyay13aWxsaWFtc0BpbnRlbC5jb20+DQpTZW50OiBUaHVyc2RheSwgT2N0 b2JlciAyNywgMjAyMiAxMjozMSBQTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogWmFj aGFyeSBDbGFyay1XaWxsaWFtcyA8emNsYXJrdzExMkBnbWFpbC5jb20+OyBNYWNpZWogUmFiZWRh IDxtYWNpZWoucmFiZWRhQGxpbnV4LmludGVsLmNvbT47IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGlu dGVsLmNvbT47IFd1LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBPdGNoZXJldGlhbnNr aSwgQW5kcmVpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29tPjsgQ2xhcmstd2lsbGlh bXMsIFphY2hhcnkgPHphY2hhcnkuY2xhcmstd2lsbGlhbXNAaW50ZWwuY29tPg0KU3ViamVjdDog W1BBVENIIHY0XSBOZXR3b3JrUGtnL1dpZmlQcm9maWxlU3luYzogQWRkIFdpRmkgcHJvZmlsZSBz eW5jIHByb3RvY29sIHN1cHBvcnQNCg0KRnJvbTogWmFjaGFyeSBDbGFyay1XaWxsaWFtcyA8emNs YXJrdzExMkBnbWFpbC5jb20+DQoNClJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3Jn L3Nob3dfYnVnLmNnaT9pZD0zODQ1DQoNCkVuYWJsZXMgS1ZNIGFuZCBPbmUgQ2xpY2sgUmVjb3Zl cnkgV0xBTiBjYXBhYmlsaXR5IHdpdGggV2lGaSBQcm9maWxlIFN5bmMgZmVhdHVyZSBhbmQgcHJv dG9jb2wuIEFkZGluZyBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCwgd2hpY2ggc3VwcG9ydHMgdGhl IHByb2ZpbGVzeW5jIGRyaXZlciBvcGVyYXRpb25zIGZvciB0cmFuc2ZlcnJpbmcgV2lGaSBwcm9m aWxlcyBmcm9tIEFNVCB0byB0aGUgU3VwcGxpY2FudC4gV2lGaUNvbm5lY3Rpb25NYW5hZ2VyIHdp bGwgY2hlY2sgZm9yIHRoZSBXaWZpUHJvZmlsZVN5bmNQcm90b2NvbCBhbmQgaWYgZm91bmQgd2ls bCBvcGVyYXRlIG9uIHRoZSBwcmVtaXNlIG9mIGEgT25lIENsaWNrIFJlY292ZXJ5LCBvciBLVk0g ZmxvdyB3aXRoIGEgV2lmaSBwcm9maWxlIHByb3ZpZGVkIGJ5IEFNVC4NCg0KQ2M6IE1hY2llaiBS YWJlZGEgPG1hY2llai5yYWJlZGFAbGludXguaW50ZWwuY29tPg0KQ2M6IEZ1IFNpeXVhbiA8c2l5 dWFuLmZ1QGludGVsLmNvbT4NCkNjOiBXdSBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+DQpD YzogQW5kcmVpIE90Y2hlcmV0aWFuc2tpIDxhbmRyZWkub3RjaGVyZXRpYW5za2lAaW50ZWwuY29t Pg0KDQpTaWduZWQtb2ZmLWJ5OiBaYWNoYXJ5IENsYXJrLVdpbGxpYW1zIDx6YWNoYXJ5LmNsYXJr LXdpbGxpYW1zQGludGVsLmNvbT4NCi0tLQ0KIC4uLi9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQ cm90b2NvbC5oICAgICAgICB8ICA4MyArKysrKysrKw0KIE5ldHdvcmtQa2cvTmV0d29ya1BrZy5k ZWMgICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQogLi4uL1dpZmlDb25uZWN0aW9uTWFuYWdl ckR4ZS5pbmYgICAgICAgICAgICAgIHwgICAzICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyQ29u ZmlnTlZEYXRhU3RydWN0LmggICAgIHwgICAyICstDQogLi4uL1dpZmlDb25uZWN0aW9uTWdyRHJp dmVyLmMgICAgICAgICAgICAgICAgIHwgMTI2ICsrKysrKysrLS0tLQ0KIC4uLi9XaWZpQ29ubmVj dGlvbk1nckR4ZS5oICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQ0KIC4uLi9XaWZpQ29ubmVj dGlvbk1nckltcGwuYyAgICAgICAgICAgICAgICAgICB8IDE5MyArKysrKysrKysrKysrKysrLS0N CiAuLi4vV2lmaUNvbm5lY3Rpb25NZ3JNaXNjLmMgICAgICAgICAgICAgICAgICAgfCAgMTMgKysN CiA4IGZpbGVzIGNoYW5nZWQsIDM2NyBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBOZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wvV2lGaVByb2ZpbGVT eW5jUHJvdG9jb2wuaA0KDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9JbmNsdWRlL1Byb3RvY29s L1dpRmlQcm9maWxlU3luY1Byb3RvY29sLmggYi9OZXR3b3JrUGtnL0luY2x1ZGUvUHJvdG9jb2wv V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwMDAuLmUzNmRhY2VhYmYNCi0tLSAvZGV2L251bGwNCisrKyBiL05ldHdvcmtQa2cvSW5j bHVkZS9Qcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQpAQCAtMCwwICsxLDgzIEBA DQorLyoqIEBmaWxlDQorICBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbC4gU3VwcG9ydHMgT25l IENsaWNrIFJlY292ZXJ5IG9yIEtWTSBPUyANCityZWNvdmVyeQ0KKyAgYm9vdCBmbG93IG92ZXIg V2lGaS4NCisNCisgIENvcHlyaWdodCAoYykgMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KKw0KKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQgKiovDQorDQorI2lmbmRlZiBXSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NP TF9IXw0KKyNkZWZpbmUgV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0xfSF8NCisNCisjaW5jbHVk ZSA8V2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyQ29uZmlnLmg+DQor DQorLy8NCisvLyAgV2lGaSBQcm9maWxlIFN5bmMgUHJvdG9jb2wgR1VJRCB2YXJpYWJsZS4NCisv Lw0KK2V4dGVybiBFRklfR1VJRCAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZDsNCisN CisvKioNCisgIFVzZWQgYnkgdGhlIFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHRvIGdldCB0aGUg V2lGaSBwcm9maWxlIHRoYXQgQU1UIA0KK3NoYXJlZA0KKyAgYW5kIHdhcyBzdG9yZWQgaW4gV2lG aSBwcm9maWxlIHByb3RvY29sLiBBbGlnbnMgdGhlIEFNVCBXaUZpIHByb2ZpbGUgDQorZGF0YSB0 bw0KKyAgdGhlIFdpRmkgY29ubmVjdGlvbiBtYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJlIGZvIGNv bm5lY3Rpb24gdXNlLg0KKw0KKyAgQHBhcmFtW2luLCBvdXRdICBXY21Qcm9maWxlICAgICAgIFdp RmkgQ29ubmVjdGlvbiBNYW5hZ2VyIHByb2ZpbGUgc3RydWN0dXJlDQorICBAcGFyYW1baW4sIG91 dF0gIE1hY0FkZHJlc3MgICAgICAgTUFDIGFkZHJlc3MgZnJvbSBBTVQgc2F2ZWQgdG8gTmlDIE1B QyBhZGRyZXNzDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgU3RvcmVk IFdpRmkgcHJvZmlsZSBjb252ZXJ0ZWQgYW5kIHJldHVybmVkIHN1Y2NlZnVsbHkNCisgIEByZXR2 YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgICBQcm9maWxlIHByb3RvY29sIHNoYXJpbmcgbm90 IHN1cHBvcnRlZCBvciBlbmFibGVkDQorICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAg ICAgTm8gcHJvZmlsZXMgdG8gcmV0dXJuZWQNCisgIEByZXR2YWwgT3RoZXJzICAgICAgICAgICAg ICAgICAgICBFcnJvciBPY2N1cnJlZA0KKyoqLw0KK3R5cGVkZWYNCitFRklfU1RBVFVTDQorKEVG SUFQSSAqV0lGSV9QUk9GSUxFX0dFVCkoDQorICBJTiBPVVQgIFdJRklfTUdSX05FVFdPUktfUFJP RklMRSAgKlByb2ZpbGUsDQorICBJTiBPVVQgIEVGSV84MDIxMV9NQUNfQUREUkVTUyAgICAgTWFj QWRkcmVzcw0KKyAgKTsNCisNCisvKioNCisgIFNhdmVzIHRoZSBXaUZpIGNvbm5lY3Rpb24gc3Rh dHVzIHJlY2lldmVkIGJ5IHRoZSANCitXaUZpQ29ubmVjdGlvbk1hbmFnZXIgd2hlbg0KKyAgaW4g YSBLVk0gT1IgT25lIENsaWNrIFJlY292ZXJ5IFdMQU4gcmVjb3ZlcnkgZmxvdy4gSW5wdXQgYXMN CisgIEVGSV84MDIxMV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgdGhlbiBjb252ZXJ0ZWQg YW5kIHN0b3JlZCBhcyBFRklfU1RBVFVTIHR5cGUuDQorDQorICBAcGFyYW1baW5dIENvbm5lY3Rp b25TdGF0dXMgICAgIFdpRmkgY29ubmVjdGlvbiBhdHRlbXB0IHJlc3VsdHMNCisqKi8NCit0eXBl ZGVmDQorVk9JRA0KKyhFRklBUEkgKldJRklfU0VUX0NPTk5FQ1RfU1RBVEUpKA0KKyAgSU4gIEVG SV84MDIxMV9DT05ORUNUX05FVFdPUktfUkVTVUxUX0NPREUgQ29ubmVjdGlvblN0YXR1cw0KKyAg KTsNCisNCisvKioNCisgIFJldHJpZXZlcyB0aGUgc3RvcmVkIFdpRmkgY29ubmVjdGlvbiBzdGF0 dXMgd2hlbiBpbiBlaXRoZXIgS1ZNIE9SIE9uZSANCitDbGljaw0KKyAgUmVjb3ZlcnkgV0xBTiBy ZWNvdmVyeSBmbG93Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgIFdp RmkgY29ubmVjdGlvbiBjb21wbGV0ZWQgc3VjY2VzZnVsbHkNCisgIEByZXR2YWwgT3RoZXJzICAg ICAgICAgICAgICAgICAgICBDb25uZWN0aW9uIGZhaWx1cmUgb2NjdXJyZWQNCisqKi8NCit0eXBl ZGVmDQorRUZJX1NUQVRVUw0KKyhFRklBUEkgKldJRklfR0VUX0NPTk5FQ1RfU1RBVEUpKA0KKyAg Vk9JRA0KKyAgKTsNCisNCisvLw0KKy8vICBXaUZpIFByb2ZpbGUgU3luYyBQcm90b2NvbCBzdHJ1 Y3R1cmUuDQorLy8NCit0eXBlZGVmIHN0cnVjdCB7DQorICBVSU5UMzIgICAgICAgICAgICAgICAg ICAgIFJldmlzaW9uOw0KKyAgV0lGSV9TRVRfQ09OTkVDVF9TVEFURSAgICBXaWZpUHJvZmlsZVN5 bmNTZXRDb25uZWN0U3RhdGU7DQorICBXSUZJX0dFVF9DT05ORUNUX1NUQVRFICAgIFdpZmlQcm9m aWxlU3luY0dldENvbm5lY3RTdGF0ZTsNCisgIFdJRklfUFJPRklMRV9HRVQgICAgICAgICAgV2lm aVByb2ZpbGVTeW5jR2V0UHJvZmlsZTsNCit9IEVGSV9XSUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NP TDsNCisNCisvKioNCisgIFdpRmkgUHJvZmlsZSBQcm90b2NvbCByZXZpc2lvbiBudW1iZXIuDQor DQorICBSZXZpc2lvbiAxOiAgIEluaXRpYWwgdmVyc2lvbg0KKyoqLw0KKyNkZWZpbmUgRUZJX1dJ RklfUFJPRklMRV9TWU5DX1BST1RPQ09MX1JFVklTSU9OICAxDQorDQorI2VuZGlmIC8vICBXSUZJ X1BST0ZJTEVfU1lOQ19QUk9UT0NPTF9IXw0KZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvTmV0d29y a1BrZy5kZWMgYi9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjIGluZGV4IDVlNDNlYmY4YzUuLjUz ZmIzNGM0YTAgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjDQorKysgYi9O ZXR3b3JrUGtnL05ldHdvcmtQa2cuZGVjDQpAQCAtOTEsNiArOTEsOSBAQA0KICAgIyMgSW5jbHVk ZS9Qcm90b2NvbC9IdHRwQ2FsbGJhY2suaA0KICAgZ0Vka2lpSHR0cENhbGxiYWNrUHJvdG9jb2xH dWlkICA9IHsweDYxMTExNGYxLCAweGEzN2IsIDB4NDQ2OCwgezB4YTQsIDB4MzYsIDB4NWIsIDB4 ZGQsIDB4YTEsIDB4NmEsIDB4YTIsIDB4NDB9fQ0KIA0KKyAgIyMgSW5jbHVkZS9Qcm90b2NvbC9X aUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oDQorICBnRWZpV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2xH dWlkID0gezB4Mzk5YTJiOGEsIDB4YzI2NywgMHg0NGFhLCB7MHg5YSwgDQorIDB4YjQsIDB4MzAs IDB4NTgsIDB4OGMsIDB4ZDIsIDB4MmQsIDB4Y2N9fQ0KKw0KIFtQY2RzRml4ZWRBdEJ1aWxkXQ0K ICAgIyMgVGhlIG1heCBhdHRlbXB0IG51bWJlciB3aWxsIGJlIGNyZWF0ZWQgYnkgaVNDU0kgZHJp dmVyLg0KICAgIyBAUHJvbXB0IE1heCBhdHRlbXB0IG51bWJlci4NCmRpZmYgLS1naXQgYS9OZXR3 b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUu aW5mIGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25N YW5hZ2VyRHhlLmluZg0KaW5kZXggNDM5NGI2ZjRiYi4uN2UzNjAxNmNmOCAxMDA2NDQNCi0tLSBh L05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWFuYWdl ckR4ZS5pbmYNCisrKyBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlD b25uZWN0aW9uTWFuYWdlckR4ZS5pbmYNCkBAIC05LDcgKzksNyBAQA0KICMgIDIpLiBXUEEyIFBl cnNvbmFsIE5ldHdvcmsNCiAjICAzKS4gRUFQIE5ldHdvcmtzIChFQVAtVExTLCBFQVAtVFRMUy9N U0NIQVB2MiBhbmQgUEVBUHYwL01TQ0hBUHYyKSAgIyAtIyAgQ29weXJpZ2h0IChjKSAyMDE5LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQorIyAgQ29weXJpZ2h0 IChjKSAyMDE5IC0gMjAyMiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgDQorcmVzZXJ2 ZWQuPEJSPg0KICMNCiAjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudCAgIyBAQCAtNzEsNiArNzEsNyBAQA0KICAgZ0VmaUFkYXB0ZXJJbmZvcm1hdGlvblByb3Rv Y29sR3VpZCAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KICAgZ0VmaVN1cHBsaWNh bnRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0K ICAgZ0VmaUVhcENvbmZpZ3VyYXRpb25Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICMjIFNPTUVU SU1FU19DT05TVU1FUw0KKyAgZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCAgICAgICAg ICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KIA0KIFtHdWlkc10NCiAgIGdXaWZpQ29uZmln R3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBQUk9EVUNFUyAgIyMgR1VJRA0K ZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25u ZWN0aW9uTWdyQ29uZmlnTlZEYXRhU3RydWN0LmggYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9u TWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckNvbmZpZ05WRGF0YVN0cnVjdC5oDQppbmRleCBi NTUxOGE3NGQ4Li5kY2M0YmY3ZTI3IDEwMDY0NA0KLS0tIGEvTmV0d29ya1BrZy9XaWZpQ29ubmVj dGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JDb25maWdOVkRhdGFTdHJ1Y3QuaA0KKysr IGIvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JD b25maWdOVkRhdGFTDQorKysgdHJ1Y3QuaA0KQEAgLTI1LDcgKzI1LDcgQEANCiANCiAjZGVmaW5l IFBBU1NXT1JEX01JTl9MRU4gICAgICAgOA0KICNkZWZpbmUgUEFTU1dPUkRfTUFYX0xFTiAgICAg ICA2Mw0KLSNkZWZpbmUgUEFTU1dPUkRfU1RPUkFHRV9TSVpFICA2NA0KKyNkZWZpbmUgUEFTU1dP UkRfU1RPUkFHRV9TSVpFICA2NQ0KIA0KICNkZWZpbmUgRUFQX0lERU5USVRZX0xFTiAgIDYzDQog I2RlZmluZSBFQVBfSURFTlRJVFlfU0laRSAgNjQNCmRpZmYgLS1naXQgYS9OZXR3b3JrUGtnL1dp ZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckRyaXZlci5jIGIvTmV0d29y a1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEcml2ZXIuYw0K aW5kZXggNjdhMDFjYTA1OC4uOTdjYTdhOWYwYiAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lm aUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVyLmMNCisrKyBiL05l dHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHJpdmVy LmMNCkBAIC0xLDcgKzEsNyBAQA0KIC8qKiBAZmlsZQ0KICAgVGhlIGRyaXZlciBiaW5kaW5nIHBy b3RvY29sIGZvciB0aGUgV2lGaSBDb25uZWN0aW9uIE1hbmFnZXIuDQogDQotICBDb3B5cmlnaHQg KGMpIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCisg IENvcHlyaWdodCAoYykgMjAxOSAtIDIwMjIsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IA0KKyByZXNlcnZlZC48QlI+DQogDQogICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KIA0KQEAgLTM5LDYgKzM5LDExIEBAIEVGSV9HVUlEICBtV2lmaUNvbmZp Z05ldHdvcmtMaXN0UmVmcmVzaEd1aWQgPSBXSUZJX0NPTkZJR19ORVRXT1JLX0xJU1RfUkVGUkVT SF9HDQogRUZJX0dVSUQgIG1XaWZpQ29uZmlnQ29ubmVjdEZvcm1SZWZyZXNoR3VpZCA9IFdJRklf Q09ORklHX0NPTk5FQ1RfRk9STV9SRUZSRVNIX0dVSUQ7DQogRUZJX0dVSUQgIG1XaWZpQ29uZmln TWFpbkZvcm1SZWZyZXNoR3VpZCAgICA9IFdJRklfQ09ORklHX01BSU5fRk9STV9SRUZSRVNIX0dV SUQ7DQogDQorLy8NCisvLyBXaWZpIGNvbm5lY3Rpb24gYXR0ZW1wdCBjb3VudGVyIGZvciByZXRy aWVzIC8vIGV4dGVybiBVSU5UOCANCittV2lmaUNvbm5lY3Rpb25Db3VudDsNCisNCiAvKioNCiAg IFRlc3RzIHRvIHNlZSBpZiB0aGlzIGRyaXZlciBzdXBwb3J0cyBhIGdpdmVuIGNvbnRyb2xsZXIu IElmIGEgY2hpbGQgZGV2aWNlIGlzIHByb3ZpZGVkLA0KICAgaXQgZnVydGhlciB0ZXN0cyB0byBz ZWUgaWYgdGhpcyBkcml2ZXIgc3VwcG9ydHMgY3JlYXRpbmcgYSBoYW5kbGUgZm9yIHRoZSBzcGVj aWZpZWQgY2hpbGQgZGV2aWNlLg0KQEAgLTE2Nyw4ICsxNzIsMTAgQEAgV2lmaU1nckR4ZURyaXZl ckJpbmRpbmdTdGFydCAoDQogICBFRklfV0lSRUxFU1NfTUFDX0NPTk5FQ1RJT05fSUlfUFJPVE9D T0wgICpXbXA7DQogICBFRklfU1VQUExJQ0FOVF9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICpT dXBwbGljYW50Ow0KICAgRUZJX0VBUF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAgICAgICAgICAq RWFwQ29uZmlnOw0KKyAgRUZJX1dJRklfUFJPRklMRV9TWU5DX1BST1RPQ09MICAgICAgICAgICAq V2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQotICBOaWMgPSBOVUxMOw0KKyAgbVdpZmlDb25u ZWN0aW9uQ291bnQgPSAwOw0KKyAgTmljICAgICAgICAgICAgICAgICAgPSBOVUxMOw0KIA0KICAg Ly8NCiAgIC8vIE9wZW4gUHJvdG9jb2xzDQpAQCAtMjM2LDQ3ICsyNDMsNzMgQEAgV2lmaU1nckR4 ZURyaXZlckJpbmRpbmdTdGFydCAoDQogICBJbml0aWFsaXplTGlzdEhlYWQgKCZOaWMtPlByb2Zp bGVMaXN0KTsNCiANCiAgIC8vDQotICAvLyBSZWNvcmQgdGhlIE1BQyBhZGRyZXNzIG9mIHRoZSBp bmNvbWluZyBOSUMuDQorICAvLyBXaUZpIHByb2ZpbGUgc3luYyBwcm90b2NvbCBpbnN0YWxsYXRp b24gY2hlY2sgZm9yIE9TIHJlY292ZXJ5IGZsb3cuDQogICAvLw0KLSAgU3RhdHVzID0gTmV0TGli R2V0TWFjQWRkcmVzcyAoDQotICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQotICAgICAg ICAgICAgIChFRklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRyZXNzLA0KLSAgICAgICAgICAg ICAmQWRkcmVzc1NpemUNCi0gICAgICAgICAgICAgKTsNCi0gIGlmIChFRklfRVJST1IgKFN0YXR1 cykpIHsNCi0gICAgZ290byBFUlJPUjI7DQotICB9DQotDQotICAvLw0KLSAgLy8gQ3JlYXRlIGFu ZCBzdGFydCB0aGUgdGltZXIgZm9yIHRoZSBzdGF0dXMgY2hlY2sNCi0gIC8vDQotICBTdGF0dXMg PSBnQlMtPkNyZWF0ZUV2ZW50ICgNCi0gICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05B TCB8IEVWVF9USU1FUiwNCi0gICAgICAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQotICAgICAg ICAgICAgICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0KLSAgICAgICAgICAgICAgICAgIE5pYywN Ci0gICAgICAgICAgICAgICAgICAmTmljLT5UaWNrVGltZXINCisgIFN0YXR1cyA9IGdCUy0+TG9j YXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaVByb2ZpbGVTeW5jUHJv dG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAg KFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sDQogICAgICAgICAgICAgICAgICAgKTsN Ci0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCi0gICAgZ290byBFUlJPUjI7DQotICB9DQor ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0 d29yayA9IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxvY2F0ZVplcm9Qb29sIChzaXpl b2YgKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVu ZGluZ05ldHdvcmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VS Q0VTOw0KKyAgICAgIGdvdG8gRVJST1IxOw0KKyAgICB9DQogDQotICBTdGF0dXMgPSBnQlMtPlNl dFRpbWVyIChOaWMtPlRpY2tUaW1lciwgVGltZXJQZXJpb2RpYywgRUZJX1RJTUVSX1BFUklPRF9N SUxMSVNFQ09ORFMgKDUwMCkpOw0KLSAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KLSAgICBn b3RvIEVSUk9SMzsNCi0gIH0NCisgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9m aWxlU3luY0dldFByb2ZpbGUgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMtPk1hY0Fk ZHJlc3MpOw0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgIT0gTlVMTCkgew0K KyAgICAgIFN0YXR1cyA9IFdpZmlNZ3JDb25uZWN0VG9OZXR3b3JrIChOaWMsIE5pYy0+Q29ubmVj dFBlbmRpbmdOZXR3b3JrKTsNCisgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAg ICAgICBXaUZpUHJvZmlsZVN5bmNQcm90b2NvbC0+V2lmaVByb2ZpbGVTeW5jU2V0Q29ubmVjdFN0 YXRlIChTdGF0dXMpOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBnb3RvIEVSUk9S MTsNCisgICAgfQ0KKyAgfSBlbHNlIHsNCisgICAgLy8NCisgICAgLy8gUmVjb3JkIHRoZSBNQUMg YWRkcmVzcyBvZiB0aGUgaW5jb21pbmcgTklDLg0KKyAgICAvLw0KKyAgICBTdGF0dXMgPSBOZXRM aWJHZXRNYWNBZGRyZXNzICgNCisgICAgICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KKyAg ICAgICAgICAgICAgIChFRklfTUFDX0FERFJFU1MgKikmTmljLT5NYWNBZGRyZXNzLA0KKyAgICAg ICAgICAgICAgICZBZGRyZXNzU2l6ZQ0KKyAgICAgICAgICAgICAgICk7DQorICAgIGlmIChFRklf RVJST1IgKFN0YXR1cykpIHsNCisgICAgICBnb3RvIEVSUk9SMjsNCisgICAgfQ0KIA0KLSAgTmlj LT5Db25uZWN0U3RhdGUgPSBXaWZpTWdyRGlzY29ubmVjdGVkOw0KLSAgTmljLT5TY2FuU3RhdGUg ICAgPSBXaWZpTWdyU2NhbkZpbmlzaGVkOw0KKyAgICAvLw0KKyAgICAvLyBDcmVhdGUgYW5kIHN0 YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHN0YXR1cyBjaGVjaw0KKyAgICAvLw0KKyAgICBTdGF0dXMg PSBnQlMtPkNyZWF0ZUV2ZW50ICgNCisgICAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lH TkFMIHwgRVZUX1RJTUVSLA0KKyAgICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KKyAg ICAgICAgICAgICAgICAgICAgV2lmaU1nck9uVGltZXJUaWNrLA0KKyAgICAgICAgICAgICAgICAg ICAgTmljLA0KKyAgICAgICAgICAgICAgICAgICAgJk5pYy0+VGlja1RpbWVyDQorICAgICAgICAg ICAgICAgICAgICApOw0KKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290 byBFUlJPUjI7DQorICAgIH0NCiANCi0gIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxM QkFDSyk7DQotICBJbnNlcnRUYWlsTGlzdCAoJm1Qcml2YXRlLT5OaWNMaXN0LCAmTmljLT5MaW5r KTsNCi0gIE5pYy0+TmljSW5kZXggPSBtUHJpdmF0ZS0+TmljQ291bnQrKzsNCi0gIGlmIChtUHJp dmF0ZS0+Q3VycmVudE5pYyA9PSBOVUxMKSB7DQotICAgIG1Qcml2YXRlLT5DdXJyZW50TmljID0g TmljOw0KLSAgfQ0KKyAgICBTdGF0dXMgPSBnQlMtPlNldFRpbWVyIChOaWMtPlRpY2tUaW1lciwg VGltZXJQZXJpb2RpYywgRUZJX1RJTUVSX1BFUklPRF9NSUxMSVNFQ09ORFMgKDUwMCkpOw0KKyAg ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgICAgZ290byBFUlJPUjM7DQorICAgIH0N CiANCi0gIGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCisgICAgTmljLT5Db25uZWN0U3RhdGUg PSBXaWZpTWdyRGlzY29ubmVjdGVkOw0KKyAgICBOaWMtPlNjYW5TdGF0ZSAgICA9IFdpZmlNZ3JT Y2FuRmluaXNoZWQ7DQorDQorICAgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFD Syk7DQorICAgIEluc2VydFRhaWxMaXN0ICgmbVByaXZhdGUtPk5pY0xpc3QsICZOaWMtPkxpbmsp Ow0KKyAgICBOaWMtPk5pY0luZGV4ID0gbVByaXZhdGUtPk5pY0NvdW50Kys7DQorICAgIGlmICht UHJpdmF0ZS0+Q3VycmVudE5pYyA9PSBOVUxMKSB7DQorICAgICAgbVByaXZhdGUtPkN1cnJlbnRO aWMgPSBOaWM7DQorICAgIH0NCisNCisgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KKyAg fQ0KIA0KICAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KICAgICAg ICAgICAgICAgICAgICZDb250cm9sbGVySGFuZGxlLA0KQEAgLTM4NSwxMCArNDE4LDExIEBAIFdp ZmlNZ3JEeGVEcml2ZXJCaW5kaW5nU3RvcCAoDQogICBJTiBFRklfSEFORExFICAgICAgICAgICAg ICAgICAgICpDaGlsZEhhbmRsZUJ1ZmZlciBPUFRJT05BTA0KICAgKQ0KIHsNCi0gIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIEVGSV9UUEwgICAgICAgICAgICAgICAgICAg IE9sZFRwbDsNCi0gIFdJRklfTUdSX1BSSVZBVEVfUFJPVE9DT0wgICpXaWZpTWdySWRlbnRpZmll cjsNCi0gIFdJRklfTUdSX0RFVklDRV9EQVRBICAgICAgICpOaWM7DQorICBFRklfU1RBVFVTICAg ICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9UUEwgICAgICAgICAgICAgICAgICAg ICAgICAgT2xkVHBsOw0KKyAgV0lGSV9NR1JfUFJJVkFURV9QUk9UT0NPTCAgICAgICAqV2lmaU1n cklkZW50aWZpZXI7DQorICBXSUZJX01HUl9ERVZJQ0VfREFUQSAgICAgICAgICAgICpOaWM7DQor ICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmlsZVN5bmNQcm90b2Nv bDsNCiANCiAgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sICgNCiAgICAgICAgICAgICAgICAg ICBDb250cm9sbGVySGFuZGxlLA0KQEAgLTQ4MSw3ICs1MTUsMTUgQEAgV2lmaU1nckR4ZURyaXZl ckJpbmRpbmdTdG9wICgNCiAgIC8vDQogICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExfQ0FM TEJBQ0spOw0KIA0KLSAgUmVtb3ZlRW50cnlMaXN0ICgmTmljLT5MaW5rKTsNCisgIFN0YXR1cyA9 IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KKyAgICAgICAgICAgICAgICAgICZnRWZpV2lGaVByb2Zp bGVTeW5jUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAg ICAgICAgICAgKFZPSUQgKiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sDQorICAgICAgICAgICAg ICAgICAgKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgUmVtb3ZlRW50cnlM aXN0ICgmTmljLT5MaW5rKTsNCisgIH0NCisNCiAgIG1Qcml2YXRlLT5OaWNDb3VudC0tOw0KICAg aWYgKG1Qcml2YXRlLT5DdXJyZW50TmljID09IE5pYykgew0KICAgICBtUHJpdmF0ZS0+Q3VycmVu dE5pYyA9IE5VTEw7DQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFn ZXJEeGUvV2lmaUNvbm5lY3Rpb25NZ3JEeGUuaCBiL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25N YW5hZ2VyRHhlL1dpZmlDb25uZWN0aW9uTWdyRHhlLmgNCmluZGV4IDdiMmU0MWUxNTUuLjA0N2Y4 NWRiYzIgMTAwNjQ0DQotLS0gYS9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nckR4ZS5oDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFu YWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nckR4ZS5oDQpAQCAtNDcsNiArNDcsNyBAQA0KICNpbmNs dWRlIDxQcm90b2NvbC9TaW1wbGVOZXR3b3JrLmg+DQogI2luY2x1ZGUgPFByb3RvY29sL1NpbXBs ZUZpbGVTeXN0ZW0uaD4NCiAjaW5jbHVkZSA8UHJvdG9jb2wvRWFwQ29uZmlndXJhdGlvbi5oPg0K KyNpbmNsdWRlIDxQcm90b2NvbC9XaUZpUHJvZmlsZVN5bmNQcm90b2NvbC5oPg0KIA0KIC8vDQog Ly8gUHJvZHVjZWQgUHJvdG9jb2xzDQpAQCAtNzMsNyArNzQsOCBAQA0KIC8vDQogI2RlZmluZSBX SUZJX01HUl9EWEVfVkVSU0lPTiAgMHhiDQogDQotI2RlZmluZSBPVUlfSUVFRV84MDIxMUkgIDB4 QUMwRjAwDQorI2RlZmluZSBPVUlfSUVFRV84MDIxMUkgICAgICAgICAgICAgIDB4QUMwRjAwDQor I2RlZmluZSBNQVhfV0lGSV9DT05ORVRJT05fQVRURU1QVFMgIDMNCiANCiB0eXBlZGVmIGVudW0g ew0KICAgSWVlZTgwMjExUGFpcndpc2VDaXBoZXJTdWl0ZVVzZUdyb3VwQ2lwaGVyU3VpdGUgPSAw LCBkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJEeGUvV2lmaUNv bm5lY3Rpb25NZ3JJbXBsLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nckltcGwuYw0KaW5kZXggNTliYWM0OGM0Mi4uYTczYWI5ZjcxMCAxMDA2 NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dpZmlDb25uZWN0 aW9uTWdySW1wbC5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFuYWdlckR4ZS9X aWZpQ29ubmVjdGlvbk1nckltcGwuYw0KQEAgLTE5LDYgKzE5LDggQEAgRUZJX0VBUF9UWVBFICBt RWFwU2Vjb25kQXV0aE1ldGhvZFtdID0gew0KICAgRUZJX0VBUF9UWVBFX01TQ0hBUFYyDQogfTsN CiANCitVSU5UOCAgbVdpZmlDb25uZWN0aW9uQ291bnQgPSAwOw0KKw0KIC8qKg0KICAgVGhlIGNh bGxiYWNrIGZ1bmN0aW9uIGZvciBzY2FuIG9wZXJhdGlvbi4gVGhpcyBmdW5jdGlvbiB1cGRhdGVz IG5ldHdvcmtzDQogICBhY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBzY2FuIHJlc3VsdCwgYW5kIHRy aWdnZXIgVUkgcmVmcmVzaC4NCkBAIC00MjQsMTggKzQyNiwyNiBAQCBXaWZpTWdyQ29uZmlnUGFz c3dvcmQgKA0KICAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCiAgIH0NCiANCi0gIEFzY2lpUGFz c3dvcmQgPSBBbGxvY2F0ZVplcm9Qb29sICgoU3RyTGVuIChQcm9maWxlLT5QYXNzd29yZCkgKyAx KSAqIHNpemVvZiAoVUlOVDgpKTsNCisgIGlmIChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSA+ PSBQQVNTV09SRF9TVE9SQUdFX1NJWkUpIHsNCisgICAgQVNTRVJUIChFRklfSU5WQUxJRF9QQVJB TUVURVIpOw0KKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KKyAgfQ0KKw0KKyAg QXNjaWlQYXNzd29yZCA9IEFsbG9jYXRlWmVyb1Bvb2wgKChTdHJMZW4gKFByb2ZpbGUtPlBhc3N3 b3JkKSArIDEpICogDQorIHNpemVvZiAoQ0hBUjgpKTsNCiAgIGlmIChBc2NpaVBhc3N3b3JkID09 IE5VTEwpIHsNCiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgfQ0KIA0KLSAg VW5pY29kZVN0clRvQXNjaWlTdHJTIChQcm9maWxlLT5QYXNzd29yZCwgKENIQVI4ICopQXNjaWlQ YXNzd29yZCwgUEFTU1dPUkRfU1RPUkFHRV9TSVpFKTsNCi0gIFN0YXR1cyA9IFN1cHBsaWNhbnQt PlNldERhdGEgKA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBTdXBwbGljYW50LA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICBFZmlTdXBwbGljYW50ODAyMTFQc2tQYXNzd29yZCwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgQXNjaWlQYXNzd29yZCwNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgKFN0ckxlbiAoUHJvZmlsZS0+UGFzc3dvcmQpICsgMSkgKiBzaXplb2YgKFVJTlQ4KQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICApOw0KKyAgU3RhdHVzID0gVW5pY29kZVN0clRvQXNj aWlTdHJTIChQcm9maWxlLT5QYXNzd29yZCwgKENIQVI4IA0KKyAqKUFzY2lpUGFzc3dvcmQsIChT dHJMZW4gKFByb2ZpbGUtPlBhc3N3b3JkKSArIDEpKTsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMp KSB7DQorICAgIFN0YXR1cyA9IFN1cHBsaWNhbnQtPlNldERhdGEgKA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN1cHBsaWNhbnQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgRWZp U3VwcGxpY2FudDgwMjExUHNrUGFzc3dvcmQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg QXNjaWlQYXNzd29yZCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoU3RyTGVuIChQcm9m aWxlLT5QYXNzd29yZCkgKyAxKSAqIHNpemVvZiAoQ0hBUjgpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCisgIH0NCisNCiAgIFplcm9NZW0gKEFzY2lpUGFzc3dvcmQsIEFzY2lpU3Ry TGVuICgoQ0hBUjggKilBc2NpaVBhc3N3b3JkKSArIDEpOw0KICAgRnJlZVBvb2wgKEFzY2lpUGFz c3dvcmQpOw0KIA0KQEAgLTQ2Niw2ICs0NzYsNyBAQCBXaWZpTWdyQ29uZmlnRWFwICgNCiAgICkN CiB7DQogICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCisgIEVGSV9X SUZJX1BST0ZJTEVfU1lOQ19QUk9UT0NPTCAgKldpRmlQcm9maWxlU3luY1Byb3RvY29sOw0KICAg RUZJX0VBUF9DT05GSUdVUkFUSU9OX1BST1RPQ09MICAqRWFwQ29uZmlnOw0KICAgRUZJX0VBUF9U WVBFICAgICAgICAgICAgICAgICAgICBFYXBBdXRoTWV0aG9kOw0KICAgRUZJX0VBUF9UWVBFICAg ICAgICAgICAgICAgICAgICBFYXBTZWNvbmRBdXRoTWV0aG9kOw0KQEAgLTU2Nyw3ICs1NzgsMTMg QEAgV2lmaU1nckNvbmZpZ0VhcCAoDQogICAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VT Ow0KICAgICB9DQogDQotICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyUyAoUHJvZmlsZS0+RWFwSWRl bnRpdHksIElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0 ZVByb3RvY29sICgmZ0VmaVdpRmlQcm9maWxlU3luY1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQg KiopJldpRmlQcm9maWxlU3luY1Byb3RvY29sKTsNCisgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1 cykpIHsNCisgICAgICBDb3B5TWVtIChJZGVudGl0eSwgJlByb2ZpbGUtPkVhcElkZW50aXR5LCBJ ZGVudGl0eVNpemUpOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIFVuaWNvZGVTdHJUb0FzY2lpU3Ry UyAoUHJvZmlsZS0+RWFwSWRlbnRpdHksIElkZW50aXR5LCBJZGVudGl0eVNpemUpOw0KKyAgICB9 DQorDQogICAgIFN0YXR1cyA9IEVhcENvbmZpZy0+U2V0RGF0YSAoDQogICAgICAgICAgICAgICAg ICAgICAgICAgICBFYXBDb25maWcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfRUFQ X1RZUEVfSURFTlRJVFksIEBAIC04OTIsNiArOTA5LDEzMyBAQCBXaWZpTWdyUHJlcGFyZUNvbm5l Y3Rpb24gKA0KICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCiANCisvKioNCisgIFdpbGwgcmVz ZXQgTmlDIGRhdGEsIGdldCBwcm9maWxlIGZyb20gcHJvZmlsZSBzeW5jIGRyaXZlciwgYW5kIHNl bmQgDQorZm9yDQorICBhbm90aGVyIGNvbm5lY3Rpb24gYXR0ZW1wdC5UaGlzIGZ1bmN0aW9uIHNo b3VsZCBub3QgYmUgY2FsbGVkIG1vcmUgDQordGhhbg0KKyAgMyB0aW1lcy4NCisNCisgIEBwYXJh bVtpbl0gIFdpRmlQcm9maWxlU3luY1Byb3RvY29sICBUaGUgdGFyZ2V0IG5ldHdvcmsgcHJvZmls ZSB0byBjb25uZWN0Lg0KKw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICAg IFRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkLg0KKyAgQHJldHZhbCBvdGhlciAgICAgICAgICAg ICAgICAgICAgICAgIE9wZXJhdGlvbiBmYWlsdXJlLg0KKw0KKyoqLw0KK0VGSV9TVEFUVVMNCitD b25uZWN0aW9uUmV0cnkgKA0KKyAgSU4gICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wg ICpXaUZpUHJvZmlsZVN5bmNQcm90b2NvbA0KKyAgKQ0KK3sNCisgIEVGSV9TVEFUVVMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KKyAgV0lGSV9NR1JfREVWSUNFX0RBVEEg ICAgICAgICAgICAgICAgICAgICAqTmljOw0KKyAgRUZJX1dJUkVMRVNTX01BQ19DT05ORUNUSU9O X0lJX1BST1RPQ09MICAqV21wOw0KKyAgRUZJX1NVUFBMSUNBTlRfUFJPVE9DT0wgICAgICAgICAg ICAgICAgICAqU3VwcGxpY2FudDsNCisgIEVGSV9FQVBfQ09ORklHVVJBVElPTl9QUk9UT0NPTCAg ICAgICAgICAgKkVhcENvbmZpZzsNCisNCisgIE5pYyA9IE5VTEw7DQorDQorICBTdGF0dXMgPSBn QlMtPkxvY2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVdpRmkyUHJvdG9j b2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAgICAgICAgICAgICAgKFZP SUQgKiopJldtcA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBTdGF0dXMgPSBnQlMtPkxv Y2F0ZVByb3RvY29sICgNCisgICAgICAgICAgICAgICAgICAmZ0VmaVN1cHBsaWNhbnRQcm90b2Nv bEd1aWQsDQorICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICAgICAoVk9J RCAqKikmU3VwcGxpY2FudA0KKyAgICAgICAgICAgICAgICAgICk7DQorICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpKSB7DQorICAgIFN1cHBsaWNhbnQgPSBOVUxMOw0KKyAgfQ0KKw0KKyAgU3RhdHVz ID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQorICAgICAgICAgICAgICAgICAgJmdFZmlFYXBDb25m aWd1cmF0aW9uUHJvdG9jb2xHdWlkLA0KKyAgICAgICAgICAgICAgICAgIE5VTEwsDQorICAgICAg ICAgICAgICAgICAgKFZPSUQgKiopJkVhcENvbmZpZw0KKyAgICAgICAgICAgICAgICAgICk7DQor ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIEVhcENvbmZpZyA9IE5VTEw7DQorICB9 DQorDQorICAvLw0KKyAgLy8gSW5pdGlhbGl6ZSBOaWMgZGV2aWNlIGRhdGENCisgIC8vDQorICBO aWMgPSBBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdSX0RFVklDRV9EQVRBKSk7ICBp ZiAoTmljID09DQorIE5VTEwpIHsNCisgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7 DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQorICBOaWMtPlNpZ25hdHVyZSAgICAgICAg ICAgPSBXSUZJX01HUl9ERVZJQ0VfREFUQV9TSUdOQVRVUkU7DQorICBOaWMtPlByaXZhdGUgICAg ICAgICAgICAgPSBtUHJpdmF0ZTsNCisgIE5pYy0+V21wICAgICAgICAgICAgICAgICA9IFdtcDsN CisgIE5pYy0+U3VwcGxpY2FudCAgICAgICAgICA9IFN1cHBsaWNhbnQ7DQorICBOaWMtPkVhcENv bmZpZyAgICAgICAgICAgPSBFYXBDb25maWc7DQorICBOaWMtPlVzZXJTZWxlY3RlZFByb2ZpbGUg PSBOVUxMOw0KKyAgTmljLT5PbmVUaW1lU2NhblJlcXVlc3QgID0gRkFMU0U7DQorDQorICBpZiAo TmljLT5TdXBwbGljYW50ICE9IE5VTEwpIHsNCisgICAgU3RhdHVzID0gV2lmaU1nckdldFN1cHBv cnRlZFN1aXRlcyAoTmljKTsgIH0NCisNCisgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQor ICAgIEluaXRpYWxpemVMaXN0SGVhZCAoJk5pYy0+UHJvZmlsZUxpc3QpOw0KKw0KKyAgICBOaWMt PkNvbm5lY3RQZW5kaW5nTmV0d29yayA9IChXSUZJX01HUl9ORVRXT1JLX1BST0ZJTEUgKilBbGxv Y2F0ZVplcm9Qb29sIChzaXplb2YgKFdJRklfTUdSX05FVFdPUktfUFJPRklMRSkpOw0KKyAgICBp ZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsgPT0gTlVMTCkgew0KKyAgICAgIFN0YXR1cyA9 IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lG aSBDb25uZWN0aW9uIE1hbmFnZXJdIEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIENvbm5l Y3RQZW5kaW5nTmV0d29ya1xuIikpOw0KKyAgICAgIGdvdG8gRVJST1I7DQorICAgIH0NCisNCisg ICAgU3RhdHVzID0gV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY0dldFBy b2ZpbGUgKE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLCBOaWMtPk1hY0FkZHJlc3MpOw0KKyAg ICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSAmJiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmsg IT0gTlVMTCkpIHsNCisgICAgICBTdGF0dXMgPSBXaWZpTWdyQ29ubmVjdFRvTmV0d29yayAoTmlj LCBOaWMtPkNvbm5lY3RQZW5kaW5nTmV0d29yayk7DQorICAgICAgaWYgKCFFRklfRVJST1IgKFN0 YXR1cykpIHsNCisgICAgICAgIHJldHVybiBTdGF0dXM7DQorICAgICAgfQ0KKyAgICB9IGVsc2Ug ew0KKyAgICAgIERFQlVHICgoREVCVUdfRVJST1IsICJbV2lGaSBDb25uZWN0aW9uIE1hbmFnZXJd IEZhaWxlZCB0byBnZXQgV2lGaSBwcm9maWxlIHdpdGggc3RhdHVzICVyXG4iLCBTdGF0dXMpKTsN CisgICAgfQ0KKyAgfSBlbHNlIHsNCisgICAgREVCVUcgKChERUJVR19FUlJPUiwgIltXaUZpIENv bm5lY3Rpb24gTWFuYWdlcl0gRmFpbGVkIHRvIGdldCANCisgU3VwcG9ydGVkIHN1aXRlcyB3aXRo IHN0YXR1cyAlclxuIiwgU3RhdHVzKSk7ICB9DQorDQorICBpZiAoTmljLT5Db25uZWN0UGVuZGlu Z05ldHdvcmsgIT0gTlVMTCkgew0KKyAgICBpZiAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmst Pk5ldHdvcmsuQUtNU3VpdGUgIT0gTlVMTCkgew0KKyAgICAgIEZyZWVQb29sIChOaWMtPkNvbm5l Y3RQZW5kaW5nTmV0d29yay0+TmV0d29yay5BS01TdWl0ZSk7DQorICAgIH0NCisNCisgICAgaWYg KE5pYy0+Q29ubmVjdFBlbmRpbmdOZXR3b3JrLT5OZXR3b3JrLkNpcGhlclN1aXRlICE9IE5VTEwp IHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5Db25uZWN0UGVuZGluZ05ldHdvcmstPk5ldHdvcmsu Q2lwaGVyU3VpdGUpOw0KKyAgICB9DQorDQorICAgIEZyZWVQb29sIChOaWMtPkNvbm5lY3RQZW5k aW5nTmV0d29yayk7ICB9DQorDQorRVJST1I6DQorICBpZiAoTmljLT5TdXBwbGljYW50ICE9IE5V TEwpIHsNCisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEFLTVN1aXRlcyAh PSBOVUxMKSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRl ZEFLTVN1aXRlcyk7DQorICAgIH0NCisNCisgICAgaWYgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1 cHBvcnRlZFN3Q2lwaGVyU3VpdGVzICE9IE5VTEwpIHsNCisgICAgICBGcmVlUG9vbCAoTmljLT5T dXBwb3J0ZWRTdWl0ZXMuU3VwcG9ydGVkU3dDaXBoZXJTdWl0ZXMpOw0KKyAgICB9DQorDQorICAg IGlmIChOaWMtPlN1cHBvcnRlZFN1aXRlcy5TdXBwb3J0ZWRId0NpcGhlclN1aXRlcyAhPSBOVUxM KSB7DQorICAgICAgRnJlZVBvb2wgKE5pYy0+U3VwcG9ydGVkU3VpdGVzLlN1cHBvcnRlZEh3Q2lw aGVyU3VpdGVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgRnJlZVBvb2wgKE5pYyk7DQorDQorICBy ZXR1cm4gU3RhdHVzOw0KK30NCisNCiAvKioNCiAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3Ig Y29ubmVjdCBvcGVyYXRpb24uDQogDQpAQCAtOTA4LDEyICsxMDUyLDEzIEBAIFdpZmlNZ3JPbkNv bm5lY3RGaW5pc2hlZCAoDQogICBJTiAgVk9JRCAgICAgICAqQ29udGV4dA0KICAgKQ0KIHsNCi0g IEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIFdJRklfTUdSX01BQ19DT05G SUdfVE9LRU4gICpDb25maWdUb2tlbjsNCi0gIFdJRklfTUdSX05FVFdPUktfUFJPRklMRSAgICpD b25uZWN0ZWRQcm9maWxlOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgU2VjdXJpdHlU eXBlOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgU1NJZExlbjsNCi0gIENIQVI4ICAg ICAgICAgICAgICAgICAgICAgICpBc2NpaVNTSWQ7DQorICBFRklfU1RBVFVTICAgICAgICAgICAg ICAgICAgICAgIFN0YXR1czsNCisgIFdJRklfTUdSX01BQ19DT05GSUdfVE9LRU4gICAgICAgKkNv bmZpZ1Rva2VuOw0KKyAgV0lGSV9NR1JfTkVUV09SS19QUk9GSUxFICAgICAgICAqQ29ubmVjdGVk UHJvZmlsZTsNCisgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VjdXJpdHlUeXBl Ow0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBTU0lkTGVuOw0KKyAgQ0hBUjgg ICAgICAgICAgICAgICAgICAgICAgICAgICAqQXNjaWlTU0lkOw0KKyAgRUZJX1dJRklfUFJPRklM RV9TWU5DX1BST1RPQ09MICAqV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2w7DQogDQogICBBU1NFUlQg KENvbnRleHQgIT0gTlVMTCk7DQogDQpAQCAtOTI1LDYgKzEwNzAsMjQgQEAgV2lmaU1nck9uQ29u bmVjdEZpbmlzaGVkICgNCiAgIEFTU0VSVCAoQ29uZmlnVG9rZW4tPlR5cGUgPT0gVG9rZW5UeXBl Q29ubmVjdE5ldHdvcmtUb2tlbik7DQogDQogICBBU1NFUlQgKENvbmZpZ1Rva2VuLT5Ub2tlbi5D b25uZWN0TmV0d29ya1Rva2VuICE9IE5VTEwpOw0KKw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQ cm90b2NvbCAoJmdFZmlXaUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAoVk9J RCAqKikmV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykp IHsNCisgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3luY1NldENvbm5l Y3RTdGF0ZSAoQ29uZmlnVG9rZW4tPlRva2VuLkNvbm5lY3ROZXR3b3JrVG9rZW4tPlJlc3VsdENv ZGUpOw0KKyAgICBpZiAoKG1XaWZpQ29ubmVjdGlvbkNvdW50IDwgTUFYX1dJRklfQ09OTkVUSU9O X0FUVEVNUFRTKSAmJg0KKyAgICAgICAgKENvbmZpZ1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0d29y a1Rva2VuLT5SZXN1bHRDb2RlICE9IENvbm5lY3RTdWNjZXNzKSkNCisgICAgew0KKyAgICAgIG1X aWZpQ29ubmVjdGlvbkNvdW50Kys7DQorICAgICAgZ0JTLT5DbG9zZUV2ZW50IChFdmVudCk7DQor ICAgICAgU3RhdHVzID0gQ29ubmVjdGlvblJldHJ5IChXaUZpUHJvZmlsZVN5bmNQcm90b2NvbCk7 DQorICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgICAgIHJldHVybjsNCisg ICAgICB9DQorDQorICAgICAgV2lGaVByb2ZpbGVTeW5jUHJvdG9jb2wtPldpZmlQcm9maWxlU3lu Y1NldENvbm5lY3RTdGF0ZSAoU3RhdHVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KICAgaWYgKENvbmZp Z1Rva2VuLT5Ub2tlbi5Db25uZWN0TmV0d29ya1Rva2VuLT5TdGF0dXMgIT0gRUZJX1NVQ0NFU1Mp IHsNCiAgICAgaWYgKENvbmZpZ1Rva2VuLT5OaWMtPk9uZVRpbWVDb25uZWN0UmVxdWVzdCkgew0K ICAgICAgIC8vDQpkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9XaWZpQ29ubmVjdGlvbk1hbmFnZXJE eGUvV2lmaUNvbm5lY3Rpb25NZ3JNaXNjLmMgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFu YWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KaW5kZXggNGFkNTY0M2MyNC4uODdhZGZj NTAzMyAxMDA2NDQNCi0tLSBhL05ldHdvcmtQa2cvV2lmaUNvbm5lY3Rpb25NYW5hZ2VyRHhlL1dp ZmlDb25uZWN0aW9uTWdyTWlzYy5jDQorKysgYi9OZXR3b3JrUGtnL1dpZmlDb25uZWN0aW9uTWFu YWdlckR4ZS9XaWZpQ29ubmVjdGlvbk1nck1pc2MuYw0KQEAgLTY3MiwxMCArNjcyLDIzIEBAIFdp ZmlNZ3JDbGVhblByb2ZpbGVTZWNyZXRzICgNCiAgIElOICBXSUZJX01HUl9ORVRXT1JLX1BST0ZJ TEUgICpQcm9maWxlDQogICApDQogew0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAg ICBTdGF0dXM7DQorICBFRklfV0lGSV9QUk9GSUxFX1NZTkNfUFJPVE9DT0wgICpXaUZpUHJvZmls ZVN5bmNQcm90b2NvbDsNCisNCiAgIFplcm9NZW0gKFByb2ZpbGUtPlBhc3N3b3JkLCBzaXplb2Yg KENIQVIxNikgKiBQQVNTV09SRF9TVE9SQUdFX1NJWkUpOw0KICAgWmVyb01lbSAoUHJvZmlsZS0+ RWFwUGFzc3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAqIFBBU1NXT1JEX1NUT1JBR0VfU0laRSk7DQog ICBaZXJvTWVtIChQcm9maWxlLT5Qcml2YXRlS2V5UGFzc3dvcmQsIHNpemVvZiAoQ0hBUjE2KSAq IFBBU1NXT1JEX1NUT1JBR0VfU0laRSk7DQogDQorICAvLw0KKyAgLy8gIFdoZW4gRUZJIFdpRmkg cHJvZmlsZSBzeW5jIHByb3RvY29sIGlzIGZvdW5kIHRoZSBzeXN0ZW0gaXMgDQorIHBlcmZvcm1p bmcgYSByZWNvdmVyeSBib290IGluIHNlY3VyZSAgLy8gIGJvb3QgbW9kZS4gVGhlIHByb2ZpbGUg c3luYyANCisgZHJpdmVyIHdpbGwgbWFuYWdlIHRoZSBDQSBjZXJ0aWZpY2F0ZSwgY2xpZW50IGNl cnRpZmljYXRlLCBhbmQga2V5ICAvLyAgZGF0YSwgY2xlYW5pbmcgdGhlbSBhdCBleGl0IGJvb3Qg c2VydmljZXMuDQorICAvLw0KKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlX aUZpUHJvZmlsZVN5bmNQcm90b2NvbEd1aWQsIE5VTEwsIA0KKyAoVk9JRCAqKikmV2lGaVByb2Zp bGVTeW5jUHJvdG9jb2wpOyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgcmV0dXJu Ow0KKyAgfQ0KKw0KICAgaWYgKFByb2ZpbGUtPkNBQ2VydERhdGEgIT0gTlVMTCkgew0KICAgICBa ZXJvTWVtIChQcm9maWxlLT5DQUNlcnREYXRhLCBQcm9maWxlLT5DQUNlcnRTaXplKTsNCiAgICAg RnJlZVBvb2wgKFByb2ZpbGUtPkNBQ2VydERhdGEpOw0KLS0NCjIuMzcuMy53aW5kb3dzLjENCg0K DQoNCg0KDQoNCg0KDQoNCg0KDQo=