From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jeffrey C. Ollie To: git-commits@fedoraproject.org Subject: [rpms/ejabberd] f45: Update to 1.1.4 Date: Wed, 23 Sep 2026 19:06:35 GMT Message-ID: <179019039574.1.5215334851306388419.rpms-ejabberd-0b124f027675@fedoraproject.org> List-ID: X-Git-Repo: rpms/ejabberd X-Git-Branch: f45 X-Git-Rev: 0b124f027675f85a1369de227ec9df98c5c1f6f4 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZWphYmJlcmQKQnJh bmNoIDogZjQ1CkNvbW1pdCA6IDBiMTI0ZjAyNzY3NWY4NWExMzY5ZGUyMjdlYzlkZjk4YzVjMWY2 ZjQKQXV0aG9yIDogSmVmZnJleSBDLiBPbGxpZSA8amNvbGxpZUBmZWRvcmFwcm9qZWN0Lm9yZz4K RGF0ZSAgIDogMjAwNy0wOS0wNVQxMzowNDoxMiswMDowMApTdGF0cyAgOiArNDc0Ly00MjggaW4g NSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZWph YmJlcmQvYy8wYjEyNGYwMjc2NzVmODVhMTM2OWRlMjI3ZWM5ZGY5OGM1YzFmNmY0P2JyYW5jaD1m NDUKCkxvZzoKVXBkYXRlIHRvIDEuMS40CgotLS0KZGlmZiAtLWdpdCBhLy5jdnNpZ25vcmUgYi8u Y3ZzaWdub3JlCmluZGV4IDI1MWM3ZjUuLmU0MjQ0ZDggMTAwNjQ0Ci0tLSBhLy5jdnNpZ25vcmUK KysrIGIvLmN2c2lnbm9yZQpAQCAtMSArMSBAQAotZWphYmJlcmQtMS4xLjMudGFyLmd6CitlamFi YmVyZC0xLjEuNC50YXIuZ3oKCmRpZmYgLS1naXQgYS9lamFiYmVyZC0xLjEuMy1sZGFwZml4LnBh dGNoIGIvZWphYmJlcmQtMS4xLjMtbGRhcGZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZWY0NzhiYy4uMDAwMDAwMAotLS0gYS9lamFiYmVyZC0xLjEuMy1sZGFwZml4LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIGVqYWJiZXJkLTEuMS4zL3Ny Yy9lbGRhcC9lbGRhcC5lcmwuZml4CTIwMDctMDctMTQgMTc6MDM6NTkuMDAwMDAwMDAwICswMTAw Ci0rKysgZWphYmJlcmQtMS4xLjMvc3JjL2VsZGFwL2VsZGFwLmVybAkyMDA3LTA3LTE0IDE3OjA0 OjI1LjAwMDAwMDAwMCArMDEwMAotQEAgLTcxMyw3ICs3MTMsNyBAQCByZWN2ZF93YWl0X2JpbmRf cmVzcG9uc2UoUGt0LCBTKSAtPgotIAkgICAgY2hlY2tfaWQoUyNlbGRhcC5pZCwgTXNnIydMREFQ TWVzc2FnZScubWVzc2FnZUlEKSwKLSAJICAgIGNhc2UgTXNnIydMREFQTWVzc2FnZScucHJvdG9j b2xPcCBvZgotIAkJe2JpbmRSZXNwb25zZSwgUmVzdWx0fSAtPgotLQkJICAgIGNhc2UgUmVzdWx0 IydMREFQUmVzdWx0Jy5yZXN1bHRDb2RlIG9mCi0rCQkgICAgY2FzZSBSZXN1bHQjJ0JpbmRSZXNw b25zZScucmVzdWx0Q29kZSBvZgotIAkJCXN1Y2Nlc3MgLT4gYm91bmQ7Ci0gCQkJRXJyb3IgICAt PiB7ZmFpbF9iaW5kLCBFcnJvcn0KLSAJCSAgICBlbmQKCmRpZmYgLS1naXQgYS9lamFiYmVyZC5z cGVjIGIvZWphYmJlcmQuc3BlYwppbmRleCA4MDRmMGIxLi5lNmM3NmRkIDEwMDY0NAotLS0gYS9l amFiYmVyZC5zcGVjCisrKyBiL2VqYWJiZXJkLnNwZWMKQEAgLTEsNiArMSw2IEBACiBOYW1lOiAg ICAgICAgICAgZWphYmJlcmQKLVZlcnNpb246ICAgICAgICAxLjEuMwotUmVsZWFzZTogICAgICAg IDExJXs/ZGlzdH0KK1ZlcnNpb246ICAgICAgICAxLjEuNAorUmVsZWFzZTogICAgICAgIDElez9k aXN0fQogU3VtbWFyeTogICAgICAgIEEgZGlzdHJpYnV0ZWQsIGZhdWx0LXRvbGVyYW50IEphYmJl ci9YTVBQIHNlcnZlcgogCiBHcm91cDogICAgICAgICAgQXBwbGljYXRpb25zL0ludGVybmV0CkBA IC0yMyw4ICsyMyw2IEBAIFNvdXJjZTg6ICAgICAgICBlamFiYmVyZGN0bAogU291cmNlOTogICAg ICAgIGVqYWJiZXJkY3RsLnBhbQogU291cmNlMTA6ICAgICAgIGVqYWJiZXJkY3RsLmFwcHMKIAot UGF0Y2gxOiAgICAgICAgIGVqYWJiZXJkLTEuMS4zLWxkYXBmaXgucGF0Y2gKLQogQnVpbGRSb290 OiAgICAgICV7X3RtcHBhdGh9LyV7bmFtZX0tJXt2ZXJzaW9ufS0le3JlbGVhc2V9LXJvb3QtJSgl e19faWRfdX0gLW4pCiAKIEJ1aWxkUmVxdWlyZXM6ICBleHBhdC1kZXZlbApAQCAtNzksOCArNzcs NiBAQCBmaQogJXByZXAKICVzZXR1cCAtcQogCi0lcGF0Y2gxIC1wMQotCiAle19fcGVybH0gLXBp IC1lICJzIS92YXIvbGliL2VqYWJiZXJkISV7X2xpYmRpcn0vZWphYmJlcmQtJXt2ZXJzaW9ufSFn IiBzcmMvTWFrZWZpbGUuaW4KICV7X19wZXJsfSAtcGkgLWUgInMhL2V0YyEle19zeXNjb25mZGly fSFnIiBzcmMvTWFrZWZpbGUuaW4KICV7X19wZXJsfSAtcGkgLWUgInMhXEBwcmVmaXhcQCEhZyIg c3JjL01ha2VmaWxlLmluCkBAIC0xNzMsNiArMTY5LDExIEBAIHJtIC1yZiAle2J1aWxkcm9vdH0K ICVkb2MgQ2hhbmdlTG9nIENPUFlJTkcgVE9ETyBkb2MvKi5wZGYgZG9jLyouaHRtbCBkb2MvKi5w bmcgZG9jL3JlbGVhc2Vfbm90ZXNfKgogCiAlY2hhbmdlbG9nCisqIFdlZCBTZXAgIDUgMjAwNyBK ZWZmcmV5IEMuIE9sbGllIDxqZWZmQG9janRlY2gudXM+IC0gMS4xLjQtMQorLSBEcm9wIExEQVAg cGF0Y2gKKy0gVXBkYXRlIG1vZF9jdGxleHRyYQorLSBVcGRhdGUgdG8gMS4xLjQKKwogKiBUdWUg U2VwICA0IDIwMDcgSmVmZnJleSBDLiBPbGxpZSA8amVmZkBvY2p0ZWNoLnVzPiAtIDEuMS4zLTEx CiAtIEZpeCBlamFiYmVyZGN0bCB3cmFwcGVyIHNjcmlwdCAtICMyNzYwNzEKIAoKZGlmZiAtLWdp dCBhL21vZF9jdGxleHRyYS5lcmwgYi9tb2RfY3RsZXh0cmEuZXJsCmluZGV4IDMyYmM2Y2IuLmM3 MjNhZDYgMTAwNjQ0Ci0tLSBhL21vZF9jdGxleHRyYS5lcmwKKysrIGIvbW9kX2N0bGV4dHJhLmVy bApAQCAtMSwxOTEgKzEsMTkzIEBACiAlJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogJSUlIEZpbGUgICAgOiBt b2RfY3RsZXh0cmEuZXJsDQotJSUlIEF1dGhvciAgOiBCYWRsb3ANCi0lJSUgUHVycG9zZSA6IEFk ZHMgbW9yZSBvcHRpb25zIGZvciBlamFiYmVyZF9jdGwNCi0lJSUgQ3JlYXRlZCA6DQotJSUlIElk ICAgICAgOiAkSWQ6IG1vZF9jdGxleHRyYS5lcmwgMTQ4IDIwMDctMDYtMTkgMTI6MzE6NDRaIGJh ZGxvcCAkDQorJSUlIEF1dGhvciAgOiBCYWRsb3AgPGJhZGxvcEBvbm8uY29tPg0KKyUlJSBQdXJw b3NlIDogQWRkcyBtb3JlIGNvbW1hbmRzIHRvIGVqYWJiZXJkX2N0bA0KKyUlJSBDcmVhdGVkIDog MzAgTm92IDIwMDYgYnkgQmFkbG9wIDxiYWRsb3BAb25vLmNvbT4NCislJSUgSWQgICAgICA6ICRJ ZCQNCiAlJSUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQogLW1vZHVsZShtb2RfY3RsZXh0cmEpLg0KLS1hdXRo b3IoJycpLg0KLS12c24oJyRSZXZpc2lvbjogMTQ4ICQnKS4NCistYXV0aG9yKCdiYWRsb3BAb25v LmNvbScpLg0KKy12c24oJyRSZXZpc2lvbiQgJykuDQogDQogLWJlaGF2aW91cihnZW5fbW9kKS4N CiANCi0tZXhwb3J0KFsNCi0Jc3RhcnQvMiwNCi0Jc3RvcC8xLA0KLQljdGxfcHJvY2Vzcy8yLA0K LQljdGxfcHJvY2Vzcy8zDQorLWV4cG9ydChbc3RhcnQvMiwNCisJIHN0b3AvMSwNCisJIGN0bF9w cm9jZXNzLzIsDQorCSBjdGxfcHJvY2Vzcy8zDQogCV0pLg0KIA0KIC1pbmNsdWRlKCJlamFiYmVy ZC5ocmwiKS4NCiAtaW5jbHVkZSgiZWphYmJlcmRfY3RsLmhybCIpLg0KIC1pbmNsdWRlKCJqbGli LmhybCIpLg0KKy1pbmNsdWRlKCJtb2Rfcm9zdGVyLmhybCIpLg0KIA0KIC1yZWNvcmQoc2Vzc2lv biwge3NpZCwgdXNyLCB1cywgcHJpb3JpdHl9KS4gJSBjb3BpZWQgZnJvbSBlamFiYmVyZF9zbS5l cmwNCiANCiBzdGFydChIb3N0LCBfT3B0cykgLT4NCi0JZWphYmJlcmRfY3RsOnJlZ2lzdGVyX2Nv bW1hbmRzKFsNCi0JCXsiY29tcGlsZSBmaWxlIiwgInJlY29tcGlsZSBhbmQgcmVsb2FkIGZpbGUi fSwNCi0JCXsibG9hZC1jb25maWcgZmlsZSIsICJsb2FkIGNvbmZpZyBmcm9tIGZpbGUifSwNCi0J CXsicmVtb3ZlLW5vZGUgbm9kZW5hbWUiLCAicmVtb3ZlIGFuIGVqYWJiZXJkIG5vZGUgZnJvbSB0 aGUgZGF0YWJhc2UifSwNCi0NCi0JCSUgZWphYmJlcmRfYXV0aA0KLQkJeyJkZWxldGUtb2xkZXIt dXNlcnMgZGF5cyIsICJkZWxldGUgdXNlcnMgdGhhdCBoYXZlIG5vdCBsb2dnZWQgaW4gdGhlIGxh c3QgJ2RheXMnIn0sDQotCQl7InNldC1wYXNzd29yZCB1c2VyIHNlcnZlciBwYXNzd29yZCIsICJz ZXQgcGFzc3dvcmQgdG8gdXNlckBzZXJ2ZXIifSwNCi0NCi0JCSUgZWpkMm9kYmMNCi0JCXsiZXhw b3J0Mm9kYmMgc2VydmVyIG91dHB1dCIsICJleHBvcnQgTW5lc2lhIHRhYmxlcyBvbiBzZXJ2ZXIg dG8gZmlsZXMgb24gb3V0cHV0IGRpcmVjdG9yeSJ9LA0KLQ0KLQkJJSBtb2Rfb2ZmbGluZQ0KLQkJ eyJkZWxldGUtb2xkZXItbWVzc2FnZXMgZGF5cyIsICJkZWxldGUgb2ZmbGluZSBtZXNzYWdlcyBv bGRlciB0aGFuICdkYXlzJyJ9LA0KLQ0KLQkJJSBtb2Rfc2hhcmVkX3Jvc3Rlcg0KLQkJeyJzcmct Y3JlYXRlIGdyb3VwIGhvc3QgbmFtZSBkZXNjcmlwdGlvbiBkaXNwbGF5IiwgImNyZWF0ZSB0aGUg Z3JvdXAgd2l0aCBvcHRpb25zIn0sDQotCQl7InNyZy1kZWxldGUgZ3JvdXAgaG9zdCIsICJkZWxl dGUgdGhlIGdyb3VwIn0sDQotCQl7InNyZy11c2VyLWFkZCB1c2VyIHNlcnZlciBncm91cCBob3N0 IiwgImFkZCB1c2VyQHNlcnZlciB0byBncm91cCBvbiBob3N0In0sDQotCQl7InNyZy11c2VyLWRl bCB1c2VyIHNlcnZlciBncm91cCBob3N0IiwgImRlbGV0ZSB1c2VyQHNlcnZlciBmcm9tIGdyb3Vw IG9uIGhvc3QifSwNCi0JCQkNCi0JCSUgbW9kX3ZjYXJkDQotCQl7InZjYXJkLWdldCB1c2VyIGhv c3QgZGF0YSBbZGF0YTJdIiwgImdldCBkYXRhIGZyb20gdGhlIHZDYXJkIG9mIHRoZSB1c2VyIn0s DQotCQl7InZjYXJkLXNldCB1c2VyIGhvc3QgZGF0YSBbZGF0YTJdIGNvbnRlbnQiLCAic2V0IGRh dGEgdG8gY29udGVudCBvbiB0aGUgdkNhcmQifSwNCi0NCi0JCSUgbW9kX2Fubm91bmNlDQotCQkl IGFubm91bmNlX3NlbmRfb25saW5lIGhvc3QgbWVzc2FnZQ0KLQkJJSBhbm5vdW5jZV9zZW5kX2Fs bCBob3N0LCBtZXNzYWdlDQotDQotCQklIG1vZF9tdWMNCi0JCSUgbXVjLWFkZCByb29tIG9wdHMN Ci0JCSUgbXVjLWRlbCByb29tDQotCQl7Im11Yy1wdXJnZSBkYXlzIiwgImRlc3Ryb3kgcm9vbXMg d2l0aCBub3QgYWN0aXZpdHkgb24gdGhlIGxhc3QgJ2RheXMnIn0sDQotCQl7Im11Yy1vbmxpbmUt cm9vbXMiLCAibGlzdCBleGlzdGluZyByb29tcyJ9LA0KLQ0KLQkJJSBtb2Rfcm9zdGVyDQotCQl7 ImFkZC1yb3N0ZXJpdGVtIHVzZXIxIHNlcnZlcjEgdXNlcjIgc2VydmVyMiBuaWNrIGdyb3VwIHN1 YnMiLCAiQWRkIHVzZXIyQHNlcnZlcjIgdG8gdXNlcjFAc2VydmVyMSJ9LA0KLQkJJXsiIiwgInN1 YnM9IG5vbmUsIGZyb20sIHRvIG9yIGJvdGgifSwNCi0JCSV7IiIsICJleGFtcGxlOiBhZGQtcm9z dGVyIHBldGVyIGxvY2FsaG9zdCBtaWtlIHNlcnZlci5jb20gTWlLZSBFbXBsb3llZXMgYm90aCJ9 LA0KLQkJJXsiIiwgIndpbGwgYWRkIG1pa2VAc2VydmVyLmNvbSB0byBwZXRlckBsb2NhbGhvc3Qg cm9zdGVyIn0sDQotCQl7InB1c2hyb3N0ZXIgZmlsZSB1c2VyIHNlcnZlciIsICJwdXNoIHRlbXBs YXRlIHJvc3RlciBpbiBmaWxlIHRvIHVzZXJAc2VydmVyIn0sDQotCQl7InB1c2hyb3N0ZXItYWxs IGZpbGUiLCAicHVzaCB0ZW1wbGF0ZSByb3N0ZXIgaW4gZmlsZSB0byBhbGwgdGhvc2UgdXNlcnMi fSwNCi0JCXsicHVzaC1hbGx0b2FsbCBzZXJ2ZXIgZ3JvdXAiLCAiYWRkcyBhbGwgdGhlIHVzZXJz IHRvIGFsbCB0aGUgdXNlcnMgaW4gR3JvdXAifSwNCi0NCi0JCXsic3RhdHVzLWxpc3Qgc3RhdHVz IiwgImxpc3QgdGhlIGxvZ2dlZCB1c2VycyB3aXRoIHN0YXR1cyJ9LA0KLQkJeyJzdGF0dXMtbnVt IHN0YXR1cyIsICJudW1iZXIgb2YgbG9nZ2VkIHVzZXJzIHdpdGggc3RhdHVzIn0sDQotDQotCQl7 InN0YXRzIHJlZ2lzdGVyZWR1c2VycyIsICJudW1iZXIgb2YgcmVnaXN0ZXJlZCB1c2VycyJ9LA0K LQkJeyJzdGF0cyBvbmxpbmV1c2VycyIsICJudW1iZXIgb2YgbG9nZ2VkIHVzZXJzIn0sDQotDQot CQklIG1pc2MNCi0JCXsiZ2V0LWNvb2tpZSIsICJnZXQgdGhlIEVybGFuZyBjb29raWUgb2YgdGhp cyBub2RlIn0sDQotCQl7ImtpbGxzZXNzaW9uIHVzZXIgc2VydmVyIHJlc291cmNlIiwgImtpbGwg YSB1c2VyIHNlc3Npb24ifQ0KLQldLCA/TU9EVUxFLCBjdGxfcHJvY2VzcyksDQorICAgIGVqYWJi ZXJkX2N0bDpyZWdpc3Rlcl9jb21tYW5kcyhbDQorCQkJCSAgICB7ImNvbXBpbGUgZmlsZSIsICJy ZWNvbXBpbGUgYW5kIHJlbG9hZCBmaWxlIn0sDQorCQkJCSAgICB7ImxvYWQtY29uZmlnIGZpbGUi LCAibG9hZCBjb25maWcgZnJvbSBmaWxlIn0sDQorCQkJCSAgICB7InJlbW92ZS1ub2RlIG5vZGVu YW1lIiwgInJlbW92ZSBhbiBlamFiYmVyZCBub2RlIGZyb20gdGhlIGRhdGFiYXNlIn0sDQorDQor CQkJCSAgICAlJSBlamFiYmVyZF9hdXRoDQorCQkJCSAgICB7ImRlbGV0ZS1vbGRlci11c2VycyBk YXlzIiwgImRlbGV0ZSB1c2VycyB0aGF0IGhhdmUgbm90IGxvZ2dlZCBpbiB0aGUgbGFzdCAnZGF5 cycifSwNCisJCQkJICAgIHsic2V0LXBhc3N3b3JkIHVzZXIgc2VydmVyIHBhc3N3b3JkIiwgInNl dCBwYXNzd29yZCB0byB1c2VyQHNlcnZlciJ9LA0KKw0KKwkJCQkgICAgJSUgZWpkMm9kYmMNCisJ CQkJICAgIHsiZXhwb3J0Mm9kYmMgc2VydmVyIG91dHB1dCIsICJleHBvcnQgTW5lc2lhIHRhYmxl cyBvbiBzZXJ2ZXIgdG8gZmlsZXMgb24gb3V0cHV0IGRpcmVjdG9yeSJ9LA0KKw0KKwkJCQkgICAg JSUgbW9kX29mZmxpbmUNCisJCQkJICAgIHsiZGVsZXRlLW9sZGVyLW1lc3NhZ2VzIGRheXMiLCAi ZGVsZXRlIG9mZmxpbmUgbWVzc2FnZXMgb2xkZXIgdGhhbiAnZGF5cycifSwNCisNCisJCQkJICAg ICUlIG1vZF9zaGFyZWRfcm9zdGVyDQorCQkJCSAgICB7InNyZy1jcmVhdGUgZ3JvdXAgaG9zdCBu YW1lIGRlc2NyaXB0aW9uIGRpc3BsYXkiLCAiY3JlYXRlIHRoZSBncm91cCB3aXRoIG9wdGlvbnMi fSwNCisJCQkJICAgIHsic3JnLWRlbGV0ZSBncm91cCBob3N0IiwgImRlbGV0ZSB0aGUgZ3JvdXAi fSwNCisJCQkJICAgIHsic3JnLXVzZXItYWRkIHVzZXIgc2VydmVyIGdyb3VwIGhvc3QiLCAiYWRk IHVzZXJAc2VydmVyIHRvIGdyb3VwIG9uIGhvc3QifSwNCisJCQkJICAgIHsic3JnLXVzZXItZGVs IHVzZXIgc2VydmVyIGdyb3VwIGhvc3QiLCAiZGVsZXRlIHVzZXJAc2VydmVyIGZyb20gZ3JvdXAg b24gaG9zdCJ9LA0KKw0KKwkJCQkgICAgJSUgbW9kX3ZjYXJkDQorCQkJCSAgICB7InZjYXJkLWdl dCB1c2VyIGhvc3QgZGF0YSBbZGF0YTJdIiwgImdldCBkYXRhIGZyb20gdGhlIHZDYXJkIG9mIHRo ZSB1c2VyIn0sDQorCQkJCSAgICB7InZjYXJkLXNldCB1c2VyIGhvc3QgZGF0YSBbZGF0YTJdIGNv bnRlbnQiLCAic2V0IGRhdGEgdG8gY29udGVudCBvbiB0aGUgdkNhcmQifSwNCisNCisJCQkJICAg ICUlIG1vZF9hbm5vdW5jZQ0KKwkJCQkgICAgJSUgYW5ub3VuY2Vfc2VuZF9vbmxpbmUgaG9zdCBt ZXNzYWdlDQorCQkJCSAgICAlJSBhbm5vdW5jZV9zZW5kX2FsbCBob3N0LCBtZXNzYWdlDQorDQor CQkJCSAgICAlJSBtb2RfbXVjDQorCQkJCSAgICAlJSBtdWMtYWRkIHJvb20gb3B0cw0KKwkJCQkg ICAgJSUgbXVjLWRlbCByb29tDQorCQkJCSAgICB7Im11Yy1wdXJnZSBkYXlzIiwgImRlc3Ryb3kg cm9vbXMgd2l0aCBub3QgYWN0aXZpdHkgb24gdGhlIGxhc3QgJ2RheXMnIn0sDQorCQkJCSAgICB7 Im11Yy1vbmxpbmUtcm9vbXMiLCAibGlzdCBleGlzdGluZyByb29tcyJ9LA0KKw0KKwkJCQkgICAg JSUgbW9kX3Jvc3Rlcg0KKwkJCQkgICAgeyJhZGQtcm9zdGVyaXRlbSB1c2VyMSBzZXJ2ZXIxIHVz ZXIyIHNlcnZlcjIgbmljayBncm91cCBzdWJzIiwgIkFkZCB1c2VyMkBzZXJ2ZXIyIHRvIHVzZXIx QHNlcnZlcjEncyByb3N0ZXIifSwNCisJCQkJICAgICUleyIiLCAic3Vicz0gbm9uZSwgZnJvbSwg dG8gb3IgYm90aCJ9LA0KKwkJCQkgICAgJSV7IiIsICJleGFtcGxlOiBhZGQtcm9zdGVyIHBldGVy IGxvY2FsaG9zdCBtaWtlIHNlcnZlci5jb20gTWlLZSBFbXBsb3llZXMgYm90aCJ9LA0KKwkJCQkg ICAgJSV7IiIsICJ3aWxsIGFkZCBtaWtlQHNlcnZlci5jb20gdG8gcGV0ZXJAbG9jYWxob3N0IHJv c3RlciJ9LA0KKwkJCQkgICAgeyJyZW0tcm9zdGVyaXRlbSB1c2VyMSBzZXJ2ZXIxIHVzZXIyIHNl cnZlcjIiLCAiUmVtb3ZlIHVzZXIyQHNlcnZlcjIgZnJvbSB1c2VyMUBzZXJ2ZXIxJ3Mgcm9zdGVy In0sDQorCQkJCSAgICB7InB1c2hyb3N0ZXIgZmlsZSB1c2VyIHNlcnZlciIsICJwdXNoIHRlbXBs YXRlIHJvc3RlciBpbiBmaWxlIHRvIHVzZXJAc2VydmVyIn0sDQorCQkJCSAgICB7InB1c2hyb3N0 ZXItYWxsIGZpbGUiLCAicHVzaCB0ZW1wbGF0ZSByb3N0ZXIgaW4gZmlsZSB0byBhbGwgdGhvc2Ug dXNlcnMifSwNCisJCQkJICAgIHsicHVzaC1hbGx0b2FsbCBzZXJ2ZXIgZ3JvdXAiLCAiYWRkcyBh bGwgdGhlIHVzZXJzIHRvIGFsbCB0aGUgdXNlcnMgaW4gR3JvdXAifSwNCisNCisJCQkJICAgIHsi c3RhdHVzLWxpc3Qgc3RhdHVzIiwgImxpc3QgdGhlIGxvZ2dlZCB1c2VycyB3aXRoIHN0YXR1cyJ9 LA0KKwkJCQkgICAgeyJzdGF0dXMtbnVtIHN0YXR1cyIsICJudW1iZXIgb2YgbG9nZ2VkIHVzZXJz IHdpdGggc3RhdHVzIn0sDQorDQorCQkJCSAgICB7InN0YXRzIHJlZ2lzdGVyZWR1c2VycyIsICJu dW1iZXIgb2YgcmVnaXN0ZXJlZCB1c2VycyJ9LA0KKwkJCQkgICAgeyJzdGF0cyBvbmxpbmV1c2Vy cyIsICJudW1iZXIgb2YgbG9nZ2VkIHVzZXJzIn0sDQorCQkJCSAgICB7InN0YXRzIHVwdGltZS1z ZWNvbmRzIiwgInVwdGltZSBvZiBlamFiYmVyZCBub2RlIGluIHNlY29uZHMifSwNCisNCisJCQkJ ICAgICUlIG1pc2MNCisJCQkJICAgIHsiZ2V0LWNvb2tpZSIsICJnZXQgdGhlIEVybGFuZyBjb29r aWUgb2YgdGhpcyBub2RlIn0sDQorCQkJCSAgICB7ImtpbGxzZXNzaW9uIHVzZXIgc2VydmVyIHJl c291cmNlIiwgImtpbGwgYSB1c2VyIHNlc3Npb24ifQ0KKwkJCQkgICBdLCA/TU9EVUxFLCBjdGxf cHJvY2VzcyksDQogICAgIGVqYWJiZXJkX2N0bDpyZWdpc3Rlcl9jb21tYW5kcyhIb3N0LCBbDQot CQklIG1vZF9tdWMNCi0JCXsibXVjLXB1cmdlIGRheXMiLCAiZGVzdHJveSByb29tcyB3aXRoIG5v dCBhY3Rpdml0eSBvbiB0aGUgbGFzdCAnZGF5cycifSwNCi0JCXsibXVjLW9ubGluZS1yb29tcyIs ICJsaXN0IGV4aXN0aW5nIHJvb21zIn0sDQotDQotCQklIG1vZF9sYXN0DQotCQl7Im51bS1hY3Rp dmUtdXNlcnMgZGF5cyIsICJudW1iZXIgb2YgdXNlcnMgYWN0aXZlIGluIHRoZSBsYXN0ICdkYXlz JyJ9LA0KLQkJeyJzdGF0dXMtbGlzdCBzdGF0dXMiLCAibGlzdCB0aGUgbG9nZ2VkIHVzZXJzIHdp dGggc3RhdHVzIn0sDQotCQl7InN0YXR1cy1udW0gc3RhdHVzIiwgIm51bWJlciBvZiBsb2dnZWQg dXNlcnMgd2l0aCBzdGF0dXMifSwNCi0JCXsic3RhdHMgcmVnaXN0ZXJlZHVzZXJzIiwgIm51bWJl ciBvZiByZWdpc3RlcmVkIHVzZXJzIn0sDQotCQl7InN0YXRzIG9ubGluZXVzZXJzIiwgIm51bWJl ciBvZiBsb2dnZWQgdXNlcnMifQ0KLQldLCA/TU9EVUxFLCBjdGxfcHJvY2VzcyksDQotCW9rLg0K KwkJCQkJICAlJSBtb2RfbXVjDQorCQkJCQkgIHsibXVjLXB1cmdlIGRheXMiLCAiZGVzdHJveSBy b29tcyB3aXRoIG5vdCBhY3Rpdml0eSBvbiB0aGUgbGFzdCAnZGF5cycifSwNCisJCQkJCSAgeyJt dWMtb25saW5lLXJvb21zIiwgImxpc3QgZXhpc3Rpbmcgcm9vbXMifSwNCisNCisJCQkJCSAgJSUg bW9kX2xhc3QNCisJCQkJCSAgeyJudW0tYWN0aXZlLXVzZXJzIGRheXMiLCAibnVtYmVyIG9mIHVz ZXJzIGFjdGl2ZSBpbiB0aGUgbGFzdCAnZGF5cycifSwNCisJCQkJCSAgeyJzdGF0dXMtbGlzdCBz dGF0dXMiLCAibGlzdCB0aGUgbG9nZ2VkIHVzZXJzIHdpdGggc3RhdHVzIn0sDQorCQkJCQkgIHsi c3RhdHVzLW51bSBzdGF0dXMiLCAibnVtYmVyIG9mIGxvZ2dlZCB1c2VycyB3aXRoIHN0YXR1cyJ9 LA0KKwkJCQkJICB7InN0YXRzIHJlZ2lzdGVyZWR1c2VycyIsICJudW1iZXIgb2YgcmVnaXN0ZXJl ZCB1c2VycyJ9LA0KKwkJCQkJICB7InN0YXRzIG9ubGluZXVzZXJzIiwgIm51bWJlciBvZiBsb2dn ZWQgdXNlcnMifQ0KKwkJCQkJIF0sID9NT0RVTEUsIGN0bF9wcm9jZXNzKSwNCisgICAgb2suDQog DQogc3RvcChfSG9zdCkgLT4NCi0Jb2suDQorICAgIG9rLg0KIA0KIA0KIGN0bF9wcm9jZXNzKF9W YWwsIFsiYmxvIl0pIC0+DQotCUZSZXNvdXJjZXMgPSAiZWVlYWFhIGFhYSIsDQotCWlvOmZvcm1h dCgifnMiLCBbRlJlc291cmNlc10pLA0KLQk/U1RBVFVTX1NVQ0NFU1M7DQorICAgIEZSZXNvdXJj ZXMgPSAiZWVlYWFhIGFhYSIsDQorICAgIGlvOmZvcm1hdCgifnMiLCBbRlJlc291cmNlc10pLA0K KyAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nlc3MoX1ZhbCwgWyJkZWxldGUtb2xk ZXItbWVzc2FnZXMiLCBEYXlzXSkgLT4NCiAgICAgbW9kX29mZmxpbmU6cmVtb3ZlX29sZF9tZXNz YWdlcyhsaXN0X3RvX2ludGVnZXIoRGF5cykpLA0KICAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQog Y3RsX3Byb2Nlc3MoX1ZhbCwgWyJkZWxldGUtb2xkZXItdXNlcnMiLCBEYXlzXSkgLT4NCi0Je3Jl bW92ZWQsIE4sIFVSfSA9IGRlbGV0ZV9vbGRlcl91c2VycyhsaXN0X3RvX2ludGVnZXIoRGF5cykp LA0KLQlpbzpmb3JtYXQoIkRlbGV0ZWQgfnAgdXNlcnM6IH5wfm4iLCBbTiwgVVJdKSwNCi0JP1NU QVRVU19TVUNDRVNTOw0KKyAgICB7cmVtb3ZlZCwgTiwgVVJ9ID0gZGVsZXRlX29sZGVyX3VzZXJz KGxpc3RfdG9faW50ZWdlcihEYXlzKSksDQorICAgIGlvOmZvcm1hdCgiRGVsZXRlZCB+cCB1c2Vy czogfnB+biIsIFtOLCBVUl0pLA0KKyAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nl c3MoX1ZhbCwgWyJleHBvcnQyb2RiYyIsIFNlcnZlciwgT3V0cHV0XSkgLT4NCi0JVGFibGVzID0g Ww0KLQkJe2V4cG9ydF9sYXN0LCBsYXN0fSwNCi0JCXtleHBvcnRfb2ZmbGluZSwgb2ZmbGluZX0s DQotCQl7ZXhwb3J0X3Bhc3N3ZCwgcGFzc3dkfSwNCi0JCXtleHBvcnRfcHJpdmF0ZV9zdG9yYWdl LCBwcml2YXRlX3N0b3JhZ2V9LA0KLQkJe2V4cG9ydF9yb3N0ZXIsIHJvc3Rlcn0sDQotCQl7ZXhw b3J0X3ZjYXJkLCB2Y2FyZH0sDQotCQl7ZXhwb3J0X3ZjYXJkX3NlYXJjaCwgdmNhcmRfc2VhcmNo fV0sDQotCUV4cG9ydCA9IGZ1bih7VGFibGVGdW4sIFRhYmxlfSkgLT4gDQotCQlGaWxlbmFtZSA9 IGZpbGVuYW1lOmpvaW4oW091dHB1dCwgYXRvbV90b19saXN0KFRhYmxlKSsrIi50eHQiXSksDQot CQlpbzpmb3JtYXQoIlRyeWluZyB0byBleHBvcnQgTW5lc2lhIHRhYmxlICd+cCcgb24gc2VydmVy ICd+cycgdG8gZmlsZSAnfnMnfm4iLCBbVGFibGUsIFNlcnZlciwgRmlsZW5hbWVdKSwNCi0JCWNh dGNoIGVqZDJvZGJjOlRhYmxlRnVuKFNlcnZlciwgRmlsZW5hbWUpDQotCWVuZCwNCi0JbGlzdHM6 Zm9yZWFjaChFeHBvcnQsIFRhYmxlcyksDQotCT9TVEFUVVNfU1VDQ0VTUzsNCisgICAgVGFibGVz ID0gWw0KKwkgICAgICB7ZXhwb3J0X2xhc3QsIGxhc3R9LA0KKwkgICAgICB7ZXhwb3J0X29mZmxp bmUsIG9mZmxpbmV9LA0KKwkgICAgICB7ZXhwb3J0X3Bhc3N3ZCwgcGFzc3dkfSwNCisJICAgICAg e2V4cG9ydF9wcml2YXRlX3N0b3JhZ2UsIHByaXZhdGVfc3RvcmFnZX0sDQorCSAgICAgIHtleHBv cnRfcm9zdGVyLCByb3N0ZXJ9LA0KKwkgICAgICB7ZXhwb3J0X3ZjYXJkLCB2Y2FyZH0sDQorCSAg ICAgIHtleHBvcnRfdmNhcmRfc2VhcmNoLCB2Y2FyZF9zZWFyY2h9XSwNCisgICAgRXhwb3J0ID0g ZnVuKHtUYWJsZUZ1biwgVGFibGV9KSAtPiANCisJCSAgICAgRmlsZW5hbWUgPSBmaWxlbmFtZTpq b2luKFtPdXRwdXQsIGF0b21fdG9fbGlzdChUYWJsZSkrKyIudHh0Il0pLA0KKwkJICAgICBpbzpm b3JtYXQoIlRyeWluZyB0byBleHBvcnQgTW5lc2lhIHRhYmxlICd+cCcgb24gc2VydmVyICd+cycg dG8gZmlsZSAnfnMnfm4iLCBbVGFibGUsIFNlcnZlciwgRmlsZW5hbWVdKSwNCisJCSAgICAgY2F0 Y2ggZWpkMm9kYmM6VGFibGVGdW4oU2VydmVyLCBGaWxlbmFtZSkNCisJICAgICBlbmQsDQorICAg IGxpc3RzOmZvcmVhY2goRXhwb3J0LCBUYWJsZXMpLA0KKyAgICA/U1RBVFVTX1NVQ0NFU1M7DQog DQogY3RsX3Byb2Nlc3MoX1ZhbCwgWyJzZXQtcGFzc3dvcmQiLCBVc2VyLCBTZXJ2ZXIsIFBhc3N3 b3JkXSkgLT4NCiAgICAgZWphYmJlcmRfYXV0aDpzZXRfcGFzc3dvcmQoVXNlciwgU2VydmVyLCBQ YXNzd29yZCksDQotCT9TVEFUVVNfU1VDQ0VTUzsNCisgICAgP1NUQVRVU19TVUNDRVNTOw0KIA0K IGN0bF9wcm9jZXNzKF9WYWwsIFsidmNhcmQtZ2V0IiwgVXNlciwgU2VydmVyLCBEYXRhXSkgLT4N Ci0Je29rLCBSZXN9ID0gdmNhcmRfZ2V0KFVzZXIsIFNlcnZlciwge0RhdGF9KSwNCisgICAge29r LCBSZXN9ID0gdmNhcmRfZ2V0KFVzZXIsIFNlcnZlciwgW0RhdGFdKSwNCiAgICAgaW86Zm9ybWF0 KCJ+c35uIiwgW1Jlc10pLA0KICAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nlc3Mo X1ZhbCwgWyJ2Y2FyZC1nZXQiLCBVc2VyLCBTZXJ2ZXIsIERhdGExLCBEYXRhMl0pIC0+DQotCXtv aywgUmVzfSA9IHZjYXJkX2dldChVc2VyLCBTZXJ2ZXIsIHtEYXRhMSwgRGF0YTJ9KSwNCisgICAg e29rLCBSZXN9ID0gdmNhcmRfZ2V0KFVzZXIsIFNlcnZlciwgW0RhdGExLCBEYXRhMl0pLA0KICAg ICBpbzpmb3JtYXQoIn5zfm4iLCBbUmVzXSksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCi1j dGxfcHJvY2VzcyhfVmFsLCBbInZjYXJkLXNldCIsIFVzZXIsIFNlcnZlciwgRGF0YSwgQ29udGVu dF0pIC0+DQotCXtvaywgUmVzfSA9IHZjYXJkX3NldChVc2VyLCBTZXJ2ZXIsIERhdGEsIENvbnRl bnQpLA0KK2N0bF9wcm9jZXNzKF9WYWwsIFsidmNhcmQtc2V0IiwgVXNlciwgU2VydmVyLCBEYXRh MSwgQ29udGVudF0pIC0+DQorICAgIHtvaywgUmVzfSA9IHZjYXJkX3NldChVc2VyLCBTZXJ2ZXIs IFtEYXRhMV0sIENvbnRlbnQpLA0KICAgICBpbzpmb3JtYXQoIn5zfm4iLCBbUmVzXSksDQogICAg ID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBbInZjYXJkLXNldCIsIFVz ZXIsIFNlcnZlciwgRGF0YTEsIERhdGEyLCBDb250ZW50XSkgLT4NCi0Je29rLCBSZXN9ID0gdmNh cmRfc2V0KFVzZXIsIFNlcnZlciwgRGF0YTEsIERhdGEyLCBDb250ZW50KSwNCisgICAge29rLCBS ZXN9ID0gdmNhcmRfc2V0KFVzZXIsIFNlcnZlciwgW0RhdGExLCBEYXRhMl0sIENvbnRlbnQpLA0K ICAgICBpbzpmb3JtYXQoIn5zfm4iLCBbUmVzXSksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiAN CiBjdGxfcHJvY2VzcyhfVmFsLCBbImNvbXBpbGUiLCBNb2R1bGVdKSAtPg0KICAgICBjb21waWxl OmZpbGUoTW9kdWxlKSwNCi0JP1NUQVRVU19TVUNDRVNTOw0KKyAgICA/U1RBVFVTX1NVQ0NFU1M7 DQogDQogY3RsX3Byb2Nlc3MoX1ZhbCwgWyJyZW1vdmUtbm9kZSIsIE5vZGVdKSAtPg0KLQltbmVz aWE6ZGVsX3RhYmxlX2NvcHkoc2NoZW1hLCBsaXN0X3RvX2F0b20oTm9kZSkpLA0KLQk/U1RBVFVT X1NVQ0NFU1M7DQorICAgIG1uZXNpYTpkZWxfdGFibGVfY29weShzY2hlbWEsIGxpc3RfdG9fYXRv bShOb2RlKSksDQorICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBb InNyZy1jcmVhdGUiLCBHcm91cCwgSG9zdCwgTmFtZSwgRGVzY3JpcHRpb24sIERpc3BsYXldKSAt Pg0KLQlPcHRzID0gW3tuYW1lLCBOYW1lfSwge2Rpc3BsYXllZF9ncm91cHMsIFtEaXNwbGF5XX0s IHtkZXNjcmlwdGlvbiwgRGVzY3JpcHRpb259XSwNCi0Je2F0b21pYywgb2t9ID0gbW9kX3NoYXJl ZF9yb3N0ZXI6Y3JlYXRlX2dyb3VwKEhvc3QsIEdyb3VwLCBPcHRzKSwNCisgICAgT3B0cyA9IFt7 bmFtZSwgTmFtZX0sIHtkaXNwbGF5ZWRfZ3JvdXBzLCBbRGlzcGxheV19LCB7ZGVzY3JpcHRpb24s IERlc2NyaXB0aW9ufV0sDQorICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmNy ZWF0ZV9ncm91cChIb3N0LCBHcm91cCwgT3B0cyksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiAN CiBjdGxfcHJvY2VzcyhfVmFsLCBbInNyZy1kZWxldGUiLCBHcm91cCwgSG9zdF0pIC0+DQotCXth dG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmRlbGV0ZV9ncm91cChIb3N0LCBHcm91cCks DQorICAgIHthdG9taWMsIG9rfSA9IG1vZF9zaGFyZWRfcm9zdGVyOmRlbGV0ZV9ncm91cChIb3N0 LCBHcm91cCksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBb InNyZy11c2VyLWFkZCIsIFVzZXIsIFNlcnZlciwgR3JvdXAsIEhvc3RdKSAtPg0KLQl7YXRvbWlj LCBva30gPSBtb2Rfc2hhcmVkX3Jvc3RlcjphZGRfdXNlcl90b19ncm91cChIb3N0LCB7VXNlciwg U2VydmVyfSwgR3JvdXApLA0KKyAgICB7YXRvbWljLCBva30gPSBtb2Rfc2hhcmVkX3Jvc3Rlcjph ZGRfdXNlcl90b19ncm91cChIb3N0LCB7VXNlciwgU2VydmVyfSwgR3JvdXApLA0KICAgICA/U1RB VFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nlc3MoX1ZhbCwgWyJzcmctdXNlci1kZWwiLCBVc2Vy LCBTZXJ2ZXIsIEdyb3VwLCBIb3N0XSkgLT4NCi0Je2F0b21pYywgb2t9ID0gbW9kX3NoYXJlZF9y b3N0ZXI6cmVtb3ZlX3VzZXJfZnJvbV9ncm91cChIb3N0LCB7VXNlciwgU2VydmVyfSwgR3JvdXAp LA0KKyAgICB7YXRvbWljLCBva30gPSBtb2Rfc2hhcmVkX3Jvc3RlcjpyZW1vdmVfdXNlcl9mcm9t X2dyb3VwKEhvc3QsIHtVc2VyLCBTZXJ2ZXJ9LCBHcm91cCksDQogICAgID9TVEFUVVNfU1VDQ0VT UzsNCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBbIm11Yy1wdXJnZSIsIERheXNdKSAtPg0KLQl7cHVy Z2VkLCBOdW1fdG90YWwsIE51bV9wdXJnZWQsIE5hbWVzX3B1cmdlZH0gPSBtdWNfcHVyZ2UobGlz dF90b19pbnRlZ2VyKERheXMpKSwNCi0JaW86Zm9ybWF0KCJQdXJnZWQgfnAgY2hhdHJvb21zIGZy b20gYSB0b3RhbCBvZiB+cCBvbiB0aGUgc2VydmVyOn5ufnB+biIsIFtOdW1fcHVyZ2VkLCBOdW1f dG90YWwsIE5hbWVzX3B1cmdlZF0pLA0KLQk/U1RBVFVTX1NVQ0NFU1M7DQorICAgIHtwdXJnZWQs IE51bV90b3RhbCwgTnVtX3B1cmdlZCwgTmFtZXNfcHVyZ2VkfSA9IG11Y19wdXJnZShsaXN0X3Rv X2ludGVnZXIoRGF5cykpLA0KKyAgICBpbzpmb3JtYXQoIlB1cmdlZCB+cCBjaGF0cm9vbXMgZnJv bSBhIHRvdGFsIG9mIH5wIG9uIHRoZSBzZXJ2ZXI6fm5+cH5uIiwgW051bV9wdXJnZWQsIE51bV90 b3RhbCwgTmFtZXNfcHVyZ2VkXSksDQorICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJv Y2VzcyhfVmFsLCBbIm11Yy1vbmxpbmUtcm9vbXMiXSkgLT4NCi0gICAgICAgZm9ybWF0X3ByaW50 X3Jvb20oYWxsLCBldHM6dGFiMmxpc3QobXVjX29ubGluZV9yb29tKSksDQotICAgICAgID9TVEFU VVNfU1VDQ0VTUzsNCisgICAgZm9ybWF0X3ByaW50X3Jvb20oYWxsLCBldHM6dGFiMmxpc3QobXVj X29ubGluZV9yb29tKSksDQorICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2Vzcyhf VmFsLCBbImFkZC1yb3N0ZXJpdGVtIiwgTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgUmVtb3RlVXNl ciwgUmVtb3RlU2VydmVyLCBOaWNrLCBHcm91cCwgU3Vic10pIC0+DQogICAgIGNhc2UgYWRkX3Jv c3Rlcml0ZW0oTG9jYWxVc2VyLCBMb2NhbFNlcnZlciwgUmVtb3RlVXNlciwgUmVtb3RlU2VydmVy LCBOaWNrLCBHcm91cCwgbGlzdF90b19hdG9tKFN1YnMpLCBbXSkgb2YNCkBAIC0yMDEsNiArMjAz LDIwIEBAIGN0bF9wcm9jZXNzKF9WYWwsIFsiYWRkLXJvc3Rlcml0ZW0iLCBMb2NhbFVzZXIsIExv Y2FsU2VydmVyLCBSZW1vdGVVc2VyLCBSZW1vdGVTCiAJICAgID9TVEFUVVNfQkFEUlBDDQogICAg IGVuZDsNCiANCitjdGxfcHJvY2VzcyhfVmFsLCBbInJlbS1yb3N0ZXJpdGVtIiwgTG9jYWxVc2Vy LCBMb2NhbFNlcnZlciwgUmVtb3RlVXNlciwgUmVtb3RlU2VydmVyXSkgLT4NCisgICAgY2FzZSBy ZW1fcm9zdGVyaXRlbShMb2NhbFVzZXIsIExvY2FsU2VydmVyLCBSZW1vdGVVc2VyLCBSZW1vdGVT ZXJ2ZXIpIG9mDQorCXthdG9taWMsIG9rfSAtPg0KKwkgICAgP1NUQVRVU19TVUNDRVNTOw0KKwl7 ZXJyb3IsIFJlYXNvbn0gLT4NCisJICAgIGlvOmZvcm1hdCgiQ2FuJ3QgcmVtb3ZlIH5wQH5wIHRv IH5wQH5wOiB+cH5uIiwNCisJCSAgICAgIFtSZW1vdGVVc2VyLCBSZW1vdGVTZXJ2ZXIsIExvY2Fs VXNlciwgTG9jYWxTZXJ2ZXIsIFJlYXNvbl0pLA0KKwkgICAgP1NUQVRVU19FUlJPUjsNCisJe2Jh ZHJwYywgUmVhc29ufSAtPg0KKwkgICAgaW86Zm9ybWF0KCJDYW4ndCByZW1vdmUgcm9zdGVyIGl0 ZW0gdG8gdXNlciB+cDogfnB+biIsDQorCQkgICAgICBbTG9jYWxVc2VyLCBSZWFzb25dKSwNCisJ ICAgID9TVEFUVVNfQkFEUlBDDQorICAgIGVuZDsNCisNCiBjdGxfcHJvY2VzcyhfVmFsLCBbInB1 c2hyb3N0ZXIiLCBGaWxlLCBVc2VyLCBTZXJ2ZXJdKSAtPg0KICAgICBjYXNlIHB1c2hyb3N0ZXIo RmlsZSwgVXNlciwgU2VydmVyKSBvZg0KIAlvayAtPg0KQEAgLTI1OCwxOCArMjc0LDE5IEBAIGN0 bF9wcm9jZXNzKF9WYWwsIFsibG9hZC1jb25maWciLCBQYXRoXSkgLT4KICAgICBlbmQ7DQogDQog Y3RsX3Byb2Nlc3MoX1ZhbCwgWyJzdGF0cyIsIFN0YXRdKSAtPg0KLQlSZXMgPSBjYXNlIFN0YXQg b2YNCi0JCSJyZWdpc3RlcmVkdXNlcnMiIC0+IG1uZXNpYTp0YWJsZV9pbmZvKHBhc3N3ZCwgc2l6 ZSk7DQotCQkib25saW5ldXNlcnMiIC0+IG1uZXNpYTp0YWJsZV9pbmZvKHNlc3Npb24sIHNpemUp DQotCWVuZCwNCisgICAgUmVzID0gY2FzZSBTdGF0IG9mDQorCSAgICAgICJ1cHRpbWUtc2Vjb25k cyIgLT4gdXB0aW1lX3NlY29uZHMoKTsNCisJICAgICAgInJlZ2lzdGVyZWR1c2VycyIgLT4gbW5l c2lhOnRhYmxlX2luZm8ocGFzc3dkLCBzaXplKTsNCisJICAgICAgIm9ubGluZXVzZXJzIiAtPiBt bmVzaWE6dGFibGVfaW5mbyhzZXNzaW9uLCBzaXplKQ0KKwkgIGVuZCwNCiAgICAgaW86Zm9ybWF0 KCJ+cH5uIiwgW1Jlc10pLA0KICAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nlc3Mo X1ZhbCwgWyJzdGF0dXMtbnVtIiwgU3RhdHVzX3JlcXVpcmVkXSkgLT4NCi0JY3RsX3Byb2Nlc3Mo X1ZhbCwgImFsbCIsIFsic3RhdHVzLW51bSIsIFN0YXR1c19yZXF1aXJlZF0pOw0KKyAgICBjdGxf cHJvY2VzcyhfVmFsLCAiYWxsIiwgWyJzdGF0dXMtbnVtIiwgU3RhdHVzX3JlcXVpcmVkXSk7DQog DQogY3RsX3Byb2Nlc3MoX1ZhbCwgWyJzdGF0dXMtbGlzdCIsIFN0YXR1c19yZXF1aXJlZF0pIC0+ DQotCWN0bF9wcm9jZXNzKF9WYWwsICJhbGwiLCBbInN0YXR1cy1saXN0IiwgU3RhdHVzX3JlcXVp cmVkXSk7DQorICAgIGN0bF9wcm9jZXNzKF9WYWwsICJhbGwiLCBbInN0YXR1cy1saXN0IiwgU3Rh dHVzX3JlcXVpcmVkXSk7DQogDQogY3RsX3Byb2Nlc3MoX1ZhbCwgWyJnZXQtY29va2llIl0pIC0+ DQogICAgIGlvOmZvcm1hdCgifnN+biIsIFthdG9tX3RvX2xpc3QoZXJsYW5nOmdldF9jb29raWUo KSldKSwNCkBAIC0yNzcsNTAgKzI5NCw1MCBAQCBjdGxfcHJvY2VzcyhfVmFsLCBbImdldC1jb29r aWUiXSkgLT4KIA0KIGN0bF9wcm9jZXNzKF9WYWwsIFsia2lsbHNlc3Npb24iLCBVc2VyLCBTZXJ2 ZXIsIFJlc291cmNlXSkgLT4NCiAgICAgZWphYmJlcmRfcm91dGVyOnJvdXRlKA0KLSAgICAgICAg amxpYjptYWtlX2ppZCgiIiwgIiIsICIiKSwgDQotICAgICAgICBqbGliOm1ha2VfamlkKFVzZXIs IFNlcnZlciwgUmVzb3VyY2UpLA0KLSAgICAgICAge3htbGVsZW1lbnQsICJicm9hZGNhc3QiLCBb XSwgW3tleGl0LCAia2lsbGVkIn1dfSksDQorICAgICAgamxpYjptYWtlX2ppZCgiIiwgIiIsICIi KSwgDQorICAgICAgamxpYjptYWtlX2ppZChVc2VyLCBTZXJ2ZXIsIFJlc291cmNlKSwNCisgICAg ICB7eG1sZWxlbWVudCwgImJyb2FkY2FzdCIsIFtdLCBbe2V4aXQsICJraWxsZWQifV19KSwNCiAg ICAgP1NUQVRVU19TVUNDRVNTOw0KIA0KIGN0bF9wcm9jZXNzKFZhbCwgX0FyZ3MpIC0+DQotCVZh bC4NCisgICAgVmFsLg0KIA0KIA0KIGN0bF9wcm9jZXNzKF9WYWwsIEhvc3QsIFsibXVjLXB1cmdl IiwgRGF5c10pIC0+DQotCXtwdXJnZWQsIE51bV90b3RhbCwgTnVtX3B1cmdlZCwgTmFtZXNfcHVy Z2VkfSA9IG11Y19wdXJnZShIb3N0LCBsaXN0X3RvX2ludGVnZXIoRGF5cykpLA0KLQlpbzpmb3Jt YXQoIlB1cmdlZCB+cCBjaGF0cm9vbXMgZnJvbSBhIHRvdGFsIG9mIH5wIG9uIHRoZSBob3N0IH5w On5ufnB+biIsIFtOdW1fcHVyZ2VkLCBOdW1fdG90YWwsIEhvc3QsIE5hbWVzX3B1cmdlZF0pLA0K LQk/U1RBVFVTX1NVQ0NFU1M7DQorICAgIHtwdXJnZWQsIE51bV90b3RhbCwgTnVtX3B1cmdlZCwg TmFtZXNfcHVyZ2VkfSA9IG11Y19wdXJnZShIb3N0LCBsaXN0X3RvX2ludGVnZXIoRGF5cykpLA0K KyAgICBpbzpmb3JtYXQoIlB1cmdlZCB+cCBjaGF0cm9vbXMgZnJvbSBhIHRvdGFsIG9mIH5wIG9u IHRoZSBob3N0IH5wOn5ufnB+biIsIFtOdW1fcHVyZ2VkLCBOdW1fdG90YWwsIEhvc3QsIE5hbWVz X3B1cmdlZF0pLA0KKyAgICA/U1RBVFVTX1NVQ0NFU1M7DQogDQogY3RsX3Byb2Nlc3MoX1ZhbCwg U2VydmVySG9zdCwgWyJtdWMtb25saW5lLXJvb21zIl0pIC0+DQotCU1VQ0hvc3QgPSBmaW5kX2hv c3QoU2VydmVySG9zdCksDQotCWZvcm1hdF9wcmludF9yb29tKE1VQ0hvc3QsIGV0czp0YWIybGlz dChtdWNfb25saW5lX3Jvb20pKSwNCi0JP1NUQVRVU19TVUNDRVNTOw0KKyAgICBNVUNIb3N0ID0g ZmluZF9ob3N0KFNlcnZlckhvc3QpLA0KKyAgICBmb3JtYXRfcHJpbnRfcm9vbShNVUNIb3N0LCBl dHM6dGFiMmxpc3QobXVjX29ubGluZV9yb29tKSksDQorICAgID9TVEFUVVNfU1VDQ0VTUzsNCiAN CiBjdGxfcHJvY2VzcyhfVmFsLCBIb3N0LCBbIm51bS1hY3RpdmUtdXNlcnMiLCBEYXlzXSkgLT4N Ci0JTnVtYmVyID0gbnVtX2FjdGl2ZV91c2VycyhIb3N0LCBsaXN0X3RvX2ludGVnZXIoRGF5cykp LA0KKyAgICBOdW1iZXIgPSBudW1fYWN0aXZlX3VzZXJzKEhvc3QsIGxpc3RfdG9faW50ZWdlcihE YXlzKSksDQogICAgIGlvOmZvcm1hdCgifnB+biIsIFtOdW1iZXJdKSwNCiAgICAgP1NUQVRVU19T VUNDRVNTOw0KIA0KIGN0bF9wcm9jZXNzKF9WYWwsIEhvc3QsIFsic3RhdHMiLCBTdGF0XSkgLT4N Ci0JUmVzID0gY2FzZSBTdGF0IG9mDQotCQkicmVnaXN0ZXJlZHVzZXJzIiAtPiBsZW5ndGgoZWph YmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhIb3N0KSk7DQotCQkib25saW5ldXNl cnMiIC0+IGxlbmd0aChlamFiYmVyZF9zbTpnZXRfdmhfc2Vzc2lvbl9saXN0KEhvc3QpKQ0KLQll bmQsDQorICAgIFJlcyA9IGNhc2UgU3RhdCBvZg0KKwkgICAgICAicmVnaXN0ZXJlZHVzZXJzIiAt PiBsZW5ndGgoZWphYmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhIb3N0KSk7DQor CSAgICAgICJvbmxpbmV1c2VycyIgLT4gbGVuZ3RoKGVqYWJiZXJkX3NtOmdldF92aF9zZXNzaW9u X2xpc3QoSG9zdCkpDQorCSAgZW5kLA0KICAgICBpbzpmb3JtYXQoIn5wfm4iLCBbUmVzXSksDQog ICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBIb3N0LCBbInN0YXR1 cy1udW0iLCBTdGF0dXNfcmVxdWlyZWRdKSAtPg0KLQlOdW0gPSBsZW5ndGgoZ2V0X3N0YXR1c19s aXN0KEhvc3QsIFN0YXR1c19yZXF1aXJlZCkpLA0KKyAgICBOdW0gPSBsZW5ndGgoZ2V0X3N0YXR1 c19saXN0KEhvc3QsIFN0YXR1c19yZXF1aXJlZCkpLA0KICAgICBpbzpmb3JtYXQoIn5wfm4iLCBb TnVtXSksDQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhfVmFsLCBIb3N0 LCBbInN0YXR1cy1saXN0IiwgU3RhdHVzX3JlcXVpcmVkXSkgLT4NCi0JUmVzID0gZ2V0X3N0YXR1 c19saXN0KEhvc3QsIFN0YXR1c19yZXF1aXJlZCksDQorICAgIFJlcyA9IGdldF9zdGF0dXNfbGlz dChIb3N0LCBTdGF0dXNfcmVxdWlyZWQpLA0KICAgICBbIGlvOmZvcm1hdCgifnNAfnMgfnMgfnAg XCJ+c1wifm4iLCBbVSwgUywgUiwgUCwgU3RdKSB8fCB7VSwgUywgUiwgUCwgU3R9IDwtIFJlc10s DQogICAgID9TVEFUVVNfU1VDQ0VTUzsNCiANCiBjdGxfcHJvY2VzcyhWYWwsIF9Ib3N0LCBfQXJn cykgLT4NCi0JVmFsLg0KKyAgICBWYWwuDQogDQogDQogJSUtLS0tLS0tLS0tLS0tDQpAQCAtMzI4 LDIwNSArMzQ1LDI0MSBAQCBjdGxfcHJvY2VzcyhWYWwsIF9Ib3N0LCBfQXJncykgLT4KICUlLS0t LS0tLS0tLS0tLQ0KIA0KIGdldF9zdGF0dXNfbGlzdChIb3N0LCBTdGF0dXNfcmVxdWlyZWQpIC0+ DQotCSUgR2V0IGxpc3Qgb2YgYWxsIGxvZ2dlZCB1c2Vycw0KLQlTZXNzaW9ucyA9IGVqYWJiZXJk X3NtOmRpcnR5X2dldF9teV9zZXNzaW9uc19saXN0KCksDQotCSUgUmVmb3JtYXQgdGhlIGxpc3QN Ci0JU2Vzc2lvbnMyID0gWyB7U2Vzc2lvbiNzZXNzaW9uLnVzciwgU2Vzc2lvbiNzZXNzaW9uLnNp ZCwgU2Vzc2lvbiNzZXNzaW9uLnByaW9yaXR5fSB8fCBTZXNzaW9uIDwtIFNlc3Npb25zXSwNCi0J Rmhvc3QgPSBjYXNlIEhvc3Qgb2YNCi0JCSJhbGwiIC0+DQotCQkJJSBBbGwgaG9zdHMgYXJlIHJl cXVlc3RlZCwgc28gZG9uJ3QgZmlsdGVyIGF0IGFsbA0KLQkJCWZ1bihfLCBfKSAtPiB0cnVlIGVu ZDsNCi0JCV8gLT4NCi0JCQklIEZpbHRlciB0aGUgbGlzdCwgb25seSBIb3N0IGlzIGludGVyZXN0 aW5nDQotCQkJZnVuKEEsIEIpIC0+IEEgPT0gQiBlbmQNCi0JZW5kLA0KLQlTZXNzaW9uczMgPSBb IHtQaWQsIFNlcnZlciwgUHJpb3JpdHl9IHx8IHt7X1VzZXIsIFNlcnZlciwgX1Jlc291cmNlfSwg e18sIFBpZH0sIFByaW9yaXR5fSA8LSBTZXNzaW9uczIsIGFwcGx5KEZob3N0LCBbU2VydmVyLCBI b3N0XSldLA0KLQklIEZvciBlYWNoIFBpZCwgZ2V0IGl0cyBwcmVzZW5jZQ0KLQlTZXNzaW9uczQg PSBbIHtlamFiYmVyZF9jMnM6Z2V0X3ByZXNlbmNlKFBpZCksIFNlcnZlciwgUHJpb3JpdHl9IHx8 IHtQaWQsIFNlcnZlciwgUHJpb3JpdHl9IDwtIFNlc3Npb25zM10sDQotCSUgRmlsdGVyIGJ5IHN0 YXR1cw0KLQlGc3RhdHVzID0gY2FzZSBTdGF0dXNfcmVxdWlyZWQgb2YNCisgICAgJSUgR2V0IGxp c3Qgb2YgYWxsIGxvZ2dlZCB1c2Vycw0KKyAgICBTZXNzaW9ucyA9IGVqYWJiZXJkX3NtOmRpcnR5 X2dldF9teV9zZXNzaW9uc19saXN0KCksDQorICAgICUlIFJlZm9ybWF0IHRoZSBsaXN0DQorICAg IFNlc3Npb25zMiA9IFsge1Nlc3Npb24jc2Vzc2lvbi51c3IsIFNlc3Npb24jc2Vzc2lvbi5zaWQs IFNlc3Npb24jc2Vzc2lvbi5wcmlvcml0eX0gfHwgU2Vzc2lvbiA8LSBTZXNzaW9uc10sDQorICAg IEZob3N0ID0gY2FzZSBIb3N0IG9mDQogCQkiYWxsIiAtPg0KLQkJCWZ1bihfLCBfKSAtPiB0cnVl IGVuZDsNCisJCSAgICAlJSBBbGwgaG9zdHMgYXJlIHJlcXVlc3RlZCwgc28gZG9udCBmaWx0ZXIg YXQgYWxsDQorCQkgICAgZnVuKF8sIF8pIC0+IHRydWUgZW5kOw0KIAkJXyAtPg0KLQkJCWZ1bihB LCBCKSAtPiBBID09IEIgZW5kDQotCWVuZCwNCi0JW3tVc2VyLCBTZXJ2ZXIsIFJlc291cmNlLCBQ cmlvcml0eSwgc3RyaW5naXplKFN0YXR1c190ZXh0KX0gDQotCSB8fCB7e1VzZXIsIFJlc291cmNl LCBTdGF0dXMsIFN0YXR1c190ZXh0fSwgU2VydmVyLCBQcmlvcml0eX0gPC0gU2Vzc2lvbnM0LCAN Ci0JIGFwcGx5KEZzdGF0dXMsIFtTdGF0dXMsIFN0YXR1c19yZXF1aXJlZF0pXS4NCi0NCi0lIE1h a2Ugc3RyaW5nIG1vcmUgcHJpbnQtZnJpZW5kbHkNCisJCSAgICAlJSBGaWx0ZXIgdGhlIGxpc3Qs IG9ubHkgSG9zdCBpcyBpbnRlcmVzdGluZw0KKwkJICAgIGZ1bihBLCBCKSAtPiBBID09IEIgZW5k DQorCSAgICBlbmQsDQorICAgIFNlc3Npb25zMyA9IFsge1BpZCwgU2VydmVyLCBQcmlvcml0eX0g fHwge3tfVXNlciwgU2VydmVyLCBfUmVzb3VyY2V9LCB7XywgUGlkfSwgUHJpb3JpdHl9IDwtIFNl c3Npb25zMiwgYXBwbHkoRmhvc3QsIFtTZXJ2ZXIsIEhvc3RdKV0sDQorICAgICUlIEZvciBlYWNo IFBpZCwgZ2V0IGl0cyBwcmVzZW5jZQ0KKyAgICBTZXNzaW9uczQgPSBbIHtlamFiYmVyZF9jMnM6 Z2V0X3ByZXNlbmNlKFBpZCksIFNlcnZlciwgUHJpb3JpdHl9IHx8IHtQaWQsIFNlcnZlciwgUHJp b3JpdHl9IDwtIFNlc3Npb25zM10sDQorICAgICUlIEZpbHRlciBieSBzdGF0dXMNCisgICAgRnN0 YXR1cyA9IGNhc2UgU3RhdHVzX3JlcXVpcmVkIG9mDQorCQkgICJhbGwiIC0+DQorCQkgICAgICBm dW4oXywgXykgLT4gdHJ1ZSBlbmQ7DQorCQkgIF8gLT4NCisJCSAgICAgIGZ1bihBLCBCKSAtPiBB ID09IEIgZW5kDQorCSAgICAgIGVuZCwNCisgICAgW3tVc2VyLCBTZXJ2ZXIsIFJlc291cmNlLCBQ cmlvcml0eSwgc3RyaW5naXplKFN0YXR1c190ZXh0KX0gDQorICAgICB8fCB7e1VzZXIsIFJlc291 cmNlLCBTdGF0dXMsIFN0YXR1c190ZXh0fSwgU2VydmVyLCBQcmlvcml0eX0gPC0gU2Vzc2lvbnM0 LCANCisJYXBwbHkoRnN0YXR1cywgW1N0YXR1cywgU3RhdHVzX3JlcXVpcmVkXSldLg0KKw0KKyUl IE1ha2Ugc3RyaW5nIG1vcmUgcHJpbnQtZnJpZW5kbHkNCiBzdHJpbmdpemUoU3RyaW5nKSAtPg0K LQklIFJlcGxhY2UgbmV3bGluZSBjaGFyYWN0ZXJzIHdpdGggb3RoZXIgY29kZQ0KLQllbGVtZW50 KDIsIHJlZ2V4cDpnc3ViKFN0cmluZywgIlxuIiwgIlxcbiIpKS4NCisgICAgJSUgUmVwbGFjZSBu ZXdsaW5lIGNoYXJhY3RlcnMgd2l0aCBvdGhlciBjb2RlDQorICAgIGVsZW1lbnQoMiwgcmVnZXhw OmdzdWIoU3RyaW5nLCAiXG4iLCAiXFxuIikpLg0KIA0KIGFkZF9yb3N0ZXJpdGVtKExVLCBMUywg UlUsIFJTLCBOaWNrLCBHcm91cCwgU3Vic2NyaXB0aW9uLCBYYXR0cnMpIC0+DQotCXN1YnNjcmli ZShMVSwgTFMsIFJVLCBSUywgTmljaywgR3JvdXAsIFN1YnNjcmlwdGlvbiwgWGF0dHJzKSwNCi0J JSBUT0RPOiBpZiB0aGUgc2VydmVyIGlzIG5vdCBsb2NhbCBhbmQgU3Vicz10byBvciBib3RoOiBz ZW5kIHN1YnNjcmlwdGlvbiByZXF1ZXN0DQotCSUgVE9ETzogY2hlY2sgaWYgdGhlICdyZW1vdGUg c2VydmVyJyBpcyBhIHZpcnR1YWwgaG9zdCBoZXJlLCBlbHNlIGRvIG5vdGhpbmcNCi0JJWFkZF9y b3N0ZXJpdGVtMihSVSwgUlMsIExVLCBMUywgTFUsICIiLCBpbnZlcnRfc3VicyhTdWJzY3JpcHRp b24pLCBYYXR0cnMsIEhvc3QpLg0KLQlzdWJzY3JpYmUoUlUsIFJTLCBMVSwgTFMsIExVLCAiIiwg aW52ZXJ0X3N1YnMoU3Vic2NyaXB0aW9uKSwgWGF0dHJzKS4NCi0NCi1pbnZlcnRfc3Vicyhub25l KSAtPiBub25lOw0KLWludmVydF9zdWJzKHRvKSAtPiBub25lOw0KLWludmVydF9zdWJzKGZyb20p IC0+IHRvOw0KLWludmVydF9zdWJzKGJvdGgpIC0+IGJvdGguDQorICAgIHN1YnNjcmliZShMVSwg TFMsIFJVLCBSUywgTmljaywgR3JvdXAsIFN1YnNjcmlwdGlvbiwgWGF0dHJzKSwNCisgICAgcm91 dGVfcm9zdGVyaXRlbShMVSwgTFMsIFJVLCBSUywgTmljaywgR3JvdXAsIFN1YnNjcmlwdGlvbiks DQorICAgIHthdG9taWMsIG9rfS4NCiANCiBzdWJzY3JpYmUoTG9jYWxVc2VyLCBMb2NhbFNlcnZl ciwgUmVtb3RlVXNlciwgUmVtb3RlU2VydmVyLCBOaWNrLCBHcm91cCwgU3Vic2NyaXB0aW9uLCBY YXR0cnMpIC0+DQotCW1uZXNpYTp0cmFuc2FjdGlvbigNCi0JCWZ1bigpIC0+DQotCQkJbW5lc2lh OndyaXRlKHsNCi0JCQkJcm9zdGVyLA0KLQkJCQl7TG9jYWxVc2VyLExvY2FsU2VydmVyLHtSZW1v dGVVc2VyLFJlbW90ZVNlcnZlcixbXX19LCAlIHVzag0KLQkJCQl7TG9jYWxVc2VyLExvY2FsU2Vy dmVyfSwgICAgICAgICAgICAgICAgICUgdXMNCi0JCQkJe1JlbW90ZVVzZXIsUmVtb3RlU2VydmVy LFtdfSwgICAgICAlIGppZA0KLQkJCQlOaWNrLCAgICAgICAgICAgICAgICAgICUgbmFtZTogIk1v bSIsIFtdDQotCQkJCVN1YnNjcmlwdGlvbiwgICUgc3Vic2NyaXB0aW9uOiBub25lLCB0bz15b3Ug c2VlIGhpbSwgZnJvbT1oZSBzZWVzIHlvdSwgYm90aA0KLQkJCQlub25lLCAgICAgICAgICAlIGFz azogb3V0PXNlbmQgcmVxdWVzdCwgaW49c29tZWJvZHkgcmVxdWVzdHMgeW91LCBub25lDQotCQkJ CVtHcm91cF0sICAgICAgICUgZ3JvdXBzOiBbIkZhbWlseSJdDQotCQkJCVhhdHRycywgICAgICAg ICUgeGF0dHJzOiBbeyJjYXRlZ29yeSIsImNvbmZlcmVuY2UifV0NCi0JCQkJW10gICAgICAgICAg ICAgJSB4czogW10NCi0JCX0pDQotCWVuZCkuDQorICAgIFIgPSAjcm9zdGVye3VzaiA9IHtMb2Nh bFVzZXIsTG9jYWxTZXJ2ZXIse1JlbW90ZVVzZXIsUmVtb3RlU2VydmVyLFtdfX0sDQorCQl1cyA9 IHtMb2NhbFVzZXIsTG9jYWxTZXJ2ZXJ9LA0KKwkJamlkID0ge1JlbW90ZVVzZXIsUmVtb3RlU2Vy dmVyLFtdfSwNCisJCW5hbWUgPSBOaWNrLA0KKwkJc3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9u LCAlIG5vbmUsIHRvPXlvdSBzZWUgaGltLCBmcm9tPWhlIHNlZXMgeW91LCBib3RoDQorCQlhc2sg PSBub25lLCAlIG91dD1zZW5kIHJlcXVlc3QsIGluPXNvbWVib2R5IHJlcXVlc3RzIHlvdSwgbm9u ZQ0KKwkJZ3JvdXBzID0gW0dyb3VwXSwNCisJCWFza21lc3NhZ2UgPSBYYXR0cnMsICUgZXhhbXBs ZTogW3siY2F0ZWdvcnkiLCJjb25mZXJlbmNlIn1dDQorCQl4cyA9IFtdfSwNCisgICAgbW5lc2lh OnRyYW5zYWN0aW9uKGZ1bigpIC0+IG1uZXNpYTp3cml0ZShSKSBlbmQpLg0KKw0KK3JlbV9yb3N0 ZXJpdGVtKExVLCBMUywgUlUsIFJTKSAtPg0KKyAgICB1bnN1YnNjcmliZShMVSwgTFMsIFJVLCBS UyksDQorICAgIHJvdXRlX3Jvc3Rlcml0ZW0oTFUsIExTLCBSVSwgUlMsICIiLCAiIiwgInJlbW92 ZSIpLA0KKyAgICB7YXRvbWljLCBva30uDQorDQordW5zdWJzY3JpYmUoTG9jYWxVc2VyLCBMb2Nh bFNlcnZlciwgUmVtb3RlVXNlciwgUmVtb3RlU2VydmVyKSAtPg0KKyAgICBLZXkgPSB7e0xvY2Fs VXNlcixMb2NhbFNlcnZlcix7UmVtb3RlVXNlcixSZW1vdGVTZXJ2ZXIsW119fSwNCisJICAge0xv Y2FsVXNlcixMb2NhbFNlcnZlcn19LA0KKyAgICBtbmVzaWE6dHJhbnNhY3Rpb24oZnVuKCkgLT4g bW5lc2lhOmRlbGV0ZShyb3N0ZXIsIEtleSwgd3JpdGUpIGVuZCkuDQorDQorcm91dGVfcm9zdGVy aXRlbShMb2NhbFVzZXIsIExvY2FsU2VydmVyLCBSZW1vdGVVc2VyLCBSZW1vdGVTZXJ2ZXIsIE5p Y2ssIEdyb3VwLCBTdWJzY3JpcHRpb24pIC0+DQorICAgIExKSUQgPSBqbGliOm1ha2VfamlkKExv Y2FsVXNlciwgTG9jYWxTZXJ2ZXIsICIiKSwNCisgICAgUkpJRCA9IGpsaWI6bWFrZV9qaWQoUmVt b3RlVXNlciwgUmVtb3RlU2VydmVyLCAiIiksDQorICAgIFRvUyA9IGpsaWI6amlkX3RvX3N0cmlu ZyhMSklEKSwNCisgICAgSXRlbUpJRFMgPSBqbGliOmppZF90b19zdHJpbmcoUkpJRCksDQorICAg IEdyb3VwWE1MID0ge3htbGVsZW1lbnQsICJncm91cCIsIFtdLCBbe3htbGNkYXRhLCBHcm91cH1d fSwNCisgICAgSXRlbSA9IHt4bWxlbGVtZW50LCAiaXRlbSIsIA0KKwkgICAgW3siamlkIiwgSXRl bUpJRFN9LA0KKwkgICAgIHsibmFtZSIsIE5pY2t9LA0KKwkgICAgIHsic3Vic2NyaXB0aW9uIiwg U3Vic2NyaXB0aW9ufV0sIA0KKwkgICAgW0dyb3VwWE1MXX0sDQorICAgIFF1ZXJ5ID0ge3htbGVs ZW1lbnQsICJxdWVyeSIsIFt7InhtbG5zIiwgP05TX1JPU1RFUn1dLCBbSXRlbV19LA0KKyAgICBQ YWNrZXQgPSB7eG1sZWxlbWVudCwgImlxIiwgW3sidHlwZSIsICJzZXQifSwgeyJ0byIsIFRvU31d LCBbUXVlcnldfSwNCisgICAgZWphYmJlcmRfcm91dGVyOnJvdXRlKExKSUQsIExKSUQsIFBhY2tl dCkuDQogDQogcHVzaHJvc3RlcihGaWxlLCBVc2VyLCBTZXJ2ZXIpIC0+DQotCXtvaywgW1Jvc3Rl cl19ID0gZmlsZTpjb25zdWx0KEZpbGUpLA0KLQlzdWJzY3JpYmVfcm9zdGVyKHtVc2VyLCBTZXJ2 ZXIsICIiLCBVc2VyfSwgUm9zdGVyKS4NCisgICAge29rLCBbUm9zdGVyXX0gPSBmaWxlOmNvbnN1 bHQoRmlsZSksDQorICAgIHN1YnNjcmliZV9yb3N0ZXIoe1VzZXIsIFNlcnZlciwgIiIsIFVzZXJ9 LCBSb3N0ZXIpLg0KIA0KIHB1c2hyb3N0ZXJfYWxsKEZpbGUpIC0+DQotCXtvaywgW1Jvc3Rlcl19 ID0gZmlsZTpjb25zdWx0KEZpbGUpLA0KLQlzdWJzY3JpYmVfYWxsKFJvc3RlcikuDQorICAgIHtv aywgW1Jvc3Rlcl19ID0gZmlsZTpjb25zdWx0KEZpbGUpLA0KKyAgICBzdWJzY3JpYmVfYWxsKFJv c3RlcikuDQogDQogc3Vic2NyaWJlX2FsbChSb3N0ZXIpIC0+DQotCXN1YnNjcmliZV9hbGwoUm9z dGVyLCBSb3N0ZXIpLg0KKyAgICBzdWJzY3JpYmVfYWxsKFJvc3RlciwgUm9zdGVyKS4NCiBzdWJz Y3JpYmVfYWxsKFtdLCBfKSAtPg0KLQlvazsNCisgICAgb2s7DQogc3Vic2NyaWJlX2FsbChbVXNl cjEgfCBVc2Vyc10sIFJvc3RlcikgLT4NCi0Jc3Vic2NyaWJlX3Jvc3RlcihVc2VyMSwgUm9zdGVy KSwNCi0Jc3Vic2NyaWJlX2FsbChVc2VycywgUm9zdGVyKS4NCisgICAgc3Vic2NyaWJlX3Jvc3Rl cihVc2VyMSwgUm9zdGVyKSwNCisgICAgc3Vic2NyaWJlX2FsbChVc2VycywgUm9zdGVyKS4NCiAN CiBzdWJzY3JpYmVfcm9zdGVyKF8sIFtdKSAtPg0KLQlvazsNCi0lIERvIG5vdCBzdWJzY3JpYmUg YSB1c2VyIHRvIGl0c2VsZg0KKyAgICBvazsNCislJSBEbyBub3Qgc3Vic2NyaWJlIGEgdXNlciB0 byBpdHNlbGYNCiBzdWJzY3JpYmVfcm9zdGVyKHtOYW1lLCBTZXJ2ZXIsIEdyb3VwLCBOaWNrfSwg W3tOYW1lLCBTZXJ2ZXIsIF8sIF99IHwgUm9zdGVyXSkgLT4NCi0Jc3Vic2NyaWJlX3Jvc3Rlcih7 TmFtZSwgU2VydmVyLCBHcm91cCwgTmlja30sIFJvc3Rlcik7DQotJSBTdWJzY3JpYmUgTmFtZTIg dG8gTmFtZTENCisgICAgc3Vic2NyaWJlX3Jvc3Rlcih7TmFtZSwgU2VydmVyLCBHcm91cCwgTmlj a30sIFJvc3Rlcik7DQorJSUgU3Vic2NyaWJlIE5hbWUyIHRvIE5hbWUxDQogc3Vic2NyaWJlX3Jv c3Rlcih7TmFtZTEsIFNlcnZlcjEsIEdyb3VwMSwgTmljazF9LCBbe05hbWUyLCBTZXJ2ZXIyLCBH cm91cDIsIE5pY2syfSB8IFJvc3Rlcl0pIC0+DQotCXN1YnNjcmliZShOYW1lMSwgU2VydmVyMSwg TmFtZTIsIFNlcnZlcjIsIE5pY2syLCBHcm91cDIsIGJvdGgsIFtdKSwNCi0Jc3Vic2NyaWJlX3Jv c3Rlcih7TmFtZTEsIFNlcnZlcjEsIEdyb3VwMSwgTmljazF9LCBSb3N0ZXIpLg0KKyAgICBzdWJz Y3JpYmUoTmFtZTEsIFNlcnZlcjEsIE5hbWUyLCBTZXJ2ZXIyLCBOaWNrMiwgR3JvdXAyLCBib3Ro LCBbXSksDQorICAgIHN1YnNjcmliZV9yb3N0ZXIoe05hbWUxLCBTZXJ2ZXIxLCBHcm91cDEsIE5p Y2sxfSwgUm9zdGVyKS4NCiANCiBwdXNoX2FsbHRvYWxsKFMsIEcpIC0+DQotCVVzZXJzID0gZWph YmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhTKSwNCi0JVXNlcnMyID0gYnVpbGRf bGlzdF91c2VycyhHLCBVc2VycywgW10pLA0KLQlzdWJzY3JpYmVfYWxsKFVzZXJzMikuDQorICAg IFVzZXJzID0gZWphYmJlcmRfYXV0aDpnZXRfdmhfcmVnaXN0ZXJlZF91c2VycyhTKSwNCisgICAg VXNlcnMyID0gYnVpbGRfbGlzdF91c2VycyhHLCBVc2VycywgW10pLA0KKyAgICBzdWJzY3JpYmVf YWxsKFVzZXJzMikuDQogDQogYnVpbGRfbGlzdF91c2VycyhfR3JvdXAsIFtdLCBSZXMpIC0+DQot CVJlczsNCisgICAgUmVzOw0KIGJ1aWxkX2xpc3RfdXNlcnMoR3JvdXAsIFt7VXNlciwgU2VydmVy fXxVc2Vyc10sIFJlcykgLT4NCi0JYnVpbGRfbGlzdF91c2VycyhHcm91cCwgVXNlcnMsIFt7VXNl ciwgU2VydmVyLCBHcm91cCwgVXNlcn18UmVzXSkuDQotDQotdmNhcmRfZ2V0KFVzZXIsIFNlcnZl ciwgRGF0YVgpIC0+DQotICAgIFt7XywgXywgQTF9XSA9IG1uZXNpYTpkaXJ0eV9yZWFkKHZjYXJk LCB7VXNlciwgU2VydmVyfSksDQotICAgIEVsZW0gPSB2Y2FyZF9nZXQoRGF0YVgsIEExKSwNCi0g ICAge29rLCB4bWw6Z2V0X3RhZ19jZGF0YShFbGVtKX0uDQotDQotdmNhcmRfZ2V0KHtEYXRhMSwg RGF0YTJ9LCBBMSkgLT4NCi0gICAgQTIgPSB4bWw6Z2V0X3N1YnRhZyhBMSwgRGF0YTEpLA0KLSAg ICBBMyA9IHhtbDpnZXRfc3VidGFnKEEyLCBEYXRhMiksDQotICAgIGNhc2UgQTMgb2YNCi0JCSIi IC0+IEEyOw0KLQkJXyAtPiBBMw0KLQllbmQ7DQotDQotdmNhcmRfZ2V0KHtEYXRhfSwgQTEpIC0+ DQotICAgIHhtbDpnZXRfc3VidGFnKEExLCBEYXRhKS4NCisgICAgYnVpbGRfbGlzdF91c2VycyhH cm91cCwgVXNlcnMsIFt7VXNlciwgU2VydmVyLCBHcm91cCwgVXNlcn18UmVzXSkuDQorDQordmNh cmRfZ2V0KFVzZXIsIFNlcnZlciwgRGF0YSkgLT4NCisgICAgW3tfLCBNb2R1bGUsIEZ1bmN0aW9u LCBfT3B0c31dID0gZXRzOmxvb2t1cChzbV9pcXRhYmxlLCB7P05TX1ZDQVJELCBTZXJ2ZXJ9KSwN CisgICAgSklEID0gamxpYjptYWtlX2ppZChVc2VyLCBTZXJ2ZXIsICIiKSwNCisgICAgSVEgPSAj aXF7dHlwZSA9IGdldCwgeG1sbnMgPSA/TlNfVkNBUkR9LA0KKyAgICBJUXIgPSBNb2R1bGU6RnVu Y3Rpb24oSklELCBKSUQsIElRKSwNCisgICAgUmVzID0gY2FzZSBJUXIjaXEuc3ViX2VsIG9mDQor CSAgICAgIFtBMV0gLT4NCisJCSAgY2FzZSB2Y2FyZF9nZXQoRGF0YSwgQTEpIG9mDQorCQkgICAg ICBmYWxzZSAtPiBub192YWx1ZTsNCisJCSAgICAgIEVsZW0gLT4geG1sOmdldF90YWdfY2RhdGEo RWxlbSkNCisJCSAgZW5kOw0KKwkgICAgICBbXSAtPiANCisJCSAgbm9fdmNhcmQNCisJICBlbmQs DQorICAgIHtvaywgUmVzfS4NCisNCit2Y2FyZF9nZXQoW0RhdGExLCBEYXRhMl0sIEExKSAtPg0K KyAgICBjYXNlIHhtbDpnZXRfc3VidGFnKEExLCBEYXRhMSkgb2YNCisgICAgCWZhbHNlIC0+IGZh bHNlOw0KKwlBMiAtPiB2Y2FyZF9nZXQoW0RhdGEyXSwgQTIpDQorICAgIGVuZDsNCiANCi12Y2Fy ZF9zZXQoVXNlciwgU2VydmVyLCBEYXRhMSwgRGF0YTIsIENvbnRlbnQpIC0+DQotCUNvbnRlbnQy ID0ge3htbGVsZW1lbnQsIERhdGEyLCBbXSwgW3t4bWxjZGF0YSxDb250ZW50fV19LA0KLQlSID0g e3htbGVsZW1lbnQsIERhdGExLCBbXSwgW0NvbnRlbnQyXX0sDQotCXZjYXJkX3NldDIoVXNlciwg U2VydmVyLCBSLCBEYXRhMSkuDQordmNhcmRfZ2V0KFtEYXRhXSwgQTEpIC0+DQorICAgIHhtbDpn ZXRfc3VidGFnKEExLCBEYXRhKS4NCiANCiB2Y2FyZF9zZXQoVXNlciwgU2VydmVyLCBEYXRhLCBD b250ZW50KSAtPg0KLQlSID0ge3htbGVsZW1lbnQsIERhdGEsIFtdLCBbe3htbGNkYXRhLENvbnRl bnR9XX0sDQotCXZjYXJkX3NldDIoVXNlciwgU2VydmVyLCBSLCBEYXRhKS4NCi0NCi12Y2FyZF9z ZXQyKFVzZXIsIFNlcnZlciwgUiwgRGF0YSkgLT4NCi0JJSBHZXQgb2xkIHZjYXJkDQotCUE0ID0g Y2FzZSBtbmVzaWE6ZGlydHlfcmVhZCh2Y2FyZCwge1VzZXIsIFNlcnZlcn0pIG9mDQotCQlbXSAt PiANCi0JCQlbUl07DQotCQlbe18sIF8sIEExfV0gLT4NCi0JCQl7XywgXywgXywgQTJ9ID0gQTEs DQotCQkJQTMgPSBsaXN0czprZXlkZWxldGUoRGF0YSwgMiwgQTIpLA0KLQkJCVtSIHwgQTNdDQot CWVuZCwNCi0NCi0JJSBCdWlsZCBuZXcgdmNhcmQNCi0JU3ViRWwgPSB7eG1sZWxlbWVudCwgInZD YXJkIiwgW3sieG1sbnMiLCJ2Y2FyZC10ZW1wIn1dLCBBNH0sDQotCUlRID0gI2lxe3R5cGU9c2V0 LCBzdWJfZWwgPSBTdWJFbH0sDQotCUpJRCA9IGpsaWI6bWFrZV9qaWQoVXNlciwgU2VydmVyLCAi IiksDQotDQotCW1vZF92Y2FyZDpwcm9jZXNzX3NtX2lxKEpJRCwgSklELCBJUSksDQotCXtvaywg ImRvbmUifS4NCi0NCisgICAgW3tfLCBNb2R1bGUsIEZ1bmN0aW9uLCBfT3B0c31dID0gZXRzOmxv b2t1cChzbV9pcXRhYmxlLCB7P05TX1ZDQVJELCBTZXJ2ZXJ9KSwNCisgICAgSklEID0gamxpYjpt YWtlX2ppZChVc2VyLCBTZXJ2ZXIsICIiKSwNCisgICAgSVEgPSAjaXF7dHlwZSA9IGdldCwgeG1s bnMgPSA/TlNfVkNBUkR9LA0KKyAgICBJUXIgPSBNb2R1bGU6RnVuY3Rpb24oSklELCBKSUQsIElR KSwNCisNCisgICAgJSUgR2V0IG9sZCB2Y2FyZA0KKyAgICBBNCA9IGNhc2UgSVFyI2lxLnN1Yl9l bCBvZg0KKwkgICAgIFtBMV0gLT4NCisJCSB7XywgXywgXywgQTJ9ID0gQTEsDQorCQkgdXBkYXRl X3ZjYXJkX2VscyhEYXRhLCBDb250ZW50LCBBMik7DQorCSAgICAgW10gLT4gDQorCQkgdXBkYXRl X3ZjYXJkX2VscyhEYXRhLCBDb250ZW50LCBbXSkNCisJIGVuZCwNCisNCisgICAgJSUgQnVpbGQg bmV3IHZjYXJkDQorICAgIFN1YkVsID0ge3htbGVsZW1lbnQsICJ2Q2FyZCIsIFt7InhtbG5zIiwi dmNhcmQtdGVtcCJ9XSwgQTR9LA0KKyAgICBJUTIgPSAjaXF7dHlwZT1zZXQsIHN1Yl9lbCA9IFN1 YkVsfSwNCisNCisgICAgTW9kdWxlOkZ1bmN0aW9uKEpJRCwgSklELCBJUTIpLA0KKyAgICB7b2ss ICJkb25lIn0uDQorDQordXBkYXRlX3ZjYXJkX2VscyhEYXRhLCBDb250ZW50LCBFbHMxKSAtPg0K KyAgICBFbHMyID0gbGlzdHM6a2V5c29ydCgyLCBFbHMxKSwNCisgICAgW0RhdGExIHwgRGF0YTJd ID0gRGF0YSwNCisgICAgTmV3RWwgPSBjYXNlIERhdGEyIG9mDQorCQlbXSAtPg0KKwkJICAgIHt4 bWxlbGVtZW50LCBEYXRhMSwgW10sIFt7eG1sY2RhdGEsQ29udGVudH1dfTsNCisJCVtEMl0gLT4N CisJCSAgICBPbGRFbCA9IGNhc2UgbGlzdHM6a2V5c2VhcmNoKERhdGExLCAyLCBFbHMyKSBvZg0K KwkJCQl7dmFsdWUsIEF9IC0+IEE7DQorCQkJCWZhbHNlIC0+IHt4bWxlbGVtZW50LCBEYXRhMSwg W10sIFtdfQ0KKwkJCSAgICBlbmQsDQorCQkgICAge3htbGVsZW1lbnQsIF8sIF8sIENvbnRlbnRP bGQxfSA9IE9sZEVsLA0KKwkJICAgIENvbnRlbnQyID0gW3t4bWxlbGVtZW50LCBEMiwgW10sIFt7 eG1sY2RhdGEsQ29udGVudH1dfV0sDQorCQkgICAgQ29udGVudE9sZDIgPSBsaXN0czprZXlzb3J0 KDIsIENvbnRlbnRPbGQxKSwNCisJCSAgICBDb250ZW50T2xkMyA9IGxpc3RzOmtleWRlbGV0ZShE MiwgMiwgQ29udGVudE9sZDIpLA0KKwkJICAgIENvbnRlbnROZXcgPSBsaXN0czprZXltZXJnZSgy LCBDb250ZW50MiwgQ29udGVudE9sZDMpLA0KKwkJICAgIHt4bWxlbGVtZW50LCBEYXRhMSwgW10s IENvbnRlbnROZXd9DQorCSAgICBlbmQsDQorICAgIEVsczMgPSBsaXN0czprZXlkZWxldGUoRGF0 YTEsIDIsIEVsczIpLA0KKyAgICBsaXN0czprZXltZXJnZSgyLCBbTmV3RWxdLCBFbHMzKS4NCiAN CiAtcmVjb3JkKGxhc3RfYWN0aXZpdHksIHt1cywgdGltZXN0YW1wLCBzdGF0dXN9KS4NCiANCiBk ZWxldGVfb2xkZXJfdXNlcnMoRGF5cykgLT4NCi0JJSBDb252ZXJ0IG9sZGVyIHRpbWUNCi0JU2Vj T2xkZXIgPSBEYXlzKjI0KjYwKjYwLA0KKyAgICAlJSBDb252ZXJ0IG9sZGVyIHRpbWUNCisgICAg U2VjT2xkZXIgPSBEYXlzKjI0KjYwKjYwLA0KIA0KLQklIEdldCBjdXJyZW50IHRpbWUNCi0Je01l Z2FTZWNzLCBTZWNzLCBfTWljcm9TZWNzfSA9IG5vdygpLA0KLQlUaW1lU3RhbXBfbm93ID0gTWVn YVNlY3MgKiAxMDAwMDAwICsgU2VjcywNCisgICAgJSUgR2V0IGN1cnJlbnQgdGltZQ0KKyAgICB7 TWVnYVNlY3MsIFNlY3MsIF9NaWNyb1NlY3N9ID0gbm93KCksDQorICAgIFRpbWVTdGFtcF9ub3cg PSBNZWdhU2VjcyAqIDEwMDAwMDAgKyBTZWNzLA0KIA0KLQklIEdldCB0aGUgbGlzdCBvZiByZWdp c3RlcmVkIHVzZXJzDQotCVVzZXJzID0gZWphYmJlcmRfYXV0aDpkaXJ0eV9nZXRfcmVnaXN0ZXJl ZF91c2VycygpLA0KKyAgICAlJSBHZXQgdGhlIGxpc3Qgb2YgcmVnaXN0ZXJlZCB1c2Vycw0KKyAg ICBVc2VycyA9IGVqYWJiZXJkX2F1dGg6ZGlydHlfZ2V0X3JlZ2lzdGVyZWRfdXNlcnMoKSwNCiAN Ci0JJSBGb3IgYSB1c2VyLCByZW1vdmUgaWYgcmVxdWlyZWQgYW5kIGFuc3dlciB0cnVlDQotCUYg PSBmdW4oe0xVc2VyLCBMU2VydmVyfSkgLT4NCi0JCSUgQ2hlY2sgaWYgdGhlIHVzZXIgaXMgbG9n Z2VkDQorICAgICUlIEZvciBhIHVzZXIsIHJlbW92ZSBpZiByZXF1aXJlZCBhbmQgYW5zd2VyIHRy dWUNCisgICAgRiA9IGZ1bih7TFVzZXIsIExTZXJ2ZXJ9KSAtPg0KKwkJJSUgQ2hlY2sgaWYgdGhl IHVzZXIgaXMgbG9nZ2VkDQogCQljYXNlIGVqYWJiZXJkX3NtOmdldF91c2VyX3Jlc291cmNlcyhM VXNlciwgTFNlcnZlcikgb2YNCi0JCQklIElmIGl0IGlzbid0DQotCQkJW10gLT4NCi0JCQkJJSBM b29rIGZvciBoaXMgbGFzdF9hY3Rpdml0eQ0KLQkJCQljYXNlIG1uZXNpYTpkaXJ0eV9yZWFkKGxh c3RfYWN0aXZpdHksIHtMVXNlciwgTFNlcnZlcn0pIG9mDQotCQkJCSUgSWYgaXQgaXMNCi0JCQkJ CSUgZXhpc3RlbnQ6DQotCQkJCQlbI2xhc3RfYWN0aXZpdHl7dGltZXN0YW1wID0gVGltZVN0YW1w fV0gLT4NCi0JCQkJCQklIGdldCBoaXMgYWdlDQotCQkJCQkJU2VjID0gVGltZVN0YW1wX25vdyAt IFRpbWVTdGFtcCwNCi0JCQkJCQklIElmIGhlIGlzDQotCQkJCQkJaWYgDQotCQkJCQkJCSUgeW91 bmdlciB0aGFuIFNlY09sZGVyOiANCi0JCQkJCQkJU2VjIDwgU2VjT2xkZXIgLT4NCi0JCQkJCQkJ CSUgZG8gbm90aGluZw0KLQkJCQkJCQkJZmFsc2U7DQotCQkJCQkJCSUgb2xkZXI6IA0KLQkJCQkJ CQl0cnVlIC0+DQotCQkJCQkJCQklIHJlbW92ZSB0aGUgdXNlcg0KLQkJCQkJCQkJZWphYmJlcmRf YXV0aDpyZW1vdmVfdXNlcihMVXNlciwgTFNlcnZlciksDQotCQkJCQkJCQl0cnVlDQotCQkJCQkJ ZW5kOw0KLQkJCQkJJSBub25leGlzdGVudDoNCi0JCQkJCVtdIC0+DQotCQkJCQkJJSByZW1vdmUg dGhlIHVzZXINCi0JCQkJCQllamFiYmVyZF9hdXRoOnJlbW92ZV91c2VyKExVc2VyLCBMU2VydmVy KSwNCi0JCQkJCQl0cnVlDQorCQkgICAgJSUgSWYgaXQgaXNudA0KKwkJICAgIFtdIC0+DQorCQkJ JSUgTG9vayBmb3IgaGlzIGxhc3RfYWN0aXZpdHkNCisJCQljYXNlIG1uZXNpYTpkaXJ0eV9yZWFk KGxhc3RfYWN0aXZpdHksIHtMVXNlciwgTFNlcnZlcn0pIG9mDQorCQkJICAgICUlIElmIGl0IGlz DQorCQkJICAgICUlIGV4aXN0ZW50Og0KKwkJCSAgICBbI2xhc3RfYWN0aXZpdHl7dGltZXN0YW1w ID0gVGltZVN0YW1wfV0gLT4NCisJCQkJJSUgZ2V0IGhpcyBhZ2UNCisJCQkJU2VjID0gVGltZVN0 YW1wX25vdyAtIFRpbWVTdGFtcCwNCisJCQkJJSUgSWYgaGUgaXMNCisJCQkJaWYgDQorCQkJCSAg ICAlJSB5b3VuZ2VyIHRoYW4gU2VjT2xkZXI6IA0KKwkJCQkgICAgU2VjIDwgU2VjT2xkZXIgLT4N CisJCQkJCSUlIGRvIG5vdGhpbmcNCisJCQkJCWZhbHNlOw0KKwkJCQkgICAgJSUgb2xkZXI6IA0K KwkJCQkgICAgdHJ1ZSAtPg0KKwkJCQkJJSUgcmVtb3ZlIHRoZSB1c2VyDQorCQkJCQllamFiYmVy ZF9hdXRoOnJlbW92ZV91c2VyKExVc2VyLCBMU2VydmVyKSwNCisJCQkJCXRydWUNCiAJCQkJZW5k Ow0KLQkJCSUgRWxzZQ0KLQkJCV8gLT4NCi0JCQkJJSBkbyBub3RoaW5nDQotCQkJCWZhbHNlDQor CQkJICAgICUlIG5vbmV4aXN0ZW50Og0KKwkJCSAgICBbXSAtPg0KKwkJCQklJSByZW1vdmUgdGhl IHVzZXINCisJCQkJZWphYmJlcmRfYXV0aDpyZW1vdmVfdXNlcihMVXNlciwgTFNlcnZlciksDQor CQkJCXRydWUNCisJCQllbmQ7DQorCQkgICAgJSUgRWxzZQ0KKwkJICAgIF8gLT4NCisJCQklJSBk byBub3RoaW5nDQorCQkJZmFsc2UNCiAJCWVuZA0KIAllbmQsDQotCSUgQXBwbHkgdGhlIGZ1bmN0 aW9uIHRvIGV2ZXJ5IHVzZXIgaW4gdGhlIGxpc3QNCi0JVXNlcnNfcmVtb3ZlZCA9IGxpc3RzOmZp bHRlcihGLCBVc2VycyksDQotCXtyZW1vdmVkLCBsZW5ndGgoVXNlcnNfcmVtb3ZlZCksIFVzZXJz X3JlbW92ZWR9Lg0KKyAgICAlJSBBcHBseSB0aGUgZnVuY3Rpb24gdG8gZXZlcnkgdXNlciBpbiB0 aGUgbGlzdA0KKyAgICBVc2Vyc19yZW1vdmVkID0gbGlzdHM6ZmlsdGVyKEYsIFVzZXJzKSwNCisg ICAge3JlbW92ZWQsIGxlbmd0aChVc2Vyc19yZW1vdmVkKSwgVXNlcnNfcmVtb3ZlZH0uDQogDQog bnVtX2FjdGl2ZV91c2VycyhIb3N0LCBEYXlzKSAtPg0KLQlsaXN0X2xhc3RfYWN0aXZpdHkoSG9z dCwgdHJ1ZSwgRGF5cykuDQorICAgIGxpc3RfbGFzdF9hY3Rpdml0eShIb3N0LCB0cnVlLCBEYXlz KS4NCiANCi0lIENvZGUgYmFzZWQgb24gZWphYmJlcmQvc3JjL3dlYi9lamFiYmVyZF93ZWJfYWRt aW4uZXJsDQorJSUgQ29kZSBiYXNlZCBvbiBlamFiYmVyZC9zcmMvd2ViL2VqYWJiZXJkX3dlYl9h ZG1pbi5lcmwNCiBsaXN0X2xhc3RfYWN0aXZpdHkoSG9zdCwgSW50ZWdyYWwsIERheXMpIC0+DQog ICAgIHtNZWdhU2VjcywgU2VjcywgX01pY3JvU2Vjc30gPSBub3coKSwNCiAgICAgVGltZVN0YW1w ID0gTWVnYVNlY3MgKiAxMDAwMDAwICsgU2VjcywNCkBAIC01MzcsMjkgKzU5MCwyOSBAQCBsaXN0 X2xhc3RfYWN0aXZpdHkoSG9zdCwgSW50ZWdyYWwsIERheXMpIC0+CiAJCQkJICBbeyd0cnVuYycs IHsnLycsDQogCQkJCQkgICAgICB7Jy0nLCBUaW1lU3RhbXAsICckMSd9LA0KIAkJCQkJICAgICAg ODY0MDB9fV19XSkgb2YNCi0JeydFWElUJywgX1JlYXNvbn0gLT4NCi0JICAgIFtdOw0KLQlWYWxz IC0+DQotCSAgICBIaXN0ID0gaGlzdG9ncmFtKFZhbHMsIEludGVncmFsKSwNCi0JICAgIGlmDQot CQlIaXN0ID09IFtdIC0+DQotCQkgICAgMDsNCi0JCXRydWUgLT4NCi0JCSAgICBMZWZ0ID0gaWYN Ci0JCQkgICAgICAgRGF5cyA9PSBpbmZpbml0eSAtPg0KLQkJCQkgICAwOw0KLQkJCSAgICAgICB0 cnVlIC0+DQotCQkJCSAgIERheXMgLSBsZW5ndGgoSGlzdCkNCi0JCQkgICBlbmQsDQotCQkgICAg VGFpbCA9IGlmDQotCQkJICAgICAgIEludGVncmFsIC0+DQotCQkJCSAgIGxpc3RzOmR1cGxpY2F0 ZShMZWZ0LCBsaXN0czpsYXN0KEhpc3QpKTsNCi0JCQkgICAgICAgdHJ1ZSAtPg0KLQkJCQkgICBs aXN0czpkdXBsaWNhdGUoTGVmdCwgMCkNCi0JCQkgICBlbmQsDQotCQkgICAgbGlzdHM6bnRoKERh eXMsIEhpc3QgKysgVGFpbCkNCi0JICAgIGVuZA0KLSAgICBlbmQuDQorCQkJCQkJCSAgICAgIHsn RVhJVCcsIF9SZWFzb259IC0+DQorCQkgW107DQorCSAgICAgICBWYWxzIC0+DQorCQkgSGlzdCA9 IGhpc3RvZ3JhbShWYWxzLCBJbnRlZ3JhbCksDQorCQkgaWYNCisJCSAgICAgSGlzdCA9PSBbXSAt Pg0KKwkJCSAwOw0KKwkJICAgICB0cnVlIC0+DQorCQkJIExlZnQgPSBpZg0KKwkJCQkgICAgRGF5 cyA9PSBpbmZpbml0eSAtPg0KKwkJCQkJMDsNCisJCQkJICAgIHRydWUgLT4NCisJCQkJCURheXMg LSBsZW5ndGgoSGlzdCkNCisJCQkJZW5kLA0KKwkJCSBUYWlsID0gaWYNCisJCQkJICAgIEludGVn cmFsIC0+DQorCQkJCQlsaXN0czpkdXBsaWNhdGUoTGVmdCwgbGlzdHM6bGFzdChIaXN0KSk7DQor CQkJCSAgICB0cnVlIC0+DQorCQkJCQlsaXN0czpkdXBsaWNhdGUoTGVmdCwgMCkNCisJCQkJZW5k LA0KKwkJCSBsaXN0czpudGgoRGF5cywgSGlzdCArKyBUYWlsKQ0KKwkJIGVuZA0KKwkgZW5kLg0K IGhpc3RvZ3JhbShWYWx1ZXMsIEludGVncmFsKSAtPg0KICAgICBoaXN0b2dyYW0obGlzdHM6c29y dChWYWx1ZXMpLCBJbnRlZ3JhbCwgMCwgMCwgW10pLg0KIGhpc3RvZ3JhbShbSCB8IFRdLCBJbnRl Z3JhbCwgQ3VycmVudCwgQ291bnQsIEhpc3QpIHdoZW4gQ3VycmVudCA9PSBIIC0+DQpAQCAtNTgx LDI2ICs2MzQsMjYgQEAgaGlzdG9ncmFtKFtdLCBfSW50ZWdyYWwsIF9DdXJyZW50LCBDb3VudCwg SGlzdCkgLT4KIA0KIA0KIGZvcm1hdF9wcmludF9yb29tKEhvc3QxLCBSb29tcyktPg0KLQlsaXN0 czpmb3JlYWNoKA0KLQkJZnVuKHtfLCB7Um9vbW5hbWUsIEhvc3R9LF99KSAtPg0KLQkJCWNhc2Ug SG9zdDEgb2YNCi0JCQkJYWxsIC0+DQotCQkJCQlpbzpmb3JtYXQoIn5zIH5zIH5uIiwgW1Jvb21u YW1lLCBIb3N0XSk7DQotCQkJCUhvc3QgLT4NCi0JCQkJCWlvOmZvcm1hdCgifnMgfnMgfm4iLCBb Um9vbW5hbWUsIEhvc3RdKTsNCi0JCQkJXyAtPg0KLQkJCQkJb2sNCi0JCQllbmQNCi0JCWVuZCwN Ci0JCVJvb21zKS4NCisgICAgbGlzdHM6Zm9yZWFjaCgNCisgICAgICBmdW4oe18sIHtSb29tbmFt ZSwgSG9zdH0sX30pIC0+DQorCSAgICAgIGNhc2UgSG9zdDEgb2YNCisJCSAgYWxsIC0+DQorCQkg ICAgICBpbzpmb3JtYXQoIn5zIH5zIH5uIiwgW1Jvb21uYW1lLCBIb3N0XSk7DQorCQkgIEhvc3Qg LT4NCisJCSAgICAgIGlvOmZvcm1hdCgifnMgfnMgfm4iLCBbUm9vbW5hbWUsIEhvc3RdKTsNCisJ CSAgXyAtPg0KKwkJICAgICAgb2sNCisJICAgICAgZW5kDQorICAgICAgZW5kLA0KKyAgICAgIFJv b21zKS4NCiANCiANCiAlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAlJSBQdXJnZSBN VUMNCiAlJS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiANCi0lIFJlcXVpcmVkIGZvciBt dWNfcHVyZ2UNCi0lIENvcGllZCBmcm9tIG1vZF9tdWMvbW9kX211Y19yb29tLmVybA0KKyUlIFJl cXVpcmVkIGZvciBtdWNfcHVyZ2UNCislJSBDb3BpZWQgZnJvbSBtb2RfbXVjL21vZF9tdWNfcm9v bS5lcmwNCiAtZGVmaW5lKERJQ1QsIGRpY3QpLg0KIC1yZWNvcmQobXVjX29ubGluZV9yb29tLCB7 bmFtZV9ob3N0LCBwaWR9KS4NCiAtcmVjb3JkKGxxdWV1ZSwge3F1ZXVlLCBsZW4sIG1heH0pLg0K QEAgLTYzNCwxMDMgKzY4NywxMDYgQEAgZm9ybWF0X3ByaW50X3Jvb20oSG9zdDEsIFJvb21zKS0+ CiAJCWp1c3RfY3JlYXRlZCA9IGZhbHNlfSkuDQogDQogbXVjX3B1cmdlKERheXMpIC0+DQotCVNl cnZlckhvc3QgPSBnbG9iYWwsDQotCUhvc3QgPSBnbG9iYWwsDQotCW11Y19wdXJnZTIoU2VydmVy SG9zdCwgSG9zdCwgRGF5cykuDQorICAgIFNlcnZlckhvc3QgPSBnbG9iYWwsDQorICAgIEhvc3Qg PSBnbG9iYWwsDQorICAgIG11Y19wdXJnZTIoU2VydmVySG9zdCwgSG9zdCwgRGF5cykuDQogDQog bXVjX3B1cmdlKFNlcnZlckhvc3QsIERheXMpIC0+DQotCUhvc3QgPSBmaW5kX2hvc3QoU2VydmVy SG9zdCksDQotCW11Y19wdXJnZTIoU2VydmVySG9zdCwgSG9zdCwgRGF5cykuDQorICAgIEhvc3Qg PSBmaW5kX2hvc3QoU2VydmVySG9zdCksDQorICAgIG11Y19wdXJnZTIoU2VydmVySG9zdCwgSG9z dCwgRGF5cykuDQogDQogbXVjX3B1cmdlMihTZXJ2ZXJIb3N0LCBIb3N0LCBMYXN0X2FsbG93ZWQp IC0+DQotCVJvb21fbmFtZXMgPSBnZXRfcm9vbV9uYW1lcyhIb3N0KSwNCisgICAgUm9vbV9uYW1l cyA9IGdldF9yb29tX25hbWVzKEhvc3QpLA0KIA0KLQlEZWNpZGUgPSBmdW4oTikgLT4gZGVjaWRl KE4sIExhc3RfYWxsb3dlZCkgZW5kLA0KLQlSb29tc190b19kZWxldGUgPSBsaXN0czpmaWx0ZXIo RGVjaWRlLCBSb29tX25hbWVzKSwNCisgICAgRGVjaWRlID0gZnVuKE4pIC0+IGRlY2lkZShOLCBM YXN0X2FsbG93ZWQpIGVuZCwNCisgICAgUm9vbXNfdG9fZGVsZXRlID0gbGlzdHM6ZmlsdGVyKERl Y2lkZSwgUm9vbV9uYW1lcyksDQogDQotCU51bV9yb29tcyA9IGxlbmd0aChSb29tX25hbWVzKSwN Ci0JTnVtX3Jvb21zX3RvX2RlbGV0ZSA9IGxlbmd0aChSb29tc190b19kZWxldGUpLA0KKyAgICBO dW1fcm9vbXMgPSBsZW5ndGgoUm9vbV9uYW1lcyksDQorICAgIE51bV9yb29tc190b19kZWxldGUg PSBsZW5ndGgoUm9vbXNfdG9fZGVsZXRlKSwNCiANCi0JUm9vbXNfdG9fZGVsZXRlX2Z1bGwgPSBm aWxsX3NlcnZlcmhvc3QoUm9vbXNfdG9fZGVsZXRlLCBTZXJ2ZXJIb3N0KSwNCisgICAgUm9vbXNf dG9fZGVsZXRlX2Z1bGwgPSBmaWxsX3NlcnZlcmhvc3QoUm9vbXNfdG9fZGVsZXRlLCBTZXJ2ZXJI b3N0KSwNCiANCi0JRGVsZXRlID0gZnVuKHtOLCBILCBTSH0pIC0+IA0KLQkJbW9kX211Yzpyb29t X2Rlc3Ryb3llZChILCBOLCBTSCksDQotCQltb2RfbXVjOmZvcmdldF9yb29tKEgsIE4pDQotCWVu ZCwNCi0JbGlzdHM6Zm9yZWFjaChEZWxldGUsIFJvb21zX3RvX2RlbGV0ZV9mdWxsKSwNCi0Je3B1 cmdlZCwgTnVtX3Jvb21zLCBOdW1fcm9vbXNfdG9fZGVsZXRlLCBSb29tc190b19kZWxldGV9Lg0K KyAgICBEZWxldGUgPSBmdW4oe04sIEgsIFNIfSkgLT4gDQorCQkgICAgIG1vZF9tdWM6cm9vbV9k ZXN0cm95ZWQoSCwgTiwgU0gpLA0KKwkJICAgICBtb2RfbXVjOmZvcmdldF9yb29tKEgsIE4pDQor CSAgICAgZW5kLA0KKyAgICBsaXN0czpmb3JlYWNoKERlbGV0ZSwgUm9vbXNfdG9fZGVsZXRlX2Z1 bGwpLA0KKyAgICB7cHVyZ2VkLCBOdW1fcm9vbXMsIE51bV9yb29tc190b19kZWxldGUsIFJvb21z X3RvX2RlbGV0ZX0uDQogDQogZmlsbF9zZXJ2ZXJob3N0KFJvb21zX3RvX2RlbGV0ZSwgZ2xvYmFs KSAtPg0KLQlTZXJ2ZXJIb3N0czEgPSA/TVlIT1NUUywNCi0JU2VydmVySG9zdHMyID0gWyB7U2Vy dmVySG9zdCwgZmluZF9ob3N0KFNlcnZlckhvc3QpfSB8fCBTZXJ2ZXJIb3N0IDwtIFNlcnZlckhv c3RzMV0sDQotCVsge05hbWUsIEhvc3QsIGZpbmRfc2VydmVyaG9zdChIb3N0LCBTZXJ2ZXJIb3N0 czIpfSB8fCB7TmFtZSwgSG9zdH0gPC0gUm9vbXNfdG9fZGVsZXRlXTsNCisgICAgU2VydmVySG9z dHMxID0gP01ZSE9TVFMsDQorICAgIFNlcnZlckhvc3RzMiA9IFsge1NlcnZlckhvc3QsIGZpbmRf aG9zdChTZXJ2ZXJIb3N0KX0gfHwgU2VydmVySG9zdCA8LSBTZXJ2ZXJIb3N0czFdLA0KKyAgICBb IHtOYW1lLCBIb3N0LCBmaW5kX3NlcnZlcmhvc3QoSG9zdCwgU2VydmVySG9zdHMyKX0gfHwge05h bWUsIEhvc3R9IDwtIFJvb21zX3RvX2RlbGV0ZV07DQogZmlsbF9zZXJ2ZXJob3N0KFJvb21zX3Rv X2RlbGV0ZSwgU2VydmVySG9zdCkgLT4NCi0JWyB7TmFtZSwgSG9zdCwgU2VydmVySG9zdH18fCB7 TmFtZSwgSG9zdH0gPC0gUm9vbXNfdG9fZGVsZXRlXS4NCisgICAgWyB7TmFtZSwgSG9zdCwgU2Vy dmVySG9zdH18fCB7TmFtZSwgSG9zdH0gPC0gUm9vbXNfdG9fZGVsZXRlXS4NCiANCiBmaW5kX3Nl cnZlcmhvc3QoSG9zdCwgU2VydmVySG9zdHMpIC0+DQotCXt2YWx1ZSwge1NlcnZlckhvc3QsIEhv c3R9fSA9IGxpc3RzOmtleXNlYXJjaChIb3N0LCAyLCBTZXJ2ZXJIb3N0cyksDQotCVNlcnZlckhv c3QuDQorICAgIHt2YWx1ZSwge1NlcnZlckhvc3QsIEhvc3R9fSA9IGxpc3RzOmtleXNlYXJjaChI b3N0LCAyLCBTZXJ2ZXJIb3N0cyksDQorICAgIFNlcnZlckhvc3QuDQogDQogZmluZF9ob3N0KFNl cnZlckhvc3QpIC0+DQotCWdlbl9tb2Q6Z2V0X21vZHVsZV9vcHQoU2VydmVySG9zdCwgbW9kX211 YywgaG9zdCwgImNvbmZlcmVuY2UuIiArKyBTZXJ2ZXJIb3N0KS4NCisgICAgZ2VuX21vZDpnZXRf bW9kdWxlX29wdChTZXJ2ZXJIb3N0LCBtb2RfbXVjLCBob3N0LCAiY29uZmVyZW5jZS4iICsrIFNl cnZlckhvc3QpLg0KIA0KIGRlY2lkZSh7Um9vbV9uYW1lLCBIb3N0fSwgTGFzdF9hbGxvd2VkKSAt Pg0KLQlSb29tX3BpZCA9IGdldF9yb29tX3BpZChSb29tX25hbWUsIEhvc3QpLA0KLQ0KLQlDID0g Z2V0X3Jvb21fY29uZmlnKFJvb21fcGlkKSwNCi0JUGVyc2lzdGVudCA9IEMjY29uZmlnLnBlcnNp c3RlbnQsDQotDQotCVMgPSBnZXRfcm9vbV9zdGF0ZShSb29tX3BpZCksDQotCUp1c3RfY3JlYXRl ZCA9IFMjc3RhdGUuanVzdF9jcmVhdGVkLA0KLQ0KLQlSb29tX3VzZXJzID0gUyNzdGF0ZS51c2Vy cywNCi0JTnVtX3VzZXJzID0gbGVuZ3RoKD9ESUNUOnRvX2xpc3QoUm9vbV91c2VycykpLA0KLQ0K LQlIaXN0b3J5ID0gKFMjc3RhdGUuaGlzdG9yeSkjbHF1ZXVlLnF1ZXVlLA0KLQlUc19ub3cgPSBj YWxlbmRhcjpub3dfdG9fdW5pdmVyc2FsX3RpbWUobm93KCkpLA0KLQlUc191cHRpbWUgPSBlbGVt ZW50KDEsIGVybGFuZzpzdGF0aXN0aWNzKHdhbGxfY2xvY2spKS8xMDAwLA0KLQl7SGF2ZV9oaXN0 b3J5LCBMYXN0fSA9IGNhc2UgcXVldWU6aXNfZW1wdHkoSGlzdG9yeSkgb2YNCi0JCXRydWUgLT4N Ci0JCQl7ZmFsc2UsIFRzX3VwdGltZX07DQotCQlmYWxzZSAtPg0KLQkJCUxhc3RfbWVzc2FnZSA9 IHF1ZXVlOmxhc3QoSGlzdG9yeSksDQotCQkJe18sIF8sIF8sIFRzX2xhc3QsIF99ID0gTGFzdF9t ZXNzYWdlLA0KLQkJCVRzX2RpZmYgPQ0KLQkJCQljYWxlbmRhcjpkYXRldGltZV90b19ncmVnb3Jp YW5fc2Vjb25kcyhUc19ub3cpDQotCQkJCS0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFu X3NlY29uZHMoVHNfbGFzdCksDQotCQkJe3RydWUsIFRzX2RpZmZ9DQotCWVuZCwNCisgICAgUm9v bV9waWQgPSBnZXRfcm9vbV9waWQoUm9vbV9uYW1lLCBIb3N0KSwNCiANCi0JY2FzZSB7UGVyc2lz dGVudCwgSnVzdF9jcmVhdGVkLCBOdW1fdXNlcnMsIEhhdmVfaGlzdG9yeSwgc2Vjb25kc190b19k YXlzKExhc3QpfSBvZg0KLQkJe3RydWUsIGZhbHNlLCAwLCBfLCBMYXN0X2RheXN9IA0KLQkJd2hl biBMYXN0X2RheXMgPiBMYXN0X2FsbG93ZWQgLT4gDQotCQkJdHJ1ZTsNCi0JCV8gLT4NCi0JCQlm YWxzZQ0KLQllbmQuDQorICAgIEMgPSBnZXRfcm9vbV9jb25maWcoUm9vbV9waWQpLA0KKyAgICBQ ZXJzaXN0ZW50ID0gQyNjb25maWcucGVyc2lzdGVudCwNCisNCisgICAgUyA9IGdldF9yb29tX3N0 YXRlKFJvb21fcGlkKSwNCisgICAgSnVzdF9jcmVhdGVkID0gUyNzdGF0ZS5qdXN0X2NyZWF0ZWQs DQorDQorICAgIFJvb21fdXNlcnMgPSBTI3N0YXRlLnVzZXJzLA0KKyAgICBOdW1fdXNlcnMgPSBs ZW5ndGgoP0RJQ1Q6dG9fbGlzdChSb29tX3VzZXJzKSksDQorDQorICAgIEhpc3RvcnkgPSAoUyNz dGF0ZS5oaXN0b3J5KSNscXVldWUucXVldWUsDQorICAgIFRzX25vdyA9IGNhbGVuZGFyOm5vd190 b191bml2ZXJzYWxfdGltZShub3coKSksDQorICAgIFRzX3VwdGltZSA9IGVsZW1lbnQoMSwgZXJs YW5nOnN0YXRpc3RpY3Mod2FsbF9jbG9jaykpLzEwMDAsDQorICAgIHtIYXZlX2hpc3RvcnksIExh c3R9ID0gY2FzZSBxdWV1ZTppc19lbXB0eShIaXN0b3J5KSBvZg0KKwkJCSAgICAgICB0cnVlIC0+ DQorCQkJCSAgIHtmYWxzZSwgVHNfdXB0aW1lfTsNCisJCQkgICAgICAgZmFsc2UgLT4NCisJCQkJ ICAgTGFzdF9tZXNzYWdlID0gcXVldWU6bGFzdChIaXN0b3J5KSwNCisJCQkJICAge18sIF8sIF8s IFRzX2xhc3QsIF99ID0gTGFzdF9tZXNzYWdlLA0KKwkJCQkgICBUc19kaWZmID0NCisJCQkJICAg ICAgIGNhbGVuZGFyOmRhdGV0aW1lX3RvX2dyZWdvcmlhbl9zZWNvbmRzKFRzX25vdykNCisJCQkJ ICAgICAgIC0gY2FsZW5kYXI6ZGF0ZXRpbWVfdG9fZ3JlZ29yaWFuX3NlY29uZHMoVHNfbGFzdCks DQorCQkJCSAgIHt0cnVlLCBUc19kaWZmfQ0KKwkJCSAgIGVuZCwNCisNCisgICAgY2FzZSB7UGVy c2lzdGVudCwgSnVzdF9jcmVhdGVkLCBOdW1fdXNlcnMsIEhhdmVfaGlzdG9yeSwgc2Vjb25kc190 b19kYXlzKExhc3QpfSBvZg0KKwl7dHJ1ZSwgZmFsc2UsIDAsIF8sIExhc3RfZGF5c30gDQorCXdo ZW4gTGFzdF9kYXlzID4gTGFzdF9hbGxvd2VkIC0+IA0KKwkgICAgdHJ1ZTsNCisJXyAtPg0KKwkg ICAgZmFsc2UNCisgICAgZW5kLg0KIA0KIHNlY29uZHNfdG9fZGF5cyhTKSAtPg0KLQlyb3VuZChT KSBkaXYgNjAqNjAqMjQuDQorICAgIHJvdW5kKFMpIGRpdiA2MCo2MCoyNC4NCisNCit1cHRpbWVf c2Vjb25kcygpIC0+DQorICAgIHRydW5jKGVsZW1lbnQoMSwgZXJsYW5nOnN0YXRpc3RpY3Mod2Fs bF9jbG9jaykpLzEwMDApLg0KIA0KIGdldF9yb29tX25hbWVzKEhvc3QpIC0+DQotCUdldF9yb29t X25hbWVzID0gZnVuKFJvb21fcmVnLCBOYW1lcykgLT4NCi0JCWNhc2Uge0hvc3QsIFJvb21fcmVn I211Y19vbmxpbmVfcm9vbS5uYW1lX2hvc3R9IG9mDQotCQkJe0hvc3QsIHtOYW1lMSwgSG9zdH19 IC0+IA0KLQkJCQlbe05hbWUxLCBIb3N0fSB8IE5hbWVzXTsNCi0JCQl7Z2xvYmFsLCB7TmFtZTEs IEhvc3QxfX0gLT4gDQotCQkJCVt7TmFtZTEsIEhvc3QxfSB8IE5hbWVzXTsNCi0JCQlfIC0+DQot CQkJCU5hbWVzDQotCQllbmQNCi0JZW5kLA0KLQlldHM6Zm9sZHIoR2V0X3Jvb21fbmFtZXMsIFtd LCBtdWNfb25saW5lX3Jvb20pLg0KKyAgICBHZXRfcm9vbV9uYW1lcyA9IGZ1bihSb29tX3JlZywg TmFtZXMpIC0+DQorCQkJICAgICBjYXNlIHtIb3N0LCBSb29tX3JlZyNtdWNfb25saW5lX3Jvb20u bmFtZV9ob3N0fSBvZg0KKwkJCQkge0hvc3QsIHtOYW1lMSwgSG9zdH19IC0+IA0KKwkJCQkgICAg IFt7TmFtZTEsIEhvc3R9IHwgTmFtZXNdOw0KKwkJCQkge2dsb2JhbCwge05hbWUxLCBIb3N0MX19 IC0+IA0KKwkJCQkgICAgIFt7TmFtZTEsIEhvc3QxfSB8IE5hbWVzXTsNCisJCQkJIF8gLT4NCisJ CQkJICAgICBOYW1lcw0KKwkJCSAgICAgZW5kDQorCQkgICAgIGVuZCwNCisgICAgZXRzOmZvbGRy KEdldF9yb29tX25hbWVzLCBbXSwgbXVjX29ubGluZV9yb29tKS4NCiANCiBnZXRfcm9vbV9waWQo TmFtZSwgSG9zdCkgLT4NCi0JW1Jvb21fZXRzXSA9IGV0czpsb29rdXAobXVjX29ubGluZV9yb29t LCB7TmFtZSwgSG9zdH0pLA0KLQlSb29tX2V0cyNtdWNfb25saW5lX3Jvb20ucGlkLg0KKyAgICBb Um9vbV9ldHNdID0gZXRzOmxvb2t1cChtdWNfb25saW5lX3Jvb20sIHtOYW1lLCBIb3N0fSksDQor ICAgIFJvb21fZXRzI211Y19vbmxpbmVfcm9vbS5waWQuDQogDQogZ2V0X3Jvb21fY29uZmlnKFJv b21fcGlkKSAtPg0KLQlnZW5fZnNtOnN5bmNfc2VuZF9hbGxfc3RhdGVfZXZlbnQoUm9vbV9waWQs IGdldF9jb25maWcpLg0KKyAgICBnZW5fZnNtOnN5bmNfc2VuZF9hbGxfc3RhdGVfZXZlbnQoUm9v bV9waWQsIGdldF9jb25maWcpLg0KIA0KIGdldF9yb29tX3N0YXRlKFJvb21fcGlkKSAtPg0KLQln ZW5fZnNtOnN5bmNfc2VuZF9hbGxfc3RhdGVfZXZlbnQoUm9vbV9waWQsIGdldF9zdGF0ZSkuDQor ICAgIGdlbl9mc206c3luY19zZW5kX2FsbF9zdGF0ZV9ldmVudChSb29tX3BpZCwgZ2V0X3N0YXRl KS4NCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYWRjZmZhOS4uNDQ4YWMz MyAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1iZGIzOTk2 NWExNDc1MDZmYzE5NGQ1YTI4MTE3MTcyYSAgZWphYmJlcmQtMS4xLjMudGFyLmd6Cis2NWU5Y2Qz NDZmMTFhMjhhZmJhY2ZlMWQ3YmUzYTMzYiAgZWphYmJlcmQtMS4xLjQudGFyLmd6Cg==