From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 9F4182B9C for ; Fri, 30 Dec 2016 06:10:40 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP; 29 Dec 2016 21:10:39 -0800 Message-Id: <9ddf0d$10ulkij@fmsmga002.fm.intel.com> Date: 29 Dec 2016 21:10:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,428,1477983600"; d="scan'208";a="1105908307" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by fmsmga002.fm.intel.com with ESMTP; 29 Dec 2016 21:10:38 -0800 Content-Type: multipart/alternative; boundary="===============2854352707606926113==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw18702 [PATCH v4 07/17] net/i40e: add flow validate function 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: Fri, 30 Dec 2016 05:10:42 -0000 --===============2854352707606926113== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwgY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xODcwMgoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogRnJpLCAzMCBEZWMgMjAx NiAxMToyNTo0NCArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5leHQtbmV0LCBC cmFuY2g6bWFzdGVyLCBDb21taXRJRDpiN2YyMTViYmUzZjQ2NDJmZmZmMmZhN2VjM2E2MTgwNmYx ZTRkNWUzCgpQYXRjaDE4Njk2LTE4NzAyIC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6 IDE4IEJ1aWxkcyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmlyb25t ZW50IGFuZCBjb25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVs IFZlcnNpb246My4xMC4wLTMyNy5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9u KFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQu OC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAg ICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKT1M6IEZyZWVCU0QxMC4zXzY0 CiAgICBLZXJuZWwgVmVyc2lvbjoxMC4zLVJFTEVBU0UKICAgIENQVSBpbmZvOiBJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIeiAoMjE5NC45Ny1NSHogSzgtY2xhc3MgQ1BV KQogICAgR0NDIFZlcnNpb246Z2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDQuOC41CiAg ICBDbGFuZyBWZXJzaW9uOjMuNC4xCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwogICAg eDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCk9TOiBGQzI0XzY0CiAgICBLZXJuZWwgVmVyc2lvbjo0 LjguNi0yMDEuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1 LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5 MTYgKFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNo YXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcKT1M6IFVCMTYwNF82NAog ICAgS2VybmVsIFZlcnNpb246NC40LjAtNTMtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikg WGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1 bnR1IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJz aW9uOjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJz aW9uOjMuMTAuMC0zMjcuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihSKSBD UFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0NDKSA0LjguNSAy MDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQuMgogICAgaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCiAg ICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjCgpGYWlsZWQgQnVpbGQgIzE6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmlu aXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTM0ODo2OiBlcnJvcjog4oCYdHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkK ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjEzNDg6Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzUzOjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVs ZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTk6NjogZXJyb3I6IOKAmGZk aXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAo ZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNjQ6MTA6IGVycm9yOiDigJhwX2Zk aXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChw X2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAg XgoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzQ4OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1Mzox MDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1 bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU5OjY6IGVycm9yOiDigJhmZGlyX2lu Zm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJf aW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzY0OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGly ID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KCgpG YWlsZWQgQnVpbGQgIzM6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkCgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml0 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMzQ4OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1 MzoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUt PnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU5OjY6IGVycm9yOiDigJhmZGly X2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZk aXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzY0OjEwOiBlcnJvcjog4oCYcF9mZGly 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9m ZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4K CgpGYWlsZWQgQnVpbGQgIzQ6Ck9TOiBGcmVlQlNEMTAuM182NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtYnNkYXBwLWNsYW5nCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0ODo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRl bnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkK ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEzNDk6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHR1bm5lbF9ydWxl LT5oYXNoX21hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1MDo2OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgaWYg KHR1bm5lbF9ydWxlLT5oYXNoX3RhYmxlKQogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1MToxNzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAg ICAgICAgcnRlX2hhc2hfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF90YWJsZSk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzUzOjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxR X0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzNTM6MzQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxf cnVsZScKICAgICAgICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxl LT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo2MTQ6Mjk6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ1RBSUxRX0ZJUlNUJwojZGVmaW5lIFRBSUxRX0ZJUlNUKGhlYWQpICAgICAgICgoaGVh ZCktPnRxaF9maXJzdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzU0OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAg ICAgICAgICAgICAgICBUQUlMUV9SRU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90 dW5uZWwsIHJ1bGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MjM6MTk6IG5vdGU6IGV4 cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICBpZiAoKFRBSUxRX05FWFQo KGVsbSksIGZpZWxkKSkgIT0gTlVMTCkgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg ICAgICAgICAgICAgICAgICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NzEzOjM0OiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9ORVhUJwojZGVmaW5lIFRBSUxRX05FWFQoZWxt LCBmaWVsZCkgKChlbG0pLT5maWVsZC50cWVfbmV4dCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzNTQ6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlm aWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjcyNDoxNTogbm90ZTogZXhw YW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfUkVNT1ZFJwogICAgICAgICAgICAgICAgVEFJTFFfTkVY VCgoZWxtKSwgZmllbGQpLT5maWVsZC50cWVfcHJldiA9ICAgICAgICAgICAgICBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MTM6MzQ6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVYVChl bG0sIGZpZWxkKSAoKGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ3BfdHVubmVsJwovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NzI1Ojg6IG5vdGU6IGV4 cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICAgICAgICAgICAgICAoZWxt KS0+ZmllbGQudHFlX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDoxNzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5u ZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjcyNzo0OiBub3RlOiBleHBh bmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgICAgICAgICAoaGVhZCktPnRx aF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAgICAgICAgIFwKICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+ dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6 NzI3OjIzOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAg ICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6 NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9p bmNsdWRlL3N5cy9xdWV1ZS5oOjczMDo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlM UV9SRU1PVkUnCiAgICAgICAgKihlbG0pLT5maWVsZC50cWVfcHJldiA9IFRBSUxRX05FWFQoKGVs bSksIGZpZWxkKTsgICAgICAgICAgICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU0OjQzOiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi91c3IvaW5jbHVkZS9z eXMvcXVldWUuaDo3MzA6Mzk6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9W RScKICAgICAgICAqKGVsbSktPmZpZWxkLnRxZV9wcmV2ID0gVEFJTFFfTkVYVCgoZWxtKSwgZmll bGQpOyAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MTM6MzQ6IG5vdGU6IGV4cGFuZGVk IGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVYVChlbG0sIGZpZWxkKSAo KGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTM1NToxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVu bmVsJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzNTk6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ2ZkaXJfaW5mbycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEzNjA6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdm ZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFwKTsK ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzYxOjY6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFz aF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNjI6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVl KGZkaXJfaW5mby0+aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzY0OjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF9mZGly JwogICAgICAgIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9s aXN0KSkpIHsKICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBl bWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVk LgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUt cHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZv ciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6Nzg6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBl IGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwn IGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNToKT1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdldGhfaTQwZV9kZXZfdW5p bml0JzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMzQ4OjY6IGVycm9yOiAndHVubmVsX3J1bGUnIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzQ4OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1Mzox MDogZXJyb3I6ICdwX3R1bm5lbCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVs X2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTk6NjogZXJyb3I6ICdmZGlyX2luZm8nIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChmZGlyX2luZm8tPmhh c2hfbWFwKQogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM2NDoxMDogZXJyb3I6ICdwX2ZkaXInIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklS U1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQg QnVpbGQgIzY6Ck9TOiBGQzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzogSW4gZnVuY3Rpb24g4oCYZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6 IGVycm9yOiDigJh0dW5uZWxfcnVsZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzNDg6Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzUzOjEwOiBl cnJvcjog4oCYcF90dW5uZWzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVs X2xpc3QpKSkgewogICAgICAgICAgXn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU5OjY6IGVycm9yOiDigJhmZGly X2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZk aXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNjQ6MTA6IGVycm9yOiDi gJhwX2ZkaXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hp bGUgKChwX2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAg ICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9y dGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYx OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3ODog cmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI2OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1r Ojg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAxOiByZWNpcGUgZm9yIHRhcmdl dCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM3OgpPUzogRkMyNF82NApUYXJnZXQ6 IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9k ZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFz aF9tYXApCiAgICAgIF5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0ODo2OiBub3RlOiBlYWNoIHVuZGVjbGFy ZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQg YXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzNTM6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFf RklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzNTk6NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTM2NDoxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGly X2luZm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJl Y2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5z dGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9v dC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVp bGQgIzg6Ck9TOiBGQzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzNDg6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9y dWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMzQ5OjEyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1 bGUnCiAgICAgICAgICAgICAgICBydGVfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF9tYXApOwogICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTA6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xh cmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+aGFz aF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTE6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9oYXNoX2Zy ZWUodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTM1MzozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1 bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVs X3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzUzOjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmll ciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5u ZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6NDM6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICAg ICAgICAgIFRBSUxRX1JFTU9WRSgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwg cnVsZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzU0OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmll ciAncF90dW5uZWwnCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ3BfdHVubmVsJwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIFRBSUxRX1JFTU9WRSgmdHVu bmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwgcnVsZXMpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxf cnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6NDM6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU0OjQzOiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NTox MjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAg ICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzNTk6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZkaXJfaW5m bycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEz NjA6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAg ICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFwKTsKICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzYxOjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFzaF90YWJsZSkKICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzNjI6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlm aWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKGZkaXJfaW5mby0+ aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzY0OjMy OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAg IHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28g bWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJy b3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFs L3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5v JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6 NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjc4 OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwu bWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzk6Ck9TOiBGQzI0XzY0ClRhcmdl dDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDi gJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1bm5lbF9y dWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5u ZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0ODo2OiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTM6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVu bmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAg ICBefn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzNTk6NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkK ICAgICAgXn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM2NDoxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxR X0ZJUlNUKCZmZGlyX2luZm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazox Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJk aXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAn ZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFy Z2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2Rrcm9vdC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQK CgpGYWlsZWQgQnVpbGQgIzEwOgpPUzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLWRlYnVnCgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml0 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAg ICAgIF5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0ODo2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRp ZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzNTM6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1 bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTk6 NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTM2NDoxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2luZm8tPmZk aXJfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3Ig dGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBm b3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzExOgpP UzogVUIxNjA0XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmluaXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0ODo2OiBlcnJvcjog4oCY dHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg aWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6Njogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzUzOjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5l bCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzNTk6NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzNjQ6MTA6IGVycm9yOiDigJhwX2ZkaXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZv LT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQg J2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2RrYnVpbGQubWs6Nzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZv ciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTog cmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTI6Ck9T OiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBm dW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKA mHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6IG5vdGU6IGVh Y2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1MzoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5u ZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzU5OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzY0OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5m by0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3Ig dGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBm b3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEzOgpP UzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6Njog ZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6 IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1MzoxMDogZXJyb3I6IOKAmHBf dHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxl ICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsK ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMzU5OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXAp CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzY0OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1Qo JmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJl Y2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5z dGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9v dC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVp bGQgIzE0OgpPUzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu ZwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzNDg6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5l bF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzQ5OjEyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVs X3J1bGUnCiAgICAgICAgICAgICAgICBydGVfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF9tYXApOwog ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTA6NjogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+ aGFzaF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTE6MTc6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9oYXNo X2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTM1MzozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J3R1bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVu bmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMzUzOjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0 dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6 NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAg ICAgICAgICAgIFRBSUxRX1JFTU9WRSgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5l bCwgcnVsZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMzU0OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAncF90dW5uZWwnCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3BfdHVubmVsJwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIFRBSUxRX1JFTU9WRSgm dHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwgcnVsZXMpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5u ZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6NDM6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU0OjQz OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1 NToxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAg ICAgICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzNTk6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZkaXJf aW5mbycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjEzNjA6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8n CiAgICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFwKTsKICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzYxOjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFzaF90YWJsZSkK ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEzNjI6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKGZkaXJfaW5m by0+aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzY0 OjMyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAg ICAgIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkp IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0 b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAg ZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVy bmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRl di5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1r Ojc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3Rh bGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9TN182 NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhl dGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxf cnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTM1MzoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9G SVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU5 OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzY0OjEw OiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0 KSkpIHsKICAgICAgICAgIF4KCgpGYWlsZWQgQnVpbGQgIzE2OgpPUzogQ2VudE9TN182NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6IGVycm9yOiB1c2Ug b2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVubmVs X3J1bGUtPmhhc2hfbWFwKQogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0OToxMjogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgcnRl X2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfbWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzUwOjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxf cnVsZScKICAgICAgICBpZiAodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzUxOjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVs X3J1bGUnCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKHR1bm5lbF9ydWxlLT5oYXNoX3Rh YmxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTM6MTA6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICB3aGlsZSAo KHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1MzozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9G SVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQ1ODozMDogbm90 ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfRklSU1QnCiNkZWZpbmUgVEFJTFFfRklSU1Qo aGVhZCkgICAgICAgICAgICAgICAoKGhlYWQpLT50cWhfZmlyc3QpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU0OjQzOiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAgICAgICAgICAgICAgICBUQUlMUV9SRU1P VkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90dW5uZWwsIHJ1bGVzKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5j bHVkZS9zeXMvcXVldWUuaDo0Mjc6ODogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFf UkVNT1ZFJwogICAgICAgIGlmICgoKGVsbSktPmZpZWxkLnRxZV9uZXh0KSAhPSBOVUxMKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6NDM6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRl L3N5cy9xdWV1ZS5oOjQyODo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1P VkUnCiAgICAgICAgICAgICAgICAoZWxtKS0+ZmllbGQudHFlX25leHQtPmZpZWxkLnRxZV9wcmV2 ID0gICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwovdXNyL2luY2x1ZGUv c3lzL3F1ZXVlLmg6NDI5Ojg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9W RScKICAgICAgICAgICAgICAgICAgICAoZWxtKS0+ZmllbGQudHFlX3ByZXY7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDoxNzog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAg ICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVs LCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5 cy9xdWV1ZS5oOjQzMTo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUn CiAgICAgICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2 OyAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1NDo0MzogZXJyb3I6 IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAg VEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NDMxOjIzOiBub3RlOiBleHBhbmRlZCBmcm9tIG1h Y3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVs bSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTQ6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQzMjo0OiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgKihlbG0pLT5maWVs ZC50cWVfcHJldiA9IChlbG0pLT5maWVsZC50cWVfbmV4dDsgICAgICAgICAgICAgICAgIFwKICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzU0OjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmll ciAncF90dW5uZWwnCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo0MzI6Mjg6IG5vdGU6IGV4cGFu ZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICAqKGVsbSktPmZpZWxkLnRxZV9w cmV2ID0gKGVsbSktPmZpZWxkLnRxZV9uZXh0OyAgICAgICAgICAgICAgICAgXAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTU6MTI6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHBf dHVubmVsKTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzU5OjY6IGVycm9yOiB1 c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJf aW5mby0+aGFzaF9tYXApCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzYwOjEyOiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgICAgICAgICAgcnRlX2Zy ZWUoZmRpcl9pbmZvLT5oYXNoX21hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTM2MTo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwog ICAgICAgIGlmIChmZGlyX2luZm8tPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzYy OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAg ICAgICAgICAgICAgcnRlX2hhc2hfZnJlZShmZGlyX2luZm8tPmhhc2hfdGFibGUpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM2NDoxMDogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ3BfZmRpcicKICAgICAgICB3aGlsZSAoKHBfZmRpciA9IFRBSUxR X0ZJUlNUKCZmZGlyX2luZm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICBeCmZhdGFs IGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxp bWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KCgpGYWlsZWQgQnVpbGQgIzE3OgpPUzogQ2VudE9T N182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4g ZnVuY3Rpb24g4oCYZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6IGVycm9yOiDi gJh0dW5uZWxfcnVsZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM0ODo2OiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNTM6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVu bmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTM1OTo2OiBlcnJvcjog4oCYZmRpcl9pbmZv4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChmZGlyX2luZm8tPmhhc2hfbWFwKQogICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTM2NDoxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2lu Zm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICBeCgoKRmFpbGVkIEJ1aWxkICMxODoKT1M6IENl bnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5j dGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzNDg6NjogZXJyb3I6IOKAmHR1 bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlm ICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzQ4OjY6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTM1MzoxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwg PSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzU5OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMzY0OjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KCgpEUERLIFNUViB0ZWFtCg== --===============2854352707606926113==--