From: Date: December 5 2008 1:02pm Subject: bzr commit into mysql-6.0-bugteam branch (bar:2753) List-Archive: http://lists.mysql.com/commits/60729 Message-Id: <200812051202.mB5C28Ze030794@bar.myoffice.izhnet.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vaG9tZS9iYXIvbXlzcWwtYnpyL215c3FsLTYuMC1iNDA4MDUvCgogMjc1MyBB bGV4YW5kZXIgQmFya292CTIwMDgtMTItMDUgW21lcmdlXQogICAgICBNZXJnZSBmcm9tIG15c3Fs LTYuMC1idWd0ZWFtCmFkZGVkOgogIG15c3FsLXRlc3Qvci9jdHlwZV9maWxlc3lzdGVtLnJlc3Vs dAogIG15c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3QvZmFsY29uX2J1Z18yMjE4NC1tYXN0ZXIub3B0 CiAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2Rpc2FibGVkLmRlZgogIG15c3FsLXRlc3Qv dC9jdHlwZV9maWxlc3lzdGVtLW1hc3Rlci5vcHQKICBteXNxbC10ZXN0L3QvY3R5cGVfZmlsZXN5 c3RlbS50ZXN0Cm1vZGlmaWVkOgogIGNsaWVudC9teXNxbC5jYwogIGRidWcvZGJ1Zy5jCiAgZXh0 cmEveWFzc2wvc3JjL3lhc3NsX2ltcC5jcHAKICBpbmNsdWRlL215X2RidWcuaAogIGxpYm15c3Fs L2xpYm15c3FsLmMKICBsaWJteXNxbC9saWJteXNxbC5kZWYKICBsaWJteXNxbGQvZXhhbXBsZXMv Q01ha2VMaXN0cy50eHQKICBsaWJteXNxbGQvbGliX3NxbC5jYwogIGxpYm15c3FsZC9saWJteXNx bGQuZGVmCiAgbXlzcWwtdGVzdC9yL3BlcnJvci13aW4ucmVzdWx0CiAgbXlzcWwtdGVzdC9yL3N1 YnNlbGVjdC5yZXN1bHQKICBteXNxbC10ZXN0L3IvdGltZXpvbmUyLnJlc3VsdAogIG15c3FsLXRl c3Qvci90aW1lem9uZTMucmVzdWx0CiAgbXlzcWwtdGVzdC9yL3VwZGF0ZS5yZXN1bHQKICBteXNx bC10ZXN0L3IvdmFyaWFibGVzLnJlc3VsdAogIG15c3FsLXRlc3Qvci92aWV3LnJlc3VsdAogIG15 c3FsLXRlc3Qvc3RkX2RhdGEvTW9zY293X2xlYXAKICBteXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi9y L2ZhbGNvbl9idWdfMjIxODQucmVzdWx0CiAgbXlzcWwtdGVzdC9zdWl0ZS9mYWxjb24vdC9mYWxj b25fYnVnXzIyMTg0LnRlc3QKICBteXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCiAgbXlzcWwtdGVz dC90L3BlcnJvci13aW4udGVzdAogIG15c3FsLXRlc3QvdC9wZXJyb3IudGVzdAogIG15c3FsLXRl c3QvdC9zdWJzZWxlY3QudGVzdAogIG15c3FsLXRlc3QvdC90aW1lem9uZTMudGVzdAogIG15c3Fs LXRlc3QvdC91cGRhdGUudGVzdAogIG15c3FsLXRlc3QvdC92YXJpYWJsZXMudGVzdAogIG15c3Fs LXRlc3QvdC92aWV3LnRlc3QKICBteXN5cy9teV90aHJfaW5pdC5jCiAgc3FsL2l0ZW1fZnVuYy5j YwogIHNxbC9teXNxbF9wcml2LmgKICBzcWwvbXlzcWxkLmNjCiAgc3FsL3NldF92YXIuY2MKICBz cWwvc2V0X3Zhci5oCiAgc3FsL3NsYXZlLmNjCiAgc3FsL3NxbF9tYW5hZ2VyLmNjCiAgc3FsL3Nx bF9zaG93LmNjCiAgc3FsL3NxbF91cGRhdGUuY2MKICBzcWwvc3FsX3ZpZXcuY2MKICBzcWwvdHp0 aW1lLmNjCiAgc3FsL3R6dGltZS5oCgo9PT0gbW9kaWZpZWQgZmlsZSAnY2xpZW50L215c3FsLmNj JwotLS0gYS9jbGllbnQvbXlzcWwuY2MJMjAwOC0xMC0yMCAwOToxNjo0NyArMDAwMAorKysgYi9j bGllbnQvbXlzcWwuY2MJMjAwOC0xMi0wNSAwMTowNTowNSArMDAwMApAQCAtMTY1OCw4ICsxNjU4 LDEwIEBAIGdldF9vbmVfb3B0aW9uKGludCBvcHRpZCwgY29uc3Qgc3RydWN0IG0KICAgICBvcHRf bm9wYWdlcj0gMTsKICAgICBicmVhazsKICAgY2FzZSBPUFRfTVlTUUxfUFJPVE9DT0w6CisjaWZu ZGVmIEVNQkVEREVEX0xJQlJBUlkKICAgICBvcHRfcHJvdG9jb2w9IGZpbmRfdHlwZV9vcl9leGl0 KGFyZ3VtZW50LCAmc3FsX3Byb3RvY29sX3R5cGVsaWIsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvcHQtPm5hbWUpOworI2VuZGlmCiAgICAgYnJlYWs7CiAgIGNhc2UgT1BU X1NFUlZFUl9BUkc6CiAjaWZkZWYgRU1CRURERURfTElCUkFSWQoKPT09IG1vZGlmaWVkIGZpbGUg J2RidWcvZGJ1Zy5jJwotLS0gYS9kYnVnL2RidWcuYwkyMDA4LTExLTE5IDEwOjEzOjE3ICswMDAw CisrKyBiL2RidWcvZGJ1Zy5jCTIwMDgtMTItMDUgMDE6MDU6MDUgKzAwMDAKQEAgLTI1NjksMTMg KzI1NjksNCBAQCBpbnQgaV9hbV9hX2R1bW15X2Z1bmN0aW9uKCkgewogICAgICAgIHJldHVybiAw OwogfQogCi0jaWZkZWYgX19XSU5fXwotY2hhciBfZGJfZG9wcm50XzsKLWNoYXIgX2RiX2VudGVy XzsKLWNoYXIgX2RiX3BhcmdzXzsKLWNoYXIgX2RiX3Byb2Nlc3NfOwotY2hhciBfZGJfcHVzaF87 Ci1jaGFyIF9kYl9yZXR1cm5fOwotI2VuZGlmIC8qX19XSU5fXyovCi0KICNlbmRpZgoKPT09IG1v ZGlmaWVkIGZpbGUgJ2V4dHJhL3lhc3NsL3NyYy95YXNzbF9pbXAuY3BwJwotLS0gYS9leHRyYS95 YXNzbC9zcmMveWFzc2xfaW1wLmNwcAkyMDA4LTExLTE4IDIxOjE3OjA0ICswMDAwCisrKyBiL2V4 dHJhL3lhc3NsL3NyYy95YXNzbF9pbXAuY3BwCTIwMDgtMTItMDIgMTE6MjU6NDMgKzAwMDAKQEAg LTE1NjAsNiArMTU2MCw3IEBAIHZvaWQgQ2xpZW50SGVsbG86OlByb2Nlc3MoaW5wdXRfYnVmZmVy JiwKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBzc2wubWF0Y2hTdWl0ZShjaXBoZXJfc3Vp dGVzXywgc3VpdGVfbGVuXyk7CisgICAgaWYgKHNzbC5HZXRFcnJvcigpKSByZXR1cm47CiAgICAg c3NsLnNldF9wZW5kaW5nKHNzbC5nZXRTZWN1cml0eSgpLmdldF9wYXJtcygpLnN1aXRlX1sxXSk7 CiAKICAgICBpZiAoY29tcHJlc3Npb25fbWV0aG9kc18gPT0gemxpYikKCj09PSBtb2RpZmllZCBm aWxlICdpbmNsdWRlL215X2RidWcuaCcKLS0tIGEvaW5jbHVkZS9teV9kYnVnLmgJMjAwOC0xMS0x OSAxMDoxMzoxNyArMDAwMAorKysgYi9pbmNsdWRlL215X2RidWcuaAkyMDA4LTEyLTA1IDAxOjA1 OjA1ICswMDAwCkBAIC0xMzMsMjEgKzEzMyw2IEBAIGV4dGVybiAgdm9pZCBfZGJfZmx1c2hfKCk7 CiAjZGVmaW5lIElGX0RCVUcoQSkKICNkZWZpbmUgREJVR19BQk9SVCgpICAgICAgICAgICAgICAg ICAgICBhYm9ydCgpCiAKLSNpZmRlZiBfX1dJTl9fCi0vKgotICAgT24gd2luZG93cyBhbGwgdGhl IGRsbCBleHBvcnQgaGFzIHRvIGJlIGRlY2xhcmVkIGluIHRoZSAqLmRlZiBmaWxlCi0gICBzbyBh cyB3ZSBleHBvcnQgdGhlc2Ugc3ltYm9scyBpbiBERUJVRyBtb2RlIHdlIGhhdmUgdG8gZXhwb3J0 Ci0gICB0aGVzZSBpbiB0aGUgUkVMRUFTRSBtb2RlIGFsc28uIFNvIGJlbG93IGFyZSB0aGUgZHVt bXkgc3ltYm9scwotICAgZm9yIHRoZSBSRUxFQVNFIGV4cG9ydAotKi8KLWV4dGVybiAgY2hhciBf ZGJfZG9wcm50XzsKLWV4dGVybiAgY2hhciBfZGJfZW50ZXJfOwotZXh0ZXJuICBjaGFyIF9kYl9w YXJnc187Ci1leHRlcm4gIGNoYXIgX2RiX3Byb2Nlc3NfOwotZXh0ZXJuICBjaGFyIF9kYl9wdXNo XzsKLWV4dGVybiAgY2hhciBfZGJfcmV0dXJuXzsKLSNlbmRpZiAvKl9fV0lOX18qLwotCiAjZW5k aWYKICNpZmRlZiAgX19jcGx1c3BsdXMKIH0KCj09PSBtb2RpZmllZCBmaWxlICdsaWJteXNxbC9s aWJteXNxbC5jJwotLS0gYS9saWJteXNxbC9saWJteXNxbC5jCTIwMDgtMTAtMjIgMTE6NTE6Mjgg KzAwMDAKKysrIGIvbGlibXlzcWwvbGlibXlzcWwuYwkyMDA4LTEyLTA1IDAxOjA1OjA1ICswMDAw CkBAIC0yMDcsOSArMjA3LDcgQEAgdm9pZCBTVERDQUxMIG15c3FsX3NlcnZlcl9lbmQoKQogICAv KiBJZiBsaWJyYXJ5IGNhbGxlZCBteV9pbml0KCksIGZyZWUgbWVtb3J5IGFsbG9jYXRlZCBieSBp dCAqLwogICBpZiAoIW9yZ19teV9pbml0X2RvbmUpCiAgIHsKLSAgICBteV9lbmQoTVlfRE9OVF9G UkVFX0RCVUcpOwotICAgIC8qIFJlbW92ZSBUUkFDSU5HLCBpZiBlbmFibGVkIGJ5IG15c3FsX2Rl YnVnKCkgKi8KLSAgICBEQlVHX1BPUCgpOworICAgIG15X2VuZCgwKTsKICAgfQogICBlbHNlCiAg IHsKCj09PSBtb2RpZmllZCBmaWxlICdsaWJteXNxbC9saWJteXNxbC5kZWYnCi0tLSBhL2xpYm15 c3FsL2xpYm15c3FsLmRlZgkyMDA4LTA4LTExIDEwOjAzOjQ1ICswMDAwCisrKyBiL2xpYm15c3Fs L2xpYm15c3FsLmRlZgkyMDA4LTEyLTA1IDAxOjA1OjA1ICswMDAwCkBAIC0xLDMzICsxLDcgQEAK IExJQlJBUlkJCUxJQk1ZU1FMCiBWRVJTSU9OCQk2LjAKIEVYUE9SVFMKLQlfZGlnX3ZlY19sb3dl cgotCV9kaWdfdmVjX3VwcGVyCi0JYm1vdmVfdXBwCi0JZGVsZXRlX2R5bmFtaWMKLQlmcmVlX2Rl ZmF1bHRzCi0JZ2V0b3B0X2NvbXBhcmVfc3RyaW5ncwotCWdldG9wdF91bGxfbGltaXRfdmFsdWUK LQloYW5kbGVfb3B0aW9ucwotCWluaXRfZHluYW1pY19hcnJheQotCWluc2VydF9keW5hbWljCi0J aW50MnN0cgotCWlzX3ByZWZpeAotCWxpc3RfYWRkCi0JbGlzdF9kZWxldGUKLQlsb2FkX2RlZmF1 bHRzCi0JbXlfZW5kCi0JbXlfZ2V0b3B0X3ByaW50X2Vycm9ycwotCW15X2luaXQKLQlteV9tYWxs b2MKLQlteV9tZW1kdXAKLQlteV9ub19mbGFnc19mcmVlCi0JbXlfcGF0aAogCW15c3FsX2dldF9w YXJhbWV0ZXJzCi0JbXlfcHJpbnRfaGVscAotCW15X3ByaW50X3ZhcmlhYmxlcwotCW15X3JlYWxs b2MKLQlteV9zdHJkdXAKIAlteXNxbF90aHJlYWRfZW5kCiAJbXlzcWxfdGhyZWFkX2luaXQKIAlt eW9kYmNfcmVtb3ZlX2VzY2FwZQpAQCAtMTE3LDIyICs5MSwxMiBAQCBFWFBPUlRTCiAJbXlzcWxf c3RtdF9zcWxzdGF0ZQogCW15c3FsX3NxbHN0YXRlCiAJbXlzcWxfZ2V0X3NlcnZlcl92ZXJzaW9u Ci0Jc2V0X2R5bmFtaWMKLQlzdHJjZW5kCi0Jc3RyY29udAotCXN0cmR1cF9yb290Ci0Jc3RyZmls bAotCXN0cmluc3RyCi0Jc3RybWFrZQotCXN0cm1vdgotCXN0cnhtb3YKIAlteXNxbF9zdG10X3By ZXBhcmUKIAlteXNxbF9zdG10X2luaXQKIAlteXNxbF9zdG10X2luc2VydF9pZAogCW15c3FsX3N0 bXRfYXR0cl9nZXQKIAlteXNxbF9zdG10X2F0dHJfc2V0CiAJbXlzcWxfc3RtdF9maWVsZF9jb3Vu dAotCWNsaWVudF9lcnJvcnMKIAlteXNxbF9zZXRfbG9jYWxfaW5maWxlX2RlZmF1bHQKIAlteXNx bF9zZXRfbG9jYWxfaW5maWxlX2hhbmRsZXIKIAlteXNxbF9lbWJlZGRlZApAQCAtMTQwLDYgKzEw NCw0IEBAIEVYUE9SVFMKIAlteXNxbF9zZXJ2ZXJfZW5kCiAJbXlzcWxfc2V0X2NoYXJhY3Rlcl9z ZXQKIAlteXNxbF9nZXRfY2hhcmFjdGVyX3NldF9pbmZvCi0JZ2V0X2RlZmF1bHRzX29wdGlvbnMK LQltb2RpZnlfZGVmYXVsdHNfZmlsZQotICAgICAgICBteXNxbF9zdG10X25leHRfcmVzdWx0CisJ bXlzcWxfc3RtdF9uZXh0X3Jlc3VsdAoKPT09IG1vZGlmaWVkIGZpbGUgJ2xpYm15c3FsZC9leGFt cGxlcy9DTWFrZUxpc3RzLnR4dCcKLS0tIGEvbGlibXlzcWxkL2V4YW1wbGVzL0NNYWtlTGlzdHMu dHh0CTIwMDgtMTEtMTkgMTI6MTE6MzAgKzAwMDAKKysrIGIvbGlibXlzcWxkL2V4YW1wbGVzL0NN YWtlTGlzdHMudHh0CTIwMDgtMTItMDUgMDE6MDU6MDUgKzAwMDAKQEAgLTI0LDE4ICsyNCwxOCBA QCBJRihXSU4zMikKICAgQUREX0RFRklOSVRJT05TKC1EVVNFX1RMUykKIEVORElGKFdJTjMyKQog Ci1BRERfREVGSU5JVElPTlMoLURFTUJFRERFRF9MSUJSQVJZKQorQUREX0RFRklOSVRJT05TKC1E RU1CRURERURfTElCUkFSWSAtRE1ZX1VTRV9DTElFTlRfRExMKQogCiBBRERfRVhFQ1VUQUJMRSht eXNxbF9lbWJlZGRlZCAuLi8uLi9jbGllbnQvY29tcGxldGlvbl9oYXNoLmNjCiAgICAgICAgICAg ICAgICAuLi8uLi9jbGllbnQvbXlzcWwuY2MgLi4vLi4vY2xpZW50L3JlYWRsaW5lLmNjCiAgICAg ICAgICAgICAgICAuLi8uLi9jbGllbnQvc3FsX3N0cmluZy5jYykKLVRBUkdFVF9MSU5LX0xJQlJB UklFUyhteXNxbF9lbWJlZGRlZCB3czJfMzIpCitUQVJHRVRfTElOS19MSUJSQVJJRVMobXlzcWxf ZW1iZWRkZWQgZGVidWcgZGJ1ZyBzdHJpbmdzIG15c3lzIHZpbyB5YXNzbCB0YW9jcnlwdCByZWdl eCB3czJfMzIpCiBBRERfREVQRU5ERU5DSUVTKG15c3FsX2VtYmVkZGVkIGxpYm15c3FsZCkKIAog QUREX0VYRUNVVEFCTEUobXlzcWx0ZXN0X2VtYmVkZGVkIC4uLy4uL2NsaWVudC9teXNxbHRlc3Qu YykKLVRBUkdFVF9MSU5LX0xJQlJBUklFUyhteXNxbHRlc3RfZW1iZWRkZWQgd3MyXzMyKQorVEFS R0VUX0xJTktfTElCUkFSSUVTKG15c3FsdGVzdF9lbWJlZGRlZCBkZWJ1ZyBkYnVnIHN0cmluZ3Mg bXlzeXMgdmlvIHlhc3NsIHRhb2NyeXB0IHJlZ2V4IHdzMl8zMikKIEFERF9ERVBFTkRFTkNJRVMo bXlzcWx0ZXN0X2VtYmVkZGVkIGxpYm15c3FsZCkKIAogQUREX0VYRUNVVEFCTEUobXlzcWxfY2xp ZW50X3Rlc3RfZW1iZWRkZWQgLi4vLi4vdGVzdHMvbXlzcWxfY2xpZW50X3Rlc3QuYykKLVRBUkdF VF9MSU5LX0xJQlJBUklFUyhteXNxbF9jbGllbnRfdGVzdF9lbWJlZGRlZCB3czJfMzIpCitUQVJH RVRfTElOS19MSUJSQVJJRVMobXlzcWxfY2xpZW50X3Rlc3RfZW1iZWRkZWQgZGVidWcgZGJ1ZyBz dHJpbmdzIG15c3lzIHZpbyB5YXNzbCB0YW9jcnlwdCByZWdleCB3czJfMzIpCiBBRERfREVQRU5E RU5DSUVTKG15c3FsX2NsaWVudF90ZXN0X2VtYmVkZGVkIGxpYm15c3FsZCkKCj09PSBtb2RpZmll ZCBmaWxlICdsaWJteXNxbGQvbGliX3NxbC5jYycKLS0tIGEvbGlibXlzcWxkL2xpYl9zcWwuY2MJ MjAwOC0xMS0xNyAxNjoxMzoyMCArMDAwMAorKysgYi9saWJteXNxbGQvbGliX3NxbC5jYwkyMDA4 LTEyLTA1IDAxOjA1OjA1ICswMDAwCkBAIC0zODUsNiArMzg1LDcgQEAgc3RhdGljIHZvaWQgZW1i X2ZyZWVfZW1iZWRkZWRfdGhkKE1ZU1FMIAogICB0aGQtPnN0b3JlX2dsb2JhbHMoKTsKICAgdGhk LT51bmxpbmsoKTsKICAgZGVsZXRlIHRoZDsKKyAgbXlfcHRocmVhZF9zZXRzcGVjaWZpY19wdHIo VEhSX1RIRCwgIDApOwogICBteXNxbC0+dGhkPTA7CiB9CiAKQEAgLTUzOSwxMiArNTQwLDcgQEAg aW50IGluaXRfZW1iZWRkZWRfc2VydmVyKGludCBhcmdjLCBjaGFyIAogCiAgICh2b2lkKSB0aHJf c2V0Y29uY3VycmVuY3koY29uY3VycmVuY3kpOwkvLyAxMCBieSBkZWZhdWx0CiAKLSAgaWYgKGZs dXNoX3RpbWUgJiYgZmx1c2hfdGltZSAhPSB+KHVsb25nKSAwTCkKLSAgewotICAgIHB0aHJlYWRf dCBoVGhyZWFkOwotICAgIGlmIChwdGhyZWFkX2NyZWF0ZSgmaFRocmVhZCwmY29ubmVjdGlvbl9h dHRyaWIsaGFuZGxlX21hbmFnZXIsMCkpCi0gICAgICBzcWxfcHJpbnRfZXJyb3IoIldhcm5pbmc6 IENhbid0IGNyZWF0ZSB0aHJlYWQgdG8gbWFuYWdlIG1haW50ZW5hbmNlIik7Ci0gIH0KKyAgc3Rh cnRfaGFuZGxlX21hbmFnZXIoKTsKIAogICAvLyBGSVhNRSBpbml0aWFsaXplIGJpbmxvZ19maWx0 ZXIgYW5kIHJwbF9maWx0ZXIgaWYgbm90IGFscmVhZHkgZG9uZQogICAvLyAgICAgICBjb3JyZXNw b25kaW5nIGRlbGV0ZSBpcyBpbiBjbGVhbl91cCgpCgo9PT0gbW9kaWZpZWQgZmlsZSAnbGlibXlz cWxkL2xpYm15c3FsZC5kZWYnCi0tLSBhL2xpYm15c3FsZC9saWJteXNxbGQuZGVmCTIwMDgtMTEt MjYgMTE6NTQ6MzkgKzAwMDAKKysrIGIvbGlibXlzcWxkL2xpYm15c3FsZC5kZWYJMjAwOC0xMi0w NSAwMTowNTowNSArMDAwMApAQCAtMSw5NiArMSw2IEBACiBMSUJSQVJZCQlMSUJNWVNRTEQKIFZF UlNJT04JCTUuMQogRVhQT1JUUwotCV9kYl9wcm9jZXNzXwotCV9kYl9lbnRlcl8KLQlfZGJfcmV0 dXJuXwotCV9kYl9wdXNoXwotCV9kYl9kb3BybnRfCi0JX2RiX3BhcmdzXwotCXN0cm5tb3YKLQln ZXRfY2hhcnNldAotCW15X21lbW1lbQotCW15X3NucHJpbnRmCi0JcHRocmVhZF9leGl0Ci0JcHRo cmVhZF9jb25kX3NpZ25hbAotCWR5bnN0cl9hcHBlbmRfbWVtCi0JaW5pdF9keW5hbWljX3N0cmlu ZwotCWR5bnN0cl9mcmVlCi0JbXlfaGFzaF9mcmVlCi0JbXlfdnNucHJpbnRmCi0JZHluc3RyX2Fw cGVuZAotCW15X2Nsb3NlCi0JbXlfb3BlbgotCWR5bnN0cl9zZXQKLQlkeW5zdHJfYXBwZW5kX29z X3F1b3RlZAotCW15X2RlbGV0ZQotCW15X3NlZWsKLQlteV93cml0ZQotCWNyZWF0ZV90ZW1wX2Zp bGUKLQlmbl9mb3JtYXQKLQlkaXJuYW1lX3BhcnQKLQlteV9oYXNoX2luc2VydAotCW15X2hhc2hf c2VhcmNoCi0JdGVzdF9pZl9oYXJkX3BhdGgKLQlteV9jb3B5Ci0JbXlfbWtkaXIKLQlteV9zbGVl cAotCW15X3N0cnRvZAotCXB0aHJlYWRfY29uZF93YWl0Ci0JbXlfc3Rybm5jb2xsX3NpbXBsZQot CWdldF9keW5hbWljCi0JbXlfcmVnZXJyb3IKLQlpbml0X2R5bmFtaWNfYXJyYXkyCi0JcHRocmVh ZF9jcmVhdGUKLQlwdGhyZWFkX2NvbmRfaW5pdAotCWxsMnN0cgotCW15X2ZpbGVubwotCW15X2dj dnQKLQlteV9yZWdjb21wCi0JbXlfcmVnZXhlYwotCW15X3JlZ2V4X2VuZAotCW15X3JlZ2ZyZWUK LQlteV9zZXRfZXhjZXB0aW9uX3BvaW50ZXJzCi0JbXlfcHJpbnRfc3RhY2t0cmFjZQotCW15X3Ro cmVhZF9zdGFja19zaXplCi0JbXlfc2FmZV9wcmludF9zdHIKLQlteV9zdGF0Ci0JX215X2hhc2hf aW5pdAotCXB0aHJlYWRfYXR0cl9zZXRzdGFja3NpemUKLQlwdGhyZWFkX2F0dHJfaW5pdAotCW15 X2RpcmVuZAotCXdpbGRfY29tcGFyZQotCW15X2RpcgotCW15X21pY3JvX3RpbWUKLQlmaW5kX3R5 cGVfb3JfZXhpdAotCV9kaWdfdmVjX3VwcGVyCi0JX2RpZ192ZWNfbG93ZXIKLQlibW92ZV91cHAK LQlkZWxldGVfZHluYW1pYwotCWZyZWVfZGVmYXVsdHMKLQlnZXRvcHRfY29tcGFyZV9zdHJpbmdz Ci0JZ2V0b3B0X3VsbF9saW1pdF92YWx1ZQotCWhhbmRsZV9vcHRpb25zCi0JaW5pdF9keW5hbWlj X2FycmF5Ci0JaW5zZXJ0X2R5bmFtaWMKLQlpbnQyc3RyCi0JaXNfcHJlZml4Ci0JbGlzdF9hZGQK LQlsaXN0X2RlbGV0ZQotCWxvYWRfZGVmYXVsdHMKLQltYXhfYWxsb3dlZF9wYWNrZXQKLQlteV9j Z2V0cwotCW15X2VuZAotCW15X2dldG9wdF9wcmludF9lcnJvcnMKLQlteV9pbml0Ci0JbXlfbWFs bG9jCi0JbXlfbWVtZHVwCi0JbXlfbm9fZmxhZ3NfZnJlZQotCW15X3BhdGgKLQlteV9wcmludF9o ZWxwCi0JbXlfcHJpbnRfdmFyaWFibGVzCi0JbXlfcmVhbGxvYwotCW15X3N0cmR1cAogCW15c3Fs X3RocmVhZF9lbmQKIAlteXNxbF90aHJlYWRfaW5pdAogCW15b2RiY19yZW1vdmVfZXNjYXBlCkBA IC0xNTksNDcgKzY5LDEzIEBAIEVYUE9SVFMKIAlteXNxbF90aHJlYWRfc2FmZQogCW15c3FsX3Vz ZV9yZXN1bHQKIAlteXNxbF93YXJuaW5nX2NvdW50Ci0Jc2V0X2R5bmFtaWMKLQlzdHJjZW5kCi0J c3RyY29udAotCXN0cmR1cF9yb290Ci0Jc3RyZmlsbAotCXN0cmluc3RyCi0Jc3RybWFrZQotCXN0 cm1vdgotCXN0cnhtb3YKIAlteXNxbF9zZXJ2ZXJfZW5kCiAJbXlzcWxfc2VydmVyX2luaXQKIAln ZXRfdHR5X3Bhc3N3b3JkCi0Jc3FsX3Byb3RvY29sX3R5cGVsaWIKIAlteXNxbF9nZXRfc2VydmVy X3ZlcnNpb24KIAlteXNxbF9zZXRfY2hhcmFjdGVyX3NldAogCW15c3FsX3NxbHN0YXRlCi0JY2hh cnNldHNfZGlyCi0JZGlzYWJsZWRfbXlfb3B0aW9uCi0JbXlfY2hhcnNldF9sYXRpbjEKLQlpbml0 X2FsbG9jX3Jvb3QKLQlteV9wcm9nbmFtZQotCWdldF9jaGFyc2V0X25hbWUKLQlnZXRfY2hhcnNl dF9ieV9jc25hbWUKLQlwcmludF9kZWZhdWx0cwotCWZpbmRfdHlwZQotCXN0cnhubW92Ci0Jc3Ry ZW5kCi0JbXlfZm9wZW4KLQlteV9mY2xvc2UKLQl1bnBhY2tfZmlsZW5hbWUKLQlzdHIyaW50Ci0J aW50MTBfdG9fc3RyCi0JbG9uZ2xvbmcxMF90b19zdHIKLQlteV9zbnByaW50Zl84Yml0Ci0JYWxs b2Nfcm9vdAotCWZyZWVfcm9vdAotCW15X3JlYWQKLQlsbHN0cgogCW15c3FsX2dldF9wYXJhbWV0 ZXJzCi0JbXlzcWxfdGhyZWFkX2luaXQKLQlteXNxbF90aHJlYWRfZW5kCiAJbXlzcWxfc3RtdF9i aW5kX3BhcmFtCiAJbXlzcWxfc3RtdF9iaW5kX3Jlc3VsdAogCW15c3FsX3N0bXRfZXhlY3V0ZQpA QCAtMjI3LDggKzEwMyw0IEBAIEVYUE9SVFMKIAlteXNxbF9zdG10X2F0dHJfZ2V0CiAJbXlzcWxf c3RtdF9hdHRyX3NldAogCW15c3FsX3N0bXRfZmllbGRfY291bnQKLQlnZXRfZGVmYXVsdHNfb3B0 aW9ucwotCW15X2NoYXJzZXRfYmluCi0JbXlfY2hhcnNldF9zYW1lCi0JbW9kaWZ5X2RlZmF1bHRz X2ZpbGUKLSAgICAgICAgbXlzcWxfc3RtdF9uZXh0X3Jlc3VsdAorCW15c3FsX3N0bXRfbmV4dF9y ZXN1bHQKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3IvY3R5cGVfZmlsZXN5c3RlbS5yZXN1 bHQnCi0tLSBhL215c3FsLXRlc3Qvci9jdHlwZV9maWxlc3lzdGVtLnJlc3VsdAkxOTcwLTAxLTAx IDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9jdHlwZV9maWxlc3lzdGVtLnJlc3Vs dAkyMDA4LTEyLTAxIDExOjM0OjUzICswMDAwCkBAIC0wLDAgKzEsMTEgQEAKK1NFVCBDSEFSQUNU RVIgU0VUIHV0Zjg7CitTSE9XIFZBUklBQkxFUyBsaWtlICdjaGFyYWN0ZXJfc2V0c19kaXInOwor VmFyaWFibGVfbmFtZQlWYWx1ZQorY2hhcmFjdGVyX3NldHNfZGlyCU1ZU1FMX1RFU1RfRElSL8Of LworU0hPVyBWQVJJQUJMRVMgbGlrZSAnY2hhcmFjdGVyX3NldF9maWxlc3lzdGVtJzsKK1Zhcmlh YmxlX25hbWUJVmFsdWUKK2NoYXJhY3Rlcl9zZXRfZmlsZXN5c3RlbQlsYXRpbjEKK1NIT1cgVkFS SUFCTEVTIGxpa2UgJ2NoYXJhY3Rlcl9zZXRfY2xpZW50JzsKK1ZhcmlhYmxlX25hbWUJVmFsdWUK K2NoYXJhY3Rlcl9zZXRfY2xpZW50CXV0ZjgKK1NFVCBDSEFSQUNURVIgU0VUIGRlZmF1bHQ7Cgo9 PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3BlcnJvci13aW4ucmVzdWx0JwotLS0gYS9t eXNxbC10ZXN0L3IvcGVycm9yLXdpbi5yZXN1bHQJMjAwOC0xMS0yNyAxMjozMzo0MCArMDAwMAor KysgYi9teXNxbC10ZXN0L3IvcGVycm9yLXdpbi5yZXN1bHQJMjAwOC0xMi0wMSAxOTo1MTowMSAr MDAwMApAQCAtMSw1ICsxLDcgQEAKIE15U1FMIGVycm9yIGNvZGUgMTUwOiBGb3JlaWduIGtleSBj b25zdHJhaW50IGlzIGluY29ycmVjdGx5IGZvcm1lZAotV2luMzIgZXJyb3IgY29kZSAxNTA6IFN5 c3RlbSB0cmFjZSBpbmZvcm1hdGlvbiB3YXMgbm90IHNwZWNpZmllZCBpbiB5b3VyIENPTkZJRy5T WVMgZmlsZSwgb3IgdHJhY2luZyBpcyBkaXNhbGxvd2VkLgorV2luMzIgZXJyb3IgY29kZSAxNTA6 IFN5c3RlbSB0cmFjZSBpbmZvcm1hdGlvbiB3YXMgbm90IHNwZWNpZmllZCBpbiB5b3VyIENPTkZJ Ry5TWVMgZmlsZSwgb3IgdHJhY2luZyBpcyBkaXNhbGxvd2VkLg0KIE9TIGVycm9yIGNvZGUgIDIz OiAgVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0KLVdpbjMyIGVycm9yIGNvZGUgMjM6IERh dGEgZXJyb3IgKGN5Y2xpYyByZWR1bmRhbmN5IGNoZWNrKS4KLVdpbjMyIGVycm9yIGNvZGUgMTUw MDA6IFRoZSBzcGVjaWZpZWQgY2hhbm5lbCBwYXRoIGlzIGludmFsaWQuCitXaW4zMiBlcnJvciBj b2RlIDIzOiBEYXRhIGVycm9yIChjeWNsaWMgcmVkdW5kYW5jeSBjaGVjaykuDQorTXlTUUwgZXJy b3IgY29kZSAxMDYyIChFUl9EVVBfRU5UUlkpOiBEdXBsaWNhdGUgZW50cnkgJyUtLjE5MnMnIGZv ciBrZXkgJWQKK1dpbjMyIGVycm9yIGNvZGUgMTA2MjogVGhlIHNlcnZpY2UgaGFzIG5vdCBiZWVu IHN0YXJ0ZWQuDQorSWxsZWdhbCBlcnJvciBjb2RlOiAzMDAwMAoKPT09IG1vZGlmaWVkIGZpbGUg J215c3FsLXRlc3Qvci9zdWJzZWxlY3QucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Ivc3Vic2Vs ZWN0LnJlc3VsdAkyMDA4LTExLTI3IDE0OjI1OjAyICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9z dWJzZWxlY3QucmVzdWx0CTIwMDgtMTEtMjggMTE6NDA6NDAgKzAwMDAKQEAgLTQ2NTksMzYgKzQ2 NTksNiBAQCBTRUxFQ1QgdDEuYSwgKFNFTEVDVCAxIEZST00gdDIgV0hFUkUgdDIuCiBhCWluY29y cmVjdAogMQkxCiBEUk9QIFRBQkxFIHQxLHQyLHQzOwotQ1JFQVRFIFRBQkxFIHQxIChpZCBpbnQp OwotQ1JFQVRFIFRBQkxFIHQyIChpZCBpbnQsIGMgaW50KTsKLUlOU0VSVCBJTlRPIHQxIChpZCkg VkFMVUVTICgxKTsKLUlOU0VSVCBJTlRPIHQyIChpZCkgVkFMVUVTICgxKTsKLUlOU0VSVCBJTlRP IHQxIChpZCkgVkFMVUVTICgxKTsKLUlOU0VSVCBJTlRPIHQyIChpZCkgVkFMVUVTICgxKTsKLUNS RUFURSBWSUVXIHYxIEFTCi1TRUxFQ1QgdDIuYyBBUyBjIEZST00gdDEsIHQyCi1XSEVSRSB0MS5p ZD10Mi5pZCBBTkQgMSBJTiAoU0VMRUNUIGlkIEZST00gdDEpIFdJVEggQ0hFQ0sgT1BUSU9OOwot VVBEQVRFIHYxIFNFVCBjPTE7Ci1DUkVBVEUgVklFVyB2MiAoYSxiKSBBUwotU0VMRUNUIHQyLmlk LCB0Mi5jIEFTIGMgRlJPTSB0MSwgdDIKLVdIRVJFIHQxLmlkPXQyLmlkIEFORCAxIElOIChTRUxF Q1QgaWQgRlJPTSB0MSkgV0lUSCBDSEVDSyBPUFRJT047Ci1JTlNFUlQgSU5UTyB2MihhLGIpIFZB TFVFUyAoMiwyKTsKLUVSUk9SIEhZMDAwOiBDSEVDSyBPUFRJT04gZmFpbGVkICd0ZXN0LnYyJwot SU5TRVJUIElOVE8gdjIoYSxiKSBWQUxVRVMgKDEsMik7Ci1TRUxFQ1QgKiBGUk9NIHYxOwotYwot MQotMQotMQotMQotMgotMgotQ1JFQVRFIFZJRVcgdjMgQVMKLVNFTEVDVCB0Mi5jIEFTIGMgRlJP TSB0MgotV0hFUkUgMSBJTiAoU0VMRUNUIGlkIEZST00gdDEpIFdJVEggQ0hFQ0sgT1BUSU9OOwot REVMRVRFIEZST00gdjM7Ci1EUk9QIFZJRVcgdjEsdjIsdjM7Ci1EUk9QIFRBQkxFIHQxLHQyOwog RW5kIG9mIDUuMSB0ZXN0cy4KIENSRUFURSBUQUJMRSB0MSggYSBJTlQgKTsKIElOU0VSVCBJTlRP IHQxIFZBTFVFUyAoMSksKDIpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci90aW1l em9uZTIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvdGltZXpvbmUyLnJlc3VsdAkyMDA3LTAz LTA5IDEwOjEyOjMxICswMDAwCisrKyBiL215c3FsLXRlc3Qvci90aW1lem9uZTIucmVzdWx0CTIw MDgtMTItMDEgMTU6NDM6NTEgKzAwMDAKQEAgLTExMCw3ICsxMTAsNyBAQCBpCXRzCiAzNjI3OTM2 MTAJMTk4MS0wNy0wMSAwNDowMDowMAogc2VsZWN0IGZyb21fdW5peHRpbWUoMzYyNzkzNjA5KTsK IGZyb21fdW5peHRpbWUoMzYyNzkzNjA5KQotMTk4MS0wNy0wMSAwMzo1OTo2MAorMTk4MS0wNy0w MSAwMzo1OTo1OQogZHJvcCB0YWJsZSB0MTsKIGNyZWF0ZSB0YWJsZSB0MSAodHMgdGltZXN0YW1w KTsKIHNldCB0aW1lX3pvbmU9J1VUQyc7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9y L3RpbWV6b25lMy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci90aW1lem9uZTMucmVzdWx0CTIw MDQtMTEtMTIgMTU6NDQ6MTcgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3RpbWV6b25lMy5yZXN1 bHQJMjAwOC0xMi0wMSAxNDoxODozNSArMDAwMApAQCAtMTcsNiArMTcsOSBAQCBpbnNlcnQgaW50 byB0MSB2YWx1ZXMKIGluc2VydCBpbnRvIHQxIHZhbHVlcwogKHVuaXhfdGltZXN0YW1wKCcxOTgx LTA3LTAxIDAzOjU5OjU5JyksJzE5ODEtMDctMDEgMDM6NTk6NTknKSwKICh1bml4X3RpbWVzdGFt cCgnMTk4MS0wNy0wMSAwNDowMDowMCcpLCcxOTgxLTA3LTAxIDA0OjAwOjAwJyk7CitpbnNlcnQg aW50byB0MSB2YWx1ZXMKKyh1bml4X3RpbWVzdGFtcCgnMjAwOS0wMS0wMSAwMjo1OTo1OScpLCcy MDA5LTAxLTAxIDAyOjU5OjU5JyksCisodW5peF90aW1lc3RhbXAoJzIwMDktMDEtMDEgMDM6MDA6 MDAnKSwnMjAwOS0wMS0wMSAwMzowMDowMCcpOwogc2VsZWN0IGksIGZyb21fdW5peHRpbWUoaSks IGMgZnJvbSB0MTsKIGkJZnJvbV91bml4dGltZShpKQljCiAxMDcyOTA0NDIyCTIwMDQtMDEtMDEg MDA6MDA6MDAJMjAwNC0wMS0wMSAwMDowMDowMApAQCAtMzEsNiArMzQsOCBAQCBpCWZyb21fdW5p eHRpbWUoaSkJYwogMTA5OTE4MDgyMQkyMDA0LTEwLTMxIDAyOjU5OjU5CTIwMDQtMTAtMzEgMDI6 NTk6NTkKIDM2Mjc5MzYwOAkxOTgxLTA3LTAxIDAzOjU5OjU5CTE5ODEtMDctMDEgMDM6NTk6NTkK IDM2Mjc5MzYxMAkxOTgxLTA3LTAxIDA0OjAwOjAwCTE5ODEtMDctMDEgMDQ6MDA6MDAKKzEyMzA3 NjgwMjIJMjAwOS0wMS0wMSAwMjo1OTo1OQkyMDA5LTAxLTAxIDAyOjU5OjU5CisxMjMwNzY4MDI0 CTIwMDktMDEtMDEgMDM6MDA6MDAJMjAwOS0wMS0wMSAwMzowMDowMAogZHJvcCB0YWJsZSB0MTsK IGNyZWF0ZSB0YWJsZSB0MSAodHMgdGltZXN0YW1wKTsKIGluc2VydCBpbnRvIHQxIHZhbHVlcyAo MTk3MzAxMDEyMzU5MDApLCAoMjAwNDAxMDEyMzU5MDApOwpAQCAtMzksMyArNDQsNiBAQCB0cwog MTk3My0wMS0wMSAyMzo1OTowMAogMjAwNC0wMS0wMSAyMzo1OTowMAogZHJvcCB0YWJsZSB0MTsK K1NFTEVDVCBGUk9NX1VOSVhUSU1FKDEyMzA3NjgwMjIpLCBGUk9NX1VOSVhUSU1FKDEyMzA3Njgw MjMpLCBGUk9NX1VOSVhUSU1FKDEyMzA3NjgwMjQpOworRlJPTV9VTklYVElNRSgxMjMwNzY4MDIy KQlGUk9NX1VOSVhUSU1FKDEyMzA3NjgwMjMpCUZST01fVU5JWFRJTUUoMTIzMDc2ODAyNCkKKzIw MDktMDEtMDEgMDI6NTk6NTkJMjAwOS0wMS0wMSAwMjo1OTo1OQkyMDA5LTAxLTAxIDAzOjAwOjAw Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3VwZGF0ZS5yZXN1bHQnCi0tLSBhL215 c3FsLXRlc3Qvci91cGRhdGUucmVzdWx0CTIwMDctMDQtMjcgMDg6NDI6MTUgKzAwMDAKKysrIGIv bXlzcWwtdGVzdC9yL3VwZGF0ZS5yZXN1bHQJMjAwOC0xMS0yOCAxNjozNjowNyArMDAwMApAQCAt NDkxLDQgKzQ5MSwxNSBAQCB1cGRhdGUgdDEgam9pbiB0MiBvbiAodDEuYT10Mi5hKSBzZXQgdDEu CiBhZmZlY3RlZCByb3dzOiAxMjcKIGluZm86IFJvd3MgbWF0Y2hlZDogMTI4ICBDaGFuZ2VkOiAx MjcgIFdhcm5pbmdzOiAwCiBkcm9wIHRhYmxlIHQxLHQyOworRFJPUCBUQUJMRSBJRiBFWElTVFMg dDE7CitEUk9QIEZVTkNUSU9OIElGIEVYSVNUUyBmMTsKK0NSRUFURSBGVU5DVElPTiBmMSgpIFJF VFVSTlMgSU5UIFJFVFVSTiBmMSgpOworQ1JFQVRFIFRBQkxFIHQxIChpIElOVCk7CitJTlNFUlQg SU5UTyB0MSBWQUxVRVMgKDEpOworVVBEQVRFIHQxIFNFVCBpID0gMyBXSEVSRSBmMSgpOworRVJS T1IgSFkwMDA6IFJlY3Vyc2l2ZSBzdG9yZWQgZnVuY3Rpb25zIGFuZCB0cmlnZ2VycyBhcmUgbm90 IGFsbG93ZWQuCitVUERBVEUgdDEgU0VUIGkgPSBmMSgpOworRVJST1IgSFkwMDA6IFJlY3Vyc2l2 ZSBzdG9yZWQgZnVuY3Rpb25zIGFuZCB0cmlnZ2VycyBhcmUgbm90IGFsbG93ZWQuCitEUk9QIFRB QkxFIHQxOworRFJPUCBGVU5DVElPTiBmMTsKIEVuZCBvZiA1LjAgdGVzdHMKCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3IvdmFyaWFibGVzLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9y L3ZhcmlhYmxlcy5yZXN1bHQJMjAwOC0xMS0yNCAyMDo0NjoxMSArMDAwMAorKysgYi9teXNxbC10 ZXN0L3IvdmFyaWFibGVzLnJlc3VsdAkyMDA4LTExLTI3IDExOjAxOjU5ICswMDAwCkBAIC0xMzI1 LDE5ICsxMzI1LDYgQEAgRVJST1IgSFkwMDA6IFZhcmlhYmxlICdza2lwX3Nob3dfZGF0YWJhcwog U0VUIEBAZ2xvYmFsLnNraXBfc2hvd19kYXRhYmFzZT0gdHJ1ZTsKIEVSUk9SIEhZMDAwOiBWYXJp YWJsZSAnc2tpcF9zaG93X2RhdGFiYXNlJyBpcyBhIHJlYWQgb25seSB2YXJpYWJsZQogIwotU0hP VyBWQVJJQUJMRVMgbGlrZSAnc29ja2V0JzsKLVZhcmlhYmxlX25hbWUJVmFsdWUKLXNvY2tldAkj Ci1TRUxFQ1QgQEBzZXNzaW9uLnNvY2tldDsKLUVSUk9SIEhZMDAwOiBWYXJpYWJsZSAnc29ja2V0 JyBpcyBhIEdMT0JBTCB2YXJpYWJsZQotU0VMRUNUIEBAZ2xvYmFsLnNvY2tldDsKLUBAZ2xvYmFs LnNvY2tldAotIwotU0VUIEBAc2Vzc2lvbi5zb2NrZXQ9ICd4JzsKLUVSUk9SIEhZMDAwOiBWYXJp YWJsZSAnc29ja2V0JyBpcyBhIHJlYWQgb25seSB2YXJpYWJsZQotU0VUIEBAZ2xvYmFsLnNvY2tl dD0gJ3gnOwotRVJST1IgSFkwMDA6IFZhcmlhYmxlICdzb2NrZXQnIGlzIGEgcmVhZCBvbmx5IHZh cmlhYmxlCi0jCiBTSE9XIFZBUklBQkxFUyBsaWtlICd0aHJlYWRfc3RhY2snOwogVmFyaWFibGVf bmFtZQlWYWx1ZQogdGhyZWFkX3N0YWNrCSMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0 L3Ivdmlldy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci92aWV3LnJlc3VsdAkyMDA4LTEwLTI5 IDEzOjU1OjA0ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci92aWV3LnJlc3VsdAkyMDA4LTExLTI4 IDE3OjUxOjQ3ICswMDAwCkBAIC02MjUsNyArNjI1LDcgQEAgZHJvcCB0YWJsZSB0MTsKIGNyZWF0 ZSB0YWJsZSB0MSAoYSBpbnQsIGIgaW50KTsKIGNyZWF0ZSB2aWV3IHYxIGFzIHNlbGVjdCBhLCBz dW0oYikgZnJvbSB0MSBncm91cCBieSBhOwogc2VsZWN0IGIgZnJvbSB2MSB1c2UgaW5kZXggKHNv bWVfaW5kZXgpIHdoZXJlIGI9MTsKLUVSUk9SIEhZMDAwOiBJbmNvcnJlY3QgdXNhZ2Ugb2YgaW5k ZXggaGludHMgYW5kIFZJRVcKK0VSUk9SIDQyMDAwOiBLZXkgJ3NvbWVfaW5kZXgnIGRvZXNuJ3Qg ZXhpc3QgaW4gdGFibGUgJ3YxJwogZHJvcCB2aWV3IHYxOwogZHJvcCB0YWJsZSB0MTsKIGNyZWF0 ZSB0YWJsZSB0MSAoY29sMSBjaGFyKDUpLGNvbDIgY2hhcig1KSk7CkBAIC0zNTYzLDExICszNTYz LDExIEBAIENSRUFURSBUQUJMRSB0MSAoYSBJTlQpOwogSU5TRVJUIElOVE8gdDEgVkFMVUVTICgx KSwoMik7CiBDUkVBVEUgVklFVyB2MSBBUyBTRUxFQ1QgKiBGUk9NIHQxOwogU0VMRUNUICogRlJP TSB2MSBVU0UgS0VZKG5vbl9leGlzdGFudCk7Ci1FUlJPUiBIWTAwMDogSW5jb3JyZWN0IHVzYWdl IG9mIGluZGV4IGhpbnRzIGFuZCBWSUVXCitFUlJPUiA0MjAwMDogS2V5ICdub25fZXhpc3RhbnQn IGRvZXNuJ3QgZXhpc3QgaW4gdGFibGUgJ3YxJwogU0VMRUNUICogRlJPTSB2MSBGT1JDRSBLRVko bm9uX2V4aXN0YW50KTsKLUVSUk9SIEhZMDAwOiBJbmNvcnJlY3QgdXNhZ2Ugb2YgaW5kZXggaGlu dHMgYW5kIFZJRVcKK0VSUk9SIDQyMDAwOiBLZXkgJ25vbl9leGlzdGFudCcgZG9lc24ndCBleGlz dCBpbiB0YWJsZSAndjEnCiBTRUxFQ1QgKiBGUk9NIHYxIElHTk9SRSBLRVkobm9uX2V4aXN0YW50 KTsKLUVSUk9SIEhZMDAwOiBJbmNvcnJlY3QgdXNhZ2Ugb2YgaW5kZXggaGludHMgYW5kIFZJRVcK K0VSUk9SIDQyMDAwOiBLZXkgJ25vbl9leGlzdGFudCcgZG9lc24ndCBleGlzdCBpbiB0YWJsZSAn djEnCiBEUk9QIFZJRVcgdjE7CiBEUk9QIFRBQkxFIHQxOwogQ1JFQVRFIFRBQkxFIHQxIChhIElO VCBOT1QgTlVMTCBBVVRPX0lOQ1JFTUVOVCwgYiBJTlQgTk9UIE5VTEwgREVGQVVMVCAwLApAQCAt MzY3NSw2ICszNjc1LDMxIEBAIERST1AgVklFVyB2MTsKIAogQ1JFQVRFIFZJRVcgdjEgQVMgU0VM RUNUIDE7CiBEUk9QIFZJRVcgdjE7CitDUkVBVEUgVEFCTEUgdDEgKGMxIElOVCBQUklNQVJZIEtF WSwgYzIgSU5ULCBJTkRFWCAoYzIpKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSwxKSwgKDIs MiksICgzLDMpOworU0VMRUNUICogRlJPTSB0MSBVU0UgSU5ERVggKFBSSU1BUlkpIFdIRVJFIGMx PTI7CitjMQljMgorMgkyCitTRUxFQ1QgKiBGUk9NIHQxIFVTRSBJTkRFWCAoYzIpIFdIRVJFIGMy PTI7CitjMQljMgorMgkyCitDUkVBVEUgVklFVyB2MSBBUyBTRUxFQ1QgYzEsIGMyIEZST00gdDE7 CitTSE9XIElOREVYIEZST00gdjE7CitUYWJsZQlOb25fdW5pcXVlCUtleV9uYW1lCVNlcV9pbl9p bmRleAlDb2x1bW5fbmFtZQlDb2xsYXRpb24JQ2FyZGluYWxpdHkJU3ViX3BhcnQJUGFja2VkCU51 bGwJSW5kZXhfdHlwZQlDb21tZW50CUluZGV4X0NvbW1lbnQKK1NFTEVDVCAqIEZST00gdjEgVVNF IElOREVYIChQUklNQVJZKSBXSEVSRSBjMT0yOworRVJST1IgNDIwMDA6IEtleSAnUFJJTUFSWScg ZG9lc24ndCBleGlzdCBpbiB0YWJsZSAndjEnCitTRUxFQ1QgKiBGUk9NIHYxIEZPUkNFIElOREVY IChQUklNQVJZKSBXSEVSRSBjMT0yOworRVJST1IgNDIwMDA6IEtleSAnUFJJTUFSWScgZG9lc24n dCBleGlzdCBpbiB0YWJsZSAndjEnCitTRUxFQ1QgKiBGUk9NIHYxIElHTk9SRSBJTkRFWCAoUFJJ TUFSWSkgV0hFUkUgYzE9MjsKK0VSUk9SIDQyMDAwOiBLZXkgJ1BSSU1BUlknIGRvZXNuJ3QgZXhp c3QgaW4gdGFibGUgJ3YxJworU0VMRUNUICogRlJPTSB2MSBVU0UgSU5ERVggKGMyKSBXSEVSRSBj Mj0yOworRVJST1IgNDIwMDA6IEtleSAnYzInIGRvZXNuJ3QgZXhpc3QgaW4gdGFibGUgJ3YxJwor U0VMRUNUICogRlJPTSB2MSBGT1JDRSBJTkRFWCAoYzIpIFdIRVJFIGMyPTI7CitFUlJPUiA0MjAw MDogS2V5ICdjMicgZG9lc24ndCBleGlzdCBpbiB0YWJsZSAndjEnCitTRUxFQ1QgKiBGUk9NIHYx IElHTk9SRSBJTkRFWCAoYzIpIFdIRVJFIGMyPTI7CitFUlJPUiA0MjAwMDogS2V5ICdjMicgZG9l c24ndCBleGlzdCBpbiB0YWJsZSAndjEnCitEUk9QIFZJRVcgdjE7CitEUk9QIFRBQkxFIHQxOwog IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogIyAtLSBFbmQgb2YgNS4wIHRlc3RzLgogIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzgwOSwz ICszODM0LDMzIEBAIGNyZWF0ZSB2aWV3IHZfOTgwMSBhcwogc2VsZWN0IHN1bShzMSkgZnJvbSB0 Xzk4MDEgZ3JvdXAgYnkgczEgd2l0aCByb2xsdXAgd2l0aCBjaGVjayBvcHRpb247CiBFUlJPUiBI WTAwMDogQ0hFQ0sgT1BUSU9OIG9uIG5vbi11cGRhdGFibGUgdmlldyAndGVzdC52Xzk4MDEnCiBk cm9wIHRhYmxlIHRfOTgwMTsKK0NSRUFURSBUQUJMRSB0MSAoaWQgaW50KTsKK0NSRUFURSBUQUJM RSB0MiAoaWQgaW50LCBjIGludCk7CitJTlNFUlQgSU5UTyB0MSAoaWQpIFZBTFVFUyAoMSk7CitJ TlNFUlQgSU5UTyB0MiAoaWQpIFZBTFVFUyAoMSk7CitJTlNFUlQgSU5UTyB0MSAoaWQpIFZBTFVF UyAoMSk7CitJTlNFUlQgSU5UTyB0MiAoaWQpIFZBTFVFUyAoMSk7CitDUkVBVEUgVklFVyB2MSBB UworU0VMRUNUIHQyLmMgQVMgYyBGUk9NIHQxLCB0MgorV0hFUkUgdDEuaWQ9dDIuaWQgQU5EIDEg SU4gKFNFTEVDVCBpZCBGUk9NIHQxKSBXSVRIIENIRUNLIE9QVElPTjsKK1VQREFURSB2MSBTRVQg Yz0xOworQ1JFQVRFIFZJRVcgdjIgKGEsYikgQVMKK1NFTEVDVCB0Mi5pZCwgdDIuYyBBUyBjIEZS T00gdDEsIHQyCitXSEVSRSB0MS5pZD10Mi5pZCBBTkQgMSBJTiAoU0VMRUNUIGlkIEZST00gdDEp IFdJVEggQ0hFQ0sgT1BUSU9OOworSU5TRVJUIElOVE8gdjIoYSxiKSBWQUxVRVMgKDIsMik7CitF UlJPUiBIWTAwMDogQ0hFQ0sgT1BUSU9OIGZhaWxlZCAndGVzdC52MicKK0lOU0VSVCBJTlRPIHYy KGEsYikgVkFMVUVTICgxLDIpOworU0VMRUNUICogRlJPTSB2MTsKK2MKKzEKKzEKKzEKKzEKKzIK KzIKK0NSRUFURSBWSUVXIHYzIEFTCitTRUxFQ1QgdDIuYyBBUyBjIEZST00gdDIKK1dIRVJFIDEg SU4gKFNFTEVDVCBpZCBGUk9NIHQxKSBXSVRIIENIRUNLIE9QVElPTjsKK0RFTEVURSBGUk9NIHYz OworRFJPUCBWSUVXIHYxLHYyLHYzOworRFJPUCBUQUJMRSB0MSx0MjsKCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3N0ZF9kYXRhL01vc2Nvd19sZWFwJwpCaW5hcnkgZmlsZXMgYS9teXNx bC10ZXN0L3N0ZF9kYXRhL01vc2Nvd19sZWFwCTIwMDQtMTEtMDMgMTc6NTk6MDMgKzAwMDAgYW5k IGIvbXlzcWwtdGVzdC9zdGRfZGF0YS9Nb3Njb3dfbGVhcAkyMDA4LTEyLTAxIDE0OjE4OjM1ICsw MDAwIGRpZmZlcgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3Iv ZmFsY29uX2J1Z18yMjE4NC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3Iv ZmFsY29uX2J1Z18yMjE4NC5yZXN1bHQJMjAwNy0wOS0yMCAxNTo0NDoyNSArMDAwMAorKysgYi9t eXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi9yL2ZhbGNvbl9idWdfMjIxODQucmVzdWx0CTIwMDgtMTIt MDEgMTQ6Mjk6NDUgKzAwMDAKQEAgLTEsNyArMSw2IEBACiBTRVQgU1RPUkFHRV9FTkdJTkUgPSBG YWxjb247CiAqKiogQnVnICMyMjE4NCAqKioKIERST1AgVEFCTEUgSUYgRVhJU1RTIHQ2OwotU0VU IEBAbWF4X2FsbG93ZWRfcGFja2V0ID0gMjAwMDAwMDA7CiBDUkVBVEUgVEFCTEUgdDYgKHMxIGxv bmdibG9iKTsKIElOU0VSVCBJTlRPIHQ2IFZBTFVFUyAocmVwZWF0KCdhJywyMTAwMDAwKSk7CiBJ TlNFUlQgSU5UTyB0NiBWQUxVRVMgKHJlcGVhdCgnYScsMjIwMDAwMCkpOwoKPT09IGFkZGVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvZmFsY29uL3QvZmFsY29uX2J1Z18yMjE4NC1tYXN0ZXIub3B0 JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi90L2ZhbGNvbl9idWdfMjIxODQtbWFzdGVy Lm9wdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZmFs Y29uL3QvZmFsY29uX2J1Z18yMjE4NC1tYXN0ZXIub3B0CTIwMDgtMTItMDEgMTQ6Mjk6NDUgKzAw MDAKQEAgLTAsMCArMSBAQAorLS1tYXhfYWxsb3dlZF9wYWNrZXQ9MjAwMDAwMDAKCj09PSBtb2Rp ZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi90L2ZhbGNvbl9idWdfMjIxODQudGVz dCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mYWxjb24vdC9mYWxjb25fYnVnXzIyMTg0LnRlc3QJ MjAwNy0wOS0yOSAwNDozMDo0MiArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2ZhbGNvbi90 L2ZhbGNvbl9idWdfMjIxODQudGVzdAkyMDA4LTEyLTAxIDE0OjI5OjQ1ICswMDAwCkBAIC04LDcg KzgsNiBAQCBTRVQgU1RPUkFHRV9FTkdJTkUgPSBGYWxjb247CiBEUk9QIFRBQkxFIElGIEVYSVNU UyB0NjsKIC0tZW5hYmxlX3dhcm5pbmdzCiAKLVNFVCBAQG1heF9hbGxvd2VkX3BhY2tldCA9IDIw MDAwMDAwOwogQ1JFQVRFIFRBQkxFIHQ2IChzMSBsb25nYmxvYik7CiBJTlNFUlQgSU5UTyB0NiBW QUxVRVMgKHJlcGVhdCgnYScsMjEwMDAwMCkpOwogSU5TRVJUIElOVE8gdDYgVkFMVUVTIChyZXBl YXQoJ2EnLDIyMDAwMDApKTsKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3N5c192 YXJzL3QvZGlzYWJsZWQuZGVmJwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvZGlz YWJsZWQuZGVmCTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9zeXNfdmFycy90L2Rpc2FibGVkLmRlZgkyMDA4LTExLTI2IDE1OjE2OjU4ICswMDAwCkBAIC0w LDAgKzEsMjEgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyAgTGlzdCB0aGUgdGVzdCBj YXNlcyB0aGF0IGFyZSB0byBiZSBkaXNhYmxlZCB0ZW1wb3JhcmlseS4KKyMKKyMgIFNlcGFyYXRl IHRoZSB0ZXN0IGNhc2UgbmFtZSBhbmQgdGhlIGNvbW1lbnQgd2l0aCAnOicuCisjCisjICAgIDx0 ZXN0Y2FzZW5hbWU+IDogQlVHIzx4eHh4PiA8ZGF0ZSBkaXNhYmxlZD4gPGRpc2FibGVyPiA8Y29t bWVudD4KKyMKKyMgIERvIG5vdCB1c2UgYW55IFRBQiBjaGFyYWN0ZXJzIGZvciB3aGl0ZXNwYWNl LgorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitrZXlfYnVmZmVyX3NpemVfYmFzaWNfNjQgICAg OiBCdWcgIzM2NTIyOiBTb21lIHRlc3RzIG9mIHN5c3RlbSB2YXJpYWJsZXMgaGF2ZSBkaWZmcyBv biA2NGJpdCBwbGF0b3JtcworcnBsX3JlY292ZXJ5X3JhbmtfYmFzaWNfNjQgIDogQnVnICMzNjUy MjogU29tZSB0ZXN0cyBvZiBzeXN0ZW0gdmFyaWFibGVzIGhhdmUgZGlmZnMgb24gNjRiaXQgcGxh dG9ybXMKK3NvcnRfYnVmZmVyX3NpemVfYmFzaWNfNjQgICA6IEJ1ZyAjMzY1MjI6IFNvbWUgdGVz dHMgb2Ygc3lzdGVtIHZhcmlhYmxlcyBoYXZlIGRpZmZzIG9uIDY0Yml0IHBsYXRvcm1zCitxdWVy eV9jYWNoZV9zaXplX2Jhc2ljXzMyICAgOiBCdWcjMzY3NDc6IEFsbG9jYXRpbmcgYSBsYXJnZSBx dWVyeSBjYWNoZSBpcyBub3QgZGV0ZXJtaW5pc3RpYworcXVlcnlfY2FjaGVfc2l6ZV9iYXNpY182 NCAgIDogQnVnIzM2NzQ3OiBBbGxvY2F0aW5nIGEgbGFyZ2UgcXVlcnkgY2FjaGUgaXMgbm90IGRl dGVybWluaXN0aWMKK3F1ZXJ5X2FsbG9jX2Jsb2NrX3NpemVfYmFzaWNfNjQ6ICBCdWcgIzM3NzA4 IHF1ZXJ5X2FsbG9jX2Jsb2NrX3NpemVfYmFzaWNfNjQgZmFpbHMgaW4gcHVzaGJ1aWxkCitzb3J0 X2J1ZmZlcl9zaXplX2Jhc2ljXzMyICAgOiBCdWcjMzY4NzUgbWFpbi5zb3J0X2J1ZmZlcl9zaXpl X2Jhc2ljXzMyIGZhaWxzIG9uIHNvbWUgc3lzdGVtcwora2V5X2J1ZmZlcl9zaXplX2Jhc2ljXzMy ICAgIDogQnVnIzM2ODc2IG1haW4ua2V5X2J1ZmZlcl9zaXplX2Jhc2ljXzMyIGZhaWxzIG9uIHNv bWUgc3lzdGVtcworbWF4X2hlYXBfdGFibGVfc2l6ZV9iYXNpY18zMiA6IEJ1ZyMzNjg3NyBtYWlu Lm1heF9oZWFwX3RhYmxlX3NpemVfYmFzaWNfMzIgZmFpbHMgb24gc29tZSBzeXN0ZW1zCit0bXBf dGFibGVfc2l6ZV9iYXNpY18zMiAgICAgOiBCdWcjMzY4NzggbWFpbi50bXBfdGFibGVfc2l6ZV9i YXNpY18zMiBmYWlscyBvbiBzb21lIHN5c3RlbXMKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0 L3QvY3R5cGVfZmlsZXN5c3RlbS1tYXN0ZXIub3B0JwotLS0gYS9teXNxbC10ZXN0L3QvY3R5cGVf ZmlsZXN5c3RlbS1tYXN0ZXIub3B0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC90L2N0eXBlX2ZpbGVzeXN0ZW0tbWFzdGVyLm9wdAkyMDA4LTEyLTAxIDExOjM0OjUz ICswMDAwCkBAIC0wLDAgKzEsMiBAQAorLS1jaGFyYWN0ZXItc2V0cy1kaXI9JE1ZU1FMX1RFU1Rf RElSL++/vSstLWNoYXJhY3Rlci1zZXQtZmlsZXN5c3RlbT1sYXRpbjEKCj09PSBhZGRlZCBmaWxl ICdteXNxbC10ZXN0L3QvY3R5cGVfZmlsZXN5c3RlbS50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3Qv Y3R5cGVfZmlsZXN5c3RlbS50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC90L2N0eXBlX2ZpbGVzeXN0ZW0udGVzdAkyMDA4LTEyLTAxIDExOjM0OjUzICswMDAw CkBAIC0wLDAgKzEsNiBAQAorU0VUIENIQVJBQ1RFUiBTRVQgdXRmODsKKy0tcmVwbGFjZV9yZXN1 bHQgJE1ZU1FMX1RFU1RfRElSIE1ZU1FMX1RFU1RfRElSCitTSE9XIFZBUklBQkxFUyBsaWtlICdj aGFyYWN0ZXJfc2V0c19kaXInOworU0hPVyBWQVJJQUJMRVMgbGlrZSAnY2hhcmFjdGVyX3NldF9m aWxlc3lzdGVtJzsKK1NIT1cgVkFSSUFCTEVTIGxpa2UgJ2NoYXJhY3Rlcl9zZXRfY2xpZW50JzsK K1NFVCBDSEFSQUNURVIgU0VUIGRlZmF1bHQ7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVz dC90L2Rpc2FibGVkLmRlZicKLS0tIGEvbXlzcWwtdGVzdC90L2Rpc2FibGVkLmRlZgkyMDA4LTEx LTI2IDIxOjQ0OjU3ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9kaXNhYmxlZC5kZWYJMjAwOC0x Mi0wNSAxMToyNzoxOSArMDAwMApAQCAtMTIsMTMgKzEyLDE0IEBACiBpbm5vZGIgICAgICAgICAg OiBXTCMxMjEzOiBXYWl0aW5nIGZvciBJbm5vREIgdGVhbSB0byBhZGQgc3VwcG9ydCBmb3IgNC1i eXRlIGNoYXJhY3RlciBzZXRzLgogZmVkZXJhdGVkX3RyYW5zYWN0aW9ucyAgIDogQnVnIzI5NTIz IFRyYW5zYWN0aW9ucyBkbyBub3Qgd29yawogbG93ZXJjYXNlX3RhYmxlMyAgICAgICAgIDogQnVn IzMyNjY3IGxvd2VyY2FzZV90YWJsZTMudGVzdCByZXBvcnRzIHRvIGVycm9yIGxvZwotcnBsX2xv Z19wb3MgICAgICAgICAgOiBCdWcjODY5MyBUZXN0ICdycGxfbG9nX3BvcycgZmFpbHMgc29tZXRp bWVzCiBjdHlwZV9jcmVhdGUgICAgICAgICA6IEJ1ZyMzMjk2NSBtYWluLmN0eXBlX2NyZWF0ZSBm YWlscwogYmFja3VwX25vX2VuZ2luZSAgICAgOiBCdWcjMzYwMjEgMjAwOC0wNC0xMyByc29tbGEg c2VydmVyIGNyYXNoZXMgd2hlbiBvcGVubmluZyB0YWJsZSB3aXRoIHVua25vd24gc3RvcmFnZSBl bmdpbmUKIHF1ZXJ5X2NhY2hlX3dsb2NrX2ludmFsaWRhdGVfZnVuYzogQnVnIzM1MzkwIGNhdXNl cyBub3QgZGV0ZXJtaW5pc3RpYyByZXN1bHRzLgorY3N2X2FsdGVyX3RhYmxlICAgICAgOiBCdWcj MzM2OTYgMjAwOC0wMS0yMSBwY3Jld3Mgbm8gLnJlc3VsdCBmaWxlIC0gYnVnIGFsbG93cyBOVUxM IGNvbHVtbnMgaW4gQ1NWIHRhYmxlcwogY2FzdCAgICAgICAgICAgICAgICAgOiBCdWcjMzU1OTQg MjAwOC0wMy0yNyBtYWluLmNhc3QgZmFpbHMgb24gV2luZG93czIwMDMtNjQKIGJhY2t1cF90cmln Z2Vyc19hbmRfZXZlbnRzICA6IEJ1ZyMzNzc2MiAyMDA4LTA3LTAxIHJhZmFsIFRlc3QgZmFpbHMg b24gcmVtb3ZlX2ZpbGUgZm9yIHVua25vd24gcmVhc29ucwogYmFja3VwX25vX2JlICAgICAgICAg ICAgICAgIDogQnVnIzM4MDIzIDIwMDgtMDctMTYgcmFmYWwgVGVzdCB0cmlnZ2VycyB2YWxncmlu ZCB3YXJuaW5ncyBkZXNjcmliZWQgaW4gdGhlIGJ1ZwogdGhyZWFkX2NhY2hlX3NpemVfZnVuYyAg ICAgIDogQnVnIzQwNTc1IDIwMDgtMTEtMDcgam9ybyBtYWluLnRocmVhZF9jYWNoZV9zaXplX2Z1 bmMgZmFpbHMgaW4gcHVzaGJ1aWxkIHdoZW4gcnVuIHdpdGggcG9vbCBvZiB0aHJlYWRzCiBsb2df b3V0cHV0X2Jhc2ljICAgICA6IEJ1ZyAjNDA5ODggIAlsb2dfb3V0cHV0X2Jhc2ljLnRlc3Qgc3Vj Y2VlZGVkIHRob3VnaCBzeW50YWN0aWNhbGx5IGZhbHNlLgord2FpdF90aW1lb3V0X2Z1bmMgICAg OiBCdWcgIzQxMjI1IGpvcm8gd2FpdF90aW1lb3V0X2Z1bmMgZmFpbHMKIAoKPT09IG1vZGlmaWVk IGZpbGUgJ215c3FsLXRlc3QvdC9wZXJyb3Itd2luLnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC9w ZXJyb3Itd2luLnRlc3QJMjAwOC0xMS0yNyAxMjozMzo0MCArMDAwMAorKysgYi9teXNxbC10ZXN0 L3QvcGVycm9yLXdpbi50ZXN0CTIwMDgtMTEtMjggMTM6MTI6NDMgKzAwMDAKQEAgLTYsNiArNiw5 IEBAIGV2YWwgc2VsZWN0IExFTkdUSCgiJE1ZX1BFUlJPUiIpID4gMCBhcyAKIGVuYWJsZV9xdWVy eV9sb2c7CiAKIAotLS1leGVjICRNWV9QRVJST1IgMTUwCi0tLWV4ZWMgJE1ZX1BFUlJPUiAyMwot LS1leGVjICRNWV9QRVJST1IgMTUwMDAKKy0tZXhlYyAkTVlfUEVSUk9SIDE1MCAyPiYxCistLWV4 ZWMgJE1ZX1BFUlJPUiAyMyAyPiYxCistLWV4ZWMgJE1ZX1BFUlJPUiAxMDYyIDI+JjEKKy0tZXJy b3IgMQorLS1leGVjICRNWV9QRVJST1IgMzAwMDAgMj4mMQorCgo9PT0gbW9kaWZpZWQgZmlsZSAn bXlzcWwtdGVzdC90L3BlcnJvci50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcGVycm9yLnRlc3QJ MjAwOC0wOC0wNSAyMzoyNjoxOCArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvcGVycm9yLnRlc3QJ MjAwOC0xMS0yOCAxMTo0MDo0MCArMDAwMApAQCAtMSwzICsxLDQgQEAKKy0tc291cmNlIGluY2x1 ZGUvbm90X3dpbmRvd3MuaW5jCiAjCiAjIENoZWNrIGlmIHRoZSB2YXJpYWJsZSBNWV9QRVJST1Ig aXMgc2V0CiAjCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3N1YnNlbGVjdC50ZXN0 JwotLS0gYS9teXNxbC10ZXN0L3Qvc3Vic2VsZWN0LnRlc3QJMjAwOC0xMS0yNyAxNDoyNTowMiAr MDAwMAorKysgYi9teXNxbC10ZXN0L3Qvc3Vic2VsZWN0LnRlc3QJMjAwOC0xMS0yOCAxMTo0MDo0 MCArMDAwMApAQCAtMzQ5NSw0MSArMzQ5NSw2IEBAIFNFTEVDVCB0MS5hLCAoU0VMRUNUIDEgRlJP TSB0MiBXSEVSRSB0Mi4KIAogRFJPUCBUQUJMRSB0MSx0Mix0MzsKIAotIwotIyBCdWcjMzc0NjAg QXNzZXJ0aW9uIGZhaWxlZDoKLSMgIXRhYmxlLT5maWxlIHx8IHRhYmxlLT5maWxlLT5pbml0ZWQg PT0gaGFuZGxlcjo6Tk9ORQotIwotQ1JFQVRFIFRBQkxFIHQxIChpZCBpbnQpOwotQ1JFQVRFIFRB QkxFIHQyIChpZCBpbnQsIGMgaW50KTsKLQotSU5TRVJUIElOVE8gdDEgKGlkKSBWQUxVRVMgKDEp OwotSU5TRVJUIElOVE8gdDIgKGlkKSBWQUxVRVMgKDEpOwotSU5TRVJUIElOVE8gdDEgKGlkKSBW QUxVRVMgKDEpOwotSU5TRVJUIElOVE8gdDIgKGlkKSBWQUxVRVMgKDEpOwotCi1DUkVBVEUgVklF VyB2MSBBUwotICBTRUxFQ1QgdDIuYyBBUyBjIEZST00gdDEsIHQyCi0gICAgV0hFUkUgdDEuaWQ9 dDIuaWQgQU5EIDEgSU4gKFNFTEVDVCBpZCBGUk9NIHQxKSBXSVRIIENIRUNLIE9QVElPTjsKLVVQ REFURSB2MSBTRVQgYz0xOwotCi1DUkVBVEUgVklFVyB2MiAoYSxiKSBBUwotICBTRUxFQ1QgdDIu aWQsIHQyLmMgQVMgYyBGUk9NIHQxLCB0MgotICAgIFdIRVJFIHQxLmlkPXQyLmlkIEFORCAxIElO IChTRUxFQ1QgaWQgRlJPTSB0MSkgV0lUSCBDSEVDSyBPUFRJT047Ci0KLS0tZXJyb3IgMTM2OQot SU5TRVJUIElOVE8gdjIoYSxiKSBWQUxVRVMgKDIsMik7Ci1JTlNFUlQgSU5UTyB2MihhLGIpIFZB TFVFUyAoMSwyKTsKLVNFTEVDVCAqIEZST00gdjE7Ci0KLUNSRUFURSBWSUVXIHYzIEFTCi0gIFNF TEVDVCB0Mi5jIEFTIGMgRlJPTSB0MgotICAgIFdIRVJFIDEgSU4gKFNFTEVDVCBpZCBGUk9NIHQx KSBXSVRIIENIRUNLIE9QVElPTjsKLQotREVMRVRFIEZST00gdjM7Ci0KLURST1AgVklFVyB2MSx2 Mix2MzsKLURST1AgVEFCTEUgdDEsdDI7Ci0KIC0tZWNobyBFbmQgb2YgNS4xIHRlc3RzLgogCiAK Cj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvdGltZXpvbmUzLnRlc3QnCi0tLSBhL215 c3FsLXRlc3QvdC90aW1lem9uZTMudGVzdAkyMDA1LTA3LTI4IDAwOjIyOjQ3ICswMDAwCisrKyBi L215c3FsLXRlc3QvdC90aW1lem9uZTMudGVzdAkyMDA4LTEyLTAxIDE0OjE4OjM1ICswMDAwCkBA IC00NSw2ICs0NSwxMCBAQCBpbnNlcnQgaW50byB0MSB2YWx1ZXMKICAgKHVuaXhfdGltZXN0YW1w KCcxOTgxLTA3LTAxIDAzOjU5OjU5JyksJzE5ODEtMDctMDEgMDM6NTk6NTknKSwKICAgKHVuaXhf dGltZXN0YW1wKCcxOTgxLTA3LTAxIDA0OjAwOjAwJyksJzE5ODEtMDctMDEgMDQ6MDA6MDAnKTsK IAoraW5zZXJ0IGludG8gdDEgdmFsdWVzCisgICh1bml4X3RpbWVzdGFtcCgnMjAwOS0wMS0wMSAw Mjo1OTo1OScpLCcyMDA5LTAxLTAxIDAyOjU5OjU5JyksCisgICh1bml4X3RpbWVzdGFtcCgnMjAw OS0wMS0wMSAwMzowMDowMCcpLCcyMDA5LTAxLTAxIDAzOjAwOjAwJyk7CisKIHNlbGVjdCBpLCBm cm9tX3VuaXh0aW1lKGkpLCBjIGZyb20gdDE7CiBkcm9wIHRhYmxlIHQxOwogCkBAIC01OCw0ICs2 MiwxMiBAQCBpbnNlcnQgaW50byB0MSB2YWx1ZXMgKDE5NzMwMTAxMjM1OTAwKSwgCiBzZWxlY3Qg KiBmcm9tIHQxOwogZHJvcCB0YWJsZSB0MTsKIAorIworIyBUZXN0IEJ1ZyAjMzk5MjA6IE15U1FM IGNhbm5vdCBkZWFsIHdpdGggTGVhcCBTZWNvbmQgZXhwcmVzc2lvbiBpbiBzdHJpbmcKKyMgbGl0 ZXJhbAorIworCisjIDIwMDktMDEtMDEgMDI6NTk6NTksIDIwMDktMDEtMDEgMDI6NTk6NjAgYW5k IDIwMDktMDEtMDEgMDM6MDA6MDAKK1NFTEVDVCBGUk9NX1VOSVhUSU1FKDEyMzA3NjgwMjIpLCBG Uk9NX1VOSVhUSU1FKDEyMzA3NjgwMjMpLCBGUk9NX1VOSVhUSU1FKDEyMzA3NjgwMjQpOworCiAj IEVuZCBvZiA0LjEgdGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvdXBkYXRl LnRlc3QnCi0tLSBhL215c3FsLXRlc3QvdC91cGRhdGUudGVzdAkyMDA3LTA0LTIzIDE0OjIyOjMz ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC91cGRhdGUudGVzdAkyMDA4LTExLTI4IDE2OjM2OjA3 ICswMDAwCkBAIC00MzAsNCArNDMwLDI1IEBAIGRyb3AgdGFibGUgdDEsdDI7CiBjb25uZWN0aW9u IGRlZmF1bHQ7CiBkaXNjb25uZWN0IGNvbjE7CiAKKyMKKyMgQnVnICM0MDc0NTogRXJyb3IgZHVy aW5nIFdIRVJFIGNsYXVzZSBjYWxjdWxhdGlvbiBpbiBVUERBVEUKKyMgICAgICAgICAgICAgbGVh ZHMgdG8gYW4gYXNzZXJ0aW9uIGZhaWx1cmUKKyMKKy0tZGlzYWJsZV93YXJuaW5ncworRFJPUCBU QUJMRSBJRiBFWElTVFMgdDE7CitEUk9QIEZVTkNUSU9OIElGIEVYSVNUUyBmMTsKKy0tZW5hYmxl X3dhcm5pbmdzCisKK0NSRUFURSBGVU5DVElPTiBmMSgpIFJFVFVSTlMgSU5UIFJFVFVSTiBmMSgp OworQ1JFQVRFIFRBQkxFIHQxIChpIElOVCk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEpOwor CistLWVycm9yIEVSX1NQX05PX1JFQ1VSU0lPTgorVVBEQVRFIHQxIFNFVCBpID0gMyBXSEVSRSBm MSgpOworLS1lcnJvciBFUl9TUF9OT19SRUNVUlNJT04KK1VQREFURSB0MSBTRVQgaSA9IGYxKCk7 CisKK0RST1AgVEFCTEUgdDE7CitEUk9QIEZVTkNUSU9OIGYxOworCiAtLWVjaG8gRW5kIG9mIDUu MCB0ZXN0cwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC92YXJpYWJsZXMudGVzdCcK LS0tIGEvbXlzcWwtdGVzdC90L3ZhcmlhYmxlcy50ZXN0CTIwMDgtMTEtMjQgMjA6NDY6MTEgKzAw MDAKKysrIGIvbXlzcWwtdGVzdC90L3ZhcmlhYmxlcy50ZXN0CTIwMDgtMTEtMjcgMTE6MDE6NTkg KzAwMDAKQEAgLTEwNzEsMTggKzEwNzEsNiBAQCBTRVQgQEBnbG9iYWwuc2tpcF9zaG93X2RhdGFi YXNlPSB0cnVlOwogIwogLS1lY2hvICMKIC0tcmVwbGFjZV9jb2x1bW4gMiAjCi1TSE9XIFZBUklB QkxFUyBsaWtlICdzb2NrZXQnOwotLS1lcnJvciBFUl9JTkNPUlJFQ1RfR0xPQkFMX0xPQ0FMX1ZB UgotU0VMRUNUIEBAc2Vzc2lvbi5zb2NrZXQ7Ci0tLXJlcGxhY2VfY29sdW1uIDEgIwotU0VMRUNU IEBAZ2xvYmFsLnNvY2tldDsKLS0tZXJyb3IgRVJfSU5DT1JSRUNUX0dMT0JBTF9MT0NBTF9WQVIK LVNFVCBAQHNlc3Npb24uc29ja2V0PSAneCc7Ci0tLWVycm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxf TE9DQUxfVkFSCi1TRVQgQEBnbG9iYWwuc29ja2V0PSAneCc7Ci0jCi0tLWVjaG8gIwotLS1yZXBs YWNlX2NvbHVtbiAyICMKIFNIT1cgVkFSSUFCTEVTIGxpa2UgJ3RocmVhZF9zdGFjayc7CiAtLWVy cm9yIEVSX0lOQ09SUkVDVF9HTE9CQUxfTE9DQUxfVkFSCiBTRUxFQ1QgQEBzZXNzaW9uLnRocmVh ZF9zdGFjazsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Qvdmlldy50ZXN0JwotLS0g YS9teXNxbC10ZXN0L3Qvdmlldy50ZXN0CTIwMDgtMTAtMjkgMTM6NTU6MDQgKzAwMDAKKysrIGIv bXlzcWwtdGVzdC90L3ZpZXcudGVzdAkyMDA4LTExLTI4IDE3OjUxOjQ3ICswMDAwCkBAIC01MTAs NyArNTEwLDcgQEAgZHJvcCB0YWJsZSB0MTsKICMKIGNyZWF0ZSB0YWJsZSB0MSAoYSBpbnQsIGIg aW50KTsKIGNyZWF0ZSB2aWV3IHYxIGFzIHNlbGVjdCBhLCBzdW0oYikgZnJvbSB0MSBncm91cCBi eSBhOwotLS1lcnJvciBFUl9XUk9OR19VU0FHRQorLS1lcnJvciBFUl9LRVlfRE9FU19OT1RfRVhJ VFMKIHNlbGVjdCBiIGZyb20gdjEgdXNlIGluZGV4IChzb21lX2luZGV4KSB3aGVyZSBiPTE7CiBk cm9wIHZpZXcgdjE7CiBkcm9wIHRhYmxlIHQxOwpAQCAtMzQyMiwxMSArMzQyMiwxMSBAQCBkcm9w IHRhYmxlIHQxOwogQ1JFQVRFIFRBQkxFIHQxIChhIElOVCk7CiBJTlNFUlQgSU5UTyB0MSBWQUxV RVMgKDEpLCgyKTsKIENSRUFURSBWSUVXIHYxIEFTIFNFTEVDVCAqIEZST00gdDE7Ci0tLWVycm9y IEVSX1dST05HX1VTQUdFCistLWVycm9yIEVSX0tFWV9ET0VTX05PVF9FWElUUwogU0VMRUNUICog RlJPTSB2MSBVU0UgS0VZKG5vbl9leGlzdGFudCk7Ci0tLWVycm9yIEVSX1dST05HX1VTQUdFCist LWVycm9yIEVSX0tFWV9ET0VTX05PVF9FWElUUwogU0VMRUNUICogRlJPTSB2MSBGT1JDRSBLRVko bm9uX2V4aXN0YW50KTsKLS0tZXJyb3IgRVJfV1JPTkdfVVNBR0UKKy0tZXJyb3IgRVJfS0VZX0RP RVNfTk9UX0VYSVRTCiBTRUxFQ1QgKiBGUk9NIHYxIElHTk9SRSBLRVkobm9uX2V4aXN0YW50KTsK IAogRFJPUCBWSUVXIHYxOwpAQCAtMzU2NSw2ICszNTY1LDMyIEBAIERST1AgVklFVyB2MTsKIENS RUFURSBWSUVXIHYxIEFTIFNFTEVDVCAxOwogRFJPUCBWSUVXIHYxOwogCisjCisjIEJ1ZyAjMzM0 NjE6IFNFTEVDVCAuLi4gRlJPTSA8dmlldz4gVVNFIElOREVYICguLi4pIHRocm93cyBhbiBlcnJv cgorIworCitDUkVBVEUgVEFCTEUgdDEgKGMxIElOVCBQUklNQVJZIEtFWSwgYzIgSU5ULCBJTkRF WCAoYzIpKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSwxKSwgKDIsMiksICgzLDMpOworU0VM RUNUICogRlJPTSB0MSBVU0UgSU5ERVggKFBSSU1BUlkpIFdIRVJFIGMxPTI7CitTRUxFQ1QgKiBG Uk9NIHQxIFVTRSBJTkRFWCAoYzIpIFdIRVJFIGMyPTI7CisKK0NSRUFURSBWSUVXIHYxIEFTIFNF TEVDVCBjMSwgYzIgRlJPTSB0MTsKK1NIT1cgSU5ERVggRlJPTSB2MTsKKy0tZXJyb3IgRVJfS0VZ X0RPRVNfTk9UX0VYSVRTCitTRUxFQ1QgKiBGUk9NIHYxIFVTRSBJTkRFWCAoUFJJTUFSWSkgV0hF UkUgYzE9MjsKKy0tZXJyb3IgRVJfS0VZX0RPRVNfTk9UX0VYSVRTCitTRUxFQ1QgKiBGUk9NIHYx IEZPUkNFIElOREVYIChQUklNQVJZKSBXSEVSRSBjMT0yOworLS1lcnJvciBFUl9LRVlfRE9FU19O T1RfRVhJVFMKK1NFTEVDVCAqIEZST00gdjEgSUdOT1JFIElOREVYIChQUklNQVJZKSBXSEVSRSBj MT0yOworLS1lcnJvciBFUl9LRVlfRE9FU19OT1RfRVhJVFMKK1NFTEVDVCAqIEZST00gdjEgVVNF IElOREVYIChjMikgV0hFUkUgYzI9MjsKKy0tZXJyb3IgRVJfS0VZX0RPRVNfTk9UX0VYSVRTCitT RUxFQ1QgKiBGUk9NIHYxIEZPUkNFIElOREVYIChjMikgV0hFUkUgYzI9MjsKKy0tZXJyb3IgRVJf S0VZX0RPRVNfTk9UX0VYSVRTCitTRUxFQ1QgKiBGUk9NIHYxIElHTk9SRSBJTkRFWCAoYzIpIFdI RVJFIGMyPTI7CisKK0RST1AgVklFVyB2MTsKK0RST1AgVEFCTEUgdDE7CiAKIC0tZWNobyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAtLWVjaG8gIyAtLSBFbmQgb2YgNS4wIHRlc3RzLgpAQCAtMzc1MSwzICszNzc3LDM3 IEBAIGNyZWF0ZSB2aWV3IHZfOTgwMSBhcwogCiBkcm9wIHRhYmxlIHRfOTgwMTsKIAorIworIyBC dWcjMzc0NjAgQXNzZXJ0aW9uIGZhaWxlZDoKKyMgIXRhYmxlLT5maWxlIHx8IHRhYmxlLT5maWxl LT5pbml0ZWQgPT0gaGFuZGxlcjo6Tk9ORQorIworQ1JFQVRFIFRBQkxFIHQxIChpZCBpbnQpOwor Q1JFQVRFIFRBQkxFIHQyIChpZCBpbnQsIGMgaW50KTsKKworSU5TRVJUIElOVE8gdDEgKGlkKSBW QUxVRVMgKDEpOworSU5TRVJUIElOVE8gdDIgKGlkKSBWQUxVRVMgKDEpOworSU5TRVJUIElOVE8g dDEgKGlkKSBWQUxVRVMgKDEpOworSU5TRVJUIElOVE8gdDIgKGlkKSBWQUxVRVMgKDEpOworCitD UkVBVEUgVklFVyB2MSBBUworICBTRUxFQ1QgdDIuYyBBUyBjIEZST00gdDEsIHQyCisgICAgV0hF UkUgdDEuaWQ9dDIuaWQgQU5EIDEgSU4gKFNFTEVDVCBpZCBGUk9NIHQxKSBXSVRIIENIRUNLIE9Q VElPTjsKK1VQREFURSB2MSBTRVQgYz0xOworCitDUkVBVEUgVklFVyB2MiAoYSxiKSBBUworICBT RUxFQ1QgdDIuaWQsIHQyLmMgQVMgYyBGUk9NIHQxLCB0MgorICAgIFdIRVJFIHQxLmlkPXQyLmlk IEFORCAxIElOIChTRUxFQ1QgaWQgRlJPTSB0MSkgV0lUSCBDSEVDSyBPUFRJT047CisgIAorLS1l cnJvciAxMzY5CitJTlNFUlQgSU5UTyB2MihhLGIpIFZBTFVFUyAoMiwyKTsKK0lOU0VSVCBJTlRP IHYyKGEsYikgVkFMVUVTICgxLDIpOworU0VMRUNUICogRlJPTSB2MTsKKworQ1JFQVRFIFZJRVcg djMgQVMKKyAgU0VMRUNUIHQyLmMgQVMgYyBGUk9NIHQyCisgICAgV0hFUkUgMSBJTiAoU0VMRUNU IGlkIEZST00gdDEpIFdJVEggQ0hFQ0sgT1BUSU9OOworCitERUxFVEUgRlJPTSB2MzsKKworRFJP UCBWSUVXIHYxLHYyLHYzOworRFJPUCBUQUJMRSB0MSx0MjsKCj09PSBtb2RpZmllZCBmaWxlICdt eXN5cy9teV90aHJfaW5pdC5jJwotLS0gYS9teXN5cy9teV90aHJfaW5pdC5jCTIwMDgtMTAtMjAg MDk6MTY6NDcgKzAwMDAKKysrIGIvbXlzeXMvbXlfdGhyX2luaXQuYwkyMDA4LTEyLTA1IDAxOjA1 OjA1ICswMDAwCkBAIC0zODYsMTcgKzM4Niw3IEBAIHZvaWQgbXlfdGhyZWFkX2VuZCh2b2lkKQog CiBzdHJ1Y3Qgc3RfbXlfdGhyZWFkX3ZhciAqX215X3RocmVhZF92YXIodm9pZCkKIHsKLSAgc3Ry dWN0IHN0X215X3RocmVhZF92YXIgKnRtcD0KLSAgICBteV9wdGhyZWFkX2dldHNwZWNpZmljKHN0 cnVjdCBzdF9teV90aHJlYWRfdmFyKixUSFJfS0VZX215c3lzKTsKLSNpZiBkZWZpbmVkKFVTRV9U TFMpCi0gIC8qIFRoaXMgY2FuIG9ubHkgaGFwcGVuIGluIGEgLkRMTCAqLwotICBpZiAoIXRtcCkK LSAgewotICAgIG15X3RocmVhZF9pbml0KCk7Ci0gICAgdG1wPW15X3B0aHJlYWRfZ2V0c3BlY2lm aWMoc3RydWN0IHN0X215X3RocmVhZF92YXIqLFRIUl9LRVlfbXlzeXMpOwotICB9Ci0jZW5kaWYK LSAgcmV0dXJuIHRtcDsKKyAgcmV0dXJuICBteV9wdGhyZWFkX2dldHNwZWNpZmljKHN0cnVjdCBz dF9teV90aHJlYWRfdmFyKixUSFJfS0VZX215c3lzKTsKIH0KIAogI2lmbmRlZiBEQlVHX09GRgoK PT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9pdGVtX2Z1bmMuY2MnCi0tLSBhL3NxbC9pdGVtX2Z1bmMu Y2MJMjAwOC0xMS0yNyAxNzozMTo1NCArMDAwMAorKysgYi9zcWwvaXRlbV9mdW5jLmNjCTIwMDgt MTEtMjggMTE6NDA6NDAgKzAwMDAKQEAgLTIyNzgsNyArMjI3OCw3IEBAIHZvaWQgSXRlbV9mdW5j X21pbl9tYXg6OmZpeF9sZW5ndGhfYW5kX2QKIAogdWludCBJdGVtX2Z1bmNfbWluX21heDo6Y21w X2RhdGV0aW1lcyh1bG9uZ2xvbmcgKnZhbHVlKQogewotICB1bG9uZ2xvbmcgbWluX21heDsKKyAg bG9uZ2xvbmcgbWluX21heDsKICAgdWludCBtaW5fbWF4X2lkeD0gMDsKICAgTElOVF9JTklUKG1p bl9tYXgpOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL215c3FsX3ByaXYuaCcKLS0tIGEvc3Fs L215c3FsX3ByaXYuaAkyMDA4LTExLTI3IDE3OjMxOjU0ICswMDAwCisrKyBiL3NxbC9teXNxbF9w cml2LmgJMjAwOC0xMi0wNSAwMTowNTowNSArMDAwMApAQCAtMTg0MywxMCArMTg0Myw5IEBAIGlu dCBteXNxbF9sb2FkKFRIRCAqdGhkLCBzcWxfZXhjaGFuZ2UgKmUKIGludCB3cml0ZV9yZWNvcmQo VEhEICp0aGQsIFRBQkxFICp0YWJsZSwgQ09QWV9JTkZPICppbmZvKTsKIAogLyogc3FsX21hbmFn ZXIuY2MgKi8KLWV4dGVybiB1bG9uZyB2b2xhdGlsZSBtYW5hZ2VyX3N0YXR1czsKLWV4dGVybiBi b29sIHZvbGF0aWxlIG1hbmFnZXJfdGhyZWFkX2luX3VzZSwgbXFoX3VzZWQ7Ci1leHRlcm4gcHRo cmVhZF90IG1hbmFnZXJfdGhyZWFkOwotcHRocmVhZF9oYW5kbGVyX3QgaGFuZGxlX21hbmFnZXIo dm9pZCAqYXJnKTsKK2V4dGVybiBib29sIHZvbGF0aWxlICBtcWhfdXNlZDsKK3ZvaWQgc3RhcnRf aGFuZGxlX21hbmFnZXIoKTsKK3ZvaWQgc3RvcF9oYW5kbGVfbWFuYWdlcigpOwogYm9vbCBteXNx bF9tYW5hZ2VyX3N1Ym1pdCh2b2lkICgqYWN0aW9uKSgpKTsKIAogCgo9PT0gbW9kaWZpZWQgZmls ZSAnc3FsL215c3FsZC5jYycKLS0tIGEvc3FsL215c3FsZC5jYwkyMDA4LTExLTI4IDAwOjI2OjM1 ICswMDAwCisrKyBiL3NxbC9teXNxbGQuY2MJMjAwOC0xMi0wNSAwMTowNTowNSArMDAwMApAQCAt ODg2LDE2ICs4ODYsNiBAQCBzdGF0aWMgdm9pZCBjbG9zZV9jb25uZWN0aW9ucyh2b2lkKQogICBr aWxsX2NhY2hlZF90aHJlYWRzKys7CiAgIGZsdXNoX3RocmVhZF9jYWNoZSgpOwogCi0gIC8qIGtp bGwgZmx1c2ggdGhyZWFkICovCi0gICh2b2lkKSBwdGhyZWFkX211dGV4X2xvY2soJkxPQ0tfbWFu YWdlcik7Ci0gIGlmIChtYW5hZ2VyX3RocmVhZF9pbl91c2UpCi0gIHsKLSAgICBEQlVHX1BSSU5U KCJxdWl0IiwgKCJraWxsaW5nIG1hbmFnZXIgdGhyZWFkOiAweCVsbHgiLAotICAgICAgICAgICAg ICAgICAgICAgICAgKHVsb25nbG9uZyltYW5hZ2VyX3RocmVhZCkpOwotICAgKHZvaWQpIHB0aHJl YWRfY29uZF9zaWduYWwoJkNPTkRfbWFuYWdlcik7Ci0gIH0KLSAgKHZvaWQpIHB0aHJlYWRfbXV0 ZXhfdW5sb2NrKCZMT0NLX21hbmFnZXIpOwotCiAgIC8qIGtpbGwgY29ubmVjdGlvbiB0aHJlYWQg Ki8KICNpZiAhZGVmaW5lZChfX1dJTl9fKSAmJiAhZGVmaW5lZChfX05FVFdBUkVfXykKICAgREJV R19QUklOVCgicXVpdCIsICgid2FpdGluZyBmb3Igc2VsZWN0IHRocmVhZDogMHglbGx4IiwKQEAg LTEzMDcsNiArMTI5Nyw3IEBAIHZvaWQgY2xlYW5fdXAoYm9vbCBwcmludF9tZXNzYWdlKQogICBp ZiAoY2xlYW51cF9kb25lKyspCiAgICAgcmV0dXJuOyAvKiBwdXJlY292OiBpbnNwZWN0ZWQgKi8K IAorICBzdG9wX2hhbmRsZV9tYW5hZ2VyKCk7CiAgIHJlbGVhc2VfZGRsX2xvZygpOwogCiAgIC8q CkBAIC0zNTg0LDEyICszNTc1LDE0IEBAIHN0YXRpYyBpbnQgaW5pdF9jb21tb25fdmFyaWFibGVz KGNvbnN0IGMKICAgICBzeXNfaW5pdF9jb25uZWN0LnZhbHVlX2xlbmd0aD0gc3RybGVuKG9wdF9p bml0X2Nvbm5lY3QpOwogICBlbHNlCiAgICAgc3lzX2luaXRfY29ubmVjdC52YWx1ZT1teV9zdHJk dXAoIiIsTVlGKDApKTsKKyAgc3lzX2luaXRfY29ubmVjdC5pc19vc19jaGFyc2V0PSBUUlVFOwog CiAgIHN5c19pbml0X3NsYXZlLnZhbHVlX2xlbmd0aD0gMDsKICAgaWYgKChzeXNfaW5pdF9zbGF2 ZS52YWx1ZT0gb3B0X2luaXRfc2xhdmUpKQogICAgIHN5c19pbml0X3NsYXZlLnZhbHVlX2xlbmd0 aD0gc3RybGVuKG9wdF9pbml0X3NsYXZlKTsKICAgZWxzZQogICAgIHN5c19pbml0X3NsYXZlLnZh bHVlPW15X3N0cmR1cCgiIixNWUYoMCkpOworICBzeXNfaW5pdF9zbGF2ZS5pc19vc19jaGFyc2V0 PSBUUlVFOwogCiAgIC8qIGNoZWNrIGxvZyBvcHRpb25zIGFuZCBpc3N1ZSB3YXJuaW5ncyBpZiBu ZWVkZWQgKi8KICAgaWYgKG9wdF9sb2cgJiYgb3B0X2xvZ25hbWUgJiYgIShsb2dfb3V0cHV0X29w dGlvbnMgJiBMT0dfRklMRSkgJiYKQEAgLTQzNDQsMTcgKzQzMzcsNiBAQCBzZXJ2ZXIuIik7CiAK ICNpZm5kZWYgRU1CRURERURfTElCUkFSWQogCi1zdGF0aWMgdm9pZCBjcmVhdGVfbWFpbnRlbmFu Y2VfdGhyZWFkKCkKLXsKLSAgaWYgKGZsdXNoX3RpbWUgJiYgZmx1c2hfdGltZSAhPSB+KHVsb25n KSAwTCkKLSAgewotICAgIHB0aHJlYWRfdCBoVGhyZWFkOwotICAgIGlmIChwdGhyZWFkX2NyZWF0 ZSgmaFRocmVhZCwmY29ubmVjdGlvbl9hdHRyaWIsaGFuZGxlX21hbmFnZXIsMCkpCi0gICAgICBz cWxfcHJpbnRfd2FybmluZygiQ2FuJ3QgY3JlYXRlIHRocmVhZCB0byBtYW5hZ2UgbWFpbnRlbmFu Y2UiKTsKLSAgfQotfQotCi0KIHN0YXRpYyB2b2lkIGNyZWF0ZV9zaHV0ZG93bl90aHJlYWQoKQog ewogI2lmZGVmIF9fV0lOX18KQEAgLTQ2NjAsNyArNDY0Miw3IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKICAgZXhlY3V0ZV9kZGxfbG9nX3JlY292ZXJ5KCk7CiAKICAgY3JlYXRl X3NodXRkb3duX3RocmVhZCgpOwotICBjcmVhdGVfbWFpbnRlbmFuY2VfdGhyZWFkKCk7CisgIHN0 YXJ0X2hhbmRsZV9tYW5hZ2VyKCk7CiAKICAgaWYgKEV2ZW50czo6aW5pdChvcHRfbm9hY2wpKQog ICAgIHVuaXJlZ19hYm9ydCgxKTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc2V0X3Zhci5jYycK LS0tIGEvc3FsL3NldF92YXIuY2MJMjAwOC0xMS0yNCAyMDo0NjoxMSArMDAwMAorKysgYi9zcWwv c2V0X3Zhci5jYwkyMDA4LTExLTI4IDE2OjMwOjI3ICswMDAwCkBAIC0xODksMTQgKzE4OSwxNCBA QCBzdGF0aWMgc3lzX3Zhcl9ib29sX3B0cglzeXNfYXV0b21hdGljX3NwCiBzdGF0aWMgc3lzX3Zh cl9jb25zdCAgICAgICAgICAgIHN5c19iYWNrX2xvZygmdmFycywgImJhY2tfbG9nIiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QVF9HTE9CQUwsIFNIT1df TE9ORywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1Y2hh ciopICZiYWNrX2xvZyk7Ci1zdGF0aWMgc3lzX3Zhcl9jb25zdF9zdHIgICAgICAgc3lzX2Jhc2Vk aXIoJnZhcnMsICJiYXNlZGlyIiwgbXlzcWxfaG9tZSk7CitzdGF0aWMgc3lzX3Zhcl9jb25zdF9v c19zdHIgICAgICAgc3lzX2Jhc2VkaXIoJnZhcnMsICJiYXNlZGlyIiwgbXlzcWxfaG9tZSk7CiBz dGF0aWMgc3lzX3Zhcl9sb25nX3B0cglzeXNfYmlubG9nX2NhY2hlX3NpemUoJnZhcnMsICJiaW5s b2dfY2FjaGVfc2l6ZSIsCiAJCQkJCSAgICAgICZiaW5sb2dfY2FjaGVfc2l6ZSk7CiBzdGF0aWMg c3lzX3Zhcl90aGRfYmlubG9nX2Zvcm1hdCBzeXNfYmlubG9nX2Zvcm1hdCgmdmFycywgImJpbmxv Z19mb3JtYXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm U1Y6OmJpbmxvZ19mb3JtYXQpOwogc3RhdGljIHN5c192YXJfdGhkX3Vsb25nCXN5c19idWxrX2lu c2VydF9idWZmX3NpemUoJnZhcnMsICJidWxrX2luc2VydF9idWZmZXJfc2l6ZSIsCiAJCQkJCQkg ICZTVjo6YnVsa19pbnNlcnRfYnVmZl9zaXplKTsKLXN0YXRpYyBzeXNfdmFyX2NvbnN0ICAgICAg ICAgICAgc3lzX2NoYXJhY3Rlcl9zZXRzX2RpcigmdmFycywKK3N0YXRpYyBzeXNfdmFyX2NvbnN0 X29zICAgICAgICAgc3lzX2NoYXJhY3Rlcl9zZXRzX2RpcigmdmFycywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyX3NldHNf ZGlyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPUFRfR0xPQkFMLCBTSE9XX0NIQVIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVjaGFyKikKQEAgLTI0Niw3ICsyNDYsNyBAQCBz dGF0aWMgc3lzX3Zhcl9sb25nX3B0cglzeXNfY29uY3VycmVudF9pCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm15aXNhbV9jb25jdXJyZW50X2luc2VydCk7 CiBzdGF0aWMgc3lzX3Zhcl9sb25nX3B0cglzeXNfY29ubmVjdF90aW1lb3V0KCZ2YXJzLCAiY29u bmVjdF90aW1lb3V0IiwKIAkJCQkJICAgICZjb25uZWN0X3RpbWVvdXQpOwotc3RhdGljIHN5c192 YXJfY29uc3Rfc3RyICAgICAgIHN5c19kYXRhZGlyKCZ2YXJzLCAiZGF0YWRpciIsIG15c3FsX3Jl YWxfZGF0YV9ob21lKTsKK3N0YXRpYyBzeXNfdmFyX2NvbnN0X29zX3N0ciAgICAgICBzeXNfZGF0 YWRpcigmdmFycywgImRhdGFkaXIiLCBteXNxbF9yZWFsX2RhdGFfaG9tZSk7CiBzdGF0aWMgc3lz X3Zhcl9iYWNrdXBfd2FpdF90aW1lb3V0IHN5c19iYWNrdXBfd2FpdF90aW1lb3V0KCZ2YXJzLCAi YmFja3VwX3dhaXRfdGltZW91dCIpOwogc3RhdGljIHN5c192YXJfdGhkX3Vsb25nIHN5c19kZWFk bG9ja19zZWFyY2hfZGVwdGhfc2hvcnQoJnZhcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJkZWFkbG9ja19zZWFyY2hfZGVwdGhfc2hvcnQiLApAQCAtNDk5LDcgKzQ5OSw3IEBA IHN0YXRpYyBzeXNfdmFyX3RoZF9lbnVtICAgICAgICBzeXNfb3B0aW0KIHN0YXRpYyBzeXNfdmFy X2NvbnN0ICAgICAgICAgICAgc3lzX3BpZF9maWxlKCZ2YXJzLCAicGlkX2ZpbGUiLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BUX0dMT0JBTCwgU0hPV19D SEFSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVjaGFy KikgcGlkZmlsZV9uYW1lKTsKLXN0YXRpYyBzeXNfdmFyX2NvbnN0ICAgICAgICAgICAgc3lzX3Bs dWdpbl9kaXIoJnZhcnMsICJwbHVnaW5fZGlyIiwKK3N0YXRpYyBzeXNfdmFyX2NvbnN0X29zICAg ICAgICAgc3lzX3BsdWdpbl9kaXIoJnZhcnMsICJwbHVnaW5fZGlyIiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BUX0dMT0JBTCwgU0hPV19DSEFSLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWNoYXIqKSBv cHRfcGx1Z2luX2Rpcik7CiBzdGF0aWMgc3lzX3Zhcl9jb25zdCAgICAgICAgICAgIHN5c19wb3J0 KCZ2YXJzLCAicG9ydCIsCkBAIC01NjcsNyArNTY3LDcgQEAgc3RhdGljIHN5c192YXJfY29uc3Qg ICAgc3lzX3RocmVhZF9jb25jdQogc3RhdGljIHN5c192YXJfY29uc3QgICAgc3lzX3RocmVhZF9z dGFjaygmdmFycywgInRocmVhZF9zdGFjayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9QVF9HTE9CQUwsIFNIT1dfTE9ORywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHVjaGFyKikgJm15X3RocmVhZF9zdGFja19zaXplKTsKLXN0 YXRpYyBzeXNfdmFyX3JlYWRvbmx5ICAgICAgICBzeXNfdG1wZGlyKCZ2YXJzLCAidG1wZGlyIiwg T1BUX0dMT0JBTCwgU0hPV19DSEFSLCBnZXRfdG1wZGlyKTsKK3N0YXRpYyBzeXNfdmFyX3JlYWRv bmx5X29zICAgICAgc3lzX3RtcGRpcigmdmFycywgInRtcGRpciIsIE9QVF9HTE9CQUwsIFNIT1df Q0hBUiwgZ2V0X3RtcGRpcik7CiBzdGF0aWMgc3lzX3Zhcl90aGRfdWxvbmcJc3lzX3RyYW5zX2Fs bG9jX2Jsb2NrX3NpemUoJnZhcnMsICJ0cmFuc2FjdGlvbl9hbGxvY19ibG9ja19zaXplIiwKIAkJ CQkJCSAgICZTVjo6dHJhbnNfYWxsb2NfYmxvY2tfc2l6ZSwKIAkJCQkJCSAgIDAsIGZpeF90cmFu c19tZW1fcm9vdCk7CkBAIC02MjgsMTcgKzYyOCwxNyBAQCBzdGF0aWMgc3lzX3Zhcl90aGRfb3B0 aW1pemVyX3N3aXRjaCAgIHN5CiAjaWYgZGVmaW5lZChIQVZFX09QRU5TU0wpICYmICFkZWZpbmVk KEVNQkVEREVEX0xJQlJBUlkpCiBleHRlcm4gY2hhciAqb3B0X3NzbF9jYSwgKm9wdF9zc2xfY2Fw YXRoLCAqb3B0X3NzbF9jZXJ0LCAqb3B0X3NzbF9jaXBoZXIsCiAgICAgICAgICAgICAqb3B0X3Nz bF9rZXk7Ci1zdGF0aWMgc3lzX3Zhcl9jb25zdF9zdHJfcHRyCXN5c19zc2xfY2EoJnZhcnMsICJz c2xfY2EiLCAmb3B0X3NzbF9jYSk7Ci1zdGF0aWMgc3lzX3Zhcl9jb25zdF9zdHJfcHRyCXN5c19z c2xfY2FwYXRoKCZ2YXJzLCAic3NsX2NhcGF0aCIsICZvcHRfc3NsX2NhcGF0aCk7Ci1zdGF0aWMg c3lzX3Zhcl9jb25zdF9zdHJfcHRyCXN5c19zc2xfY2VydCgmdmFycywgInNzbF9jZXJ0IiwgJm9w dF9zc2xfY2VydCk7Ci1zdGF0aWMgc3lzX3Zhcl9jb25zdF9zdHJfcHRyCXN5c19zc2xfY2lwaGVy KCZ2YXJzLCAic3NsX2NpcGhlciIsICZvcHRfc3NsX2NpcGhlcik7Ci1zdGF0aWMgc3lzX3Zhcl9j b25zdF9zdHJfcHRyCXN5c19zc2xfa2V5KCZ2YXJzLCAic3NsX2tleSIsICZvcHRfc3NsX2tleSk7 CitzdGF0aWMgc3lzX3Zhcl9jb25zdF9vc19zdHJfcHRyCXN5c19zc2xfY2EoJnZhcnMsICJzc2xf Y2EiLCAmb3B0X3NzbF9jYSk7CitzdGF0aWMgc3lzX3Zhcl9jb25zdF9vc19zdHJfcHRyCXN5c19z c2xfY2FwYXRoKCZ2YXJzLCAic3NsX2NhcGF0aCIsICZvcHRfc3NsX2NhcGF0aCk7CitzdGF0aWMg c3lzX3Zhcl9jb25zdF9vc19zdHJfcHRyCXN5c19zc2xfY2VydCgmdmFycywgInNzbF9jZXJ0Iiwg Jm9wdF9zc2xfY2VydCk7CitzdGF0aWMgc3lzX3Zhcl9jb25zdF9vc19zdHJfcHRyCXN5c19zc2xf Y2lwaGVyKCZ2YXJzLCAic3NsX2NpcGhlciIsICZvcHRfc3NsX2NpcGhlcik7CitzdGF0aWMgc3lz X3Zhcl9jb25zdF9vc19zdHJfcHRyCXN5c19zc2xfa2V5KCZ2YXJzLCAic3NsX2tleSIsICZvcHRf c3NsX2tleSk7CiAjZWxzZQotc3RhdGljIHN5c192YXJfY29uc3Rfc3RyCXN5c19zc2xfY2EoJnZh cnMsICJzc2xfY2EiLCBOVUxMKTsKLXN0YXRpYyBzeXNfdmFyX2NvbnN0X3N0cglzeXNfc3NsX2Nh cGF0aCgmdmFycywgInNzbF9jYXBhdGgiLCBOVUxMKTsKLXN0YXRpYyBzeXNfdmFyX2NvbnN0X3N0 cglzeXNfc3NsX2NlcnQoJnZhcnMsICJzc2xfY2VydCIsIE5VTEwpOwotc3RhdGljIHN5c192YXJf Y29uc3Rfc3RyCXN5c19zc2xfY2lwaGVyKCZ2YXJzLCAic3NsX2NpcGhlciIsIE5VTEwpOwotc3Rh dGljIHN5c192YXJfY29uc3Rfc3RyCXN5c19zc2xfa2V5KCZ2YXJzLCAic3NsX2tleSIsIE5VTEwp Oworc3RhdGljIHN5c192YXJfY29uc3Rfb3Nfc3RyCXN5c19zc2xfY2EoJnZhcnMsICJzc2xfY2Ei LCBOVUxMKTsKK3N0YXRpYyBzeXNfdmFyX2NvbnN0X29zX3N0cglzeXNfc3NsX2NhcGF0aCgmdmFy cywgInNzbF9jYXBhdGgiLCBOVUxMKTsKK3N0YXRpYyBzeXNfdmFyX2NvbnN0X29zX3N0cglzeXNf c3NsX2NlcnQoJnZhcnMsICJzc2xfY2VydCIsIE5VTEwpOworc3RhdGljIHN5c192YXJfY29uc3Rf b3Nfc3RyCXN5c19zc2xfY2lwaGVyKCZ2YXJzLCAic3NsX2NpcGhlciIsIE5VTEwpOworc3RhdGlj IHN5c192YXJfY29uc3Rfb3Nfc3RyCXN5c19zc2xfa2V5KCZ2YXJzLCAic3NsX2tleSIsIE5VTEwp OwogI2VuZGlmCiBzdGF0aWMgc3lzX3Zhcl90aGRfZW51bQogc3lzX3VwZGF0YWJsZV92aWV3c193 aXRoX2xpbWl0KCZ2YXJzLCAidXBkYXRhYmxlX3ZpZXdzX3dpdGhfbGltaXQiLApAQCAtMTAxNCw2 ICsxMDE0LDcgQEAgYm9vbCB1cGRhdGVfc3lzX3Zhcl9zdHIoc3lzX3Zhcl9zdHIgKnZhcgogICBv bGRfdmFsdWU9IHZhcl9zdHItPnZhbHVlOwogICB2YXJfc3RyLT52YWx1ZT0gcmVzOwogICB2YXJf c3RyLT52YWx1ZV9sZW5ndGg9IG5ld19sZW5ndGg7CisgIHZhcl9zdHItPmlzX29zX2NoYXJzZXQ9 IEZBTFNFOwogICByd191bmxvY2sodmFyX211dGV4KTsKICAgbXlfZnJlZShvbGRfdmFsdWUsIE1Z RihNWV9BTExPV19aRVJPX1BUUikpOwogICByZXR1cm4gMDsKQEAgLTE5MDMsNiArMTkwNCwxMyBA QCBlcnI6CiB9CiAKIAorQ0hBUlNFVF9JTkZPICpzeXNfdmFyOjpjaGFyc2V0KFRIRCAqdGhkKQor eworICByZXR1cm4gaXNfb3NfY2hhcnNldCA/IHRoZC0+dmFyaWFibGVzLmNoYXJhY3Rlcl9zZXRf ZmlsZXN5c3RlbSA6IAorICAgIHN5c3RlbV9jaGFyc2V0X2luZm87Cit9CisKKwogYm9vbCBzeXNf dmFyX3RoZF9lbnVtOjp1cGRhdGUoVEhEICp0aGQsIHNldF92YXIgKnZhcikKIHsKICAgaWYgKHZh ci0+dHlwZSA9PSBPUFRfR0xPQkFMKQoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zZXRfdmFyLmgn Ci0tLSBhL3NxbC9zZXRfdmFyLmgJMjAwOC0xMS0yNCAyMDo0NjoxMSArMDAwMAorKysgYi9zcWwv c2V0X3Zhci5oCTIwMDgtMTItMDIgMTE6MjU6NDMgKzAwMDAKQEAgLTcxLDkgKzcxLDE4IEBAIHB1 YmxpYzoKIAogICBzeXNfYWZ0ZXJfdXBkYXRlX2Z1bmMgYWZ0ZXJfdXBkYXRlOwogICBib29sIG5v X3N1cHBvcnRfb25lX3Nob3Q7CisgIC8qCisgICAgdHJ1ZSBpZiB0aGUgdmFsdWUgaXMgaW4gY2hh cmFjdGVyX3NldF9maWxlc3lzdGVtLCAKKyAgICBmYWxzZSBvdGhlcndpc2UuCisgICAgTm90ZSB0 aGF0IHdlIGNhbid0IHVzZSBhIHBvaW50ZXIgdG8gdGhlIGNoYXJzZXQgYXMgdGhlIHN5c3RlbSB2 YXIgaXMgCisgICAgaW5zdGFudGlhdGVkIGluIGdsb2JhbCBzY29wZSBhbmQgdGhlIGNoYXJzZXQg cG9pbnRlcnMgYXJlIGluaXRpYWxpemVkCisgICAgbGF0ZXIuCisgICovICAKKyAgYm9vbCBpc19v c19jaGFyc2V0OwogICBzeXNfdmFyKGNvbnN0IGNoYXIgKm5hbWVfYXJnLCBzeXNfYWZ0ZXJfdXBk YXRlX2Z1bmMgZnVuYz0gTlVMTCwKICAgICAgICAgICBCaW5sb2dfc3RhdHVzX2VudW0gYmlubG9n X3N0YXR1c19hcmc9IE5PVF9JTl9CSU5MT0cpCiAgICAgOm5hbWUobmFtZV9hcmcpLCBhZnRlcl91 cGRhdGUoZnVuYyksIG5vX3N1cHBvcnRfb25lX3Nob3QoMSksCisgICAgaXNfb3NfY2hhcnNldCAo RkFMU0UpLAogICAgIGJpbmxvZ19zdGF0dXMoYmlubG9nX3N0YXR1c19hcmcpLAogICAgIG1fYWxs b3dfZW1wdHlfdmFsdWUoVFJVRSkKICAge30KQEAgLTEwNyw2ICsxMTYsNyBAQCBwdWJsaWM6CiAg IHsgcmV0dXJuIG9wdGlvbl9saW1pdHMgPT0gMDsgfQogICB2aXJ0dWFsIGJvb2wgaXNfc3RydWN0 KCkgeyByZXR1cm4gMDsgfQogICB2aXJ0dWFsIGJvb2wgaXNfcmVhZG9ubHkoKSBjb25zdCB7IHJl dHVybiAwOyB9CisgIENIQVJTRVRfSU5GTyAqY2hhcnNldChUSEQgKnRoZCk7CiAgIHZpcnR1YWwg c3lzX3Zhcl9wbHVnaW52YXIgKmNhc3RfcGx1Z2ludmFyKCkgeyByZXR1cm4gMDsgfQogCiBwcm90 ZWN0ZWQ6CkBAIC0yOTEsNiArMzAxLDE4IEBAIHB1YmxpYzoKIH07CiAKIAorY2xhc3Mgc3lzX3Zh cl9jb25zdF9vc19zdHI6IHB1YmxpYyBzeXNfdmFyX2NvbnN0X3N0cgoreworcHVibGljOgorICBz eXNfdmFyX2NvbnN0X29zX3N0cihzeXNfdmFyX2NoYWluICpjaGFpbiwgY29uc3QgY2hhciAqbmFt ZV9hcmcsIAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp2YWx1ZV9hcmcpCisg ICAgOnN5c192YXJfY29uc3Rfc3RyKGNoYWluLCBuYW1lX2FyZywgdmFsdWVfYXJnKQorICB7IAor ICAgIGlzX29zX2NoYXJzZXQ9IFRSVUU7IAorICB9Cit9OworCisKIGNsYXNzIHN5c192YXJfY29u c3Rfc3RyX3B0ciA6cHVibGljIHN5c192YXIKIHsKIHB1YmxpYzoKQEAgLTMyMCw2ICszNDIsMTgg QEAgcHVibGljOgogfTsKIAogCitjbGFzcyBzeXNfdmFyX2NvbnN0X29zX3N0cl9wdHIgOnB1Ymxp YyBzeXNfdmFyX2NvbnN0X3N0cl9wdHIKK3sKK3B1YmxpYzoKKyAgc3lzX3Zhcl9jb25zdF9vc19z dHJfcHRyKHN5c192YXJfY2hhaW4gKmNoYWluLCBjb25zdCBjaGFyICpuYW1lX2FyZywgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqdmFsdWVfYXJnKQorICAgIDpzeXNfdmFyX2Nv bnN0X3N0cl9wdHIoY2hhaW4sIG5hbWVfYXJnLCB2YWx1ZV9hcmcpCisgIHsKKyAgICBpc19vc19j aGFyc2V0PSBUUlVFOyAKKyAgfQorfTsKKworCiBjbGFzcyBzeXNfdmFyX2VudW0gOnB1YmxpYyBz eXNfdmFyCiB7CiAgIHVpbnQgKnZhbHVlOwpAQCAtMTAxOSw2ICsxMDUzLDE5IEBAIHB1YmxpYzoK IH07CiAKIAorY2xhc3Mgc3lzX3Zhcl9yZWFkb25seV9vczogcHVibGljIHN5c192YXJfcmVhZG9u bHkKK3sKK3B1YmxpYzoKKyAgc3lzX3Zhcl9yZWFkb25seV9vcyhzeXNfdmFyX2NoYWluICpjaGFp biwgY29uc3QgY2hhciAqbmFtZV9hcmcsIGVudW1fdmFyX3R5cGUgdHlwZSwKKwkJICAgU0hPV19U WVBFIHNob3dfdHlwZV9hcmcsCisJCSAgIHN5c192YWx1ZV9wdHJfZnVuYyB2YWx1ZV9wdHJfZnVu Y19hcmcpCisgICAgOnN5c192YXJfcmVhZG9ubHkoY2hhaW4sIG5hbWVfYXJnLCB0eXBlLCBzaG93 X3R5cGVfYXJnLCB2YWx1ZV9wdHJfZnVuY19hcmcpCisgIHsKKyAgICBpc19vc19jaGFyc2V0PSBU UlVFOworICB9Cit9OworCisKIC8qKgogICBHbG9iYWwtb25seSwgcmVhZC1vbmx5IHZhcmlhYmxl LiBFLmcuIGNvbW1hbmQgbGluZSBvcHRpb24uCiAqLwpAQCAtMTA0Nyw2ICsxMDk0LDIyIEBAIHB1 YmxpYzoKIH07CiAKIAorY2xhc3Mgc3lzX3Zhcl9jb25zdF9vczogcHVibGljIHN5c192YXJfY29u c3QKK3sKK3B1YmxpYzoKKyAgZW51bV92YXJfdHlwZSB2YXJfdHlwZTsKKyAgU0hPV19UWVBFIHNo b3dfdHlwZV92YWx1ZTsKKyAgdWNoYXIgKnB0cjsKKyAgc3lzX3Zhcl9jb25zdF9vcyhzeXNfdmFy X2NoYWluICpjaGFpbiwgY29uc3QgY2hhciAqbmFtZV9hcmcsIAorICAgICAgICAgICAgICAgICAg IGVudW1fdmFyX3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICBTSE9XX1RZUEUgc2hvd190eXBl X2FyZywgdWNoYXIgKnB0cl9hcmcpCisgICAgOnN5c192YXJfY29uc3QoY2hhaW4sIG5hbWVfYXJn LCB0eXBlLCBzaG93X3R5cGVfYXJnLCBwdHJfYXJnKQorICB7CisgICAgaXNfb3NfY2hhcnNldD0g VFJVRTsKKyAgfQorfTsKKworCiBjbGFzcyBzeXNfdmFyX2hhdmVfb3B0aW9uOiBwdWJsaWMgc3lz X3ZhcgogewogcHJvdGVjdGVkOgoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zbGF2ZS5jYycKLS0t IGEvc3FsL3NsYXZlLmNjCTIwMDgtMTEtMjQgMjA6NDY6MTEgKzAwMDAKKysrIGIvc3FsL3NsYXZl LmNjCTIwMDgtMTEtMjggMTY6MDU6NDQgKzAwMDAKQEAgLTI5MCw3ICsyOTAsNyBAQCBzdGF0aWMg dm9pZCBwcmludF9zbGF2ZV9za2lwX2Vycm9ycyh2b2lkCiAgICAgMTAgY2hhcmFjdGVycyBtdXN0 IGJlIHN1ZmZpY2llbnQgZm9yIGEgbnVtYmVyIHBsdXMgeycsJyB8ICcuLi4nfQogICAgIHBsdXMg YSBOVUwgdGVybWluYXRvci4gVGhhdCBpcyBhIG1heCA2IGRpZ2l0IG51bWJlci4KICAgKi8KLSAg Y29uc3QgaW50IE1JTl9ST09NPSAxMDsKKyAgY29uc3Qgc2l6ZV90IE1JTl9ST09NPSAxMDsKICAg REJVR19FTlRFUigicHJpbnRfc2xhdmVfc2tpcF9lcnJvcnMiKTsKICAgREJVR19BU1NFUlQoc2l6 ZW9mKHNsYXZlX3NraXBfZXJyb3JfbmFtZXMpID4gTUlOX1JPT00pOwogICBEQlVHX0FTU0VSVChN QVhfU0xBVkVfRVJST1IgPD0gOTk5OTk5KTsgLy8gNiBkaWdpdHMKCj09PSBtb2RpZmllZCBmaWxl ICdzcWwvc3FsX21hbmFnZXIuY2MnCi0tLSBhL3NxbC9zcWxfbWFuYWdlci5jYwkyMDA3LTA1LTEw IDA5OjU5OjM5ICswMDAwCisrKyBiL3NxbC9zcWxfbWFuYWdlci5jYwkyMDA4LTEyLTA0IDE4OjQx OjUzICswMDAwCkBAIC0yMyw4ICsyMyw5IEBACiAKICNpbmNsdWRlICJteXNxbF9wcml2LmgiCiAK LXVsb25nIHZvbGF0aWxlIG1hbmFnZXJfc3RhdHVzOwotYm9vbCB2b2xhdGlsZSBtYW5hZ2VyX3Ro cmVhZF9pbl91c2U7CisKK3N0YXRpYyBib29sIHZvbGF0aWxlIG1hbmFnZXJfdGhyZWFkX2luX3Vz ZTsKK3N0YXRpYyBib29sIGFib3J0X21hbmFnZXI7CiAKIHB0aHJlYWRfdCBtYW5hZ2VyX3RocmVh ZDsKIHB0aHJlYWRfbXV0ZXhfdCBMT0NLX21hbmFnZXI7CkBAIC02Myw3ICs2NCw2IEBAIGJvb2wg bXlzcWxfbWFuYWdlcl9zdWJtaXQodm9pZCAoKmFjdGlvbikKIHB0aHJlYWRfaGFuZGxlcl90IGhh bmRsZV9tYW5hZ2VyKHZvaWQgKmFyZyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKIHsKICAgaW50 IGVycm9yID0gMDsKLSAgdWxvbmcgc3RhdHVzOwogICBzdHJ1Y3QgdGltZXNwZWMgYWJzdGltZTsK ICAgYm9vbCByZXNldF9mbHVzaF90aW1lID0gVFJVRTsKICAgc3RydWN0IGhhbmRsZXJfY2IgKmNi PSBOVUxMOwpAQCAtNzIsNyArNzIsNiBAQCBwdGhyZWFkX2hhbmRsZXJfdCBoYW5kbGVfbWFuYWdl cih2b2lkICphCiAKICAgcHRocmVhZF9kZXRhY2hfdGhpc190aHJlYWQoKTsKICAgbWFuYWdlcl90 aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKLSAgbWFuYWdlcl9zdGF0dXMgPSAwOwogICBtYW5hZ2Vy X3RocmVhZF9pbl91c2UgPSAxOwogCiAgIGZvciAoOzspCkBAIC04NywxNiArODYsMTQgQEAgcHRo cmVhZF9oYW5kbGVyX3QgaGFuZGxlX21hbmFnZXIodm9pZCAqYQogCXNldF90aW1lc3BlYyhhYnN0 aW1lLCBmbHVzaF90aW1lKTsKICAgICAgICAgcmVzZXRfZmx1c2hfdGltZSA9IEZBTFNFOwogICAg ICAgfQotICAgICAgd2hpbGUgKCFtYW5hZ2VyX3N0YXR1cyAmJiAoIWVycm9yIHx8IGVycm9yID09 IEVJTlRSKSAmJiAhYWJvcnRfbG9vcCkKKyAgICAgIHdoaWxlICgoIWVycm9yIHx8IGVycm9yID09 IEVJTlRSKSAmJiAhYWJvcnRfbWFuYWdlcikKICAgICAgICAgZXJyb3I9IHB0aHJlYWRfY29uZF90 aW1lZHdhaXQoJkNPTkRfbWFuYWdlciwgJkxPQ0tfbWFuYWdlciwgJmFic3RpbWUpOwogICAgIH0K ICAgICBlbHNlCiAgICAgewotICAgICAgd2hpbGUgKCFtYW5hZ2VyX3N0YXR1cyAmJiAoIWVycm9y IHx8IGVycm9yID09IEVJTlRSKSAmJiAhYWJvcnRfbG9vcCkKKyAgICAgIHdoaWxlICgoIWVycm9y IHx8IGVycm9yID09IEVJTlRSKSAmJiAhYWJvcnRfbWFuYWdlcikKICAgICAgICAgZXJyb3I9IHB0 aHJlYWRfY29uZF93YWl0KCZDT05EX21hbmFnZXIsICZMT0NLX21hbmFnZXIpOwogICAgIH0KLSAg ICBzdGF0dXMgPSBtYW5hZ2VyX3N0YXR1czsKLSAgICBtYW5hZ2VyX3N0YXR1cyA9IDA7CiAgICAg aWYgKGNiID09IE5VTEwpCiAgICAgewogICAgICAgY2I9IGNiX2xpc3Q7CkBAIC0xMDQsNyArMTAx LDcgQEAgcHRocmVhZF9oYW5kbGVyX3QgaGFuZGxlX21hbmFnZXIodm9pZCAqYQogICAgIH0KICAg ICBwdGhyZWFkX211dGV4X3VubG9jaygmTE9DS19tYW5hZ2VyKTsKIAotICAgIGlmIChhYm9ydF9s b29wKQorICAgIGlmIChhYm9ydF9tYW5hZ2VyKQogICAgICAgYnJlYWs7CiAKICAgICBpZiAoZXJy b3IgPT0gRVRJTUVET1VUIHx8IGVycm9yID09IEVUSU1FKQpAQCAtMTIxLDExICsxMTgsNDIgQEAg cHRocmVhZF9oYW5kbGVyX3QgaGFuZGxlX21hbmFnZXIodm9pZCAqYQogICAgICAgbXlfZnJlZSgo dWNoYXIqKWNiLCBNWUYoMCkpOwogICAgICAgY2I9IG5leHQ7CiAgICAgfQotCi0gICAgaWYgKHN0 YXR1cykKLSAgICAgIERCVUdfUFJJTlQoImVycm9yIiwgKCJtYW5hZ2VyIGRpZCBub3QgaGFuZGxl IHNvbWV0aGluZzogJWx4Iiwgc3RhdHVzKSk7CiAgIH0KICAgbWFuYWdlcl90aHJlYWRfaW5fdXNl ID0gMDsKKyAgREJVR19MRUFWRTsgLy8gQ2FuJ3QgdXNlIERCVUdfUkVUVVJOIGFmdGVyIG15X3Ro cmVhZF9lbmQKICAgbXlfdGhyZWFkX2VuZCgpOwotICBEQlVHX1JFVFVSTihOVUxMKTsKKyAgcmV0 dXJuIChOVUxMKTsKIH0KKworCisvKiBTdGFydCBoYW5kbGUgbWFuYWdlciB0aHJlYWQgKi8KK3Zv aWQgc3RhcnRfaGFuZGxlX21hbmFnZXIoKQoreworICBEQlVHX0VOVEVSKCJzdGFydF9oYW5kbGVf bWFuYWdlciIpOworICBhYm9ydF9tYW5hZ2VyID0gZmFsc2U7CisgIGlmIChmbHVzaF90aW1lICYm IGZsdXNoX3RpbWUgIT0gfih1bG9uZykgMEwpCisgIHsKKyAgICBwdGhyZWFkX3QgaFRocmVhZDsK KyAgICBpZiAocHRocmVhZF9jcmVhdGUoJmhUaHJlYWQsJmNvbm5lY3Rpb25fYXR0cmliLGhhbmRs ZV9tYW5hZ2VyLDApKQorICAgICAgc3FsX3ByaW50X3dhcm5pbmcoIkNhbid0IGNyZWF0ZSBoYW5k bGVfbWFuYWdlciB0aHJlYWQiKTsKKyAgfQorICBEQlVHX1ZPSURfUkVUVVJOOworfQorCisKKy8q IEluaXRpYXRlIHNodXRkb3duIG9mIGhhbmRsZSBtYW5hZ2VyIHRocmVhZCAqLwordm9pZCBzdG9w X2hhbmRsZV9tYW5hZ2VyKCkKK3sKKyAgREJVR19FTlRFUigic3RvcF9oYW5kbGVfbWFuYWdlciIp OworICBhYm9ydF9tYW5hZ2VyID0gdHJ1ZTsKKyAgcHRocmVhZF9tdXRleF9sb2NrKCZMT0NLX21h bmFnZXIpOworICBpZiAobWFuYWdlcl90aHJlYWRfaW5fdXNlKQorICB7CisgICAgREJVR19QUklO VCgicXVpdCIsICgiaW5pdGlhdGUgc2h1dGRvd24gb2YgaGFuZGxlIG1hbmFnZXIgdGhyZWFkOiAw eCVseCIsCisgICAgICAgICAgICAgICAgICAgICAgICAodWxvbmcpbWFuYWdlcl90aHJlYWQpKTsK KyAgIHB0aHJlYWRfY29uZF9zaWduYWwoJkNPTkRfbWFuYWdlcik7CisgIH0KKyAgcHRocmVhZF9t dXRleF91bmxvY2soJkxPQ0tfbWFuYWdlcik7CisgIERCVUdfVk9JRF9SRVRVUk47Cit9CisKCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3Nob3cuY2MnCi0tLSBhL3NxbC9zcWxfc2hvdy5jYwky MDA4LTExLTEzIDEyOjUzOjE2ICswMDAwCisrKyBiL3NxbC9zcWxfc2hvdy5jYwkyMDA4LTExLTI4 IDE2OjMwOjI3ICswMDAwCkBAIC0yMDg4LDYgKzIwODgsNyBAQCBzdGF0aWMgYm9vbCBzaG93X3N0 YXR1c19hcnJheShUSEQgKnRoZCwgCiAgIENPTkQgKnBhcnRpYWxfY29uZD0gMDsKICAgZW51bV9j aGVja19maWVsZHMgc2F2ZV9jb3VudF9jdXRlZF9maWVsZHM9IHRoZC0+Y291bnRfY3V0ZWRfZmll bGRzOwogICBib29sIHJlcz0gRkFMU0U7CisgIENIQVJTRVRfSU5GTyAqY2hhcnNldD0gc3lzdGVt X2NoYXJzZXRfaW5mbzsKICAgREJVR19FTlRFUigic2hvd19zdGF0dXNfYXJyYXkiKTsKIAogICB0 aGQtPmNvdW50X2N1dGVkX2ZpZWxkcz0gQ0hFQ0tfRklFTERfV0FSTjsgIApAQCAtMjEzNiw5ICsy MTM3LDEwIEBAIHN0YXRpYyBib29sIHNob3dfc3RhdHVzX2FycmF5KFRIRCAqdGhkLCAKIAogICAg ICAgICBpZiAoc2hvd190eXBlID09IFNIT1dfU1lTKQogICAgICAgICB7Ci0gICAgICAgICAgc2hv d190eXBlPSAoKHN5c192YXIqKSB2YWx1ZSktPnNob3dfdHlwZSgpOwotICAgICAgICAgIHZhbHVl PSAgICAgKGNoYXIqKSAoKHN5c192YXIqKSB2YWx1ZSktPnZhbHVlX3B0cih0aGQsIHZhbHVlX3R5 cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZudWxsX2xleF9zdHIpOworICAgICAgICAgIHN5c192YXIgKnZhcj0gKChzeXNfdmFy ICopIHZhbHVlKTsKKyAgICAgICAgICBzaG93X3R5cGU9IHZhci0+c2hvd190eXBlKCk7CisgICAg ICAgICAgdmFsdWU9IChjaGFyKikgdmFyLT52YWx1ZV9wdHIodGhkLCB2YWx1ZV90eXBlLCAmbnVs bF9sZXhfc3RyKTsKKyAgICAgICAgICBjaGFyc2V0PSB2YXItPmNoYXJzZXQodGhkKTsKICAgICAg ICAgfQogCiAgICAgICAgIHBvcz0gZW5kPSBidWZmOwpAQCAtMjIxNSw3ICsyMjE3LDcgQEAgc3Rh dGljIGJvb2wgc2hvd19zdGF0dXNfYXJyYXkoVEhEICp0aGQsIAogICAgICAgICAgIERCVUdfQVNT RVJUKDApOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIHRhYmxlLT5maWVs ZFsxXS0+c3RvcmUocG9zLCAodWludDMyKSAoZW5kIC0gcG9zKSwgc3lzdGVtX2NoYXJzZXRfaW5m byk7CisgICAgICAgIHRhYmxlLT5maWVsZFsxXS0+c3RvcmUocG9zLCAodWludDMyKSAoZW5kIC0g cG9zKSwgY2hhcnNldCk7CiAgICAgICAgIHRoZC0+Y291bnRfY3V0ZWRfZmllbGRzPSBDSEVDS19G SUVMRF9JR05PUkU7CiAgICAgICAgIHRhYmxlLT5maWVsZFsxXS0+c2V0X25vdG51bGwoKTsKIAoK PT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfdXBkYXRlLmNjJwotLS0gYS9zcWwvc3FsX3VwZGF0 ZS5jYwkyMDA4LTExLTI3IDE0OjI1OjAyICswMDAwCisrKyBiL3NxbC9zcWxfdXBkYXRlLmNjCTIw MDgtMTEtMjggMTc6NTE6NDcgKzAwMDAKQEAgLTcyOCw2ICs3MjgsMTEgQEAgaW50IG15c3FsX3Vw ZGF0ZShUSEQgKnRoZCwKICAgICBlbHNlCiAgICAgICB0YWJsZS0+ZmlsZS0+dW5sb2NrX3Jvdygp OwogICAgIHRoZC0+cm93X2NvdW50Kys7CisgICAgaWYgKHRoZC0+aXNfZXJyb3IoKSkKKyAgICB7 CisgICAgICBlcnJvcj0gMTsKKyAgICAgIGJyZWFrOworICAgIH0KICAgfQogICBkdXBfa2V5X2Zv dW5kPSAwOwogICAvKgoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfdmlldy5jYycKLS0tIGEv c3FsL3NxbF92aWV3LmNjCTIwMDgtMTEtMTQgMTc6NDE6NTEgKzAwMDAKKysrIGIvc3FsL3NxbF92 aWV3LmNjCTIwMDgtMTItMDEgMDg6MTg6MDYgKzAwMDAKQEAgLTEwNTYsOCArMTA1Niw5IEBAIGJv b2wgbXlzcWxfbWFrZV92aWV3KFRIRCAqdGhkLCBGaWxlX3BhcnMKIAogICBpZiAodGFibGUtPmlu ZGV4X2hpbnRzICYmIHRhYmxlLT5pbmRleF9oaW50cy0+ZWxlbWVudHMpCiAgIHsKLSAgICAgIG15 X2Vycm9yKEVSX1dST05HX1VTQUdFLCBNWUYoMCksICJpbmRleCBoaW50cyIsICJWSUVXIik7Ci0g ICAgICBEQlVHX1JFVFVSTihUUlVFKTsKKyAgICBteV9lcnJvcihFUl9LRVlfRE9FU19OT1RfRVhJ VFMsIE1ZRigwKSwKKyAgICAgICAgICAgICB0YWJsZS0+aW5kZXhfaGludHMtPmhlYWQoKS0+a2V5 X25hbWUuc3RyLCB0YWJsZS0+dGFibGVfbmFtZSk7CisgICAgREJVR19SRVRVUk4oVFJVRSk7CiAg IH0KIAogICAvKiBjaGVjayBsb29wIHZpYSB2aWV3IGRlZmluaXRpb24gKi8KCj09PSBtb2RpZmll ZCBmaWxlICdzcWwvdHp0aW1lLmNjJwotLS0gYS9zcWwvdHp0aW1lLmNjCTIwMDgtMDUtMDggMjA6 NDM6MjggKzAwMDAKKysrIGIvc3FsL3R6dGltZS5jYwkyMDA4LTEyLTAxIDE2OjAwOjAzICswMDAw CkBAIC0xMDcyLDYgKzEwNzIsNyBAQCBUaW1lX3pvbmVfc3lzdGVtOjpnbXRfc2VjX3RvX1RJTUUo TVlTUUxfCiAgIGxvY2FsdGltZV9yKCZ0bXBfdCwgJnRtcF90bSk7CiAgIGxvY2FsdGltZV90b19U SU1FKHRtcCwgJnRtcF90bSk7CiAgIHRtcC0+dGltZV90eXBlPSBNWVNRTF9USU1FU1RBTVBfREFU RVRJTUU7CisgIGFkanVzdF9sZWFwX3NlY29uZCh0bXApOwogfQogCiAKQEAgLTExNTYsNiArMTE1 Nyw3IEBAIFRpbWVfem9uZV91dGM6OmdtdF9zZWNfdG9fVElNRShNWVNRTF9USU0KICAgZ210aW1l X3IoJnRtcF90LCAmdG1wX3RtKTsKICAgbG9jYWx0aW1lX3RvX1RJTUUodG1wLCAmdG1wX3RtKTsK ICAgdG1wLT50aW1lX3R5cGU9IE1ZU1FMX1RJTUVTVEFNUF9EQVRFVElNRTsKKyAgYWRqdXN0X2xl YXBfc2Vjb25kKHRtcCk7CiB9CiAKIApAQCAtMTI1OSw2ICsxMjYxLDcgQEAgdm9pZAogVGltZV96 b25lX2RiOjpnbXRfc2VjX3RvX1RJTUUoTVlTUUxfVElNRSAqdG1wLCBteV90aW1lX3QgdCkgY29u c3QKIHsKICAgOjpnbXRfc2VjX3RvX1RJTUUodG1wLCB0LCB0el9pbmZvKTsKKyAgYWRqdXN0X2xl YXBfc2Vjb25kKHRtcCk7CiB9CiAKIApAQCAtMjI3OSw2ICsyMjgyLDI0IEBAIG15X3R6X2ZpbmQo VEhEICp0aGQsIGNvbnN0IFN0cmluZyAqbmFtZSkKIH0KIAogCisvKioKKyAgQ29udmVydCBsZWFw IHNlY29uZHMgaW50byBub24tbGVhcAorCisgIFRoaXMgZnVuY3Rpb24gd2lsbCBjb252ZXJ0IHRo ZSBsZWFwIHNlY29uZHMgYWRkZWQgYnkgdGhlIE9TIHRvIAorICBub24tbGVhcCBzZWNvbmRzLCBl LmcuIDIzOjU5OjU5LCAyMzo1OTo2MCAtPiAyMzo1OTo1OSwgMDA6MDA6MDEgLi4uCisgIFRoaXMg Y2hlY2sgaXMgbm90IGNoZWNraW5nIGZvciB5ZWFycyBvbiBwdXJwb3NlIDogYWx0aG91Z2ggaXQn cyBub3QgYQorICBjb21wbGV0ZSBjaGVjayB0aGlzIHdheSBpdCBkb2Vzbid0IHJlcXVpcmUgbG9v a2luZyAoYW5kIGhhdmluZyBpbnN0YWxsZWQpCisgIHRoZSBsZWFwIHNlY29uZHMgdGFibGUuCisK KyAgQHBhcmFtW2luLG91dF0gYnJva2VuIGRvd24gdGltZSBzdHJ1Y3R1cmUgYXMgZmlsbGVkIGlu IGJ5IHRoZSBPUworKi8KKwordm9pZCBUaW1lX3pvbmU6OmFkanVzdF9sZWFwX3NlY29uZChNWVNR TF9USU1FICp0KQoreworICBpZiAodC0+c2Vjb25kID09IDYwIHx8IHQtPnNlY29uZCA9PSA2MSkK KyAgICB0LT5zZWNvbmQ9IDU5OworfQorCiAjZW5kaWYgLyogIWRlZmluZWQoVEVTVFRJTUUpICYm ICFkZWZpbmVkKFRaSU5GTzJTUUwpICovCiAKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC90enRp bWUuaCcKLS0tIGEvc3FsL3R6dGltZS5oCTIwMDctMTAtMTYgMjA6MTE6NTAgKzAwMDAKKysrIGIv c3FsL3R6dGltZS5oCTIwMDgtMTItMDEgMTU6MjI6MTYgKzAwMDAKQEAgLTU1LDYgKzU1LDkgQEAg cHVibGljOgogICAgIGFsbG9jYXRlZCBvbiBNRU1fUk9PVCBhbmQgc2hvdWxkIG5vdCByZXF1aXJl IGRlc3RydWN0aW9uLgogICAqLwogICB2aXJ0dWFsIH5UaW1lX3pvbmUoKSB7fTsKKworcHJvdGVj dGVkOgorICBzdGF0aWMgaW5saW5lIHZvaWQgYWRqdXN0X2xlYXBfc2Vjb25kKE1ZU1FMX1RJTUUg KnQpOwogfTsKIAogZXh0ZXJuIFRpbWVfem9uZSAqIG15X3R6X1VUQzsKCg==