From: Bjorn Munch Date: March 11 2011 10:00am Subject: bzr push into mysql-5.5-mtr branch (bjorn.munch:3180 to 3182) List-Archive: http://lists.mysql.com/commits/132801 Message-Id: <201103111000.p2BA0gCh009187@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDMxODIgQmpvcm4gTXVuY2gJMjAxMS0wMy0xMSBbbWVyZ2VdCiAgICAgIG51bGwgdXBtZXJnZQoK IDMxODEgQmpvcm4gTXVuY2gJMjAxMS0wMy0xMSBbbWVyZ2VdCiAgICAgIG1lcmdlIGZyb20gNS41 IG1haW4KCiAgICBhZGRlZDoKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3IvcmVs YXlsb2cucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS90L3JlbGF5bG9n LnRlc3QKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0L2NvbGxlY3Rpb25zL2RlZmF1bHQu ZGFpbHkKICAgICAgbXlzcWwtdGVzdC9jb2xsZWN0aW9ucy9kZWZhdWx0LndlZWtseQogICAgICBt eXNxbC10ZXN0L3IvZ3JhbnQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9wYXJ0aXRpb24ucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvci9zcC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3RyaWdn ZXIucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lubm9kYl9zdG9yZWRw cm9jXzA2LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9tZW1vcnlfc3Rv cmVkcHJvY18wNi5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbXlpc2Ft X3N0b3JlZHByb2NfMDYucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9zdG9y ZWRwcm9jL3N0b3JlZHByb2NfMDYuaW5jCiAgICAgIG15c3FsLXRlc3QvdC9kaXNhYmxlZC5kZWYK ICAgICAgbXlzcWwtdGVzdC90L2dyYW50LnRlc3QKICAgICAgbXlzcWwtdGVzdC90L3BhcnRpdGlv bi50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9zcC50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC90cmln Z2VyLnRlc3QKICAgICAgc3FsL2hhX3BhcnRpdGlvbi5jYwogICAgICBzcWwvbG9nLmNjCiAgICAg IHNxbC9sb2cuaAogICAgICBzcWwvbXlzcWxkLmNjCiAgICAgIHNxbC9teXNxbGQuaAogICAgICBz cWwvcnBsX3JsaS5jYwogICAgICBzcWwvc3FsX2FjbC5jYwogICAgICBzcWwvc3FsX3RyaWdnZXIu Y2MKIDMxODAgQmpvcm4gTXVuY2gJMjAxMS0wMy0wOAogICAgICBBZGQgZXh0cmEgbGluZSBhZnRl ciB1bml0IHRlc3QgcmVwb3J0IGluIE1UUgoKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0 L215c3FsLXRlc3QtcnVuLnBsCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L2NvbGxlY3Rp b25zL2RlZmF1bHQuZGFpbHknCi0tLSBhL215c3FsLXRlc3QvY29sbGVjdGlvbnMvZGVmYXVsdC5k YWlseQkyMDExLTAyLTIxIDEyOjU2OjQzICswMDAwCisrKyBiL215c3FsLXRlc3QvY29sbGVjdGlv bnMvZGVmYXVsdC5kYWlseQkyMDExLTAzLTExIDA5OjEyOjU4ICswMDAwCkBAIC0xLDE1ICsxLDE1 IEBACiAKLXBlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNl cnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5l eHBlcmltZW50YWwgLS1jb21tZW50PW5vcm1hbCAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1u b3JtYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtLXJlcG9ydC1mZWF0dXJlcyAtLXVuaXQtdGVzdHMKLXBlcmwgbXlzcWwt dGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1 dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21t ZW50PW5fbWl4ICAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1uX21peCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9bWl4ZWQKLXBlcmwg bXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFs bGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwg LS1jb21tZW50PXJvdyAgICAgICAgICAgICAgICAtLXZhcmRpcj12YXItcm93ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0tbXlzcWxkPS0tYmlubG9nLWZvcm1hdD1yb3cKLXBlcmwg bXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFs bGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwg LS1jb21tZW50PXBzX3JvdyAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1wc19yb3cgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9cm93ICAg ICAtLXBzLXByb3RvY29sCi1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAg LS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25z L2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1lbWJlZGRlZCAgICAgICAgICAgICAtLXZh cmRpcj12YXItZW1iZWRkZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLS1lbWJlZGRlZAotcGVybCBteXNxbC10ZXN0LXJ1bi5w bCAtLWZvcmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVy aW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cHMgICAg ICAgICAgICAgICAgICAgLS12YXJkaXI9dmFyLXBzICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcHMtcHJvdG9jb2wKLXBlcmwg bXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFs bGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwg LS1jb21tZW50PWZ1bmNzXzEgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1mdW5jc18xICAgICAg ICAgICAgIC0tc3VpdGU9ZnVuY3NfMQotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0t dGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cHNfZnVuY3MxICAgICAgICAg ICAgLS12YXJkaXI9dmFyLXBzX2Z1bmNzXzEgICAgICAgICAgLS1zdWl0ZT1mdW5jc18xICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcHMtcHJvdG9jb2wKLXBlcmwgbXlzcWwt dGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1 dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21t ZW50PWZ1bmNzMiAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1mdW5jczIgICAgICAgICAgICAg IC0tc3VpdGU9ZnVuY3NfMgotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIg IC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9u cy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cGFydGl0aW9ucyAgICAgICAgICAgLS12 YXJkaXI9dmFyLXBhcnRzICAgICAgICAgICAgICAgLS1zdWl0ZT1wYXJ0cwotcGVybCBteXNxbC10 ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRv IC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVu dD1zdHJlc3MgICAgICAgICAgICAgICAtLXZhcmRpcj12YXItc3RyZXNzICAgICAgICAgICAgICAt LXN1aXRlPXN0cmVzcwotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgLS1k ZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2Rl ZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1qcCAgICAgICAgICAgICAgICAgICAtLXZhcmRp cj12YXItanAgICAgICAgICAgICAgICAgICAtLXN1aXRlPWpwCi1wZXJsIG15c3FsLXRlc3QtcnVu LnBsIC0tZm9yY2UgLS10aW1lciAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBl cmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PW5pc3Qg ICAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1uaXN0ICAgICAgICAgICAgICAgIC0tc3VpdGU9 bmlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgIC0tZGVidWctc2Vy dmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4 cGVyaW1lbnRhbCAtLWNvbW1lbnQ9bm9ybWFsICAgICAgICAgICAgICAgLS12YXJkaXI9dmFyLW5v cm1hbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0tcmVwb3J0LWZlYXR1cmVzIC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlv bnMvZGlzYWJsZWQtZGFpbHkubGlzdCAtLXVuaXQtdGVzdHMKK3BlcmwgbXlzcWwtdGVzdC1ydW4u cGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1leHBl cmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS1jb21tZW50PW5fbWl4 ICAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1uX21peCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9bWl4ZWQgLS1za2lwLXRlc3QtbGlz dD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0CitwZXJsIG15c3FsLXRlc3QtcnVuLnBs IC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJp bWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1yb3cgICAg ICAgICAgICAgICAgLS12YXJkaXI9dmFyLXJvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9cm93IC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVj dGlvbnMvZGlzYWJsZWQtZGFpbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNl IC0tdGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1j b2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cHNfcm93ICAgICAgICAg ICAgICAgLS12YXJkaXI9dmFyLXBzX3JvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0tbXlzcWxkPS0tYmlubG9nLWZvcm1hdD1yb3cgICAgIC0tcHMtcHJvdG9jb2wgLS1za2lwLXRl c3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0CitwZXJsIG15c3FsLXRlc3Qt cnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0t ZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1l bWJlZGRlZCAgICAgICAgICAgICAtLXZhcmRpcj12YXItZW1iZWRkZWQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1lbWJlZGRl ZCAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25zL2Rpc2FibGVkLWRhaWx5Lmxpc3QKK3Blcmwg bXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyICAtLWRlYnVnLXNlcnZlciAtLXBhcmFs bGVsPWF1dG8gLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwg LS1jb21tZW50PXBzICAgICAgICAgICAgICAgICAgIC0tdmFyZGlyPXZhci1wcyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXBz LXByb3RvY29sIC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMvZGlzYWJsZWQtZGFpbHkubGlz dAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgIC0tZGVidWctc2VydmVy IC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVy aW1lbnRhbCAtLWNvbW1lbnQ9ZnVuY3NfMSAgICAgICAgICAgICAgLS12YXJkaXI9dmFyLWZ1bmNz XzEgICAgICAgICAgICAgLS1zdWl0ZT1mdW5jc18xIC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlv bnMvZGlzYWJsZWQtZGFpbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0t dGltZXIgIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xs ZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9cHNfZnVuY3MxICAgICAgICAg ICAgLS12YXJkaXI9dmFyLXBzX2Z1bmNzXzEgICAgICAgICAgLS1zdWl0ZT1mdW5jc18xICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tcHMtcHJvdG9jb2wgLS1za2lwLXRlc3Qt bGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0CitwZXJsIG15c3FsLXRlc3QtcnVu LnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhw ZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1mdW5j czIgICAgICAgICAgICAgICAtLXZhcmRpcj12YXItZnVuY3MyICAgICAgICAgICAgICAtLXN1aXRl PWZ1bmNzXzIgLS1za2lwLXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC1kYWlseS5saXN0 CitwZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tZm9yY2UgLS10aW1lciAgLS1kZWJ1Zy1zZXJ2ZXIg LS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJp bWVudGFsIC0tY29tbWVudD1wYXJ0aXRpb25zICAgICAgICAgICAtLXZhcmRpcj12YXItcGFydHMg ICAgICAgICAgICAgICAtLXN1aXRlPXBhcnRzIC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMv ZGlzYWJsZWQtZGFpbHkubGlzdAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGlt ZXIgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rp b25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1zdHJlc3MgICAgICAgICAgICAgICAt LXZhcmRpcj12YXItc3RyZXNzICAgICAgICAgICAgICAtLXN1aXRlPXN0cmVzcyAtLXNraXAtdGVz dC1saXN0PWNvbGxlY3Rpb25zL2Rpc2FibGVkLWRhaWx5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1y dW4ucGwgLS1mb3JjZSAtLXRpbWVyIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWV4 cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLWNvbW1lbnQ9anAg ICAgICAgICAgICAgICAgICAgLS12YXJkaXI9dmFyLWpwICAgICAgICAgICAgICAgICAgLS1zdWl0 ZT1qcCAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25zL2Rpc2FibGVkLWRhaWx5Lmxpc3QKK3Bl cmwgbXlzcWwtdGVzdC1ydW4ucGwgLS1mb3JjZSAtLXRpbWVyIC0tZGVidWctc2VydmVyIC0tcGFy YWxsZWw9YXV0byAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRh bCAtLWNvbW1lbnQ9bmlzdCAgICAgICAgICAgICAgICAgLS12YXJkaXI9dmFyLW5pc3QgICAgICAg ICAgICAgICAgLS1zdWl0ZT1uaXN0IC0tc2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMvZGlzYWJs ZWQtZGFpbHkubGlzdAogcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLWZvcmNlIC0tdGltZXIgLS1k ZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2Rl ZmF1bHQuZXhwZXJpbWVudGFsIC0tY29tbWVudD1uaXN0K3BzICAgICAgICAgICAgICAtLXZhcmRp cj12YXItcHNfbmlzdCAgICAgICAgICAgICAtLXN1aXRlPW5pc3QgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLS1wcy1wcm90b2NvbAoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3QvY29sbGVjdGlvbnMvZGVmYXVsdC53ZWVrbHknCi0tLSBhL215c3FsLXRlc3QvY29s bGVjdGlvbnMvZGVmYXVsdC53ZWVrbHkJMjAxMS0wMi0wOCAxMTo1NTo0MiArMDAwMAorKysgYi9t eXNxbC10ZXN0L2NvbGxlY3Rpb25zL2RlZmF1bHQud2Vla2x5CTIwMTEtMDMtMTAgMDQ6MjQ6MTYg KzAwMDAKQEAgLTEsNyArMSw3IEBACi1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tdGltZXIgLS1m b3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gIC0tY29tbWVudD1iaWctdGVzdHMg LS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJkaXI9 dmFyLWJpZy10ZXN0cyAtLWJpZy10ZXN0IC0tdGVzdGNhc2UtdGltZW91dD02MCAtLXN1aXRlLXRp bWVvdXQ9NjAwIG1haW4uYWx0ZXJfdGFibGUtYmlnIG1haW4uYXJjaGl2ZS1iaWcgbWFpbi5jb3Vu dF9kaXN0aW5jdDMgbWFpbi5jcmVhdGUtYmlnIG1haW4uZXZlbnRzX3N0cmVzcyBtYWluLmV2ZW50 c190aW1lX3pvbmUgbWFpbi5pbmZvcm1hdGlvbl9zY2hlbWEtYmlnIG1haW4ubG9nX3RhYmxlcy1i aWcgbWFpbi5tZXJnZS1iaWcgbWFpbi5teXNxbGJpbmxvZ19yb3dfYmlnIG1haW4ucmVhZF9tYW55 X3Jvd3NfaW5ub2RiIG1haW4uc3NsLWJpZyBtYWluLnN1bV9kaXN0aW5jdC1iaWcgbWFpbi50eXBl X25ld2RlY2ltYWwtYmlnIG1haW4udmFyaWFibGVzLWJpZyBwYXJ0cy5wYXJ0X3N1cHBvcnRlZF9z cWxfZnVuY19pbm5vZGIgcGFydHMucGFydGl0aW9uX2FsdGVyMV8xXzJfaW5ub2RiIHBhcnRzLnBh cnRpdGlvbl9hbHRlcjFfMl9pbm5vZGIgcGFydHMucGFydGl0aW9uX2FsdGVyMl8xXzFfaW5ub2Ri IHBhcnRzLnBhcnRpdGlvbl9hbHRlcjJfMV8yX2lubm9kYiBwYXJ0cy5wYXJ0aXRpb25fYWx0ZXIy XzJfMl9pbm5vZGIgcGFydHMucGFydGl0aW9uX2FsdGVyNF9pbm5vZGIgZnVuY3NfMS5teWlzYW1f dmlld3MtYmlnCi1wZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tdGltZXIgLS1mb3JjZSAtLWRlYnVn LXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gIC0tY29tbWVudD1laXRzLXRlc3RzLW15aXNhbS1lbmdp bmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJk aXI9dmFyLXN0bXQtZWl0cy10ZXN0cy1teWlzYW0tZW5naW5lIC0tc3VpdGU9ZW5naW5lcy9pdWRz LGVuZ2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZhaWw9MCAtLXJl dHJ5LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9bXlpc2FtIAot cGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1kZWJ1Zy1zZXJ2ZXIgLS1w YXJhbGxlbD1hdXRvIC0tY29tbWVudD1laXRzLXJwbC1iaW5sb2ctcm93LXRlc3RzLW15aXNhbS1l bmdpbmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12 YXJkaXI9dmFyLWJpbmxvZy1yb3ctZWl0cy10ZXN0cy1teWlzYW0tZW5naW5lIC0tc3VpdGU9ZW5n aW5lcy9pdWRzLGVuZ2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZh aWw9MCAtLXJldHJ5LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9 bXlpc2FtIC0tZG8tdGVzdD1ycGwgLS1teXNxbGQ9LS1iaW5sb2ctZm9ybWF0PXJvdwotcGVybCBt eXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxl bD1hdXRvICAtLWNvbW1lbnQ9ZWl0cy1ycGwtYmlubG9nLW1peGVkLXRlc3RzLW15aXNhbS1lbmdp bmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJk aXI9dmFyLWJpbmxvZy1taXhlZC1laXRzLXRlc3RzLW15aXNhbS1lbmdpbmUgLS1zdWl0ZT1lbmdp bmVzL2l1ZHMsZW5naW5lcy9mdW5jcyAtLXN1aXRlLXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFp bD0wIC0tcmV0cnktZmFpbHVyZT0wIC0tbXlzcWxkPS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1t eWlzYW0gLS1kby10ZXN0PXJwbCAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9bWl4ZWQKLXBlcmwg bXlzcWwtdGVzdC1ydW4ucGwgLS10aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxs ZWw9YXV0byAtLWNvbW1lbnQ9ZWl0cy10ZXN0cy1pbm5vZGItZW5naW5lIC0tZXhwZXJpbWVudGFs PWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tdmFyZGlyPXZhci1zdG10LWVpdHMt dGVzdHMtaW5ub2RiLWVuZ2luZSAtLXN1aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNzIC0t c3VpdGUtdGltZW91dD01MDAgLS1tYXgtdGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAgLS1t eXNxbGQ9LS1kZWZhdWx0LXN0b3JhZ2UtZW5naW5lPWlubm9kYiAtLW15c3FsZD0tLWlubm9kYgot cGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1kZWJ1Zy1zZXJ2ZXIgLS1w YXJhbGxlbD1hdXRvIC0tY29tbWVudD1laXRzLXJwbC1iaW5sb2ctcm93LXRlc3RzLWlubm9kYi1l bmdpbmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12 YXJkaXI9dmFyLWJpbmxvZy1yb3ctZWl0cy10ZXN0cy1pbm5vZGItZW5naW5lIC0tc3VpdGU9ZW5n aW5lcy9pdWRzLGVuZ2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZh aWw9MCAtLXJldHJ5LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9 aW5ub2RiIC0tbXlzcWxkPS0taW5ub2RiIC0tZG8tdGVzdD1ycGwgLS1teXNxbGQ9LS1iaW5sb2ct Zm9ybWF0PXJvdwotcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRpbWVyIC0tZm9yY2UgLS1kZWJ1 Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvIC0tY29tbWVudD1laXRzLXJwbC1iaW5sb2ctbWl4ZWQt dGVzdHMtaW5ub2RiLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4 cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlubG9nLW1peGVkLWVpdHMtdGVzdHMtaW5ub2RiLWVu Z2luZSAtLXN1aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNzIC0tc3VpdGUtdGltZW91dD01 MDAgLS1tYXgtdGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAgLS1teXNxbGQ9LS1kZWZhdWx0 LXN0b3JhZ2UtZW5naW5lPWlubm9kYiAtLW15c3FsZD0tLWlubm9kYiAtLWRvLXRlc3Q9cnBsIC0t bXlzcWxkPS0tYmlubG9nLWZvcm1hdD1taXhlZAorcGVybCBteXNxbC10ZXN0LXJ1bi5wbCAtLXRp bWVyIC0tZm9yY2UgLS1kZWJ1Zy1zZXJ2ZXIgLS1wYXJhbGxlbD1hdXRvICAtLWNvbW1lbnQ9Ymln LXRlc3RzIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0t dmFyZGlyPXZhci1iaWctdGVzdHMgLS1iaWctdGVzdCAtLXRlc3RjYXNlLXRpbWVvdXQ9NjAgLS1z dWl0ZS10aW1lb3V0PTYwMCBtYWluLmFsdGVyX3RhYmxlLWJpZyBtYWluLmFyY2hpdmUtYmlnIG1h aW4uY291bnRfZGlzdGluY3QzIG1haW4uY3JlYXRlLWJpZyBtYWluLmV2ZW50c19zdHJlc3MgbWFp bi5ldmVudHNfdGltZV96b25lIG1haW4uaW5mb3JtYXRpb25fc2NoZW1hLWJpZyBtYWluLmxvZ190 YWJsZXMtYmlnIG1haW4ubWVyZ2UtYmlnIG1haW4ubXlzcWxiaW5sb2dfcm93X2JpZyBtYWluLnJl YWRfbWFueV9yb3dzX2lubm9kYiBtYWluLnNzbC1iaWcgbWFpbi5zdW1fZGlzdGluY3QtYmlnIG1h aW4udHlwZV9uZXdkZWNpbWFsLWJpZyBtYWluLnZhcmlhYmxlcy1iaWcgcGFydHMucGFydF9zdXBw b3J0ZWRfc3FsX2Z1bmNfaW5ub2RiIHBhcnRzLnBhcnRpdGlvbl9hbHRlcjFfMV8yX2lubm9kYiBw YXJ0cy5wYXJ0aXRpb25fYWx0ZXIxXzJfaW5ub2RiIHBhcnRzLnBhcnRpdGlvbl9hbHRlcjJfMV8x X2lubm9kYiBwYXJ0cy5wYXJ0aXRpb25fYWx0ZXIyXzFfMl9pbm5vZGIgcGFydHMucGFydGl0aW9u X2FsdGVyMl8yXzJfaW5ub2RiIHBhcnRzLnBhcnRpdGlvbl9hbHRlcjRfaW5ub2RiIGZ1bmNzXzEu bXlpc2FtX3ZpZXdzLWJpZyAtLXNraXAtdGVzdC1saXN0PWNvbGxlY3Rpb25zL2Rpc2FibGVkLXdl ZWtseS5saXN0CitwZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tdGltZXIgLS1mb3JjZSAtLWRlYnVn LXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gIC0tY29tbWVudD1laXRzLXRlc3RzLW15aXNhbS1lbmdp bmUgLS1leHBlcmltZW50YWw9Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJk aXI9dmFyLXN0bXQtZWl0cy10ZXN0cy1teWlzYW0tZW5naW5lIC0tc3VpdGU9ZW5naW5lcy9pdWRz LGVuZ2luZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZhaWw9MCAtLXJl dHJ5LWZhaWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9bXlpc2FtIC0t c2tpcC10ZXN0LWxpc3Q9Y29sbGVjdGlvbnMvZGlzYWJsZWQtd2Vla2x5Lmxpc3QgCitwZXJsIG15 c3FsLXRlc3QtcnVuLnBsIC0tdGltZXIgLS1mb3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVs PWF1dG8gLS1jb21tZW50PWVpdHMtcnBsLWJpbmxvZy1yb3ctdGVzdHMtbXlpc2FtLWVuZ2luZSAt LWV4cGVyaW1lbnRhbD1jb2xsZWN0aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12 YXItYmlubG9nLXJvdy1laXRzLXRlc3RzLW15aXNhbS1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1 ZHMsZW5naW5lcy9mdW5jcyAtLXN1aXRlLXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0t cmV0cnktZmFpbHVyZT0wIC0tbXlzcWxkPS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1teWlzYW0g LS1kby10ZXN0PXJwbCAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9cm93IC0tc2tpcC10ZXN0LWxp c3Q9Y29sbGVjdGlvbnMvZGlzYWJsZWQtd2Vla2x5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4u cGwgLS10aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAgLS1jb21t ZW50PWVpdHMtcnBsLWJpbmxvZy1taXhlZC10ZXN0cy1teWlzYW0tZW5naW5lIC0tZXhwZXJpbWVu dGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQuZXhwZXJpbWVudGFsIC0tdmFyZGlyPXZhci1iaW5sb2ct bWl4ZWQtZWl0cy10ZXN0cy1teWlzYW0tZW5naW5lIC0tc3VpdGU9ZW5naW5lcy9pdWRzLGVuZ2lu ZXMvZnVuY3MgLS1zdWl0ZS10aW1lb3V0PTUwMCAtLW1heC10ZXN0LWZhaWw9MCAtLXJldHJ5LWZh aWx1cmU9MCAtLW15c3FsZD0tLWRlZmF1bHQtc3RvcmFnZS1lbmdpbmU9bXlpc2FtIC0tZG8tdGVz dD1ycGwgLS1teXNxbGQ9LS1iaW5sb2ctZm9ybWF0PW1peGVkIC0tc2tpcC10ZXN0LWxpc3Q9Y29s bGVjdGlvbnMvZGlzYWJsZWQtd2Vla2x5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwgLS10 aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWNvbW1lbnQ9ZWl0 cy10ZXN0cy1pbm5vZGItZW5naW5lIC0tZXhwZXJpbWVudGFsPWNvbGxlY3Rpb25zL2RlZmF1bHQu ZXhwZXJpbWVudGFsIC0tdmFyZGlyPXZhci1zdG10LWVpdHMtdGVzdHMtaW5ub2RiLWVuZ2luZSAt LXN1aXRlPWVuZ2luZXMvaXVkcyxlbmdpbmVzL2Z1bmNzIC0tc3VpdGUtdGltZW91dD01MDAgLS1t YXgtdGVzdC1mYWlsPTAgLS1yZXRyeS1mYWlsdXJlPTAgLS1teXNxbGQ9LS1kZWZhdWx0LXN0b3Jh Z2UtZW5naW5lPWlubm9kYiAtLW15c3FsZD0tLWlubm9kYiAtLXNraXAtdGVzdC1saXN0PWNvbGxl Y3Rpb25zL2Rpc2FibGVkLXdlZWtseS5saXN0CitwZXJsIG15c3FsLXRlc3QtcnVuLnBsIC0tdGlt ZXIgLS1mb3JjZSAtLWRlYnVnLXNlcnZlciAtLXBhcmFsbGVsPWF1dG8gLS1jb21tZW50PWVpdHMt cnBsLWJpbmxvZy1yb3ctdGVzdHMtaW5ub2RiLWVuZ2luZSAtLWV4cGVyaW1lbnRhbD1jb2xsZWN0 aW9ucy9kZWZhdWx0LmV4cGVyaW1lbnRhbCAtLXZhcmRpcj12YXItYmlubG9nLXJvdy1laXRzLXRl c3RzLWlubm9kYi1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9mdW5jcyAtLXN1 aXRlLXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVyZT0wIC0tbXlz cWxkPS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1pbm5vZGIgLS1teXNxbGQ9LS1pbm5vZGIgLS1k by10ZXN0PXJwbCAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9cm93IC0tc2tpcC10ZXN0LWxpc3Q9 Y29sbGVjdGlvbnMvZGlzYWJsZWQtd2Vla2x5Lmxpc3QKK3BlcmwgbXlzcWwtdGVzdC1ydW4ucGwg LS10aW1lciAtLWZvcmNlIC0tZGVidWctc2VydmVyIC0tcGFyYWxsZWw9YXV0byAtLWNvbW1lbnQ9 ZWl0cy1ycGwtYmlubG9nLW1peGVkLXRlc3RzLWlubm9kYi1lbmdpbmUgLS1leHBlcmltZW50YWw9 Y29sbGVjdGlvbnMvZGVmYXVsdC5leHBlcmltZW50YWwgLS12YXJkaXI9dmFyLWJpbmxvZy1taXhl ZC1laXRzLXRlc3RzLWlubm9kYi1lbmdpbmUgLS1zdWl0ZT1lbmdpbmVzL2l1ZHMsZW5naW5lcy9m dW5jcyAtLXN1aXRlLXRpbWVvdXQ9NTAwIC0tbWF4LXRlc3QtZmFpbD0wIC0tcmV0cnktZmFpbHVy ZT0wIC0tbXlzcWxkPS0tZGVmYXVsdC1zdG9yYWdlLWVuZ2luZT1pbm5vZGIgLS1teXNxbGQ9LS1p bm5vZGIgLS1kby10ZXN0PXJwbCAtLW15c3FsZD0tLWJpbmxvZy1mb3JtYXQ9bWl4ZWQgLS1za2lw LXRlc3QtbGlzdD1jb2xsZWN0aW9ucy9kaXNhYmxlZC13ZWVrbHkubGlzdAoKPT09IG1vZGlmaWVk IGZpbGUgJ215c3FsLXRlc3Qvci9ncmFudC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9ncmFu dC5yZXN1bHQJMjAxMS0wMi0wOCAxMzo1OTowMyArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvZ3Jh bnQucmVzdWx0CTIwMTEtMDMtMDkgMTQ6MDQ6NTAgKzAwMDAKQEAgLTE0NTIsNiArMTQ1MiwxOTkg QEAgRFJPUCBEQVRBQkFTRSBteXNxbHRlc3QyOwogRFJPUCBVU0VSIHRlc3R1c2VyQGxvY2FsaG9z dDsKIHVzZSB0ZXN0OwogCisjCisjIFRlc3QgZm9yIGJ1ZyAjMzY1NDQgIkRST1AgVVNFUiBkb2Vz IG5vdCByZW1vdmUgc3RvcmVkIGZ1bmN0aW9uCisjICAgICAgICAgICAgICAgICAgICAgIHByaXZp bGVnZXMiLgorIworY3JlYXRlIGRhdGFiYXNlIG15c3FsdGVzdDE7CitjcmVhdGUgZnVuY3Rpb24g bXlzcWx0ZXN0MS5mMSgpIHJldHVybnMgaW50IHJldHVybiAwOworY3JlYXRlIHByb2NlZHVyZSBt eXNxbHRlc3QxLnAxKCkgYmVnaW4gZW5kOworIworIyAxKSBDaGVjayB0aGF0IERST1AgVVNFUiBw cm9wZXJseSByZW1vdmVzIHByaXZpbGVnZXMgb24gYm90aAorIyAgICBzdG9yZWQgcHJvY2VkdXJl cyBhbmQgZnVuY3Rpb25zLgorIworY3JlYXRlIHVzZXIgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7Citn cmFudCBleGVjdXRlIG9uIGZ1bmN0aW9uIG15c3FsdGVzdDEuZjEgdG8gbXlzcWx1c2VyMUBsb2Nh bGhvc3Q7CitncmFudCBleGVjdXRlIG9uIHByb2NlZHVyZSBteXNxbHRlc3QxLnAxIHRvIG15c3Fs dXNlcjFAbG9jYWxob3N0OworIyBRdWljayB0ZXN0IHRoYXQgZ3JhbnRlZCBwcml2aWxlZ2VzIGFy ZSBwcm9wZXJseSByZWZsZWN0ZWQKKyMgaW4gcHJpdmlsZWdlIHRhYmxlcyBhbmQgaW4gaW4tbWVt b3J5IHN0cnVjdHVyZXMuCitzaG93IGdyYW50cyBmb3IgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitH cmFudHMgZm9yIG15c3FsdXNlcjFAbG9jYWxob3N0CitHUkFOVCBVU0FHRSBPTiAqLiogVE8gJ215 c3FsdXNlcjEnQCdsb2NhbGhvc3QnCitHUkFOVCBFWEVDVVRFIE9OIFBST0NFRFVSRSBgbXlzcWx0 ZXN0MWAuYHAxYCBUTyAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcKK0dSQU5UIEVYRUNVVEUgT04g RlVOQ1RJT04gYG15c3FsdGVzdDFgLmBmMWAgVE8gJ215c3FsdXNlcjEnQCdsb2NhbGhvc3QnCitz ZWxlY3QgZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBlLCBwcm9jX3ByaXYgZnJvbSBteXNx bC5wcm9jc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEnIGFuZCBob3N0PSdsb2NhbGhvc3Qn OworZGIJcm91dGluZV9uYW1lCXJvdXRpbmVfdHlwZQlwcm9jX3ByaXYKK215c3FsdGVzdDEJZjEJ RlVOQ1RJT04JRXhlY3V0ZQorbXlzcWx0ZXN0MQlwMQlQUk9DRURVUkUJRXhlY3V0ZQorIworIyBD cmVhdGUgY29ubmVjdGlvbiAnYnVnXzM2NTQ0X2NvbjEnIGFzICdteXNxbHVzZXIxQGxvY2FsaG9z dCcuCitjYWxsIG15c3FsdGVzdDEucDEoKTsKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7CitteXNx bHRlc3QxLmYxKCkKKzAKKyMKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorZHJv cCB1c2VyIG15c3FsdXNlcjFAbG9jYWxob3N0OworIworIyBUZXN0IHRoYXQgZHJvcHBpbmcgb2Yg dXNlciBpcyBwcm9wZXJseSByZWZsZWN0ZWQgaW4KKyMgYm90aCBwcml2aWxlZ2UgdGFibGVzIGFu ZCBpbiBpbi1tZW1vcnkgc3RydWN0dXJlcy4KKyMKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2J1 ZzM2NTQ0X2NvbjEnLgorIyBUaGUgY29ubmVjdGlvbiBjb2xkIGJlIGFsaXZlIGJ1dCBzaG91bGQg bm90IGJlIGFibGUgdG8KKyMgYWNjZXNzIHRvIGFueSBvZiB0aGUgc3RvcmVkIHJvdXRpbmVzLgor Y2FsbCBteXNxbHRlc3QxLnAxKCk7CitFUlJPUiA0MjAwMDogZXhlY3V0ZSBjb21tYW5kIGRlbmll ZCB0byB1c2VyICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3Igcm91dGluZSAnbXlzcWx0ZXN0 MS5wMScKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7CitFUlJPUiA0MjAwMDogZXhlY3V0ZSBjb21t YW5kIGRlbmllZCB0byB1c2VyICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3Igcm91dGluZSAn bXlzcWx0ZXN0MS5mMScKKyMKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorIwor IyBOb3cgY3JlYXRlIHVzZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBjaGVjayB0aGF0IGhlCisj IGhhcyBub3QgaW5oZXJpdGVkIHByaXZpbGVnZXMuCitjcmVhdGUgdXNlciBteXNxbHVzZXIxQGxv Y2FsaG9zdDsKK3Nob3cgZ3JhbnRzIGZvciBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK0dyYW50cyBm b3IgbXlzcWx1c2VyMUBsb2NhbGhvc3QKK0dSQU5UIFVTQUdFIE9OICouKiBUTyAnbXlzcWx1c2Vy MSdAJ2xvY2FsaG9zdCcKK3NlbGVjdCBkYiwgcm91dGluZV9uYW1lLCByb3V0aW5lX3R5cGUsIHBy b2NfcHJpdiBmcm9tIG15c3FsLnByb2NzX3ByaXYgd2hlcmUgdXNlcj0nbXlzcWx1c2VyMScgYW5k IGhvc3Q9J2xvY2FsaG9zdCc7CitkYglyb3V0aW5lX25hbWUJcm91dGluZV90eXBlCXByb2NfcHJp dgorIworIyBDcmVhdGUgY29ubmVjdGlvbiAnYnVnXzM2NTQ0X2NvbjInIGFzICdteXNxbHVzZXIx QGxvY2FsaG9zdCcuCisjIE5ld2x5IGNyZWF0ZWQgdXNlciBzaG91bGQgbm90IGJlIGFibGUgdG8g YWNjZXNzIGFueSBvZiB0aGUgcm91dGluZXMuCitjYWxsIG15c3FsdGVzdDEucDEoKTsKK0VSUk9S IDQyMDAwOiBleGVjdXRlIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNlcjEnQCdsb2Nh bGhvc3QnIGZvciByb3V0aW5lICdteXNxbHRlc3QxLnAxJworc2VsZWN0IG15c3FsdGVzdDEuZjEo KTsKK0VSUk9SIDQyMDAwOiBleGVjdXRlIGNvbW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNl cjEnQCdsb2NhbGhvc3QnIGZvciByb3V0aW5lICdteXNxbHRlc3QxLmYxJworIworIyBTd2l0Y2gg dG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCisjCisjIDIpIENoZWNrIHRoYXQgUkVOQU1FIFVTRVIg cHJvcGVybHkgdXBkYXRlcyBwcml2aWxlZ2VzIG9uIGJvdGgKKyMgICAgc3RvcmVkIHByb2NlZHVy ZXMgYW5kIGZ1bmN0aW9ucy4KKyMKK2dyYW50IGV4ZWN1dGUgb24gZnVuY3Rpb24gbXlzcWx0ZXN0 MS5mMSB0byBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK2dyYW50IGV4ZWN1dGUgb24gcHJvY2VkdXJl IG15c3FsdGVzdDEucDEgdG8gbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CisjCisjIENyZWF0ZSBvbmUg bW9yZSB1c2VyIHRvIG1ha2UgaW4tbWVtb3J5IGhhc2hlcyBub24tdHJpdmlhbC4KKyMgVXNlciBu YW1lcyAnbXlzcWx1c2VyMTEnIGFuZCAnbXlzcWx1c2VyMTAnIHdlcmUgc2VsZWN0ZWQKKyMgdG8g dHJpZ2dlciBidWcgZGlzY292ZXJlZCBkdXJpbmcgY29kZSBpbnNwZWN0aW9uLgorY3JlYXRlIHVz ZXIgbXlzcWx1c2VyMTFAbG9jYWxob3N0OworZ3JhbnQgZXhlY3V0ZSBvbiBmdW5jdGlvbiBteXNx bHRlc3QxLmYxIHRvIG15c3FsdXNlcjExQGxvY2FsaG9zdDsKK2dyYW50IGV4ZWN1dGUgb24gcHJv Y2VkdXJlIG15c3FsdGVzdDEucDEgdG8gbXlzcWx1c2VyMTFAbG9jYWxob3N0OworIyBBbHNvIGNy ZWF0ZSBhIGNvdXBsZSBvZiB0YWJsZXMgdG8gdGVzdCBmb3IgYW5vdGhlciBidWcKKyMgZGlzY292 ZXJlZCBkdXJpbmcgY29kZSBpbnNwZWN0aW9uIChhZ2FpbiB0YWJsZSBuYW1lcyB3ZXJlCisjIGNo b3NlbiBlc3BlY2lhbGx5IHRvIHRyaWdnZXIgdGhlIGJ1ZykuCitjcmVhdGUgdGFibGUgbXlzcWx0 ZXN0MS50MTEgKGkgaW50KTsKK2NyZWF0ZSB0YWJsZSBteXNxbHRlc3QxLnQyMiAoaSBpbnQpOwor Z3JhbnQgc2VsZWN0IG9uIG15c3FsdGVzdDEudDIyIHRvIG15c3FsdXNlcjFAbG9jYWxob3N0Owor Z3JhbnQgc2VsZWN0IG9uIG15c3FsdGVzdDEudDExIHRvIG15c3FsdXNlcjFAbG9jYWxob3N0Owor IyBRdWljayB0ZXN0IHRoYXQgZ3JhbnRlZCBwcml2aWxlZ2VzIGFyZSBwcm9wZXJseSByZWZsZWN0 ZWQKKyMgaW4gcHJpdmlsZWdlIHRhYmxlcyBhbmQgaW4gaW4tbWVtb3J5IHN0cnVjdHVyZXMuCitz aG93IGdyYW50cyBmb3IgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitHcmFudHMgZm9yIG15c3FsdXNl cjFAbG9jYWxob3N0CitHUkFOVCBVU0FHRSBPTiAqLiogVE8gJ215c3FsdXNlcjEnQCdsb2NhbGhv c3QnCitHUkFOVCBTRUxFQ1QgT04gYG15c3FsdGVzdDFgLmB0MTFgIFRPICdteXNxbHVzZXIxJ0An bG9jYWxob3N0JworR1JBTlQgU0VMRUNUIE9OIGBteXNxbHRlc3QxYC5gdDIyYCBUTyAnbXlzcWx1 c2VyMSdAJ2xvY2FsaG9zdCcKK0dSQU5UIEVYRUNVVEUgT04gUFJPQ0VEVVJFIGBteXNxbHRlc3Qx YC5gcDFgIFRPICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JworR1JBTlQgRVhFQ1VURSBPTiBGVU5D VElPTiBgbXlzcWx0ZXN0MWAuYGYxYCBUTyAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcKK3NlbGVj dCBkYiwgcm91dGluZV9uYW1lLCByb3V0aW5lX3R5cGUsIHByb2NfcHJpdiBmcm9tIG15c3FsLnBy b2NzX3ByaXYgd2hlcmUgdXNlcj0nbXlzcWx1c2VyMScgYW5kIGhvc3Q9J2xvY2FsaG9zdCc7Citk Yglyb3V0aW5lX25hbWUJcm91dGluZV90eXBlCXByb2NfcHJpdgorbXlzcWx0ZXN0MQlmMQlGVU5D VElPTglFeGVjdXRlCitteXNxbHRlc3QxCXAxCVBST0NFRFVSRQlFeGVjdXRlCitzZWxlY3QgZGIs IHRhYmxlX25hbWUsIHRhYmxlX3ByaXYgZnJvbSBteXNxbC50YWJsZXNfcHJpdiB3aGVyZSB1c2Vy PSdteXNxbHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKK2RiCXRhYmxlX25hbWUJdGFibGVf cHJpdgorbXlzcWx0ZXN0MQl0MTEJU2VsZWN0CitteXNxbHRlc3QxCXQyMglTZWxlY3QKKyMKKyMg U3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2J1ZzM2NTQ0X2NvbjInLgorY2FsbCBteXNxbHRlc3QxLnAx KCk7CitzZWxlY3QgbXlzcWx0ZXN0MS5mMSgpOworbXlzcWx0ZXN0MS5mMSgpCiswCitzZWxlY3Qg KiBmcm9tIG15c3FsdGVzdDEudDExOworaQorc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQyMjsK K2kKKyMKKyMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorcmVuYW1lIHVzZXIgbXlz cWx1c2VyMUBsb2NhbGhvc3QgdG8gbXlzcWx1c2VyMTBAbG9jYWxob3N0OworIworIyBUZXN0IHRo YXQgdGhlcmUgYXJlIG5vIHByaXZpbGVnZXMgbGVmdCBmb3IgbXlzcWx1c2VyMS4KKyMKKyMgU3dp dGNoIHRvIGNvbm5lY3Rpb24gJ2J1ZzM2NTQ0X2NvbjInLgorIyBUaGUgY29ubmVjdGlvbiBjb2xk IGJlIGFsaXZlIGJ1dCBzaG91bGQgbm90IGJlIGFibGUgdG8KKyMgYWNjZXNzIHRvIGFueSBvZiB0 aGUgc3RvcmVkIHJvdXRpbmVzIG9yIHRhYmxlcy4KK2NhbGwgbXlzcWx0ZXN0MS5wMSgpOworRVJS T1IgNDIwMDA6IGV4ZWN1dGUgY29tbWFuZCBkZW5pZWQgdG8gdXNlciAnbXlzcWx1c2VyMSdAJ2xv Y2FsaG9zdCcgZm9yIHJvdXRpbmUgJ215c3FsdGVzdDEucDEnCitzZWxlY3QgbXlzcWx0ZXN0MS5m MSgpOworRVJST1IgNDIwMDA6IGV4ZWN1dGUgY29tbWFuZCBkZW5pZWQgdG8gdXNlciAnbXlzcWx1 c2VyMSdAJ2xvY2FsaG9zdCcgZm9yIHJvdXRpbmUgJ215c3FsdGVzdDEuZjEnCitzZWxlY3QgKiBm cm9tIG15c3FsdGVzdDEudDExOworRVJST1IgNDIwMDA6IFNFTEVDVCBjb21tYW5kIGRlbmllZCB0 byB1c2VyICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3IgdGFibGUgJ3QxMScKK3NlbGVjdCAq IGZyb20gbXlzcWx0ZXN0MS50MjI7CitFUlJPUiA0MjAwMDogU0VMRUNUIGNvbW1hbmQgZGVuaWVk IHRvIHVzZXIgJ215c3FsdXNlcjEnQCdsb2NhbGhvc3QnIGZvciB0YWJsZSAndDIyJworIworIyBT d2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCisjCisjIE5vdyBjcmVhdGUgdXNlciB3aXRo IHRoZSBvbGQgbmFtZSBhbmQgY2hlY2sgdGhhdCBoZQorIyBoYXMgbm90IGluaGVyaXRlZCBwcml2 aWxlZ2VzLgorY3JlYXRlIHVzZXIgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitzaG93IGdyYW50cyBm b3IgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CitHcmFudHMgZm9yIG15c3FsdXNlcjFAbG9jYWxob3N0 CitHUkFOVCBVU0FHRSBPTiAqLiogVE8gJ215c3FsdXNlcjEnQCdsb2NhbGhvc3QnCitzZWxlY3Qg ZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBlLCBwcm9jX3ByaXYgZnJvbSBteXNxbC5wcm9j c19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEnIGFuZCBob3N0PSdsb2NhbGhvc3QnOworZGIJ cm91dGluZV9uYW1lCXJvdXRpbmVfdHlwZQlwcm9jX3ByaXYKK3NlbGVjdCBkYiwgdGFibGVfbmFt ZSwgdGFibGVfcHJpdiBmcm9tIG15c3FsLnRhYmxlc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNl cjEnIGFuZCBob3N0PSdsb2NhbGhvc3QnOworZGIJdGFibGVfbmFtZQl0YWJsZV9wcml2CisjCisj IENyZWF0ZSBjb25uZWN0aW9uICdidWdfMzY1NDRfY29uMycgYXMgJ215c3FsdXNlcjFAbG9jYWxo b3N0Jy4KKyMgTmV3bHkgY3JlYXRlZCB1c2VyIHNob3VsZCBub3QgYmUgYWJsZSB0byBhY2Nlc3Mg dG8gYW55IG9mIHRoZQorIyBzdG9yZWQgcm91dGluZXMgb3IgdGFibGVzLgorY2FsbCBteXNxbHRl c3QxLnAxKCk7CitFUlJPUiA0MjAwMDogZXhlY3V0ZSBjb21tYW5kIGRlbmllZCB0byB1c2VyICdt eXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3Igcm91dGluZSAnbXlzcWx0ZXN0MS5wMScKK3NlbGVj dCBteXNxbHRlc3QxLmYxKCk7CitFUlJPUiA0MjAwMDogZXhlY3V0ZSBjb21tYW5kIGRlbmllZCB0 byB1c2VyICdteXNxbHVzZXIxJ0AnbG9jYWxob3N0JyBmb3Igcm91dGluZSAnbXlzcWx0ZXN0MS5m MScKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MTE7CitFUlJPUiA0MjAwMDogU0VMRUNUIGNv bW1hbmQgZGVuaWVkIHRvIHVzZXIgJ215c3FsdXNlcjEnQCdsb2NhbGhvc3QnIGZvciB0YWJsZSAn dDExJworc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQyMjsKK0VSUk9SIDQyMDAwOiBTRUxFQ1Qg Y29tbWFuZCBkZW5pZWQgdG8gdXNlciAnbXlzcWx1c2VyMSdAJ2xvY2FsaG9zdCcgZm9yIHRhYmxl ICd0MjInCisjCisjIFN3aXRjaCB0byBjb25uZWN0aW9uICdkZWZhdWx0Jy4KKyMKKyMgTm93IGNo ZWNrIHRoYXQgcHJpdmlsZWdlcyBiZWNhbWUgYXNzb2NpYXRlZCB3aXRoIGEgbmV3IHVzZXIKKyMg bmFtZSAtIG15c3FsdXNlcjEwLgorIworc2hvdyBncmFudHMgZm9yIG15c3FsdXNlcjEwQGxvY2Fs aG9zdDsKK0dyYW50cyBmb3IgbXlzcWx1c2VyMTBAbG9jYWxob3N0CitHUkFOVCBVU0FHRSBPTiAq LiogVE8gJ215c3FsdXNlcjEwJ0AnbG9jYWxob3N0JworR1JBTlQgU0VMRUNUIE9OIGBteXNxbHRl c3QxYC5gdDIyYCBUTyAnbXlzcWx1c2VyMTAnQCdsb2NhbGhvc3QnCitHUkFOVCBTRUxFQ1QgT04g YG15c3FsdGVzdDFgLmB0MTFgIFRPICdteXNxbHVzZXIxMCdAJ2xvY2FsaG9zdCcKK0dSQU5UIEVY RUNVVEUgT04gUFJPQ0VEVVJFIGBteXNxbHRlc3QxYC5gcDFgIFRPICdteXNxbHVzZXIxMCdAJ2xv Y2FsaG9zdCcKK0dSQU5UIEVYRUNVVEUgT04gRlVOQ1RJT04gYG15c3FsdGVzdDFgLmBmMWAgVE8g J215c3FsdXNlcjEwJ0AnbG9jYWxob3N0Jworc2VsZWN0IGRiLCByb3V0aW5lX25hbWUsIHJvdXRp bmVfdHlwZSwgcHJvY19wcml2IGZyb20gbXlzcWwucHJvY3NfcHJpdiB3aGVyZSB1c2VyPSdteXNx bHVzZXIxMCcgYW5kIGhvc3Q9J2xvY2FsaG9zdCc7CitkYglyb3V0aW5lX25hbWUJcm91dGluZV90 eXBlCXByb2NfcHJpdgorbXlzcWx0ZXN0MQlmMQlGVU5DVElPTglFeGVjdXRlCitteXNxbHRlc3Qx CXAxCVBST0NFRFVSRQlFeGVjdXRlCitzZWxlY3QgZGIsIHRhYmxlX25hbWUsIHRhYmxlX3ByaXYg ZnJvbSBteXNxbC50YWJsZXNfcHJpdiB3aGVyZSB1c2VyPSdteXNxbHVzZXIxMCcgYW5kIGhvc3Q9 J2xvY2FsaG9zdCc7CitkYgl0YWJsZV9uYW1lCXRhYmxlX3ByaXYKK215c3FsdGVzdDEJdDExCVNl bGVjdAorbXlzcWx0ZXN0MQl0MjIJU2VsZWN0CisjCisjIENyZWF0ZSBjb25uZWN0aW9uICdidWdf MzY1NDRfY29uNCcgYXMgJ215c3FsdXNlcjEwQGxvY2FsaG9zdCcuCitjYWxsIG15c3FsdGVzdDEu cDEoKTsKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7CitteXNxbHRlc3QxLmYxKCkKKzAKK3NlbGVj dCAqIGZyb20gbXlzcWx0ZXN0MS50MTE7CitpCitzZWxlY3QgKiBmcm9tIG15c3FsdGVzdDEudDIy OworaQorIworIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAnZGVmYXVsdCcuCisjCisjIENsZWFuLXVw LgorZHJvcCB1c2VyIG15c3FsdXNlcjFAbG9jYWxob3N0OworZHJvcCB1c2VyIG15c3FsdXNlcjEw QGxvY2FsaG9zdDsKK2Ryb3AgdXNlciBteXNxbHVzZXIxMUBsb2NhbGhvc3Q7Citkcm9wIGRhdGFi YXNlIG15c3FsdGVzdDE7CiBFbmQgb2YgNS4wIHRlc3RzCiBzZXQgbmFtZXMgdXRmODsKIGdyYW50 IHNlbGVjdCBvbiB0ZXN0LiogdG8g77+977+977+977+977+977+977+977+9X++/ve+/ve+/ve+/ ve+/ve+/ve+/ve+/vUBsb2NhbGhvc3Q7CkBAIC0xNTQ2LDExICsxNzM5LDcgQEAgZm4yKCkKIDIK IERST1AgVVNFUiAndXNlcmJ1ZzMzNDY0J0AnbG9jYWxob3N0JzsKIERST1AgRlVOQ1RJT04gZm4x OwotV2FybmluZ3M6Ci1XYXJuaW5nCTE0MDMJVGhlcmUgaXMgbm8gc3VjaCBncmFudCBkZWZpbmVk IGZvciB1c2VyICd1c2VyYnVnMzM0NjQnIG9uIGhvc3QgJ2xvY2FsaG9zdCcgb24gcm91dGluZSAn Zm4xJwogRFJPUCBGVU5DVElPTiBmbjI7Ci1XYXJuaW5nczoKLVdhcm5pbmcJMTQwMwlUaGVyZSBp cyBubyBzdWNoIGdyYW50IGRlZmluZWQgZm9yIHVzZXIgJ3VzZXJidWczMzQ2NCcgb24gaG9zdCAn bG9jYWxob3N0JyBvbiByb3V0aW5lICdmbjInCiBEUk9QIFBST0NFRFVSRSBzcDM7CiBEUk9QIFVT RVIgJ3VzZXJidWczMzQ2NCdAJ2xvY2FsaG9zdCc7CiBVU0UgdGVzdDsKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3IvcGFydGl0aW9uLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3Bh cnRpdGlvbi5yZXN1bHQJMjAxMS0wMy0wOCAxNzozOToyNSArMDAwMAorKysgYi9teXNxbC10ZXN0 L3IvcGFydGl0aW9uLnJlc3VsdAkyMDExLTAzLTExIDA5OjEyOjU4ICswMDAwCkBAIC0xLDUgKzEs NDMgQEAKIGRyb3AgdGFibGUgaWYgZXhpc3RzIHQxLCB0MjsKICMKKyMgQnVnIzU5Mjk3OiBDYW4n dCBmaW5kIHJlY29yZCBpbiAndGFibGVuYW1lJyBvbiB1cGRhdGUgaW5uZXIgam9pbgorIworQ1JF QVRFIFRBQkxFIHQxICgKK2EgY2hhcigyKSBOT1QgTlVMTCwKK2IgY2hhcigyKSBOT1QgTlVMTCwK K2MgaW50KDEwKSB1bnNpZ25lZCBOT1QgTlVMTCwKK2QgdmFyY2hhcigyNTUpIERFRkFVTFQgTlVM TCwKK2UgdmFyY2hhcigxMDAwKSBERUZBVUxUIE5VTEwsCitQUklNQVJZIEtFWSAoYSwgYiwgYyks CitLRVkgKGEpLAorS0VZIChhLCBiKQorKQorLyohNTAxMDAgUEFSVElUSU9OIEJZIEtFWSAoYSkK K1BBUlRJVElPTlMgMjAgKi87CitJTlNFUlQgSU5UTyB0MSAoYSwgYiwgYywgZCwgZSkgVkFMVUVT CisoJzA3JywgJzAzJywgMzQzLCAnMScsICcwN18wM18zNDMnKSwKKygnMDEnLCAnMDQnLCAzNDMs ICcyJywgJzAxXzA0XzM0MycpLAorKCcwMScsICcwNicsIDM0MywgJzMnLCAnMDFfMDZfMzQzJyks CisoJzAxJywgJzA3JywgMzQzLCAnNCcsICcwMV8wN18zNDMnKSwKKygnMDEnLCAnMDgnLCAzNDMs ICc1JywgJzAxXzA4XzM0MycpLAorKCcwMScsICcwOScsIDM0MywgJzYnLCAnMDFfMDlfMzQzJyks CisoJzAzJywgJzAzJywgMzQzLCAnNycsICcwM18wM18zNDMnKSwKKygnMDMnLCAnMDYnLCAzNDMs ICc4JywgJzAzXzA2XzM0MycpLAorKCcwMycsICcwNycsIDM0MywgJzknLCAnMDNfMDdfMzQzJyks CisoJzA0JywgJzAzJywgMzQzLCAnMTAnLCAnMDRfMDNfMzQzJyksCisoJzA0JywgJzA2JywgMzQz LCAnMTEnLCAnMDRfMDZfMzQzJyksCisoJzA1JywgJzAzJywgMzQzLCAnMTInLCAnMDVfMDNfMzQz JyksCisoJzExJywgJzAzJywgMzQzLCAnMTMnLCAnMTFfMDNfMzQzJyksCisoJzExJywgJzA0Jywg MzQzLCAnMTQnLCAnMTFfMDRfMzQzJykKKzsKK1VQREFURSB0MSBBUyBBLAorKFNFTEVDVCAnMDMn IEFTIGEsICcwNicgQVMgYiwgMzQzIEFTIGMsICdsYXN0JyBBUyBkKSBBUyBCCitTRVQgQS5lID0g Qi5kICAKK1dIRVJFIEEuYSA9ICcwMycgIAorQU5EIEEuYiA9ICcwNicgCitBTkQgQS5jID0gMzQz OworRFJPUCBUQUJMRSB0MTsKKyMKICMgQnVnIzU3Nzc4OiBmYWlsZWQgcHJpbWFyeSBrZXkgYWRk IHRvIHBhcnRpdGlvbmVkIGlubm9kYiB0YWJsZQogIyAgICAgICAgICAgIGluY29uc2lzdGVudCBh bmQgY3Jhc2hlcwogIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9zcC5yZXN1bHQn Ci0tLSBhL215c3FsLXRlc3Qvci9zcC5yZXN1bHQJMjAxMC0wNy0zMCAxNToyODozNiArMDAwMAor KysgYi9teXNxbC10ZXN0L3Ivc3AucmVzdWx0CTIwMTEtMDMtMTAgMDg6MDc6NTcgKzAwMDAKQEAg LTc0NTIsNCArNzQ1MiwzNCBAQCBjMQogIyBDbGVhbnVwCiBkcm9wIHRhYmxlIHQxOwogZHJvcCBw cm9jZWR1cmUgcDE7CisKKyMgLS0KKyMgLS0gQnVnIDExNzY1Njg0IC0gNTg2NzQ6IFNQLWNhY2hl IGRvZXMgbm90IGRldGVjdCBjaGFuZ2VzIGluCisjIC0tIHByZS1sb2NraW5nIGxpc3QgY2F1c2Vk IGJ5IHRyaWdnZXJzCisjIC0tLSAKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHQxOworRFJPUCBUQUJM RSBJRiBFWElTVFMgdDI7CitEUk9QIFRBQkxFIElGIEVYSVNUUyB0MzsKK0RST1AgUFJPQ0VEVVJF IElGIEVYSVNUUyBwMTsKK0NSRUFURSBUQUJMRSB0MShhIElOVCk7CitDUkVBVEUgVEFCTEUgdDIo YSBJTlQpOworQ1JFQVRFIFRBQkxFIHQzKGEgSU5UKTsKK0NSRUFURSBQUk9DRURVUkUgcDEoKQor SU5TRVJUIElOVE8gdDEoYSkgVkFMVUVTICgxKTsKKworQ1JFQVRFIFRSSUdHRVIgdDFfYWkgQUZU RVIgSU5TRVJUIE9OIHQxCitGT1IgRUFDSCBST1cKK0lOU0VSVCBJTlRPIHQyKGEpIFZBTFVFUyAo bmV3LmEpOworCitDQUxMIHAxKCk7CisKK0NSRUFURSBUUklHR0VSIHQxX2JpIEJFRk9SRSBJTlNF UlQgT04gdDEKK0ZPUiBFQUNIIFJPVworSU5TRVJUIElOVE8gdDMoYSkgVkFMVUVTIChuZXcuYSk7 CisKK0NBTEwgcDEoKTsKKworRFJPUCBUQUJMRSB0MSwgdDIsIHQzOworRFJPUCBQUk9DRURVUkUg cDE7CisKICMgRW5kIG9mIDUuNSB0ZXN0Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9y L3RyaWdnZXIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvdHJpZ2dlci5yZXN1bHQJMjAxMC0x MC0yNiAxMTo0ODowOCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvdHJpZ2dlci5yZXN1bHQJMjAx MS0wMy0xMCAwODowNzo1NyArMDAwMApAQCAtODIxLDcgKzgyMSw2IEBAIGRyb3AgdHJpZ2dlciB0 MV9iaTsKIGNyZWF0ZSB0cmlnZ2VyIHQxX2JpIGFmdGVyIGluc2VydCBvbiB0MSBmb3IgZWFjaCBy b3cgaW5zZXJ0IGludG8gdDMgdmFsdWVzIChuZXcuaWQpOwogZXhlY3V0ZSBzdG10MTsKIGNhbGwg cDEoKTsKLUVSUk9SIDQyUzAyOiBUYWJsZSAndGVzdC50MycgZG9lc24ndCBleGlzdAogZGVhbGxv Y2F0ZSBwcmVwYXJlIHN0bXQxOwogZHJvcCBwcm9jZWR1cmUgcDE7CiBkcm9wIHRhYmxlIHQxLCB0 MiwgdDM7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvaW5u b2RiX3N0b3JlZHByb2NfMDYucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEv ci9pbm5vZGJfc3RvcmVkcHJvY18wNi5yZXN1bHQJMjAxMC0xMC0wNyAxNjowMToxNyArMDAwMAor KysgYi9teXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pbm5vZGJfc3RvcmVkcHJvY18wNi5yZXN1 bHQJMjAxMS0wMy0wOSAxNDowNDo1MCArMDAwMApAQCAtMTI4LDggKzEyOCw2IEBAIHJvb3RAbG9j YWxob3N0CWRiX3N0b3JlZHByb2NfMQogZHJvcCB1c2VyICd1c2VyXzEnQCdsb2NhbGhvc3QnOwog RFJPUCBQUk9DRURVUkUgc3AzOwogRFJPUCBGVU5DVElPTiBmbjE7Ci1XYXJuaW5nczoKLVdhcm5p bmcJMTQwMwlUaGVyZSBpcyBubyBzdWNoIGdyYW50IGRlZmluZWQgZm9yIHVzZXIgJ3VzZXJfMScg b24gaG9zdCAnbG9jYWxob3N0JyBvbiByb3V0aW5lICdmbjEnCiAKIFRlc3RjYXNlIDMuMS42LjQ6 CiAtLS0tLS0tLS0tLS0tLS0tLQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUv ZnVuY3NfMS9yL21lbW9yeV9zdG9yZWRwcm9jXzA2LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9z dWl0ZS9mdW5jc18xL3IvbWVtb3J5X3N0b3JlZHByb2NfMDYucmVzdWx0CTIwMTAtMTAtMDcgMTY6 MDE6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3IvbWVtb3J5X3N0b3Jl ZHByb2NfMDYucmVzdWx0CTIwMTEtMDMtMDkgMTQ6MDQ6NTAgKzAwMDAKQEAgLTEyOSw4ICsxMjks NiBAQCByb290QGxvY2FsaG9zdAlkYl9zdG9yZWRwcm9jXzEKIGRyb3AgdXNlciAndXNlcl8xJ0An bG9jYWxob3N0JzsKIERST1AgUFJPQ0VEVVJFIHNwMzsKIERST1AgRlVOQ1RJT04gZm4xOwotV2Fy bmluZ3M6Ci1XYXJuaW5nCTE0MDMJVGhlcmUgaXMgbm8gc3VjaCBncmFudCBkZWZpbmVkIGZvciB1 c2VyICd1c2VyXzEnIG9uIGhvc3QgJ2xvY2FsaG9zdCcgb24gcm91dGluZSAnZm4xJwogCiBUZXN0 Y2FzZSAzLjEuNi40OgogLS0tLS0tLS0tLS0tLS0tLS0KCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9teWlzYW1fc3RvcmVkcHJvY18wNi5yZXN1bHQnCi0tLSBh L215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL215aXNhbV9zdG9yZWRwcm9jXzA2LnJlc3VsdAky MDEwLTEwLTA3IDE2OjAxOjE3ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9y L215aXNhbV9zdG9yZWRwcm9jXzA2LnJlc3VsdAkyMDExLTAzLTA5IDE0OjA0OjUwICswMDAwCkBA IC0xMjksOCArMTI5LDYgQEAgcm9vdEBsb2NhbGhvc3QJZGJfc3RvcmVkcHJvY18xCiBkcm9wIHVz ZXIgJ3VzZXJfMSdAJ2xvY2FsaG9zdCc7CiBEUk9QIFBST0NFRFVSRSBzcDM7CiBEUk9QIEZVTkNU SU9OIGZuMTsKLVdhcm5pbmdzOgotV2FybmluZwkxNDAzCVRoZXJlIGlzIG5vIHN1Y2ggZ3JhbnQg ZGVmaW5lZCBmb3IgdXNlciAndXNlcl8xJyBvbiBob3N0ICdsb2NhbGhvc3QnIG9uIHJvdXRpbmUg J2ZuMScKIAogVGVzdGNhc2UgMy4xLjYuNDoKIC0tLS0tLS0tLS0tLS0tLS0tCgo9PT0gbW9kaWZp ZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3N0b3JlZHByb2Mvc3RvcmVkcHJvY18w Ni5pbmMnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9zdG9yZWRwcm9jL3N0b3JlZHBy b2NfMDYuaW5jCTIwMTAtMTAtMDcgMTY6MDE6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9mdW5jc18xL3N0b3JlZHByb2Mvc3RvcmVkcHJvY18wNi5pbmMJMjAxMS0wMy0wOSAxNDowNDo1 MCArMDAwMApAQCAtMTQ5LDEwICsxNDksNiBAQCBVU0UgZGJfc3RvcmVkcHJvY18xOwogCiBkcm9w IHVzZXIgJ3VzZXJfMSdAJ2xvY2FsaG9zdCc7CiBEUk9QIFBST0NFRFVSRSBzcDM7Ci0jIFRoaXMg ZHJvcCBmdW5jdGlvbiBzaG91bGRuJ3QgZ2VuZXJhdGVkIGEgd2FybmluZyBhcyB0aGUKLSMgcHJp dmlsZWdlcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgd2hlbiB0aGUgdXNlciB3YXMKLSMgZHJv cHBlZC4gUmVwb3J0ZWQgYXMgQnVnIzM2NTQ0IERST1AgVVNFUiBkb2VzIG5vdCByZW1vdmUKLSMg c3RvcmVkIGZ1bmN0aW9uIHByaXZpbGVnZXMKIERST1AgRlVOQ1RJT04gZm4xOwogCiAKCj09PSBh ZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3BlcmZzY2hlbWEvci9yZWxheWxvZy5yZXN1bHQn Ci0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3JlbGF5bG9nLnJlc3VsdAkxOTcw LTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9y L3JlbGF5bG9nLnJlc3VsdAkyMDExLTAzLTEwIDEyOjAyOjI4ICswMDAwCkBAIC0wLDAgKzEsMTYx IEBACitpbmNsdWRlL21hc3Rlci1zbGF2ZS5pbmMKK1tjb25uZWN0aW9uIG1hc3Rlcl0KK2Ryb3Ag dGFibGUgaWYgZXhpc3RzIHRlc3QudDE7CityZXNldCBtYXN0ZXI7CitjcmVhdGUgdGFibGUgdGVz dC50MShhIGludCk7Citkcm9wIHRhYmxlIHRlc3QudDE7CitzaG93IGJpbmxvZyBldmVudHMgZnJv bSA8YmlubG9nX3N0YXJ0PjsKK0xvZ19uYW1lCVBvcwlFdmVudF90eXBlCVNlcnZlcl9pZAlFbmRf bG9nX3BvcwlJbmZvCitzbGF2ZS1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IGNy ZWF0ZSB0YWJsZSB0ZXN0LnQxKGEgaW50KQorc2xhdmUtYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1 c2UgYHRlc3RgOyBEUk9QIFRBQkxFIGB0MWAgLyogZ2VuZXJhdGVkIGJ5IHNlcnZlciAqLworIj09 PT09PT09PT09PSBQZXJmb3JtYW5jZSBzY2hlbWEgb24gbWFzdGVyID09PT09PT09PT09PSIKK3Nl bGVjdAorc3Vic3RyaW5nKGZpbGVfbmFtZSwgbG9jYXRlKCJtYXN0ZXItIiwgZmlsZV9uYW1lKSkg YXMgRklMRV9OQU1FLAorRVZFTlRfTkFNRSwKK2lmIChjb3VudF9yZWFkID4gMCwgIk1BTlkiLCAi Tk9ORSIpIGFzIENPVU5UX1JFQUQsCitpZiAoY291bnRfd3JpdGUgPiAwLCJNQU5ZIiwgIk5PTkUi KSBhcyBDT1VOVF9XUklURSwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAiTUFO WSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAoraWYgKHN1bV9udW1iZXJf b2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRF U19XUklURQorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5X2J5X2luc3RhbmNl Cit3aGVyZSBmaWxlX25hbWUgbGlrZSAiJW1hc3Rlci0lIiBvcmRlciBieSBmaWxlX25hbWU7CitG SUxFX05BTUUJRVZFTlRfTkFNRQlDT1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0Zf QllURVNfUkVBRAlTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCittYXN0ZXItYmluLjAwMDAwMQl3 YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZwlNQU5ZCU1BTlkJTUFOWQlNQU5ZCittYXN0ZXItYmluLmlu ZGV4CXdhaXQvaW8vZmlsZS9zcWwvYmlubG9nX2luZGV4CU5PTkUJTUFOWQlOT05FCU1BTlkKK3Nl bGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQor d2hlcmUgZmlsZV9uYW1lIGxpa2UgIiVzbGF2ZS0lIiBvcmRlciBieSBmaWxlX25hbWU7CitGSUxF X05BTUUJRVZFTlRfTkFNRQlDT1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllU RVNfUkVBRAlTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCisiRXhwZWN0IGEgbWFzdGVyIGJpbmxv ZyArIGJpbmxvZ19pbmRleCIKK3NlbGVjdAorc3Vic3RyaW5nKGZpbGVfbmFtZSwgbG9jYXRlKCJt YXN0ZXItIiwgZmlsZV9uYW1lKSkgYXMgRklMRV9OQU1FLAorRVZFTlRfTkFNRSwKK2lmIChjb3Vu dF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCitpZiAoY291bnRfd3Jp dGUgPiAwLCJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9XUklURSwKK2lmIChzdW1fbnVtYmVyX29m X2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19S RUFELAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikg YXMgU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmls ZV9zdW1tYXJ5X2J5X2luc3RhbmNlCit3aGVyZSBldmVudF9uYW1lIGxpa2UgIiViaW5sb2clIiBv cmRlciBieSBmaWxlX25hbWU7CitGSUxFX05BTUUJRVZFTlRfTkFNRQlDT1VOVF9SRUFECUNPVU5U X1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRAlTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRF CittYXN0ZXItYmluLjAwMDAwMQl3YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZwlNQU5ZCU1BTlkJTUFO WQlNQU5ZCittYXN0ZXItYmluLmluZGV4CXdhaXQvaW8vZmlsZS9zcWwvYmlubG9nX2luZGV4CU5P TkUJTUFOWQlOT05FCU1BTlkKK3NlbGVjdAorRVZFTlRfTkFNRSwKK2lmIChjb3VudF9yZWFkID4g MCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCitpZiAoY291bnRfd3JpdGUgPiAwLCJN QU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9XUklURSwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3Jl YWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAoraWYg KHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05V TUJFUl9PRl9CWVRFU19XUklURQorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5 X2J5X2V2ZW50X25hbWUKK3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJWJpbmxvZyUiIG9yZGVyIGJ5 IGV2ZW50X25hbWU7CitFVkVOVF9OQU1FCUNPVU5UX1JFQUQJQ09VTlRfV1JJVEUJU1VNX05VTUJF Ul9PRl9CWVRFU19SRUFECVNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUKK3dhaXQvaW8vZmlsZS9z cWwvYmlubG9nCU1BTlkJTUFOWQlNQU5ZCU1BTlkKK3dhaXQvaW8vZmlsZS9zcWwvYmlubG9nX2lu ZGV4CU5PTkUJTUFOWQlOT05FCU1BTlkKK3NlbGVjdAorRVZFTlRfTkFNRSwKK2lmIChjb3VudF9z dGFyID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1NUQVIKK2Zyb20gcGVyZm9ybWFuY2Vf c2NoZW1hLmV2ZW50c193YWl0c19zdW1tYXJ5X2dsb2JhbF9ieV9ldmVudF9uYW1lCit3aGVyZSBl dmVudF9uYW1lIGxpa2UgIiVNWVNRTF9CSU5fTE9HJSIgb3JkZXIgYnkgZXZlbnRfbmFtZTsKK0VW RU5UX05BTUUJQ09VTlRfU1RBUgord2FpdC9zeW5jaC9jb25kL3NxbC9NWVNRTF9CSU5fTE9HOjpD T05EX3ByZXBfeGlkcwlOT05FCit3YWl0L3N5bmNoL2NvbmQvc3FsL01ZU1FMX0JJTl9MT0c6OnVw ZGF0ZV9jb25kCU1BTlkKK3dhaXQvc3luY2gvbXV0ZXgvc3FsL01ZU1FMX0JJTl9MT0c6OkxPQ0tf aW5kZXgJTUFOWQord2FpdC9zeW5jaC9tdXRleC9zcWwvTVlTUUxfQklOX0xPRzo6TE9DS19wcmVw X3hpZHMJTk9ORQorIkV4cGVjdCBubyBzbGF2ZSByZWxheSBsb2ciCitzZWxlY3QgKiBmcm9tIHBl cmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKK3doZXJlIGV2ZW50X25h bWUgbGlrZSAiJXJlbGF5bG9nJSIgb3JkZXIgYnkgZmlsZV9uYW1lOworRklMRV9OQU1FCUVWRU5U X05BTUUJQ09VTlRfUkVBRAlDT1VOVF9XUklURQlTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQJU1VN X05VTUJFUl9PRl9CWVRFU19XUklURQorc2VsZWN0ICogZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEu ZmlsZV9zdW1tYXJ5X2J5X2V2ZW50X25hbWUKK3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJXJlbGF5 bG9nJSIgb3JkZXIgYnkgZXZlbnRfbmFtZTsKK0VWRU5UX05BTUUJQ09VTlRfUkVBRAlDT1VOVF9X UklURQlTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQJU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQor d2FpdC9pby9maWxlL3NxbC9yZWxheWxvZwkwCTAJMAkwCit3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5 bG9nX2luZGV4CTAJMAkwCTAKK3NlbGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50 c193YWl0c19zdW1tYXJ5X2dsb2JhbF9ieV9ldmVudF9uYW1lCit3aGVyZSBldmVudF9uYW1lIGxp a2UgIiVNWVNRTF9SRUxBWV9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOworRVZFTlRfTkFNRQlD T1VOVF9TVEFSCVNVTV9USU1FUl9XQUlUCU1JTl9USU1FUl9XQUlUCUFWR19USU1FUl9XQUlUCU1B WF9USU1FUl9XQUlUCit3YWl0L3N5bmNoL2NvbmQvc3FsL01ZU1FMX1JFTEFZX0xPRzo6dXBkYXRl X2NvbmQJMAkwCTAJMAkwCit3YWl0L3N5bmNoL211dGV4L3NxbC9NWVNRTF9SRUxBWV9MT0c6OkxP Q0tfaW5kZXgJMAkwCTAJMAkwCisiPT09PT09PT09PT09IFBlcmZvcm1hbmNlIHNjaGVtYSBvbiBz bGF2ZSA9PT09PT09PT09PT0iCitzZWxlY3QgKiBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxl X3N1bW1hcnlfYnlfaW5zdGFuY2UKK3doZXJlIGZpbGVfbmFtZSBsaWtlICIlbWFzdGVyLSUiIG9y ZGVyIGJ5IGZpbGVfbmFtZTsKK0ZJTEVfTkFNRQlFVkVOVF9OQU1FCUNPVU5UX1JFQUQJQ09VTlRf V1JJVEUJU1VNX05VTUJFUl9PRl9CWVRFU19SRUFECVNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUK K3NlbGVjdAorc3Vic3RyaW5nKGZpbGVfbmFtZSwgbG9jYXRlKCJzbGF2ZS0iLCBmaWxlX25hbWUp KSBhcyBGSUxFX05BTUUsCitFVkVOVF9OQU1FLAoraWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIs ICJOT05FIikgYXMgQ09VTlRfUkVBRCwKK2lmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9O RSIpIGFzIENPVU5UX1dSSVRFLAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+IDAsICJN QU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCitpZiAoc3VtX251bWJl cl9vZl9ieXRlc193cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZ VEVTX1dSSVRFCitmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFu Y2UKK3doZXJlIGZpbGVfbmFtZSBsaWtlICIlc2xhdmUtJSIgb3JkZXIgYnkgZmlsZV9uYW1lOwor RklMRV9OQU1FCUVWRU5UX05BTUUJQ09VTlRfUkVBRAlDT1VOVF9XUklURQlTVU1fTlVNQkVSX09G X0JZVEVTX1JFQUQJU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorc2xhdmUtYmluLjAwMDAwMQl3 YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZwlNQU5ZCU1BTlkJTUFOWQlNQU5ZCitzbGF2ZS1iaW4uaW5k ZXgJd2FpdC9pby9maWxlL3NxbC9iaW5sb2dfaW5kZXgJTk9ORQlNQU5ZCU5PTkUJTUFOWQorc2xh dmUtcmVsYXktYmluLjAwMDAwMQl3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nCU1BTlkJTUFOWQlN QU5ZCU1BTlkKK3NsYXZlLXJlbGF5LWJpbi4wMDAwMDIJd2FpdC9pby9maWxlL3NxbC9yZWxheWxv ZwlNQU5ZCU1BTlkJTUFOWQlNQU5ZCitzbGF2ZS1yZWxheS1iaW4uaW5kZXgJd2FpdC9pby9maWxl L3NxbC9yZWxheWxvZ19pbmRleAlNQU5ZCU1BTlkJTUFOWQlNQU5ZCisiRXhwZWN0IGEgc2xhdmUg YmlubG9nICsgYmlubG9nX2luZGV4Igorc2VsZWN0CitzdWJzdHJpbmcoZmlsZV9uYW1lLCBsb2Nh dGUoInNsYXZlLSIsIGZpbGVfbmFtZSkpIGFzIEZJTEVfTkFNRSwKK0VWRU5UX05BTUUsCitpZiAo Y291bnRfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VOVF9SRUFELAoraWYgKGNvdW50 X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfV1JJVEUsCitpZiAoc3VtX251bWJl cl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllU RVNfUkVBRCwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3dyaXRlID4gMCwgIk1BTlkiLCAiTk9O RSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUKK2Zyb20gcGVyZm9ybWFuY2Vfc2NoZW1h LmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQord2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlYmlubG9n JSIgb3JkZXIgYnkgZmlsZV9uYW1lOworRklMRV9OQU1FCUVWRU5UX05BTUUJQ09VTlRfUkVBRAlD T1VOVF9XUklURQlTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQJU1VNX05VTUJFUl9PRl9CWVRFU19X UklURQorc2xhdmUtYmluLjAwMDAwMQl3YWl0L2lvL2ZpbGUvc3FsL2JpbmxvZwlNQU5ZCU1BTlkJ TUFOWQlNQU5ZCitzbGF2ZS1iaW4uaW5kZXgJd2FpdC9pby9maWxlL3NxbC9iaW5sb2dfaW5kZXgJ Tk9ORQlNQU5ZCU5PTkUJTUFOWQorc2VsZWN0CitFVkVOVF9OQU1FLAoraWYgKGNvdW50X3JlYWQg PiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfUkVBRCwKK2lmIChjb3VudF93cml0ZSA+IDAs Ik1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRFLAoraWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNf cmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCitp ZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1f TlVNQkVSX09GX0JZVEVTX1dSSVRFCitmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1h cnlfYnlfZXZlbnRfbmFtZQord2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlYmlubG9nJSIgb3JkZXIg YnkgZXZlbnRfbmFtZTsKK0VWRU5UX05BTUUJQ09VTlRfUkVBRAlDT1VOVF9XUklURQlTVU1fTlVN QkVSX09GX0JZVEVTX1JFQUQJU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQord2FpdC9pby9maWxl L3NxbC9iaW5sb2cJTUFOWQlNQU5ZCU1BTlkJTUFOWQord2FpdC9pby9maWxlL3NxbC9iaW5sb2df aW5kZXgJTk9ORQlNQU5ZCU5PTkUJTUFOWQorc2VsZWN0CitFVkVOVF9OQU1FLAoraWYgKGNvdW50 X3N0YXIgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfU1RBUgorZnJvbSBwZXJmb3JtYW5j ZV9zY2hlbWEuZXZlbnRzX3dhaXRzX3N1bW1hcnlfZ2xvYmFsX2J5X2V2ZW50X25hbWUKK3doZXJl IGV2ZW50X25hbWUgbGlrZSAiJU1ZU1FMX0JJTl9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOwor RVZFTlRfTkFNRQlDT1VOVF9TVEFSCit3YWl0L3N5bmNoL2NvbmQvc3FsL01ZU1FMX0JJTl9MT0c6 OkNPTkRfcHJlcF94aWRzCU5PTkUKK3dhaXQvc3luY2gvY29uZC9zcWwvTVlTUUxfQklOX0xPRzo6 dXBkYXRlX2NvbmQJTk9ORQord2FpdC9zeW5jaC9tdXRleC9zcWwvTVlTUUxfQklOX0xPRzo6TE9D S19pbmRleAlNQU5ZCit3YWl0L3N5bmNoL211dGV4L3NxbC9NWVNRTF9CSU5fTE9HOjpMT0NLX3By ZXBfeGlkcwlOT05FCisiRXhwZWN0IGEgc2xhdmUgcmVsYXkgbG9nIgorc2VsZWN0CitzdWJzdHJp bmcoZmlsZV9uYW1lLCBsb2NhdGUoInNsYXZlLSIsIGZpbGVfbmFtZSkpIGFzIEZJTEVfTkFNRSwK K0VWRU5UX05BTUUsCitpZiAoY291bnRfcmVhZCA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBDT1VO VF9SRUFELAoraWYgKGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfV1JJ VEUsCitpZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFz IFNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3dyaXRl ID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfV1JJVEUKK2Zyb20g cGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9pbnN0YW5jZQord2hlcmUgZXZlbnRf bmFtZSBsaWtlICIlcmVsYXlsb2clIiBvcmRlciBieSBmaWxlX25hbWU7CitGSUxFX05BTUUJRVZF TlRfTkFNRQlDT1VOVF9SRUFECUNPVU5UX1dSSVRFCVNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRAlT VU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCitzbGF2ZS1yZWxheS1iaW4uMDAwMDAxCXdhaXQvaW8v ZmlsZS9zcWwvcmVsYXlsb2cJTUFOWQlNQU5ZCU1BTlkJTUFOWQorc2xhdmUtcmVsYXktYmluLjAw MDAwMgl3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nCU1BTlkJTUFOWQlNQU5ZCU1BTlkKK3NsYXZl LXJlbGF5LWJpbi5pbmRleAl3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nX2luZGV4CU1BTlkJTUFO WQlNQU5ZCU1BTlkKK3NlbGVjdAorRVZFTlRfTkFNRSwKK2lmIChjb3VudF9yZWFkID4gMCwgIk1B TlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCitpZiAoY291bnRfd3JpdGUgPiAwLCJNQU5ZIiwg Ik5PTkUiKSBhcyBDT1VOVF9XUklURSwKK2lmIChzdW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAw LCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAoraWYgKHN1bV9u dW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9P Rl9CWVRFU19XUklURQorZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5X2J5X2V2 ZW50X25hbWUKK3doZXJlIGV2ZW50X25hbWUgbGlrZSAiJXJlbGF5bG9nJSIgb3JkZXIgYnkgZXZl bnRfbmFtZTsKK0VWRU5UX05BTUUJQ09VTlRfUkVBRAlDT1VOVF9XUklURQlTVU1fTlVNQkVSX09G X0JZVEVTX1JFQUQJU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQord2FpdC9pby9maWxlL3NxbC9y ZWxheWxvZwlNQU5ZCU1BTlkJTUFOWQlNQU5ZCit3YWl0L2lvL2ZpbGUvc3FsL3JlbGF5bG9nX2lu ZGV4CU1BTlkJTUFOWQlNQU5ZCU1BTlkKK3NlbGVjdAorRVZFTlRfTkFNRSwKK2lmIChjb3VudF9z dGFyID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1NUQVIKK2Zyb20gcGVyZm9ybWFuY2Vf c2NoZW1hLmV2ZW50c193YWl0c19zdW1tYXJ5X2dsb2JhbF9ieV9ldmVudF9uYW1lCit3aGVyZSBl dmVudF9uYW1lIGxpa2UgIiVNWVNRTF9SRUxBWV9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOwor RVZFTlRfTkFNRQlDT1VOVF9TVEFSCit3YWl0L3N5bmNoL2NvbmQvc3FsL01ZU1FMX1JFTEFZX0xP Rzo6dXBkYXRlX2NvbmQJTUFOWQord2FpdC9zeW5jaC9tdXRleC9zcWwvTVlTUUxfUkVMQVlfTE9H OjpMT0NLX2luZGV4CU1BTlkKK2luY2x1ZGUvc3RvcF9zbGF2ZS5pbmMKCj09PSBhZGRlZCBmaWxl ICdteXNxbC10ZXN0L3N1aXRlL3BlcmZzY2hlbWEvdC9yZWxheWxvZy50ZXN0JwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL3BlcmZzY2hlbWEvdC9yZWxheWxvZy50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6 MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3QvcmVsYXlsb2cudGVz dAkyMDExLTAzLTEwIDEyOjAyOjI4ICswMDAwCkBAIC0wLDAgKzEsMTU5IEBACisjIENvcHlyaWdo dCAoYykgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNl cnZlZC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorIworIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorIyA1MSBGcmFua2xpbiBTdHJl ZXQsIFN1aXRlIDUwMCwgQm9zdG9uLCBNQSAwMjExMC0xMzM1IFVTQQorCisjIFRlc3RzIGZvciBQ RVJGT1JNQU5DRV9TQ0hFTUEKKworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX2xvZ19iaW4uaW5jCist LXNvdXJjZSBpbmNsdWRlL25vdF9lbWJlZGRlZC5pbmMKKy0tc291cmNlIGluY2x1ZGUvaGF2ZV9w ZXJmc2NoZW1hLmluYworLS1zb3VyY2UgaW5jbHVkZS9tYXN0ZXItc2xhdmUuaW5jCisKKy0tZGlz YWJsZV93YXJuaW5ncworZHJvcCB0YWJsZSBpZiBleGlzdHMgdGVzdC50MTsKKy0tc3luY19zbGF2 ZV93aXRoX21hc3RlcgorcmVzZXQgbWFzdGVyOworLS1lbmFibGVfd2FybmluZ3MKKworY3JlYXRl IHRhYmxlIHRlc3QudDEoYSBpbnQpOworZHJvcCB0YWJsZSB0ZXN0LnQxOworCistLXNvdXJjZSBp bmNsdWRlL3Nob3dfYmlubG9nX2V2ZW50cy5pbmMKKworY29ubmVjdGlvbiBtYXN0ZXI7CistLSBl Y2hvICI9PT09PT09PT09PT0gUGVyZm9ybWFuY2Ugc2NoZW1hIG9uIG1hc3RlciA9PT09PT09PT09 PT0iCisKK3NlbGVjdAorICBzdWJzdHJpbmcoZmlsZV9uYW1lLCBsb2NhdGUoIm1hc3Rlci0iLCBm aWxlX25hbWUpKSBhcyBGSUxFX05BTUUsCisgIEVWRU5UX05BTUUsCisgIGlmIChjb3VudF9yZWFk ID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCisgIGlmIChjb3VudF93cml0ZSA+ IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRFLAorICBpZiAoc3VtX251bWJlcl9vZl9i eXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfUkVB RCwKKyAgaWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikg YXMgU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorICBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5m aWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKKyAgd2hlcmUgZmlsZV9uYW1lIGxpa2UgIiVtYXN0ZXIt JSIgb3JkZXIgYnkgZmlsZV9uYW1lOworCitzZWxlY3QgKiBmcm9tIHBlcmZvcm1hbmNlX3NjaGVt YS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKKyAgd2hlcmUgZmlsZV9uYW1lIGxpa2UgIiVzbGF2 ZS0lIiBvcmRlciBieSBmaWxlX25hbWU7CisKKy0tIGVjaG8gIkV4cGVjdCBhIG1hc3RlciBiaW5s b2cgKyBiaW5sb2dfaW5kZXgiCisKK3NlbGVjdAorICBzdWJzdHJpbmcoZmlsZV9uYW1lLCBsb2Nh dGUoIm1hc3Rlci0iLCBmaWxlX25hbWUpKSBhcyBGSUxFX05BTUUsCisgIEVWRU5UX05BTUUsCisg IGlmIChjb3VudF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCisgIGlm IChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRFLAorICBpZiAo c3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1C RVJfT0ZfQllURVNfUkVBRCwKKyAgaWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAi TUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19XUklURQorICBmcm9tIHBlcmZv cm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKKyAgd2hlcmUgZXZlbnRfbmFt ZSBsaWtlICIlYmlubG9nJSIgb3JkZXIgYnkgZmlsZV9uYW1lOworCitzZWxlY3QKKyAgRVZFTlRf TkFNRSwKKyAgaWYgKGNvdW50X3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfUkVB RCwKKyAgaWYgKGNvdW50X3dyaXRlID4gMCwiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfV1JJVEUs CisgIGlmIChzdW1fbnVtYmVyX29mX2J5dGVzX3JlYWQgPiAwLCAiTUFOWSIsICJOT05FIikgYXMg U1VNX05VTUJFUl9PRl9CWVRFU19SRUFELAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc193cml0 ZSA+IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1dSSVRFCisgIGZy b20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZpbGVfc3VtbWFyeV9ieV9ldmVudF9uYW1lCisgIHdoZXJl IGV2ZW50X25hbWUgbGlrZSAiJWJpbmxvZyUiIG9yZGVyIGJ5IGV2ZW50X25hbWU7CisKK3NlbGVj dAorICBFVkVOVF9OQU1FLAorICBpZiAoY291bnRfc3RhciA+IDAsICJNQU5ZIiwgIk5PTkUiKSBh cyBDT1VOVF9TVEFSCisgIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c193YWl0c19zdW1t YXJ5X2dsb2JhbF9ieV9ldmVudF9uYW1lCisgIHdoZXJlIGV2ZW50X25hbWUgbGlrZSAiJU1ZU1FM X0JJTl9MT0clIiBvcmRlciBieSBldmVudF9uYW1lOworCistLSBlY2hvICJFeHBlY3Qgbm8gc2xh dmUgcmVsYXkgbG9nIgorCitzZWxlY3QgKiBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1 bW1hcnlfYnlfaW5zdGFuY2UKKyAgd2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlcmVsYXlsb2clIiBv cmRlciBieSBmaWxlX25hbWU7CisKK3NlbGVjdCAqIGZyb20gcGVyZm9ybWFuY2Vfc2NoZW1hLmZp bGVfc3VtbWFyeV9ieV9ldmVudF9uYW1lCisgIHdoZXJlIGV2ZW50X25hbWUgbGlrZSAiJXJlbGF5 bG9nJSIgb3JkZXIgYnkgZXZlbnRfbmFtZTsKKworc2VsZWN0ICogZnJvbSBwZXJmb3JtYW5jZV9z Y2hlbWEuZXZlbnRzX3dhaXRzX3N1bW1hcnlfZ2xvYmFsX2J5X2V2ZW50X25hbWUKKyAgd2hlcmUg ZXZlbnRfbmFtZSBsaWtlICIlTVlTUUxfUkVMQVlfTE9HJSIgb3JkZXIgYnkgZXZlbnRfbmFtZTsK Kworc3luY19zbGF2ZV93aXRoX21hc3RlcjsKKy0tIGVjaG8gIj09PT09PT09PT09PSBQZXJmb3Jt YW5jZSBzY2hlbWEgb24gc2xhdmUgPT09PT09PT09PT09IgorCitzZWxlY3QgKiBmcm9tIHBlcmZv cm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UKKyAgd2hlcmUgZmlsZV9uYW1l IGxpa2UgIiVtYXN0ZXItJSIgb3JkZXIgYnkgZmlsZV9uYW1lOworCitzZWxlY3QKKyAgc3Vic3Ry aW5nKGZpbGVfbmFtZSwgbG9jYXRlKCJzbGF2ZS0iLCBmaWxlX25hbWUpKSBhcyBGSUxFX05BTUUs CisgIEVWRU5UX05BTUUsCisgIGlmIChjb3VudF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFz IENPVU5UX1JFQUQsCisgIGlmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFzIENP VU5UX1dSSVRFLAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlkiLCAi Tk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKKyAgaWYgKHN1bV9udW1iZXJfb2Zf Ynl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRFU19X UklURQorICBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFuY2UK KyAgd2hlcmUgZmlsZV9uYW1lIGxpa2UgIiVzbGF2ZS0lIiBvcmRlciBieSBmaWxlX25hbWU7CisK Ky0tIGVjaG8gIkV4cGVjdCBhIHNsYXZlIGJpbmxvZyArIGJpbmxvZ19pbmRleCIKKworc2VsZWN0 CisgIHN1YnN0cmluZyhmaWxlX25hbWUsIGxvY2F0ZSgic2xhdmUtIiwgZmlsZV9uYW1lKSkgYXMg RklMRV9OQU1FLAorICBFVkVOVF9OQU1FLAorICBpZiAoY291bnRfcmVhZCA+IDAsICJNQU5ZIiwg Ik5PTkUiKSBhcyBDT1VOVF9SRUFELAorICBpZiAoY291bnRfd3JpdGUgPiAwLCJNQU5ZIiwgIk5P TkUiKSBhcyBDT1VOVF9XUklURSwKKyAgaWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+IDAs ICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCisgIGlmIChzdW1f bnVtYmVyX29mX2J5dGVzX3dyaXRlID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJf T0ZfQllURVNfV1JJVEUKKyAgZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5X2J5 X2luc3RhbmNlCisgIHdoZXJlIGV2ZW50X25hbWUgbGlrZSAiJWJpbmxvZyUiIG9yZGVyIGJ5IGZp bGVfbmFtZTsKKworc2VsZWN0CisgIEVWRU5UX05BTUUsCisgIGlmIChjb3VudF9yZWFkID4gMCwg Ik1BTlkiLCAiTk9ORSIpIGFzIENPVU5UX1JFQUQsCisgIGlmIChjb3VudF93cml0ZSA+IDAsIk1B TlkiLCAiTk9ORSIpIGFzIENPVU5UX1dSSVRFLAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc19y ZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKKyAg aWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VN X05VTUJFUl9PRl9CWVRFU19XUklURQorICBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1 bW1hcnlfYnlfZXZlbnRfbmFtZQorICB3aGVyZSBldmVudF9uYW1lIGxpa2UgIiViaW5sb2clIiBv cmRlciBieSBldmVudF9uYW1lOworCitzZWxlY3QKKyAgRVZFTlRfTkFNRSwKKyAgaWYgKGNvdW50 X3N0YXIgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfU1RBUgorICBmcm9tIHBlcmZvcm1h bmNlX3NjaGVtYS5ldmVudHNfd2FpdHNfc3VtbWFyeV9nbG9iYWxfYnlfZXZlbnRfbmFtZQorICB3 aGVyZSBldmVudF9uYW1lIGxpa2UgIiVNWVNRTF9CSU5fTE9HJSIgb3JkZXIgYnkgZXZlbnRfbmFt ZTsKKworLS0gZWNobyAiRXhwZWN0IGEgc2xhdmUgcmVsYXkgbG9nIgorCitzZWxlY3QKKyAgc3Vi c3RyaW5nKGZpbGVfbmFtZSwgbG9jYXRlKCJzbGF2ZS0iLCBmaWxlX25hbWUpKSBhcyBGSUxFX05B TUUsCisgIEVWRU5UX05BTUUsCisgIGlmIChjb3VudF9yZWFkID4gMCwgIk1BTlkiLCAiTk9ORSIp IGFzIENPVU5UX1JFQUQsCisgIGlmIChjb3VudF93cml0ZSA+IDAsIk1BTlkiLCAiTk9ORSIpIGFz IENPVU5UX1dSSVRFLAorICBpZiAoc3VtX251bWJlcl9vZl9ieXRlc19yZWFkID4gMCwgIk1BTlki LCAiTk9ORSIpIGFzIFNVTV9OVU1CRVJfT0ZfQllURVNfUkVBRCwKKyAgaWYgKHN1bV9udW1iZXJf b2ZfYnl0ZXNfd3JpdGUgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgU1VNX05VTUJFUl9PRl9CWVRF U19XUklURQorICBmcm9tIHBlcmZvcm1hbmNlX3NjaGVtYS5maWxlX3N1bW1hcnlfYnlfaW5zdGFu Y2UKKyAgd2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlcmVsYXlsb2clIiBvcmRlciBieSBmaWxlX25h bWU7CisKK3NlbGVjdAorICBFVkVOVF9OQU1FLAorICBpZiAoY291bnRfcmVhZCA+IDAsICJNQU5Z IiwgIk5PTkUiKSBhcyBDT1VOVF9SRUFELAorICBpZiAoY291bnRfd3JpdGUgPiAwLCJNQU5ZIiwg Ik5PTkUiKSBhcyBDT1VOVF9XUklURSwKKyAgaWYgKHN1bV9udW1iZXJfb2ZfYnl0ZXNfcmVhZCA+ IDAsICJNQU5ZIiwgIk5PTkUiKSBhcyBTVU1fTlVNQkVSX09GX0JZVEVTX1JFQUQsCisgIGlmIChz dW1fbnVtYmVyX29mX2J5dGVzX3dyaXRlID4gMCwgIk1BTlkiLCAiTk9ORSIpIGFzIFNVTV9OVU1C RVJfT0ZfQllURVNfV1JJVEUKKyAgZnJvbSBwZXJmb3JtYW5jZV9zY2hlbWEuZmlsZV9zdW1tYXJ5 X2J5X2V2ZW50X25hbWUKKyAgd2hlcmUgZXZlbnRfbmFtZSBsaWtlICIlcmVsYXlsb2clIiBvcmRl ciBieSBldmVudF9uYW1lOworCitzZWxlY3QKKyAgRVZFTlRfTkFNRSwKKyAgaWYgKGNvdW50X3N0 YXIgPiAwLCAiTUFOWSIsICJOT05FIikgYXMgQ09VTlRfU1RBUgorICBmcm9tIHBlcmZvcm1hbmNl X3NjaGVtYS5ldmVudHNfd2FpdHNfc3VtbWFyeV9nbG9iYWxfYnlfZXZlbnRfbmFtZQorICB3aGVy ZSBldmVudF9uYW1lIGxpa2UgIiVNWVNRTF9SRUxBWV9MT0clIiBvcmRlciBieSBldmVudF9uYW1l OworCistLXNvdXJjZSBpbmNsdWRlL3N0b3Bfc2xhdmUuaW5jCisKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmJwotLS0gYS9teXNxbC10ZXN0L3QvZGlzYWJsZWQu ZGVmCTIwMTEtMDMtMDggMTc6Mzk6MjUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L2Rpc2FibGVk LmRlZgkyMDExLTAzLTExIDA5OjEyOjU4ICswMDAwCkBAIC0xNiwzICsxNiw0IEBAIHJlYWRfbWFu eV9yb3dzX2lubm9kYiAgICA6IEJ1ZyMzNzYzNSAyMDEKIHN1bV9kaXN0aW5jdC1iaWcgICAgICAg ICA6IEJ1ZyM1NjkyNyAyMDEwLTExLTE1IG1hdHRpYXNqIHdhcyBub3QgdGVzdGVkCiBhbHRlcl90 YWJsZS1iaWcgICAgICAgICAgOiBCdWcjMzcyNDggMjAxMC0xMS0xNSBtYXR0aWFzaiB3YXMgbm90 IHRlc3RlZAogY3JlYXRlLWJpZyAgICAgICAgICAgICAgIDogQnVnIzM3MjQ4IDIwMTAtMTEtMTUg bWF0dGlhc2ogd2FzIG5vdCB0ZXN0ZWQKK2FyY2hpdmUtYmlnICAgICAgICAgICAgICA6IEJ1ZyMx MTgxNzE4NSAyMDExLTAzLTEwIEFuaXRoYSBEaXNhYmxlZCBzaW5jZSB0aGlzIGxlYWRzIHRvIHRp bWVvdXQgb24gU29sYXJpcyBTcGFyYwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9n cmFudC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvZ3JhbnQudGVzdAkyMDEwLTEyLTE1IDE2OjE1 OjQwICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9ncmFudC50ZXN0CTIwMTEtMDMtMDkgMTQ6MDQ6 NTAgKzAwMDAKQEAgLTEzOTYsNiArMTM5NiwxODMgQEAgRFJPUCBVU0VSIHRlc3R1c2VyQGxvY2Fs aG9zdDsKIHVzZSB0ZXN0OwogLS1lY2hvCiAKKworLS1lY2hvICMKKy0tZWNobyAjIFRlc3QgZm9y IGJ1ZyAjMzY1NDQgIkRST1AgVVNFUiBkb2VzIG5vdCByZW1vdmUgc3RvcmVkIGZ1bmN0aW9uCist LWVjaG8gIyAgICAgICAgICAgICAgICAgICAgICBwcml2aWxlZ2VzIi4KKy0tZWNobyAjCitjcmVh dGUgZGF0YWJhc2UgbXlzcWx0ZXN0MTsKK2NyZWF0ZSBmdW5jdGlvbiBteXNxbHRlc3QxLmYxKCkg cmV0dXJucyBpbnQgcmV0dXJuIDA7CitjcmVhdGUgcHJvY2VkdXJlIG15c3FsdGVzdDEucDEoKSBi ZWdpbiBlbmQ7CistLWVjaG8gIworLS1lY2hvICMgMSkgQ2hlY2sgdGhhdCBEUk9QIFVTRVIgcHJv cGVybHkgcmVtb3ZlcyBwcml2aWxlZ2VzIG9uIGJvdGgKKy0tZWNobyAjICAgIHN0b3JlZCBwcm9j ZWR1cmVzIGFuZCBmdW5jdGlvbnMuCistLWVjaG8gIworY3JlYXRlIHVzZXIgbXlzcWx1c2VyMUBs b2NhbGhvc3Q7CitncmFudCBleGVjdXRlIG9uIGZ1bmN0aW9uIG15c3FsdGVzdDEuZjEgdG8gbXlz cWx1c2VyMUBsb2NhbGhvc3Q7CitncmFudCBleGVjdXRlIG9uIHByb2NlZHVyZSBteXNxbHRlc3Qx LnAxIHRvIG15c3FsdXNlcjFAbG9jYWxob3N0OworCistLWVjaG8gIyBRdWljayB0ZXN0IHRoYXQg Z3JhbnRlZCBwcml2aWxlZ2VzIGFyZSBwcm9wZXJseSByZWZsZWN0ZWQKKy0tZWNobyAjIGluIHBy aXZpbGVnZSB0YWJsZXMgYW5kIGluIGluLW1lbW9yeSBzdHJ1Y3R1cmVzLgorc2hvdyBncmFudHMg Zm9yIG15c3FsdXNlcjFAbG9jYWxob3N0Oworc2VsZWN0IGRiLCByb3V0aW5lX25hbWUsIHJvdXRp bmVfdHlwZSwgcHJvY19wcml2IGZyb20gbXlzcWwucHJvY3NfcHJpdiB3aGVyZSB1c2VyPSdteXNx bHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKKy0tZWNobyAjCistLWVjaG8gIyBDcmVhdGUg Y29ubmVjdGlvbiAnYnVnXzM2NTQ0X2NvbjEnIGFzICdteXNxbHVzZXIxQGxvY2FsaG9zdCcuCist LWNvbm5lY3QgKGJ1ZzM2NTQ0X2NvbjEsbG9jYWxob3N0LG15c3FsdXNlcjEsLCkKK2NhbGwgbXlz cWx0ZXN0MS5wMSgpOworc2VsZWN0IG15c3FsdGVzdDEuZjEoKTsKKworLS1lY2hvICMKKy0tZWNo byAjIFN3aXRjaCB0byBjb25uZWN0aW9uICdkZWZhdWx0Jy4KKy0tY29ubmVjdGlvbiBkZWZhdWx0 Citkcm9wIHVzZXIgbXlzcWx1c2VyMUBsb2NhbGhvc3Q7CisKKy0tZWNobyAjCistLWVjaG8gIyBU ZXN0IHRoYXQgZHJvcHBpbmcgb2YgdXNlciBpcyBwcm9wZXJseSByZWZsZWN0ZWQgaW4KKy0tZWNo byAjIGJvdGggcHJpdmlsZWdlIHRhYmxlcyBhbmQgaW4gaW4tbWVtb3J5IHN0cnVjdHVyZXMuCist LWVjaG8gIworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2J1ZzM2NTQ0X2NvbjEnLgor LS1jb25uZWN0aW9uIGJ1ZzM2NTQ0X2NvbjEKKy0tZWNobyAjIFRoZSBjb25uZWN0aW9uIGNvbGQg YmUgYWxpdmUgYnV0IHNob3VsZCBub3QgYmUgYWJsZSB0bworLS1lY2hvICMgYWNjZXNzIHRvIGFu eSBvZiB0aGUgc3RvcmVkIHJvdXRpbmVzLgorLS1lcnJvciBFUl9QUk9DQUNDRVNTX0RFTklFRF9F UlJPUgorY2FsbCBteXNxbHRlc3QxLnAxKCk7CistLWVycm9yIEVSX1BST0NBQ0NFU1NfREVOSUVE X0VSUk9SCitzZWxlY3QgbXlzcWx0ZXN0MS5mMSgpOworLS1kaXNjb25uZWN0IGJ1ZzM2NTQ0X2Nv bjEKKworLS1lY2hvICMKKy0tZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uICdkZWZhdWx0Jy4K Ky0tY29ubmVjdGlvbiBkZWZhdWx0CistLWVjaG8gIworLS1lY2hvICMgTm93IGNyZWF0ZSB1c2Vy IHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgY2hlY2sgdGhhdCBoZQorLS1lY2hvICMgaGFzIG5vdCBp bmhlcml0ZWQgcHJpdmlsZWdlcy4KK2NyZWF0ZSB1c2VyIG15c3FsdXNlcjFAbG9jYWxob3N0Owor c2hvdyBncmFudHMgZm9yIG15c3FsdXNlcjFAbG9jYWxob3N0Oworc2VsZWN0IGRiLCByb3V0aW5l X25hbWUsIHJvdXRpbmVfdHlwZSwgcHJvY19wcml2IGZyb20gbXlzcWwucHJvY3NfcHJpdiB3aGVy ZSB1c2VyPSdteXNxbHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKKy0tZWNobyAjCistLWVj aG8gIyBDcmVhdGUgY29ubmVjdGlvbiAnYnVnXzM2NTQ0X2NvbjInIGFzICdteXNxbHVzZXIxQGxv Y2FsaG9zdCcuCistLWNvbm5lY3QgKGJ1ZzM2NTQ0X2NvbjIsbG9jYWxob3N0LG15c3FsdXNlcjEs LCkKKy0tZWNobyAjIE5ld2x5IGNyZWF0ZWQgdXNlciBzaG91bGQgbm90IGJlIGFibGUgdG8gYWNj ZXNzIGFueSBvZiB0aGUgcm91dGluZXMuCistLWVycm9yIEVSX1BST0NBQ0NFU1NfREVOSUVEX0VS Uk9SCitjYWxsIG15c3FsdGVzdDEucDEoKTsKKy0tZXJyb3IgRVJfUFJPQ0FDQ0VTU19ERU5JRURf RVJST1IKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7CistLWVjaG8gIworLS1lY2hvICMgU3dpdGNo IHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorLS1jb25uZWN0aW9uIGRlZmF1bHQKKworLS1lY2hv ICMKKy0tZWNobyAjIDIpIENoZWNrIHRoYXQgUkVOQU1FIFVTRVIgcHJvcGVybHkgdXBkYXRlcyBw cml2aWxlZ2VzIG9uIGJvdGgKKy0tZWNobyAjICAgIHN0b3JlZCBwcm9jZWR1cmVzIGFuZCBmdW5j dGlvbnMuCistLWVjaG8gIworZ3JhbnQgZXhlY3V0ZSBvbiBmdW5jdGlvbiBteXNxbHRlc3QxLmYx IHRvIG15c3FsdXNlcjFAbG9jYWxob3N0OworZ3JhbnQgZXhlY3V0ZSBvbiBwcm9jZWR1cmUgbXlz cWx0ZXN0MS5wMSB0byBteXNxbHVzZXIxQGxvY2FsaG9zdDsKKy0tZWNobyAjCistLWVjaG8gIyBD cmVhdGUgb25lIG1vcmUgdXNlciB0byBtYWtlIGluLW1lbW9yeSBoYXNoZXMgbm9uLXRyaXZpYWwu CistLWVjaG8gIyBVc2VyIG5hbWVzICdteXNxbHVzZXIxMScgYW5kICdteXNxbHVzZXIxMCcgd2Vy ZSBzZWxlY3RlZAorLS1lY2hvICMgdG8gdHJpZ2dlciBidWcgZGlzY292ZXJlZCBkdXJpbmcgY29k ZSBpbnNwZWN0aW9uLgorY3JlYXRlIHVzZXIgbXlzcWx1c2VyMTFAbG9jYWxob3N0OworZ3JhbnQg ZXhlY3V0ZSBvbiBmdW5jdGlvbiBteXNxbHRlc3QxLmYxIHRvIG15c3FsdXNlcjExQGxvY2FsaG9z dDsKK2dyYW50IGV4ZWN1dGUgb24gcHJvY2VkdXJlIG15c3FsdGVzdDEucDEgdG8gbXlzcWx1c2Vy MTFAbG9jYWxob3N0OworLS1lY2hvICMgQWxzbyBjcmVhdGUgYSBjb3VwbGUgb2YgdGFibGVzIHRv IHRlc3QgZm9yIGFub3RoZXIgYnVnCistLWVjaG8gIyBkaXNjb3ZlcmVkIGR1cmluZyBjb2RlIGlu c3BlY3Rpb24gKGFnYWluIHRhYmxlIG5hbWVzIHdlcmUKKy0tZWNobyAjIGNob3NlbiBlc3BlY2lh bGx5IHRvIHRyaWdnZXIgdGhlIGJ1ZykuCitjcmVhdGUgdGFibGUgbXlzcWx0ZXN0MS50MTEgKGkg aW50KTsKK2NyZWF0ZSB0YWJsZSBteXNxbHRlc3QxLnQyMiAoaSBpbnQpOworZ3JhbnQgc2VsZWN0 IG9uIG15c3FsdGVzdDEudDIyIHRvIG15c3FsdXNlcjFAbG9jYWxob3N0OworZ3JhbnQgc2VsZWN0 IG9uIG15c3FsdGVzdDEudDExIHRvIG15c3FsdXNlcjFAbG9jYWxob3N0OworCistLWVjaG8gIyBR dWljayB0ZXN0IHRoYXQgZ3JhbnRlZCBwcml2aWxlZ2VzIGFyZSBwcm9wZXJseSByZWZsZWN0ZWQK Ky0tZWNobyAjIGluIHByaXZpbGVnZSB0YWJsZXMgYW5kIGluIGluLW1lbW9yeSBzdHJ1Y3R1cmVz Lgorc2hvdyBncmFudHMgZm9yIG15c3FsdXNlcjFAbG9jYWxob3N0Oworc2VsZWN0IGRiLCByb3V0 aW5lX25hbWUsIHJvdXRpbmVfdHlwZSwgcHJvY19wcml2IGZyb20gbXlzcWwucHJvY3NfcHJpdiB3 aGVyZSB1c2VyPSdteXNxbHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxob3N0JzsKK3NlbGVjdCBkYiwg dGFibGVfbmFtZSwgdGFibGVfcHJpdiBmcm9tIG15c3FsLnRhYmxlc19wcml2IHdoZXJlIHVzZXI9 J215c3FsdXNlcjEnIGFuZCBob3N0PSdsb2NhbGhvc3QnOworLS1lY2hvICMKKy0tZWNobyAjIFN3 aXRjaCB0byBjb25uZWN0aW9uICdidWczNjU0NF9jb24yJy4KKy0tY29ubmVjdGlvbiBidWczNjU0 NF9jb24yCitjYWxsIG15c3FsdGVzdDEucDEoKTsKK3NlbGVjdCBteXNxbHRlc3QxLmYxKCk7Citz ZWxlY3QgKiBmcm9tIG15c3FsdGVzdDEudDExOworc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQy MjsKKworLS1lY2hvICMKKy0tZWNobyAjIFN3aXRjaCB0byBjb25uZWN0aW9uICdkZWZhdWx0Jy4K Ky0tY29ubmVjdGlvbiBkZWZhdWx0CityZW5hbWUgdXNlciBteXNxbHVzZXIxQGxvY2FsaG9zdCB0 byBteXNxbHVzZXIxMEBsb2NhbGhvc3Q7CisKKy0tZWNobyAjCistLWVjaG8gIyBUZXN0IHRoYXQg dGhlcmUgYXJlIG5vIHByaXZpbGVnZXMgbGVmdCBmb3IgbXlzcWx1c2VyMS4KKy0tZWNobyAjCist LWVjaG8gIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiAnYnVnMzY1NDRfY29uMicuCistLWNvbm5lY3Rp b24gYnVnMzY1NDRfY29uMgorLS1lY2hvICMgVGhlIGNvbm5lY3Rpb24gY29sZCBiZSBhbGl2ZSBi dXQgc2hvdWxkIG5vdCBiZSBhYmxlIHRvCistLWVjaG8gIyBhY2Nlc3MgdG8gYW55IG9mIHRoZSBz dG9yZWQgcm91dGluZXMgb3IgdGFibGVzLgorLS1lcnJvciBFUl9QUk9DQUNDRVNTX0RFTklFRF9F UlJPUgorY2FsbCBteXNxbHRlc3QxLnAxKCk7CistLWVycm9yIEVSX1BST0NBQ0NFU1NfREVOSUVE X0VSUk9SCitzZWxlY3QgbXlzcWx0ZXN0MS5mMSgpOworLS1lcnJvciBFUl9UQUJMRUFDQ0VTU19E RU5JRURfRVJST1IKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MTE7CistLWVycm9yIEVSX1RB QkxFQUNDRVNTX0RFTklFRF9FUlJPUgorc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQyMjsKKy0t ZGlzY29ubmVjdCBidWczNjU0NF9jb24yCisKKy0tZWNobyAjCistLWVjaG8gIyBTd2l0Y2ggdG8g Y29ubmVjdGlvbiAnZGVmYXVsdCcuCistLWNvbm5lY3Rpb24gZGVmYXVsdAorLS1lY2hvICMKKy0t ZWNobyAjIE5vdyBjcmVhdGUgdXNlciB3aXRoIHRoZSBvbGQgbmFtZSBhbmQgY2hlY2sgdGhhdCBo ZQorLS1lY2hvICMgaGFzIG5vdCBpbmhlcml0ZWQgcHJpdmlsZWdlcy4KK2NyZWF0ZSB1c2VyIG15 c3FsdXNlcjFAbG9jYWxob3N0Oworc2hvdyBncmFudHMgZm9yIG15c3FsdXNlcjFAbG9jYWxob3N0 Oworc2VsZWN0IGRiLCByb3V0aW5lX25hbWUsIHJvdXRpbmVfdHlwZSwgcHJvY19wcml2IGZyb20g bXlzcWwucHJvY3NfcHJpdiB3aGVyZSB1c2VyPSdteXNxbHVzZXIxJyBhbmQgaG9zdD0nbG9jYWxo b3N0JzsKK3NlbGVjdCBkYiwgdGFibGVfbmFtZSwgdGFibGVfcHJpdiBmcm9tIG15c3FsLnRhYmxl c19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEnIGFuZCBob3N0PSdsb2NhbGhvc3QnOworLS1l Y2hvICMKKy0tZWNobyAjIENyZWF0ZSBjb25uZWN0aW9uICdidWdfMzY1NDRfY29uMycgYXMgJ215 c3FsdXNlcjFAbG9jYWxob3N0Jy4KKy0tY29ubmVjdCAoYnVnMzY1NDRfY29uMyxsb2NhbGhvc3Qs bXlzcWx1c2VyMSwsKQorLS1lY2hvICMgTmV3bHkgY3JlYXRlZCB1c2VyIHNob3VsZCBub3QgYmUg YWJsZSB0byBhY2Nlc3MgdG8gYW55IG9mIHRoZQorLS1lY2hvICMgc3RvcmVkIHJvdXRpbmVzIG9y IHRhYmxlcy4KKy0tZXJyb3IgRVJfUFJPQ0FDQ0VTU19ERU5JRURfRVJST1IKK2NhbGwgbXlzcWx0 ZXN0MS5wMSgpOworLS1lcnJvciBFUl9QUk9DQUNDRVNTX0RFTklFRF9FUlJPUgorc2VsZWN0IG15 c3FsdGVzdDEuZjEoKTsKKy0tZXJyb3IgRVJfVEFCTEVBQ0NFU1NfREVOSUVEX0VSUk9SCitzZWxl Y3QgKiBmcm9tIG15c3FsdGVzdDEudDExOworLS1lcnJvciBFUl9UQUJMRUFDQ0VTU19ERU5JRURf RVJST1IKK3NlbGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MjI7CistLWRpc2Nvbm5lY3QgYnVnMzY1 NDRfY29uMworCistLWVjaG8gIworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1 bHQnLgorLS1jb25uZWN0aW9uIGRlZmF1bHQKKy0tZWNobyAjCistLWVjaG8gIyBOb3cgY2hlY2sg dGhhdCBwcml2aWxlZ2VzIGJlY2FtZSBhc3NvY2lhdGVkIHdpdGggYSBuZXcgdXNlcgorLS1lY2hv ICMgbmFtZSAtIG15c3FsdXNlcjEwLgorLS1lY2hvICMKK3Nob3cgZ3JhbnRzIGZvciBteXNxbHVz ZXIxMEBsb2NhbGhvc3Q7CitzZWxlY3QgZGIsIHJvdXRpbmVfbmFtZSwgcm91dGluZV90eXBlLCBw cm9jX3ByaXYgZnJvbSBteXNxbC5wcm9jc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEwJyBh bmQgaG9zdD0nbG9jYWxob3N0JzsKK3NlbGVjdCBkYiwgdGFibGVfbmFtZSwgdGFibGVfcHJpdiBm cm9tIG15c3FsLnRhYmxlc19wcml2IHdoZXJlIHVzZXI9J215c3FsdXNlcjEwJyBhbmQgaG9zdD0n bG9jYWxob3N0JzsKKy0tZWNobyAjCistLWVjaG8gIyBDcmVhdGUgY29ubmVjdGlvbiAnYnVnXzM2 NTQ0X2NvbjQnIGFzICdteXNxbHVzZXIxMEBsb2NhbGhvc3QnLgorLS1jb25uZWN0IChidWczNjU0 NF9jb240LGxvY2FsaG9zdCxteXNxbHVzZXIxMCwsKQorY2FsbCBteXNxbHRlc3QxLnAxKCk7Citz ZWxlY3QgbXlzcWx0ZXN0MS5mMSgpOworc2VsZWN0ICogZnJvbSBteXNxbHRlc3QxLnQxMTsKK3Nl bGVjdCAqIGZyb20gbXlzcWx0ZXN0MS50MjI7CistLWRpc2Nvbm5lY3QgYnVnMzY1NDRfY29uNAor CistLWVjaG8gIworLS1lY2hvICMgU3dpdGNoIHRvIGNvbm5lY3Rpb24gJ2RlZmF1bHQnLgorLS1j b25uZWN0aW9uIGRlZmF1bHQKKy0tZWNobyAjCistLWVjaG8gIyBDbGVhbi11cC4KK2Ryb3AgdXNl ciBteXNxbHVzZXIxQGxvY2FsaG9zdDsKK2Ryb3AgdXNlciBteXNxbHVzZXIxMEBsb2NhbGhvc3Q7 Citkcm9wIHVzZXIgbXlzcWx1c2VyMTFAbG9jYWxob3N0OworZHJvcCBkYXRhYmFzZSBteXNxbHRl c3QxOworCisKIC0tZWNobyBFbmQgb2YgNS4wIHRlc3RzCiAKICMKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3QvcGFydGl0aW9uLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9wYXJ0aXRp b24udGVzdAkyMDExLTAzLTA4IDE3OjM5OjI1ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9wYXJ0 aXRpb24udGVzdAkyMDExLTAzLTExIDA5OjEyOjU4ICswMDAwCkBAIC0xNSw2ICsxNSw0OSBAQCBk cm9wIHRhYmxlIGlmIGV4aXN0cyB0MSwgdDI7CiAtLWVuYWJsZV93YXJuaW5ncwogCiAtLWVjaG8g IworLS1lY2hvICMgQnVnIzU5Mjk3OiBDYW4ndCBmaW5kIHJlY29yZCBpbiAndGFibGVuYW1lJyBv biB1cGRhdGUgaW5uZXIgam9pbgorLS1lY2hvICMKKworQ1JFQVRFIFRBQkxFIHQxICgKK2EgY2hh cigyKSBOT1QgTlVMTCwKK2IgY2hhcigyKSBOT1QgTlVMTCwKK2MgaW50KDEwKSB1bnNpZ25lZCBO T1QgTlVMTCwKK2QgdmFyY2hhcigyNTUpIERFRkFVTFQgTlVMTCwKK2UgdmFyY2hhcigxMDAwKSBE RUZBVUxUIE5VTEwsCitQUklNQVJZIEtFWSAoYSwgYiwgYyksCitLRVkgKGEpLAorS0VZIChhLCBi KQorKQorLyohNTAxMDAgUEFSVElUSU9OIEJZIEtFWSAoYSkKK1BBUlRJVElPTlMgMjAgKi87CisK K0lOU0VSVCBJTlRPIHQxIChhLCBiLCBjLCBkLCBlKSBWQUxVRVMKKygnMDcnLCAnMDMnLCAzNDMs ICcxJywgJzA3XzAzXzM0MycpLAorKCcwMScsICcwNCcsIDM0MywgJzInLCAnMDFfMDRfMzQzJyks CisoJzAxJywgJzA2JywgMzQzLCAnMycsICcwMV8wNl8zNDMnKSwKKygnMDEnLCAnMDcnLCAzNDMs ICc0JywgJzAxXzA3XzM0MycpLAorKCcwMScsICcwOCcsIDM0MywgJzUnLCAnMDFfMDhfMzQzJyks CisoJzAxJywgJzA5JywgMzQzLCAnNicsICcwMV8wOV8zNDMnKSwKKygnMDMnLCAnMDMnLCAzNDMs ICc3JywgJzAzXzAzXzM0MycpLAorKCcwMycsICcwNicsIDM0MywgJzgnLCAnMDNfMDZfMzQzJyks CisoJzAzJywgJzA3JywgMzQzLCAnOScsICcwM18wN18zNDMnKSwKKygnMDQnLCAnMDMnLCAzNDMs ICcxMCcsICcwNF8wM18zNDMnKSwKKygnMDQnLCAnMDYnLCAzNDMsICcxMScsICcwNF8wNl8zNDMn KSwKKygnMDUnLCAnMDMnLCAzNDMsICcxMicsICcwNV8wM18zNDMnKSwKKygnMTEnLCAnMDMnLCAz NDMsICcxMycsICcxMV8wM18zNDMnKSwKKygnMTEnLCAnMDQnLCAzNDMsICcxNCcsICcxMV8wNF8z NDMnKQorOworCitVUERBVEUgdDEgQVMgQSwKKyhTRUxFQ1QgJzAzJyBBUyBhLCAnMDYnIEFTIGIs IDM0MyBBUyBjLCAnbGFzdCcgQVMgZCkgQVMgQgorU0VUIEEuZSA9IEIuZCAgCitXSEVSRSBBLmEg PSAnMDMnICAKK0FORCBBLmIgPSAnMDYnIAorQU5EIEEuYyA9IDM0MzsKKworRFJPUCBUQUJMRSB0 MTsKKworLS1lY2hvICMKIC0tZWNobyAjIEJ1ZyM1Nzc3ODogZmFpbGVkIHByaW1hcnkga2V5IGFk ZCB0byBwYXJ0aXRpb25lZCBpbm5vZGIgdGFibGUKIC0tZWNobyAjICAgICAgICAgICAgaW5jb25z aXN0ZW50IGFuZCBjcmFzaGVzCiAtLWVjaG8gIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRl c3QvdC9zcC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3Qvc3AudGVzdAkyMDEwLTA3LTMwIDE1OjI4 OjM2ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9zcC50ZXN0CTIwMTEtMDMtMTAgMDg6MDc6NTcg KzAwMDAKQEAgLTg3MTMsNCArODcxMyw0NSBAQCBjYWxsIHAxKDMsIDIpOwogZHJvcCB0YWJsZSB0 MTsKIGRyb3AgcHJvY2VkdXJlIHAxOwogCistLWVjaG8KKy0tZWNobyAjIC0tCistLWVjaG8gIyAt LSBCdWcgMTE3NjU2ODQgLSA1ODY3NDogU1AtY2FjaGUgZG9lcyBub3QgZGV0ZWN0IGNoYW5nZXMg aW4KKy0tZWNobyAjIC0tIHByZS1sb2NraW5nIGxpc3QgY2F1c2VkIGJ5IHRyaWdnZXJzCistLWVj aG8gIyAtLS0gCisKKy0tZGlzYWJsZV93YXJuaW5ncworRFJPUCBUQUJMRSBJRiBFWElTVFMgdDE7 CitEUk9QIFRBQkxFIElGIEVYSVNUUyB0MjsKK0RST1AgVEFCTEUgSUYgRVhJU1RTIHQzOworRFJP UCBQUk9DRURVUkUgSUYgRVhJU1RTIHAxOworLS1lbmFibGVfd2FybmluZ3MKKworQ1JFQVRFIFRB QkxFIHQxKGEgSU5UKTsKK0NSRUFURSBUQUJMRSB0MihhIElOVCk7CitDUkVBVEUgVEFCTEUgdDMo YSBJTlQpOworCitDUkVBVEUgUFJPQ0VEVVJFIHAxKCkKKyAgSU5TRVJUIElOVE8gdDEoYSkgVkFM VUVTICgxKTsKKworLS1lY2hvCitDUkVBVEUgVFJJR0dFUiB0MV9haSBBRlRFUiBJTlNFUlQgT04g dDEKKyAgRk9SIEVBQ0ggUk9XCisgICAgSU5TRVJUIElOVE8gdDIoYSkgVkFMVUVTIChuZXcuYSk7 CisKKy0tZWNobworQ0FMTCBwMSgpOworCistLWVjaG8KK0NSRUFURSBUUklHR0VSIHQxX2JpIEJF Rk9SRSBJTlNFUlQgT04gdDEKKyAgRk9SIEVBQ0ggUk9XCisgICAgSU5TRVJUIElOVE8gdDMoYSkg VkFMVUVTIChuZXcuYSk7CisKKy0tZWNobworQ0FMTCBwMSgpOworCistLWVjaG8KK0RST1AgVEFC TEUgdDEsIHQyLCB0MzsKK0RST1AgUFJPQ0VEVVJFIHAxOworLS1lY2hvCisKIC0tZWNobyAjIEVu ZCBvZiA1LjUgdGVzdAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC90cmlnZ2VyLnRl c3QnCi0tLSBhL215c3FsLXRlc3QvdC90cmlnZ2VyLnRlc3QJMjAxMC0wOC0xOCAwOTozNTo0MSAr MDAwMAorKysgYi9teXNxbC10ZXN0L3QvdHJpZ2dlci50ZXN0CTIwMTEtMDMtMTAgMDg6MDc6NTcg KzAwMDAKQEAgLTk5OCwxMCArOTk4LDYgQEAgY2FsbCBwMSgpOwogZHJvcCB0cmlnZ2VyIHQxX2Jp OwogY3JlYXRlIHRyaWdnZXIgdDFfYmkgYWZ0ZXIgaW5zZXJ0IG9uIHQxIGZvciBlYWNoIHJvdyBp bnNlcnQgaW50byB0MyB2YWx1ZXMgKG5ldy5pZCk7CiBleGVjdXRlIHN0bXQxOwotIyBVbnRpbCB3 ZSBpbXBsZW1lbnQgcHJvcGVyIG1lY2hhbmlzbSBmb3IgaW52YWxpZGF0aW9uIG9mIFNQIHN0YXRl bWVudHMKLSMgaW52b2tlZCB3aGVuZXZlciBhIHRhYmxlIHVzZWQgaW4gU1AgY2hhbmdlcywgdGhp cyBzdGF0ZW1lbnQgd2lsbCBmYWlsIHdpdGgKLSMgJ1RhYmxlIC4uLiAgZG9lcyBub3QgZXhpc3Qn IGVycm9yLgotLS1lcnJvciBFUl9OT19TVUNIX1RBQkxFIAogY2FsbCBwMSgpOwogZGVhbGxvY2F0 ZSBwcmVwYXJlIHN0bXQxOwogZHJvcCBwcm9jZWR1cmUgcDE7Cgo9PT0gbW9kaWZpZWQgZmlsZSAn c3FsL2hhX3BhcnRpdGlvbi5jYycKLS0tIGEvc3FsL2hhX3BhcnRpdGlvbi5jYwkyMDExLTAxLTI2 IDEzOjIzOjI5ICswMDAwCisrKyBiL3NxbC9oYV9wYXJ0aXRpb24uY2MJMjAxMS0wMy0wOSAxNzo0 MToxNiArMDAwMApAQCAtNDQ0OCw2ICs0NDQ4LDcgQEAgaW50IGhhX3BhcnRpdGlvbjo6aW5kZXhf cmVhZF9pZHhfbWFwKHVjaAogICAgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgIH0KKyAgICBt X2xhc3RfcGFydD0gcGFydDsKICAgfQogICBlbHNlCiAgIHsKCj09PSBtb2RpZmllZCBmaWxlICdz cWwvbG9nLmNjJwotLS0gYS9zcWwvbG9nLmNjCTIwMTEtMDMtMDggMTc6Mzk6MjUgKzAwMDAKKysr IGIvc3FsL2xvZy5jYwkyMDExLTAzLTExIDA5OjEyOjU4ICswMDAwCkBAIC0yODYxLDExICsyODYx LDkgQEAgdm9pZCBNWVNRTF9CSU5fTE9HOjppbml0KGJvb2wgbm9fYXV0b19ldgogCiB2b2lkIE1Z U1FMX0JJTl9MT0c6OmluaXRfcHRocmVhZF9vYmplY3RzKCkKIHsKLSAgREJVR19BU1NFUlQoaW5p dGVkID09IDApOwotICBpbml0ZWQ9IDE7Ci0gIG15c3FsX211dGV4X2luaXQoa2V5X0xPR19MT0NL X2xvZywgJkxPQ0tfbG9nLCBNWV9NVVRFWF9JTklUX1NMT1cpOwotICBteXNxbF9tdXRleF9pbml0 KGtleV9CSU5MT0dfTE9DS19pbmRleCwgJkxPQ0tfaW5kZXgsIE1ZX01VVEVYX0lOSVRfU0xPVyk7 Ci0gIG15c3FsX2NvbmRfaW5pdChrZXlfQklOTE9HX3VwZGF0ZV9jb25kLCAmdXBkYXRlX2NvbmQs IDApOworICBNWVNRTF9MT0c6OmluaXRfcHRocmVhZF9vYmplY3RzKCk7CisgIG15c3FsX211dGV4 X2luaXQobV9rZXlfTE9DS19pbmRleCwgJkxPQ0tfaW5kZXgsIE1ZX01VVEVYX0lOSVRfU0xPVyk7 CisgIG15c3FsX2NvbmRfaW5pdChtX2tleV91cGRhdGVfY29uZCwgJnVwZGF0ZV9jb25kLCAwKTsK IH0KIAogCkBAIC0yODg4LDcgKzI4ODYsNyBAQCBib29sIE1ZU1FMX0JJTl9MT0c6Om9wZW5faW5k ZXhfZmlsZShjb25zCiAgIH0KICAgZm5fZm9ybWF0KGluZGV4X2ZpbGVfbmFtZSwgaW5kZXhfZmls ZV9uYW1lX2FyZywgbXlzcWxfZGF0YV9ob21lLAogICAgICAgICAgICAgIi5pbmRleCIsIG9wdCk7 Ci0gIGlmICgoaW5kZXhfZmlsZV9ucj0gbXlzcWxfZmlsZV9vcGVuKGtleV9maWxlX2JpbmxvZ19p bmRleCwKKyAgaWYgKChpbmRleF9maWxlX25yPSBteXNxbF9maWxlX29wZW4obV9rZXlfZmlsZV9s b2dfaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4X2Zp bGVfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT19SRFdSIHwg T19DUkVBVCB8IE9fQklOQVJZLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNWUYoTVlfV01FKSkpIDwgMCB8fApAQCAtMzAwNCw3ICszMDAyLDcgQEAgYm9vbCBNWVNRTF9C SU5fTE9HOjpvcGVuKGNvbnN0IGNoYXIgKmxvZwogICAvKiBvcGVuIHRoZSBtYWluIGxvZyBmaWxl ICovCiAgIGlmIChNWVNRTF9MT0c6Om9wZW4oCiAjaWZkZWYgSEFWRV9QU0lfSU5URVJGQUNFCi0g ICAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGVfYmlubG9nLAorICAgICAgICAgICAgICAgICAg ICAgIG1fa2V5X2ZpbGVfbG9nLAogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgbG9nX25h bWUsIGxvZ190eXBlX2FyZywgbmV3X25hbWUsIGlvX2NhY2hlX3R5cGVfYXJnKSkKICAgewpAQCAt Mzg3NCw3ICszODcyLDcgQEAgaW50IE1ZU1FMX0JJTl9MT0c6OnB1cmdlX2luZGV4X2VudHJ5KFRI RAogICAgIC8qIEdldCByaWQgb2YgdGhlIHRyYWlsaW5nICdcbicgKi8KICAgICBsb2dfaW5mby5s b2dfZmlsZV9uYW1lW2xlbmd0aC0xXT0gMDsKIAotICAgIGlmICghbXlzcWxfZmlsZV9zdGF0KGtl eV9maWxlX2JpbmxvZywgbG9nX2luZm8ubG9nX2ZpbGVfbmFtZSwgJnMsIE1ZRigwKSkpCisgICAg aWYgKCFteXNxbF9maWxlX3N0YXQobV9rZXlfZmlsZV9sb2csIGxvZ19pbmZvLmxvZ19maWxlX25h bWUsICZzLCBNWUYoMCkpKQogICAgIHsKICAgICAgIGlmIChteV9lcnJubyA9PSBFTk9FTlQpIAog ICAgICAgewpAQCAtNDA0OSw3ICs0MDQ3LDcgQEAgaW50IE1ZU1FMX0JJTl9MT0c6OnB1cmdlX2xv Z3NfYmVmb3JlX2RhdAogCSAhaXNfYWN0aXZlKGxvZ19pbmZvLmxvZ19maWxlX25hbWUpICYmCiAg ICAgICAgICAhbG9nX2luX3VzZShsb2dfaW5mby5sb2dfZmlsZV9uYW1lKSkKICAgewotICAgIGlm ICghbXlzcWxfZmlsZV9zdGF0KGtleV9maWxlX2JpbmxvZywKKyAgICBpZiAoIW15c3FsX2ZpbGVf c3RhdChtX2tleV9maWxlX2xvZywKICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfaW5mby5s b2dfZmlsZV9uYW1lLCAmc3RhdF9hcmVhLCBNWUYoMCkpKQogICAgIHsKICAgICAgIGlmIChteV9l cnJubyA9PSBFTk9FTlQpIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9sb2cuaCcKLS0tIGEvc3Fs L2xvZy5oCTIwMTAtMTItMDcgMTY6MTE6MTMgKzAwMDAKKysrIGIvc3FsL2xvZy5oCTIwMTEtMDMt MDEgMTY6Mzk6MjggKzAwMDAKQEAgLTI3NCw2ICsyNzQsMTYgQEAgcHJpdmF0ZToKIGNsYXNzIE1Z U1FMX0JJTl9MT0c6IHB1YmxpYyBUQ19MT0csIHByaXZhdGUgTVlTUUxfTE9HCiB7CiAgcHJpdmF0 ZToKKyNpZmRlZiBIQVZFX1BTSV9JTlRFUkZBQ0UKKyAgLyoqIFRoZSBpbnN0cnVtZW50YXRpb24g a2V5IHRvIHVzZSBmb3IgQCBMT0NLX2luZGV4LiAqLworICBQU0lfbXV0ZXhfa2V5IG1fa2V5X0xP Q0tfaW5kZXg7CisgIC8qKiBUaGUgaW5zdHJ1bWVudGF0aW9uIGtleSB0byB1c2UgZm9yIEAgdXBk YXRlX2NvbmQuICovCisgIFBTSV9jb25kX2tleSBtX2tleV91cGRhdGVfY29uZDsKKyAgLyoqIFRo ZSBpbnN0cnVtZW50YXRpb24ga2V5IHRvIHVzZSBmb3Igb3BlbmluZyB0aGUgbG9nIGZpbGUuICov CisgIFBTSV9maWxlX2tleSBtX2tleV9maWxlX2xvZzsKKyAgLyoqIFRoZSBpbnN0cnVtZW50YXRp b24ga2V5IHRvIHVzZSBmb3Igb3BlbmluZyB0aGUgbG9nIGluZGV4IGZpbGUuICovCisgIFBTSV9m aWxlX2tleSBtX2tleV9maWxlX2xvZ19pbmRleDsKKyNlbmRpZgogICAvKiBMT0NLX2xvZyBhbmQg TE9DS19pbmRleCBhcmUgaW5pdGVkIGJ5IGluaXRfcHRocmVhZF9vYmplY3RzKCkgKi8KICAgbXlz cWxfbXV0ZXhfdCBMT0NLX2luZGV4OwogICBteXNxbF9tdXRleF90IExPQ0tfcHJlcF94aWRzOwpA QCAtMzYyLDYgKzM3MiwxOSBAQCBwdWJsaWM6CiAgICAgb24gZXhpdCgpIC0gYnV0IG9ubHkgZHVy aW5nIHRoZSBjb3JyZWN0IHNodXRkb3duIHByb2Nlc3MKICAgKi8KIAorI2lmZGVmIEhBVkVfUFNJ X0lOVEVSRkFDRQorICB2b2lkIHNldF9wc2lfa2V5cyhQU0lfbXV0ZXhfa2V5IGtleV9MT0NLX2lu ZGV4LAorICAgICAgICAgICAgICAgICAgICBQU0lfY29uZF9rZXkga2V5X3VwZGF0ZV9jb25kLAor ICAgICAgICAgICAgICAgICAgICBQU0lfZmlsZV9rZXkga2V5X2ZpbGVfbG9nLAorICAgICAgICAg ICAgICAgICAgICBQU0lfZmlsZV9rZXkga2V5X2ZpbGVfbG9nX2luZGV4KQorICB7CisgICAgbV9r ZXlfTE9DS19pbmRleD0ga2V5X0xPQ0tfaW5kZXg7CisgICAgbV9rZXlfdXBkYXRlX2NvbmQ9IGtl eV91cGRhdGVfY29uZDsKKyAgICBtX2tleV9maWxlX2xvZz0ga2V5X2ZpbGVfbG9nOworICAgIG1f a2V5X2ZpbGVfbG9nX2luZGV4PSBrZXlfZmlsZV9sb2dfaW5kZXg7CisgIH0KKyNlbmRpZgorCiAg IGludCBvcGVuKGNvbnN0IGNoYXIgKm9wdF9uYW1lKTsKICAgdm9pZCBjbG9zZSgpOwogICBpbnQg bG9nX3hpZChUSEQgKnRoZCwgbXlfeGlkIHhpZCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL215 c3FsZC5jYycKLS0tIGEvc3FsL215c3FsZC5jYwkyMDExLTAzLTAxIDEyOjAzOjMxICswMDAwCisr KyBiL3NxbC9teXNxbGQuY2MJMjAxMS0wMy0xMCAwODo0Mzo1NSArMDAwMApAQCAtMzEyNSw2ICsz MTI1LDE4IEBAIHN0YXRpYyBpbnQgaW5pdF9jb21tb25fdmFyaWFibGVzKCkKICAgKi8KICAgZ2xv YmFsX3N5c3RlbV92YXJpYWJsZXMudGltZV96b25lPSBteV90el9TWVNURU07CiAKKyNpZmRlZiBI QVZFX1BTSV9JTlRFUkZBQ0UKKyAgLyoKKyAgICBDb21wbGV0ZSB0aGUgbXlzcWxfYmluX2xvZyBp bml0aWFsaXphdGlvbi4KKyAgICBJbnN0cnVtZW50YXRpb24ga2V5cyBhcmUga25vd24gb25seSBh ZnRlciB0aGUgcGVyZm9ybWFuY2Ugc2NoZW1hIGluaXRpYWxpemF0aW9uLAorICAgIGFuZCBjYW4g bm90IGJlIHNldCBpbiB0aGUgTVlTUUxfQklOX0xPRyBjb25zdHJ1Y3RvciAoY2FsbGVkIGJlZm9y ZSBtYWluKCkpLgorICAqLworICBteXNxbF9iaW5fbG9nLnNldF9wc2lfa2V5cyhrZXlfQklOTE9H X0xPQ0tfaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9CSU5MT0dfdXBk YXRlX2NvbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9maWxlX2JpbmxvZywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGVfYmlubG9nX2luZGV4KTsKKyNl bmRpZgorCiAgIC8qCiAgICAgSW5pdCBtdXRleGVzIGZvciB0aGUgZ2xvYmFsIE1ZU1FMX0JJTl9M T0cgb2JqZWN0cy4KICAgICBBcyBzYWZlX211dGV4IGRlcGVuZHMgb24gd2hhdCBNWV9JTklUKCkg ZG9lcywgd2UgY2FuJ3QgaW5pdCB0aGUgbXV0ZXhlcyBvZgpAQCAtNzcwMSw2ICs3NzEzLDcgQEAg UFNJX211dGV4X2tleSBrZXlfQklOTE9HX0xPQ0tfaW5kZXgsIGtleQogICBrZXlfc3RydWN0dXJl X2d1YXJkX211dGV4LCBrZXlfVEFCTEVfU0hBUkVfTE9DS19oYV9kYXRhLAogICBrZXlfTE9DS19l cnJvcl9tZXNzYWdlcywga2V5X0xPR19JTkZPX2xvY2ssIGtleV9MT0NLX3RocmVhZF9jb3VudCwK ICAga2V5X1BBUlRJVElPTl9MT0NLX2F1dG9faW5jOworUFNJX211dGV4X2tleSBrZXlfUkVMQVlM T0dfTE9DS19pbmRleDsKIAogc3RhdGljIFBTSV9tdXRleF9pbmZvIGFsbF9zZXJ2ZXJfbXV0ZXhl c1tdPQogewpAQCAtNzcxNyw2ICs3NzMwLDcgQEAgc3RhdGljIFBTSV9tdXRleF9pbmZvIGFsbF9z ZXJ2ZXJfbXV0ZXhlcwogCiAgIHsgJmtleV9CSU5MT0dfTE9DS19pbmRleCwgIk1ZU1FMX0JJTl9M T0c6OkxPQ0tfaW5kZXgiLCAwfSwKICAgeyAma2V5X0JJTkxPR19MT0NLX3ByZXBfeGlkcywgIk1Z U1FMX0JJTl9MT0c6OkxPQ0tfcHJlcF94aWRzIiwgMH0sCisgIHsgJmtleV9SRUxBWUxPR19MT0NL X2luZGV4LCAiTVlTUUxfUkVMQVlfTE9HOjpMT0NLX2luZGV4IiwgMH0sCiAgIHsgJmtleV9kZWxh eWVkX2luc2VydF9tdXRleCwgIkRlbGF5ZWRfaW5zZXJ0OjptdXRleCIsIDB9LAogICB7ICZrZXlf aGFzaF9maWxvX2xvY2ssICJoYXNoX2ZpbG86OmxvY2siLCAwfSwKICAgeyAma2V5X0xPQ0tfYWN0 aXZlX21pLCAiTE9DS19hY3RpdmVfbWkiLCBQU0lfRkxBR19HTE9CQUx9LApAQCAtNzc4NCw2ICs3 Nzk4LDcgQEAgUFNJX2NvbmRfa2V5IGtleV9CSU5MT0dfQ09ORF9wcmVwX3hpZHMsCiAgIGtleV9y ZWxheV9sb2dfaW5mb19zdGFydF9jb25kLCBrZXlfcmVsYXlfbG9nX2luZm9fc3RvcF9jb25kLAog ICBrZXlfVEFCTEVfU0hBUkVfY29uZCwga2V5X3VzZXJfbGV2ZWxfbG9ja19jb25kLAogICBrZXlf Q09ORF90aHJlYWRfY291bnQsIGtleV9DT05EX3RocmVhZF9jYWNoZSwga2V5X0NPTkRfZmx1c2hf dGhyZWFkX2NhY2hlOworUFNJX2NvbmRfa2V5IGtleV9SRUxBWUxPR191cGRhdGVfY29uZDsKIAog c3RhdGljIFBTSV9jb25kX2luZm8gYWxsX3NlcnZlcl9jb25kc1tdPQogewpAQCAtNzc5Nyw2ICs3 ODEyLDcgQEAgc3RhdGljIFBTSV9jb25kX2luZm8gYWxsX3NlcnZlcl9jb25kc1tdPQogI2VuZGlm IC8qIEhBVkVfTU1BUCAqLwogICB7ICZrZXlfQklOTE9HX0NPTkRfcHJlcF94aWRzLCAiTVlTUUxf QklOX0xPRzo6Q09ORF9wcmVwX3hpZHMiLCAwfSwKICAgeyAma2V5X0JJTkxPR191cGRhdGVfY29u ZCwgIk1ZU1FMX0JJTl9MT0c6OnVwZGF0ZV9jb25kIiwgMH0sCisgIHsgJmtleV9SRUxBWUxPR191 cGRhdGVfY29uZCwgIk1ZU1FMX1JFTEFZX0xPRzo6dXBkYXRlX2NvbmQiLCAwfSwKICAgeyAma2V5 X0NPTkRfY2FjaGVfc3RhdHVzX2NoYW5nZWQsICJRdWVyeV9jYWNoZTo6Q09ORF9jYWNoZV9zdGF0 dXNfY2hhbmdlZCIsIDB9LAogICB7ICZrZXlfQ09ORF9tYW5hZ2VyLCAiQ09ORF9tYW5hZ2VyIiwg UFNJX0ZMQUdfR0xPQkFMfSwKICAgeyAma2V5X0NPTkRfcnBsX3N0YXR1cywgIkNPTkRfcnBsX3N0 YXR1cyIsIFBTSV9GTEFHX0dMT0JBTH0sCkBAIC03ODYwLDYgKzc4NzYsNyBAQCBQU0lfZmlsZV9r ZXkga2V5X2ZpbGVfYmlubG9nLCBrZXlfZmlsZV9iCiAgIGtleV9maWxlX3BpZCwga2V5X2ZpbGVf cmVsYXlfbG9nX2luZm8sIGtleV9maWxlX3NlbmRfZmlsZSwga2V5X2ZpbGVfdGNsb2csCiAgIGtl eV9maWxlX3RyZywga2V5X2ZpbGVfdHJuLCBrZXlfZmlsZV9pbml0OwogUFNJX2ZpbGVfa2V5IGtl eV9maWxlX3F1ZXJ5X2xvZywga2V5X2ZpbGVfc2xvd19sb2c7CitQU0lfZmlsZV9rZXkga2V5X2Zp bGVfcmVsYXlsb2csIGtleV9maWxlX3JlbGF5bG9nX2luZGV4OwogCiBzdGF0aWMgUFNJX2ZpbGVf aW5mbyBhbGxfc2VydmVyX2ZpbGVzW109CiB7CkBAIC03ODY4LDYgKzc4ODUsOCBAQCBzdGF0aWMg UFNJX2ZpbGVfaW5mbyBhbGxfc2VydmVyX2ZpbGVzW109CiAjZW5kaWYgLyogSEFWRV9NTUFQICov CiAgIHsgJmtleV9maWxlX2JpbmxvZywgImJpbmxvZyIsIDB9LAogICB7ICZrZXlfZmlsZV9iaW5s b2dfaW5kZXgsICJiaW5sb2dfaW5kZXgiLCAwfSwKKyAgeyAma2V5X2ZpbGVfcmVsYXlsb2csICJy ZWxheWxvZyIsIDB9LAorICB7ICZrZXlfZmlsZV9yZWxheWxvZ19pbmRleCwgInJlbGF5bG9nX2lu ZGV4IiwgMH0sCiAgIHsgJmtleV9maWxlX2Nhc2V0ZXN0LCAiY2FzZXRlc3QiLCAwfSwKICAgeyAm a2V5X2ZpbGVfZGJvcHQsICJkYm9wdCIsIDB9LAogICB7ICZrZXlfZmlsZV9kZXNfa2V5X2ZpbGUs ICJkZXNfa2V5X2ZpbGUiLCAwfSwKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvbXlzcWxkLmgnCi0t LSBhL3NxbC9teXNxbGQuaAkyMDExLTAzLTA0IDE1OjQzOjI4ICswMDAwCisrKyBiL3NxbC9teXNx bGQuaAkyMDExLTAzLTEwIDA4OjQzOjU1ICswMDAwCkBAIC0yNDEsNiArMjQxLDcgQEAgZXh0ZXJu IFBTSV9tdXRleF9rZXkga2V5X0JJTkxPR19MT0NLX2luZAogICBrZXlfcmVsYXlfbG9nX2luZm9f bG9nX3NwYWNlX2xvY2ssIGtleV9yZWxheV9sb2dfaW5mb19ydW5fbG9jaywKICAga2V5X3N0cnVj dHVyZV9ndWFyZF9tdXRleCwga2V5X1RBQkxFX1NIQVJFX0xPQ0tfaGFfZGF0YSwKICAga2V5X0xP Q0tfZXJyb3JfbWVzc2FnZXMsIGtleV9MT0NLX3RocmVhZF9jb3VudCwga2V5X1BBUlRJVElPTl9M T0NLX2F1dG9faW5jOworZXh0ZXJuIFBTSV9tdXRleF9rZXkga2V5X1JFTEFZTE9HX0xPQ0tfaW5k ZXg7CiAKIGV4dGVybiBQU0lfcndsb2NrX2tleSBrZXlfcndsb2NrX0xPQ0tfZ3JhbnQsIGtleV9y d2xvY2tfTE9DS19sb2dnZXIsCiAgIGtleV9yd2xvY2tfTE9DS19zeXNfaW5pdF9jb25uZWN0LCBr ZXlfcndsb2NrX0xPQ0tfc3lzX2luaXRfc2xhdmUsCkBAIC0yNjAsNiArMjYxLDcgQEAgZXh0ZXJu IFBTSV9jb25kX2tleSBrZXlfQklOTE9HX0NPTkRfcHJlcAogICBrZXlfcmVsYXlfbG9nX2luZm9f c3RhcnRfY29uZCwga2V5X3JlbGF5X2xvZ19pbmZvX3N0b3BfY29uZCwKICAga2V5X1RBQkxFX1NI QVJFX2NvbmQsIGtleV91c2VyX2xldmVsX2xvY2tfY29uZCwKICAga2V5X0NPTkRfdGhyZWFkX2Nv dW50LCBrZXlfQ09ORF90aHJlYWRfY2FjaGUsIGtleV9DT05EX2ZsdXNoX3RocmVhZF9jYWNoZTsK K2V4dGVybiBQU0lfY29uZF9rZXkga2V5X1JFTEFZTE9HX3VwZGF0ZV9jb25kOwogCiBleHRlcm4g UFNJX3RocmVhZF9rZXkga2V5X3RocmVhZF9ib290c3RyYXAsIGtleV90aHJlYWRfZGVsYXllZF9p bnNlcnQsCiAgIGtleV90aHJlYWRfaGFuZGxlX21hbmFnZXIsIGtleV90aHJlYWRfa2lsbF9zZXJ2 ZXIsIGtleV90aHJlYWRfbWFpbiwKQEAgLTI3Nyw2ICsyNzksNyBAQCBleHRlcm4gUFNJX2ZpbGVf a2V5IGtleV9maWxlX2JpbmxvZywga2V5CiAgIGtleV9maWxlX3BpZCwga2V5X2ZpbGVfcmVsYXlf bG9nX2luZm8sIGtleV9maWxlX3NlbmRfZmlsZSwga2V5X2ZpbGVfdGNsb2csCiAgIGtleV9maWxl X3RyZywga2V5X2ZpbGVfdHJuLCBrZXlfZmlsZV9pbml0OwogZXh0ZXJuIFBTSV9maWxlX2tleSBr ZXlfZmlsZV9xdWVyeV9sb2csIGtleV9maWxlX3Nsb3dfbG9nOworZXh0ZXJuIFBTSV9maWxlX2tl eSBrZXlfZmlsZV9yZWxheWxvZywga2V5X2ZpbGVfcmVsYXlsb2dfaW5kZXg7CiAKIHZvaWQgaW5p dF9zZXJ2ZXJfcHNpX2tleXMoKTsKICNlbmRpZiAvKiBIQVZFX1BTSV9JTlRFUkZBQ0UgKi8KCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvcnBsX3JsaS5jYycKLS0tIGEvc3FsL3JwbF9ybGkuY2MJMjAx MC0xMS0xMSAxNzoxMTowNSArMDAwMAorKysgYi9zcWwvcnBsX3JsaS5jYwkyMDExLTAzLTAxIDE2 OjM5OjI4ICswMDAwCkBAIC01NCw2ICs1NCwxMyBAQCBSZWxheV9sb2dfaW5mbzo6UmVsYXlfbG9n X2luZm8oYm9vbCBpc19zCiB7CiAgIERCVUdfRU5URVIoIlJlbGF5X2xvZ19pbmZvOjpSZWxheV9s b2dfaW5mbyIpOwogCisjaWZkZWYgSEFWRV9QU0lfSU5URVJGQUNFCisgIHJlbGF5X2xvZy5zZXRf cHNpX2tleXMoa2V5X1JFTEFZTE9HX0xPQ0tfaW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAg ICAga2V5X1JFTEFZTE9HX3VwZGF0ZV9jb25kLAorICAgICAgICAgICAgICAgICAgICAgICAgIGtl eV9maWxlX3JlbGF5bG9nLAorICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9maWxlX3JlbGF5 bG9nX2luZGV4KTsKKyNlbmRpZgorCiAgIGdyb3VwX3JlbGF5X2xvZ19uYW1lWzBdPSBldmVudF9y ZWxheV9sb2dfbmFtZVswXT0KICAgICBncm91cF9tYXN0ZXJfbG9nX25hbWVbMF09IDA7CiAgIHVu dGlsX2xvZ19uYW1lWzBdPSBpZ25fbWFzdGVyX2xvZ19uYW1lX2VuZFswXT0gMDsKQEAgLTM1Niw3 ICszNjMsNyBAQCBzdGF0aWMgaW5saW5lIGludCBhZGRfcmVsYXlfbG9nKFJlbGF5X2xvCiB7CiAg IE1ZX1NUQVQgczsKICAgREJVR19FTlRFUigiYWRkX3JlbGF5X2xvZyIpOwotICBpZiAoIW15c3Fs X2ZpbGVfc3RhdChrZXlfZmlsZV9iaW5sb2csCisgIGlmICghbXlzcWxfZmlsZV9zdGF0KGtleV9m aWxlX3JlbGF5bG9nLAogICAgICAgICAgICAgICAgICAgICAgICBsaW5mby0+bG9nX2ZpbGVfbmFt ZSwgJnMsIE1ZRigwKSkpCiAgIHsKICAgICBzcWxfcHJpbnRfZXJyb3IoImxvZyAlcyBsaXN0ZWQg aW4gdGhlIGluZGV4LCBidXQgZmFpbGVkIHRvIHN0YXQiLAoKPT09IG1vZGlmaWVkIGZpbGUgJ3Nx bC9zcWxfYWNsLmNjJwotLS0gYS9zcWwvc3FsX2FjbC5jYwkyMDExLTAyLTE4IDA5OjQ2OjU1ICsw MDAwCisrKyBiL3NxbC9zcWxfYWNsLmNjCTIwMTEtMDMtMDkgMTQ6MDQ6NTAgKzAwMDAKQEAgLTEs NCArMSw0IEBACi0vKiBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMyBNeVNRTCBBQiwgMjAwOC0yMDA5 IFN1biBNaWNyb3N5c3RlbXMsIEluYworLyogQ29weXJpZ2h0IChjKSAyMDAwLCAyMDExLCBPcmFj bGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCiAgICBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTU5ODIsMTggKzU5ODIsMTUgQEAgc3RhdGljIGlu dCBoYW5kbGVfZ3JhbnRfdGFibGUoVEFCTEVfTElTVAogfQogCiAKLS8qCisvKioKICAgSGFuZGxl IGFuIGluLW1lbW9yeSBwcml2aWxlZ2Ugc3RydWN0dXJlLgogCi0gIFNZTk9QU0lTCi0gICAgaGFu ZGxlX2dyYW50X3N0cnVjdCgpCi0gICAgc3RydWN0X25vICAgICAgICAgICAgICAgICAgIFRoZSBu dW1iZXIgb2YgdGhlIHN0cnVjdHVyZSB0byBoYW5kbGUgKDAuLjMpLgotICAgIGRyb3AgICAgICAg ICAgICAgICAgICAgICAgICBJZiB1c2VyX2Zyb20gaXMgdG8gYmUgZHJvcHBlZC4KLSAgICB1c2Vy X2Zyb20gICAgICAgICAgICAgICAgICAgVGhlIHRoZSB1c2VyIHRvIGJlIHNlYXJjaGVkL2Ryb3Bw ZWQvcmVuYW1lZC4KLSAgICB1c2VyX3RvICAgICAgICAgICAgICAgICAgICAgVGhlIG5ldyBuYW1l IGZvciB0aGUgdXNlciBpZiB0byBiZSByZW5hbWVkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMIG90aGVyd2lzZS4KKyAgQHBhcmFtIHN0cnVjdF9ubyAgVGhlIG51bWJlciBv ZiB0aGUgc3RydWN0dXJlIHRvIGhhbmRsZSAoMC4uNSkuCisgIEBwYXJhbSBkcm9wICAgICAgIElm IHVzZXJfZnJvbSBpcyB0byBiZSBkcm9wcGVkLgorICBAcGFyYW0gdXNlcl9mcm9tICBUaGUgdGhl IHVzZXIgdG8gYmUgc2VhcmNoZWQvZHJvcHBlZC9yZW5hbWVkLgorICBAcGFyYW0gdXNlcl90byAg ICBUaGUgbmV3IG5hbWUgZm9yIHRoZSB1c2VyIGlmIHRvIGJlIHJlbmFtZWQsIE5VTEwgb3RoZXJ3 aXNlLgogCi0gIERFU0NSSVBUSU9OCisgIEBub3RlCiAgICAgU2NhbiB0aHJvdWdoIGFsbCBlbGVt ZW50cyBpbiBhbiBpbi1tZW1vcnkgZ3JhbnQgc3RydWN0dXJlIGFuZCBhcHBseQogICAgIHRoZSBy ZXF1ZXN0ZWQgb3BlcmF0aW9uLgogICAgIERlbGV0ZSBmcm9tIGdyYW50IHN0cnVjdHVyZSBpZiBk cm9wIGlzIHRydWUuCkBAIC02MDAzLDEyICs2MDAwLDEzIEBAIHN0YXRpYyBpbnQgaGFuZGxlX2dy YW50X3RhYmxlKFRBQkxFX0xJU1QKICAgICAwIGFjbF91c2VycwogICAgIDEgYWNsX2RicwogICAg IDIgY29sdW1uX3ByaXZfaGFzaAotICAgIDMgcHJvY3NfcHJpdl9oYXNoCi0KLSAgUkVUVVJOCi0g ICAgPiAwICAgICAgICAgQXQgbGVhc3Qgb25lIGVsZW1lbnQgbWF0Y2hlZC4KLSAgICAwICAgICAg ICAgICBPSywgYnV0IG5vIGVsZW1lbnQgbWF0Y2hlZC4KLSAgICAtMQkJV3JvbmcgYXJndW1lbnRz IHRvIGZ1bmN0aW9uCisgICAgMyBwcm9jX3ByaXZfaGFzaAorICAgIDQgZnVuY19wcml2X2hhc2gK KyAgICA1IGFjbF9wcm94eV91c2VycworCisgIEByZXR2YWwgPiAwICBBdCBsZWFzdCBvbmUgZWxl bWVudCBtYXRjaGVkLgorICBAcmV0dmFsIDAgICAgT0ssIGJ1dCBubyBlbGVtZW50IG1hdGNoZWQu CisgIEByZXR2YWwgLTEgICBXcm9uZyBhcmd1bWVudHMgdG8gZnVuY3Rpb24uCiAqLwogCiBzdGF0 aWMgaW50IGhhbmRsZV9ncmFudF9zdHJ1Y3QodWludCBzdHJ1Y3Rfbm8sIGJvb2wgZHJvcCwKQEAg LTYwMjMsNiArNjAyMSw3IEBAIHN0YXRpYyBpbnQgaGFuZGxlX2dyYW50X3N0cnVjdCh1aW50IHN0 cnUKICAgQUNMX0RCICphY2xfZGI9IE5VTEw7CiAgIEFDTF9QUk9YWV9VU0VSICphY2xfcHJveHlf dXNlcj0gTlVMTDsKICAgR1JBTlRfTkFNRSAqZ3JhbnRfbmFtZT0gTlVMTDsKKyAgSEFTSCAqZ3Jh bnRfbmFtZV9oYXNoPSBOVUxMOwogICBEQlVHX0VOVEVSKCJoYW5kbGVfZ3JhbnRfc3RydWN0Iik7 CiAgIERCVUdfUFJJTlQoImluZm8iLCgic2NhbiBzdHJ1Y3Q6ICV1ICBzZWFyY2g6ICclcydAJyVz JyIsCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Rfbm8sIHVzZXJfZnJvbS0+dXNlci5zdHIs IHVzZXJfZnJvbS0+aG9zdC5zdHIpKTsKQEAgLTYwNDIsOSArNjA0MSwxNSBAQCBzdGF0aWMgaW50 IGhhbmRsZV9ncmFudF9zdHJ1Y3QodWludCBzdHJ1CiAgICAgYnJlYWs7CiAgIGNhc2UgMjoKICAg ICBlbGVtZW50cz0gY29sdW1uX3ByaXZfaGFzaC5yZWNvcmRzOworICAgIGdyYW50X25hbWVfaGFz aD0gJmNvbHVtbl9wcml2X2hhc2g7CiAgICAgYnJlYWs7CiAgIGNhc2UgMzoKICAgICBlbGVtZW50 cz0gcHJvY19wcml2X2hhc2gucmVjb3JkczsKKyAgICBncmFudF9uYW1lX2hhc2g9ICZwcm9jX3By aXZfaGFzaDsKKyAgICBicmVhazsKKyAgY2FzZSA0OgorICAgIGVsZW1lbnRzPSBmdW5jX3ByaXZf aGFzaC5yZWNvcmRzOworICAgIGdyYW50X25hbWVfaGFzaD0gJmZ1bmNfcHJpdl9oYXNoOwogICAg IGJyZWFrOwogICBjYXNlIDU6CiAgICAgZWxlbWVudHM9IGFjbF9wcm94eV91c2Vycy5lbGVtZW50 czsKQEAgLTYwNzcsMjEgKzYwODIsMTkgQEAgc3RhdGljIGludCBoYW5kbGVfZ3JhbnRfc3RydWN0 KHVpbnQgc3RydQogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIDI6Ci0gICAgICBncmFudF9uYW1l PSAoR1JBTlRfTkFNRSopIG15X2hhc2hfZWxlbWVudCgmY29sdW1uX3ByaXZfaGFzaCwgaWR4KTsK LSAgICAgIHVzZXI9IGdyYW50X25hbWUtPnVzZXI7Ci0gICAgICBob3N0PSBncmFudF9uYW1lLT5o b3N0Lmhvc3RuYW1lOwotICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIDM6Ci0gICAgICBncmFudF9u YW1lPSAoR1JBTlRfTkFNRSopIG15X2hhc2hfZWxlbWVudCgmcHJvY19wcml2X2hhc2gsIGlkeCk7 CisgICAgY2FzZSA0OgorICAgICAgZ3JhbnRfbmFtZT0gKEdSQU5UX05BTUUqKSBteV9oYXNoX2Vs ZW1lbnQoZ3JhbnRfbmFtZV9oYXNoLCBpZHgpOwogICAgICAgdXNlcj0gZ3JhbnRfbmFtZS0+dXNl cjsKICAgICAgIGhvc3Q9IGdyYW50X25hbWUtPmhvc3QuaG9zdG5hbWU7CiAgICAgICBicmVhazsK KwogICAgIGNhc2UgNToKICAgICAgIGFjbF9wcm94eV91c2VyPSBkeW5hbWljX2VsZW1lbnQoJmFj bF9wcm94eV91c2VycywgaWR4LCBBQ0xfUFJPWFlfVVNFUiopOwogICAgICAgdXNlcj0gYWNsX3By b3h5X3VzZXItPmdldF91c2VyKCk7CiAgICAgICBob3N0PSBhY2xfcHJveHlfdXNlci0+Z2V0X2hv c3QoKTsKICAgICAgIGJyZWFrOworCiAgICAgZGVmYXVsdDoKICAgICAgIE1ZX0FTU0VSVF9VTlJF QUNIQUJMRSgpOwogICAgIH0KQEAgLTYxMjEsMTEgKzYxMjQsOSBAQCBzdGF0aWMgaW50IGhhbmRs ZV9ncmFudF9zdHJ1Y3QodWludCBzdHJ1CiAgICAgICAgIGJyZWFrOwogCiAgICAgICBjYXNlIDI6 Ci0gICAgICAgIG15X2hhc2hfZGVsZXRlKCZjb2x1bW5fcHJpdl9oYXNoLCAodWNoYXIqKSBncmFu dF9uYW1lKTsKLQlicmVhazsKLQogICAgICAgY2FzZSAzOgotICAgICAgICBteV9oYXNoX2RlbGV0 ZSgmcHJvY19wcml2X2hhc2gsICh1Y2hhciopIGdyYW50X25hbWUpOworICAgICAgY2FzZSA0Ogor ICAgICAgICBteV9oYXNoX2RlbGV0ZShncmFudF9uYW1lX2hhc2gsICh1Y2hhciopIGdyYW50X25h bWUpOwogCWJyZWFrOwogCiAgICAgICBjYXNlIDU6CkBAIC02MTM0LDYgKzYxMzUsMTkgQEAgc3Rh dGljIGludCBoYW5kbGVfZ3JhbnRfc3RydWN0KHVpbnQgc3RydQogCiAgICAgICB9CiAgICAgICBl bGVtZW50cy0tOworICAgICAgLyoKKyAgICAgICAgLSBJZiB3ZSBhcmUgaXRlcmF0aW5nIHRocm91 Z2ggYW4gYXJyYXkgdGhlbiB3ZSBqdXN0IGhhdmUgbW92ZWQgYWxsCisgICAgICAgICAgZWxlbWVu dHMgYWZ0ZXIgdGhlIGN1cnJlbnQgZWxlbWVudCBvbmUgcG9zaXRpb24gY2xvc2VyIHRvIGl0cyBo ZWFkLgorICAgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBoYXZlIHRvIHRha2UgYW5vdGhlciBs b29rIGF0IHRoZSBlbGVtZW50IGF0CisgICAgICAgICAgY3VycmVudCBwb3NpdGlvbiBhcyBpdCBp cyBhIG5ldyBlbGVtZW50IGZyb20gdGhlIGFycmF5J3MgdGFpbC4KKyAgICAgICAgLSBJZiB3ZSBh cmUgaXRlcmF0aW5nIHRocm91Z2ggYSBoYXNoIHRoZSBjdXJyZW50IGVsZW1lbnQgd2FzIHJlcGxh Y2VkCisgICAgICAgICAgd2l0aCBvbmUgb2YgZWxlbWVudHMgZnJvbSB0aGUgdGFpbC4gU28gd2Ug YWxzbyBoYXZlIHRvIHRha2UgYSBsb29rCisgICAgICAgICAgYXQgdGhlIG5ldyBlbGVtZW50IGlu IGN1cnJlbnQgcG9zaXRpb24uCisgICAgICAgICAgTm90ZSB0aGF0IGluIG91ciBIQVNIIGltcGxl bWVudGF0aW9uIGhhc2hfZGVsZXRlKCkgd29uJ3QgbW92ZSBhbnkKKyAgICAgICAgICBlbGVtZW50 cyB3aXRoIHBvc2l0aW9uIGFmdGVyIGN1cnJlbnQgb25lIHRvIHBvc2l0aW9uIGJlZm9yZSB0aGUK KyAgICAgICAgICBjdXJyZW50IChpLmUuIGZyb20gdGhlIHRhaWwgdG8gdGhlIGhlYWQpLCBzbyBp dCBpcyBzYWZlIHRvIGNvbnRpbnVlCisgICAgICAgICAgaXRlcmF0aW9uIHdpdGhvdXQgcmUtc3Rh cnRpbmcuCisgICAgICAqLwogICAgICAgaWR4LS07CiAgICAgfQogICAgIGVsc2UgaWYgKCB1c2Vy X3RvICkKQEAgLTYxNTEsMjIgKzYxNjUsNDEgQEAgc3RhdGljIGludCBoYW5kbGVfZ3JhbnRfc3Ry dWN0KHVpbnQgc3RydQogCiAgICAgICBjYXNlIDI6CiAgICAgICBjYXNlIDM6Ci0gICAgICAgIC8q IAotICAgICAgICAgIFVwZGF0ZSB0aGUgZ3JhbnQgc3RydWN0dXJlIHdpdGggdGhlIG5ldyB1c2Vy IG5hbWUgYW5kCi0gICAgICAgICAgaG9zdCBuYW1lCi0gICAgICAgICovCi0gICAgICAgIGdyYW50 X25hbWUtPnNldF91c2VyX2RldGFpbHModXNlcl90by0+aG9zdC5zdHIsIGdyYW50X25hbWUtPmRi LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfdG8tPnVzZXIuc3Ry LCBncmFudF9uYW1lLT50bmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUUlVFKTsKLQotICAgICAgICAvKgotICAgICAgICAgIFNpbmNlIHVzZXJuYW1lIGlzIHBhcnQg b2YgdGhlIGhhc2gga2V5LCB3aGVuIHRoZSB1c2VyIG5hbWUKLSAgICAgICAgICBpcyByZW5hbWVk LCB0aGUgaGFzaCBrZXkgaXMgY2hhbmdlZC4gVXBkYXRlIHRoZSBoYXNoIHRvCi0gICAgICAgICAg ZW5zdXJlIHRoYXQgdGhlIHBvc2l0aW9uIG1hdGNoZXMgdGhlIG5ldyBoYXNoIGtleSB2YWx1ZQot ICAgICAgICAqLwotICAgICAgICBteV9oYXNoX3VwZGF0ZSgmY29sdW1uX3ByaXZfaGFzaCwgKHVj aGFyKikgZ3JhbnRfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgKHVjaGFyKikgZ3JhbnRf bmFtZS0+aGFzaF9rZXksIGdyYW50X25hbWUtPmtleV9sZW5ndGgpOwotCWJyZWFrOworICAgICAg Y2FzZSA0OgorICAgICAgICB7CisgICAgICAgICAgLyoKKyAgICAgICAgICAgIFNhdmUgb2xkIGhh c2gga2V5IGFuZCBpdHMgbGVuZ3RoIHRvIGJlIGFibGUgcHJvcGVybHkgdXBkYXRlCisgICAgICAg ICAgICBlbGVtZW50IHBvc2l0aW9uIGluIGhhc2guCisgICAgICAgICAgKi8KKyAgICAgICAgICBj aGFyICpvbGRfa2V5PSBncmFudF9uYW1lLT5oYXNoX2tleTsKKyAgICAgICAgICBzaXplX3Qgb2xk X2tleV9sZW5ndGg9IGdyYW50X25hbWUtPmtleV9sZW5ndGg7CisKKyAgICAgICAgICAvKgorICAg ICAgICAgICAgVXBkYXRlIHRoZSBncmFudCBzdHJ1Y3R1cmUgd2l0aCB0aGUgbmV3IHVzZXIgbmFt ZSBhbmQgaG9zdCBuYW1lLgorICAgICAgICAgICovCisgICAgICAgICAgZ3JhbnRfbmFtZS0+c2V0 X3VzZXJfZGV0YWlscyh1c2VyX3RvLT5ob3N0LnN0ciwgZ3JhbnRfbmFtZS0+ZGIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX3RvLT51c2VyLnN0ciwgZ3JhbnRf bmFtZS0+dG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVF KTsKKworICAgICAgICAgIC8qCisgICAgICAgICAgICBTaW5jZSB1c2VybmFtZSBpcyBwYXJ0IG9m IHRoZSBoYXNoIGtleSwgd2hlbiB0aGUgdXNlciBuYW1lCisgICAgICAgICAgICBpcyByZW5hbWVk LCB0aGUgaGFzaCBrZXkgaXMgY2hhbmdlZC4gVXBkYXRlIHRoZSBoYXNoIHRvCisgICAgICAgICAg ICBlbnN1cmUgdGhhdCB0aGUgcG9zaXRpb24gbWF0Y2hlcyB0aGUgbmV3IGhhc2gga2V5IHZhbHVl CisgICAgICAgICAgKi8KKyAgICAgICAgICBteV9oYXNoX3VwZGF0ZShncmFudF9uYW1lX2hhc2gs ICh1Y2hhciopIGdyYW50X25hbWUsICh1Y2hhciopIG9sZF9rZXksCisgICAgICAgICAgICAgICAg ICAgICAgICAgb2xkX2tleV9sZW5ndGgpOworICAgICAgICAgIC8qCisgICAgICAgICAgICBoYXNo X3VwZGF0ZSgpIG9wZXJhdGlvbiBjb3VsZCBoYXZlIG1vdmVkIGVsZW1lbnQgZnJvbSB0aGUgdGFp bAorICAgICAgICAgICAgb2YgdGhlIGhhc2ggdG8gdGhlIGN1cnJlbnQgcG9zaXRpb24uIFNvIHdl IG5lZWQgdG8gdGFrZSBhIGxvb2sKKyAgICAgICAgICAgIGF0IHRoZSBlbGVtZW50IGluIGN1cnJl bnQgcG9zaXRpb24gb25jZSBhZ2Fpbi4KKyAgICAgICAgICAgIFRoYW5rcyB0byB0aGUgZmFjdCB0 aGF0IGhhc2hfdXBkYXRlKCkgZm9yIG91ciBIQVNIIGltcGxlbWVudGF0aW9uCisgICAgICAgICAg ICB3b24ndCBtb3ZlIGFueSBlbGVtZW50cyBmcm9tIHRoZSB0YWlsIG9mIHRoZSBoYXNoIHRvIHRo ZSBwb3NpdGlvbnMKKyAgICAgICAgICAgIGJlZm9yZSB0aGUgY3VycmVudCBvbmUgKGEuay5hLiBo ZWFkKSBpdCBpcyBzYWZlIHRvIGNvbnRpbnVlCisgICAgICAgICAgICBpdGVyYXRpb24gd2l0aG91 dCByZXN0YXJ0aW5nLgorICAgICAgICAgICovCisgICAgICAgICAgaWR4LS07CisgICAgICAgICAg YnJlYWs7CisgICAgICAgIH0KIAogICAgICAgY2FzZSA1OgogICAgICAgICBhY2xfcHJveHlfdXNl ci0+c2V0X3VzZXIgKCZtZW0sIHVzZXJfdG8tPnVzZXIuc3RyKTsKQEAgLTYyNTgsNyArNjI5MSw3 IEBAIHN0YXRpYyBpbnQgaGFuZGxlX2dyYW50X2RhdGEoVEFCTEVfTElTVAogICAgIH0KICAgfQog Ci0gIC8qIEhhbmRsZSBwcm9jZWR1cmVzIHRhYmxlLiAqLworICAvKiBIYW5kbGUgc3RvcmVkIHJv dXRpbmVzIHRhYmxlLiAqLwogICBpZiAoKGZvdW5kPSBoYW5kbGVfZ3JhbnRfdGFibGUodGFibGVz LCA0LCBkcm9wLCB1c2VyX2Zyb20sIHVzZXJfdG8pKSA8IDApCiAgIHsKICAgICAvKiBIYW5kbGUg b2YgdGFibGUgZmFpbGVkLCBkb24ndCB0b3VjaCBpbi1tZW1vcnkgYXJyYXkuICovCkBAIC02Mjcx LDYgKzYzMDQsMTUgQEAgc3RhdGljIGludCBoYW5kbGVfZ3JhbnRfZGF0YShUQUJMRV9MSVNUCiAg ICAgICAgICBmb3VuZCkgJiYgISByZXN1bHQpCiAgICAgewogICAgICAgcmVzdWx0PSAxOyAvKiBB dCBsZWFzdCBvbmUgcmVjb3JkL2VsZW1lbnQgZm91bmQuICovCisgICAgICAvKiBJZiBzZWFyY2gg aXMgcmVxdWVzdGVkLCB3ZSBkbyBub3QgbmVlZCB0byBzZWFyY2ggZnVydGhlci4gKi8KKyAgICAg IGlmICghIGRyb3AgJiYgISB1c2VyX3RvKQorICAgICAgICBnb3RvIGVuZDsKKyAgICB9CisgICAg LyogSGFuZGxlIGZ1bmNzIGFycmF5LiAqLworICAgIGlmICgoKGhhbmRsZV9ncmFudF9zdHJ1Y3Qo NCwgZHJvcCwgdXNlcl9mcm9tLCB1c2VyX3RvKSAmJiAhIHJlc3VsdCkgfHwKKyAgICAgICAgIGZv dW5kKSAmJiAhIHJlc3VsdCkKKyAgICB7CisgICAgICByZXN1bHQ9IDE7IC8qIEF0IGxlYXN0IG9u ZSByZWNvcmQvZWxlbWVudCBmb3VuZC4gKi8KICAgICAgIC8qIElmIHNlYXJjaCBpcyByZXF1ZXN0 ZWQsIHdlIGRvIG5vdCBuZWVkIHRvIHNlYXJjaCBmdXJ0aGVyLiAqLwogICAgICAgaWYgKCEgZHJv cCAmJiAhIHVzZXJfdG8pCiAgICAgICAgIGdvdG8gZW5kOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3Nx bC9zcWxfdHJpZ2dlci5jYycKLS0tIGEvc3FsL3NxbF90cmlnZ2VyLmNjCTIwMTEtMDMtMDcgMDk6 MDg6MTAgKzAwMDAKKysrIGIvc3FsL3NxbF90cmlnZ2VyLmNjCTIwMTEtMDMtMTAgMDg6MDc6NTcg KzAwMDAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJzcWxfZGIuaCIgICAgICAgICAgICAg ICAgICAgICAgICAvLyBnZXRfZGVmYXVsdF9kYl9jb2xsYXRpb24KICNpbmNsdWRlICJzcWxfYWNs LmgiICAgICAgICAgICAgICAgICAgICAgICAvLyAqX0FDTCwgaXNfYWNsX3VzZXIKICNpbmNsdWRl ICJzcWxfaGFuZGxlci5oIiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG15c3FsX2hhX3JtX3Rh YmxlcworI2luY2x1ZGUgInNwX2NhY2hlLmgiICAgICAgICAgICAgICAgICAgICAgLy8gc3BfaW52 YWxpZGF0ZV9jYWNoZQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtNTE3LDYgKzUxOCwxMiBA QCBib29sIG15c3FsX2NyZWF0ZV9vcl9kcm9wX3RyaWdnZXIoVEhEICp0CiAgICovCiAgIHRoZC0+ bG9ja2VkX3RhYmxlc19saXN0LnJlb3Blbl90YWJsZXModGhkKTsKIAorICAvKgorICAgIEludmFs aWRhdGUgU1AtY2FjaGUuIFRoYXQncyBuZWVkZWQgYmVjYXVzZSB0cmlnZ2VycyBtYXkgY2hhbmdl IGxpc3Qgb2YKKyAgICBwcmUtbG9ja2luZyB0YWJsZXMuCisgICovCisgIHNwX2NhY2hlX2ludmFs aWRhdGUoKTsKKwogZW5kOgogICBpZiAoIXJlc3VsdCkKICAgewoKTm8gYnVuZGxlIChyZWFzb246 IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=