From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EBE61A09FF for ; Thu, 7 Jan 2021 05:24:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C77E8140E7E; Thu, 7 Jan 2021 05:24:53 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 17A6D140E7D for ; Thu, 7 Jan 2021 05:24:49 +0100 (CET) IronPort-SDR: C+ES5c+ZdfnMLKITSsMgoiMCQravZLRsz8vJTPOOLAc3/uJgEStrSWhk1i5pmCLMrmzVdZZSyd yOD+d7Ixf7fQ== X-IronPort-AV: E=McAfee;i="6000,8403,9856"; a="241450551" X-IronPort-AV: E=Sophos;i="5.79,329,1602572400"; d="scan'208";a="241450551" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2021 20:24:29 -0800 Message-Id: <925d15$b9vcas@orsmga008-auth.jf.intel.com> Date: 06 Jan 2021 20:23:53 -0800 IronPort-SDR: 3ytwGa0zUDXn6JRc88FeAqseQjp7/LtNKRRWCpmrUCdyCq7hokd0+AHbLcVsjjU+S+hATmXfXl WWiv26sflZwQ== X-IronPort-AV: E=Sophos;i="5.79,329,1602572400"; d="scan'208";a="379564380" Received: from unknown (HELO localhost.localdomain) ([10.240.183.251]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2021 20:23:53 -0800 Content-Type: multipart/alternative; boundary="===============2424490748897913953==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: Subject: [dpdk-test-report] |FAILURE| pw(86080) [v5] raw/ioat: add secondary process support X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Sender: "test-report" --===============2424490748897913953== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC84NjA4MAoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog S3VtYXIgQW1iZXIgPGt1bWFyLmFtYmVyQGludGVsLmNvbT4KRGF0ZTogMjAyMS0wMS0wNyAwNDow MDo1OQpSZXBseV9tYWlsOiAyMDIxMDEwNzA0MDA1OS41NTE5NjUtMS1rdW1hci5hbWJlckBpbnRl bC5jb20KCkRQREsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGssIENvbW1pdElEOiBiMDMxZTEzZDdm MGRjN2NiYTliYzViZWZlOTY4YjY3ODMyMDIxYTU5CgoKTWVzb24gQnVpbGQgU3VtbWFyeTogMjIg QnVpbGRzIERvbmUsIDEgU3VjY2Vzc2Z1bCwgMjEgRmFpbHVyZXMsIDAgQmxvY2tlZAoKKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKwp8IG9zICAgICAgICAgICAgICAgfCBn Y2Mtc3RhdGljIHwgY2xhbmctc3RhdGljIHwgaWNjLXN0YXRpYyB8IGdjYy1zaGFyZWQgfCBnY2Mt ZGVidWcgfCBkb2N1bWVudCB8CistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSsKfCBVQjIwMDQtNjQgICAgICAgIHwgRkFJTCAgICAgICB8IEZBSUwgICAgICAgICB8IEZBSUwg ICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgRkFJTCAgICAgfAp8IFJIRUw4My02NCAg ICAgICAgfCBGQUlMICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8CnwgRkMzMy02NCAgICAgICAgICB8IEZBSUwgICAg ICAgfCBGQUlMICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwKfCBDZW50T3NTdHJlYW04LTY0IHwgRkFJTCAgICAgICB8ICAgICAgICAgICAg ICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfAp8IFVC MjAxMC02NCAgICAgICAgfCBGQUlMICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8 ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8CnwgV0lOMTAtNjQgICAgICAgICB8 ICAgICAgICAgICAgfCBwYXNzICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwKfCBVQjIwMDQtMzIgICAgICAgIHwgRkFJTCAgICAgICB8ICAg ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfAp8IENFTlRPUzgzLTY0ICAgICAgfCBGQUlMICAgICAgIHwgRkFJTCAgICAgICAgIHwgRkFJ TCAgICAgICB8IEZBSUwgICAgICAgfCBGQUlMICAgICAgfCAgICAgICAgICB8CnwgRnJlZUJTRDEy MDEtNjQgICB8IEZBSUwgICAgICAgfCBGQUlMICAgICAgICAgfCAgICAgICAgICAgIHwgRkFJTCAg ICAgICB8IEZBSUwgICAgICB8ICAgICAgICAgIHwKfCBTVVNFMTUtNjQgICAgICAgIHwgRkFJTCAg ICAgICB8IEZBSUwgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rClRl c3QgZW52aXJvbm1lbnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6CgoKT1M6IFVCMjAwNC02 NAoJS2VybmVsIFZlcnNpb246IDUuNi4wLTA1MDYwMC1nZW5lcmljCglDUFUgaW5mbzogSW50ZWwo UikgWGVvbihSKSBQbGF0aW51bSA4MTgwIENQVSBAIDIuNTBHSHoKCUdDQyBWZXJzaW9uOiBnY2Mg KFVidW50dSAxMC0yMDIwMDQxNi0wdWJ1bnR1MSkgMTAuMC4xIDIwMjAwNDE2IChleHBlcmltZW50 YWwpIFttYXN0ZXIgcmV2aXNpb24gM2MzZjEyZTJhNzY6ZGNlZTM1NGNlNTY6NDRiMzI2ODM5ZDg2 NGZjMTBjNDU5OTE2YWJjYzk3ZjM1YTlhYzNkZV0KCUNsYW5nIFZlcnNpb246IDEwLjAuMC00dWJ1 bnR1MQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWRvYwoKT1M6IFJIRUw4My02NAoJS2VybmVsIFZlcnNpb246IDQuMTguMC0yNDAuZWw4Lng4Nl82 NAoJQ1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CglH Q0MgVmVyc2lvbjogZ2NjIChHQ0MpIDguMy4xIDIwMTkxMTIxIChSZWQgSGF0IDguMy4xLTUpCglD bGFuZyBWZXJzaW9uOiAxMC4wLjEgKFJlZCBIYXQgMTAuMC4xLTEubW9kdWxlK2VsOC4zLjArNzQ1 OSs5MGMyNDg5NikKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogRkMzMy02NAoJS2Vy bmVsIFZlcnNpb246IDUuOC4xNi0zMDAuZmMzMy54ODZfNjQKCUNQVSBpbmZvOiBJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSAx MC4yLjEgMjAyMDEwMDUgKFJlZCBIYXQgMTAuMi4xLTUpCglDbGFuZyBWZXJzaW9uOiAxMS4wLjAg KEZlZG9yYSAxMS4wLjAtMS5mYzMzKQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82 NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKCk9TOiBDZW50T3NTdHJlYW04LTY0CglLZXJuZWwgVmVy c2lvbjogNC4xOC4wLTI1Ny5lbDgueDg2XzY0CglDUFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBD UFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgOC40LjEgMjAy MDA5MjggKFJlZCBIYXQgOC40LjEtMSkKCUNsYW5nIFZlcnNpb246IDExLjAuMCAoUmVkIEhhdCAx MS4wLjAtMC4yLnJjMi5tb2R1bGVfZWw4LjQuMCs1MzMrNTAxOTE1NzcpCgl4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYwoKT1M6IFVCMjAxMC02NAoJS2VybmVsIFZlcnNpb246IDUuOC4wLTI1LWdl bmVyaWMKCUNQVSBpbmZvOiBJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdI egoJR0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1IDEwLjIuMC0xM3VidW50dTEpIDEwLjIuMAoJQ2xh bmcgVmVyc2lvbjogMTEuMC4wLTIKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogV0lO MTAtNjQKCUtlcm5lbCBWZXJzaW9uOiBOL0EKCUNQVSBpbmZvOiBOL0EKCUdDQyBWZXJzaW9uOiBO L0EKCUNsYW5nIFZlcnNpb246IENsYW5nIDguMC4wCgl4ODZfNjQtd2luZG93cy1jbGFuZwoKT1M6 IFVCMjAwNC0zMgoJS2VybmVsIFZlcnNpb246IDUuNi4wLTA1MDYwMC1nZW5lcmljCglDUFUgaW5m bzogSW50ZWwoUikgWGVvbihSKSBQbGF0aW51bSA4MTgwIENQVSBAIDIuNTBHSHoKCUdDQyBWZXJz aW9uOiBnY2MgKFVidW50dSA5LjMuMC0xMHVidW50dTIpIDkuMy4wCglDbGFuZyBWZXJzaW9uOiAx MC4wLjAtNHVidW50dTEKCWk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6IENFTlRPUzgzLTY0 CglLZXJuZWwgVmVyc2lvbjogNC4xOC4wLTI0MC4xLjEuZWw4XzMueDg2XzY0CglDUFUgaW5mbzog SW50ZWwoUikgWGVvbihSKSBQbGF0aW51bSA4MTgwIENQVSBAIDIuNTBHSHoKCUdDQyBWZXJzaW9u OiBnY2MgKEdDQykgOC4zLjEgMjAxOTExMjEgKFJlZCBIYXQgOC4zLjEtNSkKCUNsYW5nIFZlcnNp b246IDEwLjAuMSAoUmVkIEhhdCAxMC4wLjEtMS5tb2R1bGVfZWw4LjMuMCs0NjcrY2IyOThkNWIp Cgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu ZwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj K3NoYXJlZAoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrZGVidWcKCk9TOiBGcmVlQlNEMTIw MS02NAoJS2VybmVsIFZlcnNpb246IDEyLjEtUkVMRUFTRQoJQ1BVIGluZm86IEludGVsKFIpIFhl b24oUikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6ICgyMjk0Ljc0LU1IeiBLOC1jbGFzcyBDUFUp CglHQ0MgVmVyc2lvbjogZ2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDkuMi4wCglDbGFu ZyBWZXJzaW9uOiA4LjAuMSAodGFncy9SRUxFQVNFXzgwMS9maW5hbCAzNjY1ODEpIChiYXNlZCBv biBMTFZNIDguMC4xKQoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCgl4ODZfNjQtbmF0aXZlLWJz ZGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK3NoYXJlZAoJeDg2XzY0LW5hdGl2 ZS1ic2RhcHAtZ2NjK2RlYnVnCgpPUzogU1VTRTE1LTY0CglLZXJuZWwgVmVyc2lvbjogNS4zLjE4 LWxwMTUyLjU3LWRlZmF1bHQKCUNQVSBpbmZvOiBJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5 IHY0IEAgMi4yMEdIegoJR0NDIFZlcnNpb246IGdjYyAoU1VTRSBMaW51eCkgNy41LjAKCUNsYW5n IFZlcnNpb246IDkuMC4xCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYwoKCgoqQnVpbGQgRmFpbGVkICMxOgpPUzogQ0VOVE9TODMtNjQKVGFy Z2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0 ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIApnY2MgLUlkcml2ZXJzL2xp YnRtcF9ydGVfcmF3X2lvYXQuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL3Jh dy9pb2F0IC1JLi4vZHJpdmVycy9yYXcvaW9hdCAtSWxpYi9saWJydGVfcmF3ZGV2IC1JLi4vbGli L2xpYnJ0ZV9yYXdkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRl X2VhbC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2xp YnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSWxp Yi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJy dGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9s aWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNz IC1JbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUkuLi9saWIvbGlicnRlX3RlbGVtZXRyeSAtSWRyaXZl cnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51 eCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2 IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVf bWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9s aWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5 cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJv ciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNh dGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNz aW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1X b2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3Ry aWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1wYWNrZWQtbm90LWFs aWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElD IC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxf QVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3 X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRl X3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8uZCAtbyBkcml2ZXJzL2xpYnRt cF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtYyAuLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OiBJbiBmdW5jdGlvbiDigJhpZHhkX3Jhd2Rldl9jcmVhdGXigJk6Ci4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyMjc6NDogZXJyb3I6IGxhYmVsIOKAmGNsZWFudXDigJkgdXNlZCBi dXQgbm90IGRlZmluZWQKICAgIGdvdG8gY2xlYW51cDsKICAgIF5+fn4KLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjE5Nzo2OiBlcnJvcjogdmFyaWFibGUg4oCYcmV04oCZIHNldCBi dXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgaW50IHJldCA9 IDA7CiAgICAgIF5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkzOjIyOiBl cnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmGlkeGTigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxl XQogIHN0cnVjdCBpZHhkX3Jhd2RldiAqaWR4ZDsKICAgICAgICAgICAgICAgICAgICAgIF5+fn4K Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MDozMjogZXJyb3I6IHVudXNlZCBw YXJhbWV0ZXIg4oCYYmFzZV9pZHhk4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgICAg IGNvbnN0IHN0cnVjdCBpZHhkX3Jhd2RldiAqYmFzZV9pZHhkLAogICAgICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6 MTkxOjM1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJhvcHPigJkgWy1XZXJyb3I9dW51c2Vk LXBhcmFtZXRlcl0KICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9yYXdkZXZfb3BzICpvcHMpCiAgICAg IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjMzOjI6IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBj bGFzcyBbLVdlcnJvcl0KICBteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICBefgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI6IGVycm9yOiB0eXBlIGRlZmF1 bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDigJhteuKAmSBbLVdlcnJvcj1pbXBs aWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6Mjc6IGVycm9y OiDigJhtel9uYW1l4oCZIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYdHpuYW1l4oCZPwogIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1l LAogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgIHR6bmFtZQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1OjQ6IGVy cm9yOiDigJhkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhkaXbigJk/CiAgICBkZXYtPm51bWFfbm9kZSwKICAgIF5+fgogICAgZGl2Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6MjogZXJyb3I6IGV4cGVjdGVkIGlk ZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYaWbigJkKICBpZiAobXogPT0gTlVMTCkgewog IF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6ODogZXJyb3I6IGV4cGVj dGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0 ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIHJhd2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+ YWRkcjsKICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ0Ojg6 IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig 4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdkZXYtPmRldl9v cHMgPSBvcHM7CiAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0 NTo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZ IG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgcmF3ZGV2LT5k ZXZpY2UgPSBkZXY7CiAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI0Njo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt 4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgcmF3ZGV2 LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JBV0RFVl9OQU1FX1NUUjsKICAgICAgICBefgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVycm9yOiBkYXRhIGRlZmluaXRp b24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJvcl0KICBpZHhkID0gcmF3ZGV2 LT5kZXZfcHJpdmF0ZTsKICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy NDg6MjogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9m IOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MjQ4Ojk6IGVycm9yOiDigJhyYXdkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChu b3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhyYW5kX3LigJk/CiAgaWR4ZCA9IHJh d2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgICAgIF5+fn5+fgogICAgICAgICByYW5kX3IKLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9u IGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgKmlkeGQgPSAqYmFzZV9p ZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAg XgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiB0eXBlIGRl ZmF1bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDigJhpZHhk4oCZIFstV2Vycm9y PWltcGxpY2l0LWludF0KICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFp biBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3Ig4oCYaWR4 ZOKAmQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IG5vdGU6IHByZXZp b3VzIGRlZmluaXRpb24gb2Yg4oCYaWR4ZOKAmSB3YXMgaGVyZQogIGlkeGQgPSByYXdkZXYtPmRl dl9wcml2YXRlOwogIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OTox MTogZXJyb3I6IOKAmGJhc2VfaWR4ZOKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0 aW9uKQogICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBh bHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjUwOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZ LCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7i gJkgdG9rZW4KICBpZHhkLT5wdWJsaWMudHlwZSA9IFJURV9JRFhEX0RFVjsKICAgICAgXn4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1MTo2OiBlcnJvcjogZXhwZWN0ZWQg4oCY PeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkg YmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgaWR4ZC0+cmF3ZGV2ID0gcmF3ZGV2OwogICAgICBefgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUyOjY6IGVycm9yOiBleHBlY3RlZCDi gJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KA mSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICBpZHhkLT5teiA9IG16OwogICAgICBefgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjU0OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlm aWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmHJldHVybuKAmQogIHJldHVybiAwOwogIF5+fn5+fgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjU2Ojg6IGVycm9yOiBleHBlY3RlZCDi gJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KA mSBiZWZvcmUg4oCYOuKAmSB0b2tlbgogY2xlYW51cDoKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNjA6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig 4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgcmV0dXJuIHJldDsKICBefn5+fn4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MToxOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRp ZmllciBvciDigJgo4oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiB9CiBeCmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsxODE1LzI3ODNdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnJ0ZV9yYXdfZHBhYTJfcWRtYS5zby4yMS4xLnAvbWVzb24tZ2VuZXJhdGVk Xy4uX3J0ZV9yYXdfZHBhYTJfcWRtYS5wbWQuYy5vClsxODE2LzI3ODNdIExpbmtpbmcgc3RhdGlj IHRhcmdldCBkcml2ZXJzL2xpYnJ0ZV9yYXdfZHBhYTJfcWRtYS5hClsxODE3LzI3ODNdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lv YXRfcmF3ZGV2LmMubwpbMTgxOC8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX3Jhd19udGIuYS5wL3Jhd19udGJfbnRiX2h3X2ludGVsLmMubwpbMTgxOS8yNzgzXSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pZnBnYS5hLnAvcmF3X2lm cGdhX2lmcGdhX3Jhd2Rldi5jLm8KWzE4MjAvMjc4M10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vClsxODIxLzI3 ODNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jh d19pb2F0X2lkeGRfdmRldi5jLm8KWzE4MjIvMjc4M10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9uZXRfdm14bmV0My5hLnAvbmV0X3ZteG5ldDNfdm14bmV0M19yeHR4LmMu bwpbMTgyMy8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19p b2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldl90ZXN0LmMubwpbMTgyNC8yNzgzXSBHZW5lcmF0 aW5nIHJ0ZV9uZXRfdmlydGlvLnN5bV9jaGsgd2l0aCBhIG1lc29uX2V4ZS5weSBjdXN0b20gY29t bWFuZApbMTgyNS8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jh d19udGIuYS5wL3Jhd19udGJfbnRiLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxk IEZhaWxlZCAjMjoKT1M6IENFTlRPUzgzLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRf aW9hdF9jb21tb24uYy5vIApjbGFuZyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAg LUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUkuLi9kcml2ZXJzL3Jh dy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jhd2RldiAtSS4gLUku LiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUgLUkuLi9saWIv bGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xp Yi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAt SS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1J Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRl X2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGli cnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUlsaWIvbGlicnRlX3RlbGVtZXRy eSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVy cy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUku Li9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2 IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1w b29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xp YnJ0ZV9yaW5nIC1YY2xhbmcgLWZjb2xvci1kaWFnbm9zdGljcyAtcGlwZSAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2Nv bmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0 LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21p c3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24g LVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRl ZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1taXNz aW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUg LURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1NRCAtTVEgZHJp dmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gLU1G IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5v LmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1v bi5jLm8gLWMgLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jCi4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ2lkeGQn IFstV2Vycm9yLC1XdW51c2VkLXZhcmlhYmxlXQogICAgICAgIHN0cnVjdCBpZHhkX3Jhd2RldiAq aWR4ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jOjIwNjo4OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgbGFiZWwgJ2NsZWFu dXAnCiAgICAgICAgICAgICAgICBnb3RvIGNsZWFudXA7CiAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MDozMjogZXJyb3I6IHVudXNlZCBw YXJhbWV0ZXIgJ2Jhc2VfaWR4ZCcgWy1XZXJyb3IsLVd1bnVzZWQtcGFyYW1ldGVyXQogICAgICAg ICAgICAgICAgICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNlX2lkeGQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjE5MTozNTogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIgJ29wcycgWy1X ZXJyb3IsLVd1bnVzZWQtcGFyYW1ldGVyXQogICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0 IHJ0ZV9yYXdkZXZfb3BzICpvcHMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBl cnJvcjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywgZGVmYXVsdHMgdG8gJ2ludCcgWy1XZXJyb3Is LVdpbXBsaWNpdC1pbnRdCiAgICAgICAgbXogPSBydGVfbWVtem9uZV9yZXNlcnZlKG16X25hbWUs CiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI3OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnbXpfbmFtZScKICAgICAgICBteiA9IHJ0 ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1OjQ6IGVycm9yOiB1c2Ug b2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdkZXYnCiAgICAgICAgICAgICAgICAgICAgICAgIGRl di0+bnVtYV9ub2RlLAogICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyMzc6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygn CiAgICAgICAgaWYgKG16ID09IE5VTEwpIHsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNDM6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdyYXdkZXYnCiAg ICAgICAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAgICAgIF4KLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmll ciBvciAnKCcKICAgICAgICByYXdkZXYtPmRldl9wcml2YXRlID0gbXotPmFkZHI7CiAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ0OjI6IGVycm9yOiB1 bmtub3duIHR5cGUgbmFtZSAncmF3ZGV2JwogICAgICAgIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsK ICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6ODogZXJyb3I6 IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnCiAgICAgICAgcmF3ZGV2LT5kZXZfb3BzID0gb3Bz OwogICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NToy OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3Jhd2RldicKICAgICAgICByYXdkZXYtPmRldmlj ZSA9IGRldjsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6 ODogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnCiAgICAgICAgcmF3ZGV2LT5kZXZp Y2UgPSBkZXY7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjQ2OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAncmF3ZGV2JwogICAgICAgIHJhd2Rl di0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7CiAgICAgICAgXgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9yOiBleHBlY3RlZCBpZGVu dGlmaWVyIG9yICcoJwogICAgICAgIHJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdE RVZfTkFNRV9TVFI7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmM6MjQ4OjI6IGVycm9yOiB0eXBlIHNwZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAn aW50JyBbLVdlcnJvciwtV2ltcGxpY2l0LWludF0KICAgICAgICBpZHhkID0gcmF3ZGV2LT5kZXZf cHJpdmF0ZTsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6 OTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3Jhd2RldicKICAgICAgICBp ZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiB0eXBlIHNwZWNpZmllciBtaXNzaW5n LCBkZWZhdWx0cyB0byAnaW50JyBbLVdlcnJvciwtV2ltcGxpY2l0LWludF0KICAgICAgICAqaWR4 ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNz ZWQgaW4gKi8KICAgICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQs IHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQuClsxODI5 LzI3ODZdIEdlbmVyYXRpbmcgcnRlX3Jhd19vY3Rlb250eDJfZG1hX21pbmd3IHdpdGggYSBjdXN0 b20gY29tbWFuZApbMTgzMC8yNzg2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19udGIuYS5wL3Jhd19udGJfbnRiX2h3X2ludGVsLmMubwpbMTgzMS8yNzg2XSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9p b2F0X3Jhd2Rldi5jLm8KWzE4MzIvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9yYXdfaWZwZ2EuYS5wL3Jhd19pZnBnYV9pZnBnYV9yYXdkZXYuYy5vClsxODMzLzI3 ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jh d19pb2F0X2lkeGRfdmRldi5jLm8KWzE4MzQvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8K WzE4MzUvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9h dC5hLnAvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vClsxODM2LzI3ODZdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X29jdGVvbnR4Ml9kbWEuYS5wL3Jhd19vY3Rlb250eDJf ZG1hX290eDJfZHBpX21zZy5jLm8KWzE4MzcvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yi5jLm8KbmluamE6IGJ1aWxkIHN0 b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzM6Ck9TOiBDRU5UT1M4My02NApUYXJnZXQ6IHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtaWNjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0 LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gCmljYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9y YXdfaW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUku Li9kcml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jh d2RldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1 ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5j bHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94 ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9l YWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUku Li9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFy Z3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUlsaWIvbGli cnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9idXMvcGNp IC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xp YnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2 ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGli L2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5n IC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwg LXczIC1kaWFnLWRpc2FibGU6cmVtYXJrIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcu aCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1zZWN1 cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXBy b3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRp YWxpemVycyAtZGlhZy1kaXNhYmxlPTE4MSAtZGlhZy1kaXNhYmxlPTE4OCAtZGlhZy1kaXNhYmxl PTIyMDMgLWRpYWctZGlzYWJsZT0yMjc5IC1kaWFnLWRpc2FibGU9MjU1NyAtZGlhZy1kaXNhYmxl PTMxNzkgLWRpYWctZGlzYWJsZT0zNjU2IC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLU1EIC1NUSBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAt TUYgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5j Lm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29t bW9uLmMubyAtYyAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5KSwKICAg ICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9wcml2YXRlLmgoMTkp LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j KDEwKToKLi4vZHJpdmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXZfZm5zLmgoMjU0KTogd2Fy bmluZyAjMzAwOiBjb25zdCB2YXJpYWJsZSAibnVsbF9oZGwiIHJlcXVpcmVzIGFuIGluaXRpYWxp emVyCiAgCXN0YXRpYyBjb25zdCB1aW50cHRyX3QgbnVsbF9oZGw7CiAgCSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9yYXcv aW9hdC9ydGVfaW9hdF9yYXdkZXYuaCgxNjkpLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X3ByaXZhdGUuaCgxOSksCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMTApOgouLi9kcml2ZXJzL3Jhdy9pb2F0 L3J0ZV9pb2F0X3Jhd2Rldl9mbnMuaCg0NTApOiB3YXJuaW5nICMzMDA6IGNvbnN0IHZhcmlhYmxl ICJudWxsX2hkbCIgcmVxdWlyZXMgYW4gaW5pdGlhbGl6ZXIKICAJc3RhdGljIGNvbnN0IHN0cnVj dCBydGVfaWR4ZF91c2VyX2hkbCBudWxsX2hkbDsKICAJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YygyMDYpOiBlcnJvcjogbGFiZWwgImNsZWFudXAiIHdhcyByZWZlcmVuY2VkIGJ1dCBub3QgZGVm aW5lZAogIAkJZ290byBjbGVhbnVwOwogIAkJICAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmMoMjMzKTogZXJyb3IgIzc3OiB0aGlzIGRlY2xhcmF0aW9uIGhhcyBubyBzdG9y YWdlIGNsYXNzIG9yIHR5cGUgc3BlY2lmaWVyCiAgCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZSht el9uYW1lLAogIAleCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjMzKTogZXJy b3I6IGZ1bmN0aW9uIGNhbGwgaXMgbm90IGFsbG93ZWQgaW4gYSBjb25zdGFudCBleHByZXNzaW9u CiAgCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIAkgICAgIF4KCi4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyMzMpOiBlcnJvcjogaWRlbnRpZmllciAibXpfbmFt ZSIgaXMgdW5kZWZpbmVkCiAgCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIAkg ICAgICAgICAgICAgICAgICAgICAgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jKDIzNSk6IGVycm9yOiBpZGVudGlmaWVyICJkZXYiIGlzIHVuZGVmaW5lZAogIAkJCWRldi0+ bnVtYV9ub2RlLAogIAkJCV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyMzcp OiBlcnJvcjogZXhwZWN0ZWQgYSBkZWNsYXJhdGlvbgogIAlpZiAobXogPT0gTlVMTCkgewogIAle CgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjQzKTogZXJyb3IgIzEyOiBwYXJz aW5nIHJlc3RhcnRzIGhlcmUgYWZ0ZXIgcHJldmlvdXMgc3ludGF4IGVycm9yCiAgCXJhd2Rldi0+ ZGV2X3ByaXZhdGUgPSBtei0+YWRkcjsKICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0NCk6IGVycm9yICM3NzogdGhp cyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFzcyBvciB0eXBlIHNwZWNpZmllcgogIAly YXdkZXYtPmRldl9vcHMgPSBvcHM7CiAgCV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYygyNDQpOiBlcnJvcjogZXhwZWN0ZWQgYSAiOyIKICAJcmF3ZGV2LT5kZXZfb3BzID0gb3Bz OwogIAkgICAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjQ1KTogZXJy b3IgIzc3OiB0aGlzIGRlY2xhcmF0aW9uIGhhcyBubyBzdG9yYWdlIGNsYXNzIG9yIHR5cGUgc3Bl Y2lmaWVyCiAgCXJhd2Rldi0+ZGV2aWNlID0gZGV2OwogIAleCgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmMoMjQ1KTogZXJyb3I6IGV4cGVjdGVkIGEgIjsiCiAgCXJhd2Rldi0+ZGV2 aWNlID0gZGV2OwogIAkgICAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMo MjQ2KTogZXJyb3IgIzc3OiB0aGlzIGRlY2xhcmF0aW9uIGhhcyBubyBzdG9yYWdlIGNsYXNzIG9y IHR5cGUgc3BlY2lmaWVyCiAgCXJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZf TkFNRV9TVFI7CiAgCV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNDYpOiBl cnJvcjogZXhwZWN0ZWQgYSAiOyIKICAJcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JB V0RFVl9OQU1FX1NUUjsKICAJICAgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jKDI0OCk6IGVycm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFz cyBvciB0eXBlIHNwZWNpZmllcgogIAlpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAJXgoK Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0OCk6IGVycm9yOiBleHByZXNzaW9u IG11c3QgaGF2ZSBhIGNvbnN0YW50IHZhbHVlCiAgCWlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRl OwogIAkgICAgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0OSk6IGVy cm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFzcyBvciB0eXBlIHNw ZWNpZmllcgogIAkqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVs ZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAJXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jKDI0OSk6IGVycm9yOiBkZWNsYXJhdGlvbiBpcyBpbmNvbXBhdGlibGUgd2l0aCAiaW50 IGlkeGQiIChkZWNsYXJlZCBhdCBsaW5lIDI0OCkKICAJKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBj b3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgCSBeCgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjQ5KTogZXJyb3I6IGlkZW50aWZpZXIgImJh c2VfaWR4ZCIgaXMgdW5kZWZpbmVkCiAgCSppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVy IHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogIAkgICAgICAgICBeCgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjUwKTogZXJyb3IgIzc3OiB0aGlzIGRlY2xh cmF0aW9uIGhhcyBubyBzdG9yYWdlIGNsYXNzIG9yIHR5cGUgc3BlY2lmaWVyCiAgCWlkeGQtPnB1 YmxpYy50eXBlID0gUlRFX0lEWERfREVWOwogIAleCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRf Y29tbW9uLmMoMjUwKTogZXJyb3I6IGV4cGVjdGVkIGEgIjsiCiAgCWlkeGQtPnB1YmxpYy50eXBl ID0gUlRFX0lEWERfREVWOwogIAkgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jKDI1MSk6IGVycm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFz cyBvciB0eXBlIHNwZWNpZmllcgogIAlpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgCV4KCi4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNTEpOiBlcnJvcjogZXhwZWN0ZWQgYSAiOyIK ICAJaWR4ZC0+cmF3ZGV2ID0gcmF3ZGV2OwogIAkgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jKDI1Mik6IGVycm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3Rv cmFnZSBjbGFzcyBvciB0eXBlIHNwZWNpZmllcgogIAlpZHhkLT5teiA9IG16OwogIAleCgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjUyKTogZXJyb3I6IGV4cGVjdGVkIGEgIjsi CiAgCWlkeGQtPm16ID0gbXo7CiAgCSAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmMoMjU0KTogZXJyb3I6IGV4cGVjdGVkIGEgZGVjbGFyYXRpb24KICAJcmV0dXJuIDA7CiAg CV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNTYpOiBlcnJvciAjNzc6IHRo aXMgZGVjbGFyYXRpb24gaGFzIG5vIHN0b3JhZ2UgY2xhc3Mgb3IgdHlwZSBzcGVjaWZpZXIKICBj bGVhbnVwOgogIF4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNTYpOiBlcnJv cjogZXhwZWN0ZWQgYSAiOyIKICBjbGVhbnVwOgogICAgICAgICBeCgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmMoMjYwKTogZXJyb3I6IGV4cGVjdGVkIGEgZGVjbGFyYXRpb24KICAJ cmV0dXJuIHJldDsKICAJXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI2MSk6 IGVycm9yOiBleHBlY3RlZCBhIGRlY2xhcmF0aW9uCiAgfQogIF4KCmNvbXBpbGF0aW9uIGFib3J0 ZWQgZm9yIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYyAoY29kZSAyKQpbMTc5OC8y Nzg2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9y YXdfaW9hdF9pb2F0X3Jhd2Rldi5jLm8KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv cmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5KSwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9yYXdkZXYuYygxMSk6Ci4uL2RyaXZlcnMvcmF3L2lvYXQv cnRlX2lvYXRfcmF3ZGV2X2Zucy5oKDI1NCk6IHdhcm5pbmcgIzMwMDogY29uc3QgdmFyaWFibGUg Im51bGxfaGRsIiByZXF1aXJlcyBhbiBpbml0aWFsaXplcgogIAlzdGF0aWMgY29uc3QgdWludHB0 cl90IG51bGxfaGRsOwogIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoKSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5 KSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9yYXdkZXYu YygxMSk6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2X2Zucy5oKDQ1MCk6IHdh cm5pbmcgIzMwMDogY29uc3QgdmFyaWFibGUgIm51bGxfaGRsIiByZXF1aXJlcyBhbiBpbml0aWFs aXplcgogIAlzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9pZHhkX3VzZXJfaGRsIG51bGxfaGRsOwog IAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoKWzE3OTkv Mjc4Nl0gR2VuZXJhdGluZyBydGVfcmF3X2RwYWEyX3FkbWEuc3ltX2NoayB3aXRoIGEgbWVzb25f ZXhlLnB5IGN1c3RvbSBjb21tYW5kClsxODAwLzI3ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfdmRldi5jLm8KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5 KSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9wcml2YXRl LmgoMTkpLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9pZHhkX3Zk ZXYuYygxNik6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2X2Zucy5oKDI1NCk6 IHdhcm5pbmcgIzMwMDogY29uc3QgdmFyaWFibGUgIm51bGxfaGRsIiByZXF1aXJlcyBhbiBpbml0 aWFsaXplcgogIAlzdGF0aWMgY29uc3QgdWludHB0cl90IG51bGxfaGRsOwogIAkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv cmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5KSwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9wcml2YXRlLmgoMTkpLAogICAgICAgICAgICAgICAgIGZy b20gLi4vZHJpdmVycy9yYXcvaW9hdC9pZHhkX3ZkZXYuYygxNik6Ci4uL2RyaXZlcnMvcmF3L2lv YXQvcnRlX2lvYXRfcmF3ZGV2X2Zucy5oKDQ1MCk6IHdhcm5pbmcgIzMwMDogY29uc3QgdmFyaWFi bGUgIm51bGxfaGRsIiByZXF1aXJlcyBhbiBpbml0aWFsaXplcgogIAlzdGF0aWMgY29uc3Qgc3Ry dWN0IHJ0ZV9pZHhkX3VzZXJfaGRsIG51bGxfaGRsOwogIAkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgoKWzE4MDEvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaWZwZ2EuYS5wL3Jhd19pZnBnYV9pZnBnYV9yYXdkZXYu Yy5vClsxODAyLzI3ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0 X3ZteG5ldDMuYS5wL25ldF92bXhuZXQzX3ZteG5ldDNfcnh0eC5jLm8KWzE4MDMvMjc4Nl0gR2Vu ZXJhdGluZyBydGVfbmV0X3ZpcnRpby5zeW1fY2hrIHdpdGggYSBtZXNvbl9leGUucHkgY3VzdG9t IGNvbW1hbmQKWzE4MDQvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vCkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9kcml2ZXJzL3Jhdy9pb2F0L3J0ZV9pb2F0X3Jhd2Rldi5oKDE2OSksCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfcHJpdmF0ZS5oKDE5KSwKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvaWR4ZF9wY2kuYyg4KToKLi4vZHJp dmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXZfZm5zLmgoMjU0KTogd2FybmluZyAjMzAwOiBj b25zdCB2YXJpYWJsZSAibnVsbF9oZGwiIHJlcXVpcmVzIGFuIGluaXRpYWxpemVyCiAgCXN0YXRp YyBjb25zdCB1aW50cHRyX3QgbnVsbF9oZGw7CiAgCSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9ydGVfaW9h dF9yYXdkZXYuaCgxNjkpLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X3ByaXZhdGUuaCgxOSksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL3Jh dy9pb2F0L2lkeGRfcGNpLmMoOCk6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2 X2Zucy5oKDQ1MCk6IHdhcm5pbmcgIzMwMDogY29uc3QgdmFyaWFibGUgIm51bGxfaGRsIiByZXF1 aXJlcyBhbiBpbml0aWFsaXplcgogIAlzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9pZHhkX3VzZXJf aGRsIG51bGxfaGRsOwogIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgoKWzE4MDUvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yl9od19pbnRlbC5jLm8KWzE4MDYvMjc4Nl0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfdHhnYmUuYS5wL25ldF90eGdiZV90 eGdiZV9yeHR4LmMubwpbMTgwNy8yNzg2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldl90ZXN0LmMubwpJbiBmaWxl IGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXYuaCgxNjkp LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X3Jhd2Rldl90 ZXN0LmMoOSk6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2X2Zucy5oKDI1NCk6 IHdhcm5pbmcgIzMwMDogY29uc3QgdmFyaWFibGUgIm51bGxfaGRsIiByZXF1aXJlcyBhbiBpbml0 aWFsaXplcgogIAlzdGF0aWMgY29uc3QgdWludHB0cl90IG51bGxfaGRsOwogIAkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv cmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5KSwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9yYXdkZXZfdGVzdC5jKDkpOgouLi9kcml2ZXJzL3Jhdy9p b2F0L3J0ZV9pb2F0X3Jhd2Rldl9mbnMuaCg0NTApOiB3YXJuaW5nICMzMDA6IGNvbnN0IHZhcmlh YmxlICJudWxsX2hkbCIgcmVxdWlyZXMgYW4gaW5pdGlhbGl6ZXIKICAJc3RhdGljIGNvbnN0IHN0 cnVjdCBydGVfaWR4ZF91c2VyX2hkbCBudWxsX2hkbDsKICAJICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KClsxODA4LzI3ODZdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X29jdGVvbnR4Mi5hLnAvbmV0X29jdGVvbnR4Ml9vdHgy X3R4LmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjNDoKT1M6IENF TlRPUzgzLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mrc2hhcmVkCkZBSUxF RDogZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5j Lm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4v ZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUkuLi9kcml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xp YnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jhd2RldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4u L2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNs dWRlIC1JbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xp bnV4L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVf ZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9l YWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJy dGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUku Li9saWIvbGlicnRlX21ldHJpY3MgLUlsaWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJy dGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4v ZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3Bj aSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9t YnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xp YnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1mZGlh Z25vc3RpY3MtY29sb3I9YWx3YXlzIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwg LVdpbnZhbGlkLXBjaCAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAt V2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zv cm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGgg LVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5n cyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJz IC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9B UEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtTUQgLU1RIGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIC1N RiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMu by5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21t b24uYy5vIC1jIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYwouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6IEluIGZ1bmN0aW9uIOKAmGlkeGRfcmF3ZGV2X2NyZWF0ZeKA mToKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIyNzo0OiBlcnJvcjogbGFiZWwg 4oCYY2xlYW51cOKAmSB1c2VkIGJ1dCBub3QgZGVmaW5lZAogICAgZ290byBjbGVhbnVwOwogICAg Xn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTk3OjY6IGVycm9yOiB2YXJp YWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12 YXJpYWJsZV0KICBpbnQgcmV0ID0gMDsKICAgICAgXn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYaWR4ZOKAmSBbLVdl cnJvcj11bnVzZWQtdmFyaWFibGVdCiAgc3RydWN0IGlkeGRfcmF3ZGV2ICppZHhkOwogICAgICAg ICAgICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkw OjMyOiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJhiYXNlX2lkeGTigJkgWy1XZXJyb3I9dW51 c2VkLXBhcmFtZXRlcl0KICAgICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNlX2lkeGQs CiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoxOTE6MzU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmG9w c+KAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogICAgICBjb25zdCBzdHJ1Y3QgcnRlX3Jh d2Rldl9vcHMgKm9wcykKICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMg bm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIG16ID0gcnRlX21lbXpvbmVfcmVz ZXJ2ZShtel9uYW1lLAogIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6 MjogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKA mG164oCZIFstV2Vycm9yPWltcGxpY2l0LWludF0KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjIzMzoyNzogZXJyb3I6IOKAmG16X25hbWXigJkgdW5kZWNsYXJlZCBoZXJlIChub3Qg aW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJh0em5hbWXigJk/CiAgbXogPSBydGVfbWVt em9uZV9yZXNlcnZlKG16X25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHpuYW1lCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyMzU6NDogZXJyb3I6IOKAmGRlduKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBp biBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmGRpduKAmT8KICAgIGRldi0+bnVtYV9ub2Rl LAogICAgXn5+CiAgICBkaXYKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzNzoy OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJhpZuKAmQog IGlmIChteiA9PSBOVUxMKSB7CiAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI0Mzo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt 4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgcmF3ZGV2 LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNDQ6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKA mDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0 b2tlbgogIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsKICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjQ1Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZ LCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7i gJkgdG9rZW4KICByYXdkZXYtPmRldmljZSA9IGRldjsKICAgICAgICBefgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs 4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCY LT7igJkgdG9rZW4KICByYXdkZXYtPmRyaXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVWX05BTUVf U1RSOwogICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6Mjog ZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vy cm9yXQogIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogIF5+fn4KLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byDigJhpbnTi gJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCYaWR4ZOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6OTogZXJyb3I6IOKAmHJhd2RlduKA mSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmHJh bmRfcuKAmT8KICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgICAgXn5+fn5+CiAg ICAgICAgIHJhbmRfcgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjI6IGVy cm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJv cl0KICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxy ZWFkeSBwYXNzZWQgaW4gKi8KICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy NDk6MzogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9m IOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQogICppZHhkID0gKmJhc2VfaWR4ZDsg LyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICBefn5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IGNvbmZsaWN0 aW5nIHR5cGVzIGZvciDigJhpZHhk4oCZCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoyNDg6Mjogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhpZHhk4oCZIHdhcyBoZXJl CiAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjQ5OjExOiBlcnJvcjog4oCYYmFzZV9pZHhk4oCZIHVuZGVjbGFyZWQg aGVyZSAobm90IGluIGEgZnVuY3Rpb24pCiAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92 ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgICAgICAgXn5+fn5+ fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJyb3I6IGV4cGVj dGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0 ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIGlkeGQtPnB1YmxpYy50eXBlID0gUlRFX0lE WERfREVWOwogICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUxOjY6 IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig 4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICBpZHhkLT5yYXdkZXYg PSByYXdkZXY7CiAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTI6 NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBv ciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIGlkeGQtPm16ID0g bXo7CiAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTQ6MjogZXJy b3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAg cmV0dXJuIDA7CiAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTY6 ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBv ciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJg64oCZIHRva2VuCiBjbGVhbnVwOgogICAg ICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MDoyOiBlcnJvcjogZXhw ZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKICByZXR1cm4g cmV0OwogIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjYxOjE6IGVy cm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4K IH0KIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzE4NDgvMjYy Nl0gR2VuZXJhdGluZyBydGVfcmF3X2lvYXRfZGVmIHdpdGggYSBjdXN0b20gY29tbWFuZApbMTg0 OS8yNjI2XSBHZW5lcmF0aW5nIHJ0ZV9uZXRfdmlydGlvLnBtZC5jIHdpdGggYSBjdXN0b20gY29t bWFuZApbMTg1MC8yNjI2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jh d19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldi5jLm8KWzE4NTEvMjYyNl0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF92 ZGV2LmMubwpbMTg1Mi8yNjI2XSBHZW5lcmF0aW5nIHJ0ZV9uZXRfdm14bmV0My5zeW1fY2hrIHdp dGggYSBtZXNvbl9leGUucHkgY3VzdG9tIGNvbW1hbmQKWzE4NTMvMjYyNl0gR2VuZXJhdGluZyBy dGVfcmF3X2RwYWEyX3FkbWEuc3ltX2NoayB3aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21t YW5kClsxODU0LzI2MjZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3 X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfcGNpLmMubwpbMTg1NS8yNjI2XSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pZnBnYS5hLnAvcmF3X2lmcGdhX2lmcGdhX3Jh d2Rldi5jLm8KWzE4NTYvMjYyNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8KbmluamE6IGJ1aWxk IHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzU6Ck9TOiBDRU5UT1M4My02NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK2RlYnVnCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRl X3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gCmdjYyAtSWRyaXZlcnMvbGli dG1wX3J0ZV9yYXdfaW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3 L2lvYXQgLUkuLi9kcml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIv bGlicnRlX3Jhd2RldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVf ZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwv bGludXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvbGli cnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGli L2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0 ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xp YnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3Mg LUlsaWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVy cy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4 IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYg LUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9t YnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xp YnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlz IC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2Vycm9y IC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3QtcXVhbCAtV2RlcHJl Y2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21p c3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMg LVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdz dHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3Qt YWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQ SUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5B TF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9y YXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9y dGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMuby5kIC1vIGRyaXZlcnMvbGli dG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIC1jIC4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYwouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6IEluIGZ1bmN0aW9uIOKAmGlkeGRfcmF3ZGV2X2NyZWF0ZeKAmToKLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjIyNzo0OiBlcnJvcjogbGFiZWwg4oCYY2xlYW51cOKAmSB1c2Vk IGJ1dCBub3QgZGVmaW5lZAogICAgZ290byBjbGVhbnVwOwogICAgXn5+fgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MTk3OjY6IGVycm9yOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0 IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICBpbnQgcmV0 ID0gMDsKICAgICAgXn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6MjI6 IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYaWR4ZOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCiAgc3RydWN0IGlkeGRfcmF3ZGV2ICppZHhkOwogICAgICAgICAgICAgICAgICAgICAgXn5+ fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkwOjMyOiBlcnJvcjogdW51c2Vk IHBhcmFtZXRlciDigJhiYXNlX2lkeGTigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICAg ICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNlX2lkeGQsCiAgICAgIH5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoxOTE6MzU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmG9wc+KAmSBbLVdlcnJvcj11bnVz ZWQtcGFyYW1ldGVyXQogICAgICBjb25zdCBzdHJ1Y3QgcnRlX3Jhd2Rldl9vcHMgKm9wcykKICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn4KLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyMzM6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdl IGNsYXNzIFstV2Vycm9yXQogIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIF5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJyb3I6IHR5cGUgZGVm YXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmG164oCZIFstV2Vycm9yPWlt cGxpY2l0LWludF0KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyNzogZXJy b3I6IOKAmG16X25hbWXigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRp ZCB5b3UgbWVhbiDigJh0em5hbWXigJk/CiAgbXogPSBydGVfbWVtem9uZV9yZXNlcnZlKG16X25h bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgdHpuYW1lCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzU6NDog ZXJyb3I6IOKAmGRlduKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmGRpduKAmT8KICAgIGRldi0+bnVtYV9ub2RlLAogICAgXn5+CiAgICBkaXYK Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzNzoyOiBlcnJvcjogZXhwZWN0ZWQg aWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJhpZuKAmQogIGlmIChteiA9PSBOVUxMKSB7 CiAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhw ZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmli dXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16 LT5hZGRyOwogICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6 ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBv ciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIHJhd2Rldi0+ZGV2 X29wcyA9IG9wczsKICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6 MjQ1Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23i gJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdkZXYt PmRldmljZSA9IGRldjsKICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjQ2Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhh c23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdk ZXYtPmRyaXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVWX05BTUVfU1RSOwogICAgICAgIF5+Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6IGRhdGEgZGVmaW5p dGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIGlkeGQgPSByYXdk ZXYtPmRldl9wcml2YXRlOwogIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI0ODoyOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24g b2Yg4oCYaWR4ZOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNDg6OTogZXJyb3I6IOKAmHJhd2RlduKAmSB1bmRlY2xhcmVkIGhlcmUg KG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmHJhbmRfcuKAmT8KICBpZHhkID0g cmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgICAgXn5+fn5+CiAgICAgICAgIHJhbmRfcgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjI6IGVycm9yOiBkYXRhIGRlZmluaXRp b24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJvcl0KICAqaWR4ZCA9ICpiYXNl X2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8K ICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IHR5cGUg ZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJy b3I9aW1wbGljaXQtaW50XQogICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBt YWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhp ZHhk4oCZCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6Mjogbm90ZTogcHJl dmlvdXMgZGVmaW5pdGlvbiBvZiDigJhpZHhk4oCZIHdhcyBoZXJlCiAgaWR4ZCA9IHJhd2Rldi0+ ZGV2X3ByaXZhdGU7CiAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5 OjExOiBlcnJvcjog4oCYYmFzZV9pZHhk4oCZIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVu Y3Rpb24pCiAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRz IGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzi gJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgt PuKAmSB0b2tlbgogIGlkeGQtPnB1YmxpYy50eXBlID0gUlRFX0lEWERfREVWOwogICAgICBefgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUxOjY6IGVycm9yOiBleHBlY3RlZCDi gJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KA mSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICBpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgICAgIF5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTI6NjogZXJyb3I6IGV4cGVjdGVk IOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f 4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIGlkeGQtPm16ID0gbXo7CiAgICAgIF5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50 aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgcmV0dXJuIDA7CiAgXn5+fn5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTY6ODogZXJyb3I6IGV4cGVjdGVk IOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f 4oCZIGJlZm9yZSDigJg64oCZIHRva2VuCiBjbGVhbnVwOgogICAgICAgIF4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MDoyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBv ciDigJgo4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKICByZXR1cm4gcmV0OwogIF5+fn5+fgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjYxOjE6IGVycm9yOiBleHBlY3RlZCBpZGVu dGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KIH0KIF4KY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzE4MjIvMjc4M10gR2VuZXJhdGluZyBydGVf cmF3X250Yl9taW5ndyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzE4MjMvMjc4M10gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9y YXdkZXYuYy5vClsxODI0LzI3ODNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9y dGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfdmRldi5jLm8KWzE4MjUvMjc4M10gR2VuZXJh dGluZyBydGVfbmV0X3R4Z2JlLnN5bV9jaGsgd2l0aCBhIG1lc29uX2V4ZS5weSBjdXN0b20gY29t bWFuZApbMTgyNi8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jh d19udGIuYS5wL3Jhd19udGJfbnRiX2h3X2ludGVsLmMubwpbMTgyNy8yNzgzXSBHZW5lcmF0aW5n IHJ0ZV9uZXRfdm14bmV0My5zeW1fY2hrIHdpdGggYSBtZXNvbl9leGUucHkgY3VzdG9tIGNvbW1h bmQKWzE4MjgvMjc4M10gR2VuZXJhdGluZyBydGVfcmF3X2RwYWEyX3FkbWEuc3ltX2NoayB3aXRo IGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5kClsxODI5LzI3ODNdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfcGNpLmMu bwpbMTgzMC8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19p ZnBnYS5hLnAvcmF3X2lmcGdhX2lmcGdhX3Jhd2Rldi5jLm8KWzE4MzEvMjc4M10gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9y YXdkZXZfdGVzdC5jLm8KWzE4MzIvMjc4M10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yi5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQK CgoKCipCdWlsZCBGYWlsZWQgIzY6Ck9TOiBGQzMzLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19p b2F0X2lvYXRfY29tbW9uLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEu cCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9yYXcvaW9hdCAtSS4uL2RyaXZlcnMv cmF3L2lvYXQgLUlsaWIvbGlicnRlX3Jhd2RldiAtSS4uL2xpYi9saWJydGVfcmF3ZGV2IC1JLiAt SS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAtSS4uL2xp Yi9saWJydGVfZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9saW51eC9pbmNsdWRlIC1JLi4v bGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRl IC1JLi4vbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24g LUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJy dGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9s aWJydGVfbWV0cmljcyAtSS4uL2xpYi9saWJydGVfbWV0cmljcyAtSWxpYi9saWJydGVfdGVsZW1l dHJ5IC1JLi4vbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAt SS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3Zk ZXYgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIvbGlicnRlX21l bXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIv bGlicnRlX3JpbmcgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZT RVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9j b25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1h dC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9u IC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5k ZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFj a2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJv LWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1df RVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0 X2NvbW1vbi5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRf aW9hdF9jb21tb24uYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdf aW9hdF9pb2F0X2NvbW1vbi5jLm8gLWMgLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzogSW4gZnVuY3Rpb24g4oCYaWR4ZF9y YXdkZXZfY3JlYXRl4oCZOgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjI3OjQ6 IGVycm9yOiBsYWJlbCDigJhjbGVhbnVw4oCZIHVzZWQgYnV0IG5vdCBkZWZpbmVkCiAgMjI3IHwg ICAgZ290byBjbGVhbnVwOwogICAgICB8ICAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjE5Nzo2OiBlcnJvcjogdmFyaWFibGUg4oCYcmV04oCZIHNldCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgMTk3IHwgIGludCByZXQgPSAw OwogICAgICB8ICAgICAgXn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6 MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYaWR4ZOKAmSBbLVdlcnJvcj11bnVzZWQtdmFy aWFibGVdCiAgMTkzIHwgIHN0cnVjdCBpZHhkX3Jhd2RldiAqaWR4ZDsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTA6 MzI6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmGJhc2VfaWR4ZOKAmSBbLVdlcnJvcj11bnVz ZWQtcGFyYW1ldGVyXQogIDE5MCB8ICAgICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNl X2lkeGQsCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkxOjM1OiBlcnJvcjogdW51c2VkIHBh cmFtZXRlciDigJhvcHPigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICAxOTEgfCAgICAg IGNvbnN0IHN0cnVjdCBydGVfcmF3ZGV2X29wcyAqb3BzKQogICAgICB8ICAgICAgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5efn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6Mjog ZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vy cm9yXQogIDIzMyB8ICBteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICAgICAgfCAg Xn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBlcnJvcjogdHlwZSBk ZWZhdWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCYbXrigJkgWy1XZXJyb3I9 aW1wbGljaXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI3OiBl cnJvcjog4oCYbXpfbmFtZeKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmHR6bmFtZeKAmT8KICAyMzMgfCAgbXogPSBydGVfbWVtem9uZV9yZXNl cnZlKG16X25hbWUsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB0em5hbWUKLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjIzNTo0OiBlcnJvcjog4oCYZGV24oCZIHVuZGVjbGFyZWQgaGVyZSAo bm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYZGl24oCZPwogIDIzNSB8ICAgIGRl di0+bnVtYV9ub2RlLAogICAgICB8ICAgIF5+fgogICAgICB8ICAgIGRpdgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjM3OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9y IOKAmCjigJkgYmVmb3JlIOKAmGlm4oCZCiAgMjM3IHwgIGlmIChteiA9PSBOVUxMKSB7CiAgICAg IHwgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6ODogZXJyb3I6IGV4 cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJp YnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI0MyB8ICByYXdkZXYtPmRldl9wcml2 YXRlID0gbXotPmFkZHI7CiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNDQ6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvi gJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tl bgogIDI0NCB8ICByYXdkZXYtPmRldl9vcHMgPSBvcHM7CiAgICAgIHwgICAgICAgIF5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3i gJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJl Zm9yZSDigJgtPuKAmSB0b2tlbgogIDI0NSB8ICByYXdkZXYtPmRldmljZSA9IGRldjsKICAgICAg fCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Njo4OiBlcnJv cjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9f YXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQ2IHwgIHJhd2Rldi0+ZHJp dmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7CiAgICAgIHwgICAgICAgIF5+Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6IGRhdGEgZGVmaW5p dGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIDI0OCB8ICBpZHhk ID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgfCAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBp biBkZWNsYXJhdGlvbiBvZiDigJhpZHhk4oCZIFstV2Vycm9yPWltcGxpY2l0LWludF0KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODo5OiBlcnJvcjog4oCYcmF3ZGV24oCZIHVu ZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCiAgMjQ4IHwgIGlkeGQgPSByYXdkZXYt PmRldl9wcml2YXRlOwogICAgICB8ICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNDk6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBv ciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIDI0OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8q IGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgfCAg XgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiB0eXBlIGRl ZmF1bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDigJhpZHhk4oCZIFstV2Vycm9y PWltcGxpY2l0LWludF0KICAyNDkgfCAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIg dGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgIHwgICBefn5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IGNvbmZsaWN0aW5nIHR5 cGVzIGZvciDigJhpZHhk4oCZCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6 Mjogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhpZHhk4oCZIHdhcyBoZXJlCiAgMjQ4 IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogICAgICB8ICBefn5+Ci4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MTE6IGVycm9yOiDigJhiYXNlX2lkeGTigJkgdW5k ZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbikKICAyNDkgfCAgKmlkeGQgPSAqYmFzZV9p ZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAg ICAgIHwgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjUwOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhh c23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICAyNTAg fCAgaWR4ZC0+cHVibGljLnR5cGUgPSBSVEVfSURYRF9ERVY7CiAgICAgIHwgICAgICBefgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUxOjY6IGVycm9yOiBleHBlY3RlZCDigJg9 4oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBi ZWZvcmUg4oCYLT7igJkgdG9rZW4KICAyNTEgfCAgaWR4ZC0+cmF3ZGV2ID0gcmF3ZGV2OwogICAg ICB8ICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1Mjo2OiBlcnJv cjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9f YXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjUyIHwgIGlkeGQtPm16ID0g bXo7CiAgICAgIHwgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjU0 OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmHJldHVy buKAmQogIDI1NCB8ICByZXR1cm4gMDsKICAgICAgfCAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyNTY6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJks IOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJg64oCZ IHRva2VuCiAgMjU2IHwgY2xlYW51cDoKICAgICAgfCAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjYwOjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKA mCjigJkgYmVmb3JlIOKAmHJldHVybuKAmQogIDI2MCB8ICByZXR1cm4gcmV0OwogICAgICB8ICBe fn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MToxOiBlcnJvcjogZXhw ZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgMjYxIHwg fQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzE4 NDYvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaWZwZ2Eu YS5wL3Jhd19pZnBnYV9pZnBnYV9yYXdkZXYuYy5vClsxODQ3LzI3OTVdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfdmRldi5j Lm8KWzE4NDgvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdf aW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vClsxODQ5LzI3OTVdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X29jdGVvbnR4Ml9kbWEuYS5wL3Jhd19vY3Rlb250 eDJfZG1hX290eDJfZHBpX21zZy5jLm8KWzE4NTAvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfb2N0ZW9udHgyX2RtYS5hLnAvcmF3X29jdGVvbnR4Ml9kbWFf b3R4Ml9kcGlfdGVzdC5jLm8KWzE4NTEvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8KWzE4 NTIvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfb2N0ZW9u dHgyX2VwLmEucC9yYXdfb2N0ZW9udHgyX2VwX290eDJfZXBfcmF3ZGV2LmMubwpbMTg1My8yNzk1 XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19vY3Rlb250eDJfZXAu YS5wL3Jhd19vY3Rlb250eDJfZXBfb3R4Ml9lcF90ZXN0LmMubwpbMTg1NC8yNzk1XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19vY3Rlb250eDJfZXAuYS5wL3Jhd19v Y3Rlb250eDJfZXBfb3R4Ml9lcF9lbnFkZXEuYy5vClsxODU1LzI3OTVdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X29jdGVvbnR4Ml9kbWEuYS5wL3Jhd19vY3Rlb250 eDJfZG1hX290eDJfZHBpX3Jhd2Rldi5jLm8KWzE4NTYvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yi5jLm8KbmluamE6IGJ1 aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzc6Ck9TOiBGQzMzLTY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdf aW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIApjbGFuZyAtSWRyaXZlcnMvbGlidG1w X3J0ZV9yYXdfaW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lv YXQgLUkuLi9kcml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGli cnRlX3Jhd2RldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFs L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvbGlu dXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvbGlicnRl X2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xp YnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9l YWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0 ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUls aWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9i dXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1J bGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUku Li9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVm IC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0 ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1YY2xhbmcgLWZjb2xvci1kaWFnbm9zdGljcyAt cGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAt TzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVk IC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5n LWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xk LXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0 LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tl ZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1m UElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJO QUxfQVBJIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9p b2F0X2NvbW1vbi5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lv YXRfaW9hdF9jb21tb24uYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9y YXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gLWMgLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMDY6ODogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGxhYmVsICdjbGVhbnVwJwogICAgICAgICAgICAgICAgZ290byBjbGVhbnVw OwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoxOTA6MzI6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyICdiYXNlX2lkeGQnIFstV2Vycm9yLC1X dW51c2VkLXBhcmFtZXRlcl0KICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpZHhkX3Jh d2RldiAqYmFzZV9pZHhkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTE6MzU6IGVycm9yOiB1 bnVzZWQgcGFyYW1ldGVyICdvcHMnIFstV2Vycm9yLC1XdW51c2VkLXBhcmFtZXRlcl0KICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfcmF3ZGV2X29wcyAqb3BzKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJyb3I6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRl ZmF1bHRzIHRvICdpbnQnIFstV2Vycm9yLC1XaW1wbGljaXQtaW50XQogICAgICAgIG16ID0gcnRl X21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jOjIzMzoyNzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J216X25hbWUnCiAgICAgICAgbXogPSBydGVfbWVtem9uZV9yZXNlcnZlKG16X25hbWUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjIzNTo0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZGV2Jwog ICAgICAgICAgICAgICAgICAgICAgICBkZXYtPm51bWFfbm9kZSwKICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM3OjI6IGVycm9yOiBl eHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJwogICAgICAgIGlmIChteiA9PSBOVUxMKSB7CiAgICAg ICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQzOjI6IGVycm9yOiB1bmtu b3duIHR5cGUgbmFtZSAncmF3ZGV2JwogICAgICAgIHJhd2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+ YWRkcjsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6ODog ZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnCiAgICAgICAgcmF3ZGV2LT5kZXZfcHJp dmF0ZSA9IG16LT5hZGRyOwogICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjI0NDoyOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3Jhd2RldicKICAgICAg ICByYXdkZXYtPmRldl9vcHMgPSBvcHM7CiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MjQ0Ojg6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJwogICAg ICAgIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsKICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdyYXdk ZXYnCiAgICAgICAgcmF3ZGV2LT5kZXZpY2UgPSBkZXY7CiAgICAgICAgXgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ1Ojg6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9y ICcoJwogICAgICAgIHJhd2Rldi0+ZGV2aWNlID0gZGV2OwogICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NjoyOiBlcnJvcjogdW5rbm93biB0eXBlIG5h bWUgJ3Jhd2RldicKICAgICAgICByYXdkZXYtPmRyaXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVW X05BTUVfU1RSOwogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0 Njo4OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcKICAgICAgICByYXdkZXYtPmRy aXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVWX05BTUVfU1RSOwogICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBlcnJvcjogdHlwZSBzcGVjaWZp ZXIgbWlzc2luZywgZGVmYXVsdHMgdG8gJ2ludCcgWy1XZXJyb3IsLVdpbXBsaWNpdC1pbnRdCiAg ICAgICAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgICAgXgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4Ojk6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdyYXdkZXYnCiAgICAgICAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OTozOiBlcnJv cjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywgZGVmYXVsdHMgdG8gJ2ludCcgWy1XZXJyb3IsLVdp bXBsaWNpdC1pbnRdCiAgICAgICAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhl IG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgICAgIF4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToxMTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ2Jhc2VfaWR4ZCcKICAgICAgICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkg b3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgICAgICAgICAg ICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFst ZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KWzE4NDQvMjc5NV0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yl9od19p bnRlbC5jLm8KWzE4NDUvMjc5NV0gR2VuZXJhdGluZyBydGVfcmF3X2RwYWEyX3FkbWEuc3ltX2No ayB3aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5kClsxODQ2LzI3OTVdIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRf cmF3ZGV2LmMubwpbMTg0Ny8yNzk1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldl90ZXN0LmMubwpbMTg0OC8yNzk1 XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdf aW9hdF9pZHhkX3ZkZXYuYy5vClsxODQ5LzI3OTVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfcGNpLmMubwpbMTg1MC8yNzk1 XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pZnBnYS5hLnAvcmF3 X2lmcGdhX2lmcGdhX3Jhd2Rldi5jLm8KWzE4NTEvMjc5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfb2N0ZW9udHgyX2RtYS5hLnAvcmF3X29jdGVvbnR4Ml9kbWFf b3R4Ml9kcGlfbXNnLmMubwpbMTg1Mi8yNzk1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX3Jhd19udGIuYS5wL3Jhd19udGJfbnRiLmMubwpuaW5qYTogYnVpbGQgc3RvcHBl ZAoKCgoKKkJ1aWxkIEZhaWxlZCAjODoKT1M6IEZyZWVCU0QxMjAxLTY0ClRhcmdldDogeDg2XzY0 LW5hdGl2ZS1ic2RhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEu cC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9yYXdf aW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUkuLi9k cml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jhd2Rl diAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUg LUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvZnJlZWJzZC9pbmNs dWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwv eDg2L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSWxpYi9saWJydGVf ZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsIC1J Li4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3Zh cmdzIC1JbGliL2xpYnJ0ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xp YnJ0ZV90ZWxlbWV0cnkgLUkuLi9saWIvbGlicnRlX3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3Bj aSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUlsaWIvbGli cnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZl cnMvYnVzL3ZkZXYgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIv bGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3Jpbmcg LUkuLi9saWIvbGlicnRlX3JpbmcgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURf RklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1pbmNs dWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1h dCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJh dGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1k ZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5 cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy IC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMg LURfR05VX1NPVVJDRSAtRF9fQlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbW5vLWF2 eDUxMmYgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5w L3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0 LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3 X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtYyAuLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmMKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBJbiBmdW5j dGlvbiAnaWR4ZF9yYXdkZXZfY3JlYXRlJzoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjIyNzo0OiBlcnJvcjogbGFiZWwgJ2NsZWFudXAnIHVzZWQgYnV0IG5vdCBkZWZpbmVkCiAg MjI3IHwgICAgZ290byBjbGVhbnVwOwogICAgICB8ICAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjE5Nzo2OiBlcnJvcjogdmFyaWFibGUgJ3JldCcgc2V0IGJ1dCBub3Qg dXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICAxOTcgfCAgaW50IHJldCA9 IDA7CiAgICAgIHwgICAgICBefn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5 MzoyMjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnaWR4ZCcgWy1XZXJyb3I9dW51c2VkLXZhcmlh YmxlXQogIDE5MyB8ICBzdHJ1Y3QgaWR4ZF9yYXdkZXYgKmlkeGQ7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkwOjMy OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciAnYmFzZV9pZHhkJyBbLVdlcnJvcj11bnVzZWQtcGFy YW1ldGVyXQogIDE5MCB8ICAgICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNlX2lkeGQs CiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkxOjM1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRl ciAnb3BzJyBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDE5MSB8ICAgICAgY29uc3Qgc3Ry dWN0IHJ0ZV9yYXdkZXZfb3BzICpvcHMpCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fl5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBlcnJvcjogZGF0 YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMjMz IHwgIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICB8ICBefgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRv ICdpbnQnIGluIGRlY2xhcmF0aW9uIG9mICdteicgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI3OiBlcnJvcjogJ216X25hbWUnIHVu ZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ3R6bmFtZSc/ CiAgMjMzIHwgIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgdHpuYW1lCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzU6NDogZXJy b3I6ICdkZXYnIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4gJ2Rpdic/CiAgMjM1IHwgICAgZGV2LT5udW1hX25vZGUsCiAgICAgIHwgICAgXn5+CiAgICAg IHwgICAgZGl2Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6MjogZXJyb3I6 IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAnaWYnCiAgMjM3IHwgIGlmIChteiA9 PSBOVUxMKSB7CiAgICAgIHwgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy NDM6ODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0 ZV9fJyBiZWZvcmUgJy0+JyB0b2tlbgogIDI0MyB8ICByYXdkZXYtPmRldl9wcml2YXRlID0gbXot PmFkZHI7CiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoyNDQ6ODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJp YnV0ZV9fJyBiZWZvcmUgJy0+JyB0b2tlbgogIDI0NCB8ICByYXdkZXYtPmRldl9vcHMgPSBvcHM7 CiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6 ODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f JyBiZWZvcmUgJy0+JyB0b2tlbgogIDI0NSB8ICByYXdkZXYtPmRldmljZSA9IGRldjsKICAgICAg fCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Njo4OiBlcnJv cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9y ZSAnLT4nIHRva2VuCiAgMjQ2IHwgIHJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdE RVZfTkFNRV9TVFI7CiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNDg6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9y YWdlIGNsYXNzIFstV2Vycm9yXQogIDI0OCB8ICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsK ICAgICAgfCAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVy cm9yOiB0eXBlIGRlZmF1bHRzIHRvICdpbnQnIGluIGRlY2xhcmF0aW9uIG9mICdpZHhkJyBbLVdl cnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6 OTogZXJyb3I6ICdyYXdkZXYnIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4gJ3NyYW5kZGV2Jz8KICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZh dGU7CiAgICAgIHwgICAgICAgICBefn5+fn4KICAgICAgfCAgICAgICAgIHNyYW5kZGV2Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlv biBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIDI0OSB8ICAqaWR4ZCA9 ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQg aW4gKi8KICAgICAgfCAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6 IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvICdpbnQnIGluIGRlY2xhcmF0aW9uIG9mICdpZHhkJyBb LVdlcnJvcj1pbXBsaWNpdC1pbnRdCiAgMjQ5IHwgICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29w eSBvdmVyIHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICB8ICAgXn5+ fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiBjb25mbGlj dGluZyB0eXBlcyBmb3IgJ2lkeGQnCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy NDg6Mjogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiAnaWR4ZCcgd2FzIGhlcmUKICAyNDgg fCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwgIF5+fn4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToxMTogZXJyb3I6ICdiYXNlX2lkeGQnIHVuZGVjbGFy ZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCiAgMjQ5IHwgICppZHhkID0gKmJhc2VfaWR4ZDsg LyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICB8 ICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1 MDo2OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRl X18nIGJlZm9yZSAnLT4nIHRva2VuCiAgMjUwIHwgIGlkeGQtPnB1YmxpYy50eXBlID0gUlRFX0lE WERfREVWOwogICAgICB8ICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI1MTo2OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli dXRlX18nIGJlZm9yZSAnLT4nIHRva2VuCiAgMjUxIHwgIGlkeGQtPnJhd2RldiA9IHJhd2RldjsK ICAgICAgfCAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTI6Njog ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi ZWZvcmUgJy0+JyB0b2tlbgogIDI1MiB8ICBpZHhkLT5teiA9IG16OwogICAgICB8ICAgICAgXn4K Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1NDoyOiBlcnJvcjogZXhwZWN0ZWQg aWRlbnRpZmllciBvciAnKCcgYmVmb3JlICdyZXR1cm4nCiAgMjU0IHwgIHJldHVybiAwOwogICAg ICB8ICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1Njo4OiBlcnJv cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9y ZSAnOicgdG9rZW4KICAyNTYgfCBjbGVhbnVwOgogICAgICB8ICAgICAgICBeCi4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNjA6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIg b3IgJygnIGJlZm9yZSAncmV0dXJuJwogIDI2MCB8ICByZXR1cm4gcmV0OwogICAgICB8ICBefn5+ fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MToxOiBlcnJvcjogZXhwZWN0 ZWQgaWRlbnRpZmllciBvciAnKCcgYmVmb3JlICd9JyB0b2tlbgogIDI2MSB8IH0KICAgICAgfCBe CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsxMzUyLzIwMTBdIEdl bmVyYXRpbmcgcnRlX25ldF92aXJ0aW8ucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kClsxMzUz LzIwMTBdIEdlbmVyYXRpbmcgcnRlX25ldF90eGdiZS5zeW1fY2hrIHdpdGggYSBtZXNvbl9leGUu cHkgY3VzdG9tIGNvbW1hbmQKWzEzNTQvMjAxMF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9uZXRfdm14bmV0My5hLnAvbmV0X3ZteG5ldDNfdm14bmV0M19yeHR4LmMubwpb MTM1NS8yMDEwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0 LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldi5jLm8KWzEzNTYvMjAxMF0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZf dGVzdC5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzk6Ck9TOiBG cmVlQlNEMTIwMS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCkZBSUxFRDog ZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8g CmNsYW5nIC1JZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucCAtSWRyaXZlcnMgLUkuLi9k cml2ZXJzIC1JZHJpdmVycy9yYXcvaW9hdCAtSS4uL2RyaXZlcnMvcmF3L2lvYXQgLUlsaWIvbGli cnRlX3Jhd2RldiAtSS4uL2xpYi9saWJydGVfcmF3ZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4v Y29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2luY2x1 ZGUgLUlsaWIvbGlicnRlX2VhbC9mcmVlYnNkL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9m cmVlYnNkL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJy dGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9s aWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3Mg LUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUlsaWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9s aWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpL2JzZCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9w Y2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWxpYi9saWJydGVf bWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9s aWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtWGNs YW5nIC1mY29sb3ItZGlhZ25vc3RpY3MgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2Fs bCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJh IC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1X Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlw ZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0 aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJp bmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0 aWFsaXplcnMgLURfR05VX1NPVVJDRSAtRF9fQlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtbW5vLWF2eDUxMmYgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxf QVBJIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0 X2NvbW1vbi5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRf aW9hdF9jb21tb24uYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdf aW9hdF9pb2F0X2NvbW1vbi5jLm8gLWMgLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQg dmFyaWFibGUgJ2lkeGQnIFstV2Vycm9yLC1XdW51c2VkLXZhcmlhYmxlXQogICAgICAgIHN0cnVj dCBpZHhkX3Jhd2RldiAqaWR4ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIwNjo4OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgbGFiZWwgJ2NsZWFudXAnCiAgICAgICAgICAgICAgICBnb3RvIGNsZWFudXA7CiAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MDozMjog ZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIgJ2Jhc2VfaWR4ZCcgWy1XZXJyb3IsLVd1bnVzZWQtcGFy YW1ldGVyXQogICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNl X2lkeGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MTozNTogZXJyb3I6IHVudXNlZCBwYXJh bWV0ZXIgJ29wcycgWy1XZXJyb3IsLVd1bnVzZWQtcGFyYW1ldGVyXQogICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHJ0ZV9yYXdkZXZfb3BzICpvcHMpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjIzMzoyOiBlcnJvcjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywgZGVmYXVsdHMgdG8g J2ludCcgWy1XZXJyb3IsLVdpbXBsaWNpdC1pbnRdCiAgICAgICAgbXogPSBydGVfbWVtem9uZV9y ZXNlcnZlKG16X25hbWUsCiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjMzOjI3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnbXpfbmFtZScK ICAgICAgICBteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1 OjQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdkZXYnCiAgICAgICAgICAg ICAgICAgICAgICAgIGRldi0+bnVtYV9ub2RlLAogICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6MjogZXJyb3I6IGV4cGVjdGVkIGlk ZW50aWZpZXIgb3IgJygnCiAgICAgICAgaWYgKG16ID09IE5VTEwpIHsKICAgICAgICBeCi4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6MjogZXJyb3I6IHVua25vd24gdHlwZSBu YW1lICdyYXdkZXYnCiAgICAgICAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAg ICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhw ZWN0ZWQgaWRlbnRpZmllciBvciAnKCcKICAgICAgICByYXdkZXYtPmRldl9wcml2YXRlID0gbXot PmFkZHI7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6 MjQ0OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAncmF3ZGV2JwogICAgICAgIHJhd2Rldi0+ ZGV2X29wcyA9IG9wczsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoyNDQ6ODogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnCiAgICAgICAgcmF3ZGV2 LT5kZXZfb3BzID0gb3BzOwogICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjI0NToyOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3Jhd2RldicKICAgICAg ICByYXdkZXYtPmRldmljZSA9IGRldjsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNDU6ODogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnCiAgICAg ICAgcmF3ZGV2LT5kZXZpY2UgPSBkZXY7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjQ2OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAncmF3ZGV2 JwogICAgICAgIHJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7 CiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9y OiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJwogICAgICAgIHJhd2Rldi0+ZHJpdmVyX25hbWUg PSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVycm9yOiB0eXBlIHNwZWNpZmllciBtaXNzaW5n LCBkZWZhdWx0cyB0byAnaW50JyBbLVdlcnJvciwtV2ltcGxpY2l0LWludF0KICAgICAgICBpZHhk ID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNDg6OTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3Jh d2RldicKICAgICAgICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiB0eXBlIHNw ZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50JyBbLVdlcnJvciwtV2ltcGxpY2l0LWlu dF0KICAgICAgICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVs ZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkg ZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBn ZW5lcmF0ZWQuClsxMzY5LzIwMTBdIEdlbmVyYXRpbmcgcnRlX3Jhd19udGJfZGVmIHdpdGggYSBj dXN0b20gY29tbWFuZApbMTM3MC8yMDEwXSBHZW5lcmF0aW5nIHJ0ZV9uZXRfdm14bmV0My5zeW1f Y2hrIHdpdGggYSBtZXNvbl9leGUucHkgY3VzdG9tIGNvbW1hbmQKWzEzNzEvMjAxMF0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yl9o d19pbnRlbC5jLm8KWzEzNzIvMjAxMF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8KWzEzNzMvMjAx MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdf bnRiX250Yi5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzEwOgpP UzogRnJlZUJTRDEyMDEtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2Mrc2hhcmVk CkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2Nv bW1vbi5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAgLUlkcml2ZXJz IC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUkuLi9kcml2ZXJzL3Jhdy9pb2F0IC1J bGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jhd2RldiAtSS4gLUkuLiAtSWNvbmZp ZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2Vh bC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0 ZV9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUkuLi9s aWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwg LUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9t ZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUku Li9saWIvbGlicnRlX3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVz L3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9s aWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlsaWIv bGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUku Li9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3Jp bmcgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02 NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAt V2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRl cmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRl ci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0 ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1h bGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtRF9f QlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbW5vLWF2eDUxMmYgLURBTExPV19FWFBF UklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29t bW9uLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0 X2NvbW1vbi5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0 X2lvYXRfY29tbW9uLmMubyAtYyAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBJbiBmdW5jdGlvbiAnaWR4ZF9yYXdkZXZf Y3JlYXRlJzoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIyNzo0OiBlcnJvcjog bGFiZWwgJ2NsZWFudXAnIHVzZWQgYnV0IG5vdCBkZWZpbmVkCiAgMjI3IHwgICAgZ290byBjbGVh bnVwOwogICAgICB8ICAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5 Nzo2OiBlcnJvcjogdmFyaWFibGUgJ3JldCcgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVz ZWQtYnV0LXNldC12YXJpYWJsZV0KICAxOTcgfCAgaW50IHJldCA9IDA7CiAgICAgIHwgICAgICBe fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MzoyMjogZXJyb3I6IHVudXNl ZCB2YXJpYWJsZSAnaWR4ZCcgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE5MyB8ICBzdHJ1 Y3QgaWR4ZF9yYXdkZXYgKmlkeGQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn5+fgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkwOjMyOiBlcnJvcjogdW51c2VkIHBh cmFtZXRlciAnYmFzZV9pZHhkJyBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDE5MCB8ICAg ICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3ZGV2ICpiYXNlX2lkeGQsCiAgICAgIHwgICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRf Y29tbW9uLmM6MTkxOjM1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciAnb3BzJyBbLVdlcnJvcj11 bnVzZWQtcGFyYW1ldGVyXQogIDE5MSB8ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9yYXdkZXZfb3Bz ICpvcHMpCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBu byB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMjMzIHwgIG16ID0gcnRlX21lbXpv bmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICB8ICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRf Y29tbW9uLmM6MjMzOjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvICdpbnQnIGluIGRlY2xhcmF0 aW9uIG9mICdteicgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MjMzOjI3OiBlcnJvcjogJ216X25hbWUnIHVuZGVjbGFyZWQgaGVyZSAobm90 IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ3R6bmFtZSc/CiAgMjMzIHwgIG16ID0gcnRl X21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHpuYW1lCi4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzU6NDogZXJyb3I6ICdkZXYnIHVuZGVjbGFy ZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ2Rpdic/CiAgMjM1IHwg ICAgZGV2LT5udW1hX25vZGUsCiAgICAgIHwgICAgXn5+CiAgICAgIHwgICAgZGl2Ci4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZp ZXIgb3IgJygnIGJlZm9yZSAnaWYnCiAgMjM3IHwgIGlmIChteiA9PSBOVUxMKSB7CiAgICAgIHwg IF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6ODogZXJyb3I6IGV4cGVj dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+JyB0 b2tlbgogIDI0MyB8ICByYXdkZXYtPmRldl9wcml2YXRlID0gbXotPmFkZHI7CiAgICAgIHwgICAg ICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6ODogZXJyb3I6IGV4 cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+ JyB0b2tlbgogIDI0NCB8ICByYXdkZXYtPmRldl9vcHMgPSBvcHM7CiAgICAgIHwgICAgICAgIF5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6ODogZXJyb3I6IGV4cGVjdGVk ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+JyB0b2tl bgogIDI0NSB8ICByYXdkZXYtPmRldmljZSA9IGRldjsKICAgICAgfCAgICAgICAgXn4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Njo4OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnLT4nIHRva2VuCiAgMjQ2 IHwgIHJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7CiAgICAg IHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJy b3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9y XQogIDI0OCB8ICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgfCAgXn5+fgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVycm9yOiB0eXBlIGRlZmF1bHRz IHRvICdpbnQnIGluIGRlY2xhcmF0aW9uIG9mICdpZHhkJyBbLVdlcnJvcj1pbXBsaWNpdC1pbnRd Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6OTogZXJyb3I6ICdyYXdkZXYn IHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ3NyYW5k ZGV2Jz8KICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwgICAgICAg ICBefn5+fn4KICAgICAgfCAgICAgICAgIHNyYW5kZGV2Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNDk6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBz dG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIDI0OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNv cHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgfCAgXgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiB0eXBlIGRlZmF1 bHRzIHRvICdpbnQnIGluIGRlY2xhcmF0aW9uIG9mICdpZHhkJyBbLVdlcnJvcj1pbXBsaWNpdC1p bnRdCiAgMjQ5IHwgICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZp ZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICB8ICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2lk eGQnCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6Mjogbm90ZTogcHJldmlv dXMgZGVmaW5pdGlvbiBvZiAnaWR4ZCcgd2FzIGhlcmUKICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ ZGV2X3ByaXZhdGU7CiAgICAgIHwgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjI0OToxMTogZXJyb3I6ICdiYXNlX2lkeGQnIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEg ZnVuY3Rpb24pCiAgMjQ5IHwgICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBt YWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICB8ICAgICAgICAgICBefn5+fn5+ fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1MDo2OiBlcnJvcjogZXhwZWN0 ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnLT4nIHRv a2VuCiAgMjUwIHwgIGlkeGQtPnB1YmxpYy50eXBlID0gUlRFX0lEWERfREVWOwogICAgICB8ICAg ICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1MTo2OiBlcnJvcjogZXhw ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnLT4n IHRva2VuCiAgMjUxIHwgIGlkeGQtPnJhd2RldiA9IHJhd2RldjsKICAgICAgfCAgICAgIF5+Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTI6NjogZXJyb3I6IGV4cGVjdGVkICc9 JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+JyB0b2tlbgog IDI1MiB8ICBpZHhkLT5teiA9IG16OwogICAgICB8ICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjI1NDoyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcg YmVmb3JlICdyZXR1cm4nCiAgMjU0IHwgIHJldHVybiAwOwogICAgICB8ICBefn5+fn4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1Njo4OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnOicgdG9rZW4KICAyNTYg fCBjbGVhbnVwOgogICAgICB8ICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyNjA6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAncmV0 dXJuJwogIDI2MCB8ICByZXR1cm4gcmV0OwogICAgICB8ICBefn5+fn4KLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjI2MToxOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAn KCcgYmVmb3JlICd9JyB0b2tlbgogIDI2MSB8IH0KICAgICAgfCBeCmNjMTogYWxsIHdhcm5pbmdz IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsxMzcwLzE4OTJdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfcmF3ZGV2LmMubwpb MTM3MS8xODkyXSBHZW5lcmF0aW5nIHJ0ZV9uZXRfdHhnYmUucG1kLmMgd2l0aCBhIGN1c3RvbSBj b21tYW5kClsxMzcyLzE4OTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf bmV0X3ZpcnRpby5hLnAvbmV0X3ZpcnRpb192aXJ0aW9fcnh0eC5jLm8KWzEzNzMvMTg5Ml0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfdm14bmV0My5hLnAvbmV0X3Zt eG5ldDNfdm14bmV0M19yeHR4LmMubwpbMTM3NC8xODkyXSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldl90ZXN0LmMu bwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTE6Ck9TOiBGcmVlQlNE MTIwMS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1ZwpGQUlMRUQ6IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIApn Y2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZl cnMgLUlkcml2ZXJzL3Jhdy9pb2F0IC1JLi4vZHJpdmVycy9yYXcvaW9hdCAtSWxpYi9saWJydGVf cmF3ZGV2IC1JLi4vbGliL2xpYnJ0ZV9yYXdkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25m aWcgLUlsaWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAt SWxpYi9saWJydGVfZWFsL2ZyZWVic2QvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2ZyZWVi c2QvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9l YWwveDg2L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2Vh bC9jb21tb24gLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0 ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9saWJydGVfbWV0cmljcyAtSS4u L2xpYi9saWJydGVfbWV0cmljcyAtSWxpYi9saWJydGVfdGVsZW1ldHJ5IC1JLi4vbGliL2xpYnJ0 ZV90ZWxlbWV0cnkgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9k cml2ZXJzL2J1cy9wY2kvYnNkIC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAt SWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9tYnVm IC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0 ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1mZGlhZ25v c3RpY3MtY29sb3I9YWx3YXlzIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdp bnZhbGlkLXBjaCAtV2Vycm9yIC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAt V2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zv cm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGgg LVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5n cyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAt V25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLURfX0JTRF9WSVNJ QkxFIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1uby1hdng1MTJmIC1EQUxMT1dfRVhQRVJJTUVOVEFM X0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1NRCAtTVEg ZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8g LU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24u Yy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2Nv bW1vbi5jLm8gLWMgLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jCi4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzogSW4gZnVuY3Rpb24gJ2lkeGRfcmF3ZGV2X2NyZWF0ZSc6 Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMjc6NDogZXJyb3I6IGxhYmVsICdj bGVhbnVwJyB1c2VkIGJ1dCBub3QgZGVmaW5lZAogIDIyNyB8ICAgIGdvdG8gY2xlYW51cDsKICAg ICAgfCAgICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTc6NjogZXJy b3I6IHZhcmlhYmxlICdyZXQnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1z ZXQtdmFyaWFibGVdCiAgMTk3IHwgIGludCByZXQgPSAwOwogICAgICB8ICAgICAgXn5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFi bGUgJ2lkeGQnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICAxOTMgfCAgc3RydWN0IGlkeGRf cmF3ZGV2ICppZHhkOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MDozMjogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg J2Jhc2VfaWR4ZCcgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICAxOTAgfCAgICAgIGNvbnN0 IHN0cnVjdCBpZHhkX3Jhd2RldiAqYmFzZV9pZHhkLAogICAgICB8ICAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjE5MTozNTogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIgJ29wcycgWy1XZXJyb3I9dW51c2VkLXBh cmFtZXRlcl0KICAxOTEgfCAgICAgIGNvbnN0IHN0cnVjdCBydGVfcmF3ZGV2X29wcyAqb3BzKQog ICAgICB8ICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyMzM6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBv ciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIDIzMyB8ICBteiA9IHJ0ZV9tZW16b25lX3Jlc2Vy dmUobXpfbmFtZSwKICAgICAgfCAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjIzMzoyOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byAnaW50JyBpbiBkZWNsYXJhdGlvbiBvZiAn bXonIFstV2Vycm9yPWltcGxpY2l0LWludF0KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjIzMzoyNzogZXJyb3I6ICdtel9uYW1lJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuICd0em5hbWUnPwogIDIzMyB8ICBteiA9IHJ0ZV9tZW16b25l X3Jlc2VydmUobXpfbmFtZSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHR6bmFtZQouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1OjQ6IGVycm9yOiAnZGV2JyB1bmRlY2xhcmVkIGhlcmUg KG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdkaXYnPwogIDIzNSB8ICAgIGRldi0+ bnVtYV9ub2RlLAogICAgICB8ICAgIF5+fgogICAgICB8ICAgIGRpdgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjM3OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICco JyBiZWZvcmUgJ2lmJwogIDIzNyB8ICBpZiAobXogPT0gTlVMTCkgewogICAgICB8ICBefgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQzOjg6IGVycm9yOiBleHBlY3RlZCAnPScs ICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICctPicgdG9rZW4KICAy NDMgfCAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAgICB8ICAgICAgICBefgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ0Ojg6IGVycm9yOiBleHBlY3RlZCAn PScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICctPicgdG9rZW4K ICAyNDQgfCAgcmF3ZGV2LT5kZXZfb3BzID0gb3BzOwogICAgICB8ICAgICAgICBefgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ1Ojg6IGVycm9yOiBleHBlY3RlZCAnPScsICcs JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICctPicgdG9rZW4KICAyNDUg fCAgcmF3ZGV2LT5kZXZpY2UgPSBkZXY7CiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNDY6ODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+JyB0b2tlbgogIDI0NiB8ICByYXdk ZXYtPmRyaXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVWX05BTUVfU1RSOwogICAgICB8ICAgICAg ICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVycm9yOiBkYXRh IGRlZmluaXRpb24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJvcl0KICAyNDgg fCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwgIF5+fn4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byAnaW50 JyBpbiBkZWNsYXJhdGlvbiBvZiAnaWR4ZCcgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4Ojk6IGVycm9yOiAncmF3ZGV2JyB1bmRlY2xh cmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdzcmFuZGRldic/CiAg MjQ4IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogICAgICB8ICAgICAgICAgXn5+fn5+ CiAgICAgIHwgICAgICAgICBzcmFuZGRldgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjQ5OjI6IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBj bGFzcyBbLVdlcnJvcl0KICAyNDkgfCAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIg dGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgIHwgIF4KLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OTozOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byAn aW50JyBpbiBkZWNsYXJhdGlvbiBvZiAnaWR4ZCcgWy1XZXJyb3I9aW1wbGljaXQtaW50XQogIDI0 OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxy ZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgfCAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjI0OTozOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdpZHhkJwouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IG5vdGU6IHByZXZpb3VzIGRlZmlu aXRpb24gb2YgJ2lkeGQnIHdhcyBoZXJlCiAgMjQ4IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2 YXRlOwogICAgICB8ICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6 MTE6IGVycm9yOiAnYmFzZV9pZHhkJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9u KQogIDI0OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVs ZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgfCAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJyb3I6IGV4cGVjdGVkICc9Jywg JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+JyB0b2tlbgogIDI1 MCB8ICBpZHhkLT5wdWJsaWMudHlwZSA9IFJURV9JRFhEX0RFVjsKICAgICAgfCAgICAgIF5+Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTE6NjogZXJyb3I6IGV4cGVjdGVkICc9 JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJy0+JyB0b2tlbgog IDI1MSB8ICBpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgICAgIHwgICAgICBefgouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUyOjY6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICctPicgdG9rZW4KICAyNTIgfCAg aWR4ZC0+bXogPSBtejsKICAgICAgfCAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAn cmV0dXJuJwogIDI1NCB8ICByZXR1cm4gMDsKICAgICAgfCAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNTY6ODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJzonIHRva2VuCiAgMjU2IHwgY2xlYW51 cDoKICAgICAgfCAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjYw OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJyBiZWZvcmUgJ3JldHVybicKICAy NjAgfCAgcmV0dXJuIHJldDsKICAgICAgfCAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNjE6MTogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9y ZSAnfScgdG9rZW4KICAyNjEgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwpbMTM0Ni8yMDEwXSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVy cy9saWJ0bXBfcnRlX25ldF90eGdiZS5hClsxMzQ3LzIwMTBdIEdlbmVyYXRpbmcgcnRlX25ldF92 aXJ0aW8ucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kClsxMzQ4LzIwMTBdIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfcGNp LmMubwpbMTM0OS8yMDEwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jh d19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldi5jLm8KWzEzNTAvMjAxMF0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfdm14bmV0My5hLnAvbmV0X3ZteG5ldDNf dm14bmV0M19yeHR4LmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAj MTI6Ck9TOiBSSEVMODMtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlM RUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24u Yy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wIC1JZHJpdmVycyAtSS4u L2RyaXZlcnMgLUlkcml2ZXJzL3Jhdy9pb2F0IC1JLi4vZHJpdmVycy9yYXcvaW9hdCAtSWxpYi9s aWJydGVfcmF3ZGV2IC1JLi4vbGliL2xpYnJ0ZV9yYXdkZXYgLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvaW5j bHVkZSAtSWxpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9s aW51eC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvbGlicnRl X2VhbC94ODYvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVf ZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGli cnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9tZXRyaWNzIC1J Li4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUkuLi9saWIvbGli cnRlX3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4u L2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9w Y2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWxpYi9saWJydGVf bWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9s aWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtZmRp YWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxs IC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEg LVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdm b3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBl cyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRo IC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmlu Z3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVy cyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAt TUYgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5j Lm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29t bW9uLmMubyAtYyAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBJbiBmdW5jdGlvbiDigJhpZHhkX3Jhd2Rldl9jcmVhdGXi gJk6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMjc6NDogZXJyb3I6IGxhYmVs IOKAmGNsZWFudXDigJkgdXNlZCBidXQgbm90IGRlZmluZWQKICAgIGdvdG8gY2xlYW51cDsKICAg IF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5Nzo2OiBlcnJvcjogdmFy aWFibGUg4oCYcmV04oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQt dmFyaWFibGVdCiAgaW50IHJldCA9IDA7CiAgICAgIF5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MTkzOjIyOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmGlkeGTigJkgWy1X ZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBpZHhkX3Jhd2RldiAqaWR4ZDsKICAgICAg ICAgICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5 MDozMjogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg4oCYYmFzZV9pZHhk4oCZIFstV2Vycm9yPXVu dXNlZC1wYXJhbWV0ZXJdCiAgICAgIGNvbnN0IHN0cnVjdCBpZHhkX3Jhd2RldiAqYmFzZV9pZHhk LAogICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MTkxOjM1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJhv cHPigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9y YXdkZXZfb3BzICpvcHMpCiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI6IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFz IG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJvcl0KICBteiA9IHJ0ZV9tZW16b25lX3Jl c2VydmUobXpfbmFtZSwKICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMz OjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDi gJhteuKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyMzM6Mjc6IGVycm9yOiDigJhtel9uYW1l4oCZIHVuZGVjbGFyZWQgaGVyZSAobm90 IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYdHpuYW1l4oCZPwogIG16ID0gcnRlX21l bXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHR6bmFtZQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MjM1OjQ6IGVycm9yOiDigJhkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3Qg aW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhkaXbigJk/CiAgICBkZXYtPm51bWFfbm9k ZSwKICAgIF5+fgogICAgZGl2Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6 MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYaWbigJkK ICBpZiAobXogPT0gTlVMTCkgewogIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoyNDM6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFz beKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIHJhd2Rl di0+ZGV2X3ByaXZhdGUgPSBtei0+YWRkcjsKICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjQ0Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDi gJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkg dG9rZW4KICByYXdkZXYtPmRldl9vcHMgPSBvcHM7CiAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjI0NTo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKA mSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+ 4oCZIHRva2VuCiAgcmF3ZGV2LT5kZXZpY2UgPSBkZXY7CiAgICAgICAgXn4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Njo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCY LOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKA mC0+4oCZIHRva2VuCiAgcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JBV0RFVl9OQU1F X1NUUjsKICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6 IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdl cnJvcl0KICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICBefn5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW50 4oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4Ojk6IGVycm9yOiDigJhyYXdkZXbi gJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhy YW5kX3LigJk/CiAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgICAgIF5+fn5+fgog ICAgICAgICByYW5kX3IKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToyOiBl cnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJy b3JdCiAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFs cmVhZHkgcGFzc2VkIGluICovCiAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6 MjQ5OjM6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBv ZiDigJhpZHhk4oCZIFstV2Vycm9yPWltcGxpY2l0LWludF0KICAqaWR4ZCA9ICpiYXNlX2lkeGQ7 IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgXn5+ fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVycm9yOiBjb25mbGlj dGluZyB0eXBlcyBmb3Ig4oCYaWR4ZOKAmQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjQ4OjI6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYaWR4ZOKAmSB3YXMgaGVy ZQogIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjI0OToxMTogZXJyb3I6IOKAmGJhc2VfaWR4ZOKAmSB1bmRlY2xhcmVk IGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKQogICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBv dmVyIHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICAgICAgIF5+fn5+ fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUwOjY6IGVycm9yOiBleHBl Y3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1 dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICBpZHhkLT5wdWJsaWMudHlwZSA9IFJURV9J RFhEX0RFVjsKICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1MTo2 OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9y IOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgaWR4ZC0+cmF3ZGV2 ID0gcmF3ZGV2OwogICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUy OjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkg b3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICBpZHhkLT5teiA9 IG16OwogICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjU0OjI6IGVy cm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmHJldHVybuKAmQog IHJldHVybiAwOwogIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjU2 Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkg b3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYOuKAmSB0b2tlbgogY2xlYW51cDoKICAg ICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNjA6MjogZXJyb3I6IGV4 cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgcmV0dXJu IHJldDsKICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MToxOiBl cnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJh94oCZIHRva2Vu CiB9CiBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsxODE1LzI3 ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X3ZpcnRpby5hLnAv bmV0X3ZpcnRpb192aXJ0aW9fcnh0eC5jLm8KWzE4MTYvMjc4Nl0gR2VuZXJhdGluZyBydGVfcmF3 X2RwYWEyX3FkbWEuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVz b24gdG8gY2FwdHVyZSBvdXRwdXQpClsxODE3LzI3ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfdmRldi5jLm8KWzE4MTgv Mjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9y YXdfbnRiX250Yl9od19pbnRlbC5jLm8KWzE4MTkvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXYuYy5vClsx ODIwLzI3ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lmcGdh LmEucC9yYXdfaWZwZ2FfaWZwZ2FfcmF3ZGV2LmMubwpbMTgyMS8yNzg2XSBHZW5lcmF0aW5nIHJ0 ZV9uZXRfdm14bmV0My5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBt ZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzE4MjIvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5j Lm8KWzE4MjMvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdf aW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoq QnVpbGQgRmFpbGVkICMxMzoKT1M6IFNVU0UxNS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19p b2F0X2lvYXRfY29tbW9uLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQu YS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL3Jhdy9pb2F0IC1JLi4vZHJpdmVy cy9yYXcvaW9hdCAtSWxpYi9saWJydGVfcmF3ZGV2IC1JLi4vbGliL2xpYnJ0ZV9yYXdkZXYgLUku IC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4v bGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUku Li9saWIvbGlicnRlX2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1 ZGUgLUkuLi9saWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1v biAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xp YnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGli L2xpYnJ0ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV90ZWxl bWV0cnkgLUkuLi9saWIvbGlicnRlX3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2Ry aXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNp IC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMv dmRldiAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVf bWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xp Yi9saWJydGVfcmluZyAtWGNsYW5nIC1mY29sb3ItZGlhZ25vc3RpY3MgLXBpcGUgLURfRklMRV9P RkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0 ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zv cm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0 aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1X dW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8t bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0 aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtTUQgLU1R IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5v IC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9u LmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9j b21tb24uYy5vIC1jIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYwouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjA2Ojg6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBs YWJlbCAnY2xlYW51cCcKICAgICAgICAgICAgICAgIGdvdG8gY2xlYW51cDsKICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkwOjMyOiBlcnJv cjogdW51c2VkIHBhcmFtZXRlciAnYmFzZV9pZHhkJyBbLVdlcnJvciwtV3VudXNlZC1wYXJhbWV0 ZXJdCiAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaWR4ZF9yYXdkZXYgKmJhc2VfaWR4 ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkxOjM1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRl ciAnb3BzJyBbLVdlcnJvciwtV3VudXNlZC1wYXJhbWV0ZXJdCiAgICAgICAgICAgICAgICAgICBj b25zdCBzdHJ1Y3QgcnRlX3Jhd2Rldl9vcHMgKm9wcykKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjMzOjI6IGVycm9yOiB0eXBlIHNwZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50 JyBbLVdlcnJvciwtV2ltcGxpY2l0LWludF0KICAgICAgICBteiA9IHJ0ZV9tZW16b25lX3Jlc2Vy dmUobXpfbmFtZSwKICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy MzM6Mjc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdtel9uYW1lJwogICAg ICAgIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzU6NDog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2RldicKICAgICAgICAgICAgICAg ICAgICAgICAgZGV2LT5udW1hX25vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzNzoyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRp ZmllciBvciAnKCcKICAgICAgICBpZiAobXogPT0gTlVMTCkgewogICAgICAgIF4KLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0MzoyOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg J3Jhd2RldicKICAgICAgICByYXdkZXYtPmRldl9wcml2YXRlID0gbXotPmFkZHI7CiAgICAgICAg XgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQzOjg6IGVycm9yOiBleHBlY3Rl ZCBpZGVudGlmaWVyIG9yICcoJwogICAgICAgIHJhd2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+YWRk cjsKICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6 MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdyYXdkZXYnCiAgICAgICAgcmF3ZGV2LT5kZXZf b3BzID0gb3BzOwogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0 NDo4OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcKICAgICAgICByYXdkZXYtPmRl dl9vcHMgPSBvcHM7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmM6MjQ1OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAncmF3ZGV2JwogICAgICAgIHJh d2Rldi0+ZGV2aWNlID0gZGV2OwogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjI0NTo4OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcKICAgICAgICBy YXdkZXYtPmRldmljZSA9IGRldjsKICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNDY6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdyYXdkZXYnCiAg ICAgICAgcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JBV0RFVl9OQU1FX1NUUjsKICAg ICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDY6ODogZXJyb3I6IGV4 cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnCiAgICAgICAgcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElP QVRfUE1EX1JBV0RFVl9OQU1FX1NUUjsKICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRl ZmF1bHRzIHRvICdpbnQnIFstV2Vycm9yLC1XaW1wbGljaXQtaW50XQogICAgICAgIGlkeGQgPSBy YXdkZXYtPmRldl9wcml2YXRlOwogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjI0ODo5OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncmF3ZGV2 JwogICAgICAgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IHR5cGUgc3BlY2lm aWVyIG1pc3NpbmcsIGRlZmF1bHRzIHRvICdpbnQnIFstV2Vycm9yLC1XaW1wbGljaXQtaW50XQog ICAgICAgICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBh bHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNDk6MTE6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdiYXNl X2lkeGQnCiAgICAgICAgKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4g ZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgICAgICAgICAgICAgXgpmYXRhbCBlcnJv cjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1d CjIwIGVycm9ycyBnZW5lcmF0ZWQuClsxODIzLzI2ODldIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL3Jhdy9pZnBnYS9iYXNlL2xpYmlmcGdhX3Jhd2Rldl9iYXNlLmEucC9vcGFlX2ludGVsX21h eDEwLmMubwpbMTgyNC8yNjg5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9yYXcvaWZwZ2Ev YmFzZS9saWJpZnBnYV9yYXdkZXZfYmFzZS5hLnAvb3BhZV9pMmMuYy5vClsxODI1LzI2ODldIEdl bmVyYXRpbmcgcnRlX3Jhd19kcGFhMl9xZG1hLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5k ICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMTgyNi8yNjg5XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19udGIuYS5wL3Jhd19udGJfbnRiX2h3 X2ludGVsLmMubwpbMTgyNy8yNjg5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X3Jhd2Rldi5jLm8KWzE4MjgvMjY4OV0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRf aW9hdF9yYXdkZXZfdGVzdC5jLm8KWzE4MjkvMjY4OV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9yYXdfaWZwZ2EuYS5wL3Jhd19pZnBnYV9pZnBnYV9yYXdkZXYuYy5vClsx ODMwLzI2ODldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQu YS5wL3Jhd19pb2F0X2lkeGRfdmRldi5jLm8KWzE4MzEvMjY4OV0gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vCm5p bmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxNDoKT1M6IFNVU0UxNS02NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gCmdjYyAtSWRyaXZlcnMv bGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMv cmF3L2lvYXQgLUkuLi9kcml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9s aWIvbGlicnRlX3Jhd2RldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJy dGVfZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9l YWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIv bGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1J bGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xp YnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGli L2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJp Y3MgLUlsaWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJp dmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xp bnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3Zk ZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0 ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGli L2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3 YXlzIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2Vy cm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3QtcXVhbCAtV2RlcHJl Y2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21p c3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMg LVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdz dHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLW1pc3NpbmctZmll bGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9X X0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNh dGlvbiAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9h dF9jb21tb24uYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0 X2lvYXRfY29tbW9uLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3 X2lvYXRfaW9hdF9jb21tb24uYy5vIC1jIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YwouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6IEluIGZ1bmN0aW9uIOKAmGlkeGRf cmF3ZGV2X2NyZWF0ZeKAmToKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIyNzo0 OiBlcnJvcjogbGFiZWwg4oCYY2xlYW51cOKAmSB1c2VkIGJ1dCBub3QgZGVmaW5lZAogICAgZ290 byBjbGVhbnVwOwogICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTk3 OjY6IGVycm9yOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11 bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICBpbnQgcmV0ID0gMDsKICAgICAgXn5+Ci4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg 4oCYaWR4ZOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgc3RydWN0IGlkeGRfcmF3ZGV2 ICppZHhkOwogICAgICAgICAgICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MTkwOjMyOiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJhiYXNlX2lkeGTi gJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICAgICAgY29uc3Qgc3RydWN0IGlkeGRfcmF3 ZGV2ICpiYXNlX2lkeGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTE6MzU6IGVycm9yOiB1bnVzZWQg cGFyYW1ldGVyIOKAmG9wc+KAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogICAgICBjb25z dCBzdHJ1Y3QgcnRlX3Jhd2Rldl9vcHMgKm9wcykKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBBdCB0b3AgbGV2 ZWw6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJyb3I6IGRhdGEg ZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIG16ID0g cnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyMzM6MjogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRl Y2xhcmF0aW9uIG9mIOKAmG164oCZIFstV2Vycm9yPWltcGxpY2l0LWludF0KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyNzogZXJyb3I6IOKAmG16X25hbWXigJkgdW5kZWNs YXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJh0em5hbWXigJk/ CiAgbXogPSBydGVfbWVtem9uZV9yZXNlcnZlKG16X25hbWUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgdHpuYW1lCi4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzU6NDogZXJyb3I6IOKAmGRlduKAmSB1bmRlY2xh cmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmGRpduKAmT8KICAg IGRldi0+bnVtYV9ub2RlLAogICAgXn5+CiAgICBkaXYKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjIzNzoyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJl Zm9yZSDigJhpZuKAmQogIGlmIChteiA9PSBOVUxMKSB7CiAgXn4KLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg 4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZ IHRva2VuCiAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAgICAgIF5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3i gJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJl Zm9yZSDigJgtPuKAmSB0b2tlbgogIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsKICAgICAgICBefgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ1Ojg6IGVycm9yOiBleHBlY3RlZCDi gJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KA mSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdkZXYtPmRldmljZSA9IGRldjsKICAgICAgICBe fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9yOiBleHBlY3Rl ZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVf X+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdkZXYtPmRyaXZlcl9uYW1lID0gSU9BVF9Q TURfUkFXREVWX05BTUVfU1RSOwogICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNDg6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9y YWdlIGNsYXNzIFstV2Vycm9yXQogIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogIF5+fn4K Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBlcnJvcjogdHlwZSBkZWZh dWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCYaWR4ZOKAmSBbLVdlcnJvcj1p bXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6OTogZXJy b3I6IOKAmHJhd2RlduKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmGRlduKAmT8KICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAg ICAgXn5+fn5+CiAgICAgICAgIGRldgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6 MjQ5OjI6IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5vIHR5cGUgb3Igc3RvcmFnZSBjbGFz cyBbLVdlcnJvcl0KICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBm aWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNDk6MzogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xh cmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQogICppZHhkID0gKmJh c2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAq LwogICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhpZHhk4oCZCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNDg6Mjogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhpZHhk4oCZ IHdhcyBoZXJlCiAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgXn5+fgouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjExOiBlcnJvcjog4oCYYmFzZV9pZHhk4oCZIHVu ZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCiAgKmlkeGQgPSAqYmFzZV9pZHhkOyAv KiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgICAg ICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJy b3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhf X2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIGlkeGQtPnB1YmxpYy50eXBl ID0gUlRFX0lEWERfREVWOwogICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjUxOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhh c23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICBpZHhk LT5yYXdkZXYgPSByYXdkZXY7CiAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyNTI6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKA mGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIGlk eGQtPm16ID0gbXo7CiAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy NTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0 dXJu4oCZCiAgcmV0dXJuIDA7CiAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyNTY6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKA mGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJg64oCZIHRva2VuCiBjbGVh bnVwOgogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MDoyOiBl cnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJhyZXR1cm7igJkK ICByZXR1cm4gcmV0OwogIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6 MjYxOjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmH3i gJkgdG9rZW4KIH0KIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMK WzE4MjIvMjY4N10gR2VuZXJhdGluZyBydGVfcmF3X2lvYXRfZGVmIHdpdGggYSBjdXN0b20gY29t bWFuZApbMTgyMy8yNjg3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9yYXcvaWZwZ2EvYmFz ZS9saWJpZnBnYV9yYXdkZXZfYmFzZS5hLnAvb3BhZV9ldGhfZ3JvdXAuYy5vClsxODI0LzI2ODdd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19p b2F0X2lvYXRfcmF3ZGV2LmMubwpbMTgyNS8yNjg3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pZHhkX3ZkZXYuYy5vClsxODI2LzI2 ODddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jh d19pb2F0X2lkeGRfcGNpLmMubwpbMTgyNy8yNjg3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX3Jhd19pZnBnYS5hLnAvcmF3X2lmcGdhX2lmcGdhX3Jhd2Rldi5jLm8KWzE4 MjgvMjY4N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5h LnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoK CipCdWlsZCBGYWlsZWQgIzE1OgpPUzogQ2VudE9zU3RyZWFtOC02NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEu cC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9yYXdf aW9hdC5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUkuLi9k cml2ZXJzL3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jhd2Rl diAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUg LUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVk ZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94ODYv aW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwv Y29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9s aWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3Mg LUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUlsaWIvbGlicnRl X3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0 ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJz L2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xp YnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1J Li4vbGliL2xpYnJ0ZV9yaW5nIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1waXBlIC1EX0ZJ TEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2Vycm9yIC1PMyAtaW5jbHVk ZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQg LVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRp b25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVm aW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBl cyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1p c3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3 X2lvYXRfaW9hdF9jb21tb24uYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5w L3Jhd19pb2F0X2lvYXRfY29tbW9uLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9h dC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIC1jIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYwouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6IEluIGZ1bmN0aW9u IOKAmGlkeGRfcmF3ZGV2X2NyZWF0ZeKAmToKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjIyNzo0OiBlcnJvcjogbGFiZWwg4oCYY2xlYW51cOKAmSB1c2VkIGJ1dCBub3QgZGVmaW5l ZAogICAgZ290byBjbGVhbnVwOwogICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmM6MTk3OjY6IGVycm9yOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICBpbnQgcmV0ID0gMDsKICAgICAgXn5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQg dmFyaWFibGUg4oCYaWR4ZOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgc3RydWN0IGlk eGRfcmF3ZGV2ICppZHhkOwogICAgICAgICAgICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MTkwOjMyOiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJhi YXNlX2lkeGTigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICAgICAgY29uc3Qgc3RydWN0 IGlkeGRfcmF3ZGV2ICpiYXNlX2lkeGQsCiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTE6MzU6IGVycm9y OiB1bnVzZWQgcGFyYW1ldGVyIOKAmG9wc+KAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQog ICAgICBjb25zdCBzdHJ1Y3QgcnRlX3Jhd2Rldl9vcHMgKm9wcykKICAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5efn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJy b3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9y XQogIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIF5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW50 4oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmG164oCZIFstV2Vycm9yPWltcGxpY2l0LWludF0KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyNzogZXJyb3I6IOKAmG16X25hbWXi gJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJh0 em5hbWXigJk/CiAgbXogPSBydGVfbWVtem9uZV9yZXNlcnZlKG16X25hbWUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgdHpuYW1l Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzU6NDogZXJyb3I6IOKAmGRlduKA mSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmGRp duKAmT8KICAgIGRldi0+bnVtYV9ub2RlLAogICAgXn5+CiAgICBkaXYKLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjIzNzoyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDi gJgo4oCZIGJlZm9yZSDigJhpZuKAmQogIGlmIChteiA9PSBOVUxMKSB7CiAgXn4KLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg 4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3Jl IOKAmC0+4oCZIHRva2VuCiAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAgICAg IF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6ODogZXJyb3I6IGV4cGVj dGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0 ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsKICAg ICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ1Ojg6IGVycm9yOiBl eHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRy aWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdkZXYtPmRldmljZSA9IGRldjsK ICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9y OiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19h dHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICByYXdkZXYtPmRyaXZlcl9uYW1l ID0gSU9BVF9QTURfUkFXREVWX05BTUVfU1RSOwogICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlw ZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRl OwogIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBlcnJvcjog dHlwZSBkZWZhdWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCYaWR4ZOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy NDg6OTogZXJyb3I6IOKAmHJhd2RlduKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuIOKAmHJhbmRfcuKAmT8KICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJp dmF0ZTsKICAgICAgICAgXn5+fn5+CiAgICAgICAgIHJhbmRfcgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjQ5OjI6IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5vIHR5cGUg b3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJvcl0KICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkg b3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICBeCi4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCY aW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50 XQogICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBhbHJl YWR5IHBhc3NlZCBpbiAqLwogICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24u YzoyNDk6MzogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhpZHhk4oCZCi4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6Mjogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlv biBvZiDigJhpZHhk4oCZIHdhcyBoZXJlCiAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAg Xn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjExOiBlcnJvcjog4oCY YmFzZV9pZHhk4oCZIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCiAgKmlkeGQg PSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2Vk IGluICovCiAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyNTA6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKA mGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIGlk eGQtPnB1YmxpYy50eXBlID0gUlRFX0lEWERfREVWOwogICAgICBefgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjUxOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZ LCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7i gJkgdG9rZW4KICBpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNTI6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzi gJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgt PuKAmSB0b2tlbgogIGlkeGQtPm16ID0gbXo7CiAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKA mSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgcmV0dXJuIDA7CiAgXn5+fn5+Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYzoyNTY6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzi gJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJg6 4oCZIHRva2VuCiBjbGVhbnVwOgogICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjI2MDoyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9y ZSDigJhyZXR1cm7igJkKICByZXR1cm4gcmV0OwogIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjYxOjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCji gJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KIH0KIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJl YXRlZCBhcyBlcnJvcnMKWzE4MTcvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli cnRlX25ldF92aXJ0aW8uYS5wL21lc29uLWdlbmVyYXRlZF8uLl9ydGVfbmV0X3ZpcnRpby5wbWQu Yy5vClsxODE4LzI3ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL3Jhdy9pZnBnYS9iYXNl L2xpYmlmcGdhX3Jhd2Rldl9iYXNlLmEucC9vcGFlX2kyYy5jLm8KWzE4MTkvMjc4Nl0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9h dF9yYXdkZXYuYy5vClsxODIwLzI3ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfcmF3X250Yi5hLnAvcmF3X250Yl9udGJfaHdfaW50ZWwuYy5vClsxODIxLzI3ODZdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0 X2lkeGRfdmRldi5jLm8KWzE4MjIvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9yYXdfaWZwZ2EuYS5wL3Jhd19pZnBnYV9pZnBnYV9yYXdkZXYuYy5vClsxODIzLzI3 ODZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jh d19pb2F0X2lkeGRfcGNpLmMubwpbMTgyNC8yNzg2XSBHZW5lcmF0aW5nIHJ0ZV9yYXdfZHBhYTJf cWRtYS5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBj YXB0dXJlIG91dHB1dCkKWzE4MjUvMjc4Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8KWzE4MjYv Mjc4Nl0gR2VuZXJhdGluZyBydGVfbmV0X3ZteG5ldDMuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNv bW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsxODI3LzI3ODZdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X250Yi5hLnAvcmF3X250Yl9u dGIuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxNjoKT1M6IFVC MjAwNC0zMgpUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMv bGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIApnY2MgLUlk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlk cml2ZXJzL3Jhdy9pb2F0IC1JLi4vZHJpdmVycy9yYXcvaW9hdCAtSWxpYi9saWJydGVfcmF3ZGV2 IC1JLi4vbGliL2xpYnJ0ZV9yYXdkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUls aWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAtSWxpYi9s aWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9saW51eC9pbmNsdWRl IC1JbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC94ODYvaW5j bHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAt SWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAt SS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0 ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUkuLi9saWIvbGlicnRlX3RlbGVtZXRy eSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVz L3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJz L2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xp Yi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9v bCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtZmRpYWdub3N0aWNzLWNv bG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1w Y2ggLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwg LVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRy ZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5n LWZpZWxkLWluaXRpYWxpemVycyAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgLURfR05VX1NPVVJD RSAtbTMyIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxM T1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBkcml2ZXJzL2xp YnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtTUYgZHJpdmVy cy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8uZCAtbyBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAt YyAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jOiBJbiBmdW5jdGlvbiDigJhpZHhkX3Jhd2Rldl9jcmVhdGXigJk6Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMjc6NDogZXJyb3I6IGxhYmVsIOKAmGNsZWFu dXDigJkgdXNlZCBidXQgbm90IGRlZmluZWQKICAyMjcgfCAgICBnb3RvIGNsZWFudXA7CiAgICAg IHwgICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTk3OjY6IGVycm9y OiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KICAxOTcgfCAgaW50IHJldCA9IDA7CiAgICAgIHwgICAgICBefn4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MzoyMjogZXJyb3I6IHVudXNlZCB2YXJp YWJsZSDigJhpZHhk4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICAxOTMgfCAgc3RydWN0 IGlkeGRfcmF3ZGV2ICppZHhkOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MDozMjogZXJyb3I6IHVudXNlZCBwYXJh bWV0ZXIg4oCYYmFzZV9pZHhk4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgMTkwIHwg ICAgICBjb25zdCBzdHJ1Y3QgaWR4ZF9yYXdkZXYgKmJhc2VfaWR4ZCwKICAgICAgfCAgICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoxOTE6MzU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmG9wc+KAmSBbLVdl cnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDE5MSB8ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9yYXdk ZXZfb3BzICpvcHMpCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+ fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9u IGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMjMzIHwgIG16ID0gcnRl X21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICB8ICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjMzOjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBp biBkZWNsYXJhdGlvbiBvZiDigJhteuKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6Mjc6IGVycm9yOiDigJhtel9uYW1l4oCZIHVu ZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYdHpuYW1l 4oCZPwogIDIzMyB8ICBteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgIHR6bmFtZQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1OjQ6 IGVycm9yOiDigJhkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRp ZCB5b3UgbWVhbiDigJhkaXbigJk/CiAgMjM1IHwgICAgZGV2LT5udW1hX25vZGUsCiAgICAgIHwg ICAgXn5+CiAgICAgIHwgICAgZGl2Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoy Mzc6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYaWbi gJkKICAyMzcgfCAgaWYgKG16ID09IE5VTEwpIHsKICAgICAgfCAgXn4KLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKA mSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+ 4oCZIHRva2VuCiAgMjQzIHwgIHJhd2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+YWRkcjsKICAgICAg fCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NDo4OiBlcnJv cjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9f YXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQ0IHwgIHJhd2Rldi0+ZGV2 X29wcyA9IG9wczsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjI0NTo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg 4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAg MjQ1IHwgIHJhd2Rldi0+ZGV2aWNlID0gZGV2OwogICAgICB8ICAgICAgICBefgouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDi gJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg 4oCYLT7igJkgdG9rZW4KICAyNDYgfCAgcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JB V0RFVl9OQU1FX1NUUjsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjI0ODoyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0 b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMjQ4IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRl OwogICAgICB8ICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6Mjog ZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlk eGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmM6MjQ4Ojk6IGVycm9yOiDigJhyYXdkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4g YSBmdW5jdGlvbikKICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwg ICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToyOiBl cnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJy b3JdCiAgMjQ5IHwgICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZp ZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICB8ICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGlu IGRlY2xhcmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQogIDI0OSB8 ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFk eSBwYXNzZWQgaW4gKi8KICAgICAgfCAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjI0OTozOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmGlkeGTigJkKLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBub3RlOiBwcmV2aW91cyBkZWZp bml0aW9uIG9mIOKAmGlkeGTigJkgd2FzIGhlcmUKICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2 X3ByaXZhdGU7CiAgICAgIHwgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI0OToxMTogZXJyb3I6IOKAmGJhc2VfaWR4ZOKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBh IGZ1bmN0aW9uKQogIDI0OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUg bWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgfCAgICAgICAgICAgXn5+fn5+ fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJyb3I6IGV4cGVj dGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0 ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI1MCB8ICBpZHhkLT5wdWJsaWMudHlwZSA9 IFJURV9JRFhEX0RFVjsKICAgICAgfCAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNTE6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJks IOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgog IDI1MSB8ICBpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgICAgIHwgICAgICBefgouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUyOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDi gJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg 4oCYLT7igJkgdG9rZW4KICAyNTIgfCAgaWR4ZC0+bXogPSBtejsKICAgICAgfCAgICAgIF5+Ci4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlk ZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMjU0IHwgIHJldHVybiAw OwogICAgICB8ICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1Njo4 OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9y IOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmDrigJkgdG9rZW4KICAyNTYgfCBjbGVhbnVw OgogICAgICB8ICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNjA6 MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu 4oCZCiAgMjYwIHwgIHJldHVybiByZXQ7CiAgICAgIHwgIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MjYxOjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKA mCjigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAyNjEgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMTU4Ny8yMzQyXSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9yYXcvaWZwZ2EvYmFzZS9saWJpZnBnYV9yYXdkZXZfYmFzZS5hLnAvb3Bh ZV9ldGhfZ3JvdXAuYy5vClsxNTg4LzIzNDJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfcmF3ZGV2LmMubwpbMTU4OS8yMzQy XSBHZW5lcmF0aW5nIHJ0ZV9yYXdfZHBhYTJfcWRtYS5zeW1fY2hrIHdpdGggYSBtZXNvbl9leGUu cHkgY3VzdG9tIGNvbW1hbmQKWzE1OTAvMjM0Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yl9od19pbnRlbC5jLm8KWzE1OTEvMjM0 Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3 X2lvYXRfaWR4ZF92ZGV2LmMubwpbMTU5Mi8yMzQyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pZHhkX3BjaS5jLm8KWzE1OTMvMjM0 Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaWZwZ2EuYS5wL3Jh d19pZnBnYV9pZnBnYV9yYXdkZXYuYy5vClsxNTk0LzIzNDJdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfcmF3ZGV2X3Rlc3Qu Yy5vClsxNTk1LzIzNDJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3 X250Yi5hLnAvcmF3X250Yl9udGIuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQg RmFpbGVkICMxNzoKT1M6IFVCMjAwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lv YXRfY29tbW9uLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wIC1J ZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL3Jhdy9pb2F0IC1JLi4vZHJpdmVycy9yYXcv aW9hdCAtSWxpYi9saWJydGVfcmF3ZGV2IC1JLi4vbGliL2xpYnJ0ZV9yYXdkZXYgLUkuIC1JLi4g LUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4vbGliL2xp YnJ0ZV9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIv bGlicnRlX2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUku Li9saWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4u L2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9l YWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0 ZV9tZXRyaWNzIC1JLi4vbGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV90ZWxlbWV0cnkg LUkuLi9saWIvbGlicnRlX3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMv YnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNpIC1JLi4v bGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAt SWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9v bCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJy dGVfcmluZyAtWGNsYW5nIC1mY29sb3ItZGlhZ25vc3RpY3MgLXBpcGUgLURfRklMRV9PRkZTRVRf QklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1u b25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1X cG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYg LVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1E QUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtTUQgLU1RIGRyaXZl cnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vIC1NRiBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMuby5k IC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24u Yy5vIC1jIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYwouLi9kcml2ZXJzL3Jhdy9p b2F0L2lvYXRfY29tbW9uLmM6MTkzOjIyOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdpZHhkJyBb LVdlcnJvciwtV3VudXNlZC12YXJpYWJsZV0KICAgICAgICBzdHJ1Y3QgaWR4ZF9yYXdkZXYgKmlk eGQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyMDY6ODogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGxhYmVsICdjbGVhbnVw JwogICAgICAgICAgICAgICAgZ290byBjbGVhbnVwOwogICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTA6MzI6IGVycm9yOiB1bnVzZWQgcGFy YW1ldGVyICdiYXNlX2lkeGQnIFstV2Vycm9yLC1XdW51c2VkLXBhcmFtZXRlcl0KICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBpZHhkX3Jhd2RldiAqYmFzZV9pZHhkLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQv aW9hdF9jb21tb24uYzoxOTE6MzU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyICdvcHMnIFstV2Vy cm9yLC1XdW51c2VkLXBhcmFtZXRlcl0KICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBy dGVfcmF3ZGV2X29wcyAqb3BzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6MjogZXJy b3I6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1bHRzIHRvICdpbnQnIFstV2Vycm9yLC1X aW1wbGljaXQtaW50XQogICAgICAgIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAog ICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyNzogZXJyb3I6 IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ216X25hbWUnCiAgICAgICAgbXogPSBydGVf bWVtem9uZV9yZXNlcnZlKG16X25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzNTo0OiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZGV2JwogICAgICAgICAgICAgICAgICAgICAgICBkZXYt Pm51bWFfbm9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjM3OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJwog ICAgICAgIGlmIChteiA9PSBOVUxMKSB7CiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MjQzOjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAncmF3ZGV2JwogICAg ICAgIHJhd2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+YWRkcjsKICAgICAgICBeCi4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6ODogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIg b3IgJygnCiAgICAgICAgcmF3ZGV2LT5kZXZfcHJpdmF0ZSA9IG16LT5hZGRyOwogICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NDoyOiBlcnJvcjogdW5r bm93biB0eXBlIG5hbWUgJ3Jhd2RldicKICAgICAgICByYXdkZXYtPmRldl9vcHMgPSBvcHM7CiAg ICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ0Ojg6IGVycm9yOiBl eHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJwogICAgICAgIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsK ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6Mjog ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdyYXdkZXYnCiAgICAgICAgcmF3ZGV2LT5kZXZpY2Ug PSBkZXY7CiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ1Ojg6 IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJwogICAgICAgIHJhd2Rldi0+ZGV2aWNl ID0gZGV2OwogICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI0NjoyOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3Jhd2RldicKICAgICAgICByYXdkZXYt PmRyaXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVWX05BTUVfU1RSOwogICAgICAgIF4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0Njo4OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRp ZmllciBvciAnKCcKICAgICAgICByYXdkZXYtPmRyaXZlcl9uYW1lID0gSU9BVF9QTURfUkFXREVW X05BTUVfU1RSOwogICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjI0ODoyOiBlcnJvcjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywgZGVmYXVsdHMgdG8gJ2lu dCcgWy1XZXJyb3IsLVdpbXBsaWNpdC1pbnRdCiAgICAgICAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3By aXZhdGU7CiAgICAgICAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4Ojk6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdyYXdkZXYnCiAgICAgICAgaWR4 ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X2NvbW1vbi5jOjI0OTozOiBlcnJvcjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywg ZGVmYXVsdHMgdG8gJ2ludCcgWy1XZXJyb3IsLVdpbXBsaWNpdC1pbnRdCiAgICAgICAgKmlkeGQg PSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2Vk IGluICovCiAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBz dG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgpbMTgzMS8y NzgyXSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVycy9yYXcvaWZwZ2EvYmFzZS9saWJpZnBn YV9yYXdkZXZfYmFzZS5hClsxODMyLzI3ODJdIExpbmtpbmcgc3RhdGljIHRhcmdldCBkcml2ZXJz L2xpYnJ0ZV9yYXdfZHBhYTJfcWRtYS5hClsxODMzLzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnJ0ZV9yYXdfZHBhYTJfcWRtYS5zby4yMS4xLnAvbWVzb24tZ2VuZXJhdGVkXy4u X3J0ZV9yYXdfZHBhYTJfcWRtYS5wbWQuYy5vClsxODM0LzI3ODJdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfcmF3ZGV2LmMu bwpbMTgzNS8yNzgyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19u dGIuYS5wL3Jhd19udGJfbnRiX2h3X2ludGVsLmMubwpbMTgzNi8yNzgyXSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pZHhkX3ZkZXYu Yy5vClsxODM3LzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3 X2lmcGdhLmEucC9yYXdfaWZwZ2FfaWZwZ2FfcmF3ZGV2LmMubwpbMTgzOC8yNzgyXSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0 X3Jhd2Rldl90ZXN0LmMubwpbMTgzOS8yNzgyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pZHhkX3BjaS5jLm8KbmluamE6IGJ1aWxk IHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE4OgpPUzogVUIyMDA0LTY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lv YXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRl X3Jhd19pb2F0LmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9yYXcvaW9hdCAt SS4uL2RyaXZlcnMvcmF3L2lvYXQgLUlsaWIvbGlicnRlX3Jhd2RldiAtSS4uL2xpYi9saWJydGVf cmF3ZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvaW5j bHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9saW51eC9p bmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFs L3g4Ni9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUlsaWIvbGlicnRl X2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbCAt SS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2 YXJncyAtSWxpYi9saWJydGVfbWV0cmljcyAtSS4uL2xpYi9saWJydGVfbWV0cmljcyAtSWxpYi9s aWJydGVfdGVsZW1ldHJ5IC1JLi4vbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUlkcml2ZXJzL2J1cy9w Y2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIv bGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2Ry aXZlcnMvYnVzL3ZkZXYgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUls aWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3Jp bmcgLUkuLi9saWIvbGlicnRlX3JpbmcgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUg LURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8zIC1p bmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zv cm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNs YXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHls ZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90 b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVt YmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXpl cnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0 aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9y YXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5h LnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19p b2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8gLWMgLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzogSW4gZnVuY3Rp b24g4oCYaWR4ZF9yYXdkZXZfY3JlYXRl4oCZOgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmM6MjI3OjQ6IGVycm9yOiBsYWJlbCDigJhjbGVhbnVw4oCZIHVzZWQgYnV0IG5vdCBkZWZp bmVkCiAgMjI3IHwgICAgZ290byBjbGVhbnVwOwogICAgICB8ICAgIF5+fn4KLi4vZHJpdmVycy9y YXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5Nzo2OiBlcnJvcjogdmFyaWFibGUg4oCYcmV04oCZIHNl dCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgMTk3IHwg IGludCByZXQgPSAwOwogICAgICB8ICAgICAgXn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoxOTM6MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYaWR4ZOKAmSBbLVdlcnJv cj11bnVzZWQtdmFyaWFibGVdCiAgMTkzIHwgIHN0cnVjdCBpZHhkX3Jhd2RldiAqaWR4ZDsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoxOTA6MzI6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmGJhc2VfaWR4ZOKAmSBb LVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDE5MCB8ICAgICAgY29uc3Qgc3RydWN0IGlkeGRf cmF3ZGV2ICpiYXNlX2lkeGQsCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fl5+fn5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTkxOjM1OiBlcnJv cjogdW51c2VkIHBhcmFtZXRlciDigJhvcHPigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0K ICAxOTEgfCAgICAgIGNvbnN0IHN0cnVjdCBydGVfcmF3ZGV2X29wcyAqb3BzKQogICAgICB8ICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn4KLi4vZHJpdmVycy9yYXcvaW9hdC9p b2F0X2NvbW1vbi5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyMzM6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdl IGNsYXNzIFstV2Vycm9yXQogIDIzMyB8ICBteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmUobXpfbmFt ZSwKICAgICAgfCAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBl cnJvcjogdHlwZSBkZWZhdWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCYbXri gJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjMzOjI3OiBlcnJvcjog4oCYbXpfbmFtZeKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBh IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmHR6bmFtZeKAmT8KICAyMzMgfCAgbXogPSBydGVf bWVtem9uZV9yZXNlcnZlKG16X25hbWUsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB0em5hbWUKLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzNTo0OiBlcnJvcjog4oCYZGV24oCZIHVuZGVj bGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYZGl24oCZPwog IDIzNSB8ICAgIGRldi0+bnVtYV9ub2RlLAogICAgICB8ICAgIF5+fgogICAgICB8ICAgIGRpdgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM3OjI6IGVycm9yOiBleHBlY3RlZCBp ZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmGlm4oCZCiAgMjM3IHwgIGlmIChteiA9PSBO VUxMKSB7CiAgICAgIHwgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDM6 ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBv ciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI0MyB8ICByYXdk ZXYtPmRldl9wcml2YXRlID0gbXotPmFkZHI7CiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDQ6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKA mCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDi gJgtPuKAmSB0b2tlbgogIDI0NCB8ICByYXdkZXYtPmRldl9vcHMgPSBvcHM7CiAgICAgIHwgICAg ICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDU6ODogZXJyb3I6IGV4 cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJp YnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI0NSB8ICByYXdkZXYtPmRldmljZSA9 IGRldjsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI0Njo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt 4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQ2IHwg IHJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7CiAgICAgIHwg ICAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6 IGRhdGEgZGVmaW5pdGlvbiBoYXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQog IDI0OCB8ICBpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAgICAgfCAgXn5+fgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4OjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRv IOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDigJhpZHhk4oCZIFstV2Vycm9yPWltcGxpY2l0 LWludF0KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODo5OiBlcnJvcjog4oCY cmF3ZGV24oCZIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCiAgMjQ4IHwgIGlk eGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogICAgICB8ICAgICAgICAgXn5+fn5+Ci4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MjogZXJyb3I6IGRhdGEgZGVmaW5pdGlvbiBo YXMgbm8gdHlwZSBvciBzdG9yYWdlIGNsYXNzIFstV2Vycm9yXQogIDI0OSB8ICAqaWR4ZCA9ICpi YXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4g Ki8KICAgICAgfCAgXgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ5OjM6IGVy cm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDigJhpZHhk 4oCZIFstV2Vycm9yPWltcGxpY2l0LWludF0KICAyNDkgfCAgKmlkeGQgPSAqYmFzZV9pZHhkOyAv KiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgICAgIHwg ICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MzogZXJyb3I6IGNv bmZsaWN0aW5nIHR5cGVzIGZvciDigJhpZHhk4oCZCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyNDg6Mjogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhpZHhk4oCZIHdh cyBoZXJlCiAgMjQ4IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogICAgICB8ICBefn5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6MTE6IGVycm9yOiDigJhiYXNl X2lkeGTigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbikKICAyNDkgfCAgKmlk eGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIgdGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFz c2VkIGluICovCiAgICAgIHwgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjUwOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDi gJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkg dG9rZW4KICAyNTAgfCAgaWR4ZC0+cHVibGljLnR5cGUgPSBSVEVfSURYRF9ERVY7CiAgICAgIHwg ICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjUxOjY6IGVycm9yOiBl eHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRy aWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICAyNTEgfCAgaWR4ZC0+cmF3ZGV2ID0g cmF3ZGV2OwogICAgICB8ICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5j OjI1Mjo2OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt 4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjUyIHwg IGlkeGQtPm16ID0gbXo7CiAgICAgIHwgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRf Y29tbW9uLmM6MjU0OjI6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVm b3JlIOKAmHJldHVybuKAmQogIDI1NCB8ICByZXR1cm4gMDsKICAgICAgfCAgXn5+fn5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTY6ODogZXJyb3I6IGV4cGVjdGVkIOKAmD3i gJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJl Zm9yZSDigJg64oCZIHRva2VuCiAgMjU2IHwgY2xlYW51cDoKICAgICAgfCAgICAgICAgXgouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjYwOjI6IGVycm9yOiBleHBlY3RlZCBpZGVu dGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmHJldHVybuKAmQogIDI2MCB8ICByZXR1cm4gcmV0 OwogICAgICB8ICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI2MTox OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJh94oCZIHRv a2VuCiAgMjYxIHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKWzE4MzQvMjc4Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXYuYy5vClsxODM1LzI3ODJdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X250Yi5hLnAvcmF3X250Yl9udGJf aHdfaW50ZWwuYy5vClsxODM2LzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lkeGRfdmRldi5jLm8KWzE4MzcvMjc4Ml0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRf aWR4ZF9wY2kuYy5vClsxODM4LzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfcmF3ZGV2X3Rlc3QuYy5vClsxODM5LzI3 ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X29jdGVvbnR4Ml9k bWEuYS5wL3Jhd19vY3Rlb250eDJfZG1hX290eDJfZHBpX3Rlc3QuYy5vClsxODQwLzI3ODJdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X29jdGVvbnR4Ml9kbWEuYS5w L3Jhd19vY3Rlb250eDJfZG1hX290eDJfZHBpX21zZy5jLm8KWzE4NDEvMjc4Ml0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaWZwZ2EuYS5wL3Jhd19pZnBnYV9pZnBn YV9yYXdkZXYuYy5vClsxODQyLzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfcmF3X250Yi5hLnAvcmF3X250Yl9udGIuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoK CgoqQnVpbGQgRmFpbGVkICMxOToKT1M6IFVCMjAwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUt bGludXhhcHAtaWNjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdf aW9hdF9pb2F0X2NvbW1vbi5jLm8gCmljYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5h LnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvcmF3L2lvYXQgLUkuLi9kcml2ZXJz L3Jhdy9pb2F0IC1JbGliL2xpYnJ0ZV9yYXdkZXYgLUkuLi9saWIvbGlicnRlX3Jhd2RldiAtSS4g LUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUgLUkuLi9s aWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSS4u L2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94ODYvaW5jbHVk ZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9u IC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGli cnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIv bGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUlsaWIvbGlicnRlX3RlbGVt ZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJp dmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kg LUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92 ZGV2IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9t ZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGli L2xpYnJ0ZV9yaW5nIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLXczIC1kaWFn LWRpc2FibGU6cmVtYXJrIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJh IC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1zZWN1cml0eSAtV21p c3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xb2xkLXN0eWxlLWRlZmlu aXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMg LVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAt ZGlhZy1kaXNhYmxlPTE4MSAtZGlhZy1kaXNhYmxlPTE4OCAtZGlhZy1kaXNhYmxlPTIyMDMgLWRp YWctZGlzYWJsZT0yMjc5IC1kaWFnLWRpc2FibGU9MjU1NyAtZGlhZy1kaXNhYmxlPTMxNzkgLWRp YWctZGlzYWJsZT0zNjU2IC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9X X0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLU1EIC1NUSBkcml2ZXJzL2xp YnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtTUYgZHJpdmVy cy9saWJ0bXBfcnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8uZCAtbyBk cml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAt YyAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2LmgoMTY5KSwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9wcml2YXRlLmgoMTkpLAogICAgICAg ICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDEwKToKLi4v ZHJpdmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXZfZm5zLmgoMjU0KTogd2FybmluZyAjMzAw OiBjb25zdCB2YXJpYWJsZSAibnVsbF9oZGwiIHJlcXVpcmVzIGFuIGluaXRpYWxpemVyCiAgCXN0 YXRpYyBjb25zdCB1aW50cHRyX3QgbnVsbF9oZGw7CiAgCSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9ydGVf aW9hdF9yYXdkZXYuaCgxNjkpLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcv aW9hdC9pb2F0X3ByaXZhdGUuaCgxOSksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMTApOgouLi9kcml2ZXJzL3Jhdy9pb2F0L3J0ZV9pb2F0 X3Jhd2Rldl9mbnMuaCg0NTApOiB3YXJuaW5nICMzMDA6IGNvbnN0IHZhcmlhYmxlICJudWxsX2hk bCIgcmVxdWlyZXMgYW4gaW5pdGlhbGl6ZXIKICAJc3RhdGljIGNvbnN0IHN0cnVjdCBydGVfaWR4 ZF91c2VyX2hkbCBudWxsX2hkbDsKICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyMDYpOiBl cnJvcjogbGFiZWwgImNsZWFudXAiIHdhcyByZWZlcmVuY2VkIGJ1dCBub3QgZGVmaW5lZAogIAkJ Z290byBjbGVhbnVwOwogIAkJICAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmMoMjMzKTogZXJyb3IgIzc3OiB0aGlzIGRlY2xhcmF0aW9uIGhhcyBubyBzdG9yYWdlIGNsYXNz IG9yIHR5cGUgc3BlY2lmaWVyCiAgCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAog IAleCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjMzKTogZXJyb3I6IGZ1bmN0 aW9uIGNhbGwgaXMgbm90IGFsbG93ZWQgaW4gYSBjb25zdGFudCBleHByZXNzaW9uCiAgCW16ID0g cnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIAkgICAgIF4KCi4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYygyMzMpOiBlcnJvcjogaWRlbnRpZmllciAibXpfbmFtZSIgaXMgdW5k ZWZpbmVkCiAgCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogIAkgICAgICAgICAg ICAgICAgICAgICAgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDIzNSk6 IGVycm9yOiBpZGVudGlmaWVyICJkZXYiIGlzIHVuZGVmaW5lZAogIAkJCWRldi0+bnVtYV9ub2Rl LAogIAkJCV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyMzcpOiBlcnJvcjog ZXhwZWN0ZWQgYSBkZWNsYXJhdGlvbgogIAlpZiAobXogPT0gTlVMTCkgewogIAleCgouLi9kcml2 ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjQzKTogZXJyb3IgIzEyOiBwYXJzaW5nIHJlc3Rh cnRzIGhlcmUgYWZ0ZXIgcHJldmlvdXMgc3ludGF4IGVycm9yCiAgCXJhd2Rldi0+ZGV2X3ByaXZh dGUgPSBtei0+YWRkcjsKICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoKLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0NCk6IGVycm9yICM3NzogdGhpcyBkZWNsYXJh dGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFzcyBvciB0eXBlIHNwZWNpZmllcgogIAlyYXdkZXYtPmRl dl9vcHMgPSBvcHM7CiAgCV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNDQp OiBlcnJvcjogZXhwZWN0ZWQgYSAiOyIKICAJcmF3ZGV2LT5kZXZfb3BzID0gb3BzOwogIAkgICAg ICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjQ1KTogZXJyb3IgIzc3OiB0 aGlzIGRlY2xhcmF0aW9uIGhhcyBubyBzdG9yYWdlIGNsYXNzIG9yIHR5cGUgc3BlY2lmaWVyCiAg CXJhd2Rldi0+ZGV2aWNlID0gZGV2OwogIAleCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29t bW9uLmMoMjQ1KTogZXJyb3I6IGV4cGVjdGVkIGEgIjsiCiAgCXJhd2Rldi0+ZGV2aWNlID0gZGV2 OwogIAkgICAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjQ2KTogZXJy b3IgIzc3OiB0aGlzIGRlY2xhcmF0aW9uIGhhcyBubyBzdG9yYWdlIGNsYXNzIG9yIHR5cGUgc3Bl Y2lmaWVyCiAgCXJhd2Rldi0+ZHJpdmVyX25hbWUgPSBJT0FUX1BNRF9SQVdERVZfTkFNRV9TVFI7 CiAgCV4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNDYpOiBlcnJvcjogZXhw ZWN0ZWQgYSAiOyIKICAJcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JBV0RFVl9OQU1F X1NUUjsKICAJICAgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0OCk6 IGVycm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFzcyBvciB0eXBl IHNwZWNpZmllcgogIAlpZHhkID0gcmF3ZGV2LT5kZXZfcHJpdmF0ZTsKICAJXgoKLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0OCk6IGVycm9yOiBleHByZXNzaW9uIG11c3QgaGF2 ZSBhIGNvbnN0YW50IHZhbHVlCiAgCWlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogIAkgICAg ICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0OSk6IGVycm9yICM3Nzog dGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFzcyBvciB0eXBlIHNwZWNpZmllcgog IAkqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFk eSBwYXNzZWQgaW4gKi8KICAJXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI0 OSk6IGVycm9yOiBkZWNsYXJhdGlvbiBpcyBpbmNvbXBhdGlibGUgd2l0aCAiaW50IGlkeGQiIChk ZWNsYXJlZCBhdCBsaW5lIDI0OCkKICAJKmlkeGQgPSAqYmFzZV9pZHhkOyAvKiBjb3B5IG92ZXIg dGhlIG1haW4gZmllbGRzIGFscmVhZHkgcGFzc2VkIGluICovCiAgCSBeCgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmMoMjQ5KTogZXJyb3I6IGlkZW50aWZpZXIgImJhc2VfaWR4ZCIg aXMgdW5kZWZpbmVkCiAgCSppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWlu IGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogIAkgICAgICAgICBeCgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmMoMjUwKTogZXJyb3IgIzc3OiB0aGlzIGRlY2xhcmF0aW9uIGhh cyBubyBzdG9yYWdlIGNsYXNzIG9yIHR5cGUgc3BlY2lmaWVyCiAgCWlkeGQtPnB1YmxpYy50eXBl ID0gUlRFX0lEWERfREVWOwogIAleCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMo MjUwKTogZXJyb3I6IGV4cGVjdGVkIGEgIjsiCiAgCWlkeGQtPnB1YmxpYy50eXBlID0gUlRFX0lE WERfREVWOwogIAkgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI1MSk6 IGVycm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFzcyBvciB0eXBl IHNwZWNpZmllcgogIAlpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgCV4KCi4uL2RyaXZlcnMvcmF3 L2lvYXQvaW9hdF9jb21tb24uYygyNTEpOiBlcnJvcjogZXhwZWN0ZWQgYSAiOyIKICAJaWR4ZC0+ cmF3ZGV2ID0gcmF3ZGV2OwogIAkgICAgXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jKDI1Mik6IGVycm9yICM3NzogdGhpcyBkZWNsYXJhdGlvbiBoYXMgbm8gc3RvcmFnZSBjbGFz cyBvciB0eXBlIHNwZWNpZmllcgogIAlpZHhkLT5teiA9IG16OwogIAleCgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmMoMjUyKTogZXJyb3I6IGV4cGVjdGVkIGEgIjsiCiAgCWlkeGQt Pm16ID0gbXo7CiAgCSAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMoMjU0 KTogZXJyb3I6IGV4cGVjdGVkIGEgZGVjbGFyYXRpb24KICAJcmV0dXJuIDA7CiAgCV4KCi4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNTYpOiBlcnJvciAjNzc6IHRoaXMgZGVjbGFy YXRpb24gaGFzIG5vIHN0b3JhZ2UgY2xhc3Mgb3IgdHlwZSBzcGVjaWZpZXIKICBjbGVhbnVwOgog IF4KCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYygyNTYpOiBlcnJvcjogZXhwZWN0 ZWQgYSAiOyIKICBjbGVhbnVwOgogICAgICAgICBeCgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRf Y29tbW9uLmMoMjYwKTogZXJyb3I6IGV4cGVjdGVkIGEgZGVjbGFyYXRpb24KICAJcmV0dXJuIHJl dDsKICAJXgoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jKDI2MSk6IGVycm9yOiBl eHBlY3RlZCBhIGRlY2xhcmF0aW9uCiAgfQogIF4KCmNvbXBpbGF0aW9uIGFib3J0ZWQgZm9yIC4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYyAoY29kZSAyKQpbMTc2My8yNzM2XSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX25ldF92bXhuZXQzLmEucC9uZXRfdm14 bmV0M192bXhuZXQzX2V0aGRldi5jLm8KWzE3NjQvMjczNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaWR4ZF92ZGV2LmMubwpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXYuaCgx NjkpLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X3ByaXZh dGUuaCgxOSksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lkeGRf dmRldi5jKDE2KToKLi4vZHJpdmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXZfZm5zLmgoMjU0 KTogd2FybmluZyAjMzAwOiBjb25zdCB2YXJpYWJsZSAibnVsbF9oZGwiIHJlcXVpcmVzIGFuIGlu aXRpYWxpemVyCiAgCXN0YXRpYyBjb25zdCB1aW50cHRyX3QgbnVsbF9oZGw7CiAgCSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVy cy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXYuaCgxNjkpLAogICAgICAgICAgICAgICAgIGZyb20g Li4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X3ByaXZhdGUuaCgxOSksCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lkeGRfdmRldi5jKDE2KToKLi4vZHJpdmVycy9yYXcv aW9hdC9ydGVfaW9hdF9yYXdkZXZfZm5zLmgoNDUwKTogd2FybmluZyAjMzAwOiBjb25zdCB2YXJp YWJsZSAibnVsbF9oZGwiIHJlcXVpcmVzIGFuIGluaXRpYWxpemVyCiAgCXN0YXRpYyBjb25zdCBz dHJ1Y3QgcnRlX2lkeGRfdXNlcl9oZGwgbnVsbF9oZGw7CiAgCSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpbMTc2NS8yNzM2XSBHZW5lcmF0aW5nIHJ0ZV9y YXdfZHBhYTJfY21kaWYuc3ltX2NoayB3aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5k ClsxNzY2LzI3MzZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lv YXQuYS5wL3Jhd19pb2F0X2lkeGRfcGNpLmMubwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJp dmVycy9yYXcvaW9hdC9ydGVfaW9hdF9yYXdkZXYuaCgxNjkpLAogICAgICAgICAgICAgICAgIGZy b20gLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X3ByaXZhdGUuaCgxOSksCiAgICAgICAgICAgICAg ICAgZnJvbSAuLi9kcml2ZXJzL3Jhdy9pb2F0L2lkeGRfcGNpLmMoOCk6Ci4uL2RyaXZlcnMvcmF3 L2lvYXQvcnRlX2lvYXRfcmF3ZGV2X2Zucy5oKDI1NCk6IHdhcm5pbmcgIzMwMDogY29uc3QgdmFy aWFibGUgIm51bGxfaGRsIiByZXF1aXJlcyBhbiBpbml0aWFsaXplcgogIAlzdGF0aWMgY29uc3Qg dWludHB0cl90IG51bGxfaGRsOwogIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvcnRlX2lvYXRfcmF3ZGV2 LmgoMTY5KSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9w cml2YXRlLmgoMTkpLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9yYXcvaW9hdC9p ZHhkX3BjaS5jKDgpOgouLi9kcml2ZXJzL3Jhdy9pb2F0L3J0ZV9pb2F0X3Jhd2Rldl9mbnMuaCg0 NTApOiB3YXJuaW5nICMzMDA6IGNvbnN0IHZhcmlhYmxlICJudWxsX2hkbCIgcmVxdWlyZXMgYW4g aW5pdGlhbGl6ZXIKICAJc3RhdGljIGNvbnN0IHN0cnVjdCBydGVfaWR4ZF91c2VyX2hkbCBudWxs X2hkbDsKICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K ClsxNzY3LzI3MzZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X3Zp cnRpby5hLnAvbmV0X3ZpcnRpb192aXJ0aW9fcnh0eC5jLm8KWzE3NjgvMjczNl0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfZHBhYTJfcWRtYS5hLnAvcmF3X2RwYWEy X3FkbWFfZHBhYTJfcWRtYS5jLm8KWzE3NjkvMjczNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9uZXRfdm14bmV0My5hLnAvbmV0X3ZteG5ldDNfdm14bmV0M19yeHR4LmMu bwpbMTc3MC8yNzM2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX25ldF90 eGdiZS5hLnAvbmV0X3R4Z2JlX3R4Z2JlX3J4dHguYy5vClsxNzcxLzI3MzZdIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X29jdGVvbnR4Mi5hLnAvbmV0X29jdGVvbnR4 Ml9vdHgyX3R4LmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjA6 Ck9TOiBVQjIwMDQtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWRvYwpGQUlMRUQ6 IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5v IApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wIC1JZHJpdmVycyAtSS4uL2Ry aXZlcnMgLUlkcml2ZXJzL3Jhdy9pb2F0IC1JLi4vZHJpdmVycy9yYXcvaW9hdCAtSWxpYi9saWJy dGVfcmF3ZGV2IC1JLi4vbGliL2xpYnJ0ZV9yYXdkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9j b25maWcgLUlsaWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVk ZSAtSWxpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9saW51 eC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2Vh bC94ODYvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFs L2NvbW1vbiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRl X2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9tZXRyaWNzIC1JLi4v bGliL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUkuLi9saWIvbGlicnRl X3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2Ry aXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kg LUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWxpYi9saWJydGVfbWJ1 ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJy dGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtZmRpYWdu b3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1X aW52YWxpZC1wY2ggLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdj YXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3Jt YXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAt V25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1X c2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3Mg LVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVdu by1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1u YXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5w L3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX3Jhd19pb2F0 LmEucC9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3 X2lvYXQuYS5wL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAtYyAuLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmMKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOiBJbiBmdW5j dGlvbiDigJhpZHhkX3Jhd2Rldl9jcmVhdGXigJk6Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoyMjc6NDogZXJyb3I6IGxhYmVsIOKAmGNsZWFudXDigJkgdXNlZCBidXQgbm90IGRl ZmluZWQKICAyMjcgfCAgICBnb3RvIGNsZWFudXA7CiAgICAgIHwgICAgXn5+fgouLi9kcml2ZXJz L3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTk3OjY6IGVycm9yOiB2YXJpYWJsZSDigJhyZXTigJkg c2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICAxOTcg fCAgaW50IHJldCA9IDA7CiAgICAgIHwgICAgICBefn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjE5MzoyMjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhpZHhk4oCZIFstV2Vy cm9yPXVudXNlZC12YXJpYWJsZV0KICAxOTMgfCAgc3RydWN0IGlkeGRfcmF3ZGV2ICppZHhkOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjE5MDozMjogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg4oCYYmFzZV9pZHhk4oCZ IFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgMTkwIHwgICAgICBjb25zdCBzdHJ1Y3QgaWR4 ZF9yYXdkZXYgKmJhc2VfaWR4ZCwKICAgICAgfCAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoxOTE6MzU6IGVy cm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmG9wc+KAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVy XQogIDE5MSB8ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9yYXdkZXZfb3BzICpvcHMpCiAgICAgIHwg ICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjIzMzoyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3Jh Z2UgY2xhc3MgWy1XZXJyb3JdCiAgMjMzIHwgIG16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZShtel9u YW1lLAogICAgICB8ICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjMzOjI6 IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBpbiBkZWNsYXJhdGlvbiBvZiDigJht euKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyMzM6Mjc6IGVycm9yOiDigJhtel9uYW1l4oCZIHVuZGVjbGFyZWQgaGVyZSAobm90IGlu IGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYdHpuYW1l4oCZPwogIDIzMyB8ICBteiA9IHJ0 ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHR6bmFtZQouLi9k cml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1OjQ6IGVycm9yOiDigJhkZXbigJkgdW5k ZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhkaXbigJk/ CiAgMjM1IHwgICAgZGV2LT5udW1hX25vZGUsCiAgICAgIHwgICAgXn5+CiAgICAgIHwgICAgZGl2 Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6MjogZXJyb3I6IGV4cGVjdGVk IGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYaWbigJkKICAyMzcgfCAgaWYgKG16ID09 IE5VTEwpIHsKICAgICAgfCAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0 Mzo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZ IG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQzIHwgIHJh d2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+YWRkcjsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NDo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg 4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3Jl IOKAmC0+4oCZIHRva2VuCiAgMjQ0IHwgIHJhd2Rldi0+ZGV2X29wcyA9IG9wczsKICAgICAgfCAg ICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NTo4OiBlcnJvcjog ZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0 cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQ1IHwgIHJhd2Rldi0+ZGV2aWNl ID0gZGV2OwogICAgICB8ICAgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjQ2Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhh c23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICAyNDYg fCAgcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JBV0RFVl9OQU1FX1NUUjsKICAgICAg fCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBlcnJv cjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3Jd CiAgMjQ4IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwogICAgICB8ICBefn5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJyb3I6IHR5cGUgZGVmYXVsdHMg dG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGlj aXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ4Ojk6IGVycm9yOiDi gJhyYXdkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbikKICAyNDggfCAg aWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwgICAgICAgICBefn5+fn4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9u IGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMjQ5IHwgICppZHhkID0g KmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxkcyBhbHJlYWR5IHBhc3NlZCBp biAqLwogICAgICB8ICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDk6Mzog ZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlk eGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQogIDI0OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7 IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAg fCAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OTozOiBlcnJvcjog Y29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmGlkeGTigJkKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOjI0ODoyOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIG9mIOKAmGlkeGTigJkg d2FzIGhlcmUKICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwgIF5+ fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToxMTogZXJyb3I6IOKAmGJh c2VfaWR4ZOKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKQogIDI0OSB8ICAq aWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBw YXNzZWQgaW4gKi8KICAgICAgfCAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lv YXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJks IOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKA mSB0b2tlbgogIDI1MCB8ICBpZHhkLT5wdWJsaWMudHlwZSA9IFJURV9JRFhEX0RFVjsKICAgICAg fCAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTE6NjogZXJyb3I6 IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0 dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI1MSB8ICBpZHhkLT5yYXdkZXYg PSByYXdkZXY7CiAgICAgIHwgICAgICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjUyOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs4oCZLCDigJg74oCZLCDigJhh c23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCYLT7igJkgdG9rZW4KICAyNTIg fCAgaWR4ZC0+bXogPSBtejsKICAgICAgfCAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBi ZWZvcmUg4oCYcmV0dXJu4oCZCiAgMjU0IHwgIHJldHVybiAwOwogICAgICB8ICBefn5+fn4KLi4v ZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1Njo4OiBlcnJvcjogZXhwZWN0ZWQg4oCY PeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkg YmVmb3JlIOKAmDrigJkgdG9rZW4KICAyNTYgfCBjbGVhbnVwOgogICAgICB8ICAgICAgICBeCi4u L2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNjA6MjogZXJyb3I6IGV4cGVjdGVkIGlk ZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMjYwIHwgIHJldHVybiBy ZXQ7CiAgICAgIHwgIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjYx OjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmH3igJkg dG9rZW4KICAyNjEgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVk IGFzIGVycm9ycwpbMTgyOC8yNTkyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19udGIuYS5wL3Jhd19udGJfbnRiX2h3X2ludGVsLmMubwpbMTgyOS8yNTkyXSBHZW5l cmF0aW5nIHJ0ZV9yYXdfZHBhYTJfcWRtYS5zeW1fY2hrIHdpdGggYSBtZXNvbl9leGUucHkgY3Vz dG9tIGNvbW1hbmQKWzE4MzAvMjU5Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lvYXRfaW9hdF9yYXdkZXYuYy5vClsxODMxLzI1OTJdIEdl bmVyYXRpbmcgcnRlX25ldF92bXhuZXQzLnN5bV9jaGsgd2l0aCBhIG1lc29uX2V4ZS5weSBjdXN0 b20gY29tbWFuZApbMTgzMi8yNTkyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19pb2F0LmEucC9yYXdfaW9hdF9pZHhkX3ZkZXYuYy5vClsxODMzLzI1OTJdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfcmF3X2lvYXQuYS5wL3Jhd19pb2F0X2lk eGRfcGNpLmMubwpbMTgzNC8yNTkyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX3Jhd19pZnBnYS5hLnAvcmF3X2lmcGdhX2lmcGdhX3Jhd2Rldi5jLm8KWzE4MzUvMjU5Ml0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9yYXdfaW9hdC5hLnAvcmF3X2lv YXRfaW9hdF9yYXdkZXZfdGVzdC5jLm8KWzE4MzYvMjU5Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9yYXdfbnRiLmEucC9yYXdfbnRiX250Yi5jLm8KbmluamE6IGJ1aWxk IHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzIxOgpPUzogVUIyMDEwLTY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVf cmF3X2lvYXRAc3RhL3Jhd19pb2F0X2lvYXRfY29tbW9uLmMubyAKZ2NjIC1JZHJpdmVycy9hNzE1 MTgxQEB0bXBfcnRlX3Jhd19pb2F0QHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVy cy9yYXcvaW9hdCAtSS4uL2RyaXZlcnMvcmF3L2lvYXQgLUlsaWIvbGlicnRlX3Jhd2RldiAtSS4u L2xpYi9saWJydGVfcmF3ZGV2IC1JLiAtSS4uLyAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9s aWJydGVfZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0 ZV9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUls aWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRl IC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGli L2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4v bGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX3RlbGVtZXRyeS8uLi9saWJydGVfbWV0cmlj cyAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5Ly4uL2xpYnJ0ZV9tZXRyaWNzIC1JbGliL2xpYnJ0 ZV90ZWxlbWV0cnkgLUkuLi9saWIvbGlicnRlX3RlbGVtZXRyeSAtSWRyaXZlcnMvYnVzL3BjaSAt SS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJy dGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVy cy9idXMvdmRldiAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9s aWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAt SS4uL2xpYi9saWJydGVfcmluZyAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9G SUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzMgLWluY2x1 ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0 IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0 aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRl ZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlw ZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIg LVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAt V25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUg LURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLU1EIC1NUSAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3Jhd19pb2F0QHN0 YS9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8nIC1NRiAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRl X3Jhd19pb2F0QHN0YS9yYXdfaW9hdF9pb2F0X2NvbW1vbi5jLm8uZCcgLW8gJ2RyaXZlcnMvYTcx NTE4MUBAdG1wX3J0ZV9yYXdfaW9hdEBzdGEvcmF3X2lvYXRfaW9hdF9jb21tb24uYy5vJyAtYyAu Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmMKLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0 X2NvbW1vbi5jOiBJbiBmdW5jdGlvbiDigJhpZHhkX3Jhd2Rldl9jcmVhdGXigJk6Ci4uL2RyaXZl cnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMjc6NDogZXJyb3I6IGxhYmVsIOKAmGNsZWFudXDi gJkgdXNlZCBidXQgbm90IGRlZmluZWQKICAyMjcgfCAgICBnb3RvIGNsZWFudXA7CiAgICAgIHwg ICAgXn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MTk3OjY6IGVycm9yOiB2 YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNl dC12YXJpYWJsZV0KICAxOTcgfCAgaW50IHJldCA9IDA7CiAgICAgIHwgICAgICBefn4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MzoyMjogZXJyb3I6IHVudXNlZCB2YXJpYWJs ZSDigJhpZHhk4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICAxOTMgfCAgc3RydWN0IGlk eGRfcmF3ZGV2ICppZHhkOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn4KLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjE5MDozMjogZXJyb3I6IHVudXNlZCBwYXJhbWV0 ZXIg4oCYYmFzZV9pZHhk4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgMTkwIHwgICAg ICBjb25zdCBzdHJ1Y3QgaWR4ZF9yYXdkZXYgKmJhc2VfaWR4ZCwKICAgICAgfCAgICAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9j b21tb24uYzoxOTE6MzU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmG9wc+KAmSBbLVdlcnJv cj11bnVzZWQtcGFyYW1ldGVyXQogIDE5MSB8ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9yYXdkZXZf b3BzICpvcHMpCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fgou Li9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVy cy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjIzMzoyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhh cyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMjMzIHwgIG16ID0gcnRlX21l bXpvbmVfcmVzZXJ2ZShtel9uYW1lLAogICAgICB8ICBefgouLi9kcml2ZXJzL3Jhdy9pb2F0L2lv YXRfY29tbW9uLmM6MjMzOjI6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvIOKAmGludOKAmSBpbiBk ZWNsYXJhdGlvbiBvZiDigJhteuKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMv cmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzM6Mjc6IGVycm9yOiDigJhtel9uYW1l4oCZIHVuZGVj bGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYdHpuYW1l4oCZ PwogIDIzMyB8ICBteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmUobXpfbmFtZSwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgIHR6bmFtZQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9uLmM6MjM1OjQ6IGVy cm9yOiDigJhkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhkaXbigJk/CiAgMjM1IHwgICAgZGV2LT5udW1hX25vZGUsCiAgICAgIHwgICAg Xn5+CiAgICAgIHwgICAgZGl2Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyMzc6 MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYaWbigJkK ICAyMzcgfCAgaWYgKG16ID09IE5VTEwpIHsKICAgICAgfCAgXn4KLi4vZHJpdmVycy9yYXcvaW9h dC9pb2F0X2NvbW1vbi5jOjI0Mzo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg 4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZ IHRva2VuCiAgMjQzIHwgIHJhd2Rldi0+ZGV2X3ByaXZhdGUgPSBtei0+YWRkcjsKICAgICAgfCAg ICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0NDo4OiBlcnJvcjog ZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKAmF9fYXR0 cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQ0IHwgIHJhd2Rldi0+ZGV2X29w cyA9IG9wczsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjI0NTo4OiBlcnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCY YXNt4oCZIG9yIOKAmF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmC0+4oCZIHRva2VuCiAgMjQ1 IHwgIHJhd2Rldi0+ZGV2aWNlID0gZGV2OwogICAgICB8ICAgICAgICBefgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjQ2Ojg6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs 4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCY LT7igJkgdG9rZW4KICAyNDYgfCAgcmF3ZGV2LT5kcml2ZXJfbmFtZSA9IElPQVRfUE1EX1JBV0RF Vl9OQU1FX1NUUjsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2Nv bW1vbi5jOjI0ODoyOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3Jh Z2UgY2xhc3MgWy1XZXJyb3JdCiAgMjQ4IHwgIGlkeGQgPSByYXdkZXYtPmRldl9wcml2YXRlOwog ICAgICB8ICBefn5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNDg6MjogZXJy b3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRlY2xhcmF0aW9uIG9mIOKAmGlkeGTi gJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQouLi9kcml2ZXJzL3Jhdy9pb2F0L2lvYXRfY29tbW9u LmM6MjQ4Ojk6IGVycm9yOiDigJhyYXdkZXbigJkgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBm dW5jdGlvbikKICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3ByaXZhdGU7CiAgICAgIHwgICAg ICAgICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0OToyOiBlcnJv cjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3Jd CiAgMjQ5IHwgICppZHhkID0gKmJhc2VfaWR4ZDsgLyogY29weSBvdmVyIHRoZSBtYWluIGZpZWxk cyBhbHJlYWR5IHBhc3NlZCBpbiAqLwogICAgICB8ICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9h dF9jb21tb24uYzoyNDk6MzogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8g4oCYaW504oCZIGluIGRl Y2xhcmF0aW9uIG9mIOKAmGlkeGTigJkgWy1XZXJyb3I9aW1wbGljaXQtaW50XQogIDI0OSB8ICAq aWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFpbiBmaWVsZHMgYWxyZWFkeSBw YXNzZWQgaW4gKi8KICAgICAgfCAgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1v bi5jOjI0OTozOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmGlkeGTigJkKLi4vZHJp dmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0ODoyOiBub3RlOiBwcmV2aW91cyBkZWZpbml0 aW9uIG9mIOKAmGlkeGTigJkgd2FzIGhlcmUKICAyNDggfCAgaWR4ZCA9IHJhd2Rldi0+ZGV2X3By aXZhdGU7CiAgICAgIHwgIF5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI0 OToxMTogZXJyb3I6IOKAmGJhc2VfaWR4ZOKAmSB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1 bmN0aW9uKQogIDI0OSB8ICAqaWR4ZCA9ICpiYXNlX2lkeGQ7IC8qIGNvcHkgb3ZlciB0aGUgbWFp biBmaWVsZHMgYWxyZWFkeSBwYXNzZWQgaW4gKi8KICAgICAgfCAgICAgICAgICAgXn5+fn5+fn5+ Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTA6NjogZXJyb3I6IGV4cGVjdGVk IOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKAmGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f 4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI1MCB8ICBpZHhkLT5wdWJsaWMudHlwZSA9IFJU RV9JRFhEX0RFVjsKICAgICAgfCAgICAgIF5+Ci4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21t b24uYzoyNTE6NjogZXJyb3I6IGV4cGVjdGVkIOKAmD3igJksIOKAmCzigJksIOKAmDvigJksIOKA mGFzbeKAmSBvciDigJhfX2F0dHJpYnV0ZV9f4oCZIGJlZm9yZSDigJgtPuKAmSB0b2tlbgogIDI1 MSB8ICBpZHhkLT5yYXdkZXYgPSByYXdkZXY7CiAgICAgIHwgICAgICBefgouLi9kcml2ZXJzL3Jh dy9pb2F0L2lvYXRfY29tbW9uLmM6MjUyOjY6IGVycm9yOiBleHBlY3RlZCDigJg94oCZLCDigJgs 4oCZLCDigJg74oCZLCDigJhhc23igJkgb3Ig4oCYX19hdHRyaWJ1dGVfX+KAmSBiZWZvcmUg4oCY LT7igJkgdG9rZW4KICAyNTIgfCAgaWR4ZC0+bXogPSBtejsKICAgICAgfCAgICAgIF5+Ci4uL2Ry aXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNTQ6MjogZXJyb3I6IGV4cGVjdGVkIGlkZW50 aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMjU0IHwgIHJldHVybiAwOwog ICAgICB8ICBefn5+fn4KLi4vZHJpdmVycy9yYXcvaW9hdC9pb2F0X2NvbW1vbi5jOjI1Njo4OiBl cnJvcjogZXhwZWN0ZWQg4oCYPeKAmSwg4oCYLOKAmSwg4oCYO+KAmSwg4oCYYXNt4oCZIG9yIOKA mF9fYXR0cmlidXRlX1/igJkgYmVmb3JlIOKAmDrigJkgdG9rZW4KICAyNTYgfCBjbGVhbnVwOgog ICAgICB8ICAgICAgICBeCi4uL2RyaXZlcnMvcmF3L2lvYXQvaW9hdF9jb21tb24uYzoyNjA6Mjog ZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZ CiAgMjYwIHwgIHJldHVybiByZXQ7CiAgICAgIHwgIF5+fn5+fgouLi9kcml2ZXJzL3Jhdy9pb2F0 L2lvYXRfY29tbW9uLmM6MjYxOjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCji gJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAyNjEgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJu aW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMTgzMi8yNzg1XSBDb21waWxpbmcgQyBvYmpl Y3QgJ2RyaXZlcnMvcmF3L2lmcGdhL2Jhc2UvNDIyNDg1ZkBAaWZwZ2FfcmF3ZGV2X2Jhc2VAc3Rh L29wYWVfaW50ZWxfbWF4MTAuYy5vJy4KWzE4MzMvMjc4NV0gR2VuZXJhdGluZyBydGVfcmF3X2Rw YWEyX3FkbWEuc3ltX2NoayB3aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5kLgpbMTgz NC8yNzg1XSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9yYXdf aW9hdEBzdGEvcmF3X2lvYXRfaWR4ZF9wY2kuYy5vJy4KWzE4MzUvMjc4NV0gQ29tcGlsaW5nIEMg b2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcmF3X2lvYXRAc3RhL3Jhd19pb2F0X2lk eGRfdmRldi5jLm8nLgpbMTgzNi8yNzg1XSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcx NTE4MUBAdG1wX3J0ZV9yYXdfbnRiQHN0YS9yYXdfbnRiX250Yl9od19pbnRlbC5jLm8nLgpbMTgz Ny8yNzg1XSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9yYXdf aW9hdEBzdGEvcmF3X2lvYXRfaW9hdF9yYXdkZXYuYy5vJy4KWzE4MzgvMjc4NV0gQ29tcGlsaW5n IEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcmF3X2lmcGdhQHN0YS9yYXdfaWZw Z2FfaWZwZ2FfcmF3ZGV2LmMubycuClsxODM5LzI3ODVdIENvbXBpbGluZyBDIG9iamVjdCAnZHJp dmVycy9hNzE1MTgxQEB0bXBfcnRlX3Jhd19pb2F0QHN0YS9yYXdfaW9hdF9pb2F0X3Jhd2Rldl90 ZXN0LmMubycuClsxODQwLzI3ODVdIENvbXBpbGluZyBDIG9iamVjdCAnZHJpdmVycy9hNzE1MTgx QEB0bXBfcnRlX3Jhd19udGJAc3RhL3Jhd19udGJfbnRiLmMubycuCm5pbmphOiBidWlsZCBzdG9w cGVkCgoKRFBESyBTVFYgdGVhbQo= --===============2424490748897913953==--