From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (qmail 19287 invoked from network); 28 Apr 2021 04:13:33 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 28 Apr 2021 04:13:33 -0000 Content-Type: multipart/mixed; boundary="===============1135202707139748284==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_budgie-desktop=3A_update_to_10=2E5=2E3?= To: ml@inbox.vuxu.org From: not-chicken Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 28 Apr 2021 06:13:33 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============1135202707139748284== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IG5vdC1jaGlja2VuIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9ub3Qt Y2hpY2tlbi92b2lkLXBhY2thZ2VzIGJ1ZGdpZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMzA1NTQKCmJ1ZGdpZS1kZXNrdG9wOiB1cGRhdGUgdG8gMTAu NS4zCjwhLS0gTWFyayBpdGVtcyB3aXRoIFt4XSB3aGVyZSBhcHBsaWNhYmxlIC0tPg0KTm93IGBi dWRnaWUtc2NyZWVuc2F2ZXJgIGlzIGEgcmVxdWlyZWQgZGVwZW5kZW5jeS4NCiMjIyMgR2VuZXJh bA0KLSBbIF0gVGhpcyBpcyBhIG5ldyBwYWNrYWdlIGFuZCBpdCBjb25mb3JtcyB0byB0aGUgW3F1 YWxpdHkgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL2Jsb2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cykNCg0KIyMj IyBIYXZlIHRoZSByZXN1bHRzIG9mIHRoZSBwcm9wb3NlZCBjaGFuZ2VzIGJlZW4gdGVzdGVkPw0K LSBbeF0gSSB1c2UgdGhlIHBhY2thZ2VzIGFmZmVjdGVkIGJ5IHRoZSBwcm9wb3NlZCBjaGFuZ2Vz IG9uIGEgcmVndWxhciBiYXNpcyBhbmQgY29uZmlybSB0aGlzIFBSIHdvcmtzIGZvciBtZQ0KLSBb IF0gSSBnZW5lcmFsbHkgZG9uJ3QgdXNlIHRoZSBhZmZlY3RlZCBwYWNrYWdlcyBidXQgYnJpZWZs eSB0ZXN0ZWQgdGhpcyBQUg0KDQo8IS0tDQpJZiBHaXRIdWIgQ0kgY2Fubm90IGJlIHVzZWQgdG8g dmFsaWRhdGUgdGhlIGJ1aWxkIHJlc3VsdCAoZm9yIGV4YW1wbGUsIGlmIHRoZQ0KYnVpbGQgaXMg bGlrZWx5IHRvIHRha2Ugc2V2ZXJhbCBob3VycyksIG1ha2Ugc3VyZSB0bw0KW3NraXAgQ0ldKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24pLg0KV2hlbiBza2lwcGluZyBDSSwg dW5jb21tZW50IGFuZCBmaWxsIG91dCB0aGUgZm9sbG93aW5nIHNlY3Rpb24uDQpOb3RlOiBmb3Ig YnVpbGRzIHRoYXQgYXJlIGxpa2VseSB0byBjb21wbGV0ZSBpbiBsZXNzIHRoYW4gMiBob3Vycywg aXQgaXMgbm90DQphY2NlcHRhYmxlIHRvIHNraXAgQ0kuDQotLT4NCjwhLS0gDQojIyMjIERvZXMg aXQgYnVpbGQgYW5kIHJ1biBzdWNjZXNzZnVsbHk/IA0KKFBsZWFzZSBjaG9vc2UgYXQgbGVhc3Qg b25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1 aWxkLiBNb3JlIGFyZSBiZXR0ZXIuKQ0KLSBbIF0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9y IG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIFsgXSBJIGJ1aWx0IHRoaXMg UFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNy b3NzYnVpbGRzKToNCiAgLSBbIF0gYWFyY2g2NC1tdXNsDQogIC0gWyBdIGFybXY3bA0KICAtIFsg XSBhcm12NmwtbXVzbA0KLS0+DQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMDU1NC5wYXRjaCBpcyBhdHRhY2hlZA== --===============1135202707139748284== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-budgie-30554.patch" RnJvbSBhMzNjNGQ2YmI5OWUyNzZlM2E4YzRiZjVmNDE3ZjE5OTZiNGZkMWM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMb3JlbSA8bm90bG9yZW1pcHN1bUBwcm90b25tYWlsLmNvbT4K RGF0ZTogV2VkLCAyOCBBcHIgMjAyMSAwODoyMjozOCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMS8y XSBOZXcgcGFja2FnZTogYnVkZ2llLXNjcmVlbnNhdmVyLTQuMAoKLS0tCiBzcmNwa2dzL2J1ZGdp ZS1zY3JlZW5zYXZlci90ZW1wbGF0ZSB8IDE0ICsrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYnVkZ2llLXNj cmVlbnNhdmVyL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9idWRnaWUtc2NyZWVuc2F2 ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2J1ZGdpZS1zY3JlZW5zYXZlci90ZW1wbGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjhmNDU0YjU4M2Q4YgotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvYnVkZ2llLXNjcmVlbnNhdmVyL3RlbXBsYXRlCkBAIC0wLDAgKzEs MTQgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2J1ZGdpZS1zY3JlZW5zYXZlcicKK3BrZ25hbWU9 YnVkZ2llLXNjcmVlbnNhdmVyCit2ZXJzaW9uPTQuMAorcmV2aXNpb249MQord3Jrc3JjPWJ1ZGdp ZS1zY3JlZW5zYXZlci12JHt2ZXJzaW9ufQorYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQoraG9z dG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIgorbWFrZWRlcGVuZHM9Imdub21lLWRl c2t0b3AtZGV2ZWwgZGJ1cy1nbGliLWRldmVsIHBhbS1kZXZlbCIKK3Nob3J0X2Rlc2M9IkZvcmsg b2YgR05PTUUgU2NyZWVuc2F2ZXIgZm9yIEJ1ZGdpZSAxMCIKK21haW50YWluZXI9IkxvcmVtIDxu b3Rsb3JlbWlwc3VtQHByb3Rvbm1haWwuY29tPiIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSIKK2hv bWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vZ2V0c29sdXMvYnVkZ2llLXNjcmVlbnNhdmVyIgor ZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vZ2V0c29sdXMvYnVkZ2llLXNjcmVlbnNhdmVy L3JlbGVhc2VzL2Rvd25sb2FkL3Yke3ZlcnNpb259L2J1ZGdpZS1zY3JlZW5zYXZlci12JHt2ZXJz aW9ufS50YXIueHoiCitjaGVja3N1bT1kZGU4M2YzNTVlNTQ5YjVmNjI5MDY1NWYzM2FjZDkxMGQy ZmViYmI4ZmQ5NzRmOTIyYjE0ODE0MDU0ZjgwZjQ5CgpGcm9tIGNkZTZmOGQ4ZDFlMTJiOWRhZmFk YWViMjNmYmVjMTFlNjQzYTkxNjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExvcmVt IDxub3Rsb3JlbWlwc3VtQHByb3Rvbm1haWwuY29tPgpEYXRlOiBXZWQsIDI4IEFwciAyMDIxIDA5 OjI5OjI3ICswNTMwClN1YmplY3Q6IFtQQVRDSCAyLzJdIGJ1ZGdpZS1kZXNrdG9wOiB1cGRhdGUg dG8gMTAuNS4zLgoKIE5vdyBkZXBlbmRzIG9uIGJ1ZGdpZS1zY3JlZW5zYXZlcgotLS0KIC4uLi9m aXgtYnVkZ2llLWRlc2t0b3Atc2V0dGluZ3MtY3Jhc2gucGF0Y2ggICB8ICAgIDY1IC0KIHNyY3Br Z3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9tdXR0ZXItOC5wYXRjaCB8IDEyNTkzIC0tLS0tLS0t LS0tLS0tLS0KIHNyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvdGVtcGxhdGUgICAgICAgICAgICAgICB8 ICAgIDExICstCiAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTI2NjMgZGVsZXRp b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9idWRnaWUtZGVza3RvcC9wYXRjaGVz L2ZpeC1idWRnaWUtZGVza3RvcC1zZXR0aW5ncy1jcmFzaC5wYXRjaAogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9tdXR0ZXItOC5wYXRjaAoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9maXgtYnVkZ2llLWRlc2t0b3At c2V0dGluZ3MtY3Jhc2gucGF0Y2ggYi9zcmNwa2dzL2J1ZGdpZS1kZXNrdG9wL3BhdGNoZXMvZml4 LWJ1ZGdpZS1kZXNrdG9wLXNldHRpbmdzLWNyYXNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA4NGZiY2U2NjE2ZTAuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2J1ZGdp ZS1kZXNrdG9wL3BhdGNoZXMvZml4LWJ1ZGdpZS1kZXNrdG9wLXNldHRpbmdzLWNyYXNoLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotRnJvbTogSm9zaHVhIFN0cm9ibCA8am9z aHVhQHN0cmVhbWJpdHMuaW8+Ci1EYXRlOiBNb24sIDEyIEFwciAyMDIxIDA2OjE0OjA0ICswMzAw Ci1TdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQgbW92ZWQgZm9udCBhbnRpLWFsaWFzaW5nIGFuZCBo aW50aW5nIGluIEdTRCA0MC4gRml4ZXMKLSAjMjEyMS4KLQotLS0tCi0gc3JjL3BhbmVsL21lc29u LmJ1aWxkICAgICAgICAgICAgICAgICAgfCAgNCArKysrCi0gc3JjL3BhbmVsL3NldHRpbmdzL3Nl dHRpbmdzX2ZvbnRzLnZhbGEgfCAxMSArKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IHNyYy9wYW5lbC9tZXNv bi5idWlsZCBzcmMvcGFuZWwvbWVzb24uYnVpbGQKLWluZGV4IGVlNjEwODY4Li41NDUxYzI3OCAx MDA2NDQKLS0tLSBzcmMvcGFuZWwvbWVzb24uYnVpbGQKLSsrKyBzcmMvcGFuZWwvbWVzb24uYnVp bGQKLUBAIC03Miw2ICs3MiwxMCBAQCBidWRnaWVfcGFuZWxfdmFsYV9hcmdzID0gWwotICAgICAg ICAgJy0tZ3Jlc291cmNlcz0nICsgZ3Jlc291cmNlLAotIF0KLSAKLStpZiBkZXBfZ3NkLnZlcnNp b24oKS52ZXJzaW9uX2NvbXBhcmUoJz49NDAuMCcpCi0rICAgIGJ1ZGdpZV9wYW5lbF92YWxhX2Fy Z3MgKz0gWyctRCcsICdIQVZFX0dTRF80MCddCi0rZW5kaWYKLSsKLSBidWRnaWVfcGFuZWxfY19h cmdzID0gWwotICAgICAnLURXTkNLX0lfS05PV19USElTX0lTX1VOU1RBQkxFJwotIF0KLWRpZmYg LS1naXQgc3JjL3BhbmVsL3NldHRpbmdzL3NldHRpbmdzX2ZvbnRzLnZhbGEgc3JjL3BhbmVsL3Nl dHRpbmdzL3NldHRpbmdzX2ZvbnRzLnZhbGEKLWluZGV4IGZjMTc2MjJmLi5mNzUwYjkyNiAxMDA2 NDQKLS0tLSBzcmMvcGFuZWwvc2V0dGluZ3Mvc2V0dGluZ3NfZm9udHMudmFsYQotKysrIHNyYy9w YW5lbC9zZXR0aW5ncy9zZXR0aW5nc19mb250cy52YWxhCi1AQCAtMjQsNyArMjQsMTAgQEAgbmFt ZXNwYWNlIEJ1ZGdpZSB7Ci0gCi0gCQlwcml2YXRlIFNldHRpbmdzIHVpX3NldHRpbmdzOwotIAkJ cHJpdmF0ZSBTZXR0aW5ncyB3bV9zZXR0aW5nczsKLSsKLSsjaWYgIUhBVkVfR1NEXzQwCi0gCQlw cml2YXRlIFNldHRpbmdzIHhfc2V0dGluZ3M7Ci0rI2VuZGlmCi0gCi0gCQlwdWJsaWMgRm9udFBh Z2UoKSB7Ci0gCQkJT2JqZWN0KGdyb3VwOiBTRVRUSU5HU19HUk9VUF9BUFBFQVJBTkNFLAotQEAg LTEzNSwxNCArMTM4LDIwIEBAIG5hbWVzcGFjZSBCdWRnaWUgewotIAkJCS8qIEhvb2sgdXAgc2V0 dGluZ3MgKi8KLSAJCQl1aV9zZXR0aW5ncyA9IG5ldyBTZXR0aW5ncygib3JnLmdub21lLmRlc2t0 b3AuaW50ZXJmYWNlIik7Ci0gCQkJd21fc2V0dGluZ3MgPSBuZXcgU2V0dGluZ3MoIm9yZy5nbm9t ZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzIik7Ci0tCQkJeF9zZXR0aW5ncyA9IG5ldyBTZXR0aW5n cygib3JnLmdub21lLnNldHRpbmdzLWRhZW1vbi5wbHVnaW5zLnhzZXR0aW5ncyIpOwotIAkJCXVp X3NldHRpbmdzLmJpbmQoImRvY3VtZW50LWZvbnQtbmFtZSIsIGZvbnRidXR0b25fZG9jdW1lbnQs ICJmb250LW5hbWUiLCBTZXR0aW5nc0JpbmRGbGFncy5ERUZBVUxUKTsKLSAJCQl1aV9zZXR0aW5n cy5iaW5kKCJmb250LW5hbWUiLCBmb250YnV0dG9uX2ludGVyZmFjZSwgImZvbnQtbmFtZSIsIFNl dHRpbmdzQmluZEZsYWdzLkRFRkFVTFQpOwotIAkJCXVpX3NldHRpbmdzLmJpbmQoIm1vbm9zcGFj ZS1mb250LW5hbWUiLCBmb250YnV0dG9uX21vbm9zcGFjZSwgImZvbnQtbmFtZSIsIFNldHRpbmdz QmluZEZsYWdzLkRFRkFVTFQpOwotIAkJCXdtX3NldHRpbmdzLmJpbmQoInRpdGxlYmFyLWZvbnQi LCBmb250YnV0dG9uX3RpdGxlLCAiZm9udC1uYW1lIiwgU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVM VCk7Ci0gCQkJdWlfc2V0dGluZ3MuYmluZCgidGV4dC1zY2FsaW5nLWZhY3RvciIsIHNwaW5idXR0 b25fc2NhbGluZywgInZhbHVlIiwgU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCk7Ci0rCi0rI2lm IEhBVkVfR1NEXzQwCi0rCQkJdWlfc2V0dGluZ3MuYmluZCgiZm9udC1hbnRpYWxpYXNpbmciLCBj b21ib2JveF9hbnRpYWxpYXMsICJhY3RpdmUtaWQiLCBTZXR0aW5nc0JpbmRGbGFncy5ERUZBVUxU KTsKLSsJCQl1aV9zZXR0aW5ncy5iaW5kKCJmb250LWhpbnRpbmciLCBjb21ib2JveF9oaW50aW5n LCAiYWN0aXZlLWlkIiwgU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCk7Ci0rI2Vsc2UKLSsJCQl4 X3NldHRpbmdzID0gbmV3IFNldHRpbmdzKCJvcmcuZ25vbWUuc2V0dGluZ3MtZGFlbW9uLnBsdWdp bnMueHNldHRpbmdzIik7Ci0gCQkJeF9zZXR0aW5ncy5iaW5kKCJoaW50aW5nIiwgY29tYm9ib3hf aGludGluZywgImFjdGl2ZS1pZCIsIFNldHRpbmdzQmluZEZsYWdzLkRFRkFVTFQpOwotIAkJCXhf c2V0dGluZ3MuYmluZCgiYW50aWFsaWFzaW5nIiwgY29tYm9ib3hfYW50aWFsaWFzLCAiYWN0aXZl LWlkIiwgU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCk7Ci0rI2VuZGlmCi0gCQl9Ci0gCX0KLSB9 Ci0tLSAKLTIuMzEuMQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2J1ZGdpZS1kZXNrdG9wL3BhdGNo ZXMvbXV0dGVyLTgucGF0Y2ggYi9zcmNwa2dzL2J1ZGdpZS1kZXNrdG9wL3BhdGNoZXMvbXV0dGVy LTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkMTc1NGQ5MDY3Yi4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9tdXR0ZXItOC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNTkzICswLDAgQEAKLUZyb20gMDM4M2I1ZWY2Nzlk NmFkNDU1NWM2OWJmYThhMDg3ZTJmNjFiODY3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IERhdmlkIE1vaGFtbWVkIDxmb3NzZnJlZWRvbUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ Ci1EYXRlOiBXZWQsIDMgTWFyIDIwMjEgMTU6NTU6MDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0g Q29tcGlsZSB3aXRoIG11dHRlci04IChHTk9NRSA0MCBiZXRhKSAoIzIwOTQpCi0KLSogQ29tcGls ZSB3aXRoIG11dHRlci04IChHTk9NRSA0MCBhbHBoYSkKLQotKiBGaXggdmFwaWdlbiB3YXJuaW5n cyBmb3IgNiw3ICYgOCBhbHBoYQotCi0qIEFkZCBnZXRfc2V0dGluZ3MgdG8gY3VzdG9tIHZhcGkK LQotKiBCeXBhc3Mgc2hpbSBjb21waWxhdGlvbiBmYWlsdXJlCi1Ob3RlIHRoZSBGaXhNZSAtIHRo aXMgbmVlZHMgcmVzb2x2aW5nIG90aGVyd2lzZSBrZXlib2FyZCBzaG9ydGN1dHMKLWFuZCBjaGFu Z2luZyBrZXlib2FyZCBzaG9ydGN1dHMgd2lsbCBub3Qgd29yawotCi0qIFJlc29sdmUgc2hpbSBG SVhNRQotCi0qIFJlZ2VuZXJhdGUgdmFwaSB3aXRoIG11dHRlci40MC1iZXRhCi0tLS0KLSBzcmMv d20vbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgfCAgIDI0ICstCi0gc3JjL3dtL3NoaW0udmFs YSAgICAgICAgICAgICAgICAgIHwgICAgNCArCi0gdmFwaS9DbHV0dGVyLTcubWV0YWRhdGEgICAg ICAgICAgIHwgICA2MiArLQotIHZhcGkvQ2x1dHRlci04Lm1ldGFkYXRhICAgICAgICAgICB8ICAx ODcgKwotIHZhcGkvTWV0YS03Lm1ldGFkYXRhICAgICAgICAgICAgICB8ICAgIDggKwotIHZhcGkv TWV0YS04Lm1ldGFkYXRhICAgICAgICAgICAgICB8ICAgODUgKwotIHZhcGkvZ2VuZXJhdGUtbXV0 dGVyLXZhcGkuc2ggICAgICB8ICAgIDIgKy0KLSB2YXBpL2xpYm11dHRlci03LWN1c3RvbS52YWxh ICAgICAgfCAgICA3ICsKLSB2YXBpL2xpYm11dHRlci03LnZhcGkgICAgICAgICAgICAgfCAgIDMw ICstCi0gdmFwaS9saWJtdXR0ZXItOC1jdXN0b20udmFsYSAgICAgIHwgICAxNCArCi0gdmFwaS9s aWJtdXR0ZXItOC5kZXBzICAgICAgICAgICAgIHwgICAgNiArCi0gdmFwaS9saWJtdXR0ZXItOC52 YXBpICAgICAgICAgICAgIHwgMTUzNSArKysrKysKLSB2YXBpL211dHRlci1jbHV0dGVyLTctY3Vz dG9tLnZhbGEgfCAgIDQyICsKLSB2YXBpL211dHRlci1jbHV0dGVyLTcuZGVwcyAgICAgICAgfCAg ICAxICsKLSB2YXBpL211dHRlci1jbHV0dGVyLTcudmFwaSAgICAgICAgfCAgMzIyICstCi0gdmFw aS9tdXR0ZXItY2x1dHRlci04LWN1c3RvbS52YWxhIHwgICA0MiArCi0gdmFwaS9tdXR0ZXItY2x1 dHRlci04LmRlcHMgICAgICAgIHwgICAgNSArCi0gdmFwaS9tdXR0ZXItY2x1dHRlci04LnZhcGkg ICAgICAgIHwgODI3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIHZhcGkvbXV0dGVy LWNvZ2wtNy52YXBpICAgICAgICAgICB8ICAgIDYgKwotIHZhcGkvbXV0dGVyLWNvZ2wtOC1jdXN0 b20udmFsYSAgICB8ICAxMTkgKwotIHZhcGkvbXV0dGVyLWNvZ2wtOC5kZXBzICAgICAgICAgICB8 ICAgIDEgKwotIHZhcGkvbXV0dGVyLWNvZ2wtOC52YXBpICAgICAgICAgICB8IDEwOTEgKysrKwot IDIyIGZpbGVzIGNoYW5nZWQsIDExNjkxIGluc2VydGlvbnMoKyksIDE4MSBkZWxldGlvbnMoLSkK LSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9DbHV0dGVyLTgubWV0YWRhdGEKLSBjcmVhdGUgbW9k ZSAxMDA2NDQgdmFwaS9NZXRhLTgubWV0YWRhdGEKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9s aWJtdXR0ZXItOC1jdXN0b20udmFsYQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL2xpYm11dHRl ci04LmRlcHMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9saWJtdXR0ZXItOC52YXBpCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IHZhcGkvbXV0dGVyLWNsdXR0ZXItNy1jdXN0b20udmFsYQotIGNyZWF0 ZSBtb2RlIDEwMDY0NCB2YXBpL211dHRlci1jbHV0dGVyLTgtY3VzdG9tLnZhbGEKLSBjcmVhdGUg bW9kZSAxMDA2NDQgdmFwaS9tdXR0ZXItY2x1dHRlci04LmRlcHMKLSBjcmVhdGUgbW9kZSAxMDA2 NDQgdmFwaS9tdXR0ZXItY2x1dHRlci04LnZhcGkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9t dXR0ZXItY29nbC04LWN1c3RvbS52YWxhCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHZhcGkvbXV0dGVy LWNvZ2wtOC5kZXBzCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHZhcGkvbXV0dGVyLWNvZ2wtOC52YXBp Ci0KLWRpZmYgLS1naXQgc3JjL3dtL21lc29uLmJ1aWxkIHNyYy93bS9tZXNvbi5idWlsZAotaW5k ZXggNTgzY2U3OTAuLjE3ZTZiYzA3IDEwMDY0NAotLS0tIHNyYy93bS9tZXNvbi5idWlsZAotKysr IHNyYy93bS9tZXNvbi5idWlsZAotQEAgLTE4LDE3ICsxOCwyNSBAQCBidWRnaWVfd21fc291cmNl cyA9IFsKLSBidWRnaWVfd21fc3RhdHVzX3ZhbGFfYXJncyA9IFtdCi0gCi0gZGVwX2dyYXBoZW5l ID0gZGVwZW5kZW5jeSgnZ3JhcGhlbmUtZ29iamVjdC0xLjAnLCB2ZXJzaW9uOiAnPj0gMS4xMCcp Ci0tZGVwX211dHRlciA9IGRlcGVuZGVuY3koJ2xpYm11dHRlci03JywgdmVyc2lvbjogZ25vbWVf bWluaW11bV92ZXJzaW9uLCByZXF1aXJlZDogZmFsc2UpCi0rZGVwX211dHRlciA9IGRlcGVuZGVu Y3koJ2xpYm11dHRlci04JywgdmVyc2lvbjogZ25vbWVfbWluaW11bV92ZXJzaW9uLCByZXF1aXJl ZDogZmFsc2UpCi0gaWYgZGVwX211dHRlci5mb3VuZCgpCi0tICAgIGJ1ZGdpZV93bV9zdGF0dXNf dmFsYV9hcmdzICs9IFsnLUQnLCAnSEFWRV9NVVRURVJfNyddCi0tICAgIG1lc3NhZ2UoJ1VzaW5n IG5ldyBsaWJtdXR0ZXItNyBBQkkgZnJvbSBHTk9NRSAzLjM4JykKLS0gICAgdmFwaV9tdXR0ZXIg PSAnbGlibXV0dGVyLTcnCi0rICAgICMgQXNzdW1lIG11dHRlci03IGNvbXBpbGF0aW9uIGFyZ3Vt ZW50IHNpbmNlIG5vIGFkZGl0aW9uYWwgY29kZSBjaGFuZ2VzIHJlcXVpcmVkCi0rICAgIGJ1ZGdp ZV93bV9zdGF0dXNfdmFsYV9hcmdzICs9IFsnLUQnLCAnSEFWRV9NVVRURVJfOCddCi0rICAgIG1l c3NhZ2UoJ1VzaW5nIG5ldyBsaWJtdXR0ZXItOCBBQkkgZnJvbSBHTk9NRSA0MCcpCi0rICAgIHZh cGlfbXV0dGVyID0gJ2xpYm11dHRlci04JwotIGVsc2UKLS0gICAgZGVwX211dHRlciA9IGRlcGVu ZGVuY3koJ2xpYm11dHRlci02JywgdmVyc2lvbjogZ25vbWVfbWluaW11bV92ZXJzaW9uKQotLSAg ICBidWRnaWVfd21fc3RhdHVzX3ZhbGFfYXJncyArPSBbJy1EJywgJ0hBVkVfTVVUVEVSXzYnXQot KyAgICBkZXBfbXV0dGVyID0gZGVwZW5kZW5jeSgnbGlibXV0dGVyLTcnLCB2ZXJzaW9uOiBnbm9t ZV9taW5pbXVtX3ZlcnNpb24sIHJlcXVpcmVkOiBmYWxzZSkKLSAgICAgaWYgZGVwX211dHRlci5m b3VuZCgpCi0tICAgICAgICBtZXNzYWdlKCdVc2luZyBuZXcgbGlibXV0dGVyLTYgQUJJIGZyb20g R05PTUUgMy4zNicpCi0tICAgICAgICB2YXBpX211dHRlciA9ICdsaWJtdXR0ZXItNicKLSsgICAg ICAgIGJ1ZGdpZV93bV9zdGF0dXNfdmFsYV9hcmdzICs9IFsnLUQnLCAnSEFWRV9NVVRURVJfNydd Ci0rICAgICAgICBtZXNzYWdlKCdVc2luZyBuZXcgbGlibXV0dGVyLTcgQUJJIGZyb20gR05PTUUg My4zOCcpCi0rICAgICAgICB2YXBpX211dHRlciA9ICdsaWJtdXR0ZXItNycKLSsgICAgZWxzZQot KyAgICAgICAgZGVwX211dHRlciA9IGRlcGVuZGVuY3koJ2xpYm11dHRlci02JywgdmVyc2lvbjog Z25vbWVfbWluaW11bV92ZXJzaW9uKQotKyAgICAgICAgYnVkZ2llX3dtX3N0YXR1c192YWxhX2Fy Z3MgKz0gWyctRCcsICdIQVZFX01VVFRFUl82J10KLSsgICAgICAgIGlmIGRlcF9tdXR0ZXIuZm91 bmQoKQotKyAgICAgICAgICAgIG1lc3NhZ2UoJ1VzaW5nIG5ldyBsaWJtdXR0ZXItNiBBQkkgZnJv bSBHTk9NRSAzLjM2JykKLSsgICAgICAgICAgICB2YXBpX211dHRlciA9ICdsaWJtdXR0ZXItNicK LSsgICAgICAgIGVuZGlmCi0gICAgIGVuZGlmCi0gZW5kaWYKLSAKLWRpZmYgLS1naXQgc3JjL3dt L3NoaW0udmFsYSBzcmMvd20vc2hpbS52YWxhCi1pbmRleCA0YmExN2E4ZS4uNWE5ODVhYTEgMTAw NjQ0Ci0tLS0gc3JjL3dtL3NoaW0udmFsYQotKysrIHNyYy93bS9zaGltLnZhbGEKLUBAIC0xNzcs NyArMTc3LDExIEBAIG5hbWVzcGFjZSBCdWRnaWUgewotIAkJCWZvcmVhY2ggKHN0cmluZyBhY2Nl bGVyYXRvciBpbiBncmFicy5nZXRfa2V5cygpKSB7Ci0gCQkJCWlmIChncmFic1thY2NlbGVyYXRv cl0gPT0gYWN0aW9uKSB7Ci0gCQkJCQl2YXIgcGFyYW1zID0gbmV3IEhhc2hUYWJsZTxzdHJpbmcs VmFyaWFudD4obnVsbCwgbnVsbCk7Ci0rI2lmIEhBVkVfTVVUVEVSXzgKLSsJCQkJCXBhcmFtcy5z ZXQoImRldmljZS1uYW1lIiwgbmV3IFZhcmlhbnQuc3RyaW5nKGRldi5nZXRfZGV2aWNlX25hbWUo KSkpOwotKyNlbHNlCi0gCQkJCQlwYXJhbXMuc2V0KCJkZXZpY2UtaWQiLCBuZXcgVmFyaWFudC51 aW50MzIoZGV2LmlkKSk7Ci0rI2VuZGlmCi0gCQkJCQlwYXJhbXMuc2V0KCJhY3Rpb24tbW9kZSIs IG5ldyBWYXJpYW50LnVpbnQzMihhY3Rpb24pKTsKLSAJCQkJCXBhcmFtcy5zZXQoImRldmljZS1t b2RlIiwgbmV3IFZhcmlhbnQuc3RyaW5nKGRldi5nZXRfZGV2aWNlX25vZGUoKSkpOwotIAkJCQkJ cGFyYW1zLnNldCgidGltZXN0YW1wIiwgbmV3IFZhcmlhbnQudWludDMyKHRpbWVzdGFtcCkpOwot ZGlmZiAtLWdpdCB2YXBpL0NsdXR0ZXItNy5tZXRhZGF0YSB2YXBpL0NsdXR0ZXItNy5tZXRhZGF0 YQotaW5kZXggMTg1NTI3NGQuLmY3YjFkNjhiIDEwMDY0NAotLS0tIHZhcGkvQ2x1dHRlci03Lm1l dGFkYXRhCi0rKysgdmFwaS9DbHV0dGVyLTcubWV0YWRhdGEKLUBAIC0yLDYgKzIsOCBAQAotIEFj dG9yQm94IHN0cnVjdAotIENvbG9yIHN0cnVjdAotIEtub3Qgc3RydWN0Ci0rTWFyZ2luIHN0cnVj dAotK1BhaW50Vm9sdW1lIHN0cnVjdAotIFBhdGhOb2RlIHN0cnVjdAotIFBlcnNwZWN0aXZlIHN0 cnVjdAotIFVuaXRzIHN0cnVjdAotQEAgLTM1LDExICszNywxMyBAQCB2YWx1ZV9nZXRfY29sb3Ig bnVsbGFibGUKLSAvLyBtZXRob2QvdmlydHVhbC1tZXRob2Qvc2lnbmFsIGRvbid0IG1hdGNoCi0g QWN0b3IKLSAJLmV2ZW50I21ldGhvZCBuYW1lPSJlbWl0X2V2ZW50IgotLQkuZ2V0X3BhaW50X3Zv bHVtZSNtZXRob2Qgc2tpcAotKwkuZ2V0X3BhaW50X3ZvbHVtZSN2aXJ0dWFsX21ldGhvZCBuYW1l PSJnZXRfcGFpbnRfdm9sdW1lX3ZmdW5jIgotKwkuZ2V0X3BhaW50X3ZvbHVtZSN2aXJ0dWFsX21l dGhvZC52b2x1bWUgb3V0Ci0gCS5xdWV1ZV9yZWRyYXcjc2lnbmFsIHNraXAKLSAJLnF1ZXVlX3Jl ZHJhdyN2aXJ0dWFsX21ldGhvZCBza2lwCi0gQ29udGFpbmVyCi0gCS5hZGRfYWN0b3Igc2tpcD1m YWxzZQotKwkuY2xhc3NfKiBza2lwCi0gVGV4dAotIAkuYWN0aXZhdGUjbWV0aG9kIG5hbWU9InRy eV9hY3RpdmF0ZSIKLSAJLmluc2VydF90ZXh0I3NpZ25hbCBza2lwCi1AQCAtNTgsNiArNjIsMTIg QEAgQ29udGFpbmVyCi0gU3RhZ2UucmVhZF9waXhlbHMKLSAJLndpZHRoIGRlZmF1bHQ9LTEKLSAJ LmhlaWdodCBkZWZhdWx0PS0xCi0rU3RhZ2UuZ2V0X2NhcHR1cmVfZmluYWxfc2l6ZQotKwkud2lk dGggb3V0Ci0rCS5oZWlnaHQgb3V0Ci0rCS5zY2FsZSBvdXQKLStTdGFnZS5wYWludF90b19idWZm ZXIKLSsgICAgLmRhdGEgdHlwZT0idWludDhbXSIKLSBUZXh0Ci0gCS5wb3NpdGlvbl90b19jb29y ZHMubGluZV9oZWlnaHQgZGVmYXVsdD1udWxsCi0gCi1AQCAtNzAsMTEgKzgwLDggQEAgTGF5b3V0 TWFuYWdlcgotIAkuY3JlYXRlX2NoaWxkX21ldGEgc2tpcD1mYWxzZQotIAotIC8vIFZhcmlhZGlj IGFyZ3VtZW50cwotLUJveAotLQkucGFjayBza2lwPWZhbHNlCi0tCS5wYWNrX2FmdGVyIHNraXA9 ZmFsc2UKLS0JLnBhY2tfYXQgc2tpcD1mYWxzZQotLQkucGFja19iZWZvcmUgc2tpcD1mYWxzZQot K0JhY2tlbmQKLSsJLmdldF9jb2dsX2NvbnRleHQgc2tpcD1mYWxzZQotIENvbnRhaW5lcgotIAku Y2hpbGRfZ2V0IHNraXA9ZmFsc2UKLSAJLmNoaWxkX3NldCBza2lwPWZhbHNlCi1AQCAtOTEsMTAg Kzk4LDYgQEAgTGF5b3V0TWFuYWdlcgotIFNjcmlwdAotIAkuZ2V0X29iamVjdHMgc2tpcD1mYWxz ZQotIAotLS8vIENoYW5naW5nIGVycm9yIGRvbWFpbnMKLS1UZXh0dXJlCi0tCS5uZXdfZnJvbV9m aWxlIHRocm93cz0iQ2x1dHRlci5UZXh0dXJlRXJyb3IiCi0tCi0gLy8gU2tpcHBlZCB1cHN0cmVh bSBmb3IgdW5rbm93biByZWFzb25zCi0gSW50ZXJ2YWwucmVnaXN0ZXJfcHJvZ3Jlc3NfZnVuYyBz a2lwPWZhbHNlCi0gZ2V0X29wdGlvbl9ncm91cCBza2lwPWZhbHNlCi1AQCAtMTExLDQ1ICsxMTQs NDYgQEAgQWN0b3JCb3gKLSBVbml0cy5mcm9tXyogc2tpcAotIENvbG9yCi0gCS5uZXcgc2tpcAot K01hcmdpbgotKwkubmV3IHNraXAKLSAKLSAvLyBDbGFzcyBtZXRob2RzCi0gY29udGFpbmVyX2Ns YXNzX2ZpbmRfY2hpbGRfcHJvcGVydHkgc2tpcAotIGNvbnRhaW5lcl9jbGFzc19saXN0X2NoaWxk X3Byb3BlcnRpZXMgc2tpcAotIAotIC8vIE1vdmUgc3ltYm9scwotK2NvbG9yX2Zyb21fKiBza2lw Ci0gdW5pdHNfZnJvbV8qIHNraXAKLSAKLS0vLyBDbGFzc2VzIG1hcmtlZCBhcyBvdXQgYnV0IG5v dCBkb3VibGUgcHRyCi0tQWN0b3IKLS0JLmdldF9tYXJnaW4ubWFyZ2luIG91dD1mYWxzZQotLURy YWdBY3Rpb24KLS0JLmdldF9kcmFnX2FyZWEuZHJhZ19hcmVhIG91dD1mYWxzZQotLUlucHV0RGV2 aWNlCi0tCS5nZXRfY29vcmRzLnBvaW50IG91dD1mYWxzZQotLVJlY3QKLS0JLmdldF9jZW50ZXIu Y2VudGVyIG91dD1mYWxzZQotLQkuaW50ZXJzZWN0aW9uLnJlcyBvdXQ9ZmFsc2UKLS0JLnVuaW9u LnJlcyBvdXQ9ZmFsc2UKLS1UaW1lbGluZQotLQkuZ2V0X2N1YmljX2Jlemllcl9wcm9ncmVzcy5j Xyogb3V0PWZhbHNlCi0tWm9vbUFjdGlvbgotLQkuZ2V0X2ZvY2FsX3BvaW50LnBvaW50IG91dD1m YWxzZQotLQkuZ2V0X3RyYW5zZm9ybWVkX2ZvY2FsX3BvaW50LnBvaW50IG91dD1mYWxzZQotLQot IC8vIFN0cnVjdCByZXR1cm4gdmFsdWVzCi0gY29sb3JfZ2V0X3N0YXRpYyBudWxsYWJsZQotIAot Ky8vIFVwc3RyZWFtCi0rRXZlbnQKLSsJLmdldF9wb3NpdGlvbi5wb3NpdGlvbiBvdXQKLSsKLStG cmFtZUxpc3RlbmVySWZhY2Ugc2tpcAotK0ZyYW1lQ2xvY2submV3IHNraXAKLSsKLSAvLyBSZW1v dmUgZm9yIGNsdXR0ZXItMi4wCi0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwotIAotK1N0YWdl Vmlldy5sYXlvdXQgc2tpcAotKwotIFN0YWdlCi0gIAkuZXZlbnQgbmFtZT0iZW1pdF9ldmVudCIK LSsJLnBhaW50X3ZpZXcucmVkcmF3X2NsaXAgdHlwZT0iQ2Fpcm8uUmVnaW9uIgotKwotK0NhcHR1 cmUKLSsgIC5pbWFnZSB0eXBlPSJDYWlyby5JbWFnZVN1cmZhY2UiCi0gCi0gLy8gKkV2ZW50IHNo b3VsZCBiZSBjb21wYWN0IGNsYXNzZXMgZGVyaXZlZCBmcm9tIENsdXR0ZXIuRXZlbnQKLSBFdmVu dC50eXBlIHNraXA9ZmFsc2UKLSBBbnlFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0 dGVyLkV2ZW50IgotIEJ1dHRvbkV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIu RXZlbnQiCi0gQ3Jvc3NpbmdFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2 ZW50IgotK0RldmljZUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQi Ci0rSU1FdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotIEtleUV2 ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0gTW90aW9uRXZlbnQg c3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLSBTY3JvbGxFdmVudCBzdHJ1 Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotQEAgLTE1Nyw2ICsxNjEsMTAgQEAg U3RhZ2VTdGF0ZUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0g VG91Y2hFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotIFRvdWNo cGFkUGluY2hFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotIFRv dWNocGFkU3dpcGVFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50Igot K1Byb3hpbWl0eUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0r UGFkQnV0dG9uRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStQ YWRSaW5nRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStQYWRT dHJpcEV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0gCi0gLy8g S2V5c3ltcyB1c2VkIHRvIGJlIENMVVRURVJfWCBpbnN0ZWFkIG9mIENMVVRURVJfS0VZX1gKLSAq I2NvbnN0YW50IHNraXAKLWRpZmYgLS1naXQgdmFwaS9DbHV0dGVyLTgubWV0YWRhdGEgdmFwaS9D bHV0dGVyLTgubWV0YWRhdGEKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMC4u ZmExMjEwZjEKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL0NsdXR0ZXItOC5tZXRhZGF0YQotQEAg LTAsMCArMSwxODcgQEAKLSsvLyBOb24gbWluaS1vYmplY3QKLStBY3RvckJveCBzdHJ1Y3QKLStD b2xvciBzdHJ1Y3QKLStLbm90IHN0cnVjdAotK01hcmdpbiBzdHJ1Y3QKLStQYWludFZvbHVtZSBz dHJ1Y3QKLStQYXRoTm9kZSBzdHJ1Y3QKLStQZXJzcGVjdGl2ZSBzdHJ1Y3QKLStVbml0cyBzdHJ1 Y3QKLSsKLSsqLnJlZiB1bm93bmVkCi0rCi0raW5pdC5hcmd2IHVub3duZWQKLStpbml0X3dpdGhf YXJncwotKwkuYXJndiB1bm93bmVkCi0rQWN0b3IKLSsJLmFwcGx5X3RyYW5zZm9ybS5tYXRyaXgg cmVmCi0rCS5nZXRfYWJzX2FsbG9jYXRpb25fdmVydGljZXMudmVydHMgb3V0PWZhbHNlCi0rQ2Fu dmFzCi0rCS5uZXcgc3ltYm9sX3R5cGU9ImNvbnN0cnVjdG9yIgotK0V2ZW50LnR5cGUjbWV0aG9k IG5hbWU9ImdldF90eXBlIgotK0ltYWdlCi0rCS5uZXcgc3ltYm9sX3R5cGU9ImNvbnN0cnVjdG9y IgotKwotKy8vID8/PwotK0FjdG9yLmhhc19wb2ludGVyI21ldGhvZCBuYW1lPSJnZXRfaGFzX3Bv aW50ZXIiCi0rSW5pdEVycm9yIGVycm9yZG9tYWluPWZhbHNlCi0rCi0rLy8gTm90IGFsbCBiYWNr aW5nIHN5bWJvbHMgYXJlIGRlcHJlY2F0ZWQKLStBY3Rvci5waWNrIGRlcHJlY2F0ZWQ9ZmFsc2UK LSsKLSsvLyBOdWxsYWJsZSByZXR1cm4gdmFsdWVzCi0rQWN0b3IKLSsJLmdldF9wYXJlbnQgbnVs bGFibGUKLSt2YWx1ZV9nZXRfY29sb3IgbnVsbGFibGUKLSsKLSsvLyBtZXRob2QvdmlydHVhbC1t ZXRob2Qvc2lnbmFsIGRvbid0IG1hdGNoCi0rQWN0b3IKLSsJLmV2ZW50I21ldGhvZCBuYW1lPSJl bWl0X2V2ZW50IgotKwkuZ2V0X3BhaW50X3ZvbHVtZSN2aXJ0dWFsX21ldGhvZCBuYW1lPSJnZXRf cGFpbnRfdm9sdW1lX3ZmdW5jIgotKwkuZ2V0X3BhaW50X3ZvbHVtZSN2aXJ0dWFsX21ldGhvZC52 b2x1bWUgb3V0Ci0rQ29udGFpbmVyCi0rCS5hZGRfYWN0b3Igc2tpcD1mYWxzZQotKwkuY2xhc3Nf KiBza2lwCi0rVGV4dAotKwkuYWN0aXZhdGUjbWV0aG9kIG5hbWU9InRyeV9hY3RpdmF0ZSIKLSsJ Lmluc2VydF90ZXh0I3NpZ25hbCBza2lwCi0rVGV4dEJ1ZmZlci5nZXRfdGV4dCN2aXJ0dWFsX21l dGhvZCBuYW1lPSJnZXRfdGV4dF93aXRoX2xlbmd0aCIKLSsKLSsvLyB2aXJ0dWFsL2Fic3RyYWN0 IGRpc3RpbmN0aW9uCi0rQ29udGFpbmVyCi0rCS5sb3dlciB2aXJ0dWFsCi0rCS5yYWlzZSB2aXJ0 dWFsCi0rCS4qX2NoaWxkX21ldGEjdmlydHVhbF9tZXRob2QgdmlydHVhbAotKwotKy8vIERlZmF1 bHQgdmFsdWVzCi0rQ29udGFpbmVyCi0rCS5sb3dlci5zaWJsaW5nIG51bGxhYmxlIGRlZmF1bHQ9 bnVsbAotKwkucmFpc2Uuc2libGluZyBudWxsYWJsZSBkZWZhdWx0PW51bGwKLStTdGFnZS5yZWFk X3BpeGVscwotKwkud2lkdGggZGVmYXVsdD0tMQotKwkuaGVpZ2h0IGRlZmF1bHQ9LTEKLStTdGFn ZS5wYWludF90b19idWZmZXIKLSsgICAgLmRhdGEgdHlwZT0idWludDhbXSIKLStUZXh0Ci0rCS5w b3NpdGlvbl90b19jb29yZHMubGluZV9oZWlnaHQgZGVmYXVsdD1udWxsCi0rCi0rLy8gUmVwYXJl bnRlZCBmdW5jcyBtZXRob2RzIGNhbid0IGJlIGluc3RhbmNlIG1ldGhvZHMKLStmZWF0dXJlX2F2 YWlsYWJsZSBza2lwCi0rZmVhdHVyZV9nZXRfYWxsIHNraXAKLSsKLSsvLyBTa2lwcGVkIGJ5IGct aSBmb3IgdW5rbm93biByZWFzb25zCi0rTGF5b3V0TWFuYWdlcgotKwkuY3JlYXRlX2NoaWxkX21l dGEgc2tpcD1mYWxzZQotKwotKy8vIFZhcmlhZGljIGFyZ3VtZW50cwotK0JhY2tlbmQKLSsJLmdl dF9jb2dsX2NvbnRleHQgc2tpcD1mYWxzZQotK0NvbnRhaW5lcgotKwkuY2hpbGRfZ2V0IHNraXA9 ZmFsc2UKLSsJLmNoaWxkX3NldCBza2lwPWZhbHNlCi0rCS5yZW1vdmUgc2tpcD1mYWxzZQotK0lu dGVydmFsCi0rCS5uZXcgc2tpcD1mYWxzZQotKwkuZ2V0X2ludGVydmFsIHNraXA9ZmFsc2UKLSsJ LnNldF9maW5hbCBza2lwPWZhbHNlCi0rCS5zZXRfaW5pdGlhbCBza2lwPWZhbHNlCi0rCS5zZXRf aW50ZXJ2YWwgc2tpcD1mYWxzZQotK0xheW91dE1hbmFnZXIKLSsJLmNoaWxkX2dldCBza2lwPWZh bHNlCi0rCS5jaGlsZF9zZXQgc2tpcD1mYWxzZQotK1NjcmlwdAotKwkuZ2V0X29iamVjdHMgc2tp cD1mYWxzZQotKwotKy8vIFNraXBwZWQgdXBzdHJlYW0gZm9yIHVua25vd24gcmVhc29ucwotK0lu dGVydmFsLnJlZ2lzdGVyX3Byb2dyZXNzX2Z1bmMgc2tpcD1mYWxzZQotK2dldF9vcHRpb25fZ3Jv dXAgc2tpcD1mYWxzZQotK2dldF9vcHRpb25fZ3JvdXBfd2l0aG91dF9pbml0IHNraXA9ZmFsc2UK LSt0aHJlYWRzX2FkZF9pZGxlIHNraXA9ZmFsc2UKLSt0aHJlYWRzX2FkZF9pZGxlX2Z1bGwgc2tp cD1mYWxzZQotK3RocmVhZHNfYWRkX3RpbWVvdXQgc2tpcD1mYWxzZQotK3RocmVhZHNfYWRkX3Rp bWVvdXRfZnVsbCBza2lwPWZhbHNlCi0rCi0rLy8gc3RydWN0L2NsYXNzIGNvbmZ1c2lvbgotK0Fj dG9yQm94Ci0rCS5uZXcgc2tpcAotKwkuZnJvbV92ZXJ0aWNlcyBza2lwCi0rVW5pdHMuZnJvbV8q IHNraXAKLStDb2xvcgotKwkubmV3IHNraXAKLStNYXJnaW4KLSsJLm5ldyBza2lwCi0rCi0rLy8g Q2xhc3MgbWV0aG9kcwotK2NvbnRhaW5lcl9jbGFzc19maW5kX2NoaWxkX3Byb3BlcnR5IHNraXAK LStjb250YWluZXJfY2xhc3NfbGlzdF9jaGlsZF9wcm9wZXJ0aWVzIHNraXAKLSsKLSsvLyBNb3Zl IHN5bWJvbHMKLStjb2xvcl9mcm9tXyogc2tpcAotK3VuaXRzX2Zyb21fKiBza2lwCi0rCi0rLy8g U3RydWN0IHJldHVybiB2YWx1ZXMKLStjb2xvcl9nZXRfc3RhdGljIG51bGxhYmxlCi0rCi0rLy8g VXBzdHJlYW0KLStFdmVudAotKwkuZ2V0X3Bvc2l0aW9uLnBvc2l0aW9uIG91dAotKwotK0ZyYW1l TGlzdGVuZXJJZmFjZSBza2lwCi0rRnJhbWVDbG9jay5uZXcgc2tpcAotKwotKy8vIFJlbW92ZSBm b3IgY2x1dHRlci0yLjAKLSsvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0rCi0rU3RhZ2VWaWV3 LmxheW91dCBza2lwCi0rCi0rU3RhZ2UKLSsgCS5ldmVudCBuYW1lPSJlbWl0X2V2ZW50IgotKwku cGFpbnRfdmlldy5yZWRyYXdfY2xpcCB0eXBlPSJDYWlyby5SZWdpb24iCi0rCi0rQ2FwdHVyZQot KyAgLmltYWdlIHR5cGU9IkNhaXJvLkltYWdlU3VyZmFjZSIKLSsKLSsvLyAqRXZlbnQgc2hvdWxk IGJlIGNvbXBhY3QgY2xhc3NlcyBkZXJpdmVkIGZyb20gQ2x1dHRlci5FdmVudAotK0V2ZW50LnR5 cGUgc2tpcD1mYWxzZQotK0FueUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIu RXZlbnQiCi0rQnV0dG9uRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVu dCIKLStDcm9zc2luZ0V2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQi Ci0rRGV2aWNlRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStJ TUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rS2V5RXZlbnQg c3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStNb3Rpb25FdmVudCBzdHJ1 Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK1Njcm9sbEV2ZW50IHN0cnVjdD1m YWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rVG91Y2hFdmVudCBzdHJ1Y3Q9ZmFsc2Ug YmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK1RvdWNocGFkUGluY2hFdmVudCBzdHJ1Y3Q9ZmFs c2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK1RvdWNocGFkU3dpcGVFdmVudCBzdHJ1Y3Q9 ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK1Byb3hpbWl0eUV2ZW50IHN0cnVjdD1m YWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rUGFkQnV0dG9uRXZlbnQgc3RydWN0PWZh bHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStQYWRSaW5nRXZlbnQgc3RydWN0PWZhbHNl IGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStQYWRTdHJpcEV2ZW50IHN0cnVjdD1mYWxzZSBi YXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rCi0rLy8gS2V5c3ltcyB1c2VkIHRvIGJlIENMVVRU RVJfWCBpbnN0ZWFkIG9mIENMVVRURVJfS0VZX1gKLSsqI2NvbnN0YW50IHNraXAKLStDT0dMIHNr aXA9ZmFsc2UKLStDVVJSRU5UX1RJTUUgc2tpcD1mYWxzZQotK0ZMQVZPVVIgc2tpcD1mYWxzZQot K1BBVEhfUkVMQVRJVkUgc2tpcD1mYWxzZQotK1BSSU9SSVRZX1JFRFJBVyBza2lwPWZhbHNlCi0r Ci0rLy8gQ2x1dHRlciBkZXZzIGRvbid0IGxpa2UgdXMgY3JlYXRpbmcgbmVzdGVkIG5hbWVzcGFj ZXMKLSt2YWx1ZV8qIG5hbWU9InZhbHVlXyguKykiIHBhcmVudD0iQ2x1dHRlci5WYWx1ZSIKLSt0 aHJlYWRzXyogbmFtZT0idGhyZWFkc18oLispIiBwYXJlbnQ9IkNsdXR0ZXIuVGhyZWFkcyIKLSt0 aHJlYWRzX2FkZF9pZGxlIG5hbWU9ImFkZCIgcGFyZW50PSJDbHV0dGVyLlRocmVhZHMuSWRsZSIK LSt0aHJlYWRzX2FkZF9pZGxlX2Z1bGwgbmFtZT0iYWRkX2Z1bGwiIHBhcmVudD0iQ2x1dHRlci5U aHJlYWRzLklkbGUiCi0rdGhyZWFkc19hZGRfdGltZW91dCBuYW1lPSJhZGQiIHBhcmVudD0iQ2x1 dHRlci5UaHJlYWRzLlRpbWVvdXQiCi0rdGhyZWFkc19hZGRfdGltZW91dF9mdWxsIG5hbWU9ImFk ZF9mdWxsIiBwYXJlbnQ9IkNsdXR0ZXIuVGhyZWFkcy5UaW1lb3V0IgotKwotKy8vIEJhY2t3YXJk cyBjb21wYXRpYmlsaXR5Ci0rQ29sb3IuYWxsb2Mgc3ltYm9sX3R5cGU9ImZ1bmN0aW9uIgotKwot K0JpbkFsaWdubWVudCBkZXByZWNhdGVkPWZhbHNlIGRlcHJlY2F0ZWRfc2luY2U9bnVsbAotK0Jp bkFsaWdubWVudC4qIGRlcHJlY2F0ZWQKLStCaW5BbGlnbm1lbnQuc3RhcnQgZGVwcmVjYXRlZD1m YWxzZQotK0JpbkxheW91dC5uZXcuKl9hbGlnbiBkZWZhdWx0PUNsdXR0ZXIuQmluQWxpZ25tZW50 LlNUQVJUCi0rCi0rLy8gUG9zc2libHkga2VlcAotK0tFWV8qIHNraXA9ZmFsc2UgbmFtZT0iS0VZ XyguKykiIHR5cGU9InVpbnQiIHBhcmVudD0iQ2x1dHRlci5LZXkiCi1kaWZmIC0tZ2l0IHZhcGkv TWV0YS03Lm1ldGFkYXRhIHZhcGkvTWV0YS03Lm1ldGFkYXRhCi1pbmRleCA3MjYyOWZiYS4uYWJh YmY1ZDkgMTAwNjQ0Ci0tLS0gdmFwaS9NZXRhLTcubWV0YWRhdGEKLSsrKyB2YXBpL01ldGEtNy5t ZXRhZGF0YQotQEAgLTksNiArOSwxMCBAQCBCYXJyaWVyIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEv YmFycmllci5oIgotIEJhcnJpZXJFdmVudCBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL2JhcnJpZXIu aCIKLSBDbG9zZURpYWxvZyBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtY2xvc2UtZGlhbG9n LmgiCi0gQ3Vyc29yVHJhY2tlciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtY3Vyc29yLXRy YWNrZXIuaCIKLStDdXJzb3JUcmFja2VyLmdldF9mb3JfZGlzcGxheSBwYXJlbnQ9Ik1ldGEuRGlz cGxheSIgc3ltYm9sX3R5cGU9Im1ldGhvZCIgaW5zdGFuY2VfaWR4PTAgbmFtZT0iZ2V0X2N1cnNv cl90cmFja2VyIgotK0N1cnNvclRyYWNrZXIuZ2V0X3BvaW50ZXIueCBvdXQKLStDdXJzb3JUcmFj a2VyLmdldF9wb2ludGVyLnkgb3V0Ci0rQ3Vyc29yVHJhY2tlci5nZXRfcG9pbnRlci5tb2RzIG91 dAotIERpc3BsYXkgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9kaXNwbGF5LmgiCi0gRG5kIGNoZWFk ZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1kbmQuaCIKLSBJZGxlTW9uaXRvciBjaGVhZGVyX2ZpbGVu YW1lPSJtZXRhL21ldGEtaWRsZS1tb25pdG9yLmgiCi1AQCAtMjAsNiArMjQsMTAgQEAgUHJlZmVy ZW5jZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3ByZWZzLmgiCi0gUmVtb3RlQWNjZXNzQ29udHJv bGxlciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtcmVtb3RlLWFjY2Vzcy1jb250cm9sbGVy LmgiCi0gUmVtb3RlQWNjZXNzSGFuZGxlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1yZW1v dGUtYWNjZXNzLWNvbnRyb2xsZXIuaCIKLSBTZXR0aW5ncyBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L21ldGEtc2V0dGluZ3MuaCIKLStTZWxlY3Rpb24gY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRh LXNlbGVjdGlvbi5oIgotK1NlbGVjdGlvblNvdXJjZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21l dGEtc2VsZWN0aW9uLmgiCi0rU2VsZWN0aW9uU291cmNlTWVtb3J5IGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvbWV0YS1zZWxlY3Rpb24tc291cmNlLW1lbW9yeS5oIgotK1NlbGVjdGlvblR5cGUgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNlbGVjdGlvbi1zb3VyY2UuaCIKLSBTaGFkb3dGYWN0 b3J5IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1zaGFkb3ctZmFjdG9yeS5oIgotIFNoYXBl ZFRleHR1cmUgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNoYXBlZC10ZXh0dXJlLmgiCi0g U291bmRQbGF5ZXIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNvdW5kLXBsYXllci5oIgot ZGlmZiAtLWdpdCB2YXBpL01ldGEtOC5tZXRhZGF0YSB2YXBpL01ldGEtOC5tZXRhZGF0YQotbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi4wZTAwMTE3ZgotLS0tIC9kZXYvbnVs bAotKysrIHZhcGkvTWV0YS04Lm1ldGFkYXRhCi1AQCAtMCwwICsxLDg1IEBACi0rQmFja2VuZCBj aGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtYmFja2VuZC5oIgotK0JhY2tncm91bmQgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS9tZXRhLWJhY2tncm91bmQuaCIKLStCYWNrZ3JvdW5kQWN0b3IgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLWJhY2tncm91bmQtYWN0b3IuaCIKLStCYWNrZ3JvdW5k Q29udGVudCBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtYmFja2dyb3VuZC1jb250ZW50Lmgi Ci0rQmFja2dyb3VuZEdyb3VwIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1iYWNrZ3JvdW5k LWdyb3VwLmgiCi0rQmFja2dyb3VuZEltYWdlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1i YWNrZ3JvdW5kLWltYWdlLmgiCi0rQmFja2dyb3VuZEltYWdlQ2FjaGUgY2hlYWRlcl9maWxlbmFt ZT0ibWV0YS9tZXRhLWJhY2tncm91bmQtaW1hZ2UuaCIKLStCYXJyaWVyIGNoZWFkZXJfZmlsZW5h bWU9Im1ldGEvYmFycmllci5oIgotK0JhcnJpZXJFdmVudCBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L2JhcnJpZXIuaCIKLStDbG9zZURpYWxvZyBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtY2xv c2UtZGlhbG9nLmgiCi0rQ3Vyc29yVHJhY2tlciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEt Y3Vyc29yLXRyYWNrZXIuaCIKLStDdXJzb3JUcmFja2VyLmdldF9mb3JfZGlzcGxheSBwYXJlbnQ9 Ik1ldGEuRGlzcGxheSIgc3ltYm9sX3R5cGU9Im1ldGhvZCIgaW5zdGFuY2VfaWR4PTAgbmFtZT0i Z2V0X2N1cnNvcl90cmFja2VyIgotK0N1cnNvclRyYWNrZXIuZ2V0X3BvaW50ZXIubW9kcyBvdXQK LStEaXNwbGF5IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvZGlzcGxheS5oIgotK0RuZCBjaGVhZGVy X2ZpbGVuYW1lPSJtZXRhL21ldGEtZG5kLmgiCi0rSWRsZU1vbml0b3IgY2hlYWRlcl9maWxlbmFt ZT0ibWV0YS9tZXRhLWlkbGUtbW9uaXRvci5oIgotK0luaGliaXRTaG9ydGN1dHNEaWFsb2cgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLWluaGliaXQtc2hvcnRjdXRzLWRpYWxvZy5oIgotK0xh dW5jaENvbnRleHQgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLWxhdW5jaC1jb250ZXh0Lmgi Ci0rTWV0YSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21haW4uaCIKLStNb25pdG9yTWFuYWdlciBj aGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtbW9uaXRvci1tYW5hZ2VyLmgiCi0rUHJlZmVyZW5j ZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3ByZWZzLmgiCi0rUmVtb3RlQWNjZXNzQ29udHJvbGxl ciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtcmVtb3RlLWFjY2Vzcy1jb250cm9sbGVyLmgi Ci0rUmVtb3RlQWNjZXNzSGFuZGxlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1yZW1vdGUt YWNjZXNzLWNvbnRyb2xsZXIuaCIKLStTZXR0aW5ncyBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21l dGEtc2V0dGluZ3MuaCIKLStTZWxlY3Rpb24gY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNl bGVjdGlvbi5oIgotK1NlbGVjdGlvblNvdXJjZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEt c2VsZWN0aW9uLmgiCi0rU2VsZWN0aW9uU291cmNlTWVtb3J5IGNoZWFkZXJfZmlsZW5hbWU9Im1l dGEvbWV0YS1zZWxlY3Rpb24tc291cmNlLW1lbW9yeS5oIgotK1NlbGVjdGlvblR5cGUgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS9tZXRhLXNlbGVjdGlvbi1zb3VyY2UuaCIKLStTaGFkb3dGYWN0b3J5 IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1zaGFkb3ctZmFjdG9yeS5oIgotK1NoYXBlZFRl eHR1cmUgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNoYXBlZC10ZXh0dXJlLmgiCi0rU291 bmRQbGF5ZXIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNvdW5kLXBsYXllci5oIgotK1N0 YWdlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1zdGFnZS5oIgotK1N0YXJ0dXBOb3RpZmlj YXRpb24gY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXN0YXJ0dXAtbm90aWZpY2F0aW9uLmgi Ci0rVGhlbWUgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS90aGVtZS5oIgotK1dheWxhbmRDbGllbnQg Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXdheWxhbmQtY2xpZW50LmgiCi0rV2luZG93IGNo ZWFkZXJfZmlsZW5hbWU9Im1ldGEvd2luZG93LmgiCi0rV2luZG93QWN0b3IgY2hlYWRlcl9maWxl bmFtZT0ibWV0YS9tZXRhLXdpbmRvdy1hY3Rvci5oIgotK1dpbmRvd0dyb3VwIGNoZWFkZXJfZmls ZW5hbWU9Im1ldGEvbWV0YS13aW5kb3ctZ3JvdXAuaCIKLStXaW5kb3dTaGFwZSBjaGVhZGVyX2Zp bGVuYW1lPSJtZXRhL21ldGEtd2luZG93LXNoYXBlLmgiCi0rV29ya3NwYWNlIGNoZWFkZXJfZmls ZW5hbWU9Im1ldGEvd29ya3NwYWNlLmgiCi0rV29ya3NwYWNlTWFuYWdlciBjaGVhZGVyX2ZpbGVu YW1lPSJtZXRhL21ldGEtd29ya3NwYWNlLW1hbmFnZXIuaCIKLStYMTFEaXNwbGF5IGNoZWFkZXJf ZmlsZW5hbWU9Im1ldGEvbWV0YS14MTEtZGlzcGxheS5oIgotK1JlY3RhbmdsZSBzdHJ1Y3QKLStQ bHVnaW4gY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXBsdWdpbi5oIgotK1BsdWdpbkluZm8g Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXBsdWdpbi5oIgotK3ByZWZzXyogY2hlYWRlcl9m aWxlbmFtZT0ibWV0YS9wcmVmcy5oIiBwYXJlbnQ9Ik1ldGEuUHJlZnMiCi0rYWRkX3ZlcmJvc2Vf dG9waWMgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgot K3gxMV9lcnJvcl90cmFwX3BvcCBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0i bWV0YS91dGlsLmgiCi0reDExX2Vycm9yX3RyYXBfcHVzaCBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0reDExX2Vycm9yX3RyYXBfcG9wX3dpdGhfcmV0 dXJuIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLStl eHRlcm5hbF9iaW5kaW5nX25hbWVfZm9yX2FjdGlvbiBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rZ2V0X2xvY2FsZV9kaXJlY3Rpb24gcGFyZW50PSJN ZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgotK2dyYXZpdHlfdG9fc3Ry aW5nIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLStp c19zeW5jaW5nIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwu aCIKLStpc192ZXJib3NlIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L3V0aWwuaCIKLStpc193YXlsYW5kX2NvbXBvc2l0b3IgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFk ZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgotK2xhdGVyX2FkZCBwYXJlbnQ9Ik1ldGEuVXRpbCIg Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rbGF0ZXJfcmVtb3ZlIHBhcmVudD0iTWV0 YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLStwb3Bfbm9fbXNnX3ByZWZp eCBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rcHVz aF9ub19tc2dfcHJlZml4IHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L3V0aWwuaCIKLStyZWN0IHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L3V0aWwuaCIKLStyZW1vdmVfdmVyYm9zZV90b3BpYyBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rdW5zaWduZWRfbG9uZ19lcXVhbCBwYXJlbnQ9Ik1l dGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rdW5zaWduZWRfbG9uZ19o YXNoIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLStz aG93X2RpYWxvZyBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGls LmgiCi0rZ2V0X3N0YWdlX2Zvcl9kaXNwbGF5IHBhcmVudD0iTWV0YS5Db21wb3NpdG9yIiBjaGVh ZGVyX2ZpbGVuYW1lPSJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiCi0rZ2V0X3dpbmRvd19hY3Rv cnMgcGFyZW50PSJNZXRhLkNvbXBvc2l0b3IiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvY29tcG9z aXRvci1tdXR0ZXIuaCIKLStnZXRfd2luZG93X2dyb3VwX2Zvcl9kaXNwbGF5IHBhcmVudD0iTWV0 YS5Db21wb3NpdG9yIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgi Ci0rZ2V0X3RvcF93aW5kb3dfZ3JvdXBfZm9yX2Rpc3BsYXkgcGFyZW50PSJNZXRhLkNvbXBvc2l0 b3IiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIKLStnZXRfZmVl ZGJhY2tfZ3JvdXBfZm9yX2Rpc3BsYXkgcGFyZW50PSJNZXRhLkNvbXBvc2l0b3IiIGNoZWFkZXJf ZmlsZW5hbWU9Im1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIKLStkaXNhYmxlX3VucmVkaXJlY3Rf Zm9yX2Rpc3BsYXkgcGFyZW50PSJNZXRhLkNvbXBvc2l0b3IiIGNoZWFkZXJfZmlsZW5hbWU9Im1l dGEvY29tcG9zaXRvci1tdXR0ZXIuaCIKLStlbmFibGVfdW5yZWRpcmVjdF9mb3JfZGlzcGxheSBw YXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9y LW11dHRlci5oIgotK2ZvY3VzX3N0YWdlX3dpbmRvdyBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIg Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgotK2tleWJpbmRpbmdz X3NldF9jdXN0b21faGFuZGxlciBwYXJlbnQ9Ik1ldGEuS2V5QmluZGluZyIgbmFtZT0ic2V0X2N1 c3RvbV9oYW5kbGVyIgotK0tleUhhbmRsZXJGdW5jLmV2ZW50IHR5cGU9IkNsdXR0ZXIuS2V5RXZl bnQ/IgotK2dldF9iYWNrZW5kIHBhcmVudD0iTWV0YS5CYWNrZW5kIgotK1dpbmRvdy5mb2N1cyNz aWduYWwgc2tpcD10cnVlCi0rV2luZG93LmdldF94d2luZG93IHNraXA9ZmFsc2UKLStnZXRfb3B0 aW9uX2NvbnRleHQgc2tpcD1mYWxzZQotK3NldF9nbm9tZV93bV9rZXliaW5kaW5ncyBza2lwPWZh bHNlCi0rc2V0X3dtX25hbWUgc2tpcD1mYWxzZQotK2luaXQgc2tpcD1mYWxzZQotK3J1biBza2lw PWZhbHNlCi0rc2hvd19kaWFsb2cgc2tpcD1mYWxzZQotK2dldF9iYWNrZW5kIGNoZWFkZXJfZmls ZW5hbWU9Im1ldGEvbWV0YS1iYWNrZW5kLmgiCi1kaWZmIC0tZ2l0IHZhcGkvZ2VuZXJhdGUtbXV0 dGVyLXZhcGkuc2ggdmFwaS9nZW5lcmF0ZS1tdXR0ZXItdmFwaS5zaAotaW5kZXggYjIzM2U1ODYu LjExNzQwNDM1IDEwMDc1NQotLS0tIHZhcGkvZ2VuZXJhdGUtbXV0dGVyLXZhcGkuc2gKLSsrKyB2 YXBpL2dlbmVyYXRlLW11dHRlci12YXBpLnNoCi1AQCAtMSw3ICsxLDcgQEAKLSAjIS9iaW4vYmFz aAotIHNldCAteGUKLSAKLS12ZXJzaW9uPSR7Ni03fQotK3ZlcnNpb249JHs2LTh9Ci0gZ2lyZGly PSQocGtnLWNvbmZpZyBsaWJtdXR0ZXItJHZlcnNpb24gLS12YXJpYWJsZT1naXJkaXIpCi0gCi0g Y2QgJChkaXJuYW1lICQwKQotZGlmZiAtLWdpdCB2YXBpL2xpYm11dHRlci03LWN1c3RvbS52YWxh IHZhcGkvbGlibXV0dGVyLTctY3VzdG9tLnZhbGEKLWluZGV4IDFlMGI5MTdjLi43M2JjNWYxYiAx MDA2NDQKLS0tLSB2YXBpL2xpYm11dHRlci03LWN1c3RvbS52YWxhCi0rKysgdmFwaS9saWJtdXR0 ZXItNy1jdXN0b20udmFsYQotQEAgLTUsMyArNSwxMCBAQCBwdWJsaWMgc3RydWN0IGJlZm9yZV9m cmFtZSB7Ci0gW0NDb2RlIChoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSBwdWJsaWMgc3RydWN0IGZy YW1lIHsKLSB9Ci0rCi0rbmFtZXNwYWNlIE1ldGEgewotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZW5kX2dldF90 eXBlICgpIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBCYWNrZW5kIDogR0xpYi5PYmplY3Qs IEdMaWIuSW5pdGFibGUgewotKyAgICAgICAgcHVibGljIHVub3duZWQgTWV0YS5TZXR0aW5ncyBn ZXRfc2V0dGluZ3MgKCk7Ci0rICAgIH0KLSt9Ci1cIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK LWRpZmYgLS1naXQgdmFwaS9saWJtdXR0ZXItNy52YXBpIHZhcGkvbGlibXV0dGVyLTcudmFwaQot aW5kZXggNmJmZGM0YjcuLjMwZjg4OTJjIDEwMDY0NAotLS0tIHZhcGkvbGlibXV0dGVyLTcudmFw aQotKysrIHZhcGkvbGlibXV0dGVyLTcudmFwaQotQEAgLTE0OSw3ICsxNDksNyBAQCBuYW1lc3Bh Y2UgTWV0YSB7Ci0gCQlwdWJsaWMgc3RhdGljIHZvaWQgeDExX2Vycm9yX3RyYXBfcHVzaCAoTWV0 YS5YMTFEaXNwbGF5IHgxMV9kaXNwbGF5KTsKLSAJfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZW5kX2dldF90 eXBlICgpIildCi0tCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBCYWNrZW5kIDogR0xpYi5PYmplY3Qs IEdMaWIuSW5pdGFibGUgewotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQmFja2VuZCA6IEdMaWIu T2JqZWN0LCBHTGliLkluaXRhYmxlLCBHTGliLkluaXRhYmxlIHsKLSAJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSAJCXByb3RlY3RlZCBCYWNrZW5kICgpOwotIAkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1iYWNrZW5kLmgiLCBjbmFtZSA9 ICJtZXRhX2dldF9iYWNrZW5kIildCi1AQCAtMjc3LDkgKzI3Nyw4IEBAIG5hbWVzcGFjZSBNZXRh IHsKLSAJcHVibGljIGNsYXNzIEN1cnNvclRyYWNrZXIgOiBHTGliLk9iamVjdCB7Ci0gCQlbQ0Nv ZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0gCQlwcm90ZWN0ZWQgQ3Vyc29y VHJhY2tlciAoKTsKLS0JCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRhLkN1cnNvclRyYWNrZXIg Z2V0X2Zvcl9kaXNwbGF5IChNZXRhLkRpc3BsYXkgZGlzcGxheSk7Ci0gCQlwdWJsaWMgdm9pZCBn ZXRfaG90IChvdXQgaW50IHgsIG91dCBpbnQgeSk7Ci0tCQlwdWJsaWMgdm9pZCBnZXRfcG9pbnRl ciAoaW50IHgsIGludCB5LCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RzKTsKLSsJCXB1YmxpYyB2 b2lkIGdldF9wb2ludGVyIChvdXQgaW50IHgsIG91dCBpbnQgeSwgb3V0IENsdXR0ZXIuTW9kaWZp ZXJUeXBlIG1vZHMpOwotIAkJcHVibGljIGJvb2wgZ2V0X3BvaW50ZXJfdmlzaWJsZSAoKTsKLSAJ CXB1YmxpYyB1bm93bmVkIENvZ2wuVGV4dHVyZSBnZXRfc3ByaXRlICgpOwotIAkJcHVibGljIHZv aWQgc2V0X3BvaW50ZXJfdmlzaWJsZSAoYm9vbCB2aXNpYmxlKTsKLUBAIC0zMDQsNiArMzAzLDgg QEAgbmFtZXNwYWNlIE1ldGEgewotIAkJcHVibGljIGludCBnZXRfY3VycmVudF9tb25pdG9yICgp OwotIAkJcHVibGljIHVpbnQzMiBnZXRfY3VycmVudF90aW1lICgpOwotIAkJcHVibGljIHVpbnQz MiBnZXRfY3VycmVudF90aW1lX3JvdW5kdHJpcCAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAibWV0 YV9jdXJzb3JfdHJhY2tlcl9nZXRfZm9yX2Rpc3BsYXkiKV0KLSsJCXB1YmxpYyB1bm93bmVkIE1l dGEuQ3Vyc29yVHJhY2tlciBnZXRfY3Vyc29yX3RyYWNrZXIgKCk7Ci0gCQlwdWJsaWMgdW5vd25l ZCBNZXRhLldpbmRvdyBnZXRfZm9jdXNfd2luZG93ICgpOwotIAkJcHVibGljIE1ldGEuR3JhYk9w IGdldF9ncmFiX29wICgpOwotIAkJcHVibGljIHVpbnQgZ2V0X2tleWJpbmRpbmdfYWN0aW9uICh1 aW50IGtleWNvZGUsIHVsb25nIG1hc2spOwotQEAgLTQyMiwxMCArNDIzLDEyIEBAIG5hbWVzcGFj ZSBNZXRhIHsKLSAJCXB1YmxpYyBzdGF0aWMgaW50IGdldF9kaXNwbGF5X2NvbmZpZ3VyYXRpb25f dGltZW91dCAoKTsKLSAJCXB1YmxpYyBib29sIGdldF9pc19idWlsdGluX2Rpc3BsYXlfb24gKCk7 Ci0gCQlwdWJsaWMgaW50IGdldF9tb25pdG9yX2Zvcl9jb25uZWN0b3IgKHN0cmluZyBjb25uZWN0 b3IpOwotKwkJcHVibGljIGJvb2wgZ2V0X3BhbmVsX29yaWVudGF0aW9uX21hbmFnZWQgKCk7Ci0g CQlwdWJsaWMgTWV0YS5Nb25pdG9yU3dpdGNoQ29uZmlnVHlwZSBnZXRfc3dpdGNoX2NvbmZpZyAo KTsKLSAJCXB1YmxpYyB2b2lkIHN3aXRjaF9jb25maWcgKE1ldGEuTW9uaXRvclN3aXRjaENvbmZp Z1R5cGUgY29uZmlnX3R5cGUpOwotIAkJW05vQWNjZXNzb3JNZXRob2RdCi0gCQlwdWJsaWMgTWV0 YS5CYWNrZW5kIGJhY2tlbmQgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIGJv b2wgcGFuZWxfb3JpZW50YXRpb25fbWFuYWdlZCB7IGdldDsgfQotIAkJcHVibGljIHNpZ25hbCB2 b2lkIGNvbmZpcm1fZGlzcGxheV9jaGFuZ2UgKCk7Ci0gCQlwdWJsaWMgc2lnbmFsIHZvaWQgbW9u aXRvcnNfY2hhbmdlZCAoKTsKLSAJCXB1YmxpYyBzaWduYWwgdm9pZCBtb25pdG9yc19jaGFuZ2Vk X2ludGVybmFsICgpOwotQEAgLTUwNCw3ICs1MDcsNyBAQCBuYW1lc3BhY2UgTWV0YSB7Ci0gCQlw dWJsaWMgYm9vbCBpc19yZWNvcmRpbmcgeyBnZXQ7IGNvbnN0cnVjdDsgfQotIAkJcHVibGljIHNp Z25hbCB2b2lkIHN0b3BwZWQgKCk7Ci0gCX0KLS0JW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvbWFpbi5oIiwgdHlwZV9pZCA9ICJtZXRhX3NlbGVjdGlvbl9nZXRfdHlwZSAoKSIpXQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXNlbGVjdGlvbi5oIiwgdHlw ZV9pZCA9ICJtZXRhX3NlbGVjdGlvbl9nZXRfdHlwZSAoKSIpXQotIAlwdWJsaWMgY2xhc3MgU2Vs ZWN0aW9uIDogR0xpYi5PYmplY3QgewotIAkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UpXQotIAkJcHVibGljIFNlbGVjdGlvbiAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOwot QEAgLTUxNCw3ICs1MTcsNyBAQCBuYW1lc3BhY2UgTWV0YSB7Ci0gCQlwdWJsaWMgdm9pZCB1bnNl dF9vd25lciAoTWV0YS5TZWxlY3Rpb25UeXBlIHNlbGVjdGlvbl90eXBlLCBNZXRhLlNlbGVjdGlv blNvdXJjZSBvd25lcik7Ci0gCQlwdWJsaWMgc2lnbmFsIHZvaWQgb3duZXJfY2hhbmdlZCAodWlu dCBvYmplY3QsIE1ldGEuU2VsZWN0aW9uU291cmNlIHAwKTsKLSAJfQotLQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCB0eXBlX2lkID0gIm1ldGFfc2VsZWN0aW9uX3Nv dXJjZV9nZXRfdHlwZSAoKSIpXQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9t ZXRhLXNlbGVjdGlvbi5oIiwgdHlwZV9pZCA9ICJtZXRhX3NlbGVjdGlvbl9zb3VyY2VfZ2V0X3R5 cGUgKCkiKV0KLSAJcHVibGljIGNsYXNzIFNlbGVjdGlvblNvdXJjZSA6IEdMaWIuT2JqZWN0IHsK LSAJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSAJCXByb3RlY3Rl ZCBTZWxlY3Rpb25Tb3VyY2UgKCk7Ci1AQCAtNTI0LDcgKzUyNyw3IEBAIG5hbWVzcGFjZSBNZXRh IHsKLSAJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdGl2YXRlZCAoKTsKLSAJCXB1Ymxp YyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGRlYWN0aXZhdGVkICgpOwotIAl9Ci0tCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIHR5cGVfaWQgPSAibWV0YV9zZWxlY3Rpb25f c291cmNlX21lbW9yeV9nZXRfdHlwZSAoKSIpXQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tZXRhLXNlbGVjdGlvbi1zb3VyY2UtbWVtb3J5LmgiLCB0eXBlX2lkID0gIm1ldGFf c2VsZWN0aW9uX3NvdXJjZV9tZW1vcnlfZ2V0X3R5cGUgKCkiKV0KLSAJcHVibGljIGNsYXNzIFNl bGVjdGlvblNvdXJjZU1lbW9yeSA6IE1ldGEuU2VsZWN0aW9uU291cmNlIHsKLSAJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIk1ldGFTZWxlY3Rpb25Tb3Vy Y2UqIildCi0gCQlwdWJsaWMgU2VsZWN0aW9uU291cmNlTWVtb3J5IChzdHJpbmcgbWltZXR5cGUs IEdMaWIuQnl0ZXMgY29udGVudCk7Ci1AQCAtNzY4LDYgKzc3MSw3IEBAIG5hbWVzcGFjZSBNZXRh IHsKLSAJCXB1YmxpYyB1aW50IHVzZXJfdGltZSB7IGdldDsgfQotIAkJcHVibGljIE1ldGEuV2lu ZG93VHlwZSB3aW5kb3dfdHlwZSB7IGdldDsgfQotIAkJcHVibGljIHN0cmluZyB3bV9jbGFzcyB7 IGdldDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIG1vbml0b3JfY2hhbmdlZCAoaW50IG9sZF9t b25pdG9yKTsKLSAJCXB1YmxpYyBzaWduYWwgdm9pZCBwb3NpdGlvbl9jaGFuZ2VkICgpOwotIAkJ cHVibGljIHNpZ25hbCB2b2lkIHJhaXNlZCAoKTsKLSAJCXB1YmxpYyBzaWduYWwgdm9pZCBzaG93 biAoKTsKLUBAIC0xMDEyLDYgKzEwMTYsMTIgQEAgbmFtZXNwYWNlIE1ldGEgewotIAkJQkxBTkss Ci0gCQlMQVNUCi0gCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IiwgY3ByZWZpeCA9ICJNRVRBX0RFQlVHX1BBSU5UXyIsIHR5cGVfaWQgPSAibWV0YV9kZWJ1Z19w YWludF9mbGFnX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gRGVidWdQ YWludEZsYWcgewotKwkJTk9ORSwKLSsJCU9QQVFVRV9SRUdJT04KLSsJfQotIAlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfREVCVUdfIiwg dHlwZV9pZCA9ICJtZXRhX2RlYnVnX3RvcGljX2dldF90eXBlICgpIildCi0gCVtGbGFnc10KLSAJ cHVibGljIGVudW0gRGVidWdUb3BpYyB7Ci1AQCAtMTM1NCw3ICsxMzY0LDcgQEAgbmFtZXNwYWNl IE1ldGEgewotIAkJQ0hFQ0tfQUxJVkVfVElNRU9VVDsKLSAJCXB1YmxpYyB1bm93bmVkIHN0cmlu ZyB0b19zdHJpbmcgKCk7Ci0gCX0KLS0JW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBXyIsIHR5cGVfaWQgPSAibWV0YV9zZWxlY3Rpb25fdHlw ZV9nZXRfdHlwZSAoKSIpXQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRh LXNlbGVjdGlvbi1zb3VyY2UuaCIsIGNwcmVmaXggPSAiTUVUQV8iLCB0eXBlX2lkID0gIm1ldGFf c2VsZWN0aW9uX3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSAJcHVibGljIGVudW0gU2VsZWN0aW9uVHlw ZSB7Ci0gCQlTRUxFQ1RJT05fUFJJTUFSWSwKLSAJCVNFTEVDVElPTl9DTElQQk9BUkQsCi1AQCAt MTQ5MSwxMiArMTUwMSwxNiBAQCBuYW1lc3BhY2UgTWV0YSB7Ci0gCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotIAlwdWJsaWMgc3RhdGljIHZvaWQgYWRkX2NsdXR0 ZXJfZGVidWdfZmxhZ3MgKENsdXR0ZXIuRGVidWdGbGFnIGRlYnVnX2ZsYWdzLCBDbHV0dGVyLkRy YXdEZWJ1Z0ZsYWcgZHJhd19mbGFncywgQ2x1dHRlci5QaWNrRGVidWdGbGFnIHBpY2tfZmxhZ3Mp OwotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGlj IHN0YXRpYyB2b2lkIGFkZF9kZWJ1Z19wYWludF9mbGFnIChNZXRhLkRlYnVnUGFpbnRGbGFnIGZs YWcpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSAJcHVi bGljIHN0YXRpYyB2b2lkIGNsdXR0ZXJfaW5pdCAoKTsKLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIildCi0gCXB1YmxpYyBzdGF0aWMgdm9pZCBleGl0IChNZXRhLkV4 aXRDb2RlIGNvZGUpOwotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgi KV0KLSAJcHVibGljIHN0YXRpYyBzdHJpbmcgZ191dGY4X3N0cm5kdXAgKHN0cmluZyBzcmMsIHNp emVfdCBuKTsKLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0r CXB1YmxpYyBzdGF0aWMgTWV0YS5EZWJ1Z1BhaW50RmxhZyBnZXRfZGVidWdfcGFpbnRfZmxhZ3Mg KCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotIAlwdWJs aWMgc3RhdGljIHVub3duZWQgR0xpYi5PcHRpb25Db250ZXh0IGdldF9vcHRpb25fY29udGV4dCAo KTsKLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0gCXB1Ymxp YyBzdGF0aWMgYm9vbCBnZXRfcmVwbGFjZV9jdXJyZW50X3dtICgpOwotQEAgLTE1MTEsNiArMTUy NSw4IEBAIG5hbWVzcGFjZSBNZXRhIHsKLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWFpbi5oIildCi0gCXB1YmxpYyBzdGF0aWMgdm9pZCByZW1vdmVfY2x1dHRlcl9kZWJ1Z19m bGFncyAoQ2x1dHRlci5EZWJ1Z0ZsYWcgZGVidWdfZmxhZ3MsIENsdXR0ZXIuRHJhd0RlYnVnRmxh ZyBkcmF3X2ZsYWdzLCBDbHV0dGVyLlBpY2tEZWJ1Z0ZsYWcgcGlja19mbGFncyk7Ci0gCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZv aWQgcmVtb3ZlX2RlYnVnX3BhaW50X2ZsYWcgKE1ldGEuRGVidWdQYWludEZsYWcgZmxhZyk7Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotIAlwdWJsaWMgc3Rh dGljIHZvaWQgcmVzdGFydCAoc3RyaW5nPyBtZXNzYWdlKTsKLSAJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0gCXB1YmxpYyBzdGF0aWMgaW50IHJ1biAoKTsKLWRp ZmYgLS1naXQgdmFwaS9saWJtdXR0ZXItOC1jdXN0b20udmFsYSB2YXBpL2xpYm11dHRlci04LWN1 c3RvbS52YWxhCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLjczYmM1ZjFi Ci0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9saWJtdXR0ZXItOC1jdXN0b20udmFsYQotQEAgLTAs MCArMSwxNCBAQAotK1tDQ29kZSAoaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rcHVibGljIHN0cnVj dCBiZWZvcmVfZnJhbWUgewotK30KLSsKLStbQ0NvZGUgKGhhc190eXBlX2lkID0gZmFsc2UpXQot K3B1YmxpYyBzdHJ1Y3QgZnJhbWUgewotK30KLSsKLStuYW1lc3BhY2UgTWV0YSB7Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2VuZC5oIiwgdHlwZV9pZCA9ICJt ZXRhX2JhY2tlbmRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIEJhY2tl bmQgOiBHTGliLk9iamVjdCwgR0xpYi5Jbml0YWJsZSB7Ci0rICAgICAgICBwdWJsaWMgdW5vd25l ZCBNZXRhLlNldHRpbmdzIGdldF9zZXR0aW5ncyAoKTsKLSsgICAgfQotK30KLVwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQotZGlmZiAtLWdpdCB2YXBpL2xpYm11dHRlci04LmRlcHMgdmFwaS9s aWJtdXR0ZXItOC5kZXBzCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLmQ5 NGE2MTVkCi0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9saWJtdXR0ZXItOC5kZXBzCi1AQCAtMCww ICsxLDYgQEAKLStndGsrLTMuMAotK2pzb24tZ2xpYi0xLjAKLSttdXR0ZXItY2x1dHRlci04Ci0r eDExCi0reGZpeGVzLTQuMAotK2dyYXBoZW5lLWdvYmplY3QtMS4wCi1kaWZmIC0tZ2l0IHZhcGkv bGlibXV0dGVyLTgudmFwaSB2YXBpL2xpYm11dHRlci04LnZhcGkKLW5ldyBmaWxlIG1vZGUgMTAw NjQ0Ci1pbmRleCAwMDAwMDAwMC4uNWNkYzc5NGYKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL2xp Ym11dHRlci04LnZhcGkKLUBAIC0wLDAgKzEsMTUzNSBAQAotKy8qIGxpYm11dHRlci04LnZhcGkg Z2VuZXJhdGVkIGJ5IHZhcGlnZW4sIGRvIG5vdCBtb2RpZnkuICovCi0rCi0rW0NDb2RlIChjcHJl Zml4ID0gIk1ldGEiLCBnaXJfbmFtZXNwYWNlID0gIk1ldGEiLCBnaXJfdmVyc2lvbiA9ICI4Iiwg bG93ZXJfY2FzZV9jcHJlZml4ID0gIm1ldGFfIildCi0rbmFtZXNwYWNlIE1ldGEgewotKwluYW1l c3BhY2UgQ29tcG9zaXRvciB7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9j b21wb3NpdG9yLW11dHRlci5oIiwgY25hbWUgPSAibWV0YV9kaXNhYmxlX3VucmVkaXJlY3RfZm9y X2Rpc3BsYXkiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBkaXNhYmxlX3VucmVkaXJlY3RfZm9y X2Rpc3BsYXkgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2VuYWJsZV91 bnJlZGlyZWN0X2Zvcl9kaXNwbGF5IildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgZW5hYmxlX3Vu cmVkaXJlY3RfZm9yX2Rpc3BsYXkgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJt ZXRhX2ZvY3VzX3N0YWdlX3dpbmRvdyIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIGZvY3VzX3N0 YWdlX3dpbmRvdyAoTWV0YS5EaXNwbGF5IGRpc3BsYXksIHVpbnQzMiB0aW1lc3RhbXApOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIsIGNu YW1lID0gIm1ldGFfZ2V0X2ZlZWRiYWNrX2dyb3VwX2Zvcl9kaXNwbGF5IildCi0rCQlwdWJsaWMg c3RhdGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfZmVlZGJhY2tfZ3JvdXBfZm9yX2Rpc3Bs YXkgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2dldF9zdGFnZV9mb3Jf ZGlzcGxheSIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3N0 YWdlX2Zvcl9kaXNwbGF5IChNZXRhLkRpc3BsYXkgZGlzcGxheSk7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIiwgY25hbWUgPSAibWV0YV9n ZXRfdG9wX3dpbmRvd19ncm91cF9mb3JfZGlzcGxheSIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93 bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3RvcF93aW5kb3dfZ3JvdXBfZm9yX2Rpc3BsYXkgKE1ldGEu RGlzcGxheSBkaXNwbGF5KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL2Nv bXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2dldF93aW5kb3dfYWN0b3JzIildCi0r CQlwdWJsaWMgc3RhdGljIHVub3duZWQgR0xpYi5MaXN0PENsdXR0ZXIuQWN0b3I+IGdldF93aW5k b3dfYWN0b3JzIChNZXRhLkRpc3BsYXkgZGlzcGxheSk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIiwgY25hbWUgPSAibWV0YV9nZXRfd2lu ZG93X2dyb3VwX2Zvcl9kaXNwbGF5IildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRl ci5BY3RvciBnZXRfd2luZG93X2dyb3VwX2Zvcl9kaXNwbGF5IChNZXRhLkRpc3BsYXkgZGlzcGxh eSk7Ci0rCX0KLSsJbmFtZXNwYWNlIFByZWZzIHsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2JlbGxfaXNfYXVkaWJsZSIp XQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2JlbGxfaXNfYXVkaWJsZSAoKTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3By ZWZzX2NoYW5nZV93b3Jrc3BhY2VfbmFtZSIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHByZWZz X2NoYW5nZV93b3Jrc3BhY2VfbmFtZSAoaW50IGksIHN0cmluZyBuYW1lKTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dl dF9hY3Rpb25fZG91YmxlX2NsaWNrX3RpdGxlYmFyIildCi0rCQlwdWJsaWMgc3RhdGljIEdEZXNr dG9wLlRpdGxlYmFyQWN0aW9uIHByZWZzX2dldF9hY3Rpb25fZG91YmxlX2NsaWNrX3RpdGxlYmFy ICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1l ID0gIm1ldGFfcHJlZnNfZ2V0X2FjdGlvbl9taWRkbGVfY2xpY2tfdGl0bGViYXIiKV0KLSsJCXB1 YmxpYyBzdGF0aWMgR0Rlc2t0b3AuVGl0bGViYXJBY3Rpb24gcHJlZnNfZ2V0X2FjdGlvbl9taWRk bGVfY2xpY2tfdGl0bGViYXIgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0 YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfYWN0aW9uX3JpZ2h0X2NsaWNrX3Rp dGxlYmFyIildCi0rCQlwdWJsaWMgc3RhdGljIEdEZXNrdG9wLlRpdGxlYmFyQWN0aW9uIHByZWZz X2dldF9hY3Rpb25fcmlnaHRfY2xpY2tfdGl0bGViYXIgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfYXR0YWNo X21vZGFsX2RpYWxvZ3MiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfYXR0YWNo X21vZGFsX2RpYWxvZ3MgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9w cmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfYXV0b19tYXhpbWl6ZSIpXQotKwkJcHVi bGljIHN0YXRpYyBib29sIHByZWZzX2dldF9hdXRvX21heGltaXplICgpOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0 X2F1dG9fcmFpc2UiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfYXV0b19yYWlz ZSAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFt ZSA9ICJtZXRhX3ByZWZzX2dldF9hdXRvX3JhaXNlX2RlbGF5IildCi0rCQlwdWJsaWMgc3RhdGlj IGludCBwcmVmc19nZXRfYXV0b19yYWlzZV9kZWxheSAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9idXR0b25f bGF5b3V0IildCi0rCQlwdWJsaWMgc3RhdGljIE1ldGEuQnV0dG9uTGF5b3V0IHByZWZzX2dldF9i dXR0b25fbGF5b3V0ICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJl ZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2NlbnRlcl9uZXdfd2luZG93cyIpXQotKwkJ cHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9jZW50ZXJfbmV3X3dpbmRvd3MgKCk7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9w cmVmc19nZXRfY2hlY2tfYWxpdmVfdGltZW91dCIpXQotKwkJcHVibGljIHN0YXRpYyB1aW50IHBy ZWZzX2dldF9jaGVja19hbGl2ZV90aW1lb3V0ICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2NvbXBvc2l0aW5n X21hbmFnZXIiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfY29tcG9zaXRpbmdf bWFuYWdlciAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgi LCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9jdXJzb3Jfc2l6ZSIpXQotKwkJcHVibGljIHN0YXRp YyBpbnQgcHJlZnNfZ2V0X2N1cnNvcl9zaXplICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2N1cnNvcl90aGVt ZSIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIHN0cmluZyBwcmVmc19nZXRfY3Vyc29yX3Ro ZW1lICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNu YW1lID0gIm1ldGFfcHJlZnNfZ2V0X2Rpc2FibGVfd29ya2Fyb3VuZHMiKV0KLSsJCXB1YmxpYyBz dGF0aWMgYm9vbCBwcmVmc19nZXRfZGlzYWJsZV93b3JrYXJvdW5kcyAoKTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dl dF9kcmFnX3RocmVzaG9sZCIpXQotKwkJcHVibGljIHN0YXRpYyBpbnQgcHJlZnNfZ2V0X2RyYWdf dGhyZXNob2xkICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMu aCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2RyYWdnYWJsZV9ib3JkZXJfd2lkdGgiKV0KLSsJ CXB1YmxpYyBzdGF0aWMgaW50IHByZWZzX2dldF9kcmFnZ2FibGVfYm9yZGVyX3dpZHRoICgpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1l dGFfcHJlZnNfZ2V0X2R5bmFtaWNfd29ya3NwYWNlcyIpXQotKwkJcHVibGljIHN0YXRpYyBib29s IHByZWZzX2dldF9keW5hbWljX3dvcmtzcGFjZXMgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfZWRnZV90aWxp bmciKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfZWRnZV90aWxpbmcgKCk7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0 YV9wcmVmc19nZXRfZm9jdXNfY2hhbmdlX29uX3BvaW50ZXJfcmVzdCIpXQotKwkJcHVibGljIHN0 YXRpYyBib29sIHByZWZzX2dldF9mb2N1c19jaGFuZ2Vfb25fcG9pbnRlcl9yZXN0ICgpOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFf cHJlZnNfZ2V0X2ZvY3VzX21vZGUiKV0KLSsJCXB1YmxpYyBzdGF0aWMgR0Rlc2t0b3AuRm9jdXNN b2RlIHByZWZzX2dldF9mb2N1c19tb2RlICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2ZvY3VzX25ld193aW5k b3dzIildCi0rCQlwdWJsaWMgc3RhdGljIEdEZXNrdG9wLkZvY3VzTmV3V2luZG93cyBwcmVmc19n ZXRfZm9jdXNfbmV3X3dpbmRvd3MgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfZm9yY2VfZnVsbHNjcmVlbiIp XQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9mb3JjZV9mdWxsc2NyZWVuICgpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1l dGFfcHJlZnNfZ2V0X2dub21lX2FjY2Vzc2liaWxpdHkiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9v bCBwcmVmc19nZXRfZ25vbWVfYWNjZXNzaWJpbGl0eSAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9nbm9tZV9h bmltYXRpb25zIildCi0rCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2dub21lX2FuaW1h dGlvbnMgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwg Y25hbWUgPSAibWV0YV9wcmVmc19nZXRfa2V5YmluZGluZ19hY3Rpb24iKV0KLSsJCXB1YmxpYyBz dGF0aWMgTWV0YS5LZXlCaW5kaW5nQWN0aW9uIHByZWZzX2dldF9rZXliaW5kaW5nX2FjdGlvbiAo c3RyaW5nIG5hbWUpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMu aCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X21vdXNlX2J1dHRvbl9tZW51IildCi0rCQlwdWJs aWMgc3RhdGljIGludCBwcmVmc19nZXRfbW91c2VfYnV0dG9uX21lbnUgKCk7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19n ZXRfbW91c2VfYnV0dG9uX21vZHMiKV0KLSsJCXB1YmxpYyBzdGF0aWMgTWV0YS5WaXJ0dWFsTW9k aWZpZXIgcHJlZnNfZ2V0X21vdXNlX2J1dHRvbl9tb2RzICgpOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X21vdXNl X2J1dHRvbl9yZXNpemUiKV0KLSsJCXB1YmxpYyBzdGF0aWMgaW50IHByZWZzX2dldF9tb3VzZV9i dXR0b25fcmVzaXplICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJl ZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X251bV93b3Jrc3BhY2VzIildCi0rCQlwdWJs aWMgc3RhdGljIGludCBwcmVmc19nZXRfbnVtX3dvcmtzcGFjZXMgKCk7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRf cmFpc2Vfb25fY2xpY2siKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfcmFpc2Vf b25fY2xpY2sgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5o IiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfc2hvd19mYWxsYmFja19hcHBfbWVudSIpXQotKwkJ cHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9zaG93X2ZhbGxiYWNrX2FwcF9tZW51ICgpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1l dGFfcHJlZnNfZ2V0X3RpdGxlYmFyX2ZvbnQiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBQ YW5nby5Gb250RGVzY3JpcHRpb24gcHJlZnNfZ2V0X3RpdGxlYmFyX2ZvbnQgKCk7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVm c19nZXRfdmlzdWFsX2JlbGwiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfdmlz dWFsX2JlbGwgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5o IiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfdmlzdWFsX2JlbGxfdHlwZSIpXQotKwkJcHVibGlj IHN0YXRpYyBHRGVza3RvcC5WaXN1YWxCZWxsVHlwZSBwcmVmc19nZXRfdmlzdWFsX2JlbGxfdHlw ZSAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFt ZSA9ICJtZXRhX3ByZWZzX2dldF93b3Jrc3BhY2VfbmFtZSIpXQotKwkJcHVibGljIHN0YXRpYyB1 bm93bmVkIHN0cmluZyBwcmVmc19nZXRfd29ya3NwYWNlX25hbWUgKGludCBpKTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZz X2dldF93b3Jrc3BhY2VzX29ubHlfb25fcHJpbWFyeSIpXQotKwkJcHVibGljIHN0YXRpYyBib29s IHByZWZzX2dldF93b3Jrc3BhY2VzX29ubHlfb25fcHJpbWFyeSAoKTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2luaXQi KV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBwcmVmc19pbml0ICgpOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfc2V0X2Zv cmNlX2Z1bGxzY3JlZW4iKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBwcmVmc19zZXRfZm9yY2Vf ZnVsbHNjcmVlbiAoYm9vbCB3aGV0aGVyKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX3NldF9udW1fd29ya3NwYWNlcyIp XQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHByZWZzX3NldF9udW1fd29ya3NwYWNlcyAoaW50IG5f d29ya3NwYWNlcyk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5o IiwgY25hbWUgPSAibWV0YV9wcmVmc19zZXRfc2hvd19mYWxsYmFja19hcHBfbWVudSIpXQotKwkJ cHVibGljIHN0YXRpYyB2b2lkIHByZWZzX3NldF9zaG93X2ZhbGxiYWNrX2FwcF9tZW51IChib29s IHdoZXRoZXIpOwotKwl9Ci0rCW5hbWVzcGFjZSBVdGlsIHsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfYWRkX3ZlcmJvc2VfdG9waWMi KV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBhZGRfdmVyYm9zZV90b3BpYyAoTWV0YS5EZWJ1Z1Rv cGljIHRvcGljKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIs IGNuYW1lID0gIm1ldGFfZXh0ZXJuYWxfYmluZGluZ19uYW1lX2Zvcl9hY3Rpb24iKV0KLSsJCXB1 YmxpYyBzdGF0aWMgc3RyaW5nIGV4dGVybmFsX2JpbmRpbmdfbmFtZV9mb3JfYWN0aW9uICh1aW50 IGtleWJpbmRpbmdfYWN0aW9uKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfZ2V0X2xvY2FsZV9kaXJlY3Rpb24iKV0KLSsJCXB1Ymxp YyBzdGF0aWMgTWV0YS5Mb2NhbGVEaXJlY3Rpb24gZ2V0X2xvY2FsZV9kaXJlY3Rpb24gKCk7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRh X2dyYXZpdHlfdG9fc3RyaW5nIildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgc3RyaW5nIGdy YXZpdHlfdG9fc3RyaW5nIChNZXRhLkdyYXZpdHkgZ3Jhdml0eSk7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX2lzX3N5bmNpbmciKV0K LSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBpc19zeW5jaW5nICgpOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9pc192ZXJib3NlIildCi0r CQlwdWJsaWMgc3RhdGljIGJvb2wgaXNfdmVyYm9zZSAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfaXNfd2F5bGFuZF9jb21wb3Np dG9yIildCi0rCQlwdWJsaWMgc3RhdGljIGJvb2wgaXNfd2F5bGFuZF9jb21wb3NpdG9yICgpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0 YV9sYXRlcl9hZGQiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdWludCBsYXRlcl9hZGQgKE1ldGEuTGF0 ZXJUeXBlIHdoZW4sIG93bmVkIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfbGF0ZXJfcmVtb3Zl IildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgbGF0ZXJfcmVtb3ZlICh1aW50IGxhdGVyX2lkKTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1l dGFfcG9wX25vX21zZ19wcmVmaXgiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBwb3Bfbm9fbXNn X3ByZWZpeCAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIs IGNuYW1lID0gIm1ldGFfcHVzaF9ub19tc2dfcHJlZml4IildCi0rCQlwdWJsaWMgc3RhdGljIHZv aWQgcHVzaF9ub19tc2dfcHJlZml4ICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9yZWN0IildCi0rCQlwdWJsaWMgc3RhdGljIE1l dGEuUmVjdGFuZ2xlPyByZWN0IChpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJt ZXRhX3JlbW92ZV92ZXJib3NlX3RvcGljIildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgcmVtb3Zl X3ZlcmJvc2VfdG9waWMgKE1ldGEuRGVidWdUb3BpYyB0b3BpYyk7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3Nob3dfZGlhbG9nIild Ci0rCQlwdWJsaWMgc3RhdGljIEdMaWIuUGlkIHNob3dfZGlhbG9nIChzdHJpbmcgdHlwZSwgc3Ry aW5nIG1lc3NhZ2UsIHN0cmluZyB0aW1lb3V0LCBzdHJpbmcgZGlzcGxheSwgc3RyaW5nIG9rX3Rl eHQsIHN0cmluZyBjYW5jZWxfdGV4dCwgc3RyaW5nIGljb25fbmFtZSwgaW50IHRyYW5zaWVudF9m b3IsIEdMaWIuU0xpc3Q8dm9pZCo+IGNvbHVtbnMsIEdMaWIuU0xpc3Q8dm9pZCo+IGVudHJpZXMp OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAi bWV0YV91bnNpZ25lZF9sb25nX2VxdWFsIildCi0rCQlwdWJsaWMgc3RhdGljIGludCB1bnNpZ25l ZF9sb25nX2VxdWFsICh2b2lkKiB2MSwgdm9pZCogdjIpOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV91bnNpZ25lZF9sb25nX2hhc2gi KV0KLSsJCXB1YmxpYyBzdGF0aWMgdWludCB1bnNpZ25lZF9sb25nX2hhc2ggKHZvaWQqIHYpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0 YV94MTFfZXJyb3JfdHJhcF9wb3AiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB4MTFfZXJyb3Jf dHJhcF9wb3AgKE1ldGEuWDExRGlzcGxheSB4MTFfZGlzcGxheSk7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3gxMV9lcnJvcl90cmFw X3BvcF93aXRoX3JldHVybiIpXQotKwkJcHVibGljIHN0YXRpYyBpbnQgeDExX2Vycm9yX3RyYXBf cG9wX3dpdGhfcmV0dXJuIChNZXRhLlgxMURpc3BsYXkgeDExX2Rpc3BsYXkpOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV94MTFfZXJy b3JfdHJhcF9wdXNoIildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgeDExX2Vycm9yX3RyYXBfcHVz aCAoTWV0YS5YMTFEaXNwbGF5IHgxMV9kaXNwbGF5KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZW5k X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBCYWNrZW5kIDogR0xpYi5P YmplY3QsIEdMaWIuSW5pdGFibGUsIEdMaWIuSW5pdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIEJhY2tlbmQgKCk7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIGNuYW1lID0g Im1ldGFfZ2V0X2JhY2tlbmQiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRhLkJhY2tl bmQgZ2V0X2JhY2tlbmQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLkRuZCBnZXRfZG5kICgp OwotKwkJcHVibGljIHVub3duZWQgTWV0YS5SZW1vdGVBY2Nlc3NDb250cm9sbGVyIGdldF9yZW1v dGVfYWNjZXNzX2NvbnRyb2xsZXIgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLlNldHRpbmdz IGdldF9zZXR0aW5ncyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3N0 YWdlICgpOwotKwkJcHVibGljIGJvb2wgaXNfcmVuZGVyaW5nX2hhcmR3YXJlX2FjY2VsZXJhdGVk ICgpOwotKwkJcHVibGljIHZvaWQgbG9ja19sYXlvdXRfZ3JvdXAgKHVpbnQgaWR4KTsKLSsJCXB1 YmxpYyB2b2lkIHNldF9rZXltYXAgKHN0cmluZyBsYXlvdXRzLCBzdHJpbmcgdmFyaWFudHMsIHN0 cmluZyBvcHRpb25zKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9udW1sb2NrIChib29sIG51bWxvY2tf c3RhdGUpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGtleW1hcF9jaGFuZ2VkICgpOwotKwkJcHVi bGljIHNpZ25hbCB2b2lkIGtleW1hcF9sYXlvdXRfZ3JvdXBfY2hhbmdlZCAodWludCBvYmplY3Qp OwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGxhc3RfZGV2aWNlX2NoYW5nZWQgKENsdXR0ZXIuSW5w dXREZXZpY2Ugb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBsaWRfaXNfY2xvc2VkX2No YW5nZWQgKGJvb2wgb2JqZWN0KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tZXRhLWJhY2tncm91bmQuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZ3JvdW5kX2dldF90 eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBCYWNrZ3JvdW5kIDogR0xpYi5PYmplY3QgewotKwkJ W0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIEJhY2tn cm91bmQgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCByZWZy ZXNoX2FsbCAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9ibGVuZCAoR0xpYi5GaWxlIGZpbGUxLCBH TGliLkZpbGUgZmlsZTIsIGRvdWJsZSBibGVuZF9mYWN0b3IsIEdEZXNrdG9wLkJhY2tncm91bmRT dHlsZSBzdHlsZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY29sb3IgKENsdXR0ZXIuQ29sb3IgY29s b3IpOwotKwkJcHVibGljIHZvaWQgc2V0X2ZpbGUgKEdMaWIuRmlsZT8gZmlsZSwgR0Rlc2t0b3Au QmFja2dyb3VuZFN0eWxlIHN0eWxlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9ncmFkaWVudCAoR0Rl c2t0b3AuQmFja2dyb3VuZFNoYWRpbmcgc2hhZGluZ19kaXJlY3Rpb24sIENsdXR0ZXIuQ29sb3Ig Y29sb3IsIENsdXR0ZXIuQ29sb3Igc2Vjb25kX2NvbG9yKTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJcHVibGljIE1ldGEuRGlzcGxheSBtZXRhX2Rpc3BsYXkgeyBvd25lZCBnZXQ7IGNvbnN0 cnVjdDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIGNoYW5nZWQgKCk7Ci0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1iYWNrZ3JvdW5kLWFjdG9yLmgiLCB0eXBl X2lkID0gIm1ldGFfYmFja2dyb3VuZF9hY3Rvcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xh c3MgQmFja2dyb3VuZEFjdG9yIDogQ2x1dHRlci5BY3RvciwgQXRrLkltcGxlbWVudG9yLCBDbHV0 dGVyLkFuaW1hdGFibGUsIENsdXR0ZXIuQ29udGFpbmVyLCBDbHV0dGVyLlNjcmlwdGFibGUgewot KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRl ckFjdG9yKiIpXQotKwkJcHVibGljIEJhY2tncm91bmRBY3RvciAoTWV0YS5EaXNwbGF5IGRpc3Bs YXksIGludCBtb25pdG9yKTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIE1ldGEu RGlzcGxheSBtZXRhX2Rpc3BsYXkgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNj ZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IG1vbml0b3IgeyBnZXQ7IGNvbnN0cnVjdDsgfQot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2dyb3VuZC1j b250ZW50LmgiLCB0eXBlX2lkID0gIm1ldGFfYmFja2dyb3VuZF9jb250ZW50X2dldF90eXBlICgp IildCi0rCXB1YmxpYyBjbGFzcyBCYWNrZ3JvdW5kQ29udGVudCA6IEdMaWIuT2JqZWN0LCBDbHV0 dGVyLkNvbnRlbnQgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Up XQotKwkJcHJvdGVjdGVkIEJhY2tncm91bmRDb250ZW50ICgpOwotKwkJcHVibGljIHN0YXRpYyBD bHV0dGVyLkNvbnRlbnQgQG5ldyAoTWV0YS5EaXNwbGF5IGRpc3BsYXksIGludCBtb25pdG9yKTsK LSsJCXB1YmxpYyB2b2lkIHNldF9iYWNrZ3JvdW5kIChNZXRhLkJhY2tncm91bmQgYmFja2dyb3Vu ZCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfZ3JhZGllbnQgKGJvb2wgZW5hYmxlZCwgaW50IGhlaWdo dCwgZG91YmxlIHRvbmVfc3RhcnQpOwotKwkJcHVibGljIHZvaWQgc2V0X3JvdW5kZWRfY2xpcF9i b3VuZHMgKEdyYXBoZW5lLlJlY3Q/IGJvdW5kcyk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcm91bmRl ZF9jbGlwX3JhZGl1cyAoZmxvYXQgcmFkaXVzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF92aWduZXR0 ZSAoYm9vbCBlbmFibGVkLCBkb3VibGUgYnJpZ2h0bmVzcywgZG91YmxlIHNoYXJwbmVzcyk7Ci0r CQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBNZXRhLkJhY2tncm91bmQgYmFja2dyb3Vu ZCB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBk b3VibGUgYnJpZ2h0bmVzcyB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CXB1YmxpYyBib29sIGdyYWRpZW50IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJcHVibGljIGludCBncmFkaWVudF9oZWlnaHQgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNj ZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgZG91YmxlIGdyYWRpZW50X21heF9kYXJrbmVzcyB7IGdl dDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBNZXRhLkRpc3BsYXkg bWV0YV9kaXNwbGF5IHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJcHVibGljIGludCBtb25pdG9yIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0Fj Y2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGZsb2F0IHJvdW5kZWRfY2xpcF9yYWRpdXMgeyBnZXQ7 IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCB2aWduZXR0ZSB7 IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBkb3VibGUgdmln bmV0dGVfc2hhcnBuZXNzIHsgZ2V0OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tncm91bmQtZ3JvdXAuaCIsIHR5cGVfaWQgPSAibWV0YV9i YWNrZ3JvdW5kX2dyb3VwX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBCYWNrZ3JvdW5k R3JvdXAgOiBDbHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJs ZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCi0r CQlwdWJsaWMgQmFja2dyb3VuZEdyb3VwICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21ldGEtYmFja2dyb3VuZC1pbWFnZS5oIiwgdHlwZV9pZCA9ICJtZXRhX2Jh Y2tncm91bmRfaW1hZ2VfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJhY2tncm91bmRJ bWFnZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBCYWNrZ3JvdW5kSW1hZ2UgKCk7Ci0rCQlwdWJsaWMgYm9v bCBnZXRfc3VjY2VzcyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuVGV4dHVyZSBnZXRfdGV4 dHVyZSAoKTsKLSsJCXB1YmxpYyBib29sIGlzX2xvYWRlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwg dm9pZCBsb2FkZWQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWV0YS1iYWNrZ3JvdW5kLWltYWdlLmgiLCB0eXBlX2lkID0gIm1ldGFfYmFja2dyb3VuZF9pbWFn ZV9jYWNoZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgQmFja2dyb3VuZEltYWdlQ2Fj aGUgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSldCi0rCQlwcm90ZWN0ZWQgQmFja2dyb3VuZEltYWdlQ2FjaGUgKCk7Ci0rCQlwdWJsaWMg c3RhdGljIHVub3duZWQgTWV0YS5CYWNrZ3JvdW5kSW1hZ2VDYWNoZSBnZXRfZGVmYXVsdCAoKTsK LSsJCXB1YmxpYyBNZXRhLkJhY2tncm91bmRJbWFnZSBsb2FkIChHTGliLkZpbGUgZmlsZSk7Ci0r CQlwdWJsaWMgdm9pZCBwdXJnZSAoR0xpYi5GaWxlIGZpbGUpOwotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL2JhcnJpZXIuaCIsIHR5cGVfaWQgPSAibWV0YV9iYXJyaWVy X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBCYXJyaWVyIDogR0xpYi5PYmplY3Qgewot KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVk IEJhcnJpZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBkZXN0cm95ICgpOwotKwkJcHVibGljIGJvb2wg aXNfYWN0aXZlICgpOwotKwkJcHVibGljIHZvaWQgcmVsZWFzZSAoTWV0YS5CYXJyaWVyRXZlbnQg ZXZlbnQpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgTWV0YS5CYXJyaWVyRGly ZWN0aW9uIGRpcmVjdGlvbnMgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRo b2RdCi0rCQlwdWJsaWMgTWV0YS5EaXNwbGF5IGRpc3BsYXkgeyBvd25lZCBnZXQ7IGNvbnN0cnVj dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IHgxIHsgZ2V0OyBjb25z dHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGludCB4MiB7IGdldDsg Y29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQgeTEgeyBn ZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IHky IHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBoaXQgKE1ldGEuQmFy cmllckV2ZW50IGV2ZW50KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBsZWZ0IChNZXRhLkJhcnJp ZXJFdmVudCBldmVudCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv YmFycmllci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9u ID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAibWV0YV9iYXJyaWVyX2V2ZW50X2dldF90eXBl ICgpIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgQmFycmllckV2ZW50IHsKLSsJCXB1 YmxpYyBpbnQgZHQ7Ci0rCQlwdWJsaWMgZG91YmxlIGR4OwotKwkJcHVibGljIGRvdWJsZSBkeTsK LSsJCXB1YmxpYyBpbnQgZXZlbnRfaWQ7Ci0rCQlwdWJsaWMgYm9vbCBncmFiYmVkOwotKwkJcHVi bGljIGJvb2wgcmVsZWFzZWQ7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgZG91 YmxlIHg7Ci0rCQlwdWJsaWMgZG91YmxlIHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWV0YS1jdXJzb3ItdHJhY2tlci5oIiwgdHlwZV9pZCA9ICJtZXRhX2N1cnNv cl90cmFja2VyX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBDdXJzb3JUcmFja2VyIDog R0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Up XQotKwkJcHJvdGVjdGVkIEN1cnNvclRyYWNrZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfaG90 IChvdXQgaW50IHgsIG91dCBpbnQgeSk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfcG9pbnRlciAoR3Jh cGhlbmUuUG9pbnQgY29vcmRzLCBvdXQgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kcyk7Ci0rCQlw dWJsaWMgYm9vbCBnZXRfcG9pbnRlcl92aXNpYmxlICgpOwotKwkJcHVibGljIHVub3duZWQgQ29n bC5UZXh0dXJlIGdldF9zcHJpdGUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcG9pbnRlcl92aXNp YmxlIChib29sIHZpc2libGUpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgTWV0 YS5CYWNrZW5kIGJhY2tlbmQgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIHNp Z25hbCB2b2lkIGN1cnNvcl9jaGFuZ2VkICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHBvc2l0 aW9uX2ludmFsaWRhdGVkICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHZpc2liaWxpdHlfY2hh bmdlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9kaXNwbGF5 LmgiLCB0eXBlX2lkID0gIm1ldGFfZGlzcGxheV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xh c3MgRGlzcGxheSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBEaXNwbGF5ICgpOwotKwkJcHVibGljIHZvaWQg YWRkX2lnbm9yZWRfY3Jvc3Npbmdfc2VyaWFsICh1bG9uZyBzZXJpYWwpOwotKwkJcHVibGljIHVp bnQgYWRkX2tleWJpbmRpbmcgKHN0cmluZyBuYW1lLCBHTGliLlNldHRpbmdzIHNldHRpbmdzLCBN ZXRhLktleUJpbmRpbmdGbGFncyBmbGFncywgb3duZWQgTWV0YS5LZXlIYW5kbGVyRnVuYyBoYW5k bGVyKTsKLSsJCXB1YmxpYyBib29sIGJlZ2luX2dyYWJfb3AgKE1ldGEuV2luZG93IHdpbmRvdywg TWV0YS5HcmFiT3Agb3AsIGJvb2wgcG9pbnRlcl9hbHJlYWR5X2dyYWJiZWQsIGJvb2wgZnJhbWVf YWN0aW9uLCBpbnQgYnV0dG9uLCB1bG9uZyBtb2RtYXNrLCB1aW50MzIgdGltZXN0YW1wLCBpbnQg cm9vdF94LCBpbnQgcm9vdF95KTsKLSsJCXB1YmxpYyB2b2lkIGNsZWFyX21vdXNlX21vZGUgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBjbG9zZSAodWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9p ZCBlbmRfZ3JhYl9vcCAodWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9pZCBmb2N1c19k ZWZhdWx0X3dpbmRvdyAodWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9pZCBmcmVlemVf a2V5Ym9hcmQgKHVpbnQzMiB0aW1lc3RhbXApOwotKwkJcHVibGljIENsdXR0ZXIuTW9kaWZpZXJU eXBlIGdldF9jb21wb3NpdG9yX21vZGlmaWVycyAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X2N1cnJl bnRfbW9uaXRvciAoKTsKLSsJCXB1YmxpYyB1aW50MzIgZ2V0X2N1cnJlbnRfdGltZSAoKTsKLSsJ CXB1YmxpYyB1aW50MzIgZ2V0X2N1cnJlbnRfdGltZV9yb3VuZHRyaXAgKCk7Ci0rCQlbQ0NvZGUg KGNuYW1lID0gIm1ldGFfY3Vyc29yX3RyYWNrZXJfZ2V0X2Zvcl9kaXNwbGF5IildCi0rCQlwdWJs aWMgdW5vd25lZCBNZXRhLkN1cnNvclRyYWNrZXIgZ2V0X2N1cnNvcl90cmFja2VyICgpOwotKwkJ cHVibGljIHVub3duZWQgTWV0YS5XaW5kb3cgZ2V0X2ZvY3VzX3dpbmRvdyAoKTsKLSsJCXB1Ymxp YyBNZXRhLkdyYWJPcCBnZXRfZ3JhYl9vcCAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF9rZXliaW5k aW5nX2FjdGlvbiAodWludCBrZXljb2RlLCB1bG9uZyBtYXNrKTsKLSsJCXB1YmxpYyB1aW50MzIg Z2V0X2xhc3RfdXNlcl90aW1lICgpOwotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGdldF9tb25p dG9yX2dlb21ldHJ5IChpbnQgbW9uaXRvcik7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfbW9uaXRvcl9p bl9mdWxsc2NyZWVuIChpbnQgbW9uaXRvcik7Ci0rCQlwdWJsaWMgaW50IGdldF9tb25pdG9yX2lu ZGV4X2Zvcl9yZWN0IChNZXRhLlJlY3RhbmdsZSByZWN0KTsKLSsJCXB1YmxpYyBpbnQgZ2V0X21v bml0b3JfbmVpZ2hib3JfaW5kZXggKGludCB3aGljaF9tb25pdG9yLCBNZXRhLkRpc3BsYXlEaXJl Y3Rpb24gZGlyKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfbW9uaXRvcl9zY2FsZSAoaW50IG1vbml0 b3IpOwotKwkJcHVibGljIGludCBnZXRfbl9tb25pdG9ycyAoKTsKLSsJCXB1YmxpYyBzdHJpbmcg Z2V0X3BhZF9hY3Rpb25fbGFiZWwgKENsdXR0ZXIuSW5wdXREZXZpY2UgcGFkLCBNZXRhLlBhZEFj dGlvblR5cGUgYWN0aW9uX3R5cGUsIHVpbnQgYWN0aW9uX251bWJlcik7Ci0rCQlwdWJsaWMgaW50 IGdldF9wcmltYXJ5X21vbml0b3IgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLlNlbGVjdGlv biBnZXRfc2VsZWN0aW9uICgpOwotKwkJcHVibGljIHZvaWQgZ2V0X3NpemUgKG91dCBpbnQgd2lk dGgsIG91dCBpbnQgaGVpZ2h0KTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuU291bmRQbGF5ZXIg Z2V0X3NvdW5kX3BsYXllciAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuV2luZG93IGdldF90 YWJfY3VycmVudCAoTWV0YS5UYWJMaXN0IHR5cGUsIE1ldGEuV29ya3NwYWNlIHdvcmtzcGFjZSk7 Ci0rCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgTWV0YS5XaW5kb3c+IGdldF90YWJfbGlzdCAoTWV0 YS5UYWJMaXN0IHR5cGUsIE1ldGEuV29ya3NwYWNlPyB3b3Jrc3BhY2UpOwotKwkJcHVibGljIHVu b3duZWQgTWV0YS5XaW5kb3cgZ2V0X3RhYl9uZXh0IChNZXRhLlRhYkxpc3QgdHlwZSwgTWV0YS5X b3Jrc3BhY2Ugd29ya3NwYWNlLCBNZXRhLldpbmRvdz8gd2luZG93LCBib29sIGJhY2t3YXJkKTsK LSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuV29ya3NwYWNlTWFuYWdlciBnZXRfd29ya3NwYWNlX21h bmFnZXIgKCk7Ci0rCQlwdWJsaWMgdWludCBncmFiX2FjY2VsZXJhdG9yIChzdHJpbmcgYWNjZWxl cmF0b3IsIE1ldGEuS2V5QmluZGluZ0ZsYWdzIGZsYWdzKTsKLSsJCXB1YmxpYyBib29sIGlzX3Bv aW50ZXJfZW11bGF0aW5nX3NlcXVlbmNlIChDbHV0dGVyLkV2ZW50U2VxdWVuY2U/IHNlcXVlbmNl KTsKLSsJCXB1YmxpYyBib29sIHJlbW92ZV9rZXliaW5kaW5nIChzdHJpbmcgbmFtZSk7Ci0rCQlw dWJsaWMgdm9pZCByZXF1ZXN0X3BhZF9vc2QgKENsdXR0ZXIuSW5wdXREZXZpY2UgcGFkLCBib29s IGVkaXRpb25fbW9kZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY3Vyc29yIChNZXRhLkN1cnNvciBj dXJzb3IpOwotKwkJcHVibGljIHZvaWQgc2V0X2lucHV0X2ZvY3VzIChNZXRhLldpbmRvdyB3aW5k b3csIGJvb2wgZm9jdXNfZnJhbWUsIHVpbnQzMiB0aW1lc3RhbXApOwotKwkJcHVibGljIEdMaWIu U0xpc3Q8d2VhayBNZXRhLldpbmRvdz4gc29ydF93aW5kb3dzX2J5X3N0YWNraW5nIChHTGliLlNM aXN0PE1ldGEuV2luZG93PiB3aW5kb3dzKTsKLSsJCXB1YmxpYyBib29sIHN1cHBvcnRzX2V4dGVu ZGVkX2JhcnJpZXJzICgpOwotKwkJcHVibGljIHZvaWQgdW5mcmVlemVfa2V5Ym9hcmQgKHVpbnQz MiB0aW1lc3RhbXApOwotKwkJcHVibGljIGJvb2wgdW5ncmFiX2FjY2VsZXJhdG9yICh1aW50IGFj dGlvbl9pZCk7Ci0rCQlwdWJsaWMgdm9pZCB1bmdyYWJfa2V5Ym9hcmQgKHVpbnQzMiB0aW1lc3Rh bXApOwotKwkJcHVibGljIHZvaWQgdW5zZXRfaW5wdXRfZm9jdXMgKHVpbnQzMiB0aW1lc3RhbXAp OwotKwkJcHVibGljIGJvb2wgeHNlcnZlcl90aW1lX2lzX2JlZm9yZSAodWludDMyIHRpbWUxLCB1 aW50MzIgdGltZTIpOwotKwkJcHVibGljIENsdXR0ZXIuTW9kaWZpZXJUeXBlIGNvbXBvc2l0b3Jf bW9kaWZpZXJzIHsgZ2V0OyB9Ci0rCQlwdWJsaWMgTWV0YS5XaW5kb3cgZm9jdXNfd2luZG93IHsg Z2V0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgYWNjZWxlcmF0b3JfYWN0aXZhdGVkICh1aW50 IG9iamVjdCwgQ2x1dHRlci5JbnB1dERldmljZSBwMCwgdWludCBwMSk7Ci0rCQlwdWJsaWMgc2ln bmFsIHZvaWQgY2xvc2luZyAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBjdXJzb3JfdXBkYXRl ZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBnbF92aWRlb19tZW1vcnlfcHVyZ2VkICgpOwot KwkJcHVibGljIHNpZ25hbCB2b2lkIGdyYWJfb3BfYmVnaW4gKE1ldGEuV2luZG93IG9iamVjdCwg TWV0YS5HcmFiT3AgcDApOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGdyYWJfb3BfZW5kIChNZXRh LldpbmRvdyBvYmplY3QsIE1ldGEuR3JhYk9wIHAwKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBp bl9mdWxsc2NyZWVuX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIGJvb2wgaW5pdF94c2Vy dmVyIChHTGliLlRhc2sgb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwgYm9vbCBtb2RpZmllcnNf YWNjZWxlcmF0b3JfYWN0aXZhdGVkICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIG92ZXJsYXlf a2V5ICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHBhZF9tb2RlX3N3aXRjaCAoQ2x1dHRlci5J bnB1dERldmljZSBvYmplY3QsIHVpbnQgcDAsIHVpbnQgcDEpOwotKwkJcHVibGljIHNpZ25hbCB2 b2lkIHJlc3RhY2tlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgYm9vbCByZXN0YXJ0ICgpOwotKwkJ cHVibGljIHNpZ25hbCB2b2lkIHNob3dfb3NkIChpbnQgb2JqZWN0LCBzdHJpbmcgcDAsIHN0cmlu ZyBwMSk7Ci0rCQlwdWJsaWMgc2lnbmFsIHVub3duZWQgQ2x1dHRlci5BY3Rvcj8gc2hvd19wYWRf b3NkIChDbHV0dGVyLklucHV0RGV2aWNlIHBhZCwgR0xpYi5TZXR0aW5ncyBzZXR0aW5ncywgc3Ry aW5nIGxheW91dF9wYXRoLCBib29sIGVkaXRpb25fbW9kZSwgaW50IG1vbml0b3JfaWR4KTsKLSsJ CXB1YmxpYyBzaWduYWwgYm9vbCBzaG93X3Jlc2l6ZV9wb3B1cCAoYm9vbCBvYmplY3QsIE1ldGEu UmVjdGFuZ2xlIHAwLCBpbnQgcDEsIGludCBwMik7Ci0rCQlwdWJsaWMgc2lnbmFsIGJvb2wgc2hv d19yZXN0YXJ0X21lc3NhZ2UgKHN0cmluZz8gbWVzc2FnZSk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZv aWQgc2hvd2luZ19kZXNrdG9wX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd2lu ZG93X2NyZWF0ZWQgKE1ldGEuV2luZG93IG9iamVjdCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQg d2luZG93X2RlbWFuZHNfYXR0ZW50aW9uIChNZXRhLldpbmRvdyBvYmplY3QpOwotKwkJcHVibGlj IHNpZ25hbCB2b2lkIHdpbmRvd19lbnRlcmVkX21vbml0b3IgKGludCBvYmplY3QsIE1ldGEuV2lu ZG93IHAwKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB3aW5kb3dfbGVmdF9tb25pdG9yIChpbnQg b2JqZWN0LCBNZXRhLldpbmRvdyBwMCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd2luZG93X21h cmtlZF91cmdlbnQgKE1ldGEuV2luZG93IG9iamVjdCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQg d29ya2FyZWFzX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgeDExX2Rpc3BsYXlf Y2xvc2luZyAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB4MTFfZGlzcGxheV9vcGVuZWQgKCk7 Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgeDExX2Rpc3BsYXlfc2V0dXAgKCk7Ci0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1kbmQuaCIsIHR5cGVfaWQgPSAibWV0 YV9kbmRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIERuZCA6IEdMaWIuT2JqZWN0IHsK LSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3Rl ZCBEbmQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZG5kX2VudGVyICgpOwotKwkJcHVibGlj IHNpZ25hbCB2b2lkIGRuZF9sZWF2ZSAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBkbmRfcG9z aXRpb25fY2hhbmdlIChpbnQgb2JqZWN0LCBpbnQgcDApOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29t cGFjdF0KLSsJcHVibGljIGNsYXNzIEZyYW1lIHsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tZXRhLWlkbGUtbW9uaXRvci5oIiwgdHlwZV9pZCA9ICJtZXRhX2lkbGVf bW9uaXRvcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgSWRsZU1vbml0b3IgOiBHTGli Lk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0r CQlwcm90ZWN0ZWQgSWRsZU1vbml0b3IgKCk7Ci0rCQlwdWJsaWMgdWludCBhZGRfaWRsZV93YXRj aCAodWludDY0IGludGVydmFsX21zZWMsIG93bmVkIE1ldGEuSWRsZU1vbml0b3JXYXRjaEZ1bmM/ IGNhbGxiYWNrKTsKLSsJCXB1YmxpYyB1aW50IGFkZF91c2VyX2FjdGl2ZV93YXRjaCAob3duZWQg TWV0YS5JZGxlTW9uaXRvcldhdGNoRnVuYz8gY2FsbGJhY2spOwotKwkJcHVibGljIHN0YXRpYyB1 bm93bmVkIE1ldGEuSWRsZU1vbml0b3IgZ2V0X2NvcmUgKCk7Ci0rCQlwdWJsaWMgaW50NjQgZ2V0 X2lkbGV0aW1lICgpOwotKwkJcHVibGljIHZvaWQgcmVtb3ZlX3dhdGNoICh1aW50IGlkKTsKLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNl IHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9tYWluLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVf ZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJtZXRhX2tleV9iaW5kaW5nX2dl dF90eXBlICgpIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgS2V5QmluZGluZyB7Ci0r CQlwdWJsaWMgdWludCBnZXRfbWFzayAoKTsKLSsJCXB1YmxpYyBNZXRhLlZpcnR1YWxNb2RpZmll ciBnZXRfbW9kaWZpZXJzICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9uYW1lICgp OwotKwkJcHVibGljIGJvb2wgaXNfYnVpbHRpbiAoKTsKLSsJCXB1YmxpYyBib29sIGlzX3JldmVy c2VkICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJtZXRhX2tleWJpbmRpbmdzX3NldF9jdXN0b21f aGFuZGxlciIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHNldF9jdXN0b21faGFuZGxlciAoc3Ry aW5nIG5hbWUsIG93bmVkIE1ldGEuS2V5SGFuZGxlckZ1bmM/IGhhbmRsZXIpOwotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtbGF1bmNoLWNvbnRleHQuaCIsIHR5 cGVfaWQgPSAibWV0YV9sYXVuY2hfY29udGV4dF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xh c3MgTGF1bmNoQ29udGV4dCA6IEdMaWIuQXBwTGF1bmNoQ29udGV4dCB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgTGF1bmNoQ29udGV4 dCAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF90aW1lc3RhbXAgKHVpbnQzMiB0aW1lc3RhbXApOwot KwkJcHVibGljIHZvaWQgc2V0X3dvcmtzcGFjZSAoTWV0YS5Xb3Jrc3BhY2Ugd29ya3NwYWNlKTsK LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIE1ldGEuRGlzcGxheSBkaXNwbGF5IHsg b3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGlj IHVpbnQgdGltZXN0YW1wIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ cHVibGljIE1ldGEuV29ya3NwYWNlIHdvcmtzcGFjZSB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1tb25pdG9yLW1hbmFnZXIu aCIsIHR5cGVfaWQgPSAibWV0YV9tb25pdG9yX21hbmFnZXJfZ2V0X3R5cGUgKCkiKV0KLSsJcHVi bGljIGNsYXNzIE1vbml0b3JNYW5hZ2VyIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIE1vbml0b3JNYW5hZ2Vy ICgpOwotKwkJcHVibGljIGJvb2wgY2FuX3N3aXRjaF9jb25maWcgKCk7Ci0rCQlwdWJsaWMgc3Rh dGljIHVub3duZWQgTWV0YS5Nb25pdG9yTWFuYWdlciBAZ2V0ICgpOwotKwkJcHVibGljIHN0YXRp YyBpbnQgZ2V0X2Rpc3BsYXlfY29uZmlndXJhdGlvbl90aW1lb3V0ICgpOwotKwkJcHVibGljIGJv b2wgZ2V0X2lzX2J1aWx0aW5fZGlzcGxheV9vbiAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X21vbml0 b3JfZm9yX2Nvbm5lY3RvciAoc3RyaW5nIGNvbm5lY3Rvcik7Ci0rCQlwdWJsaWMgYm9vbCBnZXRf cGFuZWxfb3JpZW50YXRpb25fbWFuYWdlZCAoKTsKLSsJCXB1YmxpYyBNZXRhLk1vbml0b3JTd2l0 Y2hDb25maWdUeXBlIGdldF9zd2l0Y2hfY29uZmlnICgpOwotKwkJcHVibGljIHZvaWQgc3dpdGNo X2NvbmZpZyAoTWV0YS5Nb25pdG9yU3dpdGNoQ29uZmlnVHlwZSBjb25maWdfdHlwZSk7Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBNZXRhLkJhY2tlbmQgYmFja2VuZCB7IG93bmVk IGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgYm9vbCBwYW5lbF9vcmllbnRhdGlvbl9tYW5h Z2VkIHsgZ2V0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgY29uZmlybV9kaXNwbGF5X2NoYW5n ZSAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBtb25pdG9yc19jaGFuZ2VkICgpOwotKwkJcHVi bGljIHNpZ25hbCB2b2lkIG1vbml0b3JzX2NoYW5nZWRfaW50ZXJuYWwgKCk7Ci0rCQlwdWJsaWMg c2lnbmFsIHZvaWQgcG93ZXJfc2F2ZV9tb2RlX2NoYW5nZWQgKCk7Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1wbHVnaW4uaCIsIHR5cGVfaWQgPSAibWV0YV9w bHVnaW5fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIFBsdWdpbiA6IEdM aWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0K LSsJCXByb3RlY3RlZCBQbHVnaW4gKCk7Ci0rCQlwdWJsaWMgYm9vbCBiZWdpbl9tb2RhbCAoTWV0 YS5Nb2RhbE9wdGlvbnMgb3B0aW9ucywgdWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9p ZCBjb21wbGV0ZV9kaXNwbGF5X2NoYW5nZSAoYm9vbCBvayk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJ cHVibGljIHZpcnR1YWwgdm9pZCBjb25maXJtX2Rpc3BsYXlfY2hhbmdlICgpOwotKwkJW05vV3Jh cHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZGVzdHJveSAoTWV0YS5XaW5kb3dBY3RvciBh Y3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBkZXN0cm95X2NvbXBsZXRlZCAoTWV0YS5XaW5kb3dBY3Rv ciBhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBlbmRfbW9kYWwgKHVpbnQzMiB0aW1lc3RhbXApOwot KwkJcHVibGljIHVub3duZWQgTWV0YS5EaXNwbGF5IGdldF9kaXNwbGF5ICgpOwotKwkJcHVibGlj IHVub3duZWQgTWV0YS5QbHVnaW5JbmZvPyBnZXRfaW5mbyAoKTsKLSsJCVtOb1dyYXBwZXJdCi0r CQlwdWJsaWMgdmlydHVhbCB2b2lkIGhpZGVfdGlsZV9wcmV2aWV3ICgpOwotKwkJW05vV3JhcHBl cl0KLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wga2V5YmluZGluZ19maWx0ZXIgKE1ldGEuS2V5Qmlu ZGluZyBiaW5kaW5nKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGtp bGxfc3dpdGNoX3dvcmtzcGFjZSAoKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVh bCB2b2lkIGtpbGxfd2luZG93X2VmZmVjdHMgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOwotKwkJ W05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbG9jYXRlX3BvaW50ZXIgKCk7Ci0r CQlwdWJsaWMgc3RhdGljIHZvaWQgbWFuYWdlcl9zZXRfcGx1Z2luX3R5cGUgKEdMaWIuVHlwZSBn dHlwZSk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBtYXAgKE1ldGEu V2luZG93QWN0b3IgYWN0b3IpOwotKwkJcHVibGljIHZvaWQgbWFwX2NvbXBsZXRlZCAoTWV0YS5X aW5kb3dBY3RvciBhY3Rvcik7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9p ZCBtaW5pbWl6ZSAoTWV0YS5XaW5kb3dBY3RvciBhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBtaW5p bWl6ZV9jb21wbGV0ZWQgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOwotKwkJW05vV3JhcHBlcl0K LSsJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgTWV0YS5QbHVnaW5JbmZvPyBwbHVnaW5faW5mbyAo KTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNob3dfdGlsZV9wcmV2 aWV3IChNZXRhLldpbmRvdyB3aW5kb3csIE1ldGEuUmVjdGFuZ2xlIHRpbGVfcmVjdCwgaW50IHRp bGVfbW9uaXRvcl9udW1iZXIpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZv aWQgc2hvd193aW5kb3dfbWVudSAoTWV0YS5XaW5kb3cgd2luZG93LCBNZXRhLldpbmRvd01lbnVU eXBlIG1lbnUsIGludCB4LCBpbnQgeSk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1 YWwgdm9pZCBzaG93X3dpbmRvd19tZW51X2Zvcl9yZWN0IChNZXRhLldpbmRvdyB3aW5kb3csIE1l dGEuV2luZG93TWVudVR5cGUgbWVudSwgTWV0YS5SZWN0YW5nbGUgcmVjdCk7Ci0rCQlbTm9XcmFw cGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzaXplX2NoYW5nZSAoTWV0YS5XaW5kb3dBY3Rv ciBhY3RvciwgTWV0YS5TaXplQ2hhbmdlIHdoaWNoX2NoYW5nZSwgTWV0YS5SZWN0YW5nbGUgb2xk X2ZyYW1lX3JlY3QsIE1ldGEuUmVjdGFuZ2xlIG9sZF9idWZmZXJfcmVjdCk7Ci0rCQlwdWJsaWMg dm9pZCBzaXplX2NoYW5nZV9jb21wbGV0ZWQgKE1ldGEuV2luZG93QWN0b3IgYWN0b3IpOwotKwkJ W05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2l6ZV9jaGFuZ2VkIChNZXRhLldp bmRvd0FjdG9yIGFjdG9yKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lk IHN0YXJ0ICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc3dpdGNo X3dvcmtzcGFjZSAoaW50IGZyb20sIGludCB0bywgTWV0YS5Nb3Rpb25EaXJlY3Rpb24gZGlyZWN0 aW9uKTsKLSsJCXB1YmxpYyB2b2lkIHN3aXRjaF93b3Jrc3BhY2VfY29tcGxldGVkICgpOwotKwkJ W05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgdW5taW5pbWl6ZSAoTWV0YS5XaW5k b3dBY3RvciBhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCB1bm1pbmltaXplX2NvbXBsZXRlZCAoTWV0 YS5XaW5kb3dBY3RvciBhY3Rvcik7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwg Ym9vbCB4ZXZlbnRfZmlsdGVyIChYLkV2ZW50IGV2ZW50KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXJlbW90ZS1hY2Nlc3MtY29udHJvbGxlci5oIiwgdHlw ZV9pZCA9ICJtZXRhX3JlbW90ZV9hY2Nlc3NfY29udHJvbGxlcl9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgY2xhc3MgUmVtb3RlQWNjZXNzQ29udHJvbGxlciA6IEdMaWIuT2JqZWN0IHsKLSsJCVtD Q29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBSZW1v dGVBY2Nlc3NDb250cm9sbGVyICgpOwotKwkJcHVibGljIHZvaWQgaW5oaWJpdF9yZW1vdGVfYWNj ZXNzICgpOwotKwkJcHVibGljIHZvaWQgdW5pbmhpYml0X3JlbW90ZV9hY2Nlc3MgKCk7Ci0rCQlw dWJsaWMgc2lnbmFsIHZvaWQgbmV3X2hhbmRsZSAoTWV0YS5SZW1vdGVBY2Nlc3NIYW5kbGUgb2Jq ZWN0KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXJlbW90 ZS1hY2Nlc3MtY29udHJvbGxlci5oIiwgdHlwZV9pZCA9ICJtZXRhX3JlbW90ZV9hY2Nlc3NfaGFu ZGxlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBSZW1vdGVBY2Nlc3NIYW5kbGUgOiBH TGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSld Ci0rCQlwcm90ZWN0ZWQgUmVtb3RlQWNjZXNzSGFuZGxlICgpOwotKwkJcHVibGljIGJvb2wgZ2V0 X2Rpc2FibGVfYW5pbWF0aW9ucyAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc3RvcCAoKTsK LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgaXNfcmVjb3JkaW5nIHsgZ2V0 OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBzdG9wcGVkICgpOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc2VsZWN0aW9uLmgiLCB0eXBl X2lkID0gIm1ldGFfc2VsZWN0aW9uX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBTZWxl Y3Rpb24gOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24g PSBmYWxzZSldCi0rCQlwdWJsaWMgU2VsZWN0aW9uIChNZXRhLkRpc3BsYXkgZGlzcGxheSk7Ci0r CQlwdWJsaWMgR0xpYi5MaXN0PHN0cmluZz4gZ2V0X21pbWV0eXBlcyAoTWV0YS5TZWxlY3Rpb25U eXBlIHNlbGVjdGlvbl90eXBlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9vd25lciAoTWV0YS5TZWxl Y3Rpb25UeXBlIHNlbGVjdGlvbl90eXBlLCBNZXRhLlNlbGVjdGlvblNvdXJjZSBvd25lcik7Ci0r CQlwdWJsaWMgYXN5bmMgYm9vbCB0cmFuc2Zlcl9hc3luYyAoTWV0YS5TZWxlY3Rpb25UeXBlIHNl bGVjdGlvbl90eXBlLCBzdHJpbmcgbWltZXR5cGUsIHNzaXplX3Qgc2l6ZSwgR0xpYi5PdXRwdXRT dHJlYW0gb3V0cHV0LCBHTGliLkNhbmNlbGxhYmxlPyBjYW5jZWxsYWJsZSkgdGhyb3dzIEdMaWIu RXJyb3I7Ci0rCQlwdWJsaWMgdm9pZCB1bnNldF9vd25lciAoTWV0YS5TZWxlY3Rpb25UeXBlIHNl bGVjdGlvbl90eXBlLCBNZXRhLlNlbGVjdGlvblNvdXJjZSBvd25lcik7Ci0rCQlwdWJsaWMgc2ln bmFsIHZvaWQgb3duZXJfY2hhbmdlZCAodWludCBvYmplY3QsIE1ldGEuU2VsZWN0aW9uU291cmNl IHAwKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXNlbGVj dGlvbi5oIiwgdHlwZV9pZCA9ICJtZXRhX3NlbGVjdGlvbl9zb3VyY2VfZ2V0X3R5cGUgKCkiKV0K LSsJcHVibGljIGNsYXNzIFNlbGVjdGlvblNvdXJjZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTZWxlY3Rp b25Tb3VyY2UgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBHTGliLkxpc3Q8c3RyaW5nPiBnZXRfbWlt ZXR5cGVzICgpOwotKwkJcHVibGljIGJvb2wgaXNfYWN0aXZlICgpOwotKwkJcHVibGljIHZpcnR1 YWwgYXN5bmMgR0xpYi5JbnB1dFN0cmVhbSByZWFkX2FzeW5jIChzdHJpbmcgbWltZXR5cGUsIEdM aWIuQ2FuY2VsbGFibGU/IGNhbmNlbGxhYmxlKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCXB1Ymxp YyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdGl2YXRlZCAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCB2b2lkIGRlYWN0aXZhdGVkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL21ldGEtc2VsZWN0aW9uLXNvdXJjZS1tZW1vcnkuaCIsIHR5cGVfaWQgPSAibWV0 YV9zZWxlY3Rpb25fc291cmNlX21lbW9yeV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3Mg U2VsZWN0aW9uU291cmNlTWVtb3J5IDogTWV0YS5TZWxlY3Rpb25Tb3VyY2UgewotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiTWV0YVNlbGVjdGlvblNv dXJjZSoiKV0KLSsJCXB1YmxpYyBTZWxlY3Rpb25Tb3VyY2VNZW1vcnkgKHN0cmluZyBtaW1ldHlw ZSwgR0xpYi5CeXRlcyBjb250ZW50KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tZXRhLXNldHRpbmdzLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBh Y3RdCi0rCXB1YmxpYyBjbGFzcyBTZXR0aW5ncyB7Ci0rCQlwdWJsaWMgaW50IGdldF9mb250X2Rw aSAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X3VpX3NjYWxpbmdfZmFjdG9yICgpOwotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIHJlZl9mdW5jdGlvbiA9ICJt ZXRhX3NoYWRvd19yZWYiLCB0eXBlX2lkID0gIm1ldGFfc2hhZG93X2dldF90eXBlICgpIiwgdW5y ZWZfZnVuY3Rpb24gPSAibWV0YV9zaGFkb3dfdW5yZWYiKV0KLSsJW0NvbXBhY3RdCi0rCXB1Ymxp YyBjbGFzcyBTaGFkb3cgewotKwkJcHVibGljIHZvaWQgZ2V0X2JvdW5kcyAoaW50IHdpbmRvd194 LCBpbnQgd2luZG93X3ksIGludCB3aW5kb3dfd2lkdGgsIGludCB3aW5kb3dfaGVpZ2h0LCBDYWly by5SZWN0YW5nbGVJbnQgYm91bmRzKTsKLSsJCXB1YmxpYyB2b2lkIHBhaW50IChDb2dsLkZyYW1l YnVmZmVyIGZyYW1lYnVmZmVyLCBpbnQgd2luZG93X3gsIGludCB3aW5kb3dfeSwgaW50IHdpbmRv d193aWR0aCwgaW50IHdpbmRvd19oZWlnaHQsIHVpbnQ4IG9wYWNpdHksIENhaXJvLlJlZ2lvbj8g Y2xpcCwgYm9vbCBjbGlwX3N0cmljdGx5KTsKLSsJCXB1YmxpYyBNZXRhLlNoYWRvdyBAcmVmICgp OwotKwkJcHVibGljIHZvaWQgdW5yZWYgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWV0YS1zaGFkb3ctZmFjdG9yeS5oIiwgdHlwZV9pZCA9ICJtZXRhX3NoYWRv d19mYWN0b3J5X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBTaGFkb3dGYWN0b3J5IDog R0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Up XQotKwkJcHVibGljIFNoYWRvd0ZhY3RvcnkgKCk7Ci0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQg TWV0YS5TaGFkb3dGYWN0b3J5IGdldF9kZWZhdWx0ICgpOwotKwkJcHVibGljIE1ldGEuU2hhZG93 UGFyYW1zIGdldF9wYXJhbXMgKHN0cmluZyBjbGFzc19uYW1lLCBib29sIGZvY3VzZWQpOwotKwkJ cHVibGljIE1ldGEuU2hhZG93IGdldF9zaGFkb3cgKE1ldGEuV2luZG93U2hhcGUgc2hhcGUsIGlu dCB3aWR0aCwgaW50IGhlaWdodCwgc3RyaW5nIGNsYXNzX25hbWUsIGJvb2wgZm9jdXNlZCk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfcGFyYW1zIChzdHJpbmcgY2xhc3NfbmFtZSwgYm9vbCBmb2N1c2Vk LCBNZXRhLlNoYWRvd1BhcmFtcyBAcGFyYW1zKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBjaGFu Z2VkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc2hh cGVkLXRleHR1cmUuaCIsIHR5cGVfaWQgPSAibWV0YV9zaGFwZWRfdGV4dHVyZV9nZXRfdHlwZSAo KSIpXQotKwlwdWJsaWMgY2xhc3MgU2hhcGVkVGV4dHVyZSA6IEdMaWIuT2JqZWN0LCBDbHV0dGVy LkNvbnRlbnQgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQot KwkJcHJvdGVjdGVkIFNoYXBlZFRleHR1cmUgKCk7Ci0rCQlwdWJsaWMgQ2Fpcm8uU3VyZmFjZT8g Z2V0X2ltYWdlIChDYWlyby5SZWN0YW5nbGVJbnQ/IGNsaXApOwotKwkJcHVibGljIHVub3duZWQg Q29nbC5UZXh0dXJlIGdldF90ZXh0dXJlICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2NyZWF0ZV9t aXBtYXBzIChib29sIGNyZWF0ZV9taXBtYXBzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9tYXNrX3Rl eHR1cmUgKENvZ2wuVGV4dHVyZSBtYXNrX3RleHR1cmUpOwotKwkJcHVibGljIHNpZ25hbCB2b2lk IHNpemVfY2hhbmdlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0 YS9tZXRhLXNvdW5kLXBsYXllci5oIiwgdHlwZV9pZCA9ICJtZXRhX3NvdW5kX3BsYXllcl9nZXRf dHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgU291bmRQbGF5ZXIgOiBHTGliLk9iamVjdCB7Ci0r CQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQg U291bmRQbGF5ZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBwbGF5X2Zyb21fZmlsZSAoR0xpYi5GaWxl IGZpbGUsIHN0cmluZyBkZXNjcmlwdGlvbiwgR0xpYi5DYW5jZWxsYWJsZT8gY2FuY2VsbGFibGUg PSBudWxsKTsKLSsJCXB1YmxpYyB2b2lkIHBsYXlfZnJvbV90aGVtZSAoc3RyaW5nIG5hbWUsIHN0 cmluZyBkZXNjcmlwdGlvbiwgR0xpYi5DYW5jZWxsYWJsZT8gY2FuY2VsbGFibGUgPSBudWxsKTsK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXN0YWdlLmgiLCB0 eXBlX2lkID0gIm1ldGFfc3RhZ2VfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFN0YWdl IDogQ2x1dHRlci5TdGFnZSwgQXRrLkltcGxlbWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUsIENs dXR0ZXIuQ29udGFpbmVyLCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFN0YWdlICgpOwotKwkJcHVi bGljIHN0YXRpYyBib29sIGlzX2ZvY3VzZWQgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCXB1 YmxpYyBzaWduYWwgdm9pZCBhY3RvcnNfcGFpbnRlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXN0YXJ0dXAtbm90aWZpY2F0aW9uLmgiLCB0eXBlX2lk ID0gIm1ldGFfc3RhcnR1cF9ub3RpZmljYXRpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNs YXNzIFN0YXJ0dXBOb3RpZmljYXRpb24gOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19j b25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgU3RhcnR1cE5vdGlmaWNh dGlvbiAoKTsKLSsJCXB1YmxpYyBNZXRhLkxhdW5jaENvbnRleHQgY3JlYXRlX2xhdW5jaGVyICgp OwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgTWV0YS5EaXNwbGF5IGRpc3BsYXkg eyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIGNoYW5nZWQg KHZvaWQqIG9iamVjdCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIiwgdHlwZV9pZCA9ICJtZXRhX3N0YXJ0dXBfc2VxdWVuY2VfZ2V0X3R5cGUgKCkiKV0K LSsJcHVibGljIGNsYXNzIFN0YXJ0dXBTZXF1ZW5jZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTdGFydHVw U2VxdWVuY2UgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2FwcGxpY2F0aW9uX2lk ICgpOwotKwkJcHVibGljIGJvb2wgZ2V0X2NvbXBsZXRlZCAoKTsKLSsJCXB1YmxpYyB1bm93bmVk IHN0cmluZyBnZXRfaWNvbl9uYW1lICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9p ZCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfbmFtZSAoKTsKLSsJCXB1YmxpYyB1 aW50NjQgZ2V0X3RpbWVzdGFtcCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfd21j bGFzcyAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X3dvcmtzcGFjZSAoKTsKLSsJCXB1YmxpYyBzdHJp bmcgYXBwbGljYXRpb25faWQgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIHN0cmluZyBp Y29uX25hbWUgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIHN0cmluZyBpZCB7IGdldDsg Y29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIG5hbWUgeyBnZXQ7IGNvbnN0cnVjdDsgfQot KwkJcHVibGljIHVpbnQ2NCB0aW1lc3RhbXAgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGlj IHN0cmluZyB3bWNsYXNzIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBpbnQgd29ya3Nw YWNlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtIYXNFbWl0dGVyXQotKwkJcHVibGljIHNpZ25h bCB2b2lkIGNvbXBsZXRlICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL3RoZW1lLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1Ymxp YyBjbGFzcyBUaGVtZSB7Ci0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwl9Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtd2F5bGFuZC1jbGllbnQuaCIsIHR5cGVfaWQg PSAibWV0YV93YXlsYW5kX2NsaWVudF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgV2F5 bGFuZENsaWVudCA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBXYXlsYW5kQ2xpZW50IChHTGliLlN1YnByb2Nlc3NM YXVuY2hlciBsYXVuY2hlcikgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlwdWJsaWMgdm9pZCBoaWRl X2Zyb21fd2luZG93X2xpc3QgKE1ldGEuV2luZG93IHdpbmRvdyk7Ci0rCQlwdWJsaWMgYm9vbCBv d25zX3dpbmRvdyAoTWV0YS5XaW5kb3cgd2luZG93KTsKLSsJCXB1YmxpYyB2b2lkIHNob3dfaW5f d2luZG93X2xpc3QgKE1ldGEuV2luZG93IHdpbmRvdyk7Ci0rCQlwdWJsaWMgR0xpYi5TdWJwcm9j ZXNzIHNwYXdudiAoTWV0YS5EaXNwbGF5IGRpc3BsYXksIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0g ZmFsc2UsIGFycmF5X251bGxfdGVybWluYXRlZCA9IHRydWUpXSBzdHJpbmdbXSBhcmd2KSB0aHJv d3MgR0xpYi5FcnJvcjsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS93 aW5kb3cuaCIsIHR5cGVfaWQgPSAibWV0YV93aW5kb3dfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGFic3RyYWN0IGNsYXNzIFdpbmRvdyA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBXaW5kb3cgKCk7Ci0rCQlw dWJsaWMgdm9pZCBhY3RpdmF0ZSAodWludDMyIGN1cnJlbnRfdGltZSk7Ci0rCQlwdWJsaWMgdm9p ZCBhY3RpdmF0ZV93aXRoX3dvcmtzcGFjZSAodWludDMyIGN1cnJlbnRfdGltZSwgTWV0YS5Xb3Jr c3BhY2Ugd29ya3NwYWNlKTsKLSsJCXB1YmxpYyBib29sIGFsbG93c19tb3ZlICgpOwotKwkJcHVi bGljIGJvb2wgYWxsb3dzX3Jlc2l6ZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGJlZ2luX2dyYWJfb3Ag KE1ldGEuR3JhYk9wIG9wLCBib29sIGZyYW1lX2FjdGlvbiwgdWludDMyIHRpbWVzdGFtcCk7Ci0r CQlwdWJsaWMgYm9vbCBjYW5fY2xvc2UgKCk7Ci0rCQlwdWJsaWMgYm9vbCBjYW5fbWF4aW1pemUg KCk7Ci0rCQlwdWJsaWMgYm9vbCBjYW5fbWluaW1pemUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBjYW5f c2hhZGUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBjaGFuZ2Vfd29ya3NwYWNlIChNZXRhLldvcmtzcGFj ZSB3b3Jrc3BhY2UpOwotKwkJcHVibGljIHZvaWQgY2hhbmdlX3dvcmtzcGFjZV9ieV9pbmRleCAo aW50IHNwYWNlX2luZGV4LCBib29sIGFwcGVuZCk7Ci0rCQlwdWJsaWMgdm9pZCBjaGVja19hbGl2 ZSAodWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgY2xpZW50X3Jl Y3RfdG9fZnJhbWVfcmVjdCAoTWV0YS5SZWN0YW5nbGUgY2xpZW50X3JlY3QpOwotKwkJcHVibGlj IHZvaWQgY29tcHV0ZV9ncm91cCAoKTsKLSsJCXB1YmxpYyB2b2lkIEBkZWxldGUgKHVpbnQzMiB0 aW1lc3RhbXApOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5XaW5kb3cgZmluZF9yb290X2FuY2Vz dG9yICgpOwotKwkJcHVibGljIHZvaWQgZm9jdXMgKHVpbnQzMiB0aW1lc3RhbXApOwotKwkJcHVi bGljIHZvaWQgZm9yZWFjaF9hbmNlc3RvciAoTWV0YS5XaW5kb3dGb3JlYWNoRnVuYyBmdW5jKTsK LSsJCXB1YmxpYyB2b2lkIGZvcmVhY2hfdHJhbnNpZW50IChNZXRhLldpbmRvd0ZvcmVhY2hGdW5j IGZ1bmMpOwotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGZyYW1lX3JlY3RfdG9fY2xpZW50X3Jl Y3QgKE1ldGEuUmVjdGFuZ2xlIGZyYW1lX3JlY3QpOwotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xl IGdldF9idWZmZXJfcmVjdCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfY2xpZW50 X21hY2hpbmUgKCk7Ci0rCQlwdWJsaWMgTWV0YS5XaW5kb3dDbGllbnRUeXBlIGdldF9jbGllbnRf dHlwZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIEdMaWIuT2JqZWN0IGdldF9jb21wb3NpdG9yX3By aXZhdGUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2Rlc2NyaXB0aW9uICgpOwot KwkJcHVibGljIHVub3duZWQgTWV0YS5EaXNwbGF5IGdldF9kaXNwbGF5ICgpOwotKwkJcHVibGlj IHVub3duZWQgQ2Fpcm8uUmVnaW9uPyBnZXRfZnJhbWVfYm91bmRzICgpOwotKwkJcHVibGljIE1l dGEuUmVjdGFuZ2xlIGdldF9mcmFtZV9yZWN0ICgpOwotKwkJcHVibGljIE1ldGEuRnJhbWVUeXBl IGdldF9mcmFtZV90eXBlICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9ndGtfYXBw X21lbnVfb2JqZWN0X3BhdGggKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2d0a19h cHBsaWNhdGlvbl9pZCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3RrX2FwcGxp Y2F0aW9uX29iamVjdF9wYXRoICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9ndGtf bWVudWJhcl9vYmplY3RfcGF0aCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3Rr X3RoZW1lX3ZhcmlhbnQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2d0a191bmlx dWVfYnVzX25hbWUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2d0a193aW5kb3df b2JqZWN0X3BhdGggKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfaWNvbl9nZW9tZXRyeSAob3V0IE1l dGEuUmVjdGFuZ2xlIHJlY3QpOwotKwkJcHVibGljIHVpbnQ2NCBnZXRfaWQgKCk7Ci0rCQlwdWJs aWMgTWV0YS5TdGFja0xheWVyIGdldF9sYXllciAoKTsKLSsJCXB1YmxpYyBNZXRhLk1heGltaXpl RmxhZ3MgZ2V0X21heGltaXplZCAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X21vbml0b3IgKCk7Ci0r CQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X211dHRlcl9oaW50cyAoKTsKLSsJCXB1YmxpYyBp bnQgZ2V0X3BpZCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfcm9sZSAoKTsKLSsJ CXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfc2FuZGJveGVkX2FwcF9pZCAoKTsKLSsJCXB1Ymxp YyB1aW50IGdldF9zdGFibGVfc2VxdWVuY2UgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcg Z2V0X3N0YXJ0dXBfaWQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdz8gZ2V0X3Rp bGVfbWF0Y2ggKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3RpdGxlICgpOwotKwkJ cHVibGljIHVub3duZWQgTWV0YS5XaW5kb3cgZ2V0X3RyYW5zaWVudF9mb3IgKCk7Ci0rCQlwdWJs aWMgdWludDMyIGdldF91c2VyX3RpbWUgKCk7Ci0rCQlwdWJsaWMgTWV0YS5XaW5kb3dUeXBlIGdl dF93aW5kb3dfdHlwZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfd21fY2xhc3Mg KCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3dtX2NsYXNzX2luc3RhbmNlICgpOwot KwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGdldF93b3JrX2FyZWFfYWxsX21vbml0b3JzICgpOwot KwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGdldF93b3JrX2FyZWFfY3VycmVudF9tb25pdG9yICgp OwotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGdldF93b3JrX2FyZWFfZm9yX21vbml0b3IgKGlu dCB3aGljaF9tb25pdG9yKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuV29ya3NwYWNlIGdldF93 b3Jrc3BhY2UgKCk7Ci0rCQlwdWJsaWMgWC5XaW5kb3cgZ2V0X3h3aW5kb3cgKCk7Ci0rCQlwdWJs aWMgdm9pZCBncm91cF9sZWFkZXJfY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBib29sIGhhc19mb2N1 cyAoKTsKLSsJCXB1YmxpYyBib29sIGlzX2Fib3ZlICgpOwotKwkJcHVibGljIGJvb2wgaXNfYWx3 YXlzX29uX2FsbF93b3Jrc3BhY2VzICgpOwotKwkJcHVibGljIGJvb2wgaXNfYW5jZXN0b3Jfb2Zf dHJhbnNpZW50IChNZXRhLldpbmRvdyB0cmFuc2llbnQpOwotKwkJcHVibGljIGJvb2wgaXNfYXR0 YWNoZWRfZGlhbG9nICgpOwotKwkJcHVibGljIGJvb2wgaXNfY2xpZW50X2RlY29yYXRlZCAoKTsK LSsJCXB1YmxpYyBib29sIGlzX2Z1bGxzY3JlZW4gKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19oaWRk ZW4gKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19tb25pdG9yX3NpemVkICgpOwotKwkJcHVibGljIGJv b2wgaXNfb25fYWxsX3dvcmtzcGFjZXMgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19vbl9wcmltYXJ5 X21vbml0b3IgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19vdmVycmlkZV9yZWRpcmVjdCAoKTsKLSsJ CXB1YmxpYyBib29sIGlzX3JlbW90ZSAoKTsKLSsJCXB1YmxpYyBib29sIGlzX3NjcmVlbl9zaXpl ZCAoKTsKLSsJCXB1YmxpYyBib29sIGlzX3NoYWRlZCAoKTsKLSsJCXB1YmxpYyBib29sIGlzX3Nr aXBfdGFza2JhciAoKTsKLSsJCXB1YmxpYyB2b2lkIGtpbGwgKCk7Ci0rCQlwdWJsaWMgYm9vbCBs b2NhdGVkX29uX3dvcmtzcGFjZSAoTWV0YS5Xb3Jrc3BhY2Ugd29ya3NwYWNlKTsKLSsJCXB1Ymxp YyB2b2lkIGxvd2VyICgpOwotKwkJcHVibGljIHZvaWQgbWFrZV9hYm92ZSAoKTsKLSsJCXB1Ymxp YyB2b2lkIG1ha2VfZnVsbHNjcmVlbiAoKTsKLSsJCXB1YmxpYyB2b2lkIG1heGltaXplIChNZXRh Lk1heGltaXplRmxhZ3MgZGlyZWN0aW9ucyk7Ci0rCQlwdWJsaWMgdm9pZCBtaW5pbWl6ZSAoKTsK LSsJCXB1YmxpYyB2b2lkIG1vdmVfZnJhbWUgKGJvb2wgdXNlcl9vcCwgaW50IHJvb3RfeF9udywg aW50IHJvb3RfeV9udyk7Ci0rCQlwdWJsaWMgdm9pZCBtb3ZlX3Jlc2l6ZV9mcmFtZSAoYm9vbCB1 c2VyX29wLCBpbnQgcm9vdF94X253LCBpbnQgcm9vdF95X253LCBpbnQgdywgaW50IGgpOwotKwkJ cHVibGljIHZvaWQgbW92ZV90b19tb25pdG9yIChpbnQgbW9uaXRvcik7Ci0rCQlwdWJsaWMgdm9p ZCByYWlzZSAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jb21wb3NpdG9yX3ByaXZhdGUgKEdMaWIu T2JqZWN0IHByaXYpOwotKwkJcHVibGljIHZvaWQgc2V0X2RlbWFuZHNfYXR0ZW50aW9uICgpOwot KwkJcHVibGljIHZvaWQgc2V0X2ljb25fZ2VvbWV0cnkgKE1ldGEuUmVjdGFuZ2xlPyByZWN0KTsK LSsJCXB1YmxpYyB2b2lkIHNoYWRlICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1YmxpYyB2b2lk IHNob3ZlX3RpdGxlYmFyX29uc2NyZWVuICgpOwotKwkJcHVibGljIGJvb2wgc2hvd2luZ19vbl9p dHNfd29ya3NwYWNlICgpOwotKwkJcHVibGljIHZvaWQgc2h1dGRvd25fZ3JvdXAgKCk7Ci0rCQlw dWJsaWMgdm9pZCBzdGljayAoKTsKLSsJCXB1YmxpYyBib29sIHRpdGxlYmFyX2lzX29uc2NyZWVu ICgpOwotKwkJcHVibGljIHZvaWQgdW5tYWtlX2Fib3ZlICgpOwotKwkJcHVibGljIHZvaWQgdW5t YWtlX2Z1bGxzY3JlZW4gKCk7Ci0rCQlwdWJsaWMgdm9pZCB1bm1heGltaXplIChNZXRhLk1heGlt aXplRmxhZ3MgZGlyZWN0aW9ucyk7Ci0rCQlwdWJsaWMgdm9pZCB1bm1pbmltaXplICgpOwotKwkJ cHVibGljIHZvaWQgdW5zZXRfZGVtYW5kc19hdHRlbnRpb24gKCk7Ci0rCQlwdWJsaWMgdm9pZCB1 bnNoYWRlICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1YmxpYyB2b2lkIHVuc3RpY2sgKCk7Ci0r CQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIGFib3ZlIHsgZ2V0OyB9Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIGFwcGVhcnNfZm9jdXNlZCB7IGdldDsg fQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBkZWNvcmF0ZWQgeyBnZXQ7 IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgZGVtYW5kc19hdHRlbnRp b24geyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgZnVsbHNj cmVlbiB7IGdldDsgfQotKwkJcHVibGljIHN0cmluZyBndGtfYXBwX21lbnVfb2JqZWN0X3BhdGgg eyBnZXQ7IH0KLSsJCXB1YmxpYyBzdHJpbmcgZ3RrX2FwcGxpY2F0aW9uX2lkIHsgZ2V0OyB9Ci0r CQlwdWJsaWMgc3RyaW5nIGd0a19hcHBsaWNhdGlvbl9vYmplY3RfcGF0aCB7IGdldDsgfQotKwkJ cHVibGljIHN0cmluZyBndGtfbWVudWJhcl9vYmplY3RfcGF0aCB7IGdldDsgfQotKwkJcHVibGlj IHN0cmluZyBndGtfdW5pcXVlX2J1c19uYW1lIHsgZ2V0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIGd0 a193aW5kb3dfb2JqZWN0X3BhdGggeyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ cHVibGljIHZvaWQqIGljb24geyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIGJvb2wgbWF4aW1pemVkX2hvcml6b250YWxseSB7IGdldDsgfQotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBtYXhpbWl6ZWRfdmVydGljYWxseSB7IGdldDsgfQotKwkJ W05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgdm9pZCogbWluaV9pY29uIHsgZ2V0OyB9Ci0r CQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIG1pbmltaXplZCB7IGdldDsgfQot KwkJcHVibGljIHN0cmluZyBtdXR0ZXJfaGludHMgeyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJcHVibGljIGJvb2wgb25fYWxsX3dvcmtzcGFjZXMgeyBnZXQ7IH0KLSsJCVtOb0Fj Y2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgcmVzaXplYWJsZSB7IGdldDsgfQotKwkJW05v QWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBza2lwX3Rhc2tiYXIgeyBnZXQ7IH0KLSsJ CXB1YmxpYyBzdHJpbmcgdGl0bGUgeyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ cHVibGljIGJvb2wgdXJnZW50IHsgZ2V0OyB9Ci0rCQlwdWJsaWMgdWludCB1c2VyX3RpbWUgeyBn ZXQ7IH0KLSsJCXB1YmxpYyBNZXRhLldpbmRvd1R5cGUgd2luZG93X3R5cGUgeyBnZXQ7IH0KLSsJ CXB1YmxpYyBzdHJpbmcgd21fY2xhc3MgeyBnZXQ7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBw b3NpdGlvbl9jaGFuZ2VkICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHJhaXNlZCAoKTsKLSsJ CXB1YmxpYyBzaWduYWwgdm9pZCBzaG93biAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBzaXpl X2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgdW5tYW5hZ2VkICgpOwotKwkJcHVi bGljIHNpZ25hbCB2b2lkIHVubWFuYWdpbmcgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd29y a3NwYWNlX2NoYW5nZWQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWV0YS13aW5kb3ctYWN0b3IuaCIsIHR5cGVfaWQgPSAibWV0YV93aW5kb3dfYWN0b3JfZ2V0 X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIFdpbmRvd0FjdG9yIDogQ2x1dHRl ci5BY3RvciwgQXRrLkltcGxlbWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUsIENsdXR0ZXIuQ29u dGFpbmVyLCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFdpbmRvd0FjdG9yICgpOwotKwkJcHVibGlj IHZvaWQgZnJlZXplICgpOwotKwkJcHVibGljIENhaXJvLlN1cmZhY2U/IGdldF9pbWFnZSAoQ2Fp cm8uUmVjdGFuZ2xlSW50PyBjbGlwKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuV2luZG93IGdl dF9tZXRhX3dpbmRvdyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuU2hhcGVkVGV4dHVyZSBn ZXRfdGV4dHVyZSAoKTsKLSsJCXB1YmxpYyBib29sIGlzX2Rlc3Ryb3llZCAoKTsKLSsJCXB1Ymxp YyB2b2lkIHN5bmNfdmlzaWJpbGl0eSAoKTsKLSsJCXB1YmxpYyB2b2lkIHRoYXcgKCk7Ci0rCQlw dWJsaWMgTWV0YS5XaW5kb3cgbWV0YV93aW5kb3cgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVi bGljIHNpZ25hbCB2b2lkIGRhbWFnZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZWZmZWN0 c19jb21wbGV0ZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZmlyc3RfZnJhbWUgKCk7Ci0r CQlwdWJsaWMgc2lnbmFsIHZvaWQgdGhhd2VkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL21ldGEtd2luZG93LWdyb3VwLmgiLCB0eXBlX2lkID0gIm1ldGFfd2lu ZG93X2dyb3VwX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBXaW5kb3dHcm91cCA6IENs dXR0ZXIuQWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVy LkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBXaW5kb3dHcm91cCAoKTsKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXdpbmRvdy1zaGFwZS5oIiwg cmVmX2Z1bmN0aW9uID0gIm1ldGFfd2luZG93X3NoYXBlX3JlZiIsIHR5cGVfaWQgPSAibWV0YV93 aW5kb3dfc2hhcGVfZ2V0X3R5cGUgKCkiLCB1bnJlZl9mdW5jdGlvbiA9ICJtZXRhX3dpbmRvd19z aGFwZV91bnJlZiIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFdpbmRvd1NoYXBlIHsK LSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBX aW5kb3dTaGFwZSAoQ2Fpcm8uUmVnaW9uIHJlZ2lvbik7Ci0rCQlwdWJsaWMgYm9vbCBlcXVhbCAo TWV0YS5XaW5kb3dTaGFwZSBzaGFwZV9iKTsKLSsJCXB1YmxpYyB2b2lkIGdldF9ib3JkZXJzIChp bnQgYm9yZGVyX3RvcCwgaW50IGJvcmRlcl9yaWdodCwgaW50IGJvcmRlcl9ib3R0b20sIGludCBi b3JkZXJfbGVmdCk7Ci0rCQlwdWJsaWMgdWludCBoYXNoICgpOwotKwkJcHVibGljIE1ldGEuV2lu ZG93U2hhcGUgQHJlZiAoKTsKLSsJCXB1YmxpYyBDYWlyby5SZWdpb24gdG9fcmVnaW9uIChpbnQg Y2VudGVyX3dpZHRoLCBpbnQgY2VudGVyX2hlaWdodCk7Ci0rCQlwdWJsaWMgdm9pZCB1bnJlZiAo KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS93b3Jrc3BhY2UuaCIs IHR5cGVfaWQgPSAibWV0YV93b3Jrc3BhY2VfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNz IFdvcmtzcGFjZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBXb3Jrc3BhY2UgKCk7Ci0rCQlwdWJsaWMgdm9p ZCBhY3RpdmF0ZSAodWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9pZCBhY3RpdmF0ZV93 aXRoX2ZvY3VzIChNZXRhLldpbmRvdyBmb2N1c190aGlzLCB1aW50MzIgdGltZXN0YW1wKTsKLSsJ CXB1YmxpYyB1bm93bmVkIE1ldGEuRGlzcGxheSBnZXRfZGlzcGxheSAoKTsKLSsJCXB1YmxpYyB1 bm93bmVkIE1ldGEuV29ya3NwYWNlIGdldF9uZWlnaGJvciAoTWV0YS5Nb3Rpb25EaXJlY3Rpb24g ZGlyZWN0aW9uKTsKLSsJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSBnZXRfd29ya19hcmVhX2FsbF9t b25pdG9ycyAoKTsKLSsJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSBnZXRfd29ya19hcmVhX2Zvcl9t b25pdG9yIChpbnQgd2hpY2hfbW9uaXRvcik7Ci0rCQlwdWJsaWMgaW50IGluZGV4ICgpOwotKwkJ cHVibGljIEdMaWIuTGlzdDx3ZWFrIE1ldGEuV2luZG93PiBsaXN0X3dpbmRvd3MgKCk7Ci0rCQlw dWJsaWMgdm9pZCBzZXRfYnVpbHRpbl9zdHJ1dHMgKEdMaWIuU0xpc3Q8TWV0YS5TdHJ1dD8+IHN0 cnV0cyk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIGFjdGl2ZSB7IGdl dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgdWludCBuX3dpbmRvd3MgeyBn ZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHVpbnQgd29ya3NwYWNlX2lu ZGV4IHsgZ2V0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd2luZG93X2FkZGVkIChNZXRhLldp bmRvdyBvYmplY3QpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHdpbmRvd19yZW1vdmVkIChNZXRh LldpbmRvdyBvYmplY3QpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21ldGEtd29ya3NwYWNlLW1hbmFnZXIuaCIsIHR5cGVfaWQgPSAibWV0YV93b3Jrc3BhY2VfbWFu YWdlcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgV29ya3NwYWNlTWFuYWdlciA6IEdM aWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0K LSsJCXByb3RlY3RlZCBXb3Jrc3BhY2VNYW5hZ2VyICgpOwotKwkJcHVibGljIHVub3duZWQgTWV0 YS5Xb3Jrc3BhY2UgYXBwZW5kX25ld193b3Jrc3BhY2UgKGJvb2wgYWN0aXZhdGUsIHVpbnQzMiB0 aW1lc3RhbXApOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2UgZ2V0X2FjdGl2ZV93 b3Jrc3BhY2UgKCk7Ci0rCQlwdWJsaWMgaW50IGdldF9hY3RpdmVfd29ya3NwYWNlX2luZGV4ICgp OwotKwkJcHVibGljIGludCBnZXRfbl93b3Jrc3BhY2VzICgpOwotKwkJcHVibGljIHVub3duZWQg TWV0YS5Xb3Jrc3BhY2U/IGdldF93b3Jrc3BhY2VfYnlfaW5kZXggKGludCBpbmRleCk7Ci0rCQlw dWJsaWMgdm9pZCBvdmVycmlkZV93b3Jrc3BhY2VfbGF5b3V0IChNZXRhLkRpc3BsYXlDb3JuZXIg c3RhcnRpbmdfY29ybmVyLCBib29sIHZlcnRpY2FsX2xheW91dCwgaW50IG5fcm93cywgaW50IG5f Y29sdW1ucyk7Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVfd29ya3NwYWNlIChNZXRhLldvcmtzcGFj ZSB3b3Jrc3BhY2UsIHVpbnQzMiB0aW1lc3RhbXApOwotKwkJcHVibGljIHZvaWQgcmVvcmRlcl93 b3Jrc3BhY2UgKE1ldGEuV29ya3NwYWNlIHdvcmtzcGFjZSwgaW50IG5ld19pbmRleCk7Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQgbGF5b3V0X2NvbHVtbnMgeyBnZXQ7IH0K LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGludCBsYXlvdXRfcm93cyB7IGdldDsg fQotKwkJcHVibGljIGludCBuX3dvcmtzcGFjZXMgeyBnZXQ7IH0KLSsJCXB1YmxpYyBzaWduYWwg dm9pZCBhY3RpdmVfd29ya3NwYWNlX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQg c2hvd2luZ19kZXNrdG9wX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd29ya3Nw YWNlX2FkZGVkIChpbnQgb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB3b3Jrc3BhY2Vf cmVtb3ZlZCAoaW50IG9iamVjdCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd29ya3NwYWNlX3N3 aXRjaGVkIChpbnQgb2JqZWN0LCBpbnQgcDAsIE1ldGEuTW90aW9uRGlyZWN0aW9uIHAxKTsKLSsJ CXB1YmxpYyBzaWduYWwgdm9pZCB3b3Jrc3BhY2VzX3Jlb3JkZXJlZCAoKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXgxMS1kaXNwbGF5LmgiLCB0eXBlX2lk ID0gIm1ldGFfeDExX2Rpc3BsYXlfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFgxMURp c3BsYXkgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24g PSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgWDExRGlzcGxheSAoKTsKLSsJCXB1YmxpYyB2b2lkIGNs ZWFyX3N0YWdlX2lucHV0X3JlZ2lvbiAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X2RhbWFnZV9ldmVu dF9iYXNlICgpOwotKwkJcHVibGljIGludCBnZXRfc2NyZWVuX251bWJlciAoKTsKLSsJCXB1Ymxp YyBpbnQgZ2V0X3NoYXBlX2V2ZW50X2Jhc2UgKCk7Ci0rCQlwdWJsaWMgYm9vbCBoYXNfc2hhcGUg KCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY21fc2VsZWN0aW9uICgpOwotKwkJcHVibGljIHZvaWQg c2V0X3N0YWdlX2lucHV0X3JlZ2lvbiAoWC5Yc2VydmVyUmVnaW9uIHJlZ2lvbik7Ci0rCQlwdWJs aWMgYm9vbCB4d2luZG93X2lzX2Ffbm9fZm9jdXNfd2luZG93IChYLldpbmRvdyB4d2luZG93KTsK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWNsb3NlLWRpYWxv Zy5oIiwgdHlwZV9jbmFtZSA9ICJNZXRhQ2xvc2VEaWFsb2dJbnRlcmZhY2UiLCB0eXBlX2lkID0g Im1ldGFfY2xvc2VfZGlhbG9nX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBpbnRlcmZhY2UgQ2xv c2VEaWFsb2cgOiBHTGliLk9iamVjdCB7Ci0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBmb2N1cyAo KTsKLSsJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIGhpZGUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc192 aXNpYmxlICgpOwotKwkJcHVibGljIGFic3RyYWN0IHZvaWQgc2hvdyAoKTsKLSsJCVtOb0FjY2Vz c29yTWV0aG9kXQotKwkJcHVibGljIGFic3RyYWN0IE1ldGEuV2luZG93IHdpbmRvdyB7IG93bmVk IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCXB1YmxpYyBzaWduYWwgdm9p ZCByZXNwb25zZSAoTWV0YS5DbG9zZURpYWxvZ1Jlc3BvbnNlIHJlc3BvbnNlKTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWluaGliaXQtc2hvcnRjdXRzLWRp YWxvZy5oIiwgdHlwZV9jbmFtZSA9ICJNZXRhSW5oaWJpdFNob3J0Y3V0c0RpYWxvZ0ludGVyZmFj ZSIsIHR5cGVfaWQgPSAibWV0YV9pbmhpYml0X3Nob3J0Y3V0c19kaWFsb2dfZ2V0X3R5cGUgKCki KV0KLSsJcHVibGljIGludGVyZmFjZSBJbmhpYml0U2hvcnRjdXRzRGlhbG9nIDogR0xpYi5PYmpl Y3QgewotKwkJcHVibGljIGFic3RyYWN0IHZvaWQgaGlkZSAoKTsKLSsJCXB1YmxpYyBhYnN0cmFj dCB2b2lkIHNob3cgKCk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBhYnN0cmFj dCBNZXRhLldpbmRvdyB3aW5kb3cgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW0hhc0Vt aXR0ZXJdCi0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgcmVzcG9uc2UgKE1ldGEuSW5oaWJpdFNob3J0 Y3V0c0RpYWxvZ1Jlc3BvbnNlIHJlc3BvbnNlKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0 cnVjdCBCdXR0b25MYXlvdXQgewotKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldCi0r CQlwdWJsaWMgd2VhayBNZXRhLkJ1dHRvbkZ1bmN0aW9uIGxlZnRfYnV0dG9uc1s0XTsKLSsJCVtD Q29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXQotKwkJcHVibGljIHdlYWsgYm9vbCBsZWZ0X2J1 dHRvbnNfaGFzX3NwYWNlcls0XTsKLSsJCVtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXQot KwkJcHVibGljIHdlYWsgTWV0YS5CdXR0b25GdW5jdGlvbiByaWdodF9idXR0b25zWzRdOwotKwkJ W0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldCi0rCQlwdWJsaWMgd2VhayBib29sIHJpZ2h0 X2J1dHRvbnNfaGFzX3NwYWNlcls0XTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBF ZGdlIHsKLSsJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSByZWN0OwotKwkJcHVibGljIE1ldGEuU2lk ZSBzaWRlX3R5cGU7Ci0rCQlwdWJsaWMgTWV0YS5FZGdlVHlwZSBlZGdlX3R5cGU7Ci0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBm YWxzZSldCi0rCXB1YmxpYyBzdHJ1Y3QgRnJhbWVCb3JkZXJzIHsKLSsJCXB1YmxpYyBHdGsuQm9y ZGVyIHZpc2libGU7Ci0rCQlwdWJsaWMgR3RrLkJvcmRlciBpbnZpc2libGU7Ci0rCQlwdWJsaWMg R3RrLkJvcmRlciB0b3RhbDsKLSsJCXB1YmxpYyB2b2lkIGNsZWFyICgpOwotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtcGx1Z2luLmgiLCBoYXNfdHlwZV9pZCA9 IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBQbHVnaW5JbmZvIHsKLSsJCXB1YmxpYyB3ZWFrIHN0 cmluZyBuYW1lOwotKwkJcHVibGljIHdlYWsgc3RyaW5nIHZlcnNpb247Ci0rCQlwdWJsaWMgd2Vh ayBzdHJpbmcgYXV0aG9yOwotKwkJcHVibGljIHdlYWsgc3RyaW5nIGxpY2Vuc2U7Ci0rCQlwdWJs aWMgd2VhayBzdHJpbmcgZGVzY3JpcHRpb247Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVl X2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAibWV0YV9yZWN0YW5nbGVfZ2V0 X3R5cGUgKCkiKV0KLSsJcHVibGljIHN0cnVjdCBSZWN0YW5nbGUgewotKwkJcHVibGljIGludCB4 OwotKwkJcHVibGljIGludCB5OwotKwkJcHVibGljIGludCB3aWR0aDsKLSsJCXB1YmxpYyBpbnQg aGVpZ2h0OwotKwkJcHVibGljIGludCBhcmVhICgpOwotKwkJcHVibGljIGJvb2wgY29udGFpbnNf cmVjdCAoTWV0YS5SZWN0YW5nbGUgaW5uZXJfcmVjdCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5n bGU/IGNvcHkgKCk7Ci0rCQlwdWJsaWMgYm9vbCBjb3VsZF9maXRfcmVjdCAoTWV0YS5SZWN0YW5n bGUgaW5uZXJfcmVjdCk7Ci0rCQlwdWJsaWMgYm9vbCBlcXVhbCAoTWV0YS5SZWN0YW5nbGUgc3Jj Mik7Ci0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwkJcHVibGljIGJvb2wgaG9yaXpfb3Zlcmxh cCAoTWV0YS5SZWN0YW5nbGUgcmVjdDIpOwotKwkJcHVibGljIGJvb2wgaW50ZXJzZWN0IChNZXRh LlJlY3RhbmdsZSBzcmMyLCBvdXQgTWV0YS5SZWN0YW5nbGUgZGVzdCk7Ci0rCQlwdWJsaWMgYm9v bCBvdmVybGFwIChNZXRhLlJlY3RhbmdsZSByZWN0Mik7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5n bGUgdW5pb24gKE1ldGEuUmVjdGFuZ2xlIHJlY3QyKTsKLSsJCXB1YmxpYyBib29sIHZlcnRfb3Zl cmxhcCAoTWV0YS5SZWN0YW5nbGUgcmVjdDIpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3Ry dWN0IFNoYWRvd1BhcmFtcyB7Ci0rCQlwdWJsaWMgaW50IHJhZGl1czsKLSsJCXB1YmxpYyBpbnQg dG9wX2ZhZGU7Ci0rCQlwdWJsaWMgaW50IHhfb2Zmc2V0OwotKwkJcHVibGljIGludCB5X29mZnNl dDsKLSsJCXB1YmxpYyB1aW50OCBvcGFjaXR5OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3Ry dWN0IFN0cnV0IHsKLSsJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSByZWN0OwotKwkJcHVibGljIE1l dGEuU2lkZSBzaWRlOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIsIGNwcmVmaXggPSAiTUVUQV9CQVJSSUVSX0RJUkVDVElPTl8iLCB0eXBlX2lkID0gIm1l dGFfYmFycmllcl9kaXJlY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMg ZW51bSBCYXJyaWVyRGlyZWN0aW9uIHsKLSsJCVBPU0lUSVZFX1gsCi0rCQlQT1NJVElWRV9ZLAot KwkJTkVHQVRJVkVfWCwKLSsJCU5FR0FUSVZFX1kKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfQlVUVE9OX0ZVTkNUSU9OXyIs IHR5cGVfaWQgPSAibWV0YV9idXR0b25fZnVuY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGVudW0gQnV0dG9uRnVuY3Rpb24gewotKwkJTUVOVSwKLSsJCU1JTklNSVpFLAotKwkJTUFYSU1J WkUsCi0rCQlDTE9TRSwKLSsJCUxBU1QKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfQ0xPU0VfRElBTE9HX1JFU1BPTlNFXyIs IHR5cGVfaWQgPSAibWV0YV9jbG9zZV9kaWFsb2dfcmVzcG9uc2VfZ2V0X3R5cGUgKCkiKV0KLSsJ cHVibGljIGVudW0gQ2xvc2VEaWFsb2dSZXNwb25zZSB7Ci0rCQlXQUlULAotKwkJRk9SQ0VfQ0xP U0UKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJl Zml4ID0gIk1FVEFfQ09NUF9FRkZFQ1RfIiwgdHlwZV9pZCA9ICJtZXRhX2NvbXBfZWZmZWN0X2dl dF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIENvbXBFZmZlY3QgewotKwkJQ1JFQVRFLAotKwkJ VU5NSU5JTUlaRSwKLSsJCURFU1RST1ksCi0rCQlNSU5JTUlaRSwKLSsJCU5PTkUKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFf Q1VSU09SXyIsIHR5cGVfaWQgPSAibWV0YV9jdXJzb3JfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGVudW0gQ3Vyc29yIHsKLSsJCU5PTkUsCi0rCQlERUZBVUxULAotKwkJTk9SVEhfUkVTSVpFLAot KwkJU09VVEhfUkVTSVpFLAotKwkJV0VTVF9SRVNJWkUsCi0rCQlFQVNUX1JFU0laRSwKLSsJCVNF X1JFU0laRSwKLSsJCVNXX1JFU0laRSwKLSsJCU5FX1JFU0laRSwKLSsJCU5XX1JFU0laRSwKLSsJ CU1PVkVfT1JfUkVTSVpFX1dJTkRPVywKLSsJCUJVU1ksCi0rCQlETkRfSU5fRFJBRywKLSsJCURO RF9NT1ZFLAotKwkJRE5EX0NPUFksCi0rCQlETkRfVU5TVVBQT1JURURfVEFSR0VULAotKwkJUE9J TlRJTkdfSEFORCwKLSsJCUNST1NTSEFJUiwKLSsJCUlCRUFNLAotKwkJQkxBTkssCi0rCQlMQVNU Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZp eCA9ICJNRVRBX0RFQlVHX1BBSU5UXyIsIHR5cGVfaWQgPSAibWV0YV9kZWJ1Z19wYWludF9mbGFn X2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gRGVidWdQYWludEZsYWcg ewotKwkJTk9ORSwKLSsJCU9QQVFVRV9SRUdJT04KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfREVCVUdfIiwgdHlwZV9pZCA9 ICJtZXRhX2RlYnVnX3RvcGljX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVu dW0gRGVidWdUb3BpYyB7Ci0rCQlWRVJCT1NFLAotKwkJRk9DVVMsCi0rCQlXT1JLQVJFQSwKLSsJ CVNUQUNLLAotKwkJU00sCi0rCQlFVkVOVFMsCi0rCQlXSU5ET1dfU1RBVEUsCi0rCQlXSU5ET1df T1BTLAotKwkJR0VPTUVUUlksCi0rCQlQTEFDRU1FTlQsCi0rCQlQSU5HLAotKwkJS0VZQklORElO R1MsCi0rCQlTWU5DLAotKwkJU1RBUlRVUCwKLSsJCVBSRUZTLAotKwkJR1JPVVBTLAotKwkJUkVT SVpJTkcsCi0rCQlTSEFQRVMsCi0rCQlFREdFX1JFU0lTVEFOQ0UsCi0rCQlEQlVTLAotKwkJSU5Q VVQsCi0rCQlXQVlMQU5ELAotKwkJS01TLAotKwkJU0NSRUVOX0NBU1QsCi0rCQlSRU1PVEVfREVT S1RPUAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNw cmVmaXggPSAiTUVUQV9ESVJFQ1RJT05fIiwgdHlwZV9pZCA9ICJtZXRhX2RpcmVjdGlvbl9nZXRf dHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVtIERpcmVjdGlvbiB7Ci0rCQlMRUZU LAotKwkJUklHSFQsCi0rCQlUT1AsCi0rCQlCT1RUT00sCi0rCQlVUCwKLSsJCURPV04sCi0rCQlI T1JJWk9OVEFMLAotKwkJVkVSVElDQUwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfRElTUExBWV8iLCB0eXBlX2lkID0gIm1l dGFfZGlzcGxheV9jb3JuZXJfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gRGlzcGxheUNv cm5lciB7Ci0rCQlUT1BMRUZULAotKwkJVE9QUklHSFQsCi0rCQlCT1RUT01MRUZULAotKwkJQk9U VE9NUklHSFQKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgi LCBjcHJlZml4ID0gIk1FVEFfRElTUExBWV8iLCB0eXBlX2lkID0gIm1ldGFfZGlzcGxheV9kaXJl Y3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gRGlzcGxheURpcmVjdGlvbiB7Ci0r CQlVUCwKLSsJCURPV04sCi0rCQlMRUZULAotKwkJUklHSFQKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfRURHRV8iLCB0eXBl X2lkID0gIm1ldGFfZWRnZV90eXBlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIEVkZ2VU eXBlIHsKLSsJCVdJTkRPVywKLSsJCU1PTklUT1IsCi0rCQlTQ1JFRU4KLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfRVhJVF8i LCB0eXBlX2lkID0gIm1ldGFfZXhpdF9jb2RlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVt IEV4aXRDb2RlIHsKLSsJCVNVQ0NFU1MsCi0rCQlFUlJPUgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9GUkFNRV8iLCB0eXBl X2lkID0gIm1ldGFfZnJhbWVfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJs aWMgZW51bSBGcmFtZUZsYWdzIHsKLSsJCUFMTE9XU19ERUxFVEUsCi0rCQlBTExPV1NfTUVOVSwK LSsJCUFMTE9XU19NSU5JTUlaRSwKLSsJCUFMTE9XU19NQVhJTUlaRSwKLSsJCUFMTE9XU19WRVJU SUNBTF9SRVNJWkUsCi0rCQlBTExPV1NfSE9SSVpPTlRBTF9SRVNJWkUsCi0rCQlIQVNfRk9DVVMs Ci0rCQlTSEFERUQsCi0rCQlTVFVDSywKLSsJCU1BWElNSVpFRCwKLSsJCUFMTE9XU19TSEFERSwK LSsJCUFMTE9XU19NT1ZFLAotKwkJRlVMTFNDUkVFTiwKLSsJCUFCT1ZFLAotKwkJVElMRURfTEVG VCwKLSsJCVRJTEVEX1JJR0hUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0ZSQU1FX1RZUEVfIiwgdHlwZV9pZCA9ICJtZXRh X2ZyYW1lX3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gRnJhbWVUeXBlIHsKLSsJ CU5PUk1BTCwKLSsJCURJQUxPRywKLSsJCU1PREFMX0RJQUxPRywKLSsJCVVUSUxJVFksCi0rCQlN RU5VLAotKwkJQk9SREVSLAotKwkJQVRUQUNIRUQsCi0rCQlMQVNUOwotKwkJcHVibGljIHVub3du ZWQgc3RyaW5nIHRvX3N0cmluZyAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfR1JBQl9PUF8iLCB0eXBlX2lkID0gIm1l dGFfZ3JhYl9vcF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBHcmFiT3AgewotKwkJTk9O RSwKLSsJCVdJTkRPV19CQVNFLAotKwkJQ09NUE9TSVRPUiwKLSsJCVdBWUxBTkRfUE9QVVAsCi0r CQlGUkFNRV9CVVRUT04sCi0rCQlNT1ZJTkcsCi0rCQlSRVNJWklOR19OVywKLSsJCVJFU0laSU5H X04sCi0rCQlSRVNJWklOR19ORSwKLSsJCVJFU0laSU5HX0UsCi0rCQlSRVNJWklOR19TVywKLSsJ CVJFU0laSU5HX1MsCi0rCQlSRVNJWklOR19TRSwKLSsJCVJFU0laSU5HX1csCi0rCQlLRVlCT0FS RF9NT1ZJTkcsCi0rCQlLRVlCT0FSRF9SRVNJWklOR19VTktOT1dOLAotKwkJS0VZQk9BUkRfUkVT SVpJTkdfTlcsCi0rCQlLRVlCT0FSRF9SRVNJWklOR19OLAotKwkJS0VZQk9BUkRfUkVTSVpJTkdf TkUsCi0rCQlLRVlCT0FSRF9SRVNJWklOR19FLAotKwkJS0VZQk9BUkRfUkVTSVpJTkdfU1csCi0r CQlLRVlCT0FSRF9SRVNJWklOR19TLAotKwkJS0VZQk9BUkRfUkVTSVpJTkdfU0UsCi0rCQlLRVlC T0FSRF9SRVNJWklOR19XCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0dSQVZJVFlfIiwgdHlwZV9pZCA9ICJtZXRhX2dyYXZp dHlfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gR3Jhdml0eSB7Ci0rCQlOT05FLAotKwkJ Tk9SVEhfV0VTVCwKLSsJCU5PUlRILAotKwkJTk9SVEhfRUFTVCwKLSsJCVdFU1QsCi0rCQlDRU5U RVIsCi0rCQlFQVNULAotKwkJU09VVEhfV0VTVCwKLSsJCVNPVVRILAotKwkJU09VVEhfRUFTVCwK LSsJCVNUQVRJQwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4u aCIsIGNwcmVmaXggPSAiTUVUQV9JTkhJQklUX1NIT1JUQ1VUU19ESUFMT0dfUkVTUE9OU0VfIiwg dHlwZV9pZCA9ICJtZXRhX2luaGliaXRfc2hvcnRjdXRzX2RpYWxvZ19yZXNwb25zZV9nZXRfdHlw ZSAoKSIpXQotKwlwdWJsaWMgZW51bSBJbmhpYml0U2hvcnRjdXRzRGlhbG9nUmVzcG9uc2Ugewot KwkJQUxMT1csCi0rCQlERU5ZCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0tFWUJJTkRJTkdfQUNUSU9OXyIsIHR5cGVfaWQg PSAibWV0YV9rZXlfYmluZGluZ19hY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0g S2V5QmluZGluZ0FjdGlvbiB7Ci0rCQlOT05FLAotKwkJV09SS1NQQUNFXzEsCi0rCQlXT1JLU1BB Q0VfMiwKLSsJCVdPUktTUEFDRV8zLAotKwkJV09SS1NQQUNFXzQsCi0rCQlXT1JLU1BBQ0VfNSwK LSsJCVdPUktTUEFDRV82LAotKwkJV09SS1NQQUNFXzcsCi0rCQlXT1JLU1BBQ0VfOCwKLSsJCVdP UktTUEFDRV85LAotKwkJV09SS1NQQUNFXzEwLAotKwkJV09SS1NQQUNFXzExLAotKwkJV09SS1NQ QUNFXzEyLAotKwkJV09SS1NQQUNFX0xFRlQsCi0rCQlXT1JLU1BBQ0VfUklHSFQsCi0rCQlXT1JL U1BBQ0VfVVAsCi0rCQlXT1JLU1BBQ0VfRE9XTiwKLSsJCVdPUktTUEFDRV9MQVNULAotKwkJU1dJ VENIX0FQUExJQ0FUSU9OUywKLSsJCVNXSVRDSF9BUFBMSUNBVElPTlNfQkFDS1dBUkQsCi0rCQlT V0lUQ0hfR1JPVVAsCi0rCQlTV0lUQ0hfR1JPVVBfQkFDS1dBUkQsCi0rCQlTV0lUQ0hfV0lORE9X UywKLSsJCVNXSVRDSF9XSU5ET1dTX0JBQ0tXQVJELAotKwkJU1dJVENIX1BBTkVMUywKLSsJCVNX SVRDSF9QQU5FTFNfQkFDS1dBUkQsCi0rCQlDWUNMRV9HUk9VUCwKLSsJCUNZQ0xFX0dST1VQX0JB Q0tXQVJELAotKwkJQ1lDTEVfV0lORE9XUywKLSsJCUNZQ0xFX1dJTkRPV1NfQkFDS1dBUkQsCi0r CQlDWUNMRV9QQU5FTFMsCi0rCQlDWUNMRV9QQU5FTFNfQkFDS1dBUkQsCi0rCQlTSE9XX0RFU0tU T1AsCi0rCQlQQU5FTF9NQUlOX01FTlUsCi0rCQlQQU5FTF9SVU5fRElBTE9HLAotKwkJVE9HR0xF X1JFQ09SRElORywKLSsJCVNFVF9TUEVXX01BUkssCi0rCQlBQ1RJVkFURV9XSU5ET1dfTUVOVSwK LSsJCVRPR0dMRV9GVUxMU0NSRUVOLAotKwkJVE9HR0xFX01BWElNSVpFRCwKLSsJCVRPR0dMRV9U SUxFRF9MRUZULAotKwkJVE9HR0xFX1RJTEVEX1JJR0hULAotKwkJVE9HR0xFX0FCT1ZFLAotKwkJ TUFYSU1JWkUsCi0rCQlVTk1BWElNSVpFLAotKwkJVE9HR0xFX1NIQURFRCwKLSsJCU1JTklNSVpF LAotKwkJQ0xPU0UsCi0rCQlCRUdJTl9NT1ZFLAotKwkJQkVHSU5fUkVTSVpFLAotKwkJVE9HR0xF X09OX0FMTF9XT1JLU1BBQ0VTLAotKwkJTU9WRV9UT19XT1JLU1BBQ0VfMSwKLSsJCU1PVkVfVE9f V09SS1NQQUNFXzIsCi0rCQlNT1ZFX1RPX1dPUktTUEFDRV8zLAotKwkJTU9WRV9UT19XT1JLU1BB Q0VfNCwKLSsJCU1PVkVfVE9fV09SS1NQQUNFXzUsCi0rCQlNT1ZFX1RPX1dPUktTUEFDRV82LAot KwkJTU9WRV9UT19XT1JLU1BBQ0VfNywKLSsJCU1PVkVfVE9fV09SS1NQQUNFXzgsCi0rCQlNT1ZF X1RPX1dPUktTUEFDRV85LAotKwkJTU9WRV9UT19XT1JLU1BBQ0VfMTAsCi0rCQlNT1ZFX1RPX1dP UktTUEFDRV8xMSwKLSsJCU1PVkVfVE9fV09SS1NQQUNFXzEyLAotKwkJTU9WRV9UT19XT1JLU1BB Q0VfTEVGVCwKLSsJCU1PVkVfVE9fV09SS1NQQUNFX1JJR0hULAotKwkJTU9WRV9UT19XT1JLU1BB Q0VfVVAsCi0rCQlNT1ZFX1RPX1dPUktTUEFDRV9ET1dOLAotKwkJTU9WRV9UT19XT1JLU1BBQ0Vf TEFTVCwKLSsJCU1PVkVfVE9fTU9OSVRPUl9MRUZULAotKwkJTU9WRV9UT19NT05JVE9SX1JJR0hU LAotKwkJTU9WRV9UT19NT05JVE9SX1VQLAotKwkJTU9WRV9UT19NT05JVE9SX0RPV04sCi0rCQlS QUlTRV9PUl9MT1dFUiwKLSsJCVJBSVNFLAotKwkJTE9XRVIsCi0rCQlNQVhJTUlaRV9WRVJUSUNB TExZLAotKwkJTUFYSU1JWkVfSE9SSVpPTlRBTExZLAotKwkJTU9WRV9UT19DT1JORVJfTlcsCi0r CQlNT1ZFX1RPX0NPUk5FUl9ORSwKLSsJCU1PVkVfVE9fQ09STkVSX1NXLAotKwkJTU9WRV9UT19D T1JORVJfU0UsCi0rCQlNT1ZFX1RPX1NJREVfTiwKLSsJCU1PVkVfVE9fU0lERV9TLAotKwkJTU9W RV9UT19TSURFX0UsCi0rCQlNT1ZFX1RPX1NJREVfVywKLSsJCU1PVkVfVE9fQ0VOVEVSLAotKwkJ T1ZFUkxBWV9LRVksCi0rCQlMT0NBVEVfUE9JTlRFUl9LRVksCi0rCQlJU09fTkVYVF9HUk9VUCwK LSsJCUFMV0FZU19PTl9UT1AsCi0rCQlTV0lUQ0hfTU9OSVRPUiwKLSsJCVJPVEFURV9NT05JVE9S LAotKwkJTEFTVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4u aCIsIGNwcmVmaXggPSAiTUVUQV9LRVlfQklORElOR18iLCB0eXBlX2lkID0gIm1ldGFfa2V5X2Jp bmRpbmdfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBLZXlC aW5kaW5nRmxhZ3MgewotKwkJTk9ORSwKLSsJCVBFUl9XSU5ET1csCi0rCQlCVUlMVElOLAotKwkJ SVNfUkVWRVJTRUQsCi0rCQlOT05fTUFTS0FCTEUsCi0rCQlJR05PUkVfQVVUT1JFUEVBVCwKLSsJ CU5PX0FVVE9fR1JBQgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIsIGNwcmVmaXggPSAiTUVUQV9MQVRFUl8iLCB0eXBlX2lkID0gIm1ldGFfbGF0ZXJfdHlw ZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBMYXRlclR5cGUgewotKwkJUkVTSVpFLAot KwkJQ0FMQ19TSE9XSU5HLAotKwkJQ0hFQ0tfRlVMTFNDUkVFTiwKLSsJCVNZTkNfU1RBQ0ssCi0r CQlCRUZPUkVfUkVEUkFXLAotKwkJSURMRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9MT0NBTEVfRElSRUNUSU9OXyIsIHR5 cGVfaWQgPSAibWV0YV9sb2NhbGVfZGlyZWN0aW9uX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBl bnVtIExvY2FsZURpcmVjdGlvbiB7Ci0rCQlMVFIsCi0rCQlSVEwKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfTUFYSU1JWkVf IiwgdHlwZV9pZCA9ICJtZXRhX21heGltaXplX2ZsYWdzX2dldF90eXBlICgpIildCi0rCVtGbGFn c10KLSsJcHVibGljIGVudW0gTWF4aW1pemVGbGFncyB7Ci0rCQlIT1JJWk9OVEFMLAotKwkJVkVS VElDQUwsCi0rCQlCT1RICi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX01PREFMXyIsIHR5cGVfaWQgPSAibWV0YV9tb2RhbF9v cHRpb25zX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gTW9kYWxPcHRp b25zIHsKLSsJCVBPSU5URVJfQUxSRUFEWV9HUkFCQkVELAotKwkJS0VZQk9BUkRfQUxSRUFEWV9H UkFCQkVECi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwg Y3ByZWZpeCA9ICJNRVRBX01PTklUT1JfU1dJVENIX0NPTkZJR18iLCB0eXBlX2lkID0gIm1ldGFf bW9uaXRvcl9zd2l0Y2hfY29uZmlnX3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0g TW9uaXRvclN3aXRjaENvbmZpZ1R5cGUgewotKwkJQUxMX01JUlJPUiwKLSsJCUFMTF9MSU5FQVIs Ci0rCQlFWFRFUk5BTCwKLSsJCUJVSUxUSU4sCi0rCQlVTktOT1dOCi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX01PVElPTl8i LCB0eXBlX2lkID0gIm1ldGFfbW90aW9uX2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlwdWJs aWMgZW51bSBNb3Rpb25EaXJlY3Rpb24gewotKwkJVVAsCi0rCQlET1dOLAotKwkJTEVGVCwKLSsJ CVJJR0hULAotKwkJVVBfTEVGVCwKLSsJCVVQX1JJR0hULAotKwkJRE9XTl9MRUZULAotKwkJRE9X Tl9SSUdIVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIs IGNwcmVmaXggPSAiTUVUQV9QQURfQUNUSU9OXyIsIHR5cGVfaWQgPSAibWV0YV9wYWRfYWN0aW9u X3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gUGFkQWN0aW9uVHlwZSB7Ci0rCQlC VVRUT04sCi0rCQlSSU5HLAotKwkJU1RSSVAKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9wcmVmcy5oIiwgY3ByZWZpeCA9ICJNRVRBX1BSRUZfIiwgdHlwZV9pZCA9ICJt ZXRhX3ByZWZlcmVuY2VfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gUHJlZmVyZW5jZSB7 Ci0rCQlNT1VTRV9CVVRUT05fTU9EUywKLSsJCUZPQ1VTX01PREUsCi0rCQlGT0NVU19ORVdfV0lO RE9XUywKLSsJCUFUVEFDSF9NT0RBTF9ESUFMT0dTLAotKwkJUkFJU0VfT05fQ0xJQ0ssCi0rCQlB Q1RJT05fRE9VQkxFX0NMSUNLX1RJVExFQkFSLAotKwkJQUNUSU9OX01JRERMRV9DTElDS19USVRM RUJBUiwKLSsJCUFDVElPTl9SSUdIVF9DTElDS19USVRMRUJBUiwKLSsJCUFVVE9fUkFJU0UsCi0r CQlBVVRPX1JBSVNFX0RFTEFZLAotKwkJRk9DVVNfQ0hBTkdFX09OX1BPSU5URVJfUkVTVCwKLSsJ CVRJVExFQkFSX0ZPTlQsCi0rCQlOVU1fV09SS1NQQUNFUywKLSsJCURZTkFNSUNfV09SS1NQQUNF UywKLSsJCUtFWUJJTkRJTkdTLAotKwkJRElTQUJMRV9XT1JLQVJPVU5EUywKLSsJCUJVVFRPTl9M QVlPVVQsCi0rCQlXT1JLU1BBQ0VfTkFNRVMsCi0rCQlWSVNVQUxfQkVMTCwKLSsJCUFVRElCTEVf QkVMTCwKLSsJCVZJU1VBTF9CRUxMX1RZUEUsCi0rCQlHTk9NRV9BQ0NFU1NJQklMSVRZLAotKwkJ R05PTUVfQU5JTUFUSU9OUywKLSsJCUNVUlNPUl9USEVNRSwKLSsJCUNVUlNPUl9TSVpFLAotKwkJ UkVTSVpFX1dJVEhfUklHSFRfQlVUVE9OLAotKwkJRURHRV9USUxJTkcsCi0rCQlGT1JDRV9GVUxM U0NSRUVOLAotKwkJV09SS1NQQUNFU19PTkxZX09OX1BSSU1BUlksCi0rCQlEUkFHR0FCTEVfQk9S REVSX1dJRFRILAotKwkJQVVUT19NQVhJTUlaRSwKLSsJCUNFTlRFUl9ORVdfV0lORE9XUywKLSsJ CURSQUdfVEhSRVNIT0xELAotKwkJTE9DQVRFX1BPSU5URVIsCi0rCQlDSEVDS19BTElWRV9USU1F T1VUOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIHRvX3N0cmluZyAoKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXNlbGVjdGlvbi1zb3VyY2UuaCIsIGNw cmVmaXggPSAiTUVUQV8iLCB0eXBlX2lkID0gIm1ldGFfc2VsZWN0aW9uX3R5cGVfZ2V0X3R5cGUg KCkiKV0KLSsJcHVibGljIGVudW0gU2VsZWN0aW9uVHlwZSB7Ci0rCQlTRUxFQ1RJT05fUFJJTUFS WSwKLSsJCVNFTEVDVElPTl9DTElQQk9BUkQsCi0rCQlTRUxFQ1RJT05fRE5ELAotKwkJTl9TRUxF Q1RJT05fVFlQRVMKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWlu LmgiLCBjcHJlZml4ID0gIk1FVEFfU0hBRE9XX01PREVfIiwgdHlwZV9pZCA9ICJtZXRhX3NoYWRv d19tb2RlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFNoYWRvd01vZGUgewotKwkJQVVU TywKLSsJCUZPUkNFRF9PRkYsCi0rCQlGT1JDRURfT04KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfU0lERV8iLCB0eXBlX2lk ID0gIm1ldGFfc2lkZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBTaWRlIHsKLSsJCUxF RlQsCi0rCQlSSUdIVCwKLSsJCVRPUCwKLSsJCUJPVFRPTQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9TSVpFX0NIQU5HRV8i LCB0eXBlX2lkID0gIm1ldGFfc2l6ZV9jaGFuZ2VfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVu dW0gU2l6ZUNoYW5nZSB7Ci0rCQlNQVhJTUlaRSwKLSsJCVVOTUFYSU1JWkUsCi0rCQlGVUxMU0NS RUVOLAotKwkJVU5GVUxMU0NSRUVOCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0xBWUVSXyIsIHR5cGVfaWQgPSAibWV0YV9z dGFja19sYXllcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBTdGFja0xheWVyIHsKLSsJ CURFU0tUT1AsCi0rCQlCT1RUT00sCi0rCQlOT1JNQUwsCi0rCQlUT1AsCi0rCQlET0NLLAotKwkJ T1ZFUlJJREVfUkVESVJFQ1QsCi0rCQlMQVNUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX1RBQl9MSVNUXyIsIHR5cGVfaWQg PSAibWV0YV90YWJfbGlzdF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBUYWJMaXN0IHsK LSsJCU5PUk1BTCwKLSsJCURPQ0tTLAotKwkJR1JPVVAsCi0rCQlOT1JNQUxfQUxMCi0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRB X1RBQl9TSE9XXyIsIHR5cGVfaWQgPSAibWV0YV90YWJfc2hvd190eXBlX2dldF90eXBlICgpIild Ci0rCXB1YmxpYyBlbnVtIFRhYlNob3dUeXBlIHsKLSsJCUlDT04sCi0rCQlJTlNUQU5UTFkKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0g Ik1FVEFfVklSVFVBTF8iLCB0eXBlX2lkID0gIm1ldGFfdmlydHVhbF9tb2RpZmllcl9nZXRfdHlw ZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVtIFZpcnR1YWxNb2RpZmllciB7Ci0rCQlT SElGVF9NQVNLLAotKwkJQ09OVFJPTF9NQVNLLAotKwkJQUxUX01BU0ssCi0rCQlNRVRBX01BU0ss Ci0rCQlTVVBFUl9NQVNLLAotKwkJSFlQRVJfTUFTSywKLSsJCU1PRDJfTUFTSywKLSsJCU1PRDNf TUFTSywKLSsJCU1PRDRfTUFTSywKLSsJCU1PRDVfTUFTSwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9XSU5ET1dfQ0xJRU5U X1RZUEVfIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd19jbGllbnRfdHlwZV9nZXRfdHlwZSAoKSIp XQotKwlwdWJsaWMgZW51bSBXaW5kb3dDbGllbnRUeXBlIHsKLSsJCVdBWUxBTkQsCi0rCQlYMTEK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4 ID0gIk1FVEFfV0lORE9XX01FTlVfIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd19tZW51X3R5cGVf Z2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gV2luZG93TWVudVR5cGUgewotKwkJV00sCi0r CQlBUFAKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBj cHJlZml4ID0gIk1FVEFfV0lORE9XXyIsIHR5cGVfaWQgPSAibWV0YV93aW5kb3dfdHlwZV9nZXRf dHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBXaW5kb3dUeXBlIHsKLSsJCU5PUk1BTCwKLSsJCURF U0tUT1AsCi0rCQlET0NLLAotKwkJRElBTE9HLAotKwkJTU9EQUxfRElBTE9HLAotKwkJVE9PTEJB UiwKLSsJCU1FTlUsCi0rCQlVVElMSVRZLAotKwkJU1BMQVNIU0NSRUVOLAotKwkJRFJPUERPV05f TUVOVSwKLSsJCVBPUFVQX01FTlUsCi0rCQlUT09MVElQLAotKwkJTk9USUZJQ0FUSU9OLAotKwkJ Q09NQk8sCi0rCQlETkQsCi0rCQlPVkVSUklERV9PVEhFUgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGluc3RhbmNlX3BvcyA9IDIuOSldCi0rCXB1Ymxp YyBkZWxlZ2F0ZSB2b2lkIElkbGVNb25pdG9yV2F0Y2hGdW5jIChNZXRhLklkbGVNb25pdG9yIG1v bml0b3IsIHVpbnQgd2F0Y2hfaWQpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0 YS9tYWluLmgiLCBpbnN0YW5jZV9wb3MgPSA0LjkpXQotKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBL ZXlIYW5kbGVyRnVuYyAoTWV0YS5EaXNwbGF5IGRpc3BsYXksIE1ldGEuV2luZG93IHdpbmRvdywg W0NDb2RlICh0eXBlID0gIkNsdXR0ZXJLZXlFdmVudCoiKV0gQ2x1dHRlci5LZXlFdmVudD8gZXZl bnQsIE1ldGEuS2V5QmluZGluZyBiaW5kaW5nKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KLSsJcHVibGljIGRlbGVnYXRl IHZvaWQgUHJlZnNDaGFuZ2VkRnVuYyAoTWV0YS5QcmVmZXJlbmNlIHByZWYpOwotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBpbnN0YW5jZV9wb3MgPSAxLjkpXQot KwlwdWJsaWMgZGVsZWdhdGUgYm9vbCBXaW5kb3dGb3JlYWNoRnVuYyAoTWV0YS5XaW5kb3cgd2lu ZG93KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUg PSAiTUVUQV9DVVJSRU5UX1RJTUUiKV0KLSsJcHVibGljIGNvbnN0IGludCBDVVJSRU5UX1RJTUU7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1F VEFfREVGQVVMVF9JQ09OX05BTUUiKV0KLSsJcHVibGljIGNvbnN0IHN0cmluZyBERUZBVUxUX0lD T05fTkFNRTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25h bWUgPSAiTUVUQV9JQ09OX0hFSUdIVCIpXQotKwlwdWJsaWMgY29uc3QgaW50IElDT05fSEVJR0hU OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJN RVRBX0lDT05fV0lEVEgiKV0KLSsJcHVibGljIGNvbnN0IGludCBJQ09OX1dJRFRIOwotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX01JTklf SUNPTl9IRUlHSFQiKV0KLSsJcHVibGljIGNvbnN0IGludCBNSU5JX0lDT05fSEVJR0hUOwotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX01J TklfSUNPTl9XSURUSCIpXQotKwlwdWJsaWMgY29uc3QgaW50IE1JTklfSUNPTl9XSURUSDsKLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9Q UklPUklUWV9CRUZPUkVfUkVEUkFXIildCi0rCXB1YmxpYyBjb25zdCBpbnQgUFJJT1JJVFlfQkVG T1JFX1JFRFJBVzsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwg Y25hbWUgPSAiTUVUQV9QUklPUklUWV9QUkVGU19OT1RJRlkiKV0KLSsJcHVibGljIGNvbnN0IGlu dCBQUklPUklUWV9QUkVGU19OT1RJRlk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFfUFJJT1JJVFlfUkVEUkFXIildCi0rCXB1YmxpYyBj b25zdCBpbnQgUFJJT1JJVFlfUkVEUkFXOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX1BSSU9SSVRZX1JFU0laRSIpXQotKwlwdWJsaWMg Y29uc3QgaW50IFBSSU9SSVRZX1JFU0laRTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9WSVJUVUFMX0NPUkVfS0VZQk9BUkRfSUQiKV0K LSsJcHVibGljIGNvbnN0IGludCBWSVJUVUFMX0NPUkVfS0VZQk9BUkRfSUQ7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFfVklSVFVBTF9D T1JFX1BPSU5URVJfSUQiKV0KLSsJcHVibGljIGNvbnN0IGludCBWSVJUVUFMX0NPUkVfUE9JTlRF Ul9JRDsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1 YmxpYyBzdGF0aWMgdm9pZCBhZGRfY2x1dHRlcl9kZWJ1Z19mbGFncyAoQ2x1dHRlci5EZWJ1Z0Zs YWcgZGVidWdfZmxhZ3MsIENsdXR0ZXIuRHJhd0RlYnVnRmxhZyBkcmF3X2ZsYWdzLCBDbHV0dGVy LlBpY2tEZWJ1Z0ZsYWcgcGlja19mbGFncyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgYWRkX2RlYnVnX3BhaW50X2Zs YWcgKE1ldGEuRGVidWdQYWludEZsYWcgZmxhZyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgY2x1dHRlcl9pbml0ICgp OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGlj IHN0YXRpYyB2b2lkIGV4aXQgKE1ldGEuRXhpdENvZGUgY29kZSk7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHN0cmluZyBnX3V0 Zjhfc3RybmR1cCAoc3RyaW5nIHNyYywgc2l6ZV90IG4pOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyBNZXRhLkRlYnVnUGFpbnRG bGFnIGdldF9kZWJ1Z19wYWludF9mbGFncyAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHTGliLk9wdGlvbkNv bnRleHQgZ2V0X29wdGlvbl9jb250ZXh0ICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGdldF9yZXBsYWNlX2N1cnJl bnRfd20gKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQot KwlwdWJsaWMgc3RhdGljIHZvaWQgaW5pdCAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBpc19yZXN0YXJ0ICgpOwot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0 YXRpYyBib29sIGlzX3RvcGljX2VuYWJsZWQgKE1ldGEuRGVidWdUb3BpYyB0b3BpYyk7Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGlj IHZvaWQgcXVpdCAoTWV0YS5FeGl0Q29kZSBjb2RlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCByZWdpc3Rlcl93aXRo X3Nlc3Npb24gKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIp XQotKwlwdWJsaWMgc3RhdGljIHZvaWQgcmVtb3ZlX2NsdXR0ZXJfZGVidWdfZmxhZ3MgKENsdXR0 ZXIuRGVidWdGbGFnIGRlYnVnX2ZsYWdzLCBDbHV0dGVyLkRyYXdEZWJ1Z0ZsYWcgZHJhd19mbGFn cywgQ2x1dHRlci5QaWNrRGVidWdGbGFnIHBpY2tfZmxhZ3MpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHJlbW92ZV9k ZWJ1Z19wYWludF9mbGFnIChNZXRhLkRlYnVnUGFpbnRGbGFnIGZsYWcpOwotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHJl c3RhcnQgKHN0cmluZz8gbWVzc2FnZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIGludCBydW4gKCk7Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgc2V0 X2dub21lX3dtX2tleWJpbmRpbmdzIChzdHJpbmcgd21fa2V5YmluZGluZ3MpOwotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lk IHNldF93bV9uYW1lIChzdHJpbmcgd21fbmFtZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgdGVzdF9pbml0ICgpOwot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0 YXRpYyBib29sIHgxMV9pbml0X2dka19kaXNwbGF5ICgpIHRocm93cyBHTGliLkVycm9yOwotK30K LStbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibGlibXV0dGVyLTgtY3VzdG9tLmgiLCBoYXNf dHlwZV9pZCA9IGZhbHNlKV0KLStwdWJsaWMgc3RydWN0IGJlZm9yZV9mcmFtZSB7Ci0rfQotK1tD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJsaWJtdXR0ZXItOC1jdXN0b20uaCIsIGhhc190eXBl X2lkID0gZmFsc2UpXQotK3B1YmxpYyBzdHJ1Y3QgZnJhbWUgewotK30KLWRpZmYgLS1naXQgdmFw aS9tdXR0ZXItY2x1dHRlci03LWN1c3RvbS52YWxhIHZhcGkvbXV0dGVyLWNsdXR0ZXItNy1jdXN0 b20udmFsYQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi42MGM5ZjYxMQot LS0tIC9kZXYvbnVsbAotKysrIHZhcGkvbXV0dGVyLWNsdXR0ZXItNy1jdXN0b20udmFsYQotQEAg LTAsMCArMSw0MiBAQAotK25hbWVzcGFjZSBDbHV0dGVyIHsKLSsKLSsJcHVibGljIHN0cnVjdCBD b2xvciB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJvbV9obHMiKV0KLSsJ CXB1YmxpYyBDb2xvci5mcm9tX2hscyAoZmxvYXQgaHVlLCBmbG9hdCBsdW1pbmFuY2UsIGZsb2F0 IHNhdHVyYXRpb24pOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fcGl4 ZWwiKV0KLSsJCXB1YmxpYyBDb2xvci5mcm9tX3BpeGVsICh1aW50MzIgcGl4ZWwpOwotKwkJW0ND b2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fc3RyaW5nIildCi0rCQlwdWJsaWMgc3Rh dGljIGJvb2wgZnJvbV9zdHJpbmcgKG91dCBDbHV0dGVyLkNvbG9yIGNvbG9yLCBzdHJpbmcgc3Ry KTsKLSsJCXB1YmxpYyBib29sIHBhcnNlX3N0cmluZyAoc3RyaW5nIHN0cik7Ci0rCQlwdWJsaWMg c3RhdGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gZ2V0X3N0YXRpYyAoQ2x1dHRlci5TdGF0aWND b2xvciBjb2xvcik7Ci0rCX0KLSsKLSsJcHVibGljIGludGVyZmFjZSBDb250YWluZXIgOiBHTGli Lk9iamVjdCB7Ci0rCQlwdWJsaWMgdm9pZCBhZGQgKHBhcmFtcyBDbHV0dGVyLkFjdG9yW10gYWN0 b3JzKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb250YWluZXJfY2xhc3NfZmluZF9j aGlsZF9wcm9wZXJ0eSIpXQotKwkJcHVibGljIGNsYXNzIHVub3duZWQgR0xpYi5QYXJhbVNwZWMg ZmluZF9jaGlsZF9wcm9wZXJ0eSAoc3RyaW5nIHByb3BlcnR5X25hbWUpOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX2NvbnRhaW5lcl9jbGFzc19saXN0X2NoaWxkX3Byb3BlcnRpZXMiKV0K LSsJCXB1YmxpYyBjbGFzcyB1bm93bmVkIEdMaWIuUGFyYW1TcGVjW10gbGlzdF9jaGlsZF9wcm9w ZXJ0aWVzICgpOwotKwl9Ci0rCi0rCXB1YmxpYyBzdHJ1Y3QgVW5pdHMgewotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fY20iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX2Nt IChmbG9hdCBjbSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9lbSIp XQotKwkJcHVibGljIFVuaXRzLmZyb21fZW0gKGZsb2F0IGVtKTsKLSsJCVtDQ29kZSAoY25hbWUg PSAiY2x1dHRlcl91bml0c19mcm9tX2VtX2Zvcl9mb250IildCi0rCQlwdWJsaWMgVW5pdHMuZnJv bV9lbV9mb3JfZm9udCAoc3RyaW5nIGZvbnRfbmFtZSwgZmxvYXQgZW0pOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fbW0iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX21t IChmbG9hdCBtbSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9waXhl bHMiKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX3BpeGVscyAoaW50IHB4KTsKLSsJCVtDQ29kZSAo Y25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX3B0IildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9w dCAoZmxvYXQgcHQpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fc3Ry aW5nIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9zdHJpbmcgKHN0cmluZyBzdHIpOwotKwl9Ci0r Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc19j b3B5X2Z1bmN0aW9uID0gZmFsc2UsIGhhc19kZXN0cm95X2Z1bmN0aW9uID0gZmFsc2UsIGhhc190 eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3RydWN0IENhcHR1cmUgewotKwl9Ci0rfQotZGlm ZiAtLWdpdCB2YXBpL211dHRlci1jbHV0dGVyLTcuZGVwcyB2YXBpL211dHRlci1jbHV0dGVyLTcu ZGVwcwotaW5kZXggNmJkMWNjZjcuLjJmNGNmM2U4IDEwMDY0NAotLS0tIHZhcGkvbXV0dGVyLWNs dXR0ZXItNy5kZXBzCi0rKysgdmFwaS9tdXR0ZXItY2x1dHRlci03LmRlcHMKLUBAIC0yLDMgKzIs NCBAQCBhdGsKLSBjYWlybwotIGpzb24tZ2xpYi0xLjAKLSBtdXR0ZXItY29nbC03Ci0rZ3JhcGhl bmUtZ29iamVjdC0xLjAKLWRpZmYgLS1naXQgdmFwaS9tdXR0ZXItY2x1dHRlci03LnZhcGkgdmFw aS9tdXR0ZXItY2x1dHRlci03LnZhcGkKLWluZGV4IGQ3ZTEzM2RmLi5iMWNkZDE4NSAxMDA2NDQK LS0tLSB2YXBpL211dHRlci1jbHV0dGVyLTcudmFwaQotKysrIHZhcGkvbXV0dGVyLWNsdXR0ZXIt Ny52YXBpCi1AQCAtNDY1OSwxMSArNDY1OSwxMSBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0gCQlwdWJsaWMgdm9pZCBhbGxvY2F0ZV9wcmVmZXJy ZWRfc2l6ZSAoZmxvYXQgeCwgZmxvYXQgeSk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42Iild Ci0tCQlwdWJsaWMgdm9pZCBhcHBseV9yZWxhdGl2ZV90cmFuc2Zvcm1fdG9fcG9pbnQgKENsdXR0 ZXIuQWN0b3I/IGFuY2VzdG9yLCBHcmFwaGVuZS5Qb2ludDNEIHBvaW50LCBvdXQgdW5vd25lZCBH cmFwaGVuZS5Qb2ludDNEIHZlcnRleCk7Ci0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQzRCBhcHBs eV9yZWxhdGl2ZV90cmFuc2Zvcm1fdG9fcG9pbnQgKENsdXR0ZXIuQWN0b3I/IGFuY2VzdG9yLCBH cmFwaGVuZS5Qb2ludDNEIHBvaW50KTsKLSAJCVtOb1dyYXBwZXJdCi0gCQlwdWJsaWMgdmlydHVh bCB2b2lkIGFwcGx5X3RyYW5zZm9ybSAocmVmIENsdXR0ZXIuTWF0cml4IG1hdHJpeCk7Ci0gCQlb VmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0tCQlwdWJsaWMgdm9pZCBhcHBseV90cmFuc2Zvcm1f dG9fcG9pbnQgKEdyYXBoZW5lLlBvaW50M0QgcG9pbnQsIG91dCB1bm93bmVkIEdyYXBoZW5lLlBv aW50M0QgdmVydGV4KTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludDNEIGFwcGx5X3RyYW5zZm9y bV90b19wb2ludCAoR3JhcGhlbmUuUG9pbnQzRCBwb2ludCk7Ci0gCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yNCIpXQotIAkJcHVibGljIHZvaWQgYmluZF9tb2RlbCAoR0xpYi5MaXN0TW9kZWw/IG1v ZGVsLCBvd25lZCBDbHV0dGVyLkFjdG9yQ3JlYXRlQ2hpbGRGdW5jIGNyZWF0ZV9jaGlsZF9mdW5j KTsKLSAJCVtOb1dyYXBwZXJdCi1AQCAtNDcyNCw3ICs0NzI0LDcgQEAgbmFtZXNwYWNlIENsdXR0 ZXIgewotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSAJCXB1YmxpYyB2b2lkIGdldF9j b250ZW50X3NjYWxpbmdfZmlsdGVycyAob3V0IENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtaW5fZmls dGVyLCBvdXQgQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1hZ19maWx0ZXIpOwotIAkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLS0JCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnRWb2x1bWUg Z2V0X2RlZmF1bHRfcGFpbnRfdm9sdW1lICgpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5Q YWludFZvbHVtZT8gZ2V0X2RlZmF1bHRfcGFpbnRfdm9sdW1lICgpOwotIAkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLSAJCXB1YmxpYyB1aW50IGdldF9lYXNpbmdfZGVsYXkgKCk7Ci0gCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotQEAgLTQ3NTEsNyArNDc1MSw3IEBAIG5hbWVzcGFj ZSBDbHV0dGVyIHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0gCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkxheW91dE1hbmFnZXIgZ2V0X2xheW91dF9tYW5hZ2VyICgpOwotIAkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLS0JCXB1YmxpYyB2b2lkIGdldF9tYXJnaW4gKENsdXR0 ZXIuTWFyZ2luIG1hcmdpbik7Ci0rCQlwdWJsaWMgQ2x1dHRlci5NYXJnaW4gZ2V0X21hcmdpbiAo KTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0gCQlwdWJsaWMgZmxvYXQgZ2V0X21h cmdpbl9ib3R0b20gKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotQEAgLTQ3NzYs OCArNDc3NiwxMSBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMgdWludDggZ2V0X3Bh aW50X29wYWNpdHkgKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0gCQlwdWJsaWMg Ym9vbCBnZXRfcGFpbnRfdmlzaWJpbGl0eSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnRWb2x1bWU/IGdldF9wYWludF92b2x1 bWUgKCk7Ci0rCQlbQ0NvZGUgKHZmdW5jX25hbWUgPSAiZ2V0X3BhaW50X3ZvbHVtZSIpXQotIAkJ W05vV3JhcHBlcl0KLS0JCXB1YmxpYyB2aXJ0dWFsIGJvb2wgZ2V0X3BhaW50X3ZvbHVtZSAoQ2x1 dHRlci5QYWludFZvbHVtZSB2b2x1bWUpOwotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBnZXRfcGFp bnRfdm9sdW1lX3ZmdW5jIChvdXQgQ2x1dHRlci5QYWludFZvbHVtZSB2b2x1bWUpOwotIAkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQotIAkJcHVibGljIHVub3duZWQgUGFuZ28uQ29udGV4dCBn ZXRfcGFuZ29fY29udGV4dCAoKTsKLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3I/IGdl dF9wYXJlbnQgKCk7Ci1AQCAtNDgxNCw5ICs0ODE3LDkgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewot IAkJcHVibGljIENsdXR0ZXIuVGV4dERpcmVjdGlvbiBnZXRfdGV4dF9kaXJlY3Rpb24gKCk7Ci0g CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotIAkJcHVibGljIENsdXR0ZXIuTWF0cml4IGdl dF90cmFuc2Zvcm0gKCk7Ci0tCQlwdWJsaWMgdm9pZCBnZXRfdHJhbnNmb3JtZWRfZXh0ZW50cyAo b3V0IHVub3duZWQgR3JhcGhlbmUuUmVjdCByZWN0KTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5SZWN0 IGdldF90cmFuc2Zvcm1lZF9leHRlbnRzICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIp XQotLQkJcHVibGljIHVub3duZWQgQ2x1dHRlci5QYWludFZvbHVtZSBnZXRfdHJhbnNmb3JtZWRf cGFpbnRfdm9sdW1lIChDbHV0dGVyLkFjdG9yIHJlbGF0aXZlX3RvX2FuY2VzdG9yKTsKLSsJCXB1 YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnRWb2x1bWU/IGdldF90cmFuc2Zvcm1lZF9wYWludF92 b2x1bWUgKENsdXR0ZXIuQWN0b3IgcmVsYXRpdmVfdG9fYW5jZXN0b3IpOwotIAkJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQotIAkJcHVibGljIHZvaWQgZ2V0X3RyYW5zZm9ybWVkX3Bvc2l0aW9u IChvdXQgZmxvYXQgeCwgb3V0IGZsb2F0IHkpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIp XQotQEAgLTUyNzUsNyArNTI3OCw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBB bGlnbkNvbnN0cmFpbnQgKENsdXR0ZXIuQWN0b3I/IHNvdXJjZSwgQ2x1dHRlci5BbGlnbkF4aXMg YXhpcywgZmxvYXQgZmFjdG9yKTsKLSAJCXB1YmxpYyBDbHV0dGVyLkFsaWduQXhpcyBnZXRfYWxp Z25fYXhpcyAoKTsKLSAJCXB1YmxpYyBmbG9hdCBnZXRfZmFjdG9yICgpOwotLQkJcHVibGljIHZv aWQgZ2V0X3Bpdm90X3BvaW50IChvdXQgdW5vd25lZCBHcmFwaGVuZS5Qb2ludCBwaXZvdF9wb2lu dCk7Ci0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgZ2V0X3Bpdm90X3BvaW50ICgpOwotIAkJcHVi bGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfc291cmNlICgpOwotIAkJcHVibGljIHZvaWQg c2V0X2FsaWduX2F4aXMgKENsdXR0ZXIuQWxpZ25BeGlzIGF4aXMpOwotIAkJcHVibGljIHZvaWQg c2V0X2ZhY3RvciAoZmxvYXQgZmFjdG9yKTsKLUBAIC01MjgzLDggKzUyODYsNyBAQCBuYW1lc3Bh Y2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMgdm9pZCBzZXRfc291cmNlIChDbHV0dGVyLkFjdG9yPyBz b3VyY2UpOwotIAkJcHVibGljIENsdXR0ZXIuQWxpZ25BeGlzIGFsaWduX2F4aXMgeyBnZXQ7IHNl dCBjb25zdHJ1Y3Q7IH0KLSAJCXB1YmxpYyBmbG9hdCBmYWN0b3IgeyBnZXQ7IHNldCBjb25zdHJ1 Y3Q7IH0KLS0JCVtOb0FjY2Vzc29yTWV0aG9kXQotLQkJcHVibGljIEdyYXBoZW5lLlBvaW50IHBp dm90X3BvaW50IHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBw aXZvdF9wb2ludCB7IGdldDsgc2V0OyB9Ci0gCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBzb3VyY2Ug eyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSAJfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLUBAIC01MzAyLDYg KzUzMDQsOCBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBC YWNrZW5kIDogR0xpYi5PYmplY3QgewotIAkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UpXQotIAkJcHJvdGVjdGVkIEJhY2tlbmQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkNvbnRleHQgZ2V0X2NvZ2xfY29udGV4 dCAoKTsKLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU2VhdCBnZXRfZGVmYXVsdF9zZWF0ICgp OwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotIAkJcHVibGljIHVub3duZWQgQ2Fpcm8u Rm9udE9wdGlvbnMgZ2V0X2ZvbnRfb3B0aW9ucyAoKTsKLUBAIC01NTYxLDYgKzU1NjUsMTYgQEAg bmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIHZvaWQgc2V0X2ZhY3RvciAoZG91YmxlIGZh Y3Rvcik7Ci0gCQlwdWJsaWMgZG91YmxlIGZhY3RvciB7IGdldDsgc2V0OyB9Ci0gCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQg PSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgRGV2aWNlRXZlbnQgOiBDbHV0 dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwot KwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0 ZXIuQWN0b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJ CXB1YmxpYyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwot Kwl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSAJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQotIAlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgRWZmZWN0IDogQ2x1dHRlci5BY3Rv ck1ldGEgewotQEAgLTU2MzAsNyArNTY0NCw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1 YmxpYyB1aW50IGdldF9tb2RlX2dyb3VwICgpOwotIAkJcHVibGljIGJvb2wgZ2V0X3BhZF9ldmVu dF9kZXRhaWxzIChvdXQgdWludCBudW1iZXIsIG91dCB1aW50IG1vZGUsIG91dCBkb3VibGUgdmFs dWUpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLS0JCXB1YmxpYyB2b2lkIGdldF9w b3NpdGlvbiAoR3JhcGhlbmUuUG9pbnQgcG9zaXRpb24pOwotKwkJcHVibGljIEdyYXBoZW5lLlBv aW50IGdldF9wb3NpdGlvbiAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSAJCXB1 YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3JlbGF0ZWQgKCk7Ci0gCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotQEAgLTU3NTIsNyArNTc2Niw3IEBAIG5hbWVzcGFjZSBDbHV0dGVy IHsKLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX2ZyYW1lX2Nsb2NrX2dldF90eXBlICgpIildCi0gCXB1YmxpYyBjbGFz cyBGcmFtZUNsb2NrIDogR0xpYi5PYmplY3QgewotIAkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UpXQotLQkJcHVibGljIEZyYW1lQ2xvY2sgKGZsb2F0IHJlZnJlc2hfcmF0 ZSwgQ2x1dHRlci5GcmFtZUxpc3RlbmVySWZhY2UgaWZhY2UsIHZvaWQqIHVzZXJfZGF0YSk7Ci0r CQlwcm90ZWN0ZWQgRnJhbWVDbG9jayAoKTsKLSAJCXB1YmxpYyB2b2lkIGFkZF90aW1lbGluZSAo Q2x1dHRlci5UaW1lbGluZSB0aW1lbGluZSk7Ci0gCQlwdWJsaWMgZmxvYXQgZ2V0X3JlZnJlc2hf cmF0ZSAoKTsKLSAJCXB1YmxpYyB2b2lkIGluaGliaXQgKCk7Ci1AQCAtNTg1MCw2ICs1ODY0LDE4 IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBib29sIHJvd19ob21vZ2VuZW91cyB7 IGdldDsgc2V0OyB9Ci0gCQlwdWJsaWMgdWludCByb3dfc3BhY2luZyB7IGdldDsgc2V0OyB9Ci0g CX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFz X3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgSU1FdmVudCA6 IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJ CXB1YmxpYyB1aW50MzIgbGVuOwotKwkJcHVibGljIGludDMyIG9mZnNldDsKLSsJCXB1YmxpYyB3 ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBz dGFnZTsKLSsJCXB1YmxpYyB3ZWFrIHN0cmluZyB0ZXh0OwotKwkJcHVibGljIHVpbnQzMiB0aW1l OwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCX0KLSAJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lt YWdlX2dldF90eXBlICgpIildCi0gCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0gCXB1Ymxp YyBjbGFzcyBJbWFnZSA6IEdMaWIuT2JqZWN0LCBDbHV0dGVyLkNvbnRlbnQgewotQEAgLTU4NzQs NyArNTkwMCw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjYiKV0KLSAJCXB1YmxpYyBib29sIGdldF9heGlzX3ZhbHVlIChbQ0NvZGUgKGFycmF5X2xlbmd0 aCA9IGZhbHNlKV0gZG91YmxlW10gYXhlcywgQ2x1dHRlci5JbnB1dEF4aXMgYXhpcywgb3V0IGRv dWJsZSB2YWx1ZSk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotLQkJcHVibGljIGJv b2wgZ2V0X2Nvb3JkcyAoQ2x1dHRlci5FdmVudFNlcXVlbmNlPyBzZXF1ZW5jZSwgR3JhcGhlbmUu UG9pbnQgcG9pbnQpOwotKwkJcHVibGljIGJvb2wgZ2V0X2Nvb3JkcyAoQ2x1dHRlci5FdmVudFNl cXVlbmNlPyBzZXF1ZW5jZSwgb3V0IEdyYXBoZW5lLlBvaW50IHBvaW50KTsKLSAJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KLSAJCXB1YmxpYyBpbnQgZ2V0X2RldmljZV9pZCAoKTsKLSAJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLUBAIC01OTA0LDEzICs1OTMwLDEzIEBAIG5hbWVzcGFj ZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBpbnQgZ2V0X25fbW9kZV9ncm91cHMgKCk7Ci0gCQlwdWJs aWMgaW50IGdldF9uX3JpbmdzICgpOwotIAkJcHVibGljIGludCBnZXRfbl9zdHJpcHMgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1 dHRlci5JbnB1dERldmljZT4gZ2V0X3BoeXNpY2FsX2RldmljZXMgKCk7Ci0gCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4yIildCi0gCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlN0YWdlIGdldF9wb2lu dGVyX3N0YWdlICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjIiKV0KLSAJCXB1YmxpYyB1 bm93bmVkIHN0cmluZyBnZXRfcHJvZHVjdF9pZCAoKTsKLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0 ZXIuU2VhdCBnZXRfc2VhdCAoKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLS0JCXB1 YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLklucHV0RGV2aWNlPiBnZXRfc2xhdmVfZGV2aWNl cyAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIyIildCi0gCQlwdWJsaWMgdW5vd25lZCBz dHJpbmcgZ2V0X3ZlbmRvcl9pZCAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi1A QCAtNTk4Nyw3ICs2MDEzLDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIHZpcnR1 YWwgdm9pZCBjb21taXRfdGV4dCAoc3RyaW5nIHRleHQpOwotIAkJW05vV3JhcHBlcl0KLSAJCXB1 YmxpYyB2aXJ0dWFsIHZvaWQgZGVsZXRlX3N1cnJvdW5kaW5nIChpbnQgb2Zmc2V0LCB1aW50IGxl bik7Ci0tCQlwdWJsaWMgYm9vbCBmaWx0ZXJfa2V5X2V2ZW50IChDbHV0dGVyLktleUV2ZW50IGtl eSk7Ci0rCQlwdWJsaWMgYm9vbCBmaWx0ZXJfZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwot IAkJW05vV3JhcHBlcl0KLSAJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZm9jdXNfaW4gKENsdXR0ZXIu SW5wdXRNZXRob2QgaW5wdXRfbWV0aG9kKTsKLSAJCVtOb1dyYXBwZXJdCi1AQCAtNjE1MywxOSAr NjE3OSw2IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIu TGF5b3V0TWFuYWdlciBnZXRfbWFuYWdlciAoKTsKLSAJCXB1YmxpYyBDbHV0dGVyLkxheW91dE1h bmFnZXIgbWFuYWdlciB7IGdldDsgY29uc3RydWN0OyB9Ci0gCX0KLS0JW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVk X2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRl cl9tYXJnaW5fZ2V0X3R5cGUgKCkiKV0KLS0JW0NvbXBhY3RdCi0tCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCi0tCXB1YmxpYyBjbGFzcyBNYXJnaW4gewotLQkJcHVibGljIGZsb2F0IGJvdHRv bTsKLS0JCXB1YmxpYyBmbG9hdCBsZWZ0OwotLQkJcHVibGljIGZsb2F0IHJpZ2h0OwotLQkJcHVi bGljIGZsb2F0IHRvcDsKLS0JCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl KV0KLS0JCXB1YmxpYyBNYXJnaW4gKCk7Ci0tCQlwdWJsaWMgQ2x1dHRlci5NYXJnaW4gY29weSAo KTsKLS0JCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0tCX0KLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0gCVtDb21w YWN0XQotIAlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi1AQCAtNjE4OCwxMyArNjIwMSw1NiBA QCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwcm90ZWN0ZWQgT2Zmc2NyZWVuRWZmZWN0ICgpOwot IAkJcHVibGljIHZpcnR1YWwgQ29nbC5IYW5kbGUgY3JlYXRlX3RleHR1cmUgKGZsb2F0IHdpZHRo LCBmbG9hdCBoZWlnaHQpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLS0JCXB1Ymxp YyBib29sIGdldF90YXJnZXRfcmVjdCAob3V0IHVub3duZWQgR3JhcGhlbmUuUmVjdCByZWN0KTsK LSsJCXB1YmxpYyBib29sIGdldF90YXJnZXRfcmVjdCAob3V0IEdyYXBoZW5lLlJlY3QgcmVjdCk7 Ci0gCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4x NCIsIHNpbmNlID0gIjEuOCIpXQotIAkJcHVibGljIGJvb2wgZ2V0X3RhcmdldF9zaXplIChvdXQg ZmxvYXQgd2lkdGgsIG91dCBmbG9hdCBoZWlnaHQpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSAJCXB1YmxpYyB1bm93bmVkIENvZ2wuSGFuZGxlIGdldF90ZXh0dXJlICgpOwotIAkJ cHVibGljIHZpcnR1YWwgdm9pZCBwYWludF90YXJnZXQgKENsdXR0ZXIuUGFpbnRDb250ZXh0IHBh aW50X2NvbnRleHQpOwotIAl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJcHVibGlj IGNsYXNzIFBhZEJ1dHRvbkV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgdWludDMy IGJ1dHRvbjsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotKwkJ cHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB1aW50MzIgZ3JvdXA7 Ci0rCQlwdWJsaWMgdWludDMyIG1vZGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNv dXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWlu dDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9 IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQYWRSaW5nRXZlbnQgOiBDbHV0 dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyBkb3VibGUgYW5nbGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0 dGVyLklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxh Z3M7Ci0rCQlwdWJsaWMgdWludDMyIGdyb3VwOwotKwkJcHVibGljIHVpbnQzMiBtb2RlOwotKwkJ cHVibGljIHVpbnQzMiByaW5nX251bWJlcjsKLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNl UGFkU291cmNlIHJpbmdfc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3Vy Y2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQz MiB0aW1lOwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBm YWxzZSldCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgUGFkU3RyaXBFdmVudCA6IENsdXR0 ZXIuRXZlbnQgewotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7Ci0r CQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIHVpbnQzMiBncm91 cDsKLSsJCXB1YmxpYyB1aW50MzIgbW9kZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Ig c291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1YmxpYyB1 aW50MzIgc3RyaXBfbnVtYmVyOwotKwkJcHVibGljIENsdXR0ZXIuSW5wdXREZXZpY2VQYWRTb3Vy Y2Ugc3RyaXBfc291cmNlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0 ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMgZG91YmxlIHZhbHVlOwotKwl9Ci0gCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9wYWdlX3R1cm5fZWZmZWN0X2dldF90eXBlICgpIildCi0gCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjQiKV0KLSAJcHVibGljIGNsYXNzIFBhZ2VUdXJuRWZmZWN0IDogQ2x1dHRlci5EZWZvcm1F ZmZlY3QgewotQEAgLTYyMzYsMzcgKzYyOTIsNiBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlw dWJsaWMgdm9pZCBzZXRfbmFtZSAoc3RyaW5nIG5hbWUpOwotIAkJcHVibGljIHZvaWQgdW5yZWYg KCk7Ci0gCX0KLS0JW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94 ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYWludF92b2x1bWVfZ2V0X3R5cGUgKCkiKV0K LS0JW0NvbXBhY3RdCi0tCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLS0JcHVibGljIGNsYXNz IFBhaW50Vm9sdW1lIHsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLS0JCXB1YmxpYyBD bHV0dGVyLlBhaW50Vm9sdW1lIGNvcHkgKCk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42Iild Ci0tCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQot LQkJcHVibGljIGZsb2F0IGdldF9kZXB0aCAoKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KLS0JCXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0ICgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQotLQkJcHVibGljIHZvaWQgZ2V0X29yaWdpbiAob3V0IHVub3duZWQgR3JhcGhlbmUu UG9pbnQzRCB2ZXJ0ZXgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotLQkJcHVibGlj IGZsb2F0IGdldF93aWR0aCAoKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLS0JCXB1 YmxpYyB2b2lkIHNldF9kZXB0aCAoZmxvYXQgZGVwdGgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQotLQkJcHVibGljIGJvb2wgc2V0X2Zyb21fYWxsb2NhdGlvbiAoQ2x1dHRlci5BY3Rv ciBhY3Rvcik7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0tCQlwdWJsaWMgdm9pZCBz ZXRfaGVpZ2h0IChmbG9hdCBoZWlnaHQpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQot LQkJcHVibGljIHZvaWQgc2V0X29yaWdpbiAoR3JhcGhlbmUuUG9pbnQzRCBvcmlnaW4pOwotLQkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotLQkJcHVibGljIHZvaWQgc2V0X3dpZHRoIChmbG9h dCB3aWR0aCk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0tCQlwdWJsaWMgdm9pZCB1 bmlvbiAoQ2x1dHRlci5QYWludFZvbHVtZSBhbm90aGVyX3B2KTsKLS0JCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0tCQlwdWJsaWMgdm9pZCB1bmlvbl9ib3ggKENsdXR0ZXIuQWN0b3JCb3gg Ym94KTsKLS0JfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFuX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQotIAlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMiIpXQotIAlwdWJsaWMgY2xhc3MgUGFuQWN0aW9uIDogQ2x1dHRl ci5HZXN0dXJlQWN0aW9uIHsKLUBAIC02MzcwLDYgKzYzOTUsMTcgQEAgbmFtZXNwYWNlIENsdXR0 ZXIgewotIAkJcHVibGljIHZvaWQgc2V0X3Byb3BlcnR5X25hbWUgKHN0cmluZz8gcHJvcGVydHlf bmFtZSk7Ci0gCQlwdWJsaWMgc3RyaW5nIHByb3BlcnR5X25hbWUgeyBnZXQ7IHNldDsgfQotIAl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190 eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgi KV0KLSsJcHVibGljIGNsYXNzIFByb3hpbWl0eUV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlw dWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBDbHV0dGVy LkV2ZW50RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsK LSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRp bWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotIAlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf cm9vdF9ub2RlX2dldF90eXBlICgpIildCi0gCXB1YmxpYyBjbGFzcyBSb290Tm9kZSA6IENsdXR0 ZXIuUGFpbnROb2RlIHsKLSAJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl LCB0eXBlID0gIkNsdXR0ZXJQYWludE5vZGUqIildCi1AQCAtNjQ2NCw2ICs2NTAwLDcgQEAgbmFt ZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBDbHV0dGVyLklucHV0 RGV2aWNlIGdldF9wb2ludGVyICgpOwotIAkJcHVibGljIHZvaWQgZ2V0X3BvaW50ZXJfYTExeV9z ZXR0aW5ncyAoQ2x1dHRlci5Qb2ludGVyQTExeVNldHRpbmdzIHNldHRpbmdzKTsKLSAJCXB1Ymxp YyBib29sIGdldF90b3VjaF9tb2RlICgpOwotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBoYW5kbGVf ZGV2aWNlX2V2ZW50IChDbHV0dGVyLkV2ZW50IGV2ZW50KTsKLSAJCXB1YmxpYyB2b2lkIGluaGli aXRfdW5mb2N1cyAoKTsKLSAJCXB1YmxpYyBib29sIGlzX3VuZm9jdXNfaW5oaWJpdGVkICgpOwot IAkJcHVibGljIEdMaWIuTGlzdDx3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2U+IGxpc3RfZGV2aWNl cyAoKTsKLUBAIC02NTg4LDcgKzY2MjUsNyBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4wIildCi0gCQlwdWJsaWMgdm9pZCBlbnN1cmVfdmlld3BvcnQgKCk7 Ci0gCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9hY3Rvcl9hdF9wb3MgKENsdXR0 ZXIuUGlja01vZGUgcGlja19tb2RlLCBmbG9hdCB4LCBmbG9hdCB5KTsKLS0JCXB1YmxpYyBib29s IGdldF9jYXB0dXJlX2ZpbmFsX3NpemUgKENhaXJvLlJlY3RhbmdsZUludCByZWN0LCBpbnQgd2lk dGgsIGludCBoZWlnaHQsIGZsb2F0IHNjYWxlKTsKLSsJCXB1YmxpYyBib29sIGdldF9jYXB0dXJl X2ZpbmFsX3NpemUgKENhaXJvLlJlY3RhbmdsZUludCByZWN0LCBvdXQgaW50IHdpZHRoLCBvdXQg aW50IGhlaWdodCwgb3V0IGZsb2F0IHNjYWxlKTsKLSAJCXB1YmxpYyBpbnQ2NCBnZXRfZnJhbWVf Y291bnRlciAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSAJCXB1YmxpYyB1bm93 bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2tleV9mb2N1cyAoKTsKLUBAIC02NjAyLDcgKzY2MzksNyBA QCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0gCQlw dWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3RpdGxlICgpOwotIAkJcHVibGljIGJvb2wgZ2V0X3Vz ZV9hbHBoYSAoKTsKLS0JCXB1YmxpYyBib29sIHBhaW50X3RvX2J1ZmZlciAoQ2Fpcm8uUmVjdGFu Z2xlSW50IHJlY3QsIGZsb2F0IHNjYWxlLCB1aW50OCBkYXRhLCBpbnQgc3RyaWRlLCBDb2dsLlBp eGVsRm9ybWF0IGZvcm1hdCwgQ2x1dHRlci5QYWludEZsYWcgcGFpbnRfZmxhZ3MpIHRocm93cyBH TGliLkVycm9yOwotKwkJcHVibGljIGJvb2wgcGFpbnRfdG9fYnVmZmVyIChDYWlyby5SZWN0YW5n bGVJbnQgcmVjdCwgZmxvYXQgc2NhbGUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UsIHR5 cGUgPSAidWludDhfdCoiKV0gdWludDhbXSBkYXRhLCBpbnQgc3RyaWRlLCBDb2dsLlBpeGVsRm9y bWF0IGZvcm1hdCwgQ2x1dHRlci5QYWludEZsYWcgcGFpbnRfZmxhZ3MpIHRocm93cyBHTGliLkVy cm9yOwotIAkJcHVibGljIHZvaWQgcGFpbnRfdG9fZnJhbWVidWZmZXIgKENvZ2wuRnJhbWVidWZm ZXIgZnJhbWVidWZmZXIsIENhaXJvLlJlY3RhbmdsZUludCByZWN0LCBmbG9hdCBzY2FsZSwgQ2x1 dHRlci5QYWludEZsYWcgcGFpbnRfZmxhZ3MpOwotIAkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldCi0gCQlwdWJsaWMgdWludDhbXSByZWFkX3BpeGVscyAoaW50IHgsIGludCB5LCBpbnQg d2lkdGggPSAtMSwgaW50IGhlaWdodCA9IC0xKTsKLUBAIC02NjI5LDcgKzY2NjYsNyBAQCBuYW1l c3BhY2UgQ2x1dHRlciB7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yMCIpXQotIAkJcHVibGlj IHNpZ25hbCB2b2lkIGFmdGVyX3BhaW50IChDbHV0dGVyLlN0YWdlVmlldyB2aWV3KTsKLSAJCXB1 YmxpYyBzaWduYWwgdm9pZCBhZnRlcl91cGRhdGUgKENsdXR0ZXIuU3RhZ2VWaWV3IHZpZXcpOwot LQkJcHVibGljIHNpZ25hbCB2b2lkIGJlZm9yZV9wYWludCAoQ2x1dHRlci5TdGFnZVZpZXcgdmll dyk7Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBiZWZvcmVfcGFpbnQgKENsdXR0ZXIu U3RhZ2VWaWV3IHZpZXcpOwotIAkJcHVibGljIHNpZ25hbCB2b2lkIGJlZm9yZV91cGRhdGUgKENs dXR0ZXIuU3RhZ2VWaWV3IHZpZXcpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotIAkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZGVhY3RpdmF0ZSAoKTsKLUBAIC02Njc2LDYgKzY3 MTMsNyBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMgdm9pZCBnZXRfbGF5b3V0IChD YWlyby5SZWN0YW5nbGVJbnQgcmVjdCk7Ci0gCQlwdWJsaWMgdmlydHVhbCB2b2lkIGdldF9vZmZz Y3JlZW5fdHJhbnNmb3JtYXRpb25fbWF0cml4IChDb2dsLk1hdHJpeCBtYXRyaXgpOwotIAkJcHVi bGljIHVub3duZWQgQ29nbC5GcmFtZWJ1ZmZlciBnZXRfb25zY3JlZW4gKCk7Ci0rCQlwdWJsaWMg ZmxvYXQgZ2V0X3JlZnJlc2hfcmF0ZSAoKTsKLSAJCXB1YmxpYyBmbG9hdCBnZXRfc2NhbGUgKCk7 Ci0gCQlwdWJsaWMgdm9pZCBpbnZhbGlkYXRlX29mZnNjcmVlbl9ibGl0X3BpcGVsaW5lICgpOwot IAkJW05vV3JhcHBlcl0KLUBAIC02NjgzLDggKzY3MjEsNiBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7 Ci0gCQlbTm9XcmFwcGVyXQotIAkJcHVibGljIHZpcnR1YWwgdm9pZCB0cmFuc2Zvcm1fcmVjdF90 b19vbnNjcmVlbiAoQ2Fpcm8uUmVjdGFuZ2xlSW50IHNyY19yZWN0LCBpbnQgZHN0X3dpZHRoLCBp bnQgZHN0X2hlaWdodCwgQ2Fpcm8uUmVjdGFuZ2xlSW50IGRzdF9yZWN0KTsKLSAJCVtOb0FjY2Vz c29yTWV0aG9kXQotLQkJcHVibGljIENhaXJvLlJlY3RhbmdsZUludCBsYXlvdXQgeyBvd25lZCBn ZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLS0JCVtOb0FjY2Vzc29yTWV0aG9kXQotIAkJcHVibGljIHN0 cmluZyBuYW1lIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSAJCVtOb0FjY2Vzc29yTWV0aG9k XQotIAkJcHVibGljIGZsb2F0IHJlZnJlc2hfcmF0ZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQot QEAgLTY3MzIsNyArNjc2OCw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBDbHV0 dGVyLkNvbG9yIGdldF9jdXJzb3JfY29sb3IgKCk7Ci0gCQlwdWJsaWMgaW50IGdldF9jdXJzb3Jf cG9zaXRpb24gKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotLQkJcHVibGljIHZv aWQgZ2V0X2N1cnNvcl9yZWN0IChvdXQgdW5vd25lZCBHcmFwaGVuZS5SZWN0IHJlY3QpOwotKwkJ cHVibGljIEdyYXBoZW5lLlJlY3QgZ2V0X2N1cnNvcl9yZWN0ICgpOwotIAkJcHVibGljIHVpbnQg Z2V0X2N1cnNvcl9zaXplICgpOwotIAkJcHVibGljIGJvb2wgZ2V0X2N1cnNvcl92aXNpYmxlICgp OwotIAkJcHVibGljIGJvb2wgZ2V0X2VkaXRhYmxlICgpOwotQEAgLTY5MTYsNyArNjk1Miw3IEBA IG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSAJCXB1 YmxpYyBib29sIGdldF9hdXRvX3JldmVyc2UgKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MiIpXQotLQkJcHVibGljIGJvb2wgZ2V0X2N1YmljX2Jlemllcl9wcm9ncmVzcyAoR3JhcGhlbmUu UG9pbnQgY18xLCBHcmFwaGVuZS5Qb2ludCBjXzIpOwotKwkJcHVibGljIGJvb2wgZ2V0X2N1Ymlj X2Jlemllcl9wcm9ncmVzcyAob3V0IEdyYXBoZW5lLlBvaW50IGNfMSwgb3V0IEdyYXBoZW5lLlBv aW50IGNfMik7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotIAkJcHVibGljIGludCBn ZXRfY3VycmVudF9yZXBlYXQgKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi1AQCAt NzEwOCw4ICs3MTQ0LDggQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAlwdWJsaWMgY2xhc3MgWm9v bUFjdGlvbiA6IENsdXR0ZXIuR2VzdHVyZUFjdGlvbiB7Ci0gCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQotIAkJcHVibGlj IFpvb21BY3Rpb24gKCk7Ci0tCQlwdWJsaWMgdm9pZCBnZXRfZm9jYWxfcG9pbnQgKEdyYXBoZW5l LlBvaW50IHBvaW50KTsKLS0JCXB1YmxpYyB2b2lkIGdldF90cmFuc2Zvcm1lZF9mb2NhbF9wb2lu dCAoR3JhcGhlbmUuUG9pbnQgcG9pbnQpOwotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IGdldF9m b2NhbF9wb2ludCAoKTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBnZXRfdHJhbnNmb3JtZWRf Zm9jYWxfcG9pbnQgKCk7Ci0gCQlwdWJsaWMgQ2x1dHRlci5ab29tQXhpcyBnZXRfem9vbV9heGlz ICgpOwotIAkJcHVibGljIHZvaWQgc2V0X3pvb21fYXhpcyAoQ2x1dHRlci5ab29tQXhpcyBheGlz KTsKLSAJCXB1YmxpYyBDbHV0dGVyLlpvb21BeGlzIHpvb21fYXhpcyB7IGdldDsgc2V0OyB9Ci1A QCAtNzEzMCw2ICs3MTY2LDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY29u dGFpbmVyX2dldF90eXBlICgpIildCi0gCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSAJcHVi bGljIGludGVyZmFjZSBDb250YWluZXIgOiBHTGliLk9iamVjdCB7Ci0rCQlwdWJsaWMgdm9pZCBh ZGQgKHBhcmFtcyBDbHV0dGVyLkFjdG9yW10gYWN0b3JzKTsKLSAJCVtDQ29kZSAodmZ1bmNfbmFt ZSA9ICJhZGQiKV0KLSAJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC40IildCi0gCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBh ZGRfYWN0b3IgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotQEAgLTcxNDEsMjEgKzcxNzgsMjAgQEAg bmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIHZvaWQgY2hpbGRfc2V0IChDbHV0dGVyLkFj dG9yIGFjdG9yLCAuLi4pOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotIAkJcHVibGlj IHZvaWQgY2hpbGRfc2V0X3Byb3BlcnR5IChDbHV0dGVyLkFjdG9yIGNoaWxkLCBzdHJpbmcgcHJv cGVydHksIEdMaWIuVmFsdWUgdmFsdWUpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQot LQkJcHVibGljIHN0YXRpYyB1bm93bmVkIEdMaWIuUGFyYW1TcGVjIGNsYXNzX2ZpbmRfY2hpbGRf cHJvcGVydHkgKEdMaWIuT2JqZWN0Q2xhc3Mga2xhc3MsIHN0cmluZyBwcm9wZXJ0eV9uYW1lKTsK LS0JCVtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDEuMSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAi Z3VpbnQiKV0KLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLS0JCXB1YmxpYyBzdGF0aWMg R0xpYi5QYXJhbVNwZWNbXSBjbGFzc19saXN0X2NoaWxkX3Byb3BlcnRpZXMgKEdMaWIuT2JqZWN0 Q2xhc3Mga2xhc3MpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotIAkJcHVibGljIHZp cnR1YWwgdm9pZCBjcmVhdGVfY2hpbGRfbWV0YSAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0gCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0gCQlwdWJsaWMgdmlydHVhbCB2b2lkIGRlc3Ryb3lf Y2hpbGRfbWV0YSAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAi MC42IildCi0gCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGZpbmRfY2hpbGRfYnlfbmFt ZSAoc3RyaW5nIGNoaWxkX25hbWUpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbnRh aW5lcl9jbGFzc19maW5kX2NoaWxkX3Byb3BlcnR5IildCi0rCQlwdWJsaWMgY2xhc3MgdW5vd25l ZCBHTGliLlBhcmFtU3BlYyBmaW5kX2NoaWxkX3Byb3BlcnR5IChzdHJpbmcgcHJvcGVydHlfbmFt ZSk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0gCQlwdWJsaWMgdmlydHVhbCB1bm93 bmVkIENsdXR0ZXIuQ2hpbGRNZXRhIGdldF9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9y KTsKLSAJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjEwIiwgc2luY2UgPSAiMC40IildCi0gCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5B Y3Rvcj4gZ2V0X2NoaWxkcmVuICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbnRh aW5lcl9jbGFzc19saXN0X2NoaWxkX3Byb3BlcnRpZXMiKV0KLSsJCXB1YmxpYyBjbGFzcyB1bm93 bmVkIEdMaWIuUGFyYW1TcGVjW10gbGlzdF9jaGlsZF9wcm9wZXJ0aWVzICgpOwotIAkJW0NDb2Rl ICh2ZnVuY19uYW1lID0gImxvd2VyIildCi0gCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjAuNiIpXQotIAkJcHVibGljIHZp cnR1YWwgdm9pZCBsb3dlcl9jaGlsZCAoQ2x1dHRlci5BY3RvciBhY3RvciwgQ2x1dHRlci5BY3Rv cj8gc2libGluZyA9IG51bGwpOwotQEAgLTcyNTYsOSArNzI5Miw5IEBAIG5hbWVzcGFjZSBDbHV0 dGVyIHsKLSAJCXB1YmxpYyBib29sIHByZXYgKG91dCB1bm93bmVkIENsdXR0ZXIuQWN0b3IgY2hp bGQpOwotIAkJcHVibGljIHZvaWQgcmVtb3ZlICgpOwotIAl9Ci0tCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfY29weV9m dW5jdGlvbiA9IGZhbHNlLCBoYXNfZGVzdHJveV9mdW5jdGlvbiA9IGZhbHNlLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KLSAJcHVibGljIHN0cnVjdCBDYXB0dXJlIHsKLS0JCXB1YmxpYyB3ZWFrIENh aXJvLlN1cmZhY2UgaW1hZ2U7Ci0rCQlwdWJsaWMgQ2Fpcm8uSW1hZ2VTdXJmYWNlIGltYWdlOwot IAkJcHVibGljIENhaXJvLlJlY3RhbmdsZUludCByZWN0OwotIAl9Ci0gCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hl ZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0 ZXJfY29sb3JfZ2V0X3R5cGUgKCkiKV0KLUBAIC03Mjc3LDExICs3MzEzLDEyIEBAIG5hbWVzcGFj ZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBib29sIGVxdWFsIChDbHV0dGVyLkNvbG9yIHYyKTsKLSAJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSAJCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0tCQlw dWJsaWMgc3RhdGljIHZvaWQgZnJvbV9obHMgKG91dCBDbHV0dGVyLkNvbG9yIGNvbG9yLCBmbG9h dCBodWUsIGZsb2F0IGx1bWluYW5jZSwgZmxvYXQgc2F0dXJhdGlvbik7Ci0tCQlwdWJsaWMgc3Rh dGljIHZvaWQgZnJvbV9waXhlbCAob3V0IENsdXR0ZXIuQ29sb3IgY29sb3IsIHVpbnQzMiBwaXhl bCk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlbQ0NvZGUgKGNuYW1lID0gImNs dXR0ZXJfY29sb3JfZnJvbV9obHMiKV0KLSsJCXB1YmxpYyBDb2xvci5mcm9tX2hscyAoZmxvYXQg aHVlLCBmbG9hdCBsdW1pbmFuY2UsIGZsb2F0IHNhdHVyYXRpb24pOwotKwkJW0NDb2RlIChjbmFt ZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fcGl4ZWwiKV0KLSsJCXB1YmxpYyBDb2xvci5mcm9tX3Bp eGVsICh1aW50MzIgcGl4ZWwpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zy b21fc3RyaW5nIildCi0gCQlwdWJsaWMgc3RhdGljIGJvb2wgZnJvbV9zdHJpbmcgKG91dCBDbHV0 dGVyLkNvbG9yIGNvbG9yLCBzdHJpbmcgc3RyKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KLSAJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBnZXRfc3RhdGljIChD bHV0dGVyLlN0YXRpY0NvbG9yIGNvbG9yKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K LSAJCXB1YmxpYyB1aW50IGhhc2ggKCk7Ci1AQCAtNzI5MCw2ICs3MzI3LDcgQEAgbmFtZXNwYWNl IENsdXR0ZXIgewotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotIAkJcHVibGljIENsdXR0 ZXIuQ29sb3IgaW50ZXJwb2xhdGUgKENsdXR0ZXIuQ29sb3IgZmluYWwsIGRvdWJsZSBwcm9ncmVz cyk7Ci0gCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBsaWdodGVuICgpOwotKwkJcHVibGljIGJvb2wg cGFyc2Vfc3RyaW5nIChzdHJpbmcgc3RyKTsKLSAJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIHNoYWRl IChkb3VibGUgZmFjdG9yKTsKLSAJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIHN1YnRyYWN0IChDbHV0 dGVyLkNvbG9yIGIpOwotIAkJcHVibGljIHZvaWQgdG9faGxzIChvdXQgZmxvYXQgaHVlLCBvdXQg ZmxvYXQgbHVtaW5hbmNlLCBvdXQgZmxvYXQgc2F0dXJhdGlvbik7Ci1AQCAtNzI5OCwxMSArNzMz Niw2IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBzdHJpbmcgdG9fc3RyaW5nICgp OwotIAl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGhhc190eXBlX2lkID0gZmFsc2UpXQotLQlwdWJsaWMgc3RydWN0IEZyYW1lTGlzdGVuZXJJZmFj ZSB7Ci0tCQlwdWJsaWMgd2VhayBnbG9iYWw6OmJlZm9yZV9mcmFtZSBiZWZvcmVfZnJhbWU7Ci0t CQlwdWJsaWMgd2VhayBnbG9iYWw6OmZyYW1lIGZyYW1lOwotLQl9Ci0tCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQot IAlwdWJsaWMgc3RydWN0IEtiZEExMXlTZXR0aW5ncyB7Ci0gCQlwdWJsaWMgQ2x1dHRlci5LZXli b2FyZEExMXlGbGFncyBjb250cm9sczsKLSAJCXB1YmxpYyBpbnQgc2xvd2tleXNfZGVsYXk7Ci1A QCAtNzMyMSw2ICs3MzU0LDE2IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyBib29s IGVxdWFsIChDbHV0dGVyLktub3Qga25vdF9iKTsKLSAJCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0g CX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29w eV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJl ZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9tYXJnaW5fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIHN0cnVjdCBNYXJnaW4gewotKwkJcHVibGljIGZs b2F0IGxlZnQ7Ci0rCQlwdWJsaWMgZmxvYXQgcmlnaHQ7Ci0rCQlwdWJsaWMgZmxvYXQgdG9wOwot KwkJcHVibGljIGZsb2F0IGJvdHRvbTsKLSsJCXB1YmxpYyBDbHV0dGVyLk1hcmdpbj8gY29weSAo KTsKLSsJCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0rCX0KLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJDT0dMX1RZUEVfTUFUUklYIild Ci0gCXB1YmxpYyBzdHJ1Y3QgTWF0cml4IDogQ29nbC5NYXRyaXggewotIAkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTIiKV0KLUBAIC03MzM1LDQ1ICs3Mzc4LDM1IEBAIG5hbWVzcGFjZSBDbHV0dGVy IHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0gCQlwdWJsaWMgdW5vd25lZCBDbHV0 dGVyLk1hdHJpeD8gaW5pdF9pZGVudGl0eSAoKTsKLSAJfQotLQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLS0JcHVi bGljIHN0cnVjdCBQYWRCdXR0b25FdmVudCB7Ci0tCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUg dHlwZTsKLS0JCXB1YmxpYyB1aW50MzIgdGltZTsKLS0JCXB1YmxpYyBDbHV0dGVyLkV2ZW50Rmxh Z3MgZmxhZ3M7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotLQkJcHVibGlj IHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0tCQlwdWJsaWMgdWludDMyIGJ1dHRvbjsKLS0J CXB1YmxpYyB1aW50MzIgZ3JvdXA7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNl IGRldmljZTsKLS0JCXB1YmxpYyB1aW50MzIgbW9kZTsKLS0JfQotLQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLS0J cHVibGljIHN0cnVjdCBQYWRSaW5nRXZlbnQgewotLQkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBl IHR5cGU7Ci0tCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0tCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZs YWdzIGZsYWdzOwotLQkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLS0JCXB1Ymxp YyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOwotLQkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1 dERldmljZSBkZXZpY2U7Ci0tCQlwdWJsaWMgQ2x1dHRlci5JbnB1dERldmljZVBhZFNvdXJjZSBy aW5nX3NvdXJjZTsKLS0JCXB1YmxpYyB1aW50MzIgcmluZ19udW1iZXI7Ci0tCQlwdWJsaWMgdWlu dDMyIGdyb3VwOwotLQkJcHVibGljIGRvdWJsZSBhbmdsZTsKLS0JCXB1YmxpYyB1aW50MzIgbW9k ZTsKLS0JfQotLQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLS0JcHVibGljIHN0cnVjdCBQYWRTdHJpcEV2ZW50IHsK LS0JCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotLQkJcHVibGljIHVpbnQzMiB0aW1l OwotLQkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLS0JCXB1YmxpYyB3ZWFrIENs dXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsK LS0JCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotLQkJcHVibGljIENs dXR0ZXIuSW5wdXREZXZpY2VQYWRTb3VyY2Ugc3RyaXBfc291cmNlOwotLQkJcHVibGljIHVpbnQz MiBzdHJpcF9udW1iZXI7Ci0tCQlwdWJsaWMgdWludDMyIGdyb3VwOwotLQkJcHVibGljIGRvdWJs ZSB2YWx1ZTsKLS0JCXB1YmxpYyB1aW50MzIgbW9kZTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHki LCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYWlu dF92b2x1bWVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlw dWJsaWMgc3RydWN0IFBhaW50Vm9sdW1lIHsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0K LSsJCXB1YmxpYyBDbHV0dGVyLlBhaW50Vm9sdW1lPyBjb3B5ICgpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfZGVwdGggKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X2hlaWdodCAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludDNEIGdldF9vcmln aW4gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0 X3dpZHRoICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQg c2V0X2RlcHRoIChmbG9hdCBkZXB0aCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0r CQlwdWJsaWMgYm9vbCBzZXRfZnJvbV9hbGxvY2F0aW9uIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9oZWlnaHQg KGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMg dm9pZCBzZXRfb3JpZ2luIChHcmFwaGVuZS5Qb2ludDNEIG9yaWdpbik7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfd2lkdGggKGZsb2F0IHdpZHRoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHVuaW9uIChDbHV0 dGVyLlBhaW50Vm9sdW1lIGFub3RoZXJfcHYpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyB2b2lkIHVuaW9uX2JveCAoQ2x1dHRlci5BY3RvckJveCBib3gpOwotIAl9 Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlf ZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUi LCB0eXBlX2lkID0gImNsdXR0ZXJfcGF0aF9ub2RlX2dldF90eXBlICgpIildCi0gCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KLUBAIC03NDA2LDIxICs3NDM5LDI1IEBAIG5hbWVzcGFjZSBDbHV0 dGVyIHsKLSAJCXB1YmxpYyBpbnQgZHdlbGxfZGVsYXk7Ci0gCQlwdWJsaWMgaW50IGR3ZWxsX3Ro cmVzaG9sZDsKLSAJfQotLQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLS0JW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgi KV0KLS0JcHVibGljIHN0cnVjdCBQcm94aW1pdHlFdmVudCB7Ci0tCQlwdWJsaWMgQ2x1dHRlci5F dmVudFR5cGUgdHlwZTsKLS0JCXB1YmxpYyB1aW50MzIgdGltZTsKLS0JCXB1YmxpYyBDbHV0dGVy LkV2ZW50RmxhZ3MgZmxhZ3M7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwot LQkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0tCQlwdWJsaWMgd2VhayBDbHV0 dGVyLklucHV0RGV2aWNlIGRldmljZTsKLS0JfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZy ZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3VuaXRzX2dl dF90eXBlICgpIildCi0gCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSAJcHVibGljIHN0cnVj dCBVbml0cyB7Ci0gCQlwdWJsaWMgQ2x1dHRlci5Vbml0cz8gY29weSAoKTsKLSAJCXB1YmxpYyB2 b2lkIGZyZWUgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9jbSIp XQotKwkJcHVibGljIFVuaXRzLmZyb21fY20gKGZsb2F0IGNtKTsKLSsJCVtDQ29kZSAoY25hbWUg PSAiY2x1dHRlcl91bml0c19mcm9tX2VtIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9lbSAoZmxv YXQgZW0pOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fZW1fZm9yX2Zv bnQiKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX2VtX2Zvcl9mb250IChzdHJpbmcgZm9udF9uYW1l LCBmbG9hdCBlbSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9tbSIp XQotKwkJcHVibGljIFVuaXRzLmZyb21fbW0gKGZsb2F0IG1tKTsKLSsJCVtDQ29kZSAoY25hbWUg PSAiY2x1dHRlcl91bml0c19mcm9tX3BpeGVscyIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fcGl4 ZWxzIChpbnQgcHgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fcHQi KV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX3B0IChmbG9hdCBwdCk7Ci0rCQlbQ0NvZGUgKGNuYW1l ID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9zdHJpbmciKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX3N0 cmluZyAoc3RyaW5nIHN0cik7Ci0gCQlwdWJsaWMgQ2x1dHRlci5Vbml0VHlwZSBnZXRfdW5pdF90 eXBlICgpOwotIAkJcHVibGljIGZsb2F0IGdldF91bml0X3ZhbHVlICgpOwotIAkJcHVibGljIGZs b2F0IHRvX3BpeGVscyAoKTsKLUBAIC03NjM4LDYgKzc2NzUsMTEgQEAgbmFtZXNwYWNlIENsdXR0 ZXIgewotIAkJUEFEX0JVVFRPTl9SRUxFQVNFLAotIAkJUEFEX1NUUklQLAotIAkJUEFEX1JJTkcs Ci0rCQlERVZJQ0VfQURERUQsCi0rCQlERVZJQ0VfUkVNT1ZFRCwKLSsJCUlNX0NPTU1JVCwKLSsJ CUlNX0RFTEVURSwKLSsJCUlNX1BSRUVESVQsCi0gCQlFVkVOVF9MQVNUCi0gCX0KLSAJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVU VEVSX0ZFQVRVUkVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2ZlYXR1cmVfZmxhZ3NfZ2V0X3R5cGUg KCkiKV0KLUBAIC03Nzg3LDggKzc4MjksOCBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xV VFRFUl9JTlBVVF9NT0RFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9tb2RlX2dldF90eXBl ICgpIildCi0gCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSAJcHVibGljIGVudW0gSW5wdXRN b2RlIHsKLS0JCU1BU1RFUiwKLS0JCVNMQVZFLAotKwkJTE9HSUNBTCwKLSsJCVBIWVNJQ0FMLAot IAkJRkxPQVRJTkcKLSAJfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfUEFORUxfU1RBVEVfIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX2lucHV0X3BhbmVsX3N0YXRlX2dldF90eXBlICgpIildCi1AQCAtNzg4OSw3 ICs3OTMxLDggQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAlwdWJsaWMgZW51bSBQYWludEZsYWcg ewotIAkJTk9ORSwKLSAJCU5PX0NVUlNPUlMsCi0tCQlGT1JDRV9DVVJTT1JTCi0rCQlGT1JDRV9D VVJTT1JTLAotKwkJQ0xFQVIKLSAJfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfUEFOXyIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9wYW5fYXhpc19nZXRfdHlwZSAoKSIpXQotIAlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotQEAgLTgyMzEsNiArODI3NCw5IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQotIAlwdWJsaWMgc3RhdGljIHZvaWQgY2Fpcm9fc2V0X3NvdXJjZV9j b2xvciAoQ2Fpcm8uQ29udGV4dCBjciwgQ2x1dHRlci5Db2xvciBjb2xvcik7Ci0gCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS42IildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBjb2xv cl9nZXRfc3RhdGljIChDbHV0dGVyLlN0YXRpY0NvbG9yIGNvbG9yKTsKLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0gCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjE0IildCi0gCXB1YmxpYyBzdGF0aWMgdm9pZCBkaXNhYmxlX2FjY2Vzc2liaWxpdHkgKCk7 Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotZGlm ZiAtLWdpdCB2YXBpL211dHRlci1jbHV0dGVyLTgtY3VzdG9tLnZhbGEgdmFwaS9tdXR0ZXItY2x1 dHRlci04LWN1c3RvbS52YWxhCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAu LjYwYzlmNjExCi0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9tdXR0ZXItY2x1dHRlci04LWN1c3Rv bS52YWxhCi1AQCAtMCwwICsxLDQyIEBACi0rbmFtZXNwYWNlIENsdXR0ZXIgewotKwotKwlwdWJs aWMgc3RydWN0IENvbG9yIHsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb2xvcl9mcm9t X2hscyIpXQotKwkJcHVibGljIENvbG9yLmZyb21faGxzIChmbG9hdCBodWUsIGZsb2F0IGx1bWlu YW5jZSwgZmxvYXQgc2F0dXJhdGlvbik7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29s b3JfZnJvbV9waXhlbCIpXQotKwkJcHVibGljIENvbG9yLmZyb21fcGl4ZWwgKHVpbnQzMiBwaXhl bCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJvbV9zdHJpbmciKV0KLSsJ CXB1YmxpYyBzdGF0aWMgYm9vbCBmcm9tX3N0cmluZyAob3V0IENsdXR0ZXIuQ29sb3IgY29sb3Is IHN0cmluZyBzdHIpOwotKwkJcHVibGljIGJvb2wgcGFyc2Vfc3RyaW5nIChzdHJpbmcgc3RyKTsK LSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBnZXRfc3RhdGljIChDbHV0 dGVyLlN0YXRpY0NvbG9yIGNvbG9yKTsKLSsJfQotKwotKwlwdWJsaWMgaW50ZXJmYWNlIENvbnRh aW5lciA6IEdMaWIuT2JqZWN0IHsKLSsJCXB1YmxpYyB2b2lkIGFkZCAocGFyYW1zIENsdXR0ZXIu QWN0b3JbXSBhY3RvcnMpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbnRhaW5lcl9j bGFzc19maW5kX2NoaWxkX3Byb3BlcnR5IildCi0rCQlwdWJsaWMgY2xhc3MgdW5vd25lZCBHTGli LlBhcmFtU3BlYyBmaW5kX2NoaWxkX3Byb3BlcnR5IChzdHJpbmcgcHJvcGVydHlfbmFtZSk7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29udGFpbmVyX2NsYXNzX2xpc3RfY2hpbGRfcHJv cGVydGllcyIpXQotKwkJcHVibGljIGNsYXNzIHVub3duZWQgR0xpYi5QYXJhbVNwZWNbXSBsaXN0 X2NoaWxkX3Byb3BlcnRpZXMgKCk7Ci0rCX0KLSsKLSsJcHVibGljIHN0cnVjdCBVbml0cyB7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9jbSIpXQotKwkJcHVibGljIFVu aXRzLmZyb21fY20gKGZsb2F0IGNtKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0 c19mcm9tX2VtIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9lbSAoZmxvYXQgZW0pOwotKwkJW0ND b2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fZW1fZm9yX2ZvbnQiKV0KLSsJCXB1Ymxp YyBVbml0cy5mcm9tX2VtX2Zvcl9mb250IChzdHJpbmcgZm9udF9uYW1lLCBmbG9hdCBlbSk7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9tbSIpXQotKwkJcHVibGljIFVu aXRzLmZyb21fbW0gKGZsb2F0IG1tKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0 c19mcm9tX3BpeGVscyIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fcGl4ZWxzIChpbnQgcHgpOwot KwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fcHQiKV0KLSsJCXB1YmxpYyBV bml0cy5mcm9tX3B0IChmbG9hdCBwdCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5p dHNfZnJvbV9zdHJpbmciKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX3N0cmluZyAoc3RyaW5nIHN0 cik7Ci0rCX0KLSsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgaGFzX2NvcHlfZnVuY3Rpb24gPSBmYWxzZSwgaGFzX2Rlc3Ryb3lfZnVuY3Rpb24gPSBm YWxzZSwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBzdHJ1Y3QgQ2FwdHVyZSB7Ci0r CX0KLSt9Ci1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVyLWNsdXR0ZXItOC5kZXBzIHZhcGkvbXV0dGVy LWNsdXR0ZXItOC5kZXBzCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLmEw M2IxMDhiCi0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9tdXR0ZXItY2x1dHRlci04LmRlcHMKLUBA IC0wLDAgKzEsNSBAQAotK2F0awotK2NhaXJvCi0ranNvbi1nbGliLTEuMAotK211dHRlci1jb2ds LTgKLStncmFwaGVuZS1nb2JqZWN0LTEuMAotZGlmZiAtLWdpdCB2YXBpL211dHRlci1jbHV0dGVy LTgudmFwaSB2YXBpL211dHRlci1jbHV0dGVyLTgudmFwaQotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDAwMDAwMDAwLi5lMmZlNTk4OQotLS0tIC9kZXYvbnVsbAotKysrIHZhcGkvbXV0dGVy LWNsdXR0ZXItOC52YXBpCi1AQCAtMCwwICsxLDgyNzkgQEAKLSsvKiBtdXR0ZXItY2x1dHRlci04 LnZhcGkgZ2VuZXJhdGVkIGJ5IHZhcGlnZW4sIGRvIG5vdCBtb2RpZnkuICovCi0rCi0rW0NDb2Rl IChjcHJlZml4ID0gIkNsdXR0ZXIiLCBnaXJfbmFtZXNwYWNlID0gIkNsdXR0ZXIiLCBnaXJfdmVy c2lvbiA9ICI4IiwgbG93ZXJfY2FzZV9jcHJlZml4ID0gImNsdXR0ZXJfIildCi0rbmFtZXNwYWNl IENsdXR0ZXIgewotKwluYW1lc3BhY2UgS2V5IHsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzAiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEAwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQDE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZXzMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfMzI3MF9BbHRDdXJzb3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0FsdEN1 cnNvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQXR0biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QDMyNzBfQXR0bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQmFja1RhYiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQDMyNzBfQmFja1RhYjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQ2hhbmdlU2NyZWVu IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9DaGFuZ2VTY3JlZW47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV8zMjcwX0NvcHkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0NvcHk7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV8zMjcwX0N1cnNvckJsaW5rIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3 MF9DdXJzb3JCbGluazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfQ3Vyc29yU2VsZWN0IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBAMzI3MF9DdXJzb3JTZWxlY3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcw X0RlbGV0ZVdvcmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0RlbGV0ZVdvcmQ7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV8zMjcwX0R1cGxpY2F0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMy NzBfRHVwbGljYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9FbnRlciIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQDMyNzBfRW50ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0VyYXNlRU9GIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9FcmFzZUVPRjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBf RXJhc2VJbnB1dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfRXJhc2VJbnB1dDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZXzMyNzBfRXhTZWxlY3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcw X0V4U2VsZWN0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9GaWVsZE1hcmsiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEAzMjcwX0ZpZWxkTWFyazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfSWRlbnQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0lkZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9K dW1wIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9KdW1wOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf MzI3MF9LZXlDbGljayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfS2V5Q2xpY2s7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV8zMjcwX0xlZnQyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9M ZWZ0MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUEExIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBA MzI3MF9QQTE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX1BBMiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQDMyNzBfUEEyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9QQTMiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEAzMjcwX1BBMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUGxheSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQDMyNzBfUGxheTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUHJpbnRTY3JlZW4i KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1ByaW50U2NyZWVuOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfMzI3MF9RdWl0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9RdWl0OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfMzI3MF9SZWNvcmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1JlY29y ZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUmVzZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAz MjcwX1Jlc2V0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9SaWdodDIiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEAzMjcwX1JpZ2h0MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUnVsZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQDMyNzBfUnVsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfU2V0dXAiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1NldHVwOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9U ZXN0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9UZXN0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf NCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV81IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBANTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzYiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEA2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfNyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDc7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV84IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZXzkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEA5OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FFIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FhY3V0ZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWJlbG93ZG90IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBBYmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BYnJldmUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEFicmV2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FicmV2ZWFjdXRlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBBYnJldmVhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FicmV2ZWJlbG93 ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBYnJldmViZWxvd2RvdDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FicmV2ZWdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBYnJldmVncmF2ZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FicmV2ZWhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFicmV2ZWhv b2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BYnJldmV0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QWJyZXZldGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2Nlc3NYX0VuYWJsZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQWNjZXNzWF9FbmFibGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2Nlc3NYX0ZlZWRi YWNrX0VuYWJsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWNjZXNzWF9GZWVkYmFja19FbmFi bGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QWNpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2lyY3VtZmxleGFjdXRlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBY2lyY3VtZmxleGFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWNpcmN1bWZs ZXhiZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWNpcmN1bWZsZXhiZWxvd2RvdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FjaXJjdW1mbGV4Z3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFjaXJjdW1mbGV4Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2lyY3VtZmxleGhvb2siKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFjaXJjdW1mbGV4aG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjaXJj dW1mbGV4dGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFjaXJjdW1mbGV4dGlsZGU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9BZGRGYXZvcml0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWRkRmF2 b3JpdGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWdyYXZlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BaG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQWhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BbHRfTCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QWx0X0w7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BbHRfUiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWx0 X1I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BbWFjcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBbWFj cm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQW9nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQW9n b25lazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FwcGxpY2F0aW9uTGVmdCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXBwbGljYXRpb25MZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXBwbGljYXRpb25SaWdodCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXBwbGljYXRpb25SaWdodDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0FyYWJpY18wIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfMDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY18xIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfMTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0FyYWJpY18yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfMjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FyYWJpY18zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfMzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY180IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfNDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FyYWJpY181IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNf NTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY182IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFi aWNfNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY183IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cmFiaWNfNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY184IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBcmFiaWNfODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY185IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcmFiaWNfOTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19haW4iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19haW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfYWxlZiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2FsZWY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfYWxl Zm1ha3N1cmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19hbGVmbWFrc3VyYTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY19iZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19i ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfY29tbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY19jb21tYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19kYWQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19kYWQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfZGFsIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBBcmFiaWNfZGFsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2RhbW1h IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfZGFtbWE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfZGFtbWF0YW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19kYW1tYXRhbjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FyYWJpY19kZGFsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFi aWNfZGRhbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19mYXJzaV95ZWgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19mYXJzaV95ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfZmF0aGEi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19mYXRoYTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy YWJpY19mYXRoYXRhbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2ZhdGhhdGFuOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJhYmljX2ZlaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X2ZlaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19mdWxsc3RvcCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXJhYmljX2Z1bGxzdG9wOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2dhZiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2dhZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19naGFp biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2doYWluOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJhYmljX2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGE7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9BcmFiaWNfaGFoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGFoOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJhYmljX2hhbXphIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNf aGFtemE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemFfYWJvdmUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19oYW16YV9hYm92ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19oYW16 YV9iZWxvdyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphX2JlbG93OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJhYmljX2hhbXphb25hbGVmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cmFiaWNfaGFtemFvbmFsZWY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemFvbndhdyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphb253YXc7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfaGFtemFvbnllaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphb255 ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemF1bmRlcmFsZWYiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19oYW16YXVuZGVyYWxlZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19o ZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oZWg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfaGVoX2RvYWNoYXNobWVlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGVo X2RvYWNoYXNobWVlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2hlaF9nb2FsIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBcmFiaWNfaGVoX2dvYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfamVl bSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2plZW07Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfamVoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfamVoOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJhYmljX2thZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2thZjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY19rYXNyYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X2thc3JhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2thc3JhdGFuIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcmFiaWNfa2FzcmF0YW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfa2VoZWgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19rZWhlaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJp Y19raGFoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfa2hhaDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19sYW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19sYW07Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9BcmFiaWNfbWFkZGFfYWJvdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy YWJpY19tYWRkYV9hYm92ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19tYWRkYW9uYWxlZiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX21hZGRhb25hbGVmOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJhYmljX21lZW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19tZWVtOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJhYmljX25vb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19ub29u OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX25vb25fZ2h1bm5hIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcmFiaWNfbm9vbl9naHVubmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfcGVoIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfcGVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3Bl cmNlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19wZXJjZW50OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJhYmljX3FhZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3FhZjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY19xdWVzdGlvbl9tYXJrIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBcmFiaWNfcXVlc3Rpb25fbWFyazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19yYSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3JhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3JyZWgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19ycmVoOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJh YmljX3NhZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3NhZDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19zZWVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfc2VlbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY19zZW1pY29sb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy YWJpY19zZW1pY29sb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfc2hhZGRhIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBcmFiaWNfc2hhZGRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3NoZWVu IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfc2hlZW47Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfc3VrdW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zdWt1bjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FyYWJpY19zdXBlcnNjcmlwdF9hbGVmIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBcmFiaWNfc3VwZXJzY3JpcHRfYWxlZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19zd2l0Y2gi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zd2l0Y2g7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfdGFoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfdGFoOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJhYmljX3RhdHdlZWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190YXR3 ZWVsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3RjaGVoIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBcmFiaWNfdGNoZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdGVoIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBBcmFiaWNfdGVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3RlaG1hcmJ1dGEi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190ZWhtYXJidXRhOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJhYmljX3RoYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190aGFsOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJhYmljX3RoZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190 aGVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3R0ZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY190dGVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3ZlaCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQXJhYmljX3ZlaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY193YXciKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFyYWJpY193YXc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfeWVoIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfeWVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmlj X3llaF9iYXJlZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3llaF9iYXJlZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FyYWJpY196YWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY196 YWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfemFpbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QXJhYmljX3phaW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmluZyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJpbmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9BVCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXJtZW5pYW5fQVQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9BWUIiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0FZQjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0JF TiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fQkVOOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJtZW5pYW5fQ0hBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9DSEE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Bcm1lbmlhbl9EQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5f REE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9EWkEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFybWVuaWFuX0RaQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0UiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFybWVuaWFuX0U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9GRSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fRkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9H SEFUIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9HSEFUOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJtZW5pYW5fR0lNIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9HSU07Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9ISSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5fSEk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9ITyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5fSE87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9JTkkiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEFybWVuaWFuX0lOSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0pFIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9KRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVu aWFuX0tFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9LRTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX0tFTiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fS0VOOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fS0hFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1l bmlhbl9LSEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9MWVVOIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcm1lbmlhbl9MWVVOOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fTUVOIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9NRU47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlh bl9OVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fTlU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Bcm1lbmlhbl9PIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9POwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJtZW5pYW5fUEUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1BF OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fUFlVUiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QXJtZW5pYW5fUFlVUjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1JBIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBBcm1lbmlhbl9SQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1JFIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9SRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFu X1NFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9TRTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0FybWVuaWFuX1NIQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fU0hBOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJtZW5pYW5fVENIRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5fVENIRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1RPIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcm1lbmlhbl9UTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1RTQSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fVFNBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fVFNP IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9UU087Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl9UWVVOIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9UWVVOOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJtZW5pYW5fVkVWIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlh bl9WRVY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9WTyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5fVk87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9WWVVOIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBcm1lbmlhbl9WWVVOOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fWUVD SCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fWUVDSDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0FybWVuaWFuX1pBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9aQTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FybWVuaWFuX1pIRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5f WkhFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcm1lbmlhbl9hY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9hbWFuYWsiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2FtYW5hazsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy bWVuaWFuX2Fwb3N0cm9waGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2Fwb3N0 cm9waGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9hdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5fYXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9heWIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEFybWVuaWFuX2F5YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2JlbiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fYmVuOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJt ZW5pYW5fYnV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9idXQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl9jaGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2No YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2RhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cm1lbmlhbl9kYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2R6YSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQXJtZW5pYW5fZHphOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2V4 Y2xhbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fZXhjbGFtOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5fZmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2ZlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fZnVsbF9zdG9wIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBcm1lbmlhbl9mdWxsX3N0b3A7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9naGF0IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9naGF0OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5p YW5fZ2ltIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9naW07Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Bcm1lbmlhbl9oaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5faGk7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9obyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5faG87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9oeXBoZW4iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFybWVuaWFuX2h5cGhlbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2luaSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5faW5pOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5p YW5famUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2plOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJtZW5pYW5fa2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2tlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJtZW5pYW5fa2VuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlh bl9rZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9raGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEFybWVuaWFuX2toZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2xpZ2F0dXJlX2V3Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9saWdhdHVyZV9ldzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX2x5dW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2x5dW47 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9tZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy bWVuaWFuX21lbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX251IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcm1lbmlhbl9udTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX28iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX287Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9wYXJ1 eWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3BhcnV5azsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX3BlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9wZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FybWVuaWFuX3B5dXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVu aWFuX3B5dXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9xdWVzdGlvbiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQXJtZW5pYW5fcXVlc3Rpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9y YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fcmE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl9yZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fcmU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl9zZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fc2U7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9zZXBhcmF0aW9uX21hcmsiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFybWVuaWFuX3NlcGFyYXRpb25fbWFyazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVu aWFuX3NoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fc2hhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5fc2hlc2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9z aGVzaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl90Y2hlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcm1lbmlhbl90Y2hlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fdG8iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3RvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fdHNh IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl90c2E7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl90c28iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3RzbzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FybWVuaWFuX3R5dW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFu X3R5dW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl92ZXJqYWtldCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQXJtZW5pYW5fdmVyamFrZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl92ZXYi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3ZldjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy bWVuaWFuX3ZvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl92bzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0FybWVuaWFuX3Z5dW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3Z5 dW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl95ZWNoIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBcm1lbmlhbl95ZWNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5feWVudGFtbmEiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3llbnRhbW5hOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJt ZW5pYW5femEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3phOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5femhlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl96aGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9BdGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF0aWxkZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0F1ZGlibGVCZWxsX0VuYWJsZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXVkaWJsZUJlbGxfRW5hYmxlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9DeWNsZVRyYWNrIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb0N5Y2xlVHJhY2s7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B dWRpb0ZvcndhcmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvRm9yd2FyZDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0F1ZGlvTG93ZXJWb2x1bWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlv TG93ZXJWb2x1bWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb01lZGlhIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBdWRpb01lZGlhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9NaWNNdXRlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBBdWRpb01pY011dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb011dGUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvTXV0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F1ZGlv TmV4dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9OZXh0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXVkaW9QYXVzZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9QYXVzZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0F1ZGlvUGxheSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9QbGF5OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXVkaW9QcmV2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1ByZXY7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1JhaXNlVm9sdW1lIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBdWRpb1JhaXNlVm9sdW1lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaW9SYW5kb21QbGF5IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1JhbmRvbVBsYXk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRp b1JlY29yZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9SZWNvcmQ7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9BdWRpb1JlcGVhdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9SZXBlYXQ7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9BdWRpb1Jld2luZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9S ZXdpbmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1N0b3AiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEF1ZGlvU3RvcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F3YXkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEF3YXk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBCOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQmFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBCYWJvdmVkb3Q7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9CYWNrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBCYWNrOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQmFja0ZvcndhcmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEJhY2tGb3J3 YXJkOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQmFja1NwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBC YWNrU3BhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CYXR0ZXJ5IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBCYXR0ZXJ5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQmVnaW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEJlZ2luOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQmx1ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQmx1 ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0JsdWV0b290aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQmx1 ZXRvb3RoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQm9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQm9v azsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0JvdW5jZUtleXNfRW5hYmxlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBCb3VuY2VLZXlzX0VuYWJsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JyZWFrIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBCcmVhazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JyaWdodG5lc3NBZGp1c3QiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEJyaWdodG5lc3NBZGp1c3Q7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9C eWVsb3J1c3NpYW5fU0hPUlRVIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBCeWVsb3J1c3NpYW5f U0hPUlRVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQnllbG9ydXNzaWFuX3Nob3J0dSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQnllbG9ydXNzaWFuX3Nob3J0dTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0MiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DRCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQ0Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DSCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q0g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DX0giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENfSDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0NfaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ19oOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ2Fib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDYWJvdmVkb3Q7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENhY3V0ZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0NhbGN1bGF0b3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENhbGN1bGF0b3I7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DYWxlbmRhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ2FsZW5k YXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DYW5jZWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENhbmNl bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0NhcHNfTG9jayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ2Fw c19Mb2NrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ2Nhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBD Y2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DY2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q2NlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQ2NpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DaCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQ2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DbGVhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q2xlYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DbGVhckdyYWIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IENsZWFyR3JhYjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Nsb3NlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBDbG9zZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NvZGVpbnB1dCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQ29kZWlucHV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ29sb25TaWduIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDb2xvblNpZ247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Db21tdW5pdHkiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IENvbW11bml0eTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NvbnRyYXN0QWRqdXN0Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDb250cmFzdEFkanVzdDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Nv bnRyb2xfTCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ29udHJvbF9MOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQ29udHJvbF9SIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDb250cm9sX1I7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Db3B5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDb3B5OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQ3J1emVpcm9TaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDcnV6ZWlyb1NpZ247Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9DdXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN1dDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0N5Y2xlQW5nbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5Y2xlQW5nbGU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19BIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxp Y19BOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfQkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEN5cmlsbGljX0JFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfQ0hFIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBDeXJpbGxpY19DSEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19DSEVfZGVz Y2VuZGVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19DSEVfZGVzY2VuZGVyOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfQ0hFX3ZlcnRzdHJva2UiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEN5cmlsbGljX0NIRV92ZXJ0c3Ryb2tlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNf REUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0RFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Q3lyaWxsaWNfRFpIRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfRFpIRTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0N5cmlsbGljX0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X0U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19FRiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q3lyaWxsaWNfRUY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19FTCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQ3lyaWxsaWNfRUw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19FTSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfRU07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19F TiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfRU47Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9D eXJpbGxpY19FTl9kZXNjZW5kZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0VO X2Rlc2NlbmRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VSIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19FUjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VTIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19FUzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0dI RSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfR0hFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Q3lyaWxsaWNfR0hFX2JhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfR0hFX2Jh cjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0hBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBD eXJpbGxpY19IQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0hBUkRTSUdOIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBDeXJpbGxpY19IQVJEU0lHTjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGlj X0hBX2Rlc2NlbmRlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfSEFfZGVzY2Vu ZGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q3lyaWxsaWNfSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0lFIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19JRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0lPIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19JTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0lf bWFjcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19JX21hY3JvbjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0N5cmlsbGljX0pFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19K RTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0tBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBD eXJpbGxpY19LQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0tBX2Rlc2NlbmRlciIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfS0FfZGVzY2VuZGVyOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Q3lyaWxsaWNfS0FfdmVydHN0cm9rZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNf S0FfdmVydHN0cm9rZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0xKRSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfTEpFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfTkpFIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19OSkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJp bGxpY19PIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19POwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQ3lyaWxsaWNfT19iYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX09fYmFy OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfUEUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5 cmlsbGljX1BFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfU0NIV0EiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEN5cmlsbGljX1NDSFdBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfU0hBIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19TSEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJp bGxpY19TSENIQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfU0hDSEE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DeXJpbGxpY19TSEhBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxp Y19TSEhBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfU0hPUlRJIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19TSE9SVEk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19TT0ZUU0lH TiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfU09GVFNJR047Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19URSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfVEU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19UU0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmls bGljX1RTRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1UiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEN5cmlsbGljX1U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19VX21hY3JvbiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfVV9tYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJp bGxpY19VX3N0cmFpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19VX3N0cmFp Z2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfVV9zdHJhaWdodF9iYXIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX1Vfc3RyYWlnaHRfYmFyOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfVkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1ZFOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfWUEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1lBOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfWUVSVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3ly aWxsaWNfWUVSVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1lVIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19ZVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1pFIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19aRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1pI RSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfWkhFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Q3lyaWxsaWNfWkhFX2Rlc2NlbmRlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNf WkhFX2Rlc2NlbmRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2EiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEN5cmlsbGljX2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19iZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfYmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19j aGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2NoZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX2NoZV9kZXNjZW5kZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X2NoZV9kZXNjZW5kZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19jaGVfdmVydHN0cm9rZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfY2hlX3ZlcnRzdHJva2U7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9DeXJpbGxpY19kZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfZGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19kemhlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBD eXJpbGxpY19kemhlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQ3lyaWxsaWNfZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2VmIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2Vs IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lbDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5 cmlsbGljX2VtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lbTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0N5cmlsbGljX2VuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19lbjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2VuX2Rlc2NlbmRlciIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQ3lyaWxsaWNfZW5fZGVzY2VuZGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfZXIi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VyOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfZXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VzOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfZ2hlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19naGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19naGVfYmFyIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBDeXJpbGxpY19naGVfYmFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaGEiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2hhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaGFf ZGVzY2VuZGVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19oYV9kZXNjZW5kZXI7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19oYXJkc2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQ3lyaWxsaWNfaGFyZHNpZ247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19pIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19pOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaV9t YWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2lfbWFjcm9uOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQ3lyaWxsaWNfaWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2ll OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfaW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5 cmlsbGljX2lvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfamUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEN5cmlsbGljX2plOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfa2EiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2thOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfa2Ff ZGVzY2VuZGVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19rYV9kZXNjZW5kZXI7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19rYV92ZXJ0c3Ryb2tlIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19rYV92ZXJ0c3Ryb2tlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNf bGplIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19samU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9DeXJpbGxpY19uamUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX25qZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0N5cmlsbGljX28iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X287Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19vX2JhciIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQ3lyaWxsaWNfb19iYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19wZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfcGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19zY2h3 YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfc2Nod2E7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9DeXJpbGxpY19zaGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3NoYTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0N5cmlsbGljX3NoY2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY19zaGNoYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3NoaGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEN5cmlsbGljX3NoaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19zaG9ydGki KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3Nob3J0aTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX3NvZnRzaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19zb2Z0 c2lnbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3RlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBDeXJpbGxpY190ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3RzZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfdHNlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfdSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGlj X3VfbWFjcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY191X21hY3JvbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0N5cmlsbGljX3Vfc3RyYWlnaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEN5cmlsbGljX3Vfc3RyYWlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY191X3N0cmFpZ2h0 X2JhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfdV9zdHJhaWdodF9iYXI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9DeXJpbGxpY192ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxs aWNfdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY195YSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQ3lyaWxsaWNfeWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY195ZXJ1IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBDeXJpbGxpY195ZXJ1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfeXUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3l1OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfemUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3plOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfemhlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY196aGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY196aGVfZGVzY2VuZGVyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY196aGVfZGVzY2VuZGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgRDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RPUyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgRE9TOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRGFib3ZlZG90IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBEYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9EY2Fyb24iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IERjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RlbGV0ZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgRGVsZXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRGlzcGxheSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgRGlzcGxheTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RvY3VtZW50cyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgRG9jdW1lbnRzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRG9uZ1NpZ24iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IERvbmdTaWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRG93biIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RzdHJva2UiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IERzdHJva2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRU5HIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBF Tkc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9FVEgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVUSDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0VaSCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRVpIOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfRWFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFYWJvdmVkb3Q7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9FYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVhY3V0ZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0ViZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWJlbG93ZG90Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRWNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFY2Fyb247Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWNpcmN1 bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxleGFjdXRlIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBFY2lyY3VtZmxleGFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWNpcmN1bWZsZXhiZWxv d2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWNpcmN1bWZsZXhiZWxvd2RvdDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0VjaXJjdW1mbGV4Z3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVjaXJj dW1mbGV4Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxleGhvb2siKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEVjaXJjdW1mbGV4aG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VjaXJjdW1mbGV4 dGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVjaXJjdW1mbGV4dGlsZGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9FY3VTaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFY3VTaWduOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfRWRpYWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWRpYWVyZXNpczsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0VncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWdyYXZlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRWhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVob29rOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfRWlzdV9TaGlmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWlzdV9TaGlm dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0Vpc3VfdG9nZ2xlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBF aXN1X3RvZ2dsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VqZWN0IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBFamVjdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VtYWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEVtYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FbmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVu ZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0VvZ29uZWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVvZ29u ZWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Fc2NhcGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVzY2Fw ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0V0aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRXRoOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfRXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFdGlsZGU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9FdXJvU2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRXVyb1NpZ247Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9FeGNlbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRXhjZWw7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9FeGVjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFeGVjdXRlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfRXhwbG9yZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEV4cGxvcmVyOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0YxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YxMCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjEwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjExIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBGMTE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMTIiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEYxMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YxMyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgRjEzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjE0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMTQ7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9GMTUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYxNTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0YxNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjE2OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfRjE3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMTgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYxODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YxOSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgRjE5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjIiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEYyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjIwIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBGMjA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYyMTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0YyMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjIyOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfRjIzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMjM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9GMjQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYyNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YyNSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjI1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjI2IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBGMjY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjciKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEYyNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YyOCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgRjI4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjI5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMjk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9GMyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjM7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9GMzAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYzMDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0YzMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjMxOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjMyIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBGMzI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMzMiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEYzMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YzNCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgRjM0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjM1IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBGMzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjQ7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9GNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9GNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GNyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GOCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRjg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GOSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgRjk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GRnJhbmNTaWduIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBGRnJhbmNTaWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFib3ZlZG90IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBGYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV8wIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBGYXJzaV8wOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfMSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRmFyc2lfMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzIiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEZhcnNpXzI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV8zIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBGYXJzaV8zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfNCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgRmFyc2lfNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV82IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV82OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfNyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV85Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV85OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfeWVo IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV95ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXZv cml0ZXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZhdm9yaXRlczsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0ZpbmFuY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZpbmFuY2U7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9GaW5kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGaW5kOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmly c3RfVmlydHVhbF9TY3JlZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZpcnN0X1ZpcnR1YWxf U2NyZWVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRm9yd2FyZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Rm9yd2FyZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZyYW1lQmFjayIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgRnJhbWVCYWNrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRnJhbWVGb3J3YXJkIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBGcmFtZUZvcndhcmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBHOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2Fib3ZlZG90IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBHYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HYW1lIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBHYW1lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2JyZXZlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHYnJldmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEdjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0djZWRpbGxhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0djaXJjdW1mbGV4IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBHY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2FuIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9hbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFu X2JhbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fYmFuOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfR2VvcmdpYW5fY2FuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9jYW47Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9jaGFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9y Z2lhbl9jaGFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fY2hpbiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgR2VvcmdpYW5fY2hpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2NpbCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fY2lsOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2Vvcmdp YW5fZG9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9kb247Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9HZW9yZ2lhbl9lbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fZW47Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9maSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2Vvcmdp YW5fZmk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9nYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEdlb3JnaWFuX2dhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2doYW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2doYW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9o YWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2hhZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0dlb3JnaWFuX2hhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5faGFyOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfR2VvcmdpYW5faGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFu X2hlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5faGllIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBHZW9yZ2lhbl9oaWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9ob2UiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEdlb3JnaWFuX2hvZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2luIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9pbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3Jn aWFuX2poYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2poYW47Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9HZW9yZ2lhbl9qaWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2pp bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2thbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg R2VvcmdpYW5fa2FuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fa2hhciIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgR2VvcmdpYW5fa2hhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2xhcyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fbGFzOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2Vv cmdpYW5fbWFuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9tYW47Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9HZW9yZ2lhbl9uYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX25h cjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX29uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBH ZW9yZ2lhbl9vbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3BhciIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgR2VvcmdpYW5fcGFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fcGhhciIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fcGhhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3Jn aWFuX3FhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fcWFyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR2VvcmdpYW5fcmFlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9yYWU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9zYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdl b3JnaWFuX3NhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3NoaW4iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEdlb3JnaWFuX3NoaW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl90YW4iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX3RhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3Jn aWFuX3RhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fdGFyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR2VvcmdpYW5fdW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX3VuOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fdmluIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9y Z2lhbl92aW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl93ZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgR2VvcmdpYW5fd2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl94YW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX3hhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3pl biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5femVuOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R2VvcmdpYW5femhhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5femhhcjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHbzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dyZWVrX0FMUEhBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19BTFBIQTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dyZWVrX0FMUEhBYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBH cmVla19BTFBIQWFjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0JFVEEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEdyZWVrX0JFVEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19DSEkiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0NISTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0RFTFRB IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19ERUxUQTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dy ZWVrX0VQU0lMT04iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0VQU0lMT047Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9HcmVla19FUFNJTE9OYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBH cmVla19FUFNJTE9OYWNjZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfRVRBIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBHcmVla19FVEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19FVEFhY2NlbnQi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0VUQWFjY2VudDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0dyZWVrX0dBTU1BIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19HQU1NQTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dyZWVrX0lPVEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0lPVEE7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HcmVla19JT1RBYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBHcmVla19JT1RBYWNjZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfSU9UQWRpYWVyZXNpcyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfSU9UQWRpYWVyZXNpczsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dyZWVrX0lPVEFkaWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfSU9U QWRpZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfS0FQUEEiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX0tBUFBBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfTEFNQkRBIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBHcmVla19MQU1CREE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19MQU1E QSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfTEFNREE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla19NVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfTVU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9HcmVla19OVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfTlU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9HcmVla19PTUVHQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfT01FR0E7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9HcmVla19PTUVHQWFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg R3JlZWtfT01FR0FhY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19PTUlDUk9OIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBHcmVla19PTUlDUk9OOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfT01J Q1JPTmFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfT01JQ1JPTmFjY2VudDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0dyZWVrX1BISSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtf UEhJOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfUEkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdy ZWVrX1BJOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfUFNJIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBHcmVla19QU0k7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19SSE8iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX1JITzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1NJR01BIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBHcmVla19TSUdNQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1RBVSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfVEFVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfVEhF VEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1RIRVRBOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R3JlZWtfVVBTSUxPTiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfVVBTSUxPTjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dyZWVrX1VQU0lMT05hY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEdyZWVrX1VQU0lMT05hY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19VUFNJTE9OZGllcmVz aXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1VQU0lMT05kaWVyZXNpczsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dyZWVrX1hJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19YSTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dyZWVrX1pFVEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1pF VEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19hY2NlbnRkaWVyZXNpcyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgR3JlZWtfYWNjZW50ZGllcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19hbHBo YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfYWxwaGE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla19hbHBoYWFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfYWxwaGFhY2Nl bnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19iZXRhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBH cmVla19iZXRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfY2hpIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHcmVla19jaGk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19kZWx0YSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgR3JlZWtfZGVsdGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19lcHNpbG9uIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19lcHNpbG9uOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3Jl ZWtfZXBzaWxvbmFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfZXBzaWxvbmFj Y2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2V0YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg R3JlZWtfZXRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfZXRhYWNjZW50IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBHcmVla19ldGFhY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19maW5hbHNt YWxsc2lnbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2ZpbmFsc21hbGxzaWdtYTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0dyZWVrX2dhbW1hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVl a19nYW1tYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2hvcml6YmFyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBHcmVla19ob3JpemJhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2lvdGEiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2lvdGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19pb3Rh YWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19pb3RhYWNjZW50OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfR3JlZWtfaW90YWFjY2VudGRpZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBHcmVla19pb3RhYWNjZW50ZGllcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19pb3RhZGll cmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2lvdGFkaWVyZXNpczsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dyZWVrX2thcHBhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19rYXBw YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2xhbWJkYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg R3JlZWtfbGFtYmRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfbGFtZGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEdyZWVrX2xhbWRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfbXUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEdyZWVrX211OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfbnUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX251OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfb21lZ2Ei KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX29tZWdhOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3Jl ZWtfb21lZ2FhY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX29tZWdhYWNjZW50 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfb21pY3JvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg R3JlZWtfb21pY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX29taWNyb25hY2NlbnQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX29taWNyb25hY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla19waGkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3BoaTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dyZWVrX3BpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19waTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0dyZWVrX3BzaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfcHNpOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfR3JlZWtfcmhvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19yaG87 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HcmVla19zaWdtYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3Jl ZWtfc2lnbWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19zd2l0Y2giKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX3N3aXRjaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX3RhdSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgR3JlZWtfdGF1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfdGhldGEiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3RoZXRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtf dXBzaWxvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfdXBzaWxvbjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0dyZWVrX3Vwc2lsb25hY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVr X3Vwc2lsb25hY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla191cHNpbG9uYWNjZW50ZGllcmVz aXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3Vwc2lsb25hY2NlbnRkaWVyZXNpczsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0dyZWVrX3Vwc2lsb25kaWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgR3JlZWtfdXBzaWxvbmRpZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfeGkiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3hpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfemV0 YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfemV0YTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dy ZWVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVlbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0giKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWwiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEhhbmd1bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9BIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBIYW5ndWxfQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9BRSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0FFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0Fy YWVBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfQXJhZUE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IYW5ndWxfQXJhZUFFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfQXJhZUFFOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0JhbmphIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfQmFuamE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfQ2lldWMiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEhhbmd1bF9DaWV1YzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9Db2RlaW5wdXQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9Db2RlaW5wdXQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfRGlrZXVkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfRGlrZXVkOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSGFuZ3VsX0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9FOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0VPIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxf RU87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfRVUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhh bmd1bF9FVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9FbmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEhhbmd1bF9FbmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSGFuamEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9IYW5qYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9IaWV1aCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0hpZXVoOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFu Z3VsX0kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9JOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX0lldW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSWV1bmc7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfSl9DaWV1YyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3Vs X0pfQ2lldWM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9EaWtldWQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9KX0Rpa2V1ZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0hpZXVo IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9IaWV1aDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0hhbmd1bF9KX0lldW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9JZXVuZzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0ppZXVqIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfSl9KaWV1ajsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0toaWV1cSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfS2hpZXVxOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pf S2l5ZW9nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9LaXllb2c7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfSl9LaXllb2dTaW9zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfSl9LaXllb2dTaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfS2tvZ2ppRGFscmluSWV1 bmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX0trb2dqaURhbHJpbklldW5nOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfTWlldW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhh bmd1bF9KX01pZXVtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfTmlldW4iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9KX05pZXVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfTmll dW5IaWV1aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfTmlldW5IaWV1aDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9KX05pZXVuSmlldWoiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9KX05pZXVuSmlldWo7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9QYW5TaW9zIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9QYW5TaW9zOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX0pfUGhpZXVmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9QaGlldWY7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9QaWV1YiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg SGFuZ3VsX0pfUGlldWI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9QaWV1YlNpb3MiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1BpZXViU2lvczsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hh bmd1bF9KX1JpZXVsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9SaWV1bDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9KX1JpZXVsSGlldWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9KX1JpZXVsSGlldWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9SaWV1bEtpeWVv ZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUmlldWxLaXllb2c7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfSl9SaWV1bE1pZXVtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfSl9SaWV1bE1pZXVtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfUmlldWxQaGlldWYiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1JpZXVsUGhpZXVmOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSGFuZ3VsX0pfUmlldWxQaWV1YiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pf UmlldWxQaWV1YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1JpZXVsU2lvcyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUmlldWxTaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3Vs X0pfUmlldWxUaWV1dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUmlldWxUaWV1 dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1Npb3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9KX1Npb3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9Tc2FuZ0tpeWVvZyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfU3NhbmdLaXllb2c7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IYW5ndWxfSl9Tc2FuZ1Npb3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1Nz YW5nU2lvczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1RpZXV0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBIYW5ndWxfSl9UaWV1dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1llb3Jpbkhp ZXVoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9ZZW9yaW5IaWV1aDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0hhbmd1bF9KYW1vIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSmFt bzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KZW9uamEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9KZW9uamE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSmlldWoiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9KaWV1ajsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9LaGlldXEi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9LaGlldXE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfS2l5ZW9nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfS2l5ZW9nOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSGFuZ3VsX0tpeWVvZ1Npb3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhh bmd1bF9LaXllb2dTaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0trb2dqaURhbHJpbklldW5n IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfS2tvZ2ppRGFscmluSWV1bmc7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfTWlldW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9N aWV1bTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9NdWx0aXBsZUNhbmRpZGF0ZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSGFuZ3VsX011bHRpcGxlQ2FuZGlkYXRlOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX05pZXVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfTmlldW47Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfTmlldW5IaWV1aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFu Z3VsX05pZXVuSGlldWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfTmlldW5KaWV1aiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX05pZXVuSmlldWo7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5n dWxfTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX087Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfT0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9PRTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9QYW5TaW9zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUGFuU2lv czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9QaGlldWYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9QaGlldWY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUGlldWIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9QaWV1YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9QaWV1YlNp b3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9QaWV1YlNpb3M7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5ndWxfUG9zdEhhbmphIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUG9z dEhhbmphOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1ByZUhhbmphIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBIYW5ndWxfUHJlSGFuamE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUHJldmlvdXND YW5kaWRhdGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9QcmV2aW91c0NhbmRpZGF0 ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg SGFuZ3VsX1JpZXVsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1JpZXVsSGlldWgiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEhhbmd1bF9SaWV1bEhpZXVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3Vs X1JpZXVsS2l5ZW9nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUmlldWxLaXllb2c7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmlldWxNaWV1bSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgSGFuZ3VsX1JpZXVsTWlldW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmlldWxQaGlldWYi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9SaWV1bFBoaWV1ZjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9SaWV1bFBpZXViIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUmll dWxQaWV1YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bFNpb3MiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEhhbmd1bF9SaWV1bFNpb3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmlldWxU aWV1dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1JpZXVsVGlldXQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfUmlldWxZZW9yaW5IaWV1aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg SGFuZ3VsX1JpZXVsWWVvcmluSGlldWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUm9tYWphIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUm9tYWphOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFu Z3VsX1NpbmdsZUNhbmRpZGF0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1Npbmds ZUNhbmRpZGF0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TaW9zIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBIYW5ndWxfU2lvczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TcGVjaWFsIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3BlY2lhbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9Tc2FuZ0Rpa2V1ZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1NzYW5nRGlrZXVk OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1NzYW5nSmlldWoiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEhhbmd1bF9Tc2FuZ0ppZXVqOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1NzYW5nS2l5ZW9n IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3NhbmdLaXllb2c7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5ndWxfU3NhbmdQaWV1YiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1Nz YW5nUGlldWI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3NhbmdTaW9zIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBIYW5ndWxfU3NhbmdTaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1N0YXJ0 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3RhcnQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfU3Vua3llb25nZXVtTWlldW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9T dW5reWVvbmdldW1NaWV1bTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TdW5reWVvbmdldW1QaGll dWYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9TdW5reWVvbmdldW1QaGlldWY7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3Vua3llb25nZXVtUGlldWIiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEhhbmd1bF9TdW5reWVvbmdldW1QaWV1YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9U aWV1dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1RpZXV0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSGFuZ3VsX1UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9VOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSGFuZ3VsX1dBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfV0E7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfV0FFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfV0FF OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1dFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfV0U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfV0VPIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBIYW5ndWxfV0VPOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1dJIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBIYW5ndWxfV0k7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfWUEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9ZQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9ZQUUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZQUU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfWUUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9ZRU8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZRU87Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IYW5ndWxfWUkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9ZSTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0hhbmd1bF9ZTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1lPOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSGFuZ3VsX1lVIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfWVU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfWWVvcmluSGlldWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEhhbmd1bF9ZZW9yaW5IaWV1aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9zd2l0Y2giKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9zd2l0Y2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5r YWt1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5rYWt1OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGNp cmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhjaXJjdW1mbGV4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSGVicmV3X3N3aXRjaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGVicmV3X3N3aXRj aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hlbHAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhlbHA7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9IZW5rYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhlbmthbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hlbmthbl9Nb2RlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIZW5rYW5f TW9kZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hpYmVybmF0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg SGliZXJuYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGlyYWdhbmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEhpcmFnYW5hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGlyYWdhbmFfS2F0YWthbmEiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEhpcmFnYW5hX0thdGFrYW5hOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGlzdG9y eSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGlzdG9yeTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hvbWUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhvbWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Ib21lUGFnZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgSG9tZVBhZ2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Ib3RMaW5r cyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSG90TGlua3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Ic3Ry b2tlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIc3Ryb2tlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSHlw ZXJfTCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSHlwZXJfTDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0h5 cGVyX1IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEh5cGVyX1I7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9J IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0NlbnRlcl9P YmplY3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19DZW50ZXJfT2JqZWN0OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSVNPX0NvbnRpbnVvdXNfVW5kZXJsaW5lIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBJU09fQ29udGludW91c19VbmRlcmxpbmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fRGlzY29udGlu dW91c19VbmRlcmxpbmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19EaXNjb250aW51b3Vz X1VuZGVybGluZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19FbXBoYXNpemUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IElTT19FbXBoYXNpemU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fRW50ZXIiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IElTT19FbnRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19GYXN0X0N1 cnNvcl9Eb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fRmFzdF9DdXJzb3JfRG93bjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0lTT19GYXN0X0N1cnNvcl9MZWZ0IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBJU09fRmFzdF9DdXJzb3JfTGVmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19GYXN0X0N1cnNv cl9SaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0Zhc3RfQ3Vyc29yX1JpZ2h0Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSVNPX0Zhc3RfQ3Vyc29yX1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBJU09fRmFzdF9DdXJzb3JfVXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fRmlyc3RfR3JvdXAiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19GaXJzdF9Hcm91cDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lT T19GaXJzdF9Hcm91cF9Mb2NrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fRmlyc3RfR3Jv dXBfTG9jazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19Hcm91cF9MYXRjaCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSVNPX0dyb3VwX0xhdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0dyb3VwX0xvY2si KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19Hcm91cF9Mb2NrOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SVNPX0dyb3VwX1NoaWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fR3JvdXBfU2hpZnQ7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9JU09fTGFzdF9Hcm91cCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg SVNPX0xhc3RfR3JvdXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTGFzdF9Hcm91cF9Mb2NrIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBJU09fTGFzdF9Hcm91cF9Mb2NrOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SVNPX0xlZnRfVGFiIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fTGVmdF9UYWI7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9JU09fTGV2ZWwyX0xhdGNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09f TGV2ZWwyX0xhdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0xldmVsM19MYXRjaCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSVNPX0xldmVsM19MYXRjaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19MZXZl bDNfTG9jayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0xldmVsM19Mb2NrOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSVNPX0xldmVsM19TaGlmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0xl dmVsM19TaGlmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19MZXZlbDVfTGF0Y2giKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IElTT19MZXZlbDVfTGF0Y2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTGV2ZWw1 X0xvY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19MZXZlbDVfTG9jazsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0lTT19MZXZlbDVfU2hpZnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19MZXZl bDVfU2hpZnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTG9jayIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgSVNPX0xvY2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTW92ZV9MaW5lX0Rvd24iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IElTT19Nb3ZlX0xpbmVfRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19N b3ZlX0xpbmVfVXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19Nb3ZlX0xpbmVfVXA7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9JU09fTmV4dF9Hcm91cCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNP X05leHRfR3JvdXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTmV4dF9Hcm91cF9Mb2NrIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBJU09fTmV4dF9Hcm91cF9Mb2NrOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNP X1BhcnRpYWxfTGluZV9Eb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fUGFydGlhbF9M aW5lX0Rvd247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fUGFydGlhbF9MaW5lX1VwIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBJU09fUGFydGlhbF9MaW5lX1VwOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX1Bh cnRpYWxfU3BhY2VfTGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX1BhcnRpYWxfU3Bh Y2VfTGVmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19QYXJ0aWFsX1NwYWNlX1JpZ2h0IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBJU09fUGFydGlhbF9TcGFjZV9SaWdodDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0lTT19QcmV2X0dyb3VwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fUHJldl9Hcm91cDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0lTT19QcmV2X0dyb3VwX0xvY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IElTT19QcmV2X0dyb3VwX0xvY2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fUmVsZWFzZV9Cb3Ro X01hcmdpbnMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19SZWxlYXNlX0JvdGhfTWFyZ2lu czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0lTT19SZWxlYXNlX01hcmdpbl9MZWZ0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBJU09fUmVsZWFzZV9NYXJnaW5fTGVmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19S ZWxlYXNlX01hcmdpbl9SaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX1JlbGVhc2Vf TWFyZ2luX1JpZ2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX1NldF9NYXJnaW5fTGVmdCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSVNPX1NldF9NYXJnaW5fTGVmdDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lT T19TZXRfTWFyZ2luX1JpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fU2V0X01hcmdp bl9SaWdodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgSWFib3ZlZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBJYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEliZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0licmV2ZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSWJyZXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWNpcmN1bWZsZXgiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEljaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWRpYWVyZXNpcyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSWRpYWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lncmF2ZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgSWdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWhvb2siKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IElob29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSW1hY3JvbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSW1hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0luc2VydCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSW5zZXJ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSW9nb25layIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSW9nb25lazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0l0aWxkZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSXRpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0pjaXJjdW1mbGV4IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBKY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0siKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF8wIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBLUF8wOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg S1BfMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0tQXzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQXzI7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9LUF8zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF8zOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfS1BfNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfNDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQXzUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQXzU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LUF82IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF82OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1Bf NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQXzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEtQXzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF85IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBLUF85OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfQWRkIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBLUF9BZGQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9CZWdpbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgS1BfQmVnaW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9EZWNpbWFsIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBLUF9EZWNpbWFsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfRGVsZXRl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9EZWxldGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9E aXZpZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0RpdmlkZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX0Rvd24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0Rvd247Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LUF9FbmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0VuZDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX0VudGVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9FbnRlcjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0tQX0VxdWFsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9FcXVhbDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQX0YxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9GMTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0tQX0YyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9GMjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX0YzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9GMzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQ X0Y0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9GNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQX0hv bWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0hvbWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9J bnNlcnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0luc2VydDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX0xlZnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0xlZnQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LUF9NdWx0aXBseSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfTXVsdGlwbHk7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9LUF9OZXh0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9OZXh0OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfS1BfUGFnZV9Eb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9QYWdl X0Rvd247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9QYWdlX1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBLUF9QYWdlX1VwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfUHJpb3IiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEtQX1ByaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfUmlnaHQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEtQX1JpZ2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfU2VwYXJhdG9yIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBLUF9TZXBhcmF0b3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9TcGFjZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfU3BhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9TdWJ0 cmFjdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfU3VidHJhY3Q7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LUF9UYWIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX1RhYjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9VcDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0th bmFfTG9jayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS2FuYV9Mb2NrOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfS2FuYV9TaGlmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS2FuYV9TaGlmdDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0thbmppIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLYW5qaTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0thbmppX0JhbmdvdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS2FuamlfQmFuZ291 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfS2F0YWthbmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEthdGFr YW5hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfS2JkQnJpZ2h0bmVzc0Rvd24iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEtiZEJyaWdodG5lc3NEb3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS2JkQnJpZ2h0bmVzc1Vw IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLYmRCcmlnaHRuZXNzVXA7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LYmRMaWdodE9uT2ZmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLYmRMaWdodE9uT2ZmOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfS2NlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtjZWRpbGxh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfS29yZWFuX1dvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS29y ZWFuX1dvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0wiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEw7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9MMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTDE7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9MMTAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEwxMDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0wy IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0wzIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBMMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0w0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBMNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0w1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBM NTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0w2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMNjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0w3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMNzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0w4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0w5IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBMOTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xhY3V0ZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgTGFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGFzdF9WaXJ0dWFsX1NjcmVl biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGFzdF9WaXJ0dWFsX1NjcmVlbjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0xhdW5jaDAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDA7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9MYXVuY2gxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2gxOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfTGF1bmNoMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNoMjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0xhdW5jaDMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDM7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9MYXVuY2g0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2g0OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfTGF1bmNoNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNoNTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0xhdW5jaDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDY7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9MYXVuY2g3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2g3Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfTGF1bmNoOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNoODsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0xhdW5jaDkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2hBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2hB OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoQiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNo QjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaEMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5j aEM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2hEIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVu Y2hEOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1 bmNoRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaEYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExh dW5jaEY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IExiZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTGNhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGNlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IExjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTGVmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xpZ2h0QnVsYiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTGlnaHRCdWxiOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGluZWZlZWQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IExpbmVmZWVkOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGlyYVNpZ24iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IExpcmFTaWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTG9nR3JhYkluZm8iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IExvZ0dyYWJJbmZvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTG9nT2ZmIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBMb2dPZmY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Mb2dXaW5kb3dUcmVl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMb2dXaW5kb3dUcmVlOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf THN0cm9rZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTHN0cm9rZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X00iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NYWJvdmVkb3Qi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1hYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hY2Vk b25pYV9EU0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1hY2Vkb25pYV9EU0U7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9NYWNlZG9uaWFfR0pFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNYWNlZG9uaWFf R0pFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTWFjZWRvbmlhX0tKRSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTWFjZWRvbmlhX0tKRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hY2Vkb25pYV9kc2UiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IE1hY2Vkb25pYV9kc2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NYWNlZG9uaWFf Z2plIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNYWNlZG9uaWFfZ2plOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfTWFjZWRvbmlhX2tqZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWFjZWRvbmlhX2tqZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX01hZV9Lb2hvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNYWVfS29o bzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX01haWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1haWw7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9NYWlsRm9yd2FyZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWFpbEZv cndhcmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NYXJrZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1h cmtldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX01hc3N5byIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWFz c3lvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTWVldGluZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWVl dGluZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX01lbW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1lbW87 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9NZW51IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNZW51OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfTWVudUtCIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNZW51S0I7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9NZW51UEIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1lbnVQQjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX01lc3NlbmdlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWVzc2VuZ2VyOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfTWV0YV9MIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNZXRhX0w7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9NZXRhX1IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1ldGFfUjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX01pbGxTaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNaWxsU2lnbjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX01vZGVMb2NrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNb2RlTG9j azsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX01vZGVfc3dpdGNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBN b2RlX3N3aXRjaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vbkJyaWdodG5lc3NEb3duIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBNb25CcmlnaHRuZXNzRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vbkJyaWdo dG5lc3NVcCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTW9uQnJpZ2h0bmVzc1VwOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfTW91c2VLZXlzX0FjY2VsX0VuYWJsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg TW91c2VLZXlzX0FjY2VsX0VuYWJsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01vdXNlS2V5c19FbmFibGUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1vdXNlS2V5c19FbmFibGU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9NdWhlbmthbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTXVoZW5rYW47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9NdWx0aV9rZXkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE11bHRpX2tleTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX011bHRpcGxlQ2FuZGlkYXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNdWx0 aXBsZUNhbmRpZGF0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX011c2ljIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBNdXNpYzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX015Q29tcHV0ZXIiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IE15Q29tcHV0ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NeVNpdGVzIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBNeVNpdGVzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgTjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05hY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg TmFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmFpcmFTaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBOYWlyYVNpZ247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IE5jYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05jZWRpbGxhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBOY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05ldyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTmV3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV3U2hlcWVsU2lnbiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgTmV3U2hlcWVsU2lnbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05ld3MiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IE5ld3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OZXh0IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBOZXh0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV4dF9WTW9kZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgTmV4dF9WTW9kZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05leHRfVmlydHVhbF9TY3JlZW4iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IE5leHRfVmlydHVhbF9TY3JlZW47Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9OdGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE50aWxkZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X051bV9Mb2NrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBOdW1fTG9jazsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PRSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgT0U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PYWN1dGUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IE9hY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09iYXJyZWQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IE9iYXJyZWQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PYmVsb3dkb3QiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IE9iZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09jYXJvbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgT2Nhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2NpcmN1bWZsZXgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE9jaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2Np cmN1bWZsZXhhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2NpcmN1bWZsZXhhY3V0ZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX09jaXJjdW1mbGV4YmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IE9jaXJjdW1mbGV4YmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PY2lyY3VtZmxleGdyYXZl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPY2lyY3VtZmxleGdyYXZlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfT2NpcmN1bWZsZXhob29rIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPY2lyY3VtZmxleGhv b2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9PY2lyY3VtZmxleHRpbGRlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBPY2lyY3VtZmxleHRpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2RpYWVyZXNpcyIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgT2RpYWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09kb3VibGVhY3V0 ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2RvdWJsZWFjdXRlOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf T2ZmaWNlSG9tZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2ZmaWNlSG9tZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX09ncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2dyYXZlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfT2hvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE9ob29rOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfT2hvcm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE9ob3JuOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf T2hvcm5hY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2hvcm5hY3V0ZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX09ob3JuYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE9ob3JuYmVsb3dk b3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9PaG9ybmdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBP aG9ybmdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2hvcm5ob29rIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBPaG9ybmhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PaG9ybnRpbGRlIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBPaG9ybnRpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT21hY3JvbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgT21hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09vYmxpcXVlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBPb2JsaXF1ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09wZW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IE9wZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PcGVuVVJMIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBPcGVuVVJMOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT3B0aW9uIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBPcHRpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Pc2xhc2giKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IE9zbGFzaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX090aWxkZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgT3RpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT3ZlcmxheTFfRW5hYmxlIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBPdmVybGF5MV9FbmFibGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PdmVy bGF5Ml9FbmFibGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE92ZXJsYXkyX0VuYWJsZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1AiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFA7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9QYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBhYm92ZWRvdDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1BhZ2VfRG93biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUGFnZV9Eb3duOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfUGFnZV9VcCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUGFnZV9VcDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1Bhc3RlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQYXN0ZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1BhdXNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQYXVzZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1Blc2V0YVNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBlc2V0YVNpZ247Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9QaG9uZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUGhvbmU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9QaWN0dXJlcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUGljdHVyZXM7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0FjY2VsZXJhdGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFBvaW50ZXJfQWNjZWxlcmF0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfQnV0dG9uMSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9CdXR0b24xOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9p bnRlcl9CdXR0b24yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0J1dHRvbjI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0J1dHRvbjMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBv aW50ZXJfQnV0dG9uMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfQnV0dG9uNCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgUG9pbnRlcl9CdXR0b240OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9C dXR0b241IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0J1dHRvbjU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Qb2ludGVyX0J1dHRvbl9EZmx0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2lu dGVyX0J1dHRvbl9EZmx0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGljazEiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2sxOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9p bnRlcl9EYmxDbGljazIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2sy OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGljazMiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFBvaW50ZXJfRGJsQ2xpY2szOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGljazQi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2s0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfUG9pbnRlcl9EYmxDbGljazUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJs Q2xpY2s1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EYmxDbGlja19EZmx0IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBQb2ludGVyX0RibENsaWNrX0RmbHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2lu dGVyX0RmbHRCdG5OZXh0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0RmbHRCdG5O ZXh0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EZmx0QnRuUHJldiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgUG9pbnRlcl9EZmx0QnRuUHJldjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRG93 biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9Eb3duOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf UG9pbnRlcl9Eb3duTGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9Eb3duTGVm dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRG93blJpZ2h0IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBQb2ludGVyX0Rvd25SaWdodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRHJhZzEiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZzE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2lu dGVyX0RyYWcyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0RyYWcyOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfUG9pbnRlcl9EcmFnMyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9E cmFnMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRHJhZzQiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFBvaW50ZXJfRHJhZzQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RyYWc1IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBQb2ludGVyX0RyYWc1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9E cmFnX0RmbHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZ19EZmx0OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfUG9pbnRlcl9FbmFibGVLZXlzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQ b2ludGVyX0VuYWJsZUtleXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0xlZnQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfTGVmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfUmln aHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfUmlnaHQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Qb2ludGVyX1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX1VwOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfUG9pbnRlcl9VcExlZnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJf VXBMZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9VcFJpZ2h0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBQb2ludGVyX1VwUmlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb3dlckRvd24iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFBvd2VyRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Bvd2VyT2ZmIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBQb3dlck9mZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1ByZXZfVk1v ZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFByZXZfVk1vZGU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Q cmV2X1ZpcnR1YWxfU2NyZWVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQcmV2X1ZpcnR1YWxf U2NyZWVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJldmlvdXNDYW5kaWRhdGUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFByZXZpb3VzQ2FuZGlkYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJpbnQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFByaW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJpb3IiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFByaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgUTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFI7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9SMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjE7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9SMTAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFIxMDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1IxMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjExOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUjEyIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBSMTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMTMiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFIxMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1IxNCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgUjE0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUjE1IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBSMTU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9SMyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjM7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9SNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SNSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SNiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgUjY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SNyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgUjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9SOSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjk7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9SYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJhY3V0ZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1JjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmNhcm9uOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfUmNlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJjZWRpbGxhOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfUmVkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSZWQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9SZWRvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSZWRvOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUmVm cmVzaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmVmcmVzaDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Jl bG9hZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmVsb2FkOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUmVw ZWF0S2V5c19FbmFibGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJlcGVhdEtleXNfRW5hYmxl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUmVwbHkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJlcGx5Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfUmV0dXJuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSZXR1cm47Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9SaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmlnaHQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Sb2NrZXJEb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSb2NrZXJEb3du OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUm9ja2VyRW50ZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJv Y2tlckVudGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm9ja2VyVXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFJvY2tlclVwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm9tYWppIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBSb21hamk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Sb3RhdGVXaW5kb3dzIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBSb3RhdGVXaW5kb3dzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm90YXRpb25LQiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgUm90YXRpb25LQjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1JvdGF0aW9u UEIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJvdGF0aW9uUEI7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9S dXBlZVNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJ1cGVlU2lnbjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TQ0hXQSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU0NIV0E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TYWJvdmVkb3Qi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NhY3V0 ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2FjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2F2ZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2F2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NjYXJvbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgU2Nhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2NlZGlsbGEiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFNjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2NpcmN1bWZs ZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2NyZWVuU2F2ZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNjcmVlblNhdmVyOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2Nyb2xsQ2xpY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNjcm9sbENsaWNr OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2Nyb2xsRG93biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2Ny b2xsRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Njcm9sbFVwIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBTY3JvbGxVcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Njcm9sbF9Mb2NrIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBTY3JvbGxfTG9jazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlYXJjaCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgU2VhcmNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VsZWN0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBTZWxlY3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZWxlY3RCdXR0b24iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFNlbGVjdEJ1dHRvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlbmQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFNlbmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX0RKRSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9ESkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFu X0RaRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9EWkU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TZXJiaWFuX0pFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX0pFOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2VyYmlhbl9MSkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNlcmJpYW5fTEpF OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9OSkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNl cmJpYW5fTkpFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9UU0hFIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBTZXJiaWFuX1RTSEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX2RqZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9kamU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX2R6 ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9kemU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T ZXJiaWFuX2plIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX2plOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2VyYmlhbl9samUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNlcmJpYW5fbGplOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl9uamUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNlcmJp YW5fbmplOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VyYmlhbl90c2hlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTZXJiaWFuX3RzaGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaGlmdF9MIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBTaGlmdF9MOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2hpZnRfTG9jayIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgU2hpZnRfTG9jazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NoaWZ0X1IiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFNoaWZ0X1I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaG9wIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBTaG9wOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luZ2xlQ2FuZGlkYXRlIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5nbGVDYW5kaWRhdGU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfYWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX2FhMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9hYTI7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TaW5oX2FlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2FlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2luaF9hZTIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWUyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2luaF9hZWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWVlOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF9hZWUyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2FlZTI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX2FpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2FpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF9haTIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWky OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9hbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9h bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1NpbmhfYXUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhf YXU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2F1MiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2lu aF9hdTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2JhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX2JhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9iaGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFNpbmhfYmhhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9jYSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgU2luaF9jYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfY2hhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTaW5oX2NoYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfZGRhIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBTaW5oX2RkYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfZGRoYSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgU2luaF9kZGhhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9kaGEiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFNpbmhfZGhhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9kaGhhIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2RoaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2UiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfZTIiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2VlIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2VlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9lZTIi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZWUyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9m YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9mYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhf Z2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZ2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5o X2doYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9naGE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX2gyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2gyOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2luaF9oYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9oYTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1NpbmhfaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9pOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2luaF9pMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9pMjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1NpbmhfaWkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfaWk7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TaW5oX2lpMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9paTI7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9TaW5oX2phIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2phOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2luaF9qaGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfamhhOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF9qbnlhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2pueWE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX2thIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2thOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF9raGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfa2hh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9rdW5kZGFsaXlhIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBTaW5oX2t1bmRkYWxpeWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2xhIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBTaW5oX2xhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9sbGEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFNpbmhfbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9sdSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgU2luaF9sdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbHUyIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBTaW5oX2x1MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbHV1IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2x1dTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbHV1MiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9sdXUyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9t YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9tYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhf bWJhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX21iYTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfbmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbmE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX25kZGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbmRkYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfbmRoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9uZGhhOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF9uZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9uZzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1NpbmhfbmcyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX25nMjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1NpbmhfbmdhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX25nYTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1NpbmhfbmphIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX25q YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1Npbmhfbm5hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5o X25uYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbnlhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX255YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg U2luaF9vOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9vMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg U2luaF9vMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhfb28iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFNpbmhfb287Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX29vMiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgU2luaF9vbzI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3BhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTaW5oX3BhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9waGEiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IFNpbmhfcGhhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9yYSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgU2luaF9yYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfcmkiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFNpbmhfcmk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3JpaSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgU2luaF9yaWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3J1MiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgU2luaF9ydTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3J1dTIiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFNpbmhfcnV1MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhfc2EiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfc2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3NoYSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9zaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3Nz aGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfc3NoYTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfdGhhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3RoYTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1NpbmhfdGhoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF90aGhhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2luaF90dGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdHRhOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF90dGhhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3R0aGE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1NpbmhfdTIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdTI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX3V1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3V1Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF91dTIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdXUy OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF92YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF92 YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1NpbmhfeWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhf eWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9TbGVlcCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2xlZXA7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9TbG93S2V5c19FbmFibGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFNsb3dLZXlzX0VuYWJsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NwZWxsIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBTcGVsbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NwbGl0U2NyZWVuIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBTcGxpdFNjcmVlbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N0YW5kYnkiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFN0YW5kYnk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TdGFydCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgU3RhcnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TdGlja3lLZXlzX0VuYWJsZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3RpY2t5S2V5c19FbmFibGU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TdG9wIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTdG9wOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3Vi dGl0bGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN1YnRpdGxlOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U3VwZXJfTCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3VwZXJfTDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1N1cGVyX1IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN1cGVyX1I7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TdXBwb3J0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTdXBwb3J0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU3VzcGVuZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3VzcGVuZDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1N3aXRjaF9WVF8xIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfMTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1N3aXRjaF9WVF8xMCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3dpdGNo X1ZUXzEwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzExIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTd2l0Y2hfVlRfMTE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Td2l0Y2hfVlRfMTIiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF8xMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF8y IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfMjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3 aXRjaF9WVF8zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfMzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1N3aXRjaF9WVF80IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfNDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF81IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0 Y2hfVlRfNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF82IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTd2l0Y2hfVlRfNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF83IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBTd2l0Y2hfVlRfNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF84Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRj aF9WVF85IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTd2l0Y2hfVlRfOTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1N5c19SZXEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN5c19SZXE7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVEhPUk4i KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRIT1JOOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGFiIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBUYWI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UYWJvdmVkb3QiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFRhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Rhc2tQYW5lIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBUYXNrUGFuZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RjYXJvbiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGNhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGNlZGlsbGEi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGVybWlu YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRlcm1pbmFsOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGVy bWluYXRlX1NlcnZlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGVybWluYXRlX1NlcnZlcjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1RoYWlfYmFodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9i YWh0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9ib2JhaW1haSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgVGhhaV9ib2JhaW1haTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfY2hvY2hhbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9jaG9jaGFuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9jaG9jaGFu ZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9jaG9jaGFuZzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RoYWlfY2hvY2hpbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfY2hvY2hpbmc7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX2Nob2Nob2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlf Y2hvY2hvZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfZG9jaGFkYSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgVGhhaV9kb2NoYWRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9kb2RlayIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9kb2RlazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfZm9mYSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9mb2ZhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9mb2Zh biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9mb2ZhbjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Ro YWlfaG9oaXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfaG9oaXA7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX2hvbm9raHVrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2hvbm9raHVr OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9raG9raGFpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX2tob2toYWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2tob2tob24iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFRoYWlfa2hva2hvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfa2hva2h1YXQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfa2hva2h1YXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFp X2tob2tod2FpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2tob2tod2FpOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVGhhaV9raG9yYWtoYW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2to b3Jha2hhbmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2tva2FpIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBUaGFpX2tva2FpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sYWtraGFuZ3lhbyIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgVGhhaV9sYWtraGFuZ3lhbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlf bGVrY2hldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sZWtjaGV0OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVGhhaV9sZWtoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sZWtoYTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1RoYWlfbGVraG9rIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xl a2hvazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbGVra2FvIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBUaGFpX2xla2thbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbGVrbnVuZyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgVGhhaV9sZWtudW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sZWtwYWV0Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xla3BhZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFp X2xla3NhbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sZWtzYW07Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX2xla3NpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xla3NpOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVGhhaV9sZWtzb25nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xl a3Nvbmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xla3N1biIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgVGhhaV9sZWtzdW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xvY2h1bGEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFRoYWlfbG9jaHVsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbG9saW5nIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xvbGluZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlf bHUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbHU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFp X21haWNoYXR0YXdhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX21haWNoYXR0YXdhOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWllayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9t YWllazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpaGFuYWthdCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgVGhhaV9tYWloYW5ha2F0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWloYW5ha2F0X21h aXRobyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9tYWloYW5ha2F0X21haXRobzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1RoYWlfbWFpdGFpa2h1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X21haXRhaWtodTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpdGhvIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX21haXRobzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpdHJpIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBUaGFpX21haXRyaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbWFpeWFt b2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbWFpeWFtb2s7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9UaGFpX21vbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbW9tYTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1RoYWlfbmdvbmd1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX25nb25ndTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1RoYWlfbmlraGFoaXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfbmlraGFoaXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX25vbmVuIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX25vbmVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9ub251IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBUaGFpX25vbnU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX29hbmciKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfb2FuZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfcGFpeWFu bm9pIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3BhaXlhbm5vaTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1RoYWlfcGhpbnRodSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9waGludGh1Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVGhhaV9waG9waGFuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X3Bob3BoYW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Bob3BodW5nIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX3Bob3BodW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9waG9zYW1waGFvIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Bob3NhbXBoYW87Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9U aGFpX3BvcGxhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3BvcGxhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVGhhaV9yb3J1YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9yb3J1YTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1RoYWlfcnUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfcnU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Nh cmFhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFRoYWlfc2FyYWFhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYWUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFRoYWlfc2FyYWFlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYWltYWltYWxh aSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhYWltYWltYWxhaTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1RoYWlfc2FyYWFpbWFpbXVhbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9z YXJhYWltYWltdWFuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhYW0iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFRoYWlfc2FyYWFtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYWki KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFp X3NhcmFpaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhaWk7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX3NhcmFvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3NhcmFvOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVGhhaV9zYXJhdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJh dTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYXVlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX3NhcmF1ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYXVlZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgVGhhaV9zYXJhdWVlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhdXUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYXV1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zb3J1 c2kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc29ydXNpOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGhhaV9zb3NhbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc29zYWxhOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVGhhaV9zb3NvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Nvc287Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX3Nvc3VhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Nv c3VhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV90aGFudGhha2hhdCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgVGhhaV90aGFudGhha2hhdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfdGhvbmFuZ21vbnRo byIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV90aG9uYW5nbW9udGhvOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVGhhaV90aG9waHV0aGFvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Rob3Bo dXRoYW87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Rob3RoYWhhbiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgVGhhaV90aG90aGFoYW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Rob3RoYW4iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfdGhvdGhhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfdGhv dGhvbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfdGhvdGhvbmc7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX3Rob3RodW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Rob3RodW5n OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV90b3BhdGFrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX3RvcGF0YWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3RvdGFvIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX3RvdGFvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV93b3dhZW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFRoYWlfd293YWVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV95b3lhayIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV95b3lhazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlf eW95aW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3lveWluZzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1Rob3JuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaG9ybjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RpbWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRpbWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Ub0Rv TGlzdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVG9Eb0xpc3Q7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9U b29scyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVG9vbHM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Ub3BN ZW51IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUb3BNZW51OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVG91 Y2hwYWRPZmYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRvdWNocGFkT2ZmOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVG91Y2hwYWRPbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVG91Y2hwYWRPbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1RvdWNocGFkVG9nZ2xlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUb3Vj aHBhZFRvZ2dsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RvdXJva3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFRvdXJva3U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UcmF2ZWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFRyYXZlbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RzbGFzaCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgVHNsYXNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1VXQiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVVdCOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVYWN1dGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9VYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFViZWxvd2RvdDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1VicmV2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWJyZXZlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVWNpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVjaXJjdW1m bGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVWRpYWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VWRpYWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Vkb3VibGVhY3V0ZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgVWRvdWJsZWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWdyYXZlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBVZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9vayIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgVWhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9ybiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgVWhvcm47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9ybmFjdXRlIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBVaG9ybmFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWhvcm5iZWxvd2RvdCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgVWhvcm5iZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Vob3Ju Z3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVob3JuZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9VaG9ybmhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVob3JuaG9vazsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1Vob3JudGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVob3JudGlsZGU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5fR0hFX1dJVEhfVVBUVVJOIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBVa3JhaW5pYW5fR0hFX1dJVEhfVVBUVVJOOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWtyYWlu aWFuX0kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFpbmlhbl9JOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfVWtyYWluaWFuX0lFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVa3JhaW5pYW5fSUU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5fWUkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFp bmlhbl9ZSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl9naGVfd2l0aF91cHR1cm4iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFVrcmFpbmlhbl9naGVfd2l0aF91cHR1cm47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Va3JhaW5pYW5faSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYWluaWFuX2k7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Va3JhaW5pYW5faWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFp bmlhbl9pZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl95aSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgVWtyYWluaWFuX3lpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWtyYW5pYW5fSSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgVWtyYW5pYW5fSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFuaWFuX0pFIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBVa3Jhbmlhbl9KRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFu aWFuX1lJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVa3Jhbmlhbl9ZSTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1VrcmFuaWFuX2kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFuaWFuX2k7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Va3Jhbmlhbl9qZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYW5pYW5f amU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Va3Jhbmlhbl95aSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VWtyYW5pYW5feWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VbWFjcm9uIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBVbWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVW5kbyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgVW5kbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VuZ3JhYiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VW5ncmFiOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVW9nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VW9nb25lazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVcDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1VyaW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVcmluZzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1VzZXIxS0IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVzZXIxS0I7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Vc2VyMktCIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVc2VyMktCOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfVXNlclBCIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVc2VyUEI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9VdGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFV0aWxkZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1YiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFY7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9WZW5kb3JIb21lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBWZW5kb3JIb21lOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVmlkZW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFZpZGVvOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVmlldyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVmlldzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1ZvaWRTeW1ib2wiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFZvaWRTeW1ib2w7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9XIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBXOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV0xB TiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV0xBTjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1dXVyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgV1dXOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV2FjdXRlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBXYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9XYWtlVXAiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFdha2VVcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1djaXJjdW1mbGV4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBXY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1dkaWFlcmVz aXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFdkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9X ZWJDYW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFdlYkNhbTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1dn cmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV2dyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV2hl ZWxCdXR0b24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFdoZWVsQnV0dG9uOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfV2luZG93Q2xlYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFdpbmRvd0NsZWFyOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfV29uU2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV29uU2lnbjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1dvcmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFdvcmQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9YIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBYOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf WGFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBYYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9YZmVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBYZmVyOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf WSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1lhY3V0ZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgWWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfWWJlbG93ZG90Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBZYmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ZY2lyY3Vt ZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWWNpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9ZZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZZGlhZXJlc2lzOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfWWVsbG93IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZZWxsb3c7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9ZZ3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFlncmF2ZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1lob29rIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZaG9vazsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1l0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWXRpbGRlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfWiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1phYm92ZWRv dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWmFib3ZlZG90OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfWmFj dXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBaYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9aY2Fy b24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFpjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1plbl9L b2hvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBaZW5fS29obzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1pl bmtha3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFplbmtha3U7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9a ZW5rYWt1X0hhbmtha3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFplbmtha3VfSGFua2FrdTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1pvb21JbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWm9vbUluOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfWm9vbU91dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWm9vbU91dDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1pzdHJva2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFpzdHJva2U7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhYWN1dGU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9hYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFiZWxvd2RvdDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2Fib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhYm92ZWRvdDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2FicmV2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWJyZXZlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYWJyZXZlYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFicmV2ZWFj dXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGFicmV2ZWJlbG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlZ3JhdmUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGFicmV2ZWdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlaG9vayIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWJyZXZlaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FicmV2 ZXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhYnJldmV0aWxkZTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2FjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhY2lyY3VtZmxleDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2FjaXJjdW1mbGV4YWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFj aXJjdW1mbGV4YWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hY2lyY3VtZmxleGJlbG93ZG90IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBhY2lyY3VtZmxleGJlbG93ZG90OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YWNpcmN1bWZsZXhncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWNpcmN1bWZsZXhncmF2 ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2FjaXJjdW1mbGV4aG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYWNpcmN1bWZsZXhob29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWNpcmN1bWZsZXh0aWxkZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYWNpcmN1bWZsZXh0aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Fj dXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FkaWFl cmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9hZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hZ3JhdmUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Fob29rIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBhaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FtYWNyb24iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGFtYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hbXBlcnNhbmQi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFtcGVyc2FuZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FvZ29u ZWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFvZ29uZWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hcG9z dHJvcGhlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhcG9zdHJvcGhlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYXBwcm94ZXEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFwcHJveGVxOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYXBwcm94aW1hdGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFwcHJveGltYXRlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYXJpbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFyaW5nOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYXNjaWljaXJjdW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFzY2lpY2ly Y3VtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYXNjaWl0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YXNjaWl0aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FzdGVyaXNrIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBhc3RlcmlzazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2F0IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBhdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2F0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYXRp bGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYmFib3ZlZG90Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYmFja3NsYXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBiYWNrc2xh c2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9iYWxsb3Rjcm9zcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YmFsbG90Y3Jvc3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9iYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JlY2F1c2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJl Y2F1c2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ibGFuayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYmxh bms7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RpbnRlZ3JhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Ym90aW50ZWdyYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RsZWZ0cGFyZW5zIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBib3RsZWZ0cGFyZW5zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYm90bGVmdHNxYnJhY2tl dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYm90bGVmdHNxYnJhY2tldDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JvdGxlZnRzdW1tYXRpb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJvdGxlZnRzdW1t YXRpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RyaWdodHBhcmVucyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYm90cmlnaHRwYXJlbnM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RyaWdodHNxYnJhY2tldCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYm90cmlnaHRzcWJyYWNrZXQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9ib3RyaWdodHN1bW1hdGlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYm90cmlnaHRzdW1t YXRpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3R0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBib3R0 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYm90dmVydHN1bW1hdGlvbmNvbm5lY3RvciIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYm90dmVydHN1bW1hdGlvbmNvbm5lY3RvcjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWNlbGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhY2VsZWZ0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhY2VyaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhY2VyaWdodDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWNrZXRsZWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFja2V0bGVm dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWNrZXRyaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhY2tldHJpZ2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9ibGFuayIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9ibGFuazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90XzEi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90XzE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdF8xMCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RfMTA7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdF8yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdF8yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RfMyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RfMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90XzQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90XzQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdF81IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdF81OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RfNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RfNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90XzciKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90Xzc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdF84IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdF84OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RfOSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RfOTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzEyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMjM0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIz NDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy MzQ1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1NjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NTY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMTIzNDU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NTY3 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1Njc4OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMjM0NTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1NyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1NzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xMjM0NTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTIzNDU3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NTgiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0NTg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTIzNDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18x MjM0NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NjciKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTIzNDY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ2Nzg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDY4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTIzNDY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy MzQ3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDc7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMTIzNDc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTIzNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEy MzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTYiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xMjM1NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x MjM1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM1Njc7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEyMzU2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTY4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNTY4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEyMzU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTIzNTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTc4IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNTc4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzEyMzU4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIz NTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIz NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM2NzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xMjM2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMjM2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNjgiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM2ODsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMjM3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIz NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM3OCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy MzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEyNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzEyNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0NTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMjQ1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDU2OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEyNDU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1Njc4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0NTY3ODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMjQ1Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0NTciKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ1NzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMjQ1NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18x MjQ1Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0NTgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ1ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMjQ2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0NjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzEyNDY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDY3OCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDY3ODsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18xMjQ2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzEyNDY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDciKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzEyNDc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0Nzg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzEyNDg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEyNTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjU2Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNTY3IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTI1Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1Njc4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1Njc4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEyNTY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTI1Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1NyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMTI1NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjU3ODsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjU4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTI1ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjYiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjY7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTI2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEy Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI2NzgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xMjY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x MjY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI2ODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xMjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18xMjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI3OCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTI4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI4OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzEzNDUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ1OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMTM0NTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NTY3IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0NTY3OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzEzNDU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMzQ1Njc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU2OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMzQ1NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU3 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDU3OCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x MzQ1OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU4OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMzQ2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDY3IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMTM0Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0 Njc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDY4IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMTM0Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MTM0NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDc7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMzQ3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzQ4IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMzUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEzNTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM1NjciKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU2NzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18xMzU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMzU2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM1NjgiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18xMzU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM1NzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEzNTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNTgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU4OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzEzNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEz NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzY3IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTM2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzY3 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNjc4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEzNjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18xMzY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMzc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM3ODsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xMzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xNDUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzE0NTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1NjciKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xNDU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU2 Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1NjgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xNDU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x NDU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ1NzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xNDU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzE0NTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NTgiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzE0NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0NjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMTQ2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDY3OCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0Njc4OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzE0NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18x NDY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzE0NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDc4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ3ODsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xNDgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xNDg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNTYi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNTY7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMTU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzE1Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTU2NzgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18xNTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xNTY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTU2ODsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xNTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18xNTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTU3OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE1Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMTU4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTU4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTY3IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzE2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNjc4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzE2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzE3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE3ODsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18xOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzE4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIz IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMjM0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MjM0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18yMzQ1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIz NDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0NTY7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NTY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMjM0NTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDU2NzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ1Njc4OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzIzNDU2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzIzNDU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ1NyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU3OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzIzNDU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU3 ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ1OCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIz NDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ2OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzIzNDY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMjM0Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0Njc4IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0Njc4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzIzNDY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0 Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0 NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ3ODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18yMzQ4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMjM0ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMjM1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNTY7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18yMzU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzU2NzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzU2Nzg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMjM1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18yMzU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzU3IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM1NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18yMzU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNTc4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNTgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18yMzU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18yMzY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM2NzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzIzNjc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNjgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzY4OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzIzNyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzIzNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzc4IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMjM3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18y MzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMjQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18yNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18yNDU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjQ1 NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NTY7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMjQ1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18yNDU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDU2NzgiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDU2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMjQ1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDU2 ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDU3IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMjQ1NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDU3 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NTc4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzI0NTgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18yNDU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18yNDY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ2NzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzI0Njc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NjgiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDY4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzI0NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDc4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMjQ3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMjUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18yNTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjU2NyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI1Njc7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMjU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18y NTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTY4IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMjU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18y NTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNTc7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMjU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzI1Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjU4IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMjU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzI2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjY7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMjY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfMjY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI2NzgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18yNjc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzI2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI2ODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18yNyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzI3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI3OCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18y OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI4OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18z OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMzQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ1IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzM0NTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDU2 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0NTY3IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMzQ1Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ1 Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1Njc4OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0NTY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMzQ1Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ1NyIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM0NTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMzQ1NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDU3 ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDU4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMzQ1ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDYi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDY7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMzQ2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzM0Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ2NzgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18zNDY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18zNDY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ2ODsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18zNDc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ3OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM0Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMzQ4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzU2IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzU2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzM1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNTY3OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMzU2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzU2OCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM1Njg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMzU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzU3 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18zNTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM1OCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM1ODsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18zNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM2 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM2NyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzM2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNjc4Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzY3ODsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18zNjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18z Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzciKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18zNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNzg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zODsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzQ1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1NjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c180NTY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfNDU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NTY3OCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ1Njc4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzQ1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180NTY4 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ1NyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzQ1NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NTc4Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDU3ODsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c180NTgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180 NTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c180NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NjciKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180Njc7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfNDY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ2 Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNDY4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfNDY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ3Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDc7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfNDc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDc4 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfNDg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfNTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c181NjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c181NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c181Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNTY3OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzU2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfNTY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTY4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfNTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNTc4IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzU4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTg7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNjciKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c182NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c182Nzgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c182Nzg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfNjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c182 ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c183IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c183OCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c184OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJldmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyZXZlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJva2VuYmFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicm9rZW5iYXI7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9jIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Y19oIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjX2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9jYWJvdmVk b3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Nh Y3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2FjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY2Fy ZW9mIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjYXJlb2Y7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9jYXJl dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2FyZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9jYXJvbiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9jY2Fyb24iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGNjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2NjZWRpbGxhIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBjY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2NjaXJjdW1m bGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2NlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9jZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjZW50OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY2gi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY2hlY2tlcmJvYXJk IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjaGVja2VyYm9hcmQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9j aGVja21hcmsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNoZWNrbWFyazsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2NpcmNsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2lyY2xlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfY2x1YiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2x1YjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Nv bG9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjb2xvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2NvbW1h IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjb21tYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2NvbnRhaW5z YXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNvbnRhaW5zYXM7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9j b3B5cmlnaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNvcHlyaWdodDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2NyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Nyb3Nz aW5nbGluZXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNyb3NzaW5nbGluZXM7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9jdWJlcm9vdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY3ViZXJvb3Q7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9jdXJyZW5jeSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY3VycmVuY3k7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9jdXJzb3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGN1cnNvcjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9kYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRhYm92ZWRvdDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2RhZ2dlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGFnZ2VyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkY2Fyb247Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfQTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2RlYWRfRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9FOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZGVhZF9JIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX0k7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9kZWFkX08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfTzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9VOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf ZGVhZF9hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2E7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9k ZWFkX2Fib3ZlY29tbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYWJvdmVjb21tYTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2RlYWRfYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRl YWRfYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Fib3ZlcmV2ZXJzZWRjb21tYSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9hYm92ZXJldmVyc2VkY29tbWE7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX2Fib3ZlcmluZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9hYm92ZXJp bmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Fib3ZldmVydGljYWxsaW5lIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBkZWFkX2Fib3ZldmVydGljYWxsaW5lOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9h Y3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9hY3V0ZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfYmVsb3dicmV2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9iZWxvd2JyZXZl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxvd2NpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGRlYWRfYmVsb3djaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxvd2Nv bW1hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2JlbG93Y29tbWE7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX2JlbG93ZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Jl bG93ZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxvd2RvdCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgZGVhZF9iZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYmVsb3dtYWNy b24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYmVsb3dtYWNyb247Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX2JlbG93cmluZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9iZWxvd3Jp bmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2JlbG93dGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGRlYWRfYmVsb3d0aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYmVsb3d2ZXJ0aWNhbGxp bmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYmVsb3d2ZXJ0aWNhbGxpbmU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9kZWFkX2JyZXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2JyZXZl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9jYXBpdGFsX3NjaHdhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBkZWFkX2NhcGl0YWxfc2Nod2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Nhcm9uIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Nhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9jZWRp bGxhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2NlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9kZWFkX2NpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfY2lyY3VtZmxl eDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2RlYWRfY3VycmVuY3kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGRlYWRfY3VycmVuY3k7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Rhc2lhIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBkZWFkX2Rhc2lhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9kaWFlcmVzaXMiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVh ZF9kb3VibGVhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9kb3VibGVhY3V0ZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2RlYWRfZG91YmxlZ3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGRlYWRfZG91YmxlZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2UiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGRlYWRfZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfZ3JhdmUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGRlYWRfZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2dyZWVrIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2dyZWVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9ob29r IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2hvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFk X2hvcm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfaG9ybjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9pOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf ZGVhZF9pbnZlcnRlZGJyZXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2ludmVydGVk YnJldmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2lvdGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGRlYWRfaW90YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfbG9uZ3NvbGlkdXNvdmVybGF5IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2xvbmdzb2xpZHVzb3ZlcmxheTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2RlYWRfbG93bGluZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9sb3dsaW5lOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZGVhZF9tYWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRf bWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9vIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBk ZWFkX287Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX29nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgZGVhZF9vZ29uZWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX3BlcmlzcG9tZW5pIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBkZWFkX3BlcmlzcG9tZW5pOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9w c2lsaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9wc2lsaTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfc2VtaXZvaWNlZF9zb3VuZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9zZW1p dm9pY2VkX3NvdW5kOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9zbWFsbF9zY2h3YSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgZGVhZF9zbWFsbF9zY2h3YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfc3Ry b2tlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX3N0cm9rZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfdGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfdGlsZGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9kZWFkX3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfdTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2RlYWRfdm9pY2VkX3NvdW5kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX3Zv aWNlZF9zb3VuZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlY2ltYWxwb2ludCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgZGVjaW1hbHBvaW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVncmVlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBkZWdyZWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kaWFlcmVzaXMiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGRpYWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RpYW1vbmQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGRpYW1vbmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kaWdpdHNwYWNlIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBkaWdpdHNwYWNlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGludGVn cmFsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkaW50ZWdyYWw7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9k aXZpc2lvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGl2aXNpb247Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9kb2xsYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRvbGxhcjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RvdWJiYXNlbGluZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZG91YmJhc2VsaW5lZG90 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZG91YmxlYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRv dWJsZWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZG91YmxlZGFnZ2VyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBkb3VibGVkYWdnZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kb3VibGVsb3dxdW90ZW1hcmsi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRvdWJsZWxvd3F1b3RlbWFyazsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2Rvd25hcnJvdyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZG93bmFycm93OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZG93bmNhcmV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkb3duY2FyZXQ7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9kb3duc2hvZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZG93bnNob2U7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9kb3duc3RpbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRvd25z dGlsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2Rvd250YWNrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBk b3dudGFjazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RzdHJva2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGRzdHJva2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZWFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlYWJvdmVk b3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9lYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVhY3V0 ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2ViZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZWJl bG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBl Y2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgZWNpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2lyY3VtZmxleGFjdXRlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBlY2lyY3VtZmxleGFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWNpcmN1 bWZsZXhiZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZWNpcmN1bWZsZXhiZWxvd2Rv dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2VjaXJjdW1mbGV4Z3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGVjaXJjdW1mbGV4Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2lyY3VtZmxleGhvb2siKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGVjaXJjdW1mbGV4aG9vazsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vj aXJjdW1mbGV4dGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVjaXJjdW1mbGV4dGlsZGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9lZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlZGlh ZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBl Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9laG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZWhv b2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9laWdodHN1YnNjcmlwdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgZWlnaHRzdWJzY3JpcHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9laWdodHN1cGVyaW9yIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBlaWdodHN1cGVyaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWxlbWVudG9m IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbGVtZW50b2Y7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lbGxp cHNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZWxsaXBzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9l bTNzcGFjZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW0zc3BhY2U7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9lbTRzcGFjZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW00c3BhY2U7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9lbWFjcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbWFjcm9uOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZW1kYXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbWRhc2g7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9lbWZpbGxlZGNpcmNsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW1maWxsZWRjaXJj bGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9lbWZpbGxlZHJlY3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGVtZmlsbGVkcmVjdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vtb3BlbmNpcmNsZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgZW1vcGVuY2lyY2xlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZW1vcGVucmVjdGFuZ2xl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbW9wZW5yZWN0YW5nbGU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9lbXB0eXNldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW1wdHlzZXQ7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9lbXNwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbXNwYWNlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZW5kYXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbmRhc2g7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9lbmZpbGxlZGNpcmNidWxsZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVuZmlsbGVk Y2lyY2J1bGxldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VuZmlsbGVkc3FidWxsZXQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGVuZmlsbGVkc3FidWxsZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lbmciKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGVuZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vub3BlbmNpcmNidWxsZXQi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVub3BlbmNpcmNidWxsZXQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9lbm9wZW5zcXVhcmVidWxsZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVub3BlbnNxdWFy ZWJ1bGxldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vuc3BhY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGVuc3BhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lb2dvbmVrIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBlb2dvbmVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZXF1YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGVxdWFsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZXRoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBldGg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9ldGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGV0aWxkZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2V4Y2xhbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZXhjbGFtOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZXhjbGFtZG93biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZXhjbGFt ZG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2V6aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZXpoOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2ZhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZmFib3ZlZG90OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZmVtYWxlc3ltYm9sIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmZW1hbGVzeW1i b2w7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9mZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZmY7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9maWdkYXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmaWdkYXNoOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfZmlsbGVkbGVmdHRyaWJ1bGxldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg ZmlsbGVkbGVmdHRyaWJ1bGxldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZpbGxlZHJlY3RidWxsZXQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGZpbGxlZHJlY3RidWxsZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9m aWxsZWRyaWdodHRyaWJ1bGxldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZmlsbGVkcmlnaHR0 cmlidWxsZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9maWxsZWR0cmlidWxsZXRkb3duIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBmaWxsZWR0cmlidWxsZXRkb3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZmlsbGVk dHJpYnVsbGV0dXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZpbGxlZHRyaWJ1bGxldHVwOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfZml2ZWVpZ2h0aHMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZpdmVl aWdodGhzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZml2ZXNpeHRocyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgZml2ZXNpeHRoczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZpdmVzdWJzY3JpcHQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGZpdmVzdWJzY3JpcHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9maXZlc3VwZXJpb3Ii KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZpdmVzdXBlcmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Zv dXJmaWZ0aHMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZvdXJmaWZ0aHM7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9mb3Vyc3Vic2NyaXB0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmb3Vyc3Vic2NyaXB0 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZm91cnN1cGVyaW9yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBm b3Vyc3VwZXJpb3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9mb3VydGhyb290IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBmb3VydGhyb290OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZnVuY3Rpb24iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGZ1bmN0aW9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZ2Fib3ZlZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ2JyZXZlIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBnYnJldmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9nY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGdjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2djZWRpbGxhIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBnY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2djaXJjdW1mbGV4IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBnY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dyYXZlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dyZWF0ZXIiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGdyZWF0ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ncmVhdGVydGhhbmVxdWFs IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBncmVhdGVydGhhbmVxdWFsOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZ3VpbGxlbW90bGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZ3VpbGxlbW90bGVmdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2d1aWxsZW1vdHJpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBn dWlsbGVtb3RyaWdodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9oYWlyc3BhY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhh aXJzcGFjZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBoY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYXJ0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBoZWFydDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19hbGVwaCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgaGVicmV3X2FsZXBoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2F5aW4iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19heWluOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3 X2JldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2JldDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2hlYnJld19iZXRoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfYmV0aDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2hlYnJld19jaGV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfY2hl dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19kYWxldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg aGVicmV3X2RhbGV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2RhbGV0aCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgaGVicmV3X2RhbGV0aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19kb3VibGVs b3dsaW5lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfZG91YmxlbG93bGluZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2hlYnJld19maW5hbGthcGgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhl YnJld19maW5hbGthcGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfZmluYWxtZW0iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGhlYnJld19maW5hbG1lbTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19m aW5hbG51biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2ZpbmFsbnVuOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfaGVicmV3X2ZpbmFscGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19m aW5hbHBlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2ZpbmFsemFkZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgaGVicmV3X2ZpbmFsemFkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19maW5hbHph ZGkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19maW5hbHphZGk7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9oZWJyZXdfZ2ltZWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19naW1lbDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2hlYnJld19naW1tZWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhl YnJld19naW1tZWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfaGUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGhlYnJld19oZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19oZXQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGhlYnJld19oZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfa2FwaCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2thcGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdf a3VmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfa3VmOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf aGVicmV3X2xhbWVkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfbGFtZWQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9oZWJyZXdfbWVtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfbWVt OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X251biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVi cmV3X251bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19wZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgaGVicmV3X3BlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3FvcGgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGhlYnJld19xb3BoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3Jlc2giKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19yZXNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3Nh bWVjaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3NhbWVjaDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2hlYnJld19zYW1la2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19zYW1la2g7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfc2hpbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVi cmV3X3NoaW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfdGFmIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBoZWJyZXdfdGFmOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3RhdyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgaGVicmV3X3RhdzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld190ZXQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGhlYnJld190ZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfdGV0 aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3RldGg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9o ZWJyZXdfd2F3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfd2F3OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfaGVicmV3X3lvZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3lvZDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2hlYnJld196YWRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdf emFkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196YWRpIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBoZWJyZXdfemFkaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196YWluIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBoZWJyZXdfemFpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld196YXlpbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3pheWluOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGV4YWdy YW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhleGFncmFtOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9y aXpjb25uZWN0b3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6Y29ubmVjdG9yOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6 bGluZXNjYW4xOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjMiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGhvcml6bGluZXNjYW4zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6bGluZXNjYW41OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf aG9yaXpsaW5lc2NhbjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhvcml6bGluZXNjYW43Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfaG9yaXpsaW5lc2NhbjkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhv cml6bGluZXNjYW45OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaHN0cm9rZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgaHN0cm9rZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2h5cGhlbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaHlw aGVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2lUb3VjaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaVRvdWNoOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfaWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpYWN1dGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9pYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGliZWxvd2RvdDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2licmV2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaWJyZXZlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfaWNpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGljaXJjdW1m bGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfaWRlbnRpY2FsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBp ZGVudGljYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBpZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWRvdGxlc3MiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGlkb3RsZXNzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWZvbmx5aWYiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGlmb25seWlmOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaWdyYXZlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBpZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9paG9vayIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgaWhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbWFjcm9uIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBpbWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaW1wbGllcyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgaW1wbGllczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2luY2x1ZGVkaW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGluY2x1ZGVkaW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbmNsdWRlcyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgaW5jbHVkZXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbmZpbml0eSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgaW5maW5pdHk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbnRlZ3Jh bCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaW50ZWdyYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbnRl cnNlY3Rpb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGludGVyc2VjdGlvbjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2lvZ29uZWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGlvZ29uZWs7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9pdGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGl0aWxkZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2oiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGo7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9qY2ly Y3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgamNpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9qb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGpvdDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2si KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX0EiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGthbmFfQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfQ0hJIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0NISTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfRSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9FOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9GVSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9GVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfSEEiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX0hFIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0hFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9ISSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9ISTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfSE8i KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSE87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX0hV IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0hVOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9J IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0k7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX0tB IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0tBOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9L RSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9LRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFf S0kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfS0k7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5h X0tPIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0tPOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2Fu YV9LVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9LVTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2th bmFfTUEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTUE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9r YW5hX01FIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX01FOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf a2FuYV9NSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9NSTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2thbmFfTU8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTU87Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9rYW5hX01VIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX01VOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfa2FuYV9OIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX047Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9rYW5hX05BIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX05BOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfa2FuYV9ORSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9ORTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2thbmFfTkkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTkk7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9rYW5hX05PIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX05POwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfa2FuYV9OVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9OVTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2thbmFfTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9POwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfa2FuYV9SQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9SQTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2thbmFfUkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfUkU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9rYW5hX1JJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1JJOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfa2FuYV9STyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9STzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2thbmFfUlUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfUlU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9rYW5hX1NBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1NBOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfa2FuYV9TRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9TRTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2thbmFfU0hJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1NISTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2thbmFfU08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfU087 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1NVIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1NV OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9UQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9U QTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2thbmFfVEUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFf VEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1RJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5h X1RJOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9UTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2Fu YV9UTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVFNVIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBr YW5hX1RTVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVFUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGthbmFfVFU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGthbmFfVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfV0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGthbmFfV0E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1dPIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBrYW5hX1dPOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9ZQSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQga2FuYV9ZQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfWU8iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfWU87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1lVIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBrYW5hX1lVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9hIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBrYW5hX2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2Nsb3NpbmdicmFja2V0IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBrYW5hX2Nsb3NpbmdicmFja2V0OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2Fu YV9jb21tYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9jb21tYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2thbmFfY29uanVuY3RpdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfY29uanVu Y3RpdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGth bmFfZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfZnVsbHN0b3AiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfZnVsbHN0b3A7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2kiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfbWlkZGxlZG90IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBrYW5hX21pZGRsZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfbyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9vOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9vcGVu aW5nYnJhY2tldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9vcGVuaW5nYnJhY2tldDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2thbmFfc3dpdGNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5h X3N3aXRjaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfdHN1IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBrYW5hX3RzdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfdHUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfdHU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfeWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfeWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX3lvIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBrYW5hX3lvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV95dSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQga2FuYV95dTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thcHBhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBrYXBwYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2tjZWRpbGxhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBrY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2tyYSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQga3JhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2xhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGFjdXRlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfbGF0aW5jcm9zcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGF0aW5jcm9z czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2xiZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGJl bG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBs Y2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sY2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg bGNlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0YW5nbGVicmFja2V0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBsZWZ0YW5nbGVicmFja2V0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdGFycm93Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0YXJyb3c7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0Y2Fy ZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRjYXJldDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xl ZnRkb3VibGVxdW90ZW1hcmsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRkb3VibGVxdW90 ZW1hcms7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0bWlkZGxlY3VybHlicmFjZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgbGVmdG1pZGRsZWN1cmx5YnJhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0b3Bl bnRyaWFuZ2xlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0b3BlbnRyaWFuZ2xlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfbGVmdHBvaW50ZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRwb2lu dGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHJhZGljYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGxlZnRyYWRpY2FsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHNob2UiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGxlZnRzaG9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGVmdHNpbmdsZXF1b3RlbWFyayIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgbGVmdHNpbmdsZXF1b3RlbWFyazsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2xlZnR0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0dDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xl ZnR0YWNrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0dGFjazsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2xlc3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlc3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZXNz dGhhbmVxdWFsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsZXNzdGhhbmVxdWFsOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfbGYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxmOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf bG9naWNhbGFuZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbG9naWNhbGFuZDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2xvZ2ljYWxvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbG9naWNhbG9yOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfbG93bGVmdGNvcm5lciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbG93bGVm dGNvcm5lcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xvd3JpZ2h0Y29ybmVyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBsb3dyaWdodGNvcm5lcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xzdHJva2UiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGxzdHJva2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbWFib3ZlZG90IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBtYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tYWNyb24iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IG1hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX21hbGVzeW1ib2wiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IG1hbGVzeW1ib2w7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tYWx0ZXNlY3Jvc3MiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IG1hbHRlc2Vjcm9zczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX21hcmtl ciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbWFya2VyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbWFzY3Vs aW5lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBtYXNjdWxpbmU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9t aW51cyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbWludXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9taW51 dGVzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBtaW51dGVzOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbXUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG11OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbXVsdGlwbHkiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IG11bHRpcGx5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbXVzaWNhbGZs YXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG11c2ljYWxmbGF0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf bXVzaWNhbHNoYXJwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBtdXNpY2Fsc2hhcnA7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBuOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf bmFibGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5hYmxhOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbmFj dXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBuYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9uY2Fy b24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5jYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX25jZWRp bGxhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBuY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX25p bmVzdWJzY3JpcHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5pbmVzdWJzY3JpcHQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9uaW5lc3VwZXJpb3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5pbmVzdXBl cmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX25sIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBubDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX25vYnJlYWtzcGFjZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbm9icmVh a3NwYWNlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbm90YXBwcm94ZXEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IG5vdGFwcHJveGVxOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbm90ZWxlbWVudG9mIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBub3RlbGVtZW50b2Y7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ub3RlcXVhbCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgbm90ZXF1YWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ub3RpZGVudGlj YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5vdGlkZW50aWNhbDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X25vdHNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5vdHNpZ247Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9udGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG50aWxkZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X251bWJlcnNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG51bWJlcnNpZ247Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9udW1lcm9zaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBudW1lcm9zaWduOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfbyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX29hY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2FjdXRlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfb2JhcnJlZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2JhcnJlZDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX29iZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2JlbG93ZG90OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfb2Nhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvY2Fyb247Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9vY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2NpcmN1bWZsZXg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9vY2lyY3VtZmxleGFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBvY2lyY3VtZmxleGFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb2NpcmN1bWZsZXhiZWxvd2RvdCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2NpcmN1bWZsZXhiZWxvd2RvdDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX29jaXJjdW1mbGV4Z3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9jaXJjdW1mbGV4 Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vY2lyY3VtZmxleGhvb2siKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IG9jaXJjdW1mbGV4aG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29jaXJjdW1mbGV4dGlsZGUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9jaXJjdW1mbGV4dGlsZGU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9vZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvZGlhZXJlc2lzOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfb2RvdWJsZWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvZG91YmxlYWN1 dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9vZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2U7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9vZ29uZWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9nb25lazsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX29ncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2dyYXZlOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfb2hvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9ob29rOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfb2hvcm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9ob3JuOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfb2hvcm5hY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2hvcm5hY3V0ZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX29ob3JuYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9ob3JuYmVs b3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vaG9ybmdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBvaG9ybmdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb2hvcm5ob29rIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBvaG9ybmhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vaG9ybnRpbGRlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBvaG9ybnRpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb21hY3JvbiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgb21hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29uZWVpZ2h0aCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgb25lZWlnaHRoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb25lZmlmdGgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9uZWZpZnRoOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb25laGFs ZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb25laGFsZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29uZXF1 YXJ0ZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9uZXF1YXJ0ZXI7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9vbmVzaXh0aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb25lc2l4dGg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9vbmVzdWJzY3JpcHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9uZXN1YnNjcmlwdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX29uZXN1cGVyaW9yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvbmVz dXBlcmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29uZXRoaXJkIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBvbmV0aGlyZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29vYmxpcXVlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBvb2JsaXF1ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29wZW5yZWN0YnVsbGV0IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBvcGVucmVjdGJ1bGxldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29wZW5zdGFyIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBvcGVuc3RhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29wZW50cmli dWxsZXRkb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvcGVudHJpYnVsbGV0ZG93bjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX29wZW50cmlidWxsZXR1cCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb3Bl bnRyaWJ1bGxldHVwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3JkZmVtaW5pbmUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IG9yZGZlbWluaW5lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3NsYXNoIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBvc2xhc2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vdGlsZGUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IG90aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX292ZXJiYXIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IG92ZXJiYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vdmVybGluZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgb3ZlcmxpbmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGFib3ZlZG90IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBwYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wYXJhZ3JhcGgiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IHBhcmFncmFwaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BhcmVubGVmdCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgcGFyZW5sZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGFyZW5yaWdodCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgcGFyZW5yaWdodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BhcnRk aWZmZXJlbnRpYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHBhcnRkaWZmZXJlbnRpYWw7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9wYXJ0aWFsZGVyaXZhdGl2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg cGFydGlhbGRlcml2YXRpdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wZXJjZW50IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBwZXJjZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGVyaW9kIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBwZXJpb2Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wZXJpb2RjZW50ZXJlZCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgcGVyaW9kY2VudGVyZWQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wZXJtaWxs ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcGVybWlsbGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9waG9u b2dyYXBoY29weXJpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBwaG9ub2dyYXBoY29weXJp Z2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfcGx1cyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcGx1czsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3BsdXNtaW51cyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcGx1c21p bnVzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfcHJlc2NyaXB0aW9uIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBwcmVzY3JpcHRpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wcm9sb25nZWRzb3VuZCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgcHJvbG9uZ2Vkc291bmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wdW5jdHNwYWNl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBwdW5jdHNwYWNlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgcTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3F1YWQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IHF1YWQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9xdWVzdGlvbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgcXVlc3Rpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9xdWVzdGlvbmRvd24iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHF1ZXN0aW9uZG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3F1b3Rl ZGJsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBxdW90ZWRibDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3F1 b3RlbGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcXVvdGVsZWZ0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfcXVvdGVyaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcXVvdGVyaWdodDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHI7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9y YWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Jh ZGljYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJhZGljYWw7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9y Y2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Jj ZWRpbGxhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCByY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3JlZ2lzdGVyZWQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJlZ2lzdGVyZWQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9yaWdodGFuZ2xlYnJhY2tldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmlnaHRh bmdsZWJyYWNrZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodGFycm93IildCi0rCQlwdWJsaWMgY29u c3QgdWludCByaWdodGFycm93OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRjYXJldCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgcmlnaHRjYXJldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0ZG91YmxlcXVv dGVtYXJrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCByaWdodGRvdWJsZXF1b3RlbWFyazsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3JpZ2h0bWlkZGxlY3VybHlicmFjZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgcmlnaHRtaWRkbGVjdXJseWJyYWNlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRtaWRkbGVzdW1t YXRpb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0bWlkZGxlc3VtbWF0aW9uOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfcmlnaHRvcGVudHJpYW5nbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJp Z2h0b3BlbnRyaWFuZ2xlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRwb2ludGVyIildCi0rCQlwdWJs aWMgY29uc3QgdWludCByaWdodHBvaW50ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodHNob2UiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0c2hvZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0c2lu Z2xlcXVvdGVtYXJrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCByaWdodHNpbmdsZXF1b3RlbWFy azsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmlnaHR0 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHR0YWNrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCByaWdo dHRhY2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfc2Fib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzYWJvdmVkb3Q7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9zYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNhY3V0ZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3NjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2Nhcm9uOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfc2NlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNjZWRpbGxh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfc2Nod2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNjaHdhOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfc2NpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNjaXJj dW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2NyaXB0X3N3aXRjaCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgc2NyaXB0X3N3aXRjaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NlY29uZHMiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IHNlY29uZHM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zZWN0aW9uIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBzZWN0aW9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2VtaWNvbG9uIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBzZW1pY29sb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zZW1pdm9pY2Vkc291 bmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNlbWl2b2ljZWRzb3VuZDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3NldmVuZWlnaHRocyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2V2ZW5laWdodGhzOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfc2V2ZW5zdWJzY3JpcHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNl dmVuc3Vic2NyaXB0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2V2ZW5zdXBlcmlvciIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgc2V2ZW5zdXBlcmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NpZ25hdHVyZW1hcmsi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNpZ25hdHVyZW1hcms7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9z aWduaWZibGFuayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2lnbmlmYmxhbms7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9zaW1pbGFyZXF1YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNpbWlsYXJlcXVh bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3NpbmdsZWxvd3F1b3RlbWFyayIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgc2luZ2xlbG93cXVvdGVtYXJrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2l4c3Vic2NyaXB0Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBzaXhzdWJzY3JpcHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zaXhz dXBlcmlvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2l4c3VwZXJpb3I7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9zbGFzaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2xhc2g7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9zb2xpZGRpYW1vbmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNvbGlkZGlhbW9uZDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3NwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzcGFjZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3NxdWFyZXJvb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNxdWFyZXJvb3Q7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9zc2hhcnAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNzaGFycDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3N0ZXJsaW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzdGVybGlu ZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3N0cmljdGVxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzdHJp Y3RlcTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV90YWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRhYm92ZWRvdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3RjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGNhcm9uOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfdGNlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRjZWRpbGxh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfdGVsZXBob25lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0ZWxl cGhvbmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90ZWxlcGhvbmVyZWNvcmRlciIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgdGVsZXBob25lcmVjb3JkZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90aGVyZWZvcmUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHRoZXJlZm9yZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RoaW5zcGFj ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGhpbnNwYWNlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhv cm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRob3JuOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhyZWVl aWdodGhzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0aHJlZWVpZ2h0aHM7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV90aHJlZWZpZnRocyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGhyZWVmaWZ0aHM7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV90aHJlZXF1YXJ0ZXJzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0aHJl ZXF1YXJ0ZXJzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhyZWVzdWJzY3JpcHQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IHRocmVlc3Vic2NyaXB0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhyZWVzdXBlcmlvciIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGhyZWVzdXBlcmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Rp bnRlZ3JhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGludGVncmFsOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfdG9waW50ZWdyYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRvcGludGVncmFsOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfdG9wbGVmdHBhcmVucyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdG9wbGVm dHBhcmVuczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RvcGxlZnRyYWRpY2FsIildCi0rCQlwdWJsaWMgY29u c3QgdWludCB0b3BsZWZ0cmFkaWNhbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RvcGxlZnRzcWJyYWNrZXQi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRvcGxlZnRzcWJyYWNrZXQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV90b3BsZWZ0c3VtbWF0aW9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0b3BsZWZ0c3VtbWF0 aW9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wcmlnaHRwYXJlbnMiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IHRvcHJpZ2h0cGFyZW5zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wcmlnaHRzcWJyYWNrZXQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHRvcHJpZ2h0c3FicmFja2V0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf dG9wcmlnaHRzdW1tYXRpb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRvcHJpZ2h0c3VtbWF0 aW9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdG9wdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3RvcHZlcnRzdW1tYXRpb25jb25uZWN0b3IiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IHRvcHZlcnRzdW1tYXRpb25jb25uZWN0b3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90cmFk ZW1hcmsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRyYWRlbWFyazsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3RyYWRlbWFya2luY2lyY2xlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0cmFkZW1hcmtpbmNp cmNsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3RzbGFzaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdHNs YXNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdHdvZmlmdGhzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0 d29maWZ0aHM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90d29zdWJzY3JpcHQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IHR3b3N1YnNjcmlwdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3R3b3N1cGVyaW9yIildCi0rCQlw dWJsaWMgY29uc3QgdWludCB0d29zdXBlcmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3R3b3RoaXJkcyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgdHdvdGhpcmRzOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VhY3V0ZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgdWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdWJlbG93ZG90IildCi0rCQlw dWJsaWMgY29uc3QgdWludCB1YmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91YnJldmUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IHVicmV2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VjaXJjdW1mbGV4Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCB1Y2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VkaWFl cmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV91ZG91YmxlYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVkb3VibGVhY3V0ZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3VncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWdyYXZlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfdWhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVob29rOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfdWhvcm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVob3JuOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfdWhvcm5hY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWhvcm5hY3V0ZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3Vob3JuYmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVob3Ju YmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91aG9ybmdyYXZlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCB1aG9ybmdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdWhvcm5ob29rIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCB1aG9ybmhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91aG9ybnRpbGRlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCB1aG9ybnRpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdW1hY3JvbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgdW1hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VuZGVyYmFyIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCB1bmRlcmJhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VuZGVyc2Nv cmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVuZGVyc2NvcmU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91 bmlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdW5pb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91b2dv bmVrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1b2dvbmVrOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdXBh cnJvdyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdXBhcnJvdzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Vw Y2FyZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVwY2FyZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91 cGxlZnRjb3JuZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVwbGVmdGNvcm5lcjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3VwcmlnaHRjb3JuZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVwcmlnaHRj b3JuZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91cHNob2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVw c2hvZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3Vwc3RpbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVw c3RpbGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91cHRhY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVw dGFjazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3VyaW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1cmlu ZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3V0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdXRpbGRl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfdiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3ZhcmlhdGlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdmFyaWF0aW9uOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfdmVydGJhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdmVydGJhcjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3ZlcnRjb25uZWN0b3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHZlcnRj b25uZWN0b3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV92b2ljZWRzb3VuZCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgdm9pY2Vkc291bmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV92dCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgdnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV93IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB3Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfd2FjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB3YWN1dGU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV93Y2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgd2NpcmN1 bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV93ZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCB3ZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfd2dyYXZlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCB3Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV94IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB4 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfeGFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB4YWJv dmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV95IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB5OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfeWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB5YWN1dGU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV95YmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHliZWxvd2RvdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3ljaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB5Y2ly Y3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3lkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IHlkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV95ZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IHllbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3lncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg eWdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfeWhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHlo b29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfeXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB5dGls ZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV96IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB6OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfemFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB6YWJvdmVkb3Q7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV96YWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHphY3V0ZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3pjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgemNhcm9uOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfemVyb3N1YnNjcmlwdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgemVyb3N1 YnNjcmlwdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3plcm9zdXBlcmlvciIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgemVyb3N1cGVyaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfenN0cm9rZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgenN0cm9rZTsKLSsJfQotKwluYW1lc3BhY2UgVGhyZWFkcyB7Ci0rCQluYW1l c3BhY2UgSWRsZSB7Ci0rCQkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiY2x1dHRlcl90aHJlYWRzX2FkZF9pZGxlIildCi0rCQkJW1ZlcnNp b24gKHNpbmNlID0gIjAuNCIpXQotKwkJCXB1YmxpYyBzdGF0aWMgdWludCBhZGQgKEdMaWIuU291 cmNlRnVuYyBmdW5jKTsKLSsJCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGVfZnVsbCIpXQotKwkJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCQlwdWJsaWMgc3RhdGljIHVpbnQgYWRkX2Z1 bGwgKGludCBwcmlvcml0eSwgb3duZWQgR0xpYi5Tb3VyY2VGdW5jIGZ1bmMpOwotKwkJfQotKwkJ bmFtZXNwYWNlIFRpbWVvdXQgewotKwkJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gImNsdXR0ZXJfdGhyZWFkc19hZGRfdGltZW91dCIpXQot KwkJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCQlwdWJsaWMgc3RhdGljIHVpbnQgYWRk ICh1aW50IGludGVydmFsLCBHTGliLlNvdXJjZUZ1bmMgZnVuYyk7Ci0rCQkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiY2x1dHRlcl90aHJl YWRzX2FkZF90aW1lb3V0X2Z1bGwiKV0KLSsJCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0r CQkJcHVibGljIHN0YXRpYyB1aW50IGFkZF9mdWxsIChpbnQgcHJpb3JpdHksIHVpbnQgaW50ZXJ2 YWwsIG93bmVkIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKLSsJCX0KLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMCIpXQotKwkJcHVibGljIHN0YXRpYyB1aW50IGFkZF9yZXBhaW50X2Z1bmMgKG93bmVkIEdM aWIuU291cmNlRnVuYyBmdW5jKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1Ymxp YyBzdGF0aWMgdWludCBhZGRfcmVwYWludF9mdW5jX2Z1bGwgKENsdXR0ZXIuUmVwYWludEZsYWdz IGZsYWdzLCBvd25lZCBHTGliLlNvdXJjZUZ1bmMgZnVuYyk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjAiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCByZW1vdmVfcmVwYWludF9mdW5jICh1aW50IGhh bmRsZV9pZCk7Ci0rCX0KLSsJbmFtZXNwYWNlIFZhbHVlIHsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5QYWludE5vZGUgZHVwX3BhaW50X25vZGUg KEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMg c3RhdGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gZ2V0X2NvbG9yIChHTGliLlZhbHVlIHZhbHVl KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBD bHV0dGVyLlBhaW50Tm9kZSBnZXRfcGFpbnRfbm9kZSAoR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlb Q0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0gImdzaXpl IiwgY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIGZsb2F0W10gZ2V0X3No YWRlcl9mbG9hdCAoR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbQ0NvZGUgKGFycmF5X2xlbmd0aF9w b3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0gImdzaXplIiwgY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJ cHVibGljIHN0YXRpYyB1bm93bmVkIGludFtdIGdldF9zaGFkZXJfaW50IChHTGliLlZhbHVlIHZh bHVlKTsKLSsJCVtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDEuMSwgYXJyYXlfbGVuZ3RoX3R5 cGUgPSAiZ3NpemUiLCBjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgZmxv YXRbXSBnZXRfc2hhZGVyX21hdHJpeCAoR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLlVuaXRzPyBnZXRf dW5pdHMgKEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlw dWJsaWMgc3RhdGljIHZvaWQgc2V0X2NvbG9yIChHTGliLlZhbHVlIHZhbHVlLCBDbHV0dGVyLkNv bG9yIGNvbG9yKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBzdGF0aWMg dm9pZCBzZXRfcGFpbnRfbm9kZSAoR0xpYi5WYWx1ZSB2YWx1ZSwgQ2x1dHRlci5QYWludE5vZGU/ IG5vZGUpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQg c2V0X3NoYWRlcl9mbG9hdCAoR0xpYi5WYWx1ZSB2YWx1ZSwgW0NDb2RlIChhcnJheV9sZW5ndGhf Y25hbWUgPSAic2l6ZSIsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjUpXSBmbG9hdFtdIGZsb2F0cyk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBzZXRfc2hh ZGVyX2ludCAoR0xpYi5WYWx1ZSB2YWx1ZSwgW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAi c2l6ZSIsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjUpXSBpbnRbXSBpbnRzKTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHNldF9zaGFkZXJfbWF0cml4IChH TGliLlZhbHVlIHZhbHVlLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFtZSA9ICJzaXplIiwgYXJy YXlfbGVuZ3RoX3BvcyA9IDEuNSldIGZsb2F0W10gbWF0cml4KTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHNldF91bml0cyAoR0xpYi5WYWx1ZSB2YWx1 ZSwgQ2x1dHRlci5Vbml0cyB1bml0cyk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgc3RhdGljIHZvaWQgdGFrZV9wYWludF9ub2RlIChHTGliLlZhbHVlIHZhbHVlLCBDbHV0 dGVyLlBhaW50Tm9kZT8gbm9kZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2FjdGlvbl9nZXRfdHlwZSAo KSIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQWN0aW9uIDogQ2x1dHRlci5BY3Rvck1ldGEg ewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVj dGVkIEFjdGlvbiAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYWN0b3JfZ2V0X3R5cGUgKCkiKV0KLSsJ cHVibGljIGNsYXNzIEFjdG9yIDogR0xpYi5Jbml0aWFsbHlVbm93bmVkLCBBdGsuSW1wbGVtZW50 b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0 YWJsZSB7Ci0rCQlwdWJsaWMgdWludDMyIGZsYWdzOwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBBY3RvciAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2 b2lkIGFkZF9hY3Rpb24gKENsdXR0ZXIuQWN0aW9uIGFjdGlvbik7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBhZGRfYWN0aW9uX3dpdGhfbmFtZSAoc3RyaW5n IG5hbWUsIENsdXR0ZXIuQWN0aW9uIGFjdGlvbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQotKwkJcHVibGljIHZvaWQgYWRkX2NoaWxkIChDbHV0dGVyLkFjdG9yIGNoaWxkKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9jb25zdHJhaW50 IChDbHV0dGVyLkNvbnN0cmFpbnQgY29uc3RyYWludCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS40IildCi0rCQlwdWJsaWMgdm9pZCBhZGRfY29uc3RyYWludF93aXRoX25hbWUgKHN0cmluZyBu YW1lLCBDbHV0dGVyLkNvbnN0cmFpbnQgY29uc3RyYWludCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBhZGRfZWZmZWN0IChDbHV0dGVyLkVmZmVjdCBlZmZl Y3QpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgYWRkX2Vm ZmVjdF93aXRoX25hbWUgKHN0cmluZyBuYW1lLCBDbHV0dGVyLkVmZmVjdCBlZmZlY3QpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF90cmFuc2l0aW9u IChzdHJpbmcgbmFtZSwgQ2x1dHRlci5UcmFuc2l0aW9uIHRyYW5zaXRpb24pOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBhbGxvY2F0ZSAoQ2x1 dHRlci5BY3RvckJveCBib3gpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVi bGljIHZvaWQgYWxsb2NhdGVfYWxpZ25fZmlsbCAoQ2x1dHRlci5BY3RvckJveCBib3gsIGRvdWJs ZSB4X2FsaWduLCBkb3VibGUgeV9hbGlnbiwgYm9vbCB4X2ZpbGwsIGJvb2wgeV9maWxsKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lkIGFsbG9jYXRlX2F2YWls YWJsZV9zaXplIChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCBhdmFpbGFibGVfd2lkdGgsIGZsb2F0 IGF2YWlsYWJsZV9oZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVi bGljIHZvaWQgYWxsb2NhdGVfcHJlZmVycmVkX3NpemUgKGZsb2F0IHgsIGZsb2F0IHkpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0QgYXBw bHlfcmVsYXRpdmVfdHJhbnNmb3JtX3RvX3BvaW50IChDbHV0dGVyLkFjdG9yPyBhbmNlc3Rvciwg R3JhcGhlbmUuUG9pbnQzRCBwb2ludCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1 YWwgdm9pZCBhcHBseV90cmFuc2Zvcm0gKHJlZiBHcmFwaGVuZS5NYXRyaXggbWF0cml4KTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludDNEIGFw cGx5X3RyYW5zZm9ybV90b19wb2ludCAoR3JhcGhlbmUuUG9pbnQzRCBwb2ludCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4yNCIpXQotKwkJcHVibGljIHZvaWQgYmluZF9tb2RlbCAoR0xpYi5M aXN0TW9kZWw/IG1vZGVsLCBvd25lZCBDbHV0dGVyLkFjdG9yQ3JlYXRlQ2hpbGRGdW5jIGNyZWF0 ZV9jaGlsZF9mdW5jKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCBmbG9hdCBj YWxjdWxhdGVfcmVzb3VyY2Vfc2NhbGUgKGludCBwaGFzZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBjbGVhcl9hY3Rpb25zICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgY2xlYXJfY29uc3RyYWludHMgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBjbGVhcl9lZmZlY3Rz ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIGJvb2wgY29udGFp bnMgKENsdXR0ZXIuQWN0b3IgZGVzY2VuZGFudCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44 IildCi0rCQlwdWJsaWMgdm9pZCBjb250aW51ZV9wYWludCAoQ2x1dHRlci5QYWludENvbnRleHQg cGFpbnRfY29udGV4dCk7Ci0rCQlwdWJsaWMgdm9pZCBjb250aW51ZV9waWNrIChDbHV0dGVyLlBp Y2tDb250ZXh0IHBpY2tfY29udGV4dCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0r CQlwdWJsaWMgUGFuZ28uQ29udGV4dCBjcmVhdGVfcGFuZ29fY29udGV4dCAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBQYW5nby5MYXlvdXQgY3JlYXRlX3Bhbmdv X2xheW91dCAoc3RyaW5nPyB0ZXh0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CQlwdWJsaWMgdm9pZCBkZXN0cm95X2FsbF9jaGlsZHJlbiAoKTsKLSsJCVtDQ29kZSAoY25hbWUg PSAiY2x1dHRlcl9hY3Rvcl9ldmVudCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQot KwkJcHVibGljIGJvb2wgZW1pdF9ldmVudCAoQ2x1dHRlci5FdmVudCBldmVudCwgYm9vbCBjYXB0 dXJlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9h YnNfYWxsb2NhdGlvbl92ZXJ0aWNlcyAoW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIEdy YXBoZW5lLlBvaW50M0QgdmVydHNbNF0pOwotKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBBdGsu T2JqZWN0IGdldF9hY2Nlc3NpYmxlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQot KwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3Rpb24gZ2V0X2FjdGlvbiAoc3RyaW5nIG5hbWUp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIEdMaWIuTGlzdDx3ZWFr IENsdXR0ZXIuQWN0aW9uPiBnZXRfYWN0aW9ucyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIw LjgiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94IGdldF9hbGxvY2F0aW9uX2JveCAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBn ZXRfYmFja2dyb3VuZF9jb2xvciAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9jaGlsZF9hdF9pbmRleCAoaW50IGlu ZGV4Xyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIEdyYXBoZW5l Lk1hdHJpeCBnZXRfY2hpbGRfdHJhbnNmb3JtICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLkFjdG9yPiBnZXRfY2hpbGRy ZW4gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdm9pZCBnZXRf Y2xpcCAob3V0IGZsb2F0IHhvZmYsIG91dCBmbG9hdCB5b2ZmLCBvdXQgZmxvYXQgd2lkdGgsIG91 dCBmbG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGlj IGJvb2wgZ2V0X2NsaXBfdG9fYWxsb2NhdGlvbiAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjQiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQ29uc3RyYWludCBnZXRfY29uc3RyYWlu dCAoc3RyaW5nIG5hbWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGlj IEdMaWIuTGlzdDx3ZWFrIENsdXR0ZXIuQ29uc3RyYWludD4gZ2V0X2NvbnN0cmFpbnRzICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIu Q29udGVudCBnZXRfY29udGVudCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CQlwdWJsaWMgQ2x1dHRlci5BY3RvckJveCBnZXRfY29udGVudF9ib3ggKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIENsdXR0ZXIuQ29udGVudEdyYXZpdHkgZ2V0 X2NvbnRlbnRfZ3Jhdml0eSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlw dWJsaWMgQ2x1dHRlci5Db250ZW50UmVwZWF0IGdldF9jb250ZW50X3JlcGVhdCAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBnZXRfY29udGVudF9zY2Fs aW5nX2ZpbHRlcnMgKG91dCBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWluX2ZpbHRlciwgb3V0IENs dXR0ZXIuU2NhbGluZ0ZpbHRlciBtYWdfZmlsdGVyKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlBhaW50Vm9sdW1lPyBnZXRfZGVmYXVs dF9wYWludF92b2x1bWUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVi bGljIHVpbnQgZ2V0X2Vhc2luZ19kZWxheSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCQlwdWJsaWMgdWludCBnZXRfZWFzaW5nX2R1cmF0aW9uICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFuaW1hdGlvbk1vZGUgZ2V0X2Vh c2luZ19tb2RlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHVu b3duZWQgQ2x1dHRlci5FZmZlY3QgZ2V0X2VmZmVjdCAoc3RyaW5nIG5hbWUpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIEdMaWIuTGlzdDx3ZWFrIENsdXR0ZXIuRWZm ZWN0PiBnZXRfZWZmZWN0cyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9maXJzdF9jaGlsZCAoKTsKLSsJCXB1Ymxp YyBib29sIGdldF9maXhlZF9wb3NpdGlvbiAob3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5KTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBib29sIGdldF9maXhlZF9wb3Np dGlvbl9zZXQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgQ2x1 dHRlci5BY3RvckZsYWdzIGdldF9mbGFncyAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRl cl9hY3Rvcl9oYXNfcG9pbnRlciIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJ cHVibGljIGJvb2wgZ2V0X2hhc19wb2ludGVyICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9oZWln aHQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVub3duZWQg Q2x1dHRlci5BY3RvciBnZXRfbGFzdF9jaGlsZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkxheW91dE1hbmFnZXIgZ2V0X2xheW91 dF9tYW5hZ2VyICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBD bHV0dGVyLk1hcmdpbiBnZXRfbWFyZ2luICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfbWFyZ2luX2JvdHRvbSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X21hcmdpbl9sZWZ0ICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfbWFyZ2luX3Jp Z2h0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBmbG9hdCBn ZXRfbWFyZ2luX3RvcCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgaW50IGdldF9uX2NoaWxkcmVuICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9u YW1lICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVk IENsdXR0ZXIuQWN0b3IgZ2V0X25leHRfc2libGluZyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjgiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLk9mZnNjcmVlblJlZGlyZWN0IGdldF9vZmZzY3Jl ZW5fcmVkaXJlY3QgKCk7Ci0rCQlwdWJsaWMgdWludDggZ2V0X29wYWNpdHkgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4yMiIpXQotKwkJcHVibGljIGludCBnZXRfb3BhY2l0eV9vdmVycmlk ZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBib29sIGdldF9w YWludF9ib3ggKG91dCBDbHV0dGVyLkFjdG9yQm94IGJveCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCi0rCQlwdWJsaWMgdWludDggZ2V0X3BhaW50X29wYWNpdHkgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgYm9vbCBnZXRfcGFpbnRfdmlzaWJpbGl0 eSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENs dXR0ZXIuUGFpbnRWb2x1bWU/IGdldF9wYWludF92b2x1bWUgKCk7Ci0rCQlbQ0NvZGUgKHZmdW5j X25hbWUgPSAiZ2V0X3BhaW50X3ZvbHVtZSIpXQotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2 aXJ0dWFsIGJvb2wgZ2V0X3BhaW50X3ZvbHVtZV92ZnVuYyAob3V0IENsdXR0ZXIuUGFpbnRWb2x1 bWUgdm9sdW1lKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB1bm93 bmVkIFBhbmdvLkNvbnRleHQgZ2V0X3BhbmdvX2NvbnRleHQgKCk7Ci0rCQlwdWJsaWMgdW5vd25l ZCBDbHV0dGVyLkFjdG9yPyBnZXRfcGFyZW50ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTIiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9waXZvdF9wb2ludCAob3V0IGZsb2F0IHBpdm90X3gs IG91dCBmbG9hdCBwaXZvdF95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlw dWJsaWMgZmxvYXQgZ2V0X3Bpdm90X3BvaW50X3ogKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MC42IildCi0rCQlwdWJsaWMgdm9pZCBnZXRfcG9zaXRpb24gKG91dCBmbG9hdCB4LCBvdXQgZmxv YXQgeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCB2 b2lkIGdldF9wcmVmZXJyZWRfaGVpZ2h0IChmbG9hdCBmb3Jfd2lkdGgsIG91dCBmbG9hdCBtaW5f aGVpZ2h0X3AsIG91dCBmbG9hdCBuYXR1cmFsX2hlaWdodF9wKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9wcmVmZXJyZWRfc2l6ZSAob3V0IGZsb2F0 IG1pbl93aWR0aF9wLCBvdXQgZmxvYXQgbWluX2hlaWdodF9wLCBvdXQgZmxvYXQgbmF0dXJhbF93 aWR0aF9wLCBvdXQgZmxvYXQgbmF0dXJhbF9oZWlnaHRfcCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGdldF9wcmVmZXJyZWRfd2lkdGggKGZs b2F0IGZvcl9oZWlnaHQsIG91dCBmbG9hdCBtaW5fd2lkdGhfcCwgb3V0IGZsb2F0IG5hdHVyYWxf d2lkdGhfcCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVub3du ZWQgQ2x1dHRlci5BY3RvciBnZXRfcHJldmlvdXNfc2libGluZyAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyBib29sIGdldF9yZWFjdGl2ZSAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLlJlcXVlc3RNb2RlIGdldF9y ZXF1ZXN0X21vZGUgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3Jlc291cmNlX3NjYWxlICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBkb3VibGUgZ2V0X3JvdGF0 aW9uX2FuZ2xlIChDbHV0dGVyLlJvdGF0ZUF4aXMgYXhpcyk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC4yIildCi0rCQlwdWJsaWMgdm9pZCBnZXRfc2NhbGUgKG91dCBkb3VibGUgc2NhbGVfeCwg b3V0IGRvdWJsZSBzY2FsZV95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlw dWJsaWMgZG91YmxlIGdldF9zY2FsZV96ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIp XQotKwkJcHVibGljIHZvaWQgZ2V0X3NpemUgKG91dCBmbG9hdCB3aWR0aCwgb3V0IGZsb2F0IGhl aWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdW5vd25lZCBD bHV0dGVyLlN0YWdlIGdldF9zdGFnZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0K LSsJCXB1YmxpYyBDbHV0dGVyLlRleHREaXJlY3Rpb24gZ2V0X3RleHRfZGlyZWN0aW9uICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBHcmFwaGVuZS5NYXRyaXgg Z2V0X3RyYW5zZm9ybSAoKTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5SZWN0IGdldF90cmFuc2Zvcm1l ZF9leHRlbnRzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHVu b3duZWQgQ2x1dHRlci5QYWludFZvbHVtZT8gZ2V0X3RyYW5zZm9ybWVkX3BhaW50X3ZvbHVtZSAo Q2x1dHRlci5BY3RvciByZWxhdGl2ZV90b19hbmNlc3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCi0rCQlwdWJsaWMgdm9pZCBnZXRfdHJhbnNmb3JtZWRfcG9zaXRpb24gKG91dCBm bG9hdCB4LCBvdXQgZmxvYXQgeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlw dWJsaWMgdm9pZCBnZXRfdHJhbnNmb3JtZWRfc2l6ZSAob3V0IGZsb2F0IHdpZHRoLCBvdXQgZmxv YXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLlRyYW5zaXRpb24gZ2V0X3RyYW5zaXRpb24gKHN0cmluZyBuYW1lKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdm9pZCBnZXRfdHJhbnNsYXRp b24gKG91dCBmbG9hdCB0cmFuc2xhdGVfeCwgb3V0IGZsb2F0IHRyYW5zbGF0ZV95LCBvdXQgZmxv YXQgdHJhbnNsYXRlX3opOwotKwkJcHVibGljIGZsb2F0IGdldF93aWR0aCAoKTsKLSsJCXB1Ymxp YyBmbG9hdCBnZXRfeCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgQ2x1dHRlci5BY3RvckFsaWduIGdldF94X2FsaWduICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIGdldF94X2V4cGFuZCAoKTsKLSsJCXB1YmxpYyBm bG9hdCBnZXRfeSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMg Q2x1dHRlci5BY3RvckFsaWduIGdldF95X2FsaWduICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIGdldF95X2V4cGFuZCAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X3pfcG9zaXRpb24gKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdm9pZCBncmFiX2tleV9mb2N1cyAo KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgaGFzX2FjY2Vzc2libGUgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGJvb2wgaGFzX2FjdGlvbnMgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgYm9vbCBoYXNfYWxsb2NhdGlvbiAo KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgYm9vbCBoYXNfY29u c3RyYWludHMgKCk7Ci0rCQlwdWJsaWMgYm9vbCBoYXNfZGFtYWdlICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBib29sIGhhc19lZmZlY3RzICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIGJvb2wgaGFzX2tleV9mb2N1cyAoKTsK LSsJCXB1YmxpYyBib29sIGhhc19tYXBwZWRfY2xvbmVzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuOCIpXQotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBoYXNfb3ZlcmxhcHMgKCk7Ci0rCQlb Tm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBoaWRlX2FsbCAoKTsKLSsJCXB1Ymxp YyB2b2lkIGluaGliaXRfY3VsbGluZyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCQlwdWJsaWMgdm9pZCBpbnNlcnRfY2hpbGRfYWJvdmUgKENsdXR0ZXIuQWN0b3IgY2hpbGQs IENsdXR0ZXIuQWN0b3I/IHNpYmxpbmcpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyB2b2lkIGluc2VydF9jaGlsZF9hdF9pbmRleCAoQ2x1dHRlci5BY3RvciBjaGls ZCwgaW50IGluZGV4Xyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGlj IHZvaWQgaW5zZXJ0X2NoaWxkX2JlbG93IChDbHV0dGVyLkFjdG9yIGNoaWxkLCBDbHV0dGVyLkFj dG9yPyBzaWJsaW5nKTsKLSsJCXB1YmxpYyB2b2lkIGludmFsaWRhdGVfdHJhbnNmb3JtICgpOwot KwkJcHVibGljIGJvb2wgaXNfZWZmZWN0aXZlbHlfb25fc3RhZ2VfdmlldyAoQ2x1dHRlci5TdGFn ZVZpZXcgdmlldyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgYm9v bCBpc19pbl9jbG9uZV9wYWludCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI0IildCi0r CQlwdWJsaWMgYm9vbCBpc19tYXBwZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yNCIp XQotKwkJcHVibGljIGJvb2wgaXNfcmVhbGl6ZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MC42IildCi0rCQlwdWJsaWMgYm9vbCBpc19yb3RhdGVkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjAuNiIpXQotKwkJcHVibGljIGJvb2wgaXNfc2NhbGVkICgpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMjQiKV0KLSsJCXB1YmxpYyBib29sIGlzX3Zpc2libGUgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIG1hcCAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyB2b2lkIG1vdmVfYnkgKGZsb2F0IGR4 LCBmbG9hdCBkeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJv b2wgbmVlZHNfZXhwYW5kIChDbHV0dGVyLk9yaWVudGF0aW9uIG9yaWVudGF0aW9uKTsKLSsJCXB1 YmxpYyB2aXJ0dWFsIHZvaWQgcGFpbnQgKENsdXR0ZXIuUGFpbnRDb250ZXh0IHBhaW50X2NvbnRl eHQpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgcGFpbnRfbm9kZSAo Q2x1dHRlci5QYWludE5vZGUgcm9vdCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBHTGliLkxpc3Q8Q2x1 dHRlci5TdGFnZVZpZXc+IHBlZWtfc3RhZ2Vfdmlld3MgKCk7Ci0rCQlwdWJsaWMgdm9pZCBwaWNr X2JveCAoQ2x1dHRlci5QaWNrQ29udGV4dCBwaWNrX2NvbnRleHQsIENsdXR0ZXIuQWN0b3JCb3gg Ym94KTsKLSsJCXB1YmxpYyB2b2lkIHF1ZXVlX3JlZHJhdyAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBxdWV1ZV9yZWRyYXdfd2l0aF9jbGlwIChDYWly by5SZWN0YW5nbGVJbnQ/IGNsaXApOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJ cHVibGljIHZvaWQgcmVtb3ZlX2FjdGlvbiAoQ2x1dHRlci5BY3Rpb24gYWN0aW9uKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9hY3Rpb25fYnlf bmFtZSAoc3RyaW5nIG5hbWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyB2b2lkIHJlbW92ZV9hbGxfY2hpbGRyZW4gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2FsbF90cmFuc2l0aW9ucyAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCByZW1vdmVfY2hpbGQgKENs dXR0ZXIuQWN0b3IgY2hpbGQpOwotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2NsaXAgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCByZW1vdmVfY29uc3RyYWlu dCAoQ2x1dHRlci5Db25zdHJhaW50IGNvbnN0cmFpbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2NvbnN0cmFpbnRfYnlfbmFtZSAoc3RyaW5n IG5hbWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgcmVt b3ZlX2VmZmVjdCAoQ2x1dHRlci5FZmZlY3QgZWZmZWN0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9lZmZlY3RfYnlfbmFtZSAoc3RyaW5nIG5h bWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92 ZV90cmFuc2l0aW9uIChzdHJpbmcgbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIp XQotKwkJcHVibGljIHZvaWQgcmVwbGFjZV9jaGlsZCAoQ2x1dHRlci5BY3RvciBvbGRfY2hpbGQs IENsdXR0ZXIuQWN0b3IgbmV3X2NoaWxkKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCQlwdWJsaWMgdm9pZCByZXN0b3JlX2Vhc2luZ19zdGF0ZSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzYXZlX2Vhc2luZ19zdGF0ZSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfYWxsb2NhdGlv biAoQ2x1dHRlci5BY3RvckJveCBib3gpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyB2b2lkIHNldF9iYWNrZ3JvdW5kX2NvbG9yIChDbHV0dGVyLkNvbG9yPyBjb2xv cik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2No aWxkX2Fib3ZlX3NpYmxpbmcgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIENsdXR0ZXIuQWN0b3I/IHNp YmxpbmcpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNl dF9jaGlsZF9hdF9pbmRleCAoQ2x1dHRlci5BY3RvciBjaGlsZCwgaW50IGluZGV4Xyk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NoaWxkX2JlbG93 X3NpYmxpbmcgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIENsdXR0ZXIuQWN0b3I/IHNpYmxpbmcpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jaGlsZF90 cmFuc2Zvcm0gKEdyYXBoZW5lLk1hdHJpeD8gdHJhbnNmb3JtKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jbGlwIChmbG9hdCB4b2ZmLCBmbG9hdCB5 b2ZmLCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jbGlwX3RvX2FsbG9jYXRpb24gKGJvb2wgY2xpcF9z ZXQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9j b250ZW50IChDbHV0dGVyLkNvbnRlbnQ/IGNvbnRlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jb250ZW50X2dyYXZpdHkgKENsdXR0ZXIuQ29u dGVudEdyYXZpdHkgZ3Jhdml0eSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJ cHVibGljIHZvaWQgc2V0X2NvbnRlbnRfcmVwZWF0IChDbHV0dGVyLkNvbnRlbnRSZXBlYXQgcmVw ZWF0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf Y29udGVudF9zY2FsaW5nX2ZpbHRlcnMgKENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtaW5fZmlsdGVy LCBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWFnX2ZpbHRlcik7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2Vhc2luZ19kZWxheSAodWludCBtc2Vjcyk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2Vhc2lu Z19kdXJhdGlvbiAodWludCBtc2Vjcyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIHZvaWQgc2V0X2Vhc2luZ19tb2RlIChDbHV0dGVyLkFuaW1hdGlvbk1vZGUgbW9k ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZml4 ZWRfcG9zaXRpb25fc2V0IChib29sIGlzX3NldCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4w IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZmxhZ3MgKENsdXR0ZXIuQWN0b3JGbGFncyBmbGFncyk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfaGVpZ2h0 IChmbG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1Ymxp YyB2b2lkIHNldF9sYXlvdXRfbWFuYWdlciAoQ2x1dHRlci5MYXlvdXRNYW5hZ2VyPyBtYW5hZ2Vy KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbWFy Z2luIChDbHV0dGVyLk1hcmdpbiBtYXJnaW4pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyB2b2lkIHNldF9tYXJnaW5fYm90dG9tIChmbG9hdCBtYXJnaW4pOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9tYXJnaW5fbGVm dCAoZmxvYXQgbWFyZ2luKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgdm9pZCBzZXRfbWFyZ2luX3JpZ2h0IChmbG9hdCBtYXJnaW4pOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9tYXJnaW5fdG9wIChmbG9hdCBtYXJn aW4pOwotKwkJcHVibGljIHZvaWQgc2V0X25hbWUgKHN0cmluZyBuYW1lKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9vZmZzY3JlZW5fcmVkaXJlY3Qg KENsdXR0ZXIuT2Zmc2NyZWVuUmVkaXJlY3QgcmVkaXJlY3QpOwotKwkJcHVibGljIHZvaWQgc2V0 X29wYWNpdHkgKHVpbnQ4IG9wYWNpdHkpOwotKwkJcHVibGljIHZvaWQgc2V0X29wYWNpdHlfb3Zl cnJpZGUgKGludCBvcGFjaXR5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlw dWJsaWMgdm9pZCBzZXRfcGl2b3RfcG9pbnQgKGZsb2F0IHBpdm90X3gsIGZsb2F0IHBpdm90X3kp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9waXZv dF9wb2ludF96IChmbG9hdCBwaXZvdF96KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wb3NpdGlvbiAo ZmxvYXQgeCwgZmxvYXQgeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJs aWMgdm9pZCBzZXRfcmVhY3RpdmUgKGJvb2wgcmVhY3RpdmUpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3JlcXVlc3RfbW9kZSAoQ2x1dHRlci5SZXF1 ZXN0TW9kZSBtb2RlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMg dm9pZCBzZXRfcm90YXRpb25fYW5nbGUgKENsdXR0ZXIuUm90YXRlQXhpcyBheGlzLCBkb3VibGUg YW5nbGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwkJcHVibGljIHZvaWQgc2V0 X3NjYWxlIChkb3VibGUgc2NhbGVfeCwgZG91YmxlIHNjYWxlX3kpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9zY2FsZV96IChkb3VibGUgc2NhbGVf eik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc2l6ZSAoZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdGV4dF9k aXJlY3Rpb24gKENsdXR0ZXIuVGV4dERpcmVjdGlvbiB0ZXh0X2Rpcik7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3RyYW5zZm9ybSAoR3JhcGhlbmUu TWF0cml4PyB0cmFuc2Zvcm0pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1 YmxpYyB2b2lkIHNldF90cmFuc2xhdGlvbiAoZmxvYXQgdHJhbnNsYXRlX3gsIGZsb2F0IHRyYW5z bGF0ZV95LCBmbG9hdCB0cmFuc2xhdGVfeik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIild Ci0rCQlwdWJsaWMgdm9pZCBzZXRfd2lkdGggKGZsb2F0IHdpZHRoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF94IChmbG9hdCB4KTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfeF9hbGlnbiAoQ2x1dHRl ci5BY3RvckFsaWduIHhfYWxpZ24pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJ CXB1YmxpYyB2b2lkIHNldF94X2V4cGFuZCAoYm9vbCBleHBhbmQpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3kgKGZsb2F0IHkpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF95X2FsaWduIChDbHV0dGVy LkFjdG9yQWxpZ24geV9hbGlnbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJ cHVibGljIHZvaWQgc2V0X3lfZXhwYW5kIChib29sIGV4cGFuZCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3pfcG9zaXRpb24gKGZsb2F0IHpfcG9z aXRpb24pOwotKwkJcHVibGljIGJvb2wgc2hvdWxkX3BpY2sgKENsdXR0ZXIuUGlja0NvbnRleHQg cGlja19jb250ZXh0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyBi b29sIHRyYW5zZm9ybV9zdGFnZV9wb2ludCAoZmxvYXQgeCwgZmxvYXQgeSwgb3V0IGZsb2F0IHhf b3V0LCBvdXQgZmxvYXQgeV9vdXQpOwotKwkJcHVibGljIHZvaWQgdW5pbmhpYml0X2N1bGxpbmcg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lk IHVubWFwICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQg dW5zZXRfZmxhZ3MgKENsdXR0ZXIuQWN0b3JGbGFncyBmbGFncyk7Ci0rCQlbTm9BY2Nlc3Nvck1l dGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFj dGlvbiBhY3Rpb25zIHsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94IGFsbG9jYXRpb24g eyBvd25lZCBnZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMg Q2x1dHRlci5Db2xvciBiYWNrZ3JvdW5kX2NvbG9yIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vz c29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBib29s IGJhY2tncm91bmRfY29sb3Jfc2V0IHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MiIpXQotKwkJcHVibGljIEdyYXBoZW5lLk1hdHJpeCBjaGlsZF90cmFuc2Zvcm0geyBnZXQ7IHNl dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotKwkJcHVibGljIGJvb2wgY2hpbGRfdHJhbnNmb3JtX3NldCB7IGdldDsgfQotKwkJW05vQWNj ZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIEdy YXBoZW5lLlJlY3QgY2xpcF9yZWN0IHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBib29sIGNsaXBfdG9fYWxsb2NhdGlvbiB7IGdldDsg c2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQi KV0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbnN0cmFpbnQgY29uc3RyYWludHMgeyBzZXQ7IH0KLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgQ2x1dHRlci5Db250ZW50IGNv bnRlbnQgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBDbHV0dGVyLkFjdG9yQm94IGNvbnRlbnRfYm94IHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIENsdXR0ZXIuQ29udGVudEdyYXZpdHkgY29udGVu dF9ncmF2aXR5IHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0r CQlwdWJsaWMgQ2x1dHRlci5Db250ZW50UmVwZWF0IGNvbnRlbnRfcmVwZWF0IHsgZ2V0OyBzZXQ7 IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQot KwkJcHVibGljIENsdXR0ZXIuRWZmZWN0IGVmZmVjdCB7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIGZpcnN0X2NoaWxkIHsgZ2V0 OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgYm9vbCBmaXhlZF9w b3NpdGlvbl9zZXQgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgZmxvYXQgZml4ZWRfeCB7IGdldDsgc2V0 OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0K LSsJCXB1YmxpYyBmbG9hdCBmaXhlZF95IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJcHVibGljIGJvb2wgaGFzX2NsaXAgeyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIGJvb2wgaGFzX3Bv aW50ZXIgeyBnZXQ7IH0KLSsJCXB1YmxpYyBmbG9hdCBoZWlnaHQgeyBnZXQ7IHNldDsgfQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIGxhc3Rf Y2hpbGQgeyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMg Q2x1dHRlci5MYXlvdXRNYW5hZ2VyIGxheW91dF9tYW5hZ2VyIHsgZ2V0OyBzZXQ7IH0KLSsJCVtO b0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtYWduaWZp Y2F0aW9uX2ZpbHRlciB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBib29sIG1hcHBlZCB7IGdldDsgfQot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBmbG9hdCBtYXJnaW5fYm90 dG9tIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgZmxvYXQgbWFyZ2luX2xlZnQgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KLSsJCXB1YmxpYyBmbG9hdCBtYXJnaW5fcmlnaHQgeyBnZXQ7IHNldDsgfQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBmbG9hdCBtYXJnaW5fdG9wIHsg Z2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQotKwkJcHVibGljIGZsb2F0IG1pbl9oZWlnaHQgeyBnZXQ7IHNldDsgfQotKwkJW05v QWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMg Ym9vbCBtaW5faGVpZ2h0X3NldCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0K LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBmbG9hdCBtaW5fd2lkdGgg eyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC44IildCi0rCQlwdWJsaWMgYm9vbCBtaW5fd2lkdGhfc2V0IHsgZ2V0OyBzZXQ7IH0KLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtaW5p ZmljYXRpb25fZmlsdGVyIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIi KV0KLSsJCXB1YmxpYyBzdHJpbmcgbmFtZSB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1l dGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBmbG9hdCBuYXR1 cmFsX2hlaWdodCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBib29sIG5hdHVyYWxfaGVpZ2h0X3NldCB7 IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjgiKV0KLSsJCXB1YmxpYyBmbG9hdCBuYXR1cmFsX3dpZHRoIHsgZ2V0OyBzZXQ7IH0KLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVi bGljIGJvb2wgbmF0dXJhbF93aWR0aF9zZXQgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuT2Zmc2NyZWVuUmVkaXJlY3Qgb2Zmc2Ny ZWVuX3JlZGlyZWN0IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyB1aW50IG9wYWNpdHkgeyBnZXQ7 IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IHBpdm90X3BvaW50IHsgb3duZWQgZ2V0OyBz ZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgZmxvYXQgcGl2 b3RfcG9pbnRfeiB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgcG9zaXRpb24g eyBvd25lZCBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVi bGljIGJvb2wgcmVhY3RpdmUgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgYm9vbCByZWFsaXplZCB7IGdl dDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuUmVx dWVzdE1vZGUgcmVxdWVzdF9tb2RlIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIGRvdWJsZSByb3RhdGlv bl9hbmdsZV94IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIGRvdWJsZSByb3RhdGlvbl9hbmdsZV95IHsg Z2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuNiIpXQotKwkJcHVibGljIGRvdWJsZSByb3RhdGlvbl9hbmdsZV96IHsgZ2V0OyBzZXQ7IH0K LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJ cHVibGljIGRvdWJsZSBzY2FsZV94IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIGRvdWJsZSBzY2FsZV95 IHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMg ZG91YmxlIHNjYWxlX3ogeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgYm9vbCBzaG93X29uX3NldF9wYXJl bnQgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlNpemUgc2l6ZSB7IG93bmVkIGdldDsg c2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgQ2x1dHRlci5U ZXh0RGlyZWN0aW9uIHRleHRfZGlyZWN0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR3JhcGhlbmUuTWF0cml4IHRyYW5zZm9ybSB7IGdl dDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEyIildCi0rCQlwdWJsaWMgYm9vbCB0cmFuc2Zvcm1fc2V0IHsgZ2V0OyB9Ci0rCQlbTm9BY2Nl c3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgZmxv YXQgdHJhbnNsYXRpb25feCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgZmxvYXQgdHJhbnNsYXRpb25f eSB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgZmxvYXQgdHJhbnNsYXRpb25feiB7IGdldDsgc2V0OyB9 Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIHZpc2libGUgeyBnZXQ7IHNl dDsgfQotKwkJcHVibGljIGZsb2F0IHdpZHRoIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBmbG9h dCB4IHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgQ2x1dHRlci5BY3RvckFsaWduIHhfYWxpZ24geyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIHhfZXhwYW5kIHsgZ2V0OyBzZXQ7IH0K LSsJCXB1YmxpYyBmbG9hdCB5IHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvckFsaWduIHlfYWxpZ24geyBnZXQ7IHNldDsg fQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIHlfZXhwYW5k IHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMg ZmxvYXQgel9wb3NpdGlvbiB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42 IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBidXR0b25fcHJlc3NfZXZlbnQgKENs dXR0ZXIuQnV0dG9uRXZlbnQgZXZlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQot KwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgYnV0dG9uX3JlbGVhc2VfZXZlbnQgKENsdXR0 ZXIuQnV0dG9uRXZlbnQgZXZlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgY2FwdHVyZWRfZXZlbnQgKENsdXR0ZXIuRXZlbnQg ZXZlbnQpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0r CQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBkZXN0cm95ICgpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgZW50ZXJfZXZlbnQg KENsdXR0ZXIuQ3Jvc3NpbmdFdmVudCBldmVudCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42 IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBldmVudCAoQ2x1dHRlci5FdmVudCBl dmVudCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJ CXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGhpZGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBrZXlfZm9jdXNfaW4gKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBrZXlfZm9jdXNfb3V0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wga2V5X3ByZXNzX2V2ZW50IChDbHV0dGVyLktleUV2 ZW50IGV2ZW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0 dWFsIHNpZ25hbCBib29sIGtleV9yZWxlYXNlX2V2ZW50IChDbHV0dGVyLktleUV2ZW50IGV2ZW50 KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCBib29sIGxlYXZlX2V2ZW50IChDbHV0dGVyLkNyb3NzaW5nRXZlbnQgZXZlbnQpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgbW90 aW9uX2V2ZW50IChDbHV0dGVyLk1vdGlvbkV2ZW50IGV2ZW50KTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHBhcmVudF9zZXQgKENs dXR0ZXIuQWN0b3I/IG9sZF9wYXJlbnQpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBwaWNrIChDbHV0 dGVyLlBpY2tDb250ZXh0IHBpY2tfY29udGV4dCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHF1ZXVl X3JlbGF5b3V0ICgpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjAuOCIpXQotKwkJcHVi bGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgcmVhbGl6ZSAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCB2b2lkIHJlc291cmNlX3NjYWxlX2NoYW5nZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBzY3JvbGxfZXZlbnQgKENs dXR0ZXIuU2Nyb2xsRXZlbnQgZXZlbnQpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMC4yIildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBzaG93ICgpOwot KwkJcHVibGljIHNpZ25hbCB2b2lkIHN0YWdlX3ZpZXdzX2NoYW5nZWQgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgdG91Y2hf ZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIi KV0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB0cmFuc2l0aW9uX3N0b3BwZWQgKHN0cmluZyBuYW1l LCBib29sIGlzX2ZpbmlzaGVkKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgc2lnbmFsIHZvaWQgdHJhbnNpdGlvbnNfY29tcGxldGVkICgpOwotKwkJW0hhc0VtaXR0 ZXJdCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xNiIsIHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgdW5y ZWFsaXplICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hY3Rvcl9tZXRhX2dldF90eXBlICgpIildCi0r CXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBBY3Rvck1ldGEgOiBHTGliLkluaXRpYWxseVVub3duZWQg ewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVj dGVkIEFjdG9yTWV0YSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2FjdG9yICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2VuYWJsZWQgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X25hbWUgKCk7Ci0r CQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzZXRfYWN0b3IgKENsdXR0ZXIu QWN0b3I/IGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2 aXJ0dWFsIHZvaWQgc2V0X2VuYWJsZWQgKGJvb2wgaXNfZW5hYmxlZCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbmFtZSAoc3RyaW5nIG5hbWUpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3IgYWN0 b3IgeyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBib29s IGVuYWJsZWQgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJ cHVibGljIHN0cmluZyBuYW1lIHsgZ2V0OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYWN0b3Jf bm9kZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgQWN0b3JOb2RlIDogQ2x1dHRlci5Q YWludE5vZGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5 cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLSsJCXB1YmxpYyBBY3Rvck5vZGUgKENsdXR0ZXIu QWN0b3IgYWN0b3IsIGludCBvcGFjaXR5KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYWxpZ25fY29uc3Ry YWludF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1Ymxp YyBjbGFzcyBBbGlnbkNvbnN0cmFpbnQgOiBDbHV0dGVyLkNvbnN0cmFpbnQgewotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckNvbnN0cmFp bnQqIildCi0rCQlwdWJsaWMgQWxpZ25Db25zdHJhaW50IChDbHV0dGVyLkFjdG9yPyBzb3VyY2Us IENsdXR0ZXIuQWxpZ25BeGlzIGF4aXMsIGZsb2F0IGZhY3Rvcik7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5BbGlnbkF4aXMgZ2V0X2FsaWduX2F4aXMgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X2ZhY3Rv ciAoKTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBnZXRfcGl2b3RfcG9pbnQgKCk7Ci0rCQlw dWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9zb3VyY2UgKCk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfYWxpZ25fYXhpcyAoQ2x1dHRlci5BbGlnbkF4aXMgYXhpcyk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfZmFjdG9yIChmbG9hdCBmYWN0b3IpOwotKwkJcHVibGljIHZvaWQgc2V0X3Bpdm90X3Bv aW50IChHcmFwaGVuZS5Qb2ludCBwaXZvdF9wb2ludCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc291 cmNlIChDbHV0dGVyLkFjdG9yPyBzb3VyY2UpOwotKwkJcHVibGljIENsdXR0ZXIuQWxpZ25BeGlz IGFsaWduX2F4aXMgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBmbG9hdCBmYWN0 b3IgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBwaXZv dF9wb2ludCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBzb3VyY2UgeyBn ZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJcHVibGljIGNsYXNzIEFueUV2ZW50IDogQ2x1 dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVi bGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0 YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0ZXIuRXZl bnRUeXBlIHR5cGU7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JhY2tlbmRfZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQmFja2Vu ZCA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlKV0KLSsJCXByb3RlY3RlZCBCYWNrZW5kICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQotKwkJcHVibGljIHVub3duZWQgQ29nbC5Db250ZXh0IGdldF9jb2dsX2NvbnRleHQgKCk7 Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlNlYXQgZ2V0X2RlZmF1bHRfc2VhdCAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENhaXJvLkZvbnRP cHRpb25zIGdldF9mb250X29wdGlvbnMgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLklu cHV0TWV0aG9kIGdldF9pbnB1dF9tZXRob2QgKCk7Ci0rCQlwdWJsaWMgZG91YmxlIGdldF9yZXNv bHV0aW9uICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZvaWQg c2V0X2ZvbnRfb3B0aW9ucyAoQ2Fpcm8uRm9udE9wdGlvbnMgb3B0aW9ucyk7Ci0rCQlwdWJsaWMg dm9pZCBzZXRfaW5wdXRfbWV0aG9kIChDbHV0dGVyLklucHV0TWV0aG9kIG1ldGhvZCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZm9udF9jaGFu Z2VkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHNpZ25hbCB2 b2lkIHJlc29sdXRpb25fY2hhbmdlZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0K LSsJCXB1YmxpYyBzaWduYWwgdm9pZCBzZXR0aW5nc19jaGFuZ2VkICgpOwotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9iaW5fbGF5b3V0X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIi KV0KLSsJcHVibGljIGNsYXNzIEJpbkxheW91dCA6IENsdXR0ZXIuTGF5b3V0TWFuYWdlciB7Ci0r CQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVy TGF5b3V0TWFuYWdlcioiKV0KLSsJCXB1YmxpYyBCaW5MYXlvdXQgKENsdXR0ZXIuQmluQWxpZ25t ZW50IHhfYWxpZ24gPSBDbHV0dGVyLkJpbkFsaWdubWVudC5TVEFSVCwgQ2x1dHRlci5CaW5BbGln bm1lbnQgeV9hbGlnbiA9IENsdXR0ZXIuQmluQWxpZ25tZW50LlNUQVJUKTsKLSsJCVtOb0FjY2Vz c29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3Np bmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkJpbkFsaWdu bWVudCB4X2FsaWduIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1Zl cnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5j ZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkJpbkFsaWdubWVudCB5X2FsaWduIHsgZ2V0 OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYmluZF9jb25zdHJhaW50X2dldF90eXBlICgpIild Ci0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGNsYXNzIEJpbmRDb25zdHJh aW50IDogQ2x1dHRlci5Db25zdHJhaW50IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJDb25zdHJhaW50KiIpXQotKwkJcHVibGljIEJp bmRDb25zdHJhaW50IChDbHV0dGVyLkFjdG9yPyBzb3VyY2UsIENsdXR0ZXIuQmluZENvb3JkaW5h dGUgY29vcmRpbmF0ZSwgZmxvYXQgb2Zmc2V0KTsKLSsJCXB1YmxpYyBDbHV0dGVyLkJpbmRDb29y ZGluYXRlIGdldF9jb29yZGluYXRlICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9vZmZzZXQgKCk7 Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9zb3VyY2UgKCk7Ci0rCQlwdWJs aWMgdm9pZCBzZXRfY29vcmRpbmF0ZSAoQ2x1dHRlci5CaW5kQ29vcmRpbmF0ZSBjb29yZGluYXRl KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9vZmZzZXQgKGZsb2F0IG9mZnNldCk7Ci0rCQlwdWJsaWMg dm9pZCBzZXRfc291cmNlIChDbHV0dGVyLkFjdG9yPyBzb3VyY2UpOwotKwkJcHVibGljIENsdXR0 ZXIuQmluZENvb3JkaW5hdGUgY29vcmRpbmF0ZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwkJ cHVibGljIGZsb2F0IG9mZnNldCB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIENs dXR0ZXIuQWN0b3Igc291cmNlIHsgZ2V0OyBzZXQgY29uc3RydWN0OyB9Ci0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX2JpbmRpbmdfcG9vbF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4w IildCi0rCXB1YmxpYyBjbGFzcyBCaW5kaW5nUG9vbCA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBCaW5kaW5nUG9v bCAoc3RyaW5nIG5hbWUpOwotKwkJcHVibGljIGJvb2wgYWN0aXZhdGUgKHVpbnQga2V5X3ZhbCwg Q2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzLCBHTGliLk9iamVjdCBnb2JqZWN0KTsKLSsJ CXB1YmxpYyB2b2lkIGJsb2NrX2FjdGlvbiAoc3RyaW5nIGFjdGlvbl9uYW1lKTsKLSsJCXB1Ymxp YyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkJpbmRpbmdQb29sIGZpbmQgKHN0cmluZyBuYW1lKTsK LSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBmaW5kX2FjdGlvbiAodWludCBrZXlfdmFsLCBDbHV0 dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMpOwotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENs dXR0ZXIuQmluZGluZ1Bvb2wgZ2V0X2Zvcl9jbGFzcyAodm9pZCoga2xhc3MpOwotKwkJcHVibGlj IHZvaWQgaW5zdGFsbF9hY3Rpb24gKHN0cmluZyBhY3Rpb25fbmFtZSwgdWludCBrZXlfdmFsLCBD bHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMsIG93bmVkIENsdXR0ZXIuQmluZGluZ0FjdGlv bkZ1bmMgY2FsbGJhY2spOwotKwkJcHVibGljIHZvaWQgaW5zdGFsbF9jbG9zdXJlIChzdHJpbmcg YWN0aW9uX25hbWUsIHVpbnQga2V5X3ZhbCwgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJz LCBHTGliLkNsb3N1cmUgY2xvc3VyZSk7Ci0rCQlwdWJsaWMgdm9pZCBvdmVycmlkZV9hY3Rpb24g KHVpbnQga2V5X3ZhbCwgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzLCBvd25lZCBHTGli LkNhbGxiYWNrIGNhbGxiYWNrKTsKLSsJCXB1YmxpYyB2b2lkIG92ZXJyaWRlX2Nsb3N1cmUgKHVp bnQga2V5X3ZhbCwgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzLCBHTGliLkNsb3N1cmUg Y2xvc3VyZSk7Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVfYWN0aW9uICh1aW50IGtleV92YWwsIENs dXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVycyk7Ci0rCQlwdWJsaWMgdm9pZCB1bmJsb2NrX2Fj dGlvbiAoc3RyaW5nIGFjdGlvbl9uYW1lKTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIHN0cmluZyBuYW1lIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0 ZXJfYmxpdF9ub2RlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBCbGl0Tm9kZSA6IENs dXR0ZXIuUGFpbnROb2RlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlLCB0eXBlID0gIkNsdXR0ZXJQYWludE5vZGUqIildCi0rCQlwdWJsaWMgQmxpdE5vZGUgKENv Z2wuRnJhbWVidWZmZXIgc3JjKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9ibGl0X3JlY3RhbmdsZSAo aW50IHNyY194LCBpbnQgc3JjX3ksIGludCBkc3RfeCwgaW50IGRzdF95LCBpbnQgd2lkdGgsIGlu dCBoZWlnaHQpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ibHVyX2VmZmVjdF9nZXRfdHlwZSAoKSIpXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBjbGFzcyBCbHVyRWZmZWN0IDog Q2x1dHRlci5PZmZzY3JlZW5FZmZlY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckVmZmVjdCoiKV0KLSsJCXB1YmxpYyBCbHVyRWZm ZWN0ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ibHVyX25vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVi bGljIGNsYXNzIEJsdXJOb2RlIDogQ2x1dHRlci5MYXllck5vZGUgewotKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0K LSsJCXB1YmxpYyBCbHVyTm9kZSAodWludCB3aWR0aCwgdWludCBoZWlnaHQsIGZsb2F0IHNpZ21h KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCB0eXBlX2lkID0gImNsdXR0ZXJfYm94X2xheW91dF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBjbGFzcyBCb3hMYXlvdXQgOiBDbHV0dGVyLkxh eW91dE1hbmFnZXIgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Us IHR5cGUgPSAiQ2x1dHRlckxheW91dE1hbmFnZXIqIildCi0rCQlwdWJsaWMgQm94TGF5b3V0ICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2hvbW9n ZW5lb3VzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBDbHV0 dGVyLk9yaWVudGF0aW9uIGdldF9vcmllbnRhdGlvbiAoKTsKLSsJCXB1YmxpYyBib29sIGdldF9w YWNrX3N0YXJ0ICgpOwotKwkJcHVibGljIHVpbnQgZ2V0X3NwYWNpbmcgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfaG9tb2dlbmVvdXMgKGJvb2wg aG9tb2dlbmVvdXMpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2 b2lkIHNldF9vcmllbnRhdGlvbiAoQ2x1dHRlci5PcmllbnRhdGlvbiBvcmllbnRhdGlvbik7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfcGFja19zdGFydCAoYm9vbCBwYWNrX3N0YXJ0KTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9zcGFjaW5nICh1aW50IHNwYWNpbmcpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQotKwkJcHVibGljIGJvb2wgaG9tb2dlbmVvdXMgeyBnZXQ7IHNldDsgfQotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLk9yaWVudGF0aW9uIG9y aWVudGF0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBib29sIHBhY2tfc3RhcnQgeyBnZXQ7 IHNldDsgfQotKwkJcHVibGljIHVpbnQgc3BhY2luZyB7IGdldDsgc2V0OyB9Ci0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJj bHV0dGVyX2JyaWdodG5lc3NfY29udHJhc3RfZWZmZWN0X2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBjbGFzcyBCcmlnaHRuZXNzQ29udHJhc3RF ZmZlY3QgOiBDbHV0dGVyLk9mZnNjcmVlbkVmZmVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyRWZmZWN0KiIpXQotKwkJcHVibGlj IEJyaWdodG5lc3NDb250cmFzdEVmZmVjdCAoKTsKLSsJCXB1YmxpYyB2b2lkIGdldF9icmlnaHRu ZXNzIChvdXQgZmxvYXQgcmVkLCBvdXQgZmxvYXQgZ3JlZW4sIG91dCBmbG9hdCBibHVlKTsKLSsJ CXB1YmxpYyB2b2lkIGdldF9jb250cmFzdCAob3V0IGZsb2F0IHJlZCwgb3V0IGZsb2F0IGdyZWVu LCBvdXQgZmxvYXQgYmx1ZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfYnJpZ2h0bmVzcyAoZmxvYXQg YnJpZ2h0bmVzcyk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfYnJpZ2h0bmVzc19mdWxsIChmbG9hdCBy ZWQsIGZsb2F0IGdyZWVuLCBmbG9hdCBibHVlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jb250cmFz dCAoZmxvYXQgY29udHJhc3QpOwotKwkJcHVibGljIHZvaWQgc2V0X2NvbnRyYXN0X2Z1bGwgKGZs b2F0IHJlZCwgZmxvYXQgZ3JlZW4sIGZsb2F0IGJsdWUpOwotKwkJW05vQWNjZXNzb3JNZXRob2Rd Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBicmlnaHRuZXNzIHsgb3duZWQgZ2V0OyBzZXQ7IH0K LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgY29udHJhc3Qg eyBvd25lZCBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwlwdWJsaWMgY2xhc3MgQnV0dG9uRXZlbnQgOiBD bHV0dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyBkb3VibGUgYXhlczsKLSsJCXB1YmxpYyB1aW50MzIg YnV0dG9uOwotKwkJcHVibGljIHVpbnQgY2xpY2tfY291bnQ7Ci0rCQlwdWJsaWMgd2VhayBDbHV0 dGVyLklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyB1aW50MzIgZXZkZXZfY29kZTsKLSsJ CXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Nb2Rp ZmllclR5cGUgbW9kaWZpZXJfc3RhdGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNv dXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWlu dDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBm bG9hdCB4OwotKwkJcHVibGljIGZsb2F0IHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2NhbnZhc19nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgY2xhc3Mg Q2FudmFzIDogR0xpYi5PYmplY3QsIENsdXR0ZXIuQ29udGVudCB7Ci0rCQlbQ0NvZGUgKGhhc19j b25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQ29udGVudCoiKV0KLSsJ CXB1YmxpYyBDYW52YXMgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3NjYWxlX2ZhY3RvciAoKTsK LSsJCXB1YmxpYyB2b2lkIHNldF9zY2FsZV9mYWN0b3IgKGZsb2F0IHNjYWxlKTsKLSsJCXB1Ymxp YyBib29sIHNldF9zaXplIChpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlwdWJsaWMgaW50IGhlaWdodCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgZmxv YXQgc2NhbGVfZmFjdG9yIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ cHVibGljIGludCB3aWR0aCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg Ym9vbCBkcmF3IChDYWlyby5Db250ZXh0IGNyLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9jaGlsZF9tZXRhX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjgiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIENoaWxkTWV0YSA6IEdMaWIuT2Jq ZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXBy b3RlY3RlZCBDaGlsZE1ldGEgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdl dF9hY3RvciAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQ29udGFpbmVyIGdldF9jb250 YWluZXIgKCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBhY3RvciB7IGdldDsgY29uc3RydWN0 OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db250YWluZXIgY29udGFpbmVyIHsgZ2V0OyBjb25zdHJ1 Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY2xpY2tfYWN0aW9uX2dldF90eXBlICgpIildCi0rCXB1 YmxpYyBjbGFzcyBDbGlja0FjdGlvbiA6IENsdXR0ZXIuQWN0aW9uIHsKLSsJCVtDQ29kZSAoaGFz X2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCi0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgQ2xpY2tBY3Rpb24gKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdWludCBnZXRfYnV0dG9uICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgZ2V0X2Nvb3Jk cyAob3V0IGZsb2F0IHByZXNzX3gsIG91dCBmbG9hdCBwcmVzc195KTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLk1vZGlmaWVyVHlwZSBnZXRfc3RhdGUg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCByZWxlYXNl ICgpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild Ci0rCQlwdWJsaWMgYm9vbCBoZWxkIHsgZ2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBpbnQgbG9uZ19wcmVzc19kdXJh dGlvbiB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBpbnQgbG9uZ19wcmVzc190aHJlc2hvbGQgeyBnZXQ7 IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCi0rCQlwdWJsaWMgYm9vbCBwcmVzc2VkIHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBjbGlja2VkIChDbHV0dGVy LkFjdG9yIGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2 aXJ0dWFsIHNpZ25hbCBib29sIGxvbmdfcHJlc3MgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIENsdXR0 ZXIuTG9uZ1ByZXNzU3RhdGUgc3RhdGUpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jbGlwX25vZGVfZ2V0 X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIGNsYXNz IENsaXBOb2RlIDogQ2x1dHRlci5QYWludE5vZGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLSsJCXB1Ymxp YyBDbGlwTm9kZSAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY2xvbmVfZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgY2xhc3MgQ2xvbmUgOiBDbHV0dGVy LkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRlci5Db250 YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCi0rCQlwdWJsaWMgQ2xvbmUg KENsdXR0ZXIuQWN0b3Igc291cmNlKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3Ig Z2V0X3NvdXJjZSAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9zb3VyY2UgKENsdXR0ZXIuQWN0b3I/ IHNvdXJjZSk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBzb3VyY2UgeyBnZXQ7IHNldCBjb25z dHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY29sb3Jfbm9kZV9nZXRfdHlwZSAoKSIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgY2xhc3MgQ29sb3JOb2RlIDogQ2x1 dHRlci5QaXBlbGluZU5vZGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLSsJCXB1YmxpYyBDb2xvck5vZGUg KENsdXR0ZXIuQ29sb3I/IGNvbG9yKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY29sb3JpemVfZWZmZWN0 X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGNs YXNzIENvbG9yaXplRWZmZWN0IDogQ2x1dHRlci5PZmZzY3JlZW5FZmZlY3QgewotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckVmZmVjdCoi KV0KLSsJCXB1YmxpYyBDb2xvcml6ZUVmZmVjdCAoQ2x1dHRlci5Db2xvciB0aW50KTsKLSsJCXB1 YmxpYyBDbHV0dGVyLkNvbG9yIGdldF90aW50ICgpOwotKwkJcHVibGljIHZvaWQgc2V0X3RpbnQg KENsdXR0ZXIuQ29sb3IgdGludCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciB0aW50IHsgZ2V0 OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY29uc3RyYWludF9nZXRfdHlwZSAoKSIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBDb25zdHJh aW50IDogQ2x1dHRlci5BY3Rvck1ldGEgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIENvbnN0cmFpbnQgKCk7Ci0rCQlbTm9XcmFwcGVy XQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCB1cGRhdGVfYWxsb2NhdGlvbiAoQ2x1dHRlci5BY3Rv ciBhY3RvciwgQ2x1dHRlci5BY3RvckJveCBhbGxvY2F0aW9uKTsKLSsJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgdXBkYXRlX3ByZWZlcnJlZF9zaXplIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVy Lk9yaWVudGF0aW9uIGRpcmVjdGlvbiwgZmxvYXQgZm9yX3NpemUsIHJlZiBmbG9hdCBtaW5pbXVt X3NpemUsIHJlZiBmbG9hdCBuYXR1cmFsX3NpemUpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlb Q29tcGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwlwdWJsaWMgY2xhc3MgQ3Jv c3NpbmdFdmVudCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1 dERldmljZSBkZXZpY2U7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJ cHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciByZWxhdGVkOwotKwkJcHVibGljIHdlYWsgQ2x1dHRl ci5FdmVudFNlcXVlbmNlIHNlcXVlbmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBz b3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVp bnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMg ZmxvYXQgeDsKLSsJCXB1YmxpYyBmbG9hdCB5OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9kZWZvcm1fZWZm ZWN0X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGlj IGFic3RyYWN0IGNsYXNzIERlZm9ybUVmZmVjdCA6IENsdXR0ZXIuT2Zmc2NyZWVuRWZmZWN0IHsK LSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3Rl ZCBEZWZvcm1FZmZlY3QgKCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9p ZCBkZWZvcm1fdmVydGV4IChmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCBDb2dsLlRleHR1cmVW ZXJ0ZXggdmVydGV4KTsKLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuSGFuZGxlIGdldF9iYWNrX21h dGVyaWFsICgpOwotKwkJcHVibGljIHZvaWQgZ2V0X25fdGlsZXMgKG91dCB1aW50IHhfdGlsZXMs IG91dCB1aW50IHlfdGlsZXMpOwotKwkJcHVibGljIHZvaWQgaW52YWxpZGF0ZSAoKTsKLSsJCXB1 YmxpYyB2b2lkIHNldF9iYWNrX21hdGVyaWFsIChDb2dsLkhhbmRsZT8gbWF0ZXJpYWwpOwotKwkJ cHVibGljIHZvaWQgc2V0X25fdGlsZXMgKHVpbnQgeF90aWxlcywgdWludCB5X3RpbGVzKTsKLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHVpbnQgeF90aWxlcyB7IGdldDsgc2V0OyB9 Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyB1aW50IHlfdGlsZXMgeyBnZXQ7IHNl dDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9kZXNhdHVyYXRlX2VmZmVjdF9nZXRfdHlwZSAoKSIpXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBjbGFzcyBEZXNhdHVyYXRlRWZm ZWN0IDogQ2x1dHRlci5PZmZzY3JlZW5FZmZlY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckVmZmVjdCoiKV0KLSsJCXB1YmxpYyBE ZXNhdHVyYXRlRWZmZWN0IChkb3VibGUgZmFjdG9yKTsKLSsJCXB1YmxpYyBkb3VibGUgZ2V0X2Zh Y3RvciAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9mYWN0b3IgKGRvdWJsZSBmYWN0b3IpOwotKwkJ cHVibGljIGRvdWJsZSBmYWN0b3IgeyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQot KwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIERldmljZUV2ZW50IDogQ2x1dHRlci5FdmVudCB7 Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBD bHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNv dXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWlu dDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNs dXR0ZXJfZWZmZWN0X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0K LSsJcHVibGljIGFic3RyYWN0IGNsYXNzIEVmZmVjdCA6IENsdXR0ZXIuQWN0b3JNZXRhIHsKLSsJ CVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBF ZmZlY3QgKCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBtb2RpZnlf cGFpbnRfdm9sdW1lIChDbHV0dGVyLlBhaW50Vm9sdW1lIHZvbHVtZSk7Ci0rCQlbTm9XcmFwcGVy XQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBwYWludCAoQ2x1dHRlci5QYWludE5vZGUgbm9kZSwg Q2x1dHRlci5QYWludENvbnRleHQgcGFpbnRfY29udGV4dCwgQ2x1dHRlci5FZmZlY3RQYWludEZs YWdzIGZsYWdzKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHBhaW50 X25vZGUgKENsdXR0ZXIuUGFpbnROb2RlIG5vZGUsIENsdXR0ZXIuUGFpbnRDb250ZXh0IHBhaW50 X2NvbnRleHQsIENsdXR0ZXIuRWZmZWN0UGFpbnRGbGFncyBmbGFncyk7Ci0rCQlbTm9XcmFwcGVy XQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBwaWNrIChDbHV0dGVyLlBpY2tDb250ZXh0IHBpY2tf Y29udGV4dCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBwb3N0X3Bh aW50IChDbHV0dGVyLlBhaW50Tm9kZSBub2RlLCBDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9j b250ZXh0KTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCBib29sIHByZV9wYWlu dCAoQ2x1dHRlci5QYWludE5vZGUgbm9kZSwgQ2x1dHRlci5QYWludENvbnRleHQgcGFpbnRfY29u dGV4dCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBxdWV1 ZV9yZXBhaW50ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlv biA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0ZXJfZXZlbnRfZ2V0X3R5cGUgKCki KV0KLSsJW0NvbXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJcHVibGljIGNs YXNzIEV2ZW50IHsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIEV2ZW50IChDbHV0 dGVyLkV2ZW50VHlwZSB0eXBlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCi0rCQlw dWJsaWMgc3RhdGljIHVpbnQgYWRkX2ZpbHRlciAoQ2x1dHRlci5TdGFnZT8gc3RhZ2UsIFtDQ29k ZSAoZGVsZWdhdGVfdGFyZ2V0X3BvcyA9IDIuMiwgZGVzdHJveV9ub3RpZnlfcG9zID0gMi4xKV0g b3duZWQgQ2x1dHRlci5FdmVudEZpbHRlckZ1bmMgZnVuYyk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5F dmVudCBjb3B5ICgpOwotKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5FdmVudCBAZ2V0ICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBkb3VibGUgZ2V0X2FuZ2xlIChD bHV0dGVyLkV2ZW50IHRhcmdldCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlw dWJsaWMgZG91YmxlIGdldF9heGVzIChvdXQgdWludCBuX2F4ZXMpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQotKwkJcHVibGljIHVpbnQzMiBnZXRfYnV0dG9uICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHVpbnQgZ2V0X2NsaWNrX2NvdW50ICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIHZvaWQgZ2V0X2Nvb3JkcyAo b3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K LSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuSW5wdXREZXZpY2UgZ2V0X2RldmljZSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjI4IildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLklu cHV0RGV2aWNlVG9vbCBnZXRfZGV2aWNlX3Rvb2wgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4wIildCi0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dERldmljZVR5cGUgZ2V0X2RldmljZV90eXBl ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRf ZGlzdGFuY2UgKENsdXR0ZXIuRXZlbnQgdGFyZ2V0KTsKLSsJCXB1YmxpYyB1aW50MzIgZ2V0X2V2 ZW50X2NvZGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVu b3duZWQgQ2x1dHRlci5FdmVudFNlcXVlbmNlIGdldF9ldmVudF9zZXF1ZW5jZSAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZ2V0 X2ZsYWdzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KLSsJCXB1YmxpYyB2b2lk IGdldF9nZXN0dXJlX21vdGlvbl9kZWx0YSAob3V0IGRvdWJsZSBkeCwgb3V0IGRvdWJsZSBkeSk7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5Ub3VjaHBhZEdlc3R1cmVQaGFzZSBnZXRfZ2VzdHVyZV9waGFz ZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI0IildCi0rCQlwdWJsaWMgZG91YmxlIGdl dF9nZXN0dXJlX3BpbmNoX2FuZ2xlX2RlbHRhICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MjQiKV0KLSsJCXB1YmxpYyBkb3VibGUgZ2V0X2dlc3R1cmVfcGluY2hfc2NhbGUgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdWludDE2IGdldF9rZXlfY29kZSAo KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB1aW50IGdldF9rZXlf c3ltYm9sICgpOwotKwkJcHVibGljIHVuaWNoYXIgZ2V0X2tleV91bmljb2RlICgpOwotKwkJcHVi bGljIHVpbnQgZ2V0X21vZGVfZ3JvdXAgKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfcGFkX2V2ZW50 X2RldGFpbHMgKG91dCB1aW50IG51bWJlciwgb3V0IHVpbnQgbW9kZSwgb3V0IGRvdWJsZSB2YWx1 ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlBv aW50IGdldF9wb3NpdGlvbiAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1 YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3JlbGF0ZWQgKCk7Ci0rCQlwdWJsaWMgYm9v bCBnZXRfcmVsYXRpdmVfbW90aW9uIChkb3VibGUgZHgsIGRvdWJsZSBkeSwgZG91YmxlIGR4X3Vu YWNjZWwsIGRvdWJsZSBkeV91bmFjY2VsKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCQlwdWJsaWMgdm9pZCBnZXRfc2Nyb2xsX2RlbHRhIChvdXQgZG91YmxlIGR4LCBvdXQgZG91 YmxlIGR5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBDbHV0dGVy LlNjcm9sbERpcmVjdGlvbiBnZXRfc2Nyb2xsX2RpcmVjdGlvbiAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjI2IildCi0rCQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxGaW5pc2hGbGFncyBnZXRf c2Nyb2xsX2ZpbmlzaF9mbGFncyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI2IildCi0r CQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxTb3VyY2UgZ2V0X3Njcm9sbF9zb3VyY2UgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9y IGdldF9zb3VyY2UgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMg dW5vd25lZCBDbHV0dGVyLklucHV0RGV2aWNlIGdldF9zb3VyY2VfZGV2aWNlICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5TdGFnZSBn ZXRfc3RhZ2UgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMgQ2x1 dHRlci5Nb2RpZmllclR5cGUgZ2V0X3N0YXRlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTYiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9zdGF0ZV9mdWxsIChvdXQgQ2x1dHRlci5Nb2RpZmll clR5cGUgYnV0dG9uX3N0YXRlLCBvdXQgQ2x1dHRlci5Nb2RpZmllclR5cGUgYmFzZV9zdGF0ZSwg b3V0IENsdXR0ZXIuTW9kaWZpZXJUeXBlIGxhdGNoZWRfc3RhdGUsIG91dCBDbHV0dGVyLk1vZGlm aWVyVHlwZSBsb2NrZWRfc3RhdGUsIG91dCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBlZmZlY3RpdmVf c3RhdGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIHVpbnQzMiBn ZXRfdGltZSAoKTsKLSsJCXB1YmxpYyBpbnQ2NCBnZXRfdGltZV91cyAoKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjI0IildCi0rCQlwdWJsaWMgdWludCBnZXRfdG91Y2hwYWRfZ2VzdHVyZV9m aW5nZXJfY291bnQgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfZXZlbnRfdHlwZSIp XQotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIGdldF90eXBlICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIGhhc19jb250cm9sX21vZGlmaWVyICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIGhhc19zaGlm dF9tb2RpZmllciAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMg Ym9vbCBpc19wb2ludGVyX2VtdWxhdGVkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIp XQotKwkJcHVibGljIHZvaWQgcHV0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0K LSsJCXB1YmxpYyBzdGF0aWMgdm9pZCByZW1vdmVfZmlsdGVyICh1aW50IGlkKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9idXR0b24gKHVpbnQzMiBi dXR0b24pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgc2V0 X2Nvb3JkcyAoZmxvYXQgeCwgZmxvYXQgeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42Iild Ci0rCQlwdWJsaWMgdm9pZCBzZXRfZGV2aWNlIChDbHV0dGVyLklucHV0RGV2aWNlPyBkZXZpY2Up OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9kZXZp Y2VfdG9vbCAoQ2x1dHRlci5JbnB1dERldmljZVRvb2w/IHRvb2wpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2ZsYWdzIChDbHV0dGVyLkV2ZW50Rmxh Z3MgZmxhZ3MpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQg c2V0X2tleV9jb2RlICh1aW50MTYga2V5X2NvZGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2tleV9zeW1ib2wgKHVpbnQga2V5X3N5bSk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfa2V5X3VuaWNvZGUg KHVuaWNoYXIga2V5X3VuaWNvZGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJ cHVibGljIHZvaWQgc2V0X3JlbGF0ZWQgKENsdXR0ZXIuQWN0b3I/IGFjdG9yKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfc2Nyb2xsX2RlbHRhIChk b3VibGUgZHgsIGRvdWJsZSBkeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlw dWJsaWMgdm9pZCBzZXRfc2Nyb2xsX2RpcmVjdGlvbiAoQ2x1dHRlci5TY3JvbGxEaXJlY3Rpb24g ZGlyZWN0aW9uKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9zb3VyY2UgKENsdXR0ZXIuQWN0b3I/IGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9zb3VyY2VfZGV2aWNlIChDbHV0dGVyLklucHV0 RGV2aWNlPyBkZXZpY2UpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGlj IHZvaWQgc2V0X3N0YWdlIChDbHV0dGVyLlN0YWdlPyBzdGFnZSk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfc3RhdGUgKENsdXR0ZXIuTW9kaWZpZXJU eXBlIHN0YXRlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF90aW1lICh1aW50MzIgdGltZV8pOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5Iiwg ZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0ZXJfZXZlbnRf c2VxdWVuY2VfZ2V0X3R5cGUgKCkiKV0KLSsJW0NvbXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCi0rCXB1YmxpYyBjbGFzcyBFdmVudFNlcXVlbmNlIHsKLSsJCXB1YmxpYyBpbnQz MiBnZXRfc2xvdCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZml4ZWRfbGF5b3V0X2dldF90eXBlICgp IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJcHVibGljIGNsYXNzIEZpeGVkTGF5 b3V0IDogQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9m dW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJMYXlvdXRNYW5hZ2VyKiIpXQotKwkJcHVi bGljIEZpeGVkTGF5b3V0ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9mbG93X2xheW91dF9nZXRfdHlw ZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBjbGFzcyBGbG93 TGF5b3V0IDogQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJMYXlvdXRNYW5hZ2VyKiIpXQotKwkJ cHVibGljIEZsb3dMYXlvdXQgKENsdXR0ZXIuRmxvd09yaWVudGF0aW9uIG9yaWVudGF0aW9uKTsK LSsJCXB1YmxpYyBmbG9hdCBnZXRfY29sdW1uX3NwYWNpbmcgKCk7Ci0rCQlwdWJsaWMgdm9pZCBn ZXRfY29sdW1uX3dpZHRoIChvdXQgZmxvYXQgbWluX3dpZHRoLCBvdXQgZmxvYXQgbWF4X3dpZHRo KTsKLSsJCXB1YmxpYyBib29sIGdldF9ob21vZ2VuZW91cyAoKTsKLSsJCXB1YmxpYyBDbHV0dGVy LkZsb3dPcmllbnRhdGlvbiBnZXRfb3JpZW50YXRpb24gKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRf cm93X2hlaWdodCAob3V0IGZsb2F0IG1pbl9oZWlnaHQsIG91dCBmbG9hdCBtYXhfaGVpZ2h0KTsK LSsJCXB1YmxpYyBmbG9hdCBnZXRfcm93X3NwYWNpbmcgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xNiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X3NuYXBfdG9fZ3JpZCAoKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9jb2x1bW5fc3BhY2luZyAoZmxvYXQgc3BhY2luZyk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfY29sdW1uX3dpZHRoIChmbG9hdCBtaW5fd2lkdGgsIGZsb2F0IG1heF93aWR0aCk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfaG9tb2dlbmVvdXMgKGJvb2wgaG9tb2dlbmVvdXMpOwotKwkJcHVi bGljIHZvaWQgc2V0X29yaWVudGF0aW9uIChDbHV0dGVyLkZsb3dPcmllbnRhdGlvbiBvcmllbnRh dGlvbik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcm93X2hlaWdodCAoZmxvYXQgbWluX2hlaWdodCwg ZmxvYXQgbWF4X2hlaWdodCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcm93X3NwYWNpbmcgKGZsb2F0 IHNwYWNpbmcpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9zbmFwX3RvX2dyaWQgKGJvb2wgc25hcF90b19ncmlkKTsKLSsJCXB1YmxpYyBmbG9hdCBj b2x1bW5fc3BhY2luZyB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgYm9vbCBob21vZ2VuZW91cyB7 IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBmbG9hdCBtYXhf Y29sdW1uX3dpZHRoIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIGZsb2F0IG1heF9yb3dfaGVpZ2h0IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJcHVibGljIGZsb2F0IG1pbl9jb2x1bW5fd2lkdGggeyBnZXQ7IHNldDsgfQotKwkJ W05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgZmxvYXQgbWluX3Jvd19oZWlnaHQgeyBnZXQ7 IHNldDsgfQotKwkJcHVibGljIENsdXR0ZXIuRmxvd09yaWVudGF0aW9uIG9yaWVudGF0aW9uIHsg Z2V0OyBzZXQgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgZmxvYXQgcm93X3NwYWNpbmcgeyBnZXQ7 IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KLSsJCXB1YmxpYyBib29sIHNu YXBfdG9fZ3JpZCB7IGdldDsgc2V0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0 XQotKwlwdWJsaWMgY2xhc3MgRnJhbWUgewotKwkJcHVibGljIGJvb2wgaGFzX3Jlc3VsdCAoKTsK LSsJCXB1YmxpYyB2b2lkIHNldF9yZXN1bHQgKENsdXR0ZXIuRnJhbWVSZXN1bHQgcmVzdWx0KTsK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0 eXBlX2lkID0gImNsdXR0ZXJfZnJhbWVfY2xvY2tfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNs YXNzIEZyYW1lQ2xvY2sgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgRnJhbWVDbG9jayAoKTsKLSsJCXB1Ymxp YyB2b2lkIGFkZF90aW1lbGluZSAoQ2x1dHRlci5UaW1lbGluZSB0aW1lbGluZSk7Ci0rCQlwdWJs aWMgZmxvYXQgZ2V0X3JlZnJlc2hfcmF0ZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGluaGliaXQgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBub3RpZnlfcmVhZHkgKCk7Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVf dGltZWxpbmUgKENsdXR0ZXIuVGltZWxpbmUgdGltZWxpbmUpOwotKwkJcHVibGljIHZvaWQgc2No ZWR1bGVfdXBkYXRlICgpOwotKwkJcHVibGljIHZvaWQgc2NoZWR1bGVfdXBkYXRlX25vdyAoKTsK LSsJCXB1YmxpYyB2b2lkIHVuaW5oaWJpdCAoKTsKLSsJCVtIYXNFbWl0dGVyXQotKwkJcHVibGlj IHNpZ25hbCB2b2lkIGRlc3Ryb3kgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2dlc3R1cmVfYWN0aW9u X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBHZXN0dXJlQWN0aW9uIDogQ2x1dHRlci5B Y3Rpb24gewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUg PSAiQ2x1dHRlckFjdGlvbioiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1 YmxpYyBHZXN0dXJlQWN0aW9uICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJ CXB1YmxpYyB2b2lkIGNhbmNlbCAoKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVh bCBib29sIGdlc3R1cmVfcHJlcGFyZSAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5JbnB1dERldmlj ZSBnZXRfZGV2aWNlICh1aW50IHBvaW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE0Iild Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkV2ZW50IGdldF9sYXN0X2V2ZW50ICh1aW50IHBv aW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9t b3Rpb25fY29vcmRzICh1aW50IHBvaW50LCBvdXQgZmxvYXQgbW90aW9uX3gsIG91dCBmbG9hdCBt b3Rpb25feSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGZsb2F0 IGdldF9tb3Rpb25fZGVsdGEgKHVpbnQgcG9pbnQsIG91dCBmbG9hdCBkZWx0YV94LCBvdXQgZmxv YXQgZGVsdGFfeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHVp bnQgZ2V0X25fY3VycmVudF9wb2ludHMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotKwkJcHVibGljIGludCBnZXRfbl90b3VjaF9wb2ludHMgKCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBnZXRfcHJlc3NfY29vcmRzICh1aW50IHBvaW50 LCBvdXQgZmxvYXQgcHJlc3NfeCwgb3V0IGZsb2F0IHByZXNzX3kpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgZ2V0X3JlbGVhc2VfY29vcmRzICh1aW50IHBv aW50LCBvdXQgZmxvYXQgcmVsZWFzZV94LCBvdXQgZmxvYXQgcmVsZWFzZV95KTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkV2ZW50U2Vx dWVuY2UgZ2V0X3NlcXVlbmNlICh1aW50IHBvaW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjE4IildCi0rCQlwdWJsaWMgdm9pZCBnZXRfdGhyZXNob2xkX3RyaWdnZXJfZGlzdGFuY2UgKG91 dCBmbG9hdCB4LCBvdXQgZmxvYXQgeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yMCIpXQot KwkJcHVibGljIENsdXR0ZXIuR2VzdHVyZVRyaWdnZXJFZGdlIGdldF90aHJlc2hvbGRfdHJpZ2dl cl9lZGdlICgpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3Np bmNlID0gIjEuMjAiLCBzaW5jZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgQ2x1dHRlci5HZXN0dXJl VHJpZ2dlckVkZ2UgZ2V0X3RocmVzaG9sZF90cmlnZ2VyX2VnZGUgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGZsb2F0IGdldF92ZWxvY2l0eSAodWludCBwb2lu dCwgb3V0IGZsb2F0IHZlbG9jaXR5X3gsIG91dCBmbG9hdCB2ZWxvY2l0eV95KTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbl90b3VjaF9wb2ludHMg KGludCBuYl9wb2ludHMpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KLSsJCXB1Ymxp YyB2b2lkIHNldF90aHJlc2hvbGRfdHJpZ2dlcl9kaXN0YW5jZSAoZmxvYXQgeCwgZmxvYXQgeSk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3RocmVz aG9sZF90cmlnZ2VyX2VkZ2UgKENsdXR0ZXIuR2VzdHVyZVRyaWdnZXJFZGdlIGVkZ2UpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTYiKV0KLSsJCXB1YmxpYyBpbnQgbl90b3VjaF9wb2ludHMg eyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xOCIpXQotKwkJcHVibGljIGZsb2F0IHRocmVzaG9sZF90cmlnZ2VyX2Rpc3RhbmNlX3gg eyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xOCIpXQotKwkJcHVibGljIGZsb2F0IHRocmVzaG9sZF90cmlnZ2VyX2Rpc3Rh bmNlX3kgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0K LSsJCXB1YmxpYyBDbHV0dGVyLkdlc3R1cmVUcmlnZ2VyRWRnZSB0aHJlc2hvbGRfdHJpZ2dlcl9l ZGdlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJ CXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIGdlc3R1cmVfYmVnaW4gKENsdXR0ZXIuQWN0b3Ig YWN0b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZpcnR1YWwg c2lnbmFsIHZvaWQgZ2VzdHVyZV9jYW5jZWwgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZ2Vz dHVyZV9lbmQgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgZ2VzdHVyZV9wcm9ncmVzcyAoQ2x1 dHRlci5BY3RvciBhY3Rvcik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2dyaWRfbGF5b3V0X2dldF90eXBl ICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCXB1YmxpYyBjbGFzcyBHcmlk TGF5b3V0IDogQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJMYXlvdXRNYW5hZ2VyKiIpXQotKwkJ cHVibGljIEdyaWRMYXlvdXQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBhdHRhY2ggKENsdXR0ZXIuQWN0 b3IgY2hpbGQsIGludCBsZWZ0LCBpbnQgdG9wLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwotKwkJ cHVibGljIHZvaWQgYXR0YWNoX25leHRfdG8gKENsdXR0ZXIuQWN0b3IgY2hpbGQsIENsdXR0ZXIu QWN0b3I/IHNpYmxpbmcsIENsdXR0ZXIuR3JpZFBvc2l0aW9uIHNpZGUsIGludCB3aWR0aCwgaW50 IGhlaWdodCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9jaGlsZF9hdCAo aW50IGxlZnQsIGludCB0b3ApOwotKwkJcHVibGljIGJvb2wgZ2V0X2NvbHVtbl9ob21vZ2VuZW91 cyAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF9jb2x1bW5fc3BhY2luZyAoKTsKLSsJCXB1YmxpYyBD bHV0dGVyLk9yaWVudGF0aW9uIGdldF9vcmllbnRhdGlvbiAoKTsKLSsJCXB1YmxpYyBib29sIGdl dF9yb3dfaG9tb2dlbmVvdXMgKCk7Ci0rCQlwdWJsaWMgdWludCBnZXRfcm93X3NwYWNpbmcgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBpbnNlcnRfY29sdW1uIChpbnQgcG9zaXRpb24pOwotKwkJcHVibGlj IHZvaWQgaW5zZXJ0X25leHRfdG8gKENsdXR0ZXIuQWN0b3Igc2libGluZywgQ2x1dHRlci5Hcmlk UG9zaXRpb24gc2lkZSk7Ci0rCQlwdWJsaWMgdm9pZCBpbnNlcnRfcm93IChpbnQgcG9zaXRpb24p OwotKwkJcHVibGljIHZvaWQgc2V0X2NvbHVtbl9ob21vZ2VuZW91cyAoYm9vbCBob21vZ2VuZW91 cyk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY29sdW1uX3NwYWNpbmcgKHVpbnQgc3BhY2luZyk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfb3JpZW50YXRpb24gKENsdXR0ZXIuT3JpZW50YXRpb24gb3JpZW50 YXRpb24pOwotKwkJcHVibGljIHZvaWQgc2V0X3Jvd19ob21vZ2VuZW91cyAoYm9vbCBob21vZ2Vu ZW91cyk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcm93X3NwYWNpbmcgKHVpbnQgc3BhY2luZyk7Ci0r CQlwdWJsaWMgYm9vbCBjb2x1bW5faG9tb2dlbmVvdXMgeyBnZXQ7IHNldDsgfQotKwkJcHVibGlj IHVpbnQgY29sdW1uX3NwYWNpbmcgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIENsdXR0ZXIuT3Jp ZW50YXRpb24gb3JpZW50YXRpb24geyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wgcm93X2hv bW9nZW5lb3VzIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyB1aW50IHJvd19zcGFjaW5nIHsgZ2V0 OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFz cyBJTUV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdz IGZsYWdzOwotKwkJcHVibGljIHVpbnQzMiBsZW47Ci0rCQlwdWJsaWMgaW50MzIgb2Zmc2V0Owot KwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0 dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHdlYWsgc3RyaW5nIHRleHQ7Ci0rCQlwdWJsaWMg dWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0g ImNsdXR0ZXJfaW1hZ2VfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJcHVibGljIGNsYXNzIEltYWdlIDogR0xpYi5PYmplY3QsIENsdXR0ZXIuQ29udGVudCB7 Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0 dGVyQ29udGVudCoiKV0KLSsJCXB1YmxpYyBJbWFnZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENv Z2wuVGV4dHVyZSBnZXRfdGV4dHVyZSAoKTsKLSsJCXB1YmxpYyBib29sIHNldF9hcmVhIChbQ0Nv ZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gdWludDhbXSBkYXRhLCBDb2dsLlBpeGVsRm9ybWF0 IHBpeGVsX2Zvcm1hdCwgQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIHVpbnQgcm93X3N0cmlkZSkg dGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVi bGljIGJvb2wgc2V0X2J5dGVzIChHTGliLkJ5dGVzIGRhdGEsIENvZ2wuUGl4ZWxGb3JtYXQgcGl4 ZWxfZm9ybWF0LCB1aW50IHdpZHRoLCB1aW50IGhlaWdodCwgdWludCByb3dfc3RyaWRlKSB0aHJv d3MgR0xpYi5FcnJvcjsKLSsJCXB1YmxpYyBib29sIHNldF9kYXRhIChbQ0NvZGUgKGFycmF5X2xl bmd0aCA9IGZhbHNlKV0gdWludDhbXSBkYXRhLCBDb2dsLlBpeGVsRm9ybWF0IHBpeGVsX2Zvcm1h dCwgdWludCB3aWR0aCwgdWludCBoZWlnaHQsIHVpbnQgcm93X3N0cmlkZSkgdGhyb3dzIEdMaWIu RXJyb3I7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgY2xhc3MgSW5wdXREZXZpY2UgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19j b25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgSW5wdXREZXZpY2UgKCk7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dEF4aXMgZ2V0X2F4aXMgKHVpbnQgaW5kZXhfKTsKLSsJ CXB1YmxpYyBib29sIGdldF9heGlzX3ZhbHVlIChkb3VibGUgYXhlcywgQ2x1dHRlci5JbnB1dEF4 aXMgYXhpcywgZG91YmxlIHZhbHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJ CXB1YmxpYyBDbHV0dGVyLklucHV0TW9kZSBnZXRfZGV2aWNlX21vZGUgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2RldmljZV9u YW1lICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9kZXZpY2Vfbm9kZSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNl VHlwZSBnZXRfZGV2aWNlX3R5cGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfZ3JhYmJlZF9hY3RvciAoKTsKLSsJ CXB1YmxpYyB2aXJ0dWFsIGludCBnZXRfZ3JvdXBfbl9tb2RlcyAoaW50IGdyb3VwKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBib29sIGdldF9oYXNfY3Vyc29yICgp OwotKwkJcHVibGljIGludCBnZXRfbW9kZV9zd2l0Y2hfYnV0dG9uX2dyb3VwICh1aW50IGJ1dHRv bik7Ci0rCQlwdWJsaWMgdWludCBnZXRfbl9heGVzICgpOwotKwkJcHVibGljIGludCBnZXRfbl9i dXR0b25zICgpOwotKwkJcHVibGljIGludCBnZXRfbl9tb2RlX2dyb3VwcyAoKTsKLSsJCXB1Ymxp YyBpbnQgZ2V0X25fcmluZ3MgKCk7Ci0rCQlwdWJsaWMgaW50IGdldF9uX3N0cmlwcyAoKTsKLSsJ CXB1YmxpYyB2aXJ0dWFsIGludCBnZXRfcGFkX2ZlYXR1cmVfZ3JvdXAgKENsdXR0ZXIuSW5wdXRE ZXZpY2VQYWRGZWF0dXJlIGZlYXR1cmUsIGludCBuX2ZlYXR1cmUpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMjIiKV0KLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfcHJvZHVjdF9pZCAo KTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU2VhdCBnZXRfc2VhdCAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIyIildCi0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3ZlbmRv cl9pZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBn cmFiIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgaXNfZ3Jv dXBlZCAoQ2x1dHRlci5JbnB1dERldmljZSBvdGhlcl9kZXZpY2UpOwotKwkJcHVibGljIHZpcnR1 YWwgYm9vbCBpc19tb2RlX3N3aXRjaF9idXR0b24gKHVpbnQgZ3JvdXAsIHVpbnQgYnV0dG9uKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVy LkFjdG9yIHNlcXVlbmNlX2dldF9ncmFiYmVkX2FjdG9yIChDbHV0dGVyLkV2ZW50U2VxdWVuY2Ug c2VxdWVuY2UpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lk IHNlcXVlbmNlX2dyYWIgKENsdXR0ZXIuRXZlbnRTZXF1ZW5jZSBzZXF1ZW5jZSwgQ2x1dHRlci5B Y3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZv aWQgc2VxdWVuY2VfdW5ncmFiIChDbHV0dGVyLkV2ZW50U2VxdWVuY2Ugc2VxdWVuY2UpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHVuZ3JhYiAoKTsKLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVi bGljIENsdXR0ZXIuQmFja2VuZCBiYWNrZW5kIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJ CXB1YmxpYyBDbHV0dGVyLklucHV0TW9kZSBkZXZpY2VfbW9kZSB7IGdldDsgY29uc3RydWN0OyB9 Ci0rCQlwdWJsaWMgc3RyaW5nIGRldmljZV9ub2RlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlVHlw ZSBkZXZpY2VfdHlwZSB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS42IildCi0rCQlwdWJsaWMgYm9vbCBoYXNfY3Vyc29yIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJ CXB1YmxpYyBpbnQgbl9idXR0b25zIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBpbnQg bl9tb2RlX2dyb3VwcyB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgaW50IG5fcmluZ3Mg eyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIGludCBuX3N0cmlwcyB7IGdldDsgY29uc3Ry dWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIi KV0KLSsJCXB1YmxpYyBzdHJpbmcgbmFtZSB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yMiIpXQotKwkJcHVibGljIHN0cmluZyBwcm9kdWN0X2lkIHsg Z2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLlNlYXQgc2VhdCB7IGdldDsgY29u c3RydWN0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yMiIpXQotKwkJcHVibGljIHN0cmlu ZyB2ZW5kb3JfaWQgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9k ZXZpY2VfdG9vbF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgSW5wdXRE ZXZpY2VUb29sIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIElucHV0RGV2aWNlVG9vbCAoKTsKLSsJCXB1Ymxp YyBDbHV0dGVyLklucHV0QXhpc0ZsYWdzIGdldF9heGVzICgpOwotKwkJcHVibGljIHVpbnQ2NCBn ZXRfaWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yOCIpXQotKwkJcHVibGljIHVpbnQ2 NCBnZXRfc2VyaWFsICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgiKV0KLSsJCXB1Ymxp YyBDbHV0dGVyLklucHV0RGV2aWNlVG9vbFR5cGUgZ2V0X3Rvb2xfdHlwZSAoKTsKLSsJCXB1Ymxp YyBDbHV0dGVyLklucHV0QXhpc0ZsYWdzIGF4ZXMgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVi bGljIHVpbnQ2NCBpZCB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgdWludDY0IHNlcmlh bCB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBD bHV0dGVyLklucHV0RGV2aWNlVG9vbFR5cGUgdHlwZSB7IGdldDsgY29uc3RydWN0OyB9Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX2lucHV0X2ZvY3VzX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBhYnN0cmFj dCBjbGFzcyBJbnB1dEZvY3VzIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3Ry dWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIElucHV0Rm9jdXMgKCk7Ci0rCQlb Tm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBjb21taXRfdGV4dCAoc3RyaW5nIHRl eHQpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZGVsZXRlX3N1cnJv dW5kaW5nIChpbnQgb2Zmc2V0LCB1aW50IGxlbik7Ci0rCQlwdWJsaWMgYm9vbCBmaWx0ZXJfZXZl bnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0 dWFsIHZvaWQgZm9jdXNfaW4gKENsdXR0ZXIuSW5wdXRNZXRob2QgaW5wdXRfbWV0aG9kKTsKLSsJ CVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGZvY3VzX291dCAoKTsKLSsJCXB1 YmxpYyBib29sIGlzX2ZvY3VzZWQgKCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1 YWwgdm9pZCByZXF1ZXN0X3N1cnJvdW5kaW5nICgpOwotKwkJcHVibGljIHZvaWQgcmVzZXQgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY2FuX3Nob3dfcHJlZWRpdCAoYm9vbCBjYW5fc2hvd19wcmVl ZGl0KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jb250ZW50X2hpbnRzIChDbHV0dGVyLklucHV0Q29u dGVudEhpbnRGbGFncyBoaW50KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jb250ZW50X3B1cnBvc2Ug KENsdXR0ZXIuSW5wdXRDb250ZW50UHVycG9zZSBwdXJwb3NlKTsKLSsJCXB1YmxpYyB2b2lkIHNl dF9jdXJzb3JfbG9jYXRpb24gKEdyYXBoZW5lLlJlY3QgcmVjdCk7Ci0rCQlwdWJsaWMgdm9pZCBz ZXRfaW5wdXRfcGFuZWxfc3RhdGUgKENsdXR0ZXIuSW5wdXRQYW5lbFN0YXRlIHN0YXRlKTsKLSsJ CVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNldF9wcmVlZGl0X3RleHQgKHN0 cmluZyBwcmVlZGl0LCB1aW50IGN1cnNvcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc3Vycm91bmRp bmcgKHN0cmluZyB0ZXh0LCB1aW50IGN1cnNvciwgdWludCBhbmNob3IpOwotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9pbnB1dF9tZXRob2RfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNz IElucHV0TWV0aG9kIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIElucHV0TWV0aG9kICgpOwotKwkJW05vV3Jh cHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgZmlsdGVyX2tleV9ldmVudCAoQ2x1dHRlci5F dmVudCBrZXkpOwotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBmb2N1c19pbiAoQ2x1dHRlci5JbnB1 dEZvY3VzIGFjdG9yKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZm9jdXNfb3V0ICgpOwotKwkJ cHVibGljIHZvaWQgZm9yd2FyZF9rZXkgKHVpbnQzMiBrZXl2YWwsIHVpbnQzMiBrZXljb2RlLCB1 aW50MzIgc3RhdGUsIHVpbnQ2NCB0aW1lXywgYm9vbCBwcmVzcyk7Ci0rCQlwdWJsaWMgdm9pZCBu b3RpZnlfa2V5X2V2ZW50IChDbHV0dGVyLkV2ZW50IGV2ZW50LCBib29sIGZpbHRlcmVkKTsKLSsJ CVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHJlc2V0ICgpOwotKwkJW05vV3Jh cHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2V0X2N1cnNvcl9sb2NhdGlvbiAoR3JhcGhl bmUuUmVjdCByZWN0KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9pbnB1dF9wYW5lbF9zdGF0ZSAoQ2x1 dHRlci5JbnB1dFBhbmVsU3RhdGUgc3RhdGUpOwotKwkJcHVibGljIHZvaWQgc2V0X3ByZWVkaXRf dGV4dCAoc3RyaW5nPyBwcmVlZGl0LCB1aW50IGN1cnNvcik7Ci0rCQlbTm9XcmFwcGVyXQotKwkJ cHVibGljIHZpcnR1YWwgdm9pZCBzZXRfc3Vycm91bmRpbmcgKHN0cmluZyB0ZXh0LCB1aW50IGN1 cnNvciwgdWludCBhbmNob3IpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZv aWQgdXBkYXRlX2NvbnRlbnRfaGludHMgKENsdXR0ZXIuSW5wdXRDb250ZW50SGludEZsYWdzIGhp bnQpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgdXBkYXRlX2NvbnRl bnRfcHVycG9zZSAoQ2x1dHRlci5JbnB1dENvbnRlbnRQdXJwb3NlIHB1cnBvc2UpOwotKwkJW05v QWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBjYW5fc2hvd19wcmVlZGl0IHsgZ2V0OyBz ZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRDb250 ZW50SGludEZsYWdzIGNvbnRlbnRfaGludHMgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dENvbnRlbnRQdXJwb3NlIGNvbnRlbnRfcHVy cG9zZSB7IGdldDsgc2V0OyB9Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCXB1YmxpYyBzaWduYWwgdm9p ZCBjb21taXQgKHN0cmluZyB0ZXh0KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBjdXJzb3JfbG9j YXRpb25fY2hhbmdlZCAoR3JhcGhlbmUuUmVjdCBvYmplY3QpOwotKwkJW0hhc0VtaXR0ZXJdCi0r CQlwdWJsaWMgc2lnbmFsIHZvaWQgZGVsZXRlX3N1cnJvdW5kaW5nIChpbnQgb2Zmc2V0LCB1aW50 IGxlbik7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgaW5wdXRfcGFuZWxfc3RhdGUgKENsdXR0ZXIu SW5wdXRQYW5lbFN0YXRlIG9iamVjdCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCXB1YmxpYyBzaWdu YWwgdm9pZCByZXF1ZXN0X3N1cnJvdW5kaW5nICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnRlcnZh bF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBj bGFzcyBJbnRlcnZhbCA6IEdMaWIuSW5pdGlhbGx5VW5vd25lZCwgQ2x1dHRlci5TY3JpcHRhYmxl IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1Ymxp YyBJbnRlcnZhbCAoR0xpYi5UeXBlIGd0eXBlLCAuLi4pOwotKwkJcHVibGljIENsdXR0ZXIuSW50 ZXJ2YWwgY2xvbmUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMg dW5vd25lZCBHTGliLlZhbHVlPyBjb21wdXRlIChkb3VibGUgZmFjdG9yKTsKLSsJCXB1YmxpYyB2 aXJ0dWFsIGJvb2wgY29tcHV0ZV92YWx1ZSAoZG91YmxlIGZhY3Rvciwgb3V0IEdMaWIuVmFsdWUg dmFsdWUpOwotKwkJcHVibGljIEdMaWIuVmFsdWUgZ2V0X2ZpbmFsX3ZhbHVlICgpOwotKwkJcHVi bGljIEdMaWIuVmFsdWUgZ2V0X2luaXRpYWxfdmFsdWUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRf aW50ZXJ2YWwgKC4uLik7Ci0rCQlwdWJsaWMgR0xpYi5UeXBlIGdldF92YWx1ZV90eXBlICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIGlzX3ZhbGlkICgp OwotKwkJcHVibGljIHVub3duZWQgR0xpYi5WYWx1ZT8gcGVla19maW5hbF92YWx1ZSAoKTsKLSsJ CXB1YmxpYyB1bm93bmVkIEdMaWIuVmFsdWU/IHBlZWtfaW5pdGlhbF92YWx1ZSAoKTsKLSsJCXB1 YmxpYyBzdGF0aWMgdm9pZCByZWdpc3Rlcl9wcm9ncmVzc19mdW5jIChHTGliLlR5cGUgdmFsdWVf dHlwZSwgQ2x1dHRlci5Qcm9ncmVzc0Z1bmMgZnVuYyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2ZpbmFsICguLi4pOwotKwkJcHVibGljIHZvaWQg c2V0X2ZpbmFsX3ZhbHVlIChHTGliLlZhbHVlIHZhbHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfaW5pdGlhbCAoLi4uKTsKLSsJCXB1YmxpYyB2 b2lkIHNldF9pbml0aWFsX3ZhbHVlIChHTGliLlZhbHVlIHZhbHVlKTsKLSsJCXB1YmxpYyB2b2lk IHNldF9pbnRlcnZhbCAoLi4uKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgdmFsaWRhdGUgKEdM aWIuUGFyYW1TcGVjIHBzcGVjKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KLSsJCXB1YmxpYyBJbnRlcnZhbC53aXRoX3ZhbHVlcyAoR0xpYi5UeXBlIGd0eXBl LCBHTGliLlZhbHVlPyBpbml0aWFsLCBHTGliLlZhbHVlPyBmaW5hbCk7Ci0rCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR0xpYi5W YWx1ZSBmaW5hbCB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR0xpYi5WYWx1ZSBpbml0aWFs IHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBHTGliLlR5cGUgdmFsdWVfdHlwZSB7IGdl dDsgY29uc3RydWN0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMC4yIildCi0rCXB1YmxpYyBjbGFzcyBLZXlFdmVudCA6IENsdXR0ZXIu RXZlbnQgewotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7Ci0rCQlw dWJsaWMgdWludDMyIGV2ZGV2X2NvZGU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZs YWdzOwotKwkJcHVibGljIHVpbnQxNiBoYXJkd2FyZV9rZXljb2RlOwotKwkJcHVibGljIHVpbnQg a2V5dmFsOwotKwkJcHVibGljIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVyX3N0YXRlOwot KwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0 dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0 ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMgdW5pY2hhciB1bmljb2RlX3ZhbHVlOwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9rZXlmcmFtZV90cmFuc2l0aW9uX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCi0rCXB1YmxpYyBjbGFzcyBLZXlmcmFtZVRyYW5zaXRpb24g OiBDbHV0dGVyLlByb3BlcnR5VHJhbnNpdGlvbiwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtD Q29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJUcmFu c2l0aW9uKiIpXQotKwkJcHVibGljIEtleWZyYW1lVHJhbnNpdGlvbiAoc3RyaW5nIHByb3BlcnR5 X25hbWUpOwotKwkJcHVibGljIHZvaWQgY2xlYXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfa2V5 X2ZyYW1lICh1aW50IGluZGV4Xywgb3V0IGRvdWJsZSBrZXksIG91dCBDbHV0dGVyLkFuaW1hdGlv bk1vZGUgbW9kZSwgb3V0IEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJcHVibGljIHVpbnQgZ2V0X25f a2V5X2ZyYW1lcyAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9rZXlfZnJhbWUgKHVpbnQgaW5kZXhf LCBkb3VibGUga2V5LCBDbHV0dGVyLkFuaW1hdGlvbk1vZGUgbW9kZSwgR0xpYi5WYWx1ZSB2YWx1 ZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfa2V5X2ZyYW1lcyAoW0NDb2RlIChhcnJheV9sZW5ndGhf Y25hbWUgPSAibl9rZXlfZnJhbWVzIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDAuNSwgYXJyYXlfbGVu Z3RoX3R5cGUgPSAiZ3VpbnQiKV0gZG91YmxlW10ga2V5X2ZyYW1lcyk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfbW9kZXMgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fbW9kZXMiLCBhcnJh eV9sZW5ndGhfcG9zID0gMC41LCBhcnJheV9sZW5ndGhfdHlwZSA9ICJndWludCIpXSBDbHV0dGVy LkFuaW1hdGlvbk1vZGVbXSBtb2Rlcyk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfdmFsdWVzIChbQ0Nv ZGUgKGFycmF5X2xlbmd0aF9jbmFtZSA9ICJuX3ZhbHVlcyIsIGFycmF5X2xlbmd0aF9wb3MgPSAw LjUsIGFycmF5X2xlbmd0aF90eXBlID0gImd1aW50IildIEdMaWIuVmFsdWVbXSB2YWx1ZXMpOwot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9rZXltYXBfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0 IGNsYXNzIEtleW1hcCA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9m dW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBLZXltYXAgKCk7Ci0rCQlwdWJsaWMgdmly dHVhbCBib29sIGdldF9jYXBzX2xvY2tfc3RhdGUgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBQYW5n by5EaXJlY3Rpb24gZ2V0X2RpcmVjdGlvbiAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgZ2V0 X251bV9sb2NrX3N0YXRlICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHN0YXRlX2NoYW5nZWQg KCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgdHlwZV9pZCA9ICJjbHV0dGVyX2xheWVyX25vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGNsYXNzIExheWVyTm9kZSA6IENsdXR0ZXIuUGFpbnROb2RlIHsKLSsJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJQYWludE5vZGUqIildCi0r CQlwdWJsaWMgTGF5ZXJOb2RlIChHcmFwaGVuZS5NYXRyaXggcHJvamVjdGlvbiwgQ2Fpcm8uUmVj dGFuZ2xlIHZpZXdwb3J0LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0LCB1aW50OCBvcGFjaXR5 KTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNs dXR0ZXJQYWludE5vZGUqIildCi0rCQlwdWJsaWMgTGF5ZXJOb2RlLnRvX2ZyYW1lYnVmZmVyIChD b2dsLkZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyLCBDb2dsLlBpcGVsaW5lIHBpcGVsaW5lKTsKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBl X2lkID0gImNsdXR0ZXJfbGF5b3V0X21hbmFnZXJfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjEuMiIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgTGF5b3V0TWFuYWdlciA6 IEdMaWIuSW5pdGlhbGx5VW5vd25lZCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgTGF5b3V0TWFuYWdlciAoKTsKLSsJCXB1YmxpYyB2 aXJ0dWFsIHZvaWQgYWxsb2NhdGUgKENsdXR0ZXIuQ29udGFpbmVyIGNvbnRhaW5lciwgQ2x1dHRl ci5BY3RvckJveCBhbGxvY2F0aW9uKTsKLSsJCXB1YmxpYyB2b2lkIGNoaWxkX2dldCAoQ2x1dHRl ci5Db250YWluZXIgY29udGFpbmVyLCBDbHV0dGVyLkFjdG9yIGFjdG9yLCAuLi4pOwotKwkJcHVi bGljIHZvaWQgY2hpbGRfZ2V0X3Byb3BlcnR5IChDbHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIs IENsdXR0ZXIuQWN0b3IgYWN0b3IsIHN0cmluZyBwcm9wZXJ0eV9uYW1lLCBHTGliLlZhbHVlIHZh bHVlKTsKLSsJCXB1YmxpYyB2b2lkIGNoaWxkX3NldCAoQ2x1dHRlci5Db250YWluZXIgY29udGFp bmVyLCBDbHV0dGVyLkFjdG9yIGFjdG9yLCAuLi4pOwotKwkJcHVibGljIHZvaWQgY2hpbGRfc2V0 X3Byb3BlcnR5IChDbHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0b3IgYWN0 b3IsIHN0cmluZyBwcm9wZXJ0eV9uYW1lLCBHTGliLlZhbHVlIHZhbHVlKTsKLSsJCVtOb1dyYXBw ZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWV0YSBjcmVhdGVf Y2hpbGRfbWV0YSAoQ2x1dHRlci5Db250YWluZXIgY29udGFpbmVyLCBDbHV0dGVyLkFjdG9yIGFj dG9yKTsKLSsJCXB1YmxpYyB1bm93bmVkIEdMaWIuUGFyYW1TcGVjIGZpbmRfY2hpbGRfcHJvcGVy dHkgKHN0cmluZyBuYW1lKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWV0YSBnZXRfY2hpbGRfbWV0YSAoQ2x1dHRlci5Db250 YWluZXIgY29udGFpbmVyLCBDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtOb1dyYXBwZXJdCi0r CQlwdWJsaWMgdmlydHVhbCBHTGliLlR5cGUgZ2V0X2NoaWxkX21ldGFfdHlwZSAoKTsKLSsJCXB1 YmxpYyB2aXJ0dWFsIHZvaWQgZ2V0X3ByZWZlcnJlZF9oZWlnaHQgKENsdXR0ZXIuQ29udGFpbmVy IGNvbnRhaW5lciwgZmxvYXQgZm9yX3dpZHRoLCBvdXQgZmxvYXQgbWluX2hlaWdodF9wLCBvdXQg ZmxvYXQgbmF0X2hlaWdodF9wKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZ2V0X3ByZWZlcnJl ZF93aWR0aCAoQ2x1dHRlci5Db250YWluZXIgY29udGFpbmVyLCBmbG9hdCBmb3JfaGVpZ2h0LCBv dXQgZmxvYXQgbWluX3dpZHRoX3AsIG91dCBmbG9hdCBuYXRfd2lkdGhfcCk7Ci0rCQlbQ0NvZGUg KGFycmF5X2xlbmd0aF9wb3MgPSAwLjEsIGFycmF5X2xlbmd0aF90eXBlID0gImd1aW50IildCi0r CQlwdWJsaWMgR0xpYi5QYXJhbVNwZWNbXSBsaXN0X2NoaWxkX3Byb3BlcnRpZXMgKCk7Ci0rCQlw dWJsaWMgdmlydHVhbCB2b2lkIHNldF9jb250YWluZXIgKENsdXR0ZXIuQ29udGFpbmVyPyBjb250 YWluZXIpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBs YXlvdXRfY2hhbmdlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfbGF5b3V0X21ldGFfZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xh c3MgTGF5b3V0TWV0YSA6IENsdXR0ZXIuQ2hpbGRNZXRhIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBMYXlvdXRNZXRhICgpOwotKwkJ cHVibGljIHVub3duZWQgQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIGdldF9tYW5hZ2VyICgpOwotKwkJ cHVibGljIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBtYW5hZ2VyIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIw LjIiKV0KLSsJcHVibGljIGNsYXNzIE1vdGlvbkV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlw dWJsaWMgZG91YmxlIGF4ZXM7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRl dmljZTsKLSsJCXB1YmxpYyBkb3VibGUgZHg7Ci0rCQlwdWJsaWMgZG91YmxlIGR4X3VuYWNjZWw7 Ci0rCQlwdWJsaWMgZG91YmxlIGR5OwotKwkJcHVibGljIGRvdWJsZSBkeV91bmFjY2VsOwotKwkJ cHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyBDbHV0dGVyLk1vZGlm aWVyVHlwZSBtb2RpZmllcl9zdGF0ZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291 cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1YmxpYyB1aW50 MzIgdGltZTsKLSsJCXB1YmxpYyBpbnQ2NCB0aW1lX3VzOwotKwkJcHVibGljIENsdXR0ZXIuRXZl bnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMgZmxvYXQgeDsKLSsJCXB1YmxpYyBmbG9hdCB5OwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9vZmZzY3JlZW5fZWZmZWN0X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9u IChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIE9mZnNjcmVlbkVmZmVj dCA6IENsdXR0ZXIuRWZmZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBPZmZzY3JlZW5FZmZlY3QgKCk7Ci0rCQlwdWJsaWMgdmly dHVhbCBDb2dsLkhhbmRsZSBjcmVhdGVfdGV4dHVyZSAoZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdo dCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLlBpcGVsaW5lPyBnZXRfcGlwZWxpbmUgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgYm9vbCBnZXRfdGFyZ2V0X3Np emUgKG91dCBmbG9hdCB3aWR0aCwgb3V0IGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVub3duZWQgQ29nbC5IYW5kbGUgZ2V0X3RleHR1cmUg KCk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHBhaW50X3RhcmdldCAoQ2x1dHRlci5QYWludE5v ZGUgbm9kZSwgQ2x1dHRlci5QYWludENvbnRleHQgcGFpbnRfY29udGV4dCk7Ci0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQg PSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgUGFkQnV0dG9uRXZlbnQgOiBD bHV0dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyB1aW50MzIgYnV0dG9uOwotKwkJcHVibGljIHdlYWsg Q2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdz IGZsYWdzOwotKwkJcHVibGljIHVpbnQzMiBncm91cDsKLSsJCXB1YmxpYyB1aW50MzIgbW9kZTsK LSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1 dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1YmxpYyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0 dGVyLkV2ZW50VHlwZSB0eXBlOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJ cHVibGljIGNsYXNzIFBhZFJpbmdFdmVudCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIGRv dWJsZSBhbmdsZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwot KwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB1aW50MzIgZ3Jv dXA7Ci0rCQlwdWJsaWMgdWludDMyIG1vZGU7Ci0rCQlwdWJsaWMgdWludDMyIHJpbmdfbnVtYmVy OwotKwkJcHVibGljIENsdXR0ZXIuSW5wdXREZXZpY2VQYWRTb3VyY2UgcmluZ19zb3VyY2U7Ci0r CQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0 ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1 YmxpYyBjbGFzcyBQYWRTdHJpcEV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgd2Vh ayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50Rmxh Z3MgZmxhZ3M7Ci0rCQlwdWJsaWMgdWludDMyIGdyb3VwOwotKwkJcHVibGljIHVpbnQzMiBtb2Rl OwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBD bHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiBzdHJpcF9udW1iZXI7Ci0rCQlw dWJsaWMgQ2x1dHRlci5JbnB1dERldmljZVBhZFNvdXJjZSBzdHJpcF9zb3VyY2U7Ci0rCQlwdWJs aWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1 YmxpYyBkb3VibGUgdmFsdWU7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhZ2VfdHVybl9lZmZlY3RfZ2V0 X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgY2xhc3Mg UGFnZVR1cm5FZmZlY3QgOiBDbHV0dGVyLkRlZm9ybUVmZmVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19j b25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyRWZmZWN0KiIpXQotKwkJ cHVibGljIFBhZ2VUdXJuRWZmZWN0IChkb3VibGUgcGVyaW9kLCBkb3VibGUgYW5nbGUsIGZsb2F0 IHJhZGl1cyk7Ci0rCQlwdWJsaWMgZG91YmxlIGdldF9hbmdsZSAoKTsKLSsJCXB1YmxpYyBkb3Vi bGUgZ2V0X3BlcmlvZCAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfcmFkaXVzICgpOwotKwkJcHVi bGljIHZvaWQgc2V0X2FuZ2xlIChkb3VibGUgYW5nbGUpOwotKwkJcHVibGljIHZvaWQgc2V0X3Bl cmlvZCAoZG91YmxlIHBlcmlvZCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcmFkaXVzIChmbG9hdCBy YWRpdXMpOwotKwkJcHVibGljIGRvdWJsZSBhbmdsZSB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMg ZG91YmxlIHBlcmlvZCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgZmxvYXQgcmFkaXVzIHsgZ2V0 OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCByZWZfZnVuY3Rpb24gPSAiY2x1dHRlcl9wYWludF9jb250ZXh0X3JlZiIsIHR5cGVf aWQgPSAiY2x1dHRlcl9wYWludF9jb250ZXh0X2dldF90eXBlICgpIiwgdW5yZWZfZnVuY3Rpb24g PSAiY2x1dHRlcl9wYWludF9jb250ZXh0X3VucmVmIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMg Y2xhc3MgUGFpbnRDb250ZXh0IHsKLSsJCXB1YmxpYyB2b2lkIGRlc3Ryb3kgKCk7Ci0rCQlwdWJs aWMgdW5vd25lZCBDb2dsLkZyYW1lYnVmZmVyIGdldF9mcmFtZWJ1ZmZlciAoKTsKLSsJCXB1Ymxp YyB1bm93bmVkIENhaXJvLlJlZ2lvbiBnZXRfcmVkcmF3X2NsaXAgKCk7Ci0rCQlwdWJsaWMgdm9p ZCBwb3BfZnJhbWVidWZmZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBwdXNoX2ZyYW1lYnVmZmVyIChD b2dsLkZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIu UGFpbnRDb250ZXh0IEByZWYgKCk7Ci0rCQlwdWJsaWMgdm9pZCB1bnJlZiAoKTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0g ImNsdXR0ZXJfcGFpbnRfbm9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgUGFpbnROb2RlIHsKLSsJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBQYWludE5vZGUg KCk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfY2hpbGQgKENsdXR0ZXIuUGFpbnROb2RlIGNoaWxkKTsK LSsJCXB1YmxpYyB2b2lkIGFkZF9tdWx0aXRleHR1cmVfcmVjdGFuZ2xlIChDbHV0dGVyLkFjdG9y Qm94IHJlY3QsIGZsb2F0IHRleHRfY29vcmRzLCB1aW50IHRleHRfY29vcmRzX2xlbik7Ci0rCQlw dWJsaWMgdm9pZCBhZGRfcmVjdGFuZ2xlIChDbHV0dGVyLkFjdG9yQm94IHJlY3QpOwotKwkJcHVi bGljIHZvaWQgYWRkX3JlY3RhbmdsZXMgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5f cmVjdHMiLCBhcnJheV9sZW5ndGhfcG9zID0gMS4xLCBhcnJheV9sZW5ndGhfdHlwZSA9ICJndWlu dCIpXSBmbG9hdFtdIGNvb3Jkcyk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfdGV4dHVyZV9yZWN0YW5n bGUgKENsdXR0ZXIuQWN0b3JCb3ggcmVjdCwgZmxvYXQgeF8xLCBmbG9hdCB5XzEsIGZsb2F0IHhf MiwgZmxvYXQgeV8yKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF90ZXh0dXJlX3JlY3RhbmdsZXMgKFtD Q29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fcmVjdHMiLCBhcnJheV9sZW5ndGhfcG9zID0g MS4xLCBhcnJheV9sZW5ndGhfdHlwZSA9ICJndWludCIpXSBmbG9hdFtdIGNvb3Jkcyk7Ci0rCQlw dWJsaWMgdW5vd25lZCBDb2dsLkZyYW1lYnVmZmVyIGdldF9mcmFtZWJ1ZmZlciAoKTsKLSsJCXB1 YmxpYyB2b2lkIHBhaW50IChDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9jb250ZXh0KTsKLSsJ CXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnROb2RlIEByZWYgKCk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfbmFtZSAoc3RyaW5nIG5hbWUpOwotKwkJcHVibGljIHZvaWQgdW5yZWYgKCk7Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX3Bhbl9hY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNzIFBhbkFjdGlvbiA6IENsdXR0ZXIuR2VzdHVyZUFj dGlvbiB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9 ICJDbHV0dGVyQWN0aW9uKiIpXQotKwkJcHVibGljIFBhbkFjdGlvbiAoKTsKLSsJCXB1YmxpYyBk b3VibGUgZ2V0X2FjY2VsZXJhdGlvbl9mYWN0b3IgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4yNCIpXQotKwkJcHVibGljIGZsb2F0IGdldF9jb25zdHJhaW5lZF9tb3Rpb25fZGVsdGEgKHVp bnQgcG9pbnQsIG91dCBmbG9hdCBkZWx0YV94LCBvdXQgZmxvYXQgZGVsdGFfeSk7Ci0rCQlwdWJs aWMgZG91YmxlIGdldF9kZWNlbGVyYXRpb24gKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfaW50ZXJw b2xhdGUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfaW50ZXJwb2xhdGVkX2Nvb3JkcyAob3V0IGZs b2F0IGludGVycG9sYXRlZF94LCBvdXQgZmxvYXQgaW50ZXJwb2xhdGVkX3kpOwotKwkJcHVibGlj IGZsb2F0IGdldF9pbnRlcnBvbGF0ZWRfZGVsdGEgKG91dCBmbG9hdCBkZWx0YV94LCBvdXQgZmxv YXQgZGVsdGFfeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIHZv aWQgZ2V0X21vdGlvbl9jb29yZHMgKHVpbnQgcG9pbnQsIG91dCBmbG9hdCBtb3Rpb25feCwgb3V0 IGZsb2F0IG1vdGlvbl95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE0IildCi0rCQlwdWJs aWMgZmxvYXQgZ2V0X21vdGlvbl9kZWx0YSAodWludCBwb2ludCwgb3V0IGZsb2F0IGRlbHRhX3gs IG91dCBmbG9hdCBkZWx0YV95KTsKLSsJCXB1YmxpYyBDbHV0dGVyLlBhbkF4aXMgZ2V0X3Bhbl9h eGlzICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2FjY2VsZXJhdGlvbl9mYWN0b3IgKGRvdWJsZSBm YWN0b3IpOwotKwkJcHVibGljIHZvaWQgc2V0X2RlY2VsZXJhdGlvbiAoZG91YmxlIHJhdGUpOwot KwkJcHVibGljIHZvaWQgc2V0X2ludGVycG9sYXRlIChib29sIHNob3VsZF9pbnRlcnBvbGF0ZSk7 Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcGFuX2F4aXMgKENsdXR0ZXIuUGFuQXhpcyBheGlzKTsKLSsJ CXB1YmxpYyBkb3VibGUgYWNjZWxlcmF0aW9uX2ZhY3RvciB7IGdldDsgc2V0OyB9Ci0rCQlwdWJs aWMgZG91YmxlIGRlY2VsZXJhdGlvbiB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgYm9vbCBpbnRl cnBvbGF0ZSB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5QYW5BeGlzIHBhbl9heGlz IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIHBhbiAoQ2x1dHRl ci5BY3RvciBhY3RvciwgYm9vbCBpc19pbnRlcnBvbGF0ZWQpOwotKwkJcHVibGljIHZpcnR1YWwg c2lnbmFsIHZvaWQgcGFuX3N0b3BwZWQgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGxvd2VyX2Nhc2Vf Y3N1ZmZpeCA9ICJwYXJhbV91bml0cyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYXJhbV91bml0c19n ZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgUGFyYW1TcGVjVW5pdCA6IEdMaWIuUGFyYW1T cGVjIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXBy b3RlY3RlZCBQYXJhbVNwZWNVbml0ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYXRoX2dldF90eXBl ICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIGNsYXNzIFBhdGgg OiBHTGliLkluaXRpYWxseVVub3duZWQgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UpXQotKwkJcHVibGljIFBhdGggKCk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfY2Fp cm9fcGF0aCAoQ2Fpcm8uUGF0aCBjcGF0aCk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfY2xvc2UgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBhZGRfY3VydmVfdG8gKGludCB4XzEsIGludCB5XzEsIGludCB4XzIs IGludCB5XzIsIGludCB4XzMsIGludCB5XzMpOwotKwkJcHVibGljIHZvaWQgYWRkX2xpbmVfdG8g KGludCB4LCBpbnQgeSk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfbW92ZV90byAoaW50IHgsIGludCB5 KTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9ub2RlIChDbHV0dGVyLlBhdGhOb2RlIG5vZGUpOwotKwkJ cHVibGljIHZvaWQgYWRkX3JlbF9jdXJ2ZV90byAoaW50IHhfMSwgaW50IHlfMSwgaW50IHhfMiwg aW50IHlfMiwgaW50IHhfMywgaW50IHlfMyk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfcmVsX2xpbmVf dG8gKGludCB4LCBpbnQgeSk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfcmVsX21vdmVfdG8gKGludCB4 LCBpbnQgeSk7Ci0rCQlwdWJsaWMgYm9vbCBhZGRfc3RyaW5nIChzdHJpbmcgc3RyKTsKLSsJCXB1 YmxpYyB2b2lkIGNsZWFyICgpOwotKwkJcHVibGljIHZvaWQgQGZvcmVhY2ggKENsdXR0ZXIuUGF0 aENhbGxiYWNrIGNhbGxiYWNrKTsKLSsJCXB1YmxpYyBzdHJpbmcgZ2V0X2Rlc2NyaXB0aW9uICgp OwotKwkJcHVibGljIHVpbnQgZ2V0X2xlbmd0aCAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF9uX25v ZGVzICgpOwotKwkJcHVibGljIENsdXR0ZXIuUGF0aE5vZGUgZ2V0X25vZGUgKHVpbnQgaW5kZXhf KTsKLSsJCXB1YmxpYyBHTGliLlNMaXN0PHdlYWsgQ2x1dHRlci5QYXRoTm9kZT8+IGdldF9ub2Rl cyAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF9wb3NpdGlvbiAoZG91YmxlIHByb2dyZXNzLCBvdXQg Q2x1dHRlci5Lbm90IHBvc2l0aW9uKTsKLSsJCXB1YmxpYyB2b2lkIGluc2VydF9ub2RlIChpbnQg aW5kZXhfLCBDbHV0dGVyLlBhdGhOb2RlIG5vZGUpOwotKwkJcHVibGljIHZvaWQgcmVtb3ZlX25v ZGUgKHVpbnQgaW5kZXhfKTsKLSsJCXB1YmxpYyB2b2lkIHJlcGxhY2Vfbm9kZSAodWludCBpbmRl eF8sIENsdXR0ZXIuUGF0aE5vZGUgbm9kZSk7Ci0rCQlwdWJsaWMgYm9vbCBzZXRfZGVzY3JpcHRp b24gKHN0cmluZyBzdHIpOwotKwkJcHVibGljIHZvaWQgdG9fY2Fpcm9fcGF0aCAoQ2Fpcm8uQ29u dGV4dCBjcik7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0r CQlwdWJsaWMgUGF0aC53aXRoX2Rlc2NyaXB0aW9uIChzdHJpbmcgZGVzYyk7Ci0rCQlwdWJsaWMg c3RyaW5nIGRlc2NyaXB0aW9uIHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyB1aW50IGxl bmd0aCB7IGdldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYXRoX2NvbnN0cmFpbnRfZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwlwdWJsaWMgY2xhc3MgUGF0aENv bnN0cmFpbnQgOiBDbHV0dGVyLkNvbnN0cmFpbnQgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckNvbnN0cmFpbnQqIildCi0rCQlwdWJs aWMgUGF0aENvbnN0cmFpbnQgKENsdXR0ZXIuUGF0aD8gcGF0aCwgZmxvYXQgb2Zmc2V0KTsKLSsJ CXB1YmxpYyBmbG9hdCBnZXRfb2Zmc2V0ICgpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5Q YXRoIGdldF9wYXRoICgpOwotKwkJcHVibGljIHZvaWQgc2V0X29mZnNldCAoZmxvYXQgb2Zmc2V0 KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wYXRoIChDbHV0dGVyLlBhdGg/IHBhdGgpOwotKwkJcHVi bGljIGZsb2F0IG9mZnNldCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5QYXRoIHBh dGggeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIG5vZGVfcmVhY2hlZCAoQ2x1 dHRlci5BY3RvciBhY3RvciwgdWludCBpbmRleCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgcmVmX2Z1bmN0aW9uID0gImNsdXR0ZXJfcGlj a19jb250ZXh0X3JlZiIsIHR5cGVfaWQgPSAiY2x1dHRlcl9waWNrX2NvbnRleHRfZ2V0X3R5cGUg KCkiLCB1bnJlZl9mdW5jdGlvbiA9ICJjbHV0dGVyX3BpY2tfY29udGV4dF91bnJlZiIpXQotKwlb Q29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFBpY2tDb250ZXh0IHsKLSsJCXB1YmxpYyB2b2lkIGRl c3Ryb3kgKCk7Ci0rCQlwdWJsaWMgR3JhcGhlbmUuTWF0cml4IGdldF90cmFuc2Zvcm0gKCk7Ci0r CQlwdWJsaWMgdm9pZCBsb2dfcGljayAoQ2x1dHRlci5BY3RvckJveCBib3gsIENsdXR0ZXIuQWN0 b3IgYWN0b3IpOwotKwkJcHVibGljIHZvaWQgcG9wX2NsaXAgKCk7Ci0rCQlwdWJsaWMgdm9pZCBw b3BfdHJhbnNmb3JtICgpOwotKwkJcHVibGljIHZvaWQgcHVzaF9jbGlwIChDbHV0dGVyLkFjdG9y Qm94IGJveCk7Ci0rCQlwdWJsaWMgdm9pZCBwdXNoX3RyYW5zZm9ybSAoR3JhcGhlbmUuTWF0cml4 IHRyYW5zZm9ybSk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlBpY2tDb250ZXh0IEByZWYg KCk7Ci0rCQlwdWJsaWMgdm9pZCB1bnJlZiAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGlwZWxpbmVf bm9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJs aWMgY2xhc3MgUGlwZWxpbmVOb2RlIDogQ2x1dHRlci5QYWludE5vZGUgewotKwkJW0NDb2RlICho YXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoi KV0KLSsJCXB1YmxpYyBQaXBlbGluZU5vZGUgKENvZ2wuUGlwZWxpbmU/IHBpcGVsaW5lKTsKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBl X2lkID0gImNsdXR0ZXJfcHJvcGVydHlfdHJhbnNpdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgY2xhc3MgUHJvcGVydHlUcmFuc2l0aW9u IDogQ2x1dHRlci5UcmFuc2l0aW9uLCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlICho YXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclRyYW5zaXRpb24q IildCi0rCQlwdWJsaWMgUHJvcGVydHlUcmFuc2l0aW9uIChzdHJpbmc/IHByb3BlcnR5X25hbWUp OwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1 dHRlclRyYW5zaXRpb24qIildCi0rCQlwdWJsaWMgUHJvcGVydHlUcmFuc2l0aW9uLmZvcl9hY3Rv ciAoQ2x1dHRlci5BY3RvciBhY3Rvciwgc3RyaW5nPyBwcm9wZXJ0eV9uYW1lKTsKLSsJCXB1Ymxp YyB1bm93bmVkIHN0cmluZyBnZXRfcHJvcGVydHlfbmFtZSAoKTsKLSsJCXB1YmxpYyB2b2lkIHNl dF9wcm9wZXJ0eV9uYW1lIChzdHJpbmc/IHByb3BlcnR5X25hbWUpOwotKwkJcHVibGljIHN0cmlu ZyBwcm9wZXJ0eV9uYW1lIHsgZ2V0OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0Nv bXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI4IildCi0rCXB1YmxpYyBjbGFzcyBQcm94 aW1pdHlFdmVudCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1 dERldmljZSBkZXZpY2U7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJ cHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVy LlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0ZXIu RXZlbnRUeXBlIHR5cGU7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3Jvb3Rfbm9kZV9nZXRfdHlwZSAoKSIp XQotKwlwdWJsaWMgY2xhc3MgUm9vdE5vZGUgOiBDbHV0dGVyLlBhaW50Tm9kZSB7Ci0rCQlbQ0Nv ZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnRO b2RlKiIpXQotKwkJcHVibGljIFJvb3ROb2RlIChDb2dsLkZyYW1lYnVmZmVyIGZyYW1lYnVmZmVy LCBDbHV0dGVyLkNvbG9yIGNsZWFyX2NvbG9yLCBDb2dsLkJ1ZmZlckJpdCBjbGVhcl9mbGFncyk7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX3JvdGF0ZV9hY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNzIFJvdGF0ZUFjdGlvbiA6IENsdXR0 ZXIuR2VzdHVyZUFjdGlvbiB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQotKwkJcHVibGljIFJvdGF0ZUFjdGlvbiAo KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIHJvdGF0ZSAoQ2x1dHRlci5BY3RvciBh Y3RvciwgZG91YmxlIGFuZ2xlKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc2NyaXB0X2dldF90eXBlICgp IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVibGljIGNsYXNzIFNjcmlwdCA6 IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl KV0KLSsJCXB1YmxpYyBTY3JpcHQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0r CQlwdWJsaWMgdm9pZCBhZGRfc2VhcmNoX3BhdGhzIChbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFt ZSA9ICJuX3BhdGhzIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuMSwgYXJyYXlfbGVuZ3RoX3R5cGUg PSAiZ3NpemUiKV0gc3RyaW5nW10gcGF0aHMpOwotKwkJcHVibGljIHZvaWQgY29ubmVjdF9zaWdu YWxzICh2b2lkKiB1c2VyX2RhdGEpOwotKwkJcHVibGljIHZvaWQgY29ubmVjdF9zaWduYWxzX2Z1 bGwgKENsdXR0ZXIuU2NyaXB0Q29ubmVjdEZ1bmMgZnVuYyk7Ci0rCQlwdWJsaWMgdm9pZCBlbnN1 cmVfb2JqZWN0cyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIEdMaWIuT2JqZWN0IGdldF9vYmplY3Qg KHN0cmluZyBuYW1lKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X29iamVjdHMgKC4uLik7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF90cmFu c2xhdGlvbl9kb21haW4gKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBHTGliLlR5cGUgZ2V0X3R5cGVf ZnJvbV9uYW1lIChzdHJpbmcgdHlwZV9uYW1lKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgi KV0KLSsJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBHTGliLk9iamVjdD4gbGlzdF9vYmplY3RzICgp OwotKwkJcHVibGljIHVpbnQgbG9hZF9mcm9tX2RhdGEgKHN0cmluZyBkYXRhLCBzc2l6ZV90IGxl bmd0aCkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlwdWJsaWMgdWludCBsb2FkX2Zyb21fZmlsZSAo c3RyaW5nIGZpbGVuYW1lKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCi0rCQlwdWJsaWMgdWludCBsb2FkX2Zyb21fcmVzb3VyY2UgKHN0cmluZyByZXNv dXJjZV9wYXRoKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgi KV0KLSsJCXB1YmxpYyBzdHJpbmcgbG9va3VwX2ZpbGVuYW1lIChzdHJpbmcgZmlsZW5hbWUpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF90cmFuc2xh dGlvbl9kb21haW4gKHN0cmluZz8gZG9tYWluKTsKLSsJCXB1YmxpYyB2b2lkIHVubWVyZ2Vfb2Jq ZWN0cyAodWludCBtZXJnZV9pZCk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBz dHJpbmcgZmlsZW5hbWUgeyBvd25lZCBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ cHVibGljIGJvb2wgZmlsZW5hbWVfc2V0IHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIHN0cmluZyB0cmFuc2xhdGlvbl9kb21haW4geyBnZXQ7IHNldDsg fQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9zY3JvbGxfYWN0b3JfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNzIFNjcm9sbEFjdG9yIDogQ2x1dHRl ci5BY3RvciwgQXRrLkltcGxlbWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUsIENsdXR0ZXIuQ29u dGFpbmVyLCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdG9yKiIpXQotKwkJcHVibGljIFNjcm9s bEFjdG9yICgpOwotKwkJcHVibGljIENsdXR0ZXIuU2Nyb2xsTW9kZSBnZXRfc2Nyb2xsX21vZGUg KCk7Ci0rCQlwdWJsaWMgdm9pZCBzY3JvbGxfdG9fcG9pbnQgKEdyYXBoZW5lLlBvaW50IHBvaW50 KTsKLSsJCXB1YmxpYyB2b2lkIHNjcm9sbF90b19yZWN0IChHcmFwaGVuZS5SZWN0IHJlY3QpOwot KwkJcHVibGljIHZvaWQgc2V0X3Njcm9sbF9tb2RlIChDbHV0dGVyLlNjcm9sbE1vZGUgbW9kZSk7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxNb2RlIHNjcm9sbF9tb2RlIHsgZ2V0OyBzZXQ7IH0K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIw LjIiKV0KLSsJcHVibGljIGNsYXNzIFNjcm9sbEV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlw dWJsaWMgZG91YmxlIGF4ZXM7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRl dmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLlNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb247Ci0rCQlw dWJsaWMgQ2x1dHRlci5TY3JvbGxGaW5pc2hGbGFncyBmaW5pc2hfZmxhZ3M7Ci0rCQlwdWJsaWMg Q2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIENsdXR0ZXIuTW9kaWZpZXJUeXBl IG1vZGlmaWVyX3N0YXRlOwotKwkJcHVibGljIENsdXR0ZXIuU2Nyb2xsU291cmNlIHNjcm9sbF9z b3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3 ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJs aWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBmbG9hdCB4OwotKwkJcHVibGlj IGZsb2F0IHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NlYXRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGFic3RyYWN0IGNsYXNzIFNlYXQgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgU2VhdCAoKTsKLSsJCXB1Ymxp YyB2aXJ0dWFsIHZvaWQgYmVsbF9ub3RpZnkgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBDbHV0dGVy LlZpcnR1YWxJbnB1dERldmljZSBjcmVhdGVfdmlydHVhbF9kZXZpY2UgKENsdXR0ZXIuSW5wdXRE ZXZpY2VUeXBlIGRldmljZV90eXBlKTsKLSsJCXB1YmxpYyB2b2lkIGVuc3VyZV9hMTF5X3N0YXRl ICgpOwotKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBDbHV0dGVyLklucHV0RGV2aWNlIGdldF9r ZXlib2FyZCAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1dHRlci5LZXltYXAgZ2V0 X2tleW1hcCAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1dHRlci5JbnB1dERldmlj ZSBnZXRfcG9pbnRlciAoKTsKLSsJCXB1YmxpYyB2b2lkIGdldF9wb2ludGVyX2ExMXlfc2V0dGlu Z3MgKENsdXR0ZXIuUG9pbnRlckExMXlTZXR0aW5ncyBzZXR0aW5ncyk7Ci0rCQlwdWJsaWMgYm9v bCBnZXRfdG91Y2hfbW9kZSAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgaGFuZGxlX2V2ZW50 X3Bvc3QgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwotKwkJcHVibGljIHZvaWQgaW5oaWJpdF91bmZv Y3VzICgpOwotKwkJcHVibGljIGJvb2wgaXNfdW5mb2N1c19pbmhpYml0ZWQgKCk7Ci0rCQlwdWJs aWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5JbnB1dERldmljZT4gbGlzdF9kZXZpY2VzICgpOwot KwkJcHVibGljIHZpcnR1YWwgYm9vbCBxdWVyeV9zdGF0ZSAoQ2x1dHRlci5JbnB1dERldmljZSBk ZXZpY2UsIENsdXR0ZXIuRXZlbnRTZXF1ZW5jZSBzZXF1ZW5jZSwgR3JhcGhlbmUuUG9pbnQgY29v cmRzLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMpOwotKwkJcHVibGljIHZvaWQgc2V0 X3BvaW50ZXJfYTExeV9kd2VsbF9jbGlja190eXBlIChDbHV0dGVyLlBvaW50ZXJBMTF5RHdlbGxD bGlja1R5cGUgY2xpY2tfdHlwZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcG9pbnRlcl9hMTF5X3Nl dHRpbmdzIChDbHV0dGVyLlBvaW50ZXJBMTF5U2V0dGluZ3Mgc2V0dGluZ3MpOwotKwkJcHVibGlj IHZvaWQgdW5pbmhpYml0X3VuZm9jdXMgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHdhcnBf cG9pbnRlciAoaW50IHgsIGludCB5KTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGlj IENsdXR0ZXIuQmFja2VuZCBiYWNrZW5kIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1 YmxpYyBib29sIHRvdWNoX21vZGUgeyBnZXQ7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBkZXZp Y2VfYWRkZWQgKENsdXR0ZXIuSW5wdXREZXZpY2Ugb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwg dm9pZCBkZXZpY2VfcmVtb3ZlZCAoQ2x1dHRlci5JbnB1dERldmljZSBvYmplY3QpOwotKwkJcHVi bGljIHNpZ25hbCB2b2lkIGlzX3VuZm9jdXNfaW5oaWJpdGVkX2NoYW5nZWQgKCk7Ci0rCQlwdWJs aWMgc2lnbmFsIHZvaWQga2JkX2ExMXlfZmxhZ3NfY2hhbmdlZCAodWludCBzZXR0aW5nc19mbGFn cywgdWludCBjaGFuZ2VkX21hc2spOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGtiZF9hMTF5X21v ZHNfc3RhdGVfY2hhbmdlZCAodWludCBsYXRjaGVkX21hc2ssIHVpbnQgbG9ja2VkX21hc2spOwot KwkJcHVibGljIHNpZ25hbCB2b2lkIHB0cl9hMTF5X2R3ZWxsX2NsaWNrX3R5cGVfY2hhbmdlZCAo Q2x1dHRlci5Qb2ludGVyQTExeUR3ZWxsQ2xpY2tUeXBlIGNsaWNrX3R5cGUpOwotKwkJcHVibGlj IHNpZ25hbCB2b2lkIHB0cl9hMTF5X3RpbWVvdXRfc3RhcnRlZCAoQ2x1dHRlci5JbnB1dERldmlj ZSBkZXZpY2UsIENsdXR0ZXIuUG9pbnRlckExMXlUaW1lb3V0VHlwZSB0aW1lb3V0X3R5cGUsIHVp bnQgZGVsYXkpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHB0cl9hMTF5X3RpbWVvdXRfc3RvcHBl ZCAoQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2UsIENsdXR0ZXIuUG9pbnRlckExMXlUaW1lb3V0 VHlwZSB0aW1lb3V0X3R5cGUsIGJvb2wgY2xpY2tlZCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NldHRp bmdzX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGlj IGNsYXNzIFNldHRpbmdzIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFNldHRpbmdzICgpOwotKwkJcHVibGlj IHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuU2V0dGluZ3MgZ2V0X2RlZmF1bHQgKCk7Ci0rCQlbTm9B Y2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRl ZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgQ2x1dHRlci5CYWNr ZW5kIGJhY2tlbmQgeyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGludCBkbmRfZHJhZ190aHJlc2hvbGQg eyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IGRvdWJs ZV9jbGlja19kaXN0YW5jZSB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CXB1YmxpYyBpbnQgZG91YmxlX2NsaWNrX3RpbWUgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IGZvbnRfYW50aWFsaWFzIHsgZ2V0OyBzZXQ7IH0KLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGludCBmb250X2RwaSB7IGdldDsgc2V0OyB9 Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBzdHJpbmcgZm9udF9oaW50X3N0eWxl IHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGlu dCBmb250X2hpbnRpbmcgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlw dWJsaWMgc3RyaW5nIGZvbnRfbmFtZSB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KLSsJCXB1YmxpYyBzdHJpbmcgZm9udF9zdWJwaXhlbF9vcmRlciB7IG93bmVkIGdl dDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyB1aW50IGZvbnRjb25m aWdfdGltZXN0YW1wIHsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBpbnQgbG9uZ19wcmVzc19kdXJhdGlvbiB7IGdl dDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyB1aW50IHBhc3N3b3Jk X2hpbnRfdGltZSB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1Ymxp YyBpbnQgdW5zY2FsZWRfZm9udF9kcGkgeyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJ W0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBTaGFkZXIgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zaGFk ZXJfZWZmZWN0X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJ cHVibGljIGNsYXNzIFNoYWRlckVmZmVjdCA6IENsdXR0ZXIuT2Zmc2NyZWVuRWZmZWN0IHsKLSsJ CVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJF ZmZlY3QqIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgU2hhZGVy RWZmZWN0IChDbHV0dGVyLlNoYWRlclR5cGUgc2hhZGVyX3R5cGUpOwotKwkJcHVibGljIHVub3du ZWQgQ29nbC5IYW5kbGUgZ2V0X3Byb2dyYW0gKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkhh bmRsZSBnZXRfc2hhZGVyICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHN0 cmluZyBnZXRfc3RhdGljX3NoYWRlcl9zb3VyY2UgKCk7Ci0rCQlwdWJsaWMgYm9vbCBzZXRfc2hh ZGVyX3NvdXJjZSAoc3RyaW5nIHNvdXJjZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfdW5pZm9ybV92 YWx1ZSAoc3RyaW5nIG5hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJW05vQWNjZXNzb3JNZXRo b2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5TaGFkZXJUeXBlIHNoYWRlcl90eXBlIHsgY29uc3RydWN0 OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NoYWRlcl9mbG9hdF9nZXRfdHlwZSAoKSIpXQotKwlwdWJs aWMgY2xhc3MgU2hhZGVyRmxvYXQgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFNoYWRlckZsb2F0ICgpOwotKwl9Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRl cl9zaGFkZXJfaW50X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBTaGFkZXJJbnQgewot KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVk IFNoYWRlckludCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc2hhZGVyX21hdHJpeF9nZXRfdHlwZSAo KSIpXQotKwlwdWJsaWMgY2xhc3MgU2hhZGVyTWF0cml4IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTaGFkZXJNYXRyaXggKCk7Ci0r CX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX3NuYXBfY29uc3RyYWludF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS42IildCi0rCXB1YmxpYyBjbGFzcyBTbmFwQ29uc3RyYWludCA6IENsdXR0 ZXIuQ29uc3RyYWludCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSwgdHlwZSA9ICJDbHV0dGVyQ29uc3RyYWludCoiKV0KLSsJCXB1YmxpYyBTbmFwQ29uc3RyYWlu dCAoQ2x1dHRlci5BY3Rvcj8gc291cmNlLCBDbHV0dGVyLlNuYXBFZGdlIGZyb21fZWRnZSwgQ2x1 dHRlci5TbmFwRWRnZSB0b19lZGdlLCBmbG9hdCBvZmZzZXQpOwotKwkJcHVibGljIHZvaWQgZ2V0 X2VkZ2VzIChvdXQgQ2x1dHRlci5TbmFwRWRnZSBmcm9tX2VkZ2UsIG91dCBDbHV0dGVyLlNuYXBF ZGdlIHRvX2VkZ2UpOwotKwkJcHVibGljIGZsb2F0IGdldF9vZmZzZXQgKCk7Ci0rCQlwdWJsaWMg dW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9zb3VyY2UgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRf ZWRnZXMgKENsdXR0ZXIuU25hcEVkZ2UgZnJvbV9lZGdlLCBDbHV0dGVyLlNuYXBFZGdlIHRvX2Vk Z2UpOwotKwkJcHVibGljIHZvaWQgc2V0X29mZnNldCAoZmxvYXQgb2Zmc2V0KTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9zb3VyY2UgKENsdXR0ZXIuQWN0b3I/IHNvdXJjZSk7Ci0rCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KLSsJCXB1YmxpYyBDbHV0dGVyLlNuYXBFZGdlIGZyb21fZWRnZSB7IGdldDsgc2V0 IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIGZsb2F0IG9mZnNldCB7IGdldDsgc2V0IGNvbnN0cnVj dDsgfQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3Igc291cmNlIHsgZ2V0OyBzZXQgY29uc3RydWN0 OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBDbHV0dGVyLlNuYXBFZGdlIHRv X2VkZ2UgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc3RhZ2VfZ2V0 X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwlwdWJsaWMgY2xhc3Mg U3RhZ2UgOiBDbHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJs ZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgU3RhZ2UgKCk7Ci0r CQlwdWJsaWMgdm9pZCBjYXB0dXJlX2ludG8gKENhaXJvLlJlY3RhbmdsZUludCByZWN0LCB1aW50 OCBkYXRhKTsKLSsJCXB1YmxpYyB2b2lkIGNsZWFyX3N0YWdlX3ZpZXdzICgpOwotKwkJW0NDb2Rl IChjbmFtZSA9ICJjbHV0dGVyX3N0YWdlX2V2ZW50IildCi0rCQlwdWJsaWMgYm9vbCBlbWl0X2V2 ZW50IChDbHV0dGVyLkV2ZW50IGV2ZW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K LSsJCXB1YmxpYyB2b2lkIGVuc3VyZV92aWV3cG9ydCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENs dXR0ZXIuQWN0b3IgZ2V0X2FjdG9yX2F0X3BvcyAoQ2x1dHRlci5QaWNrTW9kZSBwaWNrX21vZGUs IGZsb2F0IHgsIGZsb2F0IHkpOwotKwkJcHVibGljIGJvb2wgZ2V0X2NhcHR1cmVfZmluYWxfc2l6 ZSAoQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIG91dCBpbnQgb3V0X3dpZHRoLCBvdXQgaW50IG91 dF9oZWlnaHQsIG91dCBmbG9hdCBvdXRfc2NhbGUpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRl ci5BY3RvciBnZXRfZGV2aWNlX2FjdG9yIChDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZSwgQ2x1 dHRlci5FdmVudFNlcXVlbmNlPyBzZXF1ZW5jZSk7Ci0rCQlwdWJsaWMgaW50NjQgZ2V0X2ZyYW1l X2NvdW50ZXIgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkFjdG9yIGdldF9rZXlfZm9jdXMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yIildCi0rCQlwdWJsaWMgdm9pZCBnZXRfbWluaW11bV9zaXplIChvdXQgdWludCB3aWR0 aCwgb3V0IHVpbnQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1 YmxpYyBib29sIGdldF9tb3Rpb25fZXZlbnRzX2VuYWJsZWQgKCk7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5QZXJzcGVjdGl2ZSBnZXRfcGVyc3BlY3RpdmUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4wIildCi0rCQlwdWJsaWMgYm9vbCBnZXRfdGhyb3R0bGVfbW90aW9uX2V2ZW50cyAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRf dGl0bGUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfdXNlX2FscGhhICgpOwotKwkJcHVibGljIGJv b2wgcGFpbnRfdG9fYnVmZmVyIChDYWlyby5SZWN0YW5nbGVJbnQgcmVjdCwgZmxvYXQgc2NhbGUs IFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSByZWYgdWludDhbXSBkYXRhLCBpbnQgc3Ry aWRlLCBDb2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgQ2x1dHRlci5QYWludEZsYWcgcGFpbnRfZmxh Z3MpIHRocm93cyBHTGliLkVycm9yOwotKwkJcHVibGljIHZvaWQgcGFpbnRfdG9fZnJhbWVidWZm ZXIgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVidWZmZXIsIENhaXJvLlJlY3RhbmdsZUludCByZWN0 LCBmbG9hdCBzY2FsZSwgQ2x1dHRlci5QYWludEZsYWcgcGFpbnRfZmxhZ3MpOwotKwkJW0NDb2Rl IChhcnJheV9sZW5ndGggPSBmYWxzZSldCi0rCQlwdWJsaWMgdWludDhbXSByZWFkX3BpeGVscyAo aW50IHgsIGludCB5LCBpbnQgd2lkdGggPSAtMSwgaW50IGhlaWdodCA9IC0xKTsKLSsJCXB1Ymxp YyB2b2lkIHJlcGlja19kZXZpY2UgKENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlKTsKLSsJCXB1 YmxpYyB2b2lkIHNjaGVkdWxlX3VwZGF0ZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYi KV0KLSsJCXB1YmxpYyB2b2lkIHNldF9rZXlfZm9jdXMgKENsdXR0ZXIuQWN0b3I/IGFjdG9yKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9taW5pbXVt X3NpemUgKHVpbnQgd2lkdGgsIHVpbnQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9tb3Rpb25fZXZlbnRzX2VuYWJsZWQgKGJvb2wgZW5h YmxlZCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf dGhyb3R0bGVfbW90aW9uX2V2ZW50cyAoYm9vbCB0aHJvdHRsZSk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdGl0bGUgKHN0cmluZyB0aXRsZSk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfdXNlX2FscGhhIChib29sIHVzZV9hbHBoYSk7Ci0rCQlwdWJsaWMg dm9pZCB1cGRhdGVfZGV2aWNlIChDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZSwgQ2x1dHRlci5F dmVudFNlcXVlbmNlIHNlcXVlbmNlLCBHcmFwaGVuZS5Qb2ludCBwb2ludCwgdWludDMyIHRpbWUs IENsdXR0ZXIuQWN0b3IgbmV3X2FjdG9yLCBib29sIGVtaXRfY3Jvc3NpbmcpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3Iga2V5X2ZvY3VzIHsg Z2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBDbHV0 dGVyLlBlcnNwZWN0aXZlIHBlcnNwZWN0aXZlIHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC40IildCi0rCQlwdWJsaWMgc3RyaW5nIHRpdGxlIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdGl2 YXRlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjAiKV0KLSsJCXB1YmxpYyBzaWduYWwg dm9pZCBhZnRlcl9wYWludCAoQ2x1dHRlci5TdGFnZVZpZXcgdmlldyk7Ci0rCQlwdWJsaWMgc2ln bmFsIHZvaWQgYWZ0ZXJfdXBkYXRlIChDbHV0dGVyLlN0YWdlVmlldyB2aWV3KTsKLSsJCXB1Ymxp YyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGJlZm9yZV9wYWludCAoQ2x1dHRlci5TdGFnZVZpZXcgdmll dyk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgYmVmb3JlX3VwZGF0ZSAoQ2x1dHRlci5TdGFnZVZp ZXcgdmlldyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVh bCBzaWduYWwgdm9pZCBkZWFjdGl2YXRlICgpOwotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZv aWQgcGFpbnRfdmlldyAoQ2x1dHRlci5TdGFnZVZpZXcgdmlldywgQ2Fpcm8uUmVnaW9uIHJlZHJh d19jbGlwKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc3RhZ2VfbWFuYWdlcl9nZXRfdHlwZSAoKSIpXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBjbGFzcyBTdGFnZU1hbmFnZXIg OiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSldCi0rCQlwcm90ZWN0ZWQgU3RhZ2VNYW5hZ2VyICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuU3RhZ2VNYW5hZ2VyIGdl dF9kZWZhdWx0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHVu b3duZWQgQ2x1dHRlci5TdGFnZSBnZXRfZGVmYXVsdF9zdGFnZSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBHTGliLlNMaXN0PHdlYWsgQ2x1dHRlci5TdGFnZT4g bGlzdF9zdGFnZXMgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBHTGliLlNMaXN0PENsdXR0ZXIuU3Rh Z2U+IHBlZWtfc3RhZ2VzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVi bGljIENsdXR0ZXIuU3RhZ2UgZGVmYXVsdF9zdGFnZSB7IGdldDsgfQotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgc3RhZ2VfYWRkZWQg KENsdXR0ZXIuU3RhZ2Ugc3RhZ2UpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgc3RhZ2VfcmVtb3ZlZCAoQ2x1dHRlci5TdGFnZSBz dGFnZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3N0YWdlX3ZpZXdfZ2V0X3R5cGUgKCkiKV0KLSsJcHVi bGljIGNsYXNzIFN0YWdlVmlldyA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTdGFnZVZpZXcgKCk7Ci0rCQlw dWJsaWMgdm9pZCBhc3NpZ25fbmV4dF9zY2Fub3V0IChDb2dsLlNjYW5vdXQgc2Nhbm91dCk7Ci0r CQlwdWJsaWMgdm9pZCBkZXN0cm95ICgpOwotKwkJcHVibGljIHVub3duZWQgQ29nbC5GcmFtZWJ1 ZmZlciBnZXRfZnJhbWVidWZmZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfbGF5b3V0IChDYWly by5SZWN0YW5nbGVJbnQgcmVjdCk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGdldF9vZmZzY3Jl ZW5fdHJhbnNmb3JtYXRpb25fbWF0cml4IChHcmFwaGVuZS5NYXRyaXggbWF0cml4KTsKLSsJCXB1 YmxpYyB1bm93bmVkIENvZ2wuRnJhbWVidWZmZXIgZ2V0X29uc2NyZWVuICgpOwotKwkJcHVibGlj IGZsb2F0IGdldF9yZWZyZXNoX3JhdGUgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3NjYWxlICgp OwotKwkJcHVibGljIHZvaWQgaW52YWxpZGF0ZV9vZmZzY3JlZW5fYmxpdF9waXBlbGluZSAoKTsK LSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNldHVwX29mZnNjcmVlbl9i bGl0X3BpcGVsaW5lIChDb2dsLlBpcGVsaW5lIHBpcGVsaW5lKTsKLSsJCVtOb1dyYXBwZXJdCi0r CQlwdWJsaWMgdmlydHVhbCB2b2lkIHRyYW5zZm9ybV9yZWN0X3RvX29uc2NyZWVuIChDYWlyby5S ZWN0YW5nbGVJbnQgc3JjX3JlY3QsIGludCBkc3Rfd2lkdGgsIGludCBkc3RfaGVpZ2h0LCBDYWly by5SZWN0YW5nbGVJbnQgZHN0X3JlY3QpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJs aWMgQ29nbC5GcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlciB7IG93bmVkIGdldDsgc2V0IGNvbnN0cnVj dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgc3RyaW5nIG5hbWUgeyBvd25l ZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ29n bC5PZmZzY3JlZW4gb2Zmc2NyZWVuIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0Fj Y2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGZsb2F0IHJlZnJlc2hfcmF0ZSB7IGdldDsgc2V0IGNv bnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgZmxvYXQgc2NhbGUg eyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGlj IENsdXR0ZXIuU3RhZ2Ugc3RhZ2UgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNj ZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCB1c2Vfc2hhZG93ZmIgeyBnZXQ7IGNvbnN0cnVj dDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zd2lwZV9hY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1Zl cnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwlwdWJsaWMgY2xhc3MgU3dpcGVBY3Rpb24gOiBDbHV0 dGVyLkdlc3R1cmVBY3Rpb24gewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdGlvbioiKV0KLSsJCXB1YmxpYyBTd2lwZUFjdGlvbiAo KTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjE0Iiwgc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBzd2Vw dCAoQ2x1dHRlci5BY3RvciBhY3RvciwgQ2x1dHRlci5Td2lwZURpcmVjdGlvbiBkaXJlY3Rpb24p OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCBib29sIHN3aXBlIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLlN3aXBlRGlyZWN0aW9u IGRpcmVjdGlvbik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RhcF9hY3Rpb25fZ2V0X3R5cGUgKCkiKV0K LSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJcHVibGljIGNsYXNzIFRhcEFjdGlvbiA6 IENsdXR0ZXIuR2VzdHVyZUFjdGlvbiB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQotKwkJcHVibGljIFRhcEFjdGlv biAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHRhcCAoQ2x1dHRlci5BY3RvciBh Y3Rvcik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RleHRfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgY2xhc3MgVGV4dCA6IENsdXR0ZXIuQWN0b3IsIEF0 ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1 dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlLCB0eXBlID0gIkNsdXR0ZXJBY3RvcioiKV0KLSsJCXB1YmxpYyBUZXh0ICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBpbnQgY29vcmRzX3RvX3Bvc2l0aW9u IChmbG9hdCB4LCBmbG9hdCB5KTsKLSsJCXB1YmxpYyB2b2lkIGRlbGV0ZV9jaGFycyAodWludCBu X2NoYXJzKTsKLSsJCXB1YmxpYyBib29sIGRlbGV0ZV9zZWxlY3Rpb24gKCk7Ci0rCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIild Ci0rCQlwdWJsaWMgVGV4dC5mdWxsIChzdHJpbmcgZm9udF9uYW1lLCBzdHJpbmcgdGV4dCwgQ2x1 dHRlci5Db2xvciBjb2xvcik7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfYWN0aXZhdGFibGUgKCk7Ci0r CQlwdWJsaWMgdW5vd25lZCBQYW5nby5BdHRyTGlzdCBnZXRfYXR0cmlidXRlcyAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlRleHRC dWZmZXIgZ2V0X2J1ZmZlciAoKTsKLSsJCXB1YmxpYyBzdHJpbmcgZ2V0X2NoYXJzIChzc2l6ZV90 IHN0YXJ0X3Bvcywgc3NpemVfdCBlbmRfcG9zKTsKLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGdl dF9jb2xvciAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGdldF9jdXJzb3JfY29sb3IgKCk7 Ci0rCQlwdWJsaWMgaW50IGdldF9jdXJzb3JfcG9zaXRpb24gKCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xNiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlJlY3QgZ2V0X2N1cnNvcl9yZWN0ICgp OwotKwkJcHVibGljIHVpbnQgZ2V0X2N1cnNvcl9zaXplICgpOwotKwkJcHVibGljIGJvb2wgZ2V0 X2N1cnNvcl92aXNpYmxlICgpOwotKwkJcHVibGljIGJvb2wgZ2V0X2VkaXRhYmxlICgpOwotKwkJ cHVibGljIFBhbmdvLkVsbGlwc2l6ZU1vZGUgZ2V0X2VsbGlwc2l6ZSAoKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBQYW5nby5Gb250RGVzY3JpcHRpb24gZ2V0X2Zv bnRfZGVzY3JpcHRpb24gKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2ZvbnRfbmFt ZSAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0Q29udGVudEhpbnRGbGFncyBnZXRfaW5wdXRf aGludHMgKCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dENvbnRlbnRQdXJwb3NlIGdldF9pbnB1 dF9wdXJwb3NlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIGJv b2wgZ2V0X2p1c3RpZnkgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBQYW5nby5MYXlvdXQgZ2V0X2xh eW91dCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGdl dF9sYXlvdXRfb2Zmc2V0cyAob3V0IGludCB4LCBvdXQgaW50IHkpOwotKwkJcHVibGljIFBhbmdv LkFsaWdubWVudCBnZXRfbGluZV9hbGlnbm1lbnQgKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfbGlu ZV93cmFwICgpOwotKwkJcHVibGljIFBhbmdvLldyYXBNb2RlIGdldF9saW5lX3dyYXBfbW9kZSAo KTsKLSsJCXB1YmxpYyBpbnQgZ2V0X21heF9sZW5ndGggKCk7Ci0rCQlwdWJsaWMgdW5pY2hhciBn ZXRfcGFzc3dvcmRfY2hhciAoKTsKLSsJCXB1YmxpYyBib29sIGdldF9zZWxlY3RhYmxlICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgZ2V0 X3NlbGVjdGVkX3RleHRfY29sb3IgKCk7Ci0rCQlwdWJsaWMgc3RyaW5nIGdldF9zZWxlY3Rpb24g KCk7Ci0rCQlwdWJsaWMgaW50IGdldF9zZWxlY3Rpb25fYm91bmQgKCk7Ci0rCQlwdWJsaWMgQ2x1 dHRlci5Db2xvciBnZXRfc2VsZWN0aW9uX2NvbG9yICgpOwotKwkJcHVibGljIGJvb2wgZ2V0X3Np bmdsZV9saW5lX21vZGUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3RleHQgKCk7 Ci0rCQlwdWJsaWMgYm9vbCBnZXRfdXNlX21hcmt1cCAoKTsKLSsJCXB1YmxpYyBib29sIGhhc19w cmVlZGl0ICgpOwotKwkJcHVibGljIHZvaWQgaW5zZXJ0X3RleHQgKHN0cmluZyB0ZXh0LCBzc2l6 ZV90IHBvc2l0aW9uKTsKLSsJCXB1YmxpYyB2b2lkIGluc2VydF91bmljaGFyICh1bmljaGFyIHdj KTsKLSsJCXB1YmxpYyBib29sIHBvc2l0aW9uX3RvX2Nvb3JkcyAoaW50IHBvc2l0aW9uLCBvdXQg ZmxvYXQgeCwgb3V0IGZsb2F0IHksIG91dCBmbG9hdCBsaW5lX2hlaWdodCA9IG51bGwpOwotKwkJ cHVibGljIHZvaWQgc2V0X2FjdGl2YXRhYmxlIChib29sIGFjdGl2YXRhYmxlKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9hdHRyaWJ1dGVzIChQYW5nby5BdHRyTGlzdD8gYXR0cnMpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9idWZmZXIgKENsdXR0ZXIu VGV4dEJ1ZmZlciBidWZmZXIpOwotKwkJcHVibGljIHZvaWQgc2V0X2NvbG9yIChDbHV0dGVyLkNv bG9yIGNvbG9yKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jdXJzb3JfY29sb3IgKENsdXR0ZXIuQ29s b3I/IGNvbG9yKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jdXJzb3JfcG9zaXRpb24gKGludCBwb3Np dGlvbik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY3Vyc29yX3NpemUgKGludCBzaXplKTsKLSsJCXB1 YmxpYyB2b2lkIHNldF9jdXJzb3JfdmlzaWJsZSAoYm9vbCBjdXJzb3JfdmlzaWJsZSk7Ci0rCQlw dWJsaWMgdm9pZCBzZXRfZWRpdGFibGUgKGJvb2wgZWRpdGFibGUpOwotKwkJcHVibGljIHZvaWQg c2V0X2VsbGlwc2l6ZSAoUGFuZ28uRWxsaXBzaXplTW9kZSBtb2RlKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9mb250X2Rlc2NyaXB0aW9uIChQYW5n by5Gb250RGVzY3JpcHRpb24gZm9udF9kZXNjKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9mb250X25h bWUgKHN0cmluZz8gZm9udF9uYW1lKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9pbnB1dF9oaW50cyAo Q2x1dHRlci5JbnB1dENvbnRlbnRIaW50RmxhZ3MgaGludHMpOwotKwkJcHVibGljIHZvaWQgc2V0 X2lucHV0X3B1cnBvc2UgKENsdXR0ZXIuSW5wdXRDb250ZW50UHVycG9zZSBwdXJwb3NlKTsKLSsJ CXB1YmxpYyB2b2lkIHNldF9qdXN0aWZ5IChib29sIGp1c3RpZnkpOwotKwkJcHVibGljIHZvaWQg c2V0X2xpbmVfYWxpZ25tZW50IChQYW5nby5BbGlnbm1lbnQgYWxpZ25tZW50KTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9saW5lX3dyYXAgKGJvb2wgbGluZV93cmFwKTsKLSsJCXB1YmxpYyB2b2lkIHNl dF9saW5lX3dyYXBfbW9kZSAoUGFuZ28uV3JhcE1vZGUgd3JhcF9tb2RlKTsKLSsJCXB1YmxpYyB2 b2lkIHNldF9tYXJrdXAgKHN0cmluZz8gbWFya3VwKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9tYXhf bGVuZ3RoIChpbnQgbWF4KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wYXNzd29yZF9jaGFyICh1bmlj aGFyIHdjKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB2b2lkIHNl dF9wcmVlZGl0X3N0cmluZyAoc3RyaW5nPyBwcmVlZGl0X3N0ciwgUGFuZ28uQXR0ckxpc3Q/IHBy ZWVkaXRfYXR0cnMsIHVpbnQgY3Vyc29yX3Bvcyk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc2VsZWN0 YWJsZSAoYm9vbCBzZWxlY3RhYmxlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJ CXB1YmxpYyB2b2lkIHNldF9zZWxlY3RlZF90ZXh0X2NvbG9yIChDbHV0dGVyLkNvbG9yPyBjb2xv cik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc2VsZWN0aW9uIChzc2l6ZV90IHN0YXJ0X3Bvcywgc3Np emVfdCBlbmRfcG9zKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9zZWxlY3Rpb25fYm91bmQgKGludCBz ZWxlY3Rpb25fYm91bmQpOwotKwkJcHVibGljIHZvaWQgc2V0X3NlbGVjdGlvbl9jb2xvciAoQ2x1 dHRlci5Db2xvcj8gY29sb3IpOwotKwkJcHVibGljIHZvaWQgc2V0X3NpbmdsZV9saW5lX21vZGUg KGJvb2wgc2luZ2xlX2xpbmUpOwotKwkJcHVibGljIHZvaWQgc2V0X3RleHQgKHN0cmluZz8gdGV4 dCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfdXNlX21hcmt1cCAoYm9vbCBzZXR0aW5nKTsKLSsJCVtD Q29kZSAoY25hbWUgPSAiY2x1dHRlcl90ZXh0X2FjdGl2YXRlIildCi0rCQlwdWJsaWMgYm9vbCB0 cnlfYWN0aXZhdGUgKCk7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIp XQotKwkJcHVibGljIFRleHQud2l0aF9idWZmZXIgKENsdXR0ZXIuVGV4dEJ1ZmZlciBidWZmZXIp OwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1 dHRlckFjdG9yKiIpXQotKwkJcHVibGljIFRleHQud2l0aF90ZXh0IChzdHJpbmc/IGZvbnRfbmFt ZSwgc3RyaW5nIHRleHQpOwotKwkJcHVibGljIGJvb2wgYWN0aXZhdGFibGUgeyBnZXQ7IHNldDsg fQotKwkJcHVibGljIFBhbmdvLkF0dHJMaXN0IGF0dHJpYnV0ZXMgeyBnZXQ7IHNldDsgfQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuVGV4dEJ1ZmZlciBi dWZmZXIgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgY29sb3IgeyBnZXQ7 IHNldDsgfQotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgY3Vyc29yX2NvbG9yIHsgZ2V0OyBzZXQ7 IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgY3Vyc29yX2NvbG9yX3Nl dCB7IGdldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBpbnQg Y3Vyc29yX3Bvc2l0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBpbnQgY3Vyc29yX3NpemUg eyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wgY3Vyc29yX3Zpc2libGUgeyBnZXQ7IHNldDsg fQotKwkJcHVibGljIGJvb2wgZWRpdGFibGUgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIFBhbmdv LkVsbGlwc2l6ZU1vZGUgZWxsaXBzaXplIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBQYW5nby5Gb250RGVzY3JpcHRpb24gZm9udF9kZXNjcmlw dGlvbiB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIGZvbnRfbmFtZSB7IGdl dDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dENvbnRlbnRIaW50RmxhZ3MgaW5wdXRf aGludHMgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRDb250ZW50UHVycG9z ZSBpbnB1dF9wdXJwb3NlIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBib29sIGp1c3RpZnkgeyBn ZXQ7IHNldDsgfQotKwkJcHVibGljIFBhbmdvLkFsaWdubWVudCBsaW5lX2FsaWdubWVudCB7IGdl dDsgc2V0OyB9Ci0rCQlwdWJsaWMgYm9vbCBsaW5lX3dyYXAgeyBnZXQ7IHNldDsgfQotKwkJcHVi bGljIFBhbmdvLldyYXBNb2RlIGxpbmVfd3JhcF9tb2RlIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1Ymxp YyBpbnQgbWF4X2xlbmd0aCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgdWludCBwYXNzd29yZF9j aGFyIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTIiLCBzaW5jZSA9ICIxLjAi KV0KLSsJCXB1YmxpYyBpbnQgcG9zaXRpb24geyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wg c2VsZWN0YWJsZSB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0r CQlwdWJsaWMgQ2x1dHRlci5Db2xvciBzZWxlY3RlZF90ZXh0X2NvbG9yIHsgZ2V0OyBzZXQ7IH0K LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJ cHVibGljIGJvb2wgc2VsZWN0ZWRfdGV4dF9jb2xvcl9zZXQgeyBnZXQ7IH0KLSsJCXB1YmxpYyBp bnQgc2VsZWN0aW9uX2JvdW5kIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9y IHNlbGVjdGlvbl9jb2xvciB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CXB1YmxpYyBib29sIHNlbGVjdGlvbl9jb2xvcl9zZXQgeyBnZXQ7IH0KLSsJCXB1YmxpYyBib29s IHNpbmdsZV9saW5lX21vZGUgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIHN0cmluZyB0ZXh0IHsg Z2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBib29sIHVzZV9tYXJrdXAgeyBnZXQ7IHNldDsgfQotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgYWN0aXZhdGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xNiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgY3Vyc29yX2NoYW5n ZWQgKCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2Ug PSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQg Y3Vyc29yX2V2ZW50IChHcmFwaGVuZS5SZWN0IHJlY3QpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZGVsZXRlX3Rl eHQgKGludCBzdGFydF9wb3MsIGludCBlbmRfcG9zKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCB2b2lkIHRleHRfY2hhbmdlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfdGV4dF9idWZmZXJfZ2V0 X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIGNsYXNz IFRleHRCdWZmZXIgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCi0rCQlwdWJsaWMgVGV4dEJ1ZmZlciAoKTsKLSsJCXB1YmxpYyB2aXJ0 dWFsIHVpbnQgZGVsZXRlX3RleHQgKHVpbnQgcG9zaXRpb24sIHVpbnQgbl9jaGFycyk7Ci0rCQlw dWJsaWMgdm9pZCBlbWl0X2RlbGV0ZWRfdGV4dCAodWludCBwb3NpdGlvbiwgdWludCBuX2NoYXJz KTsKLSsJCXB1YmxpYyB2b2lkIGVtaXRfaW5zZXJ0ZWRfdGV4dCAodWludCBwb3NpdGlvbiwgc3Ry aW5nIGNoYXJzLCB1aW50IG5fY2hhcnMpOwotKwkJcHVibGljIHNpemVfdCBnZXRfYnl0ZXMgKCk7 Ci0rCQlwdWJsaWMgdmlydHVhbCB1aW50IGdldF9sZW5ndGggKCk7Ci0rCQlwdWJsaWMgaW50IGdl dF9tYXhfbGVuZ3RoICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF90ZXh0ICgpOwot KwkJW0NDb2RlICh2ZnVuY19uYW1lID0gImdldF90ZXh0IildCi0rCQlbTm9XcmFwcGVyXQotKwkJ cHVibGljIHZpcnR1YWwgdW5vd25lZCBzdHJpbmcgZ2V0X3RleHRfd2l0aF9sZW5ndGggKHNpemVf dCBuX2J5dGVzKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHVpbnQgaW5zZXJ0X3RleHQgKHVpbnQgcG9z aXRpb24sIHN0cmluZyBjaGFycywgdWludCBuX2NoYXJzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9t YXhfbGVuZ3RoIChpbnQgbWF4X2xlbmd0aCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfdGV4dCAoc3Ry aW5nIGNoYXJzLCBpbnQgbl9jaGFycyk7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSldCi0rCQlwdWJsaWMgVGV4dEJ1ZmZlci53aXRoX3RleHQgKHN0cmluZz8gdGV4 dCwgc3NpemVfdCB0ZXh0X2xlbik7Ci0rCQlwdWJsaWMgdWludCBsZW5ndGggeyBnZXQ7IH0KLSsJ CXB1YmxpYyBpbnQgbWF4X2xlbmd0aCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIHRl eHQgeyBnZXQ7IH0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGRlbGV0ZWRfdGV4dCAo dWludCBwb3NpdGlvbiwgdWludCBuX2NoYXJzKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2 b2lkIGluc2VydGVkX3RleHQgKHVpbnQgcG9zaXRpb24sIHN0cmluZyBjaGFycywgdWludCBuX2No YXJzKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfdGV4dF9ub2RlX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBjbGFzcyBUZXh0Tm9kZSA6IENsdXR0ZXIu UGFpbnROb2RlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0 eXBlID0gIkNsdXR0ZXJQYWludE5vZGUqIildCi0rCQlwdWJsaWMgVGV4dE5vZGUgKFBhbmdvLkxh eW91dD8gbGF5b3V0LCBDbHV0dGVyLkNvbG9yPyBjb2xvcik7Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3Rl eHR1cmVfbm9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwlwdWJsaWMgY2xhc3MgVGV4dHVyZU5vZGUgOiBDbHV0dGVyLlBpcGVsaW5lTm9kZSB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFp bnROb2RlKiIpXQotKwkJcHVibGljIFRleHR1cmVOb2RlIChDb2dsLlRleHR1cmUgdGV4dHVyZSwg Q2x1dHRlci5Db2xvcj8gY29sb3IsIENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtaW5fZmlsdGVyLCBD bHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWFnX2ZpbHRlcik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RpbWVs aW5lX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJcHVibGlj IGNsYXNzIFRpbWVsaW5lIDogR0xpYi5PYmplY3QsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC42IildCi0rCQlwdWJsaWMgVGltZWxpbmUgKHVpbnQgZHVyYXRpb25fbXMpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9tYXJrZXIgKHN0 cmluZyBtYXJrZXJfbmFtZSwgZG91YmxlIHByb2dyZXNzKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9tYXJrZXJfYXRfdGltZSAoc3RyaW5nIG1hcmtl cl9uYW1lLCB1aW50IG1zZWNzKTsKLSsJCXB1YmxpYyB2b2lkIGFkdmFuY2UgKHVpbnQgbXNlY3Mp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZvaWQgYWR2YW5jZV90 b19tYXJrZXIgKHN0cmluZyBtYXJrZXJfbmFtZSk7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwdWJsaWMgVGltZWxpbmUuZm9yX2FjdG9yIChDbHV0dGVy LkFjdG9yIGFjdG9yLCB1aW50IGR1cmF0aW9uX21zKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBUaW1lbGluZS5mb3JfZnJhbWVfY2xvY2sg KENsdXR0ZXIuRnJhbWVDbG9jayBmcmFtZV9jbG9jaywgdWludCBkdXJhdGlvbl9tcyk7Ci0rCQlw dWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9hY3RvciAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBib29sIGdldF9hdXRvX3JldmVyc2UgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2N1YmljX2Jlemll cl9wcm9ncmVzcyAob3V0IEdyYXBoZW5lLlBvaW50IGNfMSwgb3V0IEdyYXBoZW5lLlBvaW50IGNf Mik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludCBnZXRfY3Vy cmVudF9yZXBlYXQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMg dWludCBnZXRfZGVsYXkgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJs aWMgdWludCBnZXRfZGVsdGEgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlw dWJsaWMgQ2x1dHRlci5UaW1lbGluZURpcmVjdGlvbiBnZXRfZGlyZWN0aW9uICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHVpbnQgZ2V0X2R1cmF0aW9uICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBpbnQ2NCBnZXRfZHVyYXRp b25faGludCAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF9lbGFwc2VkX3RpbWUgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgZG91YmxlIGdldF9wcm9ncmVzcyAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgQ2x1dHRlci5BbmltYXRp b25Nb2RlIGdldF9wcm9ncmVzc19tb2RlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyBpbnQgZ2V0X3JlcGVhdF9jb3VudCAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgYm9vbCBnZXRfc3RlcF9wcm9ncmVzcyAob3V0IGludCBu X3N0ZXBzLCBvdXQgQ2x1dHRlci5TdGVwTW9kZSBzdGVwX21vZGUpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQotKwkJcHVibGljIGJvb2wgaGFzX21hcmtlciAoc3RyaW5nIG1hcmtlcl9u YW1lKTsKLSsJCXB1YmxpYyBib29sIGlzX3BsYXlpbmcgKCk7Ci0rCQlbQ0NvZGUgKGFycmF5X2xl bmd0aCA9IHRydWUsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0g ImdzaXplIiwgYXJyYXlfbnVsbF90ZXJtaW5hdGVkID0gdHJ1ZSldCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RyaW5nW10gbGlzdF9tYXJrZXJzIChpbnQgbXNlY3Mp OwotKwkJcHVibGljIHZvaWQgcGF1c2UgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44Iild Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVfbWFya2VyIChzdHJpbmcgbWFya2VyX25hbWUpOwotKwkJ cHVibGljIHZvaWQgcmV3aW5kICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2FjdG9yIChDbHV0dGVy LkFjdG9yPyBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMg dm9pZCBzZXRfYXV0b19yZXZlcnNlIChib29sIHJldmVyc2UpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jdWJpY19iZXppZXJfcHJvZ3Jlc3MgKEdy YXBoZW5lLlBvaW50IGNfMSwgR3JhcGhlbmUuUG9pbnQgY18yKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9kZWxheSAodWludCBtc2Vjcyk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZGlyZWN0aW9uIChD bHV0dGVyLlRpbWVsaW5lRGlyZWN0aW9uIGRpcmVjdGlvbik7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMC42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZHVyYXRpb24gKHVpbnQgbXNlY3MpOwotKwkJ cHVibGljIHZvaWQgc2V0X2ZyYW1lX2Nsb2NrIChDbHV0dGVyLkZyYW1lQ2xvY2sgZnJhbWVfY2xv Y2spOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9w cm9ncmVzc19mdW5jIChvd25lZCBDbHV0dGVyLlRpbWVsaW5lUHJvZ3Jlc3NGdW5jPyBmdW5jKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfcHJvZ3Jl c3NfbW9kZSAoQ2x1dHRlci5BbmltYXRpb25Nb2RlIG1vZGUpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9yZXBlYXRfY291bnQgKGludCBjb3VudCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3N0ZXBf cHJvZ3Jlc3MgKGludCBuX3N0ZXBzLCBDbHV0dGVyLlN0ZXBNb2RlIHN0ZXBfbW9kZSk7Ci0rCQlw dWJsaWMgdm9pZCBza2lwICh1aW50IG1zZWNzKTsKLSsJCXB1YmxpYyB2b2lkIHN0YXJ0ICgpOwot KwkJcHVibGljIHZvaWQgc3RvcCAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIGFjdG9yIHsg Z2V0OyBzZXQgY29uc3RydWN0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlw dWJsaWMgYm9vbCBhdXRvX3JldmVyc2UgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjAuNCIpXQotKwkJcHVibGljIHVpbnQgZGVsYXkgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIENsdXR0ZXIuVGltZWxpbmVEaXJlY3Rpb24g ZGlyZWN0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJ CXB1YmxpYyB1aW50IGR1cmF0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJcHVibGljIENsdXR0ZXIuRnJhbWVDbG9jayBmcmFtZV9jbG9jayB7IG93bmVkIGdldDsg c2V0IGNvbnN0cnVjdDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1Ymxp YyBDbHV0dGVyLkFuaW1hdGlvbk1vZGUgcHJvZ3Jlc3NfbW9kZSB7IGdldDsgc2V0OyB9Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludCByZXBlYXRfY291bnQgeyBn ZXQ7IHNldDsgfQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgY29tcGxldGVkICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZv aWQgbWFya2VyX3JlYWNoZWQgKHN0cmluZyBtYXJrZXJfbmFtZSwgaW50IG1zZWNzKTsKLSsJCXB1 YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIG5ld19mcmFtZSAoaW50IG1zZWNzKTsKLSsJCXB1Ymxp YyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHBhdXNlZCAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25h bCB2b2lkIHN0YXJ0ZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVi bGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgc3RvcHBlZCAoYm9vbCBpc19maW5pc2hlZCk7Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5 cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIp XQotKwlwdWJsaWMgY2xhc3MgVG91Y2hFdmVudCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGlj IGRvdWJsZSBheGVzOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIENsdXR0ZXIu TW9kaWZpZXJUeXBlIG1vZGlmaWVyX3N0YXRlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5FdmVu dFNlcXVlbmNlIHNlcXVlbmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7 Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0 aW1lOwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMgZmxvYXQg eDsKLSsJCXB1YmxpYyBmbG9hdCB5OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0K LSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KLSsJcHVibGljIGNsYXNzIFRvdWNocGFkUGlu Y2hFdmVudCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIGZsb2F0IGFuZ2xlX2RlbHRhOwot KwkJcHVibGljIGZsb2F0IGR4OwotKwkJcHVibGljIGZsb2F0IGR5OwotKwkJcHVibGljIENsdXR0 ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB1aW50IG5fZmluZ2VyczsKLSsJCXB1Ymxp YyBDbHV0dGVyLlRvdWNocGFkR2VzdHVyZVBoYXNlIHBoYXNlOwotKwkJcHVibGljIGZsb2F0IHNj YWxlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2Vh ayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGlj IENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMgZmxvYXQgeDsKLSsJCXB1YmxpYyBm bG9hdCB5OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMjQiKV0KLSsJcHVibGljIGNsYXNzIFRvdWNocGFkU3dpcGVFdmVudCA6IENsdXR0 ZXIuRXZlbnQgewotKwkJcHVibGljIGZsb2F0IGR4OwotKwkJcHVibGljIGZsb2F0IGR5OwotKwkJ cHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB1aW50IG5fZmluZ2Vy czsKLSsJCXB1YmxpYyBDbHV0dGVyLlRvdWNocGFkR2VzdHVyZVBoYXNlIHBoYXNlOwotKwkJcHVi bGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0 YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0ZXIuRXZl bnRUeXBlIHR5cGU7Ci0rCQlwdWJsaWMgZmxvYXQgeDsKLSsJCXB1YmxpYyBmbG9hdCB5OwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl90cmFuc2Zvcm1fbm9kZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xh c3MgVHJhbnNmb3JtTm9kZSA6IENsdXR0ZXIuUGFpbnROb2RlIHsKLSsJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJQYWludE5vZGUqIildCi0r CQlwdWJsaWMgVHJhbnNmb3JtTm9kZSAoR3JhcGhlbmUuTWF0cml4IHByb2plY3Rpb24pOwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl90cmFuc2l0aW9uX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBUcmFuc2l0aW9uIDogQ2x1dHRl ci5UaW1lbGluZSwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBUcmFuc2l0aW9uICgpOwotKwkJW05v V3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgYXR0YWNoZWQgKENsdXR0ZXIuQW5pbWF0 YWJsZSBhbmltYXRhYmxlKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lk IGNvbXB1dGVfdmFsdWUgKENsdXR0ZXIuQW5pbWF0YWJsZSBhbmltYXRhYmxlLCBDbHV0dGVyLklu dGVydmFsIGludGVydmFsLCBkb3VibGUgcHJvZ3Jlc3MpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1 YmxpYyB2aXJ0dWFsIHZvaWQgZGV0YWNoZWQgKENsdXR0ZXIuQW5pbWF0YWJsZSBhbmltYXRhYmxl KTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQW5pbWF0YWJsZSBnZXRfYW5pbWF0YWJsZSAo KTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuSW50ZXJ2YWwgZ2V0X2ludGVydmFsICgpOwot KwkJcHVibGljIGJvb2wgZ2V0X3JlbW92ZV9vbl9jb21wbGV0ZSAoKTsKLSsJCXB1YmxpYyB2b2lk IHNldF9hbmltYXRhYmxlIChDbHV0dGVyLkFuaW1hdGFibGU/IGFuaW1hdGFibGUpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9mcm9tX3ZhbHVlIChH TGliLlZhbHVlIHZhbHVlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9pbnRlcnZhbCAoQ2x1dHRlci5J bnRlcnZhbD8gaW50ZXJ2YWwpOwotKwkJcHVibGljIHZvaWQgc2V0X3JlbW92ZV9vbl9jb21wbGV0 ZSAoYm9vbCByZW1vdmVfY29tcGxldGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0K LSsJCXB1YmxpYyB2b2lkIHNldF90b192YWx1ZSAoR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlwdWJs aWMgQ2x1dHRlci5BbmltYXRhYmxlIGFuaW1hdGFibGUgeyBnZXQ7IHNldDsgfQotKwkJcHVibGlj IENsdXR0ZXIuSW50ZXJ2YWwgaW50ZXJ2YWwgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wg cmVtb3ZlX29uX2NvbXBsZXRlIHsgZ2V0OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfdHJhbnNp dGlvbl9ncm91cF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQot KwlwdWJsaWMgY2xhc3MgVHJhbnNpdGlvbkdyb3VwIDogQ2x1dHRlci5UcmFuc2l0aW9uLCBDbHV0 dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UsIHR5cGUgPSAiQ2x1dHRlclRyYW5zaXRpb24qIildCi0rCQlwdWJsaWMgVHJhbnNpdGlvbkdy b3VwICgpOwotKwkJcHVibGljIHZvaWQgYWRkX3RyYW5zaXRpb24gKENsdXR0ZXIuVHJhbnNpdGlv biB0cmFuc2l0aW9uKTsKLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9hbGwgKCk7Ci0rCQlwdWJsaWMg dm9pZCByZW1vdmVfdHJhbnNpdGlvbiAoQ2x1dHRlci5UcmFuc2l0aW9uIHRyYW5zaXRpb24pOwot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5 cGVfaWQgPSAiY2x1dHRlcl92aXJ0dWFsX2lucHV0X2RldmljZV9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgY2xhc3MgVmlydHVhbElucHV0RGV2aWNlIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFZpcnR1YWxJ bnB1dERldmljZSAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X2RldmljZV90eXBlICgpOwotKwkJcHVi bGljIHZpcnR1YWwgdm9pZCBub3RpZnlfYWJzb2x1dGVfbW90aW9uICh1aW50NjQgdGltZV91cywg ZG91YmxlIHgsIGRvdWJsZSB5KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbm90aWZ5X2J1dHRv biAodWludDY0IHRpbWVfdXMsIHVpbnQzMiBidXR0b24sIENsdXR0ZXIuQnV0dG9uU3RhdGUgYnV0 dG9uX3N0YXRlKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbm90aWZ5X2Rpc2NyZXRlX3Njcm9s bCAodWludDY0IHRpbWVfdXMsIENsdXR0ZXIuU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbiwgQ2x1 dHRlci5TY3JvbGxTb3VyY2Ugc2Nyb2xsX3NvdXJjZSk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lk IG5vdGlmeV9rZXkgKHVpbnQ2NCB0aW1lX3VzLCB1aW50MzIga2V5LCBDbHV0dGVyLktleVN0YXRl IGtleV9zdGF0ZSk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV9rZXl2YWwgKHVpbnQ2 NCB0aW1lX3VzLCB1aW50MzIga2V5dmFsLCBDbHV0dGVyLktleVN0YXRlIGtleV9zdGF0ZSk7Ci0r CQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV9yZWxhdGl2ZV9tb3Rpb24gKHVpbnQ2NCB0aW1l X3VzLCBkb3VibGUgZHgsIGRvdWJsZSBkeSk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlm eV9zY3JvbGxfY29udGludW91cyAodWludDY0IHRpbWVfdXMsIGRvdWJsZSBkeCwgZG91YmxlIGR5 LCBDbHV0dGVyLlNjcm9sbFNvdXJjZSBzY3JvbGxfc291cmNlLCBDbHV0dGVyLlNjcm9sbEZpbmlz aEZsYWdzIGZpbmlzaF9mbGFncyk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV90b3Vj aF9kb3duICh1aW50NjQgdGltZV91cywgaW50IHNsb3QsIGRvdWJsZSB4LCBkb3VibGUgeSk7Ci0r CQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV90b3VjaF9tb3Rpb24gKHVpbnQ2NCB0aW1lX3Vz LCBpbnQgc2xvdCwgZG91YmxlIHgsIGRvdWJsZSB5KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQg bm90aWZ5X3RvdWNoX3VwICh1aW50NjQgdGltZV91cywgaW50IHNsb3QpOwotKwkJcHVibGljIENs dXR0ZXIuSW5wdXREZXZpY2VUeXBlIGRldmljZV90eXBlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuU2VhdCBzZWF0IHsgb3duZWQg Z2V0OyBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfem9vbV9hY3Rpb25fZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNzIFpvb21B Y3Rpb24gOiBDbHV0dGVyLkdlc3R1cmVBY3Rpb24gewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdGlvbioiKV0KLSsJCXB1YmxpYyBa b29tQWN0aW9uICgpOwotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IGdldF9mb2NhbF9wb2ludCAo KTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBnZXRfdHJhbnNmb3JtZWRfZm9jYWxfcG9pbnQg KCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5ab29tQXhpcyBnZXRfem9vbV9heGlzICgpOwotKwkJcHVi bGljIHZvaWQgc2V0X3pvb21fYXhpcyAoQ2x1dHRlci5ab29tQXhpcyBheGlzKTsKLSsJCXB1Ymxp YyBDbHV0dGVyLlpvb21BeGlzIHpvb21fYXhpcyB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgdmly dHVhbCBzaWduYWwgYm9vbCB6b29tIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBHcmFwaGVuZS5Qb2lu dCBmb2NhbF9wb2ludCwgZG91YmxlIGZhY3Rvcik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9jbmFtZSA9ICJDbHV0dGVyQW5pbWF0 YWJsZUludGVyZmFjZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hbmltYXRhYmxlX2dldF90eXBlICgp IildCi0rCXB1YmxpYyBpbnRlcmZhY2UgQW5pbWF0YWJsZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBhYnN0cmFjdCB1bm93bmVkIEdMaWIu UGFyYW1TcGVjIGZpbmRfcHJvcGVydHkgKHN0cmluZyBwcm9wZXJ0eV9uYW1lKTsKLSsJCXB1Ymxp YyBhYnN0cmFjdCB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2FjdG9yICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIGFic3RyYWN0IHZvaWQgZ2V0X2luaXRpYWxf c3RhdGUgKHN0cmluZyBwcm9wZXJ0eV9uYW1lLCBHTGliLlZhbHVlIHZhbHVlKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBhYnN0cmFjdCBib29sIGludGVycG9sYXRl X3ZhbHVlIChzdHJpbmcgcHJvcGVydHlfbmFtZSwgQ2x1dHRlci5JbnRlcnZhbCBpbnRlcnZhbCwg ZG91YmxlIHByb2dyZXNzLCBvdXQgR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS40IildCi0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzZXRfZmluYWxfc3RhdGUgKHN0 cmluZyBwcm9wZXJ0eV9uYW1lLCBHTGliLlZhbHVlIHZhbHVlKTsKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf Y29udGFpbmVyX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJ cHVibGljIGludGVyZmFjZSBDb250YWluZXIgOiBHTGliLk9iamVjdCB7Ci0rCQlwdWJsaWMgdm9p ZCBhZGQgKHBhcmFtcyBDbHV0dGVyLkFjdG9yW10gYWN0b3JzKTsKLSsJCVtDQ29kZSAodmZ1bmNf bmFtZSA9ICJhZGQiKV0KLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRl ZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9p ZCBhZGRfYWN0b3IgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQotKwkJcHVibGljIHZvaWQgY2hpbGRfZ2V0IChDbHV0dGVyLkFjdG9yIGFjdG9yLCAu Li4pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZvaWQgY2hpbGRf Z2V0X3Byb3BlcnR5IChDbHV0dGVyLkFjdG9yIGNoaWxkLCBzdHJpbmcgcHJvcGVydHksIEdMaWIu VmFsdWUgdmFsdWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZv aWQgY2hpbGRfc2V0IChDbHV0dGVyLkFjdG9yIGFjdG9yLCAuLi4pOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZvaWQgY2hpbGRfc2V0X3Byb3BlcnR5IChDbHV0dGVy LkFjdG9yIGNoaWxkLCBzdHJpbmcgcHJvcGVydHksIEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBjcmVhdGVfY2hp bGRfbWV0YSAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4y IildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGRlc3Ryb3lfY2hpbGRfbWV0YSAoQ2x1dHRlci5B Y3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkFjdG9yIGZpbmRfY2hpbGRfYnlfbmFtZSAoc3RyaW5nIGNoaWxkX25hbWUp OwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbnRhaW5lcl9jbGFzc19maW5kX2NoaWxk X3Byb3BlcnR5IildCi0rCQlwdWJsaWMgY2xhc3MgdW5vd25lZCBHTGliLlBhcmFtU3BlYyBmaW5k X2NoaWxkX3Byb3BlcnR5IChzdHJpbmcgcHJvcGVydHlfbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCB1bm93bmVkIENsdXR0ZXIuQ2hpbGRNZXRh IGdldF9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC40Iild Ci0rCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5BY3Rvcj4gZ2V0X2NoaWxkcmVuICgp OwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbnRhaW5lcl9jbGFzc19saXN0X2NoaWxk X3Byb3BlcnRpZXMiKV0KLSsJCXB1YmxpYyBjbGFzcyB1bm93bmVkIEdMaWIuUGFyYW1TcGVjW10g bGlzdF9jaGlsZF9wcm9wZXJ0aWVzICgpOwotKwkJW0NDb2RlICh2ZnVuY19uYW1lID0gImxvd2Vy IildCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xMCIsIHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBsb3dlcl9jaGls ZCAoQ2x1dHRlci5BY3RvciBhY3RvciwgQ2x1dHRlci5BY3Rvcj8gc2libGluZyA9IG51bGwpOwot KwkJW0NDb2RlICh2ZnVuY19uYW1lID0gInJhaXNlIildCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjAuNiIpXQotKwkJ cHVibGljIHZpcnR1YWwgdm9pZCByYWlzZV9jaGlsZCAoQ2x1dHRlci5BY3RvciBhY3RvciwgQ2x1 dHRlci5BY3Rvcj8gc2libGluZyA9IG51bGwpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0 cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSsJCXB1Ymxp YyB2b2lkIHJlbW92ZSAoLi4uKTsKLSsJCVtDQ29kZSAodmZ1bmNfbmFtZSA9ICJyZW1vdmUiKV0K LSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEw Iiwgc2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCByZW1vdmVfYWN0b3Ig KENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBk ZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyBhYnN0 cmFjdCB2b2lkIHNvcnRfZGVwdGhfb3JkZXIgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBhY3Rvcl9hZGRlZCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlwdWJsaWMgdmlydHVh bCBzaWduYWwgdm9pZCBhY3Rvcl9yZW1vdmVkIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtI YXNFbWl0dGVyXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZpcnR1 YWwgc2lnbmFsIHZvaWQgY2hpbGRfbm90aWZ5IChDbHV0dGVyLkFjdG9yIGNoaWxkLCBHTGliLlBh cmFtU3BlYyBwc3BlYyk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9jbmFtZSA9ICJDbHV0dGVyQ29udGVudEludGVyZmFjZSIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9jb250ZW50X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBpbnRlcmZh Y2UgQ29udGVudCA6IEdMaWIuT2JqZWN0IHsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCQlwdWJsaWMgYWJzdHJhY3QgYm9vbCBnZXRfcHJlZmVycmVkX3NpemUgKG91dCBmbG9hdCB3 aWR0aCwgb3V0IGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIGFic3RyYWN0IHZvaWQgaW52YWxpZGF0ZSAoKTsKLSsJCXB1YmxpYyBhYnN0cmFj dCB2b2lkIGludmFsaWRhdGVfc2l6ZSAoKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgYWJz dHJhY3Qgdm9pZCBwYWludF9jb250ZW50IChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLlBh aW50Tm9kZSBub2RlLCBDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9jb250ZXh0KTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBh dHRhY2hlZCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZGV0YWNoZWQgKENsdXR0ZXIuQWN0 b3IgYWN0b3IpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zY3JpcHRhYmxlX2dldF90eXBlICgpIildCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVibGljIGludGVyZmFjZSBTY3JpcHRhYmxl IDogR0xpYi5PYmplY3QgewotKwkJcHVibGljIGFic3RyYWN0IHVub3duZWQgc3RyaW5nIGdldF9p ZCAoKTsKLSsJCXB1YmxpYyBhYnN0cmFjdCBib29sIHBhcnNlX2N1c3RvbV9ub2RlIChDbHV0dGVy LlNjcmlwdCBzY3JpcHQsIEdMaWIuVmFsdWUgdmFsdWUsIHN0cmluZyBuYW1lLCBKc29uLk5vZGUg bm9kZSk7Ci0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzZXRfY3VzdG9tX3Byb3BlcnR5IChDbHV0 dGVyLlNjcmlwdCBzY3JpcHQsIHN0cmluZyBuYW1lLCBHTGliLlZhbHVlIHZhbHVlKTsKLSsJCXB1 YmxpYyBhYnN0cmFjdCB2b2lkIHNldF9pZCAoc3RyaW5nIGlkXyk7Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJn X2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9hY3Rvcl9ib3hfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIHN0cnVjdCBBY3RvckJv eCB7Ci0rCQlwdWJsaWMgZmxvYXQgeDE7Ci0rCQlwdWJsaWMgZmxvYXQgeTE7Ci0rCQlwdWJsaWMg ZmxvYXQgeDI7Ci0rCQlwdWJsaWMgZmxvYXQgeTI7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MiIpXQotKwkJcHVibGljIHN0YXRpYyBDbHV0dGVyLkFjdG9yQm94PyBhbGxvYyAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBjbGFtcF90b19w aXhlbCAocmVmIENsdXR0ZXIuQWN0b3JCb3ggYm94KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjAiKV0KLSsJCXB1YmxpYyBib29sIGNvbnRhaW5zIChmbG9hdCB4LCBmbG9hdCB5KTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94PyBjb3B5 ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIGJvb2wgZXF1YWwg KENsdXR0ZXIuQWN0b3JCb3ggYm94X2IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQot KwkJcHVibGljIHZvaWQgZnJlZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJ CXB1YmxpYyBmbG9hdCBnZXRfYXJlYSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K LSsJCXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQotKwkJcHVibGljIHZvaWQgZ2V0X29yaWdpbiAob3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5 KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9zaXpl IChvdXQgZmxvYXQgd2lkdGgsIG91dCBmbG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMCIpXQotKwkJcHVibGljIGZsb2F0IGdldF93aWR0aCAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfeCAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfeSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yQm94PyBpbml0 IChmbG9hdCB4XzEsIGZsb2F0IHlfMSwgZmxvYXQgeF8yLCBmbG9hdCB5XzIpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIGluaXRfcmVjdCAoZmxvYXQgeCwg ZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yIildCi0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvckJveCBpbnRlcnBvbGF0ZSAoQ2x1dHRl ci5BY3RvckJveCBmaW5hbCwgZG91YmxlIHByb2dyZXNzKTsKLSsJCXB1YmxpYyBib29sIGlzX2lu aXRpYWxpemVkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZv aWQgc2NhbGUgKGZsb2F0IHNjYWxlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJ CXB1YmxpYyB2b2lkIHNldF9vcmlnaW4gKGZsb2F0IHgsIGZsb2F0IHkpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3NpemUgKGZsb2F0IHdpZHRoLCBm bG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIENs dXR0ZXIuQWN0b3JCb3ggdW5pb24gKENsdXR0ZXIuQWN0b3JCb3ggYik7Ci0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBm YWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBzdHJ1Y3QgQWN0 b3JJdGVyIHsKLSsJCXB1YmxpYyB2b2lkIGRlc3Ryb3kgKCk7Ci0rCQlwdWJsaWMgdm9pZCBpbml0 IChDbHV0dGVyLkFjdG9yIHJvb3QpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJ CXB1YmxpYyBib29sIGlzX3ZhbGlkICgpOwotKwkJcHVibGljIGJvb2wgbmV4dCAob3V0IHVub3du ZWQgQ2x1dHRlci5BY3RvciBjaGlsZCk7Ci0rCQlwdWJsaWMgYm9vbCBwcmV2IChvdXQgdW5vd25l ZCBDbHV0dGVyLkFjdG9yIGNoaWxkKTsKLSsJCXB1YmxpYyB2b2lkIHJlbW92ZSAoKTsKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfY29w eV9mdW5jdGlvbiA9IGZhbHNlLCBoYXNfZGVzdHJveV9mdW5jdGlvbiA9IGZhbHNlLCBoYXNfdHlw ZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBDYXB0dXJlIHsKLSsJCXB1YmxpYyBDYWly by5JbWFnZVN1cmZhY2UgaW1hZ2U7Ci0rCQlwdWJsaWMgQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3Q7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRf ZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb2xvcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg c3RydWN0IENvbG9yIHsKLSsJCXB1YmxpYyB1aW50OCByZWQ7Ci0rCQlwdWJsaWMgdWludDggZ3Jl ZW47Ci0rCQlwdWJsaWMgdWludDggYmx1ZTsKLSsJCXB1YmxpYyB1aW50OCBhbHBoYTsKLSsJCXB1 YmxpYyBDbHV0dGVyLkNvbG9yIGFkZCAoQ2x1dHRlci5Db2xvciBiKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgc3RhdGljIENsdXR0ZXIuQ29sb3I/IGFsbG9jICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwkJcHVibGljIENsdXR0ZXIuQ29sb3I/ IGNvcHkgKCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBkYXJrZW4gKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC4yIildCi0rCQlwdWJsaWMgYm9vbCBlcXVhbCAoQ2x1dHRlci5Db2xvciB2 Mik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCQlwdWJsaWMgdm9pZCBmcmVlICgp OwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21faGxzIildCi0rCQlwdWJs aWMgQ29sb3IuZnJvbV9obHMgKGZsb2F0IGh1ZSwgZmxvYXQgbHVtaW5hbmNlLCBmbG9hdCBzYXR1 cmF0aW9uKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb2xvcl9mcm9tX3BpeGVsIild Ci0rCQlwdWJsaWMgQ29sb3IuZnJvbV9waXhlbCAodWludDMyIHBpeGVsKTsKLSsJCVtDQ29kZSAo Y25hbWUgPSAiY2x1dHRlcl9jb2xvcl9mcm9tX3N0cmluZyIpXQotKwkJcHVibGljIHN0YXRpYyBi b29sIGZyb21fc3RyaW5nIChvdXQgQ2x1dHRlci5Db2xvciBjb2xvciwgc3RyaW5nIHN0cik7Ci0r CQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gZ2V0X3N0YXRpYyAoQ2x1dHRl ci5TdGF0aWNDb2xvciBjb2xvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlw dWJsaWMgdWludCBoYXNoICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1 YmxpYyB1bm93bmVkIENsdXR0ZXIuQ29sb3I/IGluaXQgKHVpbnQ4IHJlZCwgdWludDggZ3JlZW4s IHVpbnQ4IGJsdWUsIHVpbnQ4IGFscGhhKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0K LSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGludGVycG9sYXRlIChDbHV0dGVyLkNvbG9yIGZpbmFs LCBkb3VibGUgcHJvZ3Jlc3MpOwotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgbGlnaHRlbiAoKTsK LSsJCXB1YmxpYyBib29sIHBhcnNlX3N0cmluZyAoc3RyaW5nIHN0cik7Ci0rCQlwdWJsaWMgQ2x1 dHRlci5Db2xvciBzaGFkZSAoZG91YmxlIGZhY3Rvcik7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xv ciBzdWJ0cmFjdCAoQ2x1dHRlci5Db2xvciBiKTsKLSsJCXB1YmxpYyB2b2lkIHRvX2hscyAob3V0 IGZsb2F0IGh1ZSwgb3V0IGZsb2F0IGx1bWluYW5jZSwgb3V0IGZsb2F0IHNhdHVyYXRpb24pOwot KwkJcHVibGljIHVpbnQzMiB0b19waXhlbCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIi KV0KLSsJCXB1YmxpYyBzdHJpbmcgdG9fc3RyaW5nICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hl ZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0 ZXJfa25vdF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCXB1 YmxpYyBzdHJ1Y3QgS25vdCB7Ci0rCQlwdWJsaWMgaW50IHg7Ci0rCQlwdWJsaWMgaW50IHk7Ci0r CQlwdWJsaWMgQ2x1dHRlci5Lbm90PyBjb3B5ICgpOwotKwkJcHVibGljIGJvb2wgZXF1YWwgKENs dXR0ZXIuS25vdCBrbm90X2IpOwotKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9u ID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX21hcmdpbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwlwdWJsaWMgc3RydWN0IE1hcmdpbiB7Ci0rCQlwdWJsaWMgZmxvYXQgbGVmdDsK LSsJCXB1YmxpYyBmbG9hdCByaWdodDsKLSsJCXB1YmxpYyBmbG9hdCB0b3A7Ci0rCQlwdWJsaWMg ZmxvYXQgYm90dG9tOwotKwkJcHVibGljIENsdXR0ZXIuTWFyZ2luPyBjb3B5ICgpOwotKwkJcHVi bGljIHZvaWQgZnJlZSAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVu Y3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhaW50X3ZvbHVtZV9n ZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBzdHJ1 Y3QgUGFpbnRWb2x1bWUgewotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGlj IENsdXR0ZXIuUGFpbnRWb2x1bWU/IGNvcHkgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42 IildCi0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIp XQotKwkJcHVibGljIGZsb2F0IGdldF9kZXB0aCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjYiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0QgZ2V0X29yaWdpbiAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfd2lkdGggKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZGVwdGgg KGZsb2F0IGRlcHRoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBi b29sIHNldF9mcm9tX2FsbG9jYXRpb24gKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2hlaWdodCAoZmxvYXQgaGVp Z2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9v cmlnaW4gKEdyYXBoZW5lLlBvaW50M0Qgb3JpZ2luKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF93aWR0aCAoZmxvYXQgd2lkdGgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgdW5pb24gKENsdXR0ZXIuUGFpbnRW b2x1bWUgYW5vdGhlcl9wdik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVi bGljIHZvaWQgdW5pb25fYm94IChDbHV0dGVyLkFjdG9yQm94IGJveCk7Ci0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9 ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQg PSAiY2x1dHRlcl9wYXRoX25vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0g IjEuMCIpXQotKwlwdWJsaWMgc3RydWN0IFBhdGhOb2RlIHsKLSsJCXB1YmxpYyBDbHV0dGVyLlBh dGhOb2RlVHlwZSB0eXBlOwotKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldCi0rCQlw dWJsaWMgd2VhayBDbHV0dGVyLktub3QgcG9pbnRzWzNdOwotKwkJcHVibGljIENsdXR0ZXIuUGF0 aE5vZGU/IGNvcHkgKCk7Ci0rCQlwdWJsaWMgYm9vbCBlcXVhbCAoQ2x1dHRlci5QYXRoTm9kZSBu b2RlX2IpOwotKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRf Y29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVy X3BlcnNwZWN0aXZlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0K LSsJcHVibGljIHN0cnVjdCBQZXJzcGVjdGl2ZSB7Ci0rCQlwdWJsaWMgZmxvYXQgZm92eTsKLSsJ CXB1YmxpYyBmbG9hdCBhc3BlY3Q7Ci0rCQlwdWJsaWMgZmxvYXQgel9uZWFyOwotKwkJcHVibGlj IGZsb2F0IHpfZmFyOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3RydWN0IFBvaW50 ZXJBMTF5U2V0dGluZ3MgewotKwkJcHVibGljIENsdXR0ZXIuUG9pbnRlckExMXlGbGFncyBjb250 cm9sczsKLSsJCXB1YmxpYyBDbHV0dGVyLlBvaW50ZXJBMTF5RHdlbGxDbGlja1R5cGUgZHdlbGxf Y2xpY2tfdHlwZTsKLSsJCXB1YmxpYyBDbHV0dGVyLlBvaW50ZXJBMTF5RHdlbGxNb2RlIGR3ZWxs X21vZGU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Qb2ludGVyQTExeUR3ZWxsRGlyZWN0aW9uIGR3ZWxs X2dlc3R1cmVfc2luZ2xlOwotKwkJcHVibGljIENsdXR0ZXIuUG9pbnRlckExMXlEd2VsbERpcmVj dGlvbiBkd2VsbF9nZXN0dXJlX2RvdWJsZTsKLSsJCXB1YmxpYyBDbHV0dGVyLlBvaW50ZXJBMTF5 RHdlbGxEaXJlY3Rpb24gZHdlbGxfZ2VzdHVyZV9kcmFnOwotKwkJcHVibGljIENsdXR0ZXIuUG9p bnRlckExMXlEd2VsbERpcmVjdGlvbiBkd2VsbF9nZXN0dXJlX3NlY29uZGFyeTsKLSsJCXB1Ymxp YyBpbnQgc2Vjb25kYXJ5X2NsaWNrX2RlbGF5OwotKwkJcHVibGljIGludCBkd2VsbF9kZWxheTsK LSsJCXB1YmxpYyBpbnQgZHdlbGxfdGhyZXNob2xkOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9j b3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0ZXJf dW5pdHNfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJs aWMgc3RydWN0IFVuaXRzIHsKLSsJCXB1YmxpYyBDbHV0dGVyLlVuaXRzPyBjb3B5ICgpOwotKwkJ cHVibGljIHZvaWQgZnJlZSAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19m cm9tX2NtIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9jbSAoZmxvYXQgY20pOwotKwkJW0NDb2Rl IChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fZW0iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9t X2VtIChmbG9hdCBlbSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9l bV9mb3JfZm9udCIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fZW1fZm9yX2ZvbnQgKHN0cmluZyBm b250X25hbWUsIGZsb2F0IGVtKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19m cm9tX21tIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9tbSAoZmxvYXQgbW0pOwotKwkJW0NDb2Rl IChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fcGl4ZWxzIildCi0rCQlwdWJsaWMgVW5pdHMu ZnJvbV9waXhlbHMgKGludCBweCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNf ZnJvbV9wdCIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fcHQgKGZsb2F0IHB0KTsKLSsJCVtDQ29k ZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX3N0cmluZyIpXQotKwkJcHVibGljIFVuaXRz LmZyb21fc3RyaW5nIChzdHJpbmcgc3RyKTsKLSsJCXB1YmxpYyBDbHV0dGVyLlVuaXRUeXBlIGdl dF91bml0X3R5cGUgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3VuaXRfdmFsdWUgKCk7Ci0rCQlw dWJsaWMgZmxvYXQgdG9fcGl4ZWxzICgpOwotKwkJcHVibGljIHN0cmluZyB0b19zdHJpbmcgKCk7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y3ByZWZpeCA9ICJDTFVUVEVSX0FDVE9SX0FMSUdOXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hY3Rv cl9hbGlnbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlw dWJsaWMgZW51bSBBY3RvckFsaWduIHsKLSsJCUZJTEwsCi0rCQlTVEFSVCwKLSsJCUNFTlRFUiwK LSsJCUVORAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9BQ1RPUl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfYWN0 b3JfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBBY3RvckZs YWdzIHsKLSsJCU1BUFBFRCwKLSsJCVJFQUxJWkVELAotKwkJUkVBQ1RJVkUsCi0rCQlWSVNJQkxF LAotKwkJTk9fTEFZT1VUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0FMSUdOXyIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9hbGlnbl9heGlzX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQi KV0KLSsJcHVibGljIGVudW0gQWxpZ25BeGlzIHsKLSsJCVhfQVhJUywKLSsJCVlfQVhJUywKLSsJ CUJPVEgKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjcHJlZml4ID0gIkNMVVRURVJfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2FuaW1hdGlvbl9t b2RlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGlj IGVudW0gQW5pbWF0aW9uTW9kZSB7Ci0rCQlDVVNUT01fTU9ERSwKLSsJCUxJTkVBUiwKLSsJCUVB U0VfSU5fUVVBRCwKLSsJCUVBU0VfT1VUX1FVQUQsCi0rCQlFQVNFX0lOX09VVF9RVUFELAotKwkJ RUFTRV9JTl9DVUJJQywKLSsJCUVBU0VfT1VUX0NVQklDLAotKwkJRUFTRV9JTl9PVVRfQ1VCSUMs Ci0rCQlFQVNFX0lOX1FVQVJULAotKwkJRUFTRV9PVVRfUVVBUlQsCi0rCQlFQVNFX0lOX09VVF9R VUFSVCwKLSsJCUVBU0VfSU5fUVVJTlQsCi0rCQlFQVNFX09VVF9RVUlOVCwKLSsJCUVBU0VfSU5f T1VUX1FVSU5ULAotKwkJRUFTRV9JTl9TSU5FLAotKwkJRUFTRV9PVVRfU0lORSwKLSsJCUVBU0Vf SU5fT1VUX1NJTkUsCi0rCQlFQVNFX0lOX0VYUE8sCi0rCQlFQVNFX09VVF9FWFBPLAotKwkJRUFT RV9JTl9PVVRfRVhQTywKLSsJCUVBU0VfSU5fQ0lSQywKLSsJCUVBU0VfT1VUX0NJUkMsCi0rCQlF QVNFX0lOX09VVF9DSVJDLAotKwkJRUFTRV9JTl9FTEFTVElDLAotKwkJRUFTRV9PVVRfRUxBU1RJ QywKLSsJCUVBU0VfSU5fT1VUX0VMQVNUSUMsCi0rCQlFQVNFX0lOX0JBQ0ssCi0rCQlFQVNFX09V VF9CQUNLLAotKwkJRUFTRV9JTl9PVVRfQkFDSywKLSsJCUVBU0VfSU5fQk9VTkNFLAotKwkJRUFT RV9PVVRfQk9VTkNFLAotKwkJRUFTRV9JTl9PVVRfQk9VTkNFLAotKwkJU1RFUFMsCi0rCQlTVEVQ X1NUQVJULAotKwkJU1RFUF9FTkQsCi0rCQlDVUJJQ19CRVpJRVIsCi0rCQlFQVNFLAotKwkJRUFT RV9JTiwKLSsJCUVBU0VfT1VULAotKwkJRUFTRV9JTl9PVVQsCi0rCQlBTklNQVRJT05fTEFTVAot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNw cmVmaXggPSAiQ0xVVFRFUl9CSU5fQUxJR05NRU5UXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9iaW5f YWxpZ25tZW50X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJ cHVibGljIGVudW0gQmluQWxpZ25tZW50IHsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1 ZSldCi0rCQlGSVhFRCwKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSldCi0rCQlGSUxM LAotKwkJU1RBUlQsCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUpXQotKwkJRU5ELAot KwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlKV0KLSsJCUNFTlRFUgotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xV VFRFUl9CSU5EXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9iaW5kX2Nvb3JkaW5hdGVfZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgZW51bSBCaW5kQ29v cmRpbmF0ZSB7Ci0rCQlYLAotKwkJWSwKLSsJCVdJRFRILAotKwkJSEVJR0hULAotKwkJUE9TSVRJ T04sCi0rCQlTSVpFLAotKwkJQUxMCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0JPWF9BTElHTk1FTlRfIiwg dHlwZV9pZCA9ICJjbHV0dGVyX2JveF9hbGlnbm1lbnRfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMiIpXQotKwlwdWJsaWMgZW51bSBCb3hBbGlnbm1lbnQgewotKwkJU1RB UlQsCi0rCQlFTkQsCi0rCQlDRU5URVIKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQlVUVE9OX1NUQVRFXyIs IHR5cGVfaWQgPSAiY2x1dHRlcl9idXR0b25fc3RhdGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGVudW0gQnV0dG9uU3RhdGUgewotKwkJUkVMRUFTRUQsCi0rCQlQUkVTU0VECi0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJD TFVUVEVSX0NPTlRFTlRfR1JBVklUWV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfY29udGVudF9ncmF2 aXR5X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1Ymxp YyBlbnVtIENvbnRlbnRHcmF2aXR5IHsKLSsJCVRPUF9MRUZULAotKwkJVE9QLAotKwkJVE9QX1JJ R0hULAotKwkJTEVGVCwKLSsJCUNFTlRFUiwKLSsJCVJJR0hULAotKwkJQk9UVE9NX0xFRlQsCi0r CQlCT1RUT00sCi0rCQlCT1RUT01fUklHSFQsCi0rCQlSRVNJWkVfRklMTCwKLSsJCVJFU0laRV9B U1BFQ1QKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjcHJlZml4ID0gIkNMVVRURVJfUkVQRUFUXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb250 ZW50X3JlcGVhdF9nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCi0rCXB1YmxpYyBlbnVtIENvbnRlbnRSZXBlYXQgewotKwkJTk9ORSwKLSsJCVhf QVhJUywKLSsJCVlfQVhJUywKLSsJCUJPVEgKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfREVCVUdfIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX2RlYnVnX2ZsYWdfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlw dWJsaWMgZW51bSBEZWJ1Z0ZsYWcgewotKwkJTUlTQywKLSsJCUFDVE9SLAotKwkJVEVYVFVSRSwK LSsJCUVWRU5ULAotKwkJUEFJTlQsCi0rCQlQQU5HTywKLSsJCUJBQ0tFTkQsCi0rCQlTQ0hFRFVM RVIsCi0rCQlTQ1JJUFQsCi0rCQlTSEFERVIsCi0rCQlNVUxUSVNUQUdFLAotKwkJQU5JTUFUSU9O LAotKwkJTEFZT1VULAotKwkJUElDSywKLSsJCUVWRU5UTE9PUCwKLSsJCUNMSVBQSU5HLAotKwkJ T09CX1RSQU5TRk9STVMKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfRFJBR18iLCB0eXBlX2lkID0gImNsdXR0 ZXJfZHJhZ19heGlzX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0K LSsJcHVibGljIGVudW0gRHJhZ0F4aXMgewotKwkJQVhJU19OT05FLAotKwkJWF9BWElTLAotKwkJ WV9BWElTCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0RFQlVHXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9kcmF3 X2RlYnVnX2ZsYWdfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBEcmF3 RGVidWdGbGFnIHsKLSsJCURJU0FCTEVfU1dBUF9FVkVOVFMsCi0rCQlESVNBQkxFX0NMSVBQRURf UkVEUkFXUywKLSsJCVJFRFJBV1MsCi0rCQlQQUlOVF9WT0xVTUVTLAotKwkJRElTQUJMRV9DVUxM SU5HLAotKwkJRElTQUJMRV9PRkZTQ1JFRU5fUkVESVJFQ1QsCi0rCQlDT05USU5VT1VTX1JFRFJB VywKLSsJCVBBSU5UX0RFRk9STV9USUxFUywKLSsJCVBBSU5UX0RBTUFHRV9SRUdJT04KLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4 ID0gIkNMVVRURVJfRUZGRUNUX1BBSU5UXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9lZmZlY3RfcGFp bnRfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBFZmZlY3RQ YWludEZsYWdzIHsKLSsJCUFDVE9SX0RJUlRZLAotKwkJQllQQVNTX0VGRkVDVAotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAi Q0xVVFRFUl9FVkVOVF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfZXZlbnRfZmxhZ3NfZ2V0X3R5cGUg KCkiKV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCXB1YmxpYyBl bnVtIEV2ZW50RmxhZ3MgewotKwkJTk9ORSwKLSsJCUZMQUdfU1lOVEhFVElDLAotKwkJRkxBR19J TlBVVF9NRVRIT0QsCi0rCQlGTEFHX1JFUEVBVEVELAotKwkJRkxBR19SRUxBVElWRV9NT1RJT04K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2V2ZW50X3R5cGVfZ2V0X3R5 cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwlwdWJsaWMgZW51bSBFdmVu dFR5cGUgewotKwkJTk9USElORywKLSsJCUtFWV9QUkVTUywKLSsJCUtFWV9SRUxFQVNFLAotKwkJ TU9USU9OLAotKwkJRU5URVIsCi0rCQlMRUFWRSwKLSsJCUJVVFRPTl9QUkVTUywKLSsJCUJVVFRP Tl9SRUxFQVNFLAotKwkJU0NST0xMLAotKwkJVE9VQ0hfQkVHSU4sCi0rCQlUT1VDSF9VUERBVEUs Ci0rCQlUT1VDSF9FTkQsCi0rCQlUT1VDSF9DQU5DRUwsCi0rCQlUT1VDSFBBRF9QSU5DSCwKLSsJ CVRPVUNIUEFEX1NXSVBFLAotKwkJUFJPWElNSVRZX0lOLAotKwkJUFJPWElNSVRZX09VVCwKLSsJ CVBBRF9CVVRUT05fUFJFU1MsCi0rCQlQQURfQlVUVE9OX1JFTEVBU0UsCi0rCQlQQURfU1RSSVAs Ci0rCQlQQURfUklORywKLSsJCURFVklDRV9BRERFRCwKLSsJCURFVklDRV9SRU1PVkVELAotKwkJ SU1fQ09NTUlULAotKwkJSU1fREVMRVRFLAotKwkJSU1fUFJFRURJVCwKLSsJCUVWRU5UX0xBU1QK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfRkVBVFVSRV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfZmVhdHVyZV9m bGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQi KV0KLSsJcHVibGljIGVudW0gRmVhdHVyZUZsYWdzIHsKLSsJCVNUQUdFX1NUQVRJQywKLSsJCVNU QUdFX0NVUlNPUiwKLSsJCVNIQURFUlNfR0xTTCwKLSsJCU9GRlNDUkVFTiwKLSsJCVNUQUdFX01V TFRJUExFLAotKwkJU1dBUF9FVkVOVFMKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfRkxPV18iLCB0eXBlX2lk ID0gImNsdXR0ZXJfZmxvd19vcmllbnRhdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBlbnVtIEZsb3dPcmllbnRhdGlvbiB7Ci0rCQlIT1JJ Wk9OVEFMLAotKwkJVkVSVElDQUwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfRlJBTUVfUkVTVUxUXyIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9mcmFtZV9yZXN1bHRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVu dW0gRnJhbWVSZXN1bHQgewotKwkJUEVORElOR19QUkVTRU5URUQsCi0rCQlJRExFCi0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9 ICJDTFVUVEVSX0dFU1RVUkVfVFJJR0dFUl9FREdFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9nZXN0 dXJlX3RyaWdnZXJfZWRnZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4x OCIpXQotKwlwdWJsaWMgZW51bSBHZXN0dXJlVHJpZ2dlckVkZ2UgewotKwkJTk9ORSwKLSsJCUFG VEVSLAotKwkJQkVGT1JFCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0dSQVZJVFlfIiwgdHlwZV9pZCA9ICJj bHV0dGVyX2dyYXZpdHlfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0 cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMjIiLCBzaW5jZSA9ICIwLjIiKV0KLSsJcHVibGlj IGVudW0gR3Jhdml0eSB7Ci0rCQlOT05FLAotKwkJTk9SVEgsCi0rCQlOT1JUSF9FQVNULAotKwkJ RUFTVCwKLSsJCVNPVVRIX0VBU1QsCi0rCQlTT1VUSCwKLSsJCVNPVVRIX1dFU1QsCi0rCQlXRVNU LAotKwkJTk9SVEhfV0VTVCwKLSsJCUNFTlRFUgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9HUklEX1BPU0lU SU9OXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ncmlkX3Bvc2l0aW9uX2dldF90eXBlICgpIildCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCXB1YmxpYyBlbnVtIEdyaWRQb3NpdGlvbiB7 Ci0rCQlMRUZULAotKwkJUklHSFQsCi0rCQlUT1AsCi0rCQlCT1RUT00KLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRU RVJfSU5JVF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfaW5pdF9lcnJvcl9nZXRfdHlwZSAoKSIpXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCXB1YmxpYyBlbnVtIEluaXRFcnJvciB7Ci0r CQlTVUNDRVNTLAotKwkJRVJST1JfVU5LTk9XTiwKLSsJCUVSUk9SX1RIUkVBRFMsCi0rCQlFUlJP Ul9CQUNLRU5ELAotKwkJRVJST1JfSU5URVJOQUw7Ci0rCQlwdWJsaWMgc3RhdGljIEdMaWIuUXVh cmsgcXVhcmsgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX0FYSVNfIiwgdHlwZV9pZCA9ICJj bHV0dGVyX2lucHV0X2F4aXNfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEu NiIpXQotKwlwdWJsaWMgZW51bSBJbnB1dEF4aXMgewotKwkJSUdOT1JFLAotKwkJWCwKLSsJCVks Ci0rCQlQUkVTU1VSRSwKLSsJCVhUSUxULAotKwkJWVRJTFQsCi0rCQlXSEVFTCwKLSsJCURJU1RB TkNFLAotKwkJUk9UQVRJT04sCi0rCQlTTElERVIsCi0rCQlMQVNUCi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVS X0lOUFVUX0FYSVNfRkxBR18iLCB0eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfYXhpc19mbGFnc19n ZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVtIElucHV0QXhpc0ZsYWdzIHsK LSsJCU5PTkUsCi0rCQlYLAotKwkJWSwKLSsJCVBSRVNTVVJFLAotKwkJWFRJTFQsCi0rCQlZVElM VCwKLSsJCVdIRUVMLAotKwkJRElTVEFOQ0UsCi0rCQlST1RBVElPTiwKLSsJCVNMSURFUgotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVm aXggPSAiQ0xVVFRFUl9JTlBVVF9DT05URU5UX0hJTlRfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lu cHV0X2NvbnRlbnRfaGludF9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1Ymxp YyBlbnVtIElucHV0Q29udGVudEhpbnRGbGFncyB7Ci0rCQlDT01QTEVUSU9OLAotKwkJU1BFTExD SEVDSywKLSsJCUFVVE9fQ0FQSVRBTElaQVRJT04sCi0rCQlMT1dFUkNBU0UsCi0rCQlVUFBFUkNB U0UsCi0rCQlUSVRMRUNBU0UsCi0rCQlISURERU5fVEVYVCwKLSsJCVNFTlNJVElWRV9EQVRBLAot KwkJTEFUSU4sCi0rCQlNVUxUSUxJTkUKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfQ09OVEVOVF9Q VVJQT1NFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9jb250ZW50X3B1cnBvc2VfZ2V0X3R5 cGUgKCkiKV0KLSsJcHVibGljIGVudW0gSW5wdXRDb250ZW50UHVycG9zZSB7Ci0rCQlOT1JNQUws Ci0rCQlBTFBIQSwKLSsJCURJR0lUUywKLSsJCU5VTUJFUiwKLSsJCVBIT05FLAotKwkJVVJMLAot KwkJRU1BSUwsCi0rCQlOQU1FLAotKwkJUEFTU1dPUkQsCi0rCQlEQVRFLAotKwkJVElNRSwKLSsJ CURBVEVUSU1FLAotKwkJVEVSTUlOQUwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfUEFEX0ZFQVRVUkVfIiwg dHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV9wYWRfZmVhdHVyZV9nZXRfdHlwZSAoKSIp XQotKwlwdWJsaWMgZW51bSBJbnB1dERldmljZVBhZEZlYXR1cmUgewotKwkJQlVUVE9OLAotKwkJ UklORywKLSsJCVNUUklQCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX0RFVklDRV9QQURfU09VUkNF XyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9kZXZpY2VfcGFkX3NvdXJjZV9nZXRfdHlwZSAo KSIpXQotKwlwdWJsaWMgZW51bSBJbnB1dERldmljZVBhZFNvdXJjZSB7Ci0rCQlVTktOT1dOLAot KwkJRklOR0VSCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX0RFVklDRV9UT09MXyIsIHR5cGVfaWQg PSAiY2x1dHRlcl9pbnB1dF9kZXZpY2VfdG9vbF90eXBlX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjI4IildCi0rCXB1YmxpYyBlbnVtIElucHV0RGV2aWNlVG9vbFR5cGUg ewotKwkJTk9ORSwKLSsJCVBFTiwKLSsJCUVSQVNFUiwKLSsJCUJSVVNILAotKwkJUEVOQ0lMLAot KwkJQUlSQlJVU0gsCi0rCQlNT1VTRSwKLSsJCUxFTlMKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV90eXBlX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIGVudW0gSW5wdXREZXZpY2VUeXBlIHsKLSsJ CVBPSU5URVJfREVWSUNFLAotKwkJS0VZQk9BUkRfREVWSUNFLAotKwkJRVhURU5TSU9OX0RFVklD RSwKLSsJCUpPWVNUSUNLX0RFVklDRSwKLSsJCVRBQkxFVF9ERVZJQ0UsCi0rCQlUT1VDSFBBRF9E RVZJQ0UsCi0rCQlUT1VDSFNDUkVFTl9ERVZJQ0UsCi0rCQlQRU5fREVWSUNFLAotKwkJRVJBU0VS X0RFVklDRSwKLSsJCUNVUlNPUl9ERVZJQ0UsCi0rCQlQQURfREVWSUNFLAotKwkJTl9ERVZJQ0Vf VFlQRVMKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfTU9ERV8iLCB0eXBlX2lkID0gImNsdXR0ZXJf aW5wdXRfbW9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0r CXB1YmxpYyBlbnVtIElucHV0TW9kZSB7Ci0rCQlMT0dJQ0FMLAotKwkJUEhZU0lDQUwsCi0rCQlG TE9BVElORwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9JTlBVVF9QQU5FTF9TVEFURV8iLCB0eXBlX2lkID0g ImNsdXR0ZXJfaW5wdXRfcGFuZWxfc3RhdGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0g SW5wdXRQYW5lbFN0YXRlIHsKLSsJCU9GRiwKLSsJCU9OLAotKwkJVE9HR0xFCi0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJD TFVUVEVSX0lOVEVSUE9MQVRJT05fIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2ludGVycG9sYXRpb25f Z2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMjIiLCBzaW5jZSA9ICIxLjIiKV0KLSsJcHVibGljIGVudW0gSW50ZXJwb2xh dGlvbiB7Ci0rCQlMSU5FQVIsCi0rCQlDVUJJQwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9LRVlfU1RBVEVf IiwgdHlwZV9pZCA9ICJjbHV0dGVyX2tleV9zdGF0ZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg ZW51bSBLZXlTdGF0ZSB7Ci0rCQlSRUxFQVNFRCwKLSsJCVBSRVNTRUQKLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRU RVJfTE9OR19QUkVTU18iLCB0eXBlX2lkID0gImNsdXR0ZXJfbG9uZ19wcmVzc19zdGF0ZV9nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCXB1YmxpYyBlbnVtIExv bmdQcmVzc1N0YXRlIHsKLSsJCVFVRVJZLAotKwkJQUNUSVZBVEUsCi0rCQlDQU5DRUwKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4 ID0gIkNMVVRURVJfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX21vZGlmaWVyX3R5cGVfZ2V0X3R5cGUg KCkiKV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCXB1YmxpYyBl bnVtIE1vZGlmaWVyVHlwZSB7Ci0rCQlTSElGVF9NQVNLLAotKwkJTE9DS19NQVNLLAotKwkJQ09O VFJPTF9NQVNLLAotKwkJTU9EMV9NQVNLLAotKwkJTU9EMl9NQVNLLAotKwkJTU9EM19NQVNLLAot KwkJTU9ENF9NQVNLLAotKwkJTU9ENV9NQVNLLAotKwkJQlVUVE9OMV9NQVNLLAotKwkJQlVUVE9O Ml9NQVNLLAotKwkJQlVUVE9OM19NQVNLLAotKwkJQlVUVE9ONF9NQVNLLAotKwkJQlVUVE9ONV9N QVNLLAotKwkJTU9ESUZJRVJfUkVTRVJWRURfMTNfTUFTSywKLSsJCU1PRElGSUVSX1JFU0VSVkVE XzE0X01BU0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8xNV9NQVNLLAotKwkJTU9ESUZJRVJfUkVT RVJWRURfMTZfTUFTSywKLSsJCU1PRElGSUVSX1JFU0VSVkVEXzE3X01BU0ssCi0rCQlNT0RJRklF Ul9SRVNFUlZFRF8xOF9NQVNLLAotKwkJTU9ESUZJRVJfUkVTRVJWRURfMTlfTUFTSywKLSsJCU1P RElGSUVSX1JFU0VSVkVEXzIwX01BU0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8yMV9NQVNLLAot KwkJTU9ESUZJRVJfUkVTRVJWRURfMjJfTUFTSywKLSsJCU1PRElGSUVSX1JFU0VSVkVEXzIzX01B U0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8yNF9NQVNLLAotKwkJTU9ESUZJRVJfUkVTRVJWRURf MjVfTUFTSywKLSsJCVNVUEVSX01BU0ssCi0rCQlIWVBFUl9NQVNLLAotKwkJTUVUQV9NQVNLLAot KwkJTU9ESUZJRVJfUkVTRVJWRURfMjlfTUFTSywKLSsJCVJFTEVBU0VfTUFTSywKLSsJCU1PRElG SUVSX01BU0sKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfT0ZGU0NSRUVOX1JFRElSRUNUXyIsIHR5cGVfaWQg PSAiY2x1dHRlcl9vZmZzY3JlZW5fcmVkaXJlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCXB1YmxpYyBlbnVtIE9mZnNjcmVlblJlZGly ZWN0IHsKLSsJCUFVVE9NQVRJQ19GT1JfT1BBQ0lUWSwKLSsJCUFMV0FZUywKLSsJCU9OX0lETEUK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfT1JJRU5UQVRJT05fIiwgdHlwZV9pZCA9ICJjbHV0dGVyX29yaWVu dGF0aW9uX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCXB1 YmxpYyBlbnVtIE9yaWVudGF0aW9uIHsKLSsJCUhPUklaT05UQUwsCi0rCQlWRVJUSUNBTAotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVm aXggPSAiQ0xVVFRFUl9QQUlOVF9GTEFHXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYWludF9mbGFn X2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gUGFpbnRGbGFnIHsKLSsJ CU5PTkUsCi0rCQlOT19DVVJTT1JTLAotKwkJRk9SQ0VfQ1VSU09SUywKLSsJCUNMRUFSCi0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZp eCA9ICJDTFVUVEVSX1BBTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFuX2F4aXNfZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGVudW0gUGFuQXhp cyB7Ci0rCQlBWElTX05PTkUsCi0rCQlYX0FYSVMsCi0rCQlZX0FYSVMsCi0rCQlBWElTX0FVVE8K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfUEFUSF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfcGF0aF9ub2RlX3R5 cGVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMg ZW51bSBQYXRoTm9kZVR5cGUgewotKwkJTU9WRV9UTywKLSsJCUxJTkVfVE8sCi0rCQlDVVJWRV9U TywKLSsJCUNMT1NFLAotKwkJUkVMX01PVkVfVE8sCi0rCQlSRUxfTElORV9UTywKLSsJCVJFTF9D VVJWRV9UTwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9ERUJVR19OT1BfIiwgdHlwZV9pZCA9ICJjbHV0dGVy X3BpY2tfZGVidWdfZmxhZ19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVt IFBpY2tEZWJ1Z0ZsYWcgewotKwkJUElDS0lORwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9QSUNLXyIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9waWNrX21vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQotKwlwdWJsaWMgZW51bSBQaWNrTW9kZSB7Ci0rCQlOT05FLAotKwkJUkVB Q1RJVkUsCi0rCQlBTEwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQTExWV9EV0VMTF9DTElDS19UWVBFXyIs IHR5cGVfaWQgPSAiY2x1dHRlcl9wb2ludGVyX2ExMXlfZHdlbGxfY2xpY2tfdHlwZV9nZXRfdHlw ZSAoKSIpXQotKwlwdWJsaWMgZW51bSBQb2ludGVyQTExeUR3ZWxsQ2xpY2tUeXBlIHsKLSsJCU5P TkUsCi0rCQlQUklNQVJZLAotKwkJU0VDT05EQVJZLAotKwkJTUlERExFLAotKwkJRE9VQkxFLAot KwkJRFJBRwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9BMTFZX0RXRUxMX0RJUkVDVElPTl8iLCB0eXBlX2lk ID0gImNsdXR0ZXJfcG9pbnRlcl9hMTF5X2R3ZWxsX2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQot KwlwdWJsaWMgZW51bSBQb2ludGVyQTExeUR3ZWxsRGlyZWN0aW9uIHsKLSsJCU5PTkUsCi0rCQlM RUZULAotKwkJUklHSFQsCi0rCQlVUCwKLSsJCURPV04KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQTExWV9E V0VMTF9NT0RFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wb2ludGVyX2ExMXlfZHdlbGxfbW9kZV9n ZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBQb2ludGVyQTExeUR3ZWxsTW9kZSB7Ci0rCQlX SU5ET1csCi0rCQlHRVNUVVJFCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0ExMVlfIiwgdHlwZV9pZCA9ICJj bHV0dGVyX3BvaW50ZXJfYTExeV9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1 YmxpYyBlbnVtIFBvaW50ZXJBMTF5RmxhZ3MgewotKwkJU0VDT05EQVJZX0NMSUNLX0VOQUJMRUQs Ci0rCQlEV0VMTF9FTkFCTEVECi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0ExMVlfVElNRU9VVF9UWVBFXyIs IHR5cGVfaWQgPSAiY2x1dHRlcl9wb2ludGVyX2ExMXlfdGltZW91dF90eXBlX2dldF90eXBlICgp IildCi0rCXB1YmxpYyBlbnVtIFBvaW50ZXJBMTF5VGltZW91dFR5cGUgewotKwkJU0VDT05EQVJZ X0NMSUNLLAotKwkJRFdFTEwsCi0rCQlHRVNUVVJFCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1JFUEFJTlRf RkxBR1NfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3JlcGFpbnRfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0K LSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgZW51bSBS ZXBhaW50RmxhZ3MgewotKwkJUFJFX1BBSU5ULAotKwkJUE9TVF9QQUlOVAotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xV VFRFUl9SRVFVRVNUXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9yZXF1ZXN0X21vZGVfZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgZW51bSBSZXF1ZXN0 TW9kZSB7Ci0rCQlIRUlHSFRfRk9SX1dJRFRILAotKwkJV0lEVEhfRk9SX0hFSUdIVCwKLSsJCUNP TlRFTlRfU0laRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfcm90YXRl X2F4aXNfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwlwdWJs aWMgZW51bSBSb3RhdGVBeGlzIHsKLSsJCVhfQVhJUywKLSsJCVlfQVhJUywKLSsJCVpfQVhJUwot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNw cmVmaXggPSAiQ0xVVFRFUl9ST1RBVEVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3JvdGF0ZV9kaXJl Y3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMjIiLCBzaW5jZSA9ICIwLjQiKV0KLSsJcHVibGljIGVudW0gUm90 YXRlRGlyZWN0aW9uIHsKLSsJCUNXLAotKwkJQ0NXCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1NDQUxJTkdf RklMVEVSXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zY2FsaW5nX2ZpbHRlcl9nZXRfdHlwZSAoKSIp XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgZW51bSBTY2FsaW5nRmls dGVyIHsKLSsJCUxJTkVBUiwKLSsJCU5FQVJFU1QsCi0rCQlUUklMSU5FQVIKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNM VVRURVJfU0NST0xMXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zY3JvbGxfZGlyZWN0aW9uX2dldF90 eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJcHVibGljIGVudW0gU2Ny b2xsRGlyZWN0aW9uIHsKLSsJCVVQLAotKwkJRE9XTiwKLSsJCUxFRlQsCi0rCQlSSUdIVCwKLSsJ CVNNT09USAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9TQ1JPTExfRklOSVNIRURfIiwgdHlwZV9pZCA9ICJj bHV0dGVyX3Njcm9sbF9maW5pc2hfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4yNiIpXQotKwlwdWJsaWMgZW51bSBTY3JvbGxGaW5pc2hGbGFn cyB7Ci0rCQlOT05FLAotKwkJSE9SSVpPTlRBTCwKLSsJCVZFUlRJQ0FMCi0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVU VEVSX1NDUk9MTF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfc2Nyb2xsX21vZGVfZ2V0X3R5cGUgKCki KV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgZW51 bSBTY3JvbGxNb2RlIHsKLSsJCU5PTkUsCi0rCQlIT1JJWk9OVEFMTFksCi0rCQlWRVJUSUNBTExZ LAotKwkJQk9USAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9TQ1JPTExfU09VUkNFXyIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9zY3JvbGxfc291cmNlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjI2IildCi0rCXB1YmxpYyBlbnVtIFNjcm9sbFNvdXJjZSB7Ci0rCQlVTktOT1dOLAotKwkJ V0hFRUwsCi0rCQlGSU5HRVIsCi0rCQlDT05USU5VT1VTCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSXyIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9zaGFkZXJfdHlwZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBlbnVtIFNoYWRlclR5cGUgewotKwkJVkVSVEVYX1NI QURFUiwKLSsJCUZSQUdNRU5UX1NIQURFUgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9TTkFQX0VER0VfIiwg dHlwZV9pZCA9ICJjbHV0dGVyX3NuYXBfZWRnZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS42IildCi0rCXB1YmxpYyBlbnVtIFNuYXBFZGdlIHsKLSsJCVRPUCwKLSsJCVJJ R0hULAotKwkJQk9UVE9NLAotKwkJTEVGVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9DT0xPUl8iLCB0eXBl X2lkID0gImNsdXR0ZXJfc3RhdGljX2NvbG9yX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChz aW5jZSA9ICIxLjYiKV0KLSsJcHVibGljIGVudW0gU3RhdGljQ29sb3IgewotKwkJV0hJVEUsCi0r CQlCTEFDSywKLSsJCVJFRCwKLSsJCURBUktfUkVELAotKwkJR1JFRU4sCi0rCQlEQVJLX0dSRUVO LAotKwkJQkxVRSwKLSsJCURBUktfQkxVRSwKLSsJCUNZQU4sCi0rCQlEQVJLX0NZQU4sCi0rCQlN QUdFTlRBLAotKwkJREFSS19NQUdFTlRBLAotKwkJWUVMTE9XLAotKwkJREFSS19ZRUxMT1csCi0r CQlHUkFZLAotKwkJREFSS19HUkFZLAotKwkJTElHSFRfR1JBWSwKLSsJCUJVVFRFUiwKLSsJCUJV VFRFUl9MSUdIVCwKLSsJCUJVVFRFUl9EQVJLLAotKwkJT1JBTkdFLAotKwkJT1JBTkdFX0xJR0hU LAotKwkJT1JBTkdFX0RBUkssCi0rCQlDSE9DT0xBVEUsCi0rCQlDSE9DT0xBVEVfTElHSFQsCi0r CQlDSE9DT0xBVEVfREFSSywKLSsJCUNIQU1FTEVPTiwKLSsJCUNIQU1FTEVPTl9MSUdIVCwKLSsJ CUNIQU1FTEVPTl9EQVJLLAotKwkJU0tZX0JMVUUsCi0rCQlTS1lfQkxVRV9MSUdIVCwKLSsJCVNL WV9CTFVFX0RBUkssCi0rCQlQTFVNLAotKwkJUExVTV9MSUdIVCwKLSsJCVBMVU1fREFSSywKLSsJ CVNDQVJMRVRfUkVELAotKwkJU0NBUkxFVF9SRURfTElHSFQsCi0rCQlTQ0FSTEVUX1JFRF9EQVJL LAotKwkJQUxVTUlOSVVNXzEsCi0rCQlBTFVNSU5JVU1fMiwKLSsJCUFMVU1JTklVTV8zLAotKwkJ QUxVTUlOSVVNXzQsCi0rCQlBTFVNSU5JVU1fNSwKLSsJCUFMVU1JTklVTV82LAotKwkJVFJBTlNQ QVJFTlQKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjcHJlZml4ID0gIkNMVVRURVJfU1RFUF9NT0RFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9z dGVwX21vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJ cHVibGljIGVudW0gU3RlcE1vZGUgewotKwkJU1RBUlQsCi0rCQlFTkQKLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRU RVJfU1dJUEVfRElSRUNUSU9OXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zd2lwZV9kaXJlY3Rpb25f Z2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0r CXB1YmxpYyBlbnVtIFN3aXBlRGlyZWN0aW9uIHsKLSsJCVVQLAotKwkJRE9XTiwKLSsJCUxFRlQs Ci0rCQlSSUdIVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9URVhUX0RJUkVDVElPTl8iLCB0eXBlX2lkID0g ImNsdXR0ZXJfdGV4dF9kaXJlY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMiIpXQotKwlwdWJsaWMgZW51bSBUZXh0RGlyZWN0aW9uIHsKLSsJCURFRkFVTFQsCi0r CQlMVFIsCi0rCQlSVEwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfVEVYVFVSRV8iLCB0eXBlX2lkID0gImNs dXR0ZXJfdGV4dHVyZV9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9u IChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjIyIiwgc2luY2UgPSAi MC40IildCi0rCXB1YmxpYyBlbnVtIFRleHR1cmVGbGFncyB7Ci0rCQlOT05FLAotKwkJUkdCX0ZM QUdfQkdSLAotKwkJUkdCX0ZMQUdfUFJFTVVMVCwKLSsJCVlVVl9GTEFHX1lVVjIKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0g IkNMVVRURVJfVEVYVFVSRV9RVUFMSVRZXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl90ZXh0dXJlX3F1 YWxpdHlfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMjIiLCBzaW5jZSA9ICIwLjgiKV0KLSsJcHVibGljIGVudW0gVGV4 dHVyZVF1YWxpdHkgewotKwkJTE9XLAotKwkJTUVESVVNLAotKwkJSElHSAotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xV VFRFUl9USU1FTElORV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfdGltZWxpbmVfZGlyZWN0aW9uX2dl dF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVibGljIGVudW0g VGltZWxpbmVEaXJlY3Rpb24gewotKwkJRk9SV0FSRCwKLSsJCUJBQ0tXQVJECi0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJD TFVUVEVSX1RPVUNIUEFEX0dFU1RVUkVfUEhBU0VfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RvdWNo cGFkX2dlc3R1cmVfcGhhc2VfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEu MjQiKV0KLSsJcHVibGljIGVudW0gVG91Y2hwYWRHZXN0dXJlUGhhc2UgewotKwkJQkVHSU4sCi0r CQlVUERBVEUsCi0rCQlFTkQsCi0rCQlDQU5DRUwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfVU5JVF8iLCB0 eXBlX2lkID0gImNsdXR0ZXJfdW5pdF90eXBlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIGVudW0gVW5pdFR5cGUgewotKwkJUElYRUwsCi0rCQlF TSwKLSsJCU1NLAotKwkJUE9JTlQsCi0rCQlDTQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9WSVJUVUFMX0RF VklDRV9UWVBFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl92aXJ0dWFsX2RldmljZV90eXBlX2dldF90 eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gVmlydHVhbERldmljZVR5cGUgewot KwkJTk9ORSwKLSsJCUtFWUJPQVJELAotKwkJUE9JTlRFUiwKLSsJCVRPVUNIU0NSRUVOCi0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZp eCA9ICJDTFVUVEVSX1pPT01fIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3pvb21fYXhpc19nZXRfdHlw ZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgZW51bSBab29t QXhpcyB7Ci0rCQlYX0FYSVMsCi0rCQlZX0FYSVMsCi0rCQlCT1RICi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVS X0lNQUdFX0VSUk9SX0lOVkFMSURfIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CXB1YmxpYyBlcnJvcmRvbWFpbiBJbWFnZUVycm9yIHsKLSsJCURBVEE7Ci0rCQlwdWJsaWMgc3Rh dGljIEdMaWIuUXVhcmsgcXVhcmsgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1NDUklQVF9FUlJPUl9J TlZBTElEXyIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCXB1YmxpYyBlcnJvcmRv bWFpbiBTY3JpcHRFcnJvciB7Ci0rCQlUWVBFX0ZVTkNUSU9OLAotKwkJUFJPUEVSVFksCi0rCQlW QUxVRTsKLSsJCXB1YmxpYyBzdGF0aWMgR0xpYi5RdWFyayBxdWFyayAoKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBpbnN0YW5jZV9wb3Mg PSAxLjkpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yNCIpXQotKwlwdWJsaWMgZGVsZWdhdGUg Q2x1dHRlci5BY3RvciBBY3RvckNyZWF0ZUNoaWxkRnVuYyAoR0xpYi5PYmplY3QgaXRlbSk7Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNl X3BvcyA9IDQuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIGRlbGVn YXRlIGJvb2wgQmluZGluZ0FjdGlvbkZ1bmMgKEdMaWIuT2JqZWN0IGdvYmplY3QsIHN0cmluZyBh Y3Rpb25fbmFtZSwgdWludCBrZXlfdmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMp OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBpbnN0 YW5jZV9wb3MgPSAxLjkpXQotKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBDYWxsYmFjayAoQ2x1dHRl ci5BY3RvciBhY3Rvcik7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4 IildCi0rCXB1YmxpYyBkZWxlZ2F0ZSBib29sIEV2ZW50RmlsdGVyRnVuYyAoQ2x1dHRlci5FdmVu dCBldmVudCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJ cHVibGljIGRlbGVnYXRlIHZvaWQgUGF0aENhbGxiYWNrIChDbHV0dGVyLlBhdGhOb2RlIG5vZGUp OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNf dGFyZ2V0ID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBk ZWxlZ2F0ZSBib29sIFByb2dyZXNzRnVuYyAoR0xpYi5WYWx1ZSBhLCBHTGliLlZhbHVlIGIsIGRv dWJsZSBwcm9ncmVzcywgR0xpYi5WYWx1ZSByZXR2YWwpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBpbnN0YW5jZV9wb3MgPSA2LjkpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMC42IildCi0rCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIFNjcmlwdENvbm5l Y3RGdW5jIChDbHV0dGVyLlNjcmlwdCBzY3JpcHQsIEdMaWIuT2JqZWN0IG9iamVjdCwgc3RyaW5n IHNpZ25hbF9uYW1lLCBzdHJpbmcgaGFuZGxlcl9uYW1lLCBHTGliLk9iamVjdCBjb25uZWN0X29i amVjdCwgR0xpYi5Db25uZWN0RmxhZ3MgZmxhZ3MpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBpbnN0YW5jZV9wb3MgPSAzLjkpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgZGVsZWdhdGUgZG91YmxlIFRpbWVsaW5lUHJv Z3Jlc3NGdW5jIChDbHV0dGVyLlRpbWVsaW5lIHRpbWVsaW5lLCBkb3VibGUgZWxhcHNlZCwgZG91 YmxlIHRvdGFsKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9DT0dMIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0g dHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC40IildCi0rCXB1Ymxp YyBjb25zdCBzdHJpbmcgQ09HTDsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9DVVJSRU5UX1RJTUUiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjAuNCIpXQotKwlwdWJsaWMgY29uc3QgaW50IENVUlJFTlRfVElNRTsKLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9GTEFWT1VSIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVj YXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC40IildCi0rCXB1YmxpYyBjb25zdCBzdHJp bmcgRkxBVk9VUjsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9QQVRIX1JFTEFUSVZFIildCi0rCXB1YmxpYyBjb25zdCBp bnQgUEFUSF9SRUxBVElWRTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9QUklPUklUWV9SRURSQVciKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgY29uc3QgaW50IFBSSU9SSVRZX1JFRFJBVzsK LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCXB1 YmxpYyBzdGF0aWMgdm9pZCBiYXNlX2luaXQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQot KwlwdWJsaWMgc3RhdGljIHZvaWQgY2Fpcm9fY2xlYXIgKENhaXJvLkNvbnRleHQgY3IpOwotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgY2Fpcm9fc2V0X3NvdXJj ZV9jb2xvciAoQ2Fpcm8uQ29udGV4dCBjciwgQ2x1dHRlci5Db2xvciBjb2xvcik7Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS42IildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBj b2xvcl9nZXRfc3RhdGljIChDbHV0dGVyLlN0YXRpY0NvbG9yIGNvbG9yKTsKLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjE0IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBkaXNhYmxlX2FjY2Vzc2liaWxpdHkg KCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBkb19ldmVu dCAoQ2x1dHRlci5FdmVudCBldmVudCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCXB1Ymxp YyBzdGF0aWMgYm9vbCBldmVudHNfcGVuZGluZyAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0K LSsJcHVibGljIHN0YXRpYyBib29sIGdldF9hY2Nlc3NpYmlsaXR5X2VuYWJsZWQgKCk7Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkV2ZW50 IGdldF9jdXJyZW50X2V2ZW50ICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMg c3RhdGljIHVpbnQzMiBnZXRfY3VycmVudF9ldmVudF90aW1lICgpOwotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0g IjAuNCIpXQotKwlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5CYWNrZW5kIGdldF9kZWZh dWx0X2JhY2tlbmQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCXB1YmxpYyBzdGF0aWMg dWludCBnZXRfZGVmYXVsdF9mcmFtZV9yYXRlICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQot KwlwdWJsaWMgc3RhdGljIENsdXR0ZXIuVGV4dERpcmVjdGlvbiBnZXRfZGVmYXVsdF90ZXh0X2Rp cmVjdGlvbiAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93 bmVkIFBhbmdvLkZvbnRNYXAgZ2V0X2ZvbnRfbWFwICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIp XQotKwlwdWJsaWMgc3RhdGljIEdMaWIuT3B0aW9uR3JvdXAgZ2V0X29wdGlvbl9ncm91cCAoKTsK LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtW ZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJcHVibGljIHN0YXRpYyBHTGliLk9wdGlvbkdyb3Vw IGdldF9vcHRpb25fZ3JvdXBfd2l0aG91dF9pbml0ICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIp XQotKwlwdWJsaWMgc3RhdGljIHVub3duZWQgc3RyaW5nIGdldF9zY3JpcHRfaWQgKEdMaWIuT2Jq ZWN0IGdvYmplY3QpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiKV0KLSsJcHVibGljIHN0YXRpYyBDbHV0dGVyLkluaXRFcnJvciBpbml0IChbQ0NvZGUg KGFycmF5X2xlbmd0aF9jbmFtZSA9ICJhcmdjIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDAuNSldIHJl ZiB1bm93bmVkIHN0cmluZ1tdPyBhcmd2KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJcHVi bGljIHN0YXRpYyBDbHV0dGVyLkluaXRFcnJvciBpbml0X3dpdGhfYXJncyAoW0NDb2RlIChhcnJh eV9sZW5ndGhfY25hbWUgPSAiYXJnYyIsIGFycmF5X2xlbmd0aF9wb3MgPSAwLjUpXSByZWYgdW5v d25lZCBzdHJpbmdbXT8gYXJndiwgc3RyaW5nPyBwYXJhbWV0ZXJfc3RyaW5nLCBbQ0NvZGUgKGFy cmF5X2xlbmd0aCA9IGZhbHNlKV0gR0xpYi5PcHRpb25FbnRyeVtdPyBlbnRyaWVzLCBzdHJpbmc/ IHRyYW5zbGF0aW9uX2RvbWFpbikgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlwdWJsaWMgc3RhdGljIHVpbnQz MiBrZXlzeW1fdG9fdW5pY29kZSAodWludCBrZXl2YWwpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHNldF9j dXN0b21fYmFja2VuZF9mdW5jICh2b2lkKiBmdW5jKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCXB1YmxpYyBzdGF0aWMgdWludCB1bmljb2RlX3RvX2tleXN5bSAodWludDMyIHdjKTsKLSt9 Ci1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVyLWNvZ2wtNy52YXBpIHZhcGkvbXV0dGVyLWNvZ2wtNy52 YXBpCi1pbmRleCA2MjBjMjMxNy4uMWFhZTk3ZDUgMTAwNjQ0Ci0tLS0gdmFwaS9tdXR0ZXItY29n bC03LnZhcGkKLSsrKyB2YXBpL211dHRlci1jb2dsLTcudmFwaQotQEAgLTMyLDcgKzMyLDkgQEAg bmFtZXNwYWNlIENvZ2wgewotIAlwdWJsaWMgY2xhc3MgQ29udGV4dCA6IENvZ2wuT2JqZWN0IHsK LSAJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSAJCXByb3RlY3Rl ZCBDb250ZXh0ICgpOwotKwkJcHVibGljIHVub3duZWQgQ29nbC5QaXBlbGluZSBnZXRfbmFtZWRf cGlwZWxpbmUgKENvZ2wuUGlwZWxpbmVLZXkga2V5KTsKLSAJCXB1YmxpYyBib29sIGlzX2hhcmR3 YXJlX2FjY2VsZXJhdGVkICgpOwotKwkJcHVibGljIHZvaWQgc2V0X25hbWVkX3BpcGVsaW5lIChD b2dsLlBpcGVsaW5lS2V5IGtleSwgQ29nbC5QaXBlbGluZT8gcGlwZWxpbmUpOwotIAl9Ci0gCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNvcHlfZnVuY3Rpb24gPSAi Z19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0g ImNvZ2xfZnJhbWVfY2xvc3VyZV9nZXRfZ3R5cGUgKCkiKV0KLSAJW0NvbXBhY3RdCi1AQCAtMjcw LDYgKzI3MiwxMCBAQCBuYW1lc3BhY2UgQ29nbCB7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4w IildCi0gCQlwdWJsaWMgdm9pZCBzZXRfdXNlcl9wcm9ncmFtIChDb2dsLkhhbmRsZSBwcm9ncmFt KTsKLSAJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBl X2lkID0gIkdfVFlQRV9TVFJJTkciKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQaXBl bGluZUtleSA6IHN0cmluZyB7Ci0rCX0KLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIildCi0gCVtDb21wYWN0XQotIAlwdWJsaWMgY2xhc3MgUGl4ZWxCdWZmZXIgOiBD b2dsLkhhbmRsZSB7Ci1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVyLWNvZ2wtOC1jdXN0b20udmFsYSB2 YXBpL211dHRlci1jb2dsLTgtY3VzdG9tLnZhbGEKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCAwMDAwMDAwMC4uYzRkNGI5M2EKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL211dHRlci1jb2ds LTgtY3VzdG9tLnZhbGEKLUBAIC0wLDAgKzEsMTE5IEBACi0rbmFtZXNwYWNlIENvZ2wgewotKwlb Q29tcGFjdF0KLSsJW0NDb2RlIChjbmFtZSA9ICJDb2dsSGFuZGxlIildCi0rCXB1YmxpYyBjbGFz cyBCdWZmZXI6IEhhbmRsZSB7Ci0rCQlwdWJsaWMgdWludCBnZXRfc2l6ZSAoKTsKLSsJCXB1Ymxp YyBib29sIHNldF9kYXRhIChzaXplX3Qgb2Zmc2V0LCBbQ0NvZGUgKGFycmF5X2xlbmd0aF90eXBl ID0gInNpemVfdCIpXSB1aW50OFtdIGRhdGEpOwotKwkJcHVibGljIHZvaWQgdW5tYXAgKCk7Ci0r CX0KLSsKLSsJW0NDb2RlIChoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBD b2xvciB7Ci0rCQlwdWJsaWMgQ29sb3IuZnJvbV80ZiAoZmxvYXQgcmVkLCBmbG9hdCBncmVlbiwg ZmxvYXQgYmx1ZSwgZmxvYXQgYWxwaGEpOwotKwkJcHVibGljIENvbG9yLmZyb21fNHViICh1aW50 OCByZWQsIHVpbnQ4IGdyZWVuLCB1aW50OCBibHVlLCB1aW50OCBhbHBoYSk7Ci0rCX0KLSsKLSsJ W0NvbXBhY3RdCi0rCVtDQ29kZSAocmVmX2Z1bmN0aW9uID0gImNvZ2xfaGFuZGxlX3JlZiIsIHVu cmVmX2Z1bmN0aW9uID0gImNvZ2xfaGFuZGxlX3VucmVmIildCi0rCXB1YmxpYyBjbGFzcyBIYW5k bGUgewotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX2JpdG1hcCIpXQotKwkJcHVibGljIGJv b2wgaXNfYml0bWFwICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX2J1ZmZlciIpXQot KwkJcHVibGljIGJvb2wgaXNfYnVmZmVyICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lz X21hdGVyaWFsIildCi0rCQlwdWJsaWMgYm9vbCBpc19tYXRlcmlhbCAoKTsKLSsJCVtDQ29kZSAo Y25hbWUgPSAiY29nbF9pc19vZmZzY3JlZW4iKV0KLSsJCXB1YmxpYyBib29sIGlzX29mZnNjcmVl biAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19waXhlbF9idWZmZXIiKV0KLSsJCXB1 YmxpYyBib29sIGlzX3BpeGVsX2J1ZmZlciAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9p c19wcm9ncmFtIildCi0rCQlwdWJsaWMgYm9vbCBpc19wcm9ncmFtICgpOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjb2dsX2lzX3NoYWRlciIpXQotKwkJcHVibGljIGJvb2wgaXNfc2hhZGVyICgpOwot KwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX3RleHR1cmUiKV0KLSsJCXB1YmxpYyBib29sIGlz X3RleHR1cmUgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfdmVydGV4X2J1ZmZlciIp XQotKwkJcHVibGljIGJvb2wgaXNfdmVydGV4X2J1ZmZlciAoKTsKLSsJfQotKwotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjb3B5X2Z1bmN0aW9uID0gImNvZ2xf cGF0aF9jb3B5IildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgUGF0aCB7Ci0rCQlwdWJs aWMgc3RhdGljIHZvaWQgQG5ldyAoKTsKLSsJfQotKwotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNs YXNzIFBpeGVsQnVmZmVyOiBIYW5kbGUgewotKwkJcHVibGljIFBpeGVsQnVmZmVyICh1aW50IHNp emUpOwotKwkJcHVibGljIFBpeGVsQnVmZmVyLmZvcl9zaXplICh1aW50IHdpZHRoLCB1aW50IGhl aWdodCwgQ29nbC5QaXhlbEZvcm1hdCBmb3JtYXQsIHVpbnQgc3RyaWRlKTsKLSsJfQotKwotKwlb Q29tcGFjdF0KLSsJW0NDb2RlIChjbmFtZSA9ICJDb2dsSGFuZGxlIiwgcmVmX2Z1bmN0aW9uID0g ImNvZ2xfcHJvZ3JhbV9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJjb2dsX3Byb2dyYW1fdW5yZWYi KV0KLSsJcHVibGljIGNsYXNzIFByb2dyYW06IEhhbmRsZSB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0g ImNvZ2xfY3JlYXRlX3Byb2dyYW0iLCB0eXBlID0gIkNvZ2xIYW5kbGUqIiwgaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBQcm9ncmFtICgpOwotKwkJcHVibGljIHZv aWQgYXR0YWNoX3NoYWRlciAoQ29nbC5TaGFkZXIgc2hhZGVyX2hhbmRsZSk7Ci0rCQlwdWJsaWMg aW50IGdldF91bmlmb3JtX2xvY2F0aW9uIChzdHJpbmcgdW5pZm9ybV9uYW1lKTsKLSsJCXB1Ymxp YyB2b2lkIGxpbmsgKCk7Ci0rCQlwdWJsaWMgc3RhdGljIHZvaWQgdW5pZm9ybV8xZiAoaW50IHVu aWZvcm1fbm8sIGZsb2F0IHZhbHVlKTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtXzFp IChpbnQgdW5pZm9ybV9ubywgaW50IHZhbHVlKTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlm b3JtX2Zsb2F0IChpbnQgdW5pZm9ybV9ubywgaW50IHNpemUsIFtDQ29kZSAoYXJyYXlfbGVuZ3Ro X3BvcyA9IDIuOSldIGZsb2F0W10gdmFsdWUpOwotKwkJcHVibGljIHN0YXRpYyB2b2lkIHVuaWZv cm1faW50IChpbnQgdW5pZm9ybV9ubywgaW50IHNpemUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX3Bv cyA9IDIuOSldIGludFtdIHZhbHVlKTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtX21h dHJpeCAoaW50IHVuaWZvcm1fbm8sIGludCBzaXplLCBib29sIHRyYW5zcG9zZSwgW0NDb2RlIChh cnJheV9sZW5ndGhfcG9zID0gMi45KV0gZmxvYXRbXSB2YWx1ZSk7Ci0rCQlwdWJsaWMgdm9pZCB1 c2UgKCk7Ci0rCX0KLSsKLSsJW0NvbXBhY3RdCi0rCVtDQ29kZSAoY25hbWUgPSAiQ29nbEhhbmRs ZSIsIHJlZl9mdW5jdGlvbiA9ICJjb2dsX3NoYWRlcl9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJj b2dsX3NoYWRlcl91bnJlZiIpXQotKwlwdWJsaWMgY2xhc3MgU2hhZGVyOiBIYW5kbGUgewotKwkJ W0NDb2RlIChjbmFtZSA9ICJjb2dsX2NyZWF0ZV9zaGFkZXIiLCB0eXBlID0gIkNvZ2xIYW5kbGUq IiwgaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBTaGFkZXIgKENv Z2wuU2hhZGVyVHlwZSBzaGFkZXJfdHlwZSk7Ci0rCQlwdWJsaWMgdm9pZCBjb21waWxlICgpOwot KwkJcHVibGljIHN0cmluZyBnZXRfaW5mb19sb2cgKCk7Ci0rCQlwdWJsaWMgQ29nbC5TaGFkZXJU eXBlIGdldF90eXBlICgpOwotKwkJcHVibGljIGJvb2wgaXNfY29tcGlsZWQgKCk7Ci0rCQlwdWJs aWMgdm9pZCBzb3VyY2UgKHN0cmluZyBzb3VyY2UpOwotKwl9Ci0rCi0rCVtDb21wYWN0XQotKwlb Q0NvZGUgKGNuYW1lID0gIkNvZ2xIYW5kbGUiLCByZWZfZnVuY3Rpb24gPSAiY29nbF92ZXJ0ZXhf YnVmZmVyX3JlZiIsIHVucmVmX2Z1bmN0aW9uID0gImNvZ2xfdmVydGV4X2J1ZmZlcl91bnJlZiIp XQotKwlwdWJsaWMgY2xhc3MgVmVydGV4QnVmZmVyOiBIYW5kbGUgewotKwkJW0NDb2RlICh0eXBl ID0gIkNvZ2xIYW5kbGUqIiwgaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1 YmxpYyBWZXJ0ZXhCdWZmZXIgKHVpbnQgbl92ZXJ0aWNlcyk7Ci0rCQlwdWJsaWMgdm9pZCBhZGQg KHN0cmluZyBhdHRyaWJ1dGVfbmFtZSwgdWNoYXIgbl9jb21wb25lbnRzLCBDb2dsLkF0dHJpYnV0 ZVR5cGUgdHlwZSwgYm9vbCBub3JtYWxpemVkLCB1aW50MTYgc3RyaWRlLCB2b2lkKiBwb2ludGVy KTsKLSsJCXB1YmxpYyB2b2lkIGRlbGV0ZSAoc3RyaW5nIGF0dHJpYnV0ZV9uYW1lKTsKLSsJCXB1 YmxpYyB2b2lkIGRpc2FibGUgKHN0cmluZyBhdHRyaWJ1dGVfbmFtZSk7Ci0rCQlwdWJsaWMgdm9p ZCBkcmF3IChDb2dsLlZlcnRpY2VzTW9kZSBtb2RlLCBpbnQgZmlyc3QsIGludCBjb3VudCk7Ci0r CQlwdWJsaWMgdm9pZCBkcmF3X2VsZW1lbnRzIChDb2dsLlZlcnRpY2VzTW9kZSBtb2RlLCBWZXJ0 ZXhCdWZmZXJJbmRpY2VzIGluZGljZXMsIGludCBtaW5faW5kZXgsIGludCBtYXhfaW5kZXgsIGlu dCBpbmRpY2VzX29mZnNldCwgaW50IGNvdW50KTsKLSsJCXB1YmxpYyB2b2lkIGVuYWJsZSAoc3Ry aW5nIGF0dHJpYnV0ZV9uYW1lKTsKLSsJCXB1YmxpYyB1aW50IGdldF9uX3ZlcnRpY2VzICgpOwot KwkJcHVibGljIHZvaWQgc3VibWl0ICgpOwotKwl9Ci0rCi0rCVtDb21wYWN0XQotKwlbQ0NvZGUg KGNuYW1lID0gIkNvZ2xIYW5kbGUiKV0KLSsJcHVibGljIGNsYXNzIFZlcnRleEJ1ZmZlckluZGlj ZXM6IEhhbmRsZSB7Ci0rCQlwdWJsaWMgVmVydGV4QnVmZmVySW5kaWNlcyAoQ29nbC5JbmRpY2Vz VHlwZSBpbmRpY2VzX3R5cGUsIHZvaWQqIGluZGljZXNfYXJyYXksIGludCBpbmRpY2VzX2xlbik7 Ci0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ29nbC5WZXJ0ZXhCdWZmZXJJbmRpY2VzIGdldF9m b3JfcXVhZHMgKHVpbnQgbl9pbmRpY2VzKTsKLSsJCXB1YmxpYyBDb2dsLkluZGljZXNUeXBlIGdl dF90eXBlICgpOwotKwl9Ci0rCi0rCVtDQ29kZSAodHlwZV9pZCA9ICJDT0dMX1RZUEVfTUFUUklY IiwgY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlwdWJsaWMgc3RydWN0IE1h dHJpeCB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfbWF0cml4X2luaXRfZnJvbV9hcnJheSIs IGFycmF5X2xlbmd0aCA9IGZhbHNlLCBhcnJheV9udWxsX3Rlcm1pbmF0ZWQgPSBmYWxzZSldCi0r CQlwdWJsaWMgTWF0cml4LmZyb21fYXJyYXkgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2Up XSBmbG9hdFtdIGFycmF5KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9tYXRyaXhfaW5pdF9p ZGVudGl0eSIpXQotKwkJcHVibGljIE1hdHJpeC5pZGVudGl0eSAoKTsKLSsJCVtDQ29kZSAoY25h bWUgPSAiY29nbF9tYXRyaXhfbXVsdGlwbHkiKV0KLSsJCXB1YmxpYyBNYXRyaXgubXVsdGlwbHkg KENvZ2wuTWF0cml4IGEsIENvZ2wuTWF0cml4IGIpOwotKwl9Ci0rCi0rCVtTaW1wbGVUeXBlXQot KwlbR0lSIChuYW1lID0gIkJvb2wiKV0KLSsJW0Jvb2xlYW5UeXBlXQotKwlwdWJsaWMgc3RydWN0 IEJvb2wgOiBib29sIHsKLSsJfQotKwotKwlwdWJsaWMgc3RhdGljIEdMaWIuQ2FsbGJhY2sgZ2V0 X3Byb2NfYWRkcmVzcyhzdHJpbmcgcyk7Ci0rfQotZGlmZiAtLWdpdCB2YXBpL211dHRlci1jb2ds LTguZGVwcyB2YXBpL211dHRlci1jb2dsLTguZGVwcwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWlu ZGV4IDAwMDAwMDAwLi45OGNjYWM1YgotLS0tIC9kZXYvbnVsbAotKysrIHZhcGkvbXV0dGVyLWNv Z2wtOC5kZXBzCi1AQCAtMCwwICsxIEBACi0rcGFuZ28KLWRpZmYgLS1naXQgdmFwaS9tdXR0ZXIt Y29nbC04LnZhcGkgdmFwaS9tdXR0ZXItY29nbC04LnZhcGkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwMC4uYzE3YzEyNGUKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL211dHRl ci1jb2dsLTgudmFwaQotQEAgLTAsMCArMSwxMDkxIEBACi0rLyogbXV0dGVyLWNvZ2wtOC52YXBp IGdlbmVyYXRlZCBieSB2YXBpZ2VuLCBkbyBub3QgbW9kaWZ5LiAqLwotKwotK1tDQ29kZSAoY3By ZWZpeCA9ICJDb2dsIiwgZ2lyX25hbWVzcGFjZSA9ICJDb2dsIiwgZ2lyX3ZlcnNpb24gPSAiOCIs IGxvd2VyX2Nhc2VfY3ByZWZpeCA9ICJjb2dsXyIpXQotK25hbWVzcGFjZSBDb2dsIHsKLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9ICJjb2dsX2Jp dG1hcF9nZXRfZ3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJpdG1hcCA6IENvZ2wuT2JqZWN0 IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3Rl Y3RlZCBCaXRtYXAgKCk7Ci0rCQlwdWJsaWMgc3RhdGljIHVpbnQzMiBlcnJvcl9xdWFyayAoKTsK LSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBCaXRtYXAuZnJvbV9maWxlIChzdHJpbmcgZmls ZW5hbWUpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyBDb2dsLlBpeGVsRm9ybWF0IGdldF9mb3JtYXQgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludCBnZXRfaGVpZ2h0ICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBpbnQgZ2V0X3Jvd3N0cmlkZSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBnZXRfc2l6 ZV9mcm9tX2ZpbGUgKHN0cmluZyBmaWxlbmFtZSwgb3V0IGludCB3aWR0aCwgb3V0IGludCBoZWln aHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBpbnQgZ2V0X3dp ZHRoICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIs IGNuYW1lID0gIkNvZ2xIYW5kbGUiKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBCdWZm ZXIgOiBDb2dsLkhhbmRsZSB7Ci0rCQlwdWJsaWMgdWludCBnZXRfc2l6ZSAoKTsKLSsJCXB1Ymxp YyBib29sIHNldF9kYXRhIChzaXplX3Qgb2Zmc2V0LCBbQ0NvZGUgKGFycmF5X2xlbmd0aF90eXBl ID0gInNpemVfdCIpXSB1aW50OFtdIGRhdGEpOwotKwkJcHVibGljIHZvaWQgdW5tYXAgKCk7Ci0r CX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9 ICJjb2dsX2NvbnRleHRfZ2V0X2d0eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBDb250ZXh0IDog Q29nbC5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2Up XQotKwkJcHJvdGVjdGVkIENvbnRleHQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLlBpcGVs aW5lIGdldF9uYW1lZF9waXBlbGluZSAoQ29nbC5QaXBlbGluZUtleSBrZXkpOwotKwkJcHVibGlj IGJvb2wgaXNfaGFyZHdhcmVfYWNjZWxlcmF0ZWQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfbmFt ZWRfcGlwZWxpbmUgKENvZ2wuUGlwZWxpbmVLZXkga2V5LCBDb2dsLlBpcGVsaW5lPyBwaXBlbGlu ZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY29w eV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJl ZSIsIHR5cGVfaWQgPSAiY29nbF9mcmFtZV9jbG9zdXJlX2dldF9ndHlwZSAoKSIpXQotKwlbQ29t cGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJcHVibGljIGNsYXNzIEZyYW1l Q2xvc3VyZSB7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5o IiwgdHlwZV9pZCA9ICJjb2dsX2ZyYW1lX2luZm9fZ2V0X2d0eXBlICgpIildCi0rCXB1YmxpYyBj bGFzcyBGcmFtZUluZm8gOiBDb2dsLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgRnJhbWVJbmZvICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyBpbnQ2NCBnZXRfZnJhbWVfY291bnRlciAo KTsKLSsJCXB1YmxpYyBib29sIGdldF9pc19zeW1ib2xpYyAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjE0IildCi0rCQlwdWJsaWMgaW50NjQgZ2V0X3ByZXNlbnRhdGlvbl90aW1lICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfcmVmcmVz aF9yYXRlICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIHR5cGVfaWQgPSAiY29nbF9mcmFtZWJ1ZmZlcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg YWJzdHJhY3QgY2xhc3MgRnJhbWVidWZmZXIgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgRnJhbWVidWZmZXIg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdmlydHVhbCBib29s IGFsbG9jYXRlICgpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQotKwkJcHVibGljIHZvaWQgY2xlYXIgKHVsb25nIGJ1ZmZlcnMsIENvZ2wuQ29sb3IgY29s b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgY2xlYXI0 ZiAodWxvbmcgYnVmZmVycywgZmxvYXQgcmVkLCBmbG9hdCBncmVlbiwgZmxvYXQgYmx1ZSwgZmxv YXQgYWxwaGEpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQg ZGlzY2FyZF9idWZmZXJzICh1bG9uZyBidWZmZXJzKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgdm9pZCBkcmF3X211bHRpdGV4dHVyZWRfcmVjdGFuZ2xlIChDb2ds LlBpcGVsaW5lIHBpcGVsaW5lLCBmbG9hdCB4XzEsIGZsb2F0IHlfMSwgZmxvYXQgeF8yLCBmbG9h dCB5XzIsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSBmbG9hdFtdIHRleF9jb29yZHMs IGludCB0ZXhfY29vcmRzX2xlbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJ cHVibGljIHZvaWQgZHJhd19yZWN0YW5nbGUgKENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIGZsb2F0 IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIsIGZsb2F0IHlfMik7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgZHJhd19yZWN0YW5nbGVzIChDb2dsLlBpcGVs aW5lIHBpcGVsaW5lLCBbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gZmxvYXRbXSBjb29y ZGluYXRlcywgdWludCBuX3JlY3RhbmdsZXMpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyB2b2lkIGRyYXdfdGV4dHVyZWRfcmVjdGFuZ2xlIChDb2dsLlBpcGVsaW5l IHBpcGVsaW5lLCBmbG9hdCB4XzEsIGZsb2F0IHlfMSwgZmxvYXQgeF8yLCBmbG9hdCB5XzIsIGZs b2F0IHNfMSwgZmxvYXQgdF8xLCBmbG9hdCBzXzIsIGZsb2F0IHRfMik7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgZHJhd190ZXh0dXJlZF9yZWN0YW5nbGVz IChDb2dsLlBpcGVsaW5lIHBpcGVsaW5lLCBbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0g ZmxvYXRbXSBjb29yZGluYXRlcywgdWludCBuX3JlY3RhbmdsZXMpOwotKwkJcHVibGljIHN0YXRp YyB1aW50MzIgZXJyb3JfcXVhcmsgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIHZvaWQgZmluaXNoICgpOwotKwkJcHVibGljIHZvaWQgZmx1c2ggKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgZnJ1c3R1bSAoZmxvYXQg bGVmdCwgZmxvYXQgcmlnaHQsIGZsb2F0IGJvdHRvbSwgZmxvYXQgdG9wLCBmbG9hdCB6X25lYXIs IGZsb2F0IHpfZmFyKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBp bnQgZ2V0X2FscGhhX2JpdHMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlw dWJsaWMgaW50IGdldF9ibHVlX2JpdHMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44Iild Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkNvbnRleHQgZ2V0X2NvbnRleHQgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgaW50IGdldF9kZXB0aF9iaXRzICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KLSsJCXB1YmxpYyBib29sIGdldF9kZXB0aF93 cml0ZV9lbmFibGVkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGlj IGJvb2wgZ2V0X2RpdGhlcl9lbmFibGVkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQotKwkJcHVibGljIGludCBnZXRfZ3JlZW5fYml0cyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjgiKV0KLSsJCXB1YmxpYyBpbnQgZ2V0X2hlaWdodCAoKTsKLSsJCXB1YmxpYyBib29sIGdl dF9pc19zdGVyZW8gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGlj IHZvaWQgZ2V0X21vZGVsdmlld19tYXRyaXggKG91dCB1bm93bmVkIEdyYXBoZW5lLk1hdHJpeCBt YXRyaXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIGdl dF9wcm9qZWN0aW9uX21hdHJpeCAob3V0IHVub3duZWQgR3JhcGhlbmUuTWF0cml4IG1hdHJpeCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgaW50IGdldF9yZWRfYml0 cyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgaW50IGdldF9z YW1wbGVzX3Blcl9waXhlbCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIwIildCi0rCQlw dWJsaWMgQ29nbC5TdGVyZW9Nb2RlIGdldF9zdGVyZW9fbW9kZSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF92aWV3cG9ydDRmdiAoW0NDb2RlIChh cnJheV9sZW5ndGggPSBmYWxzZSldIG91dCB1bm93bmVkIGZsb2F0IHZpZXdwb3J0WzRdKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfdmlld3BvcnRf aGVpZ2h0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGZsb2F0 IGdldF92aWV3cG9ydF93aWR0aCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJ CXB1YmxpYyBmbG9hdCBnZXRfdmlld3BvcnRfeCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjgiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfdmlld3BvcnRfeSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBpbnQgZ2V0X3dpZHRoICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIGlkZW50aXR5X21hdHJpeCAoKTsKLSsJ CVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCBib29sIGlzX3lfZmxpcHBlZCAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBvcnRob2dyYXBoaWMg KGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIsIGZsb2F0IHlfMiwgZmxvYXQgbmVhciwg ZmxvYXQgZmFyKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9p ZCBwZXJzcGVjdGl2ZSAoZmxvYXQgZm92X3ksIGZsb2F0IGFzcGVjdCwgZmxvYXQgel9uZWFyLCBm bG9hdCB6X2Zhcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZv aWQgcG9wX2NsaXAgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGlj IHZvaWQgcG9wX21hdHJpeCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgdm9pZCBwdXNoX21hdHJpeCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCQlwdWJsaWMgdm9pZCBwdXNoX3JlY3RhbmdsZV9jbGlwIChmbG9hdCB4XzEsIGZsb2F0IHlf MSwgZmxvYXQgeF8yLCBmbG9hdCB5XzIpOwotKwkJcHVibGljIHZvaWQgcHVzaF9yZWdpb25fY2xp cCAoQ2Fpcm8uUmVnaW9uIHJlZ2lvbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIHZvaWQgcHVzaF9zY2lzc29yX2NsaXAgKGludCB4LCBpbnQgeSwgaW50IHdpZHRo LCBpbnQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMg Ym9vbCByZWFkX3BpeGVscyAoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIENv Z2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCB1aW50OCBwaXhlbHMpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBib29sIHJlYWRfcGl4ZWxzX2ludG9fYml0bWFwIChpbnQg eCwgaW50IHksIENvZ2wuUmVhZFBpeGVsc0ZsYWdzIHNvdXJjZSwgQ29nbC5CaXRtYXAgYml0bWFw KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHJlc29sdmVf c2FtcGxlcyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lk IHJlc29sdmVfc2FtcGxlc19yZWdpb24gKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVp Z2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCByb3Rh dGUgKGZsb2F0IGFuZ2xlLCBmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHJvdGF0ZV9ldWxlciAoR3JhcGhlbmUu RXVsZXIgZXVsZXIpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2 b2lkIHNjYWxlIChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZGVwdGhfd3JpdGVfZW5hYmxlZCAoYm9v bCBkZXB0aF93cml0ZV9lbmFibGVkKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJ CXB1YmxpYyB2b2lkIHNldF9kaXRoZXJfZW5hYmxlZCAoYm9vbCBkaXRoZXJfZW5hYmxlZCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X21vZGVsdmll d19tYXRyaXggKEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9wcm9qZWN0aW9uX21hdHJpeCAoR3JhcGhlbmUu TWF0cml4IG1hdHJpeCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMg dm9pZCBzZXRfc2FtcGxlc19wZXJfcGl4ZWwgKGludCBzYW1wbGVzX3Blcl9waXhlbCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3N0ZXJlb19tb2Rl IChDb2dsLlN0ZXJlb01vZGUgc3RlcmVvX21vZGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu OCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3ZpZXdwb3J0IChmbG9hdCB4LCBmbG9hdCB5LCBmbG9h dCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CQlwdWJsaWMgdm9pZCB0cmFuc2Zvcm0gKEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHRyYW5zbGF0ZSAoZmxvYXQg eCwgZmxvYXQgeSwgZmxvYXQgeik7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyB2 b2lkKiBkcml2ZXJfY29uZmlnIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJcHVibGljIGludCBoZWlnaHQgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJCVtO b0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGludCB3aWR0aCB7IGdldDsgc2V0IGNvbnN0cnVj dDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIGRlc3Ryb3kgKCk7Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0r CVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgRnJhbWVidWZmZXJEcml2ZXJDb25maWcgewotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIHJlZl9mdW5jdGlv biA9ICJjb2dsX2hhbmRsZV9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJjb2dsX2hhbmRsZV91bnJl ZiIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIEhhbmRsZSB7Ci0rCQlbQ0NvZGUgKGNu YW1lID0gImNvZ2xfaXNfYml0bWFwIildCi0rCQlwdWJsaWMgYm9vbCBpc19iaXRtYXAgKCk7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfYnVmZmVyIildCi0rCQlwdWJsaWMgYm9vbCBpc19i dWZmZXIgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfbWF0ZXJpYWwiKV0KLSsJCXB1 YmxpYyBib29sIGlzX21hdGVyaWFsICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX29m ZnNjcmVlbiIpXQotKwkJcHVibGljIGJvb2wgaXNfb2Zmc2NyZWVuICgpOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjb2dsX2lzX3BpeGVsX2J1ZmZlciIpXQotKwkJcHVibGljIGJvb2wgaXNfcGl4ZWxf YnVmZmVyICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX3Byb2dyYW0iKV0KLSsJCXB1 YmxpYyBib29sIGlzX3Byb2dyYW0gKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfc2hh ZGVyIildCi0rCQlwdWJsaWMgYm9vbCBpc19zaGFkZXIgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0g ImNvZ2xfaXNfdGV4dHVyZSIpXQotKwkJcHVibGljIGJvb2wgaXNfdGV4dHVyZSAoKTsKLSsJCVtD Q29kZSAoY25hbWUgPSAiY29nbF9pc192ZXJ0ZXhfYnVmZmVyIildCi0rCQlwdWJsaWMgYm9vbCBp c192ZXJ0ZXhfYnVmZmVyICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj b2dsL2NvZ2wuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlv biA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNvZ2xfbWF0ZXJpYWxfZ2V0X3R5cGUgKCki KV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBNYXRlcmlhbCB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGljIE1hdGVyaWFsICgp OwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEu MTYiLCBzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9hbHBoYV90ZXN0X2Z1bmN0 aW9uIChDb2dsLk1hdGVyaWFsQWxwaGFGdW5jIGFscGhhX2Z1bmMsIGZsb2F0IGFscGhhX3JlZmVy ZW5jZSk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2Ug PSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIGJvb2wgc2V0X2JsZW5kIChzdHJp bmcgYmxlbmRfc3RyaW5nKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCVtWZXJzaW9uIChkZXByZWNh dGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCi0r CQlwdWJsaWMgdm9pZCBzZXRfYmxlbmRfY29uc3RhbnQgKENvZ2wuQ29sb3IgY29uc3RhbnRfY29s b3IpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTYiLCBzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jb2xvciAoQ29nbC5D b2xvciBjb2xvcik7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRf c2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NvbG9y NHViICh1aW50OCByZWQsIHVpbnQ4IGdyZWVuLCB1aW50OCBibHVlLCB1aW50OCBhbHBoYSk7Ci0r CQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIs IHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyIChpbnQgbGF5ZXJfaW5k ZXgsIENvZ2wuSGFuZGxlIHRleHR1cmUpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiLCBzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBi b29sIHNldF9sYXllcl9jb21iaW5lIChpbnQgbGF5ZXJfaW5kZXgsIHN0cmluZyBibGVuZF9zdHJp bmcpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBk ZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiLCBzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9sYXllcl9jb21iaW5lX2NvbnN0YW50IChpbnQgbGF5ZXJfaW5kZXgsIENvZ2wuQ29sb3Ig Y29uc3RhbnQpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3Np bmNlID0gIjEuMTYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9maWx0ZXJzIChpbnQgbGF5 ZXJfaW5kZXgsIENvZ2wuTWF0ZXJpYWxGaWx0ZXIgbWluX2ZpbHRlciwgQ29nbC5NYXRlcmlhbEZp bHRlciBtYWdfZmlsdGVyKTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVj YXRlZF9zaW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfbWF0cml4IChp bnQgbGF5ZXJfaW5kZXgsIEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgpOwotKwkJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiLCBzaW5jZSA9ICIxLjQi KV0KLSsJCXB1YmxpYyBib29sIHNldF9sYXllcl9wb2ludF9zcHJpdGVfY29vcmRzX2VuYWJsZWQg KGludCBsYXllcl9pbmRleCwgYm9vbCBlbmFibGUpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1Zl cnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiLCBzaW5j ZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9wb2ludF9zaXplIChmbG9hdCBwb2ludF9z aXplKTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9 ICIxLjE2Iiwgc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdXNlcl9wcm9ncmFt IChDb2dsLkhhbmRsZSBwcm9ncmFtKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1 YmxpYyBjbGFzcyBNYXRlcmlhbExheWVyIHsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY29nbC9jb2dsLmgiLCB0eXBlX2lkID0gImNvZ2xfb2JqZWN0X2dldF9ndHlwZSAoKSIp XQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBPYmplY3QgKCk7Ci0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9ICJjb2ds X29mZnNjcmVlbl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgT2Zmc2NyZWVuIDogQ29n bC5GcmFtZWJ1ZmZlciB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSldCi0rCQlwcm90ZWN0ZWQgT2Zmc2NyZWVuICgpOwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIE9mZnNjcmVlbi53aXRoX3RleHR1cmUgKENv Z2wuVGV4dHVyZSB0ZXh0dXJlKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCB0eXBlX2lkID0gImNvZ2xfb25zY3JlZW5fZ2V0X3R5cGUgKCkiKV0KLSsJ cHVibGljIGNsYXNzIE9uc2NyZWVuIDogQ29nbC5GcmFtZWJ1ZmZlciB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgT25zY3JlZW4gKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGljIENvZ2wuT25zY3JlZW5E aXJ0eUNsb3N1cmUgYWRkX2RpcnR5X2NhbGxiYWNrIChbQ0NvZGUgKGRlbGVnYXRlX3RhcmdldF9w b3MgPSAxLjUpXSBDb2dsLk9uc2NyZWVuRGlydHlDYWxsYmFjayBjYWxsYmFjaywgQ29nbC5Vc2Vy RGF0YURlc3Ryb3lDYWxsYmFjaz8gZGVzdHJveSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x NCIpXQotKwkJcHVibGljIENvZ2wuRnJhbWVDbG9zdXJlIGFkZF9mcmFtZV9jYWxsYmFjayAoW0ND b2RlIChkZWxlZ2F0ZV90YXJnZXRfcG9zID0gMS41KV0gQ29nbC5GcmFtZUNhbGxiYWNrIGNhbGxi YWNrLCBDb2dsLlVzZXJEYXRhRGVzdHJveUNhbGxiYWNrPyBkZXN0cm95KTsKLSsJCVtOb1dyYXBw ZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGJpbmQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xNCIpXQotKwkJcHVibGljIHZpcnR1YWwgaW50IGdldF9idWZmZXJfYWdlICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyBpbnQ2NCBnZXRfZnJhbWVfY291 bnRlciAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIGhp ZGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGljIHZvaWQgcmVt b3ZlX2RpcnR5X2NhbGxiYWNrIChDb2dsLk9uc2NyZWVuRGlydHlDbG9zdXJlIGNsb3N1cmUpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9mcmFt ZV9jYWxsYmFjayAoQ29nbC5GcmFtZUNsb3N1cmUgY2xvc3VyZSk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzaG93ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHN3YXBfYnVmZmVycyAoQ29nbC5GcmFtZUluZm8g ZnJhbWVfaW5mbywgdm9pZCogdXNlcl9kYXRhKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2 IildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHN3YXBfYnVmZmVyc193aXRoX2RhbWFnZSAoaW50 IHJlY3RhbmdsZXMsIGludCBuX3JlY3RhbmdsZXMsIENvZ2wuRnJhbWVJbmZvIGluZm8pOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc3dhcF9y ZWdpb24gKGludCByZWN0YW5nbGVzLCBpbnQgbl9yZWN0YW5nbGVzLCBDb2dsLkZyYW1lSW5mbyBp bmZvKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBj b3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9m cmVlIiwgdHlwZV9pZCA9ICJjb2dsX29uc2NyZWVuX2RpcnR5X2Nsb3N1cmVfZ2V0X2d0eXBlICgp IildCi0rCVtDb21wYWN0XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMg Y2xhc3MgT25zY3JlZW5EaXJ0eUNsb3N1cmUgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNvcHlfZnVuY3Rpb24gPSAiY29nbF9wYXRoX2NvcHkiKV0K LSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQYXRoIHsKLSsJCXB1YmxpYyBzdGF0aWMgdm9p ZCBAbmV3ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIHR5cGVfaWQgPSAiY29nbF9waXBlbGluZV9nZXRfZ3R5cGUgKCkiKV0KLSsJcHVibGljIGNs YXNzIFBpcGVsaW5lIDogQ29nbC5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1 bmN0aW9uID0gZmFsc2UpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGlj IFBpcGVsaW5lIChDb2dsLkNvbnRleHQgY29udGV4dCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCi0rCQlwdWJsaWMgQ29nbC5QaXBlbGluZSBjb3B5ICgpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgZm9yZWFjaF9sYXllciAoQ29nbC5QaXBlbGlu ZUxheWVyQ2FsbGJhY2sgY2FsbGJhY2spOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQot KwkJcHVibGljIENvZ2wuUGlwZWxpbmVBbHBoYUZ1bmMgZ2V0X2FscGhhX3Rlc3RfZnVuY3Rpb24g KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X2Fs cGhhX3Rlc3RfcmVmZXJlbmNlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJ cHVibGljIENvZ2wuQ29sb3IgZ2V0X2NvbG9yICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIu MCIpXQotKwkJcHVibGljIENvZ2wuUGlwZWxpbmVDdWxsRmFjZU1vZGUgZ2V0X2N1bGxfZmFjZV9t b2RlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIENvZ2wuV2lu ZGluZyBnZXRfZnJvbnRfZmFjZV93aW5kaW5nICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyBDb2dsLlBpcGVsaW5lRmlsdGVyIGdldF9sYXllcl9tYWdfZmlsdGVy IChpbnQgbGF5ZXJfaW5kZXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBDb2dsLlBpcGVsaW5lRmlsdGVyIGdldF9sYXllcl9taW5fZmlsdGVyIChpbnQgbGF5ZXJf aW5kZXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIGJvb2wgZ2V0 X2xheWVyX3BvaW50X3Nwcml0ZV9jb29yZHNfZW5hYmxlZCAoaW50IGxheWVyX2luZGV4KTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLlRleHR1 cmUgZ2V0X2xheWVyX3RleHR1cmUgKGludCBsYXllcl9pbmRleCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS42IildCi0rCQlwdWJsaWMgQ29nbC5QaXBlbGluZVdyYXBNb2RlIGdldF9sYXllcl93 cmFwX21vZGVfcyAoaW50IGxheWVyX2luZGV4KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KLSsJCXB1YmxpYyBDb2dsLlBpcGVsaW5lV3JhcE1vZGUgZ2V0X2xheWVyX3dyYXBfbW9kZV90 IChpbnQgbGF5ZXJfaW5kZXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVi bGljIGludCBnZXRfbl9sYXllcnMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0r CQlwdWJsaWMgYm9vbCBnZXRfcGVyX3ZlcnRleF9wb2ludF9zaXplICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIGZsb2F0IGdldF9wb2ludF9zaXplICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIGludCBnZXRfdW5pZm9ybV9sb2Nh dGlvbiAoc3RyaW5nIHVuaWZvcm1fbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIild Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkhhbmRsZSBnZXRfdXNlcl9wcm9ncmFtICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9sYXllciAo aW50IGxheWVyX2luZGV4KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1Ymxp YyB2b2lkIHNldF9hbHBoYV90ZXN0X2Z1bmN0aW9uIChDb2dsLlBpcGVsaW5lQWxwaGFGdW5jIGFs cGhhX2Z1bmMsIGZsb2F0IGFscGhhX3JlZmVyZW5jZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCi0rCQlwdWJsaWMgYm9vbCBzZXRfYmxlbmQgKHN0cmluZyBibGVuZF9zdHJpbmcpIHRo cm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGlj IHZvaWQgc2V0X2JsZW5kX2NvbnN0YW50IChDb2dsLkNvbG9yIGNvbnN0YW50X2NvbG9yKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jb2xvciAoQ29n bC5Db2xvciBjb2xvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMg dm9pZCBzZXRfY29sb3I0ZiAoZmxvYXQgcmVkLCBmbG9hdCBncmVlbiwgZmxvYXQgYmx1ZSwgZmxv YXQgYWxwaGEpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQg c2V0X2NvbG9yNHViICh1aW50OCByZWQsIHVpbnQ4IGdyZWVuLCB1aW50OCBibHVlLCB1aW50OCBh bHBoYSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf Y3VsbF9mYWNlX21vZGUgKENvZ2wuUGlwZWxpbmVDdWxsRmFjZU1vZGUgY3VsbF9mYWNlX21vZGUp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2Zyb250 X2ZhY2Vfd2luZGluZyAoQ29nbC5XaW5kaW5nIGZyb250X3dpbmRpbmcpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIGJvb2wgc2V0X2xheWVyX2NvbWJpbmUgKGludCBs YXllcl9pbmRleCwgc3RyaW5nIGJsZW5kX3N0cmluZykgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfY29tYmlu ZV9jb25zdGFudCAoaW50IGxheWVyX2luZGV4LCBDb2dsLkNvbG9yIGNvbnN0YW50KTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfZmlsdGVy cyAoaW50IGxheWVyX2luZGV4LCBDb2dsLlBpcGVsaW5lRmlsdGVyIG1pbl9maWx0ZXIsIENvZ2wu UGlwZWxpbmVGaWx0ZXIgbWFnX2ZpbHRlcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIp XQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX21hdHJpeCAoaW50IGxheWVyX2luZGV4LCBHcmFw aGVuZS5NYXRyaXggbWF0cml4KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9tYXhfbWlwbWFw X2xldmVsIChpbnQgbGF5ZXIsIGludCBtYXhfbGV2ZWwpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9udWxsX3RleHR1cmUgKGludCBsYXll cl9pbmRleCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgYm9vbCBz ZXRfbGF5ZXJfcG9pbnRfc3ByaXRlX2Nvb3Jkc19lbmFibGVkIChpbnQgbGF5ZXJfaW5kZXgsIGJv b2wgZW5hYmxlKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl90 ZXh0dXJlIChpbnQgbGF5ZXJfaW5kZXgsIENvZ2wuVGV4dHVyZSB0ZXh0dXJlKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl93cmFwX21vZGUg KGludCBsYXllcl9pbmRleCwgQ29nbC5QaXBlbGluZVdyYXBNb2RlIG1vZGUpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX3dyYXBfbW9kZV9z IChpbnQgbGF5ZXJfaW5kZXgsIENvZ2wuUGlwZWxpbmVXcmFwTW9kZSBtb2RlKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl93cmFwX21vZGVf dCAoaW50IGxheWVyX2luZGV4LCBDb2dsLlBpcGVsaW5lV3JhcE1vZGUgbW9kZSk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgYm9vbCBzZXRfcGVyX3ZlcnRleF9wb2lu dF9zaXplIChib29sIGVuYWJsZSkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfcG9pbnRfc2l6ZSAoZmxvYXQgcG9pbnRf c2l6ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf dW5pZm9ybV8xZiAoaW50IHVuaWZvcm1fbG9jYXRpb24sIGZsb2F0IHZhbHVlKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF91bmlmb3JtXzFpIChpbnQg dW5pZm9ybV9sb2NhdGlvbiwgaW50IHZhbHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAi KV0KLSsJCXB1YmxpYyB2b2lkIHNldF91bmlmb3JtX2Zsb2F0IChpbnQgdW5pZm9ybV9sb2NhdGlv biwgaW50IG5fY29tcG9uZW50cywgaW50IGNvdW50LCBmbG9hdCB2YWx1ZSk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdW5pZm9ybV9pbnQgKGludCB1 bmlmb3JtX2xvY2F0aW9uLCBpbnQgbl9jb21wb25lbnRzLCBpbnQgY291bnQsIGludCB2YWx1ZSk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdW5pZm9y bV9tYXRyaXggKGludCB1bmlmb3JtX2xvY2F0aW9uLCBpbnQgZGltZW5zaW9ucywgaW50IGNvdW50 LCBib29sIHRyYW5zcG9zZSwgZmxvYXQgdmFsdWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIu MCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3VzZXJfcHJvZ3JhbSAoQ29nbC5IYW5kbGUgcHJvZ3Jh bSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgdHlw ZV9pZCA9ICJHX1RZUEVfU1RSSU5HIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgUGlw ZWxpbmVLZXkgOiBzdHJpbmcgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj b2dsL2NvZ2wuaCIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFBpeGVsQnVmZmVyIDog Q29nbC5IYW5kbGUgewotKwkJcHVibGljIFBpeGVsQnVmZmVyICh1aW50IHNpemUpOwotKwkJcHVi bGljIFBpeGVsQnVmZmVyLmZvcl9zaXplICh1aW50IHdpZHRoLCB1aW50IGhlaWdodCwgQ29nbC5Q aXhlbEZvcm1hdCBmb3JtYXQsIHVpbnQgc3RyaWRlKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDb2dsSGFuZGxlIiwgcmVmX2Z1bmN0 aW9uID0gImNvZ2xfcHJvZ3JhbV9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJjb2dsX3Byb2dyYW1f dW5yZWYiKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQcm9ncmFtIDogQ29nbC5IYW5k bGUgewotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2NyZWF0ZV9wcm9ncmFtIiwgaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNvZ2xIYW5kbGUqIildCi0rCQlwdWJsaWMg UHJvZ3JhbSAoKTsKLSsJCXB1YmxpYyB2b2lkIGF0dGFjaF9zaGFkZXIgKENvZ2wuU2hhZGVyIHNo YWRlcl9oYW5kbGUpOwotKwkJcHVibGljIGludCBnZXRfdW5pZm9ybV9sb2NhdGlvbiAoc3RyaW5n IHVuaWZvcm1fbmFtZSk7Ci0rCQlwdWJsaWMgdm9pZCBsaW5rICgpOwotKwkJcHVibGljIHN0YXRp YyB2b2lkIHVuaWZvcm1fMWYgKGludCB1bmlmb3JtX25vLCBmbG9hdCB2YWx1ZSk7Ci0rCQlwdWJs aWMgc3RhdGljIHZvaWQgdW5pZm9ybV8xaSAoaW50IHVuaWZvcm1fbm8sIGludCB2YWx1ZSk7Ci0r CQlwdWJsaWMgc3RhdGljIHZvaWQgdW5pZm9ybV9mbG9hdCAoaW50IHVuaWZvcm1fbm8sIGludCBz aXplLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAyLjkpXSBmbG9hdFtdIHZhbHVlKTsKLSsJ CXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtX2ludCAoaW50IHVuaWZvcm1fbm8sIGludCBzaXpl LCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAyLjkpXSBpbnRbXSB2YWx1ZSk7Ci0rCQlwdWJs aWMgc3RhdGljIHZvaWQgdW5pZm9ybV9tYXRyaXggKGludCB1bmlmb3JtX25vLCBpbnQgc2l6ZSwg Ym9vbCB0cmFuc3Bvc2UsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDIuOSldIGZsb2F0W10g dmFsdWUpOwotKwkJcHVibGljIHZvaWQgdXNlICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFj dF0KLSsJcHVibGljIGNsYXNzIFNjYW5vdXQgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNvZ2xIYW5kbGUiLCByZWZfZnVuY3Rpb24g PSAiY29nbF9zaGFkZXJfcmVmIiwgdW5yZWZfZnVuY3Rpb24gPSAiY29nbF9zaGFkZXJfdW5yZWYi KV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBTaGFkZXIgOiBDb2dsLkhhbmRsZSB7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfY3JlYXRlX3NoYWRlciIsIGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDb2dsSGFuZGxlKiIpXQotKwkJcHVibGljIFNoYWRlciAo Q29nbC5TaGFkZXJUeXBlIHNoYWRlcl90eXBlKTsKLSsJCXB1YmxpYyB2b2lkIGNvbXBpbGUgKCk7 Ci0rCQlwdWJsaWMgc3RyaW5nIGdldF9pbmZvX2xvZyAoKTsKLSsJCXB1YmxpYyBDb2dsLlNoYWRl clR5cGUgZ2V0X3R5cGUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19jb21waWxlZCAoKTsKLSsJCXB1 YmxpYyB2b2lkIHNvdXJjZSAoc3RyaW5nIHNvdXJjZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgbG93ZXJfY2FzZV9jc3VmZml4ID0gInRleHR1cmVf MmQiLCB0eXBlX2lkID0gImNvZ2xfdGV4dHVyZV8yZF9nZXRfZ3R5cGUgKCkiKV0KLSsJcHVibGlj IGNsYXNzIFRleHR1cmUyRCA6IENvZ2wuT2JqZWN0LCBDb2dsLlRleHR1cmUgewotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFRleHR1cmUy RCAoKTsKLSsJCXB1YmxpYyB2b2lkIGVnbF9pbWFnZV9leHRlcm5hbF9hbGxvY19maW5pc2ggKHZv aWQqIHVzZXJfZGF0YSwgR0xpYi5EZXN0cm95Tm90aWZ5IGRlc3Ryb3kpOwotKwkJcHVibGljIHZv aWQgZWdsX2ltYWdlX2V4dGVybmFsX2JpbmQgKCk7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJs aWMgVGV4dHVyZTJELmZyb21fYml0bWFwIChDb2dsLkJpdG1hcCBiaXRtYXApOwotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGxvd2VyX2Nhc2VfY3N1ZmZp eCA9ICJ0ZXh0dXJlXzJkX3NsaWNlZCIsIHR5cGVfaWQgPSAiY29nbF90ZXh0dXJlXzJkX3NsaWNl ZF9nZXRfZ3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFRleHR1cmUyRFNsaWNlZCA6IENvZ2wu T2JqZWN0LCBDb2dsLlRleHR1cmUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFRleHR1cmUyRFNsaWNlZCAoKTsKLSsJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjE2IildCi0rCQlwdWJsaWMgVGV4dHVyZTJEU2xpY2VkLmZyb21fYml0bWFwIChDb2dsLkJpdG1h cCBibXAsIGludCBtYXhfd2FzdGUpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNvZ2xIYW5kbGUiLCByZWZfZnVuY3Rpb24gPSAiY29n bF92ZXJ0ZXhfYnVmZmVyX3JlZiIsIHVucmVmX2Z1bmN0aW9uID0gImNvZ2xfdmVydGV4X2J1ZmZl cl91bnJlZiIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFZlcnRleEJ1ZmZlciA6IENv Z2wuSGFuZGxlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0 eXBlID0gIkNvZ2xIYW5kbGUqIildCi0rCQlwdWJsaWMgVmVydGV4QnVmZmVyICh1aW50IG5fdmVy dGljZXMpOwotKwkJcHVibGljIHZvaWQgYWRkIChzdHJpbmcgYXR0cmlidXRlX25hbWUsIHVjaGFy IG5fY29tcG9uZW50cywgQ29nbC5BdHRyaWJ1dGVUeXBlIHR5cGUsIGJvb2wgbm9ybWFsaXplZCwg dWludDE2IHN0cmlkZSwgdm9pZCogcG9pbnRlcik7Ci0rCQlwdWJsaWMgdm9pZCBAZGVsZXRlIChz dHJpbmcgYXR0cmlidXRlX25hbWUpOwotKwkJcHVibGljIHZvaWQgZGlzYWJsZSAoc3RyaW5nIGF0 dHJpYnV0ZV9uYW1lKTsKLSsJCXB1YmxpYyB2b2lkIGRyYXcgKENvZ2wuVmVydGljZXNNb2RlIG1v ZGUsIGludCBmaXJzdCwgaW50IGNvdW50KTsKLSsJCXB1YmxpYyB2b2lkIGRyYXdfZWxlbWVudHMg KENvZ2wuVmVydGljZXNNb2RlIG1vZGUsIENvZ2wuVmVydGV4QnVmZmVySW5kaWNlcyBpbmRpY2Vz LCBpbnQgbWluX2luZGV4LCBpbnQgbWF4X2luZGV4LCBpbnQgaW5kaWNlc19vZmZzZXQsIGludCBj b3VudCk7Ci0rCQlwdWJsaWMgdm9pZCBlbmFibGUgKHN0cmluZyBhdHRyaWJ1dGVfbmFtZSk7Ci0r CQlwdWJsaWMgdWludCBnZXRfbl92ZXJ0aWNlcyAoKTsKLSsJCXB1YmxpYyB2b2lkIHN1Ym1pdCAo KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFt ZSA9ICJDb2dsSGFuZGxlIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgVmVydGV4QnVm ZmVySW5kaWNlcyA6IENvZ2wuSGFuZGxlIHsKLSsJCXB1YmxpYyBWZXJ0ZXhCdWZmZXJJbmRpY2Vz IChDb2dsLkluZGljZXNUeXBlIGluZGljZXNfdHlwZSwgdm9pZCogaW5kaWNlc19hcnJheSwgaW50 IGluZGljZXNfbGVuKTsKLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDb2dsLlZlcnRleEJ1ZmZl ckluZGljZXMgZ2V0X2Zvcl9xdWFkcyAodWludCBuX2luZGljZXMpOwotKwkJcHVibGljIENvZ2wu SW5kaWNlc1R5cGUgZ2V0X3R5cGUgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNvZ2wvY29nbC5oIiwgdHlwZV9pZCA9ICJjb2dsX3RleHR1cmVfZ2V0X2d0eXBlICgpIild Ci0rCXB1YmxpYyBpbnRlcmZhY2UgVGV4dHVyZSA6IENvZ2wuT2JqZWN0IHsKLSsJCXB1YmxpYyBi b29sIGFsbG9jYXRlICgpIHRocm93cyBHTGliLkVycm9yOwotKwkJcHVibGljIHN0YXRpYyB1aW50 MzIgZXJyb3JfcXVhcmsgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQotKwkJcHVi bGljIENvZ2wuVGV4dHVyZUNvbXBvbmVudHMgZ2V0X2NvbXBvbmVudHMgKCk7Ci0rCQlwdWJsaWMg aW50IGdldF9kYXRhIChDb2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgdWludCByb3dzdHJpZGUsIFtD Q29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSB1aW50OFtdPyBkYXRhKTsKLSsJCXB1YmxpYyBi b29sIGdldF9nbF90ZXh0dXJlIChvdXQgdWludCBvdXRfZ2xfaGFuZGxlLCBvdXQgdWludCBvdXRf Z2xfdGFyZ2V0KTsKLSsJCXB1YmxpYyB1aW50IGdldF9oZWlnaHQgKCk7Ci0rCQlwdWJsaWMgaW50 IGdldF9tYXhfd2FzdGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQotKwkJcHVi bGljIGJvb2wgZ2V0X3ByZW11bHRpcGxpZWQgKCk7Ci0rCQlwdWJsaWMgdWludCBnZXRfd2lkdGgg KCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19zbGljZWQgKCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xOCIsIHNpbmNlID0gIjEuMCIpXQotKwkJ cHVibGljIHN0YXRpYyBDb2dsLlRleHR1cmUgbmV3X2Zyb21fYml0bWFwIChDb2dsLkJpdG1hcCBi aXRtYXAsIENvZ2wuVGV4dHVyZUZsYWdzIGZsYWdzLCBDb2dsLlBpeGVsRm9ybWF0IGludGVybmFs X2Zvcm1hdCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2lu Y2UgPSAiMS4xOCIsIHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyBDb2dsLlRleHR1 cmUgbmV3X2Zyb21fZGF0YSAoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBDb2dsLlRleHR1cmVGbGFn cyBmbGFncywgQ29nbC5QaXhlbEZvcm1hdCBmb3JtYXQsIENvZ2wuUGl4ZWxGb3JtYXQgaW50ZXJu YWxfZm9ybWF0LCBpbnQgcm93c3RyaWRlLCBbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0g dWludDhbXSBkYXRhKTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRl ZF9zaW5jZSA9ICIxLjE4Iiwgc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIENvZ2wu VGV4dHVyZSBuZXdfZnJvbV9maWxlIChzdHJpbmcgZmlsZW5hbWUsIENvZ2wuVGV4dHVyZUZsYWdz IGZsYWdzLCBDb2dsLlBpeGVsRm9ybWF0IGludGVybmFsX2Zvcm1hdCkgdGhyb3dzIEdMaWIuRXJy b3I7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xOCIsIHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIENvZ2wuVGV4dHVyZSBuZXdfZnJvbV9z dWJfdGV4dHVyZSAoaW50IHN1Yl94LCBpbnQgc3ViX3ksIGludCBzdWJfd2lkdGgsIGludCBzdWJf aGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjE4Iiwgc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVy ZSBuZXdfd2l0aF9zaXplICh1aW50IHdpZHRoLCB1aW50IGhlaWdodCwgQ29nbC5UZXh0dXJlRmxh Z3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgaW50ZXJuYWxfZm9ybWF0KTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfY29tcG9uZW50cyAoQ29nbC5U ZXh0dXJlQ29tcG9uZW50cyBjb21wb25lbnRzKTsKLSsJCXB1YmxpYyBib29sIHNldF9kYXRhIChD b2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgaW50IHJvd3N0cmlkZSwgW0NDb2RlIChhcnJheV9sZW5n dGggPSBmYWxzZSldIHVpbnQ4W10gZGF0YSwgaW50IGxldmVsKSB0aHJvd3MgR0xpYi5FcnJvcjsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfcHJlbXVs dGlwbGllZCAoYm9vbCBwcmVtdWx0aXBsaWVkKTsKLSsJCXB1YmxpYyBib29sIHNldF9yZWdpb24g KGludCBzcmNfeCwgaW50IHNyY195LCBpbnQgZHN0X3gsIGludCBkc3RfeSwgdWludCBkc3Rfd2lk dGgsIHVpbnQgZHN0X2hlaWdodCwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBDb2dsLlBpeGVsRm9y bWF0IGZvcm1hdCwgdWludCByb3dzdHJpZGUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2Up XSB1aW50OFtdIGRhdGEpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGlj IGJvb2wgc2V0X3JlZ2lvbl9mcm9tX2JpdG1hcCAoaW50IHNyY194LCBpbnQgc3JjX3ksIGludCBk c3RfeCwgaW50IGRzdF95LCB1aW50IGRzdF93aWR0aCwgdWludCBkc3RfaGVpZ2h0LCBDb2dsLkJp dG1hcCBiaXRtYXApOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2Nv Z2wuaCIpXQotKwlbU2ltcGxlVHlwZV0KLSsJcHVibGljIHN0cnVjdCBBbmdsZSA6IGludDMyIHsK LSsJfQotKwlbQm9vbGVhblR5cGVdCi0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIpXQotKwlbR0lSIChuYW1lID0gIkJvb2wiKV0KLSsJW1NpbXBsZVR5cGVdCi0rCXB1 YmxpYyBzdHJ1Y3QgQm9vbCA6IGJvb2wgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdHJ1Y3QgQ29sb3IgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ29nbENvbG9yKiIpXQotKwkJcHVibGlj IENvbG9yICgpOwotKwkJcHVibGljIENvZ2wuQ29sb3I/IGNvcHkgKCk7Ci0rCQlwdWJsaWMgdm9p ZCBmcmVlICgpOwotKwkJcHVibGljIENvbG9yLmZyb21fNGYgKGZsb2F0IHJlZCwgZmxvYXQgZ3Jl ZW4sIGZsb2F0IGJsdWUsIGZsb2F0IGFscGhhKTsKLSsJCXB1YmxpYyBDb2xvci5mcm9tXzR1YiAo dWludDggcmVkLCB1aW50OCBncmVlbiwgdWludDggYmx1ZSwgdWludDggYWxwaGEpOwotKwkJcHVi bGljIGZsb2F0IGdldF9hbHBoYSAoKTsKLSsJCXB1YmxpYyB1aW50OCBnZXRfYWxwaGFfYnl0ZSAo KTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfYWxwaGFfZmxvYXQgKCk7Ci0rCQlwdWJsaWMgZmxvYXQg Z2V0X2JsdWUgKCk7Ci0rCQlwdWJsaWMgdWludDggZ2V0X2JsdWVfYnl0ZSAoKTsKLSsJCXB1Ymxp YyBmbG9hdCBnZXRfYmx1ZV9mbG9hdCAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfZ3JlZW4gKCk7 Ci0rCQlwdWJsaWMgdWludDggZ2V0X2dyZWVuX2J5dGUgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0 X2dyZWVuX2Zsb2F0ICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9yZWQgKCk7Ci0rCQlwdWJsaWMg dWludDggZ2V0X3JlZF9ieXRlICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9yZWRfZmxvYXQgKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBpbml0X2Zyb21f NGYgKGZsb2F0IHJlZCwgZmxvYXQgZ3JlZW4sIGZsb2F0IGJsdWUsIGZsb2F0IGFscGhhKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGluaXRfZnJvbV80ZnYg KGZsb2F0IGNvbG9yX2FycmF5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1 YmxpYyB2b2lkIGluaXRfZnJvbV80dWIgKHVpbnQ4IHJlZCwgdWludDggZ3JlZW4sIHVpbnQ4IGJs dWUsIHVpbnQ4IGFscGhhKTsKLSsJCXB1YmxpYyB2b2lkIHByZW11bHRpcGx5ICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2FscGhhIChmbG9hdCBh bHBoYSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRf YWxwaGFfYnl0ZSAodWludDggYWxwaGEpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQot KwkJcHVibGljIHZvaWQgc2V0X2FscGhhX2Zsb2F0IChmbG9hdCBhbHBoYSk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfYmx1ZSAoZmxvYXQgYmx1ZSk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfYmx1ZV9i eXRlICh1aW50OCBibHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1Ymxp YyB2b2lkIHNldF9ibHVlX2Zsb2F0IChmbG9hdCBibHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9ncmVlbiAoZmxvYXQgZ3JlZW4pOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2dyZWVuX2J5dGUgKHVp bnQ4IGdyZWVuKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9ncmVlbl9mbG9hdCAoZmxvYXQgZ3JlZW4pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3JlZCAoZmxvYXQgcmVkKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9yZWRfYnl0ZSAodWludDggcmVkKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9yZWRfZmxv YXQgKGZsb2F0IHJlZCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGlj IHZvaWQgdG9faHNsIChvdXQgZmxvYXQgaHVlLCBvdXQgZmxvYXQgc2F0dXJhdGlvbiwgb3V0IGZs b2F0IGx1bWluYW5jZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMg dm9pZCB1bnByZW11bHRpcGx5ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCXB1YmxpYyBzdHJ1Y3QgRGVidWdPYmplY3RUeXBlSW5mbyB7Ci0rCQlwdWJs aWMgd2VhayBzdHJpbmcgbmFtZTsKLSsJCXB1YmxpYyB1bG9uZyBpbnN0YW5jZV9jb3VudDsKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBlX2lkID0g IkNPR0xfVFlQRV9NQVRSSVgiKV0KLSsJcHVibGljIHN0cnVjdCBNYXRyaXggewotKwkJW0NDb2Rl IChhcnJheV9sZW5ndGggPSBmYWxzZSwgYXJyYXlfbnVsbF90ZXJtaW5hdGVkID0gZmFsc2UsIGNu YW1lID0gImNvZ2xfbWF0cml4X2luaXRfZnJvbV9hcnJheSIpXQotKwkJcHVibGljIE1hdHJpeC5m cm9tX2FycmF5IChbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gZmxvYXRbXSBhcnJheSk7 Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfbWF0cml4X2luaXRfaWRlbnRpdHkiKV0KLSsJCXB1 YmxpYyBNYXRyaXguaWRlbnRpdHkgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfbWF0cml4 X211bHRpcGx5IildCi0rCQlwdWJsaWMgTWF0cml4Lm11bHRpcGx5IChDb2dsLk1hdHJpeCBhLCBD b2dsLk1hdHJpeCBiKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9j b2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTYi KV0KLSsJcHVibGljIHN0cnVjdCBPbnNjcmVlbkRpcnR5SW5mbyB7Ci0rCQlwdWJsaWMgaW50IHg7 Ci0rCQlwdWJsaWMgaW50IHk7Ci0rCQlwdWJsaWMgaW50IHdpZHRoOwotKwkJcHVibGljIGludCBo ZWlnaHQ7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBzdHJ1Y3QgVGV4dHVyZVZlcnRleCB7Ci0r CQlwdWJsaWMgZmxvYXQgeDsKLSsJCXB1YmxpYyBmbG9hdCB5OwotKwkJcHVibGljIGZsb2F0IHo7 Ci0rCQlwdWJsaWMgZmxvYXQgdHg7Ci0rCQlwdWJsaWMgZmxvYXQgdHk7Ci0rCQlwdWJsaWMgQ29n bC5Db2xvciBjb2xvcjsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9j b2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIp XQotKwlwdWJsaWMgc3RydWN0IFVzZXJEYXRhS2V5IHsKLSsJCXB1YmxpYyBpbnQgdW51c2VkOwot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0g Il9Db2dsQ29sb3JTaXplQ2hlY2siLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0 cnVjdCBfQ29sb3JTaXplQ2hlY2sgewotKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSld Ci0rCQlwdWJsaWMgd2VhayBjaGFyW10gY29tcGlsZV90aW1lX2Fzc2VydF9Db2dsQ29sb3Jfc2l6 ZTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFt ZSA9ICJfQ29nbFRleHR1cmVWZXJ0ZXhTaXplQ2hlY2siLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0K LSsJcHVibGljIHN0cnVjdCBfVGV4dHVyZVZlcnRleFNpemVDaGVjayB7Ci0rCQlbQ0NvZGUgKGFy cmF5X2xlbmd0aCA9IGZhbHNlKV0KLSsJCXB1YmxpYyB3ZWFrIGNoYXJbXSBjb21waWxlX3RpbWVf YXNzZXJ0X0NvZ2xUZXh0dXJlVmVydGV4X3NpemU7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0FUVFJJQlVURV9UWVBFXyIs IGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1 YmxpYyBlbnVtIEF0dHJpYnV0ZVR5cGUgewotKwkJQllURSwKLSsJCVVOU0lHTkVEX0JZVEUsCi0r CQlTSE9SVCwKLSsJCVVOU0lHTkVEX1NIT1JULAotKwkJRkxPQVQKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfQklUTUFQX0VS Uk9SXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild Ci0rCXB1YmxpYyBlbnVtIEJpdG1hcEVycm9yIHsKLSsJCUZBSUxFRCwKLSsJCVVOS05PV05fVFlQ RSwKLSsJCUNPUlJVUFRfSU1BR0UKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfQkxFTkRfU1RSSU5HX0VSUk9SXyIsIGhhc190 eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBl bnVtIEJsZW5kU3RyaW5nRXJyb3IgewotKwkJUEFSU0VfRVJST1IsCi0rCQlBUkdVTUVOVF9QQVJT RV9FUlJPUiwKLSsJCUlOVkFMSURfRVJST1IsCi0rCQlHUFVfVU5TVVBQT1JURURfRVJST1I7Ci0r CQlwdWJsaWMgc3RhdGljIHVpbnQzMiBxdWFyayAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfQlVGRkVSX0JJVF8iLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4w IildCi0rCXB1YmxpYyBlbnVtIEJ1ZmZlckJpdCB7Ci0rCQlDT0xPUiwKLSsJCURFUFRILAotKwkJ U1RFTkNJTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIs IGNwcmVmaXggPSAiQ09HTF8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0ZsYWdzXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCXB1YmxpYyBlbnVtIEJ1ZmZlclRhcmdldCB7Ci0r CQlXSU5ET1dfQlVGRkVSLAotKwkJT0ZGU0NSRUVOX0JVRkZFUgotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9ERVBUSF9URVNU X0ZVTkNUSU9OXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgZW51bSBEZXB0aFRl c3RGdW5jdGlvbiB7Ci0rCQlORVZFUiwKLSsJCUxFU1MsCi0rCQlFUVVBTCwKLSsJCUxFUVVBTCwK LSsJCUdSRUFURVIsCi0rCQlOT1RFUVVBTCwKLSsJCUdFUVVBTCwKLSsJCUFMV0FZUwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09H TF9FR0xfSU1BR0VfRkxBR18iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0ZsYWdzXQotKwlw dWJsaWMgZW51bSBFZ2xJbWFnZUZsYWdzIHsKLSsJCU5PTkUsCi0rCQlOT19HRVRfREFUQQotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAi Q09HTF9GRUFUVVJFX0lEXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgZW51bSBGZWF0dXJlSUQgewotKwkJW0NDb2RlIChjbmFt ZSA9ICJDT0dMX0ZFQVRVUkVfSURfVU5TSUdORURfSU5UX0lORElDRVMiKV0KLSsJCU9HTF9GRUFU VVJFX0lEX1VOU0lHTkVEX0lOVF9JTkRJQ0VTLAotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZF QVRVUkVfSURfTUFQX0JVRkZFUl9GT1JfUkVBRCIpXQotKwkJT0dMX0ZFQVRVUkVfSURfTUFQX0JV RkZFUl9GT1JfUkVBRCwKLSsJCVtDQ29kZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX01BUF9C VUZGRVJfRk9SX1dSSVRFIildCi0rCQlPR0xfRkVBVFVSRV9JRF9NQVBfQlVGRkVSX0ZPUl9XUklU RSwKLSsJCVtDQ29kZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX0ZFTkNFIildCi0rCQlPR0xf RkVBVFVSRV9JRF9GRU5DRSwKLSsJCVtDQ29kZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX1RF WFRVUkVfUkciKV0KLSsJCU9HTF9GRUFUVVJFX0lEX1RFWFRVUkVfUkcsCi0rCQlbQ0NvZGUgKGNu YW1lID0gIkNPR0xfRkVBVFVSRV9JRF9CVUZGRVJfQUdFIildCi0rCQlPR0xfRkVBVFVSRV9JRF9C VUZGRVJfQUdFLAotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZFQVRVUkVfSURfVEVYVFVSRV9F R0xfSU1BR0VfRVhURVJOQUwiKV0KLSsJCU9HTF9GRUFUVVJFX0lEX1RFWFRVUkVfRUdMX0lNQUdF X0VYVEVSTkFMLAotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZFQVRVUkVfSURfQkxJVF9GUkFN RUJVRkZFUiIpXQotKwkJT0dMX0ZFQVRVUkVfSURfQkxJVF9GUkFNRUJVRkZFUgotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9G SUxURVJfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIEZpbHRlclJldHVy biB7Ci0rCQlDT05USU5VRSwKLSsJCVJFTU9WRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9GUkFNRV9FVkVOVF8iLCBoYXNf dHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJcHVibGlj IGVudW0gRnJhbWVFdmVudCB7Ci0rCQlTWU5DLAotKwkJQ09NUExFVEUKLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfRlJBTUVC VUZGRVJfRVJST1JfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIEZyYW1l YnVmZmVyRXJyb3IgewotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZSQU1FQlVGRkVSX0VSUk9S X0FMTE9DQVRFIildCi0rCQlGUkFNRUJVRkZFUl9FUlJPUl9BTExPQ0FURQotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9HUkFQ SElDU19SRVNFVF9TVEFUVVNfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVt IEdyYXBoaWNzUmVzZXRTdGF0dXMgewotKwkJTk9fRVJST1IsCi0rCQlHVUlMVFlfQ09OVEVYVF9S RVNFVCwKLSsJCUlOTk9DRU5UX0NPTlRFWFRfUkVTRVQsCi0rCQlVTktOT1dOX0NPTlRFWFRfUkVT RVQsCi0rCQlQVVJHRURfQ09OVEVYVF9SRVNFVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9JTkRJQ0VTX1RZUEVfVU5TSUdO RURfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIEluZGljZXNUeXBlIHsK LSsJCUJZVEUsCi0rCQlTSE9SVCwKLSsJCUlOVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9NQVRFUklBTF9BTFBIQV9GVU5D XyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgZW51bSBNYXRlcmlhbEFscGhhRnVu YyB7Ci0rCQlORVZFUiwKLSsJCUxFU1MsCi0rCQlFUVVBTCwKLSsJCUxFUVVBTCwKLSsJCUdSRUFU RVIsCi0rCQlOT1RFUVVBTCwKLSsJCUdFUVVBTCwKLSsJCUFMV0FZUwotKwl9Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9NQVRFUklB TF9GSUxURVJfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIE1hdGVyaWFs RmlsdGVyIHsKLSsJCU5FQVJFU1QsCi0rCQlMSU5FQVIsCi0rCQlORUFSRVNUX01JUE1BUF9ORUFS RVNULAotKwkJTElORUFSX01JUE1BUF9ORUFSRVNULAotKwkJTkVBUkVTVF9NSVBNQVBfTElORUFS LAotKwkJTElORUFSX01JUE1BUF9MSU5FQVIKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfTUFURVJJQUxfV1JBUF9NT0RFXyIs IGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1 YmxpYyBlbnVtIE1hdGVyaWFsV3JhcE1vZGUgewotKwkJUkVQRUFULAotKwkJQ0xBTVBfVE9fRURH RSwKLSsJCUFVVE9NQVRJQwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9QSVBFTElORV9BTFBIQV9GVU5DXyIsIGhhc190eXBl X2lkID0gZmFsc2UpXQotKwlwdWJsaWMgZW51bSBQaXBlbGluZUFscGhhRnVuYyB7Ci0rCQlORVZF UiwKLSsJCUxFU1MsCi0rCQlFUVVBTCwKLSsJCUxFUVVBTCwKLSsJCUdSRUFURVIsCi0rCQlOT1RF UVVBTCwKLSsJCUdFUVVBTCwKLSsJCUFMV0FZUwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9QSVBFTElORV9DVUxMX0ZBQ0Vf TU9ERV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIGVudW0gUGlwZWxpbmVDdWxs RmFjZU1vZGUgewotKwkJTk9ORSwKLSsJCUZST05ULAotKwkJQkFDSywKLSsJCUJPVEgKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNP R0xfUElQRUxJTkVfRklMVEVSXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgZW51 bSBQaXBlbGluZUZpbHRlciB7Ci0rCQlORUFSRVNULAotKwkJTElORUFSLAotKwkJTkVBUkVTVF9N SVBNQVBfTkVBUkVTVCwKLSsJCUxJTkVBUl9NSVBNQVBfTkVBUkVTVCwKLSsJCU5FQVJFU1RfTUlQ TUFQX0xJTkVBUiwKLSsJCUxJTkVBUl9NSVBNQVBfTElORUFSCi0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1BJUEVMSU5FX1dS QVBfTU9ERV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjIu MCIpXQotKwlwdWJsaWMgZW51bSBQaXBlbGluZVdyYXBNb2RlIHsKLSsJCVJFUEVBVCwKLSsJCU1J UlJPUkVEX1JFUEVBVCwKLSsJCUNMQU1QX1RPX0VER0UsCi0rCQlBVVRPTUFUSUMKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xf UElYRUxfRk9STUFUXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbRmxhZ3NdCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJcHVibGljIGVudW0gUGl4ZWxGb3JtYXQgewotKwkJQU5Z LAotKwkJQV84LAotKwkJUkdCXzU2NSwKLSsJCVJHQkFfNDQ0NCwKLSsJCVJHQkFfNTU1MSwKLSsJ CVlVViwKLSsJCUdfOCwKLSsJCVJHXzg4LAotKwkJUkdCXzg4OCwKLSsJCUJHUl84ODgsCi0rCQlS R0JBXzg4ODgsCi0rCQlCR1JBXzg4ODgsCi0rCQlBUkdCXzg4ODgsCi0rCQlBQkdSXzg4ODgsCi0r CQlSR0JBXzEwMTAxMDIsCi0rCQlCR1JBXzEwMTAxMDIsCi0rCQlBUkdCXzIxMDEwMTAsCi0rCQlB QkdSXzIxMDEwMTAsCi0rCQlSR0JBX0ZQXzE2MTYxNjE2LAotKwkJQkdSQV9GUF8xNjE2MTYxNiwK LSsJCUFSR0JfRlBfMTYxNjE2MTYsCi0rCQlBQkdSX0ZQXzE2MTYxNjE2LAotKwkJUkdCQV84ODg4 X1BSRSwKLSsJCUJHUkFfODg4OF9QUkUsCi0rCQlBUkdCXzg4ODhfUFJFLAotKwkJQUJHUl84ODg4 X1BSRSwKLSsJCVJHQkFfNDQ0NF9QUkUsCi0rCQlSR0JBXzU1NTFfUFJFLAotKwkJUkdCQV8xMDEw MTAyX1BSRSwKLSsJCUJHUkFfMTAxMDEwMl9QUkUsCi0rCQlBUkdCXzIxMDEwMTBfUFJFLAotKwkJ QUJHUl8yMTAxMDEwX1BSRSwKLSsJCVJHQkFfRlBfMTYxNjE2MTZfUFJFLAotKwkJQkdSQV9GUF8x NjE2MTYxNl9QUkUsCi0rCQlBUkdCX0ZQXzE2MTYxNjE2X1BSRSwKLSsJCUFCR1JfRlBfMTYxNjE2 MTZfUFJFLAotKwkJREVQVEhfMTYsCi0rCQlERVBUSF8zMiwKLSsJCURFUFRIXzI0X1NURU5DSUxf ODsKLSsJCXB1YmxpYyBpbnQgZ2V0X2J5dGVzX3Blcl9waXhlbCAoaW50IHBsYW5lKTsKLSsJCXB1 YmxpYyBpbnQgZ2V0X25fcGxhbmVzICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIHRvX3N0 cmluZyAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCBjcHJlZml4ID0gIkNPR0xfUkVBRF9QSVhFTFNfQ09MT1JfIiwgaGFzX3R5cGVfaWQgPSBmYWxz ZSldCi0rCVtGbGFnc10KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgZW51 bSBSZWFkUGl4ZWxzRmxhZ3MgewotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX1JFQURfUElYRUxT X0NPTE9SX0JVRkZFUiIpXQotKwkJUkVBRF9QSVhFTFNfQ09MT1JfQlVGRkVSCi0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1JF TkRFUkVSX0VSUk9SXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgZW51bSBSZW5k ZXJlckVycm9yIHsKLSsJCVhMSUJfRElTUExBWV9PUEVOLAotKwkJQkFEX0NPTlNUUkFJTlQKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0g IkNPR0xfU0hBREVSX1RZUEVfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChz aW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIGVudW0gU2hhZGVyVHlwZSB7Ci0rCQlWRVJURVgsCi0r CQlGUkFHTUVOVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIGNwcmVmaXggPSAiQ09HTF9TVEVSRU9fIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1 YmxpYyBlbnVtIFN0ZXJlb01vZGUgewotKwkJQk9USCwKLSsJCUxFRlQsCi0rCQlSSUdIVAotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAi Q09HTF9TWVNURU1fRVJST1JfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGVudW0gU3lzdGVtRXJyb3IgewotKwkJVU5TVVBQT1JU RUQsCi0rCQlOT19NRU1PUlkKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29n bC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfVEVYVFVSRV9DT01QT05FTlRTXyIsIGhhc190eXBl X2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQotKwlwdWJsaWMgZW51 bSBUZXh0dXJlQ29tcG9uZW50cyB7Ci0rCQlBLAotKwkJUkcsCi0rCQlSR0IsCi0rCQlSR0JBLAot KwkJREVQVEgKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCBjcHJlZml4ID0gIkNPR0xfVEVYVFVSRV9FUlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0K LSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwlwdWJsaWMgZW51bSBUZXh0dXJlRXJyb3Ig ewotKwkJU0laRSwKLSsJCUZPUk1BVCwKLSsJCUJBRF9QQVJBTUVURVIsCi0rCQlUWVBFOwotKwkJ cHVibGljIHN0YXRpYyB1aW50MzIgcXVhcmsgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1RFWFRVUkVfIiwgaGFzX3R5 cGVfaWQgPSBmYWxzZSldCi0rCVtGbGFnc10KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQot KwlwdWJsaWMgZW51bSBUZXh0dXJlRmxhZ3MgewotKwkJTk9ORSwKLSsJCU5PX0FVVE9fTUlQTUFQ LAotKwkJTk9fU0xJQ0lORywKLSsJCU5PX0FUTEFTCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1ZFUlRJQ0VTX01PREVfIiwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVi bGljIGVudW0gVmVydGljZXNNb2RlIHsKLSsJCVBPSU5UUywKLSsJCUxJTkVTLAotKwkJTElORV9M T09QLAotKwkJTElORV9TVFJJUCwKLSsJCVRSSUFOR0xFUywKLSsJCVRSSUFOR0xFX1NUUklQLAot KwkJVFJJQU5HTEVfRkFOCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1dJTkRJTkdfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSld Ci0rCXB1YmxpYyBlbnVtIFdpbmRpbmcgewotKwkJQ0xPQ0tXSVNFLAotKwkJQ09VTlRFUl9DTE9D S1dJU0UKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBj cHJlZml4ID0gIkNPR0xfV0lOU1lTX0ZFQVRVUkVfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0r CXB1YmxpYyBlbnVtIFdpbnN5c0ZlYXR1cmUgewotKwkJTVVMVElQTEVfT05TQ1JFRU4sCi0rCQlW QkxBTktfQ09VTlRFUiwKLSsJCVZCTEFOS19XQUlULAotKwkJVEVYVFVSRV9GUk9NX1BJWE1BUCwK LSsJCVNXQVBfQlVGRkVSU19FVkVOVCwKLSsJCVNXQVBfUkVHSU9OLAotKwkJU1dBUF9SRUdJT05f VEhST1RUTEUsCi0rCQlTV0FQX1JFR0lPTl9TWU5DSFJPTklaRUQsCi0rCQlCVUZGRVJfQUdFLAot KwkJU1lOQ19BTkRfQ09NUExFVEVfRVZFTlQsCi0rCQlOX0ZFQVRVUkVTCi0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1NDQU5P VVRfRVJST1JfIildCi0rCXB1YmxpYyBlcnJvcmRvbWFpbiBTY2Fub3V0RXJyb3IgewotKwkJW0ND b2RlIChjbmFtZSA9ICJDT0dMX1NDQU5PVVRfRVJST1JfSU5ISUJJVEVEIildCi0rCQlTQ0FOT1VU X0VSUk9SX0lOSElCSVRFRDsKLSsJCXB1YmxpYyBzdGF0aWMgR0xpYi5RdWFyayBxdWFyayAoKTsK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBpbnN0YW5j ZV9wb3MgPSAxLjkpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCXB1YmxpYyBkZWxl Z2F0ZSB2b2lkIERlYnVnT2JqZWN0Rm9yZWFjaFR5cGVDYWxsYmFjayAoQ29nbC5EZWJ1Z09iamVj dFR5cGVJbmZvIGluZm8pOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiLCBpbnN0YW5jZV9wb3MgPSAxLjkpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4xMCIpXQot KwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBGZWF0dXJlQ2FsbGJhY2sgKENvZ2wuRmVhdHVyZUlEIGZl YXR1cmUpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBpbnN0 YW5jZV9wb3MgPSAzLjkpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwlwdWJsaWMg ZGVsZWdhdGUgdm9pZCBGcmFtZUNhbGxiYWNrIChDb2dsLk9uc2NyZWVuIG9uc2NyZWVuLCBDb2ds LkZyYW1lRXZlbnQgZXZlbnQsIENvZ2wuRnJhbWVJbmZvIGluZm8pOwotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBpbnN0YW5jZV9wb3MgPSAyLjkpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBPbnNjcmVlbkRp cnR5Q2FsbGJhY2sgKENvZ2wuT25zY3JlZW4gb25zY3JlZW4sIENvZ2wuT25zY3JlZW5EaXJ0eUlu Zm8gaW5mbyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGlu c3RhbmNlX3BvcyA9IDIuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJcHVibGlj IGRlbGVnYXRlIGJvb2wgUGlwZWxpbmVMYXllckNhbGxiYWNrIChDb2dsLlBpcGVsaW5lIHBpcGVs aW5lLCBpbnQgbGF5ZXJfaW5kZXgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29n bC9jb2dsLmgiLCBpbnN0YW5jZV9wb3MgPSAxLjkpXQotKwlwdWJsaWMgZGVsZWdhdGUgYm9vbCBU ZXh0dXJlMkRFR0xJbWFnZUV4dGVybmFsQWxsb2MgKENvZ2wuVGV4dHVyZTJEIHRleF8yZCkgdGhy b3dzIEdMaWIuRXJyb3I7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIGhhc190YXJnZXQgPSBmYWxzZSldCi0rCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIFVzZXJEYXRh RGVzdHJveUNhbGxiYWNrICh2b2lkKiBkYXRhKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9BRklSU1RfQklUIildCi0rCXB1YmxpYyBj b25zdCBpbnQgQUZJUlNUX0JJVDsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgY25hbWUgPSAiQ09HTF9BX0JJVCIpXQotKwlwdWJsaWMgY29uc3QgaW50IEFfQklU OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJD T0dMX0JHUl9CSVQiKV0KLSsJcHVibGljIGNvbnN0IGludCBCR1JfQklUOwotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX0RFUFRIX0JJVCIp XQotKwlwdWJsaWMgY29uc3QgaW50IERFUFRIX0JJVDsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9QSVhFTF9GT1JNQVRfTUFYX1BMQU5F UyIpXQotKwlwdWJsaWMgY29uc3QgaW50IFBJWEVMX0ZPUk1BVF9NQVhfUExBTkVTOwotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX1BSRU1V TFRfQklUIildCi0rCXB1YmxpYyBjb25zdCBpbnQgUFJFTVVMVF9CSVQ7Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNPR0xfU1RFTkNJTF9CSVQi KV0KLSsJcHVibGljIGNvbnN0IGludCBTVEVOQ0lMX0JJVDsKLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9URVhUVVJFX01BWF9XQVNURSIp XQotKwlwdWJsaWMgY29uc3QgaW50IFRFWFRVUkVfTUFYX1dBU1RFOwotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGJsaXRf ZnJhbWVidWZmZXIgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVidWZmZXIsIENvZ2wuRnJhbWVidWZm ZXIgZHN0LCBpbnQgc3JjX3gsIGludCBzcmNfeSwgaW50IGRzdF94LCBpbnQgZHN0X3ksIGludCB3 aWR0aCwgaW50IGhlaWdodCkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgY2x1dHRlcl93 aW5zeXNfaGFzX2ZlYXR1cmVfQ0xVVFRFUiAoQ29nbC5XaW5zeXNGZWF0dXJlIGZlYXR1cmUpOwot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgY29sb3JfZXF1YWwgKHZvaWQq IHYxLCB2b2lkKiB2Mik7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQg Y29sb3JfaW5pdF9mcm9tX2hzbCAob3V0IENvZ2wuQ29sb3IgY29sb3IsIGZsb2F0IGh1ZSwgZmxv YXQgc2F0dXJhdGlvbiwgZmxvYXQgbHVtaW5hbmNlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVw cmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDb2dsLkhh bmRsZSBjcmVhdGVfcHJvZ3JhbSAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDb2dsLkhhbmRsZSBjcmVh dGVfc2hhZGVyIChDb2dsLlNoYWRlclR5cGUgc2hhZGVyX3R5cGUpOwotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQotKwlwdWJsaWMgc3RhdGljIHZvaWQgZGVidWdfb2JqZWN0X2ZvcmVhY2hfdHlwZSAoQ29nbC5E ZWJ1Z09iamVjdEZvcmVhY2hUeXBlQ2FsbGJhY2sgZnVuYyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0r CXB1YmxpYyBzdGF0aWMgdm9pZCBkZWJ1Z19vYmplY3RfcHJpbnRfaW5zdGFuY2VzICgpOwotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgZmx1c2ggKCk7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgZm9yZWFjaF9mZWF0dXJlIChDb2dsLkNvbnRl eHQgY29udGV4dCwgQ29nbC5GZWF0dXJlQ2FsbGJhY2sgY2FsbGJhY2spOwotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyBib29s IGdldF9iYWNrZmFjZV9jdWxsaW5nX2VuYWJsZWQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwlw dWJsaWMgc3RhdGljIGludDY0IGdldF9jbG9ja190aW1lIChDb2dsLkNvbnRleHQgY29udGV4dCk7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lv biAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJs aWMgc3RhdGljIGJvb2wgZ2V0X2RlcHRoX3Rlc3RfZW5hYmxlZCAoKTsKLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCXB1YmxpYyBzdGF0aWMgQ29nbC5HcmFw aGljc1Jlc2V0U3RhdHVzIGdldF9ncmFwaGljc19yZXNldF9zdGF0dXMgKENvZ2wuQ29udGV4dCBj b250ZXh0KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0r CVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwg c2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdGF0aWMgR0xpYi5PcHRpb25Hcm91cCBnZXRfb3B0 aW9uX2dyb3VwICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi KV0KLSsJcHVibGljIHN0YXRpYyBHTGliLkNhbGxiYWNrIGdldF9wcm9jX2FkZHJlc3MgKHN0cmlu ZyBzKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBoYXNfZmVhdHVy ZSAoQ29nbC5Db250ZXh0IGNvbnRleHQsIENvZ2wuRmVhdHVyZUlEIGZlYXR1cmUpOwotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgaXNfYml0bWFwICh2b2lkKiBvYmplY3Qp OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGlzX2NvbnRleHQgKHZv aWQqIG9iamVjdCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIp XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBpc19m cmFtZV9pbmZvICh2b2lkKiBvYmplY3QpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIHN0 YXRpYyBib29sIGlzX2ZyYW1lYnVmZmVyICh2b2lkKiBvYmplY3QpOwotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIp XQotKwlwdWJsaWMgc3RhdGljIGJvb2wgaXNfcGlwZWxpbmUgKHZvaWQqIG9iamVjdCk7Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVw cmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3Rh dGljIGJvb2wgaXNfcHJvZ3JhbSAoQ29nbC5IYW5kbGUgaGFuZGxlKTsKLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0g dHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBp c19zaGFkZXIgKENvZ2wuSGFuZGxlIGhhbmRsZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgaXNfdGV4dHVyZSAodm9p ZCogb2JqZWN0KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIild Ci0rCXB1YmxpYyBzdGF0aWMgYm9vbCBpc190ZXh0dXJlXzJkICh2b2lkKiBvYmplY3QpOwotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGlzX3RleHR1cmVfMmRfc2xpY2Vk ICh2b2lkKiBvYmplY3QpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHByb2dyYW1fYXR0YWNoX3NoYWRlciAoQ29n bC5IYW5kbGUgcHJvZ3JhbV9oYW5kbGUsIENvZ2wuSGFuZGxlIHNoYWRlcl9oYW5kbGUpOwotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0 YXRpYyBpbnQgcHJvZ3JhbV9nZXRfdW5pZm9ybV9sb2NhdGlvbiAoQ29nbC5IYW5kbGUgaGFuZGxl LCBzdHJpbmcgdW5pZm9ybV9uYW1lKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBwcm9ncmFtX2xpbmsgKENvZ2wu SGFuZGxlIGhhbmRsZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAi MS4xNiIsIHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgcHJvZ3JhbV9zZXRf dW5pZm9ybV8xZiAoQ29nbC5IYW5kbGUgcHJvZ3JhbSwgaW50IHVuaWZvcm1fbG9jYXRpb24sIGZs b2F0IHZhbHVlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIild Ci0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2 Iiwgc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBwcm9ncmFtX3NldF91bmlm b3JtXzFpIChDb2dsLkhhbmRsZSBwcm9ncmFtLCBpbnQgdW5pZm9ybV9sb2NhdGlvbiwgaW50IHZh bHVlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtW ZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2lu Y2UgPSAiMS40IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBwcm9ncmFtX3NldF91bmlmb3JtX2Zs b2F0IChDb2dsLkhhbmRsZSBwcm9ncmFtLCBpbnQgdW5pZm9ybV9sb2NhdGlvbiwgaW50IG5fY29t cG9uZW50cywgW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAiY291bnQiLCBhcnJheV9sZW5n dGhfcG9zID0gMy41KV0gZmxvYXRbXSB2YWx1ZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJl Y2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgc3RhdGljIHZv aWQgcHJvZ3JhbV9zZXRfdW5pZm9ybV9pbnQgKENvZ2wuSGFuZGxlIHByb2dyYW0sIGludCB1bmlm b3JtX2xvY2F0aW9uLCBpbnQgbl9jb21wb25lbnRzLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFt ZSA9ICJjb3VudCIsIGFycmF5X2xlbmd0aF9wb3MgPSAzLjUpXSBpbnRbXSB2YWx1ZSk7Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVw cmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuNCIp XQotKwlwdWJsaWMgc3RhdGljIHZvaWQgcHJvZ3JhbV9zZXRfdW5pZm9ybV9tYXRyaXggKENvZ2wu SGFuZGxlIHByb2dyYW0sIGludCB1bmlmb3JtX2xvY2F0aW9uLCBpbnQgZGltZW5zaW9ucywgYm9v bCB0cmFuc3Bvc2UsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gImNvdW50IiwgYXJyYXlf bGVuZ3RoX3BvcyA9IDMuNSldIGZsb2F0W10gdmFsdWUpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBk ZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHNldF9iYWNr ZmFjZV9jdWxsaW5nX2VuYWJsZWQgKGJvb2wgc2V0dGluZyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X2Rl cHRoX3Rlc3RfZW5hYmxlZCAoYm9vbCBzZXR0aW5nKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBzZXRfdHJhY2luZ19k aXNhYmxlZF9vbl90aHJlYWQgKHZvaWQqIGRhdGEpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHNldF90cmFjaW5nX2Vu YWJsZWRfb25fdGhyZWFkICh2b2lkKiBkYXRhLCBzdHJpbmcgZ3JvdXAsIHN0cmluZyBmaWxlbmFt ZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlwdWJs aWMgc3RhdGljIHZvaWQgc2V0X3RyYWNpbmdfZW5hYmxlZF9vbl90aHJlYWRfd2l0aF9mZCAodm9p ZCogZGF0YSwgc3RyaW5nIGdyb3VwLCBpbnQgZmQpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyBDb2dsLlNoYWRlclR5cGUg c2hhZGVyX2dldF90eXBlIChDb2dsLkhhbmRsZSBoYW5kbGUpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHNoYWRl cl9zb3VyY2UgKENvZ2wuSGFuZGxlIHNoYWRlciwgc3RyaW5nIHNvdXJjZSk7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xOCIsIHNpbmNlID0gIjEuMCIpXQotKwlw dWJsaWMgc3RhdGljIENvZ2wuVGV4dHVyZSB0ZXh0dXJlX25ld19mcm9tX2JpdG1hcCAoQ29nbC5C aXRtYXAgYml0bWFwLCBDb2dsLlRleHR1cmVGbGFncyBmbGFncywgQ29nbC5QaXhlbEZvcm1hdCBp bnRlcm5hbF9mb3JtYXQpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0KLSsJcHVibGljIHN0YXRpYyBDb2dsLlRleHR1cmUgdGV4 dHVyZV9uZXdfZnJvbV9kYXRhIChpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvZ2wuVGV4dHVyZUZs YWdzIGZsYWdzLCBDb2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgQ29nbC5QaXhlbEZvcm1hdCBpbnRl cm5hbF9mb3JtYXQsIGludCByb3dzdHJpZGUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2Up XSB1aW50OFtdIGRhdGEpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0KLSsJcHVibGljIHN0YXRpYyBDb2dsLlRleHR1cmUgdGV4 dHVyZV9uZXdfZnJvbV9maWxlIChzdHJpbmcgZmlsZW5hbWUsIENvZ2wuVGV4dHVyZUZsYWdzIGZs YWdzLCBDb2dsLlBpeGVsRm9ybWF0IGludGVybmFsX2Zvcm1hdCkgdGhyb3dzIEdMaWIuRXJyb3I7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lv biAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xOCIsIHNpbmNlID0g IjAuOCIpXQotKwlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVyZSB0ZXh0dXJlX25ld193aXRoX3Np emUgKHVpbnQgd2lkdGgsIHVpbnQgaGVpZ2h0LCBDb2dsLlRleHR1cmVGbGFncyBmbGFncywgQ29n bC5QaXhlbEZvcm1hdCBpbnRlcm5hbF9mb3JtYXQpOwotK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv YnVkZ2llLWRlc2t0b3AvdGVtcGxhdGUgYi9zcmNwa2dzL2J1ZGdpZS1kZXNrdG9wL3RlbXBsYXRl CmluZGV4IDRlOWE3ZjYzYjNkZi4uZTNmYTBkN2I4ZGZhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2J1 ZGdpZS1kZXNrdG9wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvdGVtcGxh dGUKQEAgLTEsMjMgKzEsMjQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2J1ZGdpZS1kZXNrdG9w JwogcGtnbmFtZT1idWRnaWUtZGVza3RvcAotdmVyc2lvbj0xMC41LjIKLXJldmlzaW9uPTMKK3Zl cnNpb249MTAuNS4zCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVy PWdpcgogY29uZmlndXJlX2FyZ3M9Ii1Ed2l0aC1ndGstZG9jPWZhbHNlIgotaG9zdG1ha2VkZXBl bmRzPSJwa2ctY29uZmlnIGludGx0b29sIHZhbGEgZ2xpYi1kZXZlbCBnb2JqZWN0LWludHJvc3Bl Y3Rpb24gc2Fzc2MiCitob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgaW50bHRvb2wgdmFsYSBn bGliLWRldmVsIGdvYmplY3QtaW50cm9zcGVjdGlvbiBzYXNzYworIGJ1ZGdpZS1zY3JlZW5zYXZl ciIKIG1ha2VkZXBlbmRzPSJhbHNhLWxpYi1kZXZlbCBsaWJub3RpZnktZGV2ZWwgYWNjb3VudHNz ZXJ2aWNlLWRldmVsIGxpYnBlYXMtZGV2ZWwKICBsaWJ3bmNrLWRldmVsIG11dHRlci1kZXZlbCBp YnVzLWRldmVsIGdub21lLWRlc2t0b3AtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbAogIHVwb3dlci1k ZXZlbCBndGsrMy1kZXZlbCBwb2xraXQtZGV2ZWwgZ25vbWUtYmx1ZXRvb3RoLWRldmVsIGdub21l LW1lbnVzLWRldmVsCiAgZ25vbWUtc2V0dGluZ3MtZGFlbW9uLWRldmVsIHZhbGEgbGlidXVpZC1k ZXZlbCBsaWJ1cG93ZXItZ2xpYjMiCiBkZXBlbmRzPSJnbm9tZS1zZXNzaW9uIGdub21lLXNldHRp bmdzLWRhZW1vbiBnbm9tZS1jb250cm9sLWNlbnRlciBlbG9naW5kCi0gZ25vbWUtdGhlbWVzLWV4 dHJhIgorIGdub21lLXRoZW1lcy1leHRyYSBidWRnaWUtc2NyZWVuc2F2ZXIiCiBzaG9ydF9kZXNj PSJNb2Rlcm4gZGVza3RvcCBlbnZpcm9ubWVudCBmcm9tIHRoZSBTb2x1cyBQcm9qZWN0IgogbWFp bnRhaW5lcj0iTG9yZW0gPG5vdGxvcmVtaXBzdW1AcHJvdG9ubWFpbC5jb20+IgogbGljZW5zZT0i R1BMLTIuMC1vbmx5LCBMR1BMLTIuMS1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNv bS9zb2x1cy1wcm9qZWN0L2J1ZGdpZS1kZXNrdG9wIgogZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9y ZWxlYXNlcy9kb3dubG9hZC92JHt2ZXJzaW9ufS9idWRnaWUtZGVza3RvcC12JHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT1kNzIxOWMxZGM2ZDBlM2ZlNTRhYzMzMDYyYmZkNDIwYWI5NDE1OGJj ZmU5NDA5ZDA5Yzg1ZDdlN2EyMWM2N2ZhCitjaGVja3N1bT04NzhmNGU2NDYwYzI5NzQwYmY2MzNj M2IxMWJhOTdiY2I3ODgwNjhjMTQ2MGY4MjU2OTkzOGFmMmYxNjMzYjI1CiAKIGJ1ZGdpZS1kZXNr dG9wLWRldmVsX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVz Igo= --===============1135202707139748284==--