From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 0BC6D69D4 for ; Thu, 23 Mar 2017 17:47:08 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP; 23 Mar 2017 09:47:07 -0700 Message-Id: Date: 23 Mar 2017 09:47:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,210,1486454400"; d="scan'208";a="64181338" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 23 Mar 2017 09:47:04 -0700 Content-Type: multipart/alternative; boundary="===============5308957413773157597==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw22150 [PATCH v3 3/5] net/i40e: add get all loaded profiles X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Mar 2017 16:47:10 -0000 --===============5308957413773157597== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yMjE1MAoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogVGh1LCAyMyBNYXIgMjAx NyAxODowMjoyOCArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLCBCcmFuY2g6bWFz dGVyLCBDb21taXRJRDo4NGFhYzk3YjQ5OTk0YmU2YjQ2MWI0NmJlMTYwYjQ3OTM4ZTY5N2IzCgpQ YXRjaDIyMTQ4LTIyMTUwIC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6IDE4IEJ1aWxk cyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmlyb25tZW50IGFuZCBj b25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVsIFZlcnNpb246 My4xMC4wLTUxNC4xMC4yLmVsNy54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikg Q1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNC44LjUg MjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNCkKICAgIENsYW5nIFZlcnNpb246My40LjIKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZApPUzogRnJlZUJTRDEwLjNfNjQKICAg IEtlcm5lbCBWZXJzaW9uOjEwLjMtUkVMRUFTRQogICAgQ1BVIGluZm86IEludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0Ljk3LU1IeiBLOC1jbGFzcyBDUFUpCiAg ICBHQ0MgVmVyc2lvbjpnY2MgKEZyZWVCU0QgUG9ydHMgQ29sbGVjdGlvbikgNC44LjUKICAgIENs YW5nIFZlcnNpb246My40LjEKICAgIHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCiAgICB4ODZf NjQtbmF0aXZlLWJzZGFwcC1nY2MKT1M6IEZDMjRfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuOS4x My0xMDAuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2 OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5MTYg KFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLWRlYnVnCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1z aGFyZWQKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IFVCMTYwNF82NAogICAg S2VybmVsIFZlcnNpb246NC40LjAtNjQtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikgWGVv bihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1bnR1 IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJzaW9u OjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJzaW9u OjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIp IENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQuOC41 IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAgICBp Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcK ICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKCkZhaWxlZCBCdWlsZCAjMToKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiBpNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MKXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjIxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZlcnNp b24sICZwLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MzQ6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVt Y21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNp b27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMDU6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUsCiAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNTozMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAm cC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4OiBl cnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzQwOjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYg KHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg 4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9z ZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwog ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIpIHsK ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6 NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdt ZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo2MzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0cmFja19pZCA9ICgoc3Ry dWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0g aTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAg c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzc4OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhz aXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KA mQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4ODo1NzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6Mzog ZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3JpdGVfcHJv ZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgc3RhdHVz ID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MzogZXJyb3I6IG5lc3Rl ZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9y PW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdt ZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDY6NTc6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgJigoc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+dmVyc2lvbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6 IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDM6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTMwMzozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lv biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQw ZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToyMTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAo JnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1 OjMxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICAgIW1lbWNtcCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBf TkFNRV9TSVpFKSkgewogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBl X3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFj a2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9tZXRhZGF0YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2df aGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVu dF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog IG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRf VFlQRV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVj bGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1u ZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRB REFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0 YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVU QURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHRyYWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0 YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDi gJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNF R01FTlRfVFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBl X3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzg4OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog ICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkcikt PnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBl X3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAg KChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTQwNjo1NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3Nl Z19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJy b3JzCgoKRmFpbGVkIEJ1aWxkICMzOgpPUzogUkhFTDcuMl82NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjIxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZl cnNpb24sICZwLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MzQ6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAh bWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3Zl cnNpb27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDU6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUs CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNTozMTogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1l LCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4 OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzQwOjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAg aWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0 YV9zZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkg KwogICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIp IHsKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJv cj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmlu ZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz NjA6NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo2MzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0cmFja19pZCA9ICgo c3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19p ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRy ID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3Nzox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAg ICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzc4OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m b+KAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQg Kilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4ODo1NzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6 MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3JpdGVf cHJvZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgc3Rh dHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MzogZXJyb3I6IG5l c3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vy cm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDY6NTc6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgJigoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+dmVyc2lvbiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjNDoK T1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjMzOiBlcnJvcjogYXJyYXkgaGFz IGluY29tcGxldGUgZWxlbWVudCB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIwOjUxOiBlcnJv cjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJyB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCmk0 MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ dGJsX3NpemUgPSAxOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAg IHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyOTo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRh X2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAg ICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2Vj LT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjMwOjM6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29t cGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgc2l6 ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMxOjU6IGVycm9y OiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZP OwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIzMToyMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NFQ1RJT05f VFlQRV9JTkZPJwogICAgICAgIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzI6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIn CiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjI0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy ICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjMzOjIyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9m JyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAg ICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf cHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07 CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNToxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5p dGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0 KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+XgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgIH5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM3OjE0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkocGluZm8tPm5hbWUs IG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM4OjE1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkoJnBpbmZvLT52ZXJz aW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAg ICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv IHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjQwOjg6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg ICAgICAgICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAg ICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2lu Zm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDoxNTogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ0k0MEVfUFBQX0FERF9UUkFDS0lEJwogICAgICAgICAgICAgICAg cGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyNDI6ODogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgICAgICAgICBwaW5mby0+b3AgPSBJ NDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsKICAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8n CiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAg ICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBb LWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQuCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9y IHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNp cGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiBy ZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3Rh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTA0OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxk ICM1OgpPUzogRnJlZUJTRDEwLjNfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MK XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzAzOjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZlcnNpb24sICZwLT52ZXJzaW9uLAogICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MzQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwg JnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxl dGUgdHlwZSAnc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24nCiAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3BwcF92ZXJzaW9uKSkgJiYKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1OjIxOiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNt cCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDU6MzE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDY6ODogZXJyb3I6ICdJNDBFX1BQUF9OQU1FX1NJWkUnIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05B TUVfU0laRSkpIHsKICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdydGVfcG1kX2k0MGVfcHJv Y2Vzc19wcHBfcGFja2FnZSc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0 aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcGFja2FnZV9o ZWFkZXInCiAgaWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9tZXRh ZGF0YV9zZWdtZW50JwogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQp ICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAy KSB7CiAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlJyBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdpNDBlX2ZpbmRfc2Vn bWVudF9pbl9wYWNrYWdlJyBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDog ZXJyb3I6ICdTRUdNRU5UX1RZUEVfTUVUQURBVEEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9w YWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBl X21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdfaGRyKS0+dHJhY2tfaWQ7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM2OTo0OTogZXJyb3I6ICdTRUdNRU5UX1RZUEVfSTQwRScgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3Nl Z21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3ODox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0 eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzg4OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hk ciktPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ2k0MGVfd3JpdGVfcHJvZmlsZScgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzk4OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdpNDBlX3dy aXRlX3Byb2ZpbGUnIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTE0MDY6NTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICAgJigoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRy KS0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJl Lm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFy Z2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZv ciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZh aWxlZAoKCkZhaWxlZCBCdWlsZCAjNjoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1kZWJ1ZwoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6MDoKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu aDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8g cF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMDo1 MTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9f c2VjKGNoYXIgKm5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uICp2ZXJzaW9uLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlY+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIyODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT50 Ymxfc2l6ZSA9IDE7CiAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOToyNTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkK ICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICBefn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIzMToyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9U WVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjMxOjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjMxOiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPnNlY3Rpb24u b2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6Mjk6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yo c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzNjo3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBwaW5mby0+dHJhY2tf aWQgPSB0cmFja19pZDsKICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzc6Mjg6IGVycm9yOiDigJhJNDBFX1BQ UF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg bWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzg6NDI6IGVycm9y OiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICBtZW1jcHkoJnBpbmZvLT52ZXJzaW9uLCB2 ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDA6MTU6IGVycm9yOiDi gJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDI6MTU6IGVycm9yOiDigJhJNDBFX1BQ UF9SRU1PVkVfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfYWRkX3Jt X3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NToxMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50cmFja19pZDsKICAgICAgICAg IF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyNTc6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNl Yy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NzoyOiBl cnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX3dyaXRlX3BwcOKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcCho dywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5Ojg6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICByZXQgPSBpNDBlX2FxX2dl dF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyODk6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQw ZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgcmV0ID0gaTQw ZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICBefn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5OToxNjog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAgICAgICAg ICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCY c2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKA mQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBf TkFNRV9TSVpFKSkgewogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlv biDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKAmToKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MDoyMTog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChzaXplIDwgKHNpemVv ZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICBefn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwogICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChw a2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoy MTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VH TUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRp b24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2Fn ZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjUw OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVu dF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM2Njo2MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogIHRyYWNrX2lkID0gKChzdHJ1Y3Qg aTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEzNzc6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKA mQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc4OjE4OiBlcnJvcjogaW52YWxpZCBh cHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pLAogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MTI6IGVycm9yOiBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9 aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJv ZmlsZShodywKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MzogZXJy b3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUo aHcsCiAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAg ICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5h bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp NDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNpcGUgZm9yIHRhcmdldCAnZHJp dmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9v dC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpG YWlsZWQgQnVpbGQgIzc6Ck9TOiBGQzI0XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAt Z2NjCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjog YXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjA6NTE6IGVycm9yOiDigJhzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5j dGlvbiDigJhpNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAg IF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMjk6MjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6 MTA6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9y OiDigJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMToyMjogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjozMTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzY6 NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAg ICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFt ZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM4OjQyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Bw cF92ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0 cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjQwOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RS QUNLSUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZv LT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjQyOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9 IEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyNTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNl Yy0+c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU3OjEx OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0 ZV9wcHDigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVz ID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6MjogZXJyb3I6IG5lc3RlZCBleHRl cm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJyb3I9bmVzdGVk LWV4dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBz ZWMtPmRhdGFfZW5kLAogIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3By b2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4OTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYaTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2 b2lkICopYnVmZiwKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5OjI6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN0 4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0 KGh3LCAodm9pZCAqKWJ1ZmYsCiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyOTk6MTY6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcikpOwogICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTMwNjo4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBl X3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFj a2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hkci0+c2VnbWVudF9j b3VudCA8IDIpIHsKICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl 4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3Nl Z19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFU QSwKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmlu ZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRh dGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01F VEFEQVRBLAogIF5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01F TlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdN RU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21l dGFkYXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2Vn bWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2OTo0 OTogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2lu X3BhY2thZ2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXpl b2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAg ICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCY c2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/i gJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAg ICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQog ICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+ bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJu IGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBefn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTQwNTo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdl dCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9y IHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiByZWNpcGUg Zm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA0 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM4OgpP UzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMg aW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAg c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjA6NTE6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVy c2lvbuKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIGk0 MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2dl bmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAgIF5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6 MjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+ ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwog ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6MTA6IGVycm9yOiBpbnZh bGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8pOwogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiDigJhTRUNUSU9OX1RZ UEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzZWMt PnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMToyMjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh cnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzMjozMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjMzOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHNl Yy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzY6NzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAgICAgICBefgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9Q UFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM4OjQyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXpl b2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAg bWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92 ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjQwOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RSQUNLSUTigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQ X0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjQyOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX1JFTU9W RV9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJ biBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTU6MTA6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNlYy0+c2VjdGlvbi5vZmZz ZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU3OjExOiBlcnJvcjogaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJy b3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVzID0gaTQwZV9hcV93cml0 ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNTc6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24g b2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgc3Rh dHVzID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAog IF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3Byb2ZpbGVfaW5mb+KAmToK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTI4OTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCY aTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5OjI6IGVycm9yOiBuZXN0ZWQgZXh0 ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFstV2Vycm9yPW5l c3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3LCAodm9pZCAqKWJ1 ZmYsCiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyOTk6MTY6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9u X2hlYWRlcikpOwogICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBw X3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4OiBlcnJvcjog 4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3Bh Y2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFk ZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsK ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6IGVycm9yOiBpbnZhbGlk IGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFk YXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIpIHsKICAg ICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWlt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3Bh Y2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0 MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogIF5+fn5+ fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFU QeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9z ZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURB VEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTi gJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRh X3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2OTo0OTogZXJyb3I6IOKAmFNF R01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVO VF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJvcjogaW52YWxpZCBhcHBs aWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICAgICAgICAgICBz aXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAgICAgICAgICAgXn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAgICgoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93 cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog ICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzk4OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9m IOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgc3Rh dHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwNTo1NjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21l bnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5h bC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYu bycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo4 MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiByZWNpcGUgZm9yIHRhcmdldCAnYWxs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxs Lm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA0OiByZWNpcGUgZm9yIHRh cmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzogRkMyNF82NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjI6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBs ZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyMDo1MTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogaTQwZV9nZW5l cmF0ZV9wcm9maWxlX2luZm9fc2VjKGNoYXIgKm5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u ICp2ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVf cHJvZmlsZV9pbmZvX3NlY+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6ZSA9IDE7CiAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOToyNTogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5kYXRhX2Vu ZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm/igJkKICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAg ICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMToyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlv bi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjMxOjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjMyOjMxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLi gJkKICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMzM6Mjk6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBp bmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc2VjLT5zZWN0 aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNjo3OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/i gJkKICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsKICAgICAgIF5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzc6Mjg6 IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1F X1NJWkUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEyMzg6NDI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICBtZW1jcHko JnBpbmZvLT52ZXJzaW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24p KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyNDA6MTU6IGVycm9yOiDigJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RS QUNLSUQ7CiAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDI6MTU6 IGVycm9yOiDigJhJNDBFX1BQUF9SRU1PVkVfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfUkVNT1ZFX1RSQUNL SUQ7CiAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmGk0MGVfYWRkX3JtX3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NToxMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50 cmFja19pZDsKICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNs YXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBs aWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcCho dywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTI1NzoyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhp NDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBzdGF0dXMgPSBp NDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgXn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mjg5Ojg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2Fx X2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyODk6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVj bGFyYXRpb24gb2Yg4oCYaTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9bmVzdGVkLWV4 dGVybnNdCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICBe fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTI5OToxNjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVy4oCZCiAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy KSk7CiAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bikpICYmCiAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBF X1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MDoyMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQog IGlmIChzaXplIDwgKHNpemVvZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9t ZXRhZGF0YV9zZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2Vn bWVudCkgKwogICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdl X2hlYWRlcuKAmQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAg ICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM2MDoyMTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdt ZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3Rl ZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMzYwOjUwOiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIg PSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo2MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogIHRy YWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hk ciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9U WVBFX0k0MEXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJv ZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVf STQwRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzc6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc4OjE4 OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNpemVvZihz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM4Nzo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MTI6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3By b2ZpbGXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1 cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzOTg6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQw ZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBzdGF0dXMgPSBp NDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXBy b2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5j b21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNp cGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp bnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEwOgpPUzogRkMyNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2Lmg6NzM0OjMzOiBlcnJvcjogYXJyYXkgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlICdz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv IHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5o OjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjIwOjUxOiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3BwcF92ZXJzaW9uJyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5j dGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCmk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3Nl YyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6NTog ZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+dGJsX3NpemUgPSAxOwogICAgICAgIH5+fl4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOTo1OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVM TDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9o ZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0g TlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjM6IGVycm9yOiBpbnZhbGlkIGFwcGxp Y2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5o OjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjMxOjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2Yg dHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNl Y3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNl YyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMToyMjogZXJyb3I6IHVzZSBvZiB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NFQ1RJT05fVFlQRV9JTkZPJwogICAgICAgIHNlYy0+c2Vj dGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMzI6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5v ZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAg ICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMy OjI0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2Vj LT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMzM6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5z aXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgfn5+XgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjIyOiBlcnJvcjog aW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVv ZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2Fy ZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz NToxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAg c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlw ZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHBpbmZvLT50cmFja19pZCA9IHRy YWNrX2lkOwogICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3OjE0OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m bycKICAgICAgICBtZW1jcHkocGluZm8tPm5hbWUsIG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7 CiAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3OjI4OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSTQwRV9QUFBfTkFNRV9TSVpFJwogICAg ICAgIG1lbWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzODoxNTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3Bw cF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9y d2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIzODozNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5j b21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbicKICAgICAgICBtZW1jcHkoJnBp bmZvLT52ZXJzaW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjA6NTE6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJwppNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19z ZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24gKnZlcnNpb24sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjQwOjg6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZvJwogICAgICAgICAgICAgICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7 CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBt YW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJv cnMgZ2VuZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwv cnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8n IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2 MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5t azo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJn ZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTE6Ck9TOiBVQjE2MDRfNjQKVGFy Z2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjI6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuaDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1l bnQgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3QgaTQwZV9wcm9m aWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICAgYm9vbCBhZGQpCiAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjIyOjExOiBlcnJvcjogaXRzIHNjb3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCBb LVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9f c2Vj4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBz ZWMtPnRibF9zaXplID0gMTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6MjU6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjMwOjEwOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXpl b2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQog ICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz MToyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lO Rk87CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IG5vdGU6IGVhY2ggdW5k ZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlv biBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzI6MzE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMzM6Mjk6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNp emVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZ CiAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzY6NzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy Mzc6Mjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQ UF9OQU1FX1NJWkUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM4OjQy OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVy c2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDoxNTogZXJyb3I6 IOKAmEk0MEVfUFBQX0FERF9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9BRERfVFJBQ0tJRDsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjQyOjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9 IEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmGk0MGVfYWRkX3JtX3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NToxMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50 cmFja19pZDsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NzoxMTogZXJyb3I6IGltcGxpY2l0IGRlY2xh cmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3 LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6Mjog ZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDi gJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAo aHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCY aTQwZV9jaGVja19wcm9maWxlX2luZm/igJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyODk6ODogZXJyb3I6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHJldCA9IGk0MGVfYXFfZ2V0X3Bw cF9saXN0KGh3LCAodm9pZCAqKWJ1ZmYsCiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5OjI6IGVycm9yOiBu ZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFst V2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3LCAo dm9pZCAqKWJ1ZmYsCiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjk5OjE2OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXIpKTsKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9w cHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNjo4OiBlcnJvcjog4oCY STQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQw OjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYgKHNpemUgPCAo c2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MToxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwogICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM1NDoxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hk ci0+c2VnbWVudF9jb3VudCA8IDIpIHsKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDoyMTogZXJy b3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfZmluZF9zZWdtZW50 X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg bWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9U WVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6 IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFj a2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzYwOjUwOiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NjM6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRh dGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzY5OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21l bnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NzoxODogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzc4OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzODc6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAgICgoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTg6MTI6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3By b2ZpbGXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1 cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjM6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxl KGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAg ICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNp cGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYx OiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6 MTI5OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJl X2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a3Jvb3QubWs6MTA0OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVk IEJ1aWxkICMxMjoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjog YXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIyOjExOiBlcnJvcjog4oCYc3RydWN0IGk0 MGVfcHBwX3ZlcnNpb27igJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9y XQogICAgICAgICAgIGJvb2wgYWRkKQogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMjoxMTogZXJyb3I6 IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2gg aXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlY+KAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODo1OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6ZSA9IDE7CiAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjI5OjI1OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLi gJkKICBzZWMtPmRhdGFfZW5kID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9o ZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiDigJhTRUNUSU9OX1RZ UEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzZWMt PnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjMxOjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMy OjMxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMt PnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6 ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM2Ojc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHBpbmZvLT50cmFja19p ZCA9IHRyYWNrX2lkOwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBf TkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1l bWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzODo0MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbuKAmQogIG1lbWNweSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNDA6MTU6IGVycm9yOiDigJhJNDBFX1BQUF9BRERfVFJBQ0tJROKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0g STQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MjoxNTogZXJy b3I6IOKAmEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxl X2luZm/igJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkK ICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyNTc6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBl X2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9l bmQsCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xh cmF0aW9uIG9mIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5z XQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3LCAodm9pZCAqKXNlYywgc2VjLT5kYXRh X2VuZCwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjg5Ojg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi gJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAog ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTI4OToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBy ZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5 OToxNjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAg ICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27i gJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEzMDY6ODogZXJyb3I6IOKAmEk0MEVfUFBQX05BTUVfU0laReKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICBJNDBFX1BQUF9OQU1F X1NJWkUpKSB7CiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfcG1kX2k0MGVfcHJv Y2Vzc19wcHBfcGFja2FnZeKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM0MDoyMTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w YWNrYWdlX2hlYWRlcuKAmQogIGlmIChzaXplIDwgKHNpemVvZihzdHJ1Y3QgaTQwZV9wYWNrYWdl X2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBl X21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAyKSB7CiAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWlt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9u IG9mIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4 dGVybnNdCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2Uo U0VHTUVOVF9UWVBFX01FVEFEQVRBLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01F TlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdN RU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZCiAg dHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdf aGRyKS0+dHJhY2tfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2OTo0OTogZXJyb3I6IOKAmFNFR01FTlRf VFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHBy b2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBF X0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzNzc6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKA mSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cuKAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy KSArCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm/igJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZvKSwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg3OjU2OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Z21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVf c2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcs CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJh dGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNd CiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vn bWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJu YWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2 Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5t azo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6 ODE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2Fs bCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFs bC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0 YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTM6Ck9TOiBVQjE2MDRfNjQK VGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5j b21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjIyOjExOiBlcnJvcjog4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogICAgICAgICAgIGJvb2wg YWRkKQogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMjoxMTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5 IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdo YXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVf cHJvZmlsZV9pbmZvX3NlY+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6ZSA9IDE7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjI1OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPmRhdGFfZW5k ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDoxMDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9m aWxlX2luZm/igJkKICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiDigJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNF Q1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMxOjIyOiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjMxOiBlcnJvcjogaW52YWxp ZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0g c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3By b2ZpbGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM2Ojc6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM3OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFtZSwg bmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIzODo0MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZ IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogIG1lbWNw eSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bikpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy NDA6MTU6IGVycm9yOiDigJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNL SUQ7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MjoxNTogZXJyb3I6IOKAmEk0MEVfUFBQX1JF TU9WRV9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICBwaW5mby0+b3AgPSBJNDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsKICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy NTU6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNlYy0+c2VjdGlv bi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTc6MTE6IGVycm9yOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2Fx X3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVf YXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHN0YXR1cyA9IGk0MGVf YXFfd3JpdGVfcHBwKGh3LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IElu IGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg5Ojg6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX2dldF9wcHBf bGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICByZXQgPSBp NDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4 OToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX2dldF9w cHBfbGlzdOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICByZXQgPSBpNDBlX2FxX2dldF9w cHBfbGlzdChodywgKHZvaWQgKilidWZmLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5OToxNjogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDQ6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDY6 ODogZXJyb3I6IOKAmEk0MEVfUFBQX05BTUVfU0laReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgICAgICBJNDBFX1BQUF9OQU1FX1NJWkUpKSB7CiAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM0MDoyMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQog IGlmIChzaXplIDwgKHNpemVvZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDE6MTQ6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRh dGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQp ICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTQ6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZ CiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAyKSB7CiAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzNjA6MjE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRl Y2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNr YWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRhdGFf c2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFE QVRBLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdf aGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZCiAgdHJhY2tfaWQgPSAoKHN0cnVj dCBpNDBlX21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdfaGRyKS0+dHJhY2tfaWQ7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM2OTo0OTogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0 MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzc6MTg6IGVy cm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM3ODoxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkK ICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzg3OjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAo KHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzk4OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCY aTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dy aXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIHN0YXR1cyA9IGk0MGVf d3JpdGVfcHJvZmlsZShodywKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDA1OjU2OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21l bnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2Vn X2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJl Lm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFy Z2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZv ciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZh aWxlZAoKCkZhaWxlZCBCdWlsZCAjMTQ6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWNsYW5nCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDozMzogZXJyb3I6IGFycmF5IGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSAnc3RydWN0IGk0 MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9b MV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIyMDo1MTogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbicgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1X ZXJyb3IsLVd2aXNpYmlsaXR5XQppNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAq bmFtZSwgc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9u X2hlYWRlcicKICAgICAgICBzZWMtPnRibF9zaXplID0gMTsKICAgICAgICB+fn5eCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy ICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcikgKwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAg ICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTIyOToxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg J3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyJwogICAgICAgIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDozOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m bycKICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAg ICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIzMTo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLnR5 cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsKICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxM OwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzE6MjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdTRUNUSU9OX1RZUEVfSU5GTycKICAgICAgICBzZWMtPnNlY3Rpb24udHlw ZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjMyOjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0g c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgIH5+fl4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjoyNDogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlv bi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMjI0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjMzOjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNl YyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMzoyMjogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm8nCiAgICAgICAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9w cm9maWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzU6MTQ6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VjLT5zZWN0aW9uLm9mZnNldCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIzNjo3OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsK ICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzoxNDogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAg ICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzoyODogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0k0MEVfUFBQX05BTUVfU0laRScKICAgICAgICBtZW1j cHkocGluZm8tPm5hbWUsIG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzg6MTU6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIG1lbWNw eSgmcGluZm8tPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bikpOwogICAgICAgICAgICAgICAgfn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzg6MzU6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUg dHlwZSAnc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVy c2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjIwOjUxOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbicKaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9fc2VjKGNoYXIg Km5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uICp2ZXJzaW9uLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDo4OiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycK ICAgICAgICAgICAgICAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAg ICAgICAgICAgfn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJv cnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVy YXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNpcGUg Zm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2Rrcm9vdC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0 YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MjE6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVy c2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzozNDog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFt ZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVy c2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwK ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1OjMxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5hbWUs ICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6 IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKA mSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBp ZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRh X3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50KSAr CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikg ewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9y PWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2 MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3Nl Z21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0gKChz dHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lk OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19oZHIg PSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4 OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAg ICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv 4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAq KXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg4OjU3OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODoz OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9w cm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0 dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVz dGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJy b3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Z21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwNjo1NzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTog YWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxNjoK T1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDozMzogZXJyb3I6IGFycmF5IGhhcyBp bmNvbXBsZXRlIGVsZW1lbnQgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg IHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMDo1MTogZXJyb3I6 IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbicgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQppNDBl X2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3Zl cnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2Yg dHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnRi bF9zaXplID0gMTsKICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMjk6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ZGF0YV9l bmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg IH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOTox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0 ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwog ICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz MDozOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICAgICAgICAgIHNpemVv ZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMTo1OiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLnR5cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsK ICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMzE6MjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdTRUNUSU9OX1RZ UEVfSU5GTycKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMyOjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjoyNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Y3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI0 Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAq c2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIzMzoyMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicg dG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAg c2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwog ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzU6MTQ6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRp b24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIyNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNjo3OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAg ICAgICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsKICAgICAgICB+fn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzNzoxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KHBpbmZvLT5uYW1lLCBu YW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzODoxNTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVyc2lv biwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAg ICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBw X2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI0MDo4OiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICAg ICAgICAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICAg fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8gcF9pbmZv WzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNDA6MTU6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdJNDBFX1BQUF9BRERfVFJBQ0tJRCcKICAgICAgICAgICAgICAgIHBp bmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjQyOjg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgcGluZm8tPm9wID0gSTQw RV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1m ZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgoKCkZhaWxlZCBCdWlsZCAjMTc6Ck9T OiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgpe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzMDM6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAm cC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMw NDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToy MTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzA1OjMxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1F X1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAg STQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRl X3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0 IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQx OjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVv ZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzYwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh cmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl KFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBl eHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBb LVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRf VFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5U X1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdt ZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6 IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9w YWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1 NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzg4OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVf c2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUo aHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIp LT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTQwNjo1NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxODoKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6MjE6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+ dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzoz NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNDoxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwNToyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFt ZSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA1OjMxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5h bWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzA2 Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2Xi gJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEzNDA6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkK ICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzQxOjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFk YXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50 KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwg MikgewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYwOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBp NDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEzNjA6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM2MDo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjYzOiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0g KChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNr X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjk6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19o ZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc3 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAg ICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNzg6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4Nzo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVu dCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg4OjU3OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5 ODozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0 ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBz dGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5ODozOiBlcnJvcjog bmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1X ZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDU6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwNjo1NzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNj MTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRFBESyBTVFYgdGVhbQo= --===============5308957413773157597==--