drm: Branch 'master' - 4 commits
[email protected] (GitLab Mirror) Mon, 16 Sep 2019 12:58:13 +0000 (UTC)
| Newsgroups | gmane.comp.video.dri.patches |
|---|---|
| Message-ID | <[email protected]> |
IGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICB8ICAgMTggLS0KIGRhdGEvYW1kZ3B1X3Jhcy5qc29u ICAgICB8ICAyNjcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIG1l c29uLmJ1aWxkICAgICAgICAgICAgICB8ICAgIDEgCiB0ZXN0cy9hbWRncHUvTWFrZWZpbGUuYW0g fCAgICA1IAogdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxkIHwgICAxNiAtLQogdGVzdHMvYW1kZ3B1 L3Jhc190ZXN0cy5jIHwgIDMwNSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxMTYgaW5zZXJ0aW9ucygrKSwgNDk2IGRlbGV0 aW9ucygtKQoKTmV3IGNvbW1pdHM6CmNvbW1pdCBjNTE4MDlmYTY3NGIzZGIxZGUwMzI1NDg1Zjlk OTNmNmJkYmMyYzYyCkF1dGhvcjogR3VjaHVuIENoZW4gPGd1Y2h1bi5jaGVuQGFtZC5jb20+CkRh dGU6ICAgV2VkIEF1ZyAyOCAxODoyNTo0MyAyMDE5ICswODAwCgogICAgYW1kZ3B1OiBhZGQgcmFz IGZlYXR1cmUgY2FwYWJpbGl0eSBjaGVjayBpbiBpbmplY3QgdGVzdAogICAgCiAgICBXaGVuIHJ1 bm5pbmcgcmFzIGluamVjdCB0ZXN0LCBpdCdzIG5lZWRlZCB0byBiZSBhbGlnbmVkCiAgICB3aXRo IGtlcm5lbCdzIHJhcyBlbmFibGVtZW50LgogICAgCiAgICBBY2tlZC1ieTogQ2hyaXN0aWFuIEvD tm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgogICAgUmV2aWV3ZWQtYnk6IFRhbyBaaG91 IDx0YW8uemhvdTFAYW1kLmNvbT4KICAgIFNpZ25lZC1vZmYtYnk6IEd1Y2h1biBDaGVuIDxndWNo dW4uY2hlbkBhbWQuY29tPgogICAgU2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5k ZXIuZGV1Y2hlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9yYXNfdGVzdHMu YyBiL3Rlc3RzL2FtZGdwdS9yYXNfdGVzdHMuYwppbmRleCBkNTEwYjY0NC4uYzFjNTQzYzEgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2FtZGdwdS9yYXNfdGVzdHMuYworKysgYi90ZXN0cy9hbWRncHUvcmFz X3Rlc3RzLmMKQEAgLTg2MSw2ICs4NjEsMTAgQEAgc3RhdGljIHZvaWQgX19hbWRncHVfcmFzX2lw X2luamVjdF90ZXN0KGNvbnN0IHN0cnVjdCByYXNfaW5qZWN0X3Rlc3RfY29uZmlnICppcF8KIAkJ aWYgKGJsb2NrID09IEFSUkFZX1NJWkUocmFzX2Jsb2NrX3N0cmluZykpCiAJCQlicmVhazsKIAor CQkvKiBFbnN1cmUgUkFTIGZlYXR1cmUgZm9yIHRoZSBJUCBibG9jayBpcyBlbmFibGVkIGJ5IGtl cm5lbCAqLworCQlpZiAoYW1kZ3B1X3Jhc19pc19mZWF0dXJlX3N1cHBvcnRlZChibG9jaykgPD0g MCkKKwkJCWJyZWFrOworCiAJCXJldCA9IGFtZGdwdV9yYXNfcXVlcnlfZXJyX2NvdW50KGJsb2Nr LCAmb2xkX3VlLCAmb2xkX2NlKTsKIAkJQ1VfQVNTRVJUX0VRVUFMKHJldCwgMCk7CiAJCWlmIChy ZXQpCmNvbW1pdCA1OGZjNmQ2ZWFlMTg0NGEwODBlNmI0N2QxMThhOWE3ZDdkYzcyMjY4CkF1dGhv cjogR3VjaHVuIENoZW4gPGd1Y2h1bi5jaGVuQGFtZC5jb20+CkRhdGU6ICAgVHVlIEF1ZyAyNyAx Nzo0MjoxNCAyMDE5ICswODAwCgogICAgYW1kZ3B1OiBhZGQgcmFzIGluamVjdCB1bml0IHRlc3QK ICAgIAogICAgQm90aCBVTUMgYW5kIEdGWCByYXMgc2luZ2xlX2NvcnJlY3RhYmxlCiAgICBpbmpl Y3QgdGVzdHMgYXJlIGFkZGVkLgogICAgCiAgICBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8 Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgogICAgUmV2aWV3ZWQtYnk6IFRhbyBaaG91IDx0YW8u emhvdTFAYW1kLmNvbT4KICAgIFNpZ25lZC1vZmYtYnk6IEd1Y2h1biBDaGVuIDxndWNodW4uY2hl bkBhbWQuY29tPgogICAgU2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1 Y2hlckBhbWQuY29tPgoKZGlmZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9yYXNfdGVzdHMuYyBiL3Rl c3RzL2FtZGdwdS9yYXNfdGVzdHMuYwppbmRleCA4NmI0MTM3Yi4uZDUxMGI2NDQgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2FtZGdwdS9yYXNfdGVzdHMuYworKysgYi90ZXN0cy9hbWRncHUvcmFzX3Rlc3Rz LmMKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPHN0ZGlv Lmg+CiAjaW5jbHVkZSAieGY4NmRybS5oIgotI2luY2x1ZGUgInN0ZGxpYi5oIgorCisjZGVmaW5l IEFSUkFZX1NJWkUoYSkgKHNpemVvZihhKSAvIHNpemVvZigoYSlbMF0pKQogCiBjb25zdCBjaGFy ICpyYXNfYmxvY2tfc3RyaW5nW10gPSB7CiAJInVtYyIsCkBAIC0zMTEsMTEgKzMxMiwxMCBAQCBl bnVtIGFtZGdwdV9yYXNfZXJyb3JfdHlwZSB7CiAJQU1ER1BVX1JBU19FUlJPUl9fUE9JU09OCQkJ CT0gOCwKIH07CiAKLXN0cnVjdCByYXNfdGVzdF9pdGVtIHsKK3N0cnVjdCByYXNfaW5qZWN0X3Rl c3RfY29uZmlnIHsKIAljaGFyIG5hbWVbNjRdOwotCWludCBibG9jazsKKwljaGFyIGJsb2NrWzMy XTsKIAlpbnQgc3ViX2Jsb2NrOwotCWNoYXIgZXJyb3JfdHlwZV9zdHJbNjRdOwogCWVudW0gYW1k Z3B1X3Jhc19lcnJvcl90eXBlIHR5cGU7CiAJdWludDY0X3QgYWRkcmVzczsKIAl1aW50NjRfdCB2 YWx1ZTsKQEAgLTM5MCwxMiArMzkwLDc4IEBAIHN0cnVjdCByYXNfRElEX3Rlc3RfbWFza3sKIAlE RUZBVUxUX1JBU19CTE9DS19NQVNLX0JBU0lDXAogfQogCitzdGF0aWMgY29uc3Qgc3RydWN0IHJh c19pbmplY3RfdGVzdF9jb25maWcgdW1jX3Jhc19pbmplY3RfdGVzdFtdID0geworCXsicmFzX3Vt Yy4xLjAiLCAidW1jIiwgMCwgQU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJFQ1RBQkxFLCAw LCAwfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmFzX2luamVjdF90ZXN0X2NvbmZpZyBn ZnhfcmFzX2luamVjdF90ZXN0W10gPSB7CisJeyJyYXNfZ2Z4LjIuMCIsICJnZngiLCBBTURHUFVf UkFTX0JMT0NLX19HRlhfQ1BDX1VDT0RFLAorCQlBTURHUFVfUkFTX0VSUk9SX19TSU5HTEVfQ09S UkVDVEFCTEUsIDAsIDB9LAorCXsicmFzX2dmeC4yLjEiLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9D S19fR0ZYX0NQRl9UQUcsCisJCUFNREdQVV9SQVNfRVJST1JfX1NJTkdMRV9DT1JSRUNUQUJMRSwg MCwgMH0sCisJeyJyYXNfZ2Z4LjIuMiIsICJnZngiLCBBTURHUFVfUkFTX0JMT0NLX19HRlhfQ1BH X1RBRywKKwkJQU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJFQ1RBQkxFLCAwLCAwfSwKKwl7 InJhc19nZnguMi4zIiwgImdmeCIsIEFNREdQVV9SQVNfQkxPQ0tfX0dGWF9TUV9MRFNfRCwKKwkJ QU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJFQ1RBQkxFLCAwLCAwfSwKKwl7InJhc19nZngu Mi40IiwgImdmeCIsIEFNREdQVV9SQVNfQkxPQ0tfX0dGWF9TUUNfREFUQV9DVTFfVVRDTDFfTEZJ Rk8sCisJCUFNREdQVV9SQVNfRVJST1JfX1NJTkdMRV9DT1JSRUNUQUJMRSwgMCwgMH0sCisJeyJy YXNfZ2Z4LjIuNSIsICJnZngiLCBBTURHUFVfUkFTX0JMT0NLX19HRlhfU1FDX0lOU1RfQkFOS0Ff VEFHX1JBTSwKKwkJQU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJFQ1RBQkxFLCAwLCAwfSwK Kwl7InJhc19nZnguMi42IiwgImdmeCIsIEFNREdQVV9SQVNfQkxPQ0tfX0dGWF9TUUNfSU5TVF9C QU5LQl9UQUdfUkFNLAorCQlBTURHUFVfUkFTX0VSUk9SX19TSU5HTEVfQ09SUkVDVEFCTEUsIDAs IDB9LAorCXsicmFzX2dmeC4yLjciLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9DS19fR0ZYX1RBX0ZT X0RGSUZPLAorCQlBTURHUFVfUkFTX0VSUk9SX19TSU5HTEVfQ09SUkVDVEFCTEUsIDAsIDB9LAor CXsicmFzX2dmeC4yLjgiLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9DS19fR0ZYX1RDQ19DQUNIRV9E QVRBLAorCQlBTURHUFVfUkFTX0VSUk9SX19TSU5HTEVfQ09SUkVDVEFCTEUsIDAsIDB9LAorCXsi cmFzX2dmeC4yLjkiLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9DS19fR0ZYX1RDQ19DQUNIRV9EQVRB X0JBTktfMF8xLAorCQlBTURHUFVfUkFTX0VSUk9SX19TSU5HTEVfQ09SUkVDVEFCTEUsIDAsIDB9 LAorCXsicmFzX2dmeC4yLjEwIiwgImdmeCIsIEFNREdQVV9SQVNfQkxPQ0tfX0dGWF9UQ0NfQ0FD SEVfREFUQV9CQU5LXzFfMCwKKwkJQU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NPUlJFQ1RBQkxF LCAwLCAwfSwKKwl7InJhc19nZnguMi4xMSIsICJnZngiLCBBTURHUFVfUkFTX0JMT0NLX19HRlhf VENDX0NBQ0hFX0RBVEFfQkFOS18xXzEsCisJCUFNREdQVV9SQVNfRVJST1JfX1NJTkdMRV9DT1JS RUNUQUJMRSwgMCwgMH0sCisJeyJyYXNfZ2Z4LjIuMTIiLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9D S19fR0ZYX1RDUF9DQUNIRV9SQU0sCisJCUFNREdQVV9SQVNfRVJST1JfX1NJTkdMRV9DT1JSRUNU QUJMRSwgMCwgMH0sCisJeyJyYXNfZ2Z4LjIuMTMiLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9DS19f R0ZYX1REX1NTX0ZJRk9fTE8sCisJCUFNREdQVV9SQVNfRVJST1JfX1NJTkdMRV9DT1JSRUNUQUJM RSwgMCwgMH0sCisJeyJyYXNfZ2Z4LjIuMTQiLCAiZ2Z4IiwgQU1ER1BVX1JBU19CTE9DS19fR0ZY X0VBX0RSQU1SRF9DTURNRU0sCisJCUFNREdQVV9SQVNfRVJST1JfX1NJTkdMRV9DT1JSRUNUQUJM RSwgMCwgMH0sCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IHJhc19ESURfdGVzdF9tYXNrIHJh c19ESURfYXJyYXlbXSA9IHsKIAl7MHg2NmExLCAweDAwLCBSQVNfQkxPQ0tfTUFTS19BTEx9LAog CXsweDY2YTEsIDB4MDEsIFJBU19CTE9DS19NQVNLX0FMTH0sCiAJezB4NjZhMSwgMHgwNCwgUkFT X0JMT0NLX01BU0tfQUxMfSwKIH07CiAKK3N0YXRpYyB1aW50MzJfdCBhbWRncHVfcmFzX2ZpbmRf YmxvY2tfaWRfYnlfbmFtZShjb25zdCBjaGFyICpuYW1lKQoreworCWludCBpOworCisJZm9yIChp ID0gMDsgaSA8IEFSUkFZX1NJWkUocmFzX2Jsb2NrX3N0cmluZyk7IGkrKykgeworCQlpZiAoc3Ry Y21wKG5hbWUsIHJhc19ibG9ja19zdHJpbmdbaV0pID09IDApCisJCQlyZXR1cm4gaTsKKwl9CisK KwlyZXR1cm4gQVJSQVlfU0laRShyYXNfYmxvY2tfc3RyaW5nKTsKK30KKworc3RhdGljIGNoYXIg KmFtZGdwdV9yYXNfZ2V0X2Vycm9yX3R5cGVfaWQoZW51bSBhbWRncHVfcmFzX2Vycm9yX3R5cGUg dHlwZSkKK3sKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIEFNREdQVV9SQVNfRVJST1JfX1BBUklU WToKKwkJcmV0dXJuICJwYXJpdHkiOworCWNhc2UgQU1ER1BVX1JBU19FUlJPUl9fU0lOR0xFX0NP UlJFQ1RBQkxFOgorCQlyZXR1cm4gInNpbmdsZV9jb3JyZWN0YWJsZSI7CisJY2FzZSBBTURHUFVf UkFTX0VSUk9SX19NVUxUSV9VTkNPUlJFQ1RBQkxFOgorCQlyZXR1cm4gIm11bHRpX3VuY29ycmVj dGFibGUiOworCWNhc2UgQU1ER1BVX1JBU19FUlJPUl9fUE9JU09OOgorCQlyZXR1cm4gInBvaXNv biI7CisJY2FzZSBBTURHUFVfUkFTX0VSUk9SX19OT05FOgorCWRlZmF1bHQ6CisJCXJldHVybiBO VUxMOworCX0KK30KKwogc3RhdGljIHN0cnVjdCByYXNfdGVzdF9tYXNrIGFtZGdwdV9yYXNfZ2V0 X3Rlc3RfbWFzayhkcm1EZXZpY2VQdHIgZGV2aWNlKQogewogCWludCBpOwpAQCAtNzc1LDQzICs4 NDEsMzYgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X3Jhc19lbmFibGVfdGVzdCh2b2lkKQogCX0KIH0K IAotc3RhdGljIGludCBhbWRncHVfcmFzX2dldF90ZXN0X2l0ZW1zKHN0cnVjdCByYXNfdGVzdF9p dGVtICoqcGl0ZW1zLCBpbnQgKnNpemUpCitzdGF0aWMgdm9pZCBfX2FtZGdwdV9yYXNfaXBfaW5q ZWN0X3Rlc3QoY29uc3Qgc3RydWN0IHJhc19pbmplY3RfdGVzdF9jb25maWcgKmlwX3Rlc3QsCisJ CQkJCXVpbnQzMl90IHNpemUpCiB7Ci0JKnBpdGVtcyA9IE5VTEw7Ci0JKnNpemUgPSAwOwotCi0J cmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fYW1kZ3B1X3Jhc19pbmplY3RfdGVzdCh2b2lk KQotewotCXN0cnVjdCByYXNfdGVzdF9pdGVtICppdGVtcyA9IE5VTEw7Ci0JaW50IGksIHNpemU7 Ci0JaW50IHJldDsKKwlpbnQgaSwgcmV0OwogCXVuc2lnbmVkIGxvbmcgb2xkX3VlLCBvbGRfY2U7 CiAJdW5zaWduZWQgbG9uZyB1ZSwgY2U7CisJdWludDMyX3QgYmxvY2s7CiAJaW50IHRpbWVvdXQ7 CiAJYm9vbCBwYXNzOwogCi0JcmV0ID0gYW1kZ3B1X3Jhc19nZXRfdGVzdF9pdGVtcygmaXRlbXMs ICZzaXplKTsKLQlDVV9BU1NFUlRfRVFVQUwocmV0LCAwKTsKLQlpZiAocmV0KQotCQlnb3RvIG1l bV9mcmVlOwotCi0JcHJpbnRmKCIuLi5cbiIpOwogCWZvciAoaSA9IDA7IGkgPCBzaXplOyBpKysp IHsKIAkJdGltZW91dCA9IDM7CiAJCXBhc3MgPSBmYWxzZTsKIAotCQlyZXQgPSBhbWRncHVfcmFz X3F1ZXJ5X2Vycl9jb3VudChpdGVtc1tpXS5ibG9jaywgJm9sZF91ZSwKLQkJCQkJCSAmb2xkX2Nl KTsKKwkJYmxvY2sgPSBhbWRncHVfcmFzX2ZpbmRfYmxvY2tfaWRfYnlfbmFtZShpcF90ZXN0W2ld LmJsb2NrKTsKKworCQkvKiBFbnN1cmUgb25lIHZhbGlkIGlwIGJsb2NrICovCisJCWlmIChibG9j ayA9PSBBUlJBWV9TSVpFKHJhc19ibG9ja19zdHJpbmcpKQorCQkJYnJlYWs7CisKKwkJcmV0ID0g YW1kZ3B1X3Jhc19xdWVyeV9lcnJfY291bnQoYmxvY2ssICZvbGRfdWUsICZvbGRfY2UpOwogCQlD VV9BU1NFUlRfRVFVQUwocmV0LCAwKTsKIAkJaWYgKHJldCkKIAkJCWJyZWFrOwogCi0JCXJldCA9 IGFtZGdwdV9yYXNfaW5qZWN0KGl0ZW1zW2ldLmJsb2NrLCBpdGVtc1tpXS5zdWJfYmxvY2ssCi0J CQkJCWl0ZW1zW2ldLnR5cGUsIGl0ZW1zW2ldLmFkZHJlc3MsCi0JCQkJCWl0ZW1zW2ldLnZhbHVl KTsKKwkJcmV0ID0gYW1kZ3B1X3Jhc19pbmplY3QoYmxvY2ssCisJCQkJCWlwX3Rlc3RbaV0uc3Vi X2Jsb2NrLAorCQkJCQlpcF90ZXN0W2ldLnR5cGUsCisJCQkJCWlwX3Rlc3RbaV0uYWRkcmVzcywK KwkJCQkJaXBfdGVzdFtpXS52YWx1ZSk7CiAJCUNVX0FTU0VSVF9FUVVBTChyZXQsIDApOwogCQlp ZiAocmV0KQogCQkJYnJlYWs7CkBAIC04MTksOCArODc4LDcgQEAgc3RhdGljIHZvaWQgX19hbWRn cHVfcmFzX2luamVjdF90ZXN0KHZvaWQpCiAJCXdoaWxlICh0aW1lb3V0ID4gMCkgewogCQkJc2xl ZXAoNSk7CiAKLQkJCXJldCA9IGFtZGdwdV9yYXNfcXVlcnlfZXJyX2NvdW50KGl0ZW1zW2ldLmJs b2NrLCAmdWUsCi0JCQkJCQkJICZjZSk7CisJCQlyZXQgPSBhbWRncHVfcmFzX3F1ZXJ5X2Vycl9j b3VudChibG9jaywgJnVlLCAmY2UpOwogCQkJQ1VfQVNTRVJUX0VRVUFMKHJldCwgMCk7CiAJCQlp ZiAocmV0KQogCQkJCWJyZWFrOwpAQCAtODMyLDE2ICs4OTAsMjggQEAgc3RhdGljIHZvaWQgX19h bWRncHVfcmFzX2luamVjdF90ZXN0KHZvaWQpCiAJCQl9CiAJCQl0aW1lb3V0IC09IDE7CiAJCX0K LQkJcHJpbnRmKCJcdCBUZXN0ICVzQCVzLCBhZGRyZXNzICVsZCwgdmFsdWUgJWxkOiAlc1xuIiwK LQkJCWl0ZW1zW2ldLm5hbWUsIGl0ZW1zW2ldLmVycm9yX3R5cGVfc3RyLCBpdGVtc1tpXS5hZGRy ZXNzLAotCQkJaXRlbXNbaV0udmFsdWUsCXBhc3MgPyAiUGFzcyIgOiAiRmFpbCIpOworCQlwcmlu dGYoIlx0IFRlc3QgJXNAYmxvY2sgJXMsIHN1YmJsb2NrICVkLCBlcnJvcl90eXBlICVzLCBhZGRy ZXNzICVsZCwgdmFsdWUgJWxkOiAlc1xuIiwKKwkJCWlwX3Rlc3RbaV0ubmFtZSwKKwkJCWlwX3Rl c3RbaV0uYmxvY2ssCisJCQlpcF90ZXN0W2ldLnN1Yl9ibG9jaywKKwkJCWFtZGdwdV9yYXNfZ2V0 X2Vycm9yX3R5cGVfaWQoaXBfdGVzdFtpXS50eXBlKSwKKwkJCWlwX3Rlc3RbaV0uYWRkcmVzcywK KwkJCWlwX3Rlc3RbaV0udmFsdWUsCisJCQlwYXNzID8gIlBhc3MiIDogIkZhaWwiKTsKIAl9Cit9 CiAKLW1lbV9mcmVlOgotCWlmIChpdGVtcykgewotCQlmcmVlKGl0ZW1zKTsKLQkJaXRlbXMgPSBO VUxMOwotCX0KK3N0YXRpYyB2b2lkIF9fYW1kZ3B1X3Jhc19pbmplY3RfdGVzdCh2b2lkKQorewor CXByaW50ZigiLi4uXG4iKTsKKworCS8qIHJ1biBVTUMgcmFzIGluamVjdCB0ZXN0ICovCisJX19h bWRncHVfcmFzX2lwX2luamVjdF90ZXN0KHVtY19yYXNfaW5qZWN0X3Rlc3QsCisJCUFSUkFZX1NJ WkUodW1jX3Jhc19pbmplY3RfdGVzdCkpOworCisJLyogcnVuIEdGWCByYXMgaW5qZWN0IHRlc3Qg Ki8KKwlfX2FtZGdwdV9yYXNfaXBfaW5qZWN0X3Rlc3QoZ2Z4X3Jhc19pbmplY3RfdGVzdCwKKwkJ QVJSQVlfU0laRShnZnhfcmFzX2luamVjdF90ZXN0KSk7CiB9CiAKIHN0YXRpYyB2b2lkIGFtZGdw dV9yYXNfaW5qZWN0X3Rlc3Qodm9pZCkKY29tbWl0IDAxODE2OWJmYmFiMjgxYzcwMDU5NjAyOTI1 ZDQ5ZGUzODUyYTQ3YzIKQXV0aG9yOiBHdWNodW4gQ2hlbiA8Z3VjaHVuLmNoZW5AYW1kLmNvbT4K RGF0ZTogICBUdWUgQXVnIDI3IDEwOjQ0OjE4IDIwMTkgKzA4MDAKCiAgICBhbWRncHU6IGRlbGV0 ZSB0ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZQogICAgCiAgICBKc29uIHBhY2thZ2UgZGVwZW5kZW5j ZSBpcyByZW1vdmVkIGZyb20gYW1kZ3B1X3Rlc3QsCiAgICBzbyB0aGlzIGpzb24gY29uZmlndXJh dGlvbiBmaWxlIGlzIG5vdCBuZWVkZWQgYW55IG1vcmUuCiAgICAKICAgIFN1Z2dlc3RlZC1ieTog Q2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgogICAgQWNrZWQtYnk6 IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KICAgIFJldmlld2Vk LWJ5OiBUYW8gWmhvdSA8dGFvLnpob3UxQGFtZC5jb20+CiAgICBTaWduZWQtb2ZmLWJ5OiBHdWNo dW4gQ2hlbiA8Z3VjaHVuLmNoZW5AYW1kLmNvbT4KICAgIFNpZ25lZC1vZmYtYnk6IEFsZXggRGV1 Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KCmRpZmYgLS1naXQgYS9kYXRhL2FtZGdw dV9yYXMuanNvbiBiL2RhdGEvYW1kZ3B1X3Jhcy5qc29uCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAyNmZkOTQ2NS4uMDAwMDAwMDAKLS0tIGEvZGF0YS9hbWRncHVfcmFzLmpzb24KKysr IC9kZXYvbnVsbApAQCAtMSwyNjcgKzAsMCBAQAotewotICAgICJ2ZXJzaW9uIjogIjAuMC4xIiwK LSAgICAiYmxvY2siOiB7Ci0gICAgICAgICJ1bWMiOiB7Ci0gICAgICAgICAgICAiaW5kZXgiOiAw Ci0gICAgICAgIH0sCi0gICAgICAgICJnZngiOiB7Ci0gICAgICAgICAgICAiaW5kZXgiOiAyLAot ICAgICAgICAgICAgInN1YmJsb2NrIjogewotICAgICAgICAgICAgICAgICJnZnhfY3BjX3NjcmF0 Y2giOiAwLAotICAgICAgICAgICAgICAgICJnZnhfY3BjX3Vjb2RlIjogMSwKLSAgICAgICAgICAg ICAgICAiZ2Z4X2RjX3N0YXRlX21lMSI6IDIsCi0gICAgICAgICAgICAgICAgImdmeF9kY19jc2lu dm9jX21lMSI6IDMsCi0gICAgICAgICAgICAgICAgImdmeF9kY19yZXN0b3JlX21lMSI6IDQsCi0g ICAgICAgICAgICAgICAgImdmeF9kY19zdGF0ZV9tZTIiOiA1LAotICAgICAgICAgICAgICAgICJn ZnhfZGNfY3NpbnZvY19tZTIiOiA2LAotICAgICAgICAgICAgICAgICJnZnhfZGNfcmVzdG9yZV9t ZTIiOiA3LAotICAgICAgICAgICAgICAgICJnZnhfY3BmX3JvcV9tZTIiOiA4LAotICAgICAgICAg ICAgICAgICJnZnhfY3BmX3JvcV9tZTEiOiA5LAotICAgICAgICAgICAgICAgICJnZnhfY3BmX3Rh ZyI6IDEwLAotICAgICAgICAgICAgICAgICJnZnhfY3BnX2RtYV9yb3EiOiAxMSwKLSAgICAgICAg ICAgICAgICAiZ2Z4X2NwZ19kbWFfdGFnIjogMTIsCi0gICAgICAgICAgICAgICAgImdmeF9jcGdf dGFnIjogMTMsCi0gICAgICAgICAgICAgICAgImdmeF9nZHNfbWVtIjogMTQsCi0gICAgICAgICAg ICAgICAgImdmeF9nZHNfaW5wdXRfcXVldWUiOiAxNSwKLSAgICAgICAgICAgICAgICAiZ2Z4X2dk c19vYV9waHlfY21kX3JhbV9tZW0iOiAxNiwKLSAgICAgICAgICAgICAgICAiZ2Z4X2dkc19vYV9w aHlfZGF0YV9yYW1fbWVtIjogMTcsCi0gICAgICAgICAgICAgICAgImdmeF9nZHNfb2FfcGlwZV9t ZW0iOiAxOCwKLSAgICAgICAgICAgICAgICAiZ2Z4X3NwaV9zcl9tZW0iOiAxOSwKLSAgICAgICAg ICAgICAgICAiZ2Z4X3NxX3NncHIiOiAyMCwKLSAgICAgICAgICAgICAgICAiZ2Z4X3NxX2xkc19k IjogMjEsCi0gICAgICAgICAgICAgICAgImdmeF9zcV9sZHNfaSI6IDIyLAotICAgICAgICAgICAg ICAgICJnZnhfc3FfdmdwciI6IDIzLAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2luc3RfdXRj bDFfbGZpZm8iOiAyNCwKLSAgICAgICAgICAgICAgICAiZ2Z4X3NxY19kYXRhX2N1MF93cml0ZV9k YXRhX2J1ZiI6IDI1LAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2RhdGFfY3UwX3V0Y2wxX2xm aWZvIjogMjYsCi0gICAgICAgICAgICAgICAgImdmeF9zcWNfZGF0YV9jdTFfd3JpdGVfZGF0YV9i dWYiOiAyNywKLSAgICAgICAgICAgICAgICAiZ2Z4X3NxY19kYXRhX2N1MV91dGNsMV9sZmlmbyI6 IDI4LAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2RhdGFfY3UyX3dyaXRlX2RhdGFfYnVmIjog MjksCi0gICAgICAgICAgICAgICAgImdmeF9zcWNfZGF0YV9jdTJfdXRjbDFfbGZpZm8iOiAzMCwK LSAgICAgICAgICAgICAgICAiZ2Z4X3NxY19pbnN0X2JhbmthX3RhZ19yYW0iOiAzMSwKLSAgICAg ICAgICAgICAgICAiZ2Z4X3NxY19pbnN0X2JhbmthX3V0Y2wxX21pc3NfZmlmbyI6IDMyLAotICAg ICAgICAgICAgICAgICJnZnhfc3FjX2luc3RfYmFua2FfbWlzc19maWZvIjogMzMsCi0gICAgICAg ICAgICAgICAgImdmeF9zcWNfaW5zdF9iYW5rYV9iYW5rX3JhbSI6IDM0LAotICAgICAgICAgICAg ICAgICJnZnhfc3FjX2RhdGFfYmFua2FfdGFnX3JhbSI6IDM1LAotICAgICAgICAgICAgICAgICJn Znhfc3FjX2RhdGFfYmFua2FfaGl0X2ZpZm8iOiAzNiwKLSAgICAgICAgICAgICAgICAiZ2Z4X3Nx Y19kYXRhX2JhbmthX21pc3NfZmlmbyI6IDM3LAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2Rh dGFfYmFua2FfZGlydHlfYml0X3JhbSI6IDM4LAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2Rh dGFfYmFua2FfYmFua19yYW0iOiAzOSwKLSAgICAgICAgICAgICAgICAiZ2Z4X3NxY19pbnN0X2Jh bmtiX3RhZ19yYW0iOiA0MCwKLSAgICAgICAgICAgICAgICAiZ2Z4X3NxY19pbnN0X2JhbmtiX3V0 Y2wxX21pc3NfZmlmbyI6IDQxLAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2luc3RfYmFua2Jf bWlzc19maWZvIjogNDIsCi0gICAgICAgICAgICAgICAgImdmeF9zcWNfaW5zdF9iYW5rYl9iYW5r X3JhbSI6IDQzLAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2RhdGFfYmFua2JfdGFnX3JhbSI6 IDQ0LAotICAgICAgICAgICAgICAgICJnZnhfc3FjX2RhdGFfYmFua2JfaGl0X2ZpZm8iOiA0NSwK LSAgICAgICAgICAgICAgICAiZ2Z4X3NxY19kYXRhX2JhbmtiX21pc3NfZmlmbyI6IDQ2LAotICAg ICAgICAgICAgICAgICJnZnhfc3FjX2RhdGFfYmFua2JfZGlydHlfYml0X3JhbSI6IDQ3LAotICAg ICAgICAgICAgICAgICJnZnhfc3FjX2RhdGFfYmFua2JfYmFua19yYW0iOiA0OCwKLSAgICAgICAg ICAgICAgICAiZ2Z4X3RhX2ZzX2RmaWZvIjogNDksCi0gICAgICAgICAgICAgICAgImdmeF90YV9m c19hZmlmbyI6IDUwLAotICAgICAgICAgICAgICAgICJnZnhfdGFfZmxfbGZpZm8iOiA1MSwKLSAg ICAgICAgICAgICAgICAiZ2Z4X3RhX2Z4X2xmaWZvIjogNTIsCi0gICAgICAgICAgICAgICAgImdm eF90YV9mc19jZmlmbyI6IDUzLAotICAgICAgICAgICAgICAgICJnZnhfdGNhX2hvbGVfZmlmbyI6 IDU0LAotICAgICAgICAgICAgICAgICJnZnhfdGNhX3JlcV9maWZvIjogNTUsCi0gICAgICAgICAg ICAgICAgImdmeF90Y2NfY2FjaGVfZGF0YSI6IDU2LAotICAgICAgICAgICAgICAgICJnZnhfdGNj X2NhY2hlX2RhdGFfYmFua18wXzEiOiA1NywKLSAgICAgICAgICAgICAgICAiZ2Z4X3RjY19jYWNo ZV9kYXRhX2JhbmtfMV8wIjogNTgsCi0gICAgICAgICAgICAgICAgImdmeF90Y2NfY2FjaGVfZGF0 YV9iYW5rXzFfMSI6IDU5LAotICAgICAgICAgICAgICAgICJnZnhfdGNjX2NhY2hlX2RpcnR5X2Jh bmtfMCI6IDYwLAotICAgICAgICAgICAgICAgICJnZnhfdGNjX2NhY2hlX2RpcnR5X2JhbmtfMSI6 IDYxLAotICAgICAgICAgICAgICAgICJnZnhfdGNjX2hpZ2hfcmF0ZV90YWciOiA2MiwKLSAgICAg ICAgICAgICAgICAiZ2Z4X3RjY19sb3dfcmF0ZV90YWciOiA2MywKLSAgICAgICAgICAgICAgICAi Z2Z4X3RjY19pbl91c2VfZGVjIjogNjQsCi0gICAgICAgICAgICAgICAgImdmeF90Y2NfaW5fdXNl X3RyYW5zZmVyIjogNjUsCi0gICAgICAgICAgICAgICAgImdmeF90Y2NfcmV0dXJuX2RhdGEiOiA2 NiwKLSAgICAgICAgICAgICAgICAiZ2Z4X3RjY19yZXR1cm5fY29udHJvbCI6IDY3LAotICAgICAg ICAgICAgICAgICJnZnhfdGNjX3VjX2F0b21pY19maWZvIjogNjgsCi0gICAgICAgICAgICAgICAg ImdmeF90Y2Nfd3JpdGVfcmV0dXJuIjogNjksCi0gICAgICAgICAgICAgICAgImdmeF90Y2Nfd3Jp dGVfY2FjaGVfcmVhZCI6IDcwLAotICAgICAgICAgICAgICAgICJnZnhfdGNjX3NyY19maWZvIjog NzEsCi0gICAgICAgICAgICAgICAgImdmeF90Y2Nfc3JjX2ZpZm9fbmV4dF9yYW0iOiA3MiwKLSAg ICAgICAgICAgICAgICAiZ2Z4X3RjY19jYWNoZV90YWdfcHJvYmVfZmlmbyI6IDczLAotICAgICAg ICAgICAgICAgICJnZnhfdGNjX2xhdGVuY3lfZmlmbyI6IDc0LAotICAgICAgICAgICAgICAgICJn ZnhfdGNjX2xhdGVuY3lfZmlmb19uZXh0X3JhbSI6IDc1LAotICAgICAgICAgICAgICAgICJnZnhf dGNjX3dycmV0X3RhZ193cml0ZV9yZXR1cm4iOiA3NiwKLSAgICAgICAgICAgICAgICAiZ2Z4X3Rj Y19hdG9taWNfcmV0dXJuX2J1ZmZlciI6IDc3LAotICAgICAgICAgICAgICAgICJnZnhfdGNpX3dy aXRlX3JhbSI6IDc4LAotICAgICAgICAgICAgICAgICJnZnhfdGNwX2NhY2hlX3JhbSI6IDc5LAot ICAgICAgICAgICAgICAgICJnZnhfdGNwX2xmaWZvX3JhbSI6IDgwLAotICAgICAgICAgICAgICAg ICJnZnhfdGNwX2NtZF9maWZvIjogODEsCi0gICAgICAgICAgICAgICAgImdmeF90Y3Bfdm1fZmlm byI6IDgyLAotICAgICAgICAgICAgICAgICJnZnhfdGNwX2RiX3JhbSI6IDgzLAotICAgICAgICAg ICAgICAgICJnZnhfdGNwX3V0Y2wxX2xmaWZvMCI6IDg0LAotICAgICAgICAgICAgICAgICJnZnhf dGNwX3V0Y2wxX2xmaWZvMSI6IDg1LAotICAgICAgICAgICAgICAgICJnZnhfdGRfc3NfZmlmb19s byI6IDg2LAotICAgICAgICAgICAgICAgICJnZnhfdGRfc3NfZmlmb19oaSI6IDg3LAotICAgICAg ICAgICAgICAgICJnZnhfdGRfY3NfZmlmbyI6IDg4LAotICAgICAgICAgICAgICAgICJnZnhfZWFf ZHJhbXJkX2NtZG1lbSI6IDg5LAotICAgICAgICAgICAgICAgICJnZnhfZWFfZHJhbXdyX2NtZG1l bSI6IDkwLAotICAgICAgICAgICAgICAgICJnZnhfZWFfZHJhbXdyX2RhdGFtZW0iOiA5MSwKLSAg ICAgICAgICAgICAgICAiZ2Z4X2VhX3JyZXRfdGFnbWVtIjogOTIsCi0gICAgICAgICAgICAgICAg ImdmeF9lYV93cmV0X3RhZ21lbSI6IDkzLAotICAgICAgICAgICAgICAgICJnZnhfZWFfZ21pcmRf Y21kbWVtIjogOTQsCi0gICAgICAgICAgICAgICAgImdmeF9lYV9nbWl3cl9jbWRtZW0iOiA5NSwK LSAgICAgICAgICAgICAgICAiZ2Z4X2VhX2dtaXdyX2RhdGFtZW0iOiA5NiwKLSAgICAgICAgICAg ICAgICAiZ2Z4X2VhX2RyYW1yZF9wYWdlbWVtIjogOTcsCi0gICAgICAgICAgICAgICAgImdmeF9l YV9kcmFtd3JfcGFnZW1lbSI6IDk4LAotICAgICAgICAgICAgICAgICJnZnhfZWFfaW9yZF9jbWRt ZW0iOiA5OSwKLSAgICAgICAgICAgICAgICAiZ2Z4X2VhX2lvd3JfY21kbWVtIjogMTAwLAotICAg ICAgICAgICAgICAgICJnZnhfZWFfaW93cl9kYXRhbWVtIjogMTAxLAotICAgICAgICAgICAgICAg ICJnZnhfZWFfZ21pcmRfcGFnZW1lbSI6IDEwMiwKLSAgICAgICAgICAgICAgICAiZ2Z4X2VhX2dt aXdyX3BhZ2VtZW0iOiAxMDMsCi0gICAgICAgICAgICAgICAgImdmeF9lYV9tYW1fZDBtZW0iOiAx MDQsCi0gICAgICAgICAgICAgICAgImdmeF9lYV9tYW1fZDFtZW0iOiAxMDUsCi0gICAgICAgICAg ICAgICAgImdmeF9lYV9tYW1fZDJtZW0iOiAxMDYsCi0gICAgICAgICAgICAgICAgImdmeF9lYV9t YW1fZDNtZW0iOiAxMDcsCi0gICAgICAgICAgICAgICAgInV0Y192bWwyX2JhbmtfY2FjaGUiOiAx MDgsCi0gICAgICAgICAgICAgICAgInV0Y192bWwyX3dhbGtlciI6IDEwOSwKLSAgICAgICAgICAg ICAgICAidXRjX2F0Y2wyX2NhY2hlXzJtX2JhbmsiOiAxMTAsCi0gICAgICAgICAgICAgICAgInV0 Y19hdGNsMl9jYWNoZV80a19iYW5rIjogMTExCi0gICAgICAgICAgICB9Ci0gICAgICAgIH0sCi0g ICAgfSwKLSAgICAidHlwZSI6IHsKLSAgICAgICAgInBhcml0eSI6IDEsCi0gICAgICAgICJzaW5n bGVfY29ycmVjdGFibGUiOiAyLAotICAgICAgICAibXVsdGlfdW5jb3JyZWN0YWJsZSI6IDQsCi0g ICAgICAgICJwb2lzb24iOiA4Ci0gICAgfSwKLSAgICAidGVzdHMiOiBbCi0gICAgICAgIHsKLSAg ICAgICAgICAgICJuYW1lIjogInJhc191bWMuMS4wIiwKLSAgICAgICAgICAgICJibG9jayI6ICJ1 bWMiLAotICAgICAgICAgICAgInR5cGUiOiAic2luZ2xlX2NvcnJlY3RhYmxlIiwKLSAgICAgICAg ICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAgICAgICAgfSwKLSAg ICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicmFzX3VtYy4xLjAiLAotICAgICAgICAgICAg ImJsb2NrIjogInVtYyIsCi0gICAgICAgICAgICAidHlwZSI6ICJtdWx0aV91bmNvcnJlY3RhYmxl IiwKLSAgICAgICAgICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAg ICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicmFzX2dmeC4yLjEiLAot ICAgICAgICAgICAgImJsb2NrIjogImdmeCIsCi0gICAgICAgICAgICAic3ViYmxvY2siOiAiZ2Z4 X2NwY191Y29kZSIsCi0gICAgICAgICAgICAidHlwZSI6ICJzaW5nbGVfY29ycmVjdGFibGUiLAot ICAgICAgICAgICAgImFkZHJlc3MiOiAwLAotICAgICAgICAgICAgInZhbHVlIjogMAotICAgICAg ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJyYXNfZ2Z4LjIuMTAiLAotICAg ICAgICAgICAgImJsb2NrIjogImdmeCIsCi0gICAgICAgICAgICAic3ViYmxvY2siOiAiZ2Z4X2Nw Zl90YWciLAotICAgICAgICAgICAgInR5cGUiOiAic2luZ2xlX2NvcnJlY3RhYmxlIiwKLSAgICAg ICAgICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAgICAgICAgfSwK LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicmFzX2dmeC4yLjEzIiwKLSAgICAgICAg ICAgICJibG9jayI6ICJnZngiLAotICAgICAgICAgICAgInN1YmJsb2NrIjogImdmeF9jcGdfdGFn IiwKLSAgICAgICAgICAgICJ0eXBlIjogInNpbmdsZV9jb3JyZWN0YWJsZSIsCi0gICAgICAgICAg ICAiYWRkcmVzcyI6IDAsCi0gICAgICAgICAgICAidmFsdWUiOiAwCi0gICAgICAgIH0sCi0gICAg ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInJhc19nZnguMi4yMSIsCi0gICAgICAgICAgICAi YmxvY2siOiAiZ2Z4IiwKLSAgICAgICAgICAgICJzdWJibG9jayI6ICJnZnhfc3FfbGRzX2QiLAot ICAgICAgICAgICAgInR5cGUiOiAic2luZ2xlX2NvcnJlY3RhYmxlIiwKLSAgICAgICAgICAgICJh ZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAgICAgICAgfSwKLSAgICAgICAg ewotICAgICAgICAgICAgIm5hbWUiOiAicmFzX2dmeC4yLjI4IiwKLSAgICAgICAgICAgICJibG9j ayI6ICJnZngiLAotICAgICAgICAgICAgInN1YmJsb2NrIjogImdmeF9zcWNfZGF0YV9jdTFfdXRj bDFfbGZpZm8iLAotICAgICAgICAgICAgInR5cGUiOiAic2luZ2xlX2NvcnJlY3RhYmxlIiwKLSAg ICAgICAgICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAgICAgICAg fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicmFzX2dmeC4yLjMxIiwKLSAgICAg ICAgICAgICJibG9jayI6ICJnZngiLAotICAgICAgICAgICAgInN1YmJsb2NrIjogImdmeF9zcWNf aW5zdF9iYW5rYV90YWdfcmFtIiwKLSAgICAgICAgICAgICJ0eXBlIjogInNpbmdsZV9jb3JyZWN0 YWJsZSIsCi0gICAgICAgICAgICAiYWRkcmVzcyI6IDAsCi0gICAgICAgICAgICAidmFsdWUiOiAw Ci0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInJhc19nZnguMi40 MCIsCi0gICAgICAgICAgICAiYmxvY2siOiAiZ2Z4IiwKLSAgICAgICAgICAgICJzdWJibG9jayI6 ICJnZnhfc3FjX2luc3RfYmFua2JfdGFnX3JhbSIsCi0gICAgICAgICAgICAidHlwZSI6ICJzaW5n bGVfY29ycmVjdGFibGUiLAotICAgICAgICAgICAgImFkZHJlc3MiOiAwLAotICAgICAgICAgICAg InZhbHVlIjogMAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJy YXNfZ2Z4LjIuNDkiLAotICAgICAgICAgICAgImJsb2NrIjogImdmeCIsCi0gICAgICAgICAgICAi c3ViYmxvY2siOiAiZ2Z4X3RhX2ZzX2RmaWZvIiwKLSAgICAgICAgICAgICJ0eXBlIjogInNpbmds ZV9jb3JyZWN0YWJsZSIsCi0gICAgICAgICAgICAiYWRkcmVzcyI6IDAsCi0gICAgICAgICAgICAi dmFsdWUiOiAwCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInJh c19nZnguMi41NiIsCi0gICAgICAgICAgICAiYmxvY2siOiAiZ2Z4IiwKLSAgICAgICAgICAgICJz dWJibG9jayI6ICJnZnhfdGNjX2NhY2hlX2RhdGEiLAotICAgICAgICAgICAgInR5cGUiOiAic2lu Z2xlX2NvcnJlY3RhYmxlIiwKLSAgICAgICAgICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAg ICJ2YWx1ZSI6IDAKLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAi cmFzX2dmeC4yLjU3IiwKLSAgICAgICAgICAgICJibG9jayI6ICJnZngiLAotICAgICAgICAgICAg InN1YmJsb2NrIjogImdmeF90Y2NfY2FjaGVfZGF0YV9iYW5rXzBfMSIsCi0gICAgICAgICAgICAi dHlwZSI6ICJzaW5nbGVfY29ycmVjdGFibGUiLAotICAgICAgICAgICAgImFkZHJlc3MiOiAwLAot ICAgICAgICAgICAgInZhbHVlIjogMAotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAg ICAibmFtZSI6ICJyYXNfZ2Z4LjIuNTgiLAotICAgICAgICAgICAgImJsb2NrIjogImdmeCIsCi0g ICAgICAgICAgICAic3ViYmxvY2siOiAiZ2Z4X3RjY19jYWNoZV9kYXRhX2JhbmtfMV8wIiwKLSAg ICAgICAgICAgICJ0eXBlIjogInNpbmdsZV9jb3JyZWN0YWJsZSIsCi0gICAgICAgICAgICAiYWRk cmVzcyI6IDAsCi0gICAgICAgICAgICAidmFsdWUiOiAwCi0gICAgICAgIH0sCi0gICAgICAgIHsK LSAgICAgICAgICAgICJuYW1lIjogInJhc19nZnguMi41OSIsCi0gICAgICAgICAgICAiYmxvY2si OiAiZ2Z4IiwKLSAgICAgICAgICAgICJzdWJibG9jayI6ICJnZnhfdGNjX2NhY2hlX2RhdGFfYmFu a18xXzEiLAotICAgICAgICAgICAgInR5cGUiOiAic2luZ2xlX2NvcnJlY3RhYmxlIiwKLSAgICAg ICAgICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAgICAgICAgfSwK LSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAicmFzX2dmeC4yLjc5IiwKLSAgICAgICAg ICAgICJibG9jayI6ICJnZngiLAotICAgICAgICAgICAgInN1YmJsb2NrIjogImdmeF90Y3BfY2Fj aGVfcmFtIiwKLSAgICAgICAgICAgICJ0eXBlIjogInNpbmdsZV9jb3JyZWN0YWJsZSIsCi0gICAg ICAgICAgICAiYWRkcmVzcyI6IDAsCi0gICAgICAgICAgICAidmFsdWUiOiAwCi0gICAgICAgIH0s Ci0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInJhc19nZnguMi44NiIsCi0gICAgICAg ICAgICAiYmxvY2siOiAiZ2Z4IiwKLSAgICAgICAgICAgICJzdWJibG9jayI6ICJnZnhfdGRfc3Nf Zmlmb19sbyIsCi0gICAgICAgICAgICAidHlwZSI6ICJzaW5nbGVfY29ycmVjdGFibGUiLAotICAg ICAgICAgICAgImFkZHJlc3MiOiAwLAotICAgICAgICAgICAgInZhbHVlIjogMAotICAgICAgICB9 LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJyYXNfZ2Z4LjIuODkiLAotICAgICAg ICAgICAgImJsb2NrIjogImdmeCIsCi0gICAgICAgICAgICAic3ViYmxvY2siOiAiZ2Z4X2VhX2Ry YW1yZF9jbWRtZW0iLAotICAgICAgICAgICAgInR5cGUiOiAic2luZ2xlX2NvcnJlY3RhYmxlIiwK LSAgICAgICAgICAgICJhZGRyZXNzIjogMCwKLSAgICAgICAgICAgICJ2YWx1ZSI6IDAKLSAgICAg ICAgfSwKLSAgICBdCi19CmNvbW1pdCBjYjYzN2JjMTdiZWNmNjA5MzQ5ZDZhMDlhZmQyNmFhZWVi YzE0NGVkCkF1dGhvcjogR3VjaHVuIENoZW4gPGd1Y2h1bi5jaGVuQGFtZC5jb20+CkRhdGU6ICAg VHVlIEF1ZyAyNyAxMDoyNzoxOCAyMDE5ICswODAwCgogICAgYW1kZ3B1OiByZW1vdmUganNvbiBw YWNrYWdlIGRlcGVuZGVuY2UKICAgIAogICAgRXhjZXB0IENVbml0IGxpYnJhcnksIG5vIGFkZGl0 aW9uYWwgZXh0ZXJuYWwKICAgIGxpYnJhcnkgc2hvdWxkIGJlIG5lZWRlZCB3aGVuIGNvbXBpbGlu ZyBhbWRncHVfdGVzdC4KICAgIFRoaXMgd2lsbCBrZWVwIHRoaXMgYmluYXJ5IHNlbGYgY29udGFp bmluZy4KICAgIAogICAgU3VnZ2VzdGVkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4u a29lbmlnQGFtZC5jb20+CiAgICBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFu LmtvZW5pZ0BhbWQuY29tPgogICAgUmV2aWV3ZWQtYnk6IFRhbyBaaG91IDx0YW8uemhvdTFAYW1k LmNvbT4KICAgIFNpZ25lZC1vZmYtYnk6IEd1Y2h1biBDaGVuIDxndWNodW4uY2hlbkBhbWQuY29t PgogICAgU2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQu Y29tPgoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA5ODNi NDM3MS4uMWNmOTEzNDcgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUu YWMKQEAgLTQzMCwyNCArNDMwLDEwIEBAIGlmIHRlc3QgIngkQU1ER1BVIiAhPSB4bm87IHRoZW4K IAkJCUFDX1NVQlNUKFtDVU5JVF9DRkxBR1NdKQogCQlmaQogCWZpCi0KLQkjIERldGVjdCBqc29u LWMgbGlicmFyeQotCVBLR19DSEVDS19NT0RVTEVTKFtKU09OQ10sIFtqc29uLWMgPj0gMC4xMC4x XSwgW2hhdmVfanNvbmM9eWVzXSwgW2hhdmVfanNvbmM9bm9dKQotCWlmIHRlc3QgIngke2hhdmVf anNvbmN9IiA9ICJ4bm8iOyB0aGVuCi0JCUFDX0NIRUNLX0xJQihbanNvbi1jXSwgW2pzb25fb2Jq ZWN0X29iamVjdF9nZXRdLCBbaGF2ZV9qc29uYz15ZXNdLCBbaGF2ZV9qc29uYz1ub10pCi0JCWlm IHRlc3QgIngke2hhdmVfanNvbmN9IiA9ICJ4eWVzIjsgdGhlbgotCQkJSlNPTkNfTElCUz0iLWxq c29uLWMiCi0JCQlKU09OQ19DRkxBR1M9IiIKLQkJCUFDX1NVQlNUKFtKU09OQ19MSUJTXSkKLQkJ CUFDX1NVQlNUKFtKU09OQ19DRkxBR1NdKQotCQlmaQotCWZpCiBlbHNlCiAJaGF2ZV9jdW5pdD1u bwotCWhhdmVfanNvbmM9bm8KIGZpCiBBTV9DT05ESVRJT05BTChIQVZFX0NVTklULCBbdGVzdCAi eCRoYXZlX2N1bml0IiAhPSAieG5vIl0pCi1BTV9DT05ESVRJT05BTChIQVZFX0pTT05DLCBbdGVz dCAieCRoYXZlX2pzb25jIiAhPSAieG5vIl0pCiAKIEFNX0NPTkRJVElPTkFMKEhBVkVfQU1ER1BV LCBbdGVzdCAieCRBTURHUFUiID0geHllc10pCiBpZiB0ZXN0ICJ4JEFNREdQVSIgPSB4eWVzOyB0 aGVuCkBAIC00NTYsMTAgKzQ0Miw2IEBAIGlmIHRlc3QgIngkQU1ER1BVIiA9IHh5ZXM7IHRoZW4K IAlpZiB0ZXN0ICJ4JGhhdmVfY3VuaXQiID0gInhubyI7IHRoZW4KIAkJQUNfTVNHX1dBUk4oW0Nv dWxkIG5vdCBmaW5kIGN1bml0IGxpYnJhcnkuIERpc2FibGluZyBhbWRncHUgdGVzdHNdKQogCWZp Ci0KLQlpZiB0ZXN0ICJ4JGhhdmVfanNvbmMiID0gInhubyI7IHRoZW4KLQkJQUNfTVNHX1dBUk4o W0NvdWxkIG5vdCBmaW5kIGpzb24tYyBsaWJyYXJ5LiBEaXNhYmxpbmcgYW1kZ3B1IHRlc3RzXSkK LQlmaQogZWxzZQogCUFDX0RFRklORShIQVZFX0FNREdQVSwgMCkKIGZpCmRpZmYgLS1naXQgYS9t ZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCmluZGV4IDI2M2Y2OTFhLi45OWZkMGNiOCAxMDA2NDQK LS0tIGEvbWVzb24uYnVpbGQKKysrIGIvbWVzb24uYnVpbGQKQEAgLTIyMiw3ICsyMjIsNiBAQCBs aWJkcm1fY19hcmdzID0gd2Fybl9jX2FyZ3MgKyBbJy1mdmlzaWJpbGl0eT1oaWRkZW4nXQogCiBk ZXBfcGNpYWNjZXNzID0gZGVwZW5kZW5jeSgncGNpYWNjZXNzJywgdmVyc2lvbiA6ICc+PSAwLjEw JywgcmVxdWlyZWQgOiB3aXRoX2ludGVsKQogZGVwX2N1bml0ID0gZGVwZW5kZW5jeSgnY3VuaXQn LCB2ZXJzaW9uIDogJz49IDIuMScsIHJlcXVpcmVkIDogZmFsc2UpCi1kZXBfanNvbiA9IGRlcGVu ZGVuY3koJ2pzb24tYycsIHZlcnNpb24gOiAnPj0gMC4xMC4xJywgcmVxdWlyZWQgOiBmYWxzZSkK IF9jYWlyb190ZXN0cyA9IGdldF9vcHRpb24oJ2NhaXJvLXRlc3RzJykKIGlmIF9jYWlyb190ZXN0 cyAhPSAnZmFsc2UnCiAgIGRlcF9jYWlybyA9IGRlcGVuZGVuY3koJ2NhaXJvJywgcmVxdWlyZWQg OiBfY2Fpcm9fdGVzdHMgPT0gJ3RydWUnKQpkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L01ha2Vm aWxlLmFtIGIvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCmluZGV4IDMzOWJiMGE5Li45MjA4ODJk MCAxMDA2NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL2FtZGdw dS9NYWtlZmlsZS5hbQpAQCAtNyw4ICs3LDcgQEAgQU1fQ0ZMQUdTID0gXAogCiBMREFERCA9ICQo dG9wX2J1aWxkZGlyKS9saWJkcm0ubGEgXAogCSQodG9wX2J1aWxkZGlyKS9hbWRncHUvbGliZHJt X2FtZGdwdS5sYSBcCi0JJChDVU5JVF9MSUJTKSBcCi0JJChKU09OQ19MSUJTKQorCSQoQ1VOSVRf TElCUykKIAogaWYgSEFWRV9JTlNUQUxMX1RFU1RTCiBiaW5fUFJPR1JBTVMgPSBcCkBAIC0xOCw3 ICsxNyw3IEBAIG5vaW5zdF9QUk9HUkFNUyA9IFwKIAlhbWRncHVfdGVzdAogZW5kaWYKIAotYW1k Z3B1X3Rlc3RfQ1BQRkxBR1MgPSAkKENVTklUX0NGTEFHUykgJChKU09OQ19DRkxBR1MpCithbWRn cHVfdGVzdF9DUFBGTEFHUyA9ICQoQ1VOSVRfQ0ZMQUdTKQogCiBhbWRncHVfdGVzdF9TT1VSQ0VT ID0gXAogCWFtZGdwdV90ZXN0LmMgXApkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L21lc29uLmJ1 aWxkIGIvdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxkCmluZGV4IDQzMDcyOTVlLi4xNzI2Y2I0MyAx MDA2NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxkCisrKyBiL3Rlc3RzL2FtZGdwdS9t ZXNvbi5idWlsZApAQCAtMTgsNyArMTgsNyBAQAogIyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX SVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogIyBT T0ZUV0FSRS4KIAotaWYgZGVwX2N1bml0LmZvdW5kKCkgYW5kIGRlcF9qc29uLmZvdW5kKCkKK2lm IGRlcF9jdW5pdC5mb3VuZCgpCiAgIGFtZGdwdV90ZXN0ID0gZXhlY3V0YWJsZSgKICAgICAnYW1k Z3B1X3Rlc3QnLAogICAgIGZpbGVzKApAQCAtMjYsMTkgKzI2LDkgQEAgaWYgZGVwX2N1bml0LmZv dW5kKCkgYW5kIGRlcF9qc29uLmZvdW5kKCkKICAgICAgICd2Y2VfdGVzdHMuYycsICd1dmRfZW5j X3Rlc3RzLmMnLCAndmNuX3Rlc3RzLmMnLCAnZGVhZGxvY2tfdGVzdHMuYycsCiAgICAgICAndm1f dGVzdHMuYycsICdyYXNfdGVzdHMuYycsICdzeW5jb2JqX3Rlc3RzLmMnLAogICAgICksCi0gICAg ZGVwZW5kZW5jaWVzIDogW2RlcF9jdW5pdCwgZGVwX2pzb24sIGRlcF90aHJlYWRzXSwKKyAgICBk ZXBlbmRlbmNpZXMgOiBbZGVwX2N1bml0LCBkZXBfdGhyZWFkc10sCiAgICAgaW5jbHVkZV9kaXJl Y3RvcmllcyA6IFtpbmNfcm9vdCwgaW5jX2RybSwgaW5jbHVkZV9kaXJlY3RvcmllcygnLi4vLi4v YW1kZ3B1JyldLAogICAgIGxpbmtfd2l0aCA6IFtsaWJkcm0sIGxpYmRybV9hbWRncHVdLAogICAg IGluc3RhbGwgOiB3aXRoX2luc3RhbGxfdGVzdHMsCiAgICkKLQotICBjb25maWd1cmVfZmlsZShp bnB1dCA6ICcuLi8uLi9kYXRhL2FtZGdwdV9yYXMuanNvbicsCi0gICAgb3V0cHV0IDogJ2FtZGdw dV9yYXMuanNvbicsCi0gICAgY29uZmlndXJhdGlvbiA6IGNvbmZpZ3VyYXRpb25fZGF0YSgpKQot Ci0gIGluc3RhbGxfZGF0YSgKLSAgICAnLi4vLi4vZGF0YS9hbWRncHVfcmFzLmpzb24nLAotICAg IGluc3RhbGxfbW9kZSA6ICdydy1yLS1yLS0nLAotICAgIGluc3RhbGxfZGlyIDogZGF0YWRpcl9h bWRncHUsCi0gICkKLWVuZGlmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZW5kaWYKZGlm ZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9yYXNfdGVzdHMuYyBiL3Rlc3RzL2FtZGdwdS9yYXNfdGVz dHMuYwppbmRleCA1MzA5YmY2NC4uODZiNDEzN2IgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FtZGdwdS9y YXNfdGVzdHMuYworKysgYi90ZXN0cy9hbWRncHUvcmFzX3Rlc3RzLmMKQEAgLTMwLDcgKzMwLDcg QEAKICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSAieGY4 NmRybS5oIgotI2luY2x1ZGUgImpzb24uaCIKKyNpbmNsdWRlICJzdGRsaWIuaCIKIAogY29uc3Qg Y2hhciAqcmFzX2Jsb2NrX3N0cmluZ1tdID0gewogCSJ1bWMiLApAQCAtNzc1LDE2OSArNzc1LDEy IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9yYXNfZW5hYmxlX3Rlc3Qodm9pZCkKIAl9CiB9CiAKLXN0 YXRpYyBpbnQgX2pzb25fZ2V0X2Jsb2NrX2lkKGpzb25fb2JqZWN0ICpibG9ja19vYmosIGNvbnN0 IGNoYXIgKm5hbWUpCi17Ci0JanNvbl9vYmplY3QgKml0ZW1fb2JqLCAqaW5kZXhfb2JqOwotCi0J aWYgKCFqc29uX29iamVjdF9vYmplY3RfZ2V0X2V4KGJsb2NrX29iaiwgbmFtZSwgJml0ZW1fb2Jq KSkKLQkJcmV0dXJuIC0xOwotCi0JaWYgKCFqc29uX29iamVjdF9vYmplY3RfZ2V0X2V4KGl0ZW1f b2JqLCAiaW5kZXgiLCAmaW5kZXhfb2JqKSkKLQkJcmV0dXJuIC0xOwotCi0JcmV0dXJuIGpzb25f b2JqZWN0X2dldF9pbnQoaW5kZXhfb2JqKTsKLX0KLQotc3RhdGljIGludCBfanNvbl9nZXRfc3Vi YmxvY2tfaWQoanNvbl9vYmplY3QgKmJsb2NrX29iaiwgY29uc3QgY2hhciAqYmxvY2tfbmFtZSwK LQkJCQkgY29uc3QgY2hhciAqc3ViYmxvY2tfbmFtZSkKLXsKLQlqc29uX29iamVjdCAqaXRlbV9v YmosICpzdWJibG9ja19vYmosICpuYW1lX29iajsKLQotCWlmICghanNvbl9vYmplY3Rfb2JqZWN0 X2dldF9leChibG9ja19vYmosIGJsb2NrX25hbWUsICZpdGVtX29iaikpCi0JCXJldHVybiAtMTsK LQotCWlmICghanNvbl9vYmplY3Rfb2JqZWN0X2dldF9leChpdGVtX29iaiwgInN1YmJsb2NrIiwg JnN1YmJsb2NrX29iaikpCi0JCXJldHVybiAtMTsKLQotCWlmICghanNvbl9vYmplY3Rfb2JqZWN0 X2dldF9leChzdWJibG9ja19vYmosIHN1YmJsb2NrX25hbWUsICZuYW1lX29iaikpCi0JCXJldHVy biAtMTsKLQotCXJldHVybiBqc29uX29iamVjdF9nZXRfaW50KG5hbWVfb2JqKTsKLX0KLQogc3Rh dGljIGludCBhbWRncHVfcmFzX2dldF90ZXN0X2l0ZW1zKHN0cnVjdCByYXNfdGVzdF9pdGVtICoq cGl0ZW1zLCBpbnQgKnNpemUpCiB7Ci0JanNvbl9vYmplY3QgKnJvb3Rfb2JqID0gTlVMTDsKLQlq c29uX29iamVjdCAqYmxvY2tfb2JqID0gTlVMTDsKLQlqc29uX29iamVjdCAqdHlwZV9vYmogPSBO VUxMOwotCWpzb25fb2JqZWN0ICp0ZXN0c19vYmogPSBOVUxMOwotCWpzb25fb2JqZWN0ICp0ZXN0 X29iaiA9IE5VTEw7Ci0JanNvbl9vYmplY3QgKnRtcF9vYmogPSBOVUxMOwotCWpzb25fb2JqZWN0 ICp0bXBfdHlwZV9vYmogPSBOVUxMOwotCWpzb25fb2JqZWN0ICpzdWJibG9ja19vYmogPSBOVUxM OwotCWludCBpLCBsZW5ndGg7Ci0Jc3RydWN0IHJhc190ZXN0X2l0ZW0gKml0ZW1zID0gTlVMTDsK LQlpbnQgcmV0ID0gLTE7Ci0KLQlyb290X29iaiA9IGpzb25fb2JqZWN0X2Zyb21fZmlsZSgiLi9h bWRncHVfcmFzLmpzb24iKTsKLQlpZiAoIXJvb3Rfb2JqKQotCQlyb290X29iaiA9IGpzb25fb2Jq ZWN0X2Zyb21fZmlsZSgKLQkJCSIvdXNyL3NoYXJlL2xpYmRybS9hbWRncHVfcmFzLmpzb24iKTsK LQotCWlmICghcm9vdF9vYmopIHsKLQkJQ1VfRkFJTF9GQVRBTCgiQ291bGRuJ3QgZmluZCBhbWRn cHVfcmFzLmpzb24iKTsKLQkJZ290byBwcm9fZW5kOwotCX0KLQotCS8qIENoZWNrIFZlcnNpb24g Ki8KLQlpZiAoIWpzb25fb2JqZWN0X29iamVjdF9nZXRfZXgocm9vdF9vYmosICJ2ZXJzaW9uIiwg JnRtcF9vYmopKSB7Ci0JCUNVX0ZBSUxfRkFUQUwoIldyb25nIGZvcm1hdCBvZiBhbWRncHVfcmFz Lmpzb24iKTsKLQkJZ290byBwcm9fZW5kOwotCX0KKwkqcGl0ZW1zID0gTlVMTDsKKwkqc2l6ZSA9 IDA7CiAKLQkvKiBCbG9jayBEZWZpbml0aW9uICovCi0JaWYgKCFqc29uX29iamVjdF9vYmplY3Rf Z2V0X2V4KHJvb3Rfb2JqLCAiYmxvY2siLCAmYmxvY2tfb2JqKSkgewotCQlmcHJpbnRmKHN0ZGVy ciwgImJsb2NrIGlzbid0IGRlZmluZWRcbiIpOwotCQlnb3RvIHByb19lbmQ7Ci0JfQotCi0JLyog VHlwZSBEZWZpbml0aW9uICovCi0JaWYgKCFqc29uX29iamVjdF9vYmplY3RfZ2V0X2V4KHJvb3Rf b2JqLCAidHlwZSIsICZ0eXBlX29iaikpIHsKLQkJZnByaW50ZihzdGRlcnIsICJ0eXBlIGlzbid0 IGRlZmluZWRcbiIpOwotCQlnb3RvIHByb19lbmQ7Ci0JfQotCi0JLyogRW51bXVsYXRlIHRlc3Qg aXRlbXMgKi8KLQlpZiAoIWpzb25fb2JqZWN0X29iamVjdF9nZXRfZXgocm9vdF9vYmosICJ0ZXN0 cyIsICZ0ZXN0c19vYmopKSB7Ci0JCWZwcmludGYoc3RkZXJyLCAidGVzdHMgYXJlIGVtcHR5XG4i KTsKLQkJZ290byBwcm9fZW5kOwotCX0KLQotCWxlbmd0aCA9IGpzb25fb2JqZWN0X2FycmF5X2xl bmd0aCh0ZXN0c19vYmopOwotCi0JaXRlbXMgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCByYXNfdGVz dF9pdGVtKSAqIGxlbmd0aCk7Ci0JaWYgKCFpdGVtcykgewotCQlmcHJpbnRmKHN0ZGVyciwgIm1h bGxvYyBmYWlsZWRcbiIpOwotCQlnb3RvIHByb19lbmQ7Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8 IGxlbmd0aDsgaSsrKSB7Ci0JCXRlc3Rfb2JqID0ganNvbl9vYmplY3RfYXJyYXlfZ2V0X2lkeCh0 ZXN0c19vYmosIGkpOwotCi0JCS8qIE5hbWUgKi8KLQkJaWYgKCFqc29uX29iamVjdF9vYmplY3Rf Z2V0X2V4KHRlc3Rfb2JqLCAibmFtZSIsICZ0bXBfb2JqKSkgewotCQkJZnByaW50ZihzdGRlcnIs ICJUZXN0ICVkIGhhcyBubyBuYW1lXG4iLCBpKTsKLQkJCWdvdG8gcHJvX2VuZDsKLQkJfQotCQlz dHJuY3B5KGl0ZW1zW2ldLm5hbWUsIGpzb25fb2JqZWN0X2dldF9zdHJpbmcodG1wX29iaiksIDY0 KTsKLQotCQkvKiBibG9jayAqLwotCQlpZiAoIWpzb25fb2JqZWN0X29iamVjdF9nZXRfZXgodGVz dF9vYmosICJibG9jayIsICZ0bXBfb2JqKSkgewotCQkJZnByaW50ZihzdGRlcnIsICJUZXN0OiVz OiBibG9jayBpc24ndCBkZWZpbmVkXG4iLAotCQkJCWl0ZW1zW2ldLm5hbWUpOwotCQkJZ290byBw cm9fZW5kOwotCQl9Ci0JCWl0ZW1zW2ldLmJsb2NrID0gX2pzb25fZ2V0X2Jsb2NrX2lkKAotCQkJ YmxvY2tfb2JqLCBqc29uX29iamVjdF9nZXRfc3RyaW5nKHRtcF9vYmopKTsKLQotCQkvKiBjaGVj ayBibG9jayBpZCAqLwotCQlpZiAoaXRlbXNbaV0uYmxvY2sgPCBBTURHUFVfUkFTX0JMT0NLX19V TUMgfHwKLQkJICAgIGl0ZW1zW2ldLmJsb2NrID49IEFNREdQVV9SQVNfQkxPQ0tfX0xBU1QpIHsK LQkJCWZwcmludGYoc3RkZXJyLCAiVGVzdDolczogYmxvY2sgaWQgJWQgaXMgaW52YWxpZFxuIiwK LQkJCQlpdGVtc1tpXS5uYW1lLCBpdGVtc1tpXS5ibG9jayk7Ci0JCQlnb3RvIHByb19lbmQ7Ci0J CX0KLQotCQkvKiBzdWJibG9jayAqLwotCQlpZiAoanNvbl9vYmplY3Rfb2JqZWN0X2dldF9leCh0 ZXN0X29iaiwgInN1YmJsb2NrIiwgJnRtcF9vYmopKSB7Ci0JCQlqc29uX29iamVjdF9vYmplY3Rf Z2V0X2V4KHRlc3Rfb2JqLCAiYmxvY2siLAotCQkJCSZzdWJibG9ja19vYmopOwotCi0JCQlpdGVt c1tpXS5zdWJfYmxvY2sgPSBfanNvbl9nZXRfc3ViYmxvY2tfaWQoCi0JCQkJYmxvY2tfb2JqLAot CQkJCWpzb25fb2JqZWN0X2dldF9zdHJpbmcoc3ViYmxvY2tfb2JqKSwKLQkJCQlqc29uX29iamVj dF9nZXRfc3RyaW5nKHRtcF9vYmopKTsKLQkJCWlmIChpdGVtc1tpXS5zdWJfYmxvY2sgPCAwKSB7 Ci0JCQkJZnByaW50ZihzdGRlcnIsICJUZXN0OiVzOiBzdWJibG9jayBpbiBibG9jayBpZCAlZCBp cyBpbnZhbGlkXG4iLAotCQkJCQlpdGVtc1tpXS5uYW1lLCBpdGVtc1tpXS5ibG9jayk7Ci0JCQkJ Z290byBwcm9fZW5kOwotCQkJfQotCQl9IGVsc2UKLQkJCWl0ZW1zW2ldLnN1Yl9ibG9jayA9IDA7 Ci0KLQkJLyogdHlwZSAqLwotCQlpZiAoanNvbl9vYmplY3Rfb2JqZWN0X2dldF9leCh0ZXN0X29i aiwgInR5cGUiLCAmdG1wX29iaikpIHsKLQkJCXN0cm5jcHkoaXRlbXNbaV0uZXJyb3JfdHlwZV9z dHIsCi0JCQkJanNvbl9vYmplY3RfZ2V0X3N0cmluZyh0bXBfb2JqKSwgNjQpOwotCi0JCQlpZiAo anNvbl9vYmplY3Rfb2JqZWN0X2dldF9leCh0eXBlX29iaiwKLQkJCQlqc29uX29iamVjdF9nZXRf c3RyaW5nKHRtcF9vYmopLCAmdG1wX3R5cGVfb2JqKSkKLQkJCQlpdGVtc1tpXS50eXBlID0ganNv bl9vYmplY3RfZ2V0X2ludCh0bXBfdHlwZV9vYmopOwotCQkJZWxzZQotCQkJCWl0ZW1zW2ldLnR5 cGUgPSAoZW51bSBhbWRncHVfcmFzX2Vycm9yX3R5cGUpMDsKLQkJfQotCi0JCS8qIGFkZHJlc3Mg Ki8KLQkJaWYgKGpzb25fb2JqZWN0X29iamVjdF9nZXRfZXgodGVzdF9vYmosICJhZGRyZXNzIiwg JnRtcF9vYmopKQotCQkJaXRlbXNbaV0uYWRkcmVzcyA9IGpzb25fb2JqZWN0X2dldF9pbnQodG1w X29iaik7Ci0JCWVsc2UKLQkJCWl0ZW1zW2ldLmFkZHJlc3MgPSAwOyAvKiBkZWZhdWx0IGFkZHJl c3MgMCAqLwotCi0JCS8qIHZhbHVlICovCi0JCWlmIChqc29uX29iamVjdF9vYmplY3RfZ2V0X2V4 KHRlc3Rfb2JqLCAidmFsdWUiLCAmdG1wX29iaikpCi0JCQlpdGVtc1tpXS52YWx1ZSA9IGpzb25f b2JqZWN0X2dldF9pbnQodG1wX29iaik7Ci0JCWVsc2UKLQkJCWl0ZW1zW2ldLnZhbHVlID0gMDsg LyogZGVmYXVsdCB2YWx1ZSAwICovCi0JfQotCi0JKnBpdGVtcyA9IGl0ZW1zOwotCSpzaXplID0g bGVuZ3RoOwotCXJldCA9IDA7Ci1wcm9fZW5kOgotCWlmIChyb290X29iaikKLQkJanNvbl9vYmpl Y3RfcHV0KHJvb3Rfb2JqKTsKLQotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRp YyB2b2lkIF9fYW1kZ3B1X3Jhc19pbmplY3RfdGVzdCh2b2lkKQoKCi0tCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRyaS1wYXRjaGVzIG1haWxpbmcgbGlz dApEcmktcGF0Y2hlc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vm b3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vZHJpLXBhdGNoZXMK