From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B6C5429A4 for ; Fri, 21 Apr 2023 04:10:35 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 521B640E6E; Fri, 21 Apr 2023 04:10:35 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 64F3940E6E for ; Fri, 21 Apr 2023 04:10:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682043033; x=1713579033; h=message-id:date:mime-version:subject:from:to:cc; bh=42HY3Z/l7WZvTUz3x2IZizozfkYi0hmzZJO8bl1CZvQ=; b=NvKgL6RYjiT6RJwAfu6gKWX2mWahiK59SqkC0CT5vqpP+FWLuYXcnKSg VOvaYuQxjUralUa64ZKN5bVCUWCOhnSyPJpiXAwC/seLrdTzhnjjKEfoR ZIS52Y89OUXOFbk5cQMh05KcIsfBTfcAGv00AL0q0jOJRosjI7FImXpUK hAUI3VYr1DTk3isN6fyB0jQ2ZCb78cL7WL91CABMI6XmMOBHj783F4KBM Jz75ugHJwf12AIG0QIGnRQhAelmvtY8QzU5J2a71r7HAPPalstHPOTJdV am1Xwock4Y6RAFOVa4lIqSFu7gOxAg0u6EzDahrz7psp5doBXjIdYqKw0 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10686"; a="330096532" X-IronPort-AV: E=Sophos;i="5.99,214,1677571200"; d="scan'208";a="330096532" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2023 19:10:31 -0700 Message-Id: <8a82d4$mhm2n3@fmsmga008-auth.fm.intel.com> Date: 20 Apr 2023 19:10:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10686"; a="756747001" X-IronPort-AV: E=Sophos;i="5.99,214,1677571200"; d="scan'208";a="756747001" Received: from unknown (HELO [10.239.252.161]) ([10.239.252.161]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2023 19:10:24 -0700 Content-Type: multipart/alternative; boundary="===============8343103312560074048==" MIME-Version: 1.0 Subject: [dpdk-test-report] |FAILURE| pw(126336) sid(27806) job(PER_PATCH_BUILD7170)[2/2] vhost: add egress API for port mirroring datapath From: sys_stv@intel.com To: test-report@dpdk.org, Cheng1.jiang@intel.com Cc: 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 --===============8343103312560074048== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xMjYzMzYKCl9Db21waWxhdGlvbiBpc3N1ZXNfCgpTdWJtaXR0ZXI6 IENoZW5nIEppYW5nIDxDaGVuZzEuamlhbmdAaW50ZWwuY29tPgpEYXRlOiAyMDIzLTA0LTIxIDAx OjA5OjMyClJlcGx5X21haWw6IDwyMDIzMDQyMTAxMDkzMi40Njg0Ny0zLWNoZW5nMS5qaWFuZ0Bp bnRlbC5jb20+CgpEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5leHQtdmlydGlvLCBDb21t aXRJRDogMTE5YTE1ZjRjNDUxMjgyZWM3OTllMTkyYjYzMWYzYzYwN2EwYTUwOQoKCk1lc29uIEJ1 aWxkIFN1bW1hcnk6IDI1IEJ1aWxkcyBEb25lLCAyMCBTdWNjZXNzZnVsLCA1IEZhaWx1cmVzLCAw IEJsb2NrZWQKCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSsKfCBvcyAgICAgICAgICAgfCBnY2Mtc3RhdGljIHwgY2xhbmctc3RhdGljIHwgaWNjLXN0YXRp YyB8IGdjYy1zaGFyZWQgfCBnY2MtZGVidWcgfCBkb2N1bWVudCB8IGdjYy0xNmJ5dGUgfAorLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCnwgRnJlZUJTRDEz LTY0IHwgcGFzcyAgICAgICB8IHBhc3MgICAgICAgICB8ICAgICAgICAgICAgfCBwYXNzICAgICAg IHwgcGFzcyAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBSSEVMODYtNjQgICAgfCBw YXNzICAgICAgIHwgZmFpbCAgICAgICAgIHwgICAgICAgICAgICB8IHBhc3MgICAgICAgfCBwYXNz ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFNVU0UxNS02NCAgICB8IHBhc3MgICAg ICAgfCBmYWlsICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgUkhFTDkxLTY0ICAgIHwgcGFzcyAgICAgICB8ICAg ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfCAgICAgICAgICAgIHwKfCBVQjIwMDQtNjQgICAgfCBwYXNzICAgICAgIHwgZmFpbCAgICAg ICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCBwYXNzICAgICB8ICAg ICAgICAgICAgfAp8IFVCMjIwNC0zMiAgICB8IHBhc3MgICAgICAgfCAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAg ICB8CnwgVUIyMjA0LTY0ICAgIHwgcGFzcyAgICAgICB8IGZhaWwgICAgICAgICB8ICAgICAgICAg ICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgcGFzcyAgICAgfCBwYXNzICAgICAgIHwKfCBD ZW50T1M3OS02NCAgfCBwYXNzICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFJIRUw4Ni02 NFJ0ICB8IHBhc3MgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAg ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgVUIyMjEwLTY0ICAgIHwg cGFzcyAgICAgICB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBGQzM3LTY0ICAgICAgfCBwYXNzICAg ICAgIHwgZmFpbCAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAg fCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFVCMjIwNC02NFJ0ICB8IHBhc3MgICAgICAgfCAg ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSsKCkNvbW1lbnRzOiAKQmVjYXVzZSBvZiBEUERLIGJ1ZyAoaHR0cHM6Ly9idWdz LmRwZGsub3JnL3Nob3dfYnVnLmNnaT9pZD05MjgpLApBbGwgdGhlIGRwZGstbmV4dC0qIGJyYW5j aCBhZGQgYERkaXNhYmxlX2RyaXZlcnM9ZXZlbnQvY254a2Agb3B0aW9uIHdoZW4gYnVpbGQgd2l0 aCBJQ0MgY29tcGxpZXIuIAogClRlc3QgZW52aXJvbm1lbnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMg YmVsb3c6CgoKT1M6IEZyZWVCU0QxMy02NAoJS2VybmVsIFZlcnNpb246IDEzLjEtUkVMRUFTRQoJ R0NDIFZlcnNpb246IGdjYyAoRnJlZUJTRCBQb3J0cyBDb2xsZWN0aW9uKSAxMC4zLjAKCUNsYW5n IFZlcnNpb246IDEzLjAuMCAoZ2l0QGdpdGh1Yi5jb206bGx2bS9sbHZtLXByb2plY3QuZ2l0IGxs dm1vcmctMTMuMC4wLTAtZ2Q3YjY2OWIzYTMwMykKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwoJ eDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytzaGFy ZWQKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1ZwoKT1M6IFJIRUw4Ni02NAoJS2VybmVs IFZlcnNpb246IDQuMTguMC0zNzIuOS4xLmVsOC54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdD QykgOC41LjAgMjAyMTA1MTQgKFJlZCBIYXQgOC41LjAtMTMpCglDbGFuZyBWZXJzaW9uOiAxNC4w LjAgKFJlZCBIYXQgMTQuMC4wLTEubW9kdWxlX2VsOC43LjArMTE0Mis1MzQzZGY1NCkKCXg4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYytzaGFyZWQKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj K2RlYnVnCgpPUzogU1VTRTE1LTY0CglLZXJuZWwgVmVyc2lvbjogNS4xNC4yMS0xNTA0MDAuMjIt ZGVmYXVsdAoJR0NDIFZlcnNpb246IGdjYyAoU1VTRSBMaW51eCkgNy41LjAKCUNsYW5nIFZlcnNp b246IDExLjAuMQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKCk9TOiBSSEVMOTEtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE0LjAtMTYyLjYu MS5lbDlfMS54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgMTEuMy4xIDIwMjIwNDIxIChS ZWQgSGF0IDExLjMuMS0yKQoJQ2xhbmcgVmVyc2lvbjogMTQuMC42IChSZWQgSGF0IDE0LjAuNi0x LmVsOSkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMDA0LTY0CglLZXJuZWwg VmVyc2lvbjogNS44LjAtNDgtZ2VuZXJpYwoJR0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1IDEwLjMu MC0xdWJ1bnR1MX4yMC4wNCkgMTAuMy4wCglDbGFuZyBWZXJzaW9uOiAxMC4wLjAtNHVidW50dTEK CXg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj Cgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWRvYwoKT1M6IFVCMjIwNC0zMgoJS2VybmVsIFZlcnNp b246IDUuMTUuMC01OC1nZW5lcmljCglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgMTEuMy4wLTF1 YnVudHUxfjIyLjA0KSAxMS4zLjAKCUNsYW5nIFZlcnNpb246IE5BCglpNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MKCk9TOiBVQjIyMDQtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE1LjAtNTgtZ2VuZXJp YwoJR0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1IDExLjMuMC0xdWJ1bnR1MX4yMi4wNCkgMTEuMy4w CglDbGFuZyBWZXJzaW9uOiAxNC4wLjAtMXVidW50dTEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjKzE2Ynl0ZQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZG9jCgpPUzogQ2VudE9TNzktNjQK CUtlcm5lbCBWZXJzaW9uOiAzLjEwLjAtMTE2MC44MS4xLmVsNy54ODZfNjQKCUdDQyBWZXJzaW9u OiBnY2MgKEdDQykgNC44LjUgMjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNDQpCglDbGFuZyBWZXJz aW9uOiAzLjQuMiAodGFncy9SRUxFQVNFXzM0L2RvdDItZmluYWwpCgl4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYwoKT1M6IFJIRUw4Ni02NFJ0CglLZXJuZWwgVmVyc2lvbjogNC4xOC4wLTM3Mi45 LjEucnQ3LjE2Ni5lbDgueDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDguNS4wIDIwMjEw NTE0IChSZWQgSGF0IDguNS4wLTEzKQoJQ2xhbmcgVmVyc2lvbjogMTQuMC4wIChSZWQgSGF0IDE0 LjAuMC0xLm1vZHVsZV9lbDguNy4wKzExNDIrNTM0M2RmNTQpCgl4ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYwoKT1M6IFVCMjIxMC02NAoJS2VybmVsIFZlcnNpb246IDUuMTkuMC0yMS1nZW5lcmlj CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgMTIuMi4wLTN1YnVudHUxKSAxMi4yLjAKCUNsYW5n IFZlcnNpb246IDE1LjAuMi0xCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6IEZDMzct NjQKCUtlcm5lbCBWZXJzaW9uOiA2LjAuMTUtMzAwLmZjMzcueDg2XzY0CglHQ0MgVmVyc2lvbjog Z2NjIChHQ0MpIDEyLjIuMSAyMDIyMTEyMSAoUmVkIEhhdCAxMi4yLjEtNCkKCUNsYW5nIFZlcnNp b246IDE1LjAuNiAoRmVkb3JhIDE1LjAuNi0yLmZjMzcpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoKT1M6IFVCMjIwNC02NFJ0CglLZXJu ZWwgVmVyc2lvbjogNS4xNS44NS1ydDU1CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgMTEuMy4w LTF1YnVudHUxfjIyLjA0KSAxMS4zLjAKCUNsYW5nIFZlcnNpb246IDE0LjAuMC0xdWJ1bnR1MQoJ eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCgoKKkJ1aWxkIEZhaWxlZCAjMToKT1M6IFJIRUw4 Ni02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKRkFJTEVEOiBsaWIvbGli cnRlX3Zob3N0LmEucC92aG9zdF92aXJ0aW9fbmV0LmMubyAKY2xhbmcgLUlsaWIvbGlicnRlX3Zo b3N0LmEucCAtSWxpYiAtSS4uL2xpYiAtSWxpYi92aG9zdCAtSS4uL2xpYi92aG9zdCAtSS4gLUku LiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5j bHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAt SWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9j b21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2 YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGli L3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRl diAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9t ZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21l dGVyIC1JLi4vbGliL21ldGVyIC1JbGliL2NyeXB0b2RldiAtSS4uL2xpYi9jcnlwdG9kZXYgLUls aWIvcmN1IC1JLi4vbGliL3JjdSAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvcGNpIC1J Li4vbGliL3BjaSAtSWxpYi9kbWFkZXYgLUkuLi9saWIvZG1hZGV2IC1mY29sb3ItZGlhZ25vc3Rp Y3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdl cnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAt V2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1k ZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1z dHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1w cm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQt bWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJ QyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFM X0FQSSAtRFZIT1NUX0NMQU5HX1VOUk9MTF9QUkFHTUEgLWZuby1zdHJpY3QtYWxpYXNpbmcgLURS VEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIudmhvc3QgLURSVEVfQU5OT1RBVEVfTE9DS1MgLVd0 aHJlYWQtc2FmZXR5IC1NRCAtTVEgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlvX25l dC5jLm8gLU1GIGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vLmQgLW8g bGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8gLWMgLi4vbGliL3Zob3N0 L3ZpcnRpb19uZXQuYwouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQyNzE6MzQ6IGVycm9yOiBy ZWFkaW5nIHZhcmlhYmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJy b3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAq YXN5bmMgPSB2cS0+YXN5bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDMyNDozNDogZXJyb3I6IHJlYWRpbmcgdmFy aWFibGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVh ZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZx LT5hc3luYzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L3Zob3N0L3ZpcnRpb19uZXQuYzo0MzI1OjQwOiBlcnJvcjogcmVhZGluZyB2YXJpYWJsZSAnYXN5 bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1h bmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKm1yX2FzeW5jID0gbXJfdnEtPmFz eW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9s aWIvdmhvc3QvdmlydGlvX25ldC5jOjQzMzU6MTQ6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdh c3luY19nZXRfZmlyc3RfaW5mbGlnaHRfcGt0X2lkeCcgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAn dnEtPmFjY2Vzc19sb2NrJyBleGNsdXNpdmVseSBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5h bHlzaXNdCiAgICAgICAgc3RhcnRfaWR4ID0gYXN5bmNfZ2V0X2ZpcnN0X2luZmxpZ2h0X3BrdF9p ZHgodnEpOwogICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0 MzQ0OjEzOiBlcnJvcjogcmVhZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcg YW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICB3aGls ZSAodnEtPmFzeW5jLT5wa3RzX2NtcGxfZmxhZ1tmcm9tXSAmJiBjb3VudC0tKSB7CiAgICAgICAg ICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDM0NTo3OiBlcnJvcjogcmVh ZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9y LC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIHZxLT5hc3luYy0+cGt0 c19jbXBsX2ZsYWdbZnJvbV0gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92 aG9zdC92aXJ0aW9fbmV0LmM6NDM2NjozOiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAnd3JpdGVf YmFja19jb21wbGV0ZWRfZGVzY3Nfc3BsaXQnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5h Y2Nlc3NfbG9jaycgZXhjbHVzaXZlbHkgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lz XQogICAgICAgICAgICAgICAgd3JpdGVfYmFja19jb21wbGV0ZWRfZGVzY3Nfc3BsaXQodnEsIG5f ZGVzY3MpOwogICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQzNzQ6 MzogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3dyaXRlX2JhY2tfY29tcGxldGVkX2Rlc2NzX3Nw bGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICdtcl92cS0+YWNjZXNzX2xvY2snIGV4Y2x1c2l2 ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIHdy aXRlX2JhY2tfY29tcGxldGVkX2Rlc2NzX3NwbGl0KG1yX3ZxLCBtcl9uX2Rlc2NzKTsKICAgICAg ICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NDg1OjM0OiBlcnJvcjogcmVh ZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9y LC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFz eW5jID0gdnEtPmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2MDA6NTogZXJyb3I6IGNhbGxpbmcgZnVuY3Rp b24gJ2NvcHlfdm5ldF9oZHJfdG9fZGVzYycgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmlv dGxiX2xvY2snIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb3B5X3ZuZXRfaGRyX3RvX2Rlc2MoZGV2LCB2cSwgYnVmX3Zl YywgaGRyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92 aXJ0aW9fbmV0LmM6NDYwNDo1OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAndmhvc3RfbG9nX2Nh Y2hlX3dyaXRlX2lvdmEnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5pb3RsYl9sb2NrJyBb LVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmhvc3RfbG9nX2NhY2hlX3dyaXRlX2lvdmEoZGV2LCB2cSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDYxOTo1OiBl cnJvcjogY2FsbGluZyBmdW5jdGlvbiAnY29weV92bmV0X2hkcl90b19kZXNjJyByZXF1aXJlcyBo b2xkaW5nIG11dGV4ICdtcl92cS0+aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5 LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfdm5ldF9oZHJf dG9fZGVzYyhtcl9kZXYsIG1yX3ZxLCBtcl9idWZfdmVjLCBtcl9oZHIpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NjIzOjU6IGVy cm9yOiBjYWxsaW5nIGZ1bmN0aW9uICd2aG9zdF9sb2dfY2FjaGVfd3JpdGVfaW92YScgcmVxdWly ZXMgaG9sZGluZyBtdXRleCAnbXJfdnEtPmlvdGxiX2xvY2snIFstV2Vycm9yLC1XdGhyZWFkLXNh ZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aG9zdF9sb2df Y2FjaGVfd3JpdGVfaW92YShtcl9kZXYsIG1yX3ZxLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NjY5OjM0OiBlcnJvcjogcmVhZGlu ZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1X dGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFzeW5j ID0gdnEtPmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2NzA6NDA6IGVycm9yOiByZWFkaW5nIHZhcmlhYmxl ICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3IsLVd0aHJlYWQtc2Fm ZXR5LWFuYWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqbXJfYXN5bmMgPSBtcl92 cS0+YXN5bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDY5MjoxNjogZXJyb3I6IGNhbGxpbmcgZnVuY3Rp b24gJ3Jlc2VydmVfYXZhaWxfYnVmX3NwbGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+ aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAg ICAgICAgaWYgKHVubGlrZWx5KHJlc2VydmVfYXZhaWxfYnVmX3NwbGl0KGRldiwgdnEsIHBrdF9s ZW4sIGJ1Zl92ZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3Qv dmlydGlvX25ldC5jOjQ3MDA6MTY6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdyZXNlcnZlX2F2 YWlsX2J1Zl9zcGxpdCcgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAnbXJfdnEtPmlvdGxiX2xvY2sn IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIGlmICh1 bmxpa2VseShyZXNlcnZlX2F2YWlsX2J1Zl9zcGxpdChtcl9kZXYsIG1yX3ZxLCBwa3RfbGVuLCBt cl9idWZfdmVjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3Zp cnRpb19uZXQuYzo0NzM1OjExOiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAndmhvc3RfYXN5bmNf ZG1hX3RyYW5zZmVyJyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+YWNjZXNzX2xvY2snIGV4 Y2x1c2l2ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICBuX3hm ZXIgPSB2aG9zdF9hc3luY19kbWFfdHJhbnNmZXIoZGV2LCB2cSwgZG1hX2lkLCB2Y2hhbl9pZCwg YXN5bmMtPnBrdHNfaWR4LAogICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19u ZXQuYzo0ODIxOjY6IGVycm9yOiBtdXRleCAndnEtPmlvdGxiX2xvY2snIGlzIG5vdCBoZWxkIG9u IGV2ZXJ5IHBhdGggdGhyb3VnaCBoZXJlIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNp c10KICAgICAgICBpZiAobXJfZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19GX0lPTU1V X1BMQVRGT1JNKSkKICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ4MjA6 Mzogbm90ZTogbXV0ZXggYWNxdWlyZWQgaGVyZQogICAgICAgICAgICAgICAgdmhvc3RfdXNlcl9p b3RsYl9yZF9sb2NrKHZxKTsKICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55 IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMg Z2VuZXJhdGVkLgpbMzk3LzMyMjJdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3Zob3N0 LmEucC92aG9zdF92aG9zdC5jLm8KWzM5OC8zMjIyXSBHZW5lcmF0aW5nIHN5bWJvbCBmaWxlIGxp Yi9saWJydGVfc2VjdXJpdHkuc28uMjMuMS5wL2xpYnJ0ZV9zZWN1cml0eS5zby4yMy4xLnN5bWJv bHMKWzM5OS8zMjIyXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9pcHNlYy5hLnAvaXBz ZWNfc2EuYy5vCls0MDAvMzIyMl0gR2VuZXJhdGluZyBzeW1ib2wgZmlsZSBsaWIvbGlicnRlX3Nj aGVkLnNvLjIzLjEucC9saWJydGVfc2NoZWQuc28uMjMuMS5zeW1ib2xzCls0MDEvMzIyMl0gQ29t cGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfaXBzZWMuYS5wL2lwc2VjX2VzcF9pbmIuYy5vCls0 MDIvMzIyMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3Zo b3N0X3VzZXIuYy5vCls0MDMvMzIyMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfaXBz ZWMuYS5wL2lwc2VjX2VzcF9vdXRiLmMubwpbNDA0LzMyMjJdIENvbXBpbGluZyBDIG9iamVjdCBs aWIvbGlicnRlX2lwc2VjLmEucC9pcHNlY19zZXMuYy5vCls0MDUvMzIyMl0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3Zob3N0X2NyeXB0by5jLm8KbmluamE6 IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzI6Ck9TOiBTVVNFMTUtNjQKVGFyZ2V0 OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxFRDogbGliL2xpYnJ0ZV92aG9zdC5h LnAvdmhvc3RfdmlydGlvX25ldC5jLm8gCmNsYW5nIC1JbGliL2xpYnJ0ZV92aG9zdC5hLnAgLUls aWIgLUkuLi9saWIgLUlsaWIvdmhvc3QgLUkuLi9saWIvdmhvc3QgLUkuIC1JLi4gLUljb25maWcg LUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIv ZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4 Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4v bGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9s aWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkg LUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0 IC1JLi4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4u L2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xp Yi9tZXRlciAtSWxpYi9jcnlwdG9kZXYgLUkuLi9saWIvY3J5cHRvZGV2IC1JbGliL3JjdSAtSS4u L2xpYi9yY3UgLUlsaWIvaGFzaCAtSS4uL2xpYi9oYXNoIC1JbGliL3BjaSAtSS4uL2xpYi9wY2kg LUlsaWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmNvbG9yLWRpYWdub3N0aWNzIC1EX0ZJTEVf T0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1p bmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdm b3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25z IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5p dGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAt V3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25v LW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5h dGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLURWSE9T VF9DTEFOR19VTlJPTExfUFJBR01BIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1EUlRFX0xPR19ERUZB VUxUX0xPR1RZUEU9bGliLnZob3N0IC1EUlRFX0FOTk9UQVRFX0xPQ0tTIC1XdGhyZWFkLXNhZmV0 eSAtTUQgLU1RIGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vIC1NRiBs aWIvbGlicnRlX3Zob3N0LmEucC92aG9zdF92aXJ0aW9fbmV0LmMuby5kIC1vIGxpYi9saWJydGVf dmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vIC1jIC4uL2xpYi92aG9zdC92aXJ0aW9fbmV0 LmMKLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0MjcxOjM0OiBlcnJvcjogcmVhZGluZyB2YXJp YWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFk LXNhZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFzeW5jID0gdnEt PmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIv dmhvc3QvdmlydGlvX25ldC5jOjQzMjQ6MzQ6IGVycm9yOiByZWFkaW5nIHZhcmlhYmxlICdhc3lu YycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFu YWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMgPSB2cS0+YXN5bmM7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0 aW9fbmV0LmM6NDMyNTo0MDogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUgJ2FzeW5jJyByZXF1aXJl cyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAg ICAgICAgc3RydWN0IHZob3N0X2FzeW5jICptcl9hc3luYyA9IG1yX3ZxLT5hc3luYzsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3Zp cnRpb19uZXQuYzo0MzM1OjE0OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAnYXN5bmNfZ2V0X2Zp cnN0X2luZmxpZ2h0X3BrdF9pZHgnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5hY2Nlc3Nf bG9jaycgZXhjbHVzaXZlbHkgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAg ICAgIHN0YXJ0X2lkeCA9IGFzeW5jX2dldF9maXJzdF9pbmZsaWdodF9wa3RfaWR4KHZxKTsKICAg ICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDM0NDoxMzogZXJy b3I6IHJlYWRpbmcgdmFyaWFibGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBb LVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgd2hpbGUgKHZxLT5hc3lu Yy0+cGt0c19jbXBsX2ZsYWdbZnJvbV0gJiYgY291bnQtLSkgewogICAgICAgICAgICAgICAgICAg XgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQzNDU6NzogZXJyb3I6IHJlYWRpbmcgdmFyaWFi bGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1z YWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICB2cS0+YXN5bmMtPnBrdHNfY21wbF9mbGFn W2Zyb21dID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlv X25ldC5jOjQzNjY6MzogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3dyaXRlX2JhY2tfY29tcGxl dGVkX2Rlc2NzX3NwbGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+YWNjZXNzX2xvY2sn IGV4Y2x1c2l2ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAg ICAgICAgIHdyaXRlX2JhY2tfY29tcGxldGVkX2Rlc2NzX3NwbGl0KHZxLCBuX2Rlc2NzKTsKICAg ICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0Mzc0OjM6IGVycm9yOiBj YWxsaW5nIGZ1bmN0aW9uICd3cml0ZV9iYWNrX2NvbXBsZXRlZF9kZXNjc19zcGxpdCcgcmVxdWly ZXMgaG9sZGluZyBtdXRleCAnbXJfdnEtPmFjY2Vzc19sb2NrJyBleGNsdXNpdmVseSBbLVdlcnJv ciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICB3cml0ZV9iYWNrX2Nv bXBsZXRlZF9kZXNjc19zcGxpdChtcl92cSwgbXJfbl9kZXNjcyk7CiAgICAgICAgICAgICAgICBe Ci4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDQ4NTozNDogZXJyb3I6IHJlYWRpbmcgdmFyaWFi bGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1z YWZldHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZxLT5h c3luYzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zo b3N0L3ZpcnRpb19uZXQuYzo0NjAwOjU6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdjb3B5X3Zu ZXRfaGRyX3RvX2Rlc2MnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5pb3RsYl9sb2NrJyBb LVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29weV92bmV0X2hkcl90b19kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsIGhkcik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5j OjQ2MDQ6NTogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3Zob3N0X2xvZ19jYWNoZV93cml0ZV9p b3ZhJyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0 aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZo b3N0X2xvZ19jYWNoZV93cml0ZV9pb3ZhKGRldiwgdnEsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2MTk6NTogZXJyb3I6IGNhbGxp bmcgZnVuY3Rpb24gJ2NvcHlfdm5ldF9oZHJfdG9fZGVzYycgcmVxdWlyZXMgaG9sZGluZyBtdXRl eCAnbXJfdnEtPmlvdGxiX2xvY2snIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3ZuZXRfaGRyX3RvX2Rlc2MobXJf ZGV2LCBtcl92cSwgbXJfYnVmX3ZlYywgbXJfaGRyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDYyMzo1OiBlcnJvcjogY2FsbGlu ZyBmdW5jdGlvbiAndmhvc3RfbG9nX2NhY2hlX3dyaXRlX2lvdmEnIHJlcXVpcmVzIGhvbGRpbmcg bXV0ZXggJ21yX3ZxLT5pb3RsYl9sb2NrJyBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlz aXNdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmhvc3RfbG9nX2NhY2hlX3dyaXRl X2lvdmEobXJfZGV2LCBtcl92cSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDY2OTozNDogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUg J2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZl dHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZxLT5hc3lu YzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0 L3ZpcnRpb19uZXQuYzo0NjcwOjQwOiBlcnJvcjogcmVhZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJl cXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNp c10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKm1yX2FzeW5jID0gbXJfdnEtPmFzeW5jOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhv c3QvdmlydGlvX25ldC5jOjQ2OTI6MTY6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdyZXNlcnZl X2F2YWlsX2J1Zl9zcGxpdCcgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmlvdGxiX2xvY2sn IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIGlmICh1 bmxpa2VseShyZXNlcnZlX2F2YWlsX2J1Zl9zcGxpdChkZXYsIHZxLCBwa3RfbGVuLCBidWZfdmVj LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQu Yzo0NzAwOjE2OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAncmVzZXJ2ZV9hdmFpbF9idWZfc3Bs aXQnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ21yX3ZxLT5pb3RsYl9sb2NrJyBbLVdlcnJvciwt V3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkocmVz ZXJ2ZV9hdmFpbF9idWZfc3BsaXQobXJfZGV2LCBtcl92cSwgcGt0X2xlbiwgbXJfYnVmX3ZlYywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6 NDczNToxMTogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3Zob3N0X2FzeW5jX2RtYV90cmFuc2Zl cicgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmFjY2Vzc19sb2NrJyBleGNsdXNpdmVseSBb LVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgbl94ZmVyID0gdmhvc3Rf YXN5bmNfZG1hX3RyYW5zZmVyKGRldiwgdnEsIGRtYV9pZCwgdmNoYW5faWQsIGFzeW5jLT5wa3Rz X2lkeCwKICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDgyMTo2 OiBlcnJvcjogbXV0ZXggJ3ZxLT5pb3RsYl9sb2NrJyBpcyBub3QgaGVsZCBvbiBldmVyeSBwYXRo IHRocm91Z2ggaGVyZSBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAg aWYgKG1yX2Rldi0+ZmVhdHVyZXMgJiAoMVVMTCA8PCBWSVJUSU9fRl9JT01NVV9QTEFURk9STSkp CiAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0ODIwOjM6IG5vdGU6IG11 dGV4IGFjcXVpcmVkIGhlcmUKICAgICAgICAgICAgICAgIHZob3N0X3VzZXJfaW90bGJfcmRfbG9j ayh2cSk7CiAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1p dHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4K WzM5NS8zMzAzXSBHZW5lcmF0aW5nIHN5bWJvbCBmaWxlIGxpYi9saWJydGVfbWxkZXYuc28uMjMu MS5wL2xpYnJ0ZV9tbGRldi5zby4yMy4xLnN5bWJvbHMKWzM5Ni8zMzAzXSBHZW5lcmF0aW5nIHN5 bWJvbCBmaWxlIGxpYi9saWJydGVfc2VjdXJpdHkuc28uMjMuMS5wL2xpYnJ0ZV9zZWN1cml0eS5z by4yMy4xLnN5bWJvbHMKWzM5Ny8zMzAzXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92 aG9zdC5hLnAvdmhvc3Rfdmhvc3QuYy5vClszOTgvMzMwM10gQ29tcGlsaW5nIEMgb2JqZWN0IGxp Yi9saWJydGVfaXBzZWMuYS5wL2lwc2VjX3NhLmMubwpbMzk5LzMzMDNdIEdlbmVyYXRpbmcgc3lt Ym9sIGZpbGUgbGliL2xpYnJ0ZV9zY2hlZC5zby4yMy4xLnAvbGlicnRlX3NjaGVkLnNvLjIzLjEu c3ltYm9scwpbNDAwLzMzMDNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3Zob3N0LmEu cC92aG9zdF92aG9zdF91c2VyLmMubwpbNDAxLzMzMDNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIv bGlicnRlX2lwc2VjLmEucC9pcHNlY19lc3BfaW5iLmMubwpbNDAyLzMzMDNdIENvbXBpbGluZyBD IG9iamVjdCBsaWIvbGlicnRlX2lwc2VjLmEucC9pcHNlY19lc3Bfb3V0Yi5jLm8KWzQwMy8zMzAz XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3Rfdmhvc3RfY3J5 cHRvLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMzoKT1M6IFVC MjAwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKRkFJTEVEOiBsaWIv bGlicnRlX3Zob3N0LmEucC92aG9zdF92aXJ0aW9fbmV0LmMubyAKY2xhbmcgLUlsaWIvbGlicnRl X3Zob3N0LmEucCAtSWxpYiAtSS4uL2xpYiAtSWxpYi92aG9zdCAtSS4uL2xpYi92aG9zdCAtSS4g LUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwv aW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVk ZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2Vh bC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGli L2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1J bGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0 aGRldiAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxp Yi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGli L21ldGVyIC1JLi4vbGliL21ldGVyIC1JbGliL2NyeXB0b2RldiAtSS4uL2xpYi9jcnlwdG9kZXYg LUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvcGNp IC1JLi4vbGliL3BjaSAtSWxpYi9kbWFkZXYgLUkuLi9saWIvZG1hZGV2IC1mY29sb3ItZGlhZ25v c3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEg LVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRl ZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2lu Zy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29s ZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmlj dC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNr ZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAt ZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVS TkFMX0FQSSAtRFZIT1NUX0NMQU5HX1VOUk9MTF9QUkFHTUEgLWZuby1zdHJpY3QtYWxpYXNpbmcg LURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIudmhvc3QgLURSVEVfQU5OT1RBVEVfTE9DS1Mg LVd0aHJlYWQtc2FmZXR5IC1NRCAtTVEgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlv X25ldC5jLm8gLU1GIGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vLmQg LW8gbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8gLWMgLi4vbGliL3Zo b3N0L3ZpcnRpb19uZXQuYwouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQyNzE6MzQ6IGVycm9y OiByZWFkaW5nIHZhcmlhYmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1X ZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3lu YyAqYXN5bmMgPSB2cS0+YXN5bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDMyNDozNDogZXJyb3I6IHJlYWRpbmcg dmFyaWFibGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3Ro cmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9 IHZxLT5hc3luYzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v bGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0MzI1OjQwOiBlcnJvcjogcmVhZGluZyB2YXJpYWJsZSAn YXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0 eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKm1yX2FzeW5jID0gbXJfdnEt PmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQzMzU6MTQ6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9u ICdhc3luY19nZXRfZmlyc3RfaW5mbGlnaHRfcGt0X2lkeCcgcmVxdWlyZXMgaG9sZGluZyBtdXRl eCAndnEtPmFjY2Vzc19sb2NrJyBleGNsdXNpdmVseSBbLVdlcnJvciwtV3RocmVhZC1zYWZldHkt YW5hbHlzaXNdCiAgICAgICAgc3RhcnRfaWR4ID0gYXN5bmNfZ2V0X2ZpcnN0X2luZmxpZ2h0X3Br dF9pZHgodnEpOwogICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQu Yzo0MzQ0OjEzOiBlcnJvcjogcmVhZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRp bmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICB3 aGlsZSAodnEtPmFzeW5jLT5wa3RzX2NtcGxfZmxhZ1tmcm9tXSAmJiBjb3VudC0tKSB7CiAgICAg ICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDM0NTo3OiBlcnJvcjog cmVhZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vy cm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIHZxLT5hc3luYy0+ cGt0c19jbXBsX2ZsYWdbZnJvbV0gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi92aG9zdC92aXJ0aW9fbmV0LmM6NDM2NjozOiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAnd3Jp dGVfYmFja19jb21wbGV0ZWRfZGVzY3Nfc3BsaXQnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3Zx LT5hY2Nlc3NfbG9jaycgZXhjbHVzaXZlbHkgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5 c2lzXQogICAgICAgICAgICAgICAgd3JpdGVfYmFja19jb21wbGV0ZWRfZGVzY3Nfc3BsaXQodnEs IG5fZGVzY3MpOwogICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQz NzQ6MzogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3dyaXRlX2JhY2tfY29tcGxldGVkX2Rlc2Nz X3NwbGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICdtcl92cS0+YWNjZXNzX2xvY2snIGV4Y2x1 c2l2ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAg IHdyaXRlX2JhY2tfY29tcGxldGVkX2Rlc2NzX3NwbGl0KG1yX3ZxLCBtcl9uX2Rlc2NzKTsKICAg ICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NDg1OjM0OiBlcnJvcjog cmVhZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vy cm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMg KmFzeW5jID0gdnEtPmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2MDA6NTogZXJyb3I6IGNhbGxpbmcgZnVu Y3Rpb24gJ2NvcHlfdm5ldF9oZHJfdG9fZGVzYycgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEt PmlvdGxiX2xvY2snIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3ZuZXRfaGRyX3RvX2Rlc2MoZGV2LCB2cSwgYnVm X3ZlYywgaGRyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9z dC92aXJ0aW9fbmV0LmM6NDYwNDo1OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAndmhvc3RfbG9n X2NhY2hlX3dyaXRlX2lvdmEnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5pb3RsYl9sb2Nr JyBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmhvc3RfbG9nX2NhY2hlX3dyaXRlX2lvdmEoZGV2LCB2cSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDYxOTo1 OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAnY29weV92bmV0X2hkcl90b19kZXNjJyByZXF1aXJl cyBob2xkaW5nIG11dGV4ICdtcl92cS0+aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJlYWQtc2Fm ZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfdm5ldF9o ZHJfdG9fZGVzYyhtcl9kZXYsIG1yX3ZxLCBtcl9idWZfdmVjLCBtcl9oZHIpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NjIzOjU6 IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICd2aG9zdF9sb2dfY2FjaGVfd3JpdGVfaW92YScgcmVx dWlyZXMgaG9sZGluZyBtdXRleCAnbXJfdnEtPmlvdGxiX2xvY2snIFstV2Vycm9yLC1XdGhyZWFk LXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aG9zdF9s b2dfY2FjaGVfd3JpdGVfaW92YShtcl9kZXYsIG1yX3ZxLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NjY5OjM0OiBlcnJvcjogcmVh ZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9y LC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFz eW5jID0gdnEtPmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2NzA6NDA6IGVycm9yOiByZWFkaW5nIHZhcmlh YmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3IsLVd0aHJlYWQt c2FmZXR5LWFuYWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqbXJfYXN5bmMgPSBt cl92cS0+YXN5bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDY5MjoxNjogZXJyb3I6IGNhbGxpbmcgZnVu Y3Rpb24gJ3Jlc2VydmVfYXZhaWxfYnVmX3NwbGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2 cS0+aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAg ICAgICAgICAgaWYgKHVubGlrZWx5KHJlc2VydmVfYXZhaWxfYnVmX3NwbGl0KGRldiwgdnEsIHBr dF9sZW4sIGJ1Zl92ZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhv c3QvdmlydGlvX25ldC5jOjQ3MDA6MTY6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdyZXNlcnZl X2F2YWlsX2J1Zl9zcGxpdCcgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAnbXJfdnEtPmlvdGxiX2xv Y2snIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIGlm ICh1bmxpa2VseShyZXNlcnZlX2F2YWlsX2J1Zl9zcGxpdChtcl9kZXYsIG1yX3ZxLCBwa3RfbGVu LCBtcl9idWZfdmVjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0 L3ZpcnRpb19uZXQuYzo0NzM1OjExOiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAndmhvc3RfYXN5 bmNfZG1hX3RyYW5zZmVyJyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+YWNjZXNzX2xvY2sn IGV4Y2x1c2l2ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICBu X3hmZXIgPSB2aG9zdF9hc3luY19kbWFfdHJhbnNmZXIoZGV2LCB2cSwgZG1hX2lkLCB2Y2hhbl9p ZCwgYXN5bmMtPnBrdHNfaWR4LAogICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRp b19uZXQuYzo0ODIxOjY6IGVycm9yOiBtdXRleCAndnEtPmlvdGxiX2xvY2snIGlzIG5vdCBoZWxk IG9uIGV2ZXJ5IHBhdGggdGhyb3VnaCBoZXJlIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFs eXNpc10KICAgICAgICBpZiAobXJfZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJT19GX0lP TU1VX1BMQVRGT1JNKSkKICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ4 MjA6Mzogbm90ZTogbXV0ZXggYWNxdWlyZWQgaGVyZQogICAgICAgICAgICAgICAgdmhvc3RfdXNl cl9pb3RsYl9yZF9sb2NrKHZxKTsKICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBt YW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJv cnMgZ2VuZXJhdGVkLgpbMzkzLzMyOTVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3Zo b3N0LmEucC92aG9zdF92aG9zdC5jLm8KWzM5NC8zMjk1XSBHZW5lcmF0aW5nIHNlY3VyaXR5LnN5 bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUg b3V0cHV0KQpbMzk1LzMyOTVdIEdlbmVyYXRpbmcgc2NoZWQuc3ltX2NoayB3aXRoIGEgY3VzdG9t IGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClszOTYvMzI5NV0g Q29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfaXBzZWMuYS5wL2lwc2VjX3NhLmMubwpbMzk3 LzMyOTVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2lwc2VjLmEucC9pcHNlY19zZXMu Yy5vClszOTgvMzI5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfaXBzZWMuYS5wL2lw c2VjX2VzcF9pbmIuYy5vClszOTkvMzI5NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVf dmhvc3QuYS5wL3Zob3N0X3Zob3N0X3VzZXIuYy5vCls0MDAvMzI5NV0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGxpYi9saWJydGVfaXBzZWMuYS5wL2lwc2VjX2VzcF9vdXRiLmMubwpbNDAxLzMyOTVdIENv bXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3Zob3N0LmEucC92aG9zdF92aG9zdF9jcnlwdG8u Yy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICM0OgpPUzogVUIyMjA0 LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGxpYi9saWJy dGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vIApjbGFuZyAtSWxpYi9saWJydGVfdmhv c3QuYS5wIC1JbGliIC1JLi4vbGliIC1JbGliL3Zob3N0IC1JLi4vbGliL3Zob3N0IC1JLiAtSS4u IC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNs dWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1J bGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2Nv bW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3Zh cmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIv dGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2 IC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21l bXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0 ZXIgLUkuLi9saWIvbWV0ZXIgLUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0b2RldiAtSWxp Yi9yY3UgLUkuLi9saWIvcmN1IC1JbGliL2hhc2ggLUkuLi9saWIvaGFzaCAtSWxpYi9wY2kgLUku Li9saWIvcGNpIC1JbGliL2RtYWRldiAtSS4uL2xpYi9kbWFkZXYgLWZjb2xvci1kaWFnbm9zdGlj cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vy cm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1X Zm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRl Y2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXBy b3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1t ZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElD IC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxf QVBJIC1EVkhPU1RfQ0xBTkdfVU5ST0xMX1BSQUdNQSAtZm5vLXN0cmljdC1hbGlhc2luZyAtRFJU RV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi52aG9zdCAtRFJURV9BTk5PVEFURV9MT0NLUyAtV3Ro cmVhZC1zYWZldHkgLU1EIC1NUSBsaWIvbGlicnRlX3Zob3N0LmEucC92aG9zdF92aXJ0aW9fbmV0 LmMubyAtTUYgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8uZCAtbyBs aWIvbGlicnRlX3Zob3N0LmEucC92aG9zdF92aXJ0aW9fbmV0LmMubyAtYyAuLi9saWIvdmhvc3Qv dmlydGlvX25ldC5jCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDI3MTozNDogZXJyb3I6IHJl YWRpbmcgdmFyaWFibGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJv ciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICph c3luYyA9IHZxLT5hc3luYzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0MzI0OjM0OiBlcnJvcjogcmVhZGluZyB2YXJp YWJsZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFk LXNhZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFzeW5jID0gdnEt PmFzeW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIv dmhvc3QvdmlydGlvX25ldC5jOjQzMjU6NDA6IGVycm9yOiByZWFkaW5nIHZhcmlhYmxlICdhc3lu YycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFu YWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqbXJfYXN5bmMgPSBtcl92cS0+YXN5 bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi92aG9zdC92aXJ0aW9fbmV0LmM6NDMzNToxNDogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ2Fz eW5jX2dldF9maXJzdF9pbmZsaWdodF9wa3RfaWR4JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2 cS0+YWNjZXNzX2xvY2snIGV4Y2x1c2l2ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFs eXNpc10KICAgICAgICBzdGFydF9pZHggPSBhc3luY19nZXRfZmlyc3RfaW5mbGlnaHRfcGt0X2lk eCh2cSk7CiAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQz NDQ6MTM6IGVycm9yOiByZWFkaW5nIHZhcmlhYmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBh bnkgbXV0ZXggWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgIHdoaWxl ICh2cS0+YXN5bmMtPnBrdHNfY21wbF9mbGFnW2Zyb21dICYmIGNvdW50LS0pIHsKICAgICAgICAg ICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0MzQ1Ojc6IGVycm9yOiByZWFk aW5nIHZhcmlhYmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3Is LVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgdnEtPmFzeW5jLT5wa3Rz X2NtcGxfZmxhZ1tmcm9tXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zo b3N0L3ZpcnRpb19uZXQuYzo0MzY2OjM6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICd3cml0ZV9i YWNrX2NvbXBsZXRlZF9kZXNjc19zcGxpdCcgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmFj Y2Vzc19sb2NrJyBleGNsdXNpdmVseSBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNd CiAgICAgICAgICAgICAgICB3cml0ZV9iYWNrX2NvbXBsZXRlZF9kZXNjc19zcGxpdCh2cSwgbl9k ZXNjcyk7CiAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDM3NDoz OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAnd3JpdGVfYmFja19jb21wbGV0ZWRfZGVzY3Nfc3Bs aXQnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ21yX3ZxLT5hY2Nlc3NfbG9jaycgZXhjbHVzaXZl bHkgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgd3Jp dGVfYmFja19jb21wbGV0ZWRfZGVzY3Nfc3BsaXQobXJfdnEsIG1yX25fZGVzY3MpOwogICAgICAg ICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ0ODU6MzQ6IGVycm9yOiByZWFk aW5nIHZhcmlhYmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3Is LVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqYXN5 bmMgPSB2cS0+YXN5bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDYwMDo1OiBlcnJvcjogY2FsbGluZyBmdW5jdGlv biAnY29weV92bmV0X2hkcl90b19kZXNjJyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+aW90 bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvcHlfdm5ldF9oZHJfdG9fZGVzYyhkZXYsIHZxLCBidWZfdmVj LCBoZHIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3Zp cnRpb19uZXQuYzo0NjA0OjU6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICd2aG9zdF9sb2dfY2Fj aGVfd3JpdGVfaW92YScgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmlvdGxiX2xvY2snIFst V2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2aG9zdF9sb2dfY2FjaGVfd3JpdGVfaW92YShkZXYsIHZxLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NjE5OjU6IGVy cm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdjb3B5X3ZuZXRfaGRyX3RvX2Rlc2MnIHJlcXVpcmVzIGhv bGRpbmcgbXV0ZXggJ21yX3ZxLT5pb3RsYl9sb2NrJyBbLVdlcnJvciwtV3RocmVhZC1zYWZldHkt YW5hbHlzaXNdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weV92bmV0X2hkcl90 b19kZXNjKG1yX2RldiwgbXJfdnEsIG1yX2J1Zl92ZWMsIG1yX2hkcik7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2MjM6NTogZXJy b3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3Zob3N0X2xvZ19jYWNoZV93cml0ZV9pb3ZhJyByZXF1aXJl cyBob2xkaW5nIG11dGV4ICdtcl92cS0+aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJlYWQtc2Fm ZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZob3N0X2xvZ19j YWNoZV93cml0ZV9pb3ZhKG1yX2RldiwgbXJfdnEsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2Njk6MzQ6IGVycm9yOiByZWFkaW5n IHZhcmlhYmxlICdhc3luYycgcmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3IsLVd0 aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMg PSB2cS0+YXN5bmM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDY3MDo0MDogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUg J2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZl dHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICptcl9hc3luYyA9IG1yX3Zx LT5hc3luYzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0NjkyOjE2OiBlcnJvcjogY2FsbGluZyBmdW5jdGlv biAncmVzZXJ2ZV9hdmFpbF9idWZfc3BsaXQnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5p b3RsYl9sb2NrJyBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAg ICAgICBpZiAodW5saWtlbHkocmVzZXJ2ZV9hdmFpbF9idWZfc3BsaXQoZGV2LCB2cSwgcGt0X2xl biwgYnVmX3ZlYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92 aXJ0aW9fbmV0LmM6NDcwMDoxNjogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3Jlc2VydmVfYXZh aWxfYnVmX3NwbGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICdtcl92cS0+aW90bGJfbG9jaycg Wy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgaWYgKHVu bGlrZWx5KHJlc2VydmVfYXZhaWxfYnVmX3NwbGl0KG1yX2RldiwgbXJfdnEsIHBrdF9sZW4sIG1y X2J1Zl92ZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3Qvdmly dGlvX25ldC5jOjQ3MzU6MTE6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICd2aG9zdF9hc3luY19k bWFfdHJhbnNmZXInIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5hY2Nlc3NfbG9jaycgZXhj bHVzaXZlbHkgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgIG5feGZl ciA9IHZob3N0X2FzeW5jX2RtYV90cmFuc2ZlcihkZXYsIHZxLCBkbWFfaWQsIHZjaGFuX2lkLCBh c3luYy0+cGt0c19pZHgsCiAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25l dC5jOjQ4MjE6NjogZXJyb3I6IG11dGV4ICd2cS0+aW90bGJfbG9jaycgaXMgbm90IGhlbGQgb24g ZXZlcnkgcGF0aCB0aHJvdWdoIGhlcmUgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lz XQogICAgICAgIGlmIChtcl9kZXYtPmZlYXR1cmVzICYgKDFVTEwgPDwgVklSVElPX0ZfSU9NTVVf UExBVEZPUk0pKQogICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDgyMDoz OiBub3RlOiBtdXRleCBhY3F1aXJlZCBoZXJlCiAgICAgICAgICAgICAgICB2aG9zdF91c2VyX2lv dGxiX3JkX2xvY2sodnEpOwogICAgICAgICAgICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkg ZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBn ZW5lcmF0ZWQuClszOTUvMzMwM10gR2VuZXJhdGluZyBzeW1ib2wgZmlsZSBsaWIvbGlicnRlX3Nl Y3VyaXR5LnNvLjIzLjEucC9saWJydGVfc2VjdXJpdHkuc28uMjMuMS5zeW1ib2xzClszOTYvMzMw M10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3Zob3N0LmMu bwpbMzk3LzMzMDNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2lwc2VjLmEucC9pcHNl Y19zYS5jLm8KWzM5OC8zMzAzXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9pcHNlYy5h LnAvaXBzZWNfc2VzLmMubwpbMzk5LzMzMDNdIEdlbmVyYXRpbmcgc3ltYm9sIGZpbGUgbGliL2xp YnJ0ZV9zY2hlZC5zby4yMy4xLnAvbGlicnRlX3NjaGVkLnNvLjIzLjEuc3ltYm9scwpbNDAwLzMz MDNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2lwc2VjLmEucC9pcHNlY19lc3BfaW5i LmMubwpbNDAxLzMzMDNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3Zob3N0LmEucC92 aG9zdF92aG9zdF91c2VyLmMubwpbNDAyLzMzMDNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGli cnRlX2lwc2VjLmEucC9pcHNlY19lc3Bfb3V0Yi5jLm8KWzQwMy8zMzAzXSBDb21waWxpbmcgQyBv YmplY3QgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3Rfdmhvc3RfY3J5cHRvLmMubwpuaW5qYTog YnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjNToKT1M6IEZDMzctNjQKVGFyZ2V0OiB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxFRDogbGliL2xpYnJ0ZV92aG9zdC5hLnAv dmhvc3RfdmlydGlvX25ldC5jLm8gCmNsYW5nIC1JbGliL2xpYnJ0ZV92aG9zdC5hLnAgLUlsaWIg LUkuLi9saWIgLUlsaWIvdmhvc3QgLUkuLi9saWIvdmhvc3QgLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGli L2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUku Li9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1J Li4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xp Yi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9t ZXRlciAtSWxpYi9jcnlwdG9kZXYgLUkuLi9saWIvY3J5cHRvZGV2IC1JbGliL3JjdSAtSS4uL2xp Yi9yY3UgLUlsaWIvaGFzaCAtSS4uL2xpYi9oYXNoIC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLUls aWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmNvbG9yLWRpYWdub3N0aWNzIC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNs dWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3Jt YXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1X bWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlv biAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3Vu ZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLW1p c3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLURWSE9TVF9D TEFOR19VTlJPTExfUFJBR01BIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1EUlRFX0xPR19ERUZBVUxU X0xPR1RZUEU9bGliLnZob3N0IC1EUlRFX0FOTk9UQVRFX0xPQ0tTIC1XdGhyZWFkLXNhZmV0eSAt TUQgLU1RIGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vIC1NRiBsaWIv bGlicnRlX3Zob3N0LmEucC92aG9zdF92aXJ0aW9fbmV0LmMuby5kIC1vIGxpYi9saWJydGVfdmhv c3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vIC1jIC4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmMK Li4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0MjcxOjM0OiBlcnJvcjogcmVhZGluZyB2YXJpYWJs ZSAnYXN5bmMnIHJlcXVpcmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNh ZmV0eS1hbmFseXNpc10KICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKmFzeW5jID0gdnEtPmFz eW5jOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhv c3QvdmlydGlvX25ldC5jOjQzMjQ6MzQ6IGVycm9yOiByZWFkaW5nIHZhcmlhYmxlICdhc3luYycg cmVxdWlyZXMgaG9sZGluZyBhbnkgbXV0ZXggWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5 c2lzXQogICAgICAgIHN0cnVjdCB2aG9zdF9hc3luYyAqYXN5bmMgPSB2cS0+YXN5bmM7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9f bmV0LmM6NDMyNTo0MDogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUgJ2FzeW5jJyByZXF1aXJlcyBo b2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAg ICAgc3RydWN0IHZob3N0X2FzeW5jICptcl9hc3luYyA9IG1yX3ZxLT5hc3luYzsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRp b19uZXQuYzo0MzM1OjE0OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAnYXN5bmNfZ2V0X2ZpcnN0 X2luZmxpZ2h0X3BrdF9pZHgnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5hY2Nlc3NfbG9j aycgZXhjbHVzaXZlbHkgWy1XZXJyb3IsLVd0aHJlYWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAg IHN0YXJ0X2lkeCA9IGFzeW5jX2dldF9maXJzdF9pbmZsaWdodF9wa3RfaWR4KHZxKTsKICAgICAg ICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDM0NDoxMzogZXJyb3I6 IHJlYWRpbmcgdmFyaWFibGUgJ2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdl cnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgd2hpbGUgKHZxLT5hc3luYy0+ cGt0c19jbXBsX2ZsYWdbZnJvbV0gJiYgY291bnQtLSkgewogICAgICAgICAgICAgICAgICAgXgou Li9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQzNDU6NzogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUg J2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZl dHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICB2cS0+YXN5bmMtPnBrdHNfY21wbF9mbGFnW2Zy b21dID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25l dC5jOjQzNjY6MzogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3dyaXRlX2JhY2tfY29tcGxldGVk X2Rlc2NzX3NwbGl0JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+YWNjZXNzX2xvY2snIGV4 Y2x1c2l2ZWx5IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAg ICAgIHdyaXRlX2JhY2tfY29tcGxldGVkX2Rlc2NzX3NwbGl0KHZxLCBuX2Rlc2NzKTsKICAgICAg ICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0Mzc0OjM6IGVycm9yOiBjYWxs aW5nIGZ1bmN0aW9uICd3cml0ZV9iYWNrX2NvbXBsZXRlZF9kZXNjc19zcGxpdCcgcmVxdWlyZXMg aG9sZGluZyBtdXRleCAnbXJfdnEtPmFjY2Vzc19sb2NrJyBleGNsdXNpdmVseSBbLVdlcnJvciwt V3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICB3cml0ZV9iYWNrX2NvbXBs ZXRlZF9kZXNjc19zcGxpdChtcl92cSwgbXJfbl9kZXNjcyk7CiAgICAgICAgICAgICAgICBeCi4u L2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDQ4NTozNDogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUg J2FzeW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZl dHktYW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZxLT5hc3lu YzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0 L3ZpcnRpb19uZXQuYzo0NjAwOjU6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdjb3B5X3ZuZXRf aGRyX3RvX2Rlc2MnIHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ3ZxLT5pb3RsYl9sb2NrJyBbLVdl cnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29weV92bmV0X2hkcl90b19kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsIGhkcik7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2 MDQ6NTogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3Zob3N0X2xvZ19jYWNoZV93cml0ZV9pb3Zh JyByZXF1aXJlcyBob2xkaW5nIG11dGV4ICd2cS0+aW90bGJfbG9jaycgWy1XZXJyb3IsLVd0aHJl YWQtc2FmZXR5LWFuYWx5c2lzXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZob3N0 X2xvZ19jYWNoZV93cml0ZV9pb3ZhKGRldiwgdnEsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9saWIvdmhvc3QvdmlydGlvX25ldC5jOjQ2MTk6NTogZXJyb3I6IGNhbGxpbmcg ZnVuY3Rpb24gJ2NvcHlfdm5ldF9oZHJfdG9fZGVzYycgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAn bXJfdnEtPmlvdGxiX2xvY2snIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3ZuZXRfaGRyX3RvX2Rlc2MobXJfZGV2 LCBtcl92cSwgbXJfYnVmX3ZlYywgbXJfaGRyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDYyMzo1OiBlcnJvcjogY2FsbGluZyBm dW5jdGlvbiAndmhvc3RfbG9nX2NhY2hlX3dyaXRlX2lvdmEnIHJlcXVpcmVzIGhvbGRpbmcgbXV0 ZXggJ21yX3ZxLT5pb3RsYl9sb2NrJyBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNd CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmhvc3RfbG9nX2NhY2hlX3dyaXRlX2lv dmEobXJfZGV2LCBtcl92cSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi92aG9zdC92aXJ0aW9fbmV0LmM6NDY2OTozNDogZXJyb3I6IHJlYWRpbmcgdmFyaWFibGUgJ2Fz eW5jJyByZXF1aXJlcyBob2xkaW5nIGFueSBtdXRleCBbLVdlcnJvciwtV3RocmVhZC1zYWZldHkt YW5hbHlzaXNdCiAgICAgICAgc3RydWN0IHZob3N0X2FzeW5jICphc3luYyA9IHZxLT5hc3luYzsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3Zp cnRpb19uZXQuYzo0NjcwOjQwOiBlcnJvcjogcmVhZGluZyB2YXJpYWJsZSAnYXN5bmMnIHJlcXVp cmVzIGhvbGRpbmcgYW55IG11dGV4IFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10K ICAgICAgICBzdHJ1Y3Qgdmhvc3RfYXN5bmMgKm1yX2FzeW5jID0gbXJfdnEtPmFzeW5jOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvdmhvc3Qv dmlydGlvX25ldC5jOjQ2OTI6MTY6IGVycm9yOiBjYWxsaW5nIGZ1bmN0aW9uICdyZXNlcnZlX2F2 YWlsX2J1Zl9zcGxpdCcgcmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmlvdGxiX2xvY2snIFst V2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgICAgICAgICAgICAgIGlmICh1bmxp a2VseShyZXNlcnZlX2F2YWlsX2J1Zl9zcGxpdChkZXYsIHZxLCBwa3RfbGVuLCBidWZfdmVjLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0 NzAwOjE2OiBlcnJvcjogY2FsbGluZyBmdW5jdGlvbiAncmVzZXJ2ZV9hdmFpbF9idWZfc3BsaXQn IHJlcXVpcmVzIGhvbGRpbmcgbXV0ZXggJ21yX3ZxLT5pb3RsYl9sb2NrJyBbLVdlcnJvciwtV3Ro cmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkocmVzZXJ2 ZV9hdmFpbF9idWZfc3BsaXQobXJfZGV2LCBtcl92cSwgcGt0X2xlbiwgbXJfYnVmX3ZlYywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDcz NToxMTogZXJyb3I6IGNhbGxpbmcgZnVuY3Rpb24gJ3Zob3N0X2FzeW5jX2RtYV90cmFuc2Zlcicg cmVxdWlyZXMgaG9sZGluZyBtdXRleCAndnEtPmFjY2Vzc19sb2NrJyBleGNsdXNpdmVseSBbLVdl cnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgbl94ZmVyID0gdmhvc3RfYXN5 bmNfZG1hX3RyYW5zZmVyKGRldiwgdnEsIGRtYV9pZCwgdmNoYW5faWQsIGFzeW5jLT5wa3RzX2lk eCwKICAgICAgICAgICAgICAgICBeCi4uL2xpYi92aG9zdC92aXJ0aW9fbmV0LmM6NDgyMTo2OiBl cnJvcjogbXV0ZXggJ3ZxLT5pb3RsYl9sb2NrJyBpcyBub3QgaGVsZCBvbiBldmVyeSBwYXRoIHRo cm91Z2ggaGVyZSBbLVdlcnJvciwtV3RocmVhZC1zYWZldHktYW5hbHlzaXNdCiAgICAgICAgaWYg KG1yX2Rldi0+ZmVhdHVyZXMgJiAoMVVMTCA8PCBWSVJUSU9fRl9JT01NVV9QTEFURk9STSkpCiAg ICAgICAgICAgIF4KLi4vbGliL3Zob3N0L3ZpcnRpb19uZXQuYzo0ODIwOjM6IG5vdGU6IG11dGV4 IGFjcXVpcmVkIGhlcmUKICAgICAgICAgICAgICAgIHZob3N0X3VzZXJfaW90bGJfcmRfbG9jayh2 cSk7CiAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRl ZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KWzMy Ni8zMjU3XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3Rfdmhv c3QuYy5vClszMjcvMzI1N10gR2VuZXJhdGluZyBsaWIvc2VjdXJpdHkuc3ltX2NoayB3aXRoIGEg Y3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClszMjgv MzI1N10gR2VuZXJhdGluZyBzeW1ib2wgZmlsZSBsaWIvbGlicnRlX2VhbC5zby4yMy4xLnAvbGli cnRlX2VhbC5zby4yMy4xLnN5bWJvbHMKWzMyOS8zMjU3XSBHZW5lcmF0aW5nIGxpYi9zY2hlZC5z eW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJl IG91dHB1dCkKWzMzMC8zMjU3XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92aG9zdC5h LnAvdmhvc3Rfdmhvc3RfdXNlci5jLm8KWzMzMS8zMjU3XSBDb21waWxpbmcgQyBvYmplY3QgbGli L2xpYnJ0ZV9pcHNlYy5hLnAvaXBzZWNfZXNwX2luYi5jLm8KWzMzMi8zMjU3XSBDb21waWxpbmcg QyBvYmplY3QgbGliL2xpYnJ0ZV9pcHNlYy5hLnAvaXBzZWNfZXNwX291dGIuYy5vClszMzMvMzI1 N10gR2VuZXJhdGluZyBsaWIvbWxkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdy YXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClszMzQvMzI1N10gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3Zob3N0X2NyeXB0by5jLm8KbmluamE6 IGJ1aWxkIHN0b3BwZWQKCgpEUERLIFNUViB0ZWFtCg== --===============8343103312560074048==--